Статьи Новости Контакты
Google (22), Rambler (8), Yandex (6), Windows Live (0)

04.05.2007
Алексей Журба

Интеллектуальная поисковая машина Nigma

интеллектуальная поисковая машина Nigma

Научный проект "Интеллектуальная поисковая система Nigma.ru" МГУ им. М.В. Ломоносова, факультетов ВМиК и психологии получил свое название благодаря роду пауков Nigma, который встречается в Евразии и Северной Африке.

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

  • Ссылки на вход в почту нескольких популярных почтовых сервисов. На момент написания статьи присутствуют ссылки на Yandex.ru, Mail.ru, Gmail.com и Hostmail.com.
  • Непосредственно под строкой для ввода запросов создатели расположили несколько примеров самих запросов. Стоит отметить, что один из последних опросов, проведенных на сайте проекта, показал, что шесть процентов пользователей не знают, что и как искать. Возможно, таким людям, ищущим просто что-нибудь интересное в Сети, подойдет один из предложенных примеров. Каждый из трех доступных в настоящий момент поисков (общий поиск информации, поиск изображений и поиск по электронным библиотекам) предлагает свой собственный набор примеров запросов.
  • Nigma имеет блок, который позволяет выбрать поисковые системы, в которых ищется информация
  • Ниже расположен блок, который позволяет выбрать поисковые системы, в которых следует производить поиск. Ни один из популярных сервисов не забыт. По умолчанию настройки таковы, что поиск будет использовать все системы сразу, но всегда остается возможность выключить один или несколько сервисов в том случае, если поиск по ним не нужен. Учитывая то, как система обрабатывает результаты поиска (об этом ниже), далеко не факт, что исключение из поиска какого-либо сервиса уменьшит количество результатов.
  • Прямо под кнопкой "Найти" находится "Расширенный поиск", который, увы, не радует своими возможностями. Добавляется только возможность поиска с указание конкретного сайта, на котором поиск должен производиться.
  • AJAX-версия поиска представлена отдельной ссылкой в самом низу страницы. От стандартного HTML-вида AJAX-страница не отличается только до тех пор, пока система не выведет результаты поиска. Дело в том, что кроме самих результатов поиска Nirma показывает еще и кластеры*, которые создаются системой на основании ключевых слов.
  • Радует наличие кнопки, которая добавляет поиск через Nigma к Firefox. Кроме того, есть ссылка на поисковые формы для размещения у себя на сайте и ссылка на форму добавления своего сайта в поиск.

Как все это работает? Не очень просто.

Поиск Nigma в процессе своей работы не теряет информацию о результатах, полученных от опрашиваемых поисковых систем

Результаты поиска любой поисковой системы тщательно обрабатываются перед тем, как выдать их пользователю. Методы обработки чаще всего описываются общими словами, так как обычно они составляют коммерческую тайну и изюминку поисковой системы. Первая изюминка системы Nigma — это морфология. В момент старта проекта система поддерживала русскую морфологию, которая заключается в посылке в поисковые системы запросов, в которых используются все (или почти все) морфологические формы запрашиваемых слов. Специфическая особенность Nigma в том, что за счет таких запросов количество результатов только увеличивается, так как морфологически измененный запрос объединяется с оригинальным запросом пользователя. Очевидно, что простое объединение результатов отрицательно сказалось бы на релевантности*, но и тут Nigma демонстрирует свою интеллектуальность — релевантность по специальным алгоритмам пересчитывается, учитывая объединение результатов.

Поиск Nigma в процессе своей работы не теряет информацию о результатах, полученных от опрашиваемых поисковых систем, — позиция найденной ссылки в поисковых системах отображается в виде "Поисковая система: номер" (например, Google-M : 1 Yandex: 1 Altavista: 1 показывает единодушие популярных поисков — данный сайт является первым в результатах поиска у них всех). Впрочем, "-M" обозначает, что это ссылка в морфологически измененном запросе.

Объединение результатов занимает очень небольшое время благодаря тому, что и сами результаты ожидаются от поисковых систем в течение весьма короткого промежутка времени — всего 1,5 секунды. Соответственно, нет никакого выделения каких-то поисковых систем с точки зрения их значимости, а объединение использует статистическую информацию о русском Интернете (цитируемость, посещаемость и некоторые другие специфические особенности).

Такой поиск выдает очень много результатов. Для того чтобы упорядочить и отсортировать результаты, используются так называемые "кластеры". Кластер — это группа сайтов, которые, по мнению поисковой системы, относятся к общей тематике. Имя самого кластера тоже является ключевым словом, которое тут же можно использовать для расширения и уточнения запросов. Nigma использует двухуровневую кластеризацию, что на практике означает то, что после поиска по ключевому слову "лошадка" слева появится список популярных ключевых слов (кластеров), употребляемых со словом "лошадка". Кликнув на конкретный кластер, получаем результаты поиска с учетом кластера (например, кластер "игрушка"). Уточненный результат, как правило, очень близок к ожидаемому. После выбора конкретного кластера появляется ссылка на поиск с уточненным запросом — "игрушка лошадка". Уточненный поиск выдает гораздо больше результатов, которые еще на один шаг ближе к желаемому результату. Очевидно, что этот новый поиск также будет кластеризования и слева будет уже новый список кластеров. В примере с запросов "игрушка лошадка" среди кластеров появляются такие полезные ключевые слова, как "качалка", "производитель", "подарок", "конструктор", "развивающие игрушки" и т. п.

AJAX-диаграмма с кластерами (запрос «лошадка»)
AJAX-диаграмма с кластерами (запрос «лошадка»)

AJAX-версия отличается лишь тем, что разработчики, не сумев пройти мимо новой и популярной технологии, разместили кластеры в виде облака тегов, которые при выводе результатов разлетаются "по синему небу". Кликнув на конкретный тег, можно получить набор дополнительных тегов, которые связаны с этим тегом. Таким образом реализуется возможность уточнять и изменять запрос, результаты которого располагаются чуть ниже облака тегов. К примеру, запрос "лошадка" показал набор тегов, среди которых был выбран тег "найк борзов, mp3", набор подтегов оказался очень даже подходящим — "новинка", "аккорды песни" и "портал". Очевидно, что результаты и наборы тегов со временем меняются, так как меняется и индекс, который использует система Nigma.

AJAX-диаграмма с кластерами (уточнение запроса)
AJAX-диаграмма с кластерами (уточнение запроса)

Для того чтобы получить удобные для использования наборы кластеров, система выполняет кластеризацию, основные шаги которой следующие.

  1. Очистка от пунктуации и приведение слов в начальную форму.
  2. Определение базовых кластеров. Для набора документов строится дерево.
  3. Группировка базовых кластеров. Для группировки используется простая статистическая формула, которая используется для определения, будут ли сгруппированы базовые кластеры в один кластер или нет. Для определения используются размеры кластеров и количество документов в каждой паре, которая группируется.

Разработчики указывают, что используется модифицированный Suffix Tree Clustering метод кластеризации. Он был выбран среди других, и основные его достоинства — это высокая скорость и хорошая наглядность представления результатов, которые представлены в виде так называемого "суффиксного дерева", которое строится из слов и фраз входных документов. Единственный упомянутый разработчиками недостаток: в таком методе кластеризации для названий кластеров, состоящих из нескольких слов, важен порядок слов.

После того как построено суффиксное дерево, и определяются базовые кластеры, которые потом группируются (объединяются), если пара кластеров пересекается хотя бы по половине своих слов.

Для улучшения качества кластеризации документов используются различные веб-сервисы: корпус русского языка — набор обучающих текстов, системы лексико-семантического анализа текста.

Что все это дает

Учитывая то, что Nigma является проектом научным, следует отметить, что проект развивается довольно быстро и успешно. За два года своего существования проект прошел путь от альфа-версии до поисковой системы с более чем 100 тысячами переходов по результатам поиска (по данным liveinternet.ru).

Важной частью Nigma является возможность исключения из результатов заведомо нерелевантных с точки зрения пользователя групп сайтов

Важной частью Nigma является возможность исключения из результатов заведомо нерелевантных с точки зрения пользователя групп сайтов. К примеру, известно, что любой запрос, касающийся техники, компьютеров и комплектующих, неизбежно покажет массу ссылок на интернет-магазины. Nigma позволяет исключить кластер "интернет-магазин", добившись таким образом результатов, которые уже не содержат ссылок на интернет-магазины. Исключить из поиска можно любой, сгенерированный системой Nigma, кластер, который кажется пользователю нерелевантным. Это значительно ускоряет поиск информации.

Поиск по картинкам уже стал привычной возможностью многих поисковых машин. Nigma запустила свой сервис поиска по картинкам в начале 2007 года. В поиске поддерживаются стандартные расширения файлов jpeg, gif и png.

Третьим, и пока последним, поиском машины Nigma является совсем новый сервис, ищущий информацию в электронных библиотеках. Эта возможность была реализована, учитывая большой интерес пользователей системы к такого рода поиску. Искать информацию можно как по названию книги, так и по автору, тексту произведений. Кроме того, используя поиск по библиотекам, можно подготовиться к экзаменам по литературе, математике, физике, философии и другим наукам.

Таким образом, проект Nigma представляет собой очень интересную идею, которая силами энтузиастов и специалистов нашла свое удачное воплощение в жизнь. Поиск действительно очень удачно показывает пользу, которую может внести кластерная обработка получаемых данных. Следует отметить, что проект не остался незамеченным и в конце 2006 года получил весьма достойную оценку в виде финансирования от Фонда содействия развитию малых форм предприятий в научно-технической сфере (http://www.fasie.ru/). Учитывая то, что основной целью проекта являются научные исследования в области новых алгоритмов, можно ожидать дальнейшее развитие проекта Nigma.




Скоро на сайте

  • Wordpress

    Серия статей о плагинах к движку WordPrress
  • AJAX

    Проекты и продукты, ориентированные на AJAX
  • Новые сервисы Google

    Обзор новых сервисов Google
 

Copyright © 2003—2018 Все права защищены

При использовании материалов сайта ссылка на hostinfo.ru обязательна

  • хостинг от .masterhost
  • Rambler's Top100