具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明的描述中,“模板”是开发者为“信息抽取”功能提供的文本表达式。利用这个表达式,去匹配文本的若干片段、提取信息。对于本发明实施例提供的模板,需要了解如下必要的语法:
1、“中括号”[]代表严格匹配,匹配的内容可以是预先在资源中定义好的“词表”、“正则表达式”,也可以是需要匹配的短语。
2、“尖括号”<>代表模糊匹配。模糊匹配是与严格匹配相对应的概念。严格匹配要求待匹配的文本与指定的匹配内容必须完全一致。模糊匹配则只要两者语义接近即可,即相似度需大于设定阈值。
3、符号<*>代表匹配任意长度的文本片段。
4、模板中需要匹配{,},[,],<,>,|,{,},*时,使用“\”转义。
5、^:只能出现在模板首部,用于定义模板必须从头匹配。
6、$:只能出现在模板尾部,用于定义模板必须匹配到结尾。
本发明的描述中,“字段”是针对模版抽取出来的关键信息,取的特定于当前信息抽取任务的名字,该名字一般由用户指定。
本发明的描述中,“词表”是一个由<词表名称、词表值、词表值的多种说法>构成的信息结构体。一个词表描述了与开发者所在领域强相关的、相对比较固定的一类以词汇形式存在的“外部知识”。
本发明的描述中,术语“正则表达式”是对字符串操作的一种逻辑公式,描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
本发明实施例公开了一种基于RPA及AI的表格信息抽取方法、装置、设备及介质。以下分别进行详细说明。
实施例一
机器人流程自动化(Robotic Process Automation)简称RPA,是通过特定的“机器人软件”,模拟人在计算机上的操作,按规则自动执行流程任务。
AI(Artificial Intelligence)是人工智能的英文缩写,它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
随着互联网技术的不断发展,会积累出海量的文本数据,这些数据包含无结构化数据以及结构化数据。对于无结构化数据,比如说文本、图片以及视频等,对于结构化数据比如说表格数据等,都需要花费大量的人力物力去从这些海量数据集中提取有用的信息。
对于企事业单位而言,每天都可能面临海量的表格数据。对于从这些表格数据中正确提取有用的信息,并将其录入到指定系统这一流程,单纯地依靠人力不仅需要投入非常昂贵的代价,而且在很多时候极有可能出现错误,带来难以估量的损失。因此,基于这种考虑,本实施例提出了一种基于RPA+AI的表格信息抽取方法,以实现表格信息抽取和表格信息的自动录入。图1a为本发明实施例一提供的基于RPA+AI相结合的方式进行表格信息抽取和录入的流程图,下面对图1a中的各个步骤进行介绍:
110、借助RPA技术将表格文件转换为图片。
本实施例中,可利用传统方式通过编写大量的代码和规则进行文件的解析。但是由于表格形式的多样性,传统方式容易导致解析程序和规则在很多情况下不能复用,加大了开发成本。本实施例中,为了解决上述问题,可在自动化服务平台,例如Uibot软件,通过采用搭建流程的方式自动将表格文件转化为图片。
120、对生成的图片进行OCR识别。
本实施例中,可利用OCR(Optical Character Recognition,光学字符识别)技术对图片进行识别。在经过OCR识别之后,将返回每一个单元格的内容以及每一个单元格在表格中的位置信息,该位置信息包括开始行索引、开始列索引、结束行索引和结束列索引等信息。
130、自动生成表格信息抽取模板。
步骤130是本发明实施例的重点,即根据表格图片的OCR识别结果自动生成表格信息抽取的模版。本实施例中,表格信息抽取模板与表格类型相对应。对于不同类型的表格,可通过调用不同的模板接口生成与表格类型对应的信息抽取模板。下面,将从以下两个方面对自动生成表格信息抽取模板这一步骤来进行解析:
a、表格格式为左右key-value形式,如下表1所示,下述表1的表格类型可认为是一种左右一对一形式的表格,即需要抽取的字段在左边,比如说姓名,而对应的value在右边,比如说张三。在对包含有表1的图片进行OCR识别之后,可得到每一个单元格对应的行列索引(行列索引从0开始计算),比如对于单元格“姓名”,其对应的行列索引分别为0,0,对于单元格“安徽省合肥市”对应的行列索引为1,5。
表1个人信息表
本实施例中,在生成信息抽取模板前,用户可根据表格中的键值对建立想要抽取的字段,比如针对上述表1,用户需要抽取的字段可包括:姓名、年龄、性别、民族、籍贯、出生年月、出生地、学历、硕士和现居住城市等。图1b为本发明实施例一提供的一种字段建立界面示意图。如图1b所示,该界面中示出了用户建立的如下部分字段:“出生地”、“姓名”、“学历”、“年龄”和“籍贯”。
本实施例中,对于左右一对一类型的表格,其对应的信息抽取模板是按行生成的。在生成信息抽取模板时,需将表格中各单元格的内容按照在表格内行和列的位置信息进行拼接。对于拼接后内容中的每一行内容,均包括每个单元格的位置信息及内容。
对于每一行内容对应的信息抽取模板的生成过程可以为:可将拼接后内容中各个键的位置信息,作为信息抽取模板中键的位置信息;将拼接后内容中的各个键,作为信息抽取模板中的键;将拼接后内容中各个键值对的值的位置信息作为信息抽取模板中待抽取值的位置信息。此外,对于信息抽取模板各个键值对的键及其位置信息,以及待抽取的各个键值对的值的位置信息,需为其添加对应的语法标识,以用于后续表格内容的提取。
具体的,对于上述表1中的第一行内容,对应的信息抽取模板为:
[@R0@C0-]<姓名>[@R0@C1-]{姓名:<*:0,>}[@R0@C2-]<年龄>[@R0@C3-]{年龄:<*:0,>}[@R0@C4-]<性别>[@R0@C5-]<*:0,>[@R0@C6-]<民族>[@R0@C7-]<*:0,>[\n]。
对于上述表1中的第二行内容,对应的信息抽取模板为:
[@R1@C0-]<籍贯>[@R1@C1-]{籍贯:<*:0,>}[@R1@C2-]<出生年月>[@R1@C3-]<*:0,>[@R1@C4-]<出生地>[@R1@C5-]{出生地:<*:0,>}[\n]。
对于上述表1中的第三行内容,对应的信息抽取模板为:
[@R2@C0-]<学历>[@R2@C1-]<{学历:<*:0,>}[@R2@C2-]<现居住城市>[@R2@C3-]<*:0,>[\n]。
具体的,图1c为本发明实施例一提供的一种发布前的信息抽取模板的界面示意图。如图1c所示,对于上述表1中的第三行内容,匹配文本一栏对应表格中的每个节点,即表格中每个键值对。用户可对生成的每一个节点选择是否输出到指定的字段,比如在表格第一行中,如果用户想要抽取姓名和年龄,那么在下方输出到字段选择姓名和年龄即可。对于用户不想抽取的表格内容,则在输出到字段中选择“不输出”即可。
图1d为本发明实施例一提供的一种发布后的信息抽取模板的界面示意图。本实施例中,在生成每一行内容对应的信息抽取模板之后,如果接收到用户触发的模板发布指令,则将最终展示的与上述表1对应的信息模版展示给用户。此外,用户可以对图1d中的任意一个模板进行编辑、复制和删除等操作。
b、表格格式为上下key-value形式,如下表2所示。
表2项目信息表
对于上述上下形式的表格形式,将分为两种情况进行考虑:
(1)上下形式表格中需要抽取的value中第一列是不可枚举或者是无规律,即不能通过建立词表或者是不能采用正则表达式的方式表示出来。
对于上述情况,首先需指定一个预设标准模板,用于匹配上述表2中的key,即匹配表格中的“项目”、“附注”、“2020年半年度-金额”和“2019年半年度-金额”。以上述表2为例,预设标准模版为:
[@R0@C0-]<项目>[@R0@C1-]<附注>[@R0@C2-]<2020年半年度>[@R0@C3-]<2019年半年度>
然后,将表格中各单元格的内容按照所在行的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配,如果匹配成功,则可确定表格中的键,以及待抽取的值在表格中的开始位置信息和结束位置信息,并可记录相匹配的列的个数cols。通过按行对OCR识别结果进行遍历,如果表格中列的个数也为cols,则引入一个辅助变量@Frow_n-,其中row_n代表的是行数,并建立模板。其中,辅助变量用于在表格内容抽取时将不同行的内容进行区分。
具体的,图1e为本发明实施例一提供的发布后上下一对多类型的表格对应的信息抽取模板的界面示意图。对于上述表2,如果用户预先设定抽取的字段为项目、2019年半年度-金额以及2020年半年度-金额,则生成的信息抽取模板如图1e所示。其中,F0为辅助变量。用户可在发布前的显示界面选择抽取的表格内容是否输出到字段。并且,用户也可在图1e所示的界面对生成的信息抽取模板进行编辑、复制和删除等操作。
(2)上下形式表格中需要抽取的value中第一列是可枚举或者是可采用正则表达式表示。
对于这种情况,需判断表格中待抽取的内容是否属于预设词表,如果不属于预设词表,则停止生成信息抽取模板的操作;如果属于预设词表,则再将拼接后内容与预设标准模板进行匹配。如果匹配成功,则可得到相匹配的列的个数,接下来可基于与预设标准模板相匹配的键及该键在表格中的位置信息,生成信息抽取模板。
具体的,上述表2对应的信息抽取模板为:
[@R1@C0-]{项目:[@V_D]}[@R1@C1-]{附注<*:0,>}[@R1@C2-]{2020年半年度:<*:0,>}[@R1@C3-]{2019年半年度:<*:0,>}[\n]。
上述信息抽取模板中,由于第一列是可以根据正则表达式进行表示,则可以将上面的词表替换成正则表达式V_D。
本实施例提供的表格信息抽取模板的生成方法,避免了人工在进行表格信息抽取时,人力成本较大且准确性较差的问题,并且相对于采用人工干预总结各类表格的匹配规则的方式,本实施提供的方法无需研发人员总结不同的规则,通用性较强。
140、基于生成的模板进行表格信息抽取。
150、利用RPA技术将抽取信息自动录入系统。
本实施例中,可利用自动化服务平台,例如Uibot软件,采用搭建流程的方式实现信息的自动录入。相对于采用人工或者是通过编程进行信息录入的传统方式,本实施例提供的录入方式具备较高的通用性,在很大程度上降低了人工成本和维护成本。
实施例二
图2为本发明实施例二提供的一种基于RPA及AI的表格信息抽取方法的流程示意图。该方法可应用于表格数据的筛选、录入系统等应用场景下,可由基于RPA及AI的表格信息抽取装置来执行,该装置可通过软件和/或硬件的方式实现。如图2所示,本实施例提供的方法具体包括:
210、将包含有表格的文件转化为图片。
其中,包含有表格的文件可以为Word文档、Excel文档或PDF文档等。本实施例中,可采用RPA技术将包含有表格的文件转化为图片。这样设置,可将表格内容与其在表格中的位置信息固化到一起。如果采用直接识别文件中的表格来生成信息抽取模板的方式,容易将表格中的内容识别为文件中的正文,从而造成表格中数据信息的丢失。同时由于表格形式的多样性,直接识别表格内容也会导致用于识别表格内容的解析程序和规则在很多情况下不能复用,导致开发成本的增加。本实施例采用先将包含有表格的文件转化为图片,然后再识别图片中的表格的方式,提高了表格数据的可靠性,并且有助于提高信息抽取模板的通用性。
220、识别图片中的表格,并根据识别结果生成与表格类型对应的信息抽取模板。
示例性的,可采用OCR(Optical Character Recognition,光学字符识别)技术对图片进行识别,其识别结果包括表格中每个单元格的内容,及各单元格在表格中的位置信息。其中,各单元格在表格中的位置信息包括开始行索引、开始列索引、结束行索引和结束列索引等。
本实施例中,表格类型可由表格内各个键值对之间的位置关系和对应关系来确定。对于不同类型的表格,可通过调用不同的模板接口生成与表格类型对应的信息抽取模板。在调用不同的模板接口之前,用户可根据表格中的键值对信息指定想要抽取的字段。在生成信息抽取模板后,用户还可通过触发字段输出指令,来选择所抽取的表格内容是否输出。
本实施例中,对于任意一种类型的表格,可根据表格中各单元格的内容及各单元格在表格中的位置信息,生成与表格类型对应的信息抽取模板。该信息抽取模板中包含有表格内各个键值对的键及其位置信息,以及待抽取的各个键值对的值的位置信息。
具体的,以上述表1为例,对于用户预先设定抽取的字段为姓名、年龄、性别和民族信息,构建的信息抽取模板如下:
[@R0@C0-]<姓名>[@R0@C1-]{姓名:<*:0,>}[@R0@C2-]<年龄>[@R0@C3-]{年龄:<*:0,>}[@R0@C4-]<性别>[@R0@C5-]<*:0,>[@R0@C6-]<民族>[@R0@C7-]<*:0,>[\n]
上述信息抽取模板中,[@R0@C0-]<姓名>表示表格中的“姓名”所在的行列信息为第零行第零列;[@R0@C1-]{姓名:<*>}表示“姓名”对应的值的内容所在的行列信息为第零行第一列。其他待抽取的字段,如年龄、性别和民族等,在信息抽取模板中的表示方式与上述姓名的表示方式类似,此处不再赘述。
需要说明的是,对于生成的信息抽取模板,可为其添加一些特殊的语法标识,这些标识是根据表格属性来确定的,例如,对于表格中单元格所在的位置信息,为其添加中括号[],例如上述模板中的[@R0@C0-]。对于表格中键值对的键,为其添加尖括号<>,例如上述模板中的<姓名>。对于表格中待抽取的键值对的值,将其用尖括号内星号的形式表示,例如<*>,并为待抽取的值和其对应的键用冒号“:”隔开。如果待抽取的值需要输出到字段,则为每对键值对添加大括号,例如上述模板中的{姓名:<*:0,>}。如果用户设置了待抽取的值无需输出到字段,则无需添加上述大括号。
此外,本实施例中,信息抽取模板中的语法标识均具有一定的预设含义,例如,中括号代表严格匹配,即判断进行匹配的字符串是否相同;尖括号代表模糊匹配,即判断进行匹配的内容的相似度是否大于设定阈值。在利用信息抽取模板进行表格内容的抽取时,需按照标识所代表的预设含义将信息抽取模板中的内容与图片的识别结果进行匹配。
还需要说明的是,为了保证信息抽取模板的准确性,以保证后续表格内容抽取的准确性,本实施例可将信息抽取模板中各个键值对的位置信息以正则表达式的形式进行表示。这样设置,可避免由于OCR识别结果中单元格的行列信息错乱,所导致的无法准确提取表格内容的问题。
进一步的,在生成信息抽取模板后,用户可以根据自动生成的模版进行相关的调试,例如,可对模板进行编辑、复制和删除等操作。
230、按照信息抽取模板,从识别结果中抽取表格内容。
在信息抽取模板生成后,用户可调用信息抽取引擎接口进行信息抽取。
具体的,在按照信息抽取模板在进行表格信息的抽取时,可将该信息抽取模板中的所有内容与OCR识别结果进行匹配,直到匹配成功。
具体的,在匹配过程中,需按照信息抽取模板中的语法标识所对应的预设含义进行匹配,例如,判断中括号中的字符串与OCR识别结果中单元格位置信息所对应的字符串是否相同;或者,判断尖括号中的内容与OCR识别结果中键值对的键的相似度是否大于设定阈值。如果字符串相等或者文本的相似度大于设定阈值,则说明匹配成功。在匹配成功后,可从识别结果中提取出待抽取的表格内容。
本实施例提供的技术方案,在进行表格信息抽取时,可将包含有表格的文件转化为图片,以将表格内单元格的内容与表格关联到一起。通过识别图片中的表格,可根据识别结果生成与表格类型对应的信息抽取模板,该信息抽取模板中包含有表格内各个键值对的键及其位置信息,以及待抽取的各个键值对的值的位置信息。按照该信息抽取模板,可从识别结果中抽取表格内容。通过采用上述技术方案,避免了人工在进行表格信息抽取时,人力成本较高且准确性较差的问题。并且,相对于采用人工干预总结各类表格的匹配规则的方式,本实施提供的方法无需研发人员总结不同的规则,通用性较强。
实施例三
图3为本发明实施例三提供的一种优选的基于RPA及AI的表格信息抽取方法的流程图,本实施例在上述实施例的基础上,对表格类型为左右一对一格式对应的信息抽取模板的生成过程进行了详细介绍。其中,该左右一对一格式的表格中各个键值对的键与值是左右位置关系,且键与值是一对一的关系。如图3所示,该方法包括:
310、将包含有表格的文件转化为图片。
320、对图片进行光学字符OCR识别,得到识别结果,该识别结果包括各表格中每个单元格的内容,及各单元格在表格中的位置信息。
330、将表格中各单元格的内容按照在表格内行和列的位置信息进行拼接。
对于图片中的表格,在经过OCR识别后,每个单元格的行列索引及其单元格之间的对应关系均已得到确定。本实施例中,在将表格中各单元格的内容按照其在表格内行和列的位置信息进行拼接后,拼接后内容以字符串的形式体现。
340、对于表格中的每一行内容,基于拼接后内容,生成与表格类型对应的第一信息抽取模板。
本实施例中,对于左右一对一格式的表格,需要抽取的字段在左边,比如上表1中的“姓名”,而对应的value在右边,比如说“张三”。
需要说明的是,本实施例中,左右一对一类型的表格所对应的第一信息抽取模板,是基于表格中每一行的内容生成的,即对于表格中每一行的内容,都会对应生成一个第一信息抽取模板,也即表格的行数与第一信息抽取模板的个数相等。相对于将表格中每个键值对均生成一个模板的方式,本实施例这样设置,可减少信息抽取模板的个数,提高了模板生成的速度。
具体的,在将表格中各单元格的内容按照在表格内行和列的位置信息进行拼接后,对于拼接后内容中的每一行内容,均包括每个单元格的位置信息及内容。对于每一行内容对应的第一信息抽取模板的生成过程可以为:可将拼接后内容中各个键的位置信息,作为第一信息抽取模板中键的位置信息;将拼接后内容中的各个键,作为第一信息抽取模板中的键;将拼接后内容中各个键值对的值的位置信息作为第一信息抽取模板中待抽取值的位置信息。此外,对于第一信息抽取模板各个键值对的键及其位置信息,以及待抽取的各个键值对的值的位置信息,需为其添加对应的语法标识,以用于后续表格内容的提取。
具体的,对于上述表1中的第一行内容,对应的第一抽取模板为:
[@R0@C0-]<姓名>[@R0@C1-]{姓名:<*:0,>}[@R0@C2-]<年龄>[@R0@C3-]{年龄:<*:0,>}[@R0@C4-]<性别>[@R0@C5-]<*:0,>[@R0@C6-]<民族>[@R0@C7-]<*:0,>[\n]。
对于上述表1中的第二行内容,对应的第一抽取模板为:
[@R1@C0-]<籍贯>[@R1@C1-]{籍贯:<*:0,>}[@R1@C2-]<出生年月>[@R1@C3-]<*:0,>[@R1@C4-]<出生地>[@R1@C5-]{出生地:<*:0,>}[\n]。
对于上述表1中的第三行内容,对应的第一抽取模板为:
[@R2@C0-]<学历>[@R2@C1-]<{学历:<*:0,>}[@R2@C2-]<现居住城市>[@R2@C3-]<*:0,>[\n]。
350、按照第一信息抽取模板,从识别结果中抽取表格内容。
本实施例在上述实施例的基础上,对表格类型为左右一对一格式的表格所对应的第一信息抽取模板的生成过程进行了细化,通过将表格中各单元格的内容按照在表格内行和列的位置信息进行拼接,并基于拼接后内容生成与表格中每一行内容对应的第一信息抽取模板,避免了人工在进行表格信息抽取时,人力成本较高且准确性较差的问题,并且相对于采用人工干预总结各类表格的匹配规则的方式,本实施提供的方法无需研发人员总结不同的规则,通用性较强。
实施例四
图4为本发明实施例四提供的一种优选的基于RPA及AI的表格信息抽取方法的流程图,本实施例在上述实施例的基础上,对表格类型为上下一对一格式所对应的信息抽取模板的生成过程进行了详细介绍。其中,该上下一对多格式的表格中各个键值对的键与值是上下位置关系,且键与值是一对多的关系。需要说明的是,上下一对多格式的表格类型包括如下两种情况:1、表格中需要抽取的value中第一列是不可枚举或者是无规律,即不能通过建立词表或者是不能采用正则表达式的方式表示出来;2、表格中需要抽取的value中第一列是可枚举或者是可采用正则表达式表示。本实施例中,先对上述第一种情况进行详细介绍。如图4所示,本实施例提供的基于RPA及AI的表格信息抽取方法包括:
410、将包含有表格的文件转化为图片。
420、对图片进行光学字符OCR识别,得到识别结果,该识别结果中包括各表格中每个单元格的内容,及各单元格在表格中的位置信息。
430、如果未检测到预设词表,则将表格中各单元格的内容按照所在行的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配。
本实施例中,预设词表中包含有用户预先设定抽取的表格中的所有内容。如果未检测到预设词表,则说明表格中需要抽取的value中第一列是不可枚举或者是无规律的。
本实施例中,信息抽取模板与表格类型相对应,通用性较强,即如果图片中存在多个相同类型的表格,通过本实施例提供的方法,可为多个同类型的表格生成同一个信息抽取模板。按照该模板,可将多个同类型的表格中的内容都提取出来,提高了后续表格内容提取的速度。
本实施例中,预设标准模板中包括用户预先设定抽取的键值对的键。该预设标准模板中键值对的键及其位置信息的语法标识与本发明实施例中信息抽取模板中键及其位置信息的语法标识相同。具体的,对于上述表2,对应的预设标准模板如下:
[@R0@C0-]<项目>[@R0@C1-]<附注>[@R0@C2-]<2020年半年度>[@R0@C3-]<2019年半年度>
本实施例中,将表格中各单元格的内容按照所在行的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配,这样设置,是为了从识别结果中确定用户预先设定抽取的内容所对应的键,并可确定待抽取的值在表格中的开始位置信息和结束位置信息。
440、如果匹配成功,则将表格内与预设标准模板相匹配的键所对应的列的个数作为第一目标个数。
具体的,以上述表2对应的预设标准模板为例,如果匹配成功,则第二目标个数为4。
此外,将拼接后内容与预设标准模板的内容进行匹配,在匹配成功后,表格中每个键所对应的值,以及待抽取的内容所在行的开始位置信息和结束位置信息也得到了确定。
450、对表格按行进行遍历,将表格中列的个数作为第一标准个数。
460、如果第一标准个数与第一目标个数相匹配,则在表格中第一列单元格之前添加辅助变量。
本实施例中,表格中第一列单元格之前添加辅助变量是为了将表格中不同行的内容区分开,以避免在信息抽取时将下一行的内容当做当前行的内容进行抽取。
470、基于辅助变量,以及与预设标准模板相匹配的键及该键在表格中的位置信息,生成表格类型对应的第二信息抽取模板。
其中,第二信息抽取模板中包含有辅助变量、相匹配的键及其位置信息,以及表格中待抽取的各个键值对的值的位置信息。
具体的,第二信息抽取模板的生成过程具体可以为:将辅助变量添加到第二信息抽取模板的开始位置;将相匹配的各个键的位置信息,作为第二信息抽取模板中键的位置信息;将相匹配的各个键,作为第二信息抽取模板中的键;将各个键对应的待抽取的值的位置信息作为第二信息抽取模板中待抽取值的位置信息。此外,对于生成的第二信息抽取模板,为各个键值对的键及其位置信息,以及待抽取的各个键值对的值的位置信息,添加对应的语法标识,以用于后续表格内容的抽取。其中,第二信息抽取模板所涉及到的语法标识与第一信息抽取模板中提及的语法标识的含义相同,本实施例不再赘述。
具体的,对于上述表2,如果用户想抽取的字段为项目、附注、2019年半年度-金额和2020年半年度-金额,则生成的第二信息抽取模板为:
[Fi][@R1@C0-]{项目:<*:0,>}[@R1@C1-]{附注<*:0>}[@R1@C2-]{2020年半年度-金额:<*:0,>}[@R1@C3-]{2019年半年度:<*:0,>}[\n]。
480、按照第二信息抽取模板,从识别结果中抽取表格内容。
本实施例在上述实施例的基础上,对表格类型为上下一对多格式,且需要抽取的value中第一列是不可枚举或者是无规律的表格所对应的第二信息抽取模板的生成过程进行了细化。通过将表格中各单元格的内容按照所在行的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配,如果匹配成功,可得到待抽取的value所在表格中的开始位置信息和结束位置信息。对表格按行进行遍历,如果表格中列的个数与预设标准模板中键的个数相匹配,则在表格中第一列单元格之前添加辅助变量,以将表格中各行内容区分开。基于辅助变量和相匹配的键及其位置信息,可生成表格类型对应的第二信息抽取模板,避免引入过多的人工干预,并且相对于采用人工干预总结各类表格的匹配规则的方式,本实施提供的方法无需研发人员总结不同的规则,通用性较强。
实施例五
图5为本发明实施例五提供的一种优选的基于RPA及AI的表格信息抽取方法的流程图,本实施例对上述实施例的基础上,对表格中需要抽取的value中第一列是可枚举或者是可采用正则表达式表示的情况进行详细介绍。如图5所示,本实施例提供的基于RPA及AI的表格信息抽取方法包括:
510、将包含有表格的文件转化为图片。
520、对图片进行光学字符OCR识别,得到识别结果,该识别结果中包括各表格中每个单元格的内容,及各单元格在表格中的位置信息。
530、如果检测到预设词表,则将表格中各个键值对的值与预设词表的内容进行匹配。
本实施例中,对于value可枚举的情况,需判断表格中待抽取的内容是否属于预设词表,如果属于预设词表,则再进行单元格内容的拼接操作;如果不属于预设词表,则停止生成信息抽取模板的操作。
540、如果匹配成功,则将表格中各单元格的内容按照所在行的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配。
其中,标准模板中包括用户预先设定抽取的键值对的键。具体匹配方法与上述实施例中提到的匹配方法相同,此处不再赘述。
550、如果匹配成功,则将表格内容与预设标准模板相匹配的键所对应的列的个数作为第二目标个数。
560、对表格按行进行遍历,将表格中列的个数作为第二标准个数。
570、如果第二标准个数与第二目标个数相匹配,则基于与预设标准模板相匹配的键及该键在表格中的位置信息,生成表格类型对应的第三信息抽取模板。
其中,第三信息抽取模板中包含有与预设标准模板相匹配的键及该键在表格中的位置信息,以及所述表格中待抽取的各个键值对的值的位置信息。与第二信息抽取模板不同的是,第三信息抽取模板中无需添加辅助变量,除此之外,生成第三信息抽取模板的方法与第二信息抽取模板的生成方式类似,此处不再赘述。
具体的,对于上述表2,生成的第三信息抽取模板为:
[@R0@C0-]{项目:[@V_D]}[@R0@C1-]{附注<*:0,>}[@R0@C2-]{2020年半年度:<*:0,>}[@R0@C3-]{2019年半年度:<*:0,>}[\n]。
上述第三信息抽取模板中,由于第一列是可以根据正则表达式进行表示,则可以将上面的词表替换成正则表达式V_D。
580、按照第三信息抽取模板,从识别结果中抽取表格内容。
本实施例在上述实施例的基础上,对表格类型为上下一对多格式,且需要抽取的value中第一列是可枚举,即可以用词表的形式表示出来的表格所对应的第三信息抽取模板的生成过程进行了细化。与上述第二信息抽取模板不同的是,第三信息抽取模板的生成过程无需添加辅助变量,但需要判断待抽取的值是否属于预设词表,如果属于预设词表,则基于相匹配的键及其位置信息,可生成表格类型对应的第三信息抽取模板。本实施例这样设置,避免引入过多的人工干预,并且相对于采用人工干预总结各类表格的匹配规则的方式,本实施提供的方法无需研发人员总结不同的规则,通用性较强。
实施例六
图6为本发明实施例六提供的一种优选的基于RPA及AI的表格信息抽取方法的流程图。本实施例对表格类型为左右一对多格式对应的信息抽取模板的生成进行了详细介绍。其中,该左右一对多格式的表格中各个键值对的键与值是左右位置关系,且键与值是一对多的关系。本实施例中需要抽取的value中第一列是不可枚举或者是无规律的。本实施例提供的第四信息抽取模板的生成方式,与上下一对多格式且需要抽取的value中第一列是不可枚举所对应的第二信息抽取模板的生成方式相类似,不同之处在于,由于表格中键值对之间的位置关系,本实施例在进行单元格内容拼接时是按列进行拼接,对表格遍历是按列进行遍历,从而确定表格内容行的个数。如图6所示,本实施例提供的基于RPA及AI的表格信息抽取方法包括:
610、将包含有表格的文件转化为图片。
620、对图片进行光学字符OCR识别,得到识别结果,该识别结果中包括各表格中每个单元格的内容,及各单元格在表格中的位置信息。
630、如果未检测到预设词表,则将表格中各单元格的内容按照所在列的位置信息进行拼接,并将拼接后内容与预设标准模板中的键进行匹配。
其中,标准模板中包括预先设定抽取的键值对的键。
640、如果匹配成功,则将表格内容与预设标准模板相匹配的键所对应的行的个数作为第三目标个数。
650、对表格按列进行遍历,确定表格内行的第三标准个数。
660、如果第三标准个数与第三目标个数相匹配,则在表格中各单元格之前添加辅助变量。
670、基于辅助变量、以及与预设标准模板相匹配的键及该键在表格中的位置信息,生成表格类型对应的第四信息抽取模板。
其中,第四信息抽取模板中包含有辅助变量、所述相匹配的键及其位置信息,以及表格中各个键值对的值的位置信息。第四信息抽取模板的具体生成过程与第二信息抽取模板的生成过程类似,具体可参阅上述第二信息抽取模板的生成过程,此处不再赘述。
680、按照第四信息抽取模板,从识别结果中抽取表格内容。
本实施例中,对于左右一对多格式,且第一列是不可枚举的类型表格,通过将表格中各单元格的内容按照所在列的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配,如果匹配成功,可得到待抽取的value所在表格中的开始位置信息和结束位置信息。对表格按列进行遍历,如果表格中行的个数与预设标准模板中键的个数相匹配,则在表格中第一列单元格之前添加辅助变量,以将表格中各行内容区分开。基于辅助变量以及表格内容与预设标准模板相匹配的键及其位置信息,可生成表格类型对应的第四信息抽取模板。通过采用上述技术方案,避免引入过多的人工干预,并且相对于采用人工干预总结各类表格的匹配规则的方式,本实施提供的方法无需研发人员总结不同的规则,通用性较强。
实施例七
图7为本发明实施例七提供的一种优选的基于RPA及AI的表格信息抽取方法的流程图。本实施例对表格类型为左右一对多格式对应的信息抽取模板的生成进行了详细介绍。其中,该左右一对多格式的表格中各个键值对的键与值是左右位置关系,且键与值是一对多的关系。本实施例中需要抽取的value中第一列是可以枚举的,即可以用词表的形式表示出来。本实施例提供的第五信息抽取模板的生成方式,与上下一对多格式且需要抽取的value中第一列可枚举的所对应的第三信息抽取模板的生成方式相类似,不同之处在于,由于表格中键值对之间的位置关系,本实施例在进行单元格内容拼接时是按列进行拼接。对表格遍历是按列进行遍历,从而确定表格内容行的个数。如图7所示,本实施例提供的基于RPA及AI的表格信息抽取方法包括:
710、将包含有表格的文件转化为图片。
720、对图片进行光学字符OCR识别,得到识别结果,该识别结果中包括各表格中每个单元格的内容,及各单元格在表格中的位置信息。
730、如果检测到预设词表,则将表格中各个键值对的值与预设词表的内容进行匹配。
740、如果匹配成功,则将表格中各单元格的内容按照所在列的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配。
其中,预设标准模板中包括预先设定抽取的键值对的键。
750、如果匹配成功,则将表格内容与预设标准模板相匹配的键所对应的行的个数作为第四目标个数。
760、对表格按列进行遍历,将表格中行的个数作为第四标准个数。
770、如果第四标准个数与第四目标个数相匹配,则基于与预设标准模板相匹配的键及该键在表格中的位置信息,生成表格类型对应的第五信息抽取模板。
其中,第五信息抽取模板中包含有与预设标准模板相匹配的键及其位置信息,以及表格中待抽取的各个键值对的值的位置信息。第五信息抽取模板的具体生成过程与第三信息抽取模板的生成过程类似,具体可参阅上述第三信息抽取模板的生成过程,此处不再赘述。
780、按照第五信息抽取模板,从识别结果中抽取表格内容。
本实施例在上述实施例的基础上,对表格类型为左右一对多格式,且需要抽取的value中第一列是可枚举,即可以用词表的形式表示出来的表格所对应的第五信息抽取模板的生成过程进行了细化。与上述第四信息抽取模板不同的是,第五信息抽取模板的生成过程无需添加辅助变量,但需要判断待抽取的值是否属于预设词表,如果属于预设词表,则可基于相匹配的键及其位置信息,生成表格类型对应的第四信息抽取模板。本实施例这样设置,避免引入过多的人工干预,并且相对于采用人工干预总结各类表格的匹配规则的方式,本实施提供的方法无需研发人员总结不同的规则,通用性较强。
实施例八
图8为本发明实施例八提供的一种基于RPA及AI的表格信息抽取装置的结构示意图,如图8所示,该装置包括:图片转化模板810、模板生成模块820和内容抽取模块830;其中,
图片转化模板810,被配置为将包含有表格的文件转化为图片;
模板生成模块820,被配置为识别所述图片中的表格,并根据识别结果生成与表格类型对应的信息抽取模板,所述信息抽取模板中包含有表格内各个键值对的键及其位置信息,以及待抽取的各个键值对的值的位置信息;
内容抽取模块830,被配置按照所述信息抽取模板,从所述识别结果中抽取表格内容。
可选的,所述模板生成模块820,包括:
图片识别单元,被配置为对所述图片进行光学字符OCR识别,得到识别结果,该识别结果包括各表格中每个单元格的内容,及各单元格在所述表格中的位置信息;
模板生成单元,被配置为对于任意一种类型的表格,根据表格中各单元格的内容及各单元格在所述表格中的位置信息,生成与表格类型对应的信息抽取模板。
可选的,表格类型包括左右一对一格式,该左右一对一格式的表格中各个键值对的键与值是左右位置关系,且键与值是一对一的关系;
相应的,所述模板生成单元,具体被配置为:
将表格中各单元格的内容按照在表格内行和列的位置信息进行拼接;
对于表格中的每一行内容,基于拼接后内容,生成与表格类型对应的第一信息抽取模板;
其中,第一信息抽取模板中包含有表格内每一行各个键值对的键及其位置信息,以及待抽取的各个键值对的值的位置信息。
可选的,表格类型包括上下一对多格式,该上下一对多格式的表格中各个键值对的键与值是上下位置关系,且键与值是一对多的关系;
相应的,所述模板生成单元,具体被配置为:
如果未检测到预设词表,则将表格中各单元格的内容按照所在行的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配,所述标准模板中包括预先设定抽取的键值对的键;
如果匹配成功,则将相匹配的键所对应的列的个数作为第一目标个数;
对表格按行进行遍历,将表格中列的个数作为第一标准个数;
如果第一标准个数与第一目标个数相匹配,则在表格中第一列单元格之前添加辅助变量,所述辅助变量用于在表格内容提取时将表格中各行内容进行区分;
基于所述辅助变量和所述相匹配的键及其位置信息,生成表格类型对应的第二信息抽取模板;
其中,第二信息抽取模板中包含有所述辅助变量、所述相匹配的键及其位置信息,以及表格中待抽取的各个键值对的值的位置信息。
可选的,表格类型包括上下一对多格式,该上下一对多格式的表格中各个键值对的键与值是上下位置关系,且键与值是一对多的关系;
相应的,所述模板生成单元,具体被配置为:
如果检测到预设词表,则将表格中各个键值对的值与所述预设词表的内容进行匹配;
如果匹配成功,则将表格中各单元格的内容按照所在行的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配,所述预设标准模板中包括预先设定抽取的键值对的键;
如果匹配成功,则将相匹配的键所对应的列的个数作为第二目标个数;
对表格按行进行遍历,将表格中列的个数作为第二标准个数;
如果第二标准个数与第二目标个数相匹配,则基于所述相匹配的键及其位置信息,生成表格类型对应的第三信息抽取模板;
其中,第三信息抽取模板中包含有所述相匹配的键及其位置信息,以及所述表格中待抽取的各个键值对的值的位置信息。
可选的,表格类型包括左右一对多格式,该左右一对多格式的表格中各个键值对的键与值是左右位置关系,且键与值是一对多的关系;
相应的,所述模板生成单元,具体被配置为:
如果未检测到预设词表,将表格中各单元格的内容按照所在列的位置信息进行拼接,并将拼接后内容与预设标准模板中的键进行匹配,所述预设标准模板中包括预先设定抽取的键值对的键;
如果匹配成功,则将相匹配的键所对应的行的个数作为第三目标个数;
对表格按列进行遍历,确定表格内行的第三标准个数;
如果第三标准个数与第三目标个数相匹配,则在表格中各单元格之前添加辅助变量,所述辅助变量用于在表格内容提取时将表格中各行内容进行区分;
基于所述辅助变量和所述相匹配的键及其位置信息,生成表格类型对应的第四信息抽取模板;
其中,第四信息抽取模板中包含有所述辅助变量、所述相匹配的键及其位置信息,以及所述表格中各个键值对的值的位置信息。
可选的,表格类型包括左右一对多格式,该左右一对多格式的表格中各个键值对的键与值是左右位置关系,且键与值是一对多的关系;
相应的,所述模板生成单元,具体被配置为:
如果检测到预设词表,则将表格中各个键值对的值与所述预设词表的内容进行匹配;
如果匹配成功,则将表格中各单元格的内容按照所在列的位置信息进行拼接,并将拼接后内容与预设标准模板的内容进行匹配,所述预设标准模板中包括预先设定抽取的键值对的键;
如果匹配成功,则将相匹配的键所对应的列的个数作为第四目标个数;
对表格按列进行遍历,将表格中行的个数作为第四标准个数;
如果第四标准个数与第四目标个数相匹配,则基于相匹配的键及其位置信息,生成表格类型对应的第五信息抽取模板;
其中,第五信息抽取模板中包含有所述相匹配的键及其位置信息,以及所述表格中待抽取的各个键值对的值的位置信息。
本发明实施例所提供的基于RPA及AI的表格信息抽取装置可执行本发明任意实施例所提供的基于RPA及AI的表格信息抽取方法,具备执行方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的基于RPA及AI的表格信息抽取方法。
实施例九
请参阅图9,图9为本发明实施例九提供的一种计算设备的结构示意图。如图9所示,该计算设备可以包括:
存储有可执行程序代码的存储器901;
与存储器901耦合的处理器902;
其中,处理器902调用存储器901中存储的可执行程序代码,执行本发明任意实施例所提供的基于RPA及AI的表格信息抽取方法。
本发明实施例还公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行本发明任意实施例所提供的基于RPA及AI的表格信息抽取方法。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。