Вычисление важности пользователя или «Центральности между» из последователей пользователя? - PullRequest
7 голосов
/ 14 января 2012

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

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

User
{
    id,
    name
}

Follows {
    user_id -> user.id,
    following_id -> user.id
}

Какой тип алгоритмов я ищу?

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

Обновление

Как указывают Дэвид и Стив, насколько близки данные узлы, какие узлы образуют подобщества и какие пользователинаиболее связанными являются все примеры полезных данных, которые можно извлечь из этой схемы.

Поскольку этот «последовательский» дизайн сейчас используется многими сайтами, я запустил награду в надежде получить какую-то основательную информациюРеализации SQL или языка программирования, которые могут быть полезны широкому кругу людей.

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

1 Ответ

10 голосов
/ 16 января 2012

Если вы концентрируетесь только на ссылках, попробуйте следующие популярные показатели центральности (предположим, что G - график):

  1. Градус : Градус узла i определяется как ki / ( N -1), где ki - количество ссылок на узел i и N - общее количество узлов.Более высокая степень означает важное значение.
  2. Близость : Близость узла i определяется как ( N -1) / (Σ _ ()j ∈G) dij ), где dij - расстояние между узлом i и узлом j .Это подчеркивает расстояния между узлами и всеми остальными узлами в социальной сети.
  3. Между : Между, определенным как (Σ _ ( j <<em> k *)1043 * ∈G) njk (i) / njk ) / (( N -1) ( N -2)),где njk обозначает количество кратчайших путей между узлами j и k , а njk (i) - количество работающих путейчерез узел я .Между узлом i выше означает, что узел i может быть хорошим центром, поскольку существует множество соединений между любыми двумя другими узлами, которые необходимо пройти через узел i .

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

...