(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザに関する既知の情報は前記ユーザの人口統計データ、ソーシャルコネクション、関心、趣味、過去のアクション、挙動パターン、およびカレンダー入力を含む、請求項1に記載の方法。
前記ユーザに関する既知の情報は、前記ユーザの人口統計データ、ソーシャルコネクション、関心、趣味、過去のアクション、挙動パターン、およびカレンダー入力を含む、請求項13に記載のシステム。
【発明を実施するための形態】
【0006】
本開示は一般的には、インターネットユーザのサーチ体験を改善することに関する。より具体的には、特定の実施形態では、ユーザが、サーチを行うために、コンピュータ実装サーチツールにより提供されるユーザインタフェースにアクセスするとき、ユーザがユーザインタフェースに含まれる入力フィールド内に何か(例えば、任意のサーチクエリ)を入力する前に、一組のサーチ結果が編集されてユーザに提示される(例えば、示唆として)。次いで、ユーザは(1)示唆されたサーチ結果のいずれかと相互作用する選択肢、または(2)サーチクエリを入力する選択肢であって、該サーチクエリに応答して他の組のサーチ結果が編集されユーザに提示されるようにするためのサーチクエリを入力する選択肢を有する。
【0007】
特定の実施形態では、ユーザがサーチツールにアクセスすることに応答して、かつユーザがサーチクエリまたは該サーチクエリの一部をサーチツールに提出する前に、ユーザに関する既知の情報に基づき第1の組のサーチ結果を編集して、第1の組のサーチ結果をユーザに提示する。
【0008】
本開示のこれらおよび他の特徴、態様、利点について、以下の詳細な記載においておよび以下の図と併せてさらに詳細に説明する。
次に、本開示について、添付図面に示すような本発明のいくつかの実施形態を参照して詳細に説明する。以下の説明では、本開示を十分に理解するために多くの具体的な詳細が記載される。しかし、本開示はこれらの特定の詳細の一部またはすべてを備えること無く実行され得る。一例では、本発明を不必要に曖昧にしないために周知の処理工程および/または構造については詳細に説明しない。加えて、本開示は特定の実施形態と併せて説明されるが、この説明は、記載された実施形態に本開示を制限するように意図するものではないことを理解されたい。逆に、本明細書は、添付の特許請求範囲により定義されるような本開示の精神と範囲に含まれ得る代替物、修正物、等価物を包含するように意図されている。
【0009】
コンピュータ実装サーチツールは、インターネットまたはイントラネットなど1つまたは複数のネットワーク上の特定のトピックに関連する情報を検索するように設計される。サーチを行うために、ネットワークユーザはサーチクエリをサーチツールに発行し得る。サーチクエリは通常、トピックを記述する1つまたは複数の単語を含む。それに応答してサーチツールは、一組のサーチ結果であってそれぞれがサーチクエリに関係し得る情報に対応する一組のサーチ結果を識別し得る。一組のサーチ結果は任意の数の要素に基づきランク付けされて、それぞれのランクに従ってユーザに提示され得る。
【0010】
サーチクエリに対する一組のサーチ結果をランク付けするとき、様々な要素が考慮され得る。例えば、各サーチ結果のコンテンツは、サーチクエリに対するそのサーチ結果の関連度を判断するために解析され得る。加えて、特定の実施形態は、限定するものではないが例えば、サーチが行われている文脈、サーチクエリにより記載されたトピックの性質または特性、サーチが要求された時間と位置、およびサーチを要求するユーザのソーシャルネットワーキング情報と挙動プロファイルなどの要素に基づきサーチ結果をランク付けし得る。
【0011】
特定の実施形態はまた、いくつかのサーチ結果のランクを、限定するものではないが例えば、サーチツールを提供するエンティティの事業戦略または目標などの目的に応じて、押し上げ得る。特定の実施形態では、サーチツールは、ソーシャルネットワーキングシステムにより提供され得るか、またはソーシャルネットワーキングシステムに関連付けられ得る。ソーシャルネットワーキングシステムは、限定するものではないが例えば、そのユーザに電子メールまたはメッセージを通じてユーザらの友達と連絡を取ることができるよ
うにする、イベントを企画する、ソーシャルグループを形成する、写真をアップロードおよび共有する、ニュースフィードを読む、様々なウェブベースアプリケーション(例えば、ソーシャルネットワーキングシステムにまたは第三者のいずれかにより提供された)を利用する、オンラインゲームを使用するなどの任意の数の特徴(フィーチャ)を有し得る。特定の実施形態では、一組中の1つまたは複数のサーチ結果がこのようなフィーチャに関連付けられ得る。一組のサーチ結果をランク付けする際、ユーザがフィーチャに対して有する相互作用のレベルが考慮され得る。一例では、フィーチャに関連付けられたサーチ結果のそれぞれのランクは、ユーザがそのフィーチャに対して有する相互作用のレベルが上げられ得るという望みをもって、ユーザの注意をそのフィーチャに引きつけるために押し上げられ(すなわち、人為的に上げられ)得る。
【0012】
特定の実施形態では、一組中の1つまたは複数のサーチ結果は様々なコールトゥアクション要素に関連付けられ得る。ネットワークコンテンツの文脈中、より具体的にはユーザ体験の文脈中の用語「コールトゥアクション」は、呼び出しまたは他の通信などの機能または処理を開始するためにユーザからの挙動を促すユーザインタフェース要素である。ウェブベースインタフェースにおけるコールトゥアクションの最も好まれる明示は、クリックされると、特定のネットワークコンテンツに対し特定の行為を行うまたはそれに至るクリック可能アイコンまたはボタンの形式である。特定の実施形態では、ユーザがコールトゥアクション要素(例えば、アイコンまたはボタン)をクリックするか、またはさらにサーチ結果と相互作用し得るように、サーチ結果がコールトゥアクション要素に関連付けられ得る。一例では、複数のタイプのコールトゥアクション要素が特定のサーチ結果に適切に関連付けられ得る。特定の実施形態は、限定するものではないが例えば、サーチが行われているコンテキスト、サーチクエリにより記載されたトピックの性質または特性、サーチ結果のコンテンツ、サーチが要求された時間と位置、サーチを要求するユーザのソーシャルネットワーキング情報と挙動プロファイル、およびサーチツールを提供するエンティティ(すなわちソーシャルネットワーキングシステム)の事業戦略または目的など、様々な要素に基づきサーチ結果のコールトゥアクション要素の1つを選択し得る。
【0013】
特定の実施形態では、1つまたは複数のサーチ結果は、ユーザがサーチツールにアクセスすると直ちに、およびユーザがサーチクエリまたは該サーチクエリの一部を入力する前に、ユーザに示唆され得る。これらのサーチ結果は、限定するものではないが例えば、ユーザがサーチツールにアクセスしたという事実はユーザが情報を検索するつもりであることを示す、ユーザの識別子、ユーザに関するプロファイルと社会的情報、ユーザの挙動パターン、ユーザによりなされた過去のアクション、ユーザがサーチツールにアクセスした時間、ユーザがサーチツールにアクセスした位置など多くの要素に基づき編集および/またはランク付けされ得る。特定の実施形態では、これらはユーザのモデルを構築するために利用されてもよく、このモデルは次いで、示唆されたサーチ結果が、ユーザがサーチツールにアクセスする毎にユーザに対してどのように編集されランク付けされ得るかを判断するために利用され得る。
【0014】
ソーシャルネットワークは、通常、友達関係、親戚関係、共通する関心、金銭取り引き、嫌悪もしくは信念、知識または名声の関係などの1つまたは複数のタイプの相互依存性または関係により結合される個人または組織などのエンティティからなる社会的な構造体である。さらに近年では、ソーシャルネットワークはインターネットを利用し始めた。ソーシャルネットワーキングウェブサイトの形式でインターネット上に存在するソーシャルネットワーキングシステムがある。このようなソーシャルネットワーキングウェブサイトは、ウェブサイトユーザと通常呼ばれるソーシャルネットワーキングウェブサイトの会員が様々なソーシャルアクティビティを行うことができるようにする。例えば、フェイスブック社により運営されるソーシャルネットワーキングウェブサイトwww.facebook.comは、例えば、そのユーザが電子メール、インスタントメッセージ、またはブ
ログ投稿を通じてユーザらの友達らと通信し、ソーシャルイベントを企画し、写真を共有し、ユーザらの友達らの知らせまたは興味のあるイベントの知らせを受信し、ゲームを使用し、イベントを企画することができるようにする。
【0015】
ソーシャルネットワーキングシステムは、そのユーザに関係する膨大な量の情報を含み得る。このような情報は個々のユーザのソーシャルコネクションに限定されるものでなく、および限定するものではないが例えば、人口統計的情報、ネットワークまたはソーシャルアクティビティ、挙動プロファイル、および個々のユーザの個人的嗜好、関心、または趣味を含み得る。特定の実施形態は、任意の数のノードとエッジを有し得るグラフを利用して、ソーシャルネットワーキングシステムに含まれる情報を表してもよく、その例を
図1に示す。
【0016】
図1に示すグラフ100では、各ノードは、人間(例えば、ソーシャルネットワーキングシステムのユーザ)または非人間(例えば、位置、イベント、アクション、ビジネス、オブジェクト、メッセージ、投稿、画像、ウェブページ、ニュースフィードなど)であり得るエンティティを表し得る。2つのノードが任意の方法で関係していれば(すなわち、2つのノード間に関係があれば)、2つのノード同士はエッジにより接続される。グラフ100内の2つのノード同士が関係し、したがってエッジにより接続され得る事例としては、限定するものではないが以下のことが挙げられ得る:(1)2つのノードがソーシャルネットワーキングシステムの2人のユーザをそれぞれ表し、2人のユーザは社会的に接続される(例えば、互いの友達)、(2)2つのノードがソーシャルネットワーキングシステムのユーザとイベントをそれぞれ表し、ユーザはそのイベントに参加した、(3)2つのノードがソーシャルネットワーキングシステムのユーザと位置を表し、ユーザはその位置へ行ったことがある、(4)2つのノードがソーシャルネットワーキングシステムのユーザを表し、ユーザはウェブページと相互作用した(例えば、閲覧した)、(5)2つのノードがイベントと位置をそれぞれ表し、そのイベントはその位置で開催される、(6)2つのノードがソーシャルネットワーキングシステムのユーザと画像(例えば、デジタル写真)をそれぞれ表し、ユーザはその画像にいる、(7)2つのノードがソーシャルネットワーキングシステムのユーザと製品(例えば、モバイルフォン)をそれぞれ表し、ユーザはその製品を所有し、使用する、(8)2つのノードがソーシャルネットワーキングシステムのユーザとソフトウェアアプリケーション(例えば、ウェブベースゲーム)をそれぞれ表し、ユーザはアプリケーションを使用する(例えば、ゲームを使用する)。接続は、2人の人間、人間と非人間エンティティ、および2つの非人間エンティティ間に存在し得る。2人の人間または非人間エンティティ間の任意のタイプの関係が2つのエンティティ間の接続を生じ得る。
【0017】
グラフ100において、2つの特定のノード間にエッジが存在する場合、2つのノードは直接関連付けられたと考えられ得る。例えば、エッジ120Aはノード110Aと110Bを接続し、したがってノード110Aと110Bは直接関連付けられる。同様に、エッジ120Bはノード110Bと110Cを接続し、したがってノード110Bと110Cは直接関連付けられる。2つの特定のノード間にエッジが存在しない場合でも、2つのノードは間接的に関係していると考えられ得る。例えば、ノード110Aと110Cを直接接続するエッジは存在しないが、ノード110Aと110Cはノード110Bを通じて間接的に関係していると考えられ得る。
【0018】
グラフ100ではノード110Aからノード110Bまで行くのに1ホップを要するがノード110Aからノード110Cへ行く(すなわちノード110Bを通じて)のに2ホップを要するため、ノード110Aに関し、ノード110Bは、ノード110Cよりノード110Aに対しより密接な関係を有する。特定の実施形態では、2つの特定のノードに関し、1つのノードから他のノードへ行くのに要するホップ数が少なければ少ないほど、
2つのノードはより密接に関係する。
【0019】
特定の実施形態では、ソーシャルネットワーキングシステムを実現するソーシャルネットワーキングウェブサイトは、そのユーザにソーシャルコンテキスト中の特定のトピックに関する情報を検索できるようにするサーチツールを提供し得る。
図1に示すものなどのようなグラフにより表される情報は、サーチ結果を識別しランク付けすることを補助するために利用され得る。
図2Aは、ユーザがそれを通じてサーチクエリを提供しサーチ結果を受信し得る例示的なユーザインタフェース200を示す。この場合、ユーザがそれを通じてサーチクエリ(例えば、サーチクエリ240)を提供し得る入力フィールド210、ユーザがそれを通じてサーチクエリを提出し得る(例えば、アイコン220をクリックすることにより)アイコン220、およびサーチ結果(例えば、サーチ結果242A−E)が表示され得る出力フィールド230が存在する。加えて、一例では、サーチ結果はコールトゥアクション要素に関連付けられ得る。例えば、
図2Aでは、サーチ結果242Aがコールトゥアクションアイコン244Aに関連付けられ、サーチ結果242Dがコールトゥアクションアイコン244Dに関連付けられ、サーチ結果242Eはコールトゥアクションアイコン244Eに関連付けられる。一組中の全てのサーチ結果がコールトゥアクション要素に関連付けられる必要はないことに留意されたい。例えば、
図2Aでは、サーチ結果242Bと242Cはコールトゥアクション要素に関連付けられていない。コールトゥアクションアイコン244A、244D、および244Eはクリック可能アイコンであり得る。ユーザがこれらのコールトゥアクションアイコンの1つをクリックすれば、ユーザは関連サーチ結果とさらに相互作用し得るか、またはアクションが関連サーチ結果に関連して行われ得る。特定の実施形態では、コールトゥアクション要素はその関連サーチ結果の近傍に提示され得る。
【0020】
特定の実施形態では、複数のコールトゥアクション要素が同じサーチ結果に関連付けられ得る。例えば、サーチ結果が電子メールメッセージであれば、電子メールメッセージのサーチ結果に関連付けられたコールトゥアクション要素は「返信」、「転送」、および「削除」を含み得る。サーチ結果がレストランであれば、レストランのサーチ結果に関連付けられたコールトゥアクション要素は「チェックインする」、「“いいね!”する」、および「予約する」を含み得る。いくつかのサーチ結果(例えば、ユーザのアドレス帳から得られる個人的または職業的なコンタクトであるサーチ結果)は、サーチを要求するユーザに個人的または職業的に関係し得る。サーチ結果がユーザの友達であれば、コールトゥアクション要素は、「電話する」、「電子メールを送信する」、「SMSを送信する」、「チャートセッションを開始する」、「ウォールに投稿する」などを含み得る。これらの例が示すように、どのコールトゥアクション要素が特定のサーチ結果に好適であるかはサーチ結果自体の性質に依存し得る。
【0021】
特定の実施形態では、各サーチ結果242は、
図2Bに示すように、拡張アイコン252(例えば、下向き三角)に関連付けられ得る。ユーザが拡張アイコン252をクリックすると、当該サーチ結果242に関連付けられたコールトゥアクション要素が表示される。ユーザが拡張アイコン252Bをクリックしたと仮定する。
図2Cにおいて、サーチ結果242Bに関連付けられた3つのコールトゥアクション要素244Bが表示される。加えて、サーチ結果242Bに関連付けられた拡張アイコン252Bは収容アイコン254B(例えば、上向き三角)により置換される。ユーザが収容アイコンをクリックすると、当該サーチ結果242に関連付けられたコールトゥアクション要素が隠される。
【0022】
特定の実施形態では、
図2A〜
図2Cに示されたものなどのようなユーザインタフェースが、電子デバイスの画面上の表示のためにウェブページまたはウィンドウパネル内に組み込まれ得る。例えば、インタフェース200はモバイルフォンまたはタブレットの画面上に表示され得る。
【0023】
特定の実施形態では、サーチツールは、テキスト(例えば、サーチクエリ)を漸進的に検索してフィルタにかけるユーザインタフェース相互作用方法である「タイプアヘッド(type ahead)」別名「インクリメンタルサーチ」、「インクリメンタル検索(incremental find)」、または「リアルタイム示唆」機能を実施し得る。ユーザがサーチクエリのテキストをタイプすると、そのテキストに対する1つまたは複数の可能性のある一致が検出され直ちにユーザに提示される。多くの場合、この即時フィードバックによってユーザはサーチクエリの単語または句全体をタイプすることを停止し得る。ユーザはまた、提示されたリストから密接に関係する選択肢を選択し得る。それに加えて、特定の実施形態では、ユーザがサーチクエリの各文字をタイプすると、これまでにタイプされたテキストに対応する一組のサーチ結果が直ちにユーザに提示され得る。サーチ結果は、ユーザがさらに文字をタイプする毎に更新され得る。
【0024】
例えば、ユーザが人物を検索したく人物のサーチクエリとして名前を入力し始めると仮定する。ユーザは最初に文字「j」(例えば、ユーザインタフェースに含まれる入力フィールド内に)をタイプする。この時点で、文字「j」で始まる名前のいくつか(例えば、ジェーン(Jane)、ジョン(John)、ジョセフ(Joseph)、ジュディス(Judith)など)がユーザに示唆され得る。加えて、1つまたは複数の示唆された名前に対応する一組のサーチ結果(例えば、最初に示唆された名前ジェーン、または示唆された名前のいくつか、ジェーン、ジョン、ジョセフなど)が同様にユーザに提示され得る。ユーザが次いで文字「o」をキー入力すると仮定する。この時点で、文字「jo」で始まる名前のいくつか(例えば、ジョアン(Joan)、ジョン、ジョーダン(Jordon)、ジョセフ、ジョシュア(Joshua)など)がユーザに示唆され得る。加えて、1つまたは複数の示唆された名前に対応する一組のサーチ結果(例えば、ジョアン、またはジョアン、ジョンなど)が同様にユーザに提示され得る。ユーザが名前をタイプし終えるか、または示唆された名前またはサーチ結果の1つを選択するまで、この処理は続き得る。タイプアヘッドは、2010年6月15日に出願された米国特許出願第12/816,377号明細書、題名「ソーシャルネットワークにおけるオブジェクトのサーチと取り出し(Search and Retrieval of Objects in a Social Networking System)」にさらに詳細に記載され、すべての目的のために参照によりその全体を本明細書に援用する。
【0025】
サーチタームをタイプする際、ユーザは時折、サーチする句の一部として間違った文字を入力する可能性がある。特定のユーザのサーチクエリについての過去の知識、一般的ユーザのサーチクエリ、デバイス上の現在のキーボードのレイアウト、およびユーザがキー入力しがちな言語または言語群の定義を利用することで、誤った文字が入力された場合でもサーチプロバイダに可能性の高いサーチ句を「推測」できるようにする。例えば、標準米国QWERTYキーボード上の文字「o」は、文字「o」、「p」、「;」「,」および「k」により最も近接して囲まれる。ユーザが「j」をタイプすれば、「jo」以外のすべての2文字組合せの結果の組はユーザの目的のサーチクエリでない可能性が高い。「jl」に対する結果が存在すれば、それらを表示することができる。このような結果が存在しなければ、「jo」の結果を、自動修正が一時的に適用されたという表示と共に、ユーザに対し表示することができる。これにより、ユーザがサーチ結果をタップする前にサーチクエリを修正する必要性を低減する。
【0026】
図2A〜
図2Cに示された例示的なユーザインタフェース200では、サーチクエリを提出するためにアイコン220が示されることに留意されたい。このアイコンは、すべての場合に必要ではない。例えば、「タイプアヘッド」機能が支援される場合、アイコン220は必要でないかもしれなく、サーチに関連するユーザインタフェースに含まれないかもしれない。
【0027】
ユーザからサーチクエリを受信すると、サーチツールはサーチクエリに関連すると考えられる一組のサーチ結果を識別し得る。加えて、一組のサーチ結果は、様々な要素、目的、および他の考慮点に基づきランク付けされ得る。高くランク付けされたサーチ結果は低くランク付けされたサーチ結果より前にユーザに提示される。ユーザのサーチ結果の良好なランク付けの実現は、一例では特に望ましい。例えば、多くの場合ユーザは、比較的小さな表示画面を有するモバイル電子デバイス(例えば、モバイルフォンまたはタブレットコンピュータ)を利用して、サーチを行い得る。したがって、多くないサーチ結果が1つの画面内にユーザに対し表示および提示され得る。探している特定のサーチ結果を見つけ出すためにユーザに複数の画面を下にスクロールさせなければならないことを回避するために、これらのサーチ結果がより高くランク付けされてユーザに最初に提示されれば、ユーザの時間を節約し、ユーザのサーチ体験をより効率的かつ快適にすることができる。
【0028】
一例では、いくつかのサーチ結果が様々なコールトゥアクション要素と関連付けられ得る。同様に、特定のサーチ結果を所与として、ユーザがサーチ結果に対してアクションを行うためにコールトゥアクション要素(関連サーチ結果の近傍に多くの場合提示される)を好都合に選択し得るように、サーチ結果に関連付けられる適切なコールトゥアクション要素(例えば、アイコンまたはボタン)を選択することが望ましいかもしれない。再び、ユーザは、様々なユーザインタフェース要素間をナビゲートするのが容易でなく速くないであろうデバイス(例えば、モバイル機器)を利用してサーチを行い得る。サーチ結果に対する所望のアクションを開始するためにユーザにデバイスとのいくつかの相互作用を行わせなければならないことを回避するために、適切なコールトゥアクション要素が関連サーチ結果の近傍に提示されれば、ユーザは、サーチ結果に対する所望のアクションを開始するために当該コールトゥアクション要素を容易に選択し得る。
【0029】
特定の実施形態では、ユーザは、サーチツールを提供するか、またはそのサーチツールに関連付けられたソーシャルネットワーキングシステムのユーザであり得る。サーチクエリに応じて一組のサーチ結果を編集およびランク付けする際、サーチツールは、ソーシャルネットワーキングシステム、すなわちサーチツールに利用可能な任意の関連情報(すなわち、ウェブページ、またはインターネット上で利用可能な他のタイプのコンテンツだけに限定されない)を調査および分析し得る。限定するものではないが例えば、サーチツールは以下を考慮し得る:(1)サーチクエリの性質とコンテキスト(特にソーシャルコンテキスト)(例えば、サーチクエリが、人物、位置、イベント、場所、ソフトウェアまたはウェブアプリケーション、オブジェクトなどを指すか否か)、(2)サーチを要求するユーザの社会的および人口統計的情報(例えば、ユーザのソーシャルコネクション、年令、性別、家族状況など)、(3)ユーザの挙動プロファイルまたはアクティビティ(例えば、ユーザの毎日のルーチン、趣味、関心、過去のネットワーク上のアクティビティまたはソーシャルアクティビティなど)、(4)ユーザがサーチクエリを提供した時間と位置、(5)ソーシャルネットワーキングシステムがいくつかのサーチ結果(例えば、ソーシャルネットワーキングシステムのフィーチャに関連付けられたサーチ結果であってソーシャルネットワーキングシステムがユーザの注意を引きたいサーチ結果)を促進することを望むか否か、(6)ソーシャルネットワーキングシステムがユーザをいくつかのサーチ結果または挙動へ向けて訓練または誘導することを望むか否か、(7)このサーチツールまたは他のサーチツールを以前利用した際のユーザの挙動履歴、例えば、ユーザは通常、いくつかのクラスまたはいくつかの特定の結果を選択するか否か、(8)特定の位置におけるユーザの挙動履歴(例えば、ユーザは常に、在宅時には人を参照する結果を選択するが在宅でないときはビジネスを参照する結果を選択する)、(9)ユーザが1つ選択した後にサーチ結果に応答するか否かに関するユーザの挙動履歴(例えば、配送された結果にコメントするか、または「いいね!」することによる)。加えて、特定の実施形態では、サーチツールは、サーチを要求するためにユーザにより利用される電子デバイス上に記憶さ
れた情報を調査および分析し、このような情報のいくつかをサーチ結果中に含み得る(例えば、このような情報がサーチクエリに関連すると考えられる場合)。
【0030】
図3に、サーチを要求するユーザに関連する社会的情報の少なくともいくつかを考慮する一方で、サーチクエリに応じて一組のサーチ結果を構築する例示的な方法を示す。
図1に関連して上に説明したように、ソーシャルネットワーキングシステム内で利用可能な情報はグラフにより表され得る(例えば、
図1に示すグラフ100)。このようなグラフは、特定のサーチ結果のコールトゥアクション要素を選択する際だけでなく特定ユーザの特定の組のサーチ結果を編集およびランク付けする際に利用され得る。特定の実施形態では、サーチを要求するユーザはソーシャルネットワーキングシステムのユーザであるので、ソーシャルネットワーキングシステムに関連付けられたグラフ内のノードの1つがユーザを表し得る。グラフを分析することにより、サーチツールは、他の人間および非人間エンティティのいずれが直接または間接的にユーザに関係している(例えば、グラフ内の他のノードが、ユーザを表すノードに直接または間接的に接続される)か、これらの関係のタイプ(例えば、どのような関係をエッジが表すか)、およびどの程度密接に他のノードが、ユーザを表すノードに関係するか(例えば、それぞれのノードペア間のホップの数)を判断し得る。
【0031】
特定の実施形態は、工程310に示すように、ユーザからサーチクエリを受信し得る。ユーザは、ソーシャルネットワーキングシステムのユーザであってもよく、ネットワークに接続された電子デバイス(例えば、モバイルフォンまたはタブレット)を通じてサーチクエリを提供し得る。例えば、サーチクエリが単語「ジョンソン(Johnson)」であると仮定する。
【0032】
特定の実施形態は、工程320に示すように、サーチクエリに応じて一組のサーチ結果を識別および編集し得る。サーチ結果は任意のタイプの情報またはコンテンツを含み得る。例えば、単語「ジョンソン」は、人物(例えば、メアリ・ジョンソン(Mary Johnson))、位置(例えば、ジョンソンシティ)、店舗(例えば、ジョンソン金物店(Johnson’s Hardware Store)、またはジョンソン・バーベキュー・レストラン(Johnson BBQ Restaurant))、商標または製品名(例えば、ジョンソン&ジョンソン(Johnson & Johnson))、ニュース記事(例えば、ジミー・ジョンソン(Jimmie Johnson)についてのニュースフィード)、およびメッセージ(例えば、トム・ジョンソン(Tom Johnson)による投稿またはそれに関する投稿)を参照し得る。サーチ結果は、サーチクエリに関連すると考えられる多くのタイプの情報の混合かもしれない。
【0033】
サーチ結果を選択する際、特定の実施形態は、限定するものではないが例えば、ユーザにより利用される電子デバイス上にローカルに記憶された情報、サーバ上またはソーシャルネットワーキングシステムに関連付けられたデータベース内に記憶された情報、およびインターネット上で広く公衆に利用可能な情報など、様々なソースから情報を取得し得る。例えば、「メアリ・ジョンソン」という名前の人物のコンタクト情報がユーザの電子デバイス上にローカルに記憶され得る。したがって、メアリ・ジョンソンの名前とコンタクト情報(例えば、電子メールアドレスまたは電話番号)が一組のサーチ結果に含まれる1つのサーチ結果として選択され得る。この場合、サーチ結果は、サーチを行う際にユーザにより利用される電子デバイス上に記憶された情報から生じる。別の例として、ソーシャルネットワーキングウェブサイトにおけるユーザアカウントから、ユーザが過去に何回か「ジョンソン・バーベキュー・レストラン」と呼ばれるレストランを訪れた(例えば、ジョンソン・バーベキュー・レストランにいるときにそのユーザがソーシャルネットワーキングシステムに「チェックインした」)ことを判断し得る。したがって、ジョンソン・バーベキュー・レストランの名前と住所が、一組のサーチ結果に含まれる1つのサーチ結果
として選択され得る。この場合、サーチ結果は、サーバ上またはソーシャルネットワーキングシステムに関連付けられたデータベース内に記憶された情報から生じる。別の例として、ナスカー(NASCAR)レースに参加するジミー・ジョンソンについてインターネット上にニュース記事が存在するかもしれない。したがって、このようなニュース記事を含むウェブページは、一組のサーチ結果に含まれる1つのサーチ結果として選択され得る。この場合、サーチ結果はインターネット上で広く公衆に利用可能な情報から生じる。
【0034】
ユーザがサーチ処理を開始するためにサーチクエリを提出すると、サーチ結果は様々なソースから取得され得るので、いくつかの特定のサーチ結果が他のものより前に利用可能になり得る。例えば、ユーザにより利用される電子デバイス上にローカルに記憶された情報から取得されるサーチ結果は、サーチ結果がソーシャルネットワーキングシステムに関連付けられた情報またはインターネット上の情報(リモートサイトに記憶されるので取得するのに多少長い時間がかかり得る)から取得される前に容易に利用できる。特定の実施形態では、いくつかのサーチ結果が利用可能になると、いくつかのサーチ結果は他のサーチ結果が利用可能になるのを待つ必要無く直ちにユーザに提示され得る。例えば、上記シナリオでは、「メアリ・ジョンソン」のコンタクト情報は、ユーザの電子デバイス上にローカルに記憶されており、したがって容易に利用できる。ユーザがサーチクエリ「ジョンソン」を提出すると、「メアリ・ジョンソン」のコンタクト情報が直ちにユーザに提示され得る。このとき、より多くのサーチ結果(例えば、「ジョンソン・バーベキュー・レストラン」の住所と電話番号など、ソーシャルネットワーキングシステムまたはインターネットから取得される)が利用可能になるので、これらはサーチクエリ「ジョンソン」に対して編集される一組のサーチ結果に加えられ、したがって(例えば、それらの利用可能性に応じて)ユーザに提示され得る。
【0035】
ソーシャルネットワーキングシステムは任意の数のフィーチャを実装および支援し得る。特定の実施形態では、サーチクエリに応じて選択されるサーチ結果の1つまたは複数が、このようなフィーチャの1つまたは複数に関連付けられ得る。一例では、サーチクエリにそれほど関連しないサーチ結果であってもサーチクエリのサーチ結果の1つとして選択され含まれ得ることも可能である。例えば、1つのフィーチャは、ユーザがソーシャルネットワーキングウェブサイトを通じてオンラインゲームを使用し得ることかもしれない。「ハッチングス(Hatchlings)」と呼ばれる利用可能なゲームの1つは、たとえこのゲームが単語「ジョンソン」に対する明確な関連性がほぼ無いか、または全く無かったとしても、サーチクエリ「ジョンソン」のサーチ結果の1つとして選択され得る。
【0036】
特定の実施形態は、工程330に示すように、サーチを要求するユーザに関連するソーシャルコンテキストまたは社会的情報に少なくとも基づき一組のサーチ結果をランク付けし得る。既存のサーチエンジン(例えば、グーグル(Google)、マイクロソフト(Microsoft)、またはヤフー(Yahoo)により提供されるサーチエンジン)は、主にコンテンツの関連性に基づきサーチ結果をランク付けする。これらのサーチエンジンは、サーチを要求する特定ユーザに関連するソーシャルコンテキストか、または社会的情報がこのような社会的情報を保有するソーシャルネットワーキングシステムによって提供されないので、これらを考慮しない。コンテンツの関連性の代りにまたはコンテンツの関連性に加えて、特定の実施形態は、ユーザのサーチ結果をランク付けする際にいくつかの要素として、サーチツールを提供するか、またはサーチツールに関連付けられたソーシャルネットワーキングシステムに利用可能な社会的情報を考慮し得る。すなわち、ランク付けはユーザの社会的情報に基づきユーザ個人毎にカスタマイズされる。加えて、特定の実施形態では、ユーザの過去の挙動が、サーチ結果を識別および/またはランク付けすることを補助するために利用され得る。
【0037】
例えば、ソーシャルネットワーキングシステムのユーザとして見つけられた「ジョンソ
ン」という名の3人が存在すると仮定する。サーチを要求するユーザの社会的情報が無ければ、3人のジョンソンはすべて同様に、ユーザが検索している人物となる可能性が高い。1つのケースでは、ユーザの社会的情報に基づき、3人のジョンソンのうちの1人(例えば、ジョンソン#1)がユーザの友達であってもよく、他の2人がそうではないと仮定する。この場合、ジョンソン#1は、ユーザが知らない人ではなくユーザの友達を検索している可能性が高いので、他の2人のジョンソンより高くランク付けされ得る。さらに、他の2人のジョンソンは、ユーザのサーチ結果として選択され得ない。別のケースでは、2人のジョンソン(例えば、ジョンソン#1とジョンソン#2)が両方ともユーザの友達であるがジョンソン#1はユーザに直接接続され(例えば、グラフにおいて、ユーザとジョンソン#1をそれぞれ表す2つのノード間にエッジが存在する)、ジョンソン#2はユーザに間接的に接続される(例えば、グラフに基づいて1つまたは複数の他のノードを通じて接続される)、または、ユーザはジョンソン#2よりジョンソン#1とより多くまたはより頻繁に連絡を取ったと仮定する。この場合、ジョンソン#1とジョンソン#2の両方は一組のサーチ結果中に含まれ得るが、ジョンソン#1はジョンソン#2より高くランク付けされ得る。
【0038】
別の例として、その名称中に単語「ジョンソン」を有する2つの企業、ジョンソン金物店とジョンソン・バーベキュー・レストランが存在すると仮定する。サーチを行うためにユーザが使用する電子デバイスは、ユーザが「ジョンソン」に関するサーチを要求した同デバイスの位置、すなわちユーザの位置とを示す位置データ(例えば、GPSデータ)を供給し得る。1つのケースでは、ジョンソン・バーベキュー・レストランはユーザの位置に近く、一方ジョンソン金物店は遠く離れていると仮定する。この場合、ジョンソン・バーベキュー・レストランは、ユーザが近くの会社を検索している可能性が高いので、ジョンソン金物店がより高くランク付けされ得る。別のケースでは、ユーザが過去にジョンソン・バーベキュー・レストランを訪れていたが、ジョンソン金物店には一度も訪れていなかったと仮定する。この場合、ジョンソン・バーベキュー・レストランもまた、ユーザが過去に何らかのコンタクトを有した会社を検索している可能性が高いので、ジョンソン金物店がより高くランク付けされ得る。
【0039】
第3の例として、2つのイベントがそれらの記載(ジョンソンの誕生パーティとジョンソンシティカウンセル会議)中に単語「ジョンソン」を有していると仮定する。ユーザがジョンソンの誕生パーティに招待されており、招待状に肯定的に応答していれば、ジョンソンの誕生パーティがジョンソンシティカウンセル会議より高くランク付けされ得る。ユーザがジョンソンシティ内に住んでいなければ、ジョンソンシティカウンセル会議は恐らくユーザに対する関係を有しないので、サーチ結果中に全く含まれてなくてよい。ジョンソンの誕生パーティが土曜の夕方午後6:00に予定され、ユーザがサーチを要求した時間が土曜の午後5:00頃であれば、ユーザがサーチを行った時間がイベントの時間にかなり近いためユーザは出席に備えてイベントについての情報をチェックしている可能性が高いので、この場合も、ジョンソンの誕生パーティはより高くランク付けされ得る。
【0040】
第4の例として、ユーザのプロファイルに基づき、ユーザがオートレースに関心があるか、またはユーザがオートレースについてメッセージを投稿したと仮定する。1つのケースでは、NASCARレースに参加するジミー・ジョンソンについてのニュース記事(例えば、ニュースフィード)は、ユーザがこのような記事に関心があり得るので、より高くランク付けられ得る。別のケースでは、ジミー・ジョンソンとオートレースについて複数のニュースフィードが存在するが、いくつかは古くいくつかは新規であると仮定する。ユーザがサーチを行った時間により近い最近のニュースフィードは、古い、すなわち恐らく陳腐化したニュースフィードよりユーザにとって関心がある可能性が高いので、古いニュースフィードより高くランク付けされ得る。
【0041】
上記例が示すように、ユーザにより提出されたサーチクエリに応じて一組のサーチ結果を選択およびランク付けする際、ユーザ、サーチ、またはサーチクエリに関連する利用可能な情報が利用され得る。このような情報は、ソーシャルネットワーキングシステムに関連してユーザのデバイス上に、または広くインターネット上になどの様々なサイトに記憶され得る。ユーザのデバイス上において情報が既に利用可能である場合、ソーシャルネットワークシステムから、またはインターネット上の当該情報を再び取得する必要はないかもしれない。特定の実施形態では、ソーシャルネットワーキングシステムに含まれる情報はグラフとして表されてもよく(例えば、
図1に示すように)、このようなグラフは、グラフ内のノード毎に、サーチを要求するユーザに対応するノードに対するその関係を示す係数を計算するために利用され得る。この係数は一組のサーチ結果をランク付けすることを補助するために使用され得る。特定の実施形態では、各サーチ結果はグラフ内のノードにも対応し得る。
【0042】
特定の実施形態では、特定のサーチ結果が利用可能になると直ちにユーザに提示され得る。より多くのサーチ結果が利用可能になると、それらは既存のサーチ結果に加えられ、混合され、ユーザにも提示され得る。同時に、サーチ結果はランク付けされてもよく、高くランク付けされたサーチ結果は低くランク付けされたサーチ結果より前にユーザに提示されなければならない。しかし、第2のサーチ結果より前に利用可能になる第1のサーチ結果は、必ずしも第2のサーチ結果より高くランク付けされない。特定の実施形態では、サーチ結果をランク付けする際、ランク付け得点がサーチ結果毎に計算されてもよく、サーチ結果はそれぞれのランク付け得点に基づきランク付けされる。特定の実施形態では、各サーチ結果が利用可能になると、そのランク付け得点が計算され得る。2つのサーチ結果間において、第1のサーチ結果が第2のサーチ結果より前に利用可能になるが、第1のサーチ結果のランク付け得点は第2の結果のランク付け得点より低いと仮定する(これは、それぞれのランク付け得点に基づき、第2のサーチ結果をユーザの電子デバイスの表示画面上の第1のサーチ結果の上に提示しなければならないことを意味する)。第2のサーチ結果が利用可能になる時間までに、第1のサーチ結果が既にユーザに提示され(すなわち、ユーザの電子デバイスの表示画面上に表示されている)てもよい。特定の実施形態では、第2のサーチ結果が第1のサーチ結果より高くランク付けされるので、第2のサーチ結果をユーザに提示する際、第2のサーチ結果は、第1のサーチ結果を表示画面のさらに下へ実質的に「押し下げる」ことにより、ユーザの電子デバイスの表示画面上の第1のサーチ結果の上に配置される(例えば、挿入される)。
【0043】
任意選択的に、特定の実施形態は、一組中の1つまたは複数のサーチ結果のそれぞれのランクを、通常はより高くランク付けされるであろういくつかの他のサーチ結果より前にユーザに提示され得るように、押し上げ得る。特定のサーチ結果のランクを押し上げる様々な理由が存在する。
【0044】
例えば、サーチツールを提供するソーシャルネットワーキングシステムはいくつかの事業目的を達成することを望むかもしれない。サーチを要求するユーザがソーシャルネットワーキングウェブサイトにおける自身のアカウント内に識別された非常に少ない友達(例えば、5人未満の友達)を有すると仮定する。ソーシャルネットワーキングシステムは、このようなユーザに、より多くの友達を持つように奨励することを望むかもしれない。ユーザがクエリ「ジョンソン」に基づきサーチを行ったときに特定位置におけるイベントに参加していると仮定する。1つのケースでは、2人のジョンソンもまた同一のイベントに参加していると仮定する。ジョンソン#1はユーザの友達であり、ジョンソン#2はユーザにとって知らない人である。通常、ジョンソン#1は、ユーザが、同一のイベントに参加しているユーザの友達を検索している可能性が高いので、ジョンソン#2より高くランク付けされるだろう。しかし、ユーザに新たな友達と出会うように奨励するために、ジョンソン#2のランクはジョンソン#1のランクの上にブート(boot)され、したがっ
てジョンソン#2はジョンソン#1より前にユーザに提示される。その結果、ユーザはジョンソン#2と出会い、ジョンソン#2とも友達になり得る。別のケースでは、「スミス(Smith)」(ユーザの友達であるジョンソンの友達であるが、ユーザにとって知らない人である)という名の人物もまた同一のイベントに参加していると仮定する。通常、スミスはクエリ「ジョンソン」に対して編集された一組のサーチ結果中に含まれ得ないか、またはスミスが、クエリ「ジョンソン」に対して編集されたサーチ結果に含まれていても、スミスは比較的低くランク付けされ得る。しかし、ユーザに新たな友達に出会うように奨励するために、スミスのランクはいくつかの他のサーチ結果のランクの上になるように押し上げられてもよく、よってかなり早くユーザに提示される。その結果、ユーザはスミスに出会い、彼らが共通の友達を共有することを特に考慮して、スミスと友達になり得る。
【0045】
第2の例として、ソーシャルネットワーキングシステムはそのフィーチャのいくつかの機能についてユーザを訓練したいか、またはいくつかのユーザ挙動を促進したいかもしれない。1つのケースでは、サーチを要求するユーザが、ソーシャルネットワーキングウェブサイトを通じて様々なオンラインゲームを使用することができることを未だ知らないと仮定する。ユーザがクエリ「カフェ(cafe)」のサーチを要求すると、「カフェミステリ(Cafe Mystery)」という名のオンラインゲームが、ランクが押し上げられた状態でサーチ結果中に含まれ得る。このゲームがユーザに提示されるとき、ユーザは、このゲームおよび他の多くのゲームを使用することができることを学習し得る。このようなタイプの押し上げは、ユーザが機能に精通するか、またはいくつかの挙動パターンを取得するまで、何回も繰り返され得る。その後、同様なタイプのサーチ結果のランクを押し上げる必要はないであろう。
【0046】
第3の例として、ソーシャルネットワーキングシステムがそのウェブサイトへ新たなフィーチャを最近加えたと仮定する。そのユーザの注意をこの新たなアプリケーションに向けさせるには、ユーザがサーチを要求するときに、新たなフィーチャに関するサーチ結果(例えば、新たなフィーチャを指し示すリンク)がサーチ結果の1つとして含まれ得る。これは特定ユーザが既に新たなフィーチャを利用したか否かに基づき判断され得る。1つのケースでは、サーチを要求するユーザが新たなフィーチャを既に利用していれば、新たなフィーチャは、ユーザが新たなフィーチャについて既に知っているので、新たなフィーチャがサーチクエリに対する関連性がほとんどまたは全く無い場合は特に、サーチ結果中に含まれる必要が無いかもしれない。一方、サーチを要求するユーザが新たなフィーチャと相互作用したことがなければ、新たなフィーチャがサーチ結果の1つとして選択され得る。さらに、新たなフィーチャのランク付けは、ユーザの注意を引くためにかなり早くユーザに提示されるように、押し上げられ得る。
【0047】
特定の実施形態では、ユーザにより提供されるサーチクエリに対して編集された一組のサーチ結果を所与として、ランク付け得点が、一組中のサーチ結果毎に計算され得る。特定の実施形態では、ランク付け得点は、限定するものではないが、例えばサーチ結果のサーチクエリに対するコンテンツ関連性のレベル、サーチまたはサーチクエリを要求するユーザに対するサーチ結果の社会的関連性のレベル、サーチ結果に与えられる押し上げ量、もしあれば(例えば、事業目的に基づき判断される)、ユーザがサーチを要求した時間または位置に対するサーチ結果が有する時間または位置の観点での接近性の程度など、多くの要素(例えば、アルゴリズムに対する入力としての様々な要素)を考慮するアルゴリズムを使用して計算され得る。アルゴリズムは、サーチ結果毎の最終ランク付け得点を判断するためにすべての利用可能な要素(すなわち入力)を組み合わせ得る。特定の実施形態では、ランク付け得点は0と1との間の数字に正規化され得る。
【0048】
一例では、一組中に含まれるソーシャルネットワーキングウェブサイトのフィーチャに
関連付けられた1つまたは複数のサーチ結果が存在し得る。特定のフィーチャを所与として、ユーザがフィーチャと相互作用したことが無ければ、フィーチャに関連付けられた1つまたは複数のサーチ結果が一組中に含まれ得る。さらに、これらのサーチ結果のランク付けは、ユーザがそのフィーチャに気付きその後使用し得ることを期待して、これらのサーチ結果がユーザにより早く提示されるように、押し上げられ得る(例えば、これらのサーチ結果のそれぞれのランク付け得点を増加するランク付けアルゴリズムへ押し上げ要素を提供することにより)。一方、ユーザが既にそのフィーチャと相互作用したことがあれば、そのフィーチャに関連する特別のアクション(例えば、そのフィーチャに関連付けられたサーチ結果を選択するおよびそれらのランク付けを押し上げること)は必要ないかもしれない。
【0049】
あるいは、特定の実施形態では、特定のフィーチャを所与として、ユーザがフィーチャに対して有する相互作用の量または頻度が判断され得る。例えば、ユーザがフィーチャに対して有する相互作用のレベルは0と1の間の数字として表され得る。ユーザがフィーチャとの相互作用を有しなければ、相互作用のレベルは0であり得る。一方、ユーザがフィーチャを頻繁に利用すれば、相互作用のレベルは1近くであり得る。ユーザが、所与のサーチクエリに対するサーチを行うことを要求すると、サーチクエリに対して編集された一組のサーチ結果内のフィーチャに関する1つまたは複数のサーチ結果を含むべきか否かと、含む場合にはこれらのサーチ結果のランク付けをどれだけ押し上げるべきかは、ユーザがフィーチャに対して有する相互作用の現在のレベルに依存し得る。例えば、ユーザがフィーチャとの相互作用を有しないか、またはそのレベルが非常に低ければ、そのフィーチャに関するいくつかのサーチ結果は一組中に含まれ、それらのランク付けは非常に高く押し上げられ得る。ユーザがフィーチャとますます相互作用するにつれ、一組中に含まれるフィーチャに関するサーチ結果の数は徐々に減少してもよく、それらのランク付けは僅かに押し上げられるだけでよい。最終的に、ユーザがフィーチャと頻繁に相互作用すると、フィーチャに関係するサーチ結果を一組中に含む必要はない。
【0050】
特定の実施形態では、押し上げ係数(例えば、0と1の間の数字)は、ユーザがフィーチャに対して有する相互作用の現在のレベルに基づき、フィーチャに関係するサーチ結果毎に判断され得る。この押し上げ係数は、サーチ結果毎にランク付け得点を計算する際、入力の1つとしてランク付けアルゴリズムへ提供され得る。フィーチャに関係しないサーチ結果については、その押し上げ係数は0(すなわち、押し上げ無し)に設定され得る。例えば、ユーザがフィーチャとの相互作用を有しないか、またはほとんど有しないとき、押し上げ係数は1に近い値であり得る。ユーザがフィーチャとますます相互作用するにつれ、押し上げ係数は徐々に低下し得る。最終的に、ユーザがフィーチャと頻繁に相互作用すると、押し上げ係数は0近くであり得る。
【0051】
特定の実施形態では、フィーチャに関係するサーチ結果を、サーチクエリに対して編集された一組のサーチ結果中に含む際、ユーザはこのフィーチャに関心が無いことを示す選択肢を与えられ得る。ユーザが、特定のフィーチャに関心が無いことを示せば、このユーザにより要求されたその後のサーチについては、このようなサーチ結果がユーザにより提供されるサーチクエリに対する関連性がほぼ無いか、またはまったく無い場合は特に、特定のフィーチャに関係するサーチ結果はサーチ結果として人為的には選択されない。したがって、ユーザが、特定のフィーチャに関心が無いことを示すとき、ユーザがフィーチャと相互作用したことがない場合であってもフィーチャに関係するサーチ結果はサーチ結果として人為的には選択されず、フィーチャに関係するサーチ結果がサーチ結果として選択されるとき、それぞれのランクは人為的には押し上げられない。
【0052】
一例では、ユーザの過去の挙動は、入手可能な場合、どのサーチ結果がそのランクを押し上げなければならないかを判断するためだけでなくサーチ結果を選択および/またはラ
ンク付けすることを補助するために利用され得る。特定の実施形態では、ユーザの挙動は挙動プロファイル中に収集されてもよく、このプロファイル中に含まれる情報はサーチツールによって必要に応じ利用され得る。例えば、ユーザが場所であるサーチ結果をほとんどまたは決して選択しない(例えば、タップしない)と仮定する。これは、ユーザが場所型サーチ結果に関心が無いことを示唆し得る。この場合、ユーザの個人的嗜好を考慮するために、サーチツールは、ユーザのサーチ結果を選択する際、場所型サーチ結果をほとんどまたは全く含まなくてよい。
【0053】
逆に、システムは、ユーザの関心を拡大するためにユーザに様々なタイプのサーチ結果を探索することを奨励したいかもしれない。その結果、ユーザのサーチ結果を選択する際、サーチツールは多くの場所型サーチ結果を含み得る。さらに、場所型サーチ結果の少なくともいくつかのランクは、ユーザの注意を引くために人為的に押し上げられ得る。同様な戦略(例えば、ユーザは特定のサーチ結果を決して選択しない)は特定のサーチ結果に対して適用され得る。
【0054】
別の例として、ユーザが、在宅時、就業時、または移動中に特定のタイプのサーチ結果のみを選択すると仮定する。したがって、ユーザの現在位置に基づき、多くのそれら特定のタイプのサーチ結果が含まれてもよく、適切であれば、サーチ結果のそれらのタイプの少なくともいくつかのランクが押し上げられ得る。
【0055】
第3の例として、ユーザは別の特定人物に関連付けられたウェブページ(例えば、この人物により著されたこの人物の個人的ページまたはページ群(ブログなど))を閲覧する(例えば、読む)ことを好むかもしれないが、様々な理由により、ユーザはこの人物と直接コミュニケーションを取らないかもしれない(例えば、ユーザが、読んだページについて返信またはコメントをしないかもしれない)。サーチツールに関連付けられたソーシャルネットワーキングシステムは、そのユーザに情報(例えば、ウェブページのコンテンツ)を受動的に閲覧するだけでなくそれに能動的に寄与すること(例えば、コメントを書く、返信するなど)を奨励する事業目的を有し得る。ユーザがウェブページを閲覧するとき、ユーザはページのコンテンツへの関心を既に示しているので喜んでこのページまたはページの著者とさらに相互作用する可能性が高い。この場合、例えば、ウェブページのランク付けが押し上げられ得る。
【0056】
特定の実施形態は、工程340に示すように、一組中の特定のサーチ結果に対してコールトゥアクション要素を選択し得る。一例では、一組中の全てのサーチ結果が関連コールトゥアクション要素を有してもよく、一方他の場合では、一組中の特定のサーチ結果だけが関連コールトゥアクション要素を有し得る。サーチ結果が関連コールトゥアクション要素を有するか否か、有する場合には、特定のタイプのコールトゥアクション要素は多くの要素に依存してもよく、本開示は任意の適用可能要素も企図する。限定するものではないが例えば、要素は、ユーザの挙動履歴、サーチ結果がユーザに提示された時間、サーチ結果がユーザに提示されたユーザデバイス(すなわち、ユーザ)の位置、サーチツールに関連付けられたソーシャルネットワーキングシステムがユーザにサーチ結果により何をすることを奨励するか、または望ませ得るか、ソーシャルネットワーキングシステムに関連付けられたグラフ(例えば、
図1に示すグラフ100)により表される情報、などを含み得る。
【0057】
限定するものではないが例えば、電子メールを送信する、電話をかける、メッセージに応答する、コメントを投稿する、サーチ結果をリンクする、ウェブベースアプリケーションを実行する、製品を購入する、サーチ結果のコンテンツを閲覧するなど、多くのタイプのコールトゥアクション要素が存在する。実際には、サーチ結果に対して行われ得るアクションが当該コールトゥアクション要素を生じ得る。したがって、本開示は任意の適用可
能なタイプのコールトゥアクション要素を企図する。
【0058】
一例では、サーチ結果は、1つのタイプの好適または適用可能なコールトゥアクション要素にだけ関連付けられ得る。このような場合、このタイプのコールトゥアクション要素はサーチ結果に関連付けられる可能性が高い。しかし、多くの場合サーチ結果は複数のタイプのコールトゥアクション要素に関連付けられ得る。このような場合、1つの特定のタイプのコールトゥアクション要素がサーチ結果に対して選択され、サーチ結果に関連付けられ得る。どの特定のタイプのコールトゥアクション要素が特定のサーチ結果として好適であるか、または適用可能であるかは、サーチ結果自体の性質またはコンテンツに依存し得る。
【0059】
複数のコールトゥアクション要素に関連付けられ得るサーチ結果を所与として、特定の実施形態は、コールトゥアクション要素と共に、サーチ結果がユーザに提示される時点でユーザに最も好適または好ましいと考えられる1つまたは複数のコールトゥアクション要素を選択し得る。様々なコールトゥアクション要素は様々なユーザにとってまたは様々な時間において好適であると考えられ得ることに留意されたい。特定の実施形態では、所与のサーチ結果については、サーチ結果として好適であるか、または適用可能な一組のコールトゥアクション要素が、利用可能な情報に基づき編集され得る。次いで、コールトゥアクション要素は様々な要素(例えば、上述の要素)に基づきランク付けされ得る。すなわち、サーチ結果にとって適切なコールトゥアクション要素を判断するために、特定の実施形態は、サーチ結果に対する一組の好適なコールトゥアクション要素を編集するためにサーチ(すなわち、サーチ結果に応じてコールトゥアクション要素の第2のサーチ)を行い、次いで、一組中のコールトゥアクション要素をランク付けし得る。次いで、最高ランクのコールトゥアクション要素または要素群がサーチ結果に関連付けられ得る。特定の実施形態では、コールトゥアクション要素のランク付けは、例えば、サーチを要求するユーザ、サーチが要求された時間および/または位置、サーチのコンテキストなどを考慮して、サーチ結果に対する個々のコールトゥアクション要素の好適度を示し得る。
【0060】
特定の実施形態では、サーチ結果に対するコールトゥアクション要素を選択および/またはランク付けする際、ソーシャルネットワーキングシステムに関連付けられたグラフ(例えば、
図1に示すグラフ100)により表される情報が利用され得る。上述のように、ユーザはソーシャルネットワーキングシステムの会員であるので、グラフ内のノードの1つはユーザに対応し得る。加えて、サーチ結果もまた、グラフ内の特定のノードに対応し得る。したがって、ユーザとサーチ結果との関係または関係群は、ユーザとサーチ結果にそれぞれ対応する2つのノードがグラフ内でどのように(例えば、直接または間接的に)関係し得るかを調べることにより判断され得る。
【0061】
例えば、サーチクエリ「ジョンソン」に対して識別されたサーチ結果が、サーチを要求するユーザの友達である「メアリ・ジョンソン」であると仮定する。さらに、メアリ・ジョンソンは自宅の電話番号、職場の電話番号、モバイルフォン番号、ファックス番号、電子メールアドレス、およびインスタントメッセージアドレスを含む利用可能ないくつかのコンタクト情報を有すると仮定する。したがって、メアリ・ジョンソンに対し好適なコールトゥアクション要素は、「自宅へ電話する」、「職場へ電話する」、「モバイルへ電話する」、「ファックスを送信する」、「電子メールを送信する」、および「インスタントメッセージを送信する」を含み得る。これらの様々なコールトゥアクション要素はメアリ・ジョンソンの一組に編集され得る。一組中のコールトゥアクション要素をランク付けするために、ユーザのメアリ・ジョンソンとの過去の通信相互作用が分析され得る。ユーザがメアリ・ジョンソンと連絡を取る際にメアリ・ジョンソンのモバイルフォンに最も頻繁に電話すれば、コールトゥアクション要素「モバイルへ電話する」が最も好適であると考えられ、サーチ結果「メアリ・ジョンソン」に関連付けるために選択され得る。一方、ユ
ーザが、メアリ・ジョンソンと連絡を取る際、彼女へインスタントメッセージを最も頻繁に送信すれば、コールトゥアクション要素「インスタントメッセージを送信する」が最も好適であると考えられ、サーチ結果「メアリ・ジョンソン」に関連付けるために選択され得る。この例が示すように、一組のコールトゥアクション要素をランク付けする際、サーチ結果「メアリ・ジョンソン」と相互作用する際のユーザの過去の挙動パターンだけでなくユーザのサーチ結果「メアリ・ジョンソン」との関係(すなわち社会的友達)も考慮すべき関連要素であり得る。
【0062】
あるいは、メアリ・ジョンソンはユーザの個人的友達でないがユーザが関心を持つ有名人物(例えば、女優)であると仮定する。ユーザとメアリ・ジョンソンとの関係は上記例とは異なるので、メアリ・ジョンソンがサーチクエリ「ジョンソン」に対するサーチ結果として識別されると、サーチ結果「メアリ・ジョンソン」に対し好適なコールトゥアクション要素もまた異なり得る。この例では、ユーザはメアリ・ジョンソンのコンタクト情報を有し得ない。その代りに、適用可能なコールトゥアクション要素は、「メアリ・ジョンソンについてのヘッドラインニュースを読む」、「メアリ・ジョンソンの最新の映画のチケットを購入する」、「メアリ・ジョンソンの写真を閲覧する」、「メアリ・ジョンソンの公式ウェブサイトへ行く」、「メアリ・ジョンソンファンクラブに加入する」を含み得る。ユーザがメアリ・ジョンソンについてのニュース記事を頻繁に読んだことがあれば、コールトゥアクション要素「メアリ・ジョンソンについてのヘッドラインニュースを読む」が最高ランクのコールトゥアクション要素と考えられ、サーチ結果「メアリ・ジョンソン」に関連付けられ得る。一方、ユーザがサーチを要求した日にリリースされたメアリ・ジョンソン主演の新たな映画があれば、「チケットを購入する」コールトゥアクション要素がより高くランク付けされサーチ結果「メアリ・ジョンソン」に関連付けられ得る。この場合、ユーザがサーチを要求した時間がコールトゥアクション要素のランク付けに影響を与え得る。
【0063】
一例では、サーチツールに関連付けられたソーシャルネットワーキングシステムの目的が、コールトゥアクション要素の選択および/またはランク付けに影響を与え得る。第3の例として、ソーシャルネットワーキングシステムが、そのウェブサイトにおいてソーシャルネットワーキングシステムにより後援される新たなウェブベースアプリケーションを促進したいと仮定する。したがって、このウェブベースアプリケーションは、サーチクエリに対して識別された一組のサーチ結果中に含まれ得る。加えて、ウェブベースアプリケーションのランク付けは上述のように押し上げられ得る。ウェブベースアプリケーションに対して選択され、およびそれに関連付けられたコールトゥアクション要素は、ユーザが、ウェブベースアプリケーションの隣に表示された「起動する」コールトゥアクション要素をクリックすることによりウェブベースアプリケーションを好都合に使用し始め得るように、「アプリケーションを起動する」であり得る。この例が示すように、コールトゥアクション要素のランク付けは、上述のように、サーチ結果のランク付けを押し上げることと同様な手法で人為的に押し上げられ得る。すなわち、一例では、サーチツール(例えば、ソーシャルネットワーキングシステム)のプロバイダは、特定のコールトゥアクション要素を好む(例えば、その事業目的に基づき)かもしれなく、したがって、サービスプロバイダにより好まれるこれらコールトゥアクション要素が選択され他のコールトゥアクション要素の上にサーチ結果に関連付けられ得るように、その好ましいコールトゥアクション要素のランクを他のコールトゥアクション要素の上に押し上げることを選択し得る。
【0064】
一例では、サーチが行われる時間および/またはサーチを要求する際にユーザが存在する位置が、コールトゥアクション要素の選択および/またはランク付けに影響を与え得る。例えば、サーチ結果が「ジョンソン・バーベキュー・レストラン」であると仮定する。ジョンソン・バーベキュー・レストランに関連付けられ得る好適なコールトゥアクション要素は、「チェックインする」、「“いいね!”する」、および「予約する」を含み得る
。ユーザがサーチを要求するときにジョンソン・バーベキュー・レストランに現在居れば(例えば、ユーザのデバイスにより提供される位置データにより示されるように)、ユーザがレストランの晩餐会に参加しておりチェックインしたい可能性が高いので「チェックインする」が選択されサーチ結果に関連付けられ得る。当然、複数の要素がともに、どの特定のコールトゥアクション要素が所与の時間および/または位置において所与のユーザに対してより好ましいかを示し得る。したがって、ユーザのカレンダーに基づき、(1)ジョンソン・バーベキュー・レストランにおいて開催される晩餐会がある、(2)ユーザは晩餐会に招待された(すなわち、ユーザは招待者である)、(3)ユーザは晩餐会に参加することに同意した(例えば、ユーザは参加の返事をした)、(4)ユーザがサーチを要求する現在時刻は晩餐会の前後であると判断されたと仮定する。これらすべての情報要素はサーチ結果に対するコールトゥアクション要素のランクを判断するために組み合わせられ得る。
【0065】
別の例として、ユーザは他の人とコンピュータゲーム(例えば、ウェブベースまたはデスクトップベースの)を行っていると仮定する。したがって、ウェブベースゲームがサーチ結果である場合、ゲームに関連付けられ得る好適なコールトゥアクション要素は、ユーザがゲームに対し取り得る入力アクション(例えば、ゲーム開発者により設計された)を含み得る。ゲームが複数のプレーヤ間の相互作用(例えば、プレーヤ同士が互いに戦う)ゲームであると仮定する。ゲームのシナリオに基づき、プレーヤは相手を蹴るもしくは殴る、または相手からの攻撃をかわすもしくは阻止し得る。したがって、ゲームに関連付けられ得るコールトゥアクション要素は、「蹴る」「殴る」、「かわす」、および「阻止する」を含み得る。特定の実施形態では、ウェブベースゲームに関連付けられたコールトゥアクション要素が、ユーザに関するゲームの現在状態を考慮しながらランク付けされ得る。例えば、ゲームおいてユーザに対して発生した最後のアクションが、別のプレーヤがユーザを蹴ることであれば、このような状況ではユーザが攻撃に対して防御アクションを取る可能性が高いので、「阻止」コールトゥアクション要素がより高くランク付けされ、ゲームに関連付けられ得る。
【0066】
特定の実施形態では、サーチ結果に関連付けられたコールトゥアクションは状況が変化するにつれて更新され得る。上記例では、ユーザが他のプレーヤからのキックを阻止するために「阻止」コールトゥアクション要素をクリックすると、ゲームに関連付けられたコールトゥアクション要素は、ユーザが他のプレーヤに対して反撃動作をなすように「蹴る」に更新され得る。
【0067】
様々なゲームは様々なプレーヤアクションを有し得る。例えば、プレーヤが吸血鬼と戦うゲームは様々な攻撃動作またはアクションを支援し得る。吸血鬼は光に敏感であるので、これらの攻撃アクションのいくつかは日中に良好に働いてもよく、他のものは日没後良好に働き得る。したがって、サーチが要求された現在の時刻が、どのコールトゥアクション要素がこのようなゲームに関連付けられるかに影響を与え得る。現在時刻が日中であれば、日中に吸血鬼に対して良好に働く1つまたは複数のアクションが選択されゲームに関連付けられ得る。一方、現在時刻が夕方または夜間であれば、日没後吸血鬼に対して良好に働く1つまたは複数のアクションが選択されゲームに関連付けられ得る。
【0068】
特定の実施形態では、ゲームにより支援された利用可能アクションは、ユーザのデバイス上に記憶され得るか、またはサーバ(例えば、ソーシャル−ネットワークシステムまたはゲーム開発者に関連付けられたサーバ)から取得され得る。例えば、アクションは、ユーザが選択すれば、ユーザのデバイスにダウンロードされ得る。次いで、不定期に、ゲームが更新され、新たなアクションが利用可能になると、それらはユーザのデバイスに必要に応じてダウンロードされ得る。
【0069】
これらの例が示唆するように、サーチ結果として好適または適切なコールトゥアクション要素を選択することにより、ユーザの相互作用とサーチ体験とを著しく改善し得る。例えば、上記例の1つに説明されたように、新たにリリースされた映画の隣に「チケットを購入する」コールトゥアクション要素を配置することにより、ユーザはユーザデバイス上に表示されたサーチ結果から直接チケットを購入し得る。これにより、別のウェブサイト(例えば、切符販売ウェブサイト)にナビゲートし、映画を再び検索し、次いでチケットを購入するという煩わしさをユーザから省く。同様に、戦闘動作をウェブベースゲームに関連付けることにより、ユーザはゲームのウェブサイトに実際に行く必要無くゲームを使用し得る。
【0070】
特定の実施形態では、関連情報のすべてではないがその多くは、情報が、サーチ結果とコールトゥアクション要素を選択およびランク付けするサーチツールに容易に利用可能となるように、ソーシャルネットワーキングシステムに関連付けられたグラフに組み込まれ得る。各情報アイテムは大小にかかわらず、グラフ中のノードに対応してもよく、2つの情報アイテム間の各関係は2つの対応ノードを接続するグラフ中のエッジに対応し得る。したがって、グラフは情報項目だけでなくそれらの関係も含む。
【0071】
上に説明したように、一例では、いくつかのコールトゥアクション要素が、サーチツール(例えば、ソーシャルネットワーキングシステム)のプロバイダにより好まれるかもしれなく、したがって、これらの好ましいコールトゥアクション要素のランクは、サーチ結果に関連付けられる他のコールトゥアクション要素の上に選択されるように、押し上げられ得る。特定の実施形態では、サーチ結果がソーシャルネットワーキングシステムにより好まれるコールトゥアクション要素に関連付けられると、このサーチ結果のランクもまた、他のサーチ結果より前にユーザに提示されるように押し上げられ得る。これにより、ユーザがサーチ結果に関連付けられた好ましいコールトゥアクション要素を選択し得る公算を増し得る。
【0072】
特定の実施形態は、工程350に示すように、それぞれのランクに従って、サーチ結果をそのランクの順番にユーザのデバイス上に表示することによりユーザに提示し得る。
高度なユーザデバイスは、様々なタイプのデータを記憶するのに十分な量の記憶領域を有し得る。例えば、スマートフォンにより、ユーザのコンタクト、カレンダー予約、イベント、タスクリスト、インスタントメッセージ、電子メール、ニュースフィードなどのいくつかはデバイス上に記憶され得る。このような情報は、デバイスがオフラインである(すなわち、ネットワークから切断された)ときでも利用可能である。特定の実施形態では、ユーザはデバイスがオンラインであるか(すなわちネットワークに接続されている)、またはオフラインであるかにかかわらず自分のデバイスによりサーチを行い得る。ユーザがサーチを要求するときにデバイスがオンラインであれば、サーチ結果は、ユーザのデバイス上に記憶された情報とソーシャルネットワーキングシステムによりおよびインターネット上で利用可能な情報との両方に基づき編集され得る。ユーザがサーチを要求するときにデバイスがオフラインであれば、サーチ結果はユーザのデバイス上に記憶された情報にだけ基づき編集され得る。
【0073】
特定の実施形態では、サーチ結果は、利用可能になると直ちにユーザに提示される(例えば、ユーザの電子デバイスの画面上に表示される)。加えて、サーチ結果はランク付けされてもよく、高くランク付けされたサーチ結果は、低くランク付けされたサーチ結果の上にユーザの電子デバイスの画面上に表示され得る。高くランク付けされたサーチ結果が低くランク付けされたサーチ結果の後に利用可能になると、高くランク付けされたサーチ結果は、低くランク付けされたサーチ結果をユーザの電子デバイスの画面上のさらに下に押し下げることにより、低くランク付けされたサーチ結果(既に表示されている)の上にユーザの電子デバイスの画面上に表示され得る。
【0074】
一例では、ユーザは、ユーザのデバイスがオフラインである間に、サーチ処理(例えば、サーチクエリを提出することにより)を開始し得る。しかし、サーチが行われている間、デバイスはネットワークに接続されてオンラインとなり得る。この場合、デバイスがオンラインになる前に、サーチ結果が、デバイス上にローカルに記憶された情報に基づき取得され得る。デバイスがオンラインになった後、追加のサーチ結果がソーシャルネットワーキングシステムによりおよびインターネット上で利用可能な情報から取得され得る。利用可能になった後、新たなサーチ結果は既存のサーチ結果と混合され得る。各サーチ結果のランクが判断され得る。サーチ結果の提示は、新たに利用可能なサーチ結果を組み込む必要がある場合には調整され得る(例えば、いくつかの新たに利用可能なサーチ結果を、ユーザのデバイスの画面上のいくつかの既存のサーチ結果の上に挿入する)。
【0075】
一例では、いくつかのタイプのサーチ結果(例えば、画像、ビデオなど)を文字(words)で説明するのが困難かもしれない。加えて、モバイル携帯デバイス上のテキスト入力は多くの場合煩わしくかつ時間がかかる可能性がある。したがって、ユーザがこのようなタイプの情報を検索したいときに十分に明確、正確、かつ記述的サーチクエリを策定するのは困難かもしれない。例えば、インターネット上に投稿されたホワイトハウスの何百万もの画像が存在し得る。ユーザが特定の型式の(例えば、特定の視野または角度からの、特定の設定での、など)白い家(ホワイトハウス)の画像を見つけ出すことを望めば、ユーザが検索しているホワイトハウスの画像のタイプを明確かつ正確に記述するためにユーザが文字でサーチクエリを策定することは困難かもしれない。一方、ユーザがサーチクエリとして「ホワイトハウス」を単に使用すれば、ユーザが探している画像のタイプではない極めて多くの画像がサーチ結果として含まれ得るが、ユーザはこれらのすべてをフィルタにかけなければならなく、これは非常に時間がかかり得る。
【0076】
ユーザのサーチ体験をさらに改善するために、特定の実施形態は、ユーザがサーチツールにアクセスすると直ちに、かつユーザが任意のサーチクエリをサーチツールに提出する前に、一組のサーチ結果をユーザに示唆し得る。これらの示唆されたサーチ結果は、ユーザに関する既知の情報に基づき編集およびランク付けされ得る。
図4に、ユーザが任意のサーチクエリを提供する前に一組のサーチ結果をユーザに示唆するための例示的な方法を示す。ユーザは、電話番号、電子メールアドレス、または他のコンタクト情報などのいくつかの特定情報を見つけ出すためにサーチツール(例えば、ソーシャルネットワーキングシステムにより提供されるサーチツール)を使用したいと仮定する。ユーザは、工程410に示すように、ユーザデバイス(例えば、ネットブックコンピュータまたはモバイルフォンなどのモバイル機器)上のサーチツールを呼び出すか、または実行することによりサーチツールにアクセスし得る。通常、サーチツールは、
図2A〜
図2Cに示されるユーザインタフェース200などのユーザインタフェースを提供する。ユーザインタフェースは、ユーザにサーチクエリを入力し、および提出できるようにする入力フィールド210とサーチ結果を表示するための出力フィールド230とを含み得る。ユーザデバイス上のサーチツールを実行することにより、サーチツールにより提供されるユーザインタフェースをユーザデバイス上に表示させ得る。
【0077】
特定の実施形態では、ユーザが任意のサーチクエリをサーチツールに入力し、および提出する(例えば、入力フィールド210を通じて)前に、実際には、ユーザが入力フィールド210中に単一文字をタイプする前に、工程420に示すように、一組のサーチ結果が、ユーザに関する既知の情報に基づきユーザに対して編集され得る。特定の実施形態では、サーチ結果のいくつかは、上述のように選択され得る適切なコールトゥアクション要素に関連付けられ得る。上述したように、サーチ処理は、1つまたは複数のリモートソースからサーチ結果を取得する前にまたは取得すると同時に、ローカルに記憶された結果にアクセスし、および提示し得る。
【0078】
ユーザがサーチツールにアクセスした時点で、ユーザに関する既知の様々な種類の情報が存在する。例えば、ユーザがサーチツールにアクセスしたという事実は実質的に、ユーザが情報を探していることを示唆する。したがって、ユーザが関心を持ち得るあるサーチ結果をユーザに示唆することは適切な応答である。ユーザにより使用されるユーザデバイスから、ユーザがサーチツールにアクセスした時間が判断され得る。加えて、ユーザがサーチツールにアクセスした時点のユーザデバイスの位置(ユーザの位置を意味する)が判断され得る。例えば、ユーザデバイスがモバイルフォンであれば、電話の無線信号は電話の、したがってユーザの位置を判断する(例えば、信号を三角測量することにより)ために利用され得る。ユーザデバイスが位置センサ(例えば、GPSセンサ)を有すれば、センサデータはデバイスの、したがってユーザの位置を判断するために利用され得る。
【0079】
さらに、ユーザの識別子が(例えば、ユーザデバイスの識別子から)判断され得る。したがって、ユーザに関する様々な情報がアクセスおよび分析され得る。例えば、ユーザがソーシャルネットワーキングウェブサイトの会員であれば、ソーシャルネットワーキングウェブサイトにより記憶されたユーザに関する情報、限定するものではないが例えば、ユーザの人口統計的情報、ソーシャル(社会的な)コネクション(例えば、家族、友達、同僚など)、ソーシャルカレンダーおよびイベント、趣味および関心などが存在し得る(例えば、ユーザのプロファイルまたはアカウント設定内に)。加えて、ユーザにより行われた過去のアクション(例えば、ユーザデバイスに関連して行われたアクション)がログ記録され記憶されてもよく、各アクションは、いつ当該アクションが行われたかを示すタイムスタンプと他の関連情報とに関連付けられ得る。特定の実施形態では、これらのアクション履歴はユーザの挙動パターンを構築するために編集され得る。例えば、挙動パターンは、通常ユーザは木曜日の夕方に外食し、土曜日の朝に両親に電話し、日曜日の午後に子供を連れて地元の劇場で映画を観賞することなどを示し得る。いくつかの実施態様により、ソーシャルネットワーキングウェブサイトは利用可能な情報すべてをグラフ(
図1に示すような)中に記憶し得る。ソーシャルネットワーキングウェブサイトは多くの会員を有してもよく、すべての会員についての情報はグラフ中に編集および記憶され得ることに留意されたい。
【0080】
特定の実施形態では、一組の示唆されたサーチ結果が様々な判定基準に基づきランク付けされ得る。特定の実施形態では、ユーザが任意のサーチクエリを入力する前に編集された一組の示唆されたサーチ結果のランク付けは、ユーザにより提供されるサーチクエリに応じて編集されるサーチ結果の組のランク付けとは異なり得る。一組の示唆されたサーチ結果内には、サーチクエリとしてテキストキーワードを使用してランク付けまたは見つけるのが困難な写真または映像などの特定のサーチ結果が存在し得る。特定の実施形態では、このようなサーチ結果が一組の示唆されたサーチ結果(すなわち、サーチクエリ無しに編集された一組のサーチ結果)に含まれているとき、このようなサーチ結果のランク付けは上げられ得る。一方、このようなサーチ結果が、サーチクエリに応じて編集されたサーチ結果の組に含まれているとき、それらのランク付けは比較的低い(例えば、人為的には上げられない)かもしれない。
【0081】
特定の実施形態では、ソーシャルネットワーキングウェブサイトのユーザまたはユーザ群について既知の情報はユーザモデルを構築するために利用され得る。一例では、異なるモデルがユーザ個人毎に構築され得る。特定ユーザのモデルは、そのユーザに関する既知の情報(例えば、ユーザのプロファイル、挙動パターン、ソーシャルコネクションなど)に基づき構築されてもよく、そのユーザに一意的な特性を反映し得る。他の場合では、モデルはユーザのグループ(例えば、特定の年齢グループに属するユーザ、特定地域に住んでいるユーザ、特定分野で働くユーザ)に対して構築され得る。ユーザのグループのモデルは、そのグループに属するすべてのユーザに関する既知の情報に基づき構築されてもよ
く、そのグループのユーザに共通または典型的な特性(例えば、20〜30歳のユーザはポップミュージックをより好む、またはアクション映画を好み得る)を反映し得る。特定ユーザまたはユーザのグループのいずれかのモデルを構築するために、決定木、エキスパートシステム、ワードクラスタリング、統計的回帰、確率密度、確率的オートマトン、および他の機械学習技術を含むがこれらに限定されない様々な技術を使用し得る。これらの技術は、モデルについての既知情報と、ユーザおよび/またはモデルに適用可能なユーザからのフィードバックに基づき学習された情報との組合せであってもよい。特定の実施形態では、ユーザに関する既知の情報(例えば、ユーザのユーザモデルおよび/またはユーザが属するユーザのグループのユーザモデルの形式の)は、サーチクエリがユーザにより提供されることなく、ユーザに対する示唆として一組のサーチ結果を選択することを補助するために利用され得る。モデルへの入力は、アクセスの時間およびユーザの識別子だけでなくモバイル機器からのセンサデータ(例えば、GPSデータ、携帯電話基地局(cell tower)データ、加速度計データなど)および通話記録を含むことができる。例えば、ユーザがサーチツールにアクセスした時間が日曜日の午後2:00頃であれば、ユーザが自身と子供のための特定の映画を選択することを望む可能性があるので、地元の劇場で現在上演中の映画が一組のサーチ結果に含まれ得る。ユーザがサーチツールにアクセスした時間が木曜日の午後6:00頃であり、ユーザデバイスの位置が繁華街内であれば、ユーザは夕食のためのレストランを見つけることを望む可能性があるので、ユーザデバイスから徒歩圏内のレストランが一組のサーチ結果に含まれ得る。ユーザがサーチツールにアクセスした時間が土曜日の午前10:30頃であれば、ユーザの両親の電話番号が一組のサーチ結果に含まれ得る。加えて、電話番号は、ユーザが単一アクションにより両親に電話し得るように(例えば、コールトゥアクションアイコンをタップすることにより)、番号をダイヤルするためにコールトゥアクション要素に関連付けられ得る(例えば、電話番号の隣に表示されるアイコンに表されるように)。
【0082】
別の例として、ユーザのソーシャルカレンダーに従って、ユーザは間もなくイベントに参加する予定であり、ユーザがサーチツールにアクセスする時間がイベントの開始前約30分であると仮定する。イベントに関する情報(例えば、位置、開始時間、ユーザの現在位置からイベントの位置までの運転方向)が一組のサーチ結果に含まれ得る。
【0083】
別の例として、ユーザのプロファイルは、ユーザがハイキングやサイクリングなどのアウトドアアクティビティに非常に関心があることを示し得る。あるいは、ユーザの過去のアクションは、ユーザがアウトドアアクティビティに関係するウェブサイトを頻繁に訪れることを示し得る。この場合、アウトドアアクティビティに関係するウェブページ(例えば、ハイキングコース、バイクレースなどについての情報)またはアウトドアアクティビティに関連する製品(例えば、ハイキング用ブーツ、バックパック、マウンテンバイクなど)についての広告が一組のサーチ結果に含まれ得る。
【0084】
特定の実施形態では、工程430に示すように、一組のサーチ結果が例えばユーザに関する既知の情報に基づきランク付けされ得る。いくつかの実施態様により、サーチクエリが無く取得されたサーチ結果をランク付けするために使用されるランク付けアルゴリズムは、上述のようにサーチクエリに応じて取得されたサーチ結果をランク付けするために使用されるランク付けアルゴリズムとは異なり得る。例えば、上述のように、サーチクエリに応じて識別されたサーチ結果をランク付けする際、考慮すべき1つの要素は、サーチ結果がサーチクエリに対して有する関連度である。しかし、サーチクエリが無く編集されたサーチ結果をランク付けする際、サーチクエリが存在しないので、サーチクエリに対するサーチ結果の関連性が要素となる可能性は低い。その代りに、ランク付けアルゴリズムは他の要素を考慮し得る。
【0085】
特定の実施形態では、過去のアクションは、ユーザのアクションに関する最近のデータ
を提供してもよく、これはどの程度最近にユーザが特定のアクションを行ったかを示し得る。一例として、ユーザに対して編集された一組のサーチ結果に含まれる多くの画像が存在し、最近のデータは、ユーザがウェブブラウザを利用して、オンラインで投稿された多くの画像をブラウズしたところである(例えば、過去10分以内に)ことを示すと仮定する。この場合、ユーザが多くの画像を閲覧した直後に、より多くの画像を検索することを望む可能性は低いかもしれないので、ランク付けアルゴリズムは、一組のサーチ結果に含まれた画像のランクを下げ得る。逆に、ユーザは特に探している画像を未だ見つけておらず、したがってサーチツールを利用してそれらを検索することを判断した可能性があるので、ランク付けアルゴリズムは一組のサーチ結果に含まれた画像のランクを上げることを選択し得る。
【0086】
別の例として、一組のサーチ結果に含まれたニュースフィードからのニュース記事が存在すると仮定する。ユーザの過去のアクションの記録がユーザは既に特定のニュース記事を読んだことを示せば、このニュース記事は一組のサーチ結果から排除されてもよく、または、ニュース記事が一組のサーチ結果の中に依然として含まれていれば、ニュース記事のランクは下げられ得る。ユーザの挙動パターンがユーザはニュースフィードを毎日何度も読むことを示せば、一組のサーチ結果に含まれたニュース記事(特に、ユーザが未だ読んでいないニュース記事)のランクが押し上げられ得る。
【0087】
別の例として、一組のサーチ結果はユーザが最近受信した多くの電子メールメッセージを含むと仮定する。ユーザがサーチツールにアクセスした時間が平日の通常業務時間中であれば、ユーザの同僚によって送信された電子メールメッセージは、ユーザの友達によって送信された電子メールメッセージより高くランク付けされ得る。一方、ユーザがサーチツールにアクセスした時間が週末の夕方であれば、ユーザの友達によって送信された電子メールメッセージはユーザの同僚によって送信された電子メールメッセージより高くランク付けされ得る。
【0088】
工程440に示すように、サーチ結果はそれぞれのランクに従ってユーザに提示され(例えば、ユーザデバイス上の出力フィールド230内に表示され)得る。いくつかの実施形態では、ユーザがサーチツールにアクセスすると直ちに、およびユーザインタフェースがユーザデバイス上に当初表示されるとき、ユーザインタフェース内に含まれた出力フィールドは示唆されたサーチ結果により既に埋められている。すなわち、サーチツールのユーザインタフェースがユーザに最初に提示されると、ユーザインタフェースは、ユーザに関する既知の情報に基づき編集され、およびランク付けされたサーチ結果であって示唆されたサーチ結果を既に含む。次いで、ユーザは、提示されたサーチ結果の任意のサーチ結果と相互作用する選択肢を有する(例えば、ユーザは通常、サーチクエリに応じて識別されたサーチ結果と相互作用する)または、ユーザインタフェースに含まれた入力フィールド内にサーチクエリを入力する(例えば、ユーザが、示唆されたサーチ結果が有用であるとは思わない場合)。
【0089】
ユーザがサーチクエリをサーチツールに入力し、および提出することを選択すれば、
図3に関連して上に説明したように、サーチツールは提出されたサーチクエリに応じて新たな一組のサーチ結果を編集し得る。新たな一組のサーチ結果はユーザインタフェースに含まれた出力フィールド内に表示されてもよく、サーチ結果の初期設定を置換する。いくつかの実施態様により、支援された「タイプアヘッド」フィーチャにより、ユーザがユーザインタフェースに含まれた入力フィールド内にサーチクエリの文字を入力し始めると直ちに、サーチツールは、サーチ結果の初期設定を置換するために、これまで入力された文字に応じて、新たなサーチ結果を編集し得る。
【0090】
いくつかの実施態様により、一貫性のあるサーチ体験をユーザに提供するために、各一
組のサーチ結果は、サーチクエリ無しに編集されたか否かにかかわらず(例えば、ユーザが任意のサーチクエリを提出する前に)、またはユーザにより提出されたサーチクエリに応じて、複数組のサーチ結果がすべて同一または同様な外観と雰囲気を有するように、同一または同様な形式またはレイアウトで提示される。ユーザは、どのように一組のサーチ結果が取得されるかを気にする必要はなく、その代りに、ユーザが探している特定のサーチ結果を見つけ出すことに専念できる。
【0091】
いくつかの実施態様により、サーチツールは、一旦サーチクエリが入力されると異なる組のサーチ結果を編集するために任意のサーチクエリを入力する前に、インタフェースを利用してユーザの挙動を考慮し得る。例えば、サーチクエリを入力する前に、示唆されたサーチ結果のリストを下にスクロールするユーザは、直ちにタイプし始めるユーザとは異なる情報を閲覧する(例えば、示唆されたいずれのサーチ結果を精査することにも煩わされること無しに)。サーチツールは、リストを下にスクロールしたユーザが閲覧したサーチ結果を再ランク付けし、カテゴリにより制限し、または隠し得る。
【0092】
上述のサーチツール機能(例えば、サーチ結果を識別し、ランク付けし、押し上げる)は、実行されるとプログラム可能プロセッサに上述の動作を実施させるコンピュータ可読記憶媒体上に記憶された一連の命令として実施され得る。
図5には、例示的コンピュータシステム500を示す。特定の実施形態では、1つまたは複数のコンピュータシステム500は、本明細書に記載され、または図示された1つまたは複数の方法の1つまたは複数の工程を行う。特定の実施形態では、1つまたは複数のコンピュータシステム500は本明細書に記載され、または図示された機能を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム500上で動作するソフトウェアは、本明細書に記載され、または図示された1つまたは複数の方法の1つまたは複数の工程を行うか、または本明細書に記載され、または図示された機能を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム500の1つまたは複数の部分を含む。
【0093】
本開示は、任意の好適な数のコンピュータシステム500を企図する。本開示は、任意の好適な物理的形式であるコンピュータシステム500を企図する。制約条件としてではなく一例として、コンピュータシステム500は、組込コンピュータシステム、システムオンチップ(SOC:system−on−chip)、シングルボードコンピュータシステム(SBC:single−board computer system)(例えば、コンピュータオンモジュール(COM:computer−on−module)またはシステムオンモジュール(SOM:system−on−module)など)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、双方向型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、またはこれらの2つ以上の組合せであり得る。適切な場合には、コンピュータシステム500は1つまたは複数のコンピュータシステム500を含み、単一または分散型であり、複数の位置に広がり、複数の機械デバイスに広がり、または1つまたは複数のネットワーク内に1つまたは複数のクラウドコンポーネントを含み得るクラウド内に存在し得る。適切な場合には、1つまたは複数のコンピュータシステム500は、ほぼ空間的または時間的制限無しに、本明細書に記載され、または図示された1つまたは複数の方法の1つまたは複数の工程を行い得る。制約条件としてではなく一例として、1つまたは複数のコンピュータシステム500は、リアルタイムでまたはバッチモードで、本明細書に記載され、または図示された1つまたは複数の方法の1つまたは複数の工程を行い得る。1つまたは複数のコンピュータシステム500は、適切な場合、本明細書に記載され、または図示された1つまたは複数の方法の1つまたは複数の工程を様々な時間にまたは様々な位置で行い得る。
【0094】
特定の実施形態では、コンピュータシステム500は、プロセッサ502、メモリ50
4、ストレージ506、入出力(I/O)インタフェース508、通信インタフェース510、バス512を含む。本開示は特定の配置における特定の数の特定部品を有する特定のコンピュータシステムについて説明し図示するが、本開示は任意の好適な配置における任意の好適な数の任意の好適な部品を有する任意の好適なコンピュータシステムを企図する。
【0095】
特定の実施形態では、プロセッサ502は、コンピュータプログラムを構成するような命令を実行するためのハードウェアを含む。制約条件としてではなく一例として、命令を実行するために、プロセッサ502は、内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506から命令を取り出し(またはフェッチし)、それらを復号化し実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506へ書き込み得る。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ502を企図する。制約条件としてではなく一例として、プロセッサ502は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、1つまたは複数の変換索引バッファ(TLB:translation lookaside buffer)を含み得る。命令キャッシュ内の命令はメモリ504またはストレージ506内の命令の複製であってもよく、命令キャッシュはプロセッサ502によるそれらの命令の取り出しを早め得る。データキャッシュ内のデータは、プロセッサ502において実行して作用する命令用のメモリ504またはストレージ506内のデータの複製、プロセッサ502において実行するその後の命令によるアクセスのためにまたはメモリ504またはストレージ506に書き込むためにプロセッサ502において実行された以前の命令の結果、または他の好適なデータであり得る。データキャッシュはプロセッサ502による読み取りまたは書き込み動作を早め得る。TLBは、プロセッサ502の仮想アドレス変換を早め得る。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレス用の1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ502を企図する。適切な場合、プロセッサ502は1つまたは複数の演算装置(ALU)を含み、マルチコアプロセッサであり、または1つまたは複数のプロセッサ502を含み得る。本開示は特定のプロセッサについて説明し図示するが、本開示は任意の好適なプロセッサを企図する。
【0096】
特定の実施形態では、メモリ504は、プロセッサ502が実行する命令またはプロセッサ502が作用するデータ用のメインメモリを含む。制約条件としてではなく一例として、コンピュータシステム500は、命令をストレージ506または別のソース(例えば、別のコンピュータシステム500など)からメモリ504へロードし得る。次いで、プロセッサ502は命令をメモリ504から内部レジスタまたは内部キャッシュへロードし得る。命令を実行するために、プロセッサ502は内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号し得る。命令の実行中または実行後、プロセッサ502は1つまたは複数の結果(中間または最終結果であり得る)を内部レジスタまたは内部キャッシュへ書き込み得る。次いで、プロセッサ502はそれらの結果の1つまたは複数をメモリ504に書き込み得る。特定の実施形態では、プロセッサ502は、1つまたは複数の内部レジスタまたは内部キャッシュ内またはメモリ504内の命令だけを実行し(ストレージ506または他のどこかとは対照的に)、1つまたは複数の内部レジスタまたは内部キャッシュ内またはメモリ504内のデータだけに作用する(ストレージ506または他のどこかとは対照的に)。1つまたは複数のメモリバス(それぞれアドレスバスとデータバスを含み得る)はプロセッサ502をメモリ504に結合し得る。バス512は以下に述べるように1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU:memory management unit)はプロセッサ602とメモリ504間に存在し、プロセッサ502により要求される
メモリ504へのアクセスを容易にする。特定の実施形態では、メモリ504はランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMはダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。さらに、適切な場合、このRAMはシングルポートまたはマルチポートRAMであり得る。本開示は任意の好適なRAMを企図する。メモリ504は、適切な場合、1つまたは複数のメモリ504を含み得る。本開示は特定のメモリについて説明し図示するが、本開示は任意の好適なメモリを企図する。
【0097】
特定の実施形態では、ストレージ506はデータまたは命令用の大容量記憶装置を含む。制約条件としてではなく一例として、ストレージ506は、HDD、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス(USB)ドライブ、またはこれらの2つ以上の組合せを含み得る。ストレージ506は、適切な場合、着脱可能または着脱不能(すなわち固定)媒体を含み得る。ストレージ506は、適切な場合、コンピュータシステム500内にまたはコンピュータシステム500外に存在し得る。特定の実施形態では、ストレージ506は不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ506は読み出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的消去再書き込み可能ROM(EAROM:electrically alterable ROM)、またはフラッシュメモリ、またはこれらの2つ以上の組合せであり得る。本開示は、任意の好適な物理的形式である大容量ストレージ506を企図する。ストレージ506は、適切な場合、プロセッサ502とストレージ506間の通信を容易にする1つまたは複数の記憶制御機構を含み得る。適切な場合、ストレージ506は1つまたは複数のストレージ506を含み得る。本開示は特定の記憶装置について説明し図示するが、本開示は任意の好適な記憶装置を企図する。
【0098】
特定の実施形態では、I/Oインタフェース508は、コンピュータシステム500と1つまたは複数のI/Oデバイス間の通信のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム500は、適切な場合、これらのI/Oデバイスの1つまたは複数を含み得る。これらのI/Oデバイスの1つまたは複数は、人とコンピュータシステム500間の通信を可能にし得る。制約条件としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロホン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、他の好適なI/Oデバイス、またはこれらの2つ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサを含み得る。本開示は任意の好適なI/Oデバイスと任意の好適なI/Oインタフェース508を企図する。適切な場合、I/Oインタフェース508は、プロセッサ502がこれらのI/Oデバイスの1つまたは複数を駆動できるようにする1つまたは複数のデバイスまたはソフトウェアドライバを含み得る。I/Oインタフェース508は、適切な場合、1つまたは複数のI/Oインタフェース508を含み得る。本開示は特定のI/Oインタフェースについて説明し図示するが、本開示は任意の好適なI/Oインタフェースを企図する。
【0099】
特定の実施形態では、通信インタフェース510は、コンピュータシステム500と1つまたは複数の他のコンピュータシステム500または1つまたは複数のネットワークとの間の通信(例えば、パケットベースの通信など)のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェアまたはその両方を含む。制約条件としてではなく一例として、通信インタフェース510は、イーサネット(登録商標)または他の有線ベースのネットワークと通信するためのネットワークインタフェース制御装置(NIC:network interface controller)またはネットワークア
ダプタ、またはWI−FIネットワークなどの無線ネットワークと通信するための無線NIC(WNIC)または無線アダプタを含み得る。本開示は、任意の好適なネットワークと任意の好適な通信インタフェース510を企図する。制約条件としてではなく一例として、コンピュータシステム500は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの1つまたは複数の部分、またはこれらの2つ以上の組合せと通信し得る。これらのネットワークの1つまたは複数のネットワークの1つまたは複数の部分は有線または無線であり得る。一例として、コンピュータシステム500は、無線PAN(WPAN)(例えば、ブルートゥースWPANなど)、WI−FIネットワーク、WI−MAXネットワーク、携帯電話ネットワーク(例えば、グローバル移動体通信システム(GSM(登録商標):Global System for Mobile Communications)ネットワークなど)、他の好適な無線ネットワーク、またはこれらの2つ以上の組合せと通信し得る。コンピュータシステム500は、適切な場合、これらのネットワークのうちの任意のネットワークの任意の好適な通信インタフェース510を含み得る。通信インタフェース510は、適切な場合、1つまたは複数の通信インタフェース510を含み得る。本開示は特定の通信インタフェースについて説明し図示するが、本開示は任意の好適な通信インタフェースを企図する。
【0100】
特定の実施形態では、バス512は、コンピュータシステム500のコンポーネントと互いに結合するハードウェア、ソフトウェア、またはその両方を含む。制約条件としてではなく一例として、バス512は、アクセラレイテッドグラフィックポート(Accelerated Graphics Port:AGP)または他のグラフィックバス、強化型業界標準アーキテクチャ(Enhanced Industry Standard
Architecture:EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HYPERTRANSPORT:HT)相互接続、業界標準アーキテクチャ(ISA)バス、インフィニバンド(INFINIBAND)相互接続、ローピンカウント(low−pin−count:LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(Micro Channel Architecture:MCA)バス、周辺部品相互接続(PCI:Peripheral Component Interconnect)バス、PCI−エックス:PCI−エクスプレス(PCI−X:PCI−Express)バス、シリアルアドバンストテクノロジアタッチメント(SATA:serial advanced technology attachment)バス、ビデオ電子装置規格化協会ローカル(VLB:Video Electronics
Standards Association local)バス、他の好適なバス、またはこれらの2つ以上の組合せを含み得る。バス512は適切な場合1つまたは複数のバス512を含み得る。本開示は特定のバスについて説明し図示するが、本開示は任意の好適なバスまたは相互接続を企図する。
【0101】
本明細書では、コンピュータ可読記憶媒体への参照は、1つまたは複数の非一時的、有形、コンピュータ可読記憶媒体処理構造を包含する。制約条件としてではなく一例として、コンピュータ可読記憶媒体は、適切な場合、半導体ベースまたは他の集積化回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA:field−programmable gate array)または特定用途IC(ASIC:application−specific IC)など)、ハードディスク、HDD、ハイブリッドハードディスクドライブ(HHD:hybrid hard drive)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)ディスク、フロッピー(登録商標)ディスクドライブ(FDD)、磁気テープ、ホログラフィック記憶媒体、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタル(SECURE DIGITAL)カード、セキュアデジタルドライブ、
他の好適なコンピュータ可読記憶媒体、またはこれらの2つ以上の組み合わせを含み得る。本明細書では、コンピュータ可読記憶媒体への参照は、合衆国法典第35巻第101条下の特許権保護を受ける資格が無い媒体を除外する。本明細書では、コンピュータ可読記憶媒体への参照は、合衆国法典第35巻第101条下の特許権保護を受ける資格が無い限り、信号送信の一時的形式(電気的または電磁気的伝播信号自体など)を除外する。非一時的なコンピュータ可読記憶媒体は、適切な場合、不揮発性、揮発性、または揮発性と不揮発性との組合せであり得る。
【0102】
本開示は、任意の好適な記憶装置を実装する1つまたは複数のコンピュータ可読記憶媒体を企図する。特定の実施形態では、コンピュータ可読記憶媒体は、適切な場合、プロセッサ502の1つまたは複数の部分(例えば、1つまたは複数の内部レジスタまたはキャッシュなど)、メモリ504の1つまたは複数の部分、ストレージ506の1つまたは複数の部分、またはこれらの組み合わせを実装する。特定の実施形態では、コンピュータ可読記憶媒体はRAMまたはROMを実装する。特定の実施形態では、コンピュータ可読記憶媒体は揮発性または持続性メモリを実装する。特定の実施形態では、1つまたは複数のコンピュータ可読記憶媒体はソフトウェアを具現する。本明細書では、ソフトウェアへの参照は、適切な場合、1つまたは複数のアプリケーション、バイトコード、1つまたは複数のコンピュータプログラム、1つまたは複数の実行ファイル、1つまたは複数の命令、論理、マシンコード、1つまたは複数のスクリプト、またはソースコードを包含してもよく、逆もまた同様である。特定の実施形態では、ソフトウェアは1つまたは複数のアプリケーションプログラムインタフェース(API)を含む。本開示は、任意の好適なプログラミング言語またはプログラミング言語の組み合わせで書かれるか、またはそうでなければ表現される任意の好適なソフトウェアを企図する。特定の実施形態では、ソフトウェアはソースコードまたはオブジェクトコードとして表現される。特定の実施形態では、ソフトウェアは、例えばC、Perl、または好適なその拡張版などのハイレベルプログラミング言語で表現される。特定の実施形態では、ソフトウェアは、アセンブリ言語(またはマシンコード)などのローレベルプログラミング言語で表現される。特定の実施形態では、ソフトウェアはJAVA(登録商標)、C、またはC++で表現される。特定の実施形態では、ソフトウェアは、ハイパーテキストマークアップ言語(HTML:Hyper Text Markup Language)、拡張可能マークアップ言語(XML:Extensible Markup Language)、または他の好適なマークアップ言語で表現される。
【0103】
本明細書で、「または」は、明記しない限りまたは文脈において示されない限り、包括的であって排他的でない。したがって本明細書では、「AまたはB」は、明記しない限りまたは文脈において示されない限り「A、B、または両方」を意味する。さらに、接続詞「および」は、明記しない限りまたは文脈が示さない限り、合同と個々の両方である。したがって本明細書では、「AおよびB」は、明記しない限りまたは文脈が示さない限り、「AとB合同でまたは個々に」を意味する。
【0104】
本開示は、当業者が理解する本明細書の例示的実施形態に対するすべての変更、置換、変形、代替、修正を包含する。同様に、適切な場合、添付の特許請求の範囲、当業者が理解する本明細書の例示的実施形態に対するすべての変更、置換、変形、代替、修正を包含する。さらに、装置またはシステムへの添付特許請求範囲内の参照、または特定機能を行うように適合化され、配置され、特定機能を行うことができ、特定機能を行うように構成され、特定機能を行うことができるようにされ、特定機能を行うように動作可能な、または特定機能を行うように動作する装置またはシステムの部品は、それがまたはその特定機能が有効化される、オンされる、またはロック解除されるか否かにかかわらず、そしてその装置、システム、または部品がそのように適合化され、構成され、行うことができ、配置され、可能にされ、動作可能にされ、動作するようにされる限り、その装置、システム
、部品を包含する。