CN117252183B - 一种基于语义的多源表格自动匹配方法、装置及存储介质 - Google Patents
一种基于语义的多源表格自动匹配方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117252183B CN117252183B CN202311285984.8A CN202311285984A CN117252183B CN 117252183 B CN117252183 B CN 117252183B CN 202311285984 A CN202311285984 A CN 202311285984A CN 117252183 B CN117252183 B CN 117252183B
- Authority
- CN
- China
- Prior art keywords
- column
- columns
- target
- matching
- similarity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 239000013598 vector Substances 0.000 claims description 35
- 238000000605 extraction Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 7
- 238000003058 natural language processing Methods 0.000 claims description 4
- 238000010219 correlation analysis Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 238000007781 pre-processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 4
- 238000002372 labelling Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012098 association analyses Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000000484 butyl group Chemical group [H]C([*])([H])C([H])([H])C([H])([H])C([H])([H])[H] 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书公开了一种基于语义的多源表格自动匹配方法、装置及存储介质,首先获取两个待匹配的表格,针对每个待匹配的表格,确定该表格的结构和该表格中实体单元格的语义以及列类型。根据每个表格的列类型,进行初步匹配得到初步匹配结果,并将初步匹配结果中存在匹配关系的列作为目标列,计算目标列之间的第一相似度和第二相似度,确定两个表格中的目标列是否匹配。从上述方法中可以看出,本申请对两个表格进行相似度匹配前,先确定出了表格语义和列类型,以对全表格的语义信息进行解析,在语义信息的基础上进行相似度匹配,使得多源表格相似度匹配更加高效准确,方便后续对多源表格进行关联分析。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种基于语义的多源表格自动匹配方法、装置、存储介质及电子设备。
背景技术
目前,基于表格的结构化特性存储数据,以方便数据利用。因此,以表格结构化的存储数据,被广泛用于组织和呈现系统数据库中的数据。
在现有技术中,不同表格之间可能存在关联数据,通过确定关联数据,可以进一步确定存在关联的表格,使得在基于表格执行业务时的效率更高。
但是,目前对于不同源的表格,由于表格结构、数据结构存在差异,因此难以确定表格间存在关联的数据。而一般采用的方法是,将不同表格中的数据列逐一匹配,或者是人工匹配对表格进行匹配。不仅耗时费力,且效率低下。如何实现更加快速准确高效的表格相似度匹配是一个亟待解决的问题。
发明内容
本说明书提供一种基于语义的多源表格自动匹配方法、装置、存储介质及电子设备,以至少部分地解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种基于语义的多源表格自动匹配方法,包括:
获取待匹配的两个表格,并针对每个表格,确定该表格的表格结构,所述表格结构至少表征所述表格中的实体单元格;
将该表格输入训练完成的语义注释模型,确定该表格中各实体单元格的语义,以及该表格中各列的列类型;
根据所述两个表格中各列的列类型以及所述各实体单元格的语义,对所述两个表格中的列进行初步匹配,确定所述两个表格中存在初步匹配关系的列,作为目标列;
通过训练完成的特征提取模型分别确定所述两个表格中的目标列的列标识特征,并确定所述两个表格中的目标列的列标识特征之间的第一相似度,以及根据所述两个表格中的目标列的内容,确定所述两个表格中的目标列的第二相似度;
根据所述第一相似度以及所述第二相似度,确定所述两个表格中的目标列是否匹配。
可选地,确定该表格的表格结构,具体包括:
根据自然语言处理库的识别工具,对该表格的每个单元格进行实体类型识别,确定该表格包含的各实体单元格;
根据预设的标题行识别规则,对该表格的每行进行识别,确定该表格中的标题行,以及根据预设的主题列识别规则,对该表格的每列进行识别,确定该表格中的主题列;
根据识别出的所述实体单元格、所述标题行以及所述主题列,确定该表格的表格结构。
通过所述语义注释模型,确定各实体单元格对应的各第一实体特征,以及知识图谱中的各实体对应的第二实体特征;
将所述各第一实体特征和所述各第二实体特征进行逐一比对,确定各第一实体特征对应的第二实体特征;
根据所述各第一实体特征对应的第二实体特征,确定各实体单元格对应的知识图谱中的实体,以及该实体的属性和与该实体存在关系的其他实体。
可选地,根据所述两个表格中各列的列类型以及所述各实体单元格的语义,对所述两个表格中的列进行初步匹配,确定所述两个表格中存在初步匹配关系的列,作为目标列,具体包括:
根据所述两个表格中各列的列类型,确定所述两个表格中列类型相同的两列,作为列分组;
针对每个列分组,确定该列分组中两列分别包含的各实体单元格的语义;
判断两列分别包含的各实体单元格的语义之间是否存在相同的语义;
若是,则确定该列分组中的两列为满足初步匹配关系的列,将该列分组中的两列作为目标列;
若否,则确定该列分组中的两列为不满足初步匹配关系的列。
可选地,所述表格包括第一表格和第二表格,所述目标列中属于第一表格的列为第一目标列,所述目标列中属于第二表格的列为第二目标列;
通过训练完成的特征提取模型分别确定所述两个表格中的目标列的列标识特征,并确定所述两个表格中的目标列的列标识特征之间的第一相似度,以及根据所述两个表格中的目标列的内容,确定所述两个表格中的目标列的第二相似度,具体包括:
将所述第一目标列和所述第二目标列输入所述特征提取模型,对所述第一目标列和所述第二目标列的列标识进行特征提取,得到所述第一目标列对应的第一列标识特征,以及所述第二目标列对应的第二列标识特征,并确定所述第一列标识特征和所述第二列标识特征之间相似度,作为第一相似度;
确定所述第一目标列和所述第二目标列的内容的数据类型,根据所述数据类型选择对应的相似度匹配方式,并根据所述相似度匹配方式,确定所述第一目标列和所述第二目标列之间的相似度,作为第二相似度。
可选地,根据所述数据类型选择对应的相似度匹配方式,并根据所述相似度匹配方式,确定所述第一目标列和所述第二目标列之间的第二相似度,具体包括:
若目标列内容为数值型,从所述第一目标列和所述第二目标列分别随机抽取第一指定数量单元格的数值内容,将所述第一指定数量单元格的数值内容按照特定方式转换为向量表示,得到第一数值向量和第二数值向量,并确定第一数值向量和第二数值向量之间的相似度,作为所述第一目标列和所述第二目标列之间的第二相似度;
若目标列内容为字符型,从所述第一目标列随机抽取第二指定数量单元格的字符内容作为第一段落,从所述第二目标列随机抽取第二指定数量单元格的字符内容作为第二段落,将所述第一段落和所述第二段落输入所述特征提取模型进行特征提取,得到第一段落特征和第二段落特征,并确定所述第一段落特征和所述第二段落特征之间的相似度,所述第一目标列和所述第二目标列之间的第二相似度;
若目标列内容为其他类型,所述其他类型包括日期型、布尔型、空间数据类型等,将目标列内容的数据类型相同的所述第一目标列和所述第二目标列之间的第二相似度设为预设相似度。
可选地,所述表格包括第一表格和第二表格,所述目标列中属于第一表格的列为第一目标列,所述目标列中属于第二表格的列为第二目标列;
根据所述第一相似度以及所述第二相似度,确定所述两个表格中的目标列是否匹配,具体包括:
将所述第一相似度和所述第二相似度进行加权平均操作,确定所述第一目标列和所述第二目标列之间的相似度,作为匹配相似度;
若各第一目标列中存在重复的列或各第二目标列中存在重复的列,利用二分匹配算法,求解各第一目标列和各第二目标列间的最大匹配,将所述最大匹配中存在匹配关系的第一目标列和第二目标列,作为匹配列;
若各第一目标列中没有重复的列且各第二目标列中也没有重复的列,将存在匹配关系的第一目标列和第二目标列,作为匹配列;
若所述匹配列的所述匹配相似度低于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相不匹配的列;
若所述匹配列的所述匹配相似度高于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相匹配的列。
本说明书提供了一种基于语义的多源表格自动匹配装置,包括:
结构确定模块,获取待匹配的两个表格,并针对每个表格,确定该表格的表格结构,所述表格结构至少表征所述表格中的实体单元格;
语义确定模块,将该表格输入训练完成的语义注释模型,确定该表格中各实体单元格的语义,以及该表格中各列的列类型;
初步匹配模块,根据所述两个表格中各列的列类型以及所述各实体单元格的语义,对所述两个表格中的列进行初步匹配,确定所述两个表格中存在初步匹配关系的列,作为目标列;
匹配模块,通过训练完成的特征提取模型分别确定所述两个表格中的目标列的列标识特征,并确定所述两个表格中的目标列的列标识特征之间的第一相似度,以及根据所述两个表格中的目标列的内容,确定所述两个表格中的目标列的第二相似度;
判断模块,根据所述第一相似度以及所述第二相似度,确定所述两个表格中的目标列是否匹配。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于语义的多源表格自动匹配方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于语义的多源表格自动匹配方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的基于语义的多源表格自动匹配方法中,首先获取两个待匹配的表格,针对每个待匹配的表格,确定该表格的结构和该表格中实体单元格的语义以及列类型。根据每个表格的列类型,进行初步匹配得到初步匹配结果,并将初步匹配结果中存在匹配关系的列作为目标列,计算目标列之间的第一相似度和第二相似度,确定两个表格中的目标列是否匹配。从上述方法中可以看出,本申请对两个表格进行相似度匹配前,先确定出了表格语义和列类型,以对全表格的语义信息进行解析,在语义信息的基础上进行相似度匹配,使得多源表格相似度匹配更加高效准确,方便后续对多源表格进行关联分析。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书实施例提供的一种基于语义的多源表格自动匹配方法的流程示意图;
图2为本说明书实施例提供的表1和表2内容对应的部分知识图谱;
图3为本说明书实施例提供的一个目标列的二分图示例;
图4为本说明书实施例提供的一种基于语义的多源表格自动匹配装置的示意图;
图5为本说明书实施例提供的对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中一种基于语义的多源表格自动匹配方法的流程示意图,具体包括以下步骤:
S100:获取待匹配的两个表格,并针对每个表格,确定该表格的表格结构,所述表格结构至少表征所述表格中的实体单元格。
多源表格指来自不同系统的数据库表格或者同一系统部署在不同地点的数据库表格。来自不同系统数据库中的表格可能包含着相关联的信息,有时需要通过这些相关联的数据将两个表格进行关联,实现利用关联数据的跨表格数据分析操作。另外,同一系统多地重复部署时,一般需要有一个统一的标题行和主题列标准格式,使得该系统可以关联部署在不同地点系统数据库中的表格。但是,不同地点部署的表格都是按照自身需求设置的,因此表格的标题行和主题列名称,还有标题行和主题列的排列方式可能存在差异,在对这些部署在不同地点的同一系统进行统一化管理时,需要将部署在不同地点系统数据库中的表格数据和标准格式对应数据进行关联。
对多源表格进行关联分析,首先需要对多源表格进行相似度匹配,根据匹配的列进行不同源的表格之间的分析操作。目前,对多源表格进行相似度匹配的方法,是人工匹配,或者是对遍历表格所有列进行相似度匹配,费时费力,效率低下。由于表格的结构化特性,蕴含着丰富的语义信息,因此,如果能够根据表格蕴含的语义信息对多源表格中的列进行一个初步筛选,过滤掉不可能匹配的列,将剩余的列再进行相似度匹配,将会大大提高多源表格间的相似度匹配效率。
在本说明书中,用于进行基于语义的表格相似度匹配的设备获取两个待匹配的表格。其中,用于进行基于语义的表格相似度匹配的设备可以是服务器,也可以是诸如台式电脑、笔记本电脑等电子设备。为了便于描述,下面仅以服务器为执行主体,对本说明书提供的基于语义的表格相似度匹配方法进行说明。
其中,本说明书中服务器进行匹配的表格数据,可以是文本数据,也可以是文件数据,还可以是其他类型的数据,本说明书不做具体限定。
服务器根据自然语言处理库的识别工具,对该表格的每个单元格进行实体类型识别,确定该表格中包含各的实体单元格。实体单元格为可以链接到知识图谱中的实体的单元格,通过知识图谱,可以确定各实体单元格间的关系以及实体单元格对应的属性信息。
表格之间的匹配需要依靠实体单元格中的实体进行相互关联,非实体单元格是对实体单元格的描述信息,即使是内容一致,它们描述的实体单元格不同,关联起来也没有意义。所以,必须要先确定表格里的实体单元格,在实体单元格的范围内进行表格间的匹配,将实体单元格的信息进行关联后,非实体单元格的信息也可以通过实体单元格检索到。
电影 | 导演 | 主演 | 国家 |
电影1 | 导演甲 | 主演Ⅰ | 美国 |
电影2 | 导演乙 | 主演Ⅱ | 英国 |
电影3 | 导演丙 | 主演Ⅲ | 法国 |
表1
电影 | 上映时间 | 主演 | 导演 | 上映国家 |
电影1 | 2006 | Ⅰ | 甲 | 美国 |
电影4 | 2009 | Ⅰ | 丁 | 美国 |
电影5 | 2015 | Ⅳ | 甲 | 美国 |
表2
表1为系统A中的电影信息表,表2为系统B中的电影信息表,图2为表1和表2中的信息对应的部分知识图谱,大圈表示实体,小圈表示实体的属性,“→”表示实体间的关系。根据知识图谱,可以确定出表1中的第一列、第二列和第三列的单元格为实体单元格,表2中的第一列、第三列和第四列的单元格为实体单元格。通过实体单元格,可以将表1和表2中的信息联系起来,如,系统A的用户想要查询“电影1”的上映时间,可根据表1中的“电影1”,先将该实体单元格内容链接到知识图谱,再通过知识图谱中信息将“电影1”链接到表2,从而得到“电影1”的上映时间。
S102:将该表格输入训练完成的语义注释模型,确定该表格中各实体单元格的语义,以及该表格中各列的列类型。
两个表格之间的匹配,是通过两个表格中的列和各列的实体单元格进行关联的,所以,需要对表格进行实体单元格注释(Cell-Entity Annotation,CEA)和列类型注释(Column Type Annotation,CTA)操作,确定表格中各实体单元格的语义以及该表格中各列的列类型,以根据确定出的各实体单元格语义以及各列的列类型进行表格的匹配。
具体的,针对每个待匹配的表格,服务器通过语义注释模型,对该表格进行CEA操作,确定各实体单元格对应的语义。具体的,确定各实体单元格对应的各第一实体特征,以及知识图谱中的各实体对应的第二实体特征,将所述各第一实体特征和所述各第二实体特征进行逐一比对,确定各第一实体特征对应的第二实体特征,根据所述各第一实体特征对应的第二实体特征,确定各实体单元格对应的知识图谱中的实体,以及该实体的属性和与该实体存在关系的其他实体。
由于不同的表格中对同一个实体的命名可能存在差异,如,在表1中的“导演甲”与表2中的“甲”,实际上是同一个含义,在知识图谱中会被对应到同一个实体。所以,需要对各实体单元格的实体特征和知识图谱中的实体特征进行特征提取,再将各实体单元格对应的第一实体特征和知识图谱中实体的第二实体特征进行逐一比对,若特征相似度大于指定阈值则确定为相同语义,这样能更加准确地确定各实体单元格的实体。
另外,服务器通过语义注释模型,对该表格进行CTA操作,确定该表格中各列的列类型。具体的,通过语义注释模型,根据知识图谱,对表格各列的列类型进行预测,将每列分类到对应的语义类型,如“国家名称”、“人口”、“生日”等,并输出各列属于各种列类型的概率,将该列对应的概率最大的列类型作为该列的列类型。
上述语义注释模型可通过大量经过标注各实体单元格的实体和各列的列类型的表格样本进行训练,具体的,将标注样本输入预训练的语义注释模型中,得到模型输出的各实体单元格的实体和各列的列类型预测结果,以该预测结果和样本标注中的实体和列类型的误差最小为目标,调整模型参数直到模型收敛,能够输出期望精度的实体单元格的实体和列类型。
由于样本信息量大,分类任务复杂,可能导致语义注释模型的训练难以达到收敛的情况。为了达到更好的收敛效果,可以将语义注释模型分为实体注释模型和列注释模型来分别进行训练,用语义注释模型进行表格的CEA操作,用列注释模型来进行表格的CTA操作。
具体的,实体注释模型可以选用表征学习表注释(Table Understanding throughRepresentation Learning,TURL)模型,将实体单元格对应到知识图谱中的实体,确定各实体单元格对应的语义。列注释模型可以选用多任务学习框架(multi-task learningframework),如Dodou模型,根据知识图谱,对表格各列的列类型进行预测,将每列分类到对应的语义类型。
TURL模型和Dodou模型,都是目前已经存在的表预训练模型,只需要根据语义注释任务进行参数的微调,就可直接用于语义注释任务。当然,也可选用其他的模型来进行表格的CEA和CTA操作,如,基于树的通用结构化表格预训练变压器(Tree-based Transformersfor Generally Structured Table Pre-training,TUTA)模型、通过预训练的弱监督表解析(Weakly Supervised Table Parsing via Pre-training,TAPAS)模型等,本说明书不做具体限定。
需要说明的是,上述通过语义注释模型进行的对表格的CEA和CTA操作执行过程可以不分先后顺序,也可以同时进行CEA和CTA操作。
这样,通过语义注释模型对该表格所蕴含的语义信息进行解析,基于此语义信息进行表格之间的相似度匹配,就可明显提高表格相似度匹配的效率。
S104:根据所述两个表格中各列的列类型以及所述各实体单元格的语义,对所述两个表格中的列进行初步匹配,确定所述两个表格中存在初步匹配关系的列。
服务器根据所述两个表格中各列的列类型,确定所述两个表格中列类型相同的两列,作为列分组。例如,表1中的第二列通过语义注释模型将会被确定为列类型为“导演”,表2中的第三列通过语义注释模型也会被确定为“导演”,表1中的第二列和表2中的第三列将会被作为一个列分组。
然后,服务器针对每个列分组,确定该列分组中两列分别包含的各实体单元格的语义,判断两列分别包含的各实体单元格的语义之间是否存在相同的语义。若是,则确定该列分组中的两列为满足初步匹配关系的列,将该列分组中的两列作为目标列;若否,则确定该列分组中的两列为不满足初步匹配关系的列。例如,通过语义注释模型,表1中的“导演甲”和表2中的“甲”将会被识别出代表同一语义,则表1中第二列和表2中第三列这个列分组将被确定为满足初步匹配关系的列。
服务器对每一个列分组进行类型进行比对,确定出两个表格中所有存在初步匹配关系的列,并将这些存在初步匹配关系的列进行进一步的相似度计算达到精细匹配,不再需要将表格所有列进行相似度计算精细匹配,不仅保证了表格相似度匹配的准确率,而且节省了匹配时间。
S106:通过训练完成的特征提取模型分别确定所述两个表格中的目标列的列标识特征,并确定所述两个表格中的目标列的列标识特征之间的第一相似度,以及根据所述两个表格中的目标列的内容,确定所述两个表格中的目标列的第二相似度。
首先,服务器对各目标列的列名进行预处理。其中,预处理包括:将大写字母统一成小写字母以及过滤掉停用词等。
待匹配的两个表格包括第一表格和第二表格,将目标列中属于第一表格的列称为第一目标列,将目标列中属于第二表格的列称为第二目标列。
服务器将经过预处理的第一目标列和第二目标列的列名通过BERT分词器进行分词处理,得到第一目标列和第二目标列对应的列标识向量。
其次,服务器将各列标识向量输入特征提取模型,该特征提取模型是基于大量通用的语料库训练的一种通用模型,可输出中间层结果以用于其他任务。通过该特征提取模型的特征提取子网,得到第一目标列对应的第一列标识特征,以及第二目标列对应的第二列标识特征。
由于第一列标识特征和第二列标识特征均属于一种向量表示,而向量之间的相似度可以通过向量在空间中的距离来体现。所以,将第一列标识特征和第二列标识特征之间的余弦相似度,作为第一列标识特征和第二列标识特征之间的相似度。
然后,对第一目标列和第二目标列进行内容上的匹配,确定第一目标列和第二目标列的内容的数据类型,根据数据类型选择相对应的相似度匹配方式。
若目标列的内容的数据类型为数值型,从第一目标列和第二目标列分别随机抽取第一指定数量单元格的数值内容,根据抽取到的最大值和最小值将数值范围划分为10个均等大小的空间,作为基准空间。按顺序统计第一目标列抽取到的数值内容落到各基准空间中的个数,并做归一化处理,得到第一数值向量;按同样的顺序统计第二目标列抽取到的内容落到各基准空间中的个数,并做归一化处理,得到第二数值向量。将第一数值向量和第二数值向量之间的余弦相似度,作为第一目标列和第二目标列之间的第二相似度。
若目标列的内容的数据类型为字符型,从第一目标列和第二目标列分别抽取第二指定数量单元格的字符内容,将从第一目标列抽取的第二指定数量单元格的字符内容作为第一段落,将从第二目标列抽取到的第二指定数量单元格的字符内容作为第二段落。
对第一段落和第二段落进行预处理,其中,预处理包括:将大写字母统一成小写字母以及过滤掉停用词等。服务器将经过预处理的第一段落和第二段落通过BERT分词器进行分词处理,得到第一段落的第一段落向量以及第二段落的第二段落向量。然后,服务器将第一段落向量和第二段落向量输入S106中的特征提取模型,通过该特征提取模型的特征提取子网,得到第一段落向量对应的第一段落特征,以及第二段落向量对应的第二段落特征。将第一段落特征和第二段落特征之间的余弦相似度,作为第一目标列和第二目标列之间的第二相似度。
若目标列的内容的数据类型为其他类型,只要第一目标列和第二目标列的内容的数据类型相同,即可将第一目标列和第二目标列之间的第二相似度设为预设值。其中,其他类型可包括日期型、布尔型、空间数据类型等除数值型和字符型以外的数据类型。一般的,可将预设值规定为1,也可规定为其他数值,本说明书不做具体限定。
S108:根据所述第一相似度以及所述第二相似度,确定所述两个表格中的目标列是否匹配。
考虑到在进行两个表格的匹配时,表格的列标识和列内容的相似度对于两个表格相似度匹配的影响程度可能不同,所以服务器可以对根据列标识特征确定出的第一相似度以及根据列内容确定出的第二相似度进行加权平均,得到第一目标列和第二目标列之间的相似度。对于第一相似度和第二相似度的权值可根据具体情况设定,第一相似度和第二相似度的权值是归一化的,将加权求和后的相似度值,作为匹配相似度。
若各第一目标列中存在重复的列或各第二目标列中存在重复的列,利用二分匹配算法,求解各第一目标列和各第二目标列间的最大匹配,将所述最大匹配中存在匹配关系的第一目标列和第二目标列,作为匹配列。若各第一目标列中没有重复的列且各第二目标列中也没有重复的列,将存在匹配关系的第一目标列和第二目标列,作为匹配列。
由于本说明书中针对表格进行的列与列之间的匹配是一对一的匹配,即,一个第一表格中的列仅和一个第二表格中的列互相匹配。但是,经过上述过程确定出的各目标列中可能存在一个第一表格中的列与多个第二表格中的列互相匹配的情况。例如,第一表格中的a列和第二表格中的a列互为目标列,同时,第一表格中的a列和第二表格中的b列也互为目标列。所以,为了得到第一目标列和第二目标列间一对一的匹配,可利用目标列的二分图,采用二分图匹配算法求最大匹配,在各第一目标列中存在重复的列或各第二目标列中存在重复的列时,仅保留一对目标列作为匹配列。
若所述匹配列的所述匹配相似度低于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相不匹配的列。若所述匹配列的所述匹配相似度高于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相匹配的列。
基于本说明书实施例中图1提供的基于语义的表格相似度匹配方法中,在本说明书提供的基于语义的表格相似度匹配方法中,首先获取两个待匹配的表格,针对每个待匹配的表格,确定该表格的结构和该表格中实体单元格的语义以及列类型。根据每个表格的列类型,进行初步匹配得到初步匹配结果,并将初步匹配结果中存在匹配关系的列作为目标列,计算目标列之间的第一相似度和第二相似度,确定两个表格中的目标列是否匹配。从上述方法中可以看出,本申请对两个表格进行相似度匹配前,先确定出了表格语义和列类型,以对全表格的语义信息进行解析,在语义信息的基础上进行相似度匹配,使得多源表格相似度匹配更加高效准确,方便后续对多源表格进行关联分析。
在步骤S100中,服务在对待匹配的两个表格进行进一步处理之前,为了完善表格信息,以及统一待匹配表格的数据格式,可以对表格数据进行预处理。
为完善表格信息,可对表格进行缺失值预处理。具体的,可通过填补法和删除法进行缺失值的预处理。一般的,对于缺失值少的行或列采用填补法,对于缺失值多的行或列采用删除法。还可以根据缺失值所在行或列在全表的重要程度选择填补法或删除法,对于重要程度高的行或列的缺失值,选择填补法,即使该行或列缺失值多也不能删除,而对于重要程度低的行或列的缺失值,可采用删除法删除该行或该列。
为统一待匹配表格的数据格式,服务器可以对表格进行脏数据预处理,对单元格中杂乱数据进行格式统一,如对表格数据单位的统一、小数保留位数的统一和日期格式的统一等。
另外,该表格的表格结构除了可以表征表格中的实体单元格外,还可表征表格的标题行和主题列。
具体的,服务器可根据预设的标题行识别规则,对该表格的每行进行识别,确定该表格中的标题行,以及根据预设的主题列识别规则,对该表格的每列进行识别,确定该表格中的主题列。
其中,标题行识别规则可设置为:表格前几行一般是标题行、标题行的数据类型集合应该和其余行数据类型集合存在较大差异以及标题行的文本要么很长要么很短,服务器根据此识别规则对表格的每行进行识别,确定出满足此三条标题行识别规则的最优行,作为该表格的标题行。
类似的,主题列识别规则可设置为:一列中多行的内容都为实体单元格则该列大概率为主题列、主题列的单元格内容长度均值在5~100区间范围内以及主题列的缺失值应该较少,服务器根据此识别规则对表格的每列进行识别,确定出满足此三条主题列识别规则的最优列,作为该表格的主题列。
一般的,标题行为表格整体内容的概括,主题列为表格整体内容的表达角度。当然,也会有表格本身没有标题行的情况,此时主题列也可作为表格整体内容的概况。根据识别出的各实体单元格、所述标题行以及所述主题列,确定该表格的表格结构,这样就可以对表格中除标题行和主题列以外的实体单元格进行进一步的语义注释,以用于表格间的匹配。
当然,针对标题行和主题列的识别规则也可以根据具体应用情况设置,本说明书不做具体限定。
S102步骤中的列注释模型为Dodou模型时,可同时对表格进行CTA操作和列关系注释(Columns-Property Annotation,CPA)操作,输出表格各列的列类型和各列之间的列关系。Dodou模型可以根据各列实体单元格在知识图谱中对应的实体之间的关系,将各列实体间对应的关系确定为列关系,以此对表格进行各列之间关系的预测。然后,服务器可根据列关系,确定两个表格间存在的互相匹配的列。
具体的,对两个表格分别进行语义注释之后,可将第一表格中所有实体单元格的列作为第一目标列,将第二表格中所有实体单元格的列作为第二目标列。然后,选定第一个第一目标列作为第一基准列,通过列注释模型预测到的列关系,判断第二表格中是否有与该第一基准列存在关系的列。若有,确定这些与该第一基准列存在关系列,作为可移除列,从第二目标列中移除,将移除后第二目标列中剩下的列作为与该第一基准列可能存在匹配关系的列。将该第一基准列和各第二目标列中剩下的列分别计算相似度,把相似度最大的第二目标列确定为与该第一基准列互相匹配的列。
依次执行此过程,选定第一个第一目标列作为第二基准列,重复上述步骤,直至确定出所有互相匹配的列。
例如,对于S100步骤中的表1和表2,图2为本说明书中表1和表2内容对应的部分知识图谱。首先将表1中的第一列、第二列和第三列都作为第一目标列,表2中的第一列、第三列和第四列都作为第二目标列,选定表1中第一列作为第一基准列,根据知识图谱推断列关系预测结果,确定出表2中的第三列与表1中的第一列存在“主演了”的关系,表2中的第4列与表1中的第一列存在“导演了”的关系,于是,确定将这两列作为可移除列从第二目标列中移除。这时,第二目标列就只剩下了第一列,只需计算表2的第一列和表1中的第一列的相似度,确定表2的第一列和表1中的第一列是否为互相匹配的列。
如果确定两个单元格的两列之间存在关系,则这两列中的实体必然在知识图谱中存在关系,那这两列就不可能是互相匹配的列了。所以,将第二目标列中与第一基准列存在关系的列移除,可更快速的确定与第一目标列存在匹配关系的列。
S108步骤中的二分图匹配算法可采用匈牙利算法,图3为本说明书中一个目标列的二分图示例,左边为第一表格中的列,右边为第二表格中的列,①表示第一列,②表示第二列,③表示第三列,连线表示存在匹配关系。
从图3可以看出,第一表格中的第一列和第二表格中的第二列和第三列同时存在匹配关系,第一表格中的第二列仅和第二表格中的第二列存在匹配关系,第一表格中的第三列和第二表格中的第一列和第三列同时存在匹配关系。
采用匈牙利算法思想如下,第一步,暂时保留第二表格中的第二列作为与第一表格中的第一列存在匹配关系的列;第二步,发现第一表格中的第二列也与第二表格中的第二列存在匹配关系,且第一表格中的第二列没有其他存在匹配关系的列,但第一表格中的第一列还与第二表格中的第三列存在匹配关系,则更新为将第二表格中的第三列作为与第一表格中的第一列存在匹配关系的列,并将第二表格中的第二列作为与第一表格中的第二列存在匹配关系的列;第三步,发现第一表格中的第三列和第二表格中的第一列和第三列同时存在匹配关系,但第二表格中的第三列已经被作为和第一表格中的第一列存在匹配关系的列了,故将第二表格中的第一列作为与第一表格中的第三列存在匹配关系的列。
这样,就可以实现各第一目标列中没有重复的列且各第二目标列中也没有重复的列,最终得到第一表格中的一列仅和第二表格中一列互为存在匹配关系的列。当然也可采用其他二分匹配算法,得到第一表格中的一列仅和第二表格中一列互为存在匹配关系的列的结果,本说明书不做具体限定。
图4为本说明书中提供的一种语义的表格匹配装置的结构示意图,具体包括:
结构确定模块200,获取待匹配的两个表格,并针对每个表格,确定该表格的表格结构,所述表格结构至少表征所述表格中的实体单元格;
语义确定模块202,将该表格输入训练完成的语义注释模型,确定该表格中各实体单元格的语义,以及该表格中各列的列类型;
初步匹配模块204,根据所述两个表格中各列的列类型以及所述各实体单元格的语义,对所述两个表格中的列进行初步匹配,确定所述两个表格中存在初步匹配关系的列,作为目标列;
匹配模块206,通过训练完成的特征提取模型分别确定所述两个表格中的目标列的列标识特征,并确定所述两个表格中的目标列的列标识特征之间的第一相似度,以及根据所述两个表格中的目标列的内容,确定所述两个表格中的目标列的第二相似度;
判断模块208,根据所述第一相似度以及所述第二相似度,确定所述两个表格中的目标列是否匹配。
可选地,所述结构确定模块200具体用于,根据自然语言处理库的识别工具,对该表格的每个单元格进行实体类型识别,确定该表格包含的各实体单元格;根据预设的标题行识别规则,对该表格的每行进行识别,确定该表格中的标题行,以及根据预设的主题列识别规则,对该表格的每列进行识别,确定该表格中的主题列;根据识别出的所述实体单元格、所述标题行以及所述主题列,确定该表格的表格结构。
可选地,所述语义确定模块202具体用于,通过所述语义注释模型,确定各实体单元格对应的各第一实体特征,以及知识图谱中的各实体对应的第二实体特征;将所述各第一实体特征和所述各第二实体特征进行逐一比对,确定各第一实体特征对应的第二实体特征;根据所述各第一实体特征对应的第二实体特征,确定各实体单元格对应的知识图谱中的实体,以及该实体的属性和与该实体存在关系的其他实体。
可选地,初步匹配模块204具体用于,根据所述两个表格中各列的列类型,确定所述两个表格中列类型相同的两列,作为列分组;针对每个列分组,确定该列分组中两列分别包含的各实体单元格的语义;判断两列分别包含的各实体单元格的语义之间是否存在相同的语义;若是,则确定该列分组中的两列为满足初步匹配关系的列,将该列分组中的两列作为目标列;若否,则确定该列分组中的两列为不满足初步匹配关系的列。
可选地,所述表格包括第一表格和第二表格,所述目标列中属于第一表格的列为第一目标列,所述目标列中属于第二表格的列为第二目标列,匹配模块206具体用于,将所述第一目标列和所述第二目标列输入所述特征提取模型,对所述第一目标列和所述第二目标列的列标识进行特征提取,得到所述第一目标列对应的第一列标识特征,以及所述第二目标列对应的第二列标识特征,并确定所述第一列标识特征和所述第二列标识特征之间相似度,作为第一相似度;确定所述第一目标列和所述第二目标列的内容的数据类型,根据所述数据类型选择对应的相似度匹配方式,并根据所述相似度匹配方式,确定所述第一目标列和所述第二目标列之间的相似度,作为第二相似度。
可选地,匹配模块206具体用于,若目标列内容为数值型,从所述第一目标列和所述第二目标列分别随机抽取第一指定数量单元格的数值内容,将所述第一指定数量单元格的数值内容按照特定方式转换为向量表示,得到第一数值向量和第二数值向量,并确定第一数值向量和第二数值向量之间的相似度,作为所述第一目标列和所述第二目标列之间的第二相似度;若目标列内容为字符型,从所述第一目标列随机抽取第二指定数量单元格的字符内容作为第一段落,从所述第二目标列随机抽取第二指定数量单元格的字符内容作为第二段落,将所述第一段落和所述第二段落输入所述特征提取模型进行特征提取,得到第一段落特征和第二段落特征,并确定所述第一段落特征和所述第二段落特征之间的相似度,所述第一目标列和所述第二目标列之间的第二相似度;若目标列内容为其他类型,所述其他类型包括日期型、布尔型、空间数据类型等,将目标列内容的数据类型相同的所述第一目标列和所述第二目标列之间的第二相似度设为预设相似度。
可选地,所述表格包括第一表格和第二表格,所述目标列中属于第一表格的列为第一目标列,所述目标列中属于第二表格的列为第二目标列,判断模块208具体用于,将所述第一相似度和所述第二相似度进行加权平均操作,确定所述第一目标列和所述第二目标列之间的相似度,作为匹配相似度;若各第一目标列中存在重复的列或各第二目标列中存在重复的列,利用二分匹配算法,求解各第一目标列和各第二目标列间的最大匹配,将所述最大匹配中存在匹配关系的第一目标列和第二目标列,作为匹配列;若各第一目标列中没有重复的列且各第二目标列中也没有重复的列,将存在匹配关系的第一目标列和第二目标列,作为匹配列;若所述匹配列的所述匹配相似度低于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相不匹配的列;若所述匹配列的所述匹配相似度高于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相匹配的列。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种基于语义的多源表格自动匹配方法。
本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的基于语义的多源表格自动匹配方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced BooleanExpression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java HardwareDescription Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated CircuitHardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (7)
1.一种基于语义的多源表格自动匹配方法,其特征在于,包括:
获取待匹配的两个表格,并针对每个表格,确定该表格的表格结构,所述表格结构至少表征所述表格中的实体单元格;
将该表格输入训练完成的语义注释模型,确定该表格中各实体单元格的语义,以及该表格中各列的列类型;
根据所述两个表格中各列的列类型以及所述各实体单元格的语义,对所述两个表格中的列进行初步匹配,确定所述两个表格中存在初步匹配关系的列,作为目标列;
通过训练完成的特征提取模型分别确定所述两个表格中的目标列的列标识特征,并确定所述两个表格中的目标列的列标识特征之间的第一相似度,以及根据所述两个表格中的目标列的内容的数据类型,根据所述数据类型选择对应的相似度匹配方式,并根据所述相似度匹配方式,确定所述两个表格中的目标列的第二相似度,所述两个表格包括第一表格和第二表格,所述目标列中属于第一表格的列为第一目标列,所述目标列中属于第二表格的列为第二目标列;
将所述第一相似度和所述第二相似度进行加权平均操作,确定所述第一目标列和所述第二目标列之间的相似度,作为匹配相似度;
若各第一目标列中存在重复的列或各第二目标列中存在重复的列,利用二分匹配算法,求解各第一目标列和各第二目标列间的最大匹配,将所述最大匹配中存在匹配关系的第一目标列和第二目标列,作为匹配列;
若各第一目标列中没有重复的列且各第二目标列中也没有重复的列,将存在匹配关系的第一目标列和第二目标列,作为匹配列;
若所述匹配列的所述匹配相似度低于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相不匹配的列;
若所述匹配列的所述匹配相似度高于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相匹配的列;
其中,根据所述数据类型选择对应的相似度匹配方式,并根据所述相似度匹配方式,确定所述两个表格中的目标列的第二相似度,具体包括:
若目标列内容为数值型,从所述第一目标列和所述第二目标列分别随机抽取第一指定数量单元格的数值内容,将所述第一指定数量单元格的数值内容按照特定方式转换为向量表示,得到第一数值向量和第二数值向量,并确定第一数值向量和第二数值向量之间的相似度,作为所述第一目标列和所述第二目标列之间的第二相似度;
若目标列内容为字符型,从所述第一目标列随机抽取第二指定数量的单元格的字符内容作为第一段落,从所述第二目标列随机抽取第二指定数量的单元格的字符内容作为第二段落,将所述第一段落和所述第二段落输入所述特征提取模型进行特征提取,得到第一段落特征和第二段落特征,并确定所述第一段落特征和所述第二段落特征之间的相似度,作为所述第一目标列和所述第二目标列之间的第二相似度;
若目标列内容为其他类型,所述其他类型至少包括日期型、布尔型、空间数据类型,将目标列内容的数据类型相同的所述第一目标列和所述第二目标列之间的第二相似度设为预设相似度。
2.如权利要求1所述的方法,其特征在于,确定该表格的表格结构,具体包括:
根据自然语言处理库的识别工具,对该表格的每个单元格进行实体类型识别,确定该表格包含的各实体单元格;
根据预设的标题行识别规则,对该表格的每行进行识别,确定该表格中的标题行,以及根据预设的主题列识别规则,对该表格的每列进行识别,确定该表格中的主题列;
根据识别出的所述实体单元格、所述标题行以及所述主题列,确定该表格的表格结构。
3.如权利要求1所述的方法,其特征在于,将该表格输入训练完成的语义注释模型,确定该表格中各实体单元格的语义,具体包括:
通过所述语义注释模型,确定各实体单元格对应的各第一实体特征,以及知识图谱中的各实体对应的第二实体特征;
将所述各第一实体特征和所述各第二实体特征进行逐一比对,确定各第一实体特征对应的第二实体特征;
根据所述各第一实体特征对应的第二实体特征,确定各实体单元格对应的知识图谱中的实体,以及该实体的属性和与该实体存在关系的其他实体。
4.如权利要求1所述的方法,其特征在于,根据所述两个表格中各列的列类型以及所述各实体单元格的语义,对所述两个表格中的列进行初步匹配,确定所述两个表格中存在初步匹配关系的列,作为目标列,具体包括:
根据所述两个表格中各列的列类型,确定所述两个表格中列类型相同的两列,作为列分组;
针对每个列分组,确定该列分组中两列分别包含的各实体单元格的语义;
判断两列分别包含的各实体单元格的语义之间是否存在相同的语义;
若是,则确定该列分组中的两列为满足初步匹配关系的列,将该列分组中的两列作为目标列;
若否,则确定该列分组中的两列为不满足初步匹配关系的列。
5.一种基于语义的多源表格自动匹配装置,其特征在于,包括:
结构确定模块,获取待匹配的两个表格,并针对每个表格,确定该表格的表格结构,所述表格结构至少表征所述表格中的实体单元格;
语义确定模块,将该表格输入训练完成的语义注释模型,确定该表格中各实体单元格的语义,以及该表格中各列的列类型;
初步匹配模块,根据所述两个表格中各列的列类型以及所述各实体单元格的语义,对所述两个表格中的列进行初步匹配,确定所述两个表格中存在初步匹配关系的列,作为目标列;
匹配模块,通过训练完成的特征提取模型分别确定所述两个表格中的目标列的列标识特征,并确定所述两个表格中的目标列的列标识特征之间的第一相似度,以及根据所述两个表格中的目标列的内容的数据类型,根据所述数据类型选择对应的相似度匹配方式,并根据所述相似度匹配方式,确定所述两个表格中的目标列的第二相似度,所述两个表格包括第一表格和第二表格,所述目标列中属于第一表格的列为第一目标列,所述目标列中属于第二表格的列为第二目标列;
判断模块,将所述第一相似度和所述第二相似度进行加权平均操作,确定所述第一目标列和所述第二目标列之间的相似度,作为匹配相似度;
若各第一目标列中存在重复的列或各第二目标列中存在重复的列,利用二分匹配算法,求解各第一目标列和各第二目标列间的最大匹配,将所述最大匹配中存在匹配关系的第一目标列和第二目标列,作为匹配列;
若各第一目标列中没有重复的列且各第二目标列中也没有重复的列,将存在匹配关系的第一目标列和第二目标列,作为匹配列;
若所述匹配列的所述匹配相似度低于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相不匹配的列;
若所述匹配列的所述匹配相似度高于指定阈值,则确定所述匹配列中的所述第一目标列和所述第二目标列为互相匹配的列;
其中,根据所述数据类型选择对应的相似度匹配方式,并根据所述相似度匹配方式,确定所述两个表格中的目标列的第二相似度,具体包括:
若目标列内容为数值型,从所述第一目标列和所述第二目标列分别随机抽取第一指定数量单元格的数值内容,将所述第一指定数量单元格的数值内容按照特定方式转换为向量表示,得到第一数值向量和第二数值向量,并确定第一数值向量和第二数值向量之间的相似度,作为所述第一目标列和所述第二目标列之间的第二相似度;
若目标列内容为字符型,从所述第一目标列随机抽取第二指定数量的单元格的字符内容作为第一段落,从所述第二目标列随机抽取第二指定数量的单元格的字符内容作为第二段落,将所述第一段落和所述第二段落输入所述特征提取模型进行特征提取,得到第一段落特征和第二段落特征,并确定所述第一段落特征和所述第二段落特征之间的相似度,作为所述第一目标列和所述第二目标列之间的第二相似度;
若目标列内容为其他类型,所述其他类型至少包括日期型、布尔型、空间数据类型,将目标列内容的数据类型相同的所述第一目标列和所述第二目标列之间的第二相似度设为预设相似度。
6.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~4任一项所述的方法。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311285984.8A CN117252183B (zh) | 2023-10-07 | 2023-10-07 | 一种基于语义的多源表格自动匹配方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311285984.8A CN117252183B (zh) | 2023-10-07 | 2023-10-07 | 一种基于语义的多源表格自动匹配方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117252183A CN117252183A (zh) | 2023-12-19 |
CN117252183B true CN117252183B (zh) | 2024-04-02 |
Family
ID=89129068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311285984.8A Active CN117252183B (zh) | 2023-10-07 | 2023-10-07 | 一种基于语义的多源表格自动匹配方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117252183B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118377776A (zh) * | 2024-05-11 | 2024-07-23 | 一半科技(江苏)有限公司 | 基于多源数据的数据治理方法、系统、介质及设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743539A (zh) * | 2021-11-03 | 2021-12-03 | 南京云问网络技术有限公司 | 一种基于深度学习的表格检索方法 |
CN113868389A (zh) * | 2021-09-26 | 2021-12-31 | 平安国际智慧城市科技股份有限公司 | 基于自然语言文本的数据查询方法、装置及计算机设备 |
CN114417885A (zh) * | 2022-01-21 | 2022-04-29 | 东北大学 | 基于概率图模型的网络表格列类型检测方法 |
CN114818710A (zh) * | 2022-04-25 | 2022-07-29 | 中国平安人寿保险股份有限公司 | 表格信息提取方法、装置、设备及介质 |
CN115659989A (zh) * | 2022-10-06 | 2023-01-31 | 东南大学 | 基于文本语义映射关系的Web表格异常数据发现方法 |
CN115840744A (zh) * | 2022-09-01 | 2023-03-24 | 京东科技信息技术有限公司 | 一种表格数据的处理方法、系统、存储介质及电子设备 |
CN116049354A (zh) * | 2023-01-28 | 2023-05-02 | 北京原子回声智能科技有限公司 | 基于自然语言的多表格检索方法及装置 |
CN116127099A (zh) * | 2023-03-03 | 2023-05-16 | 杭州电子科技大学 | 基于图卷积网络的联合文本增强的表实体与类型注释方法 |
CN116150380A (zh) * | 2023-04-18 | 2023-05-23 | 之江实验室 | 一种文本匹配方法、装置、存储介质及设备 |
CN116401344A (zh) * | 2023-02-16 | 2023-07-07 | 广州广电运通金融电子股份有限公司 | 根据问句检索表格的方法和装置 |
CN116543404A (zh) * | 2023-05-09 | 2023-08-04 | 重庆师范大学 | 基于单元格坐标优化的表格语义信息抽取方法、系统、设备及介质 |
CN116702727A (zh) * | 2023-05-06 | 2023-09-05 | 上海百秋新网商数字科技有限公司 | 一种表格处理方法、装置、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190065502A1 (en) * | 2014-08-13 | 2019-02-28 | Google Inc. | Providing information related to a table of a document in response to a search query |
US20190266257A1 (en) * | 2018-02-28 | 2019-08-29 | Laserlike, Inc. | Vector similarity search in an embedded space |
US11562129B2 (en) * | 2020-04-20 | 2023-01-24 | Google Llc | Adding machine understanding on spreadsheets data |
-
2023
- 2023-10-07 CN CN202311285984.8A patent/CN117252183B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113868389A (zh) * | 2021-09-26 | 2021-12-31 | 平安国际智慧城市科技股份有限公司 | 基于自然语言文本的数据查询方法、装置及计算机设备 |
CN113743539A (zh) * | 2021-11-03 | 2021-12-03 | 南京云问网络技术有限公司 | 一种基于深度学习的表格检索方法 |
CN114417885A (zh) * | 2022-01-21 | 2022-04-29 | 东北大学 | 基于概率图模型的网络表格列类型检测方法 |
CN114818710A (zh) * | 2022-04-25 | 2022-07-29 | 中国平安人寿保险股份有限公司 | 表格信息提取方法、装置、设备及介质 |
CN115840744A (zh) * | 2022-09-01 | 2023-03-24 | 京东科技信息技术有限公司 | 一种表格数据的处理方法、系统、存储介质及电子设备 |
CN115659989A (zh) * | 2022-10-06 | 2023-01-31 | 东南大学 | 基于文本语义映射关系的Web表格异常数据发现方法 |
CN116049354A (zh) * | 2023-01-28 | 2023-05-02 | 北京原子回声智能科技有限公司 | 基于自然语言的多表格检索方法及装置 |
CN116401344A (zh) * | 2023-02-16 | 2023-07-07 | 广州广电运通金融电子股份有限公司 | 根据问句检索表格的方法和装置 |
CN116127099A (zh) * | 2023-03-03 | 2023-05-16 | 杭州电子科技大学 | 基于图卷积网络的联合文本增强的表实体与类型注释方法 |
CN116150380A (zh) * | 2023-04-18 | 2023-05-23 | 之江实验室 | 一种文本匹配方法、装置、存储介质及设备 |
CN116702727A (zh) * | 2023-05-06 | 2023-09-05 | 上海百秋新网商数字科技有限公司 | 一种表格处理方法、装置、设备及介质 |
CN116543404A (zh) * | 2023-05-09 | 2023-08-04 | 重庆师范大学 | 基于单元格坐标优化的表格语义信息抽取方法、系统、设备及介质 |
Non-Patent Citations (6)
Title |
---|
A Deep Learning-Based Semantic Table Annotation Method;Zhenkun Ren 等;2022 2nd International Conference on Electronic Information Engineering and Computer Technology (EIECT);20220321;326-331 * |
Contextual word embeddings for tabular data search and integration;José Pilaluisa 等;Neural Computing and Applications;20221130;第34卷;9319–9333 * |
Shuo Zhang 等.Ad hoc table retrieval using semantic similarity.WWW '18: Proceedings of the 2018 World Wide Web ConferenceApril 2018.2018,1553–1562. * |
TabSim: A Siamese Neural Network for Accurate Estimation of Table Similarity;Maryam Habibi 等;2020 IEEE International Conference on Big Data(Big Data);20210319;930-937 * |
面向列语义识别的共现属性交互模型构建与优化;高珊 等;软件学报;20221027;第34卷(第3期);1010-1026 * |
面向表格数据的自动问答研究;孙一博;中国博士学位论文全文数据库 信息科技辑;20220215;I138-129 * |
Also Published As
Publication number | Publication date |
---|---|
CN117252183A (zh) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284363B (zh) | 一种问答方法、装置、电子设备及存储介质 | |
CN117235226A (zh) | 一种基于大语言模型的问题应答方法及装置 | |
CN108154198B (zh) | 知识库实体归一方法、系统、终端和计算机可读存储介质 | |
CN111159330A (zh) | 一种数据库查询语句的生成方法及装置 | |
CN117252183B (zh) | 一种基于语义的多源表格自动匹配方法、装置及存储介质 | |
CN117076650B (zh) | 一种基于大语言模型的智能对话方法、装置、介质及设备 | |
CN112417093B (zh) | 一种模型训练的方法及装置 | |
KR20120047622A (ko) | 디지털 콘텐츠 관리 시스템 및 방법 | |
CN116303989A (zh) | 一种面向多种检索场景的专利检索方法、装置、设备 | |
CN117973544A (zh) | 基于语义距离的文本单位推理方法装置、存储介质和终端 | |
CN117034942B (zh) | 一种命名实体识别方法、装置、设备及可读存储介质 | |
CN117874204A (zh) | 一种知识问答方法、系统、存储介质和计算机设备 | |
CN116186330B (zh) | 一种基于多模态学习的视频去重方法及装置 | |
CN115952859B (zh) | 数据处理方法、装置及设备 | |
CN117113174A (zh) | 一种模型训练的方法、装置、存储介质及电子设备 | |
CN115129890A (zh) | 回馈数据图谱生成方法、生成设备、问答设备及冰箱 | |
CN110968691B (zh) | 司法热点确定方法及装置 | |
CN117033469B (zh) | 一种基于表格语义注释的数据库检索方法、装置以及设备 | |
CN116340469B (zh) | 一种同义词挖掘方法、装置、存储介质及电子设备 | |
CN118193757B (zh) | 一种任务执行方法、装置、存储介质及电子设备 | |
CN117391150B (zh) | 一种基于分层池化图哈希的图数据检索模型训练方法 | |
CN115827935B (zh) | 一种数据处理方法、装置及设备 | |
CN117494068B (zh) | 一种结合深度学习与因果推断的网络舆情分析方法及装置 | |
CN116304837A (zh) | 分类规则的生成方法、装置及设备 | |
CN118069824A (zh) | 一种风险识别的方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |