2

一个从文本创建 Mahout Vector 对象的示例。它说:

在创建向量之前,您需要将文档转换为 SequenceFile 格式。SequenceFile 是一个 hadoop 类,它允许我们将任意键值对写入其中。DocumentVectorizer 要求键是具有唯一文档 ID 的文本,值是 UTF-8 格式的文本内容。

这有点清楚,因为我知道 SequenceFile 是什么。然而,对于所有 Mahout 算法(聚类、分类等),内容实际上是一个词袋(或 n-gram)。值是否被视为空格分隔?

更重要的是,我实际上想对非文本的内容进行聚类。例如,假设我有用户以空格分隔格式对电影进行评分:

user1 movie_11 5
user1 movie_12 4
..
user2 movie_21 1
user2 movie_22 5
..

假设我想对电影进行聚类。我可以将用户视为“文档”(电影分组),将电影视为“单词”。我如何将这些评级转换为矢量文件?我可以将其转换为arff(还不确定如何)并使用 Mahout 的arff.vector。有没有一个更简单的实用程序,只需要文档到单词的关联(或计数)并制作向量?

不必将 1 亿个评级作为 ARFF 放在磁盘上只是为了将其放入序列文件中,而只是为了将其放入向量中,这将是很方便的。

4

0 回答 0