2012-04-11 8 views
4

私が理解しているように、IDFは用語を持つ文書の数を計算するために使用されます。事前にすべての文書があるので、トレーニングセットのIDF(TFと一緒に)を計算することができます。しかし、テストセットをあらかじめ用意しておかないと(ウェブクローラーのような)順番にテストドキュメントを取得している場合、テストではドキュメント内の単語のIDFをどのように計算するのでしょうか?テスト時にIDFを計算する(TF-IDFのように)?

答えて

2

あなたのデータセットが十分な大きさであれば、IDFのトレーニングだけを使用することができます。テストフェーズでは、新しい用語が列車に設定されている場合はトレーニングのIDFを使用し、期間が新しい場合はIDFを計算するために列車セット文書の数を使用します。 いくつかの目的のために、スムージング方法を使用してより良い結果を得ることができます。

+0

この回答は私にとって意味があります。しかし、私があなたが参照することができる論文や記事があるかどうか疑問に思っていますか?そして、私たちがこの問題に使うことができる図書館があるかどうか疑問に思っていますか? – Pedram

+0

これは私の編集されたコメントです:この回答は私に部分的に意味があります。しかし、私があなたが参照することができる論文や記事があるかどうか疑問に思っていますか?問題は、大きなデータセットを使用してその単語のIDFを計算することができますが、テスト文書に新しい単語が追加されたら、すでにモデルを訓練したと言いますが、機能の数は変わりませんトレーニングとテストのセットでは動作しません。 – Pedram

0

文書の索引作成/クロール後にのみテストを実行すると、クロールが完了した後にIDFを計算できます。新しい文書や新しい用語に遭遇したときにIDFを計算する必要はありません。 TD-IDFやその他の計算を行う必要があるときに、その場で計算することができます。

これでは不十分な場合でも、何らかの理由で、別のドキュメントデータセットのIDFを使用できます。同じ種類のドキュメントを使用することをお勧めします。

+0

"ドキュメント全体のインデックス作成/クロール後にのみテストを実行すると" - 実際はありません。クローラによってページを受け取ったとき、そのページがその時点で関連性があるか無関係かを判断する必要があります。このような状況では、別のドキュメントデータセットのIDFを計算することは述べていますか? – KillBill

関連する問題