e621データに見る人気ポケモン仲良し♥ 関係の可視化
はじめに
先日のエントリで、ケモノ系イラスト投稿サイト e621 データを利用して、ポケモンの(性的な意味で)人気ランキングを集計しました。
今回は同じデータを用いて「ポケモンがイラストに描かれるときの組み合わせ頻度」を解析してみます。
例えば、ルカリオはミミロップとよく一緒に描かれる気がしますし、ブイズはブイズ同士で、御三家は御三家同士で複数匹が一緒に描かれてる気がします。
その疑問を、e621のタグデータを使うことで、ポケモンたちの仲良し関係を明らかにしたいと思います。
本項では、導入としてイーブイズの関係を解析したのち、投稿枚数が上位のポケモンの関係を可視化しました。
手法
Python Pandas で処理したデータに対し、KH Corder を利用することで階層的クラスター分析および共起ネットワーク分析を実施しました。
クラスター化法にはWard法を、類似度指数にはJaccard係数を利用しました。
また、イラストのタグに 'doujinshi' や 'comic' が付いているものや、差分が存在するデータは、組み合わせの重複カウントを避けるために除外しました。
結果
ブイズの関係性
手始めに、投稿枚数TOP20のうちに9匹すべてがランクインした、大人気ポケモン イーブイズの関係性を調べました。
まず、ブイズ9匹間のうち、2匹のカップルとして描かれているイラスト 3514枚を抽出し、組み合わせをカウントしてヒートマップで見てみます。
エフィ/ブラ、グレ/リフィの組み合わせはあるあるですね。
よく見ると、シャワーズのカップリングが他ブイズと比べてやや少ないですね。
シャワーズ同士が多いのか、もしくは単体で描かれやすいのか......。
この『2匹のカップルイラスト』という縛りでは、複数匹で描かれるイラストが外れてしまう・投稿数の多いポケモンに大きなバイアスがかかる問題があります。
この問題の解消のために、ブイズのみが登場する全イラストを対象に、一枚のイラストに同時に現れる(共起する)頻度を解析する、共起ネットワーク分析を行いました。
クラスタ的に近いものが同じ色で分けられて、カウント数が多いほど円(ノード)が大きくなります。
線の太さは仲良し度の強さを示します。
このようにすると、シャワーズはブースター・サンダースたちと一緒に描かれていることが見て取れます。
また、イーブイとニンフィアはブイズ全員に対してほどよく仲が良く、要するに浮気性なのでしょう。
人気ポケモンの関係性
上のブイズと同様の手法で、投稿枚数TOP100のポケモンに対して共起ネットワーク分析を実施しました。描画数は150で、81匹が載っています。
やはり似たタイプのポケモンは同じクラスタに集まる傾向があります。
ガブリアス-フライゴンや、リザードン-カイリューなど、どこかで見た組み合わせも目立ちますね。
ジャローダ-ミロカロス-ハクリューなんかも、胴体が長いやつ繋がりでしょうか。
映画やポケモンダンジョンを思い出させる組み合わせも見られます。
最後に、クラスタごとの関係性をより明確にするため、投稿枚数TOP100のポケモンで階層型クラスタリングを行いました。
近い位置に配置されたポケモン同士が、仲良し度合いの高い組み合わせであることを示します。左側の棒グラフは投稿枚数です。
イーブイズの圧倒的な団結力を感じますね。
おおまかにはネットワークと同様で、進化系やタイプで固まっています。
細かく見ていくと、なかなか考察しがいのある結果ではないでしょうか。
所感
アニメや映画、ゲームは基本一緒なので、カップリングイメージは日本と海外でもそう変わらない感じがしますね。
気が向いたらpixivのポケモンイラストをクローリングして、具体的に比較してみたいです。
おまけ
ポケモンのイラストと一緒に記載されている(共起する)タグを、上と同様に共起ネットワーク分析によって可視化しました。
解析対象は、投稿枚数No.1:ルカリオです。
ルカリオ(lucario)
なるほどなぁ。
*1:厳密には、e621には多数の日本国内の作品が投稿されていますが、海外Furryサイトという視座で扱っています。
e621データに見るFurry / ケモナーに人気なポケモンランキング
概要
ケモノ系イラスト投稿サイト e621 は、2017/1/6 現時点で約96万件もの イラスト*1が投稿されています。 このうち、'pokémon'タグがついているイラストは10万件にも及び、約9件に1件がポケモンのイラストと高い人気を博しております。
そこで今回は、e621のAPIを利用することで現存802匹の全ポケモンのイラストデータを取得し、(主に性的な意味で)人気なポケモンをランキング形式で見てみたいと思います。
なぜe621か?
ケモノ系画像サイトにはFurAffinityやInkbunnyといった巨大サイトが他にもありますが、APIが提供されており、かつ各イラストに対して細かくタグが付いている点からe621を対象としました。
e621のタグ付けは、性別やシチュエーションだけに留まらず、ニッチな種族や毛の色まで大変細かく分類されており、 Tagsページをみる限りではおよそ21万超のタグ分類が存在しています。博物学者か。
対象
『ポケモン英語⇔日本語変換 – サンムーン対応』(https://amalgame.jp/pokemon-eng-jpn/)より全ポケモンの日本語名・英語名を取得し、このうち英語名をクエリとして投げることで、全ポケモンイラストのJSONファイルを取得しました。(2017/1/3に取得)
ポケモン名で検索をかけているため、取得したデータには同一イラストが含まれていますが、各イラストのIDで重複削除することでユニークなイラストを抽出することができます。
各ポケモンの検索結果の累計: 157,797件
イラストのユニーク数: 98,424件
ちなみに、e621で'pokémon'タグつきイラストは 102,000件近くあるため、上記のイラストのユニーク数に対して約3,000件の差が出てしまっています。 この理由としては、タグにポケモン名まで記載されていないイラストが多くある可能性が考えられます。 念のため、取得したJSONファイルの中身と、e621の検索結果数をいくつかのファイルでチェックしましたが、数値が異なるものはありませんでした。
環境
Python 3.5.1
データ解析は Jupyter notebook 上で実施。
グラフの描画は matplotlib + seaborn を利用しました。
notebookはこちら
結果
タグ数の分布
イラストの重複を削除してから、各イラストのタグ数の分布をヒストグラムでみてみます。ここではタグ数の最大値を100個として表示しています。
平均値: 30.9±16.8 個
中央値: 28.0 個
一枚あたりのイラストに30個近くもタグがついている結果となりました。
中にはとんでもない数のタグがついているイラストもあり、こちらのイラストはなんと914個もタグがついています。タグ編集者の血と涙の結晶といえるでしょう。
ポケモン投稿数(出現数)ランキングTOP20
ルカリオの圧倒的人気が示されてしまいました。 ブイズの中ではブラッキーが人気なのですね。
性別で分けてみる
各イラストにはキャラクターの性別を示す'female'や'male'といったタグがついていますが、複数のキャラクターが登場している場合、どのキャラクターが♂なのか♀なのかは分かりません。そこで、単一キャラクターが描かれているイラストを示す ‘solo’ タグを持つイラストを抽出し、性別で分類してみます。
‘solo'タグをもつイラストは 45,634件 (全体の43%)あり、
♂(male):11,548件
♀(female):22,639件
性別不詳(ambiguous_gender):7,992件
それ以外:3,455件
e621全体では♂:♀がおおよそ1:1なのですが、ポケモンでは♀に偏っているようです。
まず、'solo'タグで絞ったときの、先ほどの投稿数上位20匹を性別で分けて見てみます。
次に、♂率もしくは♀率が高い順でTOP20を見てみます。
100%積み上げ棒グラフで表示するため、投稿枚数が少ないポケモンを除外しました。今回は、'solo'イラストが100枚以上存在するポケモン(上位94匹)だけに絞って、比率を計算して表示しています。
♂率 TOP20
♀率 TOP20
♂・♀ともに、ポケモンのイメージ通りの大変妥当な結果でした。念のためニドクイン(Nidoqueen)+‘solo’ をe621で検索したところ、一部のイラストで'solo'タグが付いているにも関わらず2匹のキャラが描かれているイラストが存在しており、稀でしょうがタグ汚染が起きてる可能性も考えられます。
原形(feral)か獣人(anthro)か
ポケモンのイラストの中には、ポケモンを通常の姿(feral)ではなく、獣人(anthro)化して描かれているものがあります。*2
そこで、'solo'タグを持つイラスト45,634件から、'feral'か'anthro'かでさらに分類し、それぞれのランキングTOP20を見てみます。
feral: 12,049件
anthro: 23,048件
それ意外:10,537件
原形 TOP20
獣人 TOP20
原形に関しては、ブイズなどの人気四つ足ポケモンたちが上位に入っています。
獣人に関しては、やはり元々が二足歩行であるポケモンが上位に入っており、より人間寄りに描かれる(頭身が高くなったり人間の乳房がついたりする)ことで'anthro'タグがついているようにも考えられます。
一方で、二足歩行ポケモンというだけで'anthro'タグがついている可能性も高く、実情を反映していないかもしれません。要検討。
所感
いかがでしょうか。なるほどな〜〜と納得できる結果な気もします。
集計データは今後も地道に追加していこうと思っていますし、「こういう基準で分類してみたら面白いんじゃないか?」といったアイデアがあればコメント等いただければ、ぜひ検討してみます。
次は、2匹で描かれているイラスト('duo'タグが付いています)を抽出して、ポケモンのカップリングを調査してみたいと思っております。
*1:動画、Flashなども含むため正確にはpostですが、ここでは分かりやすくイラストと呼ぶことにします。
*2:feral,anthro の定義はこちらを参照。 feral: https://e621.net/wiki/show?title=feral
anthro: https://e621.net/wiki/show?title=anthro