漆桂林 | 知识图谱之语义网络篇
本文转发自漆桂林老师的知乎专栏:知识图谱和智能问答。
开篇还是从我在情报工程发表的一篇论文的前言开始讲起。
知识图谱(Knowledge Graph)的概念由谷歌 2012 年正式提出,旨在实现更智能的搜索引擎,并且于 2013 年以后开始在学术界和业界普及,并在智能问答、情报分析、反欺诈等应用中发挥重要作用。知识图谱本质上是一种叫做语义网络(semantic network)的知识库,即具有有向图结构的一个知识库,其中图的结点代表实体(entity)或者概念(concept),而图的边代表实体/概念之间的各种语义关系,比如说两个实体之间的相似关系。语义网络[1]是 20 世纪 50 年代末 60 年代初提出,代表性人物有 M. Ross Quillian 和 Robert F. Simmons。语义网络可以看成是一种用于存储知识的数据结构,即基于图的数据结构,这里的图可以是有向图,也可以是无向图。使用语义网络,可以很方便地将自然语言的句子用图来表达和存储,用于机器翻译[2]、问答系统[3]和自然语言理解[4]。下面就举一个例子,比如说,要表示 John gave a book to Mary 这样一句话,可以用下面这样的一个语义网络来表示:
这句话的核心是一个事件,触发词为 give(过去式gave),该事件的主体(施事)是 John,对象是一个物体,该物体是一本书,客体(受益者)是 Mary。这种表示方法到现在还是继续采用的。语义网络提出的时候,有一些研究人员评论说,语义网络没有自然语言更适合表示人类的知识。这其实就引发了一个讨论,对于人类的自然语言来说,什么样的表示方法是合理的?是直接用我们的自然语言的句子表示呢,还是用谓词逻辑的线性表示(https://www.cs.cmu.edu/~fp/courses/15317-f00/handouts/linear.pdf),还是用图来表示(即语义网络),还是用向量(即最近比较火的word embedding),或者用张量。John Sowa 指出,早在 3 世纪 CE 希腊哲学家、逻辑学家 Porphyry 就提出了用图来表示亚里士多德的分类(Porphyrian tree - Wikipedia):
而这个树其实就是一个 TBox(terminological box),是术语逻辑的早期工作。相比自然语言文本的表示而言,语义网络的图结构可以更好地表示自然语言的结构,从而更好地将自然语言的语义提取出来。
下面一个问题就是,语义网络的表达能力是否足够呢?是不是所有自然语言的知识都适合用语义网络来表示呢?为了回答这一问题,20 世纪 70 年代开始有不少工作研究语义网络跟一阶谓词逻辑之间的关系,比如说,文献[5]提供了一个算法将一个语义网络转化成谓词逻辑的形式,而文献[6]则给出了如何用语义网络来表示一阶谓词逻辑中的连接词和量词。这就说明,语义网络具有跟一阶谓词逻辑同样的表达能力。但是既然语义网络和一阶逻辑具有等价的表达能力,为什么我们不直接用一阶逻辑呢?要回答这个问题,就需要了解知识表示和推理方法的评价标准是什么。评价一个知识表示和推理方法是否后,不能仅仅看这个方法是否足够表达知识,还要看这个方法是否支持高效的推理。众所周知,一阶谓词逻辑的推理是不可判定的(不可判定逻辑系统_百度百科),而且一阶逻辑的线性表示使得并行推理变得困难。相比而言,语义网络由于采用了图表示,可以采用一些并行计算框架,比如说Pregel,来做推理,从而可以构建高效的并行推理机。
到了 20 世纪 80 年代,人工智能研究的主流变成了知识工程和专家系统,特别是基于规则的专家系统开始成为研究的重点。这一时期,语义网络的理论更加完善,特别是基于语义网络的推理出现了很多工作(例如文献[7]中的工作),而且语义网络的研究开始转向具有严格逻辑语义的表示和推理。20 世纪 80 年代末到90年代,语义网络的工作集中在对于概念(concept)之间关系的建模,提出了术语逻辑(terminological logic)以及描述逻辑。这一时期比较有代表性的工作是 Brachman 等人提出的 CLASSIC 语言[8]和 Horrock 实现的 FaCT 推理机[9]。进入 21 世纪,语义网络有了一个新的应用场景,即语义 Web。语义 Web 是由 Web 的创始人 Tim Berners-Lee 及其合作者提出[10],通过 W3C1 的一些标准来实现 Web 的一个扩展,从而数据可以在不同应用中共享和重用。语义 Web 跟传统 Web 的一个很大的区别是用户可以上传各种图结构的数据(采取的是 W3C 的标准 RDF),并且数据之间建立链接,从而形成链接数据[11]。链接数据项目汇集了很多高质量知识库,比如说 Freebase、DBpedia 和 Yago,这些知识库都是来源于人工编辑的大规模知识库-维基百科。这些高质量的知识库的发布,为谷歌知识图谱项目的成功打下了坚实的基础。
参考文献
[1] John F. Sowa: Principles of Semantic Networks: Exploration in the Representation of Knowledge, Morgan Kaufmann Publishers, INC. San Mateo, California, 1991.
[2] Robert F. Simmons:Technologies for machine translation [J] // Future Generation Comp. Syst. 2(2): 83-94 (1986)
[3] Robert F. Simmons: Natural language question-answering systems: 1969 [J] // Commun. ACM 13(1): 15-30 (1970)
[4] Yeong-Ho Yu, Robert F. Simmons:Truly Parallel Understanding of Text [C] // AAAI 1990: 996-1001
[5] Robert F. Simmons, Bertram C. Bruce. Some Relations Between Predicate Calculus and Semantic Net Representations of Discourse [C] // IJCAI 1971: 524-530
[6] Lenhart K. Schubert. Extending The Expressive Power of Semantic Networks [C] // IJCAI 1975: 158-164
[7] Scott E. Fahlman, David S. Touretzky, Walter van Roggen:Cancellation in a Parallel Semantic Network. [C] IJCAI 1981: 257-263
[8] Ronald J. Brachman, Deborah L. McGuinness, Peter F. Patel-Schneider, Alexander Borgida: "Reducing" CLASSIC to Practice: Knowledge Representation Theory Meets Reality [J] //Artif. Intell. 114(1-2): 203-237 (1999)
[9] Ian Horrocks. The FaCT System [C] // TABLEAUX 1998: 307-312
[10] Tim Berners-Lee, James Hendler, Ora Lassila. The Semantic Web [C] // Scientific American Magazine, 2001.
[11] Christian Bizer, Tom Heath, Tim Berners-Lee:Linked Data - The Story So Far [J]// Int. J. Semantic Web Inf. Syst. 5(3): 1-22 (2009)
OpenKG.CN
中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
点击阅读原文,进入 OpenKG 博客。