Mapreduce Mahout文本挖掘-给定奇异值的最重要单词

Mapreduce Mahout文本挖掘-给定奇异值的最重要单词,mapreduce,mahout,Mapreduce,Mahout,问题:是否有一种简单的方法可以查看与每个单数值相关的最重要的单词 背景:我已将Mahout的奇异值分解工具应用于一组新闻文章。这些文章来自两个主题:1)体育,2)商业。我希望看到与每个单数值相关的最重要的单词。例如,对于一个单数值,我可能认为最突出的词是体育术语:分数、团队、球员、教练。对于另一个单数值,我可能期望看到商业术语:公司、利润、收入 我的方法:我正在考虑为每个单数值创建一个文件,其中——对于给定的单数值——单词按重要性降序排列。这只是一个想法。我愿意接受建议 下面是我到目前为止用来生

问题:是否有一种简单的方法可以查看与每个单数值相关的最重要的单词

背景:我已将Mahout的奇异值分解工具应用于一组新闻文章。这些文章来自两个主题:1)体育,2)商业。我希望看到与每个单数值相关的最重要的单词。例如,对于一个单数值,我可能认为最突出的词是体育术语:分数、团队、球员、教练。对于另一个单数值,我可能期望看到商业术语:公司、利润、收入

我的方法:我正在考虑为每个单数值创建一个文件,其中——对于给定的单数值——单词按重要性降序排列。这只是一个想法。我愿意接受建议

下面是我到目前为止用来生成Mahout奇异值的代码:

/mahout-distribution-0.7/bin/mahout svd 
-i /vectors/tfidf-vectors/
-o /svd-values/
--numRows 100 
--numCols 591 
-r 100

在项目中无法直接执行此操作,而且我自己也不知道该代码。但我可以告诉你大概的想法


在奇异值分解中,你得到一个像a~=usv'的分解。假设A是文档术语矩阵。所以A的列-,V'的列-,对应于单词。V'的行对应于奇异值(S)。事实上,它们是正确的奇异向量。你可以直接从中读出奇异向量与单词的关系。最大的绝对值是最重要的单词。

即使在我小小的实验数据集上,我也有591个单词,所以我想避免手动扫描。矢量元素如何以svd输出序列文件格式存储?我打开了文件,键值对的“值”部分看起来像是包含了一个名称(例如,eigenVector99)、一个特征值,然后是某种向量对象。“值”是某种容器对象吗?它包含一个SparseVector吗?每个向量元素中的键是一个术语ID吗?您必须深入研究代码,不确定。请注意,单数向量可能并不完全对应于几个单词。像是关于喜剧而不是恐怖的向量,也是关于恐怖而不是喜剧的向量——符号不一定有绝对意义。