基于OCR技术的政府机关制度文件文字内容识别研究
2021-04-25欧杰
欧杰
摘要:制度及规范性文件是内部审计人员开展现场审计工作以及审计发现问题定性时的重要依据,经常需要反复检索查阅,但由于政府机关的电子制度文件主要以纸质扫描图片或电子公文系统生成的pdf文件等形式保存,无法进行全文检索。为此,笔者运用Tesseract-OCR开源OCR引擎,将图片和pdf文件中的文字内容识别并提取出来,为实现制度内容的全文检索奠定了基础。
关键词: OCR技术;python;制度文件
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)09-0201-02
开放科学(资源服务)标识码(OSID):
1 背景
制度及规范性文件是内部审计人员开展现场审计工作以及审计发现问题定性时的重要依据,常需要反复检索查阅,但由于大量相关文件均为纸质扫描图片或由电子公文系统生成的pdf文件,难以全文检索快速定位,为提高审计发现的效率和精准度带来极大不便。
为解决上述问题,笔者基于python和开源的OCR引擎Tesseract-OCR实现了将图片、PDF格式的制度文件批量转换为可编辑的doc文件的工具。
2文件可编辑转换研究
制度文件可编辑转换是在广西人民银行内审监督制度库项目背景下的一项研究,由于广西人民银行系统内历史及现行制度的电子保存格式主要以tif、jpg、png、pdf等难以读取文字内容的文件格式为主,不利于对制度内容的全文检索,给审计人员快速查阅制度带来障碍。因此需要将相关制度内容进行全文录入,但如果仅依靠人力录入,则耗时费力。
Tesseract-OCR是由惠普公司开发的一个开源OCR引擎(Optical Character Recognition,光学字符识别),可识别多种格式的图像文件并将其转换成文本[1]。利用此项技术,为快速提取相关制度文件文字内容提供了可能。
2.1 图像纠偏
对于通过扫描形成的制度及规范性文件,由于人工操作原因,图像倾斜的情况在所难免。而倾斜的图片使得文字识别正确效率大大降低,因此,在文字识别前需要对倾斜的图像先进行校正。对于图像纠偏,本文主要运用霍夫(Hough)变换算法来检测图像中的直线,再根据直线的斜率判断图片倾斜的角度来进行纠偏。纠偏前后效果对比如图1、2所示:
2.2 文件可编辑转换研究
(1)jpg、png等一般图片文件转换
对于jpg、png等一般图片格式的文件,可以利用Tesseract-OCR直接进行图片中文字识别,关键代码如下:
[from PIL import Image
import pytesseract
img = Image.open(path)# path是图片文件地址
text = pytesseract.image_to_string(img,lang='chi_sim')
#chi_sim为中文简体字库 ]
(2)tif格式文件转换
tif文件多包含多张扫描图片,需要分别对各张图片进行识别后再进行合并,关键代码如下:
[img = Image.open(path)
text = ''
for i in range(img.n_frames)#遍历获得tif文件内包含的每张图像
img.seek(i)
text=text+pytesseract.image_to_string(img,lang='chi_sim') ]
(3)pdf格式文件转换
pdf文件是一種格式化、面向页面的文档,包含文本、图像及其他多媒体内容[2]。虽然可以通过pdfminer等第三方库解析pdf文件来获得其中的文本内容,但在实际使用中发现,对pdf文件中图像所包含的文本内容无法通过解析获得。因此,考虑使用PyMuPDF第三方库,将pdf文件逐页转换成图片,再对各个图片进行文字识别。关键代码如下:
[import fitz #fitz是PyMuPDF中的一个模块
doc = fitz.open(path)
for pg in range(doc.pageCount):#逐页遍历pdf文件
page = doc[pg]
pp = page.getPixmap(alpha=False)
pp.writePNG('%s%s.png' %path+'/',pg))#按页码命名保存pdf文件中的各页 ]
3批量制度文件转换程序设计
3.1 流程设计
利用PyQt5进行人机操作界面设计,并采用PyInstaller进行封装后,形成可移植程序(见图3)。
用户在选择需要进行转换的文件类型、路径及结果保存路径后,即可执行转换程序,根据不同的文件类型分别进行处理,具体流程详见图4。
(1)对于jpg、png等一般类型的图片,系统在进行图像纠偏后,再进行图片识别,最后将结果输出为word文档。
(2)对于pdf文件,系统会首先将pdf文件逐页转换为图像,再对图像进行纠偏,然后再对各个图片进行图像文字识别,最后将识别结果输出为word文档。
(3)对于tif文件,系统会首先读取文件内的各个图像分页,再对各个图像分页进行纠偏,然后再对各个图像分页内的文字进行识别,最后将识别结果输出为word文档。
3.2 效果分析
以图1为例进行识别,识别效果如图5所示。
从识别结果可以看出,由于制度文件采用的均为印刷体文字,在对制度文件进行识别时,文字识别率较高。经过测试,文字识别率能达到95%以上,但是对于标点符号识别正确率较低,这和文件的扫描质量相关,而通过对Tesseract-OCR所使用的中文字库进行训练后,可进一步提高识别准确率。
4结论
通过运用OCR技术,对以jpg、tif、pdf等格式保存的制度文件进行文字内容识别提取,可以有效提高工作效率,减少不必要的工作量,为实现制度文件内容的全文检索奠定了基础。
参考文献:
[1] 龙之冠.征地档案数字识别研究与应用[J].国土资源导刊,2019,16(4):81-86.
【通联编辑:闻翔军】