当前位置:文档之家› AdaBoost.MH 算法 硕士毕业论文_正文

AdaBoost.MH 算法 硕士毕业论文_正文

大连理工大学硕士学位论文

摘要

词义排歧在机器翻译、信息检索、句子分析和语音识别等许多领域有重要的作用。因此在自然语言处理领域,词义排歧方法的研究具有重要的理论和实践意义。本文主要研究在标注语料库支持下的基于有指导学习算法的词义排歧方法。

在词义排歧模型中引入有指导的AdaBoost.MH算法。首先通过简单决策树算法对多义词上下文中的知识源进行学习,产生准确率较低的弱规则;之后,通过AdaBoost.MH算法对这些弱规则进行加强;经过若干次迭代后,最终得到一个准确度更高的规则,即为最终的排歧模型。论文还针对系统的学习效率和实用性给出了一种简单终止算法迭代的方法。

为获取多义词上下文中的知识源,本文在采用传统的词性标注和局部搭配序列等知识源的基础上,引入了一种新的知识源,即语义范畴。实验结果表明语义范畴知识源的引入有助于提高算法的学习效率和排歧的正确率。

建立有指导学习算法所需的大规模人工标注语料是相当困难的,本文提出了一种通过WWW资源自动构建适合汉语多义词排歧的标注语料的方法。并通过实验验证了这种语料库的可用性。

在对6个典型汉语多义词和SENSEVAL3中文语料中20个汉语多义词的词义消歧实验中,AdaBoost.MH算法获得了较高的开放测试正确率(85.75%和75.84%)。

关键词:自然语言处理;词义排歧;AdaBoost.MH算法;知识源

-I-

一种基于AdaBoost.MH算法的汉语多义词排歧方法

Abstract

Word sense disambiguation (WSD) plays an important role in many areas of natural language processing such as machine translation, information retrival, sentence analysis, speech recognition. The research on WSD has great theoretical and practical significance.The main work in the dissertation is to study the supervised learning algorithm learning WSD knowledge from many kinds of resources based on large sense-tagged Chinese corpus.

An approach based on supervised AdaBoost.MH learning algorithm for Chinese word sense disambiguation is presented. AdaBoost.MH algorithm is employed to learn WSD knowledge from many kinds of resources and to boost the accuracy of the weak stumps rules for decision trees and repeatedly calls a learner to finally produce a more accurate rule. A simple stopping criterion is also presented in view of the efficiency of learning and the utility of system.

As for Chinese WSD, in order to extract more contextual information, we introduce a new WSD knowledge --- semantic categorization as well as two classical knowledge sources: part-of-speech of neighboring words and local collocations. Experimental results show that the semantic categorization knowledge is useful for improving the learning efficency of the algorithm and accuracy of disambiguation.

Due to the flexibility and complexity of bulding up a broad coverage semantically annotated corpus, an approach based on WWW search engines to automatically obtain annotated corpus for Chinse WSD is presented.

AdaBoost.MH algorithm has a higher disambiguation accuracy rates which are 85.75% and 75.84%in open tests for 6typical polysemous Chinese words and 20 polysemous words from SENSEVAL3 Chinese corpus.

Key Words:Natural Language Processing; Word sense disambiguation;

AdaBoost.MH algorithm;Multiple knowledge sources

-II-

大连理工大学硕士学位论文

目录

摘要.............................................................................................................................I Abstract.......................................................................................................................... II 引言. (1)

1 问题描述 (3)

1.1 词义排歧的提出及其意义 (3)

1.1.1词义排歧 (3)

1.1.2词义排歧研究的意义 (4)

1.2 国内外的研究状况 (5)

1.2.1 有指导排歧方法 (5)

1.2.2基于词典的排歧方法 (9)

1.2.3无指导的排歧方法 (10)

1.3 面临的主要问题 (11)

1.3.1 上下文选择 (11)

1.3.2词义的划分 (12)

1.4词义排歧的评测方法 (12)

1.5本文的工作 (12)

2 面向WSD的AdaBoost.MH算法模型 (14)

2.1基本概念 (14)

2.2 AdaBoost.MH算法简介 (15)

2.2.1 AdaBoost算法背景 (15)

2.2.2 AdaBoost算法基本思想 (16)

2.2.3算法误差的分析 (18)

2.2.4多类分类问题 (20)

2.2.5 AdaBoost算法的优缺点 (20)

2.3面向WSD的AdaBoost.MH算法描述 (21)

-III-

一种基于AdaBoost.MH 算法的汉语多义词排歧方法

-IV-

2.4 弱学习器的设计及t Z 的选取 (22)

3 上下文特征的选择 (25)

3.1 相邻词的词性标注(POS ) (25)

3.2 局部搭配信息 (26)

3.3 语义范畴信息 (26)

3.3.1 《同义词词林》简介 (26)

3.3.2 对《同义词词林》中未登录词的处理 (28)

3.3.3 语义范畴信息的选取 (29)

4 汉语AdaBoost.MH -- WSD 实验 (30)

4.1 语料库 (30)

4.1.1 人民日报语料 (30)

4.1.2 SENSEVAL3 中文语料 (30)

4.2 实验评测及结果 (31)

4.2.1 人民日报语料实验结果与评测 (32)

4.2.2 SENSEVAL3 中文语料实验结果与评测 (32)

4.3 算法中迭代次数的确定 (34)

4.4 语义信息的引入对排歧效果的影响 (35)

4.4.1 人民日报语料实验 (35)

4.4.2 SENSEVAL3 中文语料实验 (36)

5 自动建立带标注的语料库的方法 (38)

5.1 自动构建标注语料库的模型 (38)

5.1.1 搜索关键字的建立 (39)

5.1.2 语料库的建立和修剪 (40)

5.2 语料库可用性的评测实验与分析 (42)

5.2.1 语料库 (42)

5.2.2 语料库中搜索到的新搭配 (42)

5.2.3 上下文特征的选取 (42)

5.2.4 实验结果及评测 (42)

大连理工大学硕士学位论文

结论 (45)

参考文献 (46)

附录A SENSEVAL3中文语料示例 (49)

附录B标注语义范畴信息的语料示例 (51)

附录C《同义词词林》语义信息示例 (53)

附录D《同义词词林扩展版》语义信息示例 (54)

攻读硕士学位期间发表学术论文情况 (55)

致谢 (56)

大连理工大学学位论文版权使用授权书 (57)

-V-

大连理工大学硕士学位论文

引言

计算语言学(Computational Linguistics)是一个横跨语言学、数学和计算机科学的新兴交叉学科[1]。它通过建立形式化的数学模型,来分析、处理自然语言,并在计算机上用程序来实现分析和处理的过程,从而达到以机器来模拟人的部分乃至全部语言能力的目的[2]。

计算语言学的研究工作分为两个方面。

第一,从计算的角度来研究语言的性质;

第二,将语言作为计算对象来研究相应的算法。

所谓从计算的角度来研究语言的性质,就是要求将人们对语言的结构规律的认识以精确的、形式化的、可计算的方式呈现出来,而不是像其他语言学研究那样,在表述语言的结构规律时一般采用非形式化的表达形式。所谓将语言作为计算对象来研究相应的算法,就是研究如何以机械的、规定了严格操作步骤的程序来处理语言对象(主要是自然语言对象,当然也可以是形式语言对象),包括识别一个语言片断(比如词组、句子或篇章)中的大小语言单位,分析该语言片断的结构和意义(自然语言理解),以及如何生成一个语言片断来表达确定的意思(自然语言生成),等等。

自然语言处理(Natural Language Processing)是利用计算机技术研究和处理语言的一门学科,即把计算机作为语言研究的强大工具,在计算机的支持下对语言信息进行定量化的研究,并提供可供人与计算机之间能共同使用的语言描写。它属于计算语言学的算法部分[1],并经过如下的过程——把需要研究的语言学问题加以形式化,使之能以一定的数学形式或者接近于数学的形式,严格而规整地表示出来;把这种严格而规整的数学形式表示为算法,使之在计算上形式化;根据算法编写计算机程序,使之在计算机上加以实现。

自然语言处理是人工智能研究的最重要的课题之一。人类知识大都是以语言的形式表示并流传下来的,据统计,在信息领域中80%以上的信息是以语言文字为载体的。自然语言处理的重大突破,将为知识获取开辟重要来源。同时它也将触发人机接口革命。它将使计算机具有听、说、读、写的能力,人们可以用自然语言和计算机交流,这将给使用者带了极大的方便。自然语言处理系统可以用作专家系统、知识工程、情报检索、办公室自动化的自然语言人机接口,有很大的实用价值。机器翻译将使人们跨越语言壁垒,让全世界的人顺利交流,让每个用户都能共享因特网的浩瀚信息和无限商机。

-1-

一种基于AdaBoost.MH算法的汉语多义词排歧方法

语言是音义结合的符号系统,而词是语言中能够独立运行的最小符号。因此,研究语言符号的意义都以词作为基本单位[3]。在自然语言处理领域,词义排歧在机器翻译、信息检索、句子分析和语音识别等自然语言处理的许多领域有十分重要的用途。因此词义排歧方法的研究在自然语言处理领域具有重要的理论和实践意义。

