Bắt đầu ngayBắt đầu miễn phí

AFINN: Tôi là người bạn đồng hành của bạn

Giờ chúng ta chuyển sang từ điển cảm xúc AFINN. Từ điển AFINN chấm điểm số từ 5 đến -5, không chỉ đơn thuần là tích cực hay tiêu cực. Khác với cột sentiment của từ điển Bing, cột điểm cảm xúc trong AFINN được gọi là value.

Như trước, bạn áp dụng inner_join() rồi đến count(). Tiếp theo, để cộng các điểm của từng dòng, ta dùng group_by()summarize() của dplyr. Hàm group_by() nhận một data frame hiện có và biến nó thành data frame được nhóm, nơi các phép toán được thực hiện “theo nhóm”. Sau đó, summarize() cho phép bạn tính một giá trị cho mỗi nhóm trong data frame bằng một hàm tổng hợp như sum() hoặc mean(). Vậy nên trong trường hợp này ta có thể làm như sau

data_frame %>% 
    group_by(book_line) %>% 
    summarize(total_value = sum(book_line))

Trong phiên bản tidy của Huckleberry Finn, dòng 9703 có các từ "best", "ever", "fun", "life" và "spirit". "best" và "fun" có điểm AFINN lần lượt là 3 và 4. Sau khi tổng hợp, dòng 9703 sẽ có tổng điểm là 7.

Trong tidyverse, filter() được ưu tiên hơn subset() vì nó kết hợp chức năng của subset() với cú pháp đơn giản hơn. Đây là ví dụ filter() trên data_frame nơi một giá trị trong column1 bằng 24. Lưu ý tên cột không đặt trong dấu ngoặc kép.

filter(data_frame, column1 == 24)

Đối tượng afinn chứa từ điển AFINN. Đối tượng huck là phiên bản tidy của tác phẩm Adventures of Huckleberry Finn của Mark Twain để phân tích.

Dòng 5400 là All the loafers looked glad; I reckoned they was used to having fun out of Boggs. Stopword và dấu câu đã được loại bỏ sẵn trong bộ dữ liệu.

Bài tập này là một phần của khóa học

Phân tích cảm xúc trong R

Xem khóa học

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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
  ___(___, ___)
Chỉnh sửa và Chạy Mã