Bắt tay vào ngay! Trực quan hóa độ phân cực
Phân tích cảm xúc giúp bạn khai thác cảm nhận của tác giả về một chủ đề. Bài tập này sẽ cho bạn cảm nhận về những gì sắp tới!
Chúng tôi đã tạo text_df mô tả một cuộc trò chuyện với hai cột person và text.
Hãy dùng hàm polarity() của qdap để chấm điểm text_df. polarity() có thể nhận một đối tượng ký tự đơn lẻ hoặc một data frame kèm biến nhóm để tính điểm dương hoặc âm.
Trong ví dụ này, bạn sẽ dùng toán tử pipe dấu đô-la %$% của gói magrittr. Dấu đô-la chuyển tiếp data frame vào polarity() và bạn chỉ định tên cột văn bản hoặc cột văn bản kèm biến nhóm mà không có dấu ngoặc.
text_data_frame %$% polarity(text_column_name)
Để tạo một đối tượng với toán tử dấu đô-la:
polarity_object <- text_data_frame %$%
polarity(text_column_name, grouping_column_name)
Cụ thể hơn, để đưa ra đánh giá định lượng về cảm xúc của một đoạn văn bản, bạn cần gán cho nó một điểm số. Một cách đơn giản là dùng giá trị dương hoặc âm gắn với một câu, đoạn, hoặc một tập hợp tài liệu (corpus). Việc chỉ chấm điểm bằng giá trị dương/âm được gọi là "độ phân cực" (polarity). Một hàm hữu ích để trích xuất điểm độ phân cực là counts() áp dụng lên đối tượng polarity. Để xem nhanh bằng hình ảnh, hãy gọi plot() trên kết quả của polarity().
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
Hướng dẫn bài tập
- Khám phá data frame cuộc trò chuyện
text_df. - Dùng
%$%để truyềntext_dfvàopolarity()cùng với tên cộttextkhông có dấu ngoặc. Điều này sẽ in ra độ phân cực cho toàn bộ văn bản. - Tạo một đối tượng mới
datacamp_conversationbằng cách chuyển tiếptext_dfvới%$%vàopolarity(). Truyềntext, tiếp theo là cột nhómperson. Cách này sẽ tính độ phân cực theo từng cá nhân. Vì tất cả nằm trong dấu ngoặc đơn nên kết quả cũng sẽ được in ra. - Áp dụng
counts()chodatacamp_conversationđể in ra các từ cảm xúc cụ thể đã được tìm thấy. plot()đối tượngdatacamp_conversation.
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.
# Examine the text data
text_df
# Calc overall polarity score
text_df %$% polarity(___)
# Calc polarity score by person
(datacamp_conversation <- text_df %$% ___(___, ___))
# Counts table from datacamp_conversation
___(___)
# Plot the conversation polarity
___(___)