テキストから 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 としてディスクに入れる必要がなく、ベクターに入れるだけで便利です。