Ölçeklenmiş Karşılaştırma Bulutu
Kiralama yorumlarındaki kutupluluk puanlarındaki "not şişirmesini" hatırlıyor musun? Bazen içgörü yakalamanın bir başka yolu, puanları 0 etrafında ölçekleyip sonra derlemeyi alt kümelere ayırmaktır. Bu, ortalama 0'a ayarlandığı için daha önce pozitif olan bazı yorumların negatif alt bölüme geçebileceği ya da tam tersi olabileceği anlamına gelir. Bu egzersiz, puanları nasıl ölçekleyeceğini ve ardından comparison.cloud() grafiğini nasıl yeniden çizeceğini gösterecek. "Not şişirmesini" kaldırmak ek içgörüler sağlayabilir.
Daha önce polarity() fonksiyonunu bos_reviews$comments üzerinde uygulamış ve bir comparison.cloud() oluşturmuştun. Bu egzersizde, comparison.cloud() oluşturmadan önce sonucu scale() ile ölçekleyeceksin. Görselleştirmede farklı bir şey ortaya çıkıyor mu, bir bak!
Bu büyük ölçüde bir tekrar egzersizi olduğundan, kodun çoğu hazır; sadece doğru nesneleri ve parametreleri doldur!
Bu egzersiz
R ile Duygu Analizi
kursunun bir parçasıdırEgzersiz talimatları
[1:6,1:3]ile indeksleyerek, önceden yüklenmişbos_pol$all'ın bir bölümünü gözden geçir.- Kutupluluk puanı sütunu
bos_pol$all$polarityüzerinescale()uygulayarakscaled_polarityadlı yeni bir sütun ekle. - Pozitif yorumlar için, yeni sütunun
bos_reviews$scaled_polaritysıfırdan büyük (>) olduğu yerdesubset()uygula. - Negatif yorumlar için, yeni sütunun
bos_reviews$scaled_polaritysıfırdan küçük (<) olduğu yerdesubset()uygula. pos_commentsüzerindepaste()kullanarakpos_termsoluştur.- Şimdi
neg_commentsüzerindepaste()ileneg_termsoluştur. - Birleştirilmiş belgeleri,
pos_termsveneg_terms'iall_termsadlı tek bir derlemede topla. - Alışıldık
tmiş akışını izleyerek,VectorSource()fonksiyonunuVCorpus()içinde,all_terms'e uygulayarak iç içe yerleştir. TermDocumentMatrix()fonksiyonunuall_corpusnesnesiyle oluştur. Bunun temel temizlik işlevleriyle TfIdf ağırlıklı bir TDM olduğuna dikkat et.as.matrix()kullanarakall_tdm'iall_tdm_m'ye dönüştür. Ardından, mevcut koddaki sütun adlarını"positive"ve"negative"olarak yeniden adlandır.- Son olarak!
comparison.cloud()fonksiyonunuall_tdm_mmatris nesnesine uygula. Yeni en sık geçen negatif kelimelere dikkat et. Belki de daha önce fark etmediğin bir içgörü ortaya çıkar!
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Review
___
# Scale/center & append
bos_reviews$___ <- scale(___)
# Subset positive comments
pos_comments <- subset(bos_reviews$comments, ___)
# Subset negative comments
neg_comments <- subset(bos_reviews$comments, ___)
# Paste and collapse the positive comments
pos_terms <- paste(___, collapse = " ")
# Paste and collapse the negative comments
neg_terms <- paste(___, collapse = " ")
# Organize
all_terms<- c(___, ___)
# VCorpus
all_corpus <- ___(VectorSource(___))
# TDM
all_tdm <- TermDocumentMatrix(
___,
control = list(
weighting = weightTfIdf,
removePunctuation = TRUE,
stopwords = stopwords(kind = "en")
)
)
# Column names
___ <- as.matrix(___)
colnames(all_tdm_m) <- c("___", "___")
# Comparison cloud
comparison.cloud(
___,
max.words = 100,
colors = c("darkgreen", "darkred")
)