Тип работы:
Предмет:
Язык работы:


КЛАССИФИКАЦИЯ ТЕКСТОВ С ПОМОЩЬЮ НЕЙРОННОЙ СЕТИ ДЛЯ СЕРВИСА “НАРОДНЫЙ КОНТРОЛЬ”

Работа №43644

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы47
Год сдачи2018
Стоимость4300 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
335
Не подходит работа?

Узнай цену на написание


Введение 2
1. Постановка задачи классификации 6
1.1. Формальная постановка 6
1.2. Анализ методов автоматической классификации 6
1.3. Нейронная сеть 7
1.4. Алгоритм обучения 9
1.5. Метод опорных векторов 11
1.6. Численная оценка качества алгоритма 14
2. Реализация нейросетевого классификатора 19
2.1. Сбор данных 19
2.2. Способы представления текста 20
2.3. Стемминг 21
2.4. Кодирование входных данных 22
2.5. Проектирование реализации 23
2.6. Обучение нейронной сети 25
2.7. Тестирование нейронной сети 27
2.8. Структура приложения 29
3. Классификация методом опорных векторов 31
Заключение 33
Список литературы 35
Приложение


Данная работа посвящена разработке системы классификации текстов с помощью нейронной сети. Работа выполняется с целью внедрения в сервис “Народный контроль”[1 ] для сокращения времени определения категории заявки. На данный момент для создания заявки пользователю необходимо выбрать тему обращения из 80 категорий вручную, после чего проверка темы и содержания заявки обрабатывается вручную модератором. Разработанное решение повысит удобство взаимодействия пользователя с сервисом, и уменьшит трудозатраты по обработке обращений граждан сотрудниками “Народного контроля”.
Система берет на себя основной объем работ по классификации самых популярных категорий обращений. В связи с тем, что основная нагрузка происходит на 11 категорий, около половины категорий никогда не использовались, а остальные(их около 25) имеют меньше 1000 заявок. Для сравнения, на наиболее популярную категорию пришлось около 45000 заявок, а число всех поданных заявок около 148000 за все время существования сервиса. Статистика взята с официальной страницы сервиса на портале государственных и муниципальных услуг Республики Татарстан[2]. Соотношение количества заявок по категориям представлено в таб. 1. Для обучения классификатора необходимо большое количество данных, причем равное для всех категорий, поэтому было решено установить рубеж в 1100 заявок на каждую категорию.
Таблица 1. Количество заявок по категориям.
Название категории Количество заявок в Количество заявок в
обращений системе, шт. системе, %
Благоустройство
территории 44268 40.33236757
Содержание и ремонт
муниципальных дорог 19510 17.77546967
Организация
дорожного движения 16549 15.07771643
Общественный
транспорт 6135 5.589569781
Нарушение в
наружной рекламе 4894 4.45890049
Нарушение правил
торговли 3098 2.822573298
Поликлиники и
больницы 2642 2.407113832
Свалки 2582 2.352448113
Мобильная связь 1583 1.44226389
Доступная среда 1345 1.225423204
Бездомные животные 1169 1.065070428
Задача классификации это задача сопоставление объектов к определенным классам. Было решено использовать методы машинного обучения на основе искусственных нейронных сетей. С помощью нейросетевых классификаторов можно добиться наибольшей точности классификации^]. Кроме того, скорость работы обученного классификатора в инкрементном режиме куда выше, чем у классификаторов построенных на базе других методов машинного обучения. Инкрементным режимом работы классификатора называется режим работы, при котором классификатор распознает каждый отдельно взятый документ в режиме реального времени, вместо распознавания всей выборки сразу.
Задача подготовки данных для нейронной сети состоит из следующих этапов:
1) Работа с данными
- Составить базу данных из заявок;
- Разбить всю совокупность данных на два множества: обучающее и тестовое. Разбиение обычно производится в соотношении 70/30, чтобы оценка качества классификатора была более объективной[4].
2) Предварительная обработка данных
- Построить словарь слов используемых в текстах, с помощью метода п-грамм[6];
- Выбрать систему кодирования входных значений, на основе построенного словаря.
3) Проектирование, реализация и обучение нейронной сети
- Выбрать топологию сети: количество слоев, число нейронов в слоях;
- Выбрать функцию активации нейронов;
- Оценить качество работы сети с помощью метрик качества на тестовом множестве;
- Остановится на варианте сети, который обеспечивает наилучшую способность к обобщению;
4) Использование и диагностика
- В случае достижение необходимой точности классификации использовать сеть для решения задачи;
- При необходимости вернутся на этап 2, изменив пространство признаков. Или на этап 3, изменив топологию сети, для достижения наибольшей точности классификации;
Результатом выполнения задач будет реализация автоматизированной системы по классификации заявок, которая может облегчить процедуру создания обращений для пользователей и обработки обращений для модераторов.
Цели работы:
1. Реализовать подсистему для построения словаря и преобразования текста в вектор;
2. Реализовать и протестировать наиболее эффективные топологии нейронных сетей на базе фреймворка;
3. На основе полученных результатов построить максимально эффективный классификатор.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В данной работе было проведено исследование максимально точных алгоритмов классификации текстов: нейронной сети и метода опорных векторов. Были собраны заявки с портала “Народный контроль” и предварительно обработаны для нейросетевого классификатора. Был реализован нейросетевой классификатор, и была произведена классификация реализованным алгоритмом на данных портала “Народный контроль”. На тех же данных была произведена классификация методом опорных векторов с помощью специального программного обеспечения. По результатам проведенного тестирования предлагаемого алгоритма классификации текстов можно говорить о том, что в ходе эксперимента были получены результаты, подтверждающие целесообразность его использования. Для некоторых категорий обращений более эффективным показал себя классификатор на основе метода опорных векторов, но для большинства был эффективен нейросетевой. В дальнейшем можно до этапа классификации текста, помечать его предполагаемой категорией на этапе модерации и выборочно использовать классификаторы для подтверждения принадлежности к конкретной категории. Можно совместить алгоритмы классификации и использовать веса из последнего слоя нейронной сети на подачу в классификатор на основе метода опорных векторов, выходной слой классификатора на основе метода опорных векторов дает целочисленное значение принадлежности в конкретной категории. Также возможно доработать нейросетевой классификатор: провести эксперименты с уменьшением количества нейронов в слоях и изменить размерность пространства признаков[16].
Реализацию алгоритма классификации на основе нейронных сетей можно использовать для классификации заявок на портале “Народный контроль”.



