知识图谱之知识表示学习
PART 1
简谈知识表示学习
知识表示学习的前提是表示学习,那么何为表示学习?就是把图像、文本、语音等的语义信息表示为低维稠密的实体向量,即Embedding。Embedding是大家都熟知的,自从13年出现的word2vec,Embedding成为NLP任务的标配。
那么知识表示学习呢?改变了对象,即将知识库中的实体和关系表示为低维稠密的实体向量。
那么知识图谱中的知识都是什么?我们熟知知识图谱是由实体和关系组成,通常采用三元组的形式表示,【head(头实体),relation(实体的关系),tail(尾实体)】,简写为(h,r,t)。
知识表示学习存在两大问题:
计算效率:图表示的知识表示简单直观,通俗易懂,但是图算法的复杂度高。
数据稀疏:不知道大家知不知道长尾分布,长尾上面实体和关系的语义信息很难捕获。
PART 2
知识表示学习代表模型
知识表示学习目前的一些主要方法包括以下几个:
距离模型(Structured Embedding, SE)
单层神经网络模型(Single Layer Model, SLM)
能量模型(Semantic Matching Energy, SME)
双线性模型
张量神经网络模型(Neural Tensor Network, NTN)
矩阵分解模型
翻译模型
目前来看,从工业界和学术界基本都是在翻译模型之上研究或者根据业务进行调整,而其他的上述模型大概存在两个问题,一个是实体和语义之间的关系很难刻画的好,另一个就是计算复杂度很高。
翻译模型从 TransE 开始,并衍生出一系列模型。我们在这里仅仅谈论下 TransE 模型。
首先来看看 TransE 的名字来源,它的论文标题是:Translating Embeddings for Modeling Multi-relational Data。从这个标题我们不难猜想出为什么简称为TransE,以及为什么称之为翻译模型。除此之外,这篇论文也是始于2013年。
TransE 模型的基本思想就是把 relation 看做是 head 到 tail 的翻译,认为一个正确的知识三元组应该满足 h+ r =(约等于) t,而错误的不满足,通俗来讲就是头实体 embedding 加上关系 embedding 近似等于尾实体 embedding ,见下图,思想就是这么的简单但却高效。
TransE 定义了一个距离函数 d(h + r, t)来衡量 h + r 和 t 之间的距离,我们也可以使用 L1 或 L2 范数。TransE采用最大间隔的方法,其目标函数如下:
其中,S是正确的三元组,S’是通过替换 h 或 t 所得错误的三元组。γ 是间隔距离超参数,[x]+表示正值函数,即 x > 0 时,[x]+ = x;当 x ≤ 0 时,[x]+ = 0 。
TransE模型虽然取得了很大的突破,但是对复杂关系的建模效果却十分不理想,如1-N,N-1,N-N,因此在其之后衍生了一系列变种模型:TransH, TransR, TransD, TranSparse, TransA, TransG, KG2E等,本文再先不阐述这些模型,可以看导语回复关键词 krl,获取知识表示学习思维导图。
PART 3
如何来对知识表示学习评测?
评测需要数据集,我们先来看看几个常用的数据集:
WordNet:是最著名的词典知识库,拥有极高准确率的本体知识,主要用于词义消歧。其主要定义了名词、动词、形容词和副词之间的语义关系。例如名词之间的上下位关系(如:"猫科动物”是“猫”的上位词),动词之间的蕴含关系(如:"打鼾"蕴含着"睡眠")等。
Freebase:Freebase 将 WordNet 与 Wikipedia 二者的知识结合,即利用WordNet的本体知识补充 Wikipedia中实体的上位词知识,从而获取大规模高质量、高覆盖的知识库。其数据基于RDF三元组模型,底层采用图数据库进行存储。
YAGO:YAGO 是一个综合型知识库,整合了 Wikipedia、WordNet 以及 GeoNames (全球地理数据库)等数据源,特别是将维基百科中的分类体系与 WordNet 的分类体系进行了融合,构建了一个复杂的类别层次结构体系。
论文中常用的一些评测数据集及其数据分布如下图:
对训练好的词向量有如词相似度、词类聚、各种下游任务的评测方法。如何来评测知识表示学习效果的好坏,其中主要有两个任务,链接预测和三元组分类。
链接预测:
知识图谱中的链接预测指预测含有普通关系的三元组中丢失的头实体或尾实体。预测结果是候选实例根据损失值排名的清单,而不直接给出最匹配的实例。
评测标准通常使用以下两种:
• MRR:所有正确实例排名的倒数的平均值;
• Hits@N:正确实例的排名中不大于 N 的比例。
三元组分类:
知识图谱中的三元组分类示一个二分类问题,其是判断给定的三元组是否是知识图谱中真实存在的。
评测标准通常使用评测标准使用准确率(Accuracy)、精确率(Precision)、召回率(Recall) 和F-score值。
参考资料
东南大学《知识图谱》研究生课程。
https://github.com/npubird/KnowledgeGraphCourse
知识表示学习的研究与进展
Knowledge Graph Embedding: A Survey of Approaches and Applications
上述图片均来自于东南大学《知识图谱》研究生课程PPT和TransE原论文。
知识图谱系列文章:
推荐阅读
斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用
太赞了!Springer面向公众开放电子书籍,附65本数学、编程、机器学习、深度学习、数据挖掘、数据科学等书籍链接及打包下载
深度学习如何入门?这本“蒲公英书”再适合不过了!豆瓣评分9.5!【文末双彩蛋!】
数学之美中盛赞的 Michael Collins 教授,他的NLP课程要不要收藏?
模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。