一种基于中文字符级特征和语言模型的ocr纠错方法
技术领域
本发明属于字符纠错的
技术领域
,具体涉及一种基于中文字符级特征并利用语言模型对图片在OCR后的结果进行修正的字符纠错方法背景技术
光学字符识别(OCR)技术在文本处理系统中是非常重要的一部分,该技术的目的是通过采样,照相等光学输入手段获取纸质文档,或历史文献上的文字信息,再利用各种模式识别算法将其转换为计算机可操作的文字。其主要应用场景包括身份证证件识别、以及车牌号识别等。
目前,基于深度神经网络(DNN)的OCR技术已经能够达到一个较为显著的准确率,然而,目前的工作仍然是在较为规范的数据集上得到的。因此,当应用于现实的真实场景时,出现的许多问题会导致仅基于DNN的OCR系统无法正确工作,比如图片信息丢失部分重要数据、图片倾斜造成的整体信息偏差、图片质量差导致的噪声问题等。所以为了应对图像质量可能导致的问题,许多 OCR识别后处理纠错技术也应运而生。
但是目前的纠错领域,较多的工作都基于英文或者类似的基础字符较少的语言,由于字符的类别少,它们之间的相似性比较有限,所以纠错工作较为轻松。然而在中文,日语等基础字符较多的语言里进行纠错却相当困难。尤其是中文,GBK编码中的21003个基础字符使得纠错时的相似字符候选集过多,即便只考虑中文的常用字GB2312的3755个一级汉字,相对于英文的52个基础字符也是个巨额数字。
此外,目前大多数的OCR纠错工作仅在以字符为基本组成的数据进行,如语言模型这样只考虑到字符之间的关联信息却没有利用到字符内部的信息。这样的工作在英文领域尤为常见,因它们的字符并不复杂。但是在中文字符纠错工作,由于中文字符自身就带有复杂的信息,所以仅仅使用语言模型进行纠错的工作仍有提升的空间。
而针对中文字符本身的信息进行训练的词向量也是存在的,比如基于字符增强的中文词嵌入模型(Chinese Word Embedding,CWE),利用中文词和该词对应汉字的信息结合的方式来学习以提高词嵌入的质量。此外也有人在CWE的基础之上又提出了联合学习词嵌入(Joint Learning Word Embedding,JWE)模型,进一步加入了汉字部首的信息来学习词向量。
以上的方法在纠错任务上的运用相比于未使用字符信息的方法获得了一定的提升,但在OCR后字符纠错的任务上依然有进步空间,因为OCR后的字符错误通常包含了不止字符的部首的信息,以及它的每个部首之间的结构所处的相关信息等。具体来说,同样的一撇一捺,可以组成“人”、“入”、“八”、“乂”四种不同的字,但在字符纠错时,通常容易出现前三种字符相互的识别错误,而第四个“乂”字并不应该和其余三个字符有太高的相似度。而用中文笔画结构进行分类,则“人”、“入”、“八”会被分为左右结构,即“丿丶”,“乂”会被分为嵌套结构,即“丿丶”,更好的模拟了字符间的相似度,能够区分具有相同笔画信息但结构信息不同的字符。但目前的相关工作中并没有使用到字符的结构信息。
发明内容
为了解决背景技术中未使用字符结构信息导致的对相似笔画顺序字符纠错能力差的相关问题,本发明提供了一种基于中文字符级笔画结构的语言模型来生成纠错候选的方法。该方法能够在一定程度上克服对相似笔画顺序,不同字符结构的字符识别错误的问题,能够让模型学习到更细粒度的字符级别的特征,从而提高模型对OCR后错误的纠错能力。该方法能被运用于OCR后的字符纠错场景中。
为了达到上述目的,本方法的具体步骤如下:
一种基于中文字符级特征和语言模型的中文OCR纠错方法,其步骤如下:
S1、针对中文字符数据集,从中提取字符以及每个字符对应的字符结构和部件信息,构建字符结构部件数据;
S2、利用图像数据集训练得到OCR模型对含有中文文字的图像进行识别,然后通过数据增强技术增加图像噪声,然后重新利用OCR模型再次识别增加不同噪声后的图像,基于原始图像和增加噪声后图像的识别结果构建具有OCR后错误风格的纠错数据集,纠错数据集中的每个样本包含OCR识别的错误字符、上下文和正确字符;
S3、基于所述字符结构部件数据和中文语料构建词向量训练数据集进行词向量训练,其输入包含目标词语的上下文词语、上下文词语对应的字符、以及目标词语和上下文词语对应字符的字符结构和部件信息,训练后得到具有字符结构或部件区分能力的词向量;
S4、以S3中训练得到的词向量作为语言模型的词嵌入层训练语言模型,并以所述纠错数据集对语言模型进行微调使其能够适应OCR识别错误风格,最终得到能够针对错误字符生成字符纠错候选集的纠错模型,用于对OCR产生的错误字符进行纠错。
作为优选,所述字符结构部件数据中,对于每个可拆分部件以递归方式进一步分解为部件对应的字符结构和笔画信息,直至分解后的每个部件都无法被继续分解;在进行词向量训练时,其输入包含目标词语的上下文词语、上下文词语对应的字符、以及目标词语和上下文词语对应字符进一步分解后的字符结构、部件、笔画信息。
作为优选,所述OCR模型包括目标探测模型和字符识别模型,所述目标探测模型找出图像中文字所在的中心点,宽度以及高度,并以该参数生成图像中的文本框;再将生成的文本框送入字符识别模型,对框内的每个字符进行识别,对齐,并输出最可能的输出结果。
作为优选,通过数据增强技术增加图像噪声前,先测试不同加噪声的组合方式,找到最能够模拟存在质量问题的真实待识别图像的加噪方式,用于对图像进行数据增强。
作为优选,所述S2中,利用imgaug框架对含有中文字符的图像加噪声。
作为优选,所述S2中,仅选择错误字符数量占字符总数不超过五分之一的文本串作为样本,纳入纠错数据集中。
作为优选,所述S3中,以CBOW的方法进行词向量训练。
作为优选,所述语言模型在进行微调之前,预先用中文百科数据进行训练。
作为优选,所述语言模型包括词嵌入层、双向LSTM和若干个全连接层,词嵌入层中的词向量送入双向LSTM后,再经过全连接层输出用于纠错的候选字符概率分布,从而得到字符纠错候选集。
作为优选,针对OCR识别后出现的待纠错的错误字符,通过人工指定或者自动选择的方式从所述纠错数据集中选择正确字符进行替换。
与现有的方法相比,本发明的有益效果如下:
1)本发明通过数据增强技术,能找到更多OCR后错误的显著特点,提高模型效果;
2)本发明能够解决笔画相同但字符结构不同的识别错误问题;
3)本发明能够在上下文信息不足的情况下,提高生成纠错候选集的质量。
附图说明
图1是本发明的整体流程示意图;
图2是中文字符部件结构样本示例;
图3是进一步分解后的中文字符部件和笔画结构样本示例;
图4是词向量训练模型示意图;
图5是字符纠错模型示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图对技术方案进行描述。值得注意的是,所描述的实施例仅仅是本申请中的一部分实施例,而不是全部的实施例。
作为本发明的一种较佳实现方式,其提供了基于中文字符级特征和语言模型的中文OCR纠错方法,该方法的框架如图1所示,具体步骤如下:
S1、针对中文字符数据集,从中提取字符以及每个字符对应的字符结构和部件信息,构建为字符结构部件数据。
中文字符的部件是由笔画组成的具有组配汉字功能的构字单位,而字符结构则是字符中部件与部件的方位关系,例如左右结构、上下结构、左中右结构、镶嵌结构等等。
S2、利用图像数据集训练得到OCR模型对含有中文文字的图像进行识别, OCR模型按功能进行划分可以分为目标探测模型和字符识别模型,其中目标探测模型的作用是找出图像中文字所在的中心点,宽度以及高度,并以该参数生成图像中的文本框;然后再将生成的文本框送入字符识别模型,对框内的每个字符进行识别,对齐,并输出最可能的输出结果,由此实现对图像中中文文字的识别。 OCR模型的具体实现形式不限,现有技术中任意能够实现图像中中文文字识别的模型均可以作为本发明的OCR模型。
由于现有技术中OCR后纠错数据存在样本数量少的问题,无法很好地训练纠错模型使其能够在OCR领域提高纠错任务的实现效果。因此,本发明中在完成上述OCR模型训练后,可利用该OCR模型构建相应的纠错数据集,其具体做法是通过数据增强技术增加图像噪声,然后重新利用OCR模型再次识别增加不同噪声后的图像,基于原始图像和增加噪声后图像的识别结果构建具有OCR 后错误风格的纠错数据集。该纠错数据集中的每个样本包含OCR识别的错误字符、上下文和正确字符,后续可利用这些样本对通用的语言模型进行微调,使其能够适应特定的OCR纠错领域,更好地提高语言模型在OCR纠错任务上的性能。
另外,数据增强技术的具体形式不限,本发明利用imgaug框架对含有中文字符的图像加噪声。但由于不同的加噪声形式所形成的图形特点不一样,因此在通过数据增强技术增加图像噪声前,最好先测试不同加噪声的组合方式,找到最佳的加噪方式,使其能够模拟真实世界中存在质量问题的真实待OCR识别图像,并利用最佳的加噪方式用于对图像进行数据增强。
另外,在构建纠错数据集时,最好需要对样本进行预先筛选,若错误字符数量占比过多则容易导致后续无法实现准确的纠错,因此仅选择错误字符数量占字符总数不超过五分之一的文本串作为样本,纳入纠错数据集中。例如,总字符数为10,那么应当选择错误字符数量小于2的OCR识别文本串纳入数据集。
S3、基于前述字符结构部件数据和中文语料构建词向量训练数据集,并利用词向量训练数据集进行词向量训练,词向量训练可以CBOW的方法进行,其输入除了包含目标词语的上下文词语、上下文词语对应的字符之外,还包含了目标词语和上下文词语各自对应字符的字符结构和部件信息。由此,经过该训练后,即可得到具有字符结构或部件区分能力的词向量。
此处,中文语料可以采用中文百科数据,其中的字符均基于前述的字符结构部件数据补充不同粒度级别的结构部件信息,使其中每个字符含有相应的字符结构和部件信息。
S4、以S3中训练得到的词向量作为语言模型的词嵌入层训练语言模型,并以前述S2中得到的纠错数据集对语言模型进行微调使其能够适应OCR识别错误风格,最终得到能够针对错误字符生成字符纠错候选集的纠错模型,用于对 OCR产生的错误字符进行纠错。
需注意的是,考虑到纠错数据集本身的样本容量问题,上述语言模型在进行微调之前,是需要预先进行训练的。本发明中预先用样本量足够大的中文百科数据进行训练,在大量数据的帮助下,使输入层词向量空间能够较好的阐述词之间的关系,并能够用在其他任务的词向量输入层的初始化上。后续在用述S2中得到的纠错数据集对语言模型进行微调,就可以进一步适应特定的OCR识别错误风格。
本发明构建纠错模型所采用的语言模型形式不限,常规的CBOW模型等均可以适用。在本发明中,所采用的语言模型可以包括词嵌入层、双向LSTM和若干个全连接层,词嵌入层中的词向量送入双向LSTM后,再经过全连接层输出用于纠错的候选字符概率分布,根据预设的概率阈值就可以选出一个候选字符的集合,即字符纠错候选集。
在实际使用时,可通过错误字符定位算法事先找出错误字符,错误字符定位算法不属于本发明的重点,不再赘述。针对OCR识别后出现的待纠错的错误字符,通过人工指定或者自动选择的方式从前述的纠错数据集中选择正确字符进行替换。
另外,本发明上述S1中得到的字符结构部件数据,仅含有字符以及每个字符对应的字符结构和部件信息,因此其分解的最小单位是部件。但事实上,本发明还可以对于字符中的每个可拆分部件进一步分解,一个部件可分解为部件对应的字符结构和笔画信息,如果分解后的笔画还可以进一步分解,那么需要通过递归方式进一步分解,直至分解后的每个部件都无法被继续分解。所谓可拆分部件可以根据数据集的情况进行设置,部分无需拆分的部件可以不设置为可拆分部件,在进一步分解中直接保留。由此,通过这种进一步分解后得到的字符结构部件数据,其包含了字符以及每个字符对应的字符结构和笔画信息(由部件分解成的笔画)、部件信息(此部件是指未被分解的部件)。针对此类字符结构部件数据构建的词向量训练数据集,在进行词向量训练时,其输入包含目标词语的上下文词语、上下文词语对应的字符、以及目标词语和上下文词语对应字符进一步分解后的字符结构、部件、笔画信息。这种做法可以将字符信息的粒度进一步细化,得到更多字符结构信息,由此类向量构成的纠错模型效果可以得到进一步提升。
下面针对上述两种字符结构部件数据对应的中文OCR纠错方法,分别通过实施例对其具体实现形式以及技术效果进行说明。
实施例
在本实施例中,基于中文字符级特征和语言模型的中文OCR纠错方法流程框架如图1所示,具体步骤如下:
1.中文字符笔画及结构信息的处理
从开源网站kanji-database得到的中文字符数据集,包含了中,日,韩,越使用的汉字结构和发音等数据及对应Unicode编码,将其中不需要的部分去除,如图1的步骤1所示,具体的处理详细步骤如下:
S1、针对中文字符数据集,从中提取字符以及每个字符对应的字符结构和部件信息,构建为字符结构部件数据;
1)将得到的中文字符数据集中的中文字符信息去除字符的Unicode编码、各国发音方式和多音字发音等信息,仅留下需要的字符以及每个字符对应的字符结构和部件信息,构建为字符结构部件数据。构建为字符结构部件数据记为 JSWE,其中的部分样本示例如图2所示。
2)依次遍历构成每个字符的字符结构和部件信息,将其中能够进一步分解的部件信息再次拆分,分解为部件对应的字符结构和笔画信息;对于可以进一步拆分的笔画,则继续进行分解,以递归方式不断重复这个过程,直到分解后的每个部件都无法被继续分解,所有字符都由不可再分解的部件信息、笔画信息以及字符结构组成。由此构建的字符结构部件数据记为JSWE_meta,其中部分样本示例如图3所示。
需注意的是,在进行上述2)的进一步分解时,并非所有的部件均拆分为笔画的,仅针对预设的可拆分部件进行进一步分解,部分部件需要进行保留,例如“口”、“门”等。
该过程最后得到的两种含有不同中文字符笔画和结构信息的字符结构部件数据JSWE和JSWE_meta,都可用于后续的词向量训练任务中。
2.OCR模型训练及数据增强
为了针对性解决文本领域无关的OCR后纠错问题,本方法需要对使用该方法的领域图片进行图像加噪声等图像增强技术,利用OCR模型再次识别加噪后图片,从而产生与真实世界的识别错误较为接近的识别误差,并利用这些误差解决OCR后纠错数据量少的问题,并且数据量的提高能够让模型在该领域逐步提高纠错任务的效果。OCR模型训练及数据增强过程如图1中步骤2所示,详细步骤如下:
1)将图像数据及对应文本段送入由OCR文本探测模型和文本识别模型组成的OCR模型,训练一个可用的OCR模型供后续使用。
本实施例中,基于CTPN和CTC进行OCR字符识别,首先在OCR文本探测模型中使用VGG-16net作为预训练模型进行图像特征的抽取,并伴以LSTM 模型来学习图图像特征中的上下文自序列特征,最后以RPN文本框生成算法计算文字框坐标和宽高,该模型用于从图像中抽取出文字所在的区域框。然后文本识别模型使用基于CRNN的CTC转换模型进行,将上一阶段获取的文本框输入到模型后,由CNN网络层抽取图像特征,并以LSTM模型学习字符间的序列特征,最后以CTC转换模型对齐字符输出。
本实施例中,训练OCR文本探测模型所使用的数据集包括ICDAR2011、 ICDAR2013、ICDAR2015、The Multilingual、SWT五个数据集,其中ICDAR一系列数据集都是较为规范的图片到文本数据集,值得一提的是The Multilingual 的数据包含了多种语言文本,而SWT数据集包含许多范围极小的文本框数据,是极具挑战力的一个数据集。用于训练CRNN+CTC文本识别模型的数据集为 GitHub用户YCG09整理。该数据集有约364万张图像,训练集与验证集的比例为99:1;该数据集使用了中文语料库,通过多种变化随机生成文字图像;包含汉字、英文、标点等共5990个字符;每个样本的长度固定为10个字符,而样本截取自语料库中的随机句子;后续本实施例以该用户名命名该数据集,即YCG09。在识别模型中使用的评测指标为accuracy,即正确识别样本占总样本的比例:
最终训练出的模型效果如表1所示:
表1 OCR识别模型最终训练结果
训练集
测试集
Accuracy
98.92%
98.05%
Loss
0.2235
2.595
该OCR模型训练完毕后,对YCG09数据集进行OCR识别,得到第一组识别结果。
2)利用imgaug框架使用数据增强技术对图像加噪声,对图像数据施加多种加噪声方式,如坐标偏移,高斯噪声,像素值修正等,并随机组合加噪方式与参数值,并尝试多种加噪声的组合方式,以找到最能够模拟真实世界中的图像质量差等情况的加噪方式。然后利用最佳的加噪声方式,对数据集中的图形数据进行数据增强操作。
3)以数据增强后的图像作为新的数据输入到上述训练后的OCR模型再次进行识别,通过这种做法相同的图像可以在增加噪声前后均获取到其OCR识别的文本串。根据图像中字符的真值,可以确定文本串中的错误字符,因此对输出的文本串进行筛选,将错误字符数占原字符总数五分之一(本实施例中原字符总数为10,因此阈值条件设置为错误字符数小于3)及以下的文本串作为纠错数据供后续fine-tune阶段使用。由此在本实施例中,基于原始图像和增加噪声后图像的识别结果构建具有OCR后错误风格的纠错数据集YCG09_augmented,纠错数据集中的每个样本包含OCR识别的错误字符、上下文和正确字符。
本实施例对于在测试集上进行数据增强的实验获取了大量数据,构成了一个错误字符与上下文和正解都有一定关联的纠错数据集YCG09_augmented,并用于之后的字符纠错任务,具体信息如表2所示:
表2数据增强所得数据集相关信息
YCG09_augmented
平均样本长度
10
错误句子样本数
1853
错误字符样本数
1913
数据来源类型
文言文/新闻
3.基于中文字符结构词向量的纠错模型
这一步使用了之前处理好了的中文字符笔画结构信息,并利用该信息来训练词向量,并以该词向量作为纠错语言模型的嵌入层来工作,后续进行一系列数据预处理工作,将海量的中文公共领域上的文本分割成由上下文预测目标字符的数据集,并以该数据集训练纠错模型。如图1中步骤3所示,纠错模型的训练同时使用了特定领域的纠错数据,笔画结构信息和中文百科数据,最终利用语言模型来输出纠错结果,具体实施步骤如下:
1)以中文wiki百科数据作为训练语料数据,将每一段文本进行去除停用词,去除标点符号,分词等处理后,将每个词语的前后n个词作为上下文(这一阶段上下文长度一般设为2)而该词语作为目标的形式构成初步数据集。另外,结合前述的两种粒度水平的字符结构部件数据JSWE和JSWE_meta,对语料中的字符增加相应的字符结构和部件、笔画信息,从而形成最终的词向量训练数据集。另外,作为对比本实施例还提供了另一种粒度水平的字符结构部件数据JWE形成词向量训练数据集,其只有笔画信息而没有结构信息,即与JWE训练数据相似(Yu J,Jian X,Xin H,et al.Joint embeddings of chinese words,characters,and fine-grained subcharacter components[C]//Proceedings of the2017 Conference on Empirical Methods in Natural Language Processing.2017:286-291.)。利用上述三种词向量训练数据集,各自训练一个语言模型,得到能理解中文字符级别信息的词向量。词向量的训练过程可以描述为以上下文为输入序列,以目标词为输出的神经网络语言模型不断进行反向传播,在大量数据的帮助下,使输入层词向量空间能够较好的阐述词之间的关系,并能够用在其他任务的词向量输入层的初始化上。本实施例中的具体语言模型结构如图4所示,该模型在CBOW训练算法的基础上加入了部件或笔画数据进行训练,其输入包含目标词语的上下文词语(wi-1, wi+1)、上下文词语对应的字符(ci-1,ci+1)、以及目标词语和上下文词语对应字符的字符结构和部件信息(si-1,si,si+1)。
本方法的词向量训练加入了中文字符结构信息,在网络输入过程中不仅加入了目标词语的上下文词语,也加入了每个词语对应字符的部件、笔画、结构等信息,加强了词向量区分拥有不同结构或笔画的字符的能力,使得最终获取的词向量能够把握住中文字符的结构和笔画顺序性质。
2)将1)中得到的三种词向量分别重新构建成语言模型来进行纠错,即将词向量作为另一个语言模型的词嵌入层训练语言模型,并以前述的纠错数据集对语言模型进行微调fine-tune使其能够适应OCR识别错误风格,最终得到能够针对错误字符生成字符纠错候选集的纠错模型,用于对OCR产生的错误字符进行纠错。
本实施例中,此步骤采用的语言模型具体结构如图5所示,其包括词嵌入层、双向LSTM和若干个全连接层即Dense层,词嵌入层中的词向量送入双向LSTM 后,再经过全连接层输出用于纠错的候选字符概率分布,从而得到字符纠错候选集。该模型以双向LSTM和数个Dense层学习,由词向量训练数据集赋予模型区分字符结构笔画的能力,模型本身则负责学习上下文的信息。
本实施例中,语言模型在进行微调之前,预先用中文百科数据进行训练。
使用常用的语言模型数据集来替代数据稀少,任务特定性强的纠错数据集,使模型获取更可靠的上下文信息,而使用数据增强过程中得到的纠错数据为纠错模型做fine-tune,可以保证该模型在特定的文本领域也能有不错的效果。纠错模型最初会更多参考中文百科数据,而非特定领域下的错误数据,而随着数据增强带来的数据增加,模型在该领域的效果会越来越好,此外,基于笔画结构的词向量也会帮助模型更好的区分笔画相似的部分字符,从而提高纠错效果。
为了进一步展示上述三种粒度水平的字符结构部件数据对词向量训练以及最终纠错模型的效果,下面提供其具体的实验结果。
对于词向量训练任务而,其结果如下:
本实施例中,应用于词向量和纠错候选生成模型所使用的数据集都是中文 Wiki百科数据,约有1.7GB大小,并在词向量训练过程中进行了繁简转换和分词的预处理,而中文的字符笔画结构来自于kanji-database数据库。应用于词向量训练效果的验证使用的是wordsim240,wordsim-297以及analogy数据集,这两个数据集分别手工构建了一系列中文词语相似对以及中文词语语义类比对的数据,帮助进行词向量的评测。并以CWE和JWE的实验结果作为baseline进行比较。
训练词向量时,使用上述三种不同粒度级别的中文字符结构数据进行训练,第一种是只有笔画信息而没有结构信息的训练方式,即与JWE训练数据相似;第二种在之前的基础上加入了每个字符的结构信息,即JSWE;第三种在第二种的基础上,将所有能够进一步细化的字符笔画信息进行了递归的处理,即所有字符的笔画结构信息都只由结构信息和“一”,“丶”等最基础的笔画信息组成,即 JSWE_meta。
训练完成的词向量在语义相似度任务的效果如表3所示:
表3词向量语义相似度任务效果
Model
Wordsim-240
Wordsim-297
CWE
0.5133
0.5805
JWE
0.5367
0.6508
JSWE
0.5513
0.6453
JSWE_meta
0.5322
0.6474
训练完成的词向量在类比任务的效果如表4所示:
表4词向量类比任务效果
Model
Total
Capital
State
Family
CWE
0.7553
0.8420
0.8743
0.4632
JWE
0.7651
0.8375
0.8057
0.5588
JSWE
0.7731
0.8537
0.8000
0.5551
JSWE_meta
0.7624
0.8463
0.7657
0.5514
从词向量语义相似度任务和类比任务可以看出,加入了结构信息的JSWE相对于只有笔画信息的JWE来说效果更好,而加入了更细粒度的笔画结构信息的 JSWE_meta词向量效果反而下降了,从侧面证明了在词向量级别的评测任务里,适当的字符结构信息能够有正面作用,而过细的粒度反而会导致词向量的效果不佳。
对于纠错模型的纠错候选生成任务而言,其结果如下:
应用于纠错候选生成任务的数据集分别为SIGHAN-2013,SIGHAN-2014, SIGHAN-2015三年数据的总和ALLSIGHAN,以及ocr_4575数据集和本实施例使用数据增强得到的YCG09_augmented数据集,数据集的详细信息如表5所示:
表5纠错候选生成任务相关数据集
ALLSIGHAN
ocr_4575
YCG09_augmented
平均样本长度
46.14
10.15
10
错误句子样本数
8064
4575
1853
错误字符样本数
11340
5862
1913
数据来源类型
散文
文章片段
文言文/新闻
其中ALLSIGHAN数据集的错误字符是由人工进行更改的,因此主要包含的错误类型是拼写错误,即大多数错误字符与原字符为同音字或近音字;而 ocr_4575是通过ocr模型识别出来的,但数据来源于较为场景的近代文章片段,没有文言文之类少见的数据,识别难度不高且纠错时上下文信息通常比较准确,对于纠错任务的帮助较大;而YCG09数据部分来源于文言文,导致基于中文 Wiki百科数据训练的语言模型对文言文识别错误几乎无法纠正,需要其它手段来辅助。
本实施例对于纠错字符候选生成模型的训练使用了以accuracy为指标的loss 进行神经网络训练。而评测任务考虑到中文基础字符的量级较大,使用accuracy 不能有效区分各种方法的优劣,故使用top-N的方式进行评价候选生成的好坏,若正确字符出现在前N个按置信度排列的序列中,即认为该次候选生成任务成功。
本实施例在三个数据集上分别验证了N在10,20和50三种情况下的候选生成效果,并以JWE作为baseline进行对比,实验结果如表6,表7,表8所示:
表6纠错候选生成模型top-10效果
Top-10
ALLSIGHAN
ocr_4575
YCG09_augmented
JWE
0.3654
0.3317
0.1716
JSWE
0.3509
0.3213
0.1705
JSWE_meta
0.3812
0.3384
0.1775
表7纠错候选生成模型top-20效果
Top-20
ALLSIGHAN
ocr_4575
YCG09_augmented
JWE
0.4344
0.3822
0.2057
JSWE
0.4195
0.3665
0.2030
JSWE_meta
0.4428
0.3951
0.2116
表8纠错候选生成模型top-50效果
Top-50
ALLSIGHAN
ocr_4575
YCG09_augmented
JWE
0.5306
0.4553
0.2555
JSWE
0.5118
0.4360
0.2517
JSWE_meta
0.5399
0.4682
0.2625
从表6,表7,表8的结果可以看出,将字符信息的粒度进一步细化,得到更多结构信息的JSWE_meta的字向量构成的候选生成模型效果最好。而只加了部分结构信息而没有细粒度化的JSWE反而效果下降了,这从侧面说明了在用于纠错候选生成模型的字向量训练过程中,字符的结构数据比笔画数据更为重要,因为在细粒度化的JSWE_meta数据集中,会递归的解构所有仍能拆分的字符,所有会有更多字符的结构数据。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。