一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于识别用户的语音的系统和方法与流程

2022-03-19 15:46:41 来源:中国专利 TAG:


1.本公开涉及一种用于识别用户的语音的系统和方法,并且例如涉及一种设备和服务器一起相互配合以识别用户的语音的系统和方法。


背景技术:

2.自动语音识别(asr)可以是指例如用于接收和识别人类语音并将其转换成文本的技术。asr用于各种电子设备,诸如智能手机、空调、冰箱、人工智能(ai)扬声器等。首先,设备接收人类语音作为输入,并且使用设备中预先训练的语音识别模型来识别输入语音并将其转换成文本。文本作为最终输出来提供。最近,深度神经网络(dnn)算法已被用于机器学习的各个领域,并且随着时间的推移实现了改进的性能。在语音识别领域,由于使用了神经网络,性能已得到很大的提升,并且最近对用于语音识别的端到端asr模型进行了研究。


技术实现要素:

3.问题的解决方案
4.本公开的实施例提供了一种用于通过向服务器提供设备中的端到端自动语音识别(asr)模型的编码器的输出值来识别用户的语音的系统和方法。
5.本公开的实施例还提供了一种用于使用与和设备中的端到端asr模型的编码器的输出值相关的域相对应的解码器来识别用户的语音的系统和方法。
6.本公开的实施例还提供了一种能够通过在设备处对端到端asr模型进行编码同时在服务器处对端到端asr模型进行解码来更准确地识别用户的语音的系统和方法。
7.另外方面将部分地在以下的描述中阐述,并且部分地将从描述中显而易见。
附图说明
8.通过以下结合附图而进行的详细描述,可更清楚了解本公开的某些实施例的上述和其他方面、特征以及优点,在附图中:
9.图1是展示了根据本公开的实施例的示例性自动语音识别系统的图;
10.图2是展示了根据本公开的实施例的包括与多个域相关联的解码器的示例性语音识别系统的图;
11.图3是展示了根据本公开的实施例的由语音识别系统中的设备和服务器执行的识别语音输入并获取文本串的示例性方法的流程图;
12.图4是展示了根据本公开的实施例的由设备执行的将从编码器中的多个层获取的输出值发送到服务器的示例性方法的流程图;
13.图5是展示了根据本公开的实施例的由服务器执行的将编码器输出值输入到所选择的解码器的示例性方法的流程图;
14.图6a是展示了根据本公开的实施例的其中服务器选择与特定域相对应的一个解码器来处理编码器输出值的示例的图;
15.图6b是展示了根据本公开的实施例的其中服务器选择与特定域相对应的多个解码器来处理编码器输出值的示例的图;
16.图6c是展示了根据本公开的实施例的其中服务器选择与多个域相对应的多个解码器来处理编码器输出值的示例的图;
17.图6d是展示了根据本公开的实施例的其中服务器基于与设备的编码器相同类型的解码器不在服务器中,选择不同类型的解码器来处理编码器输出值的示例的图;
18.图7a是展示了根据本公开的实施例的设备和服务器从语音信号中获取文本串的示例的图,其中设备和服务器分别包括基于注意力的自动语音识别(asr)模型;
19.图7b是展示了根据本公开的实施例的设备和服务器从语音信号中获取文本串的示例的图,其中设备和服务器分别包括基于循环神经网络换能器(rnn-t)的asr模型;
20.图8a是展示了根据本公开的实施例的设备和服务器从语音信号中获取文本串的示例的图,其中服务器未包含基于注意力的asr模型的编码器;
21.图8b是展示了根据本公开的实施例的设备和服务器从语音信号中获取文本串的示例的图,其中服务器未包含基于rnn-t的asr模型的编码器;
22.图9是展示了根据本公开的实施例的由设备和服务器执行的对语音输入执行语音识别和自然语言理解(nlu)处理的示例性方法的流程图;
23.图10是展示了根据本公开的实施例的由设备和服务器执行的对语音输入执行语音识别和nlu处理的示例性方法的流程图;
24.图11是展示了根据本公开的实施例的由设备和服务器执行的对语音输入执行语音识别和nlu处理的示例性方法的流程图;
25.图12是展示了根据本公开的实施例的由设备和服务器执行的对语音输入执行语音识别和nlu处理的示例性方法的流程图;
26.图13是展示了根据本公开的实施例的示例性服务器的框图;并且
27.图14是展示了根据本公开的实施例的示例性设备的示例性配置的框图。
具体实施方式
28.根据本公开的示例性实施例,一种由服务器执行的针对输入到设备的语音信号提供文本串的方法包括:从设备接收从设备中的端到端自动语音识别(asr)模型的编码器得到的编码器输出值;识别与接收到的编码器输出值相对应的域;从包括在服务器中的端到端asr模型的多个解码器中选择与识别的域相对应的解码器;使用所选择的解码器从接收到的编码器输出值获取文本串;以及将获取的文本串提供给设备,其中编码器输出值是由设备通过对输入到设备的语音信号进行编码而得到的。
29.根据本公开的另一示例性实施例,一种用于针对输入到设备的语音信号提供文本串的服务器包括:通信接口,该通信接口包括通信电路;存储装置,该存储装置存储包括一个或多个指令的程序;以及处理器,该处理器被配置为执行存储在存储装置中的程序的一个或多个指令以:从设备接收从设备中的端到端自动语音识别(asr)模型的编码器得到的编码器输出值;识别与接收到的编码器输出值相对应的域;从包括在服务器中的端到端asr模型的多个解码器中选择与识别的域相对应的解码器;使用所选择的解码器从接收到的编码器输出值获取文本串;以及将获取的文本串提供给设备,其中编码器输出值是由设备通
过对输入到设备的语音信号进行编码而得到的。
30.发明模式
31.现在将在下文参考附图更详细地描述本公开的实施例。然而,本公开的示例性实施例可以具有不同的形式,并且不应该被解释为限于本文阐述的实施例。此外,为了使对本公开的实施例的描述清楚,可以省略与本公开无关的部分,并且附图中相同的附图标记始终表示相同的元件。
32.贯穿本公开,表达“a、b或c中的至少一者”指示仅a;仅b;仅c;a和b两者;a和c两者;b和c两者;a、b和c全部,或其变化形式。
33.贯穿本公开,应当理解,当元件被称为“连接”或“耦合”到另一元件时,其可以直接连接或电耦合到另一元件,其中一个或多个中间元件被插置在其间。当一个部分“包括(includes)”或“包括(comprises)”一个元件时,除非有与其相反的具体描述,否则该部分还可以包括其他元件,并不排除其他元件。
34.在下文中,将参考附图更详细地描述本公开的各种示例性实施例。
35.图1是展示了根据本公开的实施例的示例性语音识别系统的图。
36.参考图1,根据本公开的实施例,语音识别系统包括设备1000和服务器2000。
37.设备1000可以包括端到端自动语音识别(asr)模型的编码器,并且服务器2000可以包括端到端asr模型的解码器。设备1000可以执行使用端到端asr模型的编码器对用户的语音输入进行编码的操作以识别用户的语音输入,并且服务器2000可以使用端到端asr模型的解码器来执行对由设备1000编码的用户的语音输入进行解码的操作。以这种方式,可以执行asr模型。
38.端到端asr模型可以是指例如使用集成神经网络从语音中识别文本串的语音识别模型,并且可以具有包括集成神经网络而不分别使用声学模型、发音词典和语言模型的结构。通过使用集成的神经网络,端到端的asr模型可以将语音转换成文本,而无需执行识别语音中的音素并将识别出的音素转换成文本的过程。例如,端到端asr模型可以具有带有循环神经网络(rnn)的结构,并且包括用于对语音输入进行编码的编码器以及用于从编码器输出值估计文本串的解码器。
39.设备1000可以接收用户的语音输入,使用端到端asr模型的编码器对接收到的用户的语音输入进行编码,并且向服务器2000提供编码器输出值。此外,服务器2000可以从设备1000接收编码器输出值并且使用端到端asr模型的解码器对接收到的编码器输出值进行解码。服务器2000可以通过对编码器输出值进行解码来获取语音识别结果并将获取的语音识别结果提供给设备1000。
40.设备1000的示例可以包括但不限于智能手机、平板pc、pc、智能电视、移动电话、个人数字助理(pda)、膝上型计算机、媒体播放器、微型服务器、全球定位系统(gps)、电子书终端、数字广播终端、导航设备、信息亭、mp3播放器、数码相机以及其他移动或非移动计算设备等。另外,设备1000可以是诸如手表、眼镜、发带和戒指的具有通信功能和数据处理功能等的可穿戴设备。然而,本公开的实施例不限于此,并且设备1000可以包括能够经由网络与服务器2000交换数据的任何装置。
41.网络可以包括但不限于例如局域网(lan)、广域网(wan)、增值网络(van)、移动无线电通信网络、卫星通信网络等或其任何组合。此外,该网络可以包括从广义上讲被配置为
实现图1所示的跨网络实体的平稳通信的数据通信网络,并且包括例如但不限于有线互联网、无线互联网、移动无线通信网络等。
42.图2是展示了根据本公开的实施例的包括与多个域相关联的解码器的示例性语音识别系统的图。
43.参考图2,设备1000可以包括端到端asr系统的编码器,并且服务器2000可以包括端到端asr系统的解码器。例如,服务器2000可以包括对应于第一域的多个第一解码器和对应于第二域的多个第二解码器。
44.设备1000可以从语音输入中提取特征以获取特征向量,然后将获取的特征向量输入到端到端asr系统的编码器。设备1000可以向服务器2000提供编码器输出值。编码器输出值例如可以是序列的形式,例如作为编码器中的神经网络层的输出值的隐藏层向量序列。
45.服务器2000可以从设备1000接收编码器输出值并且基于编码器输出值来选择与编码器输出值相关的域。域例如可以表示与输入语音相关的领域,并且可以根据输入语音的语义、属性等预先设置。例如,可以根据与输入语音相关的服务对域进行分类。此外,可以针对每个域训练端到端的asr模型,并且在这种情况下,针对每个域训练的端到端asr模型可以包括例如使用与该域相关的输入语音及其对应的文本作为正确答案训练的模型。服务器2000可以选择多个预设域中的至少一个,然后选择与所选择的域相对应的解码器中的至少一个。服务器2000可以选择与设备1000中的编码器相对应的解码器。此外,服务器2000可以通过将编码器输出值输入到所选择的解码器来获取解码器输出值。服务器2000可以获取作为使用解码器输出值识别语音输入的结果的文本串,并将获取的文本串提供给设备1000。
46.图3是展示了根据本公开的实施例的由语音识别系统中的设备1000和服务器2000执行的识别语音输入并获取文本串的示例性方法的流程图。
47.设备1000可以通过执行存储在设备1000的存储器中的指令来执行图3中所示的各种示例性操作。例如,如下文参考图14描述的,设备1000可以通过执行语音识别评估模块1430、自然语言理解(nlu)确定模块1440、域识别模块1450、域注册模块1460、asr模型1410、nlu模型1420等中的至少一个来执行图3中所示的其操作。然而,本公开的实施例不限于此,并且设备1000可以执行存储在存储器中的其他程序以便执行某些操作。
48.此外,服务器2000可以通过执行存储在服务器2000的存储装置中的指令来执行在图3中示出的其操作。例如,如下文参考图13所描述的,服务器2000可以通过执行语音识别管理模块2310、asr模块2320、nlu模块2330或语音解释管理模块2340中的至少一个来执行图3中所示的其操作。然而,本公开的实施例不限于此,并且服务器2000可以执行存储在存储器中的其他程序以便执行某些操作。
49.设备1000可以生成语音信号的特征向量(操作s300)。设备1000可以经由麦克风接收用户的语音输入(例如,用户话语)并且基于语音信号生成表示经由麦克风获取的语音信号的特征的特征向量。当语音信号中包括噪声时,设备1000可以从语音信号中去除噪声并基于去除了噪声的语音信号来获取特征向量。
50.设备1000可以使用编码器对特征向量进行编码(操作s305)。设备1000可以向设备1000中的端到端asr模型的编码器输入特征向量以识别用户的语音。在这种情况下,设备1000可以将特征向量转换成适用于端到端asr模型的编码器的格式。例如,设备1000可以使
用图14的asr模型1410中的编码器1411对特征向量进行编码。
51.设备1000可以获取编码器输出值的置信水平(操作s310)。设备1000中的端到端asr模型的编码器可以包括多个层,例如多个堆叠的长短期记忆(lstm)层。此外,编码输出值可以是从编码器中的多个层获取的输出值之一。编码器输出值可以是从编码器中的层输出的隐藏向量。编码输出值的置信水平例如可以包括表示编码输出值与输入语音之间的匹配程度的数值,并且置信水平可以包括例如置信度分数,但不限于此。编码输出值的置信水平可以指示由编码输出值表示的文本与输入语音之间的匹配程度。例如,当训练设备1000中的asr模型的编码器时,可以使用联结主义时间分类(ctc)损失函数。在这种情况下,通过将投影层连接到编码器的输出终端,可以从投影层获取文本。此外,设备1000可以基于从连接到编码器的输出终端的投影层获取的文本来计算编码器输出值的置信水平。然而,计算置信水平的方法不限于此,并且例如,设备1000可以使用预设算法直接从编码器输出值计算置信水平。作为另一示例,设备1000可以使用语音识别评估模块(例如,图14的1430)获取编码器输出值的置信水平。
52.设备1000可以确定是否将编码器输出值发送到服务器2000(操作s315)。设备1000可以通过将编码器输出值的置信水平与预设阈值进行比较来确定是否将编码器输出值发送到服务器2000。当编码器输出值的置信水平大于或等于预设阈值时,设备1000可以确定将编码器输出值发送到服务器2000。另一方面,当编码器输出值的置信水平小于预设阈值时,设备1000可以确定不向服务器2000发送编码器输出值。
53.虽然在操作s315中已经描述了设备1000基于编码器输出值的置信水平来确定是否将编码器输出值发送到服务器2000,但是本公开的实施例不限于此。设备1000可以基于asr模型的输出值来确定是否使用设备1000中的asr模型的输出值。在这种情况下,设备1000可以基于asr模型的输出值的置信水平来确定是否将编码器输出值发送到服务器2000。设备1000中的asr模型的输出值可以是在使用设备1000中的asr模型的解码器对来自设备1000中的asr模型的编码器的编码器输出值进行解码时所获取的至少一个文本串。此外,asr模型的输出值的置信水平可以是指示从asr模型输出的文本串与输入语音的匹配程度的数值。另外,例如,可以为从asr模型输出的每个文本串计算置信度分数,置信度分数指示文本串与输入语音的匹配程度。
54.当在操作s315中确定编码器输出值将被发送到服务器2000(操作s315中的“是”)时,设备1000可以请求来自服务器2000的文本串(操作s320)。
55.设备1000可以在向服务器2000发送编码器输出值的同时请求来自服务器2000的文本串。在这种情况下,设备1000可以向服务器2000发送从编码器中的多个层中的最后一层获取的输出值。设备1000可以向服务器2000发送从从编码器中的多个层获取的输出值中选择的输出值。
56.此外,设备1000可以在向服务器2000请求文本串的同时向服务器2000提供关于设备1000中的编码器的编码信息。编码信息可以包括例如与编码器输出值相关的信息,并且可以包括例如但不限于设备1000中的端到端asr模型的类型、端到端asr模型的标识值、端到端asr模型中的编码器的标识值、编码器的类型、编码器的属性、以及表示编码程度的信息,但不限于此。此外,指示编码程度的信息可以包括例如用于识别输出编码器输出值的层的信息。
57.此外,设备1000可以在向服务器2000请求文本串的同时向服务器2000提供与编码器输出值相关的域信息。域信息可以包括例如用于识别域的信息并且可以包括例如域名和域标识符,但不限于此。设备1000可以使用设备1000中的域识别模块(例如,图14的1450)来识别与编码器输出值相关的域。例如,设备1000可以在从连接到编码器的输出终端的投影层获取的文本中识别与编码器输出值相关的域。投影层可以是通过将从编码器输出的隐藏向量值作为输入来输出文本的层。在这种情况下,设备1000可以基于从编码器输出值生成的文本的域置信水平来识别与编码器输出值相关的域。域置信水平可以包括例如指示文本的至少一部分与特定域相关的密切程度的数值。例如,设备1000可以计算指示从编码器输出值获取的文本与预先注册以对编码器输出值进行解码的域的相关程度的置信度分数。此外,设备1000可以基于针对预注册域计算的域置信水平来识别与编码器输出值相关的域。设备1000可以基于规则来识别与编码器输出值相关的域或者使用为域识别而训练的人工智能(ai)模型来获取与编码器输出值相关的域置信水平。此外,例如,用于域识别的ai模型可以是nlu模型的一部分,或者是与其分离的模型。
58.虽然上文已经描述了设备1000在向服务器2000请求文本串的同时向服务器2000提供编码器输出值、编码信息和域信息,但是本公开的实施例不限于此。例如,设备1000可以仅向服务器2000提供编码器输出值或仅提供编码器输出值和编码信息。
59.服务器2000可以确定用于解码的域(操作s325)。当服务器2000从设备1000接收域信息时,服务器2000可以基于域信息来识别与编码器输出值相关的域。另一方面,当服务器2000没有从设备1000接收域信息时,服务器2000可以使用服务器2000中的域识别模块1450(参考图14)来识别与编码器输出值相关的域。例如,服务器2000可以从设备1000接收从连接到设备1000中的编码器的输出终端的投影层获取的文本,并且使用接收到的文本来识别与编码器输出值相关的域。作为另一示例,服务器2000可以通过基于从设备1000接收的编码信息将投影层应用于编码器输出值来获取文本,并且使用获取的文本来识别与编码器输出值相关的域。在这种情况下,服务器2000可以基于从编码器输出值生成的文本的域置信水平来识别与编码器输出值相关的域。域置信水平可以包括例如指示文本的至少一部分与特定域相关的密切程度的数值。例如,服务器2000可以计算指示从编码器输出值获取的文本与预先注册以对编码器输出值进行解码的域的相关程度的置信度分数。此外,服务器2000可以基于针对预注册域计算的域置信水平来识别与编码器输出值相关的域。服务器2000可以基于规则来识别与编码器输出值相关的域或者使用为域识别而训练的ai模型来获取与编码器输出值相关的域置信水平。此外,例如,用于域识别的ai模型可以是nlu模型的一部分,或者是与其分离的模型。服务器2000可以通过分析编码器输出值和编码器输出值的格式并基于分析结果将投影层应用于编码器输出值来识别与编码器输出值相关的域。
60.服务器2000可以识别编码器的类型和编码程度(操作s330)。当服务器2000从设备1000接收编码信息时,服务器2000可以基于编码信息识别输出编码器输出值的编码器的类型和编码程度。当服务器2000没有从设备1000接收到编码信息时,服务器2000可以通过分析编码器输出值和编码器输出值的格式来识别编码器的类型和编码程度。例如,服务器2000可以使用图13的编码器识别模块2311来识别编码器的类型和编码程度。
61.服务器2000可以选择用于生成文本串的解码器(操作s335)。服务器2000可以包括与多个域相关的解码器并且从域中选择与编码器输出值相关的至少一个域。例如,服务器
2000可以选择与在操作s325中确定的域相对应的域。与所确定的域相对应的域可以与所确定的域相同或相似。例如,当服务器2000中与解码器相关的多个域是“电影”、“地点”和“区域名称”,并且在操作s325中识别的域是“电影”时,服务器2000可以选择“电影”。例如,当服务器2000中与解码器相关的多个域是“视频内容”、“地点”、“区域名称”,并且在操作s325中识别的域是“电影”时,服务器2000可以选择“视频内容”。在这种情况下,关于与由服务器2000选择的域的标识值类似的标识值的信息可以存储在服务器2000中。
62.此外,服务器2000可以从与所选择的域相对应的多个解码器中选择至少一个解码器来对编码器的识别值进行解码。服务器2000可以基于在操作s330中识别的编码器的类型来选择能够对编码器输出值解码的至少一个解码器。例如,当识别出的编码器类型是在基于注意力的端到端asr模型中使用的编码器时,服务器2000可以选择在基于注意力的端到端asr模型中使用的解码器。此外,例如,当识别出的编码器类型是在基于rnn换能器(rnn-t)的端到端asr模型中使用的编码器时,服务器2000可以选择在基于rnn-t的端到端asr模型中使用的解码器。然而,本公开的实施例不限于此,并且服务器2000可以根据预设标准选择各种解码器,并且在这种情况下,可以将编码器输出值的格式转换成适用于所选择的解码器的格式。例如,服务器2000可以使用解码器选择模块(例如,图13的2313)来识别编码器的类型和编码程度。
63.服务器2000可以使用所选择的解码器基于编码器输出值来生成文本串(操作s340)。服务器2000可以将编码器输出值输入到所选择的解码器并且基于来自解码器的解码器输出值来获取文本串。在这种情况下,服务器2000可以将编码器输出值的格式预处理为适用于所选择的解码器的格式,并且将预处理结果输入到解码器。下文将参考图5更详细地描述由服务器200执行的预处理编码器输出值的方法。
64.当服务器2000选择多个解码器时,服务器2000可以通过将编码器输出值分别输入到解码器来使用分别从解码器获取的输出值生成多个文本串。
65.服务器2000可以向设备1000提供文本串(操作s345)。当服务器2000使用多个解码器生成多个文本串时,服务器2000可以将文本串的置信水平相互比较并且向设备1000提供具有高置信水平的文本串。生成的文本串的置信水平例如可以包括表示生成的文本串与输入语音之间的匹配程度的数值,并且置信水平可以包括例如置信度分数,但不限于此。
66.当在操作s315中确定不将编码器输出值发送到服务器2000(操作s315中的“否”)时,设备1000可以向设备1000中的解码器提供编码器输出值(操作s350)并且使用解码器从编码器输出值获取文本串(操作s355)。
67.设备1000可以向其自身注册域(操作s360)。当设备1000向其注册特定域并且确定在注册之后生成的编码器输出值与注册的域相关时,设备1000可以使用设备1000中的解码器来处理编码器输出值而不将编码器输出值发送到服务器2000。例如,设备1000可以使用域注册模块(例如,图14的1460)来注册域。
68.例如,对于域注册,设备1000可以评估从服务器2000接收的文本串并且基于评估的结果向设备1000注册与所评估的文本串相关的域。设备1000可以从编码器输出值获取文本并且通过将获取的文本与接收的文本串进行比较来评估从服务器2000接收的文本串。此外,当与特定域相关的从编码器输出值获取的文本与从服务器2000接收的文本串匹配超过预设次数时,可以向设备1000注册该特定域。
69.设备1000可以识别编码器输出值的置信水平和与编码器输出值相关的域,并且当与所识别的域相关的编码器输出值的置信水平的均大于或等于预设阈值时,设备1000可以向设备1000注册所识别的域。
70.此外,虽然已经参考图3描述了设备1000向服务器2000请求文本串,并且服务器2000向设备1000提供文本串,但实施例不限于此。服务器2000可以使用在操作s340中获取的文本串向设备1000提供各种类型的语音助理服务。语音助理服务可以包括例如提供与用户对话的服务。在语音助理服务中,语音助理可以考虑到用户的情况、设备条件等向用户提供响应消息,就好像人类直接与用户交谈一样。此外,在语音助理服务中,语音助理可以充当用户的个人助理,以为用户适当地创建信息并将信息提供给用户。例如,语音助理服务可以链接到各种类型的服务以向用户提供所请求的信息或功能。各种类型的服务可以包括例如但不限于广播服务、内容共享服务、内容提供服务、电源管理服务、游戏提供服务、聊天服务、文档创建服务、搜索服务、呼叫服务、照片拍摄服务、交通推荐服务、视频播放服务等。
71.在这种情况下,为了基于文本串提供语音助理服务,服务器2000可以使用例如服务器2000中的nlu模型、对话管理器(dm)模型、自然语言生成(nlg)模型等来将用于与用户进行对话的信息提供给设备1000。此外,服务器2000可以基于解释文本串的结果直接控制另一设备1000。此外,服务器2000可以基于解释文本串的结果来生成设备1000控制另一设备1000所需的控制信息,并且将生成的控制信息提供给设备1000。
72.图4是展示了根据本公开的实施例的由设备1000执行的将从编码器中的多个层获取的输出值发送到服务器2000的示例性方法的流程图。
73.设备1000可以通过执行存储在设备1000的存储器中的指令来执行图4中所示的其操作。例如,如下文参考图14更详细地描述的,设备1000可以通过执行语音识别评估模块1430、域识别模块1450、asr模型1410或nlu模型1420中的至少一个来执行图4中所示的其操作。然而,本公开的实施例不限于此,并且设备1000可以执行存储在存储器中的其他程序以便执行预设操作。
74.设备1000可以从编码器中的第一层获取第一编码器输出值(操作s400)。编码器中的第一层可以是编码器中多个堆叠的lstm层中的一个,并且第一编码器输出值可以包括例如从第一层输出的隐藏层向量。
75.设备1000可以获取第一编码器输出值的置信水平(操作s405)。设备1000可以使用例如连接到第一层的输出终端的投影层从来自第一层的第一编码器输出值获取文本。此外,设备1000可以基于获取的文本来计算第一编码器输出值的置信水平。第一编码器输出值的置信水平例如可以包括指示第一编码器输出值与输入语音之间的匹配程度的数值,并且置信水平可以包括例如置信度分数,但不限于此。
76.设备1000可以确定是否将第一编码器输出值发送到服务器2000(操作s410)。设备1000可以将第一编码器输出值的置信水平与预设阈值进行比较,并且基于比较的结果来确定是否将第一编码器输出值发送到服务器2000。
77.此外,设备1000可以识别与第一编码器输出值相关的域是否对应于向设备1000注册的域,并且当与第一编码器输出值相关的域不对应于注册的域时,设备1000可以确定是否将第一编码器输出值发送到服务器2000。
78.当设备1000确定将第一编码器输出值发送到服务器2000(操作s410中的“是”)时,
设备1000可以将第一编码器输出值发送到服务器2000(操作s415)。在这种情况下,服务器2000可以具有端到端asr模型的编码器和解码器两者,并且发送到服务器2000的第一编码器输出值可以被输入到服务器2000中的编码器的第一层的输出终端。
79.当设备1000确定不向服务器2000发送第一编码器输出值(操作s410中的“否”)时,设备1000可以从编码器的第二层获取第二编码器输出值(操作s420)。编码器的第二层例如可以包括编码器中多个堆叠的lstm层中的一个,并且可以是第一层之后的层。此外,第二编码器输出值可以是从第二层输出的隐藏层向量。
80.设备1000可以获取第二编码器输出值的置信水平(操作s425)。设备1000可以使用例如连接到第二层的输出终端的投影层从来自第二层的第二编码器输出值获取文本。此外,设备1000可以基于获取的文本来计算第二编码器输出值的置信水平。第二编码器输出值的置信水平例如可以包括指示第二编码器输出值与输入语音之间的匹配程度的数值,并且置信水平可以包括例如置信度分数,但不限于此。
81.设备1000可以确定是否将第二编码器输出值发送到服务器2000(操作s430)。设备1000可以将第二编码器输出值的置信水平与预设阈值进行比较,并且基于比较的结果来确定是否将第二编码器输出值发送到服务器2000。
82.此外,设备1000可以识别与第二编码器输出值相关的域是否对应于向设备1000注册的域,并且当与第二编码器输出值相关的域不对应于注册的域时,设备1000可以确定是否将第二编码器输出值发送到服务器2000。
83.当设备1000确定将第二编码器输出值发送到服务器2000(操作s430中的“是”)时,设备1000可以将第二编码器输出值发送到服务器2000(操作s435)。在这种情况下,服务器2000可以具有端到端asr模型的编码器和解码器两者,并且发送到服务器2000的第二编码器输出值可以被输入到服务器2000中的编码器的第二层的输出终端。
84.图5是展示了根据本公开的实施例的由服务器2000执行的将编码器输出值输入到所选择的解码器的示例性方法的流程图。
85.服务器2000可以通过执行存储在服务器2000的存储装置中的指令来执行在图5中示出的其操作。例如,服务器2000可以通过执行如下文参考图13详细描述的输出值转换模块2314来执行图5中所示的其操作。
86.服务器2000可以根据选择的解码器来转换编码器输出值的格式(操作s500)。当编码器输出值的格式与将要馈送到在操作s335中选择的解码器的输入值的格式不同时,服务器2000可以转换从设备1000接收的编码器输出值的格式。在这种情况下,服务器2000可以使用用于将编码器输出值转换成与所选择的解码器兼容的格式的工具来转换编码器输出值的格式。此外,为了允许将各种格式的编码器输出值馈送到各种类型的解码器中,服务器2000可以存储与多种类型的编码器和多种类型的解码器的每个组合相对应的转换工具。例如,为了允许将n种类型的编码器输出值馈送到m种类型的解码器中,服务器2000可以存储能够执行n x m种类型的数据转换的至少一个转换工具。
87.服务器2000可以将所得到的编码器输出值输入到所选择的解码器(操作s510)。服务器2000可以使用基于所得的编码器输出值从解码器获取的解码器输出值来获取文本串。
88.图6a是展示了根据本公开的实施例的其中服务器2000选择与特定域相对应的一个解码器来处理编码器输出值的示例的图。
89.参考图6a,来自设备1000中的第一类型的编码器60的编码器输出值可以被提供给服务器2000中的编码器识别模块(例如,包括处理电路和/或可执行程序元件)2311。服务器2000的编码器识别模块2311可以接收编码器输出值并识别输出编码器输出值的第一类型60的编码器的类型。当设备1000向服务器2000提供编码信息时,编码器识别模块2311可以基于由设备1000提供的编码信息来将第一类型60的编码器的类型识别为第一类型。当设备1000没有向服务器2000提供编码信息时,编码器识别模块2311可以通过分析由设备1000提供的编码器输出值和编码器输出值的格式来将第一类型60的编码器的类型识别为第一类型。
90.服务器2000的域识别模块(例如,包括处理电路和/或可执行程序元件)2312可以识别与由设备1000提供的编码器输出值相关的域。当设备1000向服务器2000提供域信息时,域识别模块2312可以基于由设备1000提供的域信息来识别编码器输出值与第一域相关。当设备1000没有向服务器2000提供域信息时,域识别模块2312可以使用由设备1000提供的编码器输出值来将与编码器输出值相关的域识别为第一域。例如,通过对编码器输出值应用适用于编码器输出值和编码器输出值的格式的投影层,域识别模块2312可以从投影层获取文本,并且基于获取的文本将与编码器输出值相关的域识别为第一域。在这种情况下,服务器2000可以基于从编码器输出值生成的文本的域置信水平来识别与编码器输出值相关的域。例如,服务器2000可以计算域置信水平,每个域置信水平指示从编码器输出值获取的文本与第一域和第二域中的每一个之间的相关程度。此外,例如,服务器2000可以通过将分别针对第一域和第二域计算的域置信水平相互比较来将与编码器输出值相关的域识别为第一域。
91.服务器2000的解码器选择模块(例如,包括处理电路和/或可执行程序元件)2313可以选择解码器来解码编码器输出值。解码器选择模块2313可以基于由编码器识别模块2311识别的编码器的类型和由域识别模块2312识别的域来从多个解码器(例如服务器2000中的第一和第二类型解码器61、62、63、和64的组)中选择与第一域相对应的第一类型的解码器61。
92.编码器输出值可以被输入到第一类型61的解码器,并且服务器2000可以基于来自第一类型61的解码器的输出值来获取文本串。此外,服务器2000可以将获取的文本串提供给设备1000。
93.图6b是展示了根据本公开的实施例的其中服务器2000选择与特定域相对应的多个解码器来处理编码器输出值的示例的图。
94.参考图6b,来自设备1000中的第一类型60的编码器的编码器输出值可以被提供给服务器2000中的域识别模块2312。域识别模块2312可以识别与由设备1000提供的编码器输出值相关的域。当设备1000向服务器2000提供域信息时,域识别模块2312可以基于由设备1000提供的域信息来识别编码器输出值与第一域相关。当设备1000没有向服务器2000提供域信息时,域识别模块2312可以使用由设备1000提供的编码器输出值来将与编码器输出值相关的域识别为第一域。例如,通过对编码器输出值应用适用于编码器输出值和编码器输出值的格式的投影层,域识别模块2312可以从投影层获取文本,并且基于获取的文本将与编码器输出值相关的域识别为第一域。在这种情况下,服务器2000可以基于从编码器输出值生成的文本的域置信水平来识别与编码器输出值相关的域。
95.服务器2000的解码器选择模块2313可以选择解码器来解码编码器输出值。解码器选择模块2313可以基于由域识别模块2312识别的域从多个解码器(例如服务器2000中的一组第一和第二类型的解码器61和62以及一组第一和第二类型的解码器63和64)中选择各自对应于第一域的第一类型的解码器61和第二类型的解码器62。
96.编码器输出值可以被输入到第一类型61的解码器,并且服务器2000可以基于来自第一类型61的解码器的输出值来获取第一文本串。此外,编码器输出值可以转换成适用于第二类型62的解码器的格式,然后输入到第二类型62的解码器,并且服务器2000可以基于来自第二类型62的解码器的输出值来获取第二文本串。
97.服务器2000可以将第一文本串的置信水平与第二文本串的置信水平进行比较,选择具有较高置信水平的文本串,并且将所选择的文本串提供给设备1000。文本串的置信水平可以是指示获取的文本串与输入语音之间的匹配程度的数值,并且置信水平可以包括例如置信度分数,但不限于此。
98.图6c是展示了根据本公开的实施例的其中服务器2000选择与多个域相对应的多个解码器来处理编码器输出值的示例的图;
99.参考图6c,来自设备1000中的第一类型60的编码器的编码器输出值可以被提供给服务器2000中的解码器选择模块2313。服务器2000的解码器选择模块2313可以选择解码器来对编码器输出值进行解码。解码器选择模块2313可以选择多个解码器,例如,一组第一和第二类型的解码器61和62以及一组第一和第二类型的解码器63和64,这些组分别对应于多个域,例如服务器2000中的第一和第二域。
100.编码器输出值可以被输入到对应于第一域的第一类型的解码器61,并且服务器2000可以基于来自对应于第一域的第一类型的解码器61的输出值来获取第一文本串。此外,编码器输出值可以转换成适用于对应于第一域的第二类型的解码器62的格式,然后输入到对应于第一域的第二类型的解码器62,并且服务器2000可以基于来自对应于第一域的第二类型的解码器62的输出值来获取第二文本串。
101.此外,编码器输出值可以被输入到对应于第二域的第一类型的解码器63,并且服务器2000可以基于来自对应于第二域的第一类型的解码器63的输出值来获取第三文本串。此外,编码器输出值可以转换成适用于对应于第二域的第二类型的解码器64的格式,然后输入到对应于第二域的第二类型的解码器64,并且服务器2000可以基于来自对应于第二域的第二类型的解码器64的输出值来获取第四文本串。
102.服务器2000可以将第一至第四文本串的置信水平相互比较,选择具有高置信水平的文本串,并且将所选择的文本串提供给设备1000。
103.图6d是展示了根据本公开的实施例的其中服务器2000基于与设备的编码器相同类型的解码器不在服务器2000中,选择不同类型的解码器来处理编码器输出值的示例的图;
104.参考图6d,服务器2000可能不包括与设备1000中的第一类型60的编码器相同类型的解码器。在这种情况下,解码器选择模块2313可以从多个解码器(例如一组第三(65)至第五(67)类型的解码器65至67以及一组第三(68)至第五(70)类型的解码器68至70)中选择解码器来处理来自第一类型的编码器60的编码器输出值,这些组分别对应于多个域,例如第一和第二域。例如,服务器2000可以选择与第一类型的编码器60不同类型的第三类型的解
码器65和第四类型的解码器66。
105.因此,编码器输出值可以转换成适用于第三类型的解码器65的格式,然后输入到第三类型的解码器65,并且服务器2000可以基于来自第三类型的解码器65的输出值来获取第五文本串。此外,编码器输出值可以转换成适用于第四类型的解码器66的格式,然后输入到第四类型的解码器66,并且服务器2000可以基于来自第四类型的解码器66的输出值来获取第六文本串。服务器2000可以将第五文本串的置信水平与第六文本串的置信水平进行比较,选择具有较高置信水平的文本串,并且将所选择的文本串提供给设备1000。
106.图7a是展示了根据本公开的实施例的设备1000和服务器2000从语音信号中获取文本串的示例的图,其中设备1000和服务器2000各自包括基于注意力的asr模型。
107.参考图7a,设备1000和服务器2000可以各自包括基于注意力的asr模型。基于注意力的asr模型可以包括各自包括rnn的编码器和解码器。基于注意力的asr模型的编码器可以逐帧计算来自语音信号的特征向量的输出,并且解码器可以确定哪个与帧相对应的编码器输出值应当被注意,根据注意力权重选择编码器输出值,并且使用所选择的编码器输出值作为输入来估计文本串。
108.设备1000中的基于注意力的asr模型的编码器可以包括多个堆叠的lstm层,并且设备1000可以向服务器2000提供隐藏层向量,该隐藏层向量是来自设备1000本身中的基于注意力的asr模型的编码器中的最后lstm层71的编码器输出值。此外,从设备1000接收的隐藏层向量可以被馈送到服务器2000中的基于注意力的asr模型的编码器中的最后lstm层73的输出终端中。
109.设备1000可以向服务器2000提供隐藏层向量,该隐藏层向量是来自设备1000中的基于注意力的asr模型的编码器中的lstm层72的编码器输出值。此外,从设备1000接收的隐藏层向量可以被馈送到服务器2000中的基于注意力的asr模型的编码器中的lstm层74的输出终端中。服务器2000中基于注意力的asr模型的编码器中的lstm层74可以是与设备1000中的基于注意力的asr模型的编码器中的lstm层72相对应的层。
110.此外,服务器2000可以使用例如从设备1000接收的隐藏层向量向设备1000提供从基于注意力的asr模型输出的文本串。服务器2000可以识别与从设备1000接收的隐藏层向量相关的域,并且从服务器2000中的多个基于注意力的asr模型中选择与识别的域相对应的基于注意力的asr模型。此外,服务器2000可以通过将从设备1000接收到的隐藏层向量输入到所选择的基于注意力的asr模型来获取文本串作为输出值。
111.图7b是展示了根据本公开的实施例的设备1000和服务器2000从语音信号中获取文本串的示例的图,其中设备1000和服务器2000各自包括基于rnn-t的asr模型。
112.参考图7b,设备1000和服务器2000可以各自包括例如基于rnn-t的asr模型。在rnn-t asr模型中,可以将预测网络连接到编码器,以达到经由语言模型对编码器输出值进行后处理的效果。
113.设备1000中的基于注意力的asr模型的编码器可以包括堆叠的多个lstm层,并且设备1000可以向服务器2000提供隐藏层向量,该隐藏层向量是来自设备1000中的基于rnn-t的asr模型的编码器中的最后lstm层75的编码器输出值。此外,从设备1000接收的隐藏层向量可以被馈送到服务器2000中的基于rnn-t的asr模型的编码器中的最后lstm层77的输出终端中。
114.设备1000可以向服务器2000提供隐藏层向量,该隐藏层向量是来自设备1000中的基于rnn-t的asr模型的编码器中的lstm层76的编码器输出值。此外,从设备1000接收的隐藏层向量可以被馈送到服务器2000中的基于rnn-t的asr模型的编码器中的lstm层78的输出终端中。服务器2000中基于rnn-t的asr模型的编码器中的lstm层78可以是与设备1000中的基于rnn-t的asr模型的编码器中的lstm层76相对应的层。
115.此外,服务器2000可以使用例如从设备1000接收的隐藏层向量向设备1000提供从基于rnn-t的asr模型输出的文本串。服务器2000可以识别与从设备1000接收的隐藏层向量相关的域,并且从服务器2000中的多个基于rnn-t的asr模型中选择与识别的域相对应的基于rnn-t的asr模型。此外,服务器2000可以通过将从设备1000接收到的隐藏层向量输入到所选择的基于rnn-t的asr模型来获取文本串作为输出值。
116.图8a是展示了根据本公开的实施例的设备1000和服务器2000从语音信号中获取文本串的示例的图,其中服务器2000中未包含基于注意力的asr模型的编码器。
117.参考图8a,设备1000可以包括基于注意力的asr模型的编码器和解码器两者,并且服务器2000可以仅包括基于注意力的asr模型的解码器。例如,服务器2000可以包括与域a相对应的解码器和与域b相对应的解码器作为基于注意力的asr模型的解码器。因此,可以将设备1000中基于注意力的asr模型的编码器的输出值提供给服务器2000中的与域a相对应的解码器或与域b相对应的解码器中的至少一个。
118.图8b是展示了根据本公开的实施例的设备1000和服务器2000从语音信号中获取文本串的示例的图,其中服务器2000未包含基于rnn-t的asr模型的编码器。
119.参考图8b,设备1000可以包括基于rnn-t的asr模型的编码器和解码器两者,并且服务器2000可以仅包括基于rnn-t的asr模型的解码器。例如,服务器2000可以包括与域a相对应的解码器和与域b相对应的解码器作为基于rnn-t的asr模型的解码器。因此,可以将设备1000中基于rnn-t的asr模型的编码器的输出值提供给服务器2000中的与域a相对应的解码器或与域b相对应的解码器中的至少一个。
120.图9是展示了根据本公开的实施例的由设备1000和服务器2000执行的对语音输入执行语音识别和nlu处理的示例性方法的流程图。
121.参考图9,设备1000可以确定是否使用其asr模型的输出值以及是否在设备1000自身处执行nlu处理。
122.设备1000可以基于来自asr模型的编码器输出值来确定是否使用其asr模型的输出值(操作900)。设备1000可以通过将编码器输出值的置信水平与预设阈值进行比较来获取编码器输出值的置信水平并确定是否使用asr模型的输出值。当编码器输出值的置信水平大于或等于预设阈值时,设备1000可以确定使用asr模型的输出值。另一方面,当编码器输出值的置信水平小于预设阈值时,设备1000可以确定不使用asr模型的输出值。编码器输出值的置信水平可以表示由编码器输出值表示的文本与输入语音之间的匹配程度。例如,当训练设备1000中的asr模型的编码器时,可以使用ctc损失函数。在这种情况下,通过将投影层连接到编码器的输出终端,可以从投影层获取文本。此外,设备1000可以基于从连接到编码器的输出终端的投影层获取的文本来计算编码器输出值的置信水平。然而,计算(例如,确定)置信水平的方法不限于此,并且例如,设备1000可以使用预设算法直接从编码器输出值计算置信水平。作为另一示例,设备1000可以使用语音识别评估模块(例如,图14的
1430)获取编码器输出值的置信水平。
123.设备1000可以基于其asr模型的输出值来确定是否使用其asr模型的输出值(操作900)。设备1000的asr模型的输出值例如可以是从语音信号的特征向量生成的至少一个文本串。设备1000的asr模型的输出值可以是在使用设备1000的asr模型中的解码器(图14的1412)对来自设备1000的asr模型中的编码器(图14的1411)的编码器输出值进行解码时所获取的文本串。设备1000可以基于asr模型的输出值的置信水平来确定是否将asr模型的输出值用于语音助理服务。asr模型的输出值的置信水平例如可以表示从asr模型输出的文本串与输入语音之间的匹配程度。
124.当设备1000确定不使用其asr模型的输出值(操作900中的“否”)时,设备1000可以向服务器2000提供来自设备1000的asr模型中的编码器的编码器输出值。例如,设备1000可以向服务器2000提供从编码器中的隐藏层输出的隐藏向量或从隐藏向量生成的字素。
125.此后,服务器2000的asr模型905可以使用从设备1000接收的编码器输出值来获取其输出值。服务器2000可以将从设备1000接收的编码器输出值输入到服务器2000的asr模型905中的解码器。例如,服务器2000可以如在图3的操作s325至s340中那样从编码器输出值生成文本串。此外,服务器2000可以将其asr模型905的输出值提供给安装在其上的nlu模型910。
126.另一方面,当设备1000确定使用其asr模型的输出值(操作900中的“是”)时,设备1000可以使用其asr模型的输出值来确定是否在设备1000自身处执行nlu处理(操作915)。例如,设备1000可以基于其asr模型的输出值的域置信水平来确定是否在其中执行nlu处理。域置信水平可以包括例如指示文本串与特定域相关的密切程度的数值。设备1000可以计算域置信水平,该域置信水平指示其asr模型的输出值与为了nlu处理预先注册的域的相关程度,并且基于针对预注册域计算的域置信水平来确定是否在设备1000自身处执行nlu处理。例如,设备1000可以针对多个预注册域中的每一个获取指示asr模型的输出值与预注册域的相关程度的置信度分数,并且基于获取的置信度分数确定是否在设备1000本身处进行nlu处理。设备1000可以基于规则来识别与asr模型的输出值相关的域,或者使用为域识别而训练的ai模型来获取与asr模型的输出值相关的域置信水平。此外,例如,用于域识别的ai模型可以是nlu模型的一部分,或者是与其分离的模型。此外,例如,asr模型的输出值的域置信水平可以由图14的域识别模块1450计算。
127.当设备1000确定使用其asr模型的输出值但不在其中执行nlu处理(操作915中的“否”)时,设备1000可以向服务器2000提供asr模型的输出值。例如,当与预注册域相关的设备1000的asr模型的输出值的置信水平小于预设阈值时,则确定asr模型的输出值与预注册的域不相关或略微相关,设备1000可以确定不在设备1000本身处执行nlu处理。
128.服务器2000的nlu模型910可以使用例如服务器2000的asr模型905的输出值或设备1000的asr模型的输出值中的至少一个来执行nlu处理。此外,服务器2000可以向设备1000提供从nlu模型910输出的nlu结果值。nlu结果值是表示解释文本的结果的数据,并且例如可以是从nlu模型910输出的数据。例如,nlu结果值可以包括意图和参数。意图是通过使用nlu模型解释文本而确定的信息,并且可以指示例如用户的话语意图。意图可以包括指示用户的话语意图的信息(以下称为“意图信息”)以及与意图信息相对应的数值。数值可以指示文本将与指示特定意图的信息相关的概率。当使用nlu模型获取多条意图信息作为解
释文本的结果时,可以将具有与该意图信息相对应的最大数值的一条意图信息确定为意图。此外,参数可以指示与意图相关的详细信息。参数是与意图相关的信息,并且多个类型的参数可以对应于单个意图。
129.另一方面,当设备1000确定使用其asr模型的输出值在其中执行nlu处理(操作915中的“是”)时,设备1000可以将asr模型的输出值提供给安装在其上的nlu模型920。设备1000的nlu模型920可以使用设备1000的asr模型的输出值来执行nlu处理。
130.设备1000可以确定是否向其自身注册域(操作925)。当设备1000向其注册特定域并且确定在注册后生成的其asr模型的输出值与注册域相关时,设备1000可以设置(例如,配置)使用设备1000的nlu模型920来处理asr模型的输出值,而不是将asr模型的输出值发送到服务器2000。例如,对于域注册,设备1000可以评估从服务器2000接收的nlu结果值和从其nlu模型920输出的nlu结果值,并且基于评估的结果向其自身注册特定域。设备1000可以将从服务器2000的nlu模型910输出的nlu结果值中的意图和参数与从设备1000的nlu模型920输出的nlu结果值中的意图和参数进行比较,然后基于比较的结果来向其自身注册特定域。例如,当从设备1000的nlu模型920输出的nlu结果值中的意图和参数与从服务器2000的nlu模型910输出的nlu结果值中的意图和参数基本相同或相似时,设备1000可以向其注册与nlu模型920相对应的域。
131.设备1000可以在设备1000的屏幕上显示用于评估从服务器2000的nlu模型910输出的nlu结果值和从设备1000的nlu模型920输出的nlu结果值的图形用户界面(gui),然后基于经由显示的gui的用户输入来评估来自nlu模型910的nlu结果值和来自nlu模型920的nlu结果值。
132.作为另一示例,设备1000可以使用域注册模块(例如,图14的1460)向其注册特定域。
133.图10是展示了根据本公开的实施例的由设备1000和服务器2000执行的对语音输入执行语音识别和nlu处理的示例性方法的流程图。
134.参考图10,设备1000可以使用服务器2000的asr模型105的输出值来确定是否使用设备1000的asr模型的输出值并且确定是否在设备1000自身处执行nlu处理。
135.设备1000可以基于来自其asr模型的编码器输出值来确定是否使用其asr模型的输出值(操作100)。设备1000可以获取编码器输出值的置信水平并通过将编码器输出值的置信水平与预设阈值进行比较来确定是否使用该asr模型的输出值。当编码器输出值的置信水平大于或等于预设阈值时,设备1000可以确定使用该asr模型的输出值。另一方面,当编码器输出值的置信水平小于预设阈值时,设备1000可以确定不使用该asr模型的输出值。编码器输出值的置信水平可以表示由编码器输出值表示的文本与输入语音之间的匹配程度。此外,例如,可以使用语音识别评估模块(例如,图14的1430)来计算编码器输出值的置信水平。
136.设备1000可以基于其asr模型的输出值来确定是否使用其asr模型的输出值(操作100)。设备1000可以基于该asr模型的输出值的置信水平来确定是否将该asr模型的输出值用于语音助理服务。asr模型的输出值的置信水平例如可以表示从asr模型输出的文本串与输入语音之间的匹配程度。
137.当设备1000确定不使用其asr模型的输出值(操作100中的“否”)时,设备1000可以
向服务器2000提供来自设备1000的asr模型中的编码器的编码器输出值。
138.服务器2000的asr模型105可以使用从设备1000接收的编码器输出值来获取其输出值。服务器2000可以将从设备1000接收的编码器输出值输入到服务器2000的asr模型105的解码器。例如,服务器2000可以如在图3的操作s325至s340中那样从编码器输出值生成文本串。此外,服务器2000可以向设备1000提供其asr模型105的输出值。
139.当设备1000确定使用其asr模型的输出值(操作100中的“是”)时,设备1000可以使用其asr模型的输出值来确定是否在设备1000自身处执行nlu处理(操作110)。在这种情况下,例如,设备1000可以基于其asr模型的输出值的域置信水平来确定是否在其中执行nlu处理。设备1000可以基于规则来识别与其asr模型的输出值相关的域,或者使用为域识别而训练的ai模型来获取与asr模型的输出值相关的域置信水平。此外,例如,用于域识别的ai模型可以是nlu模型的一部分,或者是与其分离的模型。例如,设备1000的asr模型的输出值的域置信水平可以由域识别模块(例如,图14的1450)计算。
140.当服务器2000向设备1000提供其asr模型105的输出值时,设备1000可以使用服务器2000的asr模型105的输出值来确定是否在设备1000自身处执行nlu处理(操作110)。例如,设备1000可以基于服务器2000的asr模型105的输出值的域置信水平来确定是否在其中执行nlu处理。设备1000可以计算域置信水平,该域置信水平指示服务器2000的asr模型105的输出值与预先注册用于nlu处理的域的相关程度,并且基于针对预注册域计算的域置信水平来确定是否在设备1000自身处执行nlu处理。例如,设备1000可以针对多个预注册域中的每一个获取指示服务器2000的asr模型105的输出值与预注册域的相关程度的置信度分数,并且基于获取的置信度分数确定是否在设备1000本身处进行nlu处理。设备1000可以基于规则来识别与服务器2000的asr模型105的输出值相关的域,或者使用为域识别而训练的ai模型来获取与asr模型105的输出值相关的域置信水平。此外,例如,用于域识别的ai模型可以是nlu模型的一部分,或者是与其分离的模型。此外,例如,服务器2000的asr模型105的输出值的域置信水平可以由域识别模块(例如,图14的1450)计算。
141.当设备1000确定使用其asr模型的输出值在其中执行nlu处理(操作110中的“是”)时,设备1000可以将其asr模型的输出值提供给设备1000的nlu模型120。此外,当设备1000确定使用服务器2000的asr模型105的输出值在其中执行nlu处理时,设备1000可以向设备1000的nlu模型120提供服务器2000的asr模型105的输出值。在这种情况下,设备1000的nlu模型120可以使用其asr模型的输出值或服务器2000的asr模型105的输出值来执行nlu处理。
142.当设备1000确定使用其asr模型的输出值但不在设备1000中执行nlu处理(操作110中的“否”)时,设备1000可以向服务器2000提供其asr模型的输出值。此外,当设备1000确定使用服务器2000的asr模型105的输出值且不在设备1000中执行nlu处理时,设备1000可以向服务器2000提供服务器2000的asr模型105的输出值。
143.服务器2000的nlu模型115可以使用服务器2000的asr模型105的输出值或设备1000的asr模型的输出值中的至少一个来执行nlu处理。此外,服务器2000可以向设备1000提供从nlu模型115输出的nlu结果值。
144.设备1000可以确定是否向其自身注册域(操作125)。当设备1000向其注册特定域并且确定在注册后生成的其asr模型的输出值与注册域相关时,设备1000可以设置(例如,
配置)使用设备1000中的nlu模型120来处理asr模型的输出值,而不是将asr模型的输出值发送到服务器2000。
145.图11是展示了根据本公开的实施例的由设备1000和服务器2000执行的对语音输入执行语音识别和nlu处理的示例性方法的流程图。
146.参考图11,设备1000可以确定是否使用其asr模型的输出值以及是否在设备1000自身处执行nlu处理。此外,服务器2000可以基于服务器2000的asr模型215的输出值来确定是否要在设备1000处执行nlu处理。
147.设备1000可以基于来自其asr模型的编码器输出值来确定是否使用其asr模型的输出值(操作200)。设备1000可以获取编码器输出值的置信水平并通过将编码器输出值的置信水平与预设阈值进行比较来确定是否使用其asr模型的输出值。当从设备1000的asr模型得到输出值时,设备1000可以基于其asr模型的输出值来确定是否使用其asr模型的输出值(操作200)。
148.当设备1000确定使用其asr模型的输出值(操作200中的“是”)时,设备1000可以使用其asr模型的输出值来确定是否在设备1000自身处执行nlu处理(操作205)。例如,设备1000可以基于其asr模型的输出值的域置信水平来确定是否在其中执行nlu处理。设备1000可以计算域置信水平,该置信水平指示其asr模型的输出值与预先注册用于nlu处理的域的相关程度,并且基于针对预注册域计算的域置信水平来确定是否在设备1000自身处执行nlu处理。设备1000可以基于规则来识别与其asr模型的输出值相关的域,或者使用为域识别而训练的ai模型来获取与asr模型的输出值相关的域置信水平。此外,例如,用于域识别的ai模型可以是nlu模型的一部分,或者是与其分离的模型。此外,例如,设备1000的asr模型的输出值的域置信水平可以由域识别模块(例如,图14的1450)计算。
149.当确定不在设备1000处执行nlu处理(操作205中的“否”)时,设备1000可以向服务器2000提供其asr模型的输出值。服务器2000然后可以将设备1000的asr模型的输出值输入到服务器2000的nlu模型210并且从nlu模型210获取nlu结果值。此外,服务器2000可以向设备1000提供从nlu模型210获取的nlu结果值。
150.当确定在设备1000处执行nlu处理(操作205中的“是”)时,设备1000可以将其asr模型的输出值输入到设备1000的nlu模型225并且获取来自nlu模型225的nlu结果值。
151.当设备1000确定不使用其asr模型的输出值(操作200中的“否”)时,设备1000可以向服务器2000提供来自设备1000的asr模型中的编码器的编码器输出值。
152.服务器2000的asr模型215可以使用从设备1000接收的编码器输出值来获取其输出值。服务器2000可以将从设备1000接收的编码器输出值输入到服务器2000的asr模型215中的解码器,并且从asr模型215获取输出值。例如,服务器2000可以如在图3的操作s325至s340中那样从编码器输出值生成文本串。
153.服务器2000然后可以基于asr模型215的输出值来确定是否要在设备1000处执行nlu处理(操作220)。服务器2000可以确定与asr模型215的输出值相关的域是否是其中设备1000能够执行nlu处理的域。当与asr模型215的输出值相关的域是预先向设备1000注册的域时,服务器2000可以确定设备1000将执行nlu处理(操作220中的“是”)。另一方面,当与asr模型215的输出值相关的域不是预先向设备1000注册的域时,服务器2000可以确定设备1000不执行nlu处理(操作220中的“否”)。
154.例如,服务器2000可以基于asr模型215的输出值的域置信水平来确定是否要在设备1000处执行nlu处理。服务器2000可以计算域置信水平,该域置信水平指示asr模型215的输出值与预先向设备1000注册以用于nlu处理的域的相关程度,并且基于针对预注册域计算的域置信水平来确定是否要在设备1000处执行nlu处理。例如,服务器2000可以针对多个预注册域中的每一个获取指示服务器2000的asr模型215的输出值与预注册域的相关程度的置信度分数,并且基于获取的置信度分数确定是否要在设备1000处进行nlu处理。在这种情况下,指示向设备1000注册了哪个域的信息可以预先存储在服务器2000中。响应于服务器2000的请求,可以从设备1000向服务器2000提供指示向设备1000注册了哪个域的信息。服务器1000可以基于规则来识别与asr模型215的输出值相关的域,或者使用为域识别而训练的ai模型来获取与asr模型215的输出值相关的域置信水平。此外,例如,用于域识别的ai模型可以是nlu模型的一部分,或者是与其分离的模型。此外,例如,服务器2000的asr模型215的输出值的域置信水平可以由语音识别评估模块(例如,图13的2341)计算。
155.当服务器2000确定设备1000要执行nlu处理(操作220中的“是”)时,服务器2000可以向设备1000提供asr模型215的输出值。设备1000然后可以将服务器2000的asr模型215的输出值输入到设备1000的nlu模型225并且从nlu模型225获取nlu结果值。
156.当服务器2000确定设备1000不执行nlu处理(操作220中的“否”)时,服务器2000可以将asr模型215的输出值提供给nlu模型210。服务器2000然后可以将asr模型215的输出值输入到nlu模型210并且从nlu模型210获取nlu结果值。此外,服务器2000可以将获取的nlu结果值提供给设备1000。
157.设备1000可以确定是否向其自身注册域(操作230)。当设备1000向其注册特定域并且确定在注册后生成的其asr模型的输出值与注册域相关时,设备1000可以设置(例如,配置)使用其nlu模型225来处理asr模型的输出值,而不是将asr模型的输出值发送到服务器2000。
158.图12是展示了根据本公开的实施例的由设备1000和服务器2000执行的对语音输入执行语音识别和nlu处理的示例性方法的流程图。参考图12,设备1000可以立即确定是否在其中执行nlu处理。
159.当从设备1000的asr模型得到输出值时,设备1000可以基于其asr模型的输出值来确定是否在设备1000本身处执行nlu处理(操作300)。设备1000可以基于其asr模型的输出值的置信水平或其asr模型的域置信水平中的至少一个来确定是否在设备1000本身处执行nlu处理。例如,asr模型的输出值的置信水平可以包括指示从asr模型输出的文本串与输入语音之间的匹配程度的置信度分数。此外,域置信水平可以包括例如指示从asr模型输出的文本串与特定域的相关程度的置信度分数。
160.此外,设备1000可以基于其asr模型的输出值的置信水平和其asr模型的域置信水平的加权和来确定是否在其中执行nlu处理。例如,设备1000可以将第一权重应用于asr模型的输出值的置信水平,将第二权重应用于asr模型的域置信水平,并且基于由第一权重加权的置信水平和由第二权重加权的域置信水平来确定是否在设备1000本身处执行nlu处理。在这种情况下,asr模型的输出值的置信水平和asr模型的域置信水平可以是根据预设标准归一化的值。此外,例如,asr模型的输出值的置信水平与asr模型的域置信水平的加权和可以由语音识别评估模块(例如,图14的1430)计算。
161.当确定要在设备1000处执行nlu处理(操作300中的“是”)时,设备1000可以将其asr模型的输出值输入到其nlu模型305并获取从nlu模型305输出的nlu结果值。
162.当确定不在设备1000处执行nlu处理(操作300中的“否”)时,设备1000可以向服务器2000提供来自设备1000的asr模型中的编码器的编码器输出值。服务器2000可以将编码器输出值输入到其asr模型315,并将asr模型315的输出值输入到服务器2000的nlu模型320。服务器2000可以获取从nlu模型320输出的nlu结果值并将其提供给设备1000。
163.设备1000可以确定是否向其自身注册域(操作325)。当设备1000向其注册特定域并且确定在注册后生成的其asr模型的输出值与注册域相关时,设备1000可以设置(例如,配置)使用nlu模型305来处理asr模型的输出值。
164.图13是展示了根据本公开的实施例的示例性服务器2000的框图。
165.参考图13,根据本公开的实施例,服务器2000可以包括通信接口(例如,包括通信电路)2100、处理器(例如,包括处理电路)2200和存储装置2300,并且存储装置2300可以包括语音识别管理模块(例如,包括可执行程序元素)2310、asr模块(例如,包括可执行程序元素)2320、nlu模块(例如,包括可执行程序元素)2330以及语音解释管理模块(例如,包括可执行程序元素)2340。
166.通信接口2100可以包括用于与设备1000和其他服务器(未示出)进行通信的一个或多个部件(例如,电路)。通信接口2100可以与设备1000和其他服务器交换用于语音识别和语音助理服务的信息。例如,通信接口2100可以经由局域网(lan)、广域网(wan)、增值网络(van)、移动无线电通信网络、卫星通信网络或其组合来执行通信,但不限于此。
167.处理器2200可以包括各种处理电路并且控制服务器2000的所有操作。处理器2200可以执行存储在存储装置2300中的程序以控制本公开中提出的服务器2000的所有操作。
168.存储装置2300可以存储由处理器2200执行的用于处理或控制操作所必需的程序,或者存储输入到服务器2000或从服务器输出的数据。例如,存储装置2300可以包括至少一种类型的存储介质,例如快闪存储器型存储器、硬盘型存储器、多媒体卡微型存储器、卡型存储器(例如,sd卡或xd存储器)、随机存取存储器(ram)、静态ram(sram)、只读存储器(rom)、电可擦除可编程rom(eeprom)、prom、磁存储器、磁盘或光盘,但不限于此。
169.存储在存储装置2300中的程序可以根据其功能被分类成多个模块,例如,语音识别管理模块2340、asr模块2320和nlu模块2330。
170.语音识别管理模块2310可以包括包含各种模块的各种可执行程序元素,并且将从设备1000接收的编码器输出值提供给asr模型2320。语音识别管理模块2310可以包括编码器识别模块2311、域识别模块2312、解码器选择模块2313和输出值转换模块2314。
171.域识别模块2312可以识别与从设备1000接收的编码器输出值相关的域。当服务器2000从设备1000接收域信息时,域识别模块2312可以基于域信息来识别与编码器输出值相关的域。此外,当服务器2000没有从设备1000接收域信息时,域识别模块2312可以基于编码器输出值来识别与编码器输出值相关的域。例如,服务器2000可以从设备1000接收从连接到设备1000中的编码器的输出终端的投影层获取的文本,并且域识别模块2312可以使用接收的文本来识别与编码器输出值相关的域。作为另一示例,域识别模块2312可以通过基于从设备1000接收的编码信息将投影层应用于编码器输出值来获取文本,并且使用获取的文本来识别与编码器输出值相关的域。在这种情况下,域识别模块2312可以基于从编码器输
出值生成的文本的域置信水平来识别与编码器输出值相关的域。例如,域识别模块2312可以计算指示从编码器输出值获取的文本与预先注册以对编码器输出值进行解码的域的相关程度的置信度分数。此外,域识别模块2312可以基于针对预注册域计算的域置信水平来识别与编码器输出值相关的域。域识别模块2312可以通过分析编码器输出值和编码器输出值的格式并基于分析结果将投影层应用于编码器输出值来识别与编码器输出值相关的域。
172.编码器识别模块2311可以识别设备1000中的编码器的类型和与编码器输出值相关的编码程度。当服务器2000从设备1000接收编码信息时,编码器识别模块2311可以基于编码信息来识别输出编码器输出值的编码器的类型和编码程度。当服务器2000没有从设备1000接收到编码信息时,服务器2000可以通过分析编码器输出值和编码器输出值的格式来识别编码器的类型和编码程度。
173.解码器选择模块2313可以选择解码器来对编码器输出值进行解码。解码器选择模块2313可以基于由域识别模块2312识别的域、编码器的类型或编码信息中的至少一个来选择解码器来对编码器输出值进行解码,其中编码器的类型和编码信息由编码器识别模块2311来识别。解码器选择模块2313可以根据预设标准来选择服务器2000中的多个解码器中的至少一些。
174.解码器选择模块2313可以选择对应于特定域的一个解码器。解码器选择模块2313例如可以从与和编码器输出值相关的域相对应的多个解码器中选择与编码器输出值相同类型的一个解码器。
175.解码器选择模块2313可以选择对应于特定域的多个解码器。解码器选择模块2313可以选择例如与和编码器输出值相关的一个域相对应的多个解码器。所选择的解码器可以包括与编码器输出值相同类型的解码器和不同类型的解码器。
176.解码器选择模块2313可以选择对应于多个域的多个解码器。例如,解码器选择模块2313可以选择与和编码器输出值相关的多个域相对应的多个解码器。所选择的解码器可以包括与编码器输出值相同类型的解码器和不同类型的解码器。解码器选择模块2313可以选择服务器2000中的所有解码器。
177.当与设备1000中的编码器相同类型的解码器不在服务器2000中时,解码器选择模块2313可以选择与编码器输出值不同类型的解码器来处理编码器输出值。
178.输出值转换模块2314可以根据选择的解码器来转换编码器输出值的格式。当编码器输出值的格式与将要馈送到的所选择的解码器中的输入值的格式不同时,输出值转换模块2314可以转换从设备1000接收的编码器输出值的格式。在这种情况下,输出值转换模块2314可以使用用于将编码器输出值转换成与所选择的解码器兼容的格式的工具来转换编码器输出值的格式。在这种情况下,为了允许将各种格式的编码器输出值馈送到各种类型的解码器中,服务器2000可以存储与多种类型的编码器和多种类型的解码器的每个组合相对应的转换工具。
179.asr模块2320可以通过对从设备1000接收的编码器输出值进行解码来获取文本串。asr模块2320可以包括对应于多个域的多个asr模型,诸如第一asr模型2321、第二asr模型2322等。第一asr模型2321和第二asr模型2322可以包括端到端asr模型。第一asr模型2321可以包括编码器2321-1和解码器2321-2,并且第二asr模型2322可以包括编码器2322-1和解码器2322-2。替代性地,根据本公开的实施例,编码器2321-1可以不包括在第一asr模
型2321中,并且编码器2322-1可以不包括在第二asr模型2322中。
180.nlu模块2330可以解释从asr模块2320输出的文本串。nlu模块2330可以包括对应于多个域的多个nlu模型,诸如第一nlu模型2331、第二nlu模型2332等。此外,当设备1000向服务器2000提供其中的asr模型的输出值时,nlu模块2330可以解释从设备1000接收的asr模型的输出值。
181.语音解释管理模块2340可以评估从服务器2000的asr模块2320获取的语音识别结果并且确定是否对语音识别结果执行nlu处理。语音解释管理模块2340可以包括语音识别评估模块2341和nlu确定模块2342。
182.语音识别评估模块2341可以计算基于服务器2000中的解码器的输出值生成的文本串的置信水平。当选择多个解码器并使用所选择的解码器生成多个文本串时,语音识别评估模块2341可以将文本串的置信水平相互比较,并且选择具有高置信水平的文本串作为将要提供给设备1000的文本串。文本串的置信水平可以是指示文本串与输入语音之间的匹配程度的数值,并且置信水平可以包括例如置信度分数,但不限于此。语音识别评估模块2341可以计算基于解码器的输出值生成的文本串的域置信水平。语音识别评估模块2341可以计算域置信水平,该域置信水平指示服务器2000的asr模型的输出值与预先向设备1000注册以便进行nlu处理的域的相关程度,并且基于针对预注册域计算的域置信水平确定是否要在设备1000处执行nlu处理。例如,语音识别评估模块2341可以针对预先向设备1000注册的多个域中的每一个获取置信度分数,该置信度分数指示服务器2000的asr模型的输出值与预先注册的域的相关程度,并且基于获取的置信度分数来确定是否要在设备1000处执行nlu处理。在这种情况下,指示向设备1000注册了哪个域的信息可以预先存储在服务器2000中。替代性地,响应于服务器2000的请求,可以从设备1000向服务器2000提供指示在设备1000中注册有哪个域的信息。
183.nlu确定模块2342可以针对来自服务器2000中的asr模块2320的语音识别结果来确定是否在设备1000或服务器2000处执行nlu处理。nlu确定模块2342可以确定与asr模型2320的输出值相关的域是否是其中设备1000能够执行nlu处理的域。当与asr模块2320的输出值相关的域是预先向设备1000注册的域时,nlu确定模块2342可以确定设备1000将要执行nlu处理。当与asr模块2320的输出值相关的域不是预先向设备1000注册的域时,nlu确定模块2342可以确定设备1000将不执行nlu处理。在这种情况下,服务器2000可以从设备1000接收预先向设备1000注册的域的列表并将该列表存储在存储装置2300中。
184.图14是展示了根据本公开的实施例的设备1000的示例性配置的框图。
185.参考图14,根据本公开的实施例,设备1000可以包括通信接口(例如,包括通信电路)1100、输入/输出(i/o)接口(例如,包括i/o电路)1200、处理器(例如,包括处理电路)1300和存储器1400,并且存储器1400可以包括asr模型1410、nlu模型1420、语音识别评估模块1430、nlu确定模块1440、域识别模块1450和域注册模块1460。
186.通信接口1100可以包括用于执行与服务器2000和外部设备(未示出)的通信的一个或多个部件(例如,电路)。通信接口1100可以与服务器2000和外部设备交换用于语音识别和语音助理服务的信息。例如,通信接口1100可以经由lan、wan、van、移动无线电通信网络、卫星通信网络或其组合来执行通信,但不限于此。
187.i/o接口1200可以包括各种i/o电路并且接收输入到设备1000的数据并从设备
1000输出数据。i/o接口1200可以包括例如但不限于用户输入接口、相机、麦克风、显示器、音频输出接口等。用户输入接口的示例可以包括但不限于小键盘、弹片开关、触摸板(电容覆盖类型、电阻覆盖类型、红外光束类型、表面声波类型、积分应变计类型、压电类型等)、滚轮、拨动开关等。
188.显示器可以显示并输出由设备1000处理的信息。例如,显示器可以显示用于语音助理服务的gui。当显示器和触摸板形成层结构以构造触摸屏时,显示器可以用作输入设备以及输出设备。显示器可以包括例如并不限于液晶显示器(lcd)、薄膜晶体管-lcd(tft-lcd)、有机发光二极管(oled)、柔性显示器、三维(3d)显示器和电泳显示器等中的至少一种。
189.音频输出接口可以输出音频数据并且可以包括例如扬声器、蜂鸣器等。
190.相机可以在视频电话模式或拍摄模式下经由图像传感器获取诸如静止图像或运动图像的图像帧。经由图像传感器捕获的图像可以由处理器1300或单独的图像处理器(未示出)处理。
191.麦克风可以接收用户的话语并且将用户的话语处理为电语音数据。
192.处理器1300可以包括各种处理电路并且控制设备1000的所有操作。处理器1300可以执行存储在存储器1400中的程序以控制本公开中提出的设备1000的所有操作。
193.存储器1400可以存储由处理器1300执行的用于处理或控制操作所必需的程序,或者存储输入到设备1000或从设备输出的数据。例如,存储器1400可以包括至少一种类型的存储介质,例如快闪存储器型存储器、硬盘型存储器、多媒体卡微型存储器、卡型存储器(例如,sd卡或xd存储器)、ram、sram、rom、eeprom、prom、磁存储器、磁盘或光盘,但不限于此。
194.存储在存储器1400中的程序可以根据其功能分类成多个模块,诸如asr模型1410、nlu模型1420、语音识别评估模块1430、nlu确定模块1440、域识别模块1450和域注册模块1460。
195.asr模型1410可以对输入到设备1000的语音信号进行编码。asr模型1410可以是端到端的asr模型并且包括编码器1411和解码器1412。输入到设备1000的语音信号可以由asr模型1410中的编码器1411编码。asr模型1410中的编码器1411可以包括多个层,例如多个堆叠的lstm层。此外,编码输出值可以是从编码器1411中的层得到的输出值之一。编码的输出值可以是从编码器1411中的层输出的隐藏向量。
196.asr模型1410可以使用编码器1411和解码器1422从语音信号生成文本串。
197.nlu模型1420可以解释从asr模型1410输出的文本串。nlu模型1420可以解释从服务器2000中的asr模型提供的文本串。当服务器2000向设备1000提供其中的asr模型的输出值时,nlu模型1420可以解释由服务器2000提供的asr模型的输出值。
198.语音识别评估模块1430可以评估编码器1411的输出值和asr模型1410的输出值。语音识别评估模块1430可以获取编码器1411的输出值的置信水平。编码输出值的置信水平例如可以包括表示编码输出值与输入语音之间的匹配程度的数值,并且置信水平可以包括例如置信度分数,但不限于此。编码输出值的置信水平可以表示由编码输出值表示的文本与输入语音之间的匹配程度。例如,当训练设备1000中的asr模型1410的编码器1411时,可以使用ctc损失函数。在这种情况下,通过将投影层连接到编码器1411的输出终端,可以从投影层获取文本。此外,语音识别评估模块1430可以基于从连接到编码器的输出终端的投
影层获取的文本来计算编码器输出值的置信水平。然而,计算置信水平的方法不限于此,并且例如,语音识别评估模块1430可以使用预设算法直接从编码器输出值计算置信水平。
199.可以分别从编码器1411中的层得到编码器输出值,并且语音识别评估模块1430可以计算每个得到的编码器输出值的置信水平。此外,可以基于由语音识别评估模块1430计算的置信水平来确定是否向服务器2000提供编码器输出值。
200.此外,语音识别评估模块1430可以计算从asr模型1410输出的文本串的置信水平。文本串的置信水平可以是指示文本串与输入语音之间的匹配程度的数值,并且置信水平可以包括例如置信度分数,但不限于此。可以基于由语音识别评估模块1430计算的置信水平来确定设备1000是否要使用其asr模型1410的输出值。
201.nlu确定模块1440可以确定是否要在设备1000或服务器2000处对从asr模型1410输出的文本串执行nlu处理。nlu确定模块1440可以确定与asr模型1410的输出值相关的域是否是其中设备1000能够执行nlu处理的域。当与asr模型1410的输出值相关的域是预先向设备1000注册的域时,nlu确定模块1440可以确定设备1000将要执行nlu处理。另一方面,当与asr模型1410的输出值相关的域不是预先向设备1000注册的域时,nlu确定模块1440可以确定设备1000将不执行nlu处理。
202.域识别模块1450可以识别与从编码器1411得到的编码器输出值相关的域。域识别模块1450可以基于编码器输出值来识别与编码器输出值相关的域。例如,域识别模块1450可以从连接到设备1000中的编码器的输出终端的投影层获取文本,并且使用获取的文本来识别与编码器输出值相关的域。域识别模块1450可以基于从编码器输出值生成的文本的域置信水平来识别与编码器输出值相关的域。例如,域识别模块1405可以计算指示从编码器输出值获取的文本与预设域的相关程度的置信度分数。此外,域识别模块1450可以基于针对预设域计算的域置信水平来识别与编码器输出值相关的域。
203.此外,域识别模块1450可以计算设备1000中asr模型1410的输出值的域置信水平。域识别模块1450可以计算域置信水平,该域置信水平指示设备1000中的asr模型1410的输出值与为nlu处理预注册的域的相关程度。例如,域识别模块1450可以针对多个预注册域中的每一个来获取置信度分数,该置信度分数指示设备1000中的asr模型1410的输出值与预注册域的相关程度。
204.域识别模块1450可以计算服务器2000中asr模型的输出值的域置信水平。域识别模块1450可以计算域置信水平,该域置信水平指示服务器2000中的asr模型的输出值与为nlu处理预注册的域的相关程度。例如,域识别模块1450可以针对多个预注册域中的每一个来获取置信度分数,该置信度分数指示服务器2000中的asr模型的输出值与预注册域的相关程度。
205.域注册模块1460可以向设备1000注册域。当向设备1000注册特定域并且确定在注册之后生成的编码器输出值与注册的域相关时,可以使用设备1000中的解码器来处理在注册后生成的编码器输出值,而无需发送到服务器2000。
206.例如,域注册模块1460可以基于评估编码器输出值的结果向设备1000注册特定域。作为另一示例,域注册模块1460可以基于评估从asr模型1410输出的文本串的结果向设备1000注册特定域。作为另一示例,域注册模块1460可以基于评估从服务器2000接收的文本串的结果向设备1000注册与评估的文本串相关的域。
207.根据本公开,与ai相关的功能可以经由处理器和存储器来操作。处理器可以被配置为一个或多个处理器。在这种情况下,一个或多个处理器可以包括通用处理器(例如但不限于中央处理单元(cpu))、专用处理器、应用处理器(ap)、数字信号处理器(dsp)、诸如图形处理单元(gpu)和视觉处理单元(vpu)的专用图形处理器、诸如神经处理单元(npu)的专用ai处理器。一个或多个处理器可以控制根据预定义的操作规则或存储在存储器中的ai模型来处理输入数据。当一个或多个处理器为专用ai处理器时,专用ai处理器可以被设计有专门用于处理特定ai模型的硬件结构。
208.预定义的操作规则或ai模型可以经由训练过程创建。经由训练过程的创建可以是指被设置(例如,配置)以执行所需特征(或目的)的预先定义的操作规则或ai模型是通过经由学习算法基于大量训练数据来训练基本ai模型而创建的。训练过程可以由在其中执行ai的装置本身或经由单独的服务器和/或系统来执行。学习算法的示例可以包括但不限于监督学习、无监督学习、半监督学习和强化学习。
209.ai模型可以包括多个神经网络层。每个神经网络层具有多个权重值并且可以经由在前一层的计算结果与多个权重值之间的计算来执行神经网络计算。可以基于训练ai模型的结果来优化分配给每个神经网络层的多个权重值。例如,可以修改多个权重值以减少或最小化ai模型在训练过程中获取的损失或成本值。人工神经网络可以包括深度神经网络(dnn),并且可以包括例如但不限于卷积神经网络(cnn)、dnn、rnn、受限玻尔兹曼机(rbm)、深度置信网络(dbn)、双向递归深度神经网络(brdnn)、深度q网络(dqn)等,但是不限于此。
210.本公开的实施例可以通过其上记录有诸如由计算机执行的程序模块的计算机可执行指令的计算机可读记录介质来实现。计算机可读记录介质可以是可以由计算机访问的任何可用介质,并且包括易失性和非易失性介质两者、可装卸和不可装卸介质两者。此外,计算机可读记录介质可以包括计算机存储介质和通信介质。计算机存储介质包括由任何方法或技术实施的易失性和非易失性介质两者以及可装卸和不可装卸介质两者,以用于存储信息,诸如计算机可读指令、数据结构、程序模块或其他数据。通信介质通常在调制数据信号中包含计算机可读指令、数据结构、程序模块或其他数据。
211.此外,在本公开中,术语“单元”可以包括诸如处理器或电路系统的硬件部件,和/或由诸如处理器的硬件部件执行的软件部件。
212.提供本公开的以上描述是为了说明,并且本领域普通技术人员将理解,在不脱离本公开的技术精神或基本特征的情况下,可以容易地进行形式和细节的各种改变,包括以下权利要求。因此,本公开的上述实施例及其所有方面仅是示例而非限制。例如,被定义为集成部件的每个部件可以以分布式方式实施。同样,被定义为单独部件的部件可以以集成形式实施。
213.本公开的范围不是由其详细描述所限定,而是包括所附权利要求,并且在所附权利要求及其等同物的含义和范围内的所有变化或修改将被理解为包括在本公开的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献