人工智能:2.6 脚
本 表 示
脚本表示法是 R. C.Schank 在 1975 年根据他的概 念依赖理论提出的一种知识表示方法,脚本与框架类似,由一组槽组成,表示特定范围内一些事情的发生序列,它可以看作是框架的一种特殊形式。人类的知识数量庞大、涉及面广、关系复杂,为了将这些知识形式化表示并能够交给计算机进行处理
,Schank 提出了原子概念处理方式,即将人类生活中各类故事情节的基本概念抽取出来,形成原子概念,并确定这些原子概念间的相互依赖关系,然后,把所有故事情节都用这组原子概念及其依赖关系表示出来。
Schank 在其研制的 SAM(Script Applier Mechanics
) 中对动作一类的概念进 行了原子化,抽取了 11 种原子动作,并把它们作为槽来表示一些基本行为。这 11 种原子动作如下。
YPROPEL : 表示对某一对象施加外力,如推、拉、打等。
YGRASP :表示行为主体控制某一对象,如抓起某件东西、扔掉某件东西等。
YMOVE
: 表示行为主体变换自己身体某一部位,如抬手、蹬脚、站起、坐下等。
・38 ・
第 2 章 知识表示
YATRANS : 表示某种抽象关系的转移。当把某物交给另一人时,该物的所有关系就发生了转移。
YPTRANS: 表示某一物理对象物理位置的改变。某人从一处走到另一处, 其物理位置就发生变化。
YATTEND: 表示用某个 感觉器官获取信息,如用眼睛查看某事物或用耳朵听某种声音等。
YINGEST : 表示把某物放入体内,如吃饭、喝水等。
YE XPEL: 表示把某物排出体外,如落泪、呕吐等。
YSPEAK : 表示发出声音,如唱歌、喊叫、说话等。
YMTRNS
: 表示信息的转移,如看电视、窃听、交谈、读报等。
YMBUILD
: 表示由已有的信息形成新信息。
Schank 利用这 11 种原子概念及其依赖关系把生活中的事件编制成脚本,每个脚本代表一类事件,并把事件的典型情节规范化。当接受一个故事时,就找出一个相应的脚本与之匹配,根据事先安排的脚本情节来理解故事。
一个脚本通常由以下几个部分组成。
(1) 进入条件: 给出脚本所描述事件发生的前提条件。
(2) 角色: 表示脚本所描述的事件中可能出现的有关人物。
(3) 道具: 用来表示脚本所描述的事件中可能出现的有关物体。
(4)
场景: 事件发生的真实顺序,一个事件可以有多个场景,每个场景又可以是其他的脚本。
(5) 结局: 给出脚本中事件发生以后所满足的条件。
下面用 Schank 的“餐厅”脚本为例来说明如何用脚本来表示事件序列。脚本: 餐厅
(1) 进入条件。
a) 顾客饿了,需要进餐。
b) 顾客有足够的 钱。
(2) 角色。
顾客,服务员,厨师,老板。
(3) 道具。
食品,桌子,菜单,钱。
・39 ・
人工智能技术与方法
(4) 场景。
场景 1 : 进入餐厅
PTRANS 顾客走进餐厅
ATTEND 注视桌子
MBULD 确定往哪儿坐
PTRANS 朝确定的桌子走去
MOVE 在桌旁坐下场景 2 : 点菜
MTRANS 顾客招呼服务员
PTRANS 服务员朝顾客走来
MTRANS 顾客向服务员要菜单
PTRANS 服务员去拿菜单
PTRANS 服务员向顾客走来
ATRANS 服务员把菜单交给顾客
ATTE ND 顾客看菜单
MBUILD 顾客选食品
MTRANS 顾客招呼服务员
PTRANS 服务员向顾客走来
MTRANS 顾客告诉服务员所要食品场景 3 : 等待
MOVE 在桌旁等待
PTRANS 服务员去找厨师
MTRANS 服务员告诉厨师所要食品
DO 厨师加工食品( 通过调用“加工食品”的脚本实现) 场景 4 : 上菜进餐
ATRANS 厨师把食品交给服务员
PTRANS 服务员走向顾客
ATRANS 服务员把食品交给顾客
INGEST 顾客吃食品
此时,若顾客还希望再要食品,
则转第二场,否则进入第五场。
・40 ・
第 2 章 知识表示
场景 5 : 顾客离开
MTRANS 顾客告诉服务员要结账
PTRANS 服务员向顾客走来
ATRANS 服务员把账单交给顾客
ATRANS 顾客把饭钱及小费交给服务员
PTRANS 服务员向老板走去
ATRANS 服务员把钱交给老板
MOVE 老板招手送别顾客
PTRANS 顾客走出餐厅
(5) 结果。
a) 顾客吃了饭,不饿了 。
b) 顾客花了钱。
c) 老板赚了钱。
d) 餐厅食品少了。
由此可见,脚本所描述的是发生在某个特定范围内的一件事情,就像电影剧
本一 样,一幕一幕地表示所发生的一系列事 件( 序列) ,可以看作是一个因果链, 链头是一组开场的条件 ,只有当这些初始条件满足时
,该脚本中的事件才能开始; 链尾是一组结果,只有当这一组结果满足时,该脚本中的事件才能结束。一个脚本建立之后,如果已知该脚本适合于所给定的事件并被触发,那么,就可以通过脚本预测没有明显提及的事件发生,并能给出已明确提到的事件之间的联系。如果给定的情节中某个事件于剧本中的事件不能对应,则事件被中断,剧本便不能预测被中断以后的事件了。脚本结构与框架结构相比,要呆板得多,知识的表示范围比较窄。由于人类日
常的行为各种各样,因此很难用一个脚本就清晰地描述各种各样的情节。但是,对于表达预先构思好的特定知识,还是非常有效的。
・41 ・