1.本发明属于智能交通技术领域,具体涉及一种城市交通知识图谱的构建方法、构建装置及应用。
背景技术:2.城市交通具有强耦合性,需协调“人、车、路、环境”完成一体化管控,并且海量的交通出行数据具有时空关联性,但多源数据间融合不足,因此可以采用知识图谱对交通出行数据进行融合,知识图谱的数据组织形式是结构化的,它可以刻画真实世界中存在的实体、实体所具有的属性以及两个实体之间的关联关系,但是目前构建的大规模知识库,尽管数据规模大,但仍存在数据稀疏问题。
3.因此,亟需一种较优的城市交通知识图谱的构建方法,以解决知识图谱中数据稀疏的问题。
技术实现要素:4.为解决上述现有技术的弊端,本发明公开了一种可以精准推理出新知识的城市交通知识图谱的构建方法,具体技术方案如下:
5.一种城市交通知识图谱的构建方法,包括如下步骤:
6.利用本体构建工具构建城市交通本体,形成知识图谱模式层;
7.获取城市交通数据,抽取出实体、属性和实体间的关系,构建知识图谱数据层;
8.将知识图谱模式层和知识图谱数据层结合,生成城市交通知识图谱,并存储到数据库中;
9.利用知识表示模型推理出城市交通知识图谱中的新知识,补入城市交通知识图谱。
10.进一步的,构建城市交通本体的方法为:
11.采用七步法构建城市交通本体,并在创建实例前进行质量评估;
12.所述质量评估具体包括:
13.通过绘制树形结构图,验证类的层次结构的传递性是否成立;
14.检查每个本体的应用范围和表达方式在各处使用时是否一致,是否出现类和本体的冗余;
15.检查属性的描述信息是否完整,属性约束是否符合逻辑,属性是否具有共享性;
16.检查本体的可扩展性;
17.检查类间关系的完整性,唯一性和逻辑的一致性。
18.进一步的,利用知识表示模型推理出城市交通知识图谱中的新知识的具体方法为:
19.将城市交通知识图谱中的三元组数据划分为训练集、验证集和测试集;
20.构建所述三元组数据的负样本,并过滤所述负样本中的假负例;
21.设置知识表示模型超参数;
22.利用训练集和负样本,基于小批量随机梯度下降法训练知识表示模型,通过adadelta方法,在训练过程中自适应的调整学习速率;
23.利用验证集和负样本对训练的知识表示模型进行超参数调整;
24.利用测试集和负样本对训练的知识表示模型进行评价;
25.利用训练的知识表示模型挖掘城市交通知识图谱的隐含关系和缺失实体,补入城市交通知识图谱。
26.进一步的,构建所述三元组数据的负样本的方法为:
27.对训练集、验证集或测试集中的具有某一种关系的三元组,根据伯努利分布,计算选择头实体或尾实体来完成替换操作的概率,将概率较高的实体替换掉;
28.根据关系类型约束,由关系来决定用哪些实体来替换,具体如下式所示:
[0029][0030]
其中,δ
′
为构建的负三元组的集合,dr为满足关系类型r的领域约束内所有实体的有序索引;rr为满足关系类型r的范围约束内所有实体的有序索引,h为三元组的头实体,h'为负三元组的头实体,t为三元组的尾实体,t'为负三元组的尾实体,r为关系。
[0031]
进一步的,过滤所述负样本中的假负例的具体方法为:
[0032]
将所述三元组数据和负样本中的负三元组数据导入关系数据库中,使用关系数据库中的查询功能将重复数据查找出来,并将所述负样本中的重复数据剔除;
[0033]
其中,所述重复数据为既存在于三元组数据中,又存在于负三元组数据中的数据。
[0034]
进一步的,
[0035]
所述知识表示模型为transd模型,所述transd知识表示模型如下所示:
[0036]
映射矩阵:
[0037][0038][0039]
其中,m
rh
为头实体映射矩阵,m
rt
为尾实体映射矩阵,r
p
为关系向量,为头实体映射向量,为尾实体映射向量,i
mxn
为单位矩阵;
[0040]
将实体向量投影到关系空间中:
[0041]h⊥
=m
rhh[0042]
t
⊥
=m
rt
t
[0043]h⊥
为头实体由m
rh
映射后的头实体向量,t
⊥
为尾实体由m
rt
映射后的尾实体向量;
[0044]
得分函数:
[0045][0046]
损失函数:
[0047][0048]
其中,γ是超参数,表示正确三元组与负三元组之间的最大间隔。[x]
+
=max(0,x),δ表示正确三元组的集合,δ
′
表示构建的负三元组的集合。
[0049]
进一步的,利用测试集和负样本对训练的知识表示模型进行评价的具体方法为:
[0050]
对于测试集中的任意一个三元组,根据训练的知识推理模型中的得分函数计算该三元组得分和根据该三元组及知识图谱中的实体构建的负三元组得分,并按照得分值由大到小对该三元组及该负三元组进行排名;
[0051]
采用平均排名、平均倒数排名、首位命中率、前三命中率和前十命中率中的一种或几种评价指标衡量链接预测任务完成的效果。
[0052]
进一步的,
[0053]
所述城市交通包括公共交通和道路交通,针对公共交通和道路交通分别构建公共交通知识图谱和道路交通知识图谱;
[0054]
获取公共交通数据的方法为通过网络爬虫技术获取目标城市的地铁线路及站点信息,获取目标时间内所述地铁线路的地铁刷卡数据;
[0055]
获取道路交通数据的方法为从地图数据库上获取目标道路网络数据、利用地图api获取目标道路上的目标兴趣点信息和交通态势数据。
[0056]
本发明还公开了一种城市交通知识图谱的构建装置,包括:
[0057]
本体构建模块,用于利用本体构建工具构建城市交通本体,形成知识图谱模式层;
[0058]
数据获取模块,用于获取城市交通数据,抽取出交通实体、属性和实体间的关系,构建知识图谱数据层;
[0059]
存储模块,用于将知识图谱模式层和知识图谱数据层结合生成城市交通知识图谱,并存储到数据库中;
[0060]
推理模块,用于利用知识表示模型推理出城市交通知识图谱中的新知识,补入城市交通知识图谱。
[0061]
本发明还公开了上述任一所述的城市交通知识图谱构建方法在城市交通领域的应用。
[0062]
通过采用上述技术方案,本发明的有益效果为:
[0063]
本发明通过利用知识图谱形成交通知识体系,整合了多源异构的交通大数据,对交通实体间的时空关系进行建模,并通过基于表示学习的知识推理模型挖掘出交通实体间的潜在关系,实现了交通领域的多源出行数据的有效融合与组织,形成了交通领域的知识网络,实现了交通领域数据的开放共享。
[0064]
本发明在本体构建时,相对于原始的七步法增加了质量评估步骤,通过质量评估对本体加入知识库的质量进行了严格的把控,通过从本体的结构丰富度、逻辑关系等支持层面进行评估,实现了标准化本体的可重复利用,确保了本体构建的准确性及有效性,使得后续采用该本体构建的知识图谱推理新知识时,准确性也得到了提升。
[0065]
本发明通过利用关系类型约束,提高了在构建负样本时抽取到相同类型实体来替换原有三元组的概率,有利于将相同类型实体间的距离拉大,即加大实体的向量表达之间的区别,利用关系的先验知识,由关系来决定用哪些实体来替换,可显著提高知识推理模型的预测精确度。
附图说明
[0066]
图1为本技术一种实施例的城市交通知识图谱构建流程;
[0067]
图2为本技术一种实施例的城市交通本体构建流程;
[0068]
图3为本技术一种实施例的城市交通本体的类层次图;
[0069]
图4为本技术一种实施例的城市交通本体的类间关系图;
[0070]
图5为本技术一种实施例的道路网络信息可视化示意图;
[0071]
图6为本技术一种实施例的道路交通态势信息可视化示意图;
[0072]
图7为本技术一种实施例的公共交通本体的类间关系图;
[0073]
图8为本技术一种实施例的公共交通出行用户与行程,行程与站点之间的关系图;
[0074]
图9为本技术一种实施例的道路交通知识图谱的实体和关系图;
[0075]
图10为本技术一种实施例的道路与交通态势的关联关系图;
[0076]
图11为本技术一种实施例的transd模型说明图;
[0077]
图12为本技术一种实施例的模型训练过程图;
[0078]
图13为本技术一种实施例的链接预测任务评价的流程图;
[0079]
图14为本技术一种实施例的模型训练中损失值的变化曲线图;
[0080]
图15为本技术一种实施例的多种推理模型的平均倒数排名结果对比图;
[0081]
图16为本技术一种实施例的多种推理模型的前十命中率结果对比图;
[0082]
图17为本技术一种实施例的某街道在开学前后的早高峰时段平均速度对比图;
[0083]
图18为本技术一种实施例的道路交通知识图谱示意图。
具体实施方式
[0084]
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0085]
如图1所示,本发明公开了一种城市交通知识图谱的构建方法,包括如下步骤:
[0086]
利用本体构建工具构建城市交通本体,形成知识图谱模式层;
[0087]
获取城市交通数据,抽取出实体、属性和实体间的关系,构建知识图谱数据层;
[0088]
将知识图谱模式层和知识图谱数据层结合,生成城市交通知识图谱,并存储到数据库中;
[0089]
利用知识表示模型推理出城市交通知识图谱中的新知识,补入城市交通知识图谱。
[0090]
本发明通过利用知识图谱形成交通知识体系,整合了多源异构的交通大数据,对交通实体间的时空关系进行建模,并通过基于表示学习的知识推理模型挖掘出交通实体间的潜在关系,实现了交通领域的多源出行数据的有效融合与组织,形成了交通领域的知识网络,实现了交通领域数据的开放共享。
[0091]
为了便于对本发明技术方案的理解,下面对本发明的构建方法进行进一步的解释说明;
[0092]
一、利用本体构建工具构建城市交通本体(即城市交通出行本体),形成知识图谱模式层;
[0093]
城市交通出行领域本体的构建,是面向特定的业务场景综合考虑到获取的数据资
源,并考虑领域术语的标准化和概念类别的广泛适用性,抽象得到交通领域的知识层次结构,定义本体所包含的类,类的属性以及各个类之间的关联关系。
[0094]
本体定义了知识图谱的模具,描述知识图谱的顶层结构,因此构建本体可对领域知识的体系或层次进行分析,并可实现领域知识的重复使用。
[0095]
如图2所示,本技术使用斯坦福大学发布的七步法构建本体,可以选用手动构建本体的方法,并在七步法的基础上增加了质量评估部分,具体的本体构建流程如下:
[0096]
第一步:确定本体的领域,明确领域本体的目的,本技术的本体涉及领域为城市交通领域;
[0097]
第二步:查看是否有可复用本体,调研是否有相关的本体已经构建好,如果有的话可直接导入节省构建成本和时间;
[0098]
第三步:确定重要术语,在列举所有的术语时需保证全面性;
[0099]
第四步:定义类及其层次结构,本技术采用自顶向下的方法,即先定义领域中最宽泛的概念,然后进行细化,如图3所示;
[0100]
第五步:确定类的属性,仅依靠类无法提供充足的信息,因此还需要定义类的属性来进一步描述类,确定类的属性还包括定义类间关系,在城市交通本体中存在一些关系,两个类之间通过关系联系起来,例如某个兴趣点的位置在某一条道路上,兴趣点与城市道路之间是位于的关系,如图4所示表示了城市交通本体中所有类之间的关系。
[0101]
此处还需要注意的是类具有继承性,子类会继承其父类的属性,所以属性应该被放置到最宽泛的类中,越靠近顶层越好,表1给出了几种类和属性的具体实例,如表1所示,应该将属性放置在最宽泛的类中,以保证子类均可继承该属性;
[0102]
表1
[0103][0104][0105]
第六步:定义属性的约束,如对属性值的类型、属性值的数量范围等进行限制;
[0106]
第七步:通过质量评估后创建类的具体实例。
[0107]
其中,质量评估应遵循清晰性、一致性、可扩展性、精简性和独立共享性的原则,具体的质量评估方法为:
[0108]
(1)首先对类的层次结构进行评估,通过绘制树形结构图,明确根节点和子节点,每一个子树都对应着领域中独立的、模块化的知识,确保层次清晰,检验层次结构的传递性是否成立,避免类层次结构中出现循环;
[0109]
(2)对本体进行评估,确定本体表达明确且清晰,检查每个本体的应用范围和表达方式在各处使用时是否一致,包括关系逻辑的一致性,是否有重复定义的类,是否有需要合并的本体,避免出现冗余;
[0110]
(3)对定义的属性与属性约束进行评估,检查属性的描述信息是否完整,属性约束是否符合逻辑;评估属性的共享性,是够广泛适用于多个类,而不是仅仅局限于某一种类;
[0111]
(4)检查本体的可拓展性,保证本体能够随着类和属性的不断增加、修改而不断进行灵活的完善和更新;
[0112]
(5)检查类间关系逻辑的一致性,并评估类间关系的完整性,检查本体是够囊括了所有类之间可能存在的关系,检查类间关系的唯一性,即检查类之间是够只存在一种关系。
[0113]
如图2所示,在本体构建时若未通过质量评估,应该重新返回第三步重新进行本体构建,直到所构建的本体可以通过质量评估,再去创建具体实例。
[0114]
本发明在本体构建时,相对于原始的七步法增加了质量评估步骤,通过质量评估对本体加入知识库的质量进行了严格的把控,通过从本体的结构丰富度、逻辑关系等支持层面进行评估,实现了标准化本体的可重复利用,确保了本体构建的准确性及有效性,使得后续采用该本体构建的知识图谱推理新知识时,准确性也得到了提升。
[0115]
本技术所述的本体构建工具可以为prot
égé
5.5.0软件,采用该软件构建的本体,可以直观的看到类,属性和关系。
[0116]
二、获取城市交通数据,抽取出交通实体、属性和实体间的关系,构建知识图谱数据层;
[0117]
城市交通包括公共交通和城市道路交通,所以本技术需要获取的城市交通数据包括公共交通数据(即公共交通出行数据)和道路交通数据(即道路交通出行数据),由于公共交通需要获取的刷卡数据和道路交通需要获取的交通态势数据的时空不同,所以需要分别构建公共交通数据层和道路交通数据层,并分别构建公共交通知识图谱和道路交通知识图谱。
[0118]
s1、构建公共交通数据层:公共交通出行数据的获取;
[0119]
获取公共交通出行数据的方法为通过网络爬虫技术获取目标城市的地铁线路及站点信息,获取目标时间内所述地铁线路的地铁刷卡数据并进行预处理;
[0120]
具体方法如下:
[0121]
s11、获取地铁线路及站点信息;
[0122]
本技术利用互联网爬虫技术获取目标城市的地铁站点及线路等数据,网络爬虫主要是利用唯一的网站地址(url)来查找网站,从网站中自动抓取和下载目标信息,具体操作方法为:
[0123]
step1:首先需要构建传入的参数,主要包括key值、城市编码、城市名称,参数经过url编码后,向目标http接口发起请求,即发送一个request;
[0124]
step2:接收http请求返回的response,解析返回的数据,该数据格式为json;
[0125]
step3:将解析好的数据存储至postgresql数据库中,存储数据如表2所示,包括线路及站点的名称、编号、站点序列编号、站点经纬度、是否可换乘、经过此站点的线路等信息。
[0126]
表2存储的线路及站点信息
[0127][0128]
s12、获取地铁afc刷卡数据并进行预处理;
[0129]
下面以目标城市为深圳,目标时间为2016年1月25日(周一)至2016年1月29日(周五)7点-9点为例,详细介绍获取地铁刷卡数据并进行预处理的方法,其它城市均可采用该方法进行数据的获取和预处理。
[0130]
深圳地铁采用按里程分段计费的方法,因此乘客在进站与出战站时都需要刷卡,截止至2020年深圳市共有地铁线路8条(深圳地铁1-5号线、7号线、9号线、11号线),182个地铁站点,本技术的数据为深圳通刷卡数据,时间范围为2016年1月25日(周一)至2016年1月29日(周五),共5天工作日的刷卡记录,数据格式如表3所示。
[0131]
表3地铁afc刷卡数据格式
[0132][0133][0134]
在原始的地铁afc刷卡数据中,需要根据字段(cost_type)来区分进出站类型(即交易类型),其中cost_type=21表示该数据为进站信息,为交易开始状态,cost_type=22表示数据为出站信息,交易为完成状态,因此需要进、出站数据成对的出现。
[0135]
(1)目标数据筛选:筛选出在早高峰内(7点-9点)的刷卡记录,并统计同一ic卡在每天早高峰时段内的刷卡次数,选取次数为2次的记录(一进一出)
[0136]
(2)异常数据剔除:剔除进站和出站不是成对出现的刷卡记录,即有进没出或有出没进。删除刷卡记录中站点位置缺失的数据,并删除进出站位置相同的数据,以及进出站时间差大于5小时的数据。
[0137]
(3)添加行程id:将时间相邻的两行进出站数据合并为一行数据,包含起始及终止时间和站点名称,并添加一列字段为行程id,以区分用户在一周内的多次出行。
[0138]
预处理后的地铁刷卡数据格式如表4所示。
[0139]
表4预处理后的地铁刷卡数据
[0140][0141]
s2、构建道路交通数据层:道路交通出行数据的获取及预处理;
[0142]
获取道路交通出行数据的方法为从地图数据库上获取目标道路网络数据、利用地图api获取目标道路上的目标兴趣点信息和交通态势数据。
[0143]
具体步骤为:
[0144]
s21、目标道路网络数据的获取;
[0145]
step1:以目标道路为北京市五环路以内区域为例,从地图数据库上获取北京市五环路以内区域的道路数据,例如可以从bbbike网站上下载openstreetmap开源地图数据库上的北京市五环路以内区域的道路数据;bbbike网站支持多种数据导出格式(如osm,shapefile,geojson等),并且可自定义下载地图得到区域范围,是一种较优的目标道路网络数据下载网站,当然此处的下载网站和地图数据库均为是示例性的,并不做限制。
[0146]
step2:利用osm2gmns从下载的目标道路网络中输出符合gmns标准的道路网络数据,gmns全称general modeling network specification,其定义了一套灵活统一的多模式交通网络表示格式,osm2gmns还提供了简化交叉口功能,输出文件包括道路节点(node.csv)和道路连接弧(link.csv),主要的字段说明如表5和表6所示。
[0147]
表5道路节点的字段说明
[0148][0149]
表6道路连接弧的字段说明
[0150][0151]
其中,节点类型(osm_highway)分为与高速路相交的交叉口,有交通信号控制的交叉口,无交通信号控制的交叉口;路段等级(link_type_name)分为高速公路、主干路、次干路、支路、小区路。
[0152]
step3:将数据导入至关系型数据库中,并在qgis软件进行可视化展示。
[0153]
如图5所示,以玉泉路与石景山路交叉口为例,图中虚线为道路连接弧,圆点为道路节点,每两个节点之间有一个连接弧。
[0154]
s22、目标道路兴趣点的获取;
[0155]
兴趣点poi(point of interest),泛指真实世界中具有实际意义的点,如与人们生活相关的设施或建筑等,如停车场、学校、医院等,poi数据一般包含名称、类型、地址及经纬度等基本属性。
[0156]
兴趣点可以通过地图api中的搜索poi接口获取,本技术以用高德地图api获取北京市五环以内的中小学信息为例,阐述下兴趣点的获取过程,
[0157]
step1:首先确定查询区域,利用qgis绘制北京市五环的边界,导出为geojson格式,并处理为一列为经度,另一列为纬度的csv文件(边界坐标对)。
[0158]
step2:因为每次请求最多返回1000个poi信息,所以需要将大区域划分为多个小网格。设置网格大小为10km*10km,将边界坐标映射到网格上,最后得到区域内每个小网格的左下角顶点坐标。
[0159]
step3:确定所查询poi类型的编码(中学为141202,小学为141203)。之后依次获取每个网格内的poi信息,请求参数为key值、顶点坐标对和查询的poi类型编码,参数经过url编码后,向目标http接口发起请求。
[0160]
step4:对以json格式返回的数据进行解析,并存储到数据库中。最终获取五环内的小学数量为598个,中学数量为442个(其中存在一个学校有多个校区的情况,即一个学校名称对应多个poi数据),poi信息字段说明如表7所示。
[0161]
表7 poi信息字段说明
[0162][0163]
s23、目标道路交通态势数据的获取;
[0164]
本技术以研究学生上下学与道路交通态势之间的关联关系为例,阐述目标道路交通数据的获取步骤:
[0165]
根据北京市2020年秋季学期的开学安排,从8月29日小学、初中、高中开始开学,到9月7日小学、初中、高中全部年级均开学,北京市小学生到校时间通常晚于7:50,放学时间早于16:30;中学生到校时间晚于7:30,放学早于17:30。
[0166]
为研究学生上下学与道路交通态势之间的关联关系,本技术采集交通态势的时间范围为2020年学生开学前一周:8月24日(周一)至8月28日(周五),学生开学后一周:9月21日(周一)至9月25日(周五),每天采集的时段为早上6:30至10:30(4个小时),下午16:00至21:00(5小时),采集交通态势的空间范围为北京市五环以内区域中道路的交通态势数据。
[0167]
通过高德地图api的交通态势接口获取交通态势数据,获取交通态势数据的方法与获取poi的方法类似,同样根据矩形区域的方式查询数据,但要求矩形对角线长度要小于10公里,因此也需要将大区域划为多个小网格来突破这个区域范围的限制。
[0168]
step1:确定查询区域,利用qgis绘制北京市五环的边界,导出数据并处理为一列为经度,另一列为纬度的csv文件,即边界坐标对
[0169]
step2:将区域划分为多个7km*7km的小网格,并将边界坐标映射到网格上,最后得到区域内每个小网格的左下角坐标。
[0170]
step3:依次获取每个网格内的道路的交通态势数据,请求参数为key值、道路等级、矩形区域的顶点坐标对和返回数据格式类型,参数经过url编码后,向目标http接口发起请求。因为高德地图api的交通态势服务限制个人开发者的日调用量为2000次/日,超量会封停,所以需要设置单个key请求超过两千次就切换下一个key,继续发送请求。
[0171]
step4:路况信息每2分钟更新一次,对返回的json数据进行解析,并存储到数据库中。如表8所示,返回结果包含的字段有道路名称、方向描述、车行角度、路况、速度(km/h)等。
[0172]
表8交通态势信息字段说明
[0173][0174]
其中,车行角度(angle)反映的是道路上车辆的行驶方向,其中将正东方向设置为零度,沿着逆时针方向旋转时取正数,取值范围为[0,360]。交通状态(status)反映道路的交通状态,其中0代表状态未知、1代表交通畅通状态、2代表车辆缓行状态、3代表交通拥堵、4代表严重拥堵状态。
[0175]
图6为某一时刻交通态势数据在qgis中可视化的结果,可以发现北京市五环以内区域中有交通态势返回的道路主要为城市快速路及主干路。
[0176]
s24、道路交通出行数据的预处理:
[0177]
(1)统一数据采样间隔:利用网络爬虫技术获取道路的实时交通态势数据,高德地图平台上的数据每2分钟更新,但因网络连接的不稳定性,交通态势数据返回的时间间隔不同,在4分钟-7分钟之间。为了方便后续的分析需要将数据采样间隔固定为5分钟。
[0178]
(2)数据匹配及筛选:因为有交通态势返回的道路等级多为高速公路和主路,所以根据道路名称与道路网络连接弧数据相匹配,筛选出有交通态势数据的道路网络数据(包括道路网络节点和道路网络连接弧),剔除无效及冗余数据,从而改善数据质量。
[0179]
三、将知识图谱模式层和知识图谱数据层结合生成城市交通知识图谱,并存储到数据库中;
[0180]
由于基于刷卡数据和交通态势数据的时空不同,而分别构建了公共交通数据层和城市道路交通数据层,同样需要分别生成公共交通知识图谱和道路交通知识图谱,并分别存储到数据库中,即本技术的城市交通知识图谱包括公共交通知识图谱和道路交通知识图谱。
[0181]
(1)数据库的选择;
[0182]
用于存储知识图谱的数据库可以为图形数据库也可以为关系型数据库等其它存储数据库,本技术优选图形数据库作为存储数据库,图形数据库可以选用neo4j、titandb等,图形数据库采用属性图模型,用节点和边组成图,通过图形化的结构直观表达信息,图形数据库特有的数据结构能有效地存储及表达知识图谱中的知识以及实体间的关联关系,如图形数据库中的节点代表实体,边代表实体间的关系,可以更直观的储存知识图谱,所以在存储知识图谱时,图形数据库的存储效果要优于关系型数据库等其他存储数据库。
[0183]
(2)公共交通知识图谱的存储;
[0184]
将知识图谱模式层和公共交通知识图谱数据层结合,生成公共交通知识图谱并存
储到数据库中;
[0185]
如图7所示,图7展示了关于公共交通的城市交通本体的类间关系,本体中的类对应于图数据库中节点的标签,实体在知识图谱中以节点的形式存储。类间关系即实体间的关系分为如下几类:地铁站点与线路的所属关系(subway_station-belong-subway_line)、地铁站点实体间的相邻关系(subway_station-belong-subway_line)、公共交通出行用户与行程的归属关系(user-has-trip),行程与站点的起始和终止关系(trip-start_from/end_at-subway_station)。
[0186]
同一个公共交通出行用户在一周内会有多个行程,因此用户与行程间为一对多的关系,如图8所示,行程与站点之间有起始或终止的关系。
[0187]
(3)道路交通知识图谱的存储;
[0188]
将知识图谱模式层和道路交通知识图谱数据层结合,生成道路交通知识图谱并存储到数据库中;
[0189]
道路交通知识图谱内的实体包括领域本体中的城市道路、兴趣点、交通态势,并添加了表示时空关系数据的实体,如图9所示,9为道路交通知识图谱所包含的实体及实体之间的关联关系。
[0190]
其中,道路与交通态势之间的关联关系通过多步关系路径表示,日期和时间是交通态势的时间属性,道路实体首先与日期相关联,之后日期与时间实体相关联,最后时间与交通态势实体相关联,道路实体经过三步的关系路径与交通态势相关联,如图10所示。
[0191]
四、利用知识表示模型推理出新知识,补入知识图谱。
[0192]
本技术所构建的公共交通知识图谱和道路交通知识图谱虽然将多源数据融合在了一起,但是存在数据稀疏的问题,所以需要挖掘出知识图谱中缺失的实体和潜在的关系,补入知识图谱。
[0193]
本技术通过知识推理模型挖掘出城市交通知识图谱中的隐含关系,以补全知识图谱,并在城市交通知识图谱上通过链接预测任务验证模型的有效性,具体步骤如下:
[0194]
s1、知识推理模型的构建
[0195]
常规的知识推理模型均可用于本技术去进行知识推理挖掘,例如transe和transh模型,但是根据本技术中知识推理的特性,优选transd模型作为知识推理模型,该模型的主要思想为利用投影向量构建的动态映射矩阵将实体编码为关系空间中的低维嵌入向量,同时考虑了实体和关系具有不同的类型和属性,如图11所示。
[0196]
在transd模型中第一个向量(h,r,t)表示实体或关系的实际意义,第二个向量(h
p
,r
p
,t
p
)被用于映射矩阵的构建,映射矩阵由实体和关系的投影向量共同决定,可将实体从实体空间映射到向量空间中,并且用单位矩阵i初始化每个映射矩阵,用向量运算替代矩阵的乘法运算,有效降低了计算量。
[0197][0198][0199]
其中,m
rh
为头实体映射矩阵,m
rt
为尾实体映射矩阵,r
p
为关系向量,为头实体映射向量,为尾实体映射向量,i
mxn
为单位矩阵;
[0200]
将实体向量投影到关系空间中嵌入为:
[0201]h⊥
=m
rhh[0202]
t
⊥
=m
rt
t
[0203]h⊥
为头实体由m
rh
映射后的头实体向量,t
⊥
为尾实体由m
rt
映射后的尾实体向量;
[0204]
transd模型将三元组(h,r,t)中的关系向量r视为由头实体向量h的投影向量与尾实体向量t的投影向量在关系空间中经过平移操作得到的,即在关系空间中头实体的投影向量与关系的投影向量之和近似相等尾实体的投影向量。因此定义基于l2欧式距离的得分函数来衡量这两个向量之间的距离:
[0205][0206]
模型给向量加入l2范数约束,可以使模型相关的参数变小,避免模型出现过拟合的问题,使其具有较强的泛化能力。
[0207]
||h||2≤1,||t||2≤1,||r||2≤1,||h
⊥
||2≤1,||t
⊥
||2≤1
[0208]
由上述得分函数可知,对于一个正确的三元组期望其得分值越大越好,而错误的三元组期望其得分值越小越好,因此本技术定义了基于距离间隔的排名损失函数,以最小化损失函数值作为模型的训练目标。
[0209][0210]
其中,l是损失函数、γ是超参数,表示正确三元组与负三元组之间的最大间隔。[x]
+
=max(0,x),δ表示正确三元组的集合,δ
′
表示构建的负三元组的集合。
[0211]
s2、数据集划分、模型参数设置及负样本构建;
[0212]
s21、数据集划分;
[0213]
将关系数据库中存储的城市交通知识图谱中的实体和关系数据导出,例如当采用图形数据库neo4j存储知识图谱时,可以利用neo4j的apoc(a package of components)插件,导出实体和关系数据,利用数据库的查找筛选功能将数据预处理成csv格式的数据,实体数据存储形式为实体名称加实体对应的id,关系数据存储形式为关系名称加关系对应的id,三元组存储形式为头实体id加尾实体id加关系id,并按照预定比例将三元组数据划分为训练集、测试集和验证集,预定比例按照实际需要进行选取,例如可以85%的训练集:10%的测试集:5%的验证集。
[0214]
s22、模型参数设置
[0215]
transd模型中存在许多的超参数,即该参数需要在训练中人为设置,模型中所包含的超参数有学习率α、嵌入维度k、每批样本的数量batch_size、间隔γ,各个参数设置大小对模型的影响和设置范围分别为:
[0216]
①
学习率α:学习率设置的过大时损失值可能会无法收敛;学习率设置过小会导致模型收敛所需的训练时间变长,本技术的学习率设置范围为{0.001,0.01,0.1};
[0217]
②
嵌入维度k;嵌入维度设置过低表示能力不够,嵌入维度设置过高容易过拟合,嵌入维度设置范围为{20,50,100,150};
[0218]
③
每批样本的数量batch size:batch size设置过大可能会因为内存空间有限导致程序崩溃,batch size设置过小会使模型收敛变得更加困难,因为样本量太小时得到的参数不具有代表性,影响模型的泛化性能,每批样本的数量设置范围为{64,128,256,;
[0219]
④
间隔γ:设置范围为{0.25,0.5,1,2,3}。
[0220]
s23、负样本的构建
[0221]
由于城市交通知识图谱中只存在正确的三元组,因此需要构建错误的三元组作为负样本,来参与模型的训练、验证和评估,本技术的负样本的构建方法具体为:
[0222]
s231、伯努利负采样
[0223]
考虑到关系的不同种类,在对具有某一种关系的三元组进行负三元组构建时,实体数量较少的一方应该有更大的概率被选择来进行替换操作,统计具有某一个关系r的所有三元组,关于下列情况的数据量:
[0224]
①
头实体所关联的尾实体的平均数量,记为tpt
[0225]
②
尾实体所关联的头实体的平均数量,记为hpt
[0226][0227]
随机变量x只取0和1这两个值,并且相应的概率为:
[0228][0229][0230]
最终负样本的构造服从参数为p的伯努利分布,随机变量x的分布律为:
[0231]
p(x=x)=p
x
(1-p)
(1-x)
,x=0,1
[0232]
对于具有关系r的某一个正确的三元组,选择头实体的概率为p,选择尾实体的概率为1-p,将概率较高的实体替换掉,以此构建负三元组。
[0233]
s232、关系类型约束
[0234]
通过定义关系应关联的实体类型来表示关系的类型约束,利用关系类型的先验知识,由关系来决定用哪些实体来替换,定义以下变量:
[0235]
①
满足关系类型r的领域约束内所有实体的有序索引domainr[0236]
②
满足关系类型r的范围约束内所有实体的有序索引ranger[0237]
对于具有某一关系r的全部三元组,在构建负三元组时,根据伯努利分布计算选择头或尾实体来完成替换操作的概率,若选择的是头实体则从该关系类型领域内的实体子集中选取,若选择的是尾实体则从该关系类型范围内实体子集中选取,如下式所示:
[0238][0239]
其中,δ
′
为构建的负三元组的集合,dr为满足关系类型r的领域约束内所有实体的有序索引;rr为满足关系类型r的范围约束内所有实体的有序索引,h为三元组的头实体,h'为负三元组的头实体,t为三元组的尾实体,t'为负三元组的尾实体,r为关系。
[0240]
现有技术中负三元组的构建方法为:对于任意的三元组(h,r,t),从包含所有实体的集合e中随机地抽取一个实体将原先三元组中的头实体或者尾实体替换掉,便得到一个错误的三元组,但是由于关系的种类中存在一对多、多对一和多对多,这种随机采样构造负样本的方法会引入许多错误的负样本,即假负例(false negative)(即同时存在与三元组和负三元组中的数据)本技术通过伯努利负采样,在对具有某一种关系的三元组进行负三元组构建时,选择了实体数量较少的一方进行替换操作,大大减少了负样本中假负例的量。
[0241]
同时通过利用关系类型约束,提高了在构建负样本时抽取到相同类型实体来替换原有三元组的概率,有利于将相同类型实体间的距离拉大,即加大实体的向量表达之间的区别,利用关系的先验知识,由关系来决定用哪些实体来替换,可显著提高模型预测的精确度。
[0242]
同时,即使负样本是采用关系类型约束方法构建的,但是仍不能避免负样本中存在少量的假负例,本技术还公开了一种过滤掉负样本中假负例的方法,将所述三元组数据(即训练集、验证集和测试集中的三元组数据)和负样本中的负三元组数据导入关系数据库中,例如可以选择postgresql数据库,使用关系数据库中的查询功能将重复数据查找出来,并将所述负样本中的重复数据剔除;其中,所述重复数据为既存在于三元组数据中,又存在于负三元组数据中的数据。
[0243]
通过过滤操作,避免了模型再训练、验证和预测时的负样本干扰,进一步提高了模型的精度。
[0244]
s3、知识推理模型的训练
[0245]
将s21中划分的训练集和s22中设置的模型参数带入s1构建的推理模型中进行模型训练,同时采用s23所述的负样本构建方法对训练集中的三元组构建训练集负样本,将所述训练集负样本和训练集一起带入知识推理模型中进行模型训练,
[0246]
同时,在进行模型训练时可以使用小批量随机梯度下降法(mini-batch gradient descent)来实现参数更新,求得损失函数的最小值,模型通过不断迭代来更新向量表示,直到模型的损失函数值收敛,或者模型已训练至最大次数,训练完成后得到实体和关系的嵌入表示,模型训练过程如图12所示。
[0247]
在训练过程中,手动设置的学习速率不合适会对学习效果造成不良影响,当学习率设置过大可能会导致模型不收敛,损失值不断震荡,学习率设置过小则会导致模型收敛速度较慢,需要较长的训练时间,本技术在使用小批量随机梯度下降法对参数进行更新学习时,使用adadelta方法,在训练过程中自适应的调整学习速率,防止了因手动设置的学习率不合适对学习效果造成的影响。
[0248]
s4、知识推理模型的验证
[0249]
将s2中划分的验证集带入s3训练好的知识推理模型中进行初步的验证和评估,并根据验证结果进行超参数的调整。
[0250]
s5、知识推理模型的评估
[0251]
本技术通过链接预测任务验证模型的有效性,并选取多个评价指标对推理模型的综合能力进行评估;
[0252]
s51、链接预测
[0253]
链接预测是指预测与给定实体具有特定关系的另一实体的任务,即对于一个三元组(h r t),在已知关系r和尾实体t的情况下对头实体h进行预测,表示为(?r t),或者在已知头实体h和关系r的情况下对尾实体t进行预测,表示为(h r?),或者在已知头实体h和尾实体t的情况下对关系r进行预测,表示为(h?t)。
[0254]
s52、构建测试集负样本并进行排名
[0255]
采用s23所述的负样本构建方法和过滤操作,针对测试集中的三元组构建测试集负样本,以预测尾实体为例,由关系类型来决定选择实体集合中的哪些实体来代替尾实体,
并在进行过滤操作后根据训练的知识推理模型中的得分函数计算该三元组得分和根据该三元组及知识图谱中的实体所构建的负三元组得分,并按照得分值由大到小对该三元组及根据该三元组及知识图谱中的实体所构建的负三元组进行排名;
[0256]
同时对于预测头实体或者预测实体间的关系,均可用上述方法统计排名情况。
[0257]
s53、评价指标
[0258]
本技术可以选用平均排名(mean rank,mr)、平均倒数排名(mean reciprocal rank,mrr),首位命中率(hits@1),前三命中率(hits@3)和前十命中率(hits@10)中的一个或多个评价指标来衡量链接预测任务完成的效果。
[0259]
①
平均排名(mr):平均排名表示的是正确的测试集三元组在所有被替换头或尾实体得到的测试集负三元组集合中的排名次序,排名越靠前表明模型的效果越好。
[0260]
②
平均倒数排名(mrr):平均倒数排名可以反映所有测试集中的三元组在构造的测试集负三元组列表中的整体排名情况,如下式所示。
[0261][0262]
其中,t表示所有测试集中的三元组组成的集合,|t|表示集合t的数据量,rank(h,ri,t)表示正确的三元组所对应的排名次序。
[0263]
③
首位命中率(hits@1):首位命中率表示的是测试集中的三元组排在第一位的个数占测试集中全部三元组个数的比例,如下式所示。
[0264][0265]
其中,ind(x)表示指示函数(indicator function),用于判断正确的三元组(h,r,t)是否排在第一位,若满足则输出1,否则输出0。
[0266]
类似的,可定义前三命中率和前十命中率,如前十命中率(hits@10)表示的是测试集中的三元组排在前十名内的个数占测试集中全部三元组个数的比例。如下式所示。
[0267][0268]
前十命中率的值越高表示模型的效果越好。
[0269]
综上,利用链接预测任务评估模型的流程,如图13所示。
[0270]
为了验证知识推理模型的选取、过滤操作和关系类型约束对预测结果的改善效果,本技术对比了有无过滤操作、有无关系类型约束和多个推理模型对预测任务结果的影响,结果如下所示:
[0271]
(1)有无过滤操作对预测结果的影响
[0272]
表9有无过滤操作的预测结果对比
[0273]
[0274][0275]
如表9所示,在平均倒数排名(mrr)指标上,有过滤操作相比于无过滤操作提高了30%,在前十命中率(hits@10)指标上,有过滤操作相比于无过滤操作提高了10.2%,同时前三命中率指标和首位命中率指标也均有提高,说明有过滤操作可有效提高模型预测的准确度。
[0276]
(2)有无关系类型约束对预测结果的影响
[0277]
在有过滤操作的基础上,对比在构建负三元组时是否利用关系类型约束得到的预测结果。有关系类型约束是指利用关系类型的先验知识,在构建三元组时由关系来决定用哪些实体来替换。未利用关系类型约束是指构造负三元组时从全部的实体中随机抽取实体进行替换,预测结果对比如表10所示。
[0278]
表10有无关系类型约束的预测结果对比
[0279][0280]
如表10所示,有关系类型约束操作的正确三元组的头或尾实体的平均排名(mr)均明显优于无关系类型约束的平均排名,其余的评价指标也是如此,说明有关系类型约束可改善模型在链接预测任务的效果。
[0281]
(3)不同的知识推理模型对预测结果的影响
[0282]
本技术将transd模型与经典的推理模型transe、transh进行对比,同样进行过滤操作和关系类型约束,三种模型在实体链接预测任务中的结果如表11~12所示。
[0283]
transe模型将关系表示为头尾实体向量的平移,transh模型将关系表示为实体向量在特定关系超平面上的平移,transd模型是通过动态映射矩阵,将实体的向量表示投影到关系向量空间中,将关系向量看作实体投影向量的平移。不同模型的最优超参数设置如表13所示。
[0284]
表13不同模型的超参数取值
[0285][0286]
本技术绘制了transd模型在训练过程中,损失函数值不断下降直至收敛的过程,如图14所示,图中横轴为模型的迭代训练次数,纵轴为模型的损失函数值。
[0287]
在本技术所构建的公共交通出行知识图谱的数据集上,通过链接预测任务,根据评价指标对比不同推理模型的性能与准确性,如表11所示为预测头实体的结果,表12为预测尾实体的结果。
[0288]
表11预测头实体的结果
[0289][0290]
表12预测尾实体的结果
[0291][0292]
选取评价指标mrr和hists@10作为代表,绘制条形图,如图15~16所示,可以直观的对比不同模型的预测结果,发现transd模型的效果最好,在所有评价指标上的表现均优于其他两个推理模型。如在预测头实体时,transd模型的平均倒数排名(mrr)相比于transh模型的平均排名倒数提高了6.6%,在预测尾实体时,该指标提高了22.4%。
[0293]
综上所述,本技术通过选用transd模型作为知识推理模型,并通过关系类型约束构建负样本,通过过滤操作剔除了负样本中的假负例,有效的改善了预测结果的准确性,通过采用本技术所述的方法训练的知识推理模型的预测效果更优,在补全城市交通知识图谱时,推理出的实体和实体间的关系更为准确。
[0294]
本技术还公开了一种城市交通知识图谱的构建装置,包括本体构建模块、数据获取模块、存储模块、推理模块。
[0295]
其中,本体构建模块,用于利用本体构建工具构建城市交通本体,形成知识图谱模式层;数据获取模块,用于获取城市交通数据,抽取出交通实体、属性和实体间的关系,构建知识图谱数据层;存储模块,用于将知识图谱模式层和知识图谱数据层结合生成城市交通知识图谱,并存储到数据库中;推理模块,用于利用知识表示模型推理出城市交通知识图谱
中的新知识,补入城市交通知识图谱。
[0296]
本技术还公开了上述任一所述的城市交通知识图谱构建方法在城市交通领域的应用,比如应用本技术的城市交通知识图谱构建方法对交通状态进行预测,以合理的安排出行时间;应用本技术的知识图谱可查询地铁站点间的最短距离路径;应用本技术的知识图谱可基于出行链相似性进行通勤人员伴随者查询。
[0297]
实施例1
[0298]
下面将采用本技术所述方法,对某中小学附近某一道路在开学后的7点15分的速度值进行预测,验证本技术的知识推理模型是否能补全道路在某一时刻的速度值;
[0299]
通过对比中小学开学前后道路的实际平均速度发现,开学后在早高峰时段道路平均速度降低的时间会提前半小时左右,如图17所示。开学后道路平均速度从早上7点开始便从45km\h下降为40km\h,当7点15分时,道路平均速度实际降到了35km\h。
[0300]
下面采用本技术所述的方法对上述道路在开学后7点15分的速度进行预测,道路交通知识图谱中所包含的实体和实体间的关系如图18所示,学校位于道路上,道路与速度值之间存在关系路径。选取某一条道路及其相关联的实体作为实验数据集,选取实体数53,关系523对,训练集417,验证集53,测试集53。针对时间与速度之间的关联关系(time_speed),以时间作为头实体,预测尾实体速度值。如下表18所示为预测尾实体时排在前五位的实体,表中加粗的表示正确尾实体。
[0301]
表14预测尾实体时排在前五位的实体名称
[0302][0303]
如表14所示,采用本技术所述的方法预测的尾实体中排名第一的尾实体即为正确的尾实体,说明本技术的知识推理模型的预测结果较为准确,可以采用本技术的知识推理模型进行道路在某一时刻的速度值的补全。
[0304]
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。