(Я перемещаю свой блог из Quora и некоторые избранные посты. Это было опубликовано и проанализировано до 20 декабря 2015 года в моем Блоге Quora.)

Это первая запись блога. Пожалуйста, потерпите меня и дайте свои комментарии и идеи о том, как я могу расширить свои посты.

В связи с недавними событиями мир запылал от ИГИЛ — Исламского государства Ирака и Леванта. Маловероятно, что кто-то не знает этого имени. ИГИЛ взяло на себя ответственность за несколько взрывов и бесчеловечные действия, включая нападения на столицу Франции Париж 13 ноября 2015 года. Следующая статья в Washington Post проливает свет на то же самое: Атаки в Париже были совершены тремя группами, связанными с Исламским государством, официально говорит.

Из любопытства я подумал, что хочу попробовать и посмотреть, как социальные сети, особенно пользователи Твиттера, реагируют на всю организацию #ИГИЛ после примерно месяца терактов в Париже.

Я извлек и проанализировал около 2100 уникальных твитов, т.е. каждый ретвит учитывался только один раз.

  1. Я посмотрел на облако слов, чтобы увидеть, что говорят люди.
  2. Затем я использовал обобщенную библиотеку анализа настроений — Python Sentiment_Classifier, чтобы увидеть полярность каждого твита.
  3. Затем я разделил твиты на две части — положительную полярность и отрицательную полярность и снова проанализировал облака слов каждого из них.

Шаг O. Сбор твитов

  • Чтобы собрать твиты для выполнения моего анализа, я использовал API поиска, предоставленный Twitter, с использованием пакета Python — Twython.
  • Я извлек твиты, содержащие «ИГИЛ» как слово, «ИГИЛ» как хэштег, «Парижские атаки» как слово и «Парижские атаки» как хэштег.
  • Я нормализовал твиты, удалив стоп-слова и лемматизировав оставшиеся твиты.
  • Одна проблема, которую я не смог преодолеть, заключалась в том, что я не мог извлечь местоположение твита. Я попробовал несколько методов, включая GeoLocation в Twitter API, но это дало очень меньшие результаты (‹50).

Шаг 1. Облако Word для общих данных

  • Я использовал пакет с открытым исходным кодом для создания облака слов с помощью Python — Amueller: Word Cloud. Следующее облако слов показывает довольно предсказуемые результаты: ИГИЛ является крупнейшим, за ним следуют парижские атаки. Эти два термина должны были доминировать, поскольку набор данных был извлечен, относящийся к этим двум терминам.
  • Облако слов показывает, что RT (Re-Tweet) значительно больше, что указывает на то, что социальные сети согласны друг с другом.
  • Еще один аспект, который мы видим, заключается в том, что данные собирают информацию, относящуюся к деликатным темам, включая нападения в Сирии, проблемы беженцев и «заявленную» связь ИГИЛ с >мусульманская религия ИСЛАМ. (Под заявленными я подразумеваю, что ИГИЛ утверждает, что они следуют ИСЛАМУ.) Однако слово ИСЛАМ встречается очень редко, даже несмотря на то, что оно является подстрокой в ​​полной форме акронима ИГИЛ.
  • Еще пара слов, явно больших, чем другие слова, — это Обама и Женева. В СМИ обсуждалось, что парижские бомбардировщики скрылись через Женеву: 2 подозреваемых со «следами Взрывчатка обнаружена в Женеве во время зачистки против ИГИЛ — отчеты.

  • Хотя приведенное выше облако слов, показанное выше, является наиболее точным, созданным из необработанных данных. Можно создать более нормализованную версию облака слов, в которой размер слов масштабируется в соответствии с минимальной и максимальной частотой слов, а не абсолютной частотой. На следующем изображении показано нормализованное облако слов, соответствующее рассмотренному выше.
  • Это облако слов также подтверждает сделанные выше выводы.

Шаг 2. Обобщенный анализ настроений по данным Twitter

Хотя анализ настроений на основе слов по своей природе является контролируемым, я не смог получить набор данных, в основе которого лежали бы терроризм или трагедия, для построения модели. Итак, я использовал пакет Python для анализа настроений: sentiment_classifier 0.6, чтобы выполнить анализ настроений на общем уровне. Результаты были хорошими, но неудовлетворительными. Я все равно буду сообщать то же самое.

  • В целом корпус твитов имел отрицательную полярность около 350 баллов и положительную полярность около 315 баллов.
  • По отдельности из 2139 твитов 913 имели более негативную полярность, 636 твитов имели нулевую полярность и 775 твитов имели положительную полярность.

Шаг 3. Анализ положительных и отрицательных твитов

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

Оба облака слов очень похожи и, как таковые, не дают достаточного представления о положительных и отрицательных аспектах ИГИЛ. Обоснованием того же является то, что (при условии, что обобщенный анализ настроений работает правильно) положительные твиты имеют смысл победить ИГИЛ, в то время как негативный корпус, возможно, больше касался атак, за которые несет ответственность ИГИЛ.

Народ, это мой первый пост и тема тоже довольно деликатная. Если вы обнаружите какие-либо проблемы или у вас есть предложения/комментарии, оставьте комментарий ниже. Я хотел бы услышать, как я могу расширить этот анализ.

Кроме того, в следующем посте я сделаю набор данных доступным вместе со всем кодом на github. На этот раз я забыл сохранить Tweet-Id, поэтому не могу опубликовать набор данных.

Если вы хотите узнать обо мне больше, проверьте мой профиль LinkedIn.