CN110110294B - 一种动态反向解码的方法、装置及可读存储介质 - Google Patents
一种动态反向解码的方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN110110294B CN110110294B CN201910233355.8A CN201910233355A CN110110294B CN 110110294 B CN110110294 B CN 110110294B CN 201910233355 A CN201910233355 A CN 201910233355A CN 110110294 B CN110110294 B CN 110110294B
- Authority
- CN
- China
- Prior art keywords
- candidate
- result
- language model
- preset time
- time period
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Abstract
本发明涉及一种动态反向解码的方法、装置及可读存储介质。所述方法包括:利用n元正向语言模型对待处理数据进行处理得到候选结果,每隔预设时间段对所述预设时间段内得到的候选结果进行遍历,将所述候选结果中的有效结果添加进临时词网中,利用m元反向语言模型对所述有效结果进行更新,将更新后的结果进行输出得到最终解码结果。本发明可完成低延时场景下的实时解码工作。现有的延时解码技术有的方法受到场景限制,有的方法精度不够高。本发明在低延时场景下完成实时解码工作的同时也保证了解码的精度。
Description
技术领域
本发明涉及自然语言处理技术领域,具体地涉及一种动态反向解码的方法、装置及可读存储介质。
背景技术
目前,大部分数据都会被转化为文本供用户使用或储存,相关解码技术应运而生。在很多场景下,用户希望得到实时的文字转写,这就是所谓的低延时应用场景。为了在低延时场景中提高解码的精度,随着解码进行而不断修正结果的技术被相继提出,即延迟更新技术。目前比较成熟的延迟更新技术主要有三种,第一种方法是随着解码的进行,不断保留原有的候选结果及其每个解码单元的评分,一直显示输出评分总和最佳的结果。第二种方法是等待整个解码结束后,根据整个生成结果,利用反向语言模型,对所有的候选结果重新评价,输出最佳结果。第三种方法是随着解码的进行,只保留最佳结果的路径,然后利用反向模型对这些路径进行重新评价,输出最佳结果。第一种方法解码的精度不高,第二种方法耗时较长,有悖于低延迟的应用场景,第三种方法删除信息过多,对精度改善有限制。
发明内容
本发明提供了一种动态反向解码的方法、装置、及可读存储介质,以实现在低延时条件下完成实时解码的工作。
本发明实施例第一方面提供了一种动态反向解码的方法,所述方法包括:
读入n元正向语言模型和m元反向语言模型;
读入待处理数据;
在H个预设时间段中的第1个预设时段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果;
在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部;
依次取h为从2至H的整数,执行以下步骤:
在所述H个预设时间段中的第h个预设时间段内,通过所述n元正向语言模型继续对所述待处理数据进行处理,得到候选结果;
在所述第h个所述预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格首部;
通过所述m元反向语言模型对在第h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果;
遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径;
根据所述最佳路径输出解码结果,其中,n、m、h、H分别为大于等于 1的整数。
可选的,其特征在于,在H个预设时间段中的第1个预设时间段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果,包括:
将所述H个预设时间段设置为符合低延时条件的多个长度相等的时间段,所述预设时间段以帧为时间单位;
在所述多个长度相等的时间段中的第1个时间段内,通过所述n元正向语言模型接收所述待处理数据,根据该待处理数据的前文信息计算解码每个词汇的概率,并将概率不为零的词汇确定为所述候选结果。
可选的,在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部,包括:
设置权重评分阈值;
在所述第1个预设时间段结束时,遍历所述候选结果,将权重评分大于所述权重评分阈值的候选结果确定为有效候选结果;
将所述有效候选结果添加到词网格的首部。
可选的,通过所述m元反向语言模型对在第h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果,包括:
通过所述m元反向语言模型计算在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值;
通过所述m元反向语言模型利用所述概率值计算所述多个候选结果的权重分数。
可选的,遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径,包括:
遍历所述更新后的结果所对应的路径的第一权重评分和所述多个候选结果所对应的路径的第二权重评分;
对比所述第一权重评分和所述第二权重评分,得到最大权重评分;
将所述最大权重评分对应的路径确定为最佳路径。
可选的,在根据所述最佳路径输出解码结果的同时,所述方法还包括:
检测所述词网格的长度,并判断该词网格的长度是否大于n;
将长度大于n的所述词网格从尾部裁剪一单元长度;
在下一次生成解码结果时,解码输出该裁剪的单元。
可选的,在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值符合以下公式:
其中,P′指通过所述n元反向模型计算的结果的概率,指统计运算符号,w指词汇,s指将帧数映射为词数的函数,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,l指词网中其中一条路径函数,vj指构建语言模型的其他特征,P′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果概率;
所述多个候选结果的权重分数符合以下公式:
S′t-Δt,j=St-Δt,j+ω(P′t-Δt,j)-ω(Pt-Δt,j)
其中,S指通过所述n元正向模型计算出的权重评分,S′指通过所述n 元反向语言计算出的权重评分,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,ω指将语言模型概率转化为权重分数的函数,P指通过所述n元正向模型计算的结果的概率,P′指通过所述n元正向模型计算的结果的概率,St-Δt,j指通过所述n元正向语言模型计算出的第t-Δt帧第j个候选结果权重分数,S′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果权重分数。
可选的,所述最大权重评分是按照以下公式得到的:
其中,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,Sij指第i帧的第j个候选分数,S′i,j指更新后的第i帧的第j个候选分数,max()指遍历其中结果选最大值。
在本发明实施例第二方面提供了一种动态反向解码装置,所述装置包括:
环境建立模块,用于读入n元正向语言模型和m元反向语言模型;
数据读入模块,用于读入待处理数据;
第一数据处理模块,用于在H个预设时间段中的第1个预设时段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果;
第一词网格添加模块,用于在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部;
第二数据处理模块,用于依次取h为从2至H的整数,在所述H个预设时间段中的第h个预设时间段内,通过所述n元正向语言模型继续对所述待处理数据进行处理,得到候选结果;
第二词网格添加模块,用于依次取h为从2至H的整数,在所述第h 个所述预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格首部;
权重评分更新模块,用于依次取h为从2至H的整数,通过所述m元反向语言模型对在第h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果;
路径确定模块,用于依次取h为从2至H的整数,遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径;
解码输出模块,用于依次取h为从2至H的整数,根据所述最佳路径输出解码结果,其中,n、m、h、H分别为大于等于1的整数。
可选的,所述环境建立模块包括:
时段设置子模块,用于将所述H个预设时间段设置为符合低延时条件的多个长度相等的时间段,所述预设时间段以帧为时间单位;
第一数据处理子模块,用于在所述多个长度相等的时间段中的第1个时间段内,通过所述n元正向语言模型接收所述待处理数据,根据该待处理数据的前文信息计算解码每个词汇的概率,并将概率不为零的词汇确定为所述候选结果。
可选的,第一词网格添加模块包括:
阈值设置子模块,用于设置权重评分阈值;
结果选定子模块,用于在所述第1个预设时间段结束时,遍历所述候选结果,将权重评分大于所述权重评分阈值的候选结果确定为有效候选结果;
词网格添加子模块,用于将所述有效候选结果添加到词网格的首部。
可选的,所述权重评分更新模块包括:
概率计算子模块,用于通过所述m元反向语言模型计算在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值;
权重分数计算子模块,用于通过所述m元反向语言模型利用所述概率值计算所述多个候选结果的权重分数。
可选的,所述路径确定模块包括:
路径遍历子模块,用于遍历所述更新后的结果所对应的路径的第一权重评分和所述多个候选结果所对应的路径的第二权重评分;
评分对比子模块,用于对比所述第一权重评分和所述第二权重评分,得到最大权重评分;
路径确定子模块,用于将所述最大权重评分对应的路径确定为最佳路径。
可选的,所述解码输出模块还包括:
词网格检测子模块,用于依次取h为从2至H的整数,检测所述词网格的长度,并判断该词网格的长度是否大于n;
词网格裁剪子模块,用于依次取h为从2至H的整数,将长度大于n 的所述词网格从尾部裁剪一单元长度;
结果输出子模块,用于依次取h为从2至H的整数,在下一次生成解码结果时,解码输出该裁剪的单元。
可选的,在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值符合以下公式:
其中,P′指通过所述n元反向模型计算的结果的概率,指统计运算符号,w指词汇,s指将帧数映射为词数的函数,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,l指词网中其中一条路径函数,vj指构建语言模型的其他特征,P′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果概率;
所述多个候选结果的权重分数符合以下公式:
S′t-Δt,j=St-Δt,j+ω(P′t-Δt,j)-ω(Pt-Δt,j)
其中,S指通过所述n元正向模型计算出的权重评分,S′指通过所述n 元反向语言计算出的权重评分,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,ω指将语言模型概率转化为权重分数的函数,P指通过所述n元正向模型计算的结果的概率,P′指通过所述n元正向模型计算的结果的概率, St-Δt,j指通过所述n元正向语言模型计算出的第t-Δt帧第j个候选结果权重分数,S′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果权重分数。
可选的,所述最大权重评分是按照以下公式得到的:
其中,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,Sij指第i帧的第j个候选分数,S′i,j指更新后的第i帧的第j个候选分数,max()指遍历其中结果选最大值。
本发明具有以下有益效果:
一、本发明在解码过程中生成了一个临时词网格,将后文信息最大化的保留下来。通过压缩成词网格的方式,节省了空间,降低了内存的占用和计算难度。
二、本发明利用反向模型在短时间内动态更新解码结果,在满足低延时场景的需求的同时也提高了解码精度。
附图说明
为了更清楚地说明本发明各个实施例的技术方案,下面将对本发明各个实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提出的一种动态反向解码的方法的流程图;
图2是词网格示意图;
图3是有效结果添加至词网格示意图;
图4是本发明另一实施例提供的一种动态反向解码的方法的流程图;
图5是词网格裁剪示意图;
图6是本发明一实施例提供的一种动态反向解码的装置示意图;
图7是本发明另一实施例提供的一种动态反向解码的装置的示意图。
具体实施方式
下文描述了本发明的具体实施方式,该实施方式为示意性的,旨在揭示本发明的具体工作过程,不能理解为对权利要求的保护范围的进一步限定。
参考图1,图1是本发明实施例提出的一种动态反向解码的方法的流程图。如图1所示,该方法包括以下步骤:
S11:读入n元正向语言模型和m元反向语言模型。
n元语言模型是一种统计语言模型,n元正向语言模型根据一个词语的前n-1个词汇来预测这个词语,m元反向语言模型根据一个词语的后n-1个词汇来预测这个词语。在实际情况中,n元正向语言模型的单元数与m元反向语言模型的单元数可以不相同,即n与m可以相同,也可以不同。
S12:读入待处理数据。
待处理数据不做限定,可以是不同长度的句子,文章等。
S13:在H个预设时间段中的第1个预设时段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果。
将所述H个预设时间段设置为符合低延时条件的多个长度相等的时间段,所述预设时间段以帧为时间单位。
在所述多个长度相等的时间段中的第1个时间段内,通过所述n元正向语言模型接收所述待处理数据,根据该待处理数据的前文信息计算解码每个词汇的概率,并将概率不为零的词汇确定为所述候选结果。
在本实施例中,为了实现在低延时场景下实时解码的工作,每个一定帧数,需要遍历n元正向语言模型的识别结果,这个时间间隔长短不作规定,以实际的应用场景为准,一般以帧为时间单位。n元正向语言模型在第1个预设时间段内会产生多个候选结果。
例如,输入一段拼音为:gong fu
经过n元正向语言模型进行处理,判这两个拼音有可能为:“功夫”、“工服”、“公服”、“共赴”等结果,这些都有概率作为结果进行解码输出,所以将这4个词语当做候选结果。
S14:在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部。
设置权重评分阈值;
在所述第1个预设时间段结束时,遍历所述候选结果,将权重评分大于所述权重评分阈值的候选结果确定为有效候选结果;
将所述有效候选结果添加到词网格的首部。
参考图2,图2是词网格示意图,如图2所示:
在本发明实施例中,引入了词网格,词网格是一种有向无环图,词网格包含一个开始结点以及一个结束节点。每个节点与下一个节点用一有向弧连接,每个节点上存有相应的信息。S为词网格开始结点,E为词网格结束节点,每个节点上存有结果信息与相应的概率信息,如图中的词网格所示,仅用有限的空间就可以存储“一望无际”、“遗忘无忌”、“一望无忌”、“遗忘武忌”,四个短语词汇,可以将空间进行最大的压缩,节省存储空间,则可以保留更多的后文信息。
在本发明实施例中,设置一个阈值,在第1个预设时间段结束时,遍历第1个时间段内得到的候选结果,每个词汇都有一个权重评分,当权重评分大于预设的阈值时,将其确定为有效结果。例如:预设权重评分阈值为0.2,将候选结果的权重评分与预设权重评分阈值进行对比,将权重评分大于预设权重评分阈值的结果确定为有效结果。
在从候选结果中确定了有效结果之后,生成一个临时的词网格,用于存储有效候选结果。将新生成的有效结果添加在词网格的首部。
参考图3,图3是有效结果添加至词网格示意图,如图3所示:
例如输入一段拼音:hua shan zhi dian
经过n元正向语言模型处理得到的候选结果有:“华山之巅/0.23”、“花山之巅/0.22”、“华山致电/0.21”、“画扇支点/0.21”、“话山之点/0.1”、“画山值点/0.03”这几个结果。将大于预设权重阈值的候选结果加入词网格首部。
S15:依次取h为从2至H的整数,在所述H个预设时间段中的第h个预设时间段内,通过所述n元正向语言模型继续对所述待处理数据进行处理,得到候选结果。
S16:依次取h为从2至H的整数,在所述第h个所述预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格首部。
步骤S15和S16与之前叙述的处理过程相同。
S17:依次取h为从2至H的整数,通过所述m元反向语言模型对在第 h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果。
通过所述m元反向语言模型计算在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值。
在第h个时间段结束时,n元反向模型接收到了足够的后文信息,开始对第h-1时间段结束时添加到词网格中的结果进行重新评价。这样可以利用反向信息对结果进行修正,得到更加准确的结果。概率的计算公式为:
其中,P′指通过所述n元反向模型计算的结果的概率,指统计运算符号,w指词汇,s指将帧数映射为词数的函数,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,l指词网中其中一条路径函数,vj指构建语言模型的其他特征,P′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果概率。
通过所述m元反向语言模型利用所述概率值计算所述多个候选结果的权重分数。
在利用反向模型计算出概概率值之后,利用得到的概率值计算候选结果的权重分数,以完成对结果的更新。权重分数计算的公式为:
S′t-Δt,j=St-Δt,j+ω(P′t-Δt,j)-ω(Pt-Δt,j)
其中,S指通过所述n元正向模型计算出的权重评分,S′指通过所述n 元反向语言计算出的权重评分,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,ω指将语言模型概率转化为权重分数的函数,P指通过所述n元正向模型计算的结果的概率,P′指通过所述n元正向模型计算的结果的概率, St-Δt,j指通过所述n元正向语言模型计算出的第t-Δt帧第j个候选结果权重分数,S′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果权重分数。
S18:依次取h为从2至H的整数,遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径。
遍历所述更新后的结果所对应的路径的第一权重评分和所述多个候选结果所对应的路径的第二权重评分。
对比所述第一权重评分和所述第二权重评分,得到最大权重评分。
将所述最大权重评分对应的路径确定为最佳路径。
在第h时间段结束时,m元反向语言模型对第h-1时间段内的结果进行了更新,那么词网格中就剩下了第h-1时间段及之前更新的结果,和第h时间段新加入词网格的未被m元反向语言模型更新的结果。在这些结果之中确定最佳路径。用公式表示为:
其中,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,Sij指第i帧的第j个候选分数,S′i,j指更新后的第i帧的第j个候选分数,max()指遍历其中结果选最大值。
在这里有时候也会取最小函数,这取决于ω的正负值计算方式。
例如在翻译任务中,在第h-1时间段结束时得到的更新后的结果为“a/0.25”、“b/0.23”、“c/0.22”,在第h时间段结束时新加入的结果为“d/0.25”、“e/0.05”,经过对比之后确定了最佳的结果为“a”将“a”所在的路径确定为最佳路径。这里的“a”、“b”、“c”、“d”、“e”都指代词汇。
S19:依次取h为从2至H的整数,根据所述最佳路径输出解码结果。
确定了最佳路径之后,根据最佳路径输出结果即可。例如之前确定的最佳路径为“a”所在的路径,将“a”进行输出,则得到了解码结果。
参考图4,图4是本发明另一实施例提供的一种动态反向解码的方法的流程图。如图所示,该方法除了包括步骤S1~S19以外,还包括以下步骤:
S19a:依次取h为从2至H的整数,检测所述词网格的长度,并判断该词网格的长度是否大于n。
S19b:依次取h为从2至H的整数,将长度大于n的所述词网格从尾部裁剪一单元长度。
S19c:依次取h为从2至H的整数,在下一次生成解码结果时,解码输出该裁剪的单元。
参考图5,图5是词网格裁剪示意图,如图5所示:
例如正向语言模型和反向语言模型都是3元语言模型,则词网格的标准长度为3。例如输入一段拼音:wo hen kai xin lai dao zhe li,在第h时间段结束时解码到了“我很高兴”,确定了此结果的最佳路径,这条路径的长度为4,长度大于3,则从路径的结尾裁剪一单元长度(实际操作中可能会裁剪多个单元,但是保证词网格长度减少一单元),在第h时间段结束时输出“我很开”,在第h+1时间段结束时输出“心来到”。
基于同一发明构思,本发明一实施例提供一种动态反向解码的装置。参考图6,图6是本发明一实施例提供的一种动态反向解码的装置示意图。如图6所示,该装置包括:
环境建立模块601,用于读入n元正向语言模型和m元反向语言模型;
数据读入模块602,用于读入待处理数据;
第一数据处理模块03,用于在H个预设时间段中的第1个预设时段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果;
第一词网格添加模块604,用于在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部;
第二数据处理模块605,用于依次取h为从2至H的整数,在所述H个预设时间段中的第h个预设时间段内,通过所述n元正向语言模型继续对所述待处理数据进行处理,得到候选结果;
第二词网格添加模块606,用于依次取h为从2至H的整数,在所述第 h个所述预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格首部;
权重评分更新模块607,用于依次取h为从2至H的整数,通过所述m 元反向语言模型对在第h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果;
路径确定模块608,用于依次取h为从2至H的整数,遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径;
解码输出模块609,用于依次取h为从2至H的整数,根据所述最佳路径输出解码结果。
时段设置子模块,用于将所述H个预设时间段设置为符合低延时条件的多个长度相等的时间段,所述预设时间段以帧为时间单位;
第一数据处理子模块,用于在所述多个长度相等的时间段中的第1个时间段内,通过所述n元正向语言模型接收所述待处理数据,根据该待处理数据的前文信息计算解码每个词汇的概率,并将概率不为零的词汇确定为所述候选结果,其中,n、m、h、H分别为大于等于1的整数。
阈值设置子模块,用于设置权重评分阈值;
结果选定子模块,用于在所述第1个预设时间段结束时,遍历所述候选结果,将权重评分大于所述权重评分阈值的候选结果确定为有效候选结果;
词网格添加子模块,用于将所述有效候选结果添加到词网格的首部。
概率计算子模块,用于通过所述m元反向语言模型计算在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值;
权重分数计算子模块,用于通过所述m元反向语言模型利用所述概率值计算所述多个候选结果的权重分数。
路径遍历子模块,用于遍历所述更新后的结果所对应的路径的第一权重评分和所述多个候选结果所对应的路径的第二权重评分;
评分对比子模块,用于对比所述第一权重评分和所述第二权重评分,得到最大权重评分;
路径确定子模块,用于将所述最大权重评分对应的路径确定为最佳路径。
在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值符合以下公式:
其中,P′指通过所述n元反向模型计算的结果的概率,指统计运算符号,w指词汇,s指将帧数映射为词数的函数,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,l指词网中其中一条路径函数,vj指构建语言模型的其他特征,P′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果概率;
所述多个候选结果的权重分数符合以下公式:
S′t-Δt,j=St-Δt,j+ω(P′t-Δt,j)-ω(Pt-Δt,j)
其中,S指通过所述n元正向模型计算出的权重评分,S′指通过所述n 元反向语言计算出的权重评分,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,ω指将语言模型概率转化为权重分数的函数,P指通过所述n元正向模型计算的结果的概率,P′指通过所述n元正向模型计算的结果的概率, St-Δt,j指通过所述n元正向语言模型计算出的第t-Δt帧第j个候选结果权重分数,S′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果权重分数。
可选的,所述最大权重评分是按照以下公式得到的:
其中,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,Sij指第i帧的第j个候选分数,S′i,j指更新后的第i帧的第j个候选分数,max()指遍历其中结果选最大值。
综合上述实例,在本发明另一实施例中,在词网格长度大于n时,对词网格中的路径进行裁剪,使词网格中每个路径的长度都小于等于n。参考图 7,图7是本发明另一实施例提供的一种动态反向解码的装置的示意图。如图7所示,该装置除包括模块601~608外,还包括:
词网格检测子模块609a,用于依次取h为从2至H的整数,检测所述词网格的长度,并判断该词网格的长度是否大于n;
词网格裁剪子模块609b,用于依次取h为从2至H的整数,将长度大于n的所述词网格从尾部裁剪一单元长度;
结果输出子模块609c,用于依次取h为从2至H的整数,在下一次生成解码结果时,解码输出该裁剪的单元。
基于同一发明构思,本发明另一实施例提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明上述任一实施例所述的方法中的步骤。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。
在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (7)
1.一种动态反向解码的方法,其特征在于,所述方法包括:
读入n元正向语言模型和m元反向语言模型;
读入待处理数据;
在H个预设时间段中的第1个预设时段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果;
在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部;
依次取h为从2至H的整数,执行以下步骤:
在所述H个预设时间段中的第h个预设时间段内,通过所述n元正向语言模型继续对所述待处理数据进行处理,得到候选结果;
在所述第h个所述预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格首部;
通过所述m元反向语言模型对在第h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果;
遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径;
根据所述最佳路径输出解码结果,其中,n、m、h、H分别为大于等于1的整数;
其中,在H个预设时间段中的第1个预设时段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果,包括:
将所述H个预设时间段设置为符合低延时条件的多个长度相等的时间段,所述预设时间段以帧为时间单位;
在所述多个长度相等的时间段中的第1个时间段内,通过所述n元正向语言模型接收所述待处理数据,根据该待处理数据的前文信息计算解码每个词汇的概率,并将概率不为零的词汇确定为所述候选结果;
其中,遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径,包括:
遍历所述更新后的结果所对应的路径的第一权重评分和所述多个候选结果所对应的路径的第二权重评分;
对比所述第一权重评分和所述第二权重评分,得到最大权重评分;
将所述最大权重评分对应的路径确定为最佳路径;
其中,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格首部,包括:
设置权重评分阈值;
在所述第1个预设时间段结束时,遍历所述候选结果,将权重评分大于所述权重评分阈值的候选结果确定为有效候选结果;
将所述有效候选结果添加到词网格的首部。
2.如权利要求1所述的方法,其特征在于,通过所述m元反向语言模型对在第h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果,包括:
通过所述m元反向语言模型计算在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值;
通过所述m元反向语言模型利用所述概率值计算所述多个候选结果的权重分数。
3.如权利要求1所述的方法,其特征在于,在根据所述最佳路径输出解码结果的同时,所述方法还包括:
检测所述词网格的长度,并判断该词网格的长度是否大于n;
将长度大于n的所述词网格从尾部裁剪一单元长度;
在下一次生成解码结果时,解码输出该裁剪的单元。
4.如权利要求2所述的方法,其特征在于,在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值符合以下公式:
其中,P′指通过所述m元反向语言模型计算的结果的概率,指统计运算符号,w指词汇,s指将帧数映射为词数的函数,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,l指词网中其中一条路径函数,vj指构建语言模型的其他特征,P′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果概率;
所述多个候选结果的权重分数符合以下公式:
S′t-Δt,j=St-Δt,j+ω(P′t-Δt,j)-ω(Pt-Δt,j)
其中,S指通过所述n元正向语言模型计算出的权重评分,S′指通过所述m元反向语言模型计算出的权重评分,t指解码时间帧数,Δt指词网长度到达n的帧数间隔,ω指将语言模型概率转化为权重分数的函数,P指通过所述n元正向语言模型计算的结果的概率,P′指通过所述m元反向语言模型计算的结果的概率,St-Δt,j指通过所述n元正向语言模型计算出的第t-Δt帧第j个候选结果权重分数,S′t-Δt,j指通过所述m元反向语言模型计算出的第t-Δt帧第j个候选结果权重分数。
6.一种动态反向解码的装置,其特征在于,所述装置包括:
环境建立模块,用于读入n元正向语言模型和m元反向语言模型;
数据读入模块,用于读入待处理数据;
第一数据处理模块,用于在H个预设时间段中的第1个预设时段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果;
第一词网格添加模块,用于在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部;
第二数据处理模块,用于依次取h为从2至H的整数,在所述H个预设时间段中的第h个预设时间段内,通过所述n元正向语言模型继续对所述待处理数据进行处理,得到候选结果;
第二词网格添加模块,用于依次取h为从2至H的整数,在所述第h个所述预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格首部;
权重评分更新模块,用于依次取h为从2至H的整数,通过所述m元反向语言模型对在第h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果;
路径确定模块,用于依次取h为从2至H的整数,遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径;
解码输出模块,用于依次取h为从2至H的整数,根据所述最佳路径输出解码结果,其中,n、m、h、H分别为大于等于1的整数;
所述第一数据处理模块包括:
时段设置子模块,用于将所述H个预设时间段设置为符合低延时条件的多个长度相等的时间段,所述预设时间段以帧为时间单位;
第一数据处理子模块,用于在所述多个长度相等的时间段中的第1个时间段内,通过所述n元正向语言模型接收所述待处理数据,根据该待处理数据的前文信息计算解码每个词汇的概率,并将概率不为零的词汇确定为所述候选结果;
所述路径确定模块包括:
路径遍历子模块,用于遍历所述更新后的结果所对应的路径的第一权重评分和所述多个候选结果所对应的路径的第二权重评分;
评分对比子模块,用于对比所述第一权重评分和所述第二权重评分,得到最大权重评分;
路径确定子模块,用于将所述最大权重评分对应的路径确定为最佳路径;
所述第一词网格添加模块包括:
阈值设置子模块,用于设置权重评分阈值;
结果选定子模块,用于在所述第1个预设时间段结束时,遍历所述候选结果,将权重评分大于所述权重评分阈值的候选结果确定为有效候选结果;
词网格添加子模块,用于将所述有效候选结果添加到词网格的首部。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910233355.8A CN110110294B (zh) | 2019-03-26 | 2019-03-26 | 一种动态反向解码的方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910233355.8A CN110110294B (zh) | 2019-03-26 | 2019-03-26 | 一种动态反向解码的方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110110294A CN110110294A (zh) | 2019-08-09 |
CN110110294B true CN110110294B (zh) | 2021-02-02 |
Family
ID=67484656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910233355.8A Active CN110110294B (zh) | 2019-03-26 | 2019-03-26 | 一种动态反向解码的方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110110294B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111222331B (zh) * | 2019-12-31 | 2021-03-26 | 北京捷通华声科技股份有限公司 | 辅助解码方法、装置、电子设备及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455387A (zh) * | 2002-11-15 | 2003-11-12 | 中国科学院声学研究所 | 一种语音识别系统中的快速解码方法 |
CN101989260A (zh) * | 2009-08-01 | 2011-03-23 | 中国科学院计算技术研究所 | 统计机器解码特征权重的训练方法和解码方法 |
CN102592595A (zh) * | 2012-03-19 | 2012-07-18 | 安徽科大讯飞信息科技股份有限公司 | 语音识别方法及系统 |
CN103198149A (zh) * | 2013-04-23 | 2013-07-10 | 中国科学院计算技术研究所 | 一种查询纠错方法和系统 |
CN103700369A (zh) * | 2013-11-26 | 2014-04-02 | 安徽科大讯飞信息科技股份有限公司 | 语音导航方法及系统 |
CN103700370A (zh) * | 2013-12-04 | 2014-04-02 | 北京中科模识科技有限公司 | 一种广播电视语音识别系统方法及系统 |
CN105632495A (zh) * | 2015-12-30 | 2016-06-01 | 百度在线网络技术(北京)有限公司 | 语音识别方法和装置 |
CN108305634A (zh) * | 2018-01-09 | 2018-07-20 | 深圳市腾讯计算机系统有限公司 | 解码方法、解码器及存储介质 |
CN108768412A (zh) * | 2018-05-30 | 2018-11-06 | 佛山华芯微特科技有限公司 | 一种低延时Viterbi译码方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI305087B (en) * | 2006-05-25 | 2009-01-01 | Ind Tech Res Inst | Power adjusting device for a viterbi decoder |
US10404290B2 (en) * | 2016-07-29 | 2019-09-03 | Western Digital Technologies, Inc. | Non-binary decoding using tensor product transforms |
-
2019
- 2019-03-26 CN CN201910233355.8A patent/CN110110294B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455387A (zh) * | 2002-11-15 | 2003-11-12 | 中国科学院声学研究所 | 一种语音识别系统中的快速解码方法 |
CN101989260A (zh) * | 2009-08-01 | 2011-03-23 | 中国科学院计算技术研究所 | 统计机器解码特征权重的训练方法和解码方法 |
CN102592595A (zh) * | 2012-03-19 | 2012-07-18 | 安徽科大讯飞信息科技股份有限公司 | 语音识别方法及系统 |
CN103198149A (zh) * | 2013-04-23 | 2013-07-10 | 中国科学院计算技术研究所 | 一种查询纠错方法和系统 |
CN103700369A (zh) * | 2013-11-26 | 2014-04-02 | 安徽科大讯飞信息科技股份有限公司 | 语音导航方法及系统 |
CN103700370A (zh) * | 2013-12-04 | 2014-04-02 | 北京中科模识科技有限公司 | 一种广播电视语音识别系统方法及系统 |
CN105632495A (zh) * | 2015-12-30 | 2016-06-01 | 百度在线网络技术(北京)有限公司 | 语音识别方法和装置 |
CN108305634A (zh) * | 2018-01-09 | 2018-07-20 | 深圳市腾讯计算机系统有限公司 | 解码方法、解码器及存储介质 |
CN108768412A (zh) * | 2018-05-30 | 2018-11-06 | 佛山华芯微特科技有限公司 | 一种低延时Viterbi译码方法及系统 |
Non-Patent Citations (2)
Title |
---|
"Low-power hybrid turbo decoding based on reverse calculation";Hye-Mi Choi 等;《2006 IEEE International Symposium on Circuits and Systems》;20060911;第2053-2056页 * |
"基于反向转录语法的机器翻译混合解码策略";张浩 等;《中国计算语言学研究前沿进展(2009-2011)中国中文信息学会会议论文集》;20110820;第316-322页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110110294A (zh) | 2019-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415898B (zh) | 深度学习语言模型的词图重打分方法和系统 | |
CN109785824B (zh) | 一种语音翻译模型的训练方法及装置 | |
JP7278477B2 (ja) | 復号化ネットワーク構築方法、音声認識方法、装置、設備及び記憶媒体 | |
EP3417451A1 (en) | Speech recognition system and method for speech recognition | |
JP2775140B2 (ja) | パターン認識方法、音声認識方法および音声認識装置 | |
EP4018437B1 (en) | Optimizing a keyword spotting system | |
JP6677419B2 (ja) | 音声対話方法及び装置 | |
US9189708B2 (en) | Pruning and label selection in hidden markov model-based OCR | |
JP2006243728A (ja) | 音素をテキストに変換する方法、そのコンピュータシステム、及びコンピュータプログラム | |
CN110413987B (zh) | 基于多个预测模型的标点符号预测方法及相关设备 | |
CN108959388B (zh) | 信息生成方法及装置 | |
CN111739514A (zh) | 一种语音识别方法、装置、设备及介质 | |
US20130138441A1 (en) | Method and system for generating search network for voice recognition | |
JP5790646B2 (ja) | パープレキシティ算出装置 | |
US20220399013A1 (en) | Response method, terminal, and storage medium | |
JP2000293191A (ja) | 音声認識装置及び音声認識方法並びにその方法に用いられる木構造辞書の作成方法 | |
CN110717027B (zh) | 多轮智能问答方法、系统以及控制器和介质 | |
CN109979461B (zh) | 一种语音翻译方法及装置 | |
CN110110294B (zh) | 一种动态反向解码的方法、装置及可读存储介质 | |
CN111402864A (zh) | 语音处理方法及电子设备 | |
JP5975938B2 (ja) | 音声認識装置、音声認識方法及びプログラム | |
CN112151020A (zh) | 语音识别方法、装置、电子设备及存储介质 | |
US20220067280A1 (en) | Multi-token embedding and classifier for masked language models | |
CN112951211A (zh) | 一种语音唤醒方法及装置 | |
JP5309343B2 (ja) | パタン認識方法および装置ならびにパタン認識プログラムおよびその記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |