Главная страница «Первого сентября»Главная страница журнала «Библиотека в школе»Содержание №2/2009

Александр Дуванов

Часть II. Поиск информации

Продолжение. Начало читайте, пожалуйста, в номере 19, 20, 21, 23, 24–2008.


2. Инструменты поиска в Интернете
(продолжение)

2.4. Индексы

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

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

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

Когда пользователь выдаёт запрос в индекс, поиск выполняется уже не в Интернете, а в базе данных индекса и поэтому отнимает очень мало времени.

На сервере индекса располагаются:

Рис1

Рис. II. 55. Устройство индекса Интернета

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

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

Система поиска по базе индекса обслуживает запросы пользователей.

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

2.4.1. Понятие индекса

Для облегчения поиска информации в книгах, особенно научных, часто используют индекс. Иногда индекс называют предметным указателем, алфавитным указателем или просто указателем. В индексе перечислены по алфавиту все основные понятия, которые есть в книге, и указано, на каких страницах они встречаются (рис.II.56).

Рис2

Рис II.56. Индекс в книге

В Интернете термин «индекс» закрепился за поисковыми системами, принцип работы которых был описан выше. Но кроме собственно индекса, то есть словаря слов со ссылками, база данных поисковой системы содержит и сами веб-страницы в сжатом виде.

Индекс поисковой системы, как и индекс обычной книги, помогает существенно повысить скорость поиска: ведь объём индекса во много раз меньше самого проиндексированного материала.

2.4.2. Вес ссылки на документ для слова из индекса

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

Рис3

Рис. II. 57. Ссылки индекса Интернета снабжаются специальной характеристикой – весом

При вычислении веса ссылки учитывается индекс цитирования документа (ИЦ). Более весомым считается документ, на который есть много ссылок с других сайтов, причём цитирование с крупных популярных сайтов оценивается выше.

Вес ссылки выше для «более свежих» страниц, то есть страниц с более новой датой обновления.

Ссылка имеет повышенный вес, если слово входит в состав её URL (интернет-адреса), например, слово microsoft входит в состав ссылки на сайт компании: www.microsoft.com.

Ссылка имеет повышенный вес, если слово входит в состав названия окна, в которое выводится страница документа.

Кроме того, при подсчёте веса ссылки учитываются разные параметры появления слова в тексте документа:

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

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

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

Вася задал в строке поиска Яндекса слово «интернет». Результат его ошеломил: поисковая система через секунду сообщила, что нашла более 166 миллионов страниц с этим словом (расположенных более чем на 31 тысяче сайтов), и предъявила первые десять ссылок с фрагментами текста, содержащих искомое слово (рис. II.58):

Рис4

Рис. II.58. Результат поиска слова «интернет» в Яндексе

Вася уточнил запрос, задав фразу «поиск в интернете». Результат – три с половиной миллиона страниц.

Ещё одно уточнение: «список поисковых систем интернета». Результат – 886 106 страниц.

Если Вася действительно хотел найти список поисковиков Интернета, то задавать в качестве образца поиска только популярное слово «интернет» было изначально плохой идеей. Уточнение фразы поиска привело к уменьшению количества найденных страниц почти в 200 раз. Однако полный просмотр результатов по-прежнему остаётся нереальной задачей.

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

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

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

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

Причина в том, что индекс ранжирует список результатов в порядке релевантности – степени соответствия полученных результатов ожидаемым.

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

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

Как поисковая система ранжирует результаты поиска по релевантности?

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

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

Релевантность документа повышается, если морфология запроса (форма используемых слов: падежи, единственное и множественное число и т.д.) совпадает с морфологией найденной фразы. Так, при запросе «день идёт» будут найдены и документы с фразой «дни шли», но их релевантность окажется ниже при прочих равных условиях.

Следует отметить, что не все индексы настолько хорошо знают русский язык, чтобы выполнять поиск, используя разные формы ключевого слова (например, беги, бежал, бегут и т.п. вместо заданного «бежать»). Индексы Рунета, такие как Яндекс, Рамблер, Апорт, – спецы в этом вопросе. Мировой гигант Yahoo морфологию русского языка совсем не знает. Очень хороший поисковик Google знаком с ней поверхностно.

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

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

2.4.4. Простой поиск. Результаты поиска

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

Петя. Весь Интернет перед тобой!

Вася. Набираю в строке Яндекса слово «велосипед» и нажимаю кнопку Найти (рис.II.59):

Рис5

Рис. II. 59. Поиск велосипеда в Яндексе

Петя. Запрос неудачный: Яндекс обнаружил 6 677 572 страниц с этим словом и на первое место поместил коммерческие предложения, которые тебя сейчас интересуют не в первую очередь.

Вася. То есть релевантность он рассчитал неправильно! Мне хочется прочитать советы по выбору велосипеда.

Петя. А что Яндекс мог сделать с одним словом «велосипед»? Как он мог «догадаться», что именно тебе нужно? На первое место он поместил сайт солидного интернет-магазина, продающего велосипеды!

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

Но давай на примере этого запроса посмотрим, как Яндекс оформляет результаты поиска.

Прежде всего, Яндекс информирует, сколько страниц и сайтов он нашёл по предложенному запросу. Дополнительно сообщает, сколько сайтов по теме запроса нашёл в своём собственном каталоге. Слово «каталог» оформлено как ссылка, и на ней можно щелкнуть мышкой (рис. II.60):

Рис6

Рис. II. 60. Информация о результатах поиска

Вася. А что за странное предложение-ссылка «Купить это слово»? Я собираюсь купить велосипед, а не слово!

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

Вася. Ну, не знаю… Возможно, их финансирует государство?

Петя. Нет, Вася. Их финансируют фирмы, которые размещают на страницах с результатами поиска свою рекламу! Предложение «Купить слово» адресовано как раз таким компаниям. Когда слово «покупается», реклама компании размещается на тех страницах, которые Яндекс показывает в ответ на запросы с этим словом, то есть реклама приобретает особую ценность, становится адресной. Вот посмотри, в колонке справа от результатов Яндекс приводит такие рекламные сообщения (рис. II.61):

Рис7

Рис. II. 61. Адресная реклама на Яндексе

В следующем информационном блоке, непосредственно перед списком результатов, Яндекс приводит ссылки на результаты параллельных поисков по другим своим службам, в данном случае по службам Маркет и Каталог (рис. II.62):

Рис8

Рис. II. 62. Ссылки на результаты поиска в других службах Яндекса

Вася. Я знаю, что Яндекс – мощный индекс Рунета и достаточно объёмный каталог. Знаю, что Яндекс является провайдером электронной почты, предоставляет место под сайты и даже предлагает завести электронные кошельки (система Яндекс. Деньги). Какие ещё услуги есть в арсенале этого сетевого монстра?

Петя. Яндекс – типичный пример портала. Так называют универсальные сайты, предлагающие пользователю широкий спектр услуг. Среди служб Яндекса: поиск картинок и музыки, новости, афиша, телепрограмма, погода, набор словарей, географические карты.

Посмотри на поисковую форму Яндекса (рис. II.63):

Рис9

Рис. II. 63. Поисковая форма Яндекса

По умолчанию поиск выполняется Везде, но можно ограничить его какой-то конкретной службой из списка-меню: Новости, Маркет, Адреса, Словари, Блоги, Картинки. Полный набор услуг открывается на странице по ссылке Все службы.

Вася. Яндекс – молодец! Заботится о пользователях. Поясни, пожалуйста, что означают отдельные поля записи, информирующие о найденном документе.

Петя. В этом сообщении можно выделить семь информационных полей (рис. II.64):

Рис10

Рис. II. 64. Структура записи в результатах поиска на Яндексе

Вот что они означают:

Рис11

Рис. II. 65. Фрагмент документа с подсвеченными словами поиска

Красные стрелки рядом с каждым словом позволяют передвигаться вперёд-назад по списку найденных слов.

Я привёл эти пояснения из справочной системы Яндекса, вход в которую расположен над формой для ввода запроса (рис. II.66):

Рис12

Рис. II. 66. Вход в справочную систему Яндекса

Обрати внимание на ссылку Настроить поиск рядом с помощью. Она позволяет управлять видом результатов поиска.

Вася. Продолжу свои велосипедные изыскания. Запишу для Яндекса запрос «выбор велосипеда» (рис. II.67):

Рис13

Рис. II. 67. Фраза поиска: «выбор велосипеда»

Число найденных страниц уменьшилось до 99 613, хотя и остаётся очень большим!

Петя. Теперь можно поискать в найденном, поставив соответствующую галочку и задав, например, слово советы (рис. II.68):

Рис14

Рис. II. 68. Поиск в найденном по слову «советы»

Вася. Теперь Яндекс нашёл в три раза меньше документов (33 705), а самой первой показал страницу с интересным заголовком «Выбор велосипеда»!

Петя. Вот несколько полезных советов для успешного поиска в индексе.

На запрос саветы «умный» Яндекс реагирует фразой:

«В исходном запросе саветы, возможно, есть опечатка».

Но понять, что «кетовый плавник», означает плавник кита, а не кеты, поисковик не сможет.

Так, слово «инструкция» можно заменить словом «руководство», «наставление» или даже словом «справочник».

Запрос «коллекция» обнаруживает 19 319 186 документов. В то время как запрос «коллекция коал» приводит только к 109 документам.

Вот что написано на справочной странице Яндекса:

Начиная слово с большой буквы, вы не найдёте слов, написанных с маленькой буквы. Поэтому не набирайте обычные слова с Большой Буквы, даже если с них начинается ваш вопрос Яндексу. Заглавные буквы в запросе рекомендуется использовать только в именах собственных. Например, «группа Чёрный кофе», «телепередача Здоровье».

Конечно, надо прислушиваться к советам разработчиков поисковых систем, но, похоже, эта рекомендация Яндекса не всегда действует так, как описано. Например, по запросу «сайты про Чёрный кофе» первой по релевантности была показана страница с заголовком «Про чёрно-белые мысли о чашке горячего кофе»!

2.4.5. Расширенный поиск

Расширенный, или сложный, поиск – это поиск ключевой фразы при дополнительных условиях.

Например, в Яндексе из режима простого поиска в расширенный ведёт соответствующая ссылка рядом со строкой ввода запроса (рис. II.69):

Рис15

Рис. II. 69. Вход в расширенный поиск на Яндексе

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

Рассмотрим форму для ввода условий на примере Яндекса.

Условия на слова из фразы поиска

Можно задать условие на расположение слов по отношению друг к другу (рис. II. 70):

Рис16

Рис. II. 70. Условие на расположение слов

Возможно одно из следующих условий:

Слова должны идти в том же порядке, как и в запросе.

Слова запроса встречаются в одном предложении.

На расстоянии в несколько предложений, в зависимости от того, насколько слова запроса тесно связаны между собой, по мнению Яндекса.

Слова запроса должны встретиться в одном документе (под страницей понимается не экранная страница, а весь документ).

Можно задать место расположения слов на странице (рис. II.71):

Рис17

Рис. II. 71. Условие на расположение слов на странице

Возможно одно из следующих условий:

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

Под заголовком понимается название окна, в которое выводится документ.

Поиск в тексте всех ссылок документа или только той, которая задана явно.

Яндекс учитывает морфологию слов запроса и ищет все их формы (идти, идёт, шёл, шла и т.д.). Но можно потребовать искать слова буквально так, как они заданы (рис. II.72):

Рис18

Рис. II. 72. Условие на учёт морфологии

Условия на найденные документы

Можно задать условия, которым должны удовлетворять документы в списке результатов поиска (рис. II.73):

Рис19

Рис. II. 73. Условие на документы из списка результатов поиска

2.4.6. Язык запросов

Расширенный поиск помогает сократить список результатов и повысить его релевантность.

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

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

Рассмотрим самые ходовые конструкции языка запросов Яндекса. Более подробная информация содержится на справочных страницах поисковой системы.

Поиск буквальной фразы

Элементы языка запросов: кавычки («») и знак восклицания (!).

Если фраза должна быть найдена буквально в том виде, в котором она указана в запросе, её нужно взять в кавычки.

Запрос

Примеры
результатов поиска

газета Информатика

газету «Информатика»
газети «інформатика»
газета «Новости Радужного»
день информатики

«газета Информатика»

газета «Информатика»

Кавычки удобны для поиска цитат. Например, по запросу

«прошу нажать эсли не аткрывают»

будет найдена страница с этим объявлением Совы из повести А.Милна «Винни Пух и Все-Все-Все».

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

Запрос

Примеры результатов поиска

день

день
дня
дней

«день»

день

!день

день

Например, по запросу !хвост отваливается будут найдены документы, содержащие словоформу «хвост» (а не «хвосты», «хвосту» и т.п.). В результатах поиска окажутся документы с фрагментами:

А вот такие выражения будут проигнорированы:

Обязательное включение и исключение отдельного слова

Элементы языка запросов: знак плюс (+) и знак минус (-).

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

Если присутствие слова необходимо, в запросе для Яндекса перед ним без пробела нужно поставить знак +.

Вот что написано по этому поводу в справочном разделе Яндекса:

Чтобы отобрать документы, где определенное слово присутствует обязательно (некоторые слова запроса не учитываются Яндексом), поставьте перед ним плюс (без пробела). Поэтому, если вас интересует цитата из «Гамлета», вы можете задать запрос +быть +или +не быть.

Маленькая хитрость. Того же результата можно достичь, задав «обязательные» слова в кавычках: «быть или не быть».

Например, запрос объявления о продаже велосипедов выдаст много страниц с разнообразными объявлениями. А запрос объявления о продаже +велосипедов покажет объявления о продаже именно велосипедов.

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

Из справочного раздела Яндекса:

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

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

По запросу: !чебурашка -!чебурашку будут найдены страницы, содержащие имя «Чебурашка» в именительном падеже и не содержащие Чебурашку в родительном.

Продолжение читайте, пожалуйста, в следующем номере