"Hey Siri, tell me a joke?"
"What did one hat say to the other?" "Stay here! I'm going on ahead."
We have all done it. Asked Siri or Alexa some stupid question. But have you ever thought about how your "digital assistant" works?
No, it isn't some tiny person hidden inside.
It is with the help of Natural Language Processing.
Human language is very complex. Even some humans still really don't get it. You have words that have different meanings and mean something else when in a different context.
How is a machine going to understand that and the fact there are over 6500 different languages?
Add in the fact that machine language is different to human speech, with it being made up of millions of 0's and 1's. This is why it has been difficult for machines to interact with humans.
Natural Language Processing is the bridge between machine language and human language, allowing interaction.
To understand this, it helps to know the difference between structured and unstructured data. Structured data is like an excel spreadsheet. You have column labels, like name, age, date of birth etc., and each row contains a value related to the column. This means a machine knows precisely what the data is and can analyse it.
Unstructured data would be like a forum. Take Reddit, for example. It's just reams of words, no columns to label and group the data. Looking for something specific could be like looking for a needle in a haystack, especially for a machine.
Natural Language Processing can take this unstructured data and make sense of it and react to it.
Natural Language Processing is a two-part process.
The first part is to clean the data. This is done by removing filler words, splitting up sentences into smaller pieces and tagging words as Nouns, adjectives, pronouns, etc.
The second part is to use Machine Learning algorithms to help interpret and perform whatever task may be required.
Natural Language Processing has various uses that can benefit businesses and people. The most familiar would be the use of a digital assistant, such as Siri or Alexa.
We ask a question, and the audio is translated into text, the text data is processed, producing an answer, the answer is translated into audio and then played. This all takes place within a couple of seconds.
You can also use Natural Language Processing to analyse emotion in text using something called Sentiment Analysis. A use case for this would be to filter feedback from a social media account, flagging up the negative messages for Customer Service to answer.
Intent detection allows you to understand the end goal of a piece of text or audio clip, making it an ideal use case for chatbots or IVR in call centres. Customer's either say or write what they are after, and Natural Language Processing can analyse the data and direct them to the right website page or department.
With Natural Processing Language being around for 50 years, it hasn't been until the last 15 years or so with the progress in Machine Learning that we have seen great leaps in what it can.
With the ever-growing interest in Machine Learning and AI, this will only improve what Natural Processing Language is capable of.
Who knows, in 10 years, we may be able to have a full-blown conversation with a machine thinking it's a human.