Logo    
Деловая газета CitCity.ru CITKIT.ru - все об Open Source Форумы Все публикации Учебный центр Курилка
CitForum    CITForum на CD    Подписка на новости портала Море(!) аналитической информации! :: CITFORUM.RU
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

16.06.2017

Google
WWW CITForum.ru
С Новым годом!

Я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

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

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

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

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

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

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

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

Более подробное описание интерфейса Я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), так и возможности иерархическое гипертекстовое представление текстов.

[Назад] [Содержание] [Вперед]

Подписка на новости IT-портала CITForum.ru
(библиотека, CITKIT.ru, CitCity)

Новые публикации:

24 декабря

CITKIT.ru:

  • Новогодние поздравления
  • Сергей Кузнецов. Цикл Операционные системы: Ностальгия по будущему:

  • Алексей Федорчук. OpenSolaris 2008.11 Release

  • Сергей Голубев:

  • Евгений Чайкин aka StraNNik (Блогометки):

    17 декабря

  • С.Д.Кузнецов. Базы данных. Вводный курс

    10 декабря

    CITKIT.ru:

  • OpenSolaris 2008.11 Release

  • Альтернативные ОС: две грустные истории (С.Кузнецов)
  • Nokia N810 — доведение до ума
  • CitCity:

  • Платформа 2009: заоблачные перспективы Microsoft

    4 декабря

  • Лекция С.Д.Кузнецова Понятие модели данных. Обзор разновидностей моделей данных

    CITKIT.ru:

  • OpenSolaris 2008.11 Release. Первые впечатления

  • Linux vs FreeBSD: продолжим "Священные войны"?

  • Nokia N810 as is

  • Индульгенция для FOSS

  • Друзья СПО'2008

    26 ноября

  • Нечеткое сравнение коллекций: семантический и алгоритмический аспекты

    CitCity:

    CITKIT.ru:

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • 19 ноября

  • Проблемы экономики производства крупных программных продуктов

  • Язык модификации данных формата XML функциональными методами

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Заметки к книге:

  • FreeBSD: монтирование сменных устройств и механизм HAL
  • Текстовый редактор ee

    12 ноября

  • Правило пяти минут двадцать лет спустя, и как флэш-память изменяет правила (Гоц Грейф, перевод: Сергей Кузнецов)

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:
  • OSS в России: взгляд правоведа (В.Житомирский)

  • Новая статья из цикла С.Голубева "Железный марш":

    29 октября

  • О некоторых задачах обратной инженерии

  • Веб-сервисы и Ruby

  • Тестирование web-приложений с помощью Ruby

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

  • PuppyRus Linux - беседа с разработчиком (С.Голубев)

  • Сергей Кузнецов. Заметка не про Linux

    22 октября

  • Обзор методов описания встраиваемой аппаратуры и построения инструментария кросс-разработки

    CITKIT.ru:

  • Сергей Кузнецов. Почему я равнодушен к Linux

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • Что надо иметь
    3. Базовые познания

    CitCity:

  • Управление IT-инфраструктурой на основе продуктов Microsoft

    15 октября

  • Методы бикластеризации для анализа интернет-данных

    CitCity:

  • Разъемы на ноутбуках: что они дают и зачем их так много?
  • AMD Puma и Intel Centrino 2: кто лучше?

    CITKIT.ru:

  • Новый цикл статей С.Голубева
    Железный марш:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    8 октября

  • Автоматизация тестирования web-приложений, основанных на скриптовых языках
  • Опыт применения технологии Azov для тестирования библиотеки Qt3

    Обзоры журнала Computer:

  • SOA с гарантией качества
  • Пикоджоуль ватт бережет
  • ICT и всемирное развитие

    CitCity:

  • Пиррова победа корпорации Microsoft

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Статья из архива:

  • Я живу в FreeBSD (Вадим Колонцов)

    Новые Блогометки:

  • Перекройка шаблона Blogger или N шагов к настоящему
  • Blogger. Comment style
  • Screenie или глянцевый снимок экрана

    2 октября

    CITKIT.ru:

  • Сага о FreeBSD (А. Федорчук)

    Zenwalk: пакет недели

  • Банинг — интеллектуальное развлечение (С.Голубев)

    CitCity:

    25 сентября

  • Клермонтский отчет об исследованиях в области баз данных

    CITKIT.ru:

  • Пользователям просьба не беспокоиться... (В.Попов)

  • Снова про ZFS: диск хорошо, а два лучше
  • Командная оболочка tcsh (А.Федорчук)

    Zenwalk: пакет недели

    17 сентября

  • T2C: технология автоматизированной разработки тестов базовой функциональности программных интерфейсов
  • Технология Azov автоматизации массового создания тестов работоспособности

    CITKIT.ru:

  • FreeBSD: ZFS vs UFS, и обе-две — против всех (А.Федорчук)

    Zenwalk: пакет недели

  • Дачнет — практика без теории (С.Голубев)

    10 сентября

  • За чем следить и чем управлять при работе приложений с Oracle
  • Планировщик заданий в Oracle
    (В.Пржиялковский)

    CITKIT.ru:

  • Microsoft: ответный "боян" (С.Голубев)

  • Причуды симбиоза, или снова "сделай сам" (В.Попов)

  • Файловые системы современного Linux'а: последнее тестирование
  • Zsh. Введение и обзор возможностей
    (А.Федорчук)

    Описания пакетов Zenwalk: Zsh, Thunar, Thunar-bulk-rename, Xfce4-places-plugin, Xfce4-fsguard-plugin

    Блогометки:

  • Google Chrome
  • Лончер для ASUS Eee PC 701

    3 сентября

    CITKIT.ru:

  • Заметки о ядре (А.Федорчук):

    Добавлены описания пакетов Zenwalk: Galculator, Screenshot, Gnumeric, Pidgin

    В дискуссинном клубе:

  • И еще о Википедии и Google Knol

  • Лекция для начинающего линуксоида (С.Голубев)

    26 августа

  • Транзакционная память (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Открыт новый проект Zenwalk: пакет недели

  • Статья Текстовые процессоры и их быстродействие: конец еще одной легенды?

    21 августа

    CITKIT.ru:

  • Почему школам следует использовать только свободные программы (Ричард Столлман)
  • Беседа Сергея Голубева с учителем В.В.Михайловым

  • Википедия или Гуглезнание? Приглашение к обсуждению (Алексей Федорчук)
  • Народная энциклопедия от Google (StraNNik)

  • Обзор Mandriva 2009.0 Beta 1 Thornicrofti
  • Новичок в Линукс: Оптимизируем Mandriva 2008.1

  • Книга Zenwalk. Приобщение к Linux:

    13 августа

    CitCity:

  • Мирный Atom на службе человеку. Обзор платы Intel D945GCLF с интегрированным процессором
  • Обзор процессоров Intel Atom 230 на ядре Diamondville

  • iPhone - год спустя. Скоро и в России?

    CITKIT.ru:

  • Интермедия 3.4. GRUB: установка и настройка (из книги Zenwalk. Приобщение к Linux)

    6 августа

  • СУБД с хранением данных по столбцами и по строкам: насколько они отличаются в действительности? (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Интермедия 2.2. Что неплохо знать для начала (из книги Zenwalk. Приобщение к Linux)

  • И снова про шрифты в Иксах (А.Федорчук)

  • 20 самых быстрых и простых оконных менеджеров для Linux

  • Дело о трех миллиардах (С.Голубев)

    30 июля

  • OLTP в Зазеркалье (Пересказ: С. Кузнецов)

    CitCity:

  • Будущее BI в облаках?
  • Тиражные приложения и заказная разработка. Преимущества для заказчика
  • Дискуссия со сторонниками заказной разработки

    CITKIT.ru:

  • Новые главы книги Zenwalk. Приобщение к Linux:
  • Глава 8. Пакеты: средства установки, системы управления, системы построения
  • Глава 9. Zenwalk: репозитории, пакеты, методы установки

    23 июля

    CITKIT.ru:

  • Все против всех. 64 vs 32, Intel vs AMD, tmpfs vs ext3
  • Две головы от Intel

  • Zenwalk: обзор штатных приложений (глава из книги "Zenwalk. Приобщение к Linux")

  • Нормально, Григорий...

    16 июля

    Обзоры журнала Computer:

  • Перспективы и проблемы программной инженерии в XXI веке
  • Большие хлопоты с большими объемами данных
  • Перспективы наноэлектроники

    CITKIT.ru:

  • Интермедия о лицензиях (А.Федорчук. "Zenwalk. Приобщение к Linux")

  • Есть ли будущее у KDE?

  • Linux в школе: альтернативный вариант в задачах

  • Шифр (приключения агента Никодима)

    10 июля

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия вступительная. Linux или GNU/Linux? Как вас теперь называть?
  • Глава 5. Среда Xfce
  • Глава 6. Xfce: приложения и плагины

  • ZUR (Zenwalk User Repository) FAQ

    2 июля

  • Персистентность данных в объектно-ориентированных приложениях (С. Кузнецов)

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия 1.2. Дорога к Zenwalk'у. Период бури и натиска
  • Интермедия 3.3. Немного о Linux'е и "железе"
  • Глава 4. Настройка: инструментами и руками
  • Интермедия 4.1. Zenpanel и конфиги: поиски корреляции

  • Интервью с Жан-Филиппом Гийоменом, создателем дистрибутива Zenwalk

  • Linux в школе: первые итоги (С. Голубев)

    25 июня

    CITKIT.ru:

  • Zenwalk. Приобщение к Linux (А. Федорчук)

  • Логика и риторика (С.Голубев)

  • Технология Tru64 AdvFS

  • Ханс Райзер предлагает отвести полицейских к телу Нины

    18 июня

  • Проекты по управлению данными в Google (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • ОС и поддержка "железа": мифы и реальность (А. Федорчук)

  • Linux в школе: другие дистрибутивы

  • Пинок (С. Голубев)

    4 июня

  • Ландшафт области управления данными: аналитический обзор (С. Кузнецов)

    CITKIT.ru:

  • Linux в школе: слово заинтересованным лицам

  • SlackBuild: пакеты своими руками

  • Linux от компании Novell. Установка и обзор openSUSE Linux

    Все публикации >>>




  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей Пресс-релизы — pr@citcity.ru
    Послать комментарий
    Информация для авторов
    Rambler's Top100 This Web server launched on February 24, 1997
    Copyright © 1997-2017 CIT, © 2001-2017 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...