当前位置:首页 >> 互联网 >> 2007年9月14日

卢亮:相关度计算与信噪比

推荐者:草根帮主 (积分 142071) | 原作者:卢亮
你知道google和百度两个关键词的相关度是多少么?

--最后我将来回答这个问题

通常我们对于文本信息之间得相关性得计算都是采用向量的办法,我在以前的PPT里曾经提到过。然而对于文本信息更深层次的分析不能单纯从字面上分析一篇文章的关键词,更重要的是它隐含的扩展的意义。

传统的关于计算文本相关度和【网页和查询的相关性】的计算都是采用匹配的方式进行的,然而这只能是基于字面意义上的统计计算。这里介绍的做法是采用关键词相关性扩展的做法从而得到更加精确的相关度计算。

例子:
文章 A: 谈论的是大学教育,最高频的关键词是:学生[3],学习[2],大学[2]
文章 B: 谈论的是普通教育,最高频的关键词是:教育[5],教师[1],进修[1]
[]里是相对的权重,可以理解成 TF*IDF

根据传统的相关性计算,我们会得到如下的结果:

1. 文章A 与 文章B 不相关
2. 查询 学生,学习,大学只能返回文章A,不能返回文章B
3. 查询 教育,教师,进修只能返回文章B,不能返回文章A

分析:
这个显然是有一定的问题的,问题的出现在于我们通常将“字面”的意思做为分析的来源而且依靠和仅仅依靠这些“字面”的关键词做为文章相关性和查询相关性判断的唯一要素。

如何避免?
我在以前的文章中提到过【关键词相关度】的概念,举例说明:
当出现:{学习}这个词汇的时候,真实的表达的意义往往是这样的:
{W1*学习,W2*教育,W3*教师,W4*大学。。。。。。}
其中W1,W2...是学习和相关词汇的相关权重。

基于这样一个矩阵,我们就能够将一个词扩展成为一组词汇,因而也同时可以将文章所对应的向量扩展成一个更多词汇的集合。

这里的计算需要一个完整的相关度矩阵:M

M(i,j) = {关键词i,j的相关度}
而两篇文章的相关度的计算,也由简单的
R= Sigma Vi*Vi
变为
R= Sigma Vi*M(i,j)*Vj

查询关键词和文章的相关度也由简单的
R(i)=TF(i)*IDF(i)
变为
R(i)=Sigma TF(j)*IDF(j)*M(i,j)

下面碰到一个核心问题就是:关键词之间的相关度如何计算?
例如:学校和学生的相关度是多少?
计算方法:
假设一个文章集合 {C},总文章数目为N,其中含有单词A的文章总数为Na,含有单词B的文章总数是Nb,含有{A+B}的文章总数是 Nab,那么相关性这么计算

CorrAB= Nab/(Na+Nb-Nab)-(Na*Nb)/(N*N)

本计算中可能会得到负相关,如果考虑到Na,Nb都是小量,可以忽略,那么

CorrAB= Nab/(Na+Nb-Nab)

至此,要计算相关度之间的全部要素都获得了。

思考,那么到底 学校 和学生 之间的相关度是多少呢?
我们利用google来回答这个问题吧:

约有91,700,000项符合学校的查询结果
约有88,200,000项符合学生的查询结果
约有48,900,000项符合学生 学校的查询结果

1 2 下一页

[ 关键词:相关度计算 信噪比 理论 原文/来源链接 ]
1楼楼长:评论员 (抢沙发奖牌)在2009-9-14 12:07:54评价道:
顶一个呀.5599176
验证码: 20ju
1、请不要在评论中发广告,如需增加外链请注册成个人会员试用个人签名与自助广告。
2、把《卢亮:相关度计算与信噪比》推荐给您的好友