文章发布在我的知乎专栏,对知识图谱感兴趣的朋友可以关注。
前一篇文章“为什么需要知识图谱?什么是知识图谱?——KG的前世今生”提及了和知识图谱相关的一些早期概念。为了让读者能够更好地区分这些概念,以及更好地在整体上把握知识谱图发展过程,本文将对这些概念作一个更为详细的介绍。
一、语义网络(Semantic Network)
对于初学者来讲,这个概念很容易和语义网(Semantic Web)相混淆。为了行文一致,除非特别说明,语义网络指Semantic Network,语义网指Semantic Web。
语义网络是由Quillian于上世纪60年代提出的知识表达模式,其用相互连接的节点和边来表示知识。节点表示对象、概念,边表示节点之间的关系。
语义网络的优点:
1. 容易理解和展示。
2. 相关概念容易聚类。
语义网络的缺点:
1. 节点和边的值没有标准,完全是由用户自己定义。
2. 多源数据融合比较困难,因为没有标准。
3. 无法区分概念节点和对象节点。
4. 无法对节点和边的标签(label,我理解是schema层,后面会介绍)进行定义。
简而言之,语义网络可以比较容易地让我们理解语义和语义关系。其表达形式简单直白,符合自然。然而,由于缺少标准,其比较难应用于实践。看过上一篇文章的读者可能已经发现,RDF的提出解决了语义网络的缺点1和缺点2,在节点和边的取值上做了约束,制定了统一标准,为多源数据的融合提供了便利。另外,RDF对is-a关系进行了定义,即,rdf:type(是rdf标准中的一个词汇,之后的文章会介绍)。因此,不管在哪个语义网络中,表达is-a关系,我们都用rdf:type,在语法上形成了统一。比如上图中猫、熊与哺乳动物的关系就可以形式化的表达为:
<猫 rdf:type 哺乳动物
熊 rdf:type 哺乳动物