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

数据标注、表格信息的提取方法、装置及电子设备与流程

2022-02-20 01:53:49 来源:中国专利 TAG:
1.本公开涉及人工智能和大数据领域,尤其涉及机器学习、深度学习、知识图谱、智能搜索和智能推荐等领域,可以用于表格信息的智能提取场景。
背景技术
::2.对人类而言,表格是一种直观、高效的数据表现形式,在各类文档中均有广泛应用。表格中蕴藏了大量的信息,十分值得深入挖掘。此外,不同于自由文本,表格中的数据是以半结构化的形式组织的,因此相比较于从自由文本中抽取信息,从表格中抽取到的信息可靠度更高,数据质量也更好。技术实现要素:3.本公开提供了一种数据标注方法、表格信息的提取方法、模型训练方法以及对应的装置、设备、存储介质以及计算机程序产品。4.根据本公开的一方面,提供了一种数据标注方法,包括:基于表格中多行单元格和/或多列单元格的特征进行聚类,以确定所述表格中的候选表头单元格;以及基于所述候选表头单元格,对所述表格进行数据标注,以将所述表格中的表头单元格和非表头单元格标注为不同的数据。5.根据本公开的另一方面,提供了一种表格信息的提取方法,包括:确定待处理的表格;以及利用表格信息提取模型,提取所述表格中的属性与对应的属性值对,其中,所述表格信息提取模型是基于标注数据训练得到的,所述标注数据是通过本公开实施例中的数据标注方法进行数据标注得到的。6.根据本公开的另一方面,提供了一种模型训练方法,包括:获取标注数据;以及利用所述标注数据,训练得到对应的表格信息提取模型,其中,所述标注数据是通过本公开实施例中的数据标注方法进行数据标注得到的。7.根据本公开的另一方面,提供了一种表格信息的提取装置,包括:聚类模块,用于基于表格中多行单元格和/或多列单元格的特征进行聚类,以确定所述表格中的候选表头单元格;以及数据标注模块,用于基于所述候选表头单元格,对所述表格进行数据标注,以将所述表格中的表头单元格和非表头单元格标注为不同的数据。8.根据本公开的另一方面,提供了一种表格信息的提取装置,包括:确定模块,用于确定待处理的表格;以及提取模块,用于利用表格信息提取模型,提取所述表格中的属性与对应的属性值对,其中,所述表格信息提取模型是基于标注数据训练得到的,9.所述标注数据是通过本公开实施例中的数据标注方法进行数据标注得到的。10.根据本公开的另一方面,提供了一种模型训练装置,包括:获取模块,用于获取标注数据;以及训练模块,用于利用所述标注数据,训练得到对应的表格信息提取模型,其中,所述标注数据是通过本公开实施例中的数据标注方法进行数据标注得到的。11.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所述的方法。12.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开实施例所述的方法。13.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例所述的方法。14.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。附图说明15.附图用于更好地理解本方案,不构成对本公开的限定。其中:16.图1示例性示出了适于本公开实施例的系统架构;17.图2示例性示出了根据本公开实施例的数据标注方法的流程图;18.图3示例性示出了根据本公开实施例的定位表头的原理图;19.图4示例性示出了根据本公开实施例的表格信息的提取方法的流程图;20.图5示例性示出了根据本公开实施例的模型训练方法的流程图;21.图6示例性示出了根据本公开实施例的数据标注装置的框图;22.图7示例性示出了根据本公开实施例的表格信息的提取装置的框图;23.图8示例性示出了根据本公开实施例的模型训练装置的框图;以及24.图9示例性示出了用来实现本公开实施例的电子设备的框图。具体实施方式25.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。26.应该理解,可以通过以下方式提取表格中的信息。27.(1)通过人工标注或配置规则抽取,即通过人工直接标注或通过观察数据的普遍特征而人工配置模板进行抽取。28.(2)通过外部数据源匹配抽取,即通过与外部数据源如预定知识库比对进行抽取。29.(3)针对特定格式的表格抽取,即要求表头在表格中的特定位置。30.(4)通过有监督的机器学习方法抽取,即通过标注数据训练模型进行抽取。31.(5)通过无监督的机器学习方法抽取,即设计手工特征,通过聚类等无监督方法进行抽取。32.其中,以上表格信息提取方式存在如下缺陷。33.方式(1)的主要缺点在于,一是人工标注成本较高,二是通过配置模板进行抽取,泛化能力较差,能够处理的场景非常有限,且表格数据间不具备可迁移性。34.方式(2)的主要缺点在于,对外部数据源的要求较高,需要外部数据源的覆盖度较高,因此仅适用于通用知识图谱等通用场景,不适用于行业知识图谱等非通用场景,且无法适应于表头丰富多样或表头中包含短句的应用场景。35.方式(3)的主要缺点在于,只能处理具有特定格式的表格,泛化性和表格数据间的可迁移性较差。36.方式(4)的主要缺点在于,需要耗费大量的人力成本来标注数据。37.方式(5)的主要缺点在于,对于不同的业务场景,或是不同的数据集,需要对特征权重进行手动调优。38.此外,应该理解,虽然表格中的数据是以半结构化化的形式进行组织的,但其结构形式及内容变化丰富,在不同的业务场景下,甚至在不同的数据集下,表格数据的结构形式及内容都可能有极大的区别。如表1中的数据大多为数字,而表2中的数据大多为长段文本,二者之间的差异极大。39.因此,如何开发一套通用的表格信息提取方法,用于有效进行低成本迁移,且在不同行业场景甚至不同数据集场景下能够以尽可能低的人工干预成本、有效地进行表格信息的提取是相关领域目前面临的一大难点。40.表141.全年应纳税所得额(第纳尔)税率0-1200000%120001-36000020%360001-144000030%1440000以上35%42.表2[0043][0044]此外,应该理解,得益于人工智能技术的发展,自然语言处理相关技术近些年得到了巨大的发展,传统的机器学习算法和近年来流行的深度学习算法都有其擅长的应用场景。传统机器学习算法的一大优点是,其使用的特征为人工特征(即人工手动提取/配置的特征),更具有解释性,更容易干预,更适用于数据特征明显的场景。与之对应,深度学习算法的一大优点是,一般无需设计手工特征,模型本身往往是一个优秀的特征提取器,因而更适用于难以发掘数据特征的场景。可见,二者各有所长,在一些任务场景下可以结合二者之所长更好地完成任务。[0045]因此,本公开实施例提供了一种解决方案,包括基于聚类的自动数据标注方法(属于传统的机器学习方法)、基于模型的表格信息的提取方法以及基于机器自动标注的数据进行的模型训练方法(属于深度学习方法)。其中,通过本公开实施例提供的数据标注方法,可以基于聚类方法以机器自动标注手段代替人工手动标注手段来实现数据标注,并为后续基于深度学习的模型训练提供标注数据,因而可以节约大量的人工标注成本。同时,本方案还可以结合传统的机器学习方法与深度学习方法之所长更好地完成任务。[0046]以下将结合附图和具体实施例详细阐述本公开。[0047]适于本公开实施例的相关方法和装置的系统架构介绍如下。[0048]图1示例性示出了适于本公开实施例的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他环境或场景。[0049]如图1所示,本公开实施例中系统架构100可以包括:终端设备101、终端设备102和终端设备103,以及数据库104。其中,终端设备101~终端设备103都可以包括客户端或服务端(如云服务端)。[0050]终端设备101可以用于执行本公开实施例提供的数据标注方法,以及用于部署本公开实施例提供的数据标注装置,以完成用于模型训练的数据标注。终端设备102可以用于执行本公开实施例提供的模型训练方法,以及用于部署本公开实施例提供的模型训练装置,以完成表格信息提取模型的训练。终端设备103可以用于执行本公开实施例提供的表格信息的提取方法,以及用于部署本公开实施例提供的表格信息的提取装置,以实现基于模型的表格信息提取。[0051]此外,在本公开实施例中,数据标注装置可以用于实现对应的数据标注方法。表格信息的提取装置可以用于实现对应的表格信息的提取方法。模型训练装置可以用于实现对应的模型训练。[0052]此外,在本公开实施例中,数据库104可以用于存储待处理的表格,和/或存储所提取的表格信息,如属性、属性值以及属性与对应属性值之间的映射关系等。[0053]应该理解,图1中的数据库和终端设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的数据库和终端设备。[0054]适于本公开实施例的相关方法和装置的应用场景介绍如下。[0055]应该理解,本公开实施例提供的相关方法和装置,可以用于表格信息提取模型的训练、相应标注数据的生成、以及表格信息的智能化提取场景。[0056]示例性的,本公开实施例提供的表格信息提取方法,可以在不依赖外部数据源和标注数据的情况下,从半结构化的表格数据中抽取出属性和对应的属性值(即可以提取属性-属性值对)以及其约束信息。[0057]如表1所示,可以抽取出:在属性“全年应纳税所得额(第纳尔)”对应的属性值为“0-120000”时,属性“税率”对应的属性值“0%”;在属性“全年应纳税所得额(第纳尔)”对应的属性值为“120001-360000”时,属性“税率”对应的属性值“20%”等信息。[0058]如表2所示,可以抽取出:在属性“部位”对应的属性值为“阀门各部件”,以及属性“检修内容”对应的属性值为“完整性和密封性”时,属性“工艺质量要求”对应的属性值为“应拆下阀门,检查转轴...”。其抽取得到的信息的含义为阀门各部件的完整性和密封性的工艺质量要求是应拆下阀门,检查转轴...。[0059]如表2所示,还可以抽取出:在属性“部位”的属性值为“密封”,属性“检修内容”的属性值为“渗漏”时,属性“工艺质量要求”的属性值为“检修后应做0.15mpa压力试验不渗漏...”,其抽取得到的信息的含义为密封渗漏的工艺质量要求是检修后应做0.15mpa压力试验不渗漏...。[0060]此外,从如表2所示的表格中还可以抽取其他信息,在此不再一一列举。[0061]可见,表1和表2的结构形式和内容存在较大区别。但是,本公开实施例提供的表格信息提取方法,可以针对不同表格抽取场景进行自适应调整,无需过多人工干预及标注数据即可应用于新的数据场景。[0062]进一步,本公开实施例提供的表格信息的抽取方法,能够有效帮助下游节点构建各类知识图谱(如包括通用知识图谱和行业知识图谱),进而能够有效帮助更下游的节点基于知识图谱完成对应的下游任务,如信息的智能检索、智能推荐和智能问答等,具有广泛的应用与落地前景。[0063]根据本公开的实施例,本公开提供了一种数据标注方法,用于生成表格信息提取模型训练所需的标注数据。[0064]图2示例性示出了根据本公开实施例的数据标注方法的流程图。[0065]如图2所示,数据标注方法200可以包括:操作s210~s220。[0066]操作s210,基于表格中多行单元格和/或多列单元格的特征进行聚类,以确定表格中的候选表头单元格。[0067]操作s220,基于候选表头单元格,对表格进行数据标注,以将表格中的表头单元格和非表头单元格标注为不同的数据。[0068]操作s210中,可以基于表格中多行单元格的行特征进行聚类,以确定表格中的候选列表头单元格。或者,操作s210中,可以基于表格中多列单元格的列特征进行聚类,以确定表格中的候选行表头单元格。或者,操作s210中,可以基于表格中多行单元格的行特征和多列单元格的列特征分别进行聚类,以确定表格中的候选表头单元格。此种情况下,确定的候选表头单元格可能仅包含候选列表头单元格,或者可能仅包含候选行表头单元格,或者可能同时包含候选列表头单元格和候选行表头单元格。[0069]操作s220中,可以基于通过操作s210确定的候选表头单元格,对待处理的表格进行数据标注,从而为表格中的表头单元格和非表头单元格分别标注上不同的数据。比如,表头单元格可以标注为1,非表头单元格可以标注为0。[0070]通过本公开实施例,可以自适应表格的结构特征,并通过无监督的聚类算法,针对不同类型的表格进行自动标注,从而生成对应的标注数据。该标注数据可以用于后续的模型训练任务。[0071]应该理解,与通过人工手动标注获得用于模型训练用的标注数据,需要耗费大量的人力成本相比,本公开实施例,通过基于单元格的聚类,可以自动生成标注数据,因而可以节约大量的人力成本,并且可以提高模型的产出效率。[0072]作为一种可选的实施例,其中,基于表格中多行单元格和/或多列单元格的特征进行聚类,以确定表格中的候选表头单元格,可以包括如下操作。[0073]针对表格的m行单元格中的每行单元格,基于行内各单元格的行特征进行聚类,以确定对应的候选列表头单元格。[0074]针对表格的n列单元格中的每列单元格,基于列内各单元格的列特征进行聚类,以确定对应的候选行表头单元格。[0075]适应性的,本实施例中,基于候选表头单元格,对表格进行数据标注,可以包括如下操作。[0076]在基于候选列表头单元格和候选行表头单元格确定表格为行表头表格的情况下,执行第一操作,其中,第一操作包括:基于候选行表头单元格,确定表格的至少一个表头行和至少一个非表头行;将至少一个表头行中每个表头单元格统一标注为标注一(如一个数字),将至少一个非表头行中每个非表头单元格统一标注为标注二(如另一个数字)。[0077]作为一种可选的实施例,上述操作所针对的表格为以二维矩阵形式组织的表格。在二维矩阵形式组织的表格中,不包含合并的单元格,只包含基础单元格,且每个单元格的位置可以用一个二维数组表示。如表3所示,该表格即为二维矩阵形式组织的表格。该表格还可以表达为html格式或其他特殊的结构体。[0078]表3[0079]项目名称建设费信息行政管理系统1000[0080]示例性的,表3可以表达为:[0081]<table>[0082]<tr><td>项目名称</td><td>建设费</td></tr>[0083]<tr><td>信息行政管理系统</td><td>1000</td></tr>[0084]</table>[0085]示例性的,表3还可以表达为:[0086][(0,0,‘项目名称’),(0,1,‘建设费’),(1,0,‘信息行政管理系统’),(1,1,1000)][0087]需要说明的是,在本公开实施例中,如果待处理的表格是以二维矩阵形式组织的表格,则可以直接执行上述的操作以便对表格中的表头单元格和非表头单元格自动进行区别标注。如果待处理的表格不是以二维矩阵形式组织的表格,比如待处理的表格是如表4所示的表格,则可以先对待处理的表格进行预处理操作,之后再对处理后的表格执行上述操作以便对表格中的表头单元格和非表头单元格自动进行区别标注。其中,在预处理阶段,可以将待处理的表格处理成以二维矩阵形式组织的表格。具体地,如果待处理的表格中包含合并的单元格,则需要将合并的单元格拆分开,即拆成一个个基础单元格,并在每个基础单元格中填入相同的内容。另外,空白的行或列将被清除。[0088]示例性的,如表4所示的表格在预处理阶段可以被处理成如表5所示的表格。其中,预处理阶段,表中的“项目名称”单元格被拆为了两个有相同内容的基础单元格,而“建设费”单元格则被拆为了五个有相同内容的基础单元格。另外,表4中的空白的行在表5中已被清除。[0089]表4[0090][0091]表5[0092][0093]其中,表5所示的表格可以表达为:[0094][‘项目名称’,‘建设费’,‘建设费’,‘建设费’,‘建设费’,‘建设费’][0095][‘项目名称’,‘开发费’,‘实施费’,‘集成费’,‘测试费’,‘技术咨询费’][0096][‘营销运维支持专业应用v1.0建设’,‘12342’,‘2314’,‘2143’,‘2334’,‘0’][0097][‘信息化行政管理系统’,‘888’,‘12333’,‘9876’,‘11132’,‘0’][0098][‘合计’,‘123’,‘342’,‘2341’,‘432’,‘0’][0099]示例性的,假设待处理的表格为具有m行n列单元格的目标表格,那么可以通过对该目标表格执行上述的操作来确定该目标表格是否包含候选列表头单元格,以及在确定表格中包含候选列表头单元格的情况下,可以进一步确定表格中包含的候选列表头单元格有哪些。[0100]类似地,可以通过对该目标表格执行上述的操作来确定该目标表格是否包含候选行表头单元格,以及在确定表格中包含候选行表头单元格的情况下,可以进一步确定表格中包含的候选行表头单元格有哪些。[0101]其中,如果得到的候选列表头单元格集合为空集,且得到的候选行表头单元格集合为非空集,则表示该目标表格中仅包含行表头单元格,不包含列表头单元格。此种情况下,可以执行上述的第一操作,即基于该候选行表头单元格,确定表格的至少一个表头行和至少一个非表头行,并将该至少一个表头行中每个表头单元格统一标注为一个数字(如1),同时将该至少一个非表头行中每个非表头单元格统一标注为另一个数字(如0)。[0102]进一步,在本公开实施例中,对于候选行表头单元格,在当且仅当一行中的单元格命中候选行表头单元格的比例大于阈值时,可以认为该行为行表头单元格。比如,对于上述的表5,当第0行中的单元格命中候选行表头单元格的比例大于60%时,可以认为该行为行表头单元格。[0103]通过本公开实施例,基于无监督的聚类算法,可以自适应表格本身的结构特性,自动对表格的表头单元格和非表头单元格进行区别标注,因而可以尽可能地减少人工干预,从而可以节约人工标注成本,并且可以提高模型的产出效率。[0104]作为一种可选的实施例,基于候选表头单元格,对表格进行数据标注,可以包括:在基于候选列表头单元格和候选行表头单元格确定表格为列表头表格的情况下,执行第二操作,其中,第二操作包括:基于候选列表头单元格,确定表格的至少一个表头列和至少一个非表头列;将至少一个表头列中每个表头单元格统一标注为标注三(如一个数字),将至少一个非表头列中每个非表头单元格统一标注为标注四(如另一个数字)。[0105]或者,作为另一种可选的实施例,该方法还可以包括:在基于候选列表头单元格和候选行表头单元格确定表格同时包括行表头和列表头的情况下,执行以下操作中的至少之一。[0106]响应于确定表格中各列的内容相似,执行第一操作。[0107]响应于确定表格中各行的内容相似,执行第二操作。[0108]响应于确定表格中各行的内容的相似度与在各列的内容的相似度一致,不对表格进行数据标注。[0109]在本公开的一个实施例中,如果计算得到的候选行表头单元格集合为空集,且计算得到的候选列表头单元格集合为非空集,则表示该目标表格中仅包含列表头单元格,不包含行表头单元格。此种情况下,可以执行上述的第二操作,即基于候选列表头单元格,确定表格的至少一个表头列和至少一个非表头列,并将该至少一个表头列中每个表头单元格统一标注为一个数字(如1),同时将该至少一个非表头列中每个非表头单元格统一标注为另一个数字(如0)。[0110]在本公开实施例中,对于候选列表头单元格,在当且仅当一列中的单元格命中候选列表头单元格的比例大于阈值时,可以认为该列为列表头单元格。[0111]在本公开的另一个实施例中,如果计算得到的候选行表头单元格集合为非空集,且计算得到的候选列表头单元格集合也为非空集,则表示该目标表格中同时包含行表头单元格和列表头单元格。此种情况下,可以先判断表格中的内容在列上更相似还是在行上更相似,然后根据判断结果选择执行上述的第一操作或第二操作。[0112]应该理解,如果表格中的内容在列上更相似,则可以认为该表格应该是行表头表格。类似地,如果表格中的内容在行上更相似,则可以认为该表格应该是列表头表格。[0113]此外,如果判断发现表格中的内容在列上的相似度与其在行上的相似度一致,则可以确定,按照本公开实施例提供的方法无法准确地选择表头,因而不对这样的表格进行数据标注。[0114]通过本公开实施例,针对不同表头类型的表格,可以执行不同的操作以便灵活、准确地定位表头所在的位置,进而可以准确地、有区分地对表头单元格和非表头单元格进行数据标注。[0115]进一步,作为一种可选的实施例,可以通过以下操作确定表格中各行内容的相似度和各列内容的相似度。[0116]确定表格的行内平均距离。[0117]确定表格的列内平均距离。[0118]比较行内平均距离和列内平均距离,以确定表格中各行内容的相似度和各列内容的相似度。[0119]在本公开实施例中,对于同时存在行表头和列表头的表格,可以计算表格的行内平均距离和列内平均距离,并比较行内平均距离和列内平均距离的大小,以辅助确定表格中的内容在列上更相似还是在行上更相似。[0120]示例性的,可以按照以下操作确定表格的行内平均距离和列内平均距离:[0121]在行方向上,可以获取表中每个单元格的行特征,然后对于每行单元格,可以基于行内各单元格的行特征,对每行数据进行k-means聚类,其中如果设定聚类数量为2,则可以取聚类得到的2个簇中簇内元素到聚类中心的平均距离较小的一个簇的簇内距离作为该行的行内距离。重复上述操作可以得到整个表格中每行单元格对应的行内距离向量为[0122]类似地,在列方向上,可以获取表中每个单元格的列特征,然后对于每列单元格,可以基于列内各单元格的列特征,对每列数据进行k-means聚类,其中如果设定聚类数量为2,则可以取聚类得到的2个簇中簇内元素到聚类中心的平均距离较小的一个簇的簇内距离作为该列的列内距离。重复上述操作可以得到整个表格中每列单元格对应的列内距离向量为[0123]进一步,可以在去掉表格的行内距离向量中的行内距离最大值和行内距离最小值后求取剩余行内距离的平均值,并将该平均值作为表格的行内平均距离,记作同理,可以计算得到表格的列内平均距离[0124]其中,如果则可以认为表格内容在行上更相似,表格应当具有列表头。如果则可以认为表格内容在列上更相似,表格应当具有行表头。如果则认为表格内容在行上的相似度与其在列上的相似度一致,那么此种情况下,利用本公开实施例提供的方法,无法正确地选择表头,因而此种情况下不对表格进行数据标注。[0125]通过本公开实施例,可以精准地判断表格中的内容在列上更相似还是在行上更相似。[0126]此外,作为一种可选的实施例,基于行内各单元格的行特征进行聚类,以确定对应的候选列表头单元格,可以包括:针对每行单元格,执行以下操作。[0127]基于行内各单元格的行特征进行聚类,得到两个簇。[0128]将两个簇中元素数量较少的一个簇对应的至少一个单元格作为本行的候选列表头单元格。[0129]或者,作为一种可选的实施例,基于行内各单元格的行特征进行聚类,以确定对应的候选列表头单元格,包括:针对每行单元格,执行以下操作。[0130]基于行内各单元格的行特征进行聚类,得到两个簇。[0131]将两个簇中元素没有命中黑名单且元素数量较少的一个簇对应的单元格作为本行的候选列表头单元格,其中,黑名单中记录有特定单元格特征。如对于表1而言,可以将“数字 文字”特征记录在黑名单中,以排除“1440000以上”单元格被识别为表头单元格的可能。[0132]同理,候选行表头单元格也可以基于类似的方法确定,本实施例在此不再赘述。[0133]应该理解,列表头呈列形式,一个列表头对应的属性下的属性值将呈行形式。同理,行表头呈行形式,一个行表头对应的属性下的属性值将呈列形式。[0134]示例性的,可以通过以下操作计算得到列表头。[0135](1-1)计算表格每行中每个单元格的行特征,得到表格各行对应的特征向量[0136](1-2)对(1-1)中的各行对应的特征向量中的每个元素进行k-means聚类,如果设定聚类数量2,则可以将没有命中配置黑名单(即例外,如表1中的“1440000以上”,其同时含有数字和非数字)且包含的元素数量较少的一个簇所对应的单元格记作候选列表头单元格;[0137](1-3)重复上述两步,即重复上述的(1-1)和(1-2),直到计算完表中所有行中可能的候选列表头单元格;[0138](1-4)在所有候选列表头单元格中,当且仅当一列中的单元格命中候选列表头单元格的比例大于阈值时,可以认为该列为列表头。[0139]类似的,可以通过以下操作计算得到行表头。[0140](2-1)计算表格每列中每个单元格的列特征,得到表格各列对应的特征向量[0141](2-2)对(2-1)中的各列对应的特征向量中的每个元素进行k-means聚类,如果设定聚类数量2,则可以将没有命中配置黑名单且包含的元素数量较少的一个簇所对应的单元格记作候选行表头单元格;[0142](2-3)重复上述两步,即重复上述的(2-1)和(2-2),直到计算完表中所有列中可能的候选行表头单元格;[0143](2-4)在所有候选行表头单元格中,当且仅当一行中的单元格命中候选行表头单元格的比例大于阈值时,可以认为该行为行表头。[0144]通过本公开实施例,可以简单、精准地定位表格中的行表头和/或列表头,进而实现准确的数据标注。[0145]其中,可以基于图3所示的基本原理来确定待处理的表格中的表头。即,先进行特征计算,再进行特征聚类,然后根据元素较少的一个簇计算候选表头单元格。如由图中表格中的左边一列确定的候选表头单元格为“全年应纳税所得额(第纳尔)”对应的单元格,即第0行、第0列对应的单元格,如由图中表格中的右边一列确定的候选表头单元格为“税率”对应的单元格,即第0行、第1列对应的单元格。进一步,由此可以确定图中所示表格的表头在第0行。[0146]作为一种可选的实施例,上述的特征(可以是行特征或列特征)可以包括:数据特征、统计特征、语义特征中的至少之一。进一步,作为一种可选的实施例,统计特征可以包括:词频统计特征。[0147]应该理解,由于分词统计特征、词性统计特征、字符统计特征可能会因为数据内容不同而导致特征向量的长度发生改变,考虑到模型训练通常需要固定长度的特定向量,因而本实施例中,不考虑表格数据的分词统计特征、词性统计特征、字符统计特征。[0148]在一个实施例中,本方案所使用的特征可以由结构特征(包括数据特征和统计特征)和语义特征组合而成,其中特征粒度为单元格粒度。[0149]其中,在本实施例中,结构特征可以是不需要理解文字的含义,仅从数据自身或是通过统计角度即可得到的特征,如数据的长度、数据出现的频次等。语义特征则可以是包含文字的语义信息的特征。具有相似语义的文本的特征在特征空间中会更为接近。[0150]本实施例中,无论是结构特征还是语义特征,都可能根据使用场景的不同而灵活地进行增加或删除。[0151]示例性的,结构特征可以包括但不限于:是否有数字,是否纯数字,是否有中文,是否纯中文,是否有英文,是否纯英文,数据的长度,数据所在行,数据所在列,数据出现频次,等等。[0152]以表1所示的表格为例,第0行第1列的“税率”单元格的结构特征可以为:[0153][0×w是否有数字,0×w是否纯数字,1×w是否有中文,1×w是否纯中文,0×w是否有英文,0×w是否纯英文,2×w数据的长度,0×w数据所在行,1×w数据所在列,1×w数据出现频次]。[0154]在本实施例中,每个结构特征都有自己的权重,在数据标注阶段可以使用经验值对各权重进行初始化。[0155]此外,本实施例中,对于语义特征而言,可以将预训练语言模型作为语义特征提取器来进行语义特征的提取。语义特征同样也有自己的权重,其初始值可以通过特征的数量级进行设置。[0156]此外,作为一种可选的实施例,该方法还可以包括:在基于表格中多行单元格和/或多列单元格的特征进行聚类之前,针对多行单元格和/或多列单元格,先将各单元格中的数字替换为统一的数字,再提取行内各单元格的特征。[0157]需要说明的是,本公开实施例中所使用的特征可以由数据特征、统计特征和语义特征组合而成。由于实施例中使用的是无监督的聚类算法,没有训练过程,因此能够很方便地对使用的特征进行增加和删除。[0158]进一步,在本公开实施例中,数据特征指的是一个数据自身所具有的特征,如数据长度等。统计特征指的是一个数据在一组数据中所呈现的特征,如数据出现的频次等。[0159]此外,可以为每个特征设置对应的权重,以方便针对不同任务进行微调。此外,在提取特征时,对于单元格内容包含数字的,无论数字大小和数字长度,可以先将单元格中包含的数字替换为统一的数字,如统一替换为1。这是因为,可以认为数字是彼此相似的,为了便于计算,因而可以将所有单元格中的数字统一替换为1。[0160]示例性的,数字特征可以包括但不限于:是否有数字,是否纯数字,是否有中文,是否纯中文,是否有英文,是否纯英文,数据长度,数据所在行,数据所在列等。其中“是的”可以表示为1,“否的”可以表示为0。[0161]示例性的,统计特征可以包括但不限于:数据的出现频次特征等不会导致特征向量发生长度变化的统计特征。[0162]示例性的,以上述的表1为例,假设所有特征权重为1,计算第0行第1列的“税率”单元格的列特征可以包括如下步骤。计算其数据特征得到:[0(表示没有数字),0(表示不是纯数字),1(表示有中文),1(表示纯中文),0(表示没有英文),0(表示不是纯英文),2(表示数据长度为2),0(表示在第0行),1(表示在第1列)]。计算其统计特征得到:[1(表示出现的频率)]。利用预训练语义模型提取对应的语义特征。最后,组合上述的数据特征、统计特征和语义特征,可以得到“税率”单元格最后的列特征。[0163]此外,作为一种可选的实施例,本方法还可以包括:在得到关于表格的标注数据后,基于表格特性,对标注数据进行筛选,以筛除错误的标注数据,保留正确的标注数据。[0164]进一步,作为一种可选的实施例,上述的表格特性可以包括:表格中表头的位置特性和/或表头的层数特性。[0165]本公开实施例中,可以根据表格特性对生成的标注数据进行筛选,以最终生成高置信度的标注数据。[0166]示例性的,比如表头往往出现在表格中更为靠左或靠上的位置,且表头的层数往往不会过多,因而可以根据表格的特性,通过识别表头的位置是否在前x行或前x列以及表头层数是否小于y来筛选出高置信度的表头单元格。其中,x、y可取经验值,通过控制x和y可以控制训练阶段训练得到的模型的效果。[0167]应该理解,对于一个m×n的表格,可以生成m×n条标注数据,即针对每个单元格,可以得到1条标注数据,每条标注数据由对应单元格本身的特征和该单元格内的所有元素的特征拼接而成。标注上去的数据的标签可以为0或1的二分类标签体系,0表示单元格不在表头中,1表示单元格在表头中。[0168]以表1中第0行第0列单元格为例,对于同时存在行表头和列表头的情况,在识别到表头为表1的第0行,那么可以得到如下标注数据(其中,f(·)指的是单元格到特征的映射):[0169]data:[0170][f(全年应纳税所得额(第纳尔)),f(税率),f(0-120000),f(0%),f(120001-360000),f(20%),f(360001-1440000),f(30%),f(1440000以上),f(35%)]。[0171]根据本公开的实施例,本公开提供了一种基于深度学习的表格信息的提取方法。[0172]图4示例性示出了根据本公开实施例的表格信息的提取方法的流程图。[0173]如图4所示,表格信息的提取方法400可以包括:操作s410~s420。[0174]操作s410,确定待处理的表格。[0175]操作s420,利用表格信息提取模型,提取表格中的属性与对应的属性值对。[0176]其中,表格信息提取模型是基于标注数据训练得到的,标注数据是通过本公开上述实施例提供的数据标注方法自动进行数据标注得到的,在此不再赘述。[0177]应该理解,本实施例中,表格也是以二维矩阵形式组织的表格,具体描述可以参照上述实施例中的相关描述,在此不再赘述。[0178]在操作s420,可以将由操作s410得到的表格输入上述的表格信息提取模型,从而输出表格中的属性与对应的属性值对。[0179]示例性的,可以利用表格信息提取模型进行表头识别,即遍历表格中的单元格,用表格信息提取模型预测每个单元格是否在表头中,当且仅当一行/列中元素在表头中的比例大于阈值时,认为该行/列为表头。然后,进行属性-属性值映射,如可以将表格统一处理为行表头表格,遍历其中的非表头区域内的所有单元格,然后针对每个单元格,向行号减少方向搜索表头,组成属性-属性值对。其中对于多级表头的情况,属性将为一个包含多个值的列表。如上述的表4所示,对于第2行第1列的单元格“12342”而言,向上搜索表头将得到:[建设费,开发费]:12342。[0180]进一步,对于多级表头的情况,在提取到属性-属性值对后,还可以对同一行内的属性-属性值对进行属性融合。对于行与行间的属性-属性值对,如果每行融合后的属性一致,那么可以直接进行组合;如果每行融合后的属性不一致,那么可以进一步进行属性融合。[0181]示例性的,如表4所示,对于属性-属性值对“[建设费,开发费]:12342”和“[建设费,实施费]:2314”,进行属性融合可以得到“[建设费]:[[开发费]:12342,[实施费]:2314]”。其中,通过直接组合,可以将多个结果直接组合为一个列表。[0182]示例性的,对于如表1所示的表格,通过执行上述的操作,可以输出如下所示的属性-属性值对(即属性与对应属性值的映射):[0183]{‘全年应纳税所得额(第纳尔)’:‘0-120000’,‘税率’:‘0%’}[0184]{‘全年应纳税所得额(第纳尔)’:‘120001-360000’,‘税率’:‘20%’}[0185]{‘全年应纳税所得额(第纳尔)’:‘360001-1440000’,‘税率’:‘30%’}[0186]{‘全年应纳税所得额(第纳尔)’:‘1440000以上’,‘税率’:‘35%’}。[0187]同理,对于多级表头的情况,在提取到属性-属性值对后,还可以对同一列内的属性-属性值对进行属性融合。对于列与列间的属性-属性值对,如果每列融合后的属性一致,那么可以直接进行组合;如果每列融合后的属性不一致,那么可以进一步进行属性融合。[0188]此外,本公开实施例描述的表格信息抽取技术,其目标在于从半结构化的表格数据中抽取出属性和对应的属性值信息。[0189]本公开实现的方法,无需过多人工干预,是一种结合无监督聚类方法无需标注数据的优点及有监督方法无需手动调整特征权重的优点的综合性方法,能够在没有人工标注数据和不依赖任何外部数据源的情况下,利用表格自身的结构特性实现多种格式的表格信息抽取,且在不同业务及数据场景上具有自适应性,能够自适应地调整特征权重,无需过多人工干预。本公开所提供的方法适用场景丰富,可迁移性强,人工成本低。[0190]此外,使用本公开实施例提供的方法,对于新的文档、新的属性、新的表达方式,无需人工过多干预,也无需针对数据制定新的抽取规则。本公开实施例提供的算法利用的是表格本身的结构特性,也无需人工标注样本,无需手动调整特征权重,冷启动成本低。此外,本公开实施例提供的算法不依赖外部数据源,降低了算法的使用门槛,同时能够处理丰富的表头场景,既适用于通用知识图谱构建,也适用于行业知识图谱构建。此外,本公开实施例提供的算法可处理的表格类型丰富,灵活多变,对表格的格式依赖低,能够处理多级表头的情况。此外,本公开实施例提供的算法,使用场景灵活,可根据实际应用场景灵活搭配选择特征和模型。[0191]根据本公开的实施例,本公开提供了一种模型训练方法。[0192]图5示例性示出了根据本公开实施例的模型训练方法的流程图。[0193]如图5所示,模型训练方法500可以包括:操作s510~s520。[0194]操作s510,获取标注数据。[0195]操作s520,利用标注数据,训练得到对应的表格信息提取模型,其中,标注数据是通过本公开实施例提供的数据标注方法自动进行数据标注得到的,在此不再赘述。[0196]在本公开实施例中,可以利用前述实施例生成的标注数据训练二分类器以得到对应的表格信息提取模型。该二分类器的选择可根据实际的硬件条件、场景需求、效果要求等自由选择传统机器学习分类器或深度学习分类器,本实施例在此不做限定。[0197]此外,本实施例中,模型结构的设计可以选择随机森林、xgboost等传统的机器学习算法,也可以选择搭建二分类深度学习模型。模型的输入为前述实施例中得到的标注数据的数据部分(即data部分),模型的输出为0或1标签。[0198]根据本公开的实施例,本公开还提供了一种数据标注装置。[0199]图6示例性示出了根据本公开实施例的数据标注装置的框图。[0200]如图6所示,数据标注装置600可以包括:聚类模块610和数据标注模块620。[0201]聚类模块610,用于基于表格中多行单元格和/或多列单元格的特征进行聚类,以确定所述表格中的候选表头单元格。[0202]数据标注模块620,用于基于所述候选表头单元格,对所述表格进行数据标注,以将所述表格中的表头单元格和非表头单元格标注为不同的数据。[0203]作为一种可选的实施例,所述聚类模块包括:第一聚类单元,用于针对所述表格的m行单元格中的每行单元格,基于行内各单元格的行特征进行聚类,以确定对应的候选列表头单元格;第二聚类单元,用于针对所述表格的n列单元格中的每列单元格,基于列内各单元格的列特征进行聚类,以确定对应的候选行表头单元格。[0204]对应的,所述数据标注模块还用于:在基于所述候选列表头单元格和所述候选行表头单元格确定所述表格为行表头表格的情况下,执行第一操作,其中,所述第一操作包括:基于所述候选行表头单元格,确定所述表格的至少一个表头行和至少一个非表头行;将所述至少一个表头行中每个表头单元格统一标注为标注一,将所述至少一个非表头行中每个非表头单元格统一标注为标注二。[0205]作为一种可选的实施例,所述数据标注模块还用于:在基于所述候选列表头单元格和所述候选行表头单元格确定所述表格为列表头表格的情况下,执行第二操作,其中,所述第二操作包括:基于所述候选列表头单元格,确定所述表格的至少一个表头列和至少一个非表头列;将所述至少一个表头列中每个表头单元格统一标注为标注三,将所述至少一个非表头列中每个非表头单元格统一标注为标注四。[0206]作为一种可选的实施例,所述数据标注模块还用于在基于所述候选列表头单元格和所述候选行表头单元格确定所述表格同时包括行表头和列表头的情况下,执行以下操作中的至少之一:响应于确定所述表格中各列的内容相似,执行所述第一操作;响应于确定所述表格中各行的内容相似,执行所述第二操作;响应于确定所述表格中各行的内容的相似度与各列的内容的相似度一致,不对所述表格进行数据标注。[0207]作为一种可选的实施例,其中,通过以下操作确定所述表格中各行内容的相似度和各列内容的相似度:确定所述表格的行内平均距离;确定所述表格的列内平均距离;以及比较所述行内平均距离和所述列内平均距离,以确定所述表格中各行内容的相似度和各列内容的相似度。[0208]作为一种可选的实施例,所述第一聚类单元包括:第一聚类子单元,用于针对所述每行单元格,基于所述行内各单元格的行特征进行聚类,得到两个簇;以及第一确定子单元,用于将所述两个簇中元素数量较少的一个簇对应的至少一个单元格作为本行的候选列表头单元格。[0209]作为一种可选的实施例,所述第一聚类单元包括:针对所述每行单元格,第二聚类子单元,用于基于所述行内各单元格的行特征进行聚类,得到两个簇;以及第二确定子单元,用于将所述两个簇中元素没有命中黑名单且元素数量较少的一个簇对应的单元格作为本行的候选列表头单元格,其中,黑名单中记录有特定单元格特征。如对于表1而言,可以将“数字 文字”特征记录在黑名单中,以排除“1440000以上”单元格被识别为表头单元格的可能。[0210]作为一种可选的实施例,所述特征包括以下中的至少之一:数据特征、统计特征和语义特征。[0211]作为一种可选的实施例,所述统计特征包括:词频统计特征。[0212]作为一种可选的实施例,所述表格为以二维矩阵形式组织的表格。[0213]作为一种可选的实施例,本装置还包括:特征提取模块,用于在基于表格中多行单元格和/或多列单元格的特征进行聚类之前,针对所述多行单元格和/或所述多列单元格,先将各单元格中的数字替换为统一的数字,再提取所述各单元格的特征。[0214]作为一种可选的实施例,本装置还包括:筛选模块,用于在得到关于所述表格的标注数据后,基于表格特性,对所述标注数据进行筛选。[0215]作为一种可选的实施例,所述表格特性包括:表格中表头的位置特性和/或表头的层数特性。[0216]根据本公开的实施例,本公开还提供了一种表格信息的提取装置。[0217]图7示例性示出了根据本公开实施例的表格信息的提取装置的框图。[0218]如图7所示,表格信息的提取装置700可以包括:确定模块710和提取模块720。[0219]确定模块710,用于确定待处理的表格。[0220]提取模块720,用于利用表格信息提取模型,提取所述表格中的属性与对应的属性值对,其中,所述表格信息提取模型是基于标注数据训练得到的,所述标注数据是通过本公开实施例所述的数据标注方法进行数据标注得到的。[0221]根据本公开的实施例,本公开还提供了一种模型训练装置。[0222]图8示例性示出了根据本公开实施例的模型训练装置的框图。[0223]如图8所示,模型训练装置800可以包括:获取模块810和训练模块820。[0224]获取模块810,用于获取标注数据。[0225]训练模块820,用于利用所述标注数据,训练得到对应的表格信息提取模型,其中,所述标注数据是通过本公开实施例所述的数据标注方法进行数据标注得到的。[0226]应该理解,本公开装置部分的实施例与本公开方法部分的实施例对应相同或类似,所解决的技术问题和所达到的技术效果也对应相同或类似,本公开在此不再赘述。[0227]根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。[0228]图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。[0229]如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、rom902以及ram903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。[0230]电子设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。[0231]计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如表格信息的提取方法。例如,在一些实施例中,表格信息的提取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram903并由计算单元901执行时,可以执行上文描述的表格信息的提取方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行表格信息的提取方法。[0232]本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。[0233]用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。[0234]在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。[0235]为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。[0236]可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。[0237]计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(″virtualprivateserver″,或简称″vps″)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。[0238]本公开的技术方案中,所涉及的表格数据的记录,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。[0239]应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。[0240]上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。当前第1页12当前第1页12
再多了解一些

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

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

相关文献