УДК 004.78:025.4.036 СЕМАНТИЧЕСКИЙ ПОИСК В СЕТИ ИНТЕРНЕТ СРЕДСТВАМИ ПОИСКОВОЙ МАШИНЫ EXACTUS * Г.С. Осипов1, И.А. Тихомиров2, И.В. Смирнов3 Доклад посвящен методам и программным средствам семантического поиска в сети Интернет. Особое внимание уделено задачам семантической индексации и поиска. Приведена архитектура программных средств поисковой машины Exactus. Сделаны выводы о перспективности их развития и применения. Введение Задачей поисковых машин Интернет является предоставление пользователю списка релевантных его запросу документов. Чем выше релевантность найденных документов, чем их больше и чем быстрее поисковая машина выдает результат, тем выше качество ее работы. Как работают поисковые машины Интернет хорошо известно, существует множество публикаций о применяемых в них методах, архитектурных решениях и аппаратном обеспечении [1]. Известно, что методы компьютерной лингвистики, в частности методы лингвистической семантики (имеется в виду именно лингвистическая семантика, а не латентная семантика и прочие статистические методы) не применяются глобальными поисковыми машинами, хотя их использование могло бы существенным образом повысить релевантность выдаваемых поисковой машиной результатов, однако процесс индексации и поиска может занять в несколько раз больше времени. Для компенсации этого эффекта, необходимо на порядок нарастить аппаратные ресурсы, что влечет пропорциональное увеличение затрат на энергопотребление, теплоотвод, кондиционирование, администрирование и т.д. Все это является основным аргументом против семантических анализаторов. Работа выполнена при поддержке программы ОНИТ РАН "Фундаментальные основы информационных технологий и систем" (проект № 2.9). 1 Институт системного анализа РАН, Москва, [email protected] 2 Институт системного анализа РАН, Москва, [email protected] 3 Институт системного анализа РАН, Москва, [email protected] * Настоящая работа посвящена описанию программных средств поиска информации, в которых проблема точности решается благодаря применению методов коммуникативной грамматики; проблема скорости поиска и индексации – благодаря взаимодействию последних со статистическими методами. [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