上世纪 90 年代,MIT AI 实验室的 R. Davis 定义了知识表示的五大用途或特点:
1.客观事物的机器表示(A KR is a Surrogate) ,即知识表示首先需要定义客观实体的机器指代或指称
2.一组本体约定和概念模型(A KR is a Set of Ontological Commitments) ,即知识表示还需要定义用于描述客观事物的概念和类别体系。
3.支持推理的表示基础(A KR is a Theory of Intelligent Reasoning) ,即知识表示还需要提供机器推理的模型与方法。
4.用于高效计算的数据结构 (A KR is a medium for Efficient Computation) ,即知识表示也是一种用于高效计算的数据结构。
5.人可理解的机器语言(A KR is a Medium of Human Expression) ,即知识表示还必须接近于人认知,是人可理解的机器语言。
有关知识表示的研究可以追溯到人工智能的早期研究。
典型的语义网络如 WordNet 属于词典类的知识库,主要定义名词、动词、形容词和副词之间的语义关系。传统的专家系统通常包含知识库(Knowledge Base)和推理引擎(Inference Engine)两个核心模块。早期专家系统最常用的知识表示方法包括基于框架的语言(Frame-based Languages)和产生式规则(Production Rules)等。框架语言主要用于描述客观世界的类别、个体、属性及关系等,较多的被应用于辅助自然语言理解。产生式规则主要用于描述类似于 IF-THEN 的逻辑结构,适合于刻画过程性知识。
不论是语义网络, 还是框架语言和产生式规则都缺少严格的语义理论模型和形式化的语义定义。为了解决这一问题,人们开始研究具有较好的理论模型基础和算法复杂度的知识表示框架。比较有代表性的是描述逻辑语言(Description Logic) 。描述逻辑是目前大多数本体语言(如 OWL)的理论基础。
描述逻辑主要用于刻画概念 (Concepts) 、 属性 (Roles) 、 个体 (Individual) 、 关系 (Relationships) 、元语(Axioms,即逻辑描述 Logic Statement)等知识表达要素。与传统专家系统的知识表示语言不同, 描述逻辑家族更为关心知识表示能力和推理计算复杂性之间关系,并深入研究了各种表达构件的组合所带来的查询、分类、一致性检测等推理计算的计算复杂度问题。
基于向量的方式表示知识的研究由来已久。表示学习的发展,以及自然语言处理领域词向量等嵌入(Embedding)技术手段的出现,启发了人们用类似于词向量的低维稠密向量的方式表示知识的研究。通过嵌入(Embedding)将知识图谱中的实体和关系投射到一个低维的连续向量空间, 可以为每一个实体和关系学习出一个低维度的向量表示。