Hello,
My team is currently developing a FAQ Bot for a company, I’ve read the whole documentation and many forum topics, but some things are still not clear to me. We have around 70 questions, each one with their particular answer. Many questions are related to the same user intent but for different entities, for example:
→ intent: “change_password”
- I want to change my CompanyPlatform password – (this is one question from FAQ)
- I’d like to change my AnotherCompanyPlatform password – (this is another question from FAQ) Where “CompanyPlatform” and “AnotherCompanyPlatform” are fictional names for the Company’s internal platforms just for the sake of example here. So you see, we have many questions with the same intent which are distinguished by the entity extracted value. This logic is the same for other intents related to questions from FAQ (e.g. “delete_account”, “update_account”,…)
We’re having some trouble trying to retrieve the correct response from the Bot, as well as even making it understand the correct entity.
This is the actual structure we’re using: (this is ONE example but there are many others intents, synonyms etc)
- intent: change_password
examples: |
- I want to change my [CompanyPlatform]{"entity" : "platform"} password
- How can I change my [CompanyPlatform]{"entity" : "platform"} password?
- synonym: change
examples: |
- alter
- modify
- reset
- story: change_password_CompanyPlatform
steps:
- intent: greet
- action: utter_start_conversation
- intent: change_password
entities:
- platform: "CompanyPlatform"
- action: utter_change_password_CompanyPlatform
- story: change_password_AnotherCompanyPlatform
steps:
- intent: greet
- action: utter_start_conversation
- intent: change_password
entities:
- platform: "AnotherCompanyPlatform"
- action: utter_change_password_AnotherCompanyPlatform
responses:
utter_change_password_CompanyPlatform:
- text: "You can access this link"
utter_change_password_AnotherCompanyPlatform:
- text: "Tou can access this other link"
So my question is: what is the best way to implement this situation? What elements of NLU should we make use of? Should we use the FAQ structure that is in the documentation instead of doing as above? I hope i made it clear enough for you guys