Skip to content

Ekstra Bladet Recommender System repository for benchmarking the EBNeRD dataset.

License

Notifications You must be signed in to change notification settings

ebanalyse/ebnerd-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Ekstra Bladet Recommender System repository for benchmarking the EBNeRD dataset.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages