Можем ли мы использовать обнаружение аномалий для обнаружения и фильтрации фейковых новостей?

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

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

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

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

Обзор алгоритма

Чтобы классифицировать фейковые новости с помощью обнаружения аномалий, мы предлагаем следующие шаги:

  • Извлечение актуальных тем из нескольких онлайн-источников (например, Twitter, Google, Facebook)
  • Обнаруженные новостные аномалии
  • Перекрестная проверка аномалий между и внутри источников, чтобы найти противоречия
  • Классифицируйте противоречивые аномалии как фейковые новости

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

Обнаружение аномалий

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

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

Новостная аномалия

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

Мы бы определили новостную аномалию как некоторую тему, которая имеет тенденцию к нескольким источникам, например Twitter, Facebook, Google Search Trends и т. Д. Обратите внимание, что мы допускаем разницу во времени между источниками, поскольку новость может не попадать во все источники одновременно.

Обнаружение новостной аномалии

Прежде чем мы сможем классифицировать новостную аномалию, мы должны ее обнаружить.

Для этого нам нужно использовать инструменты из Natural Language Processing, чтобы анализировать темы трендов и хэштеги, предоставленные Twitter. Мы собирали несколько твитов, принадлежащих к списку популярных твитов, в течение заранее определенного временного окна и распределяли их по темам.

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

Мы продолжаем создавать такие временные ряды для каждого онлайн-источника (например, Facebook, Google), ища собранные темы и фразы из этих других источников. Мы используем исходные темы и фразы из Twitter, чтобы найти ссылки на указанные выше темы в Facebook и Google Search Trends.

После этого у нас есть три объекта временных рядов, каждый из которых представляет объем (и, возможно, также частоту - но сейчас мы не будем вдаваться в подробности) каждой актуальной темы по каждому источнику.

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

Ложь распространяется быстрее правды

«Во всем мире существует озабоченность по поводу ложных новостей и возможности того, что они могут повлиять на политическое, экономическое и социальное благополучие. Чтобы понять, как распространяются ложные новости, Восуги и др. использовали набор данных каскадов слухов в Твиттере с 2006 по 2017 год. Около 126 000 слухов распространили около 3 миллионов человек. Ложные новости достигли большего числа людей, чем правда; верхний 1% каскадов ложных новостей распространился среди 1000–100000 человек, тогда как правда редко доходила до более чем 1000 человек. Ложь также распространяется быстрее, чем правда. Степень новизны и эмоциональные реакции получателей могут быть причиной наблюдаемых различий ».

Из Распространение истинных и ложных новостей в сети, Соруш Восуги и др. al, MIT

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

Введите обнаружение аномалии.

Мы будем использовать любой из широко доступных методов (например, ARIMA, Holt-Winters и т. Д.) Для обнаружения необработанных аномалий в каждом из указанных выше объектов временных рядов. Обратите внимание, что мы должны обнаруживать как положительные, так и отрицательные аномалии громкости (подробнее об этом через минуту).

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

Обратите внимание, что мы обсуждаем только аномалии объема, так как их легко извлечь из всех типов источников, в то время как мы также можем преобразовать аномалии в частотную область (с помощью БПФ), создав временные ряды частоты, с которой эта тема появлялась в новостях. Однако, поскольку не все источники поддерживают такое преобразование (например, Google Search Trends), мы пока будем придерживаться области объема.

Классификация фейковых новостей

Как только у нас есть объекты временных рядов, хорошо выровненные по некоторой теме T, мы можем их сравнить.

Мы ищем аномалии, которые находятся в антикорреляции, что означает, что объем аномалии в одном источнике сильно отличается от других источников.

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

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

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

Устанавливая обнаружения на временной оси, мы измеряем тенденцию объема между обнаружениями, т. Е. Рисуем график, где ось Y - это объем сообщений (или поисков), а ось X - время, по которому мы строим объединенный объем тема T с течением времени.

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

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

Призыв к действию

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

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