分析
以下の分析をしました。
使用したサービス
最初は全部使うつもりでしたが、時間とかの問題で使って問題なさそうでかつ分析のしやすそうなものだけ使いました。利用したのは以下です。
- 楽曲:Apple RSS GeneratorとWikipediaやJpopランキングページみたいなやつ
- メタ情報:Apple RSS Generator由来は既に画像まである。ウェブ由来のものはGracenoteで取得。Gracenoteになかったら諦める。
- タグ付け:Google Cloud Vision API, MS Computer Vision API, Illustration2Vec
やったこと
ジャンルとの相関係数を見る
ジャンルを0,1でふって、タグの値との相関係数を見ます。 分析の結果から「pink eyes」タグがつくとほぼ確実にアニソンジャケットなのですが、アニソンジャケットであるときは確実に「pink eyes」タグが付くかというと全くそういうことはありません。そういう意味で相関係数が1になるわけではないのですが、とりあえず簡単に求まるので大雑把な傾向を見るのに使いました。
もうだいぶ前でほぼ忘れていましたが、2つの変数の間に相関があるかは無相関検定でチェックすることが出来て、相関が無いという帰無仮説を立てるとサンプル数n=3000で5%の水準で有意となるには相関係数が約0.05程度必要になります。幸い上位の10件程度はこれを超えていたので、まぁとりあえず相関があるといえるかなと思います。
タグが付いたときのprecisionを見る
現実的には殆どのタグは(特にillustration2vecでつくようなタグは)このタグがついたらほぼ確実にこのジャンル、となっているように思えました。このため、「このジャンルのCD特有のタグ」を調べるには、相関係数を見るよりも、「タグAのついたアニソンジャケットの数 / タグAの付いている全ての画像の数」を見るほうが適切に思えます。
付いているタグの数があまりにも少なすぎると100%とか0%に用意になってしまうので、とりあえず10個以上の画像に付けられているタグのみを抽出して、その上位にあるタグを列挙しました。
セーフティサーチに基づく分析
MS Computer Vision APIとIllustration2Vecはセーフティサーチのためのスコア、要するにエログロ度合いを出してくれます。これをプロットすることで特徴が出せるかと考えました。
Dominant Colorを見る
MS Computer Vision APIは画像の主要色を提示してくれます。ジャケットの色成分がどのような分布を持っているかでジャンルに違いが無いかを調べました。
特徴削減と分類器の作成
PCAやRFEで次元削減や特徴選択を行い、LDAやRandomForest/XGBoostなどで分類を行ってみました。訓練データが少ないというのも有るのかもしれませんが、分類の成功率はおよそ70~75%程度が限界のようでした。要素だけを見て区別できるのはこのあたりが限界なのかもしれません。
文章のジャンル分類
MS Computer Vision APIはキャプションを生成してくれるので、そのキャプションを文章だと思ってBoWにして処理して学習することで、キャプションが指す画像がアニソンジャケット的かどうかを判定できるようになります。この場合はコーパスや辞書を作成し、入力された文章のうち辞書に有るものだけを抜いて適当にTFIDFとかにして分析します。(時間なくてこれはまだやってないです)