TF-IDF (Term Frequency - Inverse Document Frequency) は、ある単語が各文書内でどれだけ特徴的かを示す統計値です。
ある単語 A について
TF (Term Frequency)
ある単語 A のそれぞれの文書での出現頻度を表します。多くの場合、出現頻度をその文書の総語数で割った値が利用されます。ただ、コーパスの分析では、TF-IDF の値が小さくなりすぎて実用的ではないため、CasualConc では、デフォルトでは粗頻度で計算されます。設定の File Info 2 にある TF-IDF で TF の計算式を選択できます。
粗頻度で計算すると、値が大きくなるため、文書内での重要度を把握しやすくなりますが、他の文書との比較のためには、粗頻度 / 総頻度 * 1000 を選択すると、正規化した値でしかもある程度大きな値となるため使いやすいでしょう。
IDF (Inverse Document Frequency)
ある単語 A が文書全体の中でどれくらいの文書に現れるか示すもので、Inverse なのでその逆数ということになります。これを対数にしたものが IDF です。つまり、log( 全文書数 / 単語 A が出現する文書数) という式で表されます。この式からわかるように、単語 A がすべての文書に現れると、log(1) で IDF は 0 になります。TF-IDF は、TF と IDF の積なので、TF-IDF の値も 0 になります。これを避けて文書内での頻度を反映させたい場合は、設定の File Info 2 にある TF-IDF で IDF + 1 にチェックを入れてください。これで、IDF に 1 を加えた値で計算されるため、IDF が 0 でも TF-IDF は 0 になりません。
IDF のところでも書いたとおり、TF-IDF = TF × IDF なので、TF と IDF の積ということになります。
TF-IDF の結果は、上の例にあるとおり、デフォルトでは、それぞれの単語の TF-IDF の合計の大きい順に並びます。ただ、この並び順に大きな意味があるかどうかは判断が難しいところです。特に、デフォルトでは、TF の値は粗頻度なので、あまり意味がないということになります。これがデフォルトになっているのは、テーブル上のデータのデフォルトは数値であることが好ましいと考えているためです。
それぞれの文書で特徴的である語を抽出したい場合は、それぞれの文書内で TF-IDF の値の大きい順に並べたいところです。そこで、設定の File Info 2 にある TF-IDF でファイルごとの値で並べ替えを選択すると、文書ごとに TF-IDF の値が大きい順に単語と TF-IDF の値が表示されます。
TF の値を正規化して計算した場合、表の上にある値リストボタンをクリックして、TF-IDF の合計が大きい順に単語を抽出できます。TF-IDF 値リストパネルが開いたら、読み込みボタンをクリックして単語を読み込みます。単語、TF-IDF 値、その単語の TF-IDF 値が一番大きなグループ名が表示されます。
おまけ的な機能として、単語だけでなく文字でも TF-IDF を利用できますが、ヨーロッパ言語で文字が限られていると、あまり意味のある結果にはならないでしょう。
日本語で文字で TF-IDF を集計したものが次のリストになります。TF = 粗頻度 / 総頻度 * 1000 で計算しています。多少は意味のあるリストになっているでしょうか。