(57)【特許請求の範囲】
【請求項１】
コンピューティング・デバイスが、
複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記複数のノードのうちの２つのノードの間における前記エッジが、前記２つのノードの間における単一の隔たり度合いを表し、前記ノードが、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザにそれぞれが対応する複数の第２のノードとを含む、工程と、
複数の第２のノードまたは複数のエッジに対応するｎグラムを含む非構造化テキスト・クエリを前記第１のユーザから受け取る工程と、
前記ｎグラムに対応する前記複数の第２のノードまたは前記複数のエッジを識別する工程であって、前記ｎグラムは識別される各第２のノードまたは識別される各エッジの名前文字列にマッチする、識別工程と、
構造化クエリの第１のセットを生成する工程であって、構造化クエリの前記第１のセットの各構造化クエリは、識別された前記複数の第２のノードまたは識別された前記複数のエッジのうちの１つに対応し、識別された前記第２のノードまたは識別された前記エッジへの参照を含む、工程と、
構造化クエリの前記第１のセットから選択された第１の構造化クエリの選択を前記第１のユーザから受け取る工程であって、前記第１の構造化クエリは、識別された前記複数の第２のノードまたは識別された前記複数のエッジから選択された第２のノードまたは選択されたエッジに対応する、工程と、
構造化クエリの第２のセットを生成する工程であって、構造化クエリの前記第２のセットの各構造化クエリは、選択された前記第２のノードまたは選択された前記エッジへの参照を含む、工程とを備える方法。
【請求項２】
前記非構造化テキスト・クエリを前記第１のユーザから受け取る工程は、クライアント・システムにおける前記第１のユーザが文字ストリングをグラフィカル・ユーザ・インタフェースに入力する際、前記文字ストリングの１以上の文字を受け取る工程を備える、請求項１に記載の方法。
【請求項３】
前記グラフィカル・ユーザ・インタフェースはクエリ・フィールドを備え、前記文字ストリングは前記第１のユーザによって前記クエリ・フィールドに入力される、請求項２に記載の方法。
【請求項４】
構造化クエリの前記第１のセットの各構造化クエリに関して、識別された前記第２のノードまたは識別された前記エッジへの前記参照が、前記参照が前記ｎグラムに対応していることを示すように強調表示される、請求項１に記載の方法。
【請求項５】
構造化クエリの前記第１のセットの各構造化クエリに関して、前記構造化クエリが、前記構造化クエリに対応する識別された前記第２のノードまたは識別された前記エッジに関するコンテキスト情報を含むスニペットをさらに含む、請求項１に記載の方法。
【請求項６】
構造化クエリの前記第１のセットを前記第１のユーザへ送信する工程をさらに備え、構造化クエリの前記第１のセットの各構造化クエリは、前記構造化クエリにおいて参照されている識別された前記第２のノードまたは識別された前記エッジが前記ｎグラムに関する前記ユーザの意図にマッチしていることを示すように前記第１のユーザによって選択可能である、請求項１に記載の方法。
【請求項７】
前記非構造化テキスト・クエリを前記第１のユーザがグラフィカル・ユーザ・インタフェースに入力する際に前記第１のユーザに対する提示用に構造化クエリの前記第１のセットを送信する工程をさらに備え、前記第１のユーザに対する構造化クエリの前記第１のセットの前記提示によって、前記第１のユーザが、構造化クエリの前記第１のセットから前記第１の構造化クエリを選択することが可能となる、請求項１に記載の方法。
【請求項８】
構造化クエリの前記第２のセットから選択された第２の構造化クエリの選択を前記第１のユーザから受け取る工程をさらに備える、請求項１に記載の方法。
【請求項９】
前記第２の構造化クエリに対応する１以上の検索結果を生成する工程をさらに備える、請求項８に記載の方法。
【請求項１０】
前記第２の構造化クエリは、前記複数の第２のノードのうちの０以上のさらなる第２のノードおよび前記複数のエッジのうちの０以上のさらなるエッジへの参照をさらに含み、各検索結果は、選択された前記エッジと前記さらなるエッジのうちの１つとのいずれかのうちの１以上によって選択された前記第２のノードと前記さらなる第２のノードのうちの１つとのいずれかにつながっている前記複数の第２のノードのうちの１つの第２のノードに対応する、請求項９に記載の方法。
【請求項１１】
前記非構造化テキスト・クエリは、第３の構造化クエリの一部として受け取られ、前記第３の構造化クエリは、
１以上の第２のノードまたは第２のエッジへの参照と、
前記非構造化テキスト・クエリとを含む、請求項１に記載の方法。
【請求項１２】
前記ｎグラムは、前記第１のユーザによって入力されたテキストの１以上の文字を含む、請求項１に記載の方法。
【請求項１３】
前記ｎグラムは、前記非構造化テキスト・クエリからのｎ個のアイテムの連続したシーケンスを含む、請求項１に記載の方法。
【請求項１４】
構造化クエリの前記第２のセットの前記構造化クエリのうちの１以上は、前記複数の第
２のノードのうちの１以上の第２のノードと前記複数のエッジのうちの１以上のエッジとへの参照をさらに含む、請求項１に記載の方法。
【請求項１５】
前記識別工程は、
前記複数の第２のノードのうちの１つの第２のノードまたは前記複数のエッジのうちの１つのエッジに対応する各ｎグラムに関するスコアを決定する工程と、
しきい値スコアよりも高いスコアを有する各第２のノードまたは各エッジを識別する工程であって、少なくとも２つの第２のノードまたは２つのエッジは、前記しきい値スコアよりも高いスコアを有する、工程とを含む請求項１に記載の方法。
【請求項１６】
各ｎグラムに関する前記スコアが、前記ｎグラムが前記複数の第２のノードのうちの１つの第２のノードまたは前記複数のエッジのうちの１つのエッジに対応する確率である、請求項１５に記載の方法。
【請求項１７】
前記複数の第２のノードのうちの１つの第２のノードに対応するスコアを特定する工程が、前記第１のノードと前記第２のノードとの間における前記隔たり度合いに基づく、請求項１５に記載の方法。
【請求項１８】
各ｎグラムに関するスコアを決定する工程が、前記第１のユーザに関連付けられている検索履歴に基づく、請求項１５に記載の方法。
【請求項１９】
ソフトウェアを具現する１以上の非一時的コンピュータ可読記憶媒体であって、該ソフトウェアは、実行されるとき、
複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記複数のノードのうちの２つのノードの間における前記エッジが、前記２つのノードの間における単一の隔たり度合いを表し、前記ノードが、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザにそれぞれが対応する複数の第２のノードとを含む、工程と、
複数の第２のノードまたは複数のエッジに対応するｎグラムを含む非構造化テキスト・クエリを前記第１のユーザから受け取る工程と、
前記ｎグラムに対応する前記複数の第２のノードまたは前記複数のエッジを識別する工程であって、前記ｎグラムは識別される各第２のノードまたは識別される各エッジの名前文字列にマッチする、識別工程と、
構造化クエリの第１のセットを生成する工程であって、構造化クエリの前記第１のセットの各構造化クエリは、識別された前記複数の第２のノードまたは識別された前記複数のエッジのうちの１つに対応し、識別された前記第２のノードまたは識別された前記エッジへの参照を含む、工程と、
構造化クエリの前記第１のセットから選択された第１の構造化クエリの選択を前記第１のユーザから受け取る工程であって、前記第１の構造化クエリは、識別された前記複数の第２のノードまたは識別された前記複数のエッジから選択された第２のノードまたは選択されたエッジに対応する、工程と、
構造化クエリの第２のセットを生成する工程であって、構造化クエリの前記第２のセットの各構造化クエリは、選択された前記第２のノードまたは選択された前記エッジへの参照を含む、工程とを実行するように機能する、媒体。
【請求項２０】
１以上のプロセッサと、前記プロセッサによって実行可能な命令を備え前記プロセッサに結合されているメモリとを備えるシステムであって、前記プロセッサは、前記命令を実行するときに、
複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記複数のノードのうちの２つのノードの間における前記エッジが、前記２つのノードの間における単一の隔たり度合いを表し、前記ノードが、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザにそれぞれが対応する複数の第２のノードとを含む、工程と、
複数の第２のノードまたは複数のエッジに対応するｎグラムを含む非構造化テキスト・クエリを前記第１のユーザから受け取る工程と、
前記ｎグラムに対応する前記複数の第２のノードまたは前記複数のエッジを識別する工程であって、前記ｎグラムは識別される各第２のノードまたは識別される各エッジの名前文字列にマッチする、識別工程と、
構造化クエリの第１のセットを生成する工程であって、構造化クエリの前記第１のセットの各構造化クエリは、識別された前記複数の第２のノードまたは識別された前記複数のエッジのうちの１つに対応し、識別された前記第２のノードまたは識別された前記エッジへの参照を含む、工程と、
構造化クエリの前記第１のセットから選択された第１の構造化クエリの選択を前記第１のユーザから受け取る工程であって、前記第１の構造化クエリは、識別された前記複数の第２のノードまたは識別された前記複数のエッジから選択された第２のノードまたは選択されたエッジに対応する、工程と、
構造化クエリの第２のセットを生成する工程であって、構造化クエリの前記第２のセットの各構造化クエリは、選択された前記第２のノードまたは選択された前記エッジへの参照を含む、工程とを実行するように構成されている、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、ソーシャル・グラフ、およびソーシャルネットワーキング環境内でオブジェクトを探して検索を実行することに関し、詳細にはコンピュータ実施方法に関する。
【背景技術】
【０００２】
ソーシャルネットワーキング・システム（ソーシャルネットワーキング・ウェブサイトを含む）は、そのソーシャルネットワーキング・システムのユーザ（人または組織など）がそのソーシャルネットワーキング・システムと互いに対話すること、およびそのソーシャルネットワーキング・システムを通じて互いに対話することを可能にする。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザ・プロフィールを作成して、ソーシャルネットワーキング・システム内に記憶する。ユーザ・プロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含む。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャルネットワーキング・システムのその他のユーザとの関係のレコードを作成および記憶すること、ならびにサービス（たとえば、ウォール投稿、写真共有、イベント編成、メッセージング、ゲーム、または広告）を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
【０００３】
ソーシャルネットワーキング・システムは、そのサービスに関連したコンテンツまたはメッセージを、１つまたは複数のネットワークを通じて、ユーザのモバイルまたはその他のコンピューティング・デバイスへ送信する。ユーザは、自分のユーザ・プロフィールおよびソーシャルネットワーキング・システム内のその他のデータにアクセスするためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピューティング・デバイス上にインストールすることもできる。ソーシャルネットワーキング・システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュース・フィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされたセットを生成する。
【０００４】
ソーシャル・グラフ分析は、ソーシャルな関係を、ノードおよびエッジから構成されているネットワーク理論の点から見る。ノードは、ネットワーク内の個々の行為主体を表し、エッジは、行為主体同士の間における関係を表す。結果として生じるグラフベースの構造は、しばしば非常に複雑である。多くのタイプのノード、およびノード同士をつなげるための多くのタイプのエッジが存在する。ソーシャル・グラフは、その最も単純な形態においては、調査されているすべてのノードの間における関連があるすべてのエッジのマップである。
【図面の簡単な説明】
【０００５】
【図１】ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す図。
【図２】例示的なソーシャル・グラフを示す図。
【図３】オンライン・ソーシャル・ネットワークの例示的なウェブページを示す図。
【図４Ａ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図４Ｂ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図４Ｃ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図４Ｄ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図４Ｅ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図４Ｆ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図４Ｇ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図４Ｈ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図５】構造化された検索クエリを生成するためにテキスト・クエリ内の用語のあいまい性を解消するための例示的な方法を示す図。
【図６Ａ】オンライン・ソーシャル・ネットワークの例示的なウェブページを示す図。
【図６Ｂ】オンライン・ソーシャル・ネットワークの例示的なウェブページを示す図。
【図６Ｃ】オンライン・ソーシャル・ネットワークの例示的なウェブページを示す図。
【図６Ｄ】オンライン・ソーシャル・ネットワークの例示的なウェブページを示す図。
【図６Ｅ】オンライン・ソーシャル・ネットワークの例示的なウェブページを示す図。
【図６Ｆ】オンライン・ソーシャル・ネットワークの例示的なウェブページを示す図。
【図７】ページ用のデフォルトの構造化された検索クエリを生成するための例示的な方法を示す図。
【図８】例示的なコンピュータ・システムを示す図。
【発明を実施するための形態】
【０００６】
特定の実施形態においては、ユーザから受け取られたテキスト・クエリに応答して、ソーシャルネットワーキング・システムが、特定のソーシャル・グラフ要素への参照を含む構造化されたクエリを生成することができる。ユーザのテキスト・クエリに応答して、提案される構造化されたクエリを提供することによって、ソーシャルネットワーキング・システムは、オンライン・ソーシャル・ネットワークのユーザが、自分のソーシャル・グラフ属性、およびさまざまなソーシャル・グラフ要素に対する自分の関係に基づいて、ソーシャル・グラフ内で表されている要素を検索するための強力な方法を提供することができる。
【０００７】
特定の実施形態においては、ソーシャルネットワーキング・システムは、構造化されたクエリを用いて、あいまいな用語を含むクエリを解析することができる。ソーシャルネットワーキング・システムは、あいまいなｎグラムを含む構造化されていないテキスト・クエリをユーザから受け取ることができる。それに応答して、ソーシャルネットワーキング・システムは、ソーシャル・グラフにアクセスし、次いでテキスト・クエリを解析して、そのテキスト・クエリからのあいまいなｎグラムに対応したソーシャル・グラフ要素を識別することができる。クエリ内の用語は、その用語が複数のソーシャル・グラフ要素にマッチしている可能性がある場合には、あいまいであると言える。ソーシャルネットワーキング・システムは、構造化されたクエリのセットを生成することができ、それぞれの構造化されたクエリは、マッチしている可能性があるソーシャル・グラフ要素のうちの１つに対応する。次いで、クエリを行っているユーザは、それらの構造化されたクエリの間で選択を行って、自分があいまいな用語を用いて参照することを意図していたのはどのソーシャル・グラフ要素かを示すことができる。クエリを行っているユーザの選択に応答して、ソーシャルネットワーキング・システムは次いで、あいまいな用語を、クエリを行っているユーザによって選択されたソーシャル・グラフ要素に効果的にロックし、次いで、その選択されたソーシャル・グラフ要素に基づいて、構造化されたクエリの新たなセットを生成することができる。
【０００８】
特定の実施形態においては、ソーシャルネットワーキング・システムは、オンライン・
ソーシャル・ネットワークのページ用のデフォルトの構造化されたクエリのセットを生成することができる。ソーシャルネットワーキング・システムは、ユーザが現在閲覧しているまたはその他の形でアクセスしているページを識別し、次いで、そのページに対応する任意のソーシャル・グラフ要素を識別することができる。ページに対応するソーシャル・グラフ要素は、たとえば、ユーザプロフィール・ページもしくはコンセプトプロフィール・ページに対応するノード、または特定の検索結果ページを生成するために使用された構造化されたクエリにおいて参照されているノード／エッジである場合がある。次いで、ソーシャルネットワーキング・システムは、ページ用のデフォルトの構造化されたクエリのセットを、そのページに関する識別されたソーシャル・グラフ要素に基づいて生成することができる。たとえば、「マーク」というユーザに関するユーザプロフィール・ページにアクセスする場合には、そのページ用のデフォルトの構造化されたクエリのうちのいくつかは、「マークの友達」または「マークの写真」を含むことができる。次いで、これらのデフォルトの構造化されたクエリは、ユーザへ送信されて提示されることが可能である。
【０００９】
本発明による実施形態は、方法、ストレージ・メディア、およびシステムを対象とした添付の特許請求の範囲において詳細に開示されており、１つの請求項カテゴリ、たとえば方法において言及されている任意の特徴が、別の請求項カテゴリ、たとえばシステムにおいて特許請求されることも可能である。
【００１０】
本発明の一実施形態では、方法は、コンピューティング・デバイスが、
複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記ノードのうちの２つの間における前記エッジのそれぞれが、それらの間における単一の隔たり度合いを表し、前記ノードが、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザにそれぞれが対応する複数の第２のノードとを含む、工程と、
あいまいなｎグラムを含む非構造化テキスト・クエリを前記第１のユーザから受け取る工程と、
前記あいまいなｎグラムに対応する複数の第２のノードまたは複数のエッジを識別する工程と、
構造化クエリの第１のセットを生成する工程であって、構造化クエリの前記第１のセットからの各構造化クエリは、識別された第２のノードまたは識別されたエッジに対応し、前記構造化クエリは、識別された前記第２のノードまたは識別された前記エッジへの参照を含む、工程と、
構造化クエリの前記第１のセットからの１つの第１の構造化クエリの選択を前記第１のユーザから受け取る工程であって、前記第１の構造化クエリは、識別された前記第２のノード識別された前記エッジからの選択された第２のノードまたは選択されたエッジに対応する、工程と、
構造化クエリの第２のセットを生成する工程であって、構造化クエリの前記第２のセットの各構造化クエリは、選択された前記第２のノードまたは選択された前記エッジへの参照を含む、工程とを備える。
【００１１】
前記非構造化テキスト・クエリを前記第１のユーザから受け取る工程は、クライアント・システムにおける前記第１のユーザが文字ストリングをグラフィカル・ユーザ・インタフェースに入力する際、前記文字ストリングの１以上の文字を受け取る工程を含んでよい。
【００１２】
前記グラフィカル・ユーザ・インタフェースはクエリ・フィールドを含んでよく、前記文字ストリングは前記第１のユーザによって前記クエリ・フィールドに入力されてよい。
構造化クエリの前記第１のセットからの各構造化クエリに関して、識別された前記第２のノードまたは識別された前記エッジへの前記参照が、前記参照が前記あいまいなｎグラムに対応していることを示すように強調表示されてよい。
【００１３】
構造化クエリの前記第１のセットからの各構造化クエリに関して、前記構造化クエリが、前記構造化クエリに対応する識別された前記第２のノードまたは識別された前記エッジに関するコンテキスト情報を含むスニペットをさらに含んでよい。
【００１４】
方法は、構造化クエリの前記第１のセットを前記第１のユーザへ送信する工程をさらに備え、構造化クエリの前記第１のセットの各構造化クエリは、前記構造化クエリにおいて参照されている識別された前記第２のノードまたは識別された前記エッジが前記あいまいなｎグラムに関する前記ユーザの意図にマッチしていることを示すように前記第１のユーザによって選択可能であってよい。
【００１５】
方法は、前記非構造化テキスト・クエリを前記第１のユーザがグラフィカル・ユーザ・インタフェースに入力する際に前記第１のユーザに対する提示用に構造化クエリの前記第１のセットを送信する工程をさらに備え、前記第１のユーザに対する構造化クエリの前記第１のセットの前記提示によって、前記第１のユーザが、構造化クエリの前記第１のセットから前記第１の構造化クエリを選択することが可能となってよい。
【００１６】
方法は、構造化クエリの前記第２のセットからの第２の構造化クエリの選択を前記第１のユーザから受け取る工程をさらに備えてよい。
方法は、前記第２の構造化クエリに対応する１以上の検索結果を生成する工程をさらに備えてよい。
【００１７】
前記第２の構造化クエリは、前記複数の第２のノードのうちの０以上のさらなる第２のノードおよび前記複数のエッジのうちの０以上のさらなるエッジへの参照をさらに含み、各検索結果は、選択された前記エッジと前記さらなるエッジのうちの１つとのいずれかのうちの１以上によって選択された前記第２のノードと前記さらなる第２のノードのうちの１つとのいずれかにつながっている前記複数の第２のノードのうちの１つの第２のノードに対応してよい。
【００１８】
前記非構造化テキスト・クエリは、第３の構造化クエリの一部として受け取られてよく、前記第３の構造化クエリは、
１以上の第２のノードまたは第２のエッジへの参照と、
前記非構造化テキスト・クエリとを含む。
【００１９】
前記あいまいなｎグラムは、前記第１のユーザによって入力されたテキストの１以上の文字を含んでよい。
前記あいまいなｎグラムは、前記非構造化テキスト・クエリからのｎ個のアイテムの連続したシーケンスをさらに含んでよい。
【００２０】
構造化クエリの前記第２のセットの前記構造化クエリのうちの１以上は、前記複数の第２のノードのうちの１以上の第２のノードと前記複数のエッジのうちの１以上のエッジとへの参照をさらに含んでよい。
【００２１】
前記あいまいなｎグラムに対応する複数の第２のノードまたは複数のエッジを識別する工程は、
前記複数の第２のノードのうちの１つの第２のノードまたは前記複数のエッジのうちの１つのエッジに対応する各ｎグラムに関するスコアを決定する工程と、
しきい値スコアよりも高いスコアを有する各第２のノードまたは各エッジを識別する工程であって、少なくとも２つの第２のノードまたは２つのエッジは、前記しきい値スコアよりも高いスコアを有する、工程とを含んでよい。
【００２２】
各ｎグラムに関する前記スコアが、前記ｎグラムが前記複数の第２のノードのうちの１つの第２のノードまたは前記複数のエッジのうちの１つのエッジに対応する確率であってよい。
【００２３】
前記複数の第２のノードのうちの１つの第２のノードに対応するスコアを特定する工程が、前記第１のノードと前記第２のノードとの間における前記隔たり度合いに基づいてよい。
【００２４】
各ｎグラムに関するスコアを決定する工程が、前記第１のユーザに関連付けられている検索履歴に基づいてもよい。
やはり特許請求されてよい本発明のさらなる実施形態では、１以上の非一時的コンピュータ可読記憶媒体はソフトウェアを具現し、該ソフトウェアは、実行されるとき、
複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記ノードのうちの２つの間における前記エッジのそれぞれが、それらの間における単一の隔たり度合いを表し、前記ノードが、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザにそれぞれが対応する複数の第２のノードとを含む、工程と、
あいまいなｎグラムを含む非構造化テキスト・クエリを前記第１のユーザから受け取る工程と、
前記あいまいなｎグラムに対応する複数の第２のノードまたは複数のエッジを識別する識別工程と、
構造化クエリの第１のセットを生成する工程であって、構造化クエリの前記第１のセットからの各構造化クエリは、識別された第２のノードまたは識別されたエッジに対応し、前記構造化クエリは、識別された前記第２のノードまたは識別された前記エッジへの参照を含む、工程と、
構造化クエリの前記第１のセットからの１つの第１の構造化クエリの選択を前記第１のユーザから受け取る工程であって、前記第１の構造化クエリは、識別された前記第２のノード識別された前記エッジからの選択された第２のノードまたは選択されたエッジに対応する、工程と、
構造化クエリの第２のセットを生成する工程であって、構造化クエリの前記第２のセットの各構造化クエリは、選択された前記第２のノードまたは選択された前記エッジへの参照を含む、工程とを実行するように機能する。
【００２５】
やはり特許請求されてよい本発明のさらなる実施形態では、システムは、１以上のプロセッサと、前記プロセッサによって実行可能な命令を備え前記プロセッサに結合されているメモリとを備え、前記プロセッサは、前記命令を実行するときに、
複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記ノードのうちの２つの間における前記エッジのそれぞれが、それらの間における単一の隔たり度合いを表し、前記ノードが、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザにそれぞれが対応する複数の第２のノードとを含む、工程と、
あいまいなｎグラムを含む非構造化テキスト・クエリを前記第１のユーザから受け取る
工程と、
前記あいまいなｎグラムに対応する複数の第２のノードまたは複数のエッジを識別する識別工程と、
構造化クエリの第１のセットを生成する工程であって、構造化クエリの前記第１のセットからの各構造化クエリは、識別された第２のノードまたは識別されたエッジに対応し、前記構造化クエリは、識別された前記第２のノードまたは識別された前記エッジへの参照を含む、工程と、
構造化クエリの前記第１のセットからの１つの第１の構造化クエリの選択を前記第１のユーザから受け取る工程であって、前記第１の構造化クエリは、識別された前記第２のノード識別された前記エッジからの選択された第２のノードまたは選択されたエッジに対応する、工程と、
構造化クエリの第２のセットを生成する工程であって、構造化クエリの前記第２のセットの各構造化クエリは、選択された前記第２のノードまたは選択された前記エッジへの参照を含む、工程とを実行するように構成されている。
【００２６】
本発明のさらなる一実施形態においては、実行されたときに、本発明または上述の実施形態のうちのいずれかによる方法を実行するように構成されるソフトウェアを１以上の非一時的コンピュータ可読記憶媒体が具体化している。
【００２７】
本発明のさらなる一実施形態においては、あるシステムは、１以上のプロセッサと、それらのプロセッサによって実行可能な命令を備える、それらのプロセッサに結合されているメモリとを備え、それらのプロセッサは、それらの命令を実行したときに、本発明または上述の実施形態のうちのいずれかによる方法を実行するように構成される。
【００２８】
システムの概観
図１は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境１００を示している。ネットワーク環境１００は、ネットワーク１１０によって互いにつながっているクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０を含む。図１は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の特定の構成を示しているが、本開示は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、ネットワーク１１０を迂回して、互いに直接つながる。別の例として、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置される。その上、図１は、特定の数のクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を示しているが、本開示は、任意の適切な数のクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を想定している。限定ではなく、例として、ネットワーク環境１００は、複数のクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を含む。
【００２９】
本開示は、任意の適切なネットワーク１１０を想定している。限定ではなく、例として、ネットワーク１１０の１つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワ
ーク（ＷＡＮ）、無線ＷＡＮ（ＷＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含む。ネットワーク１１０は、１つまたは複数のネットワーク１１０を含む。
【００３０】
リンク１５０は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０を通信ネットワーク１１０に、または互いに接続する。本開示は、任意の適切なリンク１５０を想定している。特定の実施形態においては、１つまたは複数のリンク１５０は、１つもしくは複数の有線リンク（たとえば、デジタル・サブスクライバ・ライン（ＤＳＬ）もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様（ＤＯＣＳＩＳ）など）、無線リンク（たとえば、Ｗｉ−Ｆｉもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ）など）、または光リンク（たとえば、同期光ネットワーク（ＳＯＮＥＴ）もしくは同期デジタル階層（ＳＤＨ）など）を含む。特定の実施形態においては、１つまたは複数のリンク１５０はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク１５０、または複数のそのようなリンク１５０の組合せを含む。リンク１５０は、ネットワーク環境１００の全体を通じて必ずしも同じである必要はない。１つまたは複数の第１のリンク１５０は、１つまたは複数の点において１つまたは複数の第２のリンク１５０とは異なる。
【００３１】
特定の実施形態においては、クライアント・システム１３０は、クライアント・システム１３０によって実装またはサポートされる適切な機能を実行する、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスである。限定ではなく、例として、クライアント・システム１３０は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、ｅブック・リーダ、ＧＰＳデバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含む。本開示は、任意の適切なクライアント・システム１３０を想定している。クライアント・システム１３０は、クライアント・システム１３０のネットワーク・ユーザがネットワーク１１０にアクセスすることを可能にする。クライアント・システム１３０は、自分のユーザがその他のクライアント・システム１３０のその他のユーザと通信することを可能にする。
【００３２】
特定の実施形態においては、クライアント１３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブ・ブラウザ１３２を含むことができ、１つまたは複数のアドオン、プラグイン、またはＴＯＯＬＢＡＲもしくはＹＡＨＯＯ  ＴＯＯＬＢＡＲなどのその他の拡張を有する。クライアント・システム１３０のユーザは、ウェブ・ブラウザ１３２を特定のサーバ（サーバ１６２、またはサードパーティ・システム１７０に関連付けられているサーバなど）へ導くユニフォーム・リソース・ロケータ（ＵＲＬ）またはその他のアドレスを入力することができ、ウェブ・ブラウザ１３２は、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）要求を生成して、そのＨＴＴＰ要求をサーバに通信する。サーバは、そのＨＴＴＰ要求を受け入れて、そのＨＴＴＰ要求に応答して１つまたは複数のハイパー・テキスト・マークアップ言語（ＨＴＭＬ）ファイルをクライアント・システム１３０に通信する。クライアント・システム１３０は、ユーザに提示するためにサーバからのＨＴＭＬファイルに基づいてウェブページをレンダリングする。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブページは、特定の
ニーズに従って、ＨＴＭＬファイル、拡張可能ハイパー・テキスト・マークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングする。そのようなページは、限定ではなく、例として、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたスクリプトなどのスクリプト、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡＳＣＲＩＰＴ（登録商標）  ａｎｄ  ＸＭＬ）などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、（そのウェブページをレンダリングするためにブラウザが使用する）１つまたは複数の対応するウェブページ・ファイルを含み、その逆もまた同様である。
【００３３】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス可能なコンピューティング・システムである。ソーシャルネットワーキング・システム１６０は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、記憶すること、受け取ること、および送信する。ソーシャルネットワーキング・システム１６０は、ネットワーク環境１００のその他の構成要素によって直接、またはネットワーク１１０を通じてアクセスされる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１つまたは複数のサーバ１６２を含む。それぞれのサーバ１６２は、１つのサーバ、または複数のコンピュータもしくは複数のデータセンタにわたる分散サーバである。サーバ１６２は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Ｅｘｃｈａｎｇｅサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものである。特定の実施形態においては、それぞれのサーバ１６２は、サーバ１６２によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのような構成要素の組合せを含む。特定の実施形態においては、ソーシャルネットワーキング・システム１６４は、１つまたは複数のデータ・ストア１６４を含む。データ・ストア１６４は、さまざまなタイプの情報を記憶するために使用される。特定の実施形態においては、データ・ストア１６４内に記憶されている情報は、特定のデータ構造に従って編成される。特定の実施形態においては、それぞれのデータ・ストア１６４は、リレーショナル・データベースである。特定の実施形態は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、またはサードパーティ・システム１７０が、データ・ストア１６４内に記憶されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインタフェースを提供する。
【００３４】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフを１つまたは複数のデータ・ストア１６４内に記憶する。特定の実施形態においては、ソーシャル・グラフは、複数のノード（複数のユーザ・ノード（それぞれが、特定のユーザに対応している）、または複数のコンセプト・ノード（それぞれが、特定のコンセプトに対応している）を含む）と、ノード同士をつなげる複数のエッジとを含む。ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供する。特定の実施形態においては、ユーザたちは、ソーシャルネットワーキング・システム１６０を通じてオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキング・システム１６０のその他の複数のユーザにつながり（すなわち、関係）を付加する。本明細書においては、「友達」という用語は、ユ
ーザがソーシャルネットワーキング・システム１６０を通じて、つながり、関連付け、または関係を形成しているソーシャルネットワーキング・システム１６０のその他の任意のユーザに及ぶ。
【００３５】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ソーシャルネットワーキング・システム１６０によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供する。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキング・システム１６０のユーザが属するグループもしくはソーシャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用するコンピュータベースのアプリケーション、ユーザがサービスを通じてアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行する広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含む。ユーザは、ソーシャルネットワーキング・システム１６０において、またはサードパーティ・システム１７０の外部システム（ソーシャルネットワーキング・システム１６０とは別個のものであって、ネットワーク１１０を通じてソーシャルネットワーキング・システム１６０に結合されている）によって表される任意のものと対話する。
【００３６】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、さまざまなエンティティ同士をリンクできる。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム１７０もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース（ＡＰＩ）もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にする。
【００３７】
特定の実施形態においては、サードパーティ・システム１７０は、１つもしくは複数のタイプのサーバ、１つもしくは複数のデータ・ストア、１つもしくは複数のインタフェース（ＡＰＩを含むが、それには限定されない）、１つもしくは複数のウェブ・サービス、１つもしくは複数のコンテンツ・ソース、１つもしくは複数のネットワーク、または（たとえば、サーバが通信する）その他の任意の適切な構成要素を含む。サードパーティ・システム１７０は、ソーシャルネットワーキング・システム１６０を運営しているエンティティとは異なるエンティティによって運営される。しかしながら、特定の実施形態においては、ソーシャルネットワーキング・システム１６０およびサードパーティ・システム１７０は、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０のユーザにソーシャルネットワーキング・サービスを提供するために互いに連携して機能する。この意味において、ソーシャルネットワーキング・システム１６０は、サードパーティ・システム１７０などのその他のシステムがインターネットを通じてソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用するプラットフォーム、またはバックボーンを提供する。
【００３８】
特定の実施形態においては、サードパーティ・システム１７０は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含む。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの１つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム１３０に通信される。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含む。限定ではなく、別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、ま
たはその他の適切なインセンティブ・オブジェクトを含む。
【００３９】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャルネットワーキング・システム１６０とのユーザの対話を高める。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキング・システム１６０に付加、アップロード、送信、または「投稿」する任意のものを含む。限定ではなく、例として、ユーザは、クライアント・システム１３０からソーシャルネットワーキング・システム１６０へ投稿を通信する。投稿は、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、映像、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含む。コンテンツは、ニュース・フィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャルネットワーキング・システム１６０に付加されることも可能である。
【００４０】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含む。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ウェブ・サーバ、アクション・ロガー、ＡＰＩ要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可／プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの１つまたは複数を含む。ソーシャルネットワーキング・システム１６０は、適切な構成要素、たとえば、ネットワーク・インタフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切な構成要素、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ユーザ・プロフィールを記憶するための１つまたは複数のユーザプロフィール・ストアを含む。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含む。関心情報は、１つまたは複数のカテゴリに関連した関心を含む。カテゴリは、一般的または具体的である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね！」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリである。ユーザに関するつながり情報を記憶するために、つながりストアが使用される。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示す。つながり情報は、さまざまなユーザおよびコンテンツ（内部および外部の両方）の間におけるユーザ定義のつながりを含むこともできる。ネットワーク１１０を通じてソーシャルネットワーキング・システム１６０を１つもしくは複数のクライアント・システム１３０または１つもしくは複数のサードパーティ・システム１７０にリンクさせるために、ウェブ・サーバが使用される。ウェブ・サーバは、ソーシャルネットワーキング・システム１６０と、１つまたは複数のクライアント・システム１３０との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含む。ＡＰＩ要求サーバは、サードパーティ・システム１７０が、１つまたは複数のＡＰＩを呼び出すことによってソーシャルネットワーキング・システム１６０からの情報にアクセスすることを可能にする。ソーシャルネットワーキング・システム１６０の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用される。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出に
ついてのサードパーティコンテンツオブジェクト・ログが保持される。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム１３０に提供する。情報は、通知としてクライアント・システム１３０へ押し出されることが可能であり、または情報は、クライアント・システム１３０から受け取られた要求に応答してクライアント・システム１３０から引き出される。ソーシャルネットワーキング・システム１６０のユーザの１つまたは複数のプライバシー設定を実施するために、認可サーバが使用される。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されるかを決定する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキング・システム１６０によって記録されること、またはその他のシステム（たとえば、サードパーティ・システム１７０）と共有されることのオプトインまたはオプトアウトを行うことを可能にする。サードパーティ・システム１７０などのサードパーティから受け取られたコンテンツ・オブジェクトを記憶するために、サードパーティコンテンツオブジェクト・ストアが使用される。ユーザに関連付けられているクライアント・システム１３０から受け取られたロケーション情報を記憶するために、ロケーション・ストアが使用される。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供する。
【００４１】
ソーシャル・グラフ
図２は、例示的なソーシャル・グラフ２００を示している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフ２００を１つまたは複数のデータ・ストア内に記憶する。特定の実施形態においては、ソーシャル・グラフ２００は、複数のノード（複数のユーザ・ノード２０２、または複数のコンセプト・ノード２０４を含む）と、ノード同士をつなげる複数のエッジ２０６とを含む。図２において示されている例示的なソーシャル・グラフ２００は、教示上の目的から、２次元のビジュアル・マップ表示で示されている。特定の実施形態においては、ソーシャルネットワーキング・システム１６０、クライアント・システム１３０、またはサードパーティ・システム１７０は、適切なアプリケーションに関してソーシャル・グラフ２００および関連したソーシャル・グラフ情報にアクセスする。ソーシャル・グラフ２００のノードおよびエッジは、データ・オブジェクトとして、たとえば（ソーシャル・グラフ・データベースなどの）データ・ストア内に記憶される。そのようなデータ・ストアは、ソーシャル・グラフ２００のノードまたはエッジの１つまたは複数の検索可能なまたはクエリ可能なインデックスを含む。
【００４２】
特定の実施形態においては、ユーザ・ノード２０２は、ソーシャルネットワーキング・システム１６０のユーザに対応する。限定ではなく、例として、ユーザは、ソーシャルネットワーキング・システム１６０と、またはソーシャルネットワーキング・システム１６０を通じて対話または通信する個人（人間のユーザ）、エンティティ（たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション）、または（たとえば、個人もしくはエンティティの）グループである。特定の実施形態においては、あるユーザがソーシャルネットワーキング・システム１６０とのアカウントに登録した場合には、ソーシャルネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２を作成し、そのユーザ・ノード２０２を１つまたは複数のデータ・ストア内に記憶する。本明細書において記述されているユーザおよびユーザ・ノード２０２は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード２０２に及ぶ。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード２０２は、適切な場合には、ソーシャルネットワーキング・システム１６０に登録されていないユーザに及ぶ。特定の実施形態においては、ユーザ・ノード２０２は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられる。限定では
なく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供する。特定の実施形態においては、ユーザ・ノード２０２は、ユーザに関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられる。特定の実施形態においては、ユーザ・ノード２０２は、１つまたは複数のウェブページに対応する。
【００４３】
特定の実施形態においては、コンセプト・ノード２０４は、コンセプトに対応する。限定ではなく、例として、コンセプトは、場所（たとえば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（たとえば、ソーシャルネットワーク・システム１６０に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど）、エンティティ（たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など）、ソーシャルネットワーキング・システム１６０内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されるリソース（たとえば、オーディオ・ファイル、映像ファイル、デジタル写真、テキスト・ファイル、構造化ドキュメント、もしくはアプリケーションなど）、物的もしくは知的財産（たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など）、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応する。コンセプト・ノード２０４は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられる。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、１つもしくは複数のイメージ（たとえば、本の表紙のイメージ）、ロケーション（たとえば、住所もしくは地理的ロケーション）、（ＵＲＬに関連付けられる）ウェブサイト、連絡先情報（たとえば、電話番号もしくはＥメール・アドレス）、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含む。特定の実施形態においては、コンセプト・ノード２０４は、コンセプト・ノード２０４に関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられる。特定の実施形態においては、コンセプト・ノード２０４は、１つまたは複数のウェブページに対応する。
【００４４】
特定の実施形態においては、ソーシャル・グラフ２００内のノードは、ウェブページ（「プロフィール・ページ」と呼ばれる場合もある）を表すこと、またはウェブページによって表される。プロフィール・ページは、ソーシャルネットワーキング・システム１６０によってホストされること、またはソーシャルネットワーキング・システム１６０にとってアクセス可能である。プロフィール・ページは、サードパーティ・サーバ１７０に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード２０４に対応する。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できる。限定ではなく、例として、ユーザ・ノード２０２は、対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現する。限定ではなく、別の例として、コンセプト・ノード２０４は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、１人または複数のユーザが、特にコンセプト・ノード２０４に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現する。
【００４５】
特定の実施形態においては、コンセプト・ノード２０４は、サードパーティ・システム１７０によってホストされているサードパーティ・ウェブページまたはリソースを表す。
サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す（たとえば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＡＪＡＸ、もしくはＰＨＰコードで実装される）その他の対話可能なオブジェクトを含む。限定ではなく、例として、サードパーティ・ウェブページは、「いいね！」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含む。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの１つ（たとえば、「食べる」）を選択することによってアクションを実行して、クライアント・システム１３０に、そのユーザのアクションを示すメッセージをソーシャルネットワーキング・システム１６０へ送信させる。そのメッセージに応答して、ソーシャルネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード２０４との間においてエッジ（たとえば、「食べる」エッジ）を作成して、エッジ２０６を１つまたは複数のデータ・ストア内に記憶する。
【００４６】
特定の実施形態においては、ソーシャル・グラフ２００内の１対のノードが、１つまたは複数のエッジ２０６によって互いにつながる。１対のノードをつなげるエッジ２０６は、それらの１対のノードの間における関係を表す。特定の実施形態においては、エッジ２０６は、１対のノードの間における関係に対応する１つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表す。限定ではなく、例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であるということを示す。この表示に応答して、ソーシャルネットワーキング・システム１６０は、「友達要求」を第２のユーザに送信する。第２のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキング・システム１６０は、ソーシャル・グラフ２００内で第１のユーザのユーザ・ノード２０２を第２のユーザのユーザ・ノード２０２につなげるエッジ２０６を作成して、エッジ２０６をソーシャル・グラフ情報としてデータ・ストア２４のうちの１つまたは複数の中に記憶する。図２の例においては、ソーシャル・グラフ２００は、ユーザ「Ａ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジ２０６と、ユーザ「Ｃ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード２０２同士をつなげる特定の属性を伴う特定のエッジ２０６を記述している、または示しているが、本開示は、ユーザ・ノード２０２同士をつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。限定ではなく、例として、エッジ２０６は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係、フォロワー関係、ビジター関係、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表す。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、１つまたは複数のエッジ２０６によってソーシャル・グラフ２００内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士に及ぶ。
【００４７】
特定の実施形態においては、ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジ２０６は、ユーザ・ノード２０２に関連付けられているユーザによって、コンセプト・ノード２０４に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表す。限定ではなく、例として、図２において示されているように、ユーザは、コンセプトに対して「いいね！を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジ・タイプまたはサブタイプに対応する。コンセプト・ノード２０４に対応するコンセプトプロフィール・ページは
、たとえば、選択可能な「チェックイン」アイコン（たとえば、クリック可能な「チェックイン」アイコンなど）、または選択可能な「お気に入りに追加」アイコンを含む。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキング・システム１６０は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成する。限定ではなく、別の例として、あるユーザ（ユーザ「Ｃ」）が、特定のアプリケーション（オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を使用して特定の曲（「イマジン」）を聴く場合がある。このケースにおいては、ソーシャルネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２と、その曲およびアプリケーションに対応するコンセプト・ノード２０４との間において、（図２に示されているような）「聴いた」エッジ２０６および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したということを示す。その上、ソーシャルネットワーキング・システム１６０は、その曲に対応するコンセプト・ノード２０４と、そのアプリケーションに対応するコンセプト・ノード２０４との間において、（図２に示されているような）「再生した」エッジ２０６を作成して、その特定の曲がその特定のアプリケーションによって再生されたということを示す。このケースにおいては、「再生した」エッジ２０６は、外部アプリケーション（ＳＰＯＴＩＦＹ）によって外部オーディオ・ファイル（「イマジン」という曲）に関して実行されたアクションに対応する。本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる特定の属性を伴う特定のエッジ２０６について記述しているが、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。その上、本開示は、単一の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジについて記述しているが、本開示は、１つまたは複数の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジを想定している。限定ではなく、例として、エッジ２０６は、ユーザが特定のコンセプトに対して「いいね！」を表明しているということ、およびその特定のコンセプトを使用したということの両方を表す。あるいは、別のエッジ２０６は、（図２において、ユーザ「Ｅ」を表すユーザ・ノード２０２と、「ＳＰＯＴＩＦＹ」を表すコンセプト・ノード２０４との間において示されているような）ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるそれぞれのタイプの関係（または、単一の関係が複数集まったもの）を表す。
【００４８】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ソーシャル・グラフ２００内でユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成する。限定ではなく、例として、（たとえば、ユーザのクライアント・システム１３０によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって）コンセプトプロフィール・ページを閲覧しているユーザは、「いいね！」アイコンをクリックまたは選択することにより、コンセプト・ノード２０４によって表されているコンセプトを自分が気に入っているということを示すことができ、その「いいね！」アイコンをクリックまたは選択することは、ユーザのクライアント・システム１３０に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャルネットワーキング・システム１６０へ送信させる。そのメッセージに応答して、ソーシャルネットワーキング・システム１６０は、そのユーザとコンセプト・ノード２０４との間における「いいね！」エッジ２０６によって示されているように、そのユーザに関連付けられているユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成する。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、エッジ２０６を１つまたは複数のデータ・ストア内に記憶する。特定の実施形態においては、エッジ２０６は、特定のユーザ・アクションに応答してソーシャルネットワーキング・システム１６０によって自動的に形成される。限定ではなく、例として、第１のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場
合には、エッジ２０６は、第１のユーザに対応するユーザ・ノード２０２と、それらのコンセプトに対応するコンセプト・ノード２０４との間において形成される。本開示は、特定の様式で特定のエッジ２０６を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ２０６を形成することを想定している。
【００４９】
広告
特定の実施形態においては、広告は、テキスト（ＨＴＭＬにリンクされている）、１もしくは複数のイメージ（ＨＴＭＬにリンクされている）、１もしくは複数の映像、オーディオ、１もしくは複数のＡＤＯＢＥフラッシュ・ファイル、これらの適切な組合せ、または、１もしくは複数のウェブページ上に、１もしくは複数のＥメール内に、もしくはユーザによって要求されている検索結果とともに提示される任意の適切なデジタル・フォーマットでのその他の任意の適切な広告である）。追加として、または代替として、広告は、１または複数のスポンサー付きストーリ（たとえば、ソーシャルネットワーキング・システム１６０上のニュース・フィードまたはティッカー・アイテム）である。スポンサー付きストーリは、ユーザによるソーシャル・アクション（ページに対して「いいね！」を表明すること、ページ上の投稿に対して「いいね！」を表明することまたはコメントすること、ページに関連付けられているイベントへの招待の返事を求めること、ページ上に投稿されている質問に投票すること、場所にチェックインすること、アプリケーションを使用することもしくはゲームをプレイすること、またはウェブサイトに対して「いいね！」を表明することもしくはウェブサイトを共有することなど）であることが可能であり、広告主は、たとえば、そのソーシャル・アクションを、ユーザのプロフィール・ページもしくはその他のページの所定の領域内に提示させること、その広告主に関連付けられているさらなる情報とともに提示させること、その他のユーザのニュース・フィードもしくはティッカー内に飛び出させることもしくはその他の形で強調表示させること、またはその他の形で促進させることによって、そのソーシャル・アクションを促進する。広告主は、ソーシャル・アクションを促進させるために対価を支払う場合がある。
【００５０】
特定の実施形態においては、広告が、ソーシャルネットワーキングシステム・ウェブページ、サードパーティ・ウェブページ、またはその他のページ内に表示されることが要求される場合がある。広告は、ページの最上部のバナー領域の中、ページの側部のカラムの中、ページのＧＵＩの中、ポップアップ・ウィンドウの中、ドロップダウン・メニューの中、ページの入力フィールドの中、ページのコンテンツの最上部を覆って、またはページに関するその他の場所など、ページの専用の部分において表示される。追加として、または代替として、広告は、アプリケーション内に表示される。広告は、専用のページ内に表示されて、その広告と対話することまたはその広告を見ることをユーザに要求することができ、その後に、ユーザがページにアクセスすることまたはアプリケーションを利用することが可能になる。ユーザは、たとえば、ウェブ・ブラウザを通じて広告を閲覧する。
【００５１】
ユーザは、任意の適切な様式で広告と対話する。ユーザは、広告をクリックすることまたはその他の形で選択する。ユーザは、広告を選択することによって、（または、ブラウザもしくはその他のアプリケーションがユーザによって使用されて、）その広告に関連付けられているページへ導かれる。広告に関連付けられているページにおいては、ユーザは、その広告に関連付けられている製品もしくはサービスを購入すること、その広告に関連付けられている情報を受け取ること、またはその広告に関連付けられているニュースレターをサブスクライブすることなど、さらなるアクションを取ることができる。オーディオまたは映像を伴う広告は、（「再生ボタン」のような）その広告の構成要素を選択することによって再生される。あるいは、広告を選択することによって、ソーシャルネットワーキング・システム１６０は、ユーザの特定のアクションを実行または修正する。限定ではなく、例として、広告は、検索結果ページの検索結果同士の間に含まれることが可能であり、スポンサー付きコンテンツは、スポンサー付きでないコンテンツに優先して促進され
る。限定ではなく、別の例として、広告は、提案される検索クエリの中に含まれることが可能であり、広告主またはそのコンテンツ／製品を参照する提案されるクエリは、スポンサー付きでないクエリに優先して促進される。
【００５２】
広告は、ユーザが対話するソーシャルネットワーキング・システム機能を含む。たとえば、広告は、ユーザが、支持に関連付けられているアイコンまたはリンクを選択することによって、広告に対して「いいね！」を表明することまたはその他の形で支持を行うことを可能にする。別の例として、広告は、ユーザが、広告主に関連したコンテンツを（たとえば、クエリを実行することによって）検索することを可能にする。同様に、ユーザは、（たとえば、ソーシャルネットワーキング・システム１６０を通じて）広告を別のユーザと共有すること、または（たとえば、ソーシャルネットワーキング・システム１６０を通じて、）広告に関連付けられているイベントへの招待の返事を求めることが可能である。追加として、または代替として、広告は、ユーザを対象にしたソーシャルネットワーキングシステム・コンテキストを含む。たとえば、広告は、その広告の主題に関連付けられているアクションを取ったソーシャルネットワーキング・システム１６０内のユーザの友達に関する情報を表示する。
【００５３】
タイプ・アヘッド・プロセス
特定の実施形態においては、１または複数のクライアント側および／またはバックエンド（サーバ側）プロセスが、ソーシャル・グラフ要素（たとえば、ユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６）を、ソーシャルネットワーキング・システム１６０によってホストされること、またはソーシャルネットワーキング・システム１６０においてアクセスできる要求されているウェブページ（たとえば、オンライン・ソーシャル・ネットワークのユーザプロフィール・ページ、コンセプトプロフィール・ページ、検索結果ウェブページ、または別の適切なページなど）とともにレンダリングされた入力フォーム内にユーザによって現在入力されている情報にマッチさせることを自動的に試みる「タイプ・アヘッド」機能を実装および利用する。特定の実施形態においては、ユーザが言明を行うためにテキストを入力している際に、タイプ・アヘッド機能は、その言明において入力されているテキスト文字の文字列を、ソーシャル・グラフ２００内のユーザ、コンセプト、またはエッジ、およびそれらの対応する要素に対応する文字の文字列（たとえば、名前、記述）にマッチさせることを試みる。特定の実施形態においては、マッチが見つかった場合には、タイプ・アヘッド機能は、既存のソーシャル・グラフ要素のソーシャル・グラフ要素への参照（たとえば、ノードの名前／タイプ、ノードＩＤ、エッジの名前／タイプ、エッジＩＤ、または別の適切な参照もしくは識別子など）をフォームに自動的に投入する。
【００５４】
特定の実施形態においては、ユーザが、そのユーザのプロフィール・ページ、ホーム・ページ、またはその他のページのさまざまなセクションにおいてコンテンツを付加するまたは言明を行うために使用されるフォーム内にテキストをタイプまたはその他の形で入力する際に、タイプ・アヘッド・プロセスは、ソーシャルネットワーキング・システム１６０において（またはその中で）（たとえば、サーバ１６２内で）実行される１または複数のフロントエンド（クライアント側）および／またはバックエンド（サーバ側）タイプ・アヘッド・プロセス（以降では、単に「タイプ・アヘッド・プロセス」と呼ばれる）と連携して機能して、そのユーザがテキストの文字を入力する際にそのユーザによって入力されたそれらのテキストの文字に対する最も関連があるまたはベスト・マッチであると決定された、既存のソーシャル・グラフ要素の名前に対応する１もしくは複数の用語、または既存のソーシャル・グラフ要素に関連付けられている用語をフォームに自動投入することを対話式におよび（ユーザにとってそう見えるように）ほぼ瞬時に試みる。ノードおよびエッジに関連付けられている情報を含めて、ソーシャル・グラフ・データベース内のソーシャル・グラフ情報、またはソーシャル・グラフ・データベースからの抽出およびインデ
ックス付けされた情報を利用して、タイプ・アヘッド・プロセスは、ソーシャル・グラフ・データベースからの情報と連携して、ならびに潜在的には、ソーシャルネットワーキング・システム１６０内において配置または実行されているその他のさまざまなプロセス、アプリケーション、またはデータベースと連携して、ユーザの意図されている言明を高い精度で予測できる。しかしながら、ソーシャルネットワーキング・システム１６０は、ユーザに、自分が望む基本的に任意の言明を入力するための自由を提供して、ユーザが自分自身を自由に表現することを可能にすることもできる。
【００５５】
特定の実施形態においては、ユーザがテキスト文字をフォーム・ボックスまたはその他のフィールド内に入力する際に、タイプ・アヘッド・プロセスは、ユーザが文字を入力している際にユーザの言明において入力された文字の文字列にマッチする既存のソーシャル・グラフ要素（たとえば、ユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６）を識別することを試みる。特定の実施形態においては、ユーザが文字をフォーム・ボックス内に入力する際に、タイプ・アヘッド・プロセスは、入力されたテキスト文字の文字列を読み取る。それぞれのキーストロークが行われた際に、フロントエンド・タイプ・アヘッド・プロセスは、入力された文字の文字列を、要求（または呼び出し）として、ソーシャルネットワーキング・システム１６０内で実行されるバックエンド・タイプ・アヘッド・プロセスに送信する。特定の実施形態においては、タイプ・アヘッド・プロセスは、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ（登録商標）ａｎｄ  ＸＭＬ）またはその他の適切な技術、特に非同期技術を通じて通信を行う。特定の実施形態においては、要求は、結果を迅速かつ動的に送信およびフェッチすることを可能にするＸＭＬＨＴＴＰＲｅｑｕｅｓｔ（ＸＨＲ）であること、またはＸＨＲを含む。特定の実施形態においては、タイプ・アヘッド・プロセスは、要求の前に、要求の後に、または要求とともに、ユーザが言明を行っている特定のページの特定のセクションを識別するセクション識別子（セクションＩＤ）を送信することもできる。特定の実施形態においては、ユーザＩＤパラメータが送信されることも可能であるが、これは、いくつかの実施形態においては不要である。なぜなら、ユーザは、そのユーザがソーシャルネットワーキング・システム１６０にログインしていること（またはソーシャルネットワーキング・システム１６０によってその他の形で認証されていること）に基づいて既に「知られている」場合があるためである。
【００５６】
特定の実施形態においては、タイプ・アヘッド・プロセスは、マッチしているソーシャル・グラフ要素を識別することを試みるために１または複数のマッチング・アルゴリズムを使用する。特定の実施形態においては、１または複数のマッチが見つかった場合には、タイプ・アヘッド・プロセスは、たとえば、マッチしているソーシャル・グラフ要素の名前（名前文字列）または記述、ならびに潜在的には、マッチしているソーシャル・グラフ要素に関連付けられているその他のメタデータを含む（ＡＪＡＸまたはその他の適切な技術を利用する）応答をユーザのクライアント・システム１３０へ送信する。限定ではなく、例として、ユーザが、「ｐｏｋ」という文字をクエリ・フィールド内に入力している場合には、タイプ・アヘッド・プロセスは、ドロップダウン・メニューを表示することができ、そのドロップダウン・メニューは、「ｐｏｋｅｒ（ポーカー）」もしくは「ｐｏｋｅｍｏｎ（ポケモン）」という名前の、または「ｐｏｋｅｒ（ポーカー）」もしくは「ｐｏｋｅｍｏｎ（ポケモン）」専用のプロフィール・ページなど、マッチしている既存のプロフィール・ページおよびそれぞれのユーザ・ノード２０２またはコンセプト・ノード２０４の名前を表示し、次いでユーザは、それをクリックまたはその他の形で選択し、それによって、選択されたノードに対応するマッチしたユーザまたはコンセプトの名前を言明したいという要望を確定する。限定ではなく、別の例として、「ｐｏｋｅｒ（ポーカー）」をクリックすると、タイプ・アヘッド・プロセスは、「ｐｏｋｅｒ（ポーカー）」という言明をクエリ・フィールドに自動投入することができ、またはその自動投入をウェブ・ブラウザ１３２に行わせる。特定の実施形態においては、タイプ・アヘッド・プロセスは、
ドロップダウン・メニューを表示するよりもむしろ、上位にランク付けされたマッチの名前またはその他の識別子をフィールドに単に自動投入する。次いでユーザは、単に自分のキーボード上の「ｅｎｔｅｒ（入力）」キーを押すことによって、またはその自動投入された言明をクリックすることによって、その自動投入された言明を確定することができる。
【００５７】
タイプ・アヘッド・プロセスに関するさらなる情報は、２０１０年４月１９日に出願された米国特許出願第１２／７６３１６２号、および２０１２年７月２３日に出願された米国特許出願第１３／５５６０７２号において見つけることができ、それらの米国特許出願は、本願明細書に援用されている。
【００５８】
構造化検索クエリ
図３は、オンライン・ソーシャル・ネットワークの例示的なウェブページを示している。特定の実施形態においては、ユーザは、テキストをクエリ・フィールド３５０内に入力することによって、クエリをソーシャルネットワーク・システム１６０にサブミットする。オンライン・ソーシャル・ネットワークのユーザは、特定の主題（たとえば、ユーザ、コンセプト、外部コンテンツ、またはリソース）について記述する短いフレーズ（しばしば「検索クエリ」と呼ばれる）を検索エンジンに提供することによって、その主題に関連している情報を検索する。そのクエリは、非構造化テキスト・クエリであることが可能であり、１または複数のテキスト文字列（１または複数のｎグラムを含む）を含む。一般には、ユーザは、テキスト・クエリにマッチするソーシャルネットワーキング・システム１６０上のコンテンツを検索するために、任意の文字の文字列をクエリ・フィールド３５０内に入力する。次いでソーシャルネットワーキング・システム１６０は、クエリにマッチするコンテンツを識別するために、データ・ストア１６４（または、詳細には、ソーシャル・グラフ・データベース）を検索する。検索エンジンは、さまざまな検索アルゴリズムを使用してクエリ・フレーズに基づく検索を行って、検索クエリに関連している可能性が最も高いリソースまたはコンテンツ（たとえば、ユーザプロフィール・ページ、コンテンツプロフィール・ページ、または外部リソース）を識別する検索結果を生成する。検索を行うために、ユーザは、検索クエリを検索エンジンに入力または送信する。それに応答して、検索エンジンは、その検索クエリに関連している可能性が高い１または複数のリソースを識別することができ、それらのリソースのそれぞれは、個別に「検索結果」と呼ばれる場合があり、または、その検索クエリに対応する「検索結果」と総称される場合もある。識別されたコンテンツは、たとえば、ソーシャル・グラフ要素（すなわち、ユーザ・ノード２０２、コンセプト・ノード２０４、エッジ２０６）、プロフィール・ページ、外部ウェブページ、またはそれらの任意の組合せを含む場合がある。次いでソーシャルネットワーキング・システム１６０は、識別されたコンテンツに対応する検索結果を伴う検索結果ウェブページを生成し、その検索結果ウェブページをユーザに送信する。検索結果は、しばしば検索結果ウェブページ上のリンクのリストという形式で、ユーザに提示されることが可能であり、それぞれのリンクは、識別されたリソースまたはコンテンツのうちのいくつかを含む別のウェブページに関連付けられている。特定の実施形態においては、検索結果内のそれぞれのリンクは、対応するウェブページがどこに配置されているかと、それを取り出すためのメカニズムとを指定するユニフォーム・リソース・ロケータ（ＵＲＬ）の形式である。次いでソーシャルネットワーキング・システム１６０は、検索結果ウェブページをユーザのクライアント・システム１３０上のウェブ・ブラウザ１３２へ送信する。次いでユーザは、ＵＲＬリンクをクリックして、または検索結果ウェブページからのコンテンツをその他の形で選択して、ソーシャルネットワーキング・システム１６０からの、または必要に応じて外部システム（たとえば、サードパーティ・システム１７０など）からのコンテンツにアクセスする。リソース同士が、検索クエリに対するそれらの相対的な関連度に従ってランク付けされてユーザに提示される。検索結果同士が、ユーザに対するそれらの相対的な関連度に従ってランク付けされてユーザに提示されることも可能であ
る。言い換えれば、検索結果は、クエリを行っているユーザのために、たとえば、そのユーザのソーシャル・グラフ情報、ユーザ情報、検索もしくはブラウジング履歴、またはそのユーザに関連したその他の適切な情報に基づいてパーソナライズされる。特定の実施形態においては、リソースのランキングは、検索エンジンによって実施されるランキング・アルゴリズムによって決定される。限定ではなく、例として、検索クエリに対する、またはユーザに対する関連性の高いリソースは、検索クエリまたはユーザに対する関連性の低いリソースよりも高くランク付けされる。特定の実施形態においては、検索エンジンは、自分の検索を、オンライン・ソーシャル・ネットワーク上のリソースおよびコンテンツに限定する。しかしながら、特定の実施形態においては、検索エンジンは、その他のソース、たとえば、サードパーティ・システム１７０、インターネットもしくはワールド・ワイド・ウェブ、またはその他の適切なソース上のリソースまたはコンテンツを検索することもできる。本開示は、特定の様式でソーシャルネットワーキング・システム１６０にクエリを行うことについて記述しているが、本開示は、任意の適切な様式でソーシャルネットワーキング・システム１６０にクエリを行うことを想定している。
【００５９】
特定の実施形態においては、本明細書において記述されているタイプ・アヘッド・プロセスは、ユーザによって入力された検索クエリに適用される。限定ではなく、例として、ユーザがテキスト文字を検索フィールド内に入力する際に、タイプ・アヘッド・プロセスは、そのユーザが文字を入力している際に検索フィールド内に入力された文字の文字列にマッチする１または複数のユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６を識別することを試みる。タイプ・アヘッド・プロセスは、テキスト・クエリからの文字列またはｎグラムを含む要求または呼び出しを受け取った際には、入力されたテキストにマッチしているそれぞれの名前、タイプ、カテゴリ、またはその他の識別子を有する既存のソーシャル・グラフ要素（すなわち、ユーザ・ノード２０２、コンセプト・ノード２０４、エッジ２０６）を識別するための検索を実行することができ、またはそうした検索が実行されるようにする。タイプ・アヘッド・プロセスは、マッチしているノードまたはエッジを識別することを試みるために１または複数のマッチング・アルゴリズムを使用する。１または複数のマッチが見つかった場合には、タイプ・アヘッド・プロセスは、たとえば、マッチしているノードの名前（名前文字列）、および潜在的には、マッチしているノードに関連付けられているその他のメタデータを含む応答をユーザのクライアント・システム１３０へ送信する。次いでタイプ・アヘッド・プロセスは、ドロップダウン・メニュー３００を表示することができ、そのドロップダウン・メニュー３００は、マッチしている既存のプロフィール・ページおよびそれぞれのユーザ・ノード２０２またはコンセプト・ノード２０４の名前を表示し、マッチしているユーザ・ノード２０２またはコンセプト・ノード２０４につながるマッチしているエッジ２０６の名前を表示し、次いでユーザは、それをクリックまたはその他の形で選択し、それによって、選択されたノードに対応するマッチしたユーザもしくはコンセプトの名前を検索したい、またはマッチしているエッジによって、マッチしたユーザもしくはコンセプトにつながっているユーザもしくはコンセプトを検索したいという要望を確定することができる。あるいは、タイプ・アヘッド・プロセスは、ドロップダウン・メニュー３００を表示するよりもむしろ、上位にランク付けされたマッチの名前またはその他の識別子をフォームに単に自動投入する。次いでユーザは、単にキーボード上の「ｅｎｔｅｒ（入力）」キーを押すことによって、またはその自動投入された言明をクリックすることによって、その自動投入された言明を確定する。マッチしているノードおよびエッジをユーザが確定すると、タイプ・アヘッド・プロセスは、マッチしているソーシャル・グラフ要素を含むクエリをユーザが確定したことをソーシャルネットワーキング・システム１６０に知らせる要求を送信する。送信された要求に応答して、ソーシャルネットワーキング・システム１６０は、マッチしているソーシャル・グラフ要素を探して、または必要に応じて、マッチしているソーシャル・グラフ要素につながっているソーシャル・グラフ要素を探して、ソーシャル・グラフ・データベースを自動的に（または代替として、要求内の命令に基づいて）呼び出しまたはその
他の形で検索する。本開示は、特定の様式でタイプ・アヘッド・プロセスを検索クエリに適用することについて記述しているが、本開示は、任意の適切な様式でタイプ・アヘッド・プロセスを検索クエリに適用することを想定している。
【００６０】
検索クエリおよび検索結果に関連して、特定の実施形態は、２００６年８月１１日に出願された米国特許出願第１１／５０３０９３号、２０１０年１２月２２日に出願された米国特許出願第１２／９７７０２７号、および２０１０年１２月２３日に出願された米国特許出願第１２／９７８２６５号において開示されている１または複数のシステム、構成要素、要素、機能、方法、オペレーション、または工程を利用することができ、それらの米国特許出願は、本願明細書に援用されている。
【００６１】
要素検知、およびあいまいな用語を解析すること
図４Ａ〜図４Ｈは、ソーシャル・ネットワークの例示的なクエリを示している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、第１のユーザ（すなわち、クエリを行っているユーザ）から受け取られたテキスト・クエリに応答して、そのテキスト・クエリを解析すること、およびそのテキスト・クエリのうちで、特定のソーシャル・グラフ要素に対応する部分を識別することが可能である。しかしながら、いくつかのケースにおいては、クエリが、あいまいである１以上の用語を含む場合があり、この場合、あいまいな用語とは、複数のソーシャル・グラフ要素に対応する可能性があるかもしれない用語である。あいまいな用語を解析するために、ソーシャルネットワーキング・システム１６０は、ソーシャル・グラフ２００にアクセスし、次いでテキスト・クエリを解析して、そのテキスト・クエリからのあいまいなｎグラムに対応したソーシャル・グラフ要素を識別することができる。次いでソーシャルネットワーキング・システム１６０は、構造化クエリのセットを生成することができ、それぞれの構造化クエリは、マッチしている可能性があるソーシャル・グラフ要素のうちの１つに対応する。これらの構造化クエリは、文法モデルによって生成されたストリングに基づくことが可能であり、それによって、それらの構造化クエリは、関連しているソーシャル・グラフ要素への参照を伴って、自然言語シンタックスでレンダリングされる。これらの構造化クエリは、クエリを行っているユーザに提示されることが可能であり、次いで、そのクエリを行っているユーザは、それらの構造化クエリの間で選択を行って、自分があいまいな用語を用いて参照することを意図していたのはどのソーシャル・グラフ要素かを示すことができる。クエリを行っているユーザの選択に応答して、ソーシャルネットワーキング・システム１６０は次いで、クエリ内のあいまいな用語を、クエリを行っているユーザによって選択されたソーシャル・グラフ要素にロックし、次いで、その選択されたソーシャル・グラフ要素に基づいて、構造化クエリの新たなセットを生成することができる。図４Ａ〜図４Ｈは、クエリ・フィールド３５０内のさまざまな例示的なテキスト・クエリ、および応答してドロップダウン・メニュー３００内に生成されたさまざまな構造化クエリを示している（ただし、その他の適切なグラフィカル・ユーザ・インタフェースも可能である）。ユーザのテキスト・クエリに応答して、提案される構造化クエリを提供することによって、ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークのユーザが、自分のソーシャル・グラフ属性、およびさまざまなソーシャル・グラフ要素に対する自分の関係に基づいて、ソーシャル・グラフ２００内で表されている要素を検索するための強力な方法を提供する。構造化クエリは、クエリを行っているユーザが、特定のエッジ・タイプによってソーシャル・グラフ２００内の特定のユーザまたはコンセプトにつながっているコンテンツを検索することを可能にする。それらの構造化クエリは、第１のユーザへ送信されて（たとえば、クライアント側タイプ・アヘッド・プロセスを介して）ドロップダウン・メニュー３００内に表示されることが可能であり、次いでそのドロップダウン・メニュー３００において、第１のユーザは、所望のコンテンツを検索するための適切なクエリを選択することができる。本明細書において記述されている構造化クエリを使用することの利点のうちのいくつかとしては、限られた情報に基づいてオンライン・ソーシャル・
ネットワークのユーザを見つけ出すこと、さまざまなソーシャル・グラフ要素に対するそのコンテンツの関係に基づいてオンライン・ソーシャル・ネットワークからのコンテンツの仮想インデックス同士をまとめること、またはユーザおよび／もしくはユーザの友達に関連したコンテンツを見つけ出すことが含まれる。特定の様式で特定の構造化クエリを生成することについて本開示は記述しており、図４Ａ〜図４Ｈは示しているが、本開示は、任意の適切な様式で任意の適切な構造化クエリを生成することを想定している。
【００６２】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、非構造化テキスト・クエリを（第１のユーザ・ノード２０２に対応する）クエリを行っている／第１のユーザから受け取る。限定ではなく、例として、第１のユーザは、（１）第１のユーザの一次友達であって、かつ（２）スタンフォード大学に関連付けられているその他のユーザ（すなわち、ユーザ・ノード２０２は、エッジ２０６によって、「スタンフォード」という学校に対応するコンセプト・ノード２０４につながっている）を検索したいと望む可能性がある。次いで第１のユーザは、図４Ａ〜図４Ｂにおいて示されているように、「ｆｒｉｅｎｄｓ  Ｓｔａｎｆｏｒｄ（友達  スタンフォード）」というテキスト・クエリをクエリ・フィールド３５０内に入力する。クエリを行っているユーザがこのテキスト・クエリをクエリ・フィールド３５０内に入力する際に、ソーシャルネットワーキング・システム１６０は、ドロップダウン・メニュー３００において示されているように、さまざまな提案される構造化クエリを提供する。本明細書において使用される際には、非構造化テキスト・クエリとは、ユーザによって入力された単純なテキスト文字列に及ぶ。テキスト・クエリは、もちろん、標準的な言語／文法ルール（たとえば、英語文法）に関して構造化されている場合がある。しかしながら、テキスト・クエリは通常、ソーシャル・グラフ要素に関しては構造化されていないであろう。言い換えれば、単純なテキスト・クエリは通常、特定のソーシャル・グラフ要素への組み込まれた参照を含まないであろう。したがって、本明細書において使用される際には、構造化クエリとは、特定のソーシャル・グラフ要素への参照を含んでいて、識別された要素に基づいて検索エンジンが検索を行うことを可能にするクエリに及ぶ。さらに、テキスト・クエリは、正式なクエリ・シンタックスに関して構造化されていない場合がある。言い換えれば、単純なテキスト・クエリは、検索エンジンによって直接実行可能であるクエリ・コマンドのフォーマットでは必ずしもないであろう（たとえば、「友達  スタンフォード」というテキスト・クエリを解析して、「交わり（学校（スタンフォード大学）、友達（自分））」というクエリ・コマンドを形成することができ、これは、ソーシャル・グラフ・データベース内のクエリとして実行されることが可能である）。本開示は、特定の様式で特定のクエリを受け取ることについて記述しているが、本開示は、任意の適切な様式で任意の適切なクエリを受け取ることを想定している。
【００６３】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、第１のユーザ（すなわち、クエリを行っているユーザ）から受け取られた非構造化テキスト・クエリ（単に検索クエリとも呼ばれる）を解析して、１または複数のｎグラムを識別する。一般には、ｎグラムとは、テキストまたは話語の所与のシーケンスからのｎ個のアイテムの連続したシーケンスである。それらのアイテムは、テキストまたは話語のシーケンスからの文字、音素、音節、字、言葉、語基ペア、接頭辞、またはその他の識別可能なアイテムである。ｎグラムは、クエリを行っているユーザによって入力されたテキストの１または複数の文字（字、数字、句読点など）を含む。サイズ１のｎグラムは、「ユニグラム」と呼ばれることが可能であり、サイズ２のｎグラムは、「バイグラム」または「ダイグラム」と呼ばれることが可能であり、サイズ３のｎグラムは、「トライグラム」と呼ばれる、といった具合である。それぞれのｎグラムは、クエリを行っているユーザから受け取られたテキスト・クエリからの１または複数の部分を含む。特定の実施形態においては、それぞれのｎグラムは、第１のユーザによって入力された文字の文字列（たとえば、テキストの１または複数の文字）を含む。限定ではなく、例として、ソーシャルネットワーキン
グ・システム１６０は、「友達  スタンフォード」というテキスト・クエリを解析して、「友達」、「スタンフォード」、「友達  スタンフォード」というｎグラムを識別する。限定ではなく、別の例として、ソーシャルネットワーキング・システム１６０は、「ｆｒｉｅｎｄｓ  ｉｎ  ｐａｌｏ  ａｌｔｏ（パロアルトの友達）」というテキスト・クエリを解析して、「ｆｒｉｅｎｄｓ（友達）」、「ｉｎ（の）」、「ｐａｌｏ（パロ）」、「ａｌｔｏ（アルト）」、「ｆｒｉｅｎｄｓ  ｉｎ（の友達）」、「ｉｎ  ｐａｌｏ（パロ・・・の）」、「ｐａｌｏ  ａｌｔｏ（パロアルト）」、「ｆｒｉｅｎｄｓ  ｉｎ  ｐａｌｏ（パロ・・・の友達）」、「ｉｎ  ｐａｌｏ  ａｌｓｏ（パロオルソの）」、「ｆｒｉｅｎｄｓ  ｉｎ  ｐａｌｏ  ａｌｔｏ（パロアルトの友達）」というｎグラムを識別する。特定の実施形態においては、それぞれのｎグラムは、テキスト・クエリからのｎ個のアイテムの連続したシーケンスを含む。本開示は、特定の様式で特定のクエリを解析することについて記述しているが、本開示は、任意の適切な様式で任意の適切なクエリを解析することを想定している。
【００６４】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、テキスト・クエリのｎグラムのうちの１以上に対応する複数のノードまたは複数のエッジを識別することができる。ｎグラムに対応するソーシャル・グラフ要素を識別することは、たとえば、テキスト・クエリ内で識別されたそれぞれのｎグラムに関して、そのｎグラムがソーシャル・グラフ要素に対応するスコアを特定または計算することによってなど、さまざまな様式で行われることが可能である。このスコアは、たとえば、信頼スコア、確率、質、ランキング、別の適切なタイプのスコア、またはそれらの任意の組合せである。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、ｎグラムが、ソーシャル・グラフ２００のユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６などのソーシャル・グラフ要素に対応する確率スコア（単に「確率」とも呼ばれる）を決定する。確率スコアは、ｎグラムと特定のソーシャル・グラフ要素との間における類似度または関連度のレベルを示す。確率を計算するための多くの異なる方法が存在する。本開示は、検索クエリ内で識別されたｎグラムに関する確率スコアを計算するための任意の適切な方法を想定している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ｎグラムが特定のソーシャル・グラフ要素に対応する確率ｐを決定する。確率ｐは、特定の検索クエリＸを与えられた場合に特定のソーシャル・グラフ要素ｋに対応する確率として計算される。言い換えれば、確率は、ｐ＝（ｋ｜Ｘ）として計算される。限定ではなく、例として、ｎグラムがソーシャル・グラフ要素に対応する確率は、ｐｉ，ｊ，ｋとして示される確率スコアとして計算される。入力は、テキスト・クエリＸ＝（ｘ１，ｘ２，．．．，ｘＮ）、およびクラスのセットである。それぞれの（ｉ：ｊ）およびクラスｋに関して、ソーシャルネットワーキング・システム１６０は、ｐｉ，ｊ，ｋ＝ｐ（ｃｌａｓｓ（ｘｉ：ｊ）＝ｋ｜Ｘ）を算出する。限定ではなく、例として、「スタンフォード」というｎグラムは、「スタンフォード大学」という学校＝０．７、「カリフォルニア州スタンフォード」というロケーション＝０．２、「アレン・スタンフォード」というユーザ＝０．１のようなソーシャル・グラフ要素に関してスコア付けされる。この例においては、「スタンフォード」というｎグラムは、複数のソーシャル・グラフ要素に対応するので、ソーシャルネットワーキング・システム１６０によってあいまいなｎグラムとみなされる場合がある。言い換えれば、このｎグラムは、ソーシャルネットワーキング・システム１６０によって使用される解析アルゴリズムに基づいて単一のソーシャル・グラフ要素にすぐに帰着することはできない。特定の実施形態においては、あいまいなｎグラムを識別した後に、ソーシャルネットワーキング・システム１６０は、テキスト・クエリ内のそのｎグラムを強調表示して、そのｎグラムが複数のソーシャル・グラフ要素に対応する可能性があることを示すことができる。限定ではなく、例として、図４Ｂにおいて示されているように、クエリ・フィールド３５０内の「スタンフォード」という用語は、前述のように、その用語が複数のソーシャル・グラフ要素に対応する可能性があることを示すために、破線のアンダーラインを用いて強調表示されている。限定ではな
く、別の例として、図４Ｃおよび図４Ｅ〜図４Ｈにおいて示されているように、「ｆａｃｅｂｏｏｋ」（登録商標）という用語は、その用語が複数のソーシャル・グラフ要素に対応する可能性があることを示すために、破線のアンダーラインを用いて強調表示されている。本開示は、ｎグラムがソーシャル・グラフ要素に対応するか否かを特定の様式で決定することについて記述しているが、本開示は、ｎグラムがソーシャル・グラフ要素に対応するか否かを任意の適切な様式で決定することを想定している。その上、本開示は、ｎグラムがソーシャル・グラフ要素に対応するか否かを、特定のタイプのスコアを使用して決定することについて記述しているが、本開示は、ｎグラムがソーシャル・グラフ要素に対応するか否かを、任意の適切なタイプのスコアを使用して決定することを想定している。
【００６５】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、特定のｎグラムがソーシャル・グラフ要素に対応する確率を、ソーシャル・グラフ情報に基づいて決定することができる。限定ではなく、例として、ｎグラムが特定のソーシャル・グラフ要素に対応する確率ｐを決定する際には、その確率の計算は、ソーシャル・グラフ情報を考慮に入れることもできる。したがって、特定の検索クエリＸおよびソーシャル・グラフ情報Ｇが与えられると、特定のソーシャル・グラフ要素ｋに対応する確率が、ｐ＝（ｋ｜Ｘ，Ｇ）として計算されることが可能である。特定の実施形態においては、ｎグラムが特定のノードに対応する確率は、第１のユーザ・ノード２０２と、その特定のノードとの間における隔たり度合いに基づくことが可能である。特定のｎグラムは、ソーシャル・グラフ２００内で、クエリを行っているユーザにさらに近いソーシャル・グラフ要素（すなわち、その要素と、第１のユーザ・ノード２０２との間における隔たり度合いが低い）に対応する、そのユーザからさらに遠い（すなわち、隔たり度合いが高い）ソーシャル・グラフ要素よりも高い確率を有することができる。限定ではなく、例として、図３を参照すると、ユーザ「Ｂ」が「チキン」というテキスト・クエリを入力した場合には、これが、エッジ２０６によってユーザ「Ｂ」につながっている「チキン・パルメザン」というレシピを表すコンセプト・ノード２０４に対応する計算された確率は、このｎグラムが、ソーシャル・グラフ２００内でユーザ「Ｂ」につながっていないチキンというｎグラムに関連付けられているその他のノード（たとえば、「チキン・ナゲット」または「ファンキー・チキン・ダンス」に対応するコンセプト・ノード２０４）に対応する計算された確率よりも高いことが可能である。特定の実施形態においては、ｎグラムが特定のノードに対応する確率は、クエリを行っているユーザに関連付けられている検索履歴に基づくことが可能である。クエリを行っているユーザが以前にアクセスしたソーシャル・グラフ要素、またはクエリを行っているユーザが以前にアクセスしたソーシャル・グラフ要素に関連があるソーシャル・グラフ要素は、クエリを行っているユーザの検索クエリのターゲットである可能性がさらに高い場合がある。限定ではなく、例として、第１のユーザが、以前に「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」のプロフィール・ページを訪れたことがあるが、「Ｆａｃｅｂｏｏｋ  Ｓｔｕｄｉｏ」のプロフィール・ページを訪れたことが一度もない場合には、「ｆａｃｅｂｏｏｋ」というｎグラムが、これらのページに対応するコンセプト・ノード２０４のいずれかに対応する確率を決定する際に、ソーシャルネットワーキング・システム１６０は、「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」を表すコンセプト・ノード２０４が、「ｆａｃｅｂｏｏｋ」というｎグラムに対応する相対的に高い確率を有することを決定することができる。なぜなら、クエリを行っているユーザが、そのコンセプト・ノード２０４に以前にアクセスしたことがある（そして実際に、「閲覧した」エッジ２０６でそのノードに既につながっている場合がある）ためである。本開示は、ｎグ��ムがソーシャル・グラフ要素に対応するかどうかを特定の様式で決定することについて記述しているが、本開示は、ｎグラムがソーシャル・グラフ要素に対応するかどうかを任意の適切な様式で決定することを想定している。
【００６６】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、エッジの確率しきい値よりも高い確率を有する１または複数のエッジ２０６を識別する。識別さ
れたエッジ２０６のそれぞれは、ｎグラムのうちの少なくとも１つに対応する。限定ではなく、例として、ｎグラムは、ｐｉ，ｊ，ｋ＞ｐエッジ−しきい値である場合に、エッジｋに対応するものとして識別されることのみが可能である。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、特定のｎグラムに対応するものとして、複数のエッジ２０６（またはエッジ・タイプ）を識別することができる。そのようなケースにおいては、そのｎグラムは、ソーシャルネットワーキング・システム１６０によってあいまいなｎグラムとみなされる場合がある。なぜなら、複数のエッジが、ｐエッジ−しきい値よりも高い確率ｐｉ，ｊ，ｋを有しているためである。限定ではなく、例として、「勤務している」というｎグラムは、「〜に勤務している」というエッジ・タイプ＝０．６、「〜に勤務していた」というエッジ・タイプ＝０．３９、「〜に住んでいる」というエッジ・タイプ＝０．０１のようなソーシャル・グラフ要素に関してスコア付けされることが可能である。エッジしきい値確率が０．２５に等しい場合には、「〜に勤務している」および「〜に勤務していた」に対応するエッジ・タイプは、エッジしきい値確率よりも高い確率を有しているので、識別されることが可能であり、その一方で、「〜に住んでいる」に対応するエッジ・タイプは、その確率がエッジしきい値確率よりも高くないので、識別されないであろう。したがって、ソーシャルネットワーキング・システム１６０が、「勤務している」というｎグラムに対応するものとして複数のエッジ・タイプを識別したので、そのｎグラムは、あいまいとみなされる可能性がある。特定の実施形態においては、識別されたエッジ２０６のそれぞれは、識別されたノードのうちの少なくとも１つにつなげられる。言い換えれば、ソーシャルネットワーキング・システム１６０は、特定のｎグラムに対応するものとして以前に識別されたユーザ・ノード２０２またはコンセプト・ノード２０４につながっているエッジ２０６またはエッジ・タイプを識別することのみが可能である。本開示は、ｎグラムに対応するエッジ２０６を特定の様式で識別することについて記述しているが、本開示は、ｎグラムに対応するエッジ２０６を任意の適切な様式で識別することを想定している。
【００６７】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ノード−確率しきい値よりも高い確率を有する１または複数のユーザ・ノード２０２またはコンセプト・ノード２０４を識別する。識別されたノードのそれぞれは、ｎグラムのうちの少なくとも１つに対応する。限定ではなく、例として、ｎグラムは、ｐｉ，ｊ，ｋ＞ｐノード−しきい値である場合に、ノードｋに対応するものとして識別されることのみが可能である。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、特定のｎグラムに対応するものとして、複数のエッジ２０６（またはエッジ・タイプ）を識別することができる。そのようなケースにおいては、そのｎグラムは、ソーシャルネットワーキング・システム１６０によってあいまいなｎグラムとみなされる場合がある。なぜなら、複数のエッジが、ｐエッジ−しきい値よりも高い確率ｐｉ，ｊ，ｋを有しているためである。限定ではなく、例として、「ｆａｃｅｂｏｏｋ」というｎグラムは、「Ｆａｃｅｂｏｏｋ」という会社＝０．８、「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」というグループ＝０．１５、「Ｆａｃｅｂｏｏｋ  Ｓｔｕｄｉｏ」というウェブサイト＝０．０５のようなソーシャル・グラフ要素に関してスコア付けされることが可能である。ノードしきい値確率が０．１に等しい場合には、「Ｆａｃｅｂｏｏｋ」および「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」に対応するコンセプト・ノード２０４は、ノードしきい値確率よりも高い確率を有しているので、識別されることが可能であり、その一方で、「Ｆａｃｅｂｏｏｋ  Ｓｔｕｄｉｏ」に対応するコンセプト・ノード２０４は、その確率がノードしきい値確率よりも高くないので、識別されないであろう。したがって、ソーシャルネットワーキング・システム１６０が、「ｆａｃｅｂｏｏｋ」というｎグラムに対応するものとして複数のコンセプト・ノード２０４を識別したので、そのｎグラムは、あいまいとみなされる可能性がある。特定の実施形態においては、さらに、識別されたユーザ・ノード２０２またはコンセプト・ノード２０４のそれぞれは、識別されたエッジ２０６のうちの少なくとも１つにつなげられる。言い換えれば、ソーシャルネットワーキ
ング・システム１６０は、特定のｎグラムに対応するものとして以前に識別されたエッジ２０６につながっているノードまたはノードタイプを識別することのみが可能である。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、第１のユーザ（すなわち、クエリを行っているユーザ）に対応するユーザ・ノード２０２の隔たり度合いしきい値内にあるノードを識別することのみが可能である。隔たり度合いしきい値は、たとえば、１、２、３、またはすべてである。本開示は、ｎグラムに対応するノードを特定の様式で識別することについて記述しているが、本開示は、ｎグラムに対応するノードを任意の適切な様式で識別することを想定している。
【００６８】
構造化された検索クエリを生成すること
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、複数の文法を含むコンテキストフリー文法モデルにアクセスする。この文法モデルのそれぞれの文法は、１または複数の非終端トークン（または「非終端シンボル」）、および１または複数の終端トークン（または「終端シンボル」／「クエリ・トークン」）を含むことができ、特定の非終端トークンは、終端トークンによって置換される。文法モデルとは、形式言語における文字列に関する形成ルールのセットである。本開示は、特定の文法にアクセスすることについて記述しているが、本開示は、任意の適切な文法を想定している。
【００６９】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１または複数の文法を使用して１または複数の文字列を生成する。その言語における文字列を生成するためには、単一の開始シンボルのみから構成されている文字列から開始する。次いで、開始シンボルも指定の非終端シンボルも含まない文字列が生成されるまで、生成ルールが任意の順序で適用される。コンテキストフリー文法においては、文法のそれぞれの非終端シンボルの生成は、文法のその他の非終端シンボルによって生成されるものから独立している。非終端シンボルは、終端シンボル（すなわち、終端トークンまたはクエリ・トークン）と置換される。クエリ・トークンのうちのいくつかは、前述のように、識別されたノードまたは識別されたエッジに対応する。次いで、文法によって生成された文字列が、識別されたノードまたは識別されたエッジへの参照を含む構造化クエリのための基礎として使用される。文法によって生成された文字列は、自然言語シンタックスでレンダリングされることが可能であり、それによって、その文字列に基づく構造化クエリも、自然言語でレンダリングされる。コンテキストフリー文法とは、それぞれの生成ルールの左手側が単一の非終端シンボルのみから構成されている文法である。確率的なコンテキストフリー文法は、タプル〈Σ，Ｎ，Ｓ，Ｐ〉であり、この場合、互いに素な集合ΣおよびＮは、それぞれ終端シンボルおよび非終端シンボルを指定し、Ｓ∈Ｎは、開始シンボルである。Ｐは、生成の集合であり、それらは、Ｅ→ξ（ｐ）という形式を取り、Ｅ∈Ｎ、ξ∈（Σ∪Ｎ）＋であり、ｐ＝Ｐｒ（Ｅ→ξ）は、Ｅが文字列ξへと展開されるであろう確率である。所与の非終端Ｅのすべての展開にわたる確率ｐの合計は、１でなければならない。本開示は、特定の様式で文字列を生成することについて記述しているが、本開示は、任意の適切な様式で文字列を生成することを想定している。
【００７０】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１以上の構造化クエリを生成することができる。それらの構造化クエリは、前述のように、１以上の文法によって生成された自然言語ストリングに基づくことが可能である。それぞれの構造化クエリは、識別されたノードのうちの１以上または識別されたエッジ２０６のうちの１以上への参照を含むことができる。このタイプの構造化検索クエリは、ソーシャルネットワーキング・システム１６０が、識別されたユーザ・ノード２０２および識別されたエッジ２０６につながっているまたはその他の形で関連しているコンテンツを検索することによって、オンライン・ソーシャル・ネットワークに関連しているリソースおよびコンテンツ（たとえば、プロフィール・ページなど）をさらに効率よく検索することを可能にする。限定ではなく、例として、「僕のガールフレンドの友達を表示してほしい」という
テキスト・クエリに応答して、ソーシャルネットワーキング・システム１６０は、「ステファニーの友達」という構造化クエリを生成することができ、この構造化クエリ内の「友達」および「ステファニー」は、特定のソーシャル・グラフ要素に対応する参照である。「ステファニー」への参照は、特定のユーザ・ノード２０２に対応することになり（この場合、ソーシャルネットワーキング・システム１６０は、「僕のガールフレンド」というｎグラムが、「ステファニー」というユーザを表すユーザ・ノード２０２に対応すると解析しており）、その一方で「友達」への参照は、そのユーザ・ノード２０２をその他のユーザ・ノード２０２につなげる友達タイプのエッジ２０６（すなわち、「ステファニーの」一次友達につなげるエッジ２０６）に対応することになる。この構造化クエリを実行する際に、ソーシャルネットワーキング・システム１６０は、「ステファニー」に対応するユーザ・ノード２０２に友達タイプのエッジ２０６によってつながっている１または複数のユーザ・ノード２０２を識別する。限定ではなく、別の例として、図４Ｅにおいて示されているように、「ｆａｃｅｂｏｏｋに対して「いいね！」を表明している友達」というテキスト・クエリに応答して、ソーシャルネットワーキング・システム１６０は、「Ｆａｃｅｂｏｏｋに対して「いいね！」を表明している友達」という構造化クエリを生成することができ、この構造化クエリ内の「友達」、「に対して「いいね！」を表明している」、および「Ｆａｃｅｂｏｏｋ」は、前述のような特定のソーシャル・グラフ要素（すなわち、友達タイプのエッジ２０６、「いいね！」タイプのエッジ２０６、および「Ｆａｃｅｂｏｏｋ」という会社に対応するコンセプト・ノード２０４）に対応する参照である。本開示は、特定の様式で特定の構造化クエリを生成することについて記述しているが、本開示は、任意の適切な様式で任意の適切な構造化クエリを生成することを想定している。
【００７１】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、生成された構造化クエリをランク付けすることができる。構造化クエリは、さまざまな要因に基づいてランク付けされることが可能である。クエリを行っているユーザから受け取られたテキスト・クエリが、あいまいなｎグラムを含んでいる場合には、そのテキスト・クエリに応答して生成された提案される構造化クエリは、たとえば、ソーシャルネットワーキング・システム１６０によって決定された、それらの構造化クエリにおいて参照されている識別されたノード／エッジが、クエリを行っているユーザの意図にマッチしている確率または可能性の順にランク付けされることが可能である。構造化クエリをランク付けした後に、ソーシャルネットワーキング・システム１６０は次いで、しきい値ランクよりも高いランクを有する構造化クエリのみを送信することができる（たとえば、トップ７にランク付けされたクエリが、クエリを行っているユーザへ送信されて、ドロップダウン・メニュー３００内に表示されることが可能である）。特定の実施形態においては、ある構造化クエリに関するランクは、クエリを行っているユーザのユーザ・ノード２０２と、その構造化クエリにおいて参照されている特定のソーシャル・グラフ要素との間における隔たり度合いに基づくことが可能である。ソーシャル・グラフ２００内で、クエリを行っているユーザにさらに近いソーシャル・グラフ要素（すなわち、その要素と、クエリを行っているユーザのユーザ・ノード２０２との間における隔たり度合いが低い）を参照している構造化クエリは、そのユーザからさらに遠い（すなわち、隔たり度合いが高い）ソーシャル・グラフ要素を参照している構造化クエリよりも高くランク付けされることが可能である。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、構造化クエリを、クエリを行っているユーザに関連付けられている検索履歴に基づいてランク付けすることができる。クエリを行っているユーザが以前にアクセスしたことがあるソーシャル・グラフ要素、またはクエリを行っているユーザが以前にアクセスしたことがあるソーシャル・グラフ要素に関連しているソーシャル・グラフ要素を参照する構造化クエリは、クエリを行っているユーザの検索クエリのターゲットである可能性がより高い場合がある。したがって、これらの構造化クエリは、より高くランク付けされることが可能である。限定ではなく、例として、クエリを行っているユーザが、以前に「スタンフォード大学」のプロフィール・ページを訪れたことがあるが、「カリフォルニア州スタンフォード」の
プロフィール・ページを訪れたことが一度もない場合には、これらのコンセプトを参照する構造化クエリに関するランクを決定する際に、ソーシャルネットワーキング・システム１６０は、「スタンフォード大学」を表すコンセプト・ノード２０４が、相対的に高いランクを有することを決定することができる。なぜなら、クエリを行っているユーザが、その学校を表すコンセプト・ノード２０４に以前にアクセスしたことがあるためである。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、構造化クエリを広告スポンサーシップに基づいてランク付けすることができる。広告主（たとえば、特定のノードに対応する特定のプロフィール・ページのユーザまたは管理者など）は、特定のノードのスポンサーになることができ、それによって、そのノードを参照する構造化クエリは、より高くランク付けされることが可能になる。本開示は、構造化クエリを特定の様式でランク付けすることについて記述しているが、本開示は、構造化クエリを任意の適切な様式でランク付けすることを想定している。
【００７２】
構造化クエリおよび文法モデルを生成することに関するさらなる情報は、２０１２年１１月１２日に出願された米国特許出願第１３／６７４６９５号、および２０１２年１２月３１日に出願された米国特許出願第１３／７３１８６６号において見つけることができ、それらの米国特許出願のそれぞれは、本願明細書に援用されている。
【００７３】
構造化クエリを用いて用語のあいまい性を解消すること
特定の実施形態においては、あいまいなｎグラムを含むテキスト・クエリを受け取ったことに応答して、ソーシャルネットワーキング・システム１６０は、構造化クエリのセットを生成することができ、このセット内のそれぞれの構造化クエリは、そのあいまいなｎグラムに対応する識別されたノードまたは識別されたエッジに対応する。したがって、これらの構造化クエリのそれぞれは、対応する識別されたノードまたは識別されたエッジへの参照を含むことができる。あいまいなｎグラムに対応するそれぞれの識別されたノードまたは識別されたエッジに関して、ソーシャルネットワーキング・システム１６０は、その識別されたノードまたは識別されたエッジを参照する少なくとも１つの構造化クエリを生成することができる。前述したように、これらの構造化クエリは、クエリを行っているユーザに提示されることが可能であり、次いで、そのクエリを行っているユーザは、それらの構造化クエリの間で選択を行って、自分があいまいな用語を用いて参照することを意図していたのはどのソーシャル・グラフ要素かを示すことができる。クエリを行っているユーザの選択に応答して、ソーシャルネットワーキング・システム１６０は次いで、クエリ内のあいまいな用語を、クエリを行っているユーザによって選択されたソーシャル・グラフ要素にロックし、次いで、その選択されたソーシャル・グラフ要素に基づいて、構造化クエリの新たなセットを生成することができる。限定ではなく、例として、図４Ｃおよび図４Ｄを参照すると、クエリ・フィールド３５０における「ｆａｃｅｂｏｏｋに対して「いいね！」を表明している人々」という非構造化テキスト・クエリを受け取ったことに応答して、ソーシャルネットワーキング・システム１６０は、構造化クエリのセットを生成することができ、この場合、それぞれの構造化クエリは、「ｆａｃｅｂｏｏｋ」というあいまいなｎグラムに対応する識別されたコンセプト・ノード２０４のうちの１つに対応するソーシャル・グラフ・エンティティを参照する。この例においては、構造化クエリのセットは、数ある中でも、「Ｆａｃｅｂｏｏｋ」、「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」、および「Ｆａｃｅｂｏｏｋ  Ｃａｍｅｒａ」への参照を含んでおり、それらのそれぞれは、受け取られたテキスト・クエリからの「ｆａｃｅｂｏｏｋ」というあいまいなｎグラムに対応する可能性があるものとしてソーシャルネットワーキング・システム１６０によって識別されている場合がある。次いで、クエリを行っているユーザは、それらの構造化クエリのうちの１つを選択して、その構造化クエリにおいて参照されている特定のコンセプトを選択し、それによって、その構造化クエリを、その選択されたコンセプトに対応するコンセプト・ノード２０４にロックすることができる。たとえば、クエリを行っているユーザが、「Ｆａｃｅｂｏｏｋに対して「いいね！」を表明している人々
」という、図４Ｃにおいて示されているドロップダウン・メニュー３００からの第１の提案される構造化クエリを選択した場合には、ソーシャルネットワーキング・システム１６０は、図４Ｄにおいて示されているように、この選択に基づいて、構造化クエリの新たなセットを生成することができ、この場合、図４Ｄのドロップダウン・メニュー３００内の構造化クエリの新たなセットはすべて、「Ｆａｃｅｂｏｏｋ」を表すコンセプト・ノード２０４を参照している。なぜなら、それは今では、受け取られたテキスト・クエリからの「ｆａｃｅｂｏｏｋ」という以前にあいまいだったｎグラムにロックされているためである。本開示は、特定のあいまいなテキスト・クエリに応答して特定の構造化クエリを生成することについて記述しているが、本開示は、任意の適切なあいまいなテキスト・クエリに応答して任意の適切な構造化クエリを生成することを想定している。
【００７４】
特定の実施形態においては、構造化クエリは、その構造化クエリにおいて参照されているソーシャル・グラフ要素のうちの１以上に関するコンテキスト情報のスニペットを含むことができる。構造化クエリが、あいまいなｎグラムを含んでいるテキスト・クエリに応答して生成されている場合には、スニペットは、特定の構造化クエリにおいて参照されているあいまいなｎグラムに対応する識別されたノードまたは識別されたエッジに関するコンテキスト情報を提供することができる。構造化クエリとともに含まれているスニペットは、クエリを行っているユーザに（たとえば、ドロップダウン・メニュー３００内の構造化クエリに沿って）提示されて、参照されているソーシャル・グラフ要素がそのユーザの意図にマッチしているかどうかをそのユーザが決定する上で役立つことができる。特定の実施形態においては、スニペットは、構造化クエリとともに自動的に含まれることが可能である。構造化クエリのセットを表示する際に、コンテキスト情報のスニペットが、それぞれの構造化クエリとともに自動的に含まれることが可能である。特定の実施形態においては、スニペットは、クエリを行っているユーザが、構造化クエリと対話する際に、その構造化クエリとともに含まれることが可能である。構造化クエリが、クエリを行っているユーザに最初に提示されるときに、スニペットは、それぞれの構造化クエリとともに必ずしも含まれていない場合がある。代わりに、クエリを行っているユーザが、たとえば、特定の構造化クエリにマウスオーバすること、フォーカスすること、またはその構造化クエリとその他の形で対話することなどによって、その構造化クエリと対話した後に、その構造化クエリに関するスニペットが、そのユーザに提示されることが可能である。限定ではなく、例として、図４Ｃを参照すると、クエリ・フィールド３５０における「ｆａｃｅｂｏｏｋに対して「いいね！」を表明している人々」というテキスト・クエリ（「ｆａｃｅｂｏｏｋ」というあいまいな用語を含んでいる）に応答して、ソーシャルネットワーキング・システム１６０は、数ある中でも、「Ｆａｃｅｂｏｏｋ」という会社、「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」というグループに対応するコンセプト・ノード２０４を参照する構造化クエリを生成しており、それらは、ドロップダウン・メニュー３００においてユーザに提示されている。図４Ｃに示されている例においては、クエリを行っているユーザは、「Ｆａｃｅｂｏｏｋに対して「いいね！」を表明している人々」という構造化クエリにフォーカスしており、それに応答して、「製品／サービス  −  ８１，４３１，７７１人が、これに対して「いいね！」を表明している」と書かれているスニペットが、その構造化クエリの隣に生成されており、このスニペットは、「Ｆａｃｅｂｏｏｋ」という会社を表す参照されているコンセプト・ノード２０４に関するコンテキスト情報を提供して、それが「製品／サービス」に対応していることを示している。さらに、このスニペットは、参照されている「いいね！」タイプのエッジ２０６に関するコンテキスト情報を提供して、「８１，４３１，７７１人が、これに対して「いいね！」を表明している」（すなわち���その数のユーザ・ノード２０２が、「いいね！」タイプのエッジ２０６によって、「Ｆａｃｅｂｏｏｋ」を表すコンセプト・ノード２０４につながっている）ことを示している。同様に、もしもそのユーザが、図４Ｃのドロップダウン・メニュー３００において表示されているその他の構造化クエリにフォーカスするならば、それらの構造化クエリのそれぞれに関して、その特定の構造化クエリにおいて参照されているソーシャ
ル・グラフ要素に基づいて、別々のスニペットが表示されることが可能である。本開示は、構造化クエリに関する特定のスニペットを特定の様式で生成することについて示し、記述しているが、本開示は、構造化クエリに関する任意の適切なスニペットを任意の適切な様式で生成することを想定している。
【００７５】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、構造化クエリのうちの１または複数を第１のユーザ（すなわち、クエリを行っているユーザ）に送信する。限定ではなく、例として、構造化クエリが生成された後に、ソーシャルネットワーキング・システム１６０は、構造化クエリのうちの１または複数を、たとえば、参照されるソーシャル・グラフ要素の名前（名前文字列）、その他のクエリ制限（たとえば、ブール演算子など）、ならびに潜在的には、参照されるソーシャル・グラフ要素に関連付けられているその他のメタデータを含む（ＡＪＡＸまたはその他の適切な技術を利用する）応答としてユーザのクライアント・システム１３０へ送信する。クエリを行っているユーザのクライアント・システム１３０上のウェブ・ブラウザ１３２は、図４Ａ〜図４Ｈにおいて示されているように、送信された構造化クエリをドロップダウン・メニュー３００内に表示する。構造化クエリが、あいまいなｎグラムを伴うテキスト・クエリを受け取ったことに応答して生成されている場合には、送信された構造化クエリは、その構造化クエリにおいて参照されている識別されたノードまたは識別されたエッジが、あいまいなｎグラムに関する、クエリを行っているユーザの意図にマッチしていることを示すために、そのユーザによって選択できることが可能である。限定ではなく、例として、図４Ｃを参照すると、クエリ・フィールド３５０における「ｆａｃｅｂｏｏｋに対して「いいね！」を表明している人々」という非構造化テキスト・クエリに応答して、ソーシャルネットワーキング・システム１６０は、ドロップダウン・メニュー３００において示されている構造化クエリのセットを生成することができる。これらの構造化クエリは、数ある中でも、「Ｆａｃｅｂｏｏｋ」、「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」、および「Ｆａｃｅｂｏｏｋ  Ｃａｍｅｒａ」に対応するコンセプト・ノード２０４への参照を含んでおり、それらのそれぞれは、受け取られたテキスト・クエリからの「ｆａｃｅｂｏｏｋ」というあいまいなｎグラムに対応する可能性があるものとしてソーシャルネットワーキング・システム１６０によって識別されている場合がある。次いで、クエリを行っているユーザは、これらの構造化クエリのうちの１つを選択して、その構造化クエリにおいて参照されている特定のコンセプトを選択し、それによって、「ｆａｃｅｂｏｏｋ」というあいまいなｎグラムを、その選択された構造化クエリに対応するコンセプト・ノード２０４にロックすることができる。特定の実施形態においては、送信されたクエリは、クエリを行っているユーザに、ランク付けされた順序で、たとえば、上述のような以前に決定されたランクなどに基づいて提示される。よりよいランキングを伴う構造化クエリは、より目立つ位置に提示される。さらに、特定の実施形態においては、ランクしきい値を上回る構造化クエリのみが、クエリを行っているユーザに送信または表示される。限定ではなく、例として、図４Ａ〜図４Ｂにおいて示されているように、構造化クエリは、クエリを行っているユーザにドロップダウン・メニュー３００内で提示されることが可能であり、そのドロップダウン・メニュー３００では、より高くランク付けされている構造化クエリが、メニューの上位に提示されることが可能であり、より低くランク付けされている構造化クエリが、メニューを下っていく降順で提示される。図４Ａ〜図４Ｈに示されている例においては、上位７にランク付けされているクエリのみが、ユーザに送信されて表示されている。特定の実施形態においては、構造化クエリ内の１または複数の参照が、特定のソーシャル・グラフ要素に対するその対応を示すために強調表示されること（たとえば、外形を囲まれること、下線を付けること、丸を付けられること、太字にされること、イタリック体にされること、色を付けられること、明るくされること、ずらされること、大文字にされること）が可能である。限定ではなく、例として、図４Ａ〜図４Ｂにおいて示されているように、「スタンフォード大学」および「カリフォルニア州スタンフォード」への参照は、それが特定のコンセプト・ノード２０４に対応しているということを示すために、構造
化クエリ内で強調表示されている（外形を囲まれている）。同様に、ドロップダウン・メニュー３００において提示されている構造化クエリ内の「の友達」、「に対して「いいね！」を表明している」、「に勤務している」、および「に通った」への参照は、それらが特定のエッジ２０６に対応しているということを示すために強調表示されることも可能である。本開示は、特定の様式で特定の構造化クエリを送信することについて記述しているが、本開示は、任意の適切な様式で任意の適切な構造化クエリを送信することを想定している。
【００７６】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、構造化クエリのうちの１つの選択を第１のユーザ（すなわち、クエリを行っているユーザ）から受け取る。受け取られた構造化クエリ内で参照されているノードおよびエッジは、それぞれ、選択されたノードおよび選択されたエッジと呼ばれる場合がある。あいまいなｎグラムを伴うテキスト・クエリに応答して生成された構造化クエリのうちの１つを選択することによって、クエリを行っているユーザは、その選択された構造化クエリ内で参照されているノードまたはエッジが、あいまいなｎグラムに関するそのユーザの意図にマッチしていることを示している場合がある。限定ではなく、例として、クエリを行っているユーザのクライアント・システム１３０上のウェブ・ブラウザ１３２は、図４Ａ〜図４Ｂにおいて示されているように、送信された構造化クエリをドロップダウン・メニュー３００内に表示することができ、次いでユーザは、そのドロップダウン・メニュー３００をクリックまたはその他の形で（たとえば、自分のキーボード上で単に「ｅｎｔｅｒ（入力）」キーを押すことによって）選択して、ソーシャルネットワーキング・システム１６０に実行してほしいと自分が望んでいる特定の構造化クエリを示す。構造化クエリのうちの１つを選択することによって、クエリを行っているユーザは、それによって、あいまいなｎグラムを、その選択された構造化クエリに対応するソーシャル・グラフ要素にロックすることができる。限定ではなく、例として、図４Ｃを参照すると、クエリを行っているユーザは、「ｆａｃｅｂｏｏｋに対して「いいね！」を表明している友達」という非構造化テキスト・クエリをクエリ・フィールド３５０内に入力していた場合があり、その場合、そのテキスト・クエリ内の「ｆａｃｅｂｏｏｋ」という用語は、あいまいなｎグラムとして識別されている。クエリを行っているユーザが、「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」というグループを表すコンセプト・ノード２０４に対応する、「Ｆａｃｅｂｏｏｋ
Ｃｕｌｉｎａｒｙ  Ｔｅａｍに対して「いいね！」を表明している人々」という、図４Ｃにおいて示されているドロップダウン・メニュー３００からの第２の提案される構造化クエリを選択した場合には、ソーシャルネットワーキング・システム１６０は、この選択に基づいて、そのテキスト・クエリからの「ｆａｃｅｂｏｏｋ」というあいまいなｎグラムを、「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」を表すコンセプト・ノード２０４にロックし、構造化クエリの新たなセット（すなわち、「Ｆａｃｅｂｏｏｋ  Ｃｕｌｉｎａｒｙ  Ｔｅａｍ」を表すコンセプト・ノード２０４を参照する構造化クエリの新たなセット）を生成することができる。さらに、特定の構造化クエリを選択すると、ユーザのクライアント・システム１３０は、選択された構造化クエリを実行するようソーシャルネットワーキング・システム１６０に呼び出しまたはその他の形で命令する。本開示は、特定の様式で特定の構造化クエリの選択を受け取ることについて記述しているが、本開示は、任意の適切な様式で任意の適切な構造化クエリの選択を受け取ることを想定している。
【００７７】
特定の実施形態においては、クエリを行っているユーザからの構造化クエリの選択を受け取ったことに応答して、ソーシャルネットワーキング・システム１６０は、その選択に基づいて、構造化クエリの新たなセットを生成することができる。選択された構造化クエリは、あいまいなｎグラムに対応する識別されたノードまたは識別されたエッジのうちの１つへの参照を含むことができる。これらの識別されたノードまたは識別されたエッジは、選択されたノードまたは選択されたエッジと呼ばれる場合があり、クエリを行っている
ユーザによって選択された構造化クエリにおいて参照されている特定のソーシャル・グラフ要素が、そのクエリを行っているユーザが具体的に選択しようと意図したソーシャル・グラフ要素を表していることを示している。この新たなセットの構造化クエリは、選択されたノードまたは選択されたエッジへの参照を含むことができ、０以上のさらなるノードおよび０以上のさらなるエッジへの参照をさらに含むことができる。この方法においては、ソーシャルネットワーキング・システム１６０によって生成された提案される構造化クエリは、ユーザの選択を離れて拡張されることが可能であり、その場合、クエリを行っているユーザは事実上、より複雑なクエリを生成する目的で使用するためのクエリの基礎を選択していることになる。限定ではなく、例として、図４Ｄにおいて示されているドロップダウン・メニュー３００は、クエリを行っているユーザが、図４Ｃからの「Ｆａｃｅｂｏｏｋに対して「いいね！」を表明している人々」という提案される構造化クエリを選択したことに応答して生成された構造化クエリのセットを示している。「Ｆａｃｅｂｏｏｋに対して「いいね！」を表明している人々」という提案される構造化クエリは、「Ｆａｃｅｂｏｏｋ」という会社を表すコンセプト・ノード２０４に対応したものであり、それは、図４Ｃのクエリ・フィールド３５０における非構造化テキスト・クエリからの「ｆａｃｅｂｏｏｋ」というあいまいなｎグラムに対応したコンセプト・ノード２０４として識別されていた。この構造化クエリを選択した後に、「ｆａｃｅｂｏｏｋ」というあいまいなｎグラムは、「Ｆａｃｅｂｏｏｋ」という会社を表すコンセプト・ノード２０４にロックされ、次いで、ソーシャルネットワーキング・システム１６０は、さらなるソーシャル・グラフ要素とともに、このコンセプト・ノード２０４を参照した構造化クエリの新たなセットを生成した。選択された構造化クエリは、クエリ・フィールド３５０において以前に受け取られた非構造化テキスト・クエリに取って代わるために使用されることも可能である。たとえば、クエリを行っているユーザが、図４Ｃにおけるドロップダウン・メニュー３００から「Ｆａｃｅｂｏｏｋに対して「いいね！」を表明している人々」という構造化クエリを選択したら、その選択された構造化クエリは、元のテキスト・クエリに取って代わることができ、ソーシャルネットワーキング・システム１６０は、図４Ｄにおいて示されているように、選択された構造化クエリをクエリ・フィールド３５０に自動投入することができ、その場合、クエリ・フィールド３５０は、前に選択された構造化クエリを投入された状態になっている。特定の実施形態においては、クエリを行っているユーザは次いで、引き続きクエリ・フィールド３５０内にテキストを入力して、たとえば、クエリ・フィールド３５０内に投入されている構造化クエリの前に、中に、または後にテキスト・ストリングを追加することによって、クエリをさらに修正することができる。この方法においては、クエリを行っているユーザによって、構造化クエリに対してさらに絞り込みを行うことが可能である。さらに、上述のプロセスは、さらなるあいまいなｎグラムの入力に応答して繰り返されることが可能である。したがって、ソーシャルネットワーキング・システム１６０は、クエリ・フィールド３５０内に入力されているクエリの非構造化テキスト・クエリの部分を解析することができる。本開示は、ユーザの選択に応答して、構造化クエリを特定の様式で生成することについて記述しているが、本開示は、ユーザの選択に応答して、構造化クエリを任意の適切な様式で生成することを想定している。
【００７８】
図５は、構造化された検索クエリを生成するためにテキスト・クエリ内の用語のあいまい性を解消するための例示的な方法５００を示している。この方法は、工程５１０において開始することができ、工程５１０では、ソーシャルネットワーキング・システム１６０が、複数のノードと、それらのノード同士をつなげる複数のエッジ２０６とを含むソーシャル・グラフ２００にアクセスすることができる。それらのノードは、第１のユーザ・ノード２０２、および複数の第２のノード（１以上のユーザ・ノード２０２、コンセプト・ノード２０４、またはそれらの任意の組合せ）を含むことができる。工程５２０において、ソーシャルネットワーキング・システム１６０は、あいまいなｎグラムを含む非構造化テキスト・クエリを第１のユーザから受け取ることができる。工程５３０において、ソーシャルネットワーキング・システム１６０は、あいまいなｎグラムに対応する複数の第２
のノードまたは複数のエッジを識別することができる。たとえば、ソーシャルネットワーキング・システム１６０は、そのテキスト・クエリからのあいまいなｎグラムにマッチしている２つの異なるノードを識別することができる。工程５４０において、ソーシャルネットワーキング・システム１６０は、構造化クエリの第１のセットを生成することができる。これらの構造化クエリのそれぞれは、識別された第２のノードまたは識別されたエッジに対応することが可能であり、それぞれの構造クエリは、その識別された第２のノードまたは識別されたエッジへの参照を含むことができる。たとえば、ソーシャルネットワーキング・システム１６０は、特定のノードへの参照を伴う１つの構造化クエリ、および別のノードへの参照を伴う別の構造化クエリを生成する場合があり、この場合、両方のノードが、あいまいなｎグラムにマッチする可能性がある。工程５５０において、ソーシャルネットワーキング・システム１６０は、構造化クエリの第１のセットからの第１の構造化クエリの選択を第１のユーザから受け取ることができる。第１の構造化クエリは、識別された第２のノードからの選択された第２のノード、または識別されたエッジからの選択されたエッジに対応することが可能である。この方法においては、第１のユーザは、あいまいなｎグラムが、選択された構造化クエリから参照されている選択されたソーシャル・グラフ要素にマッチしているという意図を示すことによって、そのｎグラムのあいまい性を解消することができる。工程５６０において、ソーシャルネットワーキング・システム１６０は、構造化クエリの第２のセットを生成することができる。構造化クエリの第２のセットのそれぞれの構造化クエリは、選択された第２のノードまたは選択されたエッジへの参照を含むことができる。したがって、第１のユーザの選択に応答して、ソーシャルネットワーキング・システム１６０は、あいまい性を解消されたｎグラムを考慮に入れる構造化クエリの新たなセットを生成することができる。特定の実施形態は、適切な場合には、図５の方法の１以上の工程を繰り返すことができる。本開示は、図５の方法の特定の工程同士を、特定の順序で生じるものとして記述し、示しているが、本開示は、任意の適切な順序で生じる図５の方法の任意の適切な工程同士を想定している。その上、本開示は、図５の方法の特定の工程を実行する特定のコンポーネント、デバイス、またはシステムについて記述し、示しているが、本開示は、図５の方法の任意の適切な工程を実行する任意の適切なコンポーネント、デバイス、またはシステムの任意の適切な組合せを想定している。
【００７９】
構造化された検索クエリに関するさらなる情報は、２０１２年７月２３日に出願された米国特許出願第１３／５５６０７２号、および２０１２年１１月１２日に出願された米国特許出願第１３／６７４６９５号において見つけることができ、それらの米国特許出願のそれぞれは、本願明細書に援用されている。
【００８０】
ページ用のデフォルト・クエリを生成すること
図６Ａ〜図６Ｆは、オンライン・ソーシャル・ネットワークの例示的なウェブページを示している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークのページ用のデフォルトの構造化クエリのセットを生成することができる。ソーシャルネットワーキング・システム１６０は、ユーザが現在閲覧しているまたはその他の形でアクセスしているページを識別し、次いで、そのページに対応する任意のソーシャル・グラフ要素を識別することができる。ページに対応するソーシャル・グラフ要素は、たとえば、ユーザプロフィール・ページもしくはコンセプトプロフィール・ページに対応するノード、または特定の検索結果ページを生成するために使用された構造化クエリにおいて参照されているノード／エッジである場合がある。次いで、ソーシャルネットワーキング・システム１６０は、ページ用のデフォルトの構造化クエリのセットを、そのページに関する識別されたソーシャル・グラフ要素に基づいて生成することができる。限定ではなく、例として、図６Ｂを参照すると、「マーク」を表すユーザ・ノード２０２に対応する、「マーク」というユーザに関するユーザプロフィール・ページにアクセスする場合には、そのページ用のデフォルトの構造化クエリのうちの
いくつかは、ドロップダウン・メニュー３００において示されているように、「マークの友達」または「マークの写真」を含むことができ、ドロップダウン・メニュー３００では、これらの構造化クエリのそれぞれは、「マーク」というユーザのユーザ・ノード２０２への参照を含んでいる。次いで、生成されたデフォルトの構造化クエリは、ユーザへ送信されて、たとえば、ドロップダウン・メニュー３００内に表示されることが可能である。特定の実施形態においては、クエリ・フィールド３５０は、そのページを表すタイトル・バーとしての役割を果たすこともできる。言い換えれば、タイトル・バー兼クエリ・フィールド３５０は、特定のページ上では、事実上、統合されたフィールドであることが可能である。オンライン・ソーシャル・ネットワークのページを表すタイトル・バーは、そのページに対応するソーシャル・グラフ要素への参照を含むことができる。限定ではなく、例として、図６Ｃ〜図６Ｄにおいて示されているユーザプロフィール・ページを参照すると、そのページの最上部に横たわっているタイトル・バーは、そのページに対応するコンセプトの名前である「バラク・オバマ」を含んでいる。限定ではなく、別の例として、図６Ｅ〜図６Ｆにおいて示されている検索結果ページを参照すると、そのページの最上部に横たわっているタイトル・バーは、そのページを生成するために使用された構造化クエリである「現在のＦａｃｅｂｏｏｋの従業員」を含んでいる。このタイトル・バーは、そのページ用のクエリ・フィールド３５０としての役割を果たすこともできる。したがって、そのページにアクセスしているユーザは次いで、（たとえば、そのページのタイトルにマウスオーバすること、そのタイトルをクリックすること、またはそのタイトルとその他の形で対話することによって）そのタイトルと対話して、クエリを入力することができる。ユーザがタイトル／クエリ・フィールドと対話したことに応答して、ソーシャルネットワーキング・システム１６０は次いで、ページ用のデフォルトの構造化クエリのセットを生成し、これらのクエリを自動的に送信して、図６Ｂにおいて示されているようにページ上のドロップダウン・メニュー３００内に表示することができ、その場合、ドロップダウン・メニュー３００は、クエリ・フィールド３５０に関連して表示される。本開示は、特定の様式でページ用のデフォルト・クエリを生成することについて記述しているが、本開示は、任意の適切な様式でページ用のデフォルト・クエリを生成することを想定している。
【００８１】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ユーザによって現在アクセスされているページに対応するソーシャル・グラフ２００のノードを識別することができる。ユーザは、任意の適切なページ、たとえば、ユーザプロフィール・ページ、コンセプトプロフィール・ページ、検索結果ページ、ホーム・ページ、ニュースフィード・ページ、Ｅメールもしくはメッセージ・ページ、または、オンライン・ソーシャル・ネットワークの別の適切なページなどにアクセスすることができる。オンライン・ソーシャル・ネットワークの特定のページは、特定のソーシャル・グラフ要素に対応することが可能である。特定の実施形態においては、ユーザは、特定のユーザ・ノード２０２またはコンセプト・ノード２０４に対応するオンライン・ソーシャル・ネットワークのプロフィール・ページに現在アクセスしている場合がある。オンライン・ソーシャル・ネットワークのそれぞれのユーザは、そのユーザのユーザ・ノード２０２に対応するユーザプロフィール・ページを有することができる。限定ではなく、例として、「マーク」というユーザに関するユーザプロフィール・ページを示している図６Ａ〜図６Ｂを参照すると、このページは、「マーク」というユーザのユーザ・ノード２０２に対応することが可能である。同様に、オンライン・ソーシャル・ネットワークにおいて表されているそれぞれのコンセプトは、そのコンセプトを表しているコンセプト・ノード２０４に対応するコンセプトプロフィール・ページを有することができる。限定ではなく、例として、「バラク・オバマ」という政治家に関するコンセプトプロフィール・ページを示している図６Ｃ〜図６Ｄを参照すると、このページは、「バラク・オバマ」という政治家を表しているコンセプト・ノード２０４に対応することが可能である（もちろん、バラク・オバマは、個人のユーザプロフィール・ページを有する場合もあることに留意されたい）。特定の実施形態においては、ユーザは、構造化クエリに対応する検索結果ページに現在アクセスしてい
る場合がある。構造化クエリは、１以上のノードおよび１以上のエッジへの参照を含む場合があり、検索結果ページは、この構造化クエリに応答して生成されている場合がある。このケースにおいては、構造化クエリにおいて参照されているノードのうちの１以上が、ソーシャルネットワーキング・システム１６０によって、そのページに対応するノードであるとして識別されることが可能である。限定ではなく、例として、（「Ｆａｃｅｂｏｏｋ」という会社を表すコンセプト・ノード２０４への参照を含む）「現在のＦａｃｅｂｏｏｋの従業員」という構造化クエリによって生成された検索結果ページを示している図６Ｅ〜図６Ｆを参照すると、ソーシャルネットワーキング・システム１６０は、「Ｆａｃｅｂｏｏｋ」という会社に対応するコンセプト・ノード２０４を、この検索結果ページに対応するノードであるとして識別することができる。本開示は、特定のページに対応する特定のノードを特定の様式で識別することについて記述しているが、本開示は、任意の適切なページに対応する任意の適切なノードを任意の適切な様式で識別することを想定している。
【００８２】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１以上の構造化クエリを生成することができ、それらの構造化クエリはそれぞれ、ユーザによって現在アクセスされているページの識別されたノードへの参照を含む。これらの生成された構造化クエリは、そのページ用のデフォルトの構造化クエリとみなされることが可能である。これらの構造化クエリのそれぞれは、識別されたノードにつながっている１以上のエッジへの参照を含むこともできる。これらのデフォルトの構造化クエリは事実上、ユーザによって現在アクセスされているページに基づいており、そのページを参照している。前述したように、タイトル・バーおよびクエリ・フィールド３５０のフィールドが、統合されたフィールドである場合には、ソーシャルネットワーキング・システム１６０は基本的に、ページのタイトル（それ自体が、１以上のソーシャル・グラフ要素への参照とみなされることが可能である）をテンプレート・クエリとして使用することができ、そのテンプレート・クエリの上にクエリ修正が加えられて、デフォルトの構造化クエリが生成される。限定ではなく、例として、図６Ｄを参照すると、ページのタイトルは「バラク・オバマ」であり、この場合、このタイトルは、クエリ・フィールド３５０と統合されており、それによってユーザは、そのタイトルと対話して、自分が対話しているページを参照するページに関するデフォルト・クエリのセットを伴うドロップダウン・メニュー３００をすぐに持ってくることができる（すなわち、提案されるデフォルト・クエリは、「バラク・オバマ」というコンセプトに関連付けられているコンセプト・ノード２０４への参照を含む）。特定の実施形態においては、ユーザが検索結果ページにアクセスしている場合に、ソーシャルネットワーキング・システム１６０によって生成されたデフォルトの構造化クエリは、その検索結果ページを生成するために使用された構造化クエリにおいて参照されているソーシャル・グラフ要素への参照を含むことができる。言い換えれば、特定の検索結果ページを生成するために、１以上のノードおよび１以上のエッジへの参照を含んでいる構造化クエリが使用されている場合には、そのページ用に生成されたデフォルトの構造化クエリはまた、少なくとも、元の構造化クエリの１以上のノードおよび１以上のエッジへの参照を含むことになる。したがって、特定の検索結果ページを生成するために使用される構造化クエリは、基礎として使用されることが可能であり、その基礎に基づいて、その最初のクエリの拡張が、デフォルト・クエリとして提案されることが可能である。限定ではなく、例として、図６Ｆを参照すると、ページのタイトルは「現在のＦａｃｅｂｏｏｋの従業員」であり、この場合、このタイトルは、その検索結果ページを生成するために使用された構造化クエリでもあり、今はクエリ・フィールド３５０内に投入されている。ユーザがクエリ・フィールドと対話する際に、ソーシャルネットワーキング・システム１６０は、元の構造クエリに基づいて、デフォルトの構造化クエリのセットを生成することができ、その場合、デフォルトの構造化クエリのうちのそれぞれは事実上、「現在のＦａｃｅｂｏｏｋの従業員」という元のクエリの修正である。たとえば、図６Ｆに示されている例においては、ソーシャルネットワーキング・システム１６０は、（「〜に住んでいる
」タイプのエッジ２０６および「テキサス州オースティン」を表すコンセプト・ノード２０４というさらなるソーシャル・グラフ要素を参照している）「テキサス州オースティンに住んでいる現在のＦａｃｅｂｏｏｋの従業員」、ならびに、（「いいね！」タイプのエッジ２０６および「オールド・プロ」を表すコンセプト・ノード２０４というさらなるソーシャル・グラフ要素を参照している）「オールド・プロに対して「いいね！」を表明している現在のＦａｃｅｂｏｏｋの従業員」という提案されるデフォルトの構造化クエリを生成しており、これらのそれぞれは、元の構造化クエリからのソーシャル・グラフ要素、ならびに、元のクエリの修正であるさらなるソーシャル・グラフ要素を参照している。本開示は、特定の様式で特定のデフォルトの構造化クエリを生成することについて記述しているが、本開示は、任意の適切な様式での任意の適切なデフォルトの構造化クエリを想定している。その上、本開示は、特定のタイプのページ用のデフォルトの構造化クエリを生成することについて記述しているが、本開示は、任意の適切なタイプのページ用のデフォルトの構造化クエリを生成することを想定している。
【００８３】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、デフォルトの構造化クエリのうちの１以上を、クエリを行っているユーザへ、そのユーザによって現在アクセスされているページ上に表示する目的で送信することができる。これらの構造化クエリは、前述のように送信されて表示されることが可能である。限定ではなく、例として、クエリを行っているユーザのクライアント・システム１３０上のウェブ・ブラウザ１３２は、図６Ｂ、図６Ｄ、および図６Ｆにおいて示されているように、送信された構造化クエリを、ウェブページのクエリ・フィールド３５０に関連付けられているドロップダウン・メニュー３００内に表示することができる。特定のページ用に生成されたデフォルトの構造化クエリは、ユーザが、たとえば、クエリ・フィールド３５０にマウスオーバすること、またはクエリ・フィールド３５０をクリックすること（これらは、構造化クエリが送信されてドロップダウン・メニュー３００内に表示されるようにすることができる）などによってクエリ・フィールド３５０と対話するまで、表示されないことが可能である。ドロップダウン・メニュー３００内に表示された構造化クエリは、ページにアクセスしているユーザが、構造化クエリのうちの１つを選択して、その選択された構造化クエリがソーシャルネットワーキング・システム１６０によって実行されるべきであることを示すことを可能にすることができる。本開示は、特定の様式で特定のデフォルトの構造化クエリを送信することについて記述しているが、本開示は、任意の適切な様式での任意の適切なデフォルトの構造化クエリを送信することを想定している。
【００８４】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、特定のソーシャル・グラフ要素に対応していないページにユーザがアクセスしたことに応答して、１以上のデフォルトの構造化クエリを生成することができる。ユーザは、いずれかの特定のソーシャル・グラフ要素に必ずしも対応していないオンライン・ソーシャル・ネットワークのページ（たとえば、ソーシャル・グラフ２００のいずれかの特定のノードまたはエッジに必ずしも対応していない場合があるニュースフィード・ページなど）にアクセスする場合がある。このケースにおいては、そのページは、そのページに対応するソーシャル・グラフ要素を識別することに関して「ヌル状態」にあるとみなされることが可能である。同様に、１以上のソーシャル・グラフ要素に対応していないページに関して、そのページにアクセスしているユーザは、そのページのクエリ・フィールド３５０を、たとえば、そのフィールドをそれまで占めていた任意のタイトルまたはクエリを消去または削除することによって、ヌル状態に置くことができる。ヌル状態のページ（または、ヌル状態にあるクエリ・フィールド３５０）に関して、ソーシャルネットワーキング・システム１６０は、さまざまな要因、たとえば、ユーザがアクセスしているページのタイプ、ユーザのクエリ履歴、特定のクエリの一般的なもしくは現在の人気、特定のクエリの有用性、その他の適切な要因、またはそれらの任意の組合せなどに基づいてページ用のデフォルトの構造化クエリのセットを生成することができる。これらのデフォルトの構造化クエリは、事
前に生成されてキャッシュからアクセスされること、またはユーザからの入力に応答して動的に生成されることが可能である。特定の実施形態においては、特定のソーシャル・グラフ要素に対応していないページにユーザがアクセスしている場合には、ソーシャルネットワーキング・システム１６０は、そのページに対応するデフォルトの構造化クエリのセットにアクセスすることができる。これらのデフォルトの構造化クエリのそれぞれは、１以上のエッジ２０６（もしくはエッジ・タイプ）または１以上のノード（もしくはノードタイプ）への参照を含むことができる。限定ではなく、例として、図３は、オンライン・ソーシャル・ネットワークのユーザによってアクセスされているニュースフィード・ページを示している。このページ用のデフォルトの構造化クエリのうちのいくつかは、ドロップダウン・メニュー３００において示されているように、「．．．の友達」または「．．．に対して「いいね！」を表明している人々」を含むことができ、この場合、これらの構造化クエリはそれぞれ、友達タイプのエッジ２０６および「いいね！」タイプのエッジ２０６への参照を含んでいた。図３に示されている例においては、デフォルトの構造化クエリは、ユーザがそのクエリを完成させるためにクエリ・フィールド３５０内にテキストを入力することができることを示すために省略記号を含んでいる。限定ではなく、別の例として、図３において示されている同じニュースフィード・ページに関して、ソーシャルネットワーキング・システム１６０は、「私の友達」、「私の友達の写真」、「私が「いいね！」を表明している写真」、または「私の友達が使用しているアプリ」を含むデフォルトの構造化クエリを生成することができ、この場合、これらの構造化クエリは、エッジおよびノードの両方への参照を含んでいる（たとえば、「私の友達」という構造化クエリに関しては、「私の」という用語は、クエリを行っているユーザのユーザ・ノード２０２への参照であり、「友達」という用語は、そのノードにつながっている友達タイプのエッジ２０６への参照である）。本開示は、特定のソーシャル・グラフ要素に対応していないページ用のデフォルトの構造化クエリを特定の様式で生成することについて記述しているが、本開示は、特定のソーシャル・グラフ要素に対応していないページ用のデフォルトの構造化クエリを任意の適切な様式で生成することを想定している。
【００８５】
図７は、ページ用のデフォルトの構造化された検索クエリを生成するための例示的な方法７００を示している。この方法は、工程７１０において開始することができ、工程７１０では、ソーシャルネットワーキング・システム１６０が、複数のノードと、それらのノード同士をつなげる複数のエッジ２０６とを含むソーシャル・グラフ２００にアクセスすることができる。それらのノードは、第１のユーザ・ノード２０２、および複数の第２のノード（１以上のユーザ・ノード２０２、コンセプト・ノード２０４、またはそれらの任意の組合せ）を含むことができる。工程７２０において、ソーシャルネットワーキング・システム１６０は、第１のユーザによって現在アクセスされているページに対応する複数のノードのうちの１つのノードを識別することができる。そのページは、たとえば、ユーザプロフィール・ページ、コンセプトプロフィール・ページ、検索結果ページ、または、オンライン・ソーシャル・ネットワークの別の適切なページである場合がある。工程７３０において、ソーシャルネットワーキング・システム１６０は、１以上の構造化クエリを生成することができる。これらの構造化クエリのそれぞれは、第１のユーザによって現在アクセスされているページに対応する識別されたノードを参照することができる。それらの構造化クエリは、識別されたノードにつながっている複数のエッジのうちの１以上のエッジを参照することもできる。工程７４０において、ソーシャルネットワーキング・システム１６０は、それらの構造化クエリのうちの１以上を、ページ上に表示するために第１のユーザへ送信することができる。これらは、そのページに関連付けられているソーシャル・グラフ要素に基づいて決定されている、そのページ用のデフォルトの構造化クエリとみなされることが可能である。特定の実施形態は、適切な場合には、図７の方法の１以上の工程を繰り返すことができる。本開示は、図７の方法の特定の工程同士を、特定の順序で生じるものとして記述し、示しているが、本開示は、任意の適切な順序で生じる図７の方法の任意の適切な工程同士を想定している。その上、本開示は、図７の方法の特定の工
程を実行する特定のコンポーネント、デバイス、またはシステムについて記述し、示しているが、本開示は、図７の方法の任意の適切な工程を実行する任意の適切なコンポーネント、デバイス、またはシステムの任意の適切な組合せを想定している。
【００８６】
検索結果を生成すること
特定の実施形態においては、クエリを行っているユーザから受け取られた構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、１以上の検索結果を生成することができ、その場合、それぞれの検索結果は、構造化クエリの用語にマッチする（または実質的にマッチする）。ソーシャルネットワーキング・システム１６０は、クエリを行っているユーザ（第１のユーザ・ノード２０２に対応する「第１のユーザ」とも呼ばれる）から、構造化クエリを受け取ることができる。その構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、その構造化クエリに対応する１以上の検索結果を生成することができる。それぞれの検索結果は、プロフィール・ページへのリンク、およびそのプロフィール・ページ（または、そのページに対応するノード）の記述または概要を含むことができる。それらの検索結果は、検索結果ページとして、クエリを行っているユーザに提示および送信されることが可能である。図６Ｅは、特定の構造化クエリに応答して生成された例示的な検索結果ページを示している。特定の検索結果ページを生成するために使用された構造化クエリが、クエリ・フィールド３５０において示されており、その構造化クエリに応答して生成されたさまざまな検索結果が、提示される検索結果のためのフィールドにおいて示されている。特定の実施形態においては、クエリ・フィールド３５０は、そのページを表すタイトル・バーとしての役割を果たすこともできる。言い換えれば、タイトル・バー兼クエリ・フィールド３５０は、検索結果ページ上では、事実上、統合されたフィールドであることが可能である。例として、図６Ｅは、クエリ・フィールド３５０における「現在のＦａｃｅｂｏｏｋの従業員」という構造化クエリを伴う検索結果ページを示している。この構造化クエリはまた、事実上、生成されたページを表すタイトルとしての役割を果たし、この場合、このページは、「Ｆａｃｅｂｏｏｋ」という会社の従業員であるオンライン・ソーシャル・ネットワークのユーザについての複数の検索結果を示している。この検索結果ページは、検索結果を修正するためのフィールド、および提案される検索を提供するためのフィールドを含むこともできる。検索結果を生成する際に、ソーシャルネットワーキング・システム１６０は、それぞれの検索結果に関する１以上のスニペットを生成することができ、その場合、それらのスニペットは、検索結果のターゲットに関するコンテキスト情報（すなわち、その特定の検索結果に対応するソーシャル・グラフ・エンティティ、プロフィール・ページ、またはその他のコンテンツに関するコンテキスト情報）である。本開示は、特定の検索結果ページについて記述し、示しているが、本開示は、任意の適切な検索結果ページを想定している。
【００８７】
検索結果を生成することに関するさらなる情報は、２０１２年１２月３１日に出願された米国特許出願第１３／７３１９３９号において見つけることができ、その米国特許出願は、本願明細書に援用されている。
【００８８】
システムおよび方法
図８は、例示的なコンピュータ・システム８００を示している。特定の実施形態においては、１または複数のコンピュータ・システム８００が、本明細書において記述されているまたは示されている１または複数の方法の１または複数の工程を実行する。特定の実施形態においては、１または複数のコンピュータ・システム８００が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、１または複数のコンピュータ・システム８００上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている１もしくは複数の方法の１もしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、１または複数のコンピュータ・システム８００の１または複数の部分を含
む。本明細書においては、コンピュータ・システムへの言及は、適切な場合には、コンピューティング・デバイスを包含することができ、その逆もまた同様である。その上、コンピュータ・システムへの言及は、適切な場合には、１または複数のコンピュータ・システムを包含する。
【００８９】
本開示は、任意の適切な数のコンピュータ・システム８００を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム８００を想定している。限定ではなく、例として、コンピュータ・システム８００は、組み込みコンピュータ・システム、システムオンチップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータオンモジュール（ＣＯＭ）もしくはシステムオンモジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せである。適切な場合には、コンピュータ・システム８００は、１もしくは複数のコンピュータ・システム８００を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンタにわたること、または、クラウド（１もしくは複数のネットワーク内の１もしくは複数のクラウド・コンポーネントを含む）内に常駐する。適切な場合には、１または複数のコンピュータ・システム８００は、本明細書において記述されているまたは示されている１または複数の方法の１または複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行する。限定ではなく、例として、１または複数のコンピュータ・システム８００は、本明細書において記述されているまたは示されている１または複数の方法の１または複数の工程をリアル・タイムで、またはバッチ・モードで実行する。１または複数のコンピュータ・システム８００は、適切な場合には、本明細書において記述されているまたは示されている１または複数の方法の１または複数の工程を別々の時点で、または別々のロケーションで実行する。
【００９０】
特定の実施形態においては、コンピュータ・システム８００は、プロセッサ８０２、メモリ８０４、ストレージ８０６、入力／出力（Ｉ／Ｏ）インタフェース８０８、通信インタフェース８１０、およびバス８１２を含む。本開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切な構成要素を任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
【００９１】
特定の実施形態においては、プロセッサ８０２は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ８０２は、内部レジスタ、内部キャッシュ、メモリ８０４、またはストレージ８０６から命令を取り出し（またはフェッチし）、それらの命令をデコードして実行し、次いで、１または複数の結果を内部レジスタ、内部キャッシュ、メモリ８０４、またはストレージ８０６に書き込む。特定の実施形態においては、プロセッサ８０２は、データ、命令、またはアドレスのための１または複数の内部キャッシュを含む。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ８０２を想定している。限定ではなく、例として、プロセッサ８０２は、１または複数の命令キャッシュ、１または複数のデータ・キャッシュ、および１または複数の変換ルックアサイド・バッファ（ＴＬＢ）を含む。命令キャッシュ内の命令は、メモリ８０４またはストレージ８０６内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ８０２によるそれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ８０２において実行される命令が機能する際に基づくメモリ８０４もしくはストレージ８０６内のデータのコピー、プロセッサ８０２において実行される後続の命令によるアクセスのための、もしくはメモリ８０４もしくはストレージ８０６
への書き込みのためのプロセッサ８０２において実行された以前の命令の結果、またはその他の適切なデータである。データ・キャッシュは、プロセッサ８０２による読み取りオペレーションまたは書き込みオペレーションを高速化する。ＴＬＢは、プロセッサ８０２のための仮想アドレス変換を高速化する。特定の実施形態においては、プロセッサ８０２は、データ、命令、またはアドレスのための１または複数の内部レジスタを含む。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ８０２を想定している。適切な場合には、プロセッサ８０２は、１もしくは複数の演算ロジック・ユニット（ＡＬＵ）を含むこと、マルチコア・プロセッサであること、または１もしくは複数のプロセッサ８０２を含む。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
【００９２】
特定の実施形態においては、メモリ８０４は、プロセッサ８０２が実行するための命令、またはプロセッサ８０２が機能する際に基づくデータを記憶するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム８００は、命令をストレージ８０６または別のソース（たとえば、別のコンピュータ・システム８００など）からメモリ８０４にロードする。次いでプロセッサ８０２は、命令をメモリ８０４から内部レジスタまたは内部キャッシュにロードする。命令を実行するために、プロセッサ８０２は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードする。命令の実行中または実行後に、プロセッサ８０２は、１または複数の結果（それらは、中間の結果または最終的な結果である場合がある）を内部レジスタまたは内部キャッシュに書き込む。次いでプロセッサ８０２は、それらの結果のうちの１または複数をメモリ８０４に書き込む。特定の実施形態においては、プロセッサ８０２は、（ストレージ８０６またはその他の場所ではなく）１もしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ８０４内の命令のみを実行し、（ストレージ８０６またはその他の場所ではなく）１もしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ８０４内のデータ上でのみ機能する。１または複数のメモリ・バス（それらはそれぞれ、アドレス・バスおよびデータ・バスを含む）は、プロセッサ８０２をメモリ８０４に結合する。バス８１２は、以降で記述されているような１または複数のメモリ・バスを含む。特定の実施形態においては、１または複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ８０２とメモリ８０４との間に常駐し、プロセッサ８０２によって要求されるメモリ８０４へのアクセスを容易にする。特定の実施形態においては、メモリ８０４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合には、揮発性メモリであることが可能であり、適切な場合には、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）である。その上、適切な場合には、このＲＡＭは、シングルポートＲＡＭまたはマルチポートＲＡＭである。本開示は、任意の適切なＲＡＭを想定している。メモリ８０４は、適切な場合には、１または複数のメモリ８０４を含む。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
【００９３】
特定の実施形態においては、ストレージ８０６は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ８０６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらのうちの複数の組合せを含む。ストレージ８０６は、適切な場合には、取り外し可能なまたは取り外し不能な（すなわち、固定された）メディアを含む。ストレージ８０６は、適切な場合には、コンピュータ・システム８００の内部または外部に存在する。特定の実施形態においては、ストレージ８０６は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ８０６は、読み取り専用メモリ（ＲＯＭ）を含む。適切な場合には、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可
能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書替え可能ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せである。本開示は、任意の適切な物理的な形態を取るマス・ストレージ８０６を想定している。ストレージ８０６は、適切な場合には、プロセッサ８０２とストレージ８０６との間における通信を容易にする１または複数のストレージ・コントロール・ユニットを含む。適切な場合には、ストレージ８０６は、１または複数のストレージ８０６を含む。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
【００９４】
特定の実施形態においては、Ｉ／Ｏインタフェース８０８は、コンピュータ・システム８００と１または複数のＩ／Ｏデバイスとの間における通信のための１または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム８００は、適切な場合には、これらのＩ／Ｏデバイスのうちの１または複数を含む。これらのＩ／Ｏデバイスのうちの１または複数は、人とコンピュータ・システム８００との間における通信を可能にする。限定ではなく、例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なＩ／Ｏデバイス、またはこれらのうちの複数の組合せを含む。Ｉ／Ｏデバイスは、１または複数のセンサを含む。本開示は、任意の適切なＩ／Ｏデバイス、およびそれらのＩ／Ｏデバイスのための任意の適切なＩ／Ｏインタフェース８０８を想定している。適切な場合には、Ｉ／Ｏインタフェース８０８は、プロセッサ８０２がこれらのＩ／Ｏデバイスのうちの１または複数を駆動することを可能にする１または複数のデバイス・ドライバまたはソフトウェア・ドライバを含む。Ｉ／Ｏインタフェース８０８は、適切な場合には、１または複数のＩ／Ｏインタフェース８０８を含む。本開示は、特定のＩ／Ｏインタフェースについて記述し、示しているが、本開示は、任意の適切なＩ／Ｏインタフェースを想定している。
【００９５】
特定の実施形態においては、通信インタフェース８１０は、コンピュータ・システム８００と、１もしくは複数のその他のコンピュータ・システム８００または１もしくは複数のネットワークとの間における通信（たとえば、パケットベースの通信など）のための１または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース８１０は、イーサネット（登録商標）もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷＩ−ＦＩネットワークなどの無線ネットワークと通信するための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含む。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース８１０を想定している。限定ではなく、例として、コンピュータ・システム８００は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１または複数の部分、またはこれらのうちの複数の組合せと通信する。これらのネットワークのうちの１または複数の１または複数の部分は、有線または無線である。例として、コンピュータ・システム８００は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、ブルートゥース（登録商標）ＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、セルラー電話ネットワーク（たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ（ＧＳＭ（登録商標））ネットワークなど）、またはその他の適切な無線ネットワーク、またはこれらのうちの複数の組合せと通信する。コンピュータ・システム８００は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース８１０を含む。通信インタフェース８１０は、適切な場合には、１または複数の通信インタフェース８１０を含む。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信
インタフェースを想定している。
【００９６】
特定の実施形態においては、バス８１２は、コンピュータ・システム８００の構成要素同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス８１２は、アクセラレイティッド・グラフィックス・ポート（ＡＧＰ）もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ（ＥＩＳＡ）バス、フロントサイド・バス（ＦＳＢ）、ハイパートランスポート（ＨＴ）インターコネクト、インダストリー・スタンダード・アーキテクチャ（ＩＳＡ）バス、インフィニバンド・インターコネクト、ローピンカウント（ＬＰＣ）バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、シリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル（ＶＬＢ）バス、または別の適切なバス、またはこれらのうちの複数の組合せを含む。バス８１２は、適切な場合には、１または複数のバス８１２を含む。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
【００９７】
本明細書においては、１または複数の非一時的コンピュータ可読記憶媒体は、適切な場合には、１もしくは複数の半導体ベースのもしくはその他の集積回路（ＩＣ）（たとえば、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）もしくは特定用途向け集積回路（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー（登録商標）・ディスケット、フロッピー（登録商標）・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的コンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含む。非一時的コンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せである。
【００９８】
雑題
本明細書においては、「または（もしくは）」は、包含的であり、排他的ではない（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡまたはＢ」は、「Ａ、Ｂ、またはその両方」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。その上、「および（ならびに）」は、包括的および個別的の両方である（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡおよびＢ」は、「まとめて、または個別に、ＡおよびＢ」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。
【００９９】
本開示の範囲は、当業者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定の構成要素、要素、機能、オペレーション、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されている構成要素、要素、機能、オペレーション、または工程のうちの任意のものの任意の組合せまたは順列を含む。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行する、
実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムの構成要素への添付の特許請求の範囲における言及は、その装置、システム、構成要素、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、または構成要素が、そうするように適合されている、そうするようにアレンジされている、そうする、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、構成要素を包含する。
【図１】
0005937280.tif 000002
【図２】
0005937280.tif 000003
【図３】
0005937280.tif 000004
【図４Ａ】
0005937280.tif 000005
【図４Ｂ】
0005937280.tif 000006
【図４Ｃ】
0005937280.tif 000007
【図４Ｄ】
0005937280.tif 000008
【図４Ｅ】
0005937280.tif 000009
【図４Ｆ】
0005937280.tif 000010
【図４Ｇ】
0005937280.tif 000011
【図４Ｈ】
0005937280.tif 000012
【図５】
0005937280.tif 000013
【図６Ａ】
0005937280.tif 000014
【図６Ｂ】
0005937280.tif 000015
【図６Ｃ】
0005937280.tif 000016
【図６Ｄ】
0005937280.tif 000017
【図６Ｅ】
0005937280.tif 000018
【図６Ｆ】
0005937280.tif 000019
【図７】
0005937280.tif 000020
【図８】
0005937280.tif 000021