tf-idfについて

ノートにメモしてると思ったら、そんなことがなかった

来年度の後輩に向けた課題の一つとして、tf-idfを利用したキーワード抽出を

考えている。

 

目的:テキストデータから重要そうな単語を見つけてみよう!

 

手法:tf-idf

 

データ:分かち書きされたテキストデータ + 単語リスト

 

tfidf ~ 文書に出現した単語に重みを与える手法。

   重みとは、単語の持つ特徴量で、これを求めると色々できる。

   例えば、今回のキーワード抽出や文書要約にも使える。(らしい)

 

{ \displaystyle tfidf = tf \times idf }

{ \displaystyle tf = \frac{n_ij}{ \sum_{k}{n_{k,j}}} }

 

日本語だと、 tf = 単語iの文書における出現回数 / 文書jに出現した単語すべての出現回数の和 である。

* i:単語のid、 j:文書のid

 

{ \displaystyle idf = log|D| - log|{d; d \ni t_i}|}

* D:全文書数、 { \displaystyle log|{d; d \ni t_i}| }:単語iを含むドキュメント数

 

重要用語

 bag of words ~ 文書の単語ベクトル表現。単語の順序情報を欠く文書データ。

 Nグラム ~ 隣接する文字(文字列)のN単位での共起性。

 コーパス ~ 分析用のテキストデータ。

 素性 ~ 分析に用いるデータの特徴量。(単語の頻度等)

 

発展として、授業で学んだC言語だけじゃなく、スクリプトでも書いて分析して欲しい。

スクリプトが出来たら、クローラや形態素解析といった、準備や前処理もやって欲しい。