ソーシャルネットワークでの可能性のある接続を判断する方法


29

私は、「提案された友人」アルゴリズムに取り組むアプローチを決定することに興味があります。

Facebookには、知り合いかもしれないと思う個人を推薦する機能があります。これらのユーザーは、通常(ユーザーが友人を特に推奨するエッジケースを除く)、自分と非常によく似たネットワークを持っています。つまり、共通の友人の数が多い。Twitterは「Who To Follow」メカニズムについても同様の道をたどっていると思います。

Facebookの従業員であるStephen Doyle(Igy)は、外見などの友人よりも評価することがEdgeRankの公式を使用している関連ニュースフィードは同様の投稿であることを提案しました。別のユーザーがGoogleランクシステムを提案しました。

Facebookは、ニュースフィードの最適化を述べてい。uewede

ue =閲覧ユーザーとエッジ作成者間のアフィニティスコア =このエッジの重み(作成、コメント、いいね、タグなど) =エッジが作成された時間に基づく時間減衰係数
we
de

これらのアイテムを合計すると、オブジェクトのランクが得られるはずです。これは、Igyが示唆したように、同様の形式の何かが提案された友人に使用されることを意味します。

だから私はこれがすべてのタイプの接続がランクシステムを介して一般的に行われる方法であると推測していますか?


簡単な出発点として、「友達の友達」推奨システムを使用できます。つまり、X人の友人である友人が多数いる場合は、X人の友人である必要があります
ジョー

1
実際のソーシャルネットワークの構造をキャプチャしようとするさまざまなランダムグラフモデルがあります。潜在的なエッジの尤度の計算は、使用するモデルと利用可能な情報に依存します。
カヴェー

回答:


7

ソーシャルグラフは行列として考えることができます。この問題に対する1つのアプローチは、最初に計算することです。これにより、ソーシャルネットワーク内の2つのアクター間の長さ2のすべてのパスが得られます。これは、これらの友人同士のつながりの重みとして見ることができます。次のステップでは、関心のある人に対応するの行から列を選択して、新しい友人の最適な候補を取得します。M 2 M 2MM2M2


1
これにより、とperson間のパスの数が得られ、これを使用して友人をランク付けできます。粗野だと認めます。 pfp
デイブクラーク

グラフで問題をモデル化する方が簡単で直感的だと思います。
MMS

11

探しているのはヒューリスティックです。直接接続されていない2人の個人が友人であるかどうかに関係なく、友人のグラフを唯一の入力として指定できるアルゴリズムはありません。友情と知人の関係が推移的であることは保証されていません(対称性を仮定することはできますが、それは実際の生活の中でストレッチであるかもしれません)。したがって、優れたヒューリスティックは、関係グラフの性質を数学的に理解するのではなく、人々の相互作用の理解に基づいている必要があります(ただし、これらの用語でヒューリスティックを定量化する必要があります)。

友人の友人を同じ確率で提案することは、比較的安価ですが不正確なヒューリスティックです。たとえば、私の父には友達がいますが、私は彼らと友達だとは言いません(たとえば、ソーシャルネットワークなどの目的で、私は父の友達だと思いますが)。人が比較的近い距離にいることは、必ずしも彼らを素晴らしい候補者にするわけではありません。

あなたが非常に多くの長いつながりを持っている人を提案することは、一般的に悪い選択のように思えます、これは早い段階で前進する人々の友人の指数関数的な成長につながる傾向があるためです(ケビンベーコンゲームからの7度の分離はこの例)。

回路ベースのモデルをお勧めします。各リンクが抵抗抵抗であると仮定します。その場合、新しい友人の最良の候補者は、等価抵抗が最も低い個人かもしれません。実行が不十分なASCIIグラフィックの例を次に示します。R

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

の新しい友達を見つけたいとしますaa現在の友人でありbcf。私たちは、間の正味の等価抵抗評価aのそれぞれをdegh、と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このヒューリスティックによって候補の友人になることはありません。このヒューリスティックの結果が実際の人間の社会的相互作用を代表するものであるかどうかが重要です。計算的に言えば、これには、2人の個人間のすべてのパスを含むサブグラフ(または、興味深いことに、これの意味のある選択された切り捨て)を見つけ、ソースノードとシンクノード間の等価抵抗を評価することが含まれます。

編集:だからこれに対する私の社会的動機は何ですか?まあ、これは、仲介者(友人)に接触し、その後かなりの量の情報をやり取りすることがいかに難しいかの大まかなモデルかもしれません。(物理用語​​ではなく)CS用語では、これはグラフ内の2つのノード間の帯域幅として解釈される場合があります。このシステムの拡張は、異なる重み(抵抗、帯域幅など)を持つ人々の間で異なる種類のリンクを許可し、上記のように進めることです。


10

ソーシャルネットワーキングの人気が高まっているため、この問題については多くの作業が行われています。この問題は通常「リンク予測」と呼ばれ、非常に優れた包括的な調査がここここにあります。方法は、非常に単純なもの(ノード間のJaccardの類似性など)から非常に複雑なもの(生成的な接続プロセスの統計モデルの構築など)まであります。データセットで利用できる特定の機能(ネットワーク構造、ノード属性、エッジ属性など)に大きく依存しますが、これらの調査はどこから始めればよいアイデアを提供します。


4

免責事項:私はここで乱暴に推測しています。ジャンルの研究は読んでいません。

ノードが持っている接続の数に対して、ノードが共有する接続の数を相対的に見ることができます。これは非常に単純な(ローカルとしての)アイデアですが、ここに行きます。

NCNN1N2N2N1

|CN1CN2||CN1|α

合理的な(およびその逆)に対して。α[01]

もう一つのアイデアは、よりグローバルです:ノードの集合を決定類似の手で1にし、それらを共有する多くのその接続を提案します。したがって、同様のノードのセットを定義します

SN={M|CNCM|Nα}

そしてもっともらしい提案は

{SMSN[SM]|SN|β}

再び妥当ためαβ[01]

SN

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.