Г. С. Осипов 1, И. А. Тихомиров 2, И. В. Смирнов 3 Доклад

Вид материалаДоклад

Содержание


1. Точность поиска в Exactus
2. Архитектура и особенности Exactus
Модуль анализа текстов.
Модуль интерфейса пользователя.
3. Дополнительные возможности Exactus
Список литературы
Подобный материал:

УДК 004.78:025.4.036

СЕМАНТИЧЕСКИЙ ПОИСК В СЕТИ ИНТЕРНЕТ СРЕДСТВАМИ ПОИСКОВОЙ МАШИНЫ EXACTUS *

Г.С. Осипов1, И.А. Тихомиров2, И.В. Смирнов3


Доклад посвящен методам и программным средствам семантического поиска в сети Интернет. Особое внимание уделено задачам семантической индексации и поиска. Приведена архитектура программных средств поисковой машины Exactus. Сделаны выводы о перспективности их развития и применения.

Введение

Задачей поисковых машин Интернет является предоставление пользователю списка релевантных его запросу документов. Чем выше релевантность найденных документов, чем их больше и чем быстрее поисковая машина выдает результат, тем выше качество ее работы. Как работают поисковые машины Интернет хорошо известно, существует множество публикаций о применяемых в них методах, архитектурных решениях и аппаратном обеспечении [1]. Известно, что методы компьютерной лингвистики, в частности методы лингвистической семантики (имеется в виду именно лингвистическая семантика, а не латентная семантика и прочие статистические методы) не применяются глобальными поисковыми машинами, хотя их использование могло бы существенным образом повысить релевантность выдаваемых поисковой машиной результатов, однако процесс индексации и поиска может занять в несколько раз больше времени. Для компенсации этого эффекта, необходимо на порядок нарастить аппаратные ресурсы, что влечет пропорциональное увеличение затрат на энергопотребление, теплоотвод, кондиционирование, администрирование и т.д. Все это является основным аргументом против семантических анализаторов.


Настоящая работа посвящена описанию программных средств поиска информации, в которых проблема точности решается благодаря применению методов коммуникативной грамматики; проблема скорости поиска и индексации – благодаря взаимодействию последних со статистическими методами. [2, 3].

1. Точность поиска в Exactus

Алгоритм поиска Exactus объединяет статистическую и лингвистическую составляющие. Из статистических характеристик текста Exactus учитывает TF*IDF веса термов и значимость фрагментов текстов (на основе HTML-разметки документов). Лингвистическая составляющая – значения синтаксем (минимальных семантико-синтаксических единиц текста) и их сочетаемость в конкретном предложении [4]. Это позволяет отбирать только те тексты, в которых семантическое значение синтаксемы совпадает с ее семантическим значением в запросе (что невозможно в обычных статистических методах). Кроме того, это позволяет обработать ситуацию, когда целевая синтаксема является элементом более сложной синтаксической конструкции. Пример:

Запрос: «К чему приводит инфляция?».

Документ1: «Инфляция приводит к снижению темпов экономического роста».

Документ2: «Строительство непроизводственных мегаобъектов приводит к росту инфляции».


В результате для системы Exactus первый документ наиболее предпочтителен, так как во втором документе «инфляция» находится в другом семантическом значении. Пример показателен еще и тем, что для традиционных поисковых машин Интернет вопросительные слова и предлоги являются стоп-словами и не учитываются при поиске. Это приводит к невозможности отличить семантические значения слов и, как следствие, понижению точности поиска. В результате Документ1 и Документ2 являются равнозначными для традиционных поисковых машин, а для Exactus – совсем нет.


Поиск в Excatus может быть проведен только после предварительной индексации документов. На этапе индексации производится преобразование документов к внутреннему формату Exactus, обсчет TF*IDF весов термов с учетом морфологии русского языка. Параллельно этому производится синтаксический и семантический анализ текстов, что позволяет выявить подчинения синтаксем в тексте и их семантические значения. Полученные в результате анализа данные укладываются в линейные упорядоченные списки.

В результате поиск в Exactus представляет собой слияние и переранжирование линейных упорядоченных списков, что опять же аналогично концепции большинства поисковых машин. Особенностью алгоритма являются весовые коэффициенты и алгоритм предварительной индексации текстов, которые позволяют учесть как статистические, так и семантические составляющие единиц текста.

2. Архитектура и особенности Exactus

Современная архитектура Exactus имеет модульную структуру. Основные модули системы представлены на рис. 1.




Рисунок. 1.Архитектура поисковой машины Exactus.


Перечислим модули и их назначение:

  1. Модуль обхода сайтов. Основной задачей модуля является обход сайтов сети Интернет и извлечение ссылок на документы.



  1. Модуль загрузки документов. Предназначен для загрузки документов из сети Интернет в систему.



  1. Модуль анализа документов. Осуществляет преобразование документа из различных форматов (doc, pdf и др.) к внутренней структуре документов Exactus, определяет язык и кодировку документов.



  1. Модуль анализа текстов. Производит морфологический, синтаксический и реляционно-ситуационный анализ текстов.



  1. Модуль индексирования. Осуществляет индексацию проанализированных документов и их текстов в специализированные структуры данных.



  1. Модуль поиска в индексе. Осуществляет выборку релевантных документов из индекса по запросу пользователя.



  1. Модуль истории. Хранит информацию о наиболее частых запросах пользователей, о загруженных документах и сайтах, по которым был осуществлен обход.


  1. Модуль кэширования. Хранит наиболее частые запросы пользователей к системе и результаты поиска по ним. Необходим для моментальной выдачи результата по наиболее частотным запросам.



  1. Модуль интерфейса пользователя. Предназначен для ввода поисковых запросов пользователем и просмотра результатов поиска.



  1. Менеджер распределенных вычислений. Управляет распределением нагрузки на модули и организует параллельное выполнение задач.


Следует отметить, что модули Exactus расположены на узлах кластерной установки с возможностью параллельного выполнения задач. Основным способом параллелизма является позадачное распараллеливание. Управление задачами осуществляется посредством PVM-машины (Parallel Virtual Machine). Модули можно разделить на два типа: основные (лингвистические процессоры, индексаторы и т.д.) и вспомогательные (агрегаторы, синхронизаторы и т.д.). Задачей основных модулей является решение конкретных задач поисковой машины. Задачей вспомогательных модулей является сервисная составляющая: обеспечение масштабируемости системы, распределенное хранение индекса, объединение результатов поиска и много другое.

Система Exactus является кросс-платформенной и может функционировать на широком спектре Unix-подобных операционных систем. Прототип поисковой машины ссылка скрыта функционирует на Linux Debian 4.0. Экспериментальная установка состоит из 8-и задействованных узлов кластера пиковой производительностью 100 Gigaflops. Особенностью Exactus является то, что в качестве вычислительных узлов используются обычные персональные компьютеры, объединенные в стойку (концепция, аналогичная Google). Узлы неравнозначны по своим аппаратным характеристикам, так, например, для хранения индекса нужны большие винчестеры и большой объем оперативной памяти, а для лингвистических процессоров – высокая производительность центрального процессора и большой объем оперативной памяти. Для взаимодействия узлов используется Gigabit Ethernet.

3. Дополнительные возможности Exactus

К дополнительным возможностям Exactus относятся:


Построение персональной онтологии пользователя.

Формирование онтологии основывается на адаптации интерфейса и работы поисковых механизмов Exactus к поведению пользователя. Построение персональной онтологии пользователя осуществляется на основе сбора сведений о его активности, предпочтениях и поисковом поведении. Это позволяет управлять поиском, направлять его в русло наиболее адекватных пользователю сценариев поиска. Предпочтения пользователя выражены, типовыми запросами, которые пользователь чаще всего задает и документами, которые пользователь просматривает. Онтология в этом случае содержит набор запросов, связанных между собой. На стадии поиска, пользователю могут предлагаться на выбор из онтологии связанные запросы, которые могут его интересовать в контексте текущего запроса.

Основой для построения онтологии являются, прежде всего, запросы пользователя, играющие роль прецедентов. Из каждого запроса пользователя, точнее, из его образа, извлекается некоторая информация, которая преобразуется в базе прецедентов. Полученное множество прецедентов используется для запуска функции построения онтологии. Создание онтологии – процесс постепенный, зависящий от поступающей на протяжении длительного промежутка времени информации о деятельности пользователя, поэтому эта функция запускается в фоновом режиме на протяжении долгой работы пользователя с Exactus.


Контекстно-зависимое аннотирование найденных документов.

По результатам семантического анализа выявляются наиболее релевантные запросу фрагменты текста документа. Они и являются аннотацией к документу в контексте запроса пользователя.


Интерактивное уточнение запроса пользователя.

Пользователю предоставляется возможность модифицировать свой запрос, заменив исходный близкими по смыслу словами и словосочетаниями.

4. Результаты

В настоящее время реализован прототип системы, позволяющий осуществлять семантический поиск в сети Интернет (ссылка скрыта). Прототип включает в себя мощные средства семантического анализа текстов.

В рамках прототипа разработана общая расширяемая архитектура системы, которая позволяет наращивать функциональные характеристики системы, расширяя тем самым, области ее возможного применения.

    Проведенные эксперименты показывают ее перспективность по сравнению с традиционными поисковыми машинами Интернет в области семантического поиска с использованием запросов на естественном языке [6].

Список литературы
  1. Sergey Brin, Lawrence Page, The Anatomy of a Large-Scale Hypertextual Web Search Engine. // ссылка скрыта
  2. Osipov G. S., Smirnov I. V., Tikhomirov I. A., Vybornova O.V, Zavjalova O. S. Linguistic Knowledge for Search Relevance Improvement.// Papers of Joint conference on knowledge-based software engineering JCKBSE'06, IOS Press, 2006. - P. 294-302.
  3. Осипов Г.С., Тихомиров И.А., Смирнов И.В. Exactus – система интеллектуального метапоиска в сети Интернет. // Труды десятой национальной конференции по искусственному унтеллекту с международным участием КИИ-2006. М: Физматлит, 2006. т. 3. - С. 859-866.
  4. Золотова Г.А., Онипенко Н. К., Сидорова М. Ю. Коммуникативная грамматика русского языка. Институт русского языка РАН им. В. В. Виноградова, М. 2004 – 544 с.


  5. Российский Семинар по Оценке Методов Информационного Поиска. ссылка скрыта

* Работа выполнена при поддержке программы ОНИТ РАН "Фундаментальные основы информационных технологий и систем" (проект № 2.9).

1 Институт системного анализа РАН, Москва, gos@isa.ru

2 Институт системного анализа РАН, Москва, matandra@isa.ru

3 Институт системного анализа РАН, Москва, ivs@isa.ru