Введение 4
Постановка задачи 6
Глава 1. Предварительные сведения 7
1.1. Основные определения 7
1.2 Методы поиска близких статей в цифровых математических коллекциях 8
1.3 Латентно-семантический анализ 8
1.4 Term frequency-inverse document frequency (TFIDF) 10
Глава 2. Метод Locality-sensitive hashing 13
2.1 Хэш-функции 13
2.2 Алгоритм Locality-sensitive hashing 15
2.3 Алгоритм шинглов 16
2.4 Процедура поиска минимального хэша 17
2.5 Построение сигнатуры минимального хэша 21
2.6 Метод LSH с использованием сигнатуры минимальных хэшей 23
2.7 Ассоциативный массив 24
Глава 3. Реализация алгоритма 26
Заключение 28
Список литературы 29
Приложение 31
Как невозможно приготовить блюдо, используя один ингредиент, так нельзя изучить область науки, опираясь на один источник. Будь то написание статьи, курсовой работы или диплома, необходимо рассмотреть вопрос с разных углов. Так появляется необходимость в нахождении не только запрашиваемого документа, но и близких к нему по тематике.
Актуальной на данный момент является выбор эффективного поиска. Метод понижения размерности многомерных данных используется в научных коллекциях, в том числе и по математике. Основная цель использования алгоритма - нахождение научных работ, близких по тематике и кластеризация элементов одного раздела.
В ходе работы были рассмотрены методы поиска документов. Их изучение позволило сравнить использованный алгоритм и реализовать метод поиска на основе алгоритма понижения размерности многомерных данных.
В первой главе рассмотрены основные термины, алгоритмы поиска Latent semantic indexing (LSI) и Term frequency-inverse document frequency (TFIDF).
Во второй главе описаны алгоритм метода понижения размерности данных (Locality-sensitive hashing) и использующиеся технологии.
В третьей главе предложено веб-приложение, реализующее алгоритм на языке C#.
В приложении предоставлен код программы.
В работе представлен обзор методов поиска в текстовых документах.
Приведен метод понижения размерности многомерных данных и разработана программа, реализующая алгоритм на языке С#.
Данное приложение:
1) Получает текстовые документы.
2) Представляет каждый документ в виде наборов шинглов.
3) Преобразует шинглы в хэши.
4) Строит матрицу сигнатур.
5) Составляет корзины, куда попадают сигнатуры каждого элемента, так группируются соответствующие документы.
Таким образом, в дипломной работе поставленные задачи полностью выполнены.