知识推理
概述
- 推理能力:对知识的内部表示进行操作的过程——通过已知知识推断出未知知识的过程
- 推理:是由一个或几个已知的判断(前提)推出新判断(结论)的过程
- 归纳 vs. 演绎
- 归纳推理:从特殊到一般的过程,从大量事实推出该类事物的一般性结论
- 演绎推理:从一般到特殊的过程,从一般性结论出发,得到具体陈述或个体结论的过程——三段论(大前提、小前提、结论) / 利用每一个证据,逐步推导出目标或以外的结论
- 二者的区别:后者力求在一般性前提下,得到个体结论的正确性,没有产生新的知识;前者则产生了没有的新知识
- 确定性 vs. 不确定性
- 确定性推理:确定性逻辑推理,完备的推理过程和充分的表达能力,严格按照预先定义的规则准确推导出结论——现实世界很难实现(存在不确定、不正确的知识)
- 不确定性推理:概率推理,构建概率模型,对推理假设进行验证,存在一定置信度的正确性证明
- 逻辑 vs. 非逻辑
- 逻辑推理:包含严格约束的推理过程
- 非逻辑推理:过程相对模糊
- 符号 vs. 数值
- 符号推理:直接在知识图谱中的实体和关系符号上进行直接推理(确定性、不确定性)
- 数值推理:使用数值计算实现推理(分布式表示推理)
- 任务需求
- 知识库补全:链接预测
- 知识库问答:对自然问句的解析,从知识库中寻找答案
归纳推理:学习推理规则
- 基于规则的推理:精准 + 可解释
- 规则学习:自动化规则获取
- 一阶谓词逻辑规则
- 谓词、个体变量
- 逻辑蕴含、存在量词、全称量词
- 规则体(前提)、规则头(结论)、规则实例
规则逻辑程序设计 ILP
-
ILP:使用一阶谓词逻辑来进行知识表示、通过修改和扩充逻辑表达式完成对数据的规则
- 给定:目标谓词 P P P, P P P的正例集合系和反例集合、背景知识
- 目标:找到定义 P P P的规则,使其覆盖所有的正例,同时不覆盖所有负例
-
FOIL算法
- First Order Inductive Learner
- 序贯覆盖实现规则的学习
- 算法过程:
- 从空规 P ← ? P \gets ? P←?开始,将目标谓词作为规则头
- 逐一将其他谓词加入规则体进行考察,按预定标准评估规则的优劣并选取最优规则
- 将该规则覆盖的训练样例去除,以剩下的样例组成训练集重复上述过程
- 从一般到特殊:逐步向规则添加约束,不断覆盖所有正例,并不覆盖所有负例
- 规则评估
- F O I L _ G A I N = M ^ + ( log 2 m ^ + m ^ + + m ^ − − log 2 m + m + + m − ) FOIL\_GAIN = \hat M_+ \left( \log_2 \frac {\hat m_+}{\hat m_+ + \hat m_-} - \log_2 \frac {m_+}{m_+ + m_-} \right) FOIL_GAIN=M^+(log2m^++m^−m^+−log2m++m−m+)
- M ^ + / M ^ − \hat M_+ / \hat M_- M^+/M^−:增加候选文字后新规则覆盖的正、反例个数
- M + / M − M_+ / M_- M+/M−:原规则所覆盖的正、反例个数
- 该增益仅考虑正例的信息增益,并以新规则覆盖的正例数为权重
-
传统ILP vs. 知识图谱
- ILP
- 谓词可以多元
- 需要目标谓词的正例与反例
- 封闭世界假设(未声明正例即反例)
- 知识图谱
- 谓词通常二元
- 一般不显式表示谓词的反例
- 开放世界假设(未声明,可认为未知类别)
- ILP
关联规则挖掘
- 规则:包含规则主题和规则头两个部分
- R U L E : B O D Y → H E A D RULE:BODY \to HEAD RULE:BODY→HEAD
- 规则头都是二元原子,规则体由任意多个一元或二元原子组成(合取)
- 一般规则:规则体包含肯定部分和否定部分
- 霍恩规则:规则体只包含肯定部分
- 路径规则:KaTeX parse error: Undefined control sequence: \and at position 15: r_1(e_1, e_2) \̲a̲n̲d̲ ̲r_2(e_2, e_3) \…
- 规则学习评估
- 规则实例化:变量替换成实体后的结果
- 支持度 support ( r u l e ) \operatorname{support}(rule) support(rule):同时满足规则主体和规则头的实例个数
- 置信度 confidence ( r u l e ) \operatorname{confidence}(rule) confidence(rule): confidence ( r u l e ) = support ( r u l e ) # body ( r u l e ) \operatorname{confidence}(rule) = \frac {\operatorname{support}(rule)}{\#\operatorname{body}(rule)} confidence(rule)=#body(rule)support(rule)
- 规则头置信度(head confidence): head_confidence ( r u l e ) = support ( r u l e ) # head ( r u l e ) \operatorname{head\_confidence}(rule) = \frac {\operatorname{support}(rule)}{\#\operatorname{head}(rule)} head_confidence(rule)=#head(rule)support(rule)
- AMIE:不完备知识库中的关联规则挖掘
- AMIE挖掘闭式规则
- 两个谓词共享一个变量或实体,则连通
- 两个为此通过连通关系传递性相连,则连通
- 规则连通且其中变量至少出现两次,则为闭式规则
- AMIE依次学习每种关系的规则
- 从空规则开始,通过三种操作扩展规则体,保留支持度大于阈值的候选闭式规则
- 添加悬挂边:悬挂边的一端为未出现过的变量
- 添加实例边:实例边的一端为未出现过的常量
- 添加闭合边:闭合边是连接两个存在于规则中的元素的边
- AMIE规则评估
- 支持度:同时符合规则体和规则头的实例数目
- 置信度:支持度除以仅符合规则体的实例数目
- 基于封闭世界假设
- 部分完整性假设
- 强于开发世界假设
- 在知识库中,若存在某个实体 x x x的关系 r r r属性,则知识库中包含了 x x x的所有关系 r r r属性(否则对于 r r r, x x x是否包含之是未知的)
- 基于部分完整性假设的规则评估
- PCA置信度:在支持度的计算中,分布只考虑 r ( x , y ′ ) r(x, y^\prime) r(x,y′)这种与 x x x存在 r r r关系的包含指定 y y y以外的实例,不考虑只包含 r ( x , y ) r(x, y) r(x,y)的实例
- AMIE挖掘闭式规则
路径排序算法
- 规则与图谱中的关系路径存在对应关系
- PRA以路径作为特征,学习目标关系的分类器
- score ( s , t ) = ∑ π j ∈ P l θ j P ( s → t , ; π j ) \operatorname{score}(s, t) = \sum_{\pi_j \in P_l} \theta_j P(s \to t, ; \pi_j) score(s,t)=∑πj∈PlθjP(s→t,;πj)
- 工作流程
- 特征抽取:生成并选择路径特征集合(随机游走、BFS、DFS)
- 特征计算:计算每个训练样例的特征值(随机游走概率、出现频次)
- 分类器训练:根据训练样例,为每个目标关系训练一个分类器(单任务学习、多任务学习)
- PRA规则学习:根据分类器权重自动挖掘并筛选可靠规则
演绎推理:推理具体事实
- 基于规则的直接推理
- 通常需要在已知事实上反复迭代使用规则,开销大、效率低
- 只能进行确定性推理,无法完成不确定性推理
马尔科夫逻辑网
- 马尔可夫逻辑网:概率图 + 一阶谓词逻辑
- 统计关系学习模型
- 核心思想:为规则绑定权重,将一阶谓词逻辑中的硬性约束软化
- 规则通常是真的,但不总是真的——违反规则——存在的可能性降低——违例越少,存在可能性越大——权重
- 权重:约束强度,无穷大权重即硬性规则
- 形式化定义:P61-62
- P ( X = x ) = 1 Z exp ( ∑ f i ∈ F w i n i ( x ) ) P(X = x) = \frac 1Z \exp \left(\sum_{f_i \in \mathcal F} w_i n_i(x)\right) P(X=x)=Z1exp(∑fi∈Fwini(x))
- n i ( x ) n_i(x) ni(x)表示当前世界 x x x中规则 f i f_i fi的所有实例化中为真的数目
- 对应图结构
- 每个原子事实对应图中的一个节点
- 两个节点所表示的原子事实出现在同一个实例化规则之中,存在一条边
- 所有出现在同一实例化规则中的原子事实组成了一个团
- 问题
- 规则及权重已知: 推断知识图谱中任意未知事实成立的概率(推断问题)
- 规则已知权重未知: 自动学习每条规则的权重(参数学习)
- 规则及权重未知: 自动学习规则及其权重(结构学习)——归纳推理!
概率软逻辑
- 概率软逻辑
- 对马尔可夫逻辑网的进一步延伸
- 允许原子事实的真值可以在连续空间 [ 0 , 1 ] [0, 1] [0,1]内取任意值
- 一阶谓词逻辑的松弛建模
- KaTeX parse error: Undefined control sequence: \and at position 5: l_1 \̲a̲n̲d̲ ̲l_2 = \max \{0,…
- KaTeX parse error: Undefined control sequence: \or at position 5: l_1 \̲o̲r̲ ̲l_2 = \max \{I(…
- ¬ l 1 = 1 − I ( l 1 ) \neg l_1 = 1 - I(l_1) ¬l1=1−I(l1)
- 蕴含式 r b o d y → r h e a d r_{body} \to r_{head} rbody→rhead成立当且仅当 I ( r b o d y ) ≤ I ( r h e a d ) I(r_{body}) \le I(r_{head}) I(rbody)≤I(rhead)
- 概率分布
- f ( I ) = 1 Z exp ( ∑ r ∈ R λ r ( d r ( I ) ) p ) f(I) = \frac 1Z \exp \left(\sum_{r \in \mathcal R} \lambda_r (d_r(I))^p \right) f(I)=Z1exp(∑r∈Rλr(dr(I))p)
- λ r \lambda_r λr为权重
- d r ( I ) d_r(I) dr(I)为真值
- p p p为1或者2两种损失函数
- 问题
- 规则及权重已知: 推断知识图谱中任意未知事实成立的概率(推断问题)
- 规则已知权重未知: 自动学习每条规则的权重(参数学习)
- 规则及权重未知: 自动学习规则及其权重(结构学习)——归纳推理!
- 应用:事件识别
- 解决方法:同时考虑多层次信息对触发词进行消歧
- 深层局部信息:细粒度实体类型
- 全局信息:事件之间的相关性
- 全局模块:
- 联合局部模型的初步分类信息和全局信息进行全局推理
- 概率软逻辑模型
- 句子级:在相同句子中共现的概率
- 文档级:在相同文档中共现的概率
- 主题级:主题和事件的相关性
- 前沿:面向自然语言的软推理机——使用自然语言模仿三段论推理
基于分布式表示的推理
- 人的推理模式
- 考虑尽可能多的因素,全局推理——线索越多越能得到正确结论
- 利用潜在的推理模式——隐式规律
- 数值推理的优势
- 捕捉实体和关系之间的隐式关联
- 分布式空间映射对特征间的复杂关系进行了解耦,减少了维数灾难问
- 使符号数据可以直接参与运算且计算速度非常快
- 分布式知识表示
- 将符号化的实体和关系在低维连续向量空间表示,简化计算,最大限度保留原始图结构
- 实体关系表示(定义实体和关系的表示)——打分函数定义(三元组成立可能性)——表示学习(优化问题)
- 任务:链接预测、元组分类、实体解析
- 表示方法分类
- 位移距离模型:基于距离的打分函数衡量三元组成立可能性
- TransE
- 位移假设 h + r = t \bold h + \bold r = \bold t h+r=t
- 打分函数 f ( h , r , t ) = ∥ h + r = t ∥ 1 / 2 f(h, r, t) = \|\bold h + \bold r = \bold t\|_{1 / 2} f(h,r,t)=∥h+r=t∥1/2
- Cons:不能很好建模自反型、多对一、一对多的关系
- 改进:允许用以实体在不同关系下由不同表示
- TransH:投影到关系所属超平面
- TransR:投影到关系所属向量空间
- 改进:松弛唯一假设
- TransM:为上述三种关系赋予较低的权重,在其中距离较大
- TransF:只要求 t \bold t t和 h + r \bold h + \bold r h+r在同一方向, h \bold h h与 t − r \bold t - \bold r t−r在同一方向
- ManifoldE:要求 t \bold t t位于以 h + r \bold h + \bold r h+r为球心, θ r \theta_r θr为半径的超球面上
- TransE
- 语义匹配模型:基于相似度的打分函数衡量三元组成立可能性
- 简单匹配模型:RESCAL及其变种
- 将头尾实体的表示进行组合后再与关系表示进行匹配
- 复杂匹配模型:深度神经模型
- 简单匹配模型:RESCAL及其变种
- 位移距离模型:基于距离的打分函数衡量三元组成立可能性
- 模型训练
- 开放世界假设
- Logistic Loss
- Pairwise Ranking Loss
- 关键:生成负样本
- 封闭世界假设
- Squared Loss
- 开放世界假设
- 多元化信息融合的知识表示学习
- 实体类别
- 关系路径
- 实体描述文本
- 逻辑规则
- 前沿:使用组合关系的嵌入表示得到规则表示
- 前沿:时序预测推理,判断时间段内知识的成立情况
- 前沿:低资源知识推理