(57)【要約】  ヘルプシステムに対するクエリは、ユーザシステムに関するデータ及びユーザが試みているタスクに関するデータを含む。クエリは、検索エンジンによって使用されて、ユーザを支援するために関連する結果を発生することができる。ユーザシステムデータは、ハードウェア及びソフトウェアに関する構成データを含むことができる。タスクデータは、デバイスの現行の状態、又は単一ユーザ若しくはユーザのグループから作成することができる動作履歴から導き出すことができる。クエリは、クエリに関する様々なキーワード又はコンポーネントを重み付けするメカニズムを有することができ、フィードバックシステムは将来のクエリに対する重みを調節することができる。
2010538337.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによって行われているタスクから導出されたタスクデータ２１９を発生することと、
ユーザによって行われたアクションから導出された履歴データ２１７を発生することと、
ユーザデバイスの少なくとも１つのハードウェアの態様及び前記ユーザデバイスの少なくとも１つのソフトウェアの態様から導出された構成データ２２３を発生することと、
前記ユーザの少なくとも１つの態様から導出されたユーザデータ２３１を発生することと、
前記タスクデータ、前記履歴データ、前記構成データ、及び前記ユーザデータを備えたクエリ２３３を発生することと
を備えることを特徴とする方法。
【請求項２】
前記クエリは、
前記タスクデータ、前記履歴データ、前記構成データ、及び前記ユーザデータの各々に対する重み付けファクタをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記クエリを検索エンジンに送信することと、
応答を受信することと、
前記応答を評価することと、
前記応答に基づいて重み付けデータベースを更新することと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記タスクデータは、
前記タスクに関連するエラーコード及びアプリケーション内のナビゲーション位置からなるグループの少なくとも一つを備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記履歴データは、一連の前記アクションに関連する少なくとも１つのキーワードを備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記ユーザデータは、ユーザタイプ、ユーザセキュリティアクセス、及び地理的位置からなるグループの少なくとも一つに関連するキーワードを備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記構成データは、システムタイプディスクリプタ、ハードウェアディスクリプタ、ハードウェアディスクリプタの現行の状態、ソフトウェア構成ディスクリプタ、オペレーティングシステムディスクリプタ、ソフトウェアディスクリプタの現行の状態、及びユーザインタフェースディスクリプタからなるグループの少なくとも一つを備えることを特徴とする請求項４に記載の方法。
【請求項８】
前記クエリは、前記タスクデータ、前記履歴データ、前記構成データ、及び前記ユーザデータの各々に対する少なくともの一つのキーワードを備えることを特徴とする請求項１に記載の方法。
【請求項９】
請求項１に記載の方法を行うように適合されたコンピュータ実行可能命令を備えたコンピュータ可読媒体。
【請求項１０】
デバイスの使用データを判定するように適合された使用分析システム２１８と、
前記デバイスに関する構成パラメータを判定するように適合された構成分析システム２２２と、
前記使用データ及び前記構成パラメータを備えたクエリを発生するように適合されたクエリシステム２１６と
を含むことを特徴とするシステム。
【請求項１１】
ユーザタイプ、ユーザのセキュリティアクセス、及び前記ユーザの地理的位置からなるグループの少なくとも一つを備えたユーザデータを判定するように適合されたユーザデータシステム
をさらに備えたことを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記クエリを受信し、結果を返信するように適合された第１のデータベースと、
前記結果に関するユーザ入力を受信し、フィードバックデータベースにおいて前記フィードバックを格納するように適合されたフィードバックシステムと、
前記フィードバックデータベースの少なくともの一部分を使用して、前記使用データ及び構成パラメータの重みを生成するように適合された重み付けシステムと
をさらに備えたことを特徴とする請求項１０に記載のシステム。
【請求項１３】
前記システムは、ヘルプヒント及び推奨の読み物のリストからなるグループの少なくとも一つを提供するように適合されたアプリケーションによって操作されるように適合されていることを特徴とする請求項１０に記載のシステム。
【請求項１４】
前記アプリケーションは、
トピックに関する所定のランキングと、
ユーザ編集プロフィールと
からなるグループの少なくとも一つを備えたことを特徴とする請求項１３に記載のシステム。
【請求項１５】
デバイス上のユーザアクションを備えた使用データであって、使用データベースにおいて格納される使用データを格納すること３０４と、
前記デバイスに関する構成パラメータを備えた構成データを発生すること３１４と、
クエリに対するユーザ要求を受信すること３０６と、
前記クエリを発生すること３０７と、
前記使用データを前記クエリに追加すること３１２と、
前記設定データを前記クエリに追加すること３１６と
を含むことを特徴とする方法。
【請求項１６】
前記構成パラメータは、ソフトウェアディスクリプタ及びハードウェアディスクリプタからなるグループの少なくとも一つを備えたことを特徴とする請求項１５に記載の方法。
【請求項１７】
重み付けパラメータを前記クエリにおいて前記構成データ及び前記使用データに適用すること
をさらに備えたことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記使用データは、前記デバイスの現行の動作状態を備えたことを特徴とする請求項１５に記載の方法。
【請求項１９】
ユーザタイプ、ユーザに対するセキュリティアクセス、及び前記ユーザの地理的位置からなるグループの少なくとも一つを備えたユーザデータを前記クエリに追加すること
をさらに備えたことを特徴とする請求項１５に記載の方法。
【請求項２０】
請求項１５に記載の方法を行うように適合されたコンピュータ実行可能命令を備えたコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
ユーザに関連するヘルプをもたらすことは、困難なタスクである。多くの異なるソースから利用可能な膨大で豊富な情報を利用により、その困難さは、関連する結果を生じるであろう適切なフィルター又はクエリを発生することになる。
【０００２】
クエリが検索エンジンに送られると、多くの結果が返されることがある。最も関連する情報がユーザに最初に提示されるように多くの検索エンジンが関連性の順序で結果をランク付けすることができる。いくつかの検索エンジンは、詳細なクエリを使用して、結果をフィルターし、ソートして、関連する情報をよりよくランク付けすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
とても多くの情報が、あるトピックに関し利用可能な場合があるので、適切な検索用語を手動で選択するように詳細で効果的なクエリを作成することはかなりのスキルを要することがある。そのような詳細なクエリは、典型的なユーザがいくつかの状況において費やすことを望む労力よりも多くの労力を要することがある。
【課題を解決するための手段】
【０００４】
ユーザシステムに関するデータ及びユーザが試みているタスクに関するデータを含むクエリが発生される。クエリは、検索エンジンによって使用されて、ユーザを支援するために関連する結果を発生することができる。ユーザシステムデータは、ハードウェア及びソフトウェアに関する構成データを含むことができる。タスクデータは、単一ユーザ若しくはユーザのグループから作成することができるデバイスの現行の状態又は動作履歴から導き出すことができる。クエリは、クエリに関する様々なキーワード又はコンポーネントに重み付けするメカニズムを有することができ、フィードバックシステムは将来のクエリに対する重み付けを調節することができる。
【０００５】
この概要は、以下に詳細な説明でさらに説明される概念の抜粋を単純化した形態にて紹介するために提供されている。この概要は、特許請求の範囲に記載された発明の重要な特徴若しくは本質的な特徴を特定することを意図するものではなく、或いは、特許請求の範囲に記載された発明の範囲を限定するために使用されることを意図するものではない。
【図面の簡単な説明】
【０００６】
【図１】クエリシステムを示す実施形態の図である。
【図２】クエリ発生を伴うシステムを示す実施形態の図である。
【図３】クエリを発生する方法を示す実施形態のフロー図である。
【図４】クエリ処理を示す実施形態のフロー図である。
【発明を実施するための形態】
【０００７】
ヘルプシステム及び他のデータベースは、構成パラメータ及び使用データを含むクエリを使用して検索することができる。構成パラメータは、キーワード、又はユーザ自身に関するパラメータを含むユーザのシステム若しくはユーザのシステムの特性を記述する他のデータを含むことができる。使用データは、試みられている現行のタスク、並びにシステムの動作履歴に関する様々な分析を含むことができる。
【０００８】
クエリを発生した後に、検索エンジンはユーザに見えるように結果を返すことができる。ユーザのアクティビティに基づき、及びその結果を使用して、学習エンジンは、クエリにおける様々なパラメータに重み付けをするのに使用される重み付けシステムを調節することができる。
【０００９】
クエリジェネレータは、特殊化したヘルプデータベースと共にコンテキストに応じたヘルプシステムに使用することができるだけでなく、ユーザによって開始されたものも、自動化システムによって開始されたものも含め、一般的な検索エンジンクエリに使用することもできる。自動化システムの例としては、特定のユーザ及びシステムの構成に仕立てられる「今日のヒント」リストがあり得る。
【００１０】
本主題の特定の実施形態は、特定の発明として態様を例示するのに用いられる。実施形態は、例のためであって、様々な変更形態及び代替形態を受け入れる余地がある。添付の特許請求の範囲は、特許請求の範囲によって画定された発明の趣旨及び範囲に入るすべての変更形態、均等形態及び代替形態を含むよう意図されている。
【００１１】
本明細書全体を通して、同様の参照番号は、図面の説明全体を通じて同じ要素を表す。
【００１２】
要素が「接続」又は「結合」されると称されるとき、要素は、直接接続又は結合されてもよいし、或いは１つ以上の介在要素が存在してもよい。対照的に、要素が「直接接続」又は「直接結合」されると称されるとき、いかなる介在要素も存在しない。
【００１３】
本主題は、デバイス、システム、方法、及び／又は、コンピュータプログラムプロダクトとして具体化することができる。従って、本主題のいくつか又は全てが（ファームウェア、常駐ソフトウェア、マイクロコード、ステートマシン、ゲートアレイ等を含む）ハードウェア及び／又はソフトウェアに具体化することができる。さらに、本主題は、命令実行システムによって若しくは命令実行システムに関連して使用するための媒体において具体化されたコンピュータ使用可能又はコンピュータ可読プログラムコードを有するコンピュータ使用可能又はコンピュータ可読記憶媒体上のコンピュータプログラムプロダクトの形態を取り得る。本書類の文脈では、コンピュータ使用可能若しくはコンピュータ可読媒体は、命令実行システム、装置、若しくはデバイスによって若しくは関連して使用するためのプログラムを、収容し、格納し、通信し、伝搬し、又は転送することができる任意の媒体とすることができる。
【００１４】
コンピュータ使用可能若しくはコンピュータ可読媒体は、例えば、電子的な、磁気的な、光学的な、電磁的な、赤外線の、若しくは半導体のシステム、装置、デバイス、又は伝搬媒質とすることができるが、これらに限定されない。限定ではなく、一例として、コンピュータ可読媒体はコンピュータ記憶媒体及び通信媒体を備えることができる。
【００１５】
コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール若しくは他のデータ等の情報の格納のために任意の方法又は技術において実装される揮発性及び不揮発性、リムーバブル及び非リムーバブルの媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は所望の情報を格納するのに使用され、命令実行システムによってアクセスすることができる任意の他の媒体を含むがこれらに限定されてない。コンピュータ使用可能若しくはコンピュータ可読媒体は、プログラムが印刷される紙又は別の適切な媒体である可能性もある。プログラムは、例えば、紙若しくは他の媒体の光学スキャンを介して電子的にキャプチャされ、次いでコンパイルされ、解釈され、又は必要であれば適切な方法によって処理され、そしてコンピュータメモリに格納され得るからである。
【００１６】
通信媒体は、典型的には、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータを搬送波若しくは他のトランスポートメカニズム等の変調されたデータ信号に具体化し、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号に情報をエンコードするような方法で１以上の信号の特性を設定又は変更した信号を意味する。限定ではなく、例として、通信媒体は、有線ネットワーク又は直接有線接続等の有線媒体、及び音響媒体、ＲＦ媒体、赤外線媒体及び他の無線媒体等の無線媒体を含む。上記の任意の組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
【００１７】
本主題がコンピュータ実行命令の一般的コンテキストで具体化されるとき、実施形態は、１つ以上のシステム、コンピュータ、又は他のデバイスによって実行されたプログラムモジュールを備え得る。一般に、プログラムモジュールは、特定のタスクを実行するか、又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、プログラムモジュールの機能性は、様々な実施形態において望まれるように、組み合わせるか、又は分散することができる。
【００１８】
図１は、クエリシステムを示す実施形態の図である。クエリジェネレータ１０２は、クエリを構築する際に、使用アナライザ１０４、構成アナライザ１０６、及びユーザアナライザ１０８からの出力を使用する。クエリは、データベース１１２を参照して、結果を返す検索エンジン１１０に送られる。クエリは、ユーザによって行われるタスク若しくは操作に関するアイテムについてヘルプシステム又は一般的な検索において使用することができる。いくつかの実施形態において、クエリシステムは、標準の検索エンジンクエリを補完するか、又は置換するのに使用することができる。
【００１９】
クエリジェネレータ１０２は、特定のユーザのシステムについての結果をターゲットとすることができるキーワード又は他のデータを提供することによって、クエリを強化（ｅｎｈａｎｃｅ）するのに使用することができる。クエリジェネレータ１０２によって追加されたキーワード又はデータは、ユーザがクエリジェネレータ１０２の機能について知ることができないように関する知識は持ち得ないひそかに追加することができる。他の実施形態においては、クエリジェネレータ１０２の結果は、クエリが検索エンジンにサブミットされる前に編集し又は変更するためにユーザに提示することができる。
【００２０】
実施形態１００は、ユーザの使用履歴、ユーザのシステム上のハードウェア及びソフトウェアの構成、並びにユーザに関する特定の特性を考慮に入れて、検索クエリを強化する。このようなエンハンスメントによって、エンハンスメントが使用されなかった場合よりも、よりユーザの状況に関連する検索結果を返すことができる。
【００２１】
使用アナライザ１０４は使用データベース１１４から履歴データ１１６を受信し、エラーコード１２０及び現行の任意のタスクデータ１２２を現行のタスク１１８から受信する。使用アナライザ１０４は、ユーザによって試みられている当面のアクション、並びにユーザが過去に行ったアクションの履歴の両方を扱う要素を検索クエリに追加することができる。
【００２２】
ユーザがシステム上のアプリケーションを操作しているとき、ユーザは、「ヘルプ」ボタンを押すことによって、アプリケーションからクエリを開始することができる。ヘルプデータベース又は汎用検索エンジンにサブミットされることになるクエリの一部として、ユーザによって行われている当面のタスクに関する使用データは、クエリに追加することができる。当面のタスクデータの一部は、遭遇した場合のエラーコード１２０、現行のタスクのディスクリプタ、及び当面のアクションに関連する他のデータを含むことができる。
【００２３】
追加データは、ユーザによる使用履歴に基づいて、クエリに追加することができる。例えば、特定のタスクが試みられ、直近の過去において何回か失敗している場合、関連するクエリの結果は、現行のタスク又はトラブルシューティングオプションを実行するより詳細な命令にフォーカスすることができる。このような例において、「詳細命令」又は「トラブルシューティング」等のキーワードはクエリに追加することができる。特定のタスクが全く或いは長期間行われなかった場合、関連するクエリの結果は、ユーザを適応させるためにタスクの概要説明を含むことができ、「概要」等のキーワード又はより高いレベルのタスクを参照するキーワードを含むことができる。
【００２４】
使用アナライザ１０４は、任意の手法で要素をクエリに追加することができる。いくつかの例においては、使用アナライザ１０４は、キーワードカタログ１３８を使用して、キーワードを検索クエリに追加することができる。他の実施形態は、検索エンジンによって理解可能である検索言語のシンタックスを使用することができる。いくつかの例においては、使用アナライザ１０４は、検索の範囲に付加する要素、並びに検索の範囲を縮減し又は限定する他の要素を定義することができるかもしれない。
【００２５】
構成アナライザ１０６は、現行のタスク１１８、並びにハードウェアシステム情報１２６、及びソフトウェアシステム情報１３０を使用するクエリエンハンスメントを発生することができる。現行のタスク１１８は、ユーザが操作している現行のソフトウェアアプリケーション、現行のユーザインターフェイス、ソフトウェアアプリケーションの設定、アプリケーションにおいてユーザによって入力されたデータ、又はユーザによってクエリの検索結果を絞り込むのに使用し得る任意の他の情報を定義できる現行のソフトウェア構成１２４を提供することができる。
【００２６】
ユーザがアプリケーション内からヘルプを求めるときに、現行のソフトウェア構成データ１２４を使用することができる。アプリケーションのビルトインヘルプシステムを使用するよりむしろ、ユーザは、アプリケーションを用いてヘルプを検索する汎用の検索エンジンを使用することができる。ユーザは、検索クエリを構築するときに、オプションを与えられて現行のソフトウェア構成データ１２４を無視してもよい。ユーザが、情報を含むよう選ぶときに、現行のソフトウェア構成データ１２４は、汎用の検索エンジンに対するクエリを構築するために使用することができる。そうでなければ、ユーザは、クエリに対する構成データ１２４を無視するよう選ぶことができる。
【００２７】
ハードウェアシステム情報１２６は、ハードウェアパラメータ１２８を構成アナライザ１０６に提供するのに使用することができる。様々な実施形態は、システムタイプ又は様々なハードウェアのディスクリプタを含む異なるハードウェアパラメータ１２８を使用することができる。特定のアプリケーションを操作する方法、デバイスを更新する方法、又はデバイス上の特定の機能を行う方法等、ユーザのデバイスに関する情報について検索するとき、構成アナライザ１０６はデバイスに関する詳細を検索クエリに追加することができる。
【００２８】
構成アナライザ１０６なしで、ワードプロセッサプログラムを開始する方法についてのユーザのクエリは、任意のタイプのデバイス上の任意のタイプのワードプロセッサプログラムから結果を返すことができる。しかしながら、構成アナライザ１０６は、結果が特定のデバイスに限定されるか、又はフィルターされるように要素を検索クエリに追加することができる。いくつかの場合には、デバイスのタイプは、携帯情報端末、携帯電話、又はパーソナルコンピュータ等の一般的なデバイスのタイプであってもよい。他の場合には、デバイスのタイプは、デバイスの特定のモデル番号であってもよく、アクセサリ、プロセッサのスピード、物理メモリの量、利用可能なメモリの量、又は他の任意の関連パラメータに関する情報を含むことができる。
【００２９】
また、構成アナライザ１０６は、ソフトウェアパラメータ１３２を含むことができ、これには、オペレーティングシステムパラメータから、インストールされたソフトウェアアプリケーション、コンポーネント、アドオン機能、又は他の任意の関連情報までの情報を含むことができる。デバイスのソフトウェア構成に関するいかなる関連情報も、構成アナライザ１０６を使用して、検索クエリに追加することができる。
【００３０】
各クエリが発生されると、使用データや構成データ等の様々な利用可能なクエリエンハンスメントデータが、行われている特定の検索に適用できるエンハンスメントデータを見つけるために選別することができる。例えば、一般的な性質のクエリが利用可能なワードプロセッシングアプリケーションに問い合わせするときに、構成アナライザ１０６は、他のオペレーティングシステムについて利用可能なワードプロセッシングアプリケーションがいかなる結果からも除外されるであろうようにユーザのオペレーティングシステムを示すソフトウェアパラメータ１３２を追加することができる。特定の一連のソフトウェアアプリケーションをインストールする間に特定の設定の変更にクエリが関連するとき、オペレーティングシステム、一連のソフトウェアアプリケーション、及び他のインストールされたアプリケーションに関する特定の詳細を追加することができる。
【００３１】
いくつかの実施形態においては、ユーザは、クエリに追加される特定のキーワードを選択することができるかもしれない。他の実施形態においては、ユーザはオプションを提示されて、クエリに対する詳細又は具体性のレベルを選択することができる。さらに、他の実施形態において、ユーザはクエリの結果を提示されて、結果を拡大し又は縮小するよう選択することができるかもしれない。ユーザが具体性のレベルを選択するか、又は結果を拡大し若しくは縮小するよう選択する場合、キーワードのグループを追加することができ、又はクエリから除外することができる。いくつかの場合には、１つ以上のキーワードの重み付けファクタを、ユーザの具体性の選択に基づいて調節することができる。
【００３２】
キーワードが、クエリを支援するために作成される際に、いくつかの実施形態は、様々な状況に対してキーワードをランク付けし、タグ付けし、又はグループ化することができる。グループ化、タグ、又はランク付けは、個々のキーワード又はクエリの表現を分析する必要なく、クエリを調節するのに使用することができる。例えば、ユーザはユーザインターフェイス上の可変スライダ又は他のインジケータを調節して、拡大又は縮小間の調節をすることができる。スライダを調節することによって、「拡大」又は「縮小」としてグループ化されたそれらキーワードは、適切に追加し又は除外することができる。
【００３３】
いくつかの場合には、システムは、使用情報及び縮小又は拡大クエリが望まれる他のメカニズムを介して判定することができる。この判定は、クエリをコールできるアプリケーションを含む、いくつかのファクタを介して、使用履歴又は他のファクタからユーザの振る舞いに関する人工知能的分析を介して行うことができる。いくつかの場合には、このような自動判定はユーザとのやり取りなく行うことができ、他の場合には、ユーザは判定に対してコントロールを有することができる。
【００３４】
構成アナライザ１０６によって追加されたクエリエンハンスメントは、特定のクエリに対していくつかのレベルがあってもよい。例えば、オペレーティングシステムを記述するエンハンスメントは、一般的なオペレーティングシステムクラス、オペレーティングシステムの一般モデル、オペレーティングシステムの特定のバージョン、オペレーティングシステムにインストールされた最新のパッチ、オペレーティングシステム内の特定の設定、及びオペレーティングシステムに対する非標準の変更を含むことができる。その例において、オペレーティングシステムを記述するデータは、各クエリに対して仕立てることができる方法で提供することができる。あるクエリにおいて、「サーバ」の一般的なオペレーティングシステムクラスを含むことができ、他のデータが破棄される。別のクエリにおいて、オペレーティングシステムに対する任意の非標準の変更を含むすべてのデータは、検索に関連するものとすることができ、それゆえ含まれる。
【００３５】
どのデータが検索クエリに含まれ、破棄されるかは、自動又は手動の方法によって行うことができる。自動の方法において、様々なクエリ用語又はキーワードが、各用語に適用される重みを有することができる。重みはゼロに設定することができ、ある例ではその用語が無視され、別の例では、重みはその用語がより重要性を有するように増大されることを示している。手動の方法において、使用アナライザ１０４、構成アナライザ１０６、又はユーザアナライザ１０８によって発生された可能性のある追加の検索用語のリストをユーザに与えることができる。ユーザは、どの用語を含めるべきか、及びどの用語を除外するべきかをチェックすることができるかもしれないし、用語の優先度をグループとして又は個別に設定することができるかもしれない。
【００３６】
ユーザアナライザ１０８は、ユーザの態様を記述するクエリエンハンスメントデータ又はキーワードを提供することができる。データはユーザの特定のデータ１３４又はユーザグループデータ１３６に由来することができる。ユーザの態様は、ユーザクラス、ユーザの権限又はセキュリティ許可、及びユーザの地理的位置を含むことができる。例えば、ユーザは、ユーザがデバイス上で管理タスクを行うことを許さないセキュリティ設定を有することがある。したがって、ユーザによって行われる検索クエリは、管理権限を要求する特定のアクションについて説明する項目を排除することができる。
【００３７】
いくつかの場合には、ユーザの地理的位置は検索結果の関連性を変更することができる。例えば、ある国の人は、別の国において利用できない特定の国に対して有効化された特定の機能を有するソフトウェアアプリケーションを操作することができる。したがって、その特定の機能を含む結果は、そのユーザのために含めることができ、別の国のユーザに対して排除することができる。別の例においては、ローカルのピザデリバリ会社の電話番号の検索はユーザの当面の地理的位置に限定することができる。
【００３８】
ユーザ特定データ１３４は、ユーザが自身について記述するために入力するデータを含むことができる。例えば、ユーザは一連の質問に回答し、トピックのリストの優先付けをし、ユーザの経験又は検索素材に対するユーザの特性若しくは好みを記述するのに使用できる他の入力メカニズムを記述する項目を選択する。いくつかの例では、ユーザは、ポルノ等の特定のタイプの検索結果又は他のタイプの結果をブロックするようリクエストすることができる。
【００３９】
いくつかの場合には、ユーザデータは、ユーザのグループにわたって共通なデータを定義することによって特定のユーザに適用することができる。ユーザグループデータ１３６は、アクセス許可若しくは他のユーザアカウント情報、並びにソーシャルネットワーク、雇用主グループ、スポーツチーム提携、クラブメンバーシップ、又は、ユーザに適用できるパラメータを有し得る他の任意の提携若しくはグループを含む他のグループ提携等のグループ情報を含むことができる。
【００４０】
使用アナライザ１０４、構成アナライザ１０６、及びユーザアナライザ１０８は、キーワードカタログ１３８を参照して、クエリに追加されるキーワードを発生することができる。いくつかの例では、異なるキーワードカタログ１３８が、クエリを送ることができる異なる検索エンジンに使用することができる。例えば、一連のソフトウェアアプリケーションに対するヘルプシステムは、様々なヘルプトピックスを相互参照するのに使用される異なったキーワードカタログ１３８を有することがある。汎用検索エンジンは、異なるセットのキーワード又はディスクリプタを使用することができる。特殊化した検索エンジンは、特殊化した検索エンジンに適合されたキーワードカタログ１３８において定義することができる特別なシンタックスを有することができる。多くの場合において、キーワードは様々なクエリエンハンスパラメータに対して定義することができ、他の場合において、エンハンスメントパラメータは特殊化された手法又はシンタックスで定義することができる。
【００４１】
クエリジェネレータ１０２はキーワードを使用してブロック１４０におけるクエリの範囲を拡張し、他のキーワードを使用してブロック１４２において、クエリの範囲を限定又は縮小し、ブロック１４４においてキーワードに重み付けファクタを適用することができる。
【００４２】
クエリジェネレータ１０２は、いくつかのキーワード又はパラメータに対してブール演算子を適用することができる。例えば、検索は範囲を拡大して、使用データベース１１４からのユーザによる特定のセットの試みられた操作についての検索を含めることによって強化することができるが、ユーザの特定のデータ１３４から実行するユーザの権限に合致するものに結果を制限し又はフィルターすることによって、限定することができる。
【００４３】
ブロック１４４で適用された重み付けファクタは、重み付けデータベース１５０及び元のクエリの分析に由来することができる。重み付けデータベース１５０は、重み又は他の関連ファクタを検索クエリにおける様々な用語に適用することができる。高い関連性を有するファクタは、高い重みを有し、関連性が少ないか又はないファクタは、低い重みを適用することができる。重みは、クエリのコンテキストに基づいて適用することができる。例えば、特定のソフトウェアアプリケーションにおける特定のユーザインターフェイスにおいて押されたヘルプボタンから生じたクエリは、結果を縮小し得る多くの重み付けファクタを有するかもしれない。ウェブブラウザで生ずる汎用のクエリは、結果を拡大するように重み付けられる小数のファクタを有するかもしれない。いくつかの実施形態においては、ユーザは異なる検索用語要素に対して特定の重みを指定するか、或いはクエリの部分を含ませるか、又は除外することができるかもしれない。
【００４４】
検索エンジン１１０が結果を返した後、フィードバックシステム１４６はアップデート１４８を重み付けデータベース１５０に提供することができる。フィードバックシステム１４６は、ユーザが１つ以上の結果の関連性を格付けするユーザ入力デバイスを有することができる。他の実施形態においては、フィードバックシステム１４６はどの結果が選ばれたかを監視し、どの結果が関連していたかをユーザのアクションから推論することができる。ユーザが結果を使用して結果が役に立ったかどうかをさらに判定するときに、フィードバックシステム１４６はユーザのアクションを辿ることができる。例えば、ユーザが結果を選択したか、その後、すぐに、結果を放棄し、ユーザが長期間読む異なる結果を選択する場合、第１の結果は、第２の結果ほど関連していないと想定することができる。多くの異なる技術が、結果を追跡し、どの結果が別のものより好ましいかを判定するのに適用することができる。
【００４５】
図２は、クエリ発生を伴うシステムを示す実施形態２００の図である。アプリケーション２０４のセットは、ユーザインターフェイス２０６とやり取りを行い、使用モニタ２０８は、様々なユーザのアクションを追跡し、使用データベース２１２に使用履歴２１０を記録することができる。
【００４６】
アプリケーション２０４は、クエリ発生システム２１６に対するクエリコール２１４を作成することができる。クエリ発生システム２１６は、使用分析システム２１８からの出力を、履歴データ２１７及びタスクデータ２１９の形態で使用することができる。使用分析システム２１８は、データを発生するために使用モニタ２０８から現行のタスク及びステータス２２０を得ることができる。同様に、構成分析システム２２２は、オペレーティングシステムステータス２２４、アプリケーションステータス２２６、及びハードウェアステータス２２８を使用して、関連する構成データ２２７をクエリに提供することができる。ユーザデータシステム２３０は、ユーザ選好データベース２３２からのデータを使用して、関連するユーザデータ２３１をクエリに提供することができる。
【００４７】
クエリ発生システム２１６は、データベース２３６を参照し、呼出アプリケーションに結果２３８を返す検索エンジン２３４に対するクエリコールをなすことができる。アプリケーションからのフィードバック２４０は、フィードバックシステム２４２によって使用されて、クエリ発生システム２１６によって使用される重み付けデータベース２４４を更新することができる。
【００４８】
実施形態２００は、様々な関連データを使用して検索エンジン２３４に対するクエリを構築するシステムである。実施形態２００の様々なコンポーネントは、スタンドアロンのシステム上で動作可能とすることができるし、或いは、インターネット上を含む、様々なデバイスに対するネットワーク接続を介して提供することができる。例えば、検索エンジン２３４及びデータベース２３６は、多くの例において、インターネットを介して、到達することができるし、継続して更新することができる。
【００４９】
クエリコール２１４は、任意のタイプのアプリケーションによってなすことができる。いくつかの例においては、クエリコール２１４はコンテキストに応じたヘルプコールとしてアプリケーション内から発生することができる。他の例においては、クエリコール２１４はデスクトップの検索アプリケーション、ウェブブラウザ、又は他のタイプのアプリケーションを介して発生することができる。
【００５０】
いくつかのアプリケーションは、ユーザプロンプトなしでクエリコール２１４を開始することができる。例えば、いくつかのアプリケーションは、使用データ、設定データ、及びユーザデータを使用して、特定のユーザ、ユーザのシステム、及びユーザのアクションに関する履歴に関連する今日のヒントを発生するクエリを開始するために、クエリコール２１４を使用する「今日のヒント」の機能を有することができる。他のアプリケーションは、アプリケーション内で作業している間の様々なときにユーザを補助し得る、アプリケーションのサイドバー又は他の領域に提示することができる推奨の読み物のリスト又はトピックスのリストを発生することができる。このようなリストは、結果がユーザの特性とユーザの状況に関係するように実施形態２００を使用して発生することができる。
【００５１】
図３は、クエリを発生する方法を示す実施形態３００のフロー図である。
【００５２】
ユーザがブロック３０２においてアクションを行うときに、このアクションはブロック３０４において使用データベースに格納される。この処理は何回も繰り返すことができる。
【００５３】
クエリ要求がブロック３０６において受信され、初期のクエリがブロック３０７において発生される。このクエリ要求は、プロンプトウィンドウにおいてクエリを作成すること、ヘルプボタンを選択することし、トピックに関する情報を要求すること、又はデータベースの検索を要求し得る任意のユーザのアクション等のユーザアクションからのものとすることができる。他の場合において、クエリはユーザプロンプトなしでアプリケーションによって発生することができる。フラグ、エラーメッセージ、又は他の問題表示は、問題表示に応じてユーザに提示される結果を発生し得るクエリを開始するのに使用することができる。アプリケーションは、ユーザがソフトウェアアプリケーションをインストールしたり、特定のアクションを行う等の複雑なタスクを実行したりしている間などにクエリを発生して、アプリケーション内のコンテキストに応じた情報を提供することができる。さらに他の場合において、アプリケーションは、ユーザにとって関連する読み物であるかもしれないトピックのリストを定期的に更新することができる。
【００５４】
クエリがブロック３０８において現行のタスクに関連している場合、使用データベースがブロック３１０において分析されて、関連タスクを見つけ、使用データキーワード及びブール論理がブロック３１２においてクエリに追加される。
【００５５】
構成データがブロック３１４において発生され、構成データがブロック３１６においてブール論理と伴にクエリに追加される。同様に、ユーザデータはブロック３１８において発生され、ユーザデータキーワード及びブール論理がブロック３２０においてクエリに追加される。
【００５６】
重み付けファクタはブロック３２２においてキーワードに適用され、クエリがブロック３２４において検索エンジンにサブミットされる。重み付けファクタは、任意の有用な手法においても適用することができる。
【００５７】
実施形態３００は、クエリが使用データ、構成データ、及びユーザデータを使用して構築される方法である。クエリ要求は、ユーザが検索することを望む特定のトピックを含むことができる。使用データ、構成データ、及びユーザデータの各態様が分析される際に、様々なキーワード及び適切なブール論理がクエリに追加することができる。キーワード及びブール論理は、任意のスクリプト言語、クエリ言語、又は関連結果を見つけるために検索エンジンによって解釈され、使用される他のファクタを含み得る。いくつかの例においては、クエリは比較的短いキーワードのリストとすることができ、他の例では、クエリは多くの引数を有する複雑な表現とすることができる。
【００５８】
図４は、クエリ処理の方法を示す実施形態４００のフロー図である。初期クエリがブロック４０２で作成され、ユーザの特定のクエリエンハンスメントが、ブロック４０４において、使用分析、構成分析、及びユーザ分析から発生される。ユーザ特有のエンハンスメントはブロック４０６におけるオプションの編集のためにブロック４０６においてユーザに提示され、クエリがブロック４０８において検索エンジンにサブミットされる。
【００５９】
実施形態４００は、ユーザ特有のクエリエンハンスメントが検索クエリに追加され、クエリがサブミットされる前にユーザがエンハンスメントをレビューし又は編集することができる方法である。ユーザ特有のエンハンスメントは、ユーザ履歴、ハードウェア及びソフトウェアシステム構成、及びユーザの特性の分析を介して作成することができる特定のキーワード、用語、又は検索論理とすることができる。
【００６０】
いくつかの実施形態においては、ユーザはクエリを作成し、その後、ユーザが見て、編集するための様々なユーザ特有のクエリエンハンスメントを表示するユーザインターフェイスを提示することができる。いくつかの場合には、ユーザは、チェックマークを使用してキーワードを選択又は非選択することができる。ユーザは、いくつかの場合には、いくつかのオプションの中から選択し、テキストボックスを編集することができるかもしれないし、或いは、ユーザが一つ以上のキーワード又は他の検索エンハンスメントを編集し、変更し、そうでなければ操作できる任意の他のメカニズムを使用することができる。いくつかの例においては、ユーザは、検索エンジンによって解釈することができる様々な論理要素、スクリプト、又は表現を編集することができるかもしれない。
【００６１】
他の実施形態においては、キーワードまたは表現のグループは、ユーザによって選択又は非選択することができる。一つのメカニズムは、ユーザが特異性の度合いを選択し、又はユーザインターフェイス上の拡大若しくは縮小のインジケータを調節するものとすることができる。このようなメカニズムが調節されるとき、キーワードのグループを追加又は除外することができ、或いはキーワードは選択に基づいて適用される異なる重み付けを有することができる。
【００６２】
このようなメカニズムは検索クエリの様々な部分に適用することができる。例えば、ユーザは、結果を返す際に、ユーザのシステム構成、使用データ、又はユーザデータの相対的な重要性を選択することができるかもしれない。ユーザは、そのクエリをユーザのシステム構成に縮小してフォーカスさせ、ユーザデータカテゴリにおけるユーザの記述データに対してわずかの重要性を有するように選択することができる。いくつかの例においては、クエリを変更するのに使用されるキーワード又はクエリ表現は、クエリのユーザ入力又は自動分析がキーワードの適用を適宜に変更することができる異なる手法にてグループ化又は配置することができる。
【００６３】
本主題の前述の説明は例示及び説明の目的で提示された。網羅的であることも、又は本主題を開示された厳密な形態に限定することも意図されておらず、他の変更及びバリエーションが上記教示に照らして可能であることがある。実施形態は、本発明の原理及びその実用的アプリケーションを最も良く説明するために選ばれ、説明されて、もって当業者が企図された特定の使用に合うよう様々な実施形態及び様々な変更形態において発明を最も良く利用することを可能にする。添付の請求の範囲は、先行技術によって限定される場合を除いて、他の代替実施形態を含むよう解釈されるべきであることが意図されている。
【図１】
2010538337.tif 000003
【図２】
2010538337.tif 000004
【図３】
2010538337.tif 000005
【図４】
2010538337.tif 000006
【国際調査報告】
2010538337.tif 000007
2010538337.tif 000008