web-dev-qa-db-ja.com

NLTKにはTF-IDFが実装されていますか?

scikit-learngensimにはTF-IDFの実装があります。

簡単な実装があります PythonでのN-Gram、tf-idf、Cosineの類似性の簡単な実装

車輪の再発明を避けるために、

  • NLTKには本当にTF-IDFはありませんか?
  • NLTKにTF-IDFを実装するために操作できるサブパッケージはありますか?方法がある場合は?

このブログ投稿では、NLTKにはそれがないと書かれています。 それは本当ですか?http://www.bogotobogo.com/python/NLTK/tf_idf_with_scikit-learn_NLTK.php

8
alvas

NLTK TextCollectionクラスには、用語のtf-idfを計算するためのメソッドがあります。ドキュメントは ここ で、ソースは ここ です。ただし、「読み込みが遅い可能性があります」と表示されているため、scikit-learnを使用することをお勧めします。

9
yvespeirsman

NLTKにTF-IDFが存在しないと結論付けるのに十分な証拠があると思います。

  1. 残念ながら、tf-idfの計算はNLTKでは利用できないため、別のデータ分析ライブラリscikit-learnを使用します。

    から COMPSCI 290-01 2014年春のラボ

  2. さらに重要なことに、ソースコードには tfidf (または tf-idf )に関連するものは何も含まれていません。例外はNLTK-contribで、これにはTF-IDFの map-reduce実装 が含まれます。

関連する質問 で言及されているtf-idfのライブラリがいくつかあります。

更新: tf idf または tf_idf で検索すると、@ yvespeirsmanによってすでに検出されている関数を検索できます