Як визначити ймовірні зв’язки в соціальній мережі?


29

Мені цікаво визначити підхід до вирішення алгоритму "запропонованих друзів".

У Facebook є функція, за якою вона рекомендуватиме вам людей, які, на вашу думку, можуть бути вам знайомі. Зазвичай ці користувачі (за винятком кращих випадків, коли користувач спеціально рекомендує друга ) мають дуже схожу мережу на себе. Тобто кількість спільних друзів велика. Я припускаю, що Twitter слідує аналогічним шляхом для їх механізму "Кого слідкувати".

Стівен Дойл (Igy) , працівник Facebook, припустив, що пов'язаний канал новин, що використовує формулу EdgeRank, яка, схоже, вказує на те, що більше цінується, ніж друзі, такі як зовнішність, схожі пости. Інший користувач запропонував систему Google Rank.

Facebook стверджує їх Стрічка новин Оптимізація , як , деuewede

= оцінка спорідненості між переглядом користувача та крайовим творцем w e = вага для цього краю (створити, коментувати, як, тег тощо) d e = коефіцієнт занепаду часу залежно від того, як давно створено край ue
we
de

Підсумовування цих предметів повинно давати ранг об'єкта, який я вважаю, як натякнув Ігі, означає, що щось у подібному форматі використовується для запропонованих друзів.

Тож я здогадуюсь, що це спосіб, у який взаємини для всіх типів здійснюються взагалі за допомогою рангової системи?


Як простий вихідний пункт, ви можете використовувати систему рекомендацій "друзі друзів". Тобто, якщо у вас є багато друзів, які є друзями людини X, то, можливо, вам слід подружитися з людиною X.
Джо,

1
Існують різні моделі випадкових графіків, які намагаються захопити структуру реальної соціальної мережі. Розрахунок ймовірності потенційного краю залежить від моделі, яку ви використовуєте, та наявної інформації.
Каве

Відповіді:


7

MM2M2


1
fip

Я думаю, що моделювання проблеми з графіком є ​​і простішим, і інтуїтивнішим.
MMS

11

Те, що ви шукаєте, є евристичним. Жоден алгоритм не може сказати, якщо графік друзів є єдиним входом, незалежно від того, чи є двоє людей, які безпосередньо не пов'язані, є друзями чи ні; стосунки дружби / знайомства не гарантовано є транзитивними (можна вважати симетрією, але це може бути навіть розтяжкою у реальному житті). Отже, будь-який хороший евристик повинен базуватися на розумінні взаємодії людей, а не на математичному розумінні природи графіків відносин (хоча нам потрібно буде кількісно оцінити евристику в цих термінах).

Запропонувати друзям друзів з однаковою ймовірністю є порівняно дешевим, але неточним евристикою. Наприклад, у мого батька є друзі, але я б не сказав, що я дружу з ким-небудь з них (хоча, напевно, я б сказав, що я друг мого батька для цілей, наприклад, соціальної мережі). Наявність людини на відносно близькій відстані не обов'язково робить їх чудовим кандидатом.

Запропонувати людям, з якими у вас дуже багато розширених зв’язків, також здається поганим вибором загалом, тому що це, як правило, призведе до експоненціального зростання друзів людей, які випереджають рано (сім градусів відриву від гри Кевіна Бекона - це приклад цього).

R

  _____
 /     \
a---c   f
|   | /
b   d---e
| \ |
g   h   i

Скажімо, ми хочемо знайти нових друзів a. a«S поточні друзі b, cі f. Ми оцінюємо чисту еквівалентний опір між aі кожен з d, e, g, hі i:

pair   resistance
(a,d)   6/7
(a,e)  13/7
(a,g)   7/4
(a,h)   1/1
(a,i)   inf

Відповідно до цього евристика, dє найкращим другом-кандидатом, за яким уважно стежать h. gнаступна найкраща ставка, за якою слід уважно e. iніколи не може бути другом кандидата за цією евристикою. Незалежно від того, чи вважаєте ви результати цього евристики репрезентативними для реальних соціальних взаємодій людини? Якщо говорити з комп'ютера, це передбачає пошук підграфа, що містить усі шляхи між двома особами (або, що може бути цікаво, деяким змістовно вибраним усіканням цього), а потім оцінку еквівалентного опору між джерелами та вузлами потоку.

EDIT: Тож яка моя соціальна мотивація до цього? Ну, це може бути приблизною моделлю того, як важко налагоджувати зв’язок, а згодом передавати, можливо, значну кількість інформації через посередників (друзів). У термінах CS (а не з фізичних термінів) це може розглядатися як пропускна здатність між двома вузлами в графіку. Розширення цієї системи передбачає можливість дозволу різного роду зв’язків між людьми з різною вагою (опір, пропускна здатність тощо) і продовжуватись, як зазначено вище.


10

Над цією проблемою зроблено багато, оскільки популярність соціальних мереж зникла. Проблему, як правило, називають "Прогноз посилання", і дуже хороші та всебічні опитування можна знайти тут і тут . Методи варіюються від дуже простого (наприклад, схожість Жакарда між вузлами) до дуже складного (наприклад, побудова статистичних моделей процесу генеративного з'єднання). Це багато що залежить від конкретних функцій, наявних у вашому наборі даних (наприклад, лише мережева структура, атрибути вузла ?, атрибути краю, ...), але ці опитування дадуть вам хорошу ідею, з чого почати.


4

Відмова: Я тут дико здогадуюсь; Я не читав жодного жанрового дослідження.

Ви можете подивитися, скільки з'єднань з вузлами поділяють відносно кількості концесій, які має вузол. Це дуже наївна (як локальна) ідея, але тут ідеться.

NCNN1N2N2N1

|CN1CN2||CN1|α

α[0,1]

Ще одна ідея є більш глобальною: визначте набір вузлів, подібних до того, що є у вас, та запропонуйте з'єднання, якими ділиться багато з них. Отже, визначте набір подібних вузлів

SN={M:|CNCM|Nα}

і безліч правдоподібних пропозицій

{S:MSN[SM]|SN|β}

α,β[0,1]

SN

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.