文字拼写的检测方法、系统、计算机设备及存储介质与流程

文档序号:15399626发布日期:2018-09-11 17:10阅读:140来源:国知局
本发明涉及计算机软件
技术领域
,特别是涉及一种文字拼写的检测方法、系统、计算机设备及存储介质。
背景技术
:随着计算机软件技术的不断发展,对于文本信息的检索、抽取、翻译等技术逐渐成熟,然而对于文本的校对还没有准确高效的方法。对于文本中错别字的识别是文本校对的核心环节,文本中的错字严重影响了文本的质量,例如,新闻稿件对错别字的要求十分严格,如果没有对稿件中的错别字进行及时的识别和纠正,可能会向读者传递错误信息,所以对于文本中错字的识别具有重要意义。传统输入错误的识别方法主要采用基于统计的方法,此方法需要根据上下文中的字、词等的特征,建立统计语言模型,此方法依赖统计语言模型,在建立统计语言模型的过程中,统计数据稀疏问题会严重影响其识别的效率和精度,难以对文本输入中的拼写是否准确进行准确、高效的检测。技术实现要素:基于此,有必要针对上述难以对文本输入中的拼写错误进行准确、高效的修正的问题,提供一种文字拼写的检测方法、系统、计算机设备及存储介质。一种文字拼写的检测方法,包括以下步骤:利用预先训练的拼写错误修正模型检测待识别语句中各个文字及其对应的混淆字集中各个混淆字在当前位置上的出现概率;若当前文字的出现概率大于第一概率阈值,则判定该文字没有拼写错误;若当前文字的出现概率小于第一概率阈值且大于第二概率阈值,则根据该文字在其相应的混淆集中的出现概率的排序判断是否拼写错误。上述文字拼写的检测方法,利用预先训练的拼写错误修正模型检测文字及其对应的混淆字集中混淆字在当前位置上的出现概率,结合相应的概率阈值以及混淆字集中混淆字的出现概率来判断该文字是否错误,实现了对文本输入中的拼写进行准确、高效的检测。在一个实施例中,所述根据该文字在其相应的混淆集中的出现概率的排序判断是否拼写错误的步骤包括:如果该文字在其相应的混淆集中的出现概率最大,判定该文字没有拼写错误,否则判定该文字拼写错误。在一个实施例中,所述利用预先训练的拼写错误修正模型检测待识别语句中各个文字及其对应的混淆字集中各个混淆字在当前位置上的出现概率的步骤包括:将待识别语句中的文字输入所述拼写错误修正模型进行检测,得到该文字的下一个位置上各个文字的概率向量,从各个文字的概率向量中获取下一个文字的出现概率;获取所述文字的混淆字集,利用所述拼写错误修正模型检测所述文字的混淆字集中各个混淆字在当前位置上的出现概率;其中,所述混淆字集为所述文字拼写相近的多个文字的集合。在一个实施例中,所述的文字拼写的检测方法还包括:利用自然语言的语料数据并建立拼写错误检测的训练模型;对所述语料数据进行预处理得到训练语料句子;利用所述训练语料句子对所述训练模型进行训练,得到所述拼写错误检测模型。在一个实施例中,所述对所述语料数据进行预处理得到训练语料句子的步骤包括:将所述训练模型中的语料数据中的冗余内容进行删除,以及将非文字的数据用字母进行替换;以文字和所述字母为单位对语料数据中的句子进行分割,并在句子开头和结尾添加句子开头标记和句子结尾标记,生成训练语料句子。在一个实施例中,基于循环神经网络技术建立单向的拼写错误检测的训练模型;通过前向输入的训练语料句子对所述训练模型进行训练,得到单向的拼写错误检测模型。在一个实施例中,基于长短期记忆神经网络以及自然语言语料数据建立双向的拼写错误检测的训练模型;通过前向输入和后向输入的训练语料句子对所述训练模型进行训练,得到双向的拼写错误检测模型。在一个实施例中,所述混淆字集以键-值对应的方式存储在文件中;其中,键为汉字的拼音,值为发此拼音的文字集合。一种文字拼写的检测系统,包括:检测模块,用于利用预先训练的拼写错误修正模型检测待识别语句中各个文字及其对应的混淆字集中各个混淆字在当前位置上的出现概率;第一判断模块,用于若当前文字的出现概率大于第一概率阈值,则判定该文字没有拼写错误;第二判断模块,用于若当前文字的出现概率小于第一概率阈值且大于第二概率阈值,则根据该文字在其相应的混淆集中的出现概率的排序判断是否拼写错误。在一个实施例中,所述的文字拼写的检测系统还包括:训练模块,用于利用自然语言的语料数据并建立拼写错误检测的训练模型,对所述语料数据进行预处理得到训练语料句子,利用所述训练语料句子对所述训练模型进行训练,得到所述拼写错误检测模型。一种文字拼写的检测系统,包括:检测模块,用于利用预先训练的拼写错误修正模型检测待识别语句中各个文字及其对应的混淆字集中各个混淆字在当前位置上的出现概率;第一判断模块,用于若当前文字的出现概率大于第一概率阈值,则判定该文字没有拼写错误;第二判断模块,用于若当前文字的出现概率小于第一概率阈值且大于第二概率阈值,则根据该文字在其相应的混淆集中的出现概率的排序判断是否拼写错误。上述文字拼写的检测系统,利用预先训练的拼写错误修正模型检测文字及其对应的混淆字集中混淆字在当前位置上的出现概率,结合相应的概率阈值以及混淆字集中混淆字的出现概率来判断该文字是否错误,实现了对文本输入中的拼写进行准确、高效的检测。在一个实施例中,所述的文字拼写的检测系统还包括:训练模块,用于利用自然语言的语料数据并建立拼写错误检测的训练模型,对所述语料数据进行预处理得到训练语料句子,利用所述训练语料句子对所述训练模型进行训练,得到所述拼写错误检测模型。一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的文字拼写的检测方法。上述计算机设备,通过所述处理器上运行的计算机程序,实现了对文本输入中的拼写进行准确、高效的检测。一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的文字拼写的检测方法。上述计算机存储介质,通过其存储的计算机程序,实现了对文本输入中的拼写进行准确、高效的检测。附图说明图1是一个实施例的文字拼写的检测方法流程图;图2是另一个实施例的文字拼写的检测方法流程图;图3是一个实施例的训练拼写错误检测模型的流程图;图4是单向的训练模型示意图;图5是单向的训练模型的预测结果的示意图;图6是双向的训练模型示意图;图7是双向的训练模型的预测结果的示意图;图8是一个实施例的利用混淆字修正待识别语句的流程图;图9是计算概率运算值流程图;图10是一个实施例的文字拼写的检测系统结构示意图;图11是另一个实施例的文字拼写的检测系统结构示意图;图12为一个实施例中计算机设备的内部结构示意图。具体实施方式为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的首选实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的
技术领域
的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本发明实施例所提供的技术方案,可以应用于包括个人电脑、智能手机、平板电脑、个人数字助理等终端设备上。所述终端设备上可运行文本输入程序,输入文本内容,并在文字拼写错误时,通过本发明实施例提供的文字拼写的检测方案,对文本内容进行错误识别。参考图1所示,图1是一个实施例的文字拼写的检测方法流程图,包括以下步骤:s20,利用预先训练的拼写错误修正模型检测待识别语句中各个文字及其对应的混淆字集中各个混淆字在当前位置上的出现概率。其中,拼写错误修正模型可以是预先通过大量文字样本训练得到,混淆字集中存储有各个文字容易出现拼写混淆的混淆字,通过错误修正模型可以检测出待识别语句中各个文字在当前位置上的出现概率,并同时检测出各个文字的混淆字集中候选的文字在当前位置上的出现概率。s301,若当前文字的出现概率大于第一概率阈值,则判定该文字没有拼写错误。通过拼写错误修正模型识别后,如果当前文字的出现概率大于第一概率阈值,则可以认为该文字没有拼写错误的;对于第一概率阈值可以根据拼写错误修正模型实际的准确率进行调整。s302,若当前文字的出现概率小于第一概率阈值且大于第二概率阈值,则根据该文字在其相应的混淆集中的出现概率的排序判断是否拼写错误。当前文字的出现概率小于第一概率阈值,可以认为该文字是可能错误的,如果其大于第二概率阈值,结合该文字在其相应的混淆集中的出现概率,最终来确定该文字是否拼写错误。进一步的,如果该文字的出现概率小于第二概率阈值,则可以直接判定该文字是拼写错误的。上述文字拼写的检测方法,利用预先训练的拼写错误修正模型检测文字及其对应的混淆字集中混淆字在当前位置上的出现概率,结合相应的概率阈值以及混淆字集中混淆字的出现概率来判断该文字是否错误,实现了对文本输入中的拼写进行准确、高效的检测。在一个实施例中,参考图2所示,图2是另一个实施例的文字拼写的检测方法流程图;本发明实施例的文字拼写的检测方法还可以包括:s10,训练拼写错误检测模型;参考图3所示,图3是一个实施例的训练拼写错误检测模型的流程图,该步骤s10主要包括:s101,利用自然语言的语料数据并建立拼写错误检测的训练模型;s102,对所述语料数据进行预处理得到训练语料句子;进一步的,对语料数据预处理的方式可以包括:将所述训练模型中的语料数据中的冗余内容进行删除,将非文字的数据用字母进行替换,以文字和所述字母为单位对语料数据中的句子进行分割,在句子开头和结尾添加句子开头标记和句子结尾标记等等。s103,利用所述训练语料句子对所述训练模型进行训练,得到所述拼写错误检测模型。上述实施例中,通过预处理后可以生成适用于模型训练的训练语料句子,通过数据清洗,删除语料数据中的无用符号、包含非常用汉字的语句或、重复语句或一句话中汉字数少于2的语句等。例如,把连续的一串阿拉伯数字、英文单词或英文缩写等统一用字母进行替换,例如,可以选择用大写字母n替换连续的一串数字,用大写字母c替换连续的一串英文字母,具体用何种字母进行替换可以根据需要进行更改和设置,例如,替换前与替换后的对照表如下:替换前替换后2017年4月5号n年n月n号abc第二产业园c第二产业园在替换之后,还可以为句子开头和结尾加上句子开头标记和句子结尾标记,例如,可以在句子的开头加入标记“<s>”,在句子的结尾加入“</s>”,并以文字和替换的字母为单位对语料数据中的句子进行分割,生成可以用作模型训练的语料数据包,生成的语料数据包中的部分数据如下所示:通过自然语言语料数据预处理得到训练语料句子,可以有针对性地对训练模型进行训练,可以提高模型训练的效率,从而提高拼写错误检测模型概率输出的准确性。针对于步骤s103的模型训练方法,本发明实施例提供了多种语言模型,以下将就单向语言模型和双向语言模型为例进行阐述。结合前面实施例,可以根据检测精度和实际需求进行设置神经网络的层数和神经元的个数等模型参数;例如,可以建立rnn双层神经网络,层与层之间加入dropout正则化,输入层采用4000个神经元,隐层采用400个神经元,对应4000个常用汉字,输出层使用softmax分类函数,输出值为预测的每个字的出现概率。在利用语料数据包中的训练语句对训练模型进行训练的过程中,训练模型分别获取各个训练语句,并从训练语句的开始符号开始,依次获取训练语句中的单个文字,根据在当前位置之前位置上获取的各文字的信息,预测当前位置最可能出现的文字,在对模型进行训练和调试后,使得训练模型可以获得期望的输出结果。作为一种实施方式,参考图4和图5,图4是单向的训练模型示意图;图5是单向的训练模型的预测结果的示意图。可以基于循环神经网络技术(rnn,recurrentneuralnetworks)建立单向的拼写错误检测的训练模型;通过前向输入的训练语料句子对所述训练模型进行训练,得到单向的拼写错误检测模型。例如,训练模型的输入是“<s>中华人民共和国”,而期望输出为“中华人民共和国</s>”,即对于训练语句“中华人民共和国”,其对应的预测结果应该如图3所示;将经过训练的能够得到预期输出结果的训练模型作为拼写错误检测模型,对待检测语句中的文字进行检测,输出待检测语句中的各个文字在当前位置上的出现概率。其中,所述上文信息是指待检测语句中的当前位置的文字之前的位置上的各个文字的信息,通过结合待检测语句中当前位置文字之前位置上的上文信息,可以增加对该当前位置上的文字的出现概率检测的准确性。作为另一种实施方式,参考图6和图7,图6是双向的训练模型示意图;图7是双向的训练模型的预测结果的示意图。可以基于长短期记忆神经网络(bi-lstm)以及自然语言语料数据建立双向的拼写错误检测的训练模型;通过前向输入和后向输入的训练语料句子对所述训练模型进行训练,得到双向的拼写错误检测模型。训练模型的输入分为两种,分别为前向输入和后向输入,对于“中华人民共和国”这句话,训练模型的输入分为两种,分别为前向输入和后向输入,为了保证两个方向预测的一致性,即“中华人民共和国”。所以前向输入为“<s>中华人民共和”,而后向输入为“华人民共和国</s>”。而期望输出都为“中华人民共和国”。即,对于句子“中华人民共和国”,其对应的预测结果应该如图5所示;例如对于“中”字的预测,由“<s>”和“华人民共和国</s>”共同决定,充分利用了上下文信息,提高了效率。在模型训练好之后,就可以使用模型对新输入的句子做拼写检查,如在rnn模型中,每一个step都会通过softmax输出下一个位置上所有字的概率向量,从所有字的概率向量中获取下一个字的出现概率。在一个实施例中,步骤s20的检测文字和混淆字的出现概率方法,可以包括:s201,将待识别语句中的文字输入所述拼写错误修正模型进行检测,得到该文字的下一个位置上各个文字的概率向量,从各个文字的概率向量中获取下一个文字的出现概率。例如,利用上述的单向的拼写错误检测模型,对于语句“中化人民共和国”进行检测,可以得到的出现概率为:中0.0267950482666,5化5.48984644411e-07,人0.214276000857民0.0538657493889共0.0275610154495和0.038463984794国0.042061101339在该语句中,错误地把“华”写成了“化”,而“化”字在当前位置的概率为5.48984644411e-07,远小于其他拼写正确文字的出现概率,可以用于识别文字拼写错误。又如,利用上述的双向的拼写错误检测模型,对“中化人民共和国”进行检测,得到的概率如下:中0.0108770169318化1.73152820935e-05人0.919607996941民0.365396946669共0.999733150005和0.854933917522国0.988406062126错误的把“华”写成了“化”,而“化”字的概率为1.73152820935e-05,远小于其他拼写正确的文字的概率,因此能用于识别文字拼写错误。s202,获取所述文字的混淆字集,利用所述拼写错误修正模型检测所述文字的混淆字集中各个混淆字在当前位置上的出现概率。另外,本发明实施例还提供一种混淆字集的处理方案;例如,可以采用键-值对应的方式存储在文件中,以汉字的读音作为键,以发此读音的汉字作为值,以一个键对应的多个读音相同的汉字组成一个易混淆字子集;例如,混淆字集以key-value的形式存储在文件中;其中,key为汉字的拼音,vaule为发此拼音的文字集合。进一步地,还可以考虑多音字,将多音字同时存放于多个读音的易混淆字子集中,例如,“会”字,将同时考虑“hui”和“kuai”两个读音,但是对于“为”字,可以只考虑“wei”,忽略二声调和四声调的差异。上述实施例的方案,可以确定待识别语句中的文字的出现概率,并确定这些文字中拼写相近的多个文字的集合构成混淆字集的各个混淆字在当前位置上的出现概率。该方法中,在拼写错误修正模型训练好之后,利用该模型对新输入的待识别句子做拼写检查,例如“中化人民共合国”,得到的概率如下:中0.00217751576565化8.42674562591e-05人0.701624631882民0.118908688426共0.000807654316合3.34586762545e-05国0.0664190202951假设第一概率阈值设置为0.1,第二概率阈值设置为0.0003,则当拼写错误修正模型识别概率大于0.1时,则认为该文字没有拼写错误。如果该文字小于0.1大于0.0003,再判断该文字在其相应的混淆集中的出现概率是否为最大,如果是,则也判断该文字没有拼写错误。否则,判定该文字拼写错误。如上述表格中,其中“人”、“民”二字概率均大于第一概率阈值,则认为这两个文字没有拼写错误。“中”字的出现概率小于第一概率阈值,大于第二概率阈值,但是其在各自混淆字集中的出现概率最大,则这个文字没有拼写错误。而“化”和“合”两个字的概率均小于第二概率阈值,则这两个文字有拼写错误,“共”字的概率在0.0003和0.1之间,但是其在混淆字集中的出现概率不是最大,所以也认为“共”字拼写错误。上述实施例的方案,通过判断当前文字的出现概率,并结合该文字在其相应的混淆集中的出现概率来来判断,能够更加准确地识别该文字是否拼写错误。在一个实施例中,在识别出拼写错误的文字后,还可以对于待识别语句中的拼写错误的文字进行修正,该修正方法可以包括如下:s40,根据拼写错误的文字从相应混淆字集中选择混淆字,并利用选择的混淆字修正待识别语句。在此步骤中,可以通过识别出来的拼写错误的文字,结合拼写错误的文字的混淆字集中候选的文字在当前位置上的出现概率,从相应混淆字集中选择混淆字来修正待测修正语句。在一个实施例中,参考图8所示,图8是一个实施例的利用混淆字修正待识别语句的流程图,该步骤包括:s401,获取各个位置上拼写错误的文字,获取所述拼写错误的文字在混淆字集中出现概率最大的k个混淆字,组成对应位置的混淆字集,k≥2;s402,分别对各个位置上的混淆字集进行笛卡尔积,得到多组候选句子;s403,将所述候选句子分别输入所述拼写错误修正模型检测进行检测并计算所述候选句子的概率运算值;s404,将所述概率运算值最大的候选句子替换所述待测修正语句。作为实施例,在上述s403中计算候选句子的概率运算值时,可以采用如下方法:将所述候选句子分别输入所述拼写错误修正模型检测各个位置的文字的出现概率;分别将各个位置的文字的出现概率进行相加或相乘,得到所述候选句子的概率运算值。例如,参考图9,图9是计算概率运算值流程图,“化”字发“hua”拼音,在混淆字集中出现概率最大的是“化”和“华”两个字,同理,“共”字混淆字为“共”和“工”,“合”字混淆字为“合”和“和”字。对这三个位置的混淆字做笛卡尔积,可得如下候选句子:笛卡尔积概率运算值中化人民工合国0.537909173025中化人民工和国1.02907576627中化人民共合国0.891207945057中化人民共和国4.13897197429中华人民工合国2.7150827029中华人民工和国3.08748058451中华人民共合国3.30365468572中华人民共和国6.82562798262其中,第一列为笛卡尔积后的结果,第二列为把笛卡尔积结果重新输入拼写错误修正模型之后,计算各个候选句子的概率运算值,如上所述,计算方法可以是每个候选句子中各字概率相加,也可以用句子中各概率相乘。选择概率运算值最大的候选句子来替换所述待测修正语句,如上表,根据概率运算值选择值最大的句子。比较可得“中华人民共和国”对应的概率运算值最大,所以替换为正确的句子。上述实施例的方案,在识别出拼写错误的文字后,分别从混淆集字中选取出现概率最大的k个字作为混淆字。通过混淆字集进行笛卡尔积,可以从多组候选句子中选择概率运算值最大的候选句子替换待测修正语句,可以对文本输入中的拼写错误进行准确识别后进行修正。参考图10,图10是一个实施例的文字拼写的检测系统结构示意图,包括:检测模块20,用于利用预先训练的拼写错误修正模型检测待识别语句中各个文字及其对应的混淆字集中各个混淆字在当前位置上的出现概率;第一判断模块301,用于若当前文字的出现概率大于第一概率阈值,则判定该文字没有拼写错误;第二判断模块302,用于若当前文字的出现概率小于第一概率阈值且大于第二概率阈值,则根据该文字在其相应的混淆集中的出现概率的排序判断是否拼写错误。上述文字拼写的检测系统,利用预先训练的拼写错误修正模型检测文字及其对应的混淆字集中混淆字在当前位置上的出现概率,结合相应的概率阈值以及混淆字集中混淆字的出现概率来判断该文字是否错误,实现了对文本输入中的拼写进行准确、高效的检测。进一步地,参考图11,图11是另一个实施例的文字拼写的检测系统结构示意图,还包括训练模块10,用于利用自然语言的语料数据并建立拼写错误检测的训练模型;对所述语料数据进行预处理得到训练语料句子;利用所述训练语料句子对所述训练模型进行训练,得到所述拼写错误检测模型。另外,本发明实施例还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的文字拼写的检测方法。上述计算机设备,通过所述处理器上运行的计算机程序,实现了对文本输入中的拼写进行准确、高效的检测。再者,本发明实施例还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的文字拼写的检测方法。上述计算机存储介质,通过其存储的计算机程序,实现了对文本输入中的拼写进行准确、高效的检测。参考图12,图12为一个实施例中计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器、显示器和网络接口。其中,该计算机设备的非易失性存储介质可存储操作系统和实现语音通信装置的计算机程序,该计算机程序被执行时,可使得处理器执行一种语音通信方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器中可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行文字拼写的检测方法。计算机设备的网络接口用于进行网络通信。显示屏用于显示应用界面等,例如,显示即时通信聊天界面或文字纠正的操作界面等。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸屏,也可以是计算机设备外壳上设备的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。触摸层与显示屏构成触控屏。本领域技术人员可以理解,图12中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。本发明实施例提供的技术方案,结合rnn和bi-lstm神经网络语言模型与混淆字集,对句子的中错别字进行自动识别,充分利用句子的上下文信息,提高了拼写检测的性能。上述技术方案,可以应用于各种文本中拼写的识别,例如,学生作文以及新闻稿中的错别字检查。以学生作文来说,作文中的错别字影响了作文的质量,指出作文中的错别字,对学生有指导意义,有无错别字也可以作为学生作文得分的一个评价维度。新闻稿中对错别字要求十分严格,如果用户输入了错别字,给作者提出警告,并给出正确的拼写字,可以提高作者写作的效率。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括以上方法所述的步骤,所述的存储介质,如:rom/ram、磁碟、光盘等。以上所述实施例仅表达了本发明/发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明/发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明/发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明/发明的保护范围。因此,本发明/发明专利的保护范围应以所附权利要求为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1