TF-IDF法

キーワードの重要性の違いに配慮することで複数語での検索時の精度を高めるTF-IDF法について説明します。

キーワードの出現度を示すTFと重要度を示すIDF

TF-IDF法は、文字どおりTF(term frequency)という指標とIDF(inverse document frequency)という指標の2つの指標を用いたアルゴリズムです。TFとIDFの双方の指標を用いることで、キーワードに対する個々のWebページのスコアリングを、キーワードの特殊性をふまえた上で行うことができます。

TF(term frequency)
TFとは、Webページ内でキーワードがどれだけ多く使用されているのかを示す指標です。キーワードを多く含むWebページほど、そのキーワードについて詳しく説明しているものと考えるものです。
IDF(inverse document frequency)
IDFとは、そのキーワードがどれだけの数のWebページで使用されているかを示す指標です。多くのWebページで使用されているキーワードより、少ないWebページで使用されているキーワードの方が、そのページの特長をよく表すものと考えるものです。

複数キーワードによる検索の精度を高める

複数のキーワードをAND検索する場合、検索エンジンはそれぞれと一致する語句を全て含むWebページを抽出し、それぞれの語句への適合度を別々に算出して集計し、表示の順位を決定します。このとき、単に個々の語句の順位を集計するだけでは、良い結果は得られません。なぜなら、それらの個々の語句の間には重要性の違いがあるからです。

例えば、Aという単語とBという単語での検索を行ったとします。仮に、WWW全体のWebページの中で、Aを含むものが100あり、Bを含むものが1000あり、両方を含むものが50あるとします。単に順位だけで判断すると、「Aに対して10位・Bに対して11位」というWebページと、「Aに対して11位・Bに対して10位」というWebページは同列に扱うべきものです。

しかし、Aの全体に対する順位と、Bの全体に対する順を相対的に考えると、「AおよびB」という内容についてより詳しく書かれているのは、「Aに対して10位・Bに対して11位」の方であるはずです。それぞれのキーワードの母数が異なるためです。これはAとBのキーワードをそれぞれ「居酒屋」と「新橋」に置き換えてみるとわかりやすいでしょう。

TF-IDF法を用いたアルゴリズムは、AとBそれぞれの単語自身の重要性=順位の重さの違いを考慮して、「Aに対して10位・Bに対して11位」を「Aに対して11位・Bに対して10位」よりも上位に表示します。

TF-IDF法に関する他の資料

TF-IDF法の詳しいアルゴリズムについては、他のサイトをご参照ください。

この記事について