Машинное обучение на службе у оптимизаторов

12
M-Borman
На сайте с 12.05.2007
Offline
83
2593

Когда-то давно делал такую штуку (я не математик и не программист, опишу простыми словами):

1) Брал несколько коммерческих нч запросов близкой тематики (хотелось взять запросы на которые минимум бы влияли пФ и для которых, предположительно одинаково рассчитывается релевантность )

2) Вбивал эти запросы в allsubmitter и парсил ТОП30 сайтов по каждому из запросов.

3) Парсил все возможные параметры (P) для каждого сайта, которые только мог allsubmitter и Solomono по каждому сайту (около 40 насколько помню).

4) Все спарсенные параметры привел к одной «размерности» (не знаю как это точно называется)

5) Забацал несколько вариантов формул, для наглядности напишу просто:

6) Релевантность = P1*K1+P2*K2+…

7) Скрипт наугад генерирует коэффициент (K) для каждого параметра, подставляет эти коэффициенты для параметров каждого сайта и получает значение релевантности для каждого сайта. Например, получаем топ1=40 релевантность, топ2= 180, топ3 =20. и т.д. до топ30. Бред короче, не соответствует местам в топе.

8) Скрипт подсчитывает насколько значение полученной релевантности сайтов не соответствует положению в реальном топе (например, несоответствие 900, чем меньше тем ближе к реальным местам в топе) .

9) Генерируем коэффициенты 20 раз, выбираем пару наборов коэффициентов («родители»), при которых несоответствие минимально (например, 870 и 860).

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

11) Повторяем пункт 9 и 10 столько раз, пока несоответствие не станет равно нулю.

В результате получаем коэффициенты, которые при подставке в нашу формулу выдают релевантность сайта, которая точно коррелирует с позицией сайта в топе.

Например, Топ1 = 200, топ2= 180, топ3=175 и т.п.

Ну и глядя, на коэффициенты, можно определить какой параметр более значим.

На практике у меня ничего толкового, как и ожидалось (делал с php для чайников), не получилось, «несоответствие» опустилось с 900 где-то до 200, пару раз завис «денвер» из-за кривого кода, понял, что маловато знаний и я забил на это дело. Ну, ещё понимал, что слишком мало параметров сайта спарсено, да и их качество плохое. Нужен свой парсер, сервера, математики и программисты.

В общем, хочу услышать ваши мнения по этому поводу, можно ли спарсить и просчитать сотни или тысячи параметров и подогнать их под формулу Яндекса. Ну типа «мегапультэфекторсолоруки давно уже это сделали» или «это всё не поможет» и другие.

Мое мнение, при хороших ресурсах (математики, программисты, сервера) это выполнимая задача.

W
На сайте с 21.01.2009
Offline
172
#1

Начать можно с того, что вы анализируете параметры сайтов, а в выдаче Яндекса находятся не сайты целиком, а конкретные документы, а параметров документов вы не знаете практически никаких

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

Zaykin
На сайте с 14.01.2008
Offline
110
#2

тема классная, но очень сложная.

как выяснить какому параметру какое значение придал яндекс в ранжировании именно этого сайта? и какой сам яндекс дает коэффициент важности какому параметру и при каких условиях... вобщем это надо самому быть яндексом чтобы разобраться.

а если и разберешься, сайт все равно не продвинется, потому что сам яндекс уже не сможет наверно продвинуть како-либо сайт в совей же системе, опираясь на знания алгоритма, а не руками если поставить.

yanus
На сайте с 21.01.2009
Offline
348
#3

M-Borman, у вас там будет дикая переоптимизация коэффициентов.

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

S
На сайте с 13.06.2010
Offline
55
#4

Надо нейронную сеть прикрутить =))) С тех пор, как написал магистерскую по нейронным сетям, так везде хочу ее прикрутить.

А с ней все просто нужна куча данных о сайтах и их коэффициентах, чтоб база знаний была побольше. База знаний - это классифицированная выборка, так как мы знаем, какое место в выдачи занимает определенный сайт с его коэффициентами. База знаний - это матрица (кол. спарсеных коэф)х(кол. реализаций сайтов). Потом подать все это непотребство на вход нейронной сети и естественно обучить пару эпох.

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

з.ы. кстати интересная идея, надо самому поразмышлять над ней

RDS bar
На сайте с 06.04.2010
Offline
98
#5

10 символов...

RDS плагин для FF (Быстрый анализ seo показателей сайта) - http://www.recipdonor.com/bar/ (http://www.recipdonor.com/bar/) RDS API - десктопная программа для анализа seo показателей http://www.recipdonor.com/rds-api (http://www.recipdonor.com/rds-api)
S
На сайте с 29.01.2006
Offline
404
#6

M-Borman,

можно ли спарсить и просчитать сотни или тысячи параметров и подогнать их под формулу Яндекса

Конечно, можно. Вопрос, сколько сил и денег вы готовы на это потратить.

