2. Поисковые системы и алгоритмы

2.2. Принцип работы поисковых систем.


Поисковая система состоит из следующих основных компонентов:

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

Crawler (краулер, «путешествующий» паук) – программа, которая автоматически проходит по всем ссылкам, найденным на странице. Выделяет все ссылки, присутствующие на странице. Его задача - определить, куда дальше должен идти паук, основываясь на ссылках или исходя из заранее заданного списка адресов. Краулер, следуя по найденным ссылкам, осуществляет поиск новых документов, еще неизвестных поисковой системе.

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

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

   Search engine results engine (система выдачи результатов) – извлекает результаты поиска из базы данных. Система выдачи результатов занимается ранжированием страниц. Она решает, какие страницы удовлетворяют запросу пользователя, и в каком порядке они должны быть отсортированы. Это происходит согласно алгоритмам ранжирования поисковой системы. Эта информация является наиболее ценной и интересной для нас – именно с этим компонентом поисковой системы взаимодействует оптимизатор, пытаясь улучшить позиции сайта в выдаче.

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

Поисковый сервер работает следующим образом:

  • Полученный от пользователя запрос подвергается морфологическому анализу. Генерируется информационное окружение каждого документа, содержащегося в базе (которое и будет впоследствии отображено в виде сниппета, то есть соответствующей запросу текстовой информации на странице выдачи результатов поиска).
  • Полученные данные передаются в качестве входных параметров специальному модулю ранжирования. Происходит обработка данных по всем документам, в результате чего, для каждого документа рассчитывается собственный рейтинг, характеризующий релевантность запроса, введенного пользователем, и различных составляющих этого документа, хранящихся в индексе поисковой системы.
  • В зависимости от выбора пользователя этот рейтинг может быть скорректирован дополнительными условиями (например, так называемый «расширенный поиск»).
  • Далее генерируется сниппет, то есть, для каждого найденного документа из таблицы документов извлекаются заголовок, краткая аннотация, наиболее соответствующая запросу и ссылка на сам документ, причем найденные слова подсвечиваются.
  • Полученные результаты поиска передаются пользователю в виде SERP (Search Engine Result Page) – страницы выдачи поисковых результатов.

Как видно, все эти компоненты тесно связаны друг с другом и работают во взаимодействии, образовывая четкий, достаточно сложный механизм работы поисковой системы, требующий огромных затрат ресурсов.
   Детальная реализация поисковых механизмов может отличаться друг от друга (например, связка Spider+Crawler+Indexer может быть выполнена в виде единой программы, которая скачивает известные веб-страницы, анализирует их и ищет по ссылкам новые ресурсы), однако всем поисковым системам присущи описанные общие черты.

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

1.     Информационные запросы. Пользователь ищет определенную информацию, не заботясь о том, на каком именно веб-сайте он ее обнаружит.
2.     Навигационные запросы. Пользователь ищет сайт, где, по его предположению, содержится интересующая его информация.
3.     Транзакционные запросы. В формулировке запроса пользователь выражает свою готовность совершить какое-либо действие.
Для каждого поискового запроса поисковики, как правило, выполняют следующую последовательность действий.
  • Принимают поисковый запрос и проверяют его на содержание специфических команд, а также проверяют его на ошибки и в случае обнаружения последних предлагают правильный или более популярный запрос.
  • Проверяют, соответствует ли запрос вертикальным поисковым базам данных (поиск по новостям или продуктам) и в случае совпадения, располагают вертикальные результаты рядом с основными.
  • Собирают список страницы из органического поиска. Эти результаты располагаются в зависимости от содержания страницы, а также от показателя индекса цитирования.
  • Запрашивают список соответствующих рекламных объявлений, для того чтобы расположить его рядом с результатами.

Алгоритм поиска информации поисковой системой выглядит следующим образом:

  • Пользователь вводит запрос на естественном языке.
  • Далее на этапе обработки запроса из него извлекаются ключевые слова; выбрасываются стоп -слова; осуществляется расширение запроса синонимами и т.д.
  • Преобразованный запрос отправляется на несколько информационных источников.
  • Отклики источников обрабатываются, из них выделяются найденные документы и помещаются в полнотекстовую базу данных системы.
  • Запрос пользователя и найденные документы подвергаются лингвистическому анализу, включающему морфологический, синтаксический и семантический анализ.
  • По результатам обработки проводится сравнение образов и вычисление релевантности.
  • Найденные документы фильтруются и сортируются в соответствии с вычисленной на предыдущем этапе релевантностью. Низкорелевантные документы отбрасываются.
  • Результаты поиска выдаются пользователю.
  • Алгоритм работы поисковой системы:



     
    Существует два основных фактора, по которым страницы, имеющиеся в базе поисковика, будут отсортированы при выдаче. Это релевантность и авторитетность (ИЦ, PR).

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

    Читать дальше

    Поскольку проект существует на бесплатной основе, то Вы можете пожертвовать немного денег на его развитие...

    рублей Яндекс.Деньгами
    на счёт 41001108124457 (Бесплатное обучение раскрутке сайта)