1. Learn
  2. /
  3. Курси
  4. /
  5. Аналіз тональності в R

Connected

Вправа

AFINN: I'm your Huckleberry

Тепер переходимо до лексикону AFINN. У лексиконі AFINN значення числові: від 5 до -5, а не просто «позитивне» чи «негативне». На відміну від стовпця sentiment у лексиконі Bing, у лексиконі AFINN стовпець з оцінкою настрою називається value.

Як і раніше, ви застосуєте inner_join(), а потім count(). Далі, щоб підсумувати бали для кожного рядка, використаємо функції dplyr group_by() та summarize(). Функція group_by() бере наявний датафрейм і перетворює його на згрупований, де операції виконуються «за групами». Потім summarize() дає змогу обчислити значення для кожної групи у вашому датафреймі за допомогою агрегувальної функції, наприклад sum() або mean(). Отже, у нашому випадку ми можемо зробити щось на кшталт

data_frame %>% 
    group_by(book_line) %>% 
    summarize(total_value = sum(book_line))

У tidy-версії твору «Гекльберрі Фінн» у рядку 9703 є слова "best", "ever", "fun", "life" і "spirit". "best" і "fun" мають оцінки AFINN 3 і 4 відповідно. Після агрегування рядок 9703 матиме загальний бал 7.

У tidyverse filter() надають перевагу перед subset(), адже він поєднує функціональність subset() із простішим синтаксисом. Ось приклад, який filter()-ить data_frame, де деяке значення в column1 дорівнює 24. Зверніть увагу: назва стовпця без лапок.

filter(data_frame, column1 == 24)

Об'єкт afinn містить лексикон AFINN. Об'єкт huck — це tidy-версія твору Марка Твена «Пригоди Гекльберрі Фінна» для аналізу.

Рядок 5400: «All the loafers looked glad; I reckoned they was used to having fun out of Boggs.» Стоп-слова та пунктуацію вже вилучено з набору даних.

Інструкції 1/3

undefined XP
    1
    2
    3
  • Запустіть код, щоб переглянути рядок 5400 і побачити оцінки настроїв для деяких слів.
  • Зробіть inner_join() huck із лексиконом afinn.
    • Пам'ятайте: huck уже передано в конвеєр, тож просто додайте лексикон.
    • Об'єднайте за стовпцем term у тексті та word у лексиконі.
  • Використайте count із value і line, щоб підрахувати спостереження за групами.
    • Присвойте результат до huck_afinn.