CN114041283A - 利用事件前和事件后输入流来接洽自动化助理 - Google Patents
利用事件前和事件后输入流来接洽自动化助理 Download PDFInfo
- Publication number
- CN114041283A CN114041283A CN201980091402.8A CN201980091402A CN114041283A CN 114041283 A CN114041283 A CN 114041283A CN 201980091402 A CN201980091402 A CN 201980091402A CN 114041283 A CN114041283 A CN 114041283A
- Authority
- CN
- China
- Prior art keywords
- automated assistant
- user
- event
- listening state
- input stream
- 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.)
- Granted
Links
- 230000009471 action Effects 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000015654 memory Effects 0.000 claims description 60
- 230000004044 response Effects 0.000 claims description 46
- 230000007704 transition Effects 0.000 claims description 24
- 238000010801 machine learning Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 description 41
- 238000009472 formulation Methods 0.000 description 23
- 239000000203 mixture Substances 0.000 description 23
- 238000003058 natural language processing Methods 0.000 description 14
- 230000002441 reversible effect Effects 0.000 description 10
- 238000013507 mapping Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000000875 corresponding effect Effects 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 7
- 244000018436 Coriandrum sativum Species 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 239000000835 fiber Substances 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 239000008267 milk Substances 0.000 description 5
- 210000004080 milk Anatomy 0.000 description 5
- 235000013336 milk Nutrition 0.000 description 5
- 235000013550 pizza Nutrition 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 240000000467 Carum carvi Species 0.000 description 3
- 235000005747 Carum carvi Nutrition 0.000 description 3
- WHGYBXFWUBPSRW-FOUAGVGXSA-N beta-cyclodextrin Chemical compound OC[C@H]([C@H]([C@@H]([C@H]1O)O)O[C@H]2O[C@@H]([C@@H](O[C@H]3O[C@H](CO)[C@H]([C@@H]([C@H]3O)O)O[C@H]3O[C@H](CO)[C@H]([C@@H]([C@H]3O)O)O[C@H]3O[C@H](CO)[C@H]([C@@H]([C@H]3O)O)O[C@H]3O[C@H](CO)[C@H]([C@@H]([C@H]3O)O)O3)[C@H](O)[C@H]2O)CO)O[C@@H]1O[C@H]1[C@H](O)[C@@H](O)[C@@H]3O[C@@H]1CO WHGYBXFWUBPSRW-FOUAGVGXSA-N 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 108090000623 proteins and genes Proteins 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 235000012054 meals Nutrition 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 235000015041 whisky Nutrition 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 244000141359 Malus pumila Species 0.000 description 1
- 206010026749 Mania Diseases 0.000 description 1
- 240000008790 Musa x paradisiaca Species 0.000 description 1
- 235000018290 Musa x paradisiaca Nutrition 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000178 monomer Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 235000013580 sausages Nutrition 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000000475 sunscreen effect Effects 0.000 description 1
- 239000000516 sunscreening agent Substances 0.000 description 1
- 230000001755 vocal 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/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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
- H04M3/493—Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/527—Centralised call answering arrangements not requiring operator intervention
-
- 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
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本文描述了用于选择性地处理在事件前后捕捉到的用户的话语的技术,所述事件调用自动化助理来确定用户的意图和/或消解用户的意图所需的任何参数。在各种实施方式中,可以为事件前和事件后输入流确定针对触发由自动化助理进行响应动作的相应的适合性度量。基于相应的适合性度量,事件前输入流或事件后输入流中的一个或两者可以被选择和被用来使自动化助理执行一个或多个响应动作。
Description
背景技术
人类可以与在本文中称为“自动化助理”(也称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人语音助理”、“会话代理”、“虚拟助理”等)的交互式软件应用进行人机对话。例如,人类(当他们与自动化助理交互时,可以被称为“用户”)可以使用自由形式的自然语言输入来提供命令、查询和/或请求(在本文中统称为“查询”),该自由形式的自然语言输入可以包括转换为文本,然后进行处理的有声话语和/或键入的自由形式的自然语言输入。自动化助理可以对自然语言输入执行各种类型的处理,诸如自然语言处理、句法过程、语义处理等,以识别和响应用户的意图。
在许多情况下,在自动化助理可以解释和响应用户的请求之前,它必须首先响应于各种事件而被“调用”。在一些情况下,自动化助理可以响应于按钮被操作和/或按下达某一预定的时间段等而被调用。附加地或可替代地,一些自动化助理可以使用通常被称为“热词”或“唤醒词”的预定义口头调用词/短语来被调用。因此,许多自动化助理在本文中将被称为“限制的热词监听状态”或“不活跃监听状态”的状态下操作,在这些状态下,它们总是针对限制(或有限的或“默认的”)热词集“监听”由麦克风采样的音频数据。除了默认热词集之外,在音频数据中捕捉到的任何话语都会被忽略。一旦自动化助理是用默认热词集中的一个或多个默认热词来调用的,它便可以在本文中被称为“活跃监听状态”的状态下操作,其中,在调用后的至少某一时间间隔内,自动化助理执行由麦克风采样的音频数据的话音转文本(“STT”,也称为“自动话音辨识”或“ASR”)处理,以生成文本输入,该文本输入进而被语义地处理以确定用户的意图(并且消解(resolve)该意图)。
在不活跃监听状态下操作自动化助理会提供各种好处。限制被“监听”的热词的数量允许节约电力和/或计算资源。例如,设备上的机器学习模型可以被训练以生成输出,该输出指示何时检测到一个或多个热词。实施这种模型可能只需要最少的计算资源和/或电力,这对于通常资源受限的助理设备特别有利。将这种被训练的模型本地存储在客户端设备上还提供了与隐私相关的优点。例如,一些用户不希望对在操作自动化助理的计算设备听得到的范围内他们说的每件事都被自动执行STT/ASR处理。附加地,设备上的模型也可以防止将指示不打算被自动化助理处理的用户话语的数据提供给语义处理器,该语义处理器通常至少部分地在云上操作。
除了这些优点之外,在限制热词监听状态下操作自动化助理也会带来各种挑战。为了避免无意中调用自动化助理,热词通常是被选择为在日常对话中不经常讲出的词或短语(例如,“长尾”词或短语)。然而,存在许多场景,在所述场景中需要用户在调用自动化助理以执行某一动作之前讲出长尾热词可能很麻烦。一些自动化助理可能会在用户讲出命令之后提供“持续监听”模式的选项,这样用户就不必在执行后续命令之前用热词“重新唤醒”自动化助理。然而,将自动化助理转变为持续监听模式意味着自动化助理可能会对更多的话语执行更多的STT处理,可能浪费电力和/或计算资源。附加地,并且如上所述,一些用户更喜欢仅向自动化助理说出的话语被STT处理。
发明内容
本文描述了用于选择性地处理在事件前后捕捉到的用户的话语的技术,该事件调用自动化助理来确定用户的意图和/或消解用户的意图所需的任何参数。因此,例如,在调用自动化助理之前,用户可能提供口语话语——所述口语话语可以包括请求、命令、搜索查询、问题等。一旦自动化助理被调用,它便可以倒摄地(retroactively)分析指示用户之前的口语话语的数据——例如,录制的原始音频、从原始音频生成的嵌入、基于原始音频的STT的输出和/或自然语言处理等——以确定用户的意图,并且相应地做出响应。使用倒摄分析可以避免不必要的话语处理,这些话语最终不会与对自动化助理的用户请求相关联。以这种方式,处理和网络开销可以减少。此外,话语的处理可以分布在本地设备和一个或多个远程服务器之间,同时限制不旨在助理的话语的联网传输,从而提高数据安全性,同时克服在本地实施所有话语处理时的技术限制。
在各种实施方式中,用户在其上与自动化助理接洽的客户端设备的存储器缓冲区(也被称为“倒摄存储器缓冲区”)可以至少暂时存储指示由一个或多个麦克风捕捉到的声音的数据的某一预定时间间隔(例如,10秒)量。在一些实施方式中,响应于各种刺激,诸如噪音、语音等,可以将指示由麦克风捕捉到的声音的数据写入倒摄存储器缓冲区中。在一些这样的实施方式中,如果只有很少或没有环境声音,则没有指示由麦克风捕捉到的声音的数据可以存储在倒摄存储器缓冲区中。
在检测到调用自动化助理的事件之前,自动化助理可以连续且反复地重写倒摄存储器缓冲区。在一些实施方式中,倒摄存储器缓冲区可以是被周期性地重写的循环存储器缓冲区,例如,使用滑动窗技术,尽管这不是必需的。在一些实施方式中,存储器缓冲区可以配置为存储某一预定时间间隔的数据量,诸如十秒的原始音频、文本或从十秒的原始音频生成的其他数据等。在一些实施方式中,倒摄存储器缓冲区可以暂时存储由麦克风捕捉到的原始音频数据、从原始音频数据生成的嵌入或其他中间特征,诸如光谱图表示。附加地或可替代地,在一些实施方式中,可以对所捕捉到的原始音频执行基本的或甚至是全面的ASR/STT处理,并且可以将通过ASR/STT处理生成的提取文本暂时存储在倒摄存储器缓冲区中。附加地或可替代地,在一些实施方式中,可以对提取文本执行NLP,并且可以将可以包括注释文本和/或用户意图的NLP的输出暂时存储在倒摄存储器缓冲区中。
当检测到调用自动化助理的事件时,自动化助理可以从不活跃监听状态转变为“活跃监听状态”,在该“活跃监听状态”下,对暂时存储在倒摄存储器缓冲区中的数据(在这里被称为“事件前输入流”)执行附加处理。附加地或可替代地,在事件发生后,可以对指示由麦克风捕捉到的声音的数据执行附加处理;这种数据在这里被称为“事件后输入流”。在各种实施方式中,可以分别对事件前和事件后输入流进行分析,以针对触发由自动化助理进行响应动作来确定相应的适合性(或适宜性)度量。用于触发自动化助理的响应动作的适合性度量可以以各种方式确定。
在一些实施方式中,确定相应的适合性度量可以包括确定事件前和事件后输入流与一个或多个已知命令句法之间的相应的相似度度量。如果事件前和事件后输入流中的一个输入流包括在句法上与命令相似的文本,而另一个不包括,则可以选择该输入流来进行进一步的处理,例如,使自动化助理采取响应动作。例如,与短语“I wonder when the nextfull moon is?(我想知道下一次满月是什么时候?)”相比,短语“Turn on the lights(打开灯)”在句法上与命令句法“Turn<off/on>the<device>(<关闭/打开><设备>)”更相似。
附加地或可替代地,已经观察到,与其他人类相比,用户往往不同地对自动助理讲话。用户往往发音得更清楚,说得更慢,说得更大声,等等。此外,当人们相互交谈时,他们可能不一定在自动化助理可访问的麦克风的方向上说话,并且因此,用户对用户的话语可能往往比用户对助理的话语更不清楚和/或更嘈杂。因此,在各种实施方式中,确定相应的适合性度量可以包括对用户的语音的一个或多个特征(诸如抑扬顿挫、发音、音量、节拍等)进行分析,以确定其针对触发响应动作的适合性。在一些实施方式中,这可以包括将用户的语音的一个或多个特征与从包含针对自动化助理的命令的话语中观察到的一个或多个语音特征进行比较。在一些这样的实施方式中,这种比较可以通过——例如,使用包括被标记为指向(或不指向)自动化助理的话语的训练数据——被训练的机器学习模型来实施,以生成指示输入是否指向自动化助理的输出。例如,事件前和事件后输入流可以由机器学习模型处理,以生成指示其内容是否指向自动化助理的输出,并且事件前和事件后输入流中的一个或两个输入流可以根据输出来选择。在一些实施方式中,视觉线索也可以被考虑以确定人是否正在与自动化助理讲话。例如,如果人在说出话语时正看着相机,则不管人说什么都更有可能被认为是调用事件。在一些实施方式中,前面提到的机器学习模型或附加机器学习模型可以使用这种视觉线索来改善对话语指向助理的可能性的评估。
如前所述,自动化助理可以由各种事件调用,诸如对各种输入元件和/或一个或多个热词/短语的用户选择。在一些实施方式中,由麦克风捕捉到的音频数据可以例如实时使用数字信号处理器(“DSP”)被监测,以检测一个或多个热词。当检测到热词时,可以对先前存储在用户正在其上调用自动化助理的客户端设备的倒摄存储器缓冲区中的音频数据进行例如单独或与事件后捕捉到的音频数据并行分析。在一些这样的实施方式中,本地存储器缓冲区可以是与DSP芯片或芯片集集成的DSP缓冲区,尽管这不是必需的。当自动化助理转变为活跃监听状态时,它可以访问这个DSP缓冲区,以对暂时存储的音频数据执行例如话音辨识、自然语言处理等,并且识别一个或多个令牌。
各种热词或短语可以用于触发将自动化助理转变为活跃监听状态。在一些实施方式中,一些热词可以触发对事件前和事件后输入流进行分析,其他热词可以触发只对事件前输入流进行分析,并且再其他热词可以触发只对事件后输入流进行分析。在一些实施方式中,倒摄和处理之间可能没有区别。
作为第一非限制性示例,在一些实施方式中,特定的热词可以触发自动化助理对存储器缓冲区的整个内容执行附加处理(例如,ASR、NLP等),并且使用这种处理的输出来例如执行搜索。通过提取用户可能搜索的实体和其他词项/短语,可以支持“词定义”和实际搜索。假设房间中的第一用户对第二用户说:“Hmm,I wonder what parsimonious means?(嗯,我想知道吝啬是什么意思?)”,第二用户然后说:“sleuth that(调查它)”。在一些实施方式中,短语“sleuth that”可以作为导致至少部分在附近的客户端设备上实施的自动化助理转变为活跃监听状态的触发操作。在活跃监听状态下,自动化助理可以获得倒摄存储器缓冲区的内容(包括说“Hmm,I wonder what parsimonious means?”的第一用户的录音的音频数据),如上所述处理它们(例如,ASR、各种NLP和/或实体注释),并且提交结果作为搜索。
在各种实施方式中,可用于将自动化助理转变为活跃监听状态的热词可以包括各种线索,这些线索帮助自动化助理确定采取何种动作。例如,在一些实施方式中,一个或多个具体热词可以用于触发自动化助理基于包含在存储器缓冲区中的倒摄口语输入创建提醒。例如,假设用户说“I need to get some milk on the way home.Remind me aboutthat(我需要在回家的路上买些牛奶。提醒我一下)”。短语“Remind me about that(提醒我一下)”可以作为触发操作,以使自动化助理转变为活跃监听状态并且将用户的之前话语“Ineed to get some milk on the way home.(我需要在回家的路上买些牛奶)”处理为稍后,例如当确定(例如,使用位置坐标触发)用户下班后开车回家时,将提供给用户的提醒。而且提供提醒文本和热词的用户不一定是同一个用户。例如,第一用户可以对第二用户说(当面和/或在电话中):“Can you get some milk on the way home?(你能在回家的路上买一些牛奶吗?)”。第二用户然后可以说“Remind me about that”,使第一用户的话语被处理成提醒,以便第二用户在稍后场境适当的时间接收。
作为在活跃监听状态下可以被自动化助理使用的线索的另一个示例,在一些实施方式中,可以识别包含在热词中的参考关键词,诸如代词、限定词等,并且将其映射到从包含在存储器缓冲区中的音频数据中提取的令牌。例如,如果在音频数据中识别出多个实体,则可以对热词进行分析,以确定哪个实体应当是自动化助理所采取的响应动作的主题或范围。作为一个示例,假设在会话期间第一用户对第二用户说:“Yeah,I think Liz Taylorwas married to Richard Burton(嗯,我觉得利兹泰勒嫁给了理查德伯顿)”。假设第一用户或第二用户然后说:“Sleuth her(对她进行调查)”。在话语中识别出(例如,使用知识图)的两个实体——Liz Taylor(利兹泰勒)和Richard Burton(理查德伯顿)——中,只有LizTaylor是女性。因此,可以将由自动化助理组装和提交的结果搜索的范围界定到LizTaylor。在各种实施方式中,另一个识别出的实体,Richard Burton,可能会被忽略或被用作较弱的信号,以帮助进一步界定搜索结果的范围。
作为一般示例,假设用户说:“I’m going to the store.Remind me to pick upsome apples.(我要去商店。提醒我买一些苹果)”。话语“I’mgoing to the store(我要去商店)”存储在倒摄存储器缓冲区中作为事件前流,热词短语“Remind me to...(提醒我...)”是触发自动化助理的事件,并且短语“...pick up some apples(...买一些苹果)”是在热词短语之后被捕捉到的并且构成事件后输入流。指示短语“I’m going to thestore”的事件前输入流在它没有清楚地说明自动化助理应当做什么,很可能不匹配任何已知或通用的命令句法,并且是语句,而不是命令的程度上有些模棱两可。因此,当被自动化助理分析时,这种事件前语句可能会产生用户意图,诸如“directions to store(商店的方向)”,它具有相对低的置信度度量,因此具有用于触发自动化助理采取响应动作的相对低的适应度度量。此外,触发短语“Remind me”指示将设置提醒,而触发前语句“I’m going tothe store”不是典型的提醒短语;它只是说明用户将要做什么。另一方面,指示短语“...pick up some apples”的事件后输入流是命令,因此更适合作为提醒。因此,对于用户意图“Remind me to<pick up some apples>”的适合性度量更大,因此很可能会被自动化助理选择。
可以将自动化助理调用到活跃监听状态的事件的另一个示例是场境。作为非限制性示例,当启动特定应用时,可以调用一些自动化助理。例如,诸如地图绘制/导航应用的应用在启动时可以将自动化助理调用到活跃监听状态。因此,当用户打开地图绘制/导航应用时,例如,当开车时,用户然后可以发出命令(例如,“find directions to the nearestcoffee shop(找到最近咖啡店的方向)”),而无需提供任何附加输入,并且自动化助理将做出相应的响应。
在各种实施方式中,至少一些处理能力,诸如ASR、NLP、实体标记等,可以内置到客户端设备本身,这样机载处理就可以被用来尝试分析话音,而不将潜在敏感的信息发送给在线(即“基于云的”)语义处理器。然而,大多数客户端设备的受限制的资源可能会限制这种机载能力的功能。附加地或可替代地,用户的话语可能不清楚,例如,由于背景噪音、喃喃自语、口音、受限的词汇等。因此,在一些情况下,它仍然可能有必要将音频数据(或指示其的数据,诸如嵌入)发送给在线语义处理器。
因此,在各种实施方式中,配置有本公开的选定方面的自动化助理可以配置为征求用户的许可(或至少通知用户),他们所说的内容将被发送给在线语义处理器,这样用户就有机会阻止这种情况发生。它还可以防止用户在没有请求时接收到来自自动化助理的自然语言输出时受惊吓。
例如,在一些实施方式中,自动化助理在其上操作的客户端设备可以激活一个或多个灯(例如,发光二极管),以指示用户所说的内容将被在线处理。附加地或可替代地,在一些实施方式中,自动化助理可以生成并提供表达它将要提交给在线语义处理器的请求或录音的自然语言输出,并且甚至可以要求用户确认这是可以的。在一些实施方式中,例如,当与检测到的热词相关联的置信度低于一些阈值时,可以提供这样的通知。如果另一方面置信度度量高于阈值——指示用户清楚地说出了热词并且它们映射到已知的热词,则用户的话语或指示其的数据(例如,嵌入、注释文本等)可以被发送给在线语义处理器进行消解。
在一些实施方式中,提供了一种由一个或多个处理器执行的方法,该方法包括:至少部分地在用户所操作的计算设备上执行处于不活跃监听状态的自动化助理;当处于不活跃监听状态时,检测事件,该事件触发将自动化助理从不活跃监听状态转变为活跃监听状态,其中,指示由一个或多个麦克风在事件之前捕捉到的声音的第一数据作为事件前输入流被暂时存储在用户所操作的计算设备的存储器缓冲区中;获得指示由一个或多个麦克风在检测到事件之后捕捉到的声音的第二数据作为事件后输入流;当处于活跃监听状态时,针对触发由自动化助理进行响应动作来确定事件前和事件后输入流的相应的适合性度量;基于相应的适合性度量,选择事件前输入流或事件后输入流;以及使自动化助理基于所选的输入流来执行一个或多个响应动作。
本文中所公开的技术的这些和其他实施方式可以可选地包括以下一个或多个特征。
在各种实施方式中,方法可以进一步包括针对一个或多个热词监测由一个或多个麦克风捕捉到的声音,其中,触发将自动化助理从不活跃监听状态转变为活跃监听状态的事件包括在监测期间检测到一个或多个热词。在各种实施方式中,方法可以进一步包括对由一个或多个麦克风捕捉到的声音的至少一部分执行说话者辨识处理,以确定用户的身份,其中,将自动化助理从不活跃监听状态转变为活跃监听状态是进一步响应于确定用户的身份满足一个或多个准则而被触发的。
在各种实施方式中,一个或多个准则可以包括与计算设备的所有者匹配的用户的身份。在各种实施方式中,监测可以使用与用户所操作的计算设备集成的数字信号处理器来执行。在各种实施方式中,数字信号处理器与数字信号处理芯片集成,以及其中,存储器缓冲区包括数字信号处理芯片机载的数字信号处理缓冲区。在各种实施方式中,一个或多个热词是代词,并且方法进一步包括将代词消解为从所选的输入流中提取的一个或多个令牌。
在各种实施方式中,存储器缓冲区可以是循环存储器缓冲区,该循环存储器缓冲区被新捕捉到的音频数据周期性地重写。在各种实施方式中,存储器缓冲区可以配置为暂时存储在预定时间间隔内捕捉到的音频数据。在各种实施方式中,确定相应的适合性度量可以包括确定事件前和事件后输入流与一个或多个已知命令句法之间的相应的相似度度量。在各种实施方式中,确定相应的适合性度量包括在事件前和事件后输入流中的一个或两个输入流中分析用户的语音的一个或多个特征。在各种实施方式中,分析包括将用户的语音的一个或多个特征与从包含针对自动化助理的命令的话语中观察到的一个或多个语音特征进行比较。在各种实施方式中,分析包括将用户的语音的一个或多个特征作为输入应用于机器学习模型,其中,机器学习模型被训练以生成输出,该输出指示输入是否指向自动化助理。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中,一个或多个处理器可操作以执行存储在相关联的存储器中的指令,以及其中,指令配置为使前述任何一种方法执行。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储计算机指令,这些计算机指令可由一个或多个处理器执行以执行上述任何一种方法。
应当认识到,前述概念和在本文中更详细地描述的附加概念的所有组合都被视为本文所公开的主题的部分。例如,在本公开的末尾出现的所要求保护的主题的所有组合均被视为本文中所公开的主题的部分。
附图说明
图1是示意性地描绘了可以实施本文中所公开的实施方式的示例环境的组件的框图。
图2描绘了根据各种实施方式的状态机的示例,该状态机可以由配置有本公开的选定方面的自动化助理实施。
图3、图4、图5、图6、图7、图8、图9A、图9B和图10示意性地描绘了示例场景,在该场景中可以采用所公开的技术。
图11描绘了图示了根据本文中所公开的实施方式的示例方法的流程图。
图12图示了计算设备的示例架构。
具体实施方式
现在转向图1,图示了可以实施本文中所公开的技术的示例环境。示例环境包括一个或多个客户端计算设备106。每个客户端设备106都可以执行自动化助理客户端108的对应实例,该自动化助理客户端108在本文中也可以被称为自动化助理的“客户端部分”。一个或多个基于云的自动化助理组件119(其在本文中也可以统称为自动化助理的“服务器部分”)可以在一个或多个计算系统(统称为“云”计算系统)上实施,这些计算系统通过通常用114指示的一个或多个局域网和/或广域网(例如,互联网)通信耦合到客户端设备106。
在各种实施方式中,自动化助理客户端108的实例,通过其与一个或多个基于云的自动化助理组件119的交互,可以形成从用户的角度来看好像是自动化助理120的逻辑实例的实例,用户可以用该自动化助理120进行人机对话。这种自动化助理120的一个实例在图1中用虚线来描绘。因此,应当理解,与在客户端设备106上执行的自动化助理客户端108接洽的每个用户实际上都可以与他或她自己的自动化助理120的逻辑实例接洽。为了简洁和简单,本文中所使用的术语“自动化助理”在“服务”特定用户时将指的是在用户所操作的客户端设备106上执行的自动化助理客户端108与一个或多个基于云的自动化助理组件119(其可以在多个自动化助理客户端108之间共享)的组合。还应当理解,在一些实施方式中,自动化助理120可以响应来自任何用户的请求,而不管用户实际上是否被自动化助理120的特定实例“服务”。
例如,一个或多个客户端设备106可以包括以下中的一项或多项:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器(其在一些情况下可以包括视觉传感器)、诸如智能电视机(或配备有带有自动化助理能力的网络化电子狗的标准电视机)的智能家电和/或用户的可穿戴装置,该可穿戴装置包括计算设备(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。附加和/或替代客户端计算设备可以被提供。诸如独立交互式扬声器(或“智能扬声器”)的一些客户端设备106可以采取助理设备的形式,这些助理设备被主要设计为促进用户和自动化助理120之间的对话。一些这样的助理设备可以采取独立交互式扬声器的形式,该独立交互式扬声器具有附接显示器,该附接显示器可以是或可以不是触摸屏显示器。
在一些实施方式中,客户端设备106可以配备有具有一个或多个视野的一个或多个视觉传感器107,尽管这不是必需的。视觉传感器107可以采取各种形式,诸如数字相机、被动红外(“PIR”)传感器、立体相机、RGBd相机等。例如,一个或多个视觉传感器107可以被图像捕捉模块111用来捕捉在其中采用了客户端设备106的环境的图像帧(静止图像或视频)。这些图像帧然后可以例如被视觉线索模块1121分析,以检测包含在图像帧中的用户提供的视觉线索。这些视觉线索可以包括但不限于手势、对特定参考点的注视、面部表情、用户的预定义运动等。这些检测到的视觉线索可以用于各种目的,诸如调用自动化助理120,在事件前和事件后输入流之间进行选择,确定话语是否意在调用自动化助理120(例如,基于用户在说出话语时是否正在看着助理设备)和/或使自动化助理120采取各种动作。
如本文中更详细地描述的,自动化助理120通过一个或多个客户端设备106的用户接口输入和输出设备进行与一个或多个用户的人机对话会话。在一些实施方式中,自动化助理120可以响应于用户通过客户端设备106之一的一个或多个用户接口输入设备所提供的用户接口输入而进行与用户的人机对话会话。在一些这样的实施方式中,用户接口输入被显式地指向自动化助理120,该自动化助理120可以响应于各种“事件”而被“调用”。
例如,一种类型的事件是检测预定调用短语,在本文中也称为“热词”、“唤醒词”、“热短语”或“唤醒短语”。用户可以以词语方式提供(例如,键入、说出)预定调用短语,诸如“OK,Assistant(好的,助理)”或“Hey,Assistant(嘿,助理)”,使自动化助理120开始积极地监听或监测键入的文本。附加地或可替代地,在一些实施方式中,可以调用自动化助理120的事件可以包括单独或与口头调用短语结合的一个或多个检测到的视觉线索。
附加地或可替代地,在一些实施方式中,可以调用自动化助理120的事件可以包括其他类型的用户输入,诸如长按用户接口元件(例如,硬件按钮、软键等)。附加地或可替代地,一些自动化助理可以在特定场境中被调用,诸如当打开应用时。例如,诸如地图绘制/导航应用等应用在启动时可以调用自动化助理。因此,当用户打开地图绘制/导航app时,例如,当开车时,用户然后可以发出命令(例如,“find directions to the nearest coffeeshop(找到最近咖啡店的方向)”),而无需采取任何附加动作。而且,如本文中更详细地描述的,在一些实施方式中,自动化助理120可以配置为对本文称为“事件前输入流”和“事件后输入流”的事件前和事件后用户话语中的一个或两个话语起作用。
在一些实施方式中,自动化助理120可以响应于用户接口输入进行人机对话会话,即使当没有将用户接口输入明确地指向自动化助理120时。例如,自动化助理120可以检查用户接口输入的内容并且响应于某些词项出现在用户接口输入中和/或基于其他线索进行对话会话。在许多实施方式中,自动化助理120可以利用自动话音辨识(“ASR”,也称为“话音到文本”或“STT”)将来自用户的话语转换为文本,并且相应地响应文本,例如,通过提供搜索结果、一般信息和/或采取一个或多个响应动作(例如,播放媒体、启动游戏、点餐等)。在一些实施方式中,自动化助理120可以附加地或可替代地响应话语,而不将话语转换为文本。例如,自动化助理120可以将语音输入转换为嵌入,转换为实体表示(指示语音输入中存在的一个/多个实体)和/或其他“非文本”表示,并且对这种非文本表示进行操作。因此,本文中所描述的基于从语音输入转换的文本进行操作的实施方式可以附加地和/或可替代地直接对语音输入进行操作和/或对语音输入的其他非文本表示进行操作。
操作基于云的自动化助理组件119的客户端计算设备106和计算设备中的每个计算设备都可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并执行应用的一个或多个处理器以及促进通过网络进行通信的其他组件。由客户端计算设备106和/或自动化助理120执行的操作可以分布在多个计算机系统中。例如,自动化助理120可以实施为计算机程序,这些计算机程序在通过网络彼此耦合的处于一个或多个位置的一个或多个计算机上运行。
如上所述,在各种实施方式中,客户端计算设备106可以操作自动化助理客户端108或自动化助理120的“客户端部分”。在各种实施方式中,自动化助理客户端108可以包括话音捕捉模块110、上述图像捕捉模块111、上述视觉线索模块1121和/或调用模块113。在其他实施方式中,话音捕捉模块110、图像捕捉模块111、视觉线索模块1121和/或调用模块113的一个或多个方面可以与自动化助理客户端108分开实施,例如,通过一个或多个基于云的自动化助理组件119。例如,在图1中,还有可以检测图像数据中的视觉线索的基于云的视觉线索模块1122。
在各种实施方式中,可以使用硬件和软件的任何组合来实施的话音捕捉模块110可以与硬件交互,所述硬件诸如麦克风109或用于捕捉用户的话语的音频录音的其他压力传感器。出于各种目的,可以对这种音频录音执行各种类型的处理。在一些实施方式中,话音捕捉模块110可以包括数字信号处理(“DSP”)芯片140。在各种实施方式中,DSP芯片140可以包括例如DSP处理器142,该DSP处理器142被配置为对存储在存储器缓冲区144中的数据执行各种基于DSP的操作。在一些情况下,存储器缓冲区144可以被可替代地称为“倒摄存储器缓冲区”。存储器缓冲区144可以存储数据,该数据指示由麦克风109捕捉到的声音。这种数据可以采取各种形式,诸如原始音频数据(即,捕捉到的声音的录音)、由一个或多个STT组件从原始音频生成的文本(如下所述)、已经使用自然语言处理(“NLP”)进行注释的STT生成的文本和/或指示说话者的意图的数据。这种数据缓冲区144(在一些实施方式中,其可以是循环存储器缓冲区)可以被周期性地重写,例如,当它充满数据时和/或在其他间隔。
在一些实施方式中,可以使用硬件或软件的任何组合来实施的图像捕捉模块111可以配置为与相机107交互,以捕捉与视觉传感器107的视野对应的一个或多个图像特征(例如,数字照片)。
在各种实施方式中,视觉线索模块1121(和/或基于云的视觉线索模块1122)可以使用硬件或软件的任何组合来实施,并且可以配置为对图像捕捉模块111所提供的一个或多个图像帧进行分析,以检测在一个或多个图像帧中和/或一个或多个图像帧上捕捉到的一个或多个视觉线索。视觉线索模块1121可以采用各种技术来检测视觉线索。例如,视觉线索模块1121可以使用一个或多个人工智能(或机器学习)模型,这些模型被训练以生成输出,该输出指示图像帧中的检测到的用户提供的视觉线索。
话音捕捉模块110可以配置为捕捉用户的话音,例如,通过麦克风109,如前所述。附加地或可替代地,在一些实施方式中,话音捕捉模块110可以包括本地STT模块1171,该本地STT模块配置为将此捕捉到的音频转换为文本和/或其他表示或嵌入,例如,使用各种STT处理技术。附加地或可替代地,在一些实施方式中,话音捕捉模块110可以包括本地文本到话音(“TTS”)模块1161,该模块配置为将文本转换为计算机合成的话音,例如,使用一个或多个语音合成器。然而,在一些情况下,因为客户端设备106在计算资源(例如,处理器周期、存储器、电池等)方面可能会相对受限,所以本地STT模块1171可以配置为将有限数量的不同口语短语——特别是调用自动化助理120的短语——转换成文本(或其他形式,诸如低维数嵌入)。其他话音输入可以被发送给基于云的自动化助理组件119,该组件可以包括基于云的TTS模块1162和/或基于云的STT模块1172。
在各种实施方式中,调用模块113可以配置为确定是否调用自动化助理120,例如,基于由话音捕捉模块110和/或视觉线索模块1121(在一些实施方式中,其可以与图像捕捉模块111结合为单一模块)提供的输出。例如,调用模块113可以确定用户的话语是否符合调用短语,该调用短语应当发起与自动化助理120的人机对话会话。在一些实施方式中,调用模块113可以单独或与由视觉线索模块1121检测到的一个或多个视觉线索结合对指示用户的话语的数据进行分析,所述数据诸如音频录音或从音频录音中提取的特征的向量(例如,嵌入)。在一些实施方式中,当还检测到特定视觉线索时,调用模块113用来确定是否响应于有声话语而调用自动化助理120的阈值可能会降低。因此,即使当用户提供与适当的调用短语“OK assistant”不同但在语音上有点相似的有声话语时,尽管如此,当与视觉线索(例如,说话者挥手、说话者直视视觉传感器107,等等)一起检测到时,此话语仍然可以被视为适当的调用。
在一些实施方式中,一个或多个设备上的调用模型114可以被调用模块113用来确定话语和/或视觉线索是否符合调用。这种设备上的调用模型113可以被训练以检测热词/短语和/或手势的变化。例如,在一些实施方式中,设备上的调用模型114(例如,一个或多个神经网络)可以使用训练示例来进行训练,每个训练示例都包括来自用户的话语的音频录音(或提取到的特征向量)以及指示与话语同时捕捉到的一个或多个图像帧和/或检测到的视觉线索的数据。
调用模块113也包括命令制定模块146。命令制定模块146可以配置为与自动化助理120的其他方面协作实践本公开的选定方面,以制定针对自动化助理120的命令和/或确定捕捉到的声音的哪些部分应被解释为针对自动化助理120的用户命令,而不是周围对话。指示被认为是用户命令的捕捉到的声音的那些部分的数据可以由其他自动化助理组件(例如,116、117、122、135、124、126等)处理,这样用户的意图就可以被适当地识别和消解。
例如,在一些实施方式中,命令制定模块146可以配置为对存储在存储器缓冲区144中的事件前和事件后输入流进行分析,以制定用户的命令。除了其他方面,这还使自动化助理120能够响应作为事件前输入流存储的“倒摄”命令。例如,用户能够首先说出命令或语句,然后说出一个或多个热词以调用自动化助理120。自动化助理120可以在存储器缓冲区144中“回到过去”,以获得用户的先前话语,并且使用此来确定(并且消解)用户的意图。更一般地说,自动化助理120,例如,通过命令制定模块146,可以配置为确定用于触发自动化助理120的响应动作的事件前和事件后输入流的对应的适合性度量。基于这些相应的适合性度量,自动化助理120可以选择事件前输入流和/或事件后输入流中的全部或部分来进行附加处理。
TTS模块116,无论是客户端设备106本地的(1161)还是基于云的(1162),可以配置为将文本数据——例如,由自动化助理120制定的自然语言响应——转换为计算机生成的话音输出。基于云的TTS模块1162可以生成计算机生成的话音输出,该计算机生成的话音输出可以使用一个或多个扬声器来进行渲染,并且可能比本地TTS模块1161拥有更多任其支配的资源。
STT模块117,无论是客户端设备106本地的(1171)还是基于云的(1172),可以配置为将在麦克风109捕捉到的音频数据转换为文本(或转换为另一种形式,诸如嵌入)。这种转换的数据然后可以被提供给本地意图匹配器1351或基于云的意图匹配器1352。在一些实施方式中,STT模块117可以将话音的音频录音转换为一个或多个音位,然后将一个或多个音位转换为文本。附加地或可替代地,在一些实施方式中,STT模块117可以采用状态解码图。在一些实施方式中,STT模块117可以生成用户的话语的多个候选文本解释。在一些实施方式中,根据是否存在同时检测到的视觉线索,STT模块117可能会对特定的候选文本解释给予比其他更高的权重或偏差。
自动化助理120可以包括基于云的意图匹配器1352、上述基于云的TTS模块1162、上述基于云的STT模块1172和下面更详细地描述的其他组件。在一些实施方式中,自动化助理120的模块和/或模块中的一个或多个可以被省略、结合和/或在与自动化助理120分开的组件中实施。在一些实施方式中,为了保护隐私,自动化助理120的一个或多个组件,诸如自然语言处理器122、TTS模块116、STT模块117等,可以至少部分地在客户端设备106(例如,排除云)上实施,如1161、1171、1221等所示。
在一些实施方式中,自动化助理120响应于在与自动化助理120进行人机对话会话期间客户端设备106之一的用户所生成的各种输入生成响应内容。自动化助理120可以提供响应内容(例如,在与用户的客户端设备分开时通过一个或多个网络),以作为对话会话的部分呈现给用户。例如,自动化助理120可以响应于通过客户端设备106所提供的自由格式的自然语言输入生成响应内容。如本文中所使用的,自由格式的输入是由用户制定并且不限于被呈现以供用户选择的一组选项的输入。
如本文中所使用的,“对话会话”可以包括用户和自动化助理120(以及在某些情况下,其他人类参与者)之间一个或多个消息的逻辑上自包含的交换。自动化助理120可以基于各种信号区分与用户的多个对话会话,诸如会话之间的时间推移、会话之间用户场境(例如,位置、在排期会议之前/期间/之后等)的变化、检测用户与客户端设备之间的一个或多个中间交互而不是用户与自动化助理之间的对话(例如,用户切换应用达一段时间、用户离开随后返回独立的语音激活产品)、在会话之间锁定/休眠客户端设备、用于与自动化助理120的一个或多个实例交互的客户端设备的变化,等等。
意图匹配器135,无论是客户端设备106本地的(1351)还是基于云的(1352),可以配置为基于用户所提供的输入(例如,有声话语、视觉线索等)和/或基于诸如传感器信号、在线信号(例如,从web服务获得的数据)的其他信号等来确定用户的意图。在一些实施方式中,意图匹配器135可以包括自然语言处理器122和/或视觉线索模块112。例如,本地意图匹配器1351包括本地自然语言处理器1221,并且基于云的意图匹配器1352包括基于云的自然语言处理器1222。在图1中,本地视觉线索模块1121是与本地意图匹配器1351分开描绘的,但这并不意味着限制。
在各种实施方式中,本地模块1121、1161、1171、1221和/或1351可以类似于其基于云的等效物1122、1162、1172、1222和/或1352操作,除了基于云的等效物1122、1162、1172、1222和/或1352可以具有更多任其支配的资源。很明显,利用本地模块1121、1161、1171、1221和/或1351可以增强隐私和/或延迟(至少对自动化助理120的少量查询而言),而基于云的等效物1122、1162、1172、1222和/或1352可以增强响应性和/或健壮性。当在本文中使用附图标记112、116、117、122和/或135,而没有特别指涉本地版本或云版本时,应假设所描述的操作可以在任意位置执行。
自然语言处理器122,无论是客户端设备106本地的(1221)还是基于云的(1222),可以配置为处理由用户通过客户端设备106生成的自然语言输入,并且可以生成注释输出(例如,以文本形式),以供自动化助理120的一个或多个其他组件使用。例如,自然语言处理器122可以处理用户通过客户端设备106的一个或多个用户接口输入生成的自然语言自由形式输入。所生成的注释输出包括自然语言输入的一个或多个注释和自然语言输入的一个或多个(例如,全部)词项。
在一些实施方式中,自然语言处理器122配置为识别和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括形态模块,该形态模块可以将单独的词分成语素和/或注释语素,例如,用它们的类。自然语言处理器122还可以包括词性标注器,该词性标注器配置为用其语法角色来注释词项。例如,词性标注器可以用其词性(诸如“名词”、“动词”、“形容词”、“代词”等)来标注每个词项。同样,例如,在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括依存解析器(未示出),该依存解析器配置为确定自然语言输入中的词项之间的句法关系。例如,依存解析器可以确定哪些词项修饰其他词项、句子的主语和动词等(例如,解析树)——并且可以对这种依存进行注释。
在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括实体标注器(未示出),该实体标注器配置为注释一个或多个段中的实体指涉,诸如对人(包括例如文学角色、名人、公众人物等)、组织、位置(真实与虚构)等的指涉。在一些实施方式中,可以将关于实体的数据存储在一个或多个数据库中,诸如,在知识图(未示出)中。在一些实施方式中,知识图表可以包括代表已知实体(以及在一些情况下,实体属性)的节点以及将节点连接并代表实体之间的关系的边。例如,“banana(香蕉)”节点可以连接(例如,作为子)到“fruit(水果)”节点,该“fruit”节点进而可以连接(例如,作为子)到“produce(产品)”和/或“food(食品)”节点。作为另一个示例,名为“Hypothetical Café(假想咖啡馆)”的餐厅可以由一个节点代表,该节点也包括属性,诸如其地址、所提供的食物的类型、小时、联系信息等。在一些实施方式中,“Hypothetical Café”节点可以通过边(例如,代表子到父关系)连接到一个或多个其他节点,诸如“restaurant(餐厅)”节点、“business(商业)”节点、代表餐厅所在的城市和/或州的节点等。
自然语言处理器122的实体标注器可以以高粒度水平将对实体的指涉注释(例如,使得能够识别对实体类(诸如人)的所有指涉)和/或以低粒度水平将对实体的指涉注释(例如,使得能够识别对特定实体(诸如特定人)的所有指涉)。实体标注器可以依赖自然语言输入的内容来消解特定实体和/或可以可选地与知识图或其他实体数据库进行通信以消解特定实体。
在一些实施方式中,自然语言处理器122可以附加地和/或可替代地包括共指消解器(未示出),该共指消解器配置为基于一个或多个上下文线索将对相同实体的指涉分组或“聚集”。例如,共指消解器可以用于在自然语言输入“I liked Hypothetical Cafélasttime we ate there(上次我们在那里吃饭时我很喜欢假想咖啡馆)”中将词项“there(那里)”消解为“Hypothetical Café”。
在一些实施方式中,自然语言处理器122的一个或多个组件可以依赖来自自然语言处理器122的一个或多个其他组件的注释。例如,在一些实施方式中,所提出的实体标注器在注释对特定实体的所有提及时可以依赖来自共指消解器和/或依存解析器的注释。同样,例如,在一些实施方式中,共指消解器在将对相同实体的指涉聚集时可以依赖来自依存解析器的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用特定自然语言输入之外的相关先前输入和/或其他相关数据来确定一个或多个注释。
意图匹配器135可以使用各种技术来确定用户的意图,例如,基于来自自然语言处理器122的输出(该输出可以包括自然语言输入的注释和词项)和/或基于来自视觉线索模块(例如,1121和/或1122)的输出。在一些实施方式中,意图匹配器135可以访问一个或多个数据库(未示出),该数据库包括例如语法、视觉线索和响应动作(或更一般地,意图)之间的多个映射。在许多情况下,这些语法随着时间的过去可以被选择和/或学习,并且可以代表用户的最常见的意图。例如,一个语法“play<artist>(播放<艺术家>)”可以映射到意图,该意图调用响应动作,该响应动作使<artist>(<艺术家>)的音乐在用户所操作的客户端设备106上播放。另一个语法“[weather|forecast]today([天气|预报]今天)”可以匹配到用户查询,诸如“what’s the weather today(今天天气怎么样)”和“what’s theforecast for today?(今天天气预报怎么样?)”。语法可以包括可以遵循特定命令句法的命令,诸如以动词开头,该动词随后对在话语中的名词(或代词)起作用。在一些实施方式中,已知的命令句法可以被自动化助理120用来针对触发响应动作来确定口语话语的适合性。
除了或代替语法,在一些实施方式中,意图匹配器135可以采用一个或多个训练的机器学习模型,单独或与一个或多个语法和/或视觉线索结合。这些训练的机器学习模型也可以存储在一个或多个数据库中并且可以被训练以识别意图,例如,通过将指示用户的话语的数据和/或任何检测到的用户提供的视觉线索嵌入到维数减少的空间,然后确定哪些其他嵌入(以及因此,意图)是最接近的,例如,使用诸如欧几里得距离、余弦相似度等技术。
如在“play<artist>”示例语法中所看到的,一些语法有槽(例如,<artist>),该槽可以填充有槽值(或“参数”)。槽值可以以各种方式确定。通常,用户会前摄地(proactively)提供槽值。例如,对于语法“Order me a<topping>pizza(为我点一份<浇头>披萨)”,用户可能会说出短语“order me a sausage pizza(为我点一份香肠披萨)”,在这种情况下,槽<topping>(<浇头>)被自动填充。附加地或可替代地,如果用户调用语法,该语法包括要用槽值填充的槽,而没有用户前摄地提供槽值,则自动化助理120可以从用户索求那些槽值(例如,“what type of crust do you want on your pizza?(你的披萨想要哪种类型的饼皮?)”)。在一些实施方式中,基于由视觉线索模块1121-2检测到的视觉线索,槽可以填充有槽值。例如,用户可以说出一些话,如“Order me this many cat bowls(给我订这么多猫碗)”,同时对客户端设备106的视觉传感器107伸出三根手指。或者,用户可以说出一些话,如“Find me more movies like this(给我找些这样的电影)”,同时拿着特定电影的DVD盒。
在一些实施方式中,自动化助理120可以充当用户与一个或多个第三方计算服务130(或“第三方代理”或“代理”)之间的中介。这些第三方计算服务130可以是接收输入并提供响应输出的独立软件过程。一些第三方计算服务可以采取第三方应用的形式,该第三方应用可以或可以不在计算系统上运行,这些计算系统与操作例如基于云的自动化助理组件119的计算系统分开。可以由意图匹配器135识别的一种用户意图是接洽第三方计算服务130。例如,自动化助理120可以向服务提供对应用编程接口(“API”)的访问以用于控制智能设备。用户可以调用自动化助理120并且提供命令,诸如“I’d like to turn the heatingon.(我想打开暖气)”。意图匹配器135可以将该命令映射到语法,该语法触发自动化助理120与第三方服务接洽,从而使用户的暖气打开。第三方服务130可以向自动化助理120提供最小的需要填充的槽列表,以履行(或“消解”)打开暖气的命令。在该示例中,槽可以包括暖气要设置的温度以及暖气要打开的持续时间。自动化助理120可以生成并向用户提供(通过客户端设备106)自然语言输出,该自然语言输出征求槽的参数。
履行模块124可以配置为接收由意图匹配器135输出的预测/估计意图以及相关联的槽值(不管是用户前摄地提供的还是从用户征求的),并且履行(或“消解”)意图。在各种实施方式中,履行(或“消解”)用户的意图可能导致各种履行信息(也称为“响应”信息或“消解信息”)被生成/获得,例如,通过履行模块124。如下面将描述的,在一些实施方式中,履行信息可以被提供给自然语言发生器(一些图中的“NLG”)126,该自然语言发生器可以基于履行信息生成自然语言输出。虽然被描绘为基于云的自动化助理组件119的部分,但是在其他实施方式中,履行模块124可以被完全或部分配置在客户端设备106上,例如,作为自动化助理客户端108的部分。
履行(或“消解”)信息可以采取各种形式,因为意图可以以各种方式履行(或“消解”)。假设用户请求纯粹的信息,诸如“Where were the outdoor shots of‘The Shining’filmed?(‘闪灵’的户外镜头是在哪里拍摄的?)”。用户的意图可以被确定为搜索查询,例如,通过意图匹配器135。搜索查询的意图和内容可以被提供给履行模块124,如图1所示,该履行模块可以与一个或多个搜索模块150通信,该搜索模块配置为搜索文档和/或其他数据源(例如,知识图等)的语料库以获取响应信息。履行模块124可以将指示搜索查询的数据(例如,查询的文本、维数减小的嵌入等)提供给搜索模块150。搜索模块150可以提供响应信息,诸如GPS坐标,或其他更显式的信息,诸如“Timberline Lodge,Mt.Hood,Oregon.(俄勒冈州胡德山森林界线小屋)”。这种响应信息可以形成由履行模块124生成的履行信息的部分。
附加地或可替代地,履行模块124可以配置为接收例如来自意图匹配器135的用户意图和由用户提供或使用其他方式(例如,用户的GPS坐标、用户偏好等)确定的任何槽值,并且触发响应动作。例如,响应动作可以包括订购商品/服务、启动计时器、设置提醒、发起电话呼叫、播放媒体、发送消息等。在一些这样的实施方式中,履行信息可以包括与履行相关联的槽值、确认响应(在一些情况下,其可以从预定响应中选择)等。
自然语言发生器126可以配置为基于从各种源中获得的数据生成和/或选择自然语言输出(例如,设计为模拟人类话音的词/短语)。在一些实施方式中,自然语言发生器126可以配置为接收与意图的履行相关联的履行信息作为输入,并且基于履行信息生成自然语言输出。附加地或可替代地,自然语言发生器126可以接收来自诸如第三方应用的其他源的信息(例如,所需的槽),它可以用于为用户组成自然语言输出。虽然被描绘为基于云的自动化助理组件119的部分,但是在其他实施方式中,自然语言发生器126可以被完全或部分配置在客户端设备106上,例如,作为自动化助理客户端108的部分。
命令制定模块146可以制定命令,以使用事件前和/或事件后输入流通过自动化助理120触发响应动作。例如,在一些实施方式中,命令制定模块146可以针对通过自动化助理120触发响应动作来确定事件前和事件后输入流的适合性,并且选择一者或两者来进行附加处理。在一些实施方式中,每个流都可以作为输入应用于一个或多个机器学习模型,诸如各种类型的神经网络(例如,递归、前馈、卷积)、隐马尔科夫模型等。这些机器学习模型可以被训练以生成输出,该输出针对触发响应动作指示输入的适合性。
作为非限制性示例,机器学习模型可以使用音频数据的训练实例进行训练,这些音频数据被标记为是(或不是)旨在触发自动化助理采取动作的命令。如前所述,人在向自动化助理说话时往往会用不同的方式说话,例如,通过更为戏剧性地发音、说得更大声、说得更慢、使用更少的俚语,等等。在训练过程中,这些不同的话音特性可以被整合成这种模型,这样,一旦经过训练,模型就可以准确地预测后续音频数据是否构成旨在触发自动化助理120的相应动作的命令。在一些实施方式中,相似的(或甚至相同的)模型可以被自动化助理120用来确定用户在自动化助理120完全消解用户之前话语之后发出的后续话语是应被解释为命令还是被忽略。
在一些实施方式中,事件前输入流和事件后输入流均可以跨训练的机器学习模型被应用(按顺序或其他方式),例如,通过命令制定模块146。为此,在一些情况下,训练模型可以被本地存储在客户端设备106上。生成最大程度指示触发自动化助理120的响应动作的意图的输出的输入流可以被例如命令制定模块146选择以进行附加处理。这种附加处理可以产生用户的实际意图,用于履行意图的任何必要的参数(槽值),并且最终可能导致用户的意图例如用适当的响应动作被消解。响应动作可以包括可由代表用户的自动化助理120执行的任何动作,诸如提供所请求的信息、操作智能家电、设置提醒或日历条目、发送消息、拨打电话、控制多媒体播放、订购商品或服务等。
除了训练的机器学习模型之外的技术可以用于确定用于触发自动化助理120的响应动作的适合性度量。如前所述,命令往往遵循特定的命令句法,诸如以动作动词开头(例如,“turn the lights on(打开灯)”、“play some Beatles music(播放一些披头士音乐)”等)。可以分析常用的命令(或更一般地,查询)以学习前面提到的各种语法。附加地或可替代地,语法可以例如由实施第三方计算服务130的第三方预定义。这些语法中的模式,包括常见的命令句法,可以被确定并且用于针对触发自动化助理120的响应动作的适合性来分析特定语句。附加地或可替代地,输入流(例如,事件前和事件后)可以与已知语法进行比较,以确定相似度度量。与一个或多个语法具有最高相似度度量的输入流可以被选择为用于触发自动化助理120的响应动作的输入流。
图2示意性地描绘了根据各种实施方式的示例状态机,该状态机可以由配置有本公开的选定方面的自动化助理(例如,120)和/或助理设备(例如,106)实施。左上方是当不被用户接洽时自动化助理120可以驻留在其中的“不活跃监听状态”。在不活跃监听状态下,一个或多个客户端设备(106)的一个或多个麦克风可以被激活,并且指示由麦克风捕捉到的声音的数据可以至少被暂时存储在例如存储器缓冲区144中作为“事件前输入流”。
当处于不活跃监听状态时,自动化助理120可以监测一个或多个事件,这些事件将自动化助理从不活跃监听状态转变为活跃监听状态。例如,这些事件可以包括用户接口元件的操作(例如,按下并保持特定按钮),该操作在图2中被指涉为“U.I.致动事件”。这些事件可以附加地或可替代地包括特定场境,诸如启动特定应用和/或例如通过调用模块113和/或视觉线索模块112检测一个或多个热词或短语,诸如“OK,Assistant”,“Hey,Assistant”、“sleuth that”、“remind me(提醒我)”等。在图2中,当自动化助理120处于不活跃监听状态时检测到声音时,自动化助理可以将声音数据存储在缓冲区中,诸如存储器缓冲区144。如果声音停止并且没有检测到基于声音的事件(例如,热词或短语),则自动化助理120可以转变回到不活跃监听状态。然而,如果检测到基于声音的事件,则自动化助理120可以转变为活跃监听状态。
在检测到事件并转变为活跃监听状态之后,可以获得指示由一个或多个麦克风在检测到事件之前捕捉到的声音的第一数据,该第一数据如前所述可以被暂时存储在存储器缓冲区144中作为事件前输入流。同样,自动化助理120可以获得指示由麦克风在检测到事件之后捕捉到的声音的第二数据作为“事件后输入流”,如果捕捉到任何这样的数据。
当处于活跃监听状态时,自动化助理120可以处理事件前输入流和事件后输入流(如果可用)。例如,在一些实施方式中,自动化助理120可以针对触发响应动作来确定事件前和事件后输入流的对应的适合性度量。基于这些对应的适合性度量,自动化助理120可以选择事件前输入流或事件后输入流。
自动化助理120可以从所选的输入流中确定说话者的意图和/或与意图相关联的任何参数(或槽值),然后可以转变为“采取响应动作”状态。在一些实施方式中,在“采取响应动作”状态下,履行模块124可以采取各种动作来执行各种响应任务,并且在这样做时,可以如前所述生成履行信息。
在履行请求并生成履行信息之后,自动化助理120可以转变为“生成输出”状态,在该状态下,自然语言发生器126例如基于履行信息来生成要被提供给用户的自然语言输出。在一些实施方式中,自动化助理120可以有“持续监听”特征,其中,自动化助理120在响应用户的请求之后处于活跃监听状态。这允许用户发出后续命令,而不必重新调用自动化助理120。如果这种特征是可用的和/或活跃的,则自动化助理120可以转变回到活跃监听状态。否则,自动化助理120可以转变回到不活跃监听状态。
图3展示了根据本文中所描述的实施方式的用户101与自动化助理(图3中未示出)的实例之间的人机对话会话可以如何通过客户端计算设备306的麦克风和扬声器(被描绘为独立交互式扬声器,但这并不意味着限制)发生的一个示例。自动化助理120的一个或多个方面可以在计算设备306和/或与计算设备306进行网络通信的一个或多个计算设备上实施。在底部也描绘了可以是机载客户端设备306的存储器缓冲区144,例如,作为DSP的部分。数据是从左到右(如时间箭头所示)被暂时存储的,然后当存储器缓冲区144被填满时,从左开始重写。
如上所述,自动化助理120驻留在不活跃监听状态,直到检测到事件。而且,如上面进一步所述的,当在不活跃监听状态下检测到声音时,指示由麦克风捕捉到的声音的数据至少被暂时存储在存储器缓冲区144中。在图3中,用户101提供自然语言输入“I need somefiber.Remind me to pick up apples later.(我需要一些纤维。提醒我稍后去买苹果)”。在该示例中,假设短语“remind me to(提醒我)”是热短语,当被检测到时,该热短语构成事件,该事件将导致自动化助理120从不活跃监听状态转变为活跃监听状态。
当进行这种转变时,存储器缓冲区144的第一部分144A存储数据,该数据指示在事件前捕捉到的用户101的话语的部分(“I need some fiber(我需要一些纤维)”)。这种数据构成上述事件前输入流。缓冲区144的第二部分144B存储数据,该数据指示构成事件的话语的部分“remind me to...”。缓冲区144的第三部分144C存储数据,该数据指示在检测到事件之后捕捉到的声音“...pick up some apples later(...稍后去买一些苹果)”。这种数据构成上述事件后输入流。
事件前和事件后输入流可以被提供给命令制定模块146进行处理。命令制定模块146可以对这些各种流进行分析以确定触发自动化助理120的响应动作的适合性度量。在一些实施方式中,事件前和事件后输入流144A、144C可以与缓冲区144的第二部分144B结合被提供给命令制定模块146,例如,因为作为事件检测到的所说出的热词也可能影响哪个输入流(事件前或事件后)更适合触发来自自动化助理120的响应动作。
与只是声明的“I need some fiber”相比,短语“pick up some apples later”更像是命令。这可以由命令制定模块146以各种方式检测,诸如使用上面先前描述的一个或多个训练的机器学习模型或通过确定与“Ineed some fiber”相比,“pick up some apples(买一些苹果)”与已知命令句法更相似。在一些实施方式中,命令制定模块146也可以考虑所使用的热词(“remind me to...”),以选择一个输入流或另一个输入流。无论如何,命令制定模块146都可以选择“pick up some apples”,并且将其提供给自动化助理120的一个或多个其他组件。自动化助理120然后回答:“OK,I’ll remind you(好的,我会提醒你)”,并且设置提醒,该提醒可以设置为一些时间“later(稍后)”,诸如在一小时内、当用户101在下班回家的路上时、在完成排期的约会之后(从用户101的日历确定),等等。
在事件前输入流和事件后输入流之间并非总是非此即彼的选择。有时一个输入流可能更像命令,但是另一个输入流可以包含有用的上下文信息,甚至是触发自动化助理120的响应动作所需的上下文信息。现在参照图4,描绘了与图3所示的场景相似的场景。在这种情况下,用户101说出话语“I am out of bourbon.Remind me to pick some up when Igo to the store(我没有波旁威士忌了。我去商店的时候提醒我买一些)”。与前面的示例中的情况一样,触发将自动化助理120转变为活跃监听状态的热词是“remind me to...”。
然而,在这种情况下,事件前输入流144A和事件后输入流144C都没有包含足够的信息让自动化助理120采取响应动作(通过设置提醒)。如果只考虑事件后输入流144C,则不清楚“some(一些)”指的是什么,并且自动化助理120可能不得不从用户101征求消除歧义的输入。而且,与前面的示例一样,事件前输入流144A更像声明而不是命令。
然而,在一些实施方式中,命令制定模块146可以配置为执行诸如共指消解的各种类型的自然语言处理或争取自动化助理120的其他组件执行所述各种类型的自然语言处理,以确定事件后输入流中的“some”是指事件前输入流144A的“bourbon(波旁威士忌)”。因此,由命令制定模块146制定的命令可能类似于“Remind me to pick up bourbon when Igo to the store.(当我去商店的时候提醒我买波旁威士忌)”。自动化助理120然后可以设置提醒并且提供自然语言输出,诸如“OK,I’ll remind you”。
有时可能没有任何事件后输入流需要分析。例如,用户可以提供带有上下文信息的话语,然后只倒摄地调用自动化助理120以处理用户刚才说的话。图5描述了这种情况的示例,其中包括第一用户101A和第二用户101B,这些用户在配置有本公开的选定方面的客户端设备306所在的环境中参与对话。
第一用户101A问第二用户101B:“I wonder what parsimonious means?(我想知道吝啬是什么意思?)”。因为声音是由客户端设备的一个或多个麦克风(未示出)检测,所以自动化助理120可以转变为图2的“将声音数据存储在缓冲区中”状态,并且存储指示此话语的数据。接下来,第二用户101B说:“Sleuth that”,这在该示例中作为构成用于调用自动化助理120的事件的热词操作。在底部描绘了存储器缓冲区144的内容,具有存储在事件前输入流144A中指示“Iwonder what parsimonious means?”的数据、存储在存储器缓冲区144的第二部分144B中的热词,但是没有事件后输入流(因为两个用户都没有说别的)。
因此,命令制定模块146可以从事件前输入流144A和热词制定命令。在该示例中,热词本身就是命令,并且在它们指涉“that(它)”的程度上是不明确的。然而,诸如自然语言处理器122的组件可以将“that”共指消解为指涉来自事件前输入流144A的“parsimonious(吝啬)”。所制定的命令然后由自动化助理120进行大致的处理,该自动化助理120响应:“The definition of parsimonious is‘unwilling to spend money or use resources;stingy or frugal.(吝啬的定义是‘不愿意花钱或使用资源;小气或节俭’)”。
在一些实施方式中,与特定个人的身份相关的信号可以被例如命令制定模块146用来确定如何制定命令。例如,说话者辨识技术可以用于确定说话者的身份。如果说话者的身份被成功确定和/或确定说话者有足够的许可,则某些热词可以被激活,并且可以促进执行本文中所描述的技术。另一方面,如果说话者未被辨识,则在一些实施方式中,该未知的说话者可能不能够利用本文中所描述的至少一些技术。例如,未被辨识的说话者可能不能够如本文中所描述发出倒摄命令,而被辨识的(以及可能是经过授权的)说话者可能能够发出倒摄命令。具体地,在一些实施方式中,如果声音与注册用户的语音对应,则自动化助理120只可以从图2的不活跃监听状态转变为图2的“将声音数据存储在缓冲区中”状态。否则,声音可能根本没有被捕捉,或可以在确定说话者没有被辨识后立即从存储器中丢弃。
在一些实施方式中,说话者辨识也可以用于确定多个事件前输入流中的哪一个应被用来触发自动化助理的响应动作。图6和图7描绘了一个这样的示例。在图6中,第一和第二用户101A-B再次进行对话。在该示例中,假设第一用户101A向自动化助理120注册,因此自动化助理120将辨识第一用户101A的语音。进一步假设第二用户101B对自动化助理120是未知的并且不向自动化助理120注册。
在该示例中,第一用户101A说:“I don’t like cilantro(我不喜欢香菜)”。第二用户101B响应:“I heard it’s genetics.Sleuth that.(我听说它是遗传学。调查它)”。在该示例中,“Sleuth that”是触发自动化助理120从不活跃监听状态转变为活跃监听状态的热短语。这样,不是事件前输入流和事件后输入流是可用的,而是存在将被命令制定模块146处理的两个不同的事件前输入流144A和144B。与前面的示例一样,调用短语中的词“that”可能需要被共指消解。然而,在不考虑其他信号的情况下,不完全清楚在该示例中应当消解什么。
在一些实施方式中,在这种情况下,当在两个事件前输入流之间(或更一般地,在任何一对输入流之间,无论是事件前还是事件后,或甚至是一对两个事件后输入流)进行选择时,命令制定模块146可以考虑说话者身份。例如,因为第二用户101B是调用自动化助理120的用户,所以在一些实施方式中,与她的声音匹配的输入流可以优先于与第一用户101A的不同语音匹配的其他输入流被提升。因此,命令制定模块146可以制定命令(或更一般地,意图),诸如“information about genetics(关于遗传学的信息)”。作为回应,自动化助理120提供自然语言输出“Genetics is the study of heredity and the variation ofinherited characteristics.(遗传学是遗传和遗传特性变化的研究)”。这种输出仅针对第二用户101B的话语进行定制,而不是使用来自第一用户101A的话语的任何信息生成的。
图7描绘了轻微变化。在图7中,再次假设第一用户101A是自动化助理120可辨识为注册用户的说话者。现在,代替调用助理的第二用户101B,在第二用户101B发表其语句“Iheard it’s genetics.(我听说它是遗传学)”之后,第一用户101A调用助理。因为第一用户101A被注册/被辨识,所以命令制定模块146在制定命令时可以例如考虑事件前输入流144A和144B两者,或至少可以提升与第一用户101A的语音匹配的输入流144A。无论如何,结果命令(或更一般地,意图)可能类似于以下搜索信息寻求查询:“dislike of cilantro andgenetics(不喜欢香菜和遗传学)”。在执行这种搜索之后,自动化助理120可以响应:“According to<web site about cilantro>,recent studies suggest that aparticular pair of genes is responsible...()根据<关于香菜的网站>,最近的研究表明,这是由一对特定基因决定的...)”。
图8描绘了图6至图7的情况的变化,以展示了在检测到的事件不是热词(是诸如按下按钮)时,可以如何应用本文中所描述的技术。同样,在图8中,用户101A-B通过使用第二用户101B所携带的智能电话的形式的客户端设备806与自动化助理120交互。在该示例中,第一用户101A对第二用户101B说:“I don’t like cilantro.I think it’sgenetics(我不喜欢香菜。我想它是遗传学)”。第二用户101B然后按下并保持智能电话806上的按钮,以将自动化助理120调用到活跃监听模式,然后问自动化助理120:“search that(搜索它)”。
命令“search that”表面上是模糊的,因为它包括词“that”。然而,使用本文中所描述的技术,命令制定模块146能够对事件前输入流144A和事件后输入流144B进行分析(在这里,事件是按下按钮,如果缓冲区144中有任何存储器,这将不需要太多),以制定命令。在该示例中,要执行的命令是“search(搜索)”,它可能只是互联网搜索,或可以是一个或多个其他网络的搜索,诸如企业的一个或多个内部网。参数“that”可以例如被自然语言处理器122的一个或多个组件(例如,共指消解器)使用事件前输入流144B来消解,以包括词项,诸如“cilantro(香菜)”、“genetics(遗传学)”、“don’t like(不喜欢)”等。因此,在执行其搜索之后(例如,通过履行模块124),自动化助理120可以响应:“According to<web siteabout cilantro>,recent studies suggest that a particular pair of genes isresponsible...”
图9A和图9B展示了本文中所描述的技术如何与“持续监听”功能相互影响的一个示例,在该功能中,在用户想要发出后续查询而无需首先调用自动化助理120的情况下,自动化助理120在履行用户的请求后,会在一些时间间隔内保持处于活跃监听模式。在该示例中,用户101使用独立交互式扬声器的形式的客户端设备906与自动化助理120接洽,但是这并不意味着限制。
在图9A中,用户101用热词“Hey Assistant”调用自动化助理120,然后问:“Whodirected‘Black Hawk Down’?(谁执导了‘黑鹰坠落’?)”。自动化助理120执行例如知识图的搜索,以识别实体“Black Hawk Down(黑鹰坠落)”并且确定其导演是雷德利斯科特。自动化助理120然后回答:“Ridley Scott directed‘Black Hawk Down’in 2001(雷德利斯科特在2001年执导了‘黑鹰坠落’)”。用户101然后问“I prefer Oliver Stone.How old is he?(我更喜欢奥利弗斯通。他多大了?)”
此时,如果“持续监听”特征是活跃的,则自动化助理120可以尝试响应请求“Howold is he?(他多大了?)”,可以假设这不是通常调用自动化助理的热短语。即使用户101识别到新的实体,奥利弗斯通,该新的实体也可能不是自动化助理120依赖于其来执行诸如共指消解的动作的任何上下文对话数据结构的部分。相反,已经关于不同的实体“Black HawkDown”和雷德利斯科特执行了搜索,因此这些其他实体可以是上下文对话数据结构的部分。因此,对于问题“How old is he?”,自动化助理120可以将“he(他)”消解为雷德利斯科特,而不是奥利弗斯通(其显然是问题的目标),并且响应:“He is 81years old(他81岁)”,这对雷德利斯科特是正确的,但对奥利弗斯通不是。
在图9B中,场景几乎是相同的。然而,除了问不是意味着将自动化助理120转变为活跃监听状态的热短语的常见问题“How old is he?”,用户101用热词“Sleuth”和参数“his age(他的年龄)”重新调用自动化助理120。现在,除了作为现有上下文对话数据结构的部分持久化的实体之外,自动化助理120还能够访问事件前输入流,该事件前输入流可以存储用户101在热短语“Sleuth his age(调查他的年龄)”之前发出的最后一个语句。因此,命令制定模块146能够制定与用户101的真实意图完全一致的命令,并且自动化助理120回答:“He is 72years old(他72岁)”,奥利弗斯通的正确的年龄。
如前所述,本文中所描述的技术的许多方面可以在客户端设备(例如,106、306、906)、基于云的基础设施(例如,基于云的自动化助理组件119)或其任何组合上本地执行。在客户端设备上本地执行操作(诸如STT和自然语言处理)可以提供隐私性增加的好处,因为指示由一个或多个麦克风录制的声音的数据不太可能被传输给云,特别是如果命令可以在客户端设备上得到完全履行。然而,权衡是客户端设备通常至少相对于基于云的组件是资源受限的。因此,可能会出现这样的情况,即自动化助理120不能仅使用本地资源来响应每个请求,例如,如果请求是模糊的、难以理解的、“长尾”请求等。
在一些实施方式中,通过确定与事件前和/或事件后输入流的内容相关联的置信度度量,自动化助理120可以在用户隐私与检测并完全响应基于语音的请求的能力之间达成平衡。例如,这种置信度度量可以用于确定是否在将指示录制的声音的数据传输给一个或多个基于云的组件之前寻求用户的确认。
在一些实施方式中,针对触发自动化助理120的响应动作的输入流的适合性度量(其如上所述可以用于从多个输入流(例如,事件前、事件后等)选择和/或制定命令)也可以用作置信度度量,或与其他数据一起计算置信度度量。假设适合性度量是在从0到1的范围内进行的,其中0指示完全不适合触发自动化助理120,并且1指示用于触发自动化助理120的最高置信度。进一步假设,事件前输入流具有0.4的适合性度量,并且事件后输入流具有0.3的适合性度量。事件前输入流具有比事件后输入流大的适合性度量,因此更可能被命令制定模块146选择来进行附加处理。然而,0.4可能无法满足应被用来触发自动化助理120的置信度阈值。
这种情况可以以各种方式来解决。在一些实施方式中,自动化助理120可以发出自然语言输出,询问用户确认他或她是否打算让自动化助理120对话语采取动作。附加地或可替代地,在一些实施方式中,自动化助理120可以确定前输入流的内容是否可以只使用本地资源(例如,STT 1171、NLP 2221)来消解,或是否有必要利用任何基于云的资源(例如,STT1172、NLP 2222)。如果一切都可以在本地处理并且自动化助理120可以在没有基于云的资源的情况下履行请求,则它可能会简单地响应请求,而无需首先询问用户。另一方面,如果自动化助理120需要一个或多个基于云的资源来消解请求——意味着指示用户的话语的至少一些数据将被传输给云——则自动化助理120可以首先询问用户的许可,或可以完全不做出响应。
如前所述,在一些实施方式中,任何检测到的声音或至少被确定为语音的声音可以触发将自动化助理120转变为图2中所描述的“将声音数据存储在缓冲区中”状态。在这种状态下录制的大部分声音可能是环境声音,诸如两个或两个以上的个人之间的对话、正在打电话的个人或甚至背景噪音,诸如谈话电台或电视。在许多情况下,用户可以将其对话视为隐私的,并且不希望指示其的数据传输给云。
为了避免自动化助理120响应于这种环境噪音的过度触发,在一些实施方式中,置信度度量——无论是基于适合性度量还是其他指标——可以与各种阈值进行比较以确定采取什么动作,如果有的话。例如,如果置信度度量低于第一阈值,则可以不对存储在缓冲区144中的数据采取动作。如果置信度度量在第一阈值和较高的第二阈值之间,则自动化助理120可以在采取响应动作之前寻求用户的许可,例如,通过确认用户的请求。如果置信度度量在第二阈值和较高的第三阈值之间,如果只需要本地资源,则自动化助理120可以采取响应动作;如果需要基于云的资源,可以向用户征求确认。如果置信度度量高于第三阈值,则自动化助理120可以采取响应动作,而不需要进一步的输入并且不考虑是否需要本地或基于云的资源来履行请求。在其他实施方式中,子范围的其他数字可以用于确定自动化助理将如何响应。
可以考虑各种信号以确定上述置信度度量(因此,如何/是否进一步处理存储器缓冲区144中的内容)。如前所述,被命令制定模块146用来在多个输入流当中进行选择的针对触发响应动作的适合性度量可以单独或与其他信号结合使用。附加地或可替代地,在一些实施方式中,可以考虑使用说话者辨识的说话者的辨识。例如,助理设备的“所有者”的话语可能会比其他人被准予更大(或更小)的置信度度量——这可以防止电视/广播中的人的语音触发自动化助理120的动作。附加地或可替代地,助理设备的注册用户的话语可能会比未注册的用户被准予更大(或更小)的置信度度量(同样,可以防止电视/广播话语无意中触发自动化助理120)。在一些实施方式中,可以考虑说话者的语音的各种属性,诸如抑扬顿挫、清晰度等(例如,更清晰表达的语句可以接收比含糊语句更高的置信度度量)。
在确定置信度度量时可以被特别严重地加权的一个信号是调用自动化助理的事件本身。明确指示用户希望与自动化助理120接洽的用户动作可以接收比不太清楚地表示与自动化助理120接洽的意图的用户动作高的置信度度量。例如,如果用户按下特定按钮以调用自动化助理120,特别是如果按下并保持按钮一些时间间隔,则可能指示有强烈的意图与自动化助理120接洽,因此有相对高的置信度度量。或者,如果用户启动特定应用,并且该应用被配置,使得其启动自动触发调用自动化助理120,则在打开应用之后的某一时间间隔捕捉到的任何话语都可以产生相对高的置信度度量。
相似地,例如,如果所说的热词或短语被自动化助理120清楚地理解(例如,STT模块177将高置信度分配给解释),则它可以被认为是不模糊的。在这种情况下,可以确定相对高的置信度度量,并且事件前和/或事件后输入流的内容很有可能被用来制定触发自动化助理120的响应动作的命令。另一方面,含糊的词或短语可以接收低置信度度量,因此可能不太可能被自动化助理120作用于其上。
图10描绘了另一个示例场景,以展示了在检测到的事件——例如启动应用——是基于上下文的时如何可以应用本文中所描述的技术。在图10中,两个用户在车里。驾驶员问“What’s the address?(地址是什么?)”。乘客响应:“1234Main St.(1234主街)”。驾驶员然后启动地图绘制应用,例如,通过致动电话或车中某处的按钮或其他接口。在该示例中,启动地图绘制应用构成了自动调用自动化助理120的事件。因此,命令制定模块146能够从事件前输入流144B中获得指示地址的数据,并且自动化助理120能够倒摄地提供方向,例如,在车中的屏幕上或在用户之一携带的电话上。作为轻微变化,在一些实施方式中,每当话语被记录在缓冲区144中并且那些话语被发现与地址对应时,地址可以被存储在客户端设备的非易失性存储器中某一时间长度,例如,数小时、数天等。当用户启动地图绘制应用以触发调用自动化助理120时,那些地址可以作为建议被提供给自动化助理120,它继而可以作为建议目的地提供给用户。
图11是图示了根据本文中所公开的实施方式的示例方法1100的流程图。为了方便起见,流程图的操作是参考执行操作的系统进行描述的。该系统可以包括各种计算机系统的各种组件,诸如自动化助理120的一个或多个组件。此外,虽然方法1100的操作是按特定顺序示出的,但这并不意味着限制。一个或多个操作可以重新排序、省略或添加。
在框1102中,系统可以在计算设备(例如,客户端设备106、306)上至少部分地执行处于不活跃监听状态的自动化助理120。例如,并且如上所述,在许多情况下,自动化助理120可以在客户端设备106上部分地实施并且在云(例如,基于云的自动化助理组件119)上部分地实施。如框1104所示,当处于不活跃监听状态时,系统可以等待声音的检测。在一些实施方式中,为了保护电池,此时只能进行基本处理。例如,低功率DSP可以用于检测声音,或检测人类语音,并且在检测到时唤醒其他组件(例如,主CPU或GPU)。同样,如图11的框1108所示,例如,系统可以在等待声音的同时,也等待其他事件。
当处于不活跃监听状态时,在框1104中,如果检测到声音,则方法100继续执行框1106。在框1106中,系统可以至少暂时地存储指示由一个或多个麦克风捕捉到的声音的第一数据作为事件前输入流。例如,并且如前所述,这种数据可以存储在DSP存储器缓冲区144中,该缓冲区可以是或可以不是被周期性地重写(例如,当它填充有数据时)的循环缓冲区。
在框1108中,系统可以检测事件,该事件触发将自动化助理从不活跃监听状态转变为活跃监听状态。如果事件是所说的热词或短语,则在框1106中,可能已经捕捉到包括该热词/短语的音频数据,并且对该数据的分析可能已经检测到热词/短语,如图11所示,这导致了框1108。否则,用户动作,诸如特定按钮按下或按下并保持可以构成导致框1108的事件。
不论在框1110中如何检测到事件,系统可以获得指示由一个或多个麦克风在检测到事件之后捕捉到的声音的第二数据,例如,作为事件后输入流。在框1112中,系统可以针对触发自动化助理的响应动作来确定事件前和事件后输入流的相应的适合性度量。
在框1114中,系统可以基于相应的适合性度量来选择事件前输入流或事件后输入流以用于附加处理。附加地或可替代地,系统可以从两个输入流中选择内容来制定命令。例如,并且如前所述,事件前或事件后输入流之一的内容可以用于对来自事件前或事件后输入流中的另一个的歧义词项进行共指消解。在框1016中,系统可以基于所选的输入流使自动化助理120执行一个或多个响应动作。
图12是可以可选地用于执行本文中所描述的技术的一个或多个方面的示例计算设备1210的框图。在一些实施方式中,客户端计算设备、用户控制的资源引擎134和/或其他组件中的一个或多个可以包括示例计算设备1210的一个或多个组件。
计算设备1210通常包括至少一个处理器1214,该处理器通过总线子系统1220与多个外围设备通信。这些外围设备可以包括存储子系统1224(例如,包括存储器子系统1225和文件存储子系统1226)、用户接口输出设备1220、用户接口输入设备1222和网络接口子系统1216。输入设备和输出设备允许用户与计算设备1216交互。网络接口子系统1216为外部网络提供接口并且耦合至其他计算设备中的对应接口设备。
用户接口输入设备1222可以包括键盘、指向设备(诸如鼠标、轨迹球、触摸板或图形输入板)、扫描仪、并入显示器中的触摸屏、音频输入设备(诸如语音识别系统、麦克风和/或其他类型的输入设备)。一般而言,术语“输入设备”的使用旨在包括将信息输入计算设备1210中或输入通信网络上的所有可能类型的设备和方式。
用户接口输出设备1220可以包括显示子系统、打印机、传真机或非视觉显示器,诸如音频输出设备。显示子系统可以包括阴极射线管(CRT)、平板设备(诸如液晶显示器(LCD))、投影设备或用于创建可见图像的一些其他机制。显示子系统还可以提供非视觉显示器,诸如通过音频输出设备。一般而言,词项“输出设备”的使用旨在包括将来自计算设备1210的信息输出到用户或另一个机器或计算设备的所有可能类型的设备和方式。
存储子系统1224存储编程和数据结构,该结构提供本文中所描述的模块中的一些或全部的功能。例如,存储子系统1224可以包括执行图7的方法的所选方面并且实施图1中所描绘的各个组件的逻辑。
这些软件模块通常由处理器1214单独或与其他处理器结合执行。存储子系统1224中所使用的存储器1225可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)1230以及存储有固定指令的只读存储器(ROM)1232。文件存储子系统1226可以为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质墨盒。实施某些实施方式的功能的模块可以由文件存储子系统1224存储在存储子系统1224或可由处理器1214访问的其他机器中。
总线子系统1212提供用于使计算设备1210的各个组件和子系统都按照预期彼此通信的机制。虽然总线子系统1212被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算设备1210可以有各种类型,包括工作站、服务器、计算集群、刀片式服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络的性质多变,为了说明一些实施方式的目的,图12中所描绘的计算设备1210的描述仅仅作为具体示例。计算设备1210的许多其他配置可能具有比图12中所描绘的计算设备更多或更少的组件。
在本文中所讨论的某些实施方式可以收集或使用关于用户的个人信息(例如,从其他电子通信提取到的用户数据、关于用户的社交网络的信息、用户的位置、用户的时间、用户的生物特征信息以及用户的活动和人口统计信息、用户之间的关系等)的情况下,会向用户提供控制是否收集信息、是否存储个人信息、是否使用个人信息以及如何收集、存储和使用关于用户的信息的一个或多个机会。也就是说,本文中所讨论的系统和方法收集、存储和/或使用用户个人信息,特别是在接收到来自这样做的相关用户的显式授权时。
例如,向用户提供对程序或特征是否收集关于该特定用户或与程序或特征相关的其他用户的用户信息的控制。向个人信息将要被收集的每个用户都呈现一个或多个选项,即,允许控制与该用户相关的信息收集,以提供关于是否收集信息和关于信息的哪些部分要被收集的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。另外,在存储或使用某些数据之前,可以按照一种或多种方式处理这些数据,从而移除个人可识别信息。作为一个示例,可以对用户的身份进行处理,使得无法确定个人可识别信息。作为另一个示例,可以将用户的地理位置泛化到更大的区域,使得无法确定用户的具体位置。
虽然几种实施方式在本文中进行了描述和说明,但是用于执行功能和/或获得本文中所描述的一个或多个优点的各种其他装置和/或结构都可以被利用,并且每种这样的变化和/或修改都被认为是在本文中所描述的实施方式的范围内。更一般而言,本文中所描述的所有参数、大小、材料和配置都意味着是示例性的,并且实际参数、大小、材料和/或配置会取决于使用了一个/多个教导的一个或多个具体应用。本领域的技术人员将认识到或能够确定仅仅使用了常规实验、本文中所描述的具体实施方式的许多等同物。因此,要理解,前述实施方式仅以举例的方式呈现,并且在所附权利要求以及其等同物的范围内,可以实践除了具体描述和要求保护的实施方式之外的实施方式。本公开的实施方式涉及本文中所描述的各种单独特征、系统、物品、材料、套件和/或方法。另外,如果这些特征、系统、物品、材料、套件和/或方法并非相互矛盾,则两个或两个以上的这样的特征、系统、物品、材料、套件和/或方法的任何组合都包括在本公开的范围内。
Claims (20)
1.一种使用一个或多个处理器实施的方法,包括:
至少部分地在由用户操作的计算设备上执行处于不活跃监听状态的自动化助理;
在处于所述不活跃监听状态时,检测触发将所述自动化助理从所述不活跃监听状态转变为活跃监听状态的事件,其中,指示由一个或多个麦克风在所述事件之前捕捉到的声音的第一数据作为事件前输入流被暂时存储在由所述用户操作的所述计算设备的存储器缓冲区中;
获得指示由所述麦克风中的一个或多个在检测到所述事件之后捕捉到的声音的第二数据作为事件后输入流;
在处于所述活跃监听状态时,针对触发由所述自动化助理进行的响应动作来确定事件前和事件后输入流的相应的适合性度量;
基于所述相应的适合性度量,选择所述事件前输入流或所述事件后输入流;以及
基于所选择的输入流来使所述自动化助理执行一个或多个响应动作。
2.根据权利要求1所述的方法,进一步包括针对一个或多个热词监测由所述麦克风中的一个或多个捕捉到的声音,其中,触发将所述自动化助理从所述不活跃监听状态转变为所述活跃监听状态的所述事件包括在所述监测期间检测所述热词中的一个或多个。
3.根据权利要求2所述的方法,进一步包括对由所述一个或多个麦克风捕捉到的所述声音的至少一部分执行说话者辨识处理,以确定所述用户的身份,其中,将所述自动化助理从所述不活跃监听状态转变为所述活跃监听状态是进一步响应于确定所述用户的所述身份满足一个或多个准则而被触发的。
4.根据权利要求3所述的方法,其中,所述一个或多个准则包括所述用户的所述身份与所述计算设备的所有者匹配。
5.根据权利要求2所述的方法,其中,所述监测是使用与由所述用户操作的所述计算设备集成的数字信号处理器来执行的。
6.根据权利要求5所述的方法,其中,所述数字信号处理器与数字信号处理芯片集成,以及其中,所述存储器缓冲区包括所述数字信号处理芯片机载的数字信号处理缓冲区。
7.根据权利要求2所述的方法,其中,所述热词中的一个或多个是代词,并且所述方法进一步包括将所述代词消解为从所选择的输入流中提取的一个或多个令牌。
8.根据权利要求1所述的方法,其中,所述存储器缓冲区包括被新捕捉到的音频数据周期性重写的循环存储器缓冲区。
9.根据权利要求1所述的方法,其中,所述存储器缓冲区被配置为暂时存储在预定时间间隔内捕捉到的音频数据。
10.根据权利要求1所述的方法,其中,确定所述相应的适合性度量包括确定所述事件前和事件后输入流与一个或多个已知命令句法之间的相应的相似度度量。
11.根据权利要求10所述的方法,其中,确定所述相应的适合性度量包括在所述事件前和事件后输入流中的一个或两者中分析所述用户的语音的一个或多个特征。
12.根据权利要求11所述的方法,其中,所述分析包括将所述用户的语音的所述一个或多个特征与从包含针对自动化助理的命令的话语中观察到的一个或多个语音特征进行比较。
13.根据权利要求11所述的方法,其中,所述分析包括将所述用户的语音的所述一个或多个特征作为输入应用于机器学习模型上,其中,所述机器学习模型被训练以生成输出,所述输出指示所述输入是否指向自动化助理。
14.一种系统,所述系统包括一个或多个处理器和存储指令的存储器,响应于由所述一个或多个处理器执行所述指令,所述指令使所述一个或多个处理器执行以下操作:
至少部分地在由用户操作的计算设备上执行处于不活跃监听状态的自动化助理;
在处于所述不活跃监听状态时,检测触发将所述自动化助理从所述不活跃监听状态转变为活跃监听状态的事件,其中,指示由一个或多个麦克风在所述事件之前捕捉到的声音的第一数据作为事件前输入流被暂时存储在由所述用户操作的所述计算设备的存储器缓冲区中;
获得指示由所述麦克风中的一个或多个在检测到所述事件后捕捉到的声音的第二数据作为事件后输入流;
在处于所述活跃监听状态时,针对触发由所述自动化助理进行的响应动作来确定事件前和事件后输入流的相应的适合性度量;
基于所述相应的适合性度量,选择所述事件前输入流或所述事件后输入流;以及
基于所选择的输入流来使所述自动化助理执行一个或多个响应动作。
15.根据权利要求14所述的系统,进一步包括针对一个或多个热词监测由所述麦克风中的一个或多个捕捉到的声音,其中,触发将所述自动化助理从所述不活跃监听状态转变为所述活跃监听状态的所述事件包括在所述监测期间检测所述热词中的一个或多个。
16.根据权利要求15所述的系统,进一步包括对由所述一个或多个麦克风捕捉到的所述声音的至少一部分执行说话者辨识处理,以确定所述用户的身份,其中,将所述自动化助理从所述不活跃监听状态转变为所述活跃监听状态是进一步响应于确定所述用户的所述身份满足一个或多个准则而被触发的。
17.根据权利要求16所述的系统,其中,所述一个或多个条件包括所述用户的所述身份与所述计算设备的所有者匹配。
18.根据权利要求15所述的系统,其中,所述监测是使用与由所述用户操作的所述计算设备集成的数字信号处理器来执行的。
19.至少一个非暂时性计算机可读介质,所述非暂时性计算机可读介质包括指令,响应于由一个或多个处理器执行所述指令,所述指令使所述一个或多个处理器执行以下操作:
至少部分地在由用户操作的计算设备上执行处于不活跃监听状态的自动化助理;
在处于所述不活跃监听状态时,检测触发将所述自动化助理从所述不活跃监听状态转变为活跃监听状态的事件,其中,指示由一个或多个麦克风在所述事件之前捕捉到的声音的第一数据作为事件前输入流被暂时存储在由所述用户操作的所述计算设备的存储器缓冲区中;
获得指示由所述麦克风中的一个或多个在检测到所述事件之后捕捉到的声音的第二数据作为事件后输入流;
在处于所述活跃监听状态时,针对触发由所述自动化助理进行的响应动作来确定事件前和事件后输入流的相应的适合性度量;
基于所述相应的适合性度量,选择所述事件前输入流或所述事件后输入流;以及
基于所选择的输入流使所述自动化助理执行一个或多个响应动作。
20.根据权利要求19所述的至少一个非暂时性计算机可读介质,进一步包括针对一个或多个热词监测由所述麦克风中的一个或多个捕捉到的声音的指令,其中,触发将所述自动化助理从所述不活跃监听状态转变为所述活跃监听状态的所述事件包括在所述监测期间检测所述热词中的一个或多个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410651470.8A CN118675519A (zh) | 2019-02-20 | 2019-02-20 | 利用事件前和事件后输入流来接洽自动化助理 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/018750 WO2020171809A1 (en) | 2019-02-20 | 2019-02-20 | Utilizing pre-event and post-event input streams to engage an automated assistant |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410651470.8A Division CN118675519A (zh) | 2019-02-20 | 2019-02-20 | 利用事件前和事件后输入流来接洽自动化助理 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114041283A true CN114041283A (zh) | 2022-02-11 |
CN114041283B CN114041283B (zh) | 2024-06-07 |
Family
ID=65686058
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980091402.8A Active CN114041283B (zh) | 2019-02-20 | 2019-02-20 | 利用事件前和事件后输入流来接洽自动化助理 |
CN202410651470.8A Pending CN118675519A (zh) | 2019-02-20 | 2019-02-20 | 利用事件前和事件后输入流来接洽自动化助理 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410651470.8A Pending CN118675519A (zh) | 2019-02-20 | 2019-02-20 | 利用事件前和事件后输入流来接洽自动化助理 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11423885B2 (zh) |
EP (1) | EP3895161B1 (zh) |
CN (2) | CN114041283B (zh) |
WO (1) | WO2020171809A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475206B (zh) * | 2019-01-04 | 2023-04-11 | 优奈柯恩(北京)科技有限公司 | 用于唤醒可穿戴设备的方法及装置 |
KR102224994B1 (ko) * | 2019-05-21 | 2021-03-08 | 엘지전자 주식회사 | 음성 인식 방법 및 음성 인식 장치 |
US11437037B2 (en) * | 2020-07-20 | 2022-09-06 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
US11741444B2 (en) | 2020-07-20 | 2023-08-29 | Bank Of America Corporation | Virtual assistant host platform configured for interactive voice response simulation |
US20220051098A1 (en) * | 2020-08-17 | 2022-02-17 | Myka Llc | Voice activated, machine learning system for iterative and contemporaneous recipe preparation and recordation |
WO2022043675A2 (en) | 2020-08-24 | 2022-03-03 | Unlikely Artificial Intelligence Limited | A computer implemented method for the automated analysis or use of data |
EP3989218A1 (de) * | 2020-10-21 | 2022-04-27 | Deutsche Telekom AG | Bedienungsfreundlicher virtueller sprachassistent |
AU2021386249A1 (en) * | 2020-11-30 | 2023-06-22 | Liveperson, Inc. | Method and apparatus for automated inter-account interactions |
TWI765485B (zh) * | 2020-12-21 | 2022-05-21 | 矽統科技股份有限公司 | 外接式語音喚醒裝置及其控制方法 |
US20220366905A1 (en) * | 2021-05-17 | 2022-11-17 | Google Llc | Enabling natural conversations for an automated assistant |
US11557293B2 (en) | 2021-05-17 | 2023-01-17 | Google Llc | Contextual suppression of assistant command(s) |
US11977854B2 (en) | 2021-08-24 | 2024-05-07 | Unlikely Artificial Intelligence Limited | Computer implemented methods for the automated analysis or use of data, including use of a large language model |
US11989527B2 (en) | 2021-08-24 | 2024-05-21 | Unlikely Artificial Intelligence Limited | Computer implemented methods for the automated analysis or use of data, including use of a large language model |
US12067362B2 (en) | 2021-08-24 | 2024-08-20 | Unlikely Artificial Intelligence Limited | Computer implemented methods for the automated analysis or use of data, including use of a large language model |
US12073180B2 (en) | 2021-08-24 | 2024-08-27 | Unlikely Artificial Intelligence Limited | Computer implemented methods for the automated analysis or use of data, including use of a large language model |
US11989507B2 (en) | 2021-08-24 | 2024-05-21 | Unlikely Artificial Intelligence Limited | Computer implemented methods for the automated analysis or use of data, including use of a large language model |
US11948580B2 (en) * | 2021-08-30 | 2024-04-02 | Google Llc | Collaborative ranking of interpretations of spoken utterances |
US20230178083A1 (en) * | 2021-12-03 | 2023-06-08 | Google Llc | Automatically adapting audio data based assistant processing |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015005927A1 (en) * | 2013-07-11 | 2015-01-15 | Intel Corporation | Device wake and speaker verification using the same audio input |
US20150074524A1 (en) * | 2013-09-10 | 2015-03-12 | Lenovo (Singapore) Pte. Ltd. | Management of virtual assistant action items |
JP2016071867A (ja) * | 2014-09-30 | 2016-05-09 | パナソニックIpマネジメント株式会社 | 接客モニタリングシステム及び接客モニタリング方法 |
CN107111516A (zh) * | 2015-01-09 | 2017-08-29 | 微软技术许可有限责任公司 | 数字个人助理内的无头任务完成 |
US20170300831A1 (en) * | 2016-04-18 | 2017-10-19 | Google Inc. | Automated assistant invocation of appropriate agent |
US20170330429A1 (en) * | 2016-05-10 | 2017-11-16 | Google Inc. | LED Design Language for Visual Affordance of Voice User Interfaces |
US20180068656A1 (en) * | 2016-09-02 | 2018-03-08 | Disney Enterprises, Inc. | Classifying Segments of Speech Based on Acoustic Features and Context |
WO2018104834A1 (en) * | 2016-12-07 | 2018-06-14 | Yogesh Chunilal Rathod | Real-time, ephemeral, single mode, group & auto taking visual media, stories, auto status, following feed types, mass actions, suggested activities, ar media & platform |
US20180293221A1 (en) * | 2017-02-14 | 2018-10-11 | Microsoft Technology Licensing, Llc | Speech parsing with intelligent assistant |
WO2019022797A1 (en) * | 2017-07-25 | 2019-01-31 | Google Llc | STATEMENT CLASSIFIER |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898065B2 (en) | 2011-01-07 | 2014-11-25 | Nuance Communications, Inc. | Configurable speech recognition system using multiple recognizers |
DE112014000709B4 (de) | 2013-02-07 | 2021-12-30 | Apple Inc. | Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten |
US20140337030A1 (en) | 2013-05-07 | 2014-11-13 | Qualcomm Incorporated | Adaptive audio frame processing for keyword detection |
US9697831B2 (en) * | 2013-06-26 | 2017-07-04 | Cirrus Logic, Inc. | Speech recognition |
US10789041B2 (en) * | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US10192546B1 (en) | 2015-03-30 | 2019-01-29 | Amazon Technologies, Inc. | Pre-wakeword speech processing |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
KR101761631B1 (ko) | 2015-12-29 | 2017-07-26 | 엘지전자 주식회사 | 이동단말기 및 그 제어방법 |
US10217453B2 (en) * | 2016-10-14 | 2019-02-26 | Soundhound, Inc. | Virtual assistant configured by selection of wake-up phrase |
US11003417B2 (en) | 2016-12-15 | 2021-05-11 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus with activation word based on operating environment of the apparatus |
US10482904B1 (en) * | 2017-08-15 | 2019-11-19 | Amazon Technologies, Inc. | Context driven device arbitration |
EP3695419A1 (en) * | 2017-10-10 | 2020-08-19 | Sanofi | Medical query answering apparatus |
US10762903B1 (en) * | 2017-11-07 | 2020-09-01 | Amazon Technologies, Inc. | Conversational recovery for voice user interface |
CN111357048B (zh) * | 2017-12-31 | 2024-10-08 | 美的集团股份有限公司 | 用于控制家庭助手装置的方法和系统 |
JPWO2020003851A1 (ja) * | 2018-06-27 | 2021-08-02 | ソニーグループ株式会社 | 音声処理装置、音声処理方法及び記録媒体 |
-
2019
- 2019-02-20 EP EP19709271.1A patent/EP3895161B1/en active Active
- 2019-02-20 US US16/349,871 patent/US11423885B2/en active Active
- 2019-02-20 WO PCT/US2019/018750 patent/WO2020171809A1/en unknown
- 2019-02-20 CN CN201980091402.8A patent/CN114041283B/zh active Active
- 2019-02-20 CN CN202410651470.8A patent/CN118675519A/zh active Pending
-
2022
- 2022-07-07 US US17/859,068 patent/US20220335930A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015005927A1 (en) * | 2013-07-11 | 2015-01-15 | Intel Corporation | Device wake and speaker verification using the same audio input |
US20150074524A1 (en) * | 2013-09-10 | 2015-03-12 | Lenovo (Singapore) Pte. Ltd. | Management of virtual assistant action items |
JP2016071867A (ja) * | 2014-09-30 | 2016-05-09 | パナソニックIpマネジメント株式会社 | 接客モニタリングシステム及び接客モニタリング方法 |
CN107111516A (zh) * | 2015-01-09 | 2017-08-29 | 微软技术许可有限责任公司 | 数字个人助理内的无头任务完成 |
US20170300831A1 (en) * | 2016-04-18 | 2017-10-19 | Google Inc. | Automated assistant invocation of appropriate agent |
US20170330429A1 (en) * | 2016-05-10 | 2017-11-16 | Google Inc. | LED Design Language for Visual Affordance of Voice User Interfaces |
US20180068656A1 (en) * | 2016-09-02 | 2018-03-08 | Disney Enterprises, Inc. | Classifying Segments of Speech Based on Acoustic Features and Context |
WO2018104834A1 (en) * | 2016-12-07 | 2018-06-14 | Yogesh Chunilal Rathod | Real-time, ephemeral, single mode, group & auto taking visual media, stories, auto status, following feed types, mass actions, suggested activities, ar media & platform |
US20180293221A1 (en) * | 2017-02-14 | 2018-10-11 | Microsoft Technology Licensing, Llc | Speech parsing with intelligent assistant |
WO2019022797A1 (en) * | 2017-07-25 | 2019-01-31 | Google Llc | STATEMENT CLASSIFIER |
Also Published As
Publication number | Publication date |
---|---|
WO2020171809A1 (en) | 2020-08-27 |
CN114041283B (zh) | 2024-06-07 |
EP3895161B1 (en) | 2023-07-26 |
EP3895161A1 (en) | 2021-10-20 |
CN118675519A (zh) | 2024-09-20 |
US20220335930A1 (en) | 2022-10-20 |
US11423885B2 (en) | 2022-08-23 |
US20210065693A1 (en) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114041283B (zh) | 利用事件前和事件后输入流来接洽自动化助理 | |
JP7418526B2 (ja) | 自動アシスタントを起動させるための動的および/またはコンテキスト固有のホットワード | |
JP7354301B2 (ja) | 自動アシスタントによって応答アクションをトリガするためのホットコマンドの検出および/または登録 | |
US11810557B2 (en) | Dynamic and/or context-specific hot words to invoke automated assistant | |
US20240055003A1 (en) | Automated assistant interaction prediction using fusion of visual and audio input | |
US12094454B2 (en) | Multimodal intent understanding for automated assistant |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |