InvoiceNet:从发票单据中提取信息的神经网络

2020-08-14 23:06:06

InvoiceNet的标识是由Sidhant Tibrewal设计的。看看他的作品,看看有没有更漂亮的设计。

一些一般发票字段的预先培训模型目前不可用,但很快就会提供。培训GUI和数据准备脚本已经可用。

发票文档包含敏感信息,因此很难收集到相当大的数据集,这使得像我们这样的开发人员很难训练大规模的通用模型并将其提供给社区。

如果您有适合与我们共享的发票文档数据集,请联系我们([email protected])。我们拥有创建第一个公开可用的大规模发票数据集的工具,以及用于结构化信息提取的软件平台。

Sh脚本将安装所有依赖项,创建虚拟环境,并在虚拟环境中安装InvoiceNet。

为了能够使用InvoiceNet,您需要获取安装包的虚拟环境。

推荐的方式是在蟒蛇环境中安装InvoiceNet及其依赖项:

Git克隆https://github.com/naiveHobo/InvoiceNet.git cd InvoiceNet/#创建Conda环境并激活conda create--name Invoicenet python=3.7conda激活Invoicenet#install InvoiceNetpip install。#install popplerconda install-c conda-forge Poppler

培训数据必须排列在单个目录中。发票文档应该是PDF文件,并且每张发票都应该有一个名称相同的相应JSON标签文件。您的培训数据应采用以下格式:

要开始数据准备过程,请单击GUI中的准备数据按钮,或者如果您正在使用CLI,请按照下面的说明进行操作。

#在文件末尾添加以下行#例如,添加字段total_mount field[";total_mount";]=field_type[";mount";]#例如,添加字段INVOICE_DATE FILES[";INVOICE_DATE";]=field_Types[";date";]#例如,添加字段Tax_id(可能是可选的)field[";Tax_id&。]=field_type[";可选";]#例如,要添加字段VANDER_NAME字段[";VADVER_NAME";]=FIELD_TYPE[";General";]。

InvoiceNet为您提供了一个GUI,用于根据您的数据训练模型,并使用这个训练好的模型从发票文档中提取信息。

您需要首先准备用于培训的数据。您可以通过将数据文件夹字段设置为包含培训数据的目录并单击准备数据按钮来执行此操作。准备好数据后,您可以通过单击开始按钮开始培训。

Python Training.py--字段Enter-field--此处--Batch_Size 8#例如,字段';Total_Amount';Python Training.py--字段Total_Amount--Batch_Size 8。

Python predict.py--字段Enter-field-here--Invoice-file#例如,从发票文件Invoices/1.pdfpython forect.py--字段Total_Amount--Invoice Invoices/1.pdf提取字段Total_Amount。

要使用经过训练的InvoiceNet模型提取信息,您只需按以下格式将PDF发票文档放在一个目录中:

Python forect.py--字段Enter-field-here--data_dir forecast_data/#例如,对于字段';total_mount';python forect.py--field total_mount--data_dir forecast_data/。

这种实现很大程度上基于R.Palm等人的工作,如果在科学出版物(或之前的会议论文)中使用了他们的工作,则应该引用他们的工作:

[1]Palm、Rasmus Berg、Florian Laws和Ole Winther。参加、复制、解析从文档中端到端的信息提取。";2019年国际文档分析与识别会议(ICDAR)。IEEE,2019年。

@inProcese{palm2019attendent,title={出席,复制,解析从文档中端到端的信息提取},作者={Palm,Rasmus Berg and Laws,Florian and Winther,OLE},booktitle={2019国际文档分析与识别会议(ICDAR)},页数={329--336},年份={2019},组织={IEEE}}。

基于Cloudscan-一种使用递归神经网络的免配置发票分析系统,这里提供了一个劣质(也略有损坏)发票处理系统的实现。

[2]棕榈法、Rasmus Berg法、Ole Winther法和弗洛里安法。Cloudscan-使用递归神经网络的免配置发票分析系统。2017年第14届IAPR国际文件分析与识别会议(ICDAR)。第一卷,IEEE,2017年。

@inProcese{palm2017cloudscan,title={Cloudscan-使用递归神经网络的免配置发票分析系统},作者={Palm,Rasmus Berg and Winther,OLE and Laws,Florian},booktitle={2017第14届IAPR国际文档分析与识别会议(ICDAR)},卷={1},页={406--413},年份={2017},组织={IEEE}}