CN109858023B - 一种语句纠错装置 - Google Patents
一种语句纠错装置 Download PDFInfo
- Publication number
- CN109858023B CN109858023B CN201910008704.6A CN201910008704A CN109858023B CN 109858023 B CN109858023 B CN 109858023B CN 201910008704 A CN201910008704 A CN 201910008704A CN 109858023 B CN109858023 B CN 109858023B
- Authority
- CN
- China
- Prior art keywords
- word
- words
- sentence
- error
- module
- 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
技术领域
本申请涉及机器学习领域,尤其涉及一种语句纠错装置。
背景技术
互联网出现以来,行业细分网站得到了蓬勃发展,特别是移动互联网的出现,例如餐饮评论、电影评论、汽车评论等网站,如雨后春笋般成长起来,并有许多网站运营状况良好,甚至在各大股票市场得以上市。
上述网站的用户众多,用户会自己编辑很多内容(即用户生成内容,UGC)上传到网站,网站可以通过对用户生成的内容进行挖掘,从而寻找到商业机会,并使网站能够寻找到收入增长点。
但是,用户生成内容会存在错误,这些错误的存在会对数据挖掘的结果造成不利影响。现有技术中,需要人工对海量的数据进行人工校对,需要耗费较高的人力及时间成本,虽然更专业准确,但是校对过程效率较低;其次,人工校对是对通用语料进行校对,不能针对某一专有领域的语料进行校对,导致准确率低;最后,人工校对针对规范的文本效果更好,如果文本不规范,例如,用户评论文本中会包含很多口语和新词,也会影响校对的准确率。
发明内容
有鉴于此,本申请提出了一种语句纠错装置。
根据本申请的一个方面,提出了一种语句纠错装置,该装置包括:
检测模块,用于利用语言模型检测语句中的错误词;
生成模块,用于针对所述错误词生成词的候选词集;
替换模块,用于利用所述词的候选词集中的词替换所述语句中的所述错误词;
纠错模块,用于计算替换所述错误词后的语句的困惑度,选择困惑度最优的语句作为纠错后的语句。
优选地,该装置还包括预纠错模块,用于利用常见错误集对所述语句进行预纠错。
优选地,所述语言模型包括分词后的文本训练Bigram语言模型、分字后的文本训练Bigram语言模型、和/或分字后的文本训练Trigram语言模型。
优选地,生成模块,还用于替换所述错误词的每个字生成所述词的候选词集;根据与所述错误词的编辑距离生成所述词的候选词集;和/或利用搜索引擎生成所述词的选词集。
优选地,所述纠错模块,还用于根据下式计算替换所述错误词后的语句的困惑度:
PP(S)=2H(S);
其中,PP(S)为语句S的困惑度,l为句子S的长度,P(S)为语句S的概率,
P(S)=P(w1)P(w2|w1)P(w3|w1w2)P(w4|w1w2w3)…P(wn|w1w2…wn-1);
S=w1w2w3…wn,其中w1至wn是字或词。
优选地,该装置还包括:
挖掘模块,用于对样本文本进行数据挖掘,得到词;
聚类模块,用于将同音词、近同音词、和/或形近词进行聚类;
认定模块,用于在聚类后的词不存在于预先构造的中文词库中的情况下,认定该词为错误词;
构造模块,用于根据错误词出现的概率,构造常见错误集。
优选地,检测模块,还用于检测词是否为真词,其中真词为中文词库中存在的词。
优选地,检测模块,还用于在检测到词不是真词的情况下,根据词的自由度和凝固度确定该词是否为新词;
纠错模块,还用于在确定该词为新词的情况下,不再对该词纠错;
Pi是文本中的字或词i的概率,Pi,j是文本中的字或词i与文本中的字或词j的概率,i、j、q、n均为正整数。
优选地,检测模块,还用于计算所述语句中每个字能够结合上下文组成的词语分数;对每个字所组成的词语的分数取平均值;如果语句中字的得分大于阈值且字的平均得分小于得分的均值,则该词为错误词;
其中,针对语句S=w1w2w3…wn,每个字wi的得分为scorewi;
语句中所有字的得分的标准差:
根据本申请的技术方案,本发明可以在海量语料数据的基础上训练,并可以得到自动检测并纠正用户生成内容错误的识别模型,能够节约人力,省时且高效。
本申请的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施方式及其说明用于解释本申请。在附图中:
图1为本申请实施例提供的语句纠错装置示意图;
图2为本申请提供的建立常见错误集流程图;
图3为本发明实施例提供的语句纠错流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施方式及各个实施方式中的特征可以相互组合。
下面将参考附图并结合实施方式来详细说明本申请。
图1示出了本申请提供的语句纠错系统,该系统包括:
检测模块,用于利用语言模型检测语句中的错误词;语言模型可以根据训练数据进行训练得到,例如基于N-Gram模型进行训练;N可以为1、2和/或3。除非另有说明,本申请实施例中,词和词语具有相同的含义。
生成模块,用于针对所述错误词生成词的候选词集;对于检测出的错误词,可以生成该错误词对应的候选词集,例如替换所述错误词中的每个字生成候选集;根据与所述错误词的编辑距离生成所述词的候选词集;和/或利用搜索引擎生成所述词的选词集。
替换模块,用于利用所述词的候选词集中的词替换所述语句中的所述错误词;可以使用候选词集中的全部或部分替换错误词,通过候选词集的各种不同组合对相应的错误词的组合进行替换,替换后的语句作为纠错模块的计算对象。
纠错模块,用于计算替换所述错误词后的语句的困惑度,选择困惑度最优的语句作为纠错后的语句。计语句的困惑度可以根据下式计算:
PP(S)=2H(S);
其中,PP(S)为语句S的困惑度,l为句子S的长度,P(S)为语句S的概率,
P(S)=P(w1)P(w2|w1)P(w3|w1w2)P(w4|w1w2w3)…P(wn|w1w2…wn-1);
S=w1w2w3…wn,其中w1至wn是字或词。
为了提高纠错的准确率和稳定性,可以分别对对正序和倒序的文本进行训练,其中,用按字分割的文本训练Bigram和Trigram语言模型;用按词分割的文本训练Bigram语言模型。
N-Gram语言模型的基本算法描述如下:
假设句子中的词序列为S=w1w2w3…wn,其中w1至wn是句子中的字或词;
句子的概率P(S)=P(w1w2w3…wn)=P(w1)P(w2|w1)P(w3|w1w2)P(w4|w1w2w3)…P(wn|w1w2…wn-1);
Bigram模型:
P(w1w2w3…wi)=P(w1)P(w2|w1)P(w3|w2)P(w4|w3)…P(wi|wi-1);
Trigram模型:
P(w1w2w3…wi)=P(w1)P(w2|w1)P(w3|w1w2)P(w4|w2w3)…P(wi|wi-2wi-1)
用来计算P(S)或P(wn|w1w2…wn-1)的模型称为语言模型。
其中,Count(wi)表示语料库中wi出现的次数,Count(total words)表示语料中的总词数;Count(wi-1wi)表示语料库中wi-1和wi一起出现的次数。
优选地,该装置还包括挖掘模块、聚类模块、认定模块、预纠错模块、构造模块以及预纠错模块。挖掘模块,用于对样本文本进行数据挖掘,得到词;聚类模块,用于将同音词、近同音词、和/或形近词进行聚类;认定模块,用于在聚类后的词不存在于预先构造的中文词库中的情况下,认定该词为错误词;构造模块,用于根据错误词出现的概率,构造常见错误集;预纠错模块,用于利用常见错误集对所述语句进行预纠错。
本申请实施例中,为了确定真词,需要预先建立中文词库。中文词库整合了字典、词典中的中文词汇,以及网络用语,例如百度输入法和搜狗输入法的词库中的网络用语。此外,还可以针对具体应用的领域,纳入该领域中特有的词语,例如汽车领域中的词汇,包括品牌、车款等等;还可以收集常用的口语词汇。本申请实施例中,能够在中文词库中查找到的词为真词
在进行句子纠错时,首先要进行分词,将分词的结果再中文词库中查询,如果查询到了则认为是真词,否则可以判断该词是否为新词。本申请实施例中,对于新词的判断可以依据词的自由度和凝固度来判断其是否为新词,如果为新词的话,可以不再进行纠错。词的自由度和凝固度可以根据下式计算。
Pi是文本中的字或词i的概率,Pi,j是文本中的字或词i与文本中的字或词j的概率,i、j、n均为正整数。
本申请实施例中,为了提高纠错的效率,还进一步建立了常见错误集。如图2所示,建立常见错误集的具体流程包括:
步骤205,将同音词、近音词、形近词聚类;示例如下:
步骤210,对于聚类后的每一类词,判断中文词库中是否存在该词;如果存在的话,则为正确的词,即真词,否则将该类词加入常见错误集;一般而言,常见错误集中的词都有对应正确词,比如同音词聚类后得到:宝骏,宝俊;钣金,扳金,可以判断宝骏、钣金为正确词。宝俊、扳金加入常见错误集。在本申请实施例中,如果句子中出现了宝俊、扳金就按照宝骏、钣金对应纠正。
步骤215,根据错误词的概率对常见错误集进行优化,例如错误词的概率大于阈值,则将该词保留在常见错误集中;
用语言模型计算该词中每个字的分数,所有字的分数平均值作为错误词的概率。错误概率高的保留在常见错误集中,概率低的删去。这里的阈值可以设置的比较高,避免常见错误集中混入一些非错误词。
例如,针对语句“车子燥音大”,Bigram模型分数计算为:
“燥”=(“子燥”+“燥音”)/2;
“音”=(“燥音”+“音大”)/2;
从而,可以得到“燥音”的概率。通过设定相应的阈值,可以将错误率高的词保留在常见错误集中。
步骤220,剔除需要依据上下文判断的词汇。可以通过语义分析来剔除需要依据上下文判断的词汇,或者可以通过人工剔除需要依据上下文判断的词汇。
在建立常见错误集以后,在对语句进行纠错以前,可以根据常见错误集进行预纠错。例,常见错误集中具有“宝俊”,语句中出现“宝俊”的情况下,可以直接替换为正确词“宝骏”,不需再通过之后的模型检测。
检测模块,还用于利用语言模型计算句子中词的分数,例如计算句子中每个字结合上下文能组成的2字词和3字词的分数;根据每个字结合上下文能组成的2字词和3字词的分数,对每个字的得分计算平均值,得到一个句子中每个字的得分scorewi;计算句子中字的得分,判断计算后的分数,若大于阈值且字的平均得分小于得分的均值,加入待纠错集。
句子S=w1w2w3…wn,每个字wi的得分为scorewi
句子中所有字的得分的标准差:
设阈值为r,对句子中的字wi
例如,针对语句“车子燥音大”,其文字和位置如下表所示:
文字 | 车 | 子 | 燥 | 音 | 大 |
位置 | (0,1) | (1,2) | (2,3) | (3,4) | (4,5) |
语言模型会对每个字打分,根据分数给出错误的位置。单个的错误位置表示一个字,加入待纠错集;连续的错误位置会合并成一个词,加入待纠错集。比如返回的错误位置(2,3),加入待纠错集的就是“燥”,生成“燥”的候选集。如果返回的错误位置是(2,3),(3,4),就会合并成(2,4),加入待纠错集的就是“燥音”,生成“燥音”的候选集。
待纠错集包括两部分:一个部分是既不是真词也不是新词的词,另一个部分是语言模型检测到的错误词。
在生成候选词集的时候,利用候选集中的字替换所述错误词生成所述词的候选词集,例如同音同调(例如防、坊)的替换,同音异调(例如放、访)的替换,近音同调(例如行、汾)的替换,近音异调(例如分、恨)的替换,同部首同笔画数(例如妞、妒)替换,不同部首形近字(例如方、防)替换,形近字(坊、仿)替换。
在利用编辑距离产生的候选词的时候,找出词中字的不同顺序情况下组成的和原词编辑距离为1的词;对缺字情况,将常用字(一般3500个左右)的所有字分别插入原词的不同位置。若组成的词在中文词库中,添加进候选词集。
利用搜索引擎时,例如百度搜索引擎,直接将引擎提示的正确词加入候选词集。例如,搜索“胎燥”,提示“胎噪”。
需要说明的是,在实施本发明时,为了达到更好的效果,可以对待处理的语句进行清洗和/或预处理,例如删除重复的语句,补充丢失的词语,除去标点符号,分词等等。
图3示出了本发明实施例提供的语句纠错流程图,具体包括:
步骤305,接收待纠错的语句;
步骤310,对待纠错的语句进行预处理;
步骤315,利用常见错误集纠正待纠错的语句中的常见错误;
步骤320,检测预处理后的词语是否为真词;优选地,还可以检测预处理后的词语是否为新词;优选地,对于既非真词也非新词的词,可以作为错误词加入待纠错集;
步骤325,对语句利用语言模型检测错误;利用语言模型检测出语句可能存在的错误词;该步骤与上步骤中得到的结果可能存在交集。
例如:句子S=w1w2w3w4w5,待纠错集E;
W1不是真词,也非新词,加入待纠错集E={w1};
语言模型检测出w1,w2是错误,加入待纠错集E={w1,w2};
步骤330,确定是否存在错误;
步骤335,如果没有错误的话,直接输出语句;
步骤340,如果存在错误的话,针对错误词生成候选集;
步骤345,根据候选集得到候选的语句,并计算候选语句的困惑度;
步骤350,基于候选语句的困惑度,确定正确的语句;
步骤355,输出正确的语句。
以上所述仅为本申请的较佳实施方式而已,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (5)
1.一种语句纠错装置,其特征在于,该装置包括:
检测模块,用于利用语言模型检测语句中的错误词;
生成模块,用于针对所述错误词生成词的候选词集;
替换模块,用于利用所述词的候选词集中的词替换所述语句中的所述错误词;
纠错模块,用于计算替换所述错误词后的语句的困惑度,选择困惑度最优的语句作为纠错后的语句;
所述纠错模块,还用于根据下式计算替换所述错误词后的语句的困惑度:
PP(S)=2H(S);
其中,PP(S)为语句S的困惑度,l为句子S的长度,P(S)为语句S的概率,
P(S)=P(w1)P(w2|w1)P(w3|w1w2)P(w4|w1w2w3)…P(wn|w1w2…wn-1);
S=w1w2w3…wn,其中w1至wn是字或词;
检测模块,还用于检测词是否为真词,其中真词为中文词库中存在的词;
检测模块,还用于在检测到词不是真词的情况下,根据词的自由度和凝固度确定该词是否为新词;
纠错模块,还用于在确定该词为新词的情况下,不再对该词纠错;
Pi是文本中的字或词i的概率,Pi,j是文本中的字或词i与文本中的字或词j的概率,i、j、q、n均为正整数;
检测模块,还用于计算所述语句中每个字能够结合上下文组成的词语分数;对每个字所组成的词语的分数取平均值;如果语句中字的得分大于阈值且字的平均得分小于得分的均值,则该词为错误词;
其中,针对语句S=w1w2w3…wn,每个字wf的得分为scorewf;
语句中所有字的得分的标准差:
2.根据权利要求1所述的装置,其特征在于,该装置还包括预纠错模块,用于利用常见错误集对所述语句进行预纠错。
3.根据权利要求1所述的装置,其特征在于,所述语言模型包括分词后的文本训练Bigram语言模型、分字后的文本训练Bigram语言模型、和/或分字后的文本训练Trigram语言模型。
4.根据权利要求1所述的装置,其特征在于,生成模块,还用于替换所述错误词的每个字生成所述词的候选词集;根据与所述错误词的编辑距离生成所述词的候选词集;和/或利用搜索引擎生成所述词的选词集。
5.根据权利要求2所述的装置,其特征在于,该装置还包括:
挖掘模块,用于对样本文本进行数据挖掘,得到词;
聚类模块,用于将同音词、近同音词、和/或形近词进行聚类;
认定模块,用于在聚类后的词不存在于预先构造的中文词库中的情况下,认定该词为错误词;
构造模块,用于根据错误词出现的概率,构造常见错误集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910008704.6A CN109858023B (zh) | 2019-01-04 | 2019-01-04 | 一种语句纠错装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910008704.6A CN109858023B (zh) | 2019-01-04 | 2019-01-04 | 一种语句纠错装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858023A CN109858023A (zh) | 2019-06-07 |
CN109858023B true CN109858023B (zh) | 2020-07-03 |
Family
ID=66893918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910008704.6A Active CN109858023B (zh) | 2019-01-04 | 2019-01-04 | 一种语句纠错装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858023B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457688B (zh) * | 2019-07-23 | 2023-11-24 | 广州视源电子科技股份有限公司 | 纠错处理方法及装置、存储介质和处理器 |
CN110852087B (zh) * | 2019-09-23 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 中文纠错方法和装置、存储介质及电子装置 |
CN110765996B (zh) * | 2019-10-21 | 2022-07-29 | 北京百度网讯科技有限公司 | 文本信息处理方法及装置 |
CN113449511B (zh) * | 2020-03-24 | 2023-06-09 | 百度在线网络技术(北京)有限公司 | 文本处理的方法、装置、设备和存储介质 |
CN111651978A (zh) * | 2020-07-13 | 2020-09-11 | 深圳市智搜信息技术有限公司 | 基于实体的词法检查方法与装置和计算机设备及存储介质 |
CN111918173B (zh) * | 2020-07-22 | 2021-10-29 | 浙江大丰实业股份有限公司 | 一种舞台音响的保护系统和使用方法 |
CN111985213A (zh) * | 2020-09-07 | 2020-11-24 | 科大讯飞华南人工智能研究院(广州)有限公司 | 一种语音客服文本纠错的方法和装置 |
CN112434512A (zh) * | 2020-09-17 | 2021-03-02 | 上海二三四五网络科技有限公司 | 一种结合上下文语境的新词确定方法及装置 |
CN112560451B (zh) * | 2021-02-20 | 2021-05-14 | 京华信息科技股份有限公司 | 一种自动生成训练数据的错别字校对方法及装置 |
CN113361266B (zh) * | 2021-06-25 | 2022-12-06 | 达闼机器人股份有限公司 | 文本纠错方法、电子设备及存储介质 |
CN113627160B (zh) * | 2021-09-17 | 2023-09-22 | 平安银行股份有限公司 | 文本纠错方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462061B (zh) * | 2014-12-05 | 2017-10-27 | 北京国双科技有限公司 | 词语提取方法及提取装置 |
CN105320960B (zh) * | 2015-10-14 | 2022-04-05 | 北京航空航天大学 | 一种基于投票的跨语言主客观情感分类方法 |
CN105260362B (zh) * | 2015-10-30 | 2019-02-12 | 小米科技有限责任公司 | 新词提取方法和装置 |
CN106503231B (zh) * | 2016-10-31 | 2020-02-04 | 北京百度网讯科技有限公司 | 基于人工智能的搜索方法和装置 |
CN108509406B (zh) * | 2017-02-24 | 2023-04-18 | 北京搜狗科技发展有限公司 | 一种语料抽取方法、装置和电子设备 |
CN108959250A (zh) * | 2018-06-27 | 2018-12-07 | 众安信息技术服务有限公司 | 一种基于语言模型和词特征的纠错方法及其系统 |
-
2019
- 2019-01-04 CN CN201910008704.6A patent/CN109858023B/zh active Active
Non-Patent Citations (2)
Title |
---|
中⽂分词、去停⽤词、发现新词;废柴社;《https://www.jianshu.com/p/8b869b1b23fc?tdsourcetag=s_pcqq_aiomsg》;20180120;第1-2页 * |
基于大规模语料的新词发现算法;weixin_34195546;《https://blog.csdn.net/weixin_34195546/article/details/92853745》;20140818;第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109858023A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858023B (zh) | 一种语句纠错装置 | |
US20230206914A1 (en) | Efficient empirical determination, computation, and use of acoustic confusability measures | |
CN110210029B (zh) | 基于垂直领域的语音文本纠错方法、系统、设备及介质 | |
CN112149406B (zh) | 一种中文文本纠错方法及系统 | |
CN107301865B (zh) | 一种用于语音输入中确定交互文本的方法和装置 | |
CN111739514B (zh) | 一种语音识别方法、装置、设备及介质 | |
CN109637537B (zh) | 一种自动获取标注数据优化自定义唤醒模型的方法 | |
US6823493B2 (en) | Word recognition consistency check and error correction system and method | |
US9747893B2 (en) | Unsupervised training method, training apparatus, and training program for an N-gram language model based upon recognition reliability | |
CN105068997B (zh) | 平行语料的构建方法及装置 | |
CN109522558B (zh) | 一种基于深度学习的中文错字校正方法 | |
CN101271450B (zh) | 裁剪语言模型的方法及装置 | |
CN111651978A (zh) | 基于实体的词法检查方法与装置和计算机设备及存储介质 | |
CN112489655B (zh) | 一种特定领域的语音识别文本纠错方法、系统和存储介质 | |
CN111985234B (zh) | 语音文本纠错方法 | |
CN111444706A (zh) | 一种基于深度学习的裁判文书文本纠错方法及系统 | |
WO2014036827A1 (zh) | 一种文本校正方法及用户设备 | |
Toselli et al. | Two methods to improve confidence scores for lexicon-free word spotting in handwritten text | |
CN112447172B (zh) | 一种语音识别文本的质量提升方法和装置 | |
JP5097802B2 (ja) | ローマ字変換を用いる日本語自動推薦システムおよび方法 | |
CN110929514B (zh) | 文本校对方法、装置、计算机可读存储介质及电子设备 | |
Romero et al. | Category-based language models for handwriting recognition of marriage license books | |
JP5911911B2 (ja) | 結束性判定装置、モデル学習装置、方法、及びプログラム | |
CN111737424A (zh) | 一种问题的匹配方法、装置、设备及存储介质 | |
CN111046663A (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 |