Умно товарищ про Гугль говорит: 26 комментариев

  1. >Так же с понятием Relevant links.
    >Механика определения этой самой Relevant-ности не может стать доминирующей в алгоритме Google
    >и должен иметь внешний источник сходный имеющимся директориям.

    Relevant links – если не дословно переводить, то это, по типу, "тематические ссылки"?
    Если да, то есть мнение, что степень тематичности ссылок можно определить и без юстировочного каталога (DMOZ, Yaca, etc).

  2. >Если да, то есть мнение, что степень тематичности ссылок можно определить и без юстировочного каталога (DMOZ, Yaca, etc).

    -конечно, никто не знает да и не да, 🙂 но интересно было бы твою версию – как сделать?

    А мнение товарища мне кажется интересным – оно "в будущее" смотрит.

  3. Topic Sensitive PageRank, вот что главное 😉
    К слову, euhenio, проверь мыл))

  4. Topic Sensitive PageRank?
    Это тот, который здесь http://www2002.org/CDROM/refereed/127/ описан? Сегодня вечером почитаю …
    Чтобы потом не было кривотолков, давай сразу определимся в постановке задачи:
    НУЖНО ОПРЕДЕЛИТЬ СТЕПЕНЬ "ТЕМАТИЧНОСТИ" ССЫЛКИ СО СТРАНИЦЫ P1 НА СТРАНИЦУ P2.
    Препредполагаем, что страница P1 находится на сайте S1, а страница P2 на сайте S2. Мне кажется, что если мы сможем определить "коеэффициент тематичности" kTP для ссылки P1->P2, то потом мы сможем определить и "коеэффициент тематичности" kTS для связи S1->S2 или тИЦ для S1, S2. Такая постановка вопроса устроит?

  5. Вполне. Но к яндексу трудно что либо применить 😉

    p.s.
    about TsPR
    seochat.com/index2.php?option=content&task=view&id=123&pop=1&page=0&hide_js=1

  6. Есть наблюдения (и у меня тоже), что "тематичность" _ПО_СТРАНИЦАМ_ не рулит ни фига. По сайтам вроде да, но это не мои наблюдения.

    А у вас к-л. наблюдения есть?

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

  8. ПРЕДИСЛОВИЕ
    Ладно, раз уж напросился – напишу сначала о моем варианте расчета степени тематичности одной ссылки, а потом попробую доказать, что такой подход будет работать и для расчета степени тематической перелинковки сайтов целиком или по разделам.
    ПРОЛОГ
    Эта часть необходима по двум причинам – для того, чтобы вам было проще понять ход мыслей ввиду моего сумбурного изложения и для того, чтобы вы могли меня поправить, если в дальнейшем я из правильных предпосылок сделаю неправильные выводы.
    При написании антиспамерского плагина к почтовой программе The Bat! я столкнулся с локальной задачей определения степени похожести двух текстов – писем, одно из которых было заведомо спамерское, а второе только полученное. По спецификации к The Bat! плагин должен возвращать число от 0 до 100, которым оценивается степень спамности письма. В моем подходе это как раз и должна быть степени похожести двух текстов. Чтобы не изобретать велосипед, я попросил на форуме посоветовать материалы по алгоритмам определения нечетких дублей, именно такая тематика мне показалась наиболее близкой к моей локальной задаче. Spark (еще раз огромное ему спасибо) дал ссылку на шикарную статью Сегаловича: http://www.spamtest.ru/varticles.html?id=0032 После некоторого анализа мне показалось, что простое использование шинглов и супершинглов при фиксированном алгоритме расчета последних даст оценку степени похожести текстов в пространстве 0-1, мне же , была нужна более точная оценка в диапазоне 0-100. Пришлось использовать другой подход из статьи – словари. Для каждого письма составляется словарь словоформ с частотами употребления, словарь сортируется по частоте (по нисходящей), словарь стандартизируется по размеру – оставляются к примеру только N высокочастотных слов. Теперь задача предельно упрощается – степень похожести 2х текстов есть отнормированное произведение 2х векторов (словарей). Другими словами, используя словари, можно определить насколько похожи 2 корпуса текстов, и мне кажется, что в этом случае можно говорить о "тематическом расстоянии" между текстами. Понятно, что у такого подхода есть свои ограничения, его ахиллесова пята – короткие тексты. В вырожденном случае текст из одного слова "елки" будет тематически абсолютно не похож на любой другой, в котором этого слова нет.
    ОСНОВНАЯ ЧАСТЬ
    Теперь пошли по возрастающей. Пока без разницы – соразмерные словари мы используем или нет. Мне кажется, что перейти от сравнения одноразмерных словарей к сравнению разноразмерных словарей в принципе возможно. Предложение№0 – считать степенью тематичности ссылки со страницы P1 на P2 тематическое расстояние между страницами P1 и P2. Не круто – не учитывается текст ссылки. Начинаем накручивать. Берем словоформы из текста ссылки и с произвольными усиливающими коэффициентами частоты добавляем либо в словарь P1, либо в словарь P2, или сразу в оба. Следующий тяжелый случай – страница P1 вовсе не репрезентативна на сайте S1. Продолжаем накручивать. Используем вместо словаря P1 словарь S1, или смешиваем их в какой-либо пропорции, или делаем конкатенацию, если разноразмерность словарей нас не пугает. Теперь попробуем прикинуть, как посчитать тИЦ, отталкиваясь от идеи использования словарей страниц, разделов, сайтов. Тут у меня идеи заканчиваются. Может взять формулу расчета PageRank за основу, и дроби перед сложением промножить на отнормированные тематические расстояния? Такой кульбит можно трактовать так – вероятность перехода на тематически близкую страницу более высока, чем на нетематическую. Ну и считать соответственно либо постранично, либо по сайтам.
    ЭПИЛОГ
    В общем пока мы обходились без каталогов. Но не пропадать же такому добру! Использование словарей в расчете тИЦ может объяснить эффект скачка этого самого тИЦ при включении сайта в каталог Яндекса. К примеру так. Предположим, что у каждой рубрики Yaca есть свой словарь, составленный из словарей уже включенных в него сайтов и подрубрик. При ручном включении сайта в какой-либо раздел Yaca, его словарь для целей расчета тИЦ может быть увеличен за счет словаря рубрики (по аналогии с переходом от словаря P1 к словарю S1, по типу РБК – это еще не все “Новости”). Если увеличился словарь сайта или в нем возросли частоты словоформ, то это приведет только к увеличению показателей тематической близости ссылающихся на него ресурсов, а значит и к увеличению тИЦ`а. Если подумать, то можно объяснить, почему сайты при включению в раздел «Универсальное» подрастают меньше всего.

    В общем как-то так.

  9. NULL, да у тебя целая статья получилась. 🙂

    >мне показалось, что простое использование шинглов и супершинглов при фиксированном алгоритме расчета последних даст оценку степени похожести текстов в пространстве 0-1, мне же , была нужна более точная оценка в диапазоне 0-100

    -что ты имеешь в виду – "в пространстве 0-1"? Т.е., да либо нет? Но, насколько я понял из статьи Сегаловича, для документа есть НЕСКОЛЬКО шинглов, и для двух локументов сравниваются наборы шинглов, т.е., супершинглы. Если они одинаковы, можно смело возвращать 100. Если супершинглы разные, можно основываться на доле совпадающих шинглов.

    >Пришлось использовать другой подход из статьи – словари. Для каждого письма составляется словарь словоформ с частотами употребления, словарь сортируется по частоте (по нисходящей), словарь стандартизируется по размеру – оставляются к примеру только N высокочастотных слов.

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

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

    Я сравнивал попарно все новости, скачанные за день, по критерию –

    =SQRT[(число совпадающих значащих слов)^2/(ч.слов1*ч.слов2)]
    Ну, обработав 500 новостей, которые у меня были, выбрал значение этого критерия =0.07 (т.е., если больше – значит, дубли)

    Я вот к чему – здесь учитываются "редкие" слова, которые вряд ли встретятся в другом документе на ту же тему, но вероятно, встретятся в дублях.

    >считать степенью тематичности ссылки со страницы P1 на P2 тематическое расстояние между страницами P1 и P2

    -плюс не круто т.к. по наблюдениям это не работает в Гугле.

    >Продолжаем накручивать. Используем вместо словаря P1 словарь S1, или смешиваем их в какой-либо пропорции, или делаем конкатенацию

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

    Еще вот с расстоянием я не понимаю, что ты имеешь в виду. Векторы – это у тебя что такое? Я бы проще понял, если сказать так: на каждое совпадение слов в словарях прибавляем 1 и рез-т делим на число слов в словаре.

    Но кажется, что здесь лучше использовать "произведение" словарей:
    1) комбинированный словарь из ссылающейся страницы и основного сайта
    2) словарь страницы, на которую ведет ссылка т текста ссылки

    По размышлению, словарь сайта в сравнении со словарями страниц – хорошая штука для поиска генерённых сайтов. Для Рамблера, к примеру. На заметку, надо экперимент поставить.

    Но вообще, редкостный геморрой – как реализовывать? Хотя может, и не такой уж геморрой, – ведь от запроса это все не зависит, т.е., можно предрассчитать и приписать "ссылаемой" странице список ключевых слов с оглядкой на все пересечения. А его уже юзать в сравнении с запросом.

    >При ручном включении сайта в какой-либо раздел Yaca, его словарь для целей расчета тИЦ может быть увеличен за счет словаря рубрики

    -хорошая мысля, и с "универсальной" рубрикой тоже. Для нее словарь должен быть самым пустым. 🙂

  10. Хорошая теория, но её могут осознать только прикладные математики 😉
    ——–
    >мне показалось, что простое использование шинглов и супершинглов при фиксированном алгоритме расчета последних даст оценку степени похожести текстов в пространстве 0-1, мне же , была нужна более точная оценка в диапазоне 0-100

    тут например без разницы) просто норму разную берете
    =================
    >считать степенью тематичности ссылки со страницы P1 на P2 тематическое расстояние между страницами P1 и P2

    -плюс не круто т.к. по наблюдениям это не работает в Гугле.

    По наблюдениям в рус. гугле?

  11. >что ты имеешь в виду – "в пространстве 0-1"? Т.е., да либо нет?
    Совершенно верно.

    >Но, насколько я понял из статьи Сегаловича, для документа есть НЕСКОЛЬКО шинглов, и для двух документов сравниваются наборы шинглов, т.е., супершинглы. Если они одинаковы, можно смело возвращать 100. Если супершинглы разные, можно основываться на доле совпадающих шинглов.
    Наверное можно, просто тогда вариант со словарями мне показался проще в реализации.

    >очень сильно кажется, что такое может привести к слеплению двух достаточно больших документов, написанных "на одну тему".
    Возможно так оно и есть, на длинных текстах я не проверял.

    >Т.е., подход однозначно годится для наших дел – определения тематичности, но не годится для убивания спама.
    Фильтр писал для себя – письма той длины, что приходят ко мне, он ловит.

    >Векторы – это у тебя что такое?
    Это словари. Берем предложение “Люблю масло масляное”, для него словарь словоформ (для упрощения возьмем только корни слов) можно представить ассоциативным массивом: A1{“масл*”=>2, “любл*”=>1} . Ключи поиска (словоформы) можно представить как индексы измерений в неком многомерном векторе, а частота слова – это значение, отложенное по этому измерению.

    >Я бы проще понял, если сказать так: на каждое совпадение слов в словарях прибавляем 1 и рез-т делим на число слов в словаре.
    Вначале я тоже хотел так сделать, но при таком подходе не используются частоты слов (такое добро пропадает!) – плохо будут сравниваться массив A1 и A2{“масл*”=>2, “любл*”=>2} или A1 и A3{“любл*”=>2,“масл*”=>1}

    >можно предрассчитать и приписать "ссылаемой" странице список ключевых слов с оглядкой на все пересечения. А его уже юзать в сравнении с запросом.
    У меня тоже был соблазн прикрутить словари еще и к поиску по индексу, но потом решил отказаться от этой мысли – слишком грубый механизм получается.

  12. NULL, я просто не понял, как ты перемножаешь верктора разной длины и как бы сказать, "с разными наборами слов".
    Т.е., у тебя это выглядит как произведение частот по совпадающим словам из словаря. Сумма по всем словам?
    Или по верхушке?

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

  13. -нет, в английском, а почему ты спросил?

    just curiosity)

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

    Очень сомнительно, ибо можно с одного тематического(по теме авто) сослаться на другого через слово "пурген" и по этой теории будет эффект. Тут факты для доказательств нужны)

  14. >как ты перемножаешь вектора разной длины и как бы сказать, "с разными наборами слов". Т.е., у тебя это выглядит как произведение частот по совпадающим словам из словаря. Сумма по всем словам?
    Да, почти так. Начал смотреть исходники, оказывается, я закладывался на разноразмерные словари 🙂 У меня операция «произведения» реализована следующим образом. Из 2х словарей составляем один, таким образом, чтобы в него вошли все словоформы и из первого словаря и из второго. При сложении словарей для каждой словоформы W запоминаем минимальную частоту, с которой она попадается либо в первом, либо во втором словаре и максимальную. К примеру, для массивов A4 {“масл*”=>7, “любл*”=>6} и A5{“любл*”=>5,“масл*”=>4} , для слова “ масл*” FrequencyMin = 4, FrequencyMax = 7. Далее складываем FrequencyMax по всем словам, чтобы получить базу для нормирования, в нашем примере FrequencyBase = 13. Потом идем по всем словоформам и умножаем степень пересечения по одному слову (определенную как отношение частот FrequencyMin(i)/FrequencyMax(i)) на вес одной словоформы, определенной как отношение FrequencyMax(i)/FrequencyBase. После сокращения FrequencyMax(i) имеем формулу: Result = Sum (FrequencyMin(i)/FrequencyBase) = Sum (FrequencyMin(i))/FrequencyBase. Для нашего примера Result = 5/13 4/13 = 9/13 = 0.69 = 69% Т.е. словари из нашего примера совпадают на 69%

  15. Насчет http://www.seochat.com/index2.php?option=content&task=view&id=123&pop=1&page=0&hi de_js=1
    – там написано про расчет с учетом "тематичности" страниц, а не сайтов. Не верю, непохоже.

    В http://www2002.org/CDROM/refereed/127/ – тоже пишется про "постраничную" тематику. В принципе, если на сайте все страницы "тематичные" и перелинкованы, эта масса, конечно, увеличит тематический ПР каждой страницы.

    Вливание тематического ПР-а идет только через ОДП.

    Но еще ведь и запрос классифицируется по соответствию 16 категориям ОДП. При классификации запроса учитываются частотные словари, собранные по сайтам из категорий. По каждому слову запроса это делается, не по словосочетаниям – прикол! 🙂 Берется произведение по каждому слову, т.е., использование слов из разных областей может запороть "тематику" запроса. Очевидно, тогда влияет обычный ПР.

    Вместо запроса может использоваться контекст запроса – доп. интересы юзера или что-то хитро рассчитанное.

    Что самое забавное, они просчитывают результирующий тематический ПР "во время запроса". Я думаю, что это невозможно – обалдеть же какое количество геморроя.

    По эксперименту, введение тематики "придавливает" остальные категории раз в 10-20.

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

  16. Господа, давайте лучше проведем конкурс по выведению в Гугл фразы на русском языке на 1-ю позицию результатов поиска. Например, каждый сбрасывается по 100 долларов, а выигрыш тому, кто 1-е место займет!

    Слово к примеру "черняво-голубой"

    Идет? 😉

Комментарии запрещены.