Natural language processing (NLP) is a branch of artificial intelligence that helps computers understand, interpret and manipulate human language. NLP draws from many disciplines, including computer science and computational linguistics, in its pursuit to fill the gap between human communication and computer understanding.
Evolution of natural language processing
While natural language processing isn’t a new science, the technology is rapidly advancing thanks to an increased interest in human-to-machine communications, plus an availability of big data, powerful computing and enhanced algorithms.
As a human, you may speak and write in English, Spanish or Chinese. But a computer’s native language — known as machine code or machine language — is largely incomprehensible to most people. At your device’s lowest levels, communication occurs not with words but through millions of zeros and ones that produce logical actions.
Indeed, programmers used punch cards to communicate with the first computers 70 years ago. This manual and arduous process was understood by a relatively small number of people. Now you can say, “Alexa, I like this song,” and a device playing music in your home will lower the volume and reply, “OK. Rating saved,” in a humanlike voice. Then it adapts its algorithm to play that song — and others like it — the next time you listen to that music station.
1. 3 Tips for your Voice and Chatbot Program from Gartner’s Customer Service Hype Cycle 2020
2. Deploying Watson Assistant Web Chat in Salesforce Lightning Console
3. Are Chatbots Vulnerable? Best Practices to Ensure Chatbots Security
4. Your Path to AI — An IBM Developer Series
Let’s take a closer look at that interaction. Your device activated when it heard you speak, understood the unspoken intent in the comment, executed an action and provided feedback in a well-formed English sentence, all in the space of about five seconds. The complete interaction was made possible by NLP, along with other AI elements such as machine learning and deep learning.
Why is NLP important?
- Large volumes of textual data
Natural language processing helps computers communicate with humans in their own language and scales other language-related tasks. For example, NLP makes it possible for computers to read text, hear speech, interpret it, measure sentiment and determine which parts are important. Today’s machines can analyze more language-based data than humans, without fatigue and in a consistent, unbiased way. Considering the staggering amount of unstructured data that’s generated every day, from medical records to social media, automation will be critical to fully analyze text and speech data efficiently.
- Structuring a highly unstructured data source
Human language is astoundingly complex and diverse. We express ourselves in infinite ways, both verbally and in writing. Not only are there hundreds of languages and dialects, but within each language is a unique set of grammar and syntax rules, terms and slang. When we write, we often misspell or abbreviate words, or omit punctuation. When we speak, we have regional accents, and we mumble, stutter and borrow terms from other languages. While supervised and unsupervised learning, and specifically deep learning, are now widely used for modeling human language, there’s also a need for syntactic and semantic understanding and domain expertise that are not necessarily present in these machine learning approaches. NLP is important because it helps resolve ambiguity in language and adds useful numeric structure to the data for many downstream applications, such as speech recognition or text analytics.
Natural language processing includes many different techniques for interpreting human language, ranging from statistical and machine learning methods to rules-based and algorithmic approaches. We need a broad array of approaches because the text- and voice-based data varies widely, as do the practical applications.
Basic NLP tasks include tokenization and parsing, lemmatization/stemming, part-of-speech tagging, language detection and identification of semantic relationships. If you ever diagramed sentences in grade school, you’ve done these tasks manually before.
In general terms, NLP tasks break down language into shorter, elemental pieces, try to understand relationships between the pieces and explore how the pieces work together to create meaning.
These underlying tasks are often used in higher-level NLP capabilities, such as:
Content categorization:- A linguistic-based document summary, including search and indexing, content alerts and duplication detection.
Topic discovery and modeling:- Accurately capture the meaning and themes in text collections, and apply advanced analytics to text, like optimization and forecasting.
Contextual extraction:- Automatically pull structured information from text-based sources.
Sentiment analysis :- Identifying the mood or subjective opinions within large amounts of text, including average sentiment and opinion mining.
Speech-to-text and text-to-speech conversion:- Transforming voice commands into written text, and vice versa.
Document summarization:- Automatically generating synopses of large bodies of text.
Machine translation:- Automatic translation of text or speech from one language to another.
In all these cases, the overarching goal is to take raw language input and use linguistics and algorithms to transform or enrich the text in such a way that it delivers greater value.
NLU is branch of natural language processing (NLP), which helps computers understand and interpret human language by breaking down the elemental pieces of speech. While speech recognition captures spoken language in real-time, transcribes it, and returns text, NLU goes beyond recognition to determine a user’s intent. Speech recognition is powered by statistical machine learning methods which add numeric structure to large datasets. In NLU, machine learning models improve over time as they learn to recognize syntax, context, language patterns, unique definitions, sentiment, and intent.
Business applications often rely on NLU to understand what people are saying in both spoken and written language. This data helps virtual assistants and other applications determine a user’s intent and route them to the right task.
Twilio Autopilot, the first fully programmable conversational application platform, includes a machine learning-powered NLU engine. Autopilot enables developers to build dynamic conversational flows. It can be easily trained to understand the meaning of incoming communication in real-time and then trigger the appropriate actions or replies, connecting the dots between conversational input and specific tasks.
The Impact of NLU in Customer Experience
With the availability of APIs like Twilio Autopilot, NLU is becoming more widely used for customer communication. This gives customers the choice to use their natural language to navigate menus and collect information, which is faster, easier, and creates a better experience.
Businesses use Autopilot to build conversational applications such as messaging bots, interactive voice response (phone IVRs), and voice assistants. Developers only need to design, train, and build a natural language application once to have it work with all existing (and future) channels such as voice, SMS, chat, Messenger, Twitter, WeChat, and Slack.
IVR and Message Routing
Turn nested phone trees into simple “what can I help you with” voice prompts. Analyze answers to “What can I help you with?” and determine the best way to route the call.
Automate data capture to improve lead qualification, support escalations, and find new business opportunities. For example, ask customers questions and capture their answers using Access Service Requests (ASRs) to fill out forms and qualify leads.
Build fully-integrated bots, trained within the context of your business, with the intelligence to understand human language and help customers without human oversight. For example, allow customers to dial into a knowledgebase and get the answers they need.
Delivering a meaningful, personalized experience beyond pre-scripted responses requires natural language generation. This enables the chatbot to interrogate data repositories, including integrated back-end systems and third-party databases, and to use that information in creating a response.
What’s the goal of Natural Language Generation?
People have always communicated ideas from data. However, with the explosion of data that needs to be analyzed and interpreted, coupled with increasing pressures to reduce costs and meet customer demands, the enterprise must find innovative ways to keep up.
As it turns out, a machine can communicate ideas from data at extraordinary scale and accuracy. And it can do it in a particularly articulate manner. When a machine automates the more routine analysis and communication tasks, productivity increases and employees can focus on more high-value activities.
“For many applications, natural language can be preferable to the engaging visual interfaces we often encounter. As attractive as visually rich dashboards can be, when it comes to information density, they are usually far inferior to language. In a paragraph and a few bullet points, we can quickly tell a rich and complex story…
But the bigger game of NLG is not about the language but about handling the growing number of insights that are being produced by big data through automated forms of analysis. If your idea of big data is that you have a data scientist doing some sort of analysis and then presenting it through a dashboard, you are thinking far too small. “