利索能及
我要发布
收藏
专利号: 2022107424127
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-07-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于在线搜索辅助的中文文本纠错方法,其特征在于,包括以下步骤:S1:将待纠正的原始语句进行分句,分句的依据为原始语句所包含的词语数量;

S2:将步骤S1分句后的语句通过搜索引擎进行查询,将前三十条查询结果的标题和摘要部分进行爬取并保存到本地;

S3:基于步骤S2获得的三十条查询结果,进行分词和统计词频,然后构建词频表;

S4:基于步骤S2获得的三十条查询结果,对其进行新词发现,将新词发现的结果加入jieba词表,再根据变化后的jieba词表对原始语句进行分词,获得原始语句分词后的结果;

S5:基于步骤S3获得的通过搜索引擎查询构建得到的词频表和步骤S4得到的原始语句分词结果,进行检错,使用原始语句分词结果在词频表中进行查询,如果某个词在词频表中的词频值小于阈值,则认为该词可能有误,作为可疑词;

S6:基于步骤S4获得的原始语句分词结果,进行未登录词检错补充,将未在jieba词库中的未登录词加入可疑词中;

S7:进行概率检错补充,将原始语句通过原始GPT‑2模型,获得每个字的概率值,如果某字的概率值明显小于其他字的概率值,将该字加入可疑词中;

S8:基于步骤S7获得的可疑词,依次获得可疑词在原始语句中的上下文信息text_ori,以一个可疑词和对应的上下文信息text_ori为一对的方式存储;获得上下文信息的方式为根据距离,获取在原始语句中离可疑词距离为x以内的词作为上下文信息text_ori;

S9:基于步骤S8获得的可疑词在原始语句中的上下文信息text_ori和步骤S2通过搜索引擎查询到的结果,依次获得text_ori在搜索引擎查询到的结果中的上下文信息text_search,此时的上下文信息text_search作为候选词,以一个可疑词和对应的候选词为一对的方式存储,仍然使用根据距离的方式,分别获取搜索引擎查询到的结果中距离text_ori为2,4,6的词作为上下文信息text_search;

S10:基于步骤S9获得的候选词,分别计算候选词与对应的可疑词的拼音编辑距离和结构相似度;其中,结构相似度使用预先构建好的孪生网络进行计算;

S11:基于步骤S10获得的候选词与对应的可疑词的拼音编辑距离和结构相似度和步骤S3得到的词频表,使用topsis算法,基于词频、拼音编辑距离和结构相似度计算得分,选取得分最高的前8个候选词作为可疑词的候选词;

S12:基于步骤S7获得的可疑词,筛选出在jieba词表内与可疑词拼音编辑距离小的词和结构相似度高的词,也作为可疑词的候选词加入到步骤S10获得的可疑词的候选词中;

S13:基于步骤S2获得的搜索引擎查询结果,构建3‑gram词表,使用n‑gram算法,选择出出现在可疑词位置的词,也作为可疑词的候选词加入到步骤S10获得的可疑词的候选词中;

S14:基于步骤S13获得的可疑词的候选词和步骤S6获得的可疑词,将原始语句中的可疑词用可疑词对应的候选词做排列组合式替换,获得候选句集,因为原始语句无误,因此候选句集中再加入原始语句;

S15:基于步骤S14获得的候选句集,使用原始GPT‑2模型计算整个候选句的困惑度,选择困惑度最低的句子作为最终结果。

2.根据权利要求1所述的基于在线搜索辅助的中文文本纠错方法,其特征在于,S1中将待纠正的原始语句进行分句,分句条件为,先对原始语句使用jieba进行分词,如果原始语句分词结果的词语个数大于等于15,则按照句号、问号、感叹号、分号将原始语句进行切分,如果在切分后的短句中,词语个数仍然大于等于15,则按照逗号继续切分;S3中将爬取到的三十条查询结果的标题和摘要,使用jieba分词,将它们分为词语,然后统计每个词出现的次数,出现次数即为这个词的词频,将每个词和它对应的词频保存下来,作为词频表。

3.根据权利要求1所述的基于在线搜索辅助的中文文本纠错方法,其特征在于,S4中对查询结果进行新词发现,采用新词发现算法,主要分为3个步骤:a)将语料文本生成n‑gram表,并统计每个词的词频,b)利用凝固度从之前的n‑gram表中筛选出备选新词,c)再通过自由度从备选新词中筛选出最终的新词;给定一个原始语句S,分词后的结果为x1,x2,…,xn;

凝固度用点间互信息表示,公式为:

其中,PMI(x,y)是点间互信息,p(x,y)是指两个词一起出现的概率,p(x),p(y)是指各词出现的概率;凝固度越大,说明这两个词出现在一起的概率越大,是一个词语的可能性也就越大;

自由度用左右熵表示,左右熵公式分别为为:

其中,ELeft(PreW)表示左熵,ERight(SufW)表示右熵,PreW是词W前缀的集合,SufW是词W后缀的集合,自由度越大,说明它的周边词越丰富,其成为一个独立的词的可能性也就越大。

4.根据权利要求1所述的基于在线搜索辅助的中文文本纠错方法,其特征在于,S5中使用原始语句分词结果在词频表中进行查询,进行检错,具体是指:在已经构建好的词频表中,依次查询原始语句分词结果x1,x2,…,xn在词频表中的词频值c1,c2,…,cn,选择c1,c2,…,cn中的最大值cmax作为基准,若其他词的词频值ck(k≠max)小于5%*cmax,则认为该词可能有误,若该词不在可疑词中,则加入到可疑词中;S6中所述的未登录词检错补充,具体是指:在jieba词表内查找原始语句分词结果x1,x2,…,xn,如果词语x不在jieba词表内,则认为该词可能有误,加入到可疑词中;S7中所述的概率检错补充,具体是指:句子S由词语x1,x2,…,xn组成,而GPT‑2模型输入真实前文x1,x2,…,xm‑1,获得下一个词xm′可能的词和其对应的概率值构成的概率值表;根据每个原始语句的真实词xm获得在概率值表中的概率p1,p2,…,pn,计算其中的中位值pm,如果有词语xm的概率值小于中位值10%*pm,则认为该词可能有误,若该词不在可疑词中,则加入到可疑词中。

5.根据权利要求1所述的基于在线搜索辅助的中文文本纠错方法,其特征在于,S8中获得可疑词在原始语句中的上下文信息text_ori,具体是指:假设现有原始语句S,S由词语x1,x2,……,xn组成,可疑词为xk,根据距离公式:dis=min(3,worknum//2)

其中,wordnum代表分词后的词语个数,通过计算得到距离dis,获得原始语句中距离可疑词xk为dis及以内的所有词语,作为xk的上下文信息text_ori,text_ori=xk‑dis,xk‑dis+1,…,xk‑1,xk+1,…,xk+dis;S9中获得上下文信息text_ori在搜索引擎查询到的结果中的上下文信息text_search,具体是指:在保存到本地搜索引擎查询到的三十条结果内容中,根据预设距离获得上下文信息text_ori的上下文信息text_search,搜索引擎的一条结果为S′,由词语x′1,x′2,…,xj′组成,现有原始语句S,S由词语x1,x2,…,xn组成,可疑词为xk,xk‑dis,xk‑dis+1,…,xk‑1,xk+1,…,xk+dis是xk的上下文信息text_ori;需要对每个上下文信息text_ori,都在S′中根据距离寻找上下文信息text_search,距离分别选取2,4,6;对于上下文信息text_ori中的xk‑dis,若xk‑dis也在S′中出现,则x′k‑dis‑2,x′k‑dis‑1,xk‑dis+1′,xk‑dis+2′是xk‑dis在S′中距离为2的上下文信息text_search,x′k‑dis‑4,…,x′k‑dis‑1,x′k‑dis+1,…,x′k‑dis+4是x1在S′中距离为4的上下文信息text_search,x′k‑dis‑6,…,x′k‑dis‑1,x′k‑dis+1,…,x′k‑dis+6是x1在S′中距离为6的上下文信息text_search;以此类推对xk‑dis+1,…,xk‑1,xk+1,…,xk+dis做相同的操作,获得上下文信息text_search;将这些上下文信息text_search作为对应可疑词的候选词。

6.根据权利要求1所述的基于在线搜索辅助的中文文本纠错方法,其特征在于,S10中计算候选词与对应的可疑词的拼音编辑距离和结构相似度,具体是指:编辑距离是从一个字符串变到另一个字符串的最小编辑次数,其中每次编辑只能在字符串中插入一个字符、删除一个字符或者修改一个字符;而拼音编辑距离是两个汉语转换为无音标的拼音后的编辑距离;拼音编辑距离公式如下:

pydis=LS(py1,py2)

其中,pydis表示拼音编辑距离,LS表示编辑距离计算,py1,py2分别表示两个词的无音标拼音;

结构相似度使用预先训练的孪生网络进行图形相似度计算来获取;孪生网络是连体的神经网络,其中的两个神经网络共享参数权重;孪生神经网络有两个输入graph1,graph2,将两个输入放入两个神经网络Network1和Network2,在获得主干特征提取网络之后,获取到一个多维特征,将其平铺到一维上,就获得两个输入的一维向量,将这两个一维向量进行相减,再进行绝对值求和,相当于求取了两个一维向量的距离,然后对这个距离进行全连接,对结果取sigmoid,使其值在0‑1之间,代表两个输入图片的相似程度;

使用OpenCV,将每一个汉字ck的不同字体形式生成图片 同一汉字ck的不同字体图片 都视为同一类型,不同汉字视为不同类型;训练时,当两个输入指向同一个类型的图片时,此时标签为1,当两个输入指向不同类型的图片时,此时标签为0,然后将网络的输出结果和真实标签进行交叉熵运算,就作为最终的loss,结构相似度公式如下:similarity=Graphsimi(graph1,graph2)其中,similarity为结构相似度,Graphsimi为孪生网络模型,graph1,graph2分别为使用两个词语生成的词语图片,作为孪生神经网络的两个输入。

7.根据权利要求1所述的基于在线搜索辅助的中文文本纠错方法,其特征在于,S11中所述的使用topsis算法,基于词频、拼音编辑距离和结构相似度计算得分,具体是指:topsis算法是根据有限个评价对象与理想化目标的接近程度进行排序的方法,首先对数据进行正向化处理,正向化处理是指将各个评价指标都处理成越大越好,评价指标为候选词的词频、候选词与可疑词的拼音编辑距离以及候选词与可疑词的结构相似度,词频,结构相似度都是越大越好,因此不用处理,而拼音编辑距离是越小越好,因此取拼音编辑距离的倒数作为评价指标;即,评价指标为以下三点:①词频,② pydis为拼音编辑距离,③结构相似度similarity;

然后对数据进行标准化处理,这是为了消除不同的数据指标量纲的影响,标准化公式如下:

其中,zij表示标准化后的第i个方案的第j个指标的值,xij表示原数据中的第i个方案的第j个指标;

+ ‑ +

然后确定各项指标的最优理想值z 和最劣理想值z ,最优理想值z的各属性值是各候‑

选方案中最好的值,也就是每个指标里最大的值,而最劣理想值z是每个指标里最小的值,然后求出各个方案与最优理想值和最劣理想值之间的欧氏距离,对于第i个方案zi,它与最优解的距离公式如下:

其中, 表示第i个方案zi与最优解的距离,m表示指标数, 表示第j个指标的最大值,zij表示标准化后第i个方案第j个指标的值;

对于第i个方案zi,它与最劣解的距离公式如下:其中, 表示第i个方案zi与最劣解的距离,m表示指标数, 表示第j个指标的最大值,zij表示标准化后第i个方案第j个指标的值;

第i个方案的评分公式如下:

其中,Si表示第i个方案的评分;

由此得出各方案与最优方案的接近程度,作为评价方案的优劣标准,最后得到各个方案的优劣值。

8.根据权利要求1所述的基于在线搜索辅助的中文文本纠错方法,其特征在于,S12中筛选出在jieba词表内与可疑词拼音编辑距离小的词和结构相似度高的词,具体是指:将可疑词x按照字粒度切分为n个字c1,c2,…,cn,然后对每个字cm在jieba词表内寻找拼音编辑距离小于等于1的所有字c1′,c2′,…,cl′,将这些字c1′,c2′,…,cl′按照字cm在可疑词x里的位置进行排列组合,即和c1拼音编辑距离小于等于1的字在第一个位置,和c2拼音编辑距离小于等于1的字在第二个位置,以此类推,组合后生成的词若登录在jieba词表内,则认为该词是正常词,也作为可疑词的对应候选词。

9.根据权利要求1所述的基于在线搜索辅助的中文文本纠错方法,其特征在于,S13中所述的使用n‑gram算法,选择出出现在可疑词位置的词,具体是指:对于n‑gram算法,假设第n个词出现的概率只和前n‑1个词有关,因此句子的概率分布如下:其中,P(s)是整个句子的概率,wn是组成句子的词语, 表示第wi个词到wi‑n+1个词的历史序列, 表示给定历史序列的词的前提下,当前词出现的概率;使用3‑gram算法,句子的概率分布如下:

P(s)=P(w1|w0,w‑1)P(w2|w1,w0)…P(wi|wi‑1,wi‑2)将通过搜索引擎查询得到的三十条信息用3‑gram算法构建3‑gram表,以(wi‑1,wi‑2,wi)的方式存储;遍历待纠错的原始语句S,S由词语x1,x2,…,xn组成,若存在xi‑2=wi‑2,xi‑1=wi‑1,则将wi认为是用来替代xi的候选词;S14中将原始语句中的可疑词用可疑词对应的候选词做排列组合式替换,获得候选句集,具体是指:对于原始语句S,S由词语x1,x2,…,xn组成,现有可疑词xi,xj,…,xk,依次将xi用xi的候选词替换,xj用xj的候选词替换,……,xk用xk的候选词替换,生成候选句集。

10.根据权利要求1所述的基于在线搜索辅助的中文文本纠错方法,其特征在于,S15中所述的使用原始GPT‑2模型计算整个候选句的困惑度,具体是指:对于给定的语句,若其长度为n,首先将其向左移动一位作为label,将其去除末位作为input,将input输入到GPT‑2获得的输出与label做交叉熵损失Cross Entropy Loss,再求以自然数为底的次方即为所求困惑度;困惑度是用来衡量语言概率模型优劣的一个方法,困惑度越小,表明句子越合理;计算困惑度公式如下:

out=GPT‑2(input)

loss=CrossEntropyLoss(out,label)PPL=ln loss

其中,给定句子S,S由词语x1,x2,…,xn组成,input=x1,x2,…,xn‑1,label=x2,…,xn,PPL为所求的困惑度;将所有候选句集和原始语句进行困惑度计算,从中选择困惑度最小的句子作为最终的纠错结果。