Создание аккуратного текстового тиббла!
Поскольку вы уже знакомы с принципами tidy data, этот код поможет вам организовать данные в тиббл и работать с ними в экосистеме tidyverse!
Ранее вы узнали, что применение tidy() к объекту TermDocumentMatrix() преобразует TDM в тиббл. В этом упражнении вы создадите данные о словах непосредственно из столбца отзывов comments.
Сначала используйте unnest_tokens(), чтобы привести текст к нижнему регистру и разбить отзывы на отдельные слова.
Иногда бывает полезно сохранить исходный порядок слов внутри каждой группы корпуса. Для этого используйте mutate(). Внутри mutate() применяйте seq_along(), чтобы создать последовательность чисел от 1 до длины объекта — это позволит зафиксировать порядок слов в том виде, в каком они были записаны.
В пакете tm для удаления стоп-слов используется removeWords(). В tidyverse нужно сначала загрузить лексикон стоп-слов, а затем применить anti_join() между аккуратным текстовым фреймом данных и стоп-словами.
Это упражнение является частью курса
Анализ тональности в R
Инструкции к упражнению
- Создайте
tidy_reviews, передав исходный объект отзывовbos_reviewsчерез оператор (%>%) в функциюunnest_tokens(). Укажите новое имя столбцаwordи объявите столбецcomments. Помните, что в tidyverse не нужны знак$или кавычки. - Создайте новую переменную в стиле tidy! Перезапишите
tidy_reviews, передавtidy_reviewsчерез%>%вgroup_byсо столбцомid. Затем снова передайте через%>%вmutate(). Внутриmutateсоздайте новую переменнуюoriginal_word_order, равнуюseq_along(word). - Выведите тиббл
tidy_reviewsна экран. - Загрузите готовый лексикон стоп-слов "SMART" в сессию R с помощью
data("stop_words"). - Перезапишите
tidy_reviews, передав исходныйtidy_reviewsчерез%>%вanti_join(). Внутриanti_join()передайте готовый лексиконstop_words.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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 %>%
___(___)