Аннотация
ВВЕДЕНИЕ 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 Скорость полнота и точность 14
1.2.3 Контент 15
1.3 Методы улучшения работы поисковых систем 16
1.3.1 Индивидуальная настройка параметров поисковой системы 16
1.3.2 Внедрение улучшенных алгоритмов ранжирования 21
1.3.2.1 Google PageRank 21
1.3.2.2 Google Penguin, Google Panda 22
1.3.3 Тематическое моделирование 23
1.3.3.1 Латентный семантический анализ 23
1.3.3.2 Вероятностный латентно-семантический анализ 24
1.3.3.3 Латентное распределение Дирихле 26
1.4 Вычисление релевантности 27
1.4.1 Lucene TF-IDF Similarity 27
1.5 Программное обеспечение, реализующее или использующее
тематические модели 33
1.5.1 WEKA 33
1.5.2 MALLET 34
1.5.3 Gensim 35
1.5.4 Infer.NET 35
1.6 Программное обеспечение, реализующее или использующее
поисковые системы 36
1.6.1 Apache Lucene 36
1.6.2 Sphinx 37
1.6.3 Microsoft Windows 10 39
Выводы по разделу 39
2 РАЗРАБОТКА МАТЕМАТИЧЕСКОЙ МОДЕЛИ И АЛГОРИТМОВ ДЛЯ УЛУЧШЕНИЯ И ОЦЕНКИ КАЧЕСТВА РАБОТЫ ЛОКАЛЬНОЙ ПОИСКОВОЙ СИСТЕМЫ 41
2.1 Постановка задачи 41
2.2 Математические модели 41
2.2.1 Вероятностная модель коллекции документов 41
2.2.2 Вероятностное пространство 42
2.2.3 Гипотеза о независимости элементов выборки 42
2.2.4 Гипотеза об условной независимости 42
2.2.5 Вероятностная модель порождения данных 43
2.2.6 Гипотеза о разреженности 43
2.2.7 Частотные оценки вероятностей 44
2.2.8 Латентное размещение Дирихле 44
2.2.9 Расстояние Кульбака-Лейблера 45
2.2.10 Поисковая система 45
2.2.11 Собираемая поисковой системой статистика 46
2.2.12 Контекстные синонимы 47
2.2.13 Множество пар (запрос, его тематическое распределение) для
уникальных запросов из обучающей выборки ИНС 47
2.2.14 Оператор ИНС 48
2.2.15 Пороговый оператор для результатов ИНС 48
2.2.15 Lucene TF-IDF Similarity 48
2.2.16 Модификация значения функции подсчёта рейтинга Lucene TF-
IDF Similarity на основе результатов совместной работы Нейронной Сети и Тематической Модели 49
2.2.17 Критерии оценки релевантности поиска на основе собранной
поисковой системой статистики 50
2.2.17.1 Метрика релевантности по позиции 50
2.2.17.2 Метрика релевантности по времени 50
2.3 Алгоритмы 51
2.3.1 Обучение модели 51
2.3.1.1 Данные для обучения модели 51
2.3.2 Расширение словаря «незнакомыми» терминами и дообучение
Тематической Модели 51
2.3.3 Взаимодействие поисковой системы, в которую встроена ИНС,
с тематической моделью 52
2.4 Схемы алгоритмов 54
2.4.1 Дообучение тематической модели 54
2.4.2 Взаимодействие поисковой системы со встроенной ИНС с
тематической моделью 55
Выводы по разделу 56
3 РЕАЛИЗАЦИЯ ПОИСКОВОЙ СИСТЕМЫ И ОЦЕНКА ЕЁ КАЧЕСТВА 57
3.1 Поисковая система 57
3.1.1 Структура поисковой системы 57
3.1.1.1 Индекс 57
3.1.1.2 Поисковая строка 59
3.1.1.3 Поисковая машина 61
3.1.1.4 Ранжирование результатов поиска 61
3.1.1.5 Внедрение Тематической Модели в поисковую систему ... 62
3.2 Методика эксперимента 66
3.3 Результаты внедрения тематической модели в общую систему 67
Выводы по разделу 68
ЗАКЛЮЧЕНИЕ 69
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 70
ПРИЛОЖЕНИЕ 1 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
В наше время объём накапливаемой и обрабатываемой информации неуклонно растёт, постепенно превышая пределы, в которых возможно вручную в массиве накопленной информации найти необходимые данные. Конечно, в распоряжении человека всегда есть большие поисковые системы: Google, Yandex и др., однако не вся информация доступна из Сети Интернет.
Особенно ярко эта проблема проявляется в пределах корпоративных баз знаний. Большие объёмы накапливающейся в них информации зачастую являются конфиденциальными, следовательно, нет возможности опубликовать её на каком- либо сайте в Сети Интернет и пользоваться возможностями глобальных поисковых систем. Таким образом, возникает необходимость в создании своей поисковой системы, нацеленной на поиск исключительно по внутрикорпоративным базам знаний.
Длительное время для таких целей компании использовали обычный полнотекстовый поиск, который реализуется исключительно возможностями операционных систем, либо, в случае если информация хранится в базе данных, SQL-запросами различной степени сложности. Однако, со временем объём накопленной информации становится всё больше, а её разнородность не повышается, ведь компании накапливают информацию, преимущественно, из области своей деятельности. Таким образом, даже при условии использования баз данных для хранения всей накопленной информации, даже если эта информация хорошо структурирована, найти именно то, что нужно, становится всё сложнее. Следствием из описанной ситуации и становится необходимость в разработке локальной поисковой системы, которая бы обладала функционалом, максимально похожим на функционал глобальных поисковых систем, однако действовала бы лишь в пределах базы знаний отдельно взятой компании.
Характерными чертами локальных поисковых систем можно назвать относительно низкие доступные вычислительные мощности, которые компания может выделить для обучения вспомогательных модулей поисковой системы (классификаторов, агрегаторов, нейронных сетей и т.д.), а также «средний» объём информации в области поиска, то есть слишком большой, чтобы пользоваться обычным полнотекстовым поиском, и слишком маленький для того, чтобы использовать некоторые технологии, свободно распространяемые крупными поисковиками.
К тому же, в отличие от глобальных поисковиков, для оценки которых применяются подходы, связанные с посещаемостью поисковика, его рейтингами в различных опросах, и т.д., чтобы оценить локальную поисковую систему, требуются корректные количественно-качественные критерии, специально разработанные под данную систему и имеющие строгое математическое обоснование.
В процессе выполнения работы был выполнен обзор литературных источников на следующие темы:
1) общие подходы к построению поисковых систем;
2) распространённые подходы к повышению качества поиска;
3) основные подходы к оценке поисковых систем;
4) программное обеспечение, использующее тематические модели;
5) программное обеспечение, использующее поисковые системы.
В процессе выполнения работы были разработаны следующие математические модели и алгоритмы:
8) формальное представление модели поисковой системы, собираемой ей статистики, прочих, необходимы для описания алгоритмов, элементов;
9) математическая модель синонимов на основе данных, предоставляемых обученной тематической моделью;
10) алгоритм взаимодействия тематической модели и поисковой системы со встроенной искусственной нейронной сетью;
11) алгоритм модификации словаря и документов коллекции с целью учёта при поиске слов, отсутствующих в словаре поисковой системы.
В процессе выполнения работы была произведена разработка и реализация локальной поисковой системы, с последующим внедрением в программы RadixWare и TranzWare компании ООО «Компас Плюс».
В дальнейшем в разработанную поисковую систему была внедрена тематическая модель.
Также были разработаны критерии для оценки качества работы поисковой системы и произведена оценка работы после внедрения в систему тематической модели.
Также в ходе выполнения работы были написаны и опубликованы научные статьи [18, 19].