Virtual Agent Academy: Using Search to refine User Experience
hi everyone welcome to the virtual agent academy uh this is nabil aspie a product manager in the conversational interfaces i have here with me marcel from the hr product management and also uh david from the natural language understanding and now intelligence uh in today's topic we're going to cover uh what are the optimal experiences for search within virtual agent conversation so our goal for today would be to find and implement where search fits into a conversation and where it does not um you'll be surprised some places we should not have search in the topic this is we're going to show you an example of a topic design that has search capabilities using the best practices and we're going to add in the lab or our exercise into our current topic a search embedded part of the experience um so um if you're ready um marcel i'll move to you go ahead great thanks nibill so as nabil mentioned our goals for today what we want to cover first is really effective uses of search and search can be used in so many different ways if you are user of siri or alexa you're probably familiar with voice based search and and you may or may not get the type of response you're looking for when you use that type of search and how we want to think about virtual agent and frame virtual agent is how do we use virtual agent in a way where it's structured as a workbot and not necessarily a search-led bot so when you think about a search-based topic you could pretty much go to virtual agent and type in anything from i have a question about my benefits to i have a question about how to order a monitor how to check the status of a ticket um all the way to you know what should i have for dinner this evening so search based topics can vary extremely substantially so it's important that we look at search in a more targeted fashion to help optimize the user experience and so you'll see in the green the areas where search is actually very fruitful in virtual agent as opposed to something that can produce a good or a not so good user experience and so what we want to do is use search to help formulate and create that user experience and usually that's done within the context of a topic in many cases so generally someone's going to virtual agent with some sort of idea of what they need help with they may specifically know what they need help with but put in something general they may put in something specific but if they can find a search within a topic that generally creates a much more optimal user experience because somebody isn't as tempted to go ahead and connect with a live agent because they didn't find what they were looking for immediately and so there's a lot less risk with introducing search in more of a contextual based framework within that topic and for the queries that don't really match any topics in your library so the the inquiries may be about compliance training or when can i return to the office or questions about what are the cafeteria hours is the cafeteria even open can go to the search fallback topic so this is a relatively new setup topic and what it does is it's a general fallback topic but it incorporates ways to search the knowledge base open a case search using different terms so it gives the user some options before the user would opt to connect with a live agent right because the goal is help the user be as self-sufficient as possible and in a lot of cases when you look at the research um when when you're recording and looking at the reports of well you know what were people actually searching for and did they find what they were looking for did they get help or did they just bounce over to a p a person at that time a lot of these these live agent connections could have been mitigated with a more effective way of using search so that you know you're saving time you're saving money you don't have to stop as many live agents if we can be a little bit more strategic with search so this encompasses a couple different ways probably not every single way that it can be used but these are certainly the most common so marcel currently those are the major three different experiences that you have you can have a topic that based on having a search right and that need to be very generic because in search you don't know what the user is going to ask for well when you build your topics usually you have a specific goal and we defined workflow exactly which leads into the scenario you're seeing here of the type of experience that can be produced when search is kind of a led topic right and when we talk about a searchlight topic that can be anything from a topic that that's titled search that purely just searches the knowledge base or the catalogs to a topic that's labeled something along the lines of general inquiry or general request and this ends up being a catch-all topic um the the primary reason is usually people go to virtual agent they may see a list of topics and if they don't see their exact topic they might just select general by default and the problem is general then becomes this this catch-all and there really isn't a way to to understand what are my people actually asking because everything is kind of defaulting over to general and what we want to do is you know essentially remove general from the selection of topics and be able to capture those phrases and those utterances in the fallback topic and let the fallback topic really do the job it's designed to do so the type of experience when somebody goes to virtual agent maybe they have an extremely general question nlu may or may not recognize what that intent is because it's so general in nature so it can produce a variety of different knowledge based searches that may or may not be helpful or related not to mention there's there may be an additional question prompt hey can you please restate your search and certainly at that point employees aren't keen to re-enter their question twice they're kind of like well if i'm not finding help in the first or second try i'd like to speak to a person because i can't find my answer here and what we want to do is help build their confidence by using search in a way that can help deliver the experience of the person being able to contextually find what they might be looking for so when we talk about really optimal ways to use search and again these are based on learnings these are based on real life experiences that that people have reported to be you know producing less live agent handoffs and producing just better overall experience scores in general is having your search kind of based within the topic itself so perfect example of this is printer issues so this topic sits on the it side and it gives a couple scenarios that you might commonly go to the printer issues topic four so it could be out of ink out of paper i can't find the printer or connect to the printer but then you see this area called something else in the dark green box and when you enter well what do you actually need help with in relation to the printer it can then find you information specific to that printer issue as opposed to something that's very general and kind of all over the roadmap so this is an example of where search is baked into the topic framework itself this is an out of box topic so this is really an exemplary um way to incorporate search within the topic so the search fallback topic which is relatively new um is a way to catch different phrases or utterances and immediately invoke the fallback topic right because maybe something doesn't match an intent and typically a good user experience when there's no intent discovery provides a way to search or provides another way to get information a less desirable user experience is if that intent um is matched with you know essentially indirect or or wrong intents um you know so we don't want to try to match our intents with everything we want to really you know kind of solve for the core use cases so when you think about your topic library today um are your topics well defined are they specific um and if they're you know if if you have that today and somebody enters something like well what's on the menu for lunch then let that hit the fallback topic right we want those to not match anything on purpose as opposed to building a general topic where you're trying to use entities and you're trying to you know have over 100 utterances in the training set to capture all of that so what we want to do is let the fallback topic really really work its magic in this case the fallback topic marcel is is really important to feed into the future topics that you're planning to build if all of the uterus is the generic one goes to your search topic that means you're not gonna look into it as a conversation that failed and did not have a resolution if that gets to fall back what you can do you can mine this utterances later and build new intents introduce new topics with predefined workflows that can get to a resolution uh versus just having them doing random search and relying on the user reading all the articles and getting to a resolution yeah so so you know what nabil said this is basically that the best way you can approach this is a combination of the search in topic as well as using the fallback search so you know kind of using these two in tandem will produce a way to capture any sort of searches related to an utterance that may not match anything um and then if the person really does need to talk to a human there's that option as well but we're trying to to minimize all of those different handoffs if they're not necessary okay so as we get into the demo there's a couple use cases we want to initially walk through uh but first some assumptions and so the instance i'll be showing is basically going to use some some examples that produce a general inquiry result they produce a fallback search result um we're going to be taking a look at the printer issue so there's there's a couple examples that are kind of set up for this demonstration so if you don't have these topics in your instance not to worry this is just purely for demonstration um and the other assumption is we're using both hr and it so both of those have been enabled and both of those types of topics are going to be available and finally knowledge base articles are available to support the topics so i recognize everyone has different data in their instances and and different things turned on but these are the main assumptions for the demonstration so i would like to remind everyone if you have any questions please feel free to leave them in the q a section okay great all right so again feel free to add your questions so let's let's first start off with the the end user experience and then we'll go into more of the design of that so if we start off with a basic conversation right so i'm just going to initiate virtual agent from my unified portal so the employee service center and today i have a question about health benefits so we are going to don't want to type it in there and maybe my intention with this particular question is i have a leave request that i want to take that's coming up and i'm not really sure how to start this conversation so i'm just kind of looking for general information so i'm looking for how to request partial leave and this is a common use case where somebody taking parental leave may want to take their leave intermittently let's say their company gives them a block of six months and they're kind of like well you know can i split that up and how should i find information about that so notice when we went through the general inquiry flow i typed in my question and then it asked me to repeat my question so you know going back to the user experience that's not really optimal and you know if somebody's asking for something like this it may or may not produce exact matches if those articles exist or they don't exist so this is an example of what that general inquiry topic experience would be and you know frankly it's it's not really one that i would want to revisit from time to time because i don't know if this is going to be helpful and i have a new hire checklist and you know i'm not sure if i'm getting the right information so at this point i'm going to say no it didn't resolve my issue and you can see where the search fallback is then invoked so at this point i'm able to use um the fallback topic here but let's go ahead and end this conversation and take a look at what that user experiences when you go directly to the fallback so in this case my question is going to be around compliance training because we may all have annual trainings or certifications and i don't specifically have a topic that matches compliance training and that's because maybe there aren't a ton of questions around compliance training it's just something i get an email about i take it but maybe i missed my compliance training this year and i have some questions but notice the fallback invokes automatically and i don't have to repeat myself and more importantly on the reporting side i can track what type of utterances are being entered that actually hit the fallback so at that point i can look at the tables and i can make a decision and say gosh you know if i have you know 10 of my employees asking about compliance training this year maybe it makes sense to build a topic or build some information about compliance training so that's one way to kind of pull that through to reporting and start making decisions about future topics so i can say yes this was helpful um you know and go ahead and complete that conversation so i'll pause there are there any questions from the audience so far um so far there are no questions please feel free to ask anything even if it's not about the specific topic and try our best to answer it okay all right so on to taking a look at search within a topic um notice i mean you guys can see there's you know several topics here i can choose from any one of those topics but the next example is going to be around printer issues so it could be something like find the color printer i don't know how many folks have been in this situation but when most of your printers are in the office or printing black and white there's usually kind of a you know a hunter it takes a little bit of information to find which one prints in color which one can print on a special type of paper um so if i'm looking for something like that right and this may be not a typical printer request um because usually you know as you can see out of box um the typical requests are going to be around it's out of paper out of ink it's not turning on or i can't locate it and connect to the printer but in this case we have an option built in for a different issue so if i don't see my issue here i'm not forced to select something that doesn't match what i'm looking for i can say nope it's something different and describe that issue so i can say color printer and hopefully i can find some information on this and sure enough there's an article about finding the specialty printers in your local office that can help me go ahead and get connected to that color printer so that was a great experience because i wasn't forced to make a decision i didn't feel like i had to come in here and and say okay i want to call support or connect to the live agent i felt like i could complete my flow within virtual agent and nibble i think there was a question i just saw a notification pop up yeah so we have a question from toby um can you show how you configure the fallback topic uh on the back end um i think um the ask is how do we enable that fallback topic to be part of the conversation um so marcel if you would like we can switch to apps and i'm going to that sitting page yeah absolutely that's a great question okay so if we come back in here right just to address that question you can see under the setup topics i can choose the type of fallback so i have out of box a search fallback topic i may have a customized topic i want to choose but the search fallback is the one that actually produces that type of experience here and so any one of these can be selected and if we get into our designer view let's go ahead and take a look at the flow so i can search on search and we're going to come into our search fallback topic flow and keep in mind setup topics are going to be in the global scope it is best practice to keep them in that particular scope since they're going to be universal topics and just taking a look at the topic design we can see that the the topic text is selected here so whatever the user entered there's an out of box script that gets that search text and it applies it to that contextual search topic block which we will spend a little bit of time on here in just a moment um contextual search allows you to search based on a couple parameters um it's something where it gives you the option to say do i want to enter the cis id of the search do i want to have it be a script variable in here do i want to enter something in here and pull it into the script variables for the context and what type of query and you can see here it's pulling the user search query and so um you know if we come in here we can actually see if there's a particular type of query but since we have that set user text script action here it's just making sure that we capture that initial utterance and pull that through into the search and you can certainly set your portal or have it look into a specific knowledge base so an example of this is if you're in a particular location you may want to script in what your location is um you know or or something relevant to a particular knowledge base so like if you're based in the netherlands maybe you just want it searching the netherlands knowledge base and that could be an example of when you would pull in a specific knowledge base uh so marcel also to add to that this topic that you're showing right now is an out of the box you don't have to do anything to get that experience all you need to do is just making sure in the general settings uh the foldback option is selected with search fallback what you can do you can duplicate the topic and then do your editing to for example change the words the tone of that fallback topic for example i see some customers say sorry i'm still learning here is what i found so they add a simple funny text in the in the beginning of that search topic you don't need to do anything to get fall back to work all you need to do is just making sure that it is already selected yeah and nabil that's a great point um building in empathy in your chatbot responses tends to produce some really good results as well um because obviously people know they're they're talking to a chatbot for the most part but if you're you're building in ways to say i'm learning please be patient with me there is a humanizing element to that so it kind of brings the user in to have a little bit of compassion or patience if they're not able to get the result immediately and then of course down here we have the ability to transfer to a live agent so we're not you know it's it's obviously an option to connect them to a person very early on in the topic but typically um when you automatically connect to a live person many of those conversations are simple questions that could have been answered with maybe a better topic design or or better use of search within that topic so you certainly don't want to cut people off from talking to an agent but you also want to help empower them to be a little bit more self-sufficient as opposed to simply reaching out for a chat so this really sums up the design we can go back to the main menu of the show different topics here and so again as meal mentioned this is out of box and ready to use so you can simply just pull that into your general settings so as we go we talked about printer issues being one of the better examples of topic design having a search topic baked in so if we take a look at the printer example so you can remember from the portal view when we were looking at the printer right i was i was being asked what type of issue am i experiencing i selected a different issue and then i had to describe it because the system really can't guess at that point what type of issue i might want so as we go ahead and take a look at the topic design you can see the user issue here is giving you some options right so you know you could say different issue or you could say i don't see my option here or help me search on something to find what i'm actually looking for and so you can see all of these different options produce some some step-by-step guidance so if the printer is out of ink for example maybe it's a process of how to reload the toner and go ahead and get that printer working again if it's out of paper where the paper is kept or how to load the paper and then a confirmation of did the steps work on the search side maybe we want to have an issue description and make sure we capture that query and apply that into contextual search so you can see here we have a contextual search as part of that topic thread and so that really exemplifies the design here and lastly if we go into a sample pto topic right so this could be an example of a custom topic that maybe you built to support different types of leaves so maybe you said okay a lot of our requests are around standard i want to request time off for holiday or sick time but maybe you don't have a leave topic just yet so that being parental leave medical leave military leave etc so what you can do is we've built this topic in a previous session so you can have the type of leave be simple or another type of leave and see where we've added a different branch or an extension onto that topic where we are asking what type of leaves so maybe in our example it's partial parental leave maybe you want to take your parental even time blocks as opposed to all at once in a contextual search topic block that then pulls in the leave type and has a context to search a particular knowledge base so you can see here it just kind of goes to the end after that but just another way to put in this design into a custom topic so i'll pause there are there any questions uh so far no questions uh but this is great marcel um just to remind everyone if you have any questions after this session please feel free to uh also in the community virtual agent community and we will try our best to answer marcel do we still have more steps or well we can just go ahead and test out our leave topic so if we come back here we can see how that experience works um we can say request a leave and again we're using nlu to invoke that topic and notice it's pulling this branch so remember when we you know we built this decision other type of leave or the standard request it's now pulling in that search so i can say other type of leave [Music] rental save and i can go ahead and search the knowledge base right and i can find all my information here under leave of absence so that's where you can really produce that type of user experience just simply using a branch and incorporating a search as part of a topic extension so that wraps up everything we've had today um any last questions before we conclude the session [Music] we have um one question um how can we handle faq topics without having to create multiple topics to cover faqs great question um so currently we do not support this in virtual agent it's a feature that we have on our roadmap on the short term roadmap to make sure that you build some template in knowledge base marcel i think you can talk about the details for that feature but currently until paris what we prefer that you build a topic and you have a predefined flow that can get to a resolution marcel any more words on that feature yeah so the fq topic builder is going to be a topic block and the whole premise behind it was how do we enable the business user um or the knowledge administrator to go ahead and build virtual agent topics based on what you have for knowledge because you know a lot of organizations have invested heavily in knowledge bases so how do we capture and use that great information you already have and be able to apply that and parlay that information into virtual agent topics so it will be using the faq knowledge template and will allow you to curate virtual agent topics using that particular template so folks like your knowledge administrator your hr administrator who previously may not have been architecting virtual agent topics maybe specifically for hr or or other lines of business will now be able to help build out the topic library and curate the information that lives in knowledge um into topics themselves i know that this is uh future uh is in the future release and um i am excited for it but in the short term what i would suggest for you is just look for the top 10 questions that people are asking for try to build the topics for them and add not just an answer try to make it a workflow topic meaning it's going to get you to a resolution it's not just going to give the answer it's going to create a case it's going to trigger a specific flow um i think very soon you will have be able to use that feature marcel thanks a lot for today i think that the main take on on today's topic is do not lead research if you um want to use it fall back on search um if you have any more questions please feel free to post in in the virtual agent community we'll be happy to uh also get suggestion for from you uh leave us a comment in that page for the next topic that you would like us to cover thanks everyone
https://www.youtube.com/watch?v=ssLtKiVRVC0