dudi709 / BeyondGLORY

Optimizing the GLORY method with advanced loss function and prediction components for enhanced performance in personalized news recommendations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

✨BeyondGLORY: Global Graph-Enhanced Personalized News Recommendations

This repository enhances the GLORY method introduced in Going Beyond Local: Global Graph-Enhanced Personalized News Recommendations (RecSys 2023) by upgrading its loss function and prediction component. Our modifications aim to optimize performance, achieving improvements in certain cases and closely matching the original results in others. You can find our paper for the enhancements in the following link.

Glory Model Illustration
Original GLORY Model Illustration

Environment

Python 3.8.10 pytorch 1.13.1+cu117

cd GLORY

apt install unzip python3.8-venv python3-pip
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# data download
bash scripts/data_download.sh

# Run
python3 src/main.py model=GLORY data=MINDsmall reprocess=True

Improvements

Our enhancements to the GLORY method concentrate on two critical components:

  • Loss Function: We've upgraded the existing NCE loss by integrating Pairwise loss. This enhancement can be applied alongside the NCE loss or as a standalone replacement.
  • Prediction Component: We've replaced the original method's dot product prediction mechanism with a Deep Neural Network (DNN).

The code is configured to run using the original settings by default. To apply our enhancements, you will need to modify the configs/model/default.yaml file under the section "Improvements - New Configurations":

is_new_loss: true # Set to true if you want to use only the Pairwise loss. Must also be true if `is_combined` is set to true.
is_combined: true # Set to true if you want to use the combination of the original NCE loss with the Pairwise loss. Note: `is_new_loss` must be set to true for this configuration to work.
is_ClickNet: true # Set to true if you want to replace the original dot product prediction mechanism with a Deep Neural Network (DNN).
  • Note: To optimize running times, the code is initially set up for the MINDsmall dataset. To run it on MINDlarge, simply replace instances of 'MINDsmall' with 'MINDlarge' in the code.

About

Optimizing the GLORY method with advanced loss function and prediction components for enhanced performance in personalized news recommendations.


Languages

Language:Python 98.5%Language:Shell 1.5%