Humankind, it seems, has for a long time been fascinated with the idea of machines that can mimic the human capabilities of thought, intuition, creativity, problem-solving, and communication. From the chess-playing Mechanical Turk of the 18th century (which was actually a clever and elaborate ruse) through the ELIZA computerized “psychotherapist” in the 1960s and any number of sci-fi franchises and Saturday-morning cartoons, history has no shortage of intelligent machines, real or imagined.
The imagined intelligent machines far outnumber the real ones, and for good reason: Making an “intelligent” machine is hard. We are many years away from a practical HAL, C3PO, or even Marvin the Paranoid Android.
That said, computer scientists have made progress in one area that will be a critical component of any advanced intelligent machine: natural language processing (NLP).
What Is NLP?
NLP is a technology by which a computer processes written or spoken human language, extracting meaning from the words in order to execute commands, perform queries, translate among languages, and more. The science behind NLP relies on linguistics, computer science, artificial intelligence, and statistical inferencing, among others.
(There’s a branch of NLP research for the other direction, as well: synthesizing speech or written text for human consumption. Computers of course can convert written words to sounds that are understandable to humans, but so far they aren’t so good at composing the words to say. For this reason, this article focuses on machine understanding of human language, rather than the other way around.)
Examples of successful NLP implementations include:
- Alexa, the NLP technology behind Amazon’s Echo product line
- Virtual assistants such as Apple’s Siri and Microsoft’s Cortana
- NLP-enabled search query tools from Google, Bing, and others
As a mode of human-computer interaction, NLP offers some possibilities that are not available in the screen, keyboard, and pointing device paradigm that for many years has been the only practical way for us to use computers.
Top Use Cases for NLP
In what applications is NLP a good choice? NLP is best suited for computer interactions in which using a screen/keyboard/mouse is inconvenient, impractical, inadvisable, or impossible. For example:
- Driving: Statistics show that distracted driving is a leading cause of automobile accidents, whether from fiddling with one’s smartphone or changing radio stations. Modern cars have infotainment capabilities with a dizzying array of choices and configurations—too many for a driver to navigate while operating the vehicle. Until we have true self-driving cars, drivers would benefit from comprehensive voice-activated controls for everything from the music selection to rear-view mirror adjustments and ventilation settings.
- Hands full: Imagine you work in a warehouse, putting goods away, picking goods for order fulfillment, or counting inventory. You might need to use a forklift, pallet jack, or other tools. Putting everything down to enter data in a computer—even a handheld or wearable computer—slows down your productivity and causes errors. What if you had a microphone or headset, and could just tell the computer how many items you picked or what storage bins are empty?
- Extreme environments: Certain environments, such as mines, factories, construction sites, and airport ramps, are unfriendly to computers, whether from extremes of temperature or humidity, dirty air, or rough handling. People working in these environments often have to wear personal protective gear, such as heavy gloves. Operating a computer in such an environment is often impractical, so an NLP-based interaction system would be an immense help.
- Everyday Convenience: ”Alexa, what’s the weather today?” or “Alexa, play rainforest sounds.” Probably the use-case I’m personally most familiar with. Maybe you’re an Apple user and you use Siri or you’re a loyal Google Home fan. At the end of the day most of these uses are similar enough and provide everyday convenience to regular daily tasks. These devices are gaining new features and functionality all the time, especially with third party development.
Limitations of NLP
As useful as NLP is for certain applications, it does have its limitations. There is at present no general NLP that can parse and understand everything you say to it. (If you’ve ever had a voice-to-text system try to translate the contents of your voicemail messages into text, you’ve seen this limitation in action.) Most NLP systems understand only a limited set of key phrases and commands.
NLP systems have trouble in noisy environments or where many people are talking at once. In these environments, the user might need to wear a headset or wearable microphone in order to be understood.
In addition, an NLP system may need to be trained if the user has a heavy accent, speech impediment, or other condition that complicates understanding. Training an NLP system can be time consuming, although it should be necessary only once for each user.
Finally, there are some use cases that simply don’t lend themselves to NLP. For composing a document in a word processing application, analyzing data in a spreadsheet, or putting together a slide presentation, there is at present no substitute for the keyboard and mouse.
What You Can Do With NLP
Within these constraints, however, the possibilities span a wide range of practical applications. And as artificial intelligence platforms continue to advance, the capabilities of NLP will only expand. It might not be so long before machines can understand not only the words you say but the feelings associated with them (anger, joy, fear, frustration, boredom…). That will open huge new application areas and get us one step closer to machines with which you can have an actual conversation.