青空文庫のIDF(逆文書頻度)リストを出す

青空文庫のIDF(逆文書頻度)リストを出すぱわふる珍しい語には高い重みを、ありふれた語には低い重みを与えるもので、idf_t = log(N / df_t) (N:全文書数、df_t:用語tを含む文書数)で定義されます。
小説執筆サイトの著者の特徴語を出すのにIDFを利用したいために計算しました。
データは「青空文庫 形態素解析データ集」の「newnew.csv.gz」を利用しました。

まずは以下のコードで全文書数と形態素ごとの df_t を求めました。

上記のコードで出た N(全文書数 = 6704)と df_t(用語tを含む文書数)を使って idf_t を求めるコードは以下の通りです。
(以下のコードを使う場合は「全文書数」と「形態素を含む文書数ランキング」の行と空行は消しておいてください。)

(自分にとって)不要な形態素をふるいにかけるのが以下のコードです。

順番に使い捨てPerlスクリプトを実行していくと以下のIDFリストが得られます。

文書数(作品)の数がもう少し欲しいところですが、これでもかなり使えるかと思います。


コメントを残す

メールアドレスが公開されることはありません。