Why Zero-Effort Irrelevance is Relevant

How We Designed the New Zero-Effort Irrelevant Question Detection Feature in Watson Assistant

Saloni Potdar
IBM watsonx Assistant
4 min readNov 14, 2019

--

Photo by Randy Fath on Unsplash

When people build an assistant (aka chatbot), they provide example phrases or sentences grouped into distinct topics that someone might ask the assistant about — these are typically called “intents.” Their expectation is that the customers of the assistant will ask domain-specific questions that the assistant is designed to handle. However, this is very rarely the case — the assistant usually gets a variety of unexpected questions that the person building the assistant didn’t plan for it to handle initially. In these cases, it should fall back to another problem-solving method (like searching a knowledge base for hits, escalating to a human agent, or by simply saying “I can’t help with that”).

For example, when someone builds a retail assistant, they may include an #Order intent that is trained with examples like “I want to order a coat.” However, if the customer of the assistant makes the statement “You guys have poor taste in clothes, I don’t like anything you sell,” the assistant should handle these out-of-scope requests by passing the baton to a human agent (or by stating that it can’t help), rather than responding with something about placing a new order.

Why Does it Matter?

I’m on the team that designs the Watson Assistant classification algorithms that support these kinds of “off-topic” scenarios — and after a bunch of analysis, we came to realize that most assistants were doing a less-than-stellar job knowing when to buzz-in and when to pass. And buzzing-in with the wrong answer is the antithesis of a good assistant experience — so we thought of ways to solve that problem. A couple of approaches came to mind initially:

  1. Ask the assistant builder to provide a lot of “out-of-scope” examples
  2. Have the system automatically select a set of “out-of-scope” examples dissimilar to the training data

We didn’t love approach 1 because it’s super time-consuming to have someone provide training examples for everything that might be “irrelevant” to the assistant. And approach 2 is problematic because it’s not trivial for the machine to automatically model and detect what is irrelevant from the infinite number of possible concepts, especially when very few training examples are provided. Additionally, it’s important to balance the accuracy of intent detection when designing the irrelevant-detector. Meaning, we could easily build a very accurate irrelevant-question-detector by tagging most of the questions from assistant users as irrelevant… but this would be a pretty bad experience because the assistant would have low coverage on in-domain questions.

Since none of these approaches are perfect, especially when an assistant is new and doesn’t have a lot of training data, we decided to come up with an approach that is more human-like.

Announcing Zero-Effort Irrelevance Detection

That’s right. Zero effort for you to get irrelevant results! Let me rephrase that: we’ve just released a new irrelevance detection algorithm that significantly increases the precision of your assistant without asking you to provide a bunch of “off-topic” examples.

How do we do it? Well… when we want to know if something is irrelevant, we first check if it is similar to the set of relevant examples, and if not, we tag it. We combine this approach with another algorithm that measures the dissimilarity of the incoming question from concepts that are not close to the assistant’s domain. Using a combination of state-of-the-art deep-learning and machine learning approaches, we make sure that you don’t have to spend a bunch of time manually teaching the assistant what is “out-of-scope.”

Long story short… we want you to check out this feature and give us feedback. To test the new detection mechanism in the “Try it out” panel, submit one or more questions that have absolutely nothing to do with your training data and see what happens. And if you’re interested in learning more about how it works, just keep reading.

More On the Tech

The off-topic problem we set out to solve is tough when the assistant has minimal training data. In this case, we model the distribution of the training data of the assistant. Based on the learned model, any input that doesn’t follow the distribution will be treated as irrelevant. Intuitively, this approach is close to how a human would solve this problem since we have enough knowledge to understand the actual domain of the assistant. We model this using the state-of-the-art deep learning approach to map the customer’s (aka end-user of assistant’s) input to a machine-understandable domain representation so that it can learn what the relevant domain looks like and treat everything else as irrelevant.

The drawback of just using this approach is that we only rely on information provided by the assistant builder in the training data. To tackle that, we try to model the boundary between the assistant training data and the out-of-scope questions by using additional background data. For example, one might wish the retail assistant to explicitly treat questions related to food as irrelevant. The customer can provide some examples of concepts to make the irrelevant detection better, and we use it to train a better model.

If you still want to explicitly add some irrelevant examples, you can mark those inputs using the “Mark as Irrelevant” feature.

This is an active research topic in the area of natural language processing, and our team is working on newer approaches to further improve the accuracy of the irrelevant detection system with advanced approaches in deep learning. If you’re interested in this research topic, please check our recent publication in EMNLP 2019 — https://www.aclweb.org/anthology/D19-1364/ .

And if you’re new to Watson Assistant, you can sign up for free here.

--

--

Saloni Potdar
IBM watsonx Assistant

IBM Watson Assistant | Carnegie Mellon University SCS Alumni