読者です 読者をやめる 読者になる 読者になる

5日と20日は歌詞と遊ぼう。

毎月5日と20日に、J-POPやボカロ曲などの歌詞を読んだり、統計したりしています。twitterは@hacosato。

Twitterの曲名を変えておもしろいね的大喜利ハッシュタグの曲を集計してみた!

テキストマイニング 根性マイニング 統計

こんにちは。

今回は、Twitter大喜利ハッシュタグに出てくる曲を集計したいと思います♪

第1話 プロローグ

先月。世間は夏休み初日の昼下がり。
今日もわたしは非リアらしく、ネットの海を漂っていました。
すると、Twitterのトレンドからなにやらお祭りのにおい…。

Twitterではときどき、大喜利ハッシュタグが流行ります。
「曲名の最後を◯◯に変えるとエロい」みたいなテーマがあって、みんなそれに合わせて、自分の思いつく限りのとっておきのエロいネタを投稿し合うわけです。日本は平和。

そんなハッシュタグが、ある日またひとつ流行しました。
http://tourabu.blog.jp/archives/31219882.html
「#J_POPの歌詞にマジレスする一期一振」です。

「一期一振(刀剣乱舞)とは、ブラウザゲーム「刀剣乱舞」の登場キャラクター」だそうです。
夢見がちなJ-POPの歌詞に対して、一期一振さんが冷静なツッコミを入れるところが見どころ!



https://twitter.com/kogfkid/status/601954528372494336:embed「巻きおこせ A、RA、SHI A、RA、SHI」「とんだはた迷惑ですな」#J_POPの歌詞にマジレスする一期一振
ウケるwww

ところで、このタグめっちゃ見てた私は、あることに気づきました。
…選曲古くね??

そうなのです。スピッツ『チェリー』は1996年の曲だし、嵐『A・RA・SHI』は1999年の曲です。どちらも20世紀。なぜ。

審神者のみなさんってそんなに、お姉さまでいらっしゃったのでしょうか…。

気になったわたしは、調べてみることにしましたとさ。

わたしが立てた仮説は以下の通りです。
「#J_POPの歌詞にマジレスする一期一振」のツイートの曲は、古い。
合ってるかな? たしかめよう!
プロローグおわり!

(ちなみにこのハッシュタグ、5月に1度トレンド入りしたあと、7月に再びトレンドに入ったようです。)

第1話 本編

というわけで、このハッシュタグが付いたツイートを採集します。
採集にはTwitter APIを使い、Rubyで収集しました。
http://platformecho.blogspot.jp/2013/12/twitter-ruby-gem.html
最高に参考になるな!
採集時期は7月19日ごろです。夏休みに入ったばかりだと気合が入っているので、自由研究をさっさと終わらせようとするわけじゃん? そういう時期じゃん?
ツイートを採集したら、そこから曲名を人力で検出して、歌ネットのサイトへのリンクをリストアップします。
APIの制限上ツイートは180個までしか集められないので、2回に分けて採集し、よくわかんないツイートとか、曲を挙げてないツイート(「このタグ草不可避www」みたいなやつ)を排除し、ぜんぶで200曲ぶん集めました。


リストアップ人力です。
これ完全にあたま悪いけど仕方ないんだよ!
歌ネットにリンクがあるものもあればないのもあるし、表記も完全なものもあれば不完全なこともあってまちまちなんだよ!!

