Поисковые машины и каталоги

Главный элемент современного Интернета – это поисковые машины или поисковики , Yandex, Rambler, Google и прочие. В Интернете находится море различной информации, и именно поисковики помогают пользователю быстро найти необходимую информацию.

В учебниках или научных книгах есть список важных терминов – алфавитно-предметный указатель или индекс. В индексе перечислены наиболее важные термины данной книги (ключевые слова) и номера страниц на которых они встречаются.

Работа поисковиков основана на подобном принципе. По сути, когда пользователь вводит поисковой запрос (ключевое слово), он обращается к предметному указателю Интернета или индексу – списку всех ключевых слов Интернета, с указанием страниц, где они встречаются.

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

Этапы составления индекса и поиска по нему:

Сбор адресов веб-страниц в Интернете

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

Выкачивание страниц

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

Составление индекса

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

Поиск

Когда пользователь вводит слово в строку запроса, поисковая машина обращается к индексу. Находит все номера страниц, относящиеся к заданному слову, и показывает пользователю результат поиска (список страниц).

Качество поисковой машины

Синонимом качества поиска считается его релевантность. В отношении поисковых машин слово релевантный (относящийся к делу) – чуть ли не главный термин. Релевантность результатов поиска поисковой машины означает, что эти результаты содержат страницы, которые относятся к смыслу поискового запроса. Релевантность или качество поиска – довольно сложная вещь.

Еще одним важным критерием качества работы поисковика является точность .

Точность – это мера качества выданных результатов, она вычисляется как количество релевантных страниц в общем объеме страниц, выданных в результатах поиска. Однако важна не только точность поиска, но и ранжирование результатов поиска.

Ранжирование – расположение результатов поиска по релевантности.

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

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

  • Altavista
  • Апорт-поиск
  • Медиалингва
  • Рамблер
  • РусИнфОил
  • Русский Экспресс
  • ТЕЛА-поиск
  • HotBot
  • Яndex

Почему я перечислил именно эти поисковые машины? Потому что именно ими, по моим наблюдениям, пользуются русскоязычные нетизены (netizen). Что такое "мои наблюдения"? Это анализ логов доступа к моему серверу http://citforum.ru/ , точнее той части логов, гда собирается информация по HTTP_REFERER, т.е. адреса (URLs), на которых клиенты воспользовались ссылкой на какую либо страницу моего сервера.

Каков рейтинг перечисленных мною машин на практике, какими машинами пользуются больше, какими - меньше?

На первом месте с колоссальным отрывом от остальных идет Altavista. Эта поисковая машина лидировала еще до того как там появился поиск по различным языкам (в том числе - по русскоязычным документам). Ну оно и понятно - прекрасный, легкодоступный сервер, давно работает (с начала 1996 года), огромная база документов (свыше 50 миллионов адресов). Следует также учесть, что русскоязычные пользователи находятся не только в России, но и в Болгарии, Чехии и Словакии, в Польше, Израиле, Германии, не говоря уже о бывших республиках СССР - Украина, Белоруссия... (Особо хочу сказать о прибалтах: это они при встрече на улицах какого-нибудь Каунаса или Таллинна не знают русского языка, а перед монитором, особенно если очень нужно, очень даже знают:-)) Так вот всем этим пользователям удобнее пользоваться Альтавистой, а не нашими отечественными машинами - ближе, все таки...

Следующая по популярности поисковая машина, как ни странно, самая молодая в России - Яndex. Как мне говорил Алекей Амилющенко (компания Comptek) на сегодняшний день там наблюдается в среднем 72000 запросов в суткии и есть тенденция +10% в неделю (данные от 7.04.98). Мне кажется, Яndex наиболее перспективная российская поисковая машина. С комптековской системой разбора "великого и могучего" русского языка Яndex вполне может выйти победителем в конкуренции со вторым китом в этой сфере - Рамблером.

