2.4 语义网络表示法
2.4.1 语义网络
语义网络是一种出现比较早的知识表示形式,在人工智能中得到比较广泛的应用。语义网络最早是1968年奎廉(Quillian)在他的博士论文中作为人类联想记忆的一个显式心理学模型提出的。1972年,西蒙正式提出语义网络的概念,讨论了它和一阶谓词的关系,并将语义网络应用到自然语言理解的研究中。
语义网络是一种采用网络形式表示人类知识的方法。
一个语义网络是一个带标志的有向图。其中,带有标志的节点表示问题领域中的物体、概念、事件、动作或者态势。在语义网络知识表示中,节点一般划分为实例节点和类节点两种类型。节点之间带有标志的有向弧表示节点之间的语义联系,是语义网络组织知识的关键。
2.4.2 基本命题的语义网络表示
由于语义联系的丰富性,不同应用系统所需的语义联系的种类及其解释也不尽相同。比较典型的语义联系如下。
1.以个体为中心组织知识的语义联系
图2.2 ISA联系的例子
(1)实例联系
用于表示类节点与所属实例节点之间的联系,通常标志为ISA。例如,“张三是一名教师”可以表示为如图2.2所示的语义网络。
一个实例节点可以通过ISA与多个类节点相连接,多个实例节点也可通过ISA与一个类节点相连接。
对概念进行有效分类有利于语义网络的组织和理解。将同一类实例节点中的共性成分在它们的类节点中加以描述,可以减小网络的复杂程度,增强知识的共享性;而不同的实例节点通过与类节点的联系,可以扩大实例节点之间的相关性,从而将分立的知识片断组织成语义丰富的知识网络结构。
(2)泛化联系
用于表示一种类节点(如鸟)与更抽象的类节点(如动物)之间的联系。通常用AKO(AKindOf)表示。通过AKO可以将问题领域中的所有类节点组织成一个AKO层次网络。图2.3给出了动物分类系统中的部分概念类型之间的AKO联系描述。
图2.3 AKO联系的例子
泛化联系允许低层类型继承高层类型的属性,这样可以将公用属性抽象到较高层次。由于这些共享属性不在每个节点上重复,所以减少了对存储空间的要求。
(3)聚集联系
图2.4 聚集联系的例子
用于表示某一个体与其组成成分之间的联系,通常用Part-of表示。聚集联系基于概念的分解性,将高层概念分解为若干低层概念的集合。这里,可以把低层概念看做是高层概念的属性。例如,“两只手是人体的一部分”可表示为如图2.4所示的语义网络。
(4)属性联系
用于表示个体、属性及其取值之间的联系。通常用有向弧表示属性,用这些弧指向的节点表示各自的值。如图2.5所示,约翰的性别是男性,年龄为30岁,身高180cm,职业是程序员。
图2.5 属性联系的例子
2.以谓词或关系为中心组织知识的语义联系
设有n元谓词或关系R(arg1,…,argn),arg1取值为a1,……,argn取值为an,把R化成等价的一组二元关系如下:
arg1(R,a1),arg2(R,a2),…,argn(R,an)
图2.6 关系语义网络表示
因此,只要把关系R也作为语义节点,其对应的语义网络便可以表示为如图2.6所示的形式。
与个体节点一样,关系节点同样划分为类节点和实例节点两种。实例关系节点与类关系节点之间的关系为ISA。
2.4.3 连接词在语义网络中的表示方法
任何具有表达谓词公式能力的语义网络,除具备表达基本命题的能力外,还必须具备表达命题之间的与、或、非以及“蕴涵”关系的能力。
(1)合取
在语义网络中,合取命题通过引入与节点来表示。事实上这种合取关系网络就是由与节点引出的弧构成的多元关系网络。例如命题:
give(John,Mary,“Warand Peace”)∧read(Mary,“Warand Peace”)
可以表示为如图2.7所示的语义网络。
图2.7 带与节点的语义网络的例子
(2)析取
析取命题通过引入或节点表示。例如命题:
John is a programmer or Mary is a lawyer.
可以表示为如图2.8所示的语义网络。
图2.8 带或节点的语义网络的例子
其中,OC1、OC2为两个具体的职业关系,分别对应John为programmer及Mary为lawyer。
在命题的与、或关系相互嵌套的情况下,明显地标志与、或节点,对于正确地构造和理解语义网络的含义是非常有用的。
(3)否定
在语义网络中,对于基本联系的否定,可以直接采用¬ISA,¬AKO及¬Part-of的有向弧来标注。对于一般情况,则需要通过引进非节点来表示。例如命题:
¬give(John,Mary,“WarandPeace”)∧read(Mary,“WarandPeace”)
可以表示为如图2.9所示的语义网络。
图2.9 带非节点的语义网络的例子
(4)蕴涵
在语义网络中,通过引入蕴涵关系节点来表示规则中前提条件和结论之间的因果联系。从蕴涵关系节点出发,一条弧指向命题的前提条件,记为ANTE,另一条弧指向该规则的结论,记为CONSE。
如规则“如果车库起火,那么用CO2或沙来灭火”,可以表示为如图2.10所示的语义网络。
图2.10 带蕴涵节点的语义网络的例子
图2.10中,event1特指车库起火事件,它是一般事件的一个实例。任一事件包含地点属性(loc)及事件状态属性(state)。在抽象的EVENT类型节点中,用A表示一个地点,它是地点(ADDRESS)类的一个实例,用S表示一个状态,它是状态(STATE)类的一个实例。
2.4.4 变元和量词在语义网络中的表示方法
存在量词在语义网络中直接用ISA弧表示,而全称量词就要用分块方法来表示。例如命题:
The dog bit the postman.
这句话意味着所涉及的是存在量词。图2.11(a)给出了相应的语义网络。网络中D节点表示一特定的狗,P表示一特定的邮递员,B表示一特定的咬人事件。咬人事件B包括两部分,一部分是攻击者,另一部分是受害者。节点D、B和P都用ISA弧与概念节点DOG、BITE及POSTMAN相连,因此表示的是存在量词。
如果进一步表示“Every dog has bitten a postman”这个事实,用谓词逻辑可表示为:
(∀x)DOG(x)→(∃y)[POSTMAN(y)∧BITE(x,y)]
上述谓词公式中包含有全称量词。用语义网络来表达知识的主要困难之一是如何处理全称量词。解决这个问题的一种方法是把语义网络分割成空间分层集合。每一个空间对应于一个或几个变量的范围。图2.11(b)是上述事实的语义网络。其中,空间S1是一个特定的分割,表示一个断言“A dog has bitten a postman”。
图2.11 量词在语义网络中的表示
因为这里的狗应是指每一条狗。所以把这个特定的断言认为是断言G。断言G有两部分:第一部分是断言本身,说明所断定的关系,称为格式(FORM);第二部分代表全称量词的特殊弧∀,一根∀弧可表示一个全称量化的变量。GS节点是一个概念节点,表示具有全称量化的一般事件,G是GS的一个实例。在这个实例中,只有一个全称量化的变量D,这个变量可代表DOG这类物体中的每一个成员,而其他两个变量B和P仍被理解为存在量化的变量。换句话说,这样的语义网络表示,对每一条狗,存在一个咬人事件B和一个邮递员P,使得D是B中的攻击者,而P是受害者。
为进一步说明分割如何表示量化变量,可考虑如何表示下述事实。
Every dog has bitten every postman.
只需对图2.11(b)做简单修改,用∀弧与节点P相连。这样做的含义是每条狗咬了每个邮递员,如图2.11(c)所示。
2.4.5 语义网络的推理过程
采用语义网络表示知识的问题求解系统主要由两大部分组成,一部分是由语义网络构成的知识库,另一部分是用于问题求解的推理机构。语义网络的推理过程主要有两种,一种是继承,另一种是匹配。
1.继承
继承是指把对事物的描述从抽象节点传递到具体节点。通过继承可以得到所需节点的一些属性值,它通常是沿着ISA、AKO等继承弧进行的。继承的一般过程为:
(1)建立一个节点表,用来存放待求解节点和所有以ISA、AKO等继承弧与此节点相连的那些节点。在初始情况下,表中只有待求解节点。
(2)检查表中的第一个节点是否有继承弧。如果有,就把该弧所指的所有节点放入节点表的末尾,记录这些节点的所有属性,并从节点表中删除第一个节点。如果没有,仅从节点表中删除第一个节点。
(3)重复(2),直到节点表为空。此时,记录下来的所有属性都是待求解节点继承来的属性。
2.匹配
匹配是指在知识库的语义网络中寻找与待求解问题相符的语义网络模式。其主要过程为:
(1)根据待求解问题的要求构造一个网络片断,该网络片断中有些节点或弧的标志是空的,称为询问处,它反映的是待求解的问题。
(2)根据该语义片断到知识库中去寻找所需要的信息。
(3)当待求解问题的网络片断与知识库中的某个语义网络片断相匹配时,则与询问处所对应的事实就是该问题的解。
为了说明这一过程,下面看一个例子。
例2.5 假设在知识库中存放着如图2.12所示的语义网络,问王强在哪个公司工作?
图2.12 经理王强的语义网络
图2.13 求解王强所在公司的语义网络片断
解:根据这个问题的要求,可构造如图2.13所示的语义网络片断。当用该语义网络片断与如图2.12所示的语义网络进行匹配时,由“Work-for”弧所指的节点可知,王强工作在“理想公司”,这就得到了问题的答案。如果还想知道职员王强的其他情况,可通过在语义网络中增加相应的空节点来实现。
2.4.6 语义网络表示法的特征
语义网络表示法的主要优点如下:
(1)结构性
语义网络把事物的属性及事物间的各种语义联系显式地表示出来,是一种结构化的知识表示方法。在这种方法中,下层节点可以继承、新增和变异上层节点的属性,从而实现了信息的共享。
(2)联想性
语义网络本来是作为人类联想记忆模型提出来的,它着重强调事物间的语义联系,体现了人类的联想思维过程。
(3)自索引性
语义网络表示法把各节点之间的联系以明确、简捷的方式表示出来,通过与某一节点的连接的弧可以很容易地找出与该节点有关的信息,而不必查找整个知识库。这种自索引能力可以使语义网络系统有效地避免搜索时所遇到的组合爆炸问题。
(4)自然性
语义网络实际上是一个带有标志的有向图,它可以比较直观地把知识表示出来,符合人们表达事物间关系的习惯,并且自然语言与语义网络之间的转换也比较容易实现。
语义网络表示法也存在一定的缺点,主要表现为:
(1)非严格性
语义网络没有像谓词那样严格的形式表示体系,一个给定语义网络的含义完全依赖于处理程序对它所进行的解释,通过语义网络所实现的推理不能保证其正确性。
(2)复杂性
语义网络表示知识的手段是多种多样的,这虽然对其表示带来了灵活性,但由于表示形式的不一致,也使得对它的处理增加了复杂性。