Hadoop的word co-occurrence实现

IT资讯 2799 Views

Word Co-occurrence一直不知道该怎么正确翻译, 单词相似度?还是共生单词?还是单词的共生矩阵?

这在统计里面是很常用的文本处理算法,用来度量一组文档集中所有出现频率最接近的词组.嗯,其实是上下文词组,不是单词.算是一个比较常用的算法,可以衍生出其他的统计算法.能用来做推荐,因为它能够提供的结果是"人们看了这个,也会看那个".比如做一些协同过滤之外的购物商品的推荐,信用卡的风险分析,或者是计算大家都喜欢什么东西。

比如 I love you , 出现 "I love" 的同时往往伴随着 "love you" 的出现,不过中文的处理跟英文不一样,需要先用分词库做预处理.

按照Mapper, Reducer和Driver的方式拆分代码

Mapper程序:

Reducer程序:

Driver程序就不解释了,天下的Driver都一样:

算法的核心其实就是把前词和后词同时取出来作为key加上一个value做word count,统计单词的共生频率来对文本进行聚类.看网上说k-means的很多,其实很多时候算法是根据需求走的,k-means或者模糊k均值不一定就高大上,wordcount也不一定就穷矮矬。

点击【阅读原文】更精彩!

删除占位符

如未说明则本站原创,转载请注明出处:NULL » Hadoop的word co-occurrence实现