| |
|
开发:
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、实体对齐】 |
一、简介通过知识抽取, 我们已经得到了海量的实体、 关系, 但是由于来源的不同, 会存在很多噪声数据, 重复的数据, 因此我们还需要对其进行清理和整合, 这个过程称为知识融合。 知识融合,即合并两个知识图谱(本体),基本的问题都是研究怎样将来自多个来源的关于同一个实体或概念的描述信息融合起来。需要确认的是:
除了实体对齐外,还有概念层的知识融合、跨语言的知识融合等工作。 这里值得一提的是,在不同文献中,知识融合有不同的叫法,如本体对齐、本体匹配、Record Linkage、Entity Resolution、实体对齐等叫法,但它们的本质工作是一样的。 知识融合的主要技术挑战为两点:
知识融合包含两个过程: 第一个过程是实体链接, 第二个过程是知识合并。 通过这两个过程可以消除噪声数据, 冗余数据, 合并相关的数据, 从而提高知识的质量。 1、实体链接实体链接是指将我们获得的所有的相同实体、 相关实体都对应到知识库中同一个正确的实体上的操作。 首先, 我们判断现有知识库中的实体是否有相同实体或者相关实体, 也就是说将表示相同含义的实体合并为一个正确的实体; 接着通过实体抽取的相关技术获取到实体对象; 最后将实体对象对应到知识库中正确的实体上。 比如分别从携程、 途牛和驴妈妈三个旅游领域网站中拿到了广西所有的旅游景点信息, 从数据上可以发现存在一些问题。 例如携程网上有一个景点叫“七星景区” , 途牛网上有一个叫“七星公园” 的景区, 它们虽然名字不同, 但都是一个景区。 为了解决上面这个问题, 进行第一次数据融合, 其中会使用到一个开源的中文自然语言处理工具 Synonyms( https://github.com/huyingxi/Synonyms#synonyms) ,Synonyms 可以用于自然语言理解的很多任务例如: 文本对齐、 推荐算法、 相似度计算、 语义偏移、 关键字提取、 概念提取、 自动摘要、 搜索引擎等等。 它现在的词容量达到了 125792, 被誉为最好用的中文同义词词库。 使用示例如下:
synonyms.compare 会返回 word1 和 word2 的相似度, seg 表示是否需要分词。 在实体合并部分仍然会使用到 Synonyms。 具体实现算法分为 3 部分, 第一部分实体链接、 第二部分属性链接、 第三部分属性值链接。 2、知识合并知识合并主要是指当我们构建好自己的知识图谱时, 可以把第三方的知识库融入到我们自己的知识图谱中。 当然融入外部的知识库, 需要分别融入数据层和模式层。 模式层的融合包括: 概念的融合、 概念上下位关系的融合、 概念属性定义的融合。 数据层的融合包括: 实体的融合、 实体属性的融合。 融合算法如下所示: (携程网、 途牛网、 驴妈妈网获得的数据列表分别是 a、 b、 c),输入: a、 b、 c 任意 2 个: 将 d 列表中的景点信息取出, 作为百度百科、 互动百科以及搜狗百科的输入,得到了广西所有旅游景点的 inforbox, 为了爬取方便, 最后所得到的结果都是以“==||****” 这样的形式保存, 因此现在需要对这样的数据先进行预处理,也就是说将数据格式处理为“实体, 属性, 属性值”的形式。 仔细观察得到数据, 会发现下图中红色框出的情况:
最后得到的结果如下图 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?,那么通过如下两步进行记录连接:
参考资料: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |