结合潜在语义分析与点互信息的同义词抽取

2014-02-25 05:37马海昌张志昌赵学锋孙飞
电脑知识与技术 2014年1期

马海昌 张志昌 赵学锋 孙飞

摘要:同义词在信息检索、自动文摘、情感分析、机器翻译等应用中都发挥着重要的作用。该文提出在大规模语料中结合潜在语义分析与上下文互信息进行同义词挖掘的方法,分析了不同的词汇上下文窗口选择、权值计算、潜在语义分析降维、余弦相似度计算在同义词抽取中的作用。实验结果表明,同义词抽取的效果明显提高。

关键词:同义词;同义词抽取;点互信息;潜在语义分析;余弦相似度

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2014)01-0128-05

1 概述

词汇知识是自然语言处理中最基本且最重要的资源之一。各种词汇关系中,同义词被广泛应用于信息检索的查询扩展等各个方面,能提高文献数据库和网络检索的效率,实现检索的智能化;并能应用于词表、本体、语义网络等知识系统的构建和互操作性的实现,以及应用在自动标引、自动文摘、自动分类、机器翻译、自动问答等自然语言处理和信息抽取领域。同义词抽取为其它信息的抽取提供了基础性支持,可以对本体、知识库、词典进行正确性检测,并对其进行扩充和完善。因此,抽取并构建大量的中文同义词语料,对自然语言处理、信息检索各应用领域的性能提高具有重要意义。

但是,随着互联网的飞速发展,文本信息的爆炸式增长,使得利用人工方式抽取大量文本信息的难度日益增大。因此,研究如何从海量的文本信息中方便、快捷、准确、全面、自动地抽取知识(如“同义词”)变得异常重要。

自然语言处理和信息检索领域中的同义词的概念不等同于语言学中和日常生活中的同义词,不考虑其感情色彩和语气;与语言学上严格定义的同义词相比,其含义更加宽泛,主自然语言处理和信息检索领域中的同义词的概念不等同于语言学中和日常生活中的同义词,不考虑其感情色彩和语气;与语言学上严格定义的同义词相比,其含义更加宽泛,主要是指一个或多个能够相互替换、表达相同概念的词或词组[1],主要包括学名与俗名(如“电子计算机”与“电脑”)、全称与简称(如“奥林匹克运动会”与“奥运会”)、新称与旧称(如“北京大学”与“京师大学堂”)、型号与代号(如“土星5号运载火箭”与“神农五号”)、书面语与口语(如“聊天”与“谈话”)、同素逆序词(如“演讲”与“讲演”)、大陆与台湾的称谓差异(如“操作系统”与“作业系统”)、外来语译名(如“奥巴马”与“欧巴马”)、异形词(如“笔划”与“笔画”)、语义近似词(如“尊敬”与“尊重”)等。

目前,大部分中文同义词语料是人工构建的。人工构建的语料的优点是准确性高,能够保证一定程度的质量;缺点是耗时费力,主观性强,更新滞后,覆盖面小,构建的语料库规模较小,构建不当往往会对下一步的应用造成消极影响。另外,随着社会的快速发展、科学技术的不断进步和中国对外交往的逐渐扩大,各领域的新名词新术语不断涌现,人工构建的同义词词典就无法及时体现随时代变化的动态语言现象。因此,迫切需要一种从海量的文本中自动抽取同义词的方法。基于此,该文研究了结合潜在语义分析与上下文互信息的同义词抽取。

接下来的几部分详细介绍了本文的思路。第二部分主要介绍了相关研究;第三部分给出了结合LSA与上下文互信息的同义词抽取方法;第四部分说明实验方法和结果,给出相应的分析;第五部分进行总结,并展望未来的工作。

2 相关研究

大规模语料的同义词抽取的难点是如何表达两个词汇之间的相似程度,即计算两个词汇的相似度,进而在词汇相似度的基础上识别同义词。常见的计算词汇相似度的方法分别是:1)依赖于已有语义分类词典的方法[2];2)利用大规模语料进行基于分布假设的方法[3-4]。

基于语义词典的方法必须依赖语义词典。语义词典往往是由人工按照词汇的语义类别组织词汇而形成的一个树状层次结构。在计算词汇相似度时,利用词典中两个词汇之间的层次。基于语义词典的词汇相似度或者同义词抽取方法存在的问题是:人工构建语义词典耗时费力;语义词典的收词规模往往有限,而且收纳的词汇难以做到及时更新,这都会影响词汇相似度的计算和同义词的抽取;受限于词典编撰者个人的经验知识,无法反映大规模语料库中词汇真实的意义和用法,最终导致性能不佳。因此现有的研究更多地是采用大规模语料库的方法。

基于大规模语料库的同义词抽取或者词汇相似度计算方法的研究首先基于词汇的分布性假设,即“相似的词汇出现在相似的上下文环境中”[5]。选取词汇的上下文特征并表示为向量,然后计算向量之间的相似度作为它们的相似度。基于语料的方法综合反映了词汇在句法、语义、语用等方面的相似性和差异性,因此它比较客观。但这种方法计算量大、数据稀疏、数据噪声的干扰较大及依赖于训练的语料库;如何克服上述缺陷,达到缩小分布相似与语义相似的差距的目的。因此,该文使用了潜在语义分析与上下文互信息结合方法对大规模语料进行同义词抽取。

3 结合LSA和互信息的同义词抽取

3.1基本思想

本文使用了搜狗實验室网站提供的2008年7月中旬关于新闻的语料作为研究对象,该语料共包含384个文本文件,大小为4.42G。

我们首先提取了语料的之间的内容,并把文件编码格式由GBK转化为UTF-8,然后,利用标点符号“。!?”进行断句处理,再利用北京理工大学张华平研制的分词软件NLPIR汉语分词系统对所有文本进行了自动分词和词性标注,把语料中出现的所有名词、动词、形容词设置目标词。统计目标词的频次并删除出现10次以下的目标词,以目标词为基准选取前后窗口为3的上下文词作为它的上下文特征。例如:日本/ns 强烈/a 地震/n 导致/v 公路/n 路面/n 开裂/v;设“导致”为目标词,它的上下文特征分别为“日本/ns”、“强烈/a”、“地震/n”、“公路/n”、“路面/n”、“开裂/v”。

在预处理的语料中抽取同义词,利用两方面的信息。首先,利用潜在语义分析(Latent Semantic Analysis,LSA)方法对语料的词—文档矩阵进行分析;同时,在奇异值分解之后的词汇语义降维矩阵中,使用余弦相似度方法计算两个词汇的相似度。其次,若一个目标词i处在另一个目标词j中上下文中,使用点互信息(Pointwise Mutural Information,PMI)计算这两个目标词的互信息值PMI(i, j)。最后,将词汇在LSA分解结果的相似度和互信息综合起来,当两个词汇的余弦相似度与它们的互信息PMI(i, j)和大于某阈值,则认为它们两者是同义词。

3.2词汇的点互信息(PMI)特征

3.2.1 点互信息PMI的计算

互信息[3,6]是信息论中的一个测度,可以用来度量两个词汇之间的相似性。使用向量空间模型把每个目标词都构造成特征向量,特征向量的每个维度表示一个特征。使用目标词与其点互信息(PMI)表示上下文词对目标词的权值。利用PMI公式如下:

[PMI(wi,cj)=P(wi,cj)P(wi)×P(cj)=tf(wi,cj)×Tcount(wi)×count(cj)] (1)

其中:tf(wi,cj)是目标词wi与其上下文词cj共现的频次;T表示为语料中出现词的总数;count(x)表示语料中词x出现的次数。

3.2.2基于词汇点互信息向量的相似度计算

特征向量构建完成后,词汇之间语义的相似度就转换为计算向量之间的相似度。使用余弦相似公式为:

[cos(wi,wj)=cos(wi,wj)=w∈T(wi)?T(wj)(weight(wi,w)×weight(wj,w))w∈T(wi)weight2(wi,w)×w∈T(wj)weight2(wj,w)] (2)

其中:T(w)是出现在w的上下文的词,w为上下文词,weight为利用(2)计算得出的权重。当cos(wi,wj)大于某个阈值时认为wi,wj为同义词。

3.3 潜在语义分析(LSA) 的词汇相似

3.3.1潜在语义分析理论

