Tạo một Tidy Text Tibble!
Vì bạn đã học về các nguyên tắc tidy, đoạn mã này sẽ giúp bạn tổ chức dữ liệu thành một tibble để có thể làm việc trong tidyverse!
Trước đó bạn đã học rằng áp dụng tidy() lên một đối tượng TermDocumentMatrix() sẽ chuyển TDM thành tibble. Trong bài này, bạn sẽ tạo dữ liệu từ trực tiếp từ cột đánh giá comments.
Đầu tiên, bạn dùng unnest_tokens() để chuyển văn bản về chữ thường và tách các đánh giá thành từng từ đơn.
Đôi khi việc lưu lại thứ tự từ gốc trong mỗi nhóm của corpus là hữu ích. Để làm vậy, hãy dùng mutate(). Trong mutate(), bạn sẽ dùng seq_along() để tạo một dãy số từ 1 đến độ dài của đối tượng. Cách này sẽ ghi lại đúng thứ tự từ như khi được viết.
Trong gói tm, bạn sẽ dùng removeWords() để loại bỏ stopwords. Còn trong tidyverse, trước hết bạn cần nạp bộ từ dừng (stop words) rồi áp dụng anti_join() giữa khung dữ liệu tidy text và bộ stopwords.
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
- Tạo
tidy_reviewsbằng cách pipe (%>%) đối tượng đánh giá gốcbos_reviewsvào hàmunnest_tokens(). Truyền tên cột mớiwordvà khai báo cộtcomments. Nhớ rằng trong tidyverse bạn không cần dùng$hay dấu ngoặc kép. - Tạo một biến mới theo cách tidy! Ghi đè
tidy_reviewsbằng cách pipetidy_reviewsvàogroup_byvới cộtid. Sau đó%>%tiếp vàomutate(). Bên trong mutate, tạo biến mớioriginal_word_orderbằngseq_along(word). - In ra tibble
tidy_reviews. - Nạp sẵn bộ stopwords "SMART" vào phiên R của bạn với
data("stop_words"). - Ghi đè
tidy_reviewsbằng cách truyềntidy_reviewsgốc vàoanti_join()với%>%. Bên tronganti_join(), truyền vào bộ từ điểnstop_wordsđã được cung cấp trướ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.
# Vector to tibble
tidy_reviews <- bos_reviews %>%
___(___, ___)
# Group by and mutate
tidy_reviews <- tidy_reviews %>%
___(___) %>%
___(original_word_order = ___(___))
# Quick review
___
# Load stopwords
___
# Perform anti-join
tidy_reviews_without_stopwords <- tidy_reviews %>%
___(___)