试论HNC标注语料库的构建*

池毓焕

(中国科学院声学研究所,北京 100080

1、引言

文献[1]总结了黄曾阳先生截止至二○○二年的有关思想论述 。迄今为止,黄先生对语料库语言学的评价没有多大变化,但有关HNC[2]语料库的思想则有进一步的发展。文献[3]明确提出了HNC语料标注的具体要求及其由此构造的基本语料库的目标,以及重组语料库、精细语料库、汉英对照精密句群语料库等概念。“HNC基本语料库本身仅具备理论价值和基本意义,并不能直接用于交互引擎理解度的定量测试。而建设各种有利于理解度定量测试并能培育交互引擎成长的语料库才是我们的真正追求。”这一重要论断既是HNC语料库的理论定位,也必将成为具体构建HNC标注语料库的指导思想。

本文从HNC研发平台对语料库的需求入手,具体探索HNC标注语料库的数据组织方法、基于语料库的研究与测试辅助工具和语料库的维护和演进。

2、从语料标注谈起

面向语言研究和中文信息处理软件测试的语料库,对生语料进行标注是题中应有之义。传统的标注内容以词性标注为基础,基本的服务目标是句法分析。

例一、北京大学计算语言学研究所与富士通公司合作,加工了2700万字的《人民日报》语料库。加工项目包括词语切分、词性标注、专有名词(专有名词短语)标注、多音词注音。示例如下(转引自冯志伟先生“中国语料库研究的历史与现状”[4])

古城/n /c /v 破坏/v /w /c /r 留下/v [le5]/u 契丹族/nz [he2] [ge4]/r 民族/n /w 特别/d /v 汉族/nz 劳动/vn 人民/n 共同/d 开拓/v 祖国/n 北疆/s /w 创造/v 我国/r 历史/n 文明/n [de5]/u 足迹/n /w

例二、1995年正式发布的BNC英国国家语料库规模达1亿词,使用了TEI编码和SGML通用标准标注语言。示例如下(转引自Graeme Kennedy著《An Introduction to Corpus Linguistics[5])

CBB 2667 172 32 <s n=2667> <w AJ0>Blue <w NN1>cheese <w NN2>lovers <w VM0>will <w VV1>welcome <w AT0>a <w AJ0>new <w AJ0-NN1>French <w AJ0>blue <w NN1>cheese <w PRP>from <w AT0>the <w NN2>Pays <w UNC>de <w NN1-NP0>Bresse <w PRP>in <w AJ0>eastern <w NP0>France<c PUN>.

可以看出,语料标注的内容反映了语料加工者对语言结构和功能的认识。语言研究不可能仅仅满足于切分歧义、词性兼类等,因此,语料库建设除了扩大规模这一横向发展方向外,更重要的是向纵深方向发展,即对语料进行深加工,如增加语义标注、短语结构标注等,树库、语句对齐等应该都属于这方面的努力。但是,越是深入的标注越会凸显对语言结构的岐见——不同的研究者和语料库用户会选择不同的标注内容,由此引发了语料标注中应遵循语料与标注符号之数据独立性原则的讨论[6]Geoffery Leech为此提出的原则[7]是:标注符号可以删除,可以恢复成原始语料;所做的标注可以单独抽出,另外储存。其他相关原则包括:标注符号的通用性及其意义的确定性。其实,对标注内容尚无共识的情况下,即使统一标注符号也意义不大。那么,不同学派对语料究竟应该标注哪些内容的岐见有多大呢?我们不防先看看HNC的语料标注结果:

例三、1904年8月22日~||,邓小平||出生在||四川省广安县协兴乡牌坊村。+原名||邓先圣,+5岁~||||私塾||发蒙,+学名||邓希贤,+[]转入||新式小学。+{高小|毕业}~||,考入||广安县中学。+1919年秋~||考入||重庆勤工俭学留法预备学校。

SGNC=Cn1P4P11*20J +D2P11*20J +Cn1T02T19*322J +D2P11*20J +T02T19*22J +Cn5T4bT19*22J +Cn1T4bT19*22J

Deng Xiaoping || was born|| August 22, 1904, ||~in Paifang village, Xiexing township of Guangan County, in Sichuan Province.++ His original name|| was|| Deng Xiansheng.++[Where] he|| was sent to|| an old-style school||~ at the age of five,++he|| was given|| the school name of Deng Xixian.++[Afterwards] he|| transferred to ||a new-style primary school, +[then] went on to|| Guangan County High School, ~||after{passing|the entrance exam}.++In the fall of 1919~||, he|| went to|| Chongqing Preparatory School for students going to France on a work-study program.

SGNE=!02P4P11*20JCn2 ++jDJ ++!02T0aT19*22JCn1 ++!02D2P11*20J++T02T19*22J +T02T19*22JCn5 ++Cn1T02T19*22J

首先,HNC区分两个层面的标注:语言空间的标注和语言概念空间的标注。在基本标注阶段,语言空间标注侧重于语义块边界和语义块的具体构成形式,对后者又侧重句蜕类型和常规构成的串联和并联;语言概念空间标注则侧重于句类代码和语句格式代码。其中句间关系标志同时在两个层面使用。其次,HNC将语言概念空间区分为概念基元、句类、语境单元和语境框架四层级,所以HNC的语言概念空间标注也区分概念基元空间、句类空间、语境单元空间和语境空间四个层级。例三的语言概念空间标注仅涉及句类空间标注。第三,HNC提出句类分析存在20项难点、语境单元萃取存在8项难点、语境生成存在6项难点[3]。为了统计出这些难点的分布方图以促进相关理解处理技术的成长,需要对语料进行难点的标注,并进而构造精细语料库。而难点本身是分层次并需要进一步细化的,比如句类分析全局性难点主要针对单句层面,局部性难点则可能只针对词汇,如分词、新词、伪词等,因此难点标注深入语言的各个层面。第四,HNC着眼于机器翻译引擎原理的研究,因此,双语乃至多语种对照和六项过渡处理难点分布的标注是另一个角度的语料深加工。

HNC标注语料库的建设目标可谓宏伟,而与传统语料库的分野也是泾渭分明。那么,这一宏伟目标能否实现?如果能,应该采取怎样的步骤呢?

在此,需要先确定HNC标注语料库建设的三项基本原则:一是大场意识,需要“眼高手低”——着眼于高远的目标而从基础标注着手。在完整的总体规划基础上,具体标注项目可以暂时缺失,做到“残而不废”;二是急所意识,注意战略上的步调性。基于眼下任务的急需,往往需要策划一些攻坚战;三是演化意识,要有持久战的心理准备,不可能毕全功于一役,因此要细水长流,相应的组织结构也要随研究焦点的变换而调适。HNC语料库服务于“培育交互引擎成长”,服务对象的演进与语料库本身的演化应类似于“教学相长”的关系。

3、语料库的数据组织方法

文本语言本是线性结构。语料标注的重要结果是让线性文本立起来,成为立体结构——至少是平面结构,有如网线提起来后成了一张网。这种非线性结构通常表现为语法树;从HNC角度看则是由语境、语境单元、句群、单句、语义块等不同层级的构件及其关系组成的立体网。就语言对比研究而言,这张网上的每一个节点都是进行语言对比的极好落脚点。如果只停留在词汇层面的对应,就是让机器翻译又倒退到词汇对应式的原始而机械的策略,根本无法应对自然语言的复杂性,是没有出路的。而如何存储并有效操纵非线性结构的标注结果,是语料库组织的基本问题。

关系数据库组织数据的基本思路是把各种复杂关系转换为二维表。现代关系数据库管理系统已经相当成熟,使用也相当便捷,因此用关系数据库系统来存储和管理非线性的语料标注结果是顺理成章的。

例四、下面是用CLAWS标注过的BNC示例(转引自Graeme Kennedy著《An Introduction to Corpus Linguistics[5])

0000079

010

There

>03

[EX0/100] AV0/0

0000079

011

`s

<97

VBZ

0000079

020

no

03

[AT0/100] ITJ/0 AV0%/0 NN1%0

0000079

030

petrol

03

NN1

0000079

040

in

03

[PRP/99] AVP@/1

0000079

050

the

03

AT0

0000079

060

car

03

NN1

0000079

061

.

03

.

0000079

062

</u>

01

NULL

0000080

001

**22;1760;u

01

NULL

0000080

002

--------------

 

 

0000080

010

You

03

PNP

显然,在以句序号、词序号为排序关键字的基础上,文本字段仍保留着原文的线性结构,标注结果则以单独的字段附着在基本结构上。二维表非常便于扩充字段,也就是扩展新的语料标注关注维度,比如增加一个字段来表示语法树的节点号,句法分析的结果也就附着于关系数据库的二维表中了(当然这时要增加一个二维表来记录非终端符的节点号及其意义并把二表关联起来)。用关系数据库系统管理语料库的最大优点是:时下的关系数据库管理系统提供了强大而方便的统计功能;而这些系统又相当普及,可以节省语料库的使用成本。

模仿这一思路,笔者为HNC标注语料库设计了基于Access的语料数据管理系统。其总体结构概述如下:

自上而下,笔者把文本分成Corpus(“语料库”的原意:文集)-Books(书或文件)-Chapters()-Sections()-Paragraphs(段落)-SentenceGroups(句群)-Clauses(单句或小句)-Chunks(语义块)-ExtendedClauses(扩展子句)-Words(字词)等不同层级,每一层级都需要一个独立的二维表,通过字段关联来表达层级间的隶属关系。这一划分与理论上的四层级划分并不一致,具有一定程度的工程性。其中“语义块”与“扩展子句”之间并不是隶属关系,而是某种同位关系,在关系上形成回链,即:“小句”由若干“语义块”构成,某些“语义块”等同于“扩展子句”,“扩展子句”基本上与“小句”同构,因此有些“语义块”可能既隶属于某“小句”,又隶属于某“扩展子句”,需要两个字段来表征这一双重特性。除此之外,层级之间都呈现出简明的构成单元直接并列的关系,用关系数据库来表示这种统属关系非常恰当和方便。

由于每个表关注的焦点不一样,相应的字段构成也不同。比如“书或文件”这一层级关注焦点在作者及出版信息、是原创或是译作、文体和领域分类、摘要、原文件存放地址和其他总体信息,相当于图书馆的索引卡片,可以作为整个语料库的平衡特性表征或分类统计的过滤条件;而“字词”层级则关注范畴类别、语义角色、词义的多选一等,支撑词汇语义学的研究。如果某个具体文本没有其中的某个层级,比如单篇文章不分章节,就用一个置零记录来过渡。当然,为了完整记录各种信息的复杂关系,以及保证数据库设计的完整性要求,往往需要配置多种辅助表,或者把本在同一层级的关注内容拆分成不同表以减少冗余(在显示和操作时重新链接在一起就行了)。比如作者背景信息就适合另表存储,因为文章与作者之间是多对多关系。

“书或文件”这一层级可能出现交错的情况:一本书可以分成不同的文件存储,一个文件也可能存储不同作者写的好几本小册子构成的文集。在物理上如何切分文件是语料加工的内容之一,其切分标准由该层级的关注焦点来确定。比如关注焦点之一是“作者”,那么,不同作者合作的文集就需要分成不同文件存储。作者信息单独成表,“书或文件”表只需要记录该作者在作者库的代码。处理的目标是保持隶属关系的唯一性和简明性

从章节到段落的层级划分仅仅是把大文档划分为较小的处理单元;从语言概念空间看,其关注焦点理应同构,不具有实质性的差别。而段落篇章由句群(语境单元)直接并列构成,从句群到段落篇章的层级跨越涉及从语境单元到语境的第三级提升,关注焦点自然迥异,就像前两级提升一样。语境单元关注的是语境三要素的结果以及萃取这些结果的途径和方法,比如领域的确定源自特征语义块还是内容语义块或其他对象语义块等;语境(或主题要点)则关注语境框架总体填充结果以及各构件是来自短时记忆还是作为长时记忆的特定事件库、常识库和专业知识库。

句群与语境单元是对应的,二者分别属于语言空间和语言概念空间。句群本身又是由若干小句组成,因此,“句群”层级除了关注语境单元所涉及的概念外,还关注句群格式、句间照应、省略和指代等。语境单元身处第二介层,句类则是第一介层,对应于语言空间的“小句”和“扩展小句”。句类分析的基本成果是句类表达式。特征语义块提供了句类假设的可能空间,对多句类代码进行多选一操作的结果及其途径是句类层面的主要关注点。同时,小句是由语义块构成的,语义块的边界、位置、省略等信息体现在语句格式代码及块的具体切分上。

例五、小句表示例如下:

小句代码

句群代码

小句序号

小句字数

激活句类假设

句类代码

句类格式

语境类型

前向组合标志

后向组合标志

句间关系标志

句间联接类型

语习概念

主辅变换

对应英文小句代码

18

P.S.2.1八十年前

1

21

jD1

!0

 

 

 

 

 

 

 

Se.2 Cl.1The Communist

19

P.S.2.1八十年前

2

15

jD

!0

 

 

 

 

 

 

 

Se.2 Cl.2what it faced

20

P.S.2.2八十年后

1

36

成为

Y02

!0

 

 

 

 

 

 

 

Se.3 Cl.1today, 80 years

21

P.S.2.2八十年后

2

20

拥有

R6114

!0

 

 

 

 

 

 

 

Se.3 Cl.2what the Chinese

22

P.S.2.3这个巨大

1

20

jD

!0

 

这个

 

 

 

 

 

Se.4 Cl.1This tremendous change

就“语义块”层面而言,首先关注其语义角色、前后标记;其次关注是否为复杂构成,如句蜕、多元逻辑组合等,以及是否出现块分离现象。从隶属关系看,还要关注该语义块是直接隶属“小句”的还是隶属于作为块构成的“扩展小句”。

例六、语义块表示例如下:

块索引号

小句代码

扩展代码

块序号

块名称

块本文

前标

后标

复杂构成

分离

块扩

句蜕

多元逻辑

对象内容

对应英文块代码

116

S.2 Cl.2面对的是

0

1

DB

面对的

 

 

No

No

No

Yes

No

No

Cl.18 Ck.1what it faced

117

S.2 Cl.2面对的是

0

2

jD

 

 

No

No

No

No

No

No

Cl.18 Ck.2was

118

S.2 Cl.2面对的是

0

3

DC

一个灾难深重的旧中国

 

 

Yes

No

No

No

Yes

No

Cl.18 Ck.3a calamity-ridden old China

119

S.2 Cl.2面对的是

116DB面对

11

S30

面对

 

 

No

No

No

No

No

No

Cl.18 Ck.13faced

120

S.3 Cl.1八十年后

0

1

Cn

八十年后的今天

 

 

Yes

No

No

No

Yes

No

Cl.19 Ck.1today, 80 years later

最基层的是“字词”,对应着语言概念基元符号。这里的“字词”是广义的,包括各种标点符号、特殊符号。从隶属关系看,既要关注所隶属的小句(在小句范围内词序统一标号),也要关注所隶属的语义块,后者限定了字词的语义角色。

例七、字词表示例如下:

编号

小句代码

词序

块索引号

角色

本文

HNC符号

概念类别

对应英语词编号

56

S.2 Cl.5.2面对的是

1

Cl.19 Ck.11S30

S30

面对

v902+j01

v

faced Cl.18W.4

57

S.2 Cl.5.2面对的是

2

Cl.19 Ck.1DB

l41*1

h$l41,h$ug

l41

what Cl.18W.2

58

S.2 Cl.5.2面对的是

3

Cl.19 Ck.2jD

jD

jlv111

v

was Cl.18W.5

59

S.2 Cl.5.2面对的是

4

Cl.19 Ck.3DC

l93

一个

lj9330801

l93

a Cl.18W.6

60

S.2 Cl.5.2面对的是

5

Cl.19 Ck.3DC

DCCB

灾难

r322+r50a9ae82

r

calamity Cl.18W.7

61

S.2 Cl.5.2面对的是

6

Cl.19 Ck.3DC

DCCC

深重

u+(r322;rd03;r714y)+jgu60c43

gu

ridden Cl.18W.8

62

S.2 Cl.5.2面对的是

7

Cl.19 Ck.3DC

l41*1

h$l41,h$ug

l41

 

63

S.2 Cl.5.2面对的是

8

Cl.19 Ck.3DC

DCu

jvu78e22

u

old Cl.18W.9

64

S.2 Cl.5.2面对的是

9

Cl.19 Ck.3DC

DCB

中国

fpj2

fpj2

China Cl.18W.10

65

S.2 Cl.5.2面对的是

10

0

 

 

 

 

 

66

S.3 Cl.6.1八十年后

1

Cl.20 Ck.1Cn

Cn

八十

j308118

j3

80 Cl.19W.4

67

S.3 Cl.6.1八十年后

2

Cl.20 Ck.1Cn

Cn

wj10-;zz;

wj10,h,zz

years Cl.19W.5

以上示例并不是全貌展示,字段的扩展包括两个方面:关注维度的扩展和因应数据库管理需要的辅助扩展。由于各层面都可能存在着处理难点,因此,难点号的标注是各个主表都有的字段。着眼于语言对比研究,各层面都有对应英文代码字段;如果是多语种对比,增加新的对比字段即可。既然是标注结果,各层面都要记录标注者及标注时间;如果是机器标注,记录相应的软件版本号。标注者或处理软件的名称等信息由一个辅助表统一管理。上述示例表中出现“代码”、“索引号”等字样的字段本应是一个数字,但都显示为更直观的对应层面的关注信息,这是表间自动链接的结果。

4、基于语料库的研究与测试

建立了上述这样一个语料库系统后,就可以对语言现象进行有针对性的研究。

以字词表为例,笔者研究了样本语料出现的956个单音词“的”字的功能[8]。其他读音的“的”字隐藏在诸如“目的”、“的确”的词汇中,在字词表中并不单独出现。

例八、“的”字功能重分类统计结果

类型名称

现汉义项

作用说明

出现次数

字频所占比例

句类转换

3和4

强调、陈述肯定

11

1.15%

EK构成分析

1d

分离、多对象内容

14

1.46%

句蜕及其包装

A和B类

潜在主谓或动宾

459

48.01%

多元逻辑组合结构

1a或1b

修饰或领属

358

37.45%

简单的对象内容之分

1b

领属

32

3.35%

简单修饰关系

1a

修饰

82

8.58%

这个表是按“的”字功能对句类分析系统的重要性顺序排列的。这说明,有些功能的出现频率虽然比较低,但对语句的正确理解和处理非常重要,需要优先考虑和处理。

类似的研究包括:对一词多义进行基于文本类型或语境范畴的统计,可以改进词语知识库中义项的排列顺序以提高机器处理的效率,或为知识库添加条件概率值以优化词义知识表达。

动词的多句类代码特性是自然语言理解处理的第一号难点。晋耀红博士论文《汉语理解处理中多动词难点的研究与实现》[9]中重要课题之一就是处理句类代码的多选一。李颖博士对“打破”一词的七个义项(七种句类代码)进行了阐释[10],并在《人民日报》中检索出500个“打破”例句进行具体分析,提出义项调序建议。只要有了已标注的语料库,类似的研究可以从“打破”迅速扩展到绝大多数具有多句类代码特性的动词上。这种研究操作起来非常简便,只要在字词表中锁定目标词并把小句表或扩展小句表关联起来,结果将一目了然。

文献[3]提到基本语料库的基本作用是绘制句类分布方图和偏差分布方图。有了上述小句表和扩展小句表后,这项工作变得简单起来:只要语料库具有足够的代表性,按每一小句的句类代码进行排序和统计即可。这种统计显然可以加上各种限制条件而形成条件概率。李颖博士进行了句类分布的初步研究[11],发现论述文除判断句较多外,在作用效应链的六个侧面中集中于作用与效应两个侧面,进而得出“句类分布的这一差异有可能为叙述与论述文这两种基本文体的自动识别提供有效的判据”的结论。

语料库支持各种限制条件的语言研究;另一方面,条件概率的统计结果又支持对特定文体的总体特征的鉴别,比如对莎士比亚文集的统计而总结出的文体特征可以用于鉴定某一佚名作品的归属。如上所述,语言研究的细化将促进已有知识库中有关语言知识表达的优化。

难点的标注为语料的重组和软件性能的测试提供了基础。而多语种、各层面的对齐标注,方便于研究并揭示语种个性差异,对开展机器翻译引擎原理的研究有重要的促进作用。

总之,基于语料库,各个层面的语言研究都可以比较顺利地开展起来。

5、结束语

本文原计划进一步探讨何婷婷博士提出的混合式语料库数据组织方法[6]、周锡令先生提出的面向机器理解的两栖语言和带局部标注的两栖语言写作器的构想[12]-[15],以及作为语料库研究基础内容之一的语料库维护和演进问题等。限于篇幅,这些内容参见下一期的“再论HNC标注语料库的构建”。

本文的探索只能算是非常初步的,抛砖引玉之意非常明显

HNC语料库建设方面,临渊羡鱼不如退而结网。

 


[1] 池毓焕. 黄曾阳先生语料库思想概述[A].第一届学生计算语言学研讨会论文集[C],2002:312-317.

[2] 黄曾阳. HNC(概念层次网络)理论[M].北京:清华大学出版社,1998.

[3] 黄曾阳. 在反思中前进,在碰撞中成长[A].语言概念空间的基本定理和数学物理表示式[C]. 海洋出版社,2004.7

[4] 冯志伟. 中国语料库研究的历史与现状[A].汉语语言与计算学报[J], 11(2):127-136.

[5] Graeme Kennedy. An Introduction to Corpus Linguistics [M].北京:外语教学与研究出版社,2000:84、216.

[6] 何婷婷. 语料库研究[D].武汉:华中师范大学博士学位论文,2003:74.

[7] Geoffery Leech. Corpus Annotation Schemes[A]. Literary and Linguistic Computing [M],1993.

[8] 池毓焕. HNC说“的”[A].第二届HNC研讨会论文集[C],北京:海洋出版社,2004:59-66.

[9] 晋耀红. 汉语理解处理中多动词难点的研究与实现[D].北京:中科院声学所博士学位论文,2003.7.

[10] 李颖. 从‘打破’一词看HNC的知识表示[A]. HNC与语言学研究[C],武汉:武汉理工大学出版社. 2001:186-190.

[11] 李颖. 《七一讲话》语句的HNC研究[A]. 2003年青年学术交流会论文集[C], 北京:中科院声学所. 2003:269-273.

[12] 周锡令. 我看中文信息处理[A].HNC与语言学研究[C].武汉:武汉理工大学出版社,2001:204-210.

[13] 周锡令. 自然语言和计算机编程语言的比较[A].中文自然语言处理开放平台http://www.nlp.org.cn.“槛外人看NLP专栏”.

[14] 周锡令. 从“文言文”说到“两栖语言”[A].中文自然语言处理开放平台http://www.nlp.org.cn.“槛外人看NLP专栏”.

[15] 周锡令. 关于“两栖语言”的对话[A].中文自然语言处理开放平台http://www.nlp.org.cn.“槛外人看NLP专栏”.

 


作者简介池毓焕,男,福建尤溪人,1967年生,博士生,研究方向为语料库语言学与汉英对比研究。



* 基金项目:国家重点基础研究发展规划资助项目(G1998030506)