特許第6054465号(P6054465)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧
特許6054465検索エンジンの結果ページ内に目的別アプリケーションを提供する装置、方法、プログラム、及びシステム
<>
  • 特許6054465-検索エンジンの結果ページ内に目的別アプリケーションを提供する装置、方法、プログラム、及びシステム 図000002
  • 特許6054465-検索エンジンの結果ページ内に目的別アプリケーションを提供する装置、方法、プログラム、及びシステム 図000003
  • 特許6054465-検索エンジンの結果ページ内に目的別アプリケーションを提供する装置、方法、プログラム、及びシステム 図000004
  • 特許6054465-検索エンジンの結果ページ内に目的別アプリケーションを提供する装置、方法、プログラム、及びシステム 図000005
  • 特許6054465-検索エンジンの結果ページ内に目的別アプリケーションを提供する装置、方法、プログラム、及びシステム 図000006
  • 特許6054465-検索エンジンの結果ページ内に目的別アプリケーションを提供する装置、方法、プログラム、及びシステム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6054465
(24)【登録日】2016年12月9日
(45)【発行日】2016年12月27日
(54)【発明の名称】検索エンジンの結果ページ内に目的別アプリケーションを提供する装置、方法、プログラム、及びシステム
(51)【国際特許分類】
   G06F 17/30 20060101AFI20161219BHJP
【FI】
   G06F17/30 330A
【請求項の数】9
【全頁数】17
(21)【出願番号】特願2015-98389(P2015-98389)
(22)【出願日】2015年5月13日
(62)【分割の表示】特願2013-547531(P2013-547531)の分割
【原出願日】2011年12月19日
(65)【公開番号】特開2015-164072(P2015-164072A)
(43)【公開日】2015年9月10日
【審査請求日】2015年5月13日
(31)【優先権主張番号】12/981,860
(32)【優先日】2010年12月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】500257300
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】ウー スー−リン
(72)【発明者】
【氏名】ブローダー アンドレイ
(72)【発明者】
【氏名】ガブリロヴィッチ エフゲニー
(72)【発明者】
【氏名】レンペル ロニー
(72)【発明者】
【氏名】ボルトニコフ エドワード
(72)【発明者】
【氏名】ミカ ペーテル
(72)【発明者】
【氏名】ドナート デボラ
(72)【発明者】
【氏名】ライ ウェイ−チェン
(72)【発明者】
【氏名】ルヴォーグト クリストファー
【審査官】 樋口 龍弥
(56)【参考文献】
【文献】 Phillip Keys,Google:検索エンジンのニューウェイブ使いやすさと検索の質が特徴,日経インターネットテクノロジー,日本,日経BP社,1999年10月22日,第28号,p.84-87
【文献】 水野 貴明,Googleのすべてがわかる本,株式会社ソーテック社 ,柳澤 淳一,2007年11月20日,第1版,p.168-177
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
検索エンジンの結果ページ内に目的別アプリケーションを提供する装置であって、
ユーザから検索クエリを受け取る手段と、
前記検索クエリを解析し、解析結果に基づいて、当該検索クエリに関連する1又はそれ以上の動作を選択する手段と、
前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択する手段と、
前記選択されたアプリケーションを解析対象となった検索クエリを用いて実行した結果を検索結果ページ内に表示する手段と、
を備えることを特徴とする装置。
【請求項2】
検索エンジンの結果ページ内に目的別アプリケーションを提供する装置であって、
ユーザから検索クエリを受け取る手段と、
前記検索クエリに関連する1又はそれ以上の動作を選択する手段と、
前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションであって、アプリケーションに関連するメタデータパラメータに基づいてランク付けされた前記1又はそれ以上のアプリケーションを選択する手段と、
前記1又はそれ以上のアプリケーションを検索結果ページ内に表示する手段と、
を備えることを特徴とする装置。
【請求項3】
前記アプリケーションに関連するメタデータパラメータは、ユーザのコミュニティにおける前記アプリケーションの人気または前記アプリケーションの過去の収益を含む、
ことを特徴とする請求項2に記載の装置。
【請求項4】
検索エンジンの結果ページ内に目的別アプリケーションを提供する装置であって、
ユーザから検索クエリを受け取る手段と、
前記検索クエリにユーザコンテキストを表すデータを追加し、前記検索クエリを解釈する手段と
前記解釈した検索クエリに関連する1又はそれ以上の動作を選択する手段と、
前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択する手段と、
前記1又はそれ以上のアプリケーションを検索結果ページ内に表示する手段と、
を備えることを特徴とする装置。
【請求項5】
検索エンジンの結果ページ内に目的別アプリケーションを提供する装置であって、
ユーザから検索クエリを受け取る手段と、
前記検索クエリに関連する1又はそれ以上の動作を選択する手段と、
前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択する手段と、
前記1又はそれ以上のアプリケーションを階層に編成して検索結果ページ内に表示する手段と、
を備えることを特徴とする装置。
【請求項6】
検索エンジンの結果ページ内に目的別アプリケーションを提供する装置であって、
ユーザから検索クエリを受け取る手段と、
前記検索クエリに関連する1又はそれ以上の動作を選択する手段と、
前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択する手段と、
前記1又はそれ以上のアプリケーションを検索結果ページ内に表示し、最初に提供したアプリケーションとのユーザインタラクションに基づいて後続のアプリケーションを提供する手段と、
を備えることを特徴とする装置。
【請求項7】
検索エンジンの結果ページ内に目的別アプリケーションを提供する方法であって、
ユーザから検索クエリを受け取るステップと、
前記検索クエリを解析し、解析結果に基づいて、当該検索クエリに関連する1又はそれ以上の動作を選択するステップと、
前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するステップと、
前記選択されたアプリケーションを解析対象となった検索クエリを用いて実行した結果を検索結果ページ内に表示するステップと、
を含むことを特徴とする方法。
【請求項8】
検索エンジンの結果ページ内に目的別アプリケーションを提供するためのプログラムであって、
コンピュータに、
ユーザから検索クエリを受け取るステップと、
前記検索クエリを解析し、解析結果に基づいて、当該検索クエリに関連する1又はそれ以上の動作を選択するステップと、
前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するステップと、
前記選択されたアプリケーションを解析対象となった検索クエリを用いて実行した結果を検索結果ページ内に表示するステップと、
を実行させることを特徴とするプログラム。
【請求項9】
検索エンジンの結果ページ内に目的別アプリケーションを提供するためのシステムであって、
ネットワークを介して検索エンジンに結合された、前記検索エンジンに検索クエリを送信する複数のクライアント装置と、
前記検索クエリを受け取る手段と、前記検索クエリを解析し、解析結果に基づいて、当該検索クエリに関連する1又はそれ以上の動作を選択する手段と、前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択する手段と、前記選択されたアプリケーションを解析対象となった検索クエリを用いて実行した結果を検索結果ページ内に表示する手段と、を備えるサーバ装置と、
を備えることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【0001】
著作権表示
本特許文書の開示部分は、著作権保護の対象内容を含む。著作権の権利所有者は、合衆国特許商標庁の特許ファイル又は記録内に表されるとおりに第三者が特許文書又は特許開示を複製することには異議を唱えないが、それ以外は全ての著作権を留保する。
【0002】
本明細書で説明する発明は、一般に、検索クエリに応答して、目的別のコンテキストアプリケーションを提供することに関する。より詳細には、本発明は、ユーザクエリを解析し、ユーザコンテキストを識別し、このユーザクエリ及びユーザコンテキストに基づく動作を、保存されたアプリケーションに関連付け、ユーザ装置上に1又は複数のアプリケーションを提示するためのシステム及び方法に関する。
【背景技術】
【0003】
インターネットが急速に拡がるにつれ、検索エンジンの役割が飛躍的に高まった。膨大な量のインターネットコンテンツを人間のユーザが手動的に利用することは急速に不可能になってきた。従って、インターネットの有用性を高める上で、検索エンジン技術の使用が不可欠なツールになってきた。
【0004】
検索結果の関連性を高めることは長足の進歩を遂げたが、検索エンジンユーザのコンテキストデータ及び履歴データを考慮することにはそれほど進歩が見られていない。また、検索結果ページインターフェイス内にアプリケーション又はウィジェットを組み入れることはほとんど進歩していない。対照的に、現在の検索エンジンは、一般に、ユーザクエリに応答して単純なハイパーリンクのリストを提供する。従って、ユーザは、自身のクエリに最も関連するリンクを識別して選択する必要がある。さらに、ユーザは、自分が求めている結果を得るためにさらなる段階を踏む必要がある。
【0005】
ユーザが休暇の計画を立てようとする例が特に顕著である。現在の環境では、ユーザは、「ボストン発ロサンゼルス行きの飛行機」などのクエリを入力することができる。これに応じて、ユーザは、チケットの購入に関する複数のサイトを受け取ることができる。この範例は、多くの理由によって不利益である。第1に、ユーザは、望むものではない可能性があるウェブサイトを多く含む無数の検索結果を依然として検索する必要がある。第2に、現在の検索エンジンは、インスタント検索クエリに関する情報しか提示しない。すなわち、現在の最先端技術では、ボストンからロサンゼルスへの休暇の計画を立てているユーザは、(「ボストン発ロサンゼルス行きの飛行機」という検索に加えて)ホテルを予約し、車をレンタルし、レストランを見つけ、その他の観光を行うために複数の検索を行う必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
従って、現在の最先端技術は、ユーザ検索行動の「全体像」を考えることができない。すなわち、現在の検索エンジン技術は、ユーザのクエリに対して直接的に単純に応答し、ユーザのコンテキスト及び過去の検索履歴を使用することによってクエリの特質を確認しようとはしない。従って、現在の最先端技術では、予想されるユーザの目的に応じて提供されるコンテキストアプリケーションを提供することにより、ユーザ検索体験を高めることが必要とされている。
【課題を解決するための手段】
【0007】
本発明は、検索エンジンの結果ページ内に目的別アプリケーションを提供するためのシステム及び方法に関する。この方法は、ユーザから検索クエリを受け取って、この検索クエリを解釈する。1つの実施形態では、ユーザ検索クエリを解釈するステップが、検索クエリのトークン化形式を生成するステップを含む。代替の実施形態では、ユーザ検索クエリを解釈するステップが、ユーザプロファイルに記憶されたデータを含むユーザコンテキストを表すデータを検索クエリに追加するステップをさらに含む。代替の実施形態では、ユーザ検索クエリを解釈するステップが、ユーザの過去の検索クエリを含むユーザコンテキストを表すデータを検索クエリに追加するステップをさらに含む。次に、この方法は、まず解釈したクエリを1又はそれ以上の動作テンプレートに対応付け、この解釈したクエリを1又はそれ以上の動作テンプレートに対応付けるステップは、解釈したクエリに関連する1又はそれ以上の動作を選択するステップを含む。
【0008】
次に、この方法は、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付け、この1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択する。1つの実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップが、編集判断を使用するステップを含む。代替の実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップが、アルゴリズム的に実行される。代替の実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付け、この1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するステップが、検索クエリ及びユーザコンテキストから抽出されたデータ、及び検索履歴に基づいて、アプリケーションを事前に埋めるステップをさらに含む。
【0009】
1つの実施形態では、この方法が、1又はそれ以上の選択したアプリケーションをランク付けする。1つの実施形態では、1又はそれ以上の選択したアプリケーションをランク付けするステップが、ユーザのコミュニティにおけるアプリケーションの人気に基づいて上位アプリケーションを選択するステップを含む。代替の実施形態では、1又はそれ以上の選択したアプリケーションをランク付けするステップが、アプリケーションの過去の収益に基づいて上位アプリケーションを選択するステップを含む。最後に、この方法は、これらの1又はそれ以上のアプリケーションを検索結果ページ内に表示する。
【0010】
本発明はさらに、検索エンジンの結果ページ内に目的別アプリケーションを提供するためのシステムに関する。このシステムは、ネットワークを介して検索エンジンに結合された複数のクライアント装置を備え、これらのクライアント装置は、検索エンジンに検索クエリを送信する。このシステムは、検索クエリを解釈するクエリインタプリタをさらに備える。1つの実施形態では、クエリインタプリタが、検索クエリのトークン化形式をさらに生成する。代替の実施形態では、クエリインタプリタが、ユーザコンテキストを表すデータを検索クエリにさらに追加する。1つの実施形態では、ユーザコンテキストが、ユーザプロファイルに記憶されたデータを含む。代替の実施形態では、ユーザコンテキストが、ユーザの過去の検索クエリを含む。このシステムは、解釈したクエリを1又はそれ以上の動作テンプレートに対応付ける動作推論モジュールを備え、解釈したクエリを1又はそれ以上の動作テンプレートに対応付けるステップは、解釈したクエリに関連する1又はそれ以上の動作を選択するステップを含む。
【0011】
このシステムは、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるとともに、アプリケーションデータベースに記憶された、1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するアプリケーションスコアラをさらに備える。1つの実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップが、編集判断を使用するステップを含む。別の実施形態では、解釈したクエリに関連する選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップが、アルゴリズム的に実行される。別の実施形態では、アプリケーションスコアラが、1又はそれ以上の選択したアプリケーションをさらにランク付けする。
【0012】
さらなる実施形態では、アプリケーションスコアラが、1又はそれ以上の選択したアプリケーションをさらにランク付けすることができる。1つの実施形態では、1又はそれ以上の選択したアプリケーションをランク付けするステップが、ユーザのコミュニティにおけるアプリケーションの人気に基づいて上位アプリケーションを選択するステップを含む。代替の実施形態では、1又はそれ以上の選択したアプリケーションをランク付けするステップが、アプリケーションの過去の収益に基づいて上位アプリケーションを選択するステップを含む。このシステムは、これらの1又はそれ以上のアプリケーションを検索結果ページ内に表示するフロントエンドサーバをさらに備える。
【0013】
同じ参照符号が同じ又は対応する部分を示す、限定的ではなく例示的であることが意図された添付図面の図に本発明を示す。
【図面の簡単な説明】
【0014】
図1】本発明の1つの実施形態による、ユーザコンテキストに基づいてコンテキスト動作を生成するためのシステムを示すブロック図である。
図2】本発明の1つの実施形態による、ユーザクエリに基づいてコンテキスト動作を生成するためのシステムを示すフロー図である。
図3】本発明の1つの実施形態による、ユーザコンテキストに基づいてコンテキスト動作を生成する方法を示すフロー図である。
図4】本発明の1つの実施形態による、検索結果ページ上のコンテキストアプリケーションを示す画面図である。
図5】本発明の1つの実施形態による、検索結果ページ上のコンテキストアプリケーションを示す画面図である。
図6】本発明の1つの実施形態による、検索結果ページ上のコンテキストアプリケーションを示す画面図である。
【発明を実施するための形態】
【0015】
以下の説明では、本明細書の一部を成す添付図面を参照し、図中には本発明を実施できる特定の実施形態を例示として示す。本発明の範囲から逸脱することなく、他の実施形態を利用すること、及び構造的な変更を行うことができると理解されたい。
【0016】
図1は、本発明の1つの実施形態による、ユーザコンテキストに基づいてコンテキスト動作を生成するためのシステムを示すブロック図である。図1の実施形態に示すように、複数のクライアント装置102a、102b、102cが、ネットワーク104を介して検索エンジン106に接続されている。検索エンジン106は、フロントエンドサーバ108、動作推論モジュール110、クエリインタプリタ112、アプリケーションスコアラ114、アプリケーションパラメータ化モジュール116、アプリケーションインデックス118及びアプリケーションデータベース120を含む複数の構成要素を備える。
【0017】
クライアント装置102a、102b及び102cは、中央処理装置、メモリユニット、永久記憶装置、オーディオ/ビデオ出力装置、ネットワークインターフェイスなどを有する汎用コンピュータ装置(パーソナルコンピュータ、テレビセットトップボックス、モバイル装置など)とすることができる。クライアント装置102a、102b及び102cは、ローカルネットワーク又はインターネットなどのワイドエリアネットワークとすることができるネットワーク104を介して通信する。本実施形態では、クライアント装置102a、102b及び102cが、クライアント/サーバ間でテキスト、画像及びその他のデータを交換するためのHTTP、WAP又は同様のプロトコルを介して検索エンジン106に要求を送信する。
【0018】
クライアント装置102a、102b及び102cは、検索結果を求める要求を検索プロバイダ110に送信し、これらの検索要求は検索語を含む。この検索語は、ユーザが生成した検索語であっても、又はユーザ支援による、すなわち提案された検索語であってもよい。1つの実施形態では、クライアント装置102a、102b及び102cが、テキストクエリ文字列を含むHTTP要求を送信することができる。例えば、クライアント装置102a、102b及び102cを操作するユーザは、「ニューヨーク、nyの寿司」などの検索語を含むクエリ文字列を入力し、HTML形式の要素を介してこのクエリを提出することができる。
【0019】
検索エンジン106は、フロントエンドサーバ108を介してクライアント装置からクエリを受け取る。1つの実施形態では、フロントエンドサーバ108が、APACHE HTTP SERVER、MICROSOFT IIS、又は他のいずれかの好適なウェブサーバソフトウェアなどのウェブサーバソフトウェアを実行する様々なハードウェア構成要素を含むことができる。図示の実施形態では、フロントエンドサーバ108が、所与のユーザにより入力された検索要求を受け取る。フロントエンドサーバ108は、所与のクエリに応答して、まず検索インデックス(図示せず)から複数の検索結果を取り出すことができる。1つの実施形態では、複数の検索結果が、提出された検索語の1又はそれ以上を少なくとも含む複数のウェブページを含む。図示の実施形態では、当業で公知の様々な方法を使用して、検索インデックス内の複数の検索結果を識別することができる。フロントエンドサーバ108はさらに、この検索結果及びアプリケーションをクライアント装置102a、102b及び102cに送信する。
【0020】
フロントエンドサーバ108は、動作推論モジュール110と通信する。図示の実施形態では、フロントエンドサーバ108が、受け取ったクエリを動作推論モジュール110に送信する。代替の実施形態では、フロントエンドサーバ108が、このクエリに関するメタデータを動作推論モジュール110にさらに送信する。例えば、フロントエンドサーバ108は、ユーザIDなどのデータを含む、クエリ提出ユーザに関連するクッキーで情報を送信することができる。図示の実施形態では、動作推論モジュール110が、高速検索できるように動作にインデックス付けし、動作を取り出して重み付けするためのメタデータを記憶し、コンテキストに基づいて動作を選択する。
【0021】
クエリインタプリタ112は、クエリを受け取ると、所与のクエリを分析して、ユーザのコンテキストを表すクエリの解釈を提供する。例えば、クエリインタプリタ112は、「bos(ボストン)発lax(ロサンゼルス)行きの飛行機」というクエリを受け取ることができる。これに応じて、クエリインタプリタ112は、この平文クエリを、「<トークン:飛行機><都市:ボストン><トークン:行き><都市:ロサンゼルス>」などの構造化フォーマットに翻訳することができる。図示のように、クエリインタプリタ112は、受け取ったクエリの特性に基づいて、平文クエリをトークン化バージョンに変換する。前の例では、クエリインタプリタ112が、「飛行機」及び「〜行き」という用語をトークンとして、また「bos(ボストン)」及び「lax(ロサンゼルス)」という用語を都市として抽出する。代替の実施形態では、クエリインタプリタが、解釈の生成において複数の外部指標を利用することができる。例えば、クエリインタプリタ112は、(長期の及び短期の活動を含む)ユーザプロファイルを利用して、概念及びエンティティ又はオブジェクトと元々のユーザクエリとをマッチさせることができる。また、クエリインタプリタ112は、アプリケーションとのユーザインタラクションに関する収集した指標を利用することもできる。1つの実施形態では、指標が、アプリケーションを使用したユーザ体験の質を表し、ユーザ行動に基づいて素早く改善される。
【0022】
クエリインタプリタ112は、抽出されたコンテキストを動作推論モジュール110に戻す。動作推論モジュール110は、この識別されたコンテキストに基づいて動作を選択する。1つの実施形態では、動作推論モジュール110が、解釈されたコンテキストを複数のテンプレートと比較する。例えば、動作推論モジュール110は、上記の解釈されたコンテキストを、2つのテンプレート動作「<航空チケットを購入する>」及び「<飛行機の到着/出発時間をチェックする>」にマッチさせることができる。
【0023】
動作推論モジュール110は、識別された動作及び解釈されたコンテキストをアプリケーションスコアラ114に送信する。図示の実施形態では、アプリケーションスコアラ114が、受け取ったコンテキスト及び動作に基づいてアプリケーションインデックス118からアプリケーションを選択する。また、アプリケーションスコアラ114は、本明細書で説明するように、これらの識別されたアプリケーションを採点してランク付けすることができる。アプリケーションスコアラモジュール114に加え、アプリケーションパラメータ化モジュール116が、解釈されたコンテキストから関連パラメータを抽出する。例えば、上記の例では、アプリケーションパラメータ化モジュール116が、「bos(ボストン)」及び「lax(ロサンゼルス)」という用語を関連パラメータとして抽出することができる。代替の実施形態では、アプリケーションパラメータ化モジュール116がさらに、「box(ボストン)」及び「lax(ロサンゼルス)」を「ボストン」及び「ロサンゼルス」に変換すること、又はその他の変換動作を実行することができる。アプリケーションパラメータ化モジュール116は、パラメータを識別することに加え、この識別されたパラメータでアプリケーションフィールドを事前に埋めることもできる。所与の例では、アプリケーションパラメータ化モジュール116が、到着及び出発時間を提供するアプリケーションなどの識別されたアプリケーションに、ボストン及びロサンゼルスという都市を挿入することができる。
【0024】
動作推論モジュール110及びアプリケーションパラメータ化モジュール116は、アプリケーションインデックス118を介してアプリケーションにアクセスすることができる。アプリケーションインデックス118は、高速検索のためにアプリケーションにインデックスを付ける。図示の実施形態では、アプリケーションインデックス118が、アプリケーションの高速索引及びランク付けを支援するためのメタデータを記憶する。アプリケーションインデックス118は、高速検索を提供することに加え、アプリケーションデータベース120への追加入力をさらに処理することができる。すなわち、アプリケーションインデックス118は、開発者から新たなアプリケーション及びデータを受け取り、アプリケーションにインデックスを付けてからアプリケーションデータベース120に記憶することができる。検索エンジン106は、開発者がアプリケーションを作成するとともに、アプリケーションデータベース120に記憶されたアプリケーションを維持できるようにするAPIをさらに提供することができる。
【0025】
図2は、本発明の1つの実施形態による、ユーザクエリに基づいてコンテキスト動作を生成するためのシステムを示すフロー図である。図示の実施形態では、方法200が、まずステップ202において検索クエリを受け取る。図示の実施形態では、方法200が、HTML形式などの検索フォーム又はブラウザツールバーなどの他の入力機構を介してクエリを受け取ることができる。先程の例を説明すると、方法200は、「bos(ボストン)発lax(ロサンゼルス)行きの飛行機」などの平文文字列としてクエリを受け取ることができる。
【0026】
方法200は、検索クエリを受け取った後、ステップ204においてこのクエリを解析して解釈する。図示の実施形態では、方法200が、平文文字列をトークン化形式に変換する。例えば、方法200は、「box(ボストン)発lax(ロサンゼルス)行きの飛行機」という平文文字列を、「<トークン:飛行機><都市:ボストン><トークン:行き><都市:ロサンゼルス>」というトークン化した解釈に変換することができる。見て分かるように、方法200は、「bos(ボストン)」を「<都市:ボストン>」というトークンに、「lax(ロサンゼルス)」を「<都市:ロサンゼルス>」というトークンに翻訳する。1つの実施形態では、方法200が、様々な用語の綴りや配置が誤っているような場合に、様々なテキスト処理動作を実行してクエリを再フォーマットする。
【0027】
次に、方法200は、ステップ206において、識別して解釈したクエリを動作テンプレートに対応付ける。図示の実施形態では、方法200が、トークン化した解釈にマッチする複数の動作テンプレートを識別することができる。例えば、方法200は、「飛行機」及び「〜行き」というトークンが、ユーザが2地点間を移動していることを示していると識別することができる。この解釈に基づいて、方法200は、「航空チケットを購入する」動作及び「飛行機の到着/出発時間をチェックする」動作などの複数のテンプレートを識別することができる。1つの実施形態では、各識別された動作が所与の重みを伴う。例えば、「航空チケットを購入する」動作には、「飛行機の到着/出発時間をチェックする」動作よりも高い重みを与えることができる。この動作の重みの決定は、過去のユーザ指標(例えば、ユーザがチケットの購入に関心を持つことが多いこと)、収益指標(例えば、アプリケーション当たりの収益額)、又はこれらの組み合わせに基づくことができる。
【0028】
次に、方法200は、ステップ208において、これらの動作を複数のアプリケーションに対応付ける。例えば、方法200は、「航空チケットを購入する」を、ユーザが所望の目的地間の航空チケットを購入できるようにするORBITZアプリケーションに対応付けることができ、また「飛行機の到着/出発時間をチェックする」動作を、FLIGHTSTATS又は同様のアプリケーション開発者により提供されるような航空機スケジュールアプリケーションに対応付けることもできる。1つの実施形態では、方法200が、ステップ204においてトークン化されたデータでアプリケーションを事前に埋めることができる。例えば、方法200は、ORBITZアプリケーションを、出発都市(ボストン)及び到着都市(ロサンゼルス)で事前に埋めることができる。1つの実施形態では、動作とアプリケーションの間の対応付けが編集判断に基づく。代替の実施形態では、動作とアプリケーションの間の対応付けがアルゴリズム的決定に基づく。
【0029】
次に、方法200は、ステップ210において、識別されたアプリケーションをランク付けする。アプリケーションのランク付けは、特定タイプのクエリを入力した後でアプリケーションを利用するユーザの数に基づくアプリケーションの人気などの様々な指標を利用することができる。例えば、「CITY1(都市1)発CITY2(都市2)行きの飛行機」(この場合、都市1は出発都市を表し都市2は到着都市を表す)という形式のクエリを入力するユーザは、FLIGHTSTATSアプリケーションよりもORBITZアプリケーションを頻繁に利用する可能性がある。アプリケーション又はアプリケーションのコンテナページに埋め込まれた様々なユーザ指標収集装置が、このデータを収集することができる。方法200は、このデータに基づいて、ORBITZアプリケーションを、FLIGHTSTATSアプリケーションよりも高くランク付けすべきであると判断することができる。代替の実施形態では、方法200が、アプリケーションが稼いだ広告収益額によるランキングなどの、その他のランキングを使用することができる。これとは別に又はこれと併せて、方法200は、所定のアプリケーション品質、信頼性、又はアプリケーションに関連する他の様々なメタデータパラメータに基づいてアプリケーションをランク付けすることができる。
【0030】
方法200は、アプリケーションをランク付けした後、ステップ212において、所望の検索結果とともにアプリケーションを表示する。方法200は、様々な形で検索結果とともにアプリケーションを表示することができる。1つの実施形態では、方法200が、図4及び図5に示すように検索結果と並べてアプリケーションを表示する。別の実施形態では、方法200が、図6に示すように検索結果の下にハイパーリンクとしてアプリケーションを表示する。
【0031】
図3は、本発明の1つの実施形態による、ユーザコンテキストに基づいてコンテキスト動作を生成する方法を示すフロー図である。図3の実施形態に示すように、方法300は、まずステップ302において検索クエリを受け取る。図示の実施形態では、方法300が、HTML形式などの検索フォーム又はブラウザツールバーなどの他の入力機構を介してクエリを受け取ることができる。先程の例を説明すると、方法300は、「bos(ボストン)発lax(ロサンゼルス)行きの飛行機」などの平文文字列としてクエリを受け取ることができる。
【0032】
方法300は、検索クエリを受け取った後、ステップ304において、ユーザコンテキストが存在するかどうかを判定する。1つの実施形態では、ユーザコンテキストが存在するかどうかを判定するステップが、ユーザプロファイル又は同様の構造をクエリ提出ユーザに関連付けることができるかどうかを判定するステップを伴う。さらに、コンテキストが存在するかどうかを判定するステップは、所与のユーザに関連するさらなる過去のクエリが存在するかどうかを判定するステップを伴うことができる。1つの実施形態では、検索エンジンがコンテキストデータを記憶することができる。代替の実施形態では、コンテキストデータを、クッキー又は同様の機構の形でクライアント装置に記憶することができる。方法300は、ユーザコンテキストが見つからないと判定した場合、図2に関連して説明したようにクエリに基づいて続行する。
【0033】
一方、方法300は、コンテキストが存在すると判定した場合、まずステップ306においてクエリを解析して解釈する。クエリを解析して解釈するステップは、図2に関連して説明した方法と事実上同様であり、明確にするために繰り返さない。方法300は、クエリを解析して解釈した後、ステップ308において、クエリにコンテキストデータを追加する。
【0034】
図2の例を続けると、方法300は、最初に「bos(ボストン)発lax(ロサンゼルス)行きの飛行機」というクエリに対して、「<トークン:飛行機><都市:ボストン><トークン:行き><都市:ロサンゼルス>という解釈を生成することができる。方法300は、このような解釈を生成した後、ユーザの様々な特徴及び過去のクエリなどのコンテキストデータを追加する。例えば、方法300は、ユーザプロファイルを利用すること、又はユーザの傾向を推定することにより、ユーザが地理的にボストンに位置すること、AMERIKAN AIRLINES(アメリカン航空)のウェブサイトを訪問することが多いこと、TRAVELOCITYよりもORBITZの方を好むこと、頻繁にレストランのウェブページを見ること、などのユーザの個性の様々な側面をクエリに追加することができる。これらのユーザ行動の例は、ユーザプロファイル、過去のユーザデータ、又はこれらの組み合わせに基づくことができる。また、方法300は、過去のクエリを利用して、識別された動作を適合させることができる。例えば、方法300は、ユーザが最近「観光 ロサンゼルス」又は「ホテル ロサンゼルス」という検索を行ったことを識別することができ、従って航空チケットに関するインスタント検索にも関わらず、観光に関する動作を選択することができる。
【0035】
方法300は、解釈されたユーザクエリにコンテキストを追加した後、ステップ310において、コンテキストを動作に対応付ける。図示の実施形態では、コンテキストと動作の対応付けを、図2に関連して説明したものと同様に行うことができる。しかしながら、方法300は、ユーザクエリを単純に使用することに加え、ユーザのコンテキストを利用することもできる。例えば、方法300は、ユーザがロサンゼルスでの観光を最近検索した場合、このユーザが他人の旅行を観察することではなく旅行することに関心があると推測することができるので、「航空チケットを購入する」動作のみを戻して、「飛行機の到着/出発時間をチェックする」動作を無視することができる。別の例として、方法300は、観光に関するユーザの検索に基づいて、「車をレンタルする」動作及び/又は「目的地の都市の天気をチェックする」動作を戻すことができる。さらに別の例として、方法300は、ユーザが観光に関心があることと、ユーザがレストランのウェブサイトを頻繁に訪問していることの組み合わせに基づいて、「目的地の都市でレストランを探す」動作を戻すことができる。
【0036】
代替の実施形態では、方法300が、アプリケーションを連鎖させることができ、この場合、後続のアプリケーションは、最初のアプリケーションとのユーザインタラクションに基づいて「連鎖」される。例えば、方法300は、ユーザが最初にレストランアプリケーションとやりとりしたと判断することができ、その後、この最初のアプリケーションとのやりとりに基づいて、映画アプリケーションなどのさらなるアプリケーションを連鎖させることができる。この実施形態では、方法300が、レストランアプリケーションと映画アプリケーションを組み合わせた「夜間外出」という目的などの認識された目的に基づいてアプリケーションを連鎖させる。1つの実施形態では、連鎖されたアプリケーションを、ユーザに非同期的に提供することができる。例えば、方法300は、検索結果ページに(レストランアプリケーションなどの)1つのアプリケーションのみを表示することができ、ユーザがこのアプリケーションとやりとりした場合、(映画アプリケーションなどの)第2の連鎖されたアプリケーションを含むように検索結果ページを更新することができる。対照的に、ユーザがレストランアプリケーションとやりとりしなかった場合、検索結果ページはそのまま変化しない。
【0037】
方法300は、複数の動作を決定した後、ステップ312において、履歴データに基づいてアプリケーションに動作を対応付け、ステップ314において、この動作をランク付けする。図示の実施形態では、履歴データに基づく動作とアプリケーションの対応付けを、図2に関連して説明したものと同様に行うことができる。しかしながら、方法300は、ユーザのコンテキスト、好み及び過去のクエリに基づいて、個々のユーザとの関連性が高いアプリケーションを戻すことができる。1つの実施形態では、方法300が、関連するアプリケーションをアプリケーション階層に編成することができる。上記の例を続けると、方法300は、航空チケットの購入に関する(ORBITZ、TRAVELOCITY及びEXPEDIAアプリケーションなどの)複数のアプリケーションを選択することができる。方法300は、これらのアプリケーションの優先順位が最も高いことをさらに示すことができ、これらのアプリケーションを最も高い優先順位レベル内に配置するはずである。しかしながら、方法300は、ユーザがTRAVELOCITYよりもORBITZを使用する頻度の方が高いというコンテキスト情報を利用して、ORBITZがこの優先順位レベル内で最も優先順位の高いアプリケーションになるようにアプリケーションをランク付けすることができる。方法300は、必要なだけ多くの優先順位レベルを決定することができる。例えば、方法300は、HERTZレンタカーアプリケーション、YAHOO WEATHER(天気)アプリケーション、及びYELPレストランアプリケーションなどの観光を含む第2の優先順位レベルをさらに作成することができる。図2に関連して説明したように、アプリケーションのランク付けは、特定タイプのクエリの入力時にアプリケーションを利用するユーザの数に基づくアプリケーションの人気などの様々な指標を利用することができる。このデータは、アプリケーション又はアプリケーションのコンテナページ内に埋め込まれた様々なユーザ指標収集装置によって収集することができる。別の実施形態では、方法300が、過去のユーザ検索を利用して、所与の検索目標を識別することができる。例えば、方法300は、ユーザが所与の場所における食事の提案及び映画館を検索したことを識別することができる。方法300は、この検索パターンに基づいて、食事アプリケーションと劇場アプリケーションのバンドリングなどのように、検索履歴に合わせて関連するアプリケーションをバンドリングすることができる。
【0038】
方法300は、アプリケーションをランク付けした後、ステップ316において、所望の検索結果とともにアプリケーションを表示する。検索結果とアプリケーションの表示は、様々な形で行うことができる。1つの実施形態では、図4及び図5に示すようにアプリケーションが検索結果と並んで表示される。別の実施形態では、図6に示すように検索結果の下にハイパーリンクとしてアプリケーションを表示することができる。
【0039】
図4は、本発明の1つの実施形態による、検索結果ページ上のコンテキストアプリケーションを示す画面図である。図4の実施形態に示すように、ユーザクエリ402(「bos(ボストン)発la(ロサンゼルス)行きの飛行機」)に応答して、検索エンジンの結果ページが表示される。検索エンジンの結果ページは、最初に検索結果404を表示する。検索エンジンの結果ページは、この検索結果に加え、このクエリ提出ユーザのために選択されたアプリケーション406を含む。具体的には、検索エンジンの結果ページは、ボストン発ロサンゼルス行きの飛行機というユーザのクエリに応答して戻されたORBITZアプリケーションを表示する。また、アプリケーション406は、このユーザクエリに基づいて、「From(発)」フィールド及び「To(行き)」フィールドを埋める。
【0040】
図5は、本発明の1つの実施形態による、検索結果ページ上のコンテキストアプリケーションを示す画面図である。図5の実施形態に示すように、ユーザは、「住宅ローンの利率」という検索クエリ502を入力し、複数の検索結果504を受け取る。図5の実施形態には、ユーザプロファイルデータ又は履歴データを使用せずに選択したアプリケーション508、及びユーザプロファイルデータに基づいて選択したアプリケーション506を示している。
【0041】
アプリケーション508は、主に「住宅ローンの利率」というクエリに基づいてユーザに提示される。従って、検索エンジンは、住宅ローンの利率というクエリが、全国の平均的住宅ローン利率を示すアプリケーションに関連し得ると判断する。対照的に、アプリケーション506は、ユーザプロファイル又は同様の機構に基づいてユーザに提示される。図示のように、アプリケーション506は、ユーザがその地方の住宅ローン利率を検索できるようにするアプリケーションを表す。検索エンジンは、ユーザプロファイルに基づいて、ユーザプロファイル又は同様の装置に記憶されている可能性のあるユーザ位置でアプリケーションを事前に埋める。また、検索エンジンは、ローン金額、ローンの目的及びローンのタイプも事前に埋める。1つの実施形態では、本発明が、プライバシーの考慮に基づいて、どのフィールドを事前に埋めるべきかを判断することができる。1つの実施形態では、このようなデータを、過去のユーザデータから収集することができる。例えば、検索エンジンは、ユーザが最近、「200,000ドル 借り換え」及び「インタレストオンリーローン wikipedia」というクエリを1時間又は2時間以内に互いに入力したことを識別することができる。検索エンジンは、これらのクエリに基づいて、ユーザがインタレストオンリーの200,000ドルの借り換えローンに関心を持っていると判断し、アプリケーション506をこのコンテキストデータで事前に埋めることができる。
【0042】
図6は、本発明の1つの実施形態による、検索結果ページ上のコンテキストアプリケーションを示す画面図である。図6に示す実施形態によれば、ユーザは、「ナパのレストラン」という検索クエリ602を入力し、複数の検索結果604を受け取る。また、ユーザは、複数のアプリケーションハイパーリンク606も受け取る。とりわけ、これらのアプリケーションリンクは、「ゲスト」ユーザ608に対して提示される。従って、これらのアプリケーションリンクは、「ナパのレストラン」というクエリの解釈に基づいて生成される。図示のように、これらの解釈は、テーブルの予約、レストランの評価、及びレストランを他者と共有することに対応する。
【0043】
図1から図6は、本発明の説明を可能にする概念的説明図である。本発明の実施形態の様々な態様は、ハードウェア、ファームウェア、ソフトウェア、又はこれらの組み合わせに実装できると理解されたい。このような実施形態では、本発明の機能を実施するために、様々な構成要素及び/又はステップを、ハードウェア、ファームウェア、及び/又はソフトウェアに実装することができる。すなわち、ハードウェア、ファームウェア、又はソフトウェアのモジュールの同じ部分が、(構成要素又はステップなどの)図示のブロックの1又はそれ以上を実行することができる。
【0044】
ソフトウェア実装では、(プログラム又はその他の命令などの)コンピュータソフトウェア及び/又はデータが、コンピュータプログラム製品の一部として機械可読媒体に記憶され、取り外し可能記憶ドライブ、ハードドライブ、又は通信インターフェイスを介してコンピュータシステム又は他の装置又は機械にロードされる。(コンピュータ制御ロジック又はコンピュータ可読プログラムコードとも呼ばれる)コンピュータプログラムが、メインメモリ及び/又は二次メモリに記憶され、(コントローラなどの)1又はそれ以上のプロセッサにより実行されて、本明細書で説明した本発明の機能を1又はそれ以上のプロセッサに実行させる。本明細書では、「機械可読媒体」、「コンピュータプログラム媒体」及び「コンピュータ使用可能媒体」という用語を、一般に、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、(磁気又は光ディスク、又はフラッシュメモリ装置などの)取り外し可能記憶ユニット、ハードディスク、電気、電磁、光、音響、又は(搬送波、赤外線信号、デジタル信号などの)その他の形の伝播信号などの媒体を意味するために使用している。
【0045】
なお、説明又は図示した要素の一部又は全てを入れ替えることにより他の実施形態が可能となるので、上記の図及び例は、本発明の範囲を単一の実施形態に限定することを意図するものではない。さらに、公知の構成要素を使用して本発明のいくつかの要素を部分的に又は完全に実現できる場合、本発明を曖昧にしないように、このような公知の構成要素の部分については本発明を理解するために必要なもののみを記載しており、これらの公知の構成要素の他の部分については詳細な説明を省いている。本明細書では、特に明示しない限り、単数の構成要素を示す実施形態を、複数の同じ構成要素を含む他の実施形態に必ずしも限定すべきではなく、逆もまた同様である。さらに、出願人は、同様に明示しない限り、明細書又は請求項におけるいずれの用語も非通常的な又は特別な意味を有さないことを意図している。さらに、本発明は、本明細書において例示目的で引用した公知の構成要素の現在知られている同等物及び将来的に知られる同等物を含む。
【0046】
特定の実施形態についての上述の説明は、(本明細書で引用した、及び引用により本明細書に組み入れた文献の内容を含む)(単複の)関連技術の範囲内の知識を適用することにより、他者が必要以上の実験を伴わずに、本発明の一般的な概念から逸脱することなくこのような特定の実施形態を修正し、及び/又は様々な用途に容易に適応させることができるように、本発明の一般的な性質を十分に明らかにしたものである。従って、このような適応及び修正は、本明細書に示す教示及び手引きに基づいて、開示した実施形態の同等物の意味及び範囲に含まれることが意図される。
【0047】
本発明の様々な実施形態について上述したが、これらは例示目的で提示したものであり限定的なものではないと理解されたい。(単複の)関連技術における精通者には、本発明の思想及び範囲から逸脱することなく、形式及び詳細の様々な変更を行い得ることが明らかであろう。従って、本発明は、上述の例示的な実施形態のいずれによっても限定されるべきではなく、以下の特許請求の範囲及びこれらの同等物によってのみ定義されるべきである。
【0048】
なお本発明は、一例として、以下に記載した項目ごとに特許を請求することが可能である。
項目1.
検索エンジンの結果ページ内に目的別アプリケーションを提供する方法であって、
ユーザから検索クエリを受け取るステップと、
前記検索クエリにユーザコンテキストを表すデータを追加するステップを含む、前記検索クエリを解釈するステップと、
前記解釈したクエリに関連する1又はそれ以上の動作を選択するステップを含む、前記解釈したクエリを1又はそれ以上の動作テンプレートに対応付けるステップと、
前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付け、前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するステップと、
前記1又はそれ以上のアプリケーションを検索結果ページ内に表示するステップと、
を含むことを特徴とする方法。
項目2.
前記ユーザの検索クエリを解釈するステップは、前記検索クエリのトークン化形式を生成するステップを含む、
ことを特徴とする項目1に記載の方法。
項目3.
前記ユーザコンテキストは、ユーザプロファイルに記憶されたデータを含む、
ことを特徴とする項目1に記載の方法。
項目4.
前記ユーザコンテキストは、前記ユーザの過去の検索クエリを含む、
ことを特徴とする項目1に記載の方法。
項目5.
前記1又はそれ以上のアプリケーションを検索結果ページ内に表示するステップは、前記検索クエリに基づく少なくとも1つのアプリケーション、並びに前記検索クエリ及び前記ユーザコンテキストに基づく少なくとも1つのアプリケーションを表示するステップを含む、
ことを特徴とする項目1に記載の方法。
項目6.
前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップは、アルゴリズム的に実行される、
ことを特徴とする項目1に記載の方法。
項目7.
前記1又はそれ以上の選択したアプリケーションをランク付けするステップをさらに含む、
ことを特徴とする項目1に記載の方法。
項目8.
前記1又はそれ以上の選択したアプリケーションをランク付けするステップは、ユーザのコミュニティにおける前記アプリケーションの人気に基づいて上位アプリケーションを選択するステップを含む、
ことを特徴とする項目7に記載の方法。
項目9.
前記1又はそれ以上の選択したアプリケーションをランク付けするステップは、前記アプリケーションの過去の収益に基づいて前記上位アプリケーションを選択するステップを含む、
ことを特徴とする項目7に記載の方法。
項目10.
前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付け、前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するステップは、前記検索クエリから抽出されたデータに基づいて前記アプリケーションを事前に埋めるステップをさらに含む、
ことを特徴とする項目1に記載の方法。
項目11.
検索エンジンの結果ページ内に目的別アプリケーションを提供するためのシステムであって、
ネットワークを介して検索エンジンに結合された、前記検索エンジンに検索クエリを送信する複数のクライアント装置と、
前記検索クエリを解釈し、該検索クエリにユーザコンテキストを表すデータを追加するクエリインタプリタと、
前記解釈したクエリを1又はそれ以上の動作テンプレートに対応付ける動作推論モジュールと、
を備え、前記解釈したクエリを1又はそれ以上の動作テンプレートに対応付けるステップは、前記解釈したクエリに関連する1又はそれ以上の動作を選択するステップを含み、
前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるとともに、アプリケーションデータベースに記憶された、前記1又はそれ以上の動作に関連する1又はそれ以上のアプリケーションを選択するアプリケーションスコアラと、
前記1又はそれ以上のアプリケーションを検索結果ページ内に表示するフロントエンドサーバと、
をさらに備えることを特徴とするシステム。
項目12.
前記クエリインタプリタは、前記検索クエリのトークン化形式をさらに生成する、
ことを特徴とする項目11に記載のシステム。
項目13.
前記ユーザコンテキストは、ユーザプロファイルに記憶されたデータを含む、
ことを特徴とする項目11に記載のシステム。
項目14.
前記ユーザコンテキストは、前記ユーザの過去の検索クエリを含む、
ことを特徴とする項目11に記載のシステム。
項目15.
前記フロントエンドサーバは、前記検索クエリに基づく少なくとも1つのアプリケーション、並びに前記検索クエリ及び前記ユーザコンテキストに基づく少なくとも1つのアプリケーションをさらに表示する、
ことを特徴とする項目11に記載のシステム。
項目16.
前記解釈したクエリに関連する前記選択した1又はそれ以上の動作を複数のアプリケーションに対応付けるステップは、アルゴリズム的に実行される、
ことを特徴とする項目11に記載のシステム。
項目17.
前記アプリケーションスコアラは、前記1又はそれ以上の選択したアプリケーションをさらにランク付けする、
ことを特徴とする項目11に記載のシステム。
項目18.
前記1又はそれ以上の選択したアプリケーションをランク付けするステップは、ユーザのコミュニティにおける前記アプリケーションの人気に基づいて上位アプリケーションを選択するステップを含む、
ことを特徴とする項目11に記載のシステム。
項目19.
前記1又はそれ以上の選択したアプリケーションをランク付けするステップは、前記アプリケーションの過去の収益に基づいて前記上位アプリケーションを選択するステップを含む、
ことを特徴とする項目18に記載のシステム。
項目20.
前記検索クエリから抽出されたデータに基づいて前記アプリケーションを事前に埋めるアプリケーションパラメータ化モジュールをさらに備える、
ことを特徴とする項目11に記載のシステム。
図1
図2
図3
図4
図5
図6