
2.4 语义网络表示方法
语义网络(Semantic Network)或框架网络(Frame Network)是一种利用网络表明概念之间语义关系的知识表示方法。其结构可以是有向图,也可以是无向图。相应图结构的节点代表概念,相应图结构的边代表语义关系。通常的语义网络可以用三元组形式表示,所以又称语义三元组(Semantic Triples)。语义网络在语义去重、问答系统等自然语言处理任务中有着重要的应用[17]。
2.4.1 语义网络的历史
1956年,语义网络第一次被剑桥语言研究机构的理查德·李申斯(Richard H.Richens)提出[18],是用于机器翻译中表示自然语言的一种中间语言(Inter-lingua)。其后在1960年早期,语义网络又同时被系统开发公司(System Development Corporation)的罗伯特·西门斯(Robert F.Simmons)、谢尔顿·凯恩(Sheldon Klein)、卡伦·马克康格(Karen McConologue)、罗斯·坤音(M.Ross Quillian)作为SYNTHEX项目的子项目发明[19]。其后的语义网络衍生出三个分支:知识图谱(Knowledge Graph)[20]、语义链接网络(Semantic Link Network)[21]和语义相似网络(Semantic Similarity Network,SSN)[22]。
① 在1980年晚期,两所荷兰大学:Groningen和Twente联合开始研究一项题为知识图谱(Knowledge Graph)的项目[20]。知识图谱本身就是一种语义网络,它在一般的语义网络之上添加了对边的约束:边被限制只能从有限集合中选择,具有代数结构,可加速检索。在接下来的几十年里,语义网络和知识图谱的界限逐渐模糊。
② 语义链接网络作为一种研究社交网络的方法被系统性地提出。其基本模型包含语义节点、节点之间的语义边和定义在其上的语义空间与推理方法。其基本理论在2004年被第一次正式发表。自2003年以后,其相关研究就开始向着社交语义网络(Social Semantic Networking)方向发展[21]。语义链接网络在文本摘要的理解和表示方面有着重要的用途。
③ 其他特殊的语义网络都有特殊的用途。比如在2008年,本戴克(Fawy Bendeck)的博士论文就形式化了语义相似网络。语义相似网络包含针对性的关系和传播算法,可简化语义分析的工作[22]。
2.4.2 语义网络的结构
语义网络的基本结构依照图结构来实现,也就是说,作为节点的实体通过作为边的语义关系来链接。从结构上来看,语义网络由众多的三元组组成:(节点1,边,节点2),或者(头实体,关系,尾实体)。其中,节点代表实体:事物、概念、属性、状态、动作等;边既有方向又有标注信息,体现了头、尾实体之间的关系;节点1或头实体被称为主语,属于主动位置;节点2或尾实体被称为宾语,属于被动位置;边上的标注可说明两个节点或两个实体的语义关系。
当具有多个三元组,即多个基本单位时,就构成了一个语义网络。由语义网络的特点不难看出,语义网络不仅可以表示事物的属性、状态和行为等,更适合表示事物之间的关系。需要注意,事实与规则的语义网络在形式上并无区别,只不过边上的语义标注不同而已。语义网络不适用于对过程性知识的建模。
语义网络与谓词逻辑和产生式之间有对应关系。先分析谓词逻辑和语义网络的关系:一个语义网络相当于一个二元谓词,其中个体对应节点,边上的关系就是逻辑中的谓词。再来分析产生式与语义网络的联系:产生式的基本单元是产生式规则,大量产生式规则可构成产生式系统,从而实现知识表示;语义网络的基本单元是基本事实三元组,通过大量基本事实三元组,可构造语义网络并进行知识表示。
2.4.3 语义网络的实例
语义网络的一个实例就是WordNet[23]。它是一种英文的词法库。WordNet对英文单词进行聚类,得到的同义词集合被称为Synset,可为Synset提供短的、一般性的定义,并记录Synset之间的多种语义关系。WordNet的性质可以从网络理论的角度研究。对比其他语义网络,如Reget’s Thesaurus等,WordNet具有小世界结构。
2.4.4 基本的语义关系
语义网络中的基本语义关系有8种,分别表示类属、整体、部分、从属、能力、时间、位置、相近关联。
① IS-A关系表示一个事物是另一个事物的实例化,是具体与抽象的概念,与面向对象设计中的继承是同一种理念。此关系最主要的特点就是属性的继承性,处在派生位置的实体具有处于父实体的一切属性和行为。例如,波斯猫是猫、矿泉水是饮料等。
② Part-Of关系表示一个事物是另一个事物的一部分,体现的是部分与整体的概念。其特点是此关系头、尾实体的属性可能是不同的,因为此关系不具有继承性。例如,桌腿是桌子的一部分,但桌腿不具备桌子的属性“价格”。
③ Have关系表示一个节点具有另一个节点所描绘的属性。例如,东南亚包含泰国,欧洲包含英国。
④ A-Kind-Of关系是与IS-A相反的关系。IS-A是实例化的。A-Kind-Of是泛化的,可表达事物的类型,是一种类属的概念,体现概念的层级。此关系也有继承性,处在低位置的节点可以具有处在高位置节点的所有属性,但低位置的节点也可以具有自己独特的属性。比如,泰国是一个亚洲国家,但泰国有自己的民俗文化。
⑤ Can关系表示一个节点能做另一个节点的事情。例如,田径运动员也可以举重。
⑥ 时间表示不同事件在发生时间方面的先后关系。常用的时间关系有:Before,表示一个事物发生在另一个事物之前;After,表示一个事物发生在另一个事物之后。
⑦ 位置表示不同事物在位置方面的关系。常用的位置关系有:On,一个物体在另一个物体之上;At,一个物体的具体位置;Under,一个物体在另一个物体之下;Inside,一个物体在另一个物体之内;Outside,一个物体在另一个物体之外。
⑧ 相近关联表示不同事物在具体属性上的相似概念。常用的相近关联有:Similar,相似;Near,接近。
2.4.5 语义网络的推理
不同的知识表示方法有不同的推理机制。语义网络的推理方法不像逻辑表示方法和产生式表示方法那样明确。语义网络推理有多种不同的方法。有人在语义网络上引入逻辑运算[24,25],试图用与、或、非来表示语义网络的逻辑关系,利用归结推理算法对语义网络进行推理。还有人把语义网络作为一个有限自动机,通过寻求自动机中的汇合点来达到求解问题的目的[26]。就目前的情况,语义网络的推理方法还不够完善。基于语义网络的知识引擎主要有两个部分:语义网络表示的知识库和问题求解的推理机。其中,推理机的基本原理有两种:继承和匹配。
1.继承
继承是对事物从抽象的节点遍历具体节点的描述过程。利用继承,可以得到所需节点的一些属性值。例如,通过沿着Is-A和A-Kind-Of等继承关系运行。这种推理类似人类的推理过程,一旦获知某些事物的类别,就可以使用这类事物通用的特性。例如,提到酸,就会想到腐蚀性,则盐酸也一定会有腐蚀性;提到欧洲国家,就会想到北半球,即德国属于欧洲国家,在北半球。
继承的一般算法:
① 初始节点表、待求节点和所有通过基本语义关系与初始节点相链接的节点。初始节点表只有待求节点。
② 检查初始节点表中的第一个节点是否具有继承边:
若有,则将该边指定的节点放入初始节点表的末尾,记录这些节点所有属性的值,并从初始节点表中删除第一个节点;
若没有,则仅从初始节点表中删除第一个节点。
③ 返回②,直到初始节点表为空。
当然,实际系统的推理会很复杂,如某些元素的属性可以用复杂的公式进行计算,在某些情况下,还需要引入不确定性来描述知识。
2.匹配
继承只能解决部分问题,如类节点和实例节点之间的求解问题。复杂网络的求解大部分是通过匹配来完成的。其基本思想是在语义网络中寻求与待求问题相符的语义网络模式。匹配的主要过程为:依据问题的要求构建语义子图,该语义子图为待求问题的解。根据语义子图和语义网络相匹配的情况寻求相应的信息,这种匹配不一定要完全匹配,近似匹配也可以求解。语义网络没有形式语义,也就是说,与谓词逻辑不同,所给定的表达式对语义没有统一的表示方法。现有语义网络的推理机很多,其核心都是基于继承和匹配两种原理的。