从表格中提取公式的方法、电子设备和计算机可读介质与流程

文档序号:26986762发布日期:2021-10-19 20:00阅读:127来源:国知局
从表格中提取公式的方法、电子设备和计算机可读介质与流程

1.本公开实施例涉及信息抽取领域,具体涉及表格信息抽取的方法、 电子设备和计算机可读介质。


背景技术:

2.信息抽取(information extraction)通常可以指从源文档中抽取出 特定的事件或事实信息。可以使用信息抽取技术来进行内容的自动分 类、提取和重构等。从表格中提取公式指利用信息抽取技术对表格进 行内容分析,从表格中抽取公式。
3.表格作为一种数据展示、统计、核对、分析的工具,其中经常会 存在大量计算公式。比较广泛普遍存在的公式类型有合计、平均等。 根据表格数据领域的不同,表格数据间的公式通常也由所属领域的知 识所决定。但在海量的用于展示的表格中,数据计算公式通常只会保 留计算结果,而不会保留计算过程。这就使得人们在观察数据时,需 要自己分析表格中的可能存在的计算公式,并对数据的准确性做出判 断,通常也需要耗费大量时间。这种情况特别在金融领域尤其常见。


技术实现要素:

4.本公开实施例提出了一种从表格中提取公式的方法。
5.第一方面,本公开实施例提供了一种从表格中提取公式的方法, 该方法包括:获取表格;抽取表格中每个单元格的单元格内容,得到 单元格内容集合;基于表格,生成表格中的初始关系信息;基于单元 格内容集合和初始关系信息,生成初始有向无环图;将表格输入预先 训练的特征提取模型,得到表格特征向量;基于表格特征向量和初始 有向无环图,生成有向无环图;基于有向无环图,生成所述表格中的 公式。
6.在一些实施例中,该方法还包括:响应于表格中的公式是表格中 包含的目标公式,将目标公式发送至支持显示功能的设备和存储设备, 控制设备展示目标公式,以及控制存储设备存储目标公式。
7.在一些实施例中,初始关系信息包括左操作数、操作类型和右操 作数。
8.在一些实施例中,基于单元格内容集合和初始关系信息,生成初 始有向无环图,包括:基于单元格内容集合,生成初始有向无环图中 的节点;生成初始有向无环图中的边,其中,边表示不同节点之间的 关系。
9.在一些实施例中,将表格输入预先训练的特征提取模型,得到表 格特征向量,包括:基于表格,生成表格图片;将表格图片输入特征 提取模型,生成表格中每个单元格的视觉特征;抽取表格的行标题和 列标题;将行标题和所述列标题输入特征提取模型,生成表格中每个 单元格的文本特征;连接视觉特征和文本特征,生成表格中每个单元 格特征向量。
10.在一些实施例中,基于有向无环图,生成表格中的公式,包括: 基于有向无环图中的节点和边,生成表格中的关系信息;基于表格中 的关系信息所包括的左操作数、操作类
型和右操作数,生成表格中的 公式。
11.第二方面,本公开实施例提供了一种终端设备,该终端设备包括: 一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一 个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个 处理器实现如第一方面中任一实现方式描述的方法。
12.第三方面,本公开实施例提供了一种计算机可读介质,其上存储 有计算机程序,其中,所述程序被处理器执行时实现如第一方面中任 一实现方式描述的方法。
13.本公开实施例提供一种从表格中提取公式的方法,获取表格,基 于表格中的单元格内容集合,确定初始关系信息,根据单元格内容集 合和初始关系信息,生成初始有向无环图,将表格输入特征提取模型, 得到表格特征向量,基于表格特征向量和初始有向无环图,生成有向 无环图,基于有向无环图,生成表格中的公式。
14.本公开的上述各个实施例中的一个实施例具有如下有益效果:基 于表格,无须人工干预,能够自动生成包含表格中单元格内容集合和 初始关系信息的初始有向无环图。基于特征提取模型,自动抽取表格 的视觉特征和文本特征,生成表格特征向量。基于表格特征向量和初 始有向无环图,能够自动生成包含表格中全部公式的有向无环图。本 公开的实施例不需要人工预先设定规则和公式模板,能够自动提取表 格中的公式,适用于不同表格类型,泛化能力强,方便用户发现表格 中公式计算错误。
附图说明
15.通过阅读参照以下附图所作的对非限制性实施例所作的详细描 述,本公开的其它特征、目的和优点将会变得更明显:
16.图1是本公开的一些实施例可以应用于其中的示例性系统的架构 图;
17.图2是根据本公开的从表格中提取公式的方法的一些实施例的流 程图;
18.图3是根据本公开的从表格中提取公式的方法的一个应用场景的 示意图;
19.图4是根据本公开的用于训练特征提取模型的训练步骤的一个实 施例的流程图;
20.图5是根据本公开的提取表格特征向量的方法的一个实施例的流 程图;图6是适于用来实现本公开的一些实施例的终端设备的结构示意 图。
具体实施方式
21.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示 了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形 式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供 这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本 公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护 范围。
22.另外还需要说明的是,为了便于描述,附图中仅示出了与有关发 明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的 特征可以相互组合。
23.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非 限制性的,本领域技术人员应当理解,除非在上下文另有明确指出, 否则应该理解为“一个或多个”。
24.下面将参考附图并结合实施例来详细说明本公开。
25.图1示出了可以应用本公开的从表格中提取公式的方法的实施例 的示例性系统架构100。
26.如图1所示,系统架构100可以包括终端设备101、102、103, 网络104和服务器105。网络104用以在终端设备101、102、103和 服务器105之间提供通信链路的介质。网络104可以包括各种连接类 型,例如有线、无线通信链路或者光纤电缆等等。
27.用户可以使用终端设备101、102、103通过网络104与服务器105 交互,以接收或发送消息等。终端设备101、102、103上可以安装有 各种通讯客户端应用,例如信息抽取应用、数据分析应用、自然语言 处理应用等。
28.终端设备101、102、103可以是硬件,也可以是软件。当终端设 备101、102、103为硬件时,可以是具有显示屏的各种终端设备,包 括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等 等。当终端设备101、102、103为软件时,可以安装在上述所列举的 终端设备中。其可以实现成多个软件或软件模块(例如用来提供表格 输入、文本输入等),也可以实现成单个软件或软件模块。在此不做具 体限定。
29.服务器105可以是提供各种服务的服务器,例如对终端设备101、 102、103输入的表格进行公式抽取,并输出目标公式的服务器,或者 是对终端设备101、102、103输入的表格进行处理,并输出公式的服 务器等。服务器可以对接收到的表格进行公式抽取等处理,并将处理 结果(例如目标公式)反馈给终端设备。
30.需要说明的是,本公开实施例所提供的从表格中提取公式的方法 可以由服务器105,也可以由终端设备执行。
31.需要指出的是,服务器105的本地也可以直接存储表格,服务器 105可以直接提取本地的表格通过公式抽取得到目标公式,此时,示 例性系统架构100可以不包括终端设备101、102、103和网络104。
32.还需要指出的是,终端设备101、102、103中也可以安装有公式 抽取类应用,此时,抽取表格中的公式的方法也可以由终端设备101、 102、103执行。此时,示例性系统架构100也可以不包括服务器105 和网络104。
33.需要说明的是,服务器105可以是硬件,也可以是软件。当服务 器105为硬件时,可以实现成多个服务器组成的分布式服务器集群, 也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件 或软件模块(例如用来提供公式抽取服务),也可以实现成单个软件或 软件模块。在此不做具体限定。
34.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意 性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
35.继续参考图2,示出了根据本公开的从表格中提取公式的方法的 一些实施例的流程200。该从表格中提取公式的方法,包括以下步骤:
36.步骤201,获取表格。
37.在一些实施例中,从表格中提取公式的方法的执行主体(例如图 1所示的终端设备)可以获取表格。其中,表格是一种二维的结构化 的数据,表格由行标题、列标题和单元格组成。表格中的每个单元格 的坐标由垂直方向和水平方向两个维度的坐标组成,坐标表示单元格 所在的行号和列号,行号和列号最小可以为0。相邻的单元格可以合 并为一个单元格,合并单元格的坐标可以为其左上角的最小单元格坐 标。多列单元格合并组成的单元格称为列合并单元格,多行单元格合 并组成的单元格成为行合并单元格。单元格中的内容可以是多种类型 的,包括但不限于:数值型、时间型、文本型等等。行标题和列标题 的内容
一个样本估算出的所有操作数的总体方差,log表示对数,“sqrt”表示 开方,“...”表示省略其它。
50.具体的,a5=average(a1,a2,a3,a4)。其中a1、a2、a3、a4、 a5为操作数,a表示数值,1、2、3、4、5表示计数。利用操作类型
ꢀ“
@,average”可以将该式转换成如下几个初始关系信息: r1:(a1,@,a2),r2:(r1,@,a3),r3:(r2,@,a4),r4:(r3,average,empty),r5:(r4,=,a5)。可 以看到“@”符号起组合作用,首先将“a1,a2,a3,a4”组合到一起形成 r3,r3再通过操作符“average”形成r4,最终得到r4与a5相等的r5。其中
ꢀ“
a1”为左操作数,“a2”、“a3”、“a4”、“a5”分别为右操作数,a表示 数值,r1、r2、r3、r4、r5分别为第一至第五初始关系信息,r表示初 始计算关系,1、2、3、4、5表示计数。
51.可选的,一个初始关系信息可以是初始比较关系,当且仅当该初 始关系信息包括的操作类型o是一个比较操作类型。可选的, o∈o
c
,o
c
={=,>,<}。其中,o表示操作类型,o表示操作类型 集合,c表示比较,o
c
表示比较操作类型集合,“=”表示等于,“>”表 示大于,“<”表示小于。
52.在一些实施例的一些可选的实现方式中,上述执行主体利用单元 格内容集合中每个单元格内容,得到初始关系信息包括的操作数。具 体的,表格1中,对于单元格cell
2,2
和cell
2,3
,cell
2,2
对应第二行第二列 的单元格,cell表示单元格,右下角标表示“行坐标,列坐标”。cell
2,2
的 单元格内容为“377”,cell
2,3
对应第二行第三列的单元格,cell
2,3
的单元格 内容为“470”。
53.在一些实施例的一些可选的实现方式中,上述执行主体仅根据表 格中的单元格内容集合,不能判断单元格内容之间的关系,初始关系 信息中的操作类型为空。
54.步骤204,基于单元格内容集合和初始关系信息,生成初始有向 无环图。
55.在一些实施例中,上述执行主体基于单元格内容集合,生成初始 有向无环图中的节点。生成初始有向无环图中的边,其中,边表示不 同节点之间的关系。
56.可选的,有向无环图可以一种由有限节点和有限条带有方向的边 组成的图,并且其中任意一个节点都不能沿着边再次指向自己。其中, 有向是指连接有方向性,有向无环图中表征节点关系的边是有方向的, 一般的,可以从最低的第一层级流向最高层级。无环是指图中任意两 个节点之间都不会由连接的边形成环路。有向无环图可以包括多个层 级,有向无环图中的节点处于同一个层次。有向无环图的第一层节点 可以是最低一层的节点,也可以是有向无环图中生成连接节点的边的 起始层。
57.初始有向无环图中的节点可以是数值类型的单元格内容。初始有 向无环图是层级结构的,可选的,初始有向无环图中的第一层节点是 单元格内容集合中的单元格内容,以及,在初始有向无环图中全部节 点都处于第一层。
58.在一些实施例的一些可选的实现方式中,上述执行主体根据单元 格内容集合和初始关系信息,生成初始有向无环图中的边。可选的, 初始关系信息中包括的操作类型为空,初始有向无环图中第一层的节 点之间没有关系,节点之间不产生边,初始有向无环图中只有第一层 的节点,边为空。
59.步骤205,将表格输入预先训练的特征提取模型,得到表格特征 向量。
60.在一些实施例中,上述执行主体将表格转化为图片格式的表格图 片。将表格图片输入预先训练的特征提取模型,生成表格的视觉特征。 可选的,表格图片并不是真实图片,
表格图片中的像素值是由预定义 的信息决定的,可选的,像素值可以包括但不限于以下之一:文字粗 体信息、文字斜体信息、文字颜色信息等等。抽取表格的行标题和列 标题,将行标题和所述列标题输入预先训练的特征提取模型,生成表 格的文本特征。
61.在本公开可选的一些实施例中,上述执行主体连接表格的视觉特 征和表格的文本特征,得到表格特征向量。可选的,可以通过拼接的 操作连接表格的视觉特征和表格的文本特征。上述执行主体在得到表 格中每个单元格的特征向量的过程中,并不考虑单元格内容的数值, 以及,并不考虑单元格自身的含义。表格中每个单元格的特征向量由 该单元格所对应的行标题、列标题的视觉特征和文本特征决定,对单 元格数值不敏感。
62.步骤206,基于表格特征向量和初始有向无环图,生成有向无环 图。
63.在一些实施例中,上述执行主体构建计算关系集合 o
a
={+,-,
×

÷
,@,average,sum,max,dvar,log,sqrt,...}和比较关系 集合o
c
={=,>,<}。
64.可选的,使用嵌入矩阵e
o
处理o
a
和o
c
包含的每个操作类型后,得 到该操作类型的向量表示o
t
=e
o
(o),其中o
t
表示操作类型o的向量表 示,e表示矩阵,e
o
表示处理操作类型的嵌入矩阵。嵌入矩阵e
o
可以 是由行和列组成的矩阵,其中各列代表操作类型o对应的权重向量。
65.可选的,有向无环图是一个多层结构,每一层包括节点和边。初 始有向无环图中只确定了有向无环图中的第一层节点。
66.可选的,输入表格特征向量和初始有向无环图,循环执行第一步 至第三步操作:
67.第一步,针对当前有向无环图中的层t,可选的,第一层t=1,第 二层t=2。更新候选关系集合,将当前层t中的节点与计算关系集合o
a
、 比较关系集合o
c
中的每个关系进行组合,生成候选关系集合。可选的, 对于第一层节点t=1,节点就是表格中的单元格内容。针对候选关系 集合中的每一个候选关系r:(c
l
,o,c
r
)。其中c
l
表示左操作符,c
r
表示 右操作符,o表示操作类型,r表示右,1表示左,执行下面的第一子 步骤和第二子步骤生成候选关系r的隐向量h
t

