Each jobpal chatbot uses Natural Language Processing (NLP) and Machine Learning (ML) to understand the intent of incoming messages to make the flow more natural. For example, not only “yes!” but also “yes, sure” should be recognised as agreement. By using machine learning, we are able to train the system over time, and change what intents are recognised; this maintenance and improvement are done internally by jobpal.
A chatbot also uses NLP/ML to respond to incoming questions (FAQ feature). Here, questions have to be trained by the HR team. This enables the team to quickly teach the FAQ system to recognise questions in new categories. For example, imagine that there is a fraudulent job posting, and then a candidate finds the chatbot and asks, “Hi, I just saw a post from Alice B regarding an open XYZ position in my city, is this real?” After the recruiter creates and trains, only a few examples into a new category, the NLP/ML system will immediately try to match any new questions that have overlapping topics into that category.
For every ML application, and especially one doing NLP, data quality is the biggest factor in performance. Especially with chatbots, datasets tend to be quite small and domain-specific. This is why we have developed a rigorous approach to cleaning and improving our datasets, in addition to constantly working to push the technical capability of our in-house ML/NLP service. For a deeper dive, we have a research article you can refer to regarding the data quality process and a related post on the jobpal developer blog: Why (and How) Explainable AI Matters for Chatbot Design.
We also work on improving the in-house service itself through a variety of state-of-the-art methods. A more technical article is also available that explains how we approach automated evaluation and monitoring of ML/NLP performance. Shorter description and poster slides are also available in our blog post: Plausible Negative Examples for Better Multi-Class Classifier Evaluation