Skip to content

Latest commit

 

History

History
59 lines (44 loc) · 2.76 KB

README.md

File metadata and controls

59 lines (44 loc) · 2.76 KB

Contributors

Introduction

Hello there 👋🏽

We recommend to check the repository frequently, as we are updating and documenting it along the way!

EBNeRD

Ekstra Bladet Recommender System repository, created for the RecSys'24 Challenge.

Getting Started

We recommend conda for environment management, and VS Code for development. To install the necessart packages and run the example notebook:

# 1. Create and activate a new conda environment
conda create -n <environment_name> python=3.11
conda activate <environment_name>

# 2. Clone this repo within VSCode or using command line:
git clone https://github.com/ebanalyse/ebnerd-benchmark.git

# 3. Install the core ebrec package to the enviroment:
pip install .

We have experienced issues installing tensorflow for M1 Macbooks (sys_platform == 'darwin') when using conda. To avoid this, we suggest to use venv if running on macbooks.

python3 -m venv venv
source  venv/bin/activate

Running GPU

tensorflow-gpu; sys_platform == 'linux'
tensorflow-macos; sys_platform == 'darwin'

Algorithms

To get started quickly, we have implemented a couple of News Recommender Systems, specifically, Neural Recommendation with Long- and Short-term User Representations (LSTUR), Neural Recommendation with Personalized Attention (NPA), Neural Recommendation with Attentive Multi-View Learning (NAML), and Neural Recommendation with Multi-Head Self-Attention (NRMS). The source code originates from the brilliant RS repository, recommenders. We have simply stripped it of all non-model-related code.

Notebooks

To help you get started, we have created a few notebooks. These are somewhat simple and designed to get you started. We do plan to have more at a later stage, such as reproducible model trainings. The notebooks were made on macOS, and you might need to perform small modifications to have them running on your system.

Model training

We have created a notebook where we train NRMS on EB-NeRD - this is a very simple version using the demo dataset.

Data manipulation and enrichment

In the dataset_ebnerd demo, we show how one can join histories and create binary labels.