语音识别方法、装置、设备和介质与流程

文档序号:31705355发布日期:2022-10-01 10:45阅读:178来源:国知局
语音识别方法、装置、设备和介质与流程

1.本公开涉及人工智能领域,具体涉及语音识别、自然语言处理和深度学习等技术领域,尤其涉及一种语音识别方法、装置、设备和介质。


背景技术:

2.随着计算机技术和网络技术的发展,深度学习技术在众多领域得到了广泛应用。例如,可以采用基于深度学习技术构建的声学模型来识别语音,以将采集到的语音转化成文本。


技术实现要素:

3.本公开旨在提供一种提高语音识别精度,使得识别结果与识别任务相符的语音识别方法、装置、设备和介质。
4.根据本公开的一个方面,提供了一种语音识别方法,包括:采用声学模型对待识别语音数据和已识别得到的第一文本片段进行处理,得到多个备选文本片段各自的声学概率;采用语言模型中的第一语言子模型对第一文本片段进行处理,得到多个备选文本片段各自的初始语言概率;采用语言模型中的约束子模型对第一文本片段进行处理,得到多个备选文本片段各自针对第一文本片段的可扩展关系;以及根据可扩展关系,对备选文本片段的初始语言概率进行调整,得到多个备选文本片段各自的第一语言概率;以及根据第一语言概率和声学概率,确定多个备选文本片段中的目标文本片段,以得到针对待识别语音数据的文本序列。其中,约束子模型是基于预定文本集中的文本训练得到的。
5.根据本公开的另一个方面,提供了一种语音识别装置,包括:声学概率获得模块,用于采用声学模型对待识别语音数据和已识别得到的第一文本片段进行处理,得到多个备选文本片段各自的声学概率;初始概率获得模块,用于采用语言模型中的第一语言子模型对第一文本片段进行处理,得到多个备选文本片段各自的初始语言概率;扩展关系获得模块,用于采用语言模型中的约束子模型对第一文本片段进行处理,得到多个备选文本片段各自针对第一文本片段的可扩展关系;概率调整模块,用于根据可扩展关系,对备选文本片段的初始语言概率进行调整,得到多个备选文本片段各自的第一语言概率;以及文本确定模块,用于根据第一语言概率和声学概率,确定多个备选文本片段中的目标文本片段,以得到针对待识别语音数据的文本序列,其中,约束子模型是基于预定文本集中的文本训练得到的。
6.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的语音识别方法。
7.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的语音识别方法。
8.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序/指令,
所述计算机程序/指令在被处理器执行时实现本公开提供的语音识别方法。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用于更好地理解本方案,不构成对本公开的限定。其中:图1是根据本公开实施例的语音识别方法和装置的应用场景示意图;图2是根据本公开实施例的语音识别方法的流程示意图;图3是根据本公开第一实施例的得到多个备选文本片段的初始语言概率的原理示意图;图4是根据本公开第二实施例的得到多个备选文本片段的第一语言概率的原理示意图;图5是根据本公开实施例的语言模型的结构示意图;图6是根据本公开第一实施例的确定目标文本片段的原理示意图;图7是根据本公开第二实施例的确定目标文本片段的原理示意图;图8是根据本公开第三实施例的确定目标文本片段的原理示意图;图9是根据本公开实施例的用于训练约束子模型的负样本的生成原理示意图;图10是根据本公开实施例的语音识别装置的结构框图;以及图11是用来实施本公开实施例的语音识别方法的电子设备的框图。
具体实施方式
11.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
12.通常,可以采用语音识别声学建模技术来完成语音识别任务。例如,可以通过构建端到端的注意力模型,来提升语音识别的准确率。但在实际业务中,仅依赖建模得到的声学模型来执行识别任务,难以满足特定业务对语音识别高准确率的需求。这是由于声学模型的训练数据通常有限,无法覆盖多种多样的业务领域。另外,各业务领域的业务需求通常会随着时事热点发生变化,为了提高识别精度,通常需要对声学模型进行迭代更新。但由于声学模型的迭代成本高、迭代周期长,通常无法跟上准确率需求的变化速度。
13.基于此,可以采用语言模型和声学模型相结合的方式来完成语音识别任务。如此,可以借助语言模型的训练数据海量、更新迭代速度快的优点,来弥补声学模型的不足,满足业务对语音识别高准确率的需求。
14.其中,语言模型例如可以采用神经网络语言模型(neural network language model,nnlm)。该nnlm实质上为序列模型,输入为包括前一循环中预测得到的文本片段的文本序列,输出为当前循环得到的针对多个预定文本片段的概率分布。该实施例可以根据概率分布,将概率值最大的预定文本片段作为当前循环预测得到的文本片段。其中,声学模型可以为基于注意力的声学模型。其中,每个文本片段可以为一个字、一个词、一个音节的文
本或一个短语等任意粒度的文本。
15.根据本公开的实施例,依赖语言模型与基于注意力的声学模型的解码算法可以将单个声学模型输出的概率分布与单个nnlm输出的概率分布进行融合,采用束搜索(beam search)的方式来根据融合结果得到单次解码过程选择的候选路径。例如,以多个预定文本片段为n个,束搜索中采用的beam为3为例,第一次解码可以从n个预定文本片段中筛选出概率值最高的3个片段作为候选文本片段,后续的每一次解码可以从3*n个路径中筛选出概率总值最高的3个路径作为候选路径,直至筛选出的候选路径都包括文本结束标识符《eos》,或者直至筛选出的候选路径中文本片段的长度均达到长度阈值。其中,路径可以由自第一次解码至当前次解码所得到的、其中片段按生成顺序排列的片段序列来表示。该路径的概率总值可以为片段序列中各片段的概率值的乘积,或者片段序列中各片段的概率值的对数之和。
16.将语言模型和声学模型相结合的方式虽然可以在一定程度上提高识别准确率,但该方式中,是根据语言模型输出的概率分布来对解码路径的扩展进行引导的。对于闭集的识别任务,则无法保证最终识别得到的文本为闭集识别任务所设置的文本集合中的某个文本,从而影响下游任务(例如基于识别得到的文本进行搜索、进行语音应答等任务)的实施。即,该方式仍然存在识别精度低,识别任务完成效果差的问题。
17.基于此,本公开提供了一种语音识别方法和装置。以下先结合图1对本公开提供的方法和装置的应用场景进行描述。
18.图1是根据本公开实施例的语音识别方法和装置的应用场景示意图。
19.如图1所示,该实施例的应用场景100可以包括电子设备110,该电子设备110可以为具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、智能手表或智能音箱等等。
20.该电子设备110例如可以对获得的语音数据120进行处理,例如可以对语音数据120进行语音识别,以将语音数据120转换为文本130。例如,语音数据120可以是通过对采集的语音处理后所得到的数据。采集的语音可以为采用麦克风等音频采集器所采集的用户语音。
21.在一实施例中,电子设备110中可以设置有音频采集器,且该电子设备110可以安装有输入法、浏览器、智能音箱app、车载app等具有语音识别功能的客户端应用(仅为示例),电子设备110可以通过语音识别来将语音数据转换为输入的字符,以进行信息查询、智能音箱远程控制或者车辆远程控制等。
22.在一实施例中,电子设备110可以采用端到端模型140来完成语音识别任务。其中,端到端模型140例如可以包括上文描述的语言模型和声学模型,该端到端模型140可以采用束搜索的方式来得到文本130。或者,端到端模型140可以为上文描述的端到端的流式注意力模型。或者,电子设备110也可以采用下文描述的语音识别方法来完成语音识别任务,本公开对此不做限定。
23.在一实施例中,如图1所示,该应用场景100中还可以包括服务器150。该服务器150例如可以为支持电子设备110中客户端应用运行的后台管理服务器。电子设备110可以通过网络与服务器150通信连接,网络可以包括有线或无线通信链路。
24.例如,服务器150可以基于海量的文本样本对语言模型进行训练,并基于语音-文
本对来对声学模型进行训练。服务器150可以将训练得到的语言模型和声学模型构成端到端模型140,并结合具体场景对该端到端模型140进行微调。服务器150例如可以响应于电子设备110发送的获取请求,将微调后的端到端模型140发送给电子设备110,以供电子设备110采用该端到端模型140完成语音识别任务。
25.在一实施例中,电子设备110可以将获得的语音数据120发送给服务器150,由服务器150来根据端到端模型140对语音数据120进行语音识别,得到文本130。
26.需要说明的是,本公开提供的语音识别方法可以由电子设备110执行,也可以由服务器150执行。相应地,本公开提供的语音识别装置可以设置在电子设备110中,也可以设置在服务器150中。
27.应该理解,图1中的电子设备110和服务器150的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的电子设备110和服务器150。
28.以下将结合图2~图9对本公开提供的语音识别方法进行详细描述。
29.图2是根据本公开实施例的语音识别方法的流程示意图。
30.如图2所示,该实施例的语音识别方法200可以包括操作s210~操作s250。
31.在操作s210,采用声学模型对待识别语音数据和已识别得到的第一文本片段进行处理,得到多个备选文本片段各自的声学概率。
32.根据本公开的实施例,声学模型可以采用由高斯混合模型(gaussian mixed model,gmm)和隐马尔可夫模型(hidden markov model,hmm)构成的模型,也可以采用由深度神经网络(deep neural networks,dnn)和hmm构成的模型。可以理解的是,该声学模型例如可以包括编码器和解码器。编码器的输入为待识别语音数据,输出为提取得到的声学特征。解码器的输入包括声学特征和已识别得到的第一文本片段的嵌入特征。声学模型的输出为多个备选文本片段的概率分布,该概率分布包括多个备选文本片段各自的声学概率。
33.其中,在语音识别的初始阶段,已识别得到的第一文本片段可以为文本起始符《sos》,在后续阶段中,已识别得到的第一文本片段为由文本起始符《sos》和识别得到的文本片段构成的文本片段序列。
34.其中,多个备选文本片段例如可以为字库中的多个字。字库中包括的字可以根据实际需求进行设定,本公开对此不做限定。
35.在操作s220,采用语言模型中的第一语言子模型对第一文本片段进行处理,得到多个备选文本片段各自的初始语言概率。
36.在操作s230,采用语言模型中的约束子模型对第一文本片段进行处理,得到多个备选文本片段各自针对第一文本片段的可扩展关系。
37.在操作s240,根据可扩展关系,对备选文本片段的初始语言概率进行调整,得到多个备选文本片段各自的第一语言概率。
38.根据本公开的实施例,语言模型可以采用上文描述的nnlm,也可以采用n-gram模型。该实施例可以将第一文本片段输入语言模型,由语言模型输出多个备选文本片段的概率分布,该概率分布包括多个备选文本片段各自的第一语言概率。
39.根据本公开的实施例,语言模型例如可以包括第一语言子模型和约束子模型。该第一语言子模型和约束子模型可以并列设置,第一语言子模型可以采用上文描述的nnlm。约束子模型的结构与nnlm的结构类似。该第一语言子模型和约束子模型的输入均可以为第
一文本片段的嵌入特征,该两个子模型的网络结构可以类似,区别主要在于,第一语言子模型对第一文本片段进行处理可以得到概率分布,第二语言子模型对第一文本片段进行处理可以得到表征可扩展关系的向量。其中,第一语言子模型得到的概率分布包括多个备选文本片段各自的语言概率,可以将该语言概率作为初始语言概率。表征可扩展关系的向量包括多个元素,每个元素表示一个备选文本片段针对第一文本片段的可扩展关系。其中,具有可扩展关系表示备选文本片段可以作为第一文本片段之后的片段。
40.在一实施例中,多个元素中每个元素的取值为0或1,0表示没有可扩展关系,1表示具有可扩展关系。
41.在根据约束子模型的输出得到多个备选文本片段各自针对第一文本片段的可扩展关系之后,可以根据该可扩展关系,对备选文本片段的初始概率进行调整。例如,可以将表示每个备选文本片段针对第一文本片段的可扩展关系的元素取值与该每个备选文本片段的初始语言概率相乘,得到该每个备选文本片段的第一语言概率。或者,可以对表示每个备选文本片段针对第一文本片段的可扩展关系的元素取值取对数,并对该每个备选文本片段的初始语言概率取对数,将得到的两个对数相加,作为该每个备选文本片段的第一语言概率。
42.在一实施例中,约束子模型可以是基于预定文本集中的文本训练得到的。其中,预定文本集可以是为闭集识别任务所设置的文本集合,闭集识别任务可以根据实际需求进行设定。
43.在操作s250,根据第一语言概率和声学概率,确定多个备选文本片段中的目标文本片段,以得到针对待识别语音数据的文本序列。
44.根据本公开的实施例,可以针对每个备选文本片段,将第一语言概率和声学概率相加或者相乘,将相加或相乘得到的值作为该每个备选文本片段的概率值。随后,该实施例可以选择概率值最大的文本片段,作为目标文本片段。
45.在得到该目标文本片段后,可以将该目标文本片段添加至已识别得到的第一文本片段,继续执行操作s210~操作s250,直至选择的概率值最大的文本片段为文本结束标识符《eos》,或者概率值最大的文本片段与第一文本片段中文本片段的总和达到预定数量。
46.在一实施例中,还可以采用束搜索的方式来确定概率总值较大的预定数量个(例如m个)路径中最后位置的片段为目标文本片段。随后,将每个目标文本片段添加至第一文本片段,得到m个调整后的文本片段。随后,将每个调整后的文本片段作为一个第一文本片段,返回执行操作s210~操作s240,总计得到m*n个候选路径。随后,从该m*n个候选路径中筛选出概率总值最高的m个路径。以此类推,直至筛选出的候选路径都包括文本结束标识符《eos》,或者直至筛选出的候选路径中文本片段的长度均达到长度阈值。最终,由概率总值最高的候选路径上的文本片段构成待识别语音数据的文本序列。
47.本公开实施例通过在语言模型中设置用于预测备选文本片段对第一文本片段的可扩展关系的约束子模型,并根据该可扩展关系对预测得到的初始语言概率进行调整,可以结合可扩展关系和初始语言概率来对解码路径的扩展进行引导。如此,在约束子模型为神经网络模型,且通过依据闭集识别任务中所设置的文本集合来学习多个备选文本片段中的各片段彼此之间的可扩展关系后,在可扩展关系的引导下,可以使得识别得到的文本为闭集识别任务所设置的文本集合中的某个文本,并因此可以提高识别精度,提高识别任务
的完成效果,利于下游任务的实施。
48.以下将结合图3~图5,对上述操作s220~操作s240的实施进行进一步扩展和限定。
49.图3是根据本公开第一实施例的得到多个备选文本片段的第一语言概率的原理示意图。
50.根据本公开的实施例,在采用语言模型得到语言概率时,例如还可以为语言模型的输入添加垂类标识。如此,可以使得语言模型能够针对不同垂类的文本进行不同路径的引导。使得本公开的语言模型可以用于对多种不同垂类的文本进行预测,利于提高本公开的语音识别方法的鲁棒性。
51.如图3所示,该实施例300中,在确定备选文本片段各自的初始语言概率时,可以先对第一文本片段301进行处理,以得到该第一文本片段301的文本嵌入特征302。例如可以采用word2vec方法或者字表达的全局向量方法(global vectors for word representation,glove)等来对第一文本片段301进行处理。
52.在得到文本嵌入特征302的任意时机,该实施例还可以确定第一文本片段所属的垂类303,以及该所属的垂类303的第一标识特征304。可以理解的是,第一文本片段所属的垂类303例如可以响应于用户操作确定,或者,在语音识别的初始阶段,可以将多个预定垂类均作为第一文本片段所属的垂类303,针对每个预定垂类,均得到一个概率分布。随着路径的扩展,可以将所选择路径对应的预定垂类作为已识别得到的第一文本片段所属的垂类。该实施例可以为多个预定垂类中的每个预定垂类分配标识符,该实施例可以通过对垂类的标识符进行编码,从而垂类的第一标识特征。
53.在得到文本嵌入特征302和第一标识特征304后,该实施例可以先融合该文本嵌入特征302和第一标识特征304。随后将融合得到的特征输入第一语言子模型320中,经由第一语言子模型320处理后可以得到语言概率分布305。该语言概率分布305包括多个预定文本片段的初始语言概率。
54.示例性地,可以通过将文本嵌入特征302和第一标识特征304拼接,来实现两者的融合。或者,可以设定文本嵌入特征302与第一标识特征304具有相同的维度,该实施例可以通过采用加法器310对文本嵌入特征302和第一标识特征304相加,来实现两者的融合。可以理解的是,上述融合方法仅作为示例以利于理解本公开,本公开对此不做限定。
55.示例性地,第一语言子模型320可以采用nnlm模型。例如,该第一语言子模型320可以包括依次连接的输入层、隐藏层和输出层,其中,输入层可以用于将文本转换为嵌入特征,可以理解的是,该输入层可以包括上文描述的对第一文本片段进行处理,得到文本嵌入特征的功能、根据垂类得到第一标识特征的功能、以及将文本嵌入特征和第一标识特征融合的功能。隐藏层可以为全连接层,也可以为由序列网络与全连接层构成的网络结构,以利于学习到输入序列中多个数据之间的上下文信息。其中,序列网络可以包括基于注意力机制的网络(例如transformer)或者长短期记忆网络lstm等,本公开对此不做限定。输出层可以包括softmax等逻辑回归网络。
56.图4是根据本公开第二实施例的得到多个备选文本片段的第一语言概率的原理示意图。
57.根据本公开的实施例,在语言模型中,可以设置一个通用的语言模型分支,该语言模型分支可以是采用多个垂类的文本训练得到。考虑到该通用的语言模型分支的垂类的偏
向存在不足,而针对垂类的语言模型通常参数量过高,该实施例可以将两者相结合,将通用的语言模型分支的参数共享给针对垂类的语言模型,同时为针对垂类的语言模型额外添加一部分参数,以对垂类进行单独的强化学习。即,在语言模型中设置两个分支,一个为通用语言模型分支,一个为针对垂类的语言模型分支。如此,可以在对语言模型对多垂类的识别率进行优化的基础上,保证了模型的体积较小,从而降低模型运行时的算力需求,利于提高该实施例方法的鲁棒性。
58.如图4所示,在该实施例400中,语言模型可以包括第一语言子模型410、与第一语言子模型410并列设置的第二语言子模型420和约束子模型430。其中,第一语言子模型410和约束子模型430构成针对垂类的语言模型分支。
59.在得到第一语言概率时,该实施例可以将文本嵌入特征401输入第二语言子模型420,得到第二语言子模型420的隐藏层输出的第一隐式表征。
60.该实施例还可以将文本嵌入特征401与所属垂类的第一标识特征402融合后输入到第一语言子模型410,并将第一语言子模型410的隐藏层输出的第二隐式表征和上述第一隐式表征融合。随后将融合后的特征输入第一语言子模型410的输出层,由该输出层输出语言概率分布,从而得到多个备选文本片段各自的初始语言概率。
61.该实施例还可以将文本嵌入特征401与第一标识特征402融合后输入到约束子模型430,由该约束子模型430输出表征可扩展关系的向量。将该向量与初始语言概率输入到融合层440,由融合层440根据表征可扩展关系的向量来对初始语言概率进行调整,从而输出多个备选文本片段各自的第一语言概率403。
62.其中,第一语言子模型中的隐藏层可以作为第一特征提取网络,输出层可以作为第一预测网络。第一预测网络的输入包括第二隐式表征和第一隐式表征融合后的特征(例如采用加法器来融合),第一预测网络的输出为概率分布,表征可扩展关系的向量可以是对该概率分布中的概率值的对数值进行调整。该实施例通过根据概率值的对数值来确定语言概率,可以将数值之间的相乘关系转换为数值的对数之间的相加关系,如此可以保证计算精度。这是由于电子设备通常对浮点数的乘法的计算精度比较低,而对加法的计算精度比较高。
63.在一具体实施例中,第一语言子模型可以包括lstm层、加法器、全连接层和逻辑回归层(softmax)。其中,加法器可以设置在全连接层与逻辑回归层之间。相应地,lstm和全连接层构成第一特征提取网,softmax层构成第一预测网络。在一具体实施例中,加法器不仅设置在全连接层与逻辑回归层之间,还设置在lstm层与全连接层之间。相应地,lstm层、设置在lstm层与全连接层之间的加法器和全连接层可以构成第一特征提取网络411,设置在全连接层与逻辑回归层之间的加法器和逻辑回归层可以构成第一预测网络412。其中,lstm层与全连接层之间的加法器用于融合第一隐式表征和lstm输出的特征,全连接层与逻辑回归层之间的加法器用于融合第一隐式表征和第二隐式表征。如此,可以实现第一隐式表征与第一语言子模型中特征的充分融合,加强第一语言子模型中网络参数与第二语言子模型中网络参数的共享,提高得到的第一语言概率的精度,提高语音识别精度。
64.在一具体实施例中,第二语言子模型420可以包括lstm层、全连接层和softmax层。其中,lstm层和全连接层构成第二语言子模型的第二特征提取网络421,softmax层构成第二语言子模型的第二预测网络422。该实施例在将第一文本片段的文本嵌入特征401输入第
二特征提取网络421得到第二隐式表征之后,可以将该第二隐式表征输入第二预测网络422,由该第二预测网络422输出另一概率分布,从而得到多个备选文本片段各自的第二语言概率404。最后,该实施例可以根据第一语言概率403、第二语言概率404和声学概率,来确定目标文本片段。具体地,可以将第一语言概率403和第二语言概率404分别与声学概率相加。若设定多个预定文本片段为n个,则总计得到2*n个相加后的概率值。随后,从该2*n个相加后的概率值中选择m个较大的概率值,从而得到当前次解码所得到的候选路径。通过该方式,可以使得本公开实施例的方法不仅可以应用于多个垂类的场景中,也可以应用于通用的语音识别场景中,提高该实施例方法的鲁棒性。
65.图5是根据本公开实施例的语言模型的结构示意图。
66.根据本公开的实施例,可以在语言模型中设置与第一语言子模型并列的第三语言子模型,用于学习不同来源的语音数据与文本之间的关系。该实施例可以将第三语言子模型得到的语言概率和针对垂类的语言模型分支所得到的语言概率作为并列选项进行筛选。如此,该实施例的语言模型可以应用于不同场景的不同垂类中,且无需针对不同垂类不同场景进行分别训练,可以提高模型的鲁棒性,降低模型的训练成本。
67.如图5所示,在该实施例500中,语言模型可以包括第一语言子模型510、第二语言子模型520、约束子模型530和第三语言子模型540。其中,第一语言子模型510、第二语言子模型520和约束子模型530与上文描述的图4中的相应模型类似,在此不再赘述。
68.在该实施例500中,第三语言子模型540与第一语言子模型510类似,区别在于,该第三语言子模型的输入为表征待识别语音数据的来源的第二标识特征503和文本嵌入特征501融合后的特征。
69.相应地,该实施例在进行语音识别时,还可以确定表征待识别语音数据的来源的第二标识特征503。例如,在使用者确定语音识别效果较差时,可以提供训练数据。该实施例的方法可以为该使用者分配标识符,并根据该使用者提供的训练数据对第三语言子模型进行训练。在实际语音识别中,可以根据待识别语音的来源确定使用者,通过对为该确定的使用者分配的标识符进行编码,得到第二标识特征。可以理解的是,使用者可以为各种具有语音识别功能的客户端应用。第二标识特征还可以通过对客户端应用的名称等进行编码来得到,本公开对此不做限定。
70.在得到第二标识特征503后,该实施例500可以采用第三语言子模型540对文本嵌入特征501和第二标识特征503融合后的特征进行处理。基于与第一语言子模型得到初始语言概率的原理类似的原理,该第三语言子模型540可以输出概率分布。通过对该概率分布中的概率值取对数,即可得到多个备选文本片段各自的第三语言概率506。
71.可以理解的是,如图5所示,与上文描述的第一语言子模型类似,该实施例500中,第三语言子模型540可以包括第三特征提取网络和第三预测网络。该实施例可以将文本嵌入特征501和第二标识特征503融合后的特征输入到第三特征提取网络541,从而得到第三隐式表征。随后,将融合第一隐式表征和第三隐式表征所得到的特征输入到第三预测网络542,由第三预测网络542输出概率分布。通过对该概率分布中的概率值取对数,即可得到多个备选文本片段各自的第三语言概率506。
72.在得到第三语言概率506后,该实施例可以根据第三语言概率506、第一语言概率504和声学概率,来确定目标文本片段。该原理与上述根据第一语言概率、第二语言概率和
声学概率,来确定目标文本片段的原理类似,在此不再赘述。
73.在一实施例中,在第二语言子模型520得到第二语言概率505的基础上,该实施例500可以根据第一语言概率504、第二语言概率505、第三语言概率506和声学概率,来确定目标文本片段。该原理与上述根据第一语言概率、第二语言概率和声学概率,来确定目标文本片段的原理类似,在此不再赘述。
74.可以理解的是,语言模型为序列模型,在对待识别语音进行识别时,语言模型中第一语言子模型的初始输入包括p个特征,该p个特征通过将文本起始标识符《sos》的嵌入特征与p个预定垂类的标识特征分别相加而得到。第二语言子模型的初始输入为文本起始标识符《sos》的嵌入特征。第三语言子模型的初始输入为文本起始标识符《sos》的嵌入特征与表征待识别语音的来源的第二标识特征相加所得到的特征。经过语言模型的处理,可以得到(p+2)*n个概率值,对应(p+2)*n个扩展路径。该实施例可以从该(p+2)*n个扩展路径中选择m个概率总值较高的路径。如此,在第二次解码中,已识别的第一文本片段包括m个文本片段,由文本起始标识符《sos》与该m个概率总值较高的路径所对应的文本片段分别组合得到。随后,将该m个文本片段分别输入第二语言子模型,得到m*n个扩展路径;将该m个文本片段分别与m个概率值较高的路径对应的垂类的标识特征融合后输入第一语言子模型,得到m*n个扩展路径。将该m个文本片段分别与第二标识特征融合后输入第三语言子模型,得到m*n个扩展路径,总计得到3m*n个扩展路径。随后,从该3m*n个扩展路径中选择m个概率总值较高的路径,以此类推,经过多次解码,直至筛选得到的m个路径均包括文本结束标识符《eos》,或者直至筛选出的m个路径中文本片段的长度均达到长度阈值。最后,将概率总值最高的路径对应的文本序列作为识别得到的待识别语音数据的文本序列。可以理解的是,在第i次解码中,筛选得到的路径中,包括的文本片段的个数为(i+1),且该文本片段中包括文本起始标识符《sos》。
75.以下将对上述操作s250的实施进行进一步扩展和限定。
76.根据本公开的实施例,针对闭集识别任务,例如可以根据为该闭集识别任务所设置的文本集合来设置预定文本列表。在确定目标文本片段时,依据该预定文本列表来从多个备选文本片段中选择目标文本片段。如此,可以使得识别得到的文本序列构成的文本属于针对闭集识别任务所设置的文本集合,使得该实施例的方法具有强制识别出闭集中某一文本的能力。在闭集识别任务为智能音箱语音识别任务时,通过该实施例的方法,可以保证识别得到的文本序列中包括的歌名、歌手名等为已有的歌名、歌手名,利于根据识别结果向用户播放符合实际需求的音乐。
77.该实施例中,多个备选文本片段例如可以包括指示备选字的多个第一备选片段,备选字可以根据实际需求进行设定,本公开对此不做限定。该实施例在确定目标文本片段时,可以先根据第一文本片段查询预定文本列表,根据查询结果来确定多个第一备选片段中的第一指定片段。例如,可以查询预定文本列表,确定预定文本列表中包括该第一文本片段的文本,作为第一文本。例如,设定文本集合中包括文本“请播放歌手a的歌曲a”,第一文本片段为“请播”,则可以确定该文本“请播放歌手a的歌曲a”为第一文本。随后,该实施例可以将该第一文本中第一文本片段之后的字“放”作为第一指定片段。即,该第一指定片段与第一文本片段拼接成的文本是属于该预定文本列表的。
78.在得到第一指定片段后,该实施例可以根据该第一指定片段的第一语言概率和声
学概率,来确定多个第一备选片段中的目标文本片段。例如,该实施例可以将第一指定片段的第一语言概率的对数值与声学概率的对数值相加。将相加得到的值作为第一指定片段针对第一文本片段的概率值。在第一文本片段仅为一个时,该实施例可以将针对第一文本片段的概率值较大的m个第一指定片段作为目标文本片段。在第一文本片段为多个时,可以先从多个第一文本片段中,选择与第一指定片段拼接后的文本属于预定文本列表的第二文本片段,将第一指定片段针对第二文本片段的概率值与该第二文本片段的概率值相乘,得到针对第一指定片段与第二文本片段拼接得到的文本的概率值。最后,该实施例可以将概率值最高的m个文本中的第一指定片段作为目标文本片段。
79.在一实施例中,例如可以为预定文本列表中的每个文本设置识别权重,该识别权重可以根据识别的难易程度来确定。例如,识别权重可以与识别的难度正相关。则在确定目标文本片段时,还可以结合该识别权重来对备选文本片段进行筛选,利于语音识别方法识别出识别难度高的文本,强化该语音识别方法对高难度文本的识别能力。可以理解的是,识别权重例如可以根据实际需求进行设定和修改,本公开对此不做限定。
80.图6是根据本公开第一实施例的确定目标文本片段的原理示意图。
81.如图6所示,该实施例600在确定目标文本片段时,可以先根据第一文本片段601查询预定文本列表602,确定预定文本列表602中包括该第一文本片段601的文本,作为第一文本603。该实施例可以将属于多个第一备选片段,且在该第一文本603中位于第一文本片段601之后的文本片段作为第一指定片段604。
82.随后该实施例可以确定第一文本片段601和第一指定片段604拼接成的文本,作为拼接后文本605,并将第一文本603中包括该拼接后文本的部分作为第一目标文本606。最后,该实施例可以根据该第一目标文本606的识别权重、第一指定片段604的第一语言概率和该第一指定片段604的声学概率,来确定目标文本片段。例如,可以将第一目标文本606的识别权重、第一指定片段604的第一语言概率和该第一指定片段604的声学概率的对数相加,作为该第一指定片段604针对第一文本片段601的概率值,随后根据该概率值,从确定的第一指定片段604中筛选出目标文本片段。
83.根据本公开的实施例,在预定文本列表中,例如可以以模板形式来表示预定文本,将预定文本中的实体类文本片段等采用槽位表示,并在预定文本列表中列出槽位对应的实体类可以包括的实体,以此,利于对语音的识别进行精细化的路径管理,利于提高语音识别精度。其中,实体类文本片段例如可以包括表示歌曲名、歌手名、兴趣点名称等的文本片段,不同类型的实体对应一个槽位,例如,歌曲名类别的实体对应的槽位为[song],歌手名类别的实体对应的槽位为[singer],兴趣点名称类别的实体对应的槽位为[poi]等。
[0084]
相应地,该实施例可以采用大图套小图的解码方法来预测得到文本序列。其中,大图对应文本模板,小图对应槽位。在第一文本片段之后的文本片段为一个槽位表示的实体时,该实施例可以结合该槽位的标识特征来对槽位表示的实体进行预测,以此,可以使得语言模型针对不同的槽位进行预测,利于提高预测得到的目标文本片段的精度。这是由于,通过考虑槽位的标识特征,可以使得语言模型能够学习到不同槽位与预测得到的文本片段之间的映射关系。
[0085]
以下将结合图7对该实施例确定目标文本片段的原理进行详细描述。
[0086]
图7是根据本公开第二实施例的确定目标文本片段的原理示意图。
[0087]
如图7所示,该实施例700中,多个备选文本片段除了包括指示备选字的多个第一备选片段外,还包括指示备选槽位的多个第二备选片段。其中,备选槽位可以根据实际需求进行设定,例如可以根据实际场景中实体的类别来设置备选槽位,每个类别的实体对应一个备选槽位。该备选槽位中对应每个类别的实体的槽位可以理解为入槽槽位,在预测过程中,还可以设置出槽槽位,用于表示完成对实体的预测。
[0088]
该实施例700中,在采用语言模型得到第一语言概率后,例如可以采用与上述根据预定文本列表确定第一指定片段的类似方法,先根据预定文本列表702,确定入槽槽位701中属于该预定文本列表702的目标槽位703。通过该方式,可以过滤掉无法识别出闭集中文本的入槽槽位。具体地,如上文描述,预定文本列表中的文本由字和槽位构成,槽位对应位置处为预定文本中实体所在的位置。该实施例可以将预定文本列表中构成文本的槽位与入槽槽位701进行比较,从而得到目标槽位703。
[0089]
随后,该实施例可以采用语言模型710对根据该目标槽位703的第三标识特征704和文本的起始标识符《sos》705得到的特征进行处理,得到多个第一备选片段的第四语言概率。该第四语言概率可以表示各备选字属于目标槽位703中片段的概率。该部分为跳入小图进行解码的过程,该解码过程中,采用文本的起始标识符的嵌入特征替代第一文本片段的文本嵌入特征,采用目标槽位703的第三标识特征704替代第一文本片段所属垂类的第一标识特征。具体地,该实施例可以先确定目标槽位703的第三标识特征704,该第三标识特征704可以通过为目标槽位703分配的标识符编码来得到。同时,可以对起始标识符《sos》705进行编码,得到起始标识符编码特征。随后,将该第三标识特征704与起始标识符编码特征相加,得到根据该目标槽位703的第三标识特征704和文本的起始标识符《sos》705得到的特征,该特征可以作为语言模型710中第一语言子模型和约束子模型的输入。采用与上述得到第一语言概率的原理类似的原理,得到第一备选片段针对目标槽位的第四语言概率706。
[0090]
在得到第四语言概率706后,该实施例可以根据第四语言概率706、第一语言概率和声学概率,确定第一备选片段中的目标文本片段。例如,设定目标槽位的个数为q个,针对每个目标槽位,该实施例可以根据基于该每个目标槽位的第三标识特征得到的第四语言概率和指示该每个目标槽位的第二备选片段的第一语言概率,确定多个第一备选片段作为该每个目标槽位中的文本片段的概率。例如,可以将每个第一备选片段的第四语言概率与指示该每个目标槽位的第二备选片段的第一语言概率相乘,作为该每个第一备选片段作为该每个目标槽位中的文本片段的概率。设定多个第一备选片段为n’个,则针对每个目标槽位,可以得到n’个概率,针对q个目标槽位,可以总计得到q*n’个概率。该实施例可以将该q*n’个概率和n’个第一备选片段的第一语言概率组成概率集,该概率集中总计包括(q+1)*n’个概率。
[0091]
该实施例700例如可以将(q+1)*n’个概率的对数值分别于对应第一备选片段的声学概率的对数值相加,得到(q+1)*n’扩展概率。该实施例可以根据该(q+1)*n’扩展概率,从(q+1)*n’扩展概率对应的(q+1)*n’个路径中选择m个路径,将m个路径中最后位置对应的文本片段作为目标文本片段。
[0092]
根据本公开的实施例,对于出槽槽位,可以采用与针对入槽槽位类似的方式,来确定目标文本片段。区别在于,针对出槽槽位,输入语言模型710的特征中,替代第一文本片段的文本嵌入特征的是:跳出的槽位的标识特征,具体为第一文本片段中最后位置的文本片
段所对应槽位的第四标识特征。第一标识特征应为第一文本片段所属垂类的标识特征。该实施例可以通过融合第四标识特征和第一标识特征,得到第二融合特征。该第二融合特征可以作为语言模型的输入,由语言模型处理得到多个第一备选片段针对出槽槽位的第五语言概率。最后,该实施例可以根据该第五语言概率、第一语言概率和声学概率,确定多个第一备选片段中的目标文本片段。
[0093]
例如,该实施例可以采用上文描述的方法,针对q个目标槽位,总计得到q*n’个概率。该实施例还可以将指示出槽槽位的第二文本片段的第一语言概率与每个第一备选片段针对出槽槽位的第五语言概率相乘,作为该每个第一备选片段作为出槽后第一个文本片段的概率,针对n’个第一备选片段,可以总计得到n’个概率。该实施例可以将得到的q*n’个概率、n’个第一备选片段作为出槽后第一个文本片段的n’个概率和n’个第一备选片段的n’个第一语言概率组成概率集,该概率集中总计包括(q+2)*n’个概率。
[0094]
随后,该实施例可以将(q+2)*n’个概率的对数值分别于对应第一备选片段的声学概率的对数值相加,得到(q+2)*n’扩展概率。该实施例可以根据该(q+2)*n’扩展概率,从(q+2)*n’扩展概率对应的(q+2)*n’个路径中选择m个路径,将m个路径中最后位置对应的文本片段作为目标文本片段。
[0095]
根据本公开的实施例,在确定目标槽位703时,例如可以将入槽槽位中属于预定文本列表的槽位作为初始槽位。随后,将指示初始槽位的第二备选片段的第一语言概率与多个第一备选片段的第一语言概率进行比较,将相对而言概率值较大的第二备选片段所指示的初始槽位作为目标槽位。例如,该实施例可以先确定多个第一备选片段的第一语言概率中取值较大的预定数量个概率;然后将指示初始槽位的第二备选片段的第一语言概率与预定数量个概率中的最小概率进行比较,若指示某个初始槽位的第二备选片段的第一语言概率高于最小概率,或者低于最小概率且与最小概率的差值绝对值小于等于第一预定阈值,则确定该某个初始槽位为目标槽位。或者,该实施例可以将指示初始槽位的第二备选片段的第一语言概率与多个第一备选片段的第一语言概率中的最大概率进行比较,若两者的差值绝对值小于第二预定阈值,则确定初始槽位为目标槽位。可以理解的是,上述根据差异确定目标槽位的方法仅作为示例以利于理解本公开,本公开对此不做限定。
[0096]
本公开实施例通过根据与多个第一备选片段的第一语言概率的差异来确定目标槽位,可以对入槽槽位进行进一步的筛选,剔除被扩展的几率小的槽位,从而在保证预测精度的同时,降低计算量,提高解码得到目标文本片段的计算效率。
[0097]
图8是根据本公开第三实施例的确定目标文本片段的原理示意图。
[0098]
根据本公开的实施例,在跳入小图进行解码时,例如也可以结合预定文本列表中为文本分配的识别权重,来筛选得到目标文本片段。如此,可以利于语音识别方法识别出识别难度高的文本,强化该语音识别方法对高难度文本的识别能力。
[0099]
例如,在得到上文描述的第四语言概率之后,或在任意时机,根据第一文本片段查询预定文本列表,得到第二目标文本和多个第一备选片段中的第二指定片段。具体地,可以先将第一文本片段和指示各第一备选片段对应槽位的第二备选片段拼接,得到多个拼接后文本。随后根据拼接后文本查询预定文本列表,确定包括多个拼接后文本中任一文本的预定文本为第二目标文本,并将任一文本中包括的指示槽位对应的第一备选片段作为第二指定片段。为了便于描述,该实施例可以将指示第二指定片段对应槽位的第二备选片段,作为
目标备选片段。
[0100]
随后,该实施例可以根据第二目标文本的识别权重和目标备选片段的第一语言概率,来确定目标备选片段的初始概率。例如,可以将第二目标文本的识别权重与目标备选片段的第一语言概率相乘,将乘积作为初始概率。或者,将第二目标文本的识别权重的对数值与目标备选片段的第一语言概率的对数值相加,得到初始概率,本公开对此不做限定。
[0101]
在得到初始概率后,该实施例可以根据初始概率和第二指定片段的第四语言概率,来确定该第二指定片段作为目标槽位中第一个文本片段的概率,例如,可以将初始概率与第二指定片段的第四语言概率的对数值相加,得到第二指定片段作为目标槽位中第一个文本片段的概率。该概率可以替代上文描述的q*n’个概率中的相应概率。
[0102]
以下将结合图8,通过一实例来对本公开实施例中解码得到目标文本片段的原理进行详细描述。
[0103]
如图8所示,在该实施例800中,设定采用束搜索方式进行解码,从而得到文本序列时,设定beam为m,则除第一循环外,解码过程中的每个循环中的第一文本片段的个数为m个。设定备选字的个数为n’个,备选槽位包括q’个入槽槽位和一个出槽槽位。针对m个第一文本片段中的文本片段801,该实施例可以采用声学模型810得到n’个声学概率802。采用语言模型820,可以得到分别对应n’个备选字的n’个语言概率,分别对应q’个入槽槽位的入槽概率,对应出槽槽位的出槽概率,总计(n’+q’+1)个语言概率803。
[0104]
同时,该实施例可以根据文本片段801查询预定文本列表830,查询得到信息804,该信息804可以包括上文描述的第一目标文本及其识别权重w1,以及上文描述的第二目标文本及其识别权重w2。该实施例可以根据查询得到的信息804对预测得到的语言概率所对应的文本片段进行筛选,从而得到可扩展的字805、上文描述的目标槽位806和出槽槽位807。可以理解的是,可扩展的字可以为上文描述的第一指定片段。在出槽槽位807的出槽概率远小于目标槽位和可扩展的字的概率时,还可以将出槽槽位剔除。其中,可扩展的字805的扩展概率可以由可扩展的字的声学概率的对数值、可扩展的字的语言概率的对数值与可扩展的字所对应的第一目标文本的识别权重w1的和来表示。目标槽位806的可扩展初始概率可以由目标槽位806的入槽概率的对数值和目标槽位对应的第二目标文本的识别权重w2的和来表示。出槽槽位的扩展初始概率由出槽概率的对数值来表示。
[0105]
该实施例可以将可扩展的字805作为候选文本片段,将候选文本片段与文本片段801拼接,将拼接后文本加入针对文本片段801的第一候选池808中。
[0106]
针对目标槽位,该实施例可以采用上文描述的类似方法,将文本起始标识符的嵌入特征和目标槽位的标识特征输入语言模型820,跳入小图进行解码操作,从而得到上文描述的第四语言概率。针对出槽槽位,该实施例可以采用上文描述的类似方法,将第一文本片段所属垂类的标识特征和第一文本片段中最后位置的文本片段所对应槽位的标识特征输入语言模型830,跳入大图进行解码操作,从而得到上文描述的第五语言概率。随后,该实施例可以通过查询预定文本列表,依据列表中的文本对第四语言概率和第五语言概率进行约束,筛选得到属于预定文本列表中文本的文本片段,将该文本片段与文本片段801拼接后加入第一候选池808。
[0107]
基于类似的原理,针对m个第一文本片段中的每个文本片段,可以得到m个候选池。该实施例可以从m个候选池中选择概率总值最大的m个候选文本片段,作为下一次循环中的
m个第一文本片段。直至选择得到的m个候选文本片段中均包括文本的结束标识符《eos》,或者m个候选文本片段中文本片段的个数均达到预定个数。
[0108]
综上可知,本公开实施例在单次循环中,通常需要采用语言模型进行两次计算。为了提高计算效率,该实施例可以在采用语言模型对第一目标特征进行处理的次数达到预定次数时,将语言模型对第一目标特征进行处理所得到的语言概率存入缓存中,以备后续调用。相应地,在确定需要采用语言模型对某个目标特征(例如第二目标特征)进行处理时,可以先查询缓存,确定缓存中是否存储有针对第二目标特征的语言概率,若有,则从缓存中直接读取该语言概率,完成语言模型对第二目标特征的处理,而无需采用语言模型进行复杂的计算。
[0109]
可以理解的是,第一目标特征和第二目标特征可以包括以下特征中的任意一个特征:第一文本片段的文本嵌入特征;文本嵌入特征和垂类的标识特征融合后的特征;文本嵌入特征和数据的来源的标识特征融合后的特征;文本嵌入特征和槽位的标识特征融合后的特征。即,该第一目标特征和第二目标特征可以为上文描述的输入语言模型中隐藏层的任意特征,本公开对此不做限定。
[0110]
在一实施例中,还可以采用图形处理器gpu等高性能处理器来执行确定目标文本片段的操作,以使得针对m个第一文本片段的计算或确定目标文本片段的过程中所涉及到的任意可并行地计算,可以由gpu等并行地执行,以进一步提高解码效率,提高语音识别效率。
[0111]
根据本公开的实施例,可以针对备选槽位维护文本片段表,将属于该备选槽位的文本片段添加至该文本片段表中。该实施例在识别得到文本序列后,例如可以将文本序列中属于备选槽位的槽位文本片段与备选槽位的文本片段表中的文本片段进行比较。具体可以响应于文本序列中包括属于备选槽位的槽位文本片段,根据该槽位文本片段查询针对备选槽位的文本片段表。若槽位文本片段不属于针对备选槽位的文本片段表,则可以将该槽位文本片段与针对槽位的文本片段表中的各个文本片段进行比较,将文本片段表中与槽位文本片段的相似度最大的文本片段,作为候补片段。随后,采用该候补片段替换文本序列中的槽位文本片段,将替换后的文本片段作为针对待识别语音数据的识别结果。
[0112]
通过该方式,可以保证文本序列中备选槽位处的文本片段为文本片段表中的文本片段,可以确保生成的识别结果中的文本片段为合理的片段。例如,若槽位文本片段为“朋果”,通过查询,可以采用“苹果”替换“朋果”,从而是的生成的识别结果合理,提高识别结果的精度。
[0113]
以下将结合图9对训练语言模型中的约束子模型时所采用的样本的生成进行扩展和限定,以使得约束子模型可以学习到闭集的识别任务中多个备选文本片段之间的可扩展关系,从而利于提高任务的完成效果,利于下游任务的实施。
[0114]
图9是根据本公开实施例的用于训练约束子模型的负样本的生成原理示意图。
[0115]
根据本公开的实施例,训练约束子模型的样本例如可以包括正样本和负样本。其中,正样本可以包括预定文本集中的文本,而负样本可以为除预定文本集中文本外的任意文本。通过该方式,在约束子模型生成的表征可扩展关系的向量的基础上,可以在解码过程中对不属于预定文本集中文本的文本生成路径进行裁剪。
[0116]
在一实施例中,可以根据多个备选文本片段中与预定文本中目标位置处的文本片
段不一致的第二文本片段,对预定文本片段进行调整,将调整后的文本作为负样本。其中,目标位置可以为预定文本中的任意位置。通过该方式来生成负样本,由于负样本和正样本的区别仅在于目标位置处的文本片段,可以提高约束子模型的学习能力。
[0117]
例如,如图9所示,该实施例900可以从预定文本集910随机抽取出一个预定文本,作为正样本911。该实施例还可以将该抽取的预定文本中排在最后位置的预定数量个文本片段去除,将得到的文本也作为正样本。
[0118]
在抽取得到预定文本后,可以采用上文描述的第二文本片段920替换该预定文本中目标位置处的文本片段,从而得到负样本930。
[0119]
在一实施例中,目标位置例如可以为预定文本的最后位置,如此,可以使得负样本和正样本具有相同的前缀树,在解码过程中,可以有效对最后一个循环中不属于预定文本集中文本的文本生成路径进行裁剪。
[0120]
在一实施例中,目标位置可以为任意位置,该实施例在采用第二文本片段920替换抽取的预定文本中目标位置处的文本片段后,可以去除该预定文本中位于该目标位置之后的文本片段,从而得到负样本。
[0121]
该实施例通过去除目标位置之后的文本片段来得到负样本,可以使得所有的负样本都与正样本具有相同的前缀。通过选择目标位置为任意位置,可以使得约束子模型可以学习到预定文本中任意两个文本片段之间的可扩展关系,利于提高解码路径的裁剪精度和有效性。
[0122]
在一实施例中,在采用第二文本片段对预定文本进行调整时,例如可以先根据该第二文本片段与预定文本中目标位置处的文本片段之间的混淆关系,确定第二文本片段中的待替换片段。随后,可以采用待替换片段替换预定文本中目标位置处的文本片段,将替换后的文本作为负样本。通过该方式,可以使得生成的负样本为易与预定文本(即正样本)混淆的文本,利于提高约束子模型的辨别能力。再者,通过该实施例中待替换片段的选择,可以有效减少负样本的数量和负样本的针对性,利于提高约束子模型的训练效率。
[0123]
其中,混淆关系例如可以由文本片段之间的文本相似度、音节相似度等来表示,相似度越高,则越易混淆。
[0124]
在一实施例中,在生成负样本时,例如可以先采用第二文本片段替换预定文本中目标位置处的文本片段,将得到的文本片段作为备选样本。随后,可以采用预先训练得到的、上文描述的第一语言子模型来对每个备选样本进行处理,得到第一语言子模型生成该每个备选样本的语言概率,该语言概率可以为依次生成该每个备选样本中多个文本片段的多个语言概率的乘积。随后,该实施例可以根据该第六语言概率来对备选样本进行筛选,将第六语言概率高于概率阈值的备选样本作为负样本。或者,将第六语言概率较高的若干个备选样本作为负样本。通过该方式,可以使得负样本的规模可控,且可以保证负样本的生成路径为第一语言子模型解码得到文本序列的可选路径,从而可以达到对约束子模型进行针对性的训练,提高约束子模型的训练效率和训练得到的约束子模型的精度。
[0125]
在一实施例中,可以结合第六语言概率和混淆关系来控制负样本的规模,并因此提高约束子模型的训练效率和训练效果。
[0126]
基于本公开提供的语音识别方法,本公开还提供了一种语音识别装置。以下将结合图10对该装置进行详细描述。
[0127]
图10是根据本公开实施例的语音识别装置的结构框图。
[0128]
如图10所示,该实施例的语音识别装置1000可以包括声学概率获得模块1010、初始概率获得模块1020、扩展关系获得模块1030、概率调整模块1040和文本确定模块1050。
[0129]
声学概率获得模块1010用于采用声学模型对待识别语音数据和已识别得到的第一文本片段进行处理,得到多个备选文本片段各自的声学概率。在一实施例中,声学概率获得模块1010可以用于执行上文描述的操作s210,在此不再赘述。
[0130]
初始概率获得模块1020用于采用语言模型中的第一语言子模型对第一文本片段进行处理,得到多个备选文本片段各自的初始语言概率。扩展关系获得模块1030用于采用语言模型中的约束子模型对第一文本片段进行处理,得到多个备选文本片段各自针对第一文本片段的可扩展关系。概率调整模块1040用于根据可扩展关系,对备选文本片段的初始语言概率进行调整,得到多个备选文本片段各自的第一语言概率。其中,约束子模型是基于预定文本集中的文本训练得到的。在一实施例中,初始概率获得模块1020、扩展关系获得模块1030和概率调整模块1040可以分别用于执行上文描述的操作s220~操作s240,在此不再赘述。
[0131]
文本确定模块1050用于根据第一语言概率和声学概率,确定多个备选文本片段中的目标文本片段,以得到针对待识别语音数据的文本序列。在一实施例中,文本确定模块1050可以用于执行上文描述的操作s250,在此不再赘述。
[0132]
根据本公开的实施例,上述初始概率获得模块1020可以包括:嵌入处理子模块,用于对第一文本片段进行嵌入处理,得到文本嵌入特征;特征确定子模块,用于确定第一文本片段所属垂类的第一标识特征;以及第一概率确定子模块,用于采用第一语言子模型对文本嵌入特征和第一标识特征融合后的特征进行处理,得到多个备选文本片段各自的初始语言概率。
[0133]
根据本公开的实施例,语言模型还包括与第一语言子模型并列设置的第二语言子模型。上述装置还包括:隐式表征获得模块,用于将文本嵌入特征输入第二语言子模型,得到第一文本片段的第一隐式表征。上述第一语言子模型包括第一特征提取网络和第一预测网络。上述第一概率确定子模块可以包括:隐式表征获得单元,用于将文本嵌入特征和第一标识特征融合后的特征输入第一特征提取网络,得到第二隐式表征;以及第一概率获得单元,用于将融合第一隐式表征和第二隐式表征所得到的特征输入第一预测网络,得到多个备选文本片段各自的初始语言概率。其中,第二语言子模型是采用多个预定垂类的样本文本训练得到的。
[0134]
根据本公开的实施例,上述第二语言子模型包括第二特征提取网络和第二预测网络。上述隐式表征获得模块用于将文本嵌入特征输入第二特征提取网络,得到第二隐式表征。上述装置1000还可以包括:第一概率获得模块,用于将第二隐式表征输入第二预测网络,得到多个备选文本片段各自的第二语言概率。上述文本确定模块1050还用于根据第二语言概率、第一语言概率和声学概率,确定目标文本片段。
[0135]
根据本公开的实施例,语言模型还包括与第一语言子模型并列设置的第三语言子模型。上述装置1000还可以包括:标识特征确定模块,用于确定表征待识别语音数据的来源的第二标识特征;第二概率获得模块,用于采用第三语言子模型对文本嵌入特征和第二标识特征融合后的特征进行处理,得到多个备选文本片段各自的第三语言概率。上述文本确
定模块1050还用于根据第三语言概率、第一语言概率和声学概率,确定目标文本片段。
[0136]
根据本公开的实施例,第三语言子模型包括第三特征提取网络和第三预测网络。上述第二概率获得模块可以包括:隐式表征获得子模块,用于将文本嵌入特征和第二标识特征融合后的特征输入第三特征提取网络,得到第三隐式表征;以及第一概率获得子模块,用于将融合第一隐式表征和第三隐式表征所得到的特征输入第三预测网络,得到多个备选文本片段各自的第三语言概率。
[0137]
根据本公开的实施例,在第一文本片段为文本的起始标识符的情况下,第一文本片段所属垂类包括多个预定垂类。上述第一概率确定子模块可以包括:特征融合单元,用于针对每个预定垂类,融合文本嵌入特征和每个预定垂类的标识特征,得到第一融合特征;第二概率获得单元,用于采用第一语言子模型对第一融合特征进行处理,得到多个备选文本片段各自的初始语言概率。
[0138]
根据本公开的实施例,多个备选文本片段包括指示备选字的多个第一备选片段。上述文本确定模块1050可以包括:指定片段确定子模块,用于根据第一文本片段查询预定文本列表,确定多个第一备选片段中的第一指定片段,第一文本片段和第一指定片段拼接成的文本属于预定文本列表;第一片段确定子模块,用于根据第一指定片段的第一语言概率和声学概率,确定多个第一备选片段中的目标文本片段。
[0139]
根据本公开的实施例,预定文本列表中包括多个文本及多个文本中每个文本的识别权重,识别权重指示文本的识别难易程度。上述第一片段确定子模块包括:第一确定单元,用于确定预定文本列表中第一文本片段和第一指定片段拼接成的文本所属的第一目标文本;以及第二确定单元,用于根据第一目标文本的识别权重、第一指定片段的第一语言概率和声学概率,确定多个备选文本片段中的目标文本片段。
[0140]
根据本公开的实施例,多个备选文本片段还包括指示备选槽位的多个第二备选片段;备选槽位包括入槽槽位。上述文本确定模块1050可以包括:槽位确定子模块,用于确定入槽槽位中属于预定文本列表的目标槽位;第二概率确定子模块,用于采用语言模型对根据目标槽位的第三标识特征和文本的起始标识符得到的特征进行处理,得到多个第一备选片段各自针对目标槽位的第四语言概率;以及第二片段确定子模块,用于根据第四语言概率、第一语言概率和声学概率,确定多个第一备选片段中的目标文本片段。
[0141]
根据本公开的实施例,备选槽位还包括出槽槽位。上述文本确定模块1050还可以包括:融合子模块,用于融合第一文本片段所属垂类的第一标识特征,和第一文本片段中最后位置的文本片段所对应槽位的第四标识特征,得到第二融合特征;第二概率确定子模块,用于采用语言模型对第二融合特征进行处理,得到多个第一备选片段各自针对出槽槽位的第五语言概率;以及第三片段确定子模块,用于根据第五语言概率、第四语言概率、第一语言概率和声学概率,确定多个第一备选片段中的目标文本片段。
[0142]
根据本公开的实施例,上述槽位确定子模块可以包括:初始槽位确定单元,用于确定入槽槽位中属于预定文本列表的槽位,得到初始槽位;目标槽位确定单元,用于根据指示初始槽位的第二备选片段的第一语言概率与多个第一备选片段的第一语言概率的差异,确定初始槽位中的目标槽位。其中,指示目标槽位的第二备选片段的第一语言概率大于指示初始槽位中除目标槽位外其他槽位的第二备选片段的第一语言概率。
[0143]
根据本公开的实施例,上述第二片段确定子模块可以包括:第三确定单元,用于根
据第一文本片段查询预定文本列表,得到第二目标文本和多个第一备选片段中的第二指定片段;第一文本片段和指示第二指定片段对应目标槽位的目标备选片段拼接成的文本属于第二目标文本;概率确定单元,用于根据第二目标文本的识别权重和目标备选片段的第一语言概率,得到目标备选片段的初始概率;以及片段确定单元,用于根据初始概率和第二指定片段的第四语言概率,确定第二指定片段中的目标文本片段。
[0144]
根据本公开的实施例,上述装置1000还可以包括:表查询模块,用于响应于文本序列中包括属于备选槽位的槽位文本片段,根据槽位文本片段查询针对备选槽位的文本片段表;候补片段确定模块,用于响应于槽位文本片段不属于文本片段表,确定文本片段表中与槽位文本片段的相似度最大的文本片段,作为候补片段;以及识别结果获得模块,用于采用候补片段替换文本序列中的槽位文本片段,得到针对待识别语音数据的识别结果。
[0145]
根据本公开的实施例,上述装置1000还可以包括:概率存储模块,用于响应于采用语言模型对第一目标特征进行处理的次数达到预定次数,将语言模型对第一目标特征进行处理所得到的语言概率存入缓存中;缓存查询模块,用于响应于需要采用语言模型对第二目标特征进行处理,根据第二目标特征查询缓存;以及概率读取模块,用于响应于缓存中存储有针对第二目标特征的语言概率,从缓存中读取针对第二目标特征的语言概率,完成采用语言模型对第二目标特征的处理,其中,第一目标特征和第二目标特征包括以下特征中的任意一个特征:第一文本片段的文本嵌入特征;文本嵌入特征和垂类的标识特征融合后的特征;文本嵌入特征和数据的来源的标识特征融合后的特征;文本嵌入特征和槽位的标识特征融合后的特征。
[0146]
根据本公开的实施例,根据第一语言概率和声学概率,确定多个备选文本片段中的目标文本片段的操作是由设置于电子设备上的图形处理器执行的。
[0147]
根据本公开的实施例,训练约束子模型的样本包括正样本和负样本,其中,正样本包括预定文本集中的文本。上述装置还包括:负样本获得模块,用于根据多个备选文本片段中与预定文本中目标位置处的文本片段不一致的第二文本片段,对预定文本进行调整,得到负样本。
[0148]
根据本公开的实施例,上述负样本获得模块包括:第四片段确定子模块,用于根据第二文本片段与预定文本中目标位置处的文本片段之间的混淆关系,确定第二文本片段中的待替换片段;以及第一替换子模块,用于采用待替换片段替换预定文本中目标位置处的文本片段,得到负样本。
[0149]
根据本公开的实施例,上述负样本获得模块包括:第二替换子模块,用于采用第二文本片段替换预定文本中目标位置处的文本片段,得到备选样本;第二概率获得子模块,用于针对备选样本中的各样本,采用第一语言子模型进行处理,得到各样本的第六语言概率;以及样本筛选子模块,用于根据第六语言概率对备选样本进行筛选,得到负样本。
[0150]
根据本公开的实施例,上述负样本获得模块可以包括:第三替换子模块,用于采用第二文本片段替换预定文本中目标位置处的文本片段,得到初始文本;以及片段去除子模块,用于去除初始文本中目标位置之后的文本片段,得到负样本。
[0151]
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用
户的授权或同意。
[0152]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0153]
图11示出了可以用来实施本公开实施例的语音识别方法的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0154]
如图11所示,设备1100包括计算单元1101,其可以根据存储在只读存储器(rom)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(ram)1103中的计算机程序,来执行各种适当的动作和处理。在ram 1103中,还可存储设备1100操作所需的各种程序和数据。计算单元1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
[0155]
设备1100中的多个部件连接至i/o接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0156]
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如语音识别方法。例如,在一些实施例中,语音识别方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由rom 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到ram 1103并由计算单元1101执行时,可以执行上文描述的语音识别方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音识别方法。
[0157]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0158]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0159]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0160]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0161]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0162]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称 "vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0163]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0164]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1