はじめに
この記事は創作+機械学習 Advent Calendar 2021 の記事です。アドベントカレンダー31日目にしての投稿になってしまった上に完全に途上の記事ではありますがとりあえず手を動かしたので共有します。コードは現時点では貼ってませんが後で貼るかもしれません。
もし、この記事を見て「こっちの手法を使ったら良いんじゃないか」「こういうデータもあるとうまくいくんじゃないか」的なアドバイスがありましたら教えていただければと思います。
※使っている手法が概ね出現頻度を加工して使っているだけ(tf-idfもどき)なので、もしかしたら機械学習というよりデータ分析の範疇かもしれないです。もし趣旨に沿っていなければお手数ですがカレンダーからremoveしていただければと思います。
ポエムとモチベーション
あなたは眼鏡っ娘はお好きですか?私は超好きです。最近の話題作だとゆるキャンの大垣千明や各務原桜さんや鳥羽先生、ウマ娘にもビワハヤヒデやイクノディクタスといったキャラクターが名を連ねています。ゆるゆりの千歳やまどマギのほむほむ(メガネの姿)も好きです。更に新規開拓をしようと「眼鏡」「メガネ」のタグをクエリにpixivで日夜検索するというのはあるフェティシズムを持った人間にとって日常的なことでは無いでしょうか。
しかし、このようなフェティシズムを起点に作品を探すという仕草をするには少々現状には問題があります。それはあるキャラクターの創作に属性が紐付いてるケースというのはあまり多くはないという問題点です。
例えば、タグ「イクノディクタス」で調べると789件ですがタグ「イクノディクタス 眼鏡」で調べると42件しか出てきません。このことから
一般に属性ベースでキャラクターを探すのは中々に難しいかと思います。
このような状況が発生する原因については例えば以下の様の感じでしょうか
- 一般にキャラクターxxが属性yyを持っていることはファンにとって自明である
- 二次創作はファンに対して行われるものである
- それ故にわざわざ属性のタグ付ける必要がない
この状況はキャラの属性からキャラを発見する機会の損失、またその延長にある作品自体にのめり込むといった機会の損失につながるのでは無いか私は考えます。
ということで、属性的特徴からキャラクターを引けるようにすることを目的にあるキャラクター、およびそのキャラクターが出てくる作品のタグ情報を分析していきたいと思います。なお、今回は属性=主に外見的属性を示します。(例:メガネ、メイド、巫女)
目標
究極目標
- あらゆるキャラクターについて、実際には付随している属性から逆引きしてキャラクターを発見できるようにする
- 「作品」に出てくる「キャラクター」に「属性」のタグを付与することを目的とする
- 例: 江戸川コナン→眼鏡 野比のび太→眼鏡 博麗霊夢→巫女
今回の目標
- 究極目標のための第一歩として、ゆるキャンの登場人物の一人である大垣千明(眼鏡っ娘)について「メガネ」のタグの紐付けをタグを分析することによってできるようになる
- 作品→ゆるキャン キャラクター→大垣千明 属性→メガネ
用意したデータ
- そのキャラクターが出てくる作品について、以下の2軸でデータを分け、計2*2区分のデータを用意した
- 作品がイラストか小説か (イラスト、小説)
- 対象キャラクターのタグが含まれているか否か(対象、非対象 とする)
- 非対象のデータについては多すぎて全量取ってくるのが大変だったのでランダムにをピックアップ
- データの内訳は以下の通り
- イラスト_非対象:885件
- イラスト_対象:885件
- 小説_非対象:360件
- 小説_対象:68件
実験1
概要
- キャラクターの外見的特徴を表すタグはイラストに比較的付き、ノベルにはあまりつかないという仮説を立てた
- そのため、タグの出現割合について 小説_対象 - イラスト_対象 で差分を取れば差の大きさ上位 = キャラの外見的特徴を表すタグが抽出できるのでは無いかと考えた
実験1_方法
- 各データについて各タグの出現頻度を集計
- タグの出現頻度を割合に変換
- 各タグについて イラスト_対象における割合 - 小説_対象における割合を計算
- 上位に来たものを確認した
実験1の結果について
- 目的の「メガネ」のタグが9番目に来てます。
- 逆にそれより上に来てるタグについては「ゆるキャン」「野外活動サークル」といったゆるキャン△の創作全般に出てくるであろうタグであることが見受けられます(作品特有性が高いタグ)
- こういったタグは除去したい
- 一方、今回抽出を目的としているタグである「メガネ」やその他の属性は作品特有性は低いと考えられる
実験2
概要
- 実験1の結果から作品に特有のタグがノイズになっているようである
- 作品特有のタグを除去するために、タグの作品特有性を計算し利用することを考えた
実験2_方法
- データ「イラスト_非対象」について各タグの出現割合を集計
- 各タグについて 実験1の結果 - 「イラスト_非対象」におけるタグの出現割合を計算
- 結果について上位を確認した
実験2の結果について
今後の展望
- 「作品名とある属性の共起回数」と「作品関係なしのある属性の出現回数」を元に、タグの作品特有性を計算し使用
- タグの作品特有性を求めるならこっちの方が正しそうですね
- メガネ以外の属性のキャラ、また別の作品についても同一手法を適用してどんな結果になるかを見てみる
- 特にキャラ数が多い作品、属性がそもそもニッチな場合に適用してみたい
- 最終目標:色々な作品、色々なキャラに適用しメガネのデータベースを作る
- 作れたら良いな
最後に
- 完全に途上のものを締め切りを過ぎ、年の瀬に上げてしまって本当に申し訳ないです
- ロジックやら解決しようとしていることに穴があると思うのでガンガン指摘していただければと思います
- メガネっ娘はいいぞ