Сравнительный анализ моделей для определения спам новостей - Студенческий научный форум

XIII Международная студенческая научная конференция Студенческий научный форум - 2021

Сравнительный анализ моделей для определения спам новостей

Михальченков А.И. 1
1Московский Технический Университет Связи и Информатики
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

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

В данной статье рассматриваются различные модели для определения спам новостей и проводится сравнение этих моделей.

Модели

Наивный Байесовский классификатор

Чтобы получить базовый показатель точности для наших данных, был реализован наивный байесовский классификатор. В частности, на основе scikit-learn Гауссовского наивного Байеса. Это один из самых простейших подходов к классификации, в которых используется вероятностный подход, с допущением, что все объекты условно независимы, учитывая метку класса. Мы взяли описанные выше вложения Doc2Vec. Наивное правило Байеса основано на теореме Байеса.

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

Метод опорных векторов

Оригинальная машина опорных векторов (SVM) была предложена Владимиром Вапником и Алексеем Червоненковым в 1963 году. Но эта модель может выполнять только линейную классификацию, поэтому она не подходит для большинства из практических задач. Позднее в 1992 году Бернхард Босер, Изабель Гийон и Владимир Вапник представил трюк ядра, который позволяет метод опорных векторов для нелинейной классификации. Это делает SVM очень мощным. В данной работе используется ядро Радиальной базисной функции. Причина, по которой мы используем это ядро, заключается в том, что два вектора объектов Doc2Vec будут близки друг к другу, если их соответствующие документы похожи, поэтому расстояние, вычисленное функцией ядра, должно по-прежнему представлять исходное расстояние.

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

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

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

Нейронная сеть обратной связи

Реализованы две модели нейронной сети с обратной связью, одну с использованием TensorFlow, а другую с использованием Keras. Нейронные сети широко используются в современных NLP приложениях, в отличие от более старых подходов, которые в первую очередь сосредоточены на линейных моделях, таких как Svms и логистическая регрессия. Данная реализация нейронной сети используют три скрытых слоя. В реализации Tensorflow, все слои имели по 300 нейронов каждый, а в реализации Keras мы использовали слои размером 256, 256 и 80. Для нашей функции активации, мы выбрали выпрямленную линейную функцию активации (ReLU), которая, как было установлено, хорошо работает в приложениях NLP. Ввод был фиксированного размера

Долговременная Краткосрочная Память

Блок Long-Short Term Memory (LSTM) был предложен Hochreiter и Schmidhuber. Он хорошо классифицирует сериализованные объекты, потому что будет выборочно запоминать предыдущий вход и использовать его вместе с текущим входом для прогнозирования. Содержание новостей (текст) в нашей задаче по своей сути сериализуется. Порядок слов несет в себе важную информацию предложения. Таким образом, модель LSTM подходит для нашей проблемы.

Поскольку порядок слов важен для модуля LSTM, мы не можем использовать Doc2Vec для предварительной обработки, потому что он перенесет весь документ в один вектор и потеряет информацию о порядке. Чтобы предотвратить это, мы используем вместо этого слово embedding. Сначала мы очищаем текстовые данные, удаляя все символы, которые не являются буквами или цифрами. Потом подсчитываем частоту появления каждого слова в нашем учебном наборе данных, чтобы найти 5000 наиболее распространенных слов и дать каждому уникальный целочисленный идентификатор. Например, наиболее распространенное слово будет иметь идентификатор 0, второй наиболее распространенный будет иметь 1 и т.д. После этого мы заменяем каждое общее слово своим присвоенным идентификатором и удаляем все необычные слова. 5000 наиболее распространенных слов охватывают большую часть текста, поэтому мы теряем только часть информации, но передаем строку в список целых чисел. Поскольку блок LSTM требует фиксированной длины входного вектора, мы усекаем список более 500 номеров, потому что более половины новостей длиннее 500 слов. Затем для этого списка, короче чем 500 слов, мы ставим 0 в начале списка. Также удаляем данные только с несколькими словами, так как они не несут достаточной информации для обучения. Поступая таким образом, мы передаем исходную текстовую строку в целочисленный вектор фиксированной длины с сохранением слов. Воспользуемся встраиванием слов для передачи каждого идентификатора слова в 32-мерный вектор. Встраивание слов будет обучать каждый вектор слов на основе сходства слов. Если два слова часто появляются вместе в тексте, они считаются более похожими и расстояние их соответствующих векторов малы.

Матрицы ошибок

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

Confusion matrix – матрица ошибок

True label – истинное название

Predicted label – предсказанное название

Рис. 1 - Матрица ошибок Наивного Байесовского классификатора

Рис. 2 - Матрица ошибок метода опорных векторов

Рис. 3 - Матрица ошибок для нейронной сети с использованием TensorFlow

Рис. 4 - Матрица ошибок для нейронной сети с использованием Keras

Рис. 5 - Матрица ошибок долговременной краткосрочной памяти

Сравнение результатов

Сравним наши модели, используя их матрицы ошибок, чтобы рассчитать оценки точности, отклик и F1. Таблица 1 показывает наши результаты

Наименование

Точность

Отклик

F1

Наивный классификатор Байеса

0.68

0.86

0.76

Метод опорных векторов

0.85

0.93

0.89

TensorFlow

0.77

0.92

0.84

Keras

0.92

0.93

0.92

Долговременная краткосрочная память

0.94

0.94

0.94

Таблица 5.1 – сравнение методов

Рис. 5.1. - Частота наиболее распространенных слов (абсцисса – слова, ордината - частота)

Рис. 5.2. - Длина новостей (абсцисса – новости, ордината - длина)

Заметим, что LSTM (долговременная краткосрочная память) дал нам лучшие результаты. Нам пришлось использовать другой набор вложений для предварительной обработки данных, которые будут переданы в нашу модель LSTM. Он использует упорядоченный набор представлений Word2Vec. LSTM достигает наивысшего показателя F1 по сравнению со всеми другими моделями, за которым следует модель нейронной сети с использованием Keras. Одна из причин, по которой LSTM так хорошо работает, заключается в том, что текст по своей сути является сериализованным объектом. Все остальные модели используют Doc2Vec для получения своих векторов и признаков, следовательно, полагаются на Doc2Vec для извлечения информации о выборке и выполнения ее классификации. С другой стороны, модель LSTM сохраняет порядок, используя другой метод предварительной обработки, и делает прогноз на основе слов и их порядка.

Выводы

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

Просмотров работы: 33