xiangze's sparse blog

機械学習、ベイズ統計、コンピュータビジョンと関連する数学について

東方プロジェクト人気投票の統計解析 記述統計編

EDM神社(nijijournrey)

創作+機械学習 Advent Calendar 2022 - Adventarの記事です。

概要

東方プロジェクトは上海アリス幻樂団によるシューティングゲームで25年以上に渡る歴史を持っています。 最近ではスマホゲームのタイトルも複数リリースされ、多くの二次創作があること、音楽の人気が高いことでも知られています。

登場するキャラクター、音楽、サブタイトルに関する人気投票がほぼ毎年行われています。その結果、歴史的変遷を可視化し、数理モデリングを試みました。

結果

  • 投票総数に大きな増減があり、特に第10回、第11回、第15回の減少が大きい。
  • 第17回(2021年)以降でキャラクタ投票結果、第15回(2019年)以降音楽投票結果に多様性の減少が見られる。
  • 楽曲とキャラクターの人気は大まかには相関しているものの細かい差異が見られ、サブタイトルごとのまとまりが見られる。
  • 獲得投票比率はサブタイトルによる違いが大きく、第17回以降紅魔郷の人気の突出が大きくなりつつある。
  • 2つの統計モデルを提案し、それぞれに利点欠点があり、解析途中。

分析コードとデータ*1

github.com

に公開してあります。READMEからColabで(主にpandas)コードを実行できます。

使用データ

toho-vote.info

ダウンロード、スクレイピング 18回分なのでそう多くはなく手動でダウンロードできるデータですが第17回以降は動的にページを生成しているので自動化にはSeleniumを使うと良いようです。

文字コードの変遷が時代を感じさせます。

文字コード
1 CP932
2~4 Shift_JIS
5~10 EUC-JP
11~18 UTF-8

