İnternet sitesinden bir ürün almak istersek ilk olarak yaptığımız müşterilerin alınan o ürüne yaptığı yorumlara ve verdiği puana bakmak olur. Yorumların ve puanların bir ürünü almaktaki etkisi çok büyüktür.Bu yüzden Trendyol’daki buzdolabıların müsteri yorumlarını ve puanlarını baz alarak bir proje oluşturduk.
Projeninin Amacı
- Trendyoldaki buzdolabı verisinin özelliklerini ve yorumlarını çekerek analiz etmek.
- Trendyoldaki ürünlere verilen puanlara göre duygu analizi yaparak , yorumları negatif,nötr ve pozitif olarak ayırmak.
- Öneri Sistemi tarafında ise müsteri yorumlarını ve puanlarını kullanarak öneri sistemi oluşturmak.
1. Veri Seti

Buzdolabı veri setini Beatifulsoup ve Selinum kullanarak Trendyol sitesinden web scraping ile toplandı. Verisetimiz 33 markadan ve 1001 üründen oluşup ,bü ürünler toplamda 3654 yorum yapılmıştır.Veriden daha iyi sonuç almak için verimiz ingilizceye çevrilmiştir.

2. Duygu Analizi (Sentiment Analysis)
Duygu analizi ile kullanıcıların yorum ve değerlendirmelerini analiz edilebilir.

Duygu Analizi (Sentiment Analysis) yapmak için verimizde puan ve yorumlardan oluşan parametreler vardır.Böylelikle yorumlar puanlar kullanılarak etiklenmiştir.Müşteriler ürünlere 1 ile 5 arasında puanlar vermiştir. Aşağıdaki çubuk grafiğinde verilen puanlardan anlaşıldığı üzere müsteriler en çok 4 ve 5 puanı vermiştir.

Sentiment analizinde puanlama sistemine göre 3 küme oluşturuldu:
- 1 ve 2 puan verilen ürünlerin yorumları negatif olarak belirlendi
- 3 puan verilen ürünlerin yorumları nötr olarak belirlendi.
- 4 ve 5 puan verilen ürünlerin yorumları ise pozitif olarak belirlendi.

3. N-Grams
Yapılan yorumlardan daha iyi sonuç elde etmek için , n-gram bize tekrar eden kelimeleri göstermektedir.Bu sayede bir oran yakalayabiriz.Bu orana bağlı olarak aranan kelime ile eldeki veri arasındkai benzerlik sayısı çıkartılabilir.Aşağıda yorumların duygu durumuna göre 2’li bigramları yapılmıştır.

- Positive bigramlarına bakılınca ,ürünün zamanında ulaşması,ürünün güzelliği, ürünün kalitesi ile ilgili kelimeler gösterilmiştir.
- Neutral bigramlarına bakılınca , ürünün gelmesi,ürünün ulaşması ,enerji sınıfı ile ilgili kelimeler gösterilmiştir.
- Negative bigramlarına bakılınca, kargo şirketi ,ürün teslimi,, servisin gelmesi ile ilgili kelimeler gösterilmiştir.
4. Text Pre-Processing
Text Pre-Processing işlemi yapılmadan önceki hali ve sonraki aşağıdaki resimde gösterilmiştir.

Text Pre-Processing aşamasında:
- Yorumlardan noktalama isaretleri kaldırıldı
- Tüm karakterleri küçük harflare dönüştürüldü
- Yorumlardaki rakamlar kaldırıldı
- Yorumlardaki satır boşlukları kaldırıldı
- Veriler tokenize edildi.(Tokenization)
- Etkisiz kelimeler kaldırıldı .(Stopwords)
- Cümleyi öğelerine göre ayrıldı. (Parts of Speech Tagging)
- Lemmatized ile fiillerin köklerini bulduk. (Lemmatization)
Yukarıdaki işlemler yapıldıktan sonra,aşağıdaki sutun grafiğinde ise en çok kullanılan 20 kelimenin sıklığı gösterilmiştir.

Yorumlara yapılan işlemler yapıldıktan sonra aşağıdaki görselde en çok kullanılan 100 kelimeyi,kelimelerin kullanım sıklığına göre ayarlamıştır.

5. Topic Modelling
Topic Modelling genellikle bir dökümanın konusunun ne hakkında olduğuyla ilgili fikir verir.Birlikte ortaya çıkan kelimelerin kümeleri ile benzer yapıda bir etiket oluşturmaktır.
LDA’ya göre modellemede CountVectorizer metodu kullanılmıştır. Bu metodda fit_transform() işlemi yapılıp modelleme ortaya çıkmıştır.

NMF’e göre modellemede TfidfVectorizer metodu kullanılmıştır. Bu metodda ise fit_transform() işlemi yapılarak modelleme ortaya çıkmıştır.

Aşağıda görsellerde ise topic modellerine göre sütün grafiğinin dağılımları gösterilmiştir.


6. Data Modelling
Aşağıda görselde , Logistic Regression, Naive Bayes ve KNN algoritmalarının Confusion Matrixleri yapılmıştır. Algoritmalar için hem TFIDF hemde Countvectorizer göre algoritmalar hesaplanmıştır. Negatif ,nötr ve pozitif yorumlar imbalanced data olduğu için accuracy değerleri biraz yüksek çıkmıştır.

7. Öneri Sistemi (Recommendation System)
Recommandation System tarafında ise müşteri yorumlarını kullanarak bir öneri sistemi oluşturulmuştur.Bunun için ise TFIDF ve Cosine Similarity Matrix metodları kullanılmıştır.
Aşağıdaki görselde yoruma göre tavsiye temelde ürün adını baz alarak o ürüne göre benzer ürünler tavsiye ediyor.

Bu makaleninde sonun geldik. Makale hakkında daha detaylı bilgi edinmek için için bana LinkedIn hesabımdan ulaşabilirsininiz.Hatırlatmak olarak projenin Github Reposuna buradan ziyaret edebilirsiniz.Zaman ayırıp okuduğunuz için teşekkür ediyorum,umarım faydalı olmuştur.