ジャンル分析から近いサークルを紹介する機能を追加しました

はじめましての方ははじめまして。そうでない方はお世話になっております。濡羽十色です。

DLwatcher.comというDLsiteのセール情報提供サイトを運営しています。

このたび、「ジャンル構成が似ているサークル」という機能をリリースしましたのでご報告いたします。


概要

機能の概要としては以下のようなものになります。

対象のジャンル:公式ジャンルの一部
類似度の算出方法:コサイン類似度
データ抽出の期間:2023年2月1日から2023年1月31日の1年間
処理対象の作品:該当機関に100販売以上の作品
処理対象のサークル:処理対象の作品が2作品以上のサークル、かつ特性ベクトルの0以外の成分が3つ以上
特徴ベクトルの計算:作品の経済規模を作品に紐づくジャンルの順番に応じて傾斜分配(最大2倍)

具体的な計算方法

サークルの特性ベクトルの計算

まず、下準備として、ジャンル単体のベクトル $${ \bm{G}_n }$$ を考えます。

$$
\bm{G}_n = \begin{pmatrix} 0 \\ \vdots \\ 0 \\ 1 \\ 0 \\ \vdots \\ 0 \end{pmatrix}
$$

ジャンル $${ n }$$ にのみ $${ 1 }$$ の成分を持ち、それ以外は $${ 0 }$$ になります。

これを組み合わせて作品ごとの特性ベクトル $${\bm{P}}$$ を定義します。$${ W_n }$$ はジャンルの設定順による傾斜配点比率です。そもそもにジャンルが作品に紐づかない場合は$${ W_n = 0 }$$になります。

$$
\bm{P} = \bm{G}_1 \times W_1 + \bm{G}_2 \times W_2 + \dots + \bm{G}_n \times W_n
$$

作品の特性ベクトル$${\bm{P}}$$ を正規化した正規特性ベクトル$${\bm{\hat{P}}}$$は下のように計算します。

$$
\bm{\hat{P}} =\dfrac{\bm{P}}{ \lVert \bm{P} \rVert}
$$

サークルの作品全ての正規特性ベクトルを経済規模 $${S}$$ で補正しつつ合計するとサークルとしてのジャンル特性ベクトル $${\bm{C}}$$ が完成します。

$$
\bm{C} = \bm{\bm{\hat{P}}}_1 \times S_1 + \bm{\bm{\hat{P}}}_2 \times S_2 + \dots + \bm{\bm{\hat{P}}}_n \times S_n
$$

サークル間の類似度計算

サークル間の類似度は「コサイン類似度」を利用しています。コサイン類似度の定義は下のものになります。

$$
Similar(\bm{C}_1, \bm{C}_2) = \dfrac{\bm{C}_1 \cdot \bm{C}_2}{ \lVert \bm{C}_1 \rVert \lVert \bm{C}_2 \rVert}
$$

特性ベクトルは全て正の成分しか持たないため、数値としては、0から1までの数値になります。

この数値が高いほど類似しているとなり、実際は0.7ぐらいで最も似ているサークルという扱いになることが多いようです。

サイトでの表示上は、上位3サークルを掲載しています。

公式ジャンルの内利用しているジャンルとその理由

公式ジャンルには以下のカテゴリが設定されています。

  • こだわり/アピール

  • シチュエーション/系統

  • プレイ/えっち傾向

  • アイテム/道具

  • キャラクター/衣装

  • 外見/身体的特徴

  • 残酷系/異常系

これらのうち以下のカテゴリのジャンルのみを類似度計算には利用しています。

  • こだわり/アピール

  • シチュエーション/系統

  • プレイ/えっち傾向

  • 外見/身体的特徴

一部のカテゴリを利用していない理由としては、入れると指標数値が悪化するためです。

指標数値としては、相互に似ているとされるサークルが多いほど良いとしています。

似ているサークルベスト3を算出の上、それらのサークルの似ているサークルベスト3に元のサークルが入っている「両思いの関係」が多数形成されているものを良い状態と定めました。

大きいクラスタが形成され、その代表サークルにクラスタ内は全部似ているとなるよりは、小さいクラスタが形成され、その内部が相互に似ているとされる方が良いと評価しているためです。

カテゴリごとに入れる入れないを総当たりで調べ、最も「両思いの関係」が多かった組み合わせが上記の4カテゴリを採用した場合になりました。

現状の問題点と今後の課題

フロア横断で評価しているため、ノイズが入る

現在の評価は販売フロアを関係なく類似度を計算しています。そのため男性向け中心で「アナル」を中心に活動されているサークルにBLフロアで活動されているサークルが類似サークルとして出てくるなど、品質としてそれはどうなのだろうというということが発生しています。

「癒し」など、フロア横断でイメージに変化の少ないジャンルではこのような問題は発生せず、フロアによって意味合いが異なりやすい「アナル」などのジャンルにおいて問題となります。

そういった、ジャンルごとのふるい分けのような下処理が必要になりそうなのですが、手段が見えておらず、対応方法は検討中です。

データ抽出の期間が短すぎるのかもしれない

サークルの傾向を見るという手段に対しては1年という期間が十分に長いか、過不足ないかという点については疑問が残っています。

発売から1年以内に販売総量の5割以上を売り上げるという傾向がありますので、新作についているジャンルに強く引っ張られることになります。

それが良いのか悪いのかという点はまだ未知数であり、もう少し動かしてみた上での検討になります。

サークルとして似ている似ていないを判別するジャンルの選択が大雑把すぎる

現行は大枠のカテゴリで分析をしていますが、もう少し細かくサークルの特性として評価しやすいジャンルと、そうでないジャンルの分類が十分とはいえません。

ジャンルごとに判別をするとなるとその品質を計る指標が必要になりますが、まだどのような方法が良いかわかっていません。

今後の検討課題となります。

最後に

ジャンルの解析が何かできないかとは考えてきたのですが、その成果の一つとして「ジャンル構成が似ているサークル」をリリースすることができました。今後とも品質向上に努めていきます。

メカニズムとしては今回公開したものになります。少しおかしな結果が見えてしまった時は作り方がわかれば、なるほどと思っていただけるかと思います。その上で笑い飛ばしていただければ幸いです。

ジャンル解析によるマーケット全体の分析は今後とも行なっていく予定です。何か成果がありましたら公開いたします。ご期待ください。

この記事が気に入ったらサポートをしてみませんか?