青空文庫

人間失格 を取り出して形態素解析にかけて、ワードクラウドネットワークを作成する。

momo <- Aozora("http://www.aozora.gr.jp/cards/000035/files/301_ruby_5915.zip", "momo.txt")
frq <- RMeCabFreq(momo)
## file = ./NORUBY/momo.txt2.txt 
## length = 4958
frq %>% filter (Freq > 6, Info1 %in% c("名詞","形容詞","動詞")) -> frq2
frq2 %<>% filter(!Term %in% c("それ","する","いる" ,"の","なる","よう","ある"))

wordcloud(frq2$Term,frq2$Freq,color = rainbow(10),scale = c(6,1))

ここから自分と周囲の人間との関係や自身の生活、自身に対する鬱屈した感情が渦巻いていることがわかる。

単語のバイグラムを取り出す

bigram <- NgramDF(momo,type = 1,pos =c("名詞","動詞","形容詞"))
## file = ./NORUBY/momo.txt2.txt Ngram = 2
head (bigram)
##     Ngram1   Ngram2 Freq
## 1 DIAL ジアール    1
## 2       P       党    1
## 3 ああなる     駄目    1
## 4   あいそ     いい    1
## 5   あいそ     笑い    1
## 6   あいだ     いう    1

生成されたデータ数(単語数)は14535 である。

ネットワーク・グラフの作成

# 最小頻度を指定
bigram %<>% filter(Freq > 6)
# ネットワーク化
bigram %<>% graph.data.frame()
# ラベルサイズの指定
V(bigram)$label.cex = 2
# 実際にグラフにしてみる
# tkplot(bigram, vertex.label =V(bigram)$name, edge.label =E(bigram)$weight , vertex.size = 23,vertex.color = "SkyBlue")
plot(bigram, vertex.label =V(bigram)$name, edge.label =E(bigram)$weight , vertex.size = 16,vertex.color = "SkyBlue", vertex.label = 16)

主人公である「自分」が、自身の人間性について鬱屈した思いをもって考えていく、知っていく姿が描かれている作品でると分かる。