世界上每一个国家或民族都有自己的语言文字,
它是人们表达思想、交流信息的工具。知识表示是人
工智能研究的一个重要课题,也是机器翻译重要的一
环。无论是词法分析、句法分析、语法分析和语义分
析等,要建立各种规则,首先遇到的就是所涉及的知
识如何加以表示。不同的分析方式有不同的知识表示
方法,这里不单是解决如何将知识存储在计算机中的
问题,更重要的是应该能够方便且正确地使用知识。
合理的知识表示,可以使机器翻译中分析环节变得容
易,提高机译效率。
2, 1 概述
第 2 章 相关知识表示方法
一个好的知识表示方法应具备以下特点:
( 1) 具有表示机器翻译某部分分析所需要知识的能
力,并保证知识是相容的;
( 2) 具有从已知知识推到出新知识的能力,容易建
立表达新知识所需要的新结构;
( 3) 便于新知识的获取,最简单的情况是能够由人
直接输入知识到相应模块中;
( 4 ) 便于分析的完成,且是高效率的。
2, 1 概述
表示是为解决某一特定问题所作的一组约定,是知
识的形式化或符号化过程。知识表示是关于各种数据结
构及其解释过程的结合。知识表示的方法研究各种数据
结构的设计,以把一个问题的各种知识通过这些数据结
构最后以程序实现。正如我们可以用不同的方式描述同
一事物一样,对于同一种知识可以采用不同的表示方法。
从理论上讲,任一种知识只要采用一种模式表示出来就
行了,但不同的表示方法会带来分析的难易程度不同。
迄今为止,还没有找到一种通用、完善的知识表示模式,
知识表示还没有完善的理论可循。
2, 1, 1 知识表示的一般属性
知识表示针对一个具体问题把已有的知识以某种方
法存储在计算机中,一种表示方法的选取往往由问题的
自然结构所导致,如果一个问题是基于唯一经验的结合,
表达方法也就是唯一的。知识表示的目的是知识的利用,
由于机器翻译系统研究的特点,知识利用一是各部分的
分析,再就是新知识的获取。因此,评价知识表示方法
的好坏的准则就是分析的效率和新知识获取能力。
2, 1, 1 知识表示的一般属性
知识表示的扩展能力体现在模块中某项知识的增加、
删除或修改尽量保持对其余部分不产生大的影响。这就要
求表示的单项最小数据结构单元以及应用具有相对的独立
性,即表示模式的模块性。模块性的结构以及由这样的结
构所产生的软件易于维护、理解,单项的操作易于实现。
非模块性结构的问题在于知识的含义取决于知识被利用的
上下文,从而单个数据结构的变化往往引起各种交互作用
的连琐反应。不同的知识表示模式中,数据结构间所固有
的交互作用程度不一,但各种知识的交互作用的控制仍是
所有表示模式的重要特征之一。我们不能期望有完全模块
化表示的系统,因为模块化同知识表示某些属性有相互制
约的地方。各种表示方法的模块化程度不一样,有的较强。
2, 1, 2 知识表示的模块化和简单化
知识的检索和推理是系统控制级知识,一个机器
翻译系统中一旦知识表示方法选定以后,它们也就相
应地被确定下来。如果一种表示方法的数据结构过于
复杂,难以实现,则必然给系统控制程序的设计带来
很大困难,影响翻译的效率。因此,从对知识的检索
和各部分分析来说,知识表示方法在数据结构的组织
上应要求尽可能简单、一致,即保持清晰性。清晰的
数据结构便于系统的正确性和一致性检查。但另一方
面,过于简单、一致的数据结构既不适宜表达复杂问
题,同时也会影响系统的效率。
2, 1, 2 知识表示的模块化和简单化
谓词逻辑是一种形式语言,也是目前
为止能够表达人类思维活动规律的一种最
精确的语言,它与人们的自然语言比较接
近,又可方便的存储到计算机中作精确的
处理。因此,它成为最早应用于人工智能
表示知识的一种方法。
2, 2 一阶谓词逻辑表示方法
规则通常用蕴含式表示,例如对于“如果 X,则
Y”,可表示为
X→Y
用谓词公式表示知识时,需要首先定义谓词,指
出每个谓词的含义,然后用连接词把有关的谓词连
接起来,形成一个表达的完整意义。
2, 2, 1 表示方法导引
例,设有下列语句:
( 1)高山比他父亲出名。
( 2)刘水是计算机系的一名学生,但他不喜欢编程序。
( 3)人人爱劳动。
为了用谓词公式表示这些语句,应先定义谓词:
BIGGER(x,y),x 比 y 出名
COMPUTER(x),x 是计算机系的学生
LINK(x,y),x 喜欢 y
LOVE(x,y),x 爱 y
M(x),x 是人
2, 2, 1 表示方法导引
此时可用谓词公式把上述三个语句表示为:
( 1) BIGGER(高山,父亲(高山))
( 2) COMPUTER(刘水) ∧ ~ LINK(刘水,
程序)
( 3) ( x) (M(x)→LOVE ( x,labour))
例,设有下列语句:
( 1) 自然数都是大于零的整数。
( 2) 所有整数不是偶数就是奇数。
( 3) 偶数除以 2 是整数。
2, 2, 1 表示方法导引
定义谓词如下:
N( x),x 是自然数
I( x ),x 是整数
E( x),x 是偶数
O( x),x 是奇数
GZ( x),x 大于零
另外,用函数 S( x)表示 x 除以 2 。此时,上述三个句子可用
谓词公式表示为:
( x)(N(x)→GZ(x) ∧ I(x))
( x)(I(x)→E(x) ∨ O(x))
( x)(E(x)→I(S(x)))
2, 2, 1 表示方法导引
我们能够容易地把语言中各种句子表示为逻辑命题,
把各种命题写成合适公式。
例如,雨天 表示为 RAINING
晴天 表示为 SUNNY
雾天 表示为 FOGGY
若为雨天,则
非晴天 表示为 RAINING→~SUNNY
2, 2, 2 逻辑表示的结构
应用这些命题,能够译出“如果天下雨就不是晴天”
的原意。但是,命题逻辑的结构需要规范,例如:
李明是个工人 可写为 LIWORKER
如果还要表示
王华也是个工人 应写出 WANGWORKER
这是一些完全独立的格式,可以规范为如下形式:
WORKER ( LI)
WORKER ( WANG)
这就要好得多,因为上述表达结构反映知识本身的结构。
2, 2, 2 逻辑表示的结构
谓词逻辑的基本组成部分是谓词符号、变量符号、
函数符号和常量符号,并用圆括弧、方括弧、花括弧和
逗号隔开,以表示论域内的关系。
例如,函数符号 mother 可用来表示某人与他(或她)
的母亲之间的一个映射。可用下列公式表示“李( LI)
的母亲与他的父亲结婚”这个句子:
MARRIED[father(LI),mother(LI)]
一般用大写字母串表示谓词符号,小写字母串表示
函数符号,如 father和 mother等。
2, 2, 2 逻辑表示的结构
在谓词分析中,一个合适的公式可以通过规定语言的
元素在论域内的对应关系来解释。对于每个谓词符号,必
须规定定义域内的一个相应关系;对于每个常量符号,必
须规定定义域内的一个相应实体;对于每个函数符号,必
须规定定义域内的一个相应函数。这些规定确定了谓词分
析语言的语义。在应用中,用谓词分析明确表示有关论域
内的确定语句。对于已经定义了的某个解释的公式,只有
当其对应的语句在定义域内为真时,才具有值 T(真);
而当对应的语句在定义域内为假时,才具有值 F(假)。
当一个公式含有变量符号时,对定义域内实体的变量
可能有几个设定。
2, 2, 2 逻辑表示的结构
原子公式是谓词分析的基本积木块,应用连词 ∧ (与),∨
(或)以及 → (蕴含)等,能够构成比较复杂的合适公式。
连词 ∧ 用来表示复合句子。例如,句子“我喜欢音乐和绘画”
可写成:
LIKE( I,MUSIC) ∧ LIKE(I,PAINTING)
此外,某些较简单的句子也可以写成复合形式。例如“李住在
一幢黄色的房子里”,即可用
LIVES( LI,HOUSE-1) ∧ COLOR(HOUSE-1,YELLOW)
来表示,谓词 LIVES表示人与物体(房子)间的关系,而谓词
COLOR则表示物体与其颜色之间的关系。用连词 ∧ 把几个公式连
接起来构成的公式叫做合取,而此合取式的每个组成部分叫做合取
项。
2, 2, 2 逻辑表示的结构
连词 ∨ 用来表示“或”关系。例如,句子“李明打篮球
或踢足球”可表示为:
PLAYS( LIMING,BASKETBALL) ∨ PLAYS(LIMING,FOOTBALL)
用连词 ∨ 把几个公式连接起来所构成的公式叫做析取,而
次析取式的每一组成部分叫做析取项。
合取和析取的真值由其组成部分的真值决定。如果每个
合取项均取值 T,则其合取值为 T,否则合取值为 F。如果析
取项中至少有一个取 T值,则其析取值为 T,否则取值 F。
2, 2, 2 逻辑表示的结构
连词 → 用来表示“如果 --那么”的词句。例如,句子“如果
该书是何平的,那么它是蓝色(封面)的”可表示为
OWNS( HEPLING,BOOK-1) →
COLOR(BOOK-1,BULE)
又如,句子“如果刘华跑得最快,那么他取得冠军”可表
示为
RUNS( LIUHUA,FASTEST) →
WINS(LIUHUA,CHAMPION)
用连词 → 连接两个公式所构成的公式叫做蕴含,蕴含的左
式叫做前项,右式叫做后项。如果前项和后项都是合适公式,
那么蕴含也是合适公式。
2, 2, 2 逻辑表示的结构
符号 ~(非)用来否定一个公式的真值,也就是说,
把一个合适公式的取值从 T变为 F,或从 F变为 T。例如,
“机器人不在 2号房间内”可表示为
~INROOM( ROBOT,r2)
前面具有符号 ~的公式叫做否定。一个合适公式的
否定也是合适公式。
如果把句子限制为至今已介绍过的造句法所能表
示的那些句子,而且也不使用变量项,那么可以把这
个谓词分析的子集叫做命题分析。命题分析对于许多
简化了的定义域来说,是一种有效的表示,但它缺乏
用有效的方法来表达多个命题的能力。要扩大命题分
析的能力,需要公式中的命题带有变量。
2, 2, 2 逻辑表示的结构
有时,一个公式如 P(x),对于所有可能的变量 x都具有值 T。这
个特性可由在 P(x)前面加上全称量词( x)来表示。如果至少有一
个 x值可使 P(x)具有值 T,那么这一特性可由在 P(x)前面加上存在量
词 (x)来表示。
例如,句子“所有的机器人都是灰色的”可表示为
(x)[ROBOT(x)→COLOR(x,GRAY)]
而句子,1 号房间内有个物体”可表示为
(x)INROOM(x,r1)
这里,x是被量化了的变量。量化一个合适公式上的某个变量
所得到的表达式也是合适公式。如果一个合适公式中某个变量是经
过量化的,就把这个变量叫做约束变量,否则就叫它自由变量。在
合适公式中,所有的变量都是受约束的,这样的合适公式叫做句子。
2, 2, 2 逻辑表示的结构
( 1)自然性 谓词逻辑是一种接近于自然语言的
形式语言,人们比较容易接受,用它表示的知识比较
容易理解;
( 2)精确性 谓词逻辑是二值逻辑,其谓词公式
的真值只有“真”与“假”两个,因此可以用它表示
精确的知识。
( 3) 容易实现 用谓词逻辑表示的知识可以比较
容易地转换为计算机的内部形式,其分析过程都容易
在计算机上实现。
2, 2, 3 一阶谓词逻辑表示的特点
2, 2, 3, 1 优点
( 1) 效率低 用谓词逻辑表示知识时,把推导与
知识的语义分开了,这使得推导过程变长,降低了系
统的翻译速度。
( 2)灵活性差 谓词逻辑表示法只能表示精确的
知识,不能表示不精确的知识,而人类的知识中有许
多不精确或是模糊的知识,这就使得表示知识的范围
受到了限制。
2, 2, 3, 2 缺点
单元表示是从谓词逻辑引伸过来的一种知识表示方
法,它将所有的信息描述为一组单元,每个单元建立一
些槽,通过填充槽值的办法,描述事物之间的逻辑关系。
下面给出一个单元的例子:
G,self, (element-of GIVING-EVENTS)
giver, JOHN
recip, MARY
obj,BOOK
2, 3 单元表示方法
它描述的是这样一个事件,JOHN给了 MARY一本书。
其中 self,giver 等在“:”左边的部分称为槽名,而
(element-of GIVING- EVENTS),JOHN等在“:”右边
的部分称为槽值。其中的 self 称为伪槽,它没有具体的
逻辑意义,只是说明了给东西事件 G1是属于给东西事件
集 GIVING-EVENTS 中的一个元素。因而上例可以进一
步理解为,G1属于一个给东西事件,该事件中的给者是
JOHN,接收者是 MARY,所给的东西是书。
通过以上分析,单元表达的是在谓词逻辑中以二元
谓词出现的逻辑关系。上式若用合适公式表达出来就是
EL(G1,GINING-EVENTS)∧ giver(G1,
JOHN)∧ recip(G1,MARY)∧ obj(G1,BOOK)
2, 3 单元表示方法
在谓词逻辑中,可以通过简单的办法将一个多元关系
转换为二元关系。实际上上述公式就是三元关系
give(JOHN,MARY,BOOK)的一种二元表示。
单元表示法的主要优点是模块化,可以很容易的添加
新信息,例如要表示出给东西事件所发生的时间,则只需
增添一个表示时间的槽就可以了,而不必修改其它内容。
有时槽值可以不是常量符号,如 JOHN,而是一个函
数表达式,特别是这个函数可能相当于另一单元的槽名。
这样对于下面的事件:
John给了 Mary 一本书。
Bill把钢笔给了从 John那里得到书的那个人。
2, 3 单元表示方法
我们可以用以下单元表示:
G1 self, (element-of GIVING-EVENTS)
giver, JOHN
recip, MARY
obj,BOOK
G2 self, (element-of GIVING-EVENTS)
giver, BILL
recip, recip(G1)
obj,PEN
在这个例子中,recip(G1)和 MARY是描述同一个人的两种不
同的表示方法。 G2中 recip的槽值,可以通过计算 recip(G1)值,即
在 G1中检索 recip的槽值得到。
2, 3 单元表示方法
槽值也可以是一个存在量词量化的变量。
例如要表示句子
某人给了 Mary 一本书。
则槽 giver的值可以用人的集合 PERSONS中的一员的办
法给出:
G3 self, (element-of GIVING-EVENTS)
giver, (element-of PERSONS)
recip, MARY
obj, BOOK
2, 3 单元表示方法
同样,对于 JOHN,MARY和 BOOK等实体也可以用
下述单元描述:
JOHN
self, (element-of PERSONS)
MARY
self, (element-of PERSONS)
BOOK
self, (element-of PHYS-OBJS)
2, 3 单元表示方法
从以上例子可以看出,有关集合和集合的成员关
系的概念起了很重要的作用,所以有些特殊的集合描
述是很有帮助。为了描述由一些个体构成的集合,可
以使用函数 the-set-of,例如 the-set-of( JOHN,
MARY,BKLL)。还可以使用 intersection,union以
及 complement等函数来分别表示集合的或、与、非等。
使用这些有关集合的函数,可以有效地表达析取
和否定语句。
2, 3 单元表示方法
例如句子, Jone买了一支笔,它是钢笔或是圆珠笔,但不是红
色的。可以用下述单元表示:
B1 self, (element-of GIVING-EVENTS)
buyer, JOHN
bought,(element-of intersection( union(PENS,
BALL - PEN),complement (RED - THINGS)))
而句子, John把书给了 Mary 或者 Bill。可以表示为,
G4 self, (element-of GIVING-EVENTS)
giver, JOHN
recip, (element - of the - set - of (MARY,BILL))
obj,BOOK
2, 3 单元表示方法
有了事件的单元表示,可以通过匹配的方法得到一个提问的解
答。假设有以下事实单元:
G1 self, (element-of GIVING-EVENTS)
giver, JOHN
recip, MARY
obj,BOOK
G2 self, (element-of GIVING-EVENTS)
giver, BILL
recip, recip(G1)
obj,PEN
2, 3 单元表示方法
可以提问:,Bill给了谁钢笔?”,该提问可用以下
的目标单元表示:
X self, (element-of GIVING-EVENTS)
giver, BILL
recip, y
obj, PEN
该目标单元与事实单元 G2匹配的过程将置换 {G2/X,
recip(G1)/y},因 recip(G1)是一个函数,通过在 G1中检索
recip值来得到该函数的值,从而得到最终的置换 {G2/X,
MARRY/y},这样就得到了上述提问的解答。
2, 3 单元表示方法
对于谓词逻辑中的蕴含关系,也可以使用单元表
示。
例如句子
所有计算机系的学生都已经取得毕业文凭
起蕴含式可以写为
EL( x,CS-STUDENTS)→EQ[class(x),GRAD]
对于这类蕴含关系,可以用被称为描绘单元的单
元来表示。
2, 3 单元表示方法
一个描绘单元描述了另一个单元所标记的集合的每一
个体的特性。例如,上述例可以表达为下面的一个单元和
为该单元的每一个体进行说明的描绘单元:
CS - STUDENDS
self, (subset - of STUDENDS)
x │ CS-STUDENDS
major, CS
class, GRAD
其中 x │ CS-STUDENDS 的含义为 X 是一个虚拟的
典型个体,其定义域是集合 CS-STUDENDS。
2, 3 单元表示方法
假设有事实,John 是计算机系的学生”,并想得到目标,John
是一个毕业了的学生”,首先将事实和目标表示为单元形式:
事实单元
JOHN
self, (element-of CS - STUDENDS)
目标单元
class, GRAD
可以正向或逆向地使用描绘单元来达到我们的目的。当正向使
用时,要注意 x│CS-STUDENDS 与事实单元 JOHN相匹配。分量
的变量 x 与 CS-STUDENDS的任一元素相匹配。描绘单元应用于
事实,从而对它增添了新的槽,major, CS”和,class, GRAD”,
因而扩展之后的事实单元 JOHN就与目标单元相匹配了。
2, 3 单元表示方法
当逆向使用描绘单元时,它首先应用于目标单元,从
而产生子目标单元
JOHN
self, (element-of CS - STUDENDS)
由于该子目标单元正好与原始的事实单元相匹配,所
以得出目标单元是可以证明的。
描绘单元只能描述那些可以解释成只表示有关集合成
员的信息的那些蕴含表达式,而对于有些较复杂的蕴含关
系则无能为力了。为此,可以引入单元规则的概念,每个
单元规则有前后两部分,且均由一些单元组成。
2, 3 单元表示方法
例如,要表示“若 y是 x部门的经理,则 y在 x部门工作”
这一规则,可以表示为如下的蕴含式:
{ EL( x,DEPARTMENTS)∧ EQ[manager(x),
y]}→EQ[(works - inly),x]
用单元规则表示出来就是
R1 ANTE, x
self, (element - of DEPARTMENTS)
manager, y
CONSE, y
works - in, x
2, 3 单元表示方法
同描绘单元一样,单元规则可以用于分析系统。当
正向使用单元规则时,如果前项中的全部单元都与事
实单元匹配,则后项中的那些单元可以添加到事实单
元集中去;当对一目标单元逆向使用一条单元规则时,
后项单元中的一个单元必须与目标单元匹配。如果匹
配成功,则前项中的单元被设置为子目标单元,然后
以这些子目标单元为新的目标单元,再反复地进行逆
向推理,直到所有的新的目标都与事实单元匹配为止。
在对子目标单元集合(合取式)应用逆向单元规则时
就要复杂一些。
2, 3 单元表示方法
知识表示是人工智能系统各个学科领域共同关心的一个热门课
题,也是机器翻译各模块分析所需要的一项重要技术。本章只介绍
了部分与机器翻译相关的知识表示,事实上,人工智能研究者还开
发了许多其它的知识表示方法:如特性表表示方法、脚本表示方法、
概念从属表示方法和基于图的状态空间表示方法等等。
然而,尽管知识表示的技术和理论研究已经取得了不少成就,
由于人类思维的奥秘还尚未完全揭示,模拟人脑活动的研究工作还
处于探索阶段,知识表示中存在的问题还很多。事实上,它还没有
形成一个严格的理论体系,缺乏严格的表示标准。知识表示能力同
知识获取能力、推理效率之间的矛盾都是显而易见的。
尽管知识表示方法问题很多,但由于意义重大,因此潜力也很
大。我们应当注重对问题求解的知识进行实用的表示方法设计的研
究,开展多种知识表示方法的结合研究,制定一种形式的评价标准。
2, 4 知识表示的小结
返回