Wednesday, October 18, 2017

Immersive And Conversational Apps And Why Improper Design Will Hurt Your Customer Experience...

As  we  are  seeing  that   emerging  trends  suggest  total  new  channels  and   new  ways  of user experience which mainly  point  to  the  technologies .

  • Conversational Platforms
  • Immersive Experience
These  trends   make  several  customer  facing  organizations  to  adapt  them  to  make  a difference for themselves.  However  some  of  these  efforts  like  introducing  automated  BOTS  or  Cortana based  applications  as  part  of  your  customer  interactions  needs  to be  planned  carefully.

Lot  of  us  would  have  seen  the  epic fail  of  Cortana  in a  large  conference,  while  that  is a  smaller  issue  may  be due  to  crowds clapping  and  laughing  in the  back  ground  and  the  Cortana would  not  have  understood  the  voice  fully.  But  the  bigger  issue  is  that   the  customer  is  not there  to  experiment  on  voice  conversations  or  chat  conversations  unless  they  are so  natural  and  fully understand  customer  intent  and  help  him.

Most  of  the  time  we  hear  customers  saying  that,  "I  could  have  typed  or  clicked  the  screens  faster"  than  going  through  a  so called  intelligent  or  smart   application  which  still  has  not understood   what  I  really  want.

So  the bottom  line  is  that  your  Voice  Based  Applications  as  well  as   Chat based  BOT  applications  should  include   within  them  lot  of  intelligence,  so  that  they  really  help the customers  in  what  they  are  looking  for  and  not  serve the  function  of  a  experimentation  tool where the customer  has  to  really  talk  or  type  only a  few  exact  sentences  and  then the  system  does  the work.

Microsoft BOT Framework :     BOT is basically  an intelligent  application hosted on Azure  that  will  let it's consumer  interact  with it in a  conversational  way, mainly  using  chat based interface, however it  will also support  voice  and  form  based  inputs  also.  BOTS guide  the  user towards a  solution and typically  are useful  when  we don't  know the user intent  and let  him to  choose from a  free form of  ideas.

There  are  multiple  ways  we  can  build  BOTS  using  Microsoft  framework.
  1. Using Azure  BOT  Service  which  provides  an end to end  integrated environment for  building, testing  and deploying  BOTS. Lot of the BOT Management activities are automated in this option and  makes  it easier for building less complex  BOTS
  2. BOT  Builder is an Open Source framework  and  uses  traditional  Visual Studio IDE to develop  BOTS  using  standard  programming  approach. BOT Builder SDK is available for both .net  and  Node Js.
Using Industry Standard Design Principles :    As  always  in the design  of  any  "user interface related" computer program  lot  of common sense is  needed in building BOTS  also. BOTS are not meant to  show  cause  a  technological  feature  but  more  about  ensuring  that  user  is able to finish their  work  easily and  able  to  get  best  out  of the  interaction.

Also  Microsoft  has  provided  guidelines  on  wrong  usage  of  conversations  using  BOT  Technology,  some  of the guidelines are below.

  • First Interaction with the customer is important  and  it  should  not provide an unlimited and open ended options such that  customers  may  get  lost  in the conversation. Most times as an organization we  know  our  list  of  services  and  let the user to narrow down what  he/she requires  will be an better usage.
  • Guidelines  warn  against  building  what  is known as "Stubborn Bot"  which does  not  let user to change the  track  during the course  of  transaction  and  makes the user frustrated. For example  in a  BOT  for  booking  airline tickets,  if  the  BOT  keeps  asking  about  your destination  without  even  letting the user to understand  various  discounts and  offers available in your  site.
  • Guidelines   warn  against  building "cludless Bot"  which are unintelligent  and  does  not understand the  context.  For example  your  user  is already  logged  in  and  you know his name and other  details,  there is no point for Bot  to  ask  the details  again. We  will talk more about  how to fix the problem of "clueless Bot"  in the  below  sections.
  • While  Unintelligent  BOTs are not  unwelcome,  it  is  also  true  that  some  times  BOTS  exhibiting  too much  of  intelligent  beyond  what  is  required  for the  conversation. Suppose  assuming  that  user  is  trying  to  book a  hotel  room  for  his business travel  to  attend a conference,  the  BOT  should  not  use  the  Social  Media  profile  of the  user  and  assume and ask questions  about  User's  family or  hobbies.  Like  the  BOT  should  not  offer  some services  for  user's  kids  during  the  stay.
While  these  guidelines are  just  indicative,  there is  not a  single  useful  navigational  flow  that  will  provide a  blueprint  of  a  perfect  customer  centric  BOT. It  will differ  from case to  case. However  applying common  sense  and  utilizing  the  appropriate  intelligence  as  part  of the solution is key to its success. The  following  are some  of  Azure  AI & Cognitive  Services  that will  assist in BOT  development  and  make  them more useful for customers.

Understand Customer Language (Basic Level):    Understanding  the  natural language  is  fundamental to the success of this new user experience interfaces.  The  best  thing  with a  human interaction is that however differently  asked  humans  will understand  the intent  most of the times. However  BOTS unless given the intelligence,  they may  just  act  like  dump machines  which merely  replays  what  is  pre programmed. LUIS (Language Understanding  Intelligent Service) is  one  important  Azure cognitive Service  that  will  provide the much needed  intelligence  to BOT interfaces.  LUIS understand the  intent  from  User's  input  which is the  Verb  which is the action user wanted to perform. For example  Intent  could  be like,  Register for a  Event, or   Book a flight. LUIS also  extracts  entities  that  is  of  interest  from  a  textual conversation, which is very important, because when some  one  wanted to  book a ticket  to  Paris,  "Paris"  is  about the  destination that needs to be understood and  BOT services  tailors it's  response  accordingly.

Analyze Customer Language (Deeper Level) :   While  LUIS will help you  with basic understanding and the direction with which the customer  wanted  to  take  the conversation you need to make further analysis  much  like  human  do  in  a conversation.  That is where the  Linguistic Analysis  comes  into  picture.  One  important  aspect  is  to  understand  the  Phrases  within the  conversation. Because  some  times  individual   words  will  convey  a  different  meaning where as the phrases  will  convey  totally different  meaning.  For example  some  one  say to a BOT that  " I wanted to book a luxury hotel in New York".  In  this  case  "luxury hotel" is a  phrase  that  we  need to respond  rather than  just  any other  hotel.  Similarly  there  are  other  techniques  like , "part  of speech tagging", "sentence separation" all  are  important  while  conversing  naturally  with the user.  Most  of these APIs are available  as  part of  Azure "Linguistics Analysis API".

Understand  the  Mood  Of Customer :   If you happen  to  see a  call center  conversation, some times  calls  may  show  customer's  anger, dejection, frustration and other  sentiments.  And  most times human  adjust  their  conversation with respect to the  tone  of the customer. For example  if the customer is  extremely unhappy with the service,  the   call center person  will first  ask for excuses before proceeding. BOTS are expected to behave the same way. That is why  Sentiment Analysis of each part of conversation is  important  and  once the  BOT  determines that the customer is unhappy the direction of the conversation should be different.  Azure  "Text Analysis API" will help with  understanding the sentiments.

Guide The ConversationWith Corrections To Language:   Spelling  makes a huge portion  of language understanding. Also  the world  of  social media  like twitter  have  created a huge set of slang language  that  the  BOT may have to understand. While there is no  exhaustive method  which can correct all the spelling issues  possible in a  language,  integrating  with Azure Spell Check API mitigates most of the problems. This API  recognizes common  name errors,  corrects word breaking issues and recognizes slang  and informal language.  Especially for US-English is the language of communication then this API  provides more advanced  functionality.  When ever the BOT  finds a conversation with a wrong spelling it is better to suggest to user and progress as per the correction.

Make Best Utilization Of Your Existing Support Channels:    Most  organizations  have existing options  to  get support  for their customers  which are  proven  and  working already.  For example  most  organizations in their  web site   generally have a   FAQ (Frequently Asked Questions) section which are trained  over a period  and  normally reflect the best  issues that their customers face. When we build a new automated  BOT  to  respond  to users, we should  not  start  fresh, rather  best utilize the existing  FAQ. Azure Q&A  Maker  is one such cognitive  service  which is  meant to  extract best possible  conversations  from a  existing Q&A content. Q&A  maker  service accepts  the existing Q&A in the form of  TXT,DOC,PDF,HTML files  and uses  Artificial Intelligence and Natural Language processing  to match these questions against  user's  queries  and  match them appropriately. This service  provides  option  to  train  the Q&A sequences as well  as  constantly update the knowledge  base  which makes the service more dynamic in nature.

The  above  are  only  a  indicative  set  of  services  that  can  enrich  the customer  experience,  however  as  we  involve  with  users  we  should  keep on  improving  the  intelligence  behind the BOTs and other  Automated  Assistants  and  should  not only depend  on the past  training  data. Because  the  training  data  may not be available  or may be obsolete.  One  such  option  is also to use the "Reinforcement Learning"   which keep learning  and adapts  itself.

Finally  all  of  the  Automated  Assistants  should  at  some  point  have to  hand over the humans to ensure  that  the situations  which beyond their  ability  are  still  handled. Without  Human intervention  these  Automated  Agents  may  frustrate  users  and  make  them  not interested  in your site  or  app.

Using  the  newer channels  provide  lot  of  options  for the organization  to  serve more  people with less resources  because  humans  have  limitations  and resources are limited.  However immersive and conversational  agents  should  be planned  carefully  and  not  just  be  viewed  as a nice technology add on,  but rather  human centric  usage  has  to be understood  and  designed for. May be these  interface  require  Manual  Testing  than  Automated   testing  to ensure that  whether  Users  are indeed  like the flow  and  gets satisfied  from the service.


No comments:

Post a Comment