Рамблер - третья серьезная поисковая машина для русскоязычных пользователей. Главное, что мне в ней не нравится, так это игнорирование содержимого конструкции . (Это я не придумал, это сказал Дмитрий Крюков из компании Stack Ltd.) Наверное, именно из-за отказа учитывать ключевые слова, в результатах запросов выдаются такой странный набор ссылок. Второй недостаток чисто интерфейсного характера - результаты постоянно выдаются в кодировке КОИ, независимо от того, что выбрано пользователем перед этим. Третий недостаток: спайдер Рамблера работает по протоколу HTTP 0.9, что приводит к ошибкам индексирования, т.е. если на одном IP-адресе живут несколько виртуальных серверов, Рамблер видит только первый, а все остальные считает просто синонимами. Ну да ладно, будем надеяться, что это вскоре исправят.

Ну и на последнем месте по моему рейтингу идут Апорт-Поиск, который очень странно индексирует сервера, РусИнфОил, который регулярно закрывается на реконструкции и ТЕЛА-Поиск - красивый и почти бесполезный прибамбас для сервера www.dux.ru .

Вы спросите: а в списке были еще HotBot и метапоисковая машина Следопыт компании "Медиалингва"? Я их не забыл, просто HotBot непонятно почему оставляет в моих логах толпу записей, что не может быть случайными залетами не понимающих русского языка иностранцев (с других импортных машин таких залетов гораздо меньше), а "Следопыт" я еще недостаточно серьезно изучил.

А зачем же поисковые машины для раскрутки сайта?

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

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

Чтобы все произошло в лучшем виде требуется:

  • на сайте должет быть хоть какой-нибудь текст. Картинки и тест на них поисковые машины игнорируют. Правда, можно продублировать текст в атрибуте alt тага img
  • В каждом документе сайта ОБЯЗАТЕЛЬНО должны присутствовать осмысленный заголовок (title), ключевые слова (keywords) и краткое описание (description). Это только пишут, что поисковые машины - полнотекстовые, на самом деле это не так.
  • Изготовление файла robots.txt (особенно, если у вас есть собственный сервер типа www.name.ru).
  • Прописка вручную в каждой интересующей Вас поисковой машине и последующий контроль индексирования Вашего сайта.

Итак, Вы уже зарегистрировали первую страницу своего сайта в различных поисковых машинах.

Вы думаете уже все в подрядке? Как бы не так. Если ссылка на Ваш сайт в ответе поисковой машины выводится на втором экране -"это так же плохо, как если бы ссылки вообще не было" (Danny Sullivan, searchenginewatch.com)

Иначе говоря, просто указать страницу в AddURL недостаточно. Необходимо заранее подготовить документ так, чтобы на соответствующие запросы к поисковой машине в ее ответе на запрос ссылка на Ваш документ находилась если не первой, то хотя бы в первой десятке ссылок (а лучше, если в этой десятке было несколько ссылок на Вашы документы:-). Что значит "подготовить"? Это чисто технический вопрос, ничего сверхестественного. Просто в секции HEAD каждого документа Вашего сайта стоит указать "говорящий" Title, KeyWords, Description и Robots.

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

KeyWords: ключевые слова. Именно содержимое этого контейнера влияет на релевантность документа запросу поиска.

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

  • в поле content не должно быть знаков конца строки, кавычек и других специальных символов, регистр символов роли не играет
  • не рекомендуется повторять одни и те же ключевые слова по нескольку раз, это может быть воспринято как spam и страница рискует быть удаленной из индекса поисковой машины.
  • не стоит делать одинаковые keywords для разных страниц Вашего сайта. Это, конечно проще, но содержимое самих документов различное. Если очень хочется автоматизировать этот процесс, можно написать программку, которая прописывала бы в это поле все выделенные блоки документа, например, то что стоит между тагами H, I и B.
  • если строка в content слишком длинная, не возбраняется сделать еще несколько аналогичных конструкций.
  • вообще говоря, общий объем ключевых слов одного документа может достигать до 50% объема этого документа.

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

  • в поле content не должно быть знаков конца строки, кавычек и других специальных символов.
  • желательно, чтобы здесь была осмысленная аннотация документа из пары-тройки человеческих предложений, чтобы пользователь поисковой машины помимо заголовка смог понять смысл документа.
  • к сожалению, отечественные поисковые машины пока не умеют работать с этим контейнером, хотя божатся, что в скором времени научатся.

