1行定義
TF-IDFとは、文書内での単語の出現頻度(TF)と、その単語を含む文書の少なさ(IDF)を掛け合わせて、単語の重要度を表す指標のことです。
くわしく
TF-IDFは、ある文書の中でどの単語が大切かを数値で表す方法です。文書の検索や、記事のキーワードの抽出に使われてきました。
2つの値の掛け算
TF(Term Frequency)は、その単語が文書の中に何回現れるかを表します。多く使われる単語ほど、その文書の話題との関係が深いと考えます。文書の総単語数で割って、長さの影響をならすこともあります。
IDF(Inverse Document Frequency)は、その単語を含む文書の少なさを表します。全文書数をN、その単語を含む文書数をdfとすると、IDF = log(N ÷ df)です。どの文書にも出る「の」「する」などはIDFが小さく、一部の文書にしか出ない専門用語は大きくなります。
2つを掛けたTF-IDF = TF × IDFが単語の重みです。その文書ではよく使われ、ほかの文書ではあまり使われない語ほど大きくなります。
小さな計算例
文書が1,000件あり、対数の底を10とします。1件にしか現れない語AのIDFはlog10(1000 ÷ 1) = 3、100件に現れる語Bはlog10(1000 ÷ 100) = 1、全件に現れる語Cはlog10(1) = 0です。ある文書でAが2回、Bが6回、Cが20回現れると、TF-IDFはAが2 × 3 = 6、Bが6 × 1 = 6、Cが20 × 0 = 0です。回数の少ないAも、めずらしさのおかげでBと同じ重みになります。
位置づけと限界
TF-IDFは、BoWの出現回数に重みを掛け直したものなので、語順の情報は持ちません。「料金」と「価格」のような同義語も別の単語として扱い、意味の近さは反映されません。これらは、n-gramや分散表現などで補います。
IDFの考え方は、1972年にKaren Spärck Jonesが発表した論文にさかのぼります。式には、対数の底を変える、分母に1を足すなどの変種があります。
覚え方
「その文書でよく出て、ほかではあまり出ない語が主役」と覚えます。
G検定での出題
出題のされ方
TFとIDFの意味と、両者の積で重みを求める流れ、多くの文書に現れる語ほどIDFが小さくなる仕組み、BoWを重み付けし直したものという位置づけ、語順や同義語を扱えない限界が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| TF-IDFこのページの用語 | 文書内での単語の出現頻度(TF)と、その単語を含む文書の少なさ(IDF)を掛け合わせて、単語の重要度を表す指標 |
| BoW(Bag-of-Words) | 文書を単語の並び順を無視した単語の集まりとみなし、各単語の出現回数などを並べたベクトルで表す方法 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
TF-IDFのIDFは文書の集合全体から求める値なので、同じ単語であれば、どの文書のベクトルでも同じ値になる。
答えを見る
答え ◯ 正しい
IDFは、全文書数とその単語を含む文書数だけで決まります。同じ単語のTF-IDFが文書ごとに異なるのは、TFが異なるためです。
-
TF-IDFで重み付けすると語順の情報も反映されるため、同じ単語を同じ回数ずつ含む2つの文でも、語順が違えば異なるベクトルになる。
答えを見る
答え × 誤り
TF-IDFは、BoWの出現回数に重みを掛けたものです。語順は使わないため、「父が子を呼ぶ」と「子が父を呼ぶ」は同じベクトルになります。
-
検索対象に文書を追加すると、すでにある文書に含まれる単語のTF-IDFの値が変わることがある。
答えを見る
答え ◯ 正しい
IDFは、全文書数と、その単語を含む文書数で決まります。文書が増えるとこれらが変わるため、既存の文書のTFが同じでも、TF-IDFの値は変わりえます。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目27 自然言語処理)
- Karen Spärck Jones, A statistical interpretation of term specificity and its application in retrieval, Journal of Documentation 28(1), 11–21 (1972)
- Gerard Salton, Christopher Buckley, Term-weighting approaches in automatic text retrieval, Information Processing & Management 24(5), 513–523 (1988)