Осипов Г.С., Тихомиров И.А., Смирнов И.В. Семантический поиск

advertisement
УДК 004.78:025.4.036
СЕМАНТИЧЕСКИЙ ПОИСК В СЕТИ ИНТЕРНЕТ
СРЕДСТВАМИ ПОИСКОВОЙ МАШИНЫ EXACTUS *
Г.С. Осипов1, И.А. Тихомиров2, И.В. Смирнов3
Доклад
посвящен
методам
и
программным
средствам
семантического поиска в сети Интернет. Особое внимание уделено
задачам семантической индексации и поиска. Приведена
архитектура программных средств поисковой машины Exactus.
Сделаны выводы о перспективности их развития и применения.
Введение
Задачей поисковых машин Интернет является предоставление
пользователю списка релевантных его запросу документов. Чем выше
релевантность найденных документов, чем их больше и чем быстрее
поисковая машина выдает результат, тем выше качество ее работы. Как
работают поисковые машины Интернет хорошо известно, существует
множество публикаций о применяемых в них методах, архитектурных
решениях и аппаратном обеспечении [1]. Известно, что методы
компьютерной лингвистики, в частности методы
лингвистической
семантики (имеется в виду именно лингвистическая семантика, а не
латентная семантика и прочие статистические методы) не применяются
глобальными поисковыми машинами, хотя их использование могло бы
существенным образом повысить релевантность выдаваемых поисковой
машиной результатов, однако процесс индексации и поиска может занять
в несколько раз больше времени. Для компенсации этого эффекта,
необходимо на порядок нарастить аппаратные ресурсы, что влечет
пропорциональное увеличение затрат на энергопотребление, теплоотвод,
кондиционирование, администрирование и т.д. Все это является основным
аргументом против семантических анализаторов.
Работа выполнена при поддержке программы ОНИТ РАН "Фундаментальные
основы информационных технологий и систем" (проект № 2.9).
1 Институт системного анализа РАН, Москва, gos@isa.ru
2 Институт системного анализа РАН, Москва, matandra@isa.ru
3 Институт системного анализа РАН, Москва, ivs@isa.ru
*
Настоящая работа посвящена описанию программных средств поиска
информации, в которых проблема точности решается благодаря
применению методов коммуникативной грамматики; проблема скорости
поиска и индексации – благодаря взаимодействию последних со
статистическими методами. [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.
Модуль обхода сайтов. Основной задачей модуля является
сайтов сети Интернет и извлечение ссылок на документы.
обход
2.
Модуль загрузки документов. Предназначен для загрузки документов
из сети Интернет в систему.
3.
Модуль анализа документов. Осуществляет преобразование
документа из различных форматов (doc, pdf и др.) к внутренней
структуре документов Exactus, определяет язык и кодировку
документов.
4.
Модуль
анализа
текстов.
Производит
морфологический,
синтаксический и реляционно-ситуационный анализ текстов.
5.
Модуль
индексирования.
Осуществляет
индексацию
проанализированных документов и их текстов в специализированные
структуры данных.
6.
Модуль поиска в индексе. Осуществляет выборку релевантных
документов из индекса по запросу пользователя.
7.
Модуль истории. Хранит информацию о наиболее частых запросах
пользователей, о загруженных документах и сайтах, по которым был
осуществлен обход.
8.
Модуль кэширования. Хранит наиболее частые запросы пользователей
к системе и результаты поиска по ним. Необходим для моментальной
выдачи результата по наиболее частотным запросам.
9.
Модуль интерфейса пользователя. Предназначен для ввода
поисковых запросов пользователем и просмотра результатов поиска.
10. Менеджер распределенных вычислений. Управляет распределением
нагрузки на модули и организует параллельное выполнение задач.
Следует отметить, что модули Exactus расположены на узлах
кластерной установки с возможностью параллельного выполнения задач.
Основным
способом
параллелизма
является
позадачное
распараллеливание. Управление задачами осуществляется посредством
PVM-машины (Parallel Virtual Machine). Модули можно разделить на два
типа: основные (лингвистические процессоры, индексаторы и т.д.) и
вспомогательные (агрегаторы, синхронизаторы и т.д.). Задачей основных
модулей является решение конкретных задач поисковой машины. Задачей
вспомогательных модулей является сервисная составляющая: обеспечение
масштабируемости системы, распределенное хранение индекса,
объединение результатов поиска и много другое.
Система
Exactus
является
кросс-платформенной
и
может
функционировать на широком спектре Unix-подобных операционных
систем. Прототип поисковой машины www.exactus.ru функционирует на
Linux Debian 4.0. Экспериментальная установка состоит из 8-и
задействованных узлов кластера пиковой производительностью 100
Gigaflops. Особенностью Exactus является то, что в качестве
вычислительных
узлов
используются
обычные
персональные
компьютеры, объединенные в стойку (концепция, аналогичная Google).
Узлы неравнозначны по своим аппаратным характеристикам, так,
например, для хранения индекса нужны большие винчестеры и большой
объем оперативной памяти, а для лингвистических процессоров – высокая
производительность центрального процессора и большой объем
оперативной памяти. Для взаимодействия узлов используется Gigabit
Ethernet.
3. Дополнительные возможности Exactus
К дополнительным возможностям Exactus относятся:
Построение персональной онтологии пользователя.
Формирование онтологии основывается на адаптации интерфейса и
работы поисковых механизмов Exactus к поведению пользователя.
Построение персональной онтологии пользователя осуществляется на
основе сбора сведений о его активности, предпочтениях и поисковом
поведении. Это позволяет управлять поиском, направлять его в русло
наиболее адекватных пользователю сценариев поиска. Предпочтения
пользователя выражены, типовыми запросами, которые пользователь чаще
всего задает и документами, которые пользователь просматривает.
Онтология в этом случае содержит набор запросов, связанных между
собой. На стадии поиска, пользователю могут предлагаться на выбор из
онтологии связанные запросы, которые могут его интересовать в
контексте текущего запроса.
Основой для построения онтологии являются, прежде всего, запросы
пользователя, играющие роль прецедентов. Из каждого запроса
пользователя, точнее, из его образа, извлекается некоторая информация,
которая преобразуется в базе прецедентов. Полученное множество
прецедентов используется для запуска функции построения онтологии.
Создание онтологии – процесс постепенный, зависящий от поступающей
на протяжении длительного промежутка времени информации о
деятельности пользователя, поэтому эта функция запускается в фоновом
режиме на протяжении долгой работы пользователя с Exactus.
Контекстно-зависимое аннотирование найденных документов.
По результатам семантического анализа выявляются наиболее
релевантные запросу фрагменты текста документа. Они и являются
аннотацией к документу в контексте запроса пользователя.
Интерактивное уточнение запроса пользователя.
Пользователю предоставляется возможность модифицировать свой
запрос, заменив исходный близкими по смыслу словами и
словосочетаниями.
4. Результаты
В настоящее время реализован прототип системы, позволяющий
осуществлять семантический поиск в сети Интернет (www.exactus.ru).
Прототип включает в себя мощные средства семантического анализа
текстов.
В рамках прототипа разработана общая расширяемая архитектура
системы, которая позволяет наращивать функциональные характеристики
системы, расширяя тем самым, области ее возможного применения.
Проведенные эксперименты показывают ее перспективность по
сравнению с традиционными поисковыми машинами Интернет в области
семантического поиска с использованием запросов на естественном языке
[6].
Список литературы
Sergey Brin, Lawrence Page, The Anatomy of a Large-Scale Hypertextual Web
Search Engine. // http://infolab.stanford.edu/~backrub/google.html
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.
Осипов Г.С., Тихомиров И.А., Смирнов И.В. Exactus – система
интеллектуального метапоиска в сети Интернет. // Труды десятой
национальной конференции по искусственному унтеллекту с
международным участием КИИ-2006. М: Физматлит, 2006. т. 3. - С.
859-866.
Золотова Г.А., Онипенко Н. К., Сидорова М. Ю. Коммуникативная
грамматика русского языка. Институт русского языка РАН им. В. В.
Виноградова, М. 2004 – 544 с.
Российский Семинар по Оценке Методов Информационного Поиска.
http://www.romip.ru
Download