2011-09-11 1 views
0

私はいくつかの100.000以上のテキスト文書を持っています。文書のフルセットに関連する - nは最も頻度の高い単語が何をしている、文書の特定のサブセットについてすべての文書に関連するトップワードを見つけよう

:私はこの(ややあいまいな)質問に答えるための方法を見つけるしたいのですが?

私はトレンドを提示したいと思います。 「これらは特定の日付範囲で特に暑い話題」のようなものを示すワードクラウドです。 (はい、これはあまり単純化されていません:単語!=トピックなど)

tf-idfのように、すべての文書のすべての単語の値を計算することができたようですが、ここではどんな車も再発明したくない。

おそらくLuceneまたはSolrを使用してドキュメントのインデックスを作成する予定です。彼らはこの質問に私を助けてくれるのでしょうか?または、代わりに/いくつかの他のツールをお勧めしますか?

答えて

1

これは動作するはずです:http://lucene.apache.org/java/3_1_0/api/contrib-misc/org/apache/lucene/misc/HighFreqTerms.html

This StackOverflow QuestionものLuceneと一般的に用語の周波数をカバーしています。

すでにLuceneを使用していない場合は、Hadoopの古典的な導入上の問題(「単語数」問題)があります。

+0

しかし、 'HighFreqTerms'はインデックス全体のサブセットの統計情報を返しますか? (同じ問題はHadoopの部分にあります) – tuomassalo

+0

hadoopについては、マッパーで単純に特定のドキュメントをスキップする単純なフィルタリングコードを記述するので、そうです。 Lucenceについては、 'org.apache.lucene.index.FilterIndexReader'のインスタンスを渡してください。 –

+0

私はLuceneと 'HighFreqTerms'を試してみたいと思っていますが、実際には*' FilterIndexReader'を使ってデータセットをフィルタリングした例は見つかりませんでした。すべてのポインタ? – tuomassalo

関連する問題