This repository contains the source code and documentation for a Bachelor's thesis project that explores two different approaches to developing a movie recommendation system: one using KNNBasic, SVD and NMF with the Surprise library for collaborative filtering, and another using OpenAI's GPT models gpt-3.5-turbo and gpt-4-turbo for generating personalized movie recommendations.
The goal of this project is to compare the effectiveness of traditional machine learning techniques and cutting-edge language models in providing personalized movie recommendations. It utilizes the MovieLens latest small dataset to model user preferences and provide recommendations.
- Python 3.10
- Pandas
- NumPy
- Surprise
- OpenAI's Python API
git clone https://github.com/emanuelneziraj/recommenders_gai_surprise.git
To run this project, you need to configure an OpenAI API Key in a config.ini
file as followed:
[DEFAULT]
GPT_TOKEN = <API_KEY>
To set up the project, follow these steps:
cd Recommender-GAI
pip install -r requirements.txt
python main.py
Since GPT is generating recommendations for 600+ users, this will take a long time. Approximately 1.5+ hours per model.
No Configuration needed.
To set up the project, follow these steps:
cd Recommender-Surprise
pip install -r requirements.txt
python main.py
Contributions to this project are welcome! If you find a bug or have a suggestion for improvement, please create an issue or a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.
For more information, please contact Emanuel Neziraj.