网站大量收购独家精品文档,联系QQ:2885784924

文本相似度算法..docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文本相似度算法.

文本相似度算法 Term frequency即关键词词频,是指一篇文章中关键词出现的频率,比如在一篇M个词的文章中有N个该关键词,则 (公式1.1-1) 为该关键词在这篇文章中的词频。 Inverse document frequency指逆向文本频率,是用于衡量关键词权重的指数,由公式 (公式1.2-1) 计算而得,其中D为文章总数,Dw为关键词出现过的文章数。 预处理→文本特征项选择→加权→生成向量空间模型后计算余弦。 预处理主要是进行中文分词和去停用词,分词的开源代码有:ICTCLAS。 然后按照停用词表中的词语将语料中对文本内容识别意义不大但出现频率很高的词、符号、标点及乱码等去掉。如“这,的,和,会,为”等词几乎出现在任何一篇中文文本中,但是它们对这个文本所表达的意思几乎没有任何贡献。使用停用词列表来剔除停用词的过程很简单,就是一个查询过程:对每一个词条,看其是否位于停用词列表中,如果是则将其从词条串中删除。 图2.2.1-1中文文本相似度算法预处理流程 过滤掉常用副词、助词等频度高的词之后,根据剩下词的频度确定若干关键词。频度计算参照TF公式。 加权是针对每个关键词对文本特征的体现效果大小不同而设置的机制,权值计算参照IDF公式。 向量空间模型的基本思想是把文档简化为以特征项(关键词)的权重为分量的N维向量表示。 这个模型假设词与词间不相关(这个前提造成这个模型无法进行语义相关的判断,向量空间模型的缺点在于关键词之间的线性无关的假说前提),用向量来表示文本,从而简化了文本中的关键词之间的复杂关系,文档用十分简单的向量表示,使得模型具备了可计算性。 在向量空间模型中,文本泛指各种机器可读的记录。 用D(Document)表示文本,特征项(Term,用t表示)指出现在文档D中且能够代表该文档内容的基本语言单位,主要是由词或者短语构成,文本可以用特征项集表示为D(T1,T2,…,Tn),其中Tk是特征项,要求满足1=k=N。 下面是向量空间模型(特指权值向量空间)的解释。 假设一篇文档中有a、b、c、d四个特征项,那么这篇文档就可以表示为 D(a,b,c,d) 对于其它要与之比较的文本,也将遵从这个特征项顺序。对含有n个特征项的文本而言,通常会给每个特征项赋予一定的权重表示其重要程度,即 D=D(T1,W1;T2,W2;…,Tn,Wn) 简记为 D=D(W1,W2,…,Wn) 我们把它叫做文本D的权值向量表示,其中Wk是Tk的权重,1=k=N。 在上面那个例子中,假设a、b、c、d的权重分别为30,20,20,10,那么该文本的向量表示为 D(30,20,20,10) 在向量空间模型中,两个文本D1和D2之间的内容相关度Sim(D1,D2)常用向量之间夹角的余弦值表示,公式为: 其中,W1k、W2k分别表示文本D1和D2第K个特征项的权值,1=k=N。 下面是利用模型进行余弦计算的示例。 在自动归类中,我们可以利用类似的方法来计算待归类文档和某类目的相关度。 假设文本D1的特征项为a,b,c,d,权值分别为30,20,20,10,类目C1的特征项为a,c,d,e,权值分别为40,30,20,10,则D1的向量表示为 D1(30,20,20,10,0) C1的向量表示为 C1(40,0,30,20,10) 则根据上式计算出来的文本D1与类目C1相关度是0.86。 那么0.86具体是怎么推导出来的呢? 在数学当中,n维向量是 V{v1,v2,v3,...,vn} 模为 |v|=sqrt(v1*v1+v2*v2+…+vn*vn) 两个向量的点积 m*n=n1*m1+n2*m2+......+nn*mn 相似度 sim=(m*n)/(|m|*|n|) 它的物理意义就是两个向量的空间夹角的余弦数值。 下面是代入公式的过程: d1*c1=30*40+20*0+20*30+10*20+0*10=2000 |d1|=sqrt(30*30+20*20+20*20+10*10+0*0)=sqrt(1800) |c1|=sqrt(40*40+0*0+30*30+20*20+10*10)=sqrt(3000) sim=d1*c1/(|d1|*|c1|)=2000/sqrt(1800*3000)=0.86066 完毕。 开源代码:Text-Similarity-0.08 简介:PERL脚本、自定义去停用词表、无语义识别功能、不适于中文。 局限:仅适用于英文、无语义相似判别功能 编译安装: (1)进入代码主目录里的/bin 修改text_similarity.pl 将第一行改为#!/usr/bin/perl (2)退回代码主目录,分别执行 perl Makefile.PL make make test make install (3)重新进

文档评论(0)

vc5gv1x + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档