2

I am facing a real issue, I don't what I am looking for is not provided by rasa or it is just I can't find it.

Now, I was using IBM Watson and Dialogflow. Entities are divided into:

  • Entities
  • Sub-entities
  • Synanoms for each sub-entity

and when you refer to intents training data you just type the entity name or sub-entity name and one time only

example: Entity: iPhone Sub-entitiies:

1) iphone7

synanoms: iphone seven, iPhone 7, i Phone 7, iPhone svn

2) iphone8

synanoms: iphone eight, iPhone 8, i Phone 8, iPhone eight

3) iPhone12

synanoms: iphone twelce, iPhone 12, i Phone 12, iPhone 12

intent training sample: I want to buy @iphone

**-----------------------------------------------------------------**

but in rasa the only possible way is to add it like that: (just for clarification)

I want to buy [iphone seven]{"entity": "iPhone", "value": "iphone7"}

I want to buy [iphone seven] (iPhone)

I want to buy [iPhone 7] {"entity": "iPhone", "value": "iphone7"}

I want to buy [i Phone 7] {"entity": "iPhone", "value": "iphone7"}

I want to buy [iphone eight] {"entity": "iPhone", "value": "iphone8"}
....
... etc

Listing entities in intents by this way is an absolute hassle, especially that I have already huge data set and it will make my intents increase 100x times and I believe it will cause overfitting.

Is there any way to list my entities as I list them in Watson or Dialogflow?

2 Answers2

1

You can define synonyms in your training data, like so:

nlu:
- synonym: credit
  examples: |
    - credit card account
    - credit account

Read more here. I'm not as sure what you're trying to achieve with the sub-entities. If you can tell me more, I can try to help you figure out the best way to solve this with Rasa tools.

fkr
  • 86
  • 4
  • 1
    Please avoid adding an invitation to some forum in the answer itself. You can add such details in the comments if required. Your answer should remain strictly an answer, though you are encouraged to update your profile with your contact details if you like. – Sabito stands with Ukraine Mar 09 '21 at 07:20
  • Gotcha, sorry about that! – fkr Apr 26 '21 at 07:30
0

Yes, there is a form is: You must use lookups. There is how:

- intent: dice_su_nombre
  examples: |
    - my name is [fran](name)
    - my name is [felipe](name)

- lookup: name
  examples: |
    - fran
    - gianluca
    - felipe
    - felix