I’m using regerxfeturizer with dietclassifier and trying to use lookup tables for names but the entities are not recognized correctly if anything other than that in training example is asked.
Can someone help me with this and also if there is any limit to how many lookups we can use or the number of values in the lookup.
Can you show me your pipeline? It should have RegexFeaturizer and RegexEntityExtractor as mentioned in the docs.
Also provide at least two examples of the entity in the NLU files.
No there is no limit (theoretically - you can still run out of RAM/CPU/storage during training) But the more lookups and examples you use, the slower training will be.
I’m using rasa 2.8.10.
For example: What are the sales in 2020.
The sales entity was extracted twice and the entity had 2 values in it both sales.
I will change the config and check once again.
The entities are extracted only when I give the complete value same as given in the table. How can I get even if there is a matching to the name. Like if the name has first name and last name it’s working only when I give both. Is there a way to get when I give one of them?
But in my opinion, the best approach is using a form asking explicitly for two different slots: first_name and last_name, which are to be filled using from_text mapping.
I’m not just using for names but for different types of fields like I have few IDs and descriptions for those IDs but for IDs I don’t have any specific pattern. In this case how can I extract entities properly?
I don’t understand. Even if I use from_text how would I know if that belongs to which ID? I have multiple IDs like group ID, category ID etc and the same goes for description also. If I use from_text I would just get the value of it in the slot with it’s name same as value right?
I query a database to get the user with ID = 12345678.
It worked? Then it’s an ID. It didnt’? Go to 2.
I query the database to get the user with username = 12345678.
It worked? Then it’s a username. It didnt’? Go to 3.
I query the database to get the user with phone number = 12345678.
It worked? Then it’s a phone number. It didnt’? Don’t validate the slot and ask again.
Be gentle with the bot. Don’t expect the impossible. It can do what humans can do, but just faster. If there’s no structure/pattern to your IDs, and they’re not stored anywhere, how will the bot guess which one it is?
Yeah for that I have created text files with values in it and using these text files for lookup. So that I would not need to query the database several times. But the lookups were not working because I was giving only part of the description not the exact one.
There is a library for fuzzy matching but I’m not sure how I can implement it in lookup. Can you help me with it?