HNC(概念层次网络)语言理解技术及其应用》

晋耀红 

科学出版社

20064


 

1  

HNC语言理解技术”,顾名思义,是基于HNC的自然语言理解技术。HNC是概念层次网络理论(Hierarchical Network of Concepts)的英文简称,它是一个以语义表达为基础的,融语义、语法、语用为一体的自然语言理解的理论体系。

本章将介绍本书的基本背景知识,包括HNC的基本概念,HNC语言理解的方法论等。为了帮助理解,本章还简要回顾了前人的一些相关研究。

1.1 基本概念[1]

1. 概念联想脉络

HNC理论是一个关于语言概念空间的理论,但它只研究这个空间的部分特性,即与自然语言的理解过程有关的特性,这是HNC对自身研究范围的基本定位。”“语言概念空间是人类概念空间的一个子空间,与自然语言空间相对应”(黄曾阳 2004)。

“语言概念空间具有第一位的同一性(共性)和第二位的差异性(个性),可以假定人类具有共同的语言概念空间。”“人类拥有众多的自然语言空间。但多种多样的语言空间是同一语言概念空间的外在表现形式,自然语言空间与语言概念空间存在相互映射或相互转换的关系。”(黄曾阳 1999b)。这是HNC的第一假设。

HNC的第二假设是:“语言概念空间是一个4层级——基层、第一介层、第二介层和上层——的结构体。基层对应着语言概念基元符号体系,也称概念基元空间;第一介层对应着句类符号体系,也称句类空间;第二介层对应着语境单元符号体系,也称语境单元空间;上层对应着语境符号体系,也称语境空间。这4层级符号体系及其对应的世界知识将分别简称概念基元世界、句类世界、语境单元世界和语境世界。空间对应着相应科学对象的数学描述,世界对应着相应科学对象的物理描述”(黄曾阳 2004)

HNC第二假设隐含着下述3项“无限与有限”的假设,这就是:“语言概念无限而语言概念基元有限,语句无限而语句的概念类型(句类)有限,语境无限而语境单元有限”(黄曾阳 2004)

“语言概念空间的本体是概念联想脉络”。“HNC已经为概念联想脉络设计了一个4层级的数字符号体系[2],而且给出了每一层级的一般表示式。它们是概念基元符号体系、语句基元符号体系、语境单元符号体系和语境框架符号体系,分别对应于自然语言的词语和短语、语句和语义块、句群以及记忆系统”(黄曾阳 2004)。

2. 交际引擎与交互引擎

HNC通过语言概念空间研究语言现象。语言概念空间是存在于人类大脑之中的一个符号体系,这个符号体系既是人类进行语言思维的载体,又是人类进行语言交际的引擎,这个符号体系将简称交际引擎。计算机要获得理解自然语言的能力就必须也拥有一台在功能上类似的引擎,否则计算机就永远不可能成为名副其实的电脑。这个引擎将叫做交互引擎。交互引擎是交际引擎的仿制,仿制就必然存在简化与不足。交际引擎由千亿数量级的神经元构成,交互引擎将由当前电脑的二进制数字符号构成。HNC的基本定位就是催生交互引擎的问世。”(黄曾阳 2004)

3. 作用效应链

“作用效应链反映一切事物的最大共性,作用存在于一切事物内部和相互之间,作用必然产生某种效应。在达到最终效应之前必然伴随着某种过程或转移,在达到最终效应之后必然出现新的关系和状态。过程、转移、关系和状态也是效应的一种表现形式。新的效应又会诱发新的作用,如此循环往复以至无穷,这就是宇宙和社会一切事物存在和发展的基本法则。

6个环节的源头是作用,结果是效应。自然语言的主要内容就是对这6个环节进行局部和总体的具体表述。”(黄曾阳 2004)

作用效应链是整个概念联想脉络的描述核心,是句类符号体系的主体。

4. 概念基元符号体系

概念基元符号体系对应着语言概念空间的基层。它的设计与构造遵循以下5项基本原则:“第一要区分抽象概念与具体概念,这是对《尔雅》这一巨著基本思路的继承与发展;第二要使词语、语句、语境三层面的符号表示相互依托,而不能相互割裂,这是对摩里斯语言符号系统三平面(句法、语义、语用)说的继承与发展;第三要彻底抛弃自然语言符号体系的任意性原则,代之以关联性原则,这是对汉语偏旁和印欧语系词根的词语构造方式的继承与发展;第四要通过符号的高层、中层和底层表示方式具体表现概念的关联性,高层表现概念基元的纵横结构,即概念全局联想脉络的基本类型,中层表现概念局部联想脉络的基本类型,底层表现概念的网络特征。这4项符号构成原则形成对大脑神经元系统基本功能的模拟。第一项原则将简称“尔雅”原则,第二项原则将简称语境原则,第三项原则将简称关联原则,第四项原则将简称延伸原则”(黄曾阳 2004)。此外,还有句类原则。

概念基元符号体系“首先将概念分成3种基本范畴:抽象概念、具体概念和两可概念,后者兼备抽象与具体的双重特性”(黄曾阳 2004)。其基本特性可以用数字串“8-2-1”来说明。即:“抽象概念可穷举为8类;具体概念可穷举为两类——基本物jw和挂靠物w//p;两可概念则仅有物性x这一种类型”(黄曾阳 2004)。8类抽象概念分别是主体基元概念、第一类扩展基元概念、第二类扩展基元概念、基本概念、语言逻辑概念、语习概念、基本逻辑概念和综合概念。

5. 五元组

    五元组“指抽象概念的类型特性,分别代表概念的动态、静态、属性、值和效应表达。每个抽象概念都具有这五个侧面的类型特征,也可称为抽象语言概念的形态或外在特征”(黄曾阳 1998)。五元组简记为“v,g,u,z,r,它们是抽象概念外在表现的基元”。

自然语言中的一个表达抽象概念的词语必定是从五元组中的某个或某几个侧面来表达某个抽象概念,例如,‘思考、思维、想法’这几个词分别是从五元组的vg,g,r侧面对同一抽象概念的表达”(苗传江 2005)。

6. 概念的一般表示式

