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

Duygusal içgözlem

Bu egzersizde pozitif ve negatif dili alt kümelere ayırmanın ötesine geçeceksin. Bunun yerine, bir görselleştirme oluşturmak için metni Plutchik'in duygu çarkındaki 8 duygunun her birine göre alt kümelere ayıracaksın. Bu yaklaşımla, yalnızca pozitif ya da negatif yerine belirli bir duyguya eşleyerek kelime kullanımında daha fazla netlik elde edeceksin.

tidytext öznelik sözlüğü olan "nrc"yi kullanarak metninle bir inner_join() yapacaksın. "nrc" sözlüğünde 8 duyguya ek olarak pozitif ve negatif terim sınıfları da var. Bu yüzden inner_join() sonrasında pozitif ve negatif kelimeleri çıkarman gerekecek. Bunu yapmanın bir yolu, ! olumsuzu ve grepl() kullanmaktır.

"Global Regular Expression Print Logical" fonksiyonu olan grepl(), her satırda bir dize deseni tespit edilirse True ya da False döndürür. Bu egzersizde | operatörünü kullanarak pozitif VEYA negatif için arama yapacaksın; aşağıda gösterildiği gibi "veya" anlamına gelir. Genellikle bu düz çizgi klavyede Enter tuşunun üzerindedir. grepl() öncesinde ! olumsuzu olduğundan, T ya da F tersine döner ve böylece "positive|negative" korunmak yerine atılır.

Object <- tibble %>%
  filter(!grepl("positive|negative", column_name))

Sonraki adımda veriyi düzenlemek için belirlenen kelimelerde count() ve ardından pivot_wider() uygularsın.

comparison.cloud() girdisinin satır adlarına sahip olmasını ister, bu yüzden onu base-R data.frame'ine dönüştürmen ve row.names argümanıyla data.frame() çağırman gerekecek.

Bu egzersiz

R ile Duygu Analizi

kursunun bir parçasıdır
Kursu Görüntüle

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

moby_tidy <- moby %>%
  # Inner join to nrc lexicon
  ___(___, by = c("term" = "word")) %>% 
  # Drop positive or negative
  ___(!___("___", sentiment)) %>% 
  # Count by sentiment and term
  ___(___, ___) %>% 
  # Pivot sentiment, using n for values
  ___(names_from = ___, values_from = ___, values_fill = ___) %>%
  # Convert to data.frame, making term the row names
  data.frame(row.names = "___")

# Examine
head(moby_tidy)
Kodu Düzenle ve Çalıştır