【问题标题】:Mahout: Creating vectors from Text, How can we support foreign language?Mahout:从文本创建向量,我们如何支持外语?
【发布时间】:2015-02-14 00:02:13
【问题描述】:

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

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

有没有办法支持英文以外的字符?

谢谢

【问题讨论】:

标签: text mahout


【解决方案1】:

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

首先,通过使用 Apache Lucene,您可以从文本创建索引文件。在这一步中,文本通过 Analyzer。分析器会将文本分解成片段(或技术上的标记)并执行大部分重要的事情,包括删除停止词(the, but, a, an, ...) 、词干提取、小写转换等。所以,你可以看到,要支持不同的语言,你需要做的就是构建自己的分析器。

在 Lucene 中,StandardAnalyzer 是您可以使用的最完善的分析器,它支持中文、日文、韩文等非英语语言。

其次,获取索引文件后,下一步就是使用 Mahout 进行文本挖掘。无论您要对文本做什么,都必须将索引文件转换为 SequenceFile,因为 Mahout 只能读取 SequenceFile 格式的输入。解决方法是使用 Mahout 中的 SequenceFilesFromLuceneStorage 类来完成。

第三,在你有了序列文件之后,你现在可以把它转换成向量了。例如,您可以使用类 SparseVectorsFromSequenceFiles 来做到这一点。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    • 2014-12-10
    • 2019-06-03
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2011-11-05
    相关资源
    最近更新 更多