(57)【特許請求の範囲】
【請求項１】
コンピューティング・デバイスにおいて実行される方法であって、
複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記ノードのうちの２つの間における前記エッジの各々は、それらの間における１つの隔たり度合いを表しており、前記ノードは、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザに各々が対応する複数の第２のノードとを備える、工程と、
文法モデルによって生成された自然言語の文字列と、前記複数の第２のノードから選択された１以上のノードおよび前記複数のエッジから選択された１以上のエッジへの参照とを含む第１の構造化クエリを前記第１のユーザのクライアント・システムから受け取る工程と、
前記第１の構造化クエリに関する１以上のクエリ修正を生成する工程であって、各クエリ修正は、前記複数の第２のノードからの１以上の修正ノードまたは前記複数のエッジからの１以上の修正エッジへの参照を含む、クエリ修正生成工程と、
前記第１の構造化クエリを受け取ることに応答して、前記クエリ修正の１以上を、前記第１のユーザに表示されるための前記第１の構造化クエリに対する提案される修正として、前記第１のユーザの前記クライアント・システムに送信する工程であって、各クエリ修正は、前記第１の構造化クエリの自然言語の文字列が、選択された前記クエリ修正において参照されている前記１以上の修正ノードまたは前記１以上のエッジへの参照をさらに備えるように修正されるよう、前記第１のユーザによって選択可能である、工程と、を備える方法。
【請求項２】
前記修正ノードおよび前記修正エッジへの前記参照は、前記第１の構造化クエリに関する追加のノードまたは追加のエッジへの参照である、請求項１に記載の方法。
【請求項３】
前記修正ノードおよび前記修正エッジへの前記参照は、前記第１の構造化クエリに関する代替ノードまたは代替エッジへの参照であり、代替ノードへの各参照は、前記第１の構造化クエリの選択されたノードへの参照に取って代わり、代替エッジへの各参照は、前記
第１の構造化クエリの選択されたエッジへの参照に取って代わる、請求項１に記載の方法。
【請求項４】
各クエリ修正に関するスコアを決定する、クエリ修正スコア決定工程と、
スコアしきい値よりも高いスコアを有する前記クエリ修正のうちの１以上を前記第１のユーザへ送信する工程と、をさらに備える、請求項１に記載の方法。
【請求項５】
前記クエリ修正スコア決定工程は、前記第１のユーザに関連付けられている検索履歴に基づく、請求項４に記載の方法。
【請求項６】
前記クエリ修正スコア決定工程は、前記第１の構造化クエリに対する前記クエリ修正のソーシャル関連度に基づく、請求項４に記載の方法。
【請求項７】
前記クエリ修正スコア決定工程は、前記クエリ修正に対応する可能な検索結果の数に基づく、請求項４に記載の方法。
【請求項８】
前記第１の構造化クエリに対応する１以上の検索結果を生成する工程をさらに備え、各検索結果は、選択された前記エッジのうちの少なくとも１つによって、選択された前記ノードのうちの少なくとも１つにつながっている前記複数の第２のノードのうちの１つの第２のノードに対応する、請求項１に記載の方法。
【請求項９】
各検索結果は、１以上のスニペットを含み、各スニペットは、前記検索結果に対応する前記第２のノードに関するコンテキスト情報を含む、請求項８に記載の方法。
【請求項１０】
各検索結果は、前記第１の構造化クエリに関するクエリ修正であって、前記検索結果に対応する前記第２のノードへの参照を含むクエリ修正を含む、請求項８に記載の方法。
【請求項１１】
各検索結果は、前記検索結果に対応する前記第２のノードへの参照を含む第２の構造化クエリを含む、請求項８に記載の方法。
【請求項１２】
前記検索結果のうちの１以上を前記第１のユーザへ送信する工程をさらに備える、請求項８に記載の方法。
【請求項１３】
前記第１の構造化クエリに対応する前記１以上の検索結果が、検索結果のしきい値数を下回る数である場合、
前記第１の構造化クエリから選択された０以上のノードおよび選択された０以上のエッジへの参照を含む１以上の第２の構造化クエリを生成する工程であって、各第２の構造化クエリは、選択された前記ノードまたは選択された前記エッジへの、前記第１の構造化クエリより少ない少なくとも１つの参照を含む、工程と、
前記１以上の第２の構造化クエリを前記第１のユーザへ送信する工程と、をさらに備える、請求項８に記載の方法。
【請求項１４】
前記第１の構造化クエリに基づいて１以上の第２の構造化クエリを生成する工程と、
前記１以上の第２の構造化クエリを前記第１のユーザへ送信する工程と、をさらに備える、請求項１に記載の方法。
【請求項１５】
前記クエリ修正生成工程は、
複数の文法を含むコンテキストフリー文法モデルにアクセスする工程であって、各文法は、１以上のクエリ・トークンを含む、工程と、
１以上の文法を識別する工程であって、識別された各文法は、前記第１の構造化クエリ
において参照されている選択された前記ノードおよび選択されたエッジの各々に対応するクエリ・トークンならびに少なくとも１つの追加のクエリ・トークンまたは代替クエリ・トークンを有する、工程と、
識別された前記文法からの前記追加のクエリ・トークンのうちの１以上または前記代替クエリ・トークンのうちの１以上に対応する１以上のクエリ修正を生成する工程と、を備える、請求項１に記載の方法。
【請求項１６】
前記クエリ修正のうちの１以上の選択を前記第１のユーザから受け取る工程と、
選択された前記ノード、選択された前記エッジ、および、選択された前記クエリ修正内で参照されている各追加のノードまたは追加のエッジへの参照を含む第２の構造化クエリを生成する工程と、をさらに備える、請求項１に記載の方法。
【請求項１７】
実行されたとき、
複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記ノードのうちの２つの間における前記エッジの各々は、それらの間における１つの隔たり度合いを表しており、前記ノードは、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザに各々が対応する複数の第２のノードとを備える、工程と、
文法モデルによって生成された自然言語の文字列と、前記複数の第２のノードから選択された１以上のノードおよび前記複数のエッジから選択された１以上のエッジへの参照とを含む第１の構造化クエリを前記第１のユーザのクライアント・システムから受け取る工程と、
前記第１の構造化クエリに関する１以上のクエリ修正を生成する工程であって、各クエリ修正は、前記複数の第２のノードからの１以上の修正ノードまたは前記複数のエッジからの１以上の修正エッジへの参照を含む、工程と、
前記第１の構造化クエリを受け取ることに応答して、前記クエリ修正の１以上を、前記第１のユーザに表示されるための前記第１の構造化クエリに対する提案される修正として、前記第１のユーザの前記クライアント・システムに送信する工程であって、各クエリ修正は、前記第１の構造化クエリの自然言語の文字列が、選択された前記クエリ修正において参照されている前記１以上の修正ノードまたは前記１以上のエッジへの参照をさらに備えるように修正されるよう、前記第１のユーザによって選択可能である、工程と、を行うように構成されるソフトウェアを具体化している１以上の非一時的コンピュータ可読記憶媒体。
【請求項１８】
１以上のプロセッサと、前記プロセッサによって実行可能な命令を備える、前記プロセッサに結合されているメモリとを備えるシステムであって、前記プロセッサは、前記命令を実行したとき、
複数のノードと、前記ノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、前記ノードのうちの２つの間における前記エッジの各々は、それらの間における１つの隔たり度合いを表しており、前記ノードは、
オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、
前記オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザに各々が対応する複数の第２のノードとを備える、工程と、
文法モデルによって生成された自然言語の文字列と、前記複数の第２のノードから選択された１以上のノードおよび前記複数のエッジから選択された１以上のエッジへの参照とを含む第１の構造化クエリを前記第１のユーザのクライアント・システムから受け取る工程と、
前記第１の構造化クエリに関する１以上のクエリ修正を生成する工程であって、各クエリ修正は、前記複数の第２のノードからの１以上の修正ノードまたは前記複数のエッジからの１以上の修正エッジへの参照を含む、工程と、
前記第１の構造化クエリを受け取ることに応答して、前記クエリ修正の１以上を、前記第１のユーザに表示されるための前記第１の構造化クエリに対する提案される修正として、前記第１のユーザの前記クライアント・システムに送信する工程であって、各クエリ修正は、前記第１の構造化クエリの自然言語の文字列が、選択された前記クエリ修正において参照されている前記１以上の修正ノードまたは前記１以上のエッジへの参照をさらに備えるように修正されるよう、前記第１のユーザによって選択可能である、工程と、を行うように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、ソーシャル・グラフ、およびソーシャルネットワーキング環境内でオブジェクトを探して検索を実行することに関する。
【背景技術】
【０００２】
ソーシャルネットワーキング・システム（ソーシャルネットワーキング・ウェブサイトを含む）は、そのソーシャルネットワーキング・システムのユーザ（人または組織など）がそのソーシャルネットワーキング・システムと互いに対話すること、およびそのソーシャルネットワーキング・システムを通じて互いに対話することを可能にする。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザ・プロフィールを作成して、ソーシャルネットワーキング・システム内に記憶する。ユーザ・プロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含む。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャルネットワーキング・システムのその他のユーザとの関係のレコードを作成および記憶すること、ならびにサービス（たとえば、ウォール投稿、写真共有、イベント編成、メッセージング、ゲーム、または広告）を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
【０００３】
ソーシャルネットワーキング・システムは、そのサービスに関連したコンテンツまたはメッセージを、１つまたは複数のネットワークを通じて、ユーザのモバイルまたはその他のコンピューティング・デバイスへ送信する。ユーザは、自分のユーザ・プロフィールおよびソーシャルネットワーキング・システム内のその他のデータにアクセスするためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピューティング・デバイス上にインストールすることもできる。ソーシャルネットワーキング・システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュース・フィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされたセットを生成する。
【０００４】
ソーシャル・グラフ分析は、ソーシャルな関係を、ノードおよびエッジから構成されているネットワーク理論の点から見る。ノードは、ネットワーク内の個々の行為主体を表し、エッジは、行為主体同士の間における関係を表す。結果として生じるグラフベースの構造は、しばしば非常に複雑である。多くのタイプのノード、およびノード同士をつなげるための多くのタイプのエッジが存在する。ソーシャル・グラフは、その最も単純な形態においては、調査されているすべてのノードの間における関連があるすべてのエッジのマップである。
【図面の簡単な説明】
【０００５】
【図１】ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す図。
【図２】例示的なソーシャル・グラフを示す図。
【図３】オンライン・ソーシャル・ネットワークの例示的なウェブページを示す図。
【図４Ａ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図４Ｂ】ソーシャル・ネットワークの例示的なクエリを示す図。
【図５Ａ】例示的なセマンティック・ツリーを示す図。
【図５Ｂ】例示的な文法フォレストを示す図。
【図６】自然言語の構造化検索クエリを生成する目的でコンテキストフリー文法モデルを使用するための例示的な方法を示す図。
【図７Ａ】例示的な検索結果ページを示す図。
【図７Ｂ】例示的な検索結果ページを示す図。
【図７Ｃ】例示的な検索結果ページを示す図。
【図７Ｄ】例示的な検索結果ページを示す図。
【図７Ｅ】例示的な検索結果ページを示す図。
【図７Ｆ】例示的な検索結果ページを示す図。
【図７Ｇ】例示的な検索結果ページを示す図。
【図８】検索結果およびスニペットを生成するための例示的な方法を示す図。
【図９】構造化検索クエリを修正するための例示的な方法を示す図。
【図１０】例示的なコンピュータ・システムを示す図。
【発明を実施するための形態】
【０００６】
特定の実施形態においては、ユーザから受け取られたテキスト・クエリに応答して、ソーシャルネットワーキング・システムは、識別されたソーシャル・グラフ要素に対応するクエリ・トークンを含む構造化クエリを生成する。ユーザのテキスト・クエリに応答して、提案される構造化クエリを提供することによって、ソーシャルネットワーキング・システムは、オンライン・ソーシャル・ネットワークのユーザは、自分のソーシャル・グラフ属性、およびさまざまなソーシャル・グラフ要素に対する自分の関係に基づいて、ソーシャル・グラフ内で表されている要素を検索するための強力な方法を提供する。
【０００７】
特定の実施形態においては、ソーシャルネットワーキング・システムは、非構造化テキスト・クエリをユーザから受け取る。それに応答して、ソーシャルネットワーキング・システムは、ソーシャル・グラフにアクセスし、次いでテキスト・クエリを解析して、そのテキスト・クエリからのｎグラムに対応したソーシャル・グラフ要素を識別する。次いでソーシャルネットワーキング・システムは、コンテキストフリー文法モデルなどの文法モデルにアクセスする。識別されたソーシャル・グラフ要素は、文法モデルの文法において終端トークン（「クエリ・トークン」）として使用される。識別されたクエリ・トークンのうちのすべてを利用する任意の文法が選択される。これらの文法は、はじめに、テキスト・クエリに対応するセマンティック・ツリーを生成し、次いで、文法フォレストを分析して、そのセマンティック・ツリーにマッチしているサブツリーを見つけ出すことによって、識別される。選択された文法を使用して、識別されたソーシャル・グラフ要素を参照するクエリ・トークンを含む自然言語の構造化クエリを生成する。次いで、それらの構造化クエリは、ユーザへ送信されて表示されることが可能であり、次いでユーザは、所望のコンテンツを検索するための適切なクエリを選択する。
【０００８】
特定の実施形態においては、構造化クエリに応答して、ソーシャルネットワーキング・システムは、その構造化クエリに対応する１または複数の検索結果を生成する。これらの検索結果は、検索結果ページの一部として、クエリを行っているユーザへ送信される。各検索結果は、１以上のスニペットを含むことができ、その場合、スニペットは、その検索結果に対応するソーシャル・グラフ・エンティティに関するコンテキスト情報である。たとえば、スニペットは、ノードに関連付けられているプロフィール・ページからの情報である。各検索結果は、その検索結果に関するソーシャル・グラフ情報を提供する少なくとも１つのスニペットを含むこともできる。これらのスニペットは、その検索結果を生成するために使用された構造化クエリからのクエリ・トークンへの参照を含む。
【０００９】
特定の実施形態においては、構造化クエリに応答して、ソーシャルネットワーキング・システムは、その構造化クエリに関する１以上のクエリ修正を生成する。各クエリ修正は、ソーシャル・グラフからの修正ノードまたは修正エッジへの参照を含むことができ、それらは、構造化クエリ内のクエリ・トークンに追加または置換を行うために使用される。クエリ修正は、検索結果ページ上に表示されることが可能であり、それによってユーザは
、検索結果を閲覧し、次いで、構造化クエリに対して絞り込みまたはピボッティングを行って新たな検索結果を生成するために１以上のクエリ修正を選択する。特定のクエリ修正を用いて、構造化クエリを修正した後には、そのクエリ修正において使用されたソーシャル・グラフ要素への参照を含む新たな自然言語の構造化クエリを生成するために、適切な文法が使用される。ソーシャルネットワーキング・システムは、検索結果ページ上に表示される代替の構造化クエリを生成することもできる。これらの代替の構造化クエリとしては、提案されるクエリ、広げるクエリ、およびあいまい性解消クエリが含まれる。
【００１０】
本発明による実施形態は、方法、記憶媒体、およびシステムを対象とした添付の特許請求の範囲において詳細に開示されており、１つの請求項カテゴリ、たとえば方法において言及されている任意の特徴が、別の請求項カテゴリ、たとえばシステムにおいて特許請求されることも可能である。
【００１１】
本発明による一実施形態においては、ある方法は、コンピューティング・デバイスが、複数のノードと、それらのノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、それらのノードのうちの２つの間におけるエッジの各々は、それらの間における一次隔たり度合いを表しており、それらのノードは、オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザに各々が対応する複数の第２のノードとを備える、工程と、複数の第２のノードから選択された１以上のノードおよび複数のエッジから選択された１以上のエッジへの参照を含む第１の構造化クエリを第１のユーザから受け取る工程と、第１の構造化クエリに関する１以上のクエリ修正を生成する工程であって、各クエリ修正は、複数の第２のノードからの１以上の修正ノードまたは複数のエッジからの１以上の修正エッジへの参照を含む、工程とを備える。
【００１２】
修正ノードおよび修正エッジへの参照は、第１の構造化クエリに関する追加のノードまたは追加のエッジへの参照である。
修正ノードおよび修正エッジへの参照は、第１の構造化クエリに関する代替ノードまたは代替エッジへの参照であり、代替ノードへの各参照は、第１の構造化クエリの選択されたノードへの参照に取って代わり、代替エッジへの各参照は、第１の構造化クエリの選択されたエッジへの参照に取って代わる。
【００１３】
さらなる一実施形態においては、この方法は、各クエリ修正に関するスコアを決定する工程と、スコアしきい値よりも高いスコアを有するクエリ修正のうちの１以上を第１のユーザへ送信する工程とを備える。
【００１４】
各クエリ修正に関するスコアを決定する工程は、第１のユーザに関連付けられている検索履歴に基づく。
各クエリ修正に関するスコアを決定する工程はまた、第１の構造化クエリに対するクエリ修正のソーシャル関連度に基づく。
【００１５】
各クエリ修正に関するスコアを決定する工程はさらに、クエリ修正に対応する可能な検索結果の数に基づく。
さらなる一実施形態においては、この方法は、第１の構造化クエリに対応する１以上の検索結果を生成する工程を備え、各検索結果は、選択されたエッジのうちの少なくとも１つによって、選択されたノードのうちの少なくとも１つにつながっている複数の第２のノードのうちの１つの第２のノードに対応する。
【００１６】
各検索結果は、１以上のスニペットを含むことができ、各スニペットは、その検索結果
に対応する第２のノードに関するコンテキスト情報を含む。
各検索結果は、その検索結果に対応する第２のノードへの参照を含む第１の構造化クエリに関するクエリ修正を含む。
【００１７】
各検索結果は、その検索結果に対応する第２のノードへの参照を含む第２の構造化クエリを含む。
さらなる一実施形態においては、この方法は、検索結果のうちの１以上を第１のユーザへ送信する工程を備える。
【００１８】
さらなる一実施形態は、第１のクエリに対応する１以上の検索結果が、検索結果のしきい値数を下回る数である場合に、第１の構造化クエリから選択された０以上のノードおよび選択された０以上のエッジへの参照を含む１以上の第２の構造化クエリを生成する工程であって、各第２の構造化クエリは、選択されたノードまたは選択されたエッジへの、第１の構造化クエリよりも少ない少なくとも１つの参照を含む、工程と、１以上の第２の構造化クエリを第１のユーザへ送信する工程とを備える。
【００１９】
さらなる一実施形態においては、この方法は、第１の構造化クエリに基づいて１以上の第２の構造化クエリを生成する工程と、１以上の第２の構造化クエリを第１のユーザへ送信する工程とを備える。
【００２０】
第１の構造化クエリに関する１以上のクエリ修正を生成する工程は、複数の文法を含むコンテキストフリー文法モデルにアクセスする工程であって、各文法は、１以上のクエリ・トークンを含む、工程と、１以上の文法を識別する工程であって、識別された各文法は、第１の構造化クエリにおいて参照されている選択されたノードおよび選択されたエッジの各々に対応するクエリ・トークンならびに少なくとも１つの追加のクエリ・トークンまたは代替クエリ・トークンを有する、工程と、識別された文法からの追加のクエリ・トークンのうちの１以上または代替クエリ・トークンのうちの１以上に対応する１以上のクエリ修正を生成する工程とを備える。
【００２１】
さらなる一実施形態においては、この方法は、クエリ修正のうちの１以上を第１のユーザへ送信する工程を備える。
さらなる一実施形態においては、この方法は、クエリ修正のうちの１以上の選択を第１のユーザから受け取る工程と、選択されたノード、選択されたエッジ、および、選択されたクエリ修正内で参照されている各追加のノードまたは追加のエッジへの参照を含む第２の構造化クエリを生成する工程とを備える。
【００２２】
特許請求される、本発明のさらなる一実施形態においては、１以上の非一時的コンピュータ可読記憶媒体が、実行されたときに、複数のノードと、それらのノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、それらのノードのうちの２つの間におけるエッジの各々は、それらの間における一次隔たり度合いを表し、それらのノードが、オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザに各々が対応する複数の第２のノードとを備える、工程と、複数の第２のノードから選択された１以上のノードおよび複数のエッジから選択された１以上のエッジへの参照を含む第１の構造化クエリを第１のユーザから受け取る工程と、第１の構造化クエリに関する１以上のクエリ修正を生成する工程であって、各クエリ修正は、複数の第２のノードからの１以上の修正ノードまたは複数のエッジからの１以上の修正エッジへの参照を含む、工程と、を行うように構成されるソフトウェアを具体化している。
【００２３】
特許請求される、本発明のさらなる一実施形態においては、あるシステムは、１以上のプロセッサと、それらのプロセッサによって実行可能な命令を備える、それらのプロセッサに結合されているメモリとを備え、それらのプロセッサは、それらの命令を実行したときに、複数のノードと、それらのノード同士をつなげる複数のエッジとを備えるソーシャル・グラフにアクセスする工程であって、それらのノードのうちの２つの間におけるエッジの各々は、それらの間における一次隔たり度合いを表し、それらのノードは、オンライン・ソーシャル・ネットワークに関連付けられている第１のユーザに対応する第１のノードと、オンライン・ソーシャル・ネットワークに関連付けられているコンセプトまたは第２のユーザに各々が対応する複数の第２のノードとを備える、工程と、複数の第２のノードから選択された１以上のノードおよび複数のエッジから選択された１以上のエッジへの参照を含む第１の構造化クエリを第１のユーザから受け取る工程と、第１の構造化クエリに関する１以上のクエリ修正を生成する工程であって、各クエリ修正は、複数の第２のノードからの１以上の修正ノードまたは複数のエッジからの１以上の修正エッジへの参照を含む、工程とを行うように構成される。
【００２４】
本発明のさらなる一実施形態においては、実行されたときに、本発明または上述の実施形態のうちのいずれかによる方法を実行するように構成されるソフトウェアを１以上の非一時的コンピュータ可読記憶媒体が具体化している。
【００２５】
本発明のさらなる一実施形態においては、あるシステムは、１以上のプロセッサと、それらのプロセッサによって実行可能な命令を備える、それらのプロセッサに結合されているメモリとを備え、それらのプロセッサは、それらの命令を実行したときに、本発明または上述の実施形態のうちのいずれかによる方法を実行するように構成される。
【００２６】
システムの概観
図１は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境１００を示している。ネットワーク環境１００は、ネットワーク１１０によって互いにつながっているクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０を含む。図１は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の特定の構成を示しているが、本開示は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、ネットワーク１１０を迂回して、互いに直接つながる。別の例として、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置される。その上、図１は、特定の数のクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を示しているが、本開示は、任意の適切な数のクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を想定している。限定ではなく、例として、ネットワーク環境１００は、複数のクライアント・システム１３０、ソーシャルネットワーキング・システム１６０、サードパーティ・システム１７０、およびネットワーク１１０を含む。
【００２７】
本開示は、任意の適切なネットワーク１１０を想定している。限定ではなく、例として、ネットワーク１１０の１つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイド・エリア・ネットワ
ーク（ＷＡＮ）、無線ＷＡＮ（ＷＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含む。ネットワーク１１０は、１つまたは複数のネットワーク１１０を含む。
【００２８】
リンク１５０は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、およびサードパーティ・システム１７０を通信ネットワーク１１０に、または互いに接続する。本開示は、任意の適切なリンク１５０を想定している。特定の実施形態においては、１つまたは複数のリンク１５０は、１つもしくは複数の有線リンク（たとえば、デジタル・サブスクライバ・ライン（ＤＳＬ）もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様（ＤＯＣＳＩＳ）など）、無線リンク（たとえば、Ｗｉ−Ｆｉもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス（ＷｉＭＡＸ）など）、または光リンク（たとえば、同期光ネットワーク（ＳＯＮＥＴ）もしくは同期デジタル階層（ＳＤＨ）など）を含む。特定の実施形態においては、１つまたは複数のリンク１５０はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク１５０、または複数のそのようなリンク１５０の組合せを含む。リンク１５０は、ネットワーク環境１００の全体を通じて必ずしも同じである必要はない。１つまたは複数の第１のリンク１５０は、１つまたは複数の点において１つまたは複数の第２のリンク１５０とは異なる。
【００２９】
特定の実施形態においては、クライアント・システム１３０は、クライアント・システム１３０によって実装またはサポートされる適切な機能を実行する、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスである。限定ではなく、例として、クライアント・システム１３０は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、ｅブック・リーダ、ＧＰＳデバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含む。本開示は、任意の適切なクライアント・システム１３０を想定している。クライアント・システム１３０は、クライアント・システム１３０のネットワーク・ユーザがネットワーク１１０にアクセスすることを可能にする。クライアント・システム１３０は、自分のユーザがその他のクライアント・システム１３０のその他のユーザと通信することを可能にする。
【００３０】
特定の実施形態においては、クライアント１３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥ、またはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなどのウェブ・ブラウザ１３２を含むことができ、１つまたは複数のアドオン、プラグイン、またはＴＯＯＬＢＡＲもしくはＹＡＨＯＯ  ＴＯＯＬＢＡＲなどのその他の拡張を有する。クライアント・システム１３０のユーザは、ウェブ・ブラウザ１３２を特定のサーバ（サーバ１６２、またはサードパーティ・システム１７０に関連付けられているサーバなど）へ導くユニフォーム・リソース・ロケータ（ＵＲＬ）またはその他のアドレスを入力することができ、ウェブ・ブラウザ１３２は、ハイパー・テキスト転送プロトコル（ＨＴＴＰ）要求を生成して、そのＨＴＴＰ要求をサーバに通信する。サーバは、そのＨＴＴＰ要求を受け入れて、そのＨＴＴＰ要求に応答して１つまたは複数のハイパー・テキスト・マークアップ言語（ＨＴＭＬ）ファイルをクライアント・システム１３０に通信する。クライアント・システム１３０は、ユーザに提示するためにサーバからのＨＴＭＬファイルに基づいてウェブページをレンダリングする。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブページは、特定の
ニーズに従って、ＨＴＭＬファイル、拡張可能ハイパー・テキスト・マークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルからレンダリングする。そのようなページは、限定ではなく、例として、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＪＡＶＡ（登録商標）、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたスクリプトなどのスクリプト、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪＡＶＡＳＣＲＩＰＴ（登録商標）  ａｎｄ  ＸＭＬ）などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、（そのウェブページをレンダリングするためにブラウザが使用する）１つまたは複数の対応するウェブページ・ファイルを含み、その逆もまた同様である。
【００３１】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークをホストするネットワークアドレス可能なコンピューティング・システムである。ソーシャルネットワーキング・システム１６０は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャル・グラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、記憶すること、受け取ること、および送信する。ソーシャルネットワーキング・システム１６０は、ネットワーク環境１００のその他の構成要素によって直接、またはネットワーク１１０を通じてアクセスされる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１つまたは複数のサーバ１６２を含む。それぞれのサーバ１６２は、１つのサーバ、または複数のコンピュータもしくは複数のデータセンタにわたる分散サーバである。サーバ１６２は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Ｅｘｃｈａｎｇｅサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものである。特定の実施形態においては、それぞれのサーバ１６２は、サーバ１６２によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのような構成要素の組合せを含む。特定の実施形態においては、ソーシャルネットワーキング・システム１６４は、１つまたは複数のデータ・ストア１６４を含む。データ・ストア１６４は、さまざまなタイプの情報を記憶するために使用される。特定の実施形態においては、データ・ストア１６４内に記憶されている情報は、特定のデータ構造に従って編成される。特定の実施形態においては、それぞれのデータ・ストア１６４は、リレーショナル・データベースである。特定の実施形態は、クライアント・システム１３０、ソーシャルネットワーキング・システム１６０、またはサードパーティ・システム１７０が、データ・ストア１６４内に記憶されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインタフェースを提供する。
【００３２】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフを１つまたは複数のデータ・ストア１６４内に記憶する。特定の実施形態においては、ソーシャル・グラフは、複数のノード（複数のユーザ・ノード（それぞれが、特定のユーザに対応している）、または複数のコンセプト・ノード（それぞれが、特定のコンセプトに対応している）を含む）と、ノード同士をつなげる複数のエッジとを含む。ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供する。特定の実施形態においては、ユーザたちは、ソーシャルネットワーキング・システム１６０を通じてオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキング・システム１６０のその他の複数のユーザにつながり（すなわち、関係）を付加する。本明細書においては、「友達」という用語は、ユ
ーザがソーシャルネットワーキング・システム１６０を通じて、つながり、関連付け、または関係を形成しているソーシャルネットワーキング・システム１６０のその他の任意のユーザに及ぶ。
【００３３】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ソーシャルネットワーキング・システム１６０によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供する。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキング・システム１６０のユーザが属するグループもしくはソーシャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用するコンピュータベースのアプリケーション、ユーザがサービスを通じてアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行する広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含む。ユーザは、ソーシャルネットワーキング・システム１６０において、またはサードパーティ・システム１７０の外部システム（ソーシャルネットワーキング・システム１６０とは別個のものであって、ネットワーク１１０を通じてソーシャルネットワーキング・システム１６０に結合されている）によって表される任意のものと対話する。
【００３４】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、さまざまなエンティティ同士をリンクできる。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム１７０もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース（ＡＰＩ）もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にする。
【００３５】
特定の実施形態においては、サードパーティ・システム１７０は、１つもしくは複数のタイプのサーバ、１つもしくは複数のデータ・ストア、１つもしくは複数のインタフェース（ＡＰＩを含むが、それには限定されない）、１つもしくは複数のウェブ・サービス、１つもしくは複数のコンテンツ・ソース、１つもしくは複数のネットワーク、または（たとえば、サーバが通信する）その他の任意の適切な構成要素を含む。サードパーティ・システム１７０は、ソーシャルネットワーキング・システム１６０を運営しているエンティティとは異なるエンティティによって運営される。しかしながら、特定の実施形態においては、ソーシャルネットワーキング・システム１６０およびサードパーティ・システム１７０は、ソーシャルネットワーキング・システム１６０またはサードパーティ・システム１７０のユーザにソーシャルネットワーキング・サービスを提供するために互いに連携して機能する。この意味において、ソーシャルネットワーキング・システム１６０は、サードパーティ・システム１７０などのその他のシステムがインターネットを通じてソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用するプラットフォーム、またはバックボーンを提供する。
【００３６】
特定の実施形態においては、サードパーティ・システム１７０は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含む。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの１つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム１３０に通信される。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含む。限定ではなく、別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、ま
たはその他の適切なインセンティブ・オブジェクトを含む。
【００３７】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャルネットワーキング・システム１６０とのユーザの対話を高める。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキング・システム１６０に付加、アップロード、送信、または「投稿」する任意のものを含む。限定ではなく、例として、ユーザは、クライアント・システム１３０からソーシャルネットワーキング・システム１６０へ投稿を通信する。投稿は、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、映像、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含む。コンテンツは、ニュース・フィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャルネットワーキング・システム１６０に付加されることも可能である。
【００３８】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含む。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ウェブ・サーバ、アクション・ロガー、ＡＰＩ要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可／プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの１つまたは複数を含む。ソーシャルネットワーキング・システム１６０は、適切な構成要素、たとえば、ネットワーク・インタフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切な構成要素、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ユーザ・プロフィールを記憶するための１つまたは複数のユーザプロフィール・ストアを含む。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含む。関心情報は、１つまたは複数のカテゴリに関連した関心を含む。カテゴリは、一般的または具体的である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね！」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリである。ユーザに関するつながり情報を記憶するために、つながりストアが使用される。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示す。つながり情報は、さまざまなユーザおよびコンテンツ（内部および外部の両方）の間におけるユーザ定義のつながりを含むこともできる。ネットワーク１１０を通じてソーシャルネットワーキング・システム１６０を１つもしくは複数のクライアント・システム１３０または１つもしくは複数のサードパーティ・システム１７０にリンクさせるために、ウェブ・サーバが使用される。ウェブ・サーバは、ソーシャルネットワーキング・システム１６０と、１つまたは複数のクライアント・システム１３０との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含む。ＡＰＩ要求サーバは、サードパーティ・システム１７０が、１つまたは複数のＡＰＩを呼び出すことによってソーシャルネットワーキング・システム１６０からの情報にアクセスすることを可能にする。ソーシャルネットワーキング・システム１６０の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用される。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出に
ついてのサードパーティコンテンツオブジェクト・ログが保持される。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム１３０に提供する。情報は、通知としてクライアント・システム１３０へ押し出されることが可能であり、または情報は、クライアント・システム１３０から受け取られた要求に応答してクライアント・システム１３０から引き出される。ソーシャルネットワーキング・システム１６０のユーザの１つまたは複数のプライバシー設定を実施するために、認可サーバが使用される。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されるかを決定する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキング・システム１６０によって記録されること、またはその他のシステム（たとえば、サードパーティ・システム１７０）と共有されることのオプトインまたはオプトアウトを行うことを可能にする。サードパーティ・システム１７０などのサードパーティから受け取られたコンテンツ・オブジェクトを記憶するために、サードパーティコンテンツオブジェクト・ストアが使用される。ユーザに関連付けられているクライアント・システム１３０から受け取られたロケーション情報を記憶するために、ロケーション・ストアが使用される。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供する。
【００３９】
ソーシャル・グラフ
図２は、例示的なソーシャル・グラフ２００を示している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１つまたは複数のソーシャル・グラフ２００を１つまたは複数のデータ・ストア内に記憶する。特定の実施形態においては、ソーシャル・グラフ２００は、複数のノード（複数のユーザ・ノード２０２、または複数のコンセプト・ノード２０４を含む）と、ノード同士をつなげる複数のエッジ２０６とを含む。図２において示されている例示的なソーシャル・グラフ２００は、教示上の目的から、２次元のビジュアル・マップ表示で示されている。特定の実施形態においては、ソーシャルネットワーキング・システム１６０、クライアント・システム１３０、またはサードパーティ・システム１７０は、適切なアプリケーションに関してソーシャル・グラフ２００および関連したソーシャル・グラフ情報にアクセスする。ソーシャル・グラフ２００のノードおよびエッジは、データ・オブジェクトとして、たとえば（ソーシャル・グラフ・データベースなどの）データ・ストア内に記憶される。そのようなデータ・ストアは、ソーシャル・グラフ２００のノードまたはエッジの１つまたは複数の検索可能なまたはクエリ可能なインデックスを含む。
【００４０】
特定の実施形態においては、ユーザ・ノード２０２は、ソーシャルネットワーキング・システム１６０のユーザに対応する。限定ではなく、例として、ユーザは、ソーシャルネットワーキング・システム１６０と、またはソーシャルネットワーキング・システム１６０を通じて対話または通信する個人（人間のユーザ）、エンティティ（たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション）、または（たとえば、個人もしくはエンティティの）グループである。特定の実施形態においては、あるユーザがソーシャルネットワーキング・システム１６０とのアカウントに登録した場合には、ソーシャルネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２を作成し、そのユーザ・ノード２０２を１つまたは複数のデータ・ストア内に記憶する。本明細書において記述されているユーザおよびユーザ・ノード２０２は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード２０２に及ぶ。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード２０２は、適切な場合には、ソーシャルネットワーキング・システム１６０に登録されていないユーザに及ぶ。特定の実施形態においては、ユーザ・ノード２０２は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられる。限定では
なく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供する。特定の実施形態においては、ユーザ・ノード２０２は、ユーザに関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられる。特定の実施形態においては、ユーザ・ノード２０２は、１つまたは複数のウェブページに対応する。
【００４１】
特定の実施形態においては、コンセプト・ノード２０４は、コンセプトに対応する。限定ではなく、例として、コンセプトは、場所（たとえば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（たとえば、ソーシャルネットワーク・システム１６０に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど）、エンティティ（たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など）、ソーシャルネットワーキング・システム１６０内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されるリソース（たとえば、オーディオ・ファイル、映像ファイル、デジタル写真、テキスト・ファイル、構造化ドキュメント、もしくはアプリケーションなど）、物的もしくは知的財産（たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など）、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応する。コンセプト・ノード２０４は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム１６０を含むさまざまなシステムによって収集された情報に関連付けられる。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、１つもしくは複数のイメージ（たとえば、本の表紙のイメージ）、ロケーション（たとえば、住所もしくは地理的ロケーション）、（ＵＲＬに関連付けられる）ウェブサイト、連絡先情報（たとえば、電話番号もしくはＥメール・アドレス）、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含む。特定の実施形態においては、コンセプト・ノード２０４は、コンセプト・ノード２０４に関連付けられている情報に対応する１つまたは複数のデータ・オブジェクトに関連付けられる。特定の実施形態においては、コンセプト・ノード２０４は、１つまたは複数のウェブページに対応する。
【００４２】
特定の実施形態においては、ソーシャル・グラフ２００内のノードは、ウェブページ（「プロフィール・ページ」と呼ばれる場合もある）を表すこと、またはウェブページによって表される。プロフィール・ページは、ソーシャルネットワーキング・システム１６０によってホストされること、またはソーシャルネットワーキング・システム１６０にとってアクセス可能である。プロフィール・ページは、サードパーティ・サーバ１７０に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード２０４に対応する。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できる。限定ではなく、例として、ユーザ・ノード２０２は、対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現する。限定ではなく、別の例として、コンセプト・ノード２０４は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、１人または複数のユーザが、特にコンセプト・ノード２０４に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現する。
【００４３】
特定の実施形態においては、コンセプト・ノード２０４は、サードパーティ・システム１７０によってホストされているサードパーティ・ウェブページまたはリソースを表す。
サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す（たとえば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＡＪＡＸ、もしくはＰＨＰコードで実装される）その他の対話可能なオブジェクトを含む。限定ではなく、例として、サードパーティ・ウェブページは、「いいね！」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含む。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの１つ（たとえば、「食べる」）を選択することによってアクションを実行して、クライアント・システム１３０に、そのユーザのアクションを示すメッセージをソーシャルネットワーキング・システム１６０へ送信させる。そのメッセージに応答して、ソーシャルネットワーキング・システム１６０は、ユーザに対応するユーザ・ノード２０２と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード２０４との間においてエッジ（たとえば、「食べる」エッジ）を作成して、エッジ２０６を１つまたは複数のデータ・ストア内に記憶する。
【００４４】
特定の実施形態においては、ソーシャル・グラフ２００内の１対のノードが、１つまたは複数のエッジ２０６によって互いにつながる。１対のノードをつなげるエッジ２０６は、それらの１対のノードの間における関係を表す。特定の実施形態においては、エッジ２０６は、１対のノードの間における関係に対応する１つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表す。限定ではなく、例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であるということを示す。この表示に応答して、ソーシャルネットワーキング・システム１６０は、「友達要求」を第２のユーザに送信する。第２のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキング・システム１６０は、ソーシャル・グラフ２００内で第１のユーザのユーザ・ノード２０２を第２のユーザのユーザ・ノード２０２につなげるエッジ２０６を作成して、エッジ２０６をソーシャル・グラフ情報としてデータ・ストア２４のうちの１つまたは複数の中に記憶する。図２の例においては、ソーシャル・グラフ２００は、ユーザ「Ａ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジ２０６と、ユーザ「Ｃ」のユーザ・ノード２０２と、ユーザ「Ｂ」のユーザ・ノード２０２との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード２０２同士をつなげる特定の属性を伴う特定のエッジ２０６を記述している、または示しているが、本開示は、ユーザ・ノード２０２同士をつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。限定ではなく、例として、エッジ２０６は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係、フォロワー関係、ビジター関係、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表す。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、１つまたは複数のエッジ２０６によってソーシャル・グラフ２００内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士に及ぶ。
【００４５】
特定の実施形態においては、ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジ２０６は、ユーザ・ノード２０２に関連付けられているユーザによって、コンセプト・ノード２０４に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表す。限定ではなく、例として、図２において示されているように、ユーザは、コンセプトに対して「いいね！を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジ・タイプまたはサブタイプに対応する。コンセプト・ノード２０４に対応するコンセプトプロフィール・ページは
、たとえば、選択可能な「チェックイン」アイコン（たとえば、クリック可能な「チェックイン」アイコンなど）、または選択可能な「お気に入りに追加」アイコンを含む。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキング・システム１６０は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成する。限定ではなく、別の例として、あるユーザ（ユーザ「Ｃ」）が、特定のアプリケーション（オンライン音楽アプリケーションであるＳＰＯＴＩＦＹ）を使用して特定の曲（「イマジン」）を聴く場合がある。このケースにおいては、ソーシャルネットワーキング・システム１６０は、そのユーザに対応するユーザ・ノード２０２と、その曲およびアプリケーションに対応するコンセプト・ノード２０４との間において、（図２に示されているような）「聴いた」エッジ２０６および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したということを示す。その上、ソーシャルネットワーキング・システム１６０は、その曲に対応するコンセプト・ノード２０４と、そのアプリケーションに対応するコンセプト・ノード２０４との間において、（図２に示されているような）「再生した」エッジ２０６を作成して、その特定の曲がその特定のアプリケーションによって再生されたということを示す。このケースにおいては、「再生した」エッジ２０６は、外部アプリケーション（ＳＰＯＴＩＦＹ）によって外部オーディオ・ファイル（「イマジン」という曲）に関して実行されたアクションに対応する。本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる特定の属性を伴う特定のエッジ２０６について記述しているが、本開示は、ユーザ・ノード２０２とコンセプト・ノード２０４とをつなげる任意の適切な属性を伴う任意の適切なエッジ２０６を想定している。その上、本開示は、単一の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジについて記述しているが、本開示は、１つまたは複数の関係を表すユーザ・ノード２０２とコンセプト・ノード２０４との間におけるエッジを想定している。限定ではなく、例として、エッジ２０６は、ユーザが特定のコンセプトに対して「いいね！」を表明しているということ、およびその特定のコンセプトを使用したということの両方を表す。あるいは、別のエッジ２０６は、（図２において、ユーザ「Ｅ」を表すユーザ・ノード２０２と、「ＳＰＯＴＩＦＹ」を表すコンセプト・ノード２０４との間において示されているような）ユーザ・ノード２０２とコンセプト・ノード２０４との間におけるそれぞれのタイプの関係（または、単一の関係が複数集まったもの）を表す。
【００４６】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ソーシャル・グラフ２００内でユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成する。限定ではなく、例として、（たとえば、ユーザのクライアント・システム１３０によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって）コンセプトプロフィール・ページを閲覧しているユーザは、「いいね！」アイコンをクリックまたは選択することにより、コンセプト・ノード２０４によって表されているコンセプトを自分が気に入っているということを示すことができ、その「いいね！」アイコンをクリックまたは選択することは、ユーザのクライアント・システム１３０に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャルネットワーキング・システム１６０へ送信させる。そのメッセージに応答して、ソーシャルネットワーキング・システム１６０は、そのユーザとコンセプト・ノード２０４との間における「いいね！」エッジ２０６によって示されているように、そのユーザに関連付けられているユーザ・ノード２０２とコンセプト・ノード２０４との間においてエッジ２０６を作成する。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、エッジ２０６を１つまたは複数のデータ・ストア内に記憶する。特定の実施形態においては、エッジ２０６は、特定のユーザ・アクションに応答してソーシャルネットワーキング・システム１６０によって自動的に形成される。限定ではなく、例として、第１のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場
合には、エッジ２０６は、第１のユーザに対応するユーザ・ノード２０２と、それらのコンセプトに対応するコンセプト・ノード２０４との間において形成される。本開示は、特定の様式で特定のエッジ２０６を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ２０６を形成することを想定している。
【００４７】
広告
特定の実施形態においては、広告は、テキスト（ＨＴＭＬにリンクされている）、１もしくは複数のイメージ（ＨＴＭＬにリンクされている）、１もしくは複数の映像、オーディオ、１もしくは複数のＡＤＯＢＥフラッシュ・ファイル、これらの適切な組合せ、または、１もしくは複数のウェブページ上に、１もしくは複数のＥメール内に、もしくはユーザによって要求されている検索結果とともに提示される任意の適切なデジタル・フォーマットでのその他の任意の適切な広告である）。追加として、または代替として、広告は、１または複数のスポンサー付きストーリ（たとえば、ソーシャルネットワーキング・システム１６０上のニュース・フィードまたはティッカー・アイテム）である。スポンサー付きストーリは、ユーザによるソーシャル・アクション（ページに対して「いいね！」を表明すること、ページ上の投稿に対して「いいね！」を表明することまたはコメントすること、ページに関連付けられているイベントへの招待の返事を求めること、ページ上に投稿されている質問に投票すること、場所にチェックインすること、アプリケーションを使用することもしくはゲームをプレイすること、またはウェブサイトに対して「いいね！」を表明することもしくはウェブサイトを共有することなど）であることが可能であり、広告主は、たとえば、そのソーシャル・アクションを、ユーザのプロフィール・ページもしくはその他のページの所定の領域内に提示させること、その広告主に関連付けられているさらなる情報とともに提示させること、その他のユーザのニュース・フィードもしくはティッカー内に飛び出させることもしくはその他の形で強調表示させること、またはその他の形で促進させることによって、そのソーシャル・アクションを促進する。広告主は、ソーシャル・アクションを促進させるために対価を支払う場合がある。
【００４８】
特定の実施形態においては、広告が、ソーシャルネットワーキングシステム・ウェブページ、サードパーティ・ウェブページ、またはその他のページ内に表示されることが要求される場合がある。広告は、ページの最上部のバナー領域の中、ページの側部のカラムの中、ページのＧＵＩの中、ポップアップ・ウィンドウの中、ドロップダウン・メニューの中、ページの入力フィールドの中、ページのコンテンツの最上部を覆って、またはページに関するその他の場所など、ページの専用の部分において表示される。追加として、または代替として、広告は、アプリケーション内に表示される。広告は、専用のページ内に表示されて、その広告と対話することまたはその広告を見ることをユーザに要求することができ、その後に、ユーザがページにアクセスすることまたはアプリケーションを利用することが可能になる。ユーザは、たとえば、ウェブ・ブラウザを通じて広告を閲覧する。
【００４９】
ユーザは、任意の適切な様式で広告と対話する。ユーザは、広告をクリックすることまたはその他の形で選択する。ユーザは、広告を選択することによって、（または、ブラウザもしくはその他のアプリケーションがユーザによって使用されて、）その広告に関連付けられているページへ導かれる。広告に関連付けられているページにおいては、ユーザは、その広告に関連付けられている製品もしくはサービスを購入すること、その広告に関連付けられている情報を受け取ること、またはその広告に関連付けられているニュースレターをサブスクライブすることなど、さらなるアクションを取ることができる。オーディオまたは映像を伴う広告は、（「再生ボタン」のような）その広告の構成要素を選択することによって再生される。あるいは、広告を選択することによって、ソーシャルネットワーキング・システム１６０は、ユーザの特定のアクションを実行または修正する。限定ではなく、例として、広告は、検索結果ページの検索結果同士の間に含まれることが可能であり、スポンサー付きコンテンツは、スポンサー付きでないコンテンツに優先して促進され
る。限定ではなく、別の例として、広告は、提案される検索クエリの中に含まれることが可能であり、広告主またはそのコンテンツ／製品を参照する提案されるクエリは、スポンサー付きでないクエリに優先して促進される。
【００５０】
広告は、ユーザが対話するソーシャルネットワーキング・システム機能を含む。たとえば、広告は、ユーザが、支持に関連付けられているアイコンまたはリンクを選択することによって、広告に対して「いいね！」を表明することまたはその他の形で支持を行うことを可能にする。別の例として、広告は、ユーザが、広告主に関連したコンテンツを（たとえば、クエリを実行することによって）検索することを可能にする。同様に、ユーザは、（たとえば、ソーシャルネットワーキング・システム１６０を通じて）広告を別のユーザと共有すること、または（たとえば、ソーシャルネットワーキング・システム１６０を通じて、）広告に関連付けられているイベントへの招待の返事を求めることが可能である。追加として、または代替として、広告は、ユーザを対象にしたソーシャルネットワーキングシステム・コンテキストを含む。たとえば、広告は、その広告の主題に関連付けられているアクションを取ったソーシャルネットワーキング・システム１６０内のユーザの友達に関する情報を表示する。
【００５１】
タイプ・アヘッド・プロセス
特定の実施形態においては、１または複数のクライアント側および／またはバックエンド（サーバ側）プロセスが、ソーシャル・グラフ要素（たとえば、ユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６）を、ソーシャルネットワーキング・システム１６０によってホストされること、またはソーシャルネットワーキング・システム１６０においてアクセスできる要求されているウェブページ（たとえば、オンライン・ソーシャル・ネットワークのユーザプロフィール・ページ、コンセプトプロフィール・ページ、検索結果ウェブページ、または別の適切なページなど）とともにレンダリングされた入力フォーム内にユーザによって現在入力されている情報にマッチさせることを自動的に試みる「タイプ・アヘッド」機能を実装および利用する。特定の実施形態においては、ユーザが言明を行うためにテキストを入力している際に、タイプ・アヘッド機能は、その言明において入力されているテキスト文字の文字列を、ソーシャル・グラフ２００内のユーザ、コンセプト、またはエッジ、およびそれらの対応する要素に対応する文字の文字列（たとえば、名前、記述）にマッチさせることを試みる。特定の実施形態においては、マッチが見つかった場合には、タイプ・アヘッド機能は、既存のソーシャル・グラフ要素のソーシャル・グラフ要素への参照（たとえば、ノードの名前／タイプ、ノードＩＤ、エッジの名前／タイプ、エッジＩＤ、または別の適切な参照もしくは識別子など）をフォームに自動的に投入する。
【００５２】
特定の実施形態においては、ユーザが、そのユーザのプロフィール・ページ、ホーム・ページ、またはその他のページのさまざまなセクションにおいてコンテンツを付加するまたは言明を行うために使用されるフォーム内にテキストをタイプまたはその他の形で入力する際に、タイプ・アヘッド・プロセスは、ソーシャルネットワーキング・システム１６０において（またはその中で）（たとえば、サーバ１６２内で）実行される１または複数のフロントエンド（クライアント側）および／またはバックエンド（サーバ側）タイプ・アヘッド・プロセス（以降では、単に「タイプ・アヘッド・プロセス」と呼ばれる）と連携して機能して、そのユーザがテキストの文字を入力する際にそのユーザによって入力されたそれらのテキストの文字に対する最も関連があるまたはベスト・マッチであると決定された、既存のソーシャル・グラフ要素の名前に対応する１もしくは複数の用語、または既存のソーシャル・グラフ要素に関連付けられている用語をフォームに自動投入することを対話式におよび（ユーザにとってそう見えるように）ほぼ瞬時に試みる。ノードおよびエッジに関連付けられている情報を含めて、ソーシャル・グラフ・データベース内のソーシャル・グラフ情報、またはソーシャル・グラフ・データベースからの抽出およびインデ
ックス付けされた情報を利用して、タイプ・アヘッド・プロセスは、ソーシャル・グラフ・データベースからの情報と連携して、ならびに潜在的には、ソーシャルネットワーキング・システム１６０内において配置または実行されているその他のさまざまなプロセス、アプリケーション、またはデータベースと連携して、ユーザの意図されている言明を高い精度で予測できる。しかしながら、ソーシャルネットワーキング・システム１６０は、ユーザに、自分が望む基本的に任意の言明を入力するための自由を提供して、ユーザが自分自身を自由に表現することを可能にすることもできる。
【００５３】
特定の実施形態においては、ユーザがテキスト文字をフォーム・ボックスまたはその他のフィールド内に入力する際に、タイプ・アヘッド・プロセスは、ユーザが文字を入力している際にユーザの言明において入力された文字の文字列にマッチする既存のソーシャル・グラフ要素（たとえば、ユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６）を識別することを試みる。特定の実施形態においては、ユーザが文字をフォーム・ボックス内に入力する際に、タイプ・アヘッド・プロセスは、入力されたテキスト文字の文字列を読み取る。それぞれのキーストロークが行われた際に、フロントエンド・タイプ・アヘッド・プロセスは、入力された文字の文字列を、要求（または呼び出し）として、ソーシャルネットワーキング・システム１６０内で実行されるバックエンド・タイプ・アヘッド・プロセスに送信する。特定の実施形態においては、タイプ・アヘッド・プロセスは、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  ＪａｖａＳｃｒｉｐｔ（登録商標）ａｎｄ  ＸＭＬ）またはその他の適切な技術、特に非同期技術を通じて通信を行う。特定の実施形態においては、要求は、結果を迅速かつ動的に送信およびフェッチすることを可能にするＸＭＬＨＴＴＰＲｅｑｕｅｓｔ（ＸＨＲ）であること、またはＸＨＲを含む。特定の実施形態においては、タイプ・アヘッド・プロセスは、要求の前に、要求の後に、または要求とともに、ユーザが言明を行っている特定のページの特定のセクションを識別するセクション識別子（セクションＩＤ）を送信することもできる。特定の実施形態においては、ユーザＩＤパラメータが送信されることも可能であるが、これは、いくつかの実施形態においては不要である。なぜなら、ユーザは、そのユーザがソーシャルネットワーキング・システム１６０にログインしていること（またはソーシャルネットワーキング・システム１６０によってその他の形で認証されていること）に基づいて既に「知られている」場合があるためである。
【００５４】
特定の実施形態においては、タイプ・アヘッド・プロセスは、マッチしているソーシャル・グラフ要素を識別することを試みるために１または複数のマッチング・アルゴリズムを使用する。特定の実施形態においては、１または複数のマッチが見つかった場合には、タイプ・アヘッド・プロセスは、たとえば、マッチしているソーシャル・グラフ要素の名前（名前文字列）または記述、ならびに潜在的には、マッチしているソーシャル・グラフ要素に関連付けられているその他のメタデータを含む（ＡＪＡＸまたはその他の適切な技術を利用する）応答をユーザのクライアント・システム１３０へ送信する。限定ではなく、例として、ユーザが、「ｐｏｋ」という文字をクエリ・フィールド内に入力している場合には、タイプ・アヘッド・プロセスは、ドロップダウン・メニューを表示することができ、そのドロップダウン・メニューは、「ｐｏｋｅｒ（ポーカー）」もしくは「ｐｏｋｅｍｏｎ（ポケモン）」という名前の、または「ｐｏｋｅｒ（ポーカー）」もしくは「ｐｏｋｅｍｏｎ（ポケモン）」専用のプロフィール・ページなど、マッチしている既存のプロフィール・ページおよびそれぞれのユーザ・ノード２０２またはコンセプト・ノード２０４の名前を表示し、次いでユーザは、それをクリックまたはその他の形で選択し、それによって、選択されたノードに対応するマッチしたユーザまたはコンセプトの名前を言明したいという要望を確定する。限定ではなく、別の例として、「ｐｏｋｅｒ（ポーカー）」をクリックすると、タイプ・アヘッド・プロセスは、「ｐｏｋｅｒ（ポーカー）」という言明をクエリ・フィールドに自動投入することができ、またはその自動投入をウェブ・ブラウザ１３２に行わせる。特定の実施形態においては、タイプ・アヘッド・プロセスは、
ドロップダウン・メニューを表示するよりもむしろ、上位にランク付けされたマッチの名前またはその他の識別子をフィールドに単に自動投入する。次いでユーザは、単に自分のキーボード上の「ｅｎｔｅｒ（入力）」キーを押すことによって、またはその自動投入された言明をクリックすることによって、その自動投入された言明を確定することができる。
【００５５】
タイプ・アヘッド・プロセスに関するさらなる情報は、２０１０年４月１９日に出願された米国特許出願第１２／７６３１６２号、および２０１２年７月２３日に出願された米国特許出願第１３／５５６０７２号において見つけることができ、それらの米国特許出願は、本願明細書に援用されている。
【００５６】
構造化検索クエリ
図３は、オンライン・ソーシャル・ネットワークの例示的なウェブページを示している。特定の実施形態においては、ユーザは、テキストをクエリ・フィールド３５０内に入力することによって、クエリをソーシャルネットワーク・システム１６０にサブミットする。オンライン・ソーシャル・ネットワークのユーザは、特定の主題（たとえば、ユーザ、コンセプト、外部コンテンツ、またはリソース）について記述する短いフレーズ（しばしば「検索クエリ」と呼ばれる）を検索エンジンに提供することによって、その主題に関連している情報を検索する。そのクエリは、非構造化テキスト・クエリであることが可能であり、１または複数のテキスト文字列（１または複数のｎグラムを含む）を含む。一般には、ユーザは、テキスト・クエリにマッチするソーシャルネットワーキング・システム１６０上のコンテンツを検索するために、任意の文字の文字列をクエリ・フィールド３５０内に入力する。次いでソーシャルネットワーキング・システム１６０は、クエリにマッチするコンテンツを識別するために、データ・ストア１６４（または、詳細には、ソーシャル・グラフ・データベース）を検索する。検索エンジンは、さまざまな検索アルゴリズムを使用してクエリ・フレーズに基づく検索を行って、検索クエリに関連している可能性が最も高いリソースまたはコンテンツ（たとえば、ユーザプロフィール・ページ、コンテンツプロフィール・ページ、または外部リソース）を識別する検索結果を生成する。検索を行うために、ユーザは、検索クエリを検索エンジンに入力または送信する。それに応答して、検索エンジンは、その検索クエリに関連している可能性が高い１または複数のリソースを識別することができ、それらのリソースのそれぞれは、個別に「検索結果」と呼ばれる場合があり、または、その検索クエリに対応する「検索結果」と総称される場合もある。識別されたコンテンツは、たとえば、ソーシャル・グラフ要素（すなわち、ユーザ・ノード２０２、コンセプト・ノード２０４、エッジ２０６）、プロフィール・ページ、外部ウェブページ、またはそれらの任意の組合せを含む場合がある。次いでソーシャルネットワーキング・システム１６０は、識別されたコンテンツに対応する検索結果を伴う検索結果ウェブページを生成し、その検索結果ウェブページをユーザに送信する。検索結果は、しばしば検索結果ウェブページ上のリンクのリストという形式で、ユーザに提示されることが可能であり、それぞれのリンクは、識別されたリソースまたはコンテンツのうちのいくつかを含む別のウェブページに関連付けられている。特定の実施形態においては、検索結果内のそれぞれのリンクは、対応するウェブページがどこに配置されているかと、それを取り出すためのメカニズムとを指定するユニフォーム・リソース・ロケータ（ＵＲＬ）の形式である。次いでソーシャルネットワーキング・システム１６０は、検索結果ウェブページをユーザのクライアント・システム１３０上のウェブ・ブラウザ１３２へ送信する。次いでユーザは、ＵＲＬリンクをクリックして、または検索結果ウェブページからのコンテンツをその他の形で選択して、ソーシャルネットワーキング・システム１６０からの、または必要に応じて外部システム（たとえば、サードパーティ・システム１７０など）からのコンテンツにアクセスする。リソース同士が、検索クエリに対するそれらの相対的な関連度に従ってランク付けされてユーザに提示される。検索結果同士が、ユーザに対するそれらの相対的な関連度に従ってランク付けされてユーザに提示されることも可能であ
る。言い換えれば、検索結果は、クエリを行っているユーザのために、たとえば、そのユーザのソーシャル・グラフ情報、ユーザ情報、検索もしくはブラウジング履歴、またはそのユーザに関連したその他の適切な情報に基づいてパーソナライズされる。特定の実施形態においては、リソースのランキングは、検索エンジンによって実施されるランキング・アルゴリズムによって決定される。限定ではなく、例として、検索クエリに対する、またはユーザに対する関連性の高いリソースは、検索クエリまたはユーザに対する関連性の低いリソースよりも高くランク付けされる。特定の実施形態においては、検索エンジンは、自分の検索を、オンライン・ソーシャル・ネットワーク上のリソースおよびコンテンツに限定する。しかしながら、特定の実施形態においては、検索エンジンは、その他のソース、たとえば、サードパーティ・システム１７０、インターネットもしくはワールド・ワイド・ウェブ、またはその他の適切なソース上のリソースまたはコンテンツを検索することもできる。本開示は、特定の様式でソーシャルネットワーキング・システム１６０にクエリを行うことについて記述しているが、本開示は、任意の適切な様式でソーシャルネットワーキング・システム１６０にクエリを行うことを想定している。
【００５７】
特定の実施形態においては、本明細書において記述されているタイプ・アヘッド・プロセスは、ユーザによって入力された検索クエリに適用される。限定ではなく、例として、ユーザがテキスト文字を検索フィールド内に入力する際に、タイプ・アヘッド・プロセスは、そのユーザが文字を入力している際に検索フィールド内に入力された文字の文字列にマッチする１または複数のユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６を識別することを試みる。タイプ・アヘッド・プロセスは、テキスト・クエリからの文字列またはｎグラムを含む要求または呼び出しを受け取った際には、入力されたテキストにマッチしているそれぞれの名前、タイプ、カテゴリ、またはその他の識別子を有する既存のソーシャル・グラフ要素（すなわち、ユーザ・ノード２０２、コンセプト・ノード２０４、エッジ２０６）を識別するための検索を実行することができ、またはそうした検索が実行されるようにする。タイプ・アヘッド・プロセスは、マッチしているノードまたはエッジを識別することを試みるために１または複数のマッチング・アルゴリズムを使用する。１または複数のマッチが見つかった場合には、タイプ・アヘッド・プロセスは、たとえば、マッチしているノードの名前（名前文字列）、および潜在的には、マッチしているノードに関連付けられているその他のメタデータを含む応答をユーザのクライアント・システム１３０へ送信する。次いでタイプ・アヘッド・プロセスは、ドロップダウン・メニュー３００を表示することができ、そのドロップダウン・メニュー３００は、マッチしている既存のプロフィール・ページおよびそれぞれのユーザ・ノード２０２またはコンセプト・ノード２０４の名前を表示し、マッチしているユーザ・ノード２０２またはコンセプト・ノード２０４につながるマッチしているエッジ２０６の名前を表示し、次いでユーザは、それをクリックまたはその他の形で選択し、それによって、選択されたノードに対応するマッチしたユーザもしくはコンセプトの名前を検索したい、またはマッチしているエッジによって、マッチしたユーザもしくはコンセプトにつながっているユーザもしくはコンセプトを検索したいという要望を確定することができる。あるいは、タイプ・アヘッド・プロセスは、ドロップダウン・メニュー３００を表示するよりもむしろ、上位にランク付けされたマッチの名前またはその他の識別子をフォームに単に自動投入する。次いでユーザは、単にキーボード上の「ｅｎｔｅｒ（入力）」キーを押すことによって、またはその自動投入された言明をクリックすることによって、その自動投入された言明を確定する。マッチしているノードおよびエッジをユーザが確定すると、タイプ・アヘッド・プロセスは、マッチしているソーシャル・グラフ要素を含むクエリをユーザが確定したことをソーシャルネットワーキング・システム１６０に知らせる要求を送信する。送信された要求に応答して、ソーシャルネットワーキング・システム１６０は、マッチしているソーシャル・グラフ要素を探して、または必要に応じて、マッチしているソーシャル・グラフ要素につながっているソーシャル・グラフ要素を探して、ソーシャル・グラフ・データベースを自動的に（または代替として、要求内の命令に基づいて）呼び出しまたはその
他の形で検索する。本開示は、特定の様式でタイプ・アヘッド・プロセスを検索クエリに適用することについて記述しているが、本開示は、任意の適切な様式でタイプ・アヘッド・プロセスを検索クエリに適用することを想定している。
【００５８】
検索クエリおよび検索結果に関連して、特定の実施形態は、２００６年８月１１日に出願された米国特許出願第１１／５０３０９３号、２０１０年１２月２２日に出願された米国特許出願第１２／９７７０２７号、および２０１０年１２月２３日に出願された米国特許出願第１２／９７８２６５号において開示されている１または複数のシステム、構成要素、要素、機能、方法、オペレーション、または工程を利用することができ、それらの米国特許出願は、本願明細書に援用されている。
【００５９】
構造化検索クエリの自然言語でのレンダリング
図４Ａ〜図４Ｂは、ソーシャル・ネットワークの例示的なクエリを示している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、第１のユーザ（すなわち、クエリを行っているユーザ）から受け取られたテキスト・クエリに応答して、自然言語シンタックスでレンダリングされた１または複数の構造化クエリを生成することができ、それぞれの構造化クエリは、１または複数の識別されたソーシャル・グラフ要素に対応するクエリ・トークンを含む。図４Ａ〜図４Ｂは、クエリ・フィールド３５０内のさまざまな例示的なテキスト・クエリ、および応答してドロップダウン・メニュー３００内に生成されたさまざまな構造化クエリを示している。ユーザのテキスト・クエリに応答して、提案される構造化クエリを提供することによって、ソーシャルネットワーキング・システム１６０は、オンライン・ソーシャル・ネットワークのユーザが、自分のソーシャル・グラフ属性、およびさまざまなソーシャル・グラフ要素に対する自分の関係に基づいて、ソーシャル・グラフ２００内で表されている要素を検索するための強力な方法を提供する。構造化クエリは、クエリを行っているユーザが、特定のエッジ・タイプによってソーシャル・グラフ２００内の特定のユーザまたはコンセプトにつながっているコンテンツを検索することを可能にする。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、非構造化テキスト・クエリを第１のユーザから受け取る。それに応答して、ソーシャルネットワーキング・システム１６０は（たとえば、サーバ側要素検知プロセスを通じて）、ソーシャル・グラフ２００にアクセスし、次いでテキスト・クエリを解析して、そのテキスト・クエリからのｎグラムに対応したソーシャル・グラフ要素を識別する。次いでソーシャルネットワーキング・システム１６０は、コンテキストフリー文法モデルなどの文法モデルにアクセスすることができ、その文法モデルは、複数の文法を含む。これらの文法は、複数の非終端トークンおよび終端トークンを伴う順序付きツリーとして編成されている文法フォレストとして視覚化される。識別されたソーシャル・グラフ要素は、文法において終端トークン（「クエリ・トークン」）として使用される。（たとえば、ユーザからのテキスト・クエリに対応するセマンティック・ツリーを使用することによって）これらの終端トークンが識別されると、ソーシャルネットワーキング・システム１６０は、文法フォレストを横断して、交わっている非終端ノードを識別する。次いで、これらの交わっている非終端ノードのうちの１つによって表されているそれぞれの文法が選択される。次いで、選択された文法は、識別されたソーシャル・グラフ要素を参照するクエリ・トークンを含む１または複数の構造化クエリを生成するために使用される。これらの構造化クエリは、それらの文法によって生成された文字列に基づくことが可能であり、それによって、それらの構造化クエリは、自然言語シンタックスを使用して、適切なソーシャル・グラフ要素への参照を伴ってレンダリングされる。それらの構造化クエリは、第１のユーザへ送信されて（たとえば、クライアント側タイプ・アヘッド・プロセスを通じて）ドロップダウン・メニュー３００内に表示されることが可能であり、次いでそのドロップダウン・メニュー３００において、第１のユーザは、所望のコンテンツを検索するための適切なクエリを選択する。本明細書において記述されている構造化クエリを使用することの利点のうちのいくつかとしては、限られた情報に基づいてオンライン・ソー
シャル・ネットワークのユーザを見つけ出すこと、さまざまなソーシャル・グラフ要素に対するそのコンテンツの関係に基づいてオンライン・ソーシャル・ネットワークからのコンテンツの仮想インデックス同士をまとめること、またはユーザおよび／もしくはユーザの友達に関連したコンテンツを見つけ出すことが含まれる。このプロセスを使用することによって、自然言語でのレンダリング・プロセスの出力が、たとえば、修正されたまたは代替の構造化クエリを生成するために、効率よく解析される。さらに、このプロセスによって使用されるルールは、文法モデルから導出されるため、文法モデルのルールに対するいかなる修正も、レンダリング・プロセスにおいてすぐに反映される。特定の様式で特定の構造化クエリを生成することについて本開示は記述しており、図４Ａ〜図４Ｂは示しているが、本開示は、任意の適切な様式で任意の適切な構造化クエリを生成することを想定している。
【００６０】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、非構造化テキスト・クエリを（第１のユーザ・ノード２０２に対応する）クエリを行っている／第１のユーザから受け取る。限定ではなく、例として、第１のユーザは、（１）第１のユーザの一次友達であって、かつ（２）スタンフォード大学に関連付けられているその他のユーザ（すなわち、ユーザ・ノード２０２は、エッジ２０６によって、「スタンフォード」という学校に対応するコンセプト・ノード２０４につながっている）を検索したいと望む可能性がある。次いで第１のユーザは、図４Ａ〜図４Ｂにおいて示されているように、「ｆｒｉｅｎｄｓ  Ｓｔａｎｆｏｒｄ（友達  スタンフォード）」というテキスト・クエリをクエリ・フィールド３５０内に入力する。第１のユーザがこのテキスト・クエリをクエリ・フィールド３５０内に入力する際に、ソーシャルネットワーキング・システム１６０は、ドロップダウン・メニュー３００において示されているように、さまざまな提案される構造化クエリを提供する。本明細書において使用される際には、非構造化テキスト・クエリとは、ユーザによって入力された単純なテキスト文字列に及ぶ。テキスト・クエリは、もちろん、標準的な言語／文法ルール（たとえば、英語文法）に関して構造化されている場合がある。しかしながら、テキスト・クエリは通常、ソーシャル・グラフ要素に関しては構造化されていないであろう。言い換えれば、単純なテキスト・クエリは通常、特定のソーシャル・グラフ要素への組み込まれた参照を含まないであろう。したがって、本明細書において使用される際には、構造化クエリとは、特定のソーシャル・グラフ要素への参照を含んでいて、識別された要素に基づいて検索エンジンが検索を行うことを可能にするクエリに及ぶ。さらに、テキスト・クエリは、正式なクエリ・シンタックスに関して構造化されていない場合がある。言い換えれば、単純なテキスト・クエリは、検索エンジンによって直接実行可能であるクエリ・コマンドのフォーマットでは必ずしもないであろう。本開示は、特定の様式で特定のクエリを受け取ることについて記述しているが、本開示は、任意の適切な様式で任意の適切なクエリを受け取ることを想定している。
【００６１】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、第１のユーザ（すなわち、クエリを行っているユーザ）から受け取られた非構造化テキスト・クエリ（単に検索クエリとも呼ばれる）を解析して、１または複数のｎグラムを識別する。一般には、ｎグラムとは、テキストまたは話語の所与のシーケンスからのｎ個のアイテムの連続したシーケンスである。それらのアイテムは、テキストまたは話語のシーケンスからの文字、音素、音節、字、言葉、語基ペア、接頭辞、またはその他の識別可能なアイテムである。ｎグラムは、クエリを行っているユーザによって入力されたテキストの１または複数の文字（字、数字、句読点など）を含む。サイズ１のｎグラムは、「ユニグラム」と呼ばれることが可能であり、サイズ２のｎグラムは、「バイグラム」または「ダイグラム」と呼ばれることが可能であり、サイズ３のｎグラムは、「トライグラム」と呼ばれる、といった具合である。それぞれのｎグラムは、クエリを行っているユーザから受け取られたテキスト・クエリからの１または複数の部分を含む。特定の実施形態においては、それぞれのｎグラムは、第１のユーザによって入力された文字の文字列（たとえば、テキス
トの１または複数の文字）を含む。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、「友達  スタンフォード」というテキスト・クエリを解析して、「友達」、「スタンフォード」、「友達  スタンフォード」というｎグラムを識別する。限定ではなく、別の例として、ソーシャルネットワーキング・システム１６０は、「ｆｒｉｅｎｄｓ  ｉｎ  ｐａｌｏ  ａｌｔｏ（パロアルトの友達）」というテキスト・クエリを解析して、「ｆｒｉｅｎｄｓ（友達）」、「ｉｎ（の）」、「ｐａｌｏ（パロ）」、「ａｌｔｏ（アルト）」、「ｆｒｉｅｎｄｓ  ｉｎ（の友達）」、「ｉｎ  ｐａｌｏ（パロ・・・の）」、「ｐａｌｏ  ａｌｔｏ（パロアルト）」、「ｆｒｉｅｎｄｓ  ｉｎ  ｐａｌｏ（パロ・・・の友達）」、「ｉｎ  ｐａｌｏ  ａｌｓｏ（パロアルソの）」、「ｆｒｉｅｎｄｓ  ｉｎ  ｐａｌｏ  ａｌｔｏ（パロアルトの友達）」というｎグラムを識別する。特定の実施形態においては、それぞれのｎグラムは、テキスト・クエリからのｎ個のアイテムの連続したシーケンスを含む。本開示は、特定の様式で特定のクエリを解析することについて記述しているが、本開示は、任意の適切な様式で任意の適切なクエリを解析することを想定している。
【００６２】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、テキスト・クエリ内で識別されたそれぞれのｎグラムに関して、そのｎグラムがソーシャル・グラフ要素に対応するスコアを決定または計算する。このスコアは、たとえば、信頼スコア、確率、質、ランキング、別の適切なタイプのスコア、またはそれらの任意の組合せである。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、ｎグラムが、ソーシャル・グラフ２００のユーザ・ノード２０２、コンセプト・ノード２０４、またはエッジ２０６などのソーシャル・グラフ要素に対応する確率スコア（単に「確率」とも呼ばれる）を決定する。確率スコアは、ｎグラムと特定のソーシャル・グラフ要素との間における類似度または関連度のレベルを示す。確率を計算するための多くの異なる方法が存在する。本開示は、検索クエリ内で識別されたｎグラムに関する確率スコアを計算するための任意の適切な方法を想定している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ｎグラムが特定のソーシャル・グラフ要素に対応する確率ｐを決定する。確率ｐは、特定の検索クエリＸを与えられた場合に特定のソーシャル・グラフ要素ｋに対応する確率として計算される。言い換えれば、確率は、ｐ＝（ｋ｜Ｘ）として計算される。限定ではなく、例として、ｎグラムがソーシャル・グラフ要素に対応する確率は、ｐｉ，ｊ，ｋとして示される確率スコアとして計算される。入力は、テキスト・クエリＸ＝（ｘ１，ｘ２，．．．，ｘＮ）、およびクラスのセットである。それぞれの（ｉ：ｊ）およびクラスｋに関して、ソーシャルネットワーキング・システム１６０は、ｐｉ，ｊ，ｋ＝ｐ（ｃｌａｓｓ（ｘｉ，ｊ）＝ｋ｜Ｘ）を算出する。限定ではなく、例として、「スタンフォード」というｎグラムは、「スタンフォード大学」という学校＝０．７、「カリフォルニア州スタンフォード」というロケーション＝０．２、「アレン・スタンフォード」というユーザ＝０．１のようなソーシャル・グラフ要素に関してスコア付けされる。限定ではなく、別の例として、「友達」というｎグラムは、「ｆｒｉｅｎｄｓ（友達）」であるユーザ＝０．９、「Ｆｒｉｅｎｄｓ（フレンズ）」というテレビ番組＝０．１のようなソーシャル・グラフ要素に関してスコア付けされる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、特定のｎグラムが特定のソーシャル・グラフ要素に対応する確率を決定するために前後進アルゴリズムを使用する。テキスト・クエリ内の所与のｎグラムに関して、ソーシャルネットワーキング・システム１６０は、どの特定のソーシャル・グラフ要素が所与のｎグラムに対応するかを決定するために、先行のｎグラムおよび後続のｎグラムの両方を使用する。特定の実施形態においては、識別されたソーシャル・グラフ要素は、検索エンジンによって実行可能であるクエリ・コマンドを生成するために使用される。そのクエリ・コマンドは、特定の引数を受け入れる定義された関数を伴う構造化されたセマンティック・クエリである。限定ではなく、例として、「友達  自分  マーク」というテキスト・クエリが解析されて、ｉｎｔｅｒｓｅｃｔ（��達（自分），友達（マーク））というクエリ・コマンドが形成される。言
い換えれば、そのクエリは、クエリを行っているユーザ（「自分」）および「マーク」というユーザと交わっているソーシャル・グラフ内のノード（すなわち、友達タイプのエッジ２０６によって、クエリを行っているユーザのユーザ・ノード２０２、および友達タイプのエッジ２０６によって、「マーク」というユーザを表すユーザ・ノード２０２の両方につながっているユーザ・ノード２０２）を探している。本開示は、ｎグラムがソーシャル・グラフ要素に対応するか否かを特定の様式で決定することについて記述しているが、本開示は、ｎグラムがソーシャル・グラフ要素に対応するか否かを任意の適切な様式で決定することを想定している。その上、本開示は、ｎグラムがソーシャル・グラフ要素に対応するか否かを、特定のタイプのスコアを使用して決定することについて記述しているが、本開示は、ｎグラムがソーシャル・グラフ要素に対応するか否かを、任意の適切なタイプのスコアを使用して決定することを想定している。
【００６３】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、エッジの確率しきい値よりも高い確率を有する１または複数のエッジ２０６を識別する。識別されたエッジ２０６のそれぞれは、ｎグラムのうちの少なくとも１つに対応する。限定ではなく、例として、ｎグラムは、ｐｉ，ｊ，ｋ＞ｐエッジ−しきい値である場合に、エッジｋに対応するものとして識別されることのみが可能である。さらに、識別されたエッジ２０６のそれぞれは、識別されたノードのうちの少なくとも１つにつなげられる。言い換えれば、ソーシャルネットワーキング・システム１６０は、特定のｎグラムに対応するものとして以前に識別されたユーザ・ノード２０２またはコンセプト・ノード２０４につながっているエッジ２０６またはエッジ・タイプを識別することのみが可能である。以前に識別されたいずれのノードにもつながっていないエッジ２０６またはエッジ・タイプは、典型的には、検索クエリ内の特定のｎグラムに対応する可能性は低い。これらのエッジ２０６およびエッジ・タイプを除外または無視することによって、ソーシャルネットワーキング・システム１６０は、関連があるソーシャル・グラフ要素を探してソーシャル・グラフ２００をさらに効率よく検索する。限定ではなく、例として、図２を参照すると、「ｗｅｎｔ  ｔｏ  Ｓｔａｎｆｏｒｄ（スタンフォードに通った）」を含むテキスト・クエリに関して、識別されたコンセプト・ノード２０４が「Ｓｔａｎｆｏｒｄ（スタンフォード）」という学校である場合には、ソーシャルネットワーキング・システム１６０は、「働いた」に対応するエッジ２０６、および「通った」に対応するエッジ２０６を識別することができ、それらは両方とも、「スタンフォード」を表すコンセプト・ノード２０４につながっている。したがって、「通った」というｎグラムは、これらのエッジ２０６に対応するものとして識別される。しかしながら、同じテキスト・クエリに関して、ソーシャルネットワーキング・システム１６０は、ソーシャル・グラフ２００内の「いいね！を表明する」または「ファンである」に対応するエッジ２０６を識別することはできない。なぜなら、「スタンフォード」というノードは、そのノードにつながっているそのようないずれのエッジも有していないためである。本開示は、ｎグラムに対応するエッジ２０６を特定の様式で識別することについて記述しているが、本開示は、ｎグラムに対応するエッジ２０６を任意の適切な様式で識別することを想定している。
【００６４】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、ノード−確率しきい値よりも高い確率を有する１または複数のユーザ・ノード２０２またはコンセプト・ノード２０４を識別する。識別されたノードのそれぞれは、ｎグラムのうちの少なくとも１つに対応する。限定ではなく、例として、ｎグラムは、ｐｉ，ｊ，ｋ＞ｐノード−しきい値である場合に、ノードｋに対応するものとして識別されることのみが可能である。さらに、識別されたユーザ・ノード２０２またはコンセプト・ノード２０４のそれぞれは、識別されたエッジ２０６のうちの少なくとも１つにつなげられる。言い換えれば、ソーシャルネットワーキング・システム１６０は、特定のｎグラムに対応するものとして以前に識別されたエッジ２０６につながっているノードまたはノードタイプを識別することのみが可能である。以前に識別されたいずれのエッジ２０６にもつながっていないノ
ードまたはノードタイプは、典型的には、検索クエリ内の特定のｎグラムに対応する可能性は低い。これらのノードおよびノードタイプを除外または無視することによって、ソーシャルネットワーキング・システム１６０は、関連があるソーシャル・グラフ要素を探してソーシャル・グラフ２００をさらに効率よく検索する。限定ではなく、例として、「アップルで働いた」を含むテキスト・クエリに関して、識別されたエッジ２０６が「働いた」である場合には、ソーシャルネットワーキング・システム１６０は、アップル・インコーポレイテッドという会社に対応するコンセプト・ノード２０４を識別することができ、それは、自分につながっている「働いた」という複数のエッジ２０６を有する。しかしながら、同じテキスト・クエリに関して、ソーシャルネットワーキング・システム１６０は、「アップル」というフルーツタイプに対応するコンセプト・ノード２０４を識別することはできず、それは、自分につながっている複数の「いいね！を表明する」または「ファンである」エッジを有するが、「働いた」というエッジつながりを有することはできない。特定の実施形態においては、ノード−確率しきい値は、ユーザ・ノード２０２およびコンセプト・ノード２０４ごとに異なることが可能であり、これらのノード同士の間でさえ異なる（たとえば、いくつかのコンセプト・ノード２０４は、その他のコンセプト・ノード２０４とは異なるノード−確率しきい値を有する）。限定ではなく、例として、ｎグラムは、ｐｉ，ｊ，ｋ＞ｐユーザ−ノード−しきい値である場合には、ユーザ・ノード３０２ｋユーザに対応するものとして識別されることが可能であり、その一方で、ｎグラムは、ｐｉ，ｊ，ｋ＞ｐコンセプト−ノード−しきい値である場合には、コンセプト・ノード３０４ｋコンセプトに対応するものとして識別される。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、第１のユーザ（すなわち、クエリを行っているユーザ）に対応するユーザ・ノード２０２の隔たり度合いしきい値内にあるノードを識別することのみが可能である。隔たり度合いしきい値は、たとえば、１、２、３、またはすべてである。本開示は、ｎグラムに対応するノードを特定の様式で識別することについて記述しているが、本開示は、ｎグラムに対応するノードを任意の適切な様式で識別することを想定している。
【００６５】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、複数の文法を含むコンテキストフリー文法モデルにアクセスする。この文法モデルのそれぞれの文法は、１または複数の非終端トークン（または「非終端シンボル」）、および１または複数の終端トークン（または「終端シンボル」／「クエリ・トークン」）を含むことができ、特定の非終端トークンは、終端トークンによって置換される。文法モデルとは、形式言語における文字列に関する形成ルールのセットである。特定の実施形態においては、それらの複数の文法は、非終端トークンに対応する内部ノードと、終端トークンに対応するリーフ・ノードとを伴う順序付きツリーとして編成されている文法フォレストとして視覚化される。それぞれの文法は、文法フォレスト内のサブツリーとして表されることが可能であり、それらの文法は、非終端トークンを通じて互いに隣接している。したがって、複数の文法は、文法フォレスト内のサブフォレストである。本開示は、特定の文法にアクセスすることについて記述しているが、本開示は、任意の適切な文法を想定している。
【００６６】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１または複数の文法を使用して１または複数の文字列を生成する。その言語における文字列を生成するためには、単一の開始シンボルのみから構成されている文字列から開始する。次いで、開始シンボルも指定の非終端シンボルも含まない文字列が生成されるまで、生成ルールが任意の順序で適用される。コンテキストフリー文法においては、文法のそれぞれの非終端シンボルの生成は、文法のその他の非終端シンボルによって生成されるものから独立している。非終端シンボルは、終端シンボル（すなわち、終端トークンまたはクエリ・トークン）と置換される。クエリ・トークンのうちのいくつかは、前述のように、識別されたノードまたは識別されたエッジに対応する。次いで、文法によって生成された文字列が、識別されたノードまたは識別されたエッジへの参照を含む構造化クエリのための基礎と
して使用される。文法によって生成された文字列は、自然言語シンタックスでレンダリングされることが可能であり、それによって、その文字列に基づく構造化クエリも、自然言語でレンダリングされる。コンテキストフリー文法とは、それぞれの生成ルールの左手側が単一の非終端シンボルのみから構成されている文法である。確率的なコンテキストフリー文法は、タプル〈Σ，Ｎ，Ｓ，Ｐ〉であり、この場合、互いに素な集合ΣおよびＮは、それぞれ終端シンボルおよび非終端シンボルを指定し、Ｓ∈Ｎは、開始シンボルである。Ｐは、生成の集合であり、それらは、Ｅ→ξ（ｐ）という形式を取り、Ｅ∈Ｎ、ξ∈（Σ∪Ｎ）＋であり、ｐ＝Ｐｒ（Ｅ→ξ）は、Ｅが文字列ξへと展開されるであろう確率である。所与の非終端Ｅのすべての展開にわたる確率ｐの合計は、１でなければならない。本開示は、特定の様式で文字列を生成することについて記述しているが、本開示は、任意の適切な様式で文字列を生成することを想定している。
【００６７】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、以前に識別されたノードおよびエッジに対応する１または複数のクエリ・トークンを識別する。言い換えれば、識別されたノードまたは識別されたエッジが、特定の文法においてクエリ・トークンとして使用される場合には、そのクエリ・トークンは、ソーシャルネットワーキング・システム１６０によって識別される。限定ではなく、例として、例示的な文法は、［ユーザ］［ユーザフィルタ］［学校］である。次いで、受け取られたテキスト・クエリ内のｎグラムに基づいて、［ユーザ］、［ユーザフィルタ］、および［学校］という非終端シンボルが決定される。「友達  スタンフォード」というテキスト・クエリに関しては、このクエリは、文法を使用することによって、たとえば、「［スタンフォード大学］［に通っている］［友達］」、または「［スタンフォード大学］［で働いている］［友達］」として解析される。限定ではなく、別の例として、例示的な文法は、［ユーザ］［ユーザフィルタ］［ロケーション］である。「友達  スタンフォード」というテキスト・クエリに関しては、このクエリは、文法を使用することによって、たとえば、「［カリフォルニア州スタンフォード］［在住の］［友達］」として解析される。上述の例示的なケースの両方において、受け取られたテキスト・クエリのｎグラムがクエリ・トークンとして使用される場合には、これらのクエリ・トークンは、ソーシャルネットワーキング・システム１６０によって識別される。本開示は、特定の様式で特定のクエリ・トークンを識別することについて記述しているが、本開示は、任意の適切な様式で任意の適切なクエリ・トークンを識別することを想定している。
【００６８】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、以前に識別されたノードおよびエッジのそれぞれに対応する少なくとも１つのクエリ・トークンを有する１または複数の文法を選択する。テキスト・クエリ内で識別されたｎグラムに応じて、特定の文法のみが使用される。したがって、テキスト・クエリからの識別されたｎグラムにマッチする文法を見つけ出すために、すべての利用可能な文法の終端トークンを調べるべきである。言い換えれば、特定の文法が、識別されたノードおよびエッジのすべてをクエリ・トークンとして使用する場合には、その文法が、構造化クエリを生成する目的で使用するための可能な文法としてソーシャルネットワーキング・システム１６０によって選択される。これは事実上、ボトムアップ解析の一種であり、クエリに適用するための適用可能な文法を決定するために、可能なクエリ・トークンが使用される。限定ではなく、例として、「友達  スタンフォード」というテキスト・クエリに関して、ソーシャルネットワーキング・システムは、［友達］および［スタンフォード大学］というクエリ・トークンを識別する。前述のように、文法モデルからの文法の終端トークンが識別される。次いで、［友達］および［スタンフォード大学］というトークンの両方を使用する任意の文法が選択される。たとえば、［ユーザ］［ユーザフィルタ］［学校］という文法が選択される。なぜなら、この文法は、「スタンフォード大学に通っている友達」または「スタンフォード大学で働いている友達」という文字列を形成することによってなど、［友達］および［スタンフォード大学］というトークンをクエリ・トークンとして使用するため
である。したがって、受け取られたテキスト・クエリのｎグラムが文法におけるクエリ・トークンとして使用される場合には、これらの文法がソーシャルネットワーキング・システム１６０によって選択される。同様に、受け取られたテキスト・クエリが、文法におけるクエリ・トークンとして使用されることが不可能であるｎグラムを含んでいる場合には、その文法が選択されることは不可能である。本開示は、特定の様式で特定の文法を選択することについて記述しているが、本開示は、任意の適切な様式で任意の適切な文法を選択することを想定している。
【００６９】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、複数の文法によって形成されている文法フォレストを分析することによって、１または複数の文法を選択する。文法フォレストは、複数の非終端トークンおよび複数の終端トークンを含む順序付きツリーとして編成される。それぞれの文法は、文法フォレスト内のサブツリーとして表されることが可能であり、それぞれのサブツリーは、１または複数のさらなる非終端トークンを通じてその他のサブツリーと隣接する。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、テキスト・クエリの部分に対応する識別されたノードおよびエッジに対応する文法フォレスト内のすべての終端トークン（すなわち、クエリ・トークン）を識別することによって開始する。文法フォレスト内のこれらのクエリ・トークンが識別されると、次いでソーシャルネットワーキング・システム１６０は、これらのクエリ・トークンのそれぞれから遡って文法フォレストを横断して、１または複数の交わっている非終端トークンを識別する。すべてのクエリ・トークンからのパス同士が交わっている箇所で非終端トークンが識別されると、その交わっている非終端トークンが選択されることが可能であり、次いで、文法フォレスト内のその交わっている非終端トークンに隣接した１または複数の文法が選択される。本開示は、特定の様式で文法を選択することについて記述しているが、本開示は、任意の適切な様式で文法を選択することを想定している。
【００７０】
図５Ａは、例示的なセマンティック・ツリーを示している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、クエリを行っているユーザからのテキスト・クエリに対応するセマンティック・ツリーを生成する。セマンティック・ツリーは、以前に識別されたノードまたはエッジに対応するそれぞれの識別されたクエリ・トークンを含むことができ、交わりトークンを含むこともできる。セマンティック・ツリーは、必要に応じてクエリ・トークンを交わりトークンにつなげる非終端トークンを含むこともできる。限定ではなく、例として、「友達  スタンフォード」というテキスト・クエリが解析されて、交わり（学校（スタンフォード大学），友達（自分））というクエリ・コマンドが生じる。言い換えれば、そのクエリは、クエリを行っているユーザ（「自分」）の友達（すなわち、友達タイプのエッジ２０６によって、クエリを行っているユーザのユーザ・ノード２０２につながっているユーザ・ノード２０２）、およびスタンフォード大学を表すコンセプト・ノード２０４の両方と交わっているソーシャル・グラフ内のノードを探している。これは、図５Ａにおいて示されているセマンティック・ツリーとして表されることが可能であり、そのセマンティック・ツリーは、クエリを行っているユーザ［自分］を表す終端トークン、および学校［スタンフォード］、［［ユーザ］の友達］を表す非終端トークン、および交わりトークンを含む。特定の実施形態においては、ツリー内のそれぞれのトークンは、そのトークンが処理されることになる順序でラベル付けされる。たとえば、図５Ａにおいて示されているセマンティック・ツリーは、ポストフィックス表記法を使用してラベル付けされているトークンを有しており、［スタンフォード］を表すトークンは、（０，０）とラベル付けされており、［自分］を表すトークンは、（１，１）とラベル付けされており、［［ユーザ］の友達］トークンは、（２）とラベル付けされており、交わりトークンは、（３）とラベル付けされている。本開示は、特定の様式で特定のセマンティック・ツリーを生成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なセマンティック・ツリーを生成することを想定している。
【００７１】
図５Ｂは、例示的な文法フォレストを示している。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、複数の文法を含む文法フォレストを分析して、クエリに対応するセマンティック・ツリーに実質的にマッチする非終端トークンおよびクエリ・トークンの１または複数のセットを識別することができ、それぞれのセットは、そのセマンティック・ツリーの交わりトークンに対応する非終端トークンを有する。次いで、ソーシャルネットワーキング・システム１６０は、交わりトークンに対応する非終端トークンに隣接している文法フォレスト内の文法のうちの１または複数を選択する。次いで、文法フォレストから選択されたそれぞれの交わっている非終端トークンが、文法に関する［開始］トークンとしてラベル付けされる。限定ではなく、例として、文法フォレストを横断して、交わっているトークンを識別するために、下記のアルゴリズムが使用される：
セマンティック・ツリー内のそれぞれの終端トークン（ｉ，ｉ）に関して、文法フォレスト内のそれぞれのマッチしている終端トークンを（ｉ，ｉ）とラベル付けする。
ｉ＝０〜サイズ（セマンティック・ツリー−１）に関して：
ｊ＝ｉ〜０に関して：
（ｉ，ｊ）とラベル付けされているすべてのトークンを展開する。
（ｉ，ｊ）を展開する：
文法フォレスト内のすべてのトークンに関して：
トークンが、サブツリーを（ｉ’，ｊ’）に成長させる１つの引数を伴うルールを有する場合には、トークンを（ｉ’，ｊ’）とラベル付けする；
トークンが、サブツリーを成長させる複数の引数を伴うルールを有する場合には、トークンを「保留中」とラベル付けする；
トークンが、「保留中」とラベル付けされていて、サブツリーを（ｉ’，ｊ’）に成長させるようになった場合には、トークンを（ｉ’，ｊ’）とラベル付けする。
したがって、たとえば、図５Ｂにおいて示されている例では、図５Ａにおいて示されているセマンティック・ツリーからの終端トークン（０，０）および（１，１）にマッチするすべての終端トークンが、それぞれ（０，０）および（１，１）とラベル付けされることになる。次いで、文法フォレスト内のそれぞれの有効なトークンから、ソーシャルネットワーキング・システム１６０は、親トークンまで横断して、セマンティック・ツリーにマッチするサブツリーが形成されるか否かを見る。親である非終端トークンが、マッチしているセマンティックを有している場合には、その非終端トークンは、そのセマンティック・ツリーからの対応するトークンと同じラベルを使用してラベル付けされる。図５Ｂにおいて示されている例では、（１，１）とラベル付けされているトークンのうちの１つから文法フォレストが横断されている際に、［［ユーザ］の友達］というセマンティックにマッチしている非終端トークンが見つかると、そのトークンは、（２）とラベル付けされることが可能であり、したがってそのトークンは、そのセマンティック・ツリーにマッチする。次いで、このトークンの親は、潜在的な交わりトークンであるため、「保留中」とラベル付けされる。しかしながら、その横断によって、セマンティック・ツリーのセマンティックにマッチしている親トークンをまったく見つけ出すことができなかった場合には、その特定の横断を終了する。その横断の１つの分岐が、潜在的な交わりトークンに達すると、そのトークンは、「保留中」とラベル付けされることが可能であり、その間に、このアルゴリズムは、その他の有効な終端トークンからの横断（たとえば、（０，０）とラベル付けされている終端トークンからの横断）を進める。あるいは、横断によって、「保留中」と既にラベル付けされているトークンが見つけ出されると、そのトークンは、交わりトークンとして識別されること、および（３）とラベル付けされる。次いで、（３）とラベル付けされているそれぞれのトークンは、文法として選択されることが可能であり、その文法は、構造化クエリを表す自然言語文字列を生成するために使用される。このアルゴリズムは、交わりトークンにつながる文法フォレスト内の最も低いコストのマルチパスを見つけ出すよう試みることになり、この最も低いコストのマルチパスに対応する交わりト
ークンは、その他の交わりトークン（が存在する場合には、それらの交わりトークン）に優先して選択される。本開示は、特定の様式で特定の文法フォレストを分析することについて記述しているが、本開示は、任意の適切な様式で任意の適切な文法フォレストを分析することを想定している。
【００７２】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、それぞれの選択された文法に関するスコアを決定する。このスコアは、たとえば、信頼スコア、確率、質、ランキング、別の適切なタイプのスコア、またはそれらの任意の組合せである。このスコアは、選択された文法において使用されているクエリ・トークンに関連付けられている個々のスコアまたは確率に基づく。文法は、相対的に高い個々のスコアを有するクエリ・トークンを使用している場合には、より高い相対的なスコアを有する。限定ではなく、例として、前述の例を続けると、「スタンフォード」というｎグラムは、「スタンフォード大学」という学校＝０．７、「カリフォルニア州スタンフォード」というロケーション＝０．２、「アレン・スタンフォード」というユーザ＝０．１のようなソーシャル・グラフ要素に関してスコア付けされる。「友達」というｎグラムは、「友達」であるユーザ＝０．９、「友達」というテレビ番組＝０．１のようなソーシャル・グラフ要素に関してスコア付けされる。したがって、［ユーザ］［ユーザフィルタ］［学校］という文法は、相対的に高い個々のスコアを両方が有している「友達」であるユーザおよび「スタンフォード大学」という学校を表すクエリ・トークンを使用（して、たとえば、「スタンフォード大学に通っている友達」という文字列を生成）している場合には、相対的に高いスコアを有する。対照的に、［ユーザ］［ユーザフィルタ］［ユーザ］という文法は、「友達」であるユーザおよび「アレン・スタンフォード」というユーザを表すクエリ・トークンを使用（して、たとえば、「アレン・スタンフォードの友達」という文字列を生成）している場合には、相対的に低いスコアを有する。なぜなら、後者のクエリ・トークンは、相対的に低い個々のスコアを有しているためである。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、選択された文法に対応する交わりトークンを識別するために横断されたパスの長さに基づいて、選択された文法に関するスコアを決定する。より低いコストのマルチパス（すなわち、より短いパス）を伴う文法は、高いコストのマルチパス（すなわち、より長いパス）を伴う文法よりも高くスコア付けされる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、広告スポンサーシップに基づいて、選択された文法に関するスコアを決定する。広告主（たとえば、特定のノードに対応する特定のプロフィール・ページのユーザまたは管理者など）は、特定のノードのスポンサーになることができ、それによって、そのスポンサー付きノードを参照するクエリ・トークンを含む文法は、より高くスコア付けされることが可能になる。本開示は、特定の様式で特定の文法に関する特定のスコアを決定することについて記述しているが、本開示は、任意の適切な様式で任意の適切な文法に関する任意の適切なスコアを決定することを想定している。
【００７３】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、クエリを行っているユーザ（すなわち、第１のユーザ・ノード２０２に対応する第１のユーザ）に対する、文法のクエリ・トークンに対応するソーシャル・グラフ要素の関連度に基づいて、選択された文法に関するスコアを決定する。エッジ２０６によって直接第１のユーザ・ノード２０２につながっているユーザ・ノード２０２およびコンセプト・ノード２０４は、第１のユーザに関連があるとみなされる。したがって、これらの関連があるノードおよびエッジに対応するクエリ・トークンを含む文法は、クエリを行っているユーザにさらに関連があるとみなされる。限定ではなく、例として、エッジ２０６によって第１のユーザ・ノード２０２につながっているコンセプト・ノード２０４は、第１のユーザ・ノード２０２に関連があるとみなされる。本明細書において使用される際には、ソーシャル・グラフ２００を参照しているときに、「つながっている」という用語は、ソーシャル・グラフ２００内で２つのノードの間にパスが存在することを意味し、そのパスは、１または複
数のエッジ２０６およびゼロ以上の中間ノードを含む。特定の実施形態においては、１または複数の介在ノード（および、したがって複数のエッジ２０６）を通じて第１のユーザ・ノード２０２につながっているノードも、第１のユーザに関連があるとみなされる。さらに、特定の実施形態においては、第２のノードが第１のユーザ・ノードに近ければ近いほど、その第２のノードは、第１のユーザ・ノードにさらに関連があるとみなされる。すなわち、第１のユーザ・ノード２０２を特定のユーザ・ノード２０２またはコンセプト・ノード２０４から隔てているエッジ２０６が少なければ少ないほど（すなわち、隔たり度合いが低ければ低いほど）、そのユーザ・ノード２０２またはコンセプト・ノード２０４は、第１のユーザにさらに関連があるとみなされる。限定ではなく、例として、図２において示されているように、「スタンフォード」という学校に対応するコンセプト・ノード２０４は、ユーザ「Ｃ」に対応するユーザ・ノード２０２につながっており、したがって「スタンフォード」というコンセプトは、ユーザ「Ｃ」に関連があるとみなされる。限定ではなく、別の例として、ユーザ「Ａ」に対応するユーザ・ノード２０２は、１つの中間ノードおよび２つのエッジ２０６（すなわち、ユーザ「Ｂ」に対応する中間ユーザ・ノード２０２）を通じて、ユーザ「Ｃ」に対応するユーザ・ノード２０２につながっており、したがってユーザ「Ａ」は、ユーザ「Ｃ」に関連があるとみなされるが、ユーザ「Ａ」を表すユーザ・ノード２０２は、ユーザ「Ｃ」に関して第二次つながりであるため、その特定のコンセプト・ノード２０４は、単一のエッジ２０６によって、ユーザ「Ｃ」を表すユーザ・ノードにつながっているユーザ・ノード２０２、たとえば、ユーザ「Ｂ」に対応するユーザ・ノード２０２などよりも関連性が低いとみなされる。限定ではなく、さらに別の例として、（オンライン・マルチプレーヤ・ゲームに相当する）「オンライン・ポーカー」を表すコンセプト・ノードは、ソーシャル・グラフ２００内のいずれの経路によっても、ユーザ「Ｃ」を表すユーザ・ノードにつながっておらず、したがって「オンライン・ポーカー」というコンセプトは、ユーザ「Ｃ」に関連があるとみなされない。特定の実施形態においては、第２のノードは、第１のユーザ・ノード２０２の隔たり度合いしきい値内にある場合に、第１のユーザに関連があるとみなされることのみが可能である。限定ではなく、例として、隔たり度合いしきい値が３である場合には、ユーザ「Ｄ」に対応するユーザ・ノード２０２は、「チキン・パルメザン」というレシピに対応するコンセプト・ノード２０４に関連があるとみなされることが可能であり、それらは、図２において示されているソーシャル・グラフ２００上で互いから三次以内にある。しかしながら、この例を続けると、「レシピのすべて」というアプリケーションに対応するコンセプト・ノード２０４は、ユーザ「Ｄ」に対応するユーザ・ノード２０２に関連があるとみなされない。なぜなら、これらのノードは、ソーシャル・グラフ２００内で４度合い離れているためである。本開示は、特定のソーシャル・グラフ要素同士（結果として、それらの対応するクエリ・トークン同士）が互いに関連があるか否かを特定の様式で決定することについて記述しているが、本開示は、任意の適切なソーシャル・グラフ要素同士が互いに関連があるか否かを任意の適切な様式で決定することを想定している。その上、本開示は、ユーザ・ノード２０２およびコンセプト・ノード２０４に対応する特定のクエリ・トークンが、クエリを行っているユーザに関連があるか否かを決定することについて記述しているが、本開示は、任意の適切なクエリ・トークン（結果として、任意の適切なノード）がその他の任意の適切なユーザに関連があるか否かも同様に決定することを想定している。
【００７４】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、選択された文法に関するスコアを、その文法のクエリ・トークンに対応するソーシャル・グラフ情報に基づいて決定する。限定ではなく、例として、ｎグラムが特定のソーシャル・グラフ要素に対応する確率ｐを決定する際には、その確率の計算は、ソーシャル・グラフ情報を考慮に入れることもできる。したがって、特定の検索クエリＸおよびソーシャル・グラフ情報Ｇが与えられると、特定のソーシャル・グラフ要素ｋに対応する確率が、ｐ＝（ｋ｜Ｘ，Ｇ）として計算される。次いで、それらのソーシャル・グラフ要素をクエリ・トークンとして用いて文法に関するスコアを決定するために、識別されたノードおよびエッジ
に関する個々の確率が使用される。特定の実施形態においては、選択された文法に関するスコアは、第１のユーザ・ノード２０２と、その文法においてクエリ・トークンとして使用される特定のソーシャル・グラフ要素との間における隔たり度合いに基づく。ソーシャル・グラフ２００内で、クエリを行っているユーザにさらに近いソーシャル・グラフ要素（すなわち、その要素と、第１のユーザ・ノード２０２との間における隔たり度合いが低い）に対応するクエリ・トークンを有する文法は、そのユーザからさらに遠い（すなわち、隔たり度合いが高い）ソーシャル・グラフ要素に対応するクエリ・トークンを使用する文法よりも高くスコア付けされる。限定ではなく、例として、図２を参照すると、ユーザ「Ｂ」が「チキン」というテキスト・クエリを入力した場合には、エッジ２０６によってユーザ「Ｂ」につながっている「チキン・パルメザン」というレシピを表すコンセプト・ノード２０４に対応するクエリ・トークンを有する文法は、ソーシャル・グラフ２００内でユーザ「Ｂ」につながっていないチキンというｎグラムに関連付けられているその他のノード（たとえば、「チキン・ナゲット」または「ファンキー・チキン・ダンス」に対応するコンセプト・ノード２０４）に対応するクエリ・トークンを有する文法よりも相対的に高いスコアを有する。特定の実施形態においては、選択された文法に関するスコアは、その文法のクエリ・トークンに対応する識別されたエッジ２０６に基づく。ソーシャルネットワーキング・システム１６０が、受け取られたテキスト・クエリ内のｎグラムに対応する１または複数のエッジを既に識別している場合には、それらの識別されたエッジは、文法によるテキスト・クエリの特定の解析に関するスコアを決定する際に考慮される。特定の文法が、識別されたノードおよび識別されたエッジの両方に対応するクエリ・トークンを含む場合に、識別されたノードが、識別されたエッジのうちのいずれにも実際につながっていない場合、その特定の文法は、ゼロまたはヌル・スコアを割り振られる。特定の実施形態においては、選択された文法に関するスコアは、その文法のクエリ・トークンに対応するノードにつながっているエッジ２０６の数に基づく。より多くのつながっているエッジ２０６を伴うノードに対応するクエリ・トークンを含む文法は、より人気があり、検索クエリのターゲットである可能性が高い場合がある。限定ではなく、例として、「カリフォルニア州スタンフォード」を表すコンセプト・ノード２０４が、５個のエッジによってつながっているだけであり、その一方で、「スタンフォード大学」を表すコンセプト・ノード２０４が、５千個のエッジによってつながっている場合には、これらのノードのいずれかに対応するクエリ・トークンを含む文法に関するスコアを決定する際に、ソーシャルネットワーキング・システム１６０は、「スタンフォード大学」を表すコンセプト・ノード２０４に対応するクエリ・トークンを有する文法が、「カリフォルニア州スタンフォード」を表すコンセプト・ノード２０４を参照する文法よりも相対的に高いスコアを有するということを決定する。なぜなら、前者のコンセプト・ノード２０４につながっているエッジの数の方が多いためである。特定の実施形態においては、選択された文法に関するスコアは、第１のユーザ（すなわち、クエリを行っているユーザ）に関連付けられている検索履歴に基づく。第１のユーザが以前にアクセスしたノード、または第１のユーザが以前にアクセスしたノードに関連があるノードに対応するクエリ・トークンを有する文法は、第１のユーザの検索クエリのターゲットである可能性がさらに高い場合がある。したがって、これらの文法は、より高いスコアを与えられる。限定ではなく、例として、第１のユーザが、以前に「スタンフォード大学」のプロフィール・ページを訪れたことがあるが、「カリフォルニア州スタンフォード」のプロフィール・ページを訪れたことが一度もない場合には、これらのコンセプトに対応するクエリ・トークンを有する文法に関するスコアを決定する際に、ソーシャルネットワーキング・システム１６０は、「スタンフォード大学」を表すコンセプト・ノード２０４が、結果として、対応するクエリ・トークンを使用する文法が、相対的に高いスコアを有するということを決定する。なぜなら、クエリを行っているユーザが、その学校を表すコンセプト・ノード２０４に以前にアクセスしたことがあるためである。限定ではなく、別の例として、第１のユーザが、以前に「フレンズ」というテレビ番組に関するコンセプトプロフィール・ページを訪れたことがある場合には、そのコンセプトに対応するクエリ・トークンを有する文法に関するスコアを決定す
る際に、ソーシャルネットワーキング・システム１６０は、「フレンズ」というテレビ番組に対応するコンセプト・ノード２０４が、結果として、対応するクエリ・トークンを使用する文法が、相対的に高いスコアを有するということを決定する。なぜなら、クエリを行っているユーザが、そのテレビ番組を表すコンセプト・ノード２０４に以前にアクセスしたことがあるためである。本開示は、特定の様式で特定のソーシャル・グラフ情報に基づいて特定の文法に関するスコアを決定することについて記述しているが、本開示は、任意の適切な様式で任意の適切なソーシャル・グラフ情報に基づいて任意の適切な文法に関するスコアを決定することを想定している。
【００７５】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、文法スコアしきい値よりも高いスコアを有する１または複数の文法を選択する。選択された文法のそれぞれは、（受け取られたテキスト・クエリのｎグラムに対応する）識別されたノードまたは識別されたエッジのそれぞれに対応するクエリ・トークンを含む。特定の実施形態においては、それらの文法は、それらの決定されたスコアに基づいてランク付けされることが可能であり、ランクしきい値（たとえば、上位７つ）内の文法のみが選択される。本開示は、特定の様式で文法を選択することについて記述しているが、本開示は、任意の適切な様式で文法を選択することを想定している。
【００７６】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、選択された文法（たとえば、文法スコアしきい値よりも高いスコアを有する文法）に対応する１または複数の構造化クエリを生成する。それぞれの構造化クエリは、対応する選択された文法によって生成された文字列に基づく。限定ではなく、例として、「友達  スタンフォード」というテキスト・クエリに応答して、［ユーザ］［ユーザフィルタ］［学校］という文法は、「スタンフォード大学に通っている友達」という文字列を生成することができ、この文法の［ユーザ］、［ユーザフィルタ］、［学校］という非終端トークンは、それぞれ［友達］、［に通っている］、および［スタンフォード大学］という終端トークンによって置換されて、その文字列が生成されている。特定の実施形態においては、自然言語シンタックスを使用する文法によって生成される文字列が、構造化クエリとして自然言語でレンダリングされる。限定ではなく、例として、前の例からの構造化クエリは、［に通っている］という終端トークンを使用しており、その終端トークンは、自然言語シンタックスを使用しており、それにより、文法によってレンダリングされる文字列は、自然言語である。次いで、文法によって生成される自然言語文字列は、ソーシャル・グラフ要素に対応するクエリ・トークンを、それらのソーシャル・グラフ要素への参照を含むように修正することによって、構造化クエリを形成するようにレンダリングされる。限定ではなく、例として、「スタンフォード大学に通っている友達」という文字列がレンダリングされることが可能であり、それによって、「スタンフォード大学」を表すクエリ・トークンが、「スタンフォード大学」という学校に対応するコンセプト・ノード２０４への参照として、構造化クエリ内に現れ、その参照は、強調表示、インライン・リンク、スニペット、別の適切な参照、またはそれらの任意の組合せを含む。それぞれの構造化クエリは、対応する選択された文法に対応するクエリ・トークンを含むことができ、これらのクエリ・トークンは、識別されたエッジ２０６のうちの１または複数、および識別されたノードのうちの１または複数に対応する。構造化クエリを生成することについて、以降でさらに記述する。
【００７７】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、コンテキストフリー文法モデルを使用して、構造化クエリに関する１または複数のクエリ修正を生成する。クエリ修正について、以降でさらに論じる。クエリ修正は、１もしくは複数の追加のノードまたは１もしくは複数の追加のエッジを参照する。このタイプのクエリ修正は、構造化クエリに対して絞り込みを行う。またはそれを狭めるために使用される。あるいは、クエリ修正は、１もしくは複数の代替ノードまたは１もしくは複数の代替エッジを
参照する。このタイプのクエリ修正は、構造化クエリに対してピボッティングを行う、またはそれを広げるために使用される。まとめて、これらは、修正ノードおよび修正エッジと呼ばれる場合があり、その場合、修正とは、ソーシャル・グラフ要素に対応する特定のクエリ・トークンを追加または置換することである。さらなるまたは代替のノードおよびエッジに対するクエリ修正内の参照は、それぞれ、構造化クエリ内でクエリ・トークンを追加または置換するために使用される。構造化クエリに関する可能なクエリ修正を識別するために、ソーシャルネットワーキング・システム１６０は、元の構造化クエリからの選択されたノードおよび選択されたエッジに対応するクエリ・トークンを有する１または複数の文法を識別する。言い換えれば、ソーシャルネットワーキング・システム１６０は、その特定の構造化クエリを生成するために実際に使用される文法、その構造化クエリを生成していた可能性があるその他の文法、およびその構造化クエリを別の構造化クエリの部分として有する文法を識別する。次いで、ソーシャルネットワーキング・システム１６０は、構造化クエリ内で追加または置換されるそれらの文法におけるクエリ・トークンを識別する。次いで、これらのさらなるまたは代替のクエリ・トークンは、提案されるクエリ修正を生成するために使用されることが可能であり、それらのクエリ修正は、検索結果ページの一部として、クエリを行っているユーザへ送信される。次いで、クエリを行っているユーザは、これらのクエリ修正のうちの１または複数を選択することができ、それに応答して、ソーシャルネットワーキング・システム１６０は、新たな構造化クエリ（および対応する検索結果）を生成する。この新たな構造化クエリは、必要に応じて修正クエリ・トークン（すなわち、さらなるまたは代替のクエリ・トークン）を含む。本開示は、特定の様式でクエリ修正を生成することについて記述しているが、本開示は、任意の適切な様式でクエリ修正を生成することを想定している。
【００７８】
図６は、自然言語の構造化検索クエリを生成する目的でコンテキストフリー文法モデルを使用するための例示的な方法６００を示している。この方法は、工程６１０において開始され、工程６１０では、ソーシャルネットワーキング・システム１６０が、複数のノードと、それらのノード同士をつなげる複数のエッジ２０６とを含むソーシャル・グラフ２００にアクセスする。それらのノードは、第１のユーザ・ノード２０２、および複数の第２のノード（１または複数のユーザ・ノード２０２、コンセプト・ノード２０４、またはそれらの任意の組合せ）を含む。工程６２０において、ソーシャルネットワーキング・システム１６０は、非構造化テキスト・クエリを第１のユーザから受け取る。そのテキスト・クエリは、１または複数のｎグラムを含む。工程６３０において、ソーシャルネットワーキング・システム１６０は、非構造化テキスト・クエリの少なくとも一部分に対応するエッジおよび第２のノードを識別する。たとえば、ソーシャルネットワーキング・システム１６０は、そのクエリからの特定のｎグラムに対応するエッジおよびノードを識別する。工程６４０において、ソーシャルネットワーキング・システム１６０は、複数の文法を含むコンテキストフリー文法モデルにアクセスする。各文法は、１または複数の非終端トークンおよび１または複数のクエリ・トークン（すなわち、終端トークン）を含む。工程６５０において、ソーシャルネットワーキング・システム１６０は、複数の文法における１または複数のクエリ・トークンを識別することができ、識別された各クエリ・トークンは、識別されたノードまたは識別されたエッジのうちの１つに対応する。工程６６０において、ソーシャルネットワーキング・システム１６０は、１または複数の文法を選択することができ、選択された文法のそれぞれは、識別されたエッジおよび識別された第２のノードのそれぞれに対応する少なくとも１つのクエリ・トークンを含む。工程６７０において、ソーシャルネットワーキング・システムは、選択された文法に基づいて１または複数の構造化クエリを生成する。各構造化クエリは、自然言語シンタックスを使用する、選択された文法によって生成された文字列に対応する。各構造化クエリは、識別されたエッジおよび識別された第２のノードのそれぞれへの参照を含む。特定の実施形態は、適切な場合には、図６の方法の１または複数の工程を繰り返す。本開示は、図６の方法の特定の工程同士を、特定の順序で生じるものとして記述し、示しているが、本開示は、任意の適切
な順序で生じる図６の方法の任意の適切な工程同士を想定している。その上、本開示は、図６の方法の特定の工程を実行する特定の構成要素、デバイス、またはシステムについて記述し、示しているが、本開示は、図６の方法の任意の適切な工程を実行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せを想定している。
【００７９】
検索クエリとともに文法モデルを使用することに関するさらなる情報は、２０１２年１１月１２日に出願された米国特許出願第１３／６７４６９５号において見つけることができ、その米国特許出願は、本願明細書に援用されている。
【００８０】
構造化検索クエリの生成
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、対応する文法のクエリ・トークンをそれぞれが含む１または複数の構造化クエリを生成することができ、それらのクエリ・トークンは、識別されたユーザ・ノード２０２のうちの１もしくは複数、または識別されたエッジ２０６のうちの１もしくは複数に対応する。生成された構造化クエリは、前述のように、１または複数のコンテキストフリー文法によって生成された自然言語文字列に基づく。このタイプの構造化検索クエリは、ソーシャルネットワーキング・システム１６０が、識別されたユーザ・ノード２０２および識別されたエッジ２０６につながっているまたはその他の形で関連しているコンテンツを検索することによって、オンライン・ソーシャル・ネットワークに関連しているリソースおよびコンテンツ（たとえば、プロフィール・ページなど）をさらに効率よく検索することを可能にする。限定ではなく、例として、「僕のガールフレンドの友達を表示してほしい」というテキスト・クエリに応答して、ソーシャルネットワーキング・システム１６０は、「ステファニーの友達」という構造化クエリを生成することができ、この構造化クエリ内の「友達」および「ステファニー」は、特定のソーシャル・グラフ要素に対応する参照である。「ステファニー」への参照は、特定のユーザ・ノード２０２に対応することになり、その一方で「友達」への参照は、そのユーザ・ノード２０２をその他のユーザ・ノード２０２につなげる「友達」エッジ２０６（すなわち、「ステファニーの」一次友達につなげるエッジ２０６）に対応することになる。この構造化クエリを実行する際に、ソーシャルネットワーキング・システム１６０は、「ステファニー」に対応するユーザ・ノード２０２に「友達」エッジ２０６によってつながっている１または複数のユーザ・ノード２０２を識別する。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、複数の構造化クエリを生成することができ、それらの構造化クエリは、別々の識別されたユーザ・ノード２０２または別々の識別されたエッジ２０６への参照を含む。限定ではなく、例として、「ｐｈｏｔｏｓ  ｏｆ  ｃａｔ（ネコの写真）」というテキスト・クエリに応答して、ソーシャルネットワーキング・システム１６０は、「Ｐｈｏｔｏｓ  ｏｆ  Ｃａｔｅｙ（キャティの写真）」という第１の構造化クエリ、および「Ｐｈｏｔｏｓ  ｏｆ  Ｃａｔｈｅｒｉｎｅ（キャサリンの写真）」という第２の構造化クエリを生成することができ、この構造化クエリ内の「Ｐｈｏｔｏｓ（写真）」は、特定のソーシャル・グラフ要素に対応する参照であり、「Ｃａｔｅｙ（キャティ）」および「Ｃａｔｈｅｒｉｎｅ（キャサリン）」は、２つの異なるユーザ・ノード２０２への参照である。本開示は、特定の様式で特定の構造化クエリを生成することについて記述しているが、本開示は、任意の適切な様式で任意の適切な構造化クエリを生成することを想定している。
【００８１】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、識別されたコンセプト・ノード２０４、および識別されたエッジ２０６のうちの１または複数に対応するクエリ・トークンをそれぞれが含む１または複数の構造化クエリを生成する。このタイプの構造化検索クエリは、ソーシャルネットワーキング・システム１６０が、識別されたコンセプト・ノード２０４および識別されたエッジ２０６につながっているまたはその他の形で関連しているコンテンツの検索によって、オンライン・ソーシャル・ネットワークに関連しているリソースおよびコンテンツ（たとえば、プロフィール・ページなど
）をさらに効率よく検索することを可能にする。限定ではなく、例として、「フェースブック（登録商標）に対して「いいね！」を表明している友達」というテキスト・クエリに応答して、ソーシャルネットワーキング・システム１６０は、「フェイスブックに対して「いいね！」を表明している私の友達」という構造化クエリを生成することができ、この構造化クエリ内の「友達」、「に対して「いいね！」を表明している」、および「フェイスブック」は、前述のような特定のソーシャル・グラフ要素（すなわち、「友達」というエッジ２０６、「いいね！を表明する」というエッジ２０６、および「フェイスブック」というコンセプト・ノード２０４）に対応するクエリ・トークンである。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、複数の構造化クエリを生成することができ、それらの構造化クエリは、別々の識別されたコンセプト・ノード２０４または別々の識別されたエッジ２０６への参照を含む。限定ではなく、例として、前述の例を続けると、「フェイスブックに対して「いいね！」を表明している私の友達」という構造化クエリに加えて、ソーシャルネットワーキング・システム１６０は、「フェイスブック・カリナリー・チームに対して“いいね！”を表明している私の友達」という構造化クエリを生成することもでき、この構造化クエリ内の「フェイスブック・カリナリー・チーム」は、さらに別のソーシャル・グラフ要素に対応するクエリ・トークンである。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、生成された構造化クエリをランク付けする。構造化クエリは、さまざまな要因に基づいてランク付けされる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、広告スポンサーシップに基づいて、構造化クエリをランク付けする。広告主（たとえば、特定のノードに対応する特定のプロフィール・ページのユーザまたは管理者など）は、特定のノードのスポンサーになることができ、それによって、そのノードを参照する構造化クエリは、より高くランク付けされることが可能になる。本開示は、特定の様式で特定の構造化クエリを生成することについて記述しているが、本開示は、任意の適切な様式で任意の適切な構造化クエリを生成することを想定している。
【００８２】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、構造化クエリのうちの１または複数を第１のユーザ（すなわち、クエリを行っているユーザ）に送信する。限定ではなく、例として、構造化クエリが生成された後に、ソーシャルネットワーキング・システム１６０は、構造化クエリのうちの１または複数を、たとえば、参照されるソーシャル・グラフ要素の名前（名前文字列）、その他のクエリ制限（たとえば、ブール演算子など）、ならびに潜在的には、参照されるソーシャル・グラフ要素に関連付けられているその他のメタデータを含む（ＡＪＡＸまたはその他の適切な技術を利用する）応答としてユーザのクライアント・システム１３０へ送信する。クエリを行っているユーザのクライアント・システム１３０上のウェブ・ブラウザ１３２は、図４Ａ〜図４Ｂにおいて示されているように、送信された構造化クエリをドロップダウン・メニュー３００内に表示する。特定の実施形態においては、送信されたクエリは、クエリを行っているユーザに、ランク付けされた順序で、たとえば、上述のような以前に決定されたランクなどに基づいて提示される。よりよいランキングを伴う構造化クエリは、より目立つ位置に提示される。さらに、特定の実施形態においては、ランクしきい値を上回る構造化クエリのみが、クエリを行っているユーザに送信または表示される。限定ではなく、例として、図４Ａ〜図４Ｂにおいて示されているように、構造化クエリは、クエリを行っているユーザにドロップダウン・メニュー３００内で提示されることが可能であり、そのドロップダウン・メニュー３００では、より高くランク付けされている構造化クエリが、メニューの上位に提示されることが可能であり、より低くランク付けされている構造化クエリが、メニューを下っていく降順で提示される。図４Ａ〜図４Ｂに示されている例においては、上位７にランク付けされているクエリのみが、ユーザに送信されて表示されている。特定の実施形態においては、構造化クエリ内の１または複数の参照が、特定のソーシャル・グラフ要素に対するその対応を示すために強調表示されること（たとえば、外形を囲まれること、下線を付けること、丸を付けられること、太字にされること、イタリック体にされるこ
と、色を付けられること、明るくされること、ずらされること、大文字にされること）が可能である。限定ではなく、例として、図４Ａ〜図４Ｂにおいて示されているように、「スタンフォード大学」および「カリフォルニア州スタンフォード」への参照は、それが特定のコンセプト・ノード２０４に対応しているということを示すために、構造化クエリ内で強調表示されている（外形を囲まれている）。同様に、ドロップダウン・メニュー３００において提示されている構造化クエリ内の「の友達」、「に対して「いいね！」を表明している」、「に勤務している」、および「に通った」への参照は、それらが特定のエッジ２０６に対応しているということを示すために強調表示されることも可能である。本開示は、特定の様式で特定の構造化クエリを送信することについて記述しているが、本開示は、任意の適切な様式で任意の適切な構造化クエリを送信することを想定している。
【００８３】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、構造化クエリのうちの１つの選択を第１のユーザ（すなわち、クエリを行っているユーザ）から受け取る。あるいは、ソーシャルネットワーキング・システム１６０は、特定のコンテキストにおいてシステムによって自動的に選択されたクエリ（たとえば、デフォルト選択）として、構造化クエリを受け取る。受け取られた構造化クエリ内で参照されているノードおよびエッジは、それぞれ、選択されたノードおよび選択されたエッジと呼ばれる場合がある。限定ではなく、例として、クエリを行っているユーザのクライアント・システム１３０上のウェブ・ブラウザ１３２は、図４Ａ〜図４Ｂにおいて示されているように、送信された構造化クエリをドロップダウン・メニュー３００内に表示することができ、次いでユーザは、そのドロップダウン・メニュー３００をクリックまたはその他の形で（たとえば、自分のキーボード上で単に「ｅｎｔｅｒ（入力）」キーを押すことによって）選択して、ソーシャルネットワーキング・システム１６０に実行してほしいと自分が望んでいる特定の構造化クエリを示す。特定の構造化クエリを選択すると、ユーザのクライアント・システム１３０は、選択された構造化クエリを実行するようソーシャルネットワーキング・システム１６０に呼び出しまたはその他の形で命令する。本開示は、特定の様式で特定の構造化クエリの選択を受け取ることについて記述しているが、本開示は、任意の適切な様式で任意の適切な構造化クエリの選択を受け取ることを想定している。
【００８４】
構造化検索クエリに関するさらなる情報は、２０１２年７月２３日に出願された米国特許出願第１３／５５６０７２号において見つけることができ、その米国特許出願は、本願明細書に援用されている。
【００８５】
検索結果およびスニペットの生成
図７Ａ〜図７Ｇは、例示的な検索結果ページを示している。クエリを行っているユーザ（「第１のユーザ」とも呼ばれる）から受け取られた構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、１または複数の検索結果を生成することができ、その場合、それぞれの検索結果は、構造化クエリの用語にマッチする（または実質的にマッチする）。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、クエリを行っているユーザ（第１のユーザ・ノード２０２に対応する「第１のユーザ」とも呼ばれる）から、構造化クエリを受け取る。その構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、その構造化クエリに対応する１または複数の検索結果を生成する。それぞれの検索結果は、プロフィール・ページへのリンク、およびそのプロフィール・ページ（または、そのページに対応するノード）の記述または概要を含む。それらの検索結果は、検索結果ページとして、クエリを行っているユーザに提示および送信される。図７Ａ〜図７Ｇは、さまざまな構造化クエリに応答して生成されたさまざまな例示的な検索結果ページを示している。特定の検索結果ページを生成するために使用された構造化クエリが、クエリ・フィールド３５０において示されており、その構造化クエリに応答して生成されたさまざまな検索結果が、結果フィールド７１０において示されている。特定の実施形態においては、クエリ・フィールド３５０は、そのページを表
すタイトル・バーとしての役割を果たすこともできる。言い換えれば、タイトル・バー兼クエリ・フィールド３５０は、検索結果ページ上では、事実上、統合されたフィールドである。一例として、図７Ｇは、クエリ・フィールド３５０における「テネシー州出身の私の友達の写真」という構造化クエリを伴う検索結果ページを示している。この構造化クエリは、事実上、生成されたページを表すタイトルとしての役割も果たし、このページは、クエリを行っているユーザのテネシー州出身の友達の複数の写真を示している。この検索結果ページは、修正フィールド７２０、提案される検索フィールド７３０、拡張検索フィールド７４０、またはあいまい性解消フィールド７５０を含むこともできる。これらのさらなるフィールドについて、以降でさらに論じる。検索結果を生成する際に、ソーシャルネットワーキング・システム１６０は、それぞれの検索結果に関する１または複数のスニペットを生成することができ、その場合、それらのスニペットは、検索結果のターゲットに関するコンテキスト情報（すなわち、特定の検索結果に対応するソーシャル・グラフ・エンティティ、プロフィール・ページ、またはその他のコンテンツに関するコンテキスト情報）である。特定の実施形態においては、それぞれの検索結果に関する少なくとも１つのスニペットが、系統スニペットとなり、系統スニペットは、検索結果が、その検索結果を生成するために使用された構造化クエリからの選択されたノードおよび選択されたエッジにどのようにマッチしているかを記述する。これらの系統スニペットは、特定の検索結果が、ソーシャル・グラフ要素に関する構造化クエリの用語をどのように満たしているかに関するコンテキストを提供する。本開示は、特定の検索結果ページについて記述し、示しているが、本開示は、任意の適切な検索結果ページを想定している。本開示は、特定の様式で特定のスニペットを生成することについて記述し、示しているが、本開示は、任意の適切な様式で任意の適切なスニペットを生成することを想定している。
【００８６】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、構造化クエリに対応する１または複数の検索結果を生成する。それらの検索結果は、検索クエリにマッチしているまたは関連している可能性が高いリソースまたはコンテンツ（たとえば、ユーザプロフィール・ページ、コンテンツプロフィール・ページ、または外部リソース）を識別する。特定の実施形態においては、それぞれの検索結果は、ソーシャル・グラフ２００の特定のユーザ・ノード２０２またはコンセプト・ノード２０４に対応する。検索結果は、ノードに関連付けられているプロフィール・ページへのリンク、ならびにノードに関するコンテキスト情報（すなわち、ノードに対応するユーザまたはコンセプトに関するコンテキスト情報）を含む。限定ではなく、例として、図７Ｂを参照すると、クエリ・フィールド３５０における「フェイスブックで働いている私の友達」という構造化クエリが、結果フィールド７１０において示されているさまざまな検索結果を生成した。結果フィールド７１０におけるそれぞれの検索結果は、ユーザのプロフィール・ページへのリンク（ユーザの名前として示されており、プロフィール・ページへのインライン・リンクを含んでいる）、およびソーシャル・グラフ２００のユーザ・ノード２０２に対応するそのユーザに関するコンテキスト情報を示している。限定ではなく、別の例として、図７Ｇを参照すると、クエリ・フィールド３５０における「テネシー州出身の私の友達の写真」という構造化クエリが、結果フィールド７１０において示されているさまざまな検索結果を生成した。図７Ｇにおいて示されているそれぞれの検索結果は、ソーシャル・グラフのコンセプト・ノード２０４に対応する写真のサムネイルを示している。特定の実施形態においては、それぞれの検索結果は、構造化クエリの選択されたエッジのうちの１または複数によって、選択されたノードのうちの１または複数につながっているノードに対応する。限定ではなく、例として、図２を参照すると、ユーザ「Ｃ」が、友達タイプのエッジ２０６、および「オールド・プロ」というロケーションのコンセプト・ノード２０４を参照する、「オールド・プロに対して「いいね！」を表明している友達」という構造化クエリをサブミットした場合には、ソーシャルネットワーキング・システム１６０は、ユーザ「Ｂ」に対応する検索結果を返す。なぜなら、ユーザ「Ｂ」のユーザ・ノード２０２は、友達タイプのエッジ２０６によってユーザ「Ｃ」のユーザ・ノード２０２につながっており、
そしてまた、「いいね！」タイプのエッジ２０６によって「オールド・プロ」というロケーションのコンセプト・ノード２０４につながっているためである。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、構造化クエリに応答して、広告またはその他のスポンサー付きコンテンツをクライアント・システム１３０へ送信することもできる。それらの広告は、検索結果の一部として、または別途、含まれる。それらの広告は、検索結果において参照されているオブジェクトのうちの１または複数に対応する。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、特定のリソースまたはコンテンツを識別する１または複数の検索結果を、それらのリソースまたはコンテンツに関連付けられているユーザに関連付けられているプライバシー設定に基づいて除外する。本開示は、特定の様式で特定の検索結果を生成することについて記述しているが、本開示は、任意の適切な様式で任意の適切な検索結果を生成することを想定している。
【００８７】
特定の実施形態においては、検索結果は、１または複数のスニペットを含む。スニペットとは、検索結果のターゲットに関するコンテキスト情報である。言い換えれば、スニペットは、検索結果に対応するそのページまたはコンテンツに関する情報を提供する。限定ではなく、例として、スニペットは、検索結果に対応するプロフィール・ページ（またはノード）からのコンテンツのサンプルである。スニペットは、任意の適切なタイプのコンテンツに関する検索結果とともに含まれる。特定の実施形態においては、検索結果とともに表示されるスニペットは、その検索結果に対応するコンテンツのタイプに基づく。限定ではなく、例として、クエリを行っているユーザが、ユーザを検索している場合には、検索結果とともに含まれるスニペットは、ユーザの年齢、ロケーション、教育、または雇用主のような、検索結果において表示されるユーザに関するコンテキスト情報である。限定ではなく、別の例として、クエリを行っているユーザが、写真を検索している場合には、検索結果とともに含まれるスニペットは、写真内の人々もしくはオブジェクトの名前、写真の「いいね！」／閲覧の数、または写真が撮影されたロケーションのような、検索結果において表示される写真に関するコンテキスト情報である。限定ではなく、さらに別の例として、クエリを行っているユーザが、ロケーションを検索している場合には、検索結果とともに含まれるスニペットは、ロケーションの住所、ロケーションの営業時間、またはロケーションの「いいね！」／チェックインの数のような、検索結果において表示されるロケーションに関するコンテキスト情報である。スニペットにおいて提供される情報は、ターゲット・ページの所有者／管理者によって選択されることが可能であり、またはソーシャルネットワーキング・システム１６０によって自動的に選択される。スニペットは、イメージ・サムネイル、概要、ドキュメント・タイプ、ページ・ビュー、コメント、日付、著者、評価、価格、またはその他の関連情報など、検索結果に関する鍵となる情報を表示するために使用される。特定の実施形態においては、オンライン・ソーシャル・ネットワーク内のユーザ／コンセプトに対応する検索結果に関するスニペットは、オンライン・ソーシャル・ネットワークのユーザによって提供される、またはその他の形でオンライン・ソーシャル・ネットワーク上で利用可能なコンテキスト情報を含む。限定ではなく、例として、スニペットは、次のタイプの情報、すなわち、グループのプライバシー設定、グループ内のメンバーの数、スポンサー付きメッセージ（たとえば、スニペットとしてレンダリングされるインライン広告ユニット）、ページ・カテゴリ、物理アドレス、経歴の詳細、関心、交際状態、性的指向／好み、性／性別、年齢、生年月日、現住所、学歴、政治的所属、宗教的信仰、職歴、使用したアプリケーション、コメント、タグ、その他の適切なコンテキスト情報、またはそれらの任意の組合せのうちの１または複数を含む。特定の実施形態においては、スニペットは、ソーシャル・グラフ２００からのノードまたはエッジへの参照を含む。これらのスニペットは、その参照がソーシャル・グラフ要素に対応するということを示すために強調表示される。限定ではなく、例として、図７Ｆは、「ソル」というユーザに関する検索結果を示しており、その検索結果に関するスニペットのうちの１つが、「レポサド、ザ・スランテッド・ドア、およびその他１２個に対して「いいね
！」を表明している」である。「レポサド」および「ザ・スランテッド・ドア」という用語は両方とも、この例においては強調表示されて（下線付きで）、それらが、「レポサド」および「ザ・スランテッド・ドア」というコンセプトに対応するコンセプト・ノード２０４への参照であるということを示しており、それらは、「ソル」というユーザによって「いいね！」を表明されているレストランである（すなわち、「ソル」を表すユーザ・ノード２０２は、「いいね！」タイプのエッジ２０６によって、「レポサド」および「ザ・スランテッド・ドア」を表すコンセプト・ノード２０４につながっている）。この例における強調表示された参照はまた、「レポサド」および「ザ・スランテッド・ドア」に対応するコンセプトプロフィール・ページへのインライン・リンクを含んでいる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、検索結果に関する１または複数のスニペットを、その検索結果によって識別されたユーザに関連付けられているプライバシー設定に基づいて除外する。本開示は、特定のタイプのスニペットについて記述しているが、本開示は、任意の適切なタイプのスニペットを想定している。
【００８８】
特定の実施形態においては、検索結果は、構造化検索クエリの選択されたノードおよび選択されたエッジへの１または複数の参照を含む少なくとも１つのスニペットを含む。言い換えれば、構造化検索クエリに応答して、ソーシャルネットワーキング・システム１６０は、検索結果を、その検索結果が検索クエリにどのようにマッチしているかに関連したコンテキスト情報を提供するスニペットとともに生成する。これらは、特定の検索結果が、構造化クエリのソーシャル・グラフ要素にどのように関連しているかをコンテキストに当てはめるソーシャル・グラフ情報（ノード／エッジ関係情報）を提供するので、系統スニペットと呼ばれる場合がある。言い換えれば、系統スニペットは、特定の検索結果が、構造化クエリを満たしているという証明を、クエリを行っているユーザに提供する方法である。限定ではなく、例として、図７Ｄは、「ソフトウェア・エンジニアとしてフェイスブックで働き、およびＡｃｍｅで働く私の友達」という構造化クエリに関する検索結果ページを示している。この構造化クエリ内で参照されているソーシャル・グラフ要素は、「私の友達」（すなわち、友達タイプのエッジ２０６によって、クエリを行っているユーザのノードにつながっているユーザ・ノード２０２）、「フェイスブックで働いている（すなわち、「で働いている」タイプのエッジ２０６によって、「フェイスブック」を表すコンセプト・ノード２０４につながっているユーザ・ノード２０２）、および「Ａｃｍｅに勤務している」（すなわち、「で働いている」タイプのエッジ２０６によって、「Ａｃｍｅ」を表すコンセプト・ノード２０４につながっているユーザ・ノード２０２）を含んでいる。「ルーク」に関して図７Ｄにおいて示されている第１の検索結果は、「フェイスブックのエンジニアリングのディレクター」と記述しているスニペットを含んでおり、これは、構造化クエリからの「フェイスブックで働いている」というトークンに対応している。したがって、このスニペットは、「ルーク」に関する検索結果が、構造化クエリの「フェイスブックで働いている」という要件を満たしているということを示している。なぜなら、「ルーク」は、「フェイスブックのエンジニアリングのディレクター」であるためである。「ルーク」の検索結果におけるその他のスニペットは、その検索結果が、構造化クエリのその他の基準をどのように満たしているかを示すさらなるコンテキストを提供している。言い換えれば、「ルーク」を表すユーザ・ノード２０２は、「働いた」タイプのエッジ２０６によって、「フェイスブック」を表すコンセプト・ノード２０４につながっている。特定の実施形態においては、系統スニペットは、次のタイプのソーシャル・グラフ情報、すなわち、通った学校、勤務した先、「いいね！」を表明したページ、使用したアプリ、サブスクライブしている先、サブスクライブされている相手、家族関係、関係のつながり（結婚した相手、交際中など）、住んでいる場所／その近辺、チェックインした場所、訪問した場所、あるロケーションに住んでいる友達の数、あるロケーションにおいて学んでいる友達の数、あるグループのメンバーである友達、「いいね！」の数、あるページに関して話している人々の数、サブスクライバの数、あるアプリケーションを使用している友達、あるアプリケーションのユーザの数、メディアにおいてタグ付けされている人
々、メディアの上で／中でコメントした人々、メディアを作成した人々、その他の適切なソーシャル・グラフ情報、またはそれらの任意の組合せのうちの１または複数を含む。特定の実施形態においては、系統スニペットにおける選択されたノードまたは選択されたエッジへの参照のうちの１または複数は、その参照が、選択されたノードまたは選択されたエッジに対応しているということを示すために強調表示される。本開示は、特定のタイプの系統スニペットについて記述しているが、本開示は、任意の適切なタイプの系統スニペットを想定している。
【００８９】
特定の実施形態においては、検索結果は、１または複数のエッジ２０６によって、クエリを行っているユーザのユーザ・ノード２０２につながっている１または複数のノードへの参照を含むスニペットを含む。言い換えれば、検索結果は、その検索結果が、クエリを行っているユーザの友達にどのように関連しているか、またはそのユーザにつながっているコンセプト・ノード２０４にどのように関連しているかに関するコンテキスト情報とともにスニペットを含む。これらは、特定の検索結果が、クエリを行っているユーザおよび／またはそのユーザの友達／関心にどのようにつながっているかをコンテキストに当てはめるソーシャル・グラフ情報（ノード−エッジ関係情報）を提供するので、ソーシャル・スニペットと呼ばれる場合がある。限定ではなく、例として、図７Ｄは、「ソフトウェア・エンジニアとしてフェイスブックで働いている、およびＡｃｍｅで働いている私の友達」という構造化クエリに関する検索結果ページを示している。「ルーク」に関して図７Ｄにおいて示されている第１の検索結果は、「２００９年４月以来のあなたの友達」と記述しているスニペットを含んでいる。このスニペットは、「ルーク」の検索結果が、クエリを行っているユーザにどのように関連しているかに関するコンテキスト情報を提供する。言い換えれば、「ルーク」を表すユーザ・ノード２０２は、友達タイプのエッジ２０６によって、クエリを行っているユーザのノードにつながっている。「ルーク」の検索結果はまた、「ソルおよびスティーブンを含めて、共通の友達１９７人」と記述しているスニペットを含んでいる。このスニペットは、「ルーク」の検索結果が、クエリを行っているユーザにつながっているその他のノードにどのように関連しているかに関するコンテキスト情報を提供する。言い換えれば、クエリを行っているユーザのユーザ・ノード２０２、および「ルーク」を表すユーザ・ノード２０２は両方とも、友達タイプのエッジ２０６によって同じ１９７個のユーザ・ノード２０２につながっている。特定の実施形態においては、検索結果は、マルチレベル系統スニペットを含む。マルチレベル系統スニペットは、そのスニペットにおけるユーザまたはコンセプトの参照が、構造化クエリからのクエリ・トークンにどのように関連しているかに関するコンテキスト情報を提供する。これは、複雑な構造化クエリに応答して使用される。限定ではなく、例として、ユーザ「Ａ」およびユーザ「Ｄ」は、（彼らが兄弟であるということを示す）兄弟タイプのエッジ２０６によってソーシャル・グラフ２００においてつながっている。「Ａｃｍｅの従業員の兄弟である人々を表示してほしい」と表している構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、ユーザ「Ａ」に関する検索結果を、「ユーザＤの兄弟。ユーザＤは、Ａｃｍｅのソフトウェア・エンジニアである」と記述するスニペットとともに生成する。このスニペットは、ユーザ「Ａ」の検索結果がユーザ「Ｄ」にどのように関連しているか（彼らは兄弟であり、兄弟タイプのエッジ２０６によってつながっている）、およびユーザ「Ｄ」が「Ａｃｍｅ」にどのように関連しているか（ユーザ「Ｄ」は、「働いた」タイプのエッジ２０６によって「Ａｃｍｅ」につながっている）に関するコンテキスト情報を提供する。本開示は、特定のタイプのソーシャル・スニペットについて記述しているが、本開示は、任意の適切なタイプのソーシャル・スニペットを想定している。
【００９０】
特定の実施形態においては、検索結果は、カスタマイズされた構造化クエリを含むスニペットを含む。これは、たとえば、スニペット内のインライン・リンクとして提示される。次いで、クエリを行っているユーザは、カスタマイズされた構造化クエリのうちの１回をクリックまたはその他の形で選択して、そのクエリをソーシャルネットワーキング・シ
ステム１６０へ送信できる。特定の実施形態においては、カスタマイズされた構造化クエリは、関連付けられている検索結果に基づいてカスタマイズされることが可能であり、それによって、カスタマイズされた構造化クエリは、検索結果に対応するノードへの参照（および、その他のソーシャル・グラフ要素への可能な参照を含む。限定ではなく、例として、図７Ａを参照すると、「ポール」に関する検索結果は、「彼の写真、友達、関心をブラウズする」と書かれているスニペットを含んでおり、この場合、「写真」、「友達」、および「関心」はそれぞれ、「ポールの写真」（すなわち、「〜においてタグ付けされている」タイプのエッジ２０６によって「ポール」のユーザ・ノード２０２につながっている写真のコンセプト・ノード２０４）、「ポールの友達」、および「ポールの関心」（すなわち、「〜に関心がある」タイプのエッジ２０６によって「ポール」のユーザ・ノードにつながっているコンセプト・ノード２０４）をそれぞれ検索するためのカスタマイズされた構造化クエリである。特定の実施形態においては、カスタマイズされた構造化クエリは、関連付けられている検索結果、および元の構造化クエリ（すなわち、その検索結果を生成するために使用された構造化クエリ）からの選択されたノード／エッジに基づいてカスタマイズされる。そして、これらのカスタマイズされた構造化クエリは、検索結果に対応するノードへの参照、および元の構造化クエリからの選択されたノードおよび選択されたエッジへの参照を含むことになる。これらは、系統スニペットのような、元の構造化クエリからのソーシャル・グラフ要素、ならびに検索結果に対応するノードに基づくものであり、したがって、検索結果に基づいてクエリに対してピボッティングを行うので、系統ピボット・スニペットと呼ばれる場合がある。限定ではなく、例として、図７Ａを再び参照すると、「現在フェイスブックで働いており、一輪車に乗ることに対して「いいね！」を表明している人々」という構造化クエリが、結果フィールド７１０において示されている検索結果を生成した。「トム」に関する検索結果は、「一輪車に乗ることに対して「いいね！」を表明しているトムの友達」という構造化クエリとともにスニペットを含むことができ、したがって、検索結果のユーザ・ノード２０２（すなわち、「トム」のユーザ・ノード２０２）、ならびに、元の構造化クエリからの選択されたノードおよび選択されたエッジ（すなわち、「いいね！」タイプのエッジ２０６によってつながっている「一輪車に乗ること」を表すコンセプト・ノード２０４）の両方を参照している。限定ではなく、別の例として、図７Ｆを参照すると、「カリフォルニア州パロアルトのメキシコ料理店に対して「いいね！」を表明している人々」という構造化クエリが、結果フィールド７１０において示されている検索結果を生成した。「ソル」に関する検索結果は、「レポサド、ザ・スランテッド・ドア、およびその他１２個に対して「いいね！」を表明している」というスニペットを含んでおり、この場合、「レポサド」および「ザ・スランテッド・ドア」は両方とも、パロアルトにある特定のメキシコ料理店を表すコンセプト・ノード２０４への参照である。同様に、「その他１２個」への参照は、「ソルによって「いいね！」を表明されているカリフォルニア州パロアルトにあるメキシコ料理店」という構造化クエリに関するインライン・リンクであることが可能であり、したがって、検索結果のユーザ・ノード２０２（すなわち、「ソル」のユーザ・ノード２０２）、ならびに、元の構造化クエリからの選択されたノードおよび選択されたエッジ（すなわち、「カリフォルニア州パロアルト」を表すコンセプト・ノード２０４、および「いいね！」タイプのエッジ２０６）の両方を参照している。本開示は、カスタマイズされた構造化クエリとともに特定のスニペットを生成することについて記述しているが、本開示は、カスタマイズされた構造化クエリとともに任意の適切なスニペットを生成することを想定している。
【００９１】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、検索結果に対応する１または複数のスニペット（または、その検索結果のターゲットであるノードもしくはプロフィール・ページに対応するスニペット）をスコア付けする。構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、そのクエリに対応するノードを識別することができ、次いで、これらの識別されたノードのそれぞれに対応する１または複数のスニペットにアクセスする。次いで、ソーシャルネットワーキング・シス
テム１６０は、それぞれの検索結果に関して、その検索結果に対応するスニペットのそれぞれに関するスコアを決定する。検索結果を生成する際には、スニペットスコアしきい値よりも高いスコアを有するスニペットのみが検索結果内に含まれる。そのスコアは、たとえば、信頼スコア、確率、質、ランキング、別の適切なタイプのスコア、またはそれらの任意の組合せである。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、それぞれのスニペットに関するランキングを決定することができ、この場合、上位５つにランク付けされたスニペットのみが、特定の検索結果内に含まれる。あるいは、ソーシャルネットワーキング・システム１６０は、それぞれのスニペットをスコア付けすること、および、スコアによってランク付けされた順序で提示されたすべての利用可能なスニペットを検索結果とともに含むこと（場合によっては、ランキングしきい値を無視して、より多くの数のスニペットを検索結果とともに表示すること）が可能である。さらに、別々の検索結果は、別々の数のスニペットを含む。たとえば、第１の検索結果が、その第１の検索結果に関連付けられている２個のスニペットを有しているだけである場合があり、かつ両方のスニペットは、スコアによってランク付けされた順序で表示される場合があり、その一方で、第２の検索結果が、その第２の検索結果に関連付けられている９個のスニペットを有している場合があり、かつすべての９個のスニペットは、スコアによってランク付けされた順序で表示される場合がある。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、スニペットに関するスコアを、構造化クエリに対するそのスニペットのソーシャル関連度に基づいて決定する。クエリを行っているユーザにさらに密接につながっているまたはその他の形で関連しているソーシャル・グラフ要素を参照するスニペットは、クエリを行っているユーザにさほど密接につながっていないまたはその他の形であまり関連していないソーシャル・グラフ要素を参照するスニペットよりも高くスコア付けされる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、スニペットに関するスコアを、構造化クエリに対するそのスニペットのテキストの関連度に基づいて決定する。特定のスニペットのテキストの関連度は、その特定のスニペット内の用語および用語の数が、クエリを行っているユーザから受け取られたテキスト・クエリにどのようにマッチしているかに基づく。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、スニペットに関するスコアを、クエリを行っているユーザに関連付けられている検索履歴に基づいて決定する。クエリを行っているユーザが以前にアクセスしたことがあるソーシャル・グラフ要素、またはクエリを行っているユーザが以前にアクセスしたことがあるノード／プロフィール・ページに関連しているソーシャル・グラフ要素を参照するスニペットは、ユーザの構造化クエリに関連している可能性がより高い場合がある。したがって、これらのスニペットには、より高い相対的なスコアが与えられる。限定ではなく、例として、クエリを行っているユーザが、「独身である、僕の女友達」を以前に検索したことがある場合には、ソーシャルネットワーキング・システム１６０は、クエリを行っているユーザが、彼が検索している人々の交際状態に関心があるということを決定する。これは、クエリ内の「独身である」というクエリ修飾語句に起因しており、このクエリ修飾語句は、「独身」という交際状態を有しているユーザを検索することになる。したがって、その後のクエリ（たとえば、図７Ｅにおいて示されているような、「スタンフォード大学に通っていたフェイスブックのエンジニア」）に応答して、ソーシャルネットワーキング・システム１６０は、検索結果の交際状態を示すスニペットを、その他のスニペットよりも高くスコア付けする。これは、そのタイプのコンテキスト情報に対するクエリを行っているユーザの関心の履歴に起因している（したがって、図７Ｅにおいて示されている検索結果は、たとえば「交際中」または「結婚している」など、それぞれの検索結果に関する関係ステータスを示すスニペットをより高くスコア付けしている場合がある）。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、スニペットに関するスコアを、検索のカテゴリに基づいて決定する。検索は、その検索の主題であるコンテンツのタイプに基づいて分類される。検索されているコンテンツのタイプにさらに関連しているスニペットは、あまり関連していないスニペットよりも高くスコア付けされる。限定ではなく、例として、ユーザを検索
している場合には、そのユーザに関する個人情報（たとえば、ロケーション、交際状態など）を含むスニペットは、その他のタイプのスニペットよりも高くスコア付けされる。なぜなら、個人情報は、その他のユーザを検索しているクエリを行っているユーザにさらに関連しているとみなされる場合があるためである。限定ではなく、別の例として、コンセプトを検索している場合には、そのコンセプトに関するソーシャル・グラフ情報（たとえば、サブスクライバ／ファンの数、「いいね！」の数、チェックイン／レビューの数など）を含むスニペットは、その他のタイプのスニペットよりも高くスコア付けされる。なぜなら、ソーシャル・グラフ情報は、コンセプトを検索しているクエリを行っているユーザにさらに関連している場合があるためである。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、スニペットに関するスコアを、広告スポンサーシップに基づいて決定する。広告主（たとえば、特定のノードに対応する特定のプロフィール・ページのユーザまたは管理者など）は、特定のノードのスポンサーになることができ、それによって、そのノードを参照するスニペットは、より高くスコア付けされることが可能になる。本開示は、特定の様式でスニペットをスコア付けすることについて記述しているが、本開示は、任意の適切な様式でスニペットをスコア付けすることを想定している。
【００９２】
図８は、検索結果およびスニペットを生成するための例示的な方法８００を示している。この方法は、工程８１０において開始され、工程８１０では、ソーシャルネットワーキング・システム１６０が、複数のノードと、それらのノード同士をつなげる複数のエッジ２０６とを含むソーシャル・グラフ２００にアクセスする。それらのノードは、第１のユーザ・ノード２０２、および複数の第２のノード（１または複数のユーザ・ノード２０２、コンセプト・ノード２０４、またはそれらの任意の組合せ）を含む。工程８２０において、ソーシャルネットワーキング・システム１６０は、複数の第２のノードから選択された１または複数のノードおよび複数のエッジから選択された１または複数のエッジへの参照を含む構造化クエリを第１のユーザから受け取る。工程８３０において、ソーシャルネットワーキング・システム１６０は、構造化クエリに対応する検索結果を生成する。それぞれの検索結果は、複数の第２のノードのうちの１つの第２のノードに対応する。さらに、それぞれの検索結果は、その検索結果に対応する第２のノードに関するコンテキスト情報の１または複数のスニペットを含む。それぞれの検索結果の少なくとも１つのスニペットは、構造化クエリの選択されたノードおよび選択されたエッジへの１または複数の参照を含む。特定の実施形態は、適切な場合には、図８の方法の１または複数の工程を繰り返す。本開示は、図８の方法の特定の工程同士を、特定の順序で生じるものとして記述し、示しているが、本開示は、任意の適切な順序で生じる図８の方法の任意の適切な工程同士を想定している。その上、本開示は、図８の方法の特定の工程を実行する特定の構成要素、デバイス、またはシステムについて記述し、示しているが、本開示は、図８の方法の任意の適切な工程を実行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せを想定している。
【００９３】
構造化検索クエリの修正
前述したように、図７Ａ〜図７Ｇは、例示的な検索結果ページを示している。特定の検索結果ページを生成するために使用された構造化クエリが、クエリ・フィールド３５０において示されており、その構造化クエリに応答して生成されたさまざまな検索結果が、結果フィールド７１０において示されている。クエリを行っているユーザから受け取られた構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、そのクエリに対して絞り込みまたはピボッティングを行うために使用される１または複数のクエリ修正を生成する。それらのクエリ修正は、特定のソーシャル・グラフ要素を参照して、クエリを行っているユーザが、構造化クエリ内で参照されているソーシャル・グラフ要素に追加または置換を行うことを可能にする。特定の実施形態においては、１または複数のクエリ修正は、検索結果ページ上で、修正フィールド７２０、提案される検索フィールド７３０、拡張検索フィールド７４０、またはあいまい性解消フィールド７５０内に提示される
。クエリ修正は、構造化クエリにさらなる用語を追加することによって、そのクエリに対して絞り込みを行う、またはそれを狭めるために使用される。一般には、構造化クエリにさらなる用語を追加すると、そのクエリによって生成される検索結果の数は少なくなる。限定ではなく、例として、「スタンフォード大学に通っている私の友達」という構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、「私の友達」という用語に対するクエリ修正、たとえば、検索結果を性別によってフィルタリングするための「私の［男性の／女性の］友達」、または検索結果を交際状態によってフィルタリングするための「私の［独身の／結婚している］友達」などを生成する。クエリ修正は、そのクエリの１または複数の用語を変更することによって、構造化クエリに対してピボッティングを行う、またはそれを広げるために使用されることも可能である。限定ではなく、例として、「フェイスブックで働いている私の友達」という構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、「Ａｃｍｅで働いている」というクエリ修正を生成することができ、このクエリ修正は、「フェイスブックで働いている」という用語に取って代わり、それによって、ユーザの１つのセットを検索することから、別のセットを検索することへと、クエリに対してピボッティングを行う。これらの提案されるクエリ修正を、クエリを行っているユーザに提供することによって、ソーシャルネットワーキング・システム１６０は、ユーザがまさに自分が探しているものを検索するための強力な方法を提供する。クエリを行っているユーザによってクエリ修正が選択されると、適切な文法を使用して新たな構造化クエリが生成されることが可能であり、それによって、その新たな構造化クエリも、自然言語シンタックスを使用してレンダリングされる。ソーシャルネットワーキング・システム１６０は、検索結果ページ上に表示される代替の構造化クエリを生成することもできる。これらの代替の構造化クエリは、提案されるクエリ、広げるクエリ、およびあいまい性解消クエリを含み、これらについては、以降でさらに記述する。本開示は、特定の様式でクエリ修正を生成することについて記述しているが、本開示は、任意の適切な様式でのクエリ修正を想定している。その上、本開示は、特定の様式でユーザにクエリ修正を提示することについて記述しているが、本開示は、任意の適切な様式でユーザにクエリ修正を提示することを想定している。
【００９４】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、１または複数のクエリ修正を生成する。それらのクエリ修正は、第１の構造化クエリを受け取ったことに応答して生成されることが可能であり、それによって、それらのクエリ修正は、第１の構造化クエリを修正するために使用される。クエリ修正は、検索クエリを修正するために使用される任意のタイプの用語である。たとえば、クエリ修正は、テキスト文字列、ｎグラム、終端／クエリ・トークン、値、プロパティー、クエリ演算子、別の適切なタイプの用語、またはそれらの任意の組合せである。特定の実施形態においては、クエリ修正は、カテゴリ別に編成される。限定ではなく、例として、図７Ａにおいて示されている修正フィールド７２０は、「雇用主」、「学校」、「現住所」、「出身地」、「交際状態」、「関心」、「友達関係」、「性別」、「名前」、および「いいね！」に関するクエリ修正を示している。特定の実施形態においては、クエリ修正は、検索結果ページの一部として、クエリを行っているユーザへ送信される。限定ではなく、例として、図７Ｄ、図７Ｅ、および図７Ｆにおいて示されている検索結果ページはすべて、修正フィールド７２０内のドロップダウン・メニューにおいて表示されているクエリ修正のリストを示している。これらのドロップダウン・メニューにおいてリストアップされているクエリ修正は、検索フィールド３５０において表示されている構造化クエリ内の用語に追加または置換を行うために使用される。特定の実施形態においては、カスタマイズされたクエリ修正が、タイプ・アヘッド・プロセスに関連して生成される。事前に生成されたクエリ修正のリストから選択を行うことよりもむしろ、ユーザは、テキスト文字列を入力することができ、タイプ・アヘッド・プロセスは、入力されたテキスト文字列から、ｎグラムのうちの１または複数に対応するソーシャル・グラフ要素を識別する。次いで、ソーシャルネットワーキング・システム１６０は、１または複数の可能なマッチを提示する。限定ではなく、例と
して、図７Ｅは、クエリを行っているユーザが、修正フィールド７２０における「学校」カテゴリに関する入力フィールド内に「ハーバード」という文字列を入力しているところを示している。それに応答して、タイプ・アヘッド・プロセスは、数ある中でも、「ハーバード」、「ハーバード・ロー・スクール」、および「ハーバードウェストレイク」を含めて、いくつかの可能なマッチしているクエリ修正を生成している。ドロップダウン・メニューにおいて表示されているこれらのリストアップされている学校は、これらの学校に対応するソーシャル・グラフ２００内のコンセプト・ノード２０４への参照である。本開示は、クエリ修正の特定のカテゴリについて記述し、示しているが、本開示は、クエリ修正の任意の適切なカテゴリを想定している。
【００９５】
特定の実施形態においては、クエリ修正は、ソーシャル・グラフ２００からの１もしくは複数の修正ノードまたは１もしくは複数の修正エッジへの参照を含む。修正ノードまたは修正エッジは、第１の構造化クエリ内のノードまたはエッジへの参照に追加または置換を行うために使用される。次いで、クエリを行っているユーザは、第１の構造化クエリに修正ノード／エッジを追加するために、または、構造化クエリ内のノード／エッジを、修正ノード／エッジのうちの１もしくは複数と置換することによって、これらのクエリ修正のうちの１または複数を選択する。限定ではなく、例として、図７Ｄは、「ソフトウェア・エンジニアとしてフェイスブックで働いており、およびＡｃｍｅで働いている私の友達」という構造化クエリによって生成された例示的な検索結果ページを示している。クエリを行っているユーザは、この検索クエリによって識別されるユーザたちが通っていた学校を指定することによっても、検索に対して絞り込みを行いたいと望むかもしれない。学校を指定するために、クエリを行っているユーザは、図７Ｄにおいて示されているように、「学校」というドロップダウン・メニューをクリックすることができ、そのドロップダウン・メニューは、ソーシャルネットワーキング・システム１６０によって生成されたクエリ修正のリストを表示する。このケースにおいては、図７Ｄにおけるドロップダウン・メニューは、数ある中でも、「スタンフォード大学」、「メンロー＝アザートン・ハイ・スクール」、および「カリフォルニア大学バークレー校」という学校をリストアップしている。ドロップダウン・メニューにおいて表示されているこれらのリストアップされている学校は、これらの学校に対応するソーシャル・グラフ２００内のコンセプト・ノード２０４への参照である。次いで、クエリを行っているユーザは、参照されている学校を、構造化クエリに追加するために、これらのクエリ修正のうちの１または複数を選択することができ、それにより、検索結果を学校によってフィルタリングする。クエリを行っているユーザからの選択に応答して、ソーシャルネットワーキング・システム１６０は、構造化クエリを、選択された学校への参照を含むように修正する。限定ではなく、別の例として、図７Ｂは、「フェイスブックで働いている私の友達」という構造化クエリによって生成された例示的な検索結果ページを示している。「私の友達」への参照は、友達タイプのエッジ２０６によって、クエリを行っているユーザにつながっているユーザ・ノード２０２に対応しており、その一方で、「フェイスブック」への参照は、「フェイスブック」という会社を表すコンセプト・ノード２０４に対応している。構造化クエリ内の特定のノードおよびエッジへのこれらの参照は、図７Ｂにおいて示されている修正フィールド７２０内に示されており、この場合、「雇用主」に関するカテゴリは、既に「フェイスブック」という用語を選択されており、その一方で、「友達関係」に関するカテゴリは、既に「私の友達」という用語を選択されている。しかしながら、クエリを行っているユーザは、検索に対してピボッティングを行い、代わりに別の会社における友達を検索したいと望むかもしれない。クエリを修正するために、クエリを行っているユーザは、「雇用主」カテゴリを選択して、参照を「フェイスブック」から別の会社、たとえば「Ａｃｍｅ」などに変更する。クエリを行っているユーザが、「雇用主」カテゴリを選択すると、ソーシャルネットワーキング・システム１６０は、そのカテゴリ用に生成されているクエリ修正のリストを表示する。クエリを行っているユーザからの選択に応答して、ソーシャルネットワーキング・システム１６０は次いで、構造化クエリを修正して、「フェイスブック」への参照を
、「Ａｃｍｅ」への参照と置換し（それによって、新たな構造化クエリは、「Ａｃｍｅで働いている私の友達」となり）、それにより、友達の１つのセットから別のセットへと、検索に対してピボッティングを行う。本開示は、特定の様式で特定のクエリ修正を使用することについて記述しているが、本開示は、任意の適切な様式で任意の適切なクエリ修正を使用することを想定している。
【００９６】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、クエリ修正のうちの１または複数の選択に応答して、第２の構造化クエリを生成する。クエリを行っているユーザは、修正フィールド７２０において示されているメニューからクエリ修正のうちの１または複数を、たとえば、特定のクエリ修正をクリックまたはその他の形で選択することによって、選択する。特定の実施形態においては、クエリ修正は、第１の構造化クエリに関する追加のノードまたは追加のエッジを参照する。このケースにおいては、ソーシャルネットワーキング・システム１６０は、第１の構造化クエリからの選択されたノードおよび選択されたエッジ、ならびに、選択されたクエリ修正内で参照されているそれぞれの修正ノードまたは修正エッジへの参照を含む第２の構造化クエリを生成する。限定ではなく、例として、「サンノゼ在住の私の友達」という第１の構造化クエリに関して、ソーシャルネットワーキング・システム１６０は、（「で働いていた」タイプのエッジ２０６による、「Ａｃｍｅ」を表すコンセプト・ノード２０４へのつながりを参照している）「Ａｃｍｅで働いている」というクエリ修正を受け取る。次いで、ソーシャルネットワーキング・システム１６０は、「Ａｃｍｅで働いているサンノゼ在住の私の友達」という第２の構造化クエリを生成することができ、この第２の構造化クエリは、クエリ修正内で参照されている追加のノードおよび追加のエッジを取り入れている。特定の実施形態においては、クエリ修正は、第１の構造化クエリに関する代替ノードまたは代替エッジを参照する。このケースにおいては、ソーシャルネットワーキング・システム１６０は、第１の構造化クエリからの選択されたノードおよび選択されたエッジへの参照を含む（ただし、代替ノードへのそれぞれの参照が、第１の構造化クエリの選択されたノードへの参照に取って代わるという点を除く）第２の構造化クエリを生成する。同様に、代替エッジへのそれぞれの参照は、第１の構造化クエリの選択されたエッジへの参照に取って代わる。限定ではなく、例として、「サンノゼ在住の私の友達」という第１の構造化クエリに関して、ソーシャルネットワーキング・システム１６０は、（「〜在住の」タイプのエッジ２０６による、「サンフランシスコ」という都市を表すコンセプト・ノード２０４へのつながりを参照している）「サンフランシスコ在住の」というクエリ修正を受け取る。次いで、ソーシャルネットワーキング・システム１６０は、「サンフランシスコ在住の私の友達」という第２の構造化クエリを生成することができ、この第２の構造化クエリは、第１の構造化クエリからの「サンノゼ在住の」という選択されたノード／エッジへの参照を、「サンフランシスコ在住の」という代替ノード／エッジと置換している。本開示は、特定の様式で特定の修正された構造化クエリを生成することについて記述しているが、本開示は、任意の適切な様式で任意の適切な修正された構造化クエリを生成することを想定している。
【００９７】
特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、第１の構造化クエリに関する１または複数のクエリ修正をスコア付けする。構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、構造化クエリを修正するために使用される１または複数のクエリ修正を識別する。次いで、ソーシャルネットワーキング・システム１６０は、識別されたクエリ修正のそれぞれに関するスコアを決定する。クエリを行っているユーザへ送信するためのクエリ修正のセットを生成する際には、クエリ修正スコアしきい値よりも高いスコアを有するクエリ修正のみが、実際に送信されるクエリ修正のセット内に含まれる。そのスコアは、たとえば、信頼スコア、確率、質、ランキング、別の適切なタイプのスコア、またはそれらの任意の組合せである。限定ではなく、例として、ソーシャルネットワーキング・システム１６０は、それぞれのクエリ修正に関す
るランキングを決定することができ、この場合、上位６つにランク付けされたクエリ修正のみが、特定の検索結果内に含まれる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、クエリ修正に関するスコアを、構造化クエリに対するそのクエリ修正のソーシャル関連度に基づいて決定する。クエリを行っているユーザにさらに密接につながっているまたはその他の形で関連しているソーシャル・グラフ要素を参照するクエリ修正は、クエリを行っているユーザにさほど密接につながっていないまたはその他の形であまり関連していないソーシャル・グラフ要素を参照するクエリ修正よりも高くスコア付けされる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、クエリ修正に関するスコアを、そのクエリ修正に対応する可能な検索結果の数に基づいて決定する。より多くの結果を生成する（すなわち、より少ない結果を除外する）ことになるクエリ修正は、より少ない結果を生成するクエリ修正よりも高くスコア付けされる。言い換えれば、第１の構造化クエリを修正するために使用される際に、より多くの結果（または、現在の結果のうちのより多く）にマッチすることになるクエリ修正は、より少ない結果にマッチすることになるクエリ修正よりも高くスコア付けされる。限定ではなく、例として、図７Ｄは、修正フィールド７２０における「学校」カテゴリに関する可能なクエリ修正を示している。「スタンフォード大学」を参照するクエリ修正は、多くの検索結果がこの限定にマッチするので、提案されるクエリ修正のこのリストにおいて高くランク付けされる。言い換えれば、結果フィールド７１０内の検索結果に対応するユーザ・ノード２０２のうちで、それらのユーザ・ノード２０２の多くは、エッジ２０６によって「スタンフォード大学」を表すコンセプト・ノード２０４につながっている可能性がある。したがって、「スタンフォード大学」を表すコンセプト・ノード２０４への参照が、クエリ・フィールド３５０において示されている構造化クエリに追加された場合には、現在の検索結果のうちの多くは、その構造化クエリに依然としてマッチすることになる（すなわち、除外されることになるものは少ない）。同様に、「カーネギー・メロン大学」および「サンタクララ大学」など、ドロップダウン・メニューにおいてさらに低くランク付けされている学校は、現在の結果のうちのさらに少数にマッチする可能性があり（すなわち、より多くの結果を除外することになり）、したがって、より低くランク付けされている。クエリ修正に対するピボッティングも、同様にスコア付けされる。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、クエリ修正に関するスコアを、クエリを行っているユーザに関連付けられている検索履歴に基づいて決定する。クエリを行っているユーザが以前にアクセスしたことがあるソーシャル・グラフ要素、またはクエリを行っているユーザが以前にアクセスしたことがあるノード／プロフィール・ページに関連しているソーシャル・グラフ要素を参照するクエリ修正は、ユーザの構造化クエリに関連している可能性がより高い場合がある。したがって、これらのクエリ修正には、より高い相対的なスコアが与えられる。限定ではなく、例として、クエリを行っているユーザが、「スタンフォード大学にいる私の友達」を以前に検索したことがある場合には、ソーシャルネットワーキング・システム１６０は、クエリを行っているユーザが、「スタンフォード大学」を表すコンセプト・ノード２０４につながっているユーザ・ノード２０２に関心があるということを決定する。したがって、その後のクエリに応答して、ソーシャルネットワーキング・システム１６０は、「スタンフォード大学」を参照するクエリ修正を、その他のクエリ修正よりも高くランク付けする。これは、そのタイプのコンテキスト情報に対するクエリを行っているユーザの関心の履歴に起因している（したがって、図７Ｄにおいて示されている検索結果は、「スタンフォード大学を表すクエリ修正をより高くランク付けしている場合がある）。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、クエリ修正に関するスコアを、広告スポンサーシップに基づいて決定する。広告主（たとえば、特定のノードに対応する特定のプロフィール・ページのユーザまたは管理者など）は、特定のノードのスポンサーになることができ、それによって、そのノードを参照するクエリ修正は、より高くスコア付けされることが可能になる。本開示は、特定の様式でクエリ修正をスコア付けすることについて記述しているが、本開示は、任意の適切な様式でクエリ修正をスコア付けすることを想定している。
【００９８】
特定の実施形態においては、第１の構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、その構造化クエリに対してピボッティングを行うための１または複数の第２の構造化クエリを生成する。これらの第２の構造化クエリのそれぞれは、第１の構造化クエリに基づく。これらは、提案されるクエリと呼ばれる場合がある。これらの提案されるクエリは、第１の構造化クエリの変形であることが可能であり、提案されるクエリは、第１の構造化クエリと同じクエリ・トークンのうちの少なくともいくつかを使用する。しかしながら、クエリに対してピボッティングを行うために、第１の構造化クエリからのクエリ・トークンのうちの１または複数が、代替クエリ・トークンと置換される。言い換えれば、ソーシャルネットワーキング・システム１６０は、１または複数の第２の構造化クエリを生成するために、第１の構造化クエリからの選択されたノード／エッジへの１または複数の参照を、代替ノード／エッジへの１または複数の参照と置換する。第１の構造化クエリ内に代入された場合に同様の検索結果を生成することになるクエリ・トークンを識別することによって、代替クエリ・トークンが決定される。限定ではなく、例として、「スタンフォード大学に通っている私の友達」という第１の構造化クエリに関して、ソーシャルネットワーキング・システム１６０は、第１の構造化クエリ内に代入される１または複数のクエリ・トークンを識別する。たとえば、「スタンフォード大学」を表すクエリ・トークンは、その他の学校によって置換される。別の例として、「に通っている」および「スタンフォード大学」を表すクエリ・トークンは両方とも、「在住の」および「パロアルト」を表すクエリ・トークンによって置換される。この後者の例は、第１の構造化クエリと同じ検索結果のうちの多くを生成する可能性がある。これは、パロアルトという都市に在住のユーザと、スタンフォード大学という学校に通っているユーザとの間における高い重なりに起因している。なぜなら、その学校は、その都市に地理的に近いためである（すなわち、ソーシャル・グラフ２００においては、「スタンフォード」を表すコンセプト・ノード２０４につながっているユーザ・ノード２０２と、「パロアルト」を表すコンセプト・ノード２０４につながっているユーザ・ノード２０２との間に大きな重なりが存在する可能性がある）。代替クエリ・トークンは、元のクエリに基づくテンプレートを使用することによって決定されることも可能である。限定ではなく、例として、第１の構造化クエリが、ユーザを探す検索である場合には、提案されるクエリも、ユーザを探す検索である。同様に、第１の構造化クエリが、写真を探す検索である場合には、提案されるクエリも、写真を探す検索である。特定の実施形態においては、提案されるクエリは、検索結果ページの一部として、クエリを行っているユーザへ送信される。限定ではなく、例として、図７Ｂにおいて示されている検索結果ページは、提案される検索フィールド７３０内にいくつかの例示的な提案されるクエリを示している。「フェイスブックで働いている私の友達」という第１の構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、数ある中でも、「フェイスブックに「いいね！」を表明している私の友達の友達」および「カリフォルニア州パロアルト在住の私の友達」という提案される構造化クエリを生成しており、それらは、提案される検索フィールド７３０内に示されている。これらの提案されるクエリは、第１の構造化クエリに基づいて生成されている場合があり、その場合、第１の構造化クエリからのクエリ・トークンのうちの１または複数が置換されている。本開示は、構造化クエリを特定の様式で生成することについて記述しているが、本開示は、構造化クエリを任意の適切な様式で生成することを想定している。
【００９９】
特定の実施形態においては、第１の構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、その構造化クエリを広げるための１または複数の第２の構造化クエリを生成する。これらは、広げるクエリと呼ばれる場合がある。これらの広げるクエリは、第１の構造化クエリの変形であることが可能であり、広げるクエリは、より多くの検索結果を生成するために、第１の構造化クエリよりも少ないクエリ・トークンを使用するか、または特定のクエリ・トークンに取って代わる。言い換えれば、ソーシャルネットワーキング・システム１６０は、１または複数の第２の構造化クエリを生成するために、
第１の構造化クエリからの選択されたノード／エッジへの１または複数の参照を削除する。同様に、ソーシャルネットワーキング・システム１６０は、１または複数の第２の構造化クエリを生成するために、第１の構造化クエリからの選択されたノード／エッジへの１または複数の参照を、代替ノード／エッジへの１または複数の参照と置換する。このケースにおいては、第１の構造化クエリ内に代入された場合に元のクエリ・トークンよりも多くの検索結果を生成することになるクエリ・トークンを識別することによって、代替クエリ・トークンが決定される。特定の実施形態においては、第１の構造化クエリに対応する検索結果が検索結果のしきい値数を下回っている場合に、広げる構造化クエリが生成される。あまりにも多くの限定を伴う構造化クエリ、または、多くのソーシャル・グラフ・エンティティにマッチしないクエリ・トークンを使用する構造化クエリは、ほとんどまたはまったく結果を生成しない場合がある。構造化クエリが、あまりにも少ない結果しか生成しない場合には、そのクエリを、さらなる結果を生成するように修正する方法に関する提案を提供することが有用である。ソーシャルネットワーキング・システム１６０は、第１の構造化クエリを分析すること、および、そのクエリを、より多くの結果を生成するように修正する方法に関する提案を提供する。検索結果のしきい値数は、結果の任意の適切な数であることが可能であり、ソーシャルネットワーキング・システム１６０によって決定されること、またはユーザによって定義される。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、第１の構造化クエリからのゼロ以上の選択されたノードおよびゼロ以上の選択されたエッジへの参照を含む１または複数の第２の構造化クエリを生成することができ、その場合、それぞれの第２の構造化クエリは、選択されたノードまたは選択されたエッジへの少なくとも１つの、第１の構造化クエリよりも少ない参照を含む。限定ではなく、例として、図７Ａを参照すると、「現在フェイスブックに勤務していて、一輪車に乗ることに対して「いいね！」を表明している人々」という第１の構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、「一輪車に乗ることに対して「いいね！」を表明している人々」および「現在のフェイスブックの従業員」という広げるクエリを、拡張検索フィールド７４０内に生成した。これらの広げるクエリは、第１の構造化クエリに基づいて生成されている場合があり、その場合、第１の構造化クエリからのクエリ・トークンのうちの１または複数が除去されている（すなわち、「フェイスブック」および「一輪車に乗ること」への参照が、それぞれ除去されている）。第１の構造化クエリから限定を除去することによって、より多くのユーザが、そのクエリを満たし、結果として、これらのクエリは、より多くの検索結果を生成する。特定の実施形態においては、ソーシャルネットワーキング・システム１６０は、第１の構造化クエリからのゼロ以上の選択されたノードおよびゼロ以上の選択されたエッジへの参照を含む１または複数の第２の構造化クエリを生成することができ、その場合、それぞれの第２の構造化クエリは、第１の構造化クエリの選択されたノードまたは選択されたエッジへの少なくとも１つの参照を、それぞれ代替ノードまたは代替エッジと置換する。限定ではなく、例として、再び図７Ａを参照すると、ソーシャルネットワーキング・システム１６０は、「フェイスブックが採用していた、一輪車に乗ることに関心がある人々」および「フェイスブックがこれまでに採用した、一輪車に乗ることに関心がある人々」という広げるクエリを生成した。これらの広げるクエリは、第１の構造化クエリに基づいて生成されている場合があり、その場合、「現在〜に勤務している」というクエリ・トークンは、それぞれ「採用していた」および「これまでに採用した」というクエリ・トークンによって置換されており、それによって、異なるタイムフレームを使用して検索結果をフィルタリングしている（これは、このクエリを満たすつながりエッジのタイプを、「〜で働いている」タイプのエッジ２０６から、「〜で働いた」タイプのエッジ２０６も含むように拡張する）。特定の実施形態においては、それらの広げるクエリは、検索結果ページの一部として、クエリを行っているユーザへ送信される。限定ではなく、例として、図７Ａにおいて示されている検索結果ページは、拡張検索フィールド７４０内にいくつかの例示的な広げるクエリを示しており、それについては、上で論じてきた。本開示は、特定の広げるクエリを特定の様式で生成することについて記述しているが、本開示は、任意の適切な広げるク
エリを任意の適切な様式で生成することを想定している。
【０１００】
特定の実施形態においては、第１の構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、その構造化クエリのあいまい性を解消するための１または複数の第２の構造化クエリを生成する。これらは、あいまい性解消クエリと呼ばれる場合がある。これらのあいまい性解消クエリは、第１の構造化クエリの変形であることが可能であり、あいまい性解消クエリは、第１の構造化クエリからのクエリ・トークンのうちのいくつかを使用するが、それらのクエリ・トークンのうちのいくつかを代替クエリ・トークンと置換することもできる。これは、特定のノードが、クエリを行っているユーザからの非構造化テキスト・クエリからの同じｎグラムに対応する（たとえば、「スタンフォード」を表すｎグラムが、「スタンフォード大学」という学校または「カリフォルニア州スタンフォード」という都市のいずれかを表すコンセプト・ノード２０４に対応する）場合に、生じる。あいまい性解消は、参照されているエッジ・タイプ、または参照されているノード同士の間における関係が、構造化クエリにおいて不明確である場合に、役立つことも可能である。ソーシャルネットワーキング・システム１６０は、特定の構造化クエリの自然言語シンタックスが、クエリを行っているユーザによって別々の方法で解釈されるという点で、その構造化クエリがあいまいであると決定する。したがって、特定の構造化クエリを選択する際には、ソーシャルネットワーキング・システム１６０は、期待されていない、またはクエリを行っているユーザが探していたものではない検索結果を生成する場合がある。これらのケースにおいては、ソーシャルネットワーキング・システム１６０は、その構造化クエリがどのように解析されたか、およびその構造化クエリが、表示された検索結果をどのように識別したかの説明を提供する。加えて、ソーシャルネットワーキング・システム１６０は、クエリを行っているユーザが、自分が探しているものを見つけ出すのを手助けするために元のクエリの変形を提供する。特定の実施形態においては、あいまい性解消クエリは、検索結果ページの一部として、クエリを行っているユーザへ送信される。限定ではなく、例として、図７Ｇにおいて示されている検索結果ページは、あいまい性解消フィールド７５０内に表示されている例示的なあいまい性解消クエリを示している。「テネシー州出身の私の友達の写真」という第１の構造化クエリに応答して、ソーシャルネットワーキング・システム１６０は、「私の友達によるテネシー州での写真」というあいまい性解消クエリを生成した。ソーシャルネットワーキング・システム１６０はまた、自分が第１の構造化クエリをどのように解析したかの説明を提供しており、「これらの結果は、テネシー州出身のあなたの友達に属している写真を示しています」と記述している。言い換えれば、ソーシャルネットワーキング・システム１６０は、「〜においてタグ付けされている」タイプのエッジ２０６によってユーザ・ノード２０２につながっていた写真に対応するコンセプト・ノード２０４を識別するために第１の構造化クエリを解析しており、この場合、これらのユーザ・ノード２０２は、「〜に住んでいた」または「〜出身である」タイプのエッジ２０６によって「テネシー州」を表すコンセプト・ノード２０４につながっていた。対照的に、提案されるあいまい性解消クエリは、「〜において撮影された」タイプのエッジ２０６によって「テネシー州」を表すコンセプト・ノード２０４につながっていた写真に対応するコンセプト・ノード２０４を識別することになり、この場合、写真を表すコンセプト・ノード２０４は、クエリを行っているユーザの友達のユーザ・ノード２０２にもつながっていた。本開示は、特定の様式で特定のあいまい性解消クエリを生成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なあいまい性解消クエリを生成することを想定している。
【０１０１】
図９は、構造化検索クエリを修正するための例示的な方法９００を示している。この方法は、工程９１０において開始され、工程９１０では、ソーシャルネットワーキング・システム１６０が、複数のノードと、それらのノード同士をつなげる複数のエッジ２０６とを含むソーシャル・グラフ２００にアクセスする。それらのノードは、第１のユーザ・ノード２０２、および複数の第２のノード（１または複数のユーザ・ノード２０２、コンセ
プト・ノード２０４、またはそれらの任意の組合せ）を含む。工程９２０において、ソーシャルネットワーキング・システム１６０は、複数の第２のノードからの１または複数の選択されたノードおよび複数のエッジからの１または複数の選択されたエッジへの参照を含む構造化クエリを第１のユーザから受け取る。工程９３０において、ソーシャルネットワーキング・システム１６０は、第１の構造化クエリに関する１または複数のクエリ修正を生成する。それぞれのクエリ修正は、複数の第２のノードからの１もしくは複数の修正ノードまたは複数のエッジからの１もしくは複数の修正エッジへの参照を含む。特定の実施形態は、適切な場合には、図９の方法の１または複数の工程を繰り返す。本開示は、図９の方法の特定の工程同士を、特定の順序で生じるものとして記述し、示しているが、本開示は、任意の適切な順序で生じる図９の方法の任意の適切な工程同士を想定している。その上、本開示は、図９の方法の特定の工程を実行する特定の構成要素、デバイス、またはシステムについて記述し、示しているが、本開示は、図９の方法の任意の適切な工程を実行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組合せを想定している。
【０１０２】
システムおよび方法
図１０は、例示的なコンピュータ・システム１０００を示している。特定の実施形態においては、１または複数のコンピュータ・システム１０００が、本明細書において記述されているまたは示されている１または複数の方法の１または複数の工程を実行する。特定の実施形態においては、１または複数のコンピュータ・システム１０００が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、１または複数のコンピュータ・システム１０００上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている１もしくは複数の方法の１もしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、１または複数のコンピュータ・システム１０００の１または複数の部分を含む。本明細書においては、コンピュータ・システムへの言及は、適切な場合には、コンピューティング・デバイスを包含することができ、その逆もまた同様である。その上、コンピュータ・システムへの言及は、適切な場合には、１または複数のコンピュータ・システムを包含する。
【０１０３】
本開示は、任意の適切な数のコンピュータ・システム１０００を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム１０００を想定している。限定ではなく、例として、コンピュータ・システム１０００は、組み込みコンピュータ・システム、システムオンチップ（ＳＯＣ）、シングルボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータオンモジュール（ＣＯＭ）もしくはシステムオンモジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せである。適切な場合には、コンピュータ・システム１０００は、１もしくは複数のコンピュータ・システム１０００を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンタにわたること、または、クラウド（１もしくは複数のネットワーク内の１もしくは複数のクラウド・コンポーネントを含む）内に常駐する。適切な場合には、１または複数のコンピュータ・システム１０００は、本明細書において記述されているまたは示されている１または複数の方法の１または複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行する。限定ではなく、例として、１または複数のコンピュータ・システム１０００は、本明細書において記述されているまたは示されている１または複数の方法の１または複数の工程をリアル・タイムで、またはバッチ・モードで実行する。１または複数のコンピュータ・システム１０００は、適切な場合には、本明細書において記述されているまたは示されている１または
複数の方法の１または複数の工程を別々の時点で、または別々のロケーションで実行する。
【０１０４】
特定の実施形態においては、コンピュータ・システム１０００は、プロセッサ１００２、メモリ１００４、ストレージ１００６、入力／出力（Ｉ／Ｏ）インタフェース１００８、通信インタフェース１０１０、およびバス１０１２を含む。本開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切な構成要素を任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
【０１０５】
特定の実施形態においては、プロセッサ１００２は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ１００２は、内部レジスタ、内部キャッシュ、メモリ１００４、またはストレージ１００６から命令を取り出し（またはフェッチし）、それらの命令をデコードして実行し、次いで、１または複数の結果を内部レジスタ、内部キャッシュ、メモリ１００４、またはストレージ１００６に書き込む。特定の実施形態においては、プロセッサ１００２は、データ、命令、またはアドレスのための１または複数の内部キャッシュを含む。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ１００２を想定している。限定ではなく、例として、プロセッサ１００２は、１または複数の命令キャッシュ、１または複数のデータ・キャッシュ、および１または複数の変換ルックアサイド・バッファ（ＴＬＢ）を含む。命令キャッシュ内の命令は、メモリ１００４またはストレージ１００６内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ１００２によるそれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ１００２において実行される命令が機能する際に基づくメモリ１００４もしくはストレージ１００６内のデータのコピー、プロセッサ１００２において実行される後続の命令によるアクセスのための、もしくはメモリ１００４もしくはストレージ１００６への書き込みのためのプロセッサ１００２において実行された以前の命令の結果、またはその他の適切なデータである。データ・キャッシュは、プロセッサ１００２による読み取りオペレーションまたは書き込みオペレーションを高速化する。ＴＬＢは、プロセッサ１００２のための仮想アドレス変換を高速化する。特定の実施形態においては、プロセッサ１００２は、データ、命令、またはアドレスのための１または複数の内部レジスタを含む。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ１００２を想定している。適切な場合には、プロセッサ１００２は、１もしくは複数の演算ロジック・ユニット（ＡＬＵ）を含むこと、マルチコア・プロセッサであること、または１もしくは複数のプロセッサ１００２を含む。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
【０１０６】
特定の実施形態においては、メモリ１００４は、プロセッサ１００２が実行するための命令、またはプロセッサ１００２が機能する際に基づくデータを記憶するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム１０００は、命令をストレージ１００６または別のソース（たとえば、別のコンピュータ・システム１０００など）からメモリ１００４にロードする。次いでプロセッサ１００２は、命令をメモリ１００４から内部レジスタまたは内部キャッシュにロードする。命令を実行するために、プロセッサ１００２は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードする。命令の実行中または実行後に、プロセッサ１００２は、１または複数の結果（それらは、中間の結果または最終的な結果である場合がある）を内部レジスタまたは内部キャッシュに書き込む。次いでプロセッサ１００２は、それらの結果のうちの１または複数をメモリ１００４に書き込む。特定の実施形態においては、プロセッサ１００２は、（ストレージ１００６またはその他の場所ではなく）１もしくは複数の内部レジス
タもしくは内部キャッシュ内の、またはメモリ１００４内の命令のみを実行し、（ストレージ１００６またはその他の場所ではなく）１もしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ１００４内のデータ上でのみ機能する。１または複数のメモリ・バス（それらはそれぞれ、アドレス・バスおよびデータ・バスを含む）は、プロセッサ１００２をメモリ１００４に結合する。バス１０１２は、以降で記述されているような１または複数のメモリ・バスを含む。特定の実施形態においては、１または複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ１００２とメモリ１００４との間に常駐し、プロセッサ１００２によって要求されるメモリ１００４へのアクセスを容易にする。特定の実施形態においては、メモリ１００４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合には、揮発性メモリであることが可能であり、適切な場合には、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）である。その上、適切な場合には、このＲＡＭは、シングルポートＲＡＭまたはマルチポートＲＡＭである。本開示は、任意の適切なＲＡＭを想定している。メモリ１００４は、適切な場合には、１または複数のメモリ１００４を含む。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
【０１０７】
特定の実施形態においては、ストレージ１００６は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ１００６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、またはこれらのうちの複数の組合せを含む。ストレージ１００６は、適切な場合には、取り外し可能なまたは取り外し不能な（すなわち、固定された）メディアを含む。ストレージ１００６は、適切な場合には、コンピュータ・システム１０００の内部または外部に存在する。特定の実施形態においては、ストレージ１００６は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ１００６は、読み取り専用メモリ（ＲＯＭ）を含む。適切な場合には、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書替え可能ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せである。本開示は、任意の適切な物理的な形態を取るマス・ストレージ１００６を想定している。ストレージ１００６は、適切な場合には、プロセッサ１００２とストレージ１００６との間における通信を容易にする１または複数のストレージ・コントロール・ユニットを含む。適切な場合には、ストレージ１００６は、１または複数のストレージ１００６を含む。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
【０１０８】
特定の実施形態においては、Ｉ／Ｏインタフェース１００８は、コンピュータ・システム１０００と１または複数のＩ／Ｏデバイスとの間における通信のための１または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム１０００は、適切な場合には、これらのＩ／Ｏデバイスのうちの１または複数を含む。これらのＩ／Ｏデバイスのうちの１または複数は、人とコンピュータ・システム１０００との間における通信を可能にする。限定ではなく、例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なＩ／Ｏデバイス、またはこれらのうちの複数の組合せを含む。Ｉ／Ｏデバイスは、１または複数のセンサを含む。本開示は、任意の適切なＩ／Ｏデバイス、およびそれらのＩ／Ｏデバイスのための任意の適切なＩ／Ｏインタフェース１００８を想定している。適切な場合には、Ｉ／Ｏインタフェース１００８は、プロセッサ１００２がこれらのＩ／Ｏデバイスのうちの１または複数を駆動することを可能にする１または複数のデバイス・ドライバまたはソフトウェア・ドライバを含む。Ｉ／Ｏイ
ンタフェース１００８は、適切な場合には、１または複数のＩ／Ｏインタフェース１００８を含む。本開示は、特定のＩ／Ｏインタフェースについて記述し、示しているが、本開示は、任意の適切なＩ／Ｏインタフェースを想定している。
【０１０９】
特定の実施形態においては、通信インタフェース１０１０は、コンピュータ・システム１０００と、１もしくは複数のその他のコンピュータ・システム１０００または１もしくは複数のネットワークとの間における通信（たとえば、パケットベースの通信など）のための１または複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース１０１０は、イーサネット（登録商標）もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ（ＮＩＣ）もしくはネットワーク・アダプタ、またはＷＩ−ＦＩネットワークなどの無線ネットワークと通信するための無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタを含む。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース１０１０を想定している。限定ではなく、例として、コンピュータ・システム１０００は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、またはインターネットの１または複数の部分、またはこれらのうちの複数の組合せと通信する。これらのネットワークのうちの１または複数の１または複数の部分は、有線または無線である。例として、コンピュータ・システム１０００は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、ブルートゥースＷＰＡＮなど）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、セルラー電話ネットワーク（たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ（ＧＳＭ（登録商標））ネットワークなど）、またはその他の適切な無線ネットワーク、またはこれらのうちの複数の組合せと通信する。コンピュータ・システム１０００は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース１０１０を含む。通信インタフェース１０１０は、適切な場合には、１または複数の通信インタフェース１０１０を含む。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
【０１１０】
特定の実施形態においては、バス１０１２は、コンピュータ・システム１０００の構成要素同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス１０１２は、アクセラレイティッド・グラフィックス・ポート（ＡＧＰ）もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ（ＥＩＳＡ）バス、フロントサイド・バス（ＦＳＢ）、ハイパートランスポート（ＨＴ）インターコネクト、インダストリー・スタンダード・アーキテクチャ（ＩＳＡ）バス、インフィニバンド・インターコネクト、ローピンカウント（ＬＰＣ）バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ）バス、ペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、シリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル（ＶＬＢ）バス、または別の適切なバス、またはこれらのうちの複数の組合せを含む。バス１０１２は、適切な場合には、１または複数のバス１０１２を含む。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
【０１１１】
本明細書においては、１または複数の非一時的コンピュータ可読記憶媒体は、適切な場合には、１もしくは複数の半導体ベースのもしくはその他の集積回路（ＩＣ）（たとえば、フィールドプログラマブル・ゲート・アレイ（ＦＰＧＡ）もしくは特定用途向け集積回路（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード
・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピー・ディスケット、フロッピー・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ソリッドステート・ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的コンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含む。非一時的コンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せである。
【０１１２】
雑題
本明細書においては、「または（もしくは）」は、包含的であり、排他的ではない（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡまたはＢ」は、「Ａ、Ｂ、またはその両方」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。その上、「および（ならびに）」は、包括的および個別的の両方である（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。したがって、本明細書においては、「ＡおよびＢ」は、「まとめて、または個別に、ＡおよびＢ」を意味する（ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く）。
【０１１３】
本開示の範囲は、当業者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定の構成要素、要素、機能、オペレーション、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されている構成要素、要素、機能、オペレーション、または工程のうちの任意のものの任意の組合せまたは順列を含む。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行する、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムの構成要素への添付の特許請求の範囲における言及は、その装置、システム、構成要素、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、または構成要素が、そうするように適合されている、そうするようにアレンジされている、そうする、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、構成要素を包含する。
【図５Ｂ】
0005997395.tif 000002
【図１】
0005997395.tif 000003
【図２】
0005997395.tif 000004
【図３】
0005997395.tif 000005
【図４Ａ】
0005997395.tif 000006
【図４Ｂ】
0005997395.tif 000007
【図５Ａ】
0005997395.tif 000008
【図６】
0005997395.tif 000009
【図７Ａ】
0005997395.tif 000010
【図７Ｂ】
0005997395.tif 000011
【図７Ｃ】
0005997395.tif 000012
【図７Ｄ】
0005997395.tif 000013
【図７Ｅ】
0005997395.tif 000014
【図７Ｆ】
0005997395.tif 000015
【図７Ｇ】
0005997395.tif 000016
【図８】
0005997395.tif 000017
【図９】
0005997395.tif 000018
【図１０】
0005997395.tif 000019