Deep Learning usage as recommendation engine

Photo by rawpixel on Unsplash

Project intro

I am pleased to announce the release of software project “Deep Hybrid Recommenders” (DHR), accompanying the paper “Improvement of e-commerce recommendation systems with deep hybrid collaborative filtering with content: A case study” written by Michał Górnik and myself. This project provides Pytorch and PytorchLightning implementations of the discussed algorithms, including Deep Collaborative Filtering (DCF), Collaborative Filtering (CF), and the proposed approach - Deep Hybrid Collaborative Filtering with Content (DHCF).

DHR also includes a repeatable experimentation environment, built using Kedro, which allows for easy experimentation and reproduction of the results from the paper. The experiment was conducted on the 2018 Amazon Reviews Dataset, and evaluated using mean squared error (MSE), mean absolute error (MAE), and mean absolute percentage error (MAPE) metrics.

The project will be helpful for researchers and practitioners working on product recommendation systems and data scientists seeking existing implementations of recommendation engines based on deep learning. The code is open-source and available on our GitHub repository, and we welcome any feedback or contributions from the community.

png
Kedro processing pipeline

Next steps

The future work on Deep Hybrid Recommender will focus primarily on including the graph neural networks as recommendation models, as their usability and applicability to the e-commerce domain have been proven. GNNs for heterogeneous domains (graphs with varied node types) are a relatively new and extensively researched topic with promising results. We will also be working on extending the experimentation environment to include more datasets and models.

Filip Wójcik
Filip Wójcik
Senior Data Scientist and Ph.D. in Quality and Management Science

Data scientist and researcher, passionate of machine learning and statistical analysis. In the same time - experienced software developer with experience in different technologies.