Spaces:
Sleeping
A newer version of the Gradio SDK is available: 6.14.0
title: YouTube Sentiment Analysis
emoji: 🤨
colorFrom: red
colorTo: gray
sdk: gradio
sdk_version: 6.2.0
app_file: app.py
pinned: false
license: mit
YouTube Yorum Duygu Analizi Proje Raporu
Ders: BIL485-Deep Learning
Geliştirici: uabali
Tarih: Aralık 2025
Özet
Bu proje, YouTube platformundaki kullanıcı yorumlarını analiz ederek duygu durumlarını (Positive, Negative, Neutral) sınıflandıran derin öğrenme tabanlı bir sistem geliştirmeyi amaçlamaktadır. Proje kapsamında LSTM, Bi-LSTM ve Attention mekanizmalı Bi-LSTM olmak üzere üç farklı mimari sıfırdan eğitilmiş ve performansları karşılaştırılmıştır. Deneysel sonuçlar, Bi-LSTM mimarisinin %66.97 doğruluk oranı ile en başarılı model olduğunu göstermiştir.
1. Proje Konusu
1.1 Seçilme Gerekçesi
Dijital çağda kullanıcıların sosyal medya platformlarında bıraktığı izler, paha biçilemez bir veri kaynağı oluşturmaktadır. Özellikle YouTube, aylık 2.5 milyar aktif kullanıcısı ile dünyanın en büyük video barındırma platformudur. Bu platformdaki yorumlar, sadece video içeriği hakkında değil, toplumsal eğilimler, ürün algıları ve kültürel tepkiler hakkında derinlemesine bilgi sağlamaktadır. Bu projenin seçilme nedeni, yapılandırılmamış (unstructured) metin verisinden anlamlı ve yapılandırılmış bilgi çıkarımı yaparak NLP (Doğal Dil İşleme) yetkinliklerini derin öğrenme teknikleri ile birleştirmektir.
1.2 İlgili Alanda Yapılan Uygulamalar (Literatür Özeti)
Duygu analizi alanında yapılan akademik çalışmalar incelendiğinde üç ana yaklaşım göze çarpmaktadır:
- Sözlük Tabanlı (Lexicon-Based) Yaklaşımlar: Kelimelerin önceden tanımlı duygu skorlarına göre analiz edilmesi (örn. VADER, TextBlob). Basit ancak bağlamı kaçıran yöntemlerdir.
- Geleneksel Makine Öğrenmesi: Naive Bayes, SVM gibi algoritmalar. O'Keefe et al. (2018), TF-IDF öznitelikleri ile %78 civarında başarı raporlamıştır.
- Derin Öğrenme Yaklaşımları:
- RNN/LSTM: Hochreiter & Schmidhuber (1997), uzun vadeli bağımlılıkları çözmek için LSTM'i önermiştir.
- Attention Mechanisms: Bahdanau et al. (2014), modelin önemli kelimelere odaklanmasını sağlayan dikkat mekanizmasını geliştirmiştir.
- Transformers: BERT (Devlin et al., 2019) ve RoBERTa, transfer learning ile %90+ başarı oranlarına ulaşmıştır.
1.3 İlgili Alanın Önemi
Bu alanın önemi şu üç ana başlıkta özetlenebilir:
- Ticari İstihbarat: Markaların müşteri memnuniyetini ölçmesi.
- Sosyal İzleme: Nefret söylemi ve siber zorbalığın otomatik tespiti.
- İçerik Stratejisi: YouTuber'ların izleyici beklentilerini veri odaklı anlaması.
2. Veri Setinin Belirlenmesi
2.1 Veri Kaynağı ve İstatistikleri
Projede, Kaggle üzerinden temin edilen ve YouTube API kullanılarak toplanmış geniş kapsamlı bir veri seti kullanılmıştır.
- Toplam Veri: 1,032,225 satır
- Kullanılan Örneklem: Eğitim süresini optimize etmek amacıyla 100,000 rastgele seçilmiş veri kullanılmıştır.
- Sınıf Dağılımı (Dengeli):
- Negatif: ~%33.5
- Pozitif: ~%33.3
- Nötr: ~%33.2
2.2 Veri Ön İşleme (Preprocessing)
Ham veri, modele verilmeden önce aşağıdaki işlemlerden geçirilmiştir:
- Temizlik: URL'ler, HTML etiketleri, @mention'lar ve #hashtag'ler RegEx ile temizlendi.
- Normalizasyon: Tüm metin küçük harfe çevrildi.
- Filtreleme: ASCII dışı karakterler (emojiler hariç) ve noktalama işaretleri kaldırıldı.
- Tokenizasyon: Özgün bir kelime dağarcığı (Vocabulary) oluşturuldu (Boyut: 27,131 kelime).
- Padding: Tüm cümleler sabit 128 token uzunluğuna getirildi.
3. Yöntem ve Seçim Gerekçesi
3.1 Yöntem Seçimi ve Karşılaştırmalı Analiz
Bu projede derin öğrenme (Deep Learning) yaklaşımı benimsenmiştir. Bunun nedeni, geleneksel yöntemlerin aksine derin öğrenmenin özellik çıkarımı (feature extraction) işlemini otomatik yapması ve anlamsal bağlamı daha iyi yakalamasıdır.
Hazır (pre-trained) modellerin (BERT vb.) kullanılmama nedeni, öğrenme hedefleri doğrultusunda LSTM ve Attention mekanizmalarının çalışma mantığının kod düzeyinde kavranması ve sıfırdan bir mimari kurma deneyimidir.
3.2 Uygulanan Mimariler
LSTM (Long Short-Term Memory):
- Gerekçe: Standart RNN'lerdeki "vanishing gradient" problemini çözmesi ve cümle içindeki uzun mesafeli kelime ilişkilerini hafızasında tutabilmesi.
- Mimari: Embedding -> LSTM -> Dropout -> FC -> Softmax
Bi-LSTM (Bidirectional LSTM):
- Gerekçe: Metni hem baştan sona hem de sondan başa okuyarak, bir kelimenin sadece geçmişten değil, gelecekten de bağlam almasını sağlar.
- Mimari: Embedding -> BiLSTM -> Dropout -> FC -> Softmax
Bi-LSTM + Attention:
- Gerekçe: Tüm cümlenin tek bir vektöre sıkıştırılması yerine, duygu durumunu belirleyen kritik kelimelere (örn. "harika", "berbat") daha fazla ağırlık verilmesini sağlar.
4. Model Eğitimi & Değerlendirilmesi
4.1 Eğitim Konfigürasyonu
Eğitim, NVIDIA GeForce RTX 5070 Ti GPU üzerinde gerçekleştirilmiştir.
- Loss Function: CrossEntropyLoss
- Optimizer: Adam (
lr=0.001) - Batch Size: 64
- Epochs: 15 (Early Stopping: 5)
- Embedding Dimension: 128
4.2 Deneysel Sonuçlar
Modellerin test seti üzerindeki performansları aşağıda özetlenmiştir:
| Model | Accuracy | Precision | Recall | F1-Score |
|---|---|---|---|---|
| LSTM | 0.6632 | 0.6666 | 0.6632 | 0.6640 |
| Bi-LSTM | 0.6697 | 0.6709 | 0.6697 | 0.6700 |
| Bi-LSTM + Attention | 0.6682 | 0.6700 | 0.6682 | 0.6672 |
4.3 Sonuçların Tartışılması
- Random Baseline Karşılaştırması: 3 sınıflı bir problemde rastgele başarı %33.3'tür. Eğitilen modellerimiz %67 bandına ulaşarak rastgele tahminden 2 kat daha başarılı olmuştur.
- Bi-LSTM Üstünlüğü: Bi-LSTM modeli, en basit LSTM'e göre daha iyi performans göstermiştir. Bu durum, yorumun sonundaki bir ifadenin (örn: "...tavsiye etmem") cümlenin başındaki anlamı değiştirebildiğini ve çift yönlü okumanın avantajını kanıtlar.
- Attention Etkisi: Attention mekanizması bu veri setinde belirgin bir fark yaratmamıştır. Bunun nedeni, YouTube yorumlarının genellikle kısa olması ve karmaşık dikkat mekanizmasına ihtiyaç duymadan da bağlamın yakalanabilmesi olabilir.
5. Proje Dokümantasyonu
Proje çıktıları results/ klasöründe yer almaktadır:
- Confusion Matrices: Her modelin sınıf bazlı hata matrisleri.
- Loss/Accuracy Grafikleri: Eğitim sürecindeki öğrenme eğrileri.
- Model Comparison: Modellerin yan yana performans kıyaslaması.
Telif Hakkı: Bu proje akademik eğitim amaçlı hazırlanmış olup, kullanılan veri seti ve kodlar açık kaynak prensiplerine uygundur.