Multiple intents

I also read this: https://medium.com/rasa-blog/how-to-handle-multiple-intents-per-input-using-rasa-nlu-tensorflow-pipeline-75698b49c383

But I don’t see the point of using multiple intents flag? What is special about that? Where is the difference if I define an intent affirm_booktaxi just with the intent classifier classicaly?

multi intent helps classification performance if intent labels are named consistently: they are composed of smaller tokens that have consist meaning bound to parts of the phrases.

I struggle too to understand this concept.

I don’t understand this.

Is there now any difference but performance when you use multiple intents? When I have multiple senteneces like greet and booking in one message, I could train this as greet_booking together with just the subintents greet and booking. Will there be any differences in intent classfication then (with and without the flag)?

Because you introduced this concept as something new when users say different things in one message. Such that you get the feeling there is some splitting internally for different classification…

please clarify all my statements please.

hi,i have read the source code of the solution of tensorflow pipeline,here are some of my thought.

1.we can also use spacy_sklearn pipeline if we see the multiple intent as a new intent label just like single intent

2.it has better performance if we use tensorflow pipeline which solve the multiple intent case by partitioning.tensorflow pipeline can distinguish similar intent label (such as intent:a+b and intent:a+b+c) better

1 Like

:+1: @Maosandian your observations are correct

The question is not if we use spacy_sklearn. The question is whats the change for tensoflow embedding while using the flage as true or false.

@datistiquo what do you mean by change? Improved performance. For rasa_core, there is no difference

Ok, the only thing chnaged is improved performance? :+1:

here are my thought 1.tensorflow pipeline will chunk the intent label (such as a+b) into single label by the specified separator if we use the flag as true.

  1. tensorflow can also solve single intent case,as long as we set the flag as false

here are my thought

1.tensorflow pipeline will chunk the intent label (such as a+b) into single label by the specified separator if we use the flag as true.

2.tensorflow can also solve single intent case,as long as we set the flag as false

the second point means tensorflow will not see the intent label a+b as a multiple intent if we set the flag as false.

the function _create_encoded_intents in embedding_intent_classifier has said the difference between true and false

Any idea how to handle multiple intents in FormAction.

Consider the case below

User: I want to book a table for two?
Bot: When do you want to book table?
User: Today
Bot: What time?
User: 7 PM. Are you open on Sunday?

Here user answered the one of FormAction questions but asked additional question which is supposed to be handled by different Action after current FormAction completes

you can handle this case by detecting composite intent in validation and running followup action