Algorithm 版 (精华区)

发信人: AA (积极的人生、美好的人生), 信区: Algorithm
标  题: 一种基于全信息词典的汉语义块组配方法(zz)
发信站: 哈工大紫丁香 (2002年05月23日10:24:32 星期四), 站内信件


一种基于全信息词典的汉语义块组配方法
摘要:  本文介绍一种基于全信息词典的汉语义块组配方法。它的创新之处主要有两点
:第一,创建并使用了“全信息词典”;第二,以“义块”为着眼点,用义块组配方法
代替了传统的以词为基本分析单位的汉语分析处理方法。“全信息词典”对所有的词语
都进行了语法信息、语义信息分类和语用信息描述,义块组配则是在此基础上依据组配
规则,完成词语序列到义块的语义聚合过程。这种快速而高效的处理方法,不仅能正确
反映语法结构,更能充分表达语义信息和体现语用信息,开辟了一条通向汉语语法语义
分析的新路。实验结果表明,该方法可以很好地解决部分歧义、多动词、同类词序列和
语法结构不唯一的现象, 向进一步的语义分析和语用分析甚至篇章理解迈开了坚实的一
大步。该方法已经成功地应用于国家863课题“面向特定领域的自动文摘系统的研究”实
验系统——面向神经网络学习算法领域的智能型文摘系统Ladies (Literature
关键词:全信息词典,义块组配,句法分析,语义分析
一 引言
汉语语法语义分析有着不同于英语分析的独特之处,主要表现在:汉语没有形态变化,
同形歧义现象很多。例如“行”、“长”、“曾”随着读音的变化,语义也有很大差别
,“学习”、“联想”、“训练”、“控制”、“应用”的词性歧义等等都是需要解决
的歧义现象;由于汉语的动词没有性、数、格、时态的形态变化,所以当有多个动词同
时存在于一个句子中时,需要确定那一个是谓语动词或称主动词;由于汉语没有定冠词
,所以当两个名词相邻时要判定它们是一个名词词组,还是两个不属于同一个语法功能
成分的名词;由于上面的原因,一个词类序列(语法形式)可以有多种语法合理的结构
,所以不能简单地用语法规则规约。本文介绍一种基于全信息词典的汉语义块组配方法
,可以很好地解决部分歧义、多动词、同类词序列和语法语义结构唯一的现象。该方法
已经用于我们课题组所承担的国家863课题“计算机通信网提供智能业务的关键技术研究
”之子课题“面向特定领域的自动文摘系统的研究”系统中。我们实现了一个面向神经
网络学习算法领域的智能型文摘系统 - Ladies (Literature Abstract-and-Digest In
formation Extract System) . 系统具有理解能力强、摘要准确度高、可信度高、一致
性好、自然度好、方法可以移植等优点。该系统从拿到一篇文章到生成它的摘要,大体
上经过了三个阶段:智能分词和语法语义类标注阶段,基于全信息词典的语法语义分析
阶段和文摘生成、润色阶段。其中的语法语义分析是连接分词结果与文摘生成的关键环
节,我们通过多次实验分析,设计出了这种义块组配的方法,开辟了一条通向汉语语法
语义分析的新路。实践结果证明这一方法是行之有效的。
二 全信息词典简介
汉语自然语言处理系统必须要有一个词典支持,Ladies自动文摘系统中实现了一个拥有
4万8千余条词项的全信息词典。所谓全信息就是词的语法信息、语义信息和语用信息的
总称,全信息词典把这三者有机地组织在一起,对词语进行了全方位的描述。这也就是
我们创建并使用全信息词典的原因所在。智能自动文摘系统是在理解原文的基础上进行
的,而要正确理解原文,必须综合利用词的语法、语义和语用信息。义块组配用到的是
语法语义分类信息,而分类信息和义块组配规则则是考虑了语用信息来制定的。目前,
语用信息主要是面向神经网络算法类文献作文摘来生成的。在此,我们先把词的语法语
义分类简要介绍一下。
我们采用语法分类和语义分类相结合的方法。上层按语法分类,下层按语义分类。按照
概念的抽象级别把词语放到不同的层次上,并允许结构中低层次的概念继承它们祖先的
特征。把不同概念共享的知识抽取出来,形成一个更抽象的概念,放到这些概念之上的
层次。同时主要针对神经网络算法类文章所包含的文摘信息,如算法名称、算法针对的
网络、算法的性能特点、仿真实验结果等等,以及相关的动词、副词、形容词、连词等
制订了一套分类标准。下面是有代表性的一些例子:
算法类名词(NALG)  如逆向传播算法、BP算法
算法类名词后缀(NAPO)  如算法、方法、方案
技术类名词(NTEC)       如待定系数、连接权
后缀名词(NPOS)  如性、型、化、率
提出类动词(VPUT)  如提出、给出、指出
应用领域类动词(VAPP)  如用于、适用于、应用于
描述类动词(VSCR)  如有、具有、是
实验评价类动词(VVER)  如表明、证实、证明、发现、验证
算法优点类形容词(JGOO)  如快、高、好、有效、强
程度类副词(ADVE)  如大大、很好、明显地
总结类连词(CONS)  如因此、为此、因而、所以
转折类连词(CONB)  如但、但是、否则
指物代词(POBJ)  如该、其、这种、它、这
另外,为了详细了解句子的语义,我们把有用的标点也作了标记,如:
逗号“,(中文)”、“,(英文)”(BCOM)
句号“。(中文)”、“.(英文)”(BPER)
全信息词典中对所有词的语法语义类别都作了标注,义块组配就是在这些标注的基础上
进行的。
三 义块的概念和分类
义块类似于语法上讲的短语,可以是一些词的组合,也可以是一个词。但它与短语的不
同之处在于,短语是通过语法关系来界定的,而义块则主要是通过词与词之间的语义关
系来界定的,当然它也要满足一定的语法关系。每个义块语义上相对完整,在句中充当
一个语法角色,各个义块之间既有语法约束关系,也存在语义呼应关系。
义块的语义特征是多方面的,包括语法——语义特征,内在的语义特征,谓语性语义特
征,状语性语义特征,感受性语义特征等。语法——语义特征是在表层结构中用“语法
”表示出来的语义特征,如义块的人称、时态、否定与肯定等特征。内在的语义特征则
是直接反映客观事物本质的,是凭经验或对客观事物本质的了解而分析出来的语义特征
。在分析义块的内在语义特征时,如果分析的角度和侧重点不同,那么分解出来的语义
特征也就不同。如果有针对性地分析,就不能脱离开这个义块所在的语言环境或上下文
,而且要把握好程度,适可而止。谓语性语义特征包括原因、作用、目的、影响等,是
与某种动作有关的。状语性语义特征不单是与某一个动词义块有关,而且与整个句子,
甚至一个语段也有联系,包括地点、时间、方式、程度——范围和原因。感受性语义特
征指带有主观色彩的、个别的和表示内涵的语义特征,如说话者对客观事物所做的主观
判断。“语义含混”是所有感受性语义特征的共同特点之一。在这个系统里,我们主要
是从神经网络算法类文章的角度出发来研究语义特征。我们的分析主要侧重于语法——
语义特征、内在的语义特征、谓语性语义特征和状语性语义特征,对于感受性语义特征
也有涉及,都是通过语法语义分类和组配规则来实现的。
由于一个义块不管结构多么复杂,它在句中的作用跟一个词相当,而且我们对于词的语
法、语义分类本身就是考虑到摘要信息的提取来制定的,所以我们采用的义块分类是从
词的语法语义分类中抽取继承的。我们的命名和分类中着重包含语法——语义特征和内
在的语义特征信息,比如名词性义块中更细分为算法类名词义块、网络模型类名词义块
、技术类名词义块等等。而谓语性语义特征、状语性语义特征和感受性语义特征则主要
体现在组配规则中。
四 义块组配规则
   4.1 提出义块组配的必要性
在西方语言里,词有形态变化,语法语义关系主要靠词的形态变化来表示,因此词就是
天然的、最基本的句法单位。汉语的情况就大不相同,汉语的词没有形态变化,语法语
义关系主要靠大小语言单位结合的次序和层次来表示,一个句子成分更常见的不是一个
词,而是一些词的组合,所以汉语不必把词作为基本的语法语义单位,而应该把义块作
为语法语义分析的着眼点。下面是一个Ladies系统分词标注后的例子:
本文NSUG0研究VDIS20基于NOTH0规则基NTEC0(BYZU0包括VOTH0模糊NTEC0规则NTEC0)BYY
O0的ZOTH0神经网络NNET0控制VOTH0,BCOM0提出VPUT1了ZOTH0评价VOTH0前NOTH0一UOTH
0时刻NOTH0控制量NTEC0的ZOTH0控制效果NRES0的ZOTH0评价函数NTEC0,BCOM0然后AOTH
0据VOTH0该POBJ0函数NTEC0确定VOTH0控制器NTEC0是否VOTH0需VOTH0从ROTH0在线NTEC0
运行数据NTEC0进行VOTH0学习NTEC 0以及CONP0学习NTEC 0的ZOTH0方向NOTH0和CONP0强
度NOTH0,BCOM0从而CONS0实现VSOL14自组织NTEC0控制规则NTEC0,BCOM0有VSCR18较强
ADVE0自学习能力NTEC0,BCOM0能VOTH0很AOTH0好的JOTH 0适应VAPP0于ROTH0参数NTEC0
未知VOTH0或COTH0具有VSCR18弱JBAD0非线性NTEC0、BCUT0弱JBAD0时变系统NSYS0的ZOT
H0控制NOTH0。BPER0
可以看出,待处理文本被分成了一连串词的序列,每一个词的语法语义分类和所对应的
语用规则号都做上了标记,成为初步可识别的文本。但是,科技文献类的文章通常都是
由很长的复合句构成的,词与词之间的关系并非是简单的修饰与被修饰、说明与被说明
,可能形成多层嵌套的复杂关系,具体关系的确定需要从全句出发;而且,复合句中的
动词有多个,有的是动词活用做名词,有的是小单句或小短语的谓语,到底那一个才是
我们所需要的,一时也很难判定。为了准确、迅速、方便地提取文章中所含有的摘要信
息,有必要对这样的文本进行再加工,进一步明确句子的结构,从义块的层次上来标记
句子。
4.2 义块组配规则
    义块组配规则是一套完整的分析规则。在词的语法语义分类基础上,义块组配规则
对句子进行分析组配,最终将句子切分成具有语法功能的义块。传统分析方法多是在词
的层面上对句子的语法结构进行详尽的分析,非常烦琐,也不实用。我们试图寻找一种
快速而有效的分析方法,不仅能反映语法结构,更能表示语义信息。我们的规则中既有
普适规则,也有特殊规则。普适规则不受领域限制,对汉语是普遍适用的,如副词修饰
形容词、助词粘附于动词、常用搭配等等。特殊规则是专门针对神经网络算法类文章作
文摘而制订的,如兼类词规则、后缀名词规则、“的”字规则等等。形式化后的规则总
数可达120多条,由于篇幅限制,不能一一说明,下一节我们会通过几条有代表性的规则
看到具体内容。
   4.3 义块规则的具体制订
(1) 常用搭配是普适规则的一种,可以实现时间、处所、方位、目的、对象等状语义
块的组配。汉语在使用常用搭配上是重复频率比较高的。例如,在需要时间状语的时候
,作者通常使用的都是“在……时”或者“当……时”之类的词语搭配。我们的规则就
是把句子中类似的搭配都合并起来,作为一个状语义块存在,使句子的语法语义更加清
晰。这样做还可以把一些难以处理的语言现象,如多个动词、词的兼类等在一个更高的
层次上屏蔽掉。让我们看下面的例子:
在ROTH0我们NSUG0对ROTH0BP算法NALG0的ZOTH0初步JOTH0研究VDIS20时NOTH0,BCOM0采
用VWAY11的ZOTH0就是VSCR18将VOTH0单一NOTH0的ZOTH0相对NTEC0形式NOTH0误差函数NT
EC0作为VOTH0BP算法NALG0的ZOTH0误差NOTH0公式NOTH0,BCOM0计算机NTEC0仿真NRES0的
ZOTH0实践NOTH0也AOTH0证实VVER9了ZOTH0这一POBJ0点NOTH0。BPER0
组配结果为:
在我们对BP算法的初步研究时AOTH0,BCOM0采用的就是NOTH0将VOTH0单一的相对形式误
差函数NTEC0作为VOTH0BP算法的误差公式NOTH0,BCOM0计算机仿真的实践NOTH0也证实了
VVER9这一点NOTH0。BPER0
可见,由于“在……时”组配规则的应用,动词“研究”不会对后续分析形成干扰,其
动词活用做名词的兼类现象也处理了。我们在研究中还发现,通常这种常用搭配都是出
现在复杂句的一个小分句内部,跨越多个分句的情况很少,所以我们将搜索常用搭配的
范围都限制在一个小分句内部。这样做的损失,比起在一个复杂句的多个分句中搜索常
用搭配所造成的滑稽性错误来,还是要小得多的。
(2) 后缀类名词的组配是一类特殊规则。由于科技文献中出现的专业领域词汇较多,
我们不可能一一都添加到词库中去,但是这些领域词汇又都是我们所需要的文摘信息。
为了解决这一难题,我们研究了大量科技文献,发现很多领域词汇都属于合成词,多数
为表征技术的名词与一个范畴类名词的合成。所以,我们设计了与文摘信息对应的多种
后缀类名词,例如:算法类后缀名词、网络类后缀名词、问题类后缀名词等等。相应的
,我们也设计了技术类名词。有的后缀类名词与其前面的技术类名词和其它名词都可以
合成专业词汇,有的则只能与其前面的技术类名词合成,与其它名词就不能合成。例如
,文中的算法名称很少有作为一个词出现的,一定是作为一个义块存在。为了将它作为
一个整体分析出来,我们制定了相关的算法类后缀名词组配规则,该规则与相关规则联
合作用,对类似“算法/方法”这类后缀义块和技术类名词义块敏感,可以把算法名称分
析出来。下面是一个例子:
    本文NSUG0提出VPUT1了ZOTH0一UOTH0种QOTH0学习NTEC0模糊分类NTEC0规则NTEC0的
ZOTH0方法NAPO0--BBRO0有导师NTEC0共振NTEC0竞争NOTH0学习方法NAPO 0(BYZU0SRCL
)BYYO0.BPER0
组配后的结果为:
本文NSUG0提出了VPUT1一种学习模糊分类规则的方法--有导师共振竞争学习方法NALG
0.BPER0
句中的“方法”和“学习方法”皆为算法类后缀名词,“方法”前有“模糊分类”、“
规则”,“学习方法”前有“有导师”、“共振”,它们都是技术类名词,所以都可以
合成算法名词性义块,再应用破折号规则,就可以把二者合并为一体。值得注意的另一
种情况是后缀类名词作为名词单独使用,此时仍然可以通过其它规则将它们合成名词义
块,只是合成后的义块并没有任何技术含义,所以还标记为后缀类名词,以便和有技术
含义的名词义块区分开来。举例来说,我们要提取“算法名称”信息,但有这样一句候
选句:
    该算法NAPO0具有VSCR18如下特点NGOO0:……。
显然该句的主语应当是一个算法名称,但事实上却只是承接上文的一个指代,并不是我
们所期望的一个带有技术含义的算法名称。我们在组配时对于义块“该算法”所做的语
法语义类标记仍然是“算法类后缀名词”,这就意味着该义块不是所需的算法名称,真
正的算法名称应当在其他候选句中。
(3)“的”字规则也是一类特殊规则。汉语中“的”字属于结构助词,使用非常频繁。
它粘附性强,可以粘附于词、短语和句子。“的”的词义已经虚化,只表示语法意义,
不表示词汇意义,而且结合面宽,具有句法功能,使用起来也非常灵活,有时还可以省
略不用。“的”构成的“的”字短语修饰名词或代替名词。它具有使谓词性成分体词化
的功能。在科技文献的复杂句中由于修饰、限制关系而存在的“的”字更是普遍,因而
成为分析句子不可缺少的重要环节。我们通过对大量句子的研究,制定了有关“的”字
的一套规则,用算法语言描述如下:
定义:sentence :: 当前处理的一句话
      length :: 该句中当前的义块数
      word(n) :: 第n个义块,可以为词
      word(n)->character :: 第n个义块的汉字
      word(n)->type :: 第n个义块的语法语义类别
      word(n)->number :: 第n个义块的语用规则号
      length ::= SUM( sentence )
      sentence(length) ::= word(1)| word(2)|……| word(n)|……| word(length)

      word(n) ::= [character、type、number]
      word(n)->character ::={汉字串}
      word(n)->type ::=****.OR.{名词,动词,标点,算法类后缀名词,……}
      word(n)->number ::={0,1,2,3...}
      * ::= {A,B,C...Z}
      BEGIN
      GET(sentence(length));
      LOOP(INT pos FROM length TO 1)
      {
          IF((word(pos)->character) .NOTEQUAL.(“的”))
          {pos=pos-1;
           CONTINUE;}
          ELSE
          {   IF((word(pos+1)->type).EQUAL.(标点))
                 { APPEND(word(pos-1)-> character)WITH(“的”);
                  REWRITE(word(pos-1)-> type) WITH (JOTH);
                  REWRITE (word(pos-1)-> number) WITH (0);
                  length=length-1;
                  pos=pos-2;
                  CONTINUE;}
              IF((word(pos+1)->type).EQUAL.(动词))
                 { REWRITE (word(pos+1)->type) WITH (NOTH);
                  REWRITE (word(pos+1)->number)= WITH(0);}
              IF((word(pos-1)->type).EQUAL.(动词))
                 { APPEND (word(pos-1)-> character)
                  WITH (“的”, word(pos+1)-> character);
                  REWRITE (word(pos-1)-> type) WITH (word(pos+1)-> type);
                  REWRITE( word(pos-1)-> number) WITH( word(pos+1)-> number)
;
                  length=length-2;
                  pos=pos-2;
                  CONTINUE;}
              ELSE
                 {FIND(word(stop),sentence(pos-1))
                    AS
                    (word(stop)-> character) .EQUAL.(“的”.OR.“了”) .OR.
                    (word(stop)-> type) .EQUAL.(标点.OR.动词)
                  APPEND( word(stop+1)-> character)
                  WITH (word(stop+2)-> character ,...,“的”, word(pos+1)->
character);
                  FLAG= (NTEC) AMONG (word(stop+2)-> type ,..., word(pos-1)-
>type));
                  IF((word(pos+1)->type) .EQUAL.(NOTH))
                  {IF((FLAG).EQUAL.(TRUE))
                    { REWRITE(word(stop+1)-> type)WITH(NTEC);
                     REWRITE (word(stop+1)-> number) WITH (0);}
                   ELSE
                   { REWRITE( word(stop+1)-> type) WITH( word(pos+1)-> type)
;
                    REWRITE (word(stop+1)-> number) WITH word(pos+1)-> numbe
r;}}
                  IF((word(pos+1)->type) .EQUAL.(NAPO.OR.NNPO))
                  {IF((FLAG).EQUAL.(TRUE))
                    { REWRITE (word(stop+1)-> type) WITH(对应的语义类名词);
                     REWRITE (word(stop+1)-> number) WITH(0);}
                   ELSE
                  { REWRITE (word(stop+1)-> type) WITH( word(pos+1)-> type);

                   REWRITE( word(stop+1)-> number) WITH( word(pos+1)-> numbe
r);}}
                  IF((word(pos+1)->type) .EQUAL.(其它后缀名词)
                  { REWRITE (word(stop+1)-> type) WITH(对应的语义类名词);
                   REWRITE (word(stop+1)-> number) WITH( 0);}
                  ELSE
                  { REWRITE( word(stop+1)-> type) WITH (word(pos+1)-> type);

                   REWRITE (word(stop+1)-> number) WITH (word(pos+1)-> numbe
r);}
                  length=length-(pos-stop);
                  pos=stop-1; }
          }
PUT(sentence(length));
END
    使用“的”字规则不仅会使句子语法语义结构骤然清晰,而且对于解决多个动词、
兼类现象等问题也是很有效的。例如:
    充分AOTH0利用VWAY11了ZOTH0专家NOTH0给出VPUT1的ZOTH0样本NTEC0分类信息NTEC
0,BCOM0使VOTH0学到VOTH0的ZOTH0模糊分类NTEC0规则NTEC0更加AOTH0合理JOTH0。BPE
R0
组配结果为:
    充分利用了VWAY11专家给出的样本分类信息NTEC0,BCOM0使VOTH0学到的模糊分类规
则NTEC0更加合理JOTH0。BPER0
可见,此时的句子意义已经非常清楚。而且,“给出”、“学到”这两个限制性动词也
不再会对主动词“利用”、“使”形成干扰了。
   4.4 组配结果分析
    综上可见,组配结果具有以下优点:
>对分词错误的部分兼容性。无论采用那种分词方法,总会存在一些固有的分词错误,义
块组配可以屏蔽掉一些。
        >处理部分兼类词现象。利用义块组配规则分析兼类词的语法、语义和语用约束,
可以
解决一些兼类词现象。
        >方便文摘信息的分析提取。历来进行句法语义分析都是件令人头疼的事,往往容
易走
入死角。经过组配后的句子结构清晰了许多,让人可以跳出繁杂的词与词之间的关系,
站在义块的高度来看句子。
对于存在问题的分析:
>作者用字错误。作者在文中也存在不符合汉语用字规范的错误,最典型的是“的”字、
“地”字不分,该用“地”字的地方都用“的”字。我们的规则是严格按照汉语规范制
定的,尤其对于“的”字规则,正确使用是正确组配的前提,所以也存在这方面的问题
,该问题的解决需要进一步规范汉字的用法。
>分词错误。并不是所有的错误我们都能屏蔽的。
>词的兼类现象。这是汉语最复杂的地方。词的兼类是多种多样的,我们目前还没有完全
解决。今后,我们会探索更多的方法来解决这个问题。
五 结束语
本文介绍了一种基于全信息词典的义块组配方法及其实现,全信息词典对词语进行了语
法语义分类,义块组配则是在此基础上完成词语序列到义块的语义聚合过程。从实验结
果可以看出,它已经向进一步的语义分析和语用分析,甚至篇章理解迈开了坚实的一大
步。今后的研究一方面是继续完善组配规则,另一方面是深入研究更深层次的语义和语
用分析方法。
参考文献
1,伍谦光,语义学导论。湖南教育出版社,1995
2,房玉清,实用汉语语法。北京语言学院出版社,1996
3,吴蔚天,汉语计算语义学。电子工业出版社,1999.1
4,杨晓兰,钟义信,基于全信息字典的自动文摘系统实现与研究,情报学报,1997.12
  
--
                人世间的事谁也无法掌握
                  该执著的  永不怨悔
                  改舍去的  不在牵挂
                  改珍惜的  好好把握

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: NLPCenter.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:204.730毫秒