5.2.1 陈述性知识表示方法
陈述性知识表示法包括一阶谓词逻辑表示法、产生式表示法和结构化表示法。其中,结构化表示法又可以进一步分为语义网络表示法和框架表示法。
5.2.1.1 一阶谓词逻辑表示法
逻辑知识表示法的主要特点是建立在某种形式逻辑的基础上,并利用逻辑方法研究条件与结论之间的蕴涵关系。
在谓词P(x1,x2,…,xn)中,如果xi(i=1,2,…,n)都是个体常量、变元或函数,则称为一阶谓词。一阶谓词是一种重要的一阶经典逻辑。在一阶谓词逻辑中,一个谓词由个体和谓词名两部分组成。它们共同表示了一个命题:个体对应于命题的主语,表示存在的事物或某个抽象的概念;而谓词名则是命题的谓语,表示个体的性质、状态或个体之间的关系。例如,在TEACHES(x,y)中,x、y是个体;TEACHES为谓词名,表示“x是y的老师”。这种方法可以用于表示事实性知识,也可以用于表示事物之间的联系。对于事实性知识,一般采用由否定(┐)、析取(V)、合取(∧)等逻辑符号连接起来的谓词公式来表示。而对于事物之间的因果关系,通常用蕴含式(→)表示。例如,┐weather(rain,monday)→go(tom,mountain)表示“如果星期一不下雨,汤姆会去登山”。
建造一个基于PBKR的知识库,包括两个基本的步骤:①使用适当的谓词公式表示自然语句;②建造合式公式(Well-formed Formulas,简称WFF),使其与自然语句在逻辑上保持一致。
一般来说,一阶谓词逻辑表示法具有自然、明确、灵活和模块化等方面的优点。它所采用的一阶谓词逻辑接近自然语言,便于表示精确知识并保证演绎推理的正确性。由于将知识含义与推理演算区分开来,在进行知识表示的时候无须考虑知识处理的细节。因此,所获得的各条知识都是相对独立的,便于增添和修改。
然而,这种方法难以表示不确定知识。在进行推理的时候,只能盲目地使用推理规则,从而容易发生组合爆炸。此外,采用这种方法建立的知识库存在管理上的困难。
5.2.1.2 产生式表示法
产生式表示法的理论基础是产生式系统。“产生式”这个概念最初由Post于1943年提出,此后得到了进一步的改进和发展。1954年,俄国数学家Markov(“Markov链”的提出者)提出了产生式系统的控制策略。1957年,Chomsky利用产生式系统来描写文法的重写规则。1972年,Newell和Simon重新提出了产生式系统。目前,产生式表示法已经成为人工智能中应用最为广泛的一种知识表示模式。
这种方法一般采用三元组来表示一个事实和推理:①(对象,属性,值)表示了语言变量的值;②(关系,对象1,对象2)处理了两个语言变量之间的关系;③产生式规则P→Q可以表示事物之间的因果关系。通过引入一个规则强度,可以进一步表示不确定知识。
在一个基于产生式表示法的智能系统中,有三个主要的部分:综合数据库、规则库和控制系统。图示如下:
图5.1 产生式智能系统的基本结构(王万森,2010:37)
在规则库中,存放着一系列的产生式规则,形如:前件→后件。前件表示规则成立时必须满足的条件,而后件表示导出的结论或要执行的动作。在综合数据库中,存放与求解问题相关的各种当前信息,或推理的中间结果、结论。它是一个产生式系统中的主要数据结构,通过表、数组、关系数据库等来实现。控制系统又称为规则解释器,负责控制系统的运行和推理过程,例如规则前件与事实的模式匹配、多条规则之间冲突的消解,等等。
产生式表示法在一定程度上改进了一阶谓词逻辑表示法。例如,产生式的前件,即P与已知事实的匹配可以是精确的,也可以是不精确的;而蕴涵式的前件与事实的匹配必须是精确的。因此,它保留了一阶谓词逻辑表示法在自然性、模块性方面的优点,同时还可以进一步表示不确定知识和启发性知识。
然而,它也存在一些重要缺陷。首先,它难以表示具有复杂结构关系和层次关系的知识。其次,在问题求解过程中,往往需要从多条规则中进行选择,从而减低了执行的效率。随着规则库规模的增大,也容易产生组合爆炸。目前,一种研究趋势是通过改进匹配算法、采用方式并行处理来提高其性能。
5.2.1.3 语义网络表示法
语义网络是一种结构化的知识表示方法。它最初由J.R.Quillian提出,此后得到了Simmon、Hendrix等人的改进与推广。自20世纪70年代以后,语义网络在专家系统、自然语言处理等领域中得到了广泛的应用。
语义网络在形式上是一个有向图,由一个结点和若干条弧构成。结点表示实体(包括事物、概念、情况、动作等),而弧表示两个实体之间的语义联系。其中,节点可以进一步分为实例节点(例如,我的房子)和类节点(例如,房子),即概念节点。
在语义网络中,两个结点及其相关的弧构成了一个语义基元,一般用三元组来表示:(结点1,弧,结点2)。图示如下:
图5.2 网络语义基元的基本结构(王万森,2010:44)
其中,A、B表示两个结点,而R表示它们之间的语义关系。
在一个语义网络中,有两种基本的知识组织方式:以个体为中心和以谓词、关系为中心。在前者中,节点一般是名词性个体或概念,而弧表示实体之间的实例(例如,欢欢ISA熊猫)、泛化(例如,哺乳动物AKO动物)、聚集(例如,笔杆Part-of圆珠笔)、属性(例如,约翰的性别、年龄、身高、职业等)等语义联系。其中,ISA即is a,表示概念与实例的关系;AKO即a kind of,表示两个抽象概念之间的隶属关系;而Part-of表示部分与整体的关系。
而在后者中,节点是各种关系。通过这些关系,将有关个体联系起来。为了表示更加复杂的命题,语义网络中能够表达与否定(┐)、析取(∨)、合取(∧)、蕴含(→)相对应的四种逻辑关系,同时可以表示存在量词(∃)和全称量词(∀)。
在语义网络内,建立了两种主要的推理机制:匹配和继承。匹配指的是先构造一个待求解问题的目标网络块,然后在事实网络中寻找匹配。而继承是把上一层的描述,例如概念节点或类节点的知识描述传送到实例节点。
有必要指出的是,语义网络表示法与上述两种表示法之间具有对应关系。从逻辑表示法的角度来看,一个语义基元可以改写为P(个体1,个体2),即弧上的标志R相当于谓词P,而A、B两个结点处理为个体1和个体2。同样,一个语义基元可以表示一个事实,包括语言变量的值或多个语言变量之间的关系。
这种表示法最大的优点是具有结构性,可以表示复杂的层次结构。此外,它采用了比较直观的方法表示知识,吻合了人类的联想思维过程。然而,它没有赋予节点和弧以确切的定义,也不能够保证基于弧的语义推理,因此反而不如谓词逻辑严密。这会给后续的知识处理带来一定的困难。
5.2.1.4 框架表示法
框架表示法是Minsky提出的一种结构化知识表示方法,用于理解视觉、自然语言对话及其他复杂行为。它在人工智能中得到了广泛的应用。
在框架理论中,知识表示的基本单位是框架(Frame)。基本结构图示如下:
图5.3 框架的基本结构(王万森,2010:53-54)
一个框架由若干槽(slot)组成,每一个槽又由若干侧面(aspect)组成,它们都有若干个值(value)。槽、侧面都有槽名和侧面名。值可以是数字或字符串,也可以是一个操作甚至另外一个框架。
在一个框架系统中,有两种主要的推理活动:匹配和填槽。匹配指的是根据已知事实选择一个合适的候选框架;而填槽是填写候选框架中的待定槽值,从而准确地表示某个具体的事物。一般来说,填槽有四种基本的方法:
(1)查询:使用由用户直接输入的,或系统以前推理出来的数据。
(2)默认:在一个框架中,槽的默认侧面能够提供一个默认的值,即具有相当程度的真实性但不能够绝对肯定的值。在没有反例的情况下,可以认为默认值是正确的。例如,家具的Number-of-leg一般为4个。
(3)继承:在表示复杂的知识时,往往需要多个框架,从而建立一个框架系统。在框架系统中,框架之间具有一种纵向的继承关系,即下层的框架能够继承上层框架中的属性值。例如,JOHN'S CHAIR Frame可以继承上层框架CHAIR Frame中Number-of-leg的值,即4个。
(4)过程计算:在一个框架中,还会经常使用附加过程(If-needed)侧面。该侧面包含了一个计算过程。通过这个过程,能够计算出通过上述方式都没有给出的属性值。
框架表示法的突出特点是模拟了人脑对事物的多方面、多层次的存储结构,并能够充分地将知识的内部结构显式地表示出来。此外,它能够不断地描述静态知识,而且能够通过附加过程(If-needed)侧面表示过程性知识,因此将陈述性和过程性知识表示观点有机地结合了起来。
然而,框架理论不是一个严格的形式理论,对于框架、槽和侧面缺乏清晰的语义界定。此外,在框架与框架之间进行多重继承操作的时候,容易产生多义性。在实际使用中,它常常与其他知识表示方法有机地结合起来。
除了上述几种常用的知识表示方法,还有脚本表示法、状态空间表示法、Petri网表示法、关系表示法、与/或图表示法、概念从属表示法,等等。它们的共性是强调对知识静态、显式的描述,而对于如何使用这些知识则需要通过控制策略来作出决定。