歌詞をクラスター分析してみる

自然言語解析

歌詞を単語に分解してどの曲とどの曲がどれくらい似てるかの分析をしています。
歌詞だけが対象で、しかも、単語の順番や関わりは無視して出現数だけを見ています。
だからどうというわけでもないのですがヽ(^^;)ノ。
面倒なことを読みたくない方は、図だけ↓見て見てふーんと思ってやってくださいませ。
『そっくりハウス』「そっくりハウス」まで
『宇宙の子ども』「よその子」まで
『月光シアター』「空の駅」まで

分析に当たっては、以下のツールを利用させていただきました。
ツールをご提供されている方々に深く感謝いたしますです m(__)m。
茶筌(ChaSen) for Windows(日本語形態素解析システム)
version 2.1 (「よその子」まで)
version 2.3.3 with IPADIC version 2.6.3 (「空の駅」まで)
おしゃべりな部屋にあった VBA macro: クラスター分析
・Perl version 5.005_03
・Ruby

何をしたかったのか

発端
進化の系統樹を遺伝子のデータから作成するということを知って、 この手法を使って浩子さんの曲の系統樹を書けないかなぁ、と思ったわけです。
当初は全般的な曲の性質をリストアップして、数値化しようとしてたんですが、 ちょっと恣意的すぎて面白くない。
そこに、茶筅というツールがあることを教えてくれた方がいたので、 単語の出現数を遺伝子として使うことにしたのです。

歌詞を茶筅にかける
茶筅というのは、漢字ひらがなカタカナ混じりの普通の日本語の文章を、 単語ごとに切り取ってふりがなをつけて品詞まで教えてくれるありがたいソフトです。

たとえば、「冷たい水の中をきみと歩いていく」を茶筅にかけるとこんな風になります。
冷たい冷たいツメタイツメタイ形容詞-自立形容詞・アウオ段基本形
ミズミズ名詞-一般
助詞-連体化
ナカナカ名詞-非自立-副詞可能
助詞-格助詞-一般
きみきみキミキミ名詞-代名詞-一般
助詞-格助詞-一般
歩い歩くアルイアルイ動詞-自立五段・カ行イ音便連用タ接続
助詞-接続助詞
いくいくイクイク動詞-非自立五段・カ行促音便基本形

一曲ごとに出現単語数を数える
そういうわけで歌詞を全部単語に切り分けます。
そして、全単語について、一曲ごとに単語数を数えていきます。
一曲の単語数を順番に並べていくと、その曲の性質をあらわす(ような気がする)数値の列を得られるわけです。

クラスター分析して樹状図を作成する
上記のようにして得られた曲ごとの単語数の列を使ってクラスター分析をします。
クラスター分析というのは、こういった数値の羅列を比較して、似ている度合いを分析する手法です。
一番距離が近いもの(一番似てるもの)2つの要素をグループ化して、そのグループと他の要素をまた比べて、 という過程を図にすると樹状図(dendrogram)になります。
樹状図の線の長さは要素間の距離を表します。
つまり、短い線でつながっているものほど、似通っている、ということになるわけです。
詳細はわたし自身なんとなくしか理解してないのでヽ(^^;)ノ、 正確に知りたい方は このへんを読むとか、 専門書をあたってくださいませ。

実際の分析にあたって

分析対象の曲
全曲なんてゆうととんでもないことになりそうだったので、 各オリジナルアルバムから一曲ずつ選択しました。
選択の優先基準はこう↓。
(1) アルバムのタイトル曲があればそれ
(2) アルバムタイトルをその曲の歌詞からとっている曲があればそれ
(3) (1)と(2)にあてはまらない場合は一曲目に収録のもの

分析対象の単語
対象の品詞と単語の選択条件については、いろんな条件で試してみた結果、 わりと妥当かなぁと思ったので以下のように一番シンプルな選択方法を採用しました。
「記号」を除くすべての品詞を対象としています。
Excelのマクロを使う関係上、 変数の数は250個くらいまでという制限があります(Excelのシートの列数の制限))。
そこで対象とする単語は、全単語を出現数順に並べて最初の240個を対象としました。
出現数でいうと、3くらいまでです。つまり、対象曲ぜんぶで3回~4回使用された単語を使っているわけです。

スクリプト
茶筅の結果から単語数を数えて、Excelに渡すためのcsvファイルを作成するところは、 perlで処理しました。rubyで処理しました。
(2005.2.26「空の駅」からはruby使ってます)

分析結果

「そっくりハウス」まで

(最初にあげた結果に「僕は鳥じゃない」が入っていなかったので慌ててやり直しました 2003/06/08)

いかがでしたでしょうか。
わたし自身はけっこう直感的な「似てる感じ」と一致が見られたのですが。
わたしの解釈は、 上のほうに集まっているのが「おやすみ、安らぎ」、 真ん中へんは「内面型ファンタジー」、 下のほうに固まっているのが「ファンタジー大曲」、 あちこちにちらばって独立しているのが「小さなひと向け」という感じ。

予想以上にきれいに結果が出て楽しかったのことです。
次は小説作品を、と、言いたいですが、 こうやって遊ぶにはまずテキストデータをつくらなきゃいけないので、、、 次はないかもヽ(^^;)ノ。

(2003/06/07)

「よその子」まで


ニューアルバム発売からだいぶん間があいてしまいましたが、アルバム『宇宙の子供』より「よその子」を入れた結果です。
なんと、この曲は他の曲とぜんぜん、くっつかなかったようです。
まさに「よその子」状態です。
ぼんやりと「王国」や「ボクハ・キミガ・スキ」のあたりにくっつくかと予想していたのですが。
#一人称・二人称が一致してるってだけですが

他の曲との距離の離れ方が極端なので、詳細を確認してみました。
語数を数えた結果を見ると、一番影響しているのは、助詞の多さのようです。
特に「の」と「は」と「を」の多さが他の曲と離れる原因みたい。
「の」が51個 (次に多い「人形の家」は20個)
「は」が21個 (次に多い「ねこの森には帰れない」は13個)
「を」が20個 (次に多い「人形の家」が14個)

そうなると、助詞抜きの結果も見たくなりますよね。
やってみました。

「よその子」まで(記号、助詞除く)


多少、変化が見られますが、「よその子」のよそっぷりはあまり変わっていないようにも思えます。

(2003/12/18)

「空の駅」まで

「空の駅」は「草の仮面」とくっついたようです。へぇヽ(^^;)ノ。
それにしても、どうやっても「よその子」はよその子です。

(2005/2/26)