68.第一子步骤,计算左操作数特征向量、操作类型的向量表示以及 右操作数特征向量。其中,根据左操作数c
l
对应的行列坐标(i,j)进 行索引查找,利用表格中该单元格对应的特征向量,得到左操作数特 征向量h
l
,根据右操作数c
r
对应的行列坐标(i,j)进行索引查找,利 用表格中该单元格对应的特征向量,得到右操作数特征向量h
r
,使用 嵌入矩阵e
o
确定操作类型o对应的向量表示o
t

69.第二子步骤,将h
l
、h
r
和o
t
输入预测模块中。预测模块计算公式 如下:
70.i
t
=σ(w
i
o
t
+u
i
[h
l
,h
r
]+b
i
)
[0071][0072][0073]
o
t
=σ(w
o
o
t
+u
o
[h
l
,h
r
]+b
o
)
[0074]
[0075][0076]
h
t
=tanh(c
t
)

o
t
[0077]
其中,“σ”表示逻辑函数,
“⊙”
表示元素点乘,w为第一权重矩 阵、u为第二权重矩阵,b是偏差向量,i表示输入门,t表示当前计 数,i
t
表示当前计数的输入门,f表示遗忘门,f
t
表示当前计数的遗忘 门。h
r
是右操作数特征向量,h
l
为左操作数特征向量,c为过程中向量, o
t
为操作类型o对应的向量表示。表示对应右操作数的遗忘门第一 权重矩阵,u
i
为输入门的第二权重矩阵,b
i
表示输入门的偏差向量,表示对应右操作数的遗忘门第一权重矩阵,表示对应右操作数的遗 忘门的第二权重矩阵,表示对应右操作数的遗忘门的偏差向量,表 示对应左操作数的遗忘门第一权重矩阵,表示对应右操作数的遗忘 门的第二权重矩阵,表示对应右操作数的遗忘门的偏差向量,b
o
为输 出门偏差向量,b
c
为过程中向量对应的偏差向量,w
o
为输出门第二权 重矩阵,w
c
为过程中向量对应的第二权重矩阵。
[0078]
由此,得到候选关系集合中每一个候选关系r的隐向量h
t

