Wordcloud с анализом настроений | Кодементор

До всеобщих выборов 2019 года в Испании осталось несколько дней. Четыре кандидата, участвующие в теледебатах. СМИ говорят об опросах и неопределившихся избирателях. Партии вкладывают большие деньги в рекламу в Facebook. Политические лидеры участвуют в последних встречах и отправляют свои последние слова в Twitter.

Итак, это идеальный момент для анализа сообщений в Твиттере от основных лидеров. Каково было их послание в прошлом году? Что ж, этот пост посвящен анализу слов в Твиттере пяти самых важных политических лидеров Испании в 2019 году. Я покажу вам, как построить несколько облаков слов и классифицировать их слова в соответствии с положительными и отрицательными настроениями, используя R.

Я выбираю пять лидеров (в порядке прогнозируемого количества голосов согласно опросам 24.04.2019) и твиты за 12 месяцев, заканчивающихся 24 апреля 2019 года:

Педро Санчес (PSOE) (1 миллион подписчиков)
Пабло Касадо (PP) (238 тысяч подписчиков)
Альберт Ривера (Граждане) (1,1 млн подписчиков)
Пабло Иглесиас (United We Can) (2,2 миллиона подписчиков)
Сантьяго Абаскаль (VOX) (218 тысяч подписчиков)

Первое, что нужно сделать, это получить твиты от этих политиков. Итак, допустим, нам удалось получить твиты в csv-файле для каждого лидера за выбранный период (12 месяцев). Я опишу шаги для одного лидера. В остальном процесс аналогичен. Итак, для Пабло Касадо у нас есть файл под названием «PabloCasado.csv» со столбцом с именем text, который содержит содержимое каждого твита.

Tweets <- read_delim("PabloCasado.csv", delim=";")

Теперь я использую библиотеку tm для анализа текста, создаю корпус, обрабатываю контент и, наконец, генерирую матрицу терминов документа, упорядочиваю матрицу и присоединяю ее к фрейму данных, содержащему классификацию настроений. Таким образом, матч будет примерно таким:

ap_sentiments <- ap_td %>%
  inner_join(get_sentiments_spanish(), by = c(term = "word"))

С одной стороны у меня есть фрейм данных со строками, содержащими слова лидера и их частоту. С другой стороны, кадр данных, содержащий список положительных слов на испанском языке, таких как (abrazar, cantar, bailar), и еще один список отрицательных слов, таких как (llorar, golpear, sufrir). Таким образом, inner_join приведет к списку слов, опубликованных лидером, которые имеют положительную или отрицательную классификацию. И это основная идея нашего простого анализа настроений.

Поскольку эти твиты написаны на испанском языке, мне нужно было найти специальный лексикон на испанском для положительных/отрицательных слов, и я решил использовать этот:

Саралеги X., Сент-Винсент I. 2013. «Эльхуяр в ТАСС В материалах «XXIX Конгресса Испанского общества обработки естественного языка». Семинар по анализу настроений в SEPLN (TASS2013). Мадрид. стр. 100-1 143-150. ISBN: 978-84-695-8349-4

И сейчас самое время обработать новый фрейм данных, чтобы визуализировать результаты. Один из промежуточных показателей: сколько положительных слов написал этот кандидат в твиттере за этот период? сколько негатива? какой был баланс? положительный? кто самый позитивный лидер? и самое негативное? Давайте покажем таблицу с этим резюме:

ЛидерПозитивные словаОтрицательные словаОбщий
Педро Санчес391111532758
Пол женат605430243030
Альберт Ривера43001954 г.2346
церкви Павла244312711172
Сантьяго Абаскаль14251634-209

Факты: г-н Касадо — самый позитивный лидер твиттера, а также тот, кто пишет больше твитов (по крайней мере, сентиментальных слов). Второй позитивный лидер твиттера — г-н Санчес. Третий мистер Ривера. Кроме того, у г-на Иглесиаса треть отрицательных слов, а у г-на Абаскаля отрицательный лидер с большим количеством отрицательных слов, чем положительных.

Для построения облаков слов я использовал библиотеку wordcloud и добавил цвет в зависимости от классификации слов. Результат следующий:

Питер Санчес:
Санчес-Кастехон_wc_positive_withcolor.png

Замужем за Полом:
ПаблоКасадо_wc_negative_withcolor.png
Альберто Ривера:
АльбертРивера_wc_positive_withcolor.png
Пабло Иглесиас:
Пабло Иглесиас_wc_positive_withcolor.png
Сантьяго Абаскаль:
СантьягоАбаскаль_wc_positive_withcolor.png

Когда я впервые посмотрел на результаты, я подумал: Господи, почему они так часто используют слово «грация»? Пока я не обнаружил, что слово, которое используют все лидеры, — это «gracias», что означает «спасибо». Метод в tm был применен для поиска основы слова, поэтому игры и игра будут представлены только основой слова. По этой причине вместо «gracias» появляется «gracia».
Итак, важно отметить, что отрицательные облака кажутся больше, чем положительные облака, но это не имеет отношения к частоте между ними. Чтобы доказать это, давайте объединим отрицательные и положительные слова для одного лидера, просто чтобы убедиться, что в целом все лидеры твитят больше положительных слов. Например, для Пабло Касадо:

ПаблоКасадо_wc_all_bycolor.png

Таким образом, облака слов позволяют быстро визуализировать наиболее часто встречающиеся слова и, в нашем случае, подтвердить, соответствуют ли наиболее часто встречающиеся слова его лидера основным ценностям их партии. Те, кто знаком с испанским политическим сценарием, могут сделать некоторые выводы из облаков слов, например:

  1. Крайний справа (VOX)
  • Количество негативных слов Сантьяго Абаскаля, лидера новой ультраправой партии. «odio» ненависть и «miedo» страх как наиболее часто встречающиеся слова.
  1. Либеральные партии (PP, Citizens и VOX)
  • Позитивное слово «либертад» свобода с высокой частотностью для правых партий (г-н Касадо, г-н Абаскаль и г-н Ривера)
  1. Либеральные партии (PP, Citizens и VOX)
  • Отрицательное слово «импуэстос» налоги для либеральных партий (г-н Касадо и г-н Ривера), но не для г-на Абаскаля.
  1. Социалистическая партия (ИСРП)
  • Положительное слово «игуальдад», равенство и отрицательные слова «борьба» и «неравенство» в партии PSOE (г-н Санчес)
  1. Крайне левая партия (Мы можем вместе)
  • Положительное слово «ритус» права и отрицательное слово «корруптос» искажены в партии «Объединенные мы можем» (г-н Иглесиас)
  1. ПП
  • Отрицательное слово «terrorismo» терроризм (г-н Касадо)
  1. граждане
  • Слово «одио» ненависть появляется как очень частое отрицательное слово (г-н Ривера).

Вот и все: только беглый взгляд на мощные инструменты, которые R предлагает для интеллектуального анализа текста при визуализации результатов с помощью современных методов.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *