Автор работы: Пользователь скрыл имя, 23 Мая 2012 в 08:26, контрольная работа
Настоящая работа посвящена изложению подходов и описанию программных средств поиска информации, в которых проблема полноты решается на пути привлечения методов мета поиска. Проблема точности – благодаря использованию солидного арсенала лингвистических средств, в частности, методов морфологического, синтаксического и поверхностного семантического анализа. Вторая особенность описываемых методов – возможность написания запросов на естественном языке.
Введение
1 Концепция поисковой машины
2 Архитектура и программные средства системы
2.1 Агент мета поиска
2.2 Агент поиска по локальной сети
2.3 Агент скачивания
2.4 Агент семантической фильтрации
2.5 Модуль подключения новых информационных ресурсов
2.6 Модуль лингвистической обработки
2.7 Модуль управления словарем глаголов
2.8 Модуль управления словарем синонимов
2.9 Модуль интерфейса пользователя
3 База данных поисковой системы
4 Основополагающие свойства концепции интеллектуальной поисковой машины
4.1 Полнота информации
4.2 Точность
4.3 Актуальность
4.4 Качество
Заключение
Список литературы
Подключение новых информационных источников позволяет расширять область поиска в Интернете, увеличивая вероятность нахождения необходимого пользователю ресурса. Для облегчения и ускорения подключения новых поисковых ресурсов можно создан модуль, позволяющий добавлять новые информационные источники в полуавтоматическом режиме. После указания адреса поискового ресурса пользователь в визуальном режиме указывает необходимые для создания запроса элементы управления, чекбоксы, строки редактирования, кнопки и др.
На втором этапе, после выполнения фиктивного запроса, пользователь, также в визуальном режиме, указывает необходимые поля в результате запроса в нескольких записях, например, URL, дату, автора, размер и другие, найденного ресурса. По указанным примерам модуль распознает формат представления результата запроса и создает соответствующий скрипт. Созданный таким образом скрипт будет использоваться для извлечения данных о найденных ресурсах.
Основной задачей модуля является построение семантического образа текста. Среди прочей информации модуль выявляет, в частности, именные группы и предикатные слова (глаголы и отглагольные формы). Семантические связи между именными группами устанавливаются в результате частичного семантического анализа и основываются на моделях управления найденных предикатных слов. Виды семантических отношений, а также грамматические признаки, позволяющие обнаружить их в тексте документа, отражены в справочнике предикатных слов. Интерфейсы модуля лингвистической обработки, предназначенные для анализа текста, разделяются на две группы: интерфейсы анализаторов и интерфейсы лингвистических данных. Входные и выходные данные не связаны с анализаторами, что позволяет отделить логику обработки текста от извлекаемой из текста информации. Семантическая обработка текста выполняется в три этапа: морфологический, синтаксический и собственно семантический анализ. Каждый этап выполняет соответствующий анализатор со своими входными и выходными данными и собственными настройками. При этом функции морфологического и синтаксического анализа реализованы в отдельном компоненте. Частичный семантический анализ сводится к обработке всех найденных предикатных слов. Для каждого такого слова в пределах сегмента предложения ищутся синтаксически связанные с ним именные группы. Для каждой именной группы делается попытка выяснить, заполняет ли она некоторую валентность (роль) управляющего предикатного слова. При этом формируется запрос к словарю предикатных слов, в котором передается идентификатор предикатного слова, предлог (если он есть) и грамматические характеристики корневого элемента именной группы. В заключение среди заполненных валентностей в словаре предикатных слов ищутся пары, образующие семантические отношения. Результатом работы модуля является семантический образ текста в виде списка семантических ролей и списка семантических отношений. Каждый элемент списка ролей определяет тип роли для одной именной группы текста. Каждый элемент списка отношений включает в себя тип отношения и две связанные данным отношением именные группы. Для быстрого поиска списки проиндексированы по типам соответственно ролей или отношений, а также по частям речи и словарным формам корневых слов именных групп.
Модуль позволяет вносить изменения в словарь глаголов, являющийся одним из главных составляющих системы, а также осуществлять доступ к словарю другим модулям для последующей обработки и использования полученных данных. В словаре глаголов описаны способы синтаксической реализации в тексте различных типов смысловых отношений между понятиями. Словарь представляет собой текстовый файл со списком предикатных слов русского языка (глаголов в прямых и возвратных формах и отглагольных существительных), отражающих некоторую ситуацию. Словарная статья описывает семантические падежи (роли) участников этой ситуации и способы их выражения в тексте, а также различные семантические связи между участниками ситуации.
Задачей модуля является управление словарем синонимов и реализация специфических алгоритмов расширения запросов за счет использования словаря синонимов. Алгоритм расширения запроса синонимами можно представить в виде рекурсивной формулы:
Queryi = (Wordi & Syn(Wordi)) & Queryi+1 _ Syn(NG),
где Queryi – запрос на очередном шаге,
Wordi – очередное слово,
Syn() – функция добавления синонимов,
NG – именная группа для очередного слова.
Действие этих правил лучше всего продемонстрировать на примере. Рассмотрим фразу: Речь президента Российской Федерации:
1) корень дерева – слово: речь. По правилу оно должно входить в запрос, значит Query=речь. Дальше ищем синонимы для слова (речь). Предположим, нашли: выступление. Добавляем через связку _, группируем: Query[1] = (речь _выступление). Переходим к потомкам;
2) слово: президент. Синоним для него – глава. Добавляем в запрос: Query[2] = (президент _ глава). Обрабатываем потомков рекурсивно (пропустим описание этого шага) Получаем Query[2] = ((президент _ глава) & ((российский) &(федерация)) _ (Россия)). Нормализуем поддерево: президента., получаем - президент российской Федерации и находим синоним. Путин. Тогда Query[2] = (((президент _
глава) & (((российский) & (федерация)) _ (Россия)) _Путин);
3) далее мы возвратимся на шаг 1, так как слово имеет потомков, нормализуем группу и получаем: речь президента Российской Федерации. Ищем для нее синонимы. Не находим, тогда запрос будет таким: Query[1] = (речь _ выступление) & Query[2] = (речь _ выступление) & (((президент_ глава) & (((российский) & (федерация)) _ (Россия)) _Путин). Таким образом, по запросу будут найдены документы, содержащие следующие варианты слов:
Использование алгоритма, идея которого была изложена выше, позволяет значительно повысить полноту поиска.
Модуль позволяет пользователю управлять системой, создавать иерархию тем запросов, ставить задачи поиска информации в Интернет, локальной сети и базе данных, просматривать результаты запросов. Интерфейс системы строится по принципу минимального количества действий пользователя для осуществления типовых операций. Страницы системы однотипные и строятся по одинаковой схеме, типовая страница состоит из заголовка, в который входит тематическое меню, левой части с функциональным меню, рабочей области и подвала страницы. Тематическое меню предназначено для перехода по страницам различного назначения, например, результатов поиска, страницы настроек или помощи. Функциональное меню представляет собой иерархическое дерево тем и запросов. Каждой теме и запросу соответствует набор управляющих иконок – действий, которые можно совершать над данным элементом. В рабочей области страницы располагается основная часть динамического контента, например, результаты поиска, форма редактирования или справка системы. Подвал страницы статический и содержит информацию о разработчиках системы.
Очевидно, что база данных непосредственно связана с областью поиска и предметной базой поисковой машины. При выборе специализированных областей возможна существенная минимизация базы данных. Возможно также применение технологии OLAP для хранилищ данных.
OLAP
(on-line analytical processing) — набор технологий
для оперативной обработки
Показатели
хранятся в кубах не в виде простых таблиц,
как в обычных системах учета или бухгалтерских
программах, а в разрезах, представляющих
собой основные категории деятельности
организации.
Рисунок
3 – Схема OLAP системы
Благодаря детальному структурированию информации OLAP-кубы позволяют оперативно осуществлять анализ данных и формировать отчёты в различных разрезах и с произвольной глубиной детализации. Отчёты могут создаваться аналитиками, менеджерами, финансистами, руководителями подразделений в интерактивном режиме для того, чтобы быстро получить ответы, на возникающие ежедневно вопросы, и принять правильное решение. При этом сотрудникам, для создания отчетов не нужно прибегать к услугам программистов, на что обычно уходит немало времени.
Появляется вопрос об ограничении размера индекса (информации о проиндексированной странице). Рост базы, кроме технических проблем с дисками и серверами, ограничивается логическими: необходимостью адекватно реагировать на «информационный шум», повторы и т.п. Подробнее про анализ похожих документов будет рассказано ниже.
Полнота - это одна из основных характеристик поисковой системы, которая представляет собой отношение количества найденных по запросу документов к общему числу документов в сети. Полнота поиска в большой мере зависит от работы системы сбора и обработки информации. В связи с постоянным ростом количества документов в сети, информационная система в первую очередь должна быть масштабируемой.
Точность - еще одна основная характеристика поисковой машины, которая определяется как степень соответствия найденных документов запросу пользователя. Для выделения наиболее релевантных документов рассматривается проблема автоматической категоризации информации в сети. Ручной метод описания документов плохо подходит в этом случае, так как занимает огромное количество времени эксперта. Автоматические системы в большинстве случаев используют статистические методы, которые не всегда распознают внутренний смысл документа. На сегодняшний день приоритетной является смысловая обработка информации, для которой и создаются интеллектуальные поисковые машины.
В настоящее время в поисковых системах используется релевантная модель оценки соответствия исследуемого документа поисковому запросу. Однако эта модель плохо справляется с задачей распознавания и поиска омонимов, синонимов и многозначных слов. Это обусловлено тем, что в основу релевантной модели поиска заложен лингвистический алгоритм, а перечисленные выше языковые артефакты не могут быть распознаны без понимания смысла поискового запроса. Это одна из первостепенных задач, которую должны решать интеллектуальные поисковые машины.
Немаловажным моментом повышения точности поиска является применение семантических алгоритмов, которые решают целый класс задач:
Актуальность - не менее важная характеристика поиска, которая определяется временем, проходящим с момента публикации документов в сети Интернет, до занесения их в индексную базу. Одна из общих проблем поисковых систем на сегодняшний день не просто собрать информацию, но и постоянно отслеживать её изменение. Это особенно актуально для специализированных поисковых систем, например системы автоматической обработки новостей.
Качество поиска – важнейший параметр оценки поисковой системы. Огромные объемы информации, большое число «информационного шума» - все эти проблемы поисковые системы должны решать в первую очередь. Для оценки качества страницы используют такие критерии как индекс цитируемости и тематический индекс цитируемости. Эта мера позволила резко повысить качество поиска.
Чтобы избавиться от «информационного шума» и повторов поисковые машины используют ряд сложных алгоритмов. Широкий класс документов активно копируется и редактируется – новости, документация, статьи и пр. Публикации могут быть скопированы и без разрешения на повторное копирование. Для решения этой задачи был предложен алгоритм «шинглов» (shingles). Суть его заключается в том, что для каждого десятисловия текста рассчитывается контрольная сумма (шингл). Десятисловия идут внахлест, с перекрытием, так, чтобы ни одно не пропало. А затем из всего множества контрольных сумм отбираются только те, которые делятся на некоторое число. Поскольку значения контрольных сумм распределены равномерно, критерий выборки никак не привязан к особенностям текста. Повтор даже одного десятисловия – весомый признак дублирования.