CN110574105B - 用于基于语音发起定制装置动作的系统和方法 - Google Patents

用于基于语音发起定制装置动作的系统和方法 Download PDF

Info

Publication number
CN110574105B
CN110574105B CN201880028784.5A CN201880028784A CN110574105B CN 110574105 B CN110574105 B CN 110574105B CN 201880028784 A CN201880028784 A CN 201880028784A CN 110574105 B CN110574105 B CN 110574105B
Authority
CN
China
Prior art keywords
action
command
actions
device action
processing system
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.)
Active
Application number
CN201880028784.5A
Other languages
English (en)
Other versions
CN110574105A (zh
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
Priority to CN202410003320.6A priority Critical patent/CN117877477A/zh
Publication of CN110574105A publication Critical patent/CN110574105A/zh
Application granted granted Critical
Publication of CN110574105B publication Critical patent/CN110574105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications

Abstract

用于实现与电子装置的基于语音的交互的系统和方法可以包括:数据处理系统,所述数据处理系统维护多个装置动作数据集和每个装置动作数据集的相应标识符。所述数据处理系统可以从电子装置接收表示语音查询的音频信号和标识符。所述数据处理系统可以通过使用所述标识符来识别装置动作数据集。所述数据处理系统可以基于所述音频信号的内容来从装置动作数据集中识别装置动作。然后,所述数据处理系统可以从所述装置动作数据集中识别与所述装置动作相关联的命令,并且将所述命令发送至执行装置以便执行。

Description

用于基于语音发起定制装置动作的系统和方法
相关申请的交叉引用
本申请要求2018年3月7日提交的标题为“DISTRIBUTED IDENTIFICATION INNETWORKED SYSTEM”的美国临时专利申请第62/640,007号的权益和优先权,其通过引用的方式全部并入本文。
背景技术
数字虚拟助理(DVA)可以与客户端装置交互。例如,客户端装置的用户可以经由基于语音或者基于聊天的查询来发起在线任务(例如,在线搜索或者在线交易)。DVA可以允许与客户端装置的免提交互。
发明内容
根据本公开的至少一个方面,一种用于实现与客户端装置的基于语音的交互的数据处理系统可以包括:通信接口;存储器;装置动作定制组件;以及自然语言处理器组件。通信接口可以从计算装置接收装置动作数据和与该装置动作数据相关联的标识符。装置动作数据可以指示由多个客户端装置支持的多个装置动作和多个装置可执行命令。该多个装置可执行命令中的每个装置可执行命令可以配置为触发对多个装置动作中的对应装置动作的执行。存储器可以存储装置动作数据。装置动作定制组件可以将装置动作数据映射至标识符。通信接口可以从多个客户端装置中的客户端装置接收音频信号和标识符。客户端装置可以响应于基于语音的查询而获得音频信号。自然语言处理器组件可以通过使用标识符和与音频信号相关联的内容来识别由多个客户端装置支持的多个装置动作中的装置动作。装置动作定制组件可以识别多个装置可执行命令中与装置动作对应的装置可执行命令。通信接口可以响应于基于语音的查询而向客户端装置传输要执行的装置可执行命令以使得执行装置动作。
本公开的至少一个方面涉及一种实现与客户端装置的基于语音的交互的方法。该方法可以包括:数据处理系统从计算装置接收装置动作数据和与该装置动作数据相关联的标识符。装置动作数据可以指示由多个客户端装置支持的多个装置动作和多个装置可执行命令。该多个装置可执行命令中的每个装置可执行命令可以触发对多个装置动作中的对应装置动作的执行。该方法可以包括数据处理系统将装置动作数据存储在存储器中。该方法可以包括数据处理系统将装置动作数据映射至标识符。该方法可以包括数据处理系统从多个客户端装置中的客户端装置接收音频信号和标识符。客户端装置可以响应于基于语音的查询而获得音频信号。该方法可以包括数据处理系统使用标识符和与音频信号相关联的内容来识别由多个客户端装置支持的多个装置动作中的装置动作。该方法可以包括数据处理系统识别多个装置可执行命令中与装置动作对应的装置可执行命令。该方法可以包括数据处理系统响应于基于语音的查询而向客户端装置传输要执行的装置可执行命令以使得执行装置动作。
根据本公开的至少一个方面,提供了一种用于支持基于语音的交互的电子装置。该电子装置可以包括音频接收器、通信接口、以及命令执行组件。音频接收器可以生成与输入的基于语音的查询对应的音频信号。该电子装置可以与由远程数据处理系统维护的装置动作数据和该装置动作数据的标识符相关联。装置动作数据可以包括由与装置动作数据相关联的电子装置支持的多个装置动作和多个装置可执行命令。每个装置可执行命令可以配置为触发对多个装置动作中的对应装置动作的执行。通信接口可以响应于基于语音的查询而将标识符和音频信号传输至远程数据处理系统。该远程数据处理系统可以维护将标识符映射至多个装置动作和多个装置可执行命令的一个或者多个数据结构。通信接口可以响应于对音频信号的传输而从远程数据处理系统接收多个装置可执行命令中的装置可执行命令。数据处理系统可以基于标识符、音频信号以及一个或者多个数据结构来识别装置可执行命令。命令执行组件可以配置为执行装置可执行命令以执行装置动作。
根据本公开的至少一个方面,提供了一种支持基于语音的交互的方法。该方法可以包括:电子装置生成与输入的基于语音的查询对应的音频信号。电子装置可以与由远程数据处理系统维护的装置动作数据和该装置动作数据的标识符相关联。装置动作数据可以包括由与装置动作数据相关联的电子装置支持的多个装置动作和多个装置可执行命令。每个装置可执行命令可以配置为触发对多个装置动作中的对应装置动作的执行。该方法可以包括电子装置响应于基于语音的查询而将标识符和音频信号传输至远程数据处理系统。该远程数据处理系统可以维护将标识符映射至多个装置动作和多个装置可执行命令的一个或者多个数据结构。该方法可以包括电子装置响应于对音频信号的传输而从远程数据处理系统接收多个装置可执行命令中的装置可执行命令。数据处理系统可以基于标识符、音频信号以及一个或者多个数据结构来识别装置可执行命令。该方法可以包括:电子装置执行装置可执行命令以执行装置动作。
根据本公开的至少一个方面,提供了一种响应于基于语音的交互而提供内容的数据处理系统。该数据处理系统可以包括存储器、装置动作定制组件、通信接口、以及自然语言处理器组件、以及内容选择器组件。存储器可以存储包括由多个电子装置支持的多个装置动作-命令对的装置动作数据。每个装置动作-命令对可以包括多个装置动作中的相应装置动作和多个装置可执行命令中的相应装置可执行命令以触发对相应装置动作的执行。装置动作定制组件可以标识符映射至由多个电子装置支持的多个装置动作-命令对中的每个装置动作-命令对。通信接口可以从电子装置接收标识符和电子装置响应于基于语音的查询而获得的音频信号。自然语言处理器组件可以通过使用与音频信号相关联的内容和标识符来识别多个装置动作-命令对中的装置动作-命令对。装置动作定制组件可以基于装置动作数据或者装置命令对来识别基于语音的查询的场境(context)。内容选择器组件可以基于该基于语音的查询的场境来选择数字分量。通信接口可以将数字分量和与装置动作-命令对相关联的装置可执行命令传输至电子装置。装置可执行命令在被执行时可以使得执行与装置动作-命令对相关联的装置动作,并且数字分量可以由电子装置呈现(或者渲染)。
根据本公开的至少一个方面,提供了一种响应于基于语音的交互而提供内容的方法。该方法可以包括数据处理系统在存储器中存储包括由多个电子装置支持的多个装置动作-命令对的装置动作数据。每个装置动作-命令对可以包括多个装置动作中的相应装置动作和多个装置可执行命令中的相应装置可执行命令以触发对相应装置动作的执行。该方法可以包括数据处理系统将标识符映射至由多个电子装置支持的多个装置动作-命令对中的每个装置动作-命令对。该方法可以包括数据处理系统从电子装置接收标识符和电子装置响应于基于语音的查询而获得的音频信号。该方法可以包括数据处理系统使用与音频信号相关联的内容和标识符来识别多个装置动作-命令对中的装置动作-命令对。该方法可以包括数据处理系统基于装置动作数据或者装置命令对来识别基于语音的查询的场境。该方法可以包括数据处理系统基于该基于语音的查询的场境来选择数字分量。该方法可以包括数据处理系统将数字分量和与装置动作-命令对相关联的装置可执行命令传输至电子装置。用于使得执行装置动作的装置可执行命令可以与装置动作-命令对相关联,并且数字分量可以由电子装置呈现。
下面详细讨论了这些以及其它方面和实施方式。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并且提供了用于理解要求保护的方面和实施方式的性质和特性的概述或者框架。附图提供了对各个方面和实施方式的说明和进一步理解,并且被并入本说明书以及构成本说明书的一部分。
附图说明
不旨在按比例绘制附图。各个附图中的相似附图标记和标号指示相似的元件。为了清楚起见,并非可以在每个附图中标注每个组件。
在附图中:
图1图示了用于使电子装置能够具有基于语音的交互能力和定制的数字虚拟助理(DVA)功能的示例系统;
图2图示了用于在电子装置中实现基于语音的交互的示例方法的流程图;
图3图示了支持基于语音的交互的电子装置的框图;
图4图示了使电子装置能够支持基于语音的交互的示例方法的流程图;
图5图示了响应于基于语音的交互而向电子装置提供内容的示例方法的流程图;以及
图6是图示了用于可以采用来实施本文描述的并且图示的系统和方法的元件的计算机系统的一般架构的框图。
具体实施方式
下面是对与用于实现与第二方装置、第三方应用或者其组合的基于音频的(或者基于聊天的)交互的方法、设备和系统有关的各种概念和该方法、设备和系统的实施方式的更详细的描述。可以按照许多方式中的任何方式来实施在上面介绍的并且在下面更详细地讨论的各种概念。
可以将数字虚拟助理(DVA)集成到在线平台中以允许与关联于在线平台的客户端装置的基于语音(基于音频)或基于聊天的交互。例如,客户端装置的用户可以经由基于语音或基于聊天的查询来发起在线任务例如在线搜索或者在线交易。DVA可以解释基于语音或基于聊天的查询,并且发起在基于语音或基于聊天的查询中请求的在线动作。通常,具有DVA能力的客户端装置还可以与相应用户进行音频对话以实现用户的查询。与用户进行有意义的对话并且准确地服务用户的基于语音的查询的DVA能力为对应的客户端装置增添了很大的价值,因为它们显著增强了用户体验。具体地,DVA允许与客户端装置的免提交互。另外,利用对基于语音或基于聊天的输入的准确解释和有意义的响应,DVA通过允许明智的用户-装置对话来使用户与客户端装置的交互人性化。
可以将DVA集成在在线平台和对应的客户端装置中以允许与对应的客户端装置的基于聊天的或者基于语音的交互。例如,可以将DVA客户端(或者DVA软件代理)集成到能够与所述DVA功能的一个或者多个远程服务器通信的移动装置或者智能家居装置的操作系统(OS)中。实施DVA功能的OS和一个或者多个服务器可以由相同的实体或者提供商(在本文中称为第一方提供商)提供。这种集成方法表明:不同于提供DVA的第一方提供商的第二方装置提供商(例如,原始设备制造商(OEM)、装置制造商或者装置供应商)可以实施其自己的DVA或者采用DVA代理集成在其中的OS以使相应的第二方装置能够支持与DVA相关联的功能和服务。两个选项都对在广泛的第二方装置上扩展DVA施加了限制或者障碍。这些限制和障碍还应用于扩展对DVA的使用以实现与由第三方提供商(例如,不同于第一方提供商和第二方提供商)实施的第三方应用(例如,移动应用或者客户端程序)的基于语音的交互以在第一方装置或者第二方装置上运行。
对于第二方装置提供商,修改现有OS或者采用集成DVA客户端的新OS会是破坏性的、在技术上麻烦的以及昂贵的。即使将不对OS进行改变,使用相应的第一方提供商的现有DVA也可能涉及第二方装置的提供商维护云存在(例如,经由云服务器)以与DVA平台或者DVA服务器通信并且服务相应的第二方装置。同样,使用相应的第一方提供商的现有DVA使第二方装置的提供商对针对定制以区别与其装置的基于语音的交互或者相较于竞争对手向其顾客提供不同的体验,具有很低的灵活性(若有的话)。例如,在与给定第二方装置的基于语音的交互中使用的词汇的范围和幅度可以相对较窄和特定(例如,与在与其它装置的基于语音的交互中使用的词汇的范围和幅度相比较)。具体地,每个装置(例如,给定类型或者型号的装置)可以支持对应的特定装置动作集合,该对应的特定装置动作集合可以与由其它装置支持的装置动作不同。由于与装置的用户交互通常涉及触发对应的装置动作,因此,使用定义由给定类型或者型号的装置支持的装置动作的狭窄词汇范围可以帮助DVA系统更好地服务给定类型或者型号的装置。DAV系统可以在解释基于语音的查询以及向这种查询提供明智的响应时提高其准确性。如本文使用的,DVA系统是指提供服务器侧DVA功能的数据处理系统。
针对扩展对基于DVA的服务或者能力(例如,基于语音或基于聊天的交互)的使用,相似的限制和障碍还应用于第三方应用。第三方应用可以包括移动应用、客户端应用或者由第三方开发者开发的其它应用。如本文使用的,第三方是与提供DVA系统的实体(在本文中也称为第一方)和提供在其上应用可以进行执行或者运行的装置的实体(在本文中也称为第二方)不同的实体(例如,应用开发者)。可能最初在制造或者开发阶段未在装置上安装第三方应用,而是在市场上销售装置之后下载并且安装(或者甚至开发)第三方应用。即使装置支持DVA客户端,在装置上运行的第三方应用也可能不能采用DVA的功能,例如,以允许与第三方应用或者其内容的基于语音的交互。
在本公开中,自助服务方法可以允许第二方装置提供商或者第三方应用提供商实现基于语音的(或者基于聊天的)交互以触发相应的定制动作。第二方装置提供商可以构建或者定义由相应的装置组(例如,给定类型、类别或者型号的装置)支持的定制装置动作的捆绑(或者动作包),并且将捆绑(或者动作包)提供至DVA系统。定制装置动作的每个捆绑可以包括(或者指定)由相应的装置组支持的一个或者多个装置动作以及一个或者多个对应的装置可执行命令。定制装置动作的捆绑中的每个装置动作可以与对应的装置可执行命令相关联,该对应的装置可执行命令用于在相应的装置组中的任何装置上执行(或者使得执行)该装置动作。针对每个相应的装置动作,定制装置动作的捆绑还可以包括(或者指定)要提供以便结合该装置动作的执行显示在相应的装置组中的任何装置上的对应响应(例如,音频响应、视觉响应或者视听响应)。
DVA系统可以与相应标识符相关联地维护定制装置动作的每个捆绑。标识符可以是指示与定制装置动作的捆绑相关联的装置组的装置型号的装置型号标识符(ID)、第二方装置提供商的标识符、捆绑ID、维护定制装置动作的捆绑的目录的目录ID或者其组合。第二方装置提供商可以将标识符与定制装置动作的捆绑一起提供至DVA系统。将定制装置动作的捆绑和标识符提供至DVA系统的过程可以被视为向DVA系统注册对应的装置装置组(或者对应的装置型号)。注册装置型号(或者潜水组)还可以包括:提供对装置组(例如,与装置型号相关联的装置组)的属性、特性、特征或者能力的指示、与装置组或者装置型号相关联的其它元数据或者其组合。DVA系统(或者其第一方提供商)可以允许第二方装置提供商向DVA系统注册装置型号(或者装置组),例如,经由用户界面(UI)、web接口或者静态应用编程接口(API)。第一方提供商或者DVA系统可以在例如成功地测试了在定制装置动作的捆绑中提供的装置可执行命令之后验证(或者证明)装置型号(或者装置组)。
同样,第三方应用提供商可以构建或者定义由相应的应用支持的定制应用动作的捆绑(或者包),并且将捆绑(或者包提供至DVA系统。定制应用动作的捆绑可以包括由应用支持的一个或者多个动作以及一个或者多个对应的应用可执行命令。每个定制应用动作可以与对应的应用可执行命令相关联,该对应的应用可执行命令用于使应用执行该定制应用动作。与定制装置动作的捆绑相似,DVA系统可以与相应标识符相关联地维护定制应用动作的每个捆绑。标识符可以是应用ID、第三方应用提供商ID、捆绑ID或者指示维护定制应用动作的捆绑的目录(或者项目)的目录ID。
第一方提供商或者DVA系统可以为集成第二方装置或者第三方应用提供一个或者多个软件开发工具包(SDK)以允许基于语音的用户交互。第一方提供商可以为第二方装置和第三方应用提供单独的SDK。当(多个)SDK被集成到第二方装置或者第三方应用中时,(多个)SDK可以提供用于激活音频接收器(例如,麦克风)、发起对话、发起与DVA系统的通信会话、向DVA系统发送请求和从DVA系统接收响应、对从DVA系统接收到的响应进行解析或者其组合的软件工具。同样,第二方装置提供商或者第三方应用提供商可以构建装置上动作处理程序以执行装置可执行命令或者应用可执行命令的装置上执行。
第二方装置(例如,与注册的装置组或者装置型号相关联的第二方装置)可以接收来自相应的用户的基于语音的查询,并且生成与该基于语音的查询对应的音频信号。第二方装置可以将音频信号以及与相应的动作包相关联的标识符(例如,装置型号ID)传输至DVA系统。DVA系统可以基于音频信号和标识符来识别在定制装置动作的相应动作包中列出的装置动作中的装置动作。在识别装置动作时,DVA系统可以向指示在相应动作包中列出的动作的表达或者查询模式分配不同的权重。DVA系统可以对指示由装置型号支持的装置动作的查询模式应用具有场境话音偏置的场境装置动作匹配和排名机制。例如,在使接收到的音频信号与多个查询模式中的查询模式相匹配时,DVA系统可以向与由装置型号支持的装置动作相关联的(或者指示由装置型号支持的装置动作的)查询模式应用偏置。
DVA系统可以检索与识别到的装置动作相关联的装置可执行命令,并且将装置可执行命令发送至第二方装置以便执行。DVA系统还可以检索与识别到的装置动作相关联的响应,并且将响应的音频版本发送至第二方装置以便在执行在基于语音的查询中请求的装置动作之前、期间或者之后向用户进行呈现(或者播放)。在第二方装置接收到装置可执行命令后,装置上操作处理程序可以从DVA系统接收到的通信中提取或者检索装置可执行命令,并且使第二方装置执行装置可执行命令以执行在基于语音的查询中请求的装置动作。第二方装置可以在执行装置动作之前、期间或者之后播放(从DVA系统接收到的)任何音频响应、视觉响应或者视听响应。
第三方应用(例如,其中集成有SDK并且在装置上运行)可以提供交互式用户界面(UI)组件以便在装置的显示器上进行呈现。装置的用户可以例如与交互式UI组件交互(例如,通过点击、触摸或者滑动交互式UI组件)以开始与第三方应用的对话。在接收到来自用户的基于语音的查询之后,应用可以生成与基于语音的查询对应的音频信号,并且将该音频信号以及与相应的动作包相关联的标识符(例如,应用ID、动作包ID、目录ID)传输至DVA系统。DVA系统可以基于音频信号和标识符来识别在相应的装置动作包中列出的定制应用动作中的应用动作。在识别装置动作时,DVA系统可以向指示在相应动作包中列出的动作的表达或者查询模式分配不同的权重。DVA系统可以对指示由第三方应用支持的应用动作的查询模式应用具有场境话音偏置的场境装置动作匹配和排名机制。DVA系统可以识别与应用动作相关联的命令,并且将该命令传输至装置以由第三方应用执行。
他DVA系统还可以通过使用标识符、识别到的装置动作或者应用动作、装置的标识符或者其组合来识别基于语音的查询的场境。识别基于语音的查询的场境可以包括识别在基于语音的查询背后的用户意图。DVA系统可以基于该基于语音的查询的场境来选择数字分量诸如第三方数字分量(例如,广告),并且将该数字分量发送至装置以便进行呈现。数字分量可以包括音频内容或者视听内容。数字分量可以包括向用户建议或者提供服务或者产品的促销内容。装置可以按照无缝方式来呈现数字分量,使得用户感觉或者看起来是针对基于语音的查询的自然响应的一部分。
根据本公开的示例实施例,本文描述的系统、方法和装置通过采用装置动作的装置上执行模型来实现与第二方装置或者第三方应用的基于语音的交互,而无需第二方装置提供商或者第三方应用提供商维护云点以与关联于第一提供商的DVA系统通信。DVA系统可以从第二方装置接收音频查询,并且执行话音识别和智能自然语言处理以识别请求的装置动作或者应用动作。DVA系统可以向第二方装置提供指示装置可执行命令的响应(例如,JSON响应),该响应触发第二方装置执行所请求的装置动作。同样,根据本公开的示例实施例,用户可以进行基于语音的查询以在不明确地要求装置调用代理或者与代理谈话的情况下请求执行特定装置动作或者特定应用动作。
在下文中,装置动作可以指定制装置动作或者定制应用动作。实际上,定制装置动作和定制应用动作都由电子(或者客户端)装置执行。同样,电子(或者客户端)装置或者系统可以指具有执行指令或者命令的电子(或者处理)能力的装置或者系统。
图1图示了用于使电子装置和第三方应用能够具有基于语音的交互能力和定制的数字虚拟助理(DVA)功能的示例系统100。系统100可以包括数据处理系统102和经由通信网络106通信地耦合至数据处理系统102的多个客户端装置104。数据处理系统102和客户端装置104可以与不同的或者单独的提供商相关联。系统100可以包括与客户端装置104的提供商或者在客户端装置104上可执行的第三方应用(例如,第二方装置)的提供商相关联的一个或者多个计算装置108。如本文使用的,装置提供商可以包括装置制造商或者向客户或者用户提供客户端装置104的另一实体。第三方应用提供商可以包括应用开发者或者提供应用以供消费的另一实体。一个或者多个计算装置108可以通过通信网络106通信地耦合至数据处理系统102。通信网络106可以包括互联网、无线蜂窝网络、有线网络、局域网、广域网、公共网络、专用网络或者其组合。
数据处理系统102可以包括用于存储数据或者计算机代码指令的存储器110、用于执行计算机代码指令的一个或者多个处理器112以及用于与其它系统或者装置诸如客户端装置104或者客户端装置108通信的通信接口114。数据处理系统102可以包括用于存储一个或者多个动作包(或者捆绑)118的数据储存库116。数据处理系统102可以包括用于管理存储、访问或者处理动作包118或者对应的数据的动作定制组件120。数据处理系统102可以包括用于将音频信号转换为文本的话音识别组件122和用于确定文本诸如由话音识别组件122提供的文本输出的结构和含义的自然语言处理器(NLP)组件124。数据处理系统102可以包括用于将文本转换为对应的音频(或者可听)信号的音频信号生成器组件。数据处理系统102可以包括用于选择要呈现在客户端装置104上的内容或者数字分量(在本文中也称为内容项)的内容选择器组件128。
数据处理系统102可以包括一个或者多个计算机服务器(在图1中未示出)。例如,数据处理系统102可以包括促进分布式计算技术的多个逻辑分组的服务器(在图1中未示出)。可以将逻辑服务器组称为数据中心、服务器场或者机器场。服务器可以在地理上分散。可以将数据中心或者机器场作为单个实体来进行管理,或者机器场可以包括多个机器场。每个机器场内的服务器可以是异构的——服务器或者机器中的一个或者多个可以根据一种或者多种类型的操作系统平台来进行操作。数据处理系统102可以包括数据中心中存储在位于例如企业数据中心中的一个或者多个高密度机架系统以及相关联的存储系统中的服务器。具有这种整合服务器的数据处理系统102可以通过在本地化的高性能网络上对服务器和高性能存储系统进行定位来改进系统可管理性、数据安全性、系统的物理安全性以及系统性能。使数据处理系统102组件中的全部或者一些组件包括服务器和存储系统集中并且将它们与高级系统管理工具耦合允许更有效地使用服务器资源,这节省了功率和处理要求,并且减少了带宽使用。
客户端装置104可以包括第二方装置集合,该第二方装置集合具有例如由第二方装置集合的提供商定义的装置型号(或者与该装置型号相关联)。通常,数据处理系统102可以服务(或者可以通信地耦合至)多个第二方装置集合,其中,每个第二方装置集合具有相应的装置型号或者装置类型(或者与相应的装置型号或者装置类型相关联)。客户端装置104可以包括其上安装有第三方应用的第一方装置或者第二方装置。客户端(或者电子)装置104可以包括机器人、汽车或者其它车辆、家电、家庭安全系统、照明控制系统、有线电视盒、智能电视、媒体播放器、无线电装置、智能闹钟、智能手表、移动或者手持装置(例如,平板、智能电话或者手持媒体播放器)、视频游戏机、医学成像装置、健身和锻炼装置或者具有处理能力以执行指令或者命令以及通信能力以例如经由网络106与数据处理系统102通信的其它装置。装置型号可以由装置提供商定义(或者指定)以定义该提供商店共享相应的特征、属性、特性或者能力集合的装置集合或者装置组。装置型号的示例可以包括汽车(或者其它车辆型号、家电型号(冰箱型号或者炉灶型号)、家庭安全系统型号、照明控制系统型号、有线电视盒型号、智能电视型号、媒体播放器型号、无线电装置型号、智能闹钟型号、智能手表型号、智能电话型号、平板型号、膝上型计算机型号、视频游戏机型号、医学成像装置型号或者健身和锻炼装置型号。装置型号可以包括装置型号标识符(例如,装置型号名称、装置型号序列号或者装置型号代码)。具有给定装置型号的第二方装置可以具有共享公共部分的装置标识符。装置标识符的公共部分可以充当装置型号的标识符或者指示符。装置提供商可以具有多个装置104集合(或者多个装置104组),其中,每个集合或者每一组与对应的装置型号相关联。
与给定装置型号(或者装置类型或者装置类别)相关联的第二方装置可以支持相应的多个装置动作。这些相应的多个装置动作可以表示可以由具有给定装置型号的第二方装置执行的动作,并且可以由第二方装置的用户触发。例如,与给定机器人型号的机器人相关联的装置动作可以包括例如向左移动、向右移动、向前移动、向后移动或者其组合。由给定安全系统型号的家庭安全系统支持的装置动作可以包括例如激活离开模式、激活停留模式、切换到(例如,特定摄像头编号的)特定摄像头、激活警报、停用警报或者其组合。由给定健身和锻炼装置型号的健身和锻炼装置(例如,跑步机)支持的装置动作可以包括例如激活/切换到有氧运动模式、激活/切换到燃脂模式、将速度设置为特定速度值、将高度设置为特定仰角或者其组合。给定装置型号的每个装置动作可以与触发具有给定装置型号的第二方装置执行该装置动作的对应命令(或者装置可执行命令)相关联。
同样,第三方应用可以支持相应的多个装置动作。这些相应的多个装置动作可以表示可以由安装了第三方应用的客户端装置104执行的动作,并且可以由第三方应用或者客户端装置的用户触发。例如,与用于使司机与搭乘者联系的应用相关联的装置(或者应用)动作可以包括搜索从第一位置到第二位置的搭乘、从搭乘列表中选择搭乘、检查司机的当前位置或者其组合。社交网络应用的装置(或者应用)动作可以包括打开页面(例如,朋友的页面)、播放由朋友共享的媒体文件、共享内容项、用输入的内容来响应朋友的帖子或者其组合。导航应用的装置(或者应用)动作可以包括:提供从第一位置到第二位置的驾驶方向(或者路线)、提供沿路的交通信息、搜索沿路的设施(例如,加油站、休息区或者餐馆)、切换到替代路线或者其组合。
第三方应用提供商或者第二方装置提供商可以生成动作包118(例如,装置动作文件或者装置动作脚本),该动作包118指定由第三方应用(或者安装了第三方应用的客户端装置104)或者分别地,与装置型号相关联的客户端装置104(例如,第二方装置)支持的装置动作。动作包118可以针对每个装置动作列出用于在客户端装置104上触发装置动作的一个或多个查询模式。例如,对于给定机器人型号的机器人,查询模式可以包括针对向左移动动作的“向左移动”和“向左走”、针对向右移动动作的“向右移动”和“向右走”、针对向前移动动作的“向前移动”和“向前走”、针对向后移动动作的“向后移动”和“向后走”或者其组合。对于给定安全系统型号的家庭安全系统,查询模式可以包括针对激活离开安全模式的动作的“激活离开模式”和“切换到离开模式”、针对激活停留安全模式的动作的“激活停留模式”和“切换到停留模式”、针对切换到来自特定摄像头的视频内容的动作的“切换到摄像头CAMERA_NUMBER(摄像头编号)”、针对激活警报的动作的“激活警报”、针对停用警报的动作的“停用警报”或者其组合。对于给定健身和锻炼装置型号的健身和锻炼装置(例如,跑步机),查询模式可以包括例如针对激活心血管模式的动作的“激活有氧运动模式”和“切换到有氧运动模式”、针对激活燃脂模式的动作的“激活燃脂模式”和“切换到燃脂模式”。对于移动装置,示例查询模式可以包括“打开设定”、“打开电子邮件”、“向我显示我的提醒事项”或者其组合。对于用于使司机与搭乘者联系的应用,示例查询可以包括“需要从位置1搭乘到位置2”、“前往搭乘”或者“显示司机的位置”。针对社交网络应用的示例查询可以包括“打开朋友页面”、“播放视频”、“共享视频”或者“用内容评论帖子”。对于导航应用,对应的查询可以包括“向我显示从位置1到位置2的驾驶路线”、“向我显示交通信息”、“向我显示设施”或者“切换到新路线”。
动作包118可以包括每个装置动作的动作名称。动作包118可以针对每个装置动作指定用于触发在装置上执行装置动作的相应装置可执行命令(或者应用可执行命令)。动作包118可以针对每个装置动作指定要由客户端装置104结合装置动作的执行而呈现的响应。可以将每个响应描述为可以被转换为音频以供客户端装置104呈现的文本表达。下面的脚本提供了对定义智能炊具的动作包的示例脚本的说明。
该脚本针对烹饪蛋糕定义了名称为“COOK_CAKE”的单个装置动作。该脚本还定义了与装置动作相关联的查询模式“bake a cake(烤蛋糕)”和“cook a cake(烹饪蛋糕)”。该脚本定义了用于执行装置动作的装置可执行命令“command.COOK_CAKE”。进一步地,该脚本可以响应于语音查询“烤蛋糕”或者“烹饪蛋糕”而定义例如要由客户端装置104以音频格式播放的响应(例如,“烤蛋糕”)。
第二方装置提供商或者第三方应用提供商可以使用计算装置108来向数据处理系统102提供对应的动作包和与该动作包相关联的标识符(ID)。例如,第二方装置提供商可以经由计算装置108来向数据处理系统102注册相应的装置型号。计算装置108可以包括桌面型计算机、膝上型计算机、智能电话、手持装置或者其它计算装置。计算装置108可以将动作包118和装置型号数据传输至数据处理系统102作为注册装置型号的一部分。装置型号数据可以包括例如装置型号的指示符(或指示)(例如,装置型号标识符或者装置型号名称)、对与装置型号相关联的装置的属性、特性、特征或者能力的指示、对应的第二方装置提供商的名称、对与装置型号相关联的装置的描述以及对装置类型的指示或者其组合。第三方应用提供商还可以使用计算装置108来向数据处理系统102提供相应的动作包(例如,定义由应用支持的装置动作)和与该动作包相关联的ID(例如,应用ID、包ID、目录ID或者项目ID)。数据处理系统102可以提供静态API或者UI以供计算装置108用于向数据处理系统102传输动作数据、ID或者其它信息。例如,UI可以与由数据处理系统102或者第一方提供商提供的网页或者应用相关联。计算装置108可以访问网页或者应用以允许将装置动作数据、装置型号数据、应用信息数据或者其组合填充到例如UI的对应文本输入槽中。静态API是使用HTTP请求(例如,GET、PUT、POST或者DELETE)来请求、传输或者删除数据的API。
下面的脚本提供了对可以由计算装置108提供至数据处理系统102作为注册第二方装置的一部分的数据的示例说明。该数据与针对上面提供的示例动作包所讨论的智能炊具有关。
上面的脚本中的数据指定了装置型号ID、制造商名称、产品名称、装置描述、装置类型以及对动作包(例如,与上面的第一个脚本相关联的动作包)的引用(例如,“com.smart_cooker.intent.COOK_CAKE”)。计算装置108还可以将动作包、标识符以及与第二方装置(或者第三方应用)相关联的其它信息单独地或者一起传输至数据处理系统102。
下面针对图2和图5更详细地讨论了数据处理系统102的组件。
图2图示了用于实现与客户端(或者电子)装置的基于语音的交互的示例方法200的流程图。方法200可以包括:接收装置动作数据和相应的标识符(ACT 202)。方法200可以包括:将装置动作数据存储在存储器中(ACT 204)。方法200可以包括:将标识符映射至装置动作数据(ACT 206)。方法200可以包括:从客户端装置接收标识符和音频信号(ACT 208)。方法200可以包括:基于标识符和音频信号来识别装置动作(ACT 210)。方法200可以包括:识别与装置动作对应的装置可执行命令(ACT 212)。方法200可以包括:将装置可执行命令传输至客户端装置(ACT 214)。
参照图1和图2,方法200可以包括:数据处理系统102从对应的计算装置108接收装置动作数据和对应的标识符(ACT 202)。计算装置108可以与第二方装置提供商或者第三方应用提供商相关联。标识符可以包括装置型号ID(例如,装置型号名称、装置型号代码或者其组合)、装置类型ID、项目ID、目录ID、应用ID、动作包ID、提供商ID或者其组合。项目ID可以识别使第二方装置或者第三方应用集合能够具有基于语音的交互的项目。该项目可以是指由第二方装置提供商或者第三方应用提供商提供至数据处理系统102的软件工具和/或数据的类集。目录ID可以识别由数据处理系统102用于存储动作数据的目录。装置动作数据可以包括对由(例如,与装置型号ID或者装置类型ID相关联的)第二方装置或者由(例如,与应用ID或者项目ID相关联的)第三方应用支持的多个装置动作的指示。装置动作数据还可以包括多个装置可执行命令。该多个装置可执行命令中的每个装置可执行命令可以与多个装置动作中的对应装置动作相关联。对于每个装置动作,对应的装置可执行命令可以触发在一个或者多个客户端装置104上执行装置动作。数据处理系统102还可以接收信息,包括对装置类型的指示、第二方装置的标识符或者名称、第三方应用提供商的标识符或者名称、对装置型号或者对应的第二方装置的描述、对第三方应用的描述、第三方应用的版本或者其组合。
通信接口114还可以接收要由客户端装置104结合装置装置动作的执行来呈现的多个响应。该多个响应中的每个响应可以与对应的装置动作相关联,并且可以被提供至客户端装置104以便结合对应的装置动作的执行进行呈现。例如,客户端装置104可以按照音频形式来播放响应以向用户通知开始执行、正执行或者完成执行对应装置动作。
方法200可以包括将装置动作数据存储在存储器中(ACT 204)。存储器110或者装置动作定制组件120可以分配用于存储用于各种装置型号、各种第三方应用或者其组合的装置动作数据的数据储存库116。装置动作定制组件120可以单独地存储与单独的装置型号或者单独的第三方应用相关联的装置动作数据,例如,作为单独的动作包118。每个动作包118可以包括列出与例如装置型号或者第三方应用相关联的多个装置动作和对应的装置可执行命令的一个或者多个对应数据结构、一个或者多个对应数据文件或者其组合。
方法200可以包括将标识符与装置动作数据进行映射(ACT 206)。装置动作定制组件114可以布置装置动作数据,使得将标识符映射或者链接至对应的动作包118中的多个装置动作中的每个装置动作。例如,可以通过对应的标识符来识别如由数据处理系统102存储的动作包118。例如,装置动作定制组件114可以向动作包118分配包括标识符的名称,或者可以将动作包118存储在具有包括标识符的名称的目录中。装置动作定制组件114还可以将每个装置动作映射或者链接至对应的装置可执行命令。装置动作定制组件114还可以将每个装置动作映射或者链接至对应的响应(若有的话)。例如,装置动作定制组件114可以将装置动作、装置可执行命令和响应存储在表中,其中,每个装置动作与对应的装置可执行命令和对应的响应共享同一行(或者同一列)。
对于与装置型号相关联的第二方装置,装置动作定制组件114还可以在服务与该装置型号相关联的第二方装置之前验证或者证明装置型号。例如,在成功地测试了装置可执行命令之后(例如,在原型或者实际的第二方装置上),装置动作定制组件114可以通过在对应的动作包118中进行设置(或者创建参数)来验证或者证明装置型号以指示动作包118是活动的。数据处理系统102不会服务与非活动动作包相关联的第二方装置。
方法200可以包括:从客户端装置接收标识符和音频信号(ACT208)。通信接口114可以响应于来自客户端装置104的用户的基于语音的查询而从(例如,与动作包118相关联的)客户端装置104接收音频信号和标识符。例如,对于第二方装置,相应的用户可以对第二方装置进行基于语音的查询,该第二方装置转而可以记录与查询对应的音频信号,并且将其与标识符一起发送至数据处理系统102。对于第三方应用,该应用可以提供用于发起与安装了该应用的客户端装置104的对话的交互式UI组件。当与交互式UI组件交互时,应用可以使客户端装置104例如激活音频接收器(例如,麦克风)、与数据处理系统102建立通信会话或者进行两者。当用户进行基于语音的查询时,应用可以使客户端装置104记录表示查询的音频信号并且将音频信号以及标识符发送至数据处理系统102。客户端装置104可以指定不同于音频接收器的另一音频源,通过该另一音频源,接收要发送至数据处理系统102的音频输入。
方法200可以包括基于标识符和音频信号来识别装置动作(ACT210)。装置动作定制组件120可以使用接收到的标识符来识别由数据处理系统102维护(或者数据处理系统102可访问)的动作包118中的对应动作包118。装置动作定制组件120可以检索与动作包118中列出的装置动作中的每个装置动作相关联的(多个)查询模式。话音识别组件122可以将音频信号转换为对应的文本。NLP组件122可以通过使用由话音识别组件122生成的文本和检索到的查询模式来识别与标识符相关联的动作包中列出的多个装置动作中的装置动作。当使由话音识别组件生成的文本与对应含义相匹配时,NLP组件124可以对检索到的查询模式应用偏置。例如,给定已知接收到的音频信号由与标识符或者对应的动作包118相关联的第二方装置或者第三方应用提供,NLP组件124可以向不与动作包118中列出的查询模式对应的含义分配零匹配权重或者相对较小的匹配权重(例如,与针对与动作包118中的查询模式对应的含义的匹配权重相比较)。NLP组件124可以(例如基于匹配权重)通过使用NLP组件124的机器学习过程来确定每个装置动作(或(多个)对应查询模式)的匹配分数。NLP组件124可以选择具有最高权重的装置动作作为与接收到的音频信号的内容相匹配的装置动作。
方法200可以包括:识别与装置动作对应的装置可执行命令(ACT212)。装置动作定制组件120可以识别(或者检索)动作包118中的多个装置可执行命令中与由NLP组件124识别到的装置动作对应的装置可执行命令。例如,装置动作定制组件120可以检索被映射或者链接至动作包118中的(由NLP组件124识别到的)装置动作的装置可执行动作。装置动作定制组件120还可以识别与装置可执行命令相关联的一个或者多个参数。例如,如果装置动作(或者对应的装置可执行命令)与对驾驶方向的请求或者对搭乘的请求有关,对应参数可以包括对起点位置和终点位置的指示。如果装置动作与打开资源信息(例如,社交网络页面或者web页面)有关,则(多个)参数可以包括资源的名称或者地址。对于每个装置动作,(多个)对应的查询模式可以指示装置动作是否与任何输入参数相关联。例如,查询“need ridefrom LOCATION1 to LOCATION2(需要从位置1搭乘到位置2)”指示参数LOCATION1(位置1)和LOCATION2(位置2)待由客户端装置104的用户提供。同样,在查询模式“open FRIENDpage(打开朋友页面)”、“go with RIDE(前往搭乘)”、“show me FACILITIES(向我显示设施)”和“comment to POST with CONTENT(用内容评论帖子)”中,参数“FRIEND(朋友)”、“RIDE(搭乘)”、“FACILITIES(设施)”、“POST(帖子)”和“CONTENT(内容)”待由用户提供。NLP组件124可以对与接收到的音频信号对应的文本进行解析,并且识别装置动作参数的值(若有的话)。装置动作定制组件120可以在将装置可执行命令发送至客户端装置104之前将识别到的参数附加至与装置动作对应的装置可执行命令。
装置动作定制组件120还可以检索被映射或者链接至对应的动作包118中的(由NLP组件124识别到的)装置动作的响应。如果响应最初是文本格式,则音频信号生成器126可以将响应转换为音频格式(例如,音频信号)。如果与装置动作相关联的响应是音频、视觉或者视听格式,则装置动作定制组件120可以将响应提供至通信接口114以便发送至第二方装置104。
方法200可以包括将装置可执行命令传输至第二方装置(ACT214)。通信接口114可以向客户端装置104传输装置可执行命令以及对应的参数(若有的话)以便响应于基于语音的查询而执行。可执行命令在被执行时可以使客户端装置104执行由NLP组件124识别到的装置动作。通信接口114还可以将响应(音频格式、视觉格式或者视听格式)(若有的话)传输至客户端装置104以便进行渲染。
图3图示了支持基于语音的交互的客户端(或者电子)装置104的框图。客户端装置104可以包括用于接收基于语音的查询的音频接收器302和用于与其它装置或者系统诸如数据处理系统102通信的通信接口304。客户端装置104可以包括用于执行(或者使得执行)装置可执行命令的命令执行组件306和用于基于音频信号(例如,从数据处理系统102接收到的音频信号)来生成音频波的扬声器308。客户端装置104可以包括用于管理与数据处理系统102的通信的控制器310。下面针对图4进一步讨论第二方装置的这些组件。
图4图示了使客户端装置能够支持基于语音的交互的示例方法400的流程图。方法400可以包括响应于基于语音的查询而生成音频信号(ACT 402)。方法400可以包括将无线电信号和标识符传输至远程数据处理系统(ACT 404)。方法400可以包括接收装置可执行命令(ACT406),以及执行装置可执行命令(ACT 408)。
参照图3和图4,方法400可以包括响应于基于语音的查询而生成音频信号(ACT402)。客户端装置104的用户可以发起与客户端装置或者安装在客户端装置上的第三方应用的对话。客户端装置104或者第三方应用可以提供交互式UI组件、按钮或者用于用信号向客户端装置104通知用户打算开始对话的其它输入机构。当发生与交互式UI组件的交互时(或者当发生其它输入时),客户端装置104或者第三方应用可以致动音频接收器302(例如,麦克风)以记录音频输入、与数据处理系统建立通信会话或者进行两者。音频接收器302可以生成与来自客户端装置104的用户的基于语音的查询对应的音频信号。音频接收器302可以例如将与基于语音的查询对应的声波转换为电音频信号。客户端装置104还可以(例如,在对应的存储器中)存储与定义了由客户端装置104或者第三方应用支持的装置动作的动作包相关联的标识符(例如,装置型号ID、应用ID、项目ID、目录ID或者其组合)。客户端装置104(或者第三方应用)可以指定不同于音频接收器的另一音频源,通过该音频源接收要发送至数据处理系统102的音频输入。客户端装置104或者第三方应用可以在发生与交互式UI组件的交互时致动指定的音频源。
方法400可以包括:将标识符和无线电信号传输至远程数据处理系统(ACT 404)。控制器310可以使通信接口304响应于基于语音的查询而将标识符和音频信号传输至数据处理系统102。控制器310可以生成要发送至数据处理系统102的包括音频信号和标识符的请求。可以将该请求视为用于解释基于语音的查询的内容的请求。控制器310可以使通信接口304将该请求传输至数据处理系统102。如上面针对图1和图2讨论的,数据处理系统102可以使用标识符来识别由数据处理系统维护的多个动作包118中的动作包118,并且使用音频信号来确定动作包118中列出的装置动作或者查询模式中与基于语音的查询的内容对应的装置动作包(或者(多个)对应的查询模式)。数据处理系统102可以确定与音频信号的内容相匹配的对应于装置动作的装置可执行命令(若有的话)。
方法400可以包括接收装置可执行命令(ACT 406)。通信接口304可以响应于对音频信号和标识符的传输而从数据处理系统接收响应消息,该响应消息包括与音频信号的内容相匹配的装置动作对应的装置可执行命令。装置可执行命令可以由数据处理系统102在识别到与基于语音的查询的内容(或者音频信号)对应的装置动作之后识别。接收装置可执行命令可以包括(例如在响应消息中)接收与命令相关联并且由用户在基于语音的查询中提供的一个或者多个参数。通信接口304还可以从数据处理系统102接收音频响应。控制器310可以对接收到的消息进行解析以识别装置可执行命令、与命令相关联的任何参数、要由客户端装置104渲染的媒体响应或者其组合。
方法400可以包括执行装置可执行命令(ACT 408)。控制器310可以将装置可执行命令及其任何参数提供至命令执行组件306以便执行。命令执行组件306可以执行装置可执行命令以使客户端装置104执行与接收到的装置可执行命令对应的装置动作。执行命令可以包括客户端装置104(或存储在其上的应用)生成搜索查询(或请求)并且将其发送至在线服务器(例如,与第三方应用相关联的服务器)。例如,应用或客户端装置104可以基于接收到的可执行命令和对应的参数来生成从第一位置搭乘到第二位置的请求。客户端装置104可以将搜索查询或者请求传输至在线服务器。在接收到来自在线服务器的响应之后,客户端装置104可以将响应中的信息呈现给用户。
控制器310或者命令可执行组件306可以包括(或者实施)装置动作处理程序以从数据处理系统102接收到的通信(或者消息)中提取装置可执行命令以及任何对应的参数,并且执行提取的命令。下面的脚本表示对装置动作处理程序的示例说明。
控制器310可以向对应的媒体播放器提供要由客户端装置104渲染的任何媒体响应。例如,控制器310可以将从数据处理系统102接收到的音频响应提供至音频播放器以便结合装置可执行命令的执行而通过扬声器308播放该音频响应。控制器310可以在执行装置可执行命令之前、期间或者之后使得渲染音频响应。音频播放器和扬声器还可以播放从数据处理系统102接收到的任何其它音频内容。如果接收到视觉响应或者视听响应,控制器可以使音频视觉播放器(例如,图像播放器、动画播放器或者视频播放器)在客户端装置104的显示器上渲染视觉响应或者视听响应。
针对图3和图4描述的动作包、装置动作和对应的装置可执行命令与上面针对图1和图2描述的那些动作包、装置动作和对应的装置可执行命令相似。同样,虽然对图3和图4的描述集中于由客户端装置104执行的过程和动作,但是这些过程和动作与由数据处理系统102执行并且针对图1和图2描述的过程和动作互相关联。
图5图示了响应于基于语音的交互而提供内容以便触发装置动作的示例方法500的流程图。方法500可以包括在存储器中存储装置动作数据(ACT 502)。方法500可以包括将标识符映射至装置动作数据(ACT 504)。方法500可以包括从客户端装置接收标识符和音频信号(ACT 506)。方法500可以包括基于标识符和音频信号来识别装置动作-命令对(ACT508)。方法500可以包括识别与音频信号相关联的基于语音的查询的场境(ACT 510)。方法500可以包括基于与音频信号相关联的基于语音的查询的场境来选择数字分量(ACT 512)。方法500可以包括将数字分量和与装置动作-命令对对应的装置可执行命令传输至客户端装置104(ACT 514)。
数据处理系统102(或者其组件)可以按照与上面针对图1和图2讨论的相似方式来执行方法500的ACT 502至ACT 508(与图2中的ACT202至ACT 208相似)。装置动作数据可以包括装置动作包118,该装置动作包118定义例如由与装置型号相关联的第二方装置或者由安装在一个或者多个客户端装置104上(或者能够在一个或者多个客户端装置104上运行)的第三方应用支持的定制装置动作。
方法500可以包括识别与音频信号相关联的基于语音的查询的场境(ACT 510)。动作定制组件120可以基于例如与音频信号的内容、关联于标识符的动作包118(或者装置动作数据)的内容或者两者相关联的因子来确定与接收到的音频信号对应的基于语音的查询的场境。例如,与标识符相关联的动作包118(或者装置动作数据)中的每个装置动作可以与一个或者多个关键字(例如由第二方装置提供商或者第三方应用提供商提供的一个或者多个关键字或者由数据处理系统基于采集到的历史数据生成的一个或者多个关键字)相关联。关键字可以指示与该装置动作相匹配的查询的公共场境。动作定制组件120可以在描述装置动作的场境时使用与装置动作相关联的关键字。
动作定制组件120可以基于与动作包相关联的信息来识别基于语音的查询的场境(或者其属性),例如,从而描述与装置型号相关联的第二方装置(例如,标识符是否是装置标识符)或者描述与动作包相关联的第三方应用。例如,如果应用是游戏应用,则基于语音的查询的场境(或者场境属性)将是游戏。同样,如果第二方装置是健身装置,则基于语音的查询的场境(或者场境属性)将是健身或者锻炼。
动作定制组件120可以基于与动作包相关联的信息来识别基于语音的查询的场境(或者其属性),例如,从而描述与装置型号相关联的第二方装置(例如,标识符是否是装置标识符)或者描述与动作包相关联的第三方应用。例如,如果应用是游戏应用,则基于语音的查询的场境(或者场境属性)将是游戏。同样,如果第二方装置是健身装置,则基于语音的查询的场境(或者场境属性)将是健身或者锻炼。
动作定制组件120可以基于在基于语音的查询中提供并且由NLP组件124提取的信息(或者参数)来识别基于语音的查询的场境(或者其属性)。例如,动作定制组件120可以使用提取的指示地理位置的参数来确定基于语音的查询的地理场境。动作定制组件120可以使用提取的指示商业类型(例如,加油站或者餐馆)的参数来确定用户意图(例如,加油或者进食)。
装置动作定制组件120可以将由NLP组件124识别到的装置动作映射至一个或者多个预定义的对应装置动作序列。例如,装置动作定制组件120可以采集由与装置型号相关联的第二方装置的用户或者第三方应用的用户请求的装置动作序列的统计数据(例如,重复发生或者频率)。给定识别到的装置动作,装置动作定制组件120可以确定包括识别到的装置动作的一个或者多个最可能的装置动作序列。装置动作定制组件120可以识别(或者预测)在识别到的装置动作之后的一个或者多个其它装置动作。例如,对于智能TV或者有线电视盒,如果当前识别到的动作是切换到点播频道的动作,则接下来要请求的装置动作最可能包括请求电影列表或者点播内容列表和订购要流式传输的电影或者媒体内容。在这种情况下,场境可以是例如,“电影流式传输”或者“娱乐内容流式传输”。
动作定制组件120可以使用各种因子的组合来识别基于语音的查询的场境。例如,动作定制组件120可以使用装置或应用描述、从基于语音的内容提取的参数、与动作包118中的查询模式相关联的关键字的任何组合。动作定制组件120可以采用随时间采集到的数据和机器学习方法来扩展用于确定基于语音的查询的场境的因子(或者信息)。
方法500可以包括基于与音频信号相关联的基于语音的查询的场境来选择数字分量(ACT 512)。内容选择器组件128可以使用描述基于语音的查询的场境的关键字(或者属性)来选择一个或者多个数字分量(或者内容项)。例如,当确定场境与媒体内容流式传输有关时,内容选择器组件128可以选择与用于流式传输的电影(或者其它媒体内容)有关的数字分量(例如,广告)。内容选择器组件128可以在选择数字分量时运行拍卖或者向内容传递系统发送包括与场境相关联的关键字的请求。内容选择器组件128可以使音频信号生成器或者数据处理系统102的其它组件将数字分量从第一格式转换为第二格式(例如,从文本转换为音频)。例如,内容选择器组件128或者装置动作定制组件120可以将数字分量格式化为对与识别到的装置动作相关联的音频响应的音频扩展。在这种情况下,数字分量可以被感知为(由客户端装置103的用户)音频响应的一部分。
方法500可以包括:将数字分量和与装置动作-命令对对应的装置可执行命令传输至客户端装置(ACT 512)。通信接口114可以将装置可执行命令(以及任何对应的参数)、数字分量和响应(若存在)发送至第二方装置104。例如,如上面针对图4讨论的,客户端装置104可以执行装置可执行命令,并且向用户播放(或者呈现)响应和/或数字分量。
虽然在对图1至图5的描述中,将标识符描述为由第二方装置提供商或者第三方应用提供商提供,但是本公开所设想的其它实施例包括数据处理系统102响应于对相应装置动作数据的上传而生成标识符并且将其提供至第二方装置提供商或者第三方应用提供商。数据处理系统可以将生成的标识符分配给或者映射至装置动作数据。
图6是示例计算机系统600的框图。计算机系统或者计算装置600可以包括或者用于实施系统100或者其组件诸如数据处理系统102(或者其装置或者组件)、客户端装置104或者装置提供商计算装置108。计算系统600包括总线605或者用于传送信息的其它通信组件以及耦合至总线605以便处理信息的处理器610或者处理电路。计算系统600还可以包括耦合至总线以便处理信息的一个或者多个处理器610或者处理电路。计算系统400还包括耦合至总线605以便存储信息和待由处理器610执行的指令的主存储器615诸如随机存取存储器(RAM)或者其它动态存储装置。主存储器615可以是或者包括数据储存库116。主存储器615还可以用于存储临时变量或者在处理器610执行指令期间的其它中间信息。计算系统600可以进一步包括耦合至总线405以便存储用于处理器610的静态信息和指令的只读存储器(ROM)620或者其它静态存储装置。可以将存储装置625诸如固态装置、磁盘或者光盘耦合至总线605以持久地存储信息和指令。存储装置625可以包括数据储存库122或者是数据储存库122的一部分。
计算系统600可以经由总线605耦合至显示器635诸如液晶显示器或者有源矩阵显示器以便向用户显示信息。可以将输入装置630诸如包括字母数字键和其它键的键盘耦合至总线605以便向处理器610传送信息和命令选择。输入装置430可以包括触摸屏显示器635。输入装置630还可以包括用于向处理器610传送方向信息和命令选择并且用于控制在显示器635上的光标移动的光标控件诸如鼠标、轨迹球或者光标方向键。例如,显示器635可以是数据处理系统102、客户端计算装置104或者图1中的其它组件的一部分。
本文所描述的过程、系统和方法可以由计算系统600响应于处理器610执行包括在主存储器615中的指令的布置而实施。可以通过另一计算机可读介质诸如存储装置625来将这种指令读取到主存储器615中。执行包括在主存储器615中的指令的布置使计算系统600执行本文所描述的说明性过程。还可以采用在多处理布置中的一个或者多个处理器来执行包括在主存储器615中的指令。代替软件指令,可以使用硬连线电路系统,或者可以结合软件指令与本文所描述的系统和方法一起使用硬连线电路系统。本文描述的系统和方法不限于硬件电路系统和软件的任何特定组合。
虽然已经在图6中描述了示例计算系统,但是可以在其它类型的数字电子电路系统中或者在计算机软件、固件或者硬件中(包括在本说明书中所公开的结构及其结构等效物)或者在它们中的一个或者多个的组合中实施包括在本说明书中所描述的操作的主题。
对于本文所讨论的系统采集有关用户的个人信息或者可以利用个人信息的情况,可以为用户提供控制可以采集个人信息(例如,有关用户的社交网络、社交动作或者活动、用户的偏好或者用户的位置的信息)的程序或者特征或者控制是否和/或如何从内容服务器或者其它数据处理系统接收可能与用户更有关的内容的机会。另外,在存储或者使用特定数据之前,可以按照一种或者多种方式来使该特定数据匿名,从而使得在生成参数时去除了个人身份信息。例如,可以使用户的身份匿名,从而使得无法确定用户的个人身份信息,或者可以在获得位置信息时一般化用户的地理位置(诸如,到城市、邮政编码或者州县等级),从而使得无法确定用户的特定位置。由此,用户可以对内容服务器采集和使用有关他或者她的信息的方式进行控制。
可以在数字电子电路系统中、或者在计算机软件、固件、或者硬件中(包括本说明书中所公开的结构及其结构等效物)、或者在它们中的一个或者多个的组合中实施本说明书中所描述的主题和操作。可以将本说明书中描述的主题实施为一个或者多个计算机程序,例如,编码在一个或者多个计算机存储介质上以由数据处理设备执行或者以控制数据处理设备的操作的计算机程序指令的一个或者多个电路。可替代地或者另外,程序指令可以编码在人工生成的传播信号上,例如,机器生成的电气、光学或者电磁信号,生成该信号是为了对信息进行编码以便传输至合适的接收器设备供数据处理设备执行。计算机存储介质可以是计算机可读存储装置、计算机可读存储基板、随机或者串行存取存储器阵列或者装置或者它们中的一个或者多个的组合,或者包括在其中。当计算机存储介质不是传播信号时,计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或者目的地。计算机存储介质还可以是一个或者多个单独的组件或者介质(例如,多个CD、磁盘或者其它存储装置),或者包括在其中。可以将本说明书中描述的操作实施为由数据处理设备对存储在一个或者多个计算机可读存储装置或者从其它源接收到的数据执行的操作。
术语“数据处理系统”、“计算装置”、“组件”或者“数据处理设备”囊括用于处理数据的各种设备、装置和机器,包括例如可编程处理器、计算机、片上系统或者前述内容的多个或者其组合。该设备可以包括专用逻辑电路系统,例如,FPGA(现场可编程门阵列)或者ASIC(专用集成电路)。除了硬件之外,该设备还可以包括为探讨中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机或者它们中的一个或者多个的组合的代码。该设备和执行环境可以实现各种不同的计算模型基础设施,诸如,web服务、分布式计算和网格计算基础设施。数据处理系统102的装置动作定制组件120、话音识别组件122、NLP组件124、音频信号生成器组件126或者内容选择器组件128可以包括或者共享一个或者多个数据处理设备、系统、计算装置或者处理器。
可以用任何形式的编程语言包括编译语言或者解释语言、陈述性语言或者程序语言来编写计算机程序也称为程序、软件、软件应用、应用、脚本或者代码,并且可以按照任何形式包括作为独立式程序或者模块、组件、子例程、对象或者适合用于计算环境的其它单元来部署计算机程序。计算机程序可以与文件系统中的文件对应。可以将计算机程序存储在保持其它程序或者数据(例如,存储在标记语言文档中的一个或者多个脚本)的文件的一部分中,或者存储在专用于所探讨中的程序的单个文件中,或者存储在多个协作文件(例如,存储一个或者多个模块、子程序或者部分代码的文件)中。可以将计算机程序部署为在一个计算机上执行或者在位于一个站点处或者分布在多个站点中并且通过通信网络互相连接的多个计算机上执行。
可以通过一个或者多个可编程处理器来执行本说明书中描述的过程和逻辑流程,该一个或者多个可编程处理器执行一个或者多个计算机程序(例如,数据处理系统102的组件)以通过操作输入数据并且生成输出来执行动作。还可以由专用逻辑电路例如FPGA(现场编程门阵列)或者ASIC(专用集成电路)来执行过程和逻辑流,并且还可以将设备实施为专用逻辑电路例如FPGA(现场编程门阵列)或者ASIC(专用集成电路)。适合于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置例如EPROM、EEPROM和闪速存储器装置、磁盘例如内部硬盘或者可移动盘、磁光盘、CD-ROM盘和DVD-ROM盘。处理器和存储器可以由专用逻辑电路系统补充或者可以并入专用逻辑电路系统中。
可以将本文描述的主题实施在包括后台组件的计算系统(例如,作为数据服务器)、或者包括中间件组件的计算系统(例如,应用服务器)、或者包括前端组件的计算系统(例如,具有图形用户界面或者web浏览器的客户端计算机,通过该图形用户界面或者web浏览器,用户可以与本说明书中所描述的主题的实施方式交互)、或者包括一个或者多个这种后台组件、中间件组件、或者前端组件的组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的组件相互连接。通信网络的示例包括:局域网(“LAN”)和广域网(“WAN”)、网际网(例如,互联网)以及点对点网络(例如,ad hoc点对点网络)。
本文所描述的计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络(例如,网络106)进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。在一些实施方式中,服务器向客户端计算装置传输数据(例如,表示数字分量的数据包)(例如,为了向与客户端计算装置交互的用户显示数据和接收来自该用户的用户输入)。可以在服务器处从客户端计算装置接收在客户端计算装置处生成的数据(例如,用户交互的结果)(例如,由数据处理系统105或者其服务器接收)。
虽然在附图中按照特定顺序来描述操作,但是不需要按照示出的特定顺序或者相继顺序来执行这种操作,并且不需要执行所有图示的操作。可以按照不同的顺序来执行本文描述的动作。
各个系统组件的分离不要求在所有实施方式中都分离,并且描述的程序组件可以包括在单个硬件或者软件产品中。例如,装置动作定制组件120、话音识别组件122、NLP组件124、音频信号生成器组件126和内容选择器组件128的任何组合可以是单个组件、应用、程序或者具有一个或者多个处理电路的逻辑装置或者数据处理系统102的一个或者多个服务器的一部分。
现在已经描述了一些说明性实施方式,显而易见的是,前述内容是说明性的而非限制性的,已经通过示例的方式呈现出来。具体地,虽然本文所呈现的示例中的许多示例涉及方法动作或者系统元件的特定组合,但是可以按照其它方式来组合这些动作和这些元件以实现相同的目的。结合一种实施方式讨论的动作、元件和特征不旨在从其它实施方式或者实施方式中的相似作用排除。
本文所使用的措辞和术语是为了进行描述,并且不应该将其视为是限制性的。本文对包括(“including”)、包括(“comprising”)、“具有”、“包括(containing)”、“涉及”、“以…为特征”、“特征在于”及其变型的使用是指囊括其后列出的项、其等效物和附加项以及由其后排外地列出的项组成的替代实施方式。在一种实施方式中,本文所描述的系统和方法由所描述的元件、动作或者组件中的一个、所描述的元件、动作或者组件中的一个以上的各种组合或者所有所描述的元件、动作或者组件组成。
对本文中以单数表示的系统和方法的实施方式或者元件或者动作的任何引用还可以包括包括多个这些元件的实施方式,并且本文中以复数形式对任何实施方式、元件或者动作的任何引用还可以包括只包括单个元件的实施方式。以单数或者复数形式的引用不旨在将目前所公开的系统或者方法、其组件、动作或者元件限制为单个或者多个配置。对任何动作或者元件的引用基于任何信息、动作或者元件可以包括动作或者元件至少部分地基于任何信息、动作或者元件的实施方式。
本文公开的任何实施方式可以与任何其它实施方式或者实施例组合,并且对“实施方式”、“一些实施方式”、“一个实施方式”等的引用不一定是相互排斥的,并且旨在指示结合实施方式描述的特定特征、结构或者特性可以包括在至少一个实施方式或者至少一个实施例中。如本文使用的这种术语不一定都是指相同的实施方式。可以按照与本文所公开的方面和实施方式一致的任何方式来包括地或者排外地将任何实施方式与任何其它实施方式组合。
可以将对“或”的引用解释为包括的,使得通过使用“或”描述的任何术语可以指示单个所描述的术语、一个以上所描述的术语和所有所描述的术语中的任何一种。例如,对“‘A’和‘B’中的至少一个”的引用可以包括只有‘A’、只有‘B’、以及‘A’和‘B’两者。结合“包括”或者其它开放性术语使用的这些引用可以包括附加项。
在附图、详细描述或者任何权利要求中的技术特征带有附图标记的情况下,已经将附图标记包括进来以增加附图、详细描述和权利要求书的可懂度。因此,附图标记和附图标记的缺少都对任何权利要求要素的范围没有任何限制。
在不脱离本文所描述的系统和方法的特性的情况下,可以按照其它特定形式来体现本文所描述的系统和方法。前述实施方式是说明性的,而不是限制所描述的系统和方法。因此,本文所描述的系统和方法的范围由所附权利要求书而不是前述描述指示,并且在权利要求书的等效含义和范围内的变化包括在其中。

Claims (57)

1.一种用于实现与客户端装置的基于语音的交互的数据处理系统,包括:
通信接口,用于从计算装置接收装置动作数据、与所述装置动作数据相关联的标识符以及用于由所述多个客户端装置呈现的多个音频或视觉响应,其中所述标识符包括装置型号标识符,所述装置型号标识符指示与所述装置动作数据相关联的多个客户端装置的装置型号,并且其中所述装置动作数据指示由所述多个客户端装置支持的多个装置动作和多个装置可执行命令,所述多个装置可执行命令中的每个装置可执行命令用于触发对所述多个装置动作中的对应装置动作的执行,并且所述多个音频或视觉响应中的每个音频或视觉响应是用于与由所述多个客户端装置支持的所述多个装置动作中的对应装置动作的执行相结合来呈现的;
存储器,用于存储所述装置动作数据;
装置动作定制组件,用于将所述装置动作数据映射至所述装置型号标识符并且用于将所述多个装置动作中的每个装置动作映射至用于与该装置动作相结合来呈现的对应的音频或视觉响应;
所述通信接口,用于从所述多个客户端装置中的客户端装置接收音频信号和所述装置型号标识符,所述音频信号是由所述客户端装置响应于基于语音的查询而获得的;
自然语言处理器组件,用于使用所述装置型号标识符和与所述音频信号相关联的内容来识别由所述多个客户端装置支持的所述多个装置动作中的装置动作;
所述装置动作定制组件,用于识别所述多个装置可执行命令中与所述装置动作对应的装置可执行命令并且用于识别与所述装置动作相对应的所述多个音频或视觉响应中的音频或视觉响应;以及
所述通信接口,用于响应于所述基于语音的查询而向所述客户端装置传输要执行的所述装置可执行命令以使得执行所述装置动作并且用于向所述客户端装置传输所述音频或视觉响应以用于结合并基于所述装置动作来在所述客户端装置上渲染。
2.根据权利要求1所述的数据处理系统,包括:
话音识别组件,用于将从所述客户端装置接收到的所述音频信号转换为对应文本,所述自然语言处理器组件通过使用所述对应文本来识别所述装置动作。
3.根据权利要求1所述的数据处理系统,包括:所述自然语言处理器组件,用于:
针对所述多个装置动作中的每个第一装置动作,确定用于使所接收到的音频信号的所述内容与所述第一装置动作相匹配的对应权重值;以及
基于所述权重值来识别所述装置动作。
4.根据权利要求1所述的数据处理系统,其中,所述多个装置动作是由与所述装置型号相关联的客户端装置支持的装置动作,并且所述多个可执行命令是特定于与所述装置型号相关联的所述客户端装置的可执行命令。
5.根据权利要求4所述的数据处理系统,包括:
所述装置动作定制组件,用于在与关联于所述装置型号的所述客户端装置交互之前并且在成功地测试了所述多个装置可执行命令中的每个装置可执行命令之后,验证所述装置型号。
6.根据权利要求1所述的数据处理系统,包括:
所述装置动作定制组件,用于提供用户界面以允许所述计算装置提供所述标识符和所述装置动作数据。
7.根据权利要求1所述的数据处理系统,包括:
所述装置动作定制组件,用于提供静态应用编程接口以允许将所述标识符和所述装置动作数据传输至所述数据处理系统。
8.根据权利要求1所述的数据处理系统,其中,所述标识符包括与安装在所述多个客户端装置上的应用相关联的标识符,所述多个装置动作是由所述应用支持的装置动作,并且所述多个可执行命令是特定于所述应用的可执行命令。
9.根据权利要求8所述的数据处理系统,包括:
所述装置动作定制组件,用于识别与所述装置可执行命令相关联的一个或者多个参数;以及
所述通信接口,用于向所述客户端装置传输所述一个或者多个参数。
10.一种实现与客户端装置的基于语音的交互的方法,所述方法包括:
从计算装置接收装置动作数据、与所述装置动作数据相关联的标识符以及用于由所述多个客户端装置呈现的多个音频或视觉响应,其中所述标识符包括装置型号标识符,所述装置型号标识符指示与所述装置动作数据相关联的多个客户端装置的装置型号,并且其中所述装置动作数据指示由所述多个客户端装置支持的多个装置动作和多个装置可执行命令,所述多个装置可执行命令中的每个装置可执行命令用于触发对所述多个装置动作中的对应装置动作的执行,并且所述多个音频或视觉响应中的每个音频或视觉响应是用于与由所述多个客户端装置支持的所述多个装置动作中的对应装置动作的执行相结合来呈现的;
存储所述装置动作数据;
将所述装置动作数据映射至所述装置型号标识符并且将所述多个装置动作中的每个装置动作映射至用于与该装置动作相结合来呈现的对应的音频或视觉响应;
从所述多个客户端装置中的客户端装置接收音频信号和所述装置型号标识符,所述音频信号是由所述客户端装置响应于基于语音的查询而获得的;
使用所述装置型号标识符和与所述音频信号相关联的内容,识别由所述多个客户端装置支持的所述多个装置动作中的装置动作;
识别所述多个装置可执行命令中与所述装置动作对应的装置可执行命令并且识别与所述装置动作相对应的所述多个音频或视觉响应中的音频或视觉响应;以及
响应于所述基于语音的查询而向所述客户端装置传输要执行的所述装置可执行命令以使得执行所述装置动作并且向所述客户端装置传输所述音频或视觉响应以用于结合并基于所述装置动作来在所述客户端装置上渲染。
11.根据权利要求10所述的方法,包括:
将从所述客户端装置接收到的所述音频信号转换为对应文本,自然语言处理器组件通过使用所述对应文本来识别所述装置动作。
12.根据权利要求10所述的方法,包括:
针对所述多个装置动作中的每个第一装置动作,确定用于使所接收到的音频信号的所述内容与所述第一装置动作相匹配的对应权重值;以及
基于所述权重值来识别所述装置动作。
13.根据权利要求10所述的方法,其中,所述多个装置动作是由与所述装置型号相关联的客户端装置支持的装置动作,并且所述多个可执行命令是特定于与所述装置型号相关联的所述客户端装置的可执行命令。
14.根据权利要求13所述的方法,包括:
在与关联于所述装置型号的所述客户端装置交互之前并且在成功地测试了所述多个装置可执行命令中的每个装置可执行命令之后,验证所述装置型号。
15.根据权利要求10所述的方法,包括:
提供用户界面以允许所述计算装置提供所述标识符和所述装置动作数据。
16.根据权利要求10所述的方法,包括:
提供静态应用编程接口,以供所述计算装置传输所述标识符和所述装置动作数据。
17.根据权利要求10所述的方法,其中,所述标识符包括与安装在所述多个客户端装置上的应用相关联的标识符,所述多个装置动作是由所述应用支持的装置动作,并且所述多个可执行命令是特定于所述应用的可执行命令。
18.根据权利要求17所述的方法,包括:
识别与所述装置可执行命令相关联的一个或者多个参数;以及
向所述客户端装置传输所述一个或者多个参数。
19.一种电子装置,包括:
音频接收器,用于生成与输入的基于语音的查询对应的音频信号,所述电子装置与由远程数据处理系统维护的装置动作数据和所述装置动作数据的标识符相关联,其中所述标识符包括装置型号标识符,所述装置型号标识符指示与所述装置动作数据相关联的多个电子装置的装置型号,并且其中所述装置动作数据包括由与所述装置动作数据相关联的所述多个电子装置支持的多个装置动作和多个装置可执行命令,所述多个装置动作中的每个装置动作关联于要与该装置动作相结合来提供的对应的音频或视觉响应,每个装置可执行命令用于触发对所述多个装置动作中的对应装置动作的执行;
通信接口,用于响应于所述基于语音的查询而将所述装置型号标识符和所述音频信号传输至所述远程数据处理系统,所述远程数据处理系统维护将所述装置型号标识符映射至所述多个装置动作和所述多个装置可执行命令的一个或者多个数据结构;
所述通信接口,用于响应于对所述音频信号的传输而从所述远程数据处理系统接收所述多个装置可执行命令中的装置可执行命令和要与对应的装置动作相结合来提供的对应的音频或视觉响应,所述装置可执行命令是由所述数据处理系统基于所述装置型号标识符、所述音频信号以及所述一个或者多个数据结构来识别的;以及
命令执行组件,用于在所述电子装置上执行从所述远程数据处理系统接收到的所述装置可执行命令以执行所述装置动作并且在所述电子装置上结合并基于对应的装置动作使用音频播放器或音频视觉播放器来渲染从所述远程数据处理系统接收到的对应的音频或视觉响应。
20.根据权利要求19所述的电子装置,包括:
扬声器,用于结合执行所述装置动作来播放对应的音频或视觉响应。
21.根据权利要求20所述的电子装置,包括:
所述命令执行组件,用于使所述扬声器在执行与所述装置可执行命令对应的所述装置动作之前播放对应的音频或视觉响应;
所述通信接口,用于使所述扬声器在执行与所述装置可执行命令对应的所述装置动作期间播放对应的音频或视觉响应;或者
所述通信接口,用于使所述扬声器在执行与所述装置可执行命令对应的所述装置动作之后播放对应的音频或视觉响应。
22.根据权利要求19所述的电子装置,其中,所述多个装置动作是由与所述装置型号相关联的电子装置支持的装置动作,并且所述多个可执行命令是特定于与所述装置型号相关联的所述电子装置的可执行命令。
23.根据权利要求22所述的电子装置,其中,所述装置型号标识符包括装置标识符。
24.根据权利要求19所述的电子装置,其中,所述装置包括:
移动装置;
机器人装置;
汽车;
家电装置;
照明控制系统;或者
家庭安全系统。
25.根据权利要求19所述的电子装置,其中,所述标识符包括与安装在关联于所述装置动作数据的所述电子装置上的应用相关联的标识符,所述多个装置动作是由所述应用支持的装置动作,并且所述多个可执行命令是特定于所述应用的可执行命令。
26.根据权利要求25所述的电子装置,包括:
所述通信接口,用于从所述远程数据处理系统接收与所述装置可执行命令相关联的一个或者多个参数;以及
所述命令执行组件使用所述一个或者多个参数来执行所述装置可执行命令。
27.根据权利要求25所述的电子装置,其中,所述应用使所述装置提供用于发起与第三方应用的语音对话的交互式用户界面组件。
28.根据权利要求27所述的电子装置,包括:
控制器,用于响应于与所述交互式用户界面组件的交互而发起与所述远程数据处理系统的通信会话。
29.一种实现对基于语音的交互的支持的方法,所述方法包括:
由电子装置生成与输入的基于语音的查询对应的音频信号,所述电子装置与由远程数据处理系统维护的装置动作数据和所述装置动作数据的标识符相关联,其中所述标识符包括装置型号标识符,所述装置型号标识符指示与所述装置动作数据相关联的多个电子装置的装置型号,所述装置动作数据包括由与所述装置动作数据相关联的所述多个电子装置支持的多个装置动作和多个装置可执行命令,所述多个装置动作中的每个装置动作关联于要与该装置动作相结合来提供的对应的音频或视觉响应,每个装置可执行命令用于触发对所述多个装置动作中的对应装置动作的执行;
由所述电子装置响应于所述基于语音的查询而将所述装置型号标识符和所述音频信号传输至所述远程数据处理系统,所述远程数据处理系统维护将所述装置型号标识符映射至所述多个装置动作和所述多个装置可执行命令的一个或者多个数据结构;
由所述电子装置响应于对所述音频信号的传输而从所述远程数据处理系统接收所述多个装置可执行命令中的装置可执行命令和要与对应的装置动作相结合来提供的对应的音频或视觉响应,所述装置可执行命令是由所述数据处理系统基于所述装置型号标识符、所述音频信号以及所述一个或者多个数据结构识别的;以及
由所述电子装置执行从所述远程数据处理系统接收到的所述装置可执行命令以执行所述装置动作并且由所述电子装置结合并基于对应的装置动作使用音频播放器或音频视觉播放器来渲染从所述远程数据处理系统接收到的对应的音频或视觉响应。
30.根据权利要求29所述的方法,包括:
结合执行所述装置动作来播放对应的音频或视觉响应。
31.根据权利要求30所述的方法,包括:
在执行与所述装置可执行命令对应的所述装置动作之前播放对应的音频或视觉响应;
在执行与所述装置可执行命令对应的所述装置动作期间播放对应的音频或视觉响应;或者
在执行与所述装置可执行命令对应的所述装置动作之后播放对应的音频或视觉响应。
32.根据权利要求29所述的方法,其中,所述多个装置动作是由与所述装置型号相关联的电子装置支持的装置动作,并且所述多个可执行命令是特定于与所述装置型号相关联的所述电子装置的可执行命令。
33.根据权利要求32所述的方法,其中,所述装置型号标识符包括装置标识符。
34.根据权利要求29所述的方法,其中,所述电子装置包括:
移动装置;
机器人装置;
汽车;
家电装置;
照明控制系统;或者
家庭安全系统。
35.根据权利要求29所述的方法,其中,所述标识符包括与安装在关联于所述装置动作数据的所述电子装置上的应用相关联的标识符,所述多个装置动作是由所述应用支持的装置动作,并且所述多个可执行命令是特定于所述应用的可执行命令。
36.根据权利要求35所述的方法,包括:
从所述远程数据处理系统接收与所述装置可执行命令相关联的一个或者多个参数;以及
使用所述一个或者多个参数来执行所述装置可执行命令。
37.根据权利要求35所述的方法,包括:所述应用使所述电子装置提供用于发起与所述应用的语音对话的交互式用户界面组件。
38.根据权利要求37所述的方法,包括:
响应于与所述交互式用户界面组件的交互而发起与所述远程数据处理系统的通信会话。
39.一种用于响应于基于语音的交互而提供内容的数据处理系统,包括:
存储器,用于存储包括由多个电子装置支持的多个装置动作-命令对的装置动作数据并且维护用于服务所述多个电子装置的多个音频或视觉响应,每个装置动作-命令对包括多个装置动作中的相应装置动作和多个装置可执行命令中的相应装置可执行命令以触发对所述相应装置动作的执行,所述多个音频或视觉响应中的每个音频或视觉响应被映射至由所述多个电子装置支持的所述多个装置动作对中的对应的装置动作对;
装置动作定制组件,用于将标识符映射至由所述多个电子装置支持的所述多个装置动作-命令对中的每个装置动作-命令对并且识别所述多个音频或视觉响应中与相应的装置动作-命令对相对应的音频或视觉响应,其中所述标识符包括装置型号标识符,所述装置型号标识符指示与所述多个电子装置的装置型号;
通信接口,用于从电子装置接收音频信号和所述装置型号标识符,所述音频信号是由所述电子装置响应于基于语音的查询而获得的;
自然语言处理器组件,用于通过使用与所述音频信号相关联的内容和所述装置型号标识符来识别所述多个装置动作-命令对中的装置动作-命令对;
所述装置动作定制组件,用于基于所述装置动作数据来识别所述基于语音的查询的场境;
内容选择器组件,用于基于所述基于语音的查询的所述场境来选择数字分量;以及
所述通信接口,用于将所述数字分量和与所述装置动作-命令对相关联的装置可执行命令传输至所述电子装置并且将对应的音频或视觉响应传输至所述电子装置以供呈现,所述装置可执行命令用于使得执行与所述装置动作-命令对相关联的所述装置动作,并且所述数字分量用于由所述电子装置呈现。
40.根据权利要求39所述的数据处理系统,其中,所述装置动作是第一装置动作,并且所述数据处理系统包括:
所述装置动作定制组件,用于:
使用与所述装置动作-命令对相关联的所述第一装置动作,识别与所述基于语音的查询相关联的预定义装置动作序列;
在所述预定义装置动作序列中识别在与所述装置动作-命令对相关联的所述第一装置动作之后的一个或者多个第二装置动作;以及
基于在所述装置动作之后的所述一个或者多个第二装置动作来识别所述基于语音的查询的所述场境的属性。
41.根据权利要求39所述的数据处理系统,其中,所述数字分量包括音频数字分量。
42.根据权利要求39所述的数据处理系统,包括:
所述存储器,用于针对所述多个装置动作-命令对中的每个装置动作-命令对,维护一个或者多个对应的关键字;以及
所述装置动作定制组件,用于基于与由所述自然语言处理器组件识别到的所述装置动作-命令对相关联的所述一个或者多个关键字来识别所述基于语音的查询的所述场境。
43.根据权利要求39所述的数据处理系统,其中,所述多个装置动作-命令对特定于所述装置型号。
44.根据权利要求43所述的数据处理系统,包括:
所述存储器,用于维护对与装置型号相关联的所述多个电子装置的描述;以及
所述装置动作定制组件,用于基于对与装置型号相关联的所述多个电子装置的所述描述来识别所述基于语音的查询的所述场境的属性。
45.根据权利要求39所述的数据处理系统,其中,所述标识符包括与安装在所述多个电子装置上的应用相关联的标识符,并且所述多个装置动作-命令对特定于所述应用。
46.根据权利要求45所述的数据处理系统,包括:
所述存储器,用于维护对安装在所述多个电子装置上的所述应用的描述;以及
所述装置动作定制组件,用于基于对安装在所述多个电子装置上的所述应用的所述描述来识别所述基于语音的查询的所述场境的属性。
47.根据权利要求45所述的数据处理系统,包括:
所述装置动作定制组件,用于识别与所述装置动作-命令对相关联的所述装置可执行命令的一个或者多个参数值;以及
所述装置动作定制组件,用于基于与所述装置动作-命令对相关联的所述装置可执行命令的所述一个或者多个参数值来识别所述基于语音的查询的所述场境的属性。
48.根据权利要求39所述的数据处理系统,包括:
所述装置动作定制组件,用于提供用户界面以允许将所述装置动作数据和所述标识符传输至所述数据处理系统。
49.根据权利要求39所述的数据处理系统,包括:
所述装置动作定制组件,用于提供静态应用编程接口以允许将所述装置动作数据和所述标识符传输至所述数据处理系统。
50.一种响应于基于语音的交互而提供内容的方法,所述方法包括:
在存储器中存储包括由多个电子装置支持的多个装置动作-命令对的装置动作数据,每个装置动作-命令对包括多个装置动作中的相应装置动作和多个装置可执行命令中的相应装置可执行命令,以触发对所述相应装置动作的执行;
维护用于服务所述多个电子装置的多个音频或视觉响应,所述多个音频或视觉响应中的每个音频或视觉响应被映射至由所述多个电子装置支持的所述多个装置动作对中的对应的装置动作对;
将标识符映射至由所述多个电子装置支持的所述多个装置动作-命令对中的每个装置动作-命令对,其中所述标识符包括装置型号标识符,所述装置型号标识符指示与所述多个电子装置的装置型号;
识别所述多个音频或视觉响应中与相应的装置动作-命令对相对应的音频或视觉响应;
从电子装置接收音频信号和所述装置型号标识符,所述音频信号是由所述电子装置响应于基于语音的查询而获得的;
使用与所述音频信号相关联的内容和所述装置型号标识符,识别所述多个装置动作-命令对中的装置动作-命令对;
基于所述装置动作数据来识别所述基于语音的查询的场境;
基于所述基于语音的查询的所述场境来选择数字分量;以及
将所述数字分量和与所述装置动作-命令对相关联的装置可执行命令传输至所述电子装置并且将对应的音频或视觉响应传输至所述电子装置以供呈现,所述装置可执行命令用于使得执行与所述装置动作-命令对相关联的所述装置动作,并且所述数字分量用于由所述电子装置呈现。
51.根据权利要求50所述的方法,其中,所述装置动作是第一装置动作,并且所述方法包括:
使用与所述装置动作-命令对相关联的所述第一装置动作,识别与所述基于语音的查询相关联的预定义装置动作序列;
在所述预定义装置动作序列中识别在与所述装置动作-命令对相关联的所述第一装置动作之后的一个或者多个第二装置动作;以及
基于在所述装置动作之后的所述一个或者多个第二装置动作来识别所述基于语音的查询的所述场境的属性。
52.根据权利要求50所述的方法,包括:
针对所述多个装置动作-命令对中的每个装置动作-命令对,维护一个或者多个对应的关键字;以及
基于与由自然语言处理器组件识别到的所述装置动作-命令对相关联的所述一个或者多个关键字来识别所述基于语音的查询的所述场境。
53.根据权利要求50所述的方法,其中,所述多个装置动作-命令对特定于所述装置型号。
54.根据权利要求53所述的方法,包括:
维护对与装置型号相关联的所述多个电子装置的描述;以及
基于对与装置型号相关联的所述多个电子装置的所述描述来识别所述基于语音的查询的所述场境的属性。
55.根据权利要求50所述的方法,其中,所述标识符包括与安装在所述多个电子装置上的应用相关联的标识符,并且所述多个装置动作-命令对特定于应用。
56.根据权利要求55所述的方法,包括:
维护对安装在所述多个电子装置上的所述应用的描述;以及
基于对安装在所述多个电子装置上的所述应用的所述描述来识别所述基于语音的查询的所述场境的属性。
57.根据权利要求55所述的方法,包括:
识别与所述装置动作-命令对相关联的所述装置可执行命令的一个或者多个参数值;以及
基于与所述装置动作-命令对相关联的所述装置可执行命令的所述一个或者多个参数值来识别所述基于语音的查询的所述场境的属性。
CN201880028784.5A 2018-03-07 2018-05-07 用于基于语音发起定制装置动作的系统和方法 Active CN110574105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410003320.6A CN117877477A (zh) 2018-03-07 2018-05-07 用于基于语音发起定制装置动作的系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862640007P 2018-03-07 2018-03-07
US62/640,007 2018-03-07
PCT/US2018/031454 WO2019172948A1 (en) 2018-03-07 2018-05-07 Systems and methods for voice-based initiation of custom device actions

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410003320.6A Division CN117877477A (zh) 2018-03-07 2018-05-07 用于基于语音发起定制装置动作的系统和方法

Publications (2)

Publication Number Publication Date
CN110574105A CN110574105A (zh) 2019-12-13
CN110574105B true CN110574105B (zh) 2024-01-23

Family

ID=62386969

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880028784.5A Active CN110574105B (zh) 2018-03-07 2018-05-07 用于基于语音发起定制装置动作的系统和方法
CN202410003320.6A Pending CN117877477A (zh) 2018-03-07 2018-05-07 用于基于语音发起定制装置动作的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202410003320.6A Pending CN117877477A (zh) 2018-03-07 2018-05-07 用于基于语音发起定制装置动作的系统和方法

Country Status (6)

Country Link
US (2) US11314481B2 (zh)
EP (1) EP3596729A1 (zh)
JP (2) JP7130761B2 (zh)
KR (2) KR20230051619A (zh)
CN (2) CN110574105B (zh)
WO (1) WO2019172948A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019135403A1 (ja) * 2018-01-05 2019-07-11 国立大学法人九州工業大学 ラベル付与装置、ラベル付与方法、及びプログラム
US11127395B1 (en) * 2018-05-23 2021-09-21 Amazon Technologies, Inc. Device-specific skill processing
KR20200055819A (ko) * 2018-11-08 2020-05-22 현대자동차주식회사 서비스 로봇 및 그의 운용 방법
KR20200098025A (ko) * 2019-02-11 2020-08-20 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20200109140A (ko) * 2019-03-12 2020-09-22 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
CN112164400A (zh) * 2020-09-18 2021-01-01 广州小鹏汽车科技有限公司 语音交互方法、服务器和计算机可读存储介质
KR20220118766A (ko) * 2021-02-19 2022-08-26 삼성전자주식회사 발화 입력에 기초한 커맨드를 처리하는 방법 및 모바일 디바이스
CN112540545B (zh) * 2021-02-22 2021-04-30 武汉世聪智能科技有限公司 一种基于多智能系统的智能设备控制方法及系统
US11915708B2 (en) * 2021-03-18 2024-02-27 Samsung Electronics Co., Ltd. Methods and systems for invoking a user-intended internet of things (IoT) device from a plurality of IoT devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1054391A2 (en) * 1999-05-21 2000-11-22 Canon Kabushiki Kaisha A system capable of processing speech data, a server for such a system and a machine for use in such a system
CN104731854A (zh) * 2013-12-18 2015-06-24 哈曼国际工业有限公司 语音识别查询响应系统
CN106062734A (zh) * 2013-12-02 2016-10-26 亚马逊技术股份有限公司 二级装置的自然语言控制
CN107113469A (zh) * 2014-11-26 2017-08-29 Lg电子株式会社 控制装置的系统、数字装置及其控制方法
CN107507614A (zh) * 2017-07-28 2017-12-22 北京小蓦机器人技术有限公司 结合ui执行自然语言命令的方法、设备、系统与存储介质

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69712485T2 (de) 1997-10-23 2002-12-12 Sony Int Europe Gmbh Sprachschnittstelle für ein Hausnetzwerk
US8498871B2 (en) * 2001-11-27 2013-07-30 Advanced Voice Recognition Systems, Inc. Dynamic speech recognition and transcription among users having heterogeneous protocols
US20050234779A1 (en) * 2003-11-17 2005-10-20 Leo Chiu System for dynamic AD selection and placement within a voice application accessed through an electronic information pace
CN101366073B (zh) * 2005-08-09 2016-01-20 移动声控有限公司 多种语音识别软件实例的使用
US7818176B2 (en) * 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
US8538757B2 (en) * 2007-05-17 2013-09-17 Redstart Systems, Inc. System and method of a list commands utility for a speech recognition command system
US8745213B2 (en) 2008-12-19 2014-06-03 Openpeak Inc. Managed services platform and method of operation of same
US10264138B2 (en) * 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US20110067059A1 (en) * 2009-09-15 2011-03-17 At&T Intellectual Property I, L.P. Media control
US20110271210A1 (en) * 2010-04-30 2011-11-03 American Teleconferncing Services Ltd. Conferencing Application Store
US8805683B1 (en) * 2012-02-24 2014-08-12 Google Inc. Real-time audio recognition protocol
TWI453603B (zh) 2010-06-30 2014-09-21 Ibm 平台無關之資訊處理系統,其通訊方法,及其電腦程式產品
US8787987B2 (en) * 2010-10-19 2014-07-22 General Motors Llc Configuring of vehicle communications modules
US10069781B2 (en) 2015-09-29 2018-09-04 Theatro Labs, Inc. Observation platform using structured communications with external devices and systems
US9847083B2 (en) * 2011-11-17 2017-12-19 Universal Electronics Inc. System and method for voice actuated configuration of a controlling device
KR101972955B1 (ko) * 2012-07-03 2019-04-26 삼성전자 주식회사 음성을 이용한 사용자 디바이스들 간 서비스 연결 방법 및 장치
US20140025233A1 (en) 2012-07-17 2014-01-23 Elwha Llc Unmanned device utilization methods and systems
US20140025230A1 (en) 2012-07-17 2014-01-23 Elwha LLC, a limited liability company of the State of Delaware Unmanned device interaction methods and systems
US9160844B2 (en) * 2012-08-06 2015-10-13 Angel.Com Incorporated Conversation assistant
US9196250B2 (en) * 2012-11-16 2015-11-24 2236008 Ontario Inc. Application services interface to ASR
US9172747B2 (en) * 2013-02-25 2015-10-27 Artificial Solutions Iberia SL System and methods for virtual assistant networks
US9397836B2 (en) * 2014-08-11 2016-07-19 Fisher-Rosemount Systems, Inc. Securing devices to process control systems
US9189196B2 (en) 2013-03-14 2015-11-17 Google Inc. Compartmentalized self registration of external devices
US9462663B2 (en) * 2013-05-28 2016-10-04 Abl Ip Holding Llc Interactive user interface functionality for lighting devices or system
US9443527B1 (en) * 2013-09-27 2016-09-13 Amazon Technologies, Inc. Speech recognition capability generation and control
US9823811B2 (en) 2013-12-31 2017-11-21 Next It Corporation Virtual assistant team identification
AU2015266863B2 (en) * 2014-05-30 2018-03-15 Apple Inc. Multi-command single utterance input method
US10448307B2 (en) * 2014-07-15 2019-10-15 Comcast Cable Communications, Llc Systems and methods for managing network devices
US9318107B1 (en) 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9741344B2 (en) * 2014-10-20 2017-08-22 Vocalzoom Systems Ltd. System and method for operating devices using voice commands
US10147421B2 (en) 2014-12-16 2018-12-04 Microcoft Technology Licensing, Llc Digital assistant voice input integration
US9552816B2 (en) * 2014-12-19 2017-01-24 Amazon Technologies, Inc. Application focus in speech-based systems
US9811312B2 (en) 2014-12-22 2017-11-07 Intel Corporation Connected device voice command support
US10509829B2 (en) * 2015-01-21 2019-12-17 Microsoft Technology Licensing, Llc Contextual search using natural language
US9947364B2 (en) 2015-09-16 2018-04-17 Google Llc Enhancing audio using multiple recording devices
US20170092278A1 (en) 2015-09-30 2017-03-30 Apple Inc. Speaker recognition
US9747926B2 (en) 2015-10-16 2017-08-29 Google Inc. Hotword recognition
US9928840B2 (en) 2015-10-16 2018-03-27 Google Llc Hotword recognition
US9653075B1 (en) 2015-11-06 2017-05-16 Google Inc. Voice commands across devices
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10743101B2 (en) 2016-02-22 2020-08-11 Sonos, Inc. Content mixing
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10958695B2 (en) 2016-06-21 2021-03-23 Google Llc Methods, systems, and media for recommending content based on network conditions
US9972320B2 (en) 2016-08-24 2018-05-15 Google Llc Hotword detection on multiple devices
US10528977B1 (en) * 2016-09-22 2020-01-07 Amazon Technologies, Inc. Generating dynamic audio content for delivery to audio devices
US10096319B1 (en) * 2017-03-13 2018-10-09 Amazon Technologies, Inc. Voice-based determination of physical and emotional characteristics of users
US11450314B2 (en) * 2017-10-03 2022-09-20 Google Llc Voice user interface shortcuts for an assistant application
CN107919129A (zh) * 2017-11-15 2018-04-17 百度在线网络技术(北京)有限公司 用于控制页面的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1054391A2 (en) * 1999-05-21 2000-11-22 Canon Kabushiki Kaisha A system capable of processing speech data, a server for such a system and a machine for use in such a system
CN106062734A (zh) * 2013-12-02 2016-10-26 亚马逊技术股份有限公司 二级装置的自然语言控制
CN104731854A (zh) * 2013-12-18 2015-06-24 哈曼国际工业有限公司 语音识别查询响应系统
CN107113469A (zh) * 2014-11-26 2017-08-29 Lg电子株式会社 控制装置的系统、数字装置及其控制方法
CN107507614A (zh) * 2017-07-28 2017-12-22 北京小蓦机器人技术有限公司 结合ui执行自然语言命令的方法、设备、系统与存储介质

Also Published As

Publication number Publication date
US20220244910A1 (en) 2022-08-04
CN117877477A (zh) 2024-04-12
KR102520068B1 (ko) 2023-04-10
WO2019172948A1 (en) 2019-09-12
JP2022164744A (ja) 2022-10-27
JP2021515911A (ja) 2021-06-24
CN110574105A (zh) 2019-12-13
KR20200128725A (ko) 2020-11-16
US11314481B2 (en) 2022-04-26
JP7130761B2 (ja) 2022-09-05
US20210026593A1 (en) 2021-01-28
EP3596729A1 (en) 2020-01-22
KR20230051619A (ko) 2023-04-18

Similar Documents

Publication Publication Date Title
CN110574105B (zh) 用于基于语音发起定制装置动作的系统和方法
US11087752B2 (en) Systems and methods for voice-based initiation of custom device actions
EP3964994B1 (en) Synchronizing access controls between computing devices
WO2018157721A1 (zh) 信息获取方法、提供方法、装置及系统、存储介质
US11556442B2 (en) Immersive web-based simulator for digital assistant-based applications
US11556454B2 (en) Immersive web-based simulator for digital assistant-based applications
JP5559078B2 (ja) コミュニケーションシステム
US11425071B2 (en) Uniform resource identifier and image sharing for contextual information display
CN107924403B (zh) 查询组成系统
US9968844B2 (en) Server and user device for providing a computer implemented game reward
EP4235438A2 (en) Assessing applications for delivery via an application delivery server
US11765118B1 (en) Selective posting for social networks
JP2018010409A (ja) 情報処理装置及びプログラム

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
GR01 Patent grant
GR01 Patent grant