一种基于bert模型与ngram模型的语句修正方法及装置与流程

文档序号:29522688发布日期:2022-04-06 23:50阅读:470来源:国知局
一种基于bert模型与ngram模型的语句修正方法及装置与流程

1.本技术属于数据处理技术领域,特别涉及一种基于bert模型与ngram模型的语句修正方法及装置。


背景技术:

2.困惑度(perplexity,ppl)是用来评价语言模型好坏的指标,语言模型是衡量句子好坏的模型,本质上是计算句子的概率:
3.对于句子s(词语w的序列):s=w1,w2,...,wn,
4.它的概率为:p(s)=p(w1,w2,...,wn)=p(w1)p(w2|w1)...p(wn|w1,w2,...,w
n-1
)
5.ppl的计算公式为,
6.由公式可知,句子概率越大,语言模型越好,迷惑度越小。这种计算方式存在两个非常大的问题:1、参数空间过大,条件概率p(wn|w1w2...w
n-1
)的可能性太多,无法估算;2、数据稀疏严重,对于非常多词对的组合,在语料库中都没有出现,依据最大似然估计得到的概率将会是0。
7.现有技术一般是通过bert模型或者ngram模型来设计不同的句子概率计算方式,以在一定程度上缓解ppl计算公式的缺陷。
8.bert是一种掩码语言模型(masked language model,mlm),用来预测mask位置的词语概率,以被mask处理后的整句话的上下文为条件,计算所有被mask位置的词语的概率之和,比较适合用来计算ppl,且bert泛化能力比较强。一般的方法中直接将模型输出的词的得分进行加和平均即为ppl困惑度。单独使用bert,在mlm预训练任务中,最小的掩码单位是字,这种掩码方法存在两个个问题:一是,当一个整词的部分字被掩码时,仅依靠未被掩码的部分可较为容易地预测出掩码位置对应的原字,存在一定的信息泄露;二是,由于理解文本语义最小的单位是词,bert的这种掩码方式对连续空缺文本的还原能力并不突出,而ngram模型可以很好地弥补。另外由于bert自身的特点并不适合增量训练。
9.ngram模型是一种统计模型,可以增量训练。通常使用ngram计算ppl区别在于平滑方法的选择,比较流行的是如下的插值法:
10.p(wi|w
i-2wi-1
)=λ3p(wi|w
i-2wi-1
)+λ2p(wi|w
i-1
)+λ1p(wi)+λ0p
11.其中λi是需要确定的参数,p=1/r(r为语料中出现的词条数),
12.p(wi|w
i-2wi-1
)、p(wi|w
i-1
)、p(wi)分别为第i个词的3-gram,2-gram,1-gram的概率。
13.ppl计算公式为ngram的平滑技术不能有效解决数据稀疏严重问题,平滑技术比较单一,且都进基于词或字。


技术实现要素:

14.为了解决上述技术问题至少之一,本技术提供了一种基于bert模型与ngram模型
的语句修正方法及装置,将融合bert模型和ngram,以应用在文本纠错场景中。文本纠错具体是待纠错语句中的目标词从候选词表中获取多个候选词,并将这些候选词替换待纠错语句中的目标词,然后用ppl区分出更好的候选词。
15.本技术第一方面提供了一种基于bert模型与ngram模型的语句修正方法,主要包括:
16.确定所述语句中用于替代错误字词的多个候选目标词,并构成多个候选语句;
17.对于每个候选语句,基于预设的bert模型计算该语句的第一困惑度,基于预设的ngram模型计算该语句的第二困惑度;
18.给定所述第一困惑度的第一加权系数,给定所述第二困惑度的第二加权系数;
19.对所述第一困惑度及所述第二困惑度通过加权的方式确定每个候选语句的总困惑度;
20.基于所述总困惑度确定最终语句。
21.优选的是,基于预设的bert模型计算该语句的第一困惑度包括:
22.确定所述候选语句中每个词的bert模型输出值;
23.以所述每个词的bert模型输出值的平均值作为所述候选语句的第一困惑度。
24.优选的是,基于预设的ngram模型计算该语句的第二困惑度包括:
[0025][0026]
其中,n为句子长度,wi为第i个词或字,p(wn|w1......w
n-1
)是指对于1-gram,其形式为p(wi),对于2-gram,其形式为p(wi|w
i-1
),对于3-gram,其形式为p(wi|w
i-2wi-1
),其中:
[0027]
p(wi|w
i-2wi-1
)=λ3p(wi|w
i-2wi-1
)+λ2p(wi|w
i-1
)+λ1p(wi)+λ0p;
[0028]
其中λi是需要确定的参数,p=1/r,r为语料中出现的词条数,如果在模型中并不存在对应的词的时候利用基于字的ngram模型,在使用回退法进行计算,即先用3-gram,如果不存在,则用2-gram,如果2-gram不存在,则用1-gram,其中1-gram使用的加值平滑法确定。
[0029]
优选的是,给定所述第一加权系数及第二加权系数包括:
[0030]
随机给定初始的第一加权系数及第二加权系数,其中,第一加权系数与所述第二加权系数之和为1;
[0031]
对于所述bert模型对每个词的计算结果,将其归一化到区间[0,1]上;
[0032]
对于ngram模型,将对句子最终的处理结果归一化到区间[0,1]上;
[0033]
将上述处理结果应用到总困惑度计算公式中,采用梯度下降法求解最优的第一加权系数及第二加权系数。
[0034]
本技术第二方面提供了一种基于bert模型与ngram模型的语句修正装置,主要包括:
[0035]
候选语句确定模块,用于确定所述语句中用于替代错误字词的多个候选目标词,并构成多个候选语句;
[0036]
子困惑度确定模块,用于对于每个候选语句,基于预设的bert模型计算该语句的第一困惑度,基于预设的ngram模型计算该语句的第二困惑度;
[0037]
加权系数确定模块,用于给定所述第一困惑度的第一加权系数,给定所述第二困惑度的第二加权系数;
[0038]
总困惑度确定模块,用于对所述第一困惑度及所述第二困惑度通过加权的方式确定每个候选语句的总困惑度;
[0039]
最终语句确定模块,用于基于所述总困惑度确定最终语句。
[0040]
优选的是,所述子困惑度确定模块包括第一困惑度计算单元,所述第一困惑度计算单元包括:
[0041]
bert模型输出值确定子单元,用于确定所述候选语句中每个词的bert模型输出值;
[0042]
第一困惑度计算子单元,用于以所述每个词的bert模型输出值的平均值作为所述候选语句的第一困惑度。
[0043]
优选的是,所述子困惑度确定模块包括第二困惑度计算单元,所述第二困惑度计算单元包括:
[0044][0045]
其中,n为句子长度,wi为第i个词或字,p(wn|w1......w
n-1
)是指对于1-gram,其形式为p(wi),对于2-gram,其形式为p(wi|w
i-1
),对于3-gram,其形式为p(wi|w
i-2wi-1
),其中:
[0046]
p(wi|w
i-2wi-1
)=λ3p(wi|w
i-2wi-1
)+λ2p(wi|w
i-1
)+λ1p(wi)+λ0p;
[0047]
其中λi是需要确定的参数,p=1/r,r为语料中出现的词条数,如果在模型中并不存在对应的词的时候利用基于字的ngram模型,在使用回退法进行计算,即先用3-gram,如果不存在,则用2-gram,如果2-gram不存在,则用1-gram,其中1-gram使用的加值平滑法确定。
[0048]
优选的是,所述加权系数确定模块包括:
[0049]
初始化单元,用于随机给定初始的第一加权系数及第二加权系数,其中,第一加权系数与所述第二加权系数之和为1;
[0050]
bert模型归一化单元,用于对于所述bert模型对每个词的计算结果,将其归一化到区间[0,1]上;
[0051]
ngram模型归一化单元,用于对于ngram模型,将对句子最终的处理结果归一化到区间[0,1]上;
[0052]
梯度下降法计算单元,用于将上述处理结果应用到总困惑度计算公式中,采用梯度下降法求解最优的第一加权系数及第二加权系数。
[0053]
本技术第三方面提供了一种计算机设备,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序用于实现如上所述的基于bert模型与ngram模型的语句修正方法。
[0054]
本技术第四方面提供了一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于bert模型与ngram模型的语句修正方法。
[0055]
本技术基于ngram模型的方法中,即融合了基于字和词,又融合的差值法和回退
法,这使得平滑方法更全面。bert存在的信息泄露和对连续空缺文本的还原能力并不突出的问题,正好可以和ngram模型形成互补。bert预训练模型不适合增量训练,而基于ngram的方法是基于统计的方法,可以很容易做到增量。本技术bert模型与ngram模型形成互补,提高了语句修正的准确率。
附图说明
[0056]
图1是本技术基于bert模型与ngram模型的语句修正方法的一优选实施例的流程图。
[0057]
图2是为适于用来实现本技术实施方式的终端或服务器的计算机设备的结构示意图。
具体实施方式
[0058]
为使本技术实施的目的、技术方案和优点更加清楚,下面将结合本技术实施方式中的附图,对本技术实施方式中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施方式是本技术一部分实施方式,而不是全部的实施方式。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。基于本技术中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本技术保护的范围。下面结合附图对本技术的实施方式进行详细说明。
[0059]
本技术主要是针对传统管理存在的问题和弊端,试图通过对供水系统工程管理本质的把握,即按照全生命周期中客户往年真实发生的对于用水量产生的变化趋势,提前制定出物业资产项目下在一个周期中预期的客户用水量的年度计划,并且按照该计划结合项目的设备设施特点提前设计出供水工作计划。本技术利用物业项目水泵及水箱等设备设施的技术参数,按照解决最优供水计划的思路,利用统筹学规划求解的方法予以应对,将可能的风险及意外提前降至最低,进而可以扩展到现代楼宇的各个工程管理设备设施系统加以实践和应用。按照设定的统筹规划数学模型加以深度分析及价值挖掘的统筹信息整合数据通用型技术方法,最终实现以较低的成本投入实现对现代智能楼宇各工程系统的多元信息整合管理控制。
[0060]
本技术第一方面提供了一种基于bert模型与ngram模型的语句修正方法,如图1所示,主要包括:
[0061]
确定所述语句中用于替代错误字词的多个候选目标词,并构成多个候选语句;
[0062]
对于每个候选语句,基于预设的bert模型计算该语句的第一困惑度,基于预设的ngram模型计算该语句的第二困惑度;
[0063]
给定所述第一困惑度的第一加权系数,给定所述第二困惑度的第二加权系数;
[0064]
对所述第一困惑度及所述第二困惑度通过加权的方式确定每个候选语句的总困惑度;
[0065]
基于所述总困惑度确定最终语句。
[0066]
在一些可选实施方式中,基于预设的bert模型计算该语句的第一困惑度包括:确定所述候选语句中每个词的bert模型输出值;以所述每个词的bert模型输出值的平均值作
为所述候选语句的第一困惑度。
[0067]
该实施例中,基于bert计算ppl的句子ppl计算公式为:
[0068]
其中n为句子中词的个数,pi为每个词的bert模型输出值。
[0069]
在一些可选实施方式中,基于预设的ngram模型计算该语句的第二困惑度包括:
[0070]
其中,n为句子长度,wi为第i个词或字,p(wn|w1......w
n-1
)是指对于1-gram,其形式为p(wi),对于2-gram,其形式为p(wi|w
i-1
),对于3-gram,其形式为p(wi|w
i-2wi-1
),其中:
[0071]
p(wi|w
i-2wi-1
)=λ3p(wi|w
i-2wi-1
)+λ2p(wi|w
i-1
)+λ1p(wi)+λ0p;
[0072]
其中λi是需要确定的参数,p=1/r,r为语料中出现的词条数,如果在模型中并不存在对应的词的时候利用基于字的ngram模型,在使用回退法进行计算,即先用3-gram,如果不存在,则用2-gram,如果2-gram不存在,则用1-gram,其中1-gram使用的加值平滑法确定。
[0073]
在一个具体实施例中,p
ci
别指基于词的,p
zi
指基于字的,p指两者的统称,下面是基于词的某个词的概率计算公式,基于字的计算公式与此相同:
[0074]
p
ci
(wi|w
i-2wi-1
)=λ3p
ci
(wi|w
i-2wi-1
)+λ2p
ci
(wi|w
i-1
)+λ1p
ci
(wi)+λ0p
ci

[0075]
在一些可选实施方式中,给定所述第一加权系数及第二加权系数包括:随机给定初始的第一加权系数及第二加权系数,其中,第一加权系数与所述第二加权系数之和为1;对于所述bert模型对每个词的计算结果,将其归一化到区间[0,1]上;对于ngram模型,将对句子最终的处理结果归一化到区间[0,1]上;采用梯度下降法求解最优的第一加权系数及第二加权系数。
[0076]
该实施例中,由于单独利用其中一种方法,不如融合的好,计算句子“彩访时,我们在林毅夫的办公室看到这样一副字因行得知,用知践行,唯成证知,知成一体。”错词为“知成一体”改为“自成一体”,区分两个句子时,bert模型表现不如ngram模型。而计算句子"这一切都让我感到到好奇。"和"这一切都让我赶到好奇。"时,bert模型表现更好,所以将两个模型的结果进行融合。最终ppl计算公式为ppl=λppl
bert
+(1-λ)ppl
ngram
,其中λ是需要确定的参数,ppl
bert
、ppl
ngrem
分别为基于bert模型,和基于ngram模型的计算结果。
[0077]
由于基于bert和ngram得到困惑度是在不同评价体系下计算得到的,所以将分别对两个结果进行归一化。
[0078]
对于bert模型,将每个词的结果分归一化到区间[0,1]上。
[0079]
使用的公式为:
[0080]
p'(wi)=p(wi)/maxw;
[0081]
其中p(wi)为第i词的得分,maxw为一个句子中得分最大的值,
[0082]
对于ngram模型,将对句子最终的结果归一化到区间[0,1],使用的公式为,
[0083]
对于λ的确定随机初始化一个值,然后用梯度下降法进行求解确定,即将上述处理结果应用到总困惑度计算公式中,采用梯度下降法求解最优的第一加权系数及第二加权系
数。
[0084]
本技术第二方面提供了一种与上述方法对应的基于bert模型与ngram模型的语句修正装置,主要包括:
[0085]
候选语句确定模块,用于确定所述语句中用于替代错误字词的多个候选目标词,并构成多个候选语句;
[0086]
子困惑度确定模块,用于对于每个候选语句,基于预设的bert模型计算该语句的第一困惑度,基于预设的ngram模型计算该语句的第二困惑度;
[0087]
加权系数确定模块,用于给定所述第一困惑度的第一加权系数,给定所述第二困惑度的第二加权系数;
[0088]
总困惑度确定模块,用于对所述第一困惑度及所述第二困惑度通过加权的方式确定每个候选语句的总困惑度;
[0089]
最终语句确定模块,用于基于所述总困惑度确定最终语句。
[0090]
在一些可选实施方式中,所述子困惑度确定模块包括第一困惑度计算单元,所述第一困惑度计算单元包括:
[0091]
bert模型输出值确定子单元,用于确定所述候选语句中每个词的bert模型输出值;
[0092]
第一困惑度计算子单元,用于以所述每个词的bert模型输出值的平均值作为所述候选语句的第一困惑度。
[0093]
在一些可选实施方式中,所述子困惑度确定模块包括第二困惑度计算单元,所述第二困惑度计算单元包括:
[0094][0095]
其中,n为句子长度,wi为第i个词或字,p(wn|w1......w
n-1
)是指对于1-gram,其形式为p(wi),对于2-gram,其形式为p(wi|w
i-1
),对于3-gram,其形式为p(wi|w
i-2wi-1
),其中:
[0096]
p(wi|w
i-2wi-1
)=λ3p(wi|w
i-2wi-1
)+λ2p(wi|w
i-1
)+λ1p(wi)+λ0p;
[0097]
其中λi是需要确定的参数,p=1/r,r为语料中出现的词条数,如果在模型中并不存在对应的词的时候利用基于字的ngram模型,在使用回退法进行计算,即先用3-gram,如果不存在,则用2-gram,如果2-gram不存在,则用1-gram,其中1-gram使用的加值平滑法确定。
[0098]
在一些可选实施方式中,所述加权系数确定模块包括:
[0099]
初始化单元,用于随机给定初始的第一加权系数及第二加权系数,其中,第一加权系数与所述第二加权系数之和为1;
[0100]
bert模型归一化单元,用于对于所述bert模型对每个词的计算结果,将其归一化到区间[0,1]上;
[0101]
ngram模型归一化单元,用于对于ngram模型,将对句子最终的处理结果归一化到区间[0,1]上;
[0102]
梯度下降法计算单元,用于将上述处理结果应用到总困惑度计算公式中,采用梯度下降法求解最优的第一加权系数及第二加权系数。
[0103]
本技术第三方面,一种计算机设备,包括处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序用于实现基于bert模型与ngram模型的语句修正方法。
[0104]
本技术第四方面,一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于bert模型与ngram模型的语句修正方法。该计算机可读存储介质可以是上述实施方式中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时按上述方法对数据进行处理。
[0105]
下面参考图2,其示出了适于用来实现本技术实施方式的计算机设备400的结构示意图。图2示出的计算机设备仅仅是一个示例,不应对本技术实施方式的功能和使用范围带来任何限制。
[0106]
如图2所示,计算机设备400包括中央处理单元(cpu)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram403中,还存储有设备400操作所需的各种程序和数据。cpu401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
[0107]
以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
[0108]
特别地,根据本技术的实施方式,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施方式包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(cpu)401执行时,执行本技术的方法中限定的上述功能。需要说明的是,本技术的计算机存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用
于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0109]
附图中的流程图和框图,图示了按照本技术各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0110]
描述于本技术实施方式中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块或单元也可以设置在处理器中,这些模块或单元的名称在某种情况下并不构成对该模块或单元本身的限定。
[0111]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1