www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Использование Data Science для выявления поддерживаемых государством троллей в Twitter

Дата публикации Jun 3, 2019

Столкнувшись с растущим общественным и политическим давлением, социальные медиа-гиганты, такие как Facebook и Twitter, были вынуждены усилить борьбу с кампаниями по дезинформации, поддерживаемых государством, на своих платформах.

FB принял меры против оскорбительных счетов, происходящих из Ирана и Израиля, в то время какТвиттер выпустил миллионы твитов, определенных как работа поддерживаемых государством операторов в России, Иране, Венесуэле и Бангладеш,

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

Я решил этот вопрос длямой финальный проектна Генеральной Ассамблее (Сингапур), где я был зачислен в 12-недельный учебный лагерь по науке о данных. Я полагаю, что используя комбинацию методов обработки данных, можно раскрыть следующие три шага, чтобы раскрыть работу государственных операторов в социальных сетях:

  • Шаг 1. Создание «цифрового отпечатка пальца» троллей. Исследовательский анализ и визуализация данных могут эффективно использоваться для идентификации цифрового следа и способа действия государственного оператора.
  • Шаг 2: Создайте модель машинного обучения и веб-приложение для более эффективной классификации подозрительных твитов / сообщений.
  • Шаг 3: ИспользуйтеSHAPчтобы получить детальное представление о том, где прогнозы модели оказались правильными или неправильными. Выводы из этого шага могут быть возвращены к шагу 1, создавая эффективный цикл в расследовании.

ПЕРВЫЕ ВЕЩИ ПЕРВЫЕ

Мой проект ориентирован на Twitter, хотя я думаю, что этот подход может быть широко применен к постам FB или Instagram. Этот пост представляет собой краткое изложение результатов, и я не буду углубляться в код.

Мой репозиторий для проекта можно найти здесь:http://bit.ly/StateTrolls(Лучше всего клонировать или загрузить записные книжки. Их большой размер файла затрудняет загрузку в Интернете.)

Я также создал простое веб-приложение для обнаружения российских государственных троллей, которое вы можете попробовать здесь:http://bit.ly/TrollDetector

Поддерживаемые государством твиты (официально выпущенные Twitter), используемые в этом проекте, можно скачатьВот,

ЗАДНИЙ ПЛАН

Итак, кто эти поддерживаемые государством тролли и каковы их цели? Самым известным преступником на сегодняшний день является российскийИнтернет-исследовательское агентство(IRA) и его многолетнее / платформенное стремление влиять наВыборы в США 2016,

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

Успех ИРА породил подражательные действия по всему миру, в том числе аналогичные операции со стороны Ирана, Венесуэлы и Бангладеш. Проблема только усугубится, пока не будет найдено комплексное решение.

ДАННЫЕ, ИСПОЛЬЗУЕМЫЕ В ЭТОМ ПРОЕКТЕ

В приведенной выше таблице показано, как я собирал и фильтровал данные для этого проекта.

Ключевой проблемой в таких проектах всегда были трудности с установлением «наземной правды», то есть откуда вы знаете, какие твиты троллятся государством? В моем случае я полагался на твиты государственных троллей, официально выпущенные Твиттером (который не раскрыл свой внутренний процесс идентификации этих твитов / аккаунтов).

Я отфильтровал неанглийские твиты, а также ретвиты, чтобы классификационная модель не заканчивала дифференциацию твитов на основе языка. Это одно из ограничений моего проекта, поскольку язык и RT являются ключевым аспектом поведения троллей штата в Twitter.

Для настоящих твитов я использовалTweepyвскрестиболее 81 500 твитов из 35 проверенных аккаунтов, включая новостные агентства, таких политиков, как Трамп и Хиллари Клинтон, а также активных пользователей в США.

Полученные данные были использованы для построения двух классификационных моделей (подробнее об этом позже), одна для обнаружения твитов российских государственных троллей и другая для выявления иранских. Каждая модель была обучена на 50000 твитов - с равномерным разделением реальных / троллей твитов. Модели также тестировались на невидимых тестовых наборах твитов, которые содержали различные пропорции государственных твитов троллей из России, Ирана и Венесуэлы.

ШАГ 1: УСТАНОВЛЕНИЕ «ЦИФРОВОГО ОТПЕЧАТКА ПЕЧАТИ»

t-SNE графики образцов твитов из 10 троллей и реальных аккаунтов.

Государственные тролли могут действовать глубоко за кулисами, но их конечные цели вынуждают их оставлять четкий цифровой след в социальных сетях, как показывают графики t-SNE (выше) твитов из 10 троллей и реальных счетов.

От моегоисследовательский анализ данныхиз российских твитов ИРА понятно, что тамструктурные схемыс точки зрения времени, активности и способа маскировки Хотя некоторые черты являются уникальными для целей ИРА во время выборов 2016 года, я бы сказал, что государственные тролли, работающие на открытой платформе, такой как Twitter, оставят за собой сходные следы.

Само по себе ни одно из этих следов не будет считаться доказательством «курения оружия». Но вместе они рисуют картину довольно последовательного поведения. Давайте посмотрим на некоторые из этих ключевых характеристик:

1.1 ДАТА СОЗДАНИЯ УЧЕТНОЙ ЗАПИСИ

К настоящему времени Twitter является зрелой платформой, гдерост пользователей замедляется, Его популярность достигла своего пика в 2009 году, а это означает, что внезапные резкие скачки регистрации новых пользователей на развитых рынках, таких как США, должны вызвать тревогу.

При анализе дат создания учетных записей для русских учетных записей троллей становится ясно, что подозрительное большинство было создано в 2014 году. Трудолюбивый государственный оператор может скрыть этот аспект своего следа, медленно распространяя даты создания своих учетных записей. Но надоникогда не стоит недооценивать способность человека к разгильдяйству,

1.2 СТРУКТУРНЫЕ ХАРАКТЕРИСТИКИ НАСТОЯЩЕГО ПРОТИВ ГОСУДАРСТВЕННЫХ СВЯЗАННЫХ ТВИТОВ / СЧЕТОВ

Сравнение количества фолловеров для главных аккаунтов, поддерживаемых государством (слева), с количеством аккаунтов, за которыми они следуют (справа).

Если вы понимаете взаимодействие пользователя с социальной платформой, распознавать подозрительное поведение становится легче. В контексте Twitter (и пожарного характера контента на платформе) ни один нормальный реальный пользователь не будет следовать тысячам, а тем более десяткам тысяч, других пользователей, поскольку это полностью разрушит пользовательский опыт.

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

Шаблон резко контрастирует с реальными пользователями, как показано на диаграмме ниже:

Твиты от государственных троллей также в основном короче, состоят из 11–14 слов и менее 70 символов. См мойблокнотдля более подробной разбивки структурных характеристик твитов троллей по сравнению с реальными.

1.3: прятаться в поле зрения

Возможно, наиболее интересным аспектом modus operandi российских государственных троллей является то, как они маскируют себя - в данном случае, пытаясь выдать себя за местные новостные агентства в США. Посмотрите на сходство результатов для тематического моделирования реальных твитов против троллей.

«Новости» - это наиболее актуальный термин № 1 в моделях тем для реальных твитов (слева) и твитов троллей (справа).

На первый взгляд кажется странным, что тематическое моделирование для реальных твитов и твитов троллей выглядело бы одинаково. И почему такие безобидные термины, как «шоу-бизнес», «политика» и «нью-йорк», будут фигурировать в списке 30 наиболее значимых терминов модели темы для твитов троллей?

Но это имеет смысл, когда вы думаете об этом с точки зрения пользователя. Последние новости и информационные обновления составляют большую часть того, как американцы используют Twitter.

Таким образом, один из лучших способов для российских троллей вовлечь себя в целенаправленную пропаганду - обмануть реальных пользователей, заставляя их думать, что учетная запись тролля является законным источником новостей и полезной информации (которая может быть спортивной или развлекательной информацией). В конечном счете, их цель состоит не в том, чтобы завалить обычных пользователей шквалом контента троллей, а в том, чтобы смешать фальшивку с реальным, чтобы пользователи не могли отличить их друг от друга после длительного периода времени.

Отчет «Новые знания» о российских кампаниях по дезинформации получил название «медиа мираж». Посмотрите на набор твитов ниже. Ничего не подозревающие пользователи могут не сразу понять, что это тролль-твиты российских операторов.

Очевидно, что для дополнения этих методов и графиков EDA потребуется значительное количество исследований на рынке. Например, понимание необычного скачка в создании счета в конкретном году или месяце будет иметь смысл только в сочетании со знанием политического календаря.

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

Сведение воедино их «цифрового отпечатка» - это важный первый шаг перед любыми попытками использовать модель машинного обучения для отделения подозрительно выглядящих твитов от реальных.

ШАГ 2: СТРОИТЕЛЬНЫЙ + КЛАССИФИКАТОР ИСПЫТАТЕЛЬНЫХ ПОЕЗДОВ

Как быстро вы сможете отсортировать шесть твитов выше в троллей и настоящие твиты? Как насчет 600 или 6000 твитов? Поиск и сортировка твитов троллей вручную не будет практичным делом в масштабе. Это где классификатор входит в картину.

