(57)【要約】  一実施形態では、システムは１つまたは複数のコンピューティング・システムを備え、このコンピューティング・システムは、ソーシャル・ネットワーキング環境を実現し、自然言語処理を通して、自由形式テキストを含むユーザのアクションを解析してテキスト・ストリングに含まれるオブジェクトおよびアフィニティを決定し記憶するように動作可能である。本方法は、テキスト・ストリングにアクセスし、自然言語処理を通してオブジェクトおよびアフィニティ宣言を識別し、オブジェクトの組合せおよびコンテキスト・データを評価してより広い概念のインスタンスを決定し、自然言語処理辞書を通してアフィニティ係数を決定することを含む。記憶されたインスタンスおよびアフィニティのデータベースが生成され記憶されると、これを活用してソーシャル・ネットワークのメンバに提案を勧めて、メンバのソーシャル・ネットワーク体験を向上させることができる。
2014527232.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のコンピューティング・システムによって、
自由形式テキストを含む入力をユーザから受け取るステップと、
該自由形式テキストの自然言語処理の適用を通して、該入力に関連する１つまたは複数のオブジェクトを決定するステップと、
該自由形式テキストの自然言語処理の適用を通して、該１つまたは複数のオブジェクトに関連する１つまたは複数のアフィニティ宣言を決定するステップと、
該１つまたは複数のオブジェクトから概念のインスタンスを決定するステップと、
該アフィニティ宣言に基づいて該ユーザと該インスタンスとの間のアフィニティ係数を決定するステップと、
該アフィニティ係数を該ユーザおよび該インスタンスとの関連でデータ・ストアに記憶するステップとを備える、方法。
【請求項２】
前記入力がコンテキスト・データをさらに含んでなる、請求項１に記載の方法。
【請求項３】
前記コンテキスト・データが位置を含んでなる、請求項２に記載の方法。
【請求項４】
前記コンテキスト・データが時刻を含んでなる、請求項２に記載の方法。
【請求項５】
前記コンテキスト・データが特定の位置へのチェックインを含んでなる、請求項２に記載の方法。
【請求項６】
前記コンテキスト・データが、前記ユーザ入力が作用する要素に基づいて推論される、請求項２に記載の方法。
【請求項７】
前記アフィニティ係数が正または負の数値である場合がある、請求項１に記載の方法。
【請求項８】
前記自然言語処理が、クラウドソーシングされた形容詞またはオブジェクトからなる辞書を利用する、請求項７に記載の方法。
【請求項９】
前記アフィニティ係数が、前記アフィニティ宣言中に見られる形容詞の相対的な強度に基づく、請求項８に記載の方法。
【請求項１０】
前記インスタンスがソーシャル・グラフ中にノードとして存在するかどうか判定するステップと、
該インスタンスが該ソーシャル・グラフ中に存在しない場合に、該決定されたインスタンスを表すノードを該ソーシャル・グラフ中で作成するステップとをさらに備える、請求項１に記載の方法。
【請求項１１】
前記ノードが、前記ソーシャル・グラフにアクセスするソーシャル・ネットワークのユーザから隠蔽される、請求項１０に記載の方法。
【請求項１２】
前記アフィニティを記憶することが、前記ユーザを表すノードと前記インスタンスを表す前記ノードとを接続するエッジを作成することを含む、請求項１１に記載の方法。
【請求項１３】
前記ユーザがソーシャル・グラフ中で第１のノードによって表され、前記インスタンスが該ソーシャル・グラフ中で第２のノードによって表され、前記アフィニティ係数を記憶することが、該第１のノードと該第２のノードとを接続するエッジを作成することを含む、請求項１に記載の方法。
【請求項１４】
１つまたは複数のコンピューティング・システムによって、
自由形式テキストを含む入力をユーザから受け取るステップと、
該自由形式テキストへの自然言語処理の適用を通して、該入力に関連する１つまたは複数のオブジェクトを決定するステップと、
該決定された１つまたは複数のオブジェクトにほぼ関係する、所定数の正のアフィニティ係数が関連付けられたインスタンスを、インスタンスのデータベース中で検索するステップと、
該インスタンスを推奨する通知を該ユーザに送達するステップとを行う、方法。
【請求項１５】
前記正のアフィニティ係数が所定の数値よりも大きい、請求項１４に記載の方法。
【請求項１６】
命令を含む非一時的コンピュータ可読媒体であって、前記命令が実行されたとき、前記命令が、
自由形式テキストを含む入力をユーザから受け取り、
該自由形式テキストの自然言語処理の適用を通して、該入力に関連する１つまたは複数のオブジェクトを決定し、
該自由形式テキストの自然言語処理の適用を通して、該１つまたは複数のオブジェクトに関連する１つまたは複数のアフィニティ宣言を決定し、
該１つまたは複数のオブジェクトから概念のインスタンスを決定し、
該アフィニティ宣言に基づいて該ユーザと該インスタンスとの間のアフィニティ係数を決定し、および、
該アフィニティ係数を該ユーザおよび該インスタンスとの関連でデータ・ストアに記憶するように動作可能である、媒体。
【請求項１７】
前記入力がコンテキスト・データも含む、請求項１６に記載の媒体。
【請求項１８】
前記コンテキスト・データが位置または時刻を含む、請求項１７に記載の媒体。
【請求項１９】
前記コンテキスト・データが特定の位置へのチェックインを含む、請求項１７に記載の媒体。
【請求項２０】
前記コンテキスト・データが、前記ユーザ入力が作用する要素に基づいて推論される、請求項１７に記載の媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、ソーシャル・ネットワーキングに関し、より詳細には、自然言語処理をユーザの自由形式テキスト宣言に適用して、特定のオブジェクトと、これらのオブジェクトに対するユーザのアフィニティ（好感）とを識別することに関する。
【背景技術】
【０００２】
コンピュータ・ユーザは、様々なローカルおよびワイド・エリア・コンピュータ・ネットワーク（プロプラエタリ・ネットワーク、ならびにインターネットなどの公衆ネットワークを含む）を介して、大量の情報にアクセスしこの情報を共有することができる。通常、ユーザのコンピューティング・デバイスにインストールされたウェブ・ブラウザが、様々なネットワーク・サーバに位置する情報へのアクセスおよびこの情報との対話を容易にし、この情報は例えば、関連するユニフォーム・リソース・ロケータ（ＵＲＬ）によって識別される。ユーザによって生成されたコンテンツの共有を可能にするための従来の手法は、ソーシャル・ネットワーキング・ウェブサイトなど、様々な情報共有技術またはプラットフォームを含む。このようなウェブサイトは、他のユーザによって作成またはカスタマイズされた「プロフィール」ページをユーザが閲覧できるようにするアプリケーションのためのプラットフォームを備えるか、そうしたプラットフォームにリンクされるか、またはそうしたプラットフォームを提供することができ、他のユーザからこのようなプロフィールが見える度合い、および他のユーザによるこのようなプロフィールとの対話は、いくつかの特徴的な規則セットによって管理される。例として、ユーザ・プロフィールは、連絡先情報、背景情報、職業／経歴情報、ならびに関心など、ユーザによって宣言された情報を含む場合がある。
【０００３】
従来のソーシャル・ネットワークの１つは、個人、グループ、エンティティ、または組織（「ノード」と一般に呼ばれる）で構成されるソーシャル構造であり、これらのノードは、１つまたは複数の特定タイプの相互依存性によって結び付けられる（接続される）。ソーシャル・ネットワーク（グラフ）分析は、ソーシャル関係を、ノードとエッジとからなるネットワーク理論の点から見る。ノードは、ネットワーク内の個々の動作主体であり、エッジは、動作主体間の関係である。結果として得られるグラフベースの構造は、しばしば非常に複雑である。ノード間には多くの種類のエッジが存在する可能性がある。ソーシャル・ネットワークまたはソーシャル・グラフは、その最も単純な形では、検討されている全てのノード間の、関連する全てのエッジのマップである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザは、他の非ユーザ・ノードと対話し、様々なアクションを通してノードに対するアフィニティを明示的に表現することができる。しかし、ソーシャル・ネットワーク上でのユーザ・アクションのかなりの部分は、非ユーザ・ノードがはっきりと識別されることも、アフィニティがはっきりと述べられることもなく行われる。自然言語処理を適用することで、ソーシャル・ネットワークは、この膨大な未開発の情報を定量化し、これを活用してユーザおよび広告主にとってのソーシャル・ネットワーキング体験を向上させることができる。
【課題を解決するための手段】
【０００５】
本発明の第１の実施例によれば、１つまたは複数のコンピューティング・システムによって、自由形式テキストを含む入力をユーザから受け取ること、該自由形式テキストの自然言語処理の適用を通して、該入力に関連する１つまたは複数のオブジェクトを決定する
こと、該自由形式テキストの自然言語処理の適用を通して、該１つまたは複数のオブジェクトに関連する１つまたは複数のアフィニティ宣言を決定すること、該１つまたは複数のオブジェクトから概念のインスタンスを決定すること、該アフィニティ宣言に基づいて該ユーザと該インスタンスとの間のアフィニティ係数を決定すること、および、該アフィニティ係数を該ユーザおよび該インスタンスとの関連でデータ・ストアに記憶することからなる、方法を要旨とする。
【０００６】
本発明の第２の実施例によれば、第１の実施例において、前記入力がコンテキスト・データも含むことを要旨とする。
第３の実施例によれば、第２の実施例において、前記コンテキスト・データが位置を含むことを要旨とする。
【０００７】
第４の実施例によれば、第２の実施例において、前記コンテキスト・データが時刻を含むことを要旨とする。
第５の実施例によれば、第２の実施例において、前記コンテキスト・データが特定の位置へのチェックインを含むことを要旨とする。
【０００８】
第６の実施例によれば、第２の実施例において、前記コンテキスト・データが、前記ユーザ入力が作用する要素に基づいて推論されることを要旨とする。
第７の実施例によれば、第１の実施例において、前記アフィニティ係数が正または負の数値である場合があることを要旨とする。
【０００９】
第８の実施例によれば、第７の実施例において、前記自然言語処理が、クラウドソーシングされた形容詞またはオブジェクトからなる辞書を利用することを要旨とする。
第９の実施例によれば、第８の実施例において、前記アフィニティ係数が、前記アフィニティ宣言中に見られる形容詞の相対的な強度に基づくことを要旨とする。
【００１０】
第１０の実施例によれば、第１の実施例において、前記インスタンスがソーシャル・グラフ中にノードとして存在するかどうか判定すること、該インスタンスが該ソーシャル・グラフ中に存在しない場合に、該決定されたインスタンスを表すノードを該ソーシャル・グラフ中で作成することをさらに含むことを要旨とする。
【００１１】
第１１の実施例によれば、第１０の実施例において、前記ノードが、前記ソーシャル・グラフにアクセスするソーシャル・ネットワークのユーザから隠蔽されることを要旨とする。
【００１２】
第１２の実施例によれば、第１１の実施例において、前記アフィニティを記憶することが、前記ユーザを表すノードと前記インスタンスを表す前記ノードとを接続するエッジを作成することを含むことを要旨とする。
【００１３】
第１３の実施例によれば、第１の実施例において、前記ユーザがソーシャル・グラフ中で第１のノードによって表され、前記インスタンスが該ソーシャル・グラフ中で第２のノードによって表され、前記アフィニティ係数を記憶することが、該第１のノードと該第２のノードとを接続するエッジを作成することを含むことを要旨とする。
【００１４】
第１４の実施例によれば、１つまたは複数のコンピューティング・システムによって、
自由形式テキストを含む入力をユーザから受け取ること、該自由形式テキストへの自然言語処理の適用を通して、該入力に関連する１つまたは複数のオブジェクトを決定すること、該決定された１つまたは複数のオブジェクトにほぼ関係する、所定数の正のアフィニティ係数が関連付けられたインスタンスを、インスタンスのデータベース中で検索するこ
と、および、該インスタンスを推奨する通知を該ユーザに送達することからなる、方法を要旨とする。
【００１５】
第１５の実施例によれば、第１４の実施例において、前記正のアフィニティ係数が所定の数値よりも大きいことを要旨とする。
第１６の実施例によれば、命令を含む非一時的コンピュータ可読媒体であって、前記命令が実行されたとき、前記命令が、自由形式テキストを含む入力をユーザから受け取り、該自由形式テキストの自然言語処理の適用を通して、該入力に関連する１つまたは複数のオブジェクトを決定し、該自由形式テキストの自然言語処理の適用を通して、該１つまたは複数のオブジェクトに関連する１つまたは複数のアフィニティ宣言を決定し、該１つまたは複数のオブジェクトから概念のインスタンスを決定し、該アフィニティ宣言に基づいて該ユーザと該インスタンスとの間のアフィニティ係数を決定し、該アフィニティ係数を該ユーザおよび該インスタンスとの関連でデータ・ストアに記憶するように動作可能である、媒体を要旨とする。
【００１６】
第１７の実施例によれば、第１６の実施例において、前記入力がコンテキスト・データも含むことを要旨とする。
第１８の実施例によれば、第１７の実施例において、前記コンテキスト・データが位置または時刻を含むことを要旨とする。
【００１７】
第１９の実施例によれば、第１７の実施例において、前記コンテキスト・データが特定の位置へのチェックインを含むことを要旨とする。
第２０の実施例によれば、第１７の実施例において、前記コンテキスト・データが、前記ユーザ入力が作用する要素に基づいて推論されることを要旨とする。
【図面の簡単な説明】
【００１８】
【図１】例示的なソーシャル・ネットワーク環境の例示的なコンピュータ・ネットワーク環境を示す図。
【図２】例示的なソーシャル・ネットワーク環境の例示的なコンポーネントを示す図。
【図３】例示的なソーシャル・グラフを示す図。
【図４Ａ】自由形式テキストを含む例示的なユーザ・アクションを示す図（図中、「アンドロイド」は商標である）。
【図４Ｂ】自由形式テキストを含む例示的なユーザ・アクションを示す図。
【図４Ｃ】自由形式テキストを含む例示的なユーザ・アクションを示す図（図中、「ｉＰｈｏｎｅ」は商標である）。
【図５】例示的な概念プロフィール・ページを示す図。
【図６】自然言語処理を通して係数を計算するための例示的な方法を示すフローチャート。
【図７】例示的なネットワーク環境を示す図。
【図８】例示的なコンピュータ・システム・アーキテクチャを示す図。
【発明を実施するための形態】
【００１９】
特定の実施形態は、統合ソーシャル・ネットワーク環境を可能にするインフラストラクチャまたはプラットフォーム（以下ではインフラストラクチャとプラットフォームは交換可能に使用される場合がある）を備えるソーシャル・ネットワーク環境に関する。本開示においては、ソーシャル・グラフ情報を含むソーシャル・グラフの点から、ソーシャル・ネットワーク環境について述べる場合がある。特定の実施形態では、ソーシャル・ネットワーク環境を実現する、ソーシャル・ネットワーク環境の１つまたは複数のコンピューティング・システムは、本願明細書に述べるソーシャル・ネットワーク環境を実現する際に
使用されるソーシャル・グラフ情報を含むデータ構造を備えるか、記憶するか、またはそのようなデータ構造へのアクセスを有する。ソーシャル・ネットワークは、ソーシャル・ネットワーク環境中のユーザおよび概念を表すノードと、このようなノード間の接続を定義するかまたは表すエッジとを含むソーシャル・グラフを利用する。自然言語処理を適用することで、ソーシャル・ネットワーキング・システムは、どんな明示的なオブジェクト識別子もない自由形式テキストから、またはいずれかの明示的なオブジェクト識別子に関連する自由形式テキストから、ユーザ・ノードと概念ノードとの間のアフィニティ・エッジを論理的に割り当てることができる。
【００２０】
特定の実施形態では、ソーシャル・グラフ情報は、それぞれのユーザに各々対応するユーザ・ノードの第１のセットと、それぞれの概念に各々対応する概念ノードの第２のセットとを含む。本願明細書において、「ユーザ」は、このようなソーシャル・ネットワーク環境と対話もしくは通信するか、またはこのようなソーシャル・ネットワーク環境を介して対話もしくは通信する、個人（人間のユーザ）、エンティティ（例えば企業、事業、もしくは第三者アプリケーション）、またはグループ（例えば個人もしくはエンティティの）とすることができる。本願明細書において、「概念」とは、それに対する関心、好み、または関係をユーザが宣言するかまたは他の方法で表明することのできる、ほぼどんなものも指すことができ、例としてこれは、スポーツ、スポーツ・チーム、音楽ジャンル、作曲家、趣味、事業（企業）、エンティティ、グループ、第三者アプリケーション、著名人、登録ユーザでない人物、などである。特定の実施形態では、各ノードは、ソーシャル・ネットワーク環境中でホストされるかまたはアクセス可能な対応するウェブ・ページ（プロフィール・ページ）を有するか、表すか、またはそのようなウェブ・ページによって表される。
【００２１】
例として、ユーザ・ノードは、対応するユーザ・プロフィール・ページを有することができ、このユーザ・プロフィール・ページ中では、対応するユーザが、コンテンツを追加すること、宣言を行うこと、および他の方法で自分を表現することができる。一方、概念ノードは、対応する概念プロフィール・ページ（ハブ）を有することができ、この概念プロフィール・ページ中では、複数のユーザが、特にその概念との関係で、内容を追加すること、宣言を行うこと、および自分を表現することができる。特定の実施形態では、ソーシャル・グラフ情報はさらに、ソーシャル・グラフ中の対応する１対のノードの間の接続をそれぞれが定義するかまたは表す複数のエッジを含む。
【００２２】
特定の実施形態では、ソーシャル・グラフは、概念ノードのサブカテゴリを含む。第１に、属性ノードは、ユーザ・ノードに、または対応するハブ・ページを必ずしも有するとは限らない他の概念ノードに接続される概念ノードであり、ソーシャル・ネットワークのユーザから必ずしも見えるとは限らない。例えば、ソーシャル・ネットワークは、特定のユーザがスポーツ・ゲームにエッジ接続されていることに基づいて、このユーザが「スポーツ」または「アクション・ゲーム」に対するアフィニティを有すると推論することができる。これらの属性ノードはソーシャル・ネットワークによって動的に生成され、一般に、このような広いカテゴリについてのハブ・ページは、ソーシャル・ネットワークのユーザにとって、無意味であるか、または、ほとんどもしくは全く有用でないことになる。
【００２３】
同様に、概念がハブ・ページを有することが意味をなさないような狭い概念に対するアフィニティをユーザが表現する場合、このアフィニティは、属性ノードとしてソーシャル・グラフ上で追跡されるが、ユーザから公に見えることはない。例えば、ユーザが、ハブ・ページを有する特定のレストランにチェックインし、また、このレストランの特定の料理に対するアフィニティを表現した（例えば「レストランＸのフォアグラは驚きだ」）場合、ソーシャル・ネットワークは、自然言語プログラミングを使用して、属性ノード（レストランＸのフォアグラ）に対する「いいね」など、アフィニティを決定することができ
る。特定の実施形態では、ある属性ノードへの接続の数が所定数を超えたとき、ソーシャル・ネットワークは、この属性ノードについてのハブ・ページを動的に作成する。特定の実施形態では、ソーシャル・ネットワークは、属性ノードに関連する概念ノードの管理者（この例では、レストランＸの管理者）にメッセージを送り、属性ノードのサブページを作成して欲しいかどうか尋ねることになる。前述のような隠れ属性ノードは、「アクション・ゲーム」や「保守派」などの一般概念、または「フォアグラ」や「ステーキ」などのオブジェクトに対応する場合がある。この区別は、属性の範囲によっては曖昧である。例えば、属性ノードが「発行元Ｘからのアクション・ゲーム」に対応する場合がある。本開示において、用語「属性ノード」と「オブジェクト・ノード」は、交換可能に使用される。
【００２４】
いくつかの実施形態では、各エッジは、ソーシャル・グラフ中でエッジが接続するノードのタイプに少なくとも部分的に基づく複数のエッジ・タイプのうちの１つとすることができる。例として、特定の一実施形態では、第１のエッジ・タイプからの各エッジは、第１のセットからの１対のユーザ・ノード間の接続を定義し、第２のエッジ・タイプからの各エッジは、第１のセットからのユーザ・ノードと第２のセットからの概念ノードとの間の接続を定義する。さらに、第３のエッジ・タイプからの各エッジは、第２のセットからの１対の概念ノード間の接続を定義することができる。このような実施形態では、エッジ自体が、エッジが接続する１対のノード間の接続のタイプを定義するデータを記憶するかまたはそのようなデータと共に記憶されてよく、このデータは例えば、適切なまたは関連するデータの中でもとりわけ、エッジが接続するノードのタイプ（例えばユーザまたは概念）、エッジによって接続される１対のノードのうちの一方の管理者の、エッジが接続する他方のノードに対するアクセス特権（例えば、エッジによって接続される他方のノードに対する、一方のノードの管理者の読取りまたは書込みアクセス）を記述するデータ、あるいは、エッジが最初にどのようにまたはなぜ初期化または作成されたか（例えば、明示的なユーザ・アクションもしくは宣言に応答して、または明示的なユーザ・アクションなしで自動的に）、エッジによって接続されるノードに関係するかまたはそれらのノードによって共有される様々な要因または基準によって決定される接続強度を記述するデータなどである。代替の一実施形態では、各エッジは単に、エッジが接続するノードのタイプにかかわらず、ノード間の接続を定義するかまたは表すことができる。すなわち、エッジ自体は、エッジが接続するノードの識別子を記憶するかまたはそのような識別子と共に記憶されるが、エッジが接続する１対のノード間の接続のタイプを記述するデータは記憶しないかまたはそのようなデータと共には記憶されないものとすることができる。さらに、これらのまたは他の実施形態のいずれにおいても、エッジによって接続されるノード間の接続または関係のタイプを示すことのできるデータが、ノード自体と共に記憶されてよい。
【００２５】
特定の実施形態では、概念データベースは、既知の概念の、ならびに、いくつかの実施形態では、それぞれの概念に関連する様々な属性、メタデータ、または他の情報の、インデックスを含む。特定の実施形態では、１つまたは複数のバックエンド（サーバ側）工程が、１つまたは複数の外部データ・ソース（例えばＷＩＫＩＰＥＤＩＡ（ｗｗｗ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ）、ＦＲＥＥＢＡＳＥ（ｗｗｗ．ｆｒｅｅｂａｓｅ．ｃｏｍ。ＭＥＴＡＷＥＢから利用可能）、または一般にインターネット）をクロールして、概念データベースの生成またはデータ投入を円滑化または補助する。いくつかの実施形態では、概念データベースはまた、本願明細書に述べるソーシャル・ネットワーク環境のユーザから抽出された情報で増補されてもよい。
【００２６】
ソーシャル・ネットワーキング・システムのユーザは、概念ノードおよびそれらのハブと様々な方法で対話することができる。例えば、ユーザは、ハブ上のボタンをクリックして、ハブおよび関連する概念ノードが「好き」であることを明示的に示すことができる。特定の実施形態では、ユーザは、ハブ・ページに関連する実世界の位置に「チェックイン
」することができる。特定の実施形態では、ユーザは、特定のハブおよび関連する概念ノードの「ファン」になることができる。特定の実施形態では、ユーザは、ハブ・ページを明示的に識別し、ハブ・ページ上でコメントまたはレビューを投稿することができる。これらの対話は、ソーシャル・ネットワークの内または外で行われる場合があるが、ハブ・ページの明示的な識別と、ハブに関連する概念ノードに対する明示的なアフィニティとを少なくとも含む可能性がある。しかし、ソーシャル・ネットワーク上での大多数のアクションは、ハブの識別も、明示的に示されるアフィニティも含まない。
【００２７】
ソーシャル・ネットワークのユーザは、自由形式テキストをタイプ入力することを主に含むアクションを行うことができる。特定の実施形態では、ユーザは、「ステータス・メッセージ」として自由形式テキストをタイプ入力することができる。特定の実施形態では、ユーザは、自分自身のウォール、別のユーザのウォール、またはハブ・ページのウォール上に、コメントの形で自由形式テキストを入力することができる。特定の実施形態では、ユーザは、フォト・アルバム、個別の写真またはビデオ、投稿されたリンクなど、ソーシャル・ネットワーキング・ウェブサイト上の任意の他のページの任意の要素に対して、コメントすることができる。特定の実施形態では、ソーシャル・ネットワーキング・サイトのユーザは、電子メール、テキスト・メッセージ、またはインスタント・メッセージの形で、私的なメッセージを相互に送ることができる。特定の実施形態では、ユーザは、明示的なオブジェクト／ハブ識別子を含むかまたは明示的なアフィニティの表現を含む自由形式テキストを、別のユーザ・アクションに付加することができる。例えば、ユーザは、ある位置にチェックインし、自分のチェックインに関連して、「天気とマンゴー・マルガリータを楽しんでいます」などの自由形式テキストを付加する場合がある。特定の実施形態では、ユーザは、ハブまたはオブジェクトを暗黙的に識別する自由形式テキストを、ソーシャル・ネットワーキング・システムの要素に対して投稿することができる。例えば、ユーザは、自分の友達によって共有される、ニューヨーク・タイムズへの記事へのリンクに対して、コメントする場合がある。ユーザのコメントがニューヨーク・タイムズの記事の明示的な識別を含まなくても、記事を共有するリンクに関連してこのコメントが配置されていることで、暗黙的なオブジェクトまたはハブ識別子があることが示される。
【００２８】
特定の実施形態では、ソーシャル・ネットワーキング・システム上のアプリケーションが、ユーザによって投稿された全ての自由形式テキストを解析し、自然言語処理を通して、１つまたは複数のオブジェクトと、アフィニティに対する１つまたは複数のアフィニティとを識別する。このオブジェクトおよびアフィニティは、ソーシャル・ネットワーキング・システムまたはその広告主によって活用されるように、ソーシャル・グラフに記憶することができる。
【００２９】
このようなソーシャル・ネットワーキング・プラットフォームの様々な部分は、限定ではなく例としてより詳細に後述するように様々なソフトウェア・コンポーネントまたは工程が特定の実施形態を実施できるようにするハードウェア・アーキテクチャまたはソフトウェア・フレームワークを介して、実現することができる。このプラットフォームは、１つまたは複数のハードウェアまたはソフトウェア・コンポーネントを備えてよく、これらのコンポーネントの１つまたは複数は、１つまたは複数の統合または分散コンピューティング・システム中で位置するかまたは実現されてよい。加えて、本願明細書において、「または（もしくは、あるいは）」は、「または」だけでなく「および（ならびに、〜と）」も含意し得る。すなわち、「または」は、明示的に言及されるか暗黙的に含意されない限り、「および」を必ずしも除外しない。
【００３０】
先に述べたように、様々な例示的な実施形態で、述べる１つまたは複数のウェブ・ページまたはウェブ・アプリケーションは、ソーシャル・ネットワーク環境またはソーシャル・ネットワーキング・サービスに関連する。本願明細書において、「ユーザ」は、このよ
うなソーシャル・ネットワーク環境と対話もしくは通信するか、またはこのようなソーシャル・ネットワーク環境を介して対話もしくは通信する、個人（人間のユーザ）、エンティティ（例えば企業、事業、もしくは第三者アプリケーション）、またはグループ（例えば個人もしくはエンティティの）とすることができる。本願明細書において、「登録ユーザ」とは、ソーシャル・ネットワーク環境内で正式に登録されたユーザを指す（一般に、本願明細書に述べるユーザおよびユーザ・ノードとは登録ユーザのみを指すが、これは他の実施形態では必ずしも要件ではない。すなわち、他の実施形態では、本願明細書に述べるユーザおよびユーザ・ノードとは、本願明細書に述べるソーシャル・ネットワーク環境に登録されていないユーザを指す場合もある）。特定の実施形態では、登録ユーザは、ソーシャル・ネットワーク環境によって記憶またはホストされ他のユーザの全てまたは選択されたサブセットによって閲覧可能な、対応する「プロフィール」ページを有する。一般に、ユーザは、それぞれの自己プロフィール・ページの全部または一部に対して、ならびに場合によっては、特定ユーザによってまたは特定ユーザについて作成された他のページ（これらには例えば、可能性のなかでもとりわけ、ホーム・ページ、ウェブ・アプリケーションをホストするページが含まれる）に対して、管理権限を有する。本願明細書において、「認証ユーザ」とは、そのユーザが管理権限を有する対応するプロフィール・ページ中で本人を主張するユーザとして、あるいは主張するユーザの適切な信頼される代理人として、ソーシャル・ネットワーク環境によって認証されたユーザを指す。
【００３１】
本願明細書において、「接続」は、ソーシャル・ネットワーク環境のユーザまたは概念の間の、定義された関係を表すことができる。この関係は、ソーシャル・ネットワーク環境の適切なデータ構造中で論理的に定義することができ、また、接続がなされた対象であるソーシャル・ネットワーク環境のユーザまたは概念に対応するノード間の関係（以下ではエッジと呼ばれる）を定義するのに使用することができる。本願明細書において、「フレンドシップ」は、定義されたソーシャル関係など、ソーシャル・ネットワーク環境の１対のユーザ間の接続を表す。本願明細書において、「友達」は、ソーシャル・ネットワーク環境の任意のユーザに対して別のユーザが接続、フレンドシップ、関連、または関係を形成して、２人のユーザ間にエッジを生成させた場合の、この任意のユーザを指すことができる。例として、２人の登録ユーザが、明示的に相互と友達になることができる。これは例えば、２人のユーザのうちの一方が、フレンドシップ要求を他方のユーザに送信するかまたは送信させた結果として、他方のユーザをフレンドシップに選択することになどよって行われ、次いで他方のユーザは、この要求を受諾または拒否することができる。別法として、フレンドシップまたは他の接続は、自動的に確立されてもよい。このようなソーシャル・フレンドシップは、他のユーザから、特に自分自身がこれらの登録ユーザの一方または他方と友達であるようなユーザから、見えてもよい。登録ユーザの友達はまた、登録ユーザのプロフィール・ページまたは他のページ上のコンテンツ、特にユーザによって生成または宣言されたコンテンツに対して、より多くのアクセス特権を有することができる。しかし、ソーシャル・グラフ中で友達接続が間に確立された２人のユーザは、実生活（ソーシャル・ネットワーキング環境の外）では必ずしも友達（従来の意味での）とは限らない場合があることに留意されたい。例えば、いくつかの実装形態では、ユーザは、事業または他の非人間エンティティである場合があり、したがって、この言葉の従来の意味で人間のユーザと友達になることはできない場合がある。
【００３２】
本願明細書において、「ファン」は、ソーシャル・ネットワーク環境中でアクセスできる特定のウェブ・ページ、ウェブ・アプリケーション、または他のウェブ・コンテンツのサポータであるユーザを指すことができる。特定の実施形態では、あるユーザが特定のウェブ・ページのファンである（特定のウェブ・ページの「ファン」になる）とき、このユーザは、他の登録ユーザまたは一般大衆が見られるように、このページ上にファンとしてリストされてよい。加えて、ユーザのアバターまたはプロフィール・ピクチャが、ページ上（または後述するいずれかのページ中もしくはページ上）に表示されてよい。本願明細
書において、「いいね」とは、限定ではなく例として、ユーザ、特に登録ユーザまたは認証ユーザが、好きであるか、ファンであるか（本願明細書においては、様々な例示的実施形態で、概念や概念プロフィール・ページなどの何かに対して「いいね」と言うこと、すなわち「ファン」になることは、ソーシャル・ネットワーキング環境では等価に定義することができ、交換可能に使用することができる。同様に、自分自身が概念や概念プロフィール・ページなどの何かの「ファン」であると宣言すること、または自分自身がそれを「いいね」と思うと宣言することは、ソーシャル・ネットワーキング環境では等価に定義することができ、本願明細書では交換可能に使用することができる）、支持するか、楽しむか、さもなければ肯定的な印象を持っていると、宣言するかまたは他の方法で表明した何らかのもの（関心、リンク、メディア（例えば写真、フォト・アルバム、ビデオ、楽曲など）、概念、エンティティ、またはページなど）を指すことができる。本願明細書において、「関心」とは、ユーザによって宣言された関心（ユーザのプロフィール・ページ中で提示される、ユーザによって宣言された関心など）を指すことができる。本願明細書において、「欲しい」とは、ユーザが欲するほぼどんなものも指すことができる。前述のように、「概念」は、それに対する関心、好み、または関係をユーザが宣言するかまたは他の方法で表明することのできる、ほぼどんなものも指すことができ、例としてこれは、スポーツ、スポーツ・チーム、音楽ジャンル、作曲家、趣味、事業（企業）、エンティティ、グループ、第三者アプリケーション、著名人、登録ユーザでない人物、さらには、いくつかの実施形態では、別のユーザ（例えば未認証ユーザ）、などである。例として、有名なプロ・フットボール選手「ジェリー・ライス」についての概念ノードおよび概念プロフィール・ページがあり、複数のユーザのうちの１人または複数（例えばジェリー・ライス以外の人）によって作成され管理されるものとすることができるが、ソーシャル・グラフは追加で、ジェリー・ライス自身によって作成され管理される、ジェリー・ライスについてのユーザ・ノードおよびユーザ・プロフィール・ページを含む。特定の実施形態では、後でより詳細に述べるように、友達接続またはフレンドシップは、ソーシャル・グラフ中のユーザ・ノード間のエッジによって定義されるかまたは表される論理接続を定義するかまたは示すことができ、一方、関心または関連を一般に表明する「いいね」、「欲しい」、「ファン」、または他の接続は、ソーシャル・グラフ中のユーザ・ノードと概念ノードとの間（および、いくつかの実施形態では、２つのユーザ・ノード間または２つの概念ノード間）の論理接続またはエッジを定義することができる。他のエッジ・タイプは、楽曲や動画などのオブジェクトに対してユーザが行った特定のアクションに対応する可能性がある。例えば、追加のエッジ・タイプは、コンテンツまたはオブジェクトを購入すること、コンテンツを見たり聴いたりすること、コンテンツを共有すること、コンテンツをブックマークすることなどに対応するエッジ・タイプを含むことができる。
【００３３】
特定の実施形態は、インターネットなど、複数のネットワーク・アドレッサブル・システムを含むワイド・エリア・ネットワーク環境中で、またはそのような環境との関連で、動作することができる。図１に、様々な例示的実施形態が動作することのできる例示的なネットワーク環境を示す。ネットワーク・クラウド６０は、１つまたは複数の相互接続されたネットワークを全体的に表し、これらのネットワークを介して、本願明細書に述べる様々なシステムおよびホストが通信することができる。ネットワーク・クラウド６０は、パケットベースのワイド・エリア・ネットワーク（インターネットなど）、私設ネットワーク、ワイヤレス・ネットワーク、衛星ネットワーク、セルラー・ネットワーク、ページング・ネットワークなどを含んでよい。図１に示すように、特定の実施形態は、ソーシャル・ネットワーク環境２０およびクライアント・デバイス３０、ならびにいくつかの実施形態では、１つもしくは複数の第三者ウェブ・アプリケーション・サーバ４０、または１つもしくは複数の企業サーバ５０を含むネットワーク環境との関連で動作することができる。クライアント・デバイス３０、ウェブ・アプリケーション・サーバ４０、および企業サーバ５０は、ネットワーク・サービス・プロバイダ、ワイヤレス・キャリア、１組のルータもしくはネットワーキング・スイッチ、または他の任意の適切な手段を介して、ネッ
トワーク環境およびネットワーク・クラウド６０に動作可能に接続されてよい。
【００３４】
各クライアント・デバイス３０、ウェブ・アプリケーション・サーバ４０、または企業サーバ５０は一般に、コンピュータ・ネットワークを介して通信する（例えばリモートに）ための機能を備えた、コンピュータ、コンピューティング・システム、またはコンピューティング・デバイス（図８に関して後述するものなど）とすることができる。クライアント・デバイス３０は特に、適切なコンピューティング・デバイスの中でもとりわけ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、パーソナル・ディジタル・アシスタント（ＰＤＡ）、車内もしくは車外ナビゲーション・システム、スマート・フォンまたは他のセルラーもしくはモバイル・デバイス、あるいはモバイル・ゲーミング・デバイスとすることができる。クライアント・デバイス３０は、図２Ｂに示すように、ウェブ・ブラウザ（例えばＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸ、ＡＰＰＬＥ  ＳＡＦＡＲＩ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、およびＯＰＥＲＡ等）など、１つまたは複数のクライアント・アプリケーションを実行して、コンピュータ・ネットワーク６０を介してコンテンツへのアクセスおよびコンテンツの閲覧を行うことができる。特定の実装形態では、クライアント・アプリケーションにより、クライアント・デバイス３０のユーザは、ソーシャル・ネットワーク環境２０、ウェブ・アプリケーション・サーバ４０、または企業サーバ５０によってホストされるリソースなど、取り出すべき特定のネットワーク・リソースのアドレスを入力することができる。これらのアドレスは、ユニフォーム・リソース・ロケータ（ＵＲＬ）とすることができる。加えて、ページまたは他のリソースが取り出された後は、クライアント・アプリケーションは、他のリソースへのハイパーリンクをユーザがクリックしたときに他のページまたはレコードへのアクセスを提供することができる。例として、このようなハイパーリンクは、ウェブ・ページ内に位置してよく、ユーザが別のページのＵＲＬを入力してそのページを取り出すための自動化された方法を提供することができる。
【００３５】
特に、クライアント・デバイス３０におけるユーザが、ソーシャル・ネットワーク環境２０によってホストされる特定のウェブ・ページ（以下ではターゲット構造化ドキュメントとも呼ばれる）を閲覧したいとき、または、ウェブ・アプリケーション・サーバ４０によってホストされソーシャル・ネットワーク環境２０との関連で利用可能になるウェブ・アプリケーションを閲覧したいとき、ユーザのウェブ・ブラウザは、またはクライアント側の他の構造化ドキュメント・レンダリング・エンジンもしくは適切なクライアント・アプリケーションは、要求を作成してソーシャル・ネットワーク環境２０に送信する。要求は一般に、ＵＲＬまたは他のドキュメント識別子、ならびにメタデータまたは他の情報を含む。例として、要求は、ユーザＩＤなどのユーザ識別情報と、ユーザのクライアント・コンピューティング・デバイス３０上で実行されているウェブ・ブラウザまたはオペレーティング・システムを識別するかまたは特徴付ける情報とを含むことができる。要求はまた、ユーザのクライアント・デバイスの地理的位置、またはユーザのクライアント・デバイスの論理的なネットワーク位置を識別する位置情報と、いつ要求が送信されたかを識別するタイムスタンプとを含むことができる。
【００３６】
例示的な１実装形態では、ソーシャル・ネットワーク環境２０によってホストされるウェブ・ページまたは構造化ドキュメントを求める要求が、ソーシャル・ネットワーク環境２０によって受け取られると、通常、ソーシャル・ネットワーク環境２０内で実行される１つまたは複数のページ生成工程が、ハイパー・テキスト・マークアップ言語（ＨＴＭＬ）、拡張可能マークアップ言語（ＸＭＬ）、または他の、ウェブ・ブラウザによってサポートされる構造化ドキュメントの形で、ベース・ウェブ・ページを生成する。次いで、生成された構造化ドキュメントは、クライアント・デバイスにおいてウェブ・ブラウザによってレンダリングされるよう、ハイパーテキスト・トランスファー・プロトコル（ＨＴＴ
Ｐ）または他の適切な接続を介して、応答（１つもしくは複数の部分または部分的応答を含む場合がある）の中で要求元クライアント３０に送信される。構造化ドキュメントは、１つもしくは複数のリソース（例えばＪＡＶＡ（登録商標）Ｓｃｒｉｐｔスクリプト、コード・セグメント、もしくはリソース、カスケーディング・スタイル・シート（ＣＳＳ）コード・セグメントもしくはリソース、画像データもしくはリソース、ビデオ・データもしくはリソースなど）、またはそのようなリソースへの参照が、送信されるドキュメント内に埋め込まれているものとすることができる。例として、ＨＴＭＬドキュメントに埋め込まれたリソースは一般に、リソースのタイプに応じて、とりわけスクリプト要素、画像要素、またはオブジェクト要素内に含まれるかまたはそのような要素内で指定される場合がある。リソースを参照または指定する要素は、リソースの位置を識別するソース属性（例えばｓｒｃ）を含むことができ、リソースは、ソーシャル・ネットワーク環境２０内のサーバもしくはデータ・ストア内にあるか、または、ウェブ・ページを要求するクライアント・デバイス３０に対する１つもしくは複数の外部位置にある場合がある。通常、クライアント・デバイス３０において実行されるウェブ・ブラウザまたは他のクライアント・ドキュメント・レンダリング・アプリケーションは、応答を受け取ると、次いで、受け取った構造化ドキュメントのドキュメント・オブジェクト・モデル（ＤＯＭ）表現を構築し、ドキュメントに埋め込まれたリソース（複数可）（１つまたは複数の他の外部位置にある場合がある）を要求する。
【００３７】
例示的な１実装形態では、ソーシャル・ネットワーク環境２０の登録ユーザが最初に所与のユーザ・セッション中でソーシャル・ネットワーク環境２０にウェブ・ページを要求したとき、ソーシャル・ネットワーク環境２０からユーザのクライアント・デバイス３０に送信される応答は、クライアント・デバイスにおいてログイン・ページをレンダリングするための、ページ生成工程によって生成された構造化ドキュメントを含むことができる。次いでユーザは、自分のユーザ・ログイン証明（例えばユーザＩＤおよびパスワード）を入力することができ、次いでこれはユーザのクライアント・デバイス３０からソーシャル・ネットワーク環境２０に送信される。ユーザの認証が成功すると、次いでソーシャル・ネットワーク環境２０は、ユーザのクライアント・デバイス３０におけるユーザのウェブ・ブラウザに応答を送信することができる。この応答は、ユーザのクライアント・デバイスにおいてユーザ・ホームページまたはユーザ・プロフィール・ページをレンダリングするための、ページ生成工程によって生成された構造化ドキュメントを含む。
【００３８】
例示的な一実施形態では、ソーシャル・ネットワーク環境２０は、本願明細書に述べるようにクライアント・デバイス３０におけるユーザが相互と通信するかまたは他の方法で対話してユーザ・プロフィールなどのコンテンツにアクセスすることができるようにするコンピューティング・システムを含む。ソーシャル・ネットワーク環境２０は、様々な例示的な実施形態で、図２に示すように、１つまたは複数の物理サーバ２２ａまたは２２ｂ（以下ではサーバ２２とも総称される）と、本願明細書でデータ・ストア２４と総称される１つまたは複数のデータ・ストア（様々な統合または分散コンピューティング・システム、データベース、またはデータ・サーバの１つまたは複数の中で、またはそれによって実現されてよい）とを含む、ネットワーク・アドレッサブル・システムである。１つまたは複数の物理サーバ２２は、例として１組のルータまたはネットワーク・スイッチ２６を介して、コンピュータ・ネットワーク６０に動作可能に接続される。例示的な一実施形態では、１つまたは複数の物理サーバ２２によってホストされる機能は、ウェブ・サーバまたはＨＴＴＰサーバ、ＦＴＰサーバを含むことができ、さらに、限定ではないが、コモン・ゲートウェイ・インタフェース（ＣＧＩ）スクリプト、ＰＨＰハイパーテキスト・プリプロセッサ（ＰＨＰ）、アクティブ・サーバ・ページ（ＡＳＰ）、ハイパー・テキスト・マークアップ言語（ＨＴＭＬ）、拡張可能マークアップ言語（ＸＭＬ）、ＪＡＶＡ（登録商標）、ＪＡＶＡ（登録商標）Ｓｃｒｉｐｔ、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡ（登録商標）Ｓｃｒｉｐｔ  ａｎｄ  ＸＭＬ）などを使用して実現されるウェブ・
ページおよびアプリケーションを含むことができる。
【００３９】
物理サーバ２２は、ソーシャル・ネットワーク環境２０の動作に向けられた機能をホストすることができる。例として、ソーシャル・ネットワーク環境２０は、１つまたは複数のクライアント・デバイス３０における１人または複数のユーザがウェブサイトを介して情報の閲覧および投稿ならびに相互との通信ができるようなウェブサイトをホストすることができる。以下では複数のサーバ２２を単数のサーバ２２として言及する場合もあるが、先に述べたように、サーバ２２は、ソーシャル・ネットワーク環境２０ならびに他のコンテンツ配信サーバ、データ・ストア、またはデータベースを例えばホストする、多くのサーバを含み得る。データ・ストア２４は、ソーシャル・ネットワーク環境の動作に関係しソーシャル・ネットワーク環境の動作を可能にするコンテンツおよびデータを、コンテンツ・オブジェクトを含めたディジタル・データ・オブジェクトとして記憶することができる。データ・オブジェクトは、特定の１実装形態では、典型的にはデータ・ファイル、データベース、またはレコードに記憶されるか組み入れられる、ディジタル情報の１つである。コンテンツ・オブジェクトは多くの形をとる場合があり、これらは、テキスト（例えばＡＳＣＩＩ、ＳＧＭＬ、ＨＴＭＬ）、画像（例えばｊｐｅｇ、ｔｉｆ、およびｇｉｆ）、グラフィックス（ベクトルベースもしくはビットマップ）、音声、ビデオ（例えばｍｐｅｇ）、または他のマルチメディア、ならびにこれらの組合せを含む。コンテンツ・オブジェクトはまた、実行可能コード・オブジェクト（例えば、ブラウザ・ウィンドウまたはフレーム内で実行可能なゲーム）、ポッドキャストなども含むことができる。論理的には、データ・ストア２４は、１つまたは複数の物理システム上に記憶された論理的に関係付けられたレコードまたはファイルの集積として情報を維持する、様々な個別または統合データベース（関係データベースおよびオブジェクト指向データベースなど）のうちの１つまたは複数に対応する。構造的には、データ・ストア２４は一般に、大きな部類のデータ記憶管理システムのうちの１つまたは複数を含むことができる。特定の実施形態では、データ・ストア２４は、１つまたは複数のデータベース・サーバ、大容量記憶媒体、メディア・ライブラリ・システム、ストレージ・エリア・ネットワーク、データ記憶クラウドなどのコンポーネントを含む、任意の適切な物理システム（複数可）によって実現されてよい。例示的な一実施形態では、データ・ストア２４は、１つもしくは複数のサーバ、データベース（例えばＭｙＳＱＬ）、および／またはデータ・ウェアハウスを含む。
【００４０】
データ・ストア２４は、種々のソーシャル・ネットワーク環境２０ユーザ、クライアント・デバイス３０、ウェブ・アプリケーション・サーバ４０、または企業サーバ５０に関連するデータ、ならびに、特定の実施形態では、様々な概念に関連するデータを含むことができる。前述のように、特定の実施形態は、統合ソーシャル・ネットワーク環境を可能にするプラットフォームを備えるソーシャル・ネットワーク環境２０に関する。後続の例示的な実施形態では、ソーシャル・グラフ情報を含むソーシャル・グラフの点から、ソーシャル・ネットワーク環境を記述または実現することができる。特定の実施形態では、データ・ストア２４は、本願明細書に述べるソーシャル・ネットワーク環境を実現する際に使用されるソーシャル・グラフ情報が記憶されるソーシャル・グラフ・データベースを含む。特定の実施形態では、ソーシャル・ネットワーク環境２０によってデータ・ストア２４（特にソーシャル・グラフ・データベース）に記憶されるソーシャル・グラフ情報は、複数のノードと、対応するノード間の接続を定義する複数のエッジとを含む。特定の実施形態では、ノードまたはエッジ自体は、それらに対応するユーザまたは概念の識別子、属性、および情報（それらに対応するプロフィール・ページの情報を含めた）を含むデータ・オブジェクトであり（後述するように）、これらの識別子、属性、情報のいくらかは、対応するプロフィール・ページまたは他のページ上に実際にレンダリングされる。ノードはまた、それぞれのノードに対応するプロフィール・ページのレンダリングと共にコンテンツをレンダリングする際に使用される他のオブジェクト、データ構造、またはリソースへの、ポインタまたは参照を含むことができる。
【００４１】
図３に、説明のために２次元視覚マップ表現で呈示される、例示的なソーシャル・グラフ３００を示す。特定の実施形態では、ソーシャル・グラフ３００の複数のノードおよびエッジは、データ・オブジェクトとしてデータ・ストア２４に、特にソーシャル・グラフ・データベースに記憶される。加えて、後述するように、データ・ストア２４はさらに、ソーシャル・グラフ・データベースをインデクシングすることによって生成された、ノードまたはエッジの検索可能または照会可能な１つまたは複数のインデックスを含むことができる。特定の実施形態では、複数のノードは、管理されるノード３０２の第１のセット、および管理されないノード３０４の第２のセットを含む。特定の実施形態では、管理されるノード３０２の第１のセットは、ユーザによって管理されるノード（以下では「ユーザ・ノード」とも呼ばれる）であり、各ユーザ・ノードは、それぞれのユーザ、およびそのユーザのそれぞれのユーザ・プロフィール・ページに対応する。特定の実施形態では、ユーザ・ノード３０２に対応するユーザ・プロフィール・ページは、それぞれの所有者（登録）ユーザによって、かつこのユーザによってのみ、修正、書込み、または他の方法で管理することができる（ただし、例えば登録ユーザ側の慎重なまたは他の不適切なアクションの結果として、ソーシャル・ネットワーク環境２０の正式な管理者が一般にユーザのプロフィール・ページを修正または削除するためにアクセスを望むかまたは必要とした場合には、この限りではない）。特定の一実施形態では、ユーザ・ノード３０２の第１のセットは、認証ノード３０２ａの第１のサブセット、および未認証ノード３０２ｂの第２のサブセットを含む。特定の一実施形態では、認証ノード３０２ａの第１のサブセットは、それぞれの認証登録ユーザに対応し、未認証ノード３０２ｂの第２のサブセットは、ソーシャル・ネットワーク環境によって認証されていない登録ユーザに対応する。例えば、認証ユーザは、自分のそれぞれのプロフィール・ページ中で本人を主張する者として検証されたユーザとすることができ、未認証ユーザは、自分のそれぞれのプロフィール・ページ中で本人を主張する者として検証されていないユーザとすることができる（例えば、未認証ユーザが、オバマ大統領でないにもかかわらず、バラク・オバマ大統領の名前でプロフィール・ページを登録する可能性がある）。いくつかの実施形態では、いくつかの既存のユーザ・プロフィール・ページについて、ソーシャル・ネットワーク環境２０は、ユーザ・プロフィール・ページの管理者が本当に主張ユーザの本物の声（ユーザが自分だと主張する本人）であるかどうか判定することができる。現在の管理者が本物のまたは本当の主張ユーザでないと判定された場合は、ソーシャル・ネットワーク環境２０は、ページに対するユーザの管理権限を除去することができる。このようにして、ユーザ・ノードおよび対応するユーザ・プロフィール・ページを、概念ノード３０４および対応する概念プロフィール・ページとして、ソーシャル・グラフ・データベースに記憶されたソーシャル・グラフ情報の中で再定義することができる。さらに、様々な例示的実施形態で、ユーザ・ノード３０２ａおよび３０２ｂは、異なるノード・タイプとして明確に分類される場合もあり、そうでない場合もあることにも留意されたい。すなわち、一実施形態では、ユーザ・ノード３０２は、明示的なユーザ・ノード・タイプまたはサブ・タイプによってではなく、ノードに対応するデータ・オブジェクトと共に記憶されたかまたはその中に記憶されたデータに基づいて、認証ユーザ・ノードまたは未認証ユーザ・ノードとして識別される場合がある。
【００４２】
図４Ａ〜４Ｃに、自由形式テキストを含む場合のある、ソーシャル・ネットワーク上での例示的なユーザ・アクションを説明のために示す。図４Ａには、コンテキスト・データと自由形式テキストとを含む「チェックイン」４００を示す。特定の実施形態では、チェックインは、生成しているユーザ（この例では「ジェーン・スミス」）のページ上と、ソーシャル・ネットワーク上のジェーン・スミスの全ての友達のページ上との両方に現れる。チェックインは、位置４０１を含めたいくつかのコンテキスト情報を含む。位置４０１「トゥルーディズ・メキシカン・グリル」は、ユーザがコンピューティング・デバイス上でチェックイン・ボタンを押すとユーザに提示される位置リストから選択される。特定の
実施形態では、特定の位置はそれぞれ、対応するハブ・ページをソーシャル・ネットワーク上で有することができる。チェックインはまた、４０３のチェックイン時刻など、他のコンテキスト・データも含む。最後に、チェックインは、任意選択で、自由形式テキスト４０２を含むことができる。この場合、自由形式テキスト４０２「メキシカン・マティーニを楽しんでいます」は、ジェーン・スミスによる、トゥルーディズ・メキシカン・グリルのメキシカン・マティーニに対するアフィニティの表現を含む。通常、この情報はソーシャル・ネットワーク中で反映されず、ユーザ情報の膨大な財産が失われる。
【００４３】
特定の実施形態では、コメント４０４で示すように、チェックインを生成しているユーザの友達が、チェックインに対してコメントすることができる。コメント４０４はまた、コメント時刻などのコンテキスト・データを含むことができる。しかしコメント４０４は、位置４０１などの明示的な識別情報は何も含まない。しかし、暗黙的な位置情報をコメント４０４から推論することはできる。例えば、コメントされる要素（この例ではチェックイン４００）が明示的な位置を含む場合、ソーシャル・ネットワーキング・システムは、コメントがその位置（この例では「トゥルーディズ・メキシカン・グリル」４０１）に関係すると見なすことができる。位置に直接関連する要素に対するコメントはその位置に関係する可能性が高いので、ソーシャル・ネットワーキング・システムは、コメント４０４についてのコンテキスト・データとして、位置識別子を推論する。特定の実施形態では、チェックインを生成しているユーザの友達はまた、ボタン４０５を介してチェックインに「いいね」と言うか、またはボタン４０６を介してコメント自体に「いいね」と言うことができる。特定の実施形態では、ユーザがチェックイン４００に「いいね」と言うと、ソーシャル・ネットワーキング・システムは、チェックイン位置４０１に対するアフィニティを自動的に記録する。
【００４４】
図４Ｂに、明示的な位置識別子を含まない典型的な自由形式テキスト・ステータス・メッセージまたはコメントを示す。コメント「７番街／ブロードウェイで最高にロマンティックな時を過ごしたところだ−眺めは驚き！」は、特定の位置を識別するテキストを含むが、通常のソーシャル・ネットワークは、これを自由形式テキスト以外の何かであるとは認識しない。コメントに関連する唯一のコンテキスト・データは、投稿された時刻である。図６の方法を適用することで、位置と位置に対するアフィニティとの両方を生成することができ、これらをユーザと共にプロフィール・データベースに記憶することができる。
【００４５】
図４Ｃに、ユーザによって生成された自由形式テキスト論評を含む共有リンクを示す。ユーザは、ユニバーサル・リソース・ロケータ（ＵＲＬ）を介してアクセス可能な記事、ウェブ・ページ、製品、または他の任意のリソースへのリンクを共有することができる。ユーザ・アクションは、自由形式テキスト論評４１１と、記事へのリンク４１２および投稿時刻の形のコンテキスト・データとを含む。特定の実施形態では、生成したユーザの友達もまた、記事に対するコメント４１３を投稿することができる。
【００４６】
図４Ａ〜４Ｃに描かれたユーザ・アクションは、ユーザ・ノード３０２に対応するユーザのユーザ・プロフィール・ページ上に表示されてよい。特定の実施形態では、ユーザ・プロフィール・ページは、プライバシー設定に応じて、ユーザ、ユーザの友達、さらには友達でない他のユーザからも見える。プライバシー設定は、例えばユーザのプロフィール・ページまたはユーザ・ホームページを介して、ユーザによって設定または修正することができる。特定の実施形態では、ユーザ・プロフィール・ページは、投稿するためにウォール（フィード）にアクセスするためのウォール（フィード）タブを含む（後述する）。
【００４７】
特定の実施形態では、ユーザ・プロフィール・ページはまた、ソーシャル・グラフ・データベースに記憶されたソーシャル・グラフ中のエッジによって定義されるユーザの友達の全てまたはサブセットを表示する友達セクションを含む。特定の実施形態では、ユーザ
が別の第２ユーザに関して行う任意のアクション（第２ユーザがユーザの友達であろうとなかろうと）、また特定の実施形態では、ユーザが様々な概念ノードに関して行うアクションが、最近のアクティビティ・セクションに表示されてよく、このセクションは、ウォール（フィード）タブの下のウォール（フィード）セクション内のサブセクションとして閲覧可能とすることができる。一般に、ウォール（フィード）セクションは、ユーザおよび友達が、ユーザおよび友達が見られるように入力ボックスを介してメッセージを投稿することができ、かつウォール（フィード）上の投稿に関連してコメントするかまたは他の方法で自分を表現することができる、あらゆるユーザのプロフィール・ページ上の空間である。
【００４８】
特定の実施形態では、管理されないノード３０４の第２のセットは、それぞれの概念と、それぞれの概念に充てられたそれぞれの概念プロフィール・ページ（以下では「ハブ」とも呼ばれる）とに各々対応する、管理されないノードである。特定の実施形態では、管理されないノード（「概念ノード」または「ハブ・ノード」とも呼ばれる）３０４は、それぞれの概念プロフィール・ページ（ハブ）を有するノードだが、ハブは通常、いずれか１人のユーザによって管理されることはない。そうではなく、特定の実施形態では、ハブは一般に、ソーシャル・ネットワーク環境２０の任意の登録ユーザによって少なくとも部分的に、管理、作成、書込み、寄与、または修正されてよく、この任意の登録ユーザは、特定の実施形態では、ハブ・ノード３０４との接続を有さないユーザ（すなわち、そのユーザ・ノード３０２が必ずしもソーシャル・グラフ・データベース中のソーシャル・グラフ中のエッジによってハブ・ノード３０４と接続されるとは限らないユーザ）を含む。ある意味では、ハブは、ソーシャル・ネットワーク環境２０の登録ユーザのコミュニティによって管理または寄与されてよい。特定の実施形態では、ハブ・ノード３０４の第２のセットは、非総称ハブにそれぞれ対応する管理されないノード３０４ａの第１のサブセットと、総称ハブにそれぞれ対応する管理されないノード３０４ｂの第２のサブセットとを含む。例として、総称ハブは、ランニングなどの抽象的なアクティビティに充てられたハブとすることができ、非総称ハブは、特定のランナー・クラブに充てられたプロフィール・ページなど、より特定の概念に充てられたハブとすることができる。さらに、様々な例示的実施形態では、ノード３０４ａと３０４ｂは、異なるノード・タイプとして明確に分類される場合もあり、そうでない場合もあることに留意されたい。すなわち、一実施形態では、ハブ・ノード３０４は、明示的なハブ・ノード・タイプまたはサブ・タイプによってではなく、ハブ・ノードに対応するデータ・オブジェクトと共に記憶されたかまたはそのようなデータ・オブジェクト内に記憶されたデータに基づいて、総称ハブ・ノードまたは非総称ハブ・ノードとして識別することができる。
【００４９】
ユーザ・プロフィール・ページと同様、概念プロフィール・ページ（ハブ）は、対応するハブ・ノード３０４に関連する概念に関係する情報を共有する。特定の実施形態では、ｗｉｋｉサイトと同様、ソーシャル・ネットワーク環境２０にログインしてハブを閲覧している登録ユーザは誰でも、ハブにコンテンツを追加することができる。特定の実施形態では、ハブ・ノード３０４は事業を表す場合があり、ノード管理者のみがハブにコンテンツを追加したりハブを修正したりすることができる。図５に、レストラン「トゥルーディズ・メキシカン・グリル」についての例示的なハブを示す。例示的な一実施形態では、かつ図５に示すように、ハブは、情報タブ５０１ａ、友達のアクティビティ・タブ５０１ｂ、近くの場所タブ５０１、写真タブ５０１ｄ、および、ユーザ・プロフィール・ページと同様のウォール（フィード）タブ５０１ｅを介してアクセス可能な、サブページを含むことができる。ハブはまた、写真タブ５０１ｄの下に写真またはピクチャ・セクションを含むことができる。このセクションによりユーザは、概念中の画像、または概念に関係する画像をアップロードすることができ、これらの画像のうちの１つをハブのプロフィール・ピクチャ５０２として選択することができる。
【００５０】
特定の実施形態では、ウォール（もしくはニュース・フィード／アクティビティ・フィード）セクション５０１ｅ、またはハブの他のフィードもしくはアクティビティ・セクションは、このハブを閲覧しているユーザおよびユーザの友達に関連する、コメント、ステータス更新、ウォール投稿、および他のユーザ・アクティビティを表示する。ウォール（もしくはニュース・フィード／アクティビティ・フィード）セクション５０１ｅ、またはハブの他のフィードもしくはアクティビティ・セクションはまた、ハブが作成された対象である概念に関係するコメント、ステータス更新、ウォール投稿、ならびに他のユーザ・アクティビティおよびユーザ生成コンテンツを表示することもできる。特に、ソーシャル・ネットワーキング環境２０内の１つまたは複数の工程は、要求元ユーザおよび要求元ユーザの友達に関連するコメント、ステータス更新、ウォール投稿、および他のユーザ生成コンテンツに対して、概念によってフィルタリングされる検索を実施することができる。すなわち、要求元ユーザおよび要求元ユーザの友達に関係するユーザ・フィードまたはアクティビティのこれらのストリーム中で、現在要求または閲覧されているハブの概念に関係するキーワード（および場合によっては、推奨されるハブに関連する概念に関係するキーワード）を探すキーワード検索を実施することができる。そして、ユーザ概念またはアクティビティのこのサブセットを、現在要求または閲覧されているハブのウォールまたはフィード・セクション５０１ｅに表示することができる。例として、２０１０年２月１１日に出願された「ＲＥＡＬ  ＴＩＭＥ  ＣＯＮＴＥＮＴ  ＳＥＡＲＣＨＩＮＧ  ＩＮ  ＳＯＣＩＡＬ  ＮＥＴＷＯＲＫ」という名称の米国特許出願第１２／７０４，４００号に、このような検索、フィルタリング、および表示を実施するための方法、工程、またはシステムが記載されており、この出願を本願明細書に援用する。ウォールまたはフィード・セクション５０１ｅはまた、先に述べたセクションとは別個とすることのできるセクションも含むことができ、このセクションは、ハブを閲覧しているユーザおよびユーザの友達だけでなく、ハブが作成された対象である概念に関係するソーシャル・ネットワーキング環境２０のあらゆるユーザの、コメント、ステータス更新、ウォール投稿、および他のユーザ・アクティビティを表示する。
【００５１】
特定の実施形態では、特定のハブが作成されたときにハブ中に表示されるデフォルトのセクションは、概念自体に依存する場合がある。すなわち、ハブ・ノード３０４は、ソーシャル・ネットワーク環境２０によってカテゴリ化されてよく、これらのカテゴリ（例えば人、場所、物、アクティビティ、スポーツ、スポーツ・チーム、著名人、都市、位置、映画、俳優、本、レストランなど）は、特定のハブ上にどのセクションが表示されるかを少なくとも部分的に指定することができる。例として、場所ハブは、近くの場所タブ５０１ｃを含むことができ、近くの場所タブ５０１ｃは、同じ地理領域中の他の事業または位置と、事業位置の地図５０４とを表示する。場所ハブはまた、特定の実施形態では、友達アクティビティ・タブ５０１ｂを含むことができ、友達アクティビティ・タブ５０１ｂは、ハブ・ページを閲覧しているユーザの友達のアクティビティ全てを示す。例えば、図４Ａからのチェックイン４００は、場所ページを閲覧しているユーザが、チェックインを生成しているユーザ（この例では「ジェーン・スミス」）の友達である場合に、友達アクティビティ５０３として表示されることになる。
【００５２】
特定の実施形態では、ハブ・ノード３０４およびそれぞれのハブは、ソーシャル・ネットワーク環境２０のユーザによって明示的に作成される場合もあり、様々な基準に基づいて自動的に作成される場合もある。特定の実施形態では、ハブおよびそれぞれのハブ・ノード３０４は、例えば、総称と見なされる（または分類される）か非総称と見なされる（または分類される）かなど、２種類のものとすることができる。特定の１実装形態では、ハブおよびそれぞれのハブ・ノード３０４を「ロック」または「ロック解除」することができる。ハブは、作成時にまたは他の適切な時点で、例えば作成者またはソーシャル・ネットワーク環境２０の管理者によってロックすることができる。前述のように、ハブは本質的にコミュニティによって所有され、したがって、特定の実施形態では、ソーシャル・
ネットワーク環境２０のユーザは誰でも、ハブを編集する（例えばコンテンツまたは宣言をハブに追加する）ことができる。しかし、特定の実施形態では、ロック解除されたハブ中で編集すると、編集は即座に「ライブになる」（ユーザ、またはハブを閲覧している他のユーザから見える状態になる）が、ロックされたハブ中で編集すると、編集は、修正されてユーザに公開される前に、信頼されるユーザまたは管理者による承認を必要とするものとすることができる。加えて、いくつかの実施形態では、ソーシャル・ネットワーク環境２０は、いつ、どのユーザがどのコンテンツをハブに追加したかを追跡することができることに留意されたい。
【００５３】
また、特定の実施形態では、ハブ・ノード３０４に対応するハブ（または未認証ユーザ・ノード３０２ｂに対応する未認証ユーザ・プロフィール・ページ）の真の声（ハブ・ノード３０４がすでに作成されている実際の著名人や事業など）が、これらのノードを自分のものであると主張し、それによりこれらのノードに対する管理権限を担ってこれらのノードをソーシャル・グラフ中で再定義する（例えば登録認証ユーザ・ノード３０２ａ（あるいは認証ハブ・ノード３０４）として）ことができるような手段または工程（例えば選択可能なリンクまたはユーザ・インタフェース）を、ソーシャル・ネットワーク環境２０が提供することにも留意されたい。
【００５４】
図３に示すように、ソーシャル・グラフ・データベースに記憶されたユーザ・ノード３０２およびハブ・ノード３０４は、エッジを介して相互と接続されてよい。前述のように、いくつかの実施形態では、各エッジは、エッジによって接続される１対のノード間の接続を定義、指示、または特徴付けする複数のエッジ・タイプのうちのエッジ・タイプによって、分類または特徴付けされてよい。例として、ユーザ・ノード３０２は、第１のエッジ・タイプのエッジ３０６を介して相互と接続される場合がある。特定の実施形態では、エッジ３０６は、それぞれのユーザ・ノード３０２に関連するユーザ（例えば友達）間のフレンドシップまたは他のソーシャル関係接続を定義する。加えて、ユーザ・ノード３０２は、１つまたは複数の第２のエッジ・タイプのエッジ３０８を介して概念ノード３０４と接続される場合がある。例として、ユーザ・ノード３０２に対応するユーザは、特定のハブ・ノード３０４に対応する概念が好きであるか、そのファンであるか、それが欲しいか、または他の形でそれに関心もしくは関連があることを、宣言するかまたは他の方法で示すことができる。上に論じたように、他のエッジ・タイプは、楽曲の再生および／または共有など、ハブ・ノードに関係する概念またはディジタル・オブジェクトとのユーザ対話に基づくものである場合がある。ユーザは、対応する概念ノードのハブ上のリンクをクリックすることによって、または他の適切な手段によって（例えば、招待に応答してユーザのホーム・ページもしくはプロフィール・ページ中のリンクをクリックすること、友達のプロフィール・ページ中のリンクをクリックすること、または、特定の実施形態では、何らかの自動的なもしくは自動化された手段などによって）、この好みまたは関心を示すことができる。
【００５５】
さらに、いくつかの実施形態では、様々なハブ・ノード３０４は、ソーシャル・グラフ・データベース中で第３のエッジ・タイプのエッジ３１０を介して相互と接続される場合がある。この第３のエッジ・タイプは、ハブ・ノード３０４間の情報提供関係またはカテゴリ関係を定義することができ、こうした関係のいくつかは、このようなハブを階層に編成する傾向がある可能性がある。例として、アジア料理に充てられた総称ハブは、非総称ハブ中に表示される様々なアジア・レストランまたはレビュー・ページへのリンクをページ中に有する場合がある。したがって、ソーシャル・グラフ中で、エッジ３１０は、総称アジア料理ハブを１つまたは複数の総称ハブまたは非総称ハブに接続することができる。
【００５６】
加えて、いくつかの実施形態では、各エッジ・タイプは、対応する１対のノード間の特定タイプの接続を記述するより多くの詳細またはメタデータを追加する、複数のエッジ・
サブタイプを含むことができる。さらに、いくつかの実施形態では、新しいエッジ・タイプが自動的または動的に定義または生成されてよい。例として、第三者ウェブ・アプリケーションに入力された情報、または第三者ウェブ・アプリケーションに関係する情報により、新しいエッジ・タイプが定義および生成されてよい。特定の例として、Ｎｅｔｆｌｉｘに関するウェブ・アプリケーションの場合に、「見たい映画」を示すエッジ・タイプが生成されてよい。
【００５７】
エッジが関連エッジ・タイプを有するかまたは割り当てられるこのような実施形態では、エッジ自体が、エッジが接続する１対のノード間の接続タイプを定義するデータを記憶するかまたはそのようなデータと共に記憶されてよく、このデータは例えば、適切なまたは関連するデータの中でもとりわけ、エッジが接続するノードのタイプ（例えば、ユーザ、ハブ、ハブのカテゴリまたは分類）、エッジによって接続される１対のノードのうちの一方の管理者の、エッジが接続する他方のノードに対するアクセス特権（例えば、エッジによって接続される他方のノードに対する、一方のノードの管理者の読取りまたは書込みアクセス）を記述するデータ、あるいは、エッジが最初にどのようにまたはなぜ初期化または作成されたか（例えば、明示的なユーザ・アクションもしくは宣言に応答して、または明示的なユーザ・アクションなしで自動的に）、エッジによって接続されるノード（またはより具体的には、接続されるそれぞれのノードに関連するユーザもしくは概念）に関係するかまたはそれらのノードによって共有される様々な要因または基準によって決定される接続強度を記述するデータなどである。
【００５８】
代替の一実施形態では、各エッジは単に、エッジが接続するノードのタイプにかかわらず、ノード間の接続を定義するかまたは表すことができる。すなわち、エッジ自体は、エッジが接続するノードの識別子を記憶するかまたはそのような識別子と共に記憶されるが、エッジが接続する１対のノード間の接続のタイプを記述するデータは記憶しないかまたはそのようなデータと共には記憶されないものとすることができる。さらに、これらのまたは他の実施形態のいずれにおいても、エッジによって接続されるノード間の接続または関係のタイプを示すことのできるデータが、ノード自体と共に記憶されてよい。特定の実施形態では、エッジ、ならびに、エッジを定義するか特徴付けるかまたはエッジに関係する属性（例えば、エッジ・タイプ、および、エッジによって接続されるノードに対応するノード識別子）、メタデータ、または他の情報が、（例えばデータ・オブジェクトとして）ソーシャル・グラフ・データベースに記憶され、定期的に、または様々なアクションもしくは要因に応答して更新されてよい（例えば、ユーザがハブとさらに対話するにつれて、それぞれのユーザ・ノードおよびハブ・ノードを接続するエッジが、この対話を反映するように更新されてよい。次いでこの更新は、後でより詳細に述べるように、エッジを特徴付けるアフィニティ・スコアまたは接続強度スコアに寄与することができる）。
【００５９】
特定の実施形態では、ソーシャル・ネットワーク環境２０は、ユーザ・ノード３０２とハブ・ノード３０４の両方から抽出された情報を、様々な目的に、または様々な既存のもしくは新しい機能を実装もしくは増補するのに活用することができる。加えて、様々なユーザによって入力または寄与された情報がハブ・ノード３０４に投入されるにつれて、後述するように、このような情報に基づいて他のハブ・ノード３０４およびそれぞれのハブを生成することができる。さらに、ハブは、いくつかの方法でユーザに価値をもたらすことができる。例として、第１のユーザが特定のハブを訪れた場合、このユーザは、自分の友達のうちの様々な友達もまたこのハブに接続されていることを発見することができる。例えば、オンライン音楽ストアで、このハブは、音楽アーティスト、アルバム、または特定の楽曲に対応する場合がある。第１のユーザはまた、これらの友達が他のどのハブに接続されているかを容易に決定することもできる。ソーシャル・ネットワーク環境２０はまた、ユーザおよびユーザの友達に関するこの情報を相関させて、例えば重なる関心または属性を見つけることができ、次いでこれを用いて、他のハブを生成すること、的を絞った
広告を生成すること、または、推奨ハブなど、ユーザへの推奨を作成することができる。
【００６０】
図６は、自然言語処理を通して所与のユーザ・アクションについてのアフィニティ係数を決定する例示的な方法を示すフローチャートである。この方法は、ソーシャル・ネットワーキング・システム２０中の１つまたは複数のサーバ２２上にある１つまたは複数のアプリケーションを介して実施することができる。特定の実施形態では、アプリケーションは、ソーシャル・ネットワーキング・システム２０中の単一のアプリケーション・サーバ２２ａまたは２２ｂ上のみにある。特定の実施形態では、アプリケーションは、ソーシャル・ネットワーキング・システム上での全てのユーザ・アクションの集約セットからなる有機的なアクティビティ・ストリームにアクセスすることができる。特定の実施形態では、アプリケーションは、プロフィール・データベース２４に対する読取りアクセスと書込みアクセスの両方を有することができる。
【００６１】
ステップ６０１で、アプリケーションはテキスト入力を受け取る。テキスト入力は、図４Ａ〜４Ｃで上述したいずれかの形とすることができ、ステータス更新、コメント、チェックイン、投稿されたレビュー、ソーシャル・ネットワークのユーザ間で送られた電子メッセージ、または共有リンクなどであってよいが、これらの形に限定されない。本開示は、ソーシャル・ネットワーク上で行われる可能性のある、自由形式テキストの入力を伴う複数の異なるアクションを想定し、前述の例に限定されない。自由形式テキストを生成したアクションにかかわらず、ステップ６０１で、アプリケーションは、アクションを受け取り、アクションに含まれるテキスト・ストリングにアクセスする。例えば、アプリケーションは、チェックイン４００を受け取ると、自由形式テキスト・フィールド（メキシカン・マティーニを楽しんでいます）を抽出する。同様に、ステータス更新４０７については、アプリケーションは、テキスト「７番街／ブロードウェイで最高にロマンティックな時を過ごしたところだ−眺めは驚き」を抽出し、共有リンク４１１については、アプリケーションは、テキスト・ストリング「下手で偏向した記事について話そう」を抽出する。
【００６２】
ステップ６０２で、アプリケーションは、受け取ったアクションと抽出したテキスト・ストリングの両方から、オブジェクトおよびアフィニティを識別する。アプリケーションはまず、明示的なオブジェクト識別子など、オブジェクトを検出する際に使用されるコンテキスト・データがあればそれを抽出する。例えば、チェックイン４００は、ハブ・ページの明示的な識別「トゥルーディズ・メキシカン・グリル」を含む。したがって、アプリケーションは、チェックインと共に含まれるどんなテキスト・ストリングも、チェックインされた場所に関係する可能性が非常に高いことがわかる。同様に、共有リンク４１２は、明示的なオブジェクト識別子、すなわち特定のウォール・ストリート・ジャーナル記事「法科大学に行きませんか」を含む。特定の実施形態では、ハブ・ページがソーシャル・ネットワークのユーザにとって有意義となるには具体的過ぎるため、記事についてのハブ・ページがない場合がある。この場合、ソーシャル・ネットワークは、ユーザから隠される、明示的なハブ・ページを有さない属性ノードを作成することができる。ユーザ・アクションから引き出せる他のコンテキスト・データは、アクションの時刻、およびアクションの生成に使用されたデバイスを含む。例えば、チェックイン４００および共有リンク４１２は、様々なモバイル・デバイスから生成されたが、このことは、ユーザがモバイルである確率、およびユーザ・アクションが場所または位置に関係する確率を高める可能性がある。
【００６３】
コンテキスト・データを抽出した後、アプリケーションは、自然言語処理を通してテキスト・ストリング自体の中でオブジェクトおよびアフィニティ・インジケータを識別することを試みる。例えば、チェックイン４００中では、語句「メキシカン・マティーニ」を、オブジェクトである可能性の高い名詞／形容詞の組合せとして識別することができる。同様に、ステータス更新４０７については、自然言語処理を通して、語句「７番街／ブロ
ードウェイ」を、場所、特に２つの通りの交差点に関係するとして識別することができ、また、「眺め」を、所与の位置におけるオブジェクトとして識別することができる。オブジェクトは、各単語または単語組合せを、ｗｉｋｉまたはデータベース中で維持されるオブジェクトの辞書と比較することによって識別することができる。特定の実施形態では、オブジェクトの辞書は、ユーザによって識別された全てのオブジェクトからクラウドソーシングされる。
【００６４】
アプリケーションは同時に、自然言語処理を通して、アフィニティ・インジケータがあるかどうかテキスト・ストリングを解析する。例えば、チェックイン４００中では、語句「楽しんでいます」が、肯定的なアフィニティのインジケータとして自動的にタグ付けされることになる。同様に、ステータス・メッセージ４０７中では、アプリケーションは、語句「最高にロマンティック」および「驚き」を自動的にタグ付けし抽出することになる。特定の実施形態では、いくつかの単語は、確率の高いオブジェクト識別子とアフィニティ・ステートメントとの両方としてタグ付けされる場合がある。特定の実施形態では、アフィニティ宣言は、肯定的なものと否定的なものの両方がある場合がある。例えば、共有リンク４１２中では、テキスト・ストリング４１１は「下手」および「偏向」を含むが、これらは、識別されたオブジェクトに対するユーザの否定的なアフィニティを示すことになる。特定の実施形態では、自然言語処理辞書は相対的であり、使用される単語に基づいて、より高いまたはより低いアフィニティを割り当てる。例えば、「愛している」には、「好き」よりも高いアフィニティが割り当てられる。特定の実施形態では、自然言語処理アルゴリズムは、句読点およびフォントを考慮に入れる。例えば、１つまたは複数の感嘆符が続くステートメントは、終止点で終わるステートメントよりも高いアフィニティとして重み付けされることになる。別の例として、全て大文字の「愛している（ＬＯＶＥ）」には、小文字の「愛している（ｌｏｖｅ）」よりも高いアフィニティ値が割り当てられる場合がある。自然言語処理の技法は当技術分野で周知であり、本開示は、自由形式テキスト・ストリングからオブジェクトおよびアフィニティを抽出するためのそのような技法のいずれをも企図する。
【００６５】
ステップ６０３で、アプリケーションは、様々なオブジェクト組合せを評価して、より広い概念のインスタンスを決定する。アプリケーションは、ユーザ・アクションからの様々なオブジェクトおよびコンテキスト・データを評価して、ユーザのアフィニティ宣言のサブジェクトまたはターゲットを決定する。例えば、チェックイン４００中では、アプリケーションはステップ６０２で、ユーザ・アクションが明示的な場所識別子（「トゥルーディズ・メキシカン・グリル」）と、少なくとも１つのオブジェクト（「メキシカン・マティーニ」）と、時刻（「２時間前」）とを含むと決定した。「マティーニの」、さらにはおそらく「メキシカン・マティーニの」についてのハブ・ページがある可能性も高いが、アプリケーションは、コンテキスト・データと決定されたオブジェクトとの組合せを考慮して、より広い概念のインスタンスを計算する。この場合、より広い概念は、「マティーニ」または「ドリンク」となり、広い概念の具体的なインスタンスは、「トゥルーディズ・メキシカン・グリルのメキシカン・マティーニ」と決定されることになる。
【００６６】
特定の実施形態では、見えるハブ・ページがソーシャル・ネットワークのメンバにとって無意味または無用となるほど、インスタンスが具体的である場合がある。したがって、ソーシャル・ネットワーキング・システムは、「トゥルーディズ・メキシカン・グリルのメキシカン・マティーニ」についての隠れ属性ノード（「オブジェクト・ノード」とも呼ばれる）を作成することができる。このノードは、ハブ・ページがなくユーザから見えないが、この隠れ属性ノードに対するユーザのアフィニティは、ソーシャル・ネットワークによって記憶される。このようにして、トゥルーディズ・メキシカン・グリルおよびさらに補外されたあらゆるレストランのメニュー載っているあらゆる品目に、隠れ属性ノードが潜在的に関連する可能性があることが考えられる。
【００６７】
ステップ６０４で、アプリケーションは、ユーザとインスタンスとの間のアフィニティ係数を決定する。これは、前述のように自然言語処理を通して実施される。クラウドソーシングされた辞書を使用して、ユーザとオブジェクトとの間の相対的なアフィニティを決定することができる。特定の実施形態では、自然言語処理は、辞書中の類義語にアクセスして、アフィニティ係数を決定する。
【００６８】
ステップ６０５で、アプリケーションは、アフィニティ・スコアをプロフィール・データベースに記憶する。特定の実施形態では、係数は、ユーザ・エッジとインスタンスとを接続するアフィニティ・エッジとして記憶される。インスタンスは、ハブ・ページを有するライブ概念ノードによって、または前述のような隠れ属性ノードによって表される。アフィニティ・エッジを活用して、ユーザに関する特性を推論することができる。例えば、一実施形態では、インスタンスとユーザとを接続するエッジは、ユーザとステップ６０３で決定されたより広い概念との間に、より弱いアフィニティ・エッジを生み出すことができる。例えば、図４Ａのようにインスタンス「トゥルーディズ・メキシカン・グリルのメキシカン・マティーニ」に対するアフィニティを表現するユーザは、「メキシカン・マティーニ」、「マティーニ」を表す概念ノードに対する強い関心またはアフィニティ、および、「テキーラ」または「アルコール・ドリンク」に対する中程度のアフィニティも有する可能性が高いことになる。ソーシャル・ネットワークは、これらのアフィニティを推論し、これらが強化または低減されるように調整することができる。加えて、特定の実施形態では、このアフィニティを使用して、他のインスタンスをユーザへの提案として重み付けすることができる。例えば、「ロス・チャロス・レストランのメキシカン・マティーニ」を表すノードとして別のインスタンスがソーシャル・グラフ中に存在する場合、ソーシャル・ネットワークは、このインスタンスを提案としてユーザに勧めることができる。ユーザが所与の提案インスタンスを気に入る確率は、ユーザ・ノードとインスタンスとを接続する推論されたアフィニティ・エッジによって表されてよい。特定の実施形態では、他の要因が、推論されたアフィニティの強度または重みに影響を及ぼす場合がある。例えば、ユーザと同じ地理的位置にインスタンスがある場合、重みは増加される。特定の実施形態では、ユーザの友達のより多くが提案インスタンスへのアフィニティ・エッジを有する場合、重みは増加される。本開示は、推論されたインスタンスをソーシャル・ネットワーキング要因に基づいて重み付けする方式として、どんな方式も企図する。
【００６９】
特定の実施形態では、ソーシャル・ネットワーキング・システムは、インスタンス（隠れ属性またはオブジェクト・ノードとして表される）に対するアフィニティを有するユーザの数、ならびにノードの平均アフィニティ係数について、インスタンスを監視する。特定の実施形態では、特定の隠れ属性ノードに対するアフィニティを表現するユーザ数がしきい値を超えたとき、このノードは、それ自体のハブ・ページを持って「ライブになる」ことができる。特定の実施形態では、ソーシャル・ネットワーキング・システムは、このインスタンスにリンクされた概念ノード（前述の例では「トゥルーディズ・メキシカン・グリル」）の所有者または管理者に、インスタンスのハブ・ページを作成して欲しいかどうか尋ねる。
【００７０】
インスタンスおよびアフィニティ・スコアのデータベースが生成され記憶されると、ソーシャル・ネットワーキング・システムは、データベースを活用してユーザ体験を向上させることを開始することができる。例えば、特定の実施形態では、１つまたは複数のアプリケーションが、自由形式テキスト入力を監視して、提案をユーザに勧める。例えば、ユーザは、質問「一番良いマティーニを出すのはどこ？」を含むステータス・メッセージを投稿する場合がある。ソーシャル・ネットワーキング・システムは、同様にしてこのステータス・メッセージを解析して、質問の広い概念（この場合は「マティーニ」）を決定し、インスタンスに対するアフィニティを表現するユーザの数が多いインスタンスを勧める
。この例では、質問を発したユーザには、提案「トゥルーディズ・メキシカン・グリルのメキシカン・マティーニを試してみて」が提示されてよい。特定の実施形態では、ソーシャル・ネットワーキング・システムは、ユーザのメッセージまたはインスタント・メッセージのテキストを常に解析し、検出された概念に基づいて提案インスタンスをユーザに勧める。例えば、ユーザは、ソーシャル・ネットワーク上の自分の友達の１人にインスタント・メッセージを送り、「マティーニでいい場所はどこ？」と尋ねる場合があり、ソーシャル・ネットワーク２０は、邪魔にならないようなやり方で、提案「トゥルーディのメキシカン・マティーニを試してみて」を自動的に勧めることになる。
【００７１】
特定の実施形態では、隠れ属性ノードはまた、アフィニティ宣言をノードと共に記憶することができる。例えば、ステータス・メッセージ４０７（「７番街／ブロードウェイ」）中で決定される位置に対して、語句「ロマンティック」またはその類義語を使用する多数のアフィニティ宣言が行われる場合、この語句を使用して、このノードが提案されるべきユーザを識別することができる。例えば、ユーザがステータス・メッセージ「ガールフレンドを連れていくためのロマンティックな場所を誰か知ってる？」を投稿したか、または私的なインスタント・メッセージ中でこの質問をした場合、ソーシャル・ネットワーキング・システムは、自然言語プログラミングを通して、語句「ロマンティック」（または他の類義語）を識別し、この決定に基づいて、位置「７番街／ブロードウェイ」を提案としてユーザに勧めることができる。特定の実施形態では、提案は、ノードがライブのハブ・ページを有するようになった後でしか行われない。特定の実施形態では、ソーシャル・ネットワーキング・システムは、見えるハブ・ページをノードが有さないときでも、テキストの形で提案を勧めることができる。
【００７２】
特定の実施形態では、ソーシャル・ネットワーキング・システムは、概念に対する明示的なアフィニティを表現したユーザに提案インスタンスを勧めることができる。例えば、ユーザが「マティーニ」または「トゥルーディズ・メキシカン・グリル」についてのハブ・ページに「いいね」と言った場合、ソーシャル・ネットワーキング・システムは、「トゥルーディズ・メキシカン・グリルのメキシカン・マティーニを試してみた？」を例えば示すダイアログ・ボックスを、ユーザに対して表示することができる。他の実施形態では、ソーシャル・ネットワーキング・システムは、インスタンスに対するアフィニティを有するユーザの友達に、提案インスタンスを勧める。本開示は、述べる実施形態に限定されず、ソーシャル・ネットワーク上で勧められる提案を的の絞られたものにするためのどんな方法も企図する。
【００７３】
図６の方法は、任意の既存ノードまたはオブジェクトに適用することができる。例えば、レストランの特定の料理（「レストランＸのフォアグラ」）についての既存ハブ・ページがすでにあり、プログラムがこのインスタンスに対するユーザのアフィニティを検出した場合、「レストランＸのフォアグラ」について別のノードを作成する必要はない。この既存ノードに対するユーザのアフィニティ係数は、ノードへのエッジとして記憶されることになる。
【００７４】
特定の実施形態では、図６の方法は、ソーシャル・ネットワーク上でのあらゆるユーザ・アクションに適用される。特定の実施形態では、ソーシャル・ネットワークによってコンテキスト・データを推論することができる。図４Ａでは、ユーザがチェックイン４００上で「この店のケサディヤスも素晴らしい」とコメントする。図６の方法をコメント４０４に適用すると、アプリケーションは、「ケサディヤス」をオブジェクトとして識別し、「素晴らしい」をアフィニティ宣言として識別することができる。特定の実施形態では、コメント４０４はチェックイン４００上にあるので、チェックイン４００からのコンテキスト・データがコメント４００に対して推論される。したがって、ソーシャル・ネットワークは、コメント４００がインスタンス「トゥルーディズ・メキシカン・グリルのケサデ
ィヤス」を有すると決定することができる。特定の実施形態では、コメントの連鎖が下に行くにつれて、コンテキスト情報が推論される程度は下がる。例えば、１番目のコメントは、１５番目のコメントよりも、チェックインされた位置に関係する可能性がずっと高い。
【００７５】
特定の実施形態では、コメントは、コメントされている対象のアクションにかかわらず、肯定的または否定的なアフィニティ宣言を含む場合がある。例えば、図４Ｃで、自由形式テキスト宣言４１１は否定的なアフィニティ語句を含むが、コメント４１３は、１つの肯定的なアフィニティ語句（「一理ある」）を含む。
【００７６】
以上の実施形態は様々なネットワーク構成で実施することができるが、以下に、例示的なネットワーク環境を限定ではなく説明のために示す。図７に、例示的なネットワーク環境７００を示す。ネットワーク環境７００は、１つまたは複数のサーバ７２０と１つまたは複数のクライアント７３０とを相互に結合するネットワーク７１０を含む。ネットワーク環境７００はまた、１つまたは複数のサーバ７２０にリンクされた１つまたは複数のデータ記憶装置７４０を含む。特定の実施形態をネットワーク環境７００中で実施することができる。例えば、ソーシャル・ネットワーキング・システム・フロントエンド１２０は、１つまたは複数のサーバ７２０によってホストされるソフトウェア・プログラム中で書かれたものとすることができる。例えば、イベント・データベース１０２は、１つまたは複数の記憶装置７４０に記憶されてよい。特定の実施形態では、ネットワーク７１０は、イントラネット、エクストラネット、仮想私設ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイヤレスＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの一部、もしくは別のネットワーク７１０、または、このような２つ以上のネットワーク７１０の組合せである。本開示は、任意の適切なネットワーク７１０を企図する。
【００７７】
１つまたは複数のリンク７５０が、サーバ７２０またはクライアント７３０をネットワーク７１０に結合する。特定の実施形態では、１つまたは複数のリンク７５０はそれぞれ、１つまたは複数の有線、ワイヤレス、または光リンク７５０を含む。特定の実施形態では、１つまたは複数のリンク７５０はそれぞれ、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＭＡＮ、インターネットの一部、もしくは別のリンク７５０、または、このような２つ以上のリンク７５０の組合せを含む。本開示は、サーバ７２０およびクライアント７３０をネットワーク７１０に結合する任意の適切なリンク７５０を企図する。
【００７８】
特定の実施形態では、各サーバ７２０は、単体のサーバであってもよく、または複数のコンピュータもしくは複数のデータセンタにわたる分散サーバであってもよい。サーバ７２０は様々なタイプのものとすることができ、限定ではなく例えばこれらは、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、交換サーバ、データベース・サーバ、またはプロキシ・サーバなどとすることができる。特定の実施形態では、各サーバ７２０は、サーバ７２０によって実現またはサポートされる適切な機能を実施するためのハードウェア・コンポーネント、ソフトウェア・コンポーネント、もしくは組込み論理コンポーネント、またはこのような２つ以上のコンポーネントの組合せを備えてよい。例えば、ウェブ・サーバは一般に、ウェブ・ページまたはウェブ・ページの特定の要素を含むウェブサイトをホストすることができる。より具体的には、ウェブ・サーバは、ＨＴＭＬファイルもしくは他のファイル・タイプをホストすることができ、または、要求に応じて動的にファイルを作成または構成し、クライアント７３０からのＨＴＴＰもしくは他の要求に応答してこれらのファイルをクライアント７３０に通信することができる。メール・サーバは一般に、電子メール・サービスを様々なクライアント７３０に提供することができる。データベー
ス・サーバは一般に、１つまたは複数のデータ・ストアに記憶されたデータを管理するためのインタフェースを提供することができる。
【００７９】
特定の実施形態では、１つまたは複数のデータ記憶装置７４０は、１つまたは複数のリンク７５０を介して１つまたは複数のサーバ７２０に通信可能にリンクされてよい。特定の実施形態では、データ記憶装置７４０を使用して様々なタイプの情報を記憶することができる。特定の実施形態では、データ記憶装置７４０に記憶された情報は、特定のデータ構造に従って構成されてよい。特定の実施形態では、各データ記憶装置７４０は、関係データベースとすることができる。特定の実施形態は、データ記憶装置７４０に記憶された情報をサーバ７２０またはクライアント７３０が管理（例えば取出し、修正、追加、または削除）できるようにするインタフェースを提供することができる。
【００８０】
特定の実施形態では、各クライアント７３０は、ハードウェア・コンポーネント、ソフトウェア・コンポーネント、もしくは組込み論理コンポーネント、またはこのような２つ以上のコンポーネントの組合せを備える電子デバイスとすることができ、クライアント７３０によって実現またはサポートされる適切な機能を実施することができる。限定ではなく例えば、クライアント７３０は、デスクトップ・コンピュータ・システム、ノートブック・コンピュータ・システム、ネットブック・コンピュータ・システム、ハンドヘルド電子デバイス、または携帯電話機とすることができる。本開示は、任意の適切なクライアント７３０を企図する。クライアント７３０は、クライアント７３０におけるネットワーク・ユーザがネットワーク７３０にアクセスするのを可能にすることができる。クライアント７３０は、そのユーザが他のクライアント７３０における他のユーザと通信するのを可能にすることができる。
【００８１】
クライアント７３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブ・ブラウザ７３２を有してよく、ＴＯＯＬＢＡＲまたはＹＡＨＯＯ  ＴＯＯＬＢＡＲなど、１つまたは複数のアドオン、プラグイン、または他の拡張を有してよい。クライアント７３０におけるユーザは、ウェブ・ブラウザ７３２をサーバ７２０に向けるユニフォーム・リソース・ロケータ（ＵＲＬ）または他のアドレスを入力することができ、ウェブ・ブラウザ７３２は、ハイパー・テキスト・トランスファー・プロトコル（ＨＴＴＰ）要求を生成して、ＨＴＴＰ要求をサーバ７２０に通信することができる。サーバ７２０は、ＨＴＴＰ要求を受諾し、ＨＴＴＰ要求に応答して１つまたは複数のハイパー・テキスト・マークアップ言語（ＨＴＭＬ）ファイルをクライアント７３０に通信することができる。クライアント７３０は、ユーザに対して提示するために、サーバ７２０からのＨＴＭＬファイルに基づいてウェブ・ページをレンダリングすることができる。本開示は、任意の適切なウェブ・ページ・ファイルを企図する。限定ではなく例として、ウェブ・ページは、特定の必要性に従って、ＨＴＭＬファイル、拡張可能ハイパー・テキスト・マークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングすることができる。このようなページはまた、限定ではなく例えば、ＪＡＶＡ（登録商標）ＳＣＲＩＰＴ、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴ、マークアップ言語とスクリプトの組合せ（ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡ（登録商標）Ｓｃｒｉｐｔ  ａｎｄ  ＸＭＬ）等）などで書かれたものなど、スクリプトを実行することができる。本願明細書において、適切な場合には、ウェブ・ページへの言及は、１つまたは複数の対応するウェブ・ページ・ファイル（ブラウザがウェブ・ページをレンダリングするのに使用できる）を包含し、その逆でもある。
【００８２】
図８に、サーバ２２ａ、２２ｂを実現するのに使用できる例示的なコンピューティング・システム・アーキテクチャを示す。一実施形態では、ハードウェア・システム８００は、プロセッサ８０２と、キャッシュ・メモリ８０４と、有形コンピュータ可読媒体に記憶
された、本願明細書に述べる機能に向けられた１つまたは複数の実行可能モジュールおよびドライバとを備える。加えて、ハードウェア・システム８００は、高性能入出力（Ｉ／Ｏ）バス８０６および標準Ｉ／Ｏバス８０８を備える。ホスト・ブリッジ８０８が、プロセッサ８０２を高性能Ｉ／Ｏバス８０６に結合し、Ｉ／Ｏバス・ブリッジ８１２が、２つのバス８０６と８０８とを相互に結合する。システム・メモリ８１４および１つまたは複数のネットワーク／通信インタフェース８１６が、バス８０６に結合する。ハードウェア・システム８００はさらに、ビデオ・メモリ（図示せず）と、ビデオ・メモリに結合された表示デバイスとを備えてよい。大容量記憶装置８１８およびＩ／Ｏポート８２０が、バス８０８に結合する。ハードウェア・システム８００は任意選択で、キーボードおよびポインティング・デバイス、ならびに、バス８０８に結合された表示デバイス（図示せず）を備えてよい。これらの要素は集合的に、広いカテゴリのコンピュータ・ハードウェア・システムを表すものとし、これらのシステムは、米国カリフォルニア州サンタクララのインテル社製のｘ８６互換プロセッサ、および米国カリフォルニア州サニーベールのアドバンスト・マイクロ・デバイセズ（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏ  Ｄｅｖｉｃｅｓ）（ＡＭＤ）社製のｘ８６互換プロセッサ、ならびに他の任意の適切なプロセッサに基づく汎用コンピュータ・システムを含むが、これらに限定されない。
【００８３】
以下、ハードウェア・システム８００の要素についてより詳細に述べる。特に、ネットワーク・インタフェース８１６は、ハードウェア・システム８００と、幅広いネットワーク（イーサネット（登録商標）（例えばＩＥＥＥ８０２．３）ネットワーク、バックプレーンなど）のいずれかとの間の通信を提供する。大容量記憶装置８１８は、サーバ２２ａ、２２ｂ中で実現される前述の機能を実施するためのデータおよびプログラミング命令のための永続的記憶域を提供し、システム・メモリ８１４（例えばＤＲＡＭ）は、プロセッサ８０２による実行時にこれらのデータおよびプログラミング命令のための一時的記憶域を提供する。Ｉ／Ｏポート６２０は、ハードウェア・システム８００に結合される場合のある追加の周辺デバイス間の通信を提供する、１つまたは複数のシリアルおよび／またはパラレル通信ポートである。
【００８４】
ハードウェア・システム８００は様々なシステム・アーキテクチャを備えてよく、ハードウェア・システム８００の様々なコンポーネントは、再構成することができる。例えば、キャッシュ８０４は、プロセッサ８０２と共にオンチップであってもよい。別法として、キャッシュ８０４とプロセッサ８０２とが共に「プロセッサ・モジュール」としてパックされてもよく、プロセッサ８０２は「プロセッサ・コア」と呼ばれる。さらに、本発明のいくつかの実施形態は、上記のコンポーネントの全てを必要としなくても、また全てを備えなくてもよい。例えば、標準Ｉ／Ｏバス８０８に結合されるように示される周辺デバイスは、高性能Ｉ／Ｏバス８０６に結合してもよい。加えて、いくつかの実施形態では、単一のバスのみが存在してよく、ハードウェア・システム８００のコンポーネントは、この単一のバスに結合される。さらに、ハードウェア・システム８００は、追加のプロセッサや記憶デバイスやメモリなど、追加のコンポーネントを備えてもよい。
【００８５】
１実装形態では、本願明細書に述べる実施形態の動作は、分散コンピューティング環境で個別にまたは一括してハードウェア・システム８００によって実行される一連の実行可能モジュールとして実現される。特定の一実施形態では、１組のソフトウェア・モジュールおよび／またはドライバが、ネットワーク通信プロトコル・スタック、閲覧および他のコンピューティング機能、最適化工程などを実施する。前述の機能モジュールは、ハードウェア、コンピュータ可読媒体に記憶された実行可能モジュール、またはこの両方の組合せによって実現することができる。例えば、機能モジュールは、プロセッサ８０２など、ハードウェア・システム中のプロセッサによって実行されることになる複数のまたは一連の命令を含んでよい。この一連の命令は、最初は大容量記憶装置８１８などの記憶デバイスに記憶されていてよい。しかし、一連の命令は、ディスケット、ＣＤ−ＲＯＭ、ＥＥＰ
ＲＯＭなど、任意の適切な記憶媒体に有形に記憶されてもよい。さらに、一連の命令は、ローカルに記憶される必要はなく、ネットワーク上のサーバなどのリモート記憶デバイスから、ネットワーク／通信インタフェース８１６を介して受信されてもよい。命令は、大容量記憶装置８１８などの記憶デバイスからメモリ８１４にコピーされた後で、プロセッサ８０２によってアクセスされ実行される。
【００８６】
オペレーティング・システムが、ソフトウェア・アプリケーション（図示せず）との間のデータ入出力を含めた、ハードウェア・システム８００の動作を管理および制御する。オペレーティング・システムは、システム上で実行されているソフトウェア・アプリケーションと、システムのハードウェア・コンポーネントとの間のインタフェースを提供する。ＬＩＮＵＸ（登録商標）オペレーティング・システム、米国カリフォルニア州クパチーノ（Ｃｕｐｅｒｔｉｎｏ）のアップル・コンピュータ社（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ
Ｉｎｃ．）から入手可能なＡｐｐｌｅ  Ｍａｃｉｎｔｏｓｈオペレーティング・システム、ＵＮＩＸ（登録商標）オペレーティング・システム、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）オペレーティング・システム、ＢＳＤオペレーティング・システムなど、任意の適切なオペレーティング・システムを使用することができる。当然、他の実装形態も可能である。例えば、本願明細書に述べるニックネーム生成機能は、ファームウェア中で、または特定用途向け集積回路上で実施することができる。
【００８７】
さらに、前述の要素および動作は、記憶媒体に記憶された命令からなるものとすることができる。命令は、処理システムによって取り出して実行することができる。命令のいくつかの例は、ソフトウェア、プログラム・コード、およびファームウェアである。記憶媒体のいくつかの例は、メモリ・デバイス、テープ、ディスク、集積回路、およびサーバである。命令が処理システムによって実行されると、命令は、本発明に従って動作するよう処理システムに指示するように動作可能である。用語「処理システム」とは、単一の処理デバイス、または１群の相互運用可能な処理デバイスを指す。処理デバイスのいくつかの例は、集積回路および論理回路である。当業者なら、命令、コンピュータ、および記憶媒体に精通している。
【００８８】
本開示は、本願明細書における例示的な実施形態に対する、当業者なら理解するであろうあらゆる変更、代用、変形、改変、および修正を包含する。同様に、適切な場合には、添付の特許請求の範囲は、本願明細書における例示的な実施形態に対する、当業者なら理解するであろうあらゆる変更、代用、変形、改変、および修正を包含する。例として、ソーシャル・ネットワーキング・ウェブサイトとの関連で動作するものとして本発明の実施形態を述べたが、本発明は、ウェブ・アプリケーションをサポートする任意の通信機能との関連で使用することができる。さらに、いくつかの実施形態では、用語「ウェブ・サービス」と「ウェブサイト」は交換可能に使用される場合があり、加えてこれらの用語は、モバイル・デバイス（例えばセルラー・フォン、スマート・フォン、パーソナルＧＰＳ、パーソナル・ディジタル・アシスタンス、パーソナル・ゲーミング・デバイス等）など、ＡＰＩ呼をサーバに直接発信するデバイス上の、カスタムのまたは一般化されたＡＰＩを指す場合もある。
【図１】
2014527232.tif 000003
【図２】
2014527232.tif 000004
【図３】
2014527232.tif 000005
【図４Ａ】
2014527232.tif 000006
【図４Ｂ】
2014527232.tif 000007
【図４Ｃ】
2014527232.tif 000008
【図５】
2014527232.tif 000009
【図６】
2014527232.tif 000010
【図７】
2014527232.tif 000011
【図８】
2014527232.tif 000012
【国際調査報告】
2014527232.tif 000013
2014527232.tif 000014