PreferredAI/cornac

A Comparative Framework for Multimodal Recommender Systems

What it solves

Cornac is a comparative framework designed to simplify the development, evaluation, and deployment of multimodal recommender systems. It addresses the difficulty of integrating auxiliary data (such as item descriptions, images, and social networks) into recommendation models and provides a standardized way to compare different algorithms side-by-side.

How it works

Cornac provides a unified interface for loading datasets, splitting data for evaluation, and implementing various recommendation models. It integrates with popular machine learning libraries like PyTorch and TensorFlow. The framework includes a built-in Experiment class that allows users to run multiple models against the same metrics and datasets simultaneously to determine the best performing algorithm.

Who it’s for

It is intended for researchers and developers building recommendation systems who need to conduct fast experiments, implement new models, and ensure their results are reproducible.

Highlights

  • Multimodal Support: Specifically optimized for models that leverage auxiliary data like text and images.
  • Extensive Model Library: Includes a wide range of implemented models, from collaborative filtering and next-item prediction to generative retrieval and explainable recommendation.
  • Deployment Tools: Features a built-in Flask-based serving app for quick model deployment and integration with Approximate Nearest Neighbor (ANN) search frameworks (e.g., Faiss, HNSWLib) for efficient retrieval.
  • Evaluation Framework: Recommended by ACM RecSys 2023 for evaluation and reproducibility.

Related

  • Project
  • Project
  • Project
  • Project
  • Project