Введение 3
Постановка задачи 4
Обзор существующих решений 5
Глава 1. Описание работы системы. Основные проблемы и решения. ... 8
Глава 2. Алгоритмы сбора обучающей коллекции и обработки
документов 18
2.1. Поиск по алгоритму Бойера - Мура 18
2.2. Скачивание документов 21
2.3. Декодирование символов из UTF8 в CP1251 и обратно 22
2.4. Выделение предложений 23
2.5. Лемматизация 27
2.6. Сравнение строк с помощью хэш таблиц 27
2.7. Кодирование документов 31
2.8. Управление коллекцией 32
2.9. Настройки 34
Глава 3. Алгоритмы подсчёта частот и поиска аналогов документа. ... 36
3.1. Подсчёт частотного словаря пар слов 36
3.2. Поиск документов аналогов 38
Глава 4. Результаты 41
Глава 5. Выводы 45
Заключение 46
Список литературы 47
Приложение
В жизни современного человека всё большую ценность приобретает владение информацией. Обладая знаниями о чужих ошибках, человек может избежать аналогичных неудач. При наличии необходимой информации можно намного быстрее и, зачастую, эффективнее решать типичные задачи.
Благодаря всемирной сети Интернет, можно найти практически любые данные по интересующей теме. За годы своего существования человечество накопило огромное количество информации. Человеку не хватит всей жизни, чтобы освоить хотя бы тысячную долю всех доступных ему знаний. Данная ситуация не столь радужна, как кажется. Как правило, своевременно и оперативно получить необходимую информацию практически невозможно. Это обусловлено большими объемами доступной в Интернете информации, не всегда корректно структурированной.
Для облегчения задачи разработаны специальные поисковые системы, к примеру, Яндекс или Google, которые могут по запросу из нескольких слов выводить ссылки на релевантные документы или web-сайты. Однако, результат зависит от корректности формулировки запроса. Периодически возникают ситуации, в которых по существующему документу необходимо получить дополнительную информацию, уточняющего или дополняющего характера. Но пользователю достаточно сложно правильно составить запрос для получения нужных ему документов. В рамках данной работы выдвигается гипотеза о возможности упрощения задачи корректной формулировки запроса с помощью автоматического составления списка слов для построения релевантного запроса.
В ходе написания данной работы было рассмотрено применение данных о частоте встрече пар слов в предложении для поиска аналогов документа.
Были разработаны следующие модули программного комплекса:
1) . Сбор коллекции путём скачивания документов по заданным темам.
2) , Выделение предложений и очистка от HTML кода.
3) . Лемматизация.
4) . Кодирование документов и составление нумерованного словаря.
5) . Составление частотного словаря встречи пар слов в предложении.
6) Применение частотного словаря для поиска аналогов документа.
Помимо этого были разработаны алгоритмы хранения данных хэш таблиц и собственная реализация алгоритма Бойера-Мура.
В дальнейшем планируется улучшить результаты исследования, а так же применить полученные данные частотного словаря для решения прикладных задач информационного поиска.