Последние новости IT- технологий

Заработай на блоге, просто! Регистрация

пятница, 20 ноября 2009 г.

Обзор алгоритма "Снежинск", перспективы развития разных подходов к моделированию формулы ранжирования и выявлению новых факторов.

В этом обзоре я постарался минимизировать математические термины, поскольку не многие могут похвастаться отличными знаниями в этой области. SEO, по большей части все-таки наука «гуманитарная», следовательно, и объяснять нужно все это массам попроще, так сказать. Также, в данной статье будут подробно рассмотрены перспективы создания математической модели на основе генетического алгоритма, Оценены ее плюсы и минусы на доступном языке, а также будет предложен альтернативный не математический путь выявления факторов ранжирования и их оценки. И в заключении, я постараюсь-таки дать Пэтро ответ на вопрос «Шо делать?» Часть первая. Анализ презентации доклада Яндекса. Основным источником анализа является презентация доклада Яндекса, англоязычный вариант доступен по адресу, Русскоязычная версия. Основная задача любой поисковой системы - это ранжирование (упорядочивание) коллекции документов по степени соответствия их запросу.

Для решения подобных задач используются функции релевантности, Которые позволяют дать количественную оценку соответствия документа запросу. Построение хорошей функции ранжирования - задача не тривиальная и относится к классу оптимизационных. В таких задачах может существовать множество различных решений и необходимо выбрать оптимальное решение на основе заданных условий. Подобные задачи часто решаются с помощью «жадных» алгоритмов. Основная идея таких алгоритмов - на каждом шаге получить оптимальное решение, предполагая, что конечное решение также окажется оптимальным. Для большего понимания, что же такое «жадный» алгоритм и почему он жадный, рассмотрим следующий пример. Предположим, нам необходимо найти площадь какой-то сложной фигуры. Для решения данной задачи берем квадрат такого размера, который «отъест» максимум площади этой фигуры, а то, что останется, в свою очередь, мы «отъедим» другими квадратами, которые тоже впишутся в остатки площади по-максимуму. Согласитесь, есть в этом алгоритме что-то от жадности. Вернемся к алгоритму «Снежинск».

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

Направление и длина новой функции определяется градиентной аппроксимацией. В качестве аргументов для этих функций выступают как сами факторы, так и функции от этих факторов. Данный процесс обучения бесконечный и при добавлении новой функции общая формула релевантности будет претерпевать изменения, и общий вклад каждого фактора в значение функции релевантности будет меняться. Таким образом, функция релевантности является линейной комбинацией найденных функций и выглядит как полином от N переменных: где N достигает нескольких тысяч. В начале обучения алгоритм ранжирования выдает несколько «топорные» результаты, но в процессе обучения он совершенствует свои знания и принимает все более очеловеченное лицо, стремясь взглянуть на документы глазами пользователя, имитацией которого выступают асессоры. В докладе Яндекса на РОМИП'2009

«Оптимизация алгоритмов ранжирования методами машинного обучения» говорится, что «... требование о построении приближения оценки релевантности является более сильным, чем требование о построении правильного порядка документов, поэтому мы использовали в качестве целевого функционала для задачи оптимизации другую функцию - pfound ». Данная функция оценивает вероятность того, что пользователь, просматривая результаты поиска последовательно сверху вниз, найдет релевантный документ, либо прекратит поиск (к примеру, по причине «надоело»). Исходя из высказываний И. Кураленко на семинаре Яндекса в 2008 году: «Поведение пользователей на выдаче является еще одним перспективным типом данных ...», с высокой вероятностью можно предположить, что метрика pfound участвует в формировании коэффициентов функции ранжирования и тем самым пользователи влияют на процесс обучения.

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

Я считаю, что для достижения максимального результата в исследовательской деятельности, нужно сочетать и математические методы, И маркетинговые подходы. Далее я предлагаю рассмотреть два подхода, каждый из которых имеет право на жизнь, и каждый читатель сам определится, что ему ближе. Часть вторая. Вычисление весов параметров функции ранжирования Яндекса с помощью генетического программирования. Генетические алгоритмы навеяны теорией эволюции. В начале выбирается несколько случайных решений, образующих популяцию, затем отбираются сильнейшие члены популяции и модифицируются путем внесения небольших изменений (мутаций) или комбинирования характеристик (скрещиваний).

В результате создается новая популяция, которая называется следующим поколением. После смены нескольких поколений решения улучшаются. Процесс прекращается по достижении некоторого порога: либо когда на протяжении N-поколений не наблюдалось заметного улучшения популяции, либо после смены максимального числа поколений. Алгоритм возвращает наилучшее среди всех поколений решение. любом способе оптимизации изначально имеется некоторая метрика или алгоритм, и мы пытаемся подобрать для него наилучшие параметры.


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

Вес признака В качестве признаков можно взять слагаемые из функции ранжирования Яндекса на. Веса параметров мы и будем вычислять с помощью генетического алгоритма. Ранжирование особей. Для ранжирования особей необходимо определить меру измерения качества результата работы особи в популяции. Для этого сравниваем результаты нашей выдачи с выдачей Яндекса и суммируем модули разности позиций нашей выдачи и выдачи Яндекса каждого документа. Чем меньше мера качества, тем лучше популяция. Так же рекомендую поэкспериментировать с дополнительными параметрами, задаваемыми функции ранжирования особей.

Например, количество документов, чья позиция отличается от Яндекса не более чем на 5 единиц. И так далее. В результате получаем веса признаков для функции ранжирования. Проблемы, с которыми можно столкнуться: Полином получится приближенным, при этом не стоит забывать о том, что на веса в функции ранжирования Яндекса оказывают влияние асессоры, после чего Яндекс дообучает свою функцию ранжирования, пытаясь найти хорошие результаты среди средних и худших, добавляя им «бонусы» за похожесть их на лучшие результаты (См. п.3 «Описание экспериментов»). Учитывая этот факт, можно, например, прогонять генетический алгоритм только на первых N результатах выдачи. Так как полный набор факторов, используемый Яндексом, нам неизвестен, то веса этих факторов, «расплываясь» по весам известных, будут усложнять решение поставленной задачи.

Кроме того, существует целое семейство поведенческих факторов, о которых упоминалось на семинарах Яндекса и совершенно неизученных оптимизаторами. Учитывая временные затраты на поиск конкретного решения, нельзя гарантировать, что оно будет актуальным после очередного апдейта. Есть вероятность застрять в локальном Часть третья. Выявление факторов ранжирования «Снежинска» при помощи маркетинговых методов исследования. Асессоры - люди, оценивающие качество сайтов по специальной форме, дообучают формулу ранжирования при следующей итерации. Эти оценки влияют на коэффициенты тех самых «странных» функций. Формат оценки достаточно примитивен и подробно описан в РОМИП'2009. Следует помнить, что асессоры это, по сути, имитаторы пользователей, и им приходится оценивать коммерческие сайты на релевантность, В том числе в профессиональных тематиках.

Понятно, что без специальных знаний в предметной области, это сделать очень проблематично, для этого они должны быть членами клуба «Что? Где? Когда? »Как минимум. Проблема такой предварительной оценки релевантности документов профессионального плана может решаться только при помощи оценки самих пользователей, которые прекрасно разбираются в своей теме. Стремясь к очеловечиванию выдачи, в «Снежинск» и включили поведенческие характеристики, статистика которых как раз и указывает на отношение релевантностей документов как внутри сайта, так и по отношению к другим тематическим ресурсам. Эта статистика существенно помогает асессорам более грамотно расставлять веса функциям релевантности касательно таких документов. Таким образом, можно говорить о том, что поведение пользователей, через асессоров, влияет на результаты выдачи. Асессоры лишь корректируют оценки, рассчитанные на основании поведения пользователей, и задают алгоритму правильный вектор обучения.

Рассмотренными выше алгоритмическими методиками, которые сейчас активно обсуждаются, практически невозможно выделить веса функций релевантности для этих качественных «странных и диких» параметров (это вам не количественные параметры, касающиеся точного вхождения весов применимости TF / IDF и пр.) К тому же, для разных сайтов даже одной тематики, как показывают формулы, эти параметры динамические, т.е. могут сыграть, а могут не сыграть при своих условиях. Для их выявления требуется существенное расширение экспериментальной базы «живых» сайтов (сателлиты не подходят), которая должна содержать множество сайтов одной тематики, а общее число их должно быть, по моим оценкам, не менее 300-400, иначе исследования подобного рода вообще теряют смысл. Подобное моделирование мы будем использовать для количественных параметров, поскольку имеющиеся уже устарели.

