はじめに
をやってみたので、今度は長い文章の場合の場合にどのようなチューニングが必要なのかを考えながら遊んでみます。
青空文庫から大和古寺風物詩(亀井勝一郎)と古寺巡礼(和辻哲郎)を探してそれぞれをフラットなテキストファイルにして保存しておきます。
大和古寺風物詩
import wordcloud
import matplotlib.pyplot as plt
import MeCab
bun = ""
with open('亀井勝一郎_大和古寺風物詩.txt') as f:
for line in f.readlines():
bun = bun + line.strip()
wc = wordcloud.WordCloud(width=1000, height=600, background_color="white",
font_path=r"C:\windows\Fonts\meiryo.ttc",
stopwords=["し", "の", "いる", "もの", "こと", "する", "よう", "い", "れ", "さ", "これ","それ", "ある", "なっ", "ところ", "なる", "られ", "あっ", "あり", "れる"])
tagger = MeCab.Tagger()
word_kaiseki = tagger.parse(bun)
lines = word_kaiseki.split('\n')
selected = []
for line in lines:
feature = line.split('\t')
if len(feature) == 2:
info = feature[1].split(',')
hinshi = info[0]
if hinshi in ('名詞', '形容詞', '動詞'):
selected.append(feature[0])
wc.generate(" ".join(selected))
plt.imshow(wc)
plt.axis("off")
古寺巡礼
import wordcloud
import matplotlib.pyplot as plt
import MeCab
bun = ""
with open('和辻哲郎_古寺巡礼.txt') as f:
for line in f.readlines():
bun = bun + line.strip()
wc = wordcloud.WordCloud(width=1000, height=600, background_color="white",
font_path=r"C:\windows\Fonts\meiryo.ttc",
stopwords=["の", "もの", "こと", "ある", "それ", "いる", "し", "する", "よう", "これ", "い", "あっ", "ない", "れ", "そこ"])
tagger = MeCab.Tagger()
word_kaiseki = tagger.parse(bun)
lines = word_kaiseki.split('\n')
selected = []
for line in lines:
feature = line.split('\t')
if len(feature) == 2:
info = feature[1].split(',')
hinshi = info[0]
if hinshi in ('名詞', '形容詞', '動詞'):
selected.append(feature[0])
wc.generate(" ".join(selected))
plt.imshow(wc)
plt.axis("off")
やってみて
亀井勝一郎と和辻哲郎、二人の着眼点の違いが浮き彫りになって見えてくる。
このままでもけっこういい感じだけれど、品詞を細分類の粒度で抽出するともっとシンプルになるかもしれない。