← Projeler

Türkçe ürün yorumlarında konu bazlı duygu analizi

3358 aspect-sentiment çifti üzerinde sözlük, TF-IDF, BERTürk ve KOZMOS yöntemlerini karşılaştıran NLP çalışması.

Rol
Veri toplama, etiketleme akışı ve KOZMOS modeli · ekip projesi
Kurum
Kocaeli Üniversitesi
Dönem
2026
Teknolojiler
Python · Selenium · scikit-learn · PyTorch · Transformers · Captum
KOZMOS modelinin genel, kargo, kalite, fiyat, batarya, ses/görüntü ve ambalaj boyutlarında tahmin ettiği duygu dağılımı.

Problem

“Kargo hızlıydı ama batarya yetersiz.” Bu yorumu yalnızca olumlu veya olumsuz olarak etiketlemek, iki ayrı geri bildirimi birbirine karıştırıyor. Üç kişilik ekip çalışmamızda yorumun tamamını tek puana indirmek yerine, hangi ürün özelliğinden söz edildiğini ve o özellik için ne söylendiğini ayrı değerlendirdik.

Telefon, kulaklık ve bilgisayar kategorilerinden toplanan 2250 ham yorum, etiketleme sonrası 3358 aspect-sentiment çiftine dönüştürüldü. Her çift için pozitif, negatif veya nötr sınıfı kullanıldı.

Katkım ve yöntemler

Scraper geliştirme ve veri genişletme, telefon/kulaklık etiketleme akışı ve KOZMOS fine-tuning üzerinde çalıştım. Ekipte kural tabanlı ABSA, TF-IDF hibrit yaklaşımı ve BERTürk de geliştirildi.

Selenium ile veri toplandı. Kural tabanlı yaklaşım cümlecik ayırma, aspect sözlükleri ve olumsuzlama kurallarını kullanıyor. Hibrit yöntem, duygu sınıflandırmasını TF-IDF ile Logistic Regression/Linear SVM’e bırakıyor. Transformer modelleri yorum ve ilgili aspect’i birlikte girdi olarak alıyor.

KOZMOS için ytu-ce-cosmos/turkish-small-bert-uncased kullanıldı. Hugging Face Trainer, sınıf ağırlıklı CrossEntropy için özelleştirildi; early stopping ve macro F1 ile model seçimi uygulandı. Captum ve attention görselleştirmeleriyle tahminler incelendi.

Değerlendirme

Bir yorum birden fazla aspect satırı oluşturabildiği için split yorum bazında yapıldı. Kayıtlı bölmelerde 2342 train, 506 validation ve 510 test satırı var. Bölmeler arasında birebir aynı yorum metni örtüşmesi kontrolünde sıfır eşleşme bulundu.

KOZMOS modelinin 510 test örneğindeki pozitif, negatif ve nötr tahminlerini gösteren confusion matrix
KOZMOS modelinin 510 test örneğindeki pozitif, negatif ve nötr tahminlerini gösteren confusion matrix

Kayıtlı test tahminlerinden yeniden hesaplanan KOZMOS macro F1 0,6568, accuracy %80,59. Ekip karşılaştırmasında en yüksek macro F1, BERTürk ile 0,6905 oldu. Testte nötr sınıf yalnızca 45 örnek içeriyor; bu sınıftaki sonuçları ayrıca değerlendirmek gerekiyor.

Pozitif ve negatif sınıflar daha güçlü; az sayıdaki nötr örnekte precision ve recall belirgin biçimde düşüyor.
Genel skorun arkasındaki sınıflar Pozitif ve negatif sınıflar daha güçlü; az sayıdaki nötr örnekte precision ve recall belirgin biçimde düşüyor.

Sınırlar

Transformer deneyleri verilen aspect için sentiment tahmin ediyor; aspect çıkarımını birlikte öğrenen uçtan uca bir model değil. TF-IDF scriptindeki vectorizer/CV sıralaması ve grup bazlı CV ayrıca iyileştirilmeli. Bu nedenle bütün deney hattı için mutlak “sızıntısız” iddiası kullanmıyoruz.

Kargo örneğindeki token ağırlıkları, tahminin incelenmesine yardımcı oluyor. Attention ağırlığı tek başına nedensel açıklama değildir.
Model hangi kelimelere dikkat ediyor? Kargo örneğindeki token ağırlıkları, tahminin incelenmesine yardımcı oluyor. Attention ağırlığı tek başına nedensel açıklama değildir.

Sonuç

Çalışma, ürün yorumlarını tek puandan daha ayrıntılı inceleyen bir analiz pipeline’ı ve dört yöntem arasında karşılaştırma sağladı. Kişisel model sonucum KOZMOS’a; BERTürk sonucu ekip çalışmasına ait.