А если вы через месяц восстановите "формулу Яндекса", а он её сменит на следующий день?

Опять же, есть вещи, которые вы можете взять только из яндекса. Упрощенно говоря, пусть яндекс учитывает количество ссылок на сайт - как вы узнаете, сколько ссылок из имеющихся он уже проиндексировал?

Николай Письменный
На сайте с 15.06.2009
Offline
223
#7
M-Borman:

В общем, хочу услышать ваши мнения по этому поводу, можно ли спарсить и просчитать сотни или тысячи параметров и подогнать их под формулу Яндекса. Ну типа «мегапультэфекторсолоруки давно уже это сделали» или «это всё не поможет» и другие.

Спарсить можно только то что парсится. Яндекс навводил параметры, которых в явном виде нет на сайтах.

при хороших ресурсах (математики, программисты, сервера) это выполнимая задача.

Ради денег не эффективно, SEO отсалось жить на багах и короткоживущих фишках - для практического применения хватает. Если копать маркетинг - он выдает кучу куда более простых решений с куда меньшими ресурсами. Ради искусства математики и программисты пахать долго не будут...

как вы узнаете, сколько ссылок из имеющихся он уже проиндексировал?

Это еще ладно, с некоторой погрешностью можно найти ссылки. Хуже с возрастами-историями, поведенческими, фильтром учета\неучета этих самых ссылок.

P.S. А такую штуку вроде многие пытались делать :) Самый простой апроксиматор для подобных задачек - нейросети. Там уже вся математика подведена, куча модулей для обучения и тестирования понаписано. Но сработает только если задача поставлена корректно (линейная разделяемость и все такое).

Раскрываю все секреты интернет маркетинга на конкретном кейсе (http://ampersant.ru/spravedlivost/): от создания сайта, до итогового результата проекта через год (http://ampersant.ru/spravedlivost/#god). Готовая инструкция как правильно сделать и раскрутить сайт!
M-Borman
На сайте с 12.05.2007
Offline
83
#8
weblad:
Начать можно с того, что вы анализируете параметры сайтов, а в выдаче Яндекса находятся не сайты целиком, а конкретные документы, а параметров документов вы не знаете практически никаких

Там есть плотность ключа в различных тегаг и прочее, это относится к документу. Но да, я писал что и количество и "качество" тех параметров, что я использовал плохое.

как выяснить какому параметру какое значение придал яндекс в ранжировании именно этого сайта?

Ну тут по идее, должна помочь большая выборка.

и какой сам яндекс дает коэффициент важности какому параметру и при каких условиях... вобщем это надо самому быть яндексом чтобы разобраться.

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

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

Надо расширять выборку, наверное, должно помочь. Может у Яндекса и для разных тематик и для типов запросов своя формула, поэтому надо и нашу формулу "обучать" на одном типе запросов в рамках одной тематики.

А если вы через месяц восстановите "формулу Яндекса", а он её сменит на следующий день?

Переобучить формулу:)

Это еще ладно, с некоторой погрешностью можно найти ссылки. Хуже с возрастами-историями, поведенческими, фильтром учета\неучета этих самых ссылок.

Да здесь косяк получается.

Можно всё-таки поискать такие запросы при которых это минимально должно влиять на релевантность (минимум ссылочного, минимум поведеньческого), и обучать свою формулу на этих запросах.

Николай Письменный
На сайте с 15.06.2009
Offline
223
#9
M-Borman:
Можно всё-таки поискать такие запросы при которых это минимально должно влиять на релевантность (минимум ссылочного, минимум поведеньческого), и обучать свою формулу на этих запросах.

Смысл? Вы можете даже на всех запросах начать сеть обучать методом градиентного спуска, она шустренько словит локальный минимум и не выберется оттуда. Это и будет означать довольно корректную работу для довольно узкого отбора примеров, но так не похожего на картину в целом.. (на практике же окажется, что зависимость вообще мнимая, а сеть ее нашла только потому что вы сами сказали алгоритму - ищи здесь!)

а то что яндекс это площадка для контекстной рекламы - иного уже не будет, это можно и без апроксиматоров сказать :)

Yetti3
На сайте с 19.10.2010
Offline
105
#10

Проблема в том что не знаешь какие параметры брать. Ну к примеру тИЦ и PR - это полный хлам, как и множество других показателей..

/ru/forum/comment/10207755

Ведь можно брать как параметр - наличие раздела Новости, вставленного flash элемента на странице, или даже транслита в урле?

И таких параметров очень много (очевидных или не очевидных) и не известно есть ли они в собственно в формуле Яндекса :)

Напишите какие брали вы, если не секрет)

Могу сказать что большинство анализаторов топа и параметров - банально устарели, и если раньше какой нибудь http://www.seolib.ru/script/competitors/ был "мощный инструмент для аналитики" - так у них написано - то ныне просто туфта, извините за грубость..

🍿

12

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