1. 学ぶ
  2. /
  3. コース
  4. /
  5. Phân tích cảm xúc trong R

Connected

演習

Stressed Out!

Tại đây bạn sẽ điều chỉnh danh sách từ tiêu cực cho phù hợp với văn bản cụ thể. Sau đó, bạn sẽ so sánh điểm polarity() cơ bản và điểm tùy chỉnh.

Một bài hát nổi tiếng của Twenty One Pilots có tên là "Stressed Out". Nếu bạn lướt qua lời bài hát, sẽ thấy nội dung nói về nỗi hoài niệm tuổi trẻ. Nhìn chung, hầu hết mọi người sẽ cho rằng độ phân cực là tiêu cực. Lời bài hát lặp đi lặp lại về căng thẳng, nỗi sợ và sự giả vờ.

Hãy so sánh lời bài hát bằng cả từ điển chủ quan mặc định và một từ điển tùy chỉnh.

Trước tiên, bạn cần kiểm tra xem từ điển chủ quan key.pol đã có thuật ngữ bạn muốn thêm chưa. Một cách để kiểm tra là dùng grep(). Hàm grep() trả về các hàng chứa ký tự khớp với mẫu tìm kiếm. Đây là một ví dụ dùng khi đánh chỉ mục.

data_frame[grep("search_pattern", data_frame$column), ]

Sau khi xác minh tiếng lóng hoặc từ mới chưa có trong từ điển key.pol, bạn cần thêm nó vào. Đoạn mã dưới đây dùng sentiment_frame() để dựng từ điển mới. Trong đó, sentiment_frame() nhận vector từ tích cực gốc là positive.words. Tiếp theo, negative.words gốc được nối thêm "smh" và "kappa", đều được xem là tiếng lóng tiêu cực. Dù bạn có thể đặt trọng số tích cực và tiêu cực, mặc định là 1 và -1 nên không cần nêu trong ví dụ dưới đây.

custom_pol <- sentiment_frame(positive.words, c(negative.words, "hate", "pain"))

Bây giờ bạn đã sẵn sàng áp dụng polarity và nó sẽ tham chiếu đến từ điển chủ quan tùy chỉnh!

指示

100 XP

Chúng tôi đã tạo stressed_out chứa lời bài hát "Stressed Out" của Twenty One Pilots.

  • Dùng polarity() trên stressed_out để xem điểm mặc định.
  • Kiểm tra key.pol xem có từ nào chứa "stress" không. Dùng grep() để đánh chỉ mục data frame bằng cách tìm trong cột x.
  • Tạo custom_pol như một sentiment data frame mới.
    • Gọi sentiment_frame() và truyền positive.words làm đối số đầu tiên mà không nối thêm thuật ngữ mới nào.
    • Tiếp theo, dùng c() để kết hợp negative.words với các thuật ngữ mới "stressed" và "turn back".
  • Áp dụng lại polarity() cho stressed_out với tham số bổ sung polarity.frame = custom_pol để so sánh cách các từ mới làm thay đổi điểm số, phản ánh chính xác hơn nội dung bài hát.