Полярность с лексиконом 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 %>%
___(___)