Можно ли управлять действиями поисковых машин?

Можно, и даже нужно! Первое действие, которое для этого нужно совершить, это написать файл robots.txt и положить его в корень Вашего сервера. Этот файл популярно объясняет роботу поисковой машины что надо индексировать, а что не стоит. Например, зачем индексировать служебные файлы, типа статистических отчетов? Или результаты работы скриптов? Более того, многие "умные" машины просто не станут индексировать сервера, не найдя robots.txt. Кстати, в этом файле можно указать разные маски индексирования для разных поисковых машин.

Подробнее об этом можно прочитать в моем переводе "Standard for Robots Exclusion ". Второе действие: снабдить страницы сайта МЕТА-тагами Robots. Это более гибкое средство управления индексацией, чем robots.txt. В частности, в этом таге можно предписать роботу поисковой машины не уходить по ссылкам на чужие сервера, например, в документах со списками ссылок. Формат этого безобразия таков:

robot_terms - это разделенный запятыми список следующих ключевых слов (заглавные или строчные символы роли не играют): ALL, NONE, INDEX, NOINDEX, FOLLOW, NOFOLLOW. NONE говорит всем роботам игнорировать эту страницу при индексации (эквивалентно одновременному использованию ключевых слов NOINDEX, NOFOLLOW). ALL разрешает индексировать эту страницу и все ссылки из нее (эквивалентно одновременному использованию ключевых слов INDEX, FOLLOW). INDEX разрешает индексировать эту страницу NOINDEX неразрешает индексировать эту страницу FOLLOW разрешает индексировать все ссылки из этой страницы NOFOLLOW неразрешает индексировать ссылки из этой страницы

Если этот мета-таг пропущен или не указаны robot_terms, то по умолчанию поисковый робот поступает как если бы были указаны robot_terms=INDEX, FOLLOW (т.е. ALL). Если в CONTENT обнаружено ключевое слово ALL, то робот поступает соответственно, игнорируя возможно указанные другие ключевые слова.. Если в CONTENT имеются противоположные по смыслу ключевые слова, например, FOLLOW, NOFOLLOW, то робот поступает по своему усмотрению (в этом случае FOLLOW).

Если robot_terms содержит только NOINDEX, то ссылки с этой страницы не индексируются. Если robot_terms содержит только NOFOLLOW, то страница индексируется, а ссылки, соответственно, игнорируются.

Контроль за текущим состоянием Ваших документов в индексе поисковых машин.

Ну хорошо, Вы прочитали все, что было выше и так и сделали. Что же дальше? А дальше будет долгая, нудная и, главное, регулярная проверка на предмет того, как обстоят дела. Как ни печально, а придется уделять этому внимание хотя бы потому, что документы временами пропадают из поисковых машин. Почему? Знать бы... Итак, в хороших поисковых машинах можно посмотреть какие документы и сколько их в текущее время находится в индексе. Вот как это делается:

Alta Vista
В этой поисковой машине проверку статуса URL осуществить довольно просто - достаточно набрать в строке запроса:

url: citforum.ru
url:citforum.ru/win/
url:citforum.ru/win/internet/index.shtml

В первом случае будут выданы все проиндексированные страницы сервера. Во втором - только страницы Windows-кодировки. В третьем - есть ли в индексе AltaVista файл index.shtml из указанной директории

Excite
Так же просто как и в AltaVista проверяется статус URL в поисковой машине Excite. Достаточно набрать URL. Например:

HotBot
Несколько по-другому проверяется статус URL в поисковой машине HotBot. Это делается так:

  • Введите URL в поле запроса
  • Измените опцию "all of the words" на "links to this URL"

Infoseek
В поисковой машине Infoseek для проверки статуса URL существует отдельный интерфейс с целым набором настроек:

WebCrawler
WebCrawler предоставляет возможность проверить статус URL на странице:

Rambler
В этой поисковой машине статус URL можно проверить двумя способами.

  • В разделе "Расширеный поиск" путем указания имени сервера в качестве маски в одной из опций Верхние 100 слов на Rambler

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

Подбор доменного имени

Каталог - удобная система поиска, однако для того, чтобы попасть на сервер компании Microsoft или IBM , вряд ли имеет смысл обращаться к каталогу. Угадать название соответствующего сайта нетрудно: www.microsoft.com , www.ibm.com или www.microsoft.ru , www.ibm.ru - сайты российских представительств этих компаний.

Аналогично, если пользователю необходим сайт , посвященный погоде в мире, его логично искать на сервере www.weather.com . В большинстве случаев поиск сайта с ключевым словом в названии эффективнее, чем поиск документа, в тексте которого это слово используется. Если западная коммерческая компания (или проект) имеет односложное название и реализует в Сети свой сервер , то его имя с высокой вероятностью укладывается в формат www.name.com , а для Рунета (российской части Сети) - www.name.ru , где name - имя компании или проекта. Подбор адреса может успешно конкурировать с другими приемами поиска, поскольку при подобной системе поиска можно установить соединение с сервером, который не зарегистрирован ни в одной поисковой системе. Однако, если подобрать искомое имя не удается, придется обратиться к поисковой машине.

Поисковые машины

Скажи мне, что ты ищешь в Интернете, и я скажу, кто ты

Если бы компьютер был высокоинтеллектуальной системой, которой можно было легко объяснить, что вы ищете, то он выдавал бы два-три документа - именно те, которые вам нужны. Но, к сожалению, это не так, и в ответ на запрос пользователь обычно получает длинный список документов, многие из которых не имеют никакого отношения к тому, о чем он спрашивал. Такие документы называются нерелевантными (от англ. relevant - подходящий, относящийся к делу). Таким образом, релевантный документ - это документ, содержащий искомую информацию. Очевидно, что от умения грамотно выдавать запрос зависит процент получаемых релевантных документов. Доля релевантных документов в списке всех найденных поисковой машиной документов называется точностью поиска. Нерелевантные документы называют шумовыми. Если все найденные документы релевантные (шумовых нет), то точность поиска составляет 100%. Если найдены все релевантные документы, то полнота поиска - 100%.

Таким образом, качество поиска определяется двумя взаимозависимыми параметрами: точностью и полнотой поиска. Увеличение полноты поиска снижает точность , и наоборот.

Как работает поисковая машина

Поисковые системы можно сравнить со справочной службой, агенты которой обходят предприятия, собирая информацию в базу данных (рис. 4.21). При обращении в службу информация выдается из этой базы. Данные в базе устаревают, поэтому агенты их периодически обновляют. Некоторые предприятия сами присылают данные о себе, и к ним агентам приезжать не приходится. Иными словами, справочная служба имеет две функции: создание и постоянное обновление данных в базе и поиск информации в базе по запросу клиента.


Рис. 4.21.

Аналогично, поисковая машина состоит из двух частей: так называемого робота (или паука), который обходит серверы Сети и формирует базу данных поискового механизма.

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

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

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

Эту мысль наглядно иллюстрирует рис. 4.22. Эллипс 1 ограничивает множество всех Web-документов, существующих на некоторый момент времени, эллипс 2 - все документы, которые проиндексированы данной поисковой машиной, а эллипс 3 - искомые документы. Таким образом, найти с помощью данной поисковой машины можно лишь ту часть искомых документов, которые ею проиндексированы.


Рис. 4.22.

Проблема недостаточности полноты поиска состоит не только в ограниченности внутренних ресурсов поисковика, но и в том, что скорость робота ограниченна, а количество новых Web-документов постоянно растет. Увеличение внутренних ресурсов поисковой машины не может полностью решить проблему, поскольку скорость обхода ресурсов роботом конечна.

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

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

Очевидно, что конкорданс (словарь) гораздо компактнее исходных текстов произведений и найти в нем нужное слово намного проще, нежели перелистывать книгу в надежде наткнуться на нужное слово .

Построение индекса

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


Рис. 4.23.

При нахождении очередной HTML-страницы большинство поисковых систем фиксируют слова, картинки, ссылки и другие элементы (в разных поисковых системах по-разному), содержащиеся на ней. Причем при отслеживании слов на странице фиксируется не только их наличие, но и местоположение, т.е. где эти слова находятся: в заголовке (title), подзаголовках ( subtitles ), в метатэгах 1Метатэги - это служебные тэги, позволяющие разработчикам помещать на Web-страницы служебную информацию, в том числе для того, чтобы сориентировать поисковую машину. ( meta tags ) или в других местах. При этом обычно фиксируются значимые слова, а союзы и междометия типа "а", "но" и "или" игнорируются. Метатэги позволяют владельцам страниц определить ключевые слова и тематику, по которым индексируется страница. Это может быть актуально в случае, когда ключевые слова имеют несколько значений. Метатэги могут сориентировать поисковую систему при выборе из нескольких значений слова на единственно правильное. Однако метатэги работают надежно только в том случае, когда заполняются честными владельцами сайта. Недобросовестные владельцы Web-сайтов помещают в свои метатэги наиболее популярные в Сети слова, не имеющие ничего общего с темой сайта. В результате посетители попадают на незапрашиваемые сайты, повышая тем самым их рейтинг. Именно поэтому многие современные поисковики либо игнорируют метатэги, либо считают их дополнительными по отношению к тексту страницы. Каждый робот поддерживает свой список ресурсов, наказанных за недобросовестную рекламу.

Очевидно, что если вы ищете сайты по ключевому слову "собака", то поисковый механизм должен найти не просто все страницы, где упоминается слово "собака", а те, где это слово имеет отношение к теме сайта. Для того чтобы определить, в какой степени то или иное слово имеет отношение к профилю некоторой Web-страницы, необходимо оценить, насколько часто оно встречается на странице, есть ли по данному слову ссылки на другие страницы или нет. Короче говоря, необходимо ранжировать найденные на странице слова по степени важности. Словам присваиваются весовые коэффициенты в зависимости от того, сколько раз и где они встречаются (в заголовке страницы, в начале или в конце страницы, в ссылке, в метатэге и т.п.). Каждый поисковый механизм имеет свой алгоритм присваивания весовых коэффициентов - это одна из причин, по которой поисковые машины по одному и тому же ключевому слову выдают различные списки ресурсов. Поскольку страницы постоянно обновляются, процесс индексирования должен выполняться постоянно. Роботы-пауки путешествуют по ссылкам и формируют файл, содержащий индекс, который может быть довольно большим. Для уменьшения его размеров прибегают к минимизации объема информации и сжатию файла. Имея несколько роботов, поисковая система может обрабатывать сотни страниц в секунду. Сегодня мощные поисковые машины хранят сотни миллионов страниц и получают десятки миллионов запросов ежедневно.

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

Лабораторная работа №10.

Поиск информации в сети Internet

Цель работы

Познакомиться с основными поисковыми системами сети Интернет. Овладеть навыками работами в поисковых системах. Научиться выбирать оптимальную поисковую систему с учетом специфики поставленных задач.

Приборы и материалы

Для выполнения лабораторной работы необходим персональный компьютер, функционирующий под управлением операционной системы семейства WINDOWS. Должна быть установлена программа Internet Explorer.

Современные поисковые системы

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

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

Поисковые машины и каталоги

При всем изобилии методов поиска в Internet наиболее распространенными средствами нахождения информации по-прежнему остаются поисковые машины и каталоги. Каждый из этих инструментов имеет определенные преимущества, а основная разница между ними заключается в участии/неучастии человека.

Поисковые машины – это комплекс специальных программ для поиска в сети.

Основные части программного комплекса:

1. Робот spider (паук). Автономно работающая программа, которая перебирает страницы сайтов, стоящих в очереди на индексацию. Она скачивает на диск поискового сервера содержимое исследуемых страниц.

2. Робот crawler (“путешествующий” паук). Его задача - собирать все ссылки на исследуемой странице, находить среди них новые, неизвестные поисковой системе, и добавлять их в список ожидающих индексации.

3. Индексатор. Обрабатывает страницы из очереди на индексацию. Для этого он составляет “словарь” странички, запоминает “частоту” использования слов. Особо отмечает ключевые слова, используемые в заголовках, выделенные в тексте жирным шрифтом. Помещает все это в особый файл - “индекс”.


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

Поисковые машины запускают в Web программных "пауков", которые путешествуют со страницы на страницу и на каждой индексируют ее полный текст.

Практически у всех поисковых машин одинаковая форма запроса и примерно одинаковый формат выдачи результатов (см. пункт «Внешний вид поисковых страниц»), однако работа поисковых машин существенно различается. Во-первых, релевантностью (степенью соответствия результатов поиска запросу пользователя), во-вторых, величиной и частотой обновления баз данных, в-третьих, скоростью выдачи результатов. Ну и, конечно, поисковые машины различаются удобством работы.

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

Каталоги - традиционное средство организации информации. Наверное, всем нам приходилось встречаться с библиотечными каталогами, каталогами товаров. Каталоги используются во множестве систем. Практически везде, где необходимо хранить и организовывать информацию.

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

К недостаткам каталогов можно отнести следующее.

Во-первых, неоднозначность структуры - это явный минус каталожной организации информации (хотя он и несколько сглаживается тем, что в каждом крупном каталоге реализован поиск по каталогу).

Во-вторых, каталоги делают люди. Их полнота и качество зависят от количества и квалификации людей, занятых работой в каталоге, их личных вкусов и пристрастий. Неровность наполнения рубрик - характерная черта всех каталогов.

В- третьих, трудоемкость ручной рубрикации ограничивает объем каталогизируемой информации.

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

Как было сказано выше, из-за того, что каталоги создаются вручную, они охватывают намного меньше ресурсов, чем поисковые машины. В Web сейчас, по самым скромным оценкам, насчитывается миллиард страниц (причем их число ежедневно увеличивается на миллион). Большинство поисковых машин не подошли сколько-нибудь близко к тому, чтобы проиндексировать всю Сеть. Исключением является Google (для России www.google.ru), который претендует именно на эту цифру - миллиард страниц, частично или полностью охваченных его индексами. Самый большой каталог - Open Directory Project (www.dmoz.org) - на этом фоне кажется крошечным: в него занесено лишь около 2 млн. страниц.

В 1994 г., когда начинался бурный рост "Всемирной паутины", выбор средств поиска в Сети был весьма ограниченным: Yahoo (www.yahoo.com). Этот сервер и по сей день остается краеугольным камнем исследования Web, но как каталог он столкнулся сейчас с жесткой конкуренцией со стороны Open Directory Project.

Многие каталоги весьма полезны, но с учетом всех обстоятельств предпочтение стоит отдать Open Directory Project. Проект Open Directory Project, инициированный компанией Netscape, реализуется усилиями редакторов-добровольцев со всего мира, которых насчитывается более 24 тысяч и которые проиндексировали около 2 млн. узлов b расклассифицировали их по более чем 200 тыс. категорий. Любой поисковый сервер может получить лицензию Open Directory Project и использовать его базу данных при обработке запросов, и на многих это сделано: AltaVista (www.altavista.com), HotBot (www.hotbot.com), Lycos (www.lycos.co.uk) и около сотни других серверов ныряют туда за ссылками.

Можно было бы ожидать, что, коль скоро каталог Open Directory Project создается силами добровольцев, качество результатов будет колебаться. Но в результате мы получаем хорошо организованные списки относящихся к теме страниц с четкими описаниями каждой ссылки. А узел Open Directory Project производит такое же впечатление, как Google: это "чистый поиск" без отвлекающих моментов типа ссылок на магазины.

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

Как работают поиcковые машины? Одним из замечательных свойств Интернет является то, что существуют сотни миллионов web-ресурсов, ожидающих и готовых быть представленными нам. Но плохо то, что есть те же миллионы страниц, которые, даже будучи нам нужны, не предстанут перед нами, т.к. просто неизвестны нам. Как узнать, что и где можно найти в интернет? Обычно для этого мы обращаемся к помощи поисковых машин.

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

Все они "обыскивают" интернет (или какой то сектор интернет) - на основе заданных ключевых слов;
- все поисковики индексируют слова, которые они ищут и места, где они их находят;
- все поисковики позволяют пользователям искать слова или комбинации из ключевых слов на основе уже проиндексированных и занесенных в свои базы данных web-страниц.

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

Посмотрим на Web

Когда люди говорят о поисковых интернет машинах, они в действительности имеют в виду поисковые машины World Wide Web . Прежде, чем Web стал наиболее видимой частью интернет, уже существовали поисковые машины, которые помогали людям найти в сети информацию. Программы под названием "gopher" и "Archie" умели индексировать файлы, размещенные на разных серверах, подсоединенных к интернет Internet и многократно снижали временные затраты на поиск нужных программ или документов. В конце 80-х годов прошлого века синонимом "умения работать в интернет" было умение использовать gopher, Archie, Veronica и т.п. поисковые программы. Сегодня большинство интернет пользователей ограничивают свой поиск только всемирной сетью, или WWW.

Маленькое начало

Перед тем, как ответить вам где найти нужный документ или файл, это файл или документ должен быть уже когда то найден. Чтобы найти информацию о сотнях миллионах существующих WEB-страниц, поисковая машина применяет специальную программу-робот. Эта программа еще называется спайдер ("spider", паук) и служит для построения списка слов, найденных на странице. Процесс построения такого списка называется web-краулинг (Web crawling). Чтобы далее построить и зафиксировать "полезный" (имеющий значение) список слов, поисковый паук должен "просмотреть" массу других страниц.

Как же начинает любой паук (spider) свое путешествие по сети? Обычно стартовой точкой являются наиболее крупные мировые сервера и очень популярных web-страницы. Паук начинает свой путь с такого сайта, индексирует все найденные слова и продолжает свое движение далее, по ссылкам на другие сайты. Таким образом, робот-паук начинает охватывать все большие "куски" web-пространства. Google.com начинался с академического поисковика. В статье, описывающей как была создана эта поисковая машина, Сергей Брин и Лауренс Пейдж (основатели и владельцы Google) привели пример, как быстро работают гугловские пауки. Их несколько и обычно поиск начинается с использованием 3-х пауков. Каждый паук поддерживает до 300 одновременно открытых соединений с web-страницами. При пиковой загрузке, с использованием 4-х пауков, система Гугл способна обработать 100 страниц в секунду, генерируя траффик около 600 килобайт/сек.

Чтобы обеспечить пауков необходимыми для обработки данными, раньше Google располагал сервером, который занимался только тем, что "подбрасывал" паукам все новые и новые URL. Чтобы не зависеть от интернет сервис провайдеров в части серверов доменных имен (DNS), транслирующих url в IP адрес, Google обзавелся собственным сервером DNS, сведя все временные затраты на индексацию страниц до минимума.

Когда Google робот посещает HTML страницу, он принимает во внимание 2 вещи:

Слова (текст) на странцие;
- место их расположения (в какой части body страницы).

Слова, расположенные с служебных разделах, таких как title, subtitles, meta tags и др. помечались как особо важные для пользовательских поисковых запросов. Google паук был построен так, чтобы индексировать каждое подобное слово на странице, за исключением междометий типа "a," "an" и "the.". Другие поисковики имеют несколько другой подход к индексации.

Все подходы и алгоритмы поисковиков в конечном итоге направлены на то, чтобы заставить роботов пауков работать быстрее и эффективнее. К примеру, некоторые поисковые роботы отслеживают при индексации слова в title, ссылках и до 100 наиболее часто используемых на странице слов и даже каждое из слов первых 20 строк текстового содержания страницы. Таков алгортим индексации, в частности, у Lycos.

Другие поисковики, такие как AltaVista, идут в другом направлении, индексируя каждое отдельное слово странциы, включая "a," "an," "the" и други неважные слова.

Мета-Теги (Meta Tags)

Метатеги позволяют владельцу web-страницы задавать ключевые слова и понятия, которые определяют суть её содержания. Это очень полезный инструемнт, особенно когда эти ключевые слова могут повторяться до 2-3 раз в тексте страницы. В этом случае мета-теги могу "направить" поисковый робот к нужному выбору ключевых слов для индексации страницы. Существует вероятность "накрутки" мета-тегов сверх популярными поисковыми запросами и понятиями, никак не связаннными с содержанием самой старницы. Поисковые роботы умеют бороься с этим, путем, например, анализа корреляции мета-тегов и содержимого web-страницы, "выкидывая" из рассмотрения те мета-теги (соответственно ключевые слова) , которые не соответствуют содержимому страниц.

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

Построение индекса

Как только пауки закончили свою работу по нахождению новых web-страниц, поисковые машины должны разместить всю найденную информацию так, чтобы было удобно в дальнейшем ею пользоваться. Здесь имеют значение 2 ключевых компонента:

Информация, сохраненная вместе с данными;
- метод, которым эта информация проиндексирована.

В простейшем случае, поисковик мог бы просто разместить слово и URL адрес, где оно находится. Но это сделало бы поисковик совсем примитивным инструментом, так как нет никакой информации о том, в какой части документа находится это слово (мета-тегах, или в обычном тексте), используется ли это слово один раз или многократно и содержится ли оно в ссылке на другой важный и близкий по теме ресурс. Другими словами, такой способ не позволит ранжировать сайты, не обеспечит представление пользователям релевантных результатов и т.д.

Чтобы предоставить нам полезные данные, поисковики сохраняют не только информацию из слова и его URL адрес. Поисковик может сохранить данные о количестве (частоте) упоминаний слова на странице, присвоить слову "вес", что далее поможет выдавать поисковые листинги (результаты) на основе весового ранжирования по данному слову, с учетом его местонахождения (в ссылках, мета тегах, титуле страницы и т.п.). У каждого коммерческого поисковика есть своя формула для вычисления "веса" ключевых слов при индексации. Это одна из причин, почему по одному и тому же поисковому запросу поисковики выдают совсем разные результаты.

Следующий важный момент при обработке найденной информации - её кодирование с целью уменьшения объема дискового пространства для её сохранения. Например, в оригинальной статье Google описано, что для хранения весовых данных слов используется 2 байта (по 8 бит каждый) -- при этом учитывается вид слова (большими или прописными буквами), размер самих букв (Font-Size) и др. информация, которая помогает ранжировать сайт. Каждый такой "кусочек" информации требует 2-3 бита данных в полном 2-байтном наборе. В результате громадный объем информации удается сохранять в очень компактном виде. После того, как информация "сжата", пора приступать к индексации.

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

В любом языке существуют буквы, с которых начинается гораздо больше слов, чем с остальных букв алфавита. К примеру, слов на букв "M" в разделе английского словаря значительно больше, чем на букву "X". Это означает, что поиск слова, начинающегося с самой популярной буквы потребует больше времени, чем любое другое слово. Хешинг (Hashing) уравнивает эту разницу и уменьшает среднее время поиска, а также разделяет сам индекс от реальных данных. Хеш таблица содержит хеш-значения вместе с указателем на данные, соответствующие этому значению. Эффективная индексация + эффективное размещение вместе обеспечивают высокую скорость поиска, даже если пользователь задаст очень сложный поисковый запрос.

Будущее поисковиков

Поиск, основанный на булевских операторах ("and", "or", "not") - это буквенный поиск -- поисковик получает поисковые слова ровно так, как они введены. Это может вызвать проблему, когда, например, введенное слово имеет множество значений. "Ключ," например, может означать "средство для открытия двери", а может означать "пароль" для входа на сервер. Если вас интересует только одно значение слова, то вам, очевидно, будут не нужны данные по его второму значению. Можно, конечно, построить буквальный запрос, который позволит исключить вывод данных по ненужному значению слова, но было бы неплохо, если бы поисковик смог сам помочь вам.

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

Не менее интенсивно ведутся работы и в области разработки поисковых алгоритмов на основе запросов естественного языка (Natural-Language query).

Идея естественных запросов состоит в том, что вы можете написать запрос так, как если бы спросили об этом коллегу, сидящего напротив вас. Не надо беспокоиться о булевских операторах или напрягаться для составления сложного запроса. Самый популярный на сегодня поисковый сайт на основе языка естественных запросов - это AskJeeves.com. Он преобразует запрос в ключевые слова, которые затем и использует при индексировании сайтов. Этот подход работает только в случае простых запросов. Однако, прогресс не стоит на месте, возможно, что совсем скоро мы будем "разговаривать" с поисковыми машинами на своем, "человеческом языке".

Похожие публикации