こんにちは!みなさん、KH Coder を使ったことはありますか?
大量の言語データ(コーパス)を分析する時に使えるフリーソフトです。
私みたいにコードが書けない人でも、クリックすれば形態素解析をしてくれて、その後の分析もできてしまう、本当にありがたいソフトウェアです。
テキストマイニングとか、聞いたことはあるし、便利そうだけど実際何ができるのかわからない…なんて人に、どんなことができるのかご紹介したいと思います☆
ソフトに出してもらったデータから何を読み取れるのか…というところも注目してもらえればと思います。
今回は、私の大好きな2人組バンド『ヨルシカ』の歌詞を34曲分データとして用意し、分析してみました。
『ヨルシカ』の歌詞を選んだ理由と目的
KH coder の使い道が知りたい、結果だけ見たいという方は、ここは飛ばし読みしてもらって大丈夫です。
ヨルシカの歌詞は、ボカロの曲を書いていたn-buna(ナブナ)さんという方が書いています。n-bunaさんは2018年、suis(スイ)さんという透き通るような歌声を持った女性ボーカリストと2人組バンドを結成しました。
歌詞の内容は、現代の若者の気持ちを率直に歌っていたり、恋人への思いを歌っていたり様々なのですが、表現がすごく美しいと感じます。
直感的に、「この歌詞好き!」とか「この表現きれい!」って言うことは、もちろん誰でもできますよね。でも、なんでこの人の歌詞に心を打たれるんだろう、自分はどんな言葉に心を動かされているんだろうって、考えたことはありますか?
自分の好みを掘り下げるためにも、自分はどんな言葉に共感し感動しているのかを把握するためにも、この歌詞を分析してみるのって悪くないかも、なんて思いました。
抽象的な話をしてしまいましたが、分析をしたいと思ったきっかけはありました。通学中、お風呂の中、身支度の間…狂ったようにヨルシカの曲を聴いていて、「なんかすべての曲に共通したテーマがあるぞ…」と思い始めたのです。
テーマというよりかは、共通した語彙という方が正しいかもしれません。
具体的には、「雲」「夏」「雨」などの言葉が、どの曲にも頻繁に散りばめられている気がしました。
そこで、KH Coderを使用し私の直観は正しいのか、他にヨルシカというバンド全体、またそれぞれのアルバムにはどんなテーマがあるのかなどを、実際に歌詞に使われている語彙から見てみたい!というのが、動機であり目的です。
準備
まずは分析したいデータを適したファイル形式で用意します。
私の場合はExcel (.xls)で用意しました。
他にはテキストファイル(.txt)、CSVファイル(.csv)が使えます。
データ内容は、34曲、1273セル分です。
ネット上に公開されている歌詞の区切り方(改行のしかた)をそのまま利用し1つのセルにいれました(B列)。
歌詞の他に曲名、リリースされた年、アルバム名もメモしておきました。
コーパス”研究”をしようと思うと、このような作品のメタ情報がとても重要になってくるそうです。
参考: 『語彙密度を利用した現代日本語書き言葉均衡コーパステクスト分類の試み』
あと、こういう風にExcel でたくさんの言語データを管理する場合、A列のように一番左にでも1列追加し、通し番号を振っておくことをおススメします。
データをフィルタリングして並べ替えたりとかして、気づかぬうちに元の並びに戻せない…!!!なんてことを防ぐためです。この1列のおかげで、どれだけデータをいじっても初期データに戻せるとも言えます。
KH Coder上での操作は、公式のチュートリアルにわかりやすく書いてあるので、本記事ではあくまでも「どんなことができるか」「どう考えられるか」に着目して紹介していきます。
分析Ⅰ 抽出語リスト
では早速分析をしていきましょう。
今回は、KH Coder の基本的な機能を網羅したいので、ソフトをダウンロードした時にフォルダ内に含まれているチュートリアル(pdfファイル)にしたがい、同じ順番で分析をしていきます。
まずは、頻出語リストです。これがとっても知りたかった!
私がなんとなく頻出すると感じていた語彙、「雲」「夏」「雨」など…は本当によく使われているのでしょうか?
結果はごらんのとおりです。2位と15回の差をつけ堂々の1位は「夏」でした!
やはり、ヨルシカの曲の舞台やテーマは「夏」ということでしょうか。
私がよく出てくると感じていた「雲」は21回で22位、「雨」は16回で34位でした。
感じていたほど超頻出の語彙でもなかったようです。
私が聞いている曲が偏っていたのかもしれませんね。
また、歌詞データ34曲分といっても、リリース年や収録アルバムは今回あまり考慮していないので、そういった要因もあるかもしれません。
分析Ⅱ 語の共起
分析Ⅰでは語彙単位で分析を行いましたが、次はどのような言葉がどのような言葉と一緒に使われているのか(=語彙同士のつながり)を見ていきます。
KWICコンコーダンス
分析Ⅰで見た各語彙が、どんな言葉と一緒に使われているのかを一覧で見ることができます。
これを、図にわかりやすく描いたのが以下の共起ネットワークです↓
共起ネットワーク
KH Coderでは共起ネットワークをワンクリックで描いてくれるので、それを掲載しますね。
おおー!なんか、分析してる感すごくないですか?笑
はい、繰り返しになりますがここから分かるのは、どの語がどの語とよく一緒に使われているか、です。
結びつきの強い語同士がグループ化され、色付けされています。
下の緑のかたまりを見てみましょうか。
頻出語上位の「夏」「全部」「夜」がすべて、ここに位置づけられています。
頻出語上位3位は、近いところで(≒一緒に)使われることが多いようですね。
この緑のかたまりを、ヨルシカの歌詞から描かれる世界観のベースということもできる…かも…しれません(中身をしっかり見たわけではないので自信はないです)。
結びついているところを個別に見ていくと、「夏―終わる―胸」という部分からは(あぁ、夏の終わりってなんだか胸が痛くなるよな…)とか、「夕―空―色―泣く」がつながっているところからは(夕方の空の色は、なんだか泣けるよな…)とかが、見えてきます。最初に掲げていた、「自分はどのような言葉に心を動かされるのか」という問いに関連してきそうですね。
以上が語彙同士のつながりでした。
分析Ⅲ アルバム別に特徴的な語
ヨルシカに限らず、アーティストの楽曲はアルバムごとに違った世界観やコンセプトを持っていますよね。
ここではアルバムごとの分析をしてみようと思います。
今回用意したデータをアルバムごとに見るとこんな感じです。
4つのアルバムに、200~400ほどのセルが分類されています。
「.」となっている部分はアルバムではまだリリースされていない最新曲3つ分です。
結果はこうなりました ↓ ↓ ↓
アルバム別に、頻出語1位から10位が示されています。
同じ語彙は同じ色でハイライトしました。
…私が最初に(ヨルシカの歌詞って「夏」とか「雲」ばっかりやー…)と感じていたのは、アルバム『夏草が邪魔をする』『負け犬にアンコールはいらない』に収録された曲ばかり聞いていたからかもしれません。シャッフルで聞いていたのでわかりませんでした(笑)
分析Ⅰで見たように、全体としては「夏」「忘れる」「全部」が上位3位を占めているんですよね。
「夏」「全部」に関してはそれぞれ2つのアルバムで比較的上位に入っていますが、「忘れる」は『エルマ(2019)』にしか入っていませんでした。『エルマ』のデータ量は366(セル)とかなり多いので、単に出現回数が多くなり、全体の結果に影響を及ぼしたのかもしれません。
でも、単にデータ量だけで考えると、『だから僕は音楽を辞めた』の386(セル)の方が多いですよね。にもかかわらず、『だから僕は音楽を辞めた』でランクインしている語彙は全体ランキングに出てこず、「忘れる」が全体ランキングに入っているのは、この語が他のアルバムでも(ランクインするまではいかないまでも)使用されているということでしょう。
追記: 実際に「忘れる」は『エルマ』以外のアルバムでも結構使用されていることが確認できました。ぎりぎりのところでランクインできなかった!というような場合もありました。
また、表には掲載していませんが、『だから僕は音楽を辞めた』の異なり語数は533語、『エルマ』の異なり語数は433語です。つまり、『だから僕は音楽を辞めた』では使われる言葉の種類が多いので、個別ランキングで上位に入った語彙であっても全体ランキングにはさほど影響を及ぼさないことも考えられます。個別ランキング上位でも出現回数は少ないということです。
※異なり語数…総抽出語数に対し、異なる語彙の数。つまり、異なり語数では「夏」という語彙が何度出てきてもそれは1語とカウントされます。
ここでの結果をまとめると、
①自分が体感的に頻出すると思っていた語彙が多く含まれるアルバム
②全体ランキングに大きな影響を及ぼしていたアルバム
が判明した。
対応分析
さらに、各語彙がどのアルバムに使われていたのか視覚的に確認しましょう。
アルバム名が赤字で表示されていて、そのアルバムで使われた語彙が周辺に分布しています。
原点(0, 0)の周辺にはこれといって特徴のない語が集まるそうです。
つまり、アルバムの特徴を示す語彙ではなく、すべてのアルバムにまんべんなく出てきている語彙ということもできますね。
『エルマ』で頻出の語は、全体でもよくつかわれているということが上記アルバム別ランキングで明らかとなっていましたよね。つまり、ここでも、『エルマ』がすべての中心、原点に近いところに位置づけられているので、テーマとしてはすべてのアルバムに共通したものがあるのかもしれません。
『負け犬にアンコールはいらない』に他のアルバムとの共通の語彙が多く使用されていたにもかかわらず、原点からかなり遠い場所に位置づけられているのは、表の上の方にある「爆破」という語彙がかなり影響している気がします。
同アルバムに収録されている「爆弾魔」という曲で、爆破って連呼するんですよね。これをデータに含まなければ原点に近くなるかもしれません。またやってみます。
対応分析では、アルバムごとの特徴語の表をぼうっとながめている時よりも視覚的にわかりやすくデータの傾向を確認することができました。
分析Ⅳ コーディング
頻出語ランキング、アルバム別の頻出語ランキングを見てきました。
では、コンセプトを自分で設定して分析を行ってみましょう。
「*___」の部分が、自分が歌詞から全体的に読み取ったテーマです(公式チュートリアルの分類を参考にしています)。
コンセプトごとにどんな言葉が使われていそうかをこれまでの分析結果から考え、並べました。
この情報をKH Coderに入れて文書検索を行うと、以下のようになります。
「生きる」「人生」「死んだら」などが含まれるセルのみの一覧です。
上でコーディングしたコンセプトごとに、歌詞を見ることができます。
アルバムごとに見てみましょう。
…ふふふ。なんかもう、こうやって好きなバンドの歌詞とか分析して、データ見てるとほんと楽しいんですよね。オタクですはい、失礼しました。
四角の大きさが数の大きさを表します。
「人の生死」にかかわる語彙は、全アルバムでまんべんなく使用されていますね。
あと特徴的なのは、『夏草が邪魔をする』では他のアルバムに比べ「言葉系」があまり使用されておらず、情景を表す語彙が多く使用されています。言葉を交わし合う人間の様子ではなく、情景描写を重視してメッセージを伝えようとしたのでしょうか。
そこを意識して、今度また各アルバムを聴いてみようと思います。
まとめ
かなり長くなりましたが、 KH Coder または「テキストマイニング」全般的に、できること、わかることがなんとなく分かっていただけたのではないでしょうか?
結果をまとめてみます☆
Ⅰ. 頻出語上位は「夏」「忘れる」「全部」
Ⅱ. 頻出語同士は一緒に使われやすい
Ⅲ. 『エルマ』によく使用される語彙が、他のアルバムでもよく使用される
Ⅳ. 「人の生死」にかかわる語彙は全体的に使用されている
最初に掲げていた疑問に答えると、このようになります。
- ヨルシカの歌詞はどんなテーマを持っているのか
―舞台は夏。多くの楽曲で、生きること、死ぬこと、人生について考えている。 - アルバムごとにテーマが違うとすれば、それぞれどういう性質があるのか
―『エルマ』がヨルシカのテーマの根幹といえるかもしれない
―『夏草が邪魔をする』では情景の描写が多く、他のアルバムに比べ「言葉」を伝えている人間よりも情景に注目してメッセージを伝えている
(最後は余談)
自分はどのような語彙やテーマに惹かれているのか
―ヨルシカにどハマりした時に、私はちょうど「子ども」から「自立した大人」へのトランジション期間に突入した時期だったと思っています。「痛い」、「苦しい」(←共起ネットワークに出ています)ところにも目を向けつつ、きれいな情景を描きながら、人生について考える、ような部分に惹かれていたんだ思いました。
各問いについて、わりと解像度高くみていけたんじゃないかなーと思います。
ただ、数値や図だけ見ても、それはあくまで数値や図にかわりないので、中身もしっかり見ることが大切です。
私が「自信はないです」とか、「~かもしれません」と何度も言っていたのも、そのためです。単純に考察を間違えているかもしれないという不安ももちろんあるのですが…。
数値や図からこういう傾向があるかもしれない、という意識を持って、自分で中身を確認していく、というのがいいのだと思います。
私も今回大好きなヨルシカの歌詞を細かく見ていって、もっと確かめたい部分なども出てきました。
最近違うバンドの曲もよく聞いていましたが、ヨルシカ熱がまた戻ってきそうです。。。
ヨルシカファンの方、もしここまで読んでくださって、「それは違う!」とか、「何言うてんねんそれはこうやろ!」とかあれば、ぜひ教えてください。
KH Coderの分析方法について詳しい方、もしここまで読んでくださって、「それは違う!」とか、「何言うてんねんそれはこうやろ!」とかあれば、ぜひ教えてください。
ちなみに…
私は今回、好きなバンドの歌詞分析という、かなりオタクなことをしましたが、研究以外にもテキストマイニングは使われています。
例えばアンケート調査の結果をKH Coderにかけてみると、回答の傾向が見えてきますよね。他にはTwitterで特定のハッシュタグが使われているツイートを集めて分析してみるとか…
広く有用性のある分析方法ですよね。
KH Coderの開発者様に感謝を込めて、公式サイトのURLも貼っておきますm(__)m
https://khcoder.net/