特許第6446057号(P6446057)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許6446057統合検索環境におけるクライアントの意図
<>
  • 特許6446057-統合検索環境におけるクライアントの意図 図000002
  • 特許6446057-統合検索環境におけるクライアントの意図 図000003
  • 特許6446057-統合検索環境におけるクライアントの意図 図000004
  • 特許6446057-統合検索環境におけるクライアントの意図 図000005
  • 特許6446057-統合検索環境におけるクライアントの意図 図000006
  • 特許6446057-統合検索環境におけるクライアントの意図 図000007
  • 特許6446057-統合検索環境におけるクライアントの意図 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6446057
(24)【登録日】2018年12月7日
(45)【発行日】2018年12月26日
(54)【発明の名称】統合検索環境におけるクライアントの意図
(51)【国際特許分類】
   G06F 17/30 20060101AFI20181217BHJP
【FI】
   G06F17/30 330A
   G06F17/30 350C
【請求項の数】10
【全頁数】22
(21)【出願番号】特願2016-559315(P2016-559315)
(86)(22)【出願日】2014年3月26日
(65)【公表番号】特表2017-509086(P2017-509086A)
(43)【公表日】2017年3月30日
(86)【国際出願番号】CN2014074110
(87)【国際公開番号】WO2015143639
(87)【国際公開日】20151001
【審査請求日】2017年3月22日
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】ラフ,ポール
(72)【発明者】
【氏名】ホワーン,シヤオ
(72)【発明者】
【氏名】ツァイ,イーチャオ
(72)【発明者】
【氏名】マー,ルイ
(72)【発明者】
【氏名】クルック,シー・アイダン
(72)【発明者】
【氏名】イエン,アン
【審査官】 樋口 龍弥
(56)【参考文献】
【文献】 特開2005−216302(JP,A)
【文献】 特開2009−157503(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
(57)【特許請求の範囲】
【請求項1】
システムであって、
統合検索プロセスの一部としてクエリーを受け、更に前記クエリーのクエリー・コンテキストを受けるように構成された検索コンポーネントと、
予測モデルの候補特徴に基づいて、前記クエリーに対して分類値を生成するように構成された分類コンポーネントと、
前記分類値に基づいて意図の度合いを識別するように構成された意図コンポーネントであって、前記検索プロセスが、前記検索コンポーネントによって、前記意図の度合いに基づいて、ローカル検索または非ローカル検索の内少なくとも1つに導かれる、意図コンポーネントと、
前記検索コンポーネント、前記分類コンポーネント、および前記意図コンポーネントに関連するメモリーにおいてコンピューター実行可能命令を実行するように構成された少なくとも1つのマイクロプロセッサーと、
を含み、
前記分類値が、自動ナビゲーション指標を含み、
クエリーがファイル名である場合に、自動ナビゲーション機能が、ユーザを、ファイルの位置に自動的にナビゲートし、
前記自動ナビゲーション指標が、クエリーが自動ナビゲーションイベントを実行する回数と、クエリーが統合検索ページに至る回数、の間の比率を含む、
システム。
【請求項2】
請求項1記載のシステムにおいて、前記検索プロセスが、全体的な結果を得るために、前記ローカル検索および前記非ローカル検索双方として実行され、前記全体的な結果が、前記意図の度合いに関係する関連結果のみを示すために調節される、システム。
【請求項3】
請求項1記載のシステムにおいて、前記意図コンポーネントが、非ローカル・コンテンツ、ローカル・コンテンツ、ローカル・ファイル、およびローカル・アプリケーションに関係する意図の度合いを計算する、システム。
【請求項4】
請求項1記載のシステムであって、更に、前記クエリーおよびクエリー・コンテキストに関係する候補特徴を得るように構成された特徴コンポーネントを含む、システム。
【請求項5】
請求項1記載のシステムであって、更に、前記分類コンポーネントとは別個にまたは協働して動作し、前記クエリー・コンテキストに関連するローカル・コンテンツまたはウェブ・コンテンツを提案する提案コンポーネントを含む、システム。
【請求項6】
方法であって、
統合検索プロセスの一部として、及び、ローカル検索および非ローカル検索を実行することができる検索プロセスの一部としてクエリーを受けるアクトと、
前記クエリーのコンテキストを導き出すアクトと、
前記コンテキストに関連する特徴を評価するアクトと、
前記特徴に基づいて、前記クエリーの分類値を計算するアクトと、
前記分類値に基づいて、意図の度合いを識別するアクトと、
前記意図の度合いに基づいて、前記ローカル検索および前記非ローカル検索の内少なくとも1つに前記検索プロセスを導くアクトと、
前記受ける、導き出す、評価する、計算する、識別する、および導くアクトに関連するメモリーにおいて命令を実行するようにマイクロプロセッサーを構成するアクトと、
を含
前記分類値が、自動ナビゲーション指標を含み、
クエリーがファイル名である場合に、自動ナビゲーション機能が、ユーザを、ファイルの位置に自動的にナビゲートし、
前記自動ナビゲーション指標が、クエリーが自動ナビゲーションイベントを実行する回数と、クエリーが統合検索ページに至る回数、の間の比率を含む、
方法。
【請求項7】
請求項6記載の方法であって、更に、前記意図の度内に基づいて、前記検索結果を調節するアクトを含む、方法。
【請求項8】
請求項6記載の方法であって、更に、前記意図の度合いを識別するために予測モデルから特徴を得るアクトを含む、方法。
【請求項9】
請求項6記載の方法であって、更に、クエリーが最も頻繁に前記ローカル検索と関連付けられるときを判定するために、コンテキスト外特徴を適用するアクトを含む、方法。
【請求項10】
請求項6記載の方法であって、更に、前記意図の度合いに基づいて、プログラミングされた検索機能を無視し、異なる検索プロセスを選択するアクトを含む、方法。
【発明の詳細な説明】
【背景技術】
【0001】
[0001] 統合検索環境はユーザーにとって増々一般的になっており、ローカル・ユーザー・コンピューター上における通常のウェブ検索やローカル検索(local search)のいずれとも異なり、種々のソース上で検索が実行される。統合検索環境は、通例、検索のウェブ結果の面(aspect)に重点を置き、検索に対するユーザーの意図を考慮できないため、重大な欠点(limitation)を招く。例えば、ユーザーが特定のプログラムをコンピューター上で開始したい場合、既存の手法では、ローカル・アプリケーションのクエリーに対してページ一杯の(full page)ウェブ結果が戻されて、良好なユーザー体験を提供できない。
【発明の概要】
【0002】
[0002] 以下に提示するのは、本明細書において説明するいくつかの新規な実施形態の基本的な理解を得るための簡略化した摘要である。この摘要は、広範な全体像ではなく、主要な/肝要なエレメントを識別することも、その範囲を明確に定めることも意図していない。その唯一の目的は、後に提示する更に詳細な説明に対する序文として、ある概念を簡略化した形態で紹介することである。
【0003】
[0003] 開示するアーキテクチャは、統合検索フレームワークと組み合わせて動作して、検索クエリーに関連するユーザーの意図を導き出し、導き出した意図に基づいて検索方法を選択する。即ち、検索が開始された現在のローカル・デバイス上でのローカル検索、ローカル・デバイス以外のデーター・ソースの非ローカル検索(non-local search)、またはローカル検索および非ローカル検索の双方である。非ローカル検索は、ローカル・デバイス以外の任意のデーター・ソースにおいて実行される。通例、これはウェブ検索プロバイダーを介したウェブ検索となるであろう。しかしながら、非ローカル検索は、宅内ネットワークのような、ローカル・デバイスが接続された個人ネットワーク(例えば、宅内)、個人ネットワーク上の他のユーザー・デバイス、およびローカル・デバイスとのピア・ツー・ピア接続における異なるユーザー・デバイスも含むことができる。また、非ローカル検索は、業務用イントラネット、企業ネットワーク、およびこれら私的ネットワークの他のユーザー・デバイスも含むことができる。また、非ローカル検索は、私的ネットワーク上において、検索される許可を与えウェブ経由でアクセス可能な他のユーザーのデーター・ソース/デバイス等も含むことができる。
【0004】
[0004] したがって、導き出された意図を分析して、検索されるべきソース(1つまたは複数)に関する指示を得ることができる。例えば、意図は、ローカル・デバイス・データーだけを検索すればよく、大きなウェブ検索エンジン、私的な業務用ネットワーク、個人ネットワーク等によって処理しななくてもよいことを示す可能性がある。別の場合には、意図は、結果を戻すためには、大きなウェブ検索エンジン(例えば、Bing(商標)、Yahoo(商標)等)の内1つ以上でなければ採用できないことを示す可能性もある。更に別の場合には、意図は、クエリーを処理し検索結果を戻すためにローカル・デバイス・データーおよび大きなウェブ検索エンジンの双方を採用することを示す可能性もある。選択性能力(selectivity capability)は、前述のデーター・ソースのあらゆる組み合わせを、検索に含ませることを可能にする。更に他の例では、意図は、検索がローカル・デバイス(例えば、宅内機械(home machine))および私的業務の全てのマシン/サーバー上、または選択されたマシン/サーバー上において行われるべきことを示す可能性がある。
【0005】
[0005] 他の選択肢は、検索が強い意図(例えば、ローカルに対して)および弱い意図(例えば、非ローカルに対して)有することができるということである。次いで、2つの意図に対する相対的な強度を使用して、どのように結果を統合および/または提示するかに影響を与えることができる。
【0006】
[0006] 意図が明確に導き出されない場合、ウェブ検索およびローカル・デバイス検索双方の統合検索のような、デフォルトの検索を実行することができ、または検索を全く実行しない。一実施形態では、デフォルト検索設定は、ローカル検索のみまたは非ローカル検索のみ、あるいはローカル検索および選択された非ローカル・データー・ソースのみ等というように、ユーザーが望む通りに構成することができる。加えて、過去にローカル検索のみを明らかに示したクエリーは、再度ローカルにのみ検索を実行することを、容易に判定することができる。
【0007】
[0007] 他の実施形態では、「直接アクション」(具体的な検索文字列)クエリーを採用することができる。直接アクション・クエリーは、所定の方法で検索を実行するために、開示されるアーキテクチャによって解釈されるキーワードを採用する。例えば、検索のために入力されたクエリーが特定のファイル(またはファイル名)である場合、ユーザーによって、特定のクエリー・ターム <filename> または <filename.ext>をローカル検索専用タームとして構成するまたはタグ付けする(tagged)(内部で学習する)ことができ、このタームが検索クエリーとして入力されたときに、開示されるアーキテクチャは、ユーザーがファイルを発見し開くために熟読する必要がある結果のリストを戻すのではなく、関連するアプリケーションおよびそのファイルを即座に開く手助けをする。この能力により、アクティビティをファイルに導くためのショートカット・アイコンの使用を不要とし、ローカル・データー・ソースにおいてファイルを突き止める。
【0008】
[0008] あるいは、そのファイル名を有するファイルを開く代わりに、ファイルを収容するローカル・フォルダー、またはそのファイル名を有するファイルを収容する全てのローカル・フォルダーというような、そのファイルの位置にユーザーを自動的にナビゲートする(自動ナビゲーション機能)ことも可能である。
【0009】
[0009] この直接アクション・クエリーは、更に容易にそして素早くユーザーの意図を確認するために、異なる方法で入力することもできる。例えば、「ローカル・フォルダー<name>」というクエリーを容易に計算し、この名称<name>のフォルダーに導くことができる。あるいは、「ローカル・フォルダー<filename>」というクエリーを、その特定のファイル(および関連するフォルダー・パネル)を開く、またはローカル・デバイス上でそのファイル位置に自動ナビゲートする意図として容易に計算することができる。関連するフォルダーを自動的に開くことによって、ユーザー体験を改善する。何故なら、ユーザーはそれによってファイルに関連する他の文書/フォルダー/コンテンツに容易にアクセスできるからである。
【0010】
[0010] 他の統合検索のシナリオでは、ユーザーの意図がローカル・デバイスおよび他の個人的な非ローカル・デバイスを含むこと、したがってユーザーの全ての個人的なデバイス、そして現在のユーザーの個人的なユーザー・ネットワーク上および/またはユーザーの作業場にある全ての個人的なデバイスにわたって検索を実行することを意味する、「個人ネットワーク<filename>」のような、クエリーを計算することをユーザーが指定することができ、またはアーキテクチャが学習することができる。
【0011】
[0011] 言い換えると、本アーキテクチャは、統合検索環境において、ローカル・データー・ソースおよび非ローカル・データー・ソース検索において唯一の(singular)意図の予測を可能にする。本アーキテクチャは、ユーザーの意図が非ローカル検索だけであるとき、ローカル検索だけであるとき、またはローカルおよび非ローカル検索双方の組み合わせであるときを予測する。
【0012】
[0012] 本アーキテクチャは、候補特徴によって訓練された予測モデルを採用する。この予測モデルは、統合検索環境における唯一の意図(または意図の度合い)の予測を可能にする。モデル予測は、統合検索環境との対話処理を補助するように予測が処理されるので、ユーザーの実行中のタスクを補助する。例えば、検索ボタンの押下は、統合検索を常に実行するように構成することができる。しかしながら、唯一の意図が導き出されたときには、クエリー・コンテキストに応じてローカル検索のみまたは非ローカル(例えば、ウェブ)検索のみを実行することによって、この能力を迂回することができる。
【0013】
[0013] クエリー・コンテキストは、クエリーに関連する多くの異なる特性を定める。例えば、クエリー・コンテキストは、手作業でまたはNUIジェスチャ(自然ユーザー・インターフェース)によって、大文字変換(capitalization)有りまたは無し、言語(例えば、英語対フランス語)、クエリーが入力された具体的なデバイス、クエリーが入力されたときのデバイスの位置(例えば、地理的、ネットワーク等)、ユーザーの移動状態、クエリー検索が開始されたデバイスのハードウェア/ソフトウェア能力、クエリーを入力したユーザーのユーザー・プロファイル、クエリーが入力されたときに開いた/開かなかった1つ以上のアプリケーション、クエリーが最も関連付けられそうなアプリケーション、特殊クエリー・ターム(またはキーワード)、1日の時間、曜日、季節、天気条件、トラフィック条件、進行中のまたは始まろうとしている特殊イベント等というような、クエリーが入力された具体的な方法を含むことができる。
【0014】
[0014] クエリー毎に計算される特徴は、技術(tech)分類スコア(classifier score)、コンテキスト外比率(out-of-context ratio)、自動ナビゲーション比率、自動ナビゲーション指標(auto-navigation indicator)、クライアント・クリック・カウント比率、およびクライアント・クリック・カウント指標を含むが、これらに限定されるのではない。本アーキテクチャは、オンラインの特徴、即ち、ユーザーが統合検索環境と対話処理する時でなければ利用できないもの、の使用に拡大する。
【0015】
[0015] 尚、予測モデルを訓練するために使用される特徴の内あるものは性質上過去のもの(過去のユーザー・アクションに基づく)であってもよく、ある特徴はリアル・タイム(現在のユーザー・アクションに基づく)であってもよいことを注記しておく。つまり、モデルはときの経過と共に発展することができる。加えて、モデルはユーザー特定的になるように発展することができ、または発展するように制御されることが可能である。つまり、オンライン検索エンジンと通信してこの判定を行う必要があるのではなく、ユーザー特定モデルをユーザー・デバイス上において採用し、検索がローカルのみで実行されるべきか否か一層効率的に評価することができる。この能力は、現在ネットワークから切断されているユーザー・デバイスのための能力向上を促進する。
【0016】
[0016] クラシファイアは、特徴と、ロジスティック回帰分類のような種々の分類技法の内1つ以上とを使用して訓練され、このような回帰の出力、即ち、0と1との間の数値が、所望の応答、即ち、クエリー内にカプセル化されたクライアントの意図(client intention)の量を表す数値を与える。
【0017】
[0017] 意図は、全体的に0の値(意図なし)または1の値(明確な意図)として計算することができる。あるいは、意図の度合いに関して意図を計算することもできる。例えば、閾値を設定することができ、低い閾値未満はローカルに検索する意図の可能性がないことを示し、高い閾値はローカルのみで検索する明確な意図を示し、低い閾値と高い閾値との間では、意図はローカルおよび非ローカル双方で検索することとなる。非ローカル(例えば、ウェブ検索)を実行しないことを選択すると、遂行能力およびエンド・ユーザーの体験が最適化される。何故なら、ネットワーク通信は時間がかかり、システム/デバイス性能に悪影響を及ぼす可能性があるからである。
【0018】
[0018] 以上の目的および関連する目的の遂行のために、ある種の例示的な態様について、ここでは以下の説明および添付図面と関連付けて説明する。これらの態様は、本明細書において開示する原理を実施することができる種々の方法を示し、全ての態様およびその均等物は、特許請求する主題の範囲に該当することを意図している。他の利点および新規な特徴も、以下の詳細な説明を図面と関連付けて検討することから明白になるであろう。
【図面の簡単な説明】
【0019】
図1図1は、開示するアーキテクチャによるシステムを示す。
図2図2は、開示するアーキテクチャによる意図評価および検索選択予測システムを示す。
図3図3は、信号を入力し予測モデルにフィードバックすることができるシステムを示す。
図4図4は、ローカル結果および非ローカル結果双方の結果ページを示す。
図5図5は、開示するアーキテクチャによる方法を示す。
図6図6は、開示するアーキテクチャによる代替方法を示す。
図7図7は、開示するアーキテクチャにしたがって統合検索環境においてクライアント意図を実行する計算システムのブロック図を示す。
【発明を実施するための形態】
【0020】
[0026] 統合検索環境の1つの態様は、いずれのウェブ検索にもよらずにクライアントのみによって遂行できる何かをユーザーが検索しているときを理解することであり、この理解はクライアントの意図から得られる。
【0021】
[0027] 開示するアーキテクチャは、クライアントの意図がユーザーのクエリーに存在するか否かについて評価を行うことができる方法を含み、この評価に基づいて、このユーザーのために結果および/またはユーザー体験を調節する。例えば、本アーキテクチャは、ユーザーがローカル・コンテンツまたはローカル・アクション(例えば、ローカル・アプリケーションの起動)だけを望むという評価の場合、ウェブ検索を実行することを完全に省略すると決定することができる。したがって、本アーキテクチャによるユーザー体験を改善することができ、関連するユーザーの成果(product)は「一層スマート」になって現れる。
【0022】
[0028] 開示するアーキテクチャは、統合検索フレームワークと組み合わせて動作して、検索クエリーに関連するユーザー意図を導き出し、次いで導き出した意図に基づいて、検索方法、即ち、検索が開始された現在のローカル・デバイス上でのローカル検索、ローカル・デバイス以外のデーター・ソースの非ローカル検索、またはローカル検索および非ローカル検索の双方を選択する。非ローカル検索は、ローカル・デバイス以外の任意のデーター・ソースにおいて実行される。通例、これはウェブ検索プロバイダーを介したウェブ検索となるであろう。しかしながら、非ローカル検索は、宅内ネットワークのような、ローカル・デバイスが接続された個人ネットワーク(例えば、宅内)、個人ネットワーク上の他のユーザー・デバイス、およびローカル・デバイスとのピア・ツー・ピア接続における異なるユーザー・デバイスも含むことができる。また、非ローカル検索は、業務用イントラネット、企業ネットワーク、およびこれら私的ネットワークの他のユーザー・デバイスも含むことができる。また、非ローカル検索は、私的ネットワーク上において、検索される許可を与えウェブ経由でアクセス可能な他のユーザーのデーター・ソース/デバイス等も含むことができる。
【0023】
[0029] したがって、導き出された意図を分析し、検索すべきソース(1つまたは複数)についての指示を得ることができる。例えば、意図は、ローカル・デバイス・データーだけを検索すればよく、大きなウェブ検索エンジン、私的な業務用ネットワーク、個人ネットワーク等によって処理しなくてもよいことを示す可能性がある。別の場合には、意図は、結果を戻すためには、大きなウェブ検索エンジン(例えば、Bing(商標)、Yahoo(商標)等)の内1つ以上でなければ採用できないことを示す可能性もある。更に別の場合には、意図は、クエリーを処理し検索結果を戻すためにローカル・デバイス・データーおよび大きなウェブ検索エンジンの双方を採用することを示す可能性もある。選択性能力(selectivity capability)は、前述のデーター・ソースのあらゆる組み合わせを検索に含ませることを可能にする。更に他の例では、意図は、検索がローカル・デバイス(例えば、宅内機械)および私的業務の全てのマシン/サーバー上、または選択されたマシン/サーバー上において行われるべきことを示す可能性がある。
【0024】
[0030] 意図が明確に導き出されない場合、ウェブ検索およびローカル・デバイス検索双方の統合検索のような、デフォルトの検索を実行することができ、または検索を全く実行しない。一実施形態では、デフォルト検索設定は、ローカル検索のみまたは非ローカル検索のみ、あるいはローカル検索および選択された非ローカル・データー・ソースのみ等というように、ユーザーが望む通りに構成することができる。加えて、過去にローカル検索のみを明らかに示したクエリーは、再度ローカルにのみ検索を実行することを、容易に判定することができる。
【0025】
[0031] 他の実施形態では、「直接アクション」(具体的な検索文字列)クエリーを採用することができる。直接アクション・クエリーは、所定の方法で検索を実行するために、開示されるアーキテクチャによって解釈されるキーワードを採用する。例えば、検索のために入力されたクエリーが特定のファイル(またはファイル名)である場合、ユーザーによって、特定のクエリー・ターム <filename> または <filename.ext>をローカル検索専用タームとして構成するまたはタグ付けする(tagged)(内部で学習する)ことができ、このタームが検索クエリーとして入力されたときに、開示されるアーキテクチャは、ユーザーがファイルを発見し開くために熟読する必要がある結果のリストを戻すのではなく、関連するアプリケーションおよびそのファイルを即座に開く手助けをする。この能力により、アクティビティをファイルに導くためのショートカット・アイコンの使用を不要とし、ローカル・データー・ソースにおいてファイルを突き止める。
【0026】
[0032] あるいは、そのファイル名を有するファイルを開く代わりに、ファイルを収容するローカル・フォルダー、またはそのファイル名を有するファイルを収容する全てのローカル・フォルダーというような、そのファイルの位置にユーザーを自動的にナビゲートする(自動ナビゲーション機能)ことも可能である。
【0027】
[0033] この直接アクション・クエリーは、更に容易にそして素早くユーザーの意図を確認するために、異なる方法で入力することもできる。例えば、「ローカル・フォルダー<name>」というクエリーを容易に計算し、この名称<name>のフォルダーに導くことができる。あるいは、「ローカル・フォルダー<filename>」というクエリーを、その特定のファイル(および関連するフォルダー・パネル)を開く、またはローカル・デバイス上でそのファイル位置に自動ナビゲートする意図として容易に計算することができる。関連するフォルダーを自動的に開くことによって、ユーザー体験を改善する。何故なら、ユーザーはそれによってファイルに関連する他の文書/フォルダー/コンテンツに容易にアクセスできるからである。
【0028】
[0034] 他の統合検索のシナリオでは、ユーザーの意図がローカル・デバイスおよび他の個人的な非ローカル・デバイスを含むこと、したがってユーザーの全ての個人的なデバイス、そして現在のユーザーの個人的なユーザー・ネットワーク上および/またはユーザーの作業場にある全ての個人的なデバイスにわたって検索を実行することを意味する、「個人ネットワーク<filename>」のような、クエリーを計算することをユーザーが指定することができ、またはアーキテクチャが学習することができる。
【0029】
[0035] 言い換えると、本アーキテクチャは、統合検索環境において、ローカル・データー・ソースおよび非ローカル・データー・ソース検索において唯一の意図の予測を可能にする。本アーキテクチャは、ユーザーの意図が非ローカル検索だけ、ローカル検索だけ、またはローカルおよび非ローカル検索双方の組み合わせであるときを予測する。
【0030】
[0036] 本アーキテクチャは、候補特徴によって訓練された予測モデルを採用する。この予測モデルは、統合検索環境における唯一の意図(または意図の度合い)の予測を可能にする。モデル予測は、統合検索環境との対話処理を補助するように予測が処理されるので、ユーザーの実行中のタスクを補助する。例えば、検索ボタンの押下は、統合検索を常に実行するように構成することができる。しかしながら、唯一の意図が導き出されたときには、クエリー・コンテキストに応じてローカル検索のみまたは非ローカル(例えば、ウェブ)検索のみを実行することによって、この能力を迂回することができる。
【0031】
[0037] クエリー・コンテキストは、クエリーに関連する多くの異なる特性を定める。例えば、クエリー・コンテキストは、手作業でまたはNUIジェスチャ(自然ユーザー・インターフェース)によって、大文字変換(capitalization)有りまたは無し、言語(例えば、英語対フランス語)、クエリーが入力された具体的なデバイス、クエリーが入力されたときのデバイスの位置(例えば、地理的、ネットワーク等)、ユーザーの移動状態、クエリー検索が開始されたデバイスのハードウェア/ソフトウェア能力、クエリーを入力したユーザーのユーザー・プロファイル、クエリーが入力されたときに開いた/開かなかった1つ以上のアプリケーション、クエリーが最も関連付けられそうなアプリケーション、特殊クエリー・ターム(またはキーワード)、1日の時間、曜日、季節、天気条件、トラフィック条件、進行中のまたは始まろうとしている特殊イベント等というような、クエリーが入力された具体的な方法を含むことができる。
【0032】
[0038] ローカル・デバイスとのユーザー対話処理は、ジェスチャ対応(gesture-enabled)にすることができ、これによってユーザーは対話処理のために1つ以上のジェスチャを採用する。例えば、ジェスチャは自然ユーザー・インターフェース(NUI)ジェスチャとすることができる。NUIは、 マウス、キーボード、リモコン等のような入力デバイスによって強制される人工的な制約とは無縁に、ユーザーが「自然な」方法でデバイスと対話処理することを可能とする任意のインターフェース技術と定義することができる。NUI方法の例には、ジェスチャを採用するものが含まれ、ここでは、音声認識、タッチ認識、顔認識、スタイラス認識、エア・ジェスチャ(例えば、手のポーズおよび動き、ならびに他の身体/四肢の動き/ポーズ)、頭部および眼球追跡、音声および会話発声、ならびに、例えば、少なくとも視覚、会話、音声、ポーズ、およびタッチ・データーに関する機械学習等を含むがこれらには限定されない接触および非接触インターフェースを採用する方法と、広く定義する。
【0033】
[0039] NUI技術には、全て一層自然なユーザー・インターフェースを提供する、タッチ感応ディスプレイ、音声および会話認識、意図および目標理解、深度カメラ(例えば、立体視カメラ・システム、赤外線カメラ・システム、カラー・カメラ・システム、およびこれらの組み合わせというようなカメラ)を使用する運動ジェスチャ(motion gesture)検出、加速度計/ジャイロスコープを使用する運動ジェスチャ検出、顔認識、3Dディスプレイ、頭部、視線および凝視追尾、没入型拡張現実および仮想現実システム、ならびに電界検知電極(例えば、脳波図(EEG))および他のニューロ・バイオフィードバック方法を使用して脳活動を検知する技術が含まれるが、これらに限定されるのではない。
【0034】
[0040] クエリー毎に計算される特徴は、技術(tech)分類スコア(classifier score)、コンテキスト外比率 (out-of-context ratio)、自動ナビゲーション比率 (auto-navigation ratio)、自動ナビゲーション指標(auto-navigation indicator)、クライアント・クリック・カウント比率(client click-count ratio)、およびクライアント・クリック・カウント指標 (client click-count indicator) を含むことができるが、これらに限定されるのではない。本アーキテクチャは、オンライン特徴の使用、つまり、ユーザーが統合検索環境と対話処理する時でなければ利用できないものの使用に拡大する。
【0035】
[0041] 技術クラシファイア・スコアは、0と1との間の範囲を取るスコアとすることができ、クエリーに対する技術的分類として動作する。スコアが高い程、クエリーはそれに対する技術的含蓄(technical connotation)をより多く有することを示す。
【0036】
[0042] コンテキスト外比率とは、統合検索環境において実行されたクエリーの数と、ウェブのみの検索環境において実行されたクエリーの数との比較である。この比率が高いクエリー程、このクエリーが統合環境において頻繁に検索されたことを示し、このクエリーがクライアントの意図を有する可能性が高いことを示す。
【0037】
[0043] 自動ナビゲーション比率とは、自動ナビゲーション・イベントを実行したクエリーの回数と、そのクエリーから統合検索ページが得られた回数との比較である。ユーザー・インターフェース検索制御の一実施態様では、ある種のクエリー(例えば、制御パネル)の結果自動ナビゲーション・インベントが実行され、ユーザーが、統合検索結果ページではなく、直ちに所望の宛先(この場合、制御パネル・プログラム)に連れて行かれる。
【0038】
[0044] 自動ナビゲーション指標は、クエリーが自動ナビゲーション・イベントにおいて潜在的に使用される可能性があることを示す。この指標は、自動ナビゲーション比率が0よりも大きいときにのみ「1」の値(等)にすることができ、それ以外の場合、この指標は「0」の値(等)となる。
【0039】
[0045] クライアント・クリック・カウント比率。統合検索結果ページにおいて、クライアントに基づくコンテンツへのリンク、例えば、アプリケーション、プログラム、および/または特定のファイルへのリンクを示すことができる。ユーザーが、ある種のクエリーに対して、このコンテンツ上でウェブ結果よりも多くクリックした場合、これは、このクエリーがクライアント意図に一層関連があることを示す。
【0040】
[0046] クライアント・クリック・カウント指標は、クエリーが、少なくとも1回、統合検索結果ページにおけるクライアント・コンテンツ上におけるクリック・カウントに至ることを示す。この指標は、クライアント・クリック・カウント比率が「0」の値(等)よりも大きいときだけ「1」の値(等)となり、それ以外の場合、0の指標値となる。
【0041】
[0047] 以上の特徴の任意の組み合わせを使用し、そして恐らくは所望されるにしたがって他の特徴も使用して、種々の分類技法を使用してクラシファイア(分類コンポーネント)を訓練することができる。採用することができる他の分類アルゴリズムには、ディシジョン・ツリー、加重ディシジョン・フォーレスト(weighted decision forests)、および一般的な統計アルゴリズムが含まれるがこれらに限定されるのではない。
【0042】
[0048] 尚、予測モデルを訓練するために使用されるある特徴は性質上過去のもの(過去のユーザー・アクションに基づく)であってもよく、ある特徴はリアル・タイム(現在のユーザー・アクションに基づく)であってもよいことを注記しておく。つまり、モデルはときの経過と共に発展することができる。加えて、モデルはユーザー特定的になるように発展することができ、または発展するように制御されることが可能である。つまり、オンライン検索エンジンと通信してこの判定を行う必要があるのではなく、ユーザー特定モデルをユーザー・デバイス上において採用し、検索がローカルのみで実行されるべきか否か一層効率的に評価することができる。この能力は、現在ネットワークから切断されているユーザー・デバイスのための能力向上を促進する。
【0043】
[0049] クラシファイアは、特徴と、ロジスティック回帰分類のような種々の分類技法の内1つ以上とを使用して訓練され、このような回帰の出力、0と1との間の数値が、所望の応答、クエリー内にカプセル化されたクライアント意図(client intention)の量を表す数値を与える。
【0044】
[0050] 意図は、全体的に0の値(意図なし)または1の値(明確な意図)として計算することができる。あるいは、意図の度合いに関して意図を計算することもできる。例えば、閾値を設定することができ、低い閾値未満は、ローカルに検索する意図の可能性がないことを示し、高い閾値はローカルのみで検索する明確な意図を示し、低い閾値と高い閾値との間では、意図はローカルおよび非ローカル双方で検索することとなる。非ローカル検索(例えば、ウェブ検索)を実行しないことを選択すると、遂行能力およびエンド・ユーザーの体験が最適化される。何故なら、ネットワーク通信は時間がかかり、システム/デバイス性能に悪影響を及ぼす可能性があるからである。
【0045】
[0051] 結果を得るためのタイムアウト閾値または待機要件を設定するために、意図のレベルを使用することができる。例えば、ウェブ意図スコアが0.4ではなく0.8である場合、ユーザーはウェブ結果サービスが応答するのに2倍かかっても、快く待つことができよう。これによって、意図スコアは、特定のソースから結果が得られる確率を指定する方法、およびシステム性能のチューニングを可能にする方法の双方を提供する。
【0046】
[0052] モデルの予測を利用することによって、ユーザーが統合検索環境と対話処理するときのユーザー体験および実行中のタスクが改善される。例えば、検索開始ボタン(例えば、Windows(商標)オペレーティング・システムにおけるSearcg Charm(商標))上の検索ボタンの押下が、常に統合検索を実行するようにプログラミングすることができる。しかしながら、検出された唯一の意図が、ローカル検索としてのみ、または非ローカル検索(例えば、ウェブ検索)としてのみのいずれかで検索が実行されることを推論し、コンテキストに依存する場合、このプログラミングされた動作または機能を迂回することができる。
【0047】
[0053] ローカルまたは非ローカル設定のいずれにおいても、クエリー・ストリング自体が、実行することを求められる全てであることも可能である。例えば、ローカル検索に対する唯一の意図を推論するためにクエリー・ストリングを採用することができ、および/または非ローカル検索(例えば、ウェブ検索)に対する唯一の意図を推論するために、リアルタイムの特徴を採用することができる。
【0048】
[0054] これより図面を参照するが、全体を通じて同様のエレメントを指すために、同様の参照番号を使用する。以下の記載では、説明の目的のために、その完全な理解を得るために多数の具体的な詳細を明記する。しかしながら、新規な実施形態はこれらの具体的な詳細がなくても実施可能であることは明白であろう。他方で、周知の構造およびデバイスは、その説明を容易にするために、ブロック図形式で示される。その意図は、特許請求する主題の主旨および範囲に該当する全ての変更、均等、および代替物を包含することである。
【0049】
[0055] 図1は、開示するアーキテクチャによるシステム100を示す。システム100は、統合検索プロセスの一部としてクエリー104を受け、クエリーのクエリー・コンテキスト106を受けるように構成された検索コンポーネント102を含むことができる。クエリー・コンテキスト106は、クエリーが入力されたデバイス(例えば、ハンドヘルド、電話機、携帯用、デスクトップ等)、デバイスの位置(例えば、地理的、ネットワーク等)、またはデバイスのアプリケーション・アクティビティ(例えば、既に開いているアプリケーション、アプリケーション内部から開始された検索、開いているアプリケーション(1つまたは複数)のタイプ、デバイスの現在アクティブなアプリケーション(前景にある等)等)の内少なくとも1つと関係がある。
【0050】
[0056] 特徴コンポーネント108は、予測モデル112から候補特徴110を、クエリー104および/またはクエリー・コンテキスト106に関係するものとして得るように構成することができる。分類コンポーネント114は、候補特徴110に基づいて、クエリー104に対して分類値116を生成するように構成することができる。分類コンポーネント114は、回帰アルゴリズム、クエリーがクライアント意図を有するか否か最初に予測し、yesである場合クエリー・サブカテゴリ(例えば、ファイル、設定、アプリケーション等)を予測する階層分類アルゴリズムを含むが、これらに限定されない、異なるアルゴリズムの内任意の1つ以上を使用して分類を実行することができる。
【0051】
[0057] 意図コンポーネント118は、分類値116に基づいて意図の度合い120を識別するように構成することができる。検索プロセスは、検索コンポーネント102によって、意図の度合い120に基づいて、非ローカル検索112(例えば、ウェブ、ネットワークに基づく)またはローカル検索124に導かれる。
【0052】
[0058] 検索プロセスは、全体的な結果126を得るために、ローカル検索124および非ローカル検索122の双方として実行される。全体的な結果126は、意図の度合い120に関する関連結果だけを示すように調節することができる。意図コンポーネント118は、ローカル・デバイス(またはデーター・ソース)以外のデーター・ソースの非ローカル・コンテンツ、ローカル・デバイスのローカル・コンテンツ、ローカル・デバイスのローカル・ファイル、およびローカル・デバイスのローカル・アプリケーションに関係する意図の度合い120を計算する。
【0053】
[0059] 候補特徴110は任意の1つ以上の特徴を含むことができる。例えば、候補特徴110は、クエリーに対する技術的関与(implication)を示す技術分類スコアを含むことができる。候補特徴110は、コンテキスト外特徴を含むことができる。コンテキスト外特徴は、単独検索環境からの情報および統合検索環境からの情報を定義および比較し、1つ1つの検索クエリーを識別する。候補特徴110は、クエリーが自動ナビゲーション・イベントにおいて使用される可能性がある(potential of)自動ナビゲーション・イベントに関連する自動ナビゲーション・メトリックを含む。候補特徴110は、ローカル・コンテンツに関係するクリック・カウント・アクティビティに関連するクリック・カウント・メトリックを含むことができる。
【0054】
[0060] 特徴および/またはユーザー・トリガー(ユーザーによってシステムに与えられるアクション)は、QAS(品質セグメンテーション・スコア)、クライアントまたは非クライアント領域クリック確率、オペレーティング・システム・コマンドのホワイト・リスト(white list)、ある種のパターン(例えば、*.pdf、 %appdata%等)を有する正規表現等を含むことができる。
【0055】
[0061] 必要に応じて、システム100は、前向きにコンテンツを提案する提案コンポーネント128を更に含むことができる。提案コンポーネント128は、分類コンポーネント114とは別個に動作する(無視する)、分類コンポーネント114と協働して動作する、または任意の所与のクエリーに対して全く動作しないように構成することができる。例えば、提案コンポーネント128は、現在の時刻またはコンテンツが与えられると、ユーザーに関連がある可能性があるローカル文書またはウェブ・コンテンツを提案することができる。この提案能力は、生成されたクエリーに基づくことができるが、そのように限定される必要はなく、ある時間期間(例えば、過去の24時間)にわたってユーザーにとって最も共通するクエリー、ユーザーの位置(例えば、会社、自宅等)、全てのデバイス・ユーザーに共通のクエリー(例えば、Windows(商標))、検索エンジン・ユーザー(例えば、Bing(商標))、ソーシャル・ネットワーク・ユーザー、企業ユーザー等に基づくことができる。
【0056】
[0062] 提案コンポーネントからの結果のみを利用するように、提案エンジン128が分類コンポーネント114を無視するということも可能である。この無視能力は、コンテキスト、現在の時刻等のような判断基準に基づいて、イネーブルすることができる。つまり、分類コンポーネント114によって出力された分類スコアは、無視されるか、または他の何らかの望まれる方法で使用される。また、一旦提案コンポーネント128を使用するという判断が下されたなら、リソースを必要とする可能性がある計算を実行しないように、分類コンポーネント114の動作を停止させる(idled)ことも可能である。
【0057】
[0063] 分類コンポーネント114と組み合わせて動作するとき、一旦分類スコアがローカル意図の高い度合いを示したなら、例えば、提案コンポーネント128は、次いで、例えば、以前にアクセスされたコンテンツ、または最新のローカル検索セッションに関連があるコンテンツを提案するために採用することができる。
【0058】
[0064] 提案コンポーネント128は、前向きにコンテンツを提案し、クエリー上でトリガーされる必要はない(これはクエリー分類システムにとって前提条件である)。2つのコンポーネント(114および128)が異なるイベント(一定の時間間隔でコンテンツを提案する、あるいはユーザーがホーム・スクリーンに戻るまたは検索ボックスを開くときというような他の非クエリー・イベント)においてトリガーしてもよいので、これらのコンポーネント(114および128)が競合する必要はなく、一方のシステムが他方を無視することもないという場合も可能である。前向きなシステムが、分類コンポーネント114を利用して、他の(例えば、ユーザーの以前の、またそうでなければ、現在のコンテキストに関連がある)クエリーおよびそれらの分類された意図に基づいて、意図スコアを出す(provide)ことができる。したがって、提案コンポーネント128は、分類コンポーネント114の上で動作し、これと競合する必要はない。
【0059】
[0065] 図2は、開示するアーキテクチャによる意図評価および検索選択予測システム200を示す。システム200は、予測モデル112を含む。予測モデル112は、第1モデル202(例えば、技術分類データー・ストア)、第2モデル204(例えば、クエリー統計データー・ストア)、第3モデル206(例えば、クリック情報)、および所望に応じて、他のモデル208を含む。第3モデル206(例えば、クリック情報)は、例えば、クリック・カウント比率のクリック・カウント・メトリック、およびクライアント・クリック・カウント指標を与えるように動作することができる。
【0060】
[0066] 特徴生成器210(特徴コンポーネント108と同様)は、予測モデル112から、候補特徴110を、クエリー104および/またはクエリー・コンテキスト106に関係するものとして選択するように動作する。次いで、候補特徴110はクラシファイア212(分類コンポーネント114と同様)に入力され、候補特徴110を処理し、意図の度合い120を判定するために利用される分類値116を生成する。
【0061】
[0067] 検索イニシエーター214は、クラシファイア212への入力として示されている。一実施形態では、検索イニシエーター214は、クラシファイア212に影響を及ぼす特定のタイプの信号である。例えば、検索イニシエーター214は、検索をローカル検索および非ローカル検索(例えば、ウェブ)の双方として実行することを統合検索環境に常に指示するように構成されたソフトウェア制御手段とすることができる。
【0062】
[0068] また、クラシファイア212によって処理された候補特徴110が、ユーザー意図(クエリー意図)がローカル検索のみを実行する高い可能性(likelihood)を示すという場合も可能である。つまり、検索イニシエーター214の作動(activation)によって自動的に開始されるように構成された二重検索(ローカルおよび非ローカル)は、分類スコア116から導き出される意図の度合いによって無視される。検索イニシエーター214がプログラミングされた目的や機能が何であれ、目的または機能は、クラシファイア212から導き出された分類値116と比較して、適切に定められた異なる値によって無視されるように構成することができる。例えば、導き出された意図が、分類値16によって示されるように、少なくとも85パーセットのローカル検索のみの可能性(likelihood)を有すると計算された場合、プログラミングされたイニシエーター214の機能を無効にする(または無視する)ことができる。
【0063】
[0069] 図3は、予測モデル112に信号を入力するまたはフィードバックすることができるシステム300を示す。モデル112は、少なくとも他のユーザーから得られた履歴データー302を使用して開発することができる。履歴データー302は、特定のモデルの目的に合わせて解析することができる。例えば、1つのモデルではクリック情報を利用することができるが、他のモデルでは利用することができず、自動ナビゲーション・データーは、1つのモデルでは採用することができるが、他のモデルでは採用することができない。加えて、現在のユーザーのリアルタイム・データー304をモデル112または特定のモデルにフィードバックすることもできる。更にまた、他のユーザーのリアルタイム・データーも、モデルからの候補特徴の選択に影響を及ぼすために、モデル112にフィードバックすることもできる。
【0064】
[0070] モデル112は、一般に知られている大規模な検索プロバイダーによる利用のために、オンラインでホストされることが可能である。モデル112またはそのコピーを、個人的なネットワークまたは個人的なデバイス上でというように、ローカルでもホストし、所望通りに更新可能にすることは、開示するアーキテクチャの想定範囲内である。双方のホストされたモデル集合に対する更新は、ローカルにホストされたモデルがオンライン・モデルを更新し、オンライン・モデルがローカル・モデルを更新するように、所望通りに同期させることができる。
【0065】
[0071] 改良された実施態様では、ユーザーに合わせてカスタマイズされるようにモデル112を発展させることができる。つまり、オンラインでホストされる設定では、モデル112はユーザーに特定であり、ユーザーの検索アクティビティおよびその他のユーザー・デバイス/アプリケーションのアクティビティのみに基づいて更新される。
【0066】
[0072] 尚、開示する実施形態では、ある種のコンポーネントを構成し直すこと、組み合わること、省略することができ、更に追加のコンポーネントを含めることができることは理解されよう。加えて、ある実施形態では、以上のコンポーネントの全てまたは一部がクライアント上に存在し、一方他の実施形態では一部のコンポーネントがサーバー上に常駐してもよく、あるいはローカルまたはリモート・サービスによって提供される。
【0067】
[0073] 開示するアーキテクチャは、必要に応じて、ユーザーが個人情報を識別および/または露出することをオプトインまたはオプトアウトすることを可能にするプライバシー・コンポーネント(図示せず)を含むことができる。プライバシー・コンポーネントは、追跡情報や、既に得られている、維持されている、および/またはアクセス可能な個人情報のようなユーザー情報の、許可された安全な処理を可能にする。ユーザーには、個人情報の部分の収集の通知、および収集プロセスのオプトインまたはオプトアウトの機会を与えることができる。同意は様々な形態を取ることができる。オプトイン同意は、データーが収集される前に、肯定的なアクションを取ることをユーザーに課することができる。あるいは、オプトアウト同意は、データーが収集される前に、そのデーターの収集を禁止することに肯定的なアクションを取ることをユーザーに課することができる。
【0068】
[0074] 図4は、ローカル結果402および非ローカル結果404の双方の結果ページ400を示す。「花」クエリーから導き出された意図は、検索がローカルおよび/または非ローカルかだけでなく、結果が提示される方法にも影響を及ぼすことができる。このページ400において、結果は分離されている。ローカル結果402は左側に提示/列挙され、そして非ローカル(例えば、ウェブ)結果404は右側に提示/列挙されている。加えて、結果は、結果集合の各々において、即ち、ローカル結果402および非ローカル結果404において、順序付けすることができる。更に、列挙される結果の数は、表示空間の量に応じることもできる。
【0069】
[0075] 本明細書に含まれるのは、開示したアーキテクチャの新規な態様を実行する方法(methodology)の具体例を表す1組のフロー・チャートである。説明を簡略化する目的のために、ここでは、例えば、フロー・チャートまたは流れ図の形態で示される1つ以上の方法を、一連のアクトとして示し説明するが、これらの方法は、アクトの順序によって限定されないことは理解されそして認められよう。何故なら、本開示によれば、一部のアクトは、ここで示し説明する順序とは異なる順序で現れること、および/または他のアクトと同時に行われることも可能であるからである。例えば、方法は、代わりに、状態図におけるように、相互に関係付けられた一連の状態またはイベントとして表すことも可能であることは、当業者には理解されそして認められよう。更に、方法に例示される全てのアクトが、新規な実施態様には必要ではない場合もある。
【0070】
[0076] 図5は、開示したアーキテクチャによる方法を示す。500において、ローカル検索および非ローカル検索を実行することができる検索プロセスの一部として、クエリーを受ける。502において、クエリーのコンテキストを導き出す。504において、コンテキストに関連する特徴を評価する。506において、クエリーの分類値を、特徴に基づいて計算する。508において、意図の度合いを、分類値に基づいて識別する。510において、意図の度合いに基づいて、ローカル検索または非ローカル検索の少なくとも1つに検索プロセスを導く。
【0071】
[0077] この方法は、更に、意図の度合いに基づいて検索結果を調節するステップも含むことができる。言い換えると、検索結果は、意図の度合いに基づいて、ローカル検索のみから得ることができる。あるいは、検索プロセスが、ローカル・コンテンツおよび非ローカル・コンテンツ(例えば、ウェブ)の双方を検索することを伴う場合も可能であるが、ローカル検索のみを示す意図の度合いに基づいて、ローカルの結果のみを提示する(非ローカル検索結果を無視する)。更に、この方法は、予測モデルから特徴を得て意図の度合いを識別するステップも含むことができる。更に、この方法は、コンテキスト外特徴を適用して、クエリーが最も頻繁にローカル検索と関連付けられるときを判定するステップを含むこともできる。つまり、特定の検索タームまたはストリングが、ローカル・デバイスまたはローカル・データー・ストアを検索する意図を頻繁に示す場合、今後同じクエリーが再度ローカル検索を示すことを、高い可能性の度合い(degree of likelihood)で推論することができる。
【0072】
[0078] 更に、この方法は、意図の度合いに基づいて、プログラミングされた検索機能を無視し、異なる検索プロセスを選択するステップも含むことができる。更に、この方法は、クエリー・ストリングまたはリアルタイム特徴にしたがって計算された意図の度合いに基づいて、検索プロセスを導くステップも含むことができる。例えば、クエリー・ストリングが特定の意図を示すことを、高い信頼度で解釈することができる場合、それに応じて検索プロセスを導く。リアルタイム特徴が特定の意図を示すことが高い信頼度で解釈することができる場合も、それに応じて検索プロセスを導くことができる。例えば、1つまたは複数のリアルタイム特徴(例えば、ジオロケーション情報またはネットワーク情報)が、ユーザーが在宅中であるらしいことを示す場合、検索はローカルのみの検索になることを直接推論することができる。
【0073】
[0079] 図6は、開示したアーキテクチャによる代替方法を示す。この方法は、コンピューター実行可能命令を含むコンピューター読み取り可能な物理記憶媒体として具体化することができ、コンピューター実行可能命令がマイクロプロセッサーによって実行されると、このマイクロプロセッサーに以下のアクトを実行させる。
【0074】
[0080] 600において、ローカル検索および非ローカル検索を含む統合検索プロセスの一部として、予測モデルの候補特徴を分類する。602において、候補特徴を分析してクエリー・コンテキストを導き出す。604において、導き出したクエリー・コンテキストに基づいて、クエリーの意図を予測する。606において、クエリーの意図に基づいて、ローカル検索または非ローカル検索の少なくとも1つに検索プロセスを導く。
【0075】
[0081] 更に、この方法は、コンテキスト外、技術(例えば、技術分類スコア)、自動ナビゲーション・メトリック、またはクライアント・クリック・カウント・メトリックの内少なくとも1つに関連する特徴に基づいて、クエリーの意図を導き出すアクトを含むことができる。更に、この方法は、クエリーの意図およびクエリー・コンテキストに基づいて、非ローカル・コンテンツ、ローカル・コンテンツ、ローカル・ファイル、またはローカル・アプリケーションの内少なくとも1つに検索プロセスを導くアクトを含むことができる。
【0076】
[0082] 更に、この方法は、クエリー・ストリングまたはリアルタイム特徴にしたがって計算されたクエリーの意図に基づいて、検索プロセスを導くアクトを含むことができる。更に、この方法は、クエリーの意図に基づいて、プログラミングされた検索機能を無視して、異なる検索プロセスを選択するアクトを含むことができる。
【0077】
[0083] 本願において使用する場合、「コンポーネント」および「システム」という用語は、ハードウェア、ソフトウェアおよび有形ハードウェアの組み合わせ、ソフトウェア、実行中のソフトウェアのいずれかである、コンピューター関連エンティティを指すことを意図している。例えば、コンポーネントは、マイクロプロセッサー、チップ・メモリー、大容量記憶デバイス(例えば、光ドライブ、ソリッド・ステート・ドライブ、および/または磁気記憶媒体ドライブ)、およびコンピューターのような有形コンポーネント、ならびにマイクロプロセッサー上で実行するプロセス、オブジェクト、実行可能ファイル、データー構造(揮発性または不揮発性記憶媒体に格納された)、モジュール、実行のスレッド、および/またはプログラムのようなソフトウェア・コンポーネントであることが可能であるが、これらに限定されるのではない。
【0078】
[0084] 。一例として、サーバー上で実行するアプリケーションおよび当該サーバーの双方がコンポーネントであることが可能である。1つ以上のコンポーネントがプロセスおよび/または実行のスレッド内部に存在することができ、1つのコンポーネントが1つのコンピューター上に局在すること、および/または2つ以上のコンピューター間で分散することができる。「一例の」(exemplary)という用語は、本明細書において用いられる場合、例(example)、実例(instance)、または例示(illustration)として役割を果たすことを意味する。本明細書において「一例の」(exemplary)として記載される態様または設計(design)はいずれも、他の態様または設計よりも好ましいまたは有利であるとは必ずしも解釈されなくてもよい。
【0079】
[0085] これより図7を参照すると、開示したアーキテクチャにしたがって、統合検索環境においてクライアントの意図を実行する計算システム700のブロック図が示されている。しかしながら、開示した方法および/またはシステムの一部または全部の態様がシステム・オン・チップ(system-on-a-chip)として実現されることが可能であり、アナログ、ディジタル、混合信号、および他の機能が1つのチップ基板上に製作されることは認められよう。
【0080】
[0086] 種々の態様について追加のコンテキストを与えるために、図7および以下の説明は、種々の態様を実現することができる、適した計算システム700の端的で総合的な説明を行うことを意図している。以上の説明は、1つ以上のコンピューター上で実行することができるコンピューター実行可能命令という一般的なコンテキストにおいて行われたが、新規な実施形態は、他のプログラム・モジュールとの組み合わせでも、および/またはハードウェアおよびソフトウェアの組み合わせとしても実現できることは、当業者には認められよう。
【0081】
[0087] 種々の態様を実現する計算システム700は、コンピューター702を含む。コンピューター702は、マイクロ処理ユニット(1つまたは複数)704(マイクロプロセッサー(1つまたは複数)およびプロセッサー(1つまたは複数)とも呼ぶ)、システム・メモリー706のようなコンピューター読み取り可能記憶媒体(1つまたは複数のコンピューター読み取り可能記憶媒体は、磁気ディスク、光ディスク、ソリッド・ステート・ドライブ、外部メモリー・システム、およびフラッシュ・メモリー・ドライブも含む)、およびシステム・バス708を有する。マイクロ処理ユニット(1つまたは複数)704は、単一プロセッサー、マルチプロセッサー、処理および記憶回路の単一コア・ユニットおよびマルチコア・ユニットというような種々の市販のマイクロプロセッサーの内任意のものとすることができる。更に、以上の新規なシステムおよび方法は、他のコンピューター・システム構成とでも実施できることは、当業者には認められよう。他のコンピューター・システム構成には、ミニコンピューター、メインフレーム・コンピューター、更にはパーソナル・コンピューター(例えば、デスクトップ、ラップトップ、タブレットPC等)、ハンドヘルド計算デバイス、マイクロプロセッサー・ベースまたはプログラマブル消費者用電子機器等が含まれ、その各々を1つ以上の関連デバイスに動作可能に結合することができる。
【0082】
[0088] コンピューター702は、ワイヤレス通信デバイス、セルラ電話機、およびその他の移動体対応デバイス(mobile-capable device)のような携帯用および/または移動体計算システムのためのクラウド・コンピューティング・サービスをサポートしてデーターセンタおよび/または計算リソース(ハードウェアおよび/またはソフトウェア)において採用される様々なコンピューターの内の1つであることが可能である。クラウド・コンピューティング・サービスは、例えば、サービスとしてのインフラストラクチャ、サービスとしてのプラットフォーム、サービスとしてのソフトウェア、サービスとしてのストレージ、サービスとしてのデスクトップ、サービスとしてのデーター、サービスとしてのセキュリティ、およびサービスとしてのAPI(アプリケーション・プログラム・インターフェース)を含むが、これらに限定されるのではない。
【0083】
[0089] システム・メモリー706は、揮発性(VOL)メモリー710(例えば、ランダム・アクセス・メモリー(RAM))および不揮発性メモリー(NON−VOL)712(例えば、ROM,EPROM、EEPROM等)のようなコンピューター読み取り可能記憶(物理記憶)媒体を含むことができる。基本入力/出力システム(BIOS)は、不揮発性メモリー712に格納することができ、起動中におけるような、コンピューター702内部におけるコンポーネント間のデーターおよび信号の通信を容易にする基本的なルーチンを含む。また、揮発性メモリー710は、データーをキャッシュするためのスタティックRAMのような、高速RAMも含むことができる。
【0084】
[0090] システム・バス708は、システム・メモリー706からマイクロ処理ユニット(1つまたは複数)704までを含むがこれらに限定されないシステム・コンポーネントのためにインターフェースを設ける。システム・バス708は、種々の市販のバス・アーキテクチャの内任意のものを使用して、メモリー・バス(メモリー・コントローラ有りまたは無し)および周辺バス(例えば、PCI、PCIe、AGP、LPC等)に更に相互接続することができる様々なタイプのバス構造の内任意のものが可能である。
【0085】
[0091] 更に、コンピューター702は、機械読み取り可能ストレージ・サブシステム(1つまたは複数)714と、ストレージ・サブシステム(1つまたは複数)714をシステム・バス708ならびに他の所望のコンピューター・コンポーネントおよび回路にインターフェースするストレージ・インターフェース(1つまたは複数)716とを含む。ストレージ・サブシステム(1つまたは複数)714(物理記憶媒体)は、例えば、ハード・ディスク・ドライブ(HDD)、磁気フロッピー・ディスク・ドライブ(FDD)、ソリッド・ステート・ドライブ(SSD)、フラッシュ・ドライブ、および/または光ディスク記憶ドライブ(例えば、CD−ROMドライブ、DVDドライブ)の内の1つ以上を含むことができる。ストレージ・インターフェース(1つまたは複数)716は、例えば、EIDE、ATA、SATA、およびIEEE1394のようなインターフェース技術を含むことができる。
【0086】
[0092] 1つ以上のプログラムおよびデーターは、メモリー・サブシステム706、機械読み取り可能なリムーバブル・メモリー・サブシステム718(例えば、フラッシュ・ドライブ・フォーム・ファクター技術)、および/またはストレージ・サブシステム(1つまたは複数)714(例えば、光、磁気、ソリッド・ステート)に格納することができ、オペレーティング・システム720、1つ以上のアプリケーション・プログラム722、他のプログラム・モジュール724、およびプログラム・データー726を含む。
【0087】
[0093] オペレーティング・システム720、1つ以上のアプリケーション・プログラム722、他のプログラム・モジュール724、および/またはプログラム・データー726は、例えば、図1のシステム100の品目およびコンポーネント、図2のシステム200の品目およびコンポーネント、図3のシステム300の品目およびコンポーネント、図4の結果ページ400の項目およびエレメント、ならびに図5および図6のフロー・チャートによって表される方法を含むことができる。
【0088】
[0094] 一般に、プログラムは、ルーチン、方法、データー構造、その他のソフトウェア・コンポーネント等を含み、これらは特定のタスク、機能を実行するか、または特定の抽象データー型を実装する。また、オペレーティング・システム720l、アプリケーション722、モジュール724、および/またはデーター726の全てまたは一部は、例えば、揮発性メモリー710および/または不揮発性メモリーのようなメモリーにキャッシュすることもできる。尚、開示したアーキテクチャは、種々の市販されているオペレーティング・システム、またはオペレーティング・システムの組み合わせ(例えば、仮想機械のような)によっても実現できることは認められよう。
【0089】
[0095] ストレージ・サブシステム(1つまたは複数)714およびメモリー・サブシステム(706および718)は、データー、データー構造、コンピューター実行可能命令等の揮発性およびまたは不揮発性記憶のためのコンピューター読み取り可能媒体として役割を果たす。このような命令は、コンピューターまたは他の機械によって実行されると、そのコンピューターまたは他の機械に、方法の1つ以上のアクトを実行させることができる。コンピューター実行可能命令は、例えば、命令およびデーターを含み、汎用コンピューター、特殊目的コンピューター、または特殊目的マイクロプロセッサー・デバイス(1つまたは複数)に、ある種の機能または1群の機能を実行させる。コンピューター実行可能命令は、例えば、バイナリー、アセンブリ言語のような中間フォーマット命令、またはソース・コードさえも含むことができる。アクトを実行する命令は、1つの媒体上に格納することができ、または命令の全てが同じ媒体上にあるか否かには関係なく、1つ以上のコンピューター読み取り可能媒体上に命令が集合的に現れるように、多数の媒体にまたがって格納することも可能である。
【0090】
[0096] 複数のコンピューター読み取り可能記憶媒体(1つの媒体)は、伝搬信号自体を除外し、コンピューター702によってアクセスすることができ、更にリムーバブルおよび/または非リムーバブルである、揮発性および不揮発性の内部および/または外部媒体を含む。コンピューター702のために、種々のタイプの記憶媒体が任意の適したディジタル・フォーマットでのデーター格納に対応する。尚、開示したアーキテクチャの新規の方法(アクト)を実行するためのコンピューター実行可能命令を格納するために、zipドライブ、ソリッド・ステート・ドライブ、磁気テープ、フラッシュ・メモリー・カード、フラッシュ・ドライブ、カートリッジ等のような、他のタイプのコンピューター読み取り可能媒体も採用できることは、当業者には認められてしかるべきである。
【0091】
[0097] ユーザーは、キーボードおよびマウスのような外部ユーザー入力デバイス728を使用して、あるいは音声認識によって容易に実行される(facilitate)音声コマンドによって、コンピューター702、プログラム、およびデーターと対話処理することができる。他の外部ユーザー入力デバイス728には、マイクロフォン、IR(赤外線)リモコン、ジョイスティック、ゲーム・パッド、カメラ認識システム、スタイラス・ペン、タッチ・スクリーン、ジェスチャ・システム(例えば、眼球移動、手(1つまたは複数)、指(1本または複数)、腕(1本または複数)、頭部等に関係するような身体姿勢)等を含むことができる。ユーザーは、タッチパッド、マイクロフォン、キーボード等のような、搭載(onboard)ユーザー入力デバイス730を使用して、コンピューター702、プログラム、およびデーターと対話処理することができ、この場合、例えば、コンピューター702は携帯用コンピューターである。
【0092】
[0098] これらおよびその他の入力デバイスは、入力/出力(I/O)デバイス・インターフェース(1つまたは複数)732を介してシステム・バス708を通じてマイクロ処理ユニット(1つまたは複数)704に接続されるが、パラレル・ポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェース、短距離ワイヤレス(例えば、Bluetooth(登録商標))、およびその他のパーソナル・エリア・ネットワーク(PAN)技術等のような、他のインターフェースによって接続することもできる。また、I/Oデバイス・インターフェース(1つまたは複数)732は、プリンター、オーディオ・デバイス、カメラ・デバイス等の出力周辺機器734、サウンド・カードおよび/または搭載オーディオ処理能力等の使用を容易にする。
【0093】
[0099] 1つ以上のグラフィクス・インターフェース(1つまたは複数)736(一般にグラフィクス処理ユニット(GPU)とも呼ばれる)は、コンピューター702と外部ディスプレイ(1つまたは複数)738(例えば、LCD、プラズマ)および/または搭載ディスプレイ740(例えば、携帯用コンピューターのための)との間でグラフィクスおよびビデオ信号を供給する。グラフィクス・インターフェース(1つまたは複数)736は、コンピューター・システム・ボードの一部として製造することもできる。
【0094】
[00100] コンピューター702は、有線/ワイヤレス通信サブシステム742を介して1つ以上のネットワークおよび/または他のコンピューターへの論理接続を使用して、ネットワーク接続環境(例えば、IP−ベース)において動作することができる。他のコンピューターには、ワークステーション、サーバー、ルーター、パーソナル・コンピューター、マイクロプロセッサー・ベースの娯楽専用機器、ピア・デバイス、または他の一般的なネットワーク・ノードを含むことができ、通例、コンピューター702に関して説明したエレメントの多くまたは全てを含むことができる。論理接続は、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、ホットスポット等への有線/ワイヤレス接続を含むことができる。LANおよびWANネットワーキング環境は、事務所や会社では極普通であり、イントラネットのような企業規模のコンピューター・ネットワークを促進し、これらの全てはインターネットのような地球規模の通信ネットワークに接続することができる。
【0095】
[00101] ネットワーキング環境において使用されるとき、コンピューター702は、有線/ワイヤレス・ネットワーク、有線/ワイヤレス・プリンター、有線/ワイヤレス入力デバイス744等と通信するために、有線/ワイヤレス通信サブシステム742(例えば、ネットワーク・インターフェース・アダプター、搭載送受信サブシステム等)を介してネットワークに接続する。コンピューター702は、モデム、またはネットワークを通じて通信を確立する他の手段を含むことができる。ネットワーク接続環境では、コンピューター702に関係するプログラムおよびデーターは、分散型システムに付随するような、リモート・メモリー/ストレージ・デバイスに格納することができる。尚、以上で示したネットワーク接続は一例であり、コンピューター間に通信リンクを確立する他の手段も使用できることは認められよう。
【0096】
[00102] コンピューター702は、IEEE802.xx系統の規格というような無線技術を使用して、ワイヤレス通信(例えば、IEEE802.11無線通信経由変調技法)内に動作可能に配置されたワイヤレス・デバイスのような、有線/ワイヤレス・デバイスまたはエンティティ、例えば、プリンター、スキャナー、デスクトップおよび/または携帯用コンピューター、パーソナル・ディジタル・アシスタント(PDA)、通信衛星、ワイヤレスで検出可能なタグに関連する機器または場所(例えば、キオスク、売店、手洗い)のいずれか、ならびに電話機と通信するように動作可能である。これは、少なくとも、ホットスポットのためのWi−Fi(商標)(ワイヤレス・コンピューター・ネットワーキング・デバイスの相互動作可能性を認定するために使用される)、WiMax、およびBluetooth(商標)ワイヤレス技術を含む。このように、通信は、従来のネットワークのような予め定められた構造、または単に少なくとも2つのデバイス間におけるアドホック通信とすることができる。Wi−Fiネットワークは、IEEE802.11x(a、b、g等)と呼ばれる無線技術を使用して、安全で信頼性がある高速ワイヤレス接続を提供する。Wi−Fiネットワークは、コンピューターを互いに、インターネットに、そして有線ネットワーク(IEEE802.3関係技術および機能を使用する)に接続するために使用することができる。
【0097】
[00103] 以上で説明したことは、開示されたアーキテクチャの例を含む。勿論、コンポーネントおよび/または方法の着想可能なあらゆる組み合わせを記載することは不可能であるが、多くの他の組み合わせや置換(permutations)も可能であることは、当業者には認めることができよう。したがって、新規なアーキテクチャは、添付した請求項の主旨および範囲に該当するような全ての改変、変更、および変形を包含することを意図している。更に、「含む」(includes)という用語が詳細な説明または特許請求の範囲において使用される限りにおいて、このような用語は、「含む」(comprising)という用語が請求項において移行性単語として採用されるときに「含む」が解釈されるときと同様に、包含的であることを意図している。
図1
図2
図3
図4
図5
図6
図7