CN110692040A - 在网络系统中激活远程设备 - Google Patents

在网络系统中激活远程设备 Download PDF

Info

Publication number
CN110692040A
CN110692040A CN201880027173.9A CN201880027173A CN110692040A CN 110692040 A CN110692040 A CN 110692040A CN 201880027173 A CN201880027173 A CN 201880027173A CN 110692040 A CN110692040 A CN 110692040A
Authority
CN
China
Prior art keywords
service provider
component
computing device
client computing
audio signal
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
CN201880027173.9A
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 CN110692040A publication Critical patent/CN110692040A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • 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/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开总体上涉及互联网络中生成语音激活的数据流。语音激活的数据流能够包括输入音频信号,该输入音频信号包括请求并且在客户端设备处被检测到。客户端设备能够将输入音频信号发送到数据处理系统,在该数据处理系统处,输入音频信号能够被解析并传递到服务提供者的数据处理系统,以履行输入音频信号中的请求。本解决方案被配置为通过减少履行请求所需的网络传输数来节省网络资源。

Description

在网络系统中激活远程设备
背景技术
计算设备之间基于分组或其他方式的网络业务数据的过量网络传输可能妨碍计算设备妥善地处理网络业务数据、完成有关网络业务数据的操作或者及时响应网络业务数据。如果响应的计算设备达到或超过其处理能力,则网络业务数据的过量网络传输也会加重数据路由或降低响应质量,这可能导致带宽利用率下降。当响应于第一网络传输使用多个网络传输来澄清或请求附加信息时,可能发生过量的网络传输。
发明内容
根据本公开的至少一个方面,一种在联网的计算机环境中生成语音激活线程的系统能够包括数据处理系统。数据处理系统能够包括一个或多个处理器和存储器。数据处理系统能够执行自然语言处理器(“NLP”)、远程应用启动器和动作处理程序组件。数据处理系统能够通过NLP组件接收由第一客户端计算设备的传感器检测到的第一输入音频信号。数据处理系统能够通过NLP组件解析第一输入音频信号以识别第一请求和第一实体。数据处理系统能够通过动作处理程序组件确定多个候选服务提供者设备。多个候选服务提供者设备中的每个候选服务提供者设备能够被配置为履行第一请求。多个候选服务提供者设备中的每个候选服务提供者设备能够与安装在第一客户端计算设备上的相应应用相关联。数据处理系统能够通过动作处理程序组件从多个候选服务提供者设备中选择服务提供者设备。数据处理系统能够通过远程应用启动器生成数字组件。数字组件能够包括与服务提供者设备相关联的应用的指示和第一实体。数字组件能够被配置为当由第一客户端计算设备执行时启动与服务提供者设备相关联的应用以履行第一请求。数据处理系统能够通过动作处理程序组件响应于第一输入音频信号,将数字组件发送到第一客户端计算设备。
根据本公开的至少一个方面,一种在联网的计算机环境中生成语音激活线程的方法能够包括:通过由数据处理系统执行的NLP组件,接收由第一客户端计算设备的传感器检测到的第一输入音频信号。所述方法能够包括:通过NLP组件,解析第一输入音频信号以识别第一请求和第一实体。所述方法能够包括:通过由数据处理系统执行的动作处理程序组件,确定多个候选服务提供者设备。多个候选服务提供者设备中的每个能够被配置为履行第一请求。多个候选服务提供者设备中的每个候选服务提供者设备能够与安装在第一客户端计算设备上的相应应用相关联。所述方法能够包括:通过动作处理程序组件,从多个候选服务提供者设备中选择服务提供者设备。所述方法能够包括:通过由数据处理系统执行的远程应用启动器,生成数字组件。数字组件能够包括与服务提供者设备相关联的应用的指示和第一实体。数字组件能够被配置为当由第一客户端计算设备执行时启动与服务提供者设备相关联的应用以履行第一请求。所述方法能够包括:通过动作处理程序组件,响应于第一输入音频信号,将数字组件发送到第一客户端计算设备。
根据本公开的至少一个方面,一种在联网的计算机环境中生成语音激活线程的系统能够包括数据处理系统。数据处理系统能够执行NLP组件和动作处理程序组件。数据处理系统能够接收由第一客户端计算设备的传感器检测到的第一输入音频信号。数据处理系统能够解析第一输入音频信号以识别第一请求。数据处理系统能够基于第一请求来选择第一动作数据结构。第一动作数据结构能够与第一服务提供者设备相关联。数据处理系统能够至少基于第一动作数据结构中的字段将第一基于音频的输入请求发送到第一客户端。数据处理系统能够接收由第一客户端计算设备的传感器检测到的第二输入音频信号,该第二输入音频信号是响应于第一基于音频的输入请求而生成。数据处理系统能够解析第二输入音频信号以识别第二输入音频信号中的响应实体。数据处理系统能够基于与第一客户端计算设备相关联的扩展策略来扩展响应实体。扩展响应实体能够包括将响应实体转换成与第一动作数据结构中的字段相关联的格式。数据处理系统能够将经扩展的响应实体填充到第一动作数据结构的字段中。数据处理系统能够将第一动作数据结构发送到第一服务提供者以履行第一请求。
根据本公开的至少一个方面,一种在联网的计算机环境中生成语音激活线程的方法能够包括:接收由第一客户端计算设备的传感器检测到的第一输入音频信号。所述方法能够包括解析第一输入音频信号以识别第一请求。所述方法能够包括基于第一请求来选择第一动作数据结构。第一动作数据结构能够与第一服务提供者设备相关联。所述方法能够包括至少基于第一动作数据结构中的字段将第一基于音频的输入请求发送到第一客户端。所述方法能够包括接收由第一客户端计算设备的传感器检测到的第二输入音频信号,该第二输入音频信号是响应于第一基于音频的输入请求而生成。所述方法能够包括解析第二输入音频信号以识别第二输入音频信号中的响应实体。所述方法能够包括基于与第一客户端计算设备相关联的扩展策略来扩展响应实体。扩展响应实体能够包括将响应实体转换成与第一动作数据结构中的字段相关联的格式。所述方法能够包括将经扩展的响应实体填充到第一动作数据结构的字段中。所述方法能够包括将第一动作数据结构发送到第一服务提供者设备以履行第一请求。
每个方面能够可选地包括以下特征中的一个或多个。通过自然语言处理器组件,解析第一输入音频信号以识别第二实体;通过由数据处理系统执行的动作处理程序组件,基于与第一客户端计算设备相关联的扩展策略,将第二实体扩展为与数字组件的字段相关联的格式;通过动作处理程序组件,生成数字组件以将经扩展的第二实体包括到数字组件的字段中。通过自然语言处理器组件,解析第一输入音频信号以识别第二实体;以及通过动作处理程序组件,基于与第一客户端计算设备相关联的扩展策略,确定不能扩展第二实体。通过动作处理程序组件,将基于音频的输入请求发送到第一客户端计算设备以请求经更新的实体。数字组件可以被配置为当由第一客户端计算设备执行时用第一实体填充与服务提供者设备相关联的应用的字段。通过动作处理程序组件,测量数据处理系统与多个候选服务提供者设备中的每个候选服务提供者设备之间的网络延时;以及通过动作处理程序组件,至少基于数据处理系统与多个候选服务提供者设备中的每个候选服务提供者设备之间的网络延时从多个候选服务提供者设备中选择服务提供者设备。通过动作处理程序组件,至少基于多个候选服务提供者设备中的每个候选服务提供者设备的性能从多个候选服务提供者设备中选择服务提供者设备。通过动作处理程序组件,至少基于与第一客户端计算设备相关联的偏好从多个候选服务提供者设备中选择服务提供者设备。通过自然语言处理器组件,接收由第一客户端计算设备的传感器检测到的第二输入音频信号,该第二输入音频信号包括服务提供者设备的指示;以及通过动作处理程序组件,至少基于服务提供者设备的指示从多个候选服务提供者设备中选择服务提供者设备。通过自然语言处理器组件,接收由第一客户端计算设备的传感器检测到的第二输入音频信号;通过自然语言处理器组件,解析第二输入音频信号以识别第二请求和第二实体;通过动作处理程序组件,确定服务提供者设备被配置为履行第二请求;通过动作处理程序组件,基于所述第二请求生成第一动作数据结构,所述第一动作数据结构包括所述第二实体;通过动作处理程序组件,将第一动作数据结构发送到服务提供者设备。
下面详细讨论这些方面和其他方面以及实施方式。以上信息和以下详细描述包括各个方面和实施方式的说明性示例并且提供用于理解所要求保护的方面和实施方式的性质和特征的概述或框架。附图提供对各个方面和实施方式的说明和进一步理解并且并入本说明书且构成本说明书的一部分。
附图说明
附图并非旨在按比例绘制。各图中相似的附图标号和标记指示相似的元素。为清楚起见,可以不在每个附图中标记每个组件。图中:
图1示出根据本公开的示例的用于认证计算设备的示例系统的框图。
图2示出根据本公开的示例的在图1所示的系统中生成语音激活线程的示例方法的框图。
图3示出根据本公开的示例的图1所示的系统的组件之间的示例数据流的框图。
图4示出根据本公开的示例的在图1所示的系统中生成语音激活线程的示例方法的框图。
图5示出根据本公开的示例的图1所示的系统的组件之间的示例数据流的框图。
图6是根据本公开的示例的在图1所示的系统中能够使用的示例计算机系统的框图。
具体实施方式
下面更详细地描述有关在互联网络中生成语音激活的数据流的方法、装置和系统的各种概念及其实施方式。上面介绍和下面更详细讨论的各种概念以许多方式中的任一方式来实现。
本公开总体上涉及在互联网络中生成语音激活的数据流。语音激活的数据流能够包括输入音频信号,该输入音频信号包括请求并且在客户端设备处被检测到。客户端设备能够将输入音频信号发送到数据处理系统,在该数据处理系统中,输入音频信号能够被解析并传递到服务提供者的数据处理系统,以履行输入音频信号中的请求。语音激活的系统可能导致过量的数据传输,因为数据处理系统中的一个或多个可能无法解析或理解输入音频信号中的实体或词项。例如,由于语音激活系统的对话性质,用户常会提供从上下文中移除时可能含糊或不清楚的对话式答案。例如,当使词项音驱动(且免提)的数字助理设备下订单时,服务提供者的数据处理系统可以接收来自数字助理设备的其中包括“order acoffee from the coffee shop near my house(请从我家附近的咖啡店点杯咖啡)”的陈述的输入音频信号。服务提供者的数据处理系统可以理解短语“near my house(我家附近)”是位置实体;然而,服务提供者的数据处理系统可能无法将该短语转换为特定位置或特定咖啡店的地址。当服务提供者的数据处理系统将后续请求发送到数字助理设备以请求澄清或附加的输入音频信号时,这可能导致计算资源的浪费。
本技术解决方案的系统和方法通过减少完成基于语音的请求所需的网络传输次数,实现降低计算资源利用率和网络带宽。本解决方案能够使得数字助理自动将不清楚的词项转换为能够由服务提供者的数据处理系统处理的词项,这样就能减少完成请求所需的后续输入音频信号的数量。例如,本解决方案能够使得数字助理在将该词项发送到服务提供者的数据处理系统之前将词项“home(家)”转换为特定地址,以便能够将“123Main St.(主街123号)”而非词项“home”发送到服务提供者的数据处理系统。
本解决方案也能够提高终端用户的隐私性。例如,终端用户能够批准将地址发送到第三方服务提供者。然而,终端用户可能不希望允许第三方知道所提供的位置是终端用户的家庭地址。本解决方案能够使得数字助理将词项“home”(或其他受保护的词项)转换为第三方不知道这是用户住所的格式化数据(例如,特定地址)。本解决方案能够解决与第三方服务提供者使用基于语音的界面与用户交互相关联的问题,并且能够克服与允许第三方服务提供者与基于语音的系统一起操作相关联的技术挑战。
图1示出在联网的计算机环境中生成语音激活线程的示例系统100。系统100能够包括数据处理系统102。数据处理系统102能够经由网络105与数字组件提供者设备106(例如,内容提供者设备)、客户端计算设备104或者服务提供者设备160中的一个或多个进行通信。网络105能够包括诸如因特网、局域网、广域网、城域网或其他区域网的计算机网络、内联网、卫星网络以及诸如语音或数据移动电话网络的其他通信网络。网络105能够被使用于访问诸如web页面、web站点、域名或统一资源定位符的信息资源,能够在诸如膝上型计算机、桌面型计算机、平板型计算机、数字助理、个人数字助理、智能手表、可佩戴设备、智能电话、便携式计算机或扬声器的至少一个计算设备104上呈现、输出、再现或显示该信息资源。例如,经由网络105,客户端计算设备104的用户能够访问由数字组件提供者设备106或服务提供者设备160提供的信息、数据或服务。客户端计算设备104可以包括或可以不包括显示器。例如,客户端计算设备104可以包括有限类型的用户接口,诸如麦克风和扬声器(例如,客户端计算设备104能够包括基于语音驱动或基于音频的接口)。计算设备104的主用户接口能够包括麦克风和扬声器。
网络105能够包括或构成显示网络,例如,因特网上可用的与内容放置或搜索引擎结果系统相关联或者有资格包括第三方数字组件的信息资源的子集。数据处理系统102能够使用网络105来访问能够通过客户端计算设备104呈现、输出、再现或显示的信息资源,诸如web页面、web站点、域名或统一资源定位符。例如,经由网络105,客户端计算设备104的用户能够访问由数字组件提供者设备106提供的信息或数据。
网络105可以是任何类型或形式的网络并且可以包括以下任何一种:点对点网络、广播网络、广域网、局域网、电信网络、数据通信网络、计算机网络、ATM(异步传输模式)网络、SONET(同步光纤网络)网络、SDH(同步数字体系)网络、无线网络和有线网络。网络105可以包括无线链路,诸如红外信道或卫星频带。网络105的拓扑可以包括总线型、星形或环形网络拓扑。网络可以包括移动电话网络,其使用任何一种或多种用于在移动设备之间进行通信的协议,包括高级移动电话协议(“AMPS”)、时分多址(“TDMA”)、码分多址(“CDMA”)、全球移动通信系统(“GSM”)、通用分组无线服务(“GPRS”)或通用移动电信系统(“UMTS”)。可以经由不同的协议传输不同类型的数据,或者可以经由不同的协议传输相同类型的数据。
系统100能够包括至少一个数据处理系统102。数据处理系统102能够包括至少一个逻辑设备,诸如计算设备,其处理器经由网络105与例如计算设备104、服务提供者设备160或数字组件提供者设备106进行通信。数据处理系统102能够包括至少一个计算资源、服务器、处理器或存储器。例如,数据处理系统102能够包括位于至少一个数据中心的多个计算资源或服务器。数据处理系统102能够包括多个逻辑分组的服务器并且有助于分布式计算技术。服务器的逻辑组可以称为数据中心、服务器场或机器场。服务器也能够在地理位置上分散。数据中心或机器场可以作为单个实体来管理,或者该机器场能够包括多个机器场。每个计算机场内的服务器能够是异构的:服务器或机器中的一个或多个能够根据一种或多种类型的操作系统平台来操作。
机器场中的服务器能够连同相关联的存储系统一起存放在高密度机架系统中并且位于企业数据中心。例如,以这种方式,通过在本地化高性能网络上定位服务器和高性能存储系统,整合服务器可以提高系统易管理性、数据安全性、系统的物理安全性和系统性能。集中包括服务器和存储系统在内的全部或一些数据处理系统102组件并且将它们与高级系统管理工具耦合允许更高效地利用服务器资源,这样节省功率和处理需求并且减少带宽占用。
客户端计算设备104能够包括、执行至少一个本地数字助理134、至少一个传感器138、至少一个换能器140、至少一个音频驱动器142或至少一个显示器144中的一个或多个、与之交互,或以其他方式与之通信。传感器138能够例如包括相机、环境光传感器、接近传感器、温度传感器、加速计、陀螺仪、运动检测器、GPS传感器、位置传感器、麦克风、视频、图像检测或触摸传感器。换能器140能够包括扬声器或麦克风或是其一部分。音频驱动器142能够向硬件换能器140提供软件接口。音频驱动器142能够执行音频文件或由数据处理系统102提供的其他指令,以控制换能器140生成对应的音波或声波。显示器144能够包括配置为提供视觉指示或光学输出的一个或多个硬件或软件组件,诸如发光二极管、有机发光二极管、液晶显示器、激光器或显示器。
本地数字助理134能够包括一个或多个处理器、逻辑阵列或存储器,或者由其执行。本地数字助理134能够检测关键词并且基于该关键词执行动作。本地数字助理134能够是在数据处理系统102处执行的远程数字助理组件112的实例或者能够执行远程数字助理组件112的任何功能。本地数字助理134能够在将词项作为数据发送到数据处理系统102(例如,远程数字助理组件112)以进行进一步处理之前过滤掉一个或多个词项或修改词项。本地数字助理134能够将由换能器140检测到的模拟音频信号转换为数字音频信号并且经由网络105将携带数字音频信号的一个或多个数据分组发送到数据处理系统102。本地数字助理134能够响应于检测到执行这种发送的指令而发送携带其中一些或全部输入音频信号的数据分组。该指令能够例如包括触发关键词或其他关键词或者批准,以将包括输入音频信号的数据分组发送到数据处理系统102。
本地数字助理134能够对输入音频信号执行预滤波或预处理以去除音频的某些频率。预滤波能够包括滤波器,诸如低通滤波器、高通滤波器或带通滤波器。滤波器能够被应用于频域。能够通过使用数字信号处理技术来应用滤波器。滤波器能够被配置为保持对应于人类声音或人类语音的频率,同时消除超出人类语音的典型频率的频率。例如,带通滤波器能够被配置为去除低于第一阈值(例如,70Hz、75Hz、80Hz、85Hz、90Hz、95Hz、100Hz或105Hz)和高于第二阈值(例如,200Hz、205Hz、210Hz、225Hz、235Hz、245Hz或255Hz)的频率。应用带通滤波器能够降低下游处理中的计算资源利用率。计算设备104上的本地数字助理134能够在将输入音频信号发送到数据处理系统102之前应用带通滤波器,从而降低网络带宽利用率。然而,基于可用于计算设备104的计算资源和可用的网络带宽,可能更高效的是,将输入音频信号提供给数据处理系统102以允许数据处理系统102执行滤波。
本地数字助理134能够应用附加的预处理或预滤波技术,诸如降噪技术,以减少可能干扰自然语言处理器的环境噪声水平。降噪技术能够提高自然语言处理器的精度和速度,从而提高数据处理系统102的性能,并且管理经由显示器144提供的图形用户界面的再现。
客户端计算设备104能够与终端用户相关联,该终端用户将语音查询作为音频输入(经由传感器138或换能器140)输入到客户端计算设备104中并且接收从数据处理系统102或数字组件提供者设备106输出的音频(或其他)以呈现、显示或再现给客户端计算设备104的终端用户。数字组件能够包括能够从数据处理系统102或数字组件提供者设备106提供给客户端计算设备104的计算机生成的语音。客户端计算设备104能够经由换能器140(例如,扬声器)将计算机生成的语音再现给终端用户。计算机生成的语音能够包括来自真人的录音或计算机生成的语言。客户端计算设备104能够经由以通信方式耦合到计算设备104的显示设备144提供视觉输出。
将语音查询输入到客户端计算设备104的终端用户能够与多个客户端计算设备104相关联。例如,终端用户能够与可以是基于扬声器的数字助理设备的第一客户端计算设备104、可以是移动设备(例如,智能电话)的第二客户端计算设备104和可以是桌面型计算机的第三客户端计算设备104相关联。数据处理系统102能够通过公共的登录、位置、网络或其他链接数据来关联客户端计算设备104中的每个客户端计算设备。例如,终端用户能够使用相同的帐号用户名和密码登录到客户端计算设备104中的每个客户端计算设备。
客户端计算设备104能够接收由计算设备104的传感器138(例如,麦克风)检测到的输入音频信号。输入音频信号能够例如包括查询、问题、命令、指令或以口语提供的其他陈述。输入音频信号能够包括问题或请求所针对的第三方(例如,数字组件提供者设备106)的标识符或名称。例如,查询能够在输入音频信号中包括基于订阅的音乐服务(示例数字组件提供者设备106)的名称,以便指令数据处理系统102将请求提供给指定的基于订阅的音乐服务。例如,输入音频信号能够包括“Play my music playlist on XYZ Music Service(请在XYZ音乐服务上播放我的音乐播放列表)”。音乐服务能够经由网络105将与播放列表相关联的歌曲提供给客户端计算设备104或者提供给能够经由网络105将与播放列表相关联的歌曲提供给客户端计算设备104的数据处理系统102。
客户端计算设备104能够包括、执行或被称为数字助理设备。数字助理设备能够包括计算设备104的一个或多个组件。数字助理设备能够包括图形驱动器,该图形驱动器能够接收来自数据处理系统102的显示输出并且在显示器132上再现该显示输出。图形驱动器能够包括控制或增强如何在显示器144上显示图形或视觉输出的硬件或软件组件。图形驱动器能够例如包括控制图形组件如何与计算设备104(或数字助理)的其余部分协作的程序。本地数字助理134能够对输入音频信号进行滤波以创建经滤波的输入音频信号,将经滤波的输入音频信号转换为数据分组,并且将数据分组发送到包括一个或多个处理器和存储器的数据处理系统。
数字助理设备能够包括音频驱动器142和扬声器组件(例如,换能器140)。预处理器组件140能够接收显示输出的指示并且指令音频驱动器142生成输出音频信号,以促使扬声器组件(例如,换能器140)发送与显示输出的指示相对应的音频输出。
系统100能够包括、访问至少数字组件提供者设备106,或者与之交互。数字组件提供者设备106能够包括能够将数字组件提供给客户端计算设备104或数据处理系统102的一个或多个服务器。数字组件提供者设备106或其组件能够与数据处理系统102集成或者至少部分地由数据处理系统102执行。数字组件提供者设备106能够包括至少一个逻辑设备,诸如具有处理器的计算设备,以经由网络105与例如计算设备104、数据处理系统102或数字组件提供者设备106进行通信。数字组件提供者设备106能够包括至少一个计算资源、服务器、处理器或存储器。例如,数字组件提供者设备106能够包括位于至少一个数据中心的多个计算资源或服务器。
数字组件提供者设备106能够提供基于音频、视觉或多媒体的数字组件以供客户端计算设备104作为音频输出数字组件或视觉输出数字组件呈现。数字组件能够是或包括数字内容。数字组件能够是或包括数字对象。数字组件能够包括基于订阅的内容或付费内容。数字组件能够包括多个数字内容项。例如,数字组件能够是来自流送音乐服务(例如,数字组件提供者设备106)的数据流。流送的数字组件能够包括多首歌曲作为不同的数字内容项。数字组件能够包括或能够是数字电影、网站、歌曲、应用(例如,智能电话或其他客户端设备应用)或者其他基于文本、基于音频、基于图像或基于视频的内容。
数字组件提供者设备106能够经由网络105将数字组件提供给客户端计算设备104并且绕过数据处理系统102。数字组件提供者设备106能够经由网络105和数据处理系统102将数字组件提供给客户端计算设备104。例如,数字组件提供者设备106能够将数字组件提供给数据处理系统102,该数据处理系统能够存储数字组件并且当客户端计算设备104请求时将数字组件提供给客户端计算设备104。
数据处理系统102能够包括至少一个计算资源或服务器。数据处理系统102能够包括至少一个接口110,与之交互,或以其他方式与之通信。数据处理系统102能够包括至少一个远程数字助理组件112,与之交互,或以其他方式与之通信。远程数字助理组件112能够包括至少一个NLP组件114、至少一个直接动作处理程序组件135和至少一个远程应用启动器116,与之交互,或以其他方式与之通信。数据处理系统102能够包括至少一个数字组件选择器120,与之交互,或以其他方式与之通信。数据处理系统102能够包括至少一个数据存储库124,与之交互,或以其他方式与之通信。至少一个数据存储库124能够在一个或多个数据结构或数据库中包括或存储深层链接126、策略128、模板130或内容数据132。数据存储库124能够包括一个或多个本地数据库或分布式数据库并且能够包括数据库管理。
数据处理系统102的组件能够各自包括配置为与数据库存储库或数据库124进行通信的至少一个处理单元或其他逻辑设备,诸如可编程逻辑阵列引擎或模块。数据处理系统102的组件能够是单独的组件、单个组件或多个数据处理系统102的一部分。系统100及其组件诸如数据处理系统102能够包括硬件元件,诸如一个或多个处理器、逻辑设备或电路。
数据处理系统102能够包括接口110。接口110能够被配置、构建或可操作为例如通过使用数据分组来接收和发送信息。接口110能够通过使用诸如网络协议的一个或多个协议来接收和发送信息。接口110能够包括硬件接口、软件接口、有线接口或无线接口。接口110能够促进将数据从一种格式转换或格式化成另一种格式。例如,接口110能够包括应用编程接口(“API”),该应用编程接口包括用于在诸如软件组件的各种组件之间进行通信的定义。
数据处理系统102能够包括安装在诸如本地数字助理134的客户端计算设备104上的应用、脚本或程序,以将输入音频信号传送到数据处理系统102的接口110并且驱动客户端计算设备的组件再现输出音频信号或视觉输出。数据处理系统102能够接收数据分组、数字文件或者包括或识别输入音频信号(或多个输入音频信号)的其他信号。计算设备104能够经由换能器140检测音频信号并且经由模数转换器将模拟音频信号转换为数字文件。例如,音频驱动器142能够包括模数转换器组件。预处理器组件140能够将音频信号转换为能够经由数据分组在网络105上发送的数字文件。
数据处理系统102的远程数字助理组件112能够执行或运行NLP组件114以接收或获得包括由计算设备104的传感器138检测到的输入音频信号的数据分组。数据分组能够提供数字文件。NLP组件114能够接收或获得包括音频信号的数字文件或数据分组并且解析音频信号。例如,NLP组件114能够提供人与计算机之间的交互。NLP组件114能够配置有用于理解自然语言并且使得数据处理系统102从人类或自然语言输入中推导出含义的技术。NLP组件114能够包括或配置有基于机器学习诸如统计机器学习的技术。NLP组件114能够利用决策树、统计模型或概率模型来解析输入音频信号。NLP组件114能够例如执行如下功能:命名实体识别(例如,给定文本流,确定文本中的哪些项目映射到名称,诸如人或地点,以及每个这样的名称是何种类型,诸如人、位置(例如,“home”)或组织)、自然语言生成(例如,将来自计算机数据库的信息或语义意图转换为可理解的人类语言)、自然语言理解(例如,将文本转换为更正式的表达,诸如计算机模块能够操纵的一阶逻辑结构)、机器翻译(例如,自动将文本从一种人类语言翻译成另一种人类语言)、语素切分(例如,将词分为独立词素并且识别词素的类,这由于考虑中语言的词法或词结构的复杂度而具有挑战性)、问题解答(例如,确定对人类语言问题的答案,这可以是具体或开放式的),或者语义处理(例如,在识别词并对其含义进行编码以便将所识别的词与具有相似含义的其他词相关之后可能发生的处理)。
NLP组件114能够通过将输入信号与存储的代表性音频波形集(例如,存储在数据仓库124中)进行比较并且选取最接近的匹配,将输入音频信号转换为已辨识的文本。该音频波形集能够被存储在数据存储库124或数据处理系统102可访问的其他数据库中。代表波形是跨大批用户而生成,然后可以用来自用户的语音样本来扩充。在音频信号被转换为已辨识的文本之后,NLP组件114将该文本与例如经由跨用户的训练或通过手动指定而与数据处理系统102能够服务的动作相关联的词匹配。NLP组件114能够将图像或视频输入转换为文本或数字文件。NLP组件114能够处理、分析或解释图像或视频输入以执行动作、生成请求或者选择或识别数据结构。
作为输入音频信号的补充或替代,数据处理系统102能够接收图像或视频输入信号。数据处理系统102能够例如通过使用图像解释技术、计算机视觉、机器学习引擎或其他技术来处理图像或视频输入信号,以辨识或解释图像或视频以将图像或视频转换为数字文件。一种或多种图像解释技术、计算机视觉技术或机器学习技术能够被统称为成像技术。作为音频处理技术的补充或替代,数据处理系统102(例如,NLP组件114)能够配置有成像技术。
NLP组件114能够获得输入音频信号。根据输入音频信号,NLP组件114能够识别至少一个请求、与该请求相对应的至少一个触发关键词和一个或多个实体。该请求能够指示输入音频信号的意图、数字组件或主题。触发关键词能够指示可能采取的动作类型。例如,NLP组件114能够解析输入音频信号,以识别至少一个请求以晚上离开家吃晚餐和看电影。触发关键词能够包括至少一个指示要采取的动作的词、短语、词根或部分词或者派生词。意图能够是识别要采取的动作或与之交互的代理的明确声明的意图。例如,包含关于汽车服务的明确意图的输入音频信号能够是“Ok,get me a car service to the go to themovies(OK,帮我叫去看电影的汽车服务)”。意图也能够被推导出或未明确声明。例如,在包括“Ok,I want to go to the movies(OK,我想去看电影)”的输入音频信号中未明确地请求汽车服务,但NLP组件114能够推导出意图。例如,来自输入音频信号的触发关键词“go(去)”或“to go to(想去)”能够指示对交通的需求。在本示例中,输入音频信号(或所识别的请求)未直接表达交通意图,但触发关键词指示交通是请求所指示的至少一个其他动作的辅助动作。
NLP组件114能够解析输入音频信号以识别、确定、检索或以其他方式获得请求和触发关键词。譬如,NLP组件114能够将语义处理技术应用于输入音频信号,以识别触发关键词或请求。NLP组件114能够将语义处理技术应用于输入音频信号,以识别包括一个或多个触发关键词诸如第一触发关键词和第二触发关键词的触发短语。例如,输入音频信号能够包括语句“Play my favorite song(请播放我喜爱的歌曲)”。NLP组件114能够确定输入音频信号包括触发关键词“play(播放)”。NLP组件114能够确定该请求是针对终端用户的喜爱歌曲(数字组件)。NLP组件114能够识别输入音频信号中的应用标识符或数字组件提供者设备106标识符。应用标识符或数字组件提供者设备106标识符能够指示终端用户愿意履行请求的那个应用或数字组件提供者设备106。
数据处理系统102能够执行或运行直接动作处理程序组件135的实例。直接动作处理程序组件135能够基于从NLP组件114接收到的输入来执行脚本或程序。服务提供者设备160能够提供脚本或程序。服务提供者设备160能够通过API或webhook使脚本或程序可用于数据处理系统102。直接动作处理程序组件135能够确定参数或对输入字段的响应并且能够将数据打包成动作数据结构。动作数据结构能够通过API或webhook而提供给数据处理系统102。直接动作处理程序组件135能够将动作数据结构发送到服务提供者设备160以履行,或者数据处理系统102能够履行动作数据结构。
直接动作处理程序组件135能够基于输入音频信号中识别的请求或触发关键词来生成或选择用于线程或对话的动作的数据结构。基于由NLP组件114解析的请求,直接动作处理程序组件135能够确定应将消息发送到多个服务提供者计算设备160中的哪一个。直接动作处理程序组件135能够确定输入音频信号包括对显式服务提供者设备160的请求(例如,“Order a car with Car Service XYZ(请用汽车服务XYZ预订汽车)”,其中该请求明确请求汽车服务XYZ履行该请求),或者能够从多个服务提供者设备160中选择能够履行该请求的设备。直接动作处理程序组件135能够将请求打包到动作数据结构中,以作为消息发送到服务提供者计算设备160。动作数据结构能够包括用于完成请求的信息。该信息能够是服务提供者设备160用来完成请求的数据。继续上述针对汽车服务请求的示例,该信息能够包括搭乘位置和目的地位置。直接动作处理程序组件135能够从存储库124检索模板130以确定哪些字段包括在动作数据结构中。直接动作处理程序组件135能够从存储库124检索内容以获得关于数据结构的字段的信息。直接动作处理程序组件135能够用该信息填充模板中的字段以生成数据结构。直接动作处理程序组件135也能够用来自输入音频信号或先前输入音频信号的数据填充字段。模板130能够针对服务提供者的类别来进行标准化或者能够针对特定服务提供者来进行标准化。例如,乘车共享服务提供者能够使用以下标准化模板149来创建数据结构:{client_deviceidentifier;authentication_credentials;pick_uplocation;destination_location;no_passengers;service_level}。
直接动作处理程序组件135能够被配置为扩展响应或包含在响应中的实体。直接动作处理程序组件135能够扩展NLP组件114在输入音频信号中所识别的实体。直接动作处理程序组件135能够扩展实体以将实体转换为服务提供者设备160对其动作数据结构的给定字段所需的格式。实体能够包括对于服务提供者设备160可以是模糊或不清楚的信息。例如,当服务提供者设备160请求街道地址时,终端用户可能提供作为位置或营业场所的专有名称的实体。直接动作处理程序组件135能够基于数据处理系统102从客户端计算设备104接收的内容或偏好来自动生成经扩展的实体。直接动作处理程序组件135能够基于数据处理系统102在后续基于音频的输入请求中从客户端计算设备104请求的内容或偏好来生成经扩展的实体。例如,数据处理系统102能够接收包括“Ok,request a car service topick me up at home(OK,请求汽车服务在家接我)”的输入音频信号。NLP组件114能够将词项“home”识别为服务提供者设备160不能辨识的实体。例如,NLP组件114能够将“home”识别为位置实体;然而,动作数据结构中的位置字段可能需要街道地址、城市、州和邮政编码。在本示例中,“home”位置实体不是服务提供者设备160所请求的格式。如果客户端计算设备104的终端用户先前向数据处理系统102提供了终端用户的家庭地址,则直接动作处理程序组件135能够将“home”扩展为服务提供者设备的动作数据结构的字段所请求的格式(例如,{street_address:“123Main St.”,city:“Anytown”,state:“CA”})。如果终端用户先前未曾向数据处理系统102提供终端用户的家庭地址,则数据处理系统102能够生成并发送基于音频的输入请求,该音频的输入请求请求终端用户指示特定地址而非“home”。将实体发送到服务提供者设备160之前扩展实体能够减少所需网络传输数,因为服务提供者设备160在接收到未扩展的实体之后可能无需请求澄清或附加的信息。
直接动作处理程序组件135能够基于与提供了输入音频信号的客户端计算设备104相关联的扩展策略128来扩展实体。扩展策略128能够指示数字组件提供者设备128是否具有扩展或转换所识别的实体的权限。例如,继续上例,直接动作处理程序组件135能够基于扩展策略128来确定直接动作处理程序组件135是否有权将位置实体“home”转换为特定地址。
直接动作处理程序组件135能够至少基于客户端计算设备104的接口类型和用于服务提供者设备160的动作数据结构的一个或多个字段来生成输入请求。数据处理系统102能够通过将一系列输入请求发送到客户端计算设备104来收集信息并且填充服务提供者设备的动作数据结构的字段。例如,数据处理系统102能够发起与客户端计算设备104的基于对话的数据交换。输入请求的内容能够由服务提供者设备160定义。例如,服务提供者设备160能够定义输入请求的对话框,这些输入请求提示客户端计算设备104的终端用户将输入提供给数据处理系统102(经由客户端计算设备104),使得直接动作处理程序组件135能够填充动作数据结构的字段。服务提供者设备160可能须开发对话框的多个实例以负责可以与数据处理系统102交互的不同类型的客户端计算设备104。不同类型的客户端计算设备104可以包括不同类型的界面,这些界面也能够称为表面。例如,第一客户端计算设备104能够包括仅语音的界面,并且第二客户端计算设备104能够包括基于屏幕的界面。
直接动作处理程序组件135能够使得服务提供者设备160仅提供服务提供者设备160需要填充以履行请求的动作数据结构。直接动作处理程序组件135而非服务提供者设备160能够基于动作数据结构中的字段来生成或定义输入请求。直接动作处理程序组件135能够基于动作数据结构中的字段以及与客户端计算设备104相关联的设备类型或接口类型来生成或定义输入请求。输入请求能够是能够包括文本、图像、音频、视频或它们的任意组合的数据对象。当由客户端计算设备104执行或再现时,客户端计算设备104生成输出信号(经由屏幕、扬声器或其他界面)。例如,针对包括触摸屏的客户端计算设备104,再现输入请求能够促使客户端计算设备104显示用户能够经由触摸屏选择的输入框。针对仅包括基于语音的界面的客户端计算设备104,再现输入请求能够促使客户端计算设备104经由客户端计算设备的扬声器将音频提示呈现给用户。
直接动作处理程序组件135能够填充动作数据结构的一个或多个字段,而无需生成发送到客户端计算设备104的输入请求。直接动作处理程序组件135能够用先前由客户端计算设备104(或其终端用户)提供的内容来填充动作数据结构的一个或多个字段。例如,如果动作数据结构在设置客户端计算设备104(或与客户端计算设备104相关联的帐户)时或者在先前的输入音频信号中请求终端用户先前提供的地址。
数据处理系统102能够执行或运行远程应用启动器116的实例。远程应用启动器116能够经由NLP组件114识别数字文件或先前的音频输入中的关键词、令牌、词项、概念、意图或其他信息,以识别存储在客户端计算设备104上或可由其执行的一个或多个应用,以履行所识别的意图。远程应用启动器116能够解析由客户端计算设备104提供的应用安装的日志文件,以确定哪些应用被安装在客户端计算设备上。例如,NLP组件114能够确定关于输入音频信号“Ok,request a car to take me to the airport(ok,请求汽车将我送到机场)”的意图是请求汽车服务。当客户端计算设备104安装配置为履行一个或多个意图的应用时,该应用能够向数据处理系统102注册。例如,该应用能够向数据处理系统102提供清单文件,该清单文件指示应用能够履行哪些意图。数据处理系统102能够将应用和意图的指示与关联于客户端计算设备104的唯一标识符相关联地存储在数据库中。基于确定请求的意图,远程应用启动器116能够搜索与客户端计算设备104的唯一标识符相关联地存储的清单并且选择配置为履行该意图的应用。
远程应用启动器116能够生成深层链接。远程应用启动器116能够将深层链接发送到客户端计算设备104。深层链接能够促使客户端计算设备104启动或调用远程应用启动器116选择履行意图的应用。数据处理系统102能够将与由客户端计算设备104执行的应用相关联的深层链接的模板作为深层链接126存储在存储库124中。远程应用启动器116能够用在输入音频信号中所识别的实体、经扩展的实体或客户端计算设备104(或其用户)先前提供给数据处理系统102的其他内容来填充深层链接。一旦启动后,应用能够用填充到深层链接中的信息或数据来填充应用中的一个或多个字段。例如,继续上例,远程应用启动器116能够用终端用户的家庭地址和机场地址来填充深层链接。应用执行深层链接能够例如促使汽车服务应用自动用终端用户的家庭地址来填充出发位置字段并且用机场地址来填充目的地字段。
数据处理系统102能够执行或运行数字组件选择器120的实例。数字组件选择器120能够选择包括文本、字符串、字符、视频文件、图像文件或音频文件的数字组件,该数字组件能够由客户端计算设备104处理并且经由显示器144或换能器140(例如,扬声器)呈现给用户。深层链接能够是示例数字组件。动作数据结构能够是示例数字组件。
数字组件选择器120能够选择响应于由NLP分量114在输入音频信号中所识别的请求的数字组件。数字组件选择器120能够选择哪个数字组件提供者设备106应当或能够履行该请求并且能够将该请求转发到数字组件提供者设备106。例如,数据处理系统102能够发起数字组件提供者设备106与客户端计算设备104之间的会话,以使得数字组件提供者设备106将数字组件发送到客户端计算设备104。数字组件选择器120能够从数字组件提供者设备106请求数字组件。数字组件提供者设备106能够将数字组件提供给数据处理系统102,该数据处理系统能够将数字组件存储在数据存储库124中。响应于对数字组件的请求,数字组件选择器120能够从数据存储库124中检索数字组件。
数字组件选择器120能够经由实时内容选择过程来选择多个数字组件。数字组件选择器120能够对数字组件进行评分和排名并且能够将多个数字组件提供给输出合并组件120,以允许输出合并组件120选择排名最高的数字组件。数字组件选择器120能够基于输入音频信号(或其中包含的关键词和请求)来选择发送到第二客户端计算设备104的一个或多个附加数字组件。一个或多个附加数字组件能够作为授权请求的一部分或补充而发送到第二客户端计算设备104。例如,如果来自第一客户端计算设备104的输入音频信号包括对来自第一数字组件提供者设备106的数字组件的请求,则数字组件选择器120能够选择与一个或多个相关的数字组件提供者设备106相对应的一个或多个数字组件。在一个说明性示例中,输入音频信号能够包括开始向第一客户端计算设备104流送音乐的请求。数字组件选择器120能够选择与不同的数字组件提供者设备106相关联的附加数字组件(例如,广告)。数据处理系统102能够将附加数字组件包括在向第二客户端计算设备104的授权请求中。附加数字组件能够通知可能履行来自第一客户端计算设备104的请求的附加或相关的数字组件提供者设备106的终端用户。
数字组件选择器120能够将响应于在输入音频信号中所识别的请求而选择的数字组件提供给计算设备104或本地数字助理134或者在计算设备104上执行的应用,以便进行呈现。因此,数字组件选择器120能够从客户端计算设备104接收内容请求,响应于该内容请求选择数字组件,并且将该数字组件发送到客户端计算设备104,以便进行呈现。数字组件选择器120能够将所选择的数字组件发送到本地数字助手134,以供本地数字助手134本身或由客户端计算设备104执行的第三方应进行呈现。例如,本地数字助理134能够播放或输出与所选择的数字组件相对应的音频信号。
数据存储库124能够存储可能存储在一个或多个数据结构或数据文件中的深层链接126。深层链接126能够被存储在表或数据库中。深层链接126能够包括能够由客户端计算设备104执行的应用的链接、指针、引用或者其他地址或位置信息。指向应用的深层链接能够是指统一资源定位符或者链接到特定资源、web内容、应用或应用内视图的超链接。深层链接能够包括用于指向特定资源或应用、启动应用或者在应用内填充预定字段的信息。深层链接除了启动应用外还能够包括链接到移动应用内特定位置的统一资源标识符(“URI”)。例如,在客户端计算设备104上打开、选择或执行深层链接能够促使客户端计算设备104打开与数字组件提供者设备106相关联的应用。深层链接在打开的应用内完全或部分地预填充注册或登记表单。在本示例中,为了注册由数字组件提供者设备106提出的订阅服务,终端用户可能仅需查看输入表单中的信息,然后选择位于已加载的应用页面上的确认图标。深层链接126数据结构能够包括哈希表,该哈希表将应用的名称或应用的视图映射到深层链接。
数据存储库124能够存储可能存储在一个或多个数据结构或数据文件中的扩展策略128。扩展策略128能够指示哪些数据、信息或实体能够扩展。数据处理系统102能够针对与数据处理系统102相关联的客户端计算设备104中的每个客户端计算设备存储不同的扩展策略128。
数据存储库124存储内容数据132,其能够例如包括由数字组件提供者设备106提供或者由数据处理系统102获得或确定的数字组件,以促进内容选择。内容数据132能够例如包括数字组件(或数字组件对象),其能够例如包括内容项、在线文档、音频、图像、视频、多媒体内容或第三方内容。内容数据132能够包括由客户端计算设备104(或其终端用户)提供的数字组件、数据或信息。例如,内容数据132能够包括用户偏好、用户存储的用户信息或来自先前输入音频信号的数据。
服务提供者设备160能够执行、包括或访问服务提供者NLP组件161和服务提供者接口162。服务提供者NLP组件161能够是NLP组件114的实例或执行其功能。例如,数据处理系统102能够将输入音频信号转发到服务提供者设备160,并且服务提供者NLP组件161能够处理该输入音频信号。服务提供者接口162能够是接口110的实例。服务提供者接口162能够是软件接口或硬件接口。服务提供者接口162能够是API或webhook集合。
图2示出在联网的计算机环境中生成语音激活线程的示例方法200的框图。该方法能够包括接收输入音频信号(动作202)。方法200能够包括解析输入音频信号(动作204)。方法200能够包括选择动作数据结构(动作206)。方法200能够包括扩展响应实体(动作208)。该方法能够包括填充动作数据结构(动作210)。方法200能够包括发送数字组件(动作212)。
方法200能够包括接收输入信号(动作202)。该方法能够包括通过由数据处理系统执行的NLP组件接收输入信号。该输入信号能够是由第一客户端设备处的传感器检测并发送到数据处理系统的输入音频信号。该传感器能够是第一客户端设备的麦克风。例如,由包括一个或多个处理器和存储器的数据处理系统至少部分地执行的数字助理组件能够接收输入音频信号。输入音频信号能够包括由数字助理协助的对话。对话能够包括一个或多个输入和输出。对话能够是基于音频、基于文本或音频与文本的组合。输入音频信号能够包括文本输入或者能够提供对话信息的其他类型的输入。数据处理系统能够接收关于与对话相对应的会话的音频输入。
方法200能够包括解析输入信号(动作204)。数据处理系统的NLP组件能够解析输入信号以识别请求。NLP组件能够识别输入信号中的至少一个实体。请求能够是一个或多个服务提供者设备能够履行的意图或请求。请求能够是对话短语的一部分。例如,请求能够是“Ok,order a car to take me home(Ok,预订汽车带我回家)”。由NLP组件识别的实体能够是请求中的短语或词项,当履行请求时,这些短语或词项映射到服务提供者设备请求的输入字段或类型。例如,提供汽车服务的服务提供者设备可以请求当前位置输入字段和目的地输入字段。继续上例,NLP组件能够将词项“home”映射到目的地输入字段。
方法200能够包括选择动作数据结构(动作206)。数据处理系统能够基于从输入信号解析的请求来选择动作数据结构。数据处理系统能够基于能够履行请求的服务提供者设备来选择动作数据结构。动作数据结构能够是由服务提供者设备创建的数据结构或对象。服务提供者设备能够将动作数据结构提供给数据处理系统。动作数据结构能够指示服务提供者设备用来履行请求的字段、数据或信息。服务提供者设备能够标记一个或多个字段,以请求数据处理系统扩展为该字段返回的实体。当字段被标记为扩展时,数据处理系统能够设计并生成与客户端计算设备104的基于对话的数据交换,以检索标记字段的信息或数据,而并非由服务提供者设备160设计基于对话的数据交换。
方法200能够包括扩展响应实体(动作208)。如果该实体不是由服务提供者设备指定的格式,则数据处理系统能够确定映射到输入字段的实体需要扩展。继续上例,NLP组件能够确定“home”是映射到目的地的实体。直接动作处理程序组件能够确定更新动作数据结构,以将实体“home”包括在目的地字段中。直接动作处理程序组件能够确定响应实体的格式与目的地字段的格式不匹配。例如,目的地字段能够具有请求街道地址、城市、州和邮政编码的对象的格式。检测到响应实体的格式与字段的格式不匹配时,数据处理系统能够将实体扩展到街道地址、城市、州和邮政编码的格式。例如,数据处理系统能够查找终端用户提供给数据处理系统的地址作为终端用户的“home”地址。数据处理系统能够检查出响应实体的格式与目的地字段的格式不匹配,并且数据处理系统能够扩展实体,而并非将响应转发到服务提供者设备。数据处理系统能够自动扩展实体,因为数据处理系统知道用户提供的响应格式不正确,并且该响应可能导致服务提供者设备的代理失败。例如,服务提供者设备可能无法理解实体“home”。如果数据处理系统确定实体的格式不正确,并且数据处理系统不能将实体扩展为正确的格式,则数据处理系统能够将输入请求发送到客户端计算设备,这能提示客户端计算设备的用户获取附加信息。数据处理系统能够基于扩展策略来扩展实体。扩展策略能够指示数据处理系统是否已经具备扩展词项的权限或者能够指示终端用户或客户端计算设备所提供的哪些数据能够被包括在经扩展的实体中。
数据处理系统能够基于来自服务提供者设备的请求来扩展实体。例如,数据处理系统能够用未扩展的实体来生成第一动作数据结构。数据处理系统能够将第一动作数据结构发送到服务提供者设备以便进行处理来履行请求。如果服务提供者设备不能处理或理解动作数据结构的一个或多个字段中的数据,则服务提供者设备能够将该动作数据结构(或其一部分)返回到数据处理系统。例如,服务提供者设备能够尝试处理目的地字段中的“home”实体,然后在服务提供者设备确定其不能处理或理解该实体之后请求数据处理系统扩展“home”实体。
方法200能够包括填充动作数据结构(动作210)。直接动作处理程序组件能够用经扩展的实体来填充动作数据结构。直接动作处理程序组件能够用实体来填充动作数据结构。例如,动作数据结构能够是实体或经扩展的实体所存储到的对象。填充动作数据结构也能够被称为更新动作数据结构。
方法200能够包括发送动作数据结构(动作212)。数据处理系统能够将经填充的动作数据结构发送到服务提供者设备。接收到动作数据结构后,服务提供者设备能够履行该请求或者向数据处理系统或客户端计算设备请求附加信息。
图3示出图1所示的系统100的组件之间的示例数据流的框图。图3示出在图3所示的方法200的示例实施期间的数据流。本示例包括扩展在输入信号中所识别的实体。本示例能够包括在数据处理系统102、客户端计算设备104和服务提供者设备160之间发送一个或多个数据流。
在第一时间点,服务提供者设备160能够将第一数据流301发送到数据处理系统102。第一数据流301能够包括动作数据结构模板。动作数据结构模板能够向数据处理系统102指示服务提供者设备160可能需要哪些字段来履行一个或多个意图或服务。例如,第一数据流301能够包括用于请求汽车服务的动作数据结构模板。在图3所示的示例中,动作数据结构模板包括{origin:“”,dest:“”},其指示当请求汽车服务时服务提供者设备160可能需要起点位置和目的地位置。
客户端计算设备104能够将数据流302发送到数据处理系统102以调用由服务提供者设备160提供的服务。数据流302能够包括输入音频信号。在图3所示的示例中,输入音频信号能够包括短语“Ok,order a car service(OK,预订汽车服务)”。基于对数据流302的调用,数据处理系统102能够在数据流303中将输入请求诸如基于音频的输入请求发送到客户端计算设备104。在客户端计算设备104处再现或呈现图3中所示的输入请求能够促使客户端计算设备104通过扬声器在客户端计算设备104处呈现“Where would you like to go?(您想去哪里?)”。终端用户能够响应于输入请求。例如,终端用户能够响应于输入请求而说出“from my office to the airport(从我办公室到机场)”。客户端计算设备104能够经由传感器138(例如,麦克风)检测终端用户的响应,将该响应数字化,并且将该响应作为数据流304内的输入音频信号发送到数据处理系统102。
数据处理系统102能够解析输入音频信号并且识别输入音频信号中的一个或多个响应实体。数据处理系统102能够识别模糊的响应实体。响应实体能够是NLP组件114映射到动作数据结构的一个或多个字段的词项或短语。例如,如图3所示,动作数据结构包括两个字段,其中每个字段需要位置作为输入。数据处理系统102能够将词项“office(办公室)”和“airport(机场)”作为响应实体映射,其映射到与动作数据结构的字段相关联的格式。基于与客户端计算设备104相关联的扩展策略,数据处理系统102能够将响应实体扩展为动作数据结构的字段所需的格式。在图3所示的示例中,“office”响应实体被扩展为“123MainSt.”,并且词项“airport”被扩展为“323 5th St.(第五大街323号”。具有经扩展的响应实体的动作数据结构能够被发送到服务提供者设备160。
图4示出在联网的计算机环境中生成语音激活线程的示例方法400的框图。该方法能够包括接收输入音频信号(动作402)。方法400能够包括解析输入音频信号(动作404)。方法400能够包括确定多个候选服务提供者设备(动作406)。方法400能够包括选择服务提供者设备(动作408)。方法400能够包括生成数字组件(动作410)。方法400能够包括发送数字组件(动作412)。
如上所述,还参照图1,方法400尤其能够包括接收输入信号(动作402)。该方法能够包括通过由数据处理系统执行的NLP组件接收输入信号。该输入信号能够是由第一客户端设备处的传感器检测并发送到数据处理系统的输入音频信号。该传感器能够是第一客户端设备的麦克风。例如,由包括一个或多个处理器和存储器的数据处理系统至少部分地执行的数字助理组件能够接收输入音频信号。输入音频信号能够包括由数字助理协助的对话。对话能够包括一个或多个输入和输出。对话能够是基于音频、基于文本或音频与文本的组合。输入音频信号能够包括文本输入或者能够提供对话信息的其他类型的输入。数据处理系统能够接收关于与对话相对应的会话的音频输入。
方法400能够包括解析输入信号(动作404)。数据处理系统的NLP组件能够解析输入信号以识别请求和至少一个实体。请求能够是一个或多个服务提供者设备能够履行的意图或请求。该请求能够是对话短语。例如,请求能够是“Ok,order a car to take me home(OK,预订汽车带我回家)”。由NLP组件识别的实体能够是请求中的短语或词项,当履行请求时,这些短语或词项映射到服务提供者设备请求的输入字段或类型。例如,提供汽车服务的服务提供者设备可以请求当前位置输入字段和目的地输入字段。继续上例,NLP组件能够将词项“home”映射到目的地输入字段。
方法400能够包括确定或识别多个候选服务提供者设备(动作406)。多个候选服务提供者设备中的每个候选服务提供者设备能够被配置为履行在输入音频信号中所识别的请求。候选服务提供者设备中的每个候选服务提供者设备能够与安装在客户端计算设备上的相应应用相关联。例如,候选服务提供者设备中的每个候选服务提供者设备能够是汽车服务提供者,其提供终端用户能够安装在其客户端计算设备(例如,智能电话)上以向汽车服务提供者请求汽车的应用。数据处理系统能够维护指示客户端计算设备上安装哪些应用的数据库。例如,能够通过由数据处理系统提供的应用商店来安装应用,并且当在客户端计算设备上安装应用或从客户端计算设备移除应用时,数据处理系统能够更新数据存储库中的条目。确定或识别哪个服务提供者设备能够履行请求能够包括:识别能够包括多个设备的数据处理系统,识别服务提供者设备的webhook地址、服务提供者设备的IP地址、服务提供者设备的域名或服务提供者设备的API。
如果数据处理系统确定客户端计算设备上未安装与候选服务提供者设备中的任何一个相关联的应用,则数据处理系统能够从候选服务提供者设备中选择服务提供者设备并且生成动作数据结构而非数字组件(例如,深层链接)。数据处理系统能够用在输入信号中识别的实体或经扩展的实体来填充动作数据结构。数据处理系统能够将动作数据结构发送到所选择的服务提供者设备以履行请求。
方法400能够包括选择服务提供者设备(动作408)。数据处理系统能够从多个服务提供者设备中选择服务提供者设备。数据处理系统能够基于数据处理系统与候选服务提供者设备中的每个候选服务提供者设备之间的网络延时来选择服务提供者设备。例如,如果特定服务提供者设备与数据处理系统之间的延时高,则数据处理系统能够确定候选服务提供者设备正遭遇网络或其他计算问题,并且不应将新请求发送到特定候选服务提供者设备。数据处理系统能够基于由客户端计算设备的终端用户做出的选择,从候选服务提供者设备中选择服务提供者设备。例如,数据处理系统能够将输入请求发送到客户端计算设备,当由客户端计算设备再现时,该客户端计算设备呈现候选服务提供者设备的列表。终端用户能够通过从客户端计算设备发送的输入音频信号将选择提供给数据处理系统。数据处理系统能够基于候选服务提供者设备的性能来选择服务提供者设备。该性能能够是计算性能或服务排名。例如,服务排名能够在与特定服务提供者设备交互之后由用户评论生成。数据处理系统能够基于哪个候选服务提供者设备具有最高服务排名来选择服务提供者设备。
方法400能够包括生成数字组件(动作410)。方法400能够包括通过动作处理程序组件生成数字组件,该数字组件能够包括与服务提供者设备相关联的应用的指示。数字组件也能够包括第一实体。数字组件当由客户端计算设备执行或再现时能够促使客户端计算设备启动与服务提供者设备相关联的应用。数字组件能够是深层链接。数字组件能够是动作数据结构。应用能够被使用于履行输入音频信号中的请求。例如,继续上例,当执行时,数字组件能够在终端用户的智能电话上启动汽车请求应用。数字组件能够包括一个或多个字段。直接动作处理程序组件能够将实体或实体的扩展版本填充到数字组件的一个或多个字段中。
方法400能够包括将数字组件发送到第一客户端计算设备(动作412)。数据处理系统能够响应于接收输入音频信号而将数字组件发送到客户端计算设备。当客户端计算设备接收到数字组件(例如,深层链接)时,能够在客户端计算设备的屏幕上再现数字组件。终端用户能够通过选择深层链接来激活客户端计算设备。深层链接的激活能够促使客户端计算设备打开与所选择的服务提供者设备相关联的应用。深层链接也能够用填充到数字组件中的实体来填充打开的应用的字段(例如,文本字段)。
图5示出图1所示的系统100的组件之间的示例数据流的框图。图5示出在图4所示的方法400的示例实施期间的数据流。本示例包括扩展在输入信号中识别的实体以及履行深层链接的意图。数据流能够在客户端计算设备104、数据处理系统102、第一服务提供者设备160(1)与第二服务提供者设备160(2)之间。
如图5所示,尤其还参照图1,客户端计算设备104能够在第一数据流501中将第一输入音频信号发送到数据处理系统102。在图5所示的示例中,输入音频信号包括短语“Ok,get me a car service home(OK,帮我叫辆车回家)”。数据处理系统102接收数据流并且确定输入音频信号包括对汽车服务的请求或意图。数据处理系统102能够访问指示客户端计算设备104上安装哪些应用的日志文件。日志文件也能够指示其中每个应用能够履行哪些意图或请求类型。例如,客户端计算设备104能够包括与可以是第一汽车服务提供者的服务提供者设备160(1)相关联的第一应用以及与可以是第二汽车服务提供者的服务提供者设备160(2)相关联的第二应用。数据处理系统102能够选择服务提供者设备160(1)和服务提供者设备160(2)中的一个来履行输入音频信号中的请求。
数据处理系统102能够从存储在数据存储库124中的深层链接126中选择与所选择的服务提供者设备160相关联的深层链接模板。例如,在图5所示的示例中,数据处理系统102能够选择服务提供者设备160(1)。数据处理系统102能够生成深层链接并且用NLP组件114在输入音频信号中识别的实体或扩展实体来填充该深层链接的字段。例如,输入音频信号中的实体“home”能够被扩展为“123Main St.”。数据处理系统102能够在数据流502中将深层链接发送到客户端计算设备104。当客户端计算设备104再现或执行深层链接时,该深层链接能够促使客户端计算设备104打开或执行在深层链接中识别的应用。例如,在数据流502中发送到客户端计算设备104的深层链接能够促使客户端计算设备104打开与服务提供者设备160(1)相关联的应用。
执行深层链接也能够促使来自深层链接的字段的数据自动填充到打开的应用的一个或多个字段中。例如,当客户端计算设备104打开与服务提供者设备160(1)相关联的应用时,深层链接能够促使“123Main St.”被填充到应用的目的地字段中。客户端计算设备104能够经由与服务提供者设备160(1)相关联的应用将数据流503发送到服务提供者设备160(1),以履行数据流501的输入音频信号中的请求。
数据处理系统能够在联网的计算机环境中生成语音激活线程。数据处理系统能够接收由第一客户端计算设备的传感器检测到的第一输入音频信号。数据处理系统能够解析第一输入音频信号以识别第一请求。数据处理系统能够基于第一请求来选择第一动作数据结构。第一动作数据结构能够与第一服务提供者设备相关联。数据处理系统能够至少基于第一动作数据结构中的字段来将基于第一音频的输入请求发送到第一客户端。数据处理系统能够接收由第一客户端计算设备的传感器检测到的第二输入音频信号,该第二输入音频信号是响应于第一基于音频的输入请求而生成。数据处理系统能够解析第二输入音频信号以识别第二输入音频信号中的响应实体。数据处理系统能够基于与第一客户端计算设备相关联的扩展策略来扩展响应实体。扩展响应实体能够包括将响应实体转换成与第一动作数据结构中的字段相关联的格式。数据处理系统能够将经扩展的响应实体填充到第一动作数据结构的字段中。数据处理系统能够将第一动作数据结构发送到第一服务提供者以履行第一请求。
图6是示例计算机系统600的框图。计算机系统或计算设备600能够包括或被使用于实现系统100或其组件诸如数据处理系统102。数据处理系统102能够包括智能个人助理或基于语音的数字助理。计算系统600包括用于传送信息的总线605或其他通信组件以及耦合到总线605以处理信息的处理器610或处理电路。计算系统600也能够包括耦合到总线以处理信息的一个或多个处理器610或处理电路。计算系统600也包括耦合到总线605以存储信息和待由处理器610执行的指令的主存储器615,诸如随机存取存储器(RAM)或其他动态存储设备。主存储器615能够是或包括数据存储库124。在由处理器610执行指令期间,主存储器615也能够被使用于存储位置信息、临时变量或其他中间信息。计算系统600可以进一步包括耦合到总线605以存储用于处理器610的静态信息和指令的只读存储器(ROM)620或其他静态存储设备。诸如固态设备、磁盘或光盘的存储设备625能够耦合到总线605以永久性存储信息和指令。存储设备625能够包括数据存储库124或是其一部分。
计算系统600可以经由总线605耦合到显示器635,诸如液晶显示器或主动矩阵显示器,以将信息显示给用户。诸如包括字母数字键和其他键的键盘的输入设备630可以耦合到总线605,以将信息和命令选择传送到处理器610。输入设备630能够包括触摸屏显示器635。输入设备630也能够包括光标控件,例如鼠标、跟踪球或光标方向键,以将方向信息和命令选择传送到处理器610并且控制显示器635上的光标移动。显示器635能够是例如数据处理系统102、客户端计算设备104或图1中其他组件的一部分。
本文所述的过程、系统和方法能够通过计算系统600响应于处理器610执行包含在主存储器615中的指令排列来实现。能够从诸如存储设备625的另一个计算机可读介质将这样的指令读入主存储器615。执行包含在主存储器615中的指令排列促使计算系统600执行本文所述的说明性过程。也可以采用多处理布置中的一个或多个处理器来执行包含在主存储器615中的指令。硬接线电路能够代替或组合软件指令与本文所述的系统和方法一起使用。本文所述的系统和方法不限于硬件电路和软件的任何特定组合。
虽然图6中描述了示例计算系统,但包括本说明书中描述的操作的主题能够以包括本说明书中公开的结构及它们的等同结构的其他类型的数字电子电路或者计算机软件、固件或硬件或者它们中一个或多个的组合来实现。
针对本文讨论的系统收集有关用户的个人信息或者可以利用个人信息的情况,可以为用户提供控制是否可以收集个人信息(例如,有关用户社交网络、社交动作或活动、用户偏好或用户位置的信息)的程序或特征或者控制是否或如何从内容服务器或与用户更相关的其他数据处理系统接收内容的机会。此外,某些数据可以在存储或使用之前以一种或多种方式匿名化,以便当生成参数时移除个人身份信息。例如,用户的身份可以被匿名化,以便无法针对该用户确定任何个人可识别信息,或者在获得位置信息的情况下,用户的地理位置可以被概括化(诸如到城市、邮政编码或州级),以便无法确定用户的特殊位置。因此,用户可以控制如何收集有关他或她的信息以及如何供内容服务器使用。
本说明书中描述的主题和操作能够以包括本说明书中公开的结构及它们的等同结构的数字电子电路或者计算机软件、固件或硬件或者它们中的一个或多个的组合来实现。本说明书中描述的主题能够被实现为一个或多个计算机程序,例如,在供数字处理装置执行或控制其操作的一个或多个计算机存储介质上编码的一个或多个计算机程序指令的电路。替选地或附加地,程序指令能够被编码在人工生成的传播信号上,例如,机器生成的电信号、光信号或电磁信号,所述信号被生成用来编码信息以便传输到合适的接收器设备,以供数据处理装置执行。计算机存储介质能够是计算机可读存储设备、计算机可读存储基质、随机或串行存取存储器阵列或设备或者它们中一个或多个的组合,或者被包括于其中。虽然计算机存储介质并非传播信号,但计算机存储介质能够是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质也能够是一个或多个单独的组件或介质(例如,多个CD、磁盘或其他存储设备),或者被包含于其中。本说明书中描述的操作能够被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
术语“数据处理系统”、“计算设备”、“组件”或“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,例如包括一个或多个可编程处理器、计算机、片上系统或者上述的组合。该装置能够包括专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该装置也能够包括为上述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、运算系统、跨平台运行时环境、虚拟机或者它们中一个或多个的组合的代码。装置和执行环境能够实现各种不同的计算模型基础结构,诸如web服务、分布式计算和网格计算基础结构。例如,接口110、数字组件选择器120、直接动作处理程序组件135、远程启动器应用116或NLP组件114以及其他数据处理系统102组件能够包括或共享一个或多个数据处理装置、系统、计算设备或处理器。
计算机程序(又称为程序、软件、软件应用、app、脚本或代码)能够以任何形式的编程语言来编写,包括编译语言或解释语言、声明性语言或过程性语言,并且能够以任何形式来部署,包括作为独立程序或者作为模块、组件、子例程、对象或者适用于计算环境的其他单元。计算机程序能够对应于文件系统中的文件。程序能够被存储在保存其他程序或数据的文件部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于上述程序的单个文件中或者多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序能够被部署成在一台计算机上或者位于一个站点或跨多个站点分布并通过通信网络互联的多台计算机上执行。
本说明书中描述的过程和逻辑流程能够由执行一个或多个计算机程序的一个或多个可编程处理器(例如,数据处理系统102的组件)来执行,以通过对输入数据进行操作并且生成输出来执行动作。过程和逻辑流程也能够由例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路来执行,并且装置也能够被实现为专用逻辑电路。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括:半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内置硬盘或可移动盘;磁光盘;以及CD-ROM盘和DVD-ROM盘。处理器和存储器能够辅以专用逻辑电路或并入其中。
本文所述的主题能够以计算系统来实现,该计算系统包括后端组件,例如,作为数据服务器,或者该计算系统包括中间件组件(例如,应用服务器),或者该计算系统包括前端组件(例如,具有用户能够借以与本说明书所述主题的实施方式相交互的图形用户界面或web浏览器的客户端计算机),或者这样的后端组件、中间件组件或前端组件的组合。系统的组件能够通过数字数据通信的任何形式或者介质来互联(例如,通信网络)。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网(例如,因特网)和点对点网络(例如,adhoc点对点网络)。
诸如系统100或系统600的计算系统能够包括客户端和服务器。客户端与服务器一般彼此远离并且通常通过通信网络(例如,网络105)来进行交互。客户端与服务器的关系借助在相应计算上运行并且彼此具有客户端-服务器关系的计算机程序来实现。在一些实施方式中,服务器将数据(例如,表示数字组件的数据分组)发送到客户端设备(例如,出于向与客户端设备交互的用户显示数据并且从该用户接收用户输入的目的)。能够在服务器处从客户端设备接收(例如,由数据处理系统102从客户端计算设备104或数字组件提供者设备106接收)在客户端设备处生成的数据(例如,用户交互的结果)。
虽然在附图中以特定顺序描绘了操作,但不要求以所示的特定顺序或者以序列顺序执行这样的操作,并且不要求执行全部示出的操作。本文所述的动作能够以不同的顺序执行。
各种系统组件的分立不要求在全部实施方式中都分立,并且所述的程序组件能够被包含在单个硬件或软件产品中。例如,NLP组件114、直接动作处理程序组件135、远程启动器应用116或数字组件选择器120能够是单个组件、app或程序,或者是具有一个或多个处理电路的逻辑设备,或者是数据处理系统102的一个或多个服务器中的一部分。
现已描述了一些说明性实施方式,显然,上述内容为说明性而非限制性并且已举例说明。特别地,虽然本文呈现的许多示例涉及方法行为或系统元素的特定组合,但那些行为和那些元素可以其他方式组合实现相同的目标。所讨论的行为、元素和特征与一种实施方式组合并非旨在排除其他实施方式中的相似功能。
本文所用的短语和用语是出于描述目的,而不应视为限制性。本文中使用“包含”、“包括”、“具有”、“含有”、“涉及”、“其特征是”、“其特征在于”及它们的变形旨在涵盖其后列举的项目、其等同方案和附加项以及由其后列举的项排他性组成的替代实施方式。在一种实施方式中,本文所述的系统和方法由所述元素、行为或组件中的一个、一个以上的每种组合或其全体组成。
对本文中系统和方法的实施方式或元素或行为以单数形式提及的任何引用也可以涵盖包括多个这些元素的实施方式,并且对本文中任何实施方式或元素或行为以复数形式的任何引用也可以涵盖仅包含单个元素的实施方式。单数或复数形式的引用并非旨在将本发明公开的系统或方法、它们的组件、行为或元素限制为单个或多个配置。对基于任何信息、行为或元素的任何行为或元素的引用可以包括该行为或元素至少部分地基于任何信息、行为或元素的实施方式。
本文公开的任何实施方式可以与任何其他实施方式或实施方案组合,并且对“实施方式”、“一些实施方式”、“一个实施方式”等的引用并非必然互斥并且旨在指示结合该实施方式描述的特定特征、结构、特点可以被包含在至少一个实施方式或实施例中。这样如本文所用的用语并非必然全部指代相同的实施方式。任何实施方式可以包含性或排他性以符合本文公开的方面和实施方式的任何方式与任何其他实施方式组合。
对“或”的引用可以解释为包含性,从而使用“或”描述的任何用语可以指示单个、一个以上和全部所述用语中的任何一个。例如,对“A和B中的至少一个”的引用能够仅包括“A”,仅包括“B”以及既包括“A”也包括“B”。这类结合“包括”或其他开放式用语使用的引用能够包括附加项目。
在附图、具体实施方式或任何权利要求中的技术特征后标有附图标记的情况下,包含了这些附图标记来提高对附图、具体实施方式和权利要求的理解性。相应地,有无附图标记不会对任何权利要求要素的范围存在任何限制作用。
本文所述的系统和方法可以其他特定形式来体现,而不脱离其特征。例如,当启动应用时,计算设备104能够生成打包的数据对象并且将其转发到第三方应用。上述实施方式为说明性,而不限制所述的系统和方法。因此,本文所述的系统和方法的范围由所附权利要求而非上述描述来指定,并且权利要求的等同含义和范围内的更改被涵盖于其中。

Claims (20)

1.一种用于在联网的计算机环境中生成语音激活线程的系统,包括:
数据处理系统,所述数据处理系统包括一个或多个处理器和存储器,所述一个或多个处理器执行自然语言处理器、远程应用启动器和动作处理程序组件以用于:
通过所述自然语言处理器组件接收由第一客户端计算设备的传感器检测到的第一输入音频信号;
通过所述自然语言处理器组件解析所述第一输入音频信号以识别第一请求和第一实体;
通过所述动作处理程序组件确定多个候选服务提供者设备,所述多个候选服务提供者设备中的每个候选服务提供者设备被配置为履行所述第一请求并且与安装在所述第一客户端计算设备上的相应应用相关联;
通过所述动作处理程序组件从所述多个候选服务提供者设备中选择服务提供者设备;
通过所述远程应用启动器生成数字组件,所述数字组件包括与所述服务提供者设备相关联的所述应用的指示和所述第一实体,所述数字组件被配置为当由所述第一客户端计算设备执行时启动与所述服务提供者设备相关联的所述应用以履行所述第一请求;以及
通过所述动作处理程序组件响应于所述第一输入音频信号而将所述数字组件发送到所述第一客户端计算设备。
2.根据权利要求1所述的系统,包括:
所述自然语言处理器组件解析所述第一输入音频信号以识别第二实体;以及
所述动作处理程序组件用于:
将所述第二实体扩展为与所述数字组件的字段相关联的格式;以及
生成所述数字组件以将经扩展的第二实体包括到所述数字组件的所述字段中。
3.根据权利要求1或2所述的系统,包括:
所述动作处理程序组件基于与所述第一客户端计算设备相关联的扩展策略将所述第一输入音频信号的第二实体扩展为与所述数字组件的字段相关联的格式。
4.根据前述权利要求中的任意一项所述的系统,包括:
所述自然语言处理器组件解析所述第一输入音频信号以识别第二实体;以及
所述动作处理程序组件基于与所述第一客户端计算设备相关联的扩展策略确定不能扩展所述第二实体。
5.根据权利要求4所述的系统,包括:
所述动作处理程序组件将基于音频的输入请求发送到所述第一客户端计算设备以请求经更新的实体。
6.根据权利要求1所述的系统,其中,所述数字组件被配置为当由所述第一客户端计算设备执行时用所述第一实体填充与所述服务提供者设备相关联的所述应用的字段。
7.根据前述权利要求中的任意一项所述的系统,包括所述动作处理程序组件用于:
测量所述数据处理系统与所述多个候选服务提供者设备中的每个候选服务提供者设备之间的网络延时;以及
至少基于所述数据处理系统与所述多个候选服务提供者设备中的每个候选服务提供者设备之间的所述网络延时从所述多个候选服务提供者设备中选择所述服务提供者设备。
8.根据前述权利要求中的任意一项所述的系统,包括:
所述动作处理程序组件用于至少基于所述多个候选服务提供者设备中的每个候选服务提供者设备的性能从所述多个候选服务提供者设备中选择所述服务提供者设备。
9.根据前述权利要求中的任意一项所述的系统,包括:
所述动作处理程序组件用于至少基于与所述第一客户端计算设备相关联的偏好从所述多个候选服务提供者设备中选择所述服务提供者设备。
10.根据前述权利要求中的任意一项所述的系统,包括:
所述自然语言处理器组件用于接收由所述第一客户端计算设备的所述传感器检测到的第二输入音频信号,所述第二输入音频信号包括所述服务提供者设备的指示;以及
所述动作处理程序组件用于至少基于所述服务提供者设备的所述指示从所述多个候选服务提供者设备中选择所述服务提供者设备。
11.根据前述权利要求中的任意一项所述的系统,包括:
所述自然语言处理器组件用于:
接收由所述第一客户端计算设备的所述传感器检测到的第二输入音频信号;
解析所述第二输入音频信号以识别第二请求和第二实体;以及
所述动作处理程序组件用于:
确定所述服务提供者设备被配置为履行所述第二请求;
基于所述第二请求生成第一动作数据结构,所述第一动作数据结构包括所述第二实体;以及
将所述第一动作数据结构发送到所述服务提供者设备。
12.一种用于在联网的计算机环境中生成语音激活线程的方法,包括:
通过由数据处理系统执行的自然语言处理器组件接收由第一客户端计算设备的传感器检测到的第一输入音频信号;
通过所述自然语言处理器组件解析所述第一输入音频信号以识别第一请求和第一实体;
通过由所述数据处理系统执行的动作处理程序组件识别多个候选服务提供者设备,所述多个候选服务提供者设备中的每个候选服务提供者设备被配置为履行所述第一请求并且与安装在所述第一客户端计算设备上的相应应用相关联;
通过所述动作处理程序组件从所述多个候选服务提供者设备中选择服务提供者设备;
通过由所述数据处理系统执行的远程应用启动器生成数字组件,所述数字组件包括与所述服务提供者设备相关联的所述应用的指示和所述第一实体,所述数字组件被配置为当由所述第一客户端计算设备执行时启动与所述服务提供者设备相关联的所述应用以履行所述第一请求;以及
通过所述动作处理程序组件响应于所述第一输入音频信号而将所述数字组件发送到所述第一客户端计算设备。
13.根据权利要求12所述的方法,包括:
通过所述自然语言处理器组件解析所述第一输入音频信号以识别第二实体;
通过由所述数据处理系统执行的所述动作处理程序组件基于与所述第一客户端计算设备相关联的扩展策略将所述第二实体扩展为与所述数字组件的字段相关联的格式;
通过所述动作处理程序组件生成所述数字组件以将经扩展的第二实体包括到所述数字组件的所述字段中。
14.根据权利要求12或13所述的方法,包括:
通过所述自然语言处理器组件解析所述第一输入音频信号以识别第二实体;以及
通过所述动作处理程序组件基于与所述第一客户端计算设备相关联的扩展策略来确定不能扩展所述第二实体。
15.根据权利要求12至14所述的方法,其中,所述数字组件被配置为当由所述第一客户端计算设备执行时用所述第一实体填充与所述服务提供者设备相关联的所述应用的字段。
16.根据权利要求12至15所述的方法,包括:
通过所述动作处理程序组件测量所述数据处理系统与所述多个候选服务提供者设备中的每个候选服务提供者设备之间的网络延时;以及
通过所述动作处理程序组件至少基于所述数据处理系统与所述多个候选服务提供者设备中的每个候选服务提供者设备之间的所述网络延时从所述多个候选服务提供者设备中选择所述服务提供者设备。
17.根据权利要求12至16所述的方法,包括:
通过所述动作处理程序组件至少基于所述多个候选服务提供者设备中的每个候选服务提供者设备的性能从所述多个候选服务提供者设备中选择所述服务提供者设备。
18.根据权利要求12至17所述的方法,包括:
通过所述动作处理程序组件至少基于与所述第一客户端计算设备相关联的偏好从所述多个候选服务提供者设备中选择所述服务提供者设备。
19.根据权利要求12至18所述的方法,包括:
通过所述自然语言处理器组件接收由所述第一客户端计算设备的传感器检测到的第二输入音频信号,所述第二输入音频信号包括所述服务提供者设备的指示;以及
通过所述动作处理程序组件至少基于所述服务提供者设备的所述指示从所述多个候选服务提供者设备中选择所述服务提供者设备。
20.根据权利要求12至19所述的方法,包括:
通过所述自然语言处理器组件接收由所述第一客户端计算设备的所述传感器检测到的第二输入音频信号;
通过所述自然语言处理器组件解析所述第二输入音频信号以识别第二请求和第二实体;
通过所述动作处理程序组件确定所述服务提供者设备被配置为履行所述第二请求;
通过所述动作处理程序组件基于所述第二请求生成第一动作数据结构,所述第一动作数据结构包括所述第二实体;以及
通过所述动作处理程序组件将所述第一动作数据结构发送到所述服务提供者设备。
CN201880027173.9A 2018-05-07 2018-05-07 在网络系统中激活远程设备 Pending CN110692040A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/031451 WO2019216876A1 (en) 2018-05-07 2018-05-07 Activation of remote devices in a networked system

Publications (1)

Publication Number Publication Date
CN110692040A true CN110692040A (zh) 2020-01-14

Family

ID=62563271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880027173.9A Pending CN110692040A (zh) 2018-05-07 2018-05-07 在网络系统中激活远程设备

Country Status (4)

Country Link
US (5) US11145300B2 (zh)
EP (1) EP3596599A1 (zh)
CN (1) CN110692040A (zh)
WO (1) WO2019216876A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3596599A1 (en) 2018-05-07 2020-01-22 Google LLC Activation of remote devices in a networked system
JP2020134585A (ja) * 2019-02-14 2020-08-31 シャープ株式会社 電子機器、制御装置、制御方法、及びプログラム
US11240366B2 (en) * 2020-02-03 2022-02-01 Microsoft Technology Licensing, Llc Digital assistant for emergency calling
WO2021255484A1 (en) * 2020-06-18 2021-12-23 Citrix Systems, Inc. Autonomous learning of entity values in artificial intelligence conversational systems
US11705151B1 (en) * 2023-01-30 2023-07-18 Cornelius Jacobus Pitzer Speech signal processing system facilitating natural language processing using audio transduction

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049567A (zh) * 2012-12-31 2013-04-17 威盛电子股份有限公司 检索方法、检索系统以及自然语言理解系统
WO2013155619A1 (en) * 2012-04-20 2013-10-24 Sam Pasupalak Conversational agent
US20170236524A1 (en) * 2013-06-12 2017-08-17 Google Inc. Audio data packet status determination
US20170257456A1 (en) * 2013-01-31 2017-09-07 Google Inc. Secondary transmissions of packetized data
CN107767873A (zh) * 2017-10-20 2018-03-06 广东电网有限责任公司惠州供电局 一种快速准确的离线语音识别装置及方法

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403938B2 (en) 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
KR100577387B1 (ko) 2003-08-06 2006-05-10 삼성전자주식회사 음성 대화 시스템에서의 음성 인식 오류 처리 방법 및 장치
US7596568B1 (en) * 2004-04-12 2009-09-29 Microsoft Corporation System and method to resolve ambiguity in natural language requests to determine probable intent
KR100679043B1 (ko) 2005-02-15 2007-02-05 삼성전자주식회사 음성 대화 인터페이스 장치 및 방법
US7949529B2 (en) * 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US9043206B2 (en) 2010-04-26 2015-05-26 Cyberpulse, L.L.C. System and methods for matching an utterance to a template hierarchy
JP5695199B2 (ja) 2010-08-30 2015-04-01 本田技研工業株式会社 対話システムにおける思考追跡および行動選択
US9323722B1 (en) 2010-12-07 2016-04-26 Google Inc. Low-latency interactive user interface
CA2747153A1 (en) * 2011-07-19 2013-01-19 Suleman Kaheer Natural language processing dialog system for obtaining goods, services or information
KR101979924B1 (ko) 2011-10-04 2019-05-20 구글 엘엘씨 디바이스 상의 결합된 활동 히스토리
US9369544B1 (en) 2012-02-14 2016-06-14 Google Inc. Testing compatibility with web services
US10417037B2 (en) * 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US20140229608A1 (en) * 2013-02-14 2014-08-14 Alcatel-Lucent Canada Inc. Parsimonious monitoring of service latency characteristics
CN105027197B (zh) 2013-03-15 2018-12-14 苹果公司 训练至少部分语音命令系统
US10431209B2 (en) 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US9280584B2 (en) 2013-11-25 2016-03-08 International Business Machines Corporation Finding optimal query plans
US10749989B2 (en) * 2014-04-01 2020-08-18 Microsoft Technology Licensing Llc Hybrid client/server architecture for parallel processing
TWI566107B (zh) * 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9767794B2 (en) * 2014-08-11 2017-09-19 Nuance Communications, Inc. Dialog flow management in hierarchical task dialogs
EP3195307B1 (en) 2014-09-14 2020-01-29 Google LLC Platform for creating customizable dialog system engines
US9836452B2 (en) 2014-12-30 2017-12-05 Microsoft Technology Licensing, Llc Discriminating ambiguous expressions to enhance user experience
US10432560B2 (en) 2015-07-17 2019-10-01 Motorola Mobility Llc Voice controlled multimedia content creation
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
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10262062B2 (en) 2015-12-21 2019-04-16 Adobe Inc. Natural language system question classifier, semantic representations, and logical form templates
KR20180111979A (ko) 2016-02-11 2018-10-11 이베이 인크. 의미론적 카테고리 분류법
US20170295077A1 (en) * 2016-04-12 2017-10-12 Dell Software Inc. Optimal service provider selection
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10171569B2 (en) * 2016-12-02 2019-01-01 Uber Technologies, Inc. Transmission of data to multiple computing devices according to a transmission schedule
US10311875B2 (en) 2016-12-22 2019-06-04 Soundhound, Inc. Full-duplex utterance processing in a natural language virtual assistant
US11295738B2 (en) * 2016-12-30 2022-04-05 Google, Llc Modulation of packetized audio signals
US20180261223A1 (en) 2017-03-13 2018-09-13 Amazon Technologies, Inc. Dialog management and item fulfillment using voice assistant system
US10418033B1 (en) * 2017-06-01 2019-09-17 Amazon Technologies, Inc. Configurable output data formats
US10755051B2 (en) * 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10498898B2 (en) 2017-12-13 2019-12-03 Genesys Telecommunications Laboratories, Inc. Systems and methods for chatbot generation
US10818287B2 (en) * 2018-01-22 2020-10-27 Microsoft Technology Licensing, Llc Automated quick task notifications via an audio channel
EP3596599A1 (en) * 2018-05-07 2020-01-22 Google LLC Activation of remote devices in a networked system
US10565985B1 (en) 2018-09-14 2020-02-18 Google Llc Detection of potential exfiltration of audio data from digital assistant applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013155619A1 (en) * 2012-04-20 2013-10-24 Sam Pasupalak Conversational agent
CN103049567A (zh) * 2012-12-31 2013-04-17 威盛电子股份有限公司 检索方法、检索系统以及自然语言理解系统
US20170257456A1 (en) * 2013-01-31 2017-09-07 Google Inc. Secondary transmissions of packetized data
US20170236524A1 (en) * 2013-06-12 2017-08-17 Google Inc. Audio data packet status determination
CN107767873A (zh) * 2017-10-20 2018-03-06 广东电网有限责任公司惠州供电局 一种快速准确的离线语音识别装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄永峰等: "多路语音实时处理系统的线程管理与调度", 《小型微型计算机系统》 *

Also Published As

Publication number Publication date
US20200365157A1 (en) 2020-11-19
US11664025B2 (en) 2023-05-30
US20210287676A1 (en) 2021-09-16
US11514907B2 (en) 2022-11-29
US11145300B2 (en) 2021-10-12
US11011164B2 (en) 2021-05-18
WO2019216876A1 (en) 2019-11-14
US20190348029A1 (en) 2019-11-14
US11024306B2 (en) 2021-06-01
EP3596599A1 (en) 2020-01-22
US20200258523A1 (en) 2020-08-13
US20190348035A1 (en) 2019-11-14

Similar Documents

Publication Publication Date Title
US11514907B2 (en) Activation of remote devices in a networked system
US11848009B2 (en) Adaptive interface in a voice-activated network
KR102603717B1 (ko) 네트워크 시스템에서 도메인-특정 모델의 생성
CN111557002A (zh) 安全处理环境中的数据传输
CN110637300B (zh) 在联网环境中延迟的双因素认证
US10733984B2 (en) Multi-modal interface in a voice-activated network
JP7262565B2 (ja) ネットワーク化環境における遅延2要素認証
CN118331989A (zh) 联网系统中特定于域的模型的生成

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