An experiment with lookup table

Hi all!

I read about lookup tables and it seems that we need a considerable amount of training examples and I couldn’t find a benchmark inside the forums. Therefore I decided to do a small experiment using the month of the year. I started from 3 examples, (ie Jan to March), tried to input the next 2 months and see if the entity is extracted. I am using the default pipeline. I am using “rasa shell nlu” to verify my findings.

I will need to input at least 9 examples in order for rasa to extract the rest of the months in the lookup table successfully. This means that if I only have about 6 examples, lookup tables are not necessary.

I would like to check if my approach is correct and is there other ways to improve the entity extraction from lookup tables?

Thanks!

[Update] Added RegexEntityExtractor into the pipeline in config.yml and it successfully extracted the examples in the lookup table with just only 2 examples! However, I don’t think it can extract the value if user types something from the synonym. Is there any way to overcome this limitation?

TL;DR: Use *RegexEntityExtractor to help extract entity using lookup table!

Hi @Jason73, you’re basically right, if you only have a few values, lookup tables won’t help so much, it’s more for when you have dozens. Re. RegexEntityExtractor, it can extract anything that matches the regex, whether mapped to a synonym or not - but it won’t generalize to similar-but-not-exact matches, if that makes sense.

If there are 50 values in the lookup table, does my intent need at least 40?