Skip to content

Suggests a variety of movies for the user to watch, depending on the movies the user has already seen and the topics and directors they like

License

Notifications You must be signed in to change notification settings

Efe-Eroglu/movie-recommendation-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Movie Recommendation System

Proje Tanımı

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.


Özellikler:

  • 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ı.

Kullanılan Öneri Modeli : SBERT

  • 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.

Projeden Görünütüler

1) Ana Sayfa

homePage


2) Öneri Sayfası: Adım 1

step1


3) Adım 2

step2


4) Adım 3

step3


5) Sonuç Ekranı

result


6) Hakkımızda

aboutus


Test:

  • 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 Testleri

  • 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 Testleri

  • 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

Kurulum

  1. Projeyi bilgisayarınıza klonlayın:
https://github.com/Efe-Eroglu/movie-recommendation-system.git
  1. Backendi Çalıştırma
cd movie-recommendation-system/Backend
python run.py
  1. Frontendi Çalıştırma
cd movie-recommendation-system/Frontend
npm start
  1. Tarayıcıyı Açın
# Tarayıcınızdan bu adrese gidin
http://localhost:3000/

Not

  • Bu projede IMBD verileri kullanılmıştır veriye resmi siteden ulaşabilirsiniz.

Katkıda Bulunma

  • Projede bir hata bulursanız veya bir geliştirme için pull request açabilirsizin.

About

Suggests a variety of movies for the user to watch, depending on the movies the user has already seen and the topics and directors they like

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published