Identifying jumbled intents

Suppose I have the intents:

intent:provide

  • provide url
  • give link

intent:application

  • jira
  • hpqc

and the user inputs “provide jira url”, would both the intents - ‘provide’ and ‘application’ be identified even though the entities are jumbled? I plan to use slots to identify the application but I wanted to know if the example of one intent is found between the example of another multi-word intent, would slots for both intents be filled? How do I make this happen?

I’m looking for something like this as there are a lot of applications with various services and providing examples like provide jira url, give hpqc link under separate intents for each of the service for every application becomes tedious and hence I am looking for a way to generalize this.

You can use entities to solve this. For specific products you can put it under one intent

## intent: provide specific url

  - provide [jira](jira) url
  - give [Jira](jira) url
  - give me [hpqc](hpqc) url
  - i want [HPQC](hpqc) url

Go to set your entities and slot in domain file

slots: 
    application:
          type: text

entities:
  -hpqc
  -jira

Create an action to give output based on these slots

Alternatively

Create separate intents but register application entities still. The entities will be mapped as synonyms.

Hi @gcgloven, thank you for the response. I was previously using slots but was looking for a more generalized way to classify entities. Wherein one general intent, say, requesting for a URL, works with a list of different applications without me having to create intents for each of the applications, since the kind of requests would be similar anyway.

I was able to implement this using lookup tables and forms. I created a lookup table containing a list of all the applications, created intents for different kinds of requests and referenced the lookup table in all the intents. This helped achieve what I wanted.

Hi naag,

I am now looking at lookup tables too… Do you have any reference in helping understanding it?

A basic idea from the RASA Docs - Training Data Format

This tutorial was very helpful - Entity extraction with the new lookup table feature in Rasa NLU

1 Like

Thanks. I was reading the old lookup demo in github. it was quite complicated. Then i realise for Rasa 1.0.0 onward, I just need to add 3 lines in my nlu.md to import the lookup table. thx ~