Hadoop 如何从大量文档中提取关键字?

Hadoop 如何从大量文档中提取关键字?,hadoop,mapreduce,mahout,lda,Hadoop,Mapreduce,Mahout,Lda,我有很多文件,超过一万份,也许更多。我想使用hadoop从每个文档中提取一些关键字,比如说从每个文档中提取5个关键字。每一份文件都可能讨论一个独特的主题。我目前的方法是使用Mahout中实现的潜在Dirichlet分配LDA。但是,由于每个文档都涉及不同的主题,因此提取的主题数量应该等于文档数量,这是非常大的。当主题数量变大时,LDA的效率会变得非常低,因此我的方法是将文档随机分组,每组只有100个文档,然后使用Mahout LDA从每组中提取100个主题。这种方法很有效,但可能不是很有效,因为

我有很多文件,超过一万份,也许更多。我想使用hadoop从每个文档中提取一些关键字,比如说从每个文档中提取5个关键字。每一份文件都可能讨论一个独特的主题。我目前的方法是使用Mahout中实现的潜在Dirichlet分配LDA。但是,由于每个文档都涉及不同的主题,因此提取的主题数量应该等于文档数量,这是非常大的。当主题数量变大时,LDA的效率会变得非常低,因此我的方法是将文档随机分组,每组只有100个文档,然后使用Mahout LDA从每组中提取100个主题。这种方法很有效,但可能不是很有效,因为每次我都在一小部分文档上运行hadoop。有人对此有更好更有效的想法吗?

虽然我认为这个问题更适合,因为它涉及到搜索算法,但我会研究术语频率–反向文档频率TF-IDF,它可以帮助确定文档中关键字的重要性,控制文档的长度。Mahout或MapReduce作业可以跨大量文档计算TF-IDF,并返回每个文档的最大值。您是否建议仅使用TF-IDF并跳过LDA算法?!但这并不准确,这取决于你的目标。TF-IDF是在搜索引擎排名算法中跨大型数据集实现的,所以我不会很快给它贴上不准确的标签。同样,这是另一个论坛的问题。