音楽聴き放題サービスawaにおけるレコメンド手法の検討...
TRANSCRIPT
音楽聴き放題サービス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 subscrip-
tion 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]
1https://www.cyberagent.co.jp/2http://www.avex.co.jp/3http://awa.fm/
には, そのユーザが過去に聴いてきたプレイリストの履歴を基にしてユーザごとに異なる最適なプレイリストを最大で 30件レコメンドして表示する機能がある. し
図 1: AWA DISCOVERYの一例
かし,レコメンドのマッチング精度を高めていくとユーザの趣味嗜好に合ったレコメンド結果は得られるのだが, 推薦の多様性が失われるという場合も考えられるだろう.
そこで本研究の目的は,AWA 内で聴かれた楽曲のアーティストを用いて精度を失うことなく多様性をも有したレコメンド手法を提案・検証することである.本研究では,レコメンドの精度と多様性とを両立できると期待できる [3]が提案した word2vecを用いてオフラインでの精度評価を行った結果を報告する.artist名の集合を vector表現に変換して類似度計算を行うため, 便宜上 Artist2vecと呼ぶこととする (図 2).word2vecは
元々wikipediaや twitter等のテキストデータを扱う言語モデル手法であるが, これを言語モデル以外の分野にも適用する事例も報告されている. 例えば [4] ではe-mail中に記載された商品情報を用いて, 購入する商品をレコメンドに利用するため word2vecを適用させた prod2vecを提案をしている.
!"#$%!
!"#$%&%'()!
!"#$%&%'*)!
!"#$%&%+*)!
!"#$%&%+()!
&'()*+,("!-$%#$%!
,-.!
!"#$%&%)!
./-0!
!"#$%&%'()!
!"#$%&%'*)!
!"#$%&%+*)!
!"#$%&%+()!
!"#$%&%)!
!"#$%! &'()*+,("!-$%#$%!
123#45'67!
図 2: Artist2vecで使われるCBOWと Skip-gram
の概念図
2 手法と結果2.1 データセット本研究で用いたデータは以下のとおりである.
サービス名 AWA
対象期間 2015/8/1~2015/8/10
分析ユーザ数 100,000人をサンプリング
対象アーティスト30秒以上ユーザに聴かれた楽曲のアーティスト
対象プレイリストユーザによって作成された公開プレイリスト
11日間のログデータから, 1日以上ログインしていてかつ 2アーティスト以上の楽曲を 30秒以上聴いたユーザをアクティブユーザとしてまずは抽出を行った. 抽出されたアクティブユーザ集合の中で 5人以下のユーザからしか聴かれなかったアーティストは対象外とし,
対象アーティストを聴いたユーザ 100,000人をランダムサンプリングして本研究に用いた.
2.2 推薦手法ユーザ毎に 11日間で実際に聴かれたアーティスト名
の順番で並び替えたデータを用いて artist2vecのモデ
ルを構築した. 図 3の userAは 11日間を通して「中川翔子, ももいろクローバー z, ZONE」の順番で楽曲を聴いたユーザということになる. このようにユーザ毎に聴いた順番でアーティスト名の文字列が並ぶようにデータ整形を行い, Pythonの gensimライブラリ 4 のword2vec関数を用いることで artist2vecのモデルを構築した. このようにすることでアーティスト名はベクトルで表現できるようになるので, アーティスト名同士の自由な演算が可能となる. そこで本研究では以下の 2
つの提案手法を提案した. いづれの提案手法においてもベクトル演算後の値と, 全アーティスト名のベクトル表現値とのコサイン類似度を算出してその TopN(本研究では N=10)をレコメンドとして利用する.
2.2.1 提案手法 1
提案手法 1は, 最後に聴かれたアーティスト名 + 最後から 2番目に聴かれたアーティスト名を入力としてartist2vecでコサイン類似度を算出し上位 10件を得る方法である.
2.2.2 提案手法 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でレコメンドアーティストの予測を行う.
Predn,t は t 番目に聴いたアーティストを入力としてartist2vec でコサイン類似度の類似度が高い topN を算出した時の n 番目のアーティストである. これが
4https://radimrehurek.com/gensim/5https://cloud.google.com/bigquery/
Artistt+1と一致すればレコメンドが正しいとし, その出現確率を AP@10とした. また各ユーザ毎にレコメンドされた平均ユニークアーティスト数を, レコメンドにおけるバリエーションの評価指標とした.
また、精度比較のベースライン手法としてはアイテムベース強調フィルタリング [5]を用いた.
AveP@N =
∑Uu=1
∑T−1t=1
∑Nn=1 δ(t+ 1, t, n)
number of listening musics(1)
δ (m+ 1, n) =
{1 (Artistt+1 = Predn,t)
0 (otherwise)
!"#$
%&'&!
!"#$! %&"'#(#)*+$,"'"!
!"#$-! "#.$%&''()*+,-,/**/012!
!"#$3! ./&0.1%&23456789&45####1!
!"#$6! :;<=>?@ABCDE&FG.HI&0.1%!
JK!
LM!
!"#$! %&"'#(#)*+$,"'"!
!"#$-! "#.$%&''()*+,-,/**/012!
!"#$3! ./&0.1%&23456789&45####1!
!"#$! %&"'#(#)*+$,"'"!
!"#$6! :;<=>?@ABCDE&*FG.HI&0.1%!
("%)!$
*+,!%,-#!
'.&,-! ')/'!
!"#$6! 23456789&FG.HI&0.1%!
NO!
PQ!
図 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: 提案手法 1, 2の精度比較結果
!"!"#$%&'()*
#"$%&'()*+,-$./012*
3"$%&'()*+,-$./041*
!* #4* #** 34* 3** 54* 5**
5"$%&'()*+,-$./0*1*
図 5: windows parameterの精度比較結果
!"!"#$%&'()*
#"$%&'()*+,-$(.*
/"$%&'()*+,-$/#01*
!* #2* #** #3* /2* /** /3*
図 6: skip-gramとCBOWとの精度比較結果
メータによらず, skip-gramで artist2vecモデルを構築するよりもCBOWで artist2vecモデルを構築するほうが全体的に精度が高い結果が得られた. また, CBOW
においては表現層の数 sizeパラメータは 64が僅かではあるが最良の結果となった (図 6).
!"#$!
!"#$!
%&'() *+,-!
%&'()*+,-!
./012! "#$%&'()*!
図 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%の向上が見られ,
レコメンドされるアーティストのバリエーション数は
n%の向上が見られた. 精度に関しては大きな向上が得られたとは言い難いが, バリエーション数の向上に寄与できるのはサービスとしては大変意義がある結果となった. ユーザとしては精度の高いレコメンド結果が望まれるとの同時に, 新たなアーティスト/楽曲との出会いも望んでいるからである. 今後は本研究の成果をAWAサービスの機能改善に役立てていきたい.
参考文献[1] Negar H., Bamshad M., and Robin B.: Context-Aware
Music Recommendation Based on Latent Topic Se-quential Patterns, RecSys’12, (2012)
[2] Ning-Han L., and Shu-Ju H.: Intelligent MusicPlaylist Recommendation Based on User Daily Be-havior and Music Content, Advances in MultimediaInformation Processing, Vol.5879, pp.671-683, (2009)
[3] Tomas M., Kai C., Greg C., and Jeffrey D.: EfficientEstimation of Word Representations in Vector Space,ICLR, (2013)
[4] Mihajlo G., Vladan R., Nemanja D., and Narayan B.:E-commerce in Your Inbox: Product Recommenda-tions at Scale, KDD’15, (2015)
[5] David G., David N., Brian M. O., and Douglas T.:Using collaborative filtering to weave an informa-tion Tapestry, Communications of the ACM, Vol.35,No.12, pp.61-70, (1992)