Personalized Music Recommendation with a Heterogeneity-aware Deep Bayesian Network
<|reference_start|>Personalized Music Recommendation with a Heterogeneity-aware Deep Bayesian Network: Music recommender systems are crucial in music streaming platforms, providing users with music they would enjoy. Recent studies have shown that user emotions can affect users' music mood preferences. However, existing emotion-aware music recommender systems (EMRSs) explicitly or implicitly assume that users' actual emotional states expressed by an identical emotion word are homogeneous. They also assume that users' music mood preferences are homogeneous under an identical emotional state. In this article, we propose four types of heterogeneity that an EMRS should consider: emotion heterogeneity across users, emotion heterogeneity within a user, music mood preference heterogeneity across users, and music mood preference heterogeneity within a user. We further propose a Heterogeneity-aware Deep Bayesian Network (HDBN) to model these assumptions. The HDBN mimics a user's decision process to choose music with four components: personalized prior user emotion distribution modeling, posterior user emotion distribution modeling, user grouping, and Bayesian neural network-based music mood preference prediction. We constructed a large-scale dataset called EmoMusicLJ to validate our method. Extensive experiments demonstrate that our method significantly outperforms baseline approaches on widely used HR and NDCG recommendation metrics. Ablation experiments and case studies further validate the effectiveness of our HDBN. The source code is available at https://github.com/jingrk/HDBN.<|reference_end|>
@article{jing2024personalized,
    title={Personalized Music Recommendation with a Heterogeneity-aware Deep
  Bayesian Network},
    author={Erkang Jing, Yezheng Liu, Yidong Chai, Shuo Yu, Longshun Liu, Yuanchun
  Jiang, Yang Wang},
    journal={arXiv preprint arXiv:2406.14090},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.14090},
    primaryClass={cs.AI}
}