表をCSVにしましたが驚くほど簡単でした(https://github.com/xiangze/toubou_vote_analysis/blob/main/generatecsv.py)。

東方wikiキャラ音楽のデータ, 原曲一覧 - 東方同人CDwiki - atwiki(アットウィキ)も使いました。

記述統計、可視化

かなりの変動があり、特に第10回、第11回*2、第15回の減少が大きい。投票総数で正規化したデータも作っておきます。

正規化されたタイトルごとの人気の変遷
近年の紅魔郷人気が目立つ

キャラ投票結果の多様性

サブタイトル投票結果の多様性

音楽投票結果の多様性

キャラクタ投票結果で第17回(2021年)以降、音楽投票結果で第15回(2019年)以降に多様性の減少が見られる。 2019年以降であり変動が緩やかであることから新型コロナウイルスの流行による行動変容というよりは相次ぐソーシャルゲームのリリース(キャノンボール 2019~2020,ロストワールド 2020~,ダンマクカグラ 2021~2022、アルカディアレコード 2022〜)によるものと考えられます。これがもたらした影響を次の相関で少し詳しく見ることができます。

  • 相関 作品ごとのポイントとキャラ、音楽の作品ごとポイント集計値のxyプロットで相関関係を概観する。

東方wikiキャラ音楽原曲一覧 - 東方同人CDwiki - atwiki(アットウィキ)のデータも使いました。

作品vs音楽 色はタイトルごと
音楽の獲得ポイントとサブタイトルの獲得ポイントは大まかに相関しているが外れ値もある。 作品によって音楽の人気に違いが見られる。

非想天則、花映塚は相対的に音楽が人気(ゲーム性によるのか)、永夜抄は相対的に作品が人気

投票回による違いはあまりない

作品vsキャラ 色はタイトルごと
こちらからインタラクティブにグラフを見て確認できます。 大まかには作品ポイントとキャラポイントは相関している。再登場のみで初出キャラがいない(非整数)作品はキャラ集計ポイントがNa ここでは0に張り付いている。

投票回による傾向の違いは見られずタイトルごとにクラスタ化している。分散を見ると面白いかもしれない。紅魔郷は大きい。

紅魔郷の人気が突出している。主人公(霊夢魔理沙)は旧作が初登場で人数が少ないので比率は少なく見えているので別途解析が必要

音楽、キャラ相関の可視化は第一回からの結果が使えるもののお互い対応がないものがあり見づらい。

統計モデリング

以上のような傾向を統一的に理解したいためここでは

  • 魅力モデル
  • 作品モデル(トピックモデル)

の2種のモデルを提案します。それぞれにバリエーションが考えられます。 それぞれの利点、欠点があります。*3

魅力モデル 作品モデル(トピックモデル)
利点 拡張性の高いモデルをstan,pymcなどで書くことができ、音楽、キャラ投票結果相互の影響を加えることも可能 gensimなど既存ライブラリを用いることで解析ができる。LDAの拡張で時間的相関を見ることも可能
欠点 モデルの記述にバグが入りやすい。複雑なモデルには収束性の問題がある トピック数≒投票回数であるところが不自然

魅力モデル

正規化された投票数に対して

[tex: normVote{i,t} \sim Dir(\sum{l=1}^{TM} main{j(i,t-l),t-l} \sigma{j,l} \ + \sum{l=1}^{TM} boss{j(i,t-1),t-l}Lv_i b{j(i,t-l),l} +\sum{l=1}^{TM} sub{j(i,t-l)} s{j,l} +eptilon_i) ]

table flags (1 or 0)

  •  main_{j(i,t),t} i is main character of subtitle just before tth election
  •  boss_{j(i,t),t} i is boss character of subtitle just before tth election
  •  Lv_i boss level of character i
  •  sub_{j(i,t),t} i is character of noninteger subtitle just before tth election
  •  eptilon_i indiviaual term

parameters

  •  \sigma coef of integer title main characters
  • b coef of integer title bosses
  • s coef of noninteger title members

index

  • t index of time(election)
  • l index of realtive time
  • i index of characters
  • j index of mainchar,boss,subtitle table

stanを使って実装しました。

toubou_vote_analysis/charpower0.stan at main · xiangze/toubou_vote_analysis · GitHub

analyse.pyコンパイル、実行され増す。

作品モデル(トピックモデル)

Latent Dirichlet Allocation(LDA)にそのまま当てはめたモデルです。

 \theta_m \sim Dir(\alpha) K dimension

 \phi_m \sim Dir(\beta) V dimension

 z_n \sim Cat(\theta_m) K dimension

 w_n \sim Cat(\phi_{z_n}) V dimension

変数 文書分類 東方人気投票
V 単語の種類 キャラ数
K トピック数 作品数
N 文書内の単語数 票数
M 文書数 投票回数

https://github.com/xiangze/toubou_vote_analysis/blob/main/topicmodel.ipynb

pyLDAvisを使って可視化できる(論文コーパスの次元圧縮とLDAによるトピックの関係の可視化 - xiangze's sparse blog, CVPR論文のトピックモデルによる分類と傾向 - xiangze's sparse blog)。

残課題

  • 魅力モデル Runtime error
Rejecting initial value: Error evaluating the log probability at the initial value. Exception: dirichlet_lpdf: prior sample sizes[3] is 0, but must be positive!

の解決、音楽に関するモデルの作成、キャラクターへの組み込み

  • 作品モデル

辞書の作成、トピック数別perplexityの評価、可視化

今後の展望

  • 個別のキャラクター、楽曲の人気、影響力の解析 
  • 因果推論 音楽、キャラ、作品が相互にどのような影響を与えているか 原作も人気投票も1年に一回の頻度なので知れることは少ないかもしれません。
  • 外部データの活用 pixiv,ニコニコ動画のタグ等はよりリアルタイム性が高いです。
  • アンケートデータの解析 テキストマイニングの方法があります(下記ためになる本、東方関係も参照)

関連情報

中国の人気投票結果

日本とはかなり結果が異なります。名前の翻訳は興味深い、ドメイン名が強いのにも注目

東方WIki

pixiv ranking illustration - https://docs.google.com/spreadsheets/d/1YKpwyCOLRWiC9jucljunxS41i75zUYojI3qx1JnIpVI/edit?usp=sharing

他コンテンツ

サンリオ

結果発表|2022年サンリオキャラクター大賞 公式サイト

サンリオキャラクター大賞‥歴代人気投票の結果は? 1986年~現在 – エンタメ生活 PRiVATE LIFE

1986年からのデータが存在する。YOSHIKITTYは海外で強い。長いハローキティ全盛時代とその後の戦国時代は長く続いた霊夢首位時代と相同であり、モデリングと解釈のしがいがありそう。コラボ情報

東方Projectサンリオキャラクターズ | 株式会社エイコー ~遊びとロマンの創造~

ポケモン

直近のものしか結果が見つけられませんでしたがタイプ、地方、登場順序などをモデルに入れると面白そうです。

アイマス

【デレステ】歴代シンデレラガール総選挙の結果一覧 - Boom App Games

決選投票やタイプ、男女の別があり複雑なようです。一人一票ではない。

テニプリ

20年以上の歴史を持ち多くのキャラクター、楽曲があるのは東方と共通します。

単位が個なのはバレンタインのチョコの個数だからで2019年は投票になりました。

お笑い 芸人の大喜利の強さをベイズモデリングしてみた – 戦略コンサルで働くデータサイエンティストのブログ

モデルはシンプルだが興味深い分析結果で Wikipediaデータもすごい。

対戦要素があると強さランキングの推定はずっと複雑になります。

将棋

Stanによる棋士の強さ推定が盛んに行われていて成果がでています。精進します。

サッカー(FIFAランク&クラブランキング)

クラブチームのランキングが複数ありそれぞれに結果が違う。TOTOが絡むのでモデリングに気合が入ってるかもしれません。 代表とクラブチームで重複する選手、選手の移籍による入れ替わりまで考え実力を推定すると複雑だけどやりがいがありそう。

競馬、ウマ娘

奥が深いらしいです。

ためになる本

スクレイピング

gihyo.jp

統計、機械学習

www.kyoritsu-pub.co.jp

トピックモデル

トピックモデルによる統計的潜在意味解析 (自然言語処理シリーズ) | 佐藤一誠, 奥村学 |本 | 通販 | Amazon

トピックモデル (機械学習プロフェッショナルシリーズ) | 岩田 具治 |本 | 通販 | Amazon

www.kspub.co.jp

読みたい本 https://www.amazon.co.jp/%E5%9B%A0%E6%9E%9C%E6%8E%A8%E8%AB%96%E3%81%AE%E7%A7%91%E5%AD%A6-%E3%80%8C%E3%81%AA%E3%81%9C%EF%BC%9F%E3%80%8D%E3%81%AE%E5%95%8F%E3%81%84%E3%81%AB%E3%81%A9%E3%81%86%E7%AD%94%E3%81%88%E3%82%8B%E3%81%8B-%E6%96%87%E6%98%A5e-book-%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%87%E3%82%A3%E3%82%A2%E3%83%BB%E3%83%91%E3%83%BC%E3%83%AB-ebook/dp/B0BDDNQLJB/?_encoding=UTF8&pd_rd_w=alyIF&content-id=amzn1.sym.5ce033f0-5b81-46ec-8910-385cc2abff14&pf_rd_p=5ce033f0-5b81-46ec-8910-385cc2abff14&pf_rd_r=QGJ1EDSG5ERGNGYP4TEJ&pd_rd_wg=CCCod&pd_rd_r=380f3247-dc8d-45ea-834a-ad3c7f8ad619&ref_=pd_gw_ci_mcx_mr_hp_dwww.amazon.co.jp

東方関係

サービス終了は残念だったがその後のクラファンで復活のくだりがすごかったです。 danmaku.jp

音楽ジャンルとしての東方アレンジ

konokaitoa.tumblr.com

ニコ動、Youtubesoundcloud、Bandcampなどを探ると無限にでてきます。

www.youtube.com

www.youtube.com

*1:本投票において公開されたデータは、統計や考察などの目的であれば、自己の責任に基づき自由に使用しても構いませんとのことですhttps://toho-vote.info/result16ex/

*2:艦これの影響?

*3:あてはめの原理・あてはめを実装する計算法・モデル - StatModeling Memorandum では”逆にベイズ推定ばっかりで痛い目を見ることは、MCMCの計算が収束しないとかそういうことを除けばあんまりないと思います”としていますが複雑なモデルを考えてしまうと結構深刻でこれがモデリング正則化項のように働くかもしれないです