CN112868060A - 用户、自动化助理和其它计算服务之间的多模态交互 - Google Patents

用户、自动化助理和其它计算服务之间的多模态交互 Download PDF

Info

Publication number
CN112868060A
CN112868060A CN201880094239.6A CN201880094239A CN112868060A CN 112868060 A CN112868060 A CN 112868060A CN 201880094239 A CN201880094239 A CN 201880094239A CN 112868060 A CN112868060 A CN 112868060A
Authority
CN
China
Prior art keywords
automated assistant
dialog state
data indicative
computing service
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880094239.6A
Other languages
English (en)
Inventor
乌拉什·基拉兹吉
亚当·科英布拉
亚伯拉罕·李
董伟
特胡尚·阿马拉西里瓦德纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN112868060A publication Critical patent/CN112868060A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文描述了用于用户、自动化助理和其它计算服务之间的多模态交互的技术。在各种实现方式中,用户可以与自动化助理接洽以便进一步与第三方计算服务接洽。在一些实现方式中,用户可以使用口头输入模态和除口头模态以外诸如视觉/触觉模态的输入模态两者来前进通过与第三方计算服务相关联的对话状态机。

Description

用户、自动化助理和其它计算服务之间的多模态交互
背景技术
人类可以参与与在本文中称为“自动化助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人话音助理”、“谈话代理”等)的交互式软件应用的人机对话。例如,人类(其在他们与自动化助理交互时可以被称为“用户”)可以使用自由形式自然语言输入来提供命令、查询和/或请求(在本文中统称为“查询”),该自由形式自然语言输入可以包括被转换成文本并且然后被处理的有声话语和/或键入的自由形式自然语言输入。在许多情况下,必须首先例如使用预定义口头调用短语来“调用”自动化助理。
存在能够与自动化助理交互的许多计算服务(也称为“软件代理”或“代理”)。这些计算服务常常由将在本文中被称为“第三方”(或“第三方开发者”)的人开发和/或提供,因为提供计算服务的实体常常不直接与提供自动化助理的实体紧密联系。然而,计算服务不限于由第三方开发的计算服务,并且可以由实现自动化助理的同一实体实现。计算服务可以被配置成解析各种不同的用户意图,其中的许多意图可能无法由自动化助理解析。此类意图可以涉及但是当前不限于控制或配置智能设备、接收用于执行任务的分步指令以及与在线服务交互。因此,许多自动化助理可以同时地与用户和第三方计算服务两者交互,从而有效地作为用户与第三方之间的调解者或中介。
一些第三方计算服务可以依照对话状态机操作,这些对话状态机有效地定义多个状态以及那些状态之间的转变,这些转变是基于从用户和/或在别处(例如,传感器、web服务等)接收到的各种输入而发生。当用户在与第三方计算服务的一个或多个对话“轮次(turn)”期间(通过自动化助理作为调解者)提供(口头的或键入的)自由形式自然语言输入时,与第三方计算服务相关联的对话状态机将在各种对话状态之间前进。最终,对话状态机可以达到解析用户的意图的状态。
发明内容
随着自动化助理变得更普遍,专门地设计用来促进与自动化助理交互的计算设备—在本文中称为“助理设备”—正变得更平凡。许多助理设备使得用户能够参与与自动化助理的无接触交互。例如,助理设备常常包括允许用户提供有声话语作为输入的麦克风。附加地,越来越多的助理设备现在包括显示能力。
因此,在本文中描述了用于用户、自动化助理和其它计算服务之间的多模态交互的技术和框架。更特别地但不排他地,本文描述的一些实现方式允许用户使用除口头自由形式自然语言输入以外的输入模态如视觉/触觉模态来前进通过与第三方计算服务相关联的对话状态机。如本文所使用的,“口头”将是指能够由用户通过与键盘交互和/或通过提供有声话语(其可以使用语音辨识被转换为文本内容)来提供的自由形式自然语言输入。附加地或替换地,本文描述的一些实现方式允许用户触发与和第三方计算服务相关联的图形用户界面的无接触交互。在本文中设想了其它变型。提供用于使得用户能够使用口头输入和非口头输入两者的组合来与第三方服务交互的机制可以促进由健全用户和具有各式各样残疾的用户两者对第三方服务的访问(并且可以减少对于服务的特殊适配版本的需要)。这不仅是因为该机制可以使得用户能够以最适于他们的方式与第三方服务交互。
在一些实现方式中,自动化助理可以包括客户端部分和服务器部分。自动化助理的客户端部分可以作为“助理应用”在客户端设备(例如,智能电话、智能手表、助理设备等)上操作。自动化助理的服务器部分可以在一个或多个服务器上操作,这些服务器有时在本文中被称为“云”计算系统或“云”。在各种实现方式中,客户端设备可以包括显示器,该显示器例如由自动化助理的客户端部分使用来渲染图形用户界面(“GUI”)。在一些实现方式中,GUI可以采取嵌入式web浏览器的形式,该嵌入式web浏览器基于由第三方计算服务提供的基础标记语言(例如,HTML、XML)来渲染图形。GUI的提供可以使得用户能够以比单独通过音频交互可能的更高效方式与第三方计算服务交互。
在用户正在与自动化助理接洽以便进一步与第三方计算服务接洽的一些实现方式中,第三方计算服务可以依照口头对话状态机和/或视觉对话状态机与用户接洽。口头对话状态机可以支配用户与计算服务之间的口头对话,其中用户提供键入和/或有声自由形式自然语言输入。视觉对话状态机可以支配作为沉浸式体验的一部分在GUI上渲染的东西。在一些此类实现方式中,可以将口头对话状态机的一个或多个口头对话状态链接到视觉对话状态机的一个或多个视觉对话状态,使得当口头对话达到特定状态时渲染特定GUI,并且/或者当用户以特定方式与GUI交互以使视觉对话状态机前进到特定视觉对话状态时,口头对话自动地前进到特定状态。
在一些实现方式中,用户可以能够使用通过自动化助理的服务器部分来灌进的口头命令或其它无接触输入(指示用户的意图)来与由第三方计算服务提供的GUI无接触交互。例如,假设用户(通过自动化助理)与允许控制智能家居设备的第三方计算服务接洽。可以在GUI上例如在GUI的多个块片内呈现与控制/配置智能家居设备有关的各种选项。除了能够选择这些块片中的一个(例如,使用鼠标或触摸屏)之外,用户还能够通过发出口头命令如“Let’s configure my device(让我们配置我的设备)”或“I need help(我需要帮助)”来选择这些块片中的一个。这可以触发与GUI的无接触交互,该无接触交互前进到界面模块,该界面模块允许用户配置设备或提供可选FAQ的列表。作为另一示例,用户可以通过发出口头命令如“scroll down one screen(向下滚动一个屏幕)”或“move to the nextparagraph(移动到下一个段落)”来浏览作为GUI的一部分渲染的文档。除了通过自动化助理的服务器部分将口头命令/其它无接触输入灌进到第三方计算服务之外,还可以经由自动化助理的服务器部分引导从第三方计算服务到客户端设备的所有数据和命令。这可以用来增加客户端设备的安全性,因为自动化助理的服务器部分可以防止源自第三方计算服务或者经由第三方计算服务接收的恶意消息等到达客户端设备。
在一些实现方式中,用户可以与由第三方计算服务提供的GUI交互以便前进通过视觉对话状态机和口头对话状态机两者。作为一个示例,用户可以操作GUI来放大特定对象,然后提供诸如“What’s this?(这是什么?)”的口头查询。通过将GUI聚焦在特定对象上,用户还使口头状态机前进到特定对象聚焦的状态。因此,可以将查询“What’s this?”中的术语“this”解析为特定对象。
作为另一示例,假设第三方计算服务提供基于多选择轮次的对话(例如,与用于执行任务的分步指导有关)。对于特定问题,在客户端计算设备处渲染的GUI可以对应于第三方计算服务的视觉对话状态机的特定状态,并且可以包括多选择问题和答案选择。同时,可以依照第三方计算服务的口头对话状态机提供口头自然语言输出。口头自然语言输出可以例如大声读出多选择问题(并且在一些情况下,也经历答案选择)。在一些实现方式中,用户可以通过选择屏幕上的答案选择中的一个或者通过提供指示特定答案选择的有声话语来使视觉对话状态机和口头对话状态机两者前进到不同的相应状态(例如,前进到下一个问题)。
本文描述的技术可以产生各种技术优点和益处。作为一个示例,基于自由形式输入解释和/或执行意图匹配占用相当多的计算资源。通过使得用户能够以触觉方式与预定义图形元素交互以使与自动化助理的谈话前进,可以保存这些资源,既不必执行解释/意图匹配,又使得能实现与第三方计算服务相关联的对话状态机的高效遍历。电力和计算资源的这种浪费或另外低效或不必要的使用可以在客户端计算设备它本身处和/或在诸如操作自动化助理的服务器部分的一个或多个网络服务器的远程计算装置处发生。另外,与远程计算装置的不必要通信在通信网络上引起不想要的负载。作为另一示例,通过将平台无关web浏览器嵌入到自动化助理的客户端部分中,第三方开发者能够提供视觉内容以便以统一方式伴随他们的计算服务。这可以使得能够跨越各式各样客户端设备提供计算服务和视觉内容,而无需为特定客户端设备专门地配置机制/进程。
在一些实现方式中,提供了一种包括至少一个客户端计算设备的系统。客户端计算设备具有显示器并实现自动化助理的客户端部分。该系统还包括实现自动化助理的服务器部分的一个或多个服务器计算设备。用户与客户端部分交互以参与用户、自动化助理和第三方计算服务之间的人机对话会话。第三方计算服务依照语音对话状态机和视觉对话状态机与用户接洽。自动化助理的客户端部分被配置成通过自动化助理的服务器部分从第三方计算服务接收指示视觉对话状态机的第一视觉对话状态的数据。自动化助理的客户端部分被进一步配置成基于第一视觉对话状态在显示器上渲染与人机对话会话相关联的图形用户界面。该图形用户界面包括至少一个图形元素,该至少一个图形元素可操作来使口头状态机从与第一视觉对话状态相对应的第一口头对话状态转变到第二口头对话状态。自动化助理的客户端部分被进一步配置成检测用户对至少一个图形元素的操作。自动化助理的客户端部分被进一步配置成向自动化助理的服务器部分提供指示至少一个图形元素的操作的数据。自动化助理的服务器部分被配置成向第三方计算服务提供指示至少一个图形元素的操作的数据。指示至少一个图形元素的操作的数据使第三方计算服务从第一口头对话状态转变到第二口头对话状态。
本文公开的技术的这些和其它实现方式可以任选地包括以下特征中的一个或多个。
在一些实现方式中,自动化助理的服务器部分可以被进一步配置成从第三方计算服务接收指示第二口头对话状态的数据,并且向自动化助理的客户端部分提供指示第二口头对话状态的数据。在一些实现方式中,指示第二口头对话状态的数据可以包括文本或音频数据。在那些实现方式中的一些中,客户端设备可以被进一步配置成,响应于接收到指示第二口头对话状态的数据,将文本转换为语音并且可听见地渲染语音,或者可听见地渲染音频数据。
在一些实现方式中,将指示至少一个图形元素的操作的数据从自动化助理的服务器部分提供给第三方计算服务可以使第三方计算服务从第一视觉对话状态转变到第二视觉对话状态。在那些实现方式中的一些中,第二视觉对话状态可以对应于第二口头对话状态。在那些实现方式中的一些中,自动化助理的客户端部分可以被进一步配置成通过自动化助理的服务器部分从第三方计算服务接收指示第二视觉对话状态的数据,并且基于第二视觉对话状态在显示器上渲染与人机对话会话相关联的更新的图形用户界面。在那些实现方式中的一些中,指示第二视觉对话状态的数据可以使客户端设备自动地执行无接触交互以渲染所述更新的图形用户界面。在那些实现方式中的一些中,无接触交互可以包括以下各项中的一个或多个:操作图形用户界面的可选元素,滚动到在图形用户界面中渲染的文档的特定位置;以及放大图形用户界面的一部分。
在一些实现方式中,在第三方计算服务已从第一口头对话状态转变到第二口头对话状态之后,自动化助理的客户端部分可以被进一步配置成在客户端计算设备的一个或多个输入组件处从用户接收口头自由形式输入,向自动化助理的服务器部分提供指示口头自由形式输入的数据,并且从自动化助理的服务器部分接收指示显示上下文的数据。自动化助理的服务器部分可以基于给第三方计算服务提供指示有声自由形式输入的数据或者给第三方计算服务提供基于指示有声自由形式输入的数据的附加数据来从第三方计算服务获得指示显示上下文的数据。第三方计算服务可以基于所接收到的数据或附加数据并且基于转变到的第二口头对话状态来生成指示显示上下文的数据。自动化助理的客户端部分可以被进一步配置成基于所接收到的显示上下文在图形用户界面处触发无接触交互。
在一些实现方式中,无接触交互可以包括以下各项中的一个或多个:操作图形用户界面的可选元素;滚动到在图形用户界面中渲染的文档的特定位置;以及放大图形用户界面的一部分。
在一些实现方式中,提供了一种包括至少一个客户端计算设备和一个或多个服务器计算设备的系统。客户端计算设备具有显示器并实现自动化助理的客户端部分。该系统还包括实现自动化助理的服务器部分的一个或多个服务器计算设备。用户与客户端部分交互以参与用户、自动化助理和第三方计算服务之间的人机对话会话。自动化助理的客户端部分被配置成在客户端计算设备的显示器上渲染与人机对话会话相关联的图形用户界面。自动化助理的客户端部分被进一步配置成在客户端计算设备的一个或多个输入组件处从用户接收有声自由形式输入。自动化助理的客户端部分被进一步配置成向自动化助理的服务器部分提供指示有声自由形式输入的数据。自动化助理的客户端部分被进一步配置成从自动化助理的服务器部分接收指示显示上下文的数据。自动化助理的客户端部分被进一步配置成基于显示上下文触发用户与图形用户界面之间的无接触交互。自动化助理的服务器部分被配置成基于指示有声自由形式输入的数据确定用户的意图。自动化助理的服务器部分被进一步配置成向第三方计算服务提供指示意图的数据。指示意图的数据使第三方计算服务解析意图以生成解析信息。自动化助理的服务器部分被进一步配置成响应于指示意图的数据的提供而从第三方计算服务接收显示上下文。针对第三方计算服务与人机对话会话相关联地维护显示上下文,并且至少部分地基于用户的意图和解析信息中的一种或两种更新显示上下文。
本文公开的技术的这些和其它实现方式可以任选地包括以下特征中的一个或多个。
在一些实现方式中,图形用户界面可以包括嵌入到自动化助理的客户端部分中的web浏览器。在一些实现方式中,无接触交互可以包括以下各项中的一个或多个:操作图形用户界面的可选元素;滚动到在图形用户界面中渲染的文档的特定位置;以及放大图形用户界面的一部分。
在一些实现方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:在具有显示器的客户端设备处实现自动化助理的客户端部分。该方法还包括:在一个或多个服务器计算设备处,实现自动化助理的服务器部分。用户与客户端部分交互以参与用户、自动化助理和第三方计算服务之间的人机对话会话。第三方计算服务依照口头对话状态机和视觉对话状态机与用户接洽。该方法还包括:在客户端部分处,通过自动化助理的服务器部分从第三方计算服务接收指示视觉对话状态机的第一视觉对话状态的数据。该方法还包括:由客户端部分基于第一视觉对话状态在显示器上渲染与人机对话会话相关联的图形用户界面。该图形用户界面包括至少一个图形元素,该至少一个图形元素可操作来使口头状态机从与第一视觉对话状态相对应的第一口头对话状态转变到第二口头对话状态。该方法还包括:由客户端部分检测用户对至少一个图形元素的操作。该方法还包括:由客户端部分向自动化助理的服务器部分提供指示至少一个图形元素的操作的数据。该方法还包括:由服务器部分向第三方计算服务提供指示至少一个图形元素的操作的数据。指示至少一个图形元素的操作的数据使第三方计算服务从第一口头对话状态转变到第二口头对话状态。
本文公开的技术的这些和其它实现方式可以任选地包括以下特征中的一个或多个。
在一些实现方式中,该方法还可以包括:由服务器部分从第三方计算服务接收指示第二口头对话状态的数据;以及由服务器部分向自动化助理的客户端部分提供指示第二口头对话状态的数据。在一些实现方式中,将指示至少一个图形元素的操作的数据从自动化助理的服务器部分提供给第三方计算服务可以使第三方计算服务从第一视觉对话状态转变到第二视觉对话状态。
在一些实现方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:通过至少部分地由一个或多个处理器实现的计算服务从自动化助理接收指示与自动化助理通信的计算设备的用户的意图的数据作为用户与自动化助理之间的人机对话会话的一部分。该方法还包括:解析用户的意图以生成解析信息。该方法还包括:更新针对计算服务与人机对话会话相关联地维护的显示上下文。更新至少部分地基于意图和解析信息中的一种或两种。该方法还包括:向自动化助理提供指示显示上下文的数据。指示显示上下文的数据由自动化助理提供给计算设备并且使在计算设备上执行的助理应用触发用户与助理应用的图形用户界面之间的无接触交互。
本文公开的技术的这些和其它实现方式可以任选地包括以下特征中的一个或多个。
在一些实现方式中,图形用户界面可以包括嵌入在助理应用中的web浏览器。在一些实现方式中,无接触交互可以包括以下各项中的一个或多个:操作图形用户界面的可选元素;滚动到在图形用户界面中渲染的文档的特定位置;以及放大图形用户界面的一部分。在那些实现方式的一些中,指示用户的意图的数据可以包括由用户在计算设备处提供的有声自由形式输入的语音辨识输出。在一些实现方式中,该方法还可以包括:由计算服务基于语音辨识输出确定用户的意图。
其它实现方式可以包括一种非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储指令,这些指令可由一个或多个处理器(例如,中央处理器(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))执行以执行诸如在上面和/或在本文中别处描述的方法中的一种或多种的方法。仍然其它的实现方式可以包括一个或多个计算机的系统,这一个或多个计算机包括可操作来执行存储的指令以执行诸如在上面和/或在本文中别处描述的方法中的一种或多种的方法。
应该领会,在本文中更详细地描述的上述构思和附加构思的所有组合都被设想为是本文公开的主题的一部分。例如,在本公开的结尾处出现的要求保护的主题的所有组合都被设想为是本文公开的主题的一部分。
附图说明
图1是可以在其中实现本文公开的实现方式的示例环境的框图。
图2描绘依照各种实现方式的可以在自动化助理的客户端部分中实现的组件的示例。
图3和图4描绘如何可以在一个场景中采用本文描述的技术的示例。
图5和图6描绘如何可以在另一场景中采用本文描述的技术的示例。
图7描绘如何可以在又一个场景中采用本文描述的技术的示例。
图8和图9描绘图示根据本文公开的实现方式的示例方法的流程图。
图10图示计算设备的示例架构。
具体实施方式
现在转向图1,图示了可以在其中实现本文公开的技术的示例环境。该示例环境包括一个或多个客户端计算设备106。每个客户端设备106可以执行自动化助理客户端108的相应实例,其在本文中也可以被称为自动化助理的“客户端部分”。可以在经由通常在114处指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备106的一个或多个计算系统(统称为“云”计算系统)上实现一个或多个基于云的自动化助理组件119,其在本文中也可以被统称为自动化助理的“服务器部分”。
在各种实现方式中,自动化助理客户端108的实例通过其与一个或多个基于云的自动化助理组件119的交互,可以形成从用户的角度来看似乎为用户可以在人机对话中与之接洽的自动化助理120的逻辑实例的形式。这样的自动化助理120的一个实例在图1中用虚线描绘。因此应该理解,与在客户端设备106上执行的自动化助理客户端108接洽的每个用户可以实际上与他或她自己的自动化助理120的逻辑实例接洽。为了简洁和简单起见,如在本文中像“为”特定用户“服务”一样使用的术语“自动化助理”将是指在由用户操作的客户端设备106上执行的自动化助理客户端108和一个或多个基于云的自动化助理组件119(其可以在多个自动化助理客户端108之间共享)的组合。也应该理解,在一些实现方式中,自动化助理120可以对来自任何用户的请求做出响应,而不管该用户是否实际上由自动化助理120的那个特定实例“服务”如何。
一个或多个客户端设备106可以包括例如以下各项的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器(其在一些情况下可以包括视觉传感器)、诸如智能电视(或配备有带自动化助理能力的联网加密狗的标准电视)的智能电器,和/或用户的包括计算设备的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代客户端计算设备。诸如独立交互式扬声器(或“智能扬声器”)的一些客户端设备106可以采取助理设备的形式,这些助理设备被主要设计来促进用户与自动化助理120之间的对话。
在一些实现方式中,客户端设备106可以被配备有具有一个或多个视场的一个或多个视觉传感器107,但是这不是必需的。视觉传感器107可以采取各种形式,诸如数码相机、无源红外(“PIR”)传感器、立体相机、RGBd相机等。一个或多个视觉传感器107可以例如由图像捕获模块111使用,以捕获部署有客户端设备106的环境的图像帧(静止图像或视频)。这些图像帧然后可以例如由视觉线索模块1121分析,以检测包含在图像帧中的用户提供的视觉线索。这些视觉线索可以包括但不限于手势、朝向特定参考点的凝视、面部表情、由用户进行的预定义移动等。这些检测到的视觉线索可以被用于各种目的,诸如调用自动化助理120和/或使自动化助理120采取各种动作。
如本文更详细地描述的,自动化助理120经由一个或多个客户端设备106的用户界面输入和输出设备来参与与一个或多个用户的人机对话会话。在一些实现方式中,自动化助理120可以响应于由用户经由客户端设备106之一的一个或多个用户界面输入设备提供的用户界面输入而参与与用户的人机对话会话。在那些实现方式中的一些中,用户界面输入被显式地指向自动化助理120。例如,用户可以口头地提供(例如,键入、讲出)预先确定的调用短语,诸如“OK,Assistant(好的,助理)”或“Hey,Assistant(嘿,助理)”,以使自动化助理120开始主动地侦听或监视键入的文本。附加地或替换地,在一些实现方式中,可以单独或与口头调用短语相结合地基于一个或多个检测到的视觉线索调用自动化助理120。
在一些实现方式中,即便当用户界面输入未被显式地指向自动化助理120时,自动化助理120也可以响应于用户界面输入而参与人机对话会话。例如,自动化助理120可以检查用户界面输入的内容并且响应于在用户界面输入中存在某些术语和/或基于其它线索而参与对话会话。在许多实现方式中,自动化助理120可以利用语音识别来将来自用户的话语转换成文本,并且相应地对该文本做出响应,例如,通过提供搜索结果、一般信息并且/或者采取一种或多种响应动作(例如,播放媒体、启动游戏、点餐等)。在一些实现方式中,自动化助理120能够附加地或替换地在不将话语转换成文本的情况下对话语做出响应。例如,自动化助理120能够将话音输入转换成嵌入,转换成实体表示(其指示存在于话音输入中的一个或多个实体)和/或其它“非文本”表示,并且对这种非文本表示进行操作。因此,在本文中描述为基于从话音输入转换的文本操作的实现方式可以附加地和/或替换地直接对话音输入和/或话音输入的其它非文本表示进行操作。
客户端计算设备106和操作基于云的自动化助理组件119的计算设备中的每一个均可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并执行应用的一个或多个处理器以及促进通过网络进行通信的其它组件。由客户端计算设备106和/或由自动化助理120执行的操作可以跨越多个计算机系统分布。可以将自动化助理120实现为例如在一个或多个位置中通过网络彼此耦合的一个或多个计算机上运行的计算机程序。
如以上所指出的,在各种实现方式中,客户端计算设备106可以操作自动化助理客户端108或自动化助理120的“客户端部分”。在各种实现方式中,自动化助理客户端108可以包括语音捕获模块110、前述图像捕获模块111、视觉线索模块1121和/或调用模块113。在其它实现方式中,语音捕获模块110、图像捕获模块111、视觉线索模块1121和/或调用模块113的一个或多个方面可以例如由一个或多个基于云的自动化助理组件119与自动化助理客户端108分开地实现。例如,在图1中,也存在可以在图像数据中检测视觉线索的基于云的视觉线索模块1122
在各种实现方式中,可以使用硬件和软件的任何组合来实现的语音捕获模块110可以与诸如麦克风109或其它压力传感器的硬件对接以捕获用户的话语的音频记录。可以出于各种目的对此音频记录执行各种类型的处理。在一些实现方式中,可以使用硬件或软件的任何组合来实现的图像捕获模块111可以被配置成与相机107对接以捕获与视觉传感器107的视场相对应的一个或多个图像帧(例如,数码相片)。
在各种实现方式中,视觉线索模块1121(和/或基于云的视觉线索模块1122)可以使用硬件或软件的任何组合来实现,并且可以被配置成分析由图像捕获模块111提供的一个或多个图像帧以检测在一个或多个图像帧中和/或跨越一个或多个图像帧捕获的一个或多个视觉线索。视觉线索模块1121可以采用各种技术来检测视觉线索。例如,在图1中,视觉线索模块1121与视觉线索模型数据库114(其可以与客户端设备106成一体和/或从客户端设备106远程地托管,例如在云中)通信地耦合。视觉线索模型数据库114可以包括例如一个或多个人工智能(或机器学习)模型,这些人工智能(或机器学习)模型被训练来生成指示图像帧中检测到的用户提供的视觉线索的输出。
如先前所提及的,语音捕获模块110可以被配置成例如经由麦克风109捕获用户的语音。附加地或替换地,在一些实现方式中,语音捕获模块110可以被进一步配置成例如使用语音至文本(“STT”)处理技术来将该捕获到的音频转换为文本和/或转换为其它表示或嵌入。附加地或替换地,在一些实现方式中,语音捕获模块110可以被配置成例如使用一个或多个话音合成器将文本转换为计算机合成的语音。然而,因为客户端设备106可能在计算资源(例如,处理器周期、存储器、电池等)方面相对地受约束,所以在客户端设备106本地的语音捕获模块110可以被配置成将有限数目的不同的讲出短语—特别是调用自动化助理120的短语—转换为文本(或转换为其它形式,诸如较低维度嵌入)。可以将其它语音输入发送到基于云的自动化助理组件119,该基于云的自动化助理组件可以包括基于云的文本至语音转换(“TTS”)模块116和/或基于云的STT模块117。
在各种实现方式中,调用模块113可以被配置成例如基于由语音捕获模块110和/或视觉线索模块1121(其在一些实现方式中可以被与图像捕获模块111一起组合在单个模块中)提供的输出来确定是否调用自动化助理120。例如,调用模块113可以确定用户的话语是否有资格作为应该发起与自动化助理120的人机对话会话的调用短语。在一些实现方式中,调用模块113可以分析指示用户的话语的数据,诸如音频记录或结合由视觉线索模块1121检测到的一个或多个视觉线索从音频记录(例如,嵌入)中提取的特征的矢量。在一些实现方式中,当也检测到特定视觉线索时,可以降低由调用模块113采用来确定是否响应于有声话语而调用自动化助理120的阈值。因此,即便当用户提供与适当的调用短语“OKassistant(好的助理)”不同但在语音上稍微类似的有声话语时,该话语也仍然可以在结合视觉线索(例如,讲话者挥手、讲话者直接凝视视觉传感器107等)检测到时被接受为适当的调用。
在一些实现方式中,设备上调用模型可以由调用模块113使用来确定话语和/或视觉线索是否有资格作为调用。可以训练这样的设备上调用模型以检测调用短语/手势的变化。例如,在一些实现方式中,可以使用训练示例来训练设备上调用模型(例如,一个或多个神经网络),每个训练示例包括来自用户的话语的音频记录(或提取的特征矢量)以及指示与话语同时捕获的一个或多个图像帧和/或检测到的视觉线索的数据。
基于云的TTS模块116可以被配置成利用云的实际上无限的资源来将文本数据(例如,由自动化助理120制定的自然语言响应)转换成计算机生成的语音输出。在一些实现方式中,TTS模块116可以将计算机生成的语音输出提供给客户端设备106以例如使用一个或多个扬声器来直接输出。在其它实现方式中,可以将由自动化助理120生成的文本数据(例如,自然语言响应)提供给语音捕获模块110,该语音捕获模块然后可以将文本数据转换成在本地输出的计算机生成的语音。
基于云的STT模块117可以被配置成利用云的实际上无限的资源来将由语音捕获模块110捕获的音频数据转换成文本,然后可以将该文本提供给自然语言理解模块135。在一些实现方式中,基于云的STT模块117可以将语音的音频记录转换为一个或多个音素,然后将一个或多个音素转换为文本。附加地或替换地,在一些实现方式中,STT模块117可以采用状态解码图。在一些实现方式中,STT模块117可以生成用户的话语的多个候选文本解释。在一些实现方式中,STT模块117可以取决于是否存在同时检测到的视觉线索而对特定候选文本解释进行加权或偏置高于其它候选文本解释。例如,假设两个候选文本解释具有类似的置信分数。利用常规的自动化助理120,用户可能被要求在这些候选文本语句之间消除歧义。然而,利用配置有本公开的所选方面的自动化助理120,可以使用一个或多个检测到的视觉线索来“打破平局(break the tie)”。
自动化助理120(特别是基于云的自动化助理组件119)可以包括意图匹配器135、前述TTS模块116、前述STT模块117以及在下面更详细地描述的其它组件。在一些实现方式中,可以在与自动化助理120分开的组件中省略、组合和/或实现自动化助理120的一个或多个模块中的一个或多个。在一些实现方式中,为了保护隐私,可以将自动化助理120的组件中的一个或多个(诸如自然语言处理器122、TTS模块116、STT模块117等)至少部分地实现在客户端设备106上(例如,排除在云之外)。
在一些实现方式中,自动化助理120响应于在与自动化助理120的人机对话会话期间由客户端设备106之一的用户生成的各种输入而生成响应内容。自动化助理120可以(例如,当与用户的客户端设备分开时通过一个或多个网络)提供响应内容以用于作为对话会话的一部分呈现给用户。例如,自动化助理120可以响应于经由客户端设备106提供的自由形式自然语言输入而生成响应内容。如本文所使用的,自由形式输入是由用户制定并且不局限于被呈现以供由用户选择的一组选项。
如本文所使用的,“对话会话”可以包括一个或多个消息在用户与自动化助理120(以及在一些情况下,其它人类参与者)之间的逻辑上自包含交换。自动化助理120可以基于诸如下列的各种信号来区分与用户的多个对话会话:时间在会话之间流逝、用户上下文(例如,位置、在排程会议之前/期间/之后等)在会话之间改变、检测到除用户与自动化助理之间的对话以外的用户与客户端设备之间的一个或多个中间交互(例如,用户切换应用一会儿、用户离开然后返回到独立话音激活的产品)、客户端设备在会话之间锁定/休眠、改变用于与自动化助理120的一个或多个实例对接的客户端设备等。
意图匹配器135可以被配置成基于由用户提供的输入(例如,有声话语、视觉线索等)和/或基于诸如传感器信号、在线信号(例如,从web服务获得的数据)等的其它信号来确定用户的意图。在一些实现方式中,意图匹配器135可以包括自然语言处理器122和前述基于云的视觉线索模块1122。在各种实现方式中,除了基于云的视觉线索模块1122可以具有更多资源由其支配以外,基于云的视觉线索模块1122可以类似于视觉线索模块1121操作。特别地,基于云的视觉线索模块1122可以检测视觉线索,这些视觉线索可以由意图匹配器135单独或与其它信号相结合地使用,以确定用户的意图。
自然语言处理器112可以被配置成处理由用户经由客户端设备106生成的自然语言输入并且可以生成注释输出(例如,采用文本形式)以供由自动化助理120的一个或多个其它组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备106的一个或多个用户界面输入设备生成的自然语言自由形式输入。所生成的注释输出包括自然语言输入的一个或多个注释和自然语言输入的术语中的一个或多个(例如,全部)。
在一些实现方式中,自然语言处理器122被配置成识别并注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括词法模块,该词法模块可以将各个单词分成词素和/或例如按其类而注释词素。自然语言处理器122也可以包括被配置成按其语法角色而注释术语的词性标记器。例如,词性标记器可以按其词性如“名词”、“动词”、“形容词”、“代词”等而标记每个术语。另外,例如,在一些实现方式中自然语言处理器122可以附加地和/或替换地包括被配置成确定自然语言输入中的术语之间的句法关系的依赖性解析器(未描绘)。例如,依赖性解析器可以确定哪些术语修饰其它术语、句子的主语和动词等(例如,解析树)—并且可以对此类依赖性进行注释。
在一些实现方式中,自然语言处理器122可以附加地和/或替换地包括实体标记器(未描绘),该实体标记器被配置成注释一个或多个片段中的实体引用,诸如对人(包括例如文学角色、名人、公众人物等)、组织、位置(真实的和虚构的)等的引用。在一些实现方式中,关于实体的数据可以被存储在一个或多个数据库中,诸如在知识图(未描绘)中。在一些实现方式中,知识图可以包括表示已知实体(并且在一些情况下,表示实体属性)的节点以及连接节点并表示实体之间的关系的边。例如,“banana(香蕉)”节点可以(例如,作为孩子)连接到“fruit(水果)”节点,其进而可以(例如,作为孩子)连接到“product(产品)”和/或“food(食物)”节点。作为另一示例,称作“Hypothetical Café(假想咖啡馆)”的餐馆可以通过也包括诸如其地址、所供食物的类型、营业时间、联系信息等的属性的节点来表示。“Hypothetical Café”节点可以在一些实现方式中通过边(例如,表示儿童与父母的关系)连接到一个或多个其它节点,诸如“restaurant(餐馆)”节点、“business(企业)”节点、表示餐馆所位于的城市和/或州的节点等。
自然语言处理器122的实体标记器可以以高粒度水平(例如,以使得能够识别对诸如人们的实体类的所有引用)和/或较低粒度水平(例如,以使得能够识别对诸如特定人员的特定实体的所有引用)注释对实体的引用。实体标记器可以依靠自然语言输入的内容来解析特定实体并且/或者可以任选地与知识图或其它实体数据库进行通信以解析特定实体。
在一些实现方式中,自然语言处理器122可以附加地和/或替换地包括共指解析器(未描绘),该共指解析器被配置成基于一个或多个上下文线索来对对同一实体的引用进行分组或者“聚类”。例如,可以利用共指解析器来将自然语言输入“I liked HypotheticalCafe last time we ate there(我喜欢上次我们在那里用餐的假想咖啡馆)”的术语“there(在那里)”解析为“Hypothetical Cafe”。
在一些实现方式中,自然语言处理器122的一个或多个组件可以依靠来自自然语言处理器122的一个或多个其它组件的注释。例如,在一些实现方式中,命名实体标记器在注释对特定实体的所有提及时可能依靠来自共指解析器和/或依赖性解析器的注释。另外,例如,在一些实现方式中,共指解析器在对对同一实体的引用进行聚类时可能依靠来自依赖性解析器的注释。在一些实现方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关在先输入和/或在特定自然语言输入之外的其它相关数据来确定一个或多个注释。
意图匹配器135可以使用各种技术来例如基于来自自然语言处理器122的输出(其可以包括自然语言输入的注释和术语)和/或基于来自视觉线索模块(例如,1121和/或1122)的输出确定用户的意图。在一些实现方式中,意图匹配器135可以能够访问包括例如语法、视觉线索与响应动作(或更一般地,意图)之间的多个映射的一个或多个数据库(未描绘)。在许多情况下,这些语法可能随着时间的推移而被选择和/或学习,并且可以表示用户的最常见意图。例如,可以将一种语法“play<artist>(播放<艺术家>)”映射到调用使得在由用户操作的客户端设备106上按<艺术家>播放音乐的响应动作的意图。另一语法“[weather|forecast]today(今日[天气|预报])”可以能够与诸如“what’s the weather today(今日天气怎样)”和“what’s the forecast for today?(今日预报怎样?)”的用户查询匹配。
除了语法之外或代替语法,在一些实现方式中,意图匹配器135可以单独或与一个或多个语法和/或视觉线索相结合地采用一个或多个训练后的机器学习模型。这些训练后的机器学习模型也可以被存储在一个或多个数据库中并且可以被训练来识别意图,例如,通过将指示用户的话语和/或任何检测到的用户提供的视觉线索的数据嵌入到降维空间中,然后例如使用诸如欧几里得距离、余弦相似度等的技术来确定哪些其它嵌入(以及因此,意图)最接近。
如“play<artist>”示例语法中所看到的,一些语法具有能够用槽值(或“参数”)填充的槽(例如,<artist>)。可以以各种方式确定槽值。常常用户将主动地提供槽值。例如,对于语法“Order me a<topping>pizza(为我订购<浇头>披萨)”,用户可能很可能讲出短语“order me a sausage pizza(为我订购香肠披萨)”,在此情况下槽<topping>被自动地填充。附加地或替换地,如果用户调用包括要用槽值填充的槽的语法,则在无需用户主动地提供槽值的情况下,自动化助理120可以从用户恳求那些槽值(例如,“what type of crustdo you want on your pizza?(在你的披萨上你想要什么类型的外皮?)”)。在一些实现方式中,可以基于由视觉线索模块1121-2检测到的视觉线索用槽值填充槽。例如,用户能在向客户端设备106的视觉传感器107举起三只手指的同时发出像“ORDER me this many catbowls(为我订购这么大的猫碗)”一样的东西。或者,用户能在握住特定电影的DVD盒的同时发出像“Find me more movies like this(为我查找更多像这样的电影)”的东西。
在一些实现方式中,自动化助理120可以用作用户与一个或多个第三方计算服务140(或“第三方代理”或“代理”)之间的中介。这些第三方计算服务140可以是接收输入并提供响应输出的独立软件进程。一些第三方计算服务可以采取第三方应用的形式,这些第三方应用可以或可能不在与操作例如基于云的自动化助理组件119的计算系统分开的计算系统上操作。可以由意图匹配器135识别的一种用户意图是接洽第三方计算服务140。例如,自动化助理120可以向用于控制智能设备的服务提供对应用编程接口(“API”)的访问。用户可以调用自动化助理120并提供诸如“I’d like to turn the heating on(我想打开供暖)”的命令。意图匹配器135可以将此命令映射到触发自动化助理120以与第三方服务接洽从而使用户的供暖被打开的语法。第三方服务可以给自动化助理120提供需要被填充以履行(或“解析”)要打开供暖的命令的槽的最小列表。在此示例中,槽可以包括供暖将被设定到的温度以及供暖将持续的持续时间。自动化助理120可以生成自然语言输出并将其提供给用户(经由客户端设备106),该自然语言输出为槽恳求参数。
履行模块124可以被配置成接收由意图匹配器135输出的预测/估计意图以及相关联的槽值(无论是由用户主动地提供还是从用户恳求)并且履行(或“解析”)意图。在各种实现方式中,用户的意图的履行(或“解析”)可以使得例如由履行模块124生成/获得各种履行信息(也称为“响应”信息或“解析信息”)。如将在下面描述的,可以在一些实现方式中将履行信息提供给自然语言生成器(在一些图中为“NLG”)126,该自然语言生成器可以基于履行信息生成自然语言输出。
因为可以各种方式履行(或“解析”)意图,所以履行(或“解析”)信息可以采取各种形式。假设用户请求纯信息,诸如“Where were the outdoor shots of‘The Shining’filmed?(‘闪灵’的室外镜头是在哪里拍摄的?)”用户的意图可以例如由意图匹配器135确定为搜索查询。可以将搜索查询的意图和内容提供给履行模块124,该履行模块像图1中所描绘的那样可以与被配置成在文档的语料库和/或其它数据源(例如,知识图等)搜索响应信息的一个或多个搜索模块150进行通信。履行模块124可以向搜索模块150提供指示搜索查询的数据(例如,查询的文本、降维嵌入等)。搜索模块150可以提供响应信息,诸如GPS坐标或其它更显式的信息,诸如“Timberline Lodge,Mt.Hood,Oregon(俄勒冈州胡德山的山林小屋酒店)”。此响应信息可以形成由履行模块124生成的履行信息的一部分。
附加地或替换地,履行模块124可以被配置成例如从自然语言理解模块135接收用户的意图以及由用户提供或者使用其它手段(例如,用户的GPS坐标、用户偏好等)确定的任何槽值并且触发响应操作。响应动作可以包括例如订购商品/服务、启动定时器、设定提醒、发起电话呼叫、播放媒体、发送消息等。在一些此类实现方式中,履行信息可以包括与履行、确认响应(其在一些情况下可以选自预先确定的响应)等相关联的槽值。
自然语言生成器126可以被配置成基于从各种源获得的数据来生成和/或选择自然语言输出(例如,被设计来模仿人类语音的单词/短语)。在一些实现方式中,自然语言生成器126可以被配置成接收与意图的履行相关联的履行信息作为输入,并且基于履行信息生成自然语言输出。附加地或替换地,自然语言生成器126可以从诸如可以用来为用户组成自然语言输出的第三方应用(例如,所需槽)的其它源接收信息。
图2示意性地演示自动化助理120的客户端部分108(在图1中也称为“自动化助理客户端”)如何可以被配置成促进用户、自动化助理120和第三方计算服务140之间的多模态交互。在图2中,客户端部分108包括一个或多个库242,该一个或多个库可以包括例如特定于自动化助理120的库(例如,libassistant)、投射伴侣库(“CCL”)和/或促进与客户端部分108的沉浸式引擎244交换数据的其它库。
沉浸式引擎244可以实现各种不同的技术,诸如HTML5(包括HTML、CSS和JavaScript)、CSS卡片等,以向与第三方计算服务接洽的用户提供视觉输出(并且因此,以提供更加沉浸式用户体验)。在各种实现方式中,沉浸式引擎244可以包括各种组件,诸如JavaScript控制器246(或其它类似的控制器)和嵌入式浏览器248。在各种实现方式中,嵌入式浏览器248可以例如在与客户端设备106相关联的屏幕上作为GUI渲染。GUI可以包括与涉及用户、自动化助理120和第三方计算服务140的人机对话相关联的信息。例如,在一些实现方式中,第三方计算服务140可以例如经由自动引擎120的服务器部分119提供诸如HTML、XML、CSS等的标记语言数据,其由沉浸式引擎244提供给嵌入式浏览器248以进行视觉再现。可以使用诸如webviews(例如,对于
Figure BDA0002816175440000231
操作系统、对于
Figure BDA0002816175440000232
操作系统)、iframes等的各种不同的技术来实现嵌入式浏览器248。
遵循图2的箭头,首先,用户可以向客户端部分108提供口头自由形式输入。可以键入或讲出此输入。在后者情况下可以分析讲出输入以生成文本语音辨识输出。无论哪一种情况,指示自由形式输入的数据如文本数据都可以由客户端部分108提供给服务器部分119。在某些实现方式中,服务器部分119本身可以试图基于此文本数据确定用户的意图。附加地或替换地,在一些实现方式中,服务器部分119可以将文本数据中继到第三方计算服务140,使得第三方计算服务140能够试图探知用户的意图。
一旦(无论由服务器部分119还是第三方计算服务140)探知到用户的意图,第三方计算服务140就可以解析用户的意图,例如,通过采取响应动作(例如,打开用户的供暖)。附加地,与第三方计算服务140相关联的一个或多个对话状态机可以在各种状态之间转变。例如,可以使视觉对话状态机从一种视觉对话状态转变到另一视觉对话状态,并且也可以使口头对话状态机从一种口头对话状态转变到另一口头对话状态。
如上所述,对用户的意图的解析可以使履行或解析信息被生成。此解析信息可以由第三方计算服务140例如作为混合净荷的一部分提供给服务器部分119。解析信息可以例如由服务器部分119用于执行各种动作,诸如生成自然语言输出。在一些实现方式中,除了解析信息之外,混合净荷还可以包括指示转变到的视觉对话状态的数据,诸如标记语言(例如,HTML、XML),或要以特定方式(例如,放大/缩小、向下滚动、聚焦在特定项目上等)与现有GUI交互的命令。通过提供要以特定方式与现有GUI交互的命令,第三方计算服务140能够通过使客户端部分实现使得与现有GUI交互的命令来控制客户端部分108。
在各种实现方式中,服务器部分119可以将混合净荷的至少一些转发到客户端部分108。例如,在图2中,服务器部分119向客户端部分108提供指示转变到的视觉状态的数据。客户端部分108例如通过沉浸式引擎244,然后可以基于所接收到的视觉状态数据更新由嵌入式浏览器248渲染的GUI。例如,在混合净荷包括要以特定方式与现有GUI交互的命令的情况下,沉浸式引擎244能够使该命令被实现,并且结果,使由嵌入式浏览器248渲染的GUI被更新。通过利用要与现有GUI交互的命令而不是提供表示GUI的更新视图的数据,可以减少需要在客户端设备与第三方计算服务140之间转移以允许GUI被更新的数据。
图3和图4描绘如何可以在特定场景中采用本文描述的技术的一个示例。用户301操作采取独立交互式扬声器的形式的第一客户端设备306A以与自动化助理120接洽。特别地,第一客户端设备306A可以安装有自动化助理120的客户端部分108的实例。在此示例中,第一客户端设备306A缺少板上显示能力。然而,它与形式为智能电视的第二客户端设备306B进行网络通信。在一些实现方式中,可以借助于将具有无线通信能力(例如,Wi-Fi、蓝牙)的“智能加密狗”插入到例如电视的USB或HDMI插槽中来使智能电视变得“智能”。附加地或替换地,电视由于借助于它具有使得它能够例如操作自动化助理120的客户端部分108的另一实例的板上逻辑而可以是内在“智能的”。在一些实现方式中,客户端设备306A和306B可以是例如与用户301的在线简档相关联的客户端设备的同一协调“生态系统”的一部分。在一些实现方式中,在第一客户端设备306A上操作的自动化助理120的客户端部分108的实例可以将其GUI“投射”到第二客户端设备306B上。例如,在第一客户端设备306A上操作的客户端部分108的实例可以将嵌入式浏览器248投射到第二客户端设备306B上。
在图3中,用户301在促进对诸如恒温器或灯开关的调光器的电气设备进行布线时正在与自动化助理120接洽。用于对电气设备进行布线的听觉和视觉指导由第三方计算服务通过与在第一客户端设备306A上操作的自动化助理120的客户端部分108交互来提供。自动化助理120经由第一客户端设备306A提供要求用户301从潜在布线配置的列表中选取他的或她的家中的布线配置的有声输出“What is your wiring configuration?(你的布线配置是什么?)”同时,自动化助理120已使由第三方计算服务提供的GUI被渲染在第二客户端设备306B上。此GUI包括相同的布线配置问题和作为候选答案选择A-C的一系列潜在布线配置。这些候选答案选择A-C可以或能够不由自动化助理120经由第一客户端设备306A大声读出。用户301通过提供话语“Not two-wire(非双线)”来消除候选答案选择A。响应于确定候选答案选择A不正确,第三方计算服务更新与布线配置相关联的口头对话状态机和视觉对话状态机。
或者,如果第二客户端设备306B包括触摸屏并且用户301根据候选答案选择A-C知道正确布线配置,则用户301可能已轻敲他选择的答案。在一些实现方式中,可以至少暂时在视觉上强调所选答案。无论如何,都可以使用以上与自动化助理120的客户端部分108和服务器部分119相关联地描述的各种组件来记录并处理用户301的话语,并且最终将指示由用户301提供的答案的数据提供给第三方计算服务。
同时,第三方计算服务可以基于其视觉对话状态机的更新状态将视觉对话状态数据(例如,作为参考图2描述的混合净荷的一部分)提供给自动化助理120的服务器部分119,其可以进而将视觉对话状态数据提供给自动化助理120的客户端部分108。响应于接收到视觉对话状态数据,自动化助理120的客户端部分108更新在第二客户端设备306B上渲染的GUI以提供所消除的答案A)不正确的视觉指示(例如,使用删除线或其它类似的视觉注释)。然而,用户301仅已消除了候选答案选择A而尚未选择任何一个候选答案选择B-C。
现在参考图4,第三方计算服务可以基于其口头对话状态机的更新状态生成使自动化助理120渲染有声输出“Is one of the wires green?(这些线中的一根是绿色的吗?)”的解析数据。用户301可以通过提供话语“Yes,one of wires is green(是的,这些线中的一根是绿色的)”来响应。第三方计算服务然后可以确定用户301具有带接地线的布线配置,并且基于其口头对话状态机的更新状态,生成使自动化助理120渲染有声输出“Yourwiring configuration is probably three-wire with ground(你的布线配置可能是具有接地的三线)”的解析数据。响应于确定候选答案选项B可能是正确的,第三方计算服务可以更新与它提供的潜在布线配置相关联的口头对话状态机和视觉对话状态机。同时,第三方计算服务可以基于其视觉对话状态机的更新状态将视觉对话状态数据(例如,作为参考图2描述的混合净荷的一部分)提供给自动化助理120的服务器部分119,其可以进而将视觉对话状态数据提供给自动化助理120的客户端部分108。自动化助理120的客户端部分108可以响应于接收到视觉对话状态数据而更新在第二客户端设备306B上渲染的GUI以提供视觉指示并且正确的布线配置可能是具有接地的三线配置或候选答案选择B(例如,使用粗体、下划线、斜体或其它字体或动画来突出显示正确的答案)。
另外,第三方计算服务可以基于其视觉对话状态机的更新状态提供布线图的视觉指示,该布线图包括用于对电气设备进行布线的具有接地的三线连接。这可以包括来自第三方计算服务的用于对具有接地的三线配置进行布线的分步图、来自第三方计算服务的用于对具有接地的三线配置进行布线的视频教程等。
图5和图6描绘如何可以在具体场景中采用本文描述的技术的另一示例。在图5中,采取平板计算设备的形式的客户端设备506当前正在触摸屏570上显示与为用户提供用户能够访问、监视、与之交互并保存与恒温器有关的各种组件和/或配置的界面的第三方计算服务(诸如也与图3和图4中的恒温器设备的布线配置有关的第三方计算服务)有关的GUI。在此示例中,GUI包括一系列块片5561-6(或卡片),这些块片(或卡片)与由第三方计算服务提供的各种组件和/或配置有关,并且允许用户在客户端设备506上与由第三方计算服务提供的可操作内容交互。第一块片5561与由用户家中的恒温器检测到的当前温度有关。第二块片5562与用户的当前账户设定有关。第三块片5563与由用户对恒温器的过去、当前和计划的将来使用有关。第四块片5564使得用户能够联系托管第三方计算服务的第三方以得到与恒温器的操作有关的支持。第五块片5565与由第三方计算服务提供并且用户可以与之交互的恒温器设备的设备配置有关(在设备已在图3和图4中被正确地布线之后)。
在图5中用户已提供了话语“Let’s have a look at the bottom tile(让我们看一下底部块片)”。可以使用先前描述的自动化助理120的各种组件来记录并处理此话语,直到指示用户的意图的数据进入到第三方计算服务为止。第三方计算服务可以相应地更新其视觉对话状态机和其口头对话状态机。特别地,并且如图6中所示,视觉对话状态机被转变到新状态,该新状态放大(即扩大)第五块片5565并且有效地使设备配置变成视觉和/或口头对话状态机的焦点。附加地,第三方计算服务可以提供用于在触摸屏570上显示的多个设备配置选项。因此,在图6中当用户提供附加话语“Let’s do the bottom one(让我们做底部一个)”时,第三方计算服务能够将词语“bottom one(底部一个)”解析为“设定温度”设备配置,并且能够提供关于当前温度的附加信息并且/或者基于环境室温、室外温度或由其他用户频繁地设定的温度为用户建议温度。第三方计算服务经由客户端设备506可以要求用户可听见地或以触觉方式输入特定设定温度。另外,用户可以通过提供“save(保存)”、“save configuration(保存配置)”等的可听输入来保存特定设备配置。或者,用户可以通过轻敲触摸屏570上的“save device configuration(保存设备配置)”来提供触觉输入。
本文描述的技术不限于由第三方开发者提供的计算服务或代理。在一些实现方式中,本文描述的技术可以由自动化助理120它本身采用,例如,作为与自动化助理120紧密联系或甚至形成自动化助理120的一部分的“第一方计算服务”。图7描绘本文技术如何可以由第一方计算服务采用的示例。在图7中,客户端设备706采用具有形式为触摸屏显示器770的显示能力的独立交互式扬声器的形式。在此示例中,显示器770渲染包括与用户潜在相关的各种信息的GUI(未描绘)。最相关是用户需要在45分钟内从足球接约瑟夫的提醒。在各种实现方式中,此提醒可以例如在显示器770上和/或作为在包括客户端设备706的客户端设备的协调生态系统的其它客户端设备上渲染的卡片被自动地推送给用户。
在此提醒下方是将在本文中称为写的是“See all reminders(查看所有提醒)”的“可操作文本”的东西。在各种实现方式中,用户可以例如通过轻敲它来选择可操作文本,或者用户可以讲出与可操作文本—在此示例中为“See all reminders”—相关联的短语并且在任何一种情况下,可以由自动化助理120在显示器770上渲染向用户示出他的或她的提醒的新GUI。从用户的角度来看,此可操作文本可能操作起来似乎类似于超链接。然而,在一些实现方式中,当用户点轻敲此可操作文本时,那不会触发HTTP命令被传送到HTTP服务器以在显示器770上加载新网页。相反,可以将指示用户的轻敲的数据提供给自动化助理120的服务器部分119,其可以将指示用户的轻敲的数据提供给计算服务(第一方或第三方)。计算服务可以解释数据(例如,作为要查看所有提醒的意图)并相应地响应,例如,通过更新其口头和/或视觉对话状态机并且经由服务器部分119向自动化助理120的客户端部分108提供视觉对话状态数据。
在一些实现方式中,自动化助理120可以被配置成甚至在无需首先调用的情况下“侦听”与可操作文本相对应的任何话语。换句话说,当在显示器上呈现可操作文本时,自动化助理120可以侦听传统调用短语(例如,“OK Assistant”)和与显示的可操作文本相关联的话语两者。因此,当面对图7中的GUI时,用户可以使用传统调用短语来调用自动化助理120并且也可以通过讲出(或轻敲)可操作文本“See all reminders”来调用自动化助理120。
在一些实现方式中,可以提供可操作来触发否则可能通过与自动化助理120的有声接洽来触发的其它任务的附加块片或卡片。例如,第一块片7561可操作来使自动化助理120更新其口头对话状态机并且提供描述天气的可听输出。假设用户要跟踪诸如“下周怎么样?”的模糊问题。基于口头对话状态机的当前口头对话状态(其中“weather(天气)”的当前意图可以是活动的),自动化助理120可以将模糊查询解析为像“What’s the weather nextweek(下周天气怎么样)”一样的东西,并且相应地响应。或者,短语“Tell me the weather(告诉我天气)”可以是用户可以讲出(或轻敲)以实现相同目标的可操作文本。
图7中的另一卡片7562可由用户操作来例如经由客户端设备706的扬声器(未描绘)可听见地和/或在显示器770上可视地呈现用户的排程。再一次,文本“What’s on myschedule?(我的排程是什么?)”例如借助于被包封在引号中,可以是用户可以讲出的可操作文本(代替轻敲卡片7562)以达到相同目标。在一些实现方式中,如果用户在卡片7562上轻敲,则那可以使得用户的排程由自动化助理120显示在显示器770上,然而如果用户讲出可操作文本“What’s on my schedule?”,则那可以使自动化助理120可听见地输出用户的排程。
图8是图示根据本文公开的实现方式的示例方法800的流程图。为了方便,参考执行操作的系统描述流程图的操作。此系统可以包括各种计算机系统的各种组件,诸如实现自动化助理120的计算系统的一个或多个组件。此外,虽然以特定次序示出方法800的操作,但是这不意在为限制性的。一个或多个操作可以被重新排序、省略或添加。在一些实现方式中,方法800的操作可以由操作第三方计算服务140的一个或多个计算系统执行,但是这不是必需的。
在框802处,系统可以例如在至少部分地由一个或多个处理器实现的(第一方或第三方)计算服务处从自动化助理(例如,服务器部分119)接收指示与自动化助理通信的计算设备(例如,客户端设备106、306、506、706)的用户的意图的数据作为用户与自动化助理之间的人机对话会话的一部分。例如,数据可以包括基于由用户提供的有声话语而生成的语音辨识输出。附加地或替换地,在一些实现方式中,数据可以包括由自动化助理120的服务器部分119(特别是意图匹配器135)确定的意图。在一些实现方式中,数据可以包括可以是或可能不是计算服务所需要的一个或多个槽值。作为工作示例,可以在显示器上向参与与自动化助理120的人机对话会话的用户呈现文档。用户可以提供(口头地和/或通过在屏幕上向下扫掠)要向下浏览文档例如滚动至下一页的命令。
在框804处,系统例如通过计算服务可以解析用户的意图以生成解析信息。例如,在工作示例中,计算服务可以确定文档的“下一个”部分,以例如在文档的先前显示的部分下方进行显示。计算服务可以生成被设计来使在客户端设备上操作的自动化助理120的客户端部分108更改例如在嵌入式浏览器248中渲染的GUI使得现在显示文档的下一个部分的命令。
在框806处,系统例如通过计算服务可以更新针对计算服务与人机对话会话相关联地维护的显示上下文或视觉对话状态机。在各种实现方式中,框806的更新可以至少部分地基于在框802处确定的意图和在框804处生成的解析信息中的至少一种。
在框808处,系统例如通过计算服务可以将指示经更新的显示上下文或视觉对话状态机的数据提供给自动化助理120,特别是其服务器部分119。在各种实现方式中,指示显示上下文的数据然后可以由服务器部分119提供给计算设备(例如,106、306、506、706)。在各种实现方式中,指示显示上下文的数据可以使在计算设备上执行的助理应用(例如,客户端部分108)触发用户与助理应用的图形用户界面之间的无接触交互。返回参考工作示例,可以更改显示,使得它“向下滚动”到文档的下一个部分,而无需用户触摸任何东西。
图9是图示根据本文公开的实现方式的示例方法900的流程图。为了方便,参考执行操作的系统描述流程图的操作。此系统可以包括各种计算机系统的各种组件,诸如实现自动化助理120的计算系统的一个或多个组件。此外,虽然以特定次序示出方法900的操作,但是这不意在为限制性的。一个或多个操作可以被重新排序、省略或添加。
在框902处,系统可以在具有显示器(例如,306B,570、770)的客户端设备(例如,106、306、506、706)处实现自动化助理120的客户端部分(108)。在框904处,系统可以在一个或多个服务器计算设备处实现自动化助理120的服务器部分(119)。在各种实现方式中,用户可以与客户端部分108交互以参与用户、自动化助理120和第三方计算服务140之间的人机对话会话。在各种实现方式中,第三方计算服务140可以依照口头对话状态机和视觉对话状态机与用户接洽。
在框906处,系统可以例如在客户端部分108处通过自动化助理120的服务器部分119从第三方计算服务140接收指示视觉对话状态机的第一视觉对话状态的数据。在框908处,客户端部分可以基于第一视觉对话状态在显示器上渲染与人机对话会话相关联的图形用户界面。在各种实现方式中,图形用户界面可以包括可操作来使口头状态机从与第一视觉对话相对应的第一口头对话状态转变到第二口头对话状态的至少一个图形元素(例如,按钮、可操作文本等)。
在框910处,客户端部分108可以检测用户对至少一个图形元素的操作。例如,用户可以轻敲图形元素或讲出命令(例如,发出用于与图形元素交互的与可操作文本相关联的短语)。在框912处,客户端部分108可以向服务器部分119提供指示至少一个图形元素的操作的数据(例如,意图)。在框914处,服务器部分119可以向第三方计算服务140提供指示至少一个图形元素的操作的数据。在各种实现方式中,指示至少一个图形元素的操作的数据可以使第三方计算服务140从第一口头对话状态转变到第二口头对话状态。
图10是可以任选地用于执行本文描述的技术的一个或多个方面的示例计算设备1010的框图。在一些实现方式中,客户端计算设备、用户控制的资源模块130和/或其它组件中的一个或多个可以包括示例计算设备1010的一个或多个组件。
计算设备1010通常包括经由总线子系统1012与许多外围设备进行通信的至少一个处理器1014。这些外围设备可以包括存储子系统1024(包括例如存储器子系统1025和文件存储子系统1026)、用户界面输出设备1020、用户界面输入设备1022和网络接口子系统1016。输入和输出设备允许用户与计算设备1010交互。网络接口子系统1016提供到外部网络的接口并且耦合到其它计算设备中的对应接口设备。
用户界面输入设备1022可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板的指点设备、扫描仪、并入到显示器中的触摸屏、诸如话音辨识系统的音频输入设备、麦克风和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备1010中或输入到通信网络上的所有可能类型的设备和方式。
用户界面输出设备1020可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的某种其它机制。显示子系统也可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括将信息从计算设备1010输出到用户或输出到另一机器或计算设备的所有可能类型的设备和方式。
存储子系统1024存储提供本文描述的模块中的一些或全部的功能性的编程和数据构造。例如,存储子系统1024可以包括执行图8-9的方法的所选方面以及实现图1和图2中描绘的各种组件的逻辑。
这些软件模块通常由处理器1014单独或与其它处理器相结合地执行。存储子系统1024中使用的存储器1025能够包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1030和其中存储有固定指令的只读存储器(ROM)1032。文件存储子系统1026能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实现某些实现方式的功能性的模块可以由文件存储子系统1026存储在存储子系统1024中,或者存储在处理器1014可访问的其它机器中。
总线子系统1012提供了用于让计算设备1010的各种组件和子系统按预期彼此通信的机制。尽管总线子系统1012被示意性地示出为单条总线,但是总线子系统的替代实现方式可以使用多条总线。
计算设备1010可以具有各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图10中描绘的计算设备1010的描述仅旨在作为用于图示一些实现方式的目的的具体示例。计算设备1010的许多其它配置可能具有比图10中描绘的计算设备更多或更少的组件。
在本文描述的系统收集或以其它方式监视关于用户的个人信息或者可以利用个人和/或受监视信息的情形下,可以给用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收与用户更相关的内容的机会。另外,某些数据可以在它被存储或使用之前被以一种或多种方式处理,使得个人可识别的信息被去除。例如,可以处理用户的身份,使得对于该用户不能确定个人可识别的信息,或者可以在获得地理位置信息的情况下使用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定地理位置。因此,用户可以控制信息如何关于用户被收集和/或使用。例如,在一些实现方式中,用户可以例如通过禁用视觉传感器107来退出试图检测视觉线索的助理设备。
虽然已在本文中描述并图示了若干实现方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的优点中的一个或多个的各种其它手段和/或结构,并且此类变化和/或修改中的每一个均被视为在本文描述的实现方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和构造都意在为示例性的,并且实际的参数、尺寸、材料和/或构造将取决于使用教导的一个或多个具体应用。本领域的技术人员将认识或者能够使用不止一个例行试验来探知本文描述的具体实现方式的许多等同物。因此,应当理解,前面的实现方式仅通过示例来呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体地描述和要求保护的方式实践实现方式。本公开的实现方式针对本文描述的每个单独的特征、系统、制品、材料、套件和/或方法。另外,如果此类特征、系统、制品、材料、套件和/或方法不是相互不一致的,则在本公开的范围内包括两个或更多个此类特征、系统、制品、材料、套件和/或方法的任何组合。

Claims (23)

1.一种系统,所述系统包括:
具有显示器的至少一个客户端计算设备,其中,所述客户端计算设备实现自动化助理的客户端部分;和
一个或多个服务器计算设备,所述一个或多个服务器计算设备实现所述自动化助理的服务器部分;
其中,用户与所述客户端部分交互以参与所述用户、所述自动化助理和第三方计算服务之间的人机对话会话;
其中,所述第三方计算服务依照口头对话状态机和视觉对话状态机与所述用户接洽;
其中,所述自动化助理的所述客户端部分被配置成:
通过所述自动化助理的所述服务器部分从所述第三方计算服务接收指示所述视觉对话状态机的第一视觉对话状态的数据,
基于所述第一视觉对话状态在所述显示器上渲染与所述人机对话会话相关联的图形用户界面,其中,所述图形用户界面包括至少一个图形元素,所述至少一个图形元素可操作来使所述口头状态机从与所述第一视觉对话状态相对应的第一口头对话状态转变到第二口头对话状态,
检测所述用户对所述至少一个图形元素的操作,并且
向所述自动化助理的所述服务器部分提供指示所述至少一个图形元素的操作的数据;以及
其中,所述自动化助理的所述服务器部分被配置成:
将指示所述至少一个图形元素的操作的所述数据提供给所述第三方计算服务,其中,指示所述至少一个图形元素的操作的所述数据使所述第三方计算服务从所述第一口头对话状态转变到所述第二口头对话状态。
2.根据权利要求1所述的系统,其中,所述自动化助理的所述服务器部分被进一步配置成:
从所述第三方计算服务接收指示所述第二口头对话状态的数据;并且
向所述自动化助理的所述客户端部分提供指示所述第二口头对话状态的所述数据。
3.根据权利要求1所述的系统,其中,指示所述第二口头对话状态的所述数据包括文本或音频数据,并且其中,所述客户端设备被进一步配置成,响应于接收到指示所述第二口头对话状态的所述数据:
将所述文本转换为语音并可听见地渲染所述语音;或者
可听见地渲染所述音频数据。
4.根据任一前述权利要求所述的系统,其中,将指示所述至少一个图形元素的操作的所述数据从所述自动化助理的所述服务器部分提供给所述第三方计算服务使所述第三方计算服务从所述第一视觉对话状态转变到第二视觉对话状态。
5.根据权利要求4所述的系统,其中,所述第二视觉对话状态对应于所述第二口头对话状态。
6.根据权利要求5所述的系统,其中,所述自动化助理的所述客户端部分被进一步配置成:
通过所述自动化助理的所述服务器部分从所述第三方计算服务接收指示所述第二视觉对话状态的数据;并且
基于所述第二视觉对话状态在所述显示器上渲染与所述人机对话会话相关联的更新的图形用户界面。
7.根据权利要求6所述的系统,其中,指示所述第二视觉对话状态的所述数据使所述客户端设备自动地执行无接触交互以渲染所述更新的图形用户界面。
8.根据权利要求7所述的系统,其中,所述无接触交互包括以下各项中的一个或多个:
操作所述图形用户界面的可选元素;
滚动到在所述图形用户界面中渲染的文档的特定位置;以及
放大所述图形用户界面的一部分。
9.根据任一前述权利要求所述的系统,其中,在所述第三方计算服务已从所述第一口头对话状态转变到所述第二口头对话状态之后,
所述自动化助理的所述客户端部分被进一步配置成:
在所述客户端计算设备的一个或多个输入组件处从所述用户接收有声自由形式输入,
向所述自动化助理的所述服务器部分提供指示所述有声自由形式输入的数据,
从所述自动化助理的所述服务器部分接收指示显示上下文的数据,
其中,所述自动化助理的所述服务器部分基于向所述第三方计算服务提供指示所述有声自由形式输入的所述数据或者向所述第三方计算服务提供基于指示所述有声自由形式输入的所述数据的附加数据来从所述第三方计算服务获得指示所述显示上下文的所述数据,并且
其中,所述第三方计算服务基于所接收到的数据或附加数据并且基于转变到的第二口头对话状态来生成指示所述显示上下文的所述数据,以及
基于所接收到的显示上下文,在所述图形用户界面处触发无接触交互。
10.根据权利要求1-7和9中的任一项所述的系统,其中,所述无接触交互包括以下各项中的一个或多个:
操作所述图形用户界面的可选元素;
滚动到在所述图形用户界面中渲染的文档的特定位置;以及
放大所述图形用户界面的一部分。
11.一种系统,所述系统包括:
具有显示器的至少一个客户端计算设备,其中,所述客户端计算设备实现自动化助理的客户端部分;和
一个或多个服务器计算设备,所述一个或多个服务器计算设备实现所述自动化助理的服务器部分;
其中,用户与所述客户端部分交互以参与所述用户、所述自动化助理和第三方计算服务之间的人机对话会话;
其中,所述自动化助理的所述客户端部分被配置成:
在所述客户端计算设备的所述显示器上渲染与所述人机对话会话相关联的图形用户界面,
在所述客户端计算设备的一个或多个输入组件处从所述用户接收有声自由形式输入,
向所述自动化助理的所述服务器部分提供指示所述有声自由形式输入的数据,
从所述自动化助理的所述服务器部分接收指示显示上下文的数据,并且
基于所述显示上下文,触发所述用户与所述图形用户界面之间的无接触交互;以及
其中,所述自动化助理的所述服务器部分被配置成:
基于指示所述有声自由形式输入的所述数据确定所述用户的意图,
向所述第三方计算服务提供指示所述意图的数据,
其中,指示所述意图的所述数据使所述第三方计算服务解析所述意图以生成解析信息,并且
响应于提供指示所述意图的所述数据而从所述第三方计算服务接收所述显示上下文,其中,所述显示上下文针对所述第三方计算服务与所述人机对话会话相关联地被维护并且至少部分地基于所述用户的意图和所述解析信息中的一种或两者而被更新。
12.根据权利要求11所述的系统,其中,所述图形用户界面包括嵌入到所述自动化助理的所述客户端部分中的web浏览器。
13.根据权利要求11或权利要求12所述的系统,其中,所述无接触交互包括以下各项中的一个或多个:
操作所述图形用户界面的可选元素;
滚动到在所述图形用户界面中渲染的文档的特定位置;以及
放大所述图形用户界面的一部分。
14.一种由一个或多个处理器实现的方法,包括:
在具有显示器的客户端设备处,实现自动化助理的客户端部分;
在一个或多个服务器计算设备处,实现所述自动化助理的服务器部分,其中,用户与所述客户端部分交互以参与所述用户、所述自动化助理和第三方计算服务之间的人机对话会话,并且其中,所述第三方计算服务依照口头对话状态机和视觉对话状态机与所述用户接洽;
在所述客户端部分处,通过所述自动化助理的所述服务器部分从所述第三方计算服务接收指示所述视觉对话状态机的第一视觉对话状态的数据;
由所述客户端部分基于所述第一视觉对话状态在所述显示器上渲染与所述人机对话会话相关联的图形用户界面,其中,所述图形用户界面包括至少一个图形元素,所述至少一个图形元素可操作来使所述口头状态机从与所述第一视觉对话状态相对应的第一口头对话状态转变到第二口头对话状态;
由所述客户端部分检测所述用户对所述至少一个图形元素的操作;
由所述客户端部分向所述自动化助理的所述服务器部分提供指示所述至少一个图形元素的操作的数据;以及
由所述服务器部分将指示所述至少一个图形元素的操作的所述数据提供给所述第三方计算服务,其中,指示所述至少一个图形元素的操作的所述数据使所述第三方计算服务从所述第一口头对话状态转变到所述第二口头对话状态。
15.根据权利要求14所述的方法,还包括:
由所述服务器部分从所述第三方计算服务接收指示所述第二口头对话状态的数据;以及
由所述服务器部分向所述自动化助理的所述客户端部分提供指示所述第二口头对话状态的所述数据。
16.根据权利要求14或权利要求15所述的方法,其中,将指示所述至少一个图形元素的操作的所述数据从所述自动化助理的所述服务器部分提供给所述第三方计算服务使所述第三方计算服务从所述第一视觉对话状态转变到第二视觉对话状态。
17.一种使用一个或多个处理器来实现的方法,包括:
通过至少部分地由所述一个或多个处理器实现的计算服务从自动化助理接收指示与所述自动化助理通信的计算设备的用户的意图的数据作为所述用户与所述自动化助理之间的人机对话会话的一部分;
解析所述用户的意图以生成解析信息;
更新针对所述计算服务与所述人机对话会话相关联地维护的显示上下文,其中,所述更新至少部分地基于所述意图和所述解析信息中的一种或两种;以及
向所述自动化助理提供指示所述显示上下文的数据,其中,指示所述显示上下文的所述数据由所述自动化助理提供给所述计算设备,并且其中,指示所述显示上下文的所述数据使在所述计算设备上执行的助理应用触发所述用户与所述助理应用的图形用户界面之间的无接触交互。
18.根据权利要求17所述的方法,其中,所述图形用户界面包括嵌入到所述助理应用中的web浏览器。
19.根据权利要求17或权利要求18所述的方法,其中,所述无接触交互包括以下各项中的一个或多个:
操作所述图形用户界面的可选元素;
滚动到在所述图形用户界面中渲染的文档的特定位置;以及
放大所述图形用户界面的一部分。
20.根据权利要求17至19中的任一项所述的方法,其中,指示所述用户的意图的所述数据包括由所述用户在所述计算设备处提供的有声自由形式输入的语音辨识输出。
21.根据权利要求17所述的方法,还包括由所述计算服务基于所述语音辨识输出确定所述用户的意图。
22.至少一种非暂时性计算机可读介质,所述至少一种非暂时性计算机可读介质包括指令,所述指令响应于由一个或多个处理器对所述指令的执行,使所述一个或多个处理器执行根据权利要求14至21中的任一项所述的方法。
23.一种系统,所述系统包括一个或多个处理器和与所述一个或多个处理器可操作地耦合的存储器,其中,所述存储器存储指令,所述指令响应于由所述一个或多个处理器对所述指令的执行,使所述一个或多个处理器执行根据权利要求14至21中的任一项所述的方法。
CN201880094239.6A 2018-05-07 2018-05-07 用户、自动化助理和其它计算服务之间的多模态交互 Pending CN112868060A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/031444 WO2019216875A1 (en) 2018-05-07 2018-05-07 Multi-modal interaction between users, automated assistants, and other computing services