Вы можете построить действительно сложную модель, чтобы различить тролли / настоящие твиты, используя комбинацию функций, собранных на шаге 1, а также содержание текста твита. Но это действительно усложнит создание веб-приложения-компаньона (об этом позже). Это также затруднит анализ отдельных прогнозов на шаге 3.

По этим причинам я сохранилдизайн моих моделейдля этого проекта максимально просто. Я использую только 1 предиктор - столбец «чистый твит», в котором исходный текст твита был очищен для пунктуации и т. Д. - против целевого столбца «bot_or_not» (0 для реальных твитов, 1 для твитов троллей).

Приведенная выше диаграмма суммирует рабочий процесс для российской модели детектора троллей вноутбук 3.0, а также модель иранского детектора троллей втетрадь 3.2, Это простой процесс, включающий стандартизированную очистку необработанных англоязычных твитов перед их запуском через конвейер, который включает CountVectorizer, преобразователь TFIDF и классификатор.

В этом проекте я выбрал более распространенные классификаторы - Наивный Байес, Логистическая регрессия и Случайный лес. Вы можете выбрать более сложные классификаторы, но время, необходимое для выполнения конвейера, может возрастать экспоненциально, учитывая размер обучающего набора (50 000 строк).

В итоге модель логистической регрессии стала лучшей из трех моделей, которые я пробовал. У него был лучший результат f1 - баланс точности и отзыва - и самое быстрое среднее время подбора.

Давайте начнем с Модели 1, которая обучалась с русскими твитами-троллями, и посмотрим, как она работала с 3 различными невидимыми тестовыми наборами по 100 твитов, где доля твитов-троллей постепенно уменьшалась с 50% до примерно 10%:

L-R: матрицы путаницы для Модели 1 против 3 невидимых тестовых наборов с 50% русских твитов троллей, 30% твитов троллей и 10% твитов троллей.

Модель 1 была на удивление хороша в подборе новых русских твитов троллей среди реальных, несмотря на то, что доля твитов троллей постепенно уменьшалась. Его оценка f1 осталась на уровне 0,8-0,9 на протяжении всех тестов. Модель правильно выбрала подавляющее большинство невидимых твитов троллей, и даже набрала идеальную оценку в 1,0 балла в тестовом наборе 90–10 (крайний справа вверху).

Но хорошо ли это против твитов троллей других операторов? Я протестировал Модель 1 против невидимых тестовых наборов с твитами троллей из Ирана и Венесуэлы, и результаты оказались ужасно ужасными

L-R: матрицы путаницы для модели 1 против невиданных тестовых наборов с иранскими твитами троллей (L) и венесуэльскими твитами троллей (R).

Оценки отзыва модели 1 были подтверждены тестами против невидимых тестовых наборов с иранскими и венесуэльскими твиттами троллей. Несмотря на то, что американские пользователи продолжали хорошо отбирать настоящие твиты, ему не удалось поймать большинство иранских или венесуэльских троллей.

Эти результаты позволяют предположить, что работа каждого оператора, поддерживаемого государством, довольно специфична. Вместо того, чтобы пытаться построить массивную «глобальную» модель, которая могла бы охватить всех операторов состояний, представляется более целесообразным создавать более мелкие, более гибкие модели, которые могут лучше идентифицировать конкретные операторы состояний.

Я построил вторую модель для проверки этого аргумента, на этот раз обучая модель на иранских твитах троллей в сочетании с реальными твитами от проверенных американских и международных пользователей. Вот результаты при похожих условиях испытаний, когда доля иранских твитов-троллей постепенно снижается с 50% до примерно 14%:

L-R: Путаница матриц для Модели 2V 3 невидимых тестовых набора с 50% иранскими твитами троллей, 30% твитов троллей и 10% твитов троллей.

Модель 2 также показала отличные результаты в плане способности выбирать новые иранские твиты-тролли, которых раньше не видела. Его оценка f1 была выше 0,9 для всех 3 тестов.

И, как показали 3 вышеупомянутые матрицы путаницы, модель была чрезвычайно хороша в отборе твитов троллей, набрав идеальный результат в наборе 90–10, где она выбрала все 14 твитов троллей и неправильно классифицировала только 1 из 100 твитов.

Вывод очевиден (хотя и не совсем очевиден с самого начала): модель, обученная на твитах конкретного оператора, поддерживаемого государством, не будет хорошо обобщать. Чтобы поймать государственных троллей, вам понадобятся индивидуальные решения для каждого рынка, где они находятся.

