Принцип работы ипс Яндекс
Логическую структуру поисковой системы можно представить в виде трех модулей:
-
Робот (краулер)
-
База данных
-
Клиентская часть
Робот (краулер, crawler) – специальная программа, которая обходит интернет-сайты и загружает их содержимое. У робота есть специальное расписание, согласно которому он осуществляет свой обход. Страницы сайта, загруженные роботом, специальным образом обрабатываются и помещаются на хранение в базу данных.
Самая важная часть поисковой системы – клиентская, которая отвечает за обработку запросов пользователей и выдачу им результатов поиска. Для того чтобы выдавать на каждый запрос пользователя релевантные результаты, Яндекс ищет в своей базе все документы, отвечающие на запрос пользователя и выдает те, которые лучше всего отвечают на запрос. При этом в выдаче поисковой системы все сайты отсортированы по убыванию их релевантности запросу пользователю.
Яндекс использует формулу ранжирования основанную на системе машинного обучения под названием MatrixNet. В MatrixNet построением формулы релевантности занимается алгоритм, которому на вход подаются оценки сделанные специальными людьми (асессорами Яндекса).
Эти самые асессоры выносят оценки определенному количеству сайтов по определенному количеству поисковых запросов — таким образом осуществляется обучение алгоритма, который подробно изучает помеченные асессорами хорошие и плохие сайты, выделяет факторы, по которым можно их ранжировать и уже потом, опираясь на эти самые факторы, сам пытается отделить зерна от плевел в масштабах всего Интернета.
При определении релевантности в Яндексе учитывается более 400 факторов ранжирования. Причем, эти факторы могут учитываться как отдельно, так и в качестве мономов (произведение нескольких факторов). Следовательно, если один из факторов в мономе будет нулевой, то он может свести на нет и влияние других, не нулевых факторов ранжирования.
Что примечательно, в Яндексе используются отдельные формулы релевантности для полутора десятков крупных городов России, отдельные формулы для стран СНГ (Белоруссия, Казахстан и Украна) и Турции. Т.о. алгоритм, используемый в Яндексе для ранжирования сайтов, работает в автоматическом режиме, однако иногда используются и полуавтоматические и ручные действия, направленные на корректировку поисковой выдачи в сторону повышения ее релевантности.
Итак, представим упрощенно, что происходит в Яндексе, когда пользователь задает запрос, например, «пластиковые окна».
Запрос обрабатывается синтаксическим анализатором, приводится к начальной форме. Далее по базе ищутся все документы, содержащие слова «пластиковый» и «окно». Естественно, Яндекс не производит прямой поиск информации по всем документам в базе. Вся информация содержится в виде т.н. «обратного индекса», т.е. для каждого слова указаны порядковые номера документов, где содержится это слово и позиции данного слова в документе. Аналогом обратного индекса является, например, алфавитный указатель в книге, где указано, на какой странице встречается тот или иной термин и вы можете с легкостью найти информацию, не пролистывая всю книгу.
После этого для всех документов, которые содержат слова «пластиковый» и «окно» считается значение релевантности. Далее документы ранжируются по убыванию релевантности, и формируется выдача.
