НачатьНачать бесплатно

Полярность с лексиконом Bing: простой пример

Теперь, когда вы разобрались с основами внутреннего соединения, применим этот подход к лексикону «Bing». Обратите внимание: функция inner_join() входит в пакет dplyr, а объект лексикона получается с помощью функции get_sentiments() из пакета tidytext.

Лексикон Bing размечает слова как положительные или отрицательные. В следующих трёх упражнениях вы поработаете именно с этим лексиконом. Чтобы воспользоваться get_sentiments(), передайте строку — например, "afinn", "bing", "nrc" или "loughran" — для загрузки нужного лексикона.

Рабочий процесс с внутренним соединением:

  • Получите нужный лексикон с помощью get_sentiments().
  • Передайте лексикон и данные в формате tidy в inner_join().
  • Для работы inner_join() необходим общий столбец. Если общих столбцов нет, укажите их явно с помощью параметра by, передав c с именами столбцов, как показано ниже.
object <- x %>% 
    inner_join(y, by = c("column_from_x" = "column_from_y"))
  • Выполните агрегацию и анализ полученного пересечения таблиц.

Это упражнение является частью курса

Анализ тональности в R

Посмотреть курс

Инструкции к упражнению

В среде уже загружены ag_txt с первыми 100 строками «Агамемнона» и ag_tidy — его версия в формате 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 с помощью оператора pipe %>%. Сравните оценку polarity() с соотношением количества тональных слов.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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 %>%
  ___(___)
Редактировать и запускать код