Understanding Lookup Table Usage

Hi, I’m quite new to Rasa. In my project, I planned to include a list of common food items/ingredients from a json/csv dataset (or by typing it out if needed) and categorize them by their food group (e.g. dairy/protein/grains etc). I wanted the assistant to respond according to the food group by providing examples under intent, with intents being “ask dairy nutrition”, “ask protein nutrition”, etc.

I’ve read the Rasa Training Data documentation and it seems like lookup tables are what I should be using, but I wanted to confirm that lookup tables are indeed the best way to go about it? I’ve also read from this post Entity extraction with the new lookup table feature in Rasa NLU that lookup tables work best when they are kept narrow and not too big, so would a lookup tables named according to food groups “Dairy: milk, cheese, yoghurt” etc be acceptable?

I hope this question doesn’t seem like I’m asking to be spoonfed. I’ve read blog posts and forum posts on lookup tables and entities, but I just wanted to be sure that my understanding was correct before I dived into it, because if my assistant fails to work properly, I would know which direction to go about trying to improve it. Thanks.

Edit: This post How to provide the lookup entities in .txt format - #15 by ChikkaUdayaSai mentions how to use .txt lookup tables in Rasa 2.0, but this is not mentioned in the documentation, unless I’m missing it? Are .yml files the only format accepted officially?

1 Like