Введение 3
Цели и задачи 5
Глава 1. Существующие подходы для решения задачи фильтрации спама 7
1.1. Ручная фильтрация 7
1.2. Кластеризация 7
1.2.1. Описание EM-алгоритма 7
1.3. Классификация 9
1.3.1. Логистическая регрессия 9
1.3.2. Множественная линейная регрессия 10
1.3.3. Наивный байесовкий классификатор 10
1.4. Анализ и сравнение методов 11
Глава 2. Практическая часть 13
2.1. Подготовка данных 13
2.1.1. Стемминг и лемматизация 13
2.1.2. Описание признаков 16
2.2. Программная реализация 18
2.2.1. Реализация логистической регрессии 18
2.2.2. Реализация клиентской части приложения 19
2.2.3. Реализация серверной части приложения 22
2.3. Настройка удаленного сервера 23
Глава 3. Результаты работы 26
3.1. Архитектура приложения 26
3.2. Оценка качества классификации 27
3.3. Демонстрация работы приложения 28
Выводы 32
Заключение 33
Список литературы 34
На сегодняшний день человечество не может обойтись без компьютерных и сетевых технологий. Средства связи вторглись в большинство сфер жизнедеятельности общества, начиная с помощи в образовании и заканчивая рекламой и продвижением какой-либо платной продукции. Отсюда возникла проблема получения нежелательных сообщений, иными словами, спама.
Слово «спам» произошло от названия марки консервов «SPAM» производства американской компании Hormel Foods. Во время Второй мировой войны этот продукт использовался в качестве продукта питания американских солдат, но, когда война закончилась, остались большие запасы продукции, и, чтобы избавиться от них, компания стала вести очень активную рекламу. С тех пор слово «спам» прижилось как название рекламной рассылки [1].
Коммерческие организации делают массовую рассылку, в том числе и людям, которые не хотели бы получать подобные сообщения. Иногда они даже представляют опасность, потому что могут содержать компьютерные вирусы, мошеннические ссылки. Кроме того, широковещательные рассылки влекут за собой большие затраты ресурсов сервера, отнимают время пользователя, затрачиваемое на прочтение и сортировку подобных писем.
Выделяют различные виды спама:
• Фишинг — попытка узнать секретные данные, такие как пароли, номера банковских карт и прочее.
• Реклама.
• Антиреклама — информация, направленная на уменьшение интереса пользователя к продукции какой-либо компании, к известной личности или нашумевшему событию.
• «Нигерийские письма» — носящие мошеннический характер, в которых говорится о якобы полученном наследстве и просьбе получателя прислать немного денег для оформления документов. Таким образом нарушитель закона выманивает деньги у обманутого человека.
По способам распространения спам классифицируется:
• Отправляемый на электронную почту — как правило, это спам в виде «нигерийских писем» или рекламы.
• Посылаемый в виде SMS по мобильной сети — обычно реклама или фишинг.
• Отправляемый пользователям социальных сетей.
По статистике доля спама в электронной почте составляет около 60%1, в SMS-сообщениях - 15%2. Такое положение дел является поводом для развития технологий фильтрации сообщений.
Рост пользователей мобильных телефонов привел к резкому увеличению количества нежелательных SMS-сообщений. Несмотря на то, что для электронной почты существует много различных фильтров, борьбе со спамом на мобильных телефонах уделяется не так много внимания. Исходя из этого факта, перед автором данной работы была поставлена задача исследовать проблему SMS-спама, рассмотреть существующие решения и их недостатки и найти новый подход для детектирования нежелательных SMS-сообщений.
В ходе работы реализовано клиент-серверное для смартфонов, работающих на платформе Андроид. Приложение обладает удобным графическим интерфейсом, с помощью которого пользователь с легкостью может читать, писать и удалять SMS-сообщения. Реализовано клиент-серверное взаимодействие между приложением на смартфоне и удаленной вычислительной машиной, выполняющей всю работу по анализу сообщений. Проведен анализ существующих методов борьбы со спамом и их сравнение с разработанным приложением. В ходе проверки фильтра получены оптимальные и достаточно большие значения метрик качества: точность (Рг), полнота (Rec), F-mera.
1. Борьба со спамом: история и методы [Электронный ресурс] // URL: https://mipt.ru/dmcp/student/diff_articles/no_spam.php (дата обращения: 12.02.17).
2. Брюс Эккель. Философия Java. 4 изд. СПб.: Питер , 2016. 1168 с.
3. Мироненко А. Н. Автоматическая фильтрация спама на базе сети формальных нейронов // Вестник омского университета. 2011. № 2. С. 178-182.
4. Коробейников А. Г., Блинов С. Ю., Лейман А. В., Маркина Г. Л., Кутузов И. М. Алгоритм определения спамности документов на основе фейеровских отображений // Научно-технический вестник информационных технологий, механики и оптики. 2012. № 6. С. 123-127.
5. Tiago A. Almeida, Jose Maria G. Hidalgo, Akebo Yamakami Contributions to the Study of SMS Spam Filtering: New Collection and Results // ACM New York. 2011. № 5. С. 259-262.
6. stanford.edu [Электронный ресурс] // URL:http://cs229.stanford. edu/notes/cs229-notes8.pdf (дата обращения: 19.12.16).
7. Supervised learning [Электронный ресурс] // URL:https://see. stanford.edu/materials/aimlcs229/cs229-notes1.pdf (дата обра- щения:05.03.2017).
8. Фальк В. Н., Бочаров И. А., Шаграев А. Г. Трансдуктивное обучение логистической регрессии в задаче классификации текстов // Программные продукты и системы. 2014. № 2 (106). С. 115-118.
9. Xin Yan, XiaoGang Su Linera regression analysis. Singapore: World Scientific, 2009. 328 с.
10. Калиткин Н. Н. Численные методы. 2 изд. СПб: БХВ-Петербург, 2011. 592 с.
11. Гмурман В. Е. Теория вероятностей и математическая статистика : учебное пособие для вузов. 11 изд. М.: Высшая школа, 2005. 479 с.
12. Машечкин И. В., Петровский М. И., Розинкин А. Н. Система предотвращения массовых рассылок на основе алгоритмов машинного обучения // Программные продукты и системы. 2005. № 3. С. 10-15.
13. Журавлева Л. В., Стригулин К. А. Анализ тональности отзывов пользователей в мета-области фильмов // Молодой ученый. 2016. № 12. С. 157-161.
14. Яцко В. А. Алгоритмы и программы автоматической обработки текста // Вестник Иркутского государственного лингвистического университета. 2012. № 1. С. 150-161.
15. Russian stemming algorithm [Электронный ресурс] // URL:http: //snowball.tartarus.org/algorithms/russian/stemmer.html (дата обращения: 19.11.16).
...