[1] Открытая база данных заявок “Народный контроль” - (https://uslugi.tatar.ru/open-gov)
[2] Статистика по использованию сервиса “Народный контроль” - (https: //uslugi.tatar.ru/open-gov/ rating/category)
[3] Лифшиц Ю. Лекция "Алгоритмы для поисковых систем" / Классификации текстов - 2005. - 1 с. - (http://yury.name/modem/06modemnote.pdf).
[4] Уоссермен Ф. Искусственные нейронные сети / Нейрокомпьютерная техника: Теория и практика. - Мир, 1992. - 5 с.- (http://evrika.tsi.lv/index.php?name=texts&file=show&f=410)
[5] Батура Т.В. Методы автоматической классификации. - 2017. - (http: //www. swsy s .ru/index .php?page=article&id=4252).
[6] Proceedings of the 7th Annual Conference ZNALOSTI 2008 / N-gram - Bratislava, Slovakia, 2008. - 54-65 c.
[7] Jain, Murty and Flynn, Data Clustering: A Review / Clustering - ACM Comp. Surv. 1999. -
(http://citeseer.ist.psu.edu/jain99data.html)
[8] Hlavac V. Classifier performance evaluation / Accuracy, precision, recall - Prague, Czech Republic, 2010. - 11-13 c. -
(http: //cmp .felk.cvut.cz/~hlavac/T eachPresEn/31 PattRecog/13 ClassifierPerform ance.pdf)
[9] Баженов Д. Оценка классификатора / F-мера - 2012. - (http://bazhenov.me/blog/2012/07/21/classification-performance-evaluation.htm 1)
[10] Искусственные нейронные сети и машинное обучение: направления развития, области применения / Нейронная сеть - Портал о современных технологиях беспроводной связи, 2017. -
(http://1234g.ru/novosti/iskusstvennaya-nejronnaya-set-i-machine-leaming)
[11] Яхъяева Г. Основы теории нейронных сетей. Лекция 15: Алгоритмы обучения / Обучение с учителем - 2006. - 1 с. - (https://www.intuit.ru/studies/courses/88/88/lecture/20555)
[12] Ефимов Е. Н., Шевгунов Т. Я. Построение нейронных сетей прямого распространения с использованием адаптивных элементов / Журнал радиоэлектроники. - 2012. - №. 8. - 51-74 с.
[13] Шевелев О. Е., Петраков А. В. Классификация текстов с помощью деревьев решений и нейронных сетей прямого распространения / Вестник Томского государственного университета. - 2006. - №. 290.
[14] Степанов Л. Моделирование конкуренции в условиях рынка. 2.3 ВЫБОР ФУНКЦИИ АКТИВАЦИИ И ОБУЧЕНИЕ НЕЙРОННОЙ СЕТИ - Москва, 2009. - (https://monographies.m/m/book/section?id=2465)
[15] Лифшиц Ю. Алгоритмы для Интернета / Метод опорных векторов - ПОМП РАН, СПбЕУ ИТМО, 2006 - (http://yury.name/internet/07ia.pdf)
[16] Стариков А. Применение нейронных сетей для задач классификации - Москва, 2009. - (https://basegroup.ru/community/articles/classification)
[17] Еудков В. Ю., Еудкова Е. Ф. N-граммы в лингвистике - Вестник Челябинского государственного университета, 2011. - 71-73 с.
[18] Porter М. An Algorithm for Suffix Stripping / Stemming - Program, Vol 14 no. 3, 1980 - 130-137 c.
[19] Encog Machine Learning Framework Documentation - (https://www.heatonresearch.com/encog/)
[20] Бирюков И. Разновидности нейронных сетей. Часть первая. Элементарные конфигурации - 2010. - (https://tproger.ru/translations/neural-network-zoo-l/)
[21] Apache Maven - (https://maven.apache.org/)
[22] TIBCO Statistica - (https://www.tibco.com/products/tibco-statistica)


Работу высылаем на протяжении 30 минут после оплаты.




©2024 Cервис помощи студентам в выполнении работ