[an error occurred while processing this directive]

Яndex: система русского поиска Internet/Intranet

Е. Колмановская, CompTek International

Полнотекстовые поисковые системы с учетом морфологии русского языка

Internet и Intranet

Полнотекстовый поиск в русских текстах

Продолжается информационный бум - растут количество и объемы серверов в WWW, увеличиваются мощности локальных сетей. Каждый день Вам приходится иметь дело с грудами текстов на русском языке. Это и новости, и подшивки газет в электронном виде, и электронная почта, и новые документы, и письма. Очень важно уметь быстро искать и находить в этом море действительно нужную информацию. Уже давно во всем мире крупнейшие компьютерные корпорации разрабатывают всевозможные средства интеллектуализации поиска... но без учета нашего "великого и могучего, правдивого и свободного", на 80% изменяемого русского языка.

Что умеет Яndex

Программные продукты серии Яndex (Языковый index) - набор средств полнотекстовой индексации и поиска в текстовых данных с учетом морфологии русского языка.

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

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

Яndex предназначен для работы с текстами как в локальной так и в глобальной сети (технологии Intranet и Internet) , а также может быть подключен как модуль к другим системам.

1. Индексация

Создаваемый индекс составляет около 1/3 объема текста (без картинок, tag'ов и пр.), при этом записывается подробный адрес слова - с точностью до позиции в тексте, что потом позволяет искать с учетом близости. В базу входят нормализованные формы слов текста, сами документы не хранятся.

Морфологический анализ слов текста происходит одновременно с индексацией, что дает возможность снятия омонимии.

Скорость индексации - не менее 2 Мб/минуту. Написан свой робот для обхода Web'а.

Организация изменения индекса (полное либо частичное обновление, слияние).

Идет индексирование по всем словам, стоп-слова определяются статистически.

2. Поиск

Язык запросов: скобки; логическое И (в пределах одного абзаца); логическое ИЛИ; оператор И НЕ (в пределах одного абзаца); близость - расстояние в словах.

Список выданных документов упорядочивается по релевантности - по количеству найденных слов. В каждом документе выделяются (подсвечиваются) найденные слова.

3. Работа с языком

Для интеллектуализации поиска используется словарь на 90 тыс. слов. При индексации происходит нормализация, то есть слово ставится в свою исходную форму (для существительных - именительный падеж единственного числа, для глаголов - неопределенная форма и т.д.) и в таком виде учитывается в базе. Алгоритм морфологического разбора умеет корректно обрабатывать и слова, не найденные в словаре. Морфология работает для русского и английского языка. Также индексируются числа.

Какие варианты Яndex предлагаются

Яndex-Site

Средство полнотекстовой индексации и поиска по страницам собственного Web-сервера с учетом морфологии русского и английского языков. На данный момент существуют версии для платформ FreeBSD 2.1 и выше и Sun Solaris 2.5 (SPARC). В ближайшее время такая же система будет сделана для Linux и Windows NT.

Система состоит из следующих частей:

Подробнее описание и пример работы Яndex-Site можно посмотреть у нас на сайте (www.comptek.ru/new_search.html, www.comptek.ru/arcadia/yandsite/ysite.html).

Яndex-Dict

Задача словарного сервера Яndex-Dict - понимание и расширение запроса пользователя и передача обработанного запроса независимому поисковому механизму. Яndex-Dict работает с уже готовым индексом, созданным без учета морфологии языка.

Принцип взаимодействия Яndex-Dict с поисковым механизмом - преобразование ("мор-
фологизация") поискового запроса, то есть каждый элемент поискового запроса, опознаваемый как слово русского языка, заменяется на все его словоформы.

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

Словарный сервер работает у нас на сайте как морфологическая надстройка к Интернетовским поисковым системам AltaVista и Rambler (www.comptek.ru/alta.html, www.comptek.ru/ramb.html). На этих страничках можно получить грамматический разбор запроса (что представляет собой результат работы словарного сервера), задав в поле "Режим" значение "разбор запроса". Последняя версия Яndex-Dict позволяет также учитывать согласование слов. Более подробно Яndex-Dict описан у нас на сайте (www.comptek.ru/arcadia/yand_dict.html).

Яndex-CD ROM

Новое приложение, которое позволит создателям компьютерных CD ROM'ов, использующих формат html и браузер для просмотра информации, предоставить пользователям мощное средство поиска с учетом морфологии русского и английского языков.

Яndex-CD ROM работает под Win32 (Windows NT, Windows 95) с любым браузером, поддерживающим Java и Java Scripts (Netscape 3.0 и Explorer 3.0 и выше) . Важно, что реализован локальный вызов поисковой программы - то есть пользователь может не иметь выхода в Интернет, а получать его эмуляцию на локальном компьютере.

Яndex-Lib

Библиотека полнотекстовой индексации и поиска включает следующие функции:

Интерфейс индексирования:

  1. Инициализация индексирования
  2. Индексация очередного документа
  3. Завершение индексирования и закрытие индексных файлов

Интерфейс поиска:

  1. Инициализация поиска
  2. Завершение сеанса поиска
  3. Выполнение запроса
  4. Получение очередного найденного документа по дескриптору запроса
  5. Освобождение ресурсов, связанных с данным запросом

Интерфейс подсветок:

  1. Создание итератора подсветок для данного документа
  2. Получение позиции следующего найденного слова (результативно повлиявшего на выбор данного документа)
  3. Удаление итератора подсветок и освобождение ресурсов

Более подробное описание интерфейса Яndex-Lib можно прочесть на нашем сайте (www.comptek.ru/arcadia/yanddll.html).

Зачем нужны морфология и синтаксис или Как искать ветра в поле

Распространено мнение, что шаблон "*", означающий любой набор символов, достаточен для поиска в русских текстах. То есть все проблемы, связанные с особенностями морфологии решаются путем обеспечения развитого языка запросов.

Но представьте себе - Вы узнали, что искали ветер в поле и нашли. Чтобы найти эту информацию, Вы, вероятно, попросите компьютер поискать слова "ветер" и "поле". Но если в тексте были формы "ветра" или "полях"? Остается вариант шаблона - "вет*" и "пол*", что тут же выдаст Вам материалы о польской ветчине и политике вето! Отсутствие морфологии сильно, а иногда катастрофически влияет на чувствительность и избирательность поиска. Запрос "ветер И поле" уменьшает чувствительность, а "вет* И пол*" - избирательность.

Случаи, когда шаблон не спасает:

Созданный в CompTek словарный сервер Яndex-Dict, который занимается расширением ("морфологизацией") запроса с учетом русского языка, позволяет поставить следующие эксперименты.

Предмет поиска: электронные деньги

Механизм поиска: AltaVista

Область поиска: страницы в Win-кодировке по всему Web'у

Запрос:

электронные NEAR
деньги

Обработка:

морфология
(электронен OR электронна OR электронная OR электроннее OR электронней OR электронно OR электронного OR электронное OR электронной OR электронном OR электронному OR электронною OR электронную OR электронны OR электронные OR электронный OR электронным OR электронными OR электронных) NEAR (денег OR деньг OR деньга OR деньгам OR деньгами OR деньгах OR деньге OR деньги OR деньгой OR деньгою OR деньгу) 63
Без обработкиэлектронн* NEAR (деньг* OR денег) 58
Запрос:

электронные
деньги

Обработка:

синтаксис и
морфология
((электронные NEAR деньги) OR (электронных NEAR (денег OR деньгах OR деньг)) OR (электронным NEAR деньгам) OR (электронными NEAR деньгами) OR (электронная NEAR деньга) OR (электронной NEAR (деньги OR деньге)) OR (электронную NEAR деньгу) OR ((электронной OR электронною) NEAR (деньгой OR деньгою))) 41
Без обработкиэлектронн* NEAR деньг* 40
Без обработки"электронные" NEAR "деньги" 17

Простой прямой запрос "электронные" NEAR "деньги" теряет по меньшей мере 41-17=24 документа.

Развитие системы Яndex, прошлое и будущее

Лингвистическим отделением компании CompTek созданы три информационно-поисковых системы - Справочник "Международная Классификация Изобретений", 4 и 5 редакция, а также "Классификатор Товаров и Услуг". Общими чертами этих систем являлось:

Первым приложением проекта Яndex стала разработанная в 1994-1995 годах Информационно-поисковая система, обеспечивающая работу с Синодальным переводом Ветхого и Нового Заветов "Библейский компьютерный справочник". У нас на сервере можно задать поисковый запрос ко всем 77 книгам Библии (www.comptek.ru/arcadia/yand_rbible.html).

Готовится к выпуску первый CD-ROM из серии "Электронное научное издание", посвященного жизни и творчеству А.С. Грибоедова. Проект "Электронное научное издание" осуществляет НТЦ "ИнформРегистр" и ИМЛИ им. М.Горького РАН при поддержке Роскоминформа с 1995 года до настоящего времени. Проект направлен на создание CD-ROM, содержащего многообразную информацию о творчестве Александра Сергеевича Грибоедова, в том числе - многочисленные издания произведений великого русского писателя и академические и популярные исследования о нем. В этой разработке были расширены как поисковые возможности лингвистического модуля (Яndex), так и возможности иерархическое гипертекстовое представление текстов.

[Назад] [Содержание] [Вперед]
[an error occurred while processing this directive]