Как Я Создал Ии, Который Обнаруживает Фейковые Новости С Точностью 95%, И Чуть Не Сошел С Ума

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

Вы можете скачать его Здесь .

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

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

к чему сейчас приводит распространение фейковых новостей .



Как я создал ИИ, который обнаруживает фейковые новости с точностью 95%, и чуть не сошел с ума

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

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



Определение подделки

Первое препятствие стало для меня неожиданностью.

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

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

твиты и цитаты людей.

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

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

Практически сразу возникла проблема: некоторые сайты, помеченные как «фейковые» или «вводящие в заблуждение», на самом деле содержали законные статьи.

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

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

Анализ настроений

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

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

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

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

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

Поначалу вроде всё шло хорошо, но после седьмой-восьмой загруженной статьи система начала провисать.

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

Это был полный провал.



Обработка естественного языка

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

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

Всего через несколько дней мой бедный инструмент собрал тот объем контента, который мы сочли достаточным для обучения модели.

Результат был плохой.

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

Где-то фейковые новости смешивались с обычными новостями, где-то целиком были посты из сторонних блогов, а некоторые статьи на 90% состояли из твитов Трампа.

Стало понятно, что всю нашу базу придётся переделывать с нуля.

Вот тут-то и началось настоящее веселье.

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

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

Но после первых нескольких сотен на меня начали давить.

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

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

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

верный.

Ведь что можно считать правдой, а что нет? Но в конце концов я достиг того магического числа, к которому стремился, и с огромным облегчением отправил материалы Дэвиду.

На следующий день он снова преподавал.

Я с нетерпением ждал результатов.

Мы достигли точности около 70%.

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



Фейкбокс

Возвращаемся к этапу рисования на доске.

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

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

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

Достоверные новости гораздо легче объединить в одну категорию.

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

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

Поэтому я вернулся в Интернет и снова начал собирать новую базу данных для обучения.

Я решил разделить материалы на две группы: правдивые и ложные.

К ложным статьям относились сатирические статьи, авторские статьи, фейковые новости и все остальное, что не содержало строго фактической информации и не соответствовало стандартам Associated Press. Мне потребовалось еще несколько недель.

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

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

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

Я отправил диаграмму Дэвиду и не мог дождаться результатов.

Увидев точность выше 95%, я чуть не подпрыгнул от радости.

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

Это был успех (ну, в некотором смысле)!

Фейковые новости - бой

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

Мы назвали систему Фейкбокс , и он очень прост в использовании.

Вам просто нужно вставить текст статьи, которая вызывает у вас сомнения, и нажать кнопку «Анализ».



Как я создал ИИ, который обнаруживает фейковые новости с точностью 95%, и чуть не сошел с ума

Используя REST API, Fakebox можно интегрировать в любую среду.

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

Просматривайте неограниченное количество контента с желаемой скоростью и автоматически отмечайте все, что требует вашего внимания.

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

Если он дает очень низкую оценку, это означает, что текст не является фактическим новостным сообщением в его классической форме: это может быть дезинформация, сатира, субъективное мнение автора или что-то еще.

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

Это может потерпеть неудачу, если текст очень короткий или состоит в основном из цитат (или твитов) других людей.

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

Наслаждаться! Теги: #Машинное обучение #искусственный интеллект #ИИ #машинное обучение #Спам и антиспам #машинный анализ текста

Вместе с данным постом часто просматривают: