CN111680491A - 文档信息的抽取方法、装置和电子设备 - Google Patents
文档信息的抽取方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111680491A CN111680491A CN202010464581.XA CN202010464581A CN111680491A CN 111680491 A CN111680491 A CN 111680491A CN 202010464581 A CN202010464581 A CN 202010464581A CN 111680491 A CN111680491 A CN 111680491A
- Authority
- CN
- China
- Prior art keywords
- sub
- text
- text box
- content
- sorting
- 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.)
- Granted
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 27
- 238000012163 sequencing technique Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 43
- 239000011159 matrix material Substances 0.000 claims description 53
- 230000011218 segmentation Effects 0.000 claims description 49
- 238000010586 diagram Methods 0.000 claims description 47
- 238000012549 training Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 abstract description 12
- 230000015654 memory Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/205—Parsing
-
- 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/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- 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
- G06F40/00—Handling natural language data
- G06F40/30—Semantic 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/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
本公开实施例公开了文档信息的抽取方法、装置和电子设备。该方法的一具体实施方式包括:对目标文档进行分割,得到至少一个子文本框;对于每一个所述子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框;将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列;按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。实现了对现有技术中提取电子文档内容出现的文本内容顺序错乱的问题进行修正,对错乱的文本重新排序,排序后的文本内容与人的阅读顺序更加贴近。可以提高对文档分析结果的准确率。
Description
技术领域
本公开涉及计算机领域,尤其涉及一种文档信息的抽取方法、装置和电子设备。
背景技术
PDF(Portable Document Format,便携式文档格式),是一种与应用程序、操作***、硬件无关的文件格式,可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中,集成度和安全可靠性都较高。
随着数据分析技术的发展,人们越来越依赖于使用计算机对数据进行分析。对于文档而言,用户希望可以使用计算机自动读取并分析文档中的信息内容,并对信息信息内容进行分析处理。
发明内容
提供该公开内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该公开内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开实施例提供了一种文档信息的抽取方法、装置和电子设备。
第一方面,本公开实施例提供了一种文档信息的抽取方法,该方法包括:对目标文档进行分割,得到至少一个子文本框;对于每一个所述子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框;将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列;按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。
第二方面,本公开实施例提供了一种文档信息的抽取装置,包括:分割单元,用于对目标文档进行分割,得到至少一个子文本框;第一排序单元,用于对于每一个子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框;第二排序单元,用于将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列;文本信息提取单元,用于按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。
第三方面,本公开实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的文档信息的抽取方法。
第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的文档信息的抽取方法的步骤。
本公开实施例提供的文档信息的抽取方法、装置和电子设备,通过对目标文档进行分割,得到至少一个子文本框;对于每一个所述子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框;将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列;按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。实现了对现有技术中提取电子文档内容出现的文本内容顺序错乱的问题进行修正,对错乱的文本重新排序,排序后的文本内容与人的阅读顺序更加贴近。可以提高对文档分析结果的准确率。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是根据本公开的文档信息的抽取方法的一个实施例的流程图;
图2A~图2E是根据本公开的文档信息的抽取方法的一个应用场景的示意图;
图3是根据本公开的文档信息的抽取装置的一个实施例的结构示意图;
图4是本公开的一个实施例的文档信息的抽取方法可以应用于其中的示例性***架构;
图5是根据本公开实施例提供的电子设备的基本结构的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
请参考图1,其示出了根据本公开的文档信息的抽取方法的一个实施例的流程。如图1所示该文档信息的抽取方法,包括以下步骤:
步骤101,对目标文档进行分割,得到至少一个子文本框。
这里的文档可以是各种类型的文档,例如可以是PDF(Portable DocumentFormat)文档;以图片形式存储的文档等。本公开以PDF文档为例进行说明。
这里的对目标文档进行分割是指的将目标文档页面的内容分割成不同文本块。每一个文本块对应一个子文本框。这里的子文本框可以包括用于圈起上述文本框的实体框、以及位于上述子文本框中的文本块。不同文本块分别对应的子文本框之间可以没有交叉。
可以采用各种对PDF文档进行分割的方法对目标PDF文档进行分割。
例如可以根据不同文本段落之间的距离来对PDF文档进行分割。
在本实施例中,上述对目标文件进行分割,得到至少一个PDF子文本框可以包括如下步骤:
首先,获取目标文档的富文本信息。
可以使用现有的各种PDF文本内容提取方法提取目标PDF文档的富文本信息。
在一些应用场景中,可以使用OCR(Optical Character Recognition,光学字符识别)对PDF文档中的文本信息进行富文本新提取等,从而得到目标文档的富文本信息。
在另外一些应用场景中,可以是使用Apache Tika工具,提取目标文档的富文本信息。
这里的富文本信息例如可以包括文档中的文字信息、文字的位置、文字的显示格式。这里的文字显示格式例如可以包括字号、字体、字体颜色等。
其次,基于上述富文本信息生成上述目标文档的第一特征图。
最后,根据上述第一特征图确定至少一个子文本框。
例如可以将目标PDF文档中的相同显示格式的文字,映射为相同的特征图元素。每一个文字在第一特征图中可以对应一第一特征图中的特征图元素。特征图元素在第一特征图中的位置可以反映特征图元素所对应的文字在目标PDF文档中的位置。
这里的特征图元素可以为在特征图中显示的元素。特征图元素可以包括字母、符号、数字等。
这样,上述第一特征图可以反映目标文档的结构。可以为对目标文档进行分割做准备。
在一些应用场景中,上述基于富文本信息生成目标文档的第一特征图,可以包括如下步骤:
第一,生成目标文档对应的初始矩阵,初始矩阵包括多个相同的初始矩阵元素。
在一些应用场景中,初始矩阵的大小可以与目标文档的大小相同。这里初始矩阵的大小与目标文档的大小相同是指的初始矩阵所包括的像素的数量与目标文档所包括的像素的数量相同。
这里的初始矩阵元素可以是字母、符号、数字、演示等。
上述初始矩阵的各初始矩阵元素的第一元素值可以相同。例如各初始矩阵元素的值可以为0。
第二,对于每一个文字,基于该文字的显示格式对该文字对应的矩阵元素进行修改,得到目标文档的第一特征图。
这里的显示格式例如可以包括字号、字体、显示颜色等。
不同的字号可以对应不同数量的矩阵元素。对于一种的字体,可以预先设置与该字体对应的预设矩阵元素显示颜色。文字的显示颜色可以对应预设矩阵元素的显示大小等。
在一些应用场景中,可以对富文本信息中的字号信息进行统计,选出属于该字号的文字个数最多的字号作为基准字号。基准字号可以对应上述初始矩阵中的一个矩阵元素。小于基准字号的文字也可以对应一个矩阵元素。对于大于基准字号的其他字号,按字号大小,分为四个等级:第一等级、第二等级、第三等级和第四等级。按照等级从小到大的顺序,各等级字号依次在初始矩阵中占据4,9,16,25个矩阵元素(大于第四个等级的字号,也只占据25个像素)。
在确定了各个字号对应的矩阵元素数量之后,可以将初始矩阵中各矩阵元素进行修改。可以将每一个文字对应的矩阵元素的第一元素值修改为第二元素值。在各文字字体和显示颜色相同的情况下,不同文字对应的矩阵元素的第二元素值可以相同。例文字1在目标文档的中位于第2行第3列。该文字对应的字号为基准字号。文字2在目标PDF文档的中位于第5行第1列。文字1文字对应的字号为基准字号。文字2对应的大于基准字号,且文字2对应的矩阵元素的数量为4个矩阵元素,则将在初始矩阵中对应文字1的矩阵元素由第一元素值修改为第二元素值。将文字2对应的4个矩阵元素由第一元素至修改为第二元素值。
在一些应用场景中,上述第一元素值可以为0,上述第二元素值例如可以为1。
进一步地,上述初始矩阵中元素的值为元素的初始显示颜色值;以及
所述对于每一个文字,基于该文字的显示格式对该文字对应的所述矩阵元素进行修改,得到所述目标文档的第一特征图,包括:
根据所述富文本信息中各字号分别所对应的文字数量,确定基准字号;
基于所述基准字号确定各字号对应的像素的数量;
对于每一个文字,在所述初始矩阵中将该文字匹配的所述数量的像素对应的第一显示颜色值修改为第二显示颜色值,得到所述目标文档的初始第一特征图。
具体地,对于每一个文字,可以先确定该文字的字号,然后在上述初始矩阵中确定与该文字对应的、与上述字号匹配的上述数量的像素。将上述像素对应的第一显示颜色值修改为第二显示颜色值。
上述第一显示颜色值可以包括显示为黑色的显示颜色值,第二显示颜色值例如可以包括显示为白色的显示颜色值。显示为黑色的显示颜色值、显示为白色的显示颜色值例如可以包括RGB值。
在一些应用场景中,上述对于每一个文字,基于该文字的显示格式对该文字对应的所述矩阵元素进行修改,得到所述目标PDF文档的第一特征图,包括:
在得到所述目标文档的初始第一特征图之后,所述方法还包括:
根据每一个文字对应的字体,在所述初始第一特征图中该文字对应的矩阵元素的显示颜色值修改为第三显示颜色值,得到所述第一特征图。
当目标文档包括多个字体时,可以预先为每个字体设置该字体对应的第三显示颜色值。不同字体对应的第三显示颜色值可以包括除了显示为黑色的颜色值的其他显示颜色值。
这样通过各文字字号、字体等文字显示格式将目标文档映射为第一特征图。
在将目标文档映射为第一特征图之后,可以根据第一特征图中的矩阵元素的矩阵元素值将第一特征图进行区块划分。在将第一特征图进行区块划分之后,可以将区块划分结果映射到目标文档中。从而得到目标文档的至少一个子文本框。
在一些应用场景中,上述根据所述第一特征图确定所述至少一个子文本框,包括:
将所述第一特征图输入到预先训练的版面分割模型,基于所述版面分割模型的输出确定所述目标文档对应的至少一个子文本框。
上述版面分割模型可以为用于目标检测的任意R-CNN、Fast R-CNN、Faster R-CNN、Mask RCNN等神经网络模型。
上述版面分割模型可以用于对输入的富文本信息特征图分块,从对各分块后的富文本信息特征图添加分块框。
在将上述第一特征图输入到预先训练的版面分割模型后,可以输出标记了分块框的第一特征图。每一分块框可以对应第一特征图的一个分块结果。
然后被分块的第一特征图映射到目标文档,得到目标文档的至少一个子文本框。
上述版面分割模型经过如下步骤进行训练得到:
第一,获取已分块的训练样本对应的富文本信息特征图。
这里的训练样本可以为多个训练样本。可以将多个训练样本分为多组对初始版面分割模型进行训练。以待处理对象为PDF文档为例,这里的每个训练样本可以为一个PDF文档。
对于每一个训练样本,可以由人工预先在该PDF文档中标注了至少一个PDF子文本框。也即,使用框的形式圈出了至少一个文本块。
然后,使用上述生成PDF文档的第一特征图的方法,得到训练样本的富文本信息特征图。在富文本信息特征图中可以保留上述用于圈出文本块的框。也即在训练样本富文本信息特征图中标记有富文本信息对应的分块结果。
第二,将训练样本的上述富文本信息特征图输入到初始版面分割模型,训练样本的富文本信息特征图的对应的分块结果作为输出,对所述初始版面分割模型进行训练,得到训练后的版面分割模型。
初始版面分割模型的多级神经网络参数可以为初始值。
可以将添加了框标记的训练样本的富文本信息特征图输入到初始版面分割模型。并以训练样本的富文本信息特征图的分块结果作为输出,对初始版面模型进行训练。
需要说明的是,使用训练样本对初始版面分割模型进行训练得到循环后的版面分割模型,可以参考现有的对神经网络模型进行训练的过程,此处不赘述。
步骤102,对于每一个子文本框,基于该子文本框内的至少一个第一内容的语义信息,对至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框。
经过步骤101可以得到目标文档的至少一个子文本框。在步骤101中,通过目标检测的方式,已经在目标文档的版面上画出了一个个限定框。基于这些限定框,可以将每行文本划分到它所属的框内。这样就将从目标文档中提取的文本划分成了一个个分组。每一个分组对应一个子文本框。
子文本框可以包括至少一个第一内容。这里的第一内容例如可以是子文本框内的根据文字的字号、字体或者文字之间的距离确定该文本框所包括不同的部分内容。子文本框中的每一个部分内容可以视为第一内容。
当子文本框包括至少两个第一内容时,可以对上述至少两个第一内容进行语义分析,根据语义分析结果对至少两个第一内容进行第一排序。
这里对上述至少两个第一内容进行语义分析,可以是使用现有的各种语义分析工具对上述至少两个第一内容进行语义分析。
在一些应用场景中,上述步骤102可以包括如下子步骤:
子步骤1021,确定目标文档中的文本内容,从文本内容中提取语义实体。
具体地,步骤1021可以包括:
第一,从所获取的目标文档的富文本信息中提取目标文档的文本内容。
第二,使用预设语义实体识别方法,在所述文本内容中识别至少一个语义实体以及语义实体在目标文档中的位置信息。
对于由对目标文档进行富文本分析得到分析结果中,可以包括目标文档的文本内容。可以使用现有的各种语义实体提取工具提取上述文本内容中的语义实体。
这里的语义实体例如可以包括人名、名词。这里的名词可以包括地名、公司名称、职位名称、专有名词等。
在一些应用场景中,可以使用基于字典的方法识别上述文本内容中的语义实体。可以预先设置包括多类名词的字典。
然后对上述文本内容进行分词,去除停用词,得到分词结果。将所得到的分词结果与上述字典进行匹配,若匹配成功,则将上述分词结果作为语义实体。
这里的预设条件例如可以为语义实体所在的局部区域中空白区域的占比大于预设占比阈值。这里的局部区域例如可以是语义实体所在的行。局部区域还包括以语义实体为中心的预设宽高比的矩形区域。
在另外一些应用场景中,可以使用预先训练的语义实体识别模型来识别上述满足预设条件的文本中的语义实体。
例如将上述文本内容输入到上述预先训练的语义实体识别模型,得到该文本内容对应的语义实体。
这里的语义实体识别模型例如可以包括:长短期记忆网络(Long Short-TermMemory,LSTM)、双向长短时记忆网络(Bi-directional Long-Short Term Memory,Bi-LSTM)等神经网络模型。
将一行文本内容输入到上述语义实体识别模型时,上述语义实体模型可以输出该行文本内容对应的语义实体,以及各语义实体对应的在文本中的位置信息。
输入一行文本转换成的list:
['A','B','C','D','/',″,″,'软','件','工','程','师',″,″,'2','0','1','8','.','0','9','-','至','今']
该模型可以格式化输出如下结果:
[('company','ABCD',0,0,3),('position','软件工程师',0,7,11)]
该输出结果可以解释为:该文本第0行的第0-3个字符是一个公司实体,实体名字为ABCD;第0行的7到11个字符是一个职位实体,实体名字为软件工程师。这里的字符ABCD代表任意文字。
经过上述方式可以得到子文本框所包括的语义实体,以及语义实体在目标文档中的位置信息。
需要说明的是,在得到该目标文档的语义实体后,还可以根据语义实体之间的关联关系,确定用于表征不同语义实体的层级关系的知识图谱。
子步骤1022,对于每一个子文本框,基于所述满足预设条件的语义实体对所述至少一个第一内容进行第一排序,得到第一排序后的该子文本框。
具体地,子步骤1022可以包括:识别该子文本框中所包括的满足预设条件的语义实体,并确定所述满足预设条件的语义实体的排序次序;基于所述满足预设条件的语义实体的排序次序对所述子文本框中的文本进行第一排序。
例如可以按照上述知识图谱将该子文本框所包括的满足预设条件的语义实体进行排序,确定各满足预设条件的语义实体的排序次序。
作为示意性说明,当一个子文本框中包括公司名称,以及职位名称时,可以确定公司名称的排序优先级为第一优先级,职位名称的排序优先级为第二优先级。
在确定了各满足预设条件的语义实体的排序次序后,对子文本框中的文本内容进行第一排序。
原则上在上述子文本框中,优先提取语义实体,在语义实体提取完成后,在提取其他文本内容。
经过步骤102中对子文本框中的各部分内容进行排序,对于从目标文档中得到的各部分内容的排列顺序符合用户的阅读顺序,从而使得子文本框中的内容做到了局部有序。
步骤103,将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列。
步骤104,按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。
上述步骤103可以包括如下子步骤:
子步骤1031,确定子文本框之间的关系。
子步骤1032,使用与上述关系匹配的预设排序规则对经过第一排序后的至少一个子文本框进行第二排序,得到经过第二排序后的第一子文本框序列。
这里的子文本框之间的关系例如可以包括上下相邻关系、左右分栏关系、嵌套关系等。每一种关系都对应一个预设的子文本框的排序规则。
当目标文档的各子文本框是上下相邻关系。按照上下相邻关系对应的预设排序规则,对上述各文本框进行第二排序。这里上下相邻关系的排序规则可以为按照上述各自文本框从上至下的顺序进行排序。
当目标文档的各子文本框是左右相邻关系。左右相邻关系对应的预设排序规则例如可以为按照从左至右的顺序进行排序。
在本实施例的一些可选的实现方式中,上述子步骤1031可以包括如下步骤:
首先,对于每一个子文本框,将该子文本框压缩为沿第一方向延伸的一条压缩线段
这里的第一方向例如可以为目标文档的宽边延伸的方向。
可以将上述子文本框沿目标文档的长边延伸的方向进行压缩,得到与子文本框对应的与目标文档的宽边延伸方向平行的压缩线段。
其次,将各子文本框的压缩线段投影至与目标文档所在平面内的、沿上述第一方向延伸的直线上。
再次,基于投影结果确定各子文本框之间的关系。
当多个子文本框的压缩线段的投影结果包括两个线段时,则各子文本框之间的关系为左右分栏关系。
当多个子文本框的压缩线段的投影结果为一个线段时,各子线段之间的关系为上下相邻关系。
通过上述方式对各子文本框进行第二排序,使得经过第二排序后的各子文本框之间的顺序符合用户的阅读习惯。从而按照经过第二排序得到的第一子文本框序列中各子文本框的次序,对各子文本框的文本内容进行提取后,对所提取的内容进行分析处理时,可以提高分析处理结果的准确率。
在本实施例的一些可选的实现方式中,上述将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,包括:将满足预设关系的至少两个所述子文本框进行合并操作,得到合并后的父文本框,将至少一个所述父文本框作为新的子文本框,循环执行所述合并操作,至生成目标文档对应的一个最终父文本框;其中,对于父文本框视为父节点,一父文本框对应的各子文本框作为该父文本对应的子节点;所述最终父文本框视为根节点;根据所确定的根节点、各父节点、各子节点建立搜索树;对所述搜索树的叶子节点从左至右进行遍历,得到经过第二排序后的第一子文本框序列。
在这些可选的实现方式中,首先自底向上建立了用于搜索各子文本框的搜索树。各子文本框为搜索树中的叶子节点。
在上述搜索树中,按照从左至右的顺序依次读取各叶子节点对应的文本框中的文本内容。
经过第二排序,可以得到符合用户阅读的各子文本框之间的顺序。按照第二排序后的排序结果依次读取各子文本框的内容,恢复了各自文本框的正确顺序。
现有技术中,对于PDF文档,或者以图片形式存储的文档,可以通过使用各种文本读取工具,或者使用OCR技术识别上述文档中的文本内容时,会出现文本内容顺序错乱的现象。
本公开的上述实施例提供的方法,通过对目标文档进行分割,得到至少一个子文本框;对于每一个所述子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框;将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列;按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。实现了对所提取的文档的文本内容顺序错乱的问题进行修正,对错乱的文本重新排序,排序后的文本内容与人的阅读顺序更加贴近。可以提高对PDF文档分析结果的准确率。
请参考图2A~图2E,其根据本申请的文档信息的抽取方法的一个应用场景的示意图。
对于目标PDF文档,提取目标PDF文档的第一特征图。将第一特征图输入到预先训练的版面分割模型,得到第一特征图的分割结果。如图2A所示,目标PDF文档的第一特征图包括多个分割结果202。对于每个分割结果可以对应一个分割框203。可以将分割结果以及分割结果对应的分割框映射到目标PDF文档中,得到目标PDF文档的至少一个子文本框。
对于目标PDF文档的每一个子文本框,根据该文本框中的至少一个部分内容各自的语义,对上述至少一个部分内容进行第一排序,得到第一排序后的各子文本框。实践中,对于每一个子文本框,可以识别该子文本对应的满足预设条件的语义实体。基于上述满足预设条件的语义实体对该子文本框中的至少一个部分内容进行第一排序。
图2B是目标PDF文档对应的一个子文本框。在提取该子文本框中的文本信息时,提取的结果如图2C所示。时间段2018.11-2019.09被拆开了。另外,文案策划在提取时被作为第6行的文本提取。显然,这种排序方式是错误的,它在语义上不连贯。
因此在框内进行文本排序时要考虑文本的语义信息,并且根据语义信息决定排序优先级。在图2B所示的子文本框中,满足预设条件的语义实体包括如下:存在特殊语义的文本将被优先排序。在本例中,进过语义实体识别,“DEF广告策划有限公司”将被识别为公司实体,“文案策划”将被识别为职位实体。他们将被优先排序,得到如图2D所示的第一排序结果。如图2D的排序结果符合用户的阅读习惯。从而经过第一排序的子文本框的文本内容得到了局部调整。使得局部调整后的子文本框中的内容符合用户阅读习惯。
在对各子文本框中的至少一个部分内容进行第一排序之后,可以将多个子文本框进行排序。目标PDF文档进行分割得到至少一个子文本框后,若按照通常的从上至下,从左至右的顺序对上述至少一个子文本框进行排序,可以得到如图2A所标出的各子文本框的排序结果。图2A所示的对各子文本框的排序结果显然与用户的阅读习惯不匹配。图2A所示的各子文本框的关系为左右分栏关系。使用
左右分栏检测采用的是基于投影的检测算法,其基本思想是将所有框都投影到一条水平方向的直线上,然后根据各框在直线上所属的投影区域,将其划分到不同的分栏。算法描述如下:
输入:list[(l1,r1),(l2,r2),...,(ln,rn)]#输入每个框的左右坐标
输出:groups
project_list=list.copy()
while project_list中存在两个box[(li,ri),(lj,rj)]的左右坐标相交:
令:box1=(li,ri),box2=(lj,rj)
new_l=min(li,lj)
new_r=max(ri,rj)
new_box=(new_l,new_r)
project_list.remove(box1)
project_list.remove(box2)
project_list.add(new_box)
为每个投影区域生成一个group,每个group初始为空。
将list中的box与project_list中的投影区域比较,判断其是否属于该投影,如果属于,将其划分到对应的group
返回groups。
返回groups后,每一个group代表一个分栏,然后在每个分栏内再对文本框进行排序即可。
这样,对于图2A的各子文本框实际可用分为左侧分栏对应的多个子文本框,和右侧分栏对应的子文本框。对于左右分栏关系的子文本框,可以优先提取左侧分栏中的各子文本框中的文本内容,然后再提取右侧分栏中的各子文本框中的文本内容。对于每一个分栏,可按照该分栏中的各子文本框从上至下的顺序依次提取该分栏各子文本框中的文本内容。
图2E示出了图2A对应的目标文本的正确的提取顺序。按照图2E所示的提取顺序,可以得到符合用户阅读习惯的PDF文档的文本内容。可以提高对PDF文档进行分析的准确率。
进一步参考图3,作为对上述各图所示方法的实现,本公开提供了一种文档信息的抽取装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例的PDF文档的信息抽取装置包括:分割单元301、第一排序单元302、第二排序单元303和文本信息提取单元304。其中,分割单元301,用于对目标文档进行分割,得到至少一个子文本框;第一排序单元302,用于对于每一个所述子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框;第二排序单元303,用于将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列;文本信息提取单元304,用于按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。
在本实施例中,文档信息的抽取装置的分割单元301、第一排序单元302、第二排序单元303和文本信息提取单元304的具体处理及其所带来的技术效果可分别参考图1对应实施例中步骤101、步骤102、步骤103和步骤104的相关说明,在此不再赘述。
在本实施例中的一些可选的实现方式中,分割单元301进一步用于:获取所述目标文档的富文本信息,所述富文本信息至少包括以下之一:所述目标文档的文字内容、文字位置、文字显示格式;基于富文本信息生成目标文档的第一特征图;根据所述第一特征图确定所述至少一个子文本框。
在本实施例中的一些可选的实现方式中,分割单元301包括特征图生成子单元(图中未示出)。特征图生成子单元用于:生成所述目标文档对应的初始矩阵,所述初始矩阵包括多个相同的初始矩阵元素;对于每一个文字,基于该文字的显示格式对该文字对应的所述矩阵元素进行修改,得到所述目标文档的第一特征图。
在本实施例中的一些可选的实现方式中,所述初始矩阵的元素的值为元素的初始显示颜色值;以及特征图生成子单元进一步用于:根据所述富文本信息中各字号分别所对应的文字数量,确定基准字号;基于所述基准字号确定各字号对应的像素的数量;对于每一个文字,在所述初始矩阵中将该文字匹配的所述数量的像素对应的第一显示颜色值修改为第二显示颜色值,得到所述目标文档的初始第一特征图。
在本实施例中的一些可选的实现方式中,特征图生成子单元进一步用于:在得到所述目标文档的初始第一特征图之后,根据每一个文字对应的字体,在所述初始第一特征图中该文字对应的矩阵元素的显示颜色值修改为第三显示颜色值,得到所述第一特征图。
在本实施例中的一些可选的实现方式中,特征图生成子单元进一步用于:将所述第一特征图输入到预先训练的版面分割模型,基于所述版面分割模型的输出确定所述目标文档对应的至少一个子文本框,其中,所述版面分割模型用于对输入的富文本信息特征图分块。
在本实施例中的一些可选的实现方式中,上述版面分割模型经过如下训练步骤得到:获取已分块的训练样本对应的富文本信息特征图,所述富文本信息特征图包括预先标注的分块结果;将训练样本的所述富文本信息特征图输入到初始版面分割模型,训练样本的富文本信息特征图的分块结果作为输出,对所述初始版面分割模型进行训练,得到训练后的版面分割模型。
在本实施例中的一些可选的实现方式中,第一排序单元302用于:确定所述目标文档中的文本内容,从所述文本内容中提取满足预设条件的语义实体;对于每一个子文本框,基于所述满足预设条件的语义实体对所述至少一个第一内容进行第一排序,得到第一排序后的该子文本框。
在本实施例中的一些可选的实现方式中,第一排序单元进一步用于:从所获取的所述目标文档的富文本信息中提取所述目标文档的文本内容;使用预设语义实体识别方法,在所述文本内容中识别至少一个满足预设条件的语义实体以及语义实体在所述目标文档中的位置信息。
在本实施例中的一些可选的实现方式中,第一排序单元进一步用于:识别该子文本框中所包括的满足预设条件的语义实体,并确定所述满足预设条件的语义实体的排序次序;基于所述满足预设条件的语义实体的排序次序对所述至少一个第一内容进行第一排序,得到第一排序后的该子文本框。
在本实施例中的一些可选的实现方式中,第二排序单元303进一步用于:确定各子文本框之间的关系;使用与所述关系匹配的预设排序规则对经过第一排序后的所述至少一个子文本框进行第二排序,得到第二排序后的所述至少一个子文本框。
在本实施例中的一些可选的实现方式中,第二排序单元303进一步用于:对于每一个子文本框,将该子文本框压缩为沿第一方向延伸的一条压缩线段;将各子文本框的压缩线段投影至与所述目标文档所在平面内的、沿所述第一方向延伸的直线上;基于投影结果确定各子文本框之间的关系。
在本实施例中的一些可选的实现方式中,第二排序单元303进一步用于:将满足预设关系的至少两个所述子文本框进行合并操作,得到合并后的父文本框,将至少一个所述父文本框作为新的子文本框,循环执行所述合并操作,至生成目标文档对应的一个最终父文本框;其中,将父文本框视为父节点,一父文本框对应的各子文本框作为该父文本框对应的子节点;所述最终父文本框视为根节点;根据所确定的根节点、各父节点、各子节点建立搜索树;对所述搜索树的叶子节点从左至右进行遍历,得到经过第二排序后的第一子文本框序列。
请参考图4,图4示出了本公开的一个实施例的文档信息的抽取方法可以应用于其中的示例性***架构。
如图4所示,***架构可以包括电子设备401、402、403。
电子设备401、402、403上可以安装有各种客户端应用,例如文档编辑类应用、PDF文档浏览类应用、PDF文档编辑类应用。电子设备401、402、403可以接收用户的指令,并根据用户的指令完成相应的功能,例如根据用户的指令在提取PDF文档的文本内容。
电子设备401、402、403可以是硬件,也可以是软件。当电子设备401、402、403为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当电子设备401、402、403为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本公开实施例所提供的文档信息的抽取方法可以由电子设备执行,相应地,文档信息的抽取装置可以设置在电子设备401、402、403中。
应该理解,图4中的电子设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的电子设备。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如图4中的电子设备)的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:对目标文档进行分割,得到至少一个子文本框;对于每一个所述子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框;将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列;按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,分割单元还可以被描述为“对目标文档进行分割,得到至少一个子文本框的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (16)
1.一种文档信息的抽取方法,其特征在于,包括:
对目标文档进行分割,得到至少一个子文本框;
对于每一个所述子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框;
将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列;
按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。
2.根据权利要求1所述的方法,其特征在于,所述对目标文档进行分割,得到至少一个子文本框,包括:
获取所述目标文档的富文本信息,所述富文本信息至少包括以下之一:所述目标文档的文字内容、文字位置、文字显示格式;
基于所述富文本信息生成所述目标文档的第一特征图;
根据所述第一特征图确定所述至少一个子文本框。
3.根据权利要求2所述的方法,其特征在于,所述基于所述富文本信息生成所述目标文档的第一特征图,包括:
生成所述目标文档对应的初始矩阵,所述初始矩阵包括多个相同的初始矩阵元素;
对于每一个文字,基于该文字的显示格式对该文字对应的所述矩阵元素进行修改,得到所述目标文档的第一特征图。
4.根据权利要求3所述的方法,其特征在于,所述初始矩阵的元素的值为元素的初始显示颜色值;以及
所述对于每一个文字,基于该文字的显示格式对该文字对应的所述矩阵元素进行修改,得到所述目标文档的第一特征图,包括:
根据所述富文本信息中各字号分别所对应的文字数量,确定基准字号;
基于所述基准字号确定各字号对应的像素的数量;
对于每一个文字,在所述初始矩阵中将该文字匹配的所述数量的像素对应的第一显示颜色值修改为第二显示颜色值,得到所述目标文档的初始第一特征图。
5.根据权利要求4所述的方法,其特征在于,所述对于每一个文字,基于该文字的显示格式对该文字对应的所述矩阵元素进行修改,得到所述目标文档的第一特征图,包括:
在得到所述目标文档的初始第一特征图之后,根据每一个文字对应的字体,在所述初始第一特征图中该文字对应的矩阵元素的显示颜色值修改为第三显示颜色值,得到所述第一特征图。
6.根据权利要求2所述的方法,其特征在于,所述根据所述第一特征图确定所述至少一个子文本框,包括:
将所述第一特征图输入到预先训练的版面分割模型,基于所述版面分割模型的输出确定所述目标文档对应的至少一个子文本框,其中,
所述版面分割模型用于对输入的富文本信息特征图分块。
7.根据权利要求6所述的方法,其特征在于,所述版面分割模型经过如下训练步骤得到:
获取已分块的训练样本对应的富文本信息特征图,所述富文本信息特征图包括预先标注的分块结果;
将训练样本的所述富文本信息特征图输入到初始版面分割模型,训练样本的富文本信息特征图的分块结果作为输出,对所述初始版面分割模型进行训练,得到训练后的版面分割模型。
8.根据权利要求1所述的方法,其特征在于,所述对于每一个所述子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框,包括:
确定所述目标文档中的文本内容,从所述文本内容中提取满足预设条件的语义实体;
对于每一个子文本框,基于所述满足预设条件的语义实体对所述至少一个第一内容进行第一排序,得到第一排序后的该子文本框。
9.根据权利要求8所述的方法,其特征在于,所述确定所述目标文档中的文本内容,从所述文本内容中提取满足预设条件的语义实体,包括:
从所获取的所述目标文档的富文本信息中提取所述目标文档的文本内容;
使用预设语义实体识别方法,在所述文本内容中识别至少一个满足预设条件的语义实体以及语义实体在所述目标文档中的位置信息。
10.根据权利要求8所述的方法,其特征在于,所述对于每一个所述子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框,包括:
识别该子文本框中所包括的满足预设条件的语义实体,并确定所述满足预设条件的语义实体的排序次序;
基于所述满足预设条件的语义实体的排序次序对所述至少一个第一内容进行第一排序,得到第一排序后的该子文本框。
11.根据权利要求1所述的方法,其特征在,所述将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列,包括:
确定各子文本框之间的关系;
使用与所述关系匹配的预设排序规则对经过第一排序后的所述至少一个子文本框进行第二排序,得到第二排序后的所述至少一个子文本框。
12.根据权利要求11所述的方法,其特征在于,所述确定各子文本框之间的关系,包括:
对于每一个子文本框,将该子文本框压缩为沿第一方向延伸的一条压缩线段;
将各子文本框的压缩线段投影至与所述目标文档所在平面内的、沿所述第一方向延伸的直线上;
基于投影结果确定各子文本框之间的关系。
13.根据权利要求1所述的方法,其特征在于,所述将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列,包括:
将满足预设关系的至少两个所述子文本框进行合并操作,得到合并后的父文本框,将至少一个所述父文本框作为新的子文本框,循环执行所述合并操作,至生成目标文档对应的一个最终父文本框;其中,将父文本框视为父节点,一父文本框对应的各子文本框作为该父文本框对应的子节点;所述最终父文本框视为根节点;
根据所确定的根节点、各父节点、各子节点建立搜索树;
对所述搜索树的叶子节点从左至右进行遍历,得到经过第二排序后的第一子文本框序列。
14.一种文档信息的抽取装置,包括:
分割单元,用于对目标文档进行分割,得到至少一个子文本框;
第一排序单元,用于对于每一个子文本框,基于该子文本框内的至少一个第一内容的语义信息,对所述至少一个第一内容进行第一排序,得到经过第一排序后的该子文本框;
第二排序单元,用于将经过第一排序后的所述至少一个子文本框按照预设规则进行第二排序,得到经过第二排序后的第一子文本框序列;文本信息提取单元,用于按照所述第一子文本框序列中至少一个所述子文本框的次序,依次读取各子文本框对应的文本内容。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-13中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010464581.XA CN111680491B (zh) | 2020-05-27 | 2020-05-27 | 文档信息的抽取方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010464581.XA CN111680491B (zh) | 2020-05-27 | 2020-05-27 | 文档信息的抽取方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111680491A true CN111680491A (zh) | 2020-09-18 |
CN111680491B CN111680491B (zh) | 2024-02-02 |
Family
ID=72434370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010464581.XA Active CN111680491B (zh) | 2020-05-27 | 2020-05-27 | 文档信息的抽取方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111680491B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807158A (zh) * | 2020-12-04 | 2021-12-17 | 四川医枢科技股份有限公司 | 一种pdf内容提取方法、装置及设备 |
CN115130435A (zh) * | 2022-06-27 | 2022-09-30 | 北京百度网讯科技有限公司 | 文档处理方法、装置、电子设备和存储介质 |
CN115641573A (zh) * | 2022-12-22 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种文本排序方法、装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268127A (zh) * | 2014-09-22 | 2015-01-07 | 同方知网(北京)技术有限公司 | 一种电子档版式文件阅读顺序分析的方法 |
US20180260389A1 (en) * | 2017-03-08 | 2018-09-13 | Fujitsu Limited | Electronic document segmentation and relation discovery between elements for natural language processing |
CN109597980A (zh) * | 2018-12-07 | 2019-04-09 | 万兴科技股份有限公司 | Pdf文档分割方法、装置及电子设备 |
CN109657221A (zh) * | 2018-12-13 | 2019-04-19 | 北京金山数字娱乐科技有限公司 | 一种文档段落排序方法、排序装置、电子设备及存储介质 |
CN110390269A (zh) * | 2019-06-26 | 2019-10-29 | 平安科技(深圳)有限公司 | Pdf文档表格提取方法、装置、设备及计算机可读存储介质 |
CN110442719A (zh) * | 2019-08-09 | 2019-11-12 | 北京字节跳动网络技术有限公司 | 一种文本处理方法、装置、设备及存储介质 |
CN110619333A (zh) * | 2019-08-15 | 2019-12-27 | 平安国际智慧城市科技股份有限公司 | 一种文本行分割方法、文本行分割装置及电子设备 |
-
2020
- 2020-05-27 CN CN202010464581.XA patent/CN111680491B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268127A (zh) * | 2014-09-22 | 2015-01-07 | 同方知网(北京)技术有限公司 | 一种电子档版式文件阅读顺序分析的方法 |
US20180260389A1 (en) * | 2017-03-08 | 2018-09-13 | Fujitsu Limited | Electronic document segmentation and relation discovery between elements for natural language processing |
CN109597980A (zh) * | 2018-12-07 | 2019-04-09 | 万兴科技股份有限公司 | Pdf文档分割方法、装置及电子设备 |
CN109657221A (zh) * | 2018-12-13 | 2019-04-19 | 北京金山数字娱乐科技有限公司 | 一种文档段落排序方法、排序装置、电子设备及存储介质 |
CN110390269A (zh) * | 2019-06-26 | 2019-10-29 | 平安科技(深圳)有限公司 | Pdf文档表格提取方法、装置、设备及计算机可读存储介质 |
CN110442719A (zh) * | 2019-08-09 | 2019-11-12 | 北京字节跳动网络技术有限公司 | 一种文本处理方法、装置、设备及存储介质 |
CN110619333A (zh) * | 2019-08-15 | 2019-12-27 | 平安国际智慧城市科技股份有限公司 | 一种文本行分割方法、文本行分割装置及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807158A (zh) * | 2020-12-04 | 2021-12-17 | 四川医枢科技股份有限公司 | 一种pdf内容提取方法、装置及设备 |
CN115130435A (zh) * | 2022-06-27 | 2022-09-30 | 北京百度网讯科技有限公司 | 文档处理方法、装置、电子设备和存储介质 |
CN115130435B (zh) * | 2022-06-27 | 2023-08-11 | 北京百度网讯科技有限公司 | 文档处理方法、装置、电子设备和存储介质 |
CN115641573A (zh) * | 2022-12-22 | 2023-01-24 | 苏州浪潮智能科技有限公司 | 一种文本排序方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111680491B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368562B (zh) | 翻译图片中的文字的方法、装置、电子设备、及存储介质 | |
CN111680491B (zh) | 文档信息的抽取方法、装置和电子设备 | |
CN110084172B (zh) | 文字识别方法、装置和电子设备 | |
KR102002024B1 (ko) | 객체 라벨링 처리 방법 및 객체 관리 서버 | |
CN112396049A (zh) | 文本纠错方法、装置、计算机设备及存储介质 | |
CN113515928B (zh) | 电子文本生成方法、装置、设备及介质 | |
CN112749695A (zh) | 文本识别的方法和装置 | |
CN111178056A (zh) | 基于深度学习的文案生成方法、装置及电子设备 | |
CN115731313A (zh) | Svg格式的图片的处理方法、装置、设备、介质及产品 | |
CN113408507B (zh) | 基于履历文件的命名实体识别方法、装置和电子设备 | |
CN110826619A (zh) | 电子卷宗的文件分类方法、装置及电子设备 | |
CN114444508A (zh) | 日期识别方法、装置、可读介质及电子设备 | |
CN112839185B (zh) | 用于处理图像的方法、装置、设备和介质 | |
CN113111167B (zh) | 基于深度学习模型的接处警文本车辆型号提取方法和装置 | |
CN110674813A (zh) | 汉字识别方法、装置、计算机可读介质及电子设备 | |
US20220301285A1 (en) | Processing picture-text data | |
CN115618808A (zh) | 文档排版方法、装置、电子设备和存储介质 | |
CN111291758B (zh) | 用于识别***文字的方法和装置 | |
CN111783572A (zh) | 一种文本检测方法和装置 | |
CN112232320B (zh) | 印刷品文字的校对方法及相关设备 | |
CN113256660B (zh) | 图片处理方法、装置和电子设备 | |
CN115034184B (zh) | 图表介绍文本生成方法、装置、设备和计算机可读介质 | |
CN115565152B (zh) | 融合车载激光点云与全景影像的交通标志牌提取方法 | |
CN113806485B (zh) | 一种基于小样本冷启动的意图识别方法、装置及可读介质 | |
CN117610549A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201106 Address after: 100190 0207, 2 / F, building 4, Zijin Digital Park, Haidian District, Beijing Applicant after: Beijing zitiao Network Technology Co.,Ltd. Address before: 100086 10A chamber, No. 48 No. 2 building, A, Zhichun Road, Haidian District, Beijing City Applicant before: BEIJING BYTEDANCE TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |