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



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

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

你能指导我通过吗?

我已经从Mahout 0.4看了BayesTfIdfDriver,但我没有抢占先机。

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

  1. 对 HBase 表进行字数统计,存储每个单词的术语频率和文档频率
  2. 在缩减阶段汇总每个单词的术语频率和文档频率
  3. 给定文档计数,再次浏览聚合结果,并根据文档频率计算 IDF。

关于TF-IDF的维基百科页面是一个很好的参考,可以记住公式的细节:http://en.wikipedia.org/wiki/Tf*idf

如果要

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

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

最新更新