I am facing an issue between classification of two intents.
First use case is: What is Oracle?
So for this I created one intent
#intent: define_oracle
what is Oracle
define Oracle
Story for it is:
*define_oracle
-utter_define_oracle
Second use is:
User: where are the logs of database?
Bot: of which database?
User: Oracle
Bot: location of logs…
So I created:
#intent: logs_db
where are the logs of database
where are the logs of [Oracle] (db_name) database
where are the logs of [SQL server] (db_name) database
#intent: database_name
[Oracle] (db_name)
[SQL server] (db_name)
Story for it is:
logs_db
utter_ask_db_name
database_name{“db_name”:“Oracle”}
utter_response
Another story:
logs_db{“db_name”:“Oracle”}
utter_response
Issue is : If user writes only Oracle then it doesn’t pick define_oracle intent. And respond with did_not_understand.
I want if user doesn’t ask for logs and writes only Oracle then it should respond with define_oracle response and if user ask for logs and writes Oracle then bot should respond for about logs location.
well in the case you have two option
A
user : where are the logs of database?
here the entity db_name will be empty so you can write so custom logic like
if entity like db_name has no value just use dispatcher to call utter_ask_db_name or something
B
Simplest and best way is to use slot filling itself
user : where are the logs of database?
when the user ask a intent like this hit a form action like form_db_logs