一种基于语义物联网的本体构建方法和系统
技术领域
本发明属于物联网技术领域,更具体地,涉及一种基于语义物联网的本体构建方法和系统。
背景技术
本体是对真实世界中的实体(如人或物)、实体涉及的事件以及实体之间的关系的描述,人们可以在本体中对被本体描述的对象进行查询。
物联网具有传输信息的可靠性、随地获取物体信息的感知性、对数据分析处理的智能性的特点,即由各种区域提供主体,然后使用RFID读取器对物品的标签进行扫描,物品信息就可以上传至互联网,编码仅仅实现了物品信息的格式标准化,然而没有规定描述信息的术语标准化。
因此,不同主体提供同一物品信息时,用户端会出现多种表达方式(比如,红薯不同地方还会被叫做苕或者地瓜),这种现象表明物联网之间存在数据表示的异构性,这种异构性的存在,阻碍了智能物联技术的发展。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于语义物联网的本体构建方法和系统,其目的在于,解决现有物联网中由于存在数据表示的异构性,导致阻碍物联网技术发展的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于语义物联网的本体构建方法,包括以下步骤:
(1)获取物联网数据库,对该物联网数据库进行遍历,以判断其中是否存在至少两个语义表,如果存在就进入步骤(2),否则过程结束;
(2)判断该至少两个语义表是否具有相同的主键,如果是则转入步骤(3),否则进入步骤(4);
(3)将该至少两个语义表的其中一个语义表与其他语义表中每一个不同的所有条目,合并到该每一个其他语义表中,并将该其中一个语义表从物联网数据库中删除,从而形成更新后的物联网数据库;
(4)遍历更新后的物联网数据库中所有语义表中的每一个,以判断其中的所有键是否都是外键,并且该语义表所指向的其他语义表的数量是至少两个,并且不存在指向该语义表的其他语义表,如果是则将该语义表从该物联网数据库中删除,此时物联网数据库中剩余的所有语义表构成一个实体关系语义表,并转入步骤(5),否则直接转入步骤(5);
(5)针对更新后的物联网数据库中的任意两个语义表,判断其中一个语义表中是否具有另一个语义表中的主键,如果是则转入步骤(6),否则过程结束;
(6)针对更新后的物联网数据库中剩余的语义表,重复执行上述步骤(5),直到所有语义表都被遍历完毕为止,从而得到最终的语义关联表集合;
(7)将每个实体关系语义表的名称设置为本体的概念名,并获取该实体关系语义表中的主键,将该主键的名称设置为本体的数据属性名,并将该本体的数据属性名的定义域设置为本体的概念名,值域设置为其对应的实体关系语义表中主键值的数据类型(例如整数、浮点数等);
(8)利用DBpedia背景知识库支持的SPARQL查询服务对步骤(7)中本体的每个数据属性名所对应的所有数据属性值进行处理,以得到与每个数据属性值对应的属性值候选集,并利用排序支持向量机对每个属性值候选集中的元素进行排序,取出排名前十位的元素;
(9)利用马尔科夫模型对每个实体关系语义表进行因子图建模,从而得到对应于每个实体关系语义表的因子图;
(10)利用语义消歧算法对步骤(8)中取出的元素进行处理,以得到每个属性值对应的扩展背景知识。
优选地,每个语义表中包括彼此映射的主键和外键两个属性,每个主键属性对应有多个主键值,每个外键对应有多个外键值。
优选地,在物联网数据库中的两个语义表之间可能存在指向关系。
优选地,因子图包括变量节点和因子节点,其中类型节点和实体节点被转化为因子图的变量节点,属性约束和实体间关系约束被转化为因子节点。
优选地,使用的语义消歧算法是消息传递语义算法。
按照本发明的另一方面,提供了一种基于语义物联网的本体构建系统,包括:
第一模块,用于获取物联网数据库,对该物联网数据库进行遍历,以判断其中是否存在至少两个语义表,如果存在就进入第二模块,否则过程结束;
第二模块,用于判断该至少两个语义表是否具有相同的主键,如果是则转入第三模块,否则进入第四模块;
第三模块,用于将该至少两个语义表的其中一个语义表与其他语义表中每一个不同的所有条目,合并到该每一个其他语义表中,并将该其中一个语义表从物联网数据库中删除,从而形成更新后的物联网数据库;
第四模块,用于遍历更新后的物联网数据库中所有语义表中的每一个,以判断其中的所有键是否都是外键,并且该语义表所指向的其他语义表的数量是至少两个,并且不存在指向该语义表的其他语义表,如果是则将该语义表从该物联网数据库中删除,此时物联网数据库中剩余的所有语义表构成一个实体关系语义表,并转入第五模块,否则直接转入第五模块;
第五模块,用于针对更新后的物联网数据库中的任意两个语义表,判断其中一个语义表中是否具有另一个语义表中的主键,如果是则转入第六模块,否则过程结束;
第六模块,用于针对更新后的物联网数据库中剩余的语义表,重复执行上述第五模块,直到所有语义表都被遍历完毕为止,从而得到最终的语义关联表集合;
第七模块,用于将每个实体关系语义表的名称设置为本体的概念名,并获取该实体关系语义表中的主键,将该主键的名称设置为本体的数据属性名,并将该本体的数据属性名的定义域设置为本体的概念名,值域设置为其对应的实体关系语义表中主键值的数据类型(例如整数、浮点数等);
第八模块,用于利用DBpedia背景知识库支持的SPARQL查询服务对第七模块中本体的每个数据属性名所对应的所有数据属性值进行处理,以得到与每个数据属性值对应的属性值候选集,并利用排序支持向量机对每个属性值候选集中的元素进行排序,取出排名前十位的元素;
第九模块,用于利用马尔科夫模型对每个实体关系语义表进行因子图建模,从而得到对应于每个实体关系语义表的因子图;
第十模块,用于利用语义消歧算法对第八模块中取出的元素进行处理,以得到每个属性值对应的扩展背景知识。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)由于本发明采用了步骤(1)到(7)生成本体,其具有概念和数据属性,从而能够对物联网的数据进行统一的表示,从而解决现有物联网中存在异构性的技术问题;
(2)本发明通过步骤(8)的SPARQL查询服务得到属性值候选集,再利用RSVM进行排序,在通过步骤(9)得到实体关系语义表的因子图,最后通过步骤(10)的语义消歧算法生成扩展背景知识,从而生成了具有丰富语义信息、且不具有异构性的本体。
附图说明
图1是本发明基于语义物联网的本体构建方法的流程图;
图2是本发明步骤(9)中马尔科夫形式的因子图模型;
图3是本发明最终构建的因子图的实例。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,本发明基于语义物联网的本体构建方法包括以下步骤:
(1)获取物联网数据库,对该物联网数据库进行遍历,以判断其中是否存在至少两个语义表,如果存在就进入步骤(2),否则过程结束;
具体而言,每个语义表中包括彼此映射的主键和外键两个属性,每个主键属性对应有多个主键值,每个外键对应有多个外键值;
在物联网数据库中的两个语义表之间,可能存在指向关系,例如语义表A指向语义表B,语义表C指向语义表A等。
(2)判断该至少两个语义表是否具有相同的主键,如果是则转入步骤(3),否则进入步骤(4);
(3)将该至少两个语义表的其中一个语义表与其他语义表中每一个不同的所有条目,合并到该每一个其他语义表中,并将该其中一个语义表从物联网数据库中删除,从而形成更新后的物联网数据库;
(4)遍历更新后的物联网数据库中所有语义表中的每一个,以判断其中的所有键是否都是外键,并且该语义表所指向的其他语义表的数量是至少两个,并且不存在指向该语义表的其他语义表,如果是则将该语义表从该物联网数据库中删除,此时物联网数据库中剩余的所有语义表构成一个实体关系语义表,并转入步骤(5),否则直接转入步骤(5);
(5)针对更新后的物联网数据库中的任意两个语义表,判断其中一个语义表中是否具有另一个语义表中的主键,如果是则转入步骤(6),否则过程结束;
(6)针对更新后的物联网数据库中剩余的语义表,重复执行上述步骤(5),直到所有语义表都被遍历完毕为止,从而得到最终的语义关联表集合;
(7)将每个实体关系语义表的名称设置为本体的概念名,并获取该实体关系语义表中的主键,将该主键的名称设置为本体的数据属性名,并将该本体的数据属性名的定义域设置为本体的概念名,值域设置为其对应的实体关系语义表中主键值的数据类型(例如整数、浮点数等);
(8)利用DBpedia背景知识库支持的SPARQL查询服务对步骤(7)中本体的每个数据属性名所对应的所有数据属性值进行处理,以得到与每个数据属性值对应的属性值候选集,并利用排序支持向量机(Ranking support vector machine,简称RSVM)对每个属性值候选集中的元素进行排序,取出排名前十位的元素;
(9)利用马尔科夫模型对每个实体关系语义表进行因子图建模,从而得到对应于每个实体关系语义表的因子图;
本步骤利用马尔科夫链来建模表格数据,其中表格中的单元数据对应模型的变量节点,图2是将表格数据用马尔科夫形式进行因子图建模的模型,将表格数据转化成马尔科夫链的形式,表格数据的第一行为数据属性,每一列是具有同一数据属性的实体,比如,若T1为“水果”,则T1对应的这一列的实体为“橙子”,“苹果”,“香蕉”等水果,不可能会出现实体“计算机”,因为数据属性对属性实体有约束,反之,一列的属性实体确定了,可以大致推断此列的属性类型。所以在数据属性和对应的属性实体之间一一用无向边连接,表示这一约束关系。同一行不同列的实体可以理解为一个事物的不同特征,比如R21如果为“大黄蜂”,难以判断是雪佛兰公司的汽车品牌还是一种动物,但是如果R22为“省油,加速快”,则很容易确定R21描述的是汽车品牌,所以,同一行之间也会存在约束关系,在同一行的实体之间用无向边进行连接。
因子图包括变量节点和因子节点,按照上述描述,将类型节点和实体节点转化为因子图的变量节点,属性约束和实体间关系约束转化为因子节点。因子化之后的因子图如图3所示。其中圆形表示变量节点,T表示属性类型节点,R表示属性实体节点,方形表示因子节点,C1表示数据属性对实体的约束,C2表示同一行不同类型间实体的约束。
(10)利用语义消歧算法对步骤(8)中取出的元素进行处理,以得到每个属性值对应的扩展背景知识;
具体而言,本步骤中使用的语义消歧算法是消息传递语义算法。
本发明挖掘出了数据库的关系模式隐含的语义信息,其包括概念间的层次关系和命名关系;然后根据映射规则和关系模式中的语义信息来进行实体、属性以及关联关系的映射。设备关联本体构建利用中间属性作为桥梁,建立中间属性、传感属性以及设备间的关系,间接得到设备间的关联关系,解耦了特定场景和设备间的紧耦合关系。
本发明针对本体构建过程中设备属性信息描述不完善的问题,研究了基于实体链接的领域知识扩展方法,该方法将领域知识库通过实体链接技术与背景知识库DBpedia进行对齐,共享背景知识信息,扩展领域知识库。首先将预处理后的表格数据中的属性实体通过模糊查询,找到背景知识库中的所有满足条件的实体候选集,为了提升后续算法的收敛性和结果的准确性,利用Ranking SVM对候选实体集进行排序,排序结果截取前10位作为后续算法的输入,然后消歧过程中,为了解决结构化数据缺乏上下文信息的问题,以属性类型和属性实体间的约束以及同行属性实体间的约束作为参考条件,采用了语义信息传递算法找到目标实体。实验结果表明,与未进行排序的同类方法相比,本发明方法的准确率提升了21.2%。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。