【发布时间】:2015-02-14 00:02:13
【问题描述】:
http://mahout.apache.org/users/basics/creating-vectors-from-text.html
Mahout 教授如何使用 lucene 从文本创建向量?
有没有办法支持英文以外的字符?
谢谢
【问题讨论】:
http://mahout.apache.org/users/basics/creating-vectors-from-text.html
Mahout 教授如何使用 lucene 从文本创建向量?
有没有办法支持英文以外的字符?
谢谢
【问题讨论】:
将文档变成矢量需要几个步骤。因为您提到了 Apache Lucene 和 Mahout,所以我将简要介绍如何使用 Mahout 和 Lucene 获取向量。这有点乏味,但您必须看到大局才能了解从英语以外的语言创建向量需要做什么。
首先,通过使用 Apache Lucene,您可以从文本创建索引文件。在这一步中,文本通过 Analyzer。分析器会将文本分解成片段(或技术上的标记)并执行大部分重要的事情,包括删除停止词(the, but, a, an, ...) 、词干提取、小写转换等。所以,你可以看到,要支持不同的语言,你需要做的就是构建自己的分析器。
在 Lucene 中,StandardAnalyzer 是您可以使用的最完善的分析器,它支持中文、日文、韩文等非英语语言。
其次,获取索引文件后,下一步就是使用 Mahout 进行文本挖掘。无论您要对文本做什么,都必须将索引文件转换为 SequenceFile,因为 Mahout 只能读取 SequenceFile 格式的输入。解决方法是使用 Mahout 中的 SequenceFilesFromLuceneStorage 类来完成。
第三,在你有了序列文件之后,你现在可以把它转换成向量了。例如,您可以使用类 SparseVectorsFromSequenceFiles 来做到这一点。
希望对你有帮助。
【讨论】: