Шрифт:
Интервал:
Закладка:
3. Краулер (crawler). Это приложение призвано перемещаться по ссылкам, имеющимся на скачанной пауком странице. Краулер анализирует пути, ведущие с текущей страницы на другие разделы сайта, или на страницы внешних Интернет ресурсов и определяет дальнейший порядок обхода пауком нитей всемирной паутины. Именно краулер находит новые для поисковой машины страницы и передает их пауку. Работа краулера построена на базе алгоритмов поиска на графах в ширину и глубину.
4. Подсистема обработки и выдачи результатов (Search Engine and Results Engine). Самая важная часть любой поисковой машины. Алгоритмы работы этой подсистемы компании разработчики хранят в строгой секретности, поскольку они являют собой коммерческую тайну. Именно эта часть поисковой машины отвечает за адекватность ответа поисковой системы на запрос пользователя. Здесь можно выделить два основных компонента:
• Подсистема ранжировапия. Ранжирование – это сортировка страниц интернет сайтов в соответствии с их релевантностью определенному запросу. Релевантность страницы – это, в свою очередь, степень соответствия содержания страницы смыслу запроса, и эту величину поисковая машина определяет самостоятельно, исходя из огромного количества параметров. Ранжирование – эта самая загадочная и спорная часть «искусственного интеллекта» поисковой машины. На ранжирование страницы, помимо ее структуры и содержимого (контента) также влияют: количество и качество ссылок, ведущих на данную страницу с других сайтов; возраст домена самого сайта; характер поведения пользователей, просматривающих страницу и многие другие факторы.
• Подсистема выдачи результатов. В задачи этой подсистемы входит интерпретация пользовательского запроса, его перевод на язык структурированных запросов к индексу и формирование страниц результатов поиска.
Помимо разбора самого текста запроса, поисковая машина может также учитывать контекст запроса, формируемый исходя из смысла ранее осуществленных пользователем запросов. Так, например, если пользователь часто посещает сайты на автомобильные темы, то на запрос со словом «Волга» или «Ока» он, вероятно, хочет получить информацию об автомобилях этих марок, а не о том, откуда начинают свое течение и куда впадают одноименные русские реки. Это называется персонализированным поиском, когда выдача на один и тот же запрос для разных пользователей существенно отличается. Таким образом, речь идет о пользовательских предпочтениях, о которых поисковая машина может «догадываться», анализируя выбираемые пользователем ссылки на страницах результатов поиска. Это еще один способ скорректировать контекст запроса: пользователь своими действиями как бы подсказывает машине, что именно он хочет найти. Как правило, поисковые машины в результаты поиска стараются добавлять страницы, релевантные запросу, но относящиеся к довольно разным сферам жизни. Еще один важный момент, который учитывает поисковая машина, – это регион проживания пользователя, особенно при обработке коммерческих запросов, связанных с приобретением товаров и услуг у местных поставщиков. Если человек интересуется распродажами и скидками в торговых центрах города Москвы, в котором он проживает, то скорее всего, ему не интересно, какие акции на эту тему проводятся в Санкт-Петербурге, если только пользователь не указал этот город в тексте запроса. В первую очередь в результатах поиска должна появиться информация о распродажах в Москве. Следовательно, современные поисковые машины делят запросы на геозависимые и геонезависимые. Если поисковая система решает, что запрос Интернет пользователя геозависимый, то она автоматически добавляет к нему признак региона, который пытается определить по информации об Интернет провайдере данного пользователя.
Поисковым машинам иногда приходится анализировать, когда имели место события, описываемые на странице. Ведь информация постоянно устаревает, а пользователю нужны в первую очередь ссылки на самые последние новости, актуальные прогнозы и анонсы событий, которые еще не завершились или должны наступить в будущем. Понять, что актуальность страницы зависит от времени, и сопоставить ее с моментом выполнения запроса также требует от поисковой машины изрядной доли интеллекта.
Далее, поисковая машина ищет ближайший по смыслу ключевой запрос в индексе и формирует результаты, сортируя ссылки в порядке убывания их релевантности. Каждому ключевому запросу в индексе соответствует отдельный рейтинг страниц, релевантных ему. Не на каждое сочетание букв и цифр система заводит новый ключевой запрос, а делает это на основе анализа частоты тех или иных пользовательских запросов.
Поисковая машина может также перемешивать в результатах поиска рейтинги из разных ключевых запросов, если посчитает, что пользователю нужно именно это. Разработчики поисковых систем затрачивают большие усилия, направленные на то, чтобы «очистить» результаты своей поисковой выдачи от разного рода информационного мусора, то есть спама (spam).
Поисковая машина при поддержке входящих в нее приложений (пауков и краулеров) постоянно сканирует Интернет на предмет появления новых и обновления существующих страниц, поскольку неактуальная информация ценится ниже.
Поисковая машина периодически обновляет ранжирование ресурсов по их релевантности ключевым запросам, поскольку в индексе постоянно появляются новые страницы. Этот процесс называют обновлением (updating) поисковой выдачи.
В силу огромных объемов информации, размещенной во всемирной паутине и ограниченности ресурсов самой поисковой системы, поисковая машина всегда старается загружать только самое (по ее мнению) необходимое. В ее арсенале имеются всевозможные фильтры, которые отсекают многое ненужное уже на этапе индексации или выкидывают спам из индекса по результатам обновления поисковой выдачи.
Современные поисковые системы в ходе анализа запроса стараются учитывать не только текст самого запроса, но и его окружение: контекст и предпочтения пользователя, о которых было сказано ранее, а также время запроса, регион и многое другое.
На релевантность конкретной страницы влияют не только внутренние ее параметры (структура, содержание), но и внешние параметры, такие как ссылки на страницу с других сайтов и поведение пользователя при ее просмотре.
Работа поисковых систем постоянно совершенствуется. Идеальная работа поисковой машины (для человека) возможна только в том случае, если все решения, касающиеся индексации и ранжирования будет принимать комиссия, состоящая из большого числа специалистов всех областей и направлений человеческой деятельности. Поскольку это нереально, то такую комиссию заменяют экспертные системы, эвристические алгоритмы поиска и прочие элементы искусственного интеллекта. Вероятно, работа всех этих подсистем также могла бы давать более адекватные результаты, если бы была возможность обрабатывать абсолютно все данные, имеющиеся в открытом доступе в интернете, но и это практически невозможно. Несовершенный искусственный интеллект и ограниченность ресурсов – две основные причины того, что результаты поисковой выдачи не всегда радуют пользователей, но все это корректируется временем. Сегодня работа наиболее известных и крупных поисковых систем таких, как Google, Yahoo, Bing, Baidu, Яндекс, Рамблер, Nigma вполне соответствует потребностям и ожиданиям их пользователей.
Вопросы для самоконтроля