知识图谱---本体匹配(基于结构)

2023-10-31 23:20

本文主要是介绍知识图谱---本体匹配(基于结构),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于相似度的本体匹配

2.1.sf(similiarity flooding)

1)pairwise connectivity graph(PCG) : ((x; y); p; (x'; y')) 属于 PCG(A;B)<==>(x; p; x') € A and (y; p; y') € B。 关键是p要相同,也就是边的名字一样。式子从右向左推导,就可以A、B从两个模型建立起它们的PCG。图中的每个节点,都是A和B中的元素构成的2元组,叫做map pairs。

2)induced propagation graph。从PCG推导而来,加上了反向的边,边上注明了[传播系数],值为 1/n,n为相应的边的数目。

3)每次迭代中,ó-values 都会根据其邻居paris的 ó-values  乘以[传播系数] 来增加。例如,在第一次迭代 ó1(a1; b1) = ó0(a1; b1) + ó0(a; b) * 0.5 = 1.5。类似的,ó1(a, b) = ó0(a, b) + ó0(a1; b1) * 1.0 + ó0(a2, b1) *1.0 = 3.0。接下来,所有 ó 值进行正规化,比如除以当前迭代的 ó 的最大值,保证所有 ó 都不大于1。所以在正规化以后,ó1(a; b) = 1.0, ó1(a1, b1) = 1.5/3.0 = 0.5。

sf实现:https://github.com/dice89/owlSimilarityFlooding

sf方法缺陷

相似性只能传播到“等边”的元素,算法中并没有考虑边的相似

在繁殖图中,为双向边赋值繁殖系数,繁殖系数根据点对的出度均匀分配,相似度的计算只是简单地利用繁殖系进行迭代,因此元素的相似度只由与它同边的相似对决定而忽略了其他元素自身的某种联系。

2.2.改进sf

算法的主要流程为:

1)利用WordNet对元素相似度进行初始化.挑选出一组可信度较高的相似对种子;

2)基于改进的SF算法发现可能的相似对;

3)根据元素的特征(如元素的父类、子类、属性等)综合计算相似对的相似度;

4)更新相似对种子,迭代地用相似度传播算法发现相似对,计算相似度,直到收敛;

5)从最终的相似度矩阵中提取出匹配对。

这篇关于知识图谱---本体匹配(基于结构)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/318814

相关文章

golang字符串匹配算法解读

《golang字符串匹配算法解读》文章介绍了字符串匹配算法的原理,特别是Knuth-Morris-Pratt(KMP)算法,该算法通过构建模式串的前缀表来减少匹配时的不必要的字符比较,从而提高效率,在... 目录简介KMP实现代码总结简介字符串匹配算法主要用于在一个较长的文本串中查找一个较短的字符串(称为

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

关于Gateway路由匹配规则解读

《关于Gateway路由匹配规则解读》本文详细介绍了SpringCloudGateway的路由匹配规则,包括基本概念、常用属性、实际应用以及注意事项,路由匹配规则决定了请求如何被转发到目标服务,是Ga... 目录Gateway路由匹配规则一、基本概念二、常用属性三、实际应用四、注意事项总结Gateway路由

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始