Tf-idf
2つの文書からのみ構成されるコーパスの単語カウント表(右に示す)を扱うと仮定する。
語"this"のtf-idfは以下のように計算される。
出現頻度をそのままtfとして用いる場合、tfはそれぞれの文書の"this"の頻度と同じになる。標準的な文書長を調整するtfでは、各文書において単語"this"は1度現れるが、文書2はより多くの単語を含むため、相対頻度は小さくなる。
t f ( ′′ t h i s ′′ , d 1 ) = 1 5 = 0.2 {\displaystyle \mathrm {tf} ({\mathsf {''this''}},d_{1})={\frac {1}{5}}=0.2}
t f ( ′′ t h i s ′′ , d 2 ) = 1 7 ≈ 0.14 {\displaystyle \mathrm {tf} ({\mathsf {''this''}},d_{2})={\frac {1}{7}}\approx 0.14}
idfはコーパス毎の定数であり、"this"という単語を含む文書の比率から成り立っている。この事例では、2つの文書からなるコーパスを扱い、それらはすべて"this"という語を含んでいる。
i d f ( ′′ t h i s ′′ , D ) = log  ( 2 2 ) = 0 {\displaystyle \mathrm {idf} ({\mathsf {''this''}},D)=\log \left({\frac {2}{2}}\right)=0}
つまり、"this"という語のtf-idfはゼロである。
Gensimはベクトル空間モデルとtf-idf重み付けを含むPythonのライブラリである。
Anatomy of a search engine
tf–idf and related definitions (Luceneで使われている)
TfidfTransformer scikit-learnのtf-idf実装。
Text to Matrix Generator (TMG) MATLABツールボックスはテキストマイニング(TM)の様々なタスク向けに利用できる。特に i) 索引作成 ii) 情報検索 iii) 次元削減 iv) クラスタリング v) 分類 タスクである。索引作成の段階はユーザに任せられており、tf-idfを含めたローカル、あるいはグローバルの重み付け手法を適用する必要がある。
Term-frequency explained term-frequencyの説明