首页 理论教育 基于统计的词语相似度计算方法

基于统计的词语相似度计算方法

时间:2022-02-27 理论教育 版权反馈
【摘要】:7.2.1 基于统计的词语相似度计算方法利用统计技术计算词语间语义相似度是一种非监督的机器学习方法。基于大规模语料库的词语间语义相似度计算这种方法的基本假设为:近义词或同义词之间具有相同的上下文信息。②基于文档向量空间模型的算法根据文档向量空间模型,将语料库中的所有文本作为一个文本空间,将词典中所有的词视为一个词空间。
基于统计的词语相似度计算方法_文本自动标引与自动分类研究

7.2.1 基于统计的词语相似度计算方法

利用统计技术计算词语间语义相似度是一种非监督的机器学习方法。根据统计用数据,即数据源,可将此方法分为基于大规模语料库的计算方法和基于普通词典的方法。

(1)基于大规模语料库的词语间语义相似度计算

这种方法的基本假设为:近义词或同义词之间具有相同的上下文信息。基于大规模语料库的方法在机器翻译领域中研究得很多,它的方法主要包含有词汇共现、向量空间模型、基于语法分析等。

①基于词汇共现分析的算法

基于词汇共现分析的算法的前提假设就是同义词或者相关词经常一起出现,经常一起出现的词是同义词或者相关词。利用词汇在上下文(或者说是共现窗口)中的共现信息,筛选罗列出一批共现频率较高的词汇作为相关词。美国加利福尼亚州伯克利大学的元数据研究计划中[2],通过分析语料库中每篇文献的题名、文摘和主题词字段中所有词汇的共现信息,从而对于每一个主题词依据共现的频率的大小可以获得一批共现词汇,然后根据共现频率计算词对的相关程度,构建一个供检索使用的词汇表。

②基于文档向量空间模型的算法

根据文档向量空间模型(VSM),将语料库中的所有文本作为一个文本空间,将词典中所有的词视为一个词空间。两个词语之间的语义相似度为对应的特征矢量之间的相似度。每个词的特征矢量可以被看成特征空间中的一个点。两个词的特征矢量之间的相似度可以根据特征空间中两点之间的距离进行度量。常用的方法为余弦法、系数法等。Hsinchun等人利用此方法从语料库中进行了信息提取[3]。针对一些低频词,Crouch在VSM中采用TF-IDF权重因子进行了词的区分,并根据此方法自动构建同义词表[4]。针对稀疏数据问题,Deerwester等人提出了一种将信息组织成语义空间结构的方法[5],即潜在语义索引方法。潜在语义索引方法已经被证明是对传统的向量空间技术的一种改良,拓展了向量空间模型。

③基于语法分析的算法

Gregory利用此方法进行了名词相似度的计算,而其他词性的词则没有进行处理。在词语间语义相似度的计算时,他采用了加权的Jaccard系数计算方法[6]。此外,Dekang利用词语之间的语法依赖关系对词语相似度进行了计算,即从文本语料库中提取具有依赖关系的三元组(w,r,w′),依据最大似然估计计算三元组的信息量,最后得到两个词的相似度[7]

④改进的基于大规模语料库的方法

传统的基于语料库的方法是利用事先准备好的生语料或熟语料库进行词语间相似度的计算的。但是这种方法不便于词汇的更新,难于发现未登录词的同义词。随着Internet的迅速发展,越来越多的“知识”可见诸于网络上,因此,如何有效利用这些信息来识别同义词,是Web挖掘中一个很有意义的课题。对此有研究的主要是Turney[8],Derrick[9]等。

在基于大规模语料库的方法中,数据稀疏问题其实是不可避免的[10—11],由于训练语料库不可能无限大,许多词汇之间的共现信息在语料库中没有出现或者只出现一两次,这时利用最大似然估计的方法估计出的概率不可靠。为了修正这种不可靠的估计,同时留出一部分概率给未出现的事件,各种平滑算法被提出来,其基本思想是给已经出现的事件的次数打折扣,然后将多余的概率分配给未出现的事件。平滑算法包括修正语料库中已出现事件的概率和估计未出现事件的概率。研究者已经提出多种平滑和折扣技术,如插值折扣、Kaza平滑、Lee’s Alpha-skew Divergence平滑等[11],这些方法都可以对未出现事件和小事件进行不同程度的概率平滑处理,在一定程度上缓解了训练语料不足造成的评估错误。

基于语料库的方法比较客观,综合反映了语词在句法、语义、语用等方面的相似性和差异,但是这种方法比较依赖于训练所用的语料库,计算量大,计算方法复杂;另外,受数据稀疏和数据噪声的干扰较大。

(2)基于单语词典的词语间语义相似度计算

这种方法的基本假设为:在单语词典中,近义词或同义词的释义(或定义)字段中含有相同的词语,或者近义词或同义词之间通常会用于一般词语的释义(或定义)中。这种假设类似于利用引用与被引用的关系来度量网页间的相似度。

该方法的主要步骤如下:①把整个词典的词汇构建成一个有向的词典图,词典中的每一个词汇相当于图中的一个顶点,如果在U词的定义或者注释中出现了V词,那么图中就有一条从U指向V的弧(即表示U顶点和V顶点之间有一条有向的边);②对于每一个给定的词汇W,构造一个邻近图Gw,该邻近图是G的一个子图,子图中的顶点包括指向给定词汇W的词和W所指向的词;③把邻近图的信息利用邻近矩阵A来表示;④利用不同的算法计算两个词汇之间的相似程度。

计算两个词汇相似度的算法主要有:基于欧几里得距离的向量方法、Kleinberg算法、ArcRank算法[12—13]

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