SEKAI NO OWARI の歌詞を可視化する

# はじめに
> 僕の生活そのものを書いてます。
> 言ったら情景描写みたいなもんなんですよ。

ファースト・アルバム『EARTH』リリース時のインタビューで、歌詞についてFukaseさん(当時は深瀬慧) はこう述べています。
作詞とは個人的な日常を大衆向けに翻訳する作業だと。

それから年月がたち、SEKAI NO OWARIは昨年インディーズデビュー10周年、今年メジャーデビュー10周年を迎えました。

とくれば、この10年の間にはどのような情景変化があるのか見たくなりませんか？私は見たい。　　

ということで楽曲を通して見える世界を可視化してみました。



# 環境
macOS BigSur (11.2.3)  
python3.9  

# 方法

これまでにSEKAI NO OWARI (世界の終わり)名義でリリースしたアルバム(ベストを除く)6枚それぞれについてワードクラウドを作成、比較する。

# アルバム一覧

## EARTH (2010)

|曲名|作詞|作曲|
|:-----------|:-----------|:------------|
| 幻の命 |  深瀬慧    |藤崎彩織|
| 虹色の戦争     |   深瀬慧     |  深瀬慧   |
| インスタントラジオ    |  深瀬慧    |  深瀬慧・中島真一  |
| 青い太陽         |  深瀬慧    |  深瀬慧・中島真一  |
| 死の魔法       |  深瀬慧   |  深瀬慧  |
| 世界平和    |  深瀬慧  |  深瀬慧    |
| 白昼の夢    |   深瀬慧  |   深瀬慧    |   


## ENTERTAINMENT (2012)

| 曲名                 | 作詞                       | 作曲                 |
| -------------------- | -------------------------- | -------------------- |
| The Entrance         |                            | SEKAI NO OWARI(編曲) |
| スターライトパレード | Fukase                     | Nakajin              |
| ファンタジー         | Fukase                     | Fukase               |
| illusion             | Fukase                     | Saori、Fukase        |
| 不死鳥               | Fukase                     | Nakajin              |
| 天使と悪魔           | Fukase                     | Fukase               |
| Love the warz        | Fukase<br>Nelson Babin-coy | Fukase               |
| Never Ending World   | Fukase                     | Saori                |
| 生物学的幻想曲       | Fukase                     | Fukase               |
| TONIGHT              | Nakajin                    | Nakajin              |
| yume                 | Fukase                     | Saori                |
| 花鳥風月             | Saori                      | Fukase               |
| 炎の戦士             | Nakajin                    | Nakajin              |
| Fight Music          | Fukase                     | Fukase               |
| 眠り姫               | Fukase                     | Fukase               |
| 深い森               | Fukase<br>Nelson Babin-coy | Fukase               |


## Tree (2015)

| 曲名                       | 作詞          | 作曲                 |
| -------------------------- | ------------- | -------------------- |
| the bell                   |               | SEKAI NO OWARI(編曲) |
| 炎と森のカーニバル         | Fukase        | Fukase               |
| スノーマジックファンタジー | Fukase        | Nakajin              |
| ムーンライトステーション   | Fukase        | Fukase               |
| アースチャイルド           | Saori         | Nakajin              |
| マーメイドラプソディー     | Saori         | Nakajin              |
| ピエロ                     | Fukase        | Fukase               |
| 銀河街の悪夢               | Fukase        | Nakajin              |
| Death Disco                | Fukase        | Nakajin、Fukase      |
| broken bone                | Fukase        | Fukase               |
| PLAY                       | Saori         | Saori                |
| RPG                        | Fukase、Saori | Fukase               |
| Dragon Night               | Fukase        | Fukase               |

## Eye (2018)

