CN110502746B - 一种在线域更新解码方法、装置、电子设备及存储介质 - Google Patents
一种在线域更新解码方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110502746B CN110502746B CN201910650969.6A CN201910650969A CN110502746B CN 110502746 B CN110502746 B CN 110502746B CN 201910650969 A CN201910650969 A CN 201910650969A CN 110502746 B CN110502746 B CN 110502746B
- Authority
- CN
- China
- Prior art keywords
- word
- candidate
- words
- language model
- decoding
- 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
Abstract
本发明提供了一种在线域更新解码方法、装置、电子设备及存储介质,涉及信息处理技术领域。本发明先通过原解码语言模型生成第一哈希表和通过域更新语言模型得到第二哈希表,再根据解码器输出的候选结果分别查找两张哈希表对应候选词概率,最后经过权重公式计算得到该候选词的新权重,进而根据候选结果和新权重得到最佳解码结果。和现有的解码技术相比,本发明提高了解码的准确性,加快了解码的速度,能够普遍适用于各种场景。
Description
技术领域
本发明涉及信息处理技术领域,特别是涉及一种在线域更新解码方法、装置、电子设备及存储介质。
背景技术
目前,随着信息产业的讯速发展,人类每时每刻使用或存储大量数据,其中相当一部分需要使用解码技术转化为可读文本,如:机器翻译、语音识别、光学字符识别、输入法和自动问答等。
为了根据解码的历史结果,动态改进语言模型,诸多技术便相继而出。常用思路主要有两种:第一种技术,直接对候选结果进行修正,根据历史结果实时生成一个语言模型并利用这个语言模型在生成候选结果进行使用并筛选,这种方法在速度上能够做到保证,但是由于在最后一层结果上修正,所以精度并不理想;第二种技术,便是并轨机制,即两套解码器同时进行,这种方法虽然保证了精度,但是牺牲了速度。
因此,第一种技术现在精度要求不高的地使用最为普遍。而对于精度要求高的地方,虽然第二种技术满足精度,但是其速度缓慢。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种在线域更新解码方法、装置、电子设备及存储介质。
第一方面,本发明提供了一种在线域更新解码方法,该方法包括:
将词表中的每个字词输入原解码语言模型,得到所述词表中的每个字词的旧预测概率,并生成相应的第一哈希表;
针对解码器在当前时间段内输出的多个候选结果,根据域更新语言模型,得到所述多个候选结果中所有候选词各自的新预测概率,并更新相应的第二哈希表;
对所述解码器在当前时间段内输出的每个候选词,分别查询所述第一哈希表和所述第二哈希表,得到该候选词的旧预测概率和新预测概率,并根据该候选词的旧预测概率和新预测概率,更新该候选词的权重;
根据所述解码器在当前时间段内输出的每个候选词的更新后的权重,生成最佳解码结果。
优选地,对训练语料进行处理,随机得到多块区域字词和所述区域字词所在区域外对应的多块前文;其中,所述区域字词包含至少一个字词;
将所述区域字词对应的所有前文分别进行组合,得到前文信息集;
利用所述前文信息集,训练预设语言模型,得到所述域更新语言模型。
优选地,获取所述区域字词中各字词在所在区域出现的次数;
获取所述区域内所有字词的总数;
用所述次数和所述总数的比值得到所述各字词的区域字词概率;
按先后顺序将所述区域字词的前文输入到所述预设语言模型中,得到输出概率,根据所述输出概率和所述区域字词概率计算损失函数,循环处理所有的所述区域字词和所述区域字词对应的前文,多次计算损失函数,在所述损失函数收敛时结束训练,并将结束训练时的模型确定为所述域更新语言模型。
优选地,将所述解码器在历史时间段内输出的历史最佳解码结果输入到所述域更新语言模型中,得到所述历史最佳解码结果中各字词的对应概率,并将该字词和该字词对应的概率存储成中间状态信息;
针对所述解码器在当前时间段内输出的多个候选词,根据所述域更新语言模型,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表,包括:
利用所述中间状态信息和所述域更新语言模型在当前时间段内针对所述多个候选词预测出的概率,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表。
优选地,将所述旧预测概率、所述新预测概率和该候选词的旧权重带入到权重公式中得到该候选词的新权重;
其中,所述权重公式为:W′(w)=W(w)+λ[ω(Pfield(D(0~κτ),w))-ω(Pold(w))], W′(w)表示该候选词的新权重,W(w)表示该候选词的旧权重,Pfield(D(0~κτ),w)表示所述新预测概率,Pold(w)表示所述候选词的旧概率,ω()表示权重函数,λ的取值在0到1之间,w表示该候选词,τ表示权重更新时间段的长度,k表示自然数,D(0~κτ)表示0~κτ时间段内输出的历史最佳解码结果。
第二方面,本发明提供了一种在线域更新解码装置,该装置包括:
输入第一模块,用于将词表中的每个字词输入原解码语言模型,得到所述词表中的每个字词的旧预测概率,并生成相应的第一哈希表;
输入第二模块,用于针对解码器在当前时间段内输出的多个候选结果,根据域更新语言模型,得到所述多个候选结果中所有候选词各自的新预测概率,并更新相应的第二哈希表;
权重更新模块,用于对所述解码器在当前时间段内输出的每个候选词,分别查询所述第一哈希表和所述第二哈希表,得到该候选词的旧预测概率和新预测概率,并根据该候选词的旧预测概率和新预测概率,更新该候选词的权重;
输出模块,用于根据所述解码器在当前时间段内输出的每个候选词的更新后的权重,生成最佳解码结果。
优选地,训练语料处理模块,用于对训练语料进行处理,随机得到多块区域字词和所述区域字词所在区域外对应的多块前文;其中,所述区域字词包含至少一个字词;
获取模块,用于将所述区域字词对应的所有前文分别进行组合,得到前文信息集;
训练模块,用于利用所述前文信息集,训练预设语言模型,得到所述域更新语言模型。
优选地,获取第一子模块,用于获取所述区域字词中各字词在所在区域出现的次数;
获取第二子模块,用于获取所述区域内所有字词的总数;
运算子模块,用于用所述次数和所述总数的比值得到所述各字词的区域字词概率;
检测子模块,用于按先后顺序将所述区域字词的前文输入到所述预设语言模型中,得到输出概率,根据所述输出概率和所述区域字词概率计算损失函数,循环处理所有的所述区域字词和所述区域字词对应的前文,多次计算损失函数,在所述损失函数收敛时结束训练,并将结束训练时的模型确定为所述域更新语言模型。
优选地,存储模块,用于将所述解码器在历史时间段内输出的历史最佳解码结果输入到所述域更新语言模型中,得到所述历史最佳解码结果中各字词的对应概率,并将该字词和该字词对应的概率存储成中间状态信息;
第二哈希表更新模块,用于针对所述解码器在当前时间段内输出的多个候选词,根据所述域更新语言模型,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表,包括:
第一更新子模块,用于利用所述中间状态信息和所述域更新语言模型在当前时间段内针对所述多个候选词预测出的概率,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表。
优选地,第二更新子模块,用于将所述旧预测概率、所述新预测概率和该候选词的旧权重带入到权重公式中得到该候选词的新权重。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,优选地,所述处理器执行所述程序时实现如第一方面所述的一种在线域更新解码方法的步骤。
第四方面,本发明提供了一种计算机可读存储介质,优选地,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的一种在线域更新解码方法的步骤。
本发明第一方面,通过用户自选习惯性语料样本训练域更新语言模型,同时在解码过程中,实时将两个哈希表中概率进行线性差值,并根据差值结果将候选词旧权重替换成新权重,提高了最终解码结果的准确性;第二方面,将新预测概率和旧预测概率转化为哈希表,以至少一句话的间隔更新,减少了处理器的运算量;第三方面,本发明直接在传统的解码结果上做修正,却不影响传统的解码框架,这样使得本方案能够普遍适用于各种场景;第四方面,本发明新框架作用在传统解码框架之上,利用的是传统解码框架中解码器输出的候选结果得到新、旧预测概率,从而生成最佳解码结果,相比其它的更新技术提升了解码速度。因此,结合上述内容本发明使最终解码结果精度更高、解码速度更快、减少了处理器的运算量,同时能适应各种场景具有普遍适应性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的一种在线域更新解码装置的框图;
图2是本发明实施例提供的一种在线域更新解码方法的步骤流程图;
图3是本发明实施例提供的一种训练得到域更新语言模型方法的步骤流程图;
图4是本发明实施例提供的一种新预设概率生成步骤流程图;
图5是本发明实施例提供的一种在线域更新解码装置的流程图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
参考图1,图1是本发明实施例提供的一种在线域更新解码装置的框图。如图1所示,本发明虽然是在传统的解码框架(传统的解码框架是已有的解码框架)之上再新增了一层新框架,但是却不影响传统的解码框架。本发明文件中解码器、词表、原解码语言模型均包含在传统的解码框架中。传统的解码框架中的解码器生成候选结果,该候选结果中包含着候选词,所有的候选词都是从词表中选取出来的。新解码框架实时将候选结果送入新解码框架生成的域更新语言模型中得到该候选词到的新预测概率,生成第二哈希表。同时,遍历整个词表,分别独立调用传统的解码框架的原解码语言模型,一一得到原解码语言模型在一元词汇条件下的旧预测概率,生成第一哈希表。根据第一哈希表、第二哈希表、候选词的旧权重和候选结果得到最佳解码结果。
实施例一
参考图2,图2是本发明实施例提供的一种在线域更新解码方法的步骤流程图。如图2所示,该方法包括以下步骤:
步骤S11,将词表中的每个字词输入原解码语言模型,得到所述词表中的每个字词的旧预测概率,并生成相应的第一哈希表;
在本发明实施例中,初始化时,传统的解码框架遍历整个词表,分别调用原解码语言模型计算该词表中的候选词,一一得到原解码语言模型在一元词汇条件下的旧预测概率,生成第一哈希表。在同一任务中该第一哈希表将不再发生变化。同时,旧哈希表是任务初始化时临时生成的,也就是说每个新解码任务开始时都会重新生成第一哈希表。
步骤S12,针对解码器在当前时间段内输出的多个候选结果,根据域更新语言模型,得到所述多个候选结果中所有候选词各自的新预测概率,并更新相应的第二哈希表;
在本发明实施例中,人为设定权重时间更新间隔为τ,kτ~(k+1)τ时间段即为当前时间段,其中k为自然数。当前时间段输出的候选结果为当前候选结果,该当前候选结果为多条解码路径,该解码路径由多个候选词组成。例如:将中文“怎么选择好吃的苹果”翻译成英文,其中“怎么”的英文解释有3种:“How to”、“What”、“Why”,“选择”的英文解释有3种:“choose”、“select”、“pick”,“好吃的”的英文解释有2种:“delicious”、“tasty”,“苹果”的英文解释有2种:“apple”、“malic”。上述所有的英文单词就是候选词,每条解码路径是由中文中各字词对应的英文解释之一组成,如:“How to choose delicious apple”、“How toselect delicious malic”等组合成各个解码路径,上述例子中解码路径共有3×3×2×2=36种。
在本发明实施例中,域更新语言模型的调用是实时性的和解码器的输出同步进行,即,解码器输出一个候选结果则就会调用域更新语言模型,得到该候选结果中每个候选词的新预测概率。例如:如果解码器输出的是2条解码路径:“How to choose deliciousapple”和“How to select delicious malic”,其中2条解码路径的所有候选词为“Howto”、“choose”、“select”、“delicious”、“apple”、“malic”,将这些候选词输入到域更新语言模型中得到每个候选词的新预测概率。
在本发明实施例中,不管是第一哈希表还是第二哈希表,都是用哈希表中的键表示字词,用哈希表中的值表示概率存储。这里的字词包含了所有的候选词,这里的概率包含了新、旧预测概率。
在本发明的各个实施例中,传统的解码框架中的解码器不只是能将文本转化为可读文本,还可以将语音、图像或拼音等信息转化成可读文本。
步骤S13,对所述解码器在当前时间段内输出的每个候选词,分别查询所述第一哈希表和所述第二哈希表,得到该候选词的旧预测概率和新预测概率,并根据该候选词的旧预测概率和新预测概率,更新该候选词的权重;
本发明实施例中,权重更新时间间隔是人为设定的。当时间到达某一权重更新时刻时,开始对该时刻之前的一个权重更新时间间隔内所有候选结果内的所有候选词查找第一、第二哈希表中的旧预测概率、新预测概率。同时,获得来自于传统的解码框架中对应候选词的旧权重,根据新、旧预测概率和旧权重更新该候选词的新权重。
例如,权重更新时间间隔为τ,当时间到(k+1)τ时刻,开始查找kτ~(k+1)τ时间段内所有候选词在第一哈希表中的旧预测概率。在目前最新更新的第二哈希表中查找kτ~(k+1)τ时间段内各个候选词对应的新预测概率。获得传统的解码框架候选词的旧权重,用权重更新公式去更新对应候选词的新权重。该权重更新公式为:W′(w)=W(w)+λ[ω(Pfield(D(0~κτ),w))-ω(Pold(w))],W′(w)表示所述新权重,W(w)表示所述旧权重,Pfield(D(0~κτ),w)表示所述候选词的旧预测概率,Pold(w)表示所述候选词的新预测概率,ω表示权重函数,λ的取值在 0到1之间,一般来说0.3-0.4为佳,w表示该候选词,τ表示权重更新时间段的长度,k表示自然数,D(0~κτ)表示0~κτ时间段内输出的历史最佳解码结果。该公式的解读为:先分别用权重函数转换同一候选词的新、旧预测概率;再用权重函数转换新预测概率的值减去权重函数转换旧预测概率的值,得到一个差值;然后,用该差值乘以常数λ的值加上该候选词旧权重的值,最终得到该候选词的新权重。
步骤S14,根据所述解码器在当前时间段内输出的每个候选词的更新后的权重,生成最佳解码结果。
在本发明实施例中,对候选结果中多条路径中各自候选词的新权重进行打分,取分数最高的路径作为最佳解码结果。
在该实施例中,用候选词的新权重更新候选词的旧权重,使最终解码结果精度更高和相比其它现有技术解码速度更快,同时本发明直接在传统的解码结果上做修正,却不影响传统的解码框架,这样使得本方案能够普遍适用于各种场景。
参考图3,图3是本发明实施例提供的一种训练得到域更新语言模型方法的步骤流程图。如图3所示,该方法包括以下步骤:
步骤S21:对训练语料进行处理,随机得到多块区域字词和所述区域字词所在区域外对应的多块前文;其中,所述区域字词包含至少一个字词;
在本申请各个实施例中,训练语料的要求为至少是与翻译文本领域相关的文本。例如,用户需要翻译的文本属于电路设计,那么该用户选择的训练语料至少要是电路设计领域的文章或一大段连续文字,最好是该用户习惯阅读的、电路设计领域的文章或一大段连续文字。
首先,对训练语料进行处理,包括:初始化一个单层循环神经网络模型。将训练语料进行清洗和分词处理。接着,从中随机截取任意多块区域字词。该区域字词最好包括多个词,这样方便统计该区域字词中各个词在该区域中的概率。同时,获得每个区域字词所在区域外的多个各自对应的前文,每个区域字词所在区域外至少存在一块前文。
步骤S22:将所述区域字词对应的所有前文分别进行组合,得到前文信息集;
一块区域字词所在区域外至少存在一块前文,将这些前文进行组合,得到该区域的前文信息集。同理,对其它区域字词做相同处理,最终得到所有区域字词的所有前文信息集。
步骤S23:利用所述前文信息集,训练预设语言模型,得到所述域更新语言模型。
将该区域字词所在区域外的所有前文数据信息集输到预设语言模型的输入端。循环该数据信息集,训练预设语言模型,得到域更新语言模型。
结合上述实施例,在本申请的另外一个实施例中,通过损失函数的收敛性判断训练预设语言模型是否训练结束。该方法除包括步骤S21-步骤S23 外,还包括步骤:
步骤S24:获取所述区域字词中各字词在所在区域出现的次数;
获取所述区域字词所在的区域中各字词在该区域出现的次数信息。
步骤S25:获取所述区域内所有字词的总数;
获取区域字词所在的区域中所有字词的总数信息;
步骤S26:用所述次数和所述总数的比值得到所述各字词的区域字词概率;
区域中各字词的概率即区域字词概率是通过区域各字词在该区域出现的次数除以该区域内所有字词的总数得到的。
步骤S27:按先后顺序将所述区域字词的前文输入到所述预设语言模型中,得到输出概率,根据所述输出概率和所述区域字词概率计算损失函数,循环处理所有的所述区域字词和所述区域字词对应的前文,多次计算损失函数,在所述损失函数收敛时结束训练,并将结束训练时的模型确定为所述域更新语言模型。
从选中的文章或大段文字中得到随机选取的区域字词所在区域外的所有前文。将该前文输入到预设语言模型中,得到该前文所有字词全部概率,即全部输出概率。同时,根据步骤S26得到随机获取的多块区域字词所在区域内所有字词在该区域内的各自全部区域概率。根据全部输出概率和全部区域概率计算损失函数,将循环重复所有随机获取的区域字词进行上述操作,通过多次计算损失函数,可知若该损失函数收敛,即不再降低时结束训练,并将结束训练时的模型确定为域更新语言模型。若该损失函数未收敛,则继续训练预设语言模型。
本实施例中,根据用户的意向选择与翻译文本至少相关领域的文章或一大段连续文字去训练出域更新语言模型,根据域更新语言模型得到的候选词概率,必然更接近用户的阅读使用习惯,也必然提高了解码的准确性。
参考图4,图4是本发明实施例提供的一种新预设概率生成步骤流程图。如图4所示,该方法包括以下步骤:
步骤S31:将所述解码器在历史时间段内输出的历史最佳解码结果输入到所述域更新语言模型中,得到所述历史最佳解码结果中各字词的对应概率,并将该字词和该字词对应的概率存储成中间状态信息;
解码器启动时,亦即第一次调用域更新模型时,初始化参数,启动后每次调用将所述解码器在历史时间段内输出的历史最佳解码结果输入到域更新模型中,得到历史最佳解码结果中所有字词对应的概率,再将上述所有字词对应的概率和对应字词一起存储在中间状态信息中。当越来越多的产生最佳解码结果时,所述状态信息的内容也将越来越多。其中,状态信息包含了最佳解码结果和该最佳解码结果对应的概率。例如:中译英“怎么选择好吃的苹果”时,其中“怎么选择”的最佳解码结果为“How to choose”,中间状态信息为“How to”对应的概率为0.1,中间状态信息为“choose”对应的概率为0.2。随着“好吃的苹果”的最佳解码结果“delicious apple”的产生,中间状态信息更新为“How to”对应的概率为0.1,“choose”对应的概率为0.2,“delicious”对应的概率为0.5,“apple”对应的概率为0.4,也就是说中间状态信息从原来的2 个更新为4个。
步骤S32:针对所述解码器在当前时间段内输出的多个候选词,根据所述域更新语言模型,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表,包括:利用所述中间状态信息和所述域更新语言模型在当前时间段内针对所述多个候选词预测出的概率,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表。
本发明实施例中,更新候选结果中的候选词的新预测概率时,利用中间状态信息和该候选词在域更新语言模型中输出的概率生成新预测概率,再根据该新预测概率更新第二哈希表。其中,新预测概率更新第二哈希表时,至少以一句话的间隔更新。例如,中译英“怎么选择好吃的苹果”中,首先,得到全部中文字词的英文解释的概率,即,实时调用域更新语言模型,得到上述中文句子中所有字词的英文解释字词,再将所有的英文解释字词一起存入第二哈希表中。
本发明实施例中,翻译“怎么选择好吃的苹果,怎么吃苹果”这句话中“怎么吃苹果”。上述步骤S31已经得到了“怎么选择好吃的苹果”的最佳解码结果以及最佳解码结果中所有字词的概率,接着解码器继续生成“怎么吃苹果”的英文翻译,其中“怎么”输入到域更新语言模型中得到“How to”的输出的概率为0.8,那么结合中间状态信息(“怎么选择好吃的苹果”的英文输出“How to choose delicious apple”)中“How to”的概率乘以一个预设常数加上目前域更新语言模型中输出的概率0.8乘以常数,得到“How to”的新预测概率。如果两个常数均取0.5,则“How to”的新预测概率为:0.1×0.5+0.8×0.5=0.45。
本实施例中得到新预测概率的方法只是一个优选的,其他类似思路的方法都会落入本发明的保护范围中。
例如,翻译一个买苹果技巧性介绍的文章-汉译英,具体步骤如下:
第一步:训练域更新语言模型。选择一篇苹果种类介绍的文章,对该文章进行清洗和分词处理。随机截取该文章中的一小块区域字词如“你最喜欢吃的水果”,计算该区域字词在该区域的概率即区域概率,如该区域字词被分词为“你”、“最”、“喜欢吃的”、“水果”,其中,“你”的概率为 1/4。并获取该区域位置外在文章中的所有前文,将所有前文输入到如RNN 模型中进行训练,逐步输出该前文所有字词相对于各字词位置前的所有字词的概率值,将这两种概率值全部发送至损失函数中进行计算,若该损失函数完全收敛,这时表明RNN模型已经完成训练成为域更新语言模型。
第二步:生成第一哈希表。遍历传统的解码框架中的整个词表,分别独立调用原解码语言模型,一一得到传统的码语言模型在一元词汇条件下的旧预测概率生成相应第一哈希表。
第三步:实时更新第二哈希表。解码器每输出一个候选结果,新框架就会将该候选结果中每个候选词带入到域更新语言模型中得到该候选词的输出概率并结合中间信息中该字词的历史概率生成新预测概率,当设定一句话翻译完成后更新第二哈希表时,将整句要翻译的句子中生成的最佳解码结果中所有字词和最佳解码结果中字词对应的新预测概率一并更新第二哈希表。例如:翻译买苹果技巧性介绍的文章中的一段话:怎么选择好吃的苹果。其中各个字词在词表中的解释为:怎么(“How to”、“what”、“why”)、选择(“choose”、“select”、“pick”)、好吃的(“delicious”、“tasty”)、苹果(“Apple”、“malic”),解码器根据传统的解码框架的词表对该句话进行翻译得到:How to choose delicious apple、Whatchoose delicious apple 等3×3×2×2=36种排列组合的候选路径。将上述候选路径中各字词带入域更新语言模型中得到所有字词的输出概率,再结合中间状态信息中与上述各路径中相同的字词的历史概率,得到各字词的新预测概率,进而更新第二哈希表。举例说明:若“How to”在中间状态信息中的概率为0.5,若设置的常数为0.6,若“How to”经过域更新语言模型得到的概率为0.8,那么“How to”的新预测概率为:0.5×0.6+0.8×0.6=0.78本实施例中关于得到新预测概率的方法有很多,这里只是列举了一种最简单的方法。
第四步:设定权重更新时间。设定候选词更新权重时间间隔为τ=10s,那么候选词权重更新时间为t~t+10s,其中,t表示时刻。
第五步:更新候选词权重。当解码器到达t+10时刻时,得到解码器在 t~t+10s的候选结果,其中,候选结果包含着这段时间所有的候选词,在最近更新的第二哈希表中查找每个候选词的新预测概率Pfield(D(0~t),w),在第一哈希表中查找每个候选词的旧预测概率Pold(w)。同时得到对应候选词的旧权重 W(w)。将每个候选词的新预测概率、旧预测概率、旧权重带入权重公式,得到新权重W′(w),λ的取值为0.3,具体如下等式:
W′(w)=W(w)+0.3logPfield(D(0~t),w)-log(Pold(w))
第六步:生成最佳解码结果。将候选结果中每个候选词对应的新权重W′(w)和该候选结果一起作用,生成体现为字符串的最佳解码结果,如,How to choose deliciousapple。
第七步:不断重复步骤三至步骤五,直到解码结束,最终将该文章翻译成英文版本。
本发明第一方面,通过用户自选习惯性语料样本训练域更新语言模型,同时在解码过程中,实时将两个哈希表中概率进行线性差值,并根据差值结果将候选词旧权重替换成新权重,提高了最终解码结果的准确性;第二方面,将新预测概率和旧预测概率转化为哈希表,以至少一句话的间隔更新,减少了处理器的运算量;第三方面,本发明直接在传统的解码结果上做修正,却不影响传统的解码框架,这样使得本方案能够普遍适用于各种场景;第四方面,本发明新框架作用在传统解码框架之上,利用的是传统解码框架中解码器输出的候选结果得到新、旧预测概率,从而生成最佳解码结果,相比其它的更新技术提升了解码速度。因此,结合上述内容本发明使最终解码结果精度更高、解码速度更快、减少了处理器的运算量,同时能适应各种场景具有普遍适应性。
实施例二
参照图5,出示了本发明实施例提供的一种在线域更新解码装置的流程图,具体可以包括如下模块:
输入第一模块41,用于将词表中的每个字词输入原解码语言模型,得到所述词表中的每个字词的旧预测概率,并生成相应的第一哈希表。
输入第二模块42,用于针对解码器在当前时间段内输出的多个候选结果,根据域更新语言模型,得到所述多个候选结果中所有候选词各自的新预测概率,并更新相应的第二哈希表。
权重更新模块43,用于对所述解码器在当前时间段内输出的每个候选词,分别查询所述第一哈希表和所述第二哈希表,得到该候选词的旧预测概率和新预测概率,并根据该候选词的旧预测概率和新预测概率,更新该候选词的权重。
输出模块44,用于根据所述解码器在当前时间段内输出的每个候选词的更新后的权重,生成最佳解码结果。
优选地,本发明实施例中,图5所示的装置还可以进一步包括以下模块:
训练语料处理模块,用于对训练语料进行处理,随机得到多块区域字词和所述区域字词所在区域外对应的多块前文;其中,所述区域字词包含至少一个字词。
获取模块,用于将所述区域字词对应的所有前文分别进行组合,得到前文信息集。
训练模块,用于利用所述前文信息集,训练预设语言模型,得到所述域更新语言模型。
存储模块,用于将所述解码器在历史时间段内输出的历史最佳解码结果输入到所述域更新语言模型中,得到所述历史最佳解码结果中各字词的对应概率,并将该字词和该字词对应的概率存储成中间状态信息。
第二哈希表更新模块,用于针对所述解码器在当前时间段内输出的多个候选词,根据所述域更新语言模型,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表,包括:
第一更新子模块,用于利用所述中间状态信息和所述域更新语言模型在当前时间段内针对所述多个候选词预测出的概率,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表。
在一个可选的实现方式中,所述训练模块包括:
获取第一子模块,用于获取所述区域字词中各字词在所在区域出现的次数;
获取第二子模块,用于获取所述区域内所有字词的总数;
运算子模块,用于用所述次数和所述总数的比值得到所述各字词的区域字词概率;
检测子模块,用于按先后顺序将所述区域字词的前文输入到所述预设语言模型中,得到输出概率,根据所述输出概率和所述区域字词概率计算损失函数,循环处理所有的所述区域字词和所述区域字词对应的前文,多次计算损失函数,在所述损失函数收敛时结束训练,并将结束训练时的模型确定为所述域更新语言模型。
在一个可选的实现方式中,所述权重更新模块43包括:
第二更新子模块,用于将所述旧预测概率、所述新预测概率和该候选词的旧权重带入到权重公式中得到该候选词的新权重。
基于同一发明构思,本发明另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可再处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的方法中的步骤。
基于同一发明构思,本发明另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
Claims (10)
1.一种在线域更新解码方法,其特征在于,所述方法包括:
将词表中的每个字词输入原解码语言模型,得到所述词表中的每个字词的旧预测概率,并生成相应的第一哈希表;所述原解码语言模型、所述词表以及解码器位于传统的解码框架中;所述传统的解码框架中的所述解码器用于生成候选结果,所述候选结果中包含候选词;所述候选词是从所述词表中选择得到的;
针对所述解码器在当前时间段内输出的多个候选结果,根据域更新语言模型,得到所述多个候选结果中所有候选词各自的新预测概率,并更新相应的第二哈希表;所述域更新语言模型位于新解码框架中;所述域更新语言模型是根据自选习惯性语料样本训练得到的;
对所述解码器在当前时间段内输出的每个候选词,分别查询所述第一哈希表和所述第二哈希表,得到该候选词的旧预测概率和新预测概率,并根据该候选词的旧预测概率和新预测概率,更新该候选词的权重;
根据所述解码器在当前时间段内输出的每个候选词的更新后的权重,生成最佳解码结果;
其中,将词表中的每个字词输入原解码语言模型,得到所述词表中的每个字词的旧预测概率,并生成相应的第一哈希表,包括:
所述传统的解码框架遍历所述词表,调用所述原解码语言模型计算所述词表中的候选词,得到所述旧预测概率。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对训练语料进行处理,随机得到多块区域字词和所述区域字词所在区域外对应的多块前文;其中,所述区域字词包含至少一个字词;
将所述区域字词对应的所有前文分别进行组合,得到前文信息集;
利用所述前文信息集,训练预设语言模型,得到所述域更新语言模型。
3.根据权利要求2所述的方法,其特征在于,所述利用所述前文信息集,训练预设语言模型,得到所述域更新语言模型的步骤,包括:
获取所述区域字词中各字词在所在区域出现的次数;
获取所述区域内所有字词的总数;
用所述次数和所述总数的比值得到所述各字词的区域字词概率;
按先后顺序将所述区域字词的前文输入到所述预设语言模型中,得到输出概率,根据所述输出概率和所述区域字词概率计算损失函数,循环处理所有的所述区域字词和所述区域字词对应的前文,多次计算损失函数,在所述损失函数收敛时结束训练,并将结束训练时的模型确定为所述域更新语言模型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述解码器在历史时间段内输出的历史最佳解码结果输入到所述域更新语言模型中,得到所述历史最佳解码结果中各字词的对应概率,并将该字词和该字词对应的概率存储成中间状态信息;
针对所述解码器在当前时间段内输出的多个候选词,根据所述域更新语言模型,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表,包括:
利用所述中间状态信息和所述域更新语言模型在当前时间段内针对所述多个候选词预测出的概率,得到所述多个候选词各自的新预测概率,并更新相应的第二哈希表。
5.根据权利要求1或4所述的方法,其特征在于,所述更新该候选词的权重的步骤,包括:
将所述旧预测概率、所述新预测概率和该候选词的旧权重带入到权重公式中得到该候选词的新权重;
其中,所述权重公式为:W′(w)=W(w)+λ[ω(Pfield(D(0~κτ),w))-ω(Pold(w))],W′(w)表示该候选词的新权重,W(w)表示该候选词的旧权重,Pfield(D(0~κτ,w)表示所述新预测概率,Pold(w)表示所述候选词的旧概率,ω()表示权重函数,λ的取值在0到1之间,w表示该候选词,τ表示权重更新时间段的长度,k表示自然数,D(0~κτ)表示0~κτ时间段内输出的历史最佳解码结果。
6.一种在线域更新解码装置,其特征在于,所述装置包括:
输入第一模块,用于将词表中的每个字词输入原解码语言模型,得到所述词表中的每个字词的旧预测概率,并生成相应的第一哈希表;所述原解码语言模型、所述词表以及解码器位于传统的解码框架中;所述传统的解码框架中的所述解码器用于生成候选结果,所述候选结果中包含候选词;所述候选词是从所述词表中选择得到的;
输入第二模块,用于针对所述解码器在当前时间段内输出的多个候选结果,根据域更新语言模型,得到所述多个候选结果中所有候选词各自的新预测概率,并更新相应的第二哈希表;所述域更新语言模型位于新解码框架中;所述域更新语言模型是根据自选习惯性语料样本训练得到的;
权重更新模块,用于对所述解码器在当前时间段内输出的每个候选词,分别查询所述第一哈希表和所述第二哈希表,得到该候选词的旧预测概率和新预测概率,并根据该候选词的旧预测概率和新预测概率,更新该候选词的权重;
输出模块,用于根据所述解码器在当前时间段内输出的每个候选词的更新后的权重,生成最佳解码结果;
所述输入第一模块具体用于使所述传统的解码框架遍历所述词表,调用所述原解码语言模型计算所述词表中的候选词,得到所述旧预测概率。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
训练语料处理模块,用于对训练语料进行处理,随机得到多块区域字词和所述区域字词所在区域外对应的多块前文;其中,所述区域字词包含至少一个字词;
获取模块,用于将所述区域字词对应的所有前文分别进行组合,得到前文信息集;
训练模块,用于利用所述前文信息集,训练预设语言模型,得到所述域更新语言模型。
8.根据权利要求7所述的装置,其特征在于,所述训练模块,包括:
获取第一子模块,用于获取所述区域字词中各字词在所在区域出现的次数;
获取第二子模块,用于获取所述区域内所有字词的总数;
运算子模块,用于用所述次数和所述总数的比值得到所述各字词的区域字词概率;
检测子模块,用于按先后顺序将所述区域字词的前文输入到所述预设语言模型中,得到输出概率,根据所述输出概率和所述区域字词概率计算损失函数,循环处理所有的所述区域字词和所述区域字词对应的前文,多次计算损失函数,在所述损失函数收敛时结束训练,并将结束训练时的模型确定为所述域更新语言模型。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5中任一项所述的一种在线域更新解码方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的一种在线域更新解码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910650969.6A CN110502746B (zh) | 2019-07-18 | 2019-07-18 | 一种在线域更新解码方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910650969.6A CN110502746B (zh) | 2019-07-18 | 2019-07-18 | 一种在线域更新解码方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110502746A CN110502746A (zh) | 2019-11-26 |
CN110502746B true CN110502746B (zh) | 2021-04-09 |
Family
ID=68586062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910650969.6A Active CN110502746B (zh) | 2019-07-18 | 2019-07-18 | 一种在线域更新解码方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502746B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016058003A (ja) * | 2014-09-12 | 2016-04-21 | 日本放送協会 | 翻訳装置 |
CN108647207A (zh) * | 2018-05-08 | 2018-10-12 | 上海携程国际旅行社有限公司 | 自然语言修正方法、系统、设备及存储介质 |
CN109344238A (zh) * | 2018-09-18 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 用户问句的补词方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193914A (zh) * | 2011-05-26 | 2011-09-21 | 中国科学院计算技术研究所 | 计算机辅助翻译的方法及系统 |
US9881000B1 (en) * | 2016-07-18 | 2018-01-30 | Salesforce.Com, Inc. | Avoiding sentiment model overfitting in a machine language model |
KR102424540B1 (ko) * | 2017-10-16 | 2022-07-25 | 삼성전자주식회사 | 문장 생성 모델의 업데이트 방법 및 문장 생성 장치 |
CN108009154B (zh) * | 2017-12-20 | 2021-01-05 | 哈尔滨理工大学 | 一种基于深度学习模型的图像中文描述方法 |
CN110364171B (zh) * | 2018-01-09 | 2023-01-06 | 深圳市腾讯计算机系统有限公司 | 一种语音识别方法、语音识别系统及存储介质 |
CN108846124B (zh) * | 2018-06-29 | 2022-05-17 | 北京百度网讯科技有限公司 | 训练方法、装置、计算机设备和可读存储介质 |
CN109086267B (zh) * | 2018-07-11 | 2022-07-26 | 南京邮电大学 | 一种基于深度学习的中文分词方法 |
-
2019
- 2019-07-18 CN CN201910650969.6A patent/CN110502746B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016058003A (ja) * | 2014-09-12 | 2016-04-21 | 日本放送協会 | 翻訳装置 |
CN108647207A (zh) * | 2018-05-08 | 2018-10-12 | 上海携程国际旅行社有限公司 | 自然语言修正方法、系统、设备及存储介质 |
CN109344238A (zh) * | 2018-09-18 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 用户问句的补词方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110502746A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11322153B2 (en) | Conversation interaction method, apparatus and computer readable storage medium | |
CN110210029A (zh) | 基于垂直领域的语音文本纠错方法、系统、设备及介质 | |
US6081779A (en) | Language model adaptation for automatic speech recognition | |
CN101359254B (zh) | 一种提高姓名词条输入效率的字符输入方法和系统 | |
US8768700B1 (en) | Voice search engine interface for scoring search hypotheses | |
JP7278477B2 (ja) | 復号化ネットワーク構築方法、音声認識方法、装置、設備及び記憶媒体 | |
JP7170920B2 (ja) | トリガードアテンションを用いたエンドツーエンド音声認識のためのシステムおよび方法 | |
JP2023504219A (ja) | 非同期デコーダでエンド・ツー・エンド音声認識をストリーミングするためのシステムおよび方法 | |
CN108711422A (zh) | 语音识别方法、装置、计算机可读存储介质和计算机设备 | |
CN110263350A (zh) | 模型训练方法、装置、计算机可读存储介质和计算机设备 | |
Coorman et al. | Segment selection in the L&H Realspeak laboratory TTS system | |
JPH10240288A (ja) | 言語モデル適合による音声認識方法 | |
CN111916058A (zh) | 一种基于增量词图重打分的语音识别方法及系统 | |
CN114038447A (zh) | 语音合成模型的训练方法、语音合成方法、装置及介质 | |
JP6620934B2 (ja) | 翻訳支援方法、翻訳支援装置、翻訳装置及び翻訳支援プログラム | |
US20200293724A1 (en) | Information conversion method and apparatus, storage medium, and electronic device | |
CN110502746B (zh) | 一种在线域更新解码方法、装置、电子设备及存储介质 | |
CN110795912A (zh) | 基于神经网络对文本编码的方法、装置、设备及存储介质 | |
CN105679306A (zh) | 语音合成中预测基频帧的方法及系统 | |
CN102866781A (zh) | 一种音字转换方法和系统 | |
CN112541324A (zh) | 一种标点符号添加方法、装置及电子设备 | |
JP6485941B2 (ja) | 言語モデル生成装置、およびそのプログラム、ならびに音声認識装置 | |
CN116227504B (zh) | 一种同传翻译的通讯方法、系统、设备及存储介质 | |
CN111933113A (zh) | 一种语音识别的方法、装置、设备及介质 | |
CN106340293B (zh) | 一种音频数据识别结果的调整方法及装置 |
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 |