Аннотация
ВВЕДЕНИЕ 8
1 СУЩЕСТВУЮЩИЕ МЕТОДЫ ПОСТРОЕНИЯ ПОИСКОВЫХ СИСТЕМ И МЕТОДОВ ИХ УЛУЧШЕНИЯ. СУЩЕСТВУЮЩИЕ РАЗРАБОТКИ 10
1.1 Поисковая система 10
1.1.1 Поисковый индекс 10
1.1.2 Поисковая строка 11
1.1.3 Ранжирование 11
1.1.4 Поисковая машина 12
1.2 Оценка качества работы поисковой системы 12
1.2.1 Скорость полнота и точность 12
1.2.2 «Удовлетворенность пользователей» поисковой системы 13
1.2.3 Контент 14
1.3 Методы улучшения работы поисковых систем 16
1.3.1 Индивидуальная настройка параметров поисковой системы 16
1.3.2 Внедрение улучшенных алгоритмов ранжирования 19
1.3.2.1 Google PageRank 19
1.3.2.2 Google Penguin, Google Panda 21
1.3.3 Искусственные нейронные сети 21
1.4 Вычисление релевантности 25
1.4.7 TF-IDF близость 25
1.5 Программное обеспечение, реализующее или использующее
искусственные нейронные сети 31
1.5.1 Google-переводчик 31
1.5.2 Office 365 32
1.5.3 Prisma 33
1.5.4 TensorFlow 33
1.5.5 Keras 34
1.6 Программное обеспечение, реализующее или использующее
поисковые системы 34
1.6.1 Apache Lucene 34
1.6.2 Sphinx 36
1.6.3 Microsoft Office 37
1.7 Постановка задачи 39
Выводы по разделу 39
2 МОДЕЛЬ ДДЛЯ ИНТЕЛЛЕКТУАЛЬНОГО ПОИСКА. КРИТЕРИИ
ОЦЕНИВАНИЯ ПОИСКОВОЙ СИСТЕМЫ 41
2.1 Задача классификации 42
2.2 Структура нейронной сети для решения задачи классификации 42
2.3 Обучение нейронной сети 44
2.3.1 ADAM 45
2.3.2 Защита от переобучения 46
2.3.2.1 Е2-регуляризация 47
2.3.2.2 Dropout 47
2.4 Структура собираемой статистики 48
2.5 Пороговое преобразование выходов нейронной сети 49
2.6 «Дообучение» нейронной сети 50
2.7 Критерии оценки релевантности поиска на основе собранной
поисковой системой статистики 51
2.7.1 Позиционный критерий качества 51
2.7.2 Временной критерий качества 52
Выводы по разделу 53
3 РАЗРАБОТКА ПОИСКОВОЙ СИСТЕМЫ. ВНЕДРЕНИЕ МОДЕЛИ ДЛЯ
ИНТЕЛЛЕКТУАЛЬНОГО ПОИСКА. РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТА 54
3.1 Структура разработанной поисковой системы 54
3.1.1 Модуль индексирования 54
3.1.2 Поисковая строка 56
3.1.3 Поисковая машина 58
3.1.4 Ранжирование результатов поиска 58
3.2 Внедрение нейронной сети в локальную поисковую систему 58
3.2 Обучение нейронной сети 62
3.3 Методика эксперимента 64
3.3 Результаты эксперимента 64
Выводы по разделу 66
ЗАКЛЮЧЕНИЕ 68
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 70
ПРИЛОЖЕНИЯ 72
Листинг 1.1 - Пакет Searcher 72
Листинг 1.1.1 - класс Result 72
Листинг 1.1.2 - класс Searcher 72
Листинг 1.2 - Пакет Indexer 80
Листинг 1.2.1 - Класс Item 80
Листинг 1.2.2 - Класс Indexer 81
Листинг 1.3 - Модуль создания и обучения Нейронной сети 83
Процесс построения и обучения нейронных сетей требует немалых вычислительных трудов. К счастью, в настоящее время существует обилие различных вычислительных систем, обладающих достаточно высокой вычислительной мощностью. Разработка систем, алгоритмов и методов, их применение с использованием машинного обучения, стала перспективным направлением в науке.
С каждым днем, количество информации в мире увеличивается. В большом количестве данных невозможно разобраться вручную, поэтому с каждым днем появляется всё больше алгоритмов для их обработки, порождая новые задачи, одной из которых является информационный поиск [1]. В наше время огромное количество организаций оперируют с большим количеством данных. Зачастую, все имеющиеся данные невозможно структурировать, и приходится иметь дело с разнородными данными. Разнородные данные невозможно хранить в традиционных базах данных, поэтому возникают задачи организации информационного поиска. Одна из основных проблем задач информационного поиска - критерий релевантности. Критерий релевантности описывается какой-либо функцией, которая может учитывать различные факторы, такие как частота вхождения слова, позиция слова в документе, расстояние между встречающимися в запросе словами и другое. Там, где хорошо работает одна функция, может плохо работать другая функция. Например, если необходимо искать информацию среди научных статей, неплохо может показать себя функция релевантности, учитывающая позицию слов относительно начала документа, поскольку тема, аннотация и ключевые слова находятся ближе к началу документа, но в случае, если ваши данные описываются ключевыми словами, тегами, порядок слов и положение в документе может не иметь роли. Сложные поисковые системы могут содержать в себе алгоритмы и модели связанные с такими обширными отраслями науки, как обработка естественных языков, тематическое моделирование и другие. Любая поисковая система - это решение задачи информационного поиска, но как улучшить результаты поиска - задача другая.
Интеллектуальный поиск подразумевает использование инструментов машинного обучения для повышения качества поиска.
В процессе выполнения работы был выполнен обзор литературных источников на следующие темы:
1) общие подходы к построению поисковых систем;
2) распространённые подходы к повышению качества поиска;
3) основные подходы к оценке поисковых систем;
4) нейронные сети, применение, примеры приложений, использующих их;
5) программное обеспечение, использующее поисковые системы.
Достигнуты следующие цели:
разработана и исследована модель для интеллектуального поиска и улучшено качество работы локальной поисковой системы.
Решены следующие задачи:
• разработана локальная поисковая система;
• разработаны критерии оценки локальной поисковой системы;
• разработана модель повышения качества поисковой системы на основе нейронной сети;
• внедрена нейросетевая модели в разработанную поисковую систему;
• разработана методика и обработка результатов экспериментальных исследований.
Представлены:
• формальное представление модели поисковой системы, собираемой ей статистики, прочих, необходимы для описания алгоритмов, элементов;
• математическая модель запросов, документов в контексте нейронной сети;
• модель нейронной сети;
• критерии для оценки качества работы поисковой системы.
Использованы технологии обучения нейронной сети, предусматривающие защиту от переобучения, проведен эксперимент с использованием и без использования данных технологий.
В процессе выполнения работы было произведена разработка и реализация локальной поисковой системы, с последующим внедрением в программы RadixWare и TranzWare компании ООО «Компас Плюс».
В дальнейшем в разработанную локальную поисковую систему была внедрена нейросетевая модель и произведена оценка работы после её внедрения.
По результатам выполнения работы были написаны и опубликованы следующие научные статьи:
1) Марченко А., Применение тематического моделирования в решении задачи определения синонимов в локальных поисковых системах / А. Марченко, Д. Масленников, Т Оленчикова / Естественнонаучный журнал «Точная наука» №26, Кемерово, изд. дом. Плутон, 2018. - С. 8-12.
2) Масленников Д., Разработка критериев оценки качества работы локальной поисковой системы/ Д. Масленников, А. Марченко, Т. Оленчикова / Естественнонаучный журнал «Точная наука» №26, Кемерово, изд. дом. Плутон, 2018. - С. 84-87.
Работа Maslennikov D., An Investigation of information intelligence retrieval model in local searching systems/ D. Maslennikov, A. Marchenko, T. Olenchikova // Journal of computational and engineering mathematics, сдана в печать и выйдет в июньском номере журнала.
1) Маннинг, К. Введение в информационный поиск / К. Маннинг, П. Рагхаван, Х. Штюнце, Д. Клюшин / Москва, Санкт-Петербург, Киев, изд. дом Вильямс, 2011 - 528 с.
2) Протасов, С. Удовлетворенность пользователей Yandex/ Google/ Go.Mail/ Rambler/Bing (2011-2017) / С. Протасов / URL: http://sz.ru/search-quality/ (Дата обращения: 05.05.2018).
3) Результаты поиска и их оценка / URL: http://www.sembook.ru/
book/poiskovye_sistemy/rezultaty-poiska-i-ikh-otsenka/ (Дата обращения: 05.05.2018).
4) Левенштейн, В. И. Двоичные коды с исправлением выпадений, вставок и замещений символов / В. И. Левенштейн. - Доклады Академий Наук СССР, 1965. -Т 163, №4: - С. 845-848.
5) Page L., The PageRank Citation Ranking: Bringing Order to the Web / L. Page, S. Brin, R. Motwani, T. Winograd // Stanford InfoLab -1998.
6) Google Panda, Penguin & Hummingbird: Everything You Need to Know / URL : https://www.searchenginejournal.com/seo-guide/panda-penguin-hummingbird/ (Дата обращения: 04.05.2018).
7) Minsky, M. Perceptrons: An Introduction to Computational Geometry / M. Minsky and S. Papert - Cambridge: MiT Press, 1972. -214p.
8) Rumelhart, D.E. Learning Internal Representations by Error Propagation. In: Parallel Distributed Processing, vol. 1 / D. E. Rumelhart, G. E. Hinton, R. J. Williams, 1986. -P 318-362.
9) Lucene TF-IDF Similarity / URL: https://lucene.apache.org/core/7_2_0/ core/ org/apache/lucene/search/similarities/TFIDFSimilarity.html (Дата обращения: 24.04.2018).
10) Mikolov, T. Efficient Estimation of Word Representations in Vector Space / T. Mikolov, K. Chen, G. Corrado, J. Dean // arXiv preprint arXiv: arXiv:1301.3781,
2014.
11) Prisma / URL: http://prisma-ai.com/ (Дата обращения: 14.05.2018).
12) TensorFlow An open source machine learning framework for everyone / URL: https://www.tensorflow.org/ Дата обращения (23.05.2018)
13) Keras Documentation / URL: https://keras.io/ Дата обращения (23.05.2018)
14) Apache Lucene Core / URL: https://lucene.apache.org/core/ (Дата обращения: 10.04.2018).
15) Sphinx overview / URL: http://sphinxsearch.com/about/sphinx/ (Дата обращения: 06.05.2018)....22