Humans have a curious habit of talking to inanimate objects. As children, we talk to stuffed animals and other toys. (Sometimes, we answer for them.) This carries into adulthood; we talk to plants, cars, televisions, kitchen appliances, computers, rocks... Sometimes we chastise them when they misbehave.
We don’t expect to get an actual answer from these objects, much less hold a conversation with them. But an increasing number of devices have the ability to understand and respond to spoken words. This revolutionary technology is called natural-language processing (NLP).
NLP technology is found in cell phones, smart-home devices, automobiles, and more. Practical NLP is still in its infancy, and there are many questions about it. Here are 5:
1. What Exactly is NLP?
NLP is a technology that combines linguistics, computer science, artificial intelligence (AI), and statistical inferencing to enable computers to:
- Derive meanings
- Execute commands
- Perform specific tasks
- Process unstructured, human-language text (written or spoken)
On the hardware side, any device incorporating NLP requires:
- A way to digitize the analog audio signal
- Sufficient memory, computing power for the software to process the signal and recognize the spoken words
NLP software uses an AI algorithm that matches the digitized audio signal with words and phrases that it has been trained to recognize.
2. Is NLP New?
Academic research in NLP has been in progress over 50 years. Among the best-known early attempts at NLP was ELIZA, an MIT system developed in the 1960s. ELIZA had “conversations” with human users by relying on simple rules and scripts. Humans interacted with ELIZA by typing, rather than speaking.
Despite its simplicity and the fact it had no real understanding of the humans’ words, ELIZA’s responses were at times quite convincing. Sometimes she fooled users into believing she possessed actual intelligence.
Progress in NLP was slow until we developed machine-learning systems and artificial neural networks. These AI technologies opened the door to practical, useful NLP applications.
3. How Do AI and Statistics Help With NLP?
Unlike humans, who depend on context, vocabulary, syntax, and the rules of grammar, an NLP system doesn’t parse actual sentences word-for-word to divine their meanings. NLP doesn’t know dictionary definitions or grammar rules. It relies on text block attributes, such as word count and co-occurrence to derive a high-level meaning of the text.
Statistics come into play because no two humans say the same thing alike, even “Turn on the lights” exactly the same way. The audio signal representing “Turn on the lights” can be quite different from one instance to the next. An NLP calculates the probabilities that a segment of audio means various things (for instance, “Turn on the lights” vs. “Turn off the lights” vs. “Turn to the right”).
The AI algorithm chooses the option with the highest probability according to the words and phrases it was trained to recognize.
4. What Are the Pros and Cons of NLP Systems?
Like most AI-based systems, an NLP system works best within a narrow application scope and with a limited set of commands or queries. Users can’t expect a smart-home device to successfully interpret every possible way of asking it to turn on the lights. Users must observe certain rules and ways of speaking so the system can “understand.”
NLP systems exhibit poor performance in speech-to-text applications. They can get confused by:
- Accents and dialects
- Homophones (different words that sound alike, such as “to,” “two,” and “too”)
- Rapid or unclear speech
NLP systems also tend not to do well in noisy environments or when several people are speaking at the same time.
5. When Should I Consider Incorporating NLP?
The best uses of NLP as a form of human-computer interaction are those where traditional means of interaction (screen, keyboard, mouse) are inefficient, impractical, or impossible.
NLP can make a device truly “hands-free,” which can be important for users driving a car, operating heavy machinery or that just have their hands full. The NLP system should be designed to recognize a limited set of commands in order to optimize its performance and minimize the effort required to train and test the algorithm.
Bonus Question: This is Over My Head; Who Can Help Me?
(Glad you asked.)
AndPlus professionals have experience with many types of NLP systems and can choose the right NLP technology for a given application. Contact us today to learn more about how we can help you develop an NLP-based app.