ШАГ 2.1:ИСПОЛЬЗОВАНИЕ ВЕБ-ПРИЛОЖЕНИЯ ДЛЯ БЫСТРОГО РЕГИСТРАЦИИ

Перейти кhttp://chuachinhon.pythonanywhere.com/попробовать веб-приложение.

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

Для этого я построил простуювеб-приложение-http://chuachinhon.pythonanywhere.com/- когда пользователю нужно всего лишь ввести текст подозрительного твита, чтобы быстро проверить, может ли это быть русский тролль-твит или нет Приложение простое, и вы можете легко собрать 10 разных версий, если вам нужно будет отдать их в руки команд в 10 разных странах или рынках.

Он не будет столь же точным, как последняя модель на компьютере ученого, но он служит инструментом быстрой диагностики, который дополняет другие инструменты, используемые на шаге 1, для идентификации цифрового отпечатка пальца государственного тролля.

ШАГ 3: АНАЛИЗ ПРОГНОЗОВ С SHAP

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

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

Подробное объяснение SHAP илиШапли Аддитивные объяснения, выходит за рамки этого поста. В контексте этого проекта, возможно, проще проиллюстрировать, как работает SHAP, на нескольких примерах.

Образец примера 1

Вот твит, который Модель 1 точно классифицирует как реальный твит: «Объявление о дате саммита, вероятно, придет, когда Трамп встретится с вице-премьером Китая Лю Хэ в Белом доме».

Каждая модель имеет уникальное базовое значение, основанное на среднем выходе модели по пройденному набору обучающих данных. В этом случае базовое значение для модели 1 составляет 0,4327.

Различные векторизованные функции будут толкать прогнозы модели в разных направлениях. Если конечный результат ниже базового значения, он классифицируется как реальный твит. Если результат выше базового значения, он считается твитом тролля (в контексте того, как я пометил результат в этом проекте).

В приведенном выше примере мы видим, что фактические слова, такие как «китайский», «саммит», «премьер», подтолкнули модель к классификации твита как реального, в то время как интересно, что слова «козырь встречает» толкают модель в противоположную сторону. направление.

Образцы примеров 2 и 3

Давайте рассмотрим еще два твита, где Модель правильно классифицирована как русские твиты троллей: «@HillaryClinton #HillaryForPrison» и «@HillaryClinton Fuck off».

В первом твите выше хэштег «hillaryforprison» был самой сильной чертой в модели, чтобы классифицировать ее как твит тролля. Во втором твите нецензурная лексика и ее сочетание с именем Хиллари Клинтон были самыми сильными факторами, подталкивающими модель к классификации ее как твит тролля.

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

Конечно, модель может быть побеждена твиттами троллей. Давайте посмотрим на некоторые примеры, где Модель 1 ошиблась в своих прогнозах.

Примеры образцов 4 и 5

Модель 1, российский детектор троллей, неправильно классифицировала этот твит, предсказывая его как твит тролля (выше базового значения), когда он действительно является реальным твитом: «Когда Клинтон попала на ее частный почтовый сервер, большинство людей, которых я знал в сообществе NatSec разозлились… »

Слова «разозлился», «частная электронная почта» и «пойман» подтолкнули Модель 1 к тому, чтобы классифицировать это как твит тролля - когда это было на самом деле написано Дэном Дрезнером, профессором Школы Флетчера и обозревателем «Вашингтон пост».

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

Короткие и достоверные твиты, написанные как заголовки новостей, похоже, запутывают модель машинного обучения. Аналогично, модель, кажется, борется с немного более сложными твитами, такими как тот, который использует почтовый сервер.

Мой вывод из этого прост:Эффективная идентификация поддерживаемых государством кампаний по дезинформации в социальных сетях требует хорошего сочетания человеческого вклада / анализа с умным использованием инструментов машинного обучения и анализа данных.

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

ОГРАНИЧЕНИЯ

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

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

Специалисты по данным, знакомые с методами глубокого обучения, возможно, найдут лучшие решения в этой области.

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


Это моя первая попытка применить мои новые навыки в науке о данных к такой сложной проблеме, как дезинформация в Интернете. Все ошибки здесь и в тетрадях - мои, и я хотел бы получить отзывы экспертов в этой области или любые исправления в целом.

Наконец, большое спасибоБенджамин Синглтонза его помощь в этом многострадальном проекте. Специальный крик также выходитСьюзен Лиза ее отличные уроки по НЛП и Flask, которые мне очень помогли.

Здесь снова ссылки на ключевые ресурсы для этого проекта:

Github Repo:https://github.com/chuachinhon

Доклад Мюллера: «Отчет о расследовании вмешательства России в президентские выборы 2016 года»

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map