Поиск в Итернете

Дмитрий Владимирович Ландэ, к.т.н.,
Александр Теодорович Дармохвал, инженер,
Информационный центр "ЭЛВИСТИ"

Согласно результатам исследования компании Netcraft, два года назад количество серверов в Интернете составляло 1 млн. В соответствии с последними данными NUA Internet Surveys, сейчас их насчитывается уже около 5 млн. Количество же Web-страниц на них приближается к миллиарду. Объемы и темпы роста Web-ресурсов поражают воображение.
 
Быстрое и интенсивное развитие Интернета породило ряд парадоксов, основной из которых таков: экспоненциальный рост объемов информации в Интернете приводит одновременно и к усложнению поиска действительно необходимой информации, и ко все большей актуальности этого процесса. Иными словами, данных все больше, а найти их все труднее.
 
Сейчас даже при самых изощренных методах построения поисковых предписаний мощные поисковые системы выдают порой сотни, а иногда и тысячи ссылок. В этих случаях высокий уровень информационного "шума" (т.е. документов, формально релевантных, но не отвечающих информационным потребностям пользователя) снижает эффективность существующих механизмов поиска.
 
Вполне резонно возникает вопрос, как конкретному пользователю найти и отобрать в Сети необходимые данные? Существует несколько тактических подходов.
 
Первый из них условно назван "серфингом". Зацепившись за одну из Web-страниц, адрес которой был изначально известен, можно пройти по ссылкам с этой страницы на любую глубину, пытаясь удовлетворить свои информационные потребности. Вариант достаточно распространенный, однако его вряд ли можно считать оптимальным.
 
Второй подход принято называть "браузингом". Это расширение серфинга в том смысле, что пользователь в качестве стартовой страницы использует Internet-каталог, т.е. один из Web-серверов, на котором представлена классификация сетевых ресурсов и содержатся соответствующие гипертекстовые ссылки. Третий подход состоит в использовании сетевых информационно-поисковых систем. В этом случае пользователь может самостоятельно с клавиатуры своего компьютера вводить запросы в интерактивном режиме, анализировать результаты поиска, осуществлять переходы к необходимым ресурсам.
 
Именно третий подход, т.е. выявление необходимых сведений в Интернете с помощью специальных поисковых средств, наиболее предпочтителен для нахождения необходимых данных в Сети. В рамках этого подхода для предотвращения информационного шума широкое распространение получила практика сужения области поиска до некоторого приемлемого уровня путем подключения различных фильтров на стадии построения запроса. С этой целью, как правило, используются многоуровневые тематические классификаторы. Некоторые системы позволяют пользователю задавать дополнительные параметры - диапазоны дат документов, доменные имена ссылок и т.д. При установке такого рода фильтров поиск осуществляется на подмножестве документов, удовлетворяющих заданным условиям. Как и при втором подходе (но не так явно), проблема состоит в том, что классификаторы строятся разработчиками поисковых систем в соответствии с их субъективными представлениями о принадлежности конкретного документа к той или иной рубрике, что далеко не всегда совпадает с представлениями пользователя. А если учесть, что классификации порой подлежат миллионы документов и поэтому она осуществляется автоматически специальными программами по формальным признакам, становится ясной относительность и этого метода, хотя его все же следует признать наиболее эффективным из всех рассматриваемых.
 
В этом случае центральной задачей пользователя, конечно же, является построение запроса. Практически во всех поисковых системах применяется метод ключевых слов. А именно: отбираются документы, содержащие (или же не содержащие) слова, указанные в запросе, либо их определенные сочетания. При этом зачастую практически невозможно зафиксировать семантические характеристики документа, но именно они в конечном счете определяют его истинную релевантность. В документе, посвященном шахматной теме, само слово "шахматы" может отсутствовать, зато оно может фигурировать в качестве метафоры в политическом памфлете. Даже проблема синонимов (с точки зрения компьютера "футболист" и "игрок в футбол" - различные информационные элементы) эффективно решается далеко не во всех поисковых системах. В то же время, по запросу "коза" пользователь вполне может получить ссылки по зоологии, по сельскому хозяйству, по истории мафии ("Коза Ностра"), а также на роман Д. Дефо "Робинзон Крузо" в полном объеме.
 
Кроме проблемы информационного шума, важную роль в технологии поиска играет полнота информации. Темпы роста Интернета не позволяют достичь ее на отдельном поисковом сервере. Практика показывает, что с помощью одной поисковой системы можно найти не более трети размещенных в Web-пространстве документов. Причем, как это на первый взгляд ни парадоксально, российский и украинский сегменты Web-пространства представлены на поисковых серверах значительно полнее, что объясняется их относительно небольшими информационными объемами и наполнением.
 
Существует несколько информационно-поисковых серверов, охватывающих большую часть русскоязычного ресурса. Это такие серверы, как Яndex - 32 тыс. серверов, Aпорт - 26 тыс. серверов и Rambler - 15 тыс. серверов. Среди украинских информационно-поисковых серверов самые известные - InfoReS и МЕТА, охватывающие практически все 4-5 тысяч украинских серверов.
 
Чтобы эффективно использовать возможности сетевых информационно-поисковых серверов, полезно узнать, как они работают "изнутри", ознакомиться с принципами поиска и используемыми структурами данных. Чаще всего информация в базы данных поисковых серверов попадает автоматически в результате работы программ, называемых "роботами" или "пауками", сканирующими Web-пространство. Web-роботы - это такие программы, которые непрерывно "обходят" ресурсы WWW, переходя с одной страницы на другую, с целью сбора информации для формирования базы данных с индексами содержимого Web-серверов.
 
Некоторые администраторы Web-серверов не хотят, чтобы определенные ресурсы попадали в поисковые системы. Такими документами могут быть динамически формируемые страницы, временные файлы или файлы, не предназначенные для большого числа пользователей. Кроме того, некоторые Web-серверы могут просто не выдержать интенсивного автоматического опроса. Поэтому существует соглашение, неофициальный стандарт - Standart for Robot Exclusion (SRE), которого придерживаются практически все создатели Web-роботов промышленных систем. Это соглашение описывает протокол, позволяющий администраторам узлов запретить роботам доступ к указанным областям их Web-серверов. В соответствии с этим соглашением администратору Web-сервера достаточно создать в корне сервера файл robots.txt и записать в него одну или несколько команд ограничения доступа.
 
Для обеспечения интерактивного доступа пользователей к информации, собранной роботами, используются поисковые механизмы - основные составляющие информационно-поисковых систем (ИПС). Эффективность и быстродействие поисковых механизмов во многом определяются архитектурой баз данных, используемых в той или иной ИПС.
 
О технологических решениях многих поисковых систем можно лишь догадываться, исходя из поисковых возможностей. Эти решения являются интеллектуальной собственностью владельцев соответствующих поисковых служб. В то же время в Интернете существует достаточно большое число открытых проектов, на основе которых построены тысячи поисковых серверов. Для понимания принципов реализации информационно-поисковых систем вполне достаточно с ними ознакомиться.
 
Одной из самых популярных информационно-поисковых систем, применяемых сегодня в Интернете, является WAIS (Wide Area Information Service). WAIS - распределенная система текстового поиска, в основу которой положен проект стандарта Z39.50 (ISO 10163) Американского института стандартов (ANSI). Изначально этот стандарт определяет процедуру обработки запросов в библиографической базе данных и регламентирует процедуру поиска. Сегодня работы по поддержке бесплатного варианта программного обеспечения WAIS (freeWAIS) координирует CNIDR - Центр координации средств обнаружения и поиска сетевой информации. Одна из наиболее интересных версий-расширений freeWAIS - freeWAIS-sf - разработана и представлена в Дортмундском университете (http://ls6-www.infornatik.uni-dortmund.de/ ir/projects/freeWAIS-sf/).
 
Система Harvest - это интегрированная среда, включающая эффективные средства сбора и индексирования информации, поддержки различных типов индексов, позволяющих учитывать особенности массивов информации. Система Harvest может быть получена по адресу: http://harvest.cs.colorado.edu/harvest/gettingsoftware.html.
 
Glimpse (GLobal IMPlicit Search), составляющая проекта Harvest, - это информационно-поисковая система индексирования, которая проводит быстрый поиск как в персональной файловой системе, так и среди больших массивов данных. В Glimpse поддерживаются запросы с учетом регистров символов; реализована возможность поиска по части слова, целому слову или словосочетанию; допустимо приблизительное написание ключевых слов; имеется возможность обработки структурированных запросов. Система Glimpse создана для обработки информации, характеризующейся неоднозначностью форматов и включающей много типов документов. Информация о системе может быть получена по адресу: http://glimpse.cs.arizona.edu:1994/.
 
Структура базы данных, разработанная в Информационном центре "ЭЛВИСТИ" ИПС InfoReS-XL, позволяет накапливать большие объемы информации и осуществлять быстрый доступ к документальным данным разных форматов, структуры и назначения.
 
Система InfoReS-XL сохранила большинство функциональных возможностей предшествующих поисковых систем и стиль интерактивного решения задач, принятый в ИПС с инвертированным индексом, таких как STAIRS и WAIS. При этом повысилась эффективность полнотекстового поиска и значительно уменьшились ресурсные затраты. Многие функции, выполнение которых требовало ранее больших ресурсов, переложены на такие системные компоненты, как операционная система UNIX (FreeBSD, Solaris или Linux), стандартные сетевые средства и гипертекстовый протокол передачи данных (HTTP).
 
Следует отметить, что все профессиональные сетевые информационно-поисковые системы обеспечивают выполнение основных логических и контекстных операторов, однако каждая из систем имеет характерные особенности, которые, как правило, отражены в инструкциях по поиску. Ниже приведены основные функциональные возможности современных поисковых систем и отражены особенности отдельных реализаций.
 
1. Поиск по слову, усечениям и словоформам
 
Все поисковые системы обеспечивают поиск хотя бы по одному слову. Средства навигации в Интернете, не обеспечивающие такого поиска, называются иначе - каталогами, коллекциями ссылок и т.п.
 
Иначе дело обстоит с усечениями слов. Например, системы InfoSeek и InfoReS рассматривают все слова запроса как правые усечения. В некоторых известных системах возможность поиска по усечениям просто не реализована (Excite, Lycos). Однако в большинстве систем для маскировки правого усечения слова достаточно поставить символ "*" (AltaVista, Northern Light, Rambler). Дальше всех в этом отношении пошла система Northern Light, которая обеспечивает маскировку не только правых частей слов в запросах, - символ "*" можно устанавливать в любой части слова запроса и даже в начале. Кроме того, в этой системе допустима маскировка одной буквы слова запроса. Для этого используется символ "%", который также может устанавливаться в любой части слова запроса.
 
Некоторые системы не чувствительны к регистрам букв в словах запросов. К таким системам относится Northern Light и InfoReS. При этом система InfoReS не различает даже латинских и кириллических букв одинакового написания, что в некоторых случаях упрощает ввод запроса. Однако в большинстве приведенных выше систем "чувствительность" к регистрам включается при употреблении хотя бы одной прописной буквы в слове запроса.
 
Поиск по словоформам является результатом серьезного лингвистического анализа и реализован в двух русскоязычных системах - "Апорт" и Яndex. В системе "Апорт" грамматическая форма слова в запросе особого значения не имеет - оно содержится в базе данных во всех своих формах. В этой системе запрос "ребенок шел" эквивалентно запросу "дети идут". При запросе в системе Яndex также учитываются все формы слова, в соответствии с правилами русского языка. Для поиска по конкретному слову, а не по всем словоформам, в начале слова ставится символ "!".
 
2. Поиск по фрагментам текста (строгим словосочетаниям)
 
Многие системы способны реализовывать контекстный поиск заключенной в кавычки фразы (HotBot, Northern Light, AltaVista, Lycos, InfoSeek и др.). Такая способность - это реализация неявно указанной с помощью кавычек операторов контекстной близости.
 
3. Использование логических операторов
 
Для ввода запросов со сложной логикой, как правило, требуется использование булевых и контекстных операторов, скобок, указание полей и т.п. Для большинства случаев (до 75 %, как было уже сказано) этого не требуется. Поэтому некоторые поисковые службы создали по два поисковых интерфейса - простой (по умолчанию) и расширенный (называемый в разных системах детальным, мощным или профессиональным). По такому пути пошли AltaVista, Lycos, InfoSeek, Excite, Rambler. В свою очередь, другие системы позволяют с помощью одного и того же механизма вводить простые и сложные запросы, обеспечивая пользователей руководствами различного уровня сложности. Такой подход в HotBot, Northern Light, Яndex.
 
Во всех рассматриваемых системах реализованы булевы операторы - AND, OR и NOT, а также работа со скобками. Однако в двух из них - AltaVista и Excite - оператор NOT записывается в виде "AND NOT", таким образом подчеркивается его бинарность (в математической логике оператор NOT в чистом виде унарный и не может относиться к двум операндам). В режимах простого поиска булевы операторы не всегда реализуются их указанием в явном виде. Например, система HotBot воспринимает по умолчанию пробел между словами запроса как оператор AND. В то же время при указании на экране поиска опции "any of the words" пробел в этой системе воспринимается как OR. В системах "Aпорт" и InfoReS пробел также воспринимается как AND. Кроме того, в системе "Апорт" допускается использование операторов "+" и "-" перед словами фактически как синонимов операторов AND и NOT соответственно. Точно так же используются эти операторы в AltaVista, Excite и Lycos. В системе Rambler использование символов "+" и "-" имеет иной смысл: они используются для увеличения и уменьшения весового значения слов.
 
4. Использование операторов контекстной близости
 
Большинство профессиональных поисковых систем обеспечивает выполнение операций контекстной близости, одна из возможных реализаций которой - поиск выражений в кавычках - описывалась выше. Например, в системе HotBot реализована только возможность поиска по фразам в кавычках, а в AltaVista реализован оператор NEAR (~), обеспечивающий нахождение документов, у которых два слова находятся на расстоянии не более 10 слов. В системе Lycos функции контекстной близости получили наибольшее развитие и реализованы с помощью четырех операторов: ADJ, NEAR, FAR и BEFORE. ADJ обеспечивает близость двух слов в тексте в любом порядке; NEAR позволяет находить документы, в которых слова-операнды удалены не более чем на 25 слов; FAR - оператор, противоположный по смыслу оператору NEAR, т.е. исключает близость терминов запроса в пределах 25 слов текста документа; BEFORE похож на оператор ADJ, только с учетом порядка встречаемости терминов в тексте. Оригинально решен вопрос контекстной близости в системе Rambler. При желании минимизировать расстояние между поисковыми терминами используется служебное слово "$near:", за которым следуют два операнда - значения самих слов. В системе Яndex режим контекстного поиска называется "поиском с расстоянием". В общем виде ограничение по расстоянию задается выражением вида "/(n m)", где n - минимальное, а m - максимально допустимое расстояние.
 
В системе "Апорт" существует два вида ограничения по расстоянию: в словах "wN(...)", где N - число слов; и в предложениях "sN(...)", где N - число предложений. В этой же системе интеллектуальной обработке подвергаются выражения в кавычках. Например, запрос "яблоки на снегу" эквивалентен запросам "яблоки и снег", "яблоки под снегом", "яблоко-снег".
 
5. Поиск по полям
 
Отдельного рассмотрения заслуживает возможность поиска по полям, которая зачастую позволяет ограничивать диапазон поиска значениями URL, датами, заглавиями и т.п.
 
В системе HotBot эта возможность называется "Meta words" и позволяет выполнять поиск по доменным именам (domain:[имя]); отдельным типам файлов (например, feature: acrobat обеспечивает поиск по файлам в формате Adobe Acrobat); заглавиям (title:[слово]); датам (after:[день]/[месяц]/[год] и before: [день]/[месяц]/[год]) и др.
 
В системе Northern Light возможен поиск по таким полям: URL, заглавие, компания, название журнала (для специальной коллекции сайта), текст.
 
В системе AltaVista обеспечивается поиск по датам с помощью операторов "From:" и "To:". Этот режим назван "Web-археологией".
 
InfoSeek обеспечивает поиск по ссылкам в html-документах ("link:"), в пределах сайтов ("site:"), по URL ("url:"), по заглавиям ("title:") и меткам, приписываемым изображениям ("alt:").
 
Rambler реализует поиск как по всему документу ("$ALL"), так и по URL ("$URL"), заглавиям ("$Title"), адресам ("$Address") и др.
 
Яndex позволяет искать в двух зонах - заголовках ("Title") и ссылках ("A"). Апорт обеспечивает поиск по URL ("url="), датам ("date=[дата]") или "date: [диапазон дат]", заголовкам ("title="), ключевым словам ("keywords="), меткам к изображениям ("alt="), ссылкам ("link="), комментариям ("comment="), текстам ("text=").
 
6. Поиск похожих документов
 
Одна из возможностей, присущая многим современным системам, - способность нахождения документов, похожих на уже найденные. Она называется "положительной обратной связью". Что означает "похожий документ", по каким критериям это определяется, зачастую остается загадкой для пользователя. Один из подходов к ее решению может быть таким: каждое значимое, по мнению системы, слово "взвешивается" по какому-то критерию, из наиболее весомых слов автоматически формируется запрос, рассматриваемый как некоторый ранговый критерий поиска. Такой режим реализован, например, на серверах Excite ("More Like This") и Яndex ("Найти похожие документы"). Этот режим реализован в системах, использующих "весовой" критерий релевантности. Одна из самых распространенных в мире систем такого класса - WAIS (Wide Area Information Servers), реализующая протокол ANSI Z39.50.
 
В заключение приведем несколько рекомендаций по поиску информации в Интернете:

  1. Каждый поисковый сервер имеет свои собственные характерные особенности. Поэтому не пожалейте своего времени и внимательно прочтите инструкцию (help, FAQ) по выбранной поисковой системе. С приобретением собственного опыта вы увидите, что каждая поисковая система лучше всего работает в определенном информационном направлении, и научитесь ориентироваться в том, какую из них использовать для поиска материалов того или иного характера.

  2. Выделяйте для поиска ключевые слова, наиболее точно отражающие интересующую вас проблематику. При этом следует помнить, что включение в запрос общеупотребительных слов (например, "президент") приводит к чрезмерной избыточности результатов поиска, а включение узких терминов (например, "рибосома") - к столь же чрезмерной ограниченности. Оптимальный путь состоит в использовании характерных для данной предметной области сочетаний слов, каждое из которых имеет достаточно широкую сферу употребления.

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

  4. Используйте метапоисковые системы, обеспечивающие поиск сразу по нескольким подобным серверам. Пример такой системы Metacrawler, размещенной по адресу http://www.metacrawler.com. Такие системы хорошо подходят для несложных запросов, но и в целом их применение часто бывает эффективным.

  5. Для детального поиска применяйте специализированные тематические или региональные поисковые серверы, если они вам известны. В противном случае попытайтесь их найти, используя ключевые слова, уточненные выражениями типа "search", "search engine" или "search.html".

  6. Используйте методику поэтапного уточнения поиска. Начинайте с элементарных запросов в режиме простого поиска. По мере получения результатов расширяйте или уточняйте запросы с помощью дополнительных возможностей, используя логические и контекстные операторы, поиск по полям и т. п., переходя в режим расширенного поиска.

  7. В случае наличия средств ранжирования выдачи по степени релевантности обязательно используйте их. Это позволит вам достаточно быстро оценить результаты поиска в случаях, когда общие объемы выдачи могут превышать все разумные рамки.

  8. На большинстве сайтов имеются ссылки на родственные информационные ресурсы. Если вам удалось отыскать сайт, в какой-то мере удовлетворяющий ваши информационные потребности, обязательно найдите и используйте содержащиеся на нем подобные ссылки. Часто такой путь оказывается самым коротким.

  9. Большинство поисковых систем снабжает отобранные ссылки краткими рефератами, которые должны дать пользователю предварительную информацию о соответствующем ресурсе. К сожалению, эти рефераты (обычно генерируемые автоматически по содержанию META-тэгов описываемых сайтов) в действительности не всегда дают адекватное представление об информации, представленной на сайтах. С помощью рефератов, как правило, вам удастся в лучшем случае определить общий характер информационного ресурса (например, является ли он сайтом коммерческой фирмы или научной статьей из электронного журнала).
    Помните: чтобы узнать, что представляет собой сайт на самом деле, его нужно увидеть!

  10. Существуют сайты, которые при загрузке предлагают установить на ваш компьютер некоторые программные компоненты. Это может привести к весьма тяжелым последствиям. Поэтому никогда не соглашайтесь на такие предложения, если не знаете, что это за компоненты и действительно ли они вам нужны, а также не уверены в надежности владельца такого сайта. Вообще, если у вас почему-либо возникнет ощущение, что загружаемый по найденной ссылке сайт "нехороший", лучше остановите браузер, нажав кнопку "Stop".