源氏物語をワードクラウドで表現してみた

# はじめに
前回一週間前に投稿した
[PythonでMeCabを試した](https://qiita.com/baihebu/items/e34483f3bb547a24fe42 "PythonでMeCabを試した")
の発展形です。

# お題は「源氏物語」
今年の大河ドラマ、「光る君へ」見てますか？
源氏物語の内容はほぼ知らない、「光GENJIの名前の元になったヤリ〇ン光源氏の物語を書いた紫式部のベストセラー小説」くらいの前提知識で毎週楽しみに見ています。

前回MeCabで分かち書きを試したので、次は青空文庫の本のデータを使って本をマルっとワードクラウドを試してみたい。
せっかくなので今マイブームのまひろ＝紫式部の源氏物語でやってみよう。
というわけです。

# 準備
mecab_testフォルダに以下を配置。
・Pythonのソース
・日本語フォントファイル
　サブディレクトリ「Aozora_data」に青空文庫からダウンロードしたテキストファイル
（なお、青空文庫からダウンロードした源氏物語のテキストファイルは56ファイルに分かれています。）
・サブディレクトリ「WordCloudImage」を準備

# ソース
青空文庫のテキストファイルに対する正規表現での整形は以下のサイトを~~パク~~参考にさせてもらいました。
https://www.gis-py.com/entry/mecab-text
[GIS奮闘記](https://qiita.com/baihebu/items/e34483f3bb547a24fe42 "Python で MeCab を使ってテキストの内容を形態素解析してみる ～小説内の頻出単語の抽出～")

サブディレクトリ「Aozora_data」に存在するファイルを舐めて、サブディレクトリ「WordCloudImage」にワードクラウドの画像ファイルを書き出すというプログラムになってます。

```python:aozora_wordcloud.ipynb
import MeCab
import re
import os
from collections import Counter
from wordcloud import WordCloud
FONT_FILE = 'ipaexg.ttf' #このpyファイルと同じフォルダに配置したフォントファイル（これがないと日本語出力できない）

for pathname, dirnames, filenames in os.walk(r'Aozora_data'):
    for filename in filenames:
        file = r'Aozora_data' + r'/' + filename
        with open(file) as f:
            text = f.read()
            #正規表現を使ってクリーニング
            # ヘッダの除去
            text = re.split('\-{5,}',text)[2]
            
            # フッタの除去
            text = re.split('底本：',text)[0]

            # 最初の一の除去
            #text = re.sub('一', '', text,1)

            # ふりがなの削除
            text = re.sub('《.+?》', '', text)

            # 入力注の削除
            text = re.sub('［＃.+?］', '',text)

            # 空行の削除
            text = re.sub('\n\n', '\n', text)

            # 単語の記録用リスト
            words = []

            tagger = MeCab.Tagger()
            r = tagger.parse(text)

            # 改行で分割
            lines = r.splitlines()

            # 最後の行(EOS)を除いてループ処理
            for line in lines[0:-1]:
              # タブ文字で分割
              fields = line.split('\t')
              # 名詞を判別(startswith()で文字列の最初が'名詞'か判別)
              if fields[4].startswith('名詞'):
                # リストに単語を追加
                words.append(fields[0])

            # Counterでカウント + (key, value) でカウント数が多い順に出力
            #Counter(words).most_common()
            wc = WordCloud(font_path=FONT_FILE, width=1280, height=720)
            wc.fit_words(dict(Counter(words).most_common()))
            wc.to_file(r'WordCloudImage/' + filename.replace('.txt', '.png'))
```

# ワードクラウドで出力した画像ファイル
ずらっと56ファイルを並べます。
何か見えてくるでしょうか？

## 01桐壺
![源氏物語01桐壺-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/1ed840f5-f374-fece-fa29-b6aa9287d880.png)

## 02帚木
![源氏物語02帚木-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/bed6dbc9-e519-071c-ade2-8b9e8568d945.png)

## 03空蝉
![源氏物語03空蝉-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/51a4c6da-140d-9ac0-4c55-f64b9a51bd49.png)

## 04夕顔
![源氏物語04夕顔-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/eed65277-4408-e65d-5977-8d66dd8c0260.png)

## 05若紫
![源氏物語05若紫-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/11ae3496-b66e-fc21-6cee-7b9f7e85405f.png)

## 06末摘花
![源氏物語06末摘花-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/3be948df-0a88-2149-5d4e-a3b594c94d7a.png)

## 07紅葉賀
![源氏物語07紅葉賀-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/06a4d981-11b2-0af0-1b2e-c13f08e79484.png)

## 08花宴
![源氏物語08花宴-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/20ab90e3-4934-d41f-bed8-6f1f15e0802c.png)

## 09葵
![源氏物語09葵-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/7a97d8a1-e1de-65d4-77a1-fc7766e552c5.png)

## 10榊
![源氏物語10榊-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/fca1bb02-e3a3-92c3-56dc-5b8c5a153d11.png)

## 11花散里
![源氏物語11花散里-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/359be9a6-5e89-22e7-3b71-665622e92370.png)

## 12須磨
![源氏物語12須磨-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/126e075d-6db2-bc18-53de-6057ada9ede7.png)

## 13明石
![源氏物語13明石-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/78b4987e-7989-71f0-592e-debff4d301e6.png)

## 14澪標
![源氏物語14澪標-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/c0fd8a3d-3fbd-fa59-c1c5-ee27e9d26058.png)

## 15蓬生
![源氏物語15蓬生-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/9992d311-7dea-6932-e055-b95e541b5a60.png)

## 16関屋
![源氏物語16関屋-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/08fb1637-808b-ada0-99c9-aadcca6baecc.png)

## 17絵合
![源氏物語17絵合-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/d0704b0a-9ebf-62b8-6951-0159388973b7.png)

## 18松風
![源氏物語18松風-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/c3546b19-31d4-9a22-2e06-4ff6f3614019.png)

## 19薄雲
![源氏物語19薄雲-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/2ad7e4fa-e55b-d1f1-1898-f00726efa7c7.png)

## 20朝顔
![源氏物語20朝顔-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/d9a33535-6a7b-0c83-bce0-7cd911bd2579.png)

## 21乙女
![源氏物語21乙女-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/77aa53fa-7f42-b375-6507-8bae2ddcd4d9.png)

## 22玉鬘
![源氏物語22玉鬘-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/c0cc9988-342e-d4f2-fadf-dc24f2f9b4ee.png)

## 23初音
![源氏物語23初音-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/b1ce762e-3a7b-4e76-402a-d1ed2bbfcdc5.png)

## 24胡蝶
![源氏物語24胡蝶-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/09ddebfc-31bf-7393-a0cf-4f0dd05884d2.png)

## 25蛍
![源氏物語25蛍-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/6a8a24f2-f4da-0c32-d66c-ffd08cf54f92.png)

## 26常夏
![源氏物語26常夏-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/5fb21771-65de-041a-ca69-5e5a0a845073.png)

## 27篝火
![源氏物語27篝火-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/d1af2597-2090-5778-3ec8-6f4b65e7a1fc.png)

## 28野分
![源氏物語28野分-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/0e66ddb4-fe53-44a6-8595-7265c4423084.png)

## 29御幸
![源氏物語29御幸-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/c6950713-7d4d-758e-3ff7-d6d0397aca02.png)

## 30藤袴
![源氏物語30藤袴-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/852f9d22-b86b-9bb2-57b8-986374f1c0a1.png)

## 31真木柱
![源氏物語31真木柱-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/15028e12-58f5-f1d7-c8d1-8be358a767bc.png)

## 32梅が枝
![源氏物語32梅が枝-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/53b52382-638e-24a2-9e0f-013644a1f047.png)

## 33藤のうら葉
![源氏物語33藤のうら葉-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/36b52e63-f835-f9fa-7e3d-ae00e7f66c7a.png)

## 34若葉（上）
![源氏物語34若菜（上）-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/36322b36-f5ba-ef9a-8eeb-0696a5d431c5.png)

## 35若葉（下）
![源氏物語35若菜（下）-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/0117c95f-4139-d949-bc7f-db98856d6c20.png)

## 36柏木
![源氏物語36柏木-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/589889c0-ab12-05eb-b3c9-e2fc04fd1ce2.png)

## 37横笛
![源氏物語37横笛-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/fc8cc486-4bdd-5be5-3bc5-7eb45af963a0.png)

## 38鈴虫
![源氏物語38鈴虫-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/81ec34e4-88f4-5e3e-ef17-bb9e5204b2c1.png)

## 39夕霧一
![源氏物語39夕霧一-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/329db9dc-522b-99cc-c992-473a6d28c836.png)

## 40夕霧二
![源氏物語40夕霧二-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/d9ca5b1c-0270-414c-41c2-911ff741300f.png)

## 41御法
![源氏物語41御法-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/954bb582-0630-22bc-7aaf-a5d461fbc8da.png)

## 42まぼろし
![源氏物語42まぼろし-源氏物語.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/99a26ea1-5931-3088-dbe3-7eb8de35498e.png)

## 43雲隠れ
元ファイルがめっちゃ小さいのでこれだけです。
テキストの中身を見ると以下のコメントがありました。
［＃「雲隠れ」の帖は冒頭の晶子詞のみで本文はありません。］

:::note info
かきくらす涙か雲かしらねどもひかり
見せねばかかぬ一章　　　　（晶子）
:::
対象のデータはこの2行のみでした。

![源氏物語43雲隠れ-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/52424480-b09f-e0e2-f981-ca814e88bf40.png)

## 44匂宮
![源氏物語44匂宮-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/07ef58c7-39d1-73eb-2bfb-6f1e0e018caf.png)

## 45紅梅
![源氏物語45紅梅-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/ee634622-60a2-f504-9816-42052f86cf88.png)

## 46竹河
![源氏物語46竹河-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/393289ca-8006-c73d-40ff-9096c57370ae.png)

## 47橋姫
![源氏物語47橋姫-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/ef56716d-2e6d-cc74-fa4a-b77a51347ce3.png)

## 48椎が本
![源氏物語48椎が本-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/5814b691-6072-c802-5b36-507dce64ca60.png)

## 49総角
![源氏物語49総角-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/c3661859-16ae-06e4-bf94-fd38b51eb83b.png)

## 50早蕨
![源氏物語50早蕨-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/a88f0ac1-920b-75f5-1a14-d02e4f068446.png)

## 51宿り木
![源氏物語51宿り木-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/6a4768a4-04e4-a47d-24ac-9a7804374be6.png)

## 52東屋
![源氏物語52東屋-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/5bb8ecb3-aa93-9e3e-20e7-4f99e500c715.png)

## 53浮舟
![源氏物語53浮舟-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/5d1a92c3-6da1-0dab-94b7-00bc226db3c2.png)

## 54蜻蛉
![源氏物語54蜻蛉-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/92815c80-abe0-310b-e9b3-47c3abb8db1a.png)

## 55手習
![源氏物語55手習-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/bc6d14b6-f396-d526-949a-6952852ea41c.png)

## 56夢の浮橋
![源氏物語56夢の浮橋-紫式部.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3487310/118ff93b-8e5e-c423-f09c-c3b6d64709fc.png)

# 最後に
いかがでしたでしょうか？
読んだことがある人ならこれだけで読んだ気になれるかも？

「こと」が多いなー。「もの」もそこそこ多い。
この2つは除外すべきなのかな？
ということを検討してみてもいいかも。

ではでは。