合合信息对于文本纠错:晋升OCR工作准确率的办法了解
摘要:错字率是OCR工作中的重要指标,文本纠错须要机器具备人类程度相当的语言理解能力。随着人工智能利用的成熟,越来越多的纠错办法被提出。
近年来深度学习在OCR畛域获得了微小的胜利,但OCR利用中辨认谬误时有呈现。谬误的辨认后果不仅难以浏览和了解,同时也升高文本的信息价值。
在某些畛域,如医疗行业,辨认谬误可能带来微小的损失。因而如何升高OCR工作的错字率受到学术界和工业界的宽泛关注。合合信息通过本文来解说文本纠错技术帮忙更多人解决业务问题。通常文本纠错的流程能够分为谬误文本辨认、候选词生成和候选词排序三个步骤。
文本纠错办法可包含基于CTC解码和应用模型两种形式,上面别离对这两种纠错形式进行介绍。
1.Beam Search
该办法是针对CTC解码时的一种优化办法,这是因为当应用贪婪算法进行CTC解码时疏忽了一个输入可能对应多种对齐后果,导致在理论利用中错字率会颇高,并且无奈与语言模型联合。因此通过Beam Search的办法咱们可能失去top最优的门路,后续也能够利用其余信息来进一步优化搜寻后果。
1.1 prefix Beam Search[1]
因为有许多不同的门路在many-to-one map的过程中是雷同的,当应用Beam Search时只会抉择Top N个门路,这就导致了很多有用的信息被舍弃了,如图1所示,生成“a”门路的概率为0.2·0.4+0.2·0.6+0.8·0.4=0.52,而生成blank的门路概率为0.8·0.6=0.48,当应用最佳门路的搜寻形式会偏向于抉择blank的门路,而不是整体概率更大的a门路。所以就有了Prefix Beam Search,其根本思维是,在每个t时刻,计算所有以后可能输入的规整字符串(即去除间断反复和blank的字符串)的概率。而后用Beam Search的办法,在每个时刻选取最好的N个门路,从而将每个工夫点t上的搜寻空间变为常数。在计算最优门路概率时,以t=3时刻,规整字符串为“a”为例,如图2所示。对于t+1时刻的可能状况有6种,能够看出在Prefix Beam Search中将规整后的字符串分为了以blank和非blank结尾的两种状况来计算t+1时刻的概率。通过Prefix Beam Search办法,解决了在many-to-one map过程所导致的后果雷同而门路可能不同的问题,搜寻后果是针对具备雷同后果门路的排序,而不是繁多门路的排序。
1.2 Vanilla Beam S
对于输入是一个大小为 T × (C + 1) 的矩阵,进行解码时在每个工夫步t,每个beam-labeling都会被t+1时刻的所有可能的字符扩大,同时未被扩大前的beam-labeling也会被保留下来,这一搜寻过程能够示意为如图 3 所示的树状构造。为防止搜寻门路的指数增长,在每个工夫步仅保留N个最佳的beam-labeling。如果在t时刻两个beam-labeling相等,则会把二者的概率进行求和,而后删除其中一个来合并二者的门路。在这一过程中能够应用character-level LM的先验信息对beam-labeling可能的扩大进行打分。也能够引入一个词典,当呈现词汇表外的单词(OOV)时,就能够删除相干的beam,来保障解码后始终可能失去有意义的后果。
1.3 Word Beam Search[3]
VBS工作在字符级别,不会从语义级别去判断解码的内容是否合乎规定,而WBS办法能够综合前后几个字符的信息来取得以后字符的精确信息,在可能将解码后的单词限度在词典里的同时,还容许单词之间领有任意数量的非单词字符,并且在解码中还能够应用word-level LM的先验信息,来晋升对CTC解码的准确性。 在进行解码时,当beam-labeling被标记为单词状态时,应用依据词典事后形成的prefix-tree,如图4所示,来束缚解码的后果始终在词典中,当beam-labeling转换为非单词状态时,则不用受prefix-tree的束缚进而可能实现非单词字符的解码,beam-labeling状态的转换受将要扩大字符的影响,如果字符为词典字符(对英文来说词典字符能够定义为英文字母)则其状态为单词状态,字符为非词典字符则为非词典状态。通过WBS办法能够进一步升高解码时的错字率。
2.基于深度模型的文本纠错
针对文本纠错,除了在解码时引入Beam Search和LM先验常识来升高错字率外,还能够通过深度学习的办法,应用经过训练的纠错模型来辨认和纠正文本中呈现的谬误。
2.1 基于Seq2Seq 模型的纠错
在Confusionset-guided Pointer Networks for Chinese Spelling Check[4]文中,提出了应用混同集和门控机制相结合的中文纠错模型,如图5所示。纠错模型应用的时Encoder-Decoder模式,编码器应用的是BiLSTM,对中文文本按字符级别进行编码,解码器应用的是LSTM,在解码器进行解码时,不仅接管上一个token的embedding的特征向量,还承受通过注意力机制将编码器的文本特色聚合成一个蕴含上下文信息的特征向量,从而达到基于语义信息的文本纠错。在解码器的每个工夫t所生成的特征向量,一方面通过线性变换投影到vocabulary的向量空间用于生成候选字符,另一方面也会通过一个Softmax层形成的门控机制,用于决定以后时刻解码器的输入后果是否间接复制原始的文本字符。此外当门控机制不抉择间接复制时,并且当要预测的字符呈现在事后设定好的混同集中的时候,解码器则会在混同集中抉择候选的字符,而不是在整个词典向量空间中抉择。
2.2 FASPell[5]
尽管通过退出注意力机制Seq2Seq模型也能实现基于上下文信息的文本纠错,然而基于混同集进行候选词的结构,很容易在大量数据上过拟合,而且只利用混同集的办法也不够灵便,因为这一阈值是固定的导致字符之间的相似性没有被充分利用。
因此FASPell模型提出了基于预训练模型作为候选词生成器,并应用了置信度和类似度相结合的解码器实现不依赖混同集的中文纠错,模型构造如图6所示。首先是在Bert模型上进行训练(也就是文中说的自降噪编码器DAE),训练时将谬误的token用mask代替,为了避免过拟合也会随机对正确的token应用mask。
通过训练编码器生成的候选词后通过一个Confidence-Similarity Decoder,简略来说就是利用字符的字形和拼音类似度,再联合训练集上给出的置信度散布找出基于二者之间正确和谬误字符的分界线。在测试时不再仅仅依据Bert模型所给出的置信度来筛选候选词,而是加上候选字符与原始字符的类似度信息独特决定最终的后果。
FASPell尽管说该办法比RNN构造的纠错网络可能更快、更好的适用性、更加简略和更弱小,少了混同集但同时引入了字形类似度和拼音类似度,并且在解码时,决策边界的抉择也须要依据训练集进行调整,当训练集散布与理论应用时数据的散布不同时决策边界有可能也须要调整,能力获得较为理想的后果。
2.3 基于注意力机制的Seq2Seq纠错模型
针对英文的纠错在Denoising Sequence-to-Sequence Modeling for Removing Spelling Mistakes[6]一文中应用Bert 的注意力机制代替了RNN构造,模型构造如图7所示。其中编码器应用了6层多头注意力构造,解码器与编码器构造雷同,与Seq2Seq解码形式一样,按工夫程序生成纠错后的文本,为了实现这一过程,在解码时应用了mask机制,使得解码器在t时刻的只能看到t时刻之前的信息。
相比RNN构造的降噪模型,模型性能有所晋升,因为没有应用预训练模型须要较大的训练集进行训练,而且在文中并没有提及具体的试验细节,编码器的特色是怎么送入解码器中的,文中也没有具体提及。
2.4 Soft-Masked BERT[7]
文中指出因为Bert是基于mask进行训练的一种无监督模型,导致其只能拟合被mask局部的token散布,并不能辨认文本中的谬误,因此在纠错算法中个别须要额定的模块指出文本中的谬误,再将谬误的文本mask掉再送入Bert模型进而失去正确的文本。
而本文提出了一种soft-masked机制,送入Bert的文本不再被强制mask掉而是文本token的embedding和MASK token特色的加权和,如图8所示。具体做法是,应用一个BiLSTM模型用来判断文本中字符谬误的概率,记为p,在将文本送入Bert中时会对没给token的特色示意e i与MASK token的特色e mask 依照概率p进行加权,公式如下:e i’ = p · e mask + (1 − p) · e i
在训练时将文本谬误检测模块和纠错模块放在一起训练,并通过超参数λ来均衡两个工作的损失,通过试验验证,λ=0.8时整个文本纠错模型达到最优,阐明文本谬误检测工作比纠正工作要容易。
应用soft-masked机制,通过谬误概率p管制文本token进入纠错模型中的信息量的形式,防止了文本谬误检测时阈值的设计,毛病是该办法没有应用生成式的计划不太容易解决字符缺失的问题。
2.5 Chunk-Based[8]
鉴于大多数中文纠错模型都是针对具备类似字符形态或发音的文本纠错,对于没有字形类似和语音类似的错别字更正成果则个别,另一方面大部分纠错模型都是以pipeline的模式来实现的导致模型难以优化。针对以上毛病在Chunk-based Chinese Spelling Check with Global Optimization文中对纠错工作提出了改良,纠错流程如图9所示。
本文次要的奉献是扩大了混同集,以前的混同集次要是字形或发音类似的字符组成,而本中应用的混同集中也蕴含了语义相近的词组。另一方面是对于模型的优化办法,是基于句子级别的优化,以往模型只是针对个别字符输入后果的优化,很少思考整个语义上的最优后果。模型中的候选词是依据字形、语音和语义类似度生成的,其中语义类似度是由 FASPell模型失去。具体做法是将文中定义的编辑间隔、字形类似度、语音类似度、语义级别错字率等特色通过加权求和的形式来生成候选词的top K。在抉择候选词时,联合Beam Search办法思考了句子级别整体最优解的状况。在进行模型优化时应用了Minimum Error Rate Training (MERT)[9]办法,从而实现了文中所说的针对多特色组合排序的联结优化。
Chunk-based办法尽管能晋升纠错模型的体现,但仿佛看起来又回到了基于规定进行文本纠错的方向(增加了人为定义的编辑间隔,应用语义相近的词组对混同集进行了扩大),只不过以往基于规定的纠错办法都不可微,各个特色之间的权重设计往往须要依据教训设计,本文则通过一个线性层将这些特色进行了加权,而不须要人为设计最佳的权重参数。
小结
本文针对OCR的文本纠错工作进行了简略介绍,分为对针对CTC解码时的纠错和应用纠错模型两种形式。前者个别是应用Beam Search来搜寻最优的解码门路,并在搜寻过程中引入LM,应用相干语言的先验信息来进一步升高解码时的错字率,这样做的益处是相比于应用纠错模型的办法,不用引入额定的训练参数,实现起来较为简单,只是受OCR模型的限度,存在着性能晋升的下限。
后者则是针对解码后的文本进行纠错,经验了从基于Seq2Seq模型应用生成形式进行文本纠错,到应用预训练模型进行文本纠错的转变,纠错能力也有了很大的晋升,显示了出微小的发展潜力。
计划抉择
对于文本纠错,合合信息的了解是:严格来说Beam Search只是对CTC解码的优化,存在着优化下限(Beam长度为文本长度,找到全局最优解),只有当与基于统计LM(n-gram)相结合时才有着肯定的纠错能力,但往往是基于统计信息针对字词的纠错,对于语法和语义的纠错则能力无限。
然而Beam Search作为一种优化算法,在OCR模型部署时并不会引入额定的参数,计算也不简单,能够说是针对CTC解码优化的必备算法。针对中文和英文的不同特点,中文工作抉择VBS而英文工作抉择WBS较好。至于要不要引入LM的先验信息,能够视具体OCR工作决定。 当有必要应用纠错模型对OCR工作进行优化时,最为简略实现形式是Soft-Masked BERT,不须要额定定义例如字形类似度、语音类似度等参数,并且对中英文都实用。
但和Chunk-Based模型、FASPell模型一样模型主体应用的预训练模型(Bert),纠错形式并不是生成式,模型一个输出token对应着一个输入token,因而难以解决文本缺字和多字的问题。如果OCR后果缺字或多字的问题比较严重,优化计划能够将Bert模型改成与翻译模型相似的,基于注意力机制的Seq2Seq纠错模型。如果想进一步晋升模型的纠错能力,Chunk-Based模型是种不错的抉择,混同集的应用能够防止大部分常见的字形类似、拼音类似的谬误,只是混同集须要人工制作,编辑间隔也须要人为定义,算是一种基于规定和深度学习相结合的纠错形式。
参考文献:
[1] Hannun A Y , Maas A L , Jurafsky D , et al. First-Pass Large Vocabulary Continuous Speech Recognition using Bi-Directional Recurrent DNNs[J]. computer science, 2014.
[2] Hwang K , Sung W . Character-Level Incremental Speech Recognition with Recurrent Neural Networks[C]// IEEE. IEEE, 2016.
[3] Scheidl H , Fiel S , Sablatnig R . Word Beam Search: A Connectionist Temporal Classification Decoding Algorithm[C]// 2018 16th International Conference on Frontiers in Handwriting Recognition (ICFHR). 2018.
[4] Wang D , Yi T , Zhong L . Confusionset-guided Pointer Networks for Chinese Spelling Check[C]// Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics. 2019.
[5] Hong Y , Yu X , He N , et al. FASPell: A Fast, Adaptable, Simple, Powerful Chinese Spell Checker Based On DAE-Decoder Paradigm[C]// Proceedings of the 5th Workshop on Noisy User-generated Text (W-NUT 2019). 2019.
[6] Roy S . Denoising Sequence-to-Sequence Modeling for Removing Spelling Mistakes[C]// 2019 1st International Conference on Advances in Science, Engineering and Robotics Technology (ICASERT). 2019.
[7] Zhang S , Huang H , Liu J , et al. Spelling Error Correction with Soft-Masked BERT[J]. 2020.
[8] Bao Z , Li C , Wang R . Chunk-based Chinese Spelling Check with Global Optimization[C]// Findings of the Association for Computational Linguistics: EMNLP 2020. 2020.
[9] Franz Josef Och. Minimum error rate training in statistical machine translation. In Proceedings of the 41st Annual Meeting of the Association for Computational Linguistics, pages 160–167, Sapporo, Japan. Association for Computational Linguistics.2003.