2016-11-03 3 views
0

私は文書クラスタリングのためにsklearnのTfIdfVectorizerを使用しています。私は2,000万のテキストを持っています。それはクラスタを計算したいのです。しかし、TfIdf行列の計算には時間がかかり、システムが停止しています。python:sklearnを使用した文書クラスタリングでメモリに問題がある

この問題を解決する方法はありますか?どのようなPythonモジュールでもこれに代わる方法がありますか?

答えて

1

まあ、2000万テキストのコーパスが非常に大きいあり、かつ細心かつ包括的な前にもいくつかの良いコンピューティングインスタンス(つまりメモリと良いCPUのロット)せずに、TF-IDFの計算がかかる場合があります多くの時間。

あなたがを行うことができますどのような

  • (のは200.000テキストを言わせて)数千のサンプルの数百にあなたのテキストコーパスを制限します。あまりにも多くのテキストを持つと、はるかに小さい(しかし合理的な)データセットよりも分散が増えることはありません。

  • お試しください。前処理できるだけ多くのテキストをお送りください。基本的なアプローチは、あなたのテキストをトークン化し、ストップワードを使用し、単語をステミングし、慎重にn_gramsを使用することです。 これらの手順をすべて完了したら、ボキャブラリのサイズをどれだけ減らしたかを確認してください。元のものよりはるかに小さくする必要があります。

あまりにも大きくない(あなたのデータセットについて話す)なら、これらの手順はTF-IDFをもっと速く計算するのに役立ちます。

0

開始小

最初のクラスタはわずか100.00ドキュメントです。それが一度しか動作しない場合(おそらくそうでないため)、次にスケールアップすることを考えてください。 サブセットのクラスタリングに成功しないと(通常はテキストクラスタがかなり悪い)、大きなセットではうまくいきません。

関連する問題