URLが集まったら、ぜんぶスクレイピングします♪ 歌ネットのページには曲のリリース年が出てるので、それを拾って新しいリストを作ります。
歌ネットに出てない曲(ボカロ曲とか)は手動で調べてみます。リリース年がわかればいいもんね。
タイトルだけでどの曲だかわからないものは、NA(欠損値)として扱いました。
「タイトルじゃ絞りきれないけど前後のツイート的には嵐の曲じゃね?」って場合には積極的に嵐として扱いました。
また、歌ネットのリリース年は修正しませんでした。同じ曲がオリジナルアルバムとベストアルバムに乗っている場合には、ベストアルバムが掲載される(つまりリリース年が最近のほうにずれがち)という傾向があります。
それを踏まえて、Rでヒストグラムを描いてみました。
ずばりコレです。
f:id:hacosato:20150816221211p:plain
横軸はリリース年、縦軸は頻度です。
最頻値は2014年です。
でも平均値は2006.392、中央値は2007.5でした。
いまからだいたい8年前ぐらいの曲が出て来るんだ! 古いぞ!!

第2話 プロローグ

さて。審神者のみなさんは8年前の曲を好んで話題にすることがわかりました。
8年前だってクスクス。

でも。
わたしは思いました。
Twitterでは8年前の曲が話題になることはありふれているかも。
他のハッシュタグに出て来る曲と比較して、どれぐらいなもんか比べてみる必要があります。

折よく、次のハッシュタグが流行りました。
「#俺の股間がの後ろに曲名を入れると性的」。
マジのんきだ。平和でよかった。


個人的には「俺の股間がじょいふる」がよかったですだれも聞いてないですか。
前回のハッシュタグ審神者のみなさん(腐女子のお姉さまたちが中心)がツイートしていました。
今回のハッシュタグは、どっちかっていうともっと若気のある少年たちが多そうなイメージ!

よし、仮説を立てます。
「#俺の股間がの後ろに曲名を入れると性的」のツイートの曲は,新しい!
合ってるかな? たしかめよう!
プロローグおわり!

第2話 本編

採取時期は7月20日から25日ごろです。
「一期一振」のときは1日だったのに、今回は1週間ぐらいあるのはなぜかというと、わたしが採取しようと思ったときにはすでに流行がすぎていて、これぐらいの期間がないと200曲採取できなかったからです。

手順としてはさっきといっしょなので省略。
ヒストグラムを描くと、こういう感じになります。
f:id:hacosato:20150816221545p:plain
ヤバいカタチがぜんぜんちがう!
やっぱり股間にテンション上げてる少年少女たちは、若い曲ばっかり聴いてたんだ!!
今回は、平均が2009.809、中央値が2013です。
主に2年前の曲ってことだ!
最高。はっきりした結果が出たね!

第3話 プロローグ

と、思ったのですが。
曲のリスト、見てみるとこんな感じ。
f:id:hacosato:20150816222454p:plain
…なんか、特定のアーティストにめっちゃ偏ってない??
(字が小さくてごめんなさい…)
そこで、アーティストごとに登場する頻度を調べてみました。すると、今回、一番多く取り上げられたアーティストはDISH//で、数は19だとわかりました。2番がSEKAI NO OWARIで13。
ちなみに前回の「#J_POPの歌詞にマジレスする一期一振」のときには、1番が西野カナで10、2番がSEKAI NO OWARIで7でした。DISH//のぶっちぎり具合はちょっとおかしい感じ。
DISH//は無名なアーティストではありませんが、こんなとこで一番になるような人たちでもありません。
そうなのです。前回と比べて、明らかにアーティストに偏りがあります。
わたしは気づきました。
どうやら、ツイートの流量が少なかったせいで、特定のクラスタでの流行を敏感に拾ってしまったみたいなのでした。

トレンドに乗ってたりして、めっちゃ流量が多いときはいいけど、そうじゃないときにはツイート数200とかだとサンプルサイズが小さすぎるんだね…。

傷心のhacosato。
ところが。
その直後、7月27日に「#俺の股間がの後ろに曲名を入れると性的」が再びトレンドに!! これはビッグチャンス!!


とりまもう一回やってみました!
このときにはたくさん流れてたので、200曲が1日でじゅうぶんに集まったのでした。

第3話 本編

