1

I need my chatbot to query the user for an address and therefore I need the rasa NLU to return the address components (e.g. zip code, house number, street name, etc.) contained in the messages as entities.

Of course, one obvious way to do it would be to create a training file containing appropriate training data. But since this surely is a common problem, I hoped there might be another solution. Besides, it is not obvious to me where one might get loads of labeled addresses in various formats.

the-bass
  • 705
  • 1
  • 6
  • 20
  • 1
    Can you share what you have done yet, based on that we can help you further? – Kunal Mukherjee Mar 07 '18 at 17:18
  • @KunalMukherjee I don't quite understand why this is important? My question is basically "what's the best way to get rasa NLU to return the components (street, house number, city,...) of addresses as entities?". I hoped that this could be a collection of strategies, so we can find the "the best". Because I'm pretty sure I'm neither the first nor the last one facing this problem. – the-bass Mar 09 '18 at 11:19
  • Currently RASA supports simple entities only. – Kunal Mukherjee Mar 09 '18 at 11:36
  • It isn't a full answer for your question, but this question/answer might suggest an approach that could be expanded on: https://stackoverflow.com/questions/49324733/use-spacy-entities-in-rasa-nlu-training-data – Neil Mar 18 '18 at 10:37

1 Answers1

0

In this blog post some evaluations were done which show that the entity extractor ner_crf performs quite well for addresses if you add enough training data. In the blog post addresses were annotated as follows:

Take me to [123 Washington Street](address) please

You could support the recognition by supplying some regular expressions Depending whether you have a list of possible street names you could also use lookup tables

Tobias
  • 1,880
  • 11
  • 17