Giter VIP home page Giter VIP logo

ecir2023demo's Introduction

ECIR 2023 Demo Paper Track

This repository accompanies the paper "A Multi-Domain System for Real-time Recommendations" submitted to ECIR'23 Demonstration Paper Track.

Demonstration goal: Setup an online movie recommender

The purpose of the following content is to show how a real-time movie recommender could be setup up and used in an online setting.

For this, we will use the MovieLens 100k dataset but the same workflow can be done for any other domain that contains item, user or interaction data.

In the Uptrendz platform, there are multiple ways on how to configure a multi-domain recommender system.
It is possible to create a domain on a system level (i.e., data between domains is separated and not shared) or on an item level (i.e., data is shared between domains). In this repository, we will create a movie recommender on the system level.

Domain setup and usage of the Uptrendz platform:

  1. Go to uptrendz.ai
    • Register a new user account or log-in using your existing Google account
  2. Create a new domain for MovieLens
    • We create a domain on the system-level
  3. Configure the Item API
    • Need to define what meta-data is available for movies
  4. Configure the User API
    • Need to define what meta-data is available for users
  5. Configure the Interaction API
    • Need to define that we are using explicit rating interactions
  6. Create recommendation scenarios
    • Need to create recommendation APIs with desired algorithms and post-processing rules
  7. Run the provided notebooks to:
    • Upload the data (i.e., movies, users and ratings) to your newly created movie domain
      • Using the auto-generated data ingestion APIs
    • Request recommendations for the constructed recommendation scenario
      • Using the auto-generated recommendation APIs

Prerequisite:

In order to run the notebooks provided in this repository, you need to have a working jupyter notebook environment. In case you don't have one, the easiest way is to use pre-built docker images.

Example on Windows 11 with Ubuntu 20.04 using WSL2 and installed docker 20.10.18:

  • Open Terminal
  • If docker is not running, run sudo dockerd
  • Run docker pull jupyter/scipy-notebook to retrieve the appropriate image
  • Run docker run -it --rm -p 8888:8888 -v "$PWD"/notebooks/:/home/jovyan/ jupyter/scipy-notebook
  • Open Jupyter lab by typing localhost:8888 in your browser (token password should be displayed in the terminal)

ecir2023demo's People

Contributors

lacic avatar sbreco avatar

Stargazers

Dominik Kowald avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.