Релевантные пассажи

12 3
Analitik2000
На сайте с 11.09.2006
Offline
5
6676

В общем, всем «здрасьте». Вопрос следующий…

Хотел тут примерно посчитать текстовую релевантность. Выделить все факторы, согнать их в формулу и потом написать скриптик. Но столкнулся с некоторой проблемой… и так по порядку…

Изучив главным образом статью «Яндекс на Ромип 2004» и начитавшись сообщений с форума, решил попробовать научиться определять релевантность текста относительно какого-либо запроса. Для начала допустил, что главным образом нам нужно считать количество релевантных пассажей в общей массе, затем учитывать форматирование слова в пассаже полюс давать некоторые баллы за пассаж-title и т.п. (Ничего тут не придумывал – все из статьи). Для однословных запросов все не так сложно: релевантный пассаж – пассаж, содержащий ключевое слово хотя бы раз. Можно найти общее количество пассажей, экспериментально определить влияние тегов форматирования и других факторов. Короче, все не так сложно.

НО!!! Что же делать с многословными запросами? Теоретически здесь все будет аналогично – пассаж, содержащий все слова запроса – релевантный, пассаж, содержащий одно слово – нерелевантный. Но на самом-то деле все не так!…

Во-первых (от сюда и далее – мои догадки, основанные на информации из разных форумов) начинает действовать кворум. Как он считается, нас учил Миныч, однако он писал формулу словами и так, как я ее разобрал - она ни фига не действует. Вот она - Сумма_по_словам_из_кворума(вес_слова^0,38)>=

(1-мягкость)^sqrt(число_слов_запроса-1)*Сумма_по_всем_словам_запроса(вес_слова^0,38).

Так вот, уважаемый Миныч! Сумма_по_всем_словам_запроса(вес_слова^0,38) должна быть в степени или нет? Если да, то что-то не получается посчитать…

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

А как быть с неполными пассажами – вообще их отбрасывать при анализе или нет? Ну в общем ладно, не так сложно…

Но тут еще свое слово говорит колдунщик. Например, он выдает нам:

text=точно ртуть алоэ&reqtext=(точно::3586 &&/(-7 7) ртуть::320470 & алоэ::715521)//6&dsn=325&d=5560485&sh=3&sg=9

(«точно ртуть алоэ» - альбом группы Мумий тролль :-) )

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

Может кто подскажет…

P
На сайте с 14.06.2005
Offline
14
#1

Analitik2000,

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

Всё дело в позиции...
Analitik2000
На сайте с 11.09.2006
Offline
5
#2

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

ХренРедькиНеСлаще
На сайте с 27.07.2006
Offline
57
#3

Analitik2000, не количество пассажей, а от каждой словопозиции после итераций получается некоторый вклад.

Конечно, для многословных запросов, все посложнее.

Например, операторы " " (аналог & или &&) и оператор "|" по разному вклад вносят.

Для кворума Вам легче самому повторить запросик-экспериментик. например задайте для какойнить Вашей странички на которой есть слово1 и нет слова2) запросик вида:

(слово1::вес1 слово2::вес3)//мягкость

поиграйтесь, изменяя вес1, вес2, мягкость и найдите такие вес1 (или вес2), что при изменении веса на +-1 Ваша страничка то находится, то не находится.

Зафиксируйте эти вес1, вес2, мягкость и сами проверьте формулу.

Пример:

http://www.yandex.ru/yandsearch?rpt=rad&text=%28Analitik2000%3A%3A2000+mhtgfds%3A%3A2000%29%2F%2F50

http://www.yandex.ru/yandsearch?rpt=rad&text=%28Analitik2000%3A%3A2000+mhtgfds%3A%3A2001%29%2F%2F50

Дайте мне рюмку опоры и мир засветится всеми цветами радуги.
Analitik2000
На сайте с 11.09.2006
Offline
5
#4

ХренРедькиНеСлаще, веса слова - величина постоянная (от апдейта к апдейту незначительно меняющаяся), разве не так? Да и мягкость обычно = 6... В любом случае все это можно найти через строку запроса Яндекса...

А вот где в формуле кворума степень или логарифм - простым перебором сложно найти...

P
На сайте с 14.06.2005
Offline
14
#5

Analitik2000, по сути количество - одна из переменных. точнее количество точных вхождений.

ХренРедькиНеСлаще
На сайте с 27.07.2006
Offline
57
#6

Для кворума Яндекс позволяет вес глобальный задавать прямо в запросе (через двойное двоеточие)

То же и для мягкости, это сейчас по умолчанию она часто равна 6.

Но по нынешнему хелпу самого Яндекса // есть стандартный оператор и его можно менять (я для простоты взял в примере 50, так как время мое это деньги :) и его надо беречь)

Логарифма в кворуме нет, там только степень, вроде была раньше 0.38, но ведь Яндекс и ее запросто может поменять в любой момент.

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

типа при нахождении этой грани (находится не находится) должно выполняться соотношение:

вес1^0.38/(вес1^0.38 + вес2^0.38) = мягкость/100

Analitik2000
На сайте с 11.09.2006
Offline
5
#7
ХренРедькиНеСлаще:
Для кворума Яндекс позволяет вес глобальный задавать прямо в запросе (через двойное двоеточие)
То же и для мягкости, это сейчас по умолчанию она часто равна 6.
Но по нынешнему хелпу самого Яндекса // есть стандартный оператор и его можно менять (я для простоты взял в примере 50, так как время мое это деньги :) и его надо беречь)

Логарифма в кворуме нет, там только степень, вроде была раньше 0.38, но ведь Яндекс и ее запросто может поменять в любой момент.

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

типа при нахождении этой грани (находится не находится) должно выполняться соотношение:

вес1^0.38/(вес1^0.38 + вес2^0.38) = мягкость/100

______________

Понял в чем суть игры с весом слова :-) Подбирал-подбирал, получилось, что степень =0,56 , а не 0,38. Точность (проверял на небольшой выборке) +/- 500 единиц веса... Будем дальше работать... 😮

ХренРедькиНеСлаще
На сайте с 27.07.2006
Offline
57
#8

Проверьте также соотношение в другом виде, иногда из-за этого путаница:

вес1^0.38/(вес1^0.38 + вес2^0.38) = мягкость/100

или

вес2^0.38/(вес1^0.38 + вес2^0.38) = мягкость/100

Тут ведь 1-0.56 примерно равно 0.38

Возьмите вес побольше (можно брать до 2 000 000 000)

A
На сайте с 25.10.2005
Offline
219
#9

Analitik2000,

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

т.е. научиться, вместо Яндекса, самому, определять позицию сайта в серпе?

Простите, но Миныч выяснял только некоторые факторы, которые могут повлиять на позициии в серпе. Полностью смоделировать черный ящик (Яндекс) невозможно по определению.

R
На сайте с 10.05.2006
Offline
111
#10

Так ничего и не понял!

12 3

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