Publications (1)

Publication Number Publication Date
CN112868060A true CN112868060A (zh) 2021-05-28

Family

ID=62555178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880094239.6A Pending CN112868060A (zh) 2018-05-07 2018-05-07 用户、自动化助理和其它计算服务之间的多模态交互

Country Status (6)

Country Link
US (2) US10984786B2 (zh)
EP (1) EP3586332A1 (zh)
JP (2) JP7203865B2 (zh)
KR (2) KR102476621B1 (zh)
CN (1) CN112868060A (zh)
WO (1) WO2019216875A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11200893B2 (en) * 2018-05-07 2021-12-14 Google Llc Multi-modal interaction between users, automated assistants, and other computing services
WO2019216875A1 (en) 2018-05-07 2019-11-14 Google Llc Multi-modal interaction between users, automated assistants, and other computing services
US20220148574A1 (en) * 2019-02-25 2022-05-12 Faurecia Clarion Electronics Co., Ltd. Hybrid voice interaction system and hybrid voice interaction method
US11615786B2 (en) * 2019-03-05 2023-03-28 Medyug Technology Private Limited System to convert phonemes into phonetics-based words
US20220091707A1 (en) 2020-09-21 2022-03-24 MBTE Holdings Sweden AB Providing enhanced functionality in an interactive electronic technical manual
US11381713B2 (en) * 2020-11-10 2022-07-05 Warner Bros. Entertainment Inc. Perfless and cadenceless scanning and digitization of motion picture film
US20220157323A1 (en) * 2020-11-16 2022-05-19 Bank Of America Corporation System and methods for intelligent training of virtual voice assistant
US12008048B2 (en) * 2021-01-04 2024-06-11 Oracle International Corporation Drill back to original audio clip in virtual assistant initiated lists and reminders
US20220261530A1 (en) * 2021-02-18 2022-08-18 MBTE Holdings Sweden AB Providing enhanced functionality in an interactive electronic technical manual
CN113297359B (zh) * 2021-04-23 2023-11-28 阿里巴巴新加坡控股有限公司 交互信息的方法以及装置
US11947906B2 (en) 2021-05-19 2024-04-02 MBTE Holdings Sweden AB Providing enhanced functionality in an interactive electronic technical manual
US20230074406A1 (en) * 2021-09-07 2023-03-09 Google Llc Using large language model(s) in generating automated assistant response(s
US20230177255A1 (en) * 2021-12-03 2023-06-08 International Business Machines Corporation Conversational agent counterfactual simulation

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719784A (zh) * 2004-07-07 2006-01-11 阿尔卡特公司 多模式对话处理方法
CN101911064A (zh) * 2007-12-31 2010-12-08 摩托罗拉公司 用于实现分布式多模态应用的方法和装置
CN102439661A (zh) * 2009-03-24 2012-05-02 Atx集团股份有限公司 用于车辆内自动交互的面向服务语音识别
CN102792320A (zh) * 2010-01-18 2012-11-21 苹果公司 智能自动化助理
US20130283168A1 (en) * 2012-04-18 2013-10-24 Next It Corporation Conversation User Interface
US20140095173A1 (en) * 2012-10-01 2014-04-03 Nuance Communications, Inc. Systems and methods for providing a voice agent user interface
CN107077201A (zh) * 2014-09-25 2017-08-18 微软技术许可有限责任公司 用于多模式会话交互中的口头语言理解的眼睛注视
CN107112013A (zh) * 2014-09-14 2017-08-29 谷歌公司 用于创建可定制对话系统引擎的平台
CN107112016A (zh) * 2015-01-05 2017-08-29 谷歌公司 多模态状态循环

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002318132A (ja) 2001-04-23 2002-10-31 Hitachi Ltd 音声対話型ナビゲーションシステムおよび移動端末装置および音声対話サーバ
US7019749B2 (en) 2001-12-28 2006-03-28 Microsoft Corporation Conversational interface agent
EP1614102A4 (en) * 2002-12-10 2006-12-20 Kirusa Inc VOICE ENTRY DESAMBIGUATION TECHNIQUES BASED ON THE USE OF MULTIMODAL INTERFACES
US8793602B2 (en) 2004-01-15 2014-07-29 The Mathworks, Inc. System and method for scheduling the execution of model components using model events
US9436820B1 (en) 2004-08-02 2016-09-06 Cisco Technology, Inc. Controlling access to resources in a network
US7409344B2 (en) 2005-03-08 2008-08-05 Sap Aktiengesellschaft XML based architecture for controlling user interfaces with contextual voice commands
US7885388B2 (en) * 2006-01-17 2011-02-08 General Motors Llc Method and apparatus for initiating communication via a multi-mode system in a vehicle
ES2302640B1 (es) 2006-12-21 2009-05-21 Juan Jose Bermudez Perez Sistema para la interaccion mediante voz en paginas web.
DE102008051757A1 (de) * 2007-11-12 2009-05-14 Volkswagen Ag Multimodale Benutzerschnittstelle eines Fahrerassistenzsystems zur Eingabe und Präsentation von Informationen
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8952987B2 (en) 2011-05-19 2015-02-10 Qualcomm Incorporated User interface elements augmented with force detection
JP5710464B2 (ja) 2011-12-27 2015-04-30 株式会社東芝 電子機器、表示方法、およびプログラム
US20130275873A1 (en) * 2012-04-13 2013-10-17 Qualcomm Incorporated Systems and methods for displaying a user interface
US9378065B2 (en) 2013-03-15 2016-06-28 Advanced Elemental Technologies, Inc. Purposeful computing
US20150314454A1 (en) * 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device
US9292254B2 (en) 2013-05-15 2016-03-22 Maluuba Inc. Interactive user interface for an intelligent assistant
KR101834624B1 (ko) * 2013-06-08 2018-03-05 애플 인크. 핸즈 프리 상호작용을 위한 사용자 인터페이스 자동 적응
US9600227B2 (en) 2013-11-21 2017-03-21 Google Technology Holdings LLC System and method for speech-based navigation and interaction with a device's visible screen elements using a corresponding view hierarchy
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US10050868B2 (en) 2015-01-16 2018-08-14 Sri International Multimodal help agent for network administrator
US10762143B2 (en) 2015-02-13 2020-09-01 Microsoft Technology Licensing, Llc Extension of third party application functionality for intent determination
US20170277364A1 (en) 2016-03-22 2017-09-28 Amazon Technologies, Inc. User interface with dynamic refinement of filtered results
US10304444B2 (en) 2016-03-23 2019-05-28 Amazon Technologies, Inc. Fine-grained natural language understanding
WO2017210784A1 (en) * 2016-06-06 2017-12-14 Nureva Inc. Time-correlated touch and speech command input
JP6451907B2 (ja) 2016-08-16 2019-01-16 ソニー株式会社 情報処理装置
US20180131642A1 (en) 2016-11-04 2018-05-10 Microsoft Technology Licensing, Llc Conversation runtime
US10311875B2 (en) 2016-12-22 2019-06-04 Soundhound, Inc. Full-duplex utterance processing in a natural language virtual assistant
US10832666B2 (en) 2017-04-19 2020-11-10 Verizon Patent And Licensing Inc. Advanced user interface for voice search and results display
US10796088B2 (en) 2017-04-21 2020-10-06 International Business Machines Corporation Specifying a conversational computer agent and its outcome with a grammar
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US11423879B2 (en) 2017-07-18 2022-08-23 Disney Enterprises, Inc. Verbal cues for high-speed control of a voice-enabled device
US10515625B1 (en) * 2017-08-31 2019-12-24 Amazon Technologies, Inc. Multi-modal natural language processing
WO2019070230A1 (en) 2017-10-03 2019-04-11 Google Llc COORDINATION OF MULTIPLE DIGITAL ASSISTANT IN VEHICULAR ENVIRONMENTS
US10453454B2 (en) 2017-10-26 2019-10-22 Hitachi, Ltd. Dialog system with self-learning natural language understanding
US10896457B2 (en) * 2017-12-12 2021-01-19 Amazon Technologies, Inc. Synchronized audiovisual responses to user requests
US20190278562A1 (en) 2018-03-07 2019-09-12 John Hien Tang System and method for voice control of a computing device
CN111868824A (zh) * 2018-04-05 2020-10-30 辛纳普蒂克斯公司 智能设备的情境感知控制
US10573298B2 (en) 2018-04-16 2020-02-25 Google Llc Automated assistants that accommodate multiple age groups and/or vocabulary levels
WO2019203859A1 (en) 2018-04-19 2019-10-24 Google Llc Dependency graph conversation modeling for use in conducting human-to-computer dialog sessions with a computer-implemented automated assistant
KR102661487B1 (ko) 2018-05-04 2024-04-26 구글 엘엘씨 검출된 제스처 및 시선에 기초하여 자동화된 어시스턴트 기능 호출
WO2019212569A1 (en) 2018-05-04 2019-11-07 Google Llc Adapting automated assistant based on detected mouth movement and/or gaze
EP3635513B1 (en) 2018-05-04 2021-07-07 Google LLC Selective detection of visual cues for automated assistants
WO2019216875A1 (en) 2018-05-07 2019-11-14 Google Llc Multi-modal interaction between users, automated assistants, and other computing services
US11347801B2 (en) 2018-05-07 2022-05-31 Google Llc Multi-modal interaction between users, automated assistants, and other computing services
US11200893B2 (en) 2018-05-07 2021-12-14 Google Llc Multi-modal interaction between users, automated assistants, and other computing services
US10628987B2 (en) 2018-05-08 2020-04-21 Google Llc Condensed transitions of graphical elements presented in graphical user interfaces

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719784A (zh) * 2004-07-07 2006-01-11 阿尔卡特公司 多模式对话处理方法
CN101911064A (zh) * 2007-12-31 2010-12-08 摩托罗拉公司 用于实现分布式多模态应用的方法和装置
CN102439661A (zh) * 2009-03-24 2012-05-02 Atx集团股份有限公司 用于车辆内自动交互的面向服务语音识别
CN102792320A (zh) * 2010-01-18 2012-11-21 苹果公司 智能自动化助理
CN105808200A (zh) * 2010-01-18 2016-07-27 苹果公司 智能自动化助理
US20130283168A1 (en) * 2012-04-18 2013-10-24 Next It Corporation Conversation User Interface
US20140095173A1 (en) * 2012-10-01 2014-04-03 Nuance Communications, Inc. Systems and methods for providing a voice agent user interface
CN107112013A (zh) * 2014-09-14 2017-08-29 谷歌公司 用于创建可定制对话系统引擎的平台
CN107077201A (zh) * 2014-09-25 2017-08-18 微软技术许可有限责任公司 用于多模式会话交互中的口头语言理解的眼睛注视
CN107112016A (zh) * 2015-01-05 2017-08-29 谷歌公司 多模态状态循环

Also Published As

Publication number Publication date
US20200294497A1 (en) 2020-09-17
KR20230003281A (ko) 2023-01-05
WO2019216875A1 (en) 2019-11-14
US11735182B2 (en) 2023-08-22
KR20210002599A (ko) 2021-01-08
JP2023017956A (ja) 2023-02-07
EP3586332A1 (en) 2020-01-01
US20210193146A1 (en) 2021-06-24
KR102476621B1 (ko) 2022-12-12
KR102669152B1 (ko) 2024-05-27
JP2021523467A (ja) 2021-09-02
JP7203865B2 (ja) 2023-01-13
US10984786B2 (en) 2021-04-20

Similar Documents

Publication Publication Date Title
US11735182B2 (en) Multi-modal interaction between users, automated assistants, and other computing services
US11347801B2 (en) Multi-modal interaction between users, automated assistants, and other computing services
US11200893B2 (en) Multi-modal interaction between users, automated assistants, and other computing services
JP7418526B2 (ja) 自動アシスタントを起動させるための動的および/またはコンテキスト固有のホットワード
JP7263376B2 (ja) 自動化されたアシスタントによる以前の対話コンテキスト間の遷移
US11775254B2 (en) Analyzing graphical user interfaces to facilitate automatic interaction
KR102498811B1 (ko) 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드
KR102508338B1 (ko) 제2 세션 인터럽트 중단시 제1 자동화 어시스턴트 세션 자동 재개 여부 결정
CN112236737A (zh) 自动化助理的视觉提示的选择性检测
JP2023017791A (ja) アシスタントデバイスのディスプレイにレンダリングするコンテンツの選択
CN110688011B (zh) 基于多模态客户端设备的模态的动态列表构成
US20230343336A1 (en) Multi-modal interaction between users, automated assistants, and other computing services
CN113767379B (zh) 使用内容代理和/或存储的内容参数来渲染内容
CN115605871A (zh) 基于实体或实体类型推荐动作
KR20240090703A (ko) 사용자, 자동화된 어시스턴트 및 컴퓨팅 서비스 간의 다중 모드 상호 작용

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination