BaşlayınÜcretsiz Başlayın

Ö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ır
Kursu Görüntüle

Egzersiz 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 üzerine scale() uygulayarak scaled_polarity adlı yeni bir sütun ekle.
  • Pozitif yorumlar için, yeni sütunun bos_reviews$scaled_polarity sıfırdan büyük (>) olduğu yerde subset() uygula.
  • Negatif yorumlar için, yeni sütunun bos_reviews$scaled_polarity sıfırdan küçük (<) olduğu yerde subset() uygula.
  • pos_comments üzerinde paste() kullanarak pos_terms oluştur.
  • Şimdi neg_comments üzerinde paste() ile neg_terms oluştur.
  • Birleştirilmiş belgeleri, pos_terms ve neg_terms'i all_terms adlı tek bir derlemede topla.
  • Alışıldık tm iş akışını izleyerek, VectorSource() fonksiyonunu VCorpus() içinde, all_terms'e uygulayarak iç içe yerleştir.
  • TermDocumentMatrix() fonksiyonunu all_corpus nesnesiyle oluştur. Bunun temel temizlik işlevleriyle TfIdf ağırlıklı bir TDM olduğuna dikkat et.
  • as.matrix() kullanarak all_tdm'i all_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() fonksiyonunu all_tdm_m matris 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")
)
Kodu Düzenle ve Çalıştır