1 TF・IDFの概要

1.1 用語の定義と目的

1.1.1 TF(出現頻度)の意味

TF(Term Frequency)は、ある文書内で特定の語(用語)がどれだけ頻繁に出現するかを表す指標である。単純には出現回数を用いるが、文書の長さや語の偏りを考慮して正規化する場合も多い。TFの直感は「その文書の中で注目されている語ほど値が大きい」という点にある。

1.1.2 IDF(逆文書頻度)の意味

IDF(Inverse Document Frequency)は、文書集合全体に対してその語がどれほど希少か(どれほど広く一般的でないか)を反映する指標である。複数の文書に広く現れる語は、個々の文書の違いを説明する力が弱い傾向がある。IDFはこの性質を数値化し、出現文書数が少ない語ほど大きな重みを与える。

1.2 重み付けの直感

1.2.1 よく出るが判別しにくい語の扱い

同じ語が多数の文書に現れる場合、どの文書でも起きやすい一般語となりやすい。たとえ特定の文書内では多く出現していても、文書間の差を生みにくい。TFが高くても、IDFが低ければ最終的な重みは抑えられるため、ランキングや分類での支配を弱める設計になっている。

1.2.2 レアだが意味を持つ語の扱い

一方で、特定分野や特定主題に結びつく語は、出現する文書が限定されやすい。文書内での出現頻度が一定以上で、かつ文書集合全体では希少な語は、対象文書の内容を特徴づける力が高いとみなせる。IDFが大きくなることで、TFの寄与がより有効に反映される。

2 数式と計算方法

2.1 TFの代表的な定義

2.1.1 出現回数(生TF)

生TFは、対象文書における語の出現回数をそのまま用いる方法である。計算は容易であり、短い文書では直感に近い挙動を示すことがある。しかし文書の長さが異なると、同程度の話題でも出現回数が増減しやすいため、比較には工夫が必要になる。

2.1.2 正規化TF(長さで割る等)

正規化TFは、語の出現回数を文書の長さ(総トークン数など)で割るなどして尺度を揃える。これにより、同じ内容密度でも長い文書で不利になりにくくなる。代表例として「その語の出現回数 ÷ 文書内の総語数」のような形が用いられるほか、対数変換などで外れ値の影響を抑える実装もある。

2.2 IDFの代表的な定義

2.2.1 単純IDFの形

単純IDFは、語が現れた文書数(文書頻度)に基づき、その希少さを逆数として反映する形式である。文書集合の総数を用い、語の出現文書数が小さいほど値が大きくなるように設計される。基本形は「全文書数 ÷ 該当文書数」のような逆比例の発想に近い。

2.2.2 平滑化ゼロ割回避)を含むIDF

実装上は、ある語が観測範囲の文書に存在しない場合の扱いが問題になる。典型的には、分母がゼロにならないように平滑化を行う。さらに、値が極端に大きくならないようにログを取る、または定数を加えるなどの調整が加えられることが多い。結果として計算の安定性が高まり、語彙拡張や未知語の取り扱いにも対応しやすくなる。

2.3 TF・IDFの組み合わせ

2.3.1 積としてのTF・IDF

TF・IDFは、一般にTFとIDFを掛け合わせた形で定義されることが多い。積にすると、文書内での出現量(TF)と文書集合内での識別性(IDF)が同時に効く。すなわち、単に頻出であるだけでは重みが伸びず、希少性を伴う語ほど大きな値を得る。

2.3.2 変形(TFに対するスケーリング)の考え方

実務では、TF側を対数で圧縮したり、飽和するようなスケーリングを入れたりして、非常に頻出な語の影響を抑えることがある。これにより、文書のトピックを説明する語がバランスよく前面に出やすくなる。IDFの平滑化と合わせて、計算結果の分布が過度に偏らないよう調整する狙いがある。

3 実装上の論点

3.1 文書集合(コーパス)の扱い

3.1.1 文書の単位(記事・段落・チャンク)

