I use lookup table full of uppercase words for RegexEntityExtractor, in the doc NLU Training Data it is said that lookup table is case insensitive. However after cross validation, it turns out that my RegexEntityExtractor is not able to identify all those entities in lowercase. It seems that the lookup table is case sensitive? I’ve defined couple of training examples for the entities in lookup table and set case_sensitive of RegexFeaturizer to False.
This problem really confused me for a while, can someone help me to solve this?
- intent: in_share_vendor_details
examples: |
- Insurance agent from [ICICI](insurance_provider) had called me
- its from [LIC](insurance_provider)
- i can't recall , probably through [icici](insurance_provider)
- I bought a policy from [Tata](insurance_provider)
- [HDFC Ergo](insurance_provider)
These are test examples:
- intent: in_share_vendor_details
examples: |
- from [Tata AIG](insurance_provider)
- I have renewed from [hdfc](insurance_provider) life insurance
- I think it was [ICICI](insurance_provider)
- i bought it from [tata aig](insurance_provider)
- Umm from [Tata](insurance_provider)
Now these examples are present in lookup table as well. When i run rasa test, entity extraction is failing for a lot of examples.
Let me know if you need any other files.
Hey, I watched the video. I have implemented it the same way.
What I observed is that if I keep the sentence structure of the test example the same as training, then entity extraction works.
For e.g
training example is
i renewed it from royal sundaram
And i use the below example for testing then it works
i renewed it from tata aig
But If the test example has a different sentence structure that is not seen in training, then it fails.
@riya.shah Well lookup is basically used for small words like locations, city, products etc with single words ok. What ever you mention, it basically train on that only out of scope not worked also when I used lookup so, now I not using. I hope it will help you. Further reading: NLU Training Data
Hey, it is getting classified to the right intent though.
Also, the test examples do have single word entities, and it is failing for single words as well.
As you can see, predicted entities is [], even though i have given such examples in lookup table.
My question is, even if i don’t have any training example of “from xyz” & it is able to classify to the right intent, it should be able to extract entity as well right?
@nik202 hello there you said that it will recognize intent only coz it’s mentioned that way in lookup. but it has some examples of values of the entity as well. How to make it recognize entity as well.
@nik202 i have7 entities with 20-25 different values. for eg
apparels_choice with 10-15 values
color_choice with 20 values
accessories with 10 values etc etc
Now in my training data suppose out of 15 values of apparel_choice i have utterances with 5 values only. Rest 10 values i have entered in lookup table.
But all those values which are present only in lookup table and not in training data, those entity values are not being picked…
@nik202 In my case it is not working…If i have mentioned the entity in examples then only is being recogniised…Its not taking into account the entity values(or names) mentioned in lookup table…
for eg in my training data i have
-intent: purchase
example: |
find me a black sling bag
lookup: accessories
hand bag
wallet
purse
In this case its not picking hand bag or wallet or purse. Only picking sling bag because i have training example for that