情報検索の授業で、tf-idf でドキュメントをランク付けすることは、クエリの可能性でドキュメントをランク付けすることと同じであることを示すことになっているのですが、彼はドキュメントをクエリの可能性でランク付けする式を教えてくれました。クエリの尤度の方程式から始めて、そこから tf-idf の方程式を導き出すことになっているのでしょうか、それとも、両方のランキング アルゴリズムを使用した後もドキュメントのランキングが同じままであることを示すことになっているのでしょうか? 私は本当にこれについて助けが必要であり、非常に愚かな質問に多くの時間を無駄にしているように感じます.私の研究能力についてあなたの意見を聞きたくない.私はこれに十分な時間を無駄にしてしまい、数日後に期限が切れる課題がさらに 3 つあるので、本当に役に立ちます...
1 に答える
tf-idf は非常にアドホックな方法です。直感的には明らかですが、理論的には動機付けられていません。言語モデリング (クエリ尤度としても知られる) や BM25 などのより体系的な検索方法論は、理論的に tf-idf の直感を確立します。
特にあなたの質問については、クエリ尤度方程式から始めて、それが tf-idf ケースと数学的に同等であることを示す必要があります。
クエリ尤度は、P(d|q) で並べ替えられたドキュメントのランク付けされたリストを返します。P(d|q) を推定するには、ベイズ ルールを使用して、P(d|q) = P(q|d)P(d)/P(q) に注意してください。分母は定数であるため、類似度の計算では無視できます。P(q|d) は \prod P(t|d) によって推定できます。ここで、t はクエリの項です。
ここで、クエリ用語 t は、ドキュメント d から選択するか、コレクションを形成することができます。\lambda をドキュメントから用語を選択する確率とします。すなわち、
P(t|d) = \lambda tf(t,d)/len(d) + (1-\lambda) cf(t)/cs
P(q|d) = \prod P(t|d)
ここで、tf(t,d) は周波数です。ドキュメント d の用語 t の len(d) はドキュメント d の長さ、cf(t) はコレクション内で t が出現する回数、cs はコレクション内の単語の総数です。
合計の後半部分はドキュメント d に依存しないため、方程式を後半の項で割り、log を取得して取得できます。
log P(q|d) = \sum log (1 + \lambda/(1-\lambda) (tf(t,d)/len(d)) * (cs/cf(t)) )
= \sum log (1 + \lambda/(1-\lambda) tf * idf)