Proje Demosu

Sistemin arayüzünü, duygusal analiz yeteneklerini ve kitap öneri performansını aşağıdaki videodan izleyebilirsiniz:


Proje Hakkında

Bu proje, Doğal Dil İşleme (NLP) tekniklerini kullanarak uçtan uca geliştirilmiş akıllı bir Kitap Öneri Sistemidir.

Standart anahtar kelime aramalarının ötesine geçerek, kullanıcıların sorgularını hem anlamsal (semantic) hem de duygusal (sentiment) bağlamda analiz eder. Örneğin, kullanıcı “Bana hüzünlü ama umut veren bir hikaye bul” dediğinde, sistem sadece kelimelere değil, cümlenin taşıdığı duyguya da odaklanarak en uygun eşleşmeyi sağlar.

Proje Aşamaları ve Teknik Detaylar

Proje, veri hazırlığından son kullanıcı arayüzüne kadar 5 ana teknik aşamadan oluşmaktadır:

1. Veri Hazırlığı ve Temizleme (ETL)

  • Veri Seti: Kaggle üzerinden alınan “7k-books-with-metadata” seti kullanıldı.
  • İşlem: Eksik veriler temizlendi, gereksiz sütunlar çıkarıldı ve korelasyon analizleri (heatmap) yapıldı. Kitap açıklamaları NLP modellerinin daha iyi işleyebilmesi için optimize edildi.

2. Zero-Shot Metin Sınıflandırma

  • Amaç: Kitapların karmaşık ve dağınık kategorilerini; “Çocuk Kurgu”, “Yetişkin Kurgu”, “Kurgu Dışı” gibi daha basit ve anlaşılır üst kümelere indirgemek.
  • Model: facebook/bart-large-mnli (Zero-Shot Classification tekniği ile).

3. Duygu Analizi (Sentiment Analysis)

  • Amaç: Kullanıcıların ruh haline göre (örn: “neşeli bir kitap”) arama yapabilmesini sağlamak. Kitap açıklamaları 6 temel duyguya göre etiketlendi: Anger, Fear, Joy, Sadness, Surprise, Neutral.
  • Model: Hugging Face üzerinden j-hartmann/emotion-english-distilroberta-base.

4. Vektör Arama (Vector Search & RAG)

  • Amaç: Metinlerin anlamsal olarak aranabilmesi için vektör veritabanı mimarisi kuruldu.
  • Embedding: Google Generative AI Embeddings (models/text-embedding-004).
  • Veritabanı: LangChain entegrasyonu ile ChromaDB kullanılarak veriler depolandı ve sorgulandı.

5. Kullanıcı Arayüzü (UI)

  • Araç: Tüm arka plan süreçleri (modeller, veritabanı sorguları), Gradio ile geliştirilen modern ve interaktif bir web arayüzünde birleştirildi.

Kurulum ve Kullanım

Projeyi yerel makinenizde çalıştırmak için aşağıdaki adımları izleyebilirsiniz.

1. Repoyu Klonlayın

git clone [https://github.com/esracum/repo-adi.git](https://github.com/esracum/repo-adi.git)
cd repo-adi

2. Gerekli Kütüphaneleri Yükleyin

pip install -r requirements.txt

3. API Anahtarını Ayarlayın

GOOGLE_API_KEY=google_api_anahtariniz

4. Uygulamayı Başlatın

python dashboard.py