А тем временем кондиционеры Дайкин в интернет магазине кондиционеров Есть в наличии в Москве не дорого, доставка со склада.

Для семейства поведенческих факторов гораздо эффективнее находить коэффициенты для общей формулы ранжирования непосредственно из бизнес-модели клиента путем маркетингового исследования последней. Опираясь на стандартный набор маркетинговых характеристик, снимаемый со счетчика Google Analytics с их последующей классификацией: возрастные характеристики, информационную архитектуру и т.д. Формирование весов этих факторов и подстановка их значений в общую модель уже имеющейся формулы по классическим факторам, может позволить эффективно решить проблему в новом и последующих алгоритмах. Я рекомендую мелким и средним компаниям SEO, не обладающих достаточным ресурсом для построения сложных алгоритмических моделей, использовать имеющийся опыт и искать полином поведенческих факторов. Таким образом, вы сможете достаточно быстро найти для имеющихся у вас сайтов наиболее важные характеристики, которые сыграют именно в вашей модели, поскольку с большой вероятностью совпадут с эталонными значениями у Яндекса.

Качественное и не дорогое продвижение сайтов с поисковых системах Яндекс и Гугл в компании http://julkin.ru. Этий команде не по чем разные алгоритмы поисковых систем, они не туаят, а работают, как порядочные люди и выводят не менее 75% запросов в ТОП 10 поисковых систем. Добро пожаловать, будем рады сотрудничеству.

Искать каких-то точных соотношений между найденными параметрами (типа процент отказов при трафике 230 должен быть 65%) и применять их на сайты других тематик бессмысленно, ибо нех. Обращаю ваше внимание, что речь идет не об эксклюзивных работах по маркетинговому аудиту и, Которые проводились лидерами SEO всегда и за большие деньги, а о массовом применении маркетингового подхода в SEO отрасли. Как вы понимаете, это совершенно разные вещи и обеспечить достойное качество подобных работ при низкой стоимости невозможно без отработанной конвейерной схемы и соответствующих методик. Заказчик уже не сможет рассчитывать на успех продвижения сайта силами местного админа, покупавшего ссылки на линкофермах, поскольку Яндекс нанес по индустрии Г.С. сокрушительный удар. Тематика и объем статьи не позволяют осветить эту проблему более детально, поэтому хотелось бы завершить этот обзор ПОЗДРАВЛЕНИЕМ Яндекса со значительным прорывом в области очеловечивания поисковых систем.С уважением,

Эдуард Семенович Снежинский, человек и алгоритм компании Altegroup Источник: компания Altegroup

3 комментария:

Дэн комментирует...

Спасибо, Эдуард!
Здесь вы далеко превзошли свою статью, опубликованную на Сеоньюс)

Alexei комментирует...

Я вот математик и считаю, что сео это не сильно гуманитарная вещь. Просто это не школьная математика, а высшая математика.
Но это так, детали. Собственно по поводу текста. Во-первых, всё что вы писали, предполагает, что алгоритм этот приводит к идеальному ранжированию. В действительности же, никто не знает, что такое идеальное ранжирование. Вся выдача Яндекса это не правильная модель, это то, что удовлетворяет посетителей. Если им нравится выдача, то всё нормально. Пусть даже есть выдача лучше (к примеру, Гугл). Во-вторых, зря вы пишите, что мелким оптимизаторам нечего будет делать. По большому счету, никому не нужен идеал. К тому в этом алгоритме идеал меняется каждый ап. Мораль: нужно делать простые действия и стараться оказаться ближе к идеалу, чем другие. В-третьих, ГС вообще никак не помешает яндекс. ГС делаются не для трафика, а для продажи (установке) ссылок. А от ссылочного ранжирования Яндекс отказаться не сможет, можете даже не сомневаться.

ИМХО, всё что сделал Снежинск - над сайтами придётся больше работать. В этом плане возрастут заработки тех, кто умеет это делать.

Den комментирует...

Очень полезная статья, я считаю.