Основные алгоритмы поисковой системы

K
На сайте с 18.08.2010
Offline
23
2794

Хорошая поисковая система не пытается выдать страницы, которые лучше всего соответствуют входному запросу. Хорошая поисковая система пытается ответить на основной вопрос. Если Вы понимаете это, то поймете, почему Google (и другие поисковые системы) используют сложный алгоритм для определения того, какие результаты они должны отдавать по тем или иным запросам.

Факторы алгоритма влияющие на ранжирование состоят из точных факторов – количество обратных ссылок и, возможно, некоторых социальных сигналов, такие как кнопки like и +1. Это, как правило, внешние воздействия. Еще есть внутренние факторы непосредственно на самой странице.

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

В этой статье я подробно расскажу про проблемы поисковика и кое-что объясню дополнительно. К сожалению, я не раскрываю алгоритм Google в конце этой статьи, но мы на один шаг приблизимся к тому, чтобы лучше понять изнанку некоторых советов, которые мы часто даем в роли seo-специалистов.

Будут некоторые формулы, но не паникуйте. Эта статья не только о формулах (кроме того, в тексте есть ссылка на файл-калькулятор в формате.xls). И еще кое-что: я буду иллюстрировать некоторые описания фотографиями голландских котлет :).

Смотрите: длинные крокеты и круглые тефтели

Правда или ложь

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

Кроме того, вы могли использовать операторы И, ИЛИ и НЕТ для поиска документов, которые содержали несколько терминов или исключали термины. Звучит достаточно просто, но с этим есть некоторые проблемы. Предположим, у нас есть два документа с такими текстами:

Док1
«И наш ресторан в Нью-Йорке подает крокеты и тефтели.»

Док2
«В Голландии Вы получаете крокеты и тефтели с прилавка.»

Ой, чуть не забыл показать вам фрикадельки :)

Если мы должны построить поисковую систему, первый шаг – это разметка текста. Мы хотим иметь возможность быстро определить, какие документы содержат термин. Будет легче, если мы сложим маркеры в базу данных. Один маркер – какой-либо единственный термин в тексте. Итак, сколько маркеров содержит Док1?

В тот момент, когда вы начали отвечать на этот вопрос, вы, наверное, подумали об определении «термина». В действительности, в этом примере «Нью-Йорк» может быть признан одним термином. Способ, которым мы можем определить, что два слова являются одним, выходит за рамки этой статьи, так что на данный момент мы отслеживаем одно слово как отдельную лексему.

Таким образом, мы имеем 10 маркеров в первом документе и 11 во втором. Чтобы избежать дублирования информации в нашей базе данных, мы сохраним типы, а не маркеры.

Типы – это уникальные маркеры в тексте. В примере Док1 дважды содержится маркер «И» (И наш ресторан в Нью-Йорке подает крокеты и тефтели.)

В этом примере я игнорирую то, что «И» появляется один раз с, и еще один раз – без сохранения ценности термина. Как и с определением термина, есть методы, которые указывают, должно ли что-то быть использовано, как имеющее отдельную ценность. В этом случае мы предполагаем, что нет, и что «И» и «и» относятся к одинаковому типу.

Храня все типы в базе данных с документами, где мы можем их найти, мы в состоянии искать в пределах базы данных с помощью логических операторов. Запрос «крокеты» приведет нас и к Дoк1 и Док2, а запрос «крокет и тефтели» вернет результатом только Док1.

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

Если бы вы были Google, то какие факторы на странице использовали бы для организации результатов?

Читать дальше на блоге Авеб.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий