基于前缀树合并的中文文本纠错方法技术

技术编号:27936780 阅读:21 留言:0更新日期:2021-04-02 14:17
本发明专利技术提出了一种基于前缀树合并的中文文本纠错方法。首先使用LSTM(长短期记忆网络)作为基础网络提取更深层次的中文文本信息。区别于传统的基于N元模型的纠错方法,使用LSTM语言模型进行候选句合理性打分,并把相似度较高的候选句合并成前缀树型结构。然后,采用多线程流水线方案完成语言模型的概率计算,计算出每个候选句分词的概率。相比较传统的文本纠错技术而言,能够更好地结合句子语义来进行句子合理性打分。此外,本发明专利技术能够有效的减少LSTM语言模型的计算量,大大提高中文文本的纠错速率,能够很好地应用到中文文本自动校正的相关工程里。

【技术实现步骤摘要】
基于前缀树合并的中文文本纠错方法
本专利技术涉及深度学习的相关算法属于自然语言处理和人工智能领域。
技术介绍
随着互联网的发展,越来越多的文字录入技术不断出现在人们的日常工作生活中,如键盘录入、语音识别录入、手写识别录入、OCR识别录入等技术。这些先进的文字录入技术的使用,不断推动着信息的传播,大量电子文本不断涌现,同时由于现阶段文字录入技术的技术限制,不可避免地会出现一些文字误用,庞大的数据量大大增加了文字校对的工作量。因此如何自动检测出文本中的文字误用,并给出错误位置及正确的候选字或词已成为自然语言处理领域的重点研究课题。英语作为国际通用语言,英文文本自动校对技术的研究最早开始于上世纪60年代,到目前为止,英文拼写纠错技术已经相对成熟。在英文拼写纠错研究中,英文是以词为单位,每个单词间有明显的间隔符,因此英文拼写错误主要分为“非词错误”(Non-worderror)和“真词错误”(Real-worderror)两大类。“非词错误”是指单词本身并不存在于词典中,比如“Thankyouverymach”中的“mach”。“真词错误”是指单词本身拼写正确但不符合上下文语法、语义,与上下文搭配不当,比如“threearesomeapples”中的“three”。相较于英文文本纠错的研究,中文文本纠错的研究起步较晚,相对来说也更为困难。中文不同于英文,一个句子中字与字之间没有分隔符,在进行中文文本校对之前往往需要对句子进行分词处理,而中文分词又一直是自然语言处理领域一个较为困难的研究课题。另外,中文文本错误并不存在“非词错误”,因此中文文本纠错任务更加需要注意的是上下文的语义。另一方面,由于汉字中同一个字与其字形或者字音相似的汉字可能会存在很多个,这无疑大大增加了纠错难度。现阶段对中文文本自动校对方法的研究主要有以下三种:(1)基于字的校对方法;(2)基于拼音的校对方法;(3)基于上下文语义的校对方法。这三种方法具体使用的校对规则又可以分为三类:(1)利用文本的一些特征进行纠错,如词性特征、字形特征和上下文特征等;(2)利用一些约定俗成的语法规则、词语搭配等进行纠错;(3)利用概率统计特性进行上下文接续关系分析以判断句子的合理性,该方法常使用N-gram统计语言模型。基于N-gram、RNN语言模型的的自动校对方法在使用N-gram和RNN语言模型进行纠错任务时,利用模型对候选句进行逐一打分以判断句子的合理性,最终将得分最高的候选句作为纠错建议。基于N元模型的纠错算法实现简单,取得了一定的效果,但是这种方法存在两个缺点。一是此方法对原句中的每个字都进行混淆集替换,则生成的候选句数量庞大,计算量庞大导致解码性能较低;二是这种打分机制更倾向于一种硬性打分,依赖于训练预料中的词语出现的频次,频次越高那么概率就会越高,相应的句子合理性得分就会越高。太过于依赖训练语料导致鲁棒性较差,可能会导致某些情况下造成新的错误。而RNN语言模型虽然理论上能够结合上文出现过的历史词信息,但在实际应用中却存在长距离依赖问题,即在长距离序列中存在信息丢失问题,无法有效将两个距离过远的词的信息联系起来。
技术实现思路
基于上述讨论了传统的基于语言模型的中文文本纠错方法在文本自动校对任务中存在的不足,本专利技术提供了一种基于前缀树合并的中文文本纠错方法。本专利技术提出的基于前缀树合并的中文文本纠错方法的特征如下:本专利技术为了克服传统中文文本自动校对技术在中文文本纠错任务中的局限性,研究改进传统的纠错模型,提出一种基于前缀树合并的中文文本纠错方法。该方法引入LSTM神经网络来进行语言模型建模,使其能够结合上下文语义来对候选句合理性进行打分,并对打分策略进行改进,以减少LSTM语言模型的计算复杂度,从而达到优化纠错效率的效果。该方法大大的提高了中文文本的纠错速率,具有更加优异的纠错准确率。本专利技术所述的基于LSTM网络的前缀树合并中文文本纠错算法,包括以下步骤:1)使用LSTM作为基础网络,用于中文文本特征的提取;2)对待纠错的句子中的可疑字利用混淆集进行替换,生成纠错候选句;3)对各个候选句进行分词处理,并将相似的句子成分进行前缀树合并;4)采用多线程流水线方案完成语言模型的计算,计算出每个候选句分词的概率;5)将候选句中各个分词的概率得分进行相乘,得到每个候选句的整体得分;6)根据得分将候选句进行重排序,将得分最高的候选句作为纠错结果输出。上面所述步骤1)中使用LSTM作为基础网络提取中文文本特征,具体包括:传统的N-gram语言模型能结合的历史词信息有限,无法准确把握上下文语义,且存在数据稀疏问题。而RNN语言模型虽然理论上能够结合上文出现过的历史词信息,但在实际应用中却存在长距离依赖问题,即在长距离序列中存在信息丢失问题,无法有效将两个距离过远的词的信息联系起来。故使用LSTM网络作为基础网络结构能够提取更加深层次的特征,且能够有效缓解长距离依赖问题。上面所述步骤2)中利用混淆集对可疑字进行替换生成候选句,具体包括:(1)中文文本中的错字包括音似和形似两种,即错别字和正确字发音相似或者字形相似,因此混淆集的组成包括了音似和形似的字。(2)在利用混淆集对可疑字进行替换时利用BeamSearch搜索算法,该算法是一种启发式的搜索算法,以启发式的方法将可能出现的所有情况进行排序,只保留部分(设置K值,作为最优候选解的数量)候选字作为最优解。上面所述步骤3)、4)为了减少重复性计算,提高计算效率,改良的纠错方法具体包括:将相同词间的LSTM语言模型的概率计算进行前缀树合并。考虑到历史词信息,因此,只要两个候选句之间在某一处产生了词的不同,则会造成中间历史信息的不同。所以,即使后续是相同的两个词间的LSTM语言模型概率的计算也不再能进行合并。在对前缀树型结构的候选句进行词间对概率计算时,只需要在使用广度遍历时将每两个词对间概率计算的任务加入到线程池的队列任务中,即可进行多线程任务同时计算。步骤5)、6)是对候选句的合理性进行打分并进行排序,将得分最高的候选句作为最早的纠错结果进行输出。本专利技术的主要效果是针对中文文本纠错准确率和纠错速率的提升。具体如下:评价该模型的性能度量指标为纠错召回率(CR)、纠错准确率(CP)、综合性能指标F值(F)和纠错耗时(T),准确率和召回率在信息检索和统计学分类领域有着广泛的应用,对于衡量结果的优异起着重要作用。具体计算公式如下:T=t2-t1(4)其中,A表示正确纠正的错误句子数量,M表示所有测试句子数量,C表示系统检测到错误的所有句子数量,t1表示校对开始时间,t2表示校对结束时间。附图说明图1为本专利技术纠错流程图图2为LSTM神经网络结构图图3为本专利技术文本纠错模型图图4为原始的纠错候选句结构图图5为改良后的纠错候选句的前缀树型结构图具体实施方式中文文本自动本文档来自技高网
...

【技术保护点】
1.本专利提出一种基于前缀树合并的中文文本纠错方法。该方法引入LSTM神经网络来进行语言模型建模,使其能够结合上下文语义来对候选句合理性进行打分,并对打分策略进行改进,以减少LSTM语言模型的计算复杂度,从而达到优化纠错效率的效果。该方法大大的提高了中文文本的纠错速率,具有更加优异的纠错准确率。/n本专利算法模型结构主要包括以下步骤:/n1)使用LSTM作为基础网络,用于中文文本特征的提取;/n2)对待纠错的句子中的可疑字利用混淆集进行替换,生成纠错候选句;/n3)对各个候选句进行分词处理,并将相似的句子成分进行前缀树合并;/n4)采用多线程流水线方案完成语言模型的计算,计算出每个候选句分词的概率;/n5)将候选句中各个分词的概率得分进行相乘,得到每个候选句的整体得分;/n6)根据得分将候选句进行重排序,将得分最高的候选句作为纠错结果输出。/n

【技术特征摘要】
1.本专利提出一种基于前缀树合并的中文文本纠错方法。该方法引入LSTM神经网络来进行语言模型建模,使其能够结合上下文语义来对候选句合理性进行打分,并对打分策略进行改进,以减少LSTM语言模型的计算复杂度,从而达到优化纠错效率的效果。该方法大大的提高了中文文本的纠错速率,具有更加优异的纠错准确率。
本专利算法模型结构主要包括以下步骤:
1)使用LSTM作为基础网络,用于中文文本特征的提取;
2)对待纠错的句子中的可疑字利用混淆集进行替换,生成纠错候选句;
3)对各个候选句进行分词处理,并将相似的句子成分进行前缀树合并;
4)采用多线程流水线方案完成语言模型的计算,计算出每个候选句分词的概率;
5)将候选句中各个分词的概率得分进行相乘,得到每个候选句的整体得分;
6)根据得分将候选句进行重排序,将得分最高的候选句作为纠错结果输出。


2.基于权利要求1中所述的基于前缀树合并的中文文本纠错方法,其特征在于:采用基于LSTM的seq2seq中文纠错模型,Encoder和Decoder两端都采用LSTM神经网络模型。前人使用一些更加简单的N-gram和RNN神经网络进行特征提取,特征不够充分,不能够较好的结合句子语义进行纠错,而LSTM网络作为基础网络结构能够提取更加深层次的特征,且能够有效缓解长距离依赖问题。纠错模型具体如下:
纠错模型Encoder端负责将输入句子编码成固定维度的语义向量,Decoder端负责将语义向量结合中间语义向量进行解码,模型的目标从统计的角度来看,就是需要通过模型的计算来获得一个概率分布,以此来描述在输入句子错误的情况下获得正确的句子的概率。
模型运算时Encoder端每一时序的输出可由公式(1)得到:
h<t>=f(h<t-1>,wt)(1)
其中,h<t>、h<t-1>、wt分别表示t时刻隐藏层的输出、t-1时刻隐藏层的输出和当前时刻输入的词语,而f函数是一个LSTM计算单元。
中间语义向量C可由公式(2)得到:



在获得中间语义向量之后,t时刻Decoder端可以根据上一时刻的隐藏层输出h<t-1>、上一时刻的解码结果ct-1和中间语义向量来获得当前时刻的隐藏层输出h<t>。每个时刻的隐藏层输出h<t>可由公式(3)表示:
h<t>=f(h<t-1>,ct-1,C)(3)
在获得t时刻的隐藏层输出h<t>后,对应t时刻的字符ct的概率就可以用公式(4)得到:
P(ct|ct-1,ct-2,ct-3,...,c1,C)=softmax(h<t>,ct-1,C)(4)。...

【专利技术属性】
技术研发人员:曾浩杨宗宇李红艳
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆;50

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

1