I came across a great explanation of named entity recognition (NER).
Since my startup is building a chatbot as well, I’ve heard the term NER being tossed around, and this link helped to clarify what exactly NER is.
Below is a definition of NER from the site:
NER is a subtask of information extraction that seeks to locate and classify named entities in text into predefined categories such as the names of persons, organizations, locations, expressions of times, quantities, monetary values, percentages, etc.
I figured that NER will be very important for enabling a chatbot to derive semantic information from a conversation.
This hierarchy below shows a possible categorization of entities:
The four general types of entities in the image are as follows:
- numerals: numbers
patterns: strings that have predictable patterns and thus can be captured using regular
expressions (e.g. email addresses, phone numbers, etc.)
temporal: time and date
textual: strings that have been pre-defined in a dictionary (e.g. names of cities, user-location, etc.)
Some important parameters required for entity detection:
message: the actual message from user
entity name: If a dictionary is used, this entity name is important.
structured value: value grabbed from structured text
fallback value: this is the value that is returned in the event that detection logic fails to grab any value from either structured value or message.
bot message: previous message from the bot or agent.