[0079]
第二步,对于候选关系集合中每一个候选关系对应的隐向量h
t
, 将其输入到分类函数中,得到该候选关系有效的概率值。具体公式如 下:
[0080]
s
t
=softmax(w
s
h
t
)
[0081]
其中,w
s
为对应的权重矩阵,s表示矩阵参数,s
t
为候选关系r有效 的概率,t表示当前层。
[0082]
第三步,对于候选关系集合中每一个候选关系,响应于s
t
大于预 先设定的阈值,确定该候选关系是有效的候选关系,以及,根据该候 选关系生成针对于当前层t中全部节点的边,其中,边是指存在有效 候选关系的节点之间的关系。连接存在候选关系的节点,生成边。根 据当前层t中全部节点和边,生成下一层(t+1)中的节点。
[0083]
循环执行上述第一步至第三步操作,直至第三步中不存在大于预 先设定的阈值的s
t
,循环结束,生成有向无环图。
[0084]
步骤207,基于有向无环图,生成表格中的公式。
[0085]
在本发明可选的一些实施例中,上述执行主体基于有向无环图中 的节点和边,生成表格中的关系信息。基于表格中的关系信息所包括 的左操作数、操作类型和右操作数,生成表格中的公式。
[0086]
继续参考图3,示出了根据本公开的从表格中提取公式的方法的 一个应用场景的示意图。
[0087]
如图3所示,终端设备301显示给定的表格。其中,对于表格中 的坐标为(4,2)、内容为“259”的单元格,坐标为(4,3)、内容为“353
”ꢀ
的单元格,坐标为(4,4)、内容为“34.29%”的单元格,根据所得到的 有向无环图,提取其对应的公式的过程由图3示出。可选的,终端设 备301显示的表格可以是直接从无法编辑的文档中复制得到的,可选 的,可以是从pdf格式的文件中直接复制得到,复制得到的表格保留 了内部公式信息。
[0088]
图2给出的一个实施例具有如下有益效果:基于表格,无须人工 干预,能够自动生
成包含表格中单元格内容集合和初始关系信息的初 始有向无环图。基于特征提取模型,自动抽取表格的视觉特征和文本 特征,生成表格中每个单元格的特征向量。表格中每个单元格的特征 向量由该单元格所对应的行标题、列标题的视觉特征和文本特征决定, 对单元格数值不敏感,能够基于表格的行标题、列标题预测公式,实 现表格编辑时的公式实时推荐。基于表格特征向量和初始有向无环图, 能够自动生成包含表格中全部公式的有向无环图。本公开的实施例不 需要人工预先设定规则和公式模板,能够自动提取表格中的公式,适 用于不同表格类型,泛化能力强,能够辅助利用自动提取的公式判断 单元格中的数值正确性,方便用户发现表格中公式计算错误。
[0089]
继续参考图4,示出了根据本公开的预先训练特征提取模型的训 练步骤的一个实施例的流程400。该训练步骤可以包括以下步骤:
[0090]
步骤401,获取训练样本集合,其中,训练样本包括样本表格和 预先得到的样本表格公式。
[0091]
在一些实施例中,该训练步骤的执行主体可以与从表格中提取公 式的方法的执行主体(例如图1所示的终端设备)相同或者不同。如 果相同,则该训练步骤的执行主体可以在训练得到特征提取模型后将 训练好的特征提取模型的模型结构信息和模型参数的参数值存储在本 地。如果不同,则该训练步骤的执行主体可以在训练得到特征提取模 型后将训练好的特征提取模型的模型结构信息和模型参数的参数值发 送给从表格中提取公式的方法的执行主体。
[0092]
在一些实施例中,该训练步骤的执行主体可以本地或者远程地从 与上述执行主体网络连接的其他终端设备获取训练样本集。其中,训 练样本集中的训练样本包括样本表格和预先得到的样本表格公式。
[0093]
在一些实施例的一些可选的实现方式中,训练样本包括的样本表 格和预先得到的样本表格公式可以通过如下步骤获得。首先,准备一 个存在于pdf文档中的表格。对于该表格,首先,需要使用pdf表 格提取工具获取该表格在pdf文档中的位置、结构以及格式信息。可 选的,pdf表格提取工具可以看做一个已经封装好的接口,输入一个 pdf文档,该接口可以返回存在于此pdf文档中的表格的所处位置、 以及表格的内部结构数据,包括但不限于:表格包含多少个单元格、 每个单元格包含的文本,文本的格式信息。
[0094]
其次,对表格中的公式进行标注。表格为 t={cell
i,j
|1≤i≤r,1≤j≤c},其中r和c分别为表格的行数和列数,cell 表示单元格,cell
ij
表示行坐标为i列坐标为j的单元格。标注的结果是 一个公式集合,每一个公式由单元格编号、运算符号组成。如表格1 中,标注的结果为
[0095]
t={cell
1,1
,cell
1,2
,cell
l,3
,cell
1,4
,cell
2,1
,cell
2,2
,cell
2,3
,cell
2,4
,cell
3,1
,cell
3,2
, cell
3,3
,cell
3,4
,cell
4,1
,cell
4,2
,cell
4,3
,cell
4,4
},其中包括五个公式 cell
4,2
=cell
2,2-cell
3,2
、cell
4,3
=cell
2,3-cell
3,3
、、
[0096]
将标注后的数据用做模型训练的数据集。这个数据集是一个表格 和公式的集合其中n表示数据集中包含 的表格数,t表示表格,表
示公式集合,每个表格t
i
有其对应公式集 合合表示表格t
i
中的公式集合,f1表示表格t
i
中的 第一个公式,m
i
表示表格t
i
中包含的公式数,表示表格t
i
中的第 m
i
个公式。除此之外,每个表格自己的信息包括该表格的行数、列数、 单元格文本,单元格格式(字体,加粗,斜体,单元格大小等)信息 等等。
[0097]
第三步,可选的,训练样本包含针对标注数据集中的每个表格对 应的样本表格公式,可选的,样本表格公式可以是预先经过人工标注 得到的。
[0098]
将标注数据集的样本表格和样本表格公式作为训练样本。
[0099]
步骤402,确定特征提取模型的模型结构以及初始化特征图提取 模型的模型参数。
[0100]
在一些实施例中,该训练步骤的执行主体可以首先确定初始特征 提取模型的模型结构。例如,需要确定初始第一神经网络包括哪些层, 层与层之间的连接顺序关系,以及每层都包括哪些神经元,每个神经 元对应的权重(weight)和偏置项(bias),每层的激活函数等等。
[0101]
在一些实施例的一些可选的实现方式中,特征提取模型的模型结 构可以包括视觉特征提取子模型和文本特征提取子模型两部分组成。 视觉特征提取子模型包括第一多层卷积神经网络、段池化层、第二卷 积神经网络和段池化层。可选的,第一多层卷积神经网络每层由一个 或多个二维平面组成,而每个平面由多个独立神经元组成。单层的卷 积神经网络通过对输入图片执行卷积操作,通过不同的卷积核大小能 够捕捉到每个像素点其周围不同范围内的信息。假设卷积核大小为 3*3,可以认为一个3*3的窗口会经过图片的每一个像素点,并获取以 该像素点为中心周围3*3范围内的信息,得到新的信息作为该像素点 的输出。通过设置单层卷积神经网络的步长(stride),填充(padding) 可以控制输出图片的大小尺寸,通过设置单层卷积神经网络的卷积核 个数,可以控制输出图片的通道数。多个单层卷积神经网络堆叠之后 的网络结构称为多层卷积神经网络。池化层执行降采样处理,可选的, 非线性池化函数可以包括最大池化函数,将输入的图片划分为若干个 矩形区域,对每个子区域输出最大值。第二多层卷积神经网络由不同 单层卷积神经网络组成。
[0102]
可选的,文本特征提取子模型由两层长短期记忆网络(lstm, long short-term memory)组成。lstm可以由细胞状态、输入门、遗 忘门、输出门组成。
[0103]
连接视觉特征提取子模型和文本特征提取子模型两部分的输出, 得到特征提取模型的输出。
[0104]
然后,该训练步骤的执行主体可以初始化特征提取模型的模型参 数。实践中,可以将特征提取模型的各个模型参数(例如,权值参数 和偏置参数)用一些不同的小随机数进行初始化。“小随机数”用来保 证模型不会因权值过大而进入饱和状态,从而导致训练失败,“不同
”ꢀ
用来保证模型可以正常地学习。
[0105]
步骤403,利用机器学习方法,将训练样本集合中的训练样本包 括的样本表格作为特征提取模型的输入,将与输入的样本表格对应的 预先得到的样本表格公式作为初始特征提取模型的期望输出,训练得 到所述特征提取模型。
[0106]
在一些实施例中,该训练步骤的执行主体可以将用机器学习方法, 将训练样本集合中的训练样本包括的样本表格作为特征提取模型的输 入,将与输入的样本表格对应的预先得到的样本表格公式作为特征提 取模型的期望输出,训练得到特征提取模型。
[0107]
具体地,可以通过对比计算得到的表格公式与该训练样本中的样 本表格公式之间的差异调整初始特征提取模型的模型参数,并在满足 预设的训练结束条件的情况下,结束训练。例如,这里预设的训练结 束条件可以包括但不限于以下至少一项:训练时间超过预设时长;训 练次数超过预设次数;计算所得的差异小于预设差异阈值。
[0108]
在一些实施例中,该训练步骤的执行主体将训练得到的特征提取 模型确定为预先训练的特征提取模型。
[0109]
图4给出的一个实施例具有如下有益效果:利用视觉特征提取子 模型提取表格中的视觉信息,利用文本特征提取子模型提取表格中的 文本特征,能够有效提取表格中包含的各类信息,提升特征提取模型 的处理效果。
[0110]
继续参考图5,示出了根据本公开的提取表格特征向量的方法的 一个实施例的流程500。该提取表格特征向量的方法可以包括以下步 骤:
[0111]
步骤501,基于表格,生成表格图片。
[0112]
在一些实施例中,该提取表格特征向量的方法的执行主体可以与 从表格中提取公式的方法的执行主体(例如图1所示的终端设备)相 同或者不同。如果相同,则该提取表格特征向量的方法的执行主体可 以在得到表格特征向量后将表格特征向量存储在本地。如果不同,则 该该提取表格特征向量的方法的执行主体可以在得到表格特征向量后 将表格特征向量发送给从表格中提取公式的方法的执行主体。
[0113]
在一些实施例中,该方法的执行主体将表格转化为图片形式。可 选的,表格可以以不同形式存储,包括但不限于excel形式、pdf形式、 jpg格式等等。将表格转化存储为图片形式,包括但不限于jpg格式、 png格式等等。转化后图片格式的表格图片大小为n
×
m,其中,n 表格图片的长度、m表示表格图片的宽度,n和m可以是任意指定的 值,可选的,可以将每张表格图片大小确定为256
×
256。转化后大小 为n
×
m的表格图片中每个像素的值均为0或者1,可选的,转化后的 表格图片是一种二值图。二值图是指图片上的每一个像素只有两种可 能的取值或灰度等级状态。
[0114]
在一些实施例的一些可选的实现方式中,,从转化后的表格图片中 可以提取不同的信息,提取的信息类别总数可以是k。可选的,表格图 片中每个字对应一个文本框,每个文本框都包含若干个像素点。可选 的,可以提取表格图片的视觉信息,针对表格图片中的每一个像素点, 响应于该像素点处于某个字的文本框内,则该像素点的值为1。响应 于该像素点所处的位置没有字,则该像素点的值为0。可选的,可以 提取表格图片的字体粗体信息,针对表格图片中的每一个像素点,响 应于该像素点处于某个粗体字的文本框内,则该像素点的值为1。响 应于该像素点所处的位置没有粗体字,则该像素点的值为0。可选的, 可以提取表格图片的字体斜体信息,针对表格图片中的每一个像素点, 响应于该像素点处于某个斜体字的文本框内,则该像素点的值为1。 响应于该像素点所处的位置没有斜体字,则该像素点的值为0。可选 的,可以提取表格图片的表格线信息,针对表格图片中的每一个像素 点,响应于该像素点处于某个表格线上,则该像素点的值为1。响应 于该像素点所处的位置没有表格线,则该像素点的值为0。可选的, 可以提取表格图片的表格红色信息,针对表格图片中的每一个像素点, 响应于该像素点处于表格红色部分,则该像素点的值为1。响应于该 像素点所处的位置表格颜色不是红色,则该像素点的值为0。在本公 开可选的一些实施例中,表格图片大小为n
×
m,共抽取k种类别信 息,可以定义为k个通道,k个大小为n
×
m
×
1的单通道表格图片最 终构成n
×
m
×
k的包含k个通道的表格图片i。
[0115]
步骤502,将表格图片输入预先训练的特征提取模型,生成表格 的视觉特征。
[0116]
在一些实施例中,该提取表格特征向量的方法的执行主体将表格 图片输入预先训练的特征提取模型,生成表格的视觉特征,可以通过 以下步骤实现:
[0117]
第一步,将n
×
m
×
k大小的表格图片i输入第一多层卷积神经 网络,输出尺寸为n
×
m
×
e的第一特征,其中,对于每一张n
×
m大 小的表格图片,表格图片中的每个像素点都有一个长度为e的向量, n
×
m个长度为e的向量,组成了第一特征,具体公式表示为:
[0118]
f
conv
=multi cnns(i)
[0119]
其中,i表示n
×
m
×
k大小的表格图片,multicnns表示第一多层 卷积神经网络,f
conv
表示n
×
m
×
e大小的第一特征。
[0120]
第二步,将第一特征f
conv
以行列单元为单元输入段池化层。可选 的,行列单元是由行信息row
id
和列信息col
id
决定的。行信息 row
id
和列信息col
id
不是对应于表格中行坐标、列坐标,而是在单 通的n
×
m大小的表格图片中由行线和列线切割出来的单元,可选的, 行线和列线的具体位置和间隔大小可以分别根据n和m的值确定,id 表示行信息和列信息的标记,行列单元记为row
id
∪col
id
。具体公式 为:
[0121]
f
grid
=segment pooling(f
conv
,row
id
∪col
id
).
[0122]
其中,∪表示合并,f
conv
为第一特征,segmentpooling表示段池化操 作,f
grid
表示第二特征。f
grid
的大小为r
×
c
×
e,其中r为行 信息row
id
的数目,c为列信息col
id
的数目,e为第一卷积神经网 络输出的图片的第三维度的值。
[0123]
第三步,将第二特征f
grid
以行列单元row
id
∪col
id
为单元输入 第二卷积神经网络,具体公式为:
[0124]
f
grid_conv
=multi cnn(f
grid
)
[0125]
其中multicnn表示第二卷积神经网络,f
grid_conv
表示第三特征, f
grid_conv
可以是以row
id
∪col
id
为单元的卷积特征。
[0126]
第四步,将第三特征f
grid_conv
输入段池化层。分别基于表格的行 标题header row
id
、列标题header col
id
以及单元格合并的信息 cell
id
进行池化处理,具体公式为:
[0127][0128][0129][0130]
其中,id表示具体行标题、列标题或单元格的位置, segment pooling为段池化处理.表示每个单元格的视觉特征、 表示表格行标题的视觉特征、表示表格列标题的视觉特征。将 连接起来,得到表格的视觉特征。
[0131]
步骤503,抽取表格的行标题和列标题。
[0132]
在一些实施例中,该提取表格特征向量的方法的执行主体抽取表 格的行标题和列标题。行标题和列标题可以包含多级。具体的,表格 2中,行标题和列标题包含显式多级结构。对于单元格(3,3),对应 的行标题为“原值,年初余额”,行标题包含两级,对应的列标题为“2016 年度(本集团和本公司),办公及通讯设备”,列标题包含两级。
[0133]
表格2
[0134][0135]
具体的,表格3中,行标题和列标题包含隐式多级结构。对于单 元格(3,2),对应的行标题为“一、营业总收入,其中:营业收入”, 行标题包含两级,对应的列标题为“2017年度”,列标题包含一级。表 格3中,多级行标题通过加粗的方式隐式的表达。
[0136]
表格3
[0137]
2、母公司利润表
[0138]
单位:元
[0139][0140]
对于多级行标题,将属于同一列的具有层级关系的多个单元格的 行标题用连接标志&连接形成一个文本,作为抽取的表格的行标题的 结果。对于多级列标题,将属于同一行的具有层级关系的多个单元格 的行标题用连接标志&连接形成一个文本,作为抽取的表格的列标题 的结果。具体的,对于表格2,第一行和第二行是表格中具有显式多 层级结构的列标题,经过上述处理,可以得到这样的列标题:{第一列: 2016年度(本集团和本公司)&
办公及通讯设备,第二列:2016年度 (本集团和本公司)&运输设备,第三列:2016年度(本集团和本公 司)&合计},其中“&”为连接标志。
[0141]
步骤504,将行标题和列标题输入预先训练的特征提取模型,生 成表格的文本特征。
[0142]
在一些实施例中,该提取表格特征向量的方法的执行主体将表格 的行标题和列标题输入 预先训练的特征提取模型,其中,s表示向量,r表示行,c表示表格 的行数,c表示列,r表示表格的列数,hr表示行标题的文本串,hc 表示列标题的文本串。
[0143]
可选的,对于显式多级结构的行标题或列标题,执行下述第一步 操作:将hr和hc输入长短期记忆循环神经网络(long short-term memory,lstm),具体公式为:
[0144][0145][0146]
得到第四特征hr'和第五特征hc'。
[0147]
可选的,对于隐式多级结构的行标题或列标题,执行上面的第一 步操作之后,还要执行第二步操作:将第四特征hr'或第五特征hc'继 续输入lstm。具体的,输入第四特征还是第五特征,取决于行标题 还是列标题是隐式多级结构的。具体的,对于具有隐式多级列标题的 表格,继续将第五特征hc'输入lstm,公式可表示为:
[0148][0149][0150]
其中表示行标题的文本特征,表示列标题的文本特征。将连接起来,得到表格的文本特征。
[0151]
步骤405,连接视觉特征和文本特征,生成表格特征向量。
[0152]
在一些实施例中,该提取表格特征向量的方法的执行主体将表格 的视觉特征和表格的文本特征连接起来,生成表 格特征向量:
[0153][0154]
其中,i和j分别表示表格中的单元格的行坐标和列坐标。对于表格来 说,表格特征向量由每个单元格的特征向量组成。每个单元格cell
ij
的 特征向量由单元格本身的视觉信息第j行标题 的视觉特征第i列标题的视觉特征第j行标题的文本 特征第i列标题的文本特征五个向量组成。
[0155]
图5给出的一个实施例具有如下有益效果:利用表格特征提取模 型提取表格中包含的视觉信息和文本信息,能够有效利用表格中的上 下文文本信息,同时有效利用表格的页面布局、结构以及字体、颜色 等视觉特征信息,提高特征提取模型的有效性,
[0156]
下面参考图6,其示出了适于用来实现本公开实施例的终端设备 的计算机系统
600的结构示意图。图6示出的终端设备仅仅是一个示 例,不应对本公开实施例的功能和使用范围带来任何限制。
[0157]
如图6所示,计算机系统600包括中央处理单元(cpu,centralprocessing unit)601,其可以根据存储在只读存储器(rom,read onlymemory)602中的程序或者从存储部分608加载到随机访问存储器 (ram,random access memory)603中的程序而执行各种适当的动 作和处理。在ram 603中,还存储有系统600操作所需的各种程序和 数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输 入/输出(i/o,input/output)接口605也连接至总线604。
[0158]
以下部件连接至i/o接口605:包括硬盘等的存储部分606;以及 包括诸如lan(局域网,local area network)卡、调制解调器等的网 络接口卡的通信部分607。通信部分607经由诸如因特网的网络执行 通信处理。驱动器608也根据需要连接至i/o接口605。可拆卸介质 609,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在 驱动器608上,以便于从其上读出的计算机程序根据需要被安装入存 储部分606。
[0159]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以 被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程 序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程 序包含用于执行流程图所示的方法的程序代码。在这样的实施例中, 该计算机程序可以通过通信部分607从网络上被下载和安装,和/或从 可拆卸介质609被安装。在该计算机程序被中央处理单元(cpu)601 执行时,执行本公开的方法中限定的上述功能。需要说明的是,本公 开所述的计算机可读介质可以是计算机可读信号介质或者计算机可读 存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以 是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、 装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的 例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算 机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦 式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读 存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适 的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程 序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者 与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基 带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的 程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电 磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还 可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可 读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件 使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可 以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等 等,或者上述的任意合适的组合。
[0160]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开 的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设 计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计 语言—诸如c语言或类似的程序设计语言。程序代码可以完全地在用 户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件 包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在 远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算 机可以通过任意种类的网络——包括局域网(lan)
或广域网(wan)— 连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网 服务提供商来通过因特网连接)。
[0161]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、 方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点 上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码 的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实 现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实 现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。 例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时 也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是, 框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组 合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现, 或者可以用专用硬件与计算机指令的组合来实现。
[0162]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说 明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限 于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离 上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合 而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于) 具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1