In previous posts, we have outlined the crucial role of Machine Learning for Analytics (in How to Make Machine Learning more Effective using Linguistic Analysis?), and the implications of using Machine Learning for analyzing and structuring text (in How Phrase Structure helps Machine Learning?). In a following post, we will explain how Linguistics can complement Machine Learning and how it can be integrated in the same technology stack.
This post dives into one of the topics of a previous post "How to Make Machine Learning more effective using Linguistic Analysis". We referred to the strong points of Machine Learning technology for insight extraction. We also stated that text analysis is not the area where machine learning shines the most. Here we go into some detail on this last statement.
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