CN115552517A - 自动化助理响应呈现的无热词抢占 - Google Patents
自动化助理响应呈现的无热词抢占 Download PDFInfo
- Publication number
- CN115552517A CN115552517A CN202080100833.9A CN202080100833A CN115552517A CN 115552517 A CN115552517 A CN 115552517A CN 202080100833 A CN202080100833 A CN 202080100833A CN 115552517 A CN115552517 A CN 115552517A
- Authority
- CN
- China
- Prior art keywords
- automated assistant
- utterance
- response
- presentation
- assistant device
- 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
Links
- 230000004044 response Effects 0.000 title claims abstract description 176
- 238000000034 method Methods 0.000 claims description 58
- 238000012544 monitoring process Methods 0.000 claims description 36
- 239000013598 vector Substances 0.000 claims description 34
- 238000013528 artificial neural network Methods 0.000 claims description 29
- 238000013518 transcription Methods 0.000 claims description 22
- 230000035897 transcription Effects 0.000 claims description 22
- 230000000977 initiatory effect Effects 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 230000001902 propagating effect Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 description 18
- 230000009471 action Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000012549 training Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 235000013550 pizza Nutrition 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000009118 appropriate response Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013001 matrix buffer Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L15/222—Barge in, i.e. overridable guidance for interrupting prompts
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
- G10L17/24—Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/088—Word spotting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
响应于在呈现期间接收到的并且被确定为可能指向自动化助理的无热词话语,可以选择性地抢占自动化助理响应的呈现。可以例如使用对在响应的呈现期间接收的音频数据执行的话语分类操作来执行话语可能指向自动化助理的确定,并且基于这样的确定,可以用与稍后接收的话语相关联的另一响应来抢占响应。另外,可以基于响应的呈现何时完成来动态地控制用于确定在用户与自动化助理之间的对话结束时应该何时终止会话的持续时间。
Description
背景技术
人们可以利用本文称为“自动化助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“会话代理”等)的交互式软件应用参与人机对话。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以使用口头自然语言输入(即,话语)和/或通过提供文本(例如,键入的)自然语言输入来向自动化助理提供命令和/或请求,口头自然语言输入在一些情况下可以被转换为文本并且然后被处理。自动化助理通常通过提供响应用户界面输出来响应命令或请求,该响应用户界面输出可以包括听觉和/或视觉用户界面输出。
自动化助理使得用户能够获得信息、访问服务和/或执行各种任务。例如,用户能够执行搜索、获得方向,并且在一些情况下,能够与第三方计算服务交互。用户还可以能够执行各种动作,诸如从乘车共享应用叫车、订购商品或服务(例如,披萨)、控制智能设备(例如,灯开关)、进行预订等。
自动化助理可以使用语音识别和自然语言处理与用户对话,其中,一些也利用机器学习和其他人工智能技术来例如预测用户意图。自动化助理可能擅长以自然、直观的方式与用户进行对话,部分是因为他们理解对话上下文。为了利用对话上下文,自动化助理可以保留来自用户的最近输入、来自用户的问题和/或由自动化助理提供的响应/问题。例如,用户可能询问“最近的咖啡店在哪里(Where is the closest coffee shop)”,自动化助理可能回复“向东两个街区(Two blocks east)”。然后,用户可能询问“开门最晚到几点(Howlate is it open?)?”通过保留至少某种形式的对话上下文,自动化助理能够确定代词“它(it)”指代“咖啡店(coffee shop)”(即,共同引用解析)。
另外,为了保护用户隐私和/或节省资源,用户必须经常在自动化助理将完全处理口头话语之前显式调用自动化助理。自动化助理的显式调用通常响应于在客户端设备处接收到某些用户界面输入而发生。客户端设备包括助理界面,该助理界面向客户端设备的用户提供用于与自动化助理接口连接的界面(例如,从用户接收输入,并且提供可听和/或图形响应),以及与实现自动化助理的一个或多个附加组件(例如,处理用户输入并生成适当响应的(一个或多个)设备上组件和/或(一个或多个)远程服务器设备)接口连接。
可以经由客户端设备调用自动化助理的一些用户界面输入包括客户端设备处的用于调用自动化助理的硬件和/或虚拟按钮(例如,轻击硬件按钮、选择由客户端设备显示的图形界面元素)。许多自动化助理可以附加地或可替代地响应于一个或多个特定口头调用短语而被调用,该一个或多个特定口头调用短语也被称为“热词/短语”或“触发词/短语”(在下文中统称为“热词”)。例如,可以说出诸如“嘿,助理(Hey Assistant)”、“好的,助理(Ok Assistant)”和/或“助理(Assistant)”的特定口头调用短语以调用自动化助理。当使用(一个或多个)这样的用户界面输入调用自动化助理时,检测到的音频数据通常从客户端设备被流式传输到(一个或多个)远程自动化助理组件,远程自动化助理组件通常不加区别地执行语音识别、自然语言理解和履行中的每一个。然而,已经发现,在每个口头话语之前要求显式调用不像人与人交互那样自然,并且导致降低的用户满意度。
发明内容
本文描述了用于响应于在呈现期间接收到并且被确定为可能指向自动化助理的无热词话语而选择性地抢占自动化助理响应的呈现的技术。可以例如使用对在响应的呈现期间接收的音频数据执行的话语分类操作来执行话语可能指向自动化助理的确定,并且基于这样的确定,可以用与稍后接收的话语相关联的另一响应来抢占响应。另外,在一些实现方式中,可以基于何时完成响应的呈现来动态地控制用于确定在用户和自动化助理之间的对话结束时应该何时终止会话的持续时间。
因此,根据一些实现方式,一种方法可以包括:利用自动化助理设备,在呈现对第一话语的第一响应期间监视音频输入,其中,监视所述音频输入包括生成与在呈现所述第一响应期间说出的第二无热词话语相关联的音频数据;在呈现所述第一响应期间发起对所述音频数据的话语分类操作,以确定所述第二无热词话语是否可能指向所述自动化助理设备;响应于根据所述话语分类操作确定所述第二无热词话语可能指向所述自动化助理设备,发起话语履行操作以生成针对所述第二无热词话语的第二响应;以及用所述自动化助理设备上的第二响应的呈现抢占所述自动化助理设备上的第一响应的呈现。
在一些实现方式中,发起所述话语分类操作包括将所述音频数据提供给话语分类服务,所述话语分类服务包括基于神经网络的分类器,所述基于神经网络的分类器被训练为输出给定话语是否可能指向自动化助理的指示。此外,在一些实现方式中,所述话语分类服务被配置为获得所述第二无热词话语的转录、生成与所述音频数据相关联的第一声学表示、生成与所述转录相关联的第二语义表示,以及将所述第一表示和所述第二表示提供给所述基于神经网络的分类器以生成所述指示。此外,在一些实现方式中,所述第一表示和所述第二表示分别包括第一特征向量和第二特征向量,以及所述话语分类服务被配置为通过级联所述第一特征向量和所述第二特征向量来将所述第一表示和所述第二表示提供给所述基于神经网络的分类器。
在一些实现方式中,所述自动化助理设备是客户端设备,以及所述话语分类服务驻留在所述自动化助理设备上。另外,在一些实现方式中,所述自动化助理设备是客户端设备,以及所述话语分类服务远离所述自动化助理设备并与所述自动化助理设备通信。在一些实现方式中,所述自动化助理设备是客户端设备,以及发起所述话语履行操作包括在所述自动化助理设备上处理所述话语履行操作。另外,在一些实现方式中,所述自动化助理设备是客户端设备,以及发起所述话语履行操作包括在远离所述自动化助理设备并与所述自动化助理设备通信的服务上发起所述话语履行操作。
此外,在一些实现方式中,呈现所述第一响应包括音频响应的回放,以及所述方法进一步包括对所述音频数据执行声学回声消除以从所述音频数据中过滤所述音频响应的至少一部分。一些实现方式还可以包括对所述音频数据执行说话者识别,以识别所述第二无热词话语是否与和所述第一话语相同的说话者相关联。另外,在一些实现方式中,所述第二无热词话语取决于所述第一话语,以及所述方法进一步包括:在完成所述第一响应的呈现之前,响应于所述第一话语,传播所述自动化助理设备的更新的客户端状态,使得所述第二响应的生成基于所述更新的客户端状态。
一些实现方式可以进一步包括:用所述自动化助理设备上的第二响应的呈现抢占所述自动化助理设备上的第一响应的呈现之后:在呈现所述第二响应期间监视所述音频输入;在呈现所述第二响应期间动态地控制监视持续时间;以及在所述监视持续时间完成时自动地终止自动化助理会话。在一些实现方式中,动态地控制所述监视持续时间包括:响应于在第一时间段之后确定所述第二响应的呈现未完成,自动地将所述监视持续时间延长第二时间段。另外,在一些实现方式中,自动地将所述监视持续时间延长第二时间段包括:基于从完成所述第二响应的呈现开始计算的持续时间来确定所述第二时间段。此外,在一些实现方式中,用利用所述自动化助理设备上的第二响应的呈现来抢占所述自动化助理设备上的第一响应的呈现包括中断所述第一响应的呈现。一些实现方式还可以包括在抢占所述第一响应的呈现之后继续所述第一响应的呈现。
根据另外的实现方式,可以提供一种方法,包括:响应于由自动化助理设备接收到的话语,将响应传送到所述自动化助理设备,包括指令所述自动化助理设备在由所述自动化助理设备呈现所述响应期间发起在第一时间段内对音频输入的监视;在所述第一时间段之后并且在所述自动化助理设备完成呈现所述响应之前,指令所述自动化助理设备在由所述自动化助理设备呈现所述响应期间发起在第二时间段内对所述音频输入的监视;在所述第二时间段之后并且在所述自动化助理设备完成呈现所述响应之后,指令所述自动化助理设备发起在第三时间段内对所述音频输入的监视,包括基于由所述自动化助理设备完成所述响应的呈现的时间来确定所述第三时间段的持续时间;以及在所述第三时间段完成时自动终止自动化助理会话。
在一些实现方式中,所述话语是无热词话语,以及所述方法进一步包括对所述话语执行话语分类操作以确定所述话语是否可能指向所述自动化助理设备,其中,响应于根据所述话语分类操作确定所述话语可能指向所述自动化助理设备,执行将所述响应传送到所述自动化助理设备。此外,在一些实现方式中,所述话语是第一话语,以及所述方法进一步包括:响应于在所述第二时间段期间由所述自动化助理设备接收到的第二话语,确定所述第二话语不指向所述自动化助理设备,以及其中,仅当在完成由所述自动化助理设备呈现所述响应之前接收到所述第二话语时,才执行指令所述自动化助理设备发起在所述第三时间段内对所述音频输入的监视。
另外,一些实现方式可以包括一种系统,所述系统包括一个或多个处理器和与所述一个或多个处理器可操作地耦合的存储器,其中,所述存储器存储指令,响应于由一个或多个处理器执行所述指令,所述指令使得所述一个或多个处理器执行任一上述方法。一些实现方式可以包括自动化助理设备,所述自动化助理设备包括音频输入设备;以及一个或多个处理器,所述一个或多个处理器耦合到所述音频输入设备并且执行本地存储的指令以使所述一个或多个处理器执行任一上述方法。一些实现方式还包括包含指令的至少一个非暂时性计算机可读介质,响应于由一个或多个处理器执行所述指令,所述指令使得所述一个或多个处理器执行任一上述方法。
应当意识到,本文更详细描述的前述概念和附加概念的所有组合被设想为是本文公开的主题的一部分。例如,出现在本公开的结尾处的所要求保护的主题的所有组合被设想为是本文公开的主题的一部分。
附图说明
图1是可以实现本文公开的实现方式的示例计算环境的框图。
图2是图1中引用的话语分类引擎的示例实现方式的框图。
图3图示了在用户和自动化助理之间进行的采用基于静音的端点确定的示例对话。
图4图示了根据各种实现方式的类似于图3中所示的示例对话,但是另外利用无热词抢占。
图5是图示根据各种实现方式的用于进行自动化助理会话的示例操作序列的流程图。
图6图示了根据各种实现方式的用户与自动化助理之间的示例对话,其包含动态控制的监视持续时间。
图7是图示了根据各种实现方式的用于动态地控制监视持续时间的示例操作序列的流程图。
图8和图9图示了根据各种实现方式的在用户和自动化助理之间的包含动态控制的监视持续时间的另一示例对话。
图10是图示了根据各种实现方式的用于动态地控制监视持续时间的另一示例操作序列的流程图。
图11图示了计算设备的示例架构。
具体实施方式
现在转到图1,图示了其中可以实现本文公开的技术的示例环境。该示例环境包括多个客户端计算设备1061-N。每个客户端设备106可以执行自动化助理客户端118的相应实例。可以在一个或多个计算系统(统称为“云”计算系统)上实现一个或多个基于云的自动化助理组件119(诸如自然语言理解引擎135),该一个或多个计算系统经由通常以110指示的一个或多个局域网和/或广域网(例如,因特网)通信地耦合到客户端设备1061-N。
在一些实现方式中,自动化助理客户端118的实例通过其与一个或多个基于云的自动化助理组件119的交互的方式可以形成从用户的角度看似乎是自动化助理120的逻辑实例的内容,用户可以参与与自动化助理120的人机对话。图1中描绘了这种自动化助理120的两个实例。由虚线包围的第一自动化助理120A服务于操作第一客户端设备1061的第一用户(未描绘),并且包括自动化助理客户端1181和一个或多个基于云的自动化助理组件119。由点划线包围的第二自动化助理120B服务于操作另一客户端设备106N的第二用户(未描绘),并且包括自动化助理客户端118N和一个或多个基于云的自动化助理组件119。
因此,应该理解,与在客户端设备106上执行的自动化助理客户端118进行互动的每个用户实际上可以与他或她自己的自动化助理120的逻辑实例进行互动。为了简洁和简单起见,本文中用作“服务”特定用户的术语“自动化助理”将指在由用户操作的客户端设备106上执行的自动化助理客户端118和一个或多个基于云的自动化助理组件119(其可以在多个自动化助理客户端118中间共享)的组合。还应该理解,在一些实现方式中,自动化助理120可以响应于来自任何用户的请求,而不管该自动化助理120的特定实例是否实际上“服务”了该用户。
客户端设备1061-N可以包括例如以下的一个或多个:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器、诸如智能电视的智能设备和/或包括计算设备的用户可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加的和/或替代的客户端计算设备。
如本文中更详细描述的,自动化助理120经由一个或多个客户端设备1061-N的用户界面输入和输出设备参与与一个或多个用户的人机对话会话。在一些实现方式中,自动化助理120可以响应于用户经由客户端设备1061-N之一的一个或多个用户界面输入设备提供的用户界面输入而参与与用户的人机对话会话。在那些实现方式的一些中,用户界面输入明确地指向自动化助理120。
客户端计算设备1061-N和操作基于云的自动化助理组件119的(一个或多个)计算设备中的每一个可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并执行应用的一个或多个处理器以及有助于通过网络进行通信的其他组件。由客户端计算设备1061-N中的一个或多个和/或自动化助理120执行的操作可以分布在多个计算机系统上。自动化助理120可以被实现为例如在通过网络彼此耦合的一个或多个位置中的一台或多台计算机上运行的计算机程序。在各种实现方式中,例如,自动化助理的一些或全部功能可以分布在多个计算机系统之间,或者甚至分布到客户端计算设备。在一些实现方式中,例如,本文关于检测和处理话语以及生成和呈现对其的响应所讨论的功能可以完全在客户端计算设备内执行,例如,使得即使当不存在在线连接时,这样的功能也对用户可用。这样,在一些实现方式中,自动化助理设备可以包括客户端设备,而在其他实现方式中,自动化助理设备可以包括远离客户端设备的一个或多个计算机系统,或者甚至包括客户端设备和一个或多个远程计算机系统的组合,由此自动化助理设备是设备的分布式组合。因此,在各种实现方式中,自动化助理设备可以被认为包括实现自动化助理的任何功能的任何电子设备。
如上所述,在各种实现方式中,客户端计算设备1061-N中的每一个可以操作自动化助理客户端118。在各种实现方式中,每个自动化助理客户端118可以包括对应的语音捕获/文本到语音(“TTS”)/语音到文本(“STT”)模块114。在其他实现方式中,语音捕获/TTS/STT模块114的一个或多个方面可以与自动化助理客户端118分开实现。在各种实现方式中,语音捕获/TTS/STT模块114可以基于声音查询来生成语音识别输出。
每个语音捕获/TTS/STT模块114可以被配置为执行一个或多个功能:例如经由麦克风捕获用户的语音;将所捕获的音频转换为文本(和/或其他表示或嵌入);和/或将文本转换为语音。例如,在一些实现方式中,因为客户端设备106在计算资源(例如,处理器周期、存储器、电池等)方面可能相对受限,所以每个客户端设备106本地的语音捕获/TTS/STT模块114可以被配置为将有限数量的不同口头短语(特别是调用自动化助理120的短语)转换为文本(或转换为其他形式,诸如较低维度的嵌入)。其他语音输入可以被发送到基于云的自动化助理组件119,其可以包括基于云的TTS模块116和/或基于云的STT模块117。
基于云的STT模块117可以被配置为利用云的几乎无限的资源来将由语音捕获/TTS/STT模块114捕获的音频数据转换为文本(其然后可以被提供给自然语言处理器122)。基于云的TTS模块116可以被配置为利用云的实际上无限的资源来将文本数据(例如,由自动化助理120制定的自然语言响应)转换为计算机生成的语音输出。在一些实现方式中,TTS模块116可以将计算机生成的语音输出提供给客户端设备106以例如使用一个或多个扬声器直接输出。在其他实现方式中,可以将由自动化助理120生成的文本数据(例如,自然语言响应)提供给语音捕获/TTS/STT模块114,然后,语音捕获/TTS/STT模块114可以将文本数据转换为本地输出的计算机生成的语音。
自动化助理120(特别是基于云的自动化助理组件119)可以包括自然语言理解引擎135、前述TTS模块116、前述STT模块117以及下面更详细描述的其他组件。在一些实现方式中,可以在与自动化助理120分离的组件中省略、组合和/或实现引擎和/或自动化助理120的模块中的一个或多个。在一些实现方式中,为了保护隐私,可以至少部分地在客户端设备106上(例如,排除在云之外)实现自动化助理120的一个或多个组件(诸如自然语言理解引擎135、语音捕获/TTS/STT模块114等)。
在一些实现方式中,自动化助理120响应于在与自动化助理120的人机对话会话期间,由客户端设备1061-N之一的用户生成的各种输入来生成响应内容。自动化助理120可以(例如,当与用户的客户端设备分开时通过一个或多个网络)提供响应内容,以作为对话会话的一部分呈现给用户。
如本文中所使用的,“对话会话”可以包括在用户与自动化助理120之间的一个或多个消息的逻辑上独立的交换。自动化助理120可以基于各种信号来区分与用户的多个对话会话,该各种信号诸如是会话之间的时间流逝、会话之间的用户场境(例如,位置、预定会议之前/之中/之后等)的改变、检测到用户与客户端设备之间的一个或多个中间交互而不是用户和自动化助理之间的对话(例如,用户切换应用一段时间,用户离开、然后稍后返回到独立的语音激活产品)、会话之间的客户端设备的锁定/休眠、用于与自动化助理120的一个或多个实例接口连接的客户端设备的改变、由用户采用的输入/输出(“I/O”)模态的改变等。
自然语言理解引擎135的自然语言处理器122处理由用户经由客户端设备1061-N生成的自然语言输入,并且可以生成注释输出(例如,以文本形式)以供自动化助理120的一个或多个其他组件使用。例如,自然语言处理器122可以处理由用户经由客户端设备1061的一个或多个用户界面输入设备生成的自然语言自由格式输入。所生成的注释输出包括自然语言输入的一种或多种注释以及可选地,自然语言输入的一个或多个(例如,全部)术语。
在一些实现方式中,自然语言处理器122被配置为识别和注释自然语言输入中的各种类型的语法信息。自然语言处理器122还可以包括被配置为利用其语法角色来注释术语的词性标记器和/或被配置为确定自然语言输入中的术语之间的句法关系的依赖性解析器(未描绘)。在一些实现方式中,自然语言处理器122可以附加地和/或可替代地包括实体标记器(未描绘),该实体标记器被配置为注释一个或多个段中的实体引用,诸如对人(包括例如文学人物、名人、公众人物等)、组织和位置(真实的和虚构的)等的引用。在一些实现方式中,自然语言处理器122可以附加地和/或可替代地包括被配置为基于一个或多个场境提示来对同一实体的引用进行分组或“聚类”的共指分解器(未描绘)。
自然语言理解引擎135还可以包括意图匹配器136,意图匹配器136被配置为基于自然语言处理器122的注释输出来确定参与与自动化助理120的人机对话会话的用户的意图。虽然在图1中与自然语言处理器122分开描绘,但是在其他实现方式中,意图匹配器136可以是自然语言处理器122(或者更一般地,包括自然语言处理器122的流水线)的组成部分。在一些实现方式中,自然语言处理器122和意图匹配器136可以共同形成上述“自然语言理解”引擎135。
意图匹配器136可以使用各种技术来确定用户的意图。在一些实现方式中,意图匹配器136可以访问一个或多个数据库,该一个或多个数据库包括例如语法和响应动作(或更一般地,意图)之间的多个映射。附加地或替代地,在一些实现方式中,一个或多个数据库可以存储一个或多个机器学习模型,该一个或多个机器学习模型被训练以基于用户的输入生成指示用户意图的输出。
语法可能会随着时间的流逝而被选择、制定(例如,用手)和/或学习,例如以代表用户的最常见意图。例如,一个语法“播放〈艺术家〉(play<artist>)”可以被映射到调用响应动作的意图,该响应动作使得〈艺术家〉(<artist>)的音乐在用户操作的客户端设备106上被播放。另一个语法“[天气|天气预报]今天([weather|forecast]today)”可以与用户查询(诸如“今天的天气如何(what’s the weather today)”和“今天的天气预报是什么?(what’s the forecast for today?)”)相匹配。如在“播放〈艺术家〉(play<artist>)”示例语法中所见,一些语法具有可以用槽位值(或“参数”)填充的槽(例如,〈艺术家〉(<artist>))。可以以各种方式确定槽位值。用户通常会主动提供槽位值。例如,对于语法“Order mea<topping>pizza(为我订购〈topping〉披萨)”,用户可能会说短语“order me a sausagepizza(为我订购香肠披萨)”,在这种情况下,自动地填充槽〈topping〉。附加地或可替代地,如果用户调用包括要用槽位值填充的槽的语法,而无需用户主动提供槽位值,则自动化助理120可以向用户请求这些槽位值(例如,“what type of crust do you want on yourpizza?(在你的披萨上要使用哪种类型的酥皮?”)。
与(可以手动创建的)许多语法相反,可以例如使用用户和自动化助理之间的交互的日志来自动地训练机器学习模型。机器学习模型可以采取各种形式,诸如神经网络。它们可以以各种方式被训练以从用户输入预测用户意图。例如,在一些实现方式中,可以提供包括各个训练示例的训练数据。每个训练示例可以包括例如来自用户的自由形式输入(例如,以文本或非文本形式),并且可以用意图标记(例如,用手)。可以跨机器学习模型(例如,神经网络)应用训练示例作为输入以生成输出。可以将输出与标签进行比较以确定误差。该误差可以用于训练模型,例如,使用诸如梯度下降(例如,随机、分批等)和/或反向传播的技术来调整与模型的(一个或多个)隐藏层相关联的权重。一旦用(通常大量的)数量的训练示例训练了这样的模型,就可以用于生成从未标记的自由形式自然语言输入预测意图的输出。
在一些实现方式中,自动化助理120可以促进(或“代理”)计算服务150代表用户执行动作。通常是能够由意图匹配器136识别或确定的意图类型的动作通常向计算服务发出请求,并且通常结合向计算服务提供一个或多个参数以指令这样的计算服务如何执行动作来这样做。
在这方面,计算服务可以被认为实际上包括能够被调用以代表用户执行一些活动的任何类型的计算机功能。计算服务可以由一个或多个处理器实现,并且可以驻留在与自动化助理相同的计算机系统上,或者可以驻留在与托管自动化助理的计算机系统不同的计算机系统上。一些计算服务可以通过网络可访问(例如,基于云的计算服务也是如此),而其他计算服务可以驻留在用户的客户端计算设备上。一些计算服务也可以被认为是与自动化助理和用户的不同方相关联的第三方计算服务,而不管那些计算服务被托管在何处(例如,托管在第三方计算机系统上、在自动化助理计算机系统上、在用户计算设备上、在云计算系统中等)。服务也可以驻留在客户端设备上,并且在一些实现方式中,图1中所示的各种引擎和组件可以被认为是计算服务。
在一些实现方式中,可以使用履行引擎124来接收由意图匹配器136输出的意图以及任何相关联的参数(无论是由用户主动提供的还是从用户请求的)并履行意图。在各种实现方式中,用户意图的履行可以使得生成/获得各种履行信息。在一些实现方式中,履行信息可以被提供给自然语言生成器(“NLG”)126,其可以基于履行信息生成自然语言输出。
履行信息可以采取各种形式,因为可以以各种方式实现意图,例如,基于意图是否与搜索查询、执行本地或远程动作的请求等相关。通常,意图的履行可以导致生成响应,然后可以将该响应呈现给用户,例如,包括对搜索查询的应答、执行本地或远程动作的结果等。在一些实现方式中,呈现可以包括音频回放,例如口头和/或音乐音频响应,而在一些实现方式中,该呈现可以包括代替音频信息或除了音频信息之外的视觉信息,例如,在图形显示器上呈现文本、图像、动画和/或视频。
附加地或替代地,履行引擎124可以被配置为例如从自然语言理解引擎135接收用户的意图,并且进而利用对话引擎138与用户进行人机对话会话以执行与意图相关联的动作,例如通过计算服务150呼叫或调用对一个或多个操作的执行。响应动作可以包括例如订购商品/服务、购买活动门票、预订餐馆、酒店、飞机、火车、叫出租车或拼车服务、启动定时器、设置提醒、发起电话呼叫、播放媒体、发送消息等。在一些这样的实现方式中,履行信息可以包括与动作相关联的参数、(在一些情况下可以从预定响应中选择的)确认响应等。
另外,在一些实现方式中,可以使用话语分类引擎140来确定由自动化助理检测到的话语是否可能指向自动化助理。具体地,话语通常是指由用户生成并由自动化助理检测到的口头输入,并且应当意识到,在一些情况下,由自动化助理检测到的用户话语将不会指向自动化助理,例如,如果用户正在打电话或当面与另一个人交谈、如果用户正在自言自语等。因此,话语分类引擎140可以用于确定已经由自动化助理检测到的话语是否可能由用户意图由自动化助理处理。
在一些实现方式中,例如,话语分类引擎140可以被实现为包括基于神经网络的分类器的计算服务,该分类器被训练为输出给定话语是否可能指向自动化助理的指示。例如,图2图示了可以在例如客户端设备106中实现的话语分类引擎140的示例实现方式。在基于云的组件内实现该实现方式的全部或一部分对于受益于本公开的普通技术人员而言将是显而易见的。
如所示,包括话语150的音频输入可以被提供给语音识别器152和声学特征生成器154两者,前者用于生成语义信息,后者用于生成与话语150中反映的话语相关联的声学信息。语音识别器152可以是包括被配置为识别口头语言中的单词和短语的硬件、软件和固件的组合的设备。在一些实现方式中,语音识别器152将所获得的话语150转换为机器可读格式。机器可读格式可以包括表示所获得的话语150的句子结构格式的一个或多个单词。在一些实现方式中,语音识别器152可以使用方法的各种组合来执行语音识别。例如,语音识别器152可以包括隐马尔可夫模型方法、基于动态时间规整(DTW)的神经网络、深度前馈和递归神经网络方法或各种方法的一些组合。话语分类引擎140可以将语音识别器152的输出提供给转录表示生成器156。同时,话语分类引擎140可以将所获得的话语150提供给声学特征生成器154。
在一些实现方式中,声学特征生成器154可以是包括硬件、软件和固件的组合的设备,其被配置为从所获得的话语150提取特征向量并将提取的特征向量作为输入提供给递归神经网络元件。声学特征生成器154可以分析所获得的话语150的不同片段或分析窗口。在一些实现方式中,可以为所获得的话语150的每个帧确定特征向量或一组声学特征向量。例如,声学特征生成器可以对每个窗口中的音频执行快速傅里叶变换(FFT);使用梅尔频率标度映射频谱的功率;取每个梅尔频率下的功率的对数;对梅尔对数幂的列表进行离散余弦变换;以及分析特征的幅度内容以确定每个窗口的声学特征。声学特征可以是梅尔频率倒谱系数(MFCC)、使用感知线性预测(PLP)变换确定的特征,或使用其他技术确定的特征。
话语分类引擎140可以一次一个地将特征向量提供给声学特征生成器154中的递归神经网络元件。递归神经网络元件可以是一个或多个长短期记忆(LSTM)层。声学特征生成器154可以是通过堆叠多个LSTM层构建的深层LSTM神经网络架构。话语分类引擎140可以训练声学特征生成器154中的神经网络以提供固定大小的语音单元表示或嵌入的输出。例如,嵌入可以是64单位向量。在一些实现方式中,单位可以是比特或字节。针对每个特征向量输出一个嵌入。
在一些实现方式中,话语分类引擎140包括声学特征生成器154以及语音识别器152,以增强对所获得的话语150的上下文的识别。通过启用话语分类引擎140中的声学特征生成器154,话语分类引擎140可以减少误识别的失败情况。此外,人们的话语包括未被话语的文本捕获的独特声学元素。例如,声学元素可以包括诸如音调、语音节奏和口音等特性。通过包括声学特征生成器154,独特的声学元素可以帮助确定话语的受众是否可能指向自动化助理服务器116。
转录表示生成器156可以包括一个或多个神经网络层。例如,转录表示生成器156可以包括卷积神经网络(CNN)词嵌入模型。与声学特征生成器154类似,转录表示生成器156可以包括一个或多个LSTM层,并且可以是通过堆叠多个LSTM层构建的深度LSTM神经网络架构。另外,话语分类引擎140可以训练转录表示生成器156中的神经网络以提供所获得的话语150的转录的输出。在一些实现方式中,话语的转录包括固定大小的文本单元表示或嵌入。例如,每个嵌入输出可以是100单位向量。在一些实现方式中,单位可以是浮点或整数值。一个嵌入从用于句子的每个词的转录表示生成器156输出。转录包括作为输出提供的每个嵌入单元。
在一些实现方式中,话语分类引擎140可以将包括由语音识别器152产生的句子的输入提供给转录表示生成器156。话语分类引擎140可以一次将来自句子的一个词输入到转录表示生成器156的CNN词嵌入模型中。另外,CNN词嵌入模型可以最大限度地汇集提供给CNN词嵌入模型的句子数据以减少输入数据,以便降低网络的计算复杂度。
为了使话语分类引擎140优化所获得的话语150指向自动化助理服务器116的概率,话语分类引擎140可以利用转录表示生成器156和声学特征生成器154的输出。级联模块158可以是组合来自转录表示生成器156的嵌入输出和来自声学特征生成器154的嵌入输出的软件、硬件、固件或每个的组合中的设备。例如,级联模块158可以组合来自转录表示生成器156的100单位向量输出和来自声学特征生成器154输出的64单位向量输出,以创建164单位向量输出。
在一些实现方式中,级联模块158可以创建164单位向量输出的矩阵。例如,该矩阵可以包括一列或多列164单位向量。该级联模块158可以将100单位嵌入转换为包括一个或多个数字的语义上有意义的向量。级联模块158可以使用诸如word2vec或GloVe的编程语言中的一个或多个函数调用将100单位嵌入转换为包括一个或多个数字的语义上有意义的向量。
在所示示例中,级联模块158可以从转录表示生成器158生成数字向量的矩阵,并且从声学特征生成器154生成嵌入的矩阵。具体地,给定10个词的句子,其中每个词与100单位嵌入相关联,级联模块158可以创建10×100矩阵并将其与来自声学特征生成器154的矩阵级联。在同一示例中,来自声学特征生成器154的矩阵可以包括10个特征向量,每个特征向量包括64单位嵌入。级联模块158可以创建10×64矩阵以与来自转录表示生成器156的10×100矩阵级联。由级联模块158创建的结果矩阵可以是10×164。
产生用于话语150的声学特征的矩阵和用于话语150的文本特征的矩阵的一个益处是每个相应矩阵的维度使得它们可以组合成适当的矩阵。例如,每个矩阵包括相同数量的行,这允许水平级联。假设各个矩阵之间的列数相似,则级联模块158将创建垂直级联。在一些实现方式中,级联模块158可以将级联矩阵提供给神经网络160。
在一些实现方式中,级联模块158可以缓冲矩阵中的164单位向量的数量,直到神经网络160已经处理了一个164单位向量。一旦神经网络160处理了一个164单位向量,级联模块158就可以将下一个164单位向量提供到神经网络160中。语音识别器152、声学特征生成器154、转录表示生成器156和级联模块158可以比神经网络160可以处理一个164单位向量更快地创建164单位向量。因此,级联模块158创建164单位向量的矩阵缓冲器以存储并准备好进行处理。
在一些实现方式中,话语分类引擎140包括用于处理级联矩阵的神经网络160。特别地,神经网络160可以包括分类器162和另一LSTM 164。话语分类引擎140可以训练分类器162和LSTM 164以产生指示所获得的话语150的受众可能指向自动化助理的可能性的输出。在一些实现方式中,分类器162和LSTM 164可以使用先前由用户说出的查询和未指向自动化助理的记录的对话的示例来训练。例如,话语分类引擎140可以检索所说的并且采用不指向自动化助理的文本格式的多个短语。
在一些实现方式中,话语分类引擎140可以跨互联网从一个或多个数据库检索其他短语,包括不指向自动化助理服务器116的短语。例如,短语之一可以包括“Bob said,what's the temperature outside,and Ishook(鲍勃说,外面的温度是多少,我都发抖了)”或“What time are your parents coming over?(您父母什么时候过来)”通常,这些类型的问题的受众是房间中的另一个人,即使话语分类引擎140可以将受众解释为可能指向这些类型的问题的自动化助理。然而,这些类型的问题是用于训练神经网络160的一些最佳短语。分类器162可以学习以识别短语,所述短语紧密地识别并且似乎包括可能指向自动化助理但实际上是背景噪声或者指向房间中的其他个体的受众。这样的示例包括“Whattime are your parents coming over(您的父母什么时间过来)”、“How much do youweigh(您的体重多少)”或“What did you buy at the grocery store?(您在杂货店买了什么?)”这些问题中的每一个不包括指示说话者正在与谁交谈的标识符,但是包括可以向分类器162指示在识别不指向自动化助理的短语时目光转向的代词。
在一些实现方式中,话语分类引擎140在训练期间更新分类器162的权重和LSTM164的权重。例如,话语分类引擎140可以使用具有随机梯度下降的误差随时间的反向传播来更新分类器162和LSTM 164的权重。
在一些实现方式中,分类器162和LSTM 164的输出可以包括所获得的话语150的受众可能指向自动化助理的指示。例如,该指示可以包括164单位向量的输出指示所获得的话语的受众可能指向自动化助理的概率。在其他实现方式中,分类器162和LSTM 210B的输出共同可以包括范围从0到100的分数。
在一些实现方式中,sigma 166对由LSTM 164提供的每个输出求和。例如,sigma166可以接收通过神经网络160传播的每个话语的164单位向量中的每一个的输出概率或输出分数。sigma 164可以针对整个获得的话语150累积地对来自神经网络160的每个输出概率或分数求和。
在一些实现方式中,sigma 166将最终输出概率或分数与预定阈值进行比较。如果sigma 166确定最终输出概率或分数超过预定阈值,则可能性输出168指示所获得的话语150的受众指向自动化助理的可能性。可替代地,如果最终输出概率或分数低于预定阈值,则可能性输出168可以指示所获得的话语150的受众不指向自动化助理的可能性。例如,预定阈值可以是50%的概率或50/100的分数。
在一些实现方式中,话语分类引擎140可以从可能性输出168确定是否将所获得的话语150提供给自动化助理。例如,如果话语分类引擎140确定最终输出概率或分数超过预定阈值,则话语分类引擎140可以生成指令以提供给自动化助理以发起对所获得的话语150的处理。可替代地,话语分类引擎140可以确定最终输出概率或分数不超过预定阈值。作为响应,话语分类引擎140可以从存储器中删除所获得的话语150,并继续等待直到新获得的话语。在其他实现方式中,话语分类引擎140可以为自动化助理生成指示不处理所获得的话语150的指令。另外,指令可以传达给自动化助理以将所获得的话语150存储在未指向自动化助理的所存储的话语的数据库中。
这样,在一些实现方式中,分类器可以被配置为利用声学和语义信息两者,并且可以利用与话语相关联的音频数据的声学表示和从与话语相关联的音频数据生成的转录的语义表示两者作为输入,以便确定话语指向自动化助理的可能性。在一些实现方式中,这些表示可以被编码成单独的特征向量,并且在一些实现方式中,这些特征向量可以在被输入到分类器时被级联。
在一些实现方式中,话语分类引擎140可以用于检测包含热词(可替代地称为触发词)的话语,热词可以是单独的词或短语,并且可以用于明确地传达特定话语指向自动化助理。为了保护用户隐私和/或节省资源,例如,在一些实现方式中可能期望要求用户在自动化助理将完全处理话语之前显式调用自动化助理。自动化助理的显式调用通常响应于在客户端设备处接收到某些用户界面输入而发生。客户端设备可以包括助理接口,该助理接口可以向客户端设备的用户提供用于与自动化助理接口连接的接口(例如,从用户接收输入,并且可以提供可听和/或图形响应),并且与实现自动化助理的一个或多个附加组件(例如,处理用户输入并生成适当响应的(一个或多个)设备上组件和/或(一个或多个)远程服务器设备)接口连接。可以经由客户端设备调用自动化助理的一些用户界面输入包括客户端设备处的用于调用自动化助理的硬件和/或虚拟按钮(例如,轻击硬件按钮、选择由客户端设备显示的图形界面元素)。然而,其他自动化助理可以附加地或替代地响应于一个或多个热词而被调用。例如,可以说出诸如“Hey Assistant(嘿,助理)”、“Ok Assistant(好的,助理)”和/或“Assistant(助理)”的特定口头调用短语以调用自动化助理。
然而,在一些实现方式中,话语分类引擎可以用于检测不包含任何特定热词的话语,其在本文中被称为无热词话语,并且话语分类引擎可以尝试从其识别为指向自动化助理。例如,指向其他个体和/或由其他个体说出的话语、通过电视、扬声器或其他回放设备广播的话语或其他类型的背景噪声可能不指向自动化助理,并且因此,期望话语分类引擎评估被识别为潜在话语的任何音频数据,以在允许自动化助理生成对话语的响应之前确定话语是否可能指向自动化助理。在一些实现方式中,可以使用无热词话语来发起自动化助理会话(即,一些无热词话语可以用作与自动化助理的对话中的第一话语),而在其他实现方式中,可能需要热词或其他触发以便发起自动化助理会话,其中后续话语能够被处理,而不管它们是否是无热词的。
返回图1,在一些实现方式中,可以使用各种附加组件来促进话语和/或话语分类的检测。例如在一些实现方式中,声学回波消除(AEC)引擎142可以用于抵消来自自动化助理呈现(例如,由客户端设备回放作为对用户查询的响应的口头音频)的音频信息。另外,代替AEC引擎142或除了AEC引擎142之外,说话者识别引擎144可以用于识别特定话语的说话者,例如,使得当多个个体在给定位置处说话时,将仅处理特定个体的话语,并且将忽略其他个体的话语。因此,在一些实现方式中,可以有效地滤除由自动化助理生成的音频和/或其他个体的语音的回放,使得仅特定个体的话语由自动化助理处理和响应。然而,在其他实现方式中,可以省略引擎142和144。此外,在其他实现方式中,引擎142、144中的一个或两个可以驻留在客户端设备上,例如,使得仅与特定说话者相关联的音频数据从客户端设备被传送到基于云的自动化助理组件。
现在转到图3和图4,在一些实现方式中,在一些情况下可以使用话语分类来促进与自动化助理的更自然和更有效的交互,部分地通过消除对自动化助理的热词或其他显式调用的需要,以便处理在呈现对先前话语的响应期间发出的口头话语。例如,一些自动化助理利用将对话转变为基于回合的对话的基于静音的端点器,其中用户在一个回合中发出话语,并且自动化助理在后续回合中呈现对话语的响应,并且每当用户在自动化助理完成其响应的呈现之后的预定时间内发出另一话语时,发起后续回合。
通常,在包含基于静音的端点确定的自动化助理的情况下,响应于经由热词或其他用户动作对自动化助理的显式调用而发起会话,并且一旦用户完成他或她的口头话语,自动化助理轮流并呈现对话语的响应。在完成呈现时,通常必须在预定时间段内说出任何后续话语(在本文中可以称为“麦克风打开”时段,因为在该时段期间接收到的任何话语通常将由自动化助理捕获和处理)。在麦克风打开时段期间接收到的话语将发起自动化助理的新响应呈现,而在打开时段期间缺少话语通常将表示对话的结束,从而关闭用户和自动化助理之间的会话。值得注意的是,在自动化助理呈现响应的时段期间,可以忽略任何用户输入(即,这些时段可以被认为是“麦克风关闭”时段,因为在这些时段期间接收到的任何话语通常将被忽略)。
例如,图3图示了在用户和自动化助理之间进行的采用基于静音的端点确定的示例对话。在使用热词(箭头180)来调用自动化助理之后,用户和自动化助理在发出话语(箭头182、186)和呈现对这些话语的响应(箭头184、188)之间交替,其中发生交替的麦克风打开和麦克风关闭时段,在此期间处理(麦克风打开)或忽略(麦克风关闭)口头话语,并且一旦在特定麦克风打开时段内没有接收到新话语,会话就终止。
然而,在本文公开的各种实现方式中,话语分类可以用于促进与自动化助理的更自然和更有效的交互,部分地通过消除对自动化助理的热词或其他显式调用的需要,以便处理在呈现对先前话语的响应期间发出的口头话语。如图4所示,具体地,在说出热词(箭头190)之后,在呈现对第一话语(箭头192)的第一响应(箭头194)期间发出第二话语(箭头196),有效地抢占第一响应的呈现,并且发起对第二话语的第二响应(箭头198)而不需要完成第一响应。此外,如图4所示,在呈现每个响应期间,仍然检测和处理用户输入,即,使得即使在响应呈现期间,自动化助理也被认为处于“麦克风打开”时段。
应当意识到,在一些实现方式和/或实例中,第一响应的抢占可以导致第一响应的呈现的中断或继续。然而,在其他实现方式和/或实例中,第一响应的抢占可能不会导致第一响应的呈现被中断,而是可能导致第一响应的呈现被暂停、暂时静默或暂时降低音量,并且可能具有与第一响应的继续呈现重叠的第二响应的呈现。此外,在一些实例中,从用户的角度来看,抢占可能不会导致对第一响应的呈现的可感知的改变。特别是在第二话语包括细化或修改先前请求的请求的情况下,可能期望继续呈现第一响应,但是以某种方式修改以解决与第二话语相关联的请求。因此,例如,如果第一话语包括播放音乐的请求,则诸如“louder please(请大声点)”的第二话语可以导致音乐回放的音量增加,但不暂停或停止回放。
例如,图5图示了与一些实现方式一致的用于在用户和自动化助理之间进行对话的操作序列200。在示例对话中,可以例如响应于用户的热词的话语或者通过诸如按下电子设备上的软按钮或硬按钮的其他合适的显式动作来发起自动化助理会话(框202)。在其他实现方式中,还可以在没有用户显式调用的情况下发起会话。
接下来,自动化助理设备可以监视音频输入,诸如从一个或多个麦克风接收的输入,并且可以检测作为其结果的第一话语(框204)。然后,如图5所示,可以执行第一话语履行操作以生成并向用户呈现对第一话语的第一响应(框208)。履行、生成和呈现可以在自动化助理设备中本地执行,远离自动化助理设备(例如,使用基于云的辅助功能)执行,或者使用本地和远程设备的组合执行。然而,与这种呈现同时,可以继续监视音频输入(框210),并且可以执行AEC、说话者识别和/或话语分类中的一个或多个以尝试在完成第一响应的呈现之前检测用户的第二话语(框212)。在所示的实现方式中,第二话语可以是无热词的,并且因此对音频输入的监视可以包括生成与在第一响应的呈现期间说出的第二无热词话语相关联的音频数据。
然而,假设在呈现第一响应期间说出的话语可能不指向自动化助理,在一些实现方式中可能期望对与第二话语相关联的音频数据执行话语分类操作,以确定第二无热词话语是否可能指向自动化助理设备(框214)。此外,如上所述,在一些实现方式中可以执行AEC以过滤出客户端设备对响应的回放,和/或可以执行说话者识别以将对话限制到单个用户。例如,第二话语可以指向该区域中的另一个人,或者也可能不是针对某个特定的人,可以由不同的个人说出,或者在一些情况下可以是背景噪声,因此话语分类可以用于识别指向自动化助理并且可能与正在进行的对话相关的那些话语。如果不是,则控制返回以继续监视音频输入以潜在地检测其他话语(框210)。否则,如果话语分类操作确定第二无热词话语可能指向自动化助理设备,则可以抢占在自动化助理设备上呈现第一响应(框216),并且可以发起第二话语履行操作以生成并呈现针对第二无热词话语的第二响应(框218)。
在各种实现方式中,各种类型的话语、请求或对话可以利用本文描述的技术。例如,媒体查询和/或控制请求可以实现本文描述的技术,例如,以允许用户有效地中断对第一话语的响应以澄清第一话语。示例对话可以包括“user:OK assistant,play HappyBirthday;assistant:now playing Happy Birthday by Artist A…;user:no,I meantthe version by Artist B;assistant:OK,now playing Happy Birthday by Artist B…(用户:好的,助理,播放生日快乐;助理:现在播放艺术家A的生日快乐…;用户:不,我是指艺术家B的版本;助理:好吧,现在播放艺术家B的生日快乐…”本文描述的技术还可以与智能家庭设备控制、设置提醒、约会、警报或定时器、与购物清单交互、控制设备或进行一般信息查询结合使用。
如上所述,在一些实现方式中,可能期望结合与自动化助理进行会话来利用基于静默的端点确定。然而,本发明不限于此,并且可以使用其他机制。例如,在一些实现方式中,可以使用长文识别,由此连续运行自动语音识别以尝试检测话语。
然而,在使用基于静默的端点确定的情况下,还可能期望动态地控制监视持续时间,并且因此作为到达基于静默的端点的结果何时终止会话。特别地,在一些实现方式中,可能期望在响应呈现完成之后提供预定时间段以等待后续话语,在该时间点之后,如果没有接收到话语,则会话终止。在一些实现方式中,特别是在与基于云的服务通信的设备上呈现可听响应的那些实现方式中,响应的持续时间的计算可能由于以下事实而变得复杂:设备可能使用不同的语言或语音来合成语音和/或由于文本到语音(TTS)数据可能在多次通信的过程中流式传输到客户端,使得基于云的服务可能难以预测由远程设备呈现的响应的结束。
另外,还可能期望在这样的环境中实现早期设备状态传播以避免竞争状况,其中后续话语履行操作可能在客户端的状态作为先前话语履行操作的结果而被更新之前尝试更新该状态。这样的早期传播可能是有用的,特别是在客户端设备能够在本地履行某些类型的请求的环境中,使得如果客户端状态信息直到会话结束才被基于云的服务器更新,则由基于云的服务器处理的后续话语将不具有在尝试处理后续话语时在其上操作的当前客户端状态。
例如,图6图示了在用户和自动化助理之间进行的示例对话,其采用可以在一些实现方式中使用的动态控制的监视持续时间。在该实现方式中,并且响应于由自动化助理设备接收到的话语,向客户端设备传送响应,以及在客户端设备呈现响应期间发起在第一时间段内对音频输入的监视的指令。然后,在第一时间段之后并且在客户端设备完成响应的呈现之前,可以指令客户端设备在响应的呈现期间发起在第二时间段内对音频输入的监视。然后,在第二时间段之后并且在客户端设备完成响应的呈现之后,可以指令客户端设备发起在第三时间段内对音频输入的监视。此外,在一些情况下,可以基于客户端设备完成响应的呈现的时间来确定第三时间段的持续时间,例如,以保持从呈现结束到会话结束的相对恒定的超时持续时间。
图6特别图示了在文本到语音响应呈现的回放期间(箭头220),基于云的助理组件可以周期性地向客户端设备传送“重新打开麦克风”消息(箭头222、224、226),为每个消息提供超时持续时间,并且只要响应的呈现尚未完成,就在每个超时持续时间结束时有效地重新发出消息。因此,在第一重新打开麦克风消息(箭头222)的持续时间结束时,由于文本到语音响应呈现仍在进行的事实,发出第二重新打开麦克风消息(箭头224)。然而,在第二重新打开麦克风消息持续时间完成时,文本到语音响应呈现已经完成,因此可以发出一个附加的重新打开麦克风消息(箭头226)以提供从文本到语音响应呈现结束的总持续时间,该总持续时间至少是控制会话终止的期望持续时间。此外,在一些实现方式中,可能期望基于响应的呈现完成的时间来指定最后消息中的持续时间,使得实现一致的超时持续时间,而不管响应呈现相对于任何打开麦克风时段何时完成。然而,在其他实现方式中,可以使用不同的组合持续时间(例如,大于或小于每个消息的默认持续时间),而在其他实现方式中,可以不执行持续时间的调整。
具体地,例如,假设期望对每个重新打开麦克风消息和终止会话使用相同的持续时间X,图6图示了持续时间A,其表示与第二消息相关联的持续时间X的剩余部分,而B表示与第二消息相关联的持续时间X重叠的呈现响应的部分。因此,在一些实现方式中,可能期望在第三消息226中指定基本上等于X-A的持续时间,使得从响应呈现结束起的组合持续时间基本上等于X。
图7图示了与一些实现方式一致的由基于云的服务执行以与客户端设备交互并且动态地控制超时持续时间的操作的示例序列240。序列240可以例如使用一个或多个处理器并使用图1中所示的各种组件中的一个或多个来实现。序列240还可以用于将客户端状态传播到基于云的服务,如本文将进一步描述的。
具体地,可以从客户端设备接收话语(框242),并且可以生成响应并将其流式传输到客户端设备(框244)。此外,此时,可以针对预定的持续时间或时段,例如默认时段,请求立即重新打开麦克风。然后可以继续将响应流式传输到客户端(框246)。在流式传输期间,基于云的服务器可以响应于来自客户端的各种消息,并且基于云的服务可以进一步监视会话的超时持续时间。例如,基于云的服务可以监视客户端状态更新的接收(框248),这可以使得在基于云的服务上更新客户端状态,使得可以基于客户端的当前状态来履行在响应呈现完成期间或之后接收的任何附加话语。特别地,当任何后续话语取决于初始话语(例如,在取决于由初始话语更新的状态方面)时,这样的功能可能是有用的,使得在完成响应的呈现之前传播更新的客户端状态使得能够基于更新的客户端状态生成对后续话语的任何响应。
另外,基于云的服务可以监视超时持续时间达到结束(框252)。如果达到超时,则基于云的服务可以确定是否已经确认响应呈现的完成(框254),例如,作为从客户端设备接收到指示其已经完成呈现的消息的结果。如果不是,则可以发出新的请求以针对另一个默认时段重新打开麦克风(框256),并且相应地进行响应的流式传输。
返回到框254,如果确认呈现的完成,则可以确定是否已经在来自客户端设备的通信中提供了等待持续时间(框256)。在这样的通信中,例如,客户端设备可以提供客户端设备自呈现完成以来已经等待响应的持续时间或时间量的指示(对应于图6的持续时间A)。可替代地,客户端设备可以提供呈现与先前默认时段重叠的持续时间或时间量的指示(对应于图6的持续时间B)。仍然可替代地,客户端设备可以提供表示呈现何时完成的时间戳,使得可以从中确定持续时间A或B中的一个或多个。还应当意识到,通信成本也可以被考虑到持续时间计算中,以考虑在基于云的服务和客户端设备之间传送消息所需的时间。
如果客户端设备没有提供任何这样的信息,则在检测到另一个话语或会话结束之后,可以使用默认时段发出另一个重新打开麦克风请求(框260)。然而,如果客户端设备确实提供了任何这样的信息,则可以首先调整默认时段(框262),例如以考虑自呈现完成以来的时间量,使得消息中指定的持续时间提供基本上等于默认时段的组合持续时间。
在一些实现方式中,还可能期望控制由自动化助理接收但最终被拒绝作为指向自动化助理的话语的后续话语是否将触发用于终止与用户的会话的超时持续时间的延长。例如,如果确定话语不是指向自动化助理、由除了与会话相关联的用户之外的某人说出、响应呈现本身的一部分或其他背景噪声,则可以拒绝话语。例如,如图8和9所示,可能希望基于话语是在响应呈现结束之前还是之后开始来控制被拒绝的话语是否导致在响应呈现结束时发出另外的重新打开麦克风消息。在图8中,例如,文本到语音响应呈现(箭头270)被示出为在时间上与具有指定超时持续时间的重新打开消息(箭头272)重叠。在图8中,在响应呈现完成之前接收新话语,而在图9中,在响应呈现完成之后接收新话语。在前一种情况下,可以发出第二重新打开麦克风消息,而在后一种情况下,可以不发出新消息。例如在客户端设备或基于云的服务中实现的跟踪逻辑由图10的操作序列280示出,其中在超时持续时间期满时(框282),可以确定在超时时段期间是否接收到被拒绝的话语(框284),并且如果是,则确定是否在响应呈现完成之前接收到该被拒绝的话语(框286)。如果两个条件都为真,则可以请求另一超时时段(框288),而如果任一条件不为真,则可以不需要进一步的等待,并且可以终止会话(框290)。
图11是适合于实现本文描述的功能的全部或一部分的示例计算设备300的框图。计算设备300通常包括至少一个处理器302,该处理器302经由总线子系统304与多个外围设备进行通信。这些外围设备可以包括:存储子系统306,该存储子系统306例如包括存储器子系统308和文件存储子系统310;用户界面输入设备312;用户界面输出设备314;以及网络接口子系统316。输入和输出设备允许用户与计算设备300进行交互。网络接口子系统316提供到外部网络的接口并耦合到其他计算设备中的相应的接口设备。
用户界面输入设备312可以包括:键盘;诸如鼠标、轨迹球、触摸板或图形输入板之类的指向设备;扫描仪;集成在显示器中的触摸屏;诸如语音识别系统、麦克风之类的音频输入设备;和/或其他类型的输入设备。通常,使用术语“输入设备”旨在包括将信息输入到计算设备300或通信网络上的所有可能类型的设备和方式。
用户界面输出设备314可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括:阴极射线管(CRT);诸如液晶显示器(LCD)的平板设备;投影设备;或用于创建可见图像的一些其他机制。显示子系统还可以诸如经由音频输出设备来提供非视觉显示。通常,使用术语“输出设备”旨在包括用于将信息从计算设备300输出到用户或另一机器或计算设备的所有可能类型的设备以及方式。
存储子系统306存储提供本文所述的一些或所有模块的功能的编程和数据构造。例如,存储子系统306可以包括执行图5、7和/或10所示的各种序列的所选方面的逻辑。
这些软件模块通常由处理器302单独或与其他处理器结合地执行。存储子系统306中使用的存储器308可以包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)318以及其中存储固定指令的只读存储器(ROM)420。文件存储子系统310可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实现方式的功能的模块可以由文件存储子系统310存储在存储子系统306中,或者存储在处理器302可访问的其他机器中。
总线子系统304提供了一种机制,该机制使得计算设备300的各个组件和子系统按预期彼此通信。尽管总线子系统304被示意性地示出为单条总线,但是总线子系统的可替代实现方式可以使用多条总线。
计算设备300可以是各种类型,包括移动设备、智能电话、平板计算机、膝上型计算机、台式计算机、可穿戴计算机、可编程电子设备、机顶盒、专用辅助设备、工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,出于图示一些实现方式的目的,图11中描绘的对计算设备300的描述仅旨在作为特定示例。计算设备300的许多其他配置可能具有比图11描绘的计算设备300更多或更少的组件。
在本文描述的系统收集关于用户的个人信息或者可以利用个人信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。而且,某些数据可以在其被存储或使用之前以一种或多种方式被处理,使得个人可识别信息被移除。例如,可以处理用户的身份,使得不能确定用户的个人身份信息,或者可以在获得地理位置信息的情况下将用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的具体地理位置。因此,用户可以控制如何收集和/或使用关于用户的信息。
尽管本文已经描述和图示了若干实现方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的多种其他装置和/或结构,并且每个这样的变形和/或改进被认为在本文描述的实现方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和构造均意味着是示例性的,并且实际参数、尺寸、材料和/或构造将取决于教导所用于的具体应用或多个应用。仅使用常规实验,本领域技术人员将认识到或能够确定本文所述的具体实现方式的许多等同形式。因此,应当理解到,前述实现方式仅以示例的方式给出,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式来实施实现方式。本公开的实现方式针对本文所述的每个单独的特征、系统、制品、材料、套件和/或方法。另外,如果这样的特征、系统、制品、材料、套件和/或方法不是相互矛盾的,则本公开的范围包括两个或多个这样的特征、系统、制品、材料、套件和/或方法的任何组合。
Claims (22)
1.一种计算机实现的方法,包括:
利用自动化助理设备,在呈现对第一话语的第一响应期间监视音频输入,其中,监视所述音频输入包括生成与在呈现所述第一响应期间说出的第二无热词话语相关联的音频数据;
在呈现所述第一响应期间发起对所述音频数据的话语分类操作,以确定所述第二无热词话语是否可能指向所述自动化助理设备;
响应于根据所述话语分类操作确定所述第二无热词话语可能指向所述自动化助理设备,发起话语履行操作以生成针对所述第二无热词话语的第二响应;以及
用所述自动化助理设备上的所述第二响应的呈现抢占所述自动化助理设备上的所述第一响应的呈现。
2.根据权利要求1所述的方法,其中,发起所述话语分类操作包括将所述音频数据提供给话语分类服务,所述话语分类服务包括基于神经网络的分类器,所述基于神经网络的分类器被训练为输出给定话语是否可能指向自动化助理的指示。
3.根据权利要求2所述的方法,其中,所述话语分类服务被配置为获得所述第二无热词话语的转录、生成与所述音频数据相关联的第一声学表示、生成与所述转录相关联的第二语义表示以及将所述第一表示和所述第二表示提供给所述基于神经网络的分类器以生成所述指示。
4.根据权利要求3所述的方法,其中,所述第一表示和所述第二表示分别包括第一特征向量和第二特征向量,以及其中,所述话语分类服务被配置为通过级联所述第一特征向量和所述第二特征向量来将所述第一表示和所述第二表示提供给所述基于神经网络的分类器。
5.根据权利要求2-4中的任一项所述的方法,其中,所述自动化助理设备是客户端设备,以及其中,所述话语分类服务驻留在所述自动化助理设备上。
6.根据权利要求2-4中的任一项所述的方法,其中,所述自动化助理设备是客户端设备,以及其中,所述话语分类服务远离所述自动化助理设备并与所述自动化助理设备通信。
7.根据任一前述权利要求所述的方法,其中,所述自动化助理设备是客户端设备,以及其中,发起所述话语履行操作包括在所述自动化助理设备上处理所述话语履行操作。
8.根据任一前述权利要求所述的方法,其中,所述自动化助理设备是客户端设备,以及其中,发起所述话语履行操作包括在远离所述自动化助理设备并与所述自动化助理设备通信的服务上发起所述话语履行操作。
9.根据任一前述权利要求所述的方法,其中,呈现所述第一响应包括音频响应的回放,所述方法进一步包括对所述音频数据执行声学回声消除以从所述音频数据中过滤所述音频响应的至少一部分。
10.根据任一前述权利要求所述的方法,进一步包括对所述音频数据执行说话者识别,以识别所述第二无热词话语是否与和所述第一话语相同的说话者相关联。
11.根据任一前述权利要求所述的方法,其中,所述第二无热词话语取决于所述第一话语,所述方法进一步包括:在完成所述第一响应的呈现之前,响应于所述第一话语,传播所述自动化助理设备的更新的客户端状态,使得所述第二响应的生成基于所述更新的客户端状态。
12.根据任一前述权利要求所述的方法,进一步包括在用所述自动化助理设备上的所述第二响应的呈现抢占所述自动化助理设备上的所述第一响应的呈现之后:
在呈现所述第二响应期间监视所述音频输入;
在呈现所述第二响应期间动态地控制监视持续时间;以及
在所述监视持续时间完成时自动地终止自动化助理会话。
13.根据权利要求12所述的方法,其中,动态地控制所述监视持续时间包括:响应于在第一时间段之后确定所述第二响应的呈现未完成,自动地将所述监视持续时间延长第二时间段。
14.根据权利要求13所述的方法,其中,自动地将所述监视持续时间延长第二时间段包括:基于从完成所述第二响应的呈现开始计算的持续时间来确定所述第二时间段。
15.根据权利要求1所述的方法,其中,利用所述自动化助理设备上的所述第二响应的呈现来抢占所述自动化助理设备上的所述第一响应的呈现包括中断所述第一响应的呈现。
16.根据权利要求1所述的方法,进一步包括在抢占所述第一响应的呈现之后继续所述第一响应的呈现。
17.一种计算机实现的方法,包括:
响应于由自动化助理设备接收到的话语,将响应传送到所述自动化助理设备,包括指令所述自动化助理设备在由所述自动化助理设备呈现所述响应期间发起在第一时间段内对音频输入的监视;
在所述第一时间段之后并且在由所述自动化助理设备完成呈现所述响应之前,指令所述自动化助理设备在由所述自动化助理设备呈现所述响应期间发起在第二时间段内对所述音频输入的监视;
在所述第二时间段之后并且在由所述自动化助理设备完成呈现所述响应之后,指令所述自动化助理设备发起在第三时间段内对所述音频输入的监视,包括基于由所述自动化助理设备完成所述响应的呈现的时间来确定所述第三时间段的持续时间;以及
在所述第三时间段完成时自动终止自动化助理会话。
18.根据权利要求17所述的计算机实现的方法,其中,所述话语是无热词话语,所述方法进一步包括对所述话语执行话语分类操作以确定所述话语是否可能指向所述自动化助理设备,其中,响应于根据所述话语分类操作确定所述话语可能指向所述自动化助理设备,执行将所述响应传送到所述自动化助理设备。
19.根据权利要求17所述的计算机实现的方法,其中,所述话语是第一话语,其中,所述方法进一步包括:响应于在所述第二时间段期间由所述自动化助理设备接收到的第二话语,确定所述第二话语不指向所述自动化助理设备,以及其中,仅当在完成由所述自动化助理设备呈现所述响应之前接收到所述第二话语时,才执行指令所述自动化助理设备发起在所述第三时间段内对所述音频输入的监视。
20.一种系统,包括一个或多个处理器和与所述一个或多个处理器可操作地耦合的存储器,其中,所述存储器存储指令,响应于由一个或多个处理器执行所述指令,所述指令使得所述一个或多个处理器执行根据权利要求1-19中的任一项所述的方法。
21.一种自动化助理设备,包括:
音频输入设备;以及
一个或多个处理器,所述一个或多个处理器被耦合到所述音频输入设备并且执行本地存储的指令以使所述一个或多个处理器执行根据权利要求1至16中的任一项所述的方法。
22.一种包括指令的至少一个非暂时性计算机可读介质,响应于由一个或多个处理器执行所述指令,所述指令使得所述一个或多个处理器执行根据权利要求1-19中的任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2020/033113 WO2021230878A1 (en) | 2020-05-15 | 2020-05-15 | Hot-word free pre-emption of automated assistant response presentation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115552517A true CN115552517A (zh) | 2022-12-30 |
Family
ID=70977583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080100833.9A Pending CN115552517A (zh) | 2020-05-15 | 2020-05-15 | 自动化助理响应呈现的无热词抢占 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11756533B2 (zh) |
EP (1) | EP4143822A1 (zh) |
KR (1) | KR20230007502A (zh) |
CN (1) | CN115552517A (zh) |
AU (2) | AU2020447125B2 (zh) |
WO (1) | WO2021230878A1 (zh) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0235349A (ja) | 1988-07-23 | 1990-02-05 | Matsushita Electric Works Ltd | 電気化学式センサ |
DE19946022A1 (de) * | 1999-09-25 | 2001-04-26 | Bosch Gmbh Robert | Steuerungsvorrichtung und -verfahren zur Festlegung einer Informationsausgabe-Rangfolge mehrerer Informationsquellen, insbesondere Audioquellen |
US8185400B1 (en) | 2005-10-07 | 2012-05-22 | At&T Intellectual Property Ii, L.P. | System and method for isolating and processing common dialog cues |
US8608559B2 (en) * | 2008-09-24 | 2013-12-17 | Joshua Trading, Llc | Customer relationship management systems and methods for use with electronic gaming machines |
US9570086B1 (en) * | 2011-11-18 | 2017-02-14 | Google Inc. | Intelligently canceling user input |
US9221385B2 (en) * | 2012-05-18 | 2015-12-29 | Texas Emergency Network, LLC | Emergency digital sign network with video camera, methods of operation, and storage medium |
US10726831B2 (en) | 2014-05-20 | 2020-07-28 | Amazon Technologies, Inc. | Context interpretation in natural language processing using previous dialog acts |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10339917B2 (en) * | 2015-09-03 | 2019-07-02 | Google Llc | Enhanced speech endpointing |
JP6159492B1 (ja) * | 2016-03-24 | 2017-07-05 | 楽天株式会社 | 情報処理システム、情報処理方法、及び情報処理プログラム |
US10311872B2 (en) | 2017-07-25 | 2019-06-04 | Google Llc | Utterance classifier |
US10966023B2 (en) * | 2017-08-01 | 2021-03-30 | Signify Holding B.V. | Lighting system with remote microphone |
US11164066B1 (en) * | 2017-09-26 | 2021-11-02 | Google Llc | Generating parameter values for recurrent neural networks |
US10410654B2 (en) * | 2017-10-27 | 2019-09-10 | Bestechnic (Shanghai) Co., Ltd. | Active noise control headphones |
EP4213022B1 (en) * | 2020-02-04 | 2024-05-01 | Afiniti, Ltd. | Techniques for error handling in a task assignment system with an external pairing system |
-
2020
- 2020-05-15 EP EP20730524.4A patent/EP4143822A1/en active Pending
- 2020-05-15 KR KR1020227042961A patent/KR20230007502A/ko unknown
- 2020-05-15 CN CN202080100833.9A patent/CN115552517A/zh active Pending
- 2020-05-15 AU AU2020447125A patent/AU2020447125B2/en active Active
- 2020-05-15 WO PCT/US2020/033113 patent/WO2021230878A1/en unknown
- 2020-05-15 US US17/251,511 patent/US11756533B2/en active Active
-
2023
- 2023-08-18 US US18/235,726 patent/US20230395066A1/en active Pending
- 2023-11-29 AU AU2023274128A patent/AU2023274128A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210358483A1 (en) | 2021-11-18 |
US20230395066A1 (en) | 2023-12-07 |
KR20230007502A (ko) | 2023-01-12 |
EP4143822A1 (en) | 2023-03-08 |
AU2020447125A1 (en) | 2022-12-01 |
US11756533B2 (en) | 2023-09-12 |
WO2021230878A1 (en) | 2021-11-18 |
AU2023274128A1 (en) | 2023-12-14 |
AU2020447125B2 (en) | 2023-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11817080B2 (en) | Using corrections, of predicted textual segments of spoken utterances, for training of on-device speech recognition model | |
KR102535338B1 (ko) | 화자 임베딩(들)과 트레이닝된 생성 모델을 이용한 화자 분리 | |
US11423885B2 (en) | Utilizing pre-event and post-event input streams to engage an automated assistant | |
KR102523982B1 (ko) | 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트-특정 핫 워드 | |
JP6839333B2 (ja) | 呼び出しフレーズの検出における雑音低減技術の選択的適応および利用 | |
CN112292724A (zh) | 用于调用自动助理的动态和/或场境特定热词 | |
JP2022534888A (ja) | 2パスエンドツーエンド音声認識 | |
WO2021113443A1 (en) | Two-pass end to end speech recognition | |
KR20230062612A (ko) | 자동화된 어시스턴트를 위한 자연스러운 대화 활성화 | |
JP7481488B2 (ja) | オーディオプレゼンテーション対話を用いた自動アシスタント | |
AU2020447125B2 (en) | Hot-word free pre-emption of automated assistant response presentation | |
EP4143821A1 (en) | Contextual suppression of assistant command(s) | |
US20230230578A1 (en) | Personalized speech query endpointing based on prior interaction(s) | |
CN114041283B (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 |