ISOT: тест на 99% точности детекции фейковых новостей оказался утечкой метаданных

Корпус ISOT/Kaggle «Fake and Real News», широко используемый набор данных для обучения и проверки классификаторов фейковых новостей, на котором точность и F1 годами держатся выше 0,98. Авторы работы провели воспроизводимый аудит: взяли прозрачный линейный классификатор на признаках TF-IDF как измерительный инструмент и проверили три возможных канала утечки данных и два протокола проверки на смену распределения, полностью выложив код и полученные цифры.

Первый результат: бенчмарк частично вырожден. Классификатору дали только служебное поле темы статьи (subject), выбросив сам текст, и он достиг F1 = 1,000, потому что настоящие и фейковые новости в корпусе изначально разложены по непересекающимся темам.

Второй шаг, убрать сразу три канала утечки: тематические метаданные, служебную метку источника (newswire tag), которая стоит у 99,2% настоящих новостей, и 6251 дублирующийся документ, загрязняющий 19,4% тестовой выборки при наивном разбиении корпуса. После удаления всех трёх F1 линейного классификатора падает всего на 1,21 пункта, с 0,9935 до 0,9814. Даже когда из признаков убрали 1000 самых весомых отдельных слов, F1 остался на уровне 0,926: значит, оставшийся сигнал, это не горстка слов-маркеров, а разлитый по всему тексту редакционный стиль.

Третий, ключевой результат: этот стилевой сигнал не переносится на новый материал. На тесте со сменой темы (topic-disjoint) у линейной модели average precision падает с 0,9995 до 0,9475, а рабочий F1, с 0,9905 до 0,8067; отдельный анализ с выравниванием по базовой частоте класса подтвердил, что это реальная потеря различающей способности на 5,2 пункта, тогда как перенос во времени (на новости из других периодов) почти не портит качество. Дообученный DistilBERT точнее линейной модели внутри самой выборки (F1 = 0,9993), но при смене темы деградирует сильнее, теряет 12,9 пункта average precision против 5,2 у линейного классификатора. При переносе на независимый бенчмарк LIAR все три модели скатываются к ROC-AUC 0,54, 0,57, это уровень почти случайного угадывания, и ни одна не превосходит простой прогноз по самому частому классу.

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

Ключевые факты

  • Классификатор, которому дали только поле темы статьи (subject) без текста, достиг F1 = 1,000, классы новостей в корпусе ISOT изначально разделены по темам.
  • Служебная метка источника (newswire tag) стоит у 99,2% настоящих новостей, а 6251 дублирующийся документ загрязняет 19,4% тестовой выборки при наивном разбиении корпуса, ещё два канала утечки помимо темы.
  • После удаления всех трёх утечек F1 линейного классификатора падает всего на 1,21 пункта, с 0,9935 до 0,9814; даже без 1000 самых весомых слов F1 остаётся 0,926, то есть модель ловит не отдельные слова-маркеры, а общий редакционный стиль.
  • На тесте со сменой темы у линейной модели average precision падает с 0,9995 до 0,9475, а F1, с 0,9905 до 0,8067; дообученный DistilBERT точнее внутри выборки (F1 = 0,9993), но под сменой темы теряет больше, 12,9 пункта average precision против 5,2 у линейной модели.
  • На независимом бенчмарке LIAR все три модели скатываются к почти случайному различению (ROC-AUC 0,54, 0,57) и не превосходят простой прогноз по самому частому классу.

Почему это важно

Корпус ISOT/Kaggle «Fake and Real News», один из самых используемых наборов данных для обучения и проверки детекторов фейковых новостей, и классификаторы на нём годами показывают точность и F1 выше 0,98. Авторы работы поставили под сомнение, что это число вообще измеряет способность отличать правду от лжи. Взяв прозрачный линейный классификатор на признаках TF-IDF как измерительный инструмент, они проверили три канала утечки данных и два протокола проверки на смену распределения, и выложили в открытый доступ весь код и полученные цифры.

Кому это важно

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

Как это применить

Авторы предлагают три недорогих диагностических приёма для любого похожего бенчмарка: проверить точность модели, которой дали только служебные метаданные без текста; проверить точность на очень маленькой обучающей выборке; и обязательно проверять качество на тестовой выборке, где темы не пересекаются с обучающей (topic-disjoint). Если хотя бы один из этих упрощённых вариантов даёт результат, близкий к полной модели, это признак утечки, а не достижения. Весь код и производные числа авторы выложили в открытый доступ, что позволяет повторить и расширить проверку на других корпусах.

Можно ли доверять

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

Риски и подводные камни

Главный риск, не в самой утечке, а в том, что почти идеальный результат на ISOT продолжают воспринимать как доказательство рабочего детектора лжи: при переносе на независимый бенчмарк LIAR все три проверенные модели, включая дообученный DistilBERT, скатились к ROC-AUC 0,54, 0,57, практически к случайному угадыванию, не превзойдя даже простой прогноз по самому частому классу. Авторы также отмечают, что более ёмкая модель (DistilBERT) не решает проблему, а сильнее эксплуатирует ту же лазейку: под сменой темы она теряет больше, чем простой линейный классификатор.

«Оценки внутри этого корпуса измеряют разделимость по источнику и теме, а не правдивость.»

— авторы работы