A Dual-Pronged Approach to Natural Language and Speech Recognition
The paradigm is shifting to remove the burden of interpretation from the user and place it back on the system.
Our Fundamental Meaning approach parses user input to recognize intent and extract the necessary entities, or field data, to complete a task. We use FM combined with ML algorithms to identify which intent best matches a user’s “utterance,” or what they say. If an utterance contains more than one possible intent, the bot presents both to minimize failures.
Chatbot tasks can be broken down to a few words that describe what a user intends to do, usually a verb and a noun: Find an ATM, Create an event, Search for an item, Send an alert, Transfer funds, etc.
Our NLP engine analyzes the structure of a user’s command to identify each word by meaning, position, conjugation, capitalization, plurality, and other factors. This helps the chatbot correctly interpret and understand obvious and non-obvious synonyms for these common “action” words.
The goal of intent recognition isn’t just to match an utterance with a task, it’s to match an utterance with its correctly intended task. We do this by matching verbs and nouns with as many obvious and non-obvious synonyms as possible.
Entities are the fields, data, or words the developer designates necessary for the chatbot to complete a task: a date, time, person, location, description of an item or a product, or any number of other designations.
Through our NLP engine, the bot identifies words from a user’s utterance to ensure all available fields match the task at hand, or collects additional field data if needed.
The goal of entity extraction is to fill any holes needed to complete the task, while ignoring unneeded details. It’s a subtractive process to get just the necessary info – whether the user provides all at once, or through a guided conversation with the chatbot.
Why developers love building chatbots with Kore
Our NL engine makes the process of building accurate NL-enabled chatbots scalable. It recognizes simple yet critical nuances to a human’s natural language to mitigate potential misinterpretation and prevent developers from designing for every idiomatic variation. It also includes features that let developers easily customize, expand and reuse vocabulary.
Recognizes proper nouns and removes capitalization from common nouns
Numeric Words vs. Digits
Recognizes the communication of numeric values as words or digits
Enables addition of synonyms and uses ML to continuously expand chatbot vocabulary
Singular vs. Plural Nouns
Processes singular and plural nouns the same way
Expands contractions and removes apostrophes to simplify task processing
Allows for transfer of developed vocabulary from one chatbot to the next
Understands a single verb communicated in different tenses as synonymous
Includes pre-programmed synonyms and bot responses
Replaces default, universal responses with unique, configured messages
Users speak in ways we can’t always predict, making NL training a key bot-building component. Kore’s NL engine does the heavy lifting up front, so developers can focus on expanding conversational variances and training the bot as conversation history is accumulated. A known set of utterances or a training corpus can also be used to train the bot.
Using Kore’s Bot Builder, developers can follow a uniform process to get their bots NL-ready and communicating effectively.
The Kore Bots Platform includes an automated speech recognition (ASR) engine to enable voice-driven interactions. It also lets your bot communicate outside of traditional text interfaces or messaging applications – including IP Phones, wearables, and other speech-enabled gadgets like Amazon’s Echo and more. The engine is trained using our robust speech recognition toolkit and a deep neural network implementation, for a higher vocabulary ranking that drives better, more complete interactions.