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

Tự soi chiếu cảm xúc

Trong bài tập này, bạn sẽ đi xa hơn việc chỉ lọc theo ngôn ngữ tích cực và tiêu cực. Thay vào đó, bạn sẽ lọc văn bản theo từng cảm xúc trong 8 cảm xúc của bánh xe cảm xúc Plutchik để tạo một hình trực quan. Cách làm này giúp bạn rõ ràng hơn về cách dùng từ bằng cách ánh xạ sang một cảm xúc cụ thể thay vì chỉ tích cực hoặc tiêu cực.

Sử dụng từ điển chủ quan của tidytext, "nrc", bạn sẽ thực hiện inner_join() với văn bản của mình. Từ điển "nrc" có 8 cảm xúc cộng thêm hai lớp thuật ngữ tích cực và tiêu cực. Vì vậy sau khi inner_join(), bạn cần loại bỏ các từ tích cực và tiêu cực. Một cách là dùng toán tử phủ định ! cùng với grepl().

Hàm "Global Regular Expression Print Logical" grepl() sẽ trả về True hoặc False nếu mẫu chuỗi được tìm thấy ở mỗi hàng. Trong bài này, bạn sẽ tìm "positive" HOẶC "negative" bằng toán tử |, biểu diễn "hoặc" như minh họa dưới đây. Thường ký tự gạch dọc này nằm phía trên phím Enter trên bàn phím. Vì có phủ định ! đứng trước grepl(), giá trị T hoặc F sẽ bị đảo, nên chuỗi "positive|negative" sẽ bị loại bỏ thay vì được giữ lại.

Object <- tibble %>%
  filter(!grepl("positive|negative", column_name))

Tiếp theo, bạn dùng count() trên các từ đã xác định và kết hợp với pivot_wider() để sắp xếp lại data frame.

comparison.cloud() yêu cầu đầu vào có tên hàng (row names), nên bạn sẽ cần chuyển về data.frame của base R, gọi data.frame() với đối số row.names.

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.

moby_tidy <- moby %>%
  # Inner join to nrc lexicon
  ___(___, by = c("term" = "word")) %>% 
  # Drop positive or negative
  ___(!___("___", sentiment)) %>% 
  # Count by sentiment and term
  ___(___, ___) %>% 
  # Pivot sentiment, using n for values
  ___(names_from = ___, values_from = ___, values_fill = ___) %>%
  # Convert to data.frame, making term the row names
  data.frame(row.names = "___")

# Examine
head(moby_tidy)
Chỉnh sửa và Chạy Mã