潜在语义分析(Latent Semantic Analysis, LSA) [Landauer & Dumais, 1997][7,8]是一种用于知识获取和展示的计算理论和方法。为了实现LSA思想,需要通过数学方法建立潜在语义空间模型并利用数学中矩阵奇异值分解(Singular Value Decomposition, SVD)理论来实现。LSA的基本思想是首先构造一个m[×]n的词—文档矩阵C,每个词只会在少量文档中出现,因此C是高阶稀疏矩阵。对C进行SVD分解(设C的秩=r,存在k,k

[C≈Ck=UkkVTk] (3)

其中:由U的前k列组成的Uk是m×k矩阵,即压缩到k维空间的词向量;由Σ的前k行、前k列组成的Σk是k×k矩阵,即矩阵C的前k个奇异值;由V的前k行组成的Vk是k×n矩阵,即压缩到k维空间的文档向量。若k太大,则语义空间接近标准的向量空间模型,同时失去词之间的依赖能力,存在噪声且计算量比较大;若k太小,保留的重要语义结构太少,无法把握运算的结果;因此根据因子分析理论和具体实验来确定k值。在阈值给定的情况下,选取前k个最大主因子,可以令k满足以下贡献率不等式[16]:

[1kai1raj>θ] (4)

其中:θ为包含原始信息的阈值,可取为40%,50%,60%,……。贡献率不等式是用来衡量k维子空间对于整个空间的表示程度。但是这个数值可能会很大,不便控制其规模,考虑到向量运算的响应速度和存储空间限制,对维数规定其范围,一般k值在100~300之间。

3.3.2词-文档矩阵的构建

前面分析了LSA理论,词-文档矩阵的构建主要依据词与文档的内在关系。因此,文档的集合作为训练语料构造一个词-文档矩阵C,采用tf-idf方式对词进行权值计算。公式(6)[7]如下:

[cij=|tfij×log|Nndi+0.5||i-1n(tfij)2×log2|Nndi+0.5|] (5)

其中:cij为词ti在文档ci中的权重;tfij为词ti在文档ci中的频次;N为训练文档的总数;ndi为训练文档集中出现ti文档数,分母为归一化因子。

词—文档矩阵C是一个高阶稀疏矩阵,利用LSA对C进行降维得到近似C的词—文档矩阵,去除了大量因词汇的同义或多义而产生的“噪声”;使用余弦相似得到两个词汇的相似值更精确。

3.3.3基于潜在语义分析的词汇相似度计算

词—文档矩阵C构建后,使用SVD对C分解,每个目标词w取C的前两部分U和Σ构成新的词—文档矩阵A,利用公式(8)得到w在文档中权重,w在所有文档中权重构成它的特征向量。k为定值时两个目标词之间的相似度计算转化为计算两个目标词向量的余弦相似度。公式如下(9):

[cos(wi,wj)=cos(wiwj)=m=1kwim×wjmm=1k(wim)2m=1k(wjm)2] (6)

其中:k 表示词—文档矩阵的维数,wxm表示目标词x的第m维权值。

3.4 LSA与PMI结合的词汇相似度计算

本文提出了利用LSA与PMI结合的两个目标词之间相似度计算方法,目标词wi与wj相似度等于wi与wj的余弦相似度加上wi与cj的上下文PMI值与wj与ci的上下文PMI值之和的一半。当wx出现在wy的上下文中,cy就是wy;否则,p(wx,cy)=0。公式如下(10):

[Sim(wi,wj)=λcos(wi,wj)+(1-λ)[PMI(wi,cj)+PMI(wj,ci)]2=λ×m=1kwim×wjmm=1k(wim)2m=1k(wjm)2+(1-λ)×tf(wi,cj)×Tcount(wi)×count(cj)+tf(wj,ci)×Tcount(wj)×count(ci)2] (7)

其中:k 表示詞—文档矩阵的维数,wym表示目标词y的第m维权值,tf(wi,cj)为语料中上下文词cj与目标词wi共现的频数,T为语料中所有出现词的总数,count(x)为语料中x出现的频次,λ为权重因子且λ∈[0,1]。Sim(wi,wj)大于某个阈值时,认为wi,wj为同义词。

4 实验与结果

4.1 评价方法

为了评价文本所提出的同义词抽取方法的效果,选择哈尔滨工业大学信息检索研究室的《同义词词林》(扩展版)作为评测标准。扩展版对原先《同义词词林》中属于同一词群的词汇进一步的细分、扩展后,词汇层次等级达到了5层。基于类别大小的考虑,一般使用2、3、4层进行评价,第2层有94个类,第3层有1400个类,第4层有4229个类。该文只使用第4层的评价结果。考虑到从语料中同义词抽取的准确性和全面性,使用正确率、召回率及F指标作为评价指标,分别计算它们的微平均和宏平均值。

4.1.1 微平均指标

顾名思义,微平均以每个语义关系为一个计算单元,评测公式[1]如下:

正确率:[P1=AA+B×100%] (8)

召回率:[R1=AA+C×100%] (9)

F指标:[F1=P1×R1α×R1+1-α×P1] (10)

其中:A为返回的结果中出现正确的同义词数目;B为返回的结果中出现错误的同义词数目;C为未返回但确实是正确的同义词数目;α为正确率相对于召回率的重要程度,α∈[0, 1]。为了平衡F值中正确率和召回率的权重相等,达到评测较好效果,α = 0.5,F指标的计算公式(11)如下:

[F1=2×P1×R1P1+R1] (11)

4.1.2宏平均指标

宏平均以每个词汇为一个计算单元,对每个词汇的评价指标计算公式[1]如下:

词汇I的正确率:[Pi=AiAi+Bi×100%] (12)

词汇I的召回率:[Ri=AiAi+Ci×100%] (13)

词汇I的F指标:[Fi=Pi×Riβ×Ri+1-β×Pi] (14)

其中:Ai为返回的结果中词汇I的正确的同义词数目;Bi为返回的结果中词汇I的错误的同义词数目;Ci表示未返回的但确实是词汇I的正确的同义词数目;β为词汇I的正确率相对于召回率的重要程度, β∈[0, 1]。同理为了使词汇I的正确率和召回率的权重相等,β = 0.5,词汇I的F指标计算公式(12)如下:

[Fi=2×Pi×RiPi+Ri] (15)

宏平均值计算公式如下:

正确率:[P2=1NiPi] (16)

召回率:[R2=1NiRi] (17)

F指标:[F2=1NiFi] (18)

其中:N表示训练语料中被评测词汇数。

4.2结果分析

基于本文提出方法的同义词抽取实验中,由公式(6)可得到k秩的近似矩阵Ck,取k = 150、 θ = 75%,本实验分别取矩阵Ck的前两部分Uk、Σk的乘积得到一个新矩阵。利用公式(10),通过实验结果来检验当λ 取不同值时的F指标性能。同时,当两个词之间结合上下文信息和潜在语义分析的相似度值超过一定阈值之后,则认为它们互相是同义词。

本文从关于新闻的大规模语料中利用所提出的方法抽取得到庞大的同义词集。为了便于评测,根据语料中词语的特点,使用哈工大的《同义词词林》扩展版作为评测标准,随机选取了200个名词、200个动词、200个形容词作为样本进行人工评测。实验中,当Sim(wi,wj)> 0.974818548528时,我们认为wi与wj是同义词。实验结果表明F指标与λ的关系如下图1所示;可见当λ= 0.8时抽取的目标词的相似度性能最佳。

利用公式(11)、(12)、(13)、(19)、(20)、(21)得到評测结果如表1所示。

从图1、表1中可见,无论是名词、动词还是形容词,微平均与宏平均指标的值均增加。LSA方法对语义空间的维度进行降维,消除语义表达中的“噪音”;因此,正确率的增长率优于召回率的增长率。

5 结论与展望

在自然语言处理信息检索的各种实际应用中,同义词都具有重要的价值。该文提出在大规模语料中利用潜在语义分析结合词的上下文互信息来抽取同义词的方法。LSA从词语之间的相关性出发,通过分析大量文本中词语的使用关联,提取出潜在的语义空间结构,有效地获得词汇的语义知识,但由于LSA方法本身的计算量和所需存储空间巨大,同时也仅是简单地选择目标词的上下文作为特征向量,没有考虑句子语法结构中所包含的词汇之词的更深层次的语义关联信息,从而影响了LSA对文本内容的处理能力。因此通过将LSA方法和词汇上下文互信息特征结合起来,使得名词、动词、形容词的正确率、召回率、F指标均得到提高。

参考文献:

[1] Hagiwara M, Ogawa Y, Toyama K. Selection of effective contextual information for automatic synonym acquisition.Proc.COLING/ACL, 2006:353-360.

[2] 刘青磊,顾小丰.基于《知网》的词语相似度算法研究[J].中文信息学报,2010,24(6):31-36.

[3] 王石,曹存根,裴亚军,等.一种基于搭配的中文词汇语义相似度计算方法[J].中文信息学报,2013,27(1):7-14.

[4] 石静,吴云芳,邱立坤.基于大规模语料库的汉语词义相似度计算方法[J].中文信息学报,2013,27(1):1-6.

[5] Harris Z. Mathematical structures of language [D]. Wiley, New Jersey, 1969.

[6] 裘国永,王娜,汪万紫.基于互信息和遗传算法的两阶段特征选择方法[J].计算机应用研究,2012,29(8),2903-2905.

[7] 余正涛,樊孝忠,郭剑毅,等.基于潜在语义分析的汉语问答系统答案提取[J].计算机学报,2006,29(10),1889-1893.

[8] 刘磊,曹存根,张春霞,等.概念空间中上下位关系的意义识别研究[J].计算机学报,2009,32(8),1651-1661.