How to set up a flow architecture for large A-Z chatbots?

Hi everyone.

I worked with another Chatbot system already and now went through the basic online courses for Cognigy. They are really great and perfectly illustrate how to build smaller bots for rather limited and linear use cases, e.g. a bot that lets you check your flight status or that answers some questions about your next flight.

However, what if the bot should cover the whole A-Z knowledge and multiple different customer service use cases of a company?

Consider a bot that has a simple welcome phrase ("What do you want to know?") and then should be able to react to possibly 1,000 different intents. 

From the tutorials, I would not know how to set up the flow structure for such a bot. It seems odd to choose one flow as ending point that then contains a look-up with 1,000 different intents that routes user requests into the corresponding "subflows". Such a flow would be painfully large and impossible to manage. 

Instead I would want to build multiple different flows for each topic/intent. The user input then should be matched against all of these flows triggers and run into the appropriate flow.

Can you please give me a helpful impulse? Or is there even a separate training for bigger bots?

 

Thanks and cheers,
Heiko

 

Didn't find what you were looking for?

New post
Was this post helpful?
0 out of 0 found this helpful

Comments

7 comments

  • I'm no Cognigy expert - but since you haven't yet had a response...have you looked at grouping intents through use of child intents (and 'grandchild' intents, etc)? That would help you order the intents, and it can also significantly improve the accuracy of finding the correct intent. I can't remember which video address this, it could be part of the 'Developers' or 'Sessions' series.

    0
  • Hi Heiko,

    Dacocdx is right with the idea to group Intents with child and grandchild intents when it comes to a similar subtopics. That organizes your large collection of intents and improve the accuracy as well.
    You can consider creating a Main flow where you welcome your user and create subflows for different 'areas of expertise', where you have another series of intents. Within the intents you can use the default reply to provide an answer when an Intent was found.
    Simply attach the FAQ subflows to your main flow in the NLU tab -->Attached flows.

    Reg, Edwin Wortel.

     

    0
  • Hi Dacocdx and Edwin, many thanks for your replies. :-) 

    So it seems that there is no easily accessible solution for this requirement. Or in other words: All processes will start in one main flow, it´s not possible to address multiple flows with each user input.

    I am already grouping my intents with parents and childs, so @Edwins approach seems to make sense. My parent intents contain no example utterances, they are basically blank. So my next question would be: If I create a main flow that routes into different topical subflows, can I use the parent intent as condition to route into the corresponding subflow? Is a blank parent intent the sum of all its containing intents with their example utterances, so that the parent intent can be used in routing conditions (even if the parent intent itself is blank)?

    Many thanks once again,

    Heiko

    0
  • Another question (sorry, I am not new to chatbots, but to Cognigy): Is there a smart method to manage your flows, e.g. with folder tree structure? The tutorials only show a straight list. I can imagine this gets messy once you have a huge amount of different flows.

     

    0
  • Hi Heiko,
    When attaching a subflow to the mainflow, you will expand the bots capabilities. With each user input the NLU Model will scan the main flow's Intents (When ther are any) but also the intents from the sublfows. With this you can create good maintainable structure and you can address 1000s of intents. You do not create a routing mechanism with Lookups, and  GoTo's. It all included when attaching flows.

    There is no folder structure to manage flows. Best practice is a naming convention, like 0.Main, 0.1FAQflow1, 0.2FAQflow2 etcetc.

    If you want we can have a call to go over details.

     

    Cheers, Edwin

    0
  • Thanks Edwin.

    So it would mean to have a mainflow and attach all possible "detail flows" (with different intens) to it via tab "NLU" > "Attached flows"?

    I checked this out and it works fine without any lookups. I was just wondering if this is best practice. And I wonder how the grouping of intents make sense if each flow has its individual intent.

    How would it work with subflows for different 'areas of expertise' without using lookups? 

    Don´t know if these questions are easy to be answered in this format. If it helps I would be more than glad if we could have a short call.

    Thanks,

    Heiko

     

    0
  • Yes, that would be best practice.

    Each flow would have an own area of expertise where you want to answer FAQ's. 

    Let's take an example, a company. 
    You want to create a main flow to generally greet the user/customer
    Then you identified there are multiple departments who can add their FAQ's to the bot, like ITSM, HR, Production, Logistics etc.
    For each department you could create one FAQ flow with their respective set of intents + Default replies, beautifully nested with child and grandchild intents. Then you attach the subflows to the main

    Each department has ownership of only their part of the bot.

    The Administrator then can easily edit and update each intent model when there are new FAQ's. Each departments intent collection can be downloaded and uploaded using .CSV or JSON file formats

    If, an intent requires a follow up, for example when a password needs to be reset, or hardware needs to be ordered, you can then use a lookup node and build a flow to cover this usecase. You leave the default reply field for this Intent empty.

    More information about NLU, have a look here

    https://support.cognigy.com/hc/en-us/articles/4417196370834-The-Ultimate-Guide-to-Cognigy-NLU-Training 

     

    If you want to get a in contact please write me an email, e.wortel@cognigy.com

    0

Please sign in to leave a comment.