AI(人工知能)用語集

TF-IDF超入門!単語の重要度を考慮した文章ベクトル化手法の基本

TF-IDF

現在自然言語処理ではBERT(バート)などのTransformer(トランスフォーマー)系のモデルが頻繁にニュースになりますよね。最近ではGoogle検索にBERTが使用されるようになったようです。

Understanding searches better than ever before (英語)

本記事ではDeep Learning(ディープラーニング)の流行以前からある自然言語処理の手法のひとつであるTF-IDF(ティーエフ・アイディーエフ)について紹介しましょう。ニューラルネットワークベースの手法は従来手法に比べて計算量が非常に大きく、GPUなどの計算資源なしには学習や推論が難しいため、現在でもTF-IDFは広く用いられる手法のひとつです。

自然言語とは人間が普段使用している日本語や英語のような言語のことで、それをコンピュータで扱うことを自然言語処理といいます。

TF-IDFとは

TF-IDFは文書中の単語の重要度を計算する手法のことです。この重要度を元に文書をベクトルへと変換するために広く用いられており、以下のように文書をベクトル化する手法はいくつかの変遷があります。

  • 文書中の単語の出現数を数える、カウントベースの手法
  • Word2Vecなどによる単語の分散表現ベースの手法
  • ニューラルネットワークによる単語の埋め込み表現ベースの手法

TF-IDFはこの中ではひとつめのカウントベースの手法にあたります。文書中の単語の出現数を単純に数え上げるだけでなく、単語の重要度に基づいて数え上げることによって、単純に数え上げる場合と比較して、一般により良い文書のベクトル表現が得られることがわかっています。

TF-IDFの計算方法

本節ではTF-IDFを実際にどのように計算するかについて記述します。少しは数式による表現が出てきますが、数式を読まずとも文字を追うだけで理解できるように文章を書いておりますので、数式に苦手意識がある方は文章だけを読み進めてください。

TF-IDFは「多くの文章で出現する単語は重要でない」、「ある文書で多く出現する単語は重要である」の2つの直感を考慮した単語の重要度評価手法です。

TF-IDFの計算は以下のように、TF(Term Frequency)とIDF(Inverse Document Frequency)の積で表されます。

tfidf

Term Frequency

Term Frequencyはある単語t_iのある文書d_jにおける出現回数を、文書d_jにおける全単語の出現回数の和で除した値であり、以下の数式で表現されます。

tf

定性的にTerm Frequencyを理解すると、ある文章において出現回数の大きい単語をより重要であるとみなす計算手法です。

Inverse Document Frequency

Inverse Document Frequencyは文書の総数をある単語t_iを含む文書の数で除した値での対数をとったもので、以下の数式で表現されます。

idf

|D|が全文書の総数で、その分母がある単語t_iを含む文書の数です。

IDFは「少ない文書にしか登場しない単語は多くの文書に出現する単語よりも重要である」という評価をしています。また対数を取ることで、レアな単語が出現する文章とそうでない文章で評価の値が乖離しすぎるのを防いでいると考えられます。

TF-IDFは本当に重要な単語を評価できているのか

本節では特に単語の重要度を考慮しない手法と、TF-IDFで単語の重要度を考慮した手法の2つで文書をベクトル化し、そのベクトルを用いて文書カテゴリの分類を行います。TF-IDFが本当に重要な単語を評価して文書のベクトル化を行えているのであれば、TF-IDFを用いた手法の方が精度が高くなることが想定されますよね。

今回はaclImdbという映画のレビュー文書がポジティブな評価をしているのか、もしくはネガティブな評価をしているのかの2値分類を行いました。学習にはロジスティック回帰モデルを利用しています。両方のモデルで正解率を計算したところ、以下の結果となりました。

  • TF-IDFを用いないモデル: 0.86368
  • TF-IDFを用いたモデル: 0.88316

この実験結果からTF-IDFによる単語の重み付けは、文書のより良いベクトル化に貢献していると考えても良いでしょう。

まとめ

TF-IDFについて重要な点をまとめます。

  • 単語の重要度を計算する手法のひとつ
  • 「多くの文章で出現する単語は重要でない」、「ある文書で多く出現する単語は重要である」の2つの直感を考慮した単語の重要度評価手法
  • 重要度を考慮しない場合と比較して、より良い文書の表現が得られることが多い
以上、ご覧いただきありがとうございました。

燃やせ探究心!突き詰めろ美しきソースコード!オタフ☆クラブ

みんなのAI(人工知能)用語集

トップへ戻る
タイトルとURLをコピーしました