Машиностроение U компьютерные технологии
Сетевое научное издание
http://www.technomagelpub.ru ISSN 2587-9278
Ссылка на статью:
// Машиностроение и компьютерные технологии. 2019. № 04. С. 24-41.
Б01: 10.24108/0419.0001473
Представлена в редакцию: 19.03.2019
© НП «НЭИКОН»
УДК 004.89+004.77
Распознавание ботов в онлайновых социальных сетях при помощи алгоритма «Случайный лес»
Хачатрян М.Г.1*, Ключарев П.Г.1 Ш!ЖтшШ
1МГТУ им. Н.Э. Баумана, Москва, Россия
В настоящей статье была разработана модель на основе алгоритма машинного обучения «Случайный лес», позволяющая производить распознавание ботов в онлайновой социальной сети Twitter. Обучение алгоритма было произведено на наборе данных аккаунтов Twitter, состоящем из более чем 3000 пользователей и более 6000 ботов. Для подбора оптимальных гиперпараметров алгоритма, таких как число и глубина деревьев, на которых достигается наибольшее значение Fj-метрики, был использован алгоритм кросс-валидации. В результате обучения алгоритма, использующего найденные оптимальные гиперпараметры, была получена модель. Сравнение данной модели с моделями других авторов путем тестирования на двух наборах данных показало, что она обладает высокими точностными показателями.
Ключевые слова: «Случайный лес», Twitter, кросс-валидация, Fj-метрика, стратификация
Введение
Онлайновые социальные сети играют важную роль в жизни миллионов людей, предоставляя возможность создавать новые социальные связи [1], получать и отправлять новости [2], вести обсуждение по интересующей тематике и т. д. Однако, помимо выполнения обозначенных функций, онлайновые социальные сети предоставляют собой арену информационного противоборства [3], где под информационным противоборством понимается соперничество субъектов информационного конфликта с целью усиления влияния на те или иные сферы социальных отношений, итогом, которого становится получение преимущества одной противоборствующей стороной и утрата подобных преимуществ другой стороной [4].
Одним из инструментов ведения информационного противоборства являются боты. Бот [5] - это программное обеспечение, предназначенное для имитации поведения реального пользователя в онлайновых социальных сетях. При помощи ботов ведется недобро-
совестная конкуренция, проводится политическая пропаганда, распространяется дезинформации и т. д.
Существует множество статей, посвященных ботам в онлайновых социальных сетях. Как правило в статьях рассматривается влияние ботов на пользователей онлайновых социальных сетей [6, 7, 8] и (или) методики их распознавания. В качестве методик распознавания ботов часто используются различные алгоритмы машинного обучения, такие как: наивный байесовский классификатор [9], Марковский алгоритм кластеризации [10], дерево принятия решений [11] и т. д.
Так как для алгоритмов машинного обучения требуется большое количество данных, то для исследований используются онлайновые социальные сети, которые предоставляют как можно большое количество информации о пользователях. Одной из самых используемых для исследований является онлайновая социальная сеть Twitter [12], в которой доступна фактически вся информация о любом пользователе, если он специально не скрывает свои данные.
В данной статье решается задача распознавания ботов в онлайновых социальных сетях при помощи алгоритма машинного обучения «Случайный лес» (Random Forest). В качестве онлайновой социальной сети, в рамках которой решается поставленная задача, используется Twitter. В результате проведенного исследования была разработана модель, позволяющая по определенным данным аккаунта Twitter определять, к какому классу относится аккаунт: бот или пользователь.
1. Алгоритм «Случайный лес»
Перед тем как давать описание работы алгоритма «Случайный лес» [13, 14], введем определение бинарного решающего дерева [15, 16] для классификации бинарных объектов.
Бинарное решающее дерево - это бинарное дерево, в котором:
- каждой внутренней вершине v приписана функция:
ßv: X — { 0,1 } , (1)
где X = Мп - множество возможных значений признаков классов (п - число классов);
- каждой листовой вершине приписана метка класса где - возможные классы.
Рассмотрим теперь алгоритм а (х, v) , который определяет класс объекта х, используя бинарное решающее дерево. Начиная с корневой вершины v 0 рекурсивно выполняются следующие действия:
1. Проверяется, является данная вершина листовой. Если вершина является листовой, то возвращается метка класса, соответствующая данной листовой вершине, и алгоритм завершает работу.
2. Если вершина не является листовой, то вычисляется значение функции //г. Если значение функции равно 0, то вычисляется а ( х, V {) , если равно 1, то вычисляется а (х, V-) . Под V I и V- понимается соответственно левая и правая вершина относительно текущей вершины V . Под функциями //г понимаются как правило одномерные предикаты, которые сравнивают значение одного из признаков с порогом:
/г ( х,у ,0 = [х;<;] , (2)
где хеХ - набор признаков одного объекта,
} - признак, который был выбран для данной вершины. Ху - значение -го признака объекта, - значение порога.
Определение того какой признак и какой порог использовать для определенной вершины происходит на этапе построения. Построение бинарного решающего дерева происходит следующим образом.
Пусть существует обучающая выборка:
х = {х а (3)
где - набор признаков одного объекта.
Каждая вершина V разбивает выборку на две части Я 1 (у, ;) = { Х | Ху < ;} и Я 2 (у,;) = {х | Ху > ;}, при этом } и ; определяются таким образом, чтобы выбранный средний индекс неоднородности образованных выборок был минимален. Разбиение каждой вершины должно производится до достижения условия останова (например, в выборке присутствует только один класс объектов), после чего полученная вершина объявляется листом.
Индекс неоднородности вычисляется для произвольной выборки 5, содержащей объекты из классов { 0, 1 }. В данной работе в качестве индекса неоднородности используется индекс Джини [17], вычисляемый для бинарных объектов по следующей формуле:
У (5) = 1 - ( Р02 + Н) , (4)
где Р0 - доля объектов класса 0 в выборке 5, - доля объектов класса 1 в выборке «Случайный лес» - это множество решающих деревьев. В задаче классификации решение принимается голосованием по большинству среди выданных ответов. Все деревья строятся независимо по следующей схеме:
- Выбирается подвыборка обучающей выборки размера N с повторениями - по ней строится дерево (для каждого дерева своя подвыборка).
- Для построения каждого расщепления в дереве просматриваются (квадратный корень из общего количества признаков ) случайных признаков (для каждого нового расщепления свои случайные признаки).
- Выбираются наилучшие признак и расщепление по нему. Дерево строится до исчерпания выборки (пока в листьях не останутся представители только одного класса), если
не заданы ограничения (высота дерева, число объектов в листьях и число объектов в подвыборке, при котором проводится расщепление).
2. Исходные данные для обучения и тестирования
Данные, используемые в настоящей работе, находятся в открытом доступе и были представлены в статье [18]. Для обучения и тестирования алгоритма классификации «Случайный лес» используются данные групп, представленных в таблице 1. Каждая группа представляет собой таблицу, где строки - различные аккаунты, а столбцы - признаки аккаунта (имя, количество опубликованных твитов1, количество групп, в которых состоит аккаунт и т. д.), по которым определяется, является аккаунт ботом или нет.
Таблица 1. Используемые группы из базы данных
Группа Описание Количество аккаунтов
genuine accounts Аккаунты обычных пользователей 3474
social spambots #1 Ретвитеры2 некоего Итальянского политического деятеля 991
social spambots #2 Спамеры платных приложений для мобильных устройств 3457
social spambots #3 Спамеры3 продуктов на продажу в Amazon.com 464
traditional spambots #1 Тренировочный набор данных спамеров, используемых в статье [19] 1000
traditional spambots #2 Спамеры вредоносных ссылок 100
traditional spambots #3 Спамеры рассылающие предложения о работе 433
Для использования исходных данных в обучении и тестировании алгоритма «Случайный лес» их необходимо преобразовать в набор векторов, содержащих численные значения. В случае признаков аккаунта Twitter не все из них возможно преобразовать в числа, которые будут подходить для обучения используемого алгоритма. Кроме того, есть признаки, которые являются устаревшими и дают часто неправильные результаты (например, Notifications), поэтому их тоже нельзя использовать. Набор релевантных признаков акка-унтов Twitter, который был использован для обучения и тестирования алгоритма «Случайный лес» представлен в таблице 2.
1 Запись в онлайновой социальной сети «Twitter», размер которой не должен превышать 140 символов
2 Бот, который размещает твиты на странице своего аккаунта для определенного аккаунта
3 Бот, который распространяет спам
Название признака Описание признака
Statuses Count Количество твитов, которые опубликовал аккаунт
Followers Count Количество аккаунтов, которые читают твиты данного аккаунта
Friends Count Количество акаунтов, на которые подписан данный аккаунт
Favorites Count Количество твитов, которые отметил данный ака-унт как понравившийся
Listed Count Количество групп, в которых состоит данный акка-унт
Default Profile Image Указывает, загружал ли пользователь изображение для профиля (принимает значение 0 если загружал и 1 если нет)
Geo Enabled Указывает, включил ли аккаунт возможность гео-тегирования твитов (принимает значение 1 если включил и 0 если нет)
Protected Указывает, являются ли твиты аккаунта доступными всем аккаунтам (принимает значение 0 если являются и 1 если нет)
Verified Указывает, подтвердил ли Twitter, что данный аккаунт является подлинным (принимает значение 1 если подтвердил и 0 если нет)
3. Методика тестирования алгоритма
3.1. Алгоритм валидации
Главная задача алгоритмов машинного обучения - обобщить доступные данные для обработки новых. Для того чтобы дать оценку качества работы алгоритма на новых данных используются различные алгоритмы валидации, где все доступные данные делятся на тренировочные (на которых происходит обучение алгоритма) и тестовые (на которых происходит оценка точности алгоритма).
В данной работе используется алгоритм кросс-валидации, который производит разделение данных на тренировочные и тестовые множество раз, чтобы все экземпляры данных участвовали в оценке точности алгоритма.
Одним из часто использующихся видов кросс-валидации является кросс-валидация по к блокам (Рис. 1). При данном виде валидации данные делятся на к блоков, после чего к итераций происходит оценка точности. Каждую итерацию один блок берется в качестве тестового, а остальные к — 1 блоков в качестве тренировочных. На тренировочных дан-
ных алгоритм обучается с определёнными гиперпараметрами , после чего на тестовых данных происходит оценка точности. Оценка точности кросс-валидацией вычисляется как среднее арифметическое от всех полученных ранее значений точностей.
Рис. 1. Кросс-валидация по к блокам
Рассмотрим метод кросс-валидации выбором оптимальных гиперпараметров [20] (Рис. 2):
1. Доступные данные делятся на две подгруппы: тренировочные и тестовые.
2. Тренировочные данные подаются на вход алгоритму обучения с различными гиперпараметрами. Для каждой конфигурации гиперпараметров производится алгоритм кросс-валидации на тренировочных данных, в результате чего на выходе получаем значения точностей.
4 Некоторые параметры алгоритма, которые не изменяются в процессе его обучения
3. Тренировочные данные подаются на вход алгоритму с наилучшими гиперпараметрами. На выходе получаем модель.
4. Производится оценка точности, полученной на прошлом этапе модели на тестовых данных.
Рис. 2. Визуальное представление метода кросс-валидации с определением гиперпараметров
5. Тренировочные и тестовые данные объединяются и подаются на вход алгоритму с наилучшими гиперпарметрами. На выходе получается финальная модель.
Описание используемого метода разделения данных на тренировочные и тестовые, а также используемой метрики для оценки точности представлено в следующих двух разделах.
3.2. Разделение данных
Разделение данных на тренировочные и тестовые в данной работе производится методом стратификации, который состоит из двух следующих этапов:
1. Все доступные данные делятся на классы (в контексте данной работы два класса: боты и пользователи).
2. Из каждого класса случайным образом выбираются в определенном соотношении тренировочные и тестовые данные (например, 70% тренировочных и 30% тестовых).
Стратификационное разделение данных рекомендуется применять в случае сильно несбалансированных данных (когда количество элементов какого-то класса значительно больше количества элементов другого), чтобы избежать ситуации, когда в тренировочных или тестовых данных отсутствуют элементы одного из классов. Кроме того, согласно исследованию [21] стратификация имеет положительный эффект на разброс и смещение оценки точности при кросс-валидационной проверке по блокам.
Для того чтобы определить количественное значение точности алгоритма используются различные метрики [21]. Перед переходом к описанию метрик введем концепцию для описания этих метрик в терминах ошибок классификации - матрицу ошибок [23]. Если рассматривать в терминах бинарной классификации, то матрица ошибок определяется следующим образом.
Пусть дана выборка , метки класса , и классифи-
катор а, который предсказывает к какому из классов относится тот или иной элемент выборки х, где п — количество признаков в выборке, N — размер выборки. Матрицей ошибок для такого классификатора называется следующая матрица:
= — операция эквиваленции, а суммирование ведется в кольце целых чисел.
Каждый элемент матрицы имеет следующие названия:
- т 11 — ТР (Тгие р о5 / t / Vе) . Число объектов положительного класса, идентифицируемых как объекты положительного класса. В контексте данной работы под объектами положительного класса будут пониматься боты, а под объектами отрицательного класса обычные пользователи;
- . Число объектов отрицательного класса, идентифицируемых как объекты отрицательного класса;
3.2. Метрика точности
(5)
где , ,
- т i 0— F Р ( F a I s е р о s i t i 11 e ) . Число объектов отрицательного класса, идентифицируемых как объекты положительного класса;
- т0 i — FN (Fa/s е neg atiiie ) . Число объектов положительного класса, идентифицируемых как объекты отрицательного класса.
После введения необходимых обозначений приведем описание используемых метрик и их формулы.
Метрика полнота (recall) показывает какую долю объектов положительного класса из всех объектов положительного класса нашел алгоритм. Другими словами, данная метрика демонстрирует способность алгоритма распознавать объекты положительного класса. Данная метрика вычисляется по следующей формуле:
TP
R е с =-. (6)
TP + FN
Метрика точность (precision) показывает какая доля объектов, названных положительными, является положительными. Данная метрика не позволяет записывать все объекты в один класс при неравном распределении классов. Данная метрика вычисляется по следующей формуле:
ТР
Рг е =-. (7)
TP+ FP
Так как во время оптимизации гиперпараметров алгоритма используется одна метрика, то необходимо объединить метрики точность и полнота. Для этого была использована Fj-мера, которая является среднегармоническим между точностью и полностой, и определяется по следующей формуле:
Pre ■ Rec
Fi = 2 ■ --—. (8)
Pre + Rec
4. Результаты обучения и тестирования
В данном разделе представлены результаты обучения алгоритма «Случайный лес» с подбором оптимальных гиперпараметров при помощи метода кросс-валидации по 10 блокам, где в качестве метрики для оценки точности используется Fi мера. Данные были разделены методом стратификации на две группы: тренировочные и тестовые (90% тренировочных, 10% тестовых). На тренировочных данных происходит подбор оптимальных гиперпараметров, а на тестовых вычисляется значение точности модели, использующей эти гиперпараметры.
Программное обеспечение, с помощью которого были реализованы описанные действия, написано на языке программирования высокого уровня Python с использованием набора библиотек Python. Из используемых библиотек особенно стоит упомянуть библиотеку машинного обучения scikit-learn [24], которая позволила выполнить поставленные задачи. Реализованная модель для распознавания ботов в онлайновой социальной сети
Twitter была выложена в сеть Интернет и доступна по URL-адресу: https://bot-detect.herokuapp.com.В таблице Таблица 3 представлена зависимость F1 метрики от количества решающих деревьев N и от максимальной глубины деревьев d на тренировочных данных.
Таблица 3. Зависимость значения метрики ^ от гиперпараметров при использовании метода кросс-
валидации
\d N \ 1 2 3 4 5 6 7 8 9
1 0.761 0.760 0.813 0.963 0.950 0.950 0.955 0.958 0.958
2 0.959 0.957 0.960 0.961 0.964 0.965 0.963 0.959 0.953
3 0.761 0.899 0.953 0.963 0.965 0.969 0.967 0.968 0.969
4 0.962 0.963 0.961 0.963 0.966 0.969 0.968 0.968 0.970
5 0.780 0.950 0.955 0.965 0.967 0.969 0.970 0.970 0.971
6 0.898 0.944 0.961 0.964 0.967 0.970 0.969 0.970 0.971
7 0.956 0.956 0.962 0.965 0.967 0.970 0.969 0.971 0.971
8 0.904 0.957 0.964 0.965 0.967 0.971 0.970 0.972 0.972
9 0.775 0.961 0.963 0.965 0.968 0.970 0.971 0.973 0.972
Как видно, наилучшие результаты достигаются при глубине дерева d равном 8 и числе решающих деревьев N равном 9. После обучения алгоритма на тренировочных данных с полученными оптимальными гиперпараметрами было произведено тестирование на тестовых данных и получено значение F1 метрики равное 0.972.
5. Сравнение с другими работами
Для сравнения алгоритма, используемого в данной работе, с алгоритмами других авторов была использована статья [18]. В этой статье произведено тестирование различных алгоритмов на двух наборах тестовых данных. Первый набор тестовых данных состоял наполовину из группы «genuine accounts» и наполовину из группы «social spambots #1». Второй набор тестовых данных состоял наполовину из группы «genuine accounts» и наполовину из группы «social spambots #3».
Для более корректного сравнения было произведено повторное обучение алгоритма без групп «social spambots #1», «social spambots #2», «social spambots #3» и без половины группы «genuine accounts» на полученных лучших гиперпараметрах. После произведённого обучения было произведено тестирование на двух наборах тестовых данных, аналогичных тестовым данным из статьи [18]. Сравнение результатов работы различных алгоритмов представлено в таблицах
Название статьи Используемый алгоритм Значение f j-меры
BotOrNot: A system to evaluate social bots [25] «Случайный лес» с более 1000 признаков 0.288
Empirical evaluation and new design for fighting evolving Twitter spammers [19] «Случайный лес»5 с разработанным в статье набором признаков 0.261
Twitter Spammer Detection Using Data Stream Clustering [26] Алгоритм кластеризации DenStream 0.435
A generic statistical approach for spam detection in online social networks [10] Марковский алгоритм кластеризации 0.944
DNA-inspired online behavioral modeling and its application to spambot detection [27] Сравнение «цифровой ДНК» аккаунтов 0.977
Распознавание ботов в онлайновых социальных сетях при помощи алгоритма «Случайный лес» «Случайный лес» с 9 признаками аккаунтов 0.973
Таблица 5. Сравнение ^ -метрики на втором наборе тестовых данных
Название статьи Используемый алгоритм Значение f х-меры
BotOrNot: A system to evaluate social bots [25] «Случайный лес» с более 1000 признаков 0.761
Empirical evaluation and new design for fighting evolving Twitter spammers [19] «Случайный лес» с разработанным в статье набором признаков 0.524
Twitter Spammer Detection Using Data Stream Clustering [26] Алгоритм кластеризации DenStream 0.370
A generic statistical approach for spam detection in online social networks [10] Марковский алгоритм кластеризации 0.923
DNA-inspired online behavioral modeling and its application to spambot detection [27] Сравнение «цифровой ДНК» аккаунтов 0.923
Распознавание ботов в онлайновых социальных сетях при помощи алгоритма «Случайный лес» «Случайный лес» с 9 признаками аккаунтов 0.963
Как видно, обученный в данной статье алгоритм является довольно эффективным по сравнению с другими работами.
5 В статье используются различные алгоритмы машинного обучения, основная цель статьи была показать эффективность разработанных признаков. Однако наиболее хорошие результаты показал алгоритм «Случайный лес»
Заключение
Для распознавания ботов в онлайновой социальной сети Twitter был использован алгоритм машинного обучения «Случайный лес». В качестве исходных данных для обучения и тестирования алгоритма была использована база данных из нескольких тысяч акка-унтов Twitter, состоящей как из обычных пользователей, так из нескольких видов ботов. Стоит отметить, что для обучения алгоритма были использованы только 9 признаков ак-каунтов Twitter. При помощи алгоритма кросс-валидации были подобраны оптимальные гиперпараметры алгоритма, в качестве которых рассматривались число и глубина деревьев. На обученном алгоритме с оптимальным набором гиперпараметров было произведено тестирование на случайном наборе данных и получено значение Б1-метрики равной 0.972. Кроме того, было произведено тестирование на двух дополнительных наборах данных для сравнения с другими работами, в результате которого были получены значения Б1-метрик равные 0.973 и 0.963. Полученные значения являются довольно высокими по сравнению с тестами алгоритмов других авторов.
Список литературы
1. De Meo P., Ferrara E., Fiumara G., A. Provetti A. On Facebook, most ties are weak // Communications of the ACM. 2014. Vol. 57. No. 11. Pp. 78-84. DOI: 10.1145/2629438
2. Tsagkias M., de Rijke M., Weerkamp W. Linking online news and social media // 4th ACM intern. conf. on Web search and data mining: WSDM'11 (Hong Kong, China, February 9-12, 2011): Proc. N.Y.: ACM, 2011. Pp. 565-574. DOI: 10.1145/1935826.1935906
3. Губанов Д.А., Новиков Д.А., Чхартишвили А.Г. Социальные сети: модели информационного влияния, управления и противоборства. М.: Физматлит, 2010. 225 с.
4. Шушков Г.М., Сергеев И.В. Концептуальные основы информационной безопасности Российской Федерации // Актуальные вопросы научной и научно-педагогической деятельности молодых ученых: III Всеросс. заочная науч.-практич. конф. (Москва, Россия, 23 ноября - 30 декабря 2015 г.): Сб. науч. тр. М., 2016. С. 69-76.
5. Лыфенко Н.Д. Виртуальные пользователи в социальных сетях: мифы и реальность // Вопросы кибербезопасности. 2014. № 5(8). С. 17-20.
6. Ferrara E., Varol O., Davis C., Menczer F., Flammini A. The rise of social bots // Communications of the ACM. 2016. Vol. 59. No. 7. Pp. 96-104. DOI: 10.1145/2818717
7. Ratkiewicz J., Conover M.D., Meiss M.R., Gon9alves B., Flammini A., Menczer F. Detecting and tracking political abuse in social media // 5th intern. AAAI conf. on weblogs and social media: ICWSM'11 (Barcelona, Spain, July 17-21, 2011): Proc. Palo Alto, CA: AAAI Press, 2011. Pp. 297-304.
8. Ferrara E. Manipulation and abuse on social media // ACM SIGWEB Newsletter. 2015. Article no. 4. DOI: 10.1145/2749279.2749283
9. Wang A.H. Detecting spam bots in online social networking sites: A machine learning approach // Data and application security and privacy XXIV: 24th Annual IFIP conf. on data and applications security and privacy: DBSec 2010 (Rome, Italy, June 21-23, 2010): Proc. B.; HDBL.: Springer, 2010. Pp. 335-342. DOI: 10.1007/978-3-642-13739-6 25
10. Faraz Ahmed, Muhammad Abulaish. A generic statistical approach for spam detection in online social networks // Computer Communications. 2013. Vol. 36. No. 10-11. Pp. 1120-1129. DOI: 10.1016/j.comcom.2013.04.004
11. Zi Chu, Indra Widjaja, Haining Wang. Detecting social spam campaigns on Twitter // Applied cryptography and network security: 10th intern. conf. on applied cryptography and network security: ACNS'12 (Singapore, Singapore, June 26-29, 2012): Proc. B.; Hdbl.: Springer, 2012. Pp. 455-472. DOI: 10.1007/978-3-642-31284-7 27
12. Haewoon Kwak, Changhyun Lee, Hosung Park, Sue Moon. What is Twitter, a social network or a news media? // 19th intern. conf. on World Wide Web: WWW'10 (Raleigh, NC, USA, April 26-30, 2010): Proc. N.Y.: ACM, 2010. Pp. 591-600. DOI: 10.1145/1772690.1772751
13. Liaw A., Wiener M. Classification and regression by randomForest // R News. 2002. Vol. 2. No. 3. Pp. 18-22.
14. Biau G., Scornet E. A random forest guided tour // TEST. 2016. Vol. 25. No. 2. Pp. 197-227. DOI: 10.1007/s11749-016-0481-7
15. Classification and regression trees / L. Breiman a.o. Belmont, CA: Wadsworth Intern. Group, 1984. 358 p.
16. Safavian S., Landgrebe D. A survey of decision tree classifier methodology // IEEE Trans. on Systems, Man and Cybernetics. 1991. Vol. 21. No. 3. Pp. 660-674. DOI: 10.1109/21.97458
17. Raileanu L.E., Stoffel K. Theoretical comparison between the Gini Index and Information Gain Criteria // Annals of Mathematics and Artificial Intelligence. 2004. Vol. 41. No. 1. Pp. 77-93. DOI: 10.1023/B:AMAI.0000018580.96245.c6
18. Cresci S., Di Pietro R., Petrocchi M., Spognardi A., Tesconi M. The paradigm-shift of social spambots: Evidence, theories, and tools for the arms race // 26th intern. conf. on World Wide Web Companion: WWW'17 Companion (Perth, Australia, April 3-7, 2017): Proc. N.Y.: ACM, 2017. Pp. 963-972. DOI: 10.1145/3041021.3055135
19. Chao Yang, Harkreader R., Guofei Gu. Empirical evaluation and new design for fighting evolving Twitter spammers // IEEE Trans. on Information Forensics and Security. 2013. Vol. 8. No. 8. Pp. 1280-1293. DOI: 10.1109/TIFS.2013.2267732
20. Raschka S. Model evaluation, model selection, and algorithm selection in machine learning / Univ. of Wisconsin-Madison; Dep. of Statistics. 2018. Режим доступа: https://sebastianraschka.com/pdf/manuscripts/model-eval.pdf (дата обращения 13.04.2019).
21. Kohavi R. A study of cross-validation and bootstrap for accuracy estimation and model selection //14th Intern. joint conf. on artificial intelligence: IJCAI'95 (Montreal, Canada, August 2025, 1995): Proc. N.Y.: ACM, 1995. Vol. 2. Pp. 1137-1143.
22. Hossin M., Sulaiman M.N. A review on evaluation metrics for data classification evaluations // Intern. J. of Data Mining & Knowledge Management Process (IJDKP). 2015. Vol. 5. No. 2. Pp. 1-11. DOI: 10.5121/ijdkp.2015.5201
23. Caelen O. A Bayesian interpretation of the confusion matrix // Annals of Mathematics and Artificial Intelligence. 2017. Vol. 81. No. 3-4. Pp. 429-450. DOI: 10.1007/s10472-017-9564-8
24. Pedregosa F., Varoquaux G., Gramfort A., Michel V., Thirion B., Grisel O., Blondel M., Prettenhofer P., Weiss R., Dubourg V., Vanderplas J., Passos A.,. Cournapeau D., Brucher M., Perrot M., Duchesnay E. Scikit-learn: Machine learning in Python // The J. of Machine Learning Research. 2011. Vol. 12. Pp. 2825-2830.
25. Davis C.A., Varol O., Ferrara E., Flammini A., Menczer F. BotOrNot: A system to evaluate social bots // 25th intern. conf. companion on World Wide Web: WWW'16 (Montreal, Canada, April 11-15, 2016): Proc. N.Y.: ACM, 2016. Pp. 273-274. DOI: 10.1145/2872518.2889302
26. Miller Z., Dickinson B., Deitrick W., Wei Hu, Alex Hai Wang. Twitter spammer detection using data stream clustering // J. Information Sciences - Informatics and Computer Science, Intelligent Systems, Applications. 2014. Vol. 260. Pp. 64-73. DOI: 10.1016/j.ins.2013.11.016
27. Cresci S., Di Pietro R., Petrocchi M., Spognardi A., Tesconi M. DNA-inspired online behavioral modeling and its application to spambot detection // IEEE Intelligent Systems. 2016. Vol. 31. No. 5. Pp. 58-64. DOI: 10.1109/MIS.2016.29
Mechanical Engineering & Computer Science
Electronic journal
http://www.technomagelpub.ru ISSN 2587-9278
Mechanical Engineering and Computer Science, 2019, no. 04, pp. 24-41.
DOI: 10.24108/0419.0001473
Received: 19.03.2019
© NP "NEICON"
Bots Recognition in Social Networks Using the Random Forest Algorithm
M.G. Khachatrian1*, P.G. Klyucharev1
:Bauman Moscow State Technical University, Moscow, Russia
Keywords: Random Forest, Twitter, cross-validation, Fj-metric, stratification
Online social networks are of essence, as a tool for communication, for millions of people in their real world. However, online social networks also serve an arena of information war. One tool for infowar is bots, which are thought of as software designed to simulate the real user's behaviour in online social networks.
The paper objective is to develop a model for recognition of bots in online social networks. To develop this model, a machine-learning algorithm "Random Forest" was used. Since implementation of machine-learning algorithms requires the maximum data amount, the Twitter online social network was used to solve the problem of bot recognition. This online social network is regularly used in many studies on the recognition of bots.
For learning and testing the Random Forest algorithm, a Twitter account dataset was used, which involved above 3,000 users and over 6,000 bots. While learning and testing the Random Forest algorithm, the optimal hyper-parameters of the algorithm were determined at which the highest value of the F1 metric was reached. As a programming language that allowed the above actions to be implemented, was chosen Python, which is frequently used in solving problems related to machine learning.
To compare the developed model with the other authors' models, testing was based on the two Twitter account datasets, which involved as many as half of bots and half of real users. As a result of testing on these datasets, F1-metrics of 0.973 and 0.923 were obtained. The obtained F1-metric values are quite high as compared with the papers of other authors.
As a result, in this paper a model of high accuracy rates was obtained that can recognize bots in the Twitter online social network.
References
1. De Meo P., Ferrara E., Fiumara G., Provetti A. On Facebook, most ties are weak. Communications of the ACM, 2014, vol. 57, no. 11, pp. 78-84. DOI: 10.1145/2629438
2. Tsagkias M., de Rijke M., Weerkamp W. Linking online news and social media. 4th intern. conf. on Web search and data mining: WSDM'11 (Hong Kong, China, February 9-12, 2011): Proc. N.Y.: ACM, 2011. Pp. 565-574. DOI: 10.1145/1935826.1935906
3. Gubanov D.A., Novikov D.A., Chkhartishvili A.G. Sotsial'nye seti: Modeli informatsionnogo vliianiia, upravleniia iprotivoborstva [Social networks: models of informational influence, control and confrontation]. Moscow: Fizmatlit Publ., 2010. 225 p. (in Russian).
4. Shushkov G.M., Sergeev I.V. Kontseptual'nye osnovy informatsionnoj bezopasnosti Rossijskoj Federatsii [Conceptual foundations of information security of the Russian Federation]. Aktual'nye voprosy nauchnoj i nauchno-pedagogicheskoj deiatel'nosti molodykh uchenykh: III Vserossijskaia zaochnaia nauchno-prakticheskaia konferentsiia [Topical issues of scientific and scientific-pedagogical activity of young scientists: III All-Russian scientific and practical. conf. (Moscow, Russia, November 23 - December 30, 2015)]: Proc. Moscow, 2016. Pp. 69-76 (in Russian).
5. Lyfenko N.D. Virtual users in social networks: myths and reality. Voprosy kiberbezopasnosti [Cybersecurity Issues], 2014, no. 5(8), pp. 17-20 (in Russian).
6. Ferrara E., Varol O., Davis C., Menczer F., Flammini A. The rise of social bots. Communications of the ACM, 2016, vol. 59, no. 7, pp. 96-104. DOI: 10.1145/2818717
7. Ratkiewicz J., Conover M.D., Meiss M.R., Gonçalves B., Flammini A., Menczer F. Detecting and tracking political abuse in social media. 5th intern. AAAI conf. on weblogs and social media: ICWSM'11 (Barcelona, Spain, July 17-21, 2011): Proc. Palo Alto, CA: AAAI Press, 2011. Pp. 297-304.
8. Ferrara E. Manipulation and abuse on social media. ACM SIGWEB Newsletter, 2015, article no. 4. DOI: 10.1145/2749279.2749283
9. Wang A.H. Detecting spam bots in online social networking sites: A machine learning approach. Data and application security and privacy XXIV: 24th Annual IFIP conf. on data and applications security and privacy: DBSec 2010 (Rome, Italy, June 21-23, 2010): Proc. B.; HDBL.: Springer, 2010. Pp. 335-342. DOI: 10.1007/978-3-642-13739-6 25
10. Faraz Ahmed, Muhammad Abulaish. A generic statistical approach for spam detection in online social networks. Computer Communications, 2013, vol. 36, no. 10-11, pp. 1120-1129.
DOI: 10.1016/j.comcom.2013.04.004
11. Zi Chu, Indra Widjaja, Haining Wang. Detecting social spam campaigns on Twitter. Applied cryptography and network security: 10th intern. conf. on applied cryptography and network security: ACNS'12 (Singapore, Singapore, June 26-29, 2012): Proc. B.; HDBL.: Springer, 2012. Pp. 455-472. DOI: 10.1007/978-3-642-31284-7 27
12. Haewoon Kwak, Changhyun Lee, Hosung Park, Sue Moon. What is Twitter, a social Network or a news media? 19th intern. conf. on World Wide Web: WWW'10 (Raleigh, NC, USA, April 26-30, 2010): Proc. N.Y.: ACM, 2010. Pp. 591-600. DOI: 10.1145/1772690.1772751
13. Liaw A., Wiener M. Classification and regression by randomForest. RNews, 2002, vol. 2, no. 3, pp. 18-22.
14. Biau G., Scornet E. A random forest guided tour. TEST, 2016, vol. 25, no. 2, pp. 197-227. DOI: 10.1007/s11749-016-0481-7
15. Classification and regression trees / L. Breiman a.o. Belmont, CA: Wadsworth Intern. Group, 1984. 358 p.
16. Safavian S., Landgrebe D. A survey of decision tree classifier methodology. IEEE Trans. on Systems, Man and Cybernetics, 1991, vol. 21, no. 3, pp. 660-674. DOI: 10.1109/21.97458
17. Raileanu L.E., Stoffel K. Theoretical comparison between the Gini Index and Information Gain Criteria. Annals of Mathematics and Artificial Intelligence, 2004, vol. 41, no. 1, pp. 77-93. DOI: 10.1023/B:AMAI.0000018580.96245.c6
18. Cresci S., Di Pietro R., Petrocchi M., Spognardi A., Tesconi M. The paradigm-shift of social spambots: Evidence, theories, and tools for the arms race. 26th
intern. conf. on World Wide Web Companion: WWW'17 Companion (Perth, Australia, April 3-7, 2017): Proc. N.Y.: ACM, 2017. Pp. 963-972. DOI: 10.1145/3041021.3055135
19. Chao Yang, Harkreader R., Guofei Gu. Empirical evaluation and new design for fighting evolving Twitter spammers. IEEE Trans. on Information Forensics and Security, 2013, vol. 8, no. 8, pp. 1280-1293. DOI: 10.1109/TIFS.2013.2267732
20. Raschka S. Model evaluation, model selection, and algorithm selection in machine learning / Univ. of Wisconsin-Madison; Dep. of Statistics. 2018. Available at: https://sebastianraschka.com/pdf/manuscripts/model-eval.pdf, accessed 13.04.2019.
21. Kohavi R. A study of cross-validation and bootstrap for accuracy estimation and model selection. 14th Intern. joint conf. on artificial intelligence: IJCAI'95 (Montreal, Canada, August 2025, 1995): Proc. N.Y.: ACM, 1995. Vol. 2. Pp. 1137-1143.
22. Hossin M., Sulaiman M.N. A review on evaluation metrics for data classification evaluations. Intern. J. of Data Mining & Knowledge Management Process (IJDKP), 2015, vol. 5, no. 2, pp. 1-11. DOI: 10.5121/ijdkp.2015.5201
23. Caelen O. A Bayesian interpretation of the confusion matrix. Annals of Mathematics and Artificial Intelligence, 2017, vol. 81, no. 3-4, pp. 429-450. DOI: 10.1007/s 10472-017-9564-8
24. Pedregosa F., Varoquaux G., Gramfort A., Michel V., Thirion B., Grisel O., Blondel M., Prettenhofer P., Weiss R., Dubourg V., Vanderplas J., Passos A., Cournapeau D., Brucher M., Perrot M., Duchesnay E. Scikit-learn: Machine learning in Python. The J. of Machine Learning Research, 2011, vol. 12, pp. 2825-2830.
25. Davis C.A., Varol O., Ferrara E., Flammini A., Menczer F. BotOrNot: A system to evaluate social bots. 25th intern. conf. companion on World Wide Web: WWW'16 (Montreal, Canada, April 11-15, 2016): Proc. N.Y.: ACM, 2016. Pp. 273-274. DOI: 10.1145/2872518.2889302
26. Miller Z., Dickinson B., Deitrick W., Wei Hu, Alex Hai Wang. Twitter spammer detection using data stream clustering. J. Information Sciences - Informatics and Computer Science, Intelligent Systems, Applications, 2014, vol. 260, pp. 64-73. DOI: 10.1016/j.ins.2013.11.016
27. Cresci S., Di Pietro R., Petrocchi M., Spognardi A., Tesconi M. DNA-inspired online behavioral modeling and its application to spambot detection. IEEE Intelligent Systems, 2016, vol. 31, no. 5, pp. 58-64. DOI: 10.1109/MIS.2016.29