使用HBase作为数据源计算文档的TF-IDF

时间:2012-06-08 17:55:10

标签: hadoop hbase mahout tf-idf

我想计算存储在HBase中的文档的TF(术语频率)和IDF(逆文档频率)。

我还想将计算出的TF保存在HBase表中,同时将计算出的IDF保存在另一个HBase表中。

你能指导我吗?

我看过BayesTfIdfDriver Mahout 0.4,但我没有先发制人。

2 个答案:

答案 0 :(得分:1)

解决方案的大纲非常简单:

  1. 对hbase表进行字数统计,为每个单词存储术语频率和文档频率
  2. 在您的缩减阶段汇总每个单词的术语频率和文档频率
  3. 根据您的文件计数,再次扫描您的汇总结果,并根据文档频率计算IDF。
  4. TF-IDF上的维基百科页面是一个很好的参考,可以记住公式的详细信息:http://en.wikipedia.org/wiki/Tf * idf

答案 1 :(得分:0)

如果要计算TF,IDF,则需要创建中间表“TermMatrix”,用于存储带有文档ID的术语。 然后,您可以使用TermMatrix表计算TFIDF。 它接近实时但如果你想要实时TFIDF输出,那么我建议也创建“TF”,“IDF”表。

我写了一篇关于如何使用HBase计算TFIDF的博客: http://ahikmat.blogspot.kr/2014/07/building-term-matrix-on-hbase.html