What is Natural Language Understanding and how is it implemented? Viko's NLU engine is based around 4 core "tools". These are stacked together to implement each turn in the conversation flow
Named Entity Recognition (NER)
Given the phrase "i want a new dress for a wedding" how do we identify the product? One approach is to train a neural network with relevant examples and let it do the hard work for us. Like all machine learning strategies the aim is to generalise. Even if the model never saw this phrase, or even the word "dress" it can still identify "dress" as a product.
Part of Speech Tagging (POS)
NER is useful but it's often not enough to fully understand a customer's intent. Given the phrase "i want a lightweight summer dress in black" we need to identify not only the product "dress" but the relevant attributes - "lightweight" and black. Part of speech tagging allows us to identify nouns, pronouns adjectives and more. Used alongside dependency parsing, it's a powerful tool.
Dependency Parsing (DP)
NER and POS allow us to identify products and attributes, but how do we link them together? We use something called dependency parsing. DP allows us to understand how words and sentences fit together.
Rule based extraction
Artificial Intelligence and machine learning allows us to generalise. We're able to make sense of phrases and sentences we never envisioned during development. But there's a downside, machine learning is never 100% accurate all the time. Sometimes rule based matching is more accurate, faster and quicker to adapt.