CN115176309A - 语音处理系统 - Google Patents
语音处理系统 Download PDFInfo
- Publication number
- CN115176309A CN115176309A CN202180012894.4A CN202180012894A CN115176309A CN 115176309 A CN115176309 A CN 115176309A CN 202180012894 A CN202180012894 A CN 202180012894A CN 115176309 A CN115176309 A CN 115176309A
- Authority
- CN
- China
- Prior art keywords
- data
- processing system
- component
- speech
- speech processing
- 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
- 238000012545 processing Methods 0.000 title abstract description 430
- 238000000034 method Methods 0.000 claims abstract description 142
- 230000004044 response Effects 0.000 claims abstract description 86
- 230000008569 process Effects 0.000 claims abstract description 78
- 230000015572 biosynthetic process Effects 0.000 description 41
- 238000003786 synthesis reaction Methods 0.000 description 41
- 230000006870 function Effects 0.000 description 35
- 238000003860 storage Methods 0.000 description 32
- 230000009471 action Effects 0.000 description 19
- 238000001514 detection method Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000012549 training Methods 0.000 description 11
- 238000013138 pruning Methods 0.000 description 9
- 238000005096 rolling process Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 239000011435 rock Substances 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000003607 modifier Substances 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000003595 spectral effect Effects 0.000 description 4
- 239000004575 stone Substances 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 235000013550 pizza Nutrition 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- MQJKPEGWNLWLTK-UHFFFAOYSA-N Dapsone Chemical compound C1=CC(N)=CC=C1S(=O)(=O)C1=CC=C(N)C=C1 MQJKPEGWNLWLTK-UHFFFAOYSA-N 0.000 description 1
- 244000035744 Hura crepitans Species 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000037237 body shape Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000002618 waking 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/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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- 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
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
-
- 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)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
一种系统可以包括第一和第二语音处理系统。所述第一语音处理系统可以处理接收到的音频数据并确定其中表示的命令与第二语音处理系统相关联。所述第一语音处理系统可以向所述第二语音处理系统发送命令数据并接收响应数据作为回应。然后,所述第一语音处理系统可以处理所述响应数据以确定包括所述第二语音处理系统的指示的第二响应数据,并产生对应于所述第二响应数据的音频输出。
Description
相关申请数据的交叉引用
本申请要求Timothy Whalin等人于2020年2月4日提交的并且标题为“语音处理系统(SPEECH-PROCESSING SYSTEM)”的第16/781,773号美国专利申请的优先权权益。
背景技术
语音处理系统允许用户使用他们的语音控制计算装置。这些系统基于表示用户语音的所接收音频数据的属性来识别用户所说的词。自动语音辨识(ASR)处理与自然语言理解(NLU)处理相结合,允许语音处理系统确定与语音相对应的文本并理解文本中表达的意图。ASR处理和NLU处理可以与文本转语音(TTS)处理相结合,TTS处理可以用于生成响应于人类语音的合成语音。语音处理可以由计算机、手持装置、智能扬声器以及其他装置使用,以改善人机交互。
附图说明
为了更完全地理解本公开,现在结合附图来参考以下描述。
图1示出根据本公开的实施方案的被配置为使用语音处理系统来处理用户输入的系统。
图2A示出根据本公开的实施方案的被配置用于语音处理的用户装置和远程系统。
图2B示出根据本公开的实施方案的被配置用于语音处理的用户装置。
图3A和图3B示出根据本公开的实施方案的语音处理系统。
图4A、图4B和图4C示出根据本公开的实施方案的使用语音处理系统的方法。
图5示出根据本公开的实施方案的自然语言处理系统。
图6示出根据本公开的实施方案的自然语言处理系统的组件。
图7示出根据本公开的实施方案的文本转语音处理组件。
图8示出根据本公开的实施方案的用户辨识组件。
图9示出根据本公开的实施方案的用户装置的示例组件。
图10示出根据本公开的实施方案的远程系统的示例组件。
图11示出用于语音处理系统的计算机网络的示例。
具体实施方式
自动语音辨识(ASR)是计算机科学、人工智能和语言学领域,其涉及将表示语音的音频数据转换为表示所述语音的文本数据。自然语言理解(NLU)是计算机科学、人工智能和语言学领域,其涉及使得计算机能够从文本数据中得出含义。文本转语音(TTS)是计算机科学、人工智能和语言学领域,其涉及使得计算机能够将文本的表示转换成表示合成语音的音频。ASR、NLU和/或TTS可以一起用作自然理解系统的一部分,自然理解系统也可以称为语音处理系统。
话音控制的用户装置和/或远程系统可以被配置为接收说出的用户输入,并使用ASR检测用户输入中的唤醒词和/或其他文本;使用NLU确定用户输入中的命令;并且使用TTS和/或其他用户界面提供对命令的响应。用户因此可以通过话音来控制话音控制的用户装置、另一个用户装置和/或远程系统。在一些实施方案中,响应于用户装置检测到唤醒词,用户装置可以将表示用户输入的音频数据发送到远程系统以进行进一步处理。远程系统可以进一步处理音频数据以验证其包括唤醒词的表示和/或确定命令和/或响应。然后,用户装置可以从远程装置接收与响应相关的输出音频、视频或其他数据和/或执行与响应相关联的动作所需的其他数据。
话音控制的用户装置和/或远程系统可以使用两个或更多个语音处理系统来处理用户输入,每个语音处理系统可以具有自身的ASR组件、NLU组件和/或TTS组件。每个语音处理系统可以与命令和/或对所述语音处理系统独有的那些命令的响应相关联。例如,用户可能偏好第一语音处理系统进行在线购物,而可能偏好第二语音处理系统进行导航。因此,用户可能希望将在线购物命令引导至第一语音处理系统并且希望将导航命令引导至第二语音处理系统。第一语音处理系统可能无法完成与第二语音处理系统相关的一些或所有命令,反之亦然。然而,两个语音处理系统都可能能够执行其他命令。
每个语音处理系统除了与其自身的(可能是唯一的)命令解释相关联之外,还可以提供其自身的(可能是唯一的)响应,和/或以其他方式被认为具有特定的“特色”。例如,这种特色可能包括特定的(尽管是人工的)说话声和/或风格,例如“新闻播音员”或“名人”。语音处理系统可以创建合成语音(例如使用TTS组件),所述合成语音包括表现特色的各方面的语音表示。因此,用户可以将某个语音处理系统与某个特色相关联,并因此通过辨识所述特色将合成语音辨识为与特定语音处理系统相关联。
每个语音处理系统还可以与不同的唤醒词相关联。例如,第一语音处理系统可以与唤醒词“Alexa”相关联。用户装置和/或远程系统可以被配置为在检测到其相关联的唤醒词时使用特定的语音处理系统。用户装置和/或远程系统可以辨识多于一个唤醒词;不同的唤醒词可以与不同的语音处理系统相关联。例如,用户装置和/或远程系统可以被配置为响应于来自用户的包括“SmartCar,摇下我的车窗”的语音而执行动作,例如降低汽车的车窗。在此示例中以及在整个本公开中,唤醒词“SmartCar”用于表示对应于与汽车相关联的第二语音处理系统的唤醒词;此第二语音处理系统可能能够执行第一语音处理系统无法执行的汽车特定动作,例如升高/降低车窗、调整汽车座椅等。然而,本公开不仅限于此唤醒词(或仅“Alexa”唤醒词),也不仅限于汽车。
然而,在一些情况下,用户输入包括与第一语音处理系统相关联的第一唤醒词,但是用户输入中表示的命令可能只能由第二语音处理系统执行和/或可能更佳地由第二语音处理系统执行。然而,用户可能希望执行所述命令,即使它最初是针对第一语音处理系统的。例如,如果远程系统包括十个不同的语音处理系统,每个语音处理系统有自身独特的唤醒词和命令,则系统可能更容易确定特定命令的最佳唤醒词,而不是总是依靠用户记住哪个唤醒词与哪些命令相关联。
第一语音处理系统因此可以识别出第二语音处理系统与命令相关联并且因此使得使用第二语音处理系统对用户输入进行进一步处理。第一和/或第二语音处理系统可以使合成语音的输出通知用户处理中的这种变化,使得用户不会对这种变化感到惊讶或困惑。例如,如果用户说,“Alexa,摇下车窗”,则第一语音处理系统可使得输出表示以下短语的合成语音:“我无法帮您解决这个问题,所以现在由SmartCar[例如,不同的人工特色的名称]来处理”。然后,SmartCar人工特色背后的第二语音处理系统可以确定适当的响应。
然而,用户有时可能不希望听到处理变化的这种指示和/或有时可能不希望听到对应于第二语音处理系统的特色的合成语音。例如,这可能会导致交互延迟,并且在一些情况下,由于各种原因,用户可能更喜欢第一语音处理系统的特色。因此,在至少一些情况下,无论最终哪个语音处理系统处理语音,使响应听起来像是来自一种特色可能更优选。用户可能类似地偏好简洁的响应并且可能不希望听到包括第二语音处理系统的属性的响应。
因此,在一些情况下,第一语音处理系统可以首先确定它不能处理命令和/或执行相关联的动作和/或第二语音处理系统能够更好地处理命令和/或执行相关联的动作。然后,第一语音处理系统可以识别第二语音处理系统,与其通信以使其执行命令,并输出与第一语音处理系统的特色相对应的音频。在一些实施方案中,第一语音处理系统还可以输出第二语音处理系统的指示。所述指示可以是例如与第二语音处理系统相关联的名称、声音和/或语音风格。在其他实施方案中,第一语音处理系统可以将音频数据的进一步处理移交给第二语音处理系统。
图1示出根据本公开的被配置为确定对以音频数据表示的命令的响应的系统。虽然本公开的附图和讨论按特定次序说明了系统的某些操作步骤,但在不脱离本公开的意图的情况下,所描述的步骤可按不同的次序执行(以及移除或添加某些步骤)。在各种实施方案中,例如智能扬声器、车辆或其他此类话音控制的装置的用户装置110使用网络199与远程系统120通信。尽管图1将智能扬声器示为用户装置110,但本公开不限于此,并且本文描述的系统和方法可以使用例如智能手机、平板计算机、个人计算机或其他装置的其他用户装置110来实现。
远程系统120接收(130)表示命令的输入数据。例如,用户装置110可以确定输入音频11包括唤醒词的表示并且经由网络199将对应输入音频数据211发送到远程系统120。为了完成此确定,用户装置110可以使用一个或多个麦克风捕获音频并创建对应的音频数据,其可以是音频幅度的时域数字表示并且可以被表示为一系列样本。用户装置110可以处理此时域音频数据以创建处理后的音频数据;例如,此处理可以包括执行例如快速傅里叶变换(FFT)的一个或多个傅里叶变换,和/或将音频数据的样本分组为音频数据帧。用户装置110可以包括唤醒词检测器220(如下文关于图2A和图2B更详细地解释),所述唤醒词检测器处理音频数据的帧以确定其中是否表示唤醒词。输入音频数据211可以包括唤醒词的表示和/或除了包括命令之外的其他词的表示。用户装置110可以向远程系统120发送附加数据,例如检测到唤醒词的时间和/或检测到哪个唤醒词的指示。
远程系统120可以使用第一自然语言系统确定(132)命令对应于第二自然语言系统。第一自然语言系统可以包括(如参考图2A和图2B更详细解释地)ASR组件250,所述ASR组件通过处理输入音频数据211来确定表示命令的对应文本数据。第一自然语言系统还可包括NLU组件260,所述NLU组件处理文本数据以确定命令的域、命令的意图和/或命令中表示的一个或多个槽中的一个或多个。然后,自然语言系统识别组件可以处理NLU组件260的输出以确定多个自然语言系统中的哪个对应于(或最接近地对应于)命令。自然语言系统识别可以包括例如自然语言系统和每个自然语言系统的相关域和/或意图的列表,并且因此可以通过将由NLU组件260确定的域和/或意图与列表中的条目进行匹配来识别自然语言系统。
然后,第一自然语言系统可以将对应于命令的命令数据发送(134)到第二自然语言系统。命令数据可以是输入数据、确定的文本数据和/或由NLU组件260确定的NLU数据。然后,第二自然语言系统可以基于命令数据确定表示对命令的响应的结果数据。结果数据可以是表示合成语音的音频数据;如上所述,这种合成语音可能表现出第二自然语言系统的特色。结果数据可以替代地或另外地包括文本数据、视频数据和/或图像数据。
在第二自然语言系统发送结果数据之后,第一自然语言系统接收(136)所述结果数据。结果数据可以包括第二自然语言系统的指示;此指示可以是第二自然语言系统的名称和/或对应于第二自然语言系统的特色的文本和/或音频数据。然后,第一自然语言系统可以使用结果数据确定(138)输出数据;输出数据212可以包括第一自然语言系统的指示。此指示可以类似地是第一自然语言系统的名称和/或对应于第一自然语言系统的特色的文本和/或音频数据。
如本文更详细地描述,第一自然语言系统还可以在某些情况期间确定(140)第二自然语言系统的属性,所述属性可以包括第二语音处理系统的指示的输出。在其他情况下,第一自然语言系统还可以将音频数据的处理移交给第二自然语言系统。这里使用的术语“移交”是指第一自然语言系统向第二自然语言系统发送对应信号的过程;然后第一自然语言系统停止处理音频数据,而第二自然语言系统开始处理音频数据。
然后,第一语音处理系统可以引起(142)对应于输出数据的音频的输出12。因此,虽然命令最终由第二自然语言系统执行,但对用户的响应反映了第一自然语言系统的特色。
系统可以使用如图2A和/或图2B中描述的各种组件来操作。各种组件可以位于相同或不同的物理装置上。例如,如图2A所示,一些组件可以设置在用户装置110上,而其他组件可以设置在远程系统120上;然而,如图2B所示,组件可以设置在用户装置110上。各种组件之间的通信可直接(经由例如总线连接)进行或者跨越网络199进行。如下文更详细地描述,用户装置110可以包括用于检测一个或多个唤醒词的唤醒词检测器220、用于检测话语的话音活动检测器222,和/或用于提供输出和/或改变用户装置110的状态(例如,发光)的一个或多个应用程序224。如图所示,唤醒词检测器220设置在用户装置110上,而另外的语音处理组件(例如NLU组件260)设置在远程系统120上。然而,本公开不仅限于这种组件布置,并且任何其他的组件布置都在本公开的实施方案内。例如,一些或所有语音处理可以由用户装置110执行,并且因此用户装置110可以不向远程系统120发送任何音频数据211。
音频捕获组件(例如用户装置110的麦克风或麦克风阵列)捕获输入音频11并创建对应的输入音频数据211。用户装置110的唤醒词检测器220可以处理输入音频数据211以确定其中是否表示语音。用户装置110可使用各种技术来确定输入音频数据211是否包括语音。在一些示例中,用户装置110的话音活动检测器222可以应用话音活动检测(VAD)技术。此类VAD技术可以基于输入音频数据211的各种定量方面来确定音频数据中是否存在语音,所述定量方面例如音频数据的一个或多个帧之间的频谱斜率;一个或多个频谱带中的音频数据的能级;一个或多个频谱带中的音频数据的信噪比;或其他定量方面。在其他示例中,用户装置110可包括被配置为将语音与背景噪音区分开的分类器。可通过例如线性分类器、支持向量机和决策树的技术来实现分类器。在另外的其他示例中,用户装置用户装置110可应用隐马尔可夫模型(HMM)或高斯混合模型(GMM)技术,以将音频数据与存储装置中的一个或多个声学模型进行比较,所述声学模型可包括对应于语音、噪音(例如,环境噪音或背景噪音)或静音的模型。还可使用另外的其他技术来确定音频数据中是否存在语音。
唤醒词检测器220可以确定输入音频数据211包含唤醒词的表示(如下面更详细地描述);此后,用户装置110可以将输入音频数据211发送到系统120。如上所述,示例唤醒词是“Alexa”或“SmartCar”。当输入检测器检测到输入—例如按键按下、按钮按下或触摸屏触摸时,用户装置110可以替代地或另外地向系统120发送音频数据。一个示例按钮是“一键通”按钮。在任一情况下,用户装置110将输入音频数据211发送到服务器120。
唤醒词检测器220可将音频数据与存储的模型或数据进行比较以检测唤醒词。一种用于唤醒词检测的方法应用通用大词汇量连续语音辨识(LVCSR)系统来解码音频信号,其中在得到的网格或混淆网络中执行唤醒词搜索。LVCSR解码可能要求相对高的计算资源。另一种用于唤醒词检测的方法分别为每个唤醒词和非唤醒词语音信号构建HMM。非唤醒词语音包括其他口头词、背景噪音等。可构建一个或多个HMM来对非唤醒词语音特性进行建模,其被称为补白模型。使用维特比解码来搜索解码图中的最佳路径,并且对解码输出进行进一步处理以作出关于唤醒词存在的判定。此方法可通过合并混合DNN-HMM解码框架而扩展为包括判别信息。在另一个示例中,唤醒词检测器220可直接构建在深度神经网络(DNN)/递归神经网络(RNN)结构上,而不涉及HMM。此架构可通过将帧堆叠在DNN的上下文窗口内或使用RNN来用上下文信息估计唤醒词的后验。将后继的后验阈值调整或平滑应用于判定。也可使用用于唤醒词检测的其他技术,例如本领域已知的那些技术。
一旦唤醒词检测器220检测到唤醒词和/或输入检测器检测到输入,用户装置110可以将音频数据211传输到远程系统120。输入音频数据211可包括对应于唤醒词的数据;在其他实施方案中,在将输入音频数据211发送到远程系统120之前,音频的对应于唤醒词的部分由用户装置110移除。例如,在触摸输入检测的情况下,输入音频数据211可以不包括唤醒词。
在各种实施方案中,唤醒词检测器220可以使用多个唤醒词检测模型中的一个。可以训练每个模型以检测不同的唤醒词。在一些实施方案中,单个模型可以检测多个唤醒词。每个唤醒词可以与不同的语音处理系统相关联。在检测到特定唤醒词时,用户装置110可以将音频数据211(和/或检测到唤醒词的指示)发送到其对应的语音处理系统。
在各种实施方案中,唤醒词检测器220的唤醒词检测模型被实现为检测以对应于不同国家、地区或其他区域的不同口音说出的唤醒词。例如,唤醒词检测模型可被实现为检测唤醒词“Alexa”是用印度口音、苏格兰口音还是澳大利亚口音说出。唤醒词检测模型还可以被实现为检测其他语言的其他唤醒词;这些其他语言可能具有唤醒词检测模型可以类似地被实现为检测的类似口音变化。
唤醒词检测器220可以基于候选唤醒词与存储的唤醒词的相似程度来确定候选唤醒词的相似度得分;如果相似度得分高于唤醒词检测阈值,则唤醒词检测器220确定唤醒词存在于音频数据中,并且如果相似度得分低于唤醒词检测阈值,则唤醒词检测器220确定唤醒词不存在于音频数据中。例如,如果候选唤醒词与存储的唤醒词非常接近,则唤醒词检测器220可以确定相似度得分为100;如果候选唤醒词与存储的唤醒词完全不匹配,则唤醒词检测器220可以确定相似度得分为0。如果唤醒词检测器220确定候选唤醒词与存储的唤醒词部分匹配,则可以确定中间相似度得分,例如为75或85。尽管本文的公开内容描述了0至100的相似度得分,其中零是最不相似的并且100是最相似的。但本公开不限于相似度得分的任何特定范围的值,并且确定在捕获的音频数据中表示的候选唤醒词与唤醒词的存储表示之间的相似度的任何系统或方法都在本公开的范围内。
用户装置110还可以在同一语音处理系统内针对不同技能使用不同的唤醒词。因此,用户装置110使用本文描述的技术可以处理传入音频,以确定检测到的唤醒词是与第一语音处理系统(其可以是第一语音处理系统内的第一语音处理组件(例如,技能等))相关联的第一唤醒词的第一置信度,以及确定检测到的唤醒词是与第二语音处理系统(其可以是第二语音处理系统或第二语音处理系统内的第二不同组件(例如,技能等))相关联的第二唤醒词的第二置信度。不同的系统可能与不同的ASR处理、不同的NLU处理、不同的TTS处理、不同的域/意图或其他差异相关联。
在由系统120接收后和/或在由用户装置110确定后,可以将输入音频数据211发送到协调器组件240。协调器组件240可包括存储器和逻辑,所述存储器和逻辑使得所述协调器组件能够向系统的各种组件传输各种数据片段和各种形式的数据以及执行如本文描述的其他操作。协调器组件240可以是或包括语音处理系统管理器和/或语音处理系统292中的一个或多个,其可用于确定ASR 250、NLU 260和/或TTS 280组件中的哪一个(若有)应接收和/或处理音频数据211。在一些实施方案中,协调器组件240包括一个或多个ASR组件250、NLU组件260、TTS组件280和/或其他处理组件,并且在将输入音频数据211和/或其他数据发送到一个或多个语音处理组件292以用于进一步处理之前对所述输入音频数据进行处理。在其他实施方案中,协调器组件240将输入音频数据211发送到一个或多个语音处理组件292以进行处理。
如上所述,协调器组件240(和/或一个或多个语音处理系统292)可以确定输入音频数据211与第一语音处理系统292a相关联(例如,它包含与第一语音处理系统292a相关联的唤醒词的表示,或者它不包含任何唤醒词的表示并且默认选择第一语音处理系统292a)。例如,唤醒词检测器220可以检测特定唤醒词的存在并将唤醒词的指示发送到语音处理系统管理器。替代地或另外,ASR组件250可以确定对应于音频数据211的文本数据并且将文本数据发送到语音处理系统管理器,然后语音处理系统管理器可以确定文本中表示唤醒词。
语音处理系统识别组件296可用于确定,尽管输入音频数据211与第一语音处理系统相关联,但输入音频数据211中表示的命令对应于第二语音处理系统。语音处理系统识别组件296可以例如在计算机存储器中包括语音处理系统和相关联的域、意图和/或实体的列表。语音处理系统识别组件296可以从NLU组件260接收确定的域、意图和/或实体,并从列表中选择匹配的语音处理系统。语音处理系统识别组件296还可以或替代地包括例如分类器的训练模型,所述训练模型处理音频数据211(和/或根据其确定的文本数据)以输出对应的语音处理系统。
如下文参考图4B所解释,用户装置110和/或远程系统120还可以包括属性确定组件298,用于确定是否输出第二语音处理系统的属性(例如,指示)。在其他实施方案中,协调器组件240可以将音频数据211的处理从第一语音处理系统292a移交给第二语音处理系统292b。
第一语音处理系统292a可以控制、有权访问或以其他方式与第一组技能290、应用程序和/或语音风格相关联,并且第二语音处理系统292b可以控制、有权访问或以其他方式与第二组技能290、应用程序和/或语音风格相关联。第一和第二组技能290可以包括通用技能以及每个语音处理系统292独有的技能。在一些实施方案中,第一语音处理系统292a是通用语音处理系统并且可以提供如天气预报、餐厅预订、购物服务和互联网搜索的此类技能和应用程序;第二语音处理系统292b是特定于车辆的语音处理系统并且可以提供如改变用户装置110的状态(例如,升高/降低车窗、设置恒温器和/或调整座位)和/或提供诊断信息的此类技能和应用程序。一些应用程序和技能对于两个语音处理系统292(例如,播放音乐或提供导航信息)可能是共同的。然而,具有任何类型的应用程序或技能的任何数量的语音处理系统292都在本公开的范围内。
在一些实施方案中,语音处理系统管理器使用语音处理系统292中的一个或多个组件(例如ASR组件250和NLU组件260)来指导输入数据311的处理。在其他实施方案中,语音处理系统管理器包括用于NLU处理的NLU组件;此NLU可以用于处理所有音频数据,而语音处理系统292中的其他NLU组件260可以用于处理不同的音频数据(并且可以基于在音频数据中检测到的唤醒词来选择)。如下文更详细地解释,语音处理系统管理器和/或语音处理系统292可以执行ASR和/或NLU处理以确定对应于音频数据211的域、意图和/或含义。语音处理系统管理器和/或语音处理系统292可以替代地或另外识别输入音频数据211中的关键字并且识别与关键字相对应的域、意图和/或含义(例如,实体解析)。语音处理系统管理器和/或语音处理系统292可以进一步识别与输入音频数据211中的话语相关联的用户并且识别对应于用户的域、意图和/或含义。语音处理系统管理器和/或语音处理系统292可以进一步基于与用户相关联的用户简档中的信息(例如使用历史信息)、用户装置110的位置、一天、一周、一个月或一年的时间和/或温度信息来识别与输入音频数据211相关联的域、意图和/或含义。
语音处理系统管理器和/或语音处理系统292可以将确定的域、意图和/或含义和与每个语音处理系统292相关联的对应应用程序或技能的列表进行比较。比较可以包括确定每个列表中存在的域、意图和/或含义的全部或部分匹配的数量。语音处理系统管理器和/或语音处理系统292可以确定与每个语音处理系统292对输入音频数据211中表示的命令作出响应的能力相对应的每个语音处理系统292的得分。如果确定域、意图和/或含义与第一语音处理系统292相关联但不与第二语音处理系统292相关联,则语音处理系统管理器可以授予第一语音处理系统292比第二语音处理系统292更高的得分。如果确定域、意图和/或含义与第一语音处理系统292和第二语音处理系统292两者相关联,则语音处理系统管理器可以基于例如用户识别、用户简档数据、位置或其他信息的其他数据来确定排名。
在一些实施方案中,协调器240和/或语音处理系统管理器使用应用程序编程接口(API)与语音处理系统292通信。API可用于向语音处理系统292发送数据、命令或其他信息和/或从所述语音处理系统接收数据、命令或其他信息。例如,协调器240可以经由API将输入音频数据211发送到由语音处理系统管理器选择的语音处理系统,并且可以从选定的语音处理系统292接收响应于音频数据211的命令和/或数据。
在一些实施方案中,如上所述,语音处理系统管理器包括可用于选择语音处理系统292的处理组件,例如ASR和/或NLU组件。可替代地或另外,在其他实施方案中,语音处理系统管理器例如经由API与特定语音处理系统292通信以使所述语音处理系统292执行处理,并作为响应接收对应于处理和/或选定的语音处理系统292的数据。因此,语音处理系统管理器可以包括用于与特定语音处理系统292通信的一个或多个应用程序编程接口(API)、用于确定用户装置110的属性的配置管理器、和/或用于处理从用户装置110和/或语音处理系统292接收的事件的事件处理器,但可能不包括ASR处理器或NLU处理器,ASR处理器或NLU处理器可以替代地包括在特定语音处理系统292中。
每个语音处理系统292可以包括ASR组件250,所述ASR组件可以将输入音频数据211转录成文本数据。由ASR组件250输出的文本数据可以表示一个或多于一个(例如,呈N-best列表的形式)ASR假设,所述假设表示输入音频数据211中所表示的语音。ASR组件250基于音频数据211与预先建立的语言模型之间的相似度来解释输入音频数据211中的语音。例如,ASR组件250可将输入音频数据211与声音的模型(例如,声学单元,例如音素、信号、音子等)和声音序列进行比较,以识别与输入音频数据211中表示的语音的声音序列相匹配的词语。在一些实施方案中,ASR组件250经由协调器组件240将由此生成的文本数据发送到NLU组件260。从ASR组件250发送到NLU组件260的文本数据可包括单个得分最高的ASR假设,或者可包括N-best列表,所述N-best列表包括多个得分最高的ASR假设。N-best列表可另外地包括与其中表示的每个ASR假设相关联的相应得分。
每个语音处理系统292还可以包括在图5和图6中更详细地示出的NLU组件260,所述NLU组件试图通过确定与在文本数据中表示的短语或语句相关联的一个或多个含义来对其中输入的文本数据中表示的短语或语句进行语义解释。NLU组件260可以确定表示用户期望执行的动作的意图并且可以确定允许装置(例如,用户装置110、系统120、技能组件290、技能系统225等)执行意图的信息。例如,如果文本数据对应于“播放Toto的Africa”,则NLU组件260可以确定系统输出音乐的意图并且可以将“Toto”识别为艺术家并且将“Africa”识别为歌曲。又例如,如果文本数据对应于“天气怎么样”,则NLU组件260可以确定系统输出与用户装置110的地理位置相关联的天气信息的意图。在另一示例中,如果文本数据对应于“关灯”,则NLU组件260可以确定系统关闭与用户装置110或用户5相关联的灯的意图。
可以将NLU结果数据从NLU组件260(其可以包括标记的文本数据、意图指示符等)(经由例如协调器组件240)发送到技能组件290。如果NLU结果数据包括单个NLU假设,则NLU组件260可以将NLU结果数据发送到与NLU假设相关联的技能组件290。如果NLU结果数据包括NLU假设的N-best列表,则NLU组件260可以将得分最高的NLU假设发送到与得分最高的NLU假设相关联的技能组件290。如上所述,NLU组件260和/或技能组件290可以使用交互得分来确定表示从一个语音处理系统292移交到另一个的指示的文本数据。
技能组件290可以是在系统120上运行的软件,其类似于软件应用程序。也就是说,技能组件290可以使系统120能够执行特定功能,以提供数据或产生一些其他请求输出。系统120可以配置有多于一个技能组件290。例如,天气服务技能组件可使系统120能够提供天气信息,汽车服务技能组件可使系统120能够相对于出租车或乘车共享服务预定行程,餐厅技能组件可使系统120能够相对于餐厅的在线订购系统来订购披萨等。技能组件290可在系统120与其他装置(例如用户装置110)之间协同操作以便完成某些功能。对技能组件290的输入可以来自语音处理交互或通过其他交互或输入源。技能组件290可包括可专用于特定技能组件290或在不同技能组件290之间共享的硬件、软件、固件等。
技能系统225可以直接和/或经由协调器组件240与系统120内的技能组件290通信。技能系统225可被配置为执行一个或多个动作。技能可使技能系统225能够执行特定功能,以便提供数据或执行用户请求的一些其他动作。例如,天气服务技能可以使技能服务225能够向系统120提供天气信息,汽车服务技能可以使技能系统225能够相对于出租车或乘车共享服务预定行程,订购披萨技能可以使技能系统225能够相对于餐厅的在线订购系统来订购披萨等。附加类型的技能包括家庭自动化技能(例如,使用户能够控制例如灯、门锁、相机、恒温器等的家庭装置)、娱乐装置技能(例如,使用户能够控制例如智能电视的娱乐装置的技能)、视频技能、闪光简报技能、以及与任何预配置技能类型无关的自定义技能。系统120可以包括专用于与技能系统225交互的技能组件290。技能、技能装置或技能组件可以包括由系统120操作的技能组件290和/或由技能系统225操作的技能。
语音处理系统管理器和/或每个语音处理系统292可以包括在图7中更详细地示出的TTS组件280,所述TTS组件使用一种或多种不同方法从文本数据生成音频数据(例如,合成语音)。输入到TTS组件280的文本数据可以来自技能组件290、协调器组件240和/或系统的另一个组件。文本数据可以包括语音处理组件的指示和/或响应于命令的数据。
系统120可包括在图8中更详细地示出的用户辨识组件295,所述用户辨识组件辨识与输入到系统的数据相关联的一个或多个用户。用户辨识组件295可将音频数据211和/或由ASR组件250输出的文本数据作为输入。用户辨识组件295可通过将输入音频数据211中的音频特性与存储的用户音频特性进行比较来执行用户辨识。用户辨识组件295还可通过将由与当前用户输入相关的系统接收到的生物特征数据(例如,指纹数据、虹膜数据等)与存储的用户生物特征数据进行比较来执行用户辨识。用户辨识组件295还可通过将由与当前用户输入相关的系统接收到的图像数据(例如,包括用户的至少一个特征的表示)与存储的图像数据(其包括不同用户的特征的表示)进行比较来执行用户辨识。用户辨识组件295可以执行附加的用户辨识过程,包括本领域已知的那些。
用户辨识组件295确定指示用户输入是否源于特定用户的得分。例如,第一得分可指示用户输入源于第一用户的可能性,第二得分可指示用户输入源于第二用户的可能性等。用户辨识组件295还确定关于用户辨识操作的准确性的总体置信度。
用户辨识组件295的输出可以包括与发起用户输入的最可能的用户相对应的单个用户标识符。替代地,用户辨识组件295的输出可包括用户标识符的NN-best列表,其中相应的得分指示相应的用户发出用户输入的可能性。用户辨识组件295的输出可用于通知NLU处理以及由系统的其他组件执行的处理。如上所述,交互确定组件296可以使用此用户标识符来识别简档存储装置270中的用户账户。
系统120可以包括简档存储装置270。简档存储装置270可包括和与系统交互的个人用户、各组用户、装置等有关的各种信息。“简档”是指与用户、装置等相关联的一组数据。简档的数据可包括特定于用户、装置等的偏好;装置的输入和输出能力;互联网连接信息;用户书目信息;订阅信息,以及其他信息。
简档存储装置270可包括一个或多个用户简档,其中每个用户简档与不同的用户标识符相关联。每个用户简档可包括各种用户识别信息。每个用户简档还可包括用户的偏好和/或表示用户的一个或多个装置的一个或多个装置标识符。当用户登录到安装在用户装置110上的应用程序时,可以更新用户简档(与所呈现的登录信息相关联)以包括关于用户装置110的信息。如所描述,简档存储装置270还可以包括显示用户的交互历史的数据,包括命令和命令的接收时间。简档存储装置270还可以包括显示第二用户何时在场以听到第一用户发出的命令的移交指示的数据。
简档存储装置270可包括一个或多个组简档。每个组简档可与不同的组标识符相关联。组简档可特定于一组用户。也就是说,组简档可与两个或更多个个人用户简档相关联。例如,组简档可为和与单个家庭的多个用户相关联的用户简档相关联的家庭简档。组简档可包括由与其相关联的所有用户简档共享的偏好。与组简档相关联的每个用户简档可另外地包括特定于与其相关联的用户的偏好。也就是说,每个用户简档可包括对于与同一组简档相关联的一个或多个其他用户简档来说唯一的偏好。用户简档可以是独立简档,或者可与组简档相关联。
简档存储装置270可包括一个或多个装置简档。每个装置简档可以与不同的装置标识符相关联。每个装置简档可包括各种装置识别信息。每个装置简档还可包括表示与装置相关联的一个或多个用户的一个或多个用户标识符。例如,家庭装置的简档可以包括家庭用户的用户标识符。
系统可被配置为合并用户许可,并且仅在被用户批准的情况下才可执行本文公开的活动。如上所述,这些许可可以包括准许(或拒绝)使用特定的语音处理系统292。因此,本文描述的系统、装置、组件和技术可以被配置为在适当的情况下限制处理,并且仅以确保遵守所有适当的法律、法规、标准等的方式来处理用户信息。可在地理基础上实施所述系统和技术,以确保遵守系统的组件和/或用户所在的各个管辖区和实体中的法律。
图3A和图3B示出根据本发明的实施方案的用于处理语音的系统。首先参考图3A,(除了上文参考图2A或图2B描述的一些或所有其他组件之外)第一语音处理系统292a还包括第一ASR组件250a、第一NLU组件260a、第一TTS组件280a和/或第一技能组件290a。(除了上文参考图2A或图2B描述的一些或所有其他组件之外)第二语音处理系统292b还包括第二ASR组件250b、第二NLU组件260b、第二TTS组件280b和/或第二技能组件290a。任何数量的附加语音处理系统292都在本公开的范围内。在一些实施方案中,第一语音处理系统292a和第二语音处理系统292b共享相同的ASR组件250、NLU组件260、TTS组件280和/或技能组件290中的一个或多个。
如上所述,第一语音处理组件292a从用户装置110接收输入数据311。输入数据311可以是或包括音频数据211,并且可以是单个短语(例如,“Alexa,现在几点?”)或与用户进行的多轮对话交互的一个或多个短语(例如,“Alexa,进行餐厅预订”、“星期二晚上8点”和“意大利语”)的表示。第一语音处理组件292a确定输出数据312,如本文所述,所述输出数据可以是或包括一些或全部输出音频数据212,并将输出数据发送到用户装置110以供输出。输出数据312可以类似地表示合成语音的单个短语(例如,“三点钟”)或者可以是多轮对话的一个或多个短语(例如,“好的,什么时间?”和“好的,什么类型的餐厅?”)。
如上所述,语音处理系统管理器可以处理输入数据311以确定第一语音处理系统292a(默认系统,例如与用户装置110的用户输入(例如,按钮按下)相关联的系统和/或与唤醒词相关联的系统)并确定第二语音处理系统292b(例如由NLU组件260的至少一个输出指示)。在接收到输入数据311时,第一语音处理系统292a可以确定首先确认所述接收的第一输出数据312,例如哔哔声、音高或其他此类声音。
第一语音处理系统292a可以处理输入数据311(使用例如NLU组件260)以确定输入数据311中表示的命令并且可以确定对应于所述命令的命令数据302。命令数据302可以是例如表示输入数据311中的词的文本数据(例如由ASR组件250输出的文本数据)和/或对应于(如例如由NLU组件260输出的)命令的域、意图和/或实体。命令数据302可以替代地或另外包括对应于第二语音处理系统292b的API调用。在其他实施方案中,命令数据302包括输入音频数据211的表示。
例如,如果输入数据311包括短语“Alexa,摇下车窗”的表示,则第一语音处理系统292a可以处理输入数据311以确定对应的文本数据并确定对应于输入数据311的域是(例如)“汽车”。语音处理系统292a可以进一步确定对应于输入数据311的意图是“改变汽车状态”并且与输入数据311相关联的实体是“车窗”和“向下”。根据特定的第二语音处理系统292b及其对通信的要求,第一语音处理系统292a可以在命令数据302中包括输入数据311本身、音频数据211、对应于输入数据311的文本数据、域、意图和/或实体,和/或对车窗控制API的API调用。对应于输入数据311中表示的命令的任何类型的命令数据302都在本公开的范围内。
然后,第二语音处理系统292b可以处理命令数据302以确定响应数据304。第二语音处理系统292b对命令数据302的处理可以类似于第一语音处理系统292a处理输入数据311的方式,如上所述。例如,如果命令数据302包括输入数据311中的一些或全部,则第二语音处理系统292b的ASR组件250可以确定对应文本数据,第二语音处理系统292a的NLU组件260可以确定对应域等等。如果命令数据302包括文本数据,则NLU组件260可以处理命令数据302而不需要ASR组件250。如果命令数据302包括NLU输出数据和/或API调用,则第二语音处理系统292b的协调器组件240可以处理命令数据302,选择对应技能组件290,并将命令数据302发送到选定的技能组件290。然后,技能组件290可以处理命令数据(使用例如对话模型或自然语言生成组件)以确定响应数据304。
在一些实施方案中,第一语音处理系统292a将命令数据302发送到第二语音处理系统292b,作为响应接收响应数据304,然后处理响应数据304以确定输出数据312,所述输出数据可以是或包括输出音频数据212。如上所述,响应数据304可以包括第二语音处理系统292b的指示。此指示可以是第二语音处理系统292b的名称、第二语音处理系统292b的语音风格和/或与第二语音处理系统292b相关联的一个或多个词或措辞风格。然而,同样如上所述,用户可能不知道或不关心第二语音处理系统292b参与处理输入数据311,因此可能更偏好接收展现第一语音处理系统292a的指示(例如第一语音处理系统292a的名称和/或第一语音处理系统292a的说话/词风格)的响应(呈输出数据312的形式)。因此,第一语音处理系统292a可以处理响应数据304,以移除第二语音处理系统292b的任何指示并且包括第一语音处理系统292a的指示。
例如,如果响应数据304包括音频数据,则此音频数据可以包括以第二语音处理系统292b的特色说出的一个或多个词的表示。因此,第一语音处理系统292a可以处理音频数据(例如使用ASR组件250)以确定对应文本数据,然后处理文本数据(使用例如TTS组件280)以确定音频数据,所述音频数据包括以第一语音处理系统292a的特色说出的一个或多个词的表示。然后,即使第二语音处理系统292b处理命令数据302,用户5也可以听到对应于第一语音处理系统292a的特色的输出音频12。
如果响应数据304包括对应于响应的文本数据,则文本数据可以包括第二语音处理系统292b的指示,例如第二语音处理系统292b的名称、与第二语音处理系统292b相关联的词或短语,和/或与第二语音处理系统292b相关联的句子结构或语法风格。因此,第一语音处理系统292a可以处理响应数据304的文本数据,以通过例如改述文本数据来移除第二语音处理系统292b的指示。因此,第一语音处理系统292a可以确定输出数据312,所述输出数据包括响应数据304的表示,但对应于第一语音处理系统292a的特色。
对于接收和处理的输入数据311的每一项,第一语音处理系统292a可以向第二语音处理系统292b发送命令数据302的一个或多个项,并接收响应数据304的一个或多个项。也就是说,如果用户发出如输入数据311中所表示的命令,则第一语音处理系统292a可以发送命令数据302的单个对应项(并作为响应接收响应数据304的单个项)或者可以发送命令数据302的多个项(并作为响应接收响应数据304的多个项)。因此,第一语音处理系统292a可以针对输入数据311中表示的单个命令引起多轮发送命令数据302和接收响应数据304。类似地,响应数据304可以对应于向用户提示执行命令所需的附加信息,并且第一语音处理系统292a和/或第二语音处理系统292b因此可以导致多轮对话,如输出数据312表示。
在一些实施方案中,如图3B所示,第一语音处理系统292a可以停止处理第一输入数据A 311a并且使第二语音处理系统292b处理第二输入数据B 311b。例如,当第一语音处理系统292a确定第二输入音频B 311b可能包括对应于第二语音处理系统292b而不是第一语音处理系统292a的私有、特权或其他敏感信息的表示时,可以发生此过程,本文中被描述为移交过程。例如,如果第一输入数据A 311a包括命令“我的支票账户余额是多少?”的表示,则第一语音处理系统292a可以确定银行相关的第二语音处理系统292b随后应该处理第二输入数据B 311b,因为它可能包含个人信息,例如与第二语音处理系统292b相关联的PIN或密码。因此,第一语音处理系统292a可以在做出此确定和/或识别第二语音处理系统292b时将可以包括移交信号的命令数据310发送到第二语音处理系统292b。移交信号可以是命令数据,所述命令数据使第二语音处理系统292b开始处理输入数据A 311a和/或附加输入数据B 311b并基于此确定并引起输出数据B312b的输出。在发送命令数据310之后,第一语音处理系统292a可以停止输入数据A 311a和/或附加输入数据B 311b的处理。然后,第二语音处理系统292b可以在接收到命令数据310时开始处理输入数据B 311b。第一语音处理系统292a还可以向第二语音处理系统292b发送对应于输入数据A 311a的附加数据,例如与输入数据A 311a相关联的对应的文本数据、域、意图和/或实体,和/或输入数据A 311a本身。由第一语音处理系统292a确定的第一输出数据A 312b可以包括移交的指示,例如与第二语音处理系统292b相关联的名称。
图4A、图4B和图4C是示出根据本公开的实施方案的使用语音处理系统的流程图。首先参考图4A,用户装置110将输入数据311发送到第一自然语言系统492a,其可以是或包括第一语音处理系统292a。输入数据311可以是或包括输入音频数据211,和/或可以是或包括其他输入数据,例如视频数据、文本数据和/或其他此种数据。如本文所述,用户装置110可以基于输入数据311中表示的相关联唤醒词来识别第一语音处理系统292a。在其他实施方案中,第一语音处理系统292a可以是用户装置110向其发送所有输入数据311的默认语音处理系统;在一些实施方案中,默认的第一语音处理系统292a然后可以确定并激活另一个第一语音处理系统292a来处理输入数据311。
还如本文所述,第一语音处理系统292a使用例如ASR和/或NLU技术确定(402)输入数据311中表示的命令。至少部分地基于由ASR组件250确定的文本数据和/或由NLU组件260确定的NLU数据,第一语音处理系统292a确定(404)所述命令对应于第二自然语言系统492b,它可以是或包括第二语音处理系统292b。然后,第一语音处理系统292a可以确定命令数据,如上所述,所述命令数据可以包括输入音频数据311、对应于输入数据311的文本数据、对应于文本数据的NLU数据和/或对与第二语音处理系统292b相关联的API的一个或多个API调用中的一些或全部。然后,第一语音处理系统292a可以将命令数据302发送到第二语音处理系统292b。
然后,第二语音处理系统292b可以处理命令数据以确定(408)响应数据304。如上所述,响应数据304可以包括第二语音处理系统292b的指示,例如第二语音处理系统292b的名称、第二语音处理系统292b的语音风格和/或第二语音处理系统292b的语法风格。语音风格和/或语法风格可以对应于第二语音处理系统292b的特色。然后,第二语音处理系统292b可以将响应数据304发送到第一语音处理系统292a。
然后,第一语音处理系统292a可以处理响应数据304以确定(412)表示第二响应的输出数据312。如上所述,输出数据312可以包括第一语音处理系统292a的指示,例如第一语音处理系统292a的名称、第一语音处理系统292a的语音风格和/或第二语音处理系统292a的语法风格。因此,在一些实施方案中,虽然第二语音处理系统292b用于处理输入数据311,但第一语音处理系统292a在输出数据312中不包括第二语音处理系统292c的指示,并且因此,用户可能不知道第二语音处理系统292b被如此使用。第一语音处理系统292a可以将输出数据312发送到用户装置110并因此在其上引起输出。
参考图4B,在一些实施方案中,第一语音处理系统292a可以确定引起第二语音处理系统292b的指示的输出。如本文所述,第一语音处理系统292a可接收(450)输入数据311并确定(452)输入数据311中表示的命令是否对应于第二语音处理系统292b。如果不是,则第一语音处理系统292a可以处理(454)输入数据311并确定响应(如本文所述)。例如,用户说出第一语音处理系统292a的唤醒词(例如,“Alexa”)和与第一语音处理系统292a相关联的命令(例如,“现在几点?”)。然后,第一语音处理系统292a处理输入数据311以确定对命令的响应(例如,“下午两点”)。
在其他实施方案中,第一语音处理系统292a可以确定(456)输入数据311和/或对输入数据311的响应可以包括私人、特权和/或敏感信息的表示。在这些实施方案中,第一语音处理系统292a可以将输入数据311的处理(466)移交给第二语音处理系统292b,然后停止输入数据311的处理。此信息可以是例如银行账户信息、医疗信息、用户名、密码或其他此类信息。用户可以允许第二语音处理系统292b访问此信息,但可能不希望第一语音处理系统292a访问此信息。语音处理系统292a可以引起指示此移交的音频到第二语音处理系统292b的输出,以便用户知道第二语音处理系统292b(而不是第一语音处理系统292a)正被用于处理输入数据311。
当第一语音处理系统292a确定输出数据312可能包括可能与第二语音处理系统292b相关联的事实、意见和/或敏感信息时,所述第一语音处理系统可以类似地将处理移交给第二语音处理系统292b。因此,第一语音处理系统292a可以移交处理,使得用户清楚输出数据312由第二语音处理系统292b而不是第一语音处理系统292a确定。例如,如果输入数据311包括命令“我所在地区最好的餐厅是什么?”的表示,则第一语音处理系统292a可以确定应该交给第二特定于餐厅的语音处理系统292b进一步处理输入数据311,以便用户知道第二语音处理系统292a而不是第一语音处理系统292选择了“最佳”餐厅。
如本文所述,在一些实施方案中,作为处理(462)输入数据311的一部分,第一语音处理系统292a可以与第二语音处理系统292b通信,并且可以不输出第二语音处理系统292b的指示。然而,在一些实施方案中,第一语音处理系统292a可以确定输出所述指示。例如,第一语音处理系统292a可以确定(458)所述命令对应于未来(例如未来至少五分钟)发生的响应。例如,此类命令可以是设置警报、请求事件发生的通知、安排会议或提醒、设置例如天气预警的预警,或其他此类未来动作。如果第二语音处理系统292用于处理输入数据311并完成未来动作,则第二语音处理系统292b可以使得将与所述动作相对应的音频输出给用户。然后,用户可能会感到困惑,因为创建未来动作的命令针对第一语音处理系统292a,但是动作的执行使用第二语音处理系统292b发生。第一语音处理系统292a因此可以使得输出第二语音处理系统292b的指示。
例如,输入数据311可以包括命令“SmartCar,设置晚上7点的闹钟”的表示。SmartCar语音处理系统可以确定此命令与Alexa语音处理系统相关联,并使用上述命令数据和响应数据与Alexa语音处理系统进行通信。基于这种通信,Alexa语音处理系统可以设置闹钟,并在适当的时候输出与闹钟相对应的音频。例如,SmartCar语音处理系统可以因此输出与短语“Alexa将设置晚上7点的闹钟”相对应的音频。
如果第一语音处理系统292a确定(460)部分或全部输出数据312(和/或其他输出数据)将使用与用户装置110不同的装置输出,则所述第一语音处理系统可以替代地或另外使得输出第二语音处理系统292b的指示。使用这种不同的装置可能同样会引起用户的困惑。第一语音处理系统292a可以替代地或另外基于与用户装置110相关联的用户账户中的用户偏好使得输出(464)(或者在其他情况下不使得输出)第二语音处理系统292b的指示。用户账户还可以包括在允许用第二语音处理系统292b进行处理之前应该输出许可请求的指示。第一语音处理系统292a和/或第二语音处理系统292b可以类似地基于命令确定输出许可请求。
在一些实施方案中,第一语音处理系统292a可以确定对接收到的命令的响应包括由第一语音处理系统292a确定的响应以及来自第二语音处理系统292的响应。在其他实施方案中,第一语音处理系统292a可以确定响应包括来自用户装置110和/或其他用户装置的输出。此响应可以包括也可以不包括来自第一语音处理系统292a的响应。例如,如果命令是“Alexa,关灯”,则第一语音处理系统292a可以指示用户附近的灯关掉,但不会导致音频输出。在这些实施方案中,命令数据310可以包括指令,例如API调用,但可以不包括对应于输入数据311的另外的信息。换句话说,第一语音处理系统292a可以简单地指示用户装置根据命令进行动作。其他用户装置可以输出非语音音频以指示接收到命令;此非语音音频例如可以是哔哔声或类似声音。
如图4C所示,第一语音处理系统292a可以将一些或全部响应数据304合并在输出数据312中。如上所述,第一语音处理系统292a可以从第二语音处理系统292b接收(480)响应数据304。然后,第一语音处理系统292a可以改述(482)响应数据304中的一些或全部。例如,第一语音处理系统292a可以确定响应数据304包括第二语音处理系统292b的指示,例如第二语音处理系统292b的名称、与第二语音处理系统292b相关联的词,和/或与第二语音处理系统292b相关联的措辞风格。因此,第一语音处理系统292a可以使用例如NLU组件260来处理响应数据304以确定(486)改述的响应数据。例如,NLU组件可以确定与响应数据480相关联的域、意图和/或实体,然后使例如自然语言生成组件的技能组件290基于域、意图和/或实体创建改述的响应数据。在其他实施方案中,第一语音处理系统292a可以使用(484)响应数据作为输出数据212。在一些实施方案中,第一语音处理系统292a可以将一些或所有响应数据304与一些或所有改述的响应数据组合(488)以创建(492)输出数据312。在其他实施方案中,第一语音处理系统292a可以使用(490)仅改写的响应数据作为输出数据312。
图5示出可以如何对输入文本数据执行NLU处理。通常,NLU组件260(例如图2A或图2B中描绘的NLU组件)尝试对文本数据中表示的文本进行语义解释。也就是说,NLU组件260基于各个词来确定在文本数据中表示的文本背后的含义。NLU组件260解释文本以导出用户的意图或期望的动作以及文本中允许装置(例如,用户装置110、系统120、技能290和/或技能系统225)来完成所述动作的相关信息片段。
NLU组件260可以处理包括单个话语的若干假设的文本数据。例如,如果ASR组件250输出包括假设的N-best列表的ASR结果,则NLU组件260可以相对于其中表示的所有(或部分)文本解释来处理文本数据。NLU组件260可以通过解析和/或标记文本来注释在文本数据中表示的文本。例如,对于文本“告诉我西雅图的天气”,NLU组件260可以将“告诉我西雅图的天气”标记为命令(例如,以输出天气信息)以及将“西雅图”标记为天气信息的位置。
NLU组件260可以包括候选者列表器(shortlister)组件550。候选者列表器组件550选择可以相对于输入到NLU组件的文本数据610执行的应用程序(例如,可以执行命令的应用程序)。因此,候选者列表器组件550将下游的、资源更密集的NLU处理限制为相对于可以执行命令的应用程序而执行。
在没有候选者列表器组件550的情况下,NLU组件260可以并行、串行或使用它们的某种组合处理关于系统的每个应用程序的给定假设。通过包括候选者列表器组件550,NLU组件260可以仅相对于可以执行命令的应用程序处理给定假设。这降低了归因于NLU处理的总计算能力和延迟。
NLU组件260可以包括一个或多个识别器563a-n。每个识别器563可以与不同的功能、内容源和/或语音处理系统相关联。NLU组件260可以确定可能与输入到其的文本数据中表示的命令相关联的功能,以便确定适当的识别器563来处理假设。NLU组件260可以确定在文本数据中表示的命令可能与多于一个功能相关联。多个识别器563可以在功能上关联(例如,电话/通信识别器和日历识别器可以利用来自相同联系人列表的数据)。
如果候选者列表器组件550确定对应于假设的文本可能与多个技能290和/或多个语音处理系统相关联,则与技能290和/或多个语音处理系统相关联的识别器563(例如,与由候选人列表器550选择的子集中的应用程序相关联的识别器563)可以处理文本。选定的识别器563可以并行、串行、部分并行等处理文本。例如,如果对应于假设的文本可能同时涉及通信语音处理系统和音乐语音处理系统,则与通信语音处理系统相关联的识别器可以和与处理文本的音乐应用程序相关联的识别器并行或部分并行地处理文本。可以对每个识别器563生成的输出进行评分,其中来自所有识别器563的总体评分最高的输出通常被选择为正确结果。
NLU组件260可以与各种存储装置通信以确定与以文本数据表示的命令相关联的可能的语音处理系统。NLU组件260可以与NLU存储装置573通信,所述NLU存储装置包括识别与特定装置相关联的功能的装置数据库(574a至574n)。例如,用户装置110可以与用于音乐、日历、联系人列表、装置特定通信等的语音处理系统相关联。另外,NLU组件260可以与实体库582通信,所述实体库包括有关特定装置上的特定服务的数据库条目,这些条目按装置ID、用户ID或组用户ID或某一其他指示符进行索引。
每个识别器563可以包括命名实体识别(NER)组件562。NER组件562尝试识别可用于解释关于在其中输入的文本数据中表示的命令的含义的语法和词典信息。NER组件562识别在输入到NLU组件260中的文本数据中表示的文本部分,其对应于系统可辨识的命名实体。NER组件562(或NLU组件260的其他组件)还可以确定词是否指代话语文本中未明确提及的实体,例如例如“他”、“她”或“它”的词。
每个识别器563,且更具体地说,每个NER组件562可以与特定语法模型576、特定意图集578和特定特色化词典586相关联。每个地名词典584可以包括与特定用户和/或装置相关联的功能索引词典信息。例如,地名词典A(584a)包括功能索引词典586aa至586an。例如,用户的音乐功能词典信息可能包括专辑标题、艺术家姓名和歌曲名称,而用户的联系人列表词典信息可能包括联系人姓名。由于每个用户的音乐收藏和联系人列表可能不同,因此这种特色化信息提高了实体分辨率。
NER组件562可以应用与功能相关联的语法模型576和/或词典586(与实现NER组件562的识别器563相关联)来确定在输入到其的文本数据中提及的一个或多个实体。以这种方式,NER组件562可以识别以后的命令处理可能需要的“槽”(即,文本数据中的特定词)。NER组件562还可以用不同级别的特殊性的类型(例如,人名、地点、城市、艺术家姓名、歌曲名称等)来标记每个槽。
每个语法模型576可以包括在关于语法模型576相关的特定功能的文本中常见的实体的名称(即,名词),而词典586是针对用户和/或输入数据311或输入文本数据所源自的用户装置110特色化的。例如,与购物功能相关联的语法模型576可以包括人们讨论购物时常用的词的数据库。
称为命名实体解析的过程可以将部分文本关联到系统已知的实体。为了执行此命名实体解析,NLU组件260可以使用存储在实体库存储装置582中的地名词典信息(584a至584n)。地名词典信息584可用于将文本数据中表示的文本与不同的实体(例如歌曲标题、联系人姓名等)进行匹配。地名词典可与用户关联(例如,特定的地名词典可与特定的用户的音乐收藏相关联),可以关联到某些功能类别(例如,购物、音乐、视频、通信等),或者可以以各种其他方式进行组织。
每个识别器563还可以包括意图分类(IC)组件564。IC组件564解析文本数据以确定与识别器563相关联的功能的可能对应于文本数据的意图。意图对应于响应于由文本数据表示的命令而要执行的动作。IC组件564可以与关联到意图的词的数据库578通信。例如,音乐意图数据库可以将例如“安静”、“音量关闭”和“静音”的词和短语关联到“静音”意图。IC组件564通过将文本数据中的词与意图数据库578中的词和短语进行比较来识别潜在意图,所述意图数据库和与实现IC组件564的识别器563相关联的功能相关联。
可以将特定IC组件564可识别的意图关联到具有要填充的“槽”的功能特定的(即,与实现IC组件564的识别器563相关联的功能)语法模型576。语法模型576的每个槽可以对应于系统认为对应于实体的文本数据的一部分。例如,对应于<播放音乐>意图的语法模型576可能对应于文本数据句子结构,例如“播放{艺术家姓名}”、“播放{专辑名称}”、“播放{歌曲名称}”、“播放{艺术家姓名}的{歌曲名称}”等。然而,为了使解析更灵活,语法模型576可以不被构造为句子,而是基于将槽与语法标签相关联。
例如,NER组件562可以在识别文本数据中的命名实体之前基于语法规则和/或模型解析文本数据以将词识别为主语、宾语、谓语、前置语等。IC组件564(由与NER组件562相同的识别器563实现)可以使用所识别的谓语来识别意图。NER组件562然后可以确定与所识别的意图相关联的语法模型576。例如,针对对应于<播放音乐>的意图的语法模型576可以指定适用于播放所识别宾语的槽列表和任何宾语修饰语(例如,介词短语),例如{艺术家姓名}、{专辑名称}、{歌曲名称}等。然后,NER组件562可以搜索和与实现NER组件562的识别器563相关联的功能相关联的词典586中的对应字段,并且可以将NER组件562先前标记为语法宾语或宾语修饰语的文本数据中的词和短语与在词典586中识别的那些词和短语匹配。
NER组件562可以执行语义标记,其为根据词的类型/语义含义对词或词的组合进行标记。NER组件562可以使用启发式语法规则来解析文本数据,或者可以使用例如隐马尔可夫模型、最大熵模型、对数线性模型、条件随机场(CRF)等技术来构建模型。例如,由音乐功能识别器563实现的NER组件562可以将对应于“播放滚石乐队的妈妈的小帮手”的文本解析并标记为{谓语}:“播放”、{宾语}:“妈妈的小帮手”、{宾语前置}:“由”,以及{宾语修饰语}:“滚石乐队”。NER组件562可以基于与音乐功能相关联的词数据库将“播放”识别为谓语,IC组件564(也可以由音乐功能识别器563实现)可以确定所述词对应于<播放音乐>意图。在此阶段,可能尚未确定“妈妈的小帮手”和“滚石乐队”的含义,但基于语法规则和模型,NER组件562可能已确定这些短语的文本与文本数据的语法对象(即实体)相关。
然后可以使用关联到意图的框架来确定可以搜索哪些数据库字段以确定这些短语的含义,例如搜索用户的地名词典584以获得与框架槽的相似性。例如,针对<播放音乐>意图的框架可能指示尝试解析基于{艺术家姓名}、{专辑名称}和{歌曲名称}已识别的宾语,并且相同意图的另一个框架可能指示尝试基于{艺术家姓名}解析宾语修饰语,并根据关联到已识别的{艺术家姓名}的{专辑名称}和{歌曲名称}解析宾语。如果地名词典584的搜索没有使用地名词典信息解析槽/字段,则NER组件562可以在知识库572中搜索与所述功能相关联的通用词的数据库。例如,如果文本数据包括与“播放滚石乐队的歌曲”相对应的文本,则在未能确定称为“滚石乐队”的“歌曲”的专辑名称或歌曲名称之后,NER组件562可以搜索功能的词汇表以查找“歌曲”这个词。在一些实施方案中,可以在地名词典信息之前检查通用词,或者可以尝试两者,这样可能产生两个不同的结果。
NLU组件260可以标记文本以对文本赋予含义。例如,NLU组件260可以将“播放滚石乐队的妈妈的小帮手”标记为{意图}:<播放音乐>、{艺术家姓名}:滚石乐队、{媒体类型}:歌曲,以及{歌曲名称}:妈妈的小帮手。在另一个示例中,NLU组件260可以将“播放滚石乐队的歌曲”标记为{意图}:<播放音乐>、{艺术家姓名}:滚石乐队,以及{媒体类型}:歌曲。
候选者列表器组件550可以接收从ASR组件250(如图6所示)输出的文本数据610。ASR组件250可以使用句子嵌入技术将文本数据610嵌入成训练模型可处理的形式。句子嵌入可以在文本数据610中包括文本,所述文本呈使候选者列表器组件550的训练模型能够对文本进行操作的结构形式。例如,文本数据610的嵌入可以是文本数据的向量表示。
候选者列表器组件550可以做出关于哪些技能290与文本数据610相关的二元确定(例如,是或否的确定)。候选者列表器组件550可以使用上文描述的一个或多个训练模型来做出此类确定。如果候选者列表器组件550为每个技能290实现单个训练模型,则候选者列表器组件550可以简单地运行与启用的应用程序相关联的模型,如与发起命令的用户装置110和/或用户相关联的简档中所指示。
候选者列表器组件550可以生成表示可以相对于文本数据610中表示的命令执行的应用程序的N-best列表数据。N-best列表数据中表示的N-best列表的大小是可配置的。在一个示例中,N-best列表数据可以指示系统的每个应用程序以及包含针对每个应用程序的关于所述应用程序是否可能能够执行文本数据610中表示的命令的指示。在另一个示例中,代替指示系统的每个应用程序,N-best列表数据可以仅指示可能能够执行文本数据610中表示的命令的所有应用程序。在又一个示例中,候选者列表器组件550可以实现阈值处理,使得N-best列表数据可以指示不超过可以执行文本数据610中表示的命令的最大数量的应用程序。在一个示例中,可以在N-best列表数据中表示的应用程序的阈值数量是十(10)。在另一个示例中,N-best列表数据中包括的应用程序可能受阈值得分的限制,其中只有指示处理命令的可能性的应用程序高于某个得分(如通过由候选者列表器组件550关于此类应用程序处理文本数据610所确定)。
NLU组件260可以将由处理输入到NLU组件260的文本数据的每个识别器563输出的数据编译成单个N-best列表,并且可以将N-best列表数据640(表示N-best列表)发送到删减组件650(如图6所示)。N-best列表数据640中的每个条目可以对应于由不同识别器563输出的标记文本。N-best列表数据640中的每个条目可以与相应得分相关联,所述相应得分指示标记文本对应于与从其输出标记文本的识别器563相关联的功能。例如,N-best列表数据640可以表示为:
[0.95]意图:<播放音乐> 来源:Alexa,SmartCar
[0.70]意图:<摇车窗> 来源:SmartCar
[0.01]意图:<导航> 来源:Alexa,SmartCar
[0.01]意图:<播放视频> 来源:Alexa
删减组件650基于N-best列表数据640创建新的、较短的N-best列表(即,在下面讨论的N-best列表数据660中表示)。删减组件650可以根据N-best列表数据640中表示的标记文本的相应得分对其进行排序。
删减组件650可以相对于N-best列表数据640执行得分阈值处理。例如,删减组件650可以选择在N-best列表数据640中表示的与符合(例如,满足和/或超过)得分阈值的得分相关联的条目。删减组件650还可以或替代地执行条目数量阈值处理。例如,删减组件650可以选择与在N-best列表数据640中表示的每个不同功能类别(例如,音乐、购物、通信等)相关联的得分最高的条目,其中新的N-best列表数据660包括满足或低于条目阈值数量的条目的总数。删减组件650的目的是创建得分最高的条目的新列表,以便下游、资源更密集的过程可以仅对最可能对应于输入到系统的命令的标记文本条目进行操作。
NLU组件260还可以包括轻量槽填充组件652。轻量槽填充组件652可以从由删减组件650输出的一个或多个标记文本条目中表示的槽中获取文本,并对其进行修改以使文本更容易由下游组件处理。轻量槽填充组件652可以执行不涉及例如参考知识库的繁重操作的低延迟操作。轻量槽填充组件652的目的是用下游组件可能更容易理解的其他词或值替换词。例如,如果标记文本条目包括词“明天”,则轻量槽填充组件652可以用实际日期替换词“明天”以进行下游处理。类似地,轻量槽填充组件652可以用“专辑”或词“光盘”替换词“CD”。然后,所替换的词包括在N-best列表数据660中。
NLU组件260将N-best列表数据660发送到实体解析组件670。实体解析组件670可以应用规则或其他指令来将来自先前阶段的标签或令牌标准化为意图/槽表示。精确的变换可以取决于功能(例如,对于旅行功能,实体解析组件670可以将“波士顿机场”的文本提及转变为指代机场的标准BOS三字母代码)。实体解析组件670可以参考权威来源(例如,知识库),所述权威来源用于具体识别在N-best列表数据660中表示的每个标记文本条目的每个槽中引用的精确实体。特定的意图/槽组合也可以与特定的来源相关联,所述特定的来源然后可以用于解析文本。在示例“播放滚石乐队的歌曲”中,实体解析组件670可以参考个人音乐目录、亚马逊音乐账户、用户简档(本文描述)等。实体解析组件670可以输出包括改变的N-best列表的数据,所述改变的N-best列表基于在N-best列表数据660中表示的N-best列表,但也包括关于槽中提及的特定实体的更详细信息(例如,实体ID)和/或最终可以由功能使用的更详细的槽数据。NLU组件260可以包括多个实体解析组件670并且每个实体解析组件670可以特定于一个或多个功能。
实体解析组件670可能无法成功解析每个实体并填充N-best列表数据660中表示的每个槽。这可能导致实体解析组件670输出不完整的结果。NLU组件260可包括最终排序器组件690,所述最终排序器组件可在确定如何对标记的文本条目进行排序以进行可能的执行时考虑此类错误。例如,如果书籍功能识别器563输出包括<阅读书籍>意图标志的标记文本条目,但实体解析组件670找不到标题与项目文本匹配的书,则最终排序器组件690可以对得到较低得分的特定的标记文本条目重新评分。最终排序器组件690还可以将特定置信度分配给其中输入的每个标记文本条目。特定的标记文本条目的置信度得分可能会受到标记文本条目是否具有未填充槽的影响。例如,如果与第一功能相关联的标记文本条目包括全部被填充/解析的槽,则所述标记文本条目可以与比包括至少一些未填充/未解析槽的另一个标记文本条目更高的置信度相关联。
最终排序器组件690可以应用重新评分、偏置或其他技术来获得最优选的标记和解析的文本条目。为此,最终排序器组件690不仅可以考虑实体解析组件670输出的数据,还可以考虑其他数据691。其他数据691可以包括各种信息。例如,其他数据691可以包括功能评级或流行度数据。例如,如果一个功能具有特别高的评级,则最终排序器组件690可以增加与所述特定功能相关联或以其他方式调用所述特定功能的一个或多个标记文本条目的得分。其他数据691还可以包括关于已经由用户特别启用的功能的信息。例如,与和非启用功能相关联或以其他方式调用非启用功能的标记文本条目相比,最终排序器组件690可以将更高得分分配给与启用功能相关联或以其他方式调用启用功能的标记文本条目。也可以考虑用户历史,例如用户是否定期使用特定功能或在一天中的特定时间使用特定功能。还可以考虑日期、时间、位置、天气、用户装置110的类型、用户ID、上下文和其他信息。例如,最终排序器组件690可以考虑任何特定功能何时处于当前活动状态(例如,正在播放音乐、正在玩游戏等)。在最终排序之后,NLU组件260可以将NLU输出数据685输出到协调器组件240。NLU输出数据685可以包括各种条目,其中每个条目表示NLU处理置信度得分、意图、槽数据和潜在技能或可能相对于相应条目的数据操作的技能。
在初步排序之后,NLU组件260可以输出NLU结果数据685。NLU组件260可以将NLU结果数据685发送到协调器组件240。NLU结果数据685可以包括:第一NLU结果数据685a,其包括与第一语音处理系统相关联的标记文本;第二NLU结果数据685b,其包括与第二语音处理系统相关联的标记文本等。NLU结果数据685可以包括与由初步排序器组件690确定的得分最高的标记文本条目相对应的标记文本数据。
从NLU组件260输出的数据685可以包括NLU结果的N-best列表,其中N-best列表中的每个项目可以对应于特定的识别器563和对应的技能290。因此,例如,N-best列表的第一NLU结果可以与第一技能290a相关联,N-best列表的第二NLU结果可以与第二技能290b相关联,N-best列表的第三NLU结果可以与第三技能290c相关联等。此外,第一NLU结果可以对应于标记为使第一技能290a能够相对于第一NLU结果执行的属性含义的文本,第二NLU结果可以对应于标记为使第二技能290b能够相对于第二NLU结果执行的属性含义的文本,第三NLU结果可以对应于标记为使第三技能290c能够相对于第三NLU结果执行的属性含义的文本等。数据685还可以包括对应于N-best列表中的每个项目的得分。或者,输出到特定技能290的NLU结果数据685可以包括由特定技能的识别器563输出的NER和IC数据,而输出到协调器组件240的NLU结果数据685可以仅包括NLU结果数据685的一部分,例如与某些技能对应的得分。
系统可以配置有数千、数万等的技能290。协调器组件240使系统能够更好地确定执行输入到系统的命令的最佳技能290。例如,第一NLU结果可以对应于或基本上对应于第二NLU结果,即使第一NLU结果由第一技能290a操作并且第二NLU结果由第二技能290b操作。第一NLU结果可以与第一置信度得分相关联,所述第一置信度得分指示系统关于为生成第一NLU结果而执行的NLU处理的置信度。此外,第二NLU结果可以与第二置信度得分相关联,所述第二置信度得分指示系统关于为生成第二NLU结果而执行的NLU处理的置信度。第一置信度得分可以与第二置信度得分相似或相同,因为第一NLU结果对应于或基本上对应于第二NLU结果。第一置信得分和/或第二置信得分可以是数值(例如,从0.0到1.0)。或者,第一置信度得分和/或第二置信度得分可以是分组值(例如,低、中、高)。
协调器组件240可以请求第一技能290a和第二技能290b分别基于第一NLU结果和第二NLU结果提供潜在结果数据。例如,协调器组件240可以将第一NLU结果连同对第一技能290a的请求一起发送到第一技能290a,以至少部分地执行关于第一NLU结果的命令。协调器组件240还可以将第二NLU结果连同对第二技能290b的请求一起发送到第二技能290b,以至少部分地执行关于第一NLU结果的命令。协调器组件240从第一技能290a接收从第一技能相对于第一NLU结果的执行生成的第一结果数据。协调器组件240还从第二技能290b接收从第二技能相对于第二NLU结果的执行生成的第二结果数据。
结果数据685可以包括各种成分。例如,结果数据685可以包括要输出给用户的内容(例如,音频数据、文本数据和/或视频数据)。结果数据685还可以包括由远程系统120和/或技能服务器225用于定位要输出给用户的数据的唯一标识符(ID)。结果数据685还可以包括指令。例如,如果命令对应于“打开灯”,则结果数据685可以包括使系统打开与用户装置110和/或用户的简档相关联的灯的指令。
协调器组件240可以在将NLU结果数据685发送到协调器组件240之前将NLU结果数据685中的意图与技能290相关联。例如,如果NLU结果数据685包括<播放音乐>意图,则协调器组件240可以将NLU结果数据685与可以执行<播放音乐>意图的一个或多个技能290相关联。因此,协调器组件240可以将与技能290配对的NLU结果数据685发送到协调器组件240。响应于对应于“今天晚餐我应该做什么”的输入文本数据,协调器组件240可以生成具有对应于以下项的相关联意图的技能对290:
技能1/<摇下车窗>
技能2/<开始导航>
技能3/<播放音乐>
不使用如上所述的协调器组件240的系统可以替代地选择与单个技能相关联的得分最高的初步排序的NLU结果数据685。系统可以将NLU结果数据685连同对输出数据的请求一起发送到技能290。在一些情况下,技能290可能无法向系统提供输出数据。这导致系统向用户指示无法处理命令,即使与较低等级的NLU结果数据685相关联的另一技能可能已经提供响应于所述命令的输出数据。
图7中示出可用于执行单元选择、参数TTS处理和/或基于模型的音频合成的系统组件。如图7所示,TTS组件/处理器780可以包括TTS前端716、语音合成引擎718、TTS单元存储装置772、TTS参数存储装置780和TTS后端734。除其他之外,TTS单元存储装置772可以包括话音清单778a-288n,其可以包括单元选择引擎730在执行如下所述的单元选择合成时使用的预先记录的音频段(称为单元)。除其他之外,TTS参数存储装置780可以包括参数设置768a-268n,其可以在执行如下所述的参数合成时由参数合成引擎732使用。一组特定的参数设置768可以对应于特定的话音简档(例如,耳语的语音、兴奋的语音等)。
在本发明的各种实施方案中,可以使用语音模型722和TTS前端716来执行基于模型的音频数据合成。TTS前端716可以与传统单元选择或参数系统中使用的前端相同。在其他实施方案中,TTS前端716的一些或所有组件基于其他训练模型。然而,本发明不限于任何特定类型的TTS前端716。语音模型722可用于合成语音而不需要TTS单元存储装置772或TTS参数存储装置780,如下文更详细地描述。
TTS前端716将输入文本数据710(来自例如应用程序、用户、装置或其他文本源)转变为符号语言表示,所述符号语言表示可以包括语言上下文特征,例如音素数据、标点符号数据、音节级特征、词级特征和/或情绪、说话者、口音或其他特征,以供语音合成引擎718处理。音节级特征可以包括音节强调、音节语速、音节屈折变化或其他此类音节级特征;词级特征可以包括词强调、词语速、词屈折变化或其他此类词级特征。情绪特征可以包括对应于与输入文本数据710相关联的情绪的数据,例如惊讶、愤怒或恐惧。说话者特征可以包括对应于说话者类型的数据,例如性别、年龄或职业。口音特征可以包括对应于与说话者相关的口音的数据,例如南方口音、波士顿口音、英语口音、法语口音或其他此类口音。
TTS前端716还可以处理其他输入数据715,例如文本标签或文本元数据,这些输入数据可以例如通过在根据语音合成标记语言(SSML)或以某种其他形式格式化的标记中指示所需的输出语音质量来指示例如特定词的发音方式。例如,第一文本标签可以包括在文本中,标记应何时开始耳语文本(例如,<开始耳语>),并且第二标签可以包括在文本中,标记应何时结束耳语文本(例如,<结束耳语>)。标签可以包括在输入文本数据710中和/或用于TTS请求的文本可以伴随有单独的元数据,指示应该耳语什么文本(或具有一些其他指示的音频特性)。语音合成引擎718可以比较带注释的语音单元模型和存储在TTS单元存储装置772和/或TTS参数存储装置780中的信息,以将输入文本转换成语音。例如,TTS前端716和语音合成引擎718可以包括它们自身的控制器/处理器和存储器,或者它们可以使用服务器120、装置110或其他装置的控制器/处理器和存储器。类似地,用于操作TTS前端716和语音合成引擎718的指令可以位于TTS组件780内、服务器120、装置110的存储器和/或存储装置内,或外部装置内。
可以将输入到TTS组件780的文本数据710发送到TTS前端716以进行处理。前端可以包括用于执行文本规范化、语言分析、语言韵律生成的组件或其他此类组件。在文本规范化过程中,TTS前端716可以首先处理文本输入,并且生成标准文本,从而将数字、缩写(如Apt.、St.等)、符号($、%等)转换为写出来的词的等效物。
在语言分析期间,TTS前端716可以分析规范化文本中的语言以生成对应于输入文本的语音单元序列。这个过程可以称为字素到音素的转换。语音单元包括声音单元的符号表示,这些声音单元最终将被系统组合并作为语音输出。为了语音合成的目的,可以使用各种声音单元来划分文本。TTS组件780可以基于音素(单独的声音)、半音素、二元音素(一个音素的后半部与相邻音素的前半部耦合)、双音素(两个连续的音素)、音节、词、短语、句子或其他单元来处理语音。可以将每个词映射到一个或多个语音单元。这种映射可以使用系统例如在TTS存储组件772中存储的语言词典来执行。TTS前端716执行的语言分析还可以识别不同的语法成分,例如前缀、后缀、短语、标点、句法边界等。TTS组件780可以使用此类语法成分来制作听起来自然的音频波形输出。语言词典还可以包括字母到声音的规则和其他工具,这些工具可以用于发出以前未识别的词或TTS组件780可能遇到的字母组合。一般来说,语言词典中包含的信息越多,语音输出的质量就越高。
基于语言分析,TTS前端716然后可以执行语言韵律生成,其中语音单元用期望的韵律特征(也称为声学特征)进行注释,其指示期望的语音单元在最终输出语音中将如何发音。在这个阶段,TTS前端716可以考虑并结合伴随输入到TTS组件780的文本的任何韵律注释。此类声学特征可以包括音节级特征、词级特征、情绪、说话者、口音、语言、音高、能量、持续时间等。声学特征的应用可以基于TTS组件780可用的韵律模型。这种韵律模型表明特定语音单元在特定情况下的发音方式。韵律模型可以考虑例如音素在音节中的位置、音节在词中的位置、词在句子或短语中的位置、相邻的语音单元等。与语言词典一样,与具有较少信息的韵律模型相比,具有较多信息的韵律模型可能会产生更高质量的语音输出。此外,可以使用韵律模型和/或语音单元来指示要合成的语音的特定语音质量,其中这些语音质量可以匹配输入语音的语音质量(例如,语音单元可以基于正在耳语的输入语音指示要使最终合成的语音听起来像耳语的韵律特征)。
可称为符号语言表示的TTS前端716的输出可包括用韵律特征注释的语音单元序列。可以将此符号语言表示发送到也可称为合成器的语音合成引擎718,用于转换成语音的音频波形以输出到音频输出装置并最终输出到用户。语音合成引擎718可以被配置为以有效的方式将输入文本转换成高质量自然发音的语音。此类高质量语音可以被配置为听起来尽可能像人类说话者,或者可以被配置为听众可以理解而无需尝试模仿精确的人类话音。
语音合成引擎718可以使用一种或多种不同的方法来执行语音合成。在下文进一步描述的称为单元选择的一种合成方法中,单元选择引擎730将由TTS前端716创建的符号语言表示与记录语音的数据库相匹配,所述数据库例如存储关于一个或多个话音语料库的信息(例如,话音清单778a-n)的数据库(例如,TTS单元存储装置772)。每个语音清单可以对应于由说话的人(例如配音演员)记录的各个音频片段,其中这些片段作为声学单元(例如,音素、二元音素等)存储在单独的清单778中。每个存储的音频单元还可以与列出各种声学特性或关于所述单元的其他描述性信息的索引相关联。每个单元包括与语音单元相对应的音频波形,例如特定声音的短.wav文件,以及与音频波形相关联的各种特征的描述。例如,特定单元的索引条目可以包括例如特定单元的音高、能量、持续时间、谐波、中心频率、语音单元在词、句子或短语中出现的位置、相邻语音单元等。然后,单元选择引擎730可以使用关于每个单元的信息来选择要连接在一起以形成语音输出的单元。
单元选择引擎730将符号语言表示与关于数据库中的口语音频单元的信息进行匹配。单元数据库可以包括语音单元的多个示例,以向系统提供用于将单元连接成语音的许多不同选项。选择被确定为具有期望的声学质量以创建期望的输出音频的匹配单元并将其连接在一起(例如通过合成组件720)以形成表示合成语音的输出音频数据212。使用单元数据库中的所有信息,单元选择引擎730可以将单元与输入文本匹配以选择可以形成自然发声波形的单元。单元选择的一个好处是,取决于数据库的大小,可以生成自然发声语音输出。如上所述,话音语料库的单元数据库越大,系统就越有可能构建自然发声语音。
在另一种合成方法(称为参数合成)中,例如频率、音量、噪音的参数由参数合成引擎732、数字信号处理器或其他音频生成装置改变,以创建人工语音波形输出。参数合成使用计算机化话音发生器,有时也被称为声码器。参数合成可以使用声学模型和各种统计技术来将符号语言表示与期望的输出语音参数相匹配。使用参数合成,计算系统(例如,合成组件720)可以生成具有所需声学特性的音频波形。参数合成可能包括在高处理速度下准确的能力,以及在没有与单元选择相关联的大型数据库的情况下处理语音的能力,但也可能产生可能与单元选择不匹配的输出语音质量。单元选择和参数技术可以单独执行或组合在一起和/或与其他合成技术组合以产生语音音频输出。
TTS组件780可以被配置为以多种语言执行TTS处理。对于每种语言,TTS组件780可以包括专门配置的数据、指令和/或组件从而以所需语言合成语音。为了提高性能,TTS组件780可以基于TTS处理结果的反馈来修改/更新TTS存储装置780的内容,从而使TTS组件780能够改进语音辨识。
TTS存储组件780可以基于单个用户的个性化期望语音输出而针对单个用户定制。特别地,存储在单元数据库中的语音单元可以从用户说话的输入音频数据获得。例如,为了创建系统的定制语音输出,系统可以配置有多个话音清单778a-278n,其中每个单元数据库配置有不同的“话音”以匹配所需的语音质量。此类话音清单也可以关联到用户账户。由TTS组件780选择用于合成语音的话音。例如,可以存储一个话音语料库以用于合成耳语语音(或近似耳语语音的语音),可以存储另一个话音语料库以用于合成兴奋的语音(或近似于兴奋的语音的语音)等等。为了创建不同的话音语料库,可以由个人(例如配音演员)说出大量TTS训练话音并由系统记录下来。然后可以将与TTS训练话语相关联的音频分割成小的音频片段并存储为话音语料库的一部分。说出TTS训练话语的个人可以用不同的话音质量说话,以创建定制的话音语料库,例如,个人可以低声说出训练话语,以兴奋的声音说出训练话语等等。因此,每个定制话音语料库的音频可以匹配各自期望的语音质量。然后可以在运行时间期间使用定制的语音清单778来执行单元选择,以合成具有与输入语音质量相对应的语音质量的语音。
此外,参数合成可用于合成具有所需语音质量的语音。对于参数合成,可以配置与期望语音质量相匹配的参数特征。如果需要模拟兴奋的语音,参数特征可以指示所产生语音的增加的语速和/或音高。许多其他实例也是可能的。特定语音质量的期望参数特征可以存储在“话音”简档(例如,参数设置768)中并且在期望特定语音质量时用于语音合成。可以基于组合的多个所需语音质量(用于单元选择或参数合成)创建定制话音。例如,一个话音可以“喊叫”,而另一个话音可以“喊叫并重读”。许多这样的组合是可能的。
单元选择语音合成可以如下执行。单元选择包括两步过程。首先,单元选择引擎730确定要使用什么语音单元,然后将它们组合起来,以使特定组合单元匹配所需的音素和声学特征并创建所需的语音输出。可以基于成本函数来选择单元,所述成本函数表示特定单元与要合成的语音段的匹配程度。成本函数可以表示不同成本的组合,这些成本表示特定语音单元对特定语音片段的工作情况的不同方面。例如,目标成本表示单个给定语音单元与所需语音输出的特征(例如,音高、韵律等)的匹配程度。连接成本表示特定语音单元与相邻语音单元(例如,直接出现在特定语音单元之前或之后的语音单元)的匹配程度,以便在最终合成语音中将语音单元连接在一起。总成本函数是目标成本、连接成本和可由单元选择引擎730确定的其他成本的组合。作为单元选择的一部分,单元选择引擎730选择具有最低总组合成本的语音单元。例如,如果连接成本很高,则不一定要选择目标成本非常低的语音单元。
系统可以配置有用于单元选择的一个或多个话音语料库。每个话音语料库可以包括语音单元数据库。语音单元数据库可以存储在TTS单元存储装置772或另一个存储组件中。例如,不同的单元选择数据库可以存储在TTS单元存储装置772中。每个语音单元数据库(例如,话音清单)包括记录的语音话语,其中话语的对应文本与话语对准。语音单元数据库可能包括许多小时的录制语音(以音频波形、特征向量或其他格式的形式),这可能会占用大量存储空间。语音单元数据库中的单元样本可以通过多种方式分类,包括通过语音单元(音素、二元音素、词等)、语言韵律标签、声学特征序列、说话者身份等。样本话语可用于创建与特定语音单元的期望音频输出相对应的数学模型。当匹配符号语言表示时,语音合成引擎718可以尝试在语音单元数据库中选择与输入文本最匹配的单元(包括语音单元和韵律注释)。一般来说,话音语料库/语音单元数据库越大,语音合成的效果就越好,因为可以选择更多数量的单元样本来形成精确的期望语音输出。
基于声码器的参数语音合成可以如下执行。TTS组件780可以包括声学模型或其他模型,其可以基于音频信号操纵将符号语言表示转换为文本输入的合成声学波形。声学模型包括可由参数合成引擎732用来将特定音频波形参数分配给输入语音单元和/或韵律注释的规则。所述规则可用于计算表示特定音频输出参数(例如频率、音量等)与来自TTS前端716的输入符号语言表示部分相对应的可能性的得分。
参数合成引擎732可以使用多种技术来匹配要合成的语音与输入语音单元和/或韵律注释。一种常见的技术是使用隐马尔可夫模型(HMM)。HMM可用于确定音频输出应与文本输入匹配的概率。HMM可用于将来自语言和声学空间的参数转换为声码器(数字话音编码器)使用的参数,以人工合成所需的语音。使用HMM,呈现了许多状态,其中状态一起表示要输出到声码器的一个或多个潜在声学参数,并且每个状态与模型相关联,例如高斯混合模型。状态之间的转换也可能具有关联的概率,表示可以从先前状态到达当前状态的可能性。要输出的声音可以表示为HMM状态之间的路径,并且多个路径可以表示相同输入文本的多个可能的音频匹配。文本的每个部分可以由与不同已知音素发音及其部分(例如音素标识、重音、口音、位置等)相对应的多个潜在状态表示。潜在音素的概率的初始确定可以与一种状态相关联。当语音合成引擎718处理新文本时,状态可以基于新文本的处理而改变或保持不变。例如,先前处理过的词的发音可能会根据后来处理过的词而改变。可以使用维特比算法根据处理后的文本找到最可能的状态序列。HMM可以生成参数化形式的语音,包括例如基频(f0)、噪音包络、频谱包络等的参数,这些参数由声码器转换成音频片段。可以为特定的声码器配置输出参数,例如STRAIGHT声码器、TANDEM-STRAIGHT声码器、WORLD声码器、基于HNM(谐波加噪音)的声码器、CELP(码激励线性预测)声码器、GlottHMM声码器、HSM(谐波/随机模型)声码器或其他声码器。
除了将一个音频波形的潜在状态计算为与语音单元的潜在匹配之外,参数合成引擎732还可以将其他潜在音频输出(例如发出特定音素或二元音素的各种方式)的潜在状态计算为声学单元的潜在声学匹配。以这种方式,可以计算多个状态和状态转换概率。
由参数合成引擎732计算的可能状态和可能状态转换可以导致多个潜在音频输出序列。基于声学模型和其他潜在模型,可以根据参数合成引擎732的置信度水平对潜在音频输出序列进行评分。可以选择包括要合成的参数流的得分最高的音频输出序列,并且可以由声码器或类似组件执行数字信号处理以创建音频输出,所述音频输出包括与得分最高的音频输出序列的参数相对应并且如果选择正确的序列,也与输入文本相对应的合成语音波形。可以表示与特定参数“话音”匹配的声学设置的不同参数设置768可以由合成组件722使用以最终创建输出音频数据212。
在进行单元选择时,在单元选择引擎730选择单元后,可以将与所述单元对应的音频数据传递给音频数据修改组件720。然后,音频数据修改组件720可以处理所述单元的音频数据以创建修改的音频数据,其中修改的音频数据反映期望的音频质量。音频数据修改组件720可以存储可以将单元音频数据转换成修改的音频数据的各种操作,其中可以基于期望的音频效果(例如,耳语、喊叫等)来执行不同的操作。
例如,输入文本可以与元数据(例如SSML标签)一起接收,指示输入文本的选定部分在由TTS模块780输出时应该被耳语。对于对应于选定部分的每个单元,音频数据修改组件720可以处理所述单元的音频数据以创建修改后的单元音频数据。然后可以连接修改的单元音频数据以形成输出音频数据212。修改后的单元音频数据也可以与未修改的音频数据连接,这取决于所需的耳语语音何时开始和/或结束。虽然修改后的音频数据可能足以使输出音频数据具有所需的音频质量,但其他因素也可能影响音频的最终输出,例如播放速度、背景效果等,这些可能超出了TTS模块780的控制范围。在那种情况下,其他输出数据785可以与输出音频数据212一起输出,使得最终回放装置(例如,装置110)接收可以帮助创建期望的输出音频的回放指令。因此,其他输出数据785可以包括指示回放装置设置(例如音量、回放速率等)的指令或其他数据,或指示应如何输出包括合成语音的输出音频数据的其他数据。例如,对于耳语语音,输出音频数据212可以包括其他输出数据785,所述其他输出数据可以包括韵律标签或其他指示符,其指示装置110减慢输出音频数据212的回放,从而产生通常比正常语音慢的更像耳语语音的最终音频声音。在另一示例中,其他输出数据785可以包括音量标签,其指示装置110以小于装置110的当前音量设置的音量级别输出语音,从而改善安静的耳语效果。
如图8所示,用户辨识组件295可以包括一个或多个子组件,包括视觉组件808、音频组件810、生物特征组件812、射频(RF)组件814、机器学习(ML)组件816以及辨识置信度组件818。在一些情况下,用户辨识组件295可以监视来自一个或多个子组件的数据和确定以确定与输入到系统的数据相关联的一个或多个用户的身份。用户辨识组件295可以输出用户辨识数据895,其可以包括与系统认为正发起向系统输入数据的用户相关联的用户标识符。如下所述,用户辨识数据895可用于通知由协调器240(或其子组件)执行的过程。
视觉组件808可以从能够提供图像的一个或多个传感器(例如,相机)或指示运动的传感器(例如,运动传感器)接收数据。视觉组件808可以执行面部辨识或图像分析以确定用户的身份并将所述身份与和用户相关联的用户简档相关联。在一些情况下,当用户面对相机时,视觉组件808可以执行面部辨识并以高度的置信度识别用户。在其他情况下,视觉组件808可能对用户的身份具有低置信度,并且用户辨识组件295可以利用来自附加组件的确定来确定用户的身份。视觉组件808可以与其他组件结合使用以确定用户的身份。例如,用户辨识组件295可以使用来自视觉组件808的数据和来自音频组件810的数据来识别在用户装置110捕获音频的同时用户的面部看起来正在说话,以用于识别向用户装置110说出输入的用户。
用户装置110可以包括将数据传输到生物特征组件812的生物特征传感器。例如,生物特征组件812可以接收与指纹、虹膜或视网膜扫描、热扫描、用户的体重、用户的体型、压力(例如,在地板传感器内)等相对应的数据,并且可以确定对应于用户的生物特征简档。例如,生物特征组件812可以区分用户和来自电视的声音。因此,生物特征组件812可以将生物特征信息合并到置信度水平中以确定用户的身份。
RF组件814可以使用RF定位来跟踪用户可能携带或佩戴的装置。例如,用户可能与装置相关联。所述装置可以发射RF信号(例如,Wi-Fi、等)。用户装置110可以检测信号并向RF组件814指示信号的强度(例如,作为接收信号强度指示(RSSI))。RF组件814可以使用RSSI来确定用户的身份(具有相关联的置信度水平)。在一些情况下,RF组件814可以确定接收到的RF信号与和特定用户标识符相关联的移动装置相关联。
在一些情况下,用户装置110可以包括一些RF或其他检测处理能力,使得说出输入的用户可以扫描、点击或以其他方式向用户装置110确认他/她的个人装置。以此方式,用户可以向用户装置110“注册”,以便用户装置110确定谁说出了特定输入。这种注册可以在说出输入之前、期间或之后发生。
ML组件816可以跟踪各种用户的行为,作为确定用户身份的置信度水平的一个因素。例如,用户可以遵守有规律的时间表,使得用户在白天(例如,在工作或在学校)处于第一位置。在此示例中,ML组件816将过去的行为和/或趋势作为因素来确定向用户装置110提供输入的用户的身份。因此,ML组件816可以随时间使用历史数据和/或使用模式来提高或降低用户身份的置信度水平。
在一些情况下,辨识置信度组件818从各种组件808、810、812、814和816接收确定,并且可以确定与用户的身份相关联的最终置信度水平。置信度水平或其他得分数据可以包括在用户辨识数据895中。
音频组件810可以从能够提供音频信号的一个或多个传感器(例如,一个或多个麦克风)接收数据以促进辨识用户。音频组件810可以对音频信号执行音频辨识以确定用户的身份和相关联的用户标识符。在一些情况下,音频组件810可以执行话音辨识以确定用户的身份。
音频组件810还可以基于用户装置110接收到的音频来执行用户辨识。音频组件810可以确定指示音频中的语音是否源自特定用户的得分。例如,第一得分可以指示音频中的语音源自与第一用户标识符相关联的第一用户的可能性,第二得分可以指示音频中的语音源自与第二用户标识符相关联的第二用户的可能性等。音频组件810可以通过将表示音频的音频特征与用户的所存储音频特征进行比较来执行用户辨识。
图9是概念上示出可与系统一起使用的用户装置110的框图。图10是概念性地示出远程装置的示例组件的框图,例如可以辅助ASR处理、NLU处理等的系统120和技能系统225。如本文所用的术语“服务器”可以指在服务器/客户端计算结构中理解的传统服务器,但也可以指可以帮助本文讨论的操作的多个不同计算组件。例如,服务器可包括物理地和/或通过网络连接到其他装置/组件并且能够执行计算操作的一个或多个物理计算组件(例如机架服务器)。服务器还可包括模拟计算机系统并在一个装置上或跨多个装置运行的一个或多个虚拟机。服务器还可包括硬件、软件、固件等的其他组合以执行本文讨论的操作。服务器可被配置为使用客户端服务器模型、计算机局模型、网格计算技术、雾计算技术、大型机技术、实用程序计算技术、对等模型、沙盒技术或其他计算技术中的一者或多者进行操作。
系统中可包括多个服务器(120/225),例如用于执行ASR处理的一个或多个服务器120、用于执行NLU处理的一个或多个服务器120、用于执行响应于用户输入的动作的一个或多个技能系统225等。在操作中,这些装置(或装置组)中的每一者可包括驻留在相应的装置(120/225)上的计算机可读且计算机可执行指令,如将在下面进一步讨论。
这些装置(110/120/225)中的每一者可包括一个或多个控制器/处理器(904/1004),所述控制器/处理器可各自包括用于处理数据和计算机可读指令的中央处理单元(CPU)以及用于存储相应装置的数据和指令的存储器(906/1006)。存储器(906/1006)可单独地包括易失性随机存取存储器(RAM)、非易失性只读存储器(ROM)、非易失性磁阻存储器(MRAM)和/或其他类型的存储器。每个装置(110/120/225)还可包括用于存储数据和控制器/处理器可执行指令的数据存储组件(908/1008)。每个数据存储组件(908/1008)可单独地包括一个或多个非易失性存储装置类型,例如磁存储装置、光学存储装置、固态存储装置等。每个装置(110/120/225)还可通过相应的输入/输出装置接口(902/1002)连接到可移动或外部非易失性存储器和/或存储装置(例如可移动存储卡、存储键驱动器、联网存储装置等)。
用于操作每个装置(110/120/225)及其各种组件的计算机指令可由相应的装置控制器/处理器(904/1004)在运行时将存储器(906/1006)用作暂时“工作”存储装置来执行。装置的计算机指令可以非暂时性方式存储在非易失性存储器(906/1006)、存储装置(908/1008)或外部装置中。可选地,除了或代替软件,可以将可执行指令中的一些或全部嵌入在相应装置上的硬件或固件中。
每个装置(110/120/225)包括输入/输出装置接口(902/1002)。各种组件可通过输入/输出装置接口(902/1002)进行连接,如将在下面进一步讨论。另外,每个装置(110/120/225)可包括用于在相应装置的组件之间传送数据的地址/数据总线(924/1024)。除了(或代替)跨总线(924/1024)连接到其他组件,装置(110/120/225)内的每个组件还可直接连接到其他组件。
参考图9,用户装置110可包括输入/输出装置接口902,所述输入/输出装置接口连接到各种组件,例如音频输出组件,例如扬声器912、有线耳机或无线耳机(未示出),或者能够输出音频的其他组件。用户装置110还可包括音频捕获组件。音频捕获组件可为例如麦克风920或麦克风阵列、有线耳机或无线耳机(未示出)等。如果包括麦克风阵列,则可基于由阵列中的不同的麦克风捕获到的声音之间的时间和振幅差异通过声学定位来确定到声音的起源点的近似距离。用户装置110可另外地包括用于显示内容的显示器916。用户装置110还可包括相机918。
经由天线914,输入/输出装置接口902可经由无线局域网(WLAN)(例如Wi-Fi)无线电、蓝牙和/或无线网络无线电连接到一个或多个网络199,所述无线网络无线电例如能够与例如长期演进(LTE)网络、WiMAX网络、3G网络、4G网络、5G网络等无线通信网络进行通信的无线电。也可支持有线连接,例如以太网。通过网络199,系统可分布在网络环境中。I/O装置接口(902/1002)还可包括通信组件,所述通信组件允许在装置(例如服务器的集合中的不同物理服务器或其他组件)之间交换数据。
装置110、系统120或技能系统225的组件可包括它们自身的专用处理器、存储器和/或存储装置。可选地,装置110、系统120或技能系统225的组件中的一个或多个可分别利用装置110、系统120或技能系统225的I/O接口(902/1002)、处理器(904/1004)、存储器(906/1006)和/或存储装置(908/1008)。因此,ASR组件250可具有其自身的I/O接口、处理器、存储器和/或存储装置;NLU组件260可具有其自身的I/O接口、处理器、存储器和/或存储装置;并且对于本文讨论的各种组件,依此类推。
如上所述,可在单个系统中采用多个装置。在这样的多装置系统中,装置中的每一个可包括用于执行系统处理的不同方面的不同组件。多个装置可包括重叠的组件。如本文所述,用户装置110、系统120和技能系统225的组件是说明性的,并且可被定位为独立装置或者可全部地或部分地包括为更大装置或系统的组件。
如图11所示,多个装置(110a–110g、120、225)可包含系统的组件,并且装置可通过网络199进行连接。网络199可包括本地或专用网络,或者可包括广域网(例如互联网)。装置可通过有线或无线连接来连接到网络199。例如,车辆110a、智能手机110b、智能手表110c、平板计算机110d、车辆110e、显示车辆110f和/或智能电视机110g可通过无线服务提供商、通过Wi-Fi或蜂窝网络连接等连接到网络199。包括其他装置作为连接网络的支持装置,例如系统120、技能系统225和/或其他装置。支持装置可通过有线连接或无线连接来连接到网络199。网络装置可使用一个或多个内置或连接的麦克风或其他音频捕获装置来捕获音频,其中处理由同一装置或经由网络199连接的另一个装置的ASR组件、NLU组件或其他组件(例如,一个或多个服务器120的ASR组件250、NLU组件260等)执行。
还可鉴于以下条款来理解前述内容:
1.一种用于处理表示口头命令的数据的方法,所述方法包括:
从话音控制装置接收表示话语的第一音频数据;
确定所述第一音频数据包括:
音频数据的第一部分,所述第一部分表示与具有合成语音的第一风格的第一语音处理系统相对应的唤醒词,以及
音频数据的第二部分,所述第二部分表示命令;
确定与所述命令相关联的域;
确定所述域与具有合成语音的第二风格的第二语音处理系统相关联;
从所述第一语音处理系统向所述第二语音处理系统发送包括所述命令的命令数据;
从所述第二语音处理系统接收对所述命令的第一响应,所述第一响应包括与合成语音的所述第二风格相对应的第一自然语言的表示;
使用所述第一语音处理系统和所述第一响应确定对所述命令的第二响应,所述第二响应包括与合成语音的所述第一风格相对应的第二自然语言的表示;以及
向所述话音控制装置发送对应于所述第二响应的第二音频数据。
2.如条款1所述的方法,所述方法还包括:
确定所述命令对应于稍后发生的动作集;以及
从所述第二语音处理系统向所述话音控制装置发送执行所述动作的第二命令,
其中所述第二音频数据包括所述第二语音处理系统的名称的表示。
3.如条款1或2所述的方法,所述方法还包括:
从所述话音控制装置接收代表第二话语的第三音频数据;
确定所述第三音频数据对应于第二命令;
确定所述第二命令对应于用户附近的用户装置;以及
经由应用程序接口向所述用户装置发送对应于所述第二命令的指令。
4.一种计算机实现的方法,所述计算机实现的方法包括:
接收对应于命令的输入数据;
使用第一自然理解系统确定所述命令与第二自然理解系统相关联;
从所述第一自然理解系统向所述第二自然理解系统发送对应于所述命令的第一数据;
从所述第二自然理解系统接收对应于对所述命令的第一响应的第二数据,所述第二数据包括所述第二自然理解系统的第一指示;
使用所述第一自然理解系统和所述第二数据确定对应于对所述命令的第二响应的第三数据,所述第三数据包括所述第一自然理解系统的第二指示;以及
产生对应于所述第三数据的输出。
5.如条款4所述的计算机实现的方法,所述计算机实现的方法还包括:
在产生所述输出之前,确定所述第二自然理解系统与许可请求相关联;
在发送所述第一数据之前,确定产生对应于所述许可请求的第二输出;以及
接收对应于所述许可请求的第四输入数据,
其中所述第三数据还包括所述许可请求的表示。
6.如条款4或5所述的计算机实现的方法,所述计算机实现的方法还包括:
确定所述命令对应于所述第二自然理解系统的第二输出,所述第二输出在所述输出之后出现,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
7.如条款4、5或6所述的计算机实现的方法,所述计算机实现的方法还包括:
确定接收所述输入数据与第一装置相关联;以及
确定产生所述输出与第二装置相关联,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
8.如条款4、5、6或7所述的计算机实现的方法,所述计算机实现的方法还包括:
确定接收所述输入数据与第一装置相关联;
确定与所述第一装置相关联的用户账户;以及
确定所述用户账户包括所述第二自然理解系统的第三指示,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
9.如条款4、5、6、7或8所述的计算机实现的方法,所述计算机实现的方法还包括:
确定所述输入数据包括与所述第一自然理解系统相关联的唤醒词的表示。
10.如条款4、5、6、7、8或9所述的计算机实现的方法,其中确定所述命令与所述第二自然理解系统相关联包括:
确定对应于所述输入数据的域;以及
确定所述第二自然理解系统对应于所述域。
11.如条款4、5、6、7、8、9或10所述的计算机实现的方法,所述计算机实现的方法还包括:
接收对应于第二命令的第二音频数据;
确定所述第二命令与所述第二自然理解系统相关联;以及
向所述第二自然理解系统发送处理第三音频数据的第三命令。
12.如条款4、5、6、7、8、9、10或11所述的计算机实现的方法,所述计算机实现的方法还包括:
确定所述第二数据缺少第一信息;
从所述第一自然理解系统向所述第二自然理解系统发送对应于对所述第一信息的请求的第四数据;以及
从所述第二自然理解系统接收对应于所述第一信息的第五数据。
13.一种计算装置,所述计算装置包括:
至少一个处理器;以及
至少一个存储器,所述存储器包括指令,所述指令当由所述至少一个处理器执行时使所述计算装置:
接收对应于命令的输入数据;
使用第一自然理解系统确定所述命令与第二自然理解系统相关联;
从所述第一自然理解系统向所述第二自然理解系统发送对应于所述命令的第一数据;
从所述第二自然理解系统接收对应于对所述命令的第一响应的第二数据,所述第二数据包括所述第二自然理解系统的第一指示;
使用所述第一自然理解系统和所述第二数据确定对应于对所述命令的第二响应的第三数据,所述第三数据包括所述第一自然理解系统的第二指示;以及
产生对应于所述第三数据的输出。
14.如条款13所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
在产生所述输出之前,确定所述第二自然理解系统与许可请求相关联;
在发送所述第一数据之前,确定产生对应于所述许可请求的第二输出;以及
接收对应于所述许可请求的第四输入数据,
其中所述第三数据还包括所述许可请求的表示。
15.如条款13或14所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
确定所述命令对应于所述第二自然理解系统的第二输出,所述第二输出在所述输出之后出现,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
16.如条款13、14或15所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
确定接收所述输入数据与第一装置相关联;以及
确定产生所述输出与第二装置相关联,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
17.如条款13、14、15或16所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
确定接收所述输入数据与第一装置相关联;以及
确定与所述第一装置相关联的用户账户;以及
确定所述用户账户包括所述第二自然理解系统的第三指示,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
18.如条款13、14、15、16或17所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
确定所述输入数据包括与所述第一自然理解系统相关联的唤醒词的表示。
19.如条款13、14、15、16、17或18所述的计算装置,其中所述至少一个存储器还包括指令,所述指令用于确定所述命令与所述第二自然理解系统相关联,并且当由所述至少一个处理器执行时还使所述计算装置:
确定对应于所述输入数据的域;以及
确定所述第二自然理解系统对应于所述域。
20.如条款13、14、15、16、17、18或19所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
确定所述第二数据缺少第一信息;
从所述第一自然理解系统向所述第二自然理解系统发送对应于对所述第一信息的请求的第四数据;以及
从所述第二自然理解系统接收对应于所述第一信息的第五数据。
本文公开的概念可应用在许多不同的装置和计算机系统内,包括例如通用计算系统、语音处理系统和分布式计算环境内。
本公开的以上方面意在是说明性的。所述方面被选择用于说明本公开的原理和应用,并且不意图是详尽性的或限制本公开。所公开的方面的许多修改和变化对本领域技术人员可显而易见。计算机和语音处理领域的普通技术人员应认识到,本文描述的组件和处理步骤可与其他组件或步骤或者组件或步骤的组合互换,并且仍实现本公开的益处和优点。此外,本领域技术人员应明白,可在不具有本文公开的具体的细节和步骤中的一些或全部的情况下实践本公开。
所公开的系统的方面可被实现为计算机方法或制品,诸如存储器装置或非暂时性计算机可读存储介质。计算机可读存储介质可由计算机读取,并且可包括用于致使计算机或其他装置执行本公开描述的过程的指令。计算机可读存储介质可通过易失性计算机存储器、非易失性计算机存储器、硬盘驱动器、固态存储器、闪存驱动器、可移动磁盘和/或其他介质来实现。另外,系统的组件可被实现为固件或硬件,例如声学前端(AFE),其尤其包括模拟和/或数字滤波器(例如,被配置为数字信号处理器(DSP)的固件的滤波器)。
除非另有具体说明,或者在所使用的上下文中另外理解,否则本文使用的条件语言诸如“能够”、“可”、“可能”、“可以”、“例如”等通常意图表达某些实施方案包括而其他实施方案不包括某些特征、元件或步骤。因此,此类条件语言一般不意图暗示一个或多个实施方案无论如何都要求特征、元件和/或步骤,或者一个或多个实施方案都必须包括用于在具有或没有其他输入或提示的情况下决定在任何特定实施方案中是否包括或要执行这些特征、元件和/或步骤的逻辑。术语“包括(comprising)”、“包括(including)”、“具有”等是同义的,并且以开放形式作为包括性使用,且不排除附加元件、特征、动作、操作等。此外,术语“或”以其包括性意义(而非排他性意义)使用,使得当用于例如连接元件列表时,术语“或”意指列表中的一个、一些或所有要素。
除非另有具体说明,否则诸如短语“X、Y、Z中的至少一个”的反意连接词语言在上下文中应理解为通常用来表示项目、项等可为X、Y或Z或者它们的任何组合(例如,X、Y和/或Z)。因此,这种反意连接语言一般不意图且不应暗示某些实施方案要求分别存在X中的至少一个、Y中的至少一个或Z中的至少一个。
如在本公开中所使用,除非另有具体说明,否则术语“一种”或“一个”可包括一个或多个项。此外,除非另有具体说明,否则短语“基于”意图是指“至少部分地基于”。
Claims (15)
1.一种计算机实现的方法,所述计算机实现的方法包括:
接收对应于命令的输入数据;
使用第一自然理解系统确定所述命令与第二自然理解系统相关联;
从所述第一自然理解系统向所述第二自然理解系统发送对应于所述命令的第一数据;
从所述第二自然理解系统接收对应于对所述命令的第一响应的第二数据,所述第二数据包括所述第二自然理解系统的第一指示;
使用所述第一自然理解系统和所述第二数据确定对应于对所述命令的第二响应的第三数据,所述第三数据包括所述第一自然理解系统的第二指示;以及
产生对应于所述第三数据的输出。
2.如权利要求1所述的计算机实现的方法,所述计算机实现的方法还包括:
在产生所述输出之前,确定所述第二自然理解系统与许可请求相关联;
在发送所述第一数据之前,确定产生对应于所述许可请求的第二输出;以及
接收对应于所述许可请求的第四输入数据,
其中所述第三数据还包括所述许可请求的表示。
3.如权利要求1或2所述的计算机实现的方法,所述计算机实现的方法还包括:
确定所述命令对应于所述第二自然理解系统的第二输出,所述第二输出在所述输出之后出现,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
4.如权利要求1、2或3所述的计算机实现的方法,所述计算机实现的方法还包括:
确定接收所述输入数据与第一装置相关联;以及
确定产生所述输出与第二装置相关联,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
5.如权利要求1、2、3或4所述的计算机实现的方法,所述计算机实现的方法还包括:
确定接收所述输入数据与第一装置相关联;
确定与所述第一装置相关联的用户账户;以及
确定所述用户账户包括所述第二自然理解系统的第三指示,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
6.如权利要求1、2、3、4或5所述的计算机实现的方法,所述计算机实现的方法还包括:
确定所述输入数据包括与所述第一自然理解系统相关联的唤醒词的表示。
7.如权利要求1、2、3、4、5或6所述的计算机实现的方法,其中确定所述命令与所述第二自然理解系统相关联包括:
确定对应于所述输入数据的域;以及
确定所述第二自然理解系统对应于所述域。
8.如权利要求1、2、3、4、5、6或7所述的计算机实现的方法,所述计算机实现的方法还包括:
接收对应于第二命令的第二音频数据;
确定所述第二命令与所述第二自然理解系统相关联;以及
向所述第二自然理解系统发送处理第三音频数据的第三命令。
9.如权利要求1、2、3、4、5、6、7或8所述的计算机实现的方法,所述计算机实现的方法还包括:
确定所述第二数据缺少第一信息;
从所述第一自然理解系统向所述第二自然理解系统发送对应于对所述第一信息的请求的第四数据;以及
从所述第二自然理解系统接收对应于所述第一信息的第五数据。
10.一种计算装置,所述计算装置包括:
至少一个处理器;以及
至少一个存储器,所述存储器包括指令,所述指令当由所述至少一个处理器执行时使所述计算装置:
接收对应于命令的输入数据;
使用第一自然理解系统确定所述命令与第二自然理解系统相关联;
从所述第一自然理解系统向所述第二自然理解系统发送对应于所述命令的第一数据;
从所述第二自然理解系统接收对应于对所述命令的第一响应的第二数据,所述第二数据包括所述第二自然理解系统的第一指示;
使用所述第一自然理解系统和所述第二数据确定对应于对所述命令的第二响应的第三数据,所述第三数据包括所述第一自然理解系统的第二指示;以及
产生对应于所述第三数据的输出。
11.如权利要求10所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
在产生所述输出之前,确定所述第二自然理解系统与许可请求相关联,
在发送所述第一数据之前,确定产生对应于所述许可请求的第二输出;以及
接收对应于所述许可请求的第四输入数据,
其中所述第三数据还包括所述许可请求的表示。
12.如权利要求10或11所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
确定所述命令对应于所述第二自然理解系统的第二输出,所述第二输出在所述输出之后出现,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
13.如权利要求10、11或12所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
确定接收所述输入数据与第一装置相关联;以及
确定产生所述输出与第二装置相关联,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
14.如权利要求10、11、12或13所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
确定接收所述输入数据与第一装置相关联;以及
确定与所述第一装置相关联的用户账户;以及
确定所述用户账户包括所述第二自然理解系统的第三指示,
其中所述第三数据包括所述第二自然理解系统的名称的表示。
15.如权利要求10、11、12、13或14所述的计算装置,其中所述至少一个存储器还包括指令,所述指令当由所述至少一个处理器执行时还使所述计算装置:
确定所述输入数据包括与所述第一自然理解系统相关联的唤醒词的表示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/781,773 US11790902B2 (en) | 2020-02-04 | 2020-02-04 | Speech-processing system |
US16/781,773 | 2020-02-04 | ||
PCT/US2021/014110 WO2021158365A1 (en) | 2020-02-04 | 2021-01-20 | Speech-processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115176309A true CN115176309A (zh) | 2022-10-11 |
Family
ID=74557268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180012894.4A Pending CN115176309A (zh) | 2020-02-04 | 2021-01-20 | 语音处理系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11790902B2 (zh) |
CN (1) | CN115176309A (zh) |
DE (1) | DE112021000292T5 (zh) |
GB (1) | GB2607809A (zh) |
WO (1) | WO2021158365A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11830485B2 (en) * | 2018-12-11 | 2023-11-28 | Amazon Technologies, Inc. | Multiple speech processing system with synthesized speech styles |
US20230008868A1 (en) * | 2021-07-08 | 2023-01-12 | Nippon Telegraph And Telephone Corporation | User authentication device, user authentication method, and user authentication computer program |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000058942A2 (en) * | 1999-03-26 | 2000-10-05 | Koninklijke Philips Electronics N.V. | Client-server speech recognition |
US7013275B2 (en) * | 2001-12-28 | 2006-03-14 | Sri International | Method and apparatus for providing a dynamic speech-driven control and remote service access system |
US7016849B2 (en) * | 2002-03-25 | 2006-03-21 | Sri International | Method and apparatus for providing speech-driven routing between spoken language applications |
US7869998B1 (en) * | 2002-04-23 | 2011-01-11 | At&T Intellectual Property Ii, L.P. | Voice-enabled dialog system |
US10002189B2 (en) * | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US8635068B2 (en) * | 2008-12-23 | 2014-01-21 | At&T Intellectual Property I, L.P. | System and method for recognizing speech with dialect grammars |
US9767793B2 (en) * | 2012-06-08 | 2017-09-19 | Nvoq Incorporated | Apparatus and methods using a pattern matching speech recognition engine to train a natural language speech recognition engine |
US9570076B2 (en) * | 2012-10-30 | 2017-02-14 | Google Technology Holdings LLC | Method and system for voice recognition employing multiple voice-recognition techniques |
US9818407B1 (en) * | 2013-02-07 | 2017-11-14 | Amazon Technologies, Inc. | Distributed endpointing for speech recognition |
US9775113B2 (en) * | 2014-12-11 | 2017-09-26 | Mediatek Inc. | Voice wakeup detecting device with digital microphone and associated method |
US9984686B1 (en) * | 2015-03-17 | 2018-05-29 | Amazon Technologies, Inc. | Mapping device capabilities to a predefined set |
US9875081B2 (en) * | 2015-09-21 | 2018-01-23 | Amazon Technologies, Inc. | Device selection for providing a response |
KR102481881B1 (ko) * | 2016-09-07 | 2022-12-27 | 삼성전자주식회사 | 외부 디바이스를 제어하는 서버 및 그 방법 |
US10127908B1 (en) * | 2016-11-11 | 2018-11-13 | Amazon Technologies, Inc. | Connected accessory for a voice-controlled device |
US10032451B1 (en) * | 2016-12-20 | 2018-07-24 | Amazon Technologies, Inc. | User recognition for speech processing systems |
US10332517B1 (en) * | 2017-06-02 | 2019-06-25 | Amazon Technologies, Inc. | Privacy mode based on speaker identifier |
US11314940B2 (en) * | 2018-05-22 | 2022-04-26 | Samsung Electronics Co., Ltd. | Cross domain personalized vocabulary learning in intelligent assistants |
US11100923B2 (en) * | 2018-09-28 | 2021-08-24 | Sonos, Inc. | Systems and methods for selective wake word detection using neural network models |
US11164585B2 (en) * | 2019-06-07 | 2021-11-02 | Mitsubishi Electric Automotive America, Inc. | Systems and methods for virtual assistant routing |
US11373633B2 (en) * | 2019-09-27 | 2022-06-28 | Amazon Technologies, Inc. | Text-to-speech processing using input voice characteristic data |
-
2020
- 2020-02-04 US US16/781,773 patent/US11790902B2/en active Active
-
2021
- 2021-01-20 CN CN202180012894.4A patent/CN115176309A/zh active Pending
- 2021-01-20 DE DE112021000292.9T patent/DE112021000292T5/de active Pending
- 2021-01-20 GB GB2212525.6A patent/GB2607809A/en active Pending
- 2021-01-20 WO PCT/US2021/014110 patent/WO2021158365A1/en active Application Filing
-
2023
- 2023-09-11 US US18/464,592 patent/US20240071385A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240071385A1 (en) | 2024-02-29 |
DE112021000292T5 (de) | 2022-10-27 |
GB202212525D0 (en) | 2022-10-12 |
US20210241760A1 (en) | 2021-08-05 |
GB2607809A (en) | 2022-12-14 |
WO2021158365A1 (en) | 2021-08-12 |
US11790902B2 (en) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11170776B1 (en) | Speech-processing system | |
US11854545B2 (en) | Privacy mode based on speaker identifier | |
US11062694B2 (en) | Text-to-speech processing with emphasized output audio | |
US11373633B2 (en) | Text-to-speech processing using input voice characteristic data | |
US11830485B2 (en) | Multiple speech processing system with synthesized speech styles | |
US11594215B2 (en) | Contextual voice user interface | |
US10140973B1 (en) | Text-to-speech processing using previously speech processed data | |
US10276149B1 (en) | Dynamic text-to-speech output | |
US20200045130A1 (en) | Generation of automated message responses | |
US20230197078A1 (en) | Multiple virtual assistants | |
US11715472B2 (en) | Speech-processing system | |
US11302329B1 (en) | Acoustic event detection | |
US20240071385A1 (en) | Speech-processing system | |
US11579841B1 (en) | Task resumption in a natural understanding system | |
US11783824B1 (en) | Cross-assistant command processing | |
US20230186902A1 (en) | Multiple wakeword detection | |
US11735178B1 (en) | Speech-processing system | |
US11564194B1 (en) | Device communication | |
US11915683B2 (en) | Voice adaptation using synthetic speech processing | |
US12001260B1 (en) | Preventing inadvertent wake in a speech-controlled device | |
US11763809B1 (en) | Access to multiple virtual assistants | |
US11922938B1 (en) | Access to multiple virtual assistants |
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 |