[发明专利]基于前缀树合并的中文文本纠错方法在审
申请号: | 202011602322.5 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112597771A | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 曾浩;杨宗宇;李红艳 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | G06F40/289 | 分类号: | G06F40/289;G06F40/30;G06N3/04 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 400065*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 前缀 合并 中文 文本 纠错 方法 | ||
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)。
3.基于权利要求1中所述的基于前缀树合并的中文文本纠错方法,其特征在于:相较于传统的中文文本纠错方法使用N-gram和RNN语言模型,本专利使用结构更加复杂的LSTM语言模型,以更好地结合历史词信息进行纠错。通过将候选句相似部分进行前缀树合并处理,并采用多线程流水线方案完成语言模型的计算,使得纠错效率得到明显的提升。
所述前缀树合并以及多线程流水线方案具体为:
原始的纠错候选句都为独立的句子,将相似部分进行合并形成前缀树型结构,每个叶子节点表示一个词,对于大词汇量任务具有更好的数据共享功能,可以更有效地进行裁剪。然后进行多线程流水线打分操作。
流水线优化方案最常用的指令集是TMS320C62xx/C67xx,它独特的结构可以在并行8条指令的同时通过流水线的每个节拍,使得系统在单位时间内成功传送数据的数量大大提升。由于纠错过程中候选句的数量N是固定的,前缀树最多有N个分支,即同一时间最多有N个词间对在进行概率计算。因此,考虑使用预先创建一个由N个线程构建的线程池的方法,通过树的分叉不断变多,激活的线程数也不断变多,最终N个线程全部被激活。假设有一个待纠错的句子,其可疑字经混淆集替换后生成6个候选句,那么可以预先构建一组有6个线程的线程池。一开始由于当前任务队列为空,所有线程池中的线程都处于休眠状态。当需要计算候选句概率时,使用广度遍历的方法遍历此前缀树,每遍历到一个新的分词结果就创建一个词间对计算任务,并设置该词间对概率计算的启动条件为该词的前一词间对概率计算已完成。然后激活第一个词间对的概率计算。
例如在对错误句子“人民教师收到学生的遵敬”进行检错后发现“收到”、“遵敬”两处存在错误,利用混淆集对其进行替换可能生成以下候选句:
候选句1:人民教师收到学生的遵敬
候选句2:人民教师授道学生的遵敬
候选句3:人民教师受到学生的遵敬
候选句4:人民教师受到学生的尊敬
候选句5:人民教师授道学生的尊敬
候选句6:人民教师收到学生的尊敬
通过上述处理后,可以将6个候选句合并成树型结构,看成是一种数据流驱动型结构,即第一个词对“Start”→“人民”间的概率算完成后驱动后续“人民”→“教师”间的概率计算。然后再依次驱动“教师”→“收到”、“教师”→“受到”、“教师”→“授道”间的概率计算,这里可以同时使用三个不同的线程进行计算加速。之后这3个线程又分别驱动后续的词间对概率计算,以此类推,直到分裂出6个分支,即6个线程同时进行词间对概率计算。本发明主要是针对中文文本自动校正技术中纠错模块进行改进,减少LSTM语言模型的计算量,达到提高纠错效率的效果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011602322.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:加热装置的加热器
- 下一篇:一种抗病毒新型医用外科口罩