Rasa NLU in Depth - Part 2: Entity Recognition

Hi Rasa community! :sunny:

we just published part 2 of our three-piece blog post series in which share our best practices and recommendations how to custom-tailor the Rasa NLU pipeline for your individual contextual AI assistant.

This part is about entity recognition and covers

  • Which entity extractor to use for which component
  • how tackle common problems: fuzzy entities, extraction of addresses, etc

Read it here: Rasa NLU in Depth: Entity Recognition.

Also check out the other parts of this series:

Lets us know what your experiences and recommendations are for the perfect entity recognition with Rasa NLU :rocket:

What if I have an entity called “label name” and the value are just some random strings? like: “5cb28asdubq”, “test111”, “829label”…

what is the best way to extract this entity? I guess maybe I should just restrict the format of user’s inputs so I can apply regex match? like: “the label number is: (*)”

And I do think it will be super useful for rasa to have a “input box” widget, which can let user type the information inside the box.

Is it completely random? That’s indeed very hard. Maybe you could use Forms ?

yes. It could be anything. I am using Forms. But as I understand it is just for dialog management, no help for the entity extraction.

Theoratically yes it is hard to do entity extraction solely on the “name” itself, since it can be anything. However if think about it we should be able to extract them easily by looking at the structure of the whole sentence. In this case, a regex can catch it. I beileive this can be really useful. I am not sure but I have not found a way in Rasa to do it. Maybe I will try custom entity extractor.

Mhm, if the sentence has a certain structure you should be able to tag it with ner_crf, right?

yeah. you mean like here? I have tried but it is not stable. a lot of times entity extraction fails.

finally solved it. can be done by custom slot mapping as : Forms

1 Like

Great to hear :rocket:

Hey, I really suggest we should add this conversation topic in the blog post as well. Since I believe it is a very common problem, and it can be solved in different ways. It would be a good thing to conclude them. (though it is involved stories and intent design as well)

I have some ideas in my mind, let me know if you think it is helpful to write them done.

@luofanghao Thanks for your feedback. The mentioned topic is actually quite tricky. @Ghostvv You discussed this topic in a SO issue, didn’t you?

@luofanghao @Tobias_Wochinger Hey! Can you please help me out , how were you able to solve dynamic and random entities.? Those entities which are never seen by the model. How by using custom slot mapping??