Rでテキストマイニングを試してみる(5)TF-IDF
こんにちは。引き続き、梶井基次郎作品を使ってテキストマイニングをしていきます。
今回はTF-IDFを求めてみます。
以前、TF-IDFについてこのような投稿をしていました。
単に出現頻度を求めるのではなく、ある文章だけに出現する語のウエイトを高くして、複数の文章に共通して出現する語のウエイトを低くすると、文章ごとの特徴がある語を見付けられるという感じでしょうか。
また、Progate の Python II までに出てくる文法程度でTF-IDFを求めるプログラムについても投稿していました。
RMeCab を使うと、ものすごく簡単に求められてしまいます。
RMeCab で TF-IDF
ということで、早速、TF-IDF を求めてみることにします。
比較する文章は、前回と同じ梶井基次郎作「愛撫」「檸檬」「桜の樹の下には」の3つの短編小説を使います。
library(RMeCab)
tfidf<-docMatrix(choose.dir(),weight = "tf*idf")
head(tfidf[order(tfidf[,2],decreasing = TRUE),],10)
choose.dir の箇所では、3つの文章のファイルが保存されているディレクトリを選択します。
実行結果
上のプログラムでは、実行結果として「檸檬」での TF-IDF が高い順に表示されます。
docs
terms aibu.txt lemon.txt sakurano_kino_shitaniwa.txt
私 39.62406 114.11730 0.00000
の 27.00000 46.00000 16.00000
街 0.00000 33.60451 0.00000
檸檬 0.00000 23.26466 0.00000
もの 8.00000 20.00000 6.00000
こと 19.00000 19.00000 6.00000
それ 12.00000 19.00000 14.00000
果物 0.00000 18.09474 0.00000
丸善 0.00000 18.09474 0.00000
好き 0.00000 18.09474 0.00000
「檸檬」では、「私」が飛びぬけて高いです。続いて「の」「街」「檸檬」となっています。
次に、「愛撫」で TF-IDF が高い順に表示してみます。
head(tfidf[order(tfidf[,1],decreasing = TRUE),],10)
実行結果です。
docs
terms aibu.txt lemon.txt sakurano_kino_shitaniwa.txt
私 39.624063 114.117300 0.000000
猫 38.039100 0.000000 1.584963
耳 33.604513 0.000000 0.000000
の 27.000000 46.000000 16.000000
こと 19.000000 19.000000 6.000000
よう 19.000000 17.000000 23.000000
爪 18.094738 0.000000 0.000000
彼 15.509775 0.000000 0.000000
前足 12.924813 0.000000 0.000000
空想 12.679700 0.000000 1.584963
「愛撫」では、「私」はやはり高いのですが、続く「猫」「耳」とは大きく離れているわけではありません。
最後に「桜の樹の下には」でのTF-IDFが高い順に並べてみます。
head(tfidf[order(tfidf[,3],decreasing = TRUE),],10)
実行結果です。
docs
terms aibu.txt lemon.txt sakurano_kino_shitaniwa.txt
俺 0.00000 0.00000 64.62406
屍体 0.00000 0.00000 28.43459
桜 0.00000 0.00000 23.26466
よう 19.00000 17.00000 23.00000
おまえ 0.00000 0.00000 18.09474
樹 0.00000 0.00000 18.09474
の 27.00000 46.00000 16.00000
それ 12.00000 19.00000 14.00000
下 0.00000 0.00000 12.92481
いま 0.00000 0.00000 10.33985
かなり結果が異なり、「俺」「屍体」「桜」となっています。
特徴的なのは、先の2作品の一人称が「私」だったのが、「桜の樹の下には」の一人称は「俺」になっていることではないかと思います。それに応じてなのか、二人称の「おまえ」も頻出しています。
今回はこれでおしまいにします。それではまた。
ディスカッション
コメント一覧
まだ、コメントがありません