ИНТЕЛЛЕКТУАЛЬНАЯ МЕТАПОИСКОВАЯ СИСТЕМА
Е. П. Куршев
Институт программных систем РАН
epk@epk.botik.ru
Г. С. Осипов
Институт программных систем РАН
osipov@airec.botik.ru
О. В. Рябков
Российский университет дружбы народов
oryabkov@sci.pfu.edu.ru
Е. И. Самбу
Российский университет дружбы народов
esambou@sci.pfu.edu.ru
Н. В. Соловьева
Российский университет дружбы народов
natasol@yandex.ru
И. В. Трофимов
Институт программных систем РАН
igor@warlock-98.botik.ru.ru
Ключевые слова: Интернет , высокоточный интеллектуальный поиск, метапоисковая система, семантический анализ
В связи с информационным поиском в Интернет возникают две задачи: охватить как можно больше ресурсов Сети и повысить точность обработки запросов пользователя. Первую задачу в рамках традиционных подходов вполне удовлетворительно решает использование метапоисковой машины. Вторая задача традиционно решается с помощью линейного (или векторного) поиска по ключевым словам в базе индекса. После чего предлагается подвергнуть текст запроса и текст найденных документов структурному анализу с целью выявления их семантической близости и отбросить документы, нерелевантные с точки зрения содержания. Система «Сириус» предназначена для семантически точного поиска релевантных документов, их тематической классификации и анализа. При этом для повышения эффективности работы процесс поиска и анализа документов может быть некоторым образом распараллелен между компьютерами локальной сети.
- Введение
Проблема информационного поиска была всегда актуальна для Интернет. Прежде всего, это обусловлено колоссальным объемом информационных ресурсов. В связи с информационным поиском возникают две задачи: охватить как можно больше ресурсов Сети и повысить точность обработки запросов пользователя.
Первая задача обычно решается с помощью индексирования документов, которое может выполняться как автоматически (с использованием программ-роботов или «пауков»), так и «вручную» - с использованием человека-оператора. Базы данных индекса и словарей терминов крупнейших поисковых машин, использующих программы-«пауки», уже имеют объемы порядка нескольких терабайт и постоянно пополняются новыми ссылками. Следовательно, если запросы пользователя будут направляться нескольким крупным поисковым машинам, то можно гарантировать достаточно широкий охват информационных ресурсов Интернет. Таким образом, использование метапоисковой машины вполне удовлетворительно решает первую задачу в рамках традиционных подходов, и мы здесь не будем подробно на ней останавливаться.
Вторая задача традиционно решается с помощью линейного (или векторного) поиска по ключевым словам в базе индекса. Каждый документ представлен в индексе набором наиболее «тяжелых» (т.е. наиболее часто встречающихся) терминов. Таких терминов обычно 40-100 и они составляют так называемый поисковый образ документа (ПОД). Запрос пользователя преобразуется к тому же каноническому виду. При этом выбрасываются «запрещенные» слова («stop-words»), а оставшиеся слова иногда приводят к нормальному виду (существительное – к именительному падежу 1-го лица, глагол – к неопределенной форме и т.п.). Затем происходит линейный поиск терминов запроса в ПОД индекса. Сейчас используется довольно много различных модификаций алгоритмов линейного поиска, позволяющих, например, учитывать все формы ключевых слов, использовать словари синонимов, вводить меру близости между ключевыми словами и т.п.
Используя эти дополнительные возможности, а также расширенные языки запросов, можно добиваться неплохих результатов. Однако главным недостатком традиционного подхода является то, что в рамках векторной модели невозможно учесть синтаксис и семантику. Действительно, в векторной модели документы, так же как и запросы пользователя, представляют собой векторы терминов. Сравнение ПОД происходит на уровне отдельных терминов, и даже, если учитывать меру близости слов в документе, такой подход игнорирует синтаксические и семантические связи между словами. Очевидно, что это существенно снижает точность обработки запроса. Содержание, смысловое наполнение документов никак не учитываются, а это приводит к привычной каждому пользователю Интернет ситуации, когда поисковая машина приносит в ответ на запрос несколько сотен или даже тысяч документов, большинство из которых не имеют никакого отношения к первоначальному запросу.
Для решения этой проблемы предлагается использовать комбинированный подход. На первом этапе по запросу пользователя получить ссылки на документы с помощью традиционной индексно-векторной модели. Для этого использовать метапоисковую машину, которая переадресует запрос уже существующим в Сети поисковым системам а затем объединит результаты и скачает полные тексты найденных документов. На втором этапе, подвергнуть текст запроса и текст найденных документов структурному анализу с целью выявления их семантической близости и отбросить документы, нерелевантные с точки зрения содержания. Таким образом, основная задача первого этапа – использовать различные варианты традиционного подхода, в то время как главная цель второго этапа – уточнить результаты первого этапа и в конечном итоге найти именно то, что имел в виду пользователь.
Как и в случае линейного поиска, система строит поисковые образы запроса и документов. На основании сравнения этих образов определяется степень соответствия документа запросу. Однако в нашем случае ПОД имеет совершенно иной вид и содержит гораздо больше информации. Система получает ПОД после структурного анализа текста.
Структурный анализ состоит из нескольких этапов. На этапе морфологического анализа выявляются основные грамматические характеристики слов документа. Эти характеристики в дальнейшем используются на этапе синтаксического анализа. Общая цель структурного анализа – обнаружить связи в тексте, но не между отдельными словами, а между синтаксемами. Задача синтаксического анализа как раз и состоит в том, чтобы сгруппировать отдельные слова в синтаксемы на основании подчинительной связи (подробнее см. [2]).
После первых двух этапов документ представляет собой список синтаксем. Задачей семантического анализа является установление связей между ними, т.е. делается попытка выявить смысловую зависимость между синтаксемами. При этом различают синтаксемы двух видов: связанные и свободные. В связи с этим семантические связи в системе строятся двумя способами. Первый применяется к связанным синтаксемам и основан на широко используемом в структурной лингвистике понятии валентности (или роли) глагола. Синтаксемы считаются связанными, если они заполняют некоторые валентности одного глагола. Система поддерживает справочники ролей для наиболее часто используемых глаголов, а также таблицы соответствия ролевой структуры глагола семантическим связям. Набор семантических связей и ролей разработан сотрудниками ИПС РАН и приведен в [1, 3]. Таким образом, в этом случае семантические связи определяются ролевой структурой глагола. В случае свободных синтаксем используется тот же набор семантических связей, однако, здесь принципиальное отличие состоит в отсутствии глагола. Поэтому для определения ролей свободных синтаксем необходимо использовать различные эвристические методы, которые также приведены в [3].
Таким образом, после завершения структурного анализа текста поисковый образ представляет собой список семантических связей. На заключительном этапе сопоставляются поисковые образы документа и запроса простым линейным поиском соответствующих семантических связей и последовательным сравнением синтаксем.
- Система «Сириус» – основные возможности и характеристики
2.1. Назначение и общее описание системы
Система «Сириус» предназначена для семантически точного поиска релевантных документов, их тематической классификации и анализа. Архитектурно система состоит из ядра, агентской среды и семейства функциональных модулей.
Система обладает следующими характеристиками, выделяющими ее среди других систем аналогичного назначения и класса:
- Работа с естественным языком: возможность использования естественного языка для написания запросов.
- Использование методов семантической обработки естественно-языковых текстов, в отличие от индексации по ключевым словам, применяемой в большинстве других систем.
Методы применяются как для анализа искомых документов, так и запросов пользователей.
- Отсутствие ограничений в количестве и номенклатуре поисковых машин, задействованных в метапоиске нужных документов. Система охватывает весь Web не только через универсальные поисковые машины типа Google, Lycos, AltaVista, Yandex и др., но также и через специальные информационные источники, подключаемые самим пользователем системы.
- Наличие средств мониторинга, который может проводиться в двух режимах:
- тематический мониторинг, при котором охватывается весь Web с целью непрерывного поиска новых документов по заданной тематике;
- мониторинг отдельного информационного источника (сайта или Web-страницы) с целью выявления изменений на них (например, повышения или понижения котировок акций на электронных биржах, обновления каталогов Интернет-магазинов и др.).
Архитектурно система состоит из ядра, агентской среды и семейства функциональных модулей.
2.2. Ядро системы
Ядро системы включает менеджер распределенных вычислений, базу данных найденных документов с полным индексом слов, словосочетаний и семантических отношений; систему формированияпоисковых предписаний; систему полуавтоматического подключения новых информационных ресурсов; систему семантического анализа запроса и систему семантической фильтрации документов в базе данных.
Опишем кратко каждый из компонентов ядра системы
2.2.1. База данных. База данных предназначена для хранения информации, являющейся результатом поиска и обработки информации из Интернет в многопользовательской среде и включает следующие отношения:
- поисковые запросы и поисковые ресурсы
- справочники
- пользователи и группы пользователей
- задачи на поиск и обработку информации
- тематический классификатор
2.2.2. Подключение новых информационных источников. Позволяет расширять область поиска в Интернете, увеличивая вероятность нахождения необходимого пользователю ресурса. Для облегчения и ускорения подключения новых поисковых ресурсов создана подсистема, которая позволяет добавлять новые информационные источники в полуавтоматическом режиме.
2.2.3. Семантическое индексирование. Состоит в выявлении семантических связей в тексте документов и упорядочивании найденных связей для ускорения поиска (сопоставления документа запросу). Иными словами, строятся семантические поисковые образы документов, элементами индекса которых являются не ключевые слова (как при традиционном подходе), а бинарные отношения между синтаксемами – семантико-синтаксическими единицами текста.
2.2.4. Менеджер распределенных вычислений. Менеджер распределенных вычислений предназначен для использования вычислительных мощностей нескольких компьютеров. Так как общая задача обработки документа может быть разбита на ряд подзадач, возможно выделение этих подзадач в отдельные приложения (агенты). Это делает возможным организовать распределённую обработку информации, а в некоторых случаях и параллельную. Это, например, имеет место при обработке сразу нескольких документов. Для организации таких распределённых вычислений разработано специальное управляющее звено (менеджер) и шаблон приложения-агента с произвольной исполнительной частью и отлаженным интерфейсом взаимодействия с менеджером.
2.3. Метапоиск
2.3.1. Формирование предписаний на поиск и мониторинг. Поисковое предписание, формируемое пользователем в интерактивном режиме, состоит из двух частей:
- содержательная часть
- список ограничений
Содержательная часть состоит из фраз и фрагментов текстов на естественном языке, характеризующих ситуацию, наличие которой требуется в отыскиваемых Web-документах. Результатом этого процесса является предписание на поиск, которое транслируется в формальный язык запросов для дальнейшего исполнения.
В случае формирования предписания на мониторинг, пользователь задает адрес ресурса, подлежащего мониторингу и параметры этого процесса (например, временной интервал или частоту), включая параметры создаваемых на основе мониторинга отчетов.
2.3.2. Типизация ресурсов. Задача типизации ресурсов заключается в автоматическом определении функционального назначения HTML-документа. Знание типа информационного ресурса может быть полезным для пользователя при поиске, фильтрации и структурировании информации.
Примером набора типов ресурсов (категорий) может быть следующий:
- каталог
- новости
- магазин
- поисковая система
- страница с конечной информацией
Получив на входе HTML-документ и зная его характеристики, система должна высказать предположение о принадлежности документа к той или иной категории. Заранее набор типов ресурсов неизвестен, поэтому производится обучение системы посредством предъявления ей нескольких групп документов, каждой из которых приписаны некоторые категории. Впоследствии система автоматически (на основании предъявленных примеров) делает заключение о принадлежности ресурса категории.
Принадлежность каждого ресурса категории является не двоичной («принадлежит» / «не принадлежит»), а градуированной, то есть некоторые ресурсы (имеющие более высокую оценку принадлежности) являются более типичными для категории, чем другие. Такой подход также позволяет выразить принадлежность страницы нескольким категориям в разной степени.
Например, на одной странице могут содержаться новости, список ресурсов и интерфейс поисковой системы. Поэтому на выходе подсистемы типизации – не однозначное решение о принадлежности страницы к тому или другому классу, а спектр весов соответствия каждому из классов, известных системе.
Поскольку заранее неизвестно, какие типы ресурсов будут предложены в качестве классов типизации, используется широкий набор анализируемых атрибутов и возможно более универсальные алгоритмы обучения и распознавания. В качестве анализируемых атрибутов берутся абсолютные и относительные атрибуты HTML-структуры, текста, гиперссылок, а также ряд атрибутов документа в целом.
2.4.1. Подключение новых информационных источников (поисковых ресурсов). Информационными источниками являются любые поисковые системы, включая поисковые машины, типа, Yandex,Rambler, Yahoo, AltaVista и др., Интернет каталоги, информационные и новостные сервера, Интернет порталы и любые другие Интернет ресурсы, имеющие возможности поиска по ключевым словам.
Поисковые ресурсы необходимы для первичного поиска информации по ключевым словам, которая в дальнейшем будет отфильтрована и предоставлена пользователю.
Подключение новых информационных источников позволяет расширять область поиска в Интернет, увеличивая вероятность нахождения необходимого пользователю ресурса. Для облегчения и ускорения подключения новых поисковых ресурсов создана подсистема, которая позволяет добавлять новые информационные источники в полуавтоматическом режиме. После указания адреса поискового ресурса пользователь в визуальном режиме указывает необходимые для создания запроса элементы управления, строки редактирования, кнопки и др. На втором этапе, после выполнения фиктивного запроса, пользователь, также в визуальном режиме, указывает необходимые поля в результате запроса в нескольких записях, например, URL, дату, автора, размер и другие, найденного ресурса. По указанным примерам подсистема распознает формат представления результата запроса и создает соответствующий сценарий. Созданный таким образом сценарий будет использоваться для извлечения данных о найденных ресурсах.
Формат представления результата поиска может изменяться из-за изменения дизайна сайта, что приведет к необходимости повторения процедуры распознавания формата. Для фиксации изменений структуры поискового ресурса служит дополнительная процедура, которая выполняется при каждом запросе и сигнализирует администратору системе о повторении процедуры.
2.4.2. Мониторинг. Система «Сириус» обладает подсистемой мониторинга, который может проводиться в двух режимах:
- тематический, при котором охватывается весь Web с целью поиска появляющихся новых документов по заданной тематике
- мониторинг отдельного информационного источника – сайта, Web-страницы, фрагмента страницы.
В первом случае привлекаются средства системы, позволяющие производить семантический анализ отыскиваемых текстовых документов, и обеспечивающие, тем самым, высокоточный их отбор.
Во втором случае можно производить точную настройку процесса мониторинга информационного ресурса, включая задание периодичности опроса ресурса, описание реакций на обнаруживаемые изменения, задание параметров создаваемых отчетов.
2.5. Функции семантической обработки
Функции семантической обработки текста включают в себя семантический анализ текста, построение семантического поискового образа текста и сравнение поисковых образов документа и запроса пользователя.
2.5.1. Анализ текста. Интерфейсы модуля анализа текста разделяются на две группы: интерфейсы анализаторов и интерфейсы лингвистических данных. Семантическая обработка текста выполняется в три этапа: морфологический, синтаксический и собственно семантический анализ. Каждый этап выполняет отдельный анализатор со своими входными и выходными данными и собственными настройками. Входные и выходные данные не связаны с анализаторами, что позволяет отделить логику обработки текста от извлекаемой из текста информации.
На этапе морфологического анализа в тексте распознаются слова и разделители. Для каждого слова на основании его морфологии определяется список всех возможных грамматических форм. Словоформы, соответствующие одной нормальной (словарной) форме слова и одной части речи, а также стоящие в одном числе (для изменяющихся по числам частей речи), объединяются в группы, которые далее будем условно называть «лексемами» (хотя это и не лексемы в строгом лингвистическом смысле). Синтаксические зависимости между лексемами выявляются на следующем этапе анализа. Очевидно, одному и тому же слову может соответствовать несколько таких лексем. Например, для слова «и» будут определены варианты: союз, частица и междометье. Для того чтобы уменьшить результирующее число вариантов предложения, в настройки морфологического анализатора включен фильтр: для каждой части речи можно определить будет ли она учитываться при дальнейшем анализе. Настройки по умолчанию позволяют полностью игнорировать междометья и игнорировать частицы, если есть варианты того же слова, относящиеся к другим частям речи. Следовательно, в примере с «и» останется единственный вариант – союз.
Помимо грамматической информации для каждого слова запоминается также его смещение от начала текста и следующий за словом разделитель. Анализ разделителей позволяет обрабатывать переносы, разбивать текст на предложения, а предложения – на секции в соответствии со знаками препинания. При этом учитывается возможность появления разделителей внутри слов, например: дефисов, символов десятичной точки, разделителей дат и т.п.
Таким образом, вход морфологического анализа представляет собой текст (строку символов в кодировке Windows-1251). На выходе мы получаем список предложений, каждое из которых представляет собой список слов. Каждое слово, в свою очередь, – список лексем.
Основной задачей синтаксического анализа является установление различных зависимостей между лексемами, выявленными на предыдущем этапе. В частности, выделение синтаксем и именных групп, а также замещение местоимений именами.
Первые две задачи решаются в пределах одного предложения. Для всех предложений, полученных на выходе морфологического анализа, строится список вариантов, таким образом, чтобы в каждом варианте предложения у каждого слова была только одна лексема. Так как при этом число вариантов предложения равно произведению числа лексем для каждого слова, то встает задача ограничения количества вариантов. Для этого в программе используются эвристики, позволяющие отбросить заведомо некорректные варианты. Кроме того, в настройках синтаксического анализатора можно явно задать максимально допустимое количество вариантов (по умолчанию 2000).
Затем к каждому варианту предложения применяется алгоритм выявления подчинительных синтаксических связей, в результате чего лексемы объединяются в деревья зависимостей: лексема родительского узла управляет всеми лексемами дочерних узлов. Собственно, под синтаксемой понимается такое дерево, в корне которого стоит существительное или предлог, управляющий существительным. Следует оговориться, что к существительным также относятся и имена собственные. Именная группа – это любое поддерево синтаксемы, в которое входит корневое существительное. Семантические связи между синтаксемами выявляются на следующем этапе анализа. Понятие именной группы используется в задачах классификации текстов, а также при сравнении поисковых образов документа и запроса.
Помимо управления синтаксический анализ обнаруживает однородные члены. Таким образом, на этом этапе между лексемами могут быть обнаружены два вида связей: управление и однородность. Каждый раз при обнаружении какой-либо синтаксической связи программа увеличивает вес варианта предложения. По окончании разбора предложения будут оставлены только варианты с максимальным весом. По умолчанию предложения с нулевым весом удаляются (это можно изменить через настройки синтаксического анализатора).
На данном этапе разработан алгоритм замещения местоимений именами для двух соседних предложений и только для личных местоимений. Остальные случаи находятся в стадии разработки.
Таким образом, вход синтаксического анализа представляет собой предложение на выходе морфологического анализа. Выход – предложение в виде списка вариантов, каждый из которых представляет собой список деревьев зависимостей (список синтаксем). Для каждой синтаксемы можно построить все возможные именные группы.
Основная задача семантического анализа заключается в выявлении семантических связей между синтаксемами, обнаруженными на предыдущем этапе.
Под семантической связью в общем случае будем понимать отношение понятий в понятийной системе предметной области. Представителями семантических связей в лексике являются предикаторы, то есть лексемы, представляющие предикаты. Главное место здесь занимают глаголы, имеющие, как правило, центральное положение в семантической структуре предложения и оказывающие решающее влияние на именные словосочетания и предложения. Выделение связей основано на широко используемом в структурной лингвистике понятии валентности (роли). Сведения о синтаксической сочетаемости каждого глагола заносятся в специальные таблицы. Таблицы связей для каждого глагола указывают типы связей между его ролями. В тех случаях, когда речь идет об обязательных валентностях, то есть когда распространители глагола входят в модель его управления, можно говорить о связанных синтаксемах. Таблицы ролей и семантических связей составляются именно для этого вида синтаксем.
В случаях факультативных ролей, семантика и синтаксическое выражение которых не специфично для данного глагола, мы имеем дело со свободными синтаксемами. Для них, а также для тех синтаксем, которые вступают в связь друг с другом, минуя глаголы, разработан специальный эвристический алгоритм. Здесь следует отметить, что в роли предикаторов могут выступать причастия и деепричастия, как особые формы глагола, а также отглагольные отвлеченные существительные.
Для проведения семантического анализа необходимо, прежде всего, выделить предикатные слова (предикаторы). Если в предложении предикатором является глагол, он может быть выделен сразу на этапе морфологического анализа. В других случаях (когда предикатором является причастие, отглагольное существительное и т.д.) необходимо применение дополнительных правил.
После того, как выделен предикатор и именные группы, связанные с ним, необходимо заполнить валентности в ролевых структурах предикатора. Заполнение проводится с использованием специальных лингвистических словарей, в которых каждому предикатору поставлен в соответствие некоторый набор ролей.
Кроме того, в словаре имеются указания на то, как связаны между собой именные группы внутри ролевых структур. Набор бинарных связей между ролями также является специфичным для каждого предикатора и определяется лингвистом.
Совокупность именных групп, ролей и бинарных связей можно представить в виде семантического графа, описывающего ситуацию в окрестности одного предикатора и являющегося фрагментом семантической сети, описывающей семантический образ всего документа.
Каждый раз, когда синтаксема заполняет роль предикатора, или когда две роли соответствуют семантической связи, программа увеличивает вес варианта предложения. Следовательно, при одновременном синтаксическом и семантическом анализе будут оставаться варианты, наиболее «тяжелые» с точки зрения как синтаксических, так и семантических связей. Поэтому одновременный анализ не равносилен последовательному: во втором случае сначала отбираются варианты с наибольшим числом синтаксических зависимостей, затем уже среди них выбираются варианты, в которых ролевая структура предикаторов заполнена наилучшим образом и найдено больше семантических связей.
Таким образом, вход семантического анализа – вариант предложения на выходе синтаксического анализа (т.е. со всеми обнаруженными синтаксемами). Выход – индекс троек {связь, 1-я синтаксема, 2-я синтаксема}.
2.5.2. Семантическая фильтрация документов в базе данных. Основная идея здесь заключается в том, чтобы оценить с точки зрения семантики те документы, которые были получены в ответ на запрос пользователя с помощью поисковых машин, реализующих традиционные подходы (индексирование и линейный поиск по ключевым словам). Затем оценить семантическую близость документов запросу пользователя.
Текст запроса пользователя, а также текст каждого документа, полученного в ответ на запрос метапоисковой машиной, подвергается семантическому анализу, описанному выше. В результате поисковый образ документов в базе данных – это индекс троек {связь, 1-я синтаксема, 2-я синтаксема}. Индекс упорядочен по типу связи и по нормальным (словарным) формам корневого существительного каждой синтаксемы.
Поиск по образцу в индексе представляет собой простой алгоритм, при котором каждая тройка, выявленная в тексте запроса, ищется в индексе троек документов. При этом релевантность документа оценивается, во-первых, глубиной перекрывающихся поддеревьев в синтаксемах каждой тройки, а во-вторых, количеством сопоставленных таким образом троек. Если учесть, что каждая тройка представляет собой семантическую связь, получаем оценку семантической близости запроса и документа.
2.6. Менеджер распределенных вычислений
Для увеличения производительности системы в целом целесообразно использовать вычислительные мощности нескольких компьютеров. Так как общая задача обработки документа может быть разбита на ряд подзадач, возможно выделение этих подзадач в отдельные приложения (агенты). Это делает возможным организовать распределённую обработку информации, а в некоторых случаях и параллельную. Это, например, имеет место при обработке сразу нескольких документов. Для организации таких распределённых вычислений разработано специальное управляющее звено (менеджер) и шаблон приложения-агента с произвольной исполнительной частью и отлаженным интерфейсом взаимодействия с менеджером.
2.6.1. Общие принципы функционирования менеджера.
Управляющее звено имеет 2-х секционную архитектуру. Базовая секция существует в единственном экземпляре и занимается поиском работ и их планированием (т.е. определяет на какой вычислительной машине, какую работу выполнять). Коммуникационная секция присутствует на каждом компьютере, участвующем в вычислениях, и занимается управлением агентами "на местах".
Базовая секция периодически обращается к базе данных с целью обнаружения работ. Все найденные работы поступают в очередь задач в соответствии с их приоритетами. Планировщик по мере нахождения свободных вычислительных ресурсов пересылает директивы о запуске задачи (а также её параметры) на удалённые машины. Там коммуникационная секция запускает задачу (как процесс операционной системы) и периодически опрашивает агента, её реализующего, о завершении работы. По завершении работы агента коммуникационная секция отсылает на базовую секцию сигнал об освобождении некоторого количества вычислительных ресурсов. В базе данных фиксацией флага о выполнении работы занимается сам агент.
Новые коммуникационные секции (а значит и новые вычислительные машины) могут подключаться в процессе работы системы. Базовая секция фиксирует появление новых вычислительных ресурсов и учитывает их при дальнейшем планировании.
Кроме запуска агентов, менеджер может осуществлять проверку программно-аппаратных средств компьютеров, участвующих в вычислениях. Это сделано для предотвращения запуска агентов на вычислительных машинах, где они не могут выполниться в принципе. Например, агенту для работы может потребоваться Internet Explorer v5.5 и процессор AMD K7. Возможно, не на всех компьютерах имеет место такая конфигурация. В этом случае после определения возможностей компьютеров для запуска таких агентов будет использоваться лишь часть вычислительных машин. Возможно жёсткое распределение агентов по компьютерам. В этом случае следует осуществлять привязку агента к конкретному IP-адресу. Набор модулей, определяющих возможности компьютеров, может быть легко расширен.
2.6.2. Входные параметры менеджера. Менеджер оперирует рядом варьируемых параметров работы. Среди них параметры работы самого менеджера и параметры запуска агентов (не путать с параметрами агентов). Параметры работы менеджера хранятся в специальном конфигурационном файле. Ряд этих параметров можно измерять в процессе работы через интерфейс пользователя. Параметры запуска агентов содержатся в реестре агентов.
Наиболее важными параметрами работы менеджера являются:
- Частота поиска работ для агентов. Менеджер по состоянию базы данных сам определяет, когда нужно запустить вычисляющий процесс. Так как постоянно опрашивать базу данных нерационально, менеджер делает это с некоторой периодичностью. Именно она и задаётся этим параметром.
- IP-адреса (координаты базовой секции) и порты используемые системой.
Основным параметром запуска агента является его условие запуска. При работе с базой данных это SQL-запрос. Существует также ряд идентификационных и вспомогательных параметров.
2.6.3. Выходные параметры. Управляющее звено не даёт иного выхода, кроме выполненной работы. Тем не менее, оно позволяет отслеживать ход выполнения работ и распределение задач по удалённым машинам. С какой-то точки зрения это тоже можно считать выходом программы.
Агенты дают выход, соответствующий каждому конкретному классу агентов. Результаты своей деятельности агенты направляют непосредственно в базу данных.
2.7. Агенты
2.7.1. Агент метапоиска. Агент занимается отправкой запроса на поисковые машины. Запрос может быть расширен с помощью словаря синонимов и/или тезауруса. Список подключенных поисковых машин и логика обращения к ним хранится в базе данных. Результатом работы агента является информация, полученная от поисковых машин: ссылки, заголовки, краткое описание документов, позиция документов в рейтингах и др. Результаты направляются в базу данных, при этом подготавливаются параметры для работы других агентов.
2.7.2. Агент скачивания. После того, как все необходимые ссылки появились в базе данных, запускается агент скачивания. В функции агента входят: проверка достоверности ссылок, скачивание документов по ссылкам, автоматическое определение кодировки. В случае возникновения ошибки, агент возвращает ее код. Ошибки могут быть такого рода: документ не найден, не удается определить кодировку документа, сервер не отвечает в течение долгого времени и другие. Предполагается вести работу над более тонкой обработкой ошибок. Например, если документ недоступен в данный момент, можно попытаться обратиться к нему через некоторое время. Часто на странице имеется информация о том, куда был перемещен документ. Тогда можно попытаться перейти по указанному адресу и продолжить поиски. Рассматривается возможность докачки, скачивание документа, начиная с указанной позиции (фрагментами). Результатом работы агента является тело документа, текст, свободный от разметочной информации, извлеченный из документа, фактический размер, дата скачивания и т.д.
2.7.3. Агент индексирования. Если документ скачан успешно, его кодировка определена верно, то можно приступать к семантическому разбору документа и составлению его семантического образа. Вначале документ подвергается морфологическому анализу. Выделяются свободные синтаксемы, определяются их роли и устанавливаются бинарные связи между ролями. Такому же анализу подвергается поисковый запрос.
2.7.4. Агент релевантности. Когда документы и запрос проиндексированы, происходит подсчет релевантности. Релевантность может быть вычислена как по частоте встречаемости в документе слов из запроса, так и семантически. То есть семантический образ запроса сравнивается с семантическим образом документа. При сравнении можно учитывать полное совпадение слов, совпадение с точностью до синонимии и т.д.
Литература
- Осипов Г.С. Приобретение знаний интеллектуальными системами: Основы теории и технологии. М.: Наука. Физматлит, 1997
- Белоногов Г. Г., Кузнецов Б. А. Языковыесредства автоматизированных информационных систем. М.: Наука. Главная редакция физико-математической литературы, 1983.
- Разработка и исследование макета системы для классификации текстовых информационных сообщений. Итоговый отчет ИПС РАН. Переславль-Залесский, 1999.
Intellectual metasearch system
E. P. Kourshev, G. S. Osipov, O. V. Ryabov, E. I. Sambou, N. V. Solov’eva, I. V. Trofimov
Key words: Internet, accurate intellectual search, metasearch engine, semantic analysis
The paper describes an intelligent metasearch system for Internet search. Search query is a natural-language text fragment. Given a query, the system generates its semantic index using original techniques of partial syntactic and semantic analysis. Based on the original query keywords, the system forms a query which it submits to standard search engines.
The system is equipped with a tool that allows new search engines to be added in a semiautomatic way. Semantic index is generated for retrieved pages. Relevance is determined by the similarity between the semantic index of a query and that of a document. The system operates in a distributed environment where the job is distributed among several local network computers. The system provides for query monitoring at preset time intervals.