4

現在、FacebookPHPSDKを使用してFacebookアプリケーションを作成しようとしています。

ユーザーのどの友達が彼の親友であるか、または彼が最も話している友達であるかを取得したいと思います。

それらを取得するためのアルゴリズムまたはヒントを知っていますか?

4

3 に答える 3

3

単純に、友情のマーカーを探し、各活動に重みを付け、「友人スコア」を合計し、友情の年齢に応じて適切にします (「生涯」スコアを探している場合)。「最近の親友」など、さまざまな時間枠を見ることができます。

私は Facebook の Graph API に驚くほど詳しいわけではありませんが、友人の年齢と、彼らが交換するコメント/ウォール投稿の数にアクセスできれば、何らかの情報が得られるでしょう。共同でタグ付けされた写真の数など、他のマーカーについて考えてみてください。

于 2011-05-29T09:15:26.427 に答える
2

作業中のアプリでこれと同じ問題が発生し、Rubyではありますが、使用したコードをオープンソース化しました。

https://github.com/mikejarema/facebook-friend-rank

これは、アクティブなアクセストークンとユーザーIDを受け取り、(read_stream権限が付与されていると仮定して)アプリケーション内での並べ替えに使用できるカウントにIDのハッシュを返すWebサービスです。

友達ランクアルゴリズムは、ユーザーの最新の500のインタラクション(アクティビティフィード)を調べ、そこに表示されるすべての友達の頻度を集計します。結果は、最良から最悪まで、友人の合理的な順序を提供し、友人のサブセットでも機能します(たとえば、相互の友人の並べ替え)。

他の回答で述べたように、写真タグ、相互の友人数を調べ、相互作用のタイプを探すための余地がたくさんあります(たとえば、友人とのチェックインは、彼らのステータスのようなものよりもおそらく親密さのより良い尺度です)。

このアプローチとバックエンドのフレンドランクを使用したサンプルアプリは次のとおりです。

http://facebook-friend-rank.herokuapp.com/demo/index.html

于 2012-05-17T01:33:42.337 に答える
0

私は静かに、ユーザーが最も対話している人々のリストを取得する必要があります(Facebookの用語では「親友」)。クラスを構築するのにしばらく時間がかかりましたが、完璧にはほど遠いです。ただし、これにより、どこから始めればよいかを探している人の時間を節約できます。

https://github.com/anuary/ay-fb-friend-rank

2012年6月11日の改訂では、これらのルールに従って友達スコアを作成します。

  1. アプリケーションは、ユーザーのフィードエントリを調べます。1.1。ユーザーのフィードが気に入った友達には、「feed_like」スコアが与えられます。1.2。ユーザーのフィードにコメントした友達には、「feed_comment」スコアが与えられます。1.3。フィードでユーザーにアドレスを指定した友人(壁に直接投稿するか、ユーザーにタグを付けるか)には、「feed_addressed」スコアが与えられます。

  2. 写真。2.1。ユーザーが写真の友達によってタグ付けされている場合、プロファイルには「photo_tagged_user_by_friend」が与えられます。2.2。ユーザーが写真の友達にタグを付けた場合、プロフィールには「photo_tagged_friend_by_user」が与えられます。2.3。プロファイルは、ユーザーがアップロードした写真またはユーザーがタグ付けされた写真を高く評価するために「photo_like」を取得します。2.4。プロファイルは、ユーザーがアップロードした写真またはユーザーがタグ付けされた写真にコメントするための「photo_comment」を取得します。

  3. 友達。3.1。プロファイルは、すべての相互の友達に対して「friend_mutual」スコアを取得します。

  4. 受信トレイ。4.1。すべてのプロファイルは、ユーザーとの会話に参加するために「inbox_in_conversation」を取得します。4.2。2人だけが「inbox_chat」で会話した会話では、メッセージごとに個別のスコアが与えられます。ユーザーがアップロードした写真、またはユーザーがタグ付けされた場所の写真。

于 2012-06-11T08:57:33.730 に答える