TF・IDFでは「文書」を何として切るかが重要である。記事単位で切れば話題のまとまりが保たれやすいが、段落単位やチャンク単位に細分すると語の頻度・出現文書数が変わり、IDFの値も動く。粒度が細かいほど、同一記事内の局所的な語の偏りが強調される場合があるため、目的に応じて設計する必要がある。

1.1.2 訓練データと評価データ

分類や検索でTF・IDFを特徴量として使う場合、IDFに関わる統計量は学習データ側だけで計算するのが一般的である。評価データも含めて計算すると、情報が先取りされた状態になりやすく、性能の見積りが楽観的になる。運用では、学習用コーパスで語彙とIDFを固定し、評価時には同じ変換規則ベクトル化する手順がとられる。

3.2 前処理との関係

3.2.1 トークン化と分かち書き

TF・IDFは語(トークン)を単位に数えるため、分かち書きやトークン化の結果がそのまま特徴量に反映される。表記ゆれ記号、数字の扱い、英語では語形変化などの影響が大きい。トークン化方針を一貫させないと、同じ概念が別の語として扱われ、重みの効果が損なわれる。

3.2.2 ストップワード除去

ストップワード除去は、機能語のように情報量が小さい語を削ることで次元とノイズを抑える方法である。これにより、一般的な語がベクトルの大部分を占める事態を避けやすい。もっとも、ドメインによっては機能語の一部が手がかりになることもあり、完全な除去が必ずしも最適とは限らない。

3.2.3 ステミング・レンマ化

ステミングやレンマ化は、語形の差をまとめてより基底形に近い表現へ寄せる操作である。これにより、同一概念に対応する語が分散して重みが薄まる現象を軽減できる。反面、言語規則や誤変換の影響もあり、辞書・ルールの整備や評価を通じて適合性を確認することが望ましい。

3.3 ベクトル化と次元

3.3.1 語彙(ボキャブラリ)の構築

語彙の構築は、観測した語を特徴量の列として固定する工程である。上位頻度語のみ採用したり、極端に出現回数が少ない語を落としたりすることで次元を抑えることがある。語彙を広げるほど表現力は増すが、計算量と過学習リスクが高まりやすいため、目的と制約のバランスが必要になる。

3.3.2 スパース表現(疎ベクトル)

TF・IDFのベクトルは、語彙サイズに対して実際に出現する語が少ないため疎になることが多い。疎ベクトルとして保持することでメモリ効率と計算の高速化が図れる。実装では、非ゼロ要素のみを辞書や圧縮形式で扱う方法が一般的である。

4 応用と評価

4.1 情報検索での利用

4.1.1 キーワード検索のランキング

情報検索では、クエリに含まれる語の重みがどの文書に対して強く一致するかを手がかりにランキングを作る。TF・IDFは文書側にも同様の重みベクトルを用意し、クエリのベクトルと文書ベクトルの近さを比較することでスコアを算出できる。結果として、一般語よりも識別力の高い語が上位に現れやすくなる。

4.1.2 類似度計算(コサイン類似度等)

ベクトル間の類似度として、コサイン類似度がよく用いられる。これは方向(重みのパターン)を重視し、長さの影響を相対化する。その他にも、内積や距離尺度を工夫して用いることがあるが、実際の選好は評価データとシステム要件に依存する。

4.2 文書分類での利用

4.2.1 学習用特徴量としてのTF・IDF

文書分類では、各文書をTF・IDFベクトルに変換して学習器へ入力する。線形分類器との相性が良いとされることが多く、重みの大きい語が各クラスの手がかりとして解釈しやすい場合がある。学習器が語の寄与を推定するため、特徴量側の設計(前処理や語彙制限)が性能に影響する。

4.2.2 モデル選択との相性

特徴量が疎で高次元になることが多いため、スパース入力を扱いやすいモデルが選ばれやすい。線形モデル以外にも、カーネル法や確率モデルが組み合わされることがある。最終的には、データ規模、計算資源、誤りの種類に応じて選択するのが実務的である。

4.3 性能評価の観点

4.3.1 検索ならランキング指標

検索では、関連文書が上位に現れるかを評価する指標が用いられる。例として適合率・再現率の段階的な集計、平均適合率、順位に応じた累積利得などがある。TF・IDFの設計は、語彙の一致度合いに直結するため、ランキング指標の変化として観測されやすい。

4.3.2 分類なら正解率・F値など

分類では、カテゴリの偏りに応じて適切な評価指標を選ぶ必要がある。単純な正解率に加え、クラスごとの精度と再現率の調和平均であるF値を参照することが多い。多クラス設定ではマクロ平均や重み付き平均が選択されることがある。

5 代表的な注意点

5.1 サイズの違いによる影響

文書の長さや粒度が変わると、TFの値や正規化の意味が変わる。短い文書では出現回数が相対的に大きくなりやすく、逆に長い文書では密度が薄まる。正規化方式や「文書」定義を揃えないと、重みの解釈がずれ、比較可能性が損なわれる。

5.2 前処理の設計が左右する点

前処理の選択(分かち書き、語形正規化、ストップワード、数字や表記の扱い)は、語彙の定義と頻度統計に直結する。ある単語が削除されたり別トークンに分割されたりすれば、TF・IDFの計算結果は別物になる。したがって、前処理の妥当性はサンプル観察だけでなく、性能評価によって確かめるのが現実的である。

5.3 TF・IDFの限界

5.3.1 文脈を扱えない問題

TF・IDFは語単位の頻度と文書内の統計に依存し、語の並びや文脈関係を直接表現しない。たとえば同じ語でも否定や条件により意味が変わる場合、重みだけでは判別しにくい。結果として、語の出現が意味の一致と一致しないケースが起こりうる。

5.3.2 用語の言い換えへの弱さ

言い換え(同義語、表記ゆれ、概念の別表現)が多い領域では、語彙が一致せず重みが有効に共有されない。IDFが高い語ほど、別表現で現れると一致しにくくなるため、語彙依存性が強く出る。対策として語彙正規化や同義性を反映する特徴量の導入が検討される。

6 関連手法

6.1 単語出現ベースとの比較

6.1.1 BoW(Bag of Words)

BoW(Bag of Words)は文書を語の出現集合として捉え、順序情報を捨てて頻度だけを特徴量にする枠組みである。TF・IDFはBoWの拡張として位置づけられ、語の重要度をIDFで再配分する点が特徴である。単純な出現回数だけでは一般語が過大になりやすいが、TF・IDFはその影響を抑える。

6.2 正規化・代替重み

6.2.1 BM25との関係

BM25は、情報検索で広く使われるランキング手法であり、TF・IDFの系譜に位置づけられることが多い。文書長の影響を明示的に調整し、頻度の増加に対する飽和の考え方を取り入れる。TF・IDFよりも検索目的に最適化された形で設計されているため、場面によってはBM25のほうが安定した性能を示すことがある。

6.2.2 目的別の派生手法

目的に応じて重み付けを改良する派生がある。例として、クエリ語の扱いを変える、語の共起や文書長補正を加える、あるいは学習可能な重み付けにする、といった方向性がある。共通点は、語の重要度が単なる頻度だけで決まるわけではないという認識に立っている点である。

6.3 埋め込みとの対比

6.3.1 分散表現(埋め込み)との違い

埋め込み(分散表現)は、語や文書を連続ベクトルに写像し、意味的な近さが幾何学的距離として表れやすいよう設計する。TF・IDFが語彙の一致を強く重視するのに対し、埋め込みは言い換えによる語彙不一致をある程度吸収しやすい。反面、学習データとモデル設計に依存するため、説明可能性や更新コストが課題になる場合がある。

6.3.2 ハイブリッド利用の考え方

実務では、TF・IDFの疎特徴量と埋め込みの密特徴量を組み合わせることで、語彙一致の強みと意味的補完の強みを両立させる発想がある。たとえば検索では疎な一致信号と意味ベクトルの類似信号を統合したり、分類では複数種類の特徴を連結して学習する方式が検討される。最適な統合法はタスクとデータ特性に依存する。