任何一个课题的研究与它所在的领域的研究方法息息相关,与当时所具有的各种条件密切相关,词义排歧问题的研究也不例外。它经历了基于直觉的理性主义方法,即定性的方法到基于观察的经验主义方法,即统计方法[5]的发展过程。

进入九十年代以后,随着计算机事业的蓬勃发展,计算机存储容量和运算速度的飞速提高,计算语言学的研究也进入了一个崭新的历史阶段,即语料库语言学的时期[3]。通过使用大规模的语料库,计算机能够自动获得各种统计数据,以此来解决规则方法中知识空缺问题。

在大规模真实文本处理中,基于统计的方法与基于规则的方法相比体现出以下优势:

(1)统计方法获取的知识一致性好。而规则方法,由于每个人思考问题的不同,而会采取不同的处理方法,当需要添加新的规则时,又必须注意协调与已有规则的关系,避免规则之间产生矛盾。

(2)统计方法比较灵活,覆盖面比较广,可以获取语言中那些经验性的、小粒度的知识,能更好的覆盖各种复杂纷繁的语言现象。

目前在语言处理的各个层面上,基于统计的方法几乎都在发挥着重要的作用。

机器学习是对具有学习能力的计算机算法以其经验不断改进其完成任务效果的研究。它是人工智能的一个领域,是知识获取的一个过程。机器学习是一种归纳学习,即对已分类的数据,通过归纳其分类的原因,产生一些概念性描述作为学习的结果。

在词义排歧领域,近几年国内外许多研究人员将统计学和机器学习引入到词义消歧的处理中,提出基于语料库的多义词处理方法。从语料库中学习的方法主要有有指导学习和无指导学习两种。一般来说,有指导的消歧方法要比无指导的方法有更好的效果。

本文的主要工作是研究在标注语料库支持下的有指导的词义排歧算法和利用WWW 资源自动构建标注语料库两个方面。

-2-

大连理工大学硕士学位论文

1问题描述

1.1词义排歧的提出及其意义

1.1.1词义排歧

词义指一个词所具有的意义,文本的词义标注就是给文本中每个词表上在所属上下文环境中对应的意义编码。这个意义编码可以有以下四种形式[4]:1)是某个义类词典中的词条所对应的一类代码(如《同义词词林》中的义类代码);2)是普通词典中一个词条下释义文本对应的编号(如《现代汉语通用词典》中对词条的义项编号);3)是在转换词典中一个词条对应得目标词,即一种语言中的词对另一种语言的翻译词;4)是在概念词典中概念的定义项(如How-Net中概念的定义)。

如“材料”一词,在《辞海》里面共有3个不同的义项:

义项1:可以直接造成成品的东西;

义项2:可供写作或参考的事实或文字资料;

义项3:比喻适于做某种工作的人。

例如,在机器翻译过程中,当翻译系统遇到如下含有“材料”的句子时,系统就要根据上下文的信息,给句子的多义词“材料”选择一个合适的义项,作为多义词的词义。这个过程就是词义排歧。

以/p/Kb05 树叶/n/Bh11 、/wp/-1 彩布条/n/Bq01 和/c/Kc01 香烟盒纸/n/Bp17 为

/v/Ja01 材料/n/Ba06 的/u/Kd01 贺卡/n/Bp18 ,/wp/-1 做工/v/Hj21 虽/c/Kc04 简

/a/Ed37 ,/wp/-1 其/r/Ba10 情/n/Df04 却/d/Ka33 浓/a/Eb12 。/wp/-1

对于这个句子,翻译系统中的词义排歧就是指系统根据上下文信息给出多义词“材料”对应的上述正确义项1(可以直接造成成品的东西)的过程。

多义词情况,无论是汉语还是西方语言(如英语、法语)一词多义现象普遍存在。本文对《同义词词林》中的多义词情况进行了统计(参见表1.1)。因此,词义标注的任务就是在某个特定的上下文中,确定多义词所属意义代码,因此词义标注方法的研究实际上就是词义排歧方法的研究。

-3-

一种基于AdaBoost.MH算法的汉语多义词排歧方法

表1.1 《同义词词林》中多义词的分布情况表

一个义类二个义类三个义类三个义类以上总数歧义比例

一字词1973 833 397 571 3774 48.0%

二字词28154 3837 572 118 32681 16.0%

二字以上词12597 999 96 6 13698 9.0%

总计42724 5669 1065 695 50154 14.8%

1.1.2词义排歧研究的意义

词义排歧一直是自然语言处理研究领域十分重要的问题和研究热点之一。它的研究从50年代初期机器翻译的研究起一直收到人们的关注。词义排歧任务本身是一个中间任务,是大多数自然语言处理任务的一个必不可少的中间层次,在自然语言中有着重要用途[5]。例如:

1)机器翻译:机器翻译中的词义排歧有其特殊性,它以目标词区分单词词义。

在机器翻译中找一个词的目标词是一重要问题,词义排歧问题解决的好坏直

接影响译文质量。例如:在汉英机器翻译系统中,“interest”在汉语中对应

两个目标词“利益”或“利息”,在具体翻译时必须根据当前的上下文确定

“interest”的正确词义,以翻译成正确的目标词。

2)信息检索和信息分类:在信息检索和信息分类中,受一词多义的影响,系统可能检索出一些包含同义词但是具有不同意义的文本。如:想检索一些与文

档相关的参考资料时,可能以“材料”作为检索词。若只根据词型检索,则

检索出来所有含有“材料”的文章,在这些文章中有些可能是关于“生产材

料”的文本,得到不必要的检索结果。因此在信息检索中词义排歧也具有重

要作用。

3)句法分析:在识别句子的语法结构时,词汇的语义也起着重要作用。因为语法歧义现象在各种语言中普遍存在,而解决这一问题的关键方法就是引入词

义,也就是要依靠句子中词的意义来确定此时句子的结构。如“参观图书

馆的大厅”和“参观图书馆的人们”同样具有“V+N+的+N”的词性

序列,但却有着不同的句法结构,标上词义后可以靠这些词性之间的不同语

义搭配确定它们的结构。

-4-

大连理工大学硕士学位论文

-5-

4) 自然语言理解:确定句子的语义结构时,必须考虑句子中每个词的词义。在

已知句子中每个词的词义前提下,通过语义分析能够得到句子的语义结构,

如句子的格结构。

5) 语音识别和音字转换:基于词的N 元模型只考虑了词之间的接续关系,在识

别结果中存在词之间无意义联系的句子,造成识别错误。在引入词义后,可

以得到意义之间的接续关系,提供词在意义一级上的接续关系,在一定程度

上避免这样的错误。

综上所述,作为自然语言处理过程中一个重要过程,词义排歧的研究具有重要理论和实践意义。它的研究成果可以直接应用于自然语言处理的许多方面。

1.2 国内外的研究状况

近几年,国内外研究人员将统计学和机器学习引入到词义消歧的处理中,提出基于语料库的多义词处理方法(Corpus Based Approach ,CBA )。从语料库中学习的方法主要有有指导学习和无指导学习两种[5]。一般来说,有指导的消歧方法要比无指导的方法有更好的效果。

有指导的学习中训练数据是已知的(在这里是词义标注),而在无指导的学习中训练事物的分类是未知的。因此,无指导学习通常被称为聚类任务(clustering task ),而有指导学习通常被称为分类任务(classification task ),也可以称为函数拟合,就是说基于一些数据点推断出函数形态[6]。

然而,在统计自然语言处理领域中,事情往往并非这么简单。由于标注好的语料库非常昂贵,所以人们希望可以从未标注的数据中学习,即无指导的学习,并且试图在自己的算法中使用各种资源,比如词典,或者使用更加复杂的结构化数据。在这些方法中,系统可以建立在一些所谓的“种子”数据集上,然而即可利用这个系统,从未标注的数据中学习,逐步扩大种子数据集。下面分别对这两种方法中比较典型的算法进行论述。

1.2.1 有指导排歧方法

在有指导的排歧中,一个已经标注好的语料库被用来训练。在这个样本训练集中,多义词 w 每一次出现都被标注了一个语义标签( 通常是符合上下文的语义k s )。这

样就可以为有指导排歧提供统一分类的实例。统计分类的任务就是构建一个分类器,根据上下文i c 对新的多义词进行分类。

一种基于AdaBoost.MH 算法的汉语多义词排歧方法

-6-

在众多的有指导的学习算法中,有一些算法已经被应用到多义词排歧中。其中有两种典型的算法,它们代表了统计自然语言处理中的两个重要理论方法:贝叶斯分类[7]和信息论[8]。这两种方法同时证明了上下文中的多种完全不同的信息源可以应用到排歧算法中。第一种方法把上下文看做是一个无结构词集,整合了上下文窗口中众多的词汇信息。第二种方法仅仅考虑了上下文中的一个特征信息,这个特征信息可以很灵敏的反应上下文结构。但是,这个特征要谨慎地从大量的潜在信息中选取。其它使用较多的有指导算法还有决策树学习算法和决策表算法。

1.2.1.1 贝叶斯分类

贝叶斯分类器的原理是:它在一个大的上下文窗口中考虑多义词周围的词的信息。每个实词都含有潜在的有用信息,暗示多义词的哪个词义被使用。这个分类器不是简单的进行特征选择,而是组合了所有特征。本文的形式化描述来自于[6]。分类器的有指导训练要求语料库中的多义词都事先被正确的词义标注。

