How to detect entity values which are not part of Lookup table

I am using a Lookup list to detect Book Names. If the value is in the lookup list then it is detected perfectly fine, but if it is not in the list then the entity is detected.

I have provided 11 examples in NLU with entities marked, these entity values already exist in the lookup list. The lookup list has 1000+ examples.

I want to detect a book name even if it not in the Lookup table. I have already provided similar examples.

  1. Can we train Rasa to extract entities based on the position of entities provided in the NLU data ?

  2. How can I solve this problem of extracting similar but not exact entity values, if they don’t exist in the lookup table.

Any pointers to Articles or answers or concepts would also help.

Thank you !

I am just want to extract entities and the extract NLU data. Need more information.

From the docs:

“You can use lookup tables to help extract entities which have a known set of possible values. Keep your lookup tables as specific as possible. For example, to extract country names, you could add a lookup table of all countries in the world.”

This said, its a closed set.

If you provide enough examples in the trainingdata where the entities are annotated, entities not listed in the lookup table should also be picked up by position in the sentence.

so this should work:

- intent: order_pizza
  examples: |
    - I would like a [pizza](food)
    - I am hungry for a [calzone](food)
    - I would like a [cucumber](food)
    - I could go for a [ham and eggs](food)
    - Can i have a [pineaple](food)
    - please provide me with a [cherry](food)

- lookup: food
  examples: |
    - round doughy thing
    - italian pancake
    - heavenly food

If you now ask: “can I have a egg” the bot detects egg as the entity food because it looks like ham and eggs and is in the right position. I think if you provide more examples like this it should also detect entities that do not look like listed entities.