试论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

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

例七、字词表示例如下:

编号

小句代码

词序

块索引号