| 曲名               | 作詞                       | 作曲            |
| ------------------ | -------------------------- | --------------- |
| LOVE SONG          | Fukase                     | Saori、Nakajin  |
| Blue Flower        | Fukase                     | Fukase          |
| ANTI-HERO          | Fukase<br>Nelson Babin-coy | Nakajin         |
| 夜桜               | Fukase                     | Nakajin、Fukase |
| Monsoon Night      | Saori<br>Nelson Babin-coy  | Nakajin、Fukase |
| Food               | Fukase                     | Fukase          |
| SOS                | Saori<br>Nelson Babin-coy  | Fukase          |
| Re:set             | Fukase                     | Fukase          |
| ドッペルゲンガー   | Nakajin                    | Nakajin         |
| エデン             | Fukase                     | Fukase          |
| すべてが壊れた夜に | Fukase                     | Fukase          |
| Witch              | Fukase                     | Fukase、Nakajin |
| スターゲイザー     | Fukase                     | Fukase          |

## Lip (2018)

| 曲名             | 作詞          | 作曲                   |
| ---------------- | ------------- | ---------------------- |
| YOKOHAMA blues   | Fukase        | Nakajin                |
| RAIN             | Fukase、Saori | Nakajin、Fukase、Saori |
| Mr.Heartache     | Fukase<br>Nelson Babin-Coy        | Adam Young、Nakajin    |
| 向日葵           | Fukase        | Nakajin、Fukase        |
| サザンカ         | Fukase、Saori | Nakajin、Fukase        |
| 千夜一夜物語     | Saori         | Saori                  |
| Error            | Fukase        | Nakajin、Saori、Fukase |
| Hey Ho           | Saori、Fukase | Nakajin                |
| ラフレシア       | Fukase        | Nakajin                |
| Goodbye          | Nakajin       | Nakajin                |
| Missing          | Fukase        | Saori                  |
| 蜜の月           | Fukase        | Fukase                 |
| イルミネーション | Saori、Fukase | Saori、Nakajin         |


## scent of memory (2021)

| 曲名            | 作詞          | 作曲                                  |
| --------------- | ------------- | ------------------------------------- |
| scent of memory |               | Saori                                 |
| Like a scent    | Fukase        | Fukase, Nakajin, 坂本龍一             |
| umbrella        | Fukase        | Fukase, Saori                         |
| 陽炎            | Saori         | Saori                                 |
| silent          | Fukase        | Fukase, Nakajin                       |
| 周波数          | Saori         | Saori                                 |
| 正夢            | Nakajin       | Nakajin                               |
| バードマン      | Saori、Fukase | Nakajin, David Sneddon, Kasper Larsen |
| Dropout         | Fukase        | Fukase                                |
| family          | Fukase        | Saori, Nakajin, Fukase                |
| tears           | Fukase        | Fukase, Nakajin                       |
| Utopia          |               | Nakajin                               |

<br>

# ざっくり手順

1. テキストデータを用意
1. 読み込んで単語分割、単語リストを作成
1. ワードクラウドを作成



# 実装

上の手順に従って進めていきます

## 1. テキストデータを用意

歌詞サイトは基本コピペ防止されています。  

地道に打ったけどとっても大変なのでスクレイピングしましょう。([参考](https://qiita.com/k_eita/items/456895942c3dda4dc059#%E6%AD%8C%E8%A9%9E%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0))



<br>

こんな感じで用意

```text:EARTH.txt
白い星が降る夜に 僕からの賛美歌を
蒼い銀河の彼方にUFOが 君を連れて消えていく
白い病院で死んだ 幻の命に
眠れない夜に夢で逢えたらと 蒼い月に祈るんだ

幻に夢で逢えたら それは幻じゃない
僕もいつの日か星になる 自由が僕を見て笑う

嘘が煌めく夜に 偽物の花束を
蒼い銀河の彼方にUFOが 僕を連れて消えていく
白い病院で死んだ 僕達の子供は
もうこの世界にはいないのに何で何も 感じないんだろう

幻に夢で逢えたら それは幻じゃない
僕が幻になれた夜 白い星が空に降る

April 30, 2005
Our child became the phantom.
We named the life of phantom TSUKUSHI.
It was a night with the red moon blazing beautifully.

君のパパとママの歌

花に声があるなら何を叫ぶのだろう
自由の解放の歌を世界に響かせているだろう
平和に耳があるなら何が聴こえるだろう
```

<br>


## 2. 読み込んで単語分割、単語リストを作成

単語分割にはjanomeのTokenizerを使用しました

```python:wordcloud.py
# モジュールのインポート
from janome.tokenizer import Tokenizer # 単語分割
j_t = Tokenizer()
from wordcloud import WordCloud # ワードクラウド作成
from matplotlib import pyplot as plt # 描画

# データの読み込み〜単語リスト作成
f = 'EARTH.txt'
word = []
with open (f,'r') as fh:
    for line in fh:
        for token in j_t.tokenize(line):
            if token.part_of_speech.split(',')[0] in ['名詞','動詞','形容詞']: # 名詞, 動詞, 形容詞のみ抽出
                word.append(token.base_form) # 基本形
``` 

※ `word.append(token.base_form)` とすることで動詞や形容詞も基本形を抽出できます  (例：死ん→死ぬ)  
※ もし名詞だけ抽出するなら `word.append(token.surface)` でOK


<br>

ちなみに `token`の中身はこんな感じ

```python
白い	形容詞,自立,*,*,形容詞・アウオ段,基本形,白い,シロイ,シロイ
星	名詞,一般,*,*,*,*,星,ホシ,ホシ
が	助詞,格助詞,一般,*,*,*,が,ガ,ガ
降る	動詞,自立,*,*,五段・ラ行,基本形,降る,フル,フル
夜	名詞,副詞可能,*,*,*,*,夜,ヨル,ヨル
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
 	記号,空白,*,*,*,*, ,*,*
僕	名詞,代名詞,一般,*,*,*,僕,ボク,ボク
から	助詞,格助詞,一般,*,*,*,から,カラ,カラ
...
に	助詞,格助詞,一般,*,*,*,に,ニ,ニ
平和	名詞,形容動詞語幹,*,*,*,*,平和,ヘイワ,ヘイワ
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
```  

`j_t.tokenize()` の引数に `wakati=True`を指定すると、`token` の中身は単語のみになります。(もちろんこの場合`token.part_of_speech` は使えなくなる)  

<br>



作成できた単語リストはこちら

```python
['白い', '星', '降る', '夜', '僕', '賛美', '歌', '蒼い', '銀河', '彼方', 'UFO', '君', '連れる', '消える', 'いく', '白い', '病院', '死ぬ', '幻', '命', '眠れる', '夜', '夢', '逢える', '蒼い', '月', '祈る', 'ん', '幻', '夢', '逢える', 'それ', '幻', '僕', 'いつ', '日', '星', 'なる', '自由', '僕', '見る', '笑う', '嘘', '煌めく', '夜', '偽物', '花束', '蒼い', '銀河', '彼方', 'UFO', '僕', '連れる', '消える', 'いく', '白い', '病院', '死ぬ', '僕達', '子供', 'もうこ', '世界', 'いる', '何', '感じる', 'ん', '幻', '夢', '逢える', 'それ', '幻', '僕', '幻', 'なれる', '夜', '白い', '星', '空', '降る', 'April', '30', ',', '2005', 'Our', 'child', 'became', 'the', 'phantom',
...
'WAR', '猟奇', '的', '一般', '市民', '世界中', '血', '雨', '降らす', 'セカイ', '中', '一つ', 'なる', 'ん', '世界', '平和', '猟奇', '的', '一般', '市民', '世界中', '血', '雨', '降らす', 'セカイ', '中', '一つ', 'なる', 'ん', '世界', '平和', '貴方', 'たち', '願う', '平和', '世界', '平和', 'ん', '花', '虫', '僕ら', '星', '貴方', 'たち', '殺す', 'れる', 'てる', 'ん', '私', 'たち', '世界', '人類', '平和', 'ある', 'よう', '世界中', '子供', 'たち', '戦争', 'ない', '未来', '願う', '神様', '人類', '滅ぼす', '下さる', '神様', '私', 'たち', '世界', '平和']
```

<br>

## 3.ワードクラウドを作成

まず除外したい言葉を定義します。  


```python:wordcloud.py
# 日本語
stop_ja = ['もの', 'こと', 'とき', 'そう', 'たち', 'これ', 'よう', \
                   'これら', 'それ', 'すべて' ,'いる','する','ん','の',\
                    'ソレ','事','みたい','たち','なる','よう','くる','いく',\
                    'てる','れる','ない','ある','やる','られる']
# 英語
stop_en = [u'am', u'is', u'of', u'and', u'the', u'to', u'it', \
                  u'for', u'in', u'as', u'or', u'are', u'be',\
                  u'this', u'that', u'will', u'there', u'was',u's',u'a']
```

出来上がったワードクラウドを見ながらどんどん追加していく感じ  



<br>

可視化します。

```python:wordcloud.py
# ワードクラウドの作成
wc = WordCloud(width=480, height=320, background_color="white",
               stopwords= (stop_en+stop_ja),
               font_path="/System/Library/Fonts/ヒラギノ明朝 ProN.ttc")
wc.generate(" ".join(word))

# 描画して確認
plt.figure()
plt.imshow(wc)
plt.axis("off")
plt.show()

# 保存
wc.to_file('EARTH.png')
```

# 結果

では出来上がったワードクラウドを順に見てみましょう!

## EARTH  

![Earth.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1719733/6cea9be6-b163-ab7a-0ded-51be6ec75196.png)  

中心の「僕」とその周りの「世界」という感じ。  
「戦争」と「平和」、「朝」と「夜」の対比や「花」「虫」「空」「太陽」など、なるほど確かに身の回りの世界が表れているようです。  




##  Entertainment

![Entertainment.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1719733/890f93b9-25ae-38bf-43aa-4c214a4d6007.png)

ここで「僕ら」の存在が大きくなりました。「君」も現れています。  
「戦争」も「終わり」もあるけれど「Love」や「夢」 、「永遠」の存在も目立ちます。  
自分だけだった世界に他人が登場し、より抽象的な美しさを捉えるようになったかのようです。 



## Tree

![Tree.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1719733/930e245d-1917-b066-b8b1-f89ff010b54e.png)

「君」の存在がでかい！  
中心は「僕」ではなく「君」です。ところどころ『RPG』の影が見えますが、「僕ら」より「君」なのです。  



## Lip

![Lip.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1719733/90c8cb7d-87b4-c7bc-4941-34f393b4aa8c.png)


相変わらず「君」と「僕」との世界です。 
Mr.Hertache』の影響力が思いっきり出ていますそれはそう。
Mrだけ取り除いたのが良いのかどうなのかわかりませんが許してください。
名詞よりも動詞の印象が強くなったように思います。


## Eye

![Eye.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1719733/3be0aa3f-2d8d-623d-d0bc-b9f15c905c55.png)
  
言語の壁を超えました。  


## scent of memory

![scentofmemory.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1719733/744f815a-00eb-6530-d7bb-97460bf3e4d6.png)

「君」は「貴方」へ、「僕」は「私」へ。
もちろん作詞者が多様になった影響もありますが、バンド全体として捉えるならば、EARTHの時は基本的に"自分の目の前に見えているもの”でワードクラウドができていたのが、scent of memory に至るまでに"自分自身の心の中"が動詞や言葉の言い回しの変化としてより見えてきたように感じます。
一方「夜」も「星(star)」も変わらずそこにあり続けていて、ホッとするような嬉しいような。

# まとめ

> 変わらない為に僕らはいつまでも変わり続けるよ


アースチャイルドで歌われたこの言葉、10年間の中で変わったものと変わらないものが、歌詞の可視をからもちょっとは見えるのかなと思います。

ワードクラウドで可視化だなんて無粋なことをやりましたが、私はこれからも「まだ自分を表現しきれない」「スターで居続ける覚悟がある」と述べるFukaseさんが見せてくれるものを、家族一丸となってSEKAI NO OWARIが見せてくれるものを、ただずっと見続けたいです。
  
※ 中身がなさすぎね？と思ったのでガンガン情報を入れていきたい、、、