0

Say I have a sentence like 'I refuse to fly' or 'I'd like to fly'. I also have a sentence like 'I don't want to sit'. When training custom intents in one of the available NLU engines (rasa/wit/luis), what's the best way to go for modeling: Naively I could have: RefuseFlyIntent,WantFlyIntent,and RefuseSit and WantSit

More sophisticated, have set of intents FlyIntent, SitIntent, WantIntent, RefuseIntent, and have my code process the combinations.

same question can apply for other cases, like how to model the difference between You Like To Fly and I Like To Fly

I'm sure there are known methodologies for that, wanted to understand what they are. If you could give me links to literature about it, would be great.

many thanks, Lior

Lior
  • 40,466
  • 12
  • 38
  • 40

1 Answers1

2

This is a common mistake people do when designing conversations. Intents point to a specific action. In your example, the action is whether or not to fly. To get a better understanding, If more than one statement looks alike with only a few words differing make it entities of a single intent.

Intent = Action Yes/No
 - I refuse to fly -> entity {refuse:deny, action:fly}
 - I'd like to fly -> {like: accept, action:fly}
 - I don't want to sit -> {"don't want": deny, "action":sit}
Bhavani Ravi
  • 2,130
  • 3
  • 18
  • 41
  • @Ravi thanks a lot. to clarify - are the entities 'action', 'deny' and 'accept'? and the intent is Fly and Sit? then what is 'action'? – Lior Aug 01 '18 at 11:10
  • 1
    Action is an entity. Accept is an entity. Deny is another entity. – Bhavani Ravi Aug 02 '18 at 03:14