永发信息网

如何使用MapReduce计算相似度

答案:1  悬赏:0  手机版
解决时间 2021-03-30 19:20
如何使用MapReduce计算相似度
最佳答案
由于在索引中的数据结构是倒排索引,其结构如下:
倒排索引(
举例如下:
Word occurrence@DocID........
cat 6@Doc1 3@Doc2 4@Doc3... etc
Hot 9@Doc1 2@Doc3 10@Doc5... etc
倒排索引是MapReduce的关键部分。我们需要解决的问题是将两个文档向量(也就是将要进行比较的文档)输入到reducer中。
我们要考虑的是的相似性。如何获得他们对应的向量并传给reducer?
相当简单~
Mapper的输出应该是这样的:
Key: Value:
所以对上面的两个文档,对应第一个word cat将是:
Key: Value:<6, 3>
通过这样的方法,在reducer中,你们会有这些值的一个list,对两个文档中出现的word的向量,这就可以在reducer中计算相似度了。
当然,也可以将occurrence改称TF或者TF-IDF向量或者其他什么东西。这里的关键就是要得到正确的KEY-VALUE。
在reducer这儿,你可以获得:
Key: Value: [<6, 4>, <9, 2>]
因此,余弦相似度可以直接通过doc1 (6, 9)和doc3 (4, 2)点乘获得:
(6*4)+(9*2)... etc for larger vectors
分母部分可以这样计算:
sqrt(6^2 + 9^2) * sqrt(4^2 + 2^2) * ...
你可以在reducer中进行这个计算,因为你有两个文档的向量。当然在你的值计算完后,你可以以任何方式从reducer中输出他们
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一双AJ的鞋,黑色,左脚后跟有一个白色的23,
临沭张氏家谱
求聊天用字体
江苏红橡木桶1996红酒多少钱一瓶
我已经在国信开过户,能不能在其他证券公司开
有没有兼职的工作,或者上半天班的
北京法院拍卖车报名费和保证金是多少钱
星际2人族MMM和MMG流指的是什么?
想看个电影,但是从网上选票发现就一个影院有
明星大侦探演员之间不知道互相身份吗
鄂破机是什么?
在这两台机器上,运行同一程序时,两条机器上
有没有卖的便宜的原味棉袜 扣扣号给我发几个
我的斗鱼的两条胸鳍变红,怎么回事?
武术与格斗有什么区别?
推荐资讯
正在授权量化派查询你的信用记录什么意思
我是一个肢体残疾人靠双拐行走学历也没有但是
vasto是名牌吗?
宋代禁军的选拔标准
为什么人在利益面前变得那么不堪一击,我该说
电动汽车🚙突然没有之前跑的公里数多
关于dmmd手机版下载好后要怎么打开。。
户口从原籍迁出原来承包的土地还是否三十年不
蘑菇从培养基中吸取养分属于
永嘉人 属于温州人么
景观石种类都有哪几种
冬青树什么时候施肥好?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?