インクリメンタルIDF(逆ドキュメント頻度)


11

テキストマイニングアプリケーションでの1つの簡単なアプローチは、ヒューリスティックを使用して、ドキュメントのコンパクトなスパース表現としてベクトルを作成することです。i d fはコーパス全体を必要とするため、コーパス全体が事前に知られているバッチ設定ではこれは問題ありません。tfidfidf

idf(t)=log|D||{d:td}|

ここで、は用語、dはドキュメント、Dはドキュメントコーパス、T(図示せず)は辞書です。tdDT

ただし、通常、新しいドキュメントは時間の経過とともに受信されます。1つのオプションは、既存の使用して維持することである新規文書の特定の数が受信されるまで、再計算それ。ただし、これはかなり非効率的です。すべてのデータが事前に確認された場合に、(ほぼ)値に収束する増分更新スキームを知っている人はいますか?または、代わりに、同じ概念をキャプチャしますが、増分的に計算できる別のメジャーがありますか?idf

また、時間の経過とともにが適切な指標であるかどうかという関連する質問もあります。idfはコーパスの単語頻度の概念を取り込むため、さまざまな単語の頻度が時間の経過とともに変化するため、コーパス内の古いドキュメント(たとえば、私のコーパスには100年を超えるジャーナル記事が含まれる)が考えられます。この場合、実際にはスライディングウィンドウi d fを使用して、新しいドキュメントが入ったときに古いドキュメントを破棄する方が賢明な場合があります。おそらく、人はまた、以前のすべて格納することができ、私D 、F、新しいものが計算されるベクトルを、そして私たちが言う1920年から1930年からの文書を検索したい場合は、その後、我々は使用することができ、私のD Fをidfidfidfidfその日付範囲のドキュメントから計算されます。このアプローチは意味がありますか?

編集:辞書は別の関連する問題があります。時が経つにつれ、以前にはなかった新しい辞書用語が登場するでしょうT | 成長する必要があるため、i d fベクトルの長さ。古いi d fベクトルにゼロが追加される可能性があるため、これは問題にならないようです。T|T|idfidf


愚かな質問:各tの分母を保存するのは問題ですか?| t |の比率はどうですか | d |へ (一般的に)のように見えますか?
steffen

idf(t)tt|T|

1
私は方程式を理解しました。私の質問は次のとおりでした:辞書を保存しても問題ない場合:| T |を保存する代わり idfs oneストア| T | (方程式の)分母+ドキュメントの数。増分更新は問題なく、idfはその場で計算されます。見落としているような気がします。
steffen、

dd:tdt:td

正確に。これが可能かどうか。
steffen

回答:


6

z

z(t)=|{d:td}|

d

z(t)=z(t)+{1iftd0otherwise

tfidfidf

同様に、古いドキュメントを削除するために、同様の方法で分子をデクリメントします。

tftfidftfidf

idfzzidftf

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.