现代汉语语素库的开发及应用,本文主要内容关键词为:语素论文,现代汉语论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1.引言
为研究中文文本信息处理中无可避免的未登录词(既包括机器词典中没有的词,也包括虽有该词但还未确定其合适的词性)的识别问题,为研究现代汉语复合词的构造规律问题,北京大学计算语言学研究所针对中国国家标准GB2312—80所包含的全部汉字,开发了一个单音节的语素库。这项工作是《现代汉语语法信息词典》的补充。自1986年以来,北京大学计算语言所和中文系合作,历时十余载,于1995年底研制出了《现代汉语语法信息词典》,其规格说明书全文发表在1996年第2 期《中文信息学报》[1]上。更详细介绍这部词典的专著《现代汉语语法信息词典详解》[2]于1998年4月由清华大学出版社出版。自1996以来,已有中国大陆境内外的10多个单位从北京大学计算语言所取得了该成果的许可使用权。《现代汉语语法信息词典》已在汉语信息处理领域发挥了重要的作用。近两年来,相关的基础研究与应用研究都在继续进行。现代汉语语素库是这些研究的一个有机组成部分。笔者相信,同《现代汉语语法信息词典》一样,语素库也是汉语信息处理领域的一个可用的基础资源。
语素库现有6671个记录,登录的都是不成词的语素。同《现代汉语语法信息词典》关于语素和非语素字的属性描述相比较,现在语素库中每个记录所包含的语法、语义信息要丰富得多。本文将介绍这个语素库的主要内容及其应用。这个语素库同《现代汉语语法信息词典》集成的“现代汉语字词语法知识库”是作者一直期望建立的现代汉语综合语言知识库[3][4]的最基本的和最重要的组成部分。
2.作为数据库登录项的语素的确立原则
汉语语素[5] 按所含的音节数可划分为单音节语素和多音节语素。由于汉字是单音节的,所以单音节语素用一个汉字(单音节的儿化音仍算一个音节,用两个汉字表记,这是例外)表示,多音节语素用多个汉字表示。汉语语素按其自身能否构成词可划分为成词语素和不成词语素。不论语素是单音节的还是多音节的,只要是由一个语素组成的词都是单纯词。多音节的语素一定能成词,如:“荸荠”、“鹦鹉”、“蜈蚣”、“哈尔滨”、“呼和浩特”等是单纯词;单音节的“人”、“书”、“梳”、“爱”、“美”、“清”也是单纯词。既然是词,它们都属于《现代汉语语法信息词典》收录的范围,语素库不再收。这里只阐述不成词的单音节语素作为语素库的登录项(entries)是如何确立的。
一个汉字可以代表若干个语素。前面说“梳”是单纯词,实际上仅指动作的“梳”(如:“梳头”、“梳棉”中的“梳”),而指物的“梳”就是一个不成词的语素,因为人们只说“用梳子或木梳或牛角梳梳头”而不说“用梳梳头”。同样,说“书”是单纯词,也是仅指“读书”、“书籍”的“书”。“书”还有另一个意思(以下使用语言学术语“义项”代替平常说话中的“意思”),指“书写”,代表另一个语素,也不是单纯词,通常只用于构成合成词。像“木梳”中的“梳”和“书写”中的“书”这样的语素就作为语素库的一个登录项。因此,确立语素库登录项的第一件事,就是要把用一个字表记的若干语素区分开。如果某个语素是单纯词,则划归语法信息词典;如果不是单纯词,则登录到语素库。使用“语素登录项”这个术语指称作为语素库中的登录项的语素,就不会同语言学意义上的“语素”相混淆。不过,为了省略,有时也用“语素”或“登录项”代替“语素登录项”。相信在一定的上下文中,读者不难理解“语素”的确切所指。典型的单纯词和语素登录项的例子是容易举出来的。如:在“人民”、“洗涤”和“美丽”等复合词中,尽管“人”与“民”、“洗”与“涤”、“美”与“丽”意思相同或相近,但“人”、“洗”与“美”是词,分别是名词、动词和形容词,而“民”、“涤”与“丽”是语素,分别是名语素、动语素和形容语素。“笛”是语素登录项,它在现代汉语中很少单独使用,通常只说“笛子”、“吹笛子”、“笛膜”、“羌笛”,同是民族管乐器的“笙”和“箫”是词。但汉语中有一部分语素登录项和单纯词的界限是模糊的。“柿”、“李”是语素,通常不单独说“柿”、“李”,只说“柿子”、“柿树”、“柿饼”、“吃柿子”、“李子”。至于同是水果的“桃”、“杏”是语素登录项还是单纯词就不是那么清晰了,北方人说“桃儿”、“杏儿”;南方人说“桃子”、“杏子”。如果说“吃桃”、“吃杏”,北方人和南方人也能接受。如果算作词,则分到词典,要描述的语法属性信息多一些。如果对生僻的字及其义项,不易把握那些要描述的语法属性信息,不妨暂时先算作语素。由于语素库和语法词典最终是要集成到一起使用的,以后还有机会调整。
同一个汉字可分化为若干个语素。同字不同音的自然是不同的语素,例如“朝”有两个音:“chao2”、“zhao1”(附在拼音字母后的数字表示声调),“朝”至少要区分为两个语素。对于字同音也同的情况,则与《现代汉语语法信息词典》中词的收录原则相同,仍遵循语法功能和义项相结合的原则[2]区分语素。 由于语素登录项通常不独立使用,其语法功能的含义需重新考虑。笔者主要是看它在合成词中的作用,如读“du4”的“杜”在“杜树”中,是树的名称,起名词性作用; “杜”在“杜绝”、“杜门谢客”等词语中是“阻塞”义,起动词性作用。语素在复合词中的作用可用“替换法”进行检测。之所以说“杜”在“杜树”中起名词性作用,是因为“杜”可用“茶”替换,得到的“茶树”与“杜树”都是树,属于同一语义范畴,“茶”是名词,故可推断“杜”起名词性作用。又之所以说“杜”在“杜绝”、“杜门谢客”等词语中起动词性作用,是因为“杜绝”中的“杜”可用“断”替换,“杜门谢客”中的“杜”可用“闭”替换,词义基本不变,而“断”和“闭”都是动词,故可推断“杜”起动词性作用。《现代汉语词典》[6]中这两个“杜”是列为两个不同条目(在汉字右上角标数字表示,本文将该数字直接置于汉字之后)的,容易决定。因“现代汉语语法信息词典”已规定了语素登录项的代码是“g”, 语素库对语素登录项的语法功能分类是在此基础上进一步作子类的划分,此后起名词性作用的就叫“名语素”,“类别”字段填“Ng”;起动词性作用的就叫“动语素”,“类别”字段填“Vg”,如此等等。《现代汉语词典》处理为不同条目的同音字也可能属于同一语素子类,如读“wang3 ”的“罔”在《现代汉语词典》中有两个条目,一是“蒙蔽”义,如“欺罔”;另一条目是“没有”义,如“置若罔闻”。这两个语素登录项都应划为动语素。为了区分它们,也仿照《现代汉语语法信息词典》的办法,语素库设立“同形”字段。在语素库中有两个记录登录“罔”,在“同形”字段分别填“A”,“B”。同样,“同形”字段也会出现“1”,“2”等代码,那是为了区分同字同音同子类不同义项的语素登录项。同一个字的(处于同一条目中的)不同义项也可能分属不同的语素子类, 如读“gu4”的“固1”,在该条目下,有“结实、坚硬、坚定”义,如“稳固、 加固、本固枝荣”,是形容语素;有“使坚固”义,如“固本、固防”,是动语素;又可作为“姓”,再列一个名语素。并非所有不同的义项都要区分为不同的语素。如:读“zhao1”的“朝”有2个义项:①早晨;②日,天。但对这个“朝”,语素库中只收录了一个时间语素Tg。如此决定取舍主要是语法功能的因素起作用,因为这两个义项虽有所区别,但语法功能一样,意义又相近,故只作为一个语素登录项收入。
在确立语素登录项时,需要注意到现代汉语与古文有区别。“民”在现代汉语中是语素,但在古文中却是可以单独成词的,“民以食为天”。在《现代汉语语法信息词典》中,对单字词的选取掌握得比较严,需要考虑哪些是常用的。在语素库中,对一个字可能区分为几个语素,则考虑得比较周全,基本上未采用高频原则加以筛选。有些字或语素即便现在已不常用,也不加以排斥。如,“豆”作为植物或种子(即“豆子”)自然是常用的字和语素,但《现代汉语词典》另有一个同形的条目“豆”,指一种古代器皿,这个“豆”现在极少使用了,语素库仍将它作为一个语素收录。这样,只要将单字词同语素库集中到一起,就可以得到一个由GB2312中的汉字表记的单字词和语素的相当完备的集合。这是汉语字词语法知识库的第一层基石。
在构造语素库时,并非对《现代汉语词典》中所列的条目或义项一概不作删并或补充,有一些义项实在不常用,也舍去了。例如,同“乌2”的“恶”(读“wul”,义为“何,哪里”,就没有选为登录项。又如读“jiang1”的“将”,有一个义项,指“牲畜繁殖”,“将羔”是其用例。但这是某种方言的用法,普通话里没有这种用法。所以,语素库未把这个语素作为登录项。
现在的语素库还收录了非语素字。在现代汉语中,“荸荠”、“鹦鹉”是语素,“荸”、“荠”、“鹦”、“鹉”都不是语素,是非语素字。虽然非语素字在文本中单独出现的机会极少,但不是绝对不会单独出现。如:“单独一个鹦鹉的鹉字有意义吗?”只能切分为“单独/一个/鹦鹉/的/鹉/字/有/意义/吗”又如通常认为“鹦鹉”是语素,“鹦”和“鹉”只是非语素字。不过,“鹦”也可用来构成“鹦哥”和“鹦哥绿”,因此,语素字和非语素字的界限也不是绝对的。这里确定“荸荠”、“鹦鹉”、“蜈蚣”为语素,而不是复合词,依据的是《现代汉语词典》的释义。
3.语素库各个属性字段的含义
现在语素库共有6671个记录。每个记录有如下字段:
汉字:不同的汉字一定是不同的记录。
读音:即汉字的汉语拼音。用1,2,3,4表示声调,用5 表示轻声。同一汉字有不同的音,要分成不同的记录。
类别:《现代汉语语法信息词典》已规定了语素字的代码是“g ”,非语素字的代码是“x”。语素除填“g”外,还在“g ”的前面加一个大写字母,表示语素的子类。名语素填“Ng”,时间语素填“Tg”,动词素填“Vg”,形容语素填“Ag”,副语素填“Dg”,如此等等。
同形:这个字段的含义与《现代汉语语法信息词典》的含义是一样的。
组合:例举该汉字同其他汉字组合的词。如“妊”同“娠”组合成“妊娠”,此字段填“一娠”(数据库中用符号—代替该汉字,以避免重复)。又如“狈”同“狼”组合成“狼狈”,此字段填“狼—”。
位置:指该汉字在组合中的位置。恒前置的填“前”,如,“妊”的此字段填“前”,因由此字组成的词只有“妊娠”、“妊妇”。恒后置的填“后”,如“狈”的此字段填“后”。位置不定的不填。
姓:对只做汉族人(或取名习惯与汉族相同的外族人)的姓而无其他用处的汉字,填“1”,该汉字的语素子类填“Ng”,如“郝”, 读“na1”的“那”。可兼做姓的,填“2”,如“文”(名语素)。“启”是动语素。“启”也可做姓,另设子类为“Ng”的一个记录,此字段填“2”。
人名:如读“li3”的“蠡”(春秋时人范蠡的名), 此字段填“1”。
地名:如“郸”(河南郸城)及“蠡”(河北蠡县)填“1”。 通常只用于地名的字,也填“1”,如读“pu4”的“堡”。
水名:如“漳”(山西的漳河及福建的漳江),此字段填“1”。
书面:现代汉语口语中已不常用但在书面语中有时还用的字,《现代汉语词典》中一般注了〈书〉,如读“ren3”、义为“软弱”的“荏”(色厉内荏),此字段填“1”。
方古:像“揞”(读“an3”, 义为“在伤口上敷药面儿”)只在方言中使用的,此字段填“1”;像“嗌”(读“yi4”,义为“咽喉”)只在古文中使用,此字段填“2”。又如“安”有一个义项, 在古文中起表示“何”、“怎么”等义的疑问代词作用,此字段也填“2”。
义项:简单释义。如对于“方古”说明中的“安”,此字段填了“疑问代词”。
备注:用于举例或作其他说明。如对于“方古”说明中的“安”,此字段填了“而今—在?/—能逃脱?”。
4.语素库的应用
本语素库已初步建成,并与《现代汉语语法信息词典》集成为一个统一的“现代汉语字词语法知识库”[9]。 在汉语信息处理及语法研究中,笔者以为“现代汉语字词语法知识库”(包括本语素库)可以发挥很重要的作用,已有论著介绍《现代汉语语法信息词典》的应用[2], 本文只探讨同语素库密切相关的一些潜在的应用。
4.1 填补《现代汉语语法信息词典》空缺的知识
到目前为止,《现代汉语语法信息词典》以覆盖通用文本为目标,以常用的词语作为主要收录对象。词典中词语总数已达5 万多(很快会扩充到6万多),其中单汉字的词语约有3000 多个。 而国家标准GB —2312字符集包含6763个汉字,也就是说,当计算机系统需要处理作为语言成分出现的而又不属于这3000多个记录的单汉字(一般的词语切分软件对不作为多字词的成分的汉字,首先要把它们单独切分出来)时,往往束手无策。尽管这些单汉字出现的概率很小,也需要认真对待。否则,自然语言处理系统能力的提高就会受到限制。语素库的建造就是为了填补《现代汉语语法信息词典》空缺的知识。
例如,当文章谈论花、鸟、虫、鱼时,会出现一些罕用的字,像“梓树、楸树、菸草、鹣鹣、蛲虫、螨虫、鲷鱼、鲶鱼、鳜鱼”中的“梓、楸、菸、鹣、蛲、螨、鲷、鲶、鳜”,普通人也许不认识,不知道它们的读音,但一般也不妨碍阅读。有了语素库,计算机程序可以查到这些字都是名语素。它们后接的字“树、草、虫、鱼”都是单字的名词。通常名语素后接单音节的名词构成复合名词。因此。计算机程序能判断“梓树、楸树、菸草、鹣鹣、蛲虫、螨虫、鲷鱼、鲶鱼、鳜鱼”都是名词,句法分析可以继续进行。若语素库再增加一些语义分类信息,将这些名词再分别加上诸如“植物”、“鸟类”、“虫类”、“鱼类”等语义代码,语义分析也有了可用的资源。
语素还可以升级使用。“胸”是语素登录项,类别为Ng,即名语素。当分析“胸有百万雄兵”时,经词语切分和词性标注后,得到如下结果:
胸/Ng 有/v 百万/m 雄兵/n
这里有一个孤立的“Ng”,给分析带来困难。若将“Ng”提升为“n”,该结构就是一个很普通的很规范的主谓结构。 是否可以直接在词典中登录“胸”为“n”呢?当然可以。不过,从语言学的角度看, “胸”通常不单用,是不成词语素。将“胸”作为名语素登录,使得应用于信息处理的语言学知识更具系统性和规范性。当在文本中出现“胸/Ng 前/f”、“胸/Ng 中/f”、“胸/Ng 部/k ”等组合时(这里,f代表方位词,k代表后接成分),在词法分析阶段就可以很容易将这些组合处理为“胸前/s”、“胸中/s”、“胸部/n”(这里,s代表处所词),词典中可以不收这些词,减少了词典的冗余量。
4.2专有名词的识别
专有名词在未登录词中所占的比重很高。由于语素库设立了“姓”、“人名”、“地名”、“水名”等字段,这就为相当多的一部分专有名词的识别提供了重要线索。当分析如下已经切分并标注了词性的句子时:
昨天/t 我/r 遇到/v 了/u 袁/Ng 先生/n。/w
漳/Ng 江/n 是/v 福建/n 的/u 一/m 条/q 河流/n。 /w
两个句子都有“Ng”,计算机分析程序会感到棘手。如果查语素库,能查到“袁”的“姓”这个字段的值是“1”,即该字只能做姓, “袁/Ng 先生/n”不难处理为指人的专有名词(或词组)。 从语素库还能查到“漳”的“水名”这个字段的值是“1”,那么, 把“漳江”处理为河流的名字也有章可循了。
4.3 降低自动切分的难度
语素库中的“位置”字段对降低自动切分的难度有明显的作用。若一个汉字在组合中的位置恒为“前”,则其左侧必定切分;若一个汉字在组合中的位置恒为“后”,则其右侧必定切分。有了如此确定的知识,可以先将长句子切分为较短的片段,从而降低自动切分程序的复杂度。
4.4切分歧义的发现
将语素库和语法信息词典集成为“现代汉语字词语法知识库”时,要做的一件工作是以所有记录的“字词”登录项中的每个汉字为中心形成一张轮排表[9]。其特点如下:
(a)在轮排表中,单汉字的记录只占据1个位置;有2 个汉字的就占2个位置,如下例中的“学会”既排在“学”之下, 又排在“会”之下;有3个汉字的记录则要排3次;有4个汉字的则排4次。轮排表中的记录总数为n1+n2*2+n3*3+n4*4,其中,n1,n2,n3,n4分别为一字词,二字词,三字词,四字词的记录的个数。
(b)同形(即有同一个内部码)的汉字相对地集中在一起。 如不同读音的“好”,不同类别的“杜”、“好”、“会”,读音和类别相同但属于不同字项的“会”(用“同形”字段中的A,B表示)都相对集中排在一起。
(c)包含同一个汉字的多字词集中排在该汉字之下, 不论该汉字出现在多字词的什么位置。如下例中“杜绝”、“杜门谢客”、“杜撰”、“防微杜渐”都排在动语素“杜”之下。
(d )当一个汉字区分为不同的登录项(单字词或语素或非语素字)时,对多字词中的该汉字进行辨识,使各个多字词按照读音、词类、义项确切地排在相应的汉字登录项之下。如名词“学会”排在名词“会”之下,“聚会”排在同形为“A”的动词“会”之下, 而“能说会道”排在同形为“B”的动词“会”之下。
(e)对每一个汉字登录项或多字词, 都要能准确找到它们在语素库或现代汉语语法信息词典中的位置,“字词”+“类别”+“同形”也是语素库或现代汉语语法信息词典的主关键字。以下是轮排表的示例(表示该记录中的单汉字是轮排表的索引字):
字词类别 同形 读音
杜 Ng du4
杜衡 n du4heng2
杜鹃 n du4juan1
杜仲 n du4zhong4
杜 Vg du4
杜绝 v du4jue2
杜门谢客 i du4men2xie4ke4
杜撰 v du4zhuan4
防微杜渐 i fang2wei3du4jian4
好 a hao3
安好
a al1hao3
刚好
d gang1hao3
好汉 n hao3han4
好转 v hao3zhuan3
好 d hao3
好不 d hao3bu3
好像 v hao3xiang4
好
v hao4
爱好
v ai4hao4
好奇 v hao4qi2
嗜好
n shi4hao4
洁身自好
i jie2shen1zi4hao4
会 n hui4
会议 n hui4yi4
学会
n xue2hui4
会 v A
hui4
会合 v hui4he2
聚会
v ju4hui4
会 v B
hui4
能说会道 v neng2shuo4hui4dao4
学 v xue2
学会 n xhe2hui4
显然,有了这样的轮排表,发现词语切分中的交集型歧义和组合型歧义[7]就有了线索。
4.5关于复合词构造规律的研究
有了轮排表,很容易得到对各个汉字的构词能力的全面知识。由于“语素库”对每个语素的义项和语法功能已有所刻画,由于“现代汉语语法信息词典”对每个合成词的语法属性有更详细的描述,可以从“由局部到整体”和“由整体到局部”的不同角度中发现很多合成词的知识。这些知识对于“识别”文本中的未定义词是十分有价值的。这里,“识别”的含义是指中文文本经切分后,常有两个(或更多)单独的汉字连续出现,要判别它们是不是一个词,仅根据从语料库中统计得到的互信息[8],并不一定能确定这两个汉字是否构成合成词。例如, 在日常生活语料中,“吃”和“了”的互信息可能很大,但它们不构成合成词。利用从字词库中得到的合成词知识,不仅可以估计这两个汉字构成合成词的概率,还可以估计该合成词属于某个词类的概率,甚至可以猜测该合成词的意义。计算机的这种潜在的“智能”对句法分析、文本检索、信息提取等领域都是很有应用价值的。
5.结语
《现代汉语语法信息词典》、“现代汉语语素库”以及“现代汉语字词语法知识库”由它们集成的都是作者及北京大学计算语言学研究所的同事们为计算机自动处理自然语言所积累的基础知识。这些知识实际上早已存在于语言学家的论著、汉语字典词典以及真实的语料之中。笔者的工作只是适应计算机的工作方式(也可以说“思维”方式)将它们按照一定的形式、规格汇集在一起,形成规模知识。必须让为计算机准备的知识具有足够大的规模,这是计算语言学研究的特点。这种研究的另一个特点乃是计算机科学知识与语言科学知识的有机结合。这种结合的原动力固然来自于客观需求,研究者的主观认识及其知识结构的主动调整所发挥的能动作用也是研究工作顺利推进的重要保证。
笔者以为,这类规模知识的系统性对面向人的语言研究与教学也是有参考价值的。
当然,现在计算机系统所具备的知识还很少。离建成自然语言理解所需要的综合语言知识库还有很多、很多工作要做。至少现在还没有对每个词语给出计算机能“理解”的规范释义。同语法信息相比,现在“字词知识库”中的语义知识相对贫乏,因此预测合成词的意义尚有很大的困难,而意义在自然语言理解研究中是最重要的。为适应汉英机器翻译的需要,中科院计算所二室同北京大学计算语言所已联合开发了“现代汉语语义词典”[10],北京大学计算语言所还在开发“现代汉语短语信息库”[11]并酝酿开发大规模的多级加工的语料库。但这些分散的知识库的集成以及知识的扩充与自动获取都还需要艰苦的探索。
标签:现代汉语论文;