文档信息提取方法、装置、设备及介质与流程

文档序号:30968703发布日期:2022-07-30 20:13阅读:144来源:国知局
文档信息提取方法、装置、设备及介质与流程

1.本技术涉及信息处理技术领域,尤其涉及一种文档信息提取方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.文档智能主要是指对于扫描文档所包含的文本、排版信息,通过人工智能技术进行理解、分类、提取以及信息归纳。根据文档智能技术所得到的结构化数据也可进行更上层的智能化应用,如:信息挖掘、智能决策等。
3.相关文档提取的应用中,文档智能技术一般通过光学字符识别(optical character recognition,ocr)等技术将文档图片转换为文本及符号,再应用自然语言处理(natural language processing,nlp)技术将文档图片的文本及符号转化为结构化信息。
4.目前,在业务需求场景、模板多样化的情况下,文档智能任务涉及多个场景,如:病例、发票、清单、体检报告、保单、银行票据等,针对不同的场景需要针对性开发不同的提取方案,显然将极大增加工作成本同时难以维护优化。而对于通用的文档智能解决方案,则在应用领域迁移过程中需要大量的人工标注,每次切换应用领域带来的成本较高,因此,如何提供一种提取流程简单,便于应用领域迁移的文档信息提取方法成为亟待解决的技术问题。


技术实现要素:

5.本技术实施例的主要目的在于提出一种文档信息提取方法、装置、电子设备及计算机可读存储介质,能够简化文档信息的提取流程,提高文档信息提取对不同应用领域的适应性。
6.为实现上述目的,本技术实施例的第一方面提出了一种文档信息提取方法,所述方法包括:
7.对文档进行识别处理,得到多个文本块;
8.将所述多个文本块输入到预训练的命名实体识别模型,以通过所述命名实体识别模型得到各个所述文本块对应的语义段落标签;
9.根据各个所述文本块对应的语义段落标签,确定所述文档的语义段落;
10.基于文本阅读顺序,确定所述文档中每个语义段落对应的布局类型,其中,所述文本阅读顺序包括左右阅读顺序和上下阅读顺序,所述布局类型包括段落布局和表格布局;
11.根据所述语义段落对应的布局类型,提取每个所述语义段落的结构化数据。
12.根据本发明一些实施例提供的文档信息提取方法,所述基于文本阅读顺序,确定所述文档中每个语义段落对应的布局类型,包括:
13.获取所述语义段落对应的文本特征信息;
14.根据所述文本特征信息,确定所述语义段落的文本阅读顺序;
15.当所述语义段落的文本阅读顺序为左右阅读顺序,确定所述语义段落的布局类型
为段落布局;
16.当所述语义段落的文本阅读顺序为上下阅读顺序,确定所述语义段落的布局类型为表格布局。
17.根据本发明一些实施例提供的文档信息提取方法,所述根据所述文本特征信息,确定所述语义段落的文本阅读顺序,包括:
18.构造用于确定所述语义段落的文本阅读顺序的二分类任务;
19.将所述文本特征信息输入到分类模型,以通过所述分类模型进行所述二分类任务,得到所述语义段落的文本阅读顺序。
20.根据本发明一些实施例提供的文档信息提取方法,所述文本特征信息为所述语义段落的词向量矩阵,所述分类模型为textcnn模型;
21.所述将所述文本特征信息输入到分类模型,以通过所述分类模型进行所述二分类任务,得到所述语义段落的文本阅读顺序,包括:
22.将所述词向量矩阵输入到textcnn模型,以通过所述textcnn模型进行所述二分类任务,得到所述语义段落的文本阅读顺序。
23.根据本发明一些实施例提供的文档信息提取方法,所述文本特征信息为所述语义段落的字符特征矩阵,所述分类模型为xgboost模型;
24.所述将所述文本特征信息输入到分类模型,以通过所述分类模型进行所述二分类任务,得到所述语义段落的文本阅读顺序,包括:
25.将所述字符特征矩阵中的每行字符向量进行最大池化,得到所述语义段落的行特征向量;
26.拼接所述语义段落的行特征向量,并将拼接后的行特征向量输入到xgboost模型,以通过所述xgboost模型进行所述二分类任务,得到所述语义段落的文本阅读顺序。
27.根据本发明一些实施例提供的文档信息提取方法,所述根据所述布局类型,提取每个所述语义段落的结构化数据,包括:
28.当所述语义段落的布局类型为段落布局,执行以下处理:
29.获取所述语义段落中的字段属性和字段值;
30.通过正则匹配方式标准化所述语义段落中的字段属性;
31.将所述字段值映射到标准化后的字段属性中,得到所述语义段落的结构化数据。
32.根据本发明一些实施例提供的文档信息提取方法,所述命名实体识别模型为基于layoutlm模型的二维命名实体识别模型;
33.在所述将所述多个文本块输入到预训练的命名实体识别模型,以通过所述命名实体识别模型得到各个所述文本块对应的语义段落标签之前,所述方法还包括:
34.获取预设的文档训练数据集;
35.利用所述文档训练数据集对所述二维命名实体识别模型进行增广预训练,其中,所述增广预训练采用基于掩码视觉语言模型的自监督预训练方式。
36.为实现上述目的,本技术实施例的第二方面提出了一种文档信息提取装置,所述装置包括:
37.文本块获取模块,用于对文档进行识别处理,得到多个文本块;
38.标签分类模块,用于将所述多个文本块输入到预训练的命名实体识别模型,以通
过所述命名实体识别模型得到各个所述文本块对应的语义段落标签;
39.语义段落提取模块,用于根据各个所述文本块对应的语义段落标签,确定所述文档的语义段落;
40.布局类型分类模块,用于基于文本阅读顺序,确定所述文档中每个语义段落对应的布局类型,其中,所述文本阅读顺序包括左右阅读顺序和上下阅读顺序,所述布局类型包括段落布局和表格布局;
41.文档信息提取模块,用于根据所述语义段落对应的布局类型,提取每个所述语义段落的结构化数据。
42.为实现上述目的,本技术实施例的第三方面提出了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面所述的方法。
43.为实现上述目的,本技术实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现上述第一方面所述的方法。
44.本技术提出一种文档信息提取方法、装置、电子设备以及计算机可读存储介质,所述文档信息提取方法通过对文档进行识别处理,得到多个文本块,并将多个文本块输入到预训练的命名实体识别模型,以通过命名实体识别模型得到各个文本块对应的语义段落标签,根据各个文本块对应的语义段落标签,确定文档的语义段落,从而基于文本阅读顺序,确定文档中每个语义段落对应的布局类型,其中,文本阅读顺序包括左右阅读顺序和上下阅读顺序,布局类型包括段落布局和表格布局,并根据语义段落对应的布局类型,提取每个语义段落的结构化数据。本技术实施例在确定文档对应的语义段落的基础上,依据布局类型对文档进行划分,针对不同布局类型的语义段落分别执行信息提取,能够简化文档信息的提取流程,并便于应用领域的迁移,提高对不同文档类型的适应性。
附图说明
45.图1是本技术实施例提供的一种文档信息提取方法的流程示意图;
46.图2是本技术实施例提供的一种文档信息提取方法的流程示意图;
47.图3是本技术实施例提供的一种文档信息提取方法的流程示意图;
48.图4是本技术实施例提供的一种文档信息提取方法的流程示意图;
49.图5是本技术实施例提供的一种layoutlm模型结构示意图;
50.图6是本技术实施例提供的一种保险单示意图;
51.图7是图6保险单中的语义段落示意图;
52.图8是本技术实施例提供的一种文档信息提取装置的结构示意图;
53.图9是本技术实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不
用于限定本技术。
55.需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
56.首先,对本技术中涉及的若干名词进行解析:
57.layoutlm模型,目前大量的研究成果表明,大规模预训练语言模型能够通过自监督任务在预训练阶段有效捕捉文本中蕴含的语义信息,经过下游任务微调后能有效地提升模型效果。然而,现有的预训练语言模型主要针对文本单一模态进行,而忽视了文档本身与文本天然对齐的视觉结构信息。通用文档预训练模型layoutlm通过对文档结构信息(document layout information)和视觉信息(visual information)进行建模,让模型在预训练阶段进行多模态对齐,在预训练中引入的结构和视觉信息,能够有效地迁移到下游任务中,在表单理解(form understanding),票据理解(receipt understanding),以及文档图像分类(document image classification)等下游任务中取得了显著的准确率提升。参见图5,图5示出了本技术实施例提供的一种layoutlm模型结构示意图,如图5所示,layoutlm模型结构在现有的预训练模型上添加了2-dposition embedding和image embedding两种新的embedding层:
58.2-d position embedding,根据ocr技术获得的文本块,能获取文本在文档中的具体位置。将对应坐标转化为虚拟坐标之后,计算该坐标对应在x、y、w、h四个embedding子层的表示,最终的2-d position embedding为四个子层的embedding之和。
59.image embedding,在image embedding部分,将每个文本相应的文本块当作更快的r-cnn中的候选框(proposal),从而提取对应的局部特征。特殊地,由于[cls]符号用于表示整个输入文本的语义,使用整张文档图像作为该位置的image embedding,从而保持模态对齐。
[0060]
掩码视觉语言模型(masked visual-language model,mvlm),一种layoutlm模型的自监督预训练任务,目前大量实验已经证明掩码语言模型(masked language model,mlm)能够在预训练阶段有效地进行自监督学习,在基础上进行了修改:在遮盖(mask)当前词之后,保留对应的2-d position embedding暗示,让模型预测对应的词。在这种方法下,模型根据已有的上下文和对应的视觉暗示预测被遮罩的词,从而让模型更好地学习文本位置和文本语义的模态对齐关系。
[0061]
文档智能主要是指对于扫描文档所包含的文本、排版信息,通过人工智能技术进行理解、分类、提取以及信息归纳。根据文档智能技术所得到的结构化数据也可进行更上层的智能化应用,如:信息挖掘、智能决策等。
[0062]
相关文档提取的应用中,文档智能技术一般通过光学字符识别(optical character recognition,ocr)等技术将文档图片转换为文本及符号,再应用自然语言处理(natural language processing,nlp)技术将文档图片的文本及符号转化为结构化信息。
[0063]
目前,在业务需求场景、模板多样化的情况下,文档智能任务涉及多个场景,如:病例、发票、清单、体检报告、保单、银行票据等,针对不同的场景需要针对性开发不同的提取方案,显然将极大增加工作成本同时难以维护优化。而对于通用的文档智能解决方案,则在应用领域迁移过程中需要大量的人工标注,每次切换应用领域带来的成本较高,因此,如何
提供一种提取流程简单,便于应用领域迁移的文档信息提取方法成为亟待解决的技术问题。
[0064]
基于此,本技术实施例提供了一种文档信息提取方法、装置、电子设备及存储介质,能够简化文档信息提取的流程,提高文档信息提取在不同应用领域的适应性。
[0065]
本技术实施例提供的一种文档信息提取方法、装置、电子设备及存储介质,具体通过如下实施例进行说明,首先描述本技术实施例中的文档信息提取方法。
[0066]
本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0067]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0068]
本技术实施例提供的文档信息提取方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现文档信息提取方法的应用等,但并不局限于以上形式。
[0069]
本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0070]
请参见图1,图1示出了本技术实施例提供的一种文档信息提取方法的流程示意图。如图1所示,该文档信息提取方法包括但不限于步骤s110至s150。
[0071]
步骤s110,对文档进行识别处理,得到多个文本块。
[0072]
可以理解的是,通过ocr技术对文档进行识别处理,得到文档中多个文本块。其中,文本块包括有文本块在文档中的坐标信息以及字符文本等信息。
[0073]
步骤s120,将所述多个文本块输入到预训练的命名实体识别模型,以通过所述命名实体识别模型得到各个所述文本块对应的语义段落标签。
[0074]
可以理解的是,通过预训练的命名实体识别模型,对文本块中的字符进行多标签分类,得到所述文本块中对应的语义段落标签。
[0075]
示例性的,通过预先定义所述文档的语义段落标签集,如图6所示,图6示出了本申
请实施例提供的一种保险单的示意图,对于图6中的保险单,语义段落标签集可定义如下:{公司、标题、保单信息、投保人信息、被投保人信息、受益人信息、保险期间、保险项目},利用预训练的命名实体识别模型进行序列标注任务,微调(fine-tuning)标注文档数据,对所述文本块中的字进行多标签分类,得到各个所述文本块对应的语义段落标签。
[0076]
在一个具体实施例中,当所述文本块中出现不同的语义段落标签,则通过标签平滑,即通过标签投票法选出该文本块中出现频次最大的语义段落标签,并将该出现频次最大的语义段落标签作为该文本块内所有字的语义段落标签,也就是该文本块中对应的语义段落标签。
[0077]
在一些实施例中,所述命名实体识别模型为基于layoutlm模型的二维命名实体识别模型;
[0078]
在所述将所述多个文本块输入到预训练的命名实体识别模型,以通过所述命名实体识别模型得到各个所述文本块对应的语义段落标签之前,所述方法还包括:
[0079]
获取预设的文档训练数据集;
[0080]
利用所述文档训练数据集对所述二维命名实体识别模型进行增广预训练,其中,所述增广预训练采用基于掩码视觉语言模型的自监督预训练方式。
[0081]
需要说明的是,本技术实施例使用如图5中layoutlm模型的非cnn部分,也就是layoutlm模型中五层embedding输入层以及layoulm embedding层,其中,text embedding层表示ocr识别结果中的字符级别文本,在position embedding中,x0和y0表示ocr识别结果中的字符左上角标准化后的坐标,x1和y1表示ocr识别结果中字符所在的文本块中心点标准化后的坐标,其中,坐标标准化是指将x坐标和y坐标,即图片的宽和高映射到一定区间范围内的数字上,例如0至1000。
[0082]
可以理解的是,通过获取预设的文档训练数据集,并利用文档训练数据集的ocr识别结果,对基于layoutlm模型的二维命名实体识别模型进行增广预训练,其中,训练方法采用mvlm方法。
[0083]
示例性的,当本技术实施例提供的文档信息提取方法应用在保险单文档信息提取,则可以通过采用大规模保险单的ocr识别结果对命名实体识别模型进行增广预训练,得到预训练后的命名实体识别模型,以通过该预训练的命名实体识别模型得到保险单文档中各个文本块中对应的语义段落标签。
[0084]
应了解,根据本技术实施例提供的文档信息提取方法的应用领域,只需选取对应的文档训练数据集对命名实体识别模型进行预训练,便于应用领域的迁移。
[0085]
步骤s130,根据各个所述文本块对应的语义段落标签,确定所述文档的语义段落。
[0086]
可以理解的是,根据各个文本块中对应的语义段落标签,合并属于同一语义段落标签的文本块,得到文档的语义段落。
[0087]
在一个具体实施例中,根据各个文本块中对应的语义段落标签,从左到右,从上到下依次根据文本块的位置信息以及文本块中对应的语义段落标签,合并属于同一语义段落标签的文本块,得到文档的语义段落。可以理解的是,通过语义段落中第一个文本块的位置信息和最后一个文本块的位置信息可以确定各个语义段落在文档中的具体位置。
[0088]
示例性的,参见图6和图7,图6示出了本技术实施例提供的一种保险单示意图,图7是图6中保险单的语义段落示意图。根据图6中各个文本块中对应的语义段落标签,确定如
图7所示的语义段落,即图7中文档包括了语义段落{公司、标题、保单信息、投保人信息、被投保人信息、受益人信息、保险期间、保险项目};其中,例如投保人信息的语义段落,包括{投保人的姓名、出生日期、证件类型和证件号码}等信息。
[0089]
步骤s140,基于文本阅读顺序,确定所述文档中每个语义段落对应的布局类型,其中,所述文本阅读顺序包括左右阅读顺序和上下阅读顺序,所述布局类型包括段落布局和表格布局。
[0090]
可以理解的是,文档的语义段落可以分为左右阅读顺序和上下阅读顺序等文本阅读顺序,根据不同的文本阅读顺序可以确定所述文档中每个语义段落对应的布局类型,其中,布局类型包括段落布局和表格布局等。
[0091]
在一些实施例中,请参见图2,图2示出了本技术实施例提供的一种文档信息提取方法的流程示意图。如图2所示,所述基于文本阅读顺序,确定所述文档中每个语义段落对应的布局类型包括:
[0092]
步骤s210,获取所述语义段落对应的文本特征信息。
[0093]
步骤s220,根据所述文本特征信息,确定所述语义段落的文本阅读顺序。
[0094]
步骤s230,当所述语义段落的文本阅读顺序为左右阅读顺序,确定所述语义段落的布局类型为段落布局。
[0095]
步骤s240,当所述语义段落的文本阅读顺序为上下阅读顺序,确定所述语义段落的布局类型为表格布局。
[0096]
需要说明的是,上述文本阅读顺序是根据文档中的字段属性以及字段值的阅读先后顺序而确定的,包括根据先字段属性后字段值的阅读顺序,确定语义段落的文本阅读顺序,说明如下:
[0097]
示例性的,参照图7,图中文档的“投保人”一栏中,也就是“投保人”语义段落中,如需阅读投保人姓名,则在“投保人”语义段落中找到“姓名”的字段属性后,从左到右即可找到“姓名”字段属性具体对应的字段值。因此,按照先字段属性后字段值的阅读顺序,则可以确定“投保人”语义段落的文本阅读顺序为左右阅读顺序;
[0098]
示例性的,参照图7,在图中文档的“保险项目”一栏中,也就是“保险项目”语义段落中,如需阅读具体保险责任,则在“保险项目”语义段落中找到“保险责任”的字段属性后,从上到下即可找到“保险项目”字段属性具体对应的字段值。因此,按照先字段属性后字段值的阅读顺序,则可以确定“保险项目”语义段落的文本阅读顺序为上下阅读顺序。
[0099]
可以理解的是,基于不同的文本阅读顺序,语义段落中的字段属性以及字段值有着不同的排列顺序,语义段落有着不同的文本特征信息。因此,根据该文本特征信息能够确定语义段落的文本阅读顺序,从而确定语义段落的布局类型。
[0100]
示例性的,如图7所示,图中文档包括有“被投保人”语义段落,其中,该语义段落包括信息:{被投保人姓名、被投保人出生日期,被投保人证件的类型、被投保人证件的号码、被投保人与投保人的关系以及被投保人的年龄},通过获取该语义段落对应的文本特征信息,确定所述语义段落的文本阅读顺序。
[0101]
需要说明的是,上述实施例根据先字段属性后字段值的文本阅读顺序,确定语义段落的文本阅读顺序,可以理解的是,语义段落对应的文本特征信息不会因为确定文本阅读顺序的方式不同而发生变化,也就是说,语义段落的文本阅读顺序,还可以根据先字段值
后字段属性的文本阅读顺序等其他方式进行确定。
[0102]
在一些实施例中,请参见图3,图3示出了本技术实施例提供的一种文档信息提取方法的流程示意图。如图3所示,所述根据所述文本特征信息,确定所述语义段落的文本阅读顺序包括:
[0103]
步骤s310,构造用于确定所述语义段落的文本阅读顺序的二分类任务;
[0104]
步骤s320,将所述文本特征信息输入到分类模型,以通过所述分类模型进行所述二分类任务,得到所述语义段落的文本阅读顺序。
[0105]
可以理解的是,在根据先字段属性后字段值的阅读顺序,确定语义段落的文本阅读顺序的基础上,当语义段落为上下阅读顺序或左右阅读顺序,其文本特征信息有着较大的差异,通过构造用于确定语义段落的文本阅读顺序的二分类任务,之后将文本特征信息输入到分类模型,以通过分类模型进行二分类任务,得到二分类任务的处理结果,即确定语义段落的文本阅读顺序是上下阅读顺序还是左右阅读顺序。
[0106]
示例性的,当语义段落的文本阅读顺序为左右阅读顺序时,该语义段落先从左到右,再从上到下的文本排列在字段属性(key)以及字段值(vault)层面上为{key-vault-key-vault-key-vault
……
};而当语义段落的文本阅读顺序为上下阅读顺序时,该语义段落先从左到右,再从上到下的文本排列在字段属性(key)以及字段值(vault)层面上为{key-key-key
‑……‑
vault-vault-vault
‑……
},也就是当语义段落为不同文本阅读顺序时,其文本特征信息在字段属性以及字段值(vault)层面上有着较大的差异。基于该键值对(key-vault)从左到右的排列特征,即可构造用于确定语义段落的文本阅读顺序的二分类任务,基于语义段落的文本特征信息,利用分类模型进行二分类任务,得到语义段落的文本阅读顺序。
[0107]
需要说明的是,上述实施例先从左到右,再从上到下获取语义段落的文本特征信息,在不同文本阅读顺序的情况下,其文本特征信息有着显著的差异。可以理解的是,在字段属性以及字段值层面上,其文本特征信息不会因为获取方式不同而发生变化,也就是说文本特征信息的获取方式不限于上述实施例,例如可以通过先从上到下,再从左到右等其他方式获取语义段落的文本特征信息,仍能够构造用于确定所述语义段落的文本阅读顺序的二分类任务。
[0108]
在一些实施例中,所述文本特征信息为所述语义段落的词向量矩阵,所述分类模型为textcnn模型;
[0109]
所述将所述文本特征信息输入到分类模型,以通过所述分类模型进行所述二分类任务,得到所述语义段落的文本阅读顺序,包括:
[0110]
将所述词向量矩阵输入到textcnn模型,以通过所述textcnn模型进行所述二分类任务,得到所述语义段落的文本阅读顺序。
[0111]
可以理解的是,通过对所述语义段落中的文本进行分词,并将每个词映射成一个词向量,之后拼接所有词向量得到所述语义段落的词向量矩阵,将所述词向量矩阵作为所述textcnn模型的输入,通过所述textcnn模型进行所述二分类任务,其中,所述词向量矩阵经过所述textcnn模型的卷积层、池化层和输出层处理,得到所述二分类任务的处理结果,即所述语义段落的文本阅读顺序。
[0112]
在一些实施例中,所述文本特征信息为所述语义段落的字符特征矩阵,所述分类
模型为xgboost模型;
[0113]
所述将所述文本特征信息输入到分类模型,以通过所述分类模型进行所述二分类任务,得到所述语义段落的文本阅读顺序,包括:
[0114]
将所述字符特征矩阵中的每行字符向量进行最大池化,得到所述语义段落的行特征向量;
[0115]
拼接所述语义段落的行特征向量,并将拼接后的行特征向量输入到xgboost模型,以通过所述xgboost模型进行所述二分类任务,得到所述语义段落的文本阅读顺序。
[0116]
示例性的,利用如图5中的预训练layout模型,将layoutlm模型中五层embedding输入层以及layoulm embedding层作为语义段落的字符特征提取器,输出512维字符向量,也就是字符特征矩阵。字符特征矩阵中除了第一维度,每一个维度表征语义段落中的字符向量,取出字符特征矩阵中的每行字符向量每行字符向量进行最大池化max-pooling,得到语义段落的行特征向量截取n行,例如截取固定20行,之后对行特征向量进行拼接语义,并将拼接后的行特征向量输入到xgboost模型,以通过xgboost模型进行二分类任务,得到语义段落的文本阅读顺序。
[0117]
需要说明的是,上述实施例中所述分类模型是指可用于进行二分类任务,在文本特征信息层面确定分类结果的模型,分类模型可以是textcnn等文本分类模型,或是xgboost等机器学习模型。
[0118]
步骤s150:根据所述语义段落对应的布局类型,提取每个所述语义段落的结构化数据。
[0119]
可以理解的是,对应语义段落不同的布局类型,可以采取不同的信息提取方式获取语义段落中的信息,形成结构化数据。
[0120]
通过区分文档中不同的布局类型,针对不同的布局类型应用不同的提取方式,能够简化信息提取流程,便于应用领域的迁移,提高了文档信息提取方法对不同文档类型的适应性以及信息提取的准确率。
[0121]
在一些实施例中,请参见图4,图4示出了本技术实施例提供的一种文档信息提取方法的流程示意图。如图4所示,所述根据所述布局类型,提取每个所述语义段落的结构化数据,包括:
[0122]
当所述语义段落的布局类型为段落布局,执行以下处理:
[0123]
步骤s410,获取所述语义段落中的字段属性和字段值;
[0124]
步骤s420,通过正则匹配方式标准化所述语义段落中的字段属性;
[0125]
步骤s430,将所述字段值映射到标准化后的字段属性中,得到所述语义段落的结构化数据。
[0126]
示例性的,如图7所示的文档,语义段落的布局结构为段落布局包括{投保人、被投保人、受益人等等}。例如,获取“被投保人”语义段落中字段属性{姓名、出生日期、证件类型、证件号码、与投保人关系、年龄}和字段值,假设字段值分别为{张某、2000年1月1日、身份证、44000000000、父子、22岁},通过正则匹配的方式标准化语义段落中的字段属性,对于字段属性“姓名”,可以根据具体语义段落,标准化为“被投保人姓名”,对于字段属性“年龄”,则可以标准化为“被投保人的年龄”等。
[0127]
可以理解的是,文档中存在相同的字段属性,在生成结构化后,可能出现对应相同字段属性的不同内容。示例性的,如图7所示,文档中存在相同的字段属性,如“投保人”语义段落中的字段属性“证件号码”以及“被投保人”语义段落中的字段属性“证件号码”,生成结构化后,投保人和被投保人具体的证件号码将对应相同字段属性。通过标准化等方式修改对应的字段属性,将“投保人”语义段落中的字段属性“证件号码”标准化为“投保人证件号码”,将“被投保人”语义段落中的字段属性“证件号码”标准化为“被投保人证件号码”,以使不同语义段落中相同的字段属性区分开来,减少在生成的结构化数据中,出现因字段属性相同而导致具体字段值对应字段属性不清楚的问题。
[0128]
需要说明的是,当所述语义段落的布局结构为表格布局,则可以采用其他表格信息提取方式对所述语义段落进行信息提取,形成结构化数据,具体方式本技术实施例对此不作限制。
[0129]
还需要说明的是,如图7所示,所述语义段落中还包括有“公司”和“标题”等语义段落,该语义段落只有对应的字段值:{xx保险公司、xx保险有限公司、公务出差旅行人身意外伤害保险投保单},对于所述语义段落,可以直接映射为结构化数据中的字段值,或是根据所述语义段落的语义段落标签,生成对应的字段属性,之后再将字段值映射到对应的字段属性中,得到所述语义段落的结构化数据。示例性的,对于字段值:“xx保险有限公司”,根据其语义段落标签:“公司”,生成字段属性:“公司”,将字段值映射到对应的字段属性中,得到结构化数据:“公司:xx保险有限公司”。
[0130]
下面通过一个应用于保险单领域的具体实施例,描述本技术实施例提供的文档信息提取方法:
[0131]
参见图5、图6和图7,所述文档信息提取方法通过获取保险单文档训练数据集,采用mvlm方法,利用该文档训练数据集对基于layoutlm模型的二维命名实体识别模型进行增广预训练。
[0132]
对保险单文档进行ocr识别处理,得到多个文本块,通过定义语义段落标签{公司、标题、保单信息、投保人信息、被投保人信息、受益人信息、保险期间、保险项目},并将多个文本块输入到预训练的命名实体识别模型,以通过该命名实体识别模型进行序列标注任务,得到各个文本块中对应的语义段落标签,根据各个文本块中对应的语义段落标签,进一步确定文档中的语义段落。
[0133]
获取文档中各个语义段落的文本特征信息,基于文档中的字段属性以及字段值的阅读先后顺序,通过构造用于确定语义段落的文本阅读顺序的二分类任务,将语义段落对应的文本特征信息输入到分类模型,如将语义段落对应的词向量矩阵输入到textcnn模型,或将语义段落对应的字符特征矩阵输入到xgboost模型,以通过上述分类模型进行二分类任务,得到语义段落的文本阅读顺序,从而确定语义段落的布局类型,其中,当语义段落的文本阅读顺序为左右阅读顺序,确定该语义段落的布局类型为段落布局,当语义段落的文本阅读顺序为上下阅读顺序,确定该语义段落的布局类型为表格布局。
[0134]
当语义段落的布局类型为段落布局,通过标准化语义段落中的字段属性,并将字段值映射到标准化后的字段属性中,得到该语义段落的结构化数据,如:
[0135][0136]
当语义段落的布局类型为表格布局,则通过其他表格信息提取方式获取该语义段落的结构化数据,如:
[0137][0138][0139]
进一步可以理解的是,本技术实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
[0140]
本技术提出一种文档信息提取方法,文档信息提取方法通过对文档进行识别处理,得到多个文本块,并将多个文本块输入到预训练的命名实体识别模型,以通过命名实体识别模型得到各个文本块对应的语义段落标签,根据各个文本块对应的语义段落标签,确定文档的语义段落,从而基于文本阅读顺序,确定文档中每个语义段落对应的布局类型,其中,文本阅读顺序包括左右阅读顺序和上下阅读顺序,布局类型包括段落布局和表格布局,并根据语义段落对应的布局类型,提取每个语义段落的结构化数据。本技术实施例的文档
信息提取方法在确定文档对应的语义段落的基础上,依据布局类型对文档进行划分,针对不同布局类型的语义段落分别执行信息提取,能够简化文档信息的提取流程,并便于应用领域的迁移,提高对不同文档类型的适应性。
[0141]
请参见图8,本技术实施例还提供了一种文档信息提取装置100,所述文档信息提取装置100包括:
[0142]
文本块获取模块110,用于对文档进行识别处理,得到多个文本块;
[0143]
标签分类模块120,用于将所述多个文本块输入到预训练的命名实体识别模型,以通过所述命名实体识别模型得到各个所述文本块对应的语义段落标签;
[0144]
语义段落提取模块130,用于根据各个所述文本块对应的语义段落标签,确定所述文档的语义段落;
[0145]
布局类型分类模块140,用于基于文本阅读顺序,确定所述文档中每个语义段落对应的布局类型,其中,所述文本阅读顺序包括左右阅读顺序和上下阅读顺序,所述布局类型包括段落布局和表格布局;
[0146]
文档信息提取模块150,用于根据所述语义段落对应的布局类型,提取每个所述语义段落的结构化数据。
[0147]
本技术提出一种文档信息提取装置,文档信息提取装置通过文本块获取模块对文档进行识别处理,得到多个文本块,标签分类模块将多个文本块输入到预训练的命名实体识别模型,以通过命名实体识别模型得到各个文本块对应的语义段落标签,语义段落提取模块根据各个文本块对应的语义段落标签,确定文档的语义段落,从而基于文本阅读顺序,确定文档中每个语义段落对应的布局类型,其中,文本阅读顺序包括左右阅读顺序和上下阅读顺序,布局类型包括段落布局和表格布局,文档信息提取模块根据语义段落对应的布局类型,提取每个语义段落的结构化数据。本技术实施例的文档信息提取装置在确定文档对应的语义段落的基础上,依据布局类型对文档进行划分,针对不同布局类型的语义段落分别执行信息提取,能够简化文档信息的提取流程,并便于应用领域的迁移,提高对不同文档类型的适应性。
[0148]
需要说明的是,上述装置的模块之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0149]
请参见图9,图9示出本技术实施例提供的一种电子设备的硬件结构,电子设备包括:
[0150]
处理器210,可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集合成电路(application specific integrated circuit,asic)、或者一个或多个集合成电路等方式实现,用于执行相关计算机程序,以实现本技术实施例所提供的技术方案;
[0151]
存储器220,可以采用只读存储器(read only memory,rom)、静态存储设备、动态存储设备或者随机存取存储器(random access memory,ram)等形式实现。存储器220可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器220中,并由处理器210来调用执行本技术实施例的文档信息提取方法;
[0152]
输入/输出接口230,用于实现信息输入及输出;
[0153]
通信接口240,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;和总线250,在设备的每个组件(例如处理器210、存储器220、输入/输出接口230和通信接口240)之间传输信息;
[0154]
其中处理器210、存储器220、输入/输出接口230和通信接口240通过总线250实现彼此之间在设备内部的通信连接。
[0155]
本技术实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个计算机程序,一个或者多个计算机程序可被一个或者多个处理器执行,以实现上述文档信息提取方法。
[0156]
存储器作为一种计算机可读存储介质,可用于存储软件程序以及计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0157]
本技术实施例描述的实施例是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
[0158]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0159]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
[0160]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0161]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0162]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0163]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集合成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0164]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0165]
另外,在本技术每个实施例中的各功能单元可以集合成在一个处理单元中,也可以是每个单元单独物理存在,也可以两个或两个以上单元集合成在一个单元中。上述集合成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0166]
集合成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术每个实施例的方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
[0167]
以上参照附图说明了本技术实施例的优选实施例,并非因此局限本技术实施例的权利范围。本领域技术人员不脱离本技术实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本技术实施例的权利范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1