Я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.
Система состоит из следующих частей:
- Индексатор
- проходит по всем HTML-документам, лежащим на Web-site'е, и создает
индекс. Индекс дает возможность быстро проводить поиск по заиндексированным
документам. Предполагается, что эта программа запускается регулярно,
например каждой ночью, чтобы индекс всегда отражал текущее состояние
Web-site'а.
- Поисковый сервер
- постоянно работающая программа, выполняющая запросы на проведение
поиска и выделение найденных слов в найденных документах (разметки).
- CGI-скрипт - передает
запросы поисковому серверу, получает от него ответ и передает
этот ответ пользователю.
- Морфологический сервер
- отвечает на запросы индексатора и поискового сервера. Он "знает"
морфологию русского и английского языка
Подробнее описание и пример работы Я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
Библиотека полнотекстовой индексации и поиска включает
следующие функции:
Интерфейс индексирования:
- Инициализация индексирования
- Индексация очередного документа
- Завершение индексирования и закрытие индексных
файлов
Интерфейс поиска:
- Инициализация поиска
- Завершение сеанса поиска
- Выполнение запроса
- Получение очередного найденного документа по
дескриптору запроса
- Освобождение ресурсов, связанных с данным запросом
Интерфейс подсветок:
- Создание итератора подсветок для данного документа
- Получение позиции следующего найденного слова
(результативно повлиявшего на выбор данного документа)
- Удаление итератора подсветок и освобождение ресурсов
Более подробное описание интерфейса Яndex-Lib
можно прочесть на нашем сайте (www.comptek.ru/arcadia/yanddll.html).
Зачем нужны морфология и синтаксис или Как искать ветра в
поле
Распространено мнение, что шаблон "*", означающий
любой набор символов, достаточен для поиска в русских текстах.
То есть все проблемы, связанные с особенностями морфологии решаются
путем обеспечения развитого языка запросов.
Но представьте себе - Вы узнали, что искали ветер
в поле и нашли. Чтобы найти эту информацию, Вы, вероятно, попросите
компьютер поискать слова "ветер" и "поле".
Но если в тексте были формы "ветра" или
"полях"? Остается вариант шаблона - "вет*"
и "пол*", что тут же выдаст Вам материалы о польской
ветчине и политике вето! Отсутствие морфологии
сильно, а иногда катастрофически влияет на чувствительность и
избирательность поиска. Запрос "ветер И поле" уменьшает чувствительность,
а "вет* И пол*" - избирательность.
Случаи, когда шаблон не спасает:
- Слова, у которых в разных формах
меняется основа (супплетивные формы): идти-шел, плохо-хуже,
я-меня, человек-люди, ребенок-дети
- Слова с большим количеством словоформ. Привести
список всех словоформ русского глагола (с причастными и деепричастными
формами - до 250 различных форм) человеку, не имеющему лингвистического
образования, очень трудно. Понять, все ли словоформы из этого
списка "накрываются" шаблоном "*" - ещё труднее.
- Слова с беглыми гласными и чередованиями. В словаре
на 90000 слов, используемом в нашей системе, примерно четверть
слов имеет чередования, которые не позволяют найти слово по шаблонам:
(искать-ищу, окно-окон, расти-рос: запрос и* или ок* или
р* даст много мусора)
- Короткие (три-четыре буквы) слова: дом, хор,
... . Во всех языках, в том числе и в русском, имеется общая закономерность:
чем чаще слова используются, тем они короче. Применение шаблона
"*" в коротких словах приводит к большому количеству
ненужных ссылок в списке найденных документов.
Созданный в 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), так
и возможности иерархическое гипертекстовое представление текстов.
[Назад]
[Содержание]
[Вперед]