Stressed Out!
Burada, metne özgü durumu hesaba katmak için negatif kelimeleri ayarlayacaksın. Sonra temel ve özel polarity() puanlarını karşılaştıracaksın.
Twenty One Pilots'ın popüler bir şarkısının adı "Stressed Out". Şarkı sözlerine hızlıca bakarsan, konunun gençlik özlemi olduğunu görürsün. Genel olarak çoğu kişi duygunun negatif olduğunu söyler. Sözlerde stres, korkular ve rol yapmaktan sıkça bahsediliyor.
Hadi şarkı sözlerini varsayılan öznellik sözlüğüyle ve ayrıca özel bir sözlükle karşılaştıralım.
Başlamak için, eklemek istediğin terimin key.pol öznellik sözlüğünde zaten olmadığını doğrulaman gerekir. Bunu kontrol etmenin bir yolu grep() kullanmaktır. grep() fonksiyonu, bir arama desenini eşleyen karakterleri içeren satırları döndürür. İşte indeksleme yapılırken kullanılan bir örnek.
data_frame[grep("search_pattern", data_frame$column), ]
Argo ya da yeni kelimenin key.pol sözlüğünde zaten bulunmadığını doğruladıktan sonra onu eklemen gerekir. Aşağıdaki kod, yeni sözlüğü oluşturmak için sentiment_frame() kullanır. Kodda sentiment_frame() özgün pozitif kelime vektörünü, yani positive.words öğesini kabul eder. Ardından özgün negative.words "smh" ve "kappa" ile birleştirilir; bunların ikisi de negatif argo kabul edilir. Pozitif ve negatif ağırlıkları tanımlayabilsen de varsayılanlar 1 ve -1'dir, bu yüzden aşağıda dahil edilmemiştir.
custom_pol <- sentiment_frame(positive.words, c(negative.words, "hate", "pain"))
Artık polarity uygulamaya hazırsın ve işlem özel öznellik sözlüğüne bakacak!
Bu egzersiz
R ile Duygu Analizi
kursunun bir parçasıdırEgzersiz talimatları
Senin için Twenty One Pilots'ın "Stressed Out" şarkısının sözlerini içeren stressed_out oluşturduk.
- Varsayılan puanı görmek için
stressed_outüzerindepolarity()kullan. - "stress" içeren herhangi bir kelime için
key.pol'ü kontrol et.xsütununda arama yaparak veri çerçevesini indekslemek içingrep()kullan. - Yeni bir duygu veri çerçevesi olarak
custom_pololuştur.sentiment_frame()'i çağır ve ilk argüman olarak herhangi bir yeni terim eklemedenpositive.words'ü geçir.- Sonra,
c()kullanaraknegative.words'ü yeni terimler olan "stressed" ve "turn back" ile birleştir.
- Yeni kelimelerin puanı şarkıyı daha doğru yansıtacak şekilde nasıl değiştirdiğini karşılaştırmak için
polarity()'yistressed_outüzerinde yeniden uygula ve ek parametre olarakpolarity.frame = custom_polver.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# stressed_out has been pre-defined
head(stressed_out)
# Basic lexicon score
___(___)
# Check the subjectivity lexicon
___[___("stress", x)]
# New lexicon
custom_pol <- ___(___, c(negative.words, "___", "___"))
# Compare new score
___(___, polarity.frame = ___)