こんにちは。
1年前にこんな記事を書きました。 blog.wackwack.net
1年ぶりにプログラムを引っ張り出して動かして見たら何とか動いたので今年も同じことをしてみました。
特にプログラムは改良していないので、まんま同じことをやっているだけなのですが個人的な毎年の恒例行事にでもしていこうかな……とか考えています。
可視化の概要
データ収集のルールや前提を挙げていきます。基本的に2018年と変わらないです。
対象はTwitterのツイート数
今回の収集対象はTwitterのツイート数としました。
もちろんTwitter以外にも実況サービスはあるでしょうが、最もリアルタイムでの利用者が多いだろうということで。
2019年12月31日19時15分から23時45分までのツイート数を分単位で集計
データの収集期間は2019年の紅白歌合戦の放送時間である、2019年12月31日の19時15分~23時45分までとし、1分ごとのツイート数を集計しました。
つまり紅白歌合戦が放送されていた間にリアルタイムつぶやかれたツイートを対象に「件数が多い=注目度が高い」という観点でツイート数を時系列で可視化します。
その際に
- リツイートは収集対象から除外
- 対象ツイートへのリプライは収集対象に入っている
となります。
リプライも除外したほうが良いとは思いますが、今回はそこまで手が回りませんでした。
アーティスト名と曲名による検索
Twitterでツイートする場合、必ずしもアーティスト名でつぶやくとは限りません。
そこで今回は紅白歌合戦の出演アーティストごとにアーティスト名または曲名が含まれたツイートの数を収集することにします。
加えてアーティストの愛称も含めることにします。
例えば「嵐」であればそのまま「嵐」と書く人がほとんどだと思いますが、「Kis-My-Ft2」は「キスマイ」と略されたりするためです。
ただしこの愛称は私の知識とWikipedia等の情報をもとに選定したため、アーティストごとに抽出できるツイート数に差が出ていると思われます。さらに複数人で構成されるグループの場合はメンバー名でのツイートもあると考えられますが、そうすると元データが膨大になるため、個人名は考慮していません。(嵐で言えば「翔くん」「松潤」など)
記号の削除
アーティスト名や曲名に記号が入っている場合はそれを削除したパターンも検索条件に追加します。
たとえば「U.S.A」という曲名は「.」を付けずに書く人も多いと思われるため、このような措置を取りました。
アーティストの統合と演出の考慮
アーティストがコラボレーションしている場合には基本的に同一グループとしました。
例えば2019年で言えばYOSHIKIとKISSがフューチャリングしていましたが、これはグループYOSHIKIにKISSを含めて検索します。
また曲目における目立った演出があればそれも統合しています。
2019年の紅白歌合戦では例えば、天童よしみの出番の際にはマットが登場したため、「マット」というキーワードも天童よしみのグループに含めています。
最後に特別枠としてFoorinのパプリカ、嵐のカイトに寄与している「米津玄師」は名前による検索のみでグループに追加しています。
検索データフォーマット
以上を踏まえ、検索諸元となるjsonデータを以下のイメージで作成しました。(ここだけ昨年から改良しました!)
{ "root": [ { "id": "foorin", "name": "Foorin", "keywords": [ "パプリカ" ] }, { "id": "gohiromi", "name": "郷ひろみ", "keywords": [ "2億4千万" ] }, ........ { "id": "heysayjump", "name": "Hey!Say!JUMP", "keywords": [ "heysayjump", "上を向いて歩こう" ] }, .........
root
の配列に各アーティストのオブジェクトを設定します。id
は対象ツイートのcsvファイル名等に利用する一意の識別子、name
がアーティスト名、keyword
の中に曲名や愛称、関連ワードを格納して、name
とkeyword
を条件にツイートを検索します。
ツイートの可視化結果
前置きが長くなりましたが集めたデータをもとに、
- 1分あたりのツイート数比較
- 1分あたりのアーティストごとのツイート数
- ポジティブなツイートの割合
を可視化してみました。
1分あたりのツイート数比較
全時間帯の全アーティストの1分あたりのつぶやき数をひとつのグラフにまとめてみました。
グループ数が52組ということでグラフはカオス状態です。
ただ、その中でも大きく突出しているのが20:20頃のLiSAです。この理由はキーワードに「鬼滅」「鬼滅の刃」を含んだことが大きいです。
紅白に関係ないツイートも多分に含まれているとは思いますが、それは他のアーティストでも同じなので鬼滅の刃の影響がとんでもなく大きかったことが確認できました。
それ以降は大きな盛り上がりは見られません。21:15の欅坂46、23:15の氷川きよしが比較的伸びていることがわかります。欅坂は2年前に平手友梨奈が倒れて以来の復活、氷川きよしは従来のイメージを払拭するロックかつドラゴンボール超のテーマ曲を歌い上げたということで、大きな反響を呼びました。
1分あたりのアーティストごとのツイート数
全体のグラフでは細かい部分が分からないので、アーティストごとにグラフ化しました。
全体のグラフと内容は変わらないので参考程度の情報です。個別グラフの上手い使い道は無いものか........
ポジティブなツイートの割合
最後にアーティストごとの全ツイート数に対するポジティブワードの割合を出してみました。
といってもこの割合は「筆者が思いつく限りのポジティブワードが入っていること」でカウントしただけであり、アーティストごとの母数(総ツイート数)も大きく異なるため、あくまで参考値です。 (例えば「嵐!!!!!!!」というつぶやきもポジティブな内容と考えられますが、カウントされません。)
選定したポジティブワードはこんな感じです。
凄い,凄すぎ,すごすぎ,すごい,上手,うまい,めっちゃ,めちゃくちゃ,めちゃめちゃ,最高,最強,美しい,きれい,美人,イケメン,尊い,ヤバイ,ヤバすぎ,楽しい,楽しみ,可愛い,かわいい,愛しい,感動,笑顔,笑い,笑った,笑う,素敵,素晴らしい,すばらしい,かっこいい,カッコいい,強そう,強い,うますぎ,良い,さすが,圧巻,貫禄,嬉しい,見たい,幸せ,良かった,おもしろい,面白い,おもしろかった,おもろい,活躍,期待,頑張れ,がんばれ,泣く,号泣
グラフはこのようになりました。
GENERATIONSが最も高い割合になりました。ただ、GENERATIONSは全体のツイート数が最も低いため関連性の高いツイートが多数を占めているためだと思われます。
ツイート数が多いグループでは欅坂46が高い割合です。2年ぶりの紅白のパフォーマンスは怖さを感じるほどの圧巻の迫力でしたので、この高評価も納得です。
2018年と2019年の比較
最後に全体の結果を2018年と比べてみます。
こうして比べると、そもそものツイート数は2018年の方が圧倒的に多く、また一番の盛り上がりも2018年では後半(米津玄師)に来たものの、2019年は前半(LiSA、鬼滅の刃)で終わってしまった感じがあり、数字を見る限りでは2018年に比べて2019年はイマイチだった、という印象です。
2020年の紅白はどうなる!?
以上、ツイートの可視化による2019年紅白歌合戦の個人的な振り返りでした。
基本的には2018年と変わらずに可視化してみましたが、やはり関係ないツイートが多数含まれてしまうというのが課題です。アーティスト名ならまだしも、曲名に汎用的な言葉が使われていると結果に大きなブレが出ている感じがします。(例えば今回RADWIMPSは「大丈夫」という曲を歌いましたが、それだけだと関係ないツイートが多すぎて検索が終わらず、除外しました。)
2020年に向けて紅白に関連するツイートの検出精度を高める方法があればいいな……と思います。