一种动态反向解码的方法、装置及可读存储介质制造方法及图纸

技术编号:21833210 阅读:33 留言:0更新日期:2019-08-10 18:12
本发明专利技术涉及一种动态反向解码的方法、装置及可读存储介质。所述方法包括:利用n元正向语言模型对待处理数据进行处理得到候选结果,每隔预设时间段对所述预设时间段内得到的候选结果进行遍历,将所述候选结果中的有效结果添加进临时词网中,利用m元反向语言模型对所述有效结果进行更新,将更新后的结果进行输出得到最终解码结果。本发明专利技术可完成低延时场景下的实时解码工作。现有的延时解码技术有的方法受到场景限制,有的方法精度不够高。本发明专利技术在低延时场景下完成实时解码工作的同时也保证了解码的精度。

A Dynamic Reverse Decoding Method, Device and Readable Storage Media

【技术实现步骤摘要】
一种动态反向解码的方法、装置及可读存储介质
本专利技术涉及自然语言处理
,具体地涉及一种动态反向解码的方法、装置及可读存储介质。
技术介绍
目前,大部分数据都会被转化为文本供用户使用或储存,相关解码技术应运而生。在很多场景下,用户希望得到实时的文字转写,这就是所谓的低延时应用场景。为了在低延时场景中提高解码的精度,随着解码进行而不断修正结果的技术被相继提出,即延迟更新技术。目前比较成熟的延迟更新技术主要有三种,第一种方法是随着解码的进行,不断保留原有的候选结果及其每个解码单元的评分,一直显示输出评分总和最佳的结果。第二种方法是等待整个解码结束后,根据整个生成结果,利用反向语言模型,对所有的候选结果重新评价,输出最佳结果。第三种方法是随着解码的进行,只保留最佳结果的路径,然后利用反向模型对这些路径进行重新评价,输出最佳结果。第一种方法解码的精度不高,第二种方法耗时较长,有悖于低延迟的应用场景,第三种方法删除信息过多,对精度改善有限制。
技术实现思路
本专利技术提供了一种动态反向解码的方法、装置、及可读存储介质,以实现在低延时条件下完成实时解码的工作。本专利技术实施例第一方面提供了一种动态反向解码的方法,所述方法包括:读入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.一种动态反向解码的方法,其特征在于,所述方法包括:读入n元正向语言模型和m元反向语言模型;读入待处理数据;在H个预设时间段中的第1个预设时段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果;在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部;依次取h为从2至H的整数,执行以下步骤:在所述H个预设时间段中的第h个预设时间段内,通过所述n元正向语言模型继续对所述待处理数据进行处理,得到候选结果;在所述第h个所述预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格首部;通过所述m元反向语言模型对在第h‑1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果;遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径;根据所述最佳路径输出解码结果,其中,n、m、h、H分别为大于等于1的整数。

【技术特征摘要】
1.一种动态反向解码的方法,其特征在于,所述方法包括:读入n元正向语言模型和m元反向语言模型;读入待处理数据;在H个预设时间段中的第1个预设时段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果;在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部;依次取h为从2至H的整数,执行以下步骤:在所述H个预设时间段中的第h个预设时间段内,通过所述n元正向语言模型继续对所述待处理数据进行处理,得到候选结果;在所述第h个所述预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格首部;通过所述m元反向语言模型对在第h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果;遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径;根据所述最佳路径输出解码结果,其中,n、m、h、H分别为大于等于1的整数。2.根据权利要求1所述的方法,其特征在于,在H个预设时间段中的第1个预设时间段内,通过所述n元正向语言模型对所述待处理数据进行处理,得到候选结果,包括:将所述H个预设时间段设置为符合低延时条件的多个长度相等的时间段,所述预设时间段以帧为时间单位;在所述多个长度相等的时间段中的第1个时间段内,通过所述n元正向语言模型接收所述待处理数据,根据该待处理数据的前文信息计算解码每个词汇的概率,并将概率不为零的词汇确定为所述候选结果。3.如权利要求1所述的方法,其特征在于,在所述第1个预设时间段结束时,遍历在该预设时间段内得到的候选结果,从中确定权重评分较大的多个候选结果,并添加到词网格的首部,包括:设置权重评分阈值;在所述第1个预设时间段结束时,遍历所述候选结果,将权重评分大于所述权重评分阈值的候选结果确定为有效候选结果;将所述有效候选结果添加到词网格的首部。4.如权利要求1所述的方法,其特征在于,通过所述m元反向语言模型对在第h-1个预设时间段结束时添加到词网格的首部的多个候选结果的权重评分进行更新,得到更新后的结果,包括:通过所述m元反向语言模型计算在第h-1个时间段结束时添加到词网格的首部的多个候选结果的概率值;通过所述m元反向语言模型利用所述概率值计算所述多个候选结果的权重分数。5.如权利要求1所述的方法,其特征在于,遍历所述更新后的结果所对应的路径和所述权重评分较大的多个候选结果所对应的路径,并从中确定最佳路径,包括:遍历所述更新后的结果所对应的路径的第一权重评分和所述多个候选结果所对应的路径的第二权重评分;对比所述第一权重评分和所述第二权重评分,得到最大权重评分;将所述最大权重评分对应的路径确定为最佳路径。6.如权利要求1所述的方法,其特征在于,在根据所述最佳路径输出解码结果的同时,所述方法还包括:检测所述词网格的长度,并判断该词网格的长度是否大于n;将长度大于n的所述词网格从尾部裁剪一单元长度;在下一次生成解码结...

【专利技术属性】
技术研发人员:吴帅李健张连毅武卫东
申请(专利权)人:北京捷通华声科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1