Overview
We are developing a chatbot using Rasa that can serve magazines, books, videos and many more based on the user’s request.
We have a massive list of books, videos and magazines we want to serve using ChatBot.
Issue
While working on Intent and Entity Extraction, we identified that we have an overlapping dataset between different entities.
For instance: we have intents like:
book
video
magazine
Each intent can have a common entity name like:
- I am looking for the
ABC_DEF
book - Can I have
ABC_DEF
- Show me things that relate to
ABC_DEF
WhereABC_DEF
can be in the book, video or magazine lookup list.
Also, We users directly ask ChatBot like: ABC_DEF
it randomly picks up any intent and server the results. Instead, we want ChatBot to ask like:
- Are you looking for the book for
ABC_DEF
? OR - Are you looking for the videos for
ABC_DEF
? OR - Are you looking for the magazine for
ABC_DEF
? OR
We tried using Slots with Stories. But sometimes, keep repeating the same question repeatedly until the slot is filled. So we dropped ideas to use slots.
Question
- What are the best approaches to deal with instances with overlapping lookup datasets?