大家好,又见面了,我是你们的朋友全栈君。
说明:CAS是国科大的简称,KG是知识图谱的缩写,这个栏目之下是我整理的国科大学习到的知识图谱的相关笔记。
课程目标
- 了解以知识图谱为代表的大数据知识工程的基本问题和方法
- 掌握基于知识图谱的语义计算关键技术
- 具备建立小型知识图谱并据此进行数据分析应用的能力
文章目录
- 1. 概述
- 2. 归纳推理:学习推理规则
- 归纳逻辑程序设计
- 关联规则挖掘
- 路径排序算法
- 3. 演绎推理:推理具体事实
- 马尔可夫逻辑网
- 概率软逻辑
- 4. 基于分布式表示的推理
- 位移距离模型:TransE
- 语义匹配模型
- 5. 总结
1. 概述
什么是推理
- 人类一直强调人的智能是如何获得的——不是靠反射机制而是对知识的内部表示进行操作的推理过程。
- 推理是逻辑学、哲学、心理学、人工智能等学科中的重要概念。早在古希腊时期,著名哲学家亚里斯多德就提出三段论作为现代演绎推理的基础。在计算机科学及人工智能领域,推理是一个按照某种策略从已知事实出发去推出结论的过程。
- 推理就是通过已知知识推断出未知知识的过程。
- 推理,逻辑学指思维的基本形式之一,是由一个或几个已知的判断(前提)推出新判断(结论)的过程,有直接推理、间接推理等。——《现代汉语词典第6版》 ➢ 事件必定有其原因,事件背后必定有其真相。 ➢ 通过推理可以预测未来,甚至确定人类未来发展的明细。 ➢ 任何一个推理都包含已知判断、新的判断和一定的推理形式。作为推理的已知判断叫前提,根据前提推出新的判断叫结论。前提与结论的关系是理由与推断,原因与结果的关系。
知识推理的分类
归纳推理与演绎推理
- 归纳推理 (induction):归纳是从特殊到一般的过程。所谓归纳推理,就是从一类事物的大量特殊事例出发,去推出该类事物的一般性结论。我们熟知的数学归纳法就是归纳推理的一个典型例子。
- 演绎推理 (deduction):演绎是从一般到特殊的过程。所谓演绎推理,就是从一般性的前提出发,通过演绎(即推导),得出具体陈述或个别结论的过程。最经典的演绎推理就是三段论 (syllogism),它包括一个一般性原则(大前提)、一个附属于大前提的特殊化陈述(小前提),以及由此引申出的特殊化陈述符合一般性原则的结论。
演绎推理不仅仅局限于三段论,也不只是从一般到特殊的过程。它有着强烈的演绎特性,重在通过利用每一个证据,逐步地推导到目标或以外的结论,多被用于数学物理证明、思维推导等各类应用。
- 演绎推理与归纳推理的区别: 演绎推理是在已知领域内的一般性知识的前提下,通过演绎求解一个具体问题或者证明一个结论的正确性。它所得出的结论实际上早已蕴含在一般性知识的前提中,演绎推理只不过是将已有事实揭示出来,因此它不能增殖新知识。而相反,归纳推理所推出的结论是没有包含在前提内容中的。这种由个别事物或现象推出一般性知识的过程,是增殖新知识的过程。
确定性推理与不确定性推理
- 确定性推理:确定性推理大多指确定性逻辑推理,它具有完备的推理过程和充分的表达能力,可以严格地按照专家预先定义好的规则准确地推导出最终结论。但是确定性推理很难应对真实世界中,尤其是存在于网络大规模知识图谱中的不确定甚至不正确的事实和知识。
- 不确定性推理: 不确定性推理也被称为概率推理,是统计机器学习中一个重要的议题。它并不是严格地按照规则进行推理,而是根据以往的经验和分析,结合专家先验知识构建概率模型,并利用统计计数、最大化后验概率等统计学习的手段对推理假设进行验证或推测。不确定性推理可以有效建模真实世界中的不确定性。
逻辑推理和非推理推理
- 逻辑推理:过程包含了严格的约束和推理过程(研究较多)。
- 非逻辑推理:推理过程相对模糊。
符号推理与数值推理
- 符号推理:符号推理的特点就是在知识图谱中的实体和关系符号上直接进行推理。确定性和不确定性逻辑推理都属于符号推理。
- 数值推理:与符号推理相对的就是数值推理。数值推理就是使用数值计算,尤其是向量矩阵计算的方法,捕捉知识图谱上隐式的关联,模拟推理的进行。本节中介绍的数值推理方法特指基于分布式知识表示的推理。
面向知识图谱应用的知识推理
知识图谱需要推理,主要体现在两种任务上:
- 知识库补全:也称知识图谱上的链接预测,其本质是根据知识库中已有的知识推断出新的、未知的知识。知识库补全可以用来建立更全面的知识库,是知识库构建的重要手段之一。
- 知识库问答:基于知识库的问答主要是通过对自然问句的解析,再从知识库中寻找答案的过程。但由于知识库中知识不完备等原因,知识库问答也需要推理技术的支撑。
2. 归纳推理:学习推理规则
基于规则的推理:精准 可解释
- 规则学习:自动化的规则获取
典型的推理规则:一阶谓词逻辑规则
规则对于推理的作用
归纳逻辑程序设计
归纳逻辑程序设计(Inductive Logic Programming, ILP)使用一阶谓词逻辑来进行知识表示,通过修改和扩充逻辑表达式来完成对数据的归纳。
FOIL算法
FOIL (First Order Inductive Learner) [Quinlan, 1990] 利用序贯覆盖实现规则的学习,其基本流程为:
- ① 从空规则“