IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 知识图谱:知识融合(将来自不同知识库的同一实体融合在一起)【知识融合有不同的叫法,如:知识对齐、本体对齐、本体匹配、Record Linkage、Entity Resolution、实体对齐】 -> 正文阅读

[人工智能]知识图谱:知识融合(将来自不同知识库的同一实体融合在一起)【知识融合有不同的叫法,如:知识对齐、本体对齐、本体匹配、Record Linkage、Entity Resolution、实体对齐】

一、简介

通过知识抽取, 我们已经得到了海量的实体、 关系, 但是由于来源的不同, 会存在很多噪声数据, 重复的数据, 因此我们还需要对其进行清理和整合, 这个过程称为知识融合。

知识融合,即合并两个知识图谱(本体),基本的问题都是研究怎样将来自多个来源的关于同一个实体或概念的描述信息融合起来。需要确认的是:

  • 等价实例
  • 等价类/子类
  • 等价属性/子属性

在这里插入图片描述
一个例子如上图所示,图中不同颜色的圆圈代表不同的知识图谱来源,其中在dbpedia.org中的Rome 和geoname.org的roma是同一实体,通过两个sameAs链接。不同知识图谱间的实体对齐是KG融合的主要工作。

除了实体对齐外,还有概念层的知识融合、跨语言的知识融合等工作。

这里值得一提的是,在不同文献中,知识融合有不同的叫法,如本体对齐、本体匹配、Record Linkage、Entity Resolution、实体对齐等叫法,但它们的本质工作是一样的。

知识融合的主要技术挑战为两点:

  • 数据质量的挑战: 如命名模糊,数据输入错误、数据丢失、数据格式不一致、缩写等。
  • 数据规模的挑战: 数据量大(并行计算)、数据种类多样性、不再仅仅通过名字匹配、多种关系、更多链接等。

知识融合包含两个过程: 第一个过程是实体链接, 第二个过程是知识合并。 通过这两个过程可以消除噪声数据, 冗余数据, 合并相关的数据, 从而提高知识的质量。

1、实体链接

实体链接是指将我们获得的所有的相同实体、 相关实体都对应到知识库中同一个正确的实体上的操作。 首先, 我们判断现有知识库中的实体是否有相同实体或者相关实体, 也就是说将表示相同含义的实体合并为一个正确的实体; 接着通过实体抽取的相关技术获取到实体对象; 最后将实体对象对应到知识库中正确的实体上。

比如分别从携程、 途牛和驴妈妈三个旅游领域网站中拿到了广西所有的旅游景点信息, 从数据上可以发现存在一些问题。 例如携程网上有一个景点叫“七星景区” , 途牛网上有一个叫“七星公园” 的景区, 它们虽然名字不同, 但都是一个景区。

