0

tfとidfを計算する方法はさまざまです。 LSAモデルでgensimがどの式を使用しているかを知りたい。私はそのソースコードlsimodel.pyを調べていますが、おそらくメモリ最適化のためにドキュメント用語行列が作成されている場所はわかりません。 one LSA papergensimのLSAモデルで使用するtf-idfの式はどれですか?

、Iドキュメントタームマトリックスの各セルは、その単語のエントロピーで除算し、その文書におけるその単語の対数周波数であることを読み取る。

tf(w, d) = log(1 + frequency(w, d)) 
idf(w, D) = 1/(-Σ_D p(w) log p(w)) 

しかし、これはいるようですtf-idfの非常に珍しい処方である。 TF-IDFのより身近な形式は次のとおりです。

tf(w, d) = frequency(w, d) 
idf(w, D) = log(|D|/|{d ∈ D: w ∈ d}|) 

私もquestion on how the TfIdfModel itself is implemented in gensimがあることに気づきます。しかし、私はをインポートするlsimodel.pyを見ていないので、lsimodel.pyには独自のtf-idfの実装があるとしか仮定できません。

答えて

1

私が理解するように、lsimodel.pyは、tf-idfエンコードステップを実行しません。 gensimのAPI documentationにはいくつかの詳細があります - 専用のtf-idfモデルがあり、後でLSAモデルに入力できるテキストをエンコードするために使用できます。 tfidfmodel.pysource codeから、あなたがリストしたtf-idfの2つの定義の後ろに従っているようです。

関連する問題