Act, Confirm, or Stop? Smarter behavior for AI assistants, wearables & robots — Amit Desai, Roku

AI Engineer · 20 min · 189 sentences · from YouTube's caption track

Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.

  1. 00:01[music]
  2. 00:12Hi everyone.
  3. 00:14How's it going?
  4. 00:14Hey Patricia, how are you?
  5. 00:17Uh so last presentation of the day, so let's make it count.
  6. 00:21Um, all right.
  7. 00:23Let's, uh, let me start with a little bit of background on myself.
  8. 00:28And, um, my background, I'm a voice subject matter expert.
  9. 00:34I've been working in voice AI for a long time across different surfaces, devices, and um, both at Alexa, at at Roku, at my own startups, you know, in the app store.
  10. 00:49And my perspective is a little different from a lot of other voice AI practitioners.
  11. 00:56I think it's a combination of um a deep um voice user interface expertise and intu intuition mixed in with new technical approaches uh that I think can produce really magical experiences.
  12. 01:12So I think it's both sides and I think that's especially true in this new area that we're in with frontier tech where the human interface is basically being redefined.
  13. 01:23So let me start with uh I'll just blast through the first couple of slides then get to the premise.
  14. 01:29I think everybody knows that voice has incredible potential.
  15. 01:32There's the power of voice I think across everywhere.
  16. 01:36It's the most natural interface.
  17. 01:37Humans love talking.
  18. 01:39And uh the problem is the other half is the pain of voice.
  19. 01:43So it's the power and the pain.
  20. 01:45Voice is errorprone.
  21. 01:47And I think those errors are going to continue for a while.
  22. 01:52And I think the cost or consequence of those errors is going to grow, especially as we go fromational AI bots to embodied AI where rather than just giving answers that might be erroneous,
  23. 02:07we're going to have AI systems take physical actions or digital actions where, you know, if the robot throws your watch out with the trash, it's a lot worse than playing the wrong song.
  24. 02:19So I do think that a new approach is definitely needed and here's the TLDDR of the premise we're going to walk through today.
  25. 02:29Um there are two ways to improve customer or user satisfaction of a voice AI assistant and that is by increasing accuracy which people know about I mean technically accuracy
  26. 02:43and the other is a different knob that we have that we are not using adequately and I'll call that a system decision which we will define which is orthogonal
  27. 02:54which is different from accuracy and I believe This approach which I have used in several different environments and seen some success I think is a promising area that we should consider developing.
  28. 03:10Um let me walk through this with a simple smart speaker example and we'll go step by step with this approach but it is a scalable approach that I think
  29. 03:22uh can apply across different surfaces and devices.
  30. 03:25So let's get started.
  31. 03:27So suppose we all you know are making a smart speaker coincidentally called uh Alexa and Alexa is very simple.
  32. 03:37It just allows you to you know ask for music and it'll play a song and of course it will play either the song you wanted or a different song.
  33. 03:46So it'll be right or it'll be wrong.
  34. 03:48This isn't that different from what you've seen out there.
  35. 03:51Um now let's to first talk about accuracy.
  36. 03:55Accuracy.
  37. 03:56Let's say we define it as we you know take a thousand spoken requests.
  38. 04:00We observe the input and the output.
  39. 04:02We label it and we look at this.
  40. 04:05This is the map of a thousand points and 79% of the time 790 dots here were actually the correct song.
  41. 04:13This is let's say human annotated 20% 21% wrong song.
  42. 04:19So that's the accuracy.
  43. 04:21Now, like I said, knob one is to spend a lot of time working on improving the accuracy, you know, um, percentage point by percentage point at any layer in the stack.
  44. 04:33There's, if it's a cascaded system, you know, there's a perhaps a wakeword layer and a speech ASR layer and a NLU layer which might have intent classification, entity extraction, a lot of different layers, VAD, etc. And any of those can contribute to errors.
  45. 04:48So we spent time we might be able to reduce that 210 to a smaller number that is I think a known area that we're tackling but I think knob 2 which is what I was talking about is what we'll go through here which is keeping the accuracy exactly the same.
  46. 05:06So 79% what could we do in conditions of uncertainty to improve user satisfaction apparent and I I think we can do a lot.
  47. 05:15So let's start first with the original system is just acting like I said user says something system plays a song it's either the right song or the wrong song
  48. 05:24immediately I think just common sense tells us that we could introduce at least one system behavior to stop or rather to reject the hypothesis and do nothing.
  49. 05:33So uh there is now one more option to decide the system may decide and say sorry I didn't get that or sorry could you repeat that?
  50. 05:42Uh the challenge of course is how how when do we decide to stop and I mean quantitatively.
  51. 05:50Um here's one approach to kind of visualizing this because if we don't we'll just take probably some swag like some guesstimate and I'll prove that if we just took a guesstimate
  52. 06:01we would end up with a worse situation than a more rigorous approach.
  53. 06:05So let's just assume I took those thousand data points and like I said they've been annotated and we assign a confidence score a single confidence score to the hypothesis
  54. 06:15that was generated by the system you know between zero and one and let's say it's reasonably calibrated.
  55. 06:20This is a simplification of if it's a cascaded system there are multiple layers and multiple you know confidence scores but let's just assume that for now.
  56. 06:27Whoops.
  57. 06:28So we're going to have 790 points 200 that are correct 210 wrong.
  58. 06:33Each one has a confidence score and we're going to plot it, you know, plot the distributions.
  59. 06:38Uh on the x-axis, I've just converted from 0ero to one to percentages.
  60. 06:43And the question is how do we choose a threshold t such that whatever that percentage is um to the left of it meaning if when the system um forms a hypothesis
  61. 06:57if the confidence score c is less than that t stop and say sorry otherwise play question is how do we choose a t so far everything I'm saying is fairly common sensical but this is where
  62. 07:09um intuition will fail us we might say something like okay I don't know let's do 65%.
  63. 07:16It seems you know gut feeling like okay it's kind of confident that's probably when we should speak.
  64. 07:21Um now here's where we start coming out with some sophistication.
  65. 07:26Any tea we choose is producing bad outcomes.
  66. 07:30Bad in the in two fields.
  67. 07:32One is obviously on the left side anytime you stop it's bad.
  68. 07:37The user doesn't want it to stop.
  69. 07:38He wants to they want to hear their song.
  70. 07:41The other bad is if you do play a wrong song, of course that's bad as well.
  71. 07:47So these are two two kinds of bad outcomes.
  72. 07:50But here's the important part.
  73. 07:52Now I've like elaborated on the um tree diagram on the right hand side.
  74. 07:58The bad outcomes are not equally bad.
  75. 08:01They're not the same thing from a user perspective.
  76. 08:03And obviously let's let's think about it.
  77. 08:06If the wrong song plays, you said play kiss and it starts playing kiss by Chris Brown instead of the one by Prince.
  78. 08:16That's going to be um the highest user cost.
  79. 08:20Now I'm defining user cost from the user's perspective.
  80. 08:23First I have to like hear music and realize that is not Prince.
  81. 08:27Then I have to shout over my Alexa and um you know get it to stop and then I have to re-request.
  82. 08:34All of that is a lot of effort.
  83. 08:35that is definitely a worse outcome than the system stopping and saying sorry I didn't understand that however we should go further and try to quantify that relative badness and there many ways to do it and I think this is an area to be explored for now let's just consider this a heristic
  84. 08:53of if that outcome happens how many more seconds additional seconds will it take for the user to get back to success which is to play the song they wanted kiss by Prince
  85. 09:04and I'm I just put down some numbers here.
  86. 09:07Let's say in the case of a bad song, it's 10 seconds if you add up all the things I got to do.
  87. 09:11And if it's a I didn't understand you, it's 4 seconds because that's how long it would take you to respe and and the extra latency.
  88. 09:19And now here's where we can start utilizing that.
  89. 09:23If we go back to our distribution curve on trying to find out where is T. Now we've basically turned this into a problem of minimizing a cost function.
  90. 09:34It's a user cost function.
  91. 09:36It is the number of bad acts wherever that whatever the t causes times 10 because that was a unit cost we gave plus the number of stops times four because that's the the
  92. 09:46unit cost we gave.
  93. 09:48By the way, one thing I should have elaborated because I work in voice and we like language and we like puns.
  94. 09:54So this whole thing is called an outcome user cost heruristic.
  95. 09:59So that spells the word ouch and that is some expression of pain.
  96. 10:03Yes, we are you know language nerds.
  97. 10:06So these kinds of things amuse us.
  98. 10:07Um so now let's consider that is the cost function is to minimize the ouch.
  99. 10:12And now um that let's see if uh I'm going to bring up a tool.
  100. 10:17Let's see if this works.
  101. 10:20Where I have actually gotten or with one of my coding assistants gotten uh an interactive um graph where we have actually plotted those thousand points and as we vary
  102. 10:36the threshold t you can see that the total user cost here which is that function of you know x * y + a * b actually changes.
  103. 10:46So let's in the very beginning when we said the system was just playing the the cost across those thousand points was 2100 or divided by a,000 is 2.1 ouch points per turn.
  104. 11:01Then we said okay let's insert a stop behavior and let's like wing it and say 65%.
  105. 11:07That's when I want the threshold.
  106. 11:09If we brought this up to 65 yeah that's better.
  107. 11:12Now it's 1904 or 1.9 per turn, but it's not optimal.
  108. 11:17As it turns out, if we do actually um ask for the AI to solve the uh the problem across this curve, it turns out 43%.
  109. 11:27So I'll drag it now to 43 is in fact the optimal optimal point of t. This minimizes the cost function.
  110. 11:40You can see it's the lowest point on this graph down here to 1 27.
  111. 11:45So effectively we haven't changed the accuracy at all.
  112. 11:49The system is not any smarter in that sense.
  113. 11:51But with some clever system behavior, conversational behavior is what we'd call it and some optimization and a cost function called ouch.
  114. 12:00Um we have from the user's perspective produced a more satisfactory assistant.
  115. 12:06And this is not a trivial you know accomplishment.
  116. 12:09Okay.
  117. 12:10Now, let me go back to this.
  118. 12:12[clears throat] Let me see if I can get this.
  119. 12:14Oh, great.
  120. 12:16Okay, let's continue this.
  121. 12:18Let's continue this with by now adding one more behavior.
  122. 12:22Let's call it the confirm behavior.
  123. 12:23So, there was play obviously, then stop, confirm.
  124. 12:26Confirm is basically the system after you said something saying uh kiss play kiss by Prince or maybe play kiss by Chris Brown.
  125. 12:36And uh you know the user can either confirm like affirm it or they can correct it.
  126. 12:41It is a different kind of behavior and again this is kind of how humans behave.
  127. 12:45Um that's obviously the inspiration.
  128. 12:48Now if we go back to our problem of optimization, we have a third obviously um option which is to confirm.
  129. 12:56And so this would translate to two thresholds um two thresholds which are separating the distribution into three spaces of stop, confirm and uh act.
  130. 13:11And the question is now where are these T's?
  131. 13:14and we have now given up on guesstimating because we know it doesn't work.
  132. 13:18So we're going to be a lot smarter and go back to the concept of user outcome cost and then you know use it go look for some optimization in that graph.
  133. 13:29So let's uh define what are the what are all the possible bad outcomes that t1 and t2 um make for.
  134. 13:37So good you can see my cursor.
  135. 13:39So uh of course any stops are still bad.
  136. 13:43Then in the middle are confirmations.
  137. 13:46Confirmations are bad because they slow the user down.
  138. 13:49There is a confirmation outcome called confirm yes where they just affirmed it by saying yeah or no where they had to correct it.
  139. 13:57And going back to our formula these outcomes are not equally bad.
  140. 14:04And in fact, nobody will, I think, argue here from a user's perspective.
  141. 14:08Affirming, just saying yes is obviously less painful than saying no and then having to restate whatever it is that you wanted in the first place.
  142. 14:16So now we I've assigned values of two or six.
  143. 14:19And again, I said it was a heristic.
  144. 14:21This would be roughly the amount of time it would take for the extra for the user to get to the song they want.
  145. 14:26Saying listening and then saying yes is like two seconds.
  146. 14:30Um and then now uh we restate the cost function for this you know added behavior as this number of you know bad type one times unit cost bad type plus bad type two times unit cost etc.
  147. 14:47And now we try to minimize this user cost function and minimize the ouch.
  148. 14:53Yes, I'm going to keep doing that pun.
  149. 14:56Um let's go back.
  150. 14:58So this is now the interactive graph but with um the cost values the unit costs here 10264 and uh you know we're just going to ask the AI to tell us here's the heat map because it's now two dimensions saying that the optimal values
  151. 15:19are 41 for the the T1 and 49 for the T2 and if we employed that then we would go to 1464.
  152. 15:31Uh, by the way, whatever numbers I put in here, like let's say I thought wrong act was 20.
  153. 15:37It's really irritating and painful and takes way longer to actually correct it when you hear a wrong song.
  154. 15:44That would change you know all these numbers uh and the optim optimal point.
  155. 15:48So again it is about how what is the relative badness of these outcomes also of course the distribution curves naturally.
  156. 15:55Uh let's go back here.
  157. 15:57Okay.
  158. 15:58So, um I'm gonna speed up a little bit.
  159. 16:04Uh let's go back here.
  160. 16:07Presentation mode.
  161. 16:09Okay.
  162. 16:10So, what have we shown that if we did the super naive approach, it's 2.1 act and stop 1.9 then 1.27 then 1.26.
  163. 16:22We are able to bring this with every added layer of sophistication, adding more behaviors, being smart about outcome, uh, user cost and optimizing.
  164. 16:31Um, we have made a tremendous difference without changing the accuracy at all.
  165. 16:37Um, this was a super simplified example.
  166. 16:39In real systems, you're not going to have obviously some offline decision threshold or two.
  167. 16:45It's going to be a real time, you know, learned decision model.
  168. 16:48But the principle is the same.
  169. 16:50And I believe this is uh scalable across all voice AI surfaces.
  170. 16:55Obviously this is a smart speaker but if we go across any of these surfaces you will find the equivalence.
  171. 17:03If we um we will find the analogies with some differences but the spirit and the I think the the gain will be similar.
  172. 17:14So just for example in the TV AI assistant space if you employ it here it's going to you're going to have the same thing when users express intents like on TV it's you know open a channel that's one of the most common obviously
  173. 17:30um requests on a TV voice assistant same thing you're going to find you'll have exactly the same approach but the difference will be maybe in the the assignments of the user outcomes because the UI and the modalities are different when you have a TV you have a multimodal interface where
  174. 17:48choices can be shown.
  175. 17:50So instead of you know asking did you mean ABC you know uh news live by speech that you will the system would display choices and not just one it show ABC News live this that would be the confirm step and if it's visual and you can use your remote control to select something
  176. 18:09it's less pain so you would change some of these values or if in fact launching the channel would kick you out of your current state then it would go in the other direction than cost of you know a bad act would go much higher.
  177. 18:23So it's the same concept but in this new modalities um variables can change, values can change, arguments can change but the premise still holds and you can improve from the user's perspective because we're all about you know making humans happy.
  178. 18:40Um you can make them happier and this as I said in conclusion can be applied across all surfaces.
  179. 18:49I did say at the very beginning, just to recap for us, that voice is great when it works, bad when it doesn't.
  180. 18:57And as we get into embodied AI, where these AI assistants are taking actions, physical or even digital, like making a phone call or sending an email, it is getting more and more difficult just to rely on accuracy to improve user satisfaction.
  181. 19:14I believe there's a whole knob the second knob called smarter conversational behavior under uncertainty and um if we actually exploit that we can uh very much help these AI systems
  182. 19:30reach a acceptable user experience otherwise I think this will continue to be a bottleneck like a lot of things will get better but if the voice interface as experienced by user
  183. 19:43does not improve it is going to be a a a choke point.
  184. 19:47And um if you just remember one word or two words from this whole um presentation, it would be to minimize the ouch of the experience.
  185. 19:59Um so thank you.
  186. 20:01I'll stick around for questions if you guys got any.
  187. 20:04Thanks a lot.
  188. 20:06[applause]
  189. 20:21[music]