为了解决上面这个问题, 进行第一次数据融合, 其中会使用到一个开源的中文自然语言处理工具 Synonyms( https://github.com/huyingxi/Synonyms#synonyms) ,Synonyms 可以用于自然语言理解的很多任务例如: 文本对齐、 推荐算法、 相似度计算、 语义偏移、 关键字提取、 概念提取、 自动摘要、 搜索引擎等等。 它现在的词容量达到了 125792, 被誉为最好用的中文同义词词库。 使用示例如下:

word1="七星景区"
word2="七星公园"
r=synonyms.compare(word1, word2, seg=fales)

synonyms.compare 会返回 word1 和 word2 的相似度, seg 表示是否需要分词。

在实体合并部分仍然会使用到 Synonyms。 具体实现算法分为 3 部分, 第一部分实体链接、 第二部分属性链接、 第三部分属性值链接。

2、知识合并

知识合并主要是指当我们构建好自己的知识图谱时, 可以把第三方的知识库融入到我们自己的知识图谱中。 当然融入外部的知识库, 需要分别融入数据层和模式层。 模式层的融合包括: 概念的融合、 概念上下位关系的融合、 概念属性定义的融合。 数据层的融合包括: 实体的融合、 实体属性的融合。

融合算法如下所示: (携程网、 途牛网、 驴妈妈网获得的数据列表分别是 a、 b、 c),输入: a、 b、 c 任意 2 个:
在这里插入图片描述
算法执行两次, 每次输入为任意两个列表, 合并的结果再与第三个列表再作为算法的输入。 其中 r>0.7 是我们设定的阈值, 当两个词相似的概念大于 0.7 是, 认为是同义词, 是同一个景点, 反之则不是。

将 d 列表中的景点信息取出, 作为百度百科、 互动百科以及搜狗百科的输入,得到了广西所有旅游景点的 inforbox, 为了爬取方便, 最后所得到的结果都是以“==||****” 这样的形式保存, 因此现在需要对这样的数据先进行预处理,也就是说将数据格式处理为“实体, 属性, 属性值”的形式。 仔细观察得到数据, 会发现下图中红色框出的情况:

在这里插入图片描述
漓江的别称后应该对应一个实体, 而得到的数据对应的实体有 3 个, 因此需要对这种情况进行值分割,最后得到的结果如下图 所示, 从左到右分别是百度百科、 互动百科、 搜狗百科的数据。

ResultSet rs = statement.executeQuery(sql);
while(rs.next()){
String temp = rs.getString("shuju");
String name1 = temp.split("==")[0];
String name2 = temp.split("==")[1].split("\\|\\|")[0];
String name3 = temp.split("==")[1].split("\\|\\|")[1];
if(name3.indexOf("、 ") > -1){nameAry = name3.split("、 ");}
if(name3.indexOf(", ") > -1){nameAry = name3.split(", ");}
if(name3.indexOf("。 ") > -1){nameAry = name3.split("。 ");}
}

最后得到的结果如下图 3-14 所示, 从左到右分别是百度百科、 互动百科、 搜狗百科的数据:

在这里插入图片描述
在预处理和第一次数据融合之后, 需要进行第二次数据融合, 也就是需要对百科的数据进行融合。 从上图中可以看出, 实体、 属性、 属性值都会出现指代相同但是名词不一样的情况例如: “七星景区” 和“七星公园” , “中文名称” 和“中文名” , “所在地” 和“地理位置” , “广西壮族自治区” 和“广西桂林” 等等。

其次, 我们可以发现在这些三元组中其实包含了两种类型的三元组, 一种是(实体、 属性、 属性值) , 另外一种是(实体、 关系、 实体) 。 我们一直认为上图中所有的三元组都是(实体、 属性、 属性值) , 这样显然是不正确的, 注意用红色虚线框出的部分, 例如“流经地区、 只要主流、 地理位置” 等这些“属性” 划分为关系, 更为恰当。 因此在第二次数据融合中, 除了要融合相同的实体, 还要对从中提取出(实体、 关系、 实体) 。

在实体合并部分仍然会使用到 Synonyms。 具体实现算法分为 3 部分, 第一部分实体链接、 第二部分属性链接、 第三部分属性值链接。 (a、 b、 c 分别表示百度、互动和搜狗百科拿到的数据)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后在通过人工的校验得到了最后合并的结果, 如图 3-15 所示

在这里插入图片描述

3、【实体-关系-实体 】v.s. 【实体-属性-属性值】

最后需要从需要从合并结果出划分出(实体、 关系、 实体) 。 这里使用 StanfordNLP 也就是斯坦福大学的自然语言处理工具, 因为是需要处理中文文本, 所以需要选用 PKU 训练资料, 也就是北京大学提供的训练资料。 再训练好模型之后, 使用Stanford NLP 从属性值中识别出命名实体, 最后处理结果如图所示:

在这里插入图片描述

二、知识融合的基本技术流程

知识融合一般分为两步,本体对齐和实体匹配两种的基本流程相似,如下:

在这里插入图片描述

1、数据预处理

数据预处理阶段,原始数据的质量会直接影响到最终链接的结果,不同的数据集对同一实体的描述方式往往是不相同的,对这些数据进行归一化是提高后续链接精确度的重要步骤。

常用的数据预处理有:

  • 语法正规化:
    • 语法匹配: 如联系电话的表示方法
    • 综合属性: 如家庭地址的表达方式
  • 数据正规化:
    • 移除空格、《》、“”、-等符号
    • 输入错误类的拓扑错误
    • 用正式名字替换昵称和缩写等

2、记录连接

假设两个实体的记录 x x x y y y x x x y y y 在第 i i i 个属性上的值是 x i , y i x_i,y_i xi?,yi?,那么通过如下两步进行记录连接:

  • 属性相似度: 综合单个属性相似度得到属性相似度向量: [ s i m ( x 1 , y 1 ) , s i m ( x 2 , y 2 ) , … , s i m ( x N , y N ) ] [sim(x_1,y_1),sim(x_2,y_2),…,sim(x_N,y_N)] [sim(x1?,y1?),sim(x2?,y2?),,sim(xN?,yN?)]
  • 实体相似度: 根据属性相似度向量得到一个实体的相似度。



参考资料:
知识图谱之知识融合
知识图谱入门 (六) 知识融合

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-15 22:31:54  更:2022-03-15 22:36:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/29 5:24:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码