Code for the paper "Market Aware Models for Efficient Cross Market Recommendation" (ECIR 2023)
Authors: Samarth Bhargav, Mohammad Aliannejadi, Evangelos Kanoulas
Abstract
We consider the Cross-Market Recommendation (CMR) task, which involves recommendation in a low
resource target market using data from a richer, auxiliary source market. Prior work in CMR
utilized meta-learning to improve recommendation performance in target markets; meta-learning
however can be complex and time-consuming. In this paper we propose Market Aware (MA) models,
which directly models the market via market embeddings instead of meta-learning across
markets. These embeddings transform item representations into market-specific representations.
Our experiments highlight the effectiveness and efficiency of MA models both in a pairwise setting
with a single target-source market, as well as a global model trained on all markets in unison.
In the former pairwise setting, MA models on average outperform market-unaware models in 85% of
cases on nDCG@10, while being time-efficient - compared to meta-learning models, MA models require
only 15% of the training time. In the global setting, MA models outperform market-unaware models
consistently for some markets, while outperforming meta-learning-based methods for all but one
market. We conclude that MA models are an efficient and effective alternative to
meta-learning, especially in the global setting.
Citation
todo!
Contact
We're happy to help with reproducability and other questions. Reach out via email, which can be found at our respective websites: Samarth Bhargav (corresponding author), Mohammad Aliannejadi, Evangelos Kanoulas
- Install
python 3.7.10
. We recommend using pyenv-virtualenv - Install requirements via
pip install -r requirements.txt
- Run the commands experiments using the instructions in RUN.md
- Create a directory
raw_results
at the repo root, and moveforec_eval_single
,forec_eval_all
,forec_eval_all_market_aware
, andforec_single_model
intoraw_results
. - Run the results nb
- Most of the code builds on the original XMRec code. Thanks Hamed!