Bu proje, kullanıcılara kişisel film önerileri sunan bir web uygulamasıdır. Kullanıcılar, sevdiği film türü, favori yönetmenleri ve önceki izledikleri filmler doğrultusunda öneriler alabilir. Proje, film verileri üzerinde makine öğrenmesi yöntemleri kullanarak, en iyi sonuçları elde etmek amacıyla geliştirilmiştir.
- Film türü, yönetmen tercihi ve önceki izlenen film bilgisiyle kişisel film önerileri.
- API entegrasyonu ile film verilerini dinamik olarak yükleme.
- Kullanıcı dostu bir arayüz ve adım adım yönlendirmelerle öneri süreci.
- Flask backend ve React frontend kullanarak modern web uygulaması.
- Bu projede SBERT modeli, metin verilerinin (film türleri, yönetmen isimleri, film açıklamaları vb.) vektör temsillerini oluşturmak için kullanılır ve ardından kullanıcı tarafından sağlanan bilgiler (film türü, yönetmen, önceki izlenen film) ile film verileri arasındaki benzerlik hesaplanarak kişisel öneriler üretilir.
- SBERT modeli, metnin anlamını anlayarak, onu sayısal vektör temsillerine (embedding) dönüştürmek için eğitilir. Bu projede SBERT, filmle ilgili metin verilerini işlemek üzere uyarlanmıştır ve film türleri, yönetmenler ve açıklamalar için doğru temsiller oluşturur.
- Öneri Oluşturma: Kosinüs benzerliklerini hesapladıktan sonra, en yüksek benzerliğe sahip filmler seçilir ve kullanıcıya öneri olarak sunulur. Bu filmler, kullanıcının sağladığı bilgilere dayanarak en çok beğenebileceği filmler olacaktır.
- Bu projede, yazılımın doğruluğunu ve güvenilirliğini sağlamak için hem frontend hem de backend tarafında testler yazılmıştır. Testler, belirli işlevlerin doğru çalışıp çalışmadığını kontrol etmek amacıyla kullanılmaktadır.
- Backend tarafında Flask tabanlı API'nin doğru çalışıp çalışmadığını test etmek için pytest ve Flask-Testing kullanılmıştır. Testler, API uç noktalarını ve işlevlerini kontrol etmeye yöneliktir.
-
Backend Testini Çalıştırma
pytest tests/test_recommendation_api.py
-
-
Frontend tarafında, kullanıcı etkileşimlerini ve API'den gelen verilerin doğru şekilde render edilip edilmediğini test etmek amacıyla Jest ve React Testing Library kullanılmıştır.
-
Frontend Testini Çalıştırma
npm test
-
- Projeyi bilgisayarınıza klonlayın:
https://github.com/Efe-Eroglu/movie-recommendation-system.git
- Backendi Çalıştırma
cd movie-recommendation-system/Backend
python run.py
- Frontendi Çalıştırma
cd movie-recommendation-system/Frontend
npm start
- Tarayıcıyı Açın
# Tarayıcınızdan bu adrese gidin
http://localhost:3000/
- Bu projede IMBD verileri kullanılmıştır veriye resmi siteden ulaşabilirsiniz.
- Projede bir hata bulursanız veya bir geliştirme için pull request açabilirsizin.