CN112163101B - 一种面向空间知识图谱的地理实体匹配与融合方法 - Google Patents

一种面向空间知识图谱的地理实体匹配与融合方法 Download PDF

Info

Publication number
CN112163101B
CN112163101B CN202011194857.3A CN202011194857A CN112163101B CN 112163101 B CN112163101 B CN 112163101B CN 202011194857 A CN202011194857 A CN 202011194857A CN 112163101 B CN112163101 B CN 112163101B
Authority
CN
China
Prior art keywords
geographic
entity
geographic entity
name
matched
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
Application number
CN202011194857.3A
Other languages
English (en)
Other versions
CN112163101A (zh
Inventor
乐鹏
上官博屹
龚健雅
姜良存
张明达
胡磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202011194857.3A priority Critical patent/CN112163101B/zh
Publication of CN112163101A publication Critical patent/CN112163101A/zh
Application granted granted Critical
Publication of CN112163101B publication Critical patent/CN112163101B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Software Systems (AREA)
  • Animal Behavior & Ethology (AREA)
  • Remote Sensing (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种面向空间知识图谱的地理实体匹配与融合方法。本发明构建地理实体对象数据集,将空间邻近的地理实体对作为待匹配地理实体对集合,提取名称字面、名称语音、名称词袋、几何、类别相似度获得相似度特征集合;人工标记一定数量的样本,以其与对应的相似度特征为输入、标签值为输出,训练地理实体匹配深度学习网络模型,预测每个待匹配地理实体对并过滤得到匹配地理实体对集合;最后合并获得匹配地理实体集合,制定策略对属性冲突进行消解从而获得融合结果并发布为空间知识图谱。本发明提高了地理实体的匹配精度,避免了人为干扰因素,构建了高精度的地理实体匹配与融合模型,增强了地理实体库的可用性和数据可追溯性。

Description

一种面向空间知识图谱的地理实体匹配与融合方法
技术领域
本发明属于地理信息系统领域,尤其涉及一种面向空间知识图谱的地理实体匹配与融合方法。
背景技术
地理实体是智能地理信息智能服务的基础,融合多源地理实体数据,构建空间知识图谱,可以为各类地理信息服务提供更加丰富完整的地理位置信息。然而,表达同一地理实体的不同来源的地理实体数据在数据结构、地名表达、几何坐标和分类体系等方面存在着差异,从而导致在地理实体融合后会产生歧义。多源地理实体融合需要对这些潜在的差异进行消除并对高维相似特征进行提取,找到匹配的地理实体对象进行属性消歧。现有的地理实体匹配方法大多结合使用多维特征进行计算,涵盖了地理实体对象的空间属性及非空间属性,大致可分为基于空间几何位置特征的匹配与基于非空间属性特征的匹配。随着地理实体对象属性的不断丰富,仅选取单一的属性值作为匹配特征难以实现高精度的匹配效果,将空间位置相似度特征与非空间属性相似度特征结合使用,能够进一步提高相似地名对象匹配的准确性。在得到相应的相似度特征后,需要对所有特征进行加权计算进行最终的匹配判断,而如何对权重进行合理分配是其中的重要问题,目前的方法普遍基于专家经验进行权重分配。但是,人为分配权重具有很大的主观因素,容易出现权重分配不当的情况,从而导致匹配精度的下降。因此,在地理实体数据匹配和融合过程中,需要研究如何有效地提取相似度特征,基于机器学习方法对这些相似度特征进行融合,提高地理实体数据的匹配精度和融合效果。
发明内容
因而为解决上述问题,本发明提供了一种面向空间知识图谱的地理实体匹配与融合方法,从融合多源地理实体数据构建空间知识图谱出发,针对多源地理实体之间存在的差异与相似特征,实现基于深度学习的多源地理实体匹配与融合方法。
本发明的技术方案为一种面向空间知识图谱的地理实体匹配与融合方法,包括以下步骤:
步骤1,构建数据结构、空间坐标系均相同的地理实体对象数据集;
步骤2,根据步骤1中所述数据供应商的类别体系中不同层级的类别的集合中所有类别进行遍历,基于人工标注的方法寻找不同数据供应商中匹配相似的类型;
步骤3,根据不同地理实体供应商提供的地理实体数据构建地理实体数据集,在地理实体数据集中筛选出空间直线距离小于空间距离阈值的地理实体,以构建待匹配地理实体对集合,根据待匹配地理实体对集合分别提取名称字面相似度、名称语音相似度、名称词袋相似度、几何相似度、类别相似度,进一步构建待匹配地理实体对相似度特征集合;
步骤4,从待匹配地理实体对集合中随机选取一定数量的待匹配地理实体对,人工基于经验逐一对比判断每一个随机选择的待匹配地理实体对中两个实体的名称是否近似、空间位置是否邻近、类别是否相同,如果都是,则认为该待匹配地理实体对相似,属于匹配关系,将其划分为正样本,否则划分为负样本,并进行标签标注,获取地理实体匹配样本集合;
步骤5,构建地理实体匹配深度学习网络模型,以地理实体匹配样本集合作为输入数据,将待匹配地理实体对相似度特征集合中获取的对应的待匹配地理实体对匹配样本的相似度特征作为输入数据,地理实体匹配样本集合的样本的标签值为输出进行优化训练,构建训练后地理实体匹配深度学习网络模型;
步骤6,将待匹配的地理实体对集合中的所有待匹配地理实体对,依次通过训练后地理实体匹配深度学习网络模型进行预测得到每个待匹配地理实体对的预测结果,进一步根据每个待匹配地理实体对的预测结果进行过滤筛选得到匹配地理实体对集合;
步骤7,将匹配地理实体对集合中包含相同地理实体的地理实体对进行合并,获得匹配地理实体集合;
步骤8,根据匹配地理实体集集合中所有匹配地理实体集中的地理实体之间的各个属性判断是否相同,进一步获取得到各个匹配地理实体集中存在的属性冲突;
步骤9,根据各个匹配地理实体集中存在的属性冲突,人工制定冲突解决策略对属性冲突进行消解,从而融合匹配地理实体集获得匹配地理实体集融合实体集合;
作为优选,步骤1中所述地理实体对象数据集定义为:
GeoEntityCollectionn={GeoEntityn,1,GeoEntityn,2,...,GeoEntityn,Mn},n∈{1,2,…,N}
其中,GeoEntityCollectionn表示第n个供应商的地理实体对象数据集,N为数据供应商的数量,Mn为第n个数据供应商中地理实体对象的数量;
第n个数据供应商中第m个地理实体对象为:
GeoEntityn,m={GEn,m.name、GEn,m.geom、GEn,m.type、GEn,m.tags}
n∈{1,2,…,N},m∈{1,2,…,Mn}
其中,N为数据供应商的数量,Mn为第n个数据供应商中地理实体对象的数量,GEn,m.name表示第n个数据供应商中第m个地理实体对象的名称,GEn,m.geom表示第n个数据供应商中第m个地理实体对象的空间坐标,GEn,m.type表示第n个数据供应商中第m个地理实体对象的类别,GEn,m.tags表示第n个数据供应商中第m个地理实体对象的标签;
所述GEn,m.name为文本字符串类型,用于描述地理实体名称的文本字符串;
所述GEn,m.geom为地理坐标系GeoCSn中的坐标,具体定义为:
GEn,m.geom={GEn,m.geom.x,GEn,m.geom.y}
n∈{1,2,…,N},m∈{1,2,…,Mn}
其中,GeoCSn为第n个数据供应商中地理实体对象的地理空间坐标系,N为数据供应商的数量,Mn为第n个数据供应商中地理实体对象的数量,GEn,m.geom.x表示第n个数据供应商中第m个地理实体对象在地理空间坐标系中的横轴坐标,GEn,m.geom.y表示第n个数据供应商中第m个地理实体对象在地理空间坐标系中的纵轴坐标,均为浮点数类型;
GEn,m.geom通过空间数据投影坐标转换算法,将GEn,m.geom从GeoCSn转换为统一地理坐标系UGeoCS下;
GEn,m.geomT=GeoTransform(GEn,m.geom,GeoCSn,UGeoCS)
其中,GEn,m.geomT为转换后的地理坐标,GeoTransform将原地理坐标根据原坐标系和目标坐标系进行坐标转换;
所述GEn,m.type为第n个数据供应商的类别体系中不同层级的类别的集合,具体定义为:
GEn,m.type={typen,l,tl}
l∈{1,2,…,Ln},tl∈{1,2,…,Tn,l}
其中,Ln为第n个数据供应商的类别体系中类别层级的数量,Tn,l为第n个数据供应商的类别体系中第l层级的类别数量,typen,l,tl为第n个数据供应商的类别体系的第l层级的第tl个类型;
所述第n个数据供应商的类别体系由多个类别层级组成,具体定义为:
TypeClassn={TypeLeveln,1,TypeLeveln,2,…,TypeLeveln,l}
l∈{1,2,…,Ln}
其中,TypeLeveln,l代表第n个数据供应商的类别体系的第l层类别的集合,Ln为第n个数据供应商的类别体系中类别层级的数量;
TypeLeveln,l有多个类型组成,具体定义为:
TypeLeveln,l={typen,l,1,typen,l,2,…,typen,l,t}
l∈{1,2,…,Ln},t∈{1,2,…,Tn,l}
其中,typen,l,t代表第n个数据供应商的类别体系的第l层类别的第t个类型,Ln为第n个数据供应商的类别体系中类别层级的个数,Tn,l为第n个数据供应商的类别体系中第l层级的类别数量;
所述GEn,m.tags为标签名、标签值的键值对集合,具体定义为:
GEn,m.tags={<tag1,value1>,<tag2,value2>,…,<tagk,valuek>}
k∈{1,2,…,Kn,m}
其中,<tagk,valuek>代表第k个键值对,Kn,m为第n个数据供应商中第m个地理实体对象的键值对的数量;
若GEn,m.name、GEn,m.geom、GEn,m.type、GEn,m.tags中有任意一个值为空值,则去除GeoEntityn,m
若数据供应商n中有两个地理实体对象GEn,m1与GEn,m2,m1≠m2,m1,m2∈{1,2,…,Mn}四个属性都相同,则只选择保留一个对象;
作为优选,步骤2所述基于人工标注的方法寻找不同数据供应商中匹配相似的类型为:
对typen,l,t进行遍历,
n∈{1,2,…,N},l∈{1,2,…,Ln},t∈{1,2,…,Tn,l},基于人工标注的方法寻找和匹配相似的类型typen1,l1,t1与typen2,l2,t2并建立一对一的匹配关系,表示为:
typen1,l1,t1 sameAs typen2,l2,t2
n1≠n2,n1,n2∈{1,2,…,N}
l1∈{1,2,…,Ln1},l2∈{1,2,…,Ln2}
t1∈{1,2,…,Tn1,l1},t2∈{1,2,…,Tn2,l2}
作为优选,步骤3所述筛选出空间距离小于阈值的地理实体为:
GeoDis(GEn1,m1.geomT,GEn2,m2.geomT)<d
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
步骤3所述待匹配地理实体对集合为:
PreMatchC={<GeoEntityn1,m1,GeoEntityn2,m2>}
其中,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的经纬度坐标,GeoDis表示根据GEn1,m1.geomT、GEn2,m2.geomT求通过欧式距离计算得两个地理实体间的空间直线距离,d为设定的空间距离阈值,GeoEntityn1,m1表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体,GeoEntityn2,m2表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体,<GeoEntityn1,m1,GeoEntityn2,m2>表示由GeoEntityn1,m1与GeoEntityn2,m2组成的二元组,即待匹配地理实体对;
步骤3所述提取名称字面相似度为:
Simstring(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于编辑距离计算得到的名称字面相似度,表示为:
Simstring(n1,n2,m1,m2)=1-TextDis(GEn1,m1.name,GEn2,m2.name)/Max(Len(GEn1,m1.name),Len
(GEn2,m2.name))
其中,GEn1,m1.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,TextDis表示根据GEn1,m1.name、GEn2,m2.name基于编辑距离算法求两个文本的编辑距离,Len通过统计文本中字符的个数计算文本长度,Max通过比较数值大小求两个数值的最大值;
步骤3所述提取名称语音相似度为:
Simphonetics(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于字符拼音计算得到的名称语音相似度,计算公式表示为:
Simphonetics(n1,n2,m1,m2)=1-TextDis(Phon(GEn1,m1.name),Phon(GEn2, m2.name))/Max(Len(P
hon(GEn1,m1.name)),Len(Phon(GEn1,m1.name)))
其中,GEn1,m1.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,Phon表示根据GEn1,m1.name基于字典将中文文本转为中文拼音文本,TextDis基于编辑距离算法求两个Phon结果的编辑距离,Len通过统计Phon结果中字符的个数计算文本长度,Max通过比较数值大小求两个数值的最大值;
步骤3所述提取名称词袋相似度为:
Simbow(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于词袋模型的名称词袋相似度,计算公式表示为:
Simbow(n1,n2,m1,m2)=Common(Bow(GEn1,m1.name),Bow(GEn2,m2.name))/Min(Size(Bow(GEn1,m
1.name)),Size(Bow(GEn2,m2.name)))
其中,GEn1,m1.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,Bow根据GEn1,m1.name基于文本分词算法获得文本中词的集合,Common通过对比统计获得两个词的集合Bow中相同的词的个数,Size通过统计获得词的集合Bow中词的个数,Min通过比较数值大小求两个Size结果数值的最小值;
步骤3所述提取几何相似度为:
Simgeometry(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于空间距离的几何相似度,计算公式表示为:
Simgeometry(n1,n2,m1,m2)=1-GeoDis(GEn1,m1.geomT,GEn2,m2.geomT)/d
其中,GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的经纬度坐标,GeoDis表示根据GEn1,m1.geomT、GEn2,m2.geomT求通过欧式距离计算得两个地理实体间的空间直线距离,d为设定的空间距离阈值常量;
步骤3所述提取类别相似度为:
Simtype(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于类型匹配结果的类别相似度,计算公式表示为:
Simtype(n1,n2,m1,m2)=(SameLevels(GEn1,m1.type,GEn2,m2.type)/Min(Ln1,Ln2))2
其中,GEn1,m1.type表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体的类别,GEn2,m2.type表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的类别,SameLevels根据GEn1,m1.type和GEn2,m2.type通过逐层对比求两个类别的类型匹配的最大层数,Ln1为GeoEntityCollectionn1的类别体系中类别层级的个数,Ln2为GeoEntityCollectionn2的类别体系中类别层级的个数,Min通过比较数值大小求两个类别层数Ln1、Ln2的最小值;
步骤3所述构建待匹配地理实体对相似度特征集合为:
PreMatchSimC={PreMatchSimn1,n2,m1,m2}
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,PreMatchSimC表示待匹配地理实体对相似度特征集合,PreMatchSimn1,n2,m1,m2为待匹配地理实体对即<GeoEntityn1,m1,GeoEntityn2,m2>的相似度特征,表示为:
PreMatchSim n1,n2,m1,m2={Simstring(n1,n2,m1,m2),Simphonetics(n1,n2,m1,m2),
Simbow(n1,n2,m1,m2),Simgeometry(n1,n2,m1,m2),Simtype(n1,n2,m1,m2)}
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
作为优选,步骤4所述地理实体匹配样本集合表示为:
MatchSampleC={MatchPSampleC,MatchNSampleC}
其中,MatchPSampleC为正样本集合,MatchNSampleC为负样本集合,表示为:
MatchPSampleC={MatchPSample1,MatchPSample2,…,MatchPSamplesp}
sp∈{1,2,…,SP}
MatchNSampleC={MatchNSample1,MatchNSample2,…,MatchNSamplesn}
sn∈{1,2,…,SN}
其中,SP为正样本个数,SN为负样本个数,MatchPSample为待匹配地理实体对标注后的待匹配地理实体对正匹配样本,MatchNSample为待匹配地理实体对标注后的待匹配地理实体对负匹配样本,表示为:
MatchPSample∈{<<GeoEntityn1,m1,GeoEntityn2,m2>,Labeln1,n2,m1,m2>},
Labeln1,n2,m1,m2=1,
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
MatchNSample∈{<<GeoEntityn1,m1,GeoEntityn2,m2>,Labeln1,n2,m1,m2>},
Labeln1,n2,m1,m2=0,
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,<<GeoEntityn1,m1,GeoEntityn2,m2>,Labeln1,n2,m1,m2>表示待匹配地理实体对样本,Labeln1,n2,m1,m2为样本标签;当Labeln1,n2,m1,m2的值为1时待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>正负样本,当Labeln1,n2,m1,m2的值为0时待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>为负样本。
作为优选,步骤5所述构建深度地理实体匹配深度学习网络模型为:
所述深度地理实体匹配深度学习网络模型由第一个网络模型、第二个网络模型串联构成;
所述第一个网络模型由输入层、2个隐藏层、输出层依次串联级联构成;
所述输入层由数量为K1=3个输入节点并联构成,依次为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>(n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2})的字面相似度Simstring(n1,n2,m1,m2)、语音相似度Simphonetics(n1,n2,m1,m2)、词袋相似度Simbow(n1,n2,m1,m2),;
所述隐藏层1由L11=32个节点并联构成,表示为:
HiddenLayer1,1={node1,1,i},
node1,1,i=Simstring(n1,n2,m1,m2)*w1,1,1,i+Simphonetics(n1,n2,m1,m2)*w1,1,2,i+
Simbow(n1,n2,m1,m2)*w1,1,3,i+K1,1,i
i∈{1,2,…,32}
其中,HiddenLayer1,1表示第一个网络模型的第一个隐藏层,node1,1,i为第一个网络模型的第一个隐藏层的第i个节点的值,w1,1,1,i为第一个网络模型的输入层的第一个节点到第一个隐藏层第i个节点的权重,K1,1,i,为第一个网络模型的输入层节点到第一个隐藏层第i个节点的偏置值,i取值范围为1到32;
所述隐藏层2由L12=32个节点并联构成,表示为:
HiddenLayer1,2={node1,2,i},
node1,2,i=node1,1,1*w1,2,1,i+node1,1,2*w1,2,2,i+…+node1,1,j*w1,2,j,i+…+node1,1,32*w1,2,32,i+K1,2,i
i,j∈{1,2,…,32}
其中,HiddenLayer1,2表示第一个网络模型的第二个隐藏层,node1,2,i为第一个网络模型的第二个隐藏层的第i个节点的值,w1,2,j,i为第一个网络模型的第一个隐藏层的第j个节点到第二个隐藏层第i个节点的权重,K1,2,i,为第一个网络模型的第一个隐藏层节点到第二个隐藏层第i个节点的偏置值,i和j取值范围为1到32;
所述输出层选用ReLU函数作为激活函数最终输出提取出的名称相似度Simname(n1,n2,m1,m2),表示为:
Simname(n1,n2,m1,m2)=Max(0,node1,2,1*w1,3,1,1+node1,2,2*w1,3,2,1+…+node1,2,i*w1,3,i,1+…
+node1,2,32*w1,3,32,1)+K1,3,1),
i∈{1,2,…,32}
其中,node1,2,i为第一个网络模型的第二个隐藏层的第i个节点的值,w1,3,i,1为第一个网络模型的第二个隐藏层的第i个节点到输出层的权重,K1,3,1,为第一个网络模型的第二个隐藏层节点到输出层节点的偏置值,i的取值范围为1到32,Max函数获取输入两个值中的较大值;
所述第一个网络模型的损失函数表示为:
OFunc1=∑(Simname(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Labeln1,n2,m1,m2为地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>的标签值;
第二个网络模型由输入层、2个隐藏层、输出层依次串联级联构成;
所述输入层由数量为K2=3个输入节点并联构成,依次为每个待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>(n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2})的模型1输出Simname(n1,n2,m1,m2)、几何相似度Simgeometry(n1,n2,m1,m2)和类别相似度Simtype(n1,n2,m1,m2);
所述隐藏层1由L21=32个节点并联构成,表示为:
HiddenLayer2,1={node2,1,i},
node2,1,i=Simname(n1,n2,m1,m2)*w2,1,1,i+Simgeometry(n1,n2,m1,m2)*w1,1,2,i+
Simtype(n1,n2,m1,m2)*w1,1,3,i+K2,1,i
i∈{1,2,…,32}
其中,HiddenLayer2,1表示第二个网络模型的第一个隐藏层,node2,1,i为第二个网络模型的第一个隐藏层的第i个节点的值,w2,1,1,i为第二个网络模型的输入层的第一个节点到第一个隐藏层第i个节点的权重,K2,1,i,为第二个网络模型的输入层节点到第一个隐藏层第i个节点的偏置值,i取值范围为1到32;
所述隐藏层2由L22=32个节点并联构成,表示为:
HiddenLayer2,2={node2,2,i},
node2,2,i=node2,1,1*w2,2,1,i+node2,1,2*w2,2,2,i+…+node2,1,j*w2,2,j,i+…+node2,1,32*w2,2,32,i+K2,2,i
i,j∈{1,2,…,32}
其中,HiddenLayer2,2表示第二个网络模型的第二个隐藏层,node2,2,i为第二个网络模型的第二个隐藏层的第i个节点的值,w2,2,j,i为第二个网络模型的第一个隐藏层的第j个节点到第二个隐藏层第i个节点的权重,K2,2,i,为第二个网络模型的第一个隐藏层节点到第二个隐藏层第i个节点的偏置值,i和j取值范围为1到32;
所述输出层选用Sigmoid函数作为激活函数将输出结果映射到0,1之间,表示为;
Output(n1,n2,m1,m2)=1/(1+e-OutputTmp(n1,n2,m1,m2)),
OutputTmp(n1,n2,m1,m2)=node2,2,1*w2,3,1,1+node2,2,2*w2,3,2,1+…+node2,2,i*w2,3,i,1+…
+node2,2,32*w2,3,32,1)+K2,3,1
i∈{1,2,…,32}
其中,Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的输出层的输出值,node2,2,i为第二个网络模型的第二个隐藏层的第i个节点的值,w2,3,i,1为第二个网络模型的第二个隐藏层的第i个节点到输出层的权重,K2,3,1,为第一个网络模型的第二个隐藏层节点到输出层节点的偏置值,i的取值范围为1到32;
所述第二个网络模型的损失函数模型表示为:
OFunc2=∑(Output(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Labeln1,n2,m1,m2为地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>的标签值;
所述深度地理实体匹配深度学习网络模型的总体损失函数为:
CFunc=OFunc1+OFunc2
∑(Simname(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2+∑(Output(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Labeln1,n2,m1,m2为地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>的标签值,Simname(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型1的输出层的输出值,Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型2的输出层的输出值;
所述深度地理实体匹配深度学习网络模型的总体寻优函数为:
OFunc=Mimimize(CFunc)
函数Minimize表示寻优函数的目标是获取输入公式的最小值,使用梯度下降法进行求解;
步骤5所述构建训练后地理实体匹配深度学习网络模型为:
node1,1,i=Simstring(n1,n2,m1,m2)*w* 1,1,1,i+Simphonetics(n1,n2,m1,m2)*w* 1,1,2,i+
Simbow(n1,n2,m1,m2)*w* 1,1,3,i+K* 1,1,i
node1,2,i=node1,1,1*w* 1,2,1,i+node1,1,2*w* 1,2,2,i+…+node1,1,j*w* 1,2,j,i+…+node1,1,32*w* 1,2,32,i+K* 1,2,i
Simname(n1,n2,m1,m2)=Max(0,node1,2,1*w* 1,3,1,1+node1,2,2*w* 1,3,2,1+…+node1,2,i*w* 1,3,i,1+…
+node1,2,32*w* 1,3,32,1)+K* 1,3,1),
node2,1,i=Simname(n1,n2,m1,m2)*w* 2,1,1,i+Simgeometry(n1,n2,m1,m2)*w* 1,1,2,i+
Simtype(n1,n2,m1,m2)*w* 1,1,3,i+K* 2,1,i
node2,2,i=node2,1,1*w* 2,2,1,i+node2,1,2*w* 2,2,2,i+…+node2,1,j*w* 2,2,j,i+…+node2,1,32*w* 2,2,32,i+K* 2,2,i,
Output(n1,n2,m1,m2)=1/(1+e-OutputTmp(n1,n2,m1,m2)),
OutputTmp(n1,n2,m1,m2)=node2,2,1*w* 2,3,1,1+node2,2,2*w* 2,3,2,1+…+node2,2,i*w* 2,3,i,1+…
+node2,2,32*w* 2,3,32,1)+K* 2,3,1
i,j∈{1,2,…,32},
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Simstring(n1,n2,m1,m2)为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>的字面相似度;Simphonetics(n1,n2,m1,m2)为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>的语音相似度;Simbow(n1,n2,m1,m2)为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>的词袋相似度;Simname(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型1的输出层的输出值;Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型2的输出层的输出值,也是总体模型最终的输出值;node表示隐藏层节点,3个下标分别表示模型序号、隐藏层序号、节点序号;w*表示优化训练后的权重参数,4个下标分别表示模型序号、前一网络层序号、当前网络层序号、节点序号;K*表示优化训练后的每层节点的偏置值,3个下标分别表示模型序号、网络层序号、节点序号;
作为优选,步骤6所述进一步根据每个待匹配地理实体对的预测结果进行过滤筛选得到匹配地理实体对集合为:
每个待匹配地理实体对的预测结果为Output(n1,n2,m1,m2);
将Output(n1,n2,m1,m2)>α=0.5的匹配地理实体对集合,表示为:
MatchC=<GeoEntityn1,m1,GeoEntityn2,m2>
Output(n1,n2,m1,m2)>α=0.5,
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,GeoEntityn1,m1表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体,GeoEntityn2,m2表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体,<GeoEntityn1,m1,GeoEntityn2,m2>表示由GeoEntityn1,m1与GeoEntityn2,m2组成的二元组,即待匹配地理实体对,Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的训练后地理实体匹配深度学习网络模型的输出值;
作为优选,步骤7所述匹配地理实体集合为:
CMatchC={CMatchc},c=1,2,…,C
CMatchc={GeoEntityn1,m1,GeoEntityn2,m2,,。。。,GeoEntitynNc,mNc},
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,C表示匹配地理实体集个数,CMatchc表示第c个匹配地理实体集由若干个两两匹配的来自不同地理实体供应商的地理实体组成,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量,GeoEntityn1,m1表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体,GeoEntityn2,m2表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体,GeoEntitynNc,mNc表示第nNc个地理实体供应商即GeoEntityCollectionNnc的第mNc个实体;
作为优选,步骤8所述进一步获取得到各个匹配地理实体集中存在的属性冲突为:
Cxc={Cxc.name,Cxc.geom,Cxc.type,Cxc.tags},
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,Cxc表示第c个匹配地理实体集CMatchc中存在的属性冲突;Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.name表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的名称,GEnNc,mNc.name表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的名称;GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的经纬度坐标,GEnNc,mNc.geomT表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的经纬度坐标;GEn1,m1.type表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的类别,GEn2,m2.type表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的类别,GEnNc,mNc.type表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的类别;GEn1,m1.tags表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的标签,GEn2,m2.tags表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的标签,GEnNc,mNc.tags表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的标签;Cxc.name表示第c个匹配地理实体集CMatchc中的名称属性冲突,当其包含的所有地理实体的名称属性都相同时值为0表示无名称属性冲突,否则值为1表示存在名称属性冲突;Cxc.geom表示第c个匹配地理实体集CMatchc中的几何属性冲突,当其包含的所有地理实体的几何属性都相同时值为0表示无几何属性冲突,否则值为1表示存在几何属性冲突;Cxc.type表示第c个匹配地理实体集CMatchc中的类别属性冲突,当其包含的所有地理实体的类别都相同时值为0表示无类别属性冲突,否则值为1表示存在类别属性冲突;Cxc.tags表示第c个匹配地理实体集CMatchc中的标签属性冲突,当其包含的所有地理实体的标签都相同时值为0表示无标签属性冲突,否则值为1表示存在标签属性冲突;
作为优选,步骤9所述融合匹配地理实体集获得匹配地理实体集融合实体集合为:
FusionEntityC={FusionEntityc},c=1,2,…,C
FusionEntityc={FusionEntityc.name,FusionEntityc.geom,FusionEntityc.type,
FusionEntityc.tags}
其中,FusionEntityC表示匹配地理实体集融合实体集合,C表示匹配地理实体集融合实体的个数,与匹配地理实体集个数相同;FusionEntityc表示第c个匹配地理实体集融合实体,FusionEntityc.name表示c个匹配地理实体集融合实体的名称,FusionEntityc.geom表示c个匹配地理实体集融合实体的经纬度坐标,FusionEntityc.type表示c个匹配地理实体集融合实体的类别,FusionEntityc.tag表示c个匹配地理实体集融合实体的融合标签;
所述匹配地理实体集融合实体的名称,当匹配地理实体集存在名称属性冲突时采用“接受所有冲突的值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的名称,表示为:
FusionEntityc.name={GEn1,m1.name,GEn2,m2.name,…,GEnNc,mNc.name},Cxc.name=1
FusionEntityc.name=GEn1,m1.name=GEn2,m2.name=…=GEnNc,mNc.name,Cxc.name=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.name表示c个匹配地理实体集融合实体的名称,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.name表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的名称,GEnNc,mNc.name表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的名称;Cxc.name表示第c个匹配地理实体集CMatchc中的名称属性冲突;
所述匹配地理实体集融合实体的经纬度坐标,当匹配地理实体集存在几何属性冲突时采用“在冲突值中选取平均值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的经纬度坐标,表示为:
FusionEntityc.geom=Avg(GEn1,m1.geomT,GEn2,m2.geomT,…,GEnNc,mNc.geomT),Cxc.geom=1
FusionEntityc.geom=GEn1,m1.geomT=GEn2,m2.geomT=…=GEnNc,mNc.geomT,Cxc.geom=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.geom表示c个匹配地理实体集融合实体的经纬度坐标,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的经纬度坐标,GEnNc,mNc.geomT表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的经纬度坐标;Cxc.geom表示第c个匹配地理实体集CMatchc中的几何属性冲突;函数Avg通过输入多个地理实体的经纬度坐标求它们的平均经纬度坐标;
所述匹配地理实体集融合实体的类别,当匹配地理实体集存在类别属性冲突时采用“选择在冲突值中出现频率最高的值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的类别,表示为:
FusionEntityc.type=MostFrequency(GEn1,m1.type,GEn2,m2.type,…,GEnNc, mNc.type),
Cxc.type=1
FusionEntityc.type=GEn1,m1.type=GEn2,m2.type=…=GEnNc,mNc.type,Cxc.type=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.type表示c个匹配地理实体集融合实体的类别,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.type表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的类别,GEn2,m2.type表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的类别,GEnNc,mNc.type表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的类别;Cxc.type表示第c个匹配地理实体集CMatchc中的类别属性冲突;函数MostFrequency通过输入多个地理实体的类别获取出现频率最高的类别
所述匹配地理实体集融合实体的标签,当匹配地理实体集存在标签属性冲突时采用“接受所有冲突的值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的标签,表示为:
FusionEntityc.tags={GEn1,m1.tags,GEn2,m2.tags,…,GEnNc,mNc.tags},Cxc.tags=1
FusionEntityc.tags=GEn1,m1.tags=GEn2,m2.tags=…=GEnNc,mNc.tags,Cxc.tags=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.tags表示c个匹配地理实体集融合实体的标签,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.tags表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的标签,GEn2,m2.tags表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的标签,GEnNc,mNc.tags表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的标签;Cxc.tags表示第c个匹配地理实体集CMatchc中的标签属性冲突;
本发明的优点是:
兼顾了空间实体的空间与非空间属性,综合考虑了实体名称、几何位置和类别结构等特征对相似度进提取,提高了地理实体的匹配精度;
引入了基于深度学习技术的神经网络模型对相似度特征进行抽取、组合与训练,避免了人为干扰因素,构建了高精度的地理实体匹配与融合模型;
使用知识图谱对地理实体匹配和融合结果进行表达,并引入了空间溯源模型,增强了地理实体库的可用性和数据可追溯性。
附图说明
图1:是本发明实施例的总体实现架构图。
图2:是本发明实施例的类别融合示意图。
图3:是本发明实施例的地理实体匹配神经网络模型结构图。
图4:是本发明实施例的空间知识图谱本体模型结构图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合实例对本发明作进一步详细描述,应当理解,此处所描述的实施案例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供了一种面向空间知识图谱的地理实体匹配与融合方法,从融合多源地理实体数据构建空间知识图谱出发,针对多源地理实体之间存在的差异与相似特征,实现基于深度学习的多源地理实体匹配与融合方法。
实施例总体实现架构参见附图1。首先,对地理实体数据的分类体系进行比较和合并,使用人工语义映射的方法在多个地理实体分类体系中寻找具有相似语义特征的类别进行融合;在这基础上兼顾地理实体的空间与非空间属性,综合考虑实体名称、几何位置和类别结构等特征对相似度进提取,并引入深度学习技术对相似度特征进行组合与训练,获取匹配的地理实体;最后制定出相应的冲突解决策略对匹配的地理实体进行属性消歧,从而融合多源地理实体数据构建空间位置知识图谱。主要过程包括以下步骤:
本发明的技术方案为一种面向空间知识图谱的地理实体匹配与融合方法,包括以下步骤:
步骤1,构建数据结构、空间坐标系均相同的地理实体对象数据集;
步骤1中所述地理实体对象数据集定义为:
GeoEntityCollectionn={GeoEntityn,1,GeoEntityn,2,...,GeoEntityn,Mn},n∈{1,2,…,
N}
其中,GeoEntityCollectionn表示第n个供应商的地理实体对象数据集,使用的数据供应商可以包括众源地理数据供应商OpenStreetMap、基于位置的服务数据供应商百度地图、全球地名服务数据供应商GeoNames等,N为数据供应商的数量,Mn为第n个数据供应商中地理实体对象的数量;
第n个数据供应商中第m个地理实体对象为:
GeoEntityn,m={GEn,m.name、GEn,m.geom、GEn,m.type、GEn,m.tags}
n∈{1,2,…,N},m∈{1,2,…,Mn}
其中,N为数据供应商的数量,Mn为第n个数据供应商中地理实体对象的数量,GEn,m.name表示第n个数据供应商中第m个地理实体对象的名称,GEn,m.geom表示第n个数据供应商中第m个地理实体对象的空间坐标,GEn,m.type表示第n个数据供应商中第m个地理实体对象的类别,GEn,m.tags表示第n个数据供应商中第m个地理实体对象的标签;
所述GEn,m.name为文本字符串类型,用于描述地理实体名称的文本字符串,如“武汉大学”;
所述GEn,m.geom为地理坐标系GeoCSn中的坐标,具体定义为:
GEn,m.geom={GEn,m.geom.x,GEn,m.geom.y}
n∈{1,2,…,N},m∈{1,2,…,Mn}
其中,GeoCSn为第n个数据供应商中地理实体对象的地理空间坐标系,如百度地图的bd09坐标系,N为数据供应商的数量,Mn为第n个数据供应商中地理实体对象的数量,GEn,m.geom.x表示第n个数据供应商中第m个地理实体对象在地理空间坐标系中的横轴坐标,GEn,m.geom.y表示第n个数据供应商中第m个地理实体对象在地理空间坐标系中的纵轴坐标,均为浮点数类型;
GEn,m.geom通过空间数据投影坐标转换算法,将GEn,m.geom从GeoCSn转换为统一地理坐标系UGeoCS下,如WGS84坐标系;
GEn,m.geomT=GeoTransform(GEn,m.geom,GeoCSn,UGeoCS)
其中,GEn,m.geomT为转换后的地理坐标,GeoTransform将原地理坐标根据原坐标系和目标坐标系进行坐标转换;
所述GEn,m.type为第n个数据供应商的类别体系中不同层级的类别的集合,具体定义为:
GEn,m.type={typen,l,tl}
l∈{1,2,…,Ln},tl∈{1,2,…,Tn,l}
其中,Ln为第n个数据供应商的类别体系中类别层级的数量,Tn,l为第n个数据供应商的类别体系中第l层级的类别数量,typen,l,tl为第n个数据供应商的类别体系的第l层级的第tl个类型;
所述第n个数据供应商的类别体系由多个类别层级组成,具体定义为:
TypeClassn={TypeLeveln,1,TypeLeveln,2,…,TypeLeveln,l}
l∈{1,2,…,Ln}
其中,TypeLeveln,l代表第n个数据供应商的类别体系的第l层类别的集合,Ln为第n个数据供应商的类别体系中类别层级的数量;
TypeLeveln,l有多个类型组成,具体定义为:
TypeLeveln,l={typen,l,1,typen,l,2,…,typen,l,t}
l∈{1,2,…,Ln},t∈{1,2,…,Tn,l}
其中,typen,l,t代表第n个数据供应商的类别体系的第l层类别的第t个类型,Ln为第n个数据供应商的类别体系中类别层级的个数,Tn,l为第n个数据供应商的类别体系中第l层级的类别数量;
所述GEn,m.tags为标签名、标签值的键值对集合,具体定义为:
GEn,m.tags={<tag1,value1>,<tag2,value2>,…,<tagk,valuek>}
k∈{1,2,…,Kn,m}
其中,<tagk,valuek>代表第k个键值对,Kn,m为第n个数据供应商中第m个地理实体对象的键值对的数量;
若GEn,m.name、GEn,m.geom、GEn,m.type、GEn,m.tags中有任意一个值为空值,则去除GeoEntityn,m
若数据供应商n中有两个地理实体对象GEn,m1与GEn,m2,m1≠m2,m1,m2∈{1,2,…,Mn}四个属性都相同,则只选择保留一个对象;
步骤2,根据步骤1中所述数据供应商的类别体系中不同层级的类别的集合中所有类别进行遍历,基于人工标注的方法寻找不同数据供应商中匹配相似的类型;
步骤2所述基于人工标注的方法寻找不同数据供应商中匹配相似的类型为:
对typen,l,t进行遍历,
n∈{1,2,…,N},l∈{1,2,…,Ln},t∈{1,2,…,Tn,l},基于人工标注的方法寻找和匹配相似的类型typen1,l1,t1与typen2,l2,t2并建立一对一的匹配关系,表示为:
typen1,l1,t1 sameAs typen2,l2,t2
n1≠n2,n1,n2∈{1,2,…,N}
l1∈{1,2,…,Ln1},l2∈{1,2,…,Ln2}
t1∈{1,2,…,Tn1,l1},t2∈{1,2,…,Tn2,l2}
如数据供应商1的第2层类别的第1个类型type1,2,1为“餐馆”,数据供应商2的第2层类别的第2个类型type2,2,2为“饭店”,它们的语义相同,则建立匹配关系type1,2,1sameAstype2,2,2,并使用文件进行记录;如图2所示,基于语义理解,可以发现百度地图的地理实体类别“生活服务:售票处”与OpenStreetMap地理实体的类别“shop:ticket”相似,因此可以创建两种类别之间的语义映射;
步骤3,根据不同地理实体供应商提供的地理实体数据构建地理实体数据集,在地理实体数据集中筛选出空间直线距离小于空间距离阈值的地理实体,以构建待匹配地理实体对集合,根据待匹配地理实体对集合分别提取名称字面相似度、名称语音相似度、名称词袋相似度、几何相似度、类别相似度,进一步构建待匹配地理实体对相似度特征集合;
步骤3所述筛选出空间距离小于阈值的地理实体为:
GeoDis(GEn1,m1.geomT,GEn2,m2.geomT)<d
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
步骤3所述待匹配地理实体对集合为:
PreMatchC={<GeoEntityn1,m1,GeoEntityn2,m2>}
其中,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的经纬度坐标,GeoDis表示根据GEn1,m1.geomT、GEn2,m2.geomT求通过欧式距离计算得两个地理实体间的空间直线距离,d为设定的空间距离阈值,GeoEntityn1,m1表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体,GeoEntityn2,m2表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体,<GeoEntityn1,m1,GeoEntityn2,m2>表示由GeoEntityn1,m1与GeoEntityn2,m2组成的二元组,即待匹配地理实体对;
步骤3所述提取名称字面相似度为:
Simstring(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于编辑距离计算得到的名称字面相似度,表示为:
Simstring(n1,n2,m1,m2)=1-TextDis(GEn1,m1.name,GEn2,m2.name)/Max(Len(GEn1,m1.name),Len
(GEn2,m2.name))
其中,GEn1,m1.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,TextDis表示根据GEn1,m1.name、GEn2,m2.name基于编辑距离算法求两个文本的编辑距离,Len通过统计文本中字符的个数计算文本长度,Max通过比较数值大小求两个数值的最大值;如“珞瑜路”与“珞喻路”的编辑距离为1,最大文本长度为3,因此可以得到字面相似度为1-1/3=0.67;
步骤3所述提取名称语音相似度为:
Simphonetics(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于字符拼音计算得到的名称语音相似度,计算公式表示为:
Simphonetics(n1,n2,m1,m2)=1-TextDis(Phon(GEn1,m1.name),Phon(GEn2, m2.name))/Max(Len(P
hon(GEn1,m1.name)),Len(Phon(GEn1,m1.name)))
其中,GEn1,m1.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,Phon表示根据GEn1,m1.name基于字典将中文文本转为中文拼音文本,TextDis基于编辑距离算法求两个Phon结果的编辑距离,Len通过统计Phon结果中字符的个数计算文本长度,Max通过比较数值大小求两个数值的最大值;如,如“珞瑜路”与“珞喻路”对应的拼音编码均为“luo yu lu”,编辑距离为0,因此可以得到语音相似度为1.0;
步骤3所述提取名称词袋相似度为:
Simbow(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于词袋模型的名称词袋相似度,计算公式表示为:
Simbow(n1,n2,m1,m2)=Common(Bow(GEn1,m1.name),Bow(GEn2,m2.name))/Min(Size(Bow(GEn1,m
1.name)),Size(Bow(GEn2,m2.name)))
其中,GEn1,m1.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,Bow根据GEn1,m1.name基于文本分词算法获得文本中词的集合,Common通过对比统计获得两个词的集合Bow中相同的词的个数,Size通过统计获得词的集合Bow中词的个数,Min通过比较数值大小求两个Size结果数值的最小值;如“珞瑜路”对应的词袋为[“珞”,“瑜”,“路”],“珞喻路”对应的词袋为[“珞”,“喻”,“路”],其相同词个数为2,最小词袋容量为3,因此可以得到词袋相似度为2/3=0.67;
步骤3所述提取几何相似度为:
Simgeometry(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于空间距离的几何相似度,计算公式表示为:
Simgeometry(n1,n2,m1,m2)=1-GeoDis(GEn1,m1.geomT,GEn2,m2.geomT)/d
其中,GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的经纬度坐标,GeoDis表示根据GEn1,m1.geomT、GEn2,m2.geomT求通过欧式距离计算得两个地理实体间的空间直线距离,d为设定的空间距离阈值常量;如d设为1000米,两个地理实体的经纬度坐标分别为(0,0)与(0.001,0),它们的欧式距离为0.001度约111米,因此可以得到几何相似度为1-111/100=0.889;
步骤3所述提取类别相似度为:
Simtype(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于类型匹配结果的类别相似度,计算公式表示为:
Simtype(n1,n2,m1,m2)=(SameLevels(GEn1,m1.type,GEn2,m2.type)/Min(Ln1,Ln2))2
其中,GEn1,m1.type表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体的类别,GEn2,m2.type表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的类别,SameLevels根据GEn1,m1.type和GEn2,m2.type通过逐层对比求两个类别的类型匹配的最大层数,Ln1为GeoEntityCollectionn1的类别体系中类别层级的个数,Ln2为GeoEntityCollectionn2的类别体系中类别层级的个数,Min通过比较数值大小求两个类别层数Ln1、Ln2的最小值;如两个地理实体的类别分别为“生活服务:售票处”和“生活服务:公共厕所”,它们所属的地理实体供应商的类别体系都是2个层级,只有第一个层级的类型相同,因此可以得到类别相似度为(1/2)2=0.25;
步骤3所述构建待匹配地理实体对相似度特征集合为:
PreMatchSimC={PreMatchSimn1,n2,m1,m2}
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,PreMatchSimC表示待匹配地理实体对相似度特征集合,PreMatchSimn1,n2,m1,m2为待匹配地理实体对即<GeoEntityn1,m1,GeoEntityn2,m2>的相似度特征,表示为:
PreMatchSim n1,n2,m1,m2={Simstring(n1,n2,m1,m2),Simphonetics(n1,n2,m1,m2),
Simbow(n1,n2,m1,m2),Simgeometry(n1,n2,m1,m2),Simtype(n1,n2,m1,m2)}
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
步骤4,从待匹配地理实体对集合中随机选取一定数量的待匹配地理实体对,人工基于经验逐一对比判断每一个随机选择的待匹配地理实体对中两个实体的名称是否近似、空间位置是否邻近、类别是否相同,如果都是,则认为该待匹配地理实体对相似,属于匹配关系,将其划分为正样本,否则划分为负样本,并进行标签标注,获取地理实体匹配样本集合;
步骤4所述地理实体匹配样本集合表示为:
MatchSampleC={MatchPSampleC,MatchNSampleC}
其中,MatchPSampleC为正样本集合,MatchNSampleC为负样本集合,表示为:
MatchPSampleC={MatchPSample1,MatchPSample2,…,MatchPSamplesp}
sp∈{1,2,…,SP}
MatchNSampleC={MatchNSample1,MatchNSample2,…,MatchNSamplesn}
sn∈{1,2,…,SN}
其中,SP为正样本个数,SN为负样本个数,MatchPSample为待匹配地理实体对标注后的待匹配地理实体对正匹配样本,MatchNSample为待匹配地理实体对标注后的待匹配地理实体对负匹配样本,表示为:
MatchPSample∈{<<GeoEntityn1,m1,GeoEntityn2,m2>,Labeln1,n2,m1,m2>},
Labeln1,n2,m1,m2=1,
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
MatchNSample∈{<<GeoEntityn1,m1,GeoEntityn2,m2>,Labeln1,n2,m1,m2>},
Labeln1,n2,m1,m2=0,
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,<<GeoEntityn1,m1,GeoEntityn2,m2>,Labeln1,n2,m1,m2>表示待匹配地理实体对样本,Labeln1,n2,m1,m2为样本标签;当Labeln1,n2,m1,m2的值为1时待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>正负样本,当Labeln1,n2,m1,m2的值为0时待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>为负样本。
步骤5,构建地理实体匹配深度学习网络模型,以地理实体匹配样本集合作为输入数据,将待匹配地理实体对相似度特征集合中获取的对应的待匹配地理实体对匹配样本的相似度特征作为输入数据,地理实体匹配样本集合的样本的标签值为输出进行优化训练,构建训练后地理实体匹配深度学习网络模型;
步骤5所述构建深度地理实体匹配深度学习网络模型为:
所述深度地理实体匹配深度学习网络模型由第一个网络模型、第二个网络模型串联构成,如图3所示;
所述第一个网络模型由输入层、2个隐藏层、输出层依次串联级联构成;
所述输入层由数量为K1=3个输入节点并联构成,依次为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>(n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2})的字面相似度Simstring(n1,n2,m1,m2)、语音相似度Simphonetics(n1,n2,m1,m2)、词袋相似度Simbow(n1,n2,m1,m2),;
所述隐藏层1由L11=32个节点并联构成,表示为:
HiddenLayer1,1={node1,1,i},
node1,1,i=Simstring(n1,n2,m1,m2)*w1,1,1,i+Simphonetics(n1,n2,m1,m2)*w1,1,2,i+
Simbow(n1,n2,m1,m2)*w1,1,3,i+K1,1,i
i∈{1,2,…,32}
其中,HiddenLayer1,1表示第一个网络模型的第一个隐藏层,node1,1,i为第一个网络模型的第一个隐藏层的第i个节点的值,w1,1,1,i为第一个网络模型的输入层的第一个节点到第一个隐藏层第i个节点的权重,K1,1,i,为第一个网络模型的输入层节点到第一个隐藏层第i个节点的偏置值,i取值范围为1到32;
所述隐藏层2由L12=32个节点并联构成,表示为:
HiddenLayer1,2={node1,2,i},
node1,2,i=node1,1,1*w1,2,1,i+node1,1,2*w1,2,2,i+…+node1,1,j*w1,2,j,i+…+node1,1,32*w1,2,32,i+K1,2,i
i,j∈{1,2,…,32}
其中,HiddenLayer1,2表示第一个网络模型的第二个隐藏层,node1,2,i为第一个网络模型的第二个隐藏层的第i个节点的值,w1,2,j,i为第一个网络模型的第一个隐藏层的第j个节点到第二个隐藏层第i个节点的权重,K1,2,i,为第一个网络模型的第一个隐藏层节点到第二个隐藏层第i个节点的偏置值,i和j取值范围为1到32;
所述输出层选用ReLU函数作为激活函数最终输出提取出的名称相似度Simname(n1,n2,m1,m2),表示为:
Simname(n1,n2,m1,m2)=Max(0,node1,2,1*w1,3,1,1+node1,2,2*w1,3,2,1+…+node1,2,i*w1,3,i,1+…
+node1,2,32*w1,3,32,1)+K1,3,1),
i∈{1,2,…,32}
其中,node1,2,i为第一个网络模型的第二个隐藏层的第i个节点的值,w1,3,i,1为第一个网络模型的第二个隐藏层的第i个节点到输出层的权重,K1,3,1,为第一个网络模型的第二个隐藏层节点到输出层节点的偏置值,i的取值范围为1到32,Max函数获取输入两个值中的较大值;
所述第一个网络模型的损失函数表示为:
OFunc1=∑(Simname(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Labeln1,n2,m1,m2为地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>的标签值;
第二个网络模型由输入层、2个隐藏层、输出层依次串联级联构成;
所述输入层由数量为K2=3个输入节点并联构成,依次为每个待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>(n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2})的模型1输出Simname(n1,n2,m1,m2)、几何相似度Simgeometry(n1,n2,m1,m2)和类别相似度Simtype(n1,n2,m1,m2);
所述隐藏层1由L21=32个节点并联构成,表示为:
HiddenLayer2,1={node2,1,i},
node2,1,i=Simname(n1,n2,m1,m2)*w2,1,1,i+Simgeometry(n1,n2,m1,m2)*w1,1,2,i+
Simtype(n1,n2,m1,m2)*w1,1,3,i+K2,1,i
i∈{1,2,…,32}
其中,HiddenLayer2,1表示第二个网络模型的第一个隐藏层,node2,1,i为第二个网络模型的第一个隐藏层的第i个节点的值,w2,1,1,i为第二个网络模型的输入层的第一个节点到第一个隐藏层第i个节点的权重,K2,1,i,为第二个网络模型的输入层节点到第一个隐藏层第i个节点的偏置值,i取值范围为1到32;
所述隐藏层2由L22=32个节点并联构成,表示为:
HiddenLayer2,2={node2,2,i},
node2,2,i=node2,1,1*w2,2,1,i+node2,1,2*w2,2,2,i+…+node2,1,j*w2,2,j,i+…+node2,1,32*w2,2,32,i+K2,2,i
i,j∈{1,2,…,32}
其中,HiddenLayer2,2表示第二个网络模型的第二个隐藏层,node2,2,i为第二个网络模型的第二个隐藏层的第i个节点的值,w2,2,j,i为第二个网络模型的第一个隐藏层的第j个节点到第二个隐藏层第i个节点的权重,K2,2,i,为第二个网络模型的第一个隐藏层节点到第二个隐藏层第i个节点的偏置值,i和j取值范围为1到32;
所述输出层选用Sigmoid函数作为激活函数将输出结果映射到0,1之间,表示为;
Output(n1,n2,m1,m2)=1/(1+e-OutputTmp(n1,n2,m1,m2)),
OutputTmp(n1,n2,m1,m2)=node2,2,1*w2,3,1,1+node2,2,2*w2,3,2,1+…+node2,2,i*w2,3,i,1+…
+node2,2,32*w2,3,32,1)+K2,3,1
i∈{1,2,…,32}
其中,Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的输出层的输出值,node2,2,i为第二个网络模型的第二个隐藏层的第i个节点的值,w2,3,i,1为第二个网络模型的第二个隐藏层的第i个节点到输出层的权重,K2,3,1,为第一个网络模型的第二个隐藏层节点到输出层节点的偏置值,i的取值范围为1到32;
所述第二个网络模型的损失函数模型表示为:
OFunc2=∑(Output(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Labeln1,n2,m1,m2为地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>的标签值;
所述深度地理实体匹配深度学习网络模型的总体损失函数为:
CFunc=OFunc1+OFunc2
∑(Simname(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2+∑(Output(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Labeln1,n2,m1,m2为地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>的标签值,Simname(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型1的输出层的输出值,Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型2的输出层的输出值;
所述深度地理实体匹配深度学习网络模型的总体寻优函数为:
OFunc=Mimimize(CFunc)
函数Minimize表示寻优函数的目标是获取输入公式的最小值,使用梯度下降法进行求解;
步骤5所述构建训练后地理实体匹配深度学习网络模型为:
node1,1,i=Simstring(n1,n2,m1,m2)*w* 1,1,1,i+Simphonetics(n1,n2,m1,m2)*w* 1,1,2,i+
Simbow(n1,n2,m1,m2)*w* 1,1,3,i+K* 1,1,i
node1,2,i=node1,1,1*w* 1,2,1,i+node1,1,2*w* 1,2,2,i+…+node1,1,j*w* 1,2,j,i+…+node1,1,32*w* 1,2,32,i+K* 1,2,i
Simname(n1,n2,m1,m2)=Max(0,node1,2,1*w* 1,3,1,1+node1,2,2*w* 1,3,2,1+…+node1,2,i*w* 1,3,i,1+…
+node1,2,32*w* 1,3,32,1)+K* 1,3,1),
node2,1,i=Simname(n1,n2,m1,m2)*w* 2,1,1,i+Simgeometry(n1,n2,m1,m2)*w* 1,1,2,i+
Simtype(n1,n2,m1,m2)*w* 1,1,3,i+K* 2,1,i
node2,2,i=node2,1,1*w* 2,2,1,i+node2,1,2*w* 2,2,2,i+…+node2,1,j*w* 2,2,j,i+…+node2,1,32*w* 2,2,32,i+K* 2,2,i,
Output(n1,n2,m1,m2)=1/(1+e-OutputTmp(n1,n2,m1,m2)),
OutputTmp(n1,n2,m1,m2)=node2,2,1*w* 2,3,1,1+node2,2,2*w* 2,3,2,1+…+node2,2,i*w* 2,3,i,1+…
+node2,2,32*w* 2,3,32,1)+K* 2,3,1
i,j∈{1,2,…,32},
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Simstring(n1,n2,m1,m2)为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>的字面相似度;Simphonetics(n1,n2,m1,m2)为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>的语音相似度;Simbow(n1,n2,m1,m2)为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>的词袋相似度;Simname(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型1的输出层的输出值;Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型2的输出层的输出值,也是总体模型最终的输出值;node表示隐藏层节点,3个下标分别表示模型序号、隐藏层序号、节点序号;w*表示优化训练后的权重参数,4个下标分别表示模型序号、前一网络层序号、当前网络层序号、节点序号;K*表示优化训练后的每层节点的偏置值,3个下标分别表示模型序号、网络层序号、节点序号;
步骤6,将待匹配的地理实体对集合中的所有待匹配地理实体对,依次通过训练后地理实体匹配深度学习网络模型进行预测得到每个待匹配地理实体对的预测结果,进一步根据每个待匹配地理实体对的预测结果进行过滤筛选得到匹配地理实体对集合;
步骤6所述进一步根据每个待匹配地理实体对的预测结果进行过滤筛选得到匹配地理实体对集合为:
每个待匹配地理实体对的预测结果为Output(n1,n2,m1,m2);
将Output(n1,n2,m1,m2)>α=0.5的匹配地理实体对集合,表示为:
MatchC=<GeoEntityn1,m1,GeoEntityn2,m2>
Output(n1,n2,m1,m2)>α=0.5,
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,GeoEntityn1,m1表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体,GeoEntityn2,m2表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体,<GeoEntityn1,m1,GeoEntityn2,m2>表示由GeoEntityn1,m1与GeoEntityn2,m2组成的二元组,即待匹配地理实体对,Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的训练后地理实体匹配深度学习网络模型的输出值;
步骤7,将匹配地理实体对集合中包含相同地理实体的地理实体对进行合并,获得匹配地理实体集合;
步骤7所述匹配地理实体集合为:
CMatchC={CMatchc},c=1,2,…,C
CMatchc={GeoEntityn1,m1,GeoEntityn2,m2,,。。。,GeoEntitynNc,mNc},
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,C表示匹配地理实体集个数,CMatchc表示第c个匹配地理实体集由若干个两两匹配的来自不同地理实体供应商的地理实体组成,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量,GeoEntityn1,m1表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体,GeoEntityn2,m2表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体,GeoEntitynNc,mNc表示第nNc个地理实体供应商即GeoEntityCollectionNnc的第mNc个实体;
步骤8,根据匹配地理实体集集合中所有匹配地理实体集中的地理实体之间的各个属性判断是否相同,进一步获取得到各个匹配地理实体集中存在的属性冲突;
步骤8所述进一步获取得到各个匹配地理实体集中存在的属性冲突为:
Cxc={Cxc.name,Cxc.geom,Cxc.type,Cxc.tags},
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,Cxc表示第c个匹配地理实体集CMatchc中存在的属性冲突;Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.name表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的名称,GEnNc,mNc.name表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的名称;GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的经纬度坐标,GEnNc,mNc.geomT表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的经纬度坐标;GEn1,m1.type表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的类别,GEn2,m2.type表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的类别,GEnNc,mNc.type表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的类别;GEn1,m1.tags表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的标签,GEn2,m2.tags表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的标签,GEnNc,mNc.tags表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的标签;Cxc.name表示第c个匹配地理实体集CMatchc中的名称属性冲突,当其包含的所有地理实体的名称属性都相同时值为0表示无名称属性冲突,否则值为1表示存在名称属性冲突;Cxc.geom表示第c个匹配地理实体集CMatchc中的几何属性冲突,当其包含的所有地理实体的几何属性都相同时值为0表示无几何属性冲突,否则值为1表示存在几何属性冲突;Cxc.type表示第c个匹配地理实体集CMatchc中的类别属性冲突,当其包含的所有地理实体的类别都相同时值为0表示无类别属性冲突,否则值为1表示存在类别属性冲突;Cxc.tags表示第c个匹配地理实体集CMatchc中的标签属性冲突,当其包含的所有地理实体的标签都相同时值为0表示无标签属性冲突,否则值为1表示存在标签属性冲突;
步骤9,根据各个匹配地理实体集中存在的属性冲突,人工制定冲突解决策略对属性冲突进行消解,从而融合匹配地理实体集获得匹配地理实体集融合实体集合;
步骤9所述融合匹配地理实体集获得匹配地理实体集融合实体集合为:
FusionEntityC={FusionEntityc},c=1,2,…,C
FusionEntityc={FusionEntityc.name,FusionEntityc.geom,FusionEntityc.type,
FusionEntityc.tags}
其中,FusionEntityC表示匹配地理实体集融合实体集合,C表示匹配地理实体集融合实体的个数,与匹配地理实体集个数相同;FusionEntityc表示第c个匹配地理实体集融合实体,FusionEntityc.name表示第c个匹配地理实体集融合实体的名称,FusionEntityc.geom表示第c个匹配地理实体集融合实体的经纬度坐标,FusionEntityc.type表示第c个匹配地理实体集融合实体的类别,FusionEntityc.tag表示第c个匹配地理实体集融合实体的标签;
所述匹配地理实体集融合实体的名称,当匹配地理实体集存在名称属性冲突时采用“接受所有冲突的值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的名称,表示为:
FusionEntityc.name={GEn1,m1.name,GEn2,m2.name,…,GEnNc,mNc.name},Cxc.name=1
FusionEntityc.name=GEn1,m1.name=GEn2,m2.name=…=GEnNc,mNc.name,Cxc.name=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.name表示c个匹配地理实体集融合实体的名称,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.name表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的名称,GEnNc,mNc.name表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的名称;Cxc.name表示第c个匹配地理实体集CMatchc中的名称属性冲突;
所述匹配地理实体集融合实体的经纬度坐标,当匹配地理实体集存在几何属性冲突时采用“在冲突值中选取平均值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的经纬度坐标,表示为:
FusionEntityc.geom=Avg(GEn1,m1.geomT,GEn2,m2.geomT,…,GEnNc,mNc.geomT),Cxc.geom=1
FusionEntityc.geom=GEn1,m1.geomT=GEn2,m2.geomT=…=GEnNc,mNc.geomT,Cxc.geom=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.geom表示c个匹配地理实体集融合实体的经纬度坐标,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的经纬度坐标,GEnNc,mNc.geomT表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的经纬度坐标;Cxc.geom表示第c个匹配地理实体集CMatchc中的几何属性冲突;函数Avg通过输入多个地理实体的经纬度坐标求它们的平均经纬度坐标;
所述匹配地理实体集融合实体的类别,当匹配地理实体集存在类别属性冲突时采用“选择在冲突值中出现频率最高的值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的类别,表示为:
FusionEntityc.type=MostFrequency(GEn1,m1.type,GEn2,m2.type,…,GEnNc, mNc.type),
Cxc.type=1
FusionEntityc.type=GEn1,m1.type=GEn2,m2.type=…=GEnNc,mNc.type,Cxc.type=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.type表示c个匹配地理实体集融合实体的类别,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.type表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的类别,GEn2,m2.type表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的类别,GEnNc,mNc.type表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的类别;Cxc.type表示第c个匹配地理实体集CMatchc中的类别属性冲突;函数MostFrequency通过输入多个地理实体的类别获取出现频率最高的类别
所述匹配地理实体集融合实体的标签,当匹配地理实体集存在标签属性冲突时采用“接受所有冲突的值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的标签,表示为:
FusionEntityc.tags={GEn1,m1.tags,GEn2,m2.tags,…,GEnNc,mNc.tags},Cxc.tags=1
FusionEntityc.tags=GEn1,m1.tags=GEn2,m2.tags=…=GEnNc,mNc.tags,Cxc.tags=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.tags表示c个匹配地理实体集融合实体的标签,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.tags表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的标签,GEn2,m2.tags表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的标签,GEnNc,mNc.tags表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的标签;Cxc.tags表示第c个匹配地理实体集CMatchc中的标签属性冲突;
步骤10,基于本体建模语言OWL(Web Ontology Language)进行空间知识图谱本体建模,模型可如图4所示,将匹配地理实体集融合实体集合、生成该结果的地理实体匹配与融合过程表示为RDF(Resource Description Framework)格式的数据文件作为空间知识图谱进行发布。
应当理解的是,本申请书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本申请专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本申请权利要求所保护的范围情况下,还可以做出替换或变形,均落入本申请的保护范围之内,本申请的请求保护范围应以所附权利要求为准。

Claims (10)

1.一种面向空间知识图谱的地理实体匹配与融合方法,其特征在于,包括以下步骤:
步骤1,构建数据结构、空间坐标系均相同的地理实体对象数据集;
步骤2,步骤1中数据的供应商的类别体系中不同层级的类别的集合中所有类别进行遍历,基于人工标注的方法寻找不同数据供应商中匹配相似的类型;
步骤3,根据不同地理实体供应商提供的地理实体数据构建地理实体数据集,在地理实体数据集中筛选出空间直线距离小于空间距离阈值的地理实体,以构建待匹配地理实体对集合,根据待匹配地理实体对集合分别提取名称字面相似度、名称语音相似度、名称词袋相似度、几何相似度、类别相似度,进一步构建待匹配地理实体对相似度特征集合;
步骤4,从待匹配地理实体对集合中随机选取一定数量的待匹配地理实体对,人工基于经验逐一对比判断每一个随机选择的待匹配地理实体对中两个实体的名称是否近似、空间位置是否邻近、类别是否相同,如果都是,则认为该待匹配地理实体对相似,属于匹配关系,将其划分为正样本,否则划分为负样本,并进行标签标注,获取地理实体匹配样本集合;
步骤5,构建地理实体匹配深度学习网络模型,以地理实体匹配样本集合作为输入数据,将待匹配地理实体对相似度特征集合中获取的对应的待匹配地理实体对匹配样本的相似度特征作为输入数据,地理实体匹配样本集合的样本的标签值为输出进行优化训练,构建训练后地理实体匹配深度学习网络模型;
步骤6,将待匹配的地理实体对集合中的所有待匹配地理实体对,依次通过训练后地理实体匹配深度学习网络模型进行预测得到每个待匹配地理实体对的预测结果,进一步根据每个待匹配地理实体对的预测结果进行过滤筛选得到匹配地理实体对集合;
步骤7,将匹配地理实体对集合中包含相同地理实体的地理实体对进行合并,获得匹配地理实体集合;
步骤8,根据匹配地理实体集集合中所有匹配地理实体集中的地理实体之间的各个属性判断是否相同,进一步获取得到各个匹配地理实体集中存在的属性冲突;
步骤9,根据各个匹配地理实体集中存在的属性冲突,人工制定冲突解决策略对属性冲突进行消解,从而融合匹配地理实体集获得匹配地理实体集融合实体集合。
2.根据权利要求1所述的面向空间知识图谱的地理实体匹配与融合方法,其特征在于:
步骤1中所述地理实体对象数据集定义为:
GeoEntityCollectionn={GeoEntityn,1,GeoEntityn,2,...,GeoEntityn,Mn},n∈{1,2,…,N}
其中,GeoEntityCollectionn表示第n个供应商的地理实体对象数据集,N为数据供应商的数量,Mn为第n个数据供应商中地理实体对象的数量;
第n个数据供应商中第m个地理实体对象为:
GeoEntityn,m={GEn,m.name、GEn,m.geom、GEn,m.type、GEn,m.tags}
n∈{1,2,…,N},m∈{1,2,…,Mn}
其中,N为数据供应商的数量,Mn为第n个数据供应商中地理实体对象的数量,GEn,m.name表示第n个数据供应商中第m个地理实体对象的名称,GEn,m.geom表示第n个数据供应商中第m个地理实体对象的空间坐标,GEn,m.type表示第n个数据供应商中第m个地理实体对象的类别,GEn,m.tags表示第n个数据供应商中第m个地理实体对象的标签;
所述GEn,m.name为文本字符串类型,用于描述地理实体名称的文本字符串;
所述GEn,m.geom为地理坐标系GeoCSn中的坐标,具体定义为:
GEn,m.geom={GEn,m.geom.x,GEn,m.geom.y}
n∈{1,2,…,N},m∈{1,2,…,Mn}
其中,GeoCSn为第n个数据供应商中地理实体对象的地理空间坐标系,N为数据供应商的数量,Mn为第n个数据供应商中地理实体对象的数量,GEn,m.geom.x表示第n个数据供应商中第m个地理实体对象在地理空间坐标系中的横轴坐标,GEn,m.geom.y表示第n个数据供应商中第m个地理实体对象在地理空间坐标系中的纵轴坐标,均为浮点数类型;
GEn,m.geom通过空间数据投影坐标转换算法,将GEn,m.geom从GeoCSn转换为统一地理坐标系UGeoCS下;
GEn,m.geomT=GeoTransform(GEn,m.geom,GeoCSn,UGeoCS)
其中,GEn,m.geomT为转换后的地理坐标,GeoTransform将原地理坐标根据原坐标系和目标坐标系进行坐标转换;
所述GEn,m.type为第n个数据供应商的类别体系中不同层级的类别的集合,具体定义为:
GEn,m.type={typen,l,tl}
l∈{1,2,…,Ln},tl∈{1,2,…,Tn,l}
其中,Ln为第n个数据供应商的类别体系中类别层级的数量,Tn,l为第n个数据供应商的类别体系中第l层级的类别数量,typen,l,tl为第n个数据供应商的类别体系的第l层级的第tl个类型;
所述第n个数据供应商的类别体系由多个类别层级组成,具体定义为:
TypeClassn={TypeLeveln,1,TypeLeveln,2,…,TypeLeveln,l}
l∈{1,2,…,Ln}
其中,TypeLeveln,l代表第n个数据供应商的类别体系的第l层类别的集合,Ln为第n个数据供应商的类别体系中类别层级的数量;
TypeLeveln,l有多个类型组成,具体定义为:
TypeLeveln,l={typen,l,1,typen,l,2,…,typen,l,t}
l∈{1,2,…,Ln},t∈{1,2,…,Tn,l}
其中,typen,l,t代表第n个数据供应商的类别体系的第l层类别的第t个类型,Ln为第n个数据供应商的类别体系中类别层级的个数,Tn,l为第n个数据供应商的类别体系中第l层级的类别数量;
所述GEn,m.tags为标签名、标签值的键值对集合,具体定义为:
GEn,m.tags={<tag1,value1>,<tag2,value2>,…,<tagk,valuek>}
k∈{1,2,…,Kn,m}
其中,<tagk,valuek>代表第k个键值对,Kn,m为第n个数据供应商中第m个地理实体对象的键值对的数量;
若GEn,m.name、GEn,m.geom、GEn,m.type、GEn,m.tags中有任意一个值为空值,则去除GeoEntityn,m
若数据供应商n中有两个地理实体对象GEn,m1与GEn,m2,m1≠m2,m1,m2∈{1,2,…,Mn}四个属性都相同,则只选择保留一个对象。
3.根据权利要求1所述的面向空间知识图谱的地理实体匹配与融合方法,其特征在于:
步骤2所述基于人工标注的方法寻找不同数据供应商中匹配相似的类型为:
对typen,l,t进行遍历,
n∈{1,2,…,N},l∈{1,2,…,Ln},t∈{1,2,…,Tn,l},基于人工标注的方法寻找和匹配相似的类型typen1,l1,t1与typen2,l2,t2并建立一对一的匹配关系,表示为:
typen1,l1,t1 sameAs typen2,l2,t2
n1≠n2,n1,n2∈{1,2,…,N}
l1∈{1,2,…,Ln1},l2∈{1,2,…,Ln2}
t1∈{1,2,…,Tn1,l1},t2∈{1,2,…,Tn2,l2}。
4.根据权利要求1所述的面向空间知识图谱的地理实体匹配与融合方法,其特征在于:
步骤3所述筛选出空间直线距离小于空间距离阈值的地理实体为:
GeoDis(GEn1,m1.geomT,GEn2,m2.geomT)<d
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
步骤3所述待匹配地理实体对集合为:
PreMatchC={<GeoEntityn1,m1,GeoEntityn2,m2>}
其中,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的经纬度坐标,GeoDis表示根据GEn1,m1.geomT、GEn2,m2.geomT求通过欧式距离计算得两个地理实体间的空间直线距离,d为设定的空间距离阈值,GeoEntityn1,m1表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体,GeoEntityn2,m2表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体,<GeoEntityn1,m1,GeoEntityn2,m2>表示由GeoEntityn1,m1与GeoEntityn2,m2组成的二元组,即待匹配地理实体对;
步骤3所述提取名称字面相似度为:
Simstring(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于编辑距离计算得到的名称字面相似度,表示为:
Simstring(n1,n2,m1,m2)=1-TextDis(GEn1,m1.name,GEn2,m2.name)/Max(Len(GEn1, m1.name),Len(GEn2,m2.name))
其中,GEn1,m1.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,TextDis表示根据GEn1,m1.name、GEn2,m2.name基于编辑距离算法求两个文本的编辑距离,Len通过统计文本中字符的个数计算文本长度,Max通过比较数值大小求两个数值的最大值;
步骤3所述提取名称语音相似度为:
Simphonetics(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于字符拼音计算得到的名称语音相似度,计算公式表示为:
Simphonetics(n1,n2,m1,m2)=1-TextDis(Phon(GEn1,m1.name),Phon(GEn2,m2.name))/Max(Len(Phon(GEn1,m1.name)),Len(Phon(GEn1,m1.name)))
其中,GEn1,m1.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,Phon表示根据GEn1,m1.name基于字典将中文文本转为中文拼音文本,TextDis基于编辑距离算法求两个Phon结果的编辑距离,Len通过统计Phon结果中字符的个数计算文本长度,Max通过比较数值大小求两个数值的最大值;
步骤3所述提取名称词袋相似度为:
Simbow(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于词袋模型的名称词袋相似度,计算公式表示为:
Simbow(n1,n2,m1,m2)=Common(Bow(GEn1,m1.name),Bow(GEn2,m2.name))/Min(Size(Bow(GEn1,m1.name)),Size(Bow(GEn2,m2.name)))
其中,GEn1,m1.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的名称,Bow根据GEn1,m1.name基于文本分词算法获得文本中词的集合,Common通过对比统计获得两个词的集合Bow中相同的词的个数,Size通过统计获得词的集合Bow中词的个数,Min通过比较数值大小求两个Size结果数值的最小值;
步骤3所述提取几何相似度为:
Simgeometry(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于空间距离的几何相似度,计算公式表示为:
Simgeometry(n1,n2,m1,m2)=1-GeoDis(GEn1,m1.geomT,GEn2,m2.geomT)/d
其中,GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的经纬度坐标,GeoDis表示根据GEn1,m1.geomT、GEn2,m2.geomT求通过欧式距离计算得两个地理实体间的空间直线距离,d为设定的空间距离阈值常量;
步骤3所述提取类别相似度为:
Simtype(n1,n2,m1,m2)为待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>基于类型匹配结果的类别相似度,计算公式表示为:
Simtype(n1,n2,m1,m2)=(SameLevels(GEn1,m1.type,GEn2,m2.type)/Min(Ln1,Ln2))2
其中,GEn1,m1.type表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体的类别,GEn2,m2.type表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体的类别,SameLevels根据GEn1,m1.type和GEn2,m2.type通过逐层对比求两个类别的类型匹配的最大层数,Ln1为GeoEntityCollectionn1的类别体系中类别层级的个数,Ln2为GeoEntityCollectionn2的类别体系中类别层级的个数,Min通过比较数值大小求两个类别层数Ln1、Ln2的最小值;
步骤3所述构建待匹配地理实体对相似度特征集合为:
PreMatchSimC={PreMatchSimn1,n2,m1,m2}
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,PreMatchSimC表示待匹配地理实体对相似度特征集合,PreMatchSimn1,n2,m1,m2为待匹配地理实体对即<GeoEntityn1,m1,GeoEntityn2,m2>的相似度特征,表示为:
PreMatchSim n1,n2,m1,m2={Simstring(n1,n2,m1,m2),Simphonetics(n1,n2,m1,m2),
Simbow(n1,n2,m1,m2),Simgeometry(n1,n2,m1,m2),Simtype(n1,n2,m1,m2)}
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}。
5.根据权利要求1所述的面向空间知识图谱的地理实体匹配与融合方法,其特征在于:
步骤4所述地理实体匹配样本集合表示为:
MatchSampleC={MatchPSampleC,MatchNSampleC}
其中,MatchPSampleC为正样本集合,MatchNSampleC为负样本集合,表示为:
MatchPSampleC={MatchPSample1,MatchPSample2,…,MatchPSamplesp}
sp∈{1,2,…,SP}
MatchNSampleC={MatchNSample1,MatchNSample2,…,MatchNSamplesn}
sn∈{1,2,…,SN}
其中,SP为正样本个数,SN为负样本个数,MatchPSample为待匹配地理实体对标注后的待匹配地理实体对正匹配样本,MatchNSample为待匹配地理实体对标注后的待匹配地理实体对负匹配样本,表示为:
MatchPSample∈{<<GeoEntityn1,m1,GeoEntityn2,m2>,Labeln1,n2,m1,m2>},
Labeln1,n2,m1,m2=1,
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
MatchNSample∈{<<GeoEntityn1,m1,GeoEntityn2,m2>,Labeln1,n2,m1,m2>},
Labeln1,n2,m1,m2=0,
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,<<GeoEntityn1,m1,GeoEntityn2,m2>,Labeln1,n2,m1,m2>表示待匹配地理实体对样本,Labeln1,n2,m1,m2为样本标签;当Labeln1,n2,m1,m2的值为1时待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>正负样本,当Labeln1,n2,m1,m2的值为0时待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>为负样本。
6.根据权利要求1所述的面向空间知识图谱的地理实体匹配与融合方法,其特征在于:
步骤5所述构建地理实体匹配深度学习网络模型为:
所述地理实体匹配深度学习网络模型由第一个网络模型、第二个网络模型串联构成;
所述第一个网络模型由输入层、2个隐藏层、输出层依次串联级联构成;
所述输入层由数量为K1=3个输入节点并联构成,依次为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>(n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2})的字面相似度Simstring(n1,n2,m1,m2)、语音相似度Simphonetics(n1,n2,m1,m2)、词袋相似度Simbow(n1,n2,m1,m2),;
所述隐藏层1由L11=32个节点并联构成,表示为:
HiddenLayer1,1={node1,1,i},
node1,1,i=Simstring(n1,n2,m1,m2)*w1,1,1,i+Simphonetics(n1,n2,m1,m2)*w1,1,2,i+
Simbow(n1,n2,m1,m2)*w1,1,3,i+K1,1,i
i∈{1,2,…,32}
其中,HiddenLayer1,1表示第一个网络模型的第一个隐藏层,node1,1,i为第一个网络模型的第一个隐藏层的第i个节点的值,w1,1,1,i为第一个网络模型的输入层的第一个节点到第一个隐藏层第i个节点的权重,K1,1,i,为第一个网络模型的输入层节点到第一个隐藏层第i个节点的偏置值,i取值范围为1到32;
所述隐藏层2由L12=32个节点并联构成,表示为:
HiddenLayer1,2={node1,2,i},
node1,2,i=node1,1,1*w1,2,1,i+node1,1,2*w1,2,2,i+…+node1,1,j*w1,2,j,i+…+node1,1,32*w1,2,32,i+K1,2,i,i,j∈{1,2,…,32}
其中,HiddenLayer1,2表示第一个网络模型的第二个隐藏层,node1,2,i为第一个网络模型的第二个隐藏层的第i个节点的值,w1,2,j,i为第一个网络模型的第一个隐藏层的第j个节点到第二个隐藏层第i个节点的权重,K1,2,i,为第一个网络模型的第一个隐藏层节点到第二个隐藏层第i个节点的偏置值,i和j取值范围为1到32;
所述输出层选用ReLU函数作为激活函数最终输出提取出的名称相似度Simname(n1,n2,m1,m2),表示为:
Simname(n1,n2,m1,m2)=Max(0,node1,2,1*w1,3,1,1+node1,2,2*w1,3,2,1+…+node1,2,i*w1,3,i,1+…+node1,2,32*w1,3,32,1)+K1,3,1),
i∈{1,2,…,32}
其中,node1,2,i为第一个网络模型的第二个隐藏层的第i个节点的值,w1,3,i,1为第一个网络模型的第二个隐藏层的第i个节点到输出层的权重,K1,3,1,为第一个网络模型的第二个隐藏层节点到输出层节点的偏置值,i的取值范围为1到32,Max函数获取输入两个值中的较大值;
所述第一个网络模型的损失函数表示为:
OFunc1=∑(Simname(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Labeln1,n2,m1,m2为地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>的标签值;
第二个网络模型由输入层、2个隐藏层、输出层依次串联级联构成;
所述输入层由数量为K2=3个输入节点并联构成,依次为每个待匹配地理实体对<GeoEntityn1,m1,GeoEntityn2,m2>(n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2})的模型1输出Simname(n1,n2,m1,m2)、几何相似度Simgeometry(n1,n2,m1,m2)和类别相似度Simtype(n1,n2,m1,m2);
所述隐藏层1由L21=32个节点并联构成,表示为:
HiddenLayer2,1={node2,1,i},
node2,1,i=Simname(n1,n2,m1,m2)*w2,1,1,i+Simgeometry(n1,n2,m1,m2)*w1,1,2,i+Simtype(n1,n2,m1,m2)*w1,1,3,i+K2,1,i
i∈{1,2,…,32}
其中,HiddenLayer2,1表示第二个网络模型的第一个隐藏层,node2,1,i为第二个网络模型的第一个隐藏层的第i个节点的值,w2,1,1,i为第二个网络模型的输入层的第一个节点到第一个隐藏层第i个节点的权重,K2,1,i,为第二个网络模型的输入层节点到第一个隐藏层第i个节点的偏置值,i取值范围为1到32;
所述隐藏层2由L22=32个节点并联构成,表示为:
HiddenLayer2,2={node2,2,i},
node2,2,i=node2,1,1*w2,2,1,i+node2,1,2*w2,2,2,i+…+node2,1,j*w2,2,j,i+…+node2,1,32*w2,2,32,i+K2,2,i
i,j∈{1,2,…,32}
其中,HiddenLayer2,2表示第二个网络模型的第二个隐藏层,node2,2,i为第二个网络模型的第二个隐藏层的第i个节点的值,w2,2,j,i为第二个网络模型的第一个隐藏层的第j个节点到第二个隐藏层第i个节点的权重,K2,2,i,为第二个网络模型的第一个隐藏层节点到第二个隐藏层第i个节点的偏置值,i和j取值范围为1到32;
所述输出层选用Sigmoid函数作为激活函数将输出结果映射到0,1之间,表示为;
Output(n1,n2,m1,m2)=1/(1+e-OutputTmp(n1,n2,m1,m2)),
OutputTmp(n1,n2,m1,m2)=node2,2,1*w2,3,1,1+node2,2,2*w2,3,2,1+…+node2,2,i*w2,3,i,1+…+node2,2,32*w2,3,32,1)+K2,3,1
i∈{1,2,…,32}
其中,Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的输出层的输出值,node2,2,i为第二个网络模型的第二个隐藏层的第i个节点的值,w2,3,i,1为第二个网络模型的第二个隐藏层的第i个节点到输出层的权重,K2,3,1,为第一个网络模型的第二个隐藏层节点到输出层节点的偏置值,i的取值范围为1到32;
所述第二个网络模型的损失函数模型表示为:
OFunc2=∑(Output(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Labeln1,n2,m1,m2为地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>的标签值;
所述深度地理实体匹配深度学习网络模型的总体损失函数为:
CFunc=OFunc1+OFunc2
∑(Simname(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2+∑(Output(n1,n2,m1,m2)-Labeln1,n2,m1,m2)2
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N}
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Labeln1,n2,m1,m2为地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>的标签值,Simname(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型1的输出层的输出值,Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型2的输出层的输出值;
所述深度地理实体匹配深度学习网络模型的总体寻优函数为:
OFunc=Mimimize(CFunc)
函数Minimize表示寻优函数的目标是获取输入公式的最小值,使用梯度下降法进行求解;
步骤5所述构建训练后地理实体匹配深度学习网络模型为:
node1,1,i=Simstring(n1,n2,m1,m2)*w* 1,1,1,i+Simphonetics(n1,n2,m1,m2)*w* 1,1,2,i+
Simbow(n1,n2,m1,m2)*w* 1,1,3,i+K* 1,1,i
node1,2,i=node1,1,1*w* 1,2,1,i+node1,1,2*w* 1,2,2,i+…+node1,1,j*w* 1,2,j,i+…+node1,1,32*w* 1,2,32,i+K* 1,2,i
Simname(n1,n2,m1,m2)=Max(0,node1,2,1*w* 1,3,1,1+node1,2,2*w* 1,3,2,1+…+node1,2,i*w* 1,3,i,1+…+node1,2,32*w* 1,3,32,1)+K* 1,3,1),
node2,1,i=Simname(n1,n2,m1,m2)*w* 2,1,1,i+Simgeometry(n1,n2,m1,m2)*w* 1,1,2,i+Simtype(n1,n2,m1,m2)*w* 1,1,3,i+K* 2,1,i
node2,2,i=node2,1,1*w* 2,2,1,i+node2,1,2*w* 2,2,2,i+…+node2,1,j*w* 2,2,j,i+…+node2,1,32*w* 2,2,32,i+K* 2,2,i,
Output(n1,n2,m1,m2)=1/(1+e-OutputTmp(n1,n2,m1,m2)),
OutputTmp(n1,n2,m1,m2)=node2,2,1*w* 2,3,1,1+node2,2,2*w* 2,3,2,1+…+node2,2,i*w* 2,3,i,1+…+node2,2,32*w* 2,3,32,1)+K* 2,3,1
i,j∈{1,2,…,32},
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,Simstring(n1,n2,m1,m2)为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>的字面相似度;Simphonetics(n1,n2,m1,m2)为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>的语音相似度;Simbow(n1,n2,m1,m2)为每个待匹配地理实体对样本<GeoEntityn1,m1,GeoEntityn2,m2>的词袋相似度;Simname(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型1的输出层的输出值;Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的模型2的输出层的输出值,也是总体模型最终的输出值;node表示隐藏层节点,3个下标分别表示模型序号、隐藏层序号、节点序号;w*表示优化训练后的权重参数,4个下标分别表示模型序号、前一网络层序号、当前网络层序号、节点序号;K*表示优化训练后的每层节点的偏置值,3个下标分别表示模型序号、网络层序号、节点序号。
7.根据权利要求1所述的面向空间知识图谱的地理实体匹配与融合方法,其特征在于:
步骤6所述进一步根据每个待匹配地理实体对的预测结果进行过滤筛选得到匹配地理实体对集合为:
每个待匹配地理实体对的预测结果为Output(n1,n2,m1,m2);
将Output(n1,n2,m1,m2)>α=0.5的匹配地理实体对集合,表示为:
MatchC=<GeoEntityn1,m1,GeoEntityn2,m2>
Output(n1,n2,m1,m2)>α=0.5,
n1≠n2,n1∈{1,2,…,N},n2∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2}
其中,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,GeoEntityn1,m1表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体,GeoEntityn2,m2表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体,<GeoEntityn1,m1,GeoEntityn2,m2>表示由GeoEntityn1,m1与GeoEntityn2,m2组成的二元组,即待匹配地理实体对,Output(n1,n2,m1,m2)表示地理实体匹配样本集合的样本<GeoEntityn1,m1,GeoEntityn2,m2>作为输入的训练后地理实体匹配深度学习网络模型的输出值。
8.根据权利要求1所述的面向空间知识图谱的地理实体匹配与融合方法,其特征在于:
步骤7所述匹配地理实体集合为:
CMatchC={CMatchc},c=1,2,…,C
CMatchc={GeoEntityn1,m1,GeoEntityn2,m2,…,GeoEntitynNc,mNc},
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,C表示匹配地理实体集个数,CMatchc表示第c个匹配地理实体集由若干个两两匹配的来自不同地理实体供应商的地理实体组成,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量,GeoEntityn1,m1表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个实体,GeoEntityn2,m2表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个实体,GeoEntitynNc,mNc表示第nNc个地理实体供应商即GeoEntityCollectionNnc的第mNc个实体。
9.根据权利要求1所述的面向空间知识图谱的地理实体匹配与融合方法,其特征在于:
步骤8所述进一步获取得到各个匹配地理实体集中存在的属性冲突为:
Cxc={Cxc.name,Cxc.geom,Cxc.type,Cxc.tags},
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,Cxc表示第c个匹配地理实体集CMatchc中存在的属性冲突;Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.name表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的名称,GEn2,m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的名称,GEnNc,mNc.name表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的名称;GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的经纬度坐标,GEnNc,mNc.geomT表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的经纬度坐标;GEn1,m1.type表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的类别,GEn2,m2.type表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的类别,GEnNc,mNc.type表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的类别;GEn1,m1.tags表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的标签,GEn2,m2.tags表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的标签,GEnNc,mNc.tags表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的标签;Cxc.name表示第c个匹配地理实体集CMatchc中的名称属性冲突,当其包含的所有地理实体的名称属性都相同时值为0表示无名称属性冲突,否则值为1表示存在名称属性冲突;Cxc.geom表示第c个匹配地理实体集CMatchc中的几何属性冲突,当其包含的所有地理实体的几何属性都相同时值为0表示无几何属性冲突,否则值为1表示存在几何属性冲突;Cxc.type表示第c个匹配地理实体集CMatchc中的类别属性冲突,当其包含的所有地理实体的类别都相同时值为0表示无类别属性冲突,否则值为1表示存在类别属性冲突;Cxc.tags表示第c个匹配地理实体集CMatchc中的标签属性冲突,当其包含的所有地理实体的标签都相同时值为0表示无标签属性冲突,否则值为1表示存在标签属性冲突。
10.根据权利要求1所述的面向空间知识图谱的地理实体匹配与融合方法,其特征在于:
步骤9所述融合匹配地理实体集获得匹配地理实体集融合实体集合为:
FusionEntityC={FusionEntityc},c=1,2,…,C
FusionEntityc={FusionEntityc.name,FusionEntityc.geom,FusionEntityc.type,FusionEntityc.tags}
其中,FusionEntityC表示匹配地理实体集融合实体集合,C表示匹配地理实体集融合实体的个数,与匹配地理实体集个数相同;FusionEntityc表示第c个匹配地理实体集融合实体,FusionEntityc.name表示c个匹配地理实体集融合实体的名称,FusionEntityc.geom表示c个匹配地理实体集融合实体的经纬度坐标,FusionEntityc.type表示c个匹配地理实体集融合实体的类别,FusionEntityc.tag表示c个匹配地理实体集融合实体的融合标签;
所述匹配地理实体集融合实体的名称,当匹配地理实体集存在名称属性冲突时采用“接受所有冲突的值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的名称,表示为:
FusionEntityc.name={GEn1,m1.name,GEn2,m2.name,…,GEnNc,mNc.name},Cxc.name=1
FusionEntityc.name=GEn1,m1.name=GEn2,m2.name=…=GEnNc,mNc.name,Cxc.name=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.name表示c个匹配地理实体集融合实体的名称,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.name表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的名称,GEn2, m2.name表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的名称,GEnNc,mNc.name表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的名称;Cxc.name表示第c个匹配地理实体集CMatchc中的名称属性冲突;
所述匹配地理实体集融合实体的经纬度坐标,当匹配地理实体集存在几何属性冲突时采用“在冲突值中选取平均值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的经纬度坐标,表示为:
FusionEntityc.geom=Avg(GEn1,m1.geomT,GEn2,m2.geomT,…,GEnNc,mNc.geomT),Cxc.geom=1
FusionEntityc.geom=GEn1,m1.geomT=GEn2,m2.geomT=…=GEnNc,mNc.geomT,Cxc.geom=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.geom表示c个匹配地理实体集融合实体的经纬度坐标,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.geomT表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的经纬度坐标,GEn2,m2.geomT表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的经纬度坐标,GEnNc,mNc.geomT表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的经纬度坐标;Cxc.geom表示第c个匹配地理实体集CMatchc中的几何属性冲突;函数Avg通过输入多个地理实体的经纬度坐标求它们的平均经纬度坐标;
所述匹配地理实体集融合实体的类别,当匹配地理实体集存在类别属性冲突时采用“选择在冲突值中出现频率最高的值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的类别,表示为:
FusionEntityc.type=MostFrequency(GEn1,m1.type,GEn2,m2.type,…,GEnNc,mNc.type),
Cxc.type=1
FusionEntityc.type=GEn1,m1.type=GEn2,m2.type=…=GEnNc,mNc.type,Cxc.type=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.type表示c个匹配地理实体集融合实体的类别,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.type表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的类别,GEn2, m2.type表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的类别,GEnNc,mNc.type表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的类别;Cxc.type表示第c个匹配地理实体集CMatchc中的类别属性冲突;函数MostFrequency通过输入多个地理实体的类别获取出现频率最高的类别
所述匹配地理实体集融合实体的标签,当匹配地理实体集存在标签属性冲突时采用“接受所有冲突的值”的策略来获取,否则取匹配地理实体集中所有地理实体的相同的标签,表示为:
FusionEntityc.tags={GEn1,m1.tags,GEn2,m2.tags,…,GEnNc,mNc.tags},Cxc.tags=1
FusionEntityc.tags=GEn1,m1.tags=GEn2,m2.tags=…=GEnNc,mNc.tags,Cxc.tags=0
c=1,2,…,C,
Nc<=N,n1≠n2≠nNc,
n1∈{1,2,…,N},n2∈{1,2,…,N},nNc∈{1,2,…,N},
m1∈{1,2,…,Mn1},m2∈{1,2,…,Mn2},mNc∈{1,2,…,MnNc}
其中,FusionEntityc.tags表示c个匹配地理实体集融合实体的标签,C表示匹配地理实体集融合实体的个数,Nc表示第c个匹配地理实体集中地理实体的个数,N表示地理实体供应商的数量,Mn1表示第n1个地理实体供应商中地理实体的数量,Mn2表示第n2个地理实体供应商中地理实体的数量,MnNc表示第nNc个地理实体供应商中地理实体的数量;GEn1,m1.tags表示第n1个地理实体供应商即GeoEntityCollectionn1的第m1个地理实体的标签,GEn2, m2.tags表示第n2个地理实体供应商即GeoEntityCollectionn2的第m2个地理实体的标签,GEnNc,mNc.tags表示第nNc个地理实体供应商即GeoEntityCollectionnNc的第mNc个地理实体的标签;Cxc.tags表示第c个匹配地理实体集CMatchc中的标签属性冲突。
CN202011194857.3A 2020-10-30 2020-10-30 一种面向空间知识图谱的地理实体匹配与融合方法 Active CN112163101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011194857.3A CN112163101B (zh) 2020-10-30 2020-10-30 一种面向空间知识图谱的地理实体匹配与融合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011194857.3A CN112163101B (zh) 2020-10-30 2020-10-30 一种面向空间知识图谱的地理实体匹配与融合方法

Publications (2)

Publication Number Publication Date
CN112163101A CN112163101A (zh) 2021-01-01
CN112163101B true CN112163101B (zh) 2024-01-26

Family

ID=73865351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011194857.3A Active CN112163101B (zh) 2020-10-30 2020-10-30 一种面向空间知识图谱的地理实体匹配与融合方法

Country Status (1)

Country Link
CN (1) CN112163101B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113139065B (zh) * 2021-04-25 2022-07-22 杭州电子科技大学 一种融合地理知识的混合知识图谱构建方法
CN113486136B (zh) * 2021-08-04 2022-06-17 泰瑞数创科技(北京)有限公司 一种地理实体服务按需组装的方法及系统
CN114896363B (zh) * 2022-04-19 2023-03-28 北京月新时代科技股份有限公司 一种数据管理方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984745A (zh) * 2018-07-16 2018-12-11 福州大学 一种融合多知识图谱的神经网络文本分类方法
CN110472066A (zh) * 2019-08-07 2019-11-19 北京大学 一种城市地理语义知识图谱的构建方法
CN111488467A (zh) * 2020-04-30 2020-08-04 北京建筑大学 地理知识图谱的构建方法、装置、存储介质及计算机设备
CN111737430A (zh) * 2020-06-16 2020-10-02 北京百度网讯科技有限公司 实体链接方法、装置、设备以及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718744B (zh) * 2016-01-25 2018-05-29 深圳大学 一种基于深度学习的代谢质谱筛查方法及系统
US11366866B2 (en) * 2017-12-08 2022-06-21 Apple Inc. Geographical knowledge graph

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984745A (zh) * 2018-07-16 2018-12-11 福州大学 一种融合多知识图谱的神经网络文本分类方法
CN110472066A (zh) * 2019-08-07 2019-11-19 北京大学 一种城市地理语义知识图谱的构建方法
CN111488467A (zh) * 2020-04-30 2020-08-04 北京建筑大学 地理知识图谱的构建方法、装置、存储介质及计算机设备
CN111737430A (zh) * 2020-06-16 2020-10-02 北京百度网讯科技有限公司 实体链接方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN112163101A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
CN112163101B (zh) 一种面向空间知识图谱的地理实体匹配与融合方法
CN110472066B (zh) 一种城市地理语义知识图谱的构建方法
CN108563653B (zh) 一种用于知识图谱中知识获取模型的构建方法及系统
CN109284406B (zh) 基于差异循环神经网络的意图识别方法
CN106845411B (zh) 一种基于深度学习和概率图模型的视频描述生成方法
CN112329467B (zh) 地址识别方法、装置、电子设备以及存储介质
CN105069047B (zh) 一种地理信息的检索方法及装置
CN107562812A (zh) 一种基于特定模态语义空间建模的跨模态相似性学习方法
CN109858390A (zh) 基于端到端时空图学习神经网络的人体骨架的行为识别方法
CN110781670B (zh) 基于百科知识库和词向量的中文地名语义消歧方法
CN111881290A (zh) 一种基于加权语义相似度的配网多源网架实体融合方法
CN111881677A (zh) 基于深度学习模型的地址匹配算法
CN112347222A (zh) 一种基于知识库推理的将非标准地址转换为标准地址的方法及系统
CN112527938A (zh) 基于自然语言理解的中文poi匹配方法
CN109271640B (zh) 文本信息的地域属性识别方法及装置、电子设备
CN113326377A (zh) 一种基于企业关联关系的人名消歧方法及系统
Zhang et al. City2vec: Urban knowledge discovery based on population mobile network
CN109960722A (zh) 一种信息处理方法及装置
CN112699685B (zh) 基于标签引导的字词融合的命名实体识别方法
CN116484024A (zh) 一种基于知识图谱的多层次知识库构建方法
Hu et al. A framework to detect and understand thematic places of a city using geospatial data
CN114091454A (zh) 一种互联网文本中地名信息提取及空间定位方法
CN114491071A (zh) 一种基于跨媒体数据的食品安全知识图谱构建方法及系统
CN113821702A (zh) 一种城市多维空间多元异构信息数据处理方法
Li et al. Deep learning method for Chinese multisource point of interest matching

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