Upgrade to Pro — share decks privately, control downloads, hide ads and more …

レイヤー構造に基づく楽曲推薦手法の提案と音楽発掘サービスKiiteへの応用

 レイヤー構造に基づく楽曲推薦手法の提案と音楽発掘サービスKiiteへの応用

Avatar for Kosetsu Tsukuda

Kosetsu Tsukuda

July 17, 2025
Tweet

More Decks by Kosetsu Tsukuda

Other Decks in Research

Transcript

  1. 本研究の着眼点 4 あなたと好みの似た人が好きな曲 あなたの好きな曲と似た曲調 あなたと好みの似た人が好きな曲 あなたの好きなクリエータの曲 … 推薦 「あなたと好きな曲と似た 曲調」という推薦理由の曲

    をもっと出してほしいなー 推薦理由を提示することで透明性を高めるだけでは不十分 ユーザが望む推薦理由に応じて推薦結果を表示できるよう 推薦システムの操作性を高める 目標
  2. GCNの概要 15 提案手法:GCN(Graph Convolution Network)に基づく推薦手法 グラフの各ノードを 𝒅𝒅次元ベクトルで表す ユーザ: 楽曲: クリエータ:

    𝒆𝒆𝑢𝑢1 0 , 𝒆𝒆𝑢𝑢2 0 , 𝒆𝒆𝑢𝑢3 0 , … 𝒆𝒆𝑠𝑠1 0 , 𝒆𝒆𝑠𝑠2 0 , 𝒆𝒆𝑠𝑠3 0 , … 𝒆𝒆𝑐𝑐1 0 , 𝒆𝒆𝑐𝑐2 0 , 𝒆𝒆𝑐𝑐3 0 , … グラフ構造に基づいて ベクトルを拡張 ユーザ: 楽曲: クリエータ: 𝒆𝒆𝑢𝑢1 ∗ , 𝒆𝒆𝑢𝑢2 ∗ , 𝒆𝒆𝑢𝑢3 ∗ , … 𝒆𝒆𝑠𝑠1 ∗ , 𝒆𝒆𝑠𝑠2 ∗ , 𝒆𝒆𝑠𝑠3 ∗ , … 𝒆𝒆𝑐𝑐1 ∗ , 𝒆𝒆𝑐𝑐2 ∗ , 𝒆𝒆𝑐𝑐3 ∗ , …
  3. 1ホップ先のノードを反映したベクトルの計算(バランス重視) 16 𝒆𝒆𝑁𝑁𝑠𝑠1 0 = 1 5 𝒆𝒆𝑢𝑢6 0 +

    𝒆𝒆𝑠𝑠6 0 + 𝒆𝒆𝑠𝑠10 0 + 𝒆𝒆𝑠𝑠34 0 + 𝒆𝒆𝑐𝑐9 0 𝑠𝑠1 と繋がったノードのベクトルを等しく反映 𝒆𝒆𝑠𝑠1 1 :1ホップ先を考慮した 𝑠𝑠1 のベクトル 嗜好レイヤー (重み: 1) 音響類似レイヤー (重み: 1) 創作レイヤー (重み: 1) 𝑠𝑠1 の元々の ベクトル
  4. 2ホップ先のノードを反映したベクトルの計算(バランス重視) 17 音響類似レイヤー (重み: 1) 創作レイヤー (重み: 1) 𝒆𝒆𝑁𝑁𝑠𝑠1 1

    = 1 5 𝒆𝒆𝑢𝑢6 1 + 𝒆𝒆𝑠𝑠6 1 + 𝒆𝒆𝑠𝑠10 1 + 𝒆𝒆𝑠𝑠34 1 + 𝒆𝒆𝑐𝑐9 1 グラフ上の間接的な繋がりも考慮するために 2ホップ先のノードのベクトルを反映 𝑢𝑢6 の1ホップ先 のノードを反映 したベクトル 𝒆𝒆𝑠𝑠1 2 :2ホップ先を考慮した 𝑠𝑠1 のベクトル 𝑠𝑠1 の1ホップ先 を考慮した ベクトル 嗜好レイヤー (重み: 1)
  5. 推薦スコアの計算に用いるベクトルの取得 18 𝒆𝒆𝑢𝑢 ∗ = 𝒆𝒆𝑢𝑢 0 ∥ 𝒆𝒆𝑢𝑢 1

    ∥ ⋯ ∥ 𝒆𝒆𝑢𝑢 𝐾𝐾 ユーザ 𝑢𝑢 のベクトル: 𝒆𝒆𝑠𝑠 ∗ = 𝒆𝒆𝑠𝑠 0 ∥ 𝒆𝒆𝑠𝑠 1 ∥ ⋯ ∥ 𝒆𝒆𝑠𝑠 𝐾𝐾 楽曲 𝑠𝑠 のベクトル: ユーザ 𝑢𝑢 に対する楽曲𝑠𝑠 の推薦スコア: � 𝑦𝑦 𝑢𝑢, 𝑖𝑖 = 𝒆𝒆𝑢𝑢 ∗ T𝒆𝒆𝑠𝑠 ∗ 𝒆𝒆𝑢𝑢 0, 𝒆𝒆𝑠𝑠 0, 𝒆𝒆𝑐𝑐 0:学習対象のパラメータ( 𝒆𝒆𝑢𝑢 1 等は𝒆𝒆𝑢𝑢 0から計算される) BPR (Bayesian Personalized Ranking) を用いてパラメータを学習 𝐿𝐿 = � 𝑢𝑢,𝑠𝑠,𝑠𝑠′ ∈𝐷𝐷 − ln � 𝑦𝑦 𝑢𝑢, 𝑠𝑠 − � 𝑦𝑦 𝑢𝑢, 𝑠𝑠′ + 𝜆𝜆 𝚯𝚯 2 2
  6. 特定のレイヤーの重み大きくしたベクトルの計算(人気度重視) 19 𝒆𝒆𝑁𝑁𝑠𝑠1 0 = 1 7 𝟑𝟑𝒆𝒆𝑢𝑢6 0 +

    𝒆𝒆𝑠𝑠6 0 + 𝒆𝒆𝑠𝑠10 0 + 𝒆𝒆𝑠𝑠34 0 + 𝒆𝒆𝑐𝑐9 0 重みの大きいレイヤーのベクトルを重視して反映 𝒆𝒆𝑠𝑠1 1 :1ホップ先を考慮した 𝑠𝑠1 のベクトル 嗜好レイヤー (重み: 3) 音響類似レイヤー (重み: 1) 創作レイヤー (重み: 1) 𝑠𝑠1 の元々の ベクトル
  7. 推薦モードの切り替え 29 𝒎𝒎 = 𝟏𝟏 𝒎𝒎 = 𝟐𝟐 𝒎𝒎 =

    𝟑𝟑 𝒎𝒎 = 𝟒𝟒 デフォルト 推薦エンジン 1,503個 (46.0%) 533個 (16.3%) 404個 (12.4%) 824個 (25.2%) カスタム 推薦エンジン 405個 (30.4%) 412個 (30.9%) 195個 (14.6%) 320個 (24.0%) 推薦モードを切り替えた推薦エンジンはどれぐらいあった? Q. 𝑚𝑚種類の推薦モードを切り替えた推薦エンジンの数をカウント A. 54.0%のデフォルト推薦エンジン 69.6%のカスタム推薦エンジン で推薦モードが切り替えられていた 全員に提供されるデフォルト推薦エンジンに比べて カスタム推薦エンジンを使うユーザは推薦モードを積極的に切り替え 考察
  8. 推薦エンジンでのインタラクション頻度 30 𝒎𝒎 = 𝟏𝟏 𝒎𝒎 = 𝟐𝟐 𝒎𝒎 =

    𝟑𝟑 𝒎𝒎 = 𝟒𝟒 再生 29.8 52.0 96.6 263.6 お気に入り 3.5 10.3 13.9 37.0 サムアップ 7.8 13.1 21.0 62.5 サムダウン 7.1 9.9 28.0 91.4 より多くの推薦モードを使うユーザはインタラクションが活発? Q. A.より多くの推薦モードを使うユーザほどインタラクション頻度も増加 考察 「バランス重視」しか使っていないユーザに対して他の推薦モードも使うよう Kiite上で促し、切り替えの多さとインタラクション頻度の因果関係を調査 デフォルト推薦エンジン (曲)
  9. 最も好んで使用する推薦モード 31 バランス 人気度 楽曲類似度 クリエータ お気に入り 13曲 28曲 20曲

    2曲 バランス 人気度 楽曲類似度 クリエータ お気に入り 20曲 4曲 3曲 6曲 バランス 人気度 楽曲類似度 クリエータ お気に入り 1曲 0曲 33曲 1曲 デフォルト推薦 エンジン【1】 デフォルト推薦 エンジン【1,263】 デフォルト推薦 エンジン【2】 … … バランス 人気度 楽曲類似度 クリエータ お気に入り 621個 125個 217個 24個 ユーザによって最も好んで使用する推薦モードに違いはあった? Q.
  10. 最も好んで使用する推薦モード 32 バランス 人気度 楽曲類似度 クリエータ 再生 799 127 300

    37 お気に入り 621 125 217 24 サムアップ 698 118 265 31 サムダウン 398 55 151 20 A. 違いはあり、いずれの推薦モードも最も好んで使用するユーザが存在 複数の推薦モードからユーザが選択できるようにすることには意義がある デフォルト推薦エンジン (個) ユーザによって最も好んで使用する推薦モードに違いはあった? Q.
  11. 最も好んで使用する推薦モード 33 バランス 人気度 楽曲類似度 クリエータ 再生 323 67 334

    10 お気に入り 231 55 231 13 サムアップ 266 83 289 10 サムダウン 200 38 235 13 カスタム推薦エンジン (個) 考察 デフォルト推薦エンジン:バ > 楽 > 人 > ク カスタム推薦エンジン:バ ≒ 楽 > 人 > ク カスタム推薦エンジンは 「静かなピアノ曲」「バラード系」 など音に関する名前が多い A. 違いはあり、いずれの推薦モードも最も好んで使用するユーザが存在 ユーザによって最も好んで使用する推薦モードに違いはあった? Q.
  12. 併用して活用された推薦モード 34 バランス 人気度 楽曲類似度 クリエータ お気に入り 18曲 2曲 9曲

    0曲 バランス 人気度 楽曲類似度 クリエータ お気に入り 1曲 36曲 0曲 2曲 バランス 人気度 楽曲類似度 クリエータ お気に入り 7曲 0曲 12曲 25曲 𝒎𝒎 = 𝟐𝟐 𝒎𝒎 = 𝟏𝟏 𝒎𝒎 = 𝟑𝟑 デフォルト推薦 エンジン【1】 デフォルト推薦 エンジン【1,250】 デフォルト推薦 エンジン【2】 … 𝒎𝒎 = 𝟏𝟏 𝒎𝒎 = 𝟐𝟐 𝒎𝒎 = 𝟑𝟑 𝒎𝒎 = 𝟒𝟒 お気に入り 586個 216個 96個 73個 ユーザは複数の推薦モードを活用していた? Q. 3曲以上「お気に入り」した推薦モードの種類数 𝑚𝑚 をカウント
  13. 併用して活用された推薦モード 35 𝒎𝒎 = 𝟏𝟏 𝒎𝒎 = 𝟐𝟐 𝒎𝒎 =

    𝟑𝟑 𝒎𝒎 = 𝟒𝟒 再生 579 279 155 237 お気に入り 586 216 96 73 サムアップ 613 227 116 135 サムダウン 367 108 46 93 デフォルト推薦エンジン (個) 𝒎𝒎 ≥ 𝟐𝟐 53.7% 39.7% 43.8% 40.2% ユーザは複数の推薦モードを活用していた? Q. A. 約40%以上のユーザは複数の推薦モードを活用して使い分けていた 複数の推薦モードを切り替え可能にし操作性を加えることには意義がある