关于某个主题的结构化信息。
图结构
接近自然语义
机器学习=表示+目标+优化
个人理解:寻找数字特征来更好地代替样本
举例:one-hot表示
嵌入表示
稠密、低维、实值向量
层级化
抽象
缓解大规模数据中的稀疏性问题
跨域和跨对象的知识迁移
将知识图谱的实体关系投射到低维向量空间,参与到自然语言处理任务。
重要的不是高阶模型,而是基本的模型、基本的思路。
需要培养的能力是面对新问题时如何运用基本思想给出合适的解决方案。
受到word2vec的启发
C(king)-C(queen) ≈ C(France)-C(Paris) ≈ C(CapitalOf)
学习目标:h+r=t
能量函数:f(h,r,t) = ||h+r-t||
目标函数:
对于存在于知识图谱的三元组(h,r,t),希望它的能量函数尽可能小;对于不存在于知识图谱的三元组(h’,r’,t’),希望它的能量函数尽可能大。
在表示空间中将头实体变换到尾实体附近
h(头实体)M(变换) ≈ t(尾实体)
评分函数:双线性函数
捕捉h和t所有部分间的关系
对关系矩阵M不设要求
评分函数:逐元素相乘
是对RESCAL的简化,限制M为对角矩阵
评分函数:循环相关
结合RESCAL的表示能力和DistMult的计算效率
1对N,N对1,N对N
C(USA) - C(PresidentOf) = C(Trump) or C(Biden)?
构建与给定关系相关的实体表示
例如:TransH(投射到特定的平面),TransR(变换到新的表示空间)、TransD(不仅与关系相关,还与头尾实体相关)
ComplEx
在复数空间而非实数空间中表示实体,能捕捉对称和反对称关系。
RotateE
将实体关系建模为复数空间中头实体到尾实体的旋转
KG2E
特别考虑到实体和关系的不确定性,很难用一种确定值来表示,所以将关系和实体建模为高斯分布。
NTN
用神经张量网络建模知识图谱,用词向量表示实体。
存在参数过大的问题。
ConvE
用2D卷积建模实体和关系的相互作用。
ConvKB
用CNN编码实体和关系的拼接。
CoKE
采用Transformer作为编码器
可以利用上下文信息。
R-GCN
考虑节点关系类型的图神经网络
如何利用外部的信息帮助我们更好地学习?
DKRL
用CNN建模,使用文本信息来增强实体的表示
SSP
将损失向量(h+r-t)投射到语义超平面,建模三元组合文本描述信息的强关联性。
TKRL
拥有多个类别的实体在不同场景下应当有多种表示,建立实体不同类别下的投影。
不同的层级类别有不同的编码方式:递归层级编码器(RHE)和加权层级编码器(WHE)
层级类别提升了长尾数据上的实体的表现,先验的类别知识对于稀疏数据十分重要。
KR-EAR
有些关系其实可以看做实体的属性。
由此建立了关系三元组编码器、属性三元组编码器。
IKRL
利用图像编码器(如CNN)提取图片的特征,用注意力模块将这些表示结合。
关系之间有着复杂的推断路径,如:
由某部电影的导演、这位导演的母语这两种关系,我们可以直接推出这部电影的语言,很可能就是导演的母语,从而建立图中的虚线关系(电影的语言)。
基于路径的方法
Path-Ranking算法
对于一对实体,随机游走派生出多条可能的路径,作为这组实体的特征。
然后使用监督学习,对这些特征(也就是关系)进行分类。
可解释性强但不能规模化(参数爆炸)。
Path-based TransE
将关系路径上的多种关系,通过相加/按位相乘/RNN,合并成一种路径的表示。
基于逻辑规则的方法
希望能将规则和嵌入表示结合。
KALE
在统一的框架下表示、建模事实和规则,将规则下包含的三元组分数结合,得出这个规则的分数。
pLogicNet
结合上面的马尔科夫逻辑网络和知识表示学习,提出了变分EM算法:
E-step:用逻辑规则推断缺失的三元组
M-step:更新规则的权重
两者交替进行,不断迭代。
关系路径和逻辑规则包含丰富的知识推理模式。
以后应该考虑更复杂些的推理模式,如自动推理的模式。