ВВЕДЕНИЕ 4
1. АНАЛИЗ ДОКУМЕНТОВ 6
1.1 Предварительная обработка 6
1.1.1 Удаление стоп-слов и пунктуации 6
1.1.2 Стемминг или лемматизация 6
1.1.3 Токенизация 7
1.2 Векторное представление текстовых данных 7
1.2.1 Bag-of-words 7
1.2.2 TF-IDF 8
1.2.3 Латентно-семантический анализ 9
1.2.6 Латентное размещение Дирихле 18
1.3 Алгоритмы кластеризации 18
1.3.1 Метод К-средних 18
1.4 Меры сходства и расстояния 19
1.4.1 Евклидово расстояние 19
1.4.2 Косинусная мера 19
1.4.3 Дивергенция Дженсена-Шеннона 20
2. РЕАЛИЗАЦИЯ СЕРВИСА 21
2.1 Постановка задача 21
2.2 Инструменты разработки 21
2.3 Сбор данных 23
2.4 Модель поиска близких по тематике документов 24
2.4.1 LDA 24
2.4.2 TF-IDF
2.5 Разработка веб-сервиса 29
2.5.1 Функциональные возможности 29
2.5.2 Хранение документов в базе данных 29
2.5.3 Controller 30
2.5.4 Service 31
ЗАКЛЮЧЕНИЕ 33
ГЛОССАРИЙ 34
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 35
Одним из основных результатов деятельности исследователя является научная статья. В статье описываются определенные результаты научной деятельности, методы, используемые для достижения этих результатов, и их обсуждение с учетом работ других исследователей.
Создание научной статьи является сложным процессом. Помимо непосредственного написания статьи автору необходимо уделять особое внимание ее подготовке к публикации. При написании статьи необходимо учитывать требования журнала, в котором планируется ее опубликование. Требования могут касаться как оформления статьи, так и ее характеристик, таких как количество символов, количество страниц и т.д. Таким образом, автору приходится тратить много времени на корректировку статьи, чтобы она отвечала рассматриваемым требованиям.
Прежде чем статья будет опубликована, она должна пройти множество этапов рецензирования, правок, согласований. Для упрощения и автоматизации процесса публикации научных статей разрабатывается электронный научный журнал на основе OJS. Данный журнал позволит организовать полный процесс публикации научных работ - начиная от подачи работы через интернет и дальнейшего рецензирования, заканчивая непосредственно публикацией работы в электронном журнале.
Электронный журнал разрабатывается на основе системы OJS, что в свою очередь позволяет подключать множество дополнительных модулей, которые позволяют расширить функциональность системы.
Одним из функциональных требований разрабатываемого научного интернет журнала является поиск и рекомендация выпускных квалификационных работ с похожей тематикой, содержащихся в данном журнале.
Так как разрабатываемый журнал находится на стадии разработки, было решено создать программный модуль поиска выпускных квалификационных работ с похожей тематикой.
Целью настоящей дипломной работы является реализация поиска квалификационных выпускных работ схожей тематики.
Для достижения поставленной цели были решены следующие задачи:
1. Анализ методов представления слов в форме, необходимой для проведения анализа
2. Изучение методов анализа текстов
3. Выбор оптимального метода анализа
4. Написание программного модуля
Объектом диплома является процесс разработки модуля поиска близких по тематике выпускных квалификационных работ.
Предметом является программный модуль поиска близких по тематике выпускных квалификационных работ.
В результате проделанной работы был разработан программный модуль для поиска близких по тематике документов среди коллекции документов. В процессе работы были выполнены следующие задачи:
1) Рассмотрены методы обработки текста, разбиения текстов на кластеры, поиска текстов схожей тематики.
2) Разработан парсер репозитория выпускных квалификационных работ.
3) Разработан программный модуль для поиска выпускных квалификационных работ схожей тематики.
1. Гращенко Л. А. О модельном стоп-словаре // Известия Академии наук
Республики Таджикистан. Отделение физико-математических,
химических, геологических и технических наук — 2013. — № 1(150). — С. 40-46.
2. Russian stemming algorithm [Электронный ресурс] - Режим доступа: http: //snowball.tartarus. org/al gorithms/russian/stemmer.html
3. Лемматизация и индексация веб-страниц [Электронный ресурс] -
Режим доступа: https://blog.webformula.pro/article/lemmatizatsiya-i-
indeksatsiya-veb-stranits/
4. Лексер / Сегментация и токенизация текста [Электронный ресурс] -
Режим доступа -
http://www.solarix.ru/for developers/docs/tokenizer.shtml
5. A Beginner's Guide to Bag of Words & TF-IDF / Skymind [Электронный ресурс] - Режим доступа: https://skymind.ai/wiki/bagofwords-tf-idf
6. TF-IDF с примерами кода: просто и понятно / NLPx - Tales Of Data Since [Электронный ресур] - Режим доступа: http: //nlpx.net/archives/57
7. Латенто-семантический анализ / Habr [Электронный ресурс] -Режим доступа: https://habr.com/en/post/110078/
8. Mikolov T., Chen K., Corrado G., Dean J. Efficient Estimation of Word Representations in Vector Space. In: Proceedings of Workshop at ICLR, 2013
9. Le Q., Mikolov T. Distributed Representations of Sentences and Documents. In: Proceedings of The 31st International Conference on Machine Learning, 2014, vol. 32, pp. 1188-1196.
10. Jensen-Shannon Divergence / dit [Электронный ресурс] - Режим доступа:
https://dit.readthedocs.io/en/latest/measures/divergences/jensen shannon di vergence.html