Sequence recommenders
Андрей Данильченко разработчик
Что такое рекомендации?
Классическая RS
SVD Metadata Features
Recommender
Музыкальная RS
SVD Metadata Features
Recommender
?
Музыкальная RS — пример
SVD Metadata Features
Recommender
Музыкальная RS — пример 2
SVD Metadata Features
Recommender
Sequence recommenders
Данные
Station-based & station-less models
LME
Плейлист — это фраза на неизвестном естественном
языке!
Где используют этот язык?
Sequence recommenders
Данные
Station-based & station-less models
LME
Station-based model (Yahoo)
L S;Θ( ) = logP i s;t,Θ( )(i,t )∈PS
∑PS∈S∑
Правдоподобие плейлиста станции:
P i s;t,Θ( ) =exp(rsi;t )exp(rsj;t )
j∑
rsi;t = bi + qiT vs + vs
slot (t ) +1Ps(t,w)
qjj∈Ps
( t ,w )∑
$
%
&&&
'
(
)))
Запись для самой станции:
Station-less model (Yahoo)
L S;Θ( ) = logP i s;t,Θ( )(i,t )∈PS
∑PS∈S∑
Правдоподобие плейлиста станции:
P i s;t,Θ( ) =exp(rsi;t )exp(rsj;t )
j∑
rsi;t = bi + qiT 1
Psqj
j∈Ps
∑ +1Ps(t,w)
qjj∈Ps
( t ,w )∑
$
%
&&&
'
(
)))
Запись для самой станции:
Обучение моделей
η∂ logP i s;t( )
∂θ=η
∂rsi;t∂θ
− P j s;t( )∂rsj;t∂θj
∑$
%&&
'
())
SGD с шагом:
Обучение моделей — трюк
Δθ =η∂rsi;t∂θ
− w j s( )∂rsj;t∂θj∈J
∑&
'((
)
*++
Шаг SGD:
Sampling:
P i S( ) J w i S( ) =
exp(rsi;t )P i S( )
exp(rsj;t )P j S( )j∈J
∑
Sequence recommenders
Данные
Station-based & station-less models
LME
Представление треков
Single-point model Dual-point model
Single-point model — вероятности
P p[i] | p[i−1]( ) = e− X p[ i ]( )−X p[ i−1]( )
2
2
e− X s( )−X p[ i−1]( )
2
2
s∈S∑
=e−Δ p[ i ],p[ i−1]( )
2
Z(p[i−1])
P p( ) = Pi=1
kp
∏ p[i] | p[i−1]( ) = e−Δ p[ i ],p[ i−1]( )2
Z(p[i−1])i=1
kp
∏
Вероятность следующего трека:
Вероятность плейлиста:
Single-point model — функционал
L S;X( ) = −Δ(p[i], p[i−1])2 − logZ p[i−1]( )i=1
kp
∑p∈D∑
Log-likelihood:
X = argmaxX∈ℜ|S|×d
e−Δ( p[ i ],p[ i−1] )2
Z p[i−1]( )i=1
kp
∑p∈D∑
Dual-point model
P p( ) = Pi=1
kp
∏ p[i] | p[i−1]( ) = e−Δ2 p[ i ],p[ i−1]( )2
Z2 (p[i−1])i=1
kp
∏
Вероятность плейлиста:
V,U( ) = argmaxV ,U∈ℜ|S|×d
e−Δ2 ( p[ i ],p[ i−1] )2
Z2 p[i−1]( )i=1
kp
∑p∈D∑
Функционал:
Регуляризация
X = argmaxX∈ℜ|S|×d
L D | X( )−λ XF
2
(V,U) = argmaxV ,U∈ℜ|S|×d
L D |V,U( )−λ VF
2+ U
F
2( )
Single-point model:
Dual-point model:
Регуляризация
X = argmaxX∈ℜ|S|×d
L D | X( )−λ XF
2
(V,U) = argmaxV ,U∈ℜ|S|×d
L D |V,U( )−λ VF
2+ U
F
2( )−−v Δ2 s, s( )2
s∈S∑
Single-point model:
Dual-point model:
Как это выглядит?
Что делать дальше?
Ссылки
• N. Aizenberg, Y. Koren, and O. Somekh. 2012. Build your own music recommender by modeling internet radio streams. In Proceedings of the 21st international conference on World Wide Web (WWW '12). ACM, New York, NY, USA, 1-10. http://doi.acm.org/10.1145/2187836.2187838
• B. McFee, and G. Lankriet. 2011. The natural language of playlists. In Proceedings of 12th International Society for Music Information Retrieval Conference (ISMIR 2011). http://cosmal.ucsd.edu/~gert/papers/nlp.pdf
• S. Chen, J. Moore, D. Turnbull, and T. Joachims. 2012. Playlist prediction via metric embedding. In Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining (KDD '12). ACM, New York, NY, USA, 714-722. http://doi.acm.org/10.1145/2339530.2339643