採取時期は7月27日。
今回はわたしも学習しまして、Twitter APIを使わずに、TwitterのWebクライアントを使いました。
なぜかというと、そこだと過去のツイートも無制限で検索できるからです(APIを使うと、だいたい2週間とかより前のツイートは拾ってくれません)。
今回はツイートを採取したあと、手作業で処理するので、別にWebで見ればいいのでした。
採取のあと、機械的にたくさん処理する場合は、Webの仕組み複雑なのでスクレイピングめっちゃ大変のはずです。がんばってください。
あとはいつもと同じ! 曲のリストを作ります。
f:id:hacosato:20150816222542p:plain
作って、アーティストごとの頻度を調べると、ジャニーズWESTと嵐が同着で1位になりました。頻度は6です。前回ほど特定のアーティストに偏っていません。問題点は回避できたっぽい!
ヒストグラムを描きます。
f:id:hacosato:20150816222610p:plain
できたー!
平均が2009.432、中央値が2011です。
平均は、1回目の採取のときとほとんどいっしょでしたが、中央値は少し古くなって、2011になりました。
つまり「#俺の股間がの後ろに曲名を入れると性的」の曲はだいたい4年前ということです!
すごい! 新しい!

せっかくなので、平均値の差の検定をしてみます。
サンプルサイズはじゅうぶんに大きいので、正規分布は仮定できるとします。母分散は均等でなかったので、Welchの検定になります。
Rを使って、検定してみました。

> t.test(releaseYearIchigo, releaseYearOrenokokan2)

	Welch Two Sample t-test

data:  releaseYearIchigo and releaseYearOrenokokan2
t = -4.513, df = 378.073, p-value = 8.547e-06
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -4.364239 -1.715413
sample estimates:
mean of x mean of y 
 2006.392  2009.432 

p値は8.547e-06だったので、帰無仮説は棄却。つまり、統計的にも両者の平均値は等しくないとされました。
審神者のみなさんが古い曲を挙げ気味だと証明された瞬間です!!

まとめ

というわけで、今回の実験によっていろんなことがわかりました。

  • 「#J_POPの歌詞にマジレスする一期一振」のツイートの曲は、中央値2007.5年の曲だということ。
  • 「#俺の股間がの後ろに曲名を入れると性的」のツイートの曲は、中央値2011年の曲だということ。
  • 両者の間には約4.5年のブランクがあること。

です。
前者のツイートは主に腐女子のみなさんによるもので、後者のツイートはもっと若者によるものっぽいです。
腐女子のみなさんは、懐かしの曲を聴くってことがわかりましたね♪

でもひとつ留保があるのです。
このふたつのハッシュタグの性質の違いです。
「#J_POPの歌詞にマジレスする一期一振」の場合には有名な曲に意外なツッコミが入るとこがおもしろポイントなので、そのためには曲が知られていないといけません。有名な曲を選ぼうとするとたいてい古くなります。
「#俺の股間がの後ろに曲名を入れると性的」の場合は、元ネタが有名かどうかよりも、俺の股間がの後ろに曲名を付けたときの仕上がりのよさがものをいいます。有名かどうかはあまり関係ありません。
そういう違いも、もしかしたらちょっとあるかも。
でも、今回はサンプルサイズの大きさの感覚とかわかったし、とっても楽しかったです♪
今後も変なハッシュタグあったら拾っていきたい!!

参考文献

入門 統計学 −検定から多変量解析・実験計画法まで−

入門 統計学 −検定から多変量解析・実験計画法まで−

Rによるやさしい統計学

Rによるやさしい統計学

統計に関してはこの2冊に今回特にお世話になりました。
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例

スクレイピングに関しては今回ぜんぜん高度なことをしてません。
少しでも発展的なことをするならこの本最高です!わたしが読んだ本とかに関してはここにいい記事があります♪

次回予告:次回はナオト・インティライミ『愛してた』の歌詞を読みます。
この歌詞はたぶん、ヤバいやつ…。

広告を非表示にする