Getting wrong intent on garbage input

I have created a simple bot in German language. It only handles intents like greet, you are welcome, bye. On random garbage input am getting wrong intent name instead of fallback policy. For example when input is ‘kikjk’ it utters you are welcome response. Any help would be appreciated (1.2 KB) (636 Bytes) config.yml (1 KB) domain.yml (2.1 KB)

Hi Athar! Welcome to the Rasa forums. It’s a little difficult to pinpoint exactly what’s going wrong without seeing the log, but it sounds like the NLU is not identifying the intent correctly. Have you tried adjusting the nlu_threshold to see if that makes a difference? A higher threshold means that your system will use the fallback policy more often because it needs to be more certain before proceeding.

Don’t expect the bot to know what garbage is, when you don’t train him to recognize garbage. The bot will still try to match your input to the most likely intent.

There are certain errors in your training data:

  • am 12.04.2020 um 9 Uhr unter der Nummer [01771827422] -> don’t label times when you use duckling to extract it. These labels are meant for EntityExtractors to learn. Duckling is rule based and doesn’t need those. Furthermore these will get in conflict with ducklings entity extractor. The phone number also doesn’t have a phone-number label.

Your phone-number regex does not cover all your phone-number cases.

Thanks for replying. Yes i did tweak a bit with threshold. Its working now, i only needed to add more training data. I created an out_of_scope intent and added some examples. Its working now.

1 Like

Thanks for pointing out the errors. I understand now that there is no need to add entity examples for Duckling or Spacy.

Glad to hear you’ve got it working! There’s definitely a bit of a learning curve with your first bot. :grin: