Mahout:从Text创建向量,我们如何支持外语?

时间:2015-01-28 08:27:02

标签: text mahout

http://mahout.apache.org/users/basics/creating-vectors-from-text.html

Mahout教导如何使用lucene从文本创建向量?

有没有办法支持英语以外的角色?

由于

1 个答案:

答案 0 :(得分:0)

需要几个步骤才能使文档成为矢量。因为您提到了Apache Lucene和Mahout,我将简要解释如何使用Mahout和Lucene获取向量。这有点单调乏味,但你必须看到全局,以了解你需要做什么才能用英语以外的语言创建矢量。

首先,通过使用Apache Lucene,您可以从文本创建索引文件。在此步骤中,文本将通过Analyzer传递。分析器会将文本分成几部分(或技术上令牌),并执行大部分重要操作,包括删除停用词(,但是,a,an,... )因此,您可以看到,为了支持不同的语言,您需要做的就是构建自己的分析器。

在Lucene中, StandardAnalyzer 是您可以使用的设备最齐全的分析器,它支持非英语语言,如中文,日语,韩语。

其次,获取索引文件后,下一步是使用Mahout挖掘文本。无论您将如何处理文本,都必须将索引文件转换为 SequenceFile ,因为Mahout只能读取SequenceFile格式的输入。解决方法是在Mahout中使用 SequenceFilesFromLuceneStorage 类来执行此操作。

第三,拥有序列文件后,您现在可以将其转换为向量。例如,您可以使用 SparseVectorsFromSequenceFiles类来执行此操作。

希望它有所帮助。