Охайна полярність за Bing: простий приклад
Тепер, коли ви розумієте основи inner join, застосуймо це до лексикона «Bing». Пам'ятайте, що функція inner_join() походить з dplyr, а об'єкт лексикона отримують за допомогою функції get_sentiments() з пакета tidytext.
Лексикон Bing позначає слова як позитивні або негативні. У наступних трьох вправах ви попрацюєте саме з цим лексиконом. Щоб скористатися get_sentiments(), передайте рядок на кшталт "afinn", "bing", "nrc" або "loughran", щоб завантажити відповідний лексикон.
Послідовність дій для inner join:
- Отримайте потрібний лексикон за допомогою
get_sentiments(). - Передайте лексикон і охайні текстові дані до
inner_join(). - Щоб
inner_join()спрацював, має бути спільна назва стовпця. Якщо спільних назв немає, оголосіть їх додатковим параметромby, який дорівнюєcзі назвами стовпців, як нижче.
object <- x %>%
inner_join(y, by = c("column_from_x" = "column_from_y"))
- Виконайте певну агрегацію та аналіз на перетині таблиць.
Ця вправа є частиною курсу
Аналіз тональності в R
Інструкції до вправи
Ми завантажили ag_txt, що містить перші 100 рядків з Agamemnon, і ag_tidy — його охайну версію.
- Для порівняння скористайтеся
polarity()наag_txt. - Отримайте лексикон
"bing", передавши цей рядок доget_sentiments(). - Виконайте
inner_join()міжag_tidyтаbing.- Стовпці зі словами називаються
"term"уag_tidyта"word"у лексиконі, тож оголосіть аргументby. - Назвіть новий об'єкт
ag_bing_words.
- Стовпці зі словами називаються
- Виведіть
ag_bing_wordsі перегляньте деякі слова, що потрапили до результату. - Передайте
ag_bing_wordsдоcount()за змінноюsentiment, використовуючи оператор конвеєра %>%. Порівняйте оцінкуpolarity()із співвідношенням підрахунків за sentiment.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Qdap polarity
___
# Get Bing lexicon
bing <- get_sentiments("___")
# Join text to lexicon
ag_bing_words <- ___(___, ___, by = c("___" = "___"))
# Examine
ag_bing_words
# Get counts by sentiment
ag_bing_words %>%
___(___)