AFINN: Ben senin Huckleberry’nim
Şimdi AFINN sözlüğüne geçiyoruz. AFINN sözlüğü yalnızca pozitif ya da negatif değil, 5 ile -5 arasında sayısal değerler içerir. Bing sözlüğündeki sentiment sütununun aksine, AFINN sözlüğünde duygu puanı sütununun adı value’dır.
Daha önce olduğu gibi, önce inner_join() sonra count() uygularsın. Sonra, her satırın puanlarını toplamak için dplyr’ın group_by() ve summarize() fonksiyonlarını kullanırız. group_by() var olan bir veri çerçevesini alır ve işlemlerin “grup bazında” yapıldığı, gruplanmış bir veri çerçevesine dönüştürür. Ardından summarize() fonksiyonu, sum() veya mean() gibi veriyi toplayan bir fonksiyonla veri çerçevendeki her grup için bir değer hesaplamanı sağlar. Yani bizim örneğimizde şöyle bir şey yapabiliriz:
data_frame %>%
group_by(book_line) %>%
summarize(total_value = sum(book_line))
Tidy hale getirilmiş Huckleberry Finn’de 9703. satırda “best”, “ever”, “fun”, “life” ve “spirit” kelimeleri var. “best” ve “fun”ın AFINN puanları sırasıyla 3 ve 4’tür. Topladıktan sonra 9703. satırın toplam puanı 7 olacaktır.
Tidyverse’te, filter() subset()’e tercih edilir; çünkü subset()’in işlevselliğini daha basit bir sözdizimiyle birleştirir. İşte data_frame üzerinde, column1 içindeki bir değerin 24’e eşit olduğu durumları filter()layan bir örnek. Dikkat: sütun adı tırnak içinde değildir.
filter(data_frame, column1 == 24)
afinn nesnesi AFINN sözlüğünü içerir. huck nesnesi ise Mark Twain’in Huckleberry Finn’in Maceraları eserinin analiz için tidy bir sürümüdür.
- satır şudur: All the loafers looked glad; I reckoned they was used to having fun out of Boggs. Durak kelimeler (stopwords) ve noktalama işaretleri veri setinden zaten kaldırılmıştır.
Bu egzersiz
R ile Duygu Analizi
kursunun bir parçasıdırUygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# See abbreviated line 5400
huck %>% filter(line == 5400)
# What are the scores of the sentiment words?
afinn %>% filter(word %in% c("fun", "glad"))
huck_afinn <- huck %>%
# Inner Join to AFINN lexicon
inner_join(___, by = c("___" = "___")) %>%
# Count by value and line
___(___, ___)