Пользователь
0,0
рейтинг
13 июля 2011 в 14:25

Разработка → PageRank-сеть разнородных объектов

Данная заметка является развитием предыдущего текста, "Проблемы обобщения PageRank". Суть в том, чтобы более-менее полноценно рейтинговать людей с помощью алгоритма PageRank. Почему именно PageRank? Ну, конечно можно составить что-то типа суммы-анкеты из разных слагаемых и вычислять ее для каждого пользователя. Например, образование среднее столько-то баллов, высшее столько-то, должность офисный планктон столько-то, топ-менеджер столько-то, ученая степень есть/нету, опыт работы столько-то лет (вычисляем функцию от количества лет), рейтинг на Хабре такой-то, количество френдов в Фейсбуке столько-то и т. д. и т. п. Мало что список получится длинным и непонятно, учтете ли вы все наиболее значимые факторы. Но понадобится еще каким-то образом (скорее «на глазок») определить коэффициенты значимости при каждом слагаемом, и это тоже задача. Метод PageRank дает на мой взгляд любопытный способ решить эту последнюю задачу.

В упомянутом тексте я предлагал расширенно трактовать понятие голоса в методе PR. Например, наличие ученой степени будет «голосовать» за ее обладателя. Насколько сильным будет этот голос? — зависит от того, сколько авторитетных людей ссылаются (каким-то образом упоминают) ученую степень как значимый фактор. Иначе говоря, мы должны включить абстрактный объект «ученая степень» в нашу PR-сеть наряду с объектами-людьми, и от него будут идти не только исходящие ссылки, но и входящие.

Или скажем опыт работы. Условно говоря, работа в Яндексе и Рамблере имеет разную значимость в глазах IT-сообщества, т.е. эти две сущности будут иметь разные значения PR в данной сети (хотя традиционные показатели PR и ТИЦ тоже можно определить как абстрактные рейтингуемые сущности и учитывать голоса к ним и от них). С конкретным пользователем связываем абстрактную сущность «опыт работы», к которой будут идти ссылки от Яндекса или Рамблера, если он там работал, и придавать большую или меньшую значимость опыту работы данного пользователя.

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

В завершении хотелось бы слегка подумать также, как решить другую упомянутую проблему — учет всех наиболее значимых факторов при определении PeopleRank человека. Есть некие общие положения, про которые я раньше писал, например, если вас френдят/комментируют/читают крутые люди, значит скорей всего вы тоже круты. Такую информацию в принципе можно извлечь из соцсетей. Можно допустим определить также сущность «проекты», в которых пользователь участвовал. Такие вещи и особенно конкретику (как ввод конкретных проектов, организаций) наверно лучше возложить на пользователей вебдванольным способом — если кто-либо считает, что для правильного определения его PR нужно добавить в сеть новую сущность, он ее добавляет. Подобно тому как сайты добавляются к сети, которые идексируют Яндекс и Гугл.
VRus @VRus
карма
18,3
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (5)

  • +1
    Может быть, не надо рейтинговать людей? Что это за странное желание, — всех пересчитать и оценить?

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

    Обобщение рейтингов людей бессмысленно хотя бы по той причине, что он ещё хуже, чем «узкий» рейтинг (или «вес» в нишевом сообществе), будет отражать реальный авторитет и полезность человека для общества. От всепроникающего СЕО такая затея не спасется.

    Да и, вообще говоря, зачем все эти глупости с оцениванием по сотне критериев? Делайте свою работу хорошо, и на вас обратят внимание. Любые рейтинги обычно приводят к тому, что более успешными могут оказаться не лучшие работники, а те, кто хорошо работает языком.
    • 0
      Вот здесь перечислил зачем рейтинговать людей. В сумме получается уже несколько пунктов. Намедни придумал еще применение. Не говоря уж, что тотального рейтингования всё равно не избежать. Кстати как раз собирался написать обобщающую заметку на эти темы.
      • +1
        Я предпочитаю думать своей головой, а не стадной гидрой, и всем желаю того же. Повсеместное введение рейтингов превращает эти самые рейтинги из экспертных рекомендаций в самоцель, к которой начинают стремиться участники рейтингов.

        За примером далеко ходить не нужно, — IMDB. Великолепная идея, отличная реализация. Но этот рейтинг подходит только для прокатных фильмов, редкий авторский проект получит хорошие оценки, потому что такой фильм не ориентирован на широкого зрителя с попкорном. Бывалый зритель и не пойдет смотреть этот рейтинг, для него важнее, что этот фильм рекомендовал ему знакомый; а другой человек глянет на непрезентабельный результат оценки и даже не станет смотреть фильм. Это судьба любой «широкой» оценки.

        Наверное, тотального рейтингования не избежать, потому что все мы любим смотреть на себя в начале списка (если, конечно, это не список на увольнение и отчисление). :) Такова тенденция, но зачем же прыгать в толпу, если объективно эта затея принесет немного пользы?

        P.S. Думаю, что самая релевантная оценка фильма/автора/книги — это рекомендация образованного друга. Тут тебе и геолокация и учет личных предпочтений.
        • 0
          Касательно отличности реализации рейтинга IMBD можно спорить, ибо там по-моему довольно примитивная методика расчета. Однако насчет судьбы любых «широких» оценок согласен. Вопрос философский — с одной стороны, рейтинг должен служить социальным лифтом для интересных незаслуженно обойденных вниманием людей (фильмов, книг и т. д.), с другой стороны, если он будет сильно отклоняться от традиционных критериев социального успеха, то станет мало кому нужным.

          Однако возьмем Яндекс/Гугл — они ведь рейтингуют сайты на потребу толпе и вполне востребованы в этом деле. Думаю, с рейтингованием людей примерно та же картина — можно найти востребованные применения. Тем более что предлагаемый подход по сути только называется алгоритмом рейтингования людей, тогда как больше является способом рейтинговать разные сущности. В частности и сайты тоже, т.е. я утверждаю, что Яндекс мог бы выполнять свою прямую задачу гораздо лучше, если бы использовал дополнительно эту методику косвенного рейтингования всего через всего.
  • 0
    Пришла еще мысль. Как в упомянуто в заметке, неизвестно, какие именно факторы вы должны ввести в сеть. Это по-прежнему делается «руками». В предлагаемом обобщенном PageRank стратегия может быть простой — чем больше факторов, тем лучше — если введете не очень важные, они мало на что и повлияют, это уже от вас не зависит.

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

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

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.