Stressed Out!
Di sini Anda akan menyesuaikan kata-kata negatif agar sesuai dengan teks tertentu. Lalu Anda akan membandingkan skor polarity() dasar dan kustom.
Sebuah lagu populer dari Twenty One Pilots berjudul "Stressed Out". Jika Anda menelusuri liriknya, Anda akan melihat lagu ini tentang nostalgia masa muda. Secara keseluruhan, kebanyakan orang akan mengatakan polaritasnya negatif. Liriknya berulang kali menyebut stres, ketakutan, dan berpura-pura.
Mari bandingkan lirik lagu tersebut menggunakan leksikon subjektivitas bawaan dan juga leksikon kustom.
Untuk mulai, Anda perlu memastikan bahwa leksikon subjektivitas key.pol belum memiliki istilah yang ingin Anda tambahkan. Salah satu cara memeriksa adalah dengan grep(). Fungsi grep() mengembalikan baris yang berisi karakter yang cocok dengan pola pencarian. Berikut contoh saat melakukan pengindeksan.
data_frame[grep("search_pattern", data_frame$column), ]
Setelah Anda memastikan bahwa slang atau kata baru belum ada di leksikon key.pol, Anda perlu menambahkannya. Kode di bawah ini menggunakan sentiment_frame() untuk menyusun leksikon baru. Dalam kode tersebut, sentiment_frame() menerima vektor kata positif asli, yaitu positive.words. Selanjutnya, negative.words asli digabungkan dengan "smh" dan "kappa", keduanya dianggap slang negatif. Meskipun Anda dapat menentukan bobot positif dan negatif, nilai bakunya adalah 1 dan -1 sehingga tidak disertakan di bawah ini.
custom_pol <- sentiment_frame(positive.words, c(negative.words, "hate", "pain"))
Sekarang Anda siap menerapkan polarity dan fungsi tersebut akan merujuk ke leksikon subjektivitas kustom!
Latihan ini adalah bagian dari kursus
Analisis Sentimen di R
Petunjuk latihan
Kami telah menyiapkan stressed_out yang berisi lirik lagu "Stressed Out" oleh Twenty One Pilots.
- Gunakan
polarity()padastressed_outuntuk melihat skor bawaan. - Periksa
key.poluntuk kata apa pun yang memuat "stress". Gunakangrep()untuk mengindeks data frame dengan mencari pada kolomx. - Buat
custom_polsebagai data frame sentimen baru.- Panggil
sentiment_frame()dan teruskanpositive.wordssebagai argumen pertama tanpa menggabungkan istilah baru apa pun. - Selanjutnya, gunakan
c()untuk mengombinasikannegative.wordsdengan istilah baru "stressed" dan "turn back".
- Panggil
- Terapkan kembali
polarity()padastressed_outdengan parameter tambahanpolarity.frame = custom_poluntuk membandingkan bagaimana kata-kata baru mengubah skor menjadi representasi yang lebih akurat dari lagu tersebut.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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 = ___)