什么是知识图嵌入?它们有什么用处?是否有关于该主题的广泛评论以了解所有细节?请注意,我问这个问题只是为了快速概述该主题以及为什么它可能有趣或有用,我并不是要提供所有细节,这些细节可以在参考/调查中给出。
什么是知识图嵌入?
知识图嵌入 (KGE)是在知识图 (KG)的上下文中创建的嵌入,可以将其视为知识库的视觉/图形表示,其中节点是实体(例如“汽车”或“刘易斯·汉密尔顿” ) 和边是这些实体之间的关系(例如“驱动器”),因此通过边“驱动器”从“刘易斯·汉密尔顿”到“汽车”的(有向)连接将代表“刘易斯·汉密尔顿驾驶汽车”这一事实。
KGE 是 KG 中实体或关系的向量表示,它有望保留实体和关系的语义。例如,我们期望实体“man”的嵌入更接近实体“woman”的嵌入,而不是“turtle”的嵌入。学习对象的低维向量表示以保留这些对象之间的某些语义或意义概念的想法也出现在其他 AI 子领域中,例如自然语言处理(参见例如词嵌入)或应用于软件工程的 ML(参见代码嵌入)。
KGE 很有用,因为 KG 很可能是不完整的,因此在使用 KG 时需要解决的任务之一是确定一个事实是真还是假。因此,如果我们将事实表示为三元组, 在哪里代表主题,对于关系,和对象,那么我们要确定这个事实是否是真的还是假的。在 KGE 的上下文中,这被称为三重分类。当然,在我们的KG里,我们没有这个事实,但也许我们有实体和但它们之间没有标有. 所以,给定嵌入,, 和(这是以前学过的),然后我们可以使用所谓的评分函数来确定这个事实的可能性。因此,KGE 可用于发现新的“可能”知识,但与使用演绎法从一组公理或事实中推导出新知识不同。这是一种归纳/概率方法,它具有优点(例如,您不需要演绎系统)但也有缺点(例如,即使我们的方法告诉我们事实可能并非如此)。
学习 KGE 有许多类似/相关的方法。只是为了让您了解这些是如何学习的,一个简单的方法(TransE)如下。你学习向量,和使得约束很满意。当然,这个约束只有在只能和和,所以这种方法是不现实的,因为它没有模拟多对多关系。出于这个原因,人们引入了其他方法(如RotatE或ConvE),它们既有优点也有缺点。学习这些嵌入时还会出现其他问题,例如生成合成的否定/错误事实(即,如果你有一个 KG,你只知道真实的事实,那么你怎么知道一个事实是否是错误的?你需要错误的例子事实!)。
KGEs的Wikipedia 页面已经相当全面,但是关于该主题还有许多其他资源。例如,调查知识图嵌入:方法和应用调查(2017)或(长但非常有用的)教程知识图嵌入教程:从理论到实践,目前正在研究该主题的一些人。