面向英文辅助写作的词语相似度应用

更新时间:2024-02-08 作者:用户投稿原创标记本站原创 点赞:6235 浏览:20951

摘 要:词语相似度计算是自然语言处理领域中的关键问题之一,在机器翻译、信息检索等方面有着重要的应用价值.在英文辅助写作系统中,因为缺少相关提示,用户起初往往不能明确自己的查询需求,导致不能快速而准确地检索到需要的信息,从而影响用户使用满意度.结合了语义词典WordNet和利用上下文信息对词语语义的约束性来区分语境变换带来的词语间相似度的差异的方法,提出了一种英文辅助写作系统中的相关提示词的生成方法,该方法生成优质的相关提示词,帮助用户快速且准确地检索到所需信息.

关 键 词:

中图分类号:TP391.3文献标识码:B文章编号:2095-2163(2011)01-0051-05

0引言

词语相似度计算[1-2]研究的是采用怎样的方法来计算或比较两个词语的相似性.词语相似度计算在智能检索、文本聚类、文本分类、自动应答、机器翻译等领域都有广泛的应用.在不同的应用中,词语相似度有不同的用途,例如,在基于实例的机器翻译中,词语相似度能够表示文本中两个词语的可替换程度;在信息检索中,利用词语相似度能够提升信息检索的准确率和召回率;在问答系统中,答案和问句的符合程度可以通过计算两者含有词语之间的相似度来衡量.本文将研究词语相似度计算在英文辅助写作系统中的应用.


1英文辅助写作系统

英文辅助写作系统是一个英汉双语的例句检索系统,用户可以使用中英文双语检索自然语言处理领域英文论文中的地道例句,同时获得例句所属论文的相关信息(作者信息、论文题目、论文的来源),为写作英文学术论文的用户提供帮助.用户可以输入想要表达的中英文词组和短句,系统会为用户查找与输入相似的自然语言处理领域的文章中的地道的英文例句,用户可以通过观察和学习检索到的例句,组合出地道的、满足需要的英文表达.该英文辅助写作系统主要功能如下:

(1)英文短语搭配推荐生成

主要针对两个词的query输入,给出语义相似的搭配推荐.用户可以比较推荐的搭配和输入,选择出更地道的英文表达.系统短语搭配参考结果页面如图1所示.

(2)翻译推荐生成

建立中译英的统计机器翻译系统,其中语言模型的语料选用的是ACLAnthology抽取的共1716418句的语料,可以体现出更地道的英文表达.翻译模型的语料采用的是CNKI的摘 要,这是个大规模的双语平行语料.对用户的每个中文查询词,后台的在线机器翻译系统进行翻译,返回前十的nbest的结果,以供用户选择.同时用户输入的中文query后返回的英文检索结果是按照评分最高的翻译进行检索获得的结果.系统翻译候选结果页面如图2所示.

(3)同义词推荐和单个输入的搭配推荐

①同义词推荐:利用WordNet生成单个词query的同义词推荐,包括其可能的四种词性的同义词推荐,分别为名词的、动词的、形容词的和副词的.

②单个输入的短语搭配推荐

与(1)的短语搭配参考类似,只是需要其短语搭配生成的步骤.这里短语搭配推荐可能有很多,不便于在页面全部显示,所以按照其在检索库中的精确匹配次数进行排序,只取前五个搭配在页面显示.同义词和短语搭配推荐的结果均按照其在检索库中的精确匹配次数排序后以降序的顺序显示.系统单个输入的同义词推荐和常用搭配推荐结果页面如图3所示.

(4)例句检索库:检索的语料来源于ACLAnthology[3]从1979年至今的所有论文中有相关信息(题目、作者等)的文章的句子.文章总数8173篇,总句子规模有1716418句.语料库特点是句子都是地道的英文表达.

用户在实际使用该系统时,输入的检索词往往不能准确地检索到所需的例句,因为用户初始是不知道地道的英文表达的,这就导致用户可能需要进行多次检索,才能检索到最理想的例句,也可能一直检索不到,这将影响到用户使用的满意度.因此,需要给用户提供查询的相关词提示功能,帮助用户更快更好地使用该系统.该检索系统的相关词提示功能有多种,包括同义词推荐,两个词相似搭配推荐、单个词常用搭配推荐等等.笔者在本文中主要研究在该系统背景下的同义词推荐生成方法.

在该检索系统的实际运行过程中,发现用户在使用同义词推荐功能时,主要关注同义词推荐的第一个词是否是在自然语言处理领域中与查询词最相似的词.考虑到这一用户需求,首先利用语义词典WordNet生成通用领域的同义词候选集,然后进行特定语境环境下的词语相似度计算,对同义词候选集进行排序,为用户提供高质量的同义词推荐功能.

2相关研究

2.1WordNet

英文WordNet[4]是普林斯顿大学认知科学实验室开发的一部在线词典数据库系统,是基于英文的词汇语义网络系统.WordNet本质上是一个词汇概念网络,描述的是概念间的各种语义关系,WordNet中也规定了动词、形容词和副词的语义知识表示规范,其核心都是synset(同义词集合)以及概念之间的各种关系.

2.2词语相似度研究现状

国内外对词语语义相似度的计算方法大体可分为两类:基于统计的词语语义相似度计算方法[5-6]和基于语义词典的词语相似度计算方法[7-9].

基于统计的词语语义相似度计算方法是经验主义方法,是把词语相似度的研究建立在可观察的语言事实上,而不仅仅依赖于语言学家的直觉.这种计算方法是建立在两个词语语义相似当且仅当这两个词语语义处于相似的上下文环境中这一检测设的基础上,通过利用大规模语料库,将词语的上下文信息作为语义相似度计算的参照依据.

基于语义词典的词语相似度计算方法是基于语言学的理性主义方法,是利用语义词典,依据概念之间的上下位关系和同义关系,通过计算两个概念在树状概念层次体系中的距离来得到词语间的相似度.

3同义词推荐的生成方法

首先通过语义词典WordNet生成用户查询词在通用环境下的同义词候选集,然后利用基于上下文向量的特定语境下的相似度计算方法,计算同义词候选集中每个词与目标词在自然语言处理领域语境下的相似度值,最后将同义词候选集按照相似度值以降序关系排列显示给用户.

3.1同义词候选集生成

WordNet是一个英语词汇及其词法关系的数据库,同时也是一个英语词典.由于WordNet包含了语义信息,所以有别于通常意义上的字典.WordNet根据词条的意义将其分组,每一个具有相同意义的字条组称为一个synset(同义词集合).WordNet为每一个synset提供了简短、概要的定义,并记录不同synset之间的语义关系.WordNet的开发有两个目的:其既是一个字典,又是一个辞典,但比单纯的辞典或字典都更加易于使用,而且支持自动的文本分析以及人工智能应用.PyWordNet通过一些专门的工具方法将WordNet数据公开为一组Python数据结构.PyWordNet被组织成四个词典,分别对应WordNet2.0的四个部分――名词、动词、形容词和副词.词汇的单词形式是主键,每个记录都包括含义(sense)、同义词组(synonymset)、注释(glosse)和指针(pointer).


本文通过pyWordNet提供的接口访问WordNet数据库,从而获得用户查询词的同义词候选集列表.此时获得的同义词候选集列表是通用环境下的同义词,而且被认为与查询词的相似度都是相同的.但在特定语境环境下,这些同义词与查询词的相似度会出现不同,考虑到在向用户推荐时,需要把与目标词相似度最高的词排在最前以供用户优先选择,因而需要计算这个同义词集在特定语境环境下与目标词的相似程度.

3.2特定语境环境下的相似度计算方法

3.2.1上下文词语同现向量(CWCV)

特定语境环境下语义相似度计算方法建立在两个词语语义相似当且仅当这两个词语语义处于相似的上下文环境中这一检测设的基础上.为了计算两个词语之间的语义相似度,需要从语料中统计词语的上下文信息.在本文中,为每一个需要计算语义相似度的词语构造上下文词语同现向量(CWCV).

CWCV的定义:一个词语的上下文环境中含有丰富的有关该词的语义信息,在不同的上下文中一个词语往往具有不同的语义,因而可以用在上下文环境中与目标词以某种关系同现的、所有词语构成的向量来表示目标词语,这个向量就是CWCV.

3.2.2词上下文向量的生成

(1)通过简单的浅层句法分析,将训练集中所有文本的每一个句子都分解为若干个句法组,删除不太重要的句法组后,标记其中的核心词和修饰词.

(2)以一个关 键 词为中心,以句子为共现单位,通过对训练集内该词语的上下文词语进行统计,得出该词语的词上下文向量.用同样的方法得到其它关 键 词的词上下文向量.

利用上述方法生成的词上下文向量矩阵为:TCV[i][j]=邀Cij妖,其中,i和j的取值范围为[1..n],Cij为小于1的实数,表示第i个词语ti与第j个词语tj之间的上下文关系;第i行的值集合(Ci1,Ci2,等,Cin)即为第i个词语ti的词上下文向量,表示训练集中的n-1个词语与ti之间的上下文关系,可以看作是ti在训练集中的语义描述.

词上下文向量生成算法的主要步骤如下:

步骤1:用浅层句法分析工具将训练集中所有文本的所有句子都分解为句法组,只保留名词句法组和动词句法组,每个保留下来的句法组内进一步删除名词、动词、形容词之外的其它类型的词语,并区分出其中的核心词和若干个修饰词.

步骤2:设置并初始化词上下文向量矩阵TCV[n][n].

步骤3:生成矩阵,具体算法为:

for(i=0;i<训练集中的句子总数;i++)

for(j=0;j<句子中的词语个数;j++)

wij=第i个句子中的第j个词语;wik=第i个句子中的第k个词语;

if(wij和wik位于同一组且具有修饰关系或位于不同的句法组但都是核心词)

R=1;elseR=α;

noij=wij在向量空间特征集中的序号;noik=wik在向量空间特征集中的序号;

TCV[noij][noik]=TCV[noij][noik]+R;

步骤4:对TCV中每一个不为空的向量都进行规格化.

3.2.3基于词上下文向量的词语相似度计算

在上述词上下文向量矩阵的基础上计算任意两个词语之间的相似度,具体方法是:给定两个词语,从词上下文向量矩阵中分别提取各自对应的词上下文向量,直接计算这两个向量之间的余弦系数并将其作为词语之间的相似度值,计算结果保存到相似度矩阵中.词语相似度矩阵Sim的计算公式如下:

其中,Sim为下三角矩阵,i≥j,TCV[i]、TCV[j]分别为词语ti和tj的词上下文向量,Sim[i][j]为词语ti和tj之间的相似度,TCV[i][k]、TCV[j][k]分别为词语ti和tj的词上下文向量第k维的权值.

4系统相关实验

由于词语相似度是一个主观性很强的概念,现在还没有一个合适的词语相似度计算测试集,所以在本课题中的测试集来源于ACLAnthology随机选取的100个单词.文中通过人工观察的方法对这100个单词的同义词集相对于查询词进行排序,将该排序结果设定为参考排序,然后与系统排序进行比较.由于人工观察的方法主观性太强,同时用户在使用时主要关注与查询词最相似的词是否排在第一位,所以设定当人工观察排序结果中最相似词排在系统排序中的第一位且系统排序与人工排序最多有一个顺序不一致时,认为系统排序结果基本正确,并记录这100个单词的人工判定的最相似词在系统排序结果中的位置.

这里设定的baseline方法是只使用WordNet产生的同义词获选集的方法.

文中采用以下指标对算法进行评价:

(1)准确率(precision)的评测公式如下:

其中,N表示的是测试的单词总数,当人工观察的最相似词排在系统排序中的第一位且系统排序与人工排序最多有一个顺序不一致,此时认为系统排序结果正确.Ncorrect为系统排序结果判定为正确的个数.

(2)排序倒数(ReciprocalRanking,RR)是算法返回结果中正确结果出现位置的倒数,平均排序倒数是多次计算的RR的结果的平均值,利用如下公式:

其中,N表示测试单词总数,ni表示对于第i个查询单词的人工判定的最相似词在系统排序结果中位置ni.

(3)查询输入在例句检索系统中精确匹配次数可以直接反映该输入在自然语言处理中常见程度.例如,单词“show”在该例句检索系统中精确匹配的次数是14539,而单词“give”在该例句检索系统中精确匹配的次数是6625.第一个词明显比第二个词在自然语言处理领域中更常见.因此可以自动地通过精确匹配次数来评价同义词候选集中的每个词的常见程度.由于用户主要关注同义词推荐的第一词,所以分别记录测试集中每个词的同义词推荐在使用本文方法的排序和使用baseline方法的排序中第一个词的精确匹配次数A和B,然后两两进行比较:当A>B时,本文方法的个数增加1;当B>A时,baseline方法的个数增加1;当A=B时,本文方法和baseline方法个数不变.最后计算这两种方法的获胜比例.暂称该方法为C评价方法.实验结果如表1所示.

通过表1的准确率可以看出,本文的方法相比于baseline方法可以很好地选择出查询词的最相似词.通过MRR值可以看出,本文的方法相比于baseline方法可以对相似词语与查询词的相似程度给出一个合理的排序,即可以给检索系统提供一个准确的待扩展词的相似度排序.通过C评价方法,发现在100个测试词中,本文方法的获胜比例为44%,而baseline的方法的获胜比例只有16%,这说明本文方法产生的同义词推荐中与目标词最相似词的常见程度远大于baseline的方法.

在ACLAnthology语境下的相似度排序举例说明,对查询词cite的动词形态在WordNet的相似度和本文相似度如表2所示.

单词cite的通用环境下的同义词为refer、name、mentio-n、advert,在WordNet的相似度计算下,其相似度均为1.0,不能区分出与目标词cite的最相似词和获得相似程度的排序.而本文相似度在这里得到了较好的效果,单词refer在该语境下是与单词cite最相似的词,大量观察下这符合ACLAnthology使用情况.同时观察出单词advert在ACLAnthology没有出现,这说明在通用领域下的同义词可能在特定语境环境下与目标词完全不相似,两者不可替换.


5结束语

词语相似度计算在自然语言处理、智能检索、文本聚类、文本分类、自动应答、词义排歧和机器翻译等领域都有着重要的应用价值.本文将词语相似度计算的知识应用到英文辅助写作系统中,结合了语义词典WordNet和基于上下文的特定语境环境下的相似度计算的方法生成有序的同义词推荐.本文的方法在准确率、MRR以及本文设定的C评价这三个指标上远优于只使用WordNet的方法,同时本文的方法在准确率的评价中达到73%,基本满足用户的需求.