音楽聴き放題サービス AWA におけるレコメンド手法の検討 (artist2vec の試み) Consideration of recommendation technique in our music listening service ’AWA’ 和田計也 1∗ 福田一郎 1 Kazuya WADA1 , and Ichiro Fukuda1 1 株式会社サイバーエージェント 1 CyberAgent, inc. Abstract: We propose and evaluate a new recommendation method ’Artist2vec’ in our subscription type listening music service ’AWA’. This method led to have same precision as the conventional method, but have better coverage. 1 はじめに 近年, 欧米を中心として Spotify や Last.fm, Pandora 等の音楽関連サービスがトレンドとなっていたが, 日本 でも 2015 年に入ってから AWA, LINE MUSIC, Apple Music, Google Play Music が一斉にリリースされ大き な話題となった. どのサービスも楽曲やアーティストのレコメンド機 能の充実が大切である. 各サービスは 100 万∼3000 万 曲に及ぶ楽曲を有しており, その中からユーザの趣味嗜 好にあった楽曲を適切にレコメンドできないとユーザ は大量の楽曲の海に溺れてしまい, サービスからの離脱 に繋がってしまうことは容易に想像できる. そのため 音楽サービス内のレコメンド改良に関する報告が活発 になされている. 例えば [1] では Last.fm のデータを活 用した Pandora でのレコメンド機能の改善を報告して いる. また [2] ではユーザ行動を素性として楽曲レコメ ンドに活用する例を報告している. 株式会社サイバーエージェント 1 とエイベックス・デ ジタル株式会社 2 の共同出資会社である AWA 株式会 社が提供するサブスクリプション型音楽聴き放題サー ビス,AWA3 (アワ)は,他サービスとの差別化のた めプレイリストを全面に押し出したサービスとなって おり, ユーザは自由に自分好みのプレイリストを作成・ 公開することができる. また, 図 1 に示すように AWA アプリケーション内の DISCOVERY と呼ばれるページ ∗ 連絡先:株式会社サイバーエージェント 東京都千代田区外神田 1 丁目 18 番 13 号秋葉原ダイビ ル8階 wada [email protected] 1 https://www.cyberagent.co.jp/ 2 http://www.avex.co.jp/ 3 http://awa.fm/ には, そのユーザが過去に聴いてきたプレイリストの履 歴を基にしてユーザごとに異なる最適なプレイリスト を最大で 30 件レコメンドして表示する機能がある. し 図 1: AWA DISCOVERY の一例 かし, レコメンドのマッチング精度を高めていくとユー ザの趣味嗜好に合ったレコメンド結果は得られるのだ が, 推薦の多様性が失われるという場合も考えられるだ ろう. そこで本研究の目的は,AWA 内で聴かれた楽曲の アーティストを用いて精度を失うことなく多様性をも 有したレコメンド手法を提案・検証することである.本 研究では,レコメンドの精度と多様性とを両立できると 期待できる [3] が提案した word2vec を用いてオフライ ンでの精度評価を行った結果を報告する.artist 名の集 合を vector 表現に変換して類似度計算を行うため, 便 宜上 Artist2vec と呼ぶこととする (図 2).word2vec は 元々wikipedia や twitter 等のテキストデータを扱う言 語モデル手法であるが, これを言語モデル以外の分野 にも適用する事例も報告されている. 例えば [4] では e-mail 中に記載された商品情報を用いて, 購入する商 品をレコメンドに利用するため word2vec を適用させ た prod2vec を提案をしている. !"#$%! &'()*+,("!-$%#$%! !"#$%! &'()*+,("!-$%#$%! !"#$%&%'()! !"#$%&%'*)! !"#$%&%'()! ,-.! !"#$%&%+*)! !"#$%&%'*)! !"#$%&%)! ルを構築した. 図 3 の userA は 11 日間を通して「中川 翔子, ももいろクローバー z, ZONE」の順番で楽曲を 聴いたユーザということになる. このようにユーザ毎 に聴いた順番でアーティスト名の文字列が並ぶように データ整形を行い, Python の gensim ライブラリ 4 の word2vec 関数を用いることで artist2vec のモデルを構 築した. このようにすることでアーティスト名はベク トルで表現できるようになるので, アーティスト名同士 の自由な演算が可能となる. そこで本研究では以下の 2 つの提案手法を提案した. いづれの提案手法において もベクトル演算後の値と, 全アーティスト名のベクトル 表現値とのコサイン類似度を算出してその TopN(本研 究では N=10) をレコメンドとして利用する. !"#$%&%+*)! !"#$%&%)! 2.2.1 !"#$%&%+()! ./-0! 123#45'67! 図 2: Artist2vec で使われる CBOW と Skip-gram の概念図 提案手法 1 は, 最後に聴かれたアーティスト名 + 最 後から 2 番目に聴かれたアーティスト名を入力として artist2vec でコサイン類似度を算出し上位 10 件を得る 方法である. 2.2.2 手法と結果 2 2.1 データセット 本 研 究 で 用 い た デ ー タ は 以 下 の と お り で あ る. サービス名 対象期間 分析ユーザ数 AWA 2015/8/1∼2015/8/10 100,000 人をサンプリング 30 秒以上ユーザに聴かれた 楽曲のアーティスト 対象アーティスト ユーザによって作成された 対象プレイリスト 公開プレイリスト 11 日間のログデータから, 1 日以上ログインしていて かつ 2 アーティスト以上の楽曲を 30 秒以上聴いたユー ザをアクティブユーザとしてまずは抽出を行った. 抽 出されたアクティブユーザ集合の中で 5 人以下のユー ザからしか聴かれなかったアーティストは対象外とし, 対象アーティストを聴いたユーザ 100,000 人をランダ ムサンプリングして本研究に用いた. 2.2 提案手法 1 !"#$%&%+()! 推薦手法 ユーザ毎に 11 日間で実際に聴かれたアーティスト名 の順番で並び替えたデータを用いて artist2vec のモデ 提案手法 2 提案手法 2 は, 最後に聴かれたアーティスト名 + 最 後から 2 番目に聴かれたアーティスト名を入力とし て artist2vec でコサイン類似度を算出し上位 5 件を得 た後に, 最後に聴かれたアーティスト名を入力として artist2vec で類似度を算出し, 先ほど結果との OR をと り上位 10 件を得る方法である. 2.3 評価方法 推薦からオフライン評価までの一連の流れを図 3 に 示す. Google BigQuery5 内に保存されているログデー タから条件を満たすユーザを抽出して分析に必要な項 目を取得し整形した. 次にその整形データをユーザ単位 で train data と test data とに 4:1 の比率になるよう に分割した. train data を入力として model を構築後, test data を使って次に聴かれたアーティストの予測を 行い評価した. 予測精度の評価指標としては Average Precision@10 を用いた (式 1). test data に含まれる ユーザ u={1,2....U} それぞれが聴いたアーティスト名 を時系列順に持っている t={1,2....T}. この時系列順 に artist2vec でレコメンドアーティストの予測を行う. P redn,t は t 番目に聴いたアーティストを入力として artist2vec でコサイン類似度の類似度が高い topN を 算出した時の n 番目のアーティストである. これが 4 https://radimrehurek.com/gensim/ 5 https://cloud.google.com/bigquery/ Artistt+1 と一致すればレコメンドが正しいとし, その 出現確率を AP@10 とした. また各ユーザ毎にレコメ ンドされた平均ユニークアーティスト数を, レコメンド におけるバリエーションの評価指標とした. また、精度比較のベースライン手法としてはアイテ ムベース強調フィルタリング [5] を用いた. ∑U AveP @N = ∑T −1 ∑N δ(t + 1, t, n) number of listening musics u=1 δ (m + 1, n) = !"!"#$%&'()* #"+,-.$* %"+,-.&* t=1 { 1 0 n=1 (1) (Artistt+1 = P redn,t ) (otherwise) !* #$* #&* #'* %$* %&* %'* 図 4: 提案手法 1, 2 の精度比較結果 !"#$ %&'&! !"#$! %&"'#(#)*+$,"'"! !"#$-! "#.$%&''()*+,-,/**/012! JK! !"#$3! !"#$6! ./&0.1%&23456789&45####1! :;<=>?@ABCDE&FG.HI&0.1%! LM! '.&,-! !"#$! ')/'! %&"'#(#)*+$,"'"! !"#$-! "#.$%&''()*+,-,/**/012! !"#$! %&"'#(#)*+$,"'"! !"#$6! :;<=>?@ABCDE&* FG.HI&0.1%! !"#$3! ./&0.1%&23456789&45####1! ("%)!$ *+,!%,-#! !"!"#$%&'()* #"$%&'()*+,-$./012* PQ! 3"$%&'()*+,-$./041* 5"$%&'()*+,-$./0*1* !"#$6! 23456789&FG.HI&0.1%! NO! 図 3: 推薦、評価の一連の流れ !* 2.4 結果 artist2vec のパラメーター最適化はグリッドサーチに よって AP@10 が最大となるように決定した. 提案手法 1 と提案手法 2 の精度比較においては, artist2vec での 表現層の数である size パラメータによらず (B1,C1 は size=16, B2,C2 は size=64, B3,C3 は size=256) 提案手 法 1 より提案手法 2 のほうが精度が高い結果が得られ た (図 4). 次に, artist2vec でのレコメンドを提案手法 2 に絞り, 前後いくつのアーティストを考慮してモデル化するか という windows パラメータの精度比較を行った (B1, C1, D1 は size=64, B2, C2, D2 は size=256) ところ, windows パラメータは 5 が最も高い精度が得られた (図 5). 次に, 提案手法 2 に絞りかつ windows パラメータを 5 に固定して skip-gram と CBOW の精度比較を行った結 果を図 6 に示す. B1,C1 は size=64, B2,C2 は size=128, B3,C3 は size=256 である. 表現層の数である size パラ #4* #** 34* 3** 54* 5** 図 5: windows parameter の精度比較結果 !"!"#$%&'()* #"$%&'()*+,-$(.* /"$%&'()*+,-$/#01* !* #2* #** #3* /2* /** /3* 図 6: skip-gram と CBOW との精度比較結果 メータによらず, skip-gram で artist2vec モデルを構築 するよりも CBOW で artist2vec モデルを構築するほう が全体的に精度が高い結果が得られた. また, CBOW においては表現層の数 size パラメータは 64 が僅かで はあるが最良の結果となった (図 6). ./012! "#$%&'()*! n%の向上が見られた. 精度に関しては大きな向上が得 られたとは言い難いが, バリエーション数の向上に寄 与できるのはサービスとしては大変意義がある結果と なった. ユーザとしては精度の高いレコメンド結果が 望まれるとの同時に, 新たなアーティスト/楽曲との出 会いも望んでいるからである. 今後は本研究の成果を AWA サービスの機能改善に役立てていきたい. 参考文献 [1] Negar H., Bamshad M., and Robin B.: Context-Aware Music Recommendation Based on Latent Topic Sequential Patterns, RecSys’12, (2012) [2] Ning-Han L., and Shu-Ju H.: Intelligent Music Playlist Recommendation Based on User Daily Behavior and Music Content, Advances in Multimedia Information Processing, Vol.5879, pp.671-683, (2009) [3] Tomas M., Kai C., Greg C., and Jeffrey D.: Efficient Estimation of Word Representations in Vector Space, ICLR, (2013) [4] Mihajlo G., Vladan R., Nemanja D., and Narayan B.: E-commerce in Your Inbox: Product Recommendations at Scale, KDD’15, (2015) %&'()*+,-! !"#$! %&'()*+,-! !"#$! 図 7: artist2vec の精度とバリエーション数の結果 最後に, 今までのパラメータチューニングの結果得ら れたパラメータセット (CBOW; windows=5, size=64) と提案手法 2 を用いて精度評価とバリエーション数の 評価を test data セット中から 1,000 ユーザをランダム サンプリングして行った (図 7). ベースライン手法であ るアイテムベース協調フィルタリングでは AP@10 が 0.224 なのに対して, artist2vec では AP@10 が 0.241 と 1.7%の精度向上が見られた. バリエーション数に関し てはベースライン手法であるアイテムベース協調フィ ルタリングでは 1 ユーザあたりレコメンドされるアー ティスト数が 37.2 なのに対して, artist2vec では 151.4 と約 4 倍の多様性を持ったレコメンド結果であった. まとめ 音楽サービスにおいて聴かれたアーティスト名を入 力として word2vec を適用させる’Artist2vec’ を提案し た. 従来手法としたアイテムベース強調フィルタリン グに比べて AP@10 での精度比較で d%の向上が見られ, レコメンドされるアーティストのバリエーション数は [5] David G., David N., Brian M. O., and Douglas T.: Using collaborative filtering to weave an information Tapestry, Communications of the ACM, Vol.35, No.12, pp.61-70, (1992)
© Copyright 2024 ExpyDoc