CN114429542A - 针对医疗化验单的结构化识别方法 - Google Patents
针对医疗化验单的结构化识别方法 Download PDFInfo
- Publication number
- CN114429542A CN114429542A CN202111505529.5A CN202111505529A CN114429542A CN 114429542 A CN114429542 A CN 114429542A CN 202111505529 A CN202111505529 A CN 202111505529A CN 114429542 A CN114429542 A CN 114429542A
- Authority
- CN
- China
- Prior art keywords
- text
- text box
- straight line
- structured
- character
- 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 74
- 238000009533 lab test Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000012360 testing method Methods 0.000 claims abstract description 17
- 238000001514 detection method Methods 0.000 claims description 52
- 238000012937 correction Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 27
- 239000013598 vector Substances 0.000 claims description 27
- 230000011218 segmentation Effects 0.000 claims description 19
- 238000007689 inspection Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000001174 ascending effect Effects 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000013138 pruning Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims 1
- 230000003252 repetitive effect Effects 0.000 claims 1
- 230000007306 turnover Effects 0.000 claims 1
- 238000012015 optical character recognition Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 14
- 238000010276 construction Methods 0.000 description 6
- 102100032202 Cornulin Human genes 0.000 description 4
- 101000920981 Homo sapiens Cornulin Proteins 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013518 transcription Methods 0.000 description 3
- 230000035897 transcription Effects 0.000 description 3
- 102000007592 Apolipoproteins Human genes 0.000 description 2
- 108010071619 Apolipoproteins Proteins 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001915 proofreading effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开一种针对医疗化验单的结构化识别方法,用于对于一张化验单图像识别其中的检验结果内容,并将其组织成表格形式的输出,以满足实际化验单数据采集场景的结构化录入要求,具体是,通过OCR模块完成化验单中文字检测与识别工作,输出文本框坐标、文本内容和识别置信度;通过结构化处理模块根据OCR模块的输出内容,恢复出化验单中的表格结构,组织成表格形式的输出。本发明实现医疗化验单自动化录入可极大提升数据采集的效率。
Description
技术领域
本发明涉及医疗化验单识别技术领域,特别是涉及一种针对医疗化验单的结构化识别方法。
背景技术
以随机对照试验和队列研究为代表的临床研究方法,在研究过程中往往都需要持续采集大量的试验对象医疗数据。化验单作为一种常见的医疗数据,是数据采集的主要范畴之一。尽管各家医院都有检验科信息系统(Laboratory Information System,LIS)负责管理患者的检验数据,但出于对隐私保护的考量,各医院的LIS系统往往不对外提供数据访问接口。为采集化验单数据,不得不面对格式、模板纷繁多样的纸质表单。目前的化验单数据采集方式以人工录入并校对为主,但其过程费时费力。因此,实现医疗化验单自动化录入可极大提升数据采集的效率。
发明内容
本发明的目的是针对现有技术中存在的技术缺陷,而提供一种针对医疗化验单的结构化识别方法,通过光学字符识别(Optical Character Recognition,OCR)技术,检测并识别化验单中的文本信息,并结合文本纠错和文本结构化技术,实现对化验单内容的结构化识别。
为实现本发明的目的所采用的技术方案是:
一种针对医疗化验单的结构化识别方法,用于对于一张化验单图像识别其中的检验结果内容,并将其组织成表格形式的输出,以满足实际化验单数据采集场景的结构化录入要求,具体是,
通过OCR模块完成化验单中文字检测与识别工作,输出文本框坐标、文本内容和识别置信度;
通过结构化处理模块根据OCR模块的输出内容,恢复出化验单中的表格结构,组织成表格形式的输出。
优选的,所述OCR模块包括:
文字检测模型,用于在化验单图像中定位文本实例的位置,输出矩形框或多边形框形式的文本框图像结果;
文字识别模型,用于识别文本框图像中的文字内容;
文本方向分类器,用于在进行文字检测前,对化验单图像做旋转矫正;
文本框矫正器,用于检测文本框图像中的文字是否发生180°翻转,若翻转,则予以矫正之后再输入到文字识别模型。
优选的,所述OCR模块设置有重复检测机制,用于统计文字检测模型输出的文本框中是否有过半数需要进行逆时针或顺时针90°旋转,再统计文本框矫正器是否对过半的文本框进行了180°翻转矫正,根据上述的两类信息判断出文字检测模型的输入图像的角度;若判断出输入文字检测模型的图像角度不为0°,则整图像角度,重新执行文字检测及后续流程。
优选的,所述结构化处理模块,基于OCR模块输出的文本框坐标和文本内容,采用基于医学词库的纠错方法和正则匹配方法对OCR输出文本进行纠错,采用基于规则的表格行列切分方法来恢复表格结构。
优选的,所述采用基于规则的表格行列切分方法来恢复表格结构是通过表格区域定位、表格行切割、表格列切割和表格重建的顺序步骤实现恢复表格结构的。
优选的,所述表格区域定位是引入了NLP分词技术,采用了开源的jieba分词工具包,并载入关键词表;在筛选表头文本框之前,先对OCR模块输出的文本做分词处理,若分词结果中存在表头关键词,则将分词前的文本框纳入候选表头文本框集合;接下来,根据表头文本框的坐标信息拟合出一条直线,作为后续表格行切割的基准;拟合表头文本框所在的直线时,先计算每个文本框左右两边的中点坐标,得到一系列坐标点,然后采用最小二乘法计算直线方程;得到表头文本框所在的直线后,从上到下依次切割表格行。
优选的,表格行切割的具体步骤如下:
a)计算直线下方所有文本框中心点到直线的距离并按距离大小升序排序。
b)在排序好的文本框列表中,计算当前文本框与前一个文本框到直线距离的差值delta,以及已遍历的文本框的平均高度avg height,再计算ratio=delta/avg height,若ratio小于给定阈值,则该文本框与已遍历的文本框属于同一行,继续遍历下一个文本框;否则,该文本框属于下一行,结束一行的切割,并根据当前行的文本框拟合一条直线,然后跳转至步骤a),直至切割完毕。
优选的,所述的表格列切割根据表头文本框的坐标位置和文本框投影交并比来分割不同的列;投影交并比是指两个矩形文本框在某一直线上投影长度的交集与并集的比值,其中交集指投影线段的公共部分长度,并集指合并长度;
其中,投影交并比的计算方式是,首先确定投影直线,分别连接两文本框的左右两边中点,得到线段AC、BD,再连接AC、BD的中点E、F,即可得到投影直线EF;而后分别将两文本框的四个顶点投影到直线EF上,计算出两条投影线段的交集长度和并集长度,两者比值即为投影交并比;
表格列切割的具体步骤如下:
a)计算表头文本框与每一行文本框的投影交并比,取每一行中投影交并比最大且大于阈值的文本框,作为候选;
b)将步骤a)中得到的一系列文本框融合为一个文本框,称为融合文本框,融合方式为计算所有文本框的四个顶点坐标的平均值;
c)计算融合文本框与每一行文本框的投影交并比,取每一行中投影交并比最大且大于阈值的文本框,视为与表头文本框处于同一列;跳转至步骤a),直至所有表头文本框均已处理完毕。
优选的,所述的表格重建是行列切割之后所得到单元格进行重建,采用词库纠错方法对检验项目纠错,用正则匹配方法对结果、参考范围、单位纠错;
对于检验项目,采用基于医学词库的文本纠错方式,针对编辑距离对中文文本的相似度度量粒度过粗,考虑汉字的笔画结构特征,通过对汉字进行笔画拆解,而后通过TF-IDF模型来计算文本的笔画特征向量,再计算特征向量之间的余弦相似度,从而衡量文本之间的相似度;
纠错流程分为三部分:医学词库的构建、BK-tree的构建与编辑距离的计算、汉字笔画拆解与TF-IDF特征向量的计算;
BK-tree搜索过程从根节点开始,采用广度优先搜索BFS遍历,记录编辑距离不大于给定值N的元素;遍历过程中,按以下条件剪枝:对于查询元素x,在访问某个节点w时,计算w与x的编辑距离d(w,x)=D,若D≤N,则记录w到结果集中,从w向下递归遍历的过程中,只需要访问与x的编辑距离在[D-N,D+N]范围内的子节点即可,N设置为待纠错文本的长度;
所述编辑距离的编辑操作的粒度是汉字级别,纠错时,获取与待纠错文本编辑距离小于t的所有词条作为纠错结果候选,t设置为待纠错文本长度的一半;
汉字笔画拆解时,是将每个字拆成两个以上的常见汉字组成部件,而非拆解成笔画;
TF-IDF由词频TF和逆文档频率IDF两部分组成,词频TF是指给定词语在该文档中出现的频率,词频TF和逆文档频率IDF两个值相乘便得到TF-IDF值,统计所有文档中出现的词条集合,针对每一个文档计算所有词条的TF-IDF值并做归一化处理,然后组成文档的特征向量;最后使用余弦相似度计算两个文档特征向量夹角的余弦值,从而度量它们的相似性。
优选的,对于中文文本中可能出现的非中文字符,不予拆解,除特殊符号外,包括‘-’、‘[’、‘]’,其余非中文字符参与TF-IDF特征向量的计算。
本发明的针对医疗化验单的结构化识别方法,通过光学字符识别(OpticalCharacter Recognition,OCR)技术,检测并识别化验单中的文本信息,并结合文本纠错和文本结构化技术,实现对化验单内容的结构化识别,实现医疗化验单自动化录入可极大提升数据采集的效率。
附图说明
图1是本发明的输入的化验单图像的示意图。
图2为本发明的输出的表格内容的示意图。
图3是本发明的技术方案框架图。
图4是DBNet网络架构示意图。
图5是ResNet-BiFPN结构示意图。
图6是化验单文字检测结果示意图。
图7是化验单检测文本框裁剪结果示意图。
图8是CRNN网络架构示意图。
图9是化验单文字检测与识别效果示例图。
图10是VGG16网络架构示意图。
图11是文本框翻转情况示意图。
图12是深度优先遍历候选表头文本框得到表头直线的示意图。
图13是化验单表格行切割计算方式示意图。
图14是化验单表格行切割效果图。
图15是文本框之间的投影交并比计算方式示意图。
图16是化验单检验项目纠错流程图。
图17是化验单医学词库部分词条示例。
图18是BK-tree构建示例。
图19是“载脂蛋白”汉字拆解结果示例。
图20是本发明的处理流程图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例可实现的效果如图1-图2所示,对于一张化验单图像如图1所示,识别其中的检验结果内容,并将其组织成表格形式的输出,如图2所示,以满足实际化验单数据采集场景的结构化录入要求。
本发明实施例的针对医疗化验单的结构化识别技术,为实现上述化验单结构化识别效果,采用的系统结构如图3所示,分为两大模块:OCR模块和结构化处理模块:OCR模块完成化验单中文字检测与识别工作,输出文本框坐标、文本内容和识别置信度;结构化识别模块根据OCR的输出内容,恢复出化验单中的表格结构,该过程主要使用了基于规则的表格行列切割、正则匹配和文本纠错方法,处理流程请参考图20所示。
(一)OCR模块
OCR模块采用基于深度学习的方法实现,共涉及四个深度学习模型。
1.文字检测模型
文字检测模型用于在化验单图像中定位文本实例的位置,输出结果通常为矩形框或多边形框形式。依托于深度学习的快速发展,目前已有诸多优秀的深度学习模型用于文字检测,如DBNet、EAST、CRAFT、TextSnake、SegLink等。模型的选用以文字检测精确率、召回率、检测速度为衡量标准,择优选取即可。
鉴于DBNet模型在检测效果和检测速度方面,都达到了领先水准。因此,本发明基于DBNet模型实现化验单文字检测。DBNet采用了标准的FPN结构,网络架构如图4所示。在训练阶段,通过特征提取和上采样融合,得到多尺度特征图F,然后使用F预测概率图P和阈值图T,最后通过P和T计算近似二值图在推理阶段,可将或P输入文本框生成模块来获取文本包围框,为了更加高效,通常使用概率图P。
本发明为进一步提升DBNet模型对化验单的文字检测效果,将模型骨干网络更换为ResNet50_vd,并融合了双向特征金字塔网络(Bidirectional Feature PyramidNetwork,BiFPN),简称ResNet-BiFPN结构,如图5所示。改进后的DBNet模型经过多个公开数据集训练后,在化验单上的文字检测效果如图6所示。
DBNet模型的文字检测结果为二值图形式,首先需要通过OpenCV检测出文本框轮廓,得到一系列点集,然后求出点集的最小面积外接矩形,最后从原图中裁剪出所有检测到的文本框图像,以便后续进行文字识别。图6所示化验单,其检测文本框经过裁剪之后,部分结果如图7所示。
2.文字识别模型
文字识别模型用于识别文本框图像中的文字内容。本发明采用了CRNN模型用于实现化验单文字识别,CRNN网络架构如图8所示,分为卷积层、循环层和转录层三部分。卷积层采用ResNet50_vd实现,输入图像的分辨率固定为320×32像素。卷积层输出的一系列1×512特征向量,构成循环层的输入,每一个特征向量对应输入图像中的一个小矩形区域。循环层采用双向长短记忆网络(Bi-directional Long-Short Term Memory,BiLSTM)实现,结合前向和后向序列信息,预测每一个矩形区域中的字符类别,得到转录字典中所有字符的softmax概率分布,组成一个长度为字典大小的向量,作为转录层的输入。
此外,在BiLSTM之后接一个CTC模型,用来解决输入数据与给定标签的对齐问题,执行端到端的训练,输出不定长的序列结果。
结合文字检测模型,化验单的文字检测与识别效果如图9所示。
3.文本方向分类器
在实际数据采集过程中,原始化验单图像多来自于试验对象或患者拍摄上传,化验单图像难免会存在90°、180°、270°的旋转。
实验结果表明,当图像中的文本实例方向出现大角度旋转时,文字检测效果明显恶化。而化验单图像中的文本实例较多,且文字方向基本统一,图像旋转因素对文字检测效果的影响不可忽略。因此,在进行文字检测前,对化验单图像做旋转矫正是必要的。
为实现图像旋转矫正,首先需要判断输入图像的旋转角度,即图像文本方向分类任务。本发明仅考虑0°、90°、180°、270°四个方向的分类,因为当图像文本方向的倾角在45°范围内时,文字检测效果下降不明显。
该任务属于图像四分类任务,本发明在具体实现上,采用了VGG16模型进行迁移学习,将最后一个全连接层的输出改为4,网络架构如图10所示。
4.文本框矫正器
由于输入CRNN模型的图像分辨率被固定为320×32,因此文字检测模型后处理阶段裁剪出的矩形文本框需要通过投射变换调整至此大小。如果文本框长宽比大于阈值(本发明设定为1.5)且处于竖直方向(只考虑两个方向,非水平即竖直),需要将其逆时针(或顺时针)旋转90°至水平方向。但统一旋转方向会存在一个问题,即某些文本框可能会出现如图11所示的180°翻转,这会降低文字识别的准确率,其原因在于文字识别模型的训练数据通常都是正向的。
为解决该问题,本发明在文字检测模型前串联一个文本框矫正器,用于检测文本图像中的文字是否发生180°翻转,若翻转,则予以矫正之后再输入文字识别模型。
为了兼顾化验单整体处理流程的效率,文本框矫正器采用轻量级骨干网络MobileNetV3_small_x0.5,在保证准确率的情况下,提升推理速度。
5.化验单OCR模块的构建
依次串联文本方向分类器、文字检测模型、文本框矫正器和文字识别模型,便可构建出化验单OCR系统。
鉴于文本方向分类器模型的准确率难以达到100%,其误差在各模型间传递和累积,会影响文字检测与识别和结构化处理的效果。
本发明在OCR模块引入了重复检测机制,该机制的有效性基于一种前提条件:图像中大部分文本实例的文字方向是一致的(0°、90°、180°、270°),且大部分文本框的长宽比不小于给定阈值(本发明设定为1.5)。该条件在化验单场景是成立的。
重复检测机制的具体处理流程如下:
统计文字检测模型输出的文本框中是否有过半数需要进行逆时针(或顺时针)90°旋转,再统计文本框矫正器是否对过半的文本框进行了180°翻转矫正,根据这两类信息便可判断出文字检测模型的输入图像的角度,枚举情况如表1所示。如果判断出输入文字检测模型的图像角度不为0°,则需调整图像角度,重新执行文字检测及后续流程。
表1重复检测机制枚举情况
(二)结构化处理模块
结构化处理模块的目的在于将OCR模块输出的散乱的文本信息组成结构化的信息,以满足结构化存储、检索等需求。
本发明重点关注化验单中的表格内容,即检验项目、结果、单位、参考值等数据。考虑到文字检测过程中出现误检或漏检,以及文字识别过程中出现误差,都会导致OCR输出结果不可靠。因此,本发明在结构化处理模块中采用了基于医学词库的纠错方法和正则匹配方法来对OCR输出文本进行纠错,采用了基于规则的表格行列切分方法来恢复表格结构。
1.化验单表格内容结构化方法
本文采用的基于规则的表格内容结构化方法,主要分为四部分:表格区域定位、表格行切割、表格列切割和表格重建。整个结构化过程仅使用OCR模块输出的文本框坐标和文本内容。
(1)表格区域定位
通过观察各式各样的化验单发现,绝大部分化验单的表头都包含“检验项目”、“简称”、“结果”、“参考值”、“单位”等关键字或对应的同义词,如表2所示。因此,可根据该共性来定位表格位置。
对于OCR输出的文本,如果出现了表2中的关键词,则将其纳入候选表头文本框集合。受文字检测模型的准确率限制,以及化验单本身可能存在文本实例粘连的问题,例如,若“单位”、“参考值”两个文本实例距离太近,会被检测为一个文本框,对应文本内容被识别为“单位参考值”,而该内容并不在关键词表中。
为解决该问题,本发明引入了NLP分词技术,采用了开源的jieba分词工具包,并载入关键词表。在筛选表头文本框之前,先对OCR输出的文本做分词处理,如果分词结果中存在表头关键词,则将分词前的文本框纳入候选表头文本框集合。
表2化验单表头关键词与常见同义词
接下来需要根据表头文本框的坐标信息拟合出一条直线,作为后续表格行切割的基准。由于化验单存在褶皱、扭曲等干扰因素,逻辑上处于同一行的文本框会有不同的水平倾角以及竖直方向的浮动,因此文本框并非行列对齐的。相对而言,褶皱、扭曲等干扰因素对局部相邻的文本框影响较小。因此,先定位每一个文本框左右相邻的文本框,再通过深度优先遍历(Depth First Search,DFS)获取处于同一行的表头文本框集合,处理流程示意如附图12所示。DFS可能会得到多个结果集,当结果集中文本框数量小于阈值时(本发明设定为2),可视为干扰项,剔除即可。
上述方法可处理同一张化验单中竖直方向的多个表格,但无法处理水平方向的多个表格。当然,在实际情况中,一张化验单包含多个化验表格的情况很少见。为拟合表头文本框所在的直线,先计算每个文本框左右两边的中点坐标,得到一系列坐标点,然后采用最小二乘法计算直线方程。
(2)表格行切割
得到表头文本框所在的直线后,从上到下依次切割表格行。行切割的计算方式如附图13所示,化验单切割效果如附图14所示。行切割的具体步骤如下:
a)计算直线下方所有文本框的中心点到直线的距离,并按距离大小升序排序。
b)在排序好的文本框列表中,计算当前文本框与前一个文本框到直线距离的差值delta(第一个文本框delta为0),以及已遍历的文本框的平均高度avg height,再计算ratio=delta/avg height,若ratio小于给定阈值(本发明设定为0.6),则该文本框与已遍历的文本框属于同一行,继续遍历下一个文本框;否则,该文本框属于下一行,结束一行的切割,并根据当前行的文本框拟合一条直线,然后跳转至步骤a),直至切割完毕。
(3)表格列切割
对于行列对齐明显且版面平整的表格图像,可采用投影法分割表格的不同列,操作简单有效。但对于化验单图像,由于旋转、扭曲和折叠等干扰因素存在,且相邻列的文本实例容易发生粘连,因此难以找到一个合适的投影方向。
本发明主要根据表头文本框的坐标位置和文本框投影交并比来分割不同的列。投影交并比是指两个矩形文本框在某一直线上投影长度的交集与并集的比值,其中交集指投影线段的公共部分长度,并集指合并长度。投影交并比的计算方式如附图15所示,首先确定投影直线,分别连接两文本框的左右两边中点,得到线段AC、BD,再连接AC、BD的中点E、F,即可得到投影直线EF。而后分别将两文本框的四个顶点投影到直线EF上,计算出两条投影线段的交集长度和并集长度,两者比值即为投影交并比。
表格列切割的具体步骤如下:
a)计算表头文本框与每一行文本框的投影交并比,取每一行中投影交并比最大且大于阈值(本发明设定为0.3)的文本框,作为候选。
b)将步骤a)中得到的一系列文本框融合为一个文本框(称为融合文本框),融合方式为计算所有文本框的四个顶点坐标的平均值。
c)计算融合文本框与每一行文本框的投影交并比,取每一行中投影交并比最大且大于阈值(本发明设定为0.5)的文本框,视为与表头文本框处于同一列。跳转至步骤a),直至所有表头文本框均已处理完毕。
由于文本粘连的情况存在,某一个文本框可能属于多个列。此外,由于阈值设定不具普适性,且文本框与表头文本框横向偏移较大时,会存在某些文本框不属于任何一列的情况,这需要做进一步的处理。
(4)表格重建
行列切割之后便可得到单元格,进而重建表格,但依旧存在许多错误,例如文本粘连、文字识别错误等。
为解决该问题,本发明采用词库纠错方法对“检验项目”纠错,用正则匹配方法对“结果”、“参考范围”、“单位”纠错,部分正则表达式如表3所示。与常规正则匹配略微不同的是,表3中所用的正则表达式考虑了字符常见的混淆集,例如,匹配字母‘l’时,会同时匹配‘l’、‘1’、‘I’、‘|’等相似的字符。
表3匹配化验单“结果”、“参考范围”、“单位”项的部分正则表达式
2.基于医学词库的文本纠错
对于检验项目,本发明采用基于医学词库的文本纠错方式。针对编辑距离对中文文本的相似度度量粒度过粗的问题,本发明充分考虑了汉字的笔画结构特征,通过对汉字进行笔画拆解,而后通过TF-IDF模型来计算文本的笔画特征向量,再计算特征向量之间的余弦相似度,从而衡量文本之间的相似度。
本发明实现的纠错流程如附图16所示,该流程主要分为三部分:医学词库的构建、BK-tree的构建与编辑距离的计算、汉字笔画拆解与TF-IDF特征向量的计算。
·医学词库构建
词库纠错方法的可行性建立在词库的完备性之上。由于待纠错文本需要与词库中所有词条计算编辑距离,选取编辑距离最小的几个词条作为候选纠错结果。若医学词库所覆盖的医学词条不够广,候选集中可能并不包含正确的纠错结果。但医学词库覆盖面也不能过于广泛,过多的无效词条会导致搜索效率低下。在实际构建词库过程中,尽可能多地收录化验单中可能出现的检验项目名即可。本发明构建的化验单医学词库中的部分词条如附图17所示。
·BK-tree与编辑距离
BK-tree的具体构造方法可作如下描述:对于元素集合W,作为索引树的根节点,定义表示p的子节点集合。对于W中任意元素w,若满足则将其递归构建在根节点p的子节点s上,节点s满足s∈Wp&d(s,p)=d(w,p)。
以单词集合{"book","books","cake","boo","boon","cook","cake","cape","cart"}为例,以该集合构建的BK-tree如附图18所示。
BK-tree的搜索过程从根节点开始,采用广度优先搜索(Breadth First Search,BFS)遍历,记录编辑距离不大于给定值N的元素。
在遍历过程中,可以按以下条件进行剪枝:对于查询元素x,在访问某个节点w时,计算w与x的编辑距离d(w,x)=D,如果D≤N,则记录w到结果集中。从w向下递归遍历的过程中,只需要访问与x的编辑距离在[D-N,D+N]范围内的子节点即可。在本发明中,N设置为待纠错文本的长度。
本发明采用的编辑距离,“编辑”操作的粒度依旧是汉字级别。纠错时,需获取与待纠错文本编辑距离小于t的所有词条作为纠错结果候选,t设置为待纠错文本长度的一半。
·汉字拆解与TF-IDF特征向量
汉字拆解数据来自于汉语拆字字典,该仓库目前收录了17803个不同汉字的拆解结果,包含繁体字与简体字。该拆字法有别于按笔划顺序的拆解方式,拆字时尽量将每个字拆成两个以上的常见汉字组成部件,而不是拆解成笔画,尽管两者有很大的相似性。例如,“载脂蛋白”四个汉字的拆解结果如附图19所示。
TF-IDF由词频(TF)和逆文档频率(IDF)两部分组成。TF是指给定词语在该文档中出现的频率,对于在某一特定文档中的词语ti而言,他的重要性可表示为式(1.1),其中ni,j表示该词在文档dj中出现的次数,分母则是文档dj中所有字词的出现次数之和。
IDF的计算方式如式(1.2)所示,其中|D|表示语料库中文档总数,|{j:ti∈dj}|表示包含词条ti的文档数目,分母加1是采用了拉普拉斯平滑,避免了词条不在语料库中导致分母为零的情况。
TF和IDF两个值相乘便可得到TF-IDF值,如式(1.3)所示。统计所有文档中出现的词条集合,针对每一个文档计算所有词条的TF-IDF值并做归一化处理,然后组成文档的特征向量。
最后,使用余弦相似度计算两个文档特征向量夹角的余弦值,从而度量他们的相似性。以特征向量A、B为例,通过式(1.4)计算余弦相似度,其中Ai和Bi分别代表向量A、B的各分量。
TFIDFi,j=TFi,j·IDFi (4.3)
本发明采用TF-IDF来提取中文文本的汉字拆解序列的特征向量,从而采用式(1.4)计算中文文本之间的相似度。
对于中文文本中可能出现的非中文字符,不予拆解,除特殊符号外(如‘-’、‘[’、‘]’等),其余非中文字符也参与TF-IDF特征向量的计算。
具体实现上,可采用Python的scikit-learn包中的TfidfTransformer类来完成TF-IDF预处理和特征向量的计算。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明;因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (10)
1.针对医疗化验单的结构化识别方法,其特征在于,用于对于一张化验单图像识别其中的检验结果内容,并将其组织成表格形式的输出,以满足实际化验单数据采集场景的结构化录入要求,具体是,
通过OCR模块完成化验单中文字检测与识别工作,输出文本框坐标、文本内容和识别置信度;
通过结构化处理模块根据OCR模块的输出内容,恢复出化验单中的表格结构,组织成表格形式的输出。
2.根据权利要求1所述针对医疗化验单的结构化识别方法,其特征在于,所述OCR模块包括:
文字检测模型,用于在化验单图像中定位文本实例的位置,输出矩形框或多边形框形式的文本框图像结果;
文字识别模型,用于识别文本框图像中的文字内容;
文本方向分类器,用于在进行文字检测前,对化验单图像做旋转矫正;
文本框矫正器,用于检测文本框图像中的文字是否发生180˚翻转,若翻转,则予以矫正之后再输入到文字识别模型。
3.根据权利要求1或2所述针对医疗化验单的结构化识别方法,其特征在于,所述OCR模块设置有重复检测机制,用于统计文字检测模型输出的文本框中是否有过半数需要进行逆时针或顺时针90˚旋转,再统计文本框矫正器是否对过半的文本框进行了180˚翻转矫正,根据上述的两类信息判断出文字检测模型的输入图像的角度;若判断出输入文字检测模型的图像角度不为0˚,则整图像角度,重新执行文字检测及后续流程。
4.根据权利要求3所述针对医疗化验单的结构化识别方法,其特征在于,所述结构化处理模块,基于OCR模块输出的文本框坐标和文本内容,采用基于医学词库的纠错方法和正则匹配方法对OCR输出文本进行纠错,采用基于规则的表格行列切分方法来恢复表格结构。
5.根据权利要求4所述针对医疗化验单的结构化识别方法,其特征在于,所述采用基于规则的表格行列切分方法来恢复表格结构是通过表格区域定位、表格行切割、表格列切割和表格重建的顺序步骤实现恢复表格结构的。
6.根据权利要求5所述针对医疗化验单的结构化识别方法,其特征在于,所述表格区域定位是引入了NLP分词技术,采用了开源的jieba分词工具包,并载入关键词表;在筛选表头文本框之前,先对OCR模块输出的文本做分词处理,若分词结果中存在表头关键词,则将分词前的文本框纳入候选表头文本框集合;接下来,根据表头文本框的坐标信息拟合出一条直线,作为后续表格行切割的基准;拟合表头文本框所在的直线时,先计算每个文本框左右两边的中点坐标,得到一系列坐标点,然后采用最小二乘法计算直线方程;得到表头文本框所在的直线后,从上到下依次切割表格行。
7.根据权利要求6所述针对医疗化验单的结构化识别方法,其特征在于,表格行切割的具体步骤如下:
a) 计算直线下方所有文本框中心点到直线的距离并按距离大小升序排序;
b) 在排序好的文本框列表中,计算当前文本框与前一个文本框到直线距离的差值delta,以及已遍历的文本框的平均高度avg height,再计算ratio =delta / avg height,若ratio小于给定阈值,则该文本框与已遍历的文本框属于同一行,继续遍历下一个文本框;否则,该文本框属于下一行,结束一行的切割,并根据当前行的文本框拟合一条直线,然后跳转至步骤a),直至切割完毕。
8.根据权利要求7所述针对医疗化验单的结构化识别方法,其特征在于,所述的表格列切割根据表头文本框的坐标位置和文本框投影交并比来分割不同的列;投影交并比是指两个矩形文本框在某一直线上投影长度的交集与并集的比值,其中交集指投影线段的公共部分长度,并集指合并长度;
其中,投影交并比的计算方式是,首先确定投影直线,分别连接两文本框的左右两边中点,得到线段AC、BD,再连接AC、BD的中点E、F,即可得到投影直线EF;而后分别将两文本框的四个顶点投影到直线EF上,计算出两条投影线段的交集长度和并集长度,两者比值即为投影交并比;
表格列切割的具体步骤如下:
a) 计算表头文本框与每一行文本框的投影交并比,取每一行中投影交并比最大且大于阈值的文本框,作为候选;
b) 将步骤a)中得到的一系列文本框融合为一个文本框,称为融合文本框,融合方式为计算所有文本框的四个顶点坐标的平均值;
c) 计算融合文本框与每一行文本框的投影交并比,取每一行中投影交并比最大且大于阈值的文本框,视为与表头文本框处于同一列;跳转至步骤a),直至所有表头文本框均已处理完毕。
9.根据权利要求8所述针对医疗化验单的结构化识别方法,其特征在于,所述的表格重建是行列切割之后所得到单元格进行重建,采用词库纠错方法对检验项目纠错,用正则匹配方法对结果、参考范围、单位纠错;
对于检验项目,采用基于医学词库的文本纠错方式,针对编辑距离对中文文本的相似度度量粒度过粗,考虑汉字的笔画结构特征,通过对汉字进行笔画拆解,而后通过TF-IDF模型来计算文本的笔画特征向量,再计算特征向量之间的余弦相似度,从而衡量文本之间的相似度;
纠错流程分为三部分:医学词库的构建、BK-tree的构建与编辑距离的计算、汉字笔画拆解与TF-IDF特征向量的计算;
BK-tree搜索过程从根节点开始,采用广度优先搜索BFS遍历,记录编辑距离不大于给定值的元素;遍历过程中,按以下条件剪枝:对于查询元素,在访问某个节点时,计算与的编辑距离,若,则记录到结果集中,从向下递归遍历的过程中,只需要访问与的编辑距离在范围内的子节点即可,设置为待纠错文本的长度;
所述编辑距离的编辑操作的粒度是汉字级别,纠错时,获取与待纠错文本编辑距离小于t的所有词条作为纠错结果候选,t设置为待纠错文本长度的一半;
汉字笔画拆解时,是将每个字拆成两个以上的常见汉字组成部件,而非拆解成笔画;
TF-IDF由词频TF和逆文档频率IDF两部分组成,词频TF是指给定词语在该文档中出现的频率,词频TF和逆文档频率IDF两个值相乘便得到TF-IDF值,统计所有文档中出现的词条集合,针对每一个文档计算所有词条的TF-IDF值并做归一化处理,然后组成文档的特征向量;最后使用余弦相似度计算两个文档特征向量夹角的余弦值,从而度量它们的相似性。
10.根据权利要求9所述针对医疗化验单的结构化识别方法,其特征在于,对于中文文本中可能出现的非中文字符,不予拆解,除特殊符号外,包括‘-’、‘[’、‘]’,其余非中文字符参与TF-IDF特征向量的计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111505529.5A CN114429542A (zh) | 2021-12-10 | 2021-12-10 | 针对医疗化验单的结构化识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111505529.5A CN114429542A (zh) | 2021-12-10 | 2021-12-10 | 针对医疗化验单的结构化识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114429542A true CN114429542A (zh) | 2022-05-03 |
Family
ID=81311361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111505529.5A Pending CN114429542A (zh) | 2021-12-10 | 2021-12-10 | 针对医疗化验单的结构化识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114429542A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863455A (zh) * | 2022-05-26 | 2022-08-05 | 北京百度网讯科技有限公司 | 用于提取信息的方法和装置 |
CN115019310A (zh) * | 2022-08-05 | 2022-09-06 | 上海蜜度信息技术有限公司 | 图文识别方法及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815958A (zh) * | 2019-02-01 | 2019-05-28 | 杭州睿琪软件有限公司 | 一种化验单识别方法、装置、电子设备和存储介质 |
CN110321760A (zh) * | 2018-03-29 | 2019-10-11 | 北京和缓医疗科技有限公司 | 一种医疗单据识别方法和装置 |
CN111967391A (zh) * | 2020-08-18 | 2020-11-20 | 清华大学 | 医学化验单的文本识别方法和计算机可读存储介质 |
CN112036295A (zh) * | 2020-08-28 | 2020-12-04 | 泰康保险集团股份有限公司 | 票据图像处理方法、装置、存储介质及电子设备 |
US20210011974A1 (en) * | 2019-07-12 | 2021-01-14 | Adp, Llc | Named-entity recognition through sequence of classification using a deep learning neural network |
CN112686258A (zh) * | 2020-12-10 | 2021-04-20 | 广州广电运通金融电子股份有限公司 | 体检报告信息结构化方法、装置、可读存储介质和终端 |
CN113420116A (zh) * | 2021-06-23 | 2021-09-21 | 平安科技(深圳)有限公司 | 医疗文档的分析方法、装置、设备及介质 |
-
2021
- 2021-12-10 CN CN202111505529.5A patent/CN114429542A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321760A (zh) * | 2018-03-29 | 2019-10-11 | 北京和缓医疗科技有限公司 | 一种医疗单据识别方法和装置 |
CN109815958A (zh) * | 2019-02-01 | 2019-05-28 | 杭州睿琪软件有限公司 | 一种化验单识别方法、装置、电子设备和存储介质 |
US20210011974A1 (en) * | 2019-07-12 | 2021-01-14 | Adp, Llc | Named-entity recognition through sequence of classification using a deep learning neural network |
CN111967391A (zh) * | 2020-08-18 | 2020-11-20 | 清华大学 | 医学化验单的文本识别方法和计算机可读存储介质 |
CN112036295A (zh) * | 2020-08-28 | 2020-12-04 | 泰康保险集团股份有限公司 | 票据图像处理方法、装置、存储介质及电子设备 |
CN112686258A (zh) * | 2020-12-10 | 2021-04-20 | 广州广电运通金融电子股份有限公司 | 体检报告信息结构化方法、装置、可读存储介质和终端 |
CN113420116A (zh) * | 2021-06-23 | 2021-09-21 | 平安科技(深圳)有限公司 | 医疗文档的分析方法、装置、设备及介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863455A (zh) * | 2022-05-26 | 2022-08-05 | 北京百度网讯科技有限公司 | 用于提取信息的方法和装置 |
CN115019310A (zh) * | 2022-08-05 | 2022-09-06 | 上海蜜度信息技术有限公司 | 图文识别方法及设备 |
CN115019310B (zh) * | 2022-08-05 | 2022-11-29 | 上海蜜度信息技术有限公司 | 图文识别方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914558A (zh) | 基于句袋注意力远程监督的课程知识关系抽取方法及系统 | |
US5923792A (en) | Screen display methods for computer-aided data entry | |
KR101114135B1 (ko) | 카메라 입력된 문서들을 위한 저해상 ocr | |
US8196030B1 (en) | System and method for comparing and reviewing documents | |
CN115455935A (zh) | 一种文本信息智能处理系统 | |
CN114429542A (zh) | 针对医疗化验单的结构化识别方法 | |
US20120197908A1 (en) | Method and apparatus for associating a table of contents and headings | |
US11615244B2 (en) | Data extraction and ordering based on document layout analysis | |
CN112509661B (zh) | 用于识别体检报告的方法、计算设备和介质 | |
RU2765884C2 (ru) | Идентификация блоков связанных слов в документах сложной структуры | |
CN112597773A (zh) | 文档结构化方法、系统、终端及介质 | |
CN113255642A (zh) | 一种用于人伤理赔的医疗票据信息整合方法 | |
CN113420669A (zh) | 基于多尺度训练和级联检测的文档版面分析方法和系统 | |
CN114494679A (zh) | 一种双层pdf生成及校对方法和装置 | |
US9672438B2 (en) | Text parsing in complex graphical images | |
Pacha | Incremental supervised staff detection | |
JPH10240958A (ja) | 画像から管理情報を抽出する管理情報抽出装置および方法 | |
JP4382074B2 (ja) | フォーム識別方法 | |
Aliwy et al. | Corpus-based technique for improving Arabic OCR system | |
TW200409046A (en) | Optical character recognition device, document searching system, and document searching program | |
JP4302595B2 (ja) | フォーム識別装置 | |
Pham et al. | A deep learning approach for text segmentation in document analysis | |
Kooli et al. | Semantic label and structure model based approach for entity recognition in database context | |
Xie et al. | Enhancing multimodal deep representation learning by fixed model reuse | |
US12014561B2 (en) | Image reading systems, methods and storage medium for performing geometric extraction |
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 |