CN116368562A - 针对自动化助理启用自然对话 - Google Patents
针对自动化助理启用自然对话 Download PDFInfo
- Publication number
- CN116368562A CN116368562A CN202180069030.6A CN202180069030A CN116368562A CN 116368562 A CN116368562 A CN 116368562A CN 202180069030 A CN202180069030 A CN 202180069030A CN 116368562 A CN116368562 A CN 116368562A
- Authority
- CN
- China
- Prior art keywords
- fulfillment
- output
- data stream
- nlu
- user
- 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
- 230000003993 interaction Effects 0.000 claims abstract description 122
- 238000000034 method Methods 0.000 claims abstract description 82
- 238000012545 processing Methods 0.000 claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims description 44
- 238000010801 machine learning Methods 0.000 claims description 30
- 230000000694 effects Effects 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000033764 rhythmic process Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 description 53
- 230000000007 visual effect Effects 0.000 description 17
- 238000012549 training Methods 0.000 description 14
- 238000009877 rendering Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000026676 system process Effects 0.000 description 3
- 238000013518 transcription Methods 0.000 description 3
- 230000035897 transcription Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000306 recurrent effect 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
-
- 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
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- 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/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- 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/28—Constructional details of speech recognition systems
- G10L15/32—Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
-
- 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/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
作为用户与自动化助理之间的对话会话的一部分,实施方式能够使用流式ASR模型来处理音频数据流以生成ASR输出,使用NLU模型来处理ASR输出以生成NLU输出,并且基于NLU输出生成履行数据流。此外,实施方式还能够基于处理音频数据流来确定与在音频数据流中捕获的(多个)口头话语相关联的基于音频的特性。基于NLU输出流、履行数据流、以及基于音频的特性的当前状态,实施方式能够确定要实现的下一交互状态是否是:(i)使得履行输出被实现;(ii)使得自然对话输出被可听地渲染;或者(iii)避免使得任何交互被实现,实施方式能够使得下一交互状态被实现。
Description
背景技术
人类可以通过在本文中被称为“自动化助理”(也被称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“对话代理”等)的交互式软件应用参与人机对话。自动化助理通常在解释和响应口头话语时依赖于组件的流水线。例如,自动语音识别(ASR)引擎能够处理与用户的口头话语相对应的音频数据以生成ASR输出,诸如口头话语的语音假设(即,(多个)术语和/或其他(多个)令牌的序列)。此外,自然语言理解(NLU)引擎能够处理ASR输出(或触摸/键入输入)以生成NLU输出,诸如用户在提供口头话语(或触摸/键入输入)时的意图以及可选地与意图相关联的(多个)参数的(多个)槽值。此外,履行引擎能够用于处理NLU输出,并且生成履行输出,诸如结构化请求以获得对口头话语的响应内容和/或响应于口头话语执行动作。
通常,与自动化助理的对话会话由提供口头话语的用户发起,并且自动化助理能够使用前述组件流水线来响应口头话语以生成响应。用户能够通过提供附加的口头话语来继续对话会话,并且自动化助理能够使用上述组件流水线来响应附加的口头话语以生成附加响应。换句话说,这些对话会话通常是基于回合的,因为用户在对话会话中采取回合以提供口头话语,并且自动化助理在对话会话中采取回合以响应口头话语。然而,从用户的角度来看,这些基于回合的对话会话可能不太自然,因为它们不反映人类实际上如何彼此对话。
例如,第一人可以提供多个不同的口头话语以向第二人传达单个想法,并且第二人能够在制定对第一人的响应时考虑多个不同的口头话语中的每一个。在一些情况下,第一人可以在这些多个不同话语之间暂停不同的时间量。值得注意的是,第二人可能无法简单地基于多个不同的口头话语中的第一口头话语或多个不同的口头话语中的每一个孤立地完全制定对第一人的响应。
类似地,在这些基于回合的对话会话中,在不考虑给定口头话语相对于多个不同口头话语的上下文的情况下,自动化助理可能无法完全制定对用户的给定口头话语的响应。结果,这些基于回合的对话会话能够被延长,因为用户试图在这些基于回合的对话会话的单个回合期间以单个口头话语将他/她的想法传达给自动化助理,从而浪费计算资源。此外,如果用户尝试在这些基于回合的对话会话的单个回合期间以多个口头话语向自动化助理传达他/她的想法,则自动化助理可能会简单地失败,从而也浪费计算资源。例如,当用户在尝试制定口头话语时提供了长时间停顿,自动化助理可能过早地推断用户完成说话,处理不完整的口头话语,并且由于(从处理)确定不完整的口头话语没有传达有意义的意图而失败。附加地,基于回合的对话会话能够防止在助理响应的渲染期间提供的用户的口头话语被有意义地处理。这能够需要用户在提供口头话语之前等待完成助理响应的渲染,从而延长对话会话。
发明内容
本文描述的实施方式涉及使得自动化助理能够在对话会话期间与用户执行自然对话。一些实施方式能够使用流式自动语音识别(ASR)模型来处理由用户的客户端设备的(多个)麦克风生成的音频数据流以生成ASR输出流。音频数据流能够捕获用户的一个或多个口头话语,该一个或多个口头话语针对至少部分地在客户端设备处实现的自动化助理。此外,能够使用自然语言理解(NLU)模型来处理ASR输出,以生成NLU输出流。此外,能够使用一个或多个履行规则和/或一个或多个履行模型来处理NLU输出,以生成履行数据流。附加地,能够基于处理音频数据流来确定与一个或多个口头话语相关联的基于音频的特性。基于NLU输出流、履行数据流、和/或基于音频的特性的当前状态,能够确定在对话会话期间要实现的下一交互状态。在对话会话期间要实现的下一交互状态能够是以下之一:(i)使得基于履行数据流生成的履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或者(iii)避免使得任何交互被实现。能够实现下一交互状态以促进对话会话。此外,确定下一交互状态能够在对话会话期间(例如,以10Hz、20Hz或其他频率连续地)迭代地发生,其中,每次迭代基于NLU输出、履行数据和基于音频的特性的相应当前状态——并且不等待用户或自动化助理响应的完成。因此,通过在对话会话期间使用本文描述的技术来确定下一交互状态,自动化助理能够确定是否实现下一交互状态,以及如何实现下一交互状态以促进对话会话,而不是像在基于回合的对话会话中那样在用户提供口头话语之后简单地响应用户。
例如,假设用户参与与自动化助理的对话会话并且提供口头话语“打开...theuhmmm...(turn on the...the uhmmm...)”。当用户提供口头话语时,能够基于处理捕获口头话语的音频数据流来生成ASR输出流、NLU输出流和履行数据流。值得注意的是,在该示例中,NLU输出流可以指示用户意图使一些软件应用(例如,音乐软件应用、视频软件应用等)或一些设备(例如,客户端设备、智能家电、智能电视、智能扬声器等)被控制,但是用户尚未识别出“打开”确切地意图是什么。尽管如此,能够处理履行数据流以生成履行输出集合。此外,与口头话语相关联的基于音频的特性能够基于处理音频数据流来生成,并且能够包括例如指示用户不确定“打开”确切地意图是什么的语调和语音节奏、在“打开”和“theuhmmm”之间经过的持续时间、自“the uhmmm”以来经过的持续时间和/或其他基于音频的特性。此外,能够处理NLU输出流和基于音频的特性以生成自然对话输出集合。
在该示例中,能够确定NLU输出流、履行数据流以及与口头话语相关联的基于音频的特性的当前状态。例如,能够使用分类机器学习(ML)模型来处理NLU输出流、履行数据流和基于音频的特性,以生成预测度量(例如,二进制值、概率、对数似然等)。每个下一交互状态能够与预测度量中的对应一个相关联,使得自动化助理能够确定是否(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或(iii)避免使得任何交互被实现。在这种情况下,如果自动化助理确定(i)使得履行输出被实现,则自动化助理能够从多个履行输出中选择履行输出并使其被实现(例如,与打开电视、打开灯、打开音乐等相关联的助理命令)。此外,如果自动化助理确定(ii)使得自然对话输出被可听地渲染以呈现给用户,则自动化助理能够从多个自然对话输出中选择自然对话输出并使其被可听地渲染(例如,“你想让我打开什么(What would you like me to turn on)?”、“你还在吗(Areyou still there)?”等)。此外,如果自动化助理确定(iii)避免使得任何交互被实现,则自动化助理能够继续处理音频数据流。
在该示例中,进一步假设对话会话的当前时刻对应于在用户完成提供口头话语“turn on the...the uhmmm”中的“the uhmmm”部分之后的两秒。对于当前时刻,与下一交互状态相关联的对应预测度量可以指示自动化助理应该避免使得任何交互被实现。换句话说,即使看起来用户暂时完成说话,自动化助理也没有确定任何履行输出以足够的置信度实现,并且应该为用户提供附加的时间来收集他/她的想法并识别他/她想要打开的确切是什么。然而,进一步假设附加的五秒通过。在该后续时刻,基于音频的特性可以指示自用户上次说话以来已经经过了七秒,并且能够至少基于基于音频的特性来更新当前状态。因此,对于该后续时刻,与下一交互状态相关联的对应预测度量可以指示自动化助理应该使得自然对话输出“你想让我打开什么(What do you want me to turn on)?”被可听地渲染以呈现给用户以使用户重新参与对话会话。换句话说,即使用户完成说话并且自动化助理仍然没有确定任何履行输出以足够的置信度实现,自动化助理也能够提示用户促进对话会话并循环回到用户先前指示他/她想要做的事情(例如,打开一些东西)。此外,进一步假设用户提供了附加口头话语“哦,电视(oh,the television)”。在该进一步的后续时刻,可以更新数据流以指示用户意图使电视打开,并且能够基于更新的数据流来更新当前状态。因此,对于该另一后续时刻,与下一交互状态相关联的对应预测度量可以指示自动化助理应该使电视打开(并且可选地使合成语音可听地被渲染,其指示自动化助理将使电视打开)。换句话说,在该另一后续时刻,自动化助理已经确定具有足够的置信度的履行输出被实现。
在一些实施方式中,NLU数据流能够由多个代理处理以生成履行数据流。能够基于履行数据流来生成履行输出集合,并且能够基于与NLU数据流相关联的预测NLU度量和/或与履行数据流相关联的预测履行度量从履行输出集合中选择履行输出。在一些实施方式中,仅一个履行输出可以被实现为下一交互状态,而在其他实施方式中,多个履行输出可以被实现为下一交互状态。如本文所使用的,“第一方”(1P)代理、设备和/或系统引用由与控制本文引用的自动化助理的一方相同的一方控制的代理、设备和/或系统。相反,“第三方”(3P)代理、设备和/或系统引用由与控制本文引用的自动化助理的一方不同的一方控制的代理、设备和/或系统,但是能够通信地耦合到一个或多个1P代理、设备和/或系统。
在那些实施方式的一些版本中,多个代理包括一个或多个1P代理。继续上述示例,在对话会话的当前时刻(例如,在用户完成提供口头话语“turn on the...the uhmmm...”的“the uhmmm”部分之后的两秒),履行数据流能够由1P音乐代理处理以生成与助理命令相关联的履行输出,该助理命令在实现时使得音乐被打开,1P视频流服务代理生成与助理命令相关联的履行输出,该助理命令在实现时使得视频流服务被打开,1P智能设备代理生成与助理命令相关联的履行输出,该助理命令在实现时使得一个或多个1P智能设备被控制等等。在该示例中,履行数据流能够经由应用编程接口(API)传送到1P代理。在那些实施方式的附加或替代版本中,多个代理包括一个或多个3P代理。由3P代理生成的履行输出能够类似于由1P代理生成的履行输出,但是由3P代理生成。在该示例中,履行数据流能够经由应用编程接口(API)并且通过一个或多个网络传送到3P代理,并且3P代理能够将履行输出传送回客户端设备。由多个代理(例如,1P代理和/或3P代理)生成的每个履行输出能够被聚合为履行输出集合。
尽管相对于辅助命令的履行输出集合描述了上述示例,但是应当理解,这是为了示例而不是限制性的。在一些实施方式中,履行输出集合能够附加地或可替代地包括合成语音音频数据的实例,该合成语音音频数据的实例包括对应的合成语音,并且能够被可听地渲染以经由客户端设备的一个或多个扬声器呈现给用户。例如,假设用户在“将定时器设置为15分钟(set a timer for 15minutes)”的对话会话期间代替提供了口头话语。进一步假设与NLU数据流相关联的预测度量和/或与履行数据流相关联的预测度量指示用户说了15分钟或50分钟。在该示例中,履行数据流能够由1P定时器代理处理,以生成与第一助理命令相关联的第一履行输出以将定时器设置为15分钟、与第二助理命令相关联的第二履行输出以将定时器设置为50分钟、与确认要执行助理命令的合成语音音频数据的第一实例相关联的第三履行输出(例如,“定时器被设置为15分钟(the timer is set for15minutes)”)、与请求用户消除要执行的助理命令的歧义的合成语音音频数据的第一实例相关联的第四履行输出(例如,“定时器是15分钟还是50分钟?(is that timer for15minutes or 50minutes?)”)等。
在该示例中,自动化助理能够基于与NLU数据流相关联的预测NLU度量和/或与履行数据流相关联的预测履行度量,从要实现的履行输出集合中选择一个或多个履行输出。例如,假设预测度量满足第一阈值度量和第二阈值度量这两者,并且这指示用户说“将定时器设置为15分钟(set a timer for 15minutes)”的非常高的置信度。在该示例中,自动化助理能够使得与将定时器设置为15分钟的第一助理命令相关联的第一履行输出被实现,并且不使得合成语音的任何实例被可听地渲染以呈现给用户。相反,假设预测度量满足第一阈值度量,但不满足第二阈值度量,并且这指示用户说“将定时器设置为15分钟(set atimer for 15minutes)”的轻度置信度。在该示例中,自动化助理能够使得与将定时器设置为15分钟的第一助理命令相关联的第一履行输出被实现,并且还使得与确认要执行助理命令的合成语音音频数据的第一实例相关联的第三履行输出被实现(例如,“定时器被设置为15分钟(the timer is set for 15minutes)”)。这为用户提供了在不正确的情况下校正自动化助理的机会。然而,假设预测度量不能满足第一阈值度量和第二阈值度量这两者,并且这指示用户说“将定时器设置为15分钟(set a timer for 15minutes)”的低置信度。在该示例中,自动化助理能够使得与请求用户消除助理命令的歧义的合成语音音频数据的第一实例相关联的第四履行输出被执行(例如,“该定时器是15分钟还是50分钟?(is thattimer for 15minutes or 50minutes?)”),并且自动化助理能够由于低置信度而避免设置任何定时器。
在一些实施方式中,履行输出集合能够附加地或可替代地包括图形内容的实例,该图形内容能够被可视地渲染以经由客户端设备或与客户端设备通信的附加客户端设备的显示器呈现给用户。继续上述定时器示例,履行数据流能够由1P定时器代理处理,以附加地或可替代地生成与描绘被设置为15分钟的定时器的第一图形内容相关联的第五履行输出,以及与描绘被设置为50分钟的定时器的第二图形内容相关联的第六履行输出。类似地,自动化助理能够基于与NLU数据流相关联的预测NLU度量和/或与履行数据流相关联的预测履行度量,从要实现的履行输出集合中选择一个或多个履行输出。例如,假设预测度量满足第一阈值度量和/或第二阈值度量,并且这指示用户说“将定时器设置为15分钟(set atimer for 15minutes)”的非常高和/或轻度的置信度。在该示例中,自动化助理能够附加地或可替代地使得与描绘被设置为15分钟的定时器的第一图形内容相关联的第五履行输出被实现,使得被设置为15分钟的定时器的图形描绘被可视地渲染以呈现给用户。相反,假设预测度量不能满足第一阈值度量和第二阈值度量这两者,并且这指示用户说“将定时器设置为15分钟(set a timer for 15minutes)”的低置信度。在该示例中,自动化助理能够附加地或可替代地使得与第一图形内容相关联的第五履行输出和与第二图形内容相关联的第六履行输出被实现,其中,第一图形内容描绘了被设置为15分钟的定时器,而第二图形内容描绘了被设置为50分钟的定时器,使得定时器被设置为15分钟的图形描绘和定时器被设置为50分钟的另一图形描绘这两者都被可视地渲染以呈现给用户。因此,即使当下一交互状态指示履行输出应当被实现时,也能够基于当前状态动态地确定履行输出。
在一些实施方式中,自动化助理能够在确定使得履行输出被实现的下一交互状态之前,使得履行输出集合中的履行输出被部分地履行。如上面相对于其中用户提供口头话语“turn on the...the uhmmm...”的初始示例所指出的,由多个代理生成的履行输出集合能够包括与在被实现时使得音乐被打开的助理命令相关联的履行输出,与在被实现时使得视频流服务被打开的助理命令相关联的履行输出,与在被实现时使得一个或多个1P智能设备被控制的助理命令相关联的履行输出等等。在该示例中,在预期用户请求自动化助理执行要相对于软件应用和/或智能设备执行的一些动作的情况下,自动化助理能够抢先建立与软件应用(例如,音乐应用、视频流应用)和/或智能设备(例如,智能电视、智能电器等)的连接。结果,能够减少使得履行输出被实现为下一交互状态的时延。
在一些实施方式中,能够基于与NLU数据流相关联的NLU度量和/或基于音频的特性来生成自然对话输出集合,并且能够从自然对话输出集合中选择自然对话输出。在那些实施方式的一些版本中,自然对话输出的超集能够存储在客户端设备可访问的一个或多个数据库中,并且能够基于与NLU数据流相关联的NLU度量和/或基于音频的特性,由自然对话输出的超集生成自然对话输出集合。这些自然对话输出能够被实现为下一交互状态以促进对话会话,但不一定被实现为履行。例如,自然对话输出能够包括请求用户确认期望继续与自动化助理交互的指示(例如,“你还在那里吗?(Are you still there?)”等)、请求用户提供附加用户输入以促进用户与自动化助理之间的对话会话(例如,“你想要打开什么?(Whatdid you want to turn on?)”等)、填充语音(例如,“当然(Sure)”、“好(Alright)”等)。
在一些实施方式中,即使要实现的下一交互状态是避免使得交互被实现,仍然能够使用ASR模型来处理音频数据流以更新ASR输出流、NLU输出流和履行数据流。因此,能够迭代地更新当前状态,使得确定下一交互状态也能够在对话会话期间迭代地发生。在那些实施方式的一些版本中,自动化助理能够附加地或可替代地使用话音活动检测(VAD)模型来处理音频数据流,以监视话音活动的发生(例如,在用户已经静音几秒钟之后)。在这些实施方式中,自动化助理能够确定检测到的话音活动的发生是否针对自动化助理。例如,更新的NLU数据流能够指示该检测到的话音活动是否针对自动化助理。如果是,则自动化助理能够继续更新履行数据流和履行输出集合。
在一些实施方式中,NLU输出流、履行数据流和基于音频的特性的当前状态包括基于一个或多个口头话语中的最近口头话语生成的NLU输出的最近实例、基于最近NLU输出生成的履行数据的最近实例,以及基于最近口头话语生成的基于音频的特性的最近实例。继续上述示例,在对话会话的当前时刻(例如,在用户完成提供口头话语“turn on the...theuhmmm...”的“the uhmmm”部分之后的两秒),当前状态可以仅对应于基于口头话语的“theuhmmm”部分生成的NLU数据、履行数据和基于音频的特性。在附加或替代的实施方式中,NLU输出流、履行数据流和基于音频的特性的当前状态进一步包括基于在最近口头话语之前的一个或多个历史口头话语而生成的NLU输出的一个或多个历史实例、基于NLU输出的一个或多个历史实例而生成的履行数据的一个或多个历史实例,以及基于一个或多个历史口头话语而生成的基于音频的特性的一个或多个历史实例。继续上述示例,在对话会话的当前时刻(例如,在用户完成提供口头话语“turn on the...the uhmmm...”的“the uhmmm”部分之后的两秒),当前状态可以仅对应于基于口头话语的“the uhmmm”部分、口头话语的“turnon the”部分、以及可选地在口头话语的“turn on the”部分之前发生的任何口头话语而生成的NLU数据、履行数据和基于音频的特性。
通过使用本文描述的技术,能够实现一个或多个技术优点。作为一个非限制性示例,本文描述的技术使得自动化助理能够在对话会话期间参与与用户的自然对话。例如,自动化助理能够基于对话会话的当前状态来确定对话会话的下一交互状态,使得自动化助理不限于基于回合的对话会话或者取决于确定用户在响应用户之前已经完成说话。因此,当用户参与这些自然对话时,自动化助理能够确定何时响应用户以及如何响应用户。这导致节省客户端设备处的计算资源的各种技术优点,并且能够使得对话会话以更快和更有效的方式结束。例如,能够减少自动化助理失败的发生数量,因为自动化助理能够在尝试代表用户执行任何履行之前等待来自用户的更多信息。此外,例如,能够减少在客户端设备处接收的用户输入的数量,因为能够减少用户必须重复自己或重新调用自动化助理的发生数量。
如本文所使用的,“对话会话”可以包括用户和自动化助理(并且在一些情况下,其他人类参与者)之间的逻辑上自包含的交换。自动化助理可以基于各种信号来区分与用户的多个对话会话,诸如会话之间的时间经过、会话之间的用户上下文的改变(例如,位置、在安排的会议之前/期间/之后等)、除了用户和自动化助理之间的对话之外的用户和客户端设备之间的一个或多个中间交互的检测(例如,用户切换应用一段时间、用户离开然后稍后返回到独立的话音激活产品)、会话之间的客户端设备的锁定/睡眠、用于与自动化助理对接的客户端设备的改变,等等。
提供以上描述作为本文公开的仅一些实施方式的概述。这些实施方式和其他实施方式在本文中更详细地描述。
应当理解,本文公开的技术能够在客户端设备上本地实现、由经由一个或多个网络连接到客户端设备的(多个)服务器远程地实现,和/或两者兼有。
附图说明
图1描绘了示例环境的框图,该示例环境演示了本公开的各个方面,并且能够实现本文公开的实施方式。
图2描绘了根据各种实施方式的使用图1的各种组件演示本公开的各个方面的示例过程流程。
图3A和图3B描绘了图示根据各种实施方式的确定在对话会话期间要实现的下一交互状态是否(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或者(iii)避免使得任何交互被实现的示例方法的流程图。
图4描绘了根据各种实施方式的确定在对话会话期间要实现的下一交互状态是否是(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或者(iii)避免使得任何交互被实现的非限制性示例。
图5A、图5B和图5C描绘了根据各种实施方式的使得在对话会话期间履行输出被实现的各种非限制性示例。
图6描绘了根据各种实施方式的计算设备的示例性架构。
具体实施方式
现在转到图1,描绘了示例环境的框图,该示例环境演示了本公开的各个方面,并且能够实现本文公开的实施方式。示例环境包括客户端设备110和自然对话系统180。在一些实施方式中,自然对话系统180能够在客户端设备110处本地实现。在附加或替代的实施方式中,自然对话系统180能够从客户端设备110远程地实现,如图1中所描绘的。在这些实施方式中,客户端设备110和自然对话系统180可以经由一个或多个网络199(诸如一个或多个有线或无线局域网(“LAN”,其包括Wi-Fi LAN、网状网络、蓝牙、近场通信等)或广域网(“WAN”,包括互联网))彼此通信地耦合。
客户端设备110可以是例如以下中的一个或多个:台式计算机、膝上型计算机、平板电脑、移动电话、车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器(可选地具有显示器)、诸如智能电视的智能电器、和/或包括计算设备的用户的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代的客户端设备。
客户端设备110能够执行自动化助理客户端114。自动化助理客户端114的实例能够是与客户端设备110的操作系统分离的应用(例如,安装在操作系统的“顶部”)或者能够替代地由客户端设备110的操作系统直接实现。自动化助理客户端114能够与在客户端设备110处本地实现的自然对话系统180交互或者经由如图1所描绘的一个或多个网络199来交互。自动化助理客户端114(并且可选地通过与其他远程系统(例如,服务器)的交互)可以形成从用户的角度来看看起来是自动化助理115的逻辑实例的内容,用户可以利用该逻辑实例参与人机对话。自动化助理115的实例在图1中被描绘,并且由包括客户端设备110的自动化助理客户端114和自然对话系统180的虚线包围。因此,应当理解,参与在客户端设备110上执行的自动化助理客户端114的用户实际上可以参与他或她自己的自动化助理115的逻辑实例(或在家庭或其他用户组之间共享的自动化助理115的逻辑实例)。为了简洁和简单起见,如本文所使用的自动化助理115将指代在客户端设备110上本地和/或可以实现自然对话系统180的一个或多个服务器上执行的自动化助理客户端114。
在各种实施方式中,客户端设备110可以包括用户输入引擎111,其被配置为检测由客户端设备110的用户使用一个或多个用户界面输入设备提供的用户输入。例如,客户端设备110可以配备有捕获音频数据的一个或多个麦克风,诸如与用户的口头话语或客户端设备110的环境中的其他声音相对应的音频数据。附加地或可替代地,客户端设备110可以配备有一个或多个视觉组件,其被配置为捕获与在一个或多个视觉组件的视场中检测到的图像和/或移动(例如,手势)相对应的视觉数据。附加地或可替代地,客户端设备110可以配备有一个或多个触敏组件(例如,键盘和鼠标、手写笔、触摸屏、触摸面板、一个或多个硬件按钮等),其被配置为捕获与针对客户端设备110的触摸输入相对应的(多个)信号。
在各种实施方式中,客户端设备110可以包括渲染引擎112,其被配置为使用一个或多个用户界面输出设备向客户端设备110的用户提供用于可听和/或视觉呈现的内容。例如,客户端设备110可以配备有一个或多个扬声器,其使得内容能够经由客户端设备110提供以可听地呈现给用户。附加地或可替代地,客户端设备110可以配备有显示器或投影仪,其使得能够经由客户端设备110提供内容以视觉呈现给用户。
在各种实施方式中,客户端设备110可以包括一个或多个存在传感器113,其被配置为在来自对应(多个)用户的同意下提供指示检测到的存在(特别是人类存在)的信号。在这些实施方式中的一些实施方式中,自动化助理115能够至少部分地基于用户在客户端设备110处(或在与客户端设备110的用户相关联的另一计算设备处)的存在来识别客户端设备110(或与客户端设备110的用户相关联的另一计算设备)以满足口头话语。能够通过在客户端设备110和/或与客户端设备110的用户相关联的其他计算设备处(例如,经由渲染引擎112)渲染响应内容、通过使得客户端设备110和/或与客户端设备110的用户相关联的其他计算设备被控制,和/或通过使得客户端设备110和/或与客户端设备110的用户相关联的其他计算设备执行任何其他动作以满足口头话语来满足口头话语。如本文所述,自动化助理115能够利用基于存在传感器113确定的数据来基于用户在何处附近或最近在何处附近来确定客户端设备110(或其他计算设备),并且仅向客户端设备110(或那些其他计算设备)提供对应的命令。在一些附加或替代实施方式中,自动化助理115能够利用基于存在传感器113确定的数据来确定任何用户(任何用户或特定用户)当前是否接近客户端设备110(或其他计算设备),并且能够可选地基于接近客户端设备110(或其他计算设备)的(多个)用户来抑制向和/或从客户端设备110(或其他计算设备)提供数据。
存在传感器113可以以各种形式出现。例如,客户端设备110能够利用上面相对于用户输入引擎111描述的用户界面输入组件中的一个或多个来检测用户的存在。附加地或可替代地,客户端设备110可以配备有其他类型的基于光的存在传感器113,诸如测量从其视场内的对象辐射的红外(“IR”)光的无源红外(“PIR”)传感器。
附加地或可替代地,在一些实施方式中,存在传感器113可以被配置为检测与人类存在或设备存在相关联的其他现象。例如,在一些实施例中,客户端设备110可以配备有存在传感器113,其检测由例如用户携带/操作的其他计算设备(例如,移动设备、可穿戴计算设备等)和/或其他计算设备发出的各种类型的无线信号(例如,诸如无线电、超声波、电磁等波)。例如,客户端设备110可以被配置为发出人类察觉不到的波,诸如超声波或红外波,其可以由其他计算设备(例如,经由超声波/红外接收器,诸如具有超声波能力的麦克风)检测。
附加地或可替代地,客户端设备110可以发出其他类型的人类不可感知的波,诸如可以由用户携带/操作的其他计算设备(例如,移动设备、可穿戴计算设备等)检测并用于确定用户的特定位置的无线电波(例如,Wi-Fi、蓝牙、蜂窝等)。在一些实施方式中,GPS和/或Wi-Fi三角测量可以用于例如基于到/来自客户端设备110的GPS和/或Wi-Fi信号来检测人的位置。在其他实施方式中,客户端设备110可以单独地或共同地使用其他无线信号特性,诸如飞行时间、信号强度等,以基于由用户携带/操作的其他计算设备发出的信号来确定特定人的位置。
附加地或可替代地,在一些实施方式中,客户端设备110可以执行说话者标识(SID)以从用户的话音中识别用户。在一些实施方式中,然后可以例如通过客户端设备110的存在传感器113(以及可选地,客户端设备110的GPS传感器、Soli芯片和/或加速度计)来确定说话者的移动。在一些实施方式中,基于这样的检测到的移动,可以预测用户的位置,并且当至少部分地基于客户端设备110和/或其他计算设备与用户的位置的接近度使得在客户端设备110和/或其他计算设备处渲染任何内容时,可以假设该位置是用户的位置。在一些实施方式中,可以简单地假设用户处于他或她与自动化助理115接合的最后一个位置,特别是如果自上次接合以来没有经过太多时间。
此外,客户端设备110和/或自然对话系统180可以包括用于存储数据和/或软件应用198的一个或多个存储器、用于访问数据和执行软件应用198的一个或多个处理器、和/或促进通过一个或多个网络199进行通信的其他组件。在一些实施方式中,软件应用198中的一个或多个能够本地安装在客户端设备110处,而在其他实施方式中,软件应用198中的一个或多个能够(例如,由一个或多个服务器)远程地托管,并且能够由客户端设备110通过一个或多个网络199访问。由客户端设备110、其他计算设备和/或由自动化助理115执行的操作可以分布在多个计算机系统上。自动化助理115可以实现为例如在客户端设备110和/或通过网络(例如,图1的(多个)网络199)彼此耦合的一个或多个位置中的一个或多个计算机上运行的计算机程序。
在一些实施方式中,由自动化助理115执行的操作可以经由自动化助理客户端114在客户端设备110处本地实现。如图1所示,自动化助理客户端114可以包括自动语音识别(ASR)引擎120A1、自然语言理解(NLU)引擎130A1、履行引擎140A1和文本到语音(TTS)引擎150A1。在一些实施方式中,由自动化助理115执行的操作可以跨多个计算机系统分布,诸如当如图1中所描绘的远离客户端设备110实现自然对话系统180时。在这些实施方式中,自动化助理115可以附加地或可替代地利用自然对话系统180的ASR引擎120A2、NLU引擎130A2、履行引擎140A2和TTS引擎150A2。
这些引擎中的每一个可以被配置为执行一个或多个功能。例如,ASR引擎120A1和/或120A2能够使用存储在(多个)机器学习(ML)模型数据库115A中的(多个)流式ASR模型(例如,递归神经网络(RNN)模型、变换器模型和/或能够执行ASR的任何其他类型的ML模型)来处理捕获口头话语并且由客户端设备110的麦克风生成的音频数据流以生成ASR输出流。值得注意的是,当生成音频数据流时,能够利用流式ASR模型来生成ASR输出流。此外,NLU引擎130A1和/或130A2能够使用存储在(多个)ML模型数据库115A中的(多个)NLU模型(例如,长短期记忆(LSTM)、门控循环单元(GRU)、和/或能够执行NLU的任何其他类型的RNN或其他ML模型)和/或基于语法的(多个)规则来处理ASR输出流以生成NLU输出流。此外,履行引擎140A1和/或140A2能够基于根据NLU输出流生成的履行数据流来生成履行输出集合。能够使用例如一个或多个第一方(1P)代理171和/或一个或多个第三方(3P)代理171(例如,如参考图2所描述的)来生成履行数据流。最后,TTS引擎150A1和/或150A2能够使用存储在(多个)ML模型数据库115A中的(多个)TTS模型来处理文本数据(例如,由自动化助理115制定的文本),以生成包括计算机生成的合成语音的合成语音音频数据。值得注意的是,存储在(多个)ML模型数据库115A中的(多个)ML模型能够是本地存储在客户端设备110处的设备上ML模型或客户端设备110和/或远程系统(例如,(多个)服务器)都可以访问的共享ML模型。
在各种实施方式中,ASR输出流能够包括例如被预测为对应于在音频数据流中捕获的用户的(多个)口头话语的语音假设(例如,术语假设和/或转录假设)流、每个语音假设的一个或多个对应的预测值(例如,概率、对数似然性和/或其他值)、被预测为对应于在音频数据流中捕获的用户的(多个)口头话语的多个音素、和/或其他ASR输出。在那些实施方式的一些版本中,ASR引擎120A1和/或120A2能够(例如,基于对应的预测值)选择一个或多个语音假设作为与口头话语相对应的识别文本。
在各种实施方式中,NLU输出流能够包括例如带注释的识别文本流,其包括针对识别文本的一个或多个(例如,所有)术语的识别文本的一个或多个注释。例如,NLU引擎130A1和/或130A2可以包括词性标标记器(未示出),其被配置为用词的语法角色来注释术语。附加地或可替代地,NLU引擎130A1和/或130A2可以包括实体标记器(未描绘),其被配置为在所识别的文本的一个或多个片段中注释实体引用,诸如对人(包括例如文学人物、名人、公众人物等)、组织、位置(真实的和假想的)等的引用。在一些实施方式中,关于实体的数据可以存储在一个或多个数据库中,诸如存储在知识图(未描绘)中。在一些实施方式中,知识图可以包括表示已知实体(并且在一些情况下,实体属性)的节点,以及连接节点并表示实体之间的关系的边。实体标记器可以以高粒度级别(例如,以使得能够识别对诸如人的实体类的所有引用)和/或较低粒度级别(例如,以使得能够识别对诸如特定人的特定实体的所有引用)来注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图或其他实体数据库通信以解析特定实体。附加地或可替代地,NLU引擎130A1和/或130A2可以包括共指解析器(未描绘),其被配置为基于一个或多个上下文线索来对相同实体的引用进行分组或“聚类”。例如,可以利用共指解析器来基于在接收到输入“购买他们(buy them)”之前立即渲染的客户端设备通知中提到的“剧院门票(theatre tickets)”,将自然语言输入“购买他们(buy them)”中的术语“他们(them)”解析为“购买剧院门票(buy theatre tickets)”。在一些实施方式中,NLU引擎130A1和/或130A2的一个或多个组件可以依赖于来自NLU引擎130A1和/或130A2的一个或多个其他组件的注释。例如,在一些实施方式中,实体标记器可以在注释对特定实体的所有提及时依赖于来自共指解析器的注释。此外,例如,在一些实施方式中,共指解析器可以在聚类对相同实体的引用时依赖于来自实体标记器的注释。
尽管相对于具有单个用户的单个客户端设备描述了图1,但是应当理解,这是为了示例的目的而不意味着限制。例如,用户的一个或多个附加客户端设备也能够实现本文描述的技术。例如,客户端设备110、一个或多个附加客户端设备、和/或用户的任何其他计算设备能够形成能够采用本文描述的技术的设备的生态系统。这些附加客户端设备和/或计算设备可以(例如,通过网络199)与客户端设备110通信。作为另一示例,给定的客户端设备能够由共享设置中的多个用户(例如,一组用户、家庭)使用。
如本文所述,自动化助理115能够确定是否基于在其上生成NLU输出流和履行数据流的音频数据流中捕获的(多个)口头话语的NLU输出流、履行数据流、以及基于音频的特性的当前状态来确定在用户与自动化助理115之间的对话会话期间要实现的下一交互状态是否是(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或者(iii)避免使得任何交互被实现。在做出该确定时,自动化助理能够利用自然对话引擎160。在各种实施方式中,并且如图1所示,自然对话引擎160能够包括声学引擎161、状态引擎162、履行输出引擎163、自然对话输出引擎164和部分履行引擎165。
在一些实施方式中,声学引擎161能够基于处理音频数据流来确定基于音频的特性。在一些实施方式中,声学引擎161能够使用存储在(多个)ML模型数据库115A中的声学ML模型来处理音频数据流以确定基于音频的特性。在一些实施方式中,声学引擎161能够使用一个或多个规则来处理音频数据流以确定基于音频的特性。基于音频的特性能够包括例如与在音频数据流中捕获的(多个)口头话语相关联的韵律属性、自提供最近口头话语以来经过的持续时间和/或其他基于音频的特性。韵律属性能够包括例如音节和较大语音单元的一个或多个属性,包括语言功能,诸如语调、音调、重音、节奏、节拍、音高和休止符。此外,韵律属性能够提供例如以下各项的指示:情绪状态;形式(例如,陈述、问句或命令);反话;讽刺;语音节奏;和/或强调。换句话说,韵律属性是语音的特征,其独立于给定用户的个体话音特性,并且能够在对话会话期间基于个体口头话语和/或多个口头话语的组合来动态地确定。
在一些实施方式中,状态引擎162能够基于NLU输出流、履行数据流和基于音频的特性来确定对话会话的当前状态。此外,状态引擎162能够基于对话会话的当前状态来确定要实现的下一交互状态以促进对话会话。下一交互状态能够包括例如(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或者(iii)避免使得任何交互被实现。换句话说,状态引擎162能够分析由本文描述的各种组件生成的信号以确定对话的当前状态,并且基于当前状态来确定自动化助理115应该如何继续促进对话会话。值得注意的是,状态引擎162能够基于对NLU输出流、履行数据流和基于音频的特性的更新来迭代地(例如,以10Hz、20Hz或其他频率连续地)更新整个对话会话中的当前状态,而无需等待用户或自动化助理响应的完成。结果,能够迭代地更新要实现的下一交互状态,使得连续地确定自动化助理115应该如何进行以促进对话会话。
在一些实施方式中,NLU输出流、履行数据流和基于音频的特性的当前状态包括基于一个或多个口头话语中的最近口头话语生成的NLU输出的最近实例、基于最近NLU输出生成的履行数据的最近实例、以及基于最近口头话语生成的基于音频的特性的最近实例。在附加或替代实施方式中,NLU输出流、履行数据流和基于音频的特性的当前状态进一步包括基于在最近口头话语之前的一个或多个历史口头话语而生成的NLU输出的一个或多个历史实例、基于NLU输出的一个或多个历史实例而生成的履行数据的一个或多个历史实例、以及基于一个或多个历史口头话语而生成的基于音频的特性的一个或多个历史实例。因此,对话会话的当前状态能够根据最近口头话语和/或一个或多个先前口头话语来确定。
在各种实施方式中,状态引擎162能够基于使用存储在(多个)ML模型数据库115A中的分类ML模型处理NLU输出流、履行数据流和基于音频的特性的当前状态来确定下一交互状态。分类ML模型能够基于处理NLU输出流、履行数据流和基于音频的特性的当前状态来生成与每个下一交互状态相关联的对应预测度量。能够基于多个训练实例来训练分类ML模型。每个训练实例能够包括训练实例输入和训练实例输出。训练实例输入能够包括例如NLU输出的训练流的训练状态、履行数据的训练流和基于训练音频的特性,并且训练实例输出能够包括与自动化助理115是否应该基于训练实例(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或(iii)避免使得任何交互被实现相关联的真实值输出。训练状态能够基于用户和自动化助理115(和/或其他用户和相应的自动化助理)之间的历史对话会话来确定,或者能够启发式地定义。在训练分类ML模型时,能够应用训练实例作为输入以生成预测输出(例如,对应的预测度量),并且能够将预测输出与真实值输出进行比较以生成一个或多个损失。能够基于一个或多个损失(例如,经由反向传播)来更新分类ML模型。一旦被训练,分类ML模型就能够被部署以供如本文所述的状态引擎162使用。
在一些实施方式中,履行输出引擎163能够响应于确定要实现的下一交互状态是(i)使得履行输出被实现而从履行输出集合中选择要实现的一个或多个履行输出。如上所述,履行引擎140A1和/或140A2能够基于履行数据流来生成履行输出集合,并且能够使用例如1P代理171中的一个或多个和/或3P代理171中的一个或多个来生成履行数据流。尽管1P代理171中的一个或多个被描绘为在图1中的网络199中的一个或多个上实现,但是应当理解,这是为了示例的目的而不意味着限制。例如,1P代理171中的一个或多个能够在客户端设备110处本地实现,并且NLU输出流能够经由应用编程接口(API)传送到1P代理171中的一个或多个,并且来自1P代理171中的一个或多个的履行数据能够由履行输出引擎163经由API获得并且并入到履行数据流中。一个或多个3P代理172能够经由对应的3P系统(例如,(多个)3P服务器)实现。NLU输出流能够附加地或可替代地通过一个或多个网络199在一个或多个3P代理172(以及未在客户端设备110本地实现的一个或多个1P代理171)上传送,以使得一个或多个3P代理172生成履行数据。履行数据能够通过网络199中的一个或多个被传送回客户端设备110并且被并入到履行数据流中。
此外,履行输出引擎163能够基于与NLU数据流相关联的NLU度量和/或与履行数据流相关联的履行度量,从履行输出集合中选择一个或多个履行输出。NLU度量能够是例如概率、对数似然性、二进制值等,其指示NLU引擎130A1和/或130A2(多个)预测意图对应于提供在音频数据流中捕获的(多个)口头话语的用户的实际意图的置信度和/或与(多个)预测意图相关联的(多个)参数的(多个)预测槽值对应于与(多个)预测意图相关联的(多个)参数的(多个)实际槽值的置信度。NLU度量能够在NLU引擎130A1和/或130A2生成NLU输出流时生成,并且能够被包括在NLU输出流中。履行度量能够是例如概率、对数似然性、二进制值等,其指示履行引擎140A1和/或140A2(多个)预测履行输出对应于用户的期望履行的置信度。履行度量能够在1P代理171中的一个或多个和/或3P代理172中的一个或多个生成履行数据时生成,并且能够被并入履行数据流中,和/或能够在履行引擎140A1和/或140A2处理从1P代理171中的一个或多个和/或3P代理172中的一个或多个接收的履行数据时生成,并且能够被并入履行数据流中。
在一些实施方式中,自然对话输出引擎164能够生成自然对话输出集合,并且能够响应于确定要实现的下一交互状态是(ii)使得自然对话输出被可听地渲染以呈现给用户而从自然对话输出集合中选择要实现的一个或多个自然对话输出。例如,能够基于与NLU数据流相关联的NLU度量和/或基于音频的特性来生成自然对话输出集合。在那些实施方式的一些版本中,自然对话输出的超集能够存储在客户端设备110可以访问的一个或多个数据库(未示出)中,并且自然对话输出的集合能够基于与NLU数据流相关联的NLU度量和/或基于音频的特性由自然对话输出的超集生成。这些自然对话输出能够被实现为下一交互状态以促进对话会话,但不一定被实现为履行。例如,自然对话输出能够包括请求用户确认期望继续与自动化助理115交互的指示(例如,“你还在那里吗?(Are you still there?)”等)、请求用户提供附加用户输入以促进用户与自动化助理115之间的对话会话(例如,“你想要打开什么?(What did you want to turn on?)”等)、填充语音(例如,“当然(sure)”、“好的(Alright)”等)。在各种实施方式中,自然对话引擎164能够在生成自然对话输出集合时利用存储在(多个)ML模型数据库115A中的一个或多个语言模型。
在一些实施方式中,部分履行引擎165能够在确定使得履行输出被实施的下一交互状态之前,使得履行输出集合中的履行输出被部分履行。例如,部分履行引擎165能够与一个或多个软件应用198、一个或多个1P代理171、一个或多个3P代理172、与客户端设备110通信的附加客户端设备和/或与客户端设备110通信的一个或多个智能设备建立连接,该客户端设备110与包括在履行输出集合中的履行输出相关联,能够使得包括合成语音的合成语音音频数据被生成(但不是可听地渲染),能够使得图形内容被生成(但不是可视地渲染),和/或执行一个或多个的履行输出中的其他部分履行。结果,能够减少使得履行输出被实现为下一交互状态的时延。
现在转到图2,描绘了使用图1的各种组件演示本公开的各个方面的示例过程流程。ASR引擎120A1和/或120A2能够使用存储在(多个)ML模型数据库115A中的流式ASR模型来处理音频数据流201A以生成ASR输出流220。NLU引擎130A1和/或130A2能够使用存储在(多个)ML模型数据库115A中的NLU模型来处理ASR输出流220,以生成NLU输出流230。在一些实施方式中,NLU引擎130A1和/或130A2能够附加地或可替代地在生成NLU输出流230时处理非音频数据流201B。非音频数据流201B能够包括由客户端设备110的(多个)视觉组件生成的视觉数据流、由用户经由客户端设备110的显示器提供的触摸输入流、由用户经由客户端设备110的显示器或外围设备(例如,鼠标和键盘)提供的键入输入流、和/或任何其他非音频数据。在一些实施方式中,(多个)1P代理171能够处理NLU输出流以生成1P履行数据240A。在附加或可替代的实施方式中,(多个)3P代理172能够处理NLU输出流230以生成3P履行数据240B。履行引擎140A1和/或140A2能够基于1P履行数据240A和/或3P履行数据240B来生成履行数据流240。此外,声学引擎161能够处理音频数据流201A以生成与音频数据流201A相关联的基于音频的特性261。
状态引擎162能够处理NLU输出流230、履行数据流240和/或基于音频的特性以确定当前状态262,并且如框299所示,能够确定下一交互状态是否是:(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或者(iii)避免使得任何交互被实现。例如,能够使用分类ML模型来处理NLU输出流230、履行数据流240和基于音频的特性241,以生成预测度量(例如,二进制值、概率、对数似然性等)。每个下一交互状态能够与预测度量中的对应预测度量相关联,使得状态引擎162能够确定是否(i)基于预测度量的第一对应预测度量使得履行输出被实现,(ii)基于预测度量的第二对应预测度量使得自然对话输出被可听地渲染以呈现给用户,或者(iii)基于预测度量的第三对应预测度量避免使得任何交互被实现。
在这种情况下,如果状态引擎162基于第一对应预测量度确定(i)使得履行输出被实现,则履行输出引擎163能够从履行输出集合中选择一个或多个履行输出263,并且能够如280所示实现一个或多个履行输出263。此外,在这种情况下,如果状态引擎162基于第二对应的预测度量确定(ii)使得自然对话输出被可听地渲染以呈现给用户,则自然对话输出引擎164能够从自然对话输出集合中选择一个或多个自然对话输出264,并且一个或多个自然对话输出264能够被可听地渲染以呈现给用户,如280所示。此外,在这种情况下,如果状态引擎162基于第三对应预测量度确定(iii)避免使得任何交互被实现,则自动化助理115能够避免实现任何交互,如280所指示的。尽管相对于图2的过程流程描述了特定实施方式,但是应当理解,这是为了示例的目的而不意味着限制。
通过使用本文描述的技术,能够实现一个或多个技术优点。作为一个非限制性示例,本文描述的技术使得自动化助理能够在对话会话期间参与与用户的自然对话。例如,自动化助理能够基于对话会话的当前状态来确定对话会话的下一交互状态,使得自动化助理不限于基于回合的对话会话或者取决于确定用户在响应用户之前已经完成说话。因此,当用户参与这些自然对话时,自动化助理能够确定何时响应用户以及如何响应用户。这导致节省客户端设备处的计算资源,并且能够使对话会话以更快和更有效的方式结束的各种技术优点。例如,能够减少自动化助理失败的发生数量,因为自动化助理能够在尝试代表用户执行任何履行之前等待来自用户的更多信息。此外,例如,能够减少在客户端设备处接收的用户输入的数量,因为能够减少用户必须重复自己或重新调用自动化助理的发生数量。
现在转到图3A,描绘了图示确定在对话会话期间要实现的下一交互状态是否是(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或者(iii)避免使得任何交互被实现的示例性方法300的流程图。为方便起见,参考执行操作的系统来描述方法300的操作。方法300的该系统包括(多个)计算设备(例如,图1的客户端设备110、图4的客户端设备110A、图5A-5C的客户端设备110B、和/或图6的计算设备610、一个或多个服务器、和/或其他计算设备)的一个或多个处理器、存储器、和/或其他(多个)组件。此外,虽然以特定顺序示出了方法300的操作,但这并不意味着限制。可以重新排序、省略和/或添加一个或多个操作。
在框352处,系统使用流式ASR模型来处理音频数据流以生成ASR输出流。音频数据流能够由参与与至少部分地在客户端设备处实现的自动化助理的对话会话的用户的客户端设备的(多个)麦克风生成。此外,音频数据流能够捕获针对自动化助理的用户的一个或多个口头话语。在一些实施方式中,系统可以响应于确定用户已经经由一个或多个特定词语和/或短语(例如,热词,诸如“嘿,助理(Hey Assistant)”、“助理(Assistant)”等)、致动一个或多个按钮(例如,软件和/或硬件按钮)、由客户端设备的(多个)视觉组件捕获的一个或多个手势(其在检测到时调用自动化助理)、和/或通过任何其他手段调用了自动化助理来处理音频数据流。在框354处,系统使用NLU模型来处理ASR输出流以生成NLU输出流。在框356处,系统基于NLU输出流来生成履行数据流。在框358处,系统基于处理音频数据流来确定与在音频数据中捕获的一个或多个口头话语相关联的基于音频的特性。基于音频的特性能够包括例如与一个或多个口头话语中的每一个相关联的一个或多个韵律属性(例如,语调、音调、重音、节奏、节拍、音高、休止符和/或其他韵律属性)、自用户提供一个或多个口头话语中的最近口头话语以来经过的持续时间、和/或能够基于处理音频数据流来确定的其他基于音频的特性。
在框360处,系统基于与在音频数据中捕获的一个或多个口头话语相关联的NLU输出流、履行数据流、和/或基于音频的特性的当前状态来确定要实现的下一交互状态。在一些实施方式中,当前状态能够基于对话会话中的当前时刻的NLU输出、履行数据和/或基于音频的特性。在附加或替代的实施方式中,当前状态能够基于在对话会话中的一个或多个先前时刻的NLU输出、履行数据和/或基于音频的特性。换句话说,当前状态能够对应于在由用户提供的最近口头话语和/或整个对话会话作为整体的上下文内的对话会话的状态。系统能够使用例如图3B的方法360A,基于当前状态来确定要实现的下一交互状态。
参考图3B,并且在框382处,系统使用分类ML模型来处理NLU输出流、履行数据流和/或基于音频的特性的当前状态以生成对应的预测度量。例如,系统能够生成与(i)使得履行输出被实现相关联的第一对应预测度量、与(ii)使得自然对话输出被可听地渲染以呈现给用户相关联的第二对应预测度量、以及与(iii)避免使得任何交互被实现相关联的第三对应预测度量。对应的预测度量能够是例如二进制值、概率、对数似然性等,其指示以下之一应当被实现为下一交互状态的似然性:(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,以及(iii)避免使得任何交互被实现。
在框384处,系统能够基于对应的预测度量来确定下一交互状态是否是:(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或者(iii)避免使得任何交互被实现。
如果在框384的迭代处,系统基于对应的预测度量确定下一交互状态是(i)使得履行输出被实现,则系统可以进行到框386A。在框386A处,系统基于与NLU输出流相关联的NLU预测度量和/或与履行数据流相关联的履行度量,从履行输出集合中选择履行输出(例如,如参考图1和图2的履行输出引擎163所描述的)。履行输出集合能够由多个代理生成(例如,如参考图1和图2的(多个)1P代理171和/或(多个)3P代理172所描述的)。系统能够返回到图3A的框362,并且使得下一交互状态被实现。换句话说,系统能够使得在框386A处选择的履行输出被实现。
如果在框384的迭代处,系统基于对应的预测度量来确定下一交互状态是(ii)使得自然对话输出被可听地渲染以呈现给用户,则系统可以进行到框386B。在框386B处,系统基于在框360处确定的与NLU输出流相关联的NLU预测度量和/或基于音频的特性,从自然对话输出集合中选择自然对话输出。能够基于包括自然对话输出的超集的一个或多个数据库来生成自然对话输出集合(例如,如参考图1和图2的自然对话输出引擎164所描述的)。系统能够返回到图3A的框362,并且使得下一交互状态被实现。换句话说,系统能够使得在框386B处选择的自然对话输出被可听地渲染以呈现给用户。
如果在框384的迭代处,系统基于对应的预测量度确定下一交互状态是(iii)避免使得任何交互被实现,则系统可以进行到框384C。在框384BA处,系统避免使得交互被实现。系统能够返回到图3A的框362,并且使得下一交互状态被实现。换句话说,系统能够使得自动化助理继续处理音频数据流,而不在对话会话的该给定时刻执行任何动作。
值得注意的是,并且再参考图3A,在系统能够使得在框362处实现下一交互状态之后,系统返回到框352。在框352的后续迭代中,系统继续处理音频数据流以继续生成ASR输出流、NLU数据流和履行数据流。此外,能够基于在该后续迭代处处理音频数据流来确定一个或多个附加的基于音频的特性。结果,能够针对该后续迭代更新当前状态,并且能够基于更新的当前状态来确定进一步的下一交互状态。以这种方式,能够连续更新当前状态以连续确定对话会话的下一交互状态。
现在转到图4,描绘了确定在对话会话期间要实现的下一交互状态是否是(i)使得履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给用户,或者(iii)避免使得任何交互被实现的非限制性示例。自动化助理能够至少部分地在客户端设备110A处实现(例如,相对于图1描述的自动化助理115)。自动化助理能够利用自然对话系统(例如,相对于图1描述的自然对话系统180)来确定下一交互状态。图4中描绘的客户端设备110A可以包括各种用户接口组件,其包括例如用于基于口头话语和/或其他可听输入生成音频数据的(多个)麦克风、用于可听地渲染合成语音和/或其他可听输出的(多个)扬声器、以及用于接收触摸输入和/或视觉地渲染转录和/或其他视觉输出的显示器190A。尽管图4中描绘的客户端设备110A是移动设备,但是应当理解,这是为了示例的目的而不意味着限制。
此外,并且如图4所示,客户端设备110A的显示器190A包括可以与客户端设备110A的用户交互以使得客户端设备110A执行一个或多个动作的各种系统界面元素191、192和193(例如,硬件和/或软件界面元素)。客户端设备110A的显示器190A使得用户能够通过触摸输入(例如,通过将用户输入引导到显示器190A或其部分(例如,到文本录入框194或到显示器190A的其他部分))和/或通过口头输入(例如,通过选择麦克风界面元素195——或仅通过说话而不必选择麦克风界面元素195与在显示器190A上渲染的内容交互)(即,自动化助理可以监视一个或多个特定术语或短语、(多个)手势、(多个)注视、(多个)嘴部运动、(多个)唇部运动、和/或激活在客户端设备110A处的口头输入的其他条件)。
例如,假设客户端设备110A的用户提供口头话语452“助理,给办公室打电话(Assistant,call the office)”以发起对话会话。值得注意的是,在发起对话会话时,用户正在请求自动化助理代表用户拨打电话呼叫。自动化助理能够基于根据处理捕获口头话语452的音频数据流而生成的NLU数据流、履行数据流和/或基于音频的特性的当前状态来确定要实现以促进对话会话的下一交互状态。例如,假设自动化助理基于(例如,在确定当前状态时利用的)NLU数据流确定口头话语452与代表用户拨打电话呼叫的意图相关联,并且电话号码参数的槽值对应于“办公室”。在这种情况下,NLU数据流能够由多个代理(例如,图1的(多个)1P代理171和/或(多个)3P代理172)处理以生成(例如,在确定当前状态时利用的)履行数据流。进一步假设履行数据流指示不存在针对“办公室”参数的可用联系人条目,使得针对电话号码参数的槽值未被解析。
在该示例中,并且至少基于NLU数据流和履行数据流,所确定的当前状态可以指示一个或多个履行输出应该被实现为下一交互状态以促进对话会话。能够从履行输出集合中选择要实现的一个或多个履行输出。履行输出集合可以包括例如代表用户利用联系人条目“办公室”发起电话呼叫的助理命令,包括请求关于联系人条目“办公室”的更多信息的合成语音的合成语音音频数据、和/或其他履行输出。此外,在该示例中,由于履行数据流指示没有“办公室”的可用联系人条目,因此自动化助理能够选择要实现为合成语音音频数据的下一履行输出,该合成语音音频数据包括请求关于联系人条目“办公室”的更多信息的合成语音。因此,自动化助理能够使得包括在合成语音音频数据中的合成语音454(其请求关于联系人条目“办公室”的更多信息)被可听地渲染以经由客户端设备110A的(多个)扬声器呈现给用户。如图4所示,合成语音454能够包括“当然,电话号码是什么(Sure,what’s thephone number)”。
进一步假设,响应于合成语音454被可听地渲染以呈现给用户,用户提供口头话语456“它是uhhh…(It’s uhhh…)”,然后是几秒停顿,以及口头话语458,然后是另外几秒停顿。当用户提供口头话语456和458时,自动化助理能够继续处理由客户端设备110A的(多个)麦克风生成的音频数据流以迭代地更新当前状态来确定要实现的下一交互状态。例如,在用户提供口头话语456之后并且在用户提供口头话语458之前的对话会话的给定时刻,包括在确定当前中利用的基于音频的特性的语调或语音节奏能够指示用户不确定“办公室”的电话号码,但是正在尝试找到电话号码。在该示例中,自动化助理可以确定避免使得任何交互被实现,使得为用户提供时间以通过定位电话号码来完成他/她的想法。因此,即使自动化助理已经确定用户已经完成口头话语456,自动化助理仍能够等待来自用户的进一步信息。此外,在用户提供口头话语458之后的对话会话的给定时刻,包括在确定当前中利用的基于音频的特性的语调或语音节奏仍然能够指示用户不确定“办公室”的电话号码。结果,自动化助理仍然可以确定避免任何交互被实现,使得为用户提供时间以通过定位电话号码来完成他/她的想法。然而,在对话会话的后续时刻(例如,在用户提供口头话语458之后的几秒),基于音频的特性可以包括自用户提供口头话语458以来的持续时间。
在该示例中,并且基于NLU数据流和履行数据流(例如,仍然指示需要“办公室”的电话号码来代表用户发起电话呼叫),以及指示用户不确定电话号码并且已经静音几秒钟的基于音频的特性,所确定的当前状态可以指示一个或多个自然对话输出应该被实现为下一交互状态以促进对话会话。因此,即使自动化助理已经确定用户已经在给定时刻完成口头话语458,自动化助理仍然能够等待来自用户的进一步信息,使得直到该后续时刻(例如,在给定时刻之后)为止,一个或多个自然对话输出才应该被实现为下一交互状态。
能够从一组自然对话输出中选择要实现的一个或多个自然对话输出。自然对话输出集合可以包括例如包括请求用户是否想要更多地收集信息或他/她的想法的合成语音的合成语音音频数据,包括请求用户是否仍然希望与自动化助理交互的合成语音的合成语音音频数据,和/或其他自然对话输出。此外,在该示例中,由于履行数据流指示没有“办公室”的可用联系人条目,并且基于音频的特性指示用户不确定与“办公室”的联系人条目相关联的信息,因此自动化助理能够选择要可听地渲染以呈现给用户的下一自然对话输出应该是请求用户是否想要更多地收集信息或他/她的想法的合成语音音频数据。因此,自动化助理能够使得包括在请求用户是否想更多地收集信息或他/她的想法的合成语音音频数据中的合成语音460被可听地渲染以经由客户端设备110A的(多个)扬声器呈现给用户。如图4所示,合成语音460能够包括“你需要更多时间吗?(Do you need more time?)”
进一步假设,响应于合成语音460被可听地渲染以呈现给用户,用户提供口头话语462“是(Yes)”,并且自动化助理使得“好(Okay)”的合成语音464被可听地渲染以呈现给用户,以确认用户期望延迟更多时间。在一些实施方式中,即使用户调用了延迟(例如,通过提供口头话语“你能给我点时间找吗?(Can you give me some time to find it?)”),自动化助理也可以继续处理音频数据流以更新当前状态,但是确定要实现的下一交互状态对应于在阈值持续时间(例如,10秒、15秒、30秒等)内避免任何交互被实现,除非用户将进一步输入(例如,口头输入、触摸输入和/或键入输入)引导到自动化助理。在附加或替代的实施方式中,即使用户调用了延迟,自动化助理也可以继续处理音频数据流以更新当前状态,并且无论延迟如何都确定要实现的下一交互状态。
例如,并且如466所示,进一步假设自从用户提供口头话语462以来已经过去了15秒,并且进一步假设检测到话音活动,如468所示。在该示例中,自动化助理能够通过使用VAD模型处理音频数据流来确定检测到话音活动。此外,自动化助理能够基于根据捕获话音活动的音频数据流生成的更新的NLU数据流来确定检测到的话音活动是否针对自动化助理。假设话音活动实际上针对自动化助理,则自动化助理能够基于当前状态来确定要实现的下一交互状态,并且使得下一交互状态被实现。然而,假设话音活动不是针对自动化助理,并且如相对于图4所描述的,基于音频的特性基于处理音频数据流来确定已经检测到不是针对自动化助理的话音活动,并且自用户上次向自动化助理提供口头话语以来的持续时间是15秒(或可以满足阈值持续时间的某个其他持续时间)。因此,在该时刻,自动化助理能够确定一个或多个自然对话输出应当被实现为下一交互状态以提示用户。例如,自动化助理能够使得合成语音音频数据中包括的合成语音470请求用户指示是否继续与自动化助理交互的期望。如图4所示,合成语音470能够包括“还在吗(Still there)?”作为对用户的提示以指示是否希望继续与自动化助理的对话会话。
进一步假设用户提供了响应于合成语音470的口头话语472“是,号码是123-456-7890(Yes,the number is 123-456-7890)”。此时,自动化助理能够基于捕获口头话语472的音频数据流来更新当前状态。例如,能够更新NLU输出流以指示电话号码参数的槽值(例如,“123-456-7890”)。结果,能够更新履行数据流以指示能够发起对“办公室”的电话呼叫。因此,在该时刻,并且基于更新的当前状态,自动化助理能够使得履行输出被实现。在该实施例中要实现的履行输出能够包括代表用户发起与“办公室”(例如,电话号码“123-456-7890”)的电话呼叫的助理命令,并且能够可选地包括合成语音474“好,现在呼叫办公室(Alright,calling the office now)”,以向用户提供正在发起电话呼叫的指示。因此,在图4的示例中,自动化助理能够迭代地确定要实现的下一交互状态以促进对话会话,而不是像在基于回合的对话会话中那样简单地响应每个口头话语。
值得注意的是,尽管直到与合成语音474相关联的对话会话的时刻为止才发起电话呼叫,但是自动化助理能够使发起电话呼叫的助理命令在该时刻之前被部分地履行。例如,自动化助理能够响应于接收到口头话语452(或在对话会话的另一时刻)而与在客户端设备的后台运行的电话应用建立连接,以在用户最终提供电话号码参数的槽值时减少发起电话呼叫的时延(例如,如相对于图1的部分履行引擎165所描述的)。此外,尽管对话会话被描绘为经由自动化助理应用的转录,但是应当理解,这是为了示例的目的而不意味着限制。
现在转到图5A、5B和5C,描绘了使得在对话会话期间实现履行输出的各种非限制性示例。自动化助理能够至少部分地在客户端设备110B处实现(例如,相对于图1描述的自动化助理115)。假设自动化助理确定要被实现的履行作为下一交互状态,则自动化助理能够利用自然对话系统(例如,相对于图1描述的自然对话系统180)来确定要被实现的履行输出。图5A、5B和5C中描绘的客户端设备110B可以包括各种用户接口组件,包括例如用于基于口头话语和/或其他可听输入生成音频数据的(多个)麦克风、用于可听地渲染合成语音和/或其他可听输出的(多个)扬声器、以及用于接收触摸输入和/或视觉地渲染转录和/或其他视觉输出的显示器190B。尽管图5A、5B和5C中描绘的客户端设备110B是具有显示器190B的独立交互式扬声器,但是应当理解,这是为了示例的目的而不意味着限制。
为了贯穿图5A、5B和5C示例,假设用户101提供了口头话语552“助理,将定时器设置为15分钟(Assistant,set a timer for 15minutes)”。进一步假设自动化助理已经基于NLU输出流、履行数据流、和/或基于处理捕获口头话语552的音频数据流而生成的基于音频的特性的当前状态来确定要实现的下一交互状态是使得一个或多个履行输出被实现。然而,在这些示例中,由自动化助理实现的一个或多个履行输出可以基于与用在确定当前状态时的NLU数据流相关联的NLU度量和/或与用在确定当前状态时的履行数据流相关联的履行度量而变化。
具体参考图5A,进一步假设NLU度量、履行度量和/或NLU度量和履行度量的某种组合(例如,度量的平均值、度量的最低值等)指示自动化助理高度确信用户指示希望将定时器设置为15分钟。例如,假设NLU度量和/或履行度量满足第一阈值度量和第二阈值度量(或者如果单独考虑,则满足相应的第一阈值度量和相应的第二阈值度量)。因此,NLU度量能够在与设置定时器相关联的意图中指示该高置信度以及15分钟的持续时间参数的槽值,并且履行度量能够在助理命令中指示该高置信度以将定时器设置为15分钟。因此,自动化助理能够选择以下的履行输出:1)实现助理命令以将定时器设置为15分钟,2)实现如在显示器190B处示出的15分钟定时器所指示的提供用于视觉呈现给用户的图形内容;和/或3)实现合成语音554A“好的,我将定时器设置为15,一五分钟(Okay,I set a timer for 15–onefive–minutes)”。
具体参考图5B,进一步假设NLU度量、履行度量和/或NLU度量和履行度量的某种组合(例如,度量的平均值、度量的最低值等)指示自动化助理轻度确信用户指示希望将定时器设置为15分钟。例如,假设NLU度量和/或履行度量满足第一阈值度量,但不满足第二阈值度量(或者如果单独考虑,则满足相应的第一阈值度量,但不满足相应的第二阈值度量)。因此,NLU度量能够在与设置定时器相关联的意图中指示该轻度置信度以及持续时间参数为15分钟的槽值(但也考虑持续时间参数为50分钟的槽值),并且履行度量能够在助理命令中指示将定时器设置为15分钟的这种轻度置信度(但也考虑将定时器设置为50分钟的助理命令)。因此,自动化助理能够选择以下的履行输出:1)实现如在显示器190B处示出的15分钟定时器所指示的提供用于视觉地呈现给用户的图形内容;和/或2)实现合成语音554B“好的,你想要15分钟的定时器,而不是50分钟,对吗(Okay,you want a timer for15minutes,not 50minutes,right)?”。在该示例中,自动化助理可以不实现将定时器设置为15分钟的助理命令,直到用户已经确认定时器将被设置为15分钟而不是50分钟为止,但是助理命令可能已经被部分地履行(如通过实现被提供用于视觉呈现给用户的图形内容所指示的)。
具体参考图5C,进一步假设NLU度量、履行度量和/或NLU度量和履行度量的某种组合(例如,度量的平均值、度量的最低值等)指示自动化助理不确信用户指示希望将定时器设置为15分钟。例如,假设NLU度量和/或履行度量不能满足第一阈值度量和第二阈值度量这两者(或者如果单独考虑,则不能满足相应的第一阈值度量和相应的第二阈值度量)。因此,NLU度量能够在与设置定时器相关联的意图中指示该低置信度以及15分钟或50分钟的持续时间参数的槽值,并且履行度量能够在助理命令中指示该低置信度以将定时器设置为15分钟或50分钟。因此,自动化助理能够选择以下的履行输出:1)实现如在显示器190B处示出的15分钟定时器和50分钟这两者所指示的要提供用于视觉地呈现给用户的图形内容;和/或2)实现合成语音554C“定时器,当然,但是是15分钟还是50分钟(A timer,sure,butwas that15minutes or 50minutes)?”。在该示例中,自动化助理可能不实现将定时器设置为15分钟或50分钟的助理命令,直到用户已经确认定时器将被设置为15分钟而不是50分钟为止,但是助理命令可能已经被部分地履行(如通过实现被提供用于视觉呈现给用户的图形内容所指示的)。
因此,即使在自动化助理确定要实现的下一交互状态正在使得履行输出被实现(而不是使得自然对话输出被可听地渲染或避免使得交互被实现)的情况下,自动化助理仍然能够确定要包括什么作为履行输出。尽管相对于基于特定阈值实现的特定履行输出描述了图5A、5B和5C,但是应当理解到,这是为了示例而不意味着限制。例如,能够利用多个附加或替代阈值来确定要实现的履行输出。此外,例如,履行输出可以与所描绘的那些不同。例如,并且返回参考图4A,自动化助理可以简单地为用户将时间设置为15分钟而不提供合成语音554A,因为自动化助理高度确信用户指示希望将定时器设置为15分钟。
现在转到图6,描绘了可以可选地用于执行本文描述的技术的一个或多个方面的示例计算设备610的框图。在一些实施方式中,客户端设备、基于云的(多个)自动化助理组件和/或其他组件中的一个或多个可以包括示例计算设备610的一个或多个组件。
计算设备610通常包括经由总线子系统612与多个外围设备通信的至少一个处理器614。这些外围设备可以包括存储子系统624(包括例如存储器子系统625和文件存储子系统626)、用户接口输出设备620、用户接口输入设备622和网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并且耦合到其他计算设备中的对应接口设备。
用户接口输入设备622可以包括键盘、定点设备(诸如鼠标、轨迹球、触摸板或图形输入板)、扫描仪、并入显示器中的触摸屏、音频输入设备(诸如话音识别系统、麦克风)和/或其他类型的输入设备。通常,使用术语“输入设备”旨在包括将信息输入到计算设备610中或通信网络上的所有可能类型的设备和方式。
用户接口输出设备620可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的一些其他机构。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,使用术语“输出设备”旨在包括从计算设备610向用户或另一机器或计算设备输出信息的所有可能类型的设备和方式。
存储子系统624存储提供本文描述的一些或所有模块的功能性的编程和数据结构。例如,存储子系统624可以包括用于执行本文公开的方法的所选方面以及实现图1和图2中描绘的各种组件的逻辑。
这些软件模块通常由处理器614单独执行或与其他处理器组合执行。在存储子系统624中使用的存储器625能够包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)630和存储固定指令的只读存储器(ROM)632。文件存储子系统626能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在可由(多个)处理器614访问的其他机器中。
总线子系统612提供用于使计算设备610的各种组件和子系统按预期彼此通信的机制。尽管总线子系统612被示意性地示出为单个总线,但是总线子系统612的替代实施方式可以使用多个总线。
计算设备610能够是各种类型,其包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图6中描绘的计算设备610的描述仅旨在作为用于图示一些实施方式的目的的具体示例。计算设备610的许多其他配置可能具有比图6中描绘的计算设备更多或更少的组件。
在本文描述的系统收集或以其他方式监视关于用户的个人信息,或者可以利用个人和/或监视的信息的情况下,可以向用户提供控制程序或功能部件是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。而且,某些数据能够在其被存储或使用之前以一种或多种方式被处理,使得个人可识别信息被移除。例如,可以处理用户的身份,使得不能确定用户的个人身份信息,或者可以在获得地理位置信息的情况下将用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的具体地理位置。因此,用户可能控制如何收集和/或使用关于用户的信息。
在一些实施方式中,提供了一种由一个或多个处理器实现的方法,并且包括:使用自动语音识别(ASR)模型处理音频数据流以生成ASR输出流,所述音频数据流由客户端设备的一个或多个麦克风生成,并且所述音频数据流捕获所述用户的一个或多个口头话语,所述一个或多个口头话语针对至少部分地在所述客户端设备处实现的自动化助理;使用自然语言理解(NLU)模型来处理所述ASR输出流,以生成NLU输出流;基于所述NLU输出流来生成履行数据流;基于处理所述音频数据流,确定与所述口头话语中的一个或多个口头话语相关联的基于音频的特性;基于所述NLU输出流、所述履行数据流、以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的当前状态,确定要实现的下一交互状态是否是:(i)使得基于所述履行数据流生成的履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给所述用户,或者(iii)避免使得任何交互被实现;以及使得所述下一交互状态被实现。
本文公开的技术的这些和其他实施方式能够可选地包括以下特征中的一个或多个。
在一些实施方式中,基于所述NLU输出流、所述履行数据流、以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的当前状态,确定要实现的所述下一交互状态是否是(i)使得基于所述履行数据流生成的履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给所述用户,或者(iii)避免使得任何交互被实现可以包括:使用分类机器学习(ML)模型来处理所述NLU输出流、所述履行数据流和所述基于音频的特性的当前状态,以生成与以下中的每一个相关联的对应的预测响应度量:(i)使得基于所述履行数据流生成的履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给所述用户,以及(iii)避免使得任何交互被实现;以及基于所述对应的预测响应度量,确定要实现的所述下一交互状态是否要(i)使得基于所述履行数据流生成的履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给所述用户,或者(iii)避免使得任何交互被实现。
在一些实施方式中,该方法可以进一步包括:基于所述履行数据流来确定履行输出集合;以及基于与所述NLU数据流相关联的预测NLU度量和/或与所述履行数据流相关联的预测履行度量,从所述履行输出集合中选择所述履行输出。
在那些实施方式的一些版本中,从所述履行输出集合中选择所述履行输出可以是响应于确定要实现的所述下一交互状态是(i)使得基于所述履行数据流生成的履行输出被实现。基于与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量从所述履行输出集合中选择所述履行输出可以包括:响应于确定与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量满足第一阈值度量和第二阈值度量这两者,从所述履行输出集合中选择第一履行输出作为所述履行输出。
在那些实施方式的一些版本中,基于与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量从所述履行输出集合中选择所述履行输出进一步可以包括响应于确定与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量都满足所述第一阈值度量但不满足所述第二阈值度量,从所述履行输出集合中选择第二履行输出作为所述履行输出。所述第二履行输出可以不同于所述第一履行输出。
在那些实施方式的一些附加或替代版本中,基于与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量从所述履行输出集合中选择所述履行输出进一步可以包括响应于确定与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量未能满足所述第一阈值度量和所述第二阈值度量这两者,从所述履行输出集合中选择第三履行输出作为所述履行输出。所述第三履行输出可以不同于所述第一履行输出和所述第二履行输出这两者。
在那些实施方式的一些版本中,基于所述履行数据流来确定所述履行输出集合可以包括使用多个第一方代理处理所述履行数据以生成对应的第一方履行输出;以及将所述对应的第一方履行输出并入到所述履行输出集合中。在那些实施方式的一些其他版本中,基于所述履行数据流来确定所述履行输出集合可以进一步包括通过一个或多个网络将所述履行数据从所述客户端设备传送到一个或多个第三方系统;通过所述网络中的一个或多个,在所述客户端设备处并且从所述一个或多个第三方系统接收所述对应的第三方履行输出;以及将使用多个第一方垂线(verticals)生成的所述对应的第三方履行输出并入到所述履行输出集合中。将所述履行数据传送到所述一个或多个第三方系统使得所述第三方系统中的每一个使用对应的第三方代理来处理所述履行数据以生成对应的第三方履行输出。
在那些实施方式的一些版本中,所述方法可以进一步包括:在使得与基于所述履行数据流生成的所述履行输出相对应的任何合成语音经由所述客户端设备的一个或多个扬声器可听地渲染之前:对于所述履行输出集合中的所述履行输出中的一个或多个,发起部分履行,其中,所述部分履行特定于所述履行输出集合中的所述履行输出中的每一个。
在一些实施方式中,所述履行输出可以包括以下中的一个或多个:包括与所述履行输出相对应的合成语音的合成语音音频数据将被可听地渲染以经由所述客户端设备的所述扬声器中的一个或多个呈现给所述用户,与所述履行输出相对应的图形内容,所述图形内容将被可视地渲染以经由所述客户端设备或与所述客户端设备通信的附加客户端设备的显示器呈现给所述用户,或者与所述履行输出相对应的助理命令,所述助理命令在被执行时使得所述自动化助理控制所述客户端设备或与所述客户端设备通信的附加客户端设备。
在一些实施方式中,所述方法可以进一步包括:在可由所述客户端设备访问的一个或多个数据库中维护自然对话输出集合;以及至少基于与所述口头话语中的一个或多个口头话语相关联的基于音频的特性,从所述自然对话输出集合中选择所述自然对话输出。在那些实施方式的一些版本中,从所述自然对话输出集合中选择所述自然对话输出可以是响应于确定要实现的所述下一交互状态是(ii)使得自然对话输出被可听地渲染以呈现给所述用户。从所述自然对话输出集合中选择所述自然对话输出可以包括基于与所述NLU输出相关联的预测度量和与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性,从所述自然对话输出集合中选择第一自然对话输出作为所述自然对话输出。在那些实施方式的一些其他版本中,从所述自然对话输出集合中选择所述自然对话输出可以进一步包括基于与所述NLU输出相关联的所述预测度量和与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性,从所述自然对话输出集合中选择第二自然对话输出作为所述自然对话输出。所述第二自然对话输出可以不同于所述第一自然对话输出。
在一些实施方式中,所述方法可以进一步包括响应于确定要实现的所述下一交互状态是(iii)避免使得任何交互被实现:使用话音活动检测模型来处理所述音频数据流以监视话音活动的发生;以及响应于检测到所述话音活动的发生:确定所述话音活动的发生是否针对所述自动化助理。在那些实施方式的一些版本中,确定所述话音活动的发生是否针对所述自动化助理可以包括:使用所述ASR模型来处理所述音频数据流以继续生成所述ASR输出流;使用所述NLU模型来处理所述ASR输出流,以继续生成所述NLU输出流;以及基于所述NLU输出流来确定所述话音活动的发生是否针对所述自动化助理。在那些实施方式的一些其他版本中,所述方法可以进一步包括响应于确定所述话音活动的发生针对所述自动化助理:基于所述NLU输出流来继续生成所述履行数据流;以及基于所述履行数据流来更新从中选择所述履行输出的所述履行输出集合。在那些实施方式的附加或替代实施方式中,所述方法可以进一步包括响应于确定所述话音活动的发生不是针对所述自动化助理:确定自所述用户提供所述一个或多个口头话语以来是否已经经过阈值持续时间;以及响应于确定自所述用户提供所述一个或多个口头话语以来已经经过所述阈值持续时间:确定要实现的所述下一交互状态是(ii)使得自然对话输出被可听地渲染以呈现给所述用户。在那些实施方式的又一版本中,要可听地渲染以经由所述客户端设备的所述扬声器中的一个或多个扬声器呈现给所述用户的所述自然对话输出可以包括以下中的一个或多个:期望是否继续与所述自动化助理交互的指示;或者所述用户提供附加用户输入以促进所述用户与所述自动化助理之间的对话会话的请求。
在一些实施方式中,与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性可以包括以下中的一个或多个:与所述一个或多个口头话语中的每一个相关联的一个或多个韵律属性,其中,所述一个或多个韵律属性包括以下中的一个或多个:语调、音调、重音、节奏、节拍、音高和休止符;或者自所述用户提供所述一个或多个口头话语中的最近的口头话语以来已经经过的持续时间。
在一些实施方式中,所述NLU输出流、所述履行数据流、以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的当前状态可以包括基于所述一个或多个口头话语中的最近口头话语生成的所述NLU输出的最近实例、基于所述最近NLU输出生成的所述履行数据的最近实例,以及基于所述最近口头话语生成的所述基于音频的特性的最近实例。在那些实施方式的一些版本中,所述NLU输出流、所述履行数据流、以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的当前状态可以进一步包括基于在所述最近口头话语之前的一个或多个历史口头话语而生成的所述NLU输出的一个或多个历史实例、基于所述NLU输出的所述一个或多个历史实例而生成的所述履行数据的一个或多个历史实例,以及基于所述一个或多个历史口头话语而生成的所述基于音频的特性的一个或多个历史实例。
在一些实施方式中,提供一种由一个或多个处理器实现的方法,并且包括使用自动语音识别(ASR)模型来处理ASR输出流,音频数据流由客户端设备的一个或多个麦克风生成,并且所述音频数据流捕获所述用户的一个或多个口头话语,所述一个或多个口头话语针对至少部分地在所述客户端设备处实现的自动化助理;使用自然语言理解(NLU)模型来处理所述ASR输出流,以生成NLU输出流;基于所述NLU输出流来生成履行数据流;基于处理所述音频数据流,确定与所述口头话语中的一个或多个口头话语相关联的基于音频的特性;基于所述NLU输出流、所述履行数据流、以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的当前状态,确定(i)何时使得包括合成语音的合成语音音频数据被可听地渲染以呈现给所述用户,以及(ii)在所述合成语音中包括什么;以及响应于确定使得所述合成语音音频数据被可听地渲染以呈现给所述用户:使得所述合成语音音频数据经由所述客户端设备的一个或多个扬声器可听地渲染;以及响应于确定不使得所述合成语音音频数据被可听地渲染以呈现给所述用户:避免使得所述合成语音音频数据经由所述客户端设备的所述扬声器中的一个或多个扬声器被可听地渲染。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如,(多个)中央处理单元(CPU)、(多个)图形处理单元(GPU)和/或(多个)张量处理单元(TPU)),其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中,指令被配置为使得执行任何上述方法。一些实施方式还包括一个或多个非暂时性计算机能够读存储介质,其存储可由一个或多个处理器执行以实现任何上述方法的计算机指令。一些实施方式还包括计算机程序产品,该计算机程序产品包括可由一个或多个处理器执行以实现任何上述方法的指令。
Claims (25)
1.一种由一个或多个处理器实现的方法,所述方法包括:
使用自动语音识别(ASR)模型处理音频数据流以生成ASR输出流,所述音频数据流由客户端设备的一个或多个麦克风生成,并且所述音频数据流捕获用户的一个或多个口头话语,所述一个或多个口头话语针对至少部分地在所述客户端设备处实现的自动化助理;
使用自然语言理解(NLU)模型来处理所述ASR输出流,以生成NLU输出流;
基于所述NLU输出流来生成履行数据流;
基于处理所述音频数据流,确定与所述口头话语中的一个或多个口头话语相关联的基于音频的特性;
基于所述NLU输出流、所述履行数据流以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的当前状态,确定要实现的下一交互状态是否是:
(i)使得基于所述履行数据流生成的履行输出被实现,
(ii)使得自然对话输出被可听地渲染以呈现给所述用户,或者
(iii)避免使得任何交互被实现;以及
使得所述下一交互状态被实现。
2.根据权利要求1所述的方法,其中,基于所述NLU输出流、所述履行数据流以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的所述当前状态,确定要实现的所述下一交互状态是否是(i)使得基于所述履行数据流生成的履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给所述用户,或者(iii)避免使得任何交互被实现包括:
使用分类机器学习(ML)模型来处理所述NLU输出流、所述履行数据流以及所述基于音频的特性的所述当前状态,以生成与以下中的每一个相关联的对应的预测响应度量:(i)使得基于所述履行数据流生成的履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给所述用户,以及(iii)避免使得任何交互被实现;以及
基于所述对应的预测响应度量,确定要实现的所述下一交互状态是否要(i)使得基于所述履行数据流生成的履行输出被实现,(ii)使得自然对话输出被可听地渲染以呈现给所述用户,或者(iii)避免使得任何交互被实现。
3.根据权利要求1或权利要求2所述的方法,进一步包括:
基于所述履行数据流来确定履行输出集合;以及
基于与所述NLU数据流相关联的预测NLU度量和/或与所述履行数据流相关联的预测履行度量,从所述履行输出集合中选择所述履行输出。
4.根据权利要求3所述的方法,其中,从所述履行输出集合中选择所述履行输出是响应于确定要实现的所述下一交互状态是(i)使得基于所述履行数据流生成的履行输出被实现,并且其中,基于与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量从所述履行输出集合中选择所述履行输出包括:
响应于确定与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量满足第一阈值度量和第二阈值度量两者,从所述履行输出集合中选择第一履行输出作为所述履行输出。
5.根据权利要求4所述的方法,其中,基于与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量从所述履行输出集合中选择所述履行输出进一步包括:
响应于确定与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量都满足所述第一阈值度量但不满足所述第二阈值度量,从所述履行输出集合中选择第二履行输出作为所述履行输出,
其中,所述第二履行输出不同于所述第一履行输出。
6.根据权利要求4所述的方法,其中,基于与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量从所述履行输出集合中选择所述履行输出进一步包括:
响应于确定与所述NLU数据流相关联的所述预测NLU度量和/或与所述履行数据流相关联的所述预测履行度量未能满足所述第一阈值度量和所述第二阈值度量两者,从所述履行输出集合中选择第三履行输出作为所述履行输出,
其中,所述第三履行输出不同于所述第一履行输出和所述第二履行输出两者。
7.根据权利要求3至6中的任一项所述的方法,其中,基于所述履行数据流来确定所述履行输出集合包括:
使用多个第一方代理来处理所述履行数据以生成对应的第一方履行输出;以及
将所述对应的第一方履行输出并入到所述履行输出集合中。
8.根据权利要求7所述的方法,其中,基于所述履行数据流来确定所述履行输出集合进一步包括:
通过一个或多个网络将所述履行数据从所述客户端设备传送到一个或多个第三方系统,其中,将所述履行数据传送到所述一个或多个第三方系统使得所述第三方系统中的每一个使用对应的第三方代理来处理所述履行数据以生成对应的第三方履行输出;
通过所述网络中的一个或多个,在所述客户端设备处从所述一个或多个第三方系统接收所述对应的第三方履行输出;以及
将使用多个第一方垂线生成的所述对应的第三方履行输出并入到所述履行输出集合中。
9.根据权利要求3至8中的任一项所述的方法,进一步包括:
在使得与基于所述履行数据流生成的所述履行输出相对应的任何合成语音经由所述客户端设备的一个或多个扬声器可听地渲染之前:
对于所述履行输出集合中的所述履行输出中的一个或多个,发起部分履行,其中,所述部分履行特定于所述履行输出集合中的所述履行输出中的每一个。
10.根据任一前述权利要求所述的方法,其中,所述履行输出包括以下中的一个或多个:
包括与所述履行输出相对应的合成语音的合成语音音频数据,将经由所述客户端设备的所述扬声器中的一个或多个被可听地渲染以呈现给所述用户,
与所述履行输出相对应的图形内容,所述图形内容将被可视地渲染以经由所述客户端设备或与所述客户端设备通信的附加客户端设备的显示器呈现给所述用户,或者
与所述履行输出相对应的助理命令,所述助理命令在被执行时使得所述自动化助理控制所述客户端设备或与所述客户端设备通信的附加客户端设备。
11.根据任一前述权利要求所述的方法,进一步包括:
在可由所述客户端设备访问的一个或多个数据库中维护自然对话输出集合;以及
至少基于与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性,从所述自然对话输出集合中选择自然对话输出。
12.根据权利要求11所述的方法,其中,从所述自然对话输出集合中选择所述自然对话输出是响应于确定要实现的所述下一交互状态是(ii)使得自然对话输出被可听地渲染以呈现给所述用户,并且其中,从所述自然对话输出集合中选择所述自然对话输出包括:
基于与所述NLU输出相关联的预测度量和与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性,从所述自然对话输出集合中选择第一自然对话输出作为所述自然对话输出。
13.根据权利要求12所述的方法,其中,从所述自然对话输出集合中选择所述自然对话输出进一步包括:
基于与所述NLU输出相关联的所述预测度量和与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性,从所述自然对话输出集合中选择第二自然对话输出作为所述自然对话输出,
其中,所述第二自然对话输出不同于所述第一自然对话输出。
14.根据任一前述权利要求所述的方法,进一步包括:
响应于确定要实现的所述下一交互状态是(iii)避免使得任何交互被实现:
使用话音活动检测模型来处理所述音频数据流以监视话音活动的发生;以及
响应于检测到所述话音活动的发生:
确定所述话音活动的发生是否针对所述自动化助理。
15.根据权利要求14所述的方法,其中,确定所述话音活动的发生是否针对所述自动化助理包括:
使用所述ASR模型来处理所述音频数据流以继续生成所述ASR输出流;
使用所述NLU模型来处理所述ASR输出流,以继续生成所述NLU输出流;以及
基于所述NLU输出流来确定所述话音活动的发生是否针对所述自动化助理。
16.根据权利要求15所述的方法,进一步包括:
响应于确定所述话音活动的发生针对所述自动化助理:
基于所述NLU输出流来继续生成所述履行数据流;以及
基于所述履行数据流来更新从中选择所述履行输出的履行输出集合。
17.根据权利要求15或权利要求16所述的方法,进一步包括:
响应于确定所述话音活动的发生不是针对所述自动化助理:
确定自所述用户提供所述一个或多个口头话语以来是否已经经过阈值持续时间;以及
响应于确定自所述用户提供所述一个或多个口头话语以来已经经过所述阈值持续时间:
确定要实现的所述下一交互状态是(ii)使得自然对话输出被可听地渲染以呈现给所述用户。
18.根据权利要求17所述的方法,其中,要经由所述客户端设备的所述扬声器中的一个或多个扬声器可听地渲染以呈现给所述用户的所述自然对话输出包括以下中的一个或多个:
期望是否继续与所述自动化助理交互的指示;或者
所述用户提供附加用户输入以促进所述用户与所述自动化助理之间的对话会话的请求。
19.根据任一前述权利要求所述的方法,其中,与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性包括以下中的一个或多个:
与所述一个或多个口头话语中的每一个相关联的一个或多个韵律属性,其中,所述一个或多个韵律属性包括以下中的一个或多个:语调、音调、重音、节奏、节拍、音高和休止符;或者
自所述用户提供所述一个或多个口头话语中的最近口头话语以来已经经过的持续时间。
20.根据任一前述权利要求所述的方法,其中,所述NLU输出流、所述履行数据流以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的所述当前状态包括:基于所述一个或多个口头话语中的最近口头话语生成的所述NLU输出的最近实例、基于所述最近NLU输出生成的所述履行数据的最近实例以及基于所述最近口头话语生成的所述基于音频的特性的最近实例。
21.根据权利要求20所述的方法,其中,所述NLU输出流、所述履行数据流以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的所述当前状态进一步包括:基于在所述最近口头话语之前的一个或多个历史口头话语而生成的所述NLU输出的一个或多个历史实例、基于所述NLU输出的所述一个或多个历史实例而生成的所述履行数据的一个或多个历史实例以及基于所述一个或多个历史口头话语而生成的所述基于音频的特性的一个或多个历史实例。
22.一种由一个或多个处理器实现的方法,所述方法包括:
使用自动语音识别(ASR)模型来处理ASR输出流,音频数据流由客户端设备的一个或多个麦克风生成,并且所述音频数据流捕获用户的一个或多个口头话语,所述一个或多个口头话语针对至少部分地在所述客户端设备处实现的自动化助理;
使用自然语言理解(NLU)模型来处理所述ASR输出流,以生成NLU输出流;
基于所述NLU输出流来生成履行数据流;
基于处理所述音频数据流,确定与所述口头话语中的一个或多个口头话语相关联的基于音频的特性;
基于所述NLU输出流、所述履行数据流以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的当前状态,确定(i)何时使得包括合成语音的合成语音音频数据被可听地渲染以呈现给所述用户,以及(ii)在所述合成语音中包括什么;以及
响应于确定使得所述合成语音音频数据被可听地渲染以呈现给所述用户:
使得所述合成语音音频数据经由所述客户端设备的一个或多个扬声器可听地渲染;以及
响应于确定不使得所述合成语音音频数据被可听地渲染以呈现给所述用户:
避免使得所述合成语音音频数据经由所述客户端设备的所述扬声器中的一个或多个扬声器被可听地渲染。
23.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,所述指令在被执行时使得所述至少一个处理器:
使用自动语音识别(ASR)模型来处理音频数据流以生成ASR输出流,所述音频数据流由客户端设备的一个或多个麦克风生成,并且所述音频数据流捕获用户的一个或多个口头话语,所述一个或多个口头话语针对至少部分地在所述客户端设备处实现的自动化助理;
使用自然语言理解(NLU)模型来处理所述ASR输出流,以生成NLU输出流;
基于所述NLU输出流来生成履行数据流;
基于处理所述音频数据流,确定与所述口头话语中的一个或多个口头话语相关联的基于音频的特性;
基于所述NLU输出流、所述履行数据流以及与所述口头话语中的一个或多个口头话语相关联的所述基于音频的特性的当前状态,确定要实现的下一交互状态是否是:
(i)使得基于所述履行数据流生成的履行输出被实现,
(ii)使得自然对话输出被可听地渲染以呈现给所述用户,或者
(iii)避免使得任何交互被实现;以及
使得所述下一交互状态被实现。
24.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,所述指令在被执行时使得所述至少一个处理器执行与权利要求1至23中的任一项相对应的操作。
25.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得至少一个处理器执行与权利要求1至23中的任一项相对应的操作。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163189472P | 2021-05-17 | 2021-05-17 | |
US63/189,472 | 2021-05-17 | ||
US17/537,122 | 2021-11-29 | ||
US17/537,122 US20220366905A1 (en) | 2021-05-17 | 2021-11-29 | Enabling natural conversations for an automated assistant |
PCT/US2021/061466 WO2022245393A1 (en) | 2021-05-17 | 2021-12-01 | Enabling natural conversations for an automated assistant |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116368562A true CN116368562A (zh) | 2023-06-30 |
Family
ID=79425618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180069030.6A Pending CN116368562A (zh) | 2021-05-17 | 2021-12-01 | 针对自动化助理启用自然对话 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220366905A1 (zh) |
EP (1) | EP4115411A1 (zh) |
JP (1) | JP2023549015A (zh) |
KR (1) | KR20230062612A (zh) |
CN (1) | CN116368562A (zh) |
WO (1) | WO2022245393A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11908452B1 (en) * | 2021-05-20 | 2024-02-20 | Amazon Technologies, Inc. | Alternative input representations for speech inputs |
KR102516391B1 (ko) * | 2022-09-02 | 2023-04-03 | 주식회사 액션파워 | 음성 구간 길이를 고려하여 오디오에서 음성 구간을 검출하는 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10832005B1 (en) * | 2013-11-21 | 2020-11-10 | Soundhound, Inc. | Parsing to determine interruptible state in an utterance by detecting pause duration and complete sentences |
US10586535B2 (en) * | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10818288B2 (en) * | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
EP3895161B1 (en) * | 2019-02-20 | 2023-07-26 | Google LLC | Utilizing pre-event and post-event input streams to engage an automated assistant |
-
2021
- 2021-11-29 US US17/537,122 patent/US20220366905A1/en active Pending
- 2021-12-01 WO PCT/US2021/061466 patent/WO2022245393A1/en active Application Filing
- 2021-12-01 EP EP21841050.4A patent/EP4115411A1/en active Pending
- 2021-12-01 KR KR1020237011520A patent/KR20230062612A/ko unknown
- 2021-12-01 JP JP2023518288A patent/JP2023549015A/ja active Pending
- 2021-12-01 CN CN202180069030.6A patent/CN116368562A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4115411A1 (en) | 2023-01-11 |
JP2023549015A (ja) | 2023-11-22 |
KR20230062612A (ko) | 2023-05-09 |
WO2022245393A1 (en) | 2022-11-24 |
US20220366905A1 (en) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230074406A1 (en) | Using large language model(s) in generating automated assistant response(s | |
CN113557566A (zh) | 动态地适配助理响应 | |
JP7418563B2 (ja) | オンデバイスの機械学習モデルの訓練のための自動化アシスタントの機能の訂正の使用 | |
US20220366905A1 (en) | Enabling natural conversations for an automated assistant | |
WO2023038654A1 (en) | Using large language model(s) in generating automated assistant response(s) | |
CN116745843A (zh) | 用于减少自动化助理交互中的时延的方法和系统 | |
CN115699166A (zh) | 检测热词或短语的近似匹配 | |
US20230143177A1 (en) | Contextual suppression of assistant command(s) | |
US20230061929A1 (en) | Dynamically configuring a warm word button with assistant commands | |
US20230343324A1 (en) | Dynamically adapting given assistant output based on a given persona assigned to an automated assistant | |
US20230053341A1 (en) | Enabling natural conversations with soft endpointing for an automated assistant | |
EP4158621A1 (en) | Enabling natural conversations with soft endpointing for an automated assistant | |
CN117121100A (zh) | 为自动化助理启用具有软端点的自然对话 | |
US20230215422A1 (en) | Multimodal intent understanding for automated assistant | |
EP4169016B1 (en) | Collaborative ranking of interpretations of spoken utterances | |
US11756533B2 (en) | Hot-word free pre-emption of automated assistant response presentation | |
US20240031339A1 (en) | Method(s) and system(s) for utilizing an independent server to facilitate secure exchange of data | |
WO2024019767A1 (en) | Method(s) and system(s) for utilizing an independent server to facilitate secure exchange of data | |
KR20230153450A (ko) | 자동 스피치 인식의 로컬 실행을 위한 디바이스 중재 | |
CN117121102A (zh) | 口头话语的解释的协同排名 | |
WO2024054271A1 (en) | System(s) and method(s) for causing contextually relevant emoji(s) to be visually rendered for presentation to user(s) in smart dictation | |
EP4356372A1 (en) | System(s) and method(s) for causing contextually relevant emoji(s) to be visually rendered for presentation to user(s) in smart dictation |
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 |