Chatbots Need Contextual Entities Which Can Be Decomposed
Because In General Speech We Use Nested Entities & Sub-Types
Detecting entities which are embedded within user utterances remains a challenge. Especially should you want to capture the entities via unstructured methods and truly conversational.
Intents can be seen as verbs, the intention of the user. You can think of Google Search as the biggest intent detection machine in the world.
Entities can be seen as nouns. Should a user say: I am taking the train from Paris to Lisbon…then the entities are: train, Paris & Lisbon.
Of course rudimentary methods can be employed to extract entities from one sentence or more…these include:
- Prompt the user for each entity individually, one after the other. Regardless if the user has already said it or not.
- Use word spotting or regular expressions to spot or extract specific words. As data grows, this becomes increasingly not feasible.
But What Do We As Humans Do?
Whenever we have a conversation, we are able to naturally and intuitively extract entities from an utterance.
We typically use two methods:
- Contextual Awareness
The context of the utterance help us find the entity. Should a customer say: “I wan to travel to Petropavlovsk-Kamchatsky.”
Even though we never heard of that particular city or town, we realize it is an entity (noun) of city, or at least a place.
So we use the context of the specific word in the sentence to know what it represents.