使用Facebook的Pytorch的BigGraph从知识图谱中提取知识

本文介绍了如何使用Facebook的PyTorch库BigGraph从知识图谱中提取知识。文章首先讲解了Word2Vec和Node2Vec的基本原理,展示了它们如何捕获单词和节点的相似性。接着,文章转向知识图谱的表示和负采样技术,并探讨了在大规模图中进行分布式训练的方法。最后,文章提到了知识图谱模型的局限性,指出静态知识图谱无法反映知识随时间演变的过程。
摘要由CSDN通过智能技术生成

机器学习使我们能够训练一个可以将数据转换为标签的模型,从而把相似的数据映射到相似或相同的标签。

例如,我们正在为电子邮件构建一个垃圾邮件过滤器。我们有很多电子邮件,其中一些标记为垃圾邮件,另一些标记为正常邮件(INBOX)。我们可以构建一个模型,该模型学习识别垃圾邮件。被标记为垃圾邮件的邮件在某种程度上类似于已经标记为垃圾邮件的邮件。

相似性的概念对于机器学习至关重要。在现实世界中,相似性的概念与某个主题相关,它取决于我们的知识

另一方面,数学模型定义了相似性的概念。通常,我们将数据表示为多维向量,并测量向量之间的距离。

0_LXrVzPbG3uA0gd--

https://www.quora.com/Why-do-we-use-cosine-similarity-on-Word2Vec-instead-of-Euclidean-distance

特征工程是将我们对现实世界中的某个对象的知识转换为数字表示的过程。我们认为相似的对象转化为数字后的向量也会很靠近。

例如,我们正在估算房价。我们的经验告诉我们,房屋是由卧室的数量,浴室的数量,房龄,房屋面积,位置等来定义的。位于同一社区,具有相同大小和房龄的房屋的价格应该大致相同。我们将对房屋市场的了解转化为表征房屋的数字,并用它来估算房屋的价格。

不幸的是,如上所述,手动特征工程在将我们的知识转换为描述性特征的能力方面存在局限性。

有时,知识的使用仅限于相似性原理,而不是对象的确切相似特征。通常,我们对现实世界的了解要比简单的表格所代表的要复杂得多。它通常是相互联系的概念和图形。

嵌入模型使我们能够获取原始数据,并根据我们的知识自动将其转换为特征。

Word2Vec

Word2Vec可能是最著名的嵌入模型,它为单词建立相似度向量。在这种情况下,我们对世界的了解用文字来进行表示,即文字序列。

虽然数十年来,人们尝试使用手动定义的特征来刻画单词,但收效甚微。这些解决方案通常无法扩展到全部知识,也无法在有限的情况下起作用。

托马斯·米科洛夫Tomas Mikolov)和他在Google的团队决定建立模型时,一切都改变了,该模型基于众所周知的相似性原理进行工作。在相似上下文中使用的词通常相似。在这种情况下,上下文由附近的单词来定义。

0_T7wsEHGyun-cqnyi

单词序列的图形表示。

我们看到的是,只要牢记这些原则,我们就可以通过在预定义窗口(通常为5个单词)内将每个单词与其相邻单词简单地连接起来,从而在文本中构建图形。

现在我们有了一个基于我们的知识连接起来的真实单词对象的图形。

最简单/最复杂的单词表示

我们仍然无法建立任何模型,因为单词没有以表格或向量表示。

如果我们需要将单词转换为数字,那么有一个简单的解决方案。让我们来看看字典,并为每个单词指定其在字典中的位置。

例如,如果我有三个单词:猫(cat),毛毛虫(caterpillar),小猫(kitten)。

我的向量表示法如下:cat—[1],caterpillar—[2],和kitten—[3]。

不幸的是,这不起作用。通过这样分配数字,我们隐式地引入了单词之间的距离。猫和毛毛虫之间的距离是1,猫和小猫之间的距离是2。这样进行表示就等于,我们说猫比起小猫更像毛毛虫,这与我们的知识是相互矛盾的。

另外一个解决方案也称为独热编码(one-hot encoding)

cat — [1,0,0]

caterpillar — [0,1,0]

kitten — [0,0,1]

该方法表示所有单词都彼此正交。我们没有单词相似性的先入观念。我们将依靠我们的知识图谱(如上所述)和的单词相似性原理来构建嵌入模型。

在现实世界中,字典的大小远远大于3。字典的维数可能是数万到数百万。这些向量不仅不能真正代表我们的相似性概念,而且它们的体积也很大,无法在实际中使用。

建立词嵌入(word embeddings)

我们的知识图谱为我们提供了非常多的边,每条边都可以解释成输入数据作为边的起点,标签为边的终点。我们正在构建一个模型,该模型试图使用被标签包围的单词来预测单词。通常以两种方式完成。我们要么从某个单词的所有邻居来构造单词向量

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值