首先给出概念基元符合体系中,概念延伸结构CESE的一般表示式及有关符号约定(黄曾阳 2004)。

     CESE::=CP:(ICP1,BCP2;ICP2,BCP2; …)                    (HNC1)

                     ICP m//n,ekm//ekn,cmn//dmn,-0|

                     BCP t=x,\k=x,i=3//7

上列概念延伸结构一般表示式简记成(HNC1),其中各项符号的意义如下:

    CP      概念基元(Concept Primitive)符号

    ICP,     中层概念基元符号,后缀符号1//2…分别表示一级、二级的意思

    BCP     底层概念基元符号,后缀符号意义同上。

词语的语义可以映射到概念符号体系上,用概念的组合表达。概念的一般表示式文字表述如下(黄曾阳 1998

    {类别符号串}{层次符号串} {组合结构符号} {类别符号串}{层次符号串}”

HNC对抽象概念用五元组和概念基元来表达,对多数具体概念采取挂靠抽象概念,展开近似的表达方法。比如:“讲课”的符号是“va71”,而“教师”是“讲课”的人,因此其符号是“pa71”。“这样,语义的表达就从自然语言空间转换到了语言概念空间,实现了‘符号任意性’到‘符号关联性’的转换,为计算机把握语义提供了可计算的符号基础”(黄曾阳 2001)。

7. 句类

    句类的字面解释是:语句概念联想脉络的类型,也叫语句级全局概念联想脉络,简称句类。”“每一个句类都有它的语句表示式,叫句类表示式。“依据直接描述广义作用效应链的高层概念的数量,HNC理论得出了存在57组基本句类的著名结论,按基本句类两相混合的原则,理论上就可以导出混合句类为57*(56)=3192组的结(黄曾阳 2001)。

下面是几个句类的句类表示式:

   基本作用句   X0J    =  X0A+X0+X0B

   基本过程句   PJ     =  PB+P

   基本状态句   SJ     =  SB+S

   物转移句     T2J    =  TA+T2+TB+T2C

    每一基本句类对应着一定的世界知识和语言知识,每一混合句类也对应着一定的世界知识和语言知识,这些知识统称句类知识”(黄曾阳 2004)。HNC希望把所谓世界知识的精华尽可能纳入到句类知识中,也就是升华到概念层面去表达世界知识”(黄曾阳 2001。关于句类知识可参见文献(苗传江 2001

    句类表示式的基本单位是主语义块。

8. 句类符号体系

句类符号体系对应着语言概念空间的第一介层,即句类空间。句类空间的数学描述如下(黄曾阳 2004

      SC=GBK1+EK+GBKm(m=2-4)                           (HNC2)

SCR=SC+fKm                                       (HNC2R)

表示式 (HNC2) 是对句类空间的数学描述,而不是对句类世界的物理描述。(HNC2) (HNC1)一样都是对概念联想脉络网络性的描述,但(HNC1)的描述是后台隐性的,而(HNC2)的描述是前台显性的。

句类空间的宏观特性描述可以用数字串“2-8-57-3192”说明(黄曾阳 2004)。

2”即“句类空间存在着广义作用句和广义效应句两个子空间,这两个句类子空间具有本质不同的句式特征。”

8”即“基本句类的8种基本类型。这8种基本类型又可以区分为广义作用句和广义效应句两大类,每大类各自分为4类。广义作用句的4类是作用句、转移句、关系句和判断句,广义效应句的4类是过程句、效应句、状态句和基本判断句。”

数字串“57-3192”表示57组基本句类和3192组混合句类。

9. 语义块

    语义块是“语句的下一级语义构成单位。它可以是一个词、一个短语,甚至可包含另一个句子,或由另一个句子蜕化而来。在通常情况下,一个语义块包含核心部分和说明部分,其核心部分也称为语句要素。语义块以其要素命名(黄曾阳 1998)。

    语义块分主语义块和辅语义块两种。

主语义块是组成句子的必备成分,有特征语义块E、广义对象语义块JK两大类。后者有A、B、C共3种基元,其符号表示由句类标志和基元符号组合起来,比如,X0A就是基本作用句的作用者,TA就是转移句的转移发出者等。主语义块是句类的函数,它的类型和语义约束都决定于句类,是句类知识的重要组成部分。比如,基本作用句的作用对象X0B和自身转移句的转移终点TB2,虽然都是对象B,但由于其句类不同,其语义块的预期知识也不同。X0B一般包括作用对象XB、效应对象YB和效应内容YC,如“打扫房间的垃圾”“打扫房间的卫生”中,“打扫”的X0B分别是“XB+YB”和“XB+YC”。转移终点TB2则一般都是地点或广义空间概念,如“坐车去”的目的地一定是一个地方或单位。

辅语义块是语句的辅助成分,一般说明语句的条件、工具等侧面。辅语义块和句类的关系较弱,有7种,“分别命名为:手段、工具、途径、比照、条件、原因、结果和目的,分别用符号Ms,In,Wy,Re,Cn,Pr,Rt表示”(黄曾阳 1998

10. 语句格式

“语句格式是指句子中主语义块的排列顺序。句类表示式表明了一个句类应该由几个什么样的主语义块构成,这些主语义块在具体的句子中可能以不同的顺序出现,这就是语句格式的不同。以基本作用句X0J为例,它有三个主语义块,即作用者X0A、作用X0和对象X0B,‘张三打了李四’是X0A+X0+X0B格式,‘张三把李四打了’是X0A+X0B+X0格式,‘李四被张三打了’是X0B+X0A+X0格式”(苗传江 2005)。

HNC定义了4种语句格式,分别是基本格式、规范格式、违例格式、省略格式。基本格式是在每种语言下,语义块排序的一种本征节律,在基本格式下,语义块之间一般不加语义块指示符。规范格式则是语义块顺序偏离基本格式后,在偏离的语义块上加语义块指示符,而违例格式是主语义块的顺序偏离基本格式后,也不加任何语义块指示符的格式。这些格式的具体定义可参见(苗传江 2005)和本书附录二。

11. 语境单元与语境框架

语境单元对应着语言概念空间的第二介层,针对的是句群层面,而语境框架(ABStract,简写为ABS)则对应着语言概念空间的上层,针对的是篇章层面,是对语境单元的再抽象。语境框架关系到短时记忆和长时记忆的建立与转换,同时也涉及到特定的世界知识(或常识知识,比如:特定事件的参与者等)的使用。

语境单元和语境框架都是对语言学的“扣题原则”的形式化。“语言学提出过话语的4项基本原则:真实原则quality(不说假话)、适量原则quantity(不多不少)、扣题原则relevance(不说无关的话)和明晰原则manner条理清晰)。实际语言并不严格遵守这4项基本原则,但相对说来 对扣题原则的偏离最小。‘题’就是指一个特定的概念。……这个‘题’在语言空间并不显现在音和形上,而是隐现在义上。……HNC概念基元符号体系的作用就是把这个语言空间隐现的义转变成语言概念空间显现的义”(黄曾阳 2004),这就是语境单元。“HNC语境说将‘题’之要素抽象为领域DOM、情景SIT和背景BAC三项。第一要素领域DOM来于言语活动主要面向人类活动的思考;第二要素情景SIT来于万事万物都必须遵循作用效应链规则的思考;第三要素背景BAC来于上述言内信息必须与言外信息相互耦合的思考”(黄曾阳 2004)。

语言概念空间第二介层的数学物理表示式也叫语境单元表示式,语言概念空间上层的数学物理表示式也叫语境框架表示式。

语境单元表示式的构成如下(黄曾阳 2004):

      SGUN=(DOMSITBACEBACA)                    (HNC3-1)

      SGUD=(8y:|DOMSITBACEBACA)                 (HNC3-2)

SIT=SCD(A,B,C)                                       (HNC3a)

语境框架表示式的构成如下(黄曾阳 2004)

      ABS=(BCN//BCDXYN,XYD,PT,RSBACEmBACAm)    (HNC4)

式中的符号分别代表:

SGU——语境单元(Sentences Group Unit

SGUN——叙述文体的语境单元

SGUD——论述文体的语境单元

DOM——领域(Domain),静态范畴表示

SIT ——情景(Situation),动态框架表示

BAC——背景(Background

BAC[E//A]——事件(Event//述者(Author)背景

SCD——领域句类

ABS——语境框架(Abstract

BCN// BCD——对象与内容的叙述//论述

XYN//XYD——作用与效应的叙述//论述

      PT——过程与转移的描述

      RS——关系与状态的描述

12. 语串

       从信号处理的角度看,句子就是一个有一定的编码规则的符号串C1C2……Cn。每个符号串片断就代表一个字或词,每个词语都有它的语义。我们把计算机处理的句子统称为语串。语串的一部分称之为语段。本书下文的语串一般指,由逗号或其他断句(分号、句号、冒号、叹号、问号)符号隔开的、语言分析的最小单位。

       句子可以由一个语串组成,也可以由多个语串组成。

1.2 HNC语言理解方法论

1.2.1 关于自然语言理解

    关于“自然语言理解”的“理解”,不同学者给出了不同的定义。传统的符号学人工智能的定义是,“理解”即是表示,理解的过程关注的是表示的构造和使用(The tradition in symbolic AI has been to treat ‘understanding’ as a problem of representation. That is, the way on studies ‘understanding’ is to focus on the problem of constructing and using a representation of a given input.)(Alterman R and Bookman L A 1992Fillmore1982认为,理解一个概念决定于我们拥有的背景环境和这个概念本身的背景框架原型匹配的程度(our understanding a concept is determined by how well the background situation matches the concept’s prototype background frame)。Schank1982则认为“理解”是在概念空间中,但不仅仅是一个被动的操作过程,而部分的受我们预期的驱使(Comprehension is more than just a passive trace through concept space. Comprehension is also partly driven by our expectations.。国内也有学者认为,自然语言理解是外来语言符号信息在信息接受者已有知识上的嫁接过程,其中包含了由于“知识同化”而带来的矫正、补充和扭曲现象周锡令 1997

本书基本认同Schank的观点,但需要在其中的“概念空间”前加上“语言”二字作修饰。HNC认为,语言概念空间只是人类大脑概念空间的一部分,至少还有其他4类空间:形象概念空间、艺术概念空间、科学概念空间和情感概念空间(黄曾阳 2004

对人来说,这里的“预期”就包含交际过程中用到的很多常识知识,人们常说的“他一开口,就知道他要说什么”,就是这个“预期”的结果。但对计算机来说,这个“预期”从何而来呢?交互引擎中的“自然语言理解”是怎样的呢?

HNC理论中,这个“预期”就是概念联想脉络,而自然语言理解的过程就是概念联想脉络激活、扩展、浓缩、转换与存储的过程。

HNC已经为概念联想脉络设计了一个4层级的数字符号体系,而且给出了每一层级的一般表示式。它们是概念基元符号体系、语句基元符号体系、语境单元符号体系和语境框架符号体系,分别对应于自然语言的词语和短语、语句和语义块、句群以及记忆系统。下面是它们的一般表示式:

概念基元符号体系表示式

CESE::=CP:(ICP1,BCP2;ICP2,BCP2; )                                (HNC1)

  ICP m//n,ekm//ekn,cmn//dmn,-0|

  BCP t=x,\k=x,i=3//7

句类表示式SC

 SC=GBK1+EK+GBKm(m=2-4)                                         (HNC2)

      SCR=SC+fKm

语境单元表示式SGU

  SGUN=(DOMSITBACEBACA)                                               (HNC3)

      SGUD=(8y|SITBACEBACA)

      SIT=SCD(A,B,C)

语境框架表示式ABS

  ABS=(BCN//BCDXYN,XYD,PT,RSBACEmBACAm)               (HNC4)

这些表示式,是HNC对人类理解自然语言过程的一个模拟,其中每个符号都蕴含着丰富的预期知识,这些知识是语法、语义、语用知识的精华。

这里不想解释这些表示式的合理性,因为这牵扯到对哲学、认知科学、计算科学的思考和反思,作者不敢妄言,有兴趣可参见黄曾阳先生有关著作。这里只说明建立在这些表示式上的自然语言理解技术。

有了这些表示式,自然语言理解,可以定义为概念联想脉络表示式的生成以及它们之间的运算,也即概念联想脉络的激活、扩展、浓缩、转换与存储。表示式的生成,是把自然语言映射到语言概念空间。由于每个表示式都有丰富的预期知识,因此,生成的过程实际上是有预期知识指导的选择过程,我们形象地称之为激活。其他的扩展、浓缩、转换与存储,都是语言概念空间的运算,运算对象是某一级的表示式,运算结果是同级的或更高一级的表示式。

由于这些表示式是对交际引擎的符号化,而交互引擎的目标就是对交际引擎进行功能模拟,因此,交互引擎中,自然语言理解就可以以计算机是否能正确激活上述表示式为理解的标准。这是交互引擎的基本观点。

下面以句子一级的理解为例,来具体说明HNC语言理解过程。

与句子理解相关的表示式是:HNC语义符号表示式和句类符号表示式。前者是词语语义的符号表示,是一个或多个概念表示式组合而成的。后者对应的是词语在句子中的用法。

一个词语有几个意思,它就有几个语义符号表示。如果是动词,则其在句子中也可能有多个用法,也就会有多个句类代码。以“打破”为例,它至少有3个义项(3个语义表示式)和4个句类代码(4种句类表示式)。具体如下:

(1) 更新作用,语义表示是jv78e21,其相应的句类表示式是XP30*21J=A+XP30+P3C。典型例句是:

上海队蒋丞稷、解放军队原媛分别打破男子100米蝶泳亚洲纪录和女子200米蛙泳全国纪录。

当年李政道先生和杨振宁先生合作,发现宇称不守恒现象,取得了打破宇称守恒定律、改进粒子物理学研究的结果。

(2) 作用的免除,语义表示是v903,其有两个句类表示式,

X301JX3A+X301+XBC

锦江集团培养和使用干部打破了部门和地域的界限,实行双向交流。

Y0S3*21JYB+Y0S3+SC

电信垄断打破坚冰 。

(3) 是一种物理作用,产生的效应是损坏,语义表示是v008#v3529,其相应的句类表示式是XJ=A+X+B。

邻居家的小孩打破了张大娘的花盆。

因此,要确定“打破”的语义表示,以及它所在句子的句类表示式,必须同时激活3种语义表示式和4种句类表示式,进行“多选一”操作。由于“打破”是所在句子的特征语义块E的核心,因此,“多选一”的关键是“打破”所指示的句类的不同,所指示的对象内容的预期知识不同。比如:第3种情况下,“打破”的对象一般是具体的物,而不能是抽象概念,而第1种情况则恰恰相反。

可以看出,这里在确定“打破”的语义表示式的同时,也确定了它所在句子的句类表示式,也就是说,确定两个表示式的过程经常是一起完成的(这主要是因为“打破”是其所在句子的特征语义块的核心动词,句类附着在其上。这个操作就是下文的“多句类代码假设”)。

对于句子中其他词语的语义表示式的确定,比如“花盆、界限”等,由于它们本身不附带句类,也不影响整个句子的句类表示式,因此,可以在句类表示式确定后,在语义块内部,根据语义关联性来确定(这个操作就是下文的“语义块构成”)。

从以上论述可以看出,在语句层面,确定表示式的主要操作就是“多选一”。正是由于这个原因,在HNC的很多介绍中[3],都有这样的说明——“把‘消解模糊’作为‘自然语言理解’初级阶段的标准”。实际上,“消解模糊”就是“多义选一”,它只是语句理解的重要手段而已,理解的根本目标是确定表示式。确定了表示式,也就激活了相应的概念联想脉络。

1.2.2 语言理解系统的检验

对一个自然语言理解系统如何检验?也就是说,怎样才算计算机理解了自然语言?一直以来,人工智能学界都采用图灵检验(Turing Test[4])的方式。从软件工程的角度来说,图灵检验属于黑盒测试,而且测试者的判断带有很强的主观性,因此这种测试往往无法准确反应一个语言理解系统的真实水平,也基本上无法就进一步的改进给出系统的指导。

图灵检验的根本问题在于检验标准的形式化问题。每个测试者的专业领域以及它所拥有的常识知识的不同,测试者和系统开发者对同一个语言现象的解释也可能不同,这样对同一个系统给出的结果的判断会有偏差,这就造成了检验的不确定性问题。

在图灵检验的基础上,国际国内在检验问题上也在不断地探索,也组织了很多评测。有的针对语言理解的某个阶段的结果进行测试,比如2002年的国际分词评测;有的针对语言理解的某个应用结果进行测试,比如美国的TREC会议,就专门针对信息检索、过滤等方面进行测试。这些测试在不同程度上推动了语言理解技术的发展。但我们也应该看到,现有的测试方法只注重结果,并不关心具体的实现,实际上是站在人的立场上,对机器的处理结果作出评价。检验的最终结果是检验者根据人的判断标准,给出机器的结果与人的结果之间的相似度。相似度越高,说明机器对语言的理解能力越高。在这个过程中,机器只需要根据自己的规则给出结果,至于这个结果会产生什么样的预期,会得到多少评价,那就完全是检验者的工作了。根本上来说,现有的测试与评价没有考虑机器的“内省”能力。

我们认为,一个好的语言理解系统,必须对自己的每个行为都有一定的评价,给出的结果也有一个可信度。这种能力,我们称之为“自知之明”。“知之为知之,不知为不知,是知也。”。也就是说,计算机知道哪些结果是完全可靠的,哪些结果只能作为参考[5]。系统的自知之明的能力,反映在处理结果上就是结果的可信度。

HNC语言理解系统希望给出具有充分自知之明的可信度,而4层级的符号表示式则为“自知之明”的生成提供了可计算的标准。

HNC的自知之明定义如下:

       SKR=(CEEE/CON

其中,SKRSelf Knowledge Ratio)是自知之明,CECurrent Expression)是当前表示式,EEExpected Expression)是预期表示式,CONCondition)是条件。

以语句理解为例,其可信度就是,语句中语义块要素位置的词语的概念表示与句类表示式所预期的概念表示的匹配程度。看下面两个例子:

王凤梅一直在为儿子的婚事发愁。

石头正在为木头发愁。

“发愁”的句类代码是反应句X20J=X2B+X20+XBC。其X2B的预期如下:

X2B: pp;jw62.

其中,pp类概念包括人的个体和社会形式,如组织机构、团体、国家等等。jw62概念指的是动物,也就是有生命的。

根据预期知识,X2B必须是有生命的,因此,两个例句,虽然都可以分析成反应句(其X2B分别是“王凤梅”和“石头”),但前者的可信度就很高,后者则相反,因为“石头”的语义符号是jw53a,是一种固态物,它和“pp;jw62.”几乎无法匹配[6]

可见,以预期知识为参照点,语言理解系统是可以给出具有自知之明的可信度的。而HNC的数字化的表示式,则为自知之明的生成提供了很好的运算基础。关于语句理解系统的自知之明的细节,将在下面有关章节中详细说明。

在“自知之明”的基础上,我们就有可能对理解系统的“理解”能力进行客观的评价。我们定义自然语言理解系统的“理解”能力为理解度(黄曾阳 2004)。

理解度研究的基础有二:

1 语言理解系统具有充分的自知之明能力。理解度并不是简单的给一个正确率(或者还有召回率)来评价系统,而是对系统的每个操作的可信度给出评价。一般在文字文本处理时,如果不考虑纠错的情况(即默认文本是语义上合理的,这时的理解度才是纯净的,纠错会带来很多其他非理解性问题。),关心的是能否正确的理解。因此,可信度低的结果,理解度一定不高。

2 但是,可信度高的结果并不一定代表理解度高。理解度需要结合分析的难度。HNC对交互引擎的各个过程都总结了其处理难点(比如语句分析的20项难点,下文会详细介绍),这些难点是自然语言理解必须解决的问题,也是理解的复杂度。理解度必须反映出其中问题所包含的复杂度。

理解度研究必须遵循以下原则:

1 量化原则。任何一种学科,只有进入了量化研究的阶段,才能真正成为一种科学。自然语言理解必须进入量化的时代。由于HNC从知识表示(概念联想脉络都是数字化的表示式),到预期的匹配(预期知识的表示和运算操作)都建立在数字符号的基础上,因此,HNC语言理解有基础进行量化研究。

2 类化原则。复杂度是影响理解效果的关键因素。以语句理解为例,必须对20项难点,按照对理解的影响程度进行分类,才能正确给出理解度。同时,20项难点对处理过程的各个操作的影响,也必须分类研究。

下面给出语句理解的理解度定义(黄曾阳 2004)。

交互引擎的语句理解度的定量描述应采用下面的公式:

语句理解度::=UDSC=ΣβmUDSCm(m=1-M)                          (UD1)

    语句理解模糊度::=AMSC=Σβm[1-UDSCm] (m=1-M)                 (AM1)

公式(UD1)与公式(AM1)等价。理想情况下交际引擎的UDSC=1AMSC=0[7],交互引擎不可能达到这一水准。

公式(UD1)中的UDSC Understanding Degree of Sentence  Category 的缩写,UDSCm表示句类分析对m号单项或组合难点的治理度,语句理解度定义为全部单项或组合难点治理度的加权和。加权系数与各项难点的出现频度有关,同时还与它对语句理解的作用有关。

其中的βm是难点对理解的影响力权值,对语句理解来说,这里的m=20,代表20项难点。另外,UDSCm定义如下,其中SKRm是难点消解的可信度,也就是其自知之明能力,UTYPEm是难点的类别。

       UDSCm= SKRm*UTYPEm

1.2.3 关于汉语的语言理解

本书的主要研究对象是汉语,因此,这里有必要结合汉语的特点对计算机理解汉语的特殊问题(或难点),作一些简单介绍。

汉语是意合型语言,主要有以下的特点:

1 汉语有明确的语义块标记,如“把、对、向、被……”等,这些语言逻辑概念给汉语语义块的感知带来了很大的方便。而英语一般有比较完备的短语指示符,如“the, a, for, with”等。

2 汉语的“字义基元化,词义组合化”特征明显。比如:以“打”为第一个字的词就有“打破、打断、打开、打垮……”等,这些词在句子中,一般都可以形成作用句,而这都是由“打”字的语义决定的。再比如“成”字,经常可以和其他动词合起来一起构成特征语义块,如“长成、变成、锻炼成……”等,同时也会形成诸如“当成、看成、想成、判成、理解成、规定成……”等,词语后面加了“成”后,它们的语义和用法经常会发生改变。下面两个例子可以说明一二。两个例子虽然都用了“当”,但由于“成”的影响,其句类却不同,其中一个是承受状态句,一个是判断句。

他当上了村长。

他们把他当成了村长。

3 汉语是以词义组合的方式表达其词性的。汉语的词没有形态标记,词无定类,只有在句子中,根据它们的用法,才能判断词性。比如,“在”,在以下两个句子中,分别是时态标志和介词。

她在读书。

她在花园里读书。

4 汉语可以出现没有特征语义块的句子,即没有动词的句子。这些句子,从传统语法的观点来看,是形容词或名词作谓语。而HNC则认为其构成一种特殊的句类,这些句类没有特征语义块。下面两个例子的句类都属于无特征语义块的简明状态句。

他这个人很热心。

白菜一毛钱一斤。

5 汉语的“的”经常是句蜕的标志,这时,句子中会有两个以上的动词,分别构成特征语义块。下面的例子中的“{……}”“<……>”的内容实际上都是一个句子,但由于“的”的存在,使得它们都形成句蜕,充当了一个语义块或语义块的一部分。

中国队终于实现了\ {多年来中国足球走向世界}的愿望/。

经济学家降低了\<对明年经济指数的预测>数据/。

6 汉语的句子,经常可以调换语义块的次序,而意义不变[8]。下面两个例子的意义相同,但语句格式不同。

他要把这个文件的精神传达给大家。

他要给大家传达这个文件的精神。

这些特点,给汉语的语言理解带来了特殊的难点。比如:多个动词造成的句子语义核心的确定问题、句类的动态判定问题等等。以“开会讨论教育改革方案”为例,其前4个词语都有v义项,都可以构成特征语义块的核心,那么哪个是整句的核心呢?具体的可参见下文的20项难点和下文的有关章节。

正是由于上述特点,我们认为,汉语的语言理解应该另辟蹊径,走出一条具有中国特色和中华民族文化底蕴的路子。HNC语言理解技术提供了一个很好的思路。

1.2.4 有所为、有所不为

我们把自然语言理解定位在概念联想脉络表示式的激活与运作。这个过程是对人类理解自然语言过程的模拟或仿制。模拟的过程不是全盘拷贝,而是有选择的功能近似。语言理解必然涉及以下两方面信息:

1)上下文里蕴涵着的现场语言信息,可简称言内信息。

先看一个例子。“青蛙是两栖动物”,这句话的言内信息很明了,是一个判断,判断的对象是“青蛙”,判断的内容是“两栖动物”。而这些信息完全可以用判断句的句类表示式给出,其中的DB就是指判断对象,jD指示判断,DC是判断内容。

青蛙 || 是 || 两栖动物。

 DB  || jD ||    DC

因此,我们认为,言内信息的最终表达方式就是概念联想脉络的表示式。以句子一级为例,其言内信息就是句子的语义类别(句类)、句子中各个词语的语义表示。

2)语言环境里蕴涵着言语之外的现场信息和大脑中原已存储的相关信息,简称言外信息。

言外信息的生成,除了通过现场的积累外,还包含大量的常识知识。比如,“青蛙是两栖动物”。这句话的言外信息至少包括如下方面:

1)       青蛙是动物,而非植物。

2)       青蛙能生活在陆地。

3)       青蛙能生活在水中。

这些信息从何而来?答案是人对“两栖动物”的生物学常识。

言内信息与言外信息自然而然地相互耦合,人类得以实现对自然语言的理解。那么,计算机如何才能更好的模拟人类呢?言外信息中的常识知识如何表示呢?美国的CYC计划是这方面探索的代表者。按照其设计者Lenat先生的描述,CYC计划要建成一个拥有海量常识知识的知识库。下面是Lenat先生的经典描述:

Such a KB would have to span human consensus reality knowledge: the facts and concepts that you and I know and which we each assume the other knows. Moreover, this would include beliefs, knowledge of others' (often grouped by culture, age group, or historical era) limited awareness of what we know, various ways of representing things, knowledge of which approximations are resonable in various contexts, and so on.Lenat D B et al 1990

CYC计划历时10年,建立了一个推理规则多达160万条的知识库。其目标是建成后,这个知识库是个人计算机的基本配置。然而遗憾的是,CYC的梦想并没有实现。CYC的失败给我们如下启示:言外信息不能进行简单的量的积累,而需要有一个完整的表达方法,以及分阶段分步骤的使用策略,否则将会陷入常识的海洋。同样,言内信息也是如此。

因此,我们认为,自然语言理解必须采取分阶段、有所为、有所不为的策略。下面以句子一级的理解为例说明。

1. 言内信息的有所为与有所不为

绝大部分句子的句类表示式,是可以通过“多选一”的手段得到的,这个过程主要是消解模糊。HNC把语言中的模糊概括为5重模糊:发音模糊、音词转换模糊、词的多义模糊、语义块构成的分合模糊、指代冗缺模糊(书面语只有后3重模糊)(黄曾阳 1998)。比如,前文所提到的“打破”这个词,至少有3个义项(3个语义表示式)和4个句类代码(4种句类表示式),那么在句子中到底应该选择哪个义项呢?这种词的多义模糊如果不消除,句子的语义表示式(句类)将无法得到。

再看下面一个例子:

事实表明,不触动封建根基的自强运动和改良主义,旧式的农民战争,资产阶级革命派领导的民主革命,以及照搬西方资本主义的其他种种方案,都不能完成救亡图存的民族使命和反帝反封建的历史任务。

这个句子有6个语串,其中第一个语串和最后一个语串都是不完整的(其中第一个语串缺少JK2,第6个语串缺少JK1),是典型的语义块缺省模糊。这种模糊也同样关系到理解的成败。因此,对5重模糊的消解是语句理解必须有所为的。

但是,五重模糊并不包含“鸡不吃了”这样的歧义。这个例子有以下两种分析结果:

|| 不吃了。

TA ||  T1S (“鸡”作为“吃”的动作发出者,其内容T1C省略)

|| 不吃了。

T1C||  T1S(其中“鸡”作了“吃”的内容T1C,“吃”这个动作的发出者TA省略)

类似的例子还有“打死了猎人的狗”等等。这种歧义,属于表示式选择歧义,必须联系更大的上下文,才能消解。对这种歧义,如果没有上下文,人尚(且)很难,机(器)何以堪?这些歧义在语句一级暂时属于有所不为。

2. 言外信息的有所为与有所不为

如果以是否影响句类表示式或词语语义表示式为标准的话,部分常识知识已经纳入到HNC的句类知识和概念符号中。

先看下面的HNC语义符号。

召开 vc39e219       会议 gc39e219

教师 pa71           讲课 va71  

情感 g713           高兴 vu7131

这些符号中蕴涵着概念联想的简明而丰富的知识,如“召开”与“会议”的动宾关联、“教师”与“讲课”的主谓关联、“情感”与“高兴”的上下位关联(苗传江 2005)。这些关联性属于基本常识,它们对模糊的消解以及表示式的激活具有直接的启发。

再比如,转移句有4个语义块:转移发出者TA、转移T、转移接收者TB和转移内容TC(如:张先生+送给+李小姐+一束鲜花。),反应句中的反应者X2B(即“发愁、希望”等动作的对象)必须是人(广义,包括人的个体和社会形式,如组织机构等)或动物,以及生命体的部件。这些都在句类知识(附着在句类表示式上的预期知识)中表示。这些预期也属于基本的常识。

以上这些关联性和预期知识,对句类表示式和词语表示式的激活和运算有举足轻重的作用,因此,必须有所为。这些知识一般在符号表示或知识库中给出,理解过程必须对它们灵活运用。

以下两方面言外信息则可以暂时有所不为(黄曾阳 1999a

“一是与基本理解无关或影响较小的常识,Lenat先生就命题frog(Freda) 所提出的一系列有趣的问题就是这类常识的典型代表。二是对语句基本理解不造成严重影响的语言隐知识,包括metaphormetonymy,也包括机器翻译学界特别重视的各语种的习惯用语(包括成语、谚语、歇后语)及习惯表达方式,前者如毛泽东先生爱说的成语‘和尚打伞,无法无天’,后者如英语词组go to see。隐喻的显式意义在语言感知过程中是可以置之不理的,这是关键所在。“和尚打伞”是一种语言游戏,当你(计算机)遇到此类难以理解的词组时,要首先懂得把它当做语言游戏来处理,这才是高明的策略思想,反应灵活的口语翻译者实际上就是这么干的。至于go to see之类的高层概念词组的难点,实质上就是1号难点,只能通过扩展句类检验的方式得到部分解决。”[9]

另外,某些深层隐知识的揭示、某些特殊术语的意义,以及文言文、诗歌等的处理,也属于不为之列。

需要强调的是,有所为有所不为的策略,只是为了突出重点,而并不是投机取巧。句处理阶段的“不为”,到了句群处理,也许就是“必为”的,因此,“不为”是暂时的,具有明显的阶段性。上文只对句子一级的处理作了一些简单的讨论,并没有涉及句群和篇章,对这里的“有所为”的处理,是本书介绍的重点。

1.3 前人的研究

1.3.1 自然语言处理

       “(自然语言处理)它的发展主要围绕以下3个方面: 自然语言的表述和处理模式; 自然语言知识的表示、获取和学习; 研制开发自然语言的应用系统”(黄曾阳 1998。本书的研究主要是定位在第3个方面。但是由于前两者是后者的基础,因此,这里的介绍也必然会包括前两者。

    一般对自然语言处理,按照其所使用的方法不同,分为理性主义和经验主义。两者的区分主要是根据它们对处理所用知识获取的方法不同。所谓理性主义就是处理所用的知识主要依靠语言学家的直觉或语感来获取,理性主义一般采用规则的方法。所谓经验主义就是处理所用的知识主要来自计算机对真实文本的统计,也就是根据大量存在的语言事实归纳得到,经验主义一般采用统计方法20世纪90年代,统计方法一出现,就引起了很大的关注,直到现在,也是自然语言处理很重要的方法之一。

    理性主义的代表是Chomsky的生成语法(Chomsky N 1986, 1981, 1975, 1965)、Fillmore的格理论(Fillmore C J 1982, 1968),以及Schank的概念依存理论(Schank R C 1982, 1977, 1975a, 1975b, 1973)。

Chomsky以来,理性主义研究的主流就是基于短语结构的,其基本的假设是句子有深层结构sànp vp。在这个基础上,已经发展了很多短语结构语法,如:转换生成文法、广义短语结构、词汇语义驱动、Head-Driven短语结构、范畴语法等,研究的重点也是如何构造形成npvp。以短语结构语法为指导形成的语言分析系统一般遵循先句法-后语义的常规做法,即先把句子分析成句法树,然后再把语义信息通过各种手段附加到句法树上。生成句法树的过程称为句法分析,“从生成语法的观点来看,句法分析的任务是依据一部语法来判断一个任意的输入句子是否是合乎该语法的句子,如果是则为这个句子建立某种数据结构(如树或多重表)以描述其句法结构”(黄昌宁 1989)。

Fillmore提出的格理论,可以说是对短语结构语法的改良,加入了语义信息。它用“格”的概念代替了“主谓宾定状补”的概念,从语义入手,提出了施事格、受事格等概念。格理论的提出,为语义信息的利用提供了很方便的手段。实际系统实现中,一般都是把格和上述的短语结构结合起来,形成“句法树(语法)+格语法(语义)”的互补局面。

Schank提出的概念依存理论(CD),是完全从语义着手,利用概念依存树控制语句的分析。其代表的系统是他的学生设计实现的概念分析系统。CD理论完全抛开了短语结构的概念,利用概念依存关系,处理自然语言。但是CD理论并没有掀起语言理解的变革。

值得说明的是,美国的蒙太格语法(邹崇理 1995,是句法-语义一体化的理论。它从逻辑语义的角度给出了自然语言的逻辑运算,把自然语言纳入传统的逻辑范畴。近年来,逻辑语义研究逐渐受到人们的关注。

另外,像美国的描写语言学理论(结构主义语法)(顾阳 1994、法国特尼埃尔的依存语法(配价语法)(袁毓林 1998、韩礼德代表的系统功能语法、Langacker倡导的认知语法等都属于理性主义的范畴,它们对语句的分析,都起到了一定的推进作用。

经验主义,主要利用的是统计语言模型。其方法一般是n元模型,其数学基础是

隐马尔科夫模型(HMM)计算。N元模型是这样处理语言的。

如果用变量W代表一个文本中顺序排列的n个词,即W = w1w2…wn ,则统计语言模型的任务是给出任意词序列W 在文本中出现的概率P(W)利用概率的乘积公式,P(W)可展开为:

P(W) = P(w1)P(w2|w1)P(w3| w1 w2)…P(wn|w1 w2…wn-1)

    统计语言模型在语音识别、汉语词性标准、汉语分词、机器翻译的对齐处理align等方面的研究上都取得了可喜的进展(黄昌宁 2002)。由中文之星公司开发的“智能狂拼” 汉语拼音输入系统和IBMViaVoice是这种技术在产品开发上的代表。但是总体上来说,统计方法还没有进入句子层面。

    另外,还有一些专门的知识库工程和知识获取系统。知识库工程有美国的Cyc计划、美国的WordNet、日本的EDR等。现在一般研究使用较多的是WordNet,它对语义、语法研究起了很好的推进作用。

1.3.2 中文信息处理

“到目前为止,中文信息处理基本上还停留在字处理阶段,也就是说计算机对汉语的认知是一个字一个字地进行。最明显的标志就是计算机键盘输入是一个字一个字地敲,一个字一个字的显示。即使应用软件准备了联想功能,但是其原理仍是把词(多音词)、短语当成来处理的。如果我们说得宽宏一些,最多可以说现在是处在字和词处理之间阶段。”“中文信息处理技术虽然在有些方面有所进步,但是至今还没有跨上语言处理这个台阶”(许嘉璐 2000)。语言处理的基本操作是句子处理。因此,可以发现,中文信息处理还没有全面进入句子分析。

由于汉语书面语实行按词连写的习惯,因此,句子分析的首要问题是分词。在分词问题上,尽管我们的许多计算机自动分词应用系统都宣称达到90%以上的正确率,但由于一方面在理论上没有最终解决汉语词这个语言单位的性质问题,另一方面也是更重要的方面是汉语词本身的特点造成困难,国家虽然已经出台了分词规范(“信息处理用现代汉语分词规范”,中国国家标准GB13715),但在实践中仍有相当多的分词歧义问题、未定义词问题等困扰着研究人员詹卫东 2000)。

    其次是语法分析,“同时也是自然语言处理核心部分的句法分析,情况则是更加不尽人意。就汉语的特点而言,句法分析的很大一部分工作实际上可以看作就是短语(词组)结构分析。当汉语信息处理迈入句处理(短语结构分析)阶段时,碰到的是比字处理和词处理阶段更多而且更大的困难”詹卫东 2000。短语结构分析上,国内研究机构作了很多工作,主要集中在短语结构规则研究詹卫东 2000、短语结构的捆绑和标记(周强 2004, 1996)等方面。在句法树研究方面,美国宾洲大学的汉语树库、东北大学的3000句汉语树库都是很有代表性的工作。但是,这些研究离实用的水平还有一段距离。

    另外,“越来越多的学者开始格语法、配价语法、语义指向分析、依存语法、GB理论、话语分析(DA)等新方法,进行汉语研究的尝试”詹卫东 2000,也有学者在进行“动词电子词典的扩充和名词槽关系”、“歧义切分与部分专有名词识别”(许嘉璐 2000)等方面的研究,这些研究,都在不同程度上,推进了汉语句子的分析。

    近年来,逻辑语义学在国内得到了较大的发展,代表性工作是陆汝占教授的内涵模型论。这里用内涵和外延来描述语言,“根据这一理论设计,句义分析的流程为:语句切分标注句法分析句法树同构的语义树逻辑公式模型解释”(许嘉璐 2000)。内涵逻辑主要在分词等方面取得了一些进展(陆汝占 2001,但还欠缺大规模的试验。

    在知识表示上,国内有代表性的是林杏光(1994)的《动词大词典》、北京大学的《现代汉语语法信息词典》俞士汶等 1998、董振东的知网等。

1.4 本书的内容安排

       本书内容共19章,除绪论和“HNC语言理解技术”总论外,分四部分。

第一部分将详细阐释HNC语句理解系统——句类分析系统的知识表示、处理策略以及分析算法。这部分是HNC语言理解技术发展比较成熟的,也是理解技术的基础和核心。

第二部分将对语句理解处理的若干特殊环节,进行详细的解析与说明,并给出句类分析系统中的解决方案。这部分是HNC语言理解技术的重点,也是难点。

第三部分介绍了HNC语言理解技术的应用,这些应用是分析系统发展的直接推动力,交互引擎的语境单元萃取技术就是在这种应用的催化下产生的。

第四部分简单给出了HNC语言理解技术近期规划和中长期规划,以及HNC技术的应用前景。

       为了帮助理解查阅,附录部分给出了HNC语言理解系统常用的表示式,以及分析系统涉及到的基本句类知识库和词语知识库格式。同时为了方便比较研究,附录中也给出了利用HNC的句类分析技术对传统的短语进行分析的结果。这些内容都是本书的有机补充。

      



[1]为了保证基本概念说明的准确性,本节将尽量引用HNC的创立者黄曾阳先生的经典论述。

[2]4层级的符号体系设计,是基于上述3项“无限与有限”的假设的,符号体系必然针对的是“有限”,但符号之间的组合可以构成“无限”的可能。

[3] 包括黄曾阳著《HNC(概念层次网络)理论》的“编者的话”。

[4] 图灵检验(Turing Test)的基本做法是,把安装了自然语言理解系统的计算机和一个正常人分别关在两个不同的屋子里,测试者并不知道哪个屋子里是计算机,哪个屋子里是人。测试者对两个屋子分别提问题,计算机和人同时回答问题,如果测试者根据回答的情况,无法判断哪个是计算机,哪个是人,则说明这台计算机理解了自然语言。

[5] 这种“自知之明”的能力,在机器翻译中显得尤为重要。假如一个机器翻译系统的翻译正确率是70%(实际上现有的翻译系统还远远达不到这个水平),也就是说,机器翻译的结果中有70%应该是正确的,30%是不正确的。这个70%是系统开发者经过某种测试得到的,但用户并不知道哪些属于正确的70%,哪些属于错误的30%。因此,用户对机器翻译的结果必须逐一检查校对。如果计算机具有了一定的“自知之明”能力,可以指示哪些结果的翻译可信度很高,用户不需要进一步处理,哪些结果的翻译可信度较低,需要用户进一步检查校对。如果说翻译可信度高的结果能达到40%,虽然与70%相差很远,但对用户来说,却是节省了40%的工作量。可见,从用户的可接受程度来说,带有可信度的结果更容易被用户所接受。

[6] 第二个例子中的“石头”只有在以下两种情况下,它和“发愁”一起构成反应句的可信度才可能提高。

1 和人挂钩,是人的外号或名字;

2 是拟人用法。

[7] 这时可以认为是对“图灵检验”的一种近似。因此,可以这样认为,图灵检验是交际引擎的检验标准,而理解度是交互引擎的检验标准,后者是对前者的功能近似。

[8]  实际上,从语用的角度来说,可能不同的顺序,主题不同,强调的重点不同。对于这些差别,我们暂列入计算机理解语言的“不为”之列。

上面论述中提到的“命题frog(Freda)”以及“有趣的问题”,类似于上文的“青蛙是两栖动物”的言外信息。