Text analysis is becoming a pervasive task in many business areas. Machine Learning is the most common approach used in text analysis, and is based on statistical and mathematical models.
Everything looks promising in the world of bots: big players are pushing platforms to build them (Google, Amazon, Facebook, Microsoft, IBM, Apple), large retail companies are adopting them (Starbucks, Domino’s, British Airways), press is excited about movies becoming reality; and we users are eager to use. However, one dark hole remains in this scenario. The bot development process.
In some of our recent talks, colleagues have asked us about the Stanford parser and how it compared to Bitext technology (namely at our last workshop on Semantic Analysis of Big Data in San Francisco, and in our presentation in the Semantic Garage also in San Francisco).
Stemming and lemmatization are methods used by search engines and chatbots to analyze the meaning behind a word. Stemming uses the stem of the word, while lemmatization uses the context in which the word is being used. We'll later go into more detailed explanations and examples.
It is always important to evaluate the quality of your chatbots and conversational agents in order to know the its real health, accuracy and efficiency. Chatbot accuracy can only be increased by constantly evaluating and retraining it with new data that answers your customer's queries.
Chatbots require large amounts of training data to perform correctly. If you want your chatbot to recognize a specific intent, you need to provide a large number of sentences that express that intent, usually generated by hand. This manual generation is error-prone and can cause erroneous results.
How can we solve it?
With artificially-generated data. Since Dialogflow is one of the most popular chatbot-building platforms, we chose to perform our tests using it.
In this blog we will discuss three ways of doing your chatbot evaluation by using:
- real world evaluation data
- synthetic data
- "in scope" or "out of scope" queries