Saya baru dalam analisis sentimen. Contoh Quanteda menunjukkan cara menampilkan jumlah kata positif dan negatif. Saya menguji beberapa dokumen. Ini output di bawah ini:

Kasus 1

document    negative    positive
file1   28  28
file2   98  71
file3   28  22
file4   37  39
file5   7   36

Atau dibawah

Kasus 2

document    negative    positive    neg_positive    neg_negative
file1   28  28  0   1
file2   98  71  0   0
file3   28  22  1   0
file4   37  39  0   1
file5   7   36  0   1

Bisakah Anda memberi tahu saya cara mendapatkan skor untuk file1 .. file5 dalam kedua kasus? Apakah itu

(#positif - #negatif) / #semua dalam kasus 1 file2, (71-98)/(71+98)=-27/169= - 0,15 ?

Bagaimana dengan kasus 2?

Terima kasih banyak.

SEBUAH

1
Dylan 16 Desember 2019, 19:27

1 menjawab

Jawaban Terbaik

Jika Anda menganggap neg_positive sebagai negative, dan neg_negative sebagai positif, maka Anda dapat membuat indeks dengan menggabungkan pasangan kolom. Ini masuk akal karena "neg positif" misalnya berisi urutan seperti "tidak baik".

(rowSums(object[, c("negative", "neg_positive")]) -
    rowSums(object[, c("positive", "neg_negative")])) / rowSums(object) * 100

Ukuran lain (lebih baik) adalah skala logit yang dijelaskan dalam 2011. William Lowe, Kenneth Benoit, Slava Mikhaylov, dan Michael Laver. "Menskalakan Preferensi Kebijakan Dari Teks Politik Berkode." Studi Legislatif Triwulanan 26(1, Feb): 123-155. Ini adalah log (positif/negatif) atau

log( rowSums(object[, c("positive", "neg_negative")]) /
     rowSums(object[, c("negative", "neg_positive")]) )
1
Ken Benoit 18 Desember 2019, 10:33