词语相似度算法的分析与改进
- 格式:doc
- 大小:40.00 KB
- 文档页数:11
文本相似度计算的缺陷分析与改进随着信息技术的发展,文本相似度计算在自然语言处理、信息检索和文本挖掘等领域中扮演着重要的角色。
然而,当前的文本相似度计算方法存在一些缺陷,限制了其在实际应用中的效果。
本文将对文本相似度计算的缺陷进行分析,并提出一些改进的思路。
一、缺陷分析1. 语义理解不足:当前的文本相似度计算方法主要基于词袋模型或者基于规则的方法,忽略了词语之间的语义关系。
这导致了计算结果的不准确性,尤其是对于一些含有多义词或者上下文有关联的文本。
2. 忽略上下文信息:文本的相似度计算常常忽略了上下文信息的重要性。
例如,两个句子中存在相同的词语,但是由于上下文的不同,其含义可能完全不同。
当前的方法无法很好地捕捉到这种上下文信息,导致计算结果的偏差。
3. 长度差异问题:文本的长度差异也会对相似度计算造成影响。
较长的文本可能包含更多的信息,而较短的文本则可能缺乏充分的信息支持。
当前的方法对于长度差异的处理不够准确,容易导致计算结果的失真。
二、改进思路1. 语义建模:为了解决语义理解不足的问题,可以引入深度学习的方法,利用神经网络模型来进行语义建模。
通过训练大规模的语料库,模型可以学习到词语之间的语义关系,从而更准确地计算文本的相似度。
2. 上下文建模:为了更好地捕捉上下文信息,可以考虑引入上下文建模的方法。
例如,可以使用循环神经网络(RNN)或者注意力机制(Attention)来对文本的上下文进行建模,从而更准确地计算文本的相似度。
3. 长度归一化:为了解决长度差异问题,可以对文本进行长度归一化处理。
例如,可以将文本进行截断或者填充,使得所有文本的长度相同。
这样可以避免长度差异对相似度计算的影响,提高计算结果的准确性。
4. 结合其他特征:除了考虑语义和上下文信息外,还可以结合其他特征来进行相似度计算。
例如,可以考虑词频、词性、句法结构等特征,从多个角度综合考量文本的相似度。
三、总结文本相似度计算在实际应用中具有重要的意义,但当前的方法存在一些缺陷。
词语相似度计算方法分析崔韬世麦范金桂林理工大学广西 541004摘要:词语相似度计算是自然语言处理、智能检索、文档聚类、文档分类、自动应答、词义排歧和机器翻译等很多领域的基础研究课题。
词语相似度计算在理论研究和实际应用中具有重要意义。
本文对词语相似度进行总结,分别阐述了基于大规模语料库的词语相似度计算方法和基于本体的词语相似度计算方法,重点对后者进行详细分析。
最后对两类方法进行简单对比,指出各自优缺点。
关键词:词语相似度;语料库;本体0 引言词语相似度计算研究的是用什么样的方法来计算或比较两个词语的相似性。
词语相似度计算在自然语言处理、智能检索、文本聚类、文本分类、自动应答、词义排歧和机器翻译等领域都有广泛的应用,它是一个基础研究课题,正在为越来越多的研究人员所关注。
笔者对词语相似度计算的应用背景、研究成果进行了归纳和总结,包括每种策略的基本思想、依赖的工具和主要的方法等,以供自然语言处理、智能检索、文本聚类、文本分类、数据挖掘、信息提取、自动应答、词义排歧和机器翻译等领域的研究人员参考和应用。
词语相似度计算的应用主要有以下几点:(1) 在基于实例的机器翻译中,词语相似度主要用于衡量文本中词语的可替换程度。
(2) 在信息检索中,相似度更多的是反映文本与用户查询在意义上的符合程度。
(3) 在多文档文摘系统中,相似度可以反映出局部主题信息的拟合程度。
(4) 在自动应答系统领域,相似度的计算主要体现在计算用户问句和领域文本内容的相似度上。
(5) 在文本分类研究中,相似度可以反映文本与给定的分类体系中某类别的相关程度。
(6) 相似度计算是文本聚类的基础,通过相似度计算,把文档集合按照文档间的相似度大小分成更小的文本簇。
1 基于语料库的词语相似度计算方法基于统计方法计算词语相似度通常是利用词语的相关性来计算词语的相似度。
其理论假设凡是语义相近的词,它们的上下文也应该相似。
因此统计的方法对于两个词的相似度算建立在计算它们的相关词向量相似度基础上。
汉语词语相似度计算方法分析【摘要】词语相似度计算在自动问答、智能检索、文本聚类、机器翻译等领域,词语相似度计算等领域有着广泛的应用,本文对词语相似度计算方法进行了介绍,并侧重介绍了基于《知网》的词语相似度计算方法。
最后对常用的两类计算方法进行了对比。
【关键词】词语相似度计算;知网1.什么是词语相似度汉语最基本的语义和语法单位就是词语,词语相似度计算用来研究用什么样的方法来计算或比较两个词语的相似性。
本文认为,词语相似度就是词语在语义上的匹配程度,取值范围为[0,1]。
词语相似度的值越大,说明两个词语的语义越相近;反之,则说明两个词语的语义差别越大。
特殊的,当值为1时,表明两个词语的语义完全相同;当值为0时,表明两个词语的语义完全不同。
2.词语相似度计算方法词语相似度计算方法大体上可以分为以下两类:2.1基于语料库统计的方法这种方法综合体现了词语在句法、语义还有语用等方面的异同。
该方法属于基于统计的定量分析方法,其应用前提是:两个词语语义相似,当且仅当它们处于相似的上下文环境中。
思想是统计大规模的语料,利用词汇上下文信息的概率分布进行词语之间的语义相似度的计算。
该方法能够相对精确、有效的度量词语的语义相似度。
比如计算词语相似度也可以利用词语的相关性来进行。
方法是事先选择一组特征词,接着计算这一组特征词与每一个词语的相关性,一般基于大规模语料选择这组词在某个词语的上下文中出现的频率作为度量词语相似度的相关数据,对于每一个词都可以得到一个特征词向量。
两个词的相似度就可以通过这些向量之间的相似度来衡量。
而向量之间的相似度,一般通过计算向量之间的夹角余弦值得出。
2.2基于某种世界知识(ontology)的计算方法该方法一般利用语义词典来进行词语相似度计算。
基于语义词典的词语相似度计算方法,以语言学和人工智能两方面为基础。
它基于语义词典,根据概念之间的上下位关系、同义关系进行计算。
这种方法建立在这样的前提下:当且仅当两个词语在概念间的结构层次网络图中存在一条通路(上下位关系)时,这两个词语具有语义相关性。
词汇语义相似度算法研究及应用摘要:介绍了当前国内外有关词汇语义相似度算法的研究现状,分析并对比了几种具有代表性的计算方法,并将几种常用的词汇语义相似度算法应用于FAQ中,分别采用准确率、召回率、F值以及MRR、MAP5个指标进行评价,根据相似问句的检索效果判断各词语相似度算法的优劣。
关键词:语义相似度;FAQ;VSM;HowNet0 引言词汇的语义相似度在自然语言处理领域有着不可替代的意义和作用。
然而词汇之间的语义关系是非常复杂的,使用一个简单的数值很难来度量词汇之间含义的相似程度。
同样的一对词语,在一方面看可能非常相似,但是换个角度就可能相差甚远。
所以,研究词语语义相似度离不开具体的应用背景,例如,在机器翻译应用中,词汇语义相似度用来衡量中文和英文文本中,中文单词与中文词语之间是否可替换;而在信息检索中,词汇语义相似度要体现用户查询所使用的关键词与用户实际查询目的在语义上是否一致。
1 词语相似度研究现状词语相似度主要分为基于语义本体资源、基于统计算法和将前两者融合的混合技术3种方法:利用语义资源计算词语相似度也可称为基于本体(或知识库)的词语相似度算法,主要根据专家人工建立的语义网络计算相似度。
利用统计技术计算词语间语义相似度采用的是无监督的机器学习算法,分为基于大规模语料库和基于普通词典等方法。
混合技术则结合统计技术和语义资源,取长补短,提高相似度计算的正确率。
1.1 基于语义资源的词语相似度算法近年来,一些诸如同义词词林、WordNet、知网这种大规模可量化的语言本体的诞生与发展,为进行真实文本的语义分析和理解提供了强有力的资源支持。
特别是最近几年“知网”等语义资源不断丰富发展,中文语义研究方向逐渐增多。
知网作为一个知识系统,是一个网而不是树,它主要反映概念的共性和个性,同时知网还着力反映概念之间和概念属性之间的各种关系。
而词语DEF之间的路径距离则代表了词汇语义的聚合程度。
1.2 基于统计的语义相似度算法基于统计的语义相似度方法建立在如果两个词语的含义相同或相近,则伴随它们同时出现的上下文也相同或相近。
汉语词语相似度计算方法分析汉语词语相似度计算方法分析随着人工智能的发展,自然语言处理技术的应用越来越广泛。
在自然语言处理中,汉语词语相似度计算是一个非常重要的技术。
汉语词语相似度计算可以用于文本相似度计算、信息检索等方面。
本文将介绍汉语词语相似度计算的常用方法及其优缺点,并对未来研究方向进行探讨。
一、基于词语相似度计算的方法1. 基于语义关联度的方法这种方法是根据单词的语义,计算两个词的相似度。
最常用的方法是基于词向量模型,如Word2Vec和GloVe。
Word2Vec是由Google开发的一种词汇嵌入模型,通过训练神经网络,实现将汉语中的词映射到一个高维空间中的低维空间中。
这个低维空间中有许多相似的词语靠的很近,而不相关的词语则距离较远。
GloVe也是一种词向量模型,可以通过计算共现矩阵,获取单词的向量表示。
2. 基于字形编码的方法这种方法是将汉字进行编码,然后计算两个词之间的相似度。
最常用的方法是基于编辑距离或汉明距离的方法。
编辑距离是指两个字符串从一个变为另一个所需的最少单字符编辑,包括插入、删除和替换。
汉明距离是指两个二进制序列在相同位置上不同的比特数。
这种方法优点是计算速度快,但缺点是不考虑语义关系。
3. 基于本体的方法这种方法是基于语义网络来计算两个词的相似度。
本体是一种广泛使用的语义标记方法,它描述了一组实体以及它们之间的关系。
通过将词汇与本体联系起来,可以获取词汇之间的语义关系。
本体可基于WordNet,共享本体或其他本体。
4. 基于语言模型的方法这种方法是基于词序列的概率模型计算两个单词之间的相似度。
最常用的是n-gram模型,其中n指模型中单词序列的长度。
n-gram模型可以通过计算两个单词序列的Jaccard相似度来计算单词相似度。
Jaccard相似度是通过计算词汇重叠度来度量两个集合的相似度。
二、各种方法的优劣分析1. 基于语义关联度的方法:优点:可以准确地计算语义相关性,并且对同义词、词形变化、多义词等有很好的处理能力,这是其他方法无法匹敌的。
语义相似度计算及其应用研究一、本文概述本文旨在深入探讨语义相似度计算的理论基础、实现方法以及其在多个领域的应用实践。
我们将首先介绍语义相似度计算的基本概念,阐述其在信息处理和自然语言处理领域中的重要性。
随后,我们将详细介绍几种主流的语义相似度计算方法,包括基于词向量的方法、基于深度学习的方法等,并对比它们的优缺点。
在此基础上,我们将进一步探讨语义相似度计算在多个领域,如信息检索、机器翻译、问答系统、情感分析等中的应用,并通过实例分析展示其在这些领域中的实际效果。
我们将对语义相似度计算未来的发展趋势进行展望,以期能为相关领域的研究和实践提供有益的参考。
二、语义相似度计算的理论基础语义相似度计算,作为自然语言处理(NLP)领域的重要分支,其理论基础主要建立在语言学、信息论、概率统计和机器学习等多个学科交叉融合的基础之上。
其核心目标在于度量两个文本片段在语义层面上的相近程度,从而实现对文本深层含义的理解和比较。
语言学理论为语义相似度计算提供了基本的分析框架。
根据词汇语义学的观点,词语的意义是由其在不同上下文中的使用方式决定的。
因此,在计算语义相似度时,需要考虑词语在特定语境中的含义,而不仅仅是孤立的词汇本身。
句法结构和篇章结构等语言学知识也为语义相似度的计算提供了重要的线索。
信息论为语义相似度计算提供了量化分析的工具。
在信息论中,信息被视为一种减少不确定性的度量。
语义相似度可以被理解为两个文本片段所传递信息的重合程度。
通过计算两个文本片段之间的互信息、条件概率等信息论指标,可以量化地评估它们的语义相似度。
概率统计方法也为语义相似度计算提供了有效的手段。
在概率框架下,语义相似度可以通过比较两个文本片段的概率分布来计算。
例如,潜在语义分析(Latent Semantic Analysis, LSA)和潜在狄利克雷分布(Latent Dirichlet Allocation, LDA)等概率模型,通过挖掘文本中隐含的主题信息,可以实现对文本语义的有效表示和比较。
词语相似度算法研究综述作者:李慧来源:《现代情报》2015年第04期[摘要]词语相似度计算方法在信息检索、词义消歧、机器翻译等自然语言处理领域有着广泛的应用。
现有的词语相似度算法主要分为基于统计和基于语义资源两类方法,前者是从大规模的语料中统计与词语共现的上下文信息以计算其相似度,而后者利用人工构建的语义词典或语义网络计算相似度。
本文比较分析了两类词语相似度算法,重点介绍了基于Web语料库和基于雏基百科的算法,并总结了各自的特点和不足之处。
最后提出,在信息技术的影响下,基于维基百科和基于混合技术的词语相似度算法以及关联数据驱动的相似性计算具有潜在的发展趋势。
[关键词]词语相似度;语义资源;语料库;维基百科;WordNet[中图分类号]TP18[文献标识码]A[文章编号]1008-0821(2015)04-0172-06词语之间的语义相似性研究是自然语言处理以及人工智能领域的基础性研究,如搜索、聚类以及歧义消除等,需要依赖于包含现实世界概念与关系的范围广泛的知识组织体系。
自然语言的词语之间有着非常复杂的关系,如上下位关系、同义关系、反义关系等。
词语相似度是对词语间复杂关系的数量化,是词语间语义相似紧密程度的一种定量度量。
目前,词语相似度的研究可以分为两类,一类是基于语料库的算法,通过统计大规模语料库,根据词语间信息量或者词语共现频率来计算词语相似度。
利用统计技术计算词语间语义相似度是一种无监督的机器学习方法。
第二类是基于语义资源的算法,也可被称为基于本体的词语相似度算法,主要根据手工建立的语义网络,通过计算词语间距离得到词语相似度。
另外,还有一类基于混合技术的词语相似度算法,通过将基于统计和基于语义的词语相似度算法集合起来,发挥各自算法的优势来计算词语相似度。
1 基于统计的词语相似度算法这种方法是利用词语之间的相关性来计算词语相似度,假设语义相似的词语之间具有相同的上下文信息,根据上下文信息的概率分布作为相似度计算的依据。
词语相似度计算
词语相似度计算是一种用于确定两个词语之间语义相似程度的
方法。
它在自然语言处理和机器学习领域中被广泛应用,可以帮助机器理解和处理自然语言文本。
一种常用的词语相似度计算方法是基于词向量的方法。
在这种方法中,每个词语都被表示为一个向量,向量的维度通常与词汇表的大小相同。
这些向量可以通过训练一个深度学习模型来获得,如Word2Vec、GloVe 等。
通过计算两个词语向量之间的相似性,就可以得到它们的相似度分数。
另一种常用的词语相似度计算方法是基于词语的语义关系的方法。
这种方法利用词语之间的关联关系来计算它们的相似度。
例如,可以使用同义词词林或WordNet这样的词典来获取词语之间的关系,如上位词、下位词、同义词等。
然后,通过计算两个词语在语义关系图中的距离或路径长度,就可以得到它们的相似度。
除了以上两种方法,还有一些其他的词语相似度计算方法,如基于语义角色标注的方法、基于语义框架的方法等。
这些方法都有各自的优缺点,适用于不同的场景和任务。
词语相似度计算在自然语言处理中有着广泛的应用。
例如,在信息检
索中,可以使用词语相似度计算来进行查询扩展或相关性排序。
在问答系统中,可以使用词语相似度计算来匹配用户问题和候选答案。
在机器翻译中,可以使用词语相似度计算来进行词语替换和生成更准确的翻译结果。
总之,词语相似度计算是一项重要的任务,可以帮助人们更好地理解和处理自然语言文本。
随着深度学习和自然语言处理技术的不断发展,相信词语相似度计算方法将会变得更加精确和有效。
基于《知网》的词语相似度算法研究刘青磊,顾小丰【摘要】基于《知网》的词语(句子)相似度计算通常是把义原(词语)之间的最优匹配做为运算的基本单位的,最终的整体相似度数值可由每一部分的相似度值通过适当的加权计算合成而来,这样的做法往往会造成一些匹配对的信息重复和结构不合理。
针对这个问题,该文通过统计出两个直接义原集合间的共有信息(共性)和差异信息(个性)来计算集合的相似度,并把此方法引入到词语(句子)的相似度计算中去。
最终的实验比对结果表明该文所采用的方法更为稳定和有效。
【期刊名称】中文信息学报【年(卷),期】2010(024)006【总页数】6【关键词】《知网》;词语相似度;句子相似度;共有信息;差异信息1 引言在信息检索、文本分类、信息抽取、基于实例的机器翻译等各领域中,词语相似度都有着广泛的应用。
刘群[1]把词语的相似度计算方法分为两类:一类是通过统计语料上下文中词语之间的相关性来得到其相似性,另一类是基于某种世界知识或者分类体系的方法,如Agirre[2]利用WordNet来计算英语词语的语义相似度,李峰[3]用《知网》[4]来进行汉语词汇语义相似度方面的研究。
基于《知网》的相似度计算方法通常是根据整体相似度可由部分相似度合成而来的思想,通过寻找两个词语义原集合间的最相似元素来进行一一匹配,词语的相似度就等于各匹配对的加权均值。
由于其计算的基本单位是一对一的义原匹配对,因此也就割裂了构成词语的各个义原间的内在联系,不能从整体的角度给出客观的义原匹配选择,并且由于较多的加权值和参数,使得最终的结果或多或少地会带有一些主观因素。
本文从信息论的角度出发,分别对两个义原集合间的共有信息和差异信息进行统计,并据此得出两个义原集合的相似度,最终的词语相似度计算是以集合为基本单位的。
2 《知网》中义原的相似度在《知网》中,是用“概念”来对汉语中的每一个词语进行描述和定义的,而构成这种概念描述语言的核心词汇就是“义原”,这里试以“打”的其中一个义项“weave|辫编”为例,其在《知网》中记录为:NO.=015492 W_C=打 G_C=V E_C=~毛衣,~毛裤,~双毛袜子,~草鞋,~一条围巾,~麻绳,~条辫子 W_E=knit G_E=V E_E= DEF=weave|辫编其中“weave|辫编”就是“义原”,“E_C”的用途在于为消除歧义提供可靠的帮助。
基于知网的词语语义相似度改进算法李蕾;杨丽花【摘要】词语语义相似度计算在很多领域都有广泛应用,而目前常用的基于知网的词语语义相似度计算方法由于未深入考虑同一棵树中的两个不同义原的可达路径上所有义原节点的密度对义原距离的影响,或未考虑义原深度与义原密度的主次关系,导致计算结果不够精确,从而使其应用受限.针对该问题,给出了一个新的节点间边权重函数,通过在边权重函数中引入两义原可达路径上所有义原节点的密度,并利用权重因子来调整义原深度和义原密度对义原距离的影响,从而提出一种改进的基于知网的词语语义相似度计算方法.实验结果表明,该方法可以更有效地提高词语语义相似度计算精度,比现有方法更具有实用性.【期刊名称】《计算机技术与发展》【年(卷),期】2019(029)004【总页数】5页(P42-46)【关键词】知网;词语语义相似度;义原密度;义原深度;义原距离【作者】李蕾;杨丽花【作者单位】南京邮电大学江苏省无线通信重点实验室,江苏南京 210003;南京邮电大学江苏省无线通信重点实验室,江苏南京 210003【正文语种】中文【中图分类】TP3110 引言词语语义相似度计算在信息检索[1]、基于实例的机器翻译[2]以及数据相似度检测等领域有着广泛的应用。
目前常用的基于知网的词语语义相似度计算方法大致可分为两类:一类是利用大规模语料统计词语的相关性,即基于统计的方法;另一类是根据某种世界知识计算相似度的方法,即基于世界知识的方法[3]。
其中,基于统计的方法是根据词汇上下文信息的概率分布计算词语语义相似度,该方法计算得到的结果精确度较高,但是需要依赖于训练所用的语料库,计算量比较大,计算方法也比较复杂。
此外,由于数据稀疏和数据噪声等因素对基于统计的方法干扰较大,故该方法一般很少使用[4]。
基于世界知识的方法通常是基于某个知识完备的语义词典中的层次结构关系进行计算,该方法简单有效,不需要用语料库进行训练,也比较直观和易于理解,但这种方法受人的主观意识影响较大,有时并不能准确反映客观事实[5]。
基于不同语义资源的词语相似度算法综述词语相似度研究作为人工智能领域中一项重要研究,被广泛应用于信息检索,词义消歧,机器翻译,语音自动摘要,分类和聚类等方面。
现有的词语相似度算法主要分为基于语义资源和基于统计两类方法,第一种也被称为基于本体的词语相似度算法,主要根据词语所处的语境来反应词语的词义,即根据不同的层次结构组织中词所处的上下位与同位关系来计算词语的相似度。
另一种也被称为基于大规模语料库的算法,研究上下文环境中各个词语之间出现的某种规律,利用统计技术计算的一种无监督机器学习的方法。
本文重点介绍基于不同的语义资源的词语相似度算法,对词语相似度算法的未来做了展望。
标签:词语相似度;语义资源;维基百科1 引言随着云时代的来临,大数据越来越受人们关注。
伴随着办公室无纸化推行,人们逐渐习惯于利用计算机进行数字化处理数据,自然语言处理的研究也飞速发展。
词语是自然语言处理的最小单位,词语相似度的计算在自然语言处理的各个领域占有很重要的地位。
词语相似度计算研究的是计算两个词语相似度的方法,词语之间有着非常复杂的关系,应用中常常将这种复杂的关系用简单的数量来度量。
可见词语相似度研究有广阔的应用前景和重大研究价值。
本文综合介绍了近年来基于几种常见语义资源的词语相似度算法和最新研究成果,对该领域的发展前景做出了展望。
2 基于Wordnet的方法Wordnet是由普林斯顿大学的心理学家,语言学家和计算机工程师联合设计的一个在线词典参考系统,在认知语言学理论下推动形成的覆盖范围非常广阔的词汇语义网。
Wordnet不像传统的在线词典按照字母排序构造而成,这个系统中的词语根据同义关系,反义关系,部分关系聚类分为代表某一类词汇概念的相关集合。
并在这些聚类后形成的集合之间建立起不同关系。
Wordnet主要代表算法是通过计算两个词语在本体结构分类的路径长度,本体库的统计特征,概念层次树上下位关系和同位关系或对词语涉及的边进行处理。
精准校验相似词语
【原创实用版】
目录
1.精准校验相似词语的重要性
2.常用的相似词语校验方法
3.如何提高相似词语校验的准确性
4.结语:相似词语校验在知识类写作中的应用
正文
在知识类写作中,精准校验相似词语是非常重要的。
相似词语虽然在拼写和形式上存在差异,但在语义和语境中可能具有相近的含义。
如果不进行精准校验,可能会导致表达不准确,甚至产生歧义,影响文章的质量。
因此,我们需要采取一些方法来对相似词语进行校验。
常用的相似词语校验方法有以下几种:
1.语境分析法:通过分析词语在句子中的语境,判断其含义,从而区分相似词语。
这种方法适用于语境较为明确的情况。
2.词义消歧法:根据词语在词典中的释义,结合句子的语境,进行对比分析,从而确定词语的准确用法。
这种方法适用于具有多个含义的词语。
3.例句参照法:查阅词语在以往的例句中的用法,以此为参照,判断词语在当前语境中的含义。
这种方法适用于具有较为复杂用法的词语。
4.向专业人士请教:遇到较为专业的相似词语,可以向相关领域的专业人士请教,获取准确的用法。
在实际写作过程中,如何提高相似词语校验的准确性呢?
首先,我们要提高自己的语言水平,增强对词语的敏感度。
其次,要积累丰富的语境和例句,以便在遇到相似词语时能够迅速找到正确的用法。
最后,要有严谨的态度,遇到不确定的词语要查阅资料,确保表达准确无误。
总之,在知识类写作中,精准校验相似词语是提高文章质量的关键。
词语相似度算法的分析与改进摘要:对现有的词语相似度算法进行分析,提出一种基于知网,面向语义、可扩展的词语相似度计算方法,通过对实验结果进行分析,所提出的词语语义相似度计算方法比以前的方法更好,在计算词语相似度时,准确率更高。
关键词:词语相似度算法;义原相似度计算;概念词的相似度计算;非概念词的相似度计算在建立主观题评分模型时,要判断句子的相似度,计算句子的相似度时,首先要处理的就是词语的相似度计算工作。
目前对词语的相似度计算人们已经做了大量的研究,提出了一些较有代表性的计算方法。
主要包括以下几种:1)基于字面信息的词语相似度计算这种算法的核心内容是:中文词语的构成句子中,一般较核心的内容都放在句子的后面。
句子后面的词语在句子中所起到的作用比靠前的词语大。
因此在对句子进行分析时需要给后面的字或词赋予较高的权值。
假设a和b分别代表两个词语,按照此算法,词语之间的相似度计算公式可以表示为公式1。
使用字面信息作为相似度计算的算法较简单,实现起来也方便。
但该算法准确率不高,尤其是对于语义相似的词语更是难于处理。
2)基于词林的词语相似度计算对于以同义词词林作为语义分类体系进行词语相似度计算的研究,王斌和章成志都曾作了相关探讨[1]。
其核心思想是使用两个词语的语义距离来表示词语间相似度。
当处理对象是一个词组或短语时,首先将其切分为义类词,并将义类词在词林的树状结构中提取出相关的语义编码,并对两个词语的语义编码进行相似度计算。
基于词林的词语相似度计算较好的解决了语义相似、词形不同的词语相似度计算,但由于语义词典的完备性问题,必然会存在部分不在语义词典中的词语而无法处理。
3)基于知网的词语相似度计算知网以概念作为描述对象,从关系层次上揭示词语的概念含义,并建立了概念关系网络,包含词语属性以及属性间关系[2]。
刘群、李素建从知网的关系描述出发,研究了同一个词义所具有的多个义原间的关系,并试图计算出这些义原在计算相似度时所起到的作用,并根据这种思想提出了使用知网的语义信息来计算词语相似度的算法。
该算法在计算概念词的相似度时较准确,但在计算概念词与非概念词,非概念词与非概念词的相似度时,准确率不高。
为克服这些问题,我们采用知网作为语义资源,结合信息论中的相关理论,提出了一种面向语义的、可扩展的、多策略混合的词语相似度计算模型。
1 义原相似度计算词语的相似度计算,最终还是要计算各词语的义源相似度。
在知网中,所有词语都包含义原信息,应用知网进行相似度计算时,第一步就是要计算义原的相似度。
文献中刘群从两个义原的距离出发,按照相似度的计算过程给出了一个计算词语间相似度的公式[3],如公式2所示:公式2中和表示两个义原;是和在知网中义原层次上的路径长度,是一个可调节的权值参数。
但是,此方法中的取值大小没有固定的判断方法,而且以距离的倒数作为相似度的计量基准也不能全面的表示出词语的相似度信息。
我对刘群提出的义原相似度进行改进,先给出义原深度的概念:定义1:义原深度,指义原在知网的语义层次体系中所处的层数信息,记为。
定义2:重合度,指知网中的两个义原和在深层含义中拥有相同祖先结点的路径长度,记为。
定义3:相异度,指知网中两个义原和在义原层次中沿着父节点逐层上移,直到两个节点相遇所走过的最短路径长度,记为从相异度的定义可知它与语义距离相同。
根据上面的义原深度、重合度以及相异度对义原的定义,我们使用下面的公式3来计算义原间的相似度:从公式3可看出,义原的相似度等于两个义原的相同部分与相同部分和相异部分之和的比值。
两义原相同部分与相异部分之和等价于两个义原各自的义原深度的和,因此公式3又可以写为公式4:采用上面的方法在计算义原相似度的过程中,利用了知网提供的上下位关系。
应用知网计算词语的相似度时,还要考虑词语间、词语和义原之间的相似度计算。
比较有效的做法是先把词语转化成义原表达式,再计算义原与义原之间的相似度。
2 概念词的相似度计算词语分为概念词和非概念词,概念词指的是需要计算相似度的词都是存在于知网中的概念,非概念词则相反。
在应用知网进行概念词相似度计算时,将其分为4个部分:①知网中首要基本义原,即词语属性中的def项中在第一位置的义原描述式;②知网中其他基本义原,即词语属性中的def项中除第一位置以外的义原;③知网中的关系义原,即词属性列表中的def项中的描述形式为:“关系义原=基本义原”,“关系义原=(具体词)”,以及“(关系义原=具体词)”;④知网中的符号义原,即词属性列表中的def项中使用类似”关系符号基本义原”或者“关系符号(具体词)”来描述信息的内容。
在应用义原描述进行相似度计算的过程中,将这4部分的相似度分别表示为和。
在这样的条件下,整个概念词的相似度计算表达式可以表示为如下公式5的形式:在公式5中,是可以调节的参数,用来调整各部分在计算中的重要程度,其关系满足:,且有有了整个概念词的相似度计算形式,下面分别计算这四个部分中每一个部分的相似度。
①知网中第一基本义原:假设在知网的义原中,有两个不相同的概念和,它们的第一基本义原分别记为和,根据公式4可以求出其相似度表达式为公式6:②知网中其他基本义原:假设在知网的义原中,两个互不相同的概念和,它们的其他基本义原分别记为集合和,那么这一部分的相似度计算过程如下所示。
算法1:其他基本义原的相似度计算③知网中的关系义原:在知网中的词语解释中,关系义原相似度计算可以认为是一个集合运算的过程,流程与②类似。
当前集合在对词语进行相似度计算时,首先要对词语的类型进行判断,根据判断的结果进行下一步的运算。
如果判断的结果不同,那么说明两个义原的相似度为0;如果判断的结果相同,则取出等号右侧的义原项,然后根据公式4计算其相似度。
④知网中的符号义原:在知网中的词语描述信息中,这一部分的配对分组和算法流程与关系义原描述式类似,即先判断其关系类型是否相同,然后根据判断结果做下一步的判断,只有当出现符号相同的情况下才去计算配对义原的相似度。
3 非概念词的相似度计算非概念词可以分解为两个或多个概念词。
如果能够根据构成非概念词的概念获得非概念词语对应的语义表达式,就可以按照概念词之间的相似度计算模型,通过语义表达式对非概念词进行语义相似度计算。
非概念词的相似度计算主要涉及三个部分:非概念词的概念切分、组合概念的语义确定和组合概念的相似度计算。
1)非概念语的概念切分对非概念词的切分工作用到的方式是逆向最大匹配法,将非概念词切分为一个词语串,例如:“私有化”→“私有”、“化”,“歌舞厅”→“歌”、“舞厅”。
2)组合概念的语义确定下面给出几个组合概念的定义:定义4:原子概念,原子概念指的是在知网中已经存在的概念描述。
在对非概念词进行切分时,原子概念可以作为其切分的根据,在语义表示上,原子概念具有固定的语义表达式。
定义5:基本组合概念,基本组合概念是指由两个原子概念组合在一起所构成的新词语。
我们可以从构成的两个原子概念的语义表达式中通过推理来得到基本组合概念的语义表达式。
定义6:扩展组合概念,扩展组合概念指的是由两个或两个以上的原子概念或者原子概念与基本组合概念组合在一起所构成的新词语。
我们可以通过两个或多个构成元素来推理出扩展组合概念的语义表达式。
定义7:组合概念,组合概念指的是基本组合概念和扩展组合概念的统称。
定义8:参照概念,指的是为确定在知网中的基本组合概念各义原间所包含的关系而提供的一个原子概念。
应用参照概念信息来生成基本组合概念的语义表达式,我们采用如下的算法。
首先假设基本组合概念s是由两个原子概念和所构成,在使用原子概念作为参照概念时,生成基本组合概念s的语义表达式的算法过程如下所示。
算法2:生成基本组合概念s的语义表达式初始化:def(s)=def(p2),ps(s)=ps(p2);ref_set= def(pref)-{ps(pref)};t= ps(s)与ps(pref)的概念相似度;if ( ) def(s)= ps(s)∪(def(s)∩ref_set );for each pi in def (p1) do最大相似度等于零, pos等于零;for each qj in ref_set do如过pi或qj为知网中的关系义原或者符号义原,则转换为普通义原if sim(pi,qj)>最大相似度 then最大相似度= sim(pi,qj); pos=j;endifendforif (pos>0) and (t×最大相似度 >ω) thenp pi, 且p的附加符号与qpos相同;elsep pi ;endifdef(s)= def(s)∪{p};endfor在算法2中,,用来调整参照概念在计算中的重要程度。
组合概念的语义表达式算法中,部分在实际应用时不同于一般意义上的集合相交操作,而是有其自己的操作方式,在本系统的实现中,运算方式如下面所示:首先,从两个候选集合中各任意抽取一个义原参与运算,并计算这两个义原的相似度;然后,如果计算的相似度值大于预先设定的阈值ξ,则相交运算的结果为p1,同时删除两个义原,如果相似度值小于或等于阈值ξ则直接删除义原p1;循环执行上面两个步骤,算法停止条件是def(s)为空或者ref_set为空。
对于扩展组合概念来说,其语义生成方式可以采用反向组合的运算过程来实现。
这里首先假设扩展组合概念ecc=p1p2…pn,计算ecc的语义表达式的算法为:首先,从候选集合中抽取出最后两个原子概念和,使用基本组合概念的语义计算方式计算这两个原子概念的组合语义,并记为def(ecc);然后,把组合语义def(ecc)看作是知网中一个原子概念的语义表达式,循环合并def(ecc)和,并将每次合并结果重新记为def(ecc);最后计算得到的def(ecc)就是扩展组合概念ecc 的语义表达式,并将其作为结果输出。
4 实验结果与分析我们采用的实验方式:采用人工判别的方法,给出了答案中一部分词对的相似度,由人工来判断这个数值是否与人的直觉相符合。
考虑程序运行时间的因素,在实验部分我们只对比了三种方法:①基于语句中的字面信息相似度计算方法;②基于知网的词汇语义相似度计算方法;③本文提出的方法。
按照前面提供的计算词语相似度的公式,根据对参数的训练,得出每个方法的最优参数,分别设定如下,来进行相似度的计算。
方法①:α=0.5,β=0.5;方法②:α=1.6,β1=0.5,β2=0.2,β3=0.17,β4=0.13,γ=0.2,δ=0.2;方法③:β1=0.5,β2=0.2,β3=0.17,β4=0.13,γ=0.2,δ=0.2,θ=0.5,ξ=0.6,ω=0.8;我们选取了10组词语,并把非概念词用下划线予以标注,结果如表1所示。