CN110781898A - 一种中文ocr后处理的无监督学习方法 - Google Patents
一种中文ocr后处理的无监督学习方法 Download PDFInfo
- Publication number
- CN110781898A CN110781898A CN201911009431.3A CN201911009431A CN110781898A CN 110781898 A CN110781898 A CN 110781898A CN 201911009431 A CN201911009431 A CN 201911009431A CN 110781898 A CN110781898 A CN 110781898A
- Authority
- CN
- China
- Prior art keywords
- ocr
- model
- data
- character
- unsupervised learning
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012805 post-processing Methods 0.000 title claims abstract description 31
- 238000012937 correction Methods 0.000 claims abstract description 26
- 230000011218 segmentation Effects 0.000 claims description 18
- 238000002474 experimental method Methods 0.000 claims description 14
- 230000000694 effects Effects 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 6
- 238000013480 data collection Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000000052 comparative effect Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000006467 substitution reaction Methods 0.000 claims description 2
- 238000011160 research Methods 0.000 abstract description 9
- 238000012015 optical character recognition Methods 0.000 description 108
- 238000012549 training Methods 0.000 description 15
- 238000013527 convolutional neural network Methods 0.000 description 10
- 102100032202 Cornulin Human genes 0.000 description 7
- 101000920981 Homo sapiens Cornulin Proteins 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010187 selection method Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/273—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/50—Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
- G06V10/507—Summing image-intensity values; Histogram projection analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/28—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
- G06V30/287—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of Kanji, Hiragana or Katakana characters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Character Discrimination (AREA)
Abstract
收集了来自法律领域2014年至2018年不同地区的卷宗扫描件,涵盖几十种分辨率,基于大量的法律卷宗数据,并结合法律文书,融入领域知识,来进行对中文OCR后处理的研究。基于经典模型以及成熟OCR(Tesseract、百度OCR),构建了OCR识别模型。获取大量多样性的Witnesses,免去人工的标注。基于OCR识别系统的结果,提出一种基于无监督的多输入OCR纠错方法,构建OCR纠错模型,可以避免人为的大量标记。实验结果表明,在我们的语料库上,提出的非监督的学习模型,在准确率上有一定的提高。也进一步表明了,采用这种多输入无监督的学习方法可以很好地对OCR的识别结果进行纠正。
Description
技术领域
本发明涉及一种法条推荐方法,具体涉及一种中文OCR后处理的无监督学习方法,属于自然语言处理,图像处理技术领域。
背景技术
近年来,最高人民法院围绕全面依法治国战略部署,大力推进人民法院信息化建设。法律卷宗是整个案件审判流程的纸质记录文档,其一般都需要进行电子扫描存档。其内容涵盖很多,包括立案、拘留、逮捕、取保候审等强制措施手续、起诉意见书等涉及程序性的文书资料。也包括案件证据,包括物证照片,证人,被害人的询问笔录,鉴定意见,现场勘验报告等。法律卷宗的数字化,是促进法律智能化,在线化的关键步骤。但是受各种因素影响,比如图片质量较差,或者复杂的页面结构等,识别的结果有时并不是很好。进一步导致卷宗信息的提取受到影响。
OCR一直是图形识别领域一个重要的研究方向。其概念是来自于1929年,德国科学家Tausheck,定义为将印刷体的字符从纸质文档中识别出来。其中数据和方法是图像处理领域最重要的两个驱动因子,甚至是驱动整个人工智能前进的重要因素。
数据方面,目前有很多公开的数据集,同时大量的比赛也为OCR领域提供了充足的数据集。其中包括ICDAR2013,ICDAR2015,COCO-Text,SynthText。其中SynthText数据集包括800,000张图片和8,000,000裁剪图像补丁,其他数据集包含数量不是很多。以上这些都是基于英文的。而中文方面,已经公开出来的数据很少,大多都是自然语言场景下的图片。数据的缺少也是中文OCR的一个问题。
方法方面,传统的OCR大多是基于图像处理(包括图形二值化,像素投影分析,连通域分析等),其一般分为以下三个步骤,图形预处理,字符切分,单字识别。如今,深度学习在OCR中有很好的表现,相继出现了很多优秀的方法。包括RNN,TextCNN,CTPN等等。此外,互联网时代,催生了大量的无标签数据,这也使得人们加大了对无监督学习方法的研究,从而进一步利用这些数据。
一种中文OCR后处理的无监督学习方法的价值正体现在这两方面,一方面基于无监督的多输入OCR纠错方法,可以避免人为的大量标记。法条推荐可以为法官推荐案件可能适用的法条,提高法官的工作效率,帮助法官实现同案同判,确保公平正义,另一方面基于法律卷宗的OCR后处理提升识别的结果,从而进一步可以提取出其中的价值信息,促进法律智能化。
因此本发明以无监督学习为出发点,以经典方法系统为基础,法律卷宗扫描件为数据源,法律文书为领域知识,着重研究了一种中文OCR后处理的无监督学习方法。
发明内容
本发明是一种中文OCR后处理的无监督学习方法,收集了来自法律领域2014年至2018年不同地区的卷宗扫描件,因为扫描器以及各种人为操作影响因素,导致了我们的语料库质量涵盖范围比较广,涵盖几十种分辨率,针对这些,进行了人工的标注,作为我们有监督学习的标签。
根据常用的汉字,模拟真实场景,使用程序批量生成单字图片数据,同样基于领域文书资料,批量生成了很多行数据,同时依据大量法律文书中的重复文本作为我们无监督训练的来源之一,并且对这些数据进行了公开
提出了OCR识别模型和OCR纠错模型,其中OCR识别模型结合目前经典模型和成熟OCR系统(Tesseract,百度OCR)的结果。OCR纠错模型,则基于OCR识别系统的结果,提出了一种基于无监督的多输入OCR纠错方法,可以避免人为的大量标记。整个模型都是采用的业界经典的网络模型,没有采用特别复杂的网络层次结构。实验结果表明,在我们的语料库上,提出的非监督的学习模型,在准确率上有一定的提高,而搭建的OCR识别模型,在速度上与主流OCR系统识别结果相比,速度提高了将近两倍。
本发明所述的一种中文OCR后处理的无监督学习方法,其特征在于包含以下步骤:
步骤(1)数据收集;
步骤(2)数据预处理;
步骤(3)OCR识别模型构建;
步骤(4)无监督纠错模型构建;
步骤(5)具体实验。
2.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(1)中的数据收集,包括卷宗扫描件数据,法律文书数据,程序批量生成数据,构建训练语料。
3.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(2)中数据预处理,具体子步骤包括:
步骤(2.1)对于卷宗数据进行二值化操作。经过二值化后的卷宗图片中背景色(纸张颜色)呈白色,前景色(文字颜色)呈黑色,且的大部分噪点、阴影和其他干扰被去除;
步骤(2.2)直线去除。部分图片种可能会存在下划线或者表格框线,因为这些直线可能会影响后续的文字切分效果。所以首先去除这些直接是有必要的。对于这些直线的检测一般是使用霍夫变换,本系统采用速度更快的概率霍夫变换来检测长度大于一定比例的直线,并将它们的颜色置为背景色以去除;
步骤(2.3)投影直方图。我们使用投影直方图进行字符切分和行切分,投影直方图沿着指定方向累加图中的像素值。沿水平和垂直方向累加分别可以得到水平投影直方图和垂直投影直方图。水平投影直方图可以获得行切分,再进一步使用垂直投影直方图后,可以得到字符切分;
步骤(2.4)图片数据生成,原理是初始化画布,然后根据字库,在画布上写字。同时我们通过一系列图像增强操作,来确保图像数据的多样性。
4.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(3)中对OCR识别模型,具体子步骤包括:
步骤(3.1)单字模型构建;
步骤(3.2)多字模型构建;
步骤(3.3)业界成熟OCR识别系统。
5.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(4)中使用无监督方法,构建OCR纠错模型,是对OCR识别模型的结果,做进一步纠正。具体子步骤包括:
步骤(4.1)编辑距离计算。它是指从一个字符转化到另一个字符中所需要进行的插入,删除,和替换的操作;
步骤(4.2)构建语言模型。基于法律文书,采用5-gram的语言模型。使用KenLM工具,通过语言模型给Witnesses进行一个打分,得分高的作为我们的标记数据(groundtruth),得分低的则会删去;
6.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(5)中具体实验。具体子步骤包括:
步骤(5.1)实验参数设置;
步骤(5.2)对比实验。
本发明与现有技术相比,其显著优点是:首次基于法律领域中文卷宗OCR的纠错,进行研究,并且收集和生成了大量的该领域的数据。包括法律文书,法律卷宗数据等。充分利用这些数据,基于前人的研究基础之上,进行后处理的研究。构建OCR识别模型。提出一种思想“站在前人们的肩膀上进行OCR后处理”,其一包括,业界公认效果非常好的机器学习模型。包括图像领域的扛把子CNN,新秀CRNN,序列模型中的佼佼者RNN。包括目前业界公认的OCR识别系统,包括Tesseract,百度OCR。根据这些的识别结果,进行进一步的中文纠正。这些共同组成OCR识别模型,其结果正是我们需要进一步纠正的,也是我们OCR纠错模型的输入。构建OCR纠错模型,首次使用无监督的学习方法应用于中文法律卷宗图片的文字识别,可以免去人工的标记。以法律文书和OCR识别模型为基础,通过编辑距离,语言模型等经典方法,从中寻找了大量的Witnesses。本文整体工作系统流程图大致如图1所示
附图说明
图1一种中文OCR后处理的无监督学习方法系统流程框图
图2 RNN模型结构抽象图
图3 CRNN结构抽象图
图4 Seq2seq+Attention基本结构图
图5多输入模型结构图
图6法律文书集数据
图7汉字图片数据生成详情
图8数字母标点图片生成详情
图9行数据图片生成详情
图10图像二值化前后对比图
图11下划线去除前后对比图
图12水平投影直方图示例图
图13扰动项参数表
图14单字训练模型参数细节表
图15多字训练模型参数细节表
图16 Tesseract、cnn时间测试对比脚本示例
图17 OCR识别模型对比结果
图18 Witness=1,识别对比结果
图19 Witnesses为百度OCR和Tesseract,模型对比结果
图20 Witnesses选取多样时,模型结果对比表
图21编辑距离文字对齐示意图
具体实施方式
为使本发明的目的、技术方案和优点更加清晰,下面将结合附图及具体实施例对本发明进行详细描述。
本发明的目的是解决法律卷宗扫描件的OCR后处理问题,是一种中文OCR后处理的无监督学习方法,站在前人的肩膀上,提出了OCR识别模型和OCR纠错模型,其中OCR识别模型结合目前经典模型和成熟OCR系统(Tesseract,百度OCR)的结果。OCR纠错模型,则基于OCR识别系统的结果,提出了一种基于无监督的多输入OCR纠错方法,可以避免人为的大量标记。整个模型都是采用的业界经典的网络模型,没有采用特别复杂的网络层次结构。实验结果表明,在我们的语料库上,提出的非监督的学习模型,在准确率上有一定的提高,而搭建的OCR识别模型,在速度上与主流OCR系统识别结果相比,速度提高了将近两倍。本发明概括来说主要包括以下步骤:
步骤(1)数据收集;
步骤(2)数据预处理;
步骤(3)OCR识别模型构建;
步骤(4)无监督纠错模型构建;
步骤(5)实验结果。
上述一种中文OCR后处理的无监督学习方法的详细工作流程如图1所示。这里将对上述步骤进行详细描述。
1.数据驱动的一个重要方面,我们收集了来自法律领域的卷宗扫描件数据。也收集了大量的法律文书,基于法律文书,使用程序批量生成了行数据。同样,人工基于7000个通用汉字,具体分为最常用,较常用,不常用三种类型,生成了数量不同,字体不一的单字图片。当然同时也基于标点符号,数字字母等,生成相应的图片字块数据。结合目前业界公认的OCR系统,百度OCR和Tesseract。使用它们对我们的图片数据进行识别,并且充分利用这些数据,作为Witnesses的来源之一。由于诉讼种类繁多,考虑案件的案由可以有效缩小法条推荐的范围,因此首先根据案由从裁判文书数据库中提取裁判文书集,构建训练语料。具体步骤是:
步骤(1.1)法律卷宗数据收集。法律卷宗是整个案件审判流程的纸质记录文档,其一般都需要进行电子扫描存档。其内容涵盖很多,包括立案、拘留、逮捕、取保候审等强制措施手续、起诉意见书等涉及程序性的文书资料。也包括案件证据,包括物证照片,证人,被害人的询问笔录,鉴定意见,现场勘验报告等。法律卷宗的数字化,是促进法律智能化,在线化的关键步骤。但是受各种因素影响,比如图片质量较差,或者复杂的页面结构等,识别的结果有时并不是很好。进一步导致卷宗信息的提取受到影响。
我们使用一款pdf转图片的工具,名称叫做Mupdf。因为这些扫描件来自不同的扫描仪扫描而成,图片像素种类丰富,图片的质量涵盖也比较广。我们对这些图片都进行了二值化,角度纠正等预处理工作,进行了字块切分,行切分,并且进行了人工标注;
步骤(1.2)法律文书数据收集。法律文书是法律领域重要的文件,其是司法行政机关及当事人、律师等在解决诉讼和非讼案件时使用的文书,包括了案件描述,案件诉讼的整个过程,案件的审判结果等重要信息。选取了民事,刑事,行政三种类型的文书,详细见图6;
步骤(1.3)综合生成数据。我们选择了5个评估人,根据通用的7000个汉字,综合选择评估人觉得最优的,按照使用的程度,划分为了最常用汉字,较常用汉字,和不常用汉字。并且基于这些汉字生成一定的图片数据。数据详情见图7。也对标点符号,数字字母生成了相应的图片数据,见图11。其中数字字母包括62个,标点符号选择了35个常用标点符号。单字数据生成好了以后,我们依据法律文书,以10个字符为一个序列,生成一系列行数据。具体见图9总容量大概是4.9G;
步骤(1.4)OCRs’outputs。借助成熟OCR的识别结果,使用百度OCR,Tesseract,用于识别我们的卷宗图片数据。通过对8.175G的卷宗数据进行行切分,然后进行了一定的筛选,得到3451280张行图片数据。我们对齐使用百度OCR和Tesseract进行识别,再经过一定的对齐操作。便可以作为我们后续无监督学习的Witnesses的来源之一。
2.为了得到更好的数据,在步骤2中需要对步骤1收集的部分数据进行预处理。具体步骤是:
步骤(2.1)对于卷宗数据进行二值化操作。首先我们对pdf卷宗扫描件使用Mupdf工具,将pdf转化成了具体图片。然后对于输入的图片进行二值化操作。该方法会将图像中的每一个大于临界值的像素灰度置为最大像素灰度,将每一个小于临界值的像素灰度置为最小灰度。其中,临界值可以是人为固定的常量,也可以是针对目标图像的自适应值,本系统采用大津算法(OTSU)对图像进行二值化处理。OTSU尝试找到一个最佳的临界值以把图片中的像素分为两类,使得类间方差最大。二值化之后的前后对比图片见图10果所示,经过二值化后的卷宗图片中背景色(纸张颜色)呈白色,前景色(文字颜色)呈黑色,且的大部分噪点、阴影和其他干扰被去除;
步骤(2.2)直线去除。部分图片种可能会存在下划线或者表格框线,因为这些直线可能会影响后续的文字切分效果。所以首先去除这些直接是有必要的。对于这些直线的检测一般是使用霍夫变换,本系统采用速度更快的概率霍夫变换[KEB1991]来检测长度大于一定比例的直线,并将它们的颜色置为背景色以去除。去除线之后的图片如图8所示;
步骤(2.3)投影直方图。我们使用投影直方图进行字符切分和行切分,投影直方图沿着指定方向累加图中的像素值。沿水平和垂直方向累加分别可以得到水平投影直方图和垂直投影直方图。水平投影直方图可以获得行切分,再进一步使用垂直投影直方图后,可以得到字符切分。进行行切分的水平投影直方图见图12。进行文字行切分时需要参考水平投影直方图,如图12所示,图中左侧代表图片的水平投影,一般来说,可以根据该直方图中的零值确定行分割线,但当图像中的噪点过多或者有其他干扰时,直方图中可能找不到这样的零值。这时应当将直方图进行平滑,并根据图中极小值来确定分割点。图12的右侧表示平滑后的水平投影直方图,并使用灰色横线表示行的切分。在切分出行后,将对每一行进行字的切分,字的切分不采用平滑策略。在进行字切分的同时,基于行内文字的字体大小相同这一假设,系统会对每一行计算该行字符的“标准宽度”。标准宽度指一个汉字的宽度,阿拉伯数字、英文和部分标点符号占半个标准宽度。计算标准宽度主要分为3步:
步骤(2.3.1)计算每一个字符的宽度与行宽度的比值,并将其装入0.1~1.0的10个桶;
步骤(2.3.2)将10个桶按桶内字符数量(重量)降序排列;
步骤(2.3.3)取排序后的最重的两个桶。这是因为重量最大的两个桶应当就是装数字、英文的桶和装汉字的桶,哪一个重量更大取决于该行汉字多还是英文和数字多。并将其中宽度较大的桶对应的宽度作为标准宽度。
经过以上操作,我们可以获得经过预处理之后得到的卷宗行数据和字符数据,并且进行了人工筛选,对其中部分图片含有照片,手写体或者质量极差的图片进行了删除;
步骤(2.4)图片数据生成,原理是初始化画布,然后根据字库,在画布上写字。同时我们通过一系列图像增强操作,来确保图像数据的多样性,具体参数详细见图13。
3.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(3)中对OCR识别模型,其输入是文字图片数据,输出则是文本数据,也是我们需要纠正的数据。模型的训练,采用了几种策略,包括自己学习训练出识别模型,单字模型和多字模型,以及采用目前业界主流的OCR系统。训练的识别模型,训练数据是使用程序批量生成的,包括单字数据和行数据,见步骤(1)所述。最后,使用模型p(text|img)去预测我们的卷宗数据,得到相应的文本数据。业界主流的成熟的OCR系统则是采用了百度OCR和Tesseract。具体子步骤包括:
步骤(3.1)单字模型构建;对单字模型的训练,采用经典的卷积神经网络,本文后面就简称为CNN。1998年LeNet5的提出,使得CNN逐渐进入大众的视野。LeNet5网络结构结构比较简单,只包含CNN网络的基本组件,比如卷积层,池化层,全连接层。其在手写数字识别上的出色表现,进一步也促进了计算机视觉的发展。其后也相继出现了基于卷积神经网络的一些改进和变体。AlexNet,其是在2012年ImageNet竞赛中被提出来,并且刷新了该比赛的记录。相较LeNet,其加入了非线性激活函数ReLU,并且加入了Dropout,Dataaugmentation防止模型的过拟合。VGG-Net较AlexNet使用了更多的层。GoogleNet提出了Inception结构,其扩大了网络的深度和宽度,带来性能上的巨大提升。ResNet提出了一种减轻网络训练负担的残差学习框架,本质上网络层次更深,但是却具有较低的复杂度,在2015年ImageNet比赛中取得最好成绩。在本文中,出于从时间复杂度方面考虑,我们先实现简单的网络结构,采用经典的4层CNN结构,在LeNet5的基础上,使用了激活函数ReLU。大致的网络基础模块结构详细见图2;
步骤(3.2)多字模型构建;对于行数据的训练,我们使用CRNN的模型,实现端到端的不定长的文字识别。CRNN算法思想很简单,该模型架构一共三层,分别是卷积层,循环层和解释层。其中卷积层采用CNN,作用是从图片中提取出特征序列,这边我们实践经典CNN网络,在其基础上加上了归一化操作。同时也实现了VGG16。循环层,则采用RNN,预测卷积层提取出的特征序列的真实值。这边我们使用bidirectional LSTM和bidirectional GRU。最后是解释层,则是使用CTC,作用是对循环层的预测结果,进行对齐矫正等操作,从而得到最终的结果。该模型是一个端到端的模型,输出对应标签数据y={y1,y2,…,yN},模型的输入则是我们人工生成的行数据图片。整个模型的结构图如图3所示;
步骤(3.3)业界成熟OCR识别系统。使用目前业界公认成熟的OCR系统作为我们的OCR模型。我们采用了其中两个。其中一个是百度OCR,其是业界首个公有云OCR产品,基于百度深度学习研究院(IDL)强大的深度学习算法和中文检测识别技术,其中文识别准确率达85%以上,英文91%以上。其在OCR领域的表现在国际上也有很深的影响力。其在2015至2019年期间多次获得ICDAR 2013、ICDAR 2015、ICDAR 2017-MLT、ICDAR2017-RCTW权威集合检测、识别、端到端各项任务榜单第一。在2019年更是作为竞赛组织者举办了ICDAR 2019。其在中文识别上的强大优势,也促使我们选择了它。因此我们调用了百度OCR的API对于我们的数据进行了识别。
另一个则是采用的Tesseract,其是Ray Smith于1985到1995年间在惠普布里斯托实验室开发的一个OCR引擎,目前已作为开源项目发布在Google Project,从其版本3.0之后就已经支持中文识别。其在业界也很受认可,并且也支持多国语言。因此我们也选择其作为我们的另一个OCR模型。
4.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(4)中使用无监督方法,构建OCR纠错模型,是对OCR识别模型的结果texti={xi1,xi2,…,xiL},做进一步纠正。其每一行数据是字符序列文字x={x1,x2,…,xN}。对于同一个图片,使用不同的OCR识别系统可能会产生不同的识别结果。当我们只选取其中一个Witness时,模型为p(y|x),这时可以看做是单输入纠错模型作用是对单个的字符序列进行纠错。当我们采用多个OCR识别系统时,模型为p(y|X),其中X={x1,x2,…,xm},可以看作是多输入模型。具体子步骤包括:
步骤(4.1)编辑距离计算。对于同一个图片,不同的OCR识别系统可能会得到不一样的结果。可能会导致文本不对齐,产生漏字,多字等问题,这时就需要进行文字的对齐。文字对齐,已有的方法有很多,比较经典也比较有效的方法是编辑距离。它最早是提出用来评估两个字符串之间的相似度。它是指从一个字符转化到另一个字符中所需要进行的插入,删除,和替换的操作。本论文我们分别采用了以上两种做法,并且进一步又为我们提供了不同的数据,文字对齐之后的结果如下图21,其中,我们采用##代表需要插入的字符。在实际实验中,则是随机插入的我们字库中的字符。
步骤(4.2)构建语言模型。基于法律文书,采用5-gram的语言模型。使用KenLM工具,通过语言模型给Witnesses进行一个打分,得分高的作为我们的标记数据,得分低的则会删去。并且基于一定顺序进行排序。使用上述训练好的主题模型将用户输入的案件基本情况和裁判文书集中的案件基本情况段落转化成主题概率分布;
步骤(4.3)多输入无监督模型构建。多输入的模型则是采用的无监督的训练模型,在缺少标签数据(ground truth)的情况下,我们使用Witnesses作为我们的标签。其可以看作是一个编码,解码的端到端的机器翻译模型。使用的是BRNN的两个经典模型,为BLSTM模型和BGRU模型。解码阶段也是使用的RNN但是添加了一层Attention。详细见图4。
多输入模型p(y|X),通过联合同一图片的不同Witnesses,来预测我们的目标序列y。此处X={x1,x2,…,xm}。这时,其中每一个序列其中Lj是指第j个序列的长度,j∈(1,m)。相应每层的隐藏状态设为各层隐藏状态的序列组合相应为h′={h′1,h′2,…,h′m}。当Witnesses我们只选取一个时,这时可以看做是单输入的模型p(y|x),解决的是单序列x的字符纠正。我们同样联合了Attention模型,基于多输入的这种情况,可以使得我们去考虑使用不同的Attention策略,包括Flat Attention,GlobalAttention,Local Attention,Hierarchical Attention,详细见图5。
5.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(5)中具体实验。具体子步骤包括:
步骤(5.1)实验参数设置。Single_char model单字训练模型,采用基础的四层CNN网络结构。其中训练集和测试集的划分比例为10∶1。设置的epoch为100,batch大小为128。详细的训练参数见图14。Multi_char model多字训练模式,使用CRNN,我们沿用了中的实验参数,不同于其论文中使用的100*32的图像,我们使用的是280*32,并且CNN采用的是VGG16。RNN部分使用了双向LSTM,隐藏层单元数为256,CRNN采用了两层BiLSTM来组成这个RNN层。具体的参数设置见图15。
步骤(5.2)对比实验。我们对各个OCR识别模型在识别准确率和速度方面进行了比较。其中Tesseract使用的是最新版本4.0。百度OCR使用的是百度提供的最新API。使用的接口模块是通用文字识别其中。速度的比较是基于同一硬件环境,使用的python自带time()函数。以Tesseract与基础CNN模型的对比为例,测试速度的脚本见图16。识别的准确率,是通过人工进行评估,一共5个人,分别统计出识别扫描出的结果与正确结果的数量,然后求取5个人的平均值,最终作为我们的。速度方面这也是取的平均值。详细结果见图17。实验结果发现,百度OCR的识别效果总体上是最突出的,但是速度上确是最慢的,Single_charmodel的识别准备率是最低的,速度上却很有优势,这大概是因为其使用的是早期最经典的OCR识别方法,网络模型也不是很复杂,所以速度上拥有压倒性优势。而Tesseract是谷歌提出的开源工具,业界饱受好评,但是就我们实验发现,其对于中文的识别,效果还是不如国内的百度OCR做的更好。而muiti_char model则是基于最近刚刚被提出来的经典模型CRNN,其在OCR方面的识别也是受到业界所认可的。总的来说,几种OCR识别模型,识别的结果,出于不同的原理,所以他们之间其实可以形成很好的互补关系。这四种识别的结果,通过文本对齐之后,也分别都纳入Witnesses中。
OCR纠错模型是对前面OCR识别模型的结果进行纠正。其输入是Witnesse,实验的baselines,我们选择了PCRF模型,该模型在提出了对于解决单输入的OCR后处理任务很有效果。另外我们也实现了不含Attention的端到端的模型,和含有Attention的端到端的模型。同时我们也比较了不同Witnesses的选取对于结果的影响。首先我们选取了Witnesses中不同衡量方式中最好的一种Witness,作为我们的输入数据。详细实验结果,如图18。实验结果发现,Seq2Seq+Attention是所有模型里面效果最好的,并且好于OCR识别模型中除了百度OCR以外的其他几种识别模型。而单独的Seq2Seq和加了Attention之后的两种模型,效果上还是有很大差别,这也充分体现了Attention在端到端的模型中发挥的强大作用。而PCRF的表现也不是特别好,其可能也正如其论文中所述,还是比较适合有限的数据集。而总体来说,采用语言模型所选出的最好的Witness,会对结果产生一定的提升,也进一步说明了数据的重要性。
对于多输入的模型,我们联合了各种Attention机制,并且对于其中的Witnesses的选取我们采用的至少两个Witnesses作为输入,并且也比较了Witnesses的数量对结果的影响。下面我们先采用的百度OCR和Tesseract的Witnesses作为输入的实验结果。之所以选这两个,是因为其在OCR识别系统里面是效果最好的两个。最终的实验结果见图19。结果可以看出,Hierarchical Attention的结果是最好的,相较于单输入模型中最好的结果,错误率降低了3.1%。并且可以看出整个多输入模型都要明显好于单输入的模型。同样当我们还是选择两个Witnesses,但Witnesses选取范围扩大时。实验结果如图20。由图20表中数据结果可知,在各种Witnesses选取方法中,随机选取的方式总是最差的,比单纯使用成熟OCR系统结果作为Witnesses的所有结论都差,这也进一步证明了随机选取Witnesses的方式不是特别可取,所以在后续的实验中,我们摒弃了随机选取Witnesses的这种方式。Majorityvote和Language model相比,普遍情况下,还是基于语言模型的方式效果更佳出色,因为语言模型相较于Majority vote考虑了句子字符间的关系,能够捕捉更多的特征信息。而几组结果中最好的结果,依然是基于Hierarchical Attention,其基于Language model的方式,比单纯使用百度OCR和Tesseract作为Witnesses提升0.16%。基于local Attention的方式则要提升0.09%。
上面已经参考附图本发明实施的一种中文OCR后处理的无监督学习方法进行了详细描述。本发明具有如下优点:基于大量的法律卷宗数据,并结合法律文书,融入领域知识,来进行对中文OCR后处理的研究。基于经典模型以及成熟OCR(Tesseract、百度OCR),构建了OCR识别模型。也进一步获取得到了大量多样性的Witnesses,可以免去人工的标注。同样构建OCR纠错模型对识别模型的结果进行纠错,实现了端到端的单输入模型,结果发现引入了Attention机制的效果是最好的。因此在多输入模型中,我们实现了各种策略不同的Attention机制,并且做了比较,实验结果发现Hierarchical Attention的结果最好。也进一步表明了,采用这种多输入无监督的学习方法可以很好地对OCR的识别结果进行纠正。
需要明确,本发明并不局限于上文所描述并在图中示出的特定配置和处理。并且,为了简明起见,这里省略对已知方法技术的详细描述。当前的实施例在所有方面都被看作是示例性的而非限定性的,本发明的范围由所附权利要求而非上述描述定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的范围之中。
Claims (6)
1.一种中文OCR后处理的无监督学习方法,其特征在于包含以下步骤:
步骤(1)数据收集;
步骤(2)数据预处理;
步骤(3)OCR识别模型构建;
步骤(4)无监督纠错模型构建;
步骤(5)实验结果。
2.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(1)中的数据收集,包括卷宗扫描件数据,法律文书数据,程序批量生成数据,构建训练语料。
3.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(2)中数据预处理,具体子步骤包括:
步骤(2.1)对于卷宗数据进行二值化操作。经过二值化后的卷宗图片中背景色(纸张颜色)呈白色,前景色(文字颜色)呈黑色,且的大部分噪点、阴影和其他干扰被去除,通过二值化可以使得图片质量变得干净,方便后续的操作;
步骤(2.2)直线去除。部分图片种可能会存在下划线或者表格框线,因为这些直线可能会影响后续的文字切分效果。所以首先去除这些直接是有必要的;
步骤(2.3)投影直方图。我们使用投影直方图进行字符切分和行切分,投影直方图沿着指定方向累加图中的像素值。沿水平和垂直方向累加分别可以得到水平投影直方图和垂直投影直方图。水平投影直方图可以获得行切分,再进一步使用垂直投影直方图后,可以得到字符切分;
步骤(2.4)图片数据生成,原理是初始化画布,然后根据字库,在画布上写字。同时我们通过一系列图像增强操作,来确保图像数据的多样性。
4.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(3)中对OCR识别模型,具体子步骤包括:
步骤(3.1)单字模型构建;
步骤(3.2)多字模型构建;
步骤(3.3)业界成熟OCR识别系统。
5.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(4)中使用无监督方法,构建OCR纠错模型,是对OCR识别模型的结果,做进一步纠正。具体子步骤包括:
步骤(4.1)编辑距离计算。它是指从一个字符转化到另一个字符中所需要进行的插入,删除,和替换的操作。
步骤(4.2)构建语言模型。基于法律文书,采用5-gram的语言模型。使用KenLM工具,通过语言模型给Witnesses进行一个打分,得分高的作为我们的标记数据,得分低的则会删去。
6.根据权利要求1所述的一种中文OCR后处理的无监督学习方法,其特征在于步骤(5)中具体实验。具体子步骤包括:
步骤(5.1)实验参数设置;
步骤(5.2)对比实验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911009431.3A CN110781898A (zh) | 2019-10-21 | 2019-10-21 | 一种中文ocr后处理的无监督学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911009431.3A CN110781898A (zh) | 2019-10-21 | 2019-10-21 | 一种中文ocr后处理的无监督学习方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110781898A true CN110781898A (zh) | 2020-02-11 |
Family
ID=69386497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911009431.3A Pending CN110781898A (zh) | 2019-10-21 | 2019-10-21 | 一种中文ocr后处理的无监督学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781898A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340032A (zh) * | 2020-03-16 | 2020-06-26 | 天津得迈科技有限公司 | 一种基于金融领域应用场景的字符识别方法 |
CN111461239A (zh) * | 2020-04-03 | 2020-07-28 | 成都考拉悠然科技有限公司 | Ctc场景文字识别模型的白盒攻击方法 |
CN112016481A (zh) * | 2020-08-31 | 2020-12-01 | 民生科技有限责任公司 | 基于ocr的财务报表信息检测和识别方法 |
CN113434491A (zh) * | 2021-06-18 | 2021-09-24 | 深圳市曙光信息技术有限公司 | 面向深度学习ocr识别的字模数据清洗方法、系统及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239861A (zh) * | 2014-09-10 | 2014-12-24 | 深圳市易讯天空网络技术有限公司 | 卷曲文本图像预处理方法和彩票扫描识别方法 |
CN105740857A (zh) * | 2016-01-31 | 2016-07-06 | 华南理工大学 | 一种基于ocr的快速纸笔投票结果自动采集与识别系统 |
CN107220639A (zh) * | 2017-04-14 | 2017-09-29 | 北京捷通华声科技股份有限公司 | Ocr识别结果的纠正方法和装置 |
CN107491730A (zh) * | 2017-07-14 | 2017-12-19 | 浙江大学 | 一种基于图像处理的化验单识别方法 |
CN109447055A (zh) * | 2018-10-17 | 2019-03-08 | 甘肃万维信息技术有限责任公司 | 一种基于ocr字形相近文字识别方法 |
-
2019
- 2019-10-21 CN CN201911009431.3A patent/CN110781898A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239861A (zh) * | 2014-09-10 | 2014-12-24 | 深圳市易讯天空网络技术有限公司 | 卷曲文本图像预处理方法和彩票扫描识别方法 |
CN105740857A (zh) * | 2016-01-31 | 2016-07-06 | 华南理工大学 | 一种基于ocr的快速纸笔投票结果自动采集与识别系统 |
CN107220639A (zh) * | 2017-04-14 | 2017-09-29 | 北京捷通华声科技股份有限公司 | Ocr识别结果的纠正方法和装置 |
CN107491730A (zh) * | 2017-07-14 | 2017-12-19 | 浙江大学 | 一种基于图像处理的化验单识别方法 |
CN109447055A (zh) * | 2018-10-17 | 2019-03-08 | 甘肃万维信息技术有限责任公司 | 一种基于ocr字形相近文字识别方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111340032A (zh) * | 2020-03-16 | 2020-06-26 | 天津得迈科技有限公司 | 一种基于金融领域应用场景的字符识别方法 |
CN111461239A (zh) * | 2020-04-03 | 2020-07-28 | 成都考拉悠然科技有限公司 | Ctc场景文字识别模型的白盒攻击方法 |
CN111461239B (zh) * | 2020-04-03 | 2023-05-09 | 成都考拉悠然科技有限公司 | 基于白盒攻击的ctc场景文字识别模型优化方法 |
CN112016481A (zh) * | 2020-08-31 | 2020-12-01 | 民生科技有限责任公司 | 基于ocr的财务报表信息检测和识别方法 |
CN112016481B (zh) * | 2020-08-31 | 2024-05-10 | 民生科技有限责任公司 | 基于ocr的财务报表信息检测和识别方法 |
CN113434491A (zh) * | 2021-06-18 | 2021-09-24 | 深圳市曙光信息技术有限公司 | 面向深度学习ocr识别的字模数据清洗方法、系统及介质 |
CN113434491B (zh) * | 2021-06-18 | 2022-09-02 | 深圳市曙光信息技术有限公司 | 面向深度学习ocr识别的字模数据清洗方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Khan et al. | Table structure extraction with bi-directional gated recurrent unit networks | |
US10936862B2 (en) | System and method of character recognition using fully convolutional neural networks | |
Parvez et al. | Offline Arabic handwritten text recognition: a survey | |
US7499588B2 (en) | Low resolution OCR for camera acquired documents | |
Pradeep et al. | Diagonal based feature extraction for handwritten character recognition system using neural network | |
CN110781898A (zh) | 一种中文ocr后处理的无监督学习方法 | |
CN111259724A (zh) | 从图像中提取相关信息的方法和系统及计算机程序产品 | |
Nguyen et al. | Attempts to recognize anomalously deformed Kana in Japanese historical documents | |
CN110114776B (zh) | 使用全卷积神经网络的字符识别的系统和方法 | |
CN103761531A (zh) | 基于形状轮廓特征的稀疏编码车牌字符识别方法 | |
CN104156706A (zh) | 一种基于光学字符识别技术的中文字符识别方法 | |
Nikitha et al. | Handwritten text recognition using deep learning | |
Indian et al. | A survey of offline handwritten Hindi character recognition | |
Ghosh et al. | R-phoc: segmentation-free word spotting using cnn | |
Al-Taee et al. | Handwritten recognition: A survey | |
Kumar et al. | Scene text recognition using artificial neural network: a survey | |
Nath et al. | Improving various offline techniques used for handwritten character recognition: a review | |
Kataria et al. | CNN-bidirectional LSTM based optical character recognition of Sanskrit manuscripts: A comprehensive systematic literature review | |
Mostafa et al. | An end-to-end ocr framework for robust arabic-handwriting recognition using a novel transformers-based model and an innovative 270 million-words multi-font corpus of classical arabic with diacritics | |
Joshi et al. | Combination of multiple image features along with KNN classifier for classification of Marathi Barakhadi | |
Faisal et al. | Enabling indexing and retrieval of historical arabic manuscripts through template matching based word spotting | |
Ajao et al. | Yoruba handwriting word recognition quality evaluation of preprocessing attributes using information theory approach | |
Sahu et al. | Survey and analysis of devnagari character recognition techniques using neural networks | |
Krithiga et al. | Ancient character recognition: a comprehensive review | |
Shtaiwi et al. | End-to-End Machine Learning Solution for Recognizing Handwritten Arabic Documents |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200211 |
|
WD01 | Invention patent application deemed withdrawn after publication |