Веселі пісні!
Звісно, лише позитивних і негативних слів недостатньо. У цій вправі ви дізнаєтеся про валентні зсуви, які вказують на емоційний намір автора. Раніше ви застосовували polarity() до тексту без валентних зсувів. У цьому прикладі ви побачите в дії слова‑підсилювачі та заперечення.
Пам'ятайте: підсилювальне слово додає 0,8 до позитивного слова в polarity(), тож позитивний бал стає 1,8. Для негативних слів 0,8 віднімається, тому підсумок дорівнює -1,8. Потім цей бал ділиться на квадратний корінь із загальної кількості слів.
Розгляньмо приклад із Френка Сінатри:
- "It was a very good year"
"Good" дорівнює 1, а "very" додає ще 0,8. Отже, 1,8/sqrt(6) дає полярність 0,73.
Заперечне слово, таке як "not", інвертує суб'єктивний бал. Розгляньмо приклад із Боббі Макферріна:
- "Don't worry Be Happy"
"worry" тепер дорівнює 1 завдяки запереченню "don't". Додаємо "happy", +1, отримуємо 2. За 4 слова загалом 2 / sqrt(4) дорівнює полярності 1.
Ця вправа є частиною курсу
Аналіз тональності в R
Інструкції до вправи
- Ознайомтеся з датафреймом розмови
conversation. Зверніть увагу на валентні зсуви на кшталт "never" у стовпці text. - Застосуйте
polarity()до стовпцяtextдатафреймаconversation, щоб обчислити полярність для всієї розмови. - Обчисліть бали полярності за студентами та збережіть результат у змінній
student_pol.- Викличте
polarity()ще раз, цього разу передайте два стовпціconversation. - Текстова змінна — це
text, а змінна групування —student.
- Викличте
- Щоб побачити результати на рівні студента, застосуйте
scores()доstudent_pol. - Функція
counts(), застосована доstudent_pol, надрукує полярність на рівні речень для всього датафрейма разом із виявленими словами лексикону. - Об'єкт полярності
student_polможна візуалізувати за допомогоюplot().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Examine conversation
___
# Polarity - All
___
# Polarity - Grouped
student_pol <- conversation %$%
___(___, ___)
# Student results
___
# Sentence by sentence
___
# qdap plot
___