基于知网的无指导词义消歧

2015-05-29 12:23陈浩
电脑知识与技术 2015年10期

陈浩

摘要:词义消歧仍然是自然语言处理中一个重大的挑战,在自然语言处理的一开始,词义消歧就被认为是自然语言处理的中心任务之一。这篇文章提出了一种无导词义消歧的方法,该方法采用二阶context构造上下文向量,使用k-means算法进行聚类,最后通过计算相似度来进行词义的排歧.实验是在抽取术语的基础上进行的,在多个汉语高频多义词的两组测试中取得了平均准确率82.67%和84.55%的较好的效果。

关键词:词义消歧;Hownet;二阶context,k-means聚类

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2015)10-0067-02

1 概述

在自然语言里有些词语在不同的语言环境中有不同的语义,我们把它称为多义词,多义词的存在给自然语言的很多问题带来麻烦[1]. 由于多义词的频繁出现,给自然语言处理中的很多领域,比如机器翻译,自动文摘等造成困难。词义消歧的好坏已经关系到自然语言中的很多问题,成为自然语言处理的重要的关注点。

20世纪90年代以前,人工智能的方法被广泛应用于词义的消歧[2]。人工智能的方法需要人工的设计一些规则,使词语消歧的开销增大,覆盖面变小。到了20世纪90年代,出现了大规模的语料库,并且很多语料库是标注过的,从而使词义消歧进入一个新的时期,准确率也有所提高。Wilks和Lesk在1998年[3]提出了一种词义排歧的方法,它是根据义项和上下文的匹配程度,如果不能找到合适的匹配程度的上下文,则无法进行词义排歧。1998年,语言学家Yarowsky[4]通过在大规模语料库寻找凸显词,利用义类词典来进行排歧。文献[5]提出向量空间模型的方法,把多义词的上下文放到一个向量空间中去,通过比较它们的相似度来确定多义词的确切词义,在向量空间模型中,多义词被看作一个空间中的向量。

本文是一种基于知网的无指导词义消歧的方法,它具有如下几个特点:

1)通过聚类的方法来对多义词的上下文进行分类。

2)为了从上下文中获得更多的信息,采用了二阶上下文的方法

3)通过确定k值来,用k-means方法进行聚类,提高聚类的效果。

2 基于知网的无指导学习方法

我们提出了一种词义的消除歧义的方法,使用二阶上下文的方法把多义词的上下文向量化,目的是要确定多义词在词典中的概念定义。这种方法可以由机器自动完成的。

2.1 使用知网进行词义消歧。

[6]知网是用来描述汉语或英语所代表的概念属性之间的关系的一个数据库,在对多义词进行消歧中,我们主要应用其中的知识字典。.

2.1.1知识字典的记录模式

在知识字典里,每条记录都包含四项内容,这四条记录用来描述词语的概念,在这四条记录里,词语用W_X表示,词语例子用E _X表示,词语词性用G_X表示,概念定义用DEF表示,我们通过词义消歧来确定某个多词义在具体的语境中是第几个DEF。

2.1.2 知网中的义项结构

比如对于多义词沽,在知网中的描述是这样的,其中No是032339,G_C是v,W_E是Sell,其义项是sell|卖,commercial|商,对于No是032340,W_C是沽,G_C是v,W_E是buy,其义项是buy|买,commercial|商。这是多义词沽在知网中的2个义项,一个是卖,一个是买,我们可以确定在具体某个语境中是哪个义项。

每个多义词都有一个同义词的集合,而同义词集合中的词义也可能有几个意思,我们用k-means的方法对其进行聚类,这样我们只要找出其中平均距离最小的一个类就可以了,而距离最小的那个类中的上下文应该就是正确的上下文了,这些上下文的集合就是这个同义词的上下文。

2.2 k-means聚类方法在二阶上下文的应用

K-means聚类算法[7]是数据挖掘领域经常使用的一种聚类方法,其特点是比较简单而且收敛速度快。在使用K-means聚类时,我们首先面临的一个问题是把上下文表示成数学上可处理的形式,我们采用二阶上下文的方法来把多义词进行向量化。

我们可以首先采用文献[8]的方法进行术语抽取,抽取了术语以后我们引入一个参数n来测试出现次数多的词语,把出现次数多的词语作为特征词,在一个上下文中至少抽取出一个词语,如果有多个特征词出现,则把这些向量相加。

在一个大的数据库中查找包含多义词“包袱”的文本,然后构造部分二阶上下文,每个上下文的词语都是一个向量,然后把这些向量相加就是这个义项的向量。

接着我们用采用k-means的方法进行聚类,其中k表示最后聚成的类数。如何确定最终聚成的类数k呢?我们开始设k=n,但是也许有些义项在上下文中并不会出现,于是我们采用一种给k打分的方法来确定 k,对于k=2,3…n的每一个数值,计算距离,然后确定距离最近的一个就是最好的k的值。

通过这种方法可以确定一个k值,我们以多义词“包袱”为例,在近500个文本中有48个上下文,k的确定方法见下表1。

2.3 计算相似度

我们可以用距离计算公式来计算上下文和义项的距离,距离比较近的就是相似度高的,也就是我们要找的义项。向量空间中的一个点用来表示一个上下文的内容,相邻间距离近的就是那个义项。

3 实验结果

3.1 本实验以知网为数据库

算法步骤:

[步骤1:从语料库中找个n个句子,每个句子里都包含多义词l.

步骤2:对n个句子进行聚类,使用k-means方法聚类

步骤3: 对于每个多义词l找出它的m个上下文,然后构造二阶上下文的同义词集合,

这个义项就用这个同义词集合来表示。

步骤4: 计算每个义项和步骤2中用k-means方法聚成的类进行距离计算,距离比较近的就是我们所要找的义项。\&]

3.2 实验2

我们以词林作为词典,这样在步骤3时,需要找出词林中的几个具体的义项,然后对于其中的每一个义项构造同义词集合,再构造二阶上下文,那么每个义项的同义词集合构造的上下文就代表这个义项,具体数据见下表2。

通过比较,发现使用现在的方法在词义消歧上有比较好的效果,在准确率上有一定程度的提高。

4结论[9]

在本文中,我们在一个语料库中选取若干个含有多义词的语句,我们认为和多义词的上下文相似的上下文的义项就是正确的义项[10].

通过实验[11],我们发现我们提出的方法具有可行性,下一步可以从以下几个方面继续进行研究:

1) 选择更好的特征词,对于提高聚类的效果有很大的帮助。

2) 选择其他的聚类方法来提高聚类的效果。

3)可以选取标注好的语料库来检验词义消歧的效果。

参考文献:

[1] 鲁松,白硕,黄雄,等.基于向量空间模型的有导词义消歧[J].计算机研究与发展,2001,38(6): 662-667.

[2] 黄昌宁,李涓子.词义排歧的一种语言模型[J].语言文字应用,2000(3):85-90.

[3] Nancy Ide,Jean Veronis.Computational linguistics: special issue on word sense disambiguation[J].Computational Linguistics,1998,24(1):1-42.

[4] Yarowsky,David.word-sense disambiguation using statistical models of Rigets categories trained on large corpora[C].Proceedings of COLING-92,Nantes,France,1992

[5] 鲁松,白硕,黄雄.基于向量空间模型中义项词语的无导词义消歧[J].软件学报,2009,13(6):1082-1089.

[6] 董振东,董强知网[EB/OL].http://keenage.com.

[7] 行小帅,潘进,焦李成.基于免疫规划的K-means聚类算法[J]计算机学报,2003,26(5):605-610.

[8] Patrick Pantel,Dekang Lin.A Statistical Corpus-Based Term Extractor[C].Canadian Conference.on.AI,2001:36-46.

[9] Word sense Disambiguation Improves Statistical Machine Translation[C].proceeding of the 48th Annual Meeting of the Association for Computational Linguistics,2010.

[10] Chiang D. Hierachiacal phrase-based translation To appear [C] .Computational Linguistics,2007,33.

[11] Roberto Navigli and Mirella Lapata 2007 Graph connectivity measures for unsupervised word sense disambiguation [C]. proceeding of the 20th International Joint Conference on Artificial Intelligence.