一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

发票信息的抽取方法、装置、电子设备及存储介质

2022-04-16 12:37:20 来源:中国专利 TAG:


1.本技术涉及自然语言处理领域,具体涉及一种发票信息的抽取方法、装置、电子设备及存储介质。


背景技术:

2.在生活中,发票作为单位或个人购销商品、提供或接收经营服务以及从事其他经营活动中按税务规定开具和使用的重要依据有着重要作用。随着计算机技术的不断发展,信息化进程的不断推进,发票包括电子发票与纸质发票,其中纸质发票通常由开票机,将发票信息打印在纸质发票的对应位置上。由此经常会出现文字内容偏移对应位置的情况,当需要收集纸质发票上的信息时,对其进行识别有较大困难。
3.传统的发票信息获取方法输入的数据多为位置或文字信息,通过识别文本框的位置或文字语意,如正则表达式、命名实体识别等来获取文本框对应的文本信息。而在文字偏移位置较大或者数字较多的情况下,通过以上方式获取发票中的信息可能准确率会比较低。


技术实现要素:

4.本技术的目的在于提供一种发票信息的抽取方法、装置、电子设备及存储介质,能够提高获取分类发票信息的准确性。
5.本技术实施例第一方面提供了一种发票信息的抽取方法,包括:
6.获取发票图像中多个文本框的内容信息及位置信息;
7.针对每一文本框,根据所述文本框的内容信息和位置信息,构建文本框特征;
8.将所述多个文本框的文本框特征,输入已训练的文本框分类模型,获得每一文本框对应的类别信息;
9.获取每一文本框的类别信息对应的内容信息。
10.于一实施例中,所述根据所述文本框的内容信息和位置信息,构建文本框特征,包括:根据预训练的词向量模型对所述内容信息进行编码,得到若干词向量;
11.对所述若干词向量进行加权平均,获得所述文本框对应的文本框词向量;
12.对所述文本框词向量和所述位置信息进行编码,得到多维向量,作为所述文本框特征。
13.于一实施例中,所述位置信息包括所述文本框的顶点坐标;
14.所述对所述文本框词向量和所述位置信息进行编码,得到多维向量,包括:
15.对所述文本框的顶点坐标进行维度拉伸;
16.将维度拉伸后的顶点坐标添加到所述文本框词向量,得到所述多维向量。
17.于一实施例中,所述文本框分类模型包括编码器、解码器和注意力机制层;
18.所述将所述多个文本框的文本框特征,输入已训练的文本框分类模型,获得每一文本框对应的类别信息,包括:
19.通过所述编码器对所述多个文本框的文本框特征进行编码,得到若干编码结果;
20.通过所述解码器对所述编码结果进行解密,得到若干解码结果;
21.通过所述注意力机制层对所述若干解码结果加权运算,得到与每一文本框对应的类别信息。
22.于一实施例中,在所述将所述多个文本框的文本框特征,输入已训练的文本框分类模型之前,所述方法还包括:
23.将样本数据集中的样本数据输入神经网络模型,获得所述神经网络模型输出的预测类别信息;其中,所述样本数据携带类别标签;
24.根据所述样本数据对应的类别标签与预测类别信息之间的差异,调整所述神经网络模型的模型参数;
25.重复上述步骤,直至所述神经网络模型收敛,得到所述文本框分类模型。
26.于一实施例中,在所述将样本数据集中的样本数据输入神经网络模型之前,所述方法还包括:
27.从若干样本发票图像中提取多个文本框的内容信息和位置信息;
28.根据所述多个文本框的内容信息和位置信息,构建文本框特征;
29.将每一样本发票图像的多个文本框特征构建为样本数据,并为所述样本数据标注每一文本框特征对应的类别标签;
30.根据多个已标注类别标签的样本数据,构造所述样本数据集。
31.于一实施例中,在所述从若干样本发票图像中提取多个文本框的内容信息和位置信息之前,所述方法还包括:
32.获取若干初始发票图像,并对所述若干初始发票图像进行数据增强处理,获得所述若干样本发票图像。
33.本技术实施例第二方面提供了一种发票信息的抽取装置,所述装置包括:
34.获取模块,用于获取发票图像中的多个文本框的内容信息和位置信息;
35.构建模块,用于针对每一文本框,根据所述文本框的内容信息和位置信息,构建文本框特征;
36.输入模块,用于将所述多个文本框的文本框特征,输入已训练的文本框分类模型,获得每一文本框对应的类别信息;
37.输出模块,用于获取每一文本框的类别信息对应的内容信息。
38.于一实施例中,所述构建模块还用于根据预训练的词向量模型对所述内容信息进行编码,得到若干词向量;
39.对所述若干词向量进行加权平均,获得所述文本框对应的文本框词向量;
40.对所述文本框词向量和所述位置信息进行编码,得到多维向量,作为所述文本框特征。
41.于一实施例中,所述位置信息包括所述文本框的顶点坐标;
42.所述构建模块还用于对所述文本框的顶点坐标进行维度拉伸;
43.将维度拉伸后的顶点坐标添加到所述文本框词向量,得到所述多维向量。
44.于一实施例中,所述文本框分类模型包括编码器、解码器和注意力机制层;
45.所述输入模块还用于通过所述编码器对所述多个文本框的文本框特征进行编码,
得到若干编码结果;
46.通过所述解码器对所述编码结果进行解密,得到若干解码结果;
47.通过所述注意力机制层对所述若干解码结果加权运算,得到与每一文本框对应的类别信息。
48.于一实施例中,所述装置还包括:
49.模型构建模块,用于在所述将所述多个文本框的文本框特征,输入已训练的文本框分类模型之前:将样本数据集中的样本数据输入神经网络模型,获得所述神经网络模型输出的预测类别信息;其中,所述样本数据携带类别标签;
50.根据所述样本数据对应的类别标签与预测类别信息之间的差异,调整所述神经网络模型的模型参数;
51.重复上述步骤,直至所述神经网络模型收敛,得到所述文本框分类模型。
52.于一实施例中,所述装置还包括:
53.标注模块,用于从若干样本发票图像中提取多个文本框的内容信息和位置信息;
54.根据所述多个文本框的内容信息和位置信息,构建文本框特征;
55.将每一样本发票图像的多个文本框特征构建为样本数据,并为所述样本数据标注每一文本框特征对应的类别标签;
56.根据多个已标注类别标签的样本数据,构造所述样本数据集。
57.于一实施例中,所述装置还包括:
58.处理模块,用于获取若干初始发票图像,并对所述若干初始发票图像进行数据增强处理,获得所述若干样本发票图像。
59.本技术实施例第三方面提供了一种电子设备,包括:
60.处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行本技术第一方面所述发票信息的抽取方法。
61.本技术实施例第四方面提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成本技术第一方面所述的发票信息的抽取方法。
62.本技术提供的发票信息的抽取方法、装置、电子设备及存储介质,将文本框的坐标信息和内容信息进行编码处理并结合,得到对应的文本框特征,并对文本框进行类别标注,进而构建用于训练神经网络模型的样本数据,训练得到文本框分类模型。根据发票的文本框特征与训练得到的文本框分类模型得到文本框对应的类别信息,获取类别信息对应的内容信息,从而实现对发票内容的抽取。本技术的技术方案可以提高在文本框位置偏移较大或纯数字内容信息较多的情况下抽取发票信息的准确率。
附图说明
63.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
64.图1为本技术实施例提供的电子设备结构示意图;
65.图2为本技术实施例提供的发票信息的抽取方法的流程示意图;
66.图3为本技术实施例提供的构建文本框特征的流程示意图;
67.图4为本技术实施例提供的获得文本框对应类别信息的流程示意图;
68.图5为本技术实施例提供的构造样本数据集的流程示意图;
69.图6为本技术实施例提供的构建文本框分类模型的流程示意图;
70.图7为本技术实施例提供的发票信息的抽取装置的结构示意图。
具体实施方式
71.在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,并不表示排列序号,也不能理解为指示或暗示相对重要性。
72.在本技术的描述中,术语“包括”、“包含”等表示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、步骤、操作、元素、组件和/或其集合的存在或添加。
73.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
74.下面将结合附图对本技术的技术方案进行清楚、完整地描述。
75.请参照图1,其为本技术实施例提供的电子设备100的结构示意图,该电子设备100可以用于执行本技术实施例提供的发票信息的抽取方法。电子设备100包括:至少一个处理器103、至少一个存储器102和总线101,总线101用于实现这些组件的连接通信。电子设备100可以是台式计算机、平板电脑、笔记本电脑、智能手机等或者是由多个计算机组成的大型计算机系统,用于执行发票信息的抽取方法。
76.存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,包括但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),静态随机存取存储器(static random access memory,sram),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)。
77.处理器103可以是通用处理器,包括但不限于中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等,还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器等,处理器103是电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分。处理器103可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。
78.图1以一个处理器103和一个存储器102为例,处理器103和存储器102通过总线101连接,存储器102存储有可被处理器103执行的指令,指令被处理器103执行,以使电子设备100可执行下述的实施例中方法的全部流程或部分流程,以实现发票信息的抽取方法。
79.请参照图2,其为本技术实施例提供的发票信息的抽取方法的流程示意图,该方法可由电子设备100执行,具体包括s210-s240。
80.s210:获取发票图像中多个文本框的内容信息及位置信息。
81.发票可以为普通发票、增值税专用发票或其他类型发票,在发票的内容信息包括但不限于票头、字轨号码、客户名称、银行开户账号、商(产)品名称或经营项目、计量单位、数量、单价、大小写金额、经手人、单位印章、开票日期等文字或数字信息。发票的内容信息分别有其对应的文本框位置,将文本框看作是矩形框,文本框的位置信息可以包括该矩形框的四个顶点位置的坐标,或是左上角的坐标以及文本框的长度与宽度。在该步骤中可以通过图像识别技术提取发票中的内容信息以及各个文本框的顶点坐标。
82.s220:针对每一文本框,根据文本框的内容信息和位置信息,构建文本框特征。
83.在一张发票上存在多个文本框,每个文本框都有其对应的内容信息以及坐标信息。为了对内容信息进行处理,使之成为计算机可识别的内容,因此通过预训练语言模型将发票中所有文字或数字转换成对应的词向量,并对词向量做加权平均。对文本框位置信息所包含的文本框顶点坐标进行维度拉伸处理,得到处理后的坐标向量。将处理后的坐标向量添加到词向量中,作为可输入神经网络模型的文本框特征。
84.s230:将多个文本框的文本框特征,输入已训练的文本框分类模型,获得每一文本框对应的类别信息。
85.将一张发票作为样本,一个样本中包含多个文本框特征,将这些多维文本框特征作为神经网络模型的输入值。神经网络模型为一个经过训练的文本框分类模型,可以为seq2seq(sequence-to-sequence)模型。经过模型的处理输出每个文本框特征对应的类别。类别可以包括姓名、号码、日期、金额等等。
86.s240:获取每一文本框的类别信息对应的内容信息。
87.根据获得的文本框的类别信息,得到该类别对应的内容信息,从而获取每项内容与类别的对应关系,实现发票信息的抽取,并在一定程度上提高了抽取每一类别对应内容的准确性。
88.于一实施例中,请参照图3,其为本技术实施例提供的构建文本框特征的流程示意图,该方法可由电子设备100执行,具体包括s310-s340。
89.s310:根据预训练的词向量模型对内容信息进行编码,得到若干词向量。
90.在该步骤中,可以将预训练语言模型albert_chinese_tiny作为词向量模型,通过该预训练语言模型对发票中的内容信息进行编码,得到每项内容对应的词向量,生成的词向量维度为100。
91.s320:对所述若干词向量进行加权平均,获得文本框对应的文本框词向量。
92.当文本内容包含一个词语或多个词语时,对该文本内容对应的词向量做加权平均可以防止产生较大偏差值。对发票中的多项文本内容对应的词向量做加权平均得到处理后的词向量。
93.s330:对文本框的顶点坐标进行维度拉伸。
94.s340:将维度拉伸后的顶点坐标添加到文本框词向量,得到多维向量,作为文本框特征。
95.将文本框看作矩形框,获得文本框的四个顶点坐标后,对文本框坐标进行维度拉伸,将四个顶点坐标包含的八个坐标点复制八遍,得到8*8=64维度向量。将维度拉伸后的顶点坐标与处理后的文本框词向量结合,得到100 64=164维度的多维向量,将得到的多维
向量作为文本框特征。将一张发票看作文本框分类模型的一个样本,一张发票最多有150个文本框,选取150作为最长的输入序列,因此一个样本的维度为(150*164)。
96.通过上述步骤,对得到的内容信息和坐标信息进行了处理,得到输入文本框分类模型的样本值。
97.于一实施例中,请参照图4,其为本技术实施例提供的获得文本框对应类别信息的流程示意图,该方法可由电子设备100执行,具体包括s410-s430。
98.s410:通过编码器对多个文本框的文本框特征进行编码,得到若干编码结果。
99.在该实施例中,文本框分类模型为seq2seq神经网络模型。seq2seq神经网络模型由编码-解码(encoder-decoder)模型和注意力机制(attention)层构成,具体包括编码器、解码器和注意力机制层。
100.编码器的作用是把一个不定长的输入序列转换为一个固定长度的向量,并在该固定长度向量中输入序列信息。将得到的文本框特征输入该模型,由编码器提取文本框的特征信息,可以同时从前后两个方向得到文本框之间的特征信息,更有利于得到相邻文本框之间的关系。对提取的信息进行编码,得到编码后的文本框特征。
101.s420:通过解码器对编码结果进行解密,得到若干解码结果。
102.编码器输出的固定向量编码了整个序列的信息,使用另一个循环神经网络作为解码器,解码器将上一时间的输出以及固定向量作为输入,对编码后的文本特征进行解码,得到与输入结果一一对应的解码结果,也就是将之前生成的固定向量转化成输出序列。
103.s430:通过注意力机制层对若干解码结果加权运算,得到与每一文本框对应的类别信息。
104.注意力机制层对解码过程中的每一个输出进行加权运算,在解码的过程中调整权重取不一样的特征向量。例如当输入的内容包含[姓名][金额][日期]这几个文本框时,解码到第一个文本框时着重看[姓名]这个文本框。通过注意力机制层增强神经网络深度和拟合能力,提高了发票信息抽取的准确率。
[0105]
于一实施例中,请参照图5,其为本技术实施例提供的构造样本数据集的流程示意图,在将样本数据集的样本数据输入神经网络模型之前需要构造样本数据集,具体包括s510-s550。
[0106]
s510:获取若干初始发票图像,并对若干初始发票图像进行数据增强处理,获得若干样本发票图像。
[0107]
初始发票图像为未进行任何标注的发票图像,对发票图像进行数据增强处理,包括:随机扰动文本框坐标点像素、随机切分文本框并随机拆分文本、随机替换数字、日期等文本内容、随机丢弃3~5检测框等,得到数据增强后的多个发票图像。
[0108]
s520:从若干样本发票图像中提取多个文本框的内容信息和位置信息。
[0109]
s530:根据多个文本框的内容信息和位置信息,构建文本框特征。
[0110]
s520-s530中获取发票图像中的文本框的内容信息和位置信息,以及根据内容信息和位置信息构建文本框特征的具体方法与上述实施例中s210-s220相似,详细参见上述实施例中的描述,在此不再赘述。
[0111]
s540:将每一样本发票图像的多个文本框特征构建为样本数据,并为样本数据标注每一文本框特征对应的类别标签。
[0112]
s550:根据多个已标注类别标签的样本数据,构造样本数据集。
[0113]
一张发票图像包含多个文本框特征,其中文本框特征包括文本框词向量以及维度拉伸后的文本框坐标。将一张发票图像作为一个训练样本,一个训练样本包含多个样本数据,对样本中包含的多个文本框特征进行分类并标注对应的类别标签。将标注了类别的样本数据作为训练神经网络模型的样本数据集。
[0114]
于一实施例中,请参照图6,其为本技术实施例提供的构建文本框分类模型的流程示意图,在将多个文本框的文本框特征输入已训练的文本框分类模型之前还需要构建文本框分类模型,具体包括s610-s630。
[0115]
s610:将样本数据集中的样本数据输入神经网络模型,获得所述神经网络模型输出的预测类别信息。
[0116]
将随机选取的训练集中的样本数据作为seq2seq神经网络模型的输入,其中样本数据携带了每个文本框对应的类别标签,神经网络模型输出每个文本框特征对应的预测类别信息。
[0117]
s620:根据所述样本数据对应的类别标签与预测类别信息之间的差异,调整所述神经网络模型的模型参数。
[0118]
s630:重复上述步骤,直至所述神经网络模型收敛,得到所述文本框分类模型。
[0119]
通过s610得到神经网络模型输出的预测类别信息后,基于深度学习模型的损失函数计算预测类别信息与真实类别信息的误差,以该差异调整模型参数。可以采用categorical_crossentropy loss(交叉熵损失函数)作为损失函数。一张发票的损失函数值为:
[0120][0121]
其中,m为文本框个数,n为类别个数,p(x
ij
)为真实类别值,q(x
ij
)为预测类别值。
[0122]
例如:若类别包括姓名、日期、金额,三种类别对应的真实类别值分别为1、0、0,三种类别对应的预测类别值分别为0.5、0.3、0.2,那么损失函数值为:loss=-(1
×
log(0.5) 0
×
log(0.3) 0
×
log(0.2))=0.3,所有文本框的损失函数值的总和为一张发票的损失函数值。
[0123]
该损失函数由输出层向隐藏层逐层反向传播,采用sgd(stochastic gradient descent,随机梯度下降)算法训练模型。从训练集中随机抽取一组数据,训练后按梯度更新一次,然后再抽取一次,再更新一次。不断迭代直至损失函数值不再减小,将训练好的神经网络模型作为文本框分类模型。
[0124]
经过上述步骤,将文本框坐标信息与内容信息结合作为神经网络模型的输入,可使训练好的文本框分类模型预测文本框类别的准确性和鲁棒性更高。
[0125]
请参照图7,其为本技术实施例提供的发票信息的抽取装置的结构示意图,该装置可用于电子设备100。发票信息的抽取装置700可以包括:
[0126]
获取模块710,用于获取发票图像中的多个文本框的内容信息和位置信息;
[0127]
构建模块720,用于针对每一文本框,根据所述文本框的内容信息和位置信息,构建文本框特征;
[0128]
输入模块730,用于将所述多个文本框的文本框特征,输入已训练的文本框分类模
型,获得每一文本框对应的类别信息;
[0129]
输出模块740,用于获取每一文本框的类别信息对应的内容信息。
[0130]
于一实施例中,构建模块720还用于根据预训练的词向量模型对内容信息进行编码,得到若干词向量;对若干词向量进行加权平均,获得文本框对应的文本框词向量;对文本框词向量和位置信息进行编码,得到多维向量,作为文本框特征。
[0131]
于一实施例中,位置信息包括文本框的顶点坐标;构建模块还用于对文本框的顶点坐标进行维度拉伸;将维度拉伸后的顶点坐标添加到文本框词向量,得到多维向量。
[0132]
于一实施例中,文本框分类模型包括编码器、解码器和注意力机制层;
[0133]
输入模块还用于通过编码器对多个文本框的文本框特征进行编码,得到若干编码结果;通过解码器对编码结果进行解密,得到若干解码结果;通过注意力机制层对若干解码结果加权运算,得到与每一文本框对应的类别信息。
[0134]
于一实施例中,装置700还包括:模型构建模块,用于在将多个文本框的文本框特征,输入已训练的文本框分类模型之前,将样本数据集中的样本数据输入神经网络模型,获得神经网络模型输出的预测类别信息;其中,样本数据携带类别标签。
[0135]
根据样本数据对应的类别标签与预测类别信息之间的差异,调整神经网络模型的模型参数;重复上述步骤,直至神经网络模型收敛,得到文本框分类模型。
[0136]
于一实施例中,装置700还包括:标注模块,用于从若干样本发票图像中提取多个文本框的内容信息和位置信息;根据多个文本框的内容信息和位置信息,构建文本框特征;将每一样本发票图像的多个文本框特征构建为样本数据,并为样本数据标注每一文本框特征对应的类别标签;根据多个已标注类别标签的样本数据,构造样本数据集。
[0137]
于一实施例中,装置700还包括:处理模块,用于获取若干初始发票图像,并对若干初始发票图像进行数据增强处理,获得若干样本发票图像。
[0138]
本技术实施例还提供了一种计算机可读存储介质,包括:程序,当其藉由电子设备100运行时,使得电子设备100可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)等。存储介质还可以包括上述种类的存储器的组合。
[0139]
上述装置中各个模块的功能和作用的实现过程具体详见上述发票信息的抽取方法中对应步骤的实现过程,在此不再赘述。
[0140]
在本技术所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0141]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0142]
以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献