CN111797630B - 一种面向pdf格式论文的生物医学实体识别方法 - Google Patents
一种面向pdf格式论文的生物医学实体识别方法 Download PDFInfo
- Publication number
- CN111797630B CN111797630B CN202010605944.7A CN202010605944A CN111797630B CN 111797630 B CN111797630 B CN 111797630B CN 202010605944 A CN202010605944 A CN 202010605944A CN 111797630 B CN111797630 B CN 111797630B
- Authority
- CN
- China
- Prior art keywords
- entity
- text
- information
- entities
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- 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/044—Recurrent networks, e.g. Hopfield 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/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- 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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/412—Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
-
- 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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/416—Extracting the logical structure, e.g. chapters, sections or page numbers; Identifying elements of the document, e.g. authors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明属于命名实体识别技术领域,一种面向PDF格式论文的生物医学实体识别方法,包括以下步骤:(1)接收PDF论文作为输入并确认其格式类型,(2)对输入文本的无效文本信息进行处理,(3)对输入文本内容进行规范化,(4)使用命名实体识别模型识别处理后文本中的医学实体,(5)对识别得到的实体在原文进行高亮处理,(6)整体流程封装并以Web应用形式展示。本发明方法打破了目前医学领域内还没有专门为其相关的论文直接进行实体识别处理并在PDF格式上进行高亮的先例,通过在文本中高亮出医学实体可以让医学研究者们快速的找到本篇论文中自己所关心的医学实体并进行进一步的阅读工作,具有十分有意义的使用价值。
Description
技术领域
本发明涉及一种面向PDF格式论文的生物医学实体识别方法,属于命名实体识别技术领域。
背景技术
近些年随着生物医学的飞速发展,同时与生物医学领域相关的文献也呈指数级别的增长。计算机生物医学领域即是由自然语言处理与生物医学衍生出来的交叉领域学科,主要通过使用自然语言处理的各项技术来处理医学领域的各种问题,为了医学领域的研究学者能够方便的从一篇医学领域的论文中辩别该论文是否包含所关心的医学实体的研究进展等相关问题,使用相关技术从不可编辑的PDF格式论文中识别实体并进行高亮具有十分有意义的使用价值。
目前对于将PDF转为可编辑文本的处理方式缺少垂直领域的处理方式,因此如果在不进行进一步处理仅仅使用转化结果会使整体识别效果大打折扣。同时,就目前医学领域等垂直领域内,还没有专门为其相关的论文直接进行实体识别处理并在PDF格式上进行高亮的先例。同时,PDF的封装多元性以及不可编辑性,要想在保持原PDF格式上对识别出的实体进行在正确的高亮标记需要使用较为专业的垂直领域知识作为支撑,并根据领域实体特点做出相应的修正。
发明内容
为了克服现有技术中存在的不足,本发明目的是提供一种面向PDF格式论文的生物医学实体识别方法。该方法打破了目前医学领域内还没有专门为其相关的论文直接进行实体识别处理并在PDF格式上进行高亮的先例,能够为医学研究者们提供方便,通过在文本中高亮出医学实体可以让研究者们快速的找到本篇论文中自己所关心的医学实体并进行进一步的阅读工作,具有十分有意义的使用价值。
为了实现上述发明目的,解决现有技术存在的问题,本发明采取的技术方案是:一种面向PDF格式论文的生物医学实体识别方法,包括以下步骤:
步骤1、接收PDF论文作为输入并确认其格式类型,首先要针对不可编辑的PDF格式文本进行相关处理,防止TXT,XML可编辑格式文本作为输入,由于PDF格式文本具有良好的封装性,允许影印格式的文本信息保存在PDF格式文本中,由于目前现有OCR技术的局限性,识别影印文件中内容的准确度很低,造成大量以影印格式保存于PDF格式文本中;针对格式类型的确认,主要采用双重保险的方式来筛选文本类型,具体包括以下子步骤:
(A)、由于最终封装成了一个系统并以网页形式展示,因此在网页输入端口设置了输入文本类型判断,从而筛选掉除PDF格式文本以外的其他类型文本;
(B)、对子步骤(A)筛选后保留的PDF格式文本进行下一步的筛选,使用PyMuPDF库对论文中的图片数量及位置进行统计,并与图片所在完整的页面位置进行比对,从而判断论文是否属于扫描得到的影印文件,并进行筛选丢弃;
步骤2、对输入文本的无效文本信息进行处理,由于PDF格式文本的不可编辑性以及良好的封装性,如何处理好每一页的有效文本信息成为了亟需解决的难题;尤其是PDF格式文本中的封面、页眉、页尾、图例、图表名及PDF格式文本中少量出现的特殊字多余信息的存在,导致若将PDF格式文本直接转换为可编辑类型文本后,会出现论文作者、论文编辑发表机构、论文评审会议字符乱码及冗余无效文本信息,为了方便后续步骤的进行,须首先对包含冗余无效文本信息的PDF格式文本进行清理,具体包括以下子步骤:
(A)、去除位于文本每页固定位置的页眉、页尾无效文本信息,其主要工作是将页眉、页尾部分从整个文本中识别出并清洗掉,其中识别的方式主要采取:首先,将PDF格式文本转换为PNG的图片格式,再根据图片格式的文本确定页眉、页尾无效文本信息部分在相对应的图片中的位置,主要为坐标位置信息,从而使用坐标位置信息在原图片的基础上裁剪掉上述无效文本信息;其次,为避免由于使用主流的OCR图像识别技术,对于大规模文字识别的准确度低带来的识别图片的误差,主要采用识别文本信息量少的页眉、页尾无效文本信息部分,然后从全文中去除识别得到的无效文本信息的方式,来尽量的避免由于准确度低引起误差情况的发生;
(B)、在进行步骤2子步骤(A)的无效文本信息清洗之后,位于PDF格式文本内位置并不固定的图例、表格、目录及引用无效文本信息同样需要彻底的筛选清洗;为此,采用以下的方法进行清除:对于图表的图例信息及图表名称,使用结合目前仅有的几种提取PDF格式文本表格,使用Pdfplumber、Camelot工具包以及识别PDF格式文本中图片的Tesseract-OCR工具的方式,来对图表标题、图例、内容无效文本信息进行提取并清洗;对于包含目录部分的PDF格式文本会结合使用Pdfminer方法将文本的目录提取出并作为框架信息,从而作为提取正文有效部分内容的框架标准;如果所处理的PDF格式文本不存在目录部分,则有选择地去除Introduction、Reference部分,这是由于此部分均为与正文叙述内容无关的无效文本信息;
步骤3、对输入文本内容进行规范化,经过步骤2对输入文本的无效文本信息处理后进行统计总结,得到符合文本的通用性规则并进行文本正则化处理,更加有效的保证下一步骤的实体识别模型输入文本的规范性;为此,主要采用正则化手段来对有效文本进行清洗,方法主要有:对于步骤2得到的有效文本中的一词分属两行情况,为了避免由于出现换行符而识别不出此种实体的问题,会根据文本特点以及普遍论文格式习惯来选择性去掉多余的换行符的特殊符号;对于有效文本中出现的特殊字体、引用脚注、尾注的符号,由于其转化为可编辑文本后均会出现转义字符与普通字符组合的形式,因此选择清除普通字符后的转义字符亦或直接将之整体一起清除掉;对于图表的多余题注部分以及出现在有效文本中的图表名称部分,需要清洗掉带有Figure或Table作为开头的长字符串;对于文本中出现的公式字符量少的噪声信息,设置限制文本每行字符量的最小阈值予以清除;对于文本内重复出现的噪声信息,设置限制文本内某一段字符串的出现次数最大阈值予以清除;
步骤4、使用命名实体识别模型识别处理后文本中的医学实体,对经过步骤2和步骤3处理之后的有效文本进行多种类医学实体的识别工作,主要使用BIO标签机制对文本进行序列标注;由于BIO标签会出现对多余空格或换行符错误处理的问题,因此需要将换行符多余符号进行清理得到可编辑文本;同时为了缩减单一文本进行实体识别时间的花销,将文本处理成以论文行为单位的文件并统一放在result文件夹下,并将它按照顺序输入模型中进行标注;
其中采用的核心实体识别模型是目前先进的基于注意力机制的BiLSTM-CRF模型,使用双向长短期记忆网络主要考虑其能够充分结合上下文的信息来对每个词的上下文表示预测标签,同时加入CRF模型来进一步提升模型在转移预测方面的能力,这里I标签出现在B标签之后,而不会出现在O标签之后;最后,为了更好的处理句子级与文档级标签信息不一致的问题,加入注意力机制以及词法特征、句法特征来提升模型的性能;使用的机器学习的方法同时也结合了一些由维基百科、医学网站爬下来的词条及实体做成的词典,进行按照规则的实体识别;使用斯坦福的Corenlp工具进行有限类别的实体识别作为机器学习方法的补充;最后对于识别出的实体进行标准化,下载得到标准化的词条并使用词语相似度计算编辑距离,将一些不规范化实体映射到标准词条,从而能够处理单复数、大小写、缩写变形问题;在经过处理得到的标准化实体后,仍需要考虑一些优先级的问题,这里有时实体是由多个词组成,而组成某实体的部分词其本身也有可能是另一种实体;为此,要设置优先考虑已经存在于候选词集库中的实体、亦或是常见医学实体;同时,根据实体类型将识别出的实体分为八类:药物、疾病、蛋白质、DNA、RNA、细胞、变异和表型,从而可以使得不同类别的实体高亮为不同的颜色来更好的达到区分的效果;
步骤5、对识别得到的实体在原文进行高亮处理,对于某一个有效文本,根据步骤4识别得到的八种类型的实体结果,取出相关识别得到的实体及对应的类别信息,并按照其不同的类别进行相应的高亮处理;为保证可读性及规范性,需要保留原有的PDF格式不变,因此对于文本进行高亮操作等效为在原始的PDF上找到相应实体出现的位置,并使用矩形形状区域对相应位置进行涂色的方法解决,该方法实现对不可编辑的PDF格式进行标记以达到高亮相应实体的目的;在PDF中找到不同实体的位置,首先利用PyMupdf包中的getTextWord函数,其返回所有以左右空格作为分割的词,即单位词的具体位置信息:主要包括一个单位词,在以其所出现页面的左下角为原点,计算得到的起始字符坐标、结束字符坐标构成的横向跨度范围以及单位词的上下坐标信息构成的纵向跨度范围,同时还有该单位词出现于所在页面的Block、Line与Word的具体位置信息;通过使用上述信息作为索引,进一步求出组成所识别实体的每一个单位词在其所出现页面中的具体位置,并使用该包中的addHighlightAnnot以及Setcolor函数设置RGB格式的颜色属性从而对识别出的实体进行具体颜色的高亮,并在原始PDF中根据找出的实体位置做出不同颜色的矩形;其中针对不同情况下的特定实体,其位置信息主要由以下子步骤获得:
(A)、对于实体识别得到的实体,其如果由多个单位词组成且均出现在同一行中,则需要以下几个子步骤处理所有可能情况:
(a)、最普遍的情况就是一个实体由多个单位词组成,即MALT lymphomas、mucosa-associated lymphoid tissue此类实体,该类实体需要对组成它的多个单位词的位置信息进行拼接才能够得到完整实体正确的位置信息;此类实体的位置范围选取组成实体整体的第一个单位词的首字符作为起始的横向位置,最后一个单位词的尾字符作为该实体整体的横向结束位置;
(b)、对于识别得到的实体间出现的一些包含关系,即BCL10gene与BCL10;在此情况下,通常互为包含关系的实体间的所属类别也互不相同,该情况下应选取最长字符匹配的实体作为确定最终实体的结果;
(c)、一些缩写形式的实体,即NF-kB以及此类型实体在一些文本中会以特殊字体的形式出现,即k会写成花体情况;而此类特殊形式的字体容易导致识别不出作为整体的实体,为解决此问题,采用对特殊字符添加记号以及对于有可能由于特殊字符中存在转义字符影响判断的转义字符进行去除,来保证按照单位词匹配度来确定是否高亮某实体的顺利进行;
(d)、由于实体识别模型结果并非保证百分之百的准确率,因此需要在此模型识别结果的基础上进行后处理以保证结果的进一步完善,有时组成实体实体的首个单位词的右括号识别不出,则添加规则并使用栈的数据结构以保证若字符串内有左括号而没有对应右括号时则自动添加作为补充;若识别出的实体其整体并未出现于医学词典中而其组成的部分实体出现于标准医学词典中,则将优先级由最长匹配字符转为优先考虑已知实体;
(B)、对于识别得到的实体其如果由多个单位词组成而不同部分分别出现在上下相邻两行中,则需要以下几个子步骤处理所有可能情况:
(a)、如果识别得到的实体组成其的前半部分单位词集合在前一段的末尾而后半部分单位词集在后一段的起始,那么正常情况下为了保证论文的规范性,作者会在两部分之间加上一个连接符表明其属于同一实体;为此可以采取将连接符去掉的方式来判断其是否属于实体识别中查找到的实体lym-phoma,但由于有时实体本身会存在连接符B-Cell此类情况,因此需要分别判断当去掉连接符后是否属于现有识别得到实体集,然后再进一步确定该实体的位置,即该种情况下采取前一行第一个单位词的首字符作为起始位置到该行最后一个单位词的尾字符,与后一行第一个单位词的首字符作为起始位置到该行的最后一个单位词的尾字符,上述的两个横向的范围作为整个实体的总的横向跨度来作为矩形形状高亮的横向范围;
(b)、有时识别得到的实体的类型与组成该实体的部分实体所属的类别有所不同,BCL10gene属于DNA类型而BCL10属于蛋白质类型、gene属于DNA类型,为此如果前半部分BCL10与后半部分gene分属两行,为了保证不会错误的将其划分为两个实体,则需要采取合并判断手段来保证最大匹配优先原则;
步骤6、整体流程封装并以Web应用形式展示,在保持原PDF的格式下完成将实体识别得到的医学实体进行高亮之后,为了方便从事医学研究人员熟悉与应用,将整体流程封装为Pipeline并保存于服务器下,同时以Flask作为后端框架、并以HTML作为前端编写网页应用;将本地的原始PDF文件作为输入上传到后端,经过一系列处理后从前端可以直接下载后端进行处理高亮后的输出文件到本地,并使用frp工具将网址映射到公网从而能够使研究人员使用。
本发明有益效果是:一种面向PDF格式论文的生物医学实体识别方法,包括以下步骤:(1)接收PDF论文作为输入并确认其格式类型,(2)对输入文本的无效文本信息进行处理,(3)对输入文本内容进行规范化,(4)使用命名实体识别模型识别处理后文本中的医学实体,(5)对识别得到的实体在原文进行高亮处理,(6)整体流程封装并以Web应用形式展示。本发明通过将一个不可编辑的文本形式通过一系列的处理与后续的规则,来保证其可以成为一种可编辑且较为规整的文本形式从而能够为后续的识别任务提供输入。同时,本发明利用较为先进的实体识别技术作为核心支撑,以基于注意力机制的BiLSTM-CRF模型作为医学实体识别的模型,该模型结合了双向长短期记忆网络(BiLSTM)模型能够捕捉长距离依赖信息的优点以及传统随机条件场(CRF)模型能够使这个标签预测的序列更加合理的优点,并结合注意力机制(Attention Mechanism),构建了Att-BiLSTM-CRF模型来识别生物医学实体。本发明最大的特色是在保证了原始PDF格式不变的前提下,将识别出的实体按类别进行了高亮。其中,保证格式不变可以最大程度上的保证阅读的方便性与完整性,将不同类别的实体标亮为不同的颜色能够使文件的可读性提高。同时,对于高亮实体的各种情况一一进行了设置与处理,能够最大程度上的保证将所有识别出的实体在文本中正确的体现出来。本发明开发了前端应用来较好的封装整个过程保证研究人员较为方便的应用程序处理输入文本。
附图说明
图1是本发明方法步骤流程图。
图2是本发明基于注意力机制的BiLSTM-CRF实体识别模型的结构示意图。
图3是本发明实体高亮过程的详细示意图。
图4是本发明对文档的高亮结果展示图。
图5是本发明封装为Web应用成果图。
具体实施方式
下面结合附图本发明作进一步说明。
如图1所示,一种面向PDF格式论文的生物医学实体识别方法,包括以下步骤:
步骤1、接收PDF论文作为输入并确认其格式类型,首先要针对不可编辑的PDF格式文本进行相关处理,防止TXT,XML可编辑格式文本作为输入,由于PDF格式文本具有良好的封装性,允许影印格式的文本信息保存在PDF格式文本中,由于目前现有OCR技术的局限性,识别影印文件中内容的准确度很低,造成大量以影印格式保存于PDF格式文本中;针对格式类型的确认,主要采用双重保险的方式来筛选文本类型,具体包括以下子步骤:
(A)、由于最终封装成了一个系统并以网页形式展示,因此在网页输入端口设置了输入文本类型判断,从而筛选掉除PDF格式文本以外的其他类型文本;
(B)、对子步骤(A)筛选后保留的PDF格式文本进行下一步的筛选,使用PyMuPDF库对论文中的图片数量及位置进行统计,并与图片所在完整的页面位置进行比对,从而判断论文是否属于扫描得到的影印文件,并进行筛选丢弃;
步骤2、对输入文本的无效文本信息进行处理,由于PDF格式文本的不可编辑性以及良好的封装性,如何处理好每一页的有效文本信息成为了亟需解决的难题;尤其是PDF格式文本中的封面、页眉、页尾、图例、图表名及PDF格式文本中少量出现的特殊字多余信息的存在,导致若将PDF格式文本直接转换为可编辑类型文本后,会出现论文作者、论文编辑发表机构、论文评审会议字符乱码及冗余无效文本信息,为了方便后续步骤的进行,须首先对包含冗余无效文本信息的PDF格式文本进行清理,具体包括以下子步骤:
(A)、去除位于文本每页固定位置的页眉、页尾无效文本信息,其主要工作是将页眉、页尾部分从整个文本中识别出并清洗掉,其中识别的方式主要采取:首先,将PDF格式文本转换为PNG的图片格式,再根据图片格式的文本确定页眉、页尾无效文本信息部分在相对应的图片中的位置,主要为坐标位置信息,从而使用坐标位置信息在原图片的基础上裁剪掉上述无效文本信息;其次,为避免由于使用主流的OCR图像识别技术,对于大规模文字识别的准确度低带来的识别图片的误差,主要采用识别文本信息量少的页眉、页尾无效文本信息部分,然后从全文中去除识别得到的无效文本信息的方式,来尽量的避免由于准确度低引起误差情况的发生;
(B)、在进行步骤2子步骤(A)的无效文本信息清洗之后,位于PDF格式文本内位置并不固定的图例、表格、目录及引用无效文本信息同样需要彻底的筛选清洗;为此,采用以下的方法进行清除:对于图表的图例信息及图表名称,使用结合目前仅有的几种提取PDF格式文本表格,使用Pdfplumber、Camelot工具包以及识别PDF格式文本中图片的Tesseract-OCR工具的方式,来对图表标题、图例、内容无效文本信息进行提取并清洗;对于包含目录部分的PDF格式文本会结合使用Pdfminer方法将文本的目录提取出并作为框架信息,从而作为提取正文有效部分内容的框架标准;如果所处理的PDF格式文本不存在目录部分,则有选择地去除Introduction、Reference部分,这是由于此部分均为与正文叙述内容无关的无效文本信息;
步骤3、对输入文本内容进行规范化,经过步骤2对输入文本的无效文本信息处理后进行统计总结,得到符合文本的通用性规则并进行文本正则化处理,更加有效的保证下一步骤的实体识别模型输入文本的规范性;为此,主要采用正则化手段来对有效文本进行清洗,方法主要有:对于步骤2得到的有效文本中的一词分属两行情况,为了避免由于出现换行符而识别不出此种实体的问题,会根据文本特点以及普遍论文格式习惯来选择性去掉多余的换行符的特殊符号;对于有效文本中出现的特殊字体、引用脚注、尾注的符号,由于其转化为可编辑文本后均会出现转义字符与普通字符组合的形式,因此选择清除普通字符后的转义字符亦或直接将之整体一起清除掉;对于图表的多余题注部分以及出现在有效文本中的图表名称部分,需要清洗掉带有Figure或Table作为开头的长字符串;对于文本中出现的公式字符量少的噪声信息,设置限制文本每行字符量的最小阈值予以清除;对于文本内重复出现的噪声信息,设置限制文本内某一段字符串的出现次数最大阈值予以清除;
步骤4、使用命名实体识别模型识别处理后文本中的医学实体,对经过步骤2和步骤3处理之后的有效文本进行多种类医学实体的识别工作,主要使用BIO标签机制对文本进行序列标注;由于BIO标签会出现对多余空格或换行符错误处理的问题,因此需要将换行符多余符号进行清理得到可编辑文本;同时为了缩减单一文本进行实体识别时间的花销,将文本处理成以论文行为单位的文件并统一放在result文件夹下,并将它按照顺序输入模型中进行标注;
其中采用的核心实体识别模型是目前先进的基于注意力机制的BiLSTM-CRF模型,如图2所示展示出该模型的各层网络,其中使用双向长短期记忆网络主要考虑其能够充分结合上下文的信息来对每个词的上下文表示预测标签,同时加入CRF模型来进一步提升模型在转移预测方面的能力,这里I标签出现在B标签之后,而不会出现在O标签之后;最后,为了更好的处理句子级与文档级标签信息不一致的问题,加入注意力机制以及词法特征、句法特征来提升模型的性能;使用的机器学习的方法同时也结合了一些由维基百科、医学网站爬下来的词条及实体做成的词典,进行按照规则的实体识别;使用斯坦福的Corenlp工具进行有限类别的实体识别作为机器学习方法的补充;最后对于识别出的实体进行标准化,下载得到标准化的词条并使用词语相似度计算编辑距离,将一些不规范化实体映射到标准词条,从而能够处理单复数、大小写、缩写变形问题;在经过处理得到的标准化实体后,仍需要考虑一些优先级的问题,这里有时实体是由多个词组成,而组成某实体的部分词其本身也有可能是另一种实体;为此,要设置优先考虑已经存在于候选词集库中的实体、亦或是常见医学实体;同时,根据实体类型将识别出的实体分为八类:药物、疾病、蛋白质、DNA、RNA、细胞、变异和表型,从而可以使得不同类别的实体高亮为不同的颜色来更好的达到区分的效果,如表1所示。
表1
步骤5、对识别得到的实体在原文进行高亮处理,其详细的流程示意图在图3中进行展示,对于某一个有效文本,根据步骤4识别得到的八种类型的实体结果,取出相关识别得到的实体及对应的类别信息,并按照其不同的类别进行相应的高亮处理;为保证可读性及规范性,需要保留原有的PDF格式不变,因此对于文本进行高亮操作等效为在原始的PDF上找到相应实体出现的位置,并使用矩形形状区域对相应位置进行涂色的方法解决,该方法实现对不可编辑的PDF格式进行标记以达到高亮相应实体的目的;在PDF中找到不同实体的位置,首先利用PyMupdf包中的getTextWord函数,其返回所有以左右空格作为分割的词,即单位词的具体位置信息:主要包括一个单位词,在以其所出现页面的左下角为原点,计算得到的起始字符坐标、结束字符坐标构成的横向跨度范围以及单位词的上下坐标信息构成的纵向跨度范围,同时还有该单位词出现于所在页面的Block、Line与Word的具体位置信息;通过使用上述信息作为索引,进一步求出组成所识别实体的每一个单位词在其所出现页面中的具体位置,并使用该包中的addHighlightAnnot以及Setcolor函数设置RGB格式的颜色属性从而对识别出的实体进行具体颜色的高亮,并在原始PDF中根据找出的实体位置做出不同颜色的矩形;其中针对不同情况下的特定实体,其位置信息主要由以下子步骤获得:
(A)、对于实体识别得到的实体,其如果由多个单位词组成且均出现在同一行中,则需要以下几个子步骤处理所有可能情况:
(a)、最普遍的情况就是一个实体由多个单位词组成,即MALT lymphomas、mucosa-associated lymphoid tissue此类实体,该类实体需要对组成它的多个单位词的位置信息进行拼接才能够得到完整实体正确的位置信息;此类实体的位置范围选取组成实体整体的第一个单位词的首字符作为起始的横向位置,最后一个单位词的尾字符作为该实体整体的横向结束位置;
(b)、对于识别得到的实体间出现的一些包含关系,即BCL10gene与BCL10;在此情况下,通常互为包含关系的实体间的所属类别也互不相同,该情况下应选取最长字符匹配的实体作为确定最终实体的结果;
(c)、一些缩写形式的实体,即NF-kB以及此类型实体在一些文本中会以特殊字体的形式出现,即k会写成花体情况;而此类特殊形式的字体容易导致识别不出作为整体的实体,为解决此问题,采用对特殊字符添加记号以及对于有可能由于特殊字符中存在转义字符影响判断的转义字符进行去除,来保证按照单位词匹配度来确定是否高亮某实体的顺利进行;
(d)、由于实体识别模型结果并非保证百分之百的准确率,因此需要在此模型识别结果的基础上进行后处理以保证结果的进一步完善,有时组成实体实体的首个单位词的右括号识别不出,则添加规则并使用栈的数据结构以保证若字符串内有左括号而没有对应右括号时则自动添加作为补充;若识别出的实体其整体并未出现于医学词典中而其组成的部分实体出现于标准医学词典中,则将优先级由最长匹配字符转为优先考虑已知实体;
(B)、对于识别得到的实体其如果由多个单位词组成而不同部分分别出现在上下相邻两行中,则需要以下几个子步骤处理所有可能情况:
(a)、如果识别得到的实体组成其的前半部分单位词集合在前一段的末尾而后半部分单位词集在后一段的起始,那么正常情况下为了保证论文的规范性,作者会在两部分之间加上一个连接符表明其属于同一实体;为此可以采取将连接符去掉的方式来判断其是否属于实体识别中查找到的实体lym-phoma,但由于有时实体本身会存在连接符B-Cell此类情况,因此需要分别判断当去掉连接符后是否属于现有识别得到实体集,然后再进一步确定该实体的位置,即该种情况下采取前一行第一个单位词的首字符作为起始位置到该行最后一个单位词的尾字符,与后一行第一个单位词的首字符作为起始位置到该行的最后一个单位词的尾字符,上述的两个横向的范围作为整个实体的总的横向跨度来作为矩形形状高亮的横向范围;
(b)、有时识别得到的实体的类型与组成该实体的部分实体所属的类别有所不同,BCL10gene属于DNA类型而BCL10属于蛋白质类型、gene属于DNA类型,为此如果前半部分BCL10与后半部分gene分属两行,为了保证不会错误的将其划分为两个实体,则需要采取合并判断手段来保证最大匹配优先原则;
经过步骤5的高亮处理之后得到的PDF格式的结果文件,选取其中包含高亮实体的一页PDF在图4中进行展示。
步骤6、整体流程封装并以Web应用形式展示,如图5所示,在保持原PDF的格式下完成将实体识别得到的医学实体进行高亮之后,为了方便从事医学研究人员熟悉与应用,将整体流程封装为Pipeline并保存于服务器下,同时以Flask作为后端框架、并以HTML作为前端编写网页应用;将本地的原始PDF文件作为输入上传到后端,经过一系列处理后从前端可以直接下载后端进行处理高亮后的输出文件到本地,并使用frp工具将网址映射到公网从而能够使研究人员使用。
Claims (1)
1.一种面向PDF格式论文的生物医学实体识别方法,其特征在于包括以下步骤:
步骤1、接收PDF论文作为输入并确认其格式类型,首先要针对不可编辑的PDF格式文本进行相关处理,防止TXT,XML可编辑格式文本作为输入,由于PDF格式文本具有良好的封装性,允许影印格式的文本信息保存在PDF格式文本中,由于目前现有OCR技术的局限性,识别影印文件中内容的准确度很低,造成大量以影印格式保存于PDF格式文本中;针对格式类型的确认,主要采用双重保险的方式来筛选文本类型,具体包括以下子步骤:
(A)、由于最终封装成了一个系统并以网页形式展示,因此在网页输入端口设置了输入文本类型判断,从而筛选掉除PDF格式文本以外的其他类型文本;
(B)、对子步骤(A)筛选后保留的PDF格式文本进行下一步的筛选,使用PyMuPDF库对论文中的图片数量及位置进行统计,并与图片所在完整的页面位置进行比对,从而判断论文是否属于扫描得到的影印文件,并进行筛选丢弃;
步骤2、对输入文本中的无效文本信息进行处理,由于PDF格式文本的不可编辑性以及良好的封装性,如何处理好每一页的有效文本信息成为了亟需解决的难题;尤其是PDF格式文本中的封面、页眉、页尾、图例、图表名及PDF格式文本中少量出现的特殊字多余信息的存在,导致若将PDF格式文本直接转换为可编辑类型文本后,会出现论文作者、论文编辑发表机构、论文评审会议字符乱码及冗余无效文本信息,为了方便后续步骤的进行,须首先对包含冗余无效文本信息的PDF格式文本进行清理,具体包括以下子步骤:
(A)、去除位于文本每页固定位置的页眉、页尾无效文本信息,其主要工作是将页眉、页尾部分从整个文本中识别出并清洗掉,其中识别的方式主要采取:首先,将PDF格式文本转换为PNG的图片格式,再根据图片格式的文本确定页眉、页尾无效文本信息部分在相对应的图片中的位置,主要为坐标位置信息,从而使用坐标位置信息在原图片的基础上裁剪掉上述无效文本信息;其次,为避免由于使用主流的OCR图像识别技术,对于大规模文字识别的准确度低带来的识别图片的误差,主要采用识别文本信息量少的页眉、页尾无效文本信息部分,然后从全文中去除识别得到的无效文本信息的方式,来尽量的避免由于准确度低引起误差情况的发生;
(B)、在进行步骤2子步骤(A)的无效文本信息清洗之后,位于PDF格式文本内位置并不固定的图例、表格、目录及引用无效文本信息同样需要彻底的筛选清洗;为此,采用以下的方法进行清除:对于图表的图例信息及图表名称,使用结合目前仅有的几种提取PDF格式文本表格,使用Pdfplumber、Camelot工具包以及识别PDF格式文本中图片的Tesseract-OCR工具的方式,来对图表标题、图例、内容无效文本信息进行提取并清洗;对于包含目录部分的PDF格式文本会结合使用Pdfminer方法将文本的目录提取出并作为框架信息,从而作为提取正文有效部分内容的框架标准;如果所处理的PDF格式文本不存在目录部分,则有选择地去除Introduction、Reference部分,这是由于此部分均为与正文叙述内容无关的无效文本信息;
步骤3、对输入文本内容进行规范化,经过步骤2对输入文本的无效文本信息处理后进行统计总结,得到符合文本的通用性规则并进行文本正则化处理,更加有效的保证下一步骤的实体识别模型输入文本的规范性;为此,主要采用正则化手段来对有效文本进行清洗,方法主要有:对于步骤2得到的有效文本中的一词分属两行情况,为了避免由于出现换行符而识别不出此种实体的问题,会根据文本特点以及普遍论文格式习惯来选择性去掉多余的换行符的特殊符号;对于有效文本中出现的特殊字体、引用脚注、尾注的符号,由于其转化为可编辑文本后均会出现转义字符与普通字符组合的形式,因此选择清除普通字符后的转义字符亦或直接将之整体一起清除掉;对于图表的多余题注部分以及出现在有效文本中的图表名称部分,需要清洗掉带有Figure或Table作为开头的长字符串;对于文本中出现的公式字符量少的噪声信息,设置限制文本每行字符量的最小阈值予以清除;对于文本内重复出现的噪声信息,设置限制文本内某一段字符串的出现次数最大阈值予以清除;
步骤4、使用命名实体识别模型识别处理后文本中的医学实体,对经过步骤2和步骤3处理之后的有效文本进行多种类医学实体的识别工作,主要使用BIO标签机制对文本进行序列标注;由于BIO标签会出现对多余空格或换行符错误处理的问题,因此需要将换行符多余符号进行清理得到可编辑文本;同时为了缩减单一文本进行实体识别时间的花销,将文本处理成以论文行为单位的文件并统一放在result文件夹下,并将它按照顺序输入模型中进行标注;
其中采用的核心实体识别模型是目前先进的基于注意力机制的BiLSTM-CRF模型,使用双向长短期记忆网络主要考虑其能够充分结合上下文的信息来对每个词的上下文表示预测标签,同时加入CRF模型来进一步提升模型在转移预测方面的能力,这里I标签出现在B标签之后,而不会出现在O标签之后;最后,为了更好的处理句子级与文档级标签信息不一致的问题,加入注意力机制以及词法特征、句法特征来提升模型的性能;使用的机器学习的方法同时也结合了一些由维基百科、医学网站爬下来的词条及实体做成的词典,进行按照规则的实体识别;使用斯坦福的Corenlp工具进行有限类别的实体识别作为机器学习方法的补充;最后对于识别出的实体进行标准化,下载得到标准化的词条并使用词语相似度计算编辑距离,将一些不规范化实体映射到标准词条,从而能够处理单复数、大小写、缩写变形问题;在经过处理得到的标准化实体后,仍需要考虑一些优先级的问题,这里有时实体是由多个词组成,而组成某实体的部分词其本身也有可能是另一种实体;为此,要设置优先考虑已经存在于候选词集库中的实体、亦或是常见医学实体;同时,根据实体类型将识别出的实体分为八类:药物、疾病、蛋白质、DNA、RNA、细胞、变异和表型,从而可以使得不同类别的实体高亮为不同的颜色来更好的达到区分的效果;
步骤5、对识别得到的实体在原文进行高亮处理,对于某一个有效文本,根据步骤4识别得到的八种类型的实体结果,取出相关识别得到的实体及对应的类别信息,并按照其不同的类别进行相应的高亮处理;为保证可读性及规范性,需要保留原有的PDF格式不变,因此对于文本进行高亮操作等效为在原始的PDF上找到相应实体出现的位置,并使用矩形形状区域对相应位置进行涂色的方法解决,该方法实现对不可编辑的PDF格式进行标记以达到高亮相应实体的目的;在PDF中找到不同实体的位置,首先利用PyMupdf包中的getTextWord函数,其返回所有以左右空格作为分割的词,即单位词的具体位置信息:主要包括一个单位词,在以其所出现页面的左下角为原点,计算得到的起始字符坐标、结束字符坐标构成的横向跨度范围以及单位词的上下坐标信息构成的纵向跨度范围,同时还有该单位词出现于所在页面的Block、Line与Word的具体位置信息;通过使用上述信息作为索引,进一步求出组成所识别实体的每一个单位词在其所出现页面中的具体位置,并使用该包中的addHighlightAnnot以及Setcolor函数设置RGB格式的颜色属性从而对识别出的实体进行具体颜色的高亮,并在原始PDF中根据找出的实体位置做出不同颜色的矩形;其中针对不同情况下的特定实体,其位置信息主要由以下子步骤获得:
(A)、对于实体识别得到的实体,其如果由多个单位词组成且均出现在同一行中,则需要以下几个子步骤处理所有可能情况:
(a)、最普遍的情况就是一个实体由多个单位词组成,即MALT lymphomas、mucosa-associated lymphoid tissue此类实体,该类实体需要对组成它的多个单位词的位置信息进行拼接才能够得到完整实体正确的位置信息;此类实体的位置范围选取组成实体整体的第一个单位词的首字符作为起始的横向位置,最后一个单位词的尾字符作为该实体整体的横向结束位置;
(b)、对于识别得到的实体间出现的一些包含关系,即BCL10 gene与BCL10;在此情况下,通常互为包含关系的实体间的所属类别也互不相同,该情况下应选取最长字符匹配的实体作为确定最终实体的结果;
(c)、一些缩写形式的实体,即NF-kB以及此类型实体在一些文本中会以特殊字体的形式出现,即k会写成花体情况;而此类特殊形式的字体容易导致识别不出作为整体的实体,为解决此问题,采用对特殊字符添加记号以及对于有可能由于特殊字符中存在转义字符影响判断的转义字符进行去除,来保证按照单位词匹配度来确定是否高亮某实体的顺利进行;
(d)、由于实体识别模型结果并非保证百分之百的准确率,因此需要在此模型识别结果的基础上进行后处理以保证结果的进一步完善,有时组成实体实体的首个单位词的右括号识别不出,则添加规则并使用栈的数据结构以保证若字符串内有左括号而没有对应右括号时则自动添加作为补充;若识别出的实体其整体并未出现于医学词典中而其组成的部分实体出现于标准医学词典中,则将优先级由最长匹配字符转为优先考虑已知实体;
(B)、对于识别得到的实体其如果由多个单位词组成而不同部分分别出现在上下相邻两行中,则需要以下几个子步骤处理所有可能情况:
(a)、如果识别得到的实体组成其的前半部分单位词集合在前一段的末尾而后半部分单位词集在后一段的起始,那么正常情况下为了保证论文的规范性,作者会在两部分之间加上一个连接符表明其属于同一实体;为此可以采取将连接符去掉的方式来判断其是否属于实体识别中查找到的实体lym-phoma,但由于有时实体本身会存在连接符B-Cell此类情况,因此需要分别判断当去掉连接符后是否属于现有识别得到实体集,然后再进一步确定该实体的位置,即该种情况下采取前一行第一个单位词的首字符作为起始位置到该行最后一个单位词的尾字符,与后一行第一个单位词的首字符作为起始位置到该行的最后一个单位词的尾字符,上述的两个横向的范围作为整个实体的总的横向跨度来作为矩形形状高亮的横向范围;
(b)、有时识别得到的实体的类型与组成该实体的部分实体所属的类别有所不同,BCL10 gene属于DNA类型而BCL10属于蛋白质类型、gene属于DNA类型,为此如果前半部分BCL10与后半部分gene分属两行,为了保证不会错误的将其划分为两个实体,则需要采取合并判断手段来保证最大匹配优先原则;
步骤6、整体流程封装并以Web应用形式展示,在保持原PDF的格式下完成将实体识别得到的医学实体进行高亮之后,为了方便从事医学研究人员熟悉与应用,将整体流程封装为Pipeline并保存于服务器下,同时以Flask作为后端框架、并以HTML作为前端编写网页应用;将本地的原始PDF文件作为输入上传到后端,经过一系列处理后从前端可以直接下载后端进行处理高亮后的输出文件到本地,并使用frp工具将网址映射到公网从而能够使研究人员使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010605944.7A CN111797630B (zh) | 2020-06-29 | 2020-06-29 | 一种面向pdf格式论文的生物医学实体识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010605944.7A CN111797630B (zh) | 2020-06-29 | 2020-06-29 | 一种面向pdf格式论文的生物医学实体识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111797630A CN111797630A (zh) | 2020-10-20 |
CN111797630B true CN111797630B (zh) | 2022-10-14 |
Family
ID=72804011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010605944.7A Active CN111797630B (zh) | 2020-06-29 | 2020-06-29 | 一种面向pdf格式论文的生物医学实体识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797630B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342920B (zh) * | 2021-05-10 | 2022-07-19 | 武汉大学 | 一种针对内容资源的编目自动化方法及系统 |
CN113627185A (zh) * | 2021-07-29 | 2021-11-09 | 重庆邮电大学 | 一种用于肝癌病理文本命名的实体识别方法 |
CN113627189A (zh) * | 2021-08-17 | 2021-11-09 | 青岛全掌柜科技有限公司 | 一种面向保险条款的实体识别信息抽取、存储、展示方法 |
CN113722153A (zh) * | 2021-09-01 | 2021-11-30 | 珠海华发金融科技研究院有限公司 | 文本图片备份方法、装置、设备及系统 |
CN115099224A (zh) * | 2022-07-08 | 2022-09-23 | 江苏理工学院 | 融合BiLSTM+CRF与规则匹配的中文PDF内容抽取方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106886509B (zh) * | 2017-03-06 | 2019-12-27 | 大连理工大学 | 一种学位论文格式自动检测方法 |
CN110675962A (zh) * | 2019-09-10 | 2020-01-10 | 电子科技大学 | 一种基于机器学习和文本规则的中药药理作用识别方法及系统 |
-
2020
- 2020-06-29 CN CN202010605944.7A patent/CN111797630B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111797630A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111797630B (zh) | 一种面向pdf格式论文的生物医学实体识别方法 | |
CN111737969B (zh) | 一种基于深度学习的简历解析方法和系统 | |
US7783472B2 (en) | Document translation method and document translation device | |
US8452132B2 (en) | Automatic file name generation in OCR systems | |
CN104199871B (zh) | 一种用于智慧教学的高速化试题导入方法 | |
CN109933796B (zh) | 一种公告文本关键信息提取方法及设备 | |
CN109858036B (zh) | 一种文书划分方法及装置 | |
US7310773B2 (en) | Removal of extraneous text from electronic documents | |
CN109033282B (zh) | 一种基于抽取模板的网页正文抽取方法及装置 | |
CN110705503B (zh) | 生成目录结构化信息的方法和装置 | |
CN110704570A (zh) | 一种连续页版式文档结构化信息提取方法 | |
CN112380812B (zh) | Pdf不完整框线表格提取方法、装置、设备及存储介质 | |
CN106547895B (zh) | 一种网页信息的提取方法及装置 | |
CN112395851A (zh) | 一种文本比对方法、装置、计算机设备及可读存储介质 | |
CN111563372B (zh) | 一种基于教辅书籍出版的排版文档内容自查重方法 | |
CN112257462A (zh) | 一种基于神经机器翻译技术的超文本标记语言翻译方法 | |
CN107590448A (zh) | 从文献中自动获取qtl数据的方法 | |
CN117034948B (zh) | 基于多特征自适应融合的段落识别方法、系统及存储介质 | |
CN111310473A (zh) | 文本纠错方法及其模型训练的方法、装置 | |
CN110737855A (zh) | 一种不可复制文字网页内文字的提取方法 | |
CN107301180A (zh) | 一种文档结构的分析方法和装置 | |
CN115983198A (zh) | 从pdf文档中提取页眉或者页脚的方法、装置和存储介质 | |
CN112733508B (zh) | 标准文本标注、标准图谱构建方法及装置 | |
CN112100978B (zh) | 基于电子书的排版处理方法、电子设备及存储介质 | |
CN114637505A (zh) | 一种页面内容提取方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |