소셜 네트워크에서 가능한 연결을 확인하는 방법은 무엇입니까?


29

"제안 된 친구"알고리즘을 다루는 방법을 결정하는 것이 궁금합니다.

Facebook 에는 친숙하다고 생각되는 개인을 추천 할 수있는 기능이 있습니다. 이러한 사용자는 일반적으로 ( 사용자가 친구를 특별히 추천하는 경우를 제외하고 ) 자신과 네트워크가 매우 유사합니다. 즉, 공통의 친구 수가 많습니다. 나는 트위터가 그들의 "Who To Follow"메커니즘과 유사한 경로를 따른다고 가정한다.

Facebook 직원 인 Stephen Doyle (Igy)EdgeRank 수식 을 사용하는 관련 뉴스 피드가 외모와 같은 친구보다 친구에게 더 가치가 있다는 것을 나타내는 것으로 보입니다. 다른 사용자가 Google Rank 시스템을 제안했습니다.

Facebook은 뉴스 피드 최적화를 로 표시합니다.uewede

w e d e이자형 = 보는 사용자와 Edge 생성자 간의 선호도 점수 =이 Edge의 가중치 (만들기, 댓글, 좋아요, 태그 등) = 에지가 생성 된 시간을 기반으로하는 시간 감소 계수
이자형
이자형

이 항목을 합산하면 Igy가 암시 한 것으로 가정 한 객체의 순위를 부여해야하며 비슷한 형식의 무언가가 제안 된 친구에게 사용된다는 것을 의미합니다.

그래서 이것이 모든 유형의 연결이 일반적으로 순위 시스템을 통해 수행되는 방식이라고 생각합니다.


간단한 출발점으로 "친구의 친구"추천 시스템을 사용할 수 있습니다. 즉, 사람 X의 친구 인 친구가 많은 경우 아마도 사람 X와 친구가되어야합니다.
Joe

1
실제 소셜 네트워크의 구조를 포착하려는 다양한 랜덤 그래프 모델이 있습니다. 잠재적 에지의 가능성 계산은 사용하는 모델과 사용 가능한 정보에 따라 다릅니다.
Kaveh

답변:


7

소셜 그래프를 행렬 으로 생각할 수 있습니다 . 이 문제에 대한 한 가지 접근법은 먼저 M 2를 계산 하는 것입니다. 이는 소셜 네트워크에서 두 행위자 사이의 길이 2의 모든 경로를 제공합니다. 이것은이 친구들의 친구들 사이의 연결의 무게로 볼 수 있습니다. 다음 단계는 관심있는 사람에 해당하는 M 2 행에서 열을 선택하여 새 친구를위한 최상의 후보를 얻는 것입니다.22


1
이것은 와 person p 사이의 경로 수를 제공 하여 친구들의 순위를 정하는데 사용될 수 있습니다. 그것은 원유입니다. 에프나는
Dave Clarke

그래프로 문제를 모델링하는 것이 더 쉽고 직관적이라고 생각합니다.
MMS

11

당신이 찾고있는 것은 휴리스틱입니다. 직접 연결되지 않은 두 사람이 친구인지 아닌지에 관계없이 친구의 그래프 만 입력 할 수있는 알고리즘은 없습니다. 우정 / 지인 관계는 전 이적이라고 보장되지 않습니다 (대칭을 가정 할 수는 있지만 실제 생활에서는 확장 될 수도 있음). 따라서 좋은 휴리스틱은 관계형 그래프의 특성에 대한 수학적 이해가 아니라 사람들이 상호 작용하는 방식에 대한 이해를 바탕으로해야합니다 (이러한 관점에서 휴리스틱을 정량화해야하지만).

같은 확률로 친구에게 친구를 제안하는 것은 상대적으로 저렴하지만 부정확 한 휴리스틱입니다. 예를 들어, 아버지에게는 친구가 있지만, 나는 그들 중 어느 누구와도 친구라고 말하지 않을 것입니다. (아마도 내가 소셜 네트워크와 같은 목적을 위해 아버지의 친구라고 말할 것입니다). 비교적 가까운 거리에 사람이 있다고해서 반드시 훌륭한 후보가되는 것은 아닙니다.

당신이 아주 많은 확장 된 관계를 가진 사람들에게 제안하는 것은 일반적으로 좋지 않은 선택처럼 보입니다. 이것의 예).

아르 자형

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

에 대한 새로운 친구를 찾고 싶다고 가정 해 보겠습니다 a. a의 현재 친구는 b, cf. 우리는 그물 상응하는 사이에 저항 평가 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이 휴리스틱에 의해 후보 친구가 될 수 없습니다. 이 휴리스틱의 결과가 실제 인간의 사회적 상호 작용을 나타내는 지 여부는 중요합니다. 계산적으로 말하면, 이것은 두 개인 사이의 모든 경로를 포함하는 하위 그래프를 찾거나 (또는 ​​흥미롭게도이 중 일부는 잘린 부분을 찾은 후) 소스와 싱크 노드 사이의 동등한 저항을 평가하는 것과 관련이 있습니다.

편집 : 그래서 이것에 대한 나의 사회적 동기는 무엇입니까? 글쎄, 이것은 중개자 (친구)를 통해 연락을 취하고 상당한 양의 정보를 전달하는 것이 얼마나 어려운지에 대한 대략적인 모델 일 수 있습니다. 물리학 용어가 아닌 CS 용어에서 이것은 그래프의 두 노드 사이의 대역폭으로 해석 될 수 있습니다. 이 시스템의 확장은 다른 가중치 (저항, 대역폭 등)를 가진 사람들 사이에 다른 종류의 링크를 허용하고 위와 같이 진행하는 것입니다.


10

소셜 네트워킹의 인기가 높아짐에 따라이 문제에 대한 많은 작업이 수행되었습니다. 이 문제는 일반적으로 "링크 예측"이라고하며 매우 훌륭하고 포괄적 인 설문 조사는 여기여기 에서 찾을 수 있습니다 . 방법은 매우 간단한 것 (예 : 노드들 사이의 Jaccard 유사성)에서 매우 복잡한 것 (예 : 생성 연결 프로세스의 통계적 모델 구성)에 이르기까지 다양합니다. 데이터 세트에서 사용할 수있는 특정 기능 (예 : 네트워크 구조, 노드 속성?, 에지 속성 등)에 따라 크게 달라 지지만 이러한 설문 조사는 시작 위치에 대한 좋은 아이디어를 제공합니다.


4

면책 조항 : 나는 여기서 크게 추측하고 있습니다. 장르 연구를 읽지 않았습니다.

노드의 연결 수와 상대적으로 공유하는 노드 연결 수를 확인할 수 있습니다. 이것은 매우 순진한 (현지대로) 아이디어이지만 여기에갑니다.

모든 노드 (사람 또는 다른 개념)에는 일련의 연결이 있습니다. 기음. 이제 두 개의 노드가 주어졌습니다.12제안 21 만약

|기음1기음2||기음1|α

일부 합리적인 α[0,1] (그리고 다른 방향으로).

또 다른 아이디어는 더 포괄적입니다. 현재 사용중인 노드 와 유사한 노드 세트를 결정하고 많은 노드가 공유하는 연결을 제안하십시오. 따라서 유사한 노드 세트를 정의하십시오.

에스={:|기음기음|α}

에 의해 설정된 그럴듯한 제안

{에스:에스[에스]|에스|β}

합리적으로 다시 α,β[0,1].

실제로 연결을 개별적으로 가중치를 부여하려고합니다. 예를 들어에스 이미 연결되어있는 것보다 멀리 떨어진 것보다 가져 오기가 더 커야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.