文本相似度计算的方法

更新时间:2024-01-20 作者:用户投稿原创标记本站原创 点赞:4977 浏览:18058

【摘 要】文本相似度计算是数据挖掘领域中一项基础而又重要的技术,好的相似度计算方法可以大大提高信息检索、查询等系统的效率.本文通过对文本相似度计算方法概念的研究,提出并分析了基于知网体系的文本相似度计算方法.

【关 键 词】相似度;文本相似度计算;知网

1.引言

随着计算机技术和网络技术的不断发展,各行各业的人们都能通过网络平台自由的发布和下载信息,使得信息量不断增加,其中有大量重复和无用的信息.怎样提高效率,轻松快捷地在这些信息中提取真正需要的东西,是如今文本挖掘领域的热点和难点.

文本信息是一种非结构化或半结构化的信息,它是现实生活中能获取的大部分信息的存在形式.尽管图像、视频等多媒体信息资源飞速增加,文本信息仍然占着相当大的比例,几乎占据了70%以上[1].因此,文本数据的挖掘已成为数据挖掘领域中的一个重要课题.

2.文本相似度计算概述

2.1相似度的含义

相似度计算是机器翻译,自动问答、查询检索等信息处理的基础技术.目前并没有一个统一的相似度定义,都是基于具体应用给出的.人们习惯用模型和公式来表示相似度的含义,如向量空间模型、布尔模型、概念模型等.

其实,相似度被应用于不同的领域,它所代表的意义也不一样.比如基于实例的机器翻译,一个词语将会用几个意思相同或相近的词语进行解释,这就侧重于考量词语之间的相似度;在FAQ自动问答系统中,用户查询的问句需要能迅速的在数据库中找到匹配问句的答案,这考量的是句子与句子之间的相似度;在文本查重、版权维护与剽窃检测系统中,相似度则用段落与段落之间的相似度来度量;在信息检索中,需要对数据库中的文本集合进行分类、聚类、排序等操作,这就需要分析计算文本与文本之间的相似程度.另外,相似度的计算不应该单纯依靠词语的相近或者句子段落等的相似,因为不同领域的知识属性也对相似度起到一定的影响.因此在知识含量这个层面上,相似度还应该包含语义的理解.

2.2相似度算法的性质

相似度算法应具有以下几个性质:1)自反性:组成文本的词语、句子等与其自身具有相似性[2].2)单调性:文本的相似度在一定范围内是递增或递减的.3)对称性:判断文本D1和文本D2的相似,即是判断D2和D1相似,反之亦然.4)传递性:检测设有三个文本D1,D2和D3,有D1和D2相似,D2又和D3相似,则D1和D3也相似.

上述四个性质不难理解,但严格的说,相似度算法不能使用传递性.因为在对不同的两两文本计算相似度时,提取文本的分量可能是不同的.

检测设对两个文本作相似度计算,首先抽取D1和D2的相似特征项,这些特征项应该具有共同的属性,然后两两对应组成相似单元,每组用Si表示,则:

集合F等于{S1,S2,S3..,Sm},代表D1和D2存在的m个相似单元.

其中:Si等于(D1i,D2i),0≤Si≤1

如果计算出来的Si为0,说明D1和D2完全不同;

如果Si为1,说明D1和D2完全相同.

2.3文本相似度计算的作用

1)提高了查询的效率

如今用户对信息检索的要求不断提高,而很多重复、无用的信息却在不断增长.尤其是在网络方面,用户搜狐、百度、谷歌等搜索软件进行查询检索时,当然希望等待的时间能够减少,而查询的结果更贴近需求.文本相似度的有效计算能够去除大量的多余的信息,提升了查全率和查准率,提高了用户查询的效率.

2)缩减存储文本信息占用的空间

可以设想,在网络如此迅猛发展的今天,如果不经过任何相似度过滤,光是网络信息的存储,该需要多么庞大的存储空间如果使用了相似度计算,用户就能够根据相似度计算的结果,设定一个相似度阈值,仅存储这个相似度阈值以下的文本信息,节省了存储多余文本所占用的空间.

3)维护版权,避免剽窃

目前公开的学术期刊、论文很多,为了尊重他人的成果,维护知识产权,文本相似度计算被用来检测两个文本的相似程度,从而避免剽窃.比如国内的论文反抄袭软件,比较著名的清华同方公司开发的和武汉大学开发的,都使用了文本相似度计算技术.


3.基于知网的文本相似度计算

3.1知网知识简介

知网,HowNet是一个常识知识库,不论是英文词语还是中文词语,知网将用其所代表的概念来表述世界.概念之间的关系可以用属性值来表示.

知网认为,不论任何事物都是随时在运动和变化着的.这里的事物要包括物质和精神两个方面.当事物从一种状态变换为另一种状态,其属性值也会随着改变.例如树,树的生长发育是其主要状态.随着一颗树的树龄(属性)一年比一年大{属性值},树的年轮(属性)会越来越多{属性值};随着四季的交替,树叶的颜色(属性)由绿变黄{属性值}.另外,一棵树不断生长,它抵抗自然界的能力(精神)会更强大{属性值}.

通过计算机,知网建立了一个网状知识系统,它的重要思想是体现概念的共性和个性,还有概念之间、概念的属性之间的各种关系.例如:“人”是“教师”和“学生”,“医生”和“病人”的共性,而不同的社会角色是他们的个性,“教”与“学”,“医”与“患”是属性之间施者与经验者的关系.通过这种方式,知网使得计算机能够描述和处理知识.

3.2知网的相似度计算

概念与义原是知网系统中最基本的表意概念.概念是由若干义原按照一定知识表述形式描述的.义原是用于描述一个概念的最小意义单位,不可再分,是知网层次结构上的一个节点.知网系统一共采用了1500基本义原,这些义原相互组合来表示成千上万的词语.

根据知网的知识结构特点,检测设有两个词语w1和w2,分别用概念s1,s2,等,sn,和s1,s2,等,来表示,n和m均是正整数,则它们之间的相似度计算公式为:

(公式3.1)

即:取各个概念相似度的最大值.

3.3文本相似度计算的性能评估

目前用于评价文本相似度算法的方法很多,有平衡系数F-Measure、准确率precision和召回率recall[3]等.若研究的文本集合较小,对检索出的相似度文本没有顺序的要求,可以采用precision和recall这两个参数来进行算法的性能评估.

准确率是指准确检测出的相似文本的数量占检测出的所有相似文本的百分比.召回率是指准确检测出的相似文本数量占实际相似的文本总数的百分比.

检测设待检测的文本集中有N个文本,本文把检测到的相似文本数量记为SD,检测到的不相似的文本数量记为ND,而文本集中未检测到的相似文本数量用NS表示,未检测到的不相似文本数量用NN表示,则得到下述公式:

4.总结与展望

缺乏坚实的理论依据和不能完全拟合文本的特性,是现有的文本相似度计算模型的弱点.中文文本的理解和处理相对于英文文本,在实现计算机处理方面更具有难度.目前,在不同领域很多相似度计算方法被提出并应用于实践,值得我们研究和借鉴.其中相似度阈值大多是按照经验人工设置的,今后可以从这方面入手,研究自动设置阈值方法,使得计算更准确,系统效率得到提高.