Jam*_*tti 2 java lucene hadoop tf-idf mahout
我正在尝试使用mahout对一组文档(作为文本文件)执行TFIDF,以便按照本指南进行计算.
我已经成功创建了字典和向量权重,现在我正在尝试访问输出.在指南中,它说"你可以轻松地将生成的字典文件的内容加载到Map中,其中令牌索引为键,令牌为值."
我不知道如何将这个文件加载到地图中,因为他建议,有人知道它是如何完成的吗?
我从文本文件目录创建了我的向量,运行"./mahout seq2sparse ..."时遇到的一个问题是控制分析器的-a标志 - 应该是lucene的StandardAnalyzer.当尝试使用此标志运行时,我收到了ClassNotFoundException,但删除该标志解决了问题,我认为默认分析器也是这个,因此输出应该与示例相同.
如果有人知道如何将这本字典加载到地图中,我将永远感激不尽!
詹姆士
我把它解决了,所以我正在为谷歌上遇到这个问题的任何人提出这个建议.
SequenceFile.Reader read = new SequenceFile.Reader(fs, new Path("<path do dictionary>"), conf);
IntWritable dicKey = new IntWritable();
Text text = new Text();
Map<Integer, String> dictionaryMap = new HashMap();
while (read.next(text, dicKey)) {
dictionaryMap.put(Integer.parseInt(dicKey.toString()), text.toString());
}
read.close();
Run Code Online (Sandbox Code Playgroud)
这对我有用,允许我从mahout读取我的字典文件中id到文本的映射.
| 归档时间: |
|
| 查看次数: |
2855 次 |
| 最近记录: |