1. Învăţa
  2. /
  3. Courses
  4. /
  5. Phân tích cảm xúc trong R

Connected

exercise

Bạn có thể quan sát định luật Zipf ở đâu?

Mặc dù Zipf quan sát thấy tần suất dùng từ giảm mạnh và có thể dự đoán, bạn có thể vẫn chưa tin vào định luật Zipf. Bạn có thể nghĩ: "Tôi biết rất nhiều từ và có vốn từ vựng rất riêng". Điều đó có thể đúng với bạn, nhưng không đúng với đa số mọi người! Để chứng minh, hãy dựng một trực quan hóa từ 3 triệu tweet có nhắc đến "#sb". Lưu ý là biểu đồ này không tuân theo định luật Zipf một cách hoàn hảo: tất cả các tweet đều dùng cùng một hashtag nên dữ liệu hơi lệch. Dù vậy, biểu đồ bạn tạo sẽ cho thấy đường giảm rất dốc, phản ánh sự đa dạng từ vựng thấp trong hàng triệu tweet. Vì thế việc dùng từ điển cảm xúc cho phân tích ngôn ngữ tự nhiên có cơ sở khoa học!

Trong bài này, bạn sẽ dùng gói metricsgraphics. Dù tác giả gợi ý dùng toán tử pipe %>%, bạn sẽ xây dựng đồ họa theo từng bước để hiểu các thành phần của biểu đồ. Hàm chính của gói metricsgraphics là mjs_plot(), bước đầu để tạo một biểu đồ JavaScript. Từ đó, bạn có thể thêm các lớp khác lên trên biểu đồ.

Một quy trình mẫu với metricsgraphics không dùng toán tử %>% như sau:

metro_plot <- mjs_plot(data, x = x_axis_name, y = y_axis_name, show_rollover_text = FALSE)
metro_plot <- mjs_line(metro_plot)
metro_plot <- mjs_add_line(metro_plot, line_one_values)
metro_plot <- mjs_add_legend(metro_plot, legend = c('names', 'more_names'))
metro_plot

Instrucţiuni

100 XP
  • Dùng head() trên sb_words để xem các từ đứng đầu.
  • Tạo cột mới expectations bằng cách chia tần suất lớn nhất, freq[1], cho cột rank.
  • Khởi tạo sb_plot bằng mjs_plot().
    • Truyền vào sb_words với x = rank và y = freq.
    • Bên trong mjs_plot() đặt show_rollover_text là FALSE.
  • Ghi đè sb_plot bằng mjs_line() và truyền vào sb_plot.
  • Bổ sung vào sb_plot với mjs_add_line().
    • Truyền vào đối tượng sb_plot trước đó và vector expectations.
  • Thêm chú giải vào một đối tượng sb_plot mới bằng mjs_add_legend().
    • Truyền vào đối tượng sb_plot trước đó
    • Nhãn chú giải gồm "Frequency" và "Expectation".
  • Gọi sb_plot để hiển thị biểu đồ. Di chuột lên một điểm để đồng thời làm nổi bật một điểm freq và Expectation. Sức mạnh của JavaScript!