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

Đám mây so sánh sau khi chuẩn hóa

Bạn còn nhớ hiện tượng "lạm phát điểm" trong điểm polarity của các bài đánh giá chỗ thuê chứ? Đôi khi, một cách khác để tìm ra insight là đưa các điểm này về quanh 0 rồi mới tạo các tập con của corpus. Điều này có nghĩa là một số bình luận trước đây được xếp dương có thể chuyển sang nhóm âm hoặc ngược lại vì giá trị trung bình được đưa về 0. Bài tập này sẽ giúp bạn chuẩn hóa các điểm rồi vẽ lại comparison.cloud(). Loại bỏ "lạm phát điểm" có thể mang lại thêm góc nhìn mới.

Trước đây bạn đã dùng polarity() cho bos_reviews$comments và tạo một comparison.cloud(). Ở bài này bạn sẽ scale() kết quả trước khi tạo comparison.cloud(). Hãy xem biểu đồ có cho thấy điều gì khác không!

Vì đây chủ yếu là bài ôn tập, phần lớn mã đã có sẵn, bạn chỉ cần điền đúng đối tượng và tham số!

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

Hướng dẫn bài tập

  • Xem lại một phần bos_pol$all đã nạp sẵn bằng cách lập chỉ mục [1:6,1:3].
  • Thêm cột mới tên scaled_polarity với scale() áp dụng lên cột điểm polarity bos_pol$all$polarity.
  • Với bình luận tích cực, dùng subset() khi cột mới bos_reviews$scaled_polarity lớn hơn (>) 0.
  • Với bình luận tiêu cực, dùng subset() khi cột mới bos_reviews$scaled_polarity nhỏ hơn (<) 0.
  • Tạo pos_terms bằng paste trên pos_comments.
  • Tiếp theo tạo neg_terms với paste() trên neg_comments.
  • Gom các tài liệu đã ghép, pos_termsneg_terms, vào một corpus duy nhất gọi là all_terms.
  • Theo quy trình tm thường dùng bằng cách lồng VectorSource() trong VCorpus() áp dụng cho all_terms.
  • Tạo TermDocumentMatrix() bằng đối tượng all_corpus. Lưu ý đây là TDM có trọng số TfIdf với các hàm làm sạch cơ bản.
  • Chuyển all_tdm thành all_tdm_m bằng as.matrix(). Sau đó đổi tên các cột trong đoạn mã hiện có thành "positive""negative".
  • Cuối cùng! áp dụng comparison.cloud() cho đối tượng ma trận all_tdm_m. Hãy chú ý các từ tiêu cực xuất hiện nhiều nhất mới. Biết đâu bạn sẽ phát hiện thêm insight chưa từng thấy!

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
___

# Scale/center & append
bos_reviews$___ <- scale(___)

# Subset positive comments
pos_comments <- subset(bos_reviews$comments, ___)

# Subset negative comments
neg_comments <- subset(bos_reviews$comments, ___)

# Paste and collapse the positive comments
pos_terms <- paste(___, collapse = " ")

# Paste and collapse the negative comments
neg_terms <- paste(___, collapse = " ")

# Organize
all_terms<- c(___, ___)

# VCorpus
all_corpus <- ___(VectorSource(___))

# TDM
all_tdm <- TermDocumentMatrix(
  ___, 
  control = list(
    weighting = weightTfIdf, 
    removePunctuation = TRUE, 
    stopwords = stopwords(kind = "en")
  )
)

# Column names
___ <- as.matrix(___)
colnames(all_tdm_m) <- c("___", "___")

# Comparison cloud
comparison.cloud(
  ___, 
  max.words = 100,
  colors = c("darkgreen", "darkred")
)
Chỉnh sửa và Chạy Mã