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:
bookvideomagazine
Each intent can have a common entity name like:
- I am looking for the
ABC_DEFbook - Can I have
ABC_DEF - Show me things that relate to
ABC_DEFWhereABC_DEFcan 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?