So sánh & đối chiếu biểu đồ cột xếp chồng
Một cách khác để “xẻ” văn bản là xem tài liệu được tạo thành từ bao nhiêu từ tích cực hoặc tiêu cực. Ví dụ, một bài đánh giá nhà hàng có thể có vài điểm tích cực như "the food was good" nhưng sau đó lại thêm "the restaurant was dirty, the staff was rude and parking was awful." Vì vậy, bạn có thể muốn biết tài liệu dành bao nhiêu cho ngôn ngữ tích cực so với tiêu cực. Trong ví dụ này, tỷ lệ tiêu cực sẽ cao hơn tích cực.
Một phương pháp là count() số từ tích cực và tiêu cực rồi chia cho số lượng từ thể hiện tính chủ quan (subjectivity) được nhận diện. Trong ví dụ đánh giá nhà hàng, "good" được tính là 1 từ tích cực còn "dirty," "rude," và "awful" là 3 từ tiêu cực. Một phép tính đơn giản sẽ cho thấy bài đánh giá này là 25% tích cực và 75% tiêu cực vì có tổng cộng 4 từ liên quan đến tính chủ quan.
Bắt đầu bằng cách thực hiện inner_join() trên một data frame tidy hợp nhất chứa 4 cuốn sách: Agamemnon, Oz, Huck Finn và Moby Dick. Tương tự bài trước, bạn sẽ dùng filter() và grepl().
Để thực hiện count(), bạn phải nhóm dữ liệu theo sách rồi theo cảm xúc (sentiment). Ví dụ, tất cả các từ tích cực của Agamemnon phải được nhóm rồi đếm riêng để không lẫn với các sách khác. May mắn là bạn có thể truyền nhiều biến trực tiếp vào count().
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
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.
# Review tail of all_books
tail(all_books)
# Count by book & sentiment
books_sent_count <- all_books %>%
# Inner join to nrc lexicon
___(___, by = c("term" = "word")) %>%
# Keep only positive or negative
___(__("___", sentiment)) %>%
# Count by book and by sentiment
___(___, ___)
# Review entire object
books_sent_count