在选择类别的时候,贝叶斯分类器使用贝叶斯决策规则,这个规则最小化了错误概率:

Decide 's if '')|()|(s s for c s P c s P k k ≠>

贝叶斯决策规则是最优化的,因为它最小化了错误概率。对于每个独立的例子,它选择带有最高条件概率的类,因此有最小的错误率。对于一系列类别决策的错误率也会尽可能小。

通常)|(c s P k 的值是未知的,但是可以使用下面的贝叶斯规则来计算它:

)()()|()|(k k k s P c P s c P c s P = (1.1)

)(k s P 是词义k s 的先验概率,它是不知道任何上下文信息时得到的k s 出现的概率。

)(k s P 被综合了上下文信息的因子)(/)|(c P s c P k 校正,然后得到后验概率)

|(c s P k 。 如果仅仅是要得到正确的分类,那么可以通过消除)(c P (对于所有的词义,它是一个常量,因此不会影响最大值的选择)来简化这个分类任务。也可以使用概率的对数值来简化计算。然后。我们就能为 w 指定一个词义's :

)](log )|(max[log arg )

()|(max arg )

|(max arg 'k k k k k s P s c P s P s c P c s P s +=== (1.2)

大连理工大学硕士学位论文

-7-

Gale 等人提出的分类器是一个特殊的贝叶斯分类器,即单纯贝叶斯分类器。它把分类所基于的状态空间描述成一系列的特征,根据出现在上下文的词来描述词w 的上下文。

单纯贝叶斯假设认为用来刻画事物特征的属性都是条件独立的:

∏==inc v k j k j j k j s v P s c in v v P s c P )|(})|}|({)|( (1.3) 在词义排歧中,单纯贝叶斯假设有两个结论。第一个是上下文中所有结构和词语顺序都可以被忽略。这通常是指一个可有重复的单词集模型。另一个结论是指在可有重复的单词集中出现的词均独立于其它词。

1.2.1.2 基于信息论的方法

信息论分类方法试图寻找一个单一的上下文特征,它可以可靠地指示出多义词的哪一种词义被使用。为了更好的地应用语料信息,信息的量值需要进行规范化。Brown 等人使用了Flip-Flop 算法来解决这个问题。算法描述如下:

Find random partition P = {P 1,P 2} of {t 1,t 2,…,t m }

While (improving) do

Find partition Q = {Q 1,Q 2} of {x 1,x 2,…,x n }

that maximizes I (P ;Q )

Find partition P = {P 1,P 2} of {t 1,t 2,…,t m }

that maximizes I (P ;Q )

End.

Flip-Flop 算法的每一次迭代都必须满足使互信息I (P ;Q )单调增加,所以算法的一个很自然的中止条件就是互信息I (P ;Q )不再增加或者增加很少。其中P 为最初的词义划分,Q 为指示器。I (P ;Q )为P ,Q 的互信息。互信息的定义如下:

∑∑∈∈=X x Y y y p x p y x p y x p Y X I )()()

,(log ),();( (1.4)

对于计算一个特殊指示器值的最佳划分,Flip-Flop 算法是一个有效的线性时间算法,它基于分裂理论(splitting theorem )[8]。对所有可能的指示器使用这个算法,然后选择带有最高互信息的指示器。

当指示器和它取值的特殊划分已经确定之后,排歧就很简单了,如下所示:

1) 对于出现的一个多义词,确定它的指示器值i x ;

一种基于AdaBoost.MH 算法的汉语多义词排歧方法

-8-

2) 如果i x 在Q 1中,指定多义词的词义就为词义1;如果i x 在Q 2中,指定多义词

的词义就在词义2中。

1.2.1.3 决策树的学习方法

决策树算法的主要思想是:一棵决策树(decision tree )是一个“提问-问答”机制。对一个事件,经过一系列的“提问-回答”逐渐较少问题的不确定性,从而做出正确的决策,其中当前的提问与以前的回答有关。形式上,决策树是一棵N 叉树,其中事件与根节点关联,提问与每个内部节点关联,选择与每个叶子节点关联。Black[10]曾采用这种方法学习了5个含有4个词义的多义词的决策树。首先从语料库中抽取每个词的训练样本,每个词各有2000个句子;然后使用“提问-回答”的方式,获得多义词的决策树:根节点对应于多义词的排歧任务,提问是识别多义词词义的一个特征,叶子节点是多义词的一个词义。即学习阶段;最后使用学习得到的决策树对多义词确定词义的阶段,即排歧过程。

1.2.1.4 决策表的学习方法

决策表的形式为一个二元组(条件,值)。Yarowsky[7]曾使用决策表学习词义排歧时使用的知识。在决策表中,条件对应多义词的一个搭配,值是这个多义词在两个不同词义下的概率似然比,决策表按似然比由小到大排列,似然比大的排列被排到决策表的前面位置,表明该搭配可以表征某多义词的词义。

Yarowshy 曾对多义词在一篇文章中和在一个特定上下文环境中具有的词义情况作了实验调查,发现两条规律:1)一个词在每个话题中只对应一个词义;2)一个多义词在一个搭配中只有一个词义。即在给定搭配中每个词只表现出一个词义。不同搭配所对应的词义是不同的,如果能找出对多义词排歧最有用的搭配,则可以用它来解决多义词问题。考虑的搭配类型有多义词左、右两边的第一个词,多义词在窗口长度为左右K 的上下文的词。在对多义词进行手工标注后,按上述搭配类型进行统计,计算对数似然比:

????????????)|2Pr()|1Pr(log

i i n collocatio sense n collocatio sense abs (1.5)

之后得到的数据按降序放在决策表中。由上式可以看出,能够较好地表示词义的搭配的似然比较大,位于决策表较前的位置。

大连理工大学硕士学位论文

-9-

1.2.2 基于词典的排歧方法

如果一个词没有语义范畴信息,我们可以求助于它的一般语义描述。比如可以依赖词典和义类辞典中的语义定义。在这方面的研究中,主要有3种不同的信息类型。

Lesk[11]直接使用词典中的语义定义。Yakowsky[7]提出了怎样把词的语义范畴应用到上下文的语义范畴和排歧判断中。在Dagan and Itai[12]的方法中则是从一个双语词典得到不同语义的翻译,通过分析它们在外语语料中的分布来进行排歧。

1.2.2.1 基于语义定义的排歧

Lesk[11]提出了一个新的消歧思路,认为词典中词条本身的定义就可以作为判断其语义的一个很好的依据条件。方法使用的假设是:一个词的词义和定义该词义的释义词之间存在明显的语义关系。

但是这种方法并不成功。Lesk 报告说:《Pride and Prejudice 》的样本片断中只有50%-70%的词被正确地标上了词义。这种方法的缺点表现在三方面:

1)当多义词的上下文与其对应的释义文本无重叠词或重叠词较少时,无法确定该词的正确词义;

2)多义词的释义文本中的一些词(如虚词)与多义词的意义联系不大,但在排歧过程中同等对待,由此导致判断错误;

3)由于释义文本中的词本身可能是歧义的,在利用释义文本进行排歧时只对释义文本与多义词周围的词的重叠度进行计算,没有考虑词在意义上的重叠。

1.2.2.2 基于义类词典的排歧

基于义类词典的排歧方法使用语义范畴信息(semantic categorization ),这些语义范畴信息一般都由义类词典或带有主体范畴的词典给出。基于义类词典的排歧方法的基本原理,上下文中词汇的语义范畴大体上确定了这个上下文的语义范畴,并且上下文的语义范畴可以反过来确定词汇的那一个语义被使用[6]。Walker[13] 和Yarowsky[7]在词义消歧的研究中分别提出了基于义类辞典的消歧算法。

Walker 提出的算法中使用的基本信息是词典中给每个词指定的一个或多个主题码(subject code )。如果一个词指定了多个主题码,那么假设它们就对应于这个词的不同词义。设)(k s t 为上下文中多义词w 的词义k s 的主题码。那么,通过统计义类词典中可

以把)(k s t 列为可能主题的上下文的词的个数,就可以对w 进行排歧处理。选择带有最

高统计值的语义作为排歧的结果,算法描述如下:

Comment: Given: context c

一种基于AdaBoost.MH 算法的汉语多义词排歧方法

-10-

For all senses k s of w do

Score (k s ) = ∑c in v j k c v s t )),((δ

End

Choose )(max arg 'k s s score s k =

这种算法的一个问题是,一般的主题范畴并不适合于特殊领域。Yarowsky 提出了一个基于贝叶斯分类器的变种算法来完成排歧处理。

1.2.3 无指导的排歧方法

由于有指导的学习方法依赖于人工标注的语料,要求大量的人工劳动,并且由于标注规模有限,存在严重的数据稀疏问题,因此现在许多学者致力于研究无指导的学习算法。

无指导的学习过程是具有隐含变量的学习过程,学习过程依赖的训练集是不带词义标记的语料库。如自举的无指导方法、基于词典的无指导方法、基于双语语料库的无指导方法和自动聚类的学习方法。

1.2.3.1 自举的无指导的学习方法

自举是Hearst[14]提出的一种减少人工标注语料数量的词义排歧的学习方法。首先手工标注一个初始的语料集,并用这些知识标注新的实例。如果标注的新实例具有较高的可信度,则将新标注的实例收入例子集,重新学习统计数据。实验表明,每个词至少要有10个实例,同样需要大量的手工标注的工作。

Yarowsky[15]也给出了一种自举的学习方法.算法的核心是建立在一个搭配一个词义或一个话题一个词义的约束下的自举过程。算法主要有以下几步完成:

1) 在大规模语料库中找出所有多义词的例子;

2) 对于每个词的所有可能的词义,识别出表示这些词义的种子的例子;

3) 使用前面介绍的决策表算法进行学习,得到用于词义排歧的决策表;

4) 将决策表应用到整个例子集,重新对多义词的例子进行标注;

5) 使用一个话题一个词义的约束,对决策表进一步扩充;

6) 重复3-5直到训练参数保持稳定。

1.2.3.2 基于双语语料库的无指导学习算法

Gale[16]提出从对齐双语语料库中学习词义排歧知识的方法。 如:多义词“sentence ”有两个词义:(1)法律上的“判刑”,(2)语法上的“句子”。可以从对齐的双语语料库中知道该多义词在当前的句子中被翻译成那个义项。这种不用人工标

大连理工大学硕士学位论文

注语料,通过使用对齐的双语语料库,就能获得大量的该多义词的排歧实例。Dagan提出了使用后一种语言的语料库的统计数据,学习前一种语言的词的排歧方法。利用一个多义词不同词义对应不同目标词这一特性,首先从源语言进行句法分析,识别出词间的句法关系,通过双语词典将它们映射为另一种语言中的所有可能的句法关系,这些可能的句法关系能够从这些语言的大规模语料库中学习得到。这两种方法都存在很大的缺点,而且正确率不高。

1.2.3.3自动聚类的学习方法

Shutze[17]采用聚类的方法避免人工的标注工作,使用了向量空间模型。首先得到一个多义词在大规模语料库中的每次出现,将它们表示为一个词向量,然后将多义词周围的词分别用上下文向量表示,则这个多义词的词向量就是这些上下文向量的质心向量。采用EM聚类算法对词向量进行聚类,将词向量分成若干个词义向量,每个向量代表一个词义,由人工区分每个向量所对应得词义。这种方法的缺点是需要人工对应各词义向量的词义,并且很难完成大规模词义排歧的工作。

1.3面临的主要问题

目前在词义排歧问题的研究中,主要存在两个方面的问题:

1.3.1上下文选择

上下文是提供多义词词义信息的唯一途径,换句话说,所有词义排歧的工作都有赖于多义词上下文所提供的词义排歧知识。提取这些知识的方法一般有两种:词袋(bank-of-word)的方法和提取关系信息的方法。词袋的方法就是提取目标词上下文的一定窗口范围内的词,组成一个集合。提取关系信息的方法指上下文中的信息与目标词的信息按与目标词的关系组织,这些关系包括句法关系、短语搭配关系、选择性限制关系等。因为后一种方法需要使用句法分析器,并且目前还没有达到实用,所以现在大多数方法选取上下文中信息时都采用词袋的方法。

在提取上下文的信息时,有三类上下文可供选择:局部上下文、话题上下文和领域上下文。在局部上下文选择时使用的窗口长度从几个词到整个句子。话题上下文一般确定从多义词周围的几个句子范围内获取信息,在当前,话题上下文的选择方法在词义排歧中并没有得到广泛的应用。领域上下文提供在某一领域中多义词经常表现得词义信息。如主题词表在机器翻译中发挥很大的作用,但是领域上下文信息在词义排歧中的作用还不很明显。

-11-

一种基于AdaBoost.MH算法的汉语多义词排歧方法

1.3.2词义的划分

目前确定多义词的词义的方法是根据词典资源提供的词义信息。不同词典在划分词义时具有不一致性。词义排歧在确定词义信息时面临的一个重要问题是确定使用词义的颗粒度。许多学者发现有些词典给出的词义信息对自然语言处理来说太细,这样太细的词义给词义排歧的研究带来了困难,甚至有时连人都无法区分这些词义[4]。

1.4词义排歧的评测方法

给定各种词义排歧的方法,很难对这些方法的结果进行比较。原因在于这些测试方法在测试条件上有很大不同,主要是测试文本类型不同和测试词的歧义程度也不相同。

不论何种排歧算法,判断正确的标准的最终因素还是人。由人事先对多义词排歧,之后将这样的结果作为评价算法排歧是否正确的标准。但不同人在手工标注时有较大的不一致性。

词义排歧结果的评测问题已经成为目前词义排歧领域所关注的问题,许多人致力于研究各种评测方法。如Church和Yarowsky[21]等希望确定词义排歧的上限和下限,但目前还没有实现。

因为词义排歧并不是任务的结果而只是一个“中间”任务,它的主要贡献在于对机器翻译和信息检索等应用领域的帮助,因此可以将词义排歧的评测放在具体的应用中。本文采用的评测方法主要是对排歧结果本身的评测。

对排歧结果本身的评测独立于应用,也称为性能评测。是目前大多数词义排歧方法采用的一种方法,方法的关键是选用不同的测试点评测排歧结果。将系统给出的词义排歧结果与标准答案比较,计算其正确率和召回率。

1.5本文的工作

本文主要研究汉语词义排歧知识获取以及相应的排歧方法。

1)在词义排歧的模型中引入有指导的AdaBoost.MH算法。根据在每个给定的上下文中多义词的词义的唯一确定性,对传统的适合多类多标签分类问题

的AdaBoost.MH算法进行了改进,使其适合单标签分类的词义排歧问题。

该方法首先通过简单决策树算法对多义词上下文中的知识源进行学习,产

生准确率较低的弱规则,然后通过AdaBoost.MH算法对弱规则进行加强;

经过若干次迭代后,最终得到一个准确度更高的规则,即为最终的排歧模

型。

-12-

大连理工大学硕士学位论文

2)人工标注了3000句语料,作为有指导的AdaBoost.MH算法的训练语料。

为完成标注语料库的工作,通过对大规模语料的统计,对《同义词词林》

进行了扩充,新加入未登录词21200个,词义22627个。为《同义词词

林》在大规模正式文本的词义标注的研究奠定了基础。

3)给出了一种简单的终止AdaBoost.MH算法中迭代的条件。即当封闭训练的正确率达到95%以后,开放测试的第二个极大值点处终止迭代过程。然后

选择两个极值中的较大者的迭代次数作为最终的迭代次数。

4)在获取多义词上下文信息的过程中,引入了一种新的知识源。为获取多义词上下文中的知识源,本文在采用传统的词性标注和局部搭配序列等知识

源的基础上,引入了一种新的知识源,即语义范畴。实验结果表明语义范

畴知识源的引入有助于提高算法的学习效率和排歧的正确率。

5)给出了一种通过WWW资源自动建立适合多义词排歧的标注语料库的方法。通过实验验证得到的语料库的可用性。

-13-

一种基于AdaBoost.MH 算法的汉语多义词排歧方法

-14-

2 面向WSD 的AdaBoost.MH 算法模型

机器学习是对具有学习能力的计算机算法以其经验不断改进其完成任务效果的研究。它是人工智能的一个领域,是知识获取的一个过程,其关键在于学习。学习是一个系统的改进,这种改进可以使该系统更有效地处理同样的工作。获取知识正是学习的本质。学习的关键是构造对目标的表示。这种表示可以是符号描述、算法描述、模拟的模型、控制过程、神经网络、图形等等。将要学习的信息提供给系统,通过分析、归纳、演绎信息,构造出对目标的表示,为新信息提供进一步学习的指导。这就是学习的过程。

我们所用到的机器学习是一种归纳学习,即对已分类的数据,通过归纳其分类的原因,产生一些概念性描述作为学习的结果。例如,通过对温度,湿度,有无风等观测结果的分析来判断是否适于打高尔夫。由归纳学习的一种算法一决策树算法,利用温度,湿度,有无风等探索性信息计算生成决策树,然后将其变换成分类准则的集合。这些分类准则即为学习的结果。

在第1部分介绍的许多学习算法,它们的准确率各不相同。我们希望每个学习算法都有较高的准确率,但这在实际中不易做到。Boosting 算法是提高预测学习系统能力的有效工具,在POS[18]和文本分类[22]中得到成功应用。

Boosting 算法的主要思想是把多个不太准确的弱规则合并为一个高精度的分类规则,弱规则由弱学习器(Weak Learner )产生,这些弱规则组合得到最终规则,即通过学习得到的分类规则。

2.1 基本概念

1) 学习算法

对已知数据信息通过分析、归纳其被分类的原因,生成数据特征的描述作为学习的结论。用来完成这种过程的计算机算法称为学习算法。我们把需要用Boosting 方法进行改进的精度不高的算法称为弱学习算法(Weak Learner ),也称为弱学习器。

2) 训练集

训练集(Training set )是已知的数据信息,即所谓弱学习算法用于获得学习结论的样本集合。它包含 N 个样本,每个样本有观测值i x 和标识值i y 组成,其中i x 是属性值(多元指标)的一个向量,属于样本空间X ;每个i y 为i x 的类别标识,属于一个有

限标识空间Y 。

相关主题
文本预览
相关文档 最新文档