Поисковые системы Internet. Структура и принципы работы
16
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
ИНСТИТУТ ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
СПЕЦИАЛЬНОСТЬ «Государственное и муниципальное управление»
К О Н Т Р О Л Ь Н А Я Р А Б О Т А
По дисциплине: Информационные технологии
На тему: Поисковые системы Internet. Структура и принципы работы.
Выполнила:
Студентка 5 курса
_____________________
_____________________
г. Новый Уренгой 2010
Содержание
Введение………………………………………………………… | 3 |
1. Понятие и функции поисковой системы……………………………... | 4 |
2. Состав и принципы работы поисковой системы…………………….. | 6 |
3. Виды поисковых систем Internet……………………………………… | 9 |
4. Основные характеристики поисковой системы……………………… | 13 |
Заключение…………………………………………………… | 15 |
Список использованной литературы…………………………………….. | 16 |
Приложение…………………………………………………… | 17 |
Введение
Поисковые системы уже давно стали неотъемлемой частью российского Интернета. Поисковые системы сейчас – это огромные и сложные механизмы, представляющие собой не только инструмент поиска информации, но и заманчивые сферы для бизнеса.
В Internet существует большое количество поисковых систем. По самым скромным оценкам, их более восьми тысяч, считая классические поисковые машины, общие и специализированные каталоги, а также метапоисковые Web-узлы (которые посылают запросы сразу на несколько поисковых серверов). В дополнение к этому существует ряд альтернативных средств поиска, способных пригодиться, включая утилиты, которые, работая совместно с браузером, добывают информацию из Web, и так называемые "экспертные узлы", где с запросами работают живые люди.
Пользователям Internet уже хорошо известны названия таких сервисов и информационных служб, как Lycos, AltaVista, Yahoo, OpenText, InfoSeek, а без услуг этих систем сегодня практически нельзя найти что-либо полезное в море информационных ресурсов Сети. Но что собой представляют эти сервисы изнутри, как они устроены, почему результат поиска в терабайтных массивах информации осуществляется достаточно быстро и как устроено ранжирование документов при выдаче - все это обычно остается за кадром. Тем не менее, без правильного планирования стратегии поиска, знакомства с основными положениями теории ИПС (Информационно-Поисковых Систем), насчитывающей уже двадцатилетнюю историю, трудно эффективно использовать даже такие скорострельные сервисы, как AltaVista или Lycos.
Целью данной работы является изучение сущности поисковых систем Internet.
Для достижения цели работы необходимо решение следующих задач:
- определить понятие и функции поисковой системы;
- изучить состав и принципы работы поисковой системы;
- рассмотреть виды поисковых систем Internet;
- определить основные характеристики поисковой системы.
1. Понятие и функции поисковой системы
Поисковая система - это программно-аппаратный комплекс, предназначенный для осуществления поиска в сети Интернет и реагирующий на запрос пользователя, задаваемый в виде текстовой фразы (поискового запроса), выдачей списка ссылок на источники информации, в порядке релевантности (в соответствии запросу). Наиболее крупные международные поисковые системы: «Google», «Yahoo», «MSN». В русском Интернете это – «Яндекс», «Рамблер», «Апорт».
Рассмотрим подробнее понятие поискового запроса на примере поисковой системы «Яндекс». Поисковый запрос должен быть сформулирован пользователем в соответствии с тем, что он хочет найти, максимально кратко и просто. Допустим, необходимо найти информацию в «Яндексе» о том, как выбрать автомобиль. Для этого, нужно открыть главную страницу «Яндекса», и ввести текст поискового запроса «как выбрать автомобиль» (см. рис. 1).
Рис. 1 Главная страница «Яндекса»
Далее, задача сводится к тому, чтобы открыть предоставленные по запросу ссылки на источники информации в Интернет. Однако, вполне можно и не найти нужную информацию. Если таковое произошло, то либо нужно перефразировать свой запрос, либо в базе поисковой системе действительно нет никакой актуальной информации по данному запросу (такое может быть при задании очень «узких» запросов, как, например «как выбрать автомобиль в Архангельске»)
Первоочередная задача любой поисковой системы – доставлять людям именно ту информацию, которую они ищут. А научить пользователей делать «правильные» запросы к системе, т.е. запросы, соответствующие принципам работы поисковых систем, невозможно. Поэтому разработчики создают такие алгоритмы и принципы работы поисковых систем, которые бы позволяли находить пользователям искомую ими информацию.
Это означает, поисковая система должна «думать» так же, как думает пользователь при поиске информации. Когда пользователь обращается с запросом к поисковой машине, он хочет найти то, что ему нужно, максимально быстро и просто. Получая результат, он оценивает работу системы, руководствуясь несколькими основными параметрами. Нашел ли он то, что искал? Если не нашел, то сколько раз ему пришлось перефразировать запрос, чтобы найти искомое? Насколько актуальную информацию он смог найти? Насколько быстро обрабатывала запрос поисковая машина? Насколько удобно были представлены результаты поиска? Был ли искомый результат первым или же сотым? Как много ненужного мусора было найдено наравне с полезной информацией? Найдется ли нужная информация, при обращении к поисковой системе, скажем, через неделю, или через месяц?
Для того, чтобы удовлетворить ответами все эти вопросы, разработчики поисковых машин постоянно совершенствуют алгоритмы и принципы поиска, добавляют новые функции и возможности, всячески пытаются ускорить работу системы.
2. Состав и принципы работы поисковой системы
Практически все крупные поисковые системы имеют свою собственную структуру, отличную от других. Однако можно выделить общие для всех поисковых машин основные компоненты. Различия в структуре могут быть лишь в виде реализации механизмов взаимодействия этих компонентов.
Модуль индексирования
Модуль индексирования состоит из трех вспомогательных программ (роботов):
Spider (паук) – программа, предназначенная для скачивания веб-страниц. «Паук» обеспечивает скачивание страницы и извлекает все внутренние ссылки с этой страницы. Скачивается html-код каждой страницы. Для скачивания страниц роботы используют протоколы HTTP. Работает «паук» следующим образом. Робот на сервер передает запрос “get/path/document” и некоторые другие команды HTTP-запроса. В ответ робот получает текстовый поток, содержащий служебную информацию и непосредственно сам документ.
Ссылки извлекаются из тэгов a, area, base, frame, frameset, и др. Наряду со ссылками, многими роботами обрабатываются редиректы (перенаправления). Каждая скачанная страница сохраняется в следующем формате:
URL страницы
дата, когда страница была скачана
http-заголовок ответа сервера
тело страницы (html-код)
Crawler («путешествующий» паук) – программа, которая автоматически проходит по всем ссылкам, найденным на странице. Выделяет все ссылки, присутствующие на странице. Его задача - определить, куда дальше должен идти паук, основываясь на ссылках или исходя из заранее заданного списка адресов. Crawler, следуя по найденным ссылкам, осуществляет поиск новых документов, еще неизвестных поисковой системе.
Indexer (робот- индексатор) - программа, которая анализирует веб-страницы, скаченные пауками. Индексатор разбирает страницу на составные части и анализирует их, применяя собственные лексические и морфологические алгоритмы. Анализу подвергаются различные элементы страницы, такие как текст, заголовки, ссылки структурные и стилевые особенности, специальные служебные html-теги и т.д.
Таким образом, модуль индексирования позволяет обходить по ссылкам заданное множество ресурсов, скачивать встречающиеся страницы, извлекать ссылки на новые страницы из получаемых документов и производить полный анализ этих документов.
База данных
База данных, или индекс поисковой системы - это система хранения данных, информационный массив, в котором хранятся специальным образом преобразованные параметры всех скачанных и обработанных модулем индексирования документов.
Поисковый сервер
Поисковый сервер является важнейшим элементом всей системы, так как от алгоритмов, которые лежат в основе ее функционирования, напрямую зависит качество и скорость поиска.
Поисковый сервер работает следующим образом:
Полученный от пользователя запрос подвергается морфологическому анализу. Генерируется информационное окружение каждого документа, содержащегося в базе (которое и будет впоследствии отображено в виде сниппета, то есть соответствующей запросу текстовой информации на странице выдачи результатов поиска).
Полученные данные передаются в качестве входных параметров специальному модулю ранжирования. Происходит обработка данных по всем документам, в результате чего, для каждого документа рассчитывается собственный рейтинг, характеризующий релевантность запроса, введенного пользователем, и различных составляющих этого документа, хранящихся в индексе поисковой системы.
В зависимости от выбора пользователя этот рейтинг может быть скорректирован дополнительными условиями (например, так называемый «расширенный поиск»).
Далее генерируется сниппет, то есть, для каждого найденного документа из таблицы документов извлекаются заголовок, краткая аннотация, наиболее соответствующая запросу и ссылка на сам документ, причем найденные слова подсвечиваются.
Полученные результаты поиска передаются пользователю в виде SERP (Search Engine Result Page) – страницы выдачи поисковых результатов.
Как видно, все эти компоненты тесно связаны друг с другом и работают во взаимодействии, образовывая четкий, достаточно сложный механизм работы поисковой системы, требующий огромных затрат ресурсов.
По информации ООО «Рамблер Интернет Холдинг» обработка поискового запроса в системе «Рамблер» происходит, так, как это изображено на рисунке 2 (см. прил. 1).
Запрос поступает в поисковую систему через маршрутизатор Cisco 6000 series. Cisco передает его наименее загруженной машине первого уровня - frontend (1.1 - 1.3, на рис. машине 1.3). Frontend, в свою очередь, отправляет запрос дальше, на один из восьми proxy-серверов, также выбирая наиболее свободный сервер (2.1 - 2.8, на рис. машине 2.2). Одновременно frontend отправляет запрос на машины, осуществляющие поиск по товарам (3.1 - 3.2, на рис. машине 3.1) и по базе Тор 100 (4.1 - 4.2, на рис. машине 4.1). На proxy проводится поиск по ссылочному индексу, и его результаты вместе с поисковым запросом передаются на машины, которые содержат основную индексную базу, - backends (5.1.х - 5.7.х, на рис. машинам 5.1.2, 5.2.11, 5.3.1 и т.д.) Та же информация отправляется на машины с "быстрой базой" (6.1 - 6.2).
На текущий момент в поиск включено 77 backend'ов. Они сгруппированы по 11 машин, и каждая группа содержит копию одной из частей поискового индекса. Таким образом, информация о сайтах, условно входящих в красный сектор Интернета, находится на backend'ах первой группы (5.1.1 - 5.1.11 на рис), оранжевый сектор - на backend'ах второй группы (5.2.1 - 5.2.11) и т.д. Proxy-сервер выбирает наименее загруженный backend в каждой группе машин и отправляет на него поисковый запрос с результатами ссылочного поиска. На backend'ах осуществляется поиск по частям индексной базы и ранжирование с учетом результатов поиска по ссылочному индексу. При ранжировании для всех найденных документов высчитываются веса по конкретному запросу.
После того, как запрос обработан на backend'ах, информация о результатах и ранжировании отдается обратно на proxy-сервер. Туда же поступают отсортированные результаты с машин "быстрой базы". Proxy интегрирует данные, полученные с восьми машин: клеит дубли, объединяет зеркала сайтов, переранжирует документы в общий список по весам, рассчитанным на backend'ах. Так, первым в списке найденного может быть документ с машины 5.3.1, вторым и третьим - с 6.1, четвертым - с 5.5.2 и т.д. На proxy-сервере также реализуется построение цитат к документам и подсветка слов запроса в тексте. Полученные результаты отдаются на frontend.
Помимо информации с proxy-сервера, frontend получает результаты из поиска по товарам и из базы Тор 100, отсортированные, с цитатами и подсветкой слов запроса. Frontend осуществляет окончательное объединение результатов, генерирует html со списком найденного, вставляет баннеры и перевязки (ссылки на различные разделы Рамблера) и отдает html Cisco, который маршрутизирует информацию пользователю.
3. Виды поисковых систем Internet
Поисковые машины и каталоги
При всем изобилии методов поиска в Internet наиболее распространенными средствами нахождения информации по-прежнему остаются поисковые машины и каталоги. Каждый из этих инструментов имеет определенные преимущества, а основная разница между ними заключается в участии/неучастии человека.
Поисковые машины запускают в Web программных "пауков" (spiders), которые путешествуют со страницы на страницу и на каждой индексируют ее полный текст. Каталоги же формируются людьми-редакторами, которые прочитывают страницы, отсеивают неподходящие и классифицируют узлы по темам.
Но из-за того, что каталоги создаются вручную, они охватывают намного меньше ресурсов, чем поисковые машины. В Web сейчас, по самым скромным оценкам, насчитывается миллиард страниц (причем их число ежедневно увеличивается на миллион). Большинство поисковых машин не подошли сколько-нибудь близко к тому, чтобы проиндексировать всю Сеть. Исключением является Google, который претендует именно на эту цифру - миллиард страниц, частично или полностью охваченных его индексами. Самый большой каталог - Open Directory Project - на этом фоне кажется крошечным: в него занесено лишь около 2 млн. страниц.
Гибридные поисковые серверы
Поскольку у каталогов свои достоинства, а у поисковых машин - свои, большинство крупных поисковых серверов в том или ином виде реализуют оба метода. Поисковую машину AltaVista, например, дополняет каталог, основанный на индексах с серверов LookSmart и Open Directory Project. Когда же вы что-то ищете на LookSmart или Yahoo, сервер сначала выдает результаты из своего каталога, а потом переадресует ваш запрос поисковой машине.
Разумеется, услуги многих серверов далеко не исчерпываются каталогом и поисковой машиной. Excite, Go.com, Lycos, Yahoo и другие превратились в порталы, на которых есть и информация о котировках акций, и новости, и электронная почта, и магазин. Короче, они делают все возможное, чтобы подольше задержать посетителя на своих страницах: это повышает вероятность того, что он прочтет рекламу, за счет которой и существует сервер. Но хотя многие материалы, предлагаемые порталами, полезны или забавны, в результате сервер настолько загромождается второстепенными функциями, что средства поиска начинают казаться необязательным дополнением.
Некоторые поисковые серверы возвращаются к основам. Первым это движение начал в прошлом году Google: на его элегантной главной странице нет почти ничего, кроме логотипа сервера, поля, куда вводится запрос, и пары кнопок. Несколько позже от AltaVista отпочковался сервер Raging Search, который предоставляет доступ к поисковой машине AltaVista без сутолоки соответствующего узла. Утверждается, что поиск на двух узлах может дать различные результаты, но во всех наших тестах списки ссылок оказались полностью идентичными. Как бы то ни было, существование чисто поисковых узлов должно порадовать завсегдатаев Web, которым мешает отвлекающий внимание сервис порталов.
Каталоги
В 1994 г., когда начинался бурный рост "Всемирной паутины", выбор средств поиска в Сети был весьма ограниченным: Yahoo. Этот сервер и по сей день остается краеугольным камнем исследования Web, но как каталог он столкнулся сейчас с жесткой конкуренцией со стороны Open Directory Project и LookSmart.
Все три каталога весьма полезны, но с учетом всех обстоятельств предпочтение стоит отдать Open Directory Project. Проект Open Directory Project, инициированный компанией Netscape, реализуется усилиями редакторов-добровольцев со всего мира, которых насчитывается более 24 тыс. и которые проиндексировали около 2 млн. узлов, расклассифицировав их по более чем 200 тыс. категорий. Любой поисковый сервер может получить лицензию Open Directory Project и использовать его базу данных при обработке запросов, и на многих это сделано: AltaVista, HotBot, Lycos, MetaCrawler и около сотни других серверов ныряют туда за ссылками.
Можно было бы ожидать, что, коль скоро каталог Open Directory Project создается силами добровольцев, качество результатов будет колебаться. Но в результате мы получаем хорошо организованные списки относящихся к теме страниц с четкими описаниями каждой ссылки. А узел Open Directory Project производит такое же впечатление, как Google: это "чистый поиск" без отвлекающих моментов типа ссылок на магазины.
Какой каталог ни выбрать, у всех есть одно преимущество перед поисковыми машинами: их можно систематически просматривать, пользуясь иерархической системой меню. Например, вы щелкаете на LookSmart на категории Sports (спорт) и получаете список тем, таких как Baseball (бейсбол), Olympics (Олимпийские игры) или Motor Sports (авто- и мотоспорт). Щелкнув в этом списке на пункте Motor Sports, вы сможете сузить поиск, выбрав подкатегорию, например, Formula One Racing (гонки "Формула-1") или NASCAR.
Или представьте себе, что ищете фирму, которая изготовила бы вывеску для вашей компании, находящейся в Лос-Анджелесе, и уже знаете одного такого поставщика. В этом случае можно выполнить "обратный запрос": запустить поиск в каталоге по названию известной вам фирмы, найдя ее, определить категорию, к которой она относится (скажем, на Yahoo это будет Los Angeles > Business and Shopping > Business to Business > Signage - Лос-Анджелес > Бизнес и торговля > Обслуживание предприятий > Вывески), после чего выбрать эту категорию и посмотреть, какие еще изготовители вывесок есть в Лос-Анджелесе. Таким путем вы найдете нужные адреса быстрее, чем при обычном поиске по ключевым словам.
Метапоисковые серверы
Такие серверы не ведут собственных индексов, а каждый запрос передают другим поисковым машинам и каталогам. Большинство из них объединяют полученные результаты, убирают повторы и представляют вам обработанный список, содержащий больше адресов, чем при поиске на какой-то одной машине.
На заре развития Web, когда ни на одной поисковой машине число проиндексированных страниц не превышало нескольких миллионов, метапоиск был очень важен. Но сейчас AltaVista, Google и другие машины могут похвастаться индексами на сотни миллионов страниц, так что каждая из них даже в одиночку позволит вам "прочесать" значительную часть Web. Тем не менее, с лучшими метапоисковыми серверами стоит познакомиться; попробуйте обратиться на какой-нибудь из них, когда ваша любимая поисковая машина в очередной раз ничем вам не сможет помочь. К сожалению, их результатам часто недостает релевантности Google - вероятно, из-за того, что логично объединить ссылки из разных источников очень сложно.
В настоящее время в Web работает множество метапоисковых серверов. Среди наиболее выдающихся - Dogpile, Mamma.com, MetaCrawler, ProFusion, Search.com и TheBigHub.com. Каждый из них черпает информацию из своего набора поисковых машин. MetaCrawler, например, обращается к 13 машинам, включая AltaVista, Excite, Google и LookSmart, а TheBigHub.com довольствуется всего восемью. Необходимо понимать, что чем больше машин занимается запросом, тем дольше он обрабатывается: метапоисковый сервер должен каждой машине его передать, от каждой получить ответ и свести все результаты в один список. Ограничение числа запрашиваемых машин помогает метапоисковому серверу держать время ожидания ответа в разумных пределах.
Популярность метапоиска вдохновила владельцев ряда традиционных поисковых машин на реализацию сходных функций. К примеру, Ask Jeeves наряду с результатами поиска по его собственной базе данных приводит ссылки с About.com, AltaVista, Excite, WebCrawler и 4anything Network.
Специализированные поисковые машины
Тематические поисковые системы, от TaxTopic.com до James T. Kirk Search Engine охватывают практически все мыслимые предметы. Есть большое количество специализированных поисковых серверов, посвященных астрономии, политике, рыбной ловле и т. д. Лучшие из них демонстрируют такую компетентность в рамках своей темы, какую редко можно встретить у поисковых машин общего назначения, и почти во всех наших тестах они помогли нам найти то, что требовалось. Вдобавок благодаря узкой специализации подобных систем результаты отличаются высокой релевантностью: по запросу bacon (бекон) на сервере Recipes-For-All.com вы наверняка получите рецепты блюд с беконом, а не фильмы с Кевином Беконом или эссе сэра Фрэнсиса Бекона. Как узнать, существует ли поисковая система, например, по коккер-спаниелям? Очень просто: справьтесь об этом в путеводителе по тематическим "искалкам". Например - InvisibleWeb.com и Search Engine Guide. Специализированные поисковые системы редко являются полностью автоматическими (примером таковой может служить Ditto.com, помогающая находить в Web изображения): большинство фактически представляют собой вручную составленные каталоги узлов, относящихся к данной теме. Поэтому тематический поиск на них дает лучшие результаты, чем узкоспециализированные запросы. Например, задав на сервере All Magic Guide запрос Houdini (Гудини), вы получите 15 полезных ссылок на страницы, посвященные легендарному иллюзионисту, а по запросу harry houdini straitjacket escape photo (фотография Гарри Гудини, выпутывающегося из смирительной рубашки) не найдете ничего.
Многие специализированные серверы представляют собой плод трудов одного энтузиаста, и в силу этого там может наступить застой, если владелец потеряет интерес к теме или у него станет меньше свободного времени. Посмотрите на дату последнего обновления на основной странице, и если оно было давно, двигайтесь дальше.
Экспертные узлы
Разработчики поисковых машин долгое время (и без особого успеха) пытаются научить свои автоматизированные системы мыслить по-человечески. А почему бы не сделать наоборот? Такова идея экспертных узлов - информационных центров, поддерживаемых знаниями и суждениями живых людей.
Среди лидеров в этой области - Abuzz, Ask Jeeves AnswerPoint, AskMe.com и LookSmart Live. Их услуги по большей части бесплатны. А вот сервер Exp.com специализируется на платных советах квалифицированных специалистов - юристов, бизнес-консультантов и т. п. Существуют и узлы, посвященные компьютерным проблемам, например, ExpertCity.
Порядок действий почти на всех экспертных узлах одинаковый: по систематическому каталогу в стиле Yahoo вы разыскиваете нужную категорию, затем вводите свой вопрос и ждете ответов от посетителей узла ("экспертов"), утверждающих, что они разбираются в данном предмете. Чаще всего результатом бывает весьма квалифицированный и индивидуальный совет, какой не способна дать ни одна поисковая машина. Когда мы, к примеру, спросили о покупке велосипеда для поездок на работу, эксперт на AskMe поделился списком своих любимых страниц, посвященных велосипеду в городе, а велосипедист-ветеран на Abuzz выдал памятку, которую следовало взять с собой в велосипедный магазин. Ответ на таких узлах дается не сразу, но очень часто вы получите его в течение часа или двух.
4. Основные характеристики поисковой системы
Основные характеристики поисковых систем, состоят в следующем:
Полнота
Полнота - одна из основных характеристик поисковой системы, представляющая собой отношение количества найденных по запросу документов к общему числу документов в сети Интернет, удовлетворяющих данному запросу. К примеру, если в Интернете имеется 100 страниц, содержащих словосочетание «как выбрать автомобиль», а по соответствующему запросу было найдено всего 60 из них, то полнота поиска будет 0,6. Очевидно, что чем полнее поиск, тем меньше вероятность того, что пользователь не найдет нужный ему документ, при условии, что он вообще существует в Интернете.
Точность
Точность - еще одна основная характеристика поисковой машины, которая определяется степенью соответствия найденных документов запросу пользователя. Например, если по запросу «как выбрать автомобиль» находится 100 документов, в 50 из них содержится словосочетание «как выбрать автомобиль», а в остальных просто наличествуют эти слова («как правильно выбрать магнитолу и установить в автомобиль»), то точность поиска считается равной 50/100 (=0,5). Чем точнее поиск, тем быстрее пользователь найдет нужные ему документы, тем меньше различного рода «мусора» среди них будет встречаться, тем реже найденные документы не будут соответствовать запросу.