How to get a trained Watson natural language classifier to NOT pick up a class?

572 views Asked by At

When using the nice demo at http://watson-on-classifier.mybluemix.net, you sometimes got the answer "Sorry, I don't understand the question. Please try to rephrase it." when your question is not related to any of the supported themes.

I don't understand how to do this using Watson natural language classifier: it seems to me that whatever the entry, it choose one of the classes it has been trained for... How do you achieve rejection of some entries as "does not match any of the classes with enough confidence" ?

Thanks for your help.

2

There are 2 answers

2
Leonardo Kenji Shikida On

Roughly speaking, what NLC does behind the scenes (I guess) is to try to correlate one statement with another based on concepts parsed from the input text and calculated using some ontology, so it can find synonyms or concepts that are "kind of" or "part of" other concepts.

So, in order to have a rejection, I can see 3 possible ways

  • the entry has no correlation to any of the data used in the classifier because the concepts are too far from the concepts of the training data, in the ontology
  • the entry has equal correlation to more than one category, so the system can't tell if it belongs to one or another
  • the entry has correlation with one category, but the confidence level is too low, so it does not satisfy some threshold defined by the system
0
Simon O'Doherty On

NLC will always return answers in order of confidence. The system has been set up that if intents fall below a certain level of confidence it will not return an answer.

This is defined by the person writing the application.