(57)【特許請求の範囲】
【請求項１】
推論を自動的に決定するための方法であって、
コンピューティングデバイスへの入力としてストリーミングテキストを受け取ることと、
前記テキストが入力としてストリーミングされているときに、前記テキスト内の１つまたは複数の用語の１つまたは複数のウェブ検索に基づいて、前記テキストの内容に関する少なくとも１つの推論を、前記コンピューティングデバイスを用いて、決定することと、
前記少なくとも１つの推論が決定されたときに、前記少なくとも１つの推論を自動的に表示することと
を含み、少なくとも１つの推論を決定することが、
前記テキスト内の１つまたは複数の用語であって、希少性が閾値を上回る１つまたは複数の用語の少なくとも１つのウェブ検索を自動的に実行することと、
前記少なくとも１つのウェブ検索によって返されたヒットの数を決定するために、前記少なくとも１つのウェブ検索の結果を分析することと、
返されたヒットの前記数が所定のレベルを下回る場合、前記１つまたは複数のトピックを決定するために前記少なくとも１つのウェブ検索の前記結果を使用することと、
前記ウェブ検索結果の前記１つまたは複数のトピックに基づいて、少なくとも１つの推論を決定することと、
を含む方法。
【請求項２】
前記少なくとも１つのウェブ検索によって返されたヒットの前記数が、前記所定のレベルを上回る場合、コンピュータプロセッサを使用して、前記少なくとも１つのウェブ検索において先に使用されたよりも大きい前記テキスト内の用語の組合せを用いて、前記少なくとも１つのウェブ検索において用語を検索することをさらに含む、請求項１に記載の方法。
【請求項３】
前記テキスト内の１つまたは複数の用語のより大きな組合せが利用可能でないと決定された場合、前記少なくとも１つのウェブ検索における検索語としてテキストのより大きな組合せを生成する際に使用される入力として、さらなるテキストが受け取られるのを待つことをさらに含む、請求項２に記載の方法。
【請求項４】
前記テキストを生成する音声／テキスト変換が行われているときに、音声／テキスト変換器からの入力として前記テキストが自動的に受け取られる、請求項１に記載の方法。
【請求項５】
後続の音声信号を解釈する前記音声／テキスト変換器の性能を支援するために、前記少なくとも１つの推論を、プロセッサを介して、前記音声／テキスト変換器に提供することをさらに含む、請求項４に記載の方法。
【請求項６】
コンピュータプロセッサによって実行されたときに、前記プロセッサに、
コンピューティングデバイスへの入力としてストリーミングテキストを受け取ることと、
前記テキストが入力としてストリーミングされているときに、前記テキスト内の１つまたは複数の用語の１つまたは複数のウェブ検索に基づいて、前記テキストの内容に関する少なくとも１つの推論を決定することと、
前記少なくとも１つの推論が決定されたときに、前記少なくとも１つの推論を自動的に表示することと
を行わせる、推論を自動的に決定するための命令を含み、
前記プロセッサに少なくとも１つの推論を決定することを行わせる命令は、前記プロセッサに、
前記テキスト内の１つまたは複数の用語であって、希少性が閾値を上回る１つまたは複数の用語の少なくとも１つのウェブ検索を自動的に実行することと、
前記少なくとも１つのウェブ検索によって返されたヒットの数を決定するために、前記少なくとも１つのウェブ検索の結果を分析することと、
返されたヒットの前記数が所定のレベルを下回る場合、前記１つまたは複数のトピックを決定するために前記少なくとも１つのウェブ検索の前記結果を使用することと、
前記ウェブ検索結果の前記１つまたは複数のトピックに基づいて、少なくとも１つの推論を決定することと
を行わせる命令を含む、コンピュータ可読媒体。
【請求項７】
前記プロセッサによって実行されたときに、前記プロセッサに、
前記少なくとも１つのウェブ検索によって返されたヒットの前記数が前記所定のレベルを上回る場合、前記少なくとも１つのウェブ検索において先に使用されたよりも大きい前記テキスト内の用語の組合せを、前記少なくとも１つのウェブ検索における検索語として使用すること
を行わせる追加の命令をさらに含む、請求項６に記載のコンピュータ可読媒体。
【請求項８】
前記プロセッサによって実行されたときに、前記プロセッサに、
前記テキスト内の１つまたは複数の用語のより大きな組合せが利用可能でないと決定された場合、前記少なくとも１つのウェブ検索における検索語としてテキストのより大きな組合せを生成する際に使用される入力として、さらなるテキストが受け取られるのを待つこと
を行わせる追加の命令をさらに含む、請求項７に記載のコンピュータ可読媒体。
【請求項９】
前記テキストを生成する音声／テキスト変換が行われているときに、前記プロセッサにテキストを入力として受け取ることを行わせる前記命令が、音声／テキスト変換器からテキストを入力として自動的に受け取ることを前記プロセッサに行わせる命令を含む、請求項６に記載のコンピュータ可読媒体。
【請求項１０】
前記プロセッサによって実行されたときに、後続の音声信号を解釈する前記音声／テキスト変換器の性能を支援するために、前記少なくとも１つの推論を前記音声／テキスト変換器に提供することを前記プロセッサに行わせる追加の命令をさらに含む、請求項９に記載のコンピュータ可読媒体。
【請求項１１】
プロセッサと、
プロセッサに結合された、実行可能命令を有するメモリであって、前記実行可能命令は、実行されたときに、
ストリーミング入力としてテキストを受け取ること、
前記テキストが入力としてストリーミングされているときに、前記テキスト内の１つまたは複数の用語の１つまたは複数のウェブ検索に基づいて、前記テキストの内容に関する少なくとも１つの推論を決定すること、
前記少なくとも１つの推論が決定されたときに、前記少なくとも１つの推論を表示すること
を前記プロセッサが行うようにする、メモリとを備え、
前記プロセッサに少なくとも１つの推論を決定することを行わせる命令は、前記プロセッサに、
前記テキスト内の１つまたは複数の用語であって、希少性が閾値を上回る１つまたは複数の用語の少なくとも１つのウェブ検索を実行することと、
前記少なくとも１つのウェブ検索によって返されたヒットの数を決定するために、前記少なくとも１つのウェブ検索の結果を分析することと、
返されたヒットの前記数が所定のレベルを下回る場合、前記１つまたは複数のトピックを決定するために前記少なくとも１つのウェブ検索の前記結果を使用することと、
前記ウェブ検索結果の前記１つまたは複数のトピックに基づいて、少なくとも１つの推論を決定することと
を行わせる、コンピューティングデバイス。
【請求項１２】
前記実行可能命令はさらに、実行されたときに、
前記少なくとも１つのウェブ検索によって返されたヒットの前記数が前記所定のレベルを上回る場合、前記少なくとも１つのウェブ検索において先に使用されたよりも大きい前記テキスト内の用語の組合せを、前記少なくとも１つのウェブ検索における検索語として使用すること
を前記プロセッサが行うようにする、請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記実行可能命令はさらに、実行されたときに、
前記テキスト内の１つまたは複数の用語のより大きな組合せが利用可能でないと決定された場合、前記少なくとも１つのウェブ検索における検索語としてテキストのより大きな組合せを生成する際に使用される入力として、さらなるテキストが受け取られるのを待つこと
を前記プロセッサが行うようにする、請求項１２に記載のコンピューティングデバイス。
【請求項１４】
前記実行可能命令はさらに、実行されたときに、前記テキストを生成する音声／テキスト変換が行われているときに音声／テキスト変換器からテキストを入力として自動的に受け取ることを、前記プロセッサが行うようにする、請求項１１に記載のコンピューティングデバイス。
【請求項１５】
前記実行可能命令はさらに、実行されたときに、後続の音声信号を解釈する前記音声／テキスト変換器の性能を支援するために、前記少なくとも１つの推論を前記音声／テキスト変換器に提供することを前記プロセッサが行うようにする、請求項１４に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
代理人整理番号ＭＴＣＷ００１９０１によって識別される、２０１０年３月１６日に出願された、「ＳＥＡＲＣＨ  ＥＮＧＩＮＥ  ＩＮＦＥＲＥＮＣＥ  ＢＡＳＥＤ  ＶＩＲＴＵＡＬ  ＡＳＳＩＳＴＡＮＣＥ」と題する米国出願第１２／７２４，６６０号の優先権を主張する。
【背景技術】
【０００２】
本明細書では別途指摘がない限り、本セクションで説明される手法は、本出願の特許請求の範囲に対する先行技術ではなく、本セクションに包含されることによって、先行技術であると認められることはない。
【０００３】
会話、講義、もしくは会議を聴いている、またはそれらに参加している場合、特定のコミュニケーションセッション中に、議論のそうと思われる主題またはトピックに関する追加情報が得られると助けになることがよくある。しかし、会話中の手動のウェブ検索および語単位の分析は、しばしば不便で時間がかかり、リスナの気を散らせ、リスナおよび他の人たちの注意を現在の議論から引き離すおそれもある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本開示は、検索エンジン推論ベースの仮想支援（ｓｅａｒｃｈ  ｅｎｇｉｎｅ  ｉｎｆｅｒｅｎｃｅ  ｂａｓｅｄ  ｖｉｒｔｕａｌ  ａｓｓｉｓｔａｎｃｅ）のための方法、コンピュータ可読媒体、およびデバイスについて説明する。いくつかの例示的な方法は、コンピューティングデバイスへの入力としてストリーミングテキストを受け取ることと、テキストを受け取ったときに、テキスト内の用語のウェブ検索に基づいて、主題に関する推論を決定することと、推論を自動的に表示することとを含む、推論を自動的に決定することを含むことができる。推論を決定することは、ウェブ検索の結果を分析して、ヒットの数と、ウェブ検索結果のトピックとを決定することを含むことができる。返されたヒットの数が、所定のレベルを下回る場合、ウェブ検索の結果は、推論を決定する目的でウェブ検索結果のトピックを確立するのに適当であると見なすことができる。ヒットの数が、所定のレベルを上回る場合、ウェブ検索の結果は、不適当であると見なすことができテキストからの用語のますます大きな組合せを使用して、追加のウェブ検索を実行することができる。入力として受け取ったテキストは、音声／テキスト変換器によって生成されたテキストを含むことができ、推論は、後続の音声信号の解釈を支援するために、音声／テキスト変換器に提供することができる。いくつかの例示的なコンピュータ可読媒体は、本明細書で説明される方法を実行するように構成されたコンピュータ実行可能命令を含むことができ、いくつかの例示的なデバイスは、プロセッサと、プロセッサに結合されたメモリとを備えることができ、メモリは、実行されたときに、本明細書で説明される方法を実行するようにプロセッサを構成する、コンピュータ実行可能命令を有する。
【０００５】
上記の要約は、例示的なものにすぎず、いささかも限定的であることは意図していない。上で説明した例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴も、図面および以下の詳細な説明を参照することによって明らかになる。
【０００６】
本開示の上記および他の特徴は、添付の図面と併せて理解される、以下の説明および添付の特許請求の範囲からより十分に明らかになる。これらの図面は、本開示に従った例示的な実施形態を示しているにすぎず、したがって、限定的なものと見なされるべきではない。本開示は、添付の図面の使用を通して、さらなる特定性と詳細さで説明される。
【図面の簡単な説明】
【０００７】
【図１】検索エンジン推論ベースの仮想支援のための例示的なプロセスを示すフローチャートである。
【図２Ａ】検索エンジン推論ベースの仮想支援による、コンピューティングデバイスへの入力として受け取られた語から推論を決定するための例示的なプロセスを示すフローチャートである。
【図２Ｂ】検索エンジン推論ベースの仮想支援による、コンピューティングデバイスへの入力として受け取られた語から推論を決定するための例示的な代替プロセスを示すフローチャートである。
【図３】モバイルデバイスにおいてリアルタイムに受け取られるコミュニケーションに基づいた、検索エンジン推論ベースの仮想支援による例示的な推論を表示する例示的なモバイルデバイスの図である。
【図４】検索エンジン推論ベースの仮想支援の態様を実施できる例示的なネットワークコンピューティング環境の図である。
【図５】検索エンジン推論ベースの仮想支援のためのコンピュータプログラム製品を示す概略図である。
【図６】検索エンジン推論ベースの仮想支援を実施できる例示的なコンピューティングデバイスのブロック図であり、すべての図は、本明細書で説明される少なくともいくつかの実施形態に従って描かれている。
【発明を実施するための形態】
【０００８】
以下の詳細な説明では、詳細な説明の一部を形成する添付の図面を参照する。図面では、同様の記号は一般に、同様の構成要素を識別するが、前後の脈絡から別の指示がなされる場合はこの限りではない。詳細な説明、図面、および特許請求の範囲において説明される例示的な実施形態は、限定的であることは意図されていない。本明細書で提示される主題の主旨または範囲から逸脱することなく、他の実施形態も利用することができ、他の変更も行うことができる。一般的なものとして本明細書で説明され、図に示された本開示の態様は、多種多様な異なる構成を取るように配置し、置き換え、組合せ、および設計することができ、それらのすべてが明示的に企図されており、本開示の一部をなすことは容易に理解されよう。
【０００９】
本開示は、とりわけ、本明細書で説明されるような検索エンジン推論ベースの仮想支援に関連するデバイス、方法、およびコンピュータプログラムに関する。
【００１０】
本明細書で説明される技法は一般に、推論ベースのシステムに関する。例示的な実施形態は、検索エンジン推論ベースの仮想支援に関連するデバイス、方法、およびコンピュータプログラムについて説明することができる。１つの例示的な方法は、入力としてテキストを受け取るように構成されたコンピューティングデバイスと、テキスト内の１つまたは複数の用語の１つまたは複数のウェブ検索に基づいて、テキストの内容に関する少なくとも１つの推論を決定するように構成されたコンピュータプロセッサとを含むことができる。その後、推論が決定されたときに、推論を自動的に表示することができる。
【００１１】
本開示は、従来の推論ベースのシステムが、議論から追加情報を導出できる１つの方法は、何が議論されたかについての推論を引き出す技法を利用することであることを示していることを確認し、理解している。しかし、現在の推論ベースのシステムは一般に、静的な環境において既存の文書に対して使用するために設計されている。そのようなシステムは、リアルタイムに発生するコミュニケーションには容易に適用されず、時間につれて進展せず、または語および文脈が変化した場合に最新の意味および推定を提供しない。
【００１２】
図１は、本明細書で説明される少なくともいくつかの実施形態に従って構成された、検索エンジン推論ベースの仮想支援のための例示的なプロセス１００を示すフローチャートである。説明される例では、プロセス１００、および本明細書で説明される他のプロセス、様々な機能ブロックまたはアクションは、ハードウェア、ソフトウェア、および／またはファームウェアによって実行できる、処理ステップ、機能的動作、イベント、および／またはアクションなどとして説明することができる。当業者であれば、本開示に鑑みて、図１に示される機能ブロックに対する多くの代替を様々な実施において実行できることを理解されよう。例えば、プロセス１００は、図１に示されるように、１つの特定の順序のブロックまたはアクションを含むが、これらのブロックまたはアクションが提示される順序は、特許請求される発明をいずれか特定の順序に必ずしも限定するものではない。同様に、特許請求される発明の範囲から逸脱することなく、図１に示されていない介在アクションおよび／もしくは図１に示されていない追加アクションも利用することができ、ならびに／または図１に示されるアクションのいくつかは排除することができる。プロセス１００は、動作１０１、１０３、および／または１０５のうちの１つまたは複数を含むことができ、処理は、ブロック１０１において開始することができる。
【００１３】
ブロック１０１、「音声／テキストエンジンから語またはテキスト断片を受け取る」において、コンピューティングデバイスへの入力として、語またはテキスト断片を受け取ることができる。例えば、この語またはテキスト断片は、一方向もしくは双方向の音声もしくはテキスト通信、ビデオ会議、ライブチャットセッション、ストリーミングオーディオもしくはビデオセッションの最中、または事前記録されたビデオもしくはオーディオのデバイス上での再生の最中などに、コンピューティングデバイスによって獲得することができる。コミュニケーションが音声として最初に受け取られ、または最初に生成される場合、コミュニケーションの個々の語を、本明細書で説明される検索エンジン推論ベースの仮想支援においてテキストとして処理できるように、コンピューティングデバイス上で実行される（または音声信号がコンピューティングデバイスによって受け取られる前に実行される）リアルタイム音声／テキスト処理が、音声をテキストに変換する。適切な音声／テキスト変換を提供するために、例えば、Ｄｒａｇｏｎ  ＳｙｓｔｅｍｓおよびＮｕａｎｃｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，  Ｉｎｃ．によって提供されるものなど、様々な現在利用可能な音声認識アプリケーションおよびシステム、ならびに音声／テキストアプリケーションおよびシステムを全体または一部において使用することができる。例示的なコンピューティングデバイスは、デスクトップコンピュータ、ノートブックコンピュータ、モバイルコンピューティングデバイス、スマートフォン、携帯情報端末などを含むことができる。ブロック１０１の後には、ブロック１０３が続くことができる。
【００１４】
ブロック１０３、「リアルタイムに推論を決定する」において、語またはテキスト断片からの１つまたは複数の推論が、語の１つもしくは複数のウェブ検索、またはテキスト断片内の語の組合せのウェブ検索に基づいて、リアルタイム（または準リアルタイム）という制約を課されて、コンピューティングデバイスによって決定される（１０３）。推論は、同じコミュニケーションセッションまたは先行するコミュニケーションセッションの最中に以前受け取った語または語断片により行われた先行するウェブ検索にも基づくことができ、またコミュニケーションセッションのテキスト断片内ならびに／または先行および後続するテキスト断片内に出現する特定の語または句の頻度にも基づくことができる。そのようなウェブ検索を使用してこれらの推論を決定するための例示的なプロセスが、図２Ａおよび図２Ｂに示されている。ブロック１０３の後には、ブロック１０５が続くことができる。
【００１５】
ブロック１０５、「リアルタイムに語／テキスト断片についての上位の推論を表示する」において、受け取った語および／またはテキスト断片についての１つまたは複数の上位の推論が、その後、コンピューティングデバイス上にリアルタイム（または準リアルタイム）に表示される（１０５）。推論は、コミュニケーションセッション中にその内容が今まさにユーザに伝えられているときに、内容の１つまたは複数の主題に関する追加情報またはより詳細な情報を提供するために、コミュニケーションセッション中にコンピューティングデバイス上に表示できる情報である。推論は、コンピューティングデバイスと通信するリモートデバイスに伝達し、リモートデバイス上に表示することもできる。追加の語またはテキスト断片に対して追加の処理が必要とされる場合は、ブロック１０５の後には、ブロック１０１が続くことができる。
【００１６】
推論を決定する際のウェブ検索エンジンの使用は、他の高度なオプションを可能にする。例えば、検索エンジン推論ベースの仮想支援システムは、コミュニケーションセッション内のきわめて特定的な用語をウェブ検索結果から除外するように、構成可能とすることができる。したがって、誰かが、コミュニケーションセッション中に映画スターについて議論しており、映画スターの名前を持ち出した場合、検索エンジン推論ベースの仮想支援システムは、この特定的な名前を除外することができ、人々は、多くの共通点を有するが、件のその人物には実際のところ関係のない映画スターについてのより多くの情報を目にする。政治またはビジネスにおいて、これは、人々が、反例または他の選択肢をリアルタイムに提供できるようにすることができ、それによって、交渉を形作る。
【００１７】
ごく最近のニュースだけに関係する材料を集めるために、最近の結果だけに目標を絞るように、ウェブ検索結果を設定することもできる。これは、人々が、しばらく前までは知っていたトピックについて遅れを取り戻す助けになることがあり、または人々が、コミュニケーションセッションの会話に遅れずについていく助けになることがある。
【００１８】
図２Ａは、本明細書で説明される少なくともいくつかの実施形態に従って構成された検索エンジン推論ベースの仮想支援による、コミュニケーションセッション中にコンピューティングデバイスへの入力として受け取った語から推論を決定するための例示的なプロセス２００を示すフローチャートである。説明される例では、プロセス２００、および本明細書で説明される他のプロセス、様々な機能ブロックまたはアクションは、ハードウェア、ソフトウェア、および／またはファームウェアによって実行できる、処理ステップ、機能的動作、イベント、および／またはアクションなどとして説明することができる。当業者であれば、本開示に鑑みて、図２に示される機能ブロックに対する多くの代替を様々な実施において実行できることを理解されよう。例えば、プロセス２００は、図２に示されるように、１つの特定の順序のブロックまたはアクションを含むが、これらのブロックまたはアクションが提示される順序は、特許請求される発明をいずれか特定の順序に必ずしも限定するものではない。同様に、特許請求される発明の範囲から逸脱することなく、図２に示されていない介在アクションおよび／もしくは図２に示されていない追加アクションも利用することができ、ならびに／または図２に示されるアクションのいくつかは排除することができる。プロセス２００は、動作１０３、２０１、２０２、２０３、２０５、２０７、２０９、および／または１０５のうちの１つまたは複数を含むことができ、処理は、ブロック２０１において開始することができる。
【００１９】
ブロック２０１、「音声／テキストエンジンから語を受け取る」において、語が、音声／テキストエンジンから受け取られる（２０１）。ブロック２０１の後には、ブロック２０２が続くことができる。各語が受け取られると（２００）、ブロック２０２、「語の希少性が所定の閾値を上回るか？」において、語の希少性が所定の閾値を上回るかどうかがリアルタイムに判定される（２０２）。最初に、語に語希少性スコア（ｗｏｒｄ  ｒａｒｉｔｙ  ｓｃｏｒｅ）を与えることができる。高い語希少性スコアは、語が相対的に珍しいものであることを意味し、低い語希少性スコアは、語が相対的にありふれたものであることを意味する。例えば、（「ｉｆ」、「ｔｈｅ」、「ｉｓ」などの）きわめてありふれた語のプライマリリストを保存しておき、それにアクセスすることができる。語がきわめてありふれた語のリスト上に出現する場合、例えば、その語は、完全に無視することができ、または０の希少性スコアを与えることができる。語がきわめてありふれた語のリスト上に存在しない場合、その語が語希少性リスト（ｗｏｒｄ  ｒａｒｉｔｙ  ｌｉｓｔ）上に出現するかどうかを判定し、その語に関連する語希少性スコアを決定するために、リスト上の各語について関連する所定の語希少性スコアを有する、保存された語希少性リストにアクセスすることができる。
【００２０】
語が語希少性リスト上に出現しない場合、その語をウェブ検索の検索語として使用する、ウェブ検索エンジン（例えばＧｏｏｇｌｅ）を使用したワールドワイドウェブ（ウェブ）検索を自動的に実行することができる。検索から返されたヒットの数は、語についての語希少性スコアの基礎として使用することができる。返されたヒットの数が少ないほど、その語についての語希少性スコアは高くなる。例えば、語「ｓｅｎａｔｏｒ」は、その語をウェブ検索の検索語として使用した場合、６８４０万ヒットをもたらすことができ、「Ｔｒｉｎｉｔｙ  Ｕｎｉｖｅｒｓｉｔｙ」は、９００万ヒットを返すことができる。しかし、語「ｔｏｏｌ」は、何億ものヒットを返すことができ、したがって、「ｓｅｎａｔｏｒ」または「Ｔｒｉｎｉｔｙ  Ｕｎｉｖｅｒｓｉｔｙ」よりもはるかに低い語希少性スコアを返す。その後、語および関連する語希少性スコアは、将来の使用のために、語希少性リストに追加することができる。
【００２１】
語の希少性が所定の閾値を上回らない（例えば、所定量を上回る語希少性スコアを有さない）場合、プロセスは、次に受け取る語に進み、次の語に対して、上記のステップが繰り返される。また、特定の閾値は、コンピューティングデバイス上の１つまたは複数のユーザインタフェースを介してユーザによって構成可能とすることができる。語の希少性が所定の閾値を上回った（例えば、所定量を上回る語希少性スコアを有する）場合、語は、珍しいとしてマークされ、任意の近隣の形容詞または副詞と結び付けることができる。
【００２２】
ブロック２０２の後には、ブロック２０３が続くことができる。ブロック２０３、「語を推論語表（ｉｎｆｅｒｅｎｃｅ  ｔｅｒｍ  ｔａｂｌｅ）に追加する」において、結果の語／句が、その後、推論語表に追加される（２０３）。したがって、各語が受け取られると、１つまたは複数の近隣の語は、それらをそのような方法で組み合わせるために、バッファに記憶することができる。珍しい語は、個々の形容詞および副詞がありふれているとしても、近隣の形容詞および副詞とともにグループ化される。これは、語「ｂａｄ」および「ｇｏｏｄ」は、それ自体では、棄てられるに十分なほどありふれているにしても、劇的に異なる推論をもたらし得る、例えば「ｂａｄ  ｔｒａｆｆｉｃ」と「ｇｏｏｄ  ｔｒａｆｆｉｃ」の相違を人々が捉えることができるようにする。
【００２３】
ブロック２０３の後には、ブロック２０５が続くことができる。ブロック２０５、「推論の数を決定する」において、ウェブ検索における語／句の使用に基づいた最も一般的な推論の数が、その後、自動的に決定される（２０５）。推論の数は、例えば、ウェブ検索の検索語として語／句を使用し、検索結果をしかるべく分析することによって、決定することができる。例えば、検索結果のトピックは、検索結果から自動的に読み取ることができ、語／句についての推論として使用することができる。推論の数は、検索結果において見出された異なるトピックの数（または最初のｎ個の検索結果における異なるトピックの数）とすることができる。検索結果内の最も一般的な推論は、検索結果内の他の推論と比べて、検索結果内に最も頻繁に出現する推論である。ウェブ検索結果の分析から推論を引き出すための他の様々な自動化技法およびプロセスを、代替として実施することができ、または上記のものと併せて実施することができる。
【００２４】
また、推論の強度は、検索結果出力に関連する推論を、検索語として使用された語／句と比較することによって、決定することができる。例えば、語／句Ａについてのウェブ検索が、検索結果出力Ｂを返す場合、検索ヒットのうちのどれだけの割合がやはりＡに関与するかを決定するために、Ｂを自動的に検索することができる。検索ヒットが高い割合でＡに関与する場合、推論の強度は、検索ヒットがより低い割合でＡに関与する場合よりも強いと決定される。
【００２５】
ブロック２０５の後には、ブロック２０７が続くことができる。ブロック２０７、「推論の数が閾値を下回るか？」において、推論および／またはウェブ検索結果ヒットの数が、語／句についての一定の閾値を下回るかどうかが判定される（２０７）。全体的な検索適合性（ｓｅａｒｃｈ  ｒｅｌｅｖａｎｃｅ）についてのこの決定は、上で決定された推論の数、語／句を検索語として使用したウェブ検索結果の数、またはそれらの任意の組合せに基づいて行うことができる。例えば、検索結果において見出された異なる推論の数が多すぎる場合、それは、いずれか特定の推論が適合する、または助けとなる可能性が低いことの指標とすることができる。また、語／句のウェブ検索結果（すなわちヒット）の数が多すぎる場合、それは、役立つ推論を決定するためにそれだけを使用するには、語／句があまりにもありふれていることの指標とすることができる。
【００２６】
見出された異なる推論の数と検索結果ヒットの数の間の関係、または見出された異なる推論と検索結果ヒットの数との比率は、一定の閾値が満たされているかどうかを決定する際のファクタとして使用することもできる。また、特定の閾値は、コンピューティングデバイス上の１つまたは複数のユーザインタフェースを介してユーザによって構成可能とすることができる。
【００２７】
ブロック２０７の後には、ブロック１０５が続くことができる。ブロック１０５、「上位の推論を表示する」において、推論および／またはウェブ検索結果ヒットの数が、語／句についての一定の閾値を下回る場合、語／句についての１つまたは複数の上位の推論が、リアルタイムまたは準リアルタイムという制約を課されて、コンピューティングデバイス上に表示される（１０５）（一例として、図３を参照）。推論は、推論に関する追加情報へのリンクも提供することができ、推論に関連する広告なども含むことができる。その後、プロセスは、コミュニケーションセッションにおいて（例えば音声／テキストエンジンから）次の語をまた受け取るステップ２００から開始して繰り返す。
【００２８】
推論は、音声／テキストシステムまたは音声認識システムの解釈性能を高めるために、そのようなシステムに自動的にフィードバックすることもできる。例えば、英語の句「ａ  ｎａｒｒｏｗ  ｆｌｉｇｈｔ」と「ａｎ  ａｒｒｏｗ  ｆｌｉｇｈｔ」は、静かな室内にいる人間でさえも見分けがつかないことがあるが、コミュニケーションセッション中に話者がＥｒｒｏｌ  Ｆｌｙｎｎについて話しているところであるという推論が、検索エンジン推論ベースの仮想支援システムによって行われた場合は、文は、ａｒｒｏｗについてである可能性がより高い。話者がＤｅｎｎｉｓ  Ｌａｕ（建築家）について話しているという推論が、検索エンジン推論ベースの仮想支援システムによって行われた場合は、文は、おそらく階段についてのものであり、それは、互いに比べた用語の検索適合性に基づいて決定できることがらである。
【００２９】
ブロック２０７の後には、ブロック２０９が続くことができる。ブロック２０９、「語／句を組み合わせる」において、推論および／またはウェブ検索結果ヒットの数が、語／句についての一定の閾値を上回る場合、語／句は、より大きな句を生成するために、推論語表内の１つまたは複数の他の近隣の語／句と組み合わされる（２０９）。近隣の語／句は、推論語表に追加されるほど十分に珍しいと先に決定しておくことができるが、おそらくは、表示されたいずれか関連する推論を有するための閾値をそれだけでは満たさなかった。また、近隣の語が、推論語表にまだ追加されていない（例えば、近隣の語が、現在の語句の右側にある）場合、近隣の語を記憶するために使用されるバッファからそれを読み出すことができ、またはプロセスは、さらなる推論語が推論語表に追加されるまで待つことができる。
【００３０】
例えば、語「ｔｏｏｌ」についての推論および／またはウェブ検索結果ヒットの数が、一定の閾値を上回る場合、この語は、より長い語句「ｐｏｗｅｒ  ｔｏｏｌ」を生成するために、推論語表内において語「ｔｏｏｌ」の左側にある近隣の語「ｐｏｗｅｒ」と組み合わされる（２０９）。
【００３１】
その後、プロセスは分岐し、ウェブ検索における新たに組み合わされた語／句の使用に基づいた最も一般的な推論の数を決定するステップ２０５から開始し、一方、コミュニケーションセッションにおいて（例えば音声／テキストエンジンから）次の語をまた受け取るステップ２０１から開始して自動的に繰り返す。上の例において、句「ｐｏｗｅｒ  ｔｏｏｌ」は、ウェブ検索における検索語として使用され、この検索語は、表面上は、「ｔｏｏｌ」が単独でもたらしたよりも少数の異なる推論および全検索結果ヒットをもたらす。プロセスが進行するにつれて、ウェブ検索において使用される語／句は、両方向の近隣の語を追加することによって、推論および／またはウェブ検索結果ヒットの数が、推論を表示するための一定の閾値を下回るまで、または組み合わせる追加の語が存在しなくなるまで、成長し続けることができる。代替として、ウェブ検索において使用される語／句は、現在の語／句の左側または右側いずれかの近隣の語だけを追加することによって、成長し続けることができる。また、コミュニケーションセッション中に追加の語が利用可能になる（例えば話される）のを待つ前に、句がどれだけ大きく成長できるかについて、制限を設けることもできる。
【００３２】
図２Ｂは、本明細書で説明される少なくともいくつかの実施形態に従って構成された検索エンジン推論ベースの仮想支援による、コミュニケーションセッション中にコンピューティングデバイスへの入力として受け取った語から推論を決定するための例示的な代替プロセス２１０を示すフローチャートである。
【００３３】
図２Ｂのプロセス２１０は、図２Ａのプロセスに示されるように、一度にストリーミングテキストからの１つの語を処理する代わりに、一度にストリーミングテキストからの１つのテキスト断片を処理することによって、例えば、受け取った語から推論を決定するために利用することができる。テキスト断片は、様々なサイズとすることができ、ユーザによって選択することができる。ブロック２１１、「音声／テキストエンジンからテキスト断片を受け取る」において、音声／テキストエンジンからテキスト断片を受け取ることができる。ブロック２１１の後には、ブロック２１３が続くことができる。ブロック２１３、「珍しい語を選択する」において、音声／テキストエンジンまたは他のコミュニケーションアプリケーションからテキスト断片を受け取った（２１１）後、上で説明したように、テキスト断片の珍しい語を、任意の適用可能な近隣の形容詞または副詞と結び付ける（句を生成する）ことができる。珍しい語は、図１Ａを参照して上で説明したように、テキスト断片内の語に語希少性スコアを割り当て、所定の閾値を上回る希少性スコアを有する語だけを選択することによって、選択することができる（２１３）。
【００３４】
ブロック２１３の後には、ブロック２１５が続くことができる。ブロック２１５、「トピック関連度（ｔｏｐｉｃａｌ  ｒｅｌａｔｅｄｎｅｓｓ）を決定する」において、選択された語／句とテキスト断片内の近隣の語／句との各組合せについて、組合せをウェブ検索の検索語として使用することによって、組合せのトピック関連度が決定される（２１５）。ウェブ検索において受け取ったヒットの数に基づいて、組み合わされた語／句のトピック関連度を決定することができる（２１５）。一般に、ウェブ検索からもたらされるヒットの数が少ないほど、組み合わされた語／句のトピック関連度も低くなる。
【００３５】
ブロック２１５の後には、ブロック２１７が続くことができる。ブロック２１７、「トピック関連度が所定の閾値を下回るか？」において、いずれかの組合せのトピック関連度が所定の閾値を下回るかどうかを、組合せについての検索結果におけるヒットの数に基づいて、その後、判定することができる（２１７）。
【００３６】
ブロック２１７の後には、ブロック２１９が続くことができる。ブロック２１９、「より大きな選択された句を生成する」において、検索結果におけるヒットの数に基づいて、トピック関連度が所定の閾値を下回る組合せが存在しない場合、１つまたは複数の近隣の語を選択された語／句と組み合わせることによって、より大きな選択された句が生成される（２１９）。このプロセスは、最初に選択された語／句を近隣の選択された語／句と組み合わせて、さらなる組合せのためのより大きな語／句を生成することによって、最初に選択された語／句から開始することができる。その後、プロセスは、より大きな語／句の組合せを使用し、選択された語／句とテキスト断片内の近隣の語／句との各組合せについて、組合せのトピック関連度を決定するステップ２１５から開始して繰り返す。
【００３７】
ブロック２１７の後には、ブロック２２１が続くことができる。ブロック２２１、「語／句の組合せを推論語として追加する」において、検索結果におけるヒットの数に基づいて、トピック関連度が所定の閾値を下回るいずれかの組合せが存在する場合、適用可能な語／句（すなわち、トピック関連度が所定の閾値を下回る語／句）が、推論語表に推論語として追加される（２２１）。例示的な推論語表のフォーマットは以下の通りである。
【００３８】
【表１】
0005426779.tif 000002
【００３９】
上記の推論語表に示されるように、各語句は、表のトップとサイドに列挙される。語／句の組合せのトピック関連度は、語／句の組合せの一方の語／句を列方向に検索してから、語／句の組合せの他方の語／句の列に達するまで、表を横方向に移動することによって、表内で自動的に見出すことができる。その場合、得られた表内のロケーションが、組合せのウェブ検索におけるヒットの数から見た、組合せのトピック関連度の１つの表示である。特定の組合せについての比較的少ないヒットの数は、組合せがより高い推論強度を有することのおおよその表示としても役立つことがある。
【００４０】
ブロック２２１の後には、ブロック２２３が続くことができる。ブロック２２３、「トピック的に最も関連の薄い推論（ｌｅａｓｔ  ｔｏｐｉｃａｌｌｙ  ｒｅｌａｔｅｄ  ｉｎｆｅｒｅｎｃｅ）を見出す」において、推論語表内の推論語の各組合せについてのトピック的に最も関連の薄い推論を、その後、見出すことができる（２２３）。システムが単一のトピック的に最も関連の薄い推論を選択するか、それとも多くのトピック的に最も関連の薄い推論を選択するかは、ユーザによって選択可能とすることができる。ウェブ検索結果の分析から推論を引き出すための他の様々な自動化技法およびプロセスを、代替として実施することができ、または上記のものと併せて実施することができる。
【００４１】
また、検索結果出力の関連する推論を、検索語として使用された語／句と照合することによって、推論の強度を決定することもできる。例えば、語／句Ａについてのウェブ検索が、検索結果出力Ｂを返す場合、検索ヒットのうちのどれだけの割合がやはりＡに関与するかを決定するために、Ｂを自動的に検索することができる。検索ヒットが高い割合でＡに関与する場合、推論の強度は、検索ヒットがより低い割合でＡに関与する場合よりも強いと決定される。
【００４２】
ブロック２２３の後には、ブロック２２５が続くことができる。ブロック２２５、「推論の強度が閾値を上回るか？」において、各組合せについてのトピック的に最も関連の薄い推論の強度が一定の閾値を上回るかどうか、および／または組合せのウェブ検索が一定の閾値を下回る数のヒットを返したかどうかが、その後、判定される（２２５）。強度が一定の閾値を上回ったことを判定するか、それとも組合せについてのウェブ検索ヒットが一定の閾値を下回ったかどうかを判定するか、または両方を判定するかは、最終的に表示される推論の所望の品質および精度と、推論の所望の量との兼ね合いに依存する。強度が一定の閾値を上回ったことと、組合せについてのウェブ検索ヒットが一定の閾値を下回ったかどうかの両方が判定される場合、それは、最終的に表示される推論の品質および精度を高めることができるが、表示される推論の量を少なくすることになる。閾値レベルも、これに影響し、強度についての閾値がより高く、ヒットの数についての閾値がより低いほど、やはり最終的に表示される推論の品質および精度を高める結果をもたらすことができるが、表示される推論の量を少なくすることになる。強度が一定の閾値を上回ったことを判定するかどうか、および／または組合せについてのウェブ検索ヒットが一定の閾値を下回ったかどうかのほか、閾値レベル自体も、ユーザによって選択可能とすることができる。
【００４３】
推論の強度が一定の閾値を上回らない場合、および／または推論語の組合せのウェブ検索が一定の閾値を下回る数のヒットを返さない場合、ブロック２２５の後には、ブロック２１９が続くことができる。テキスト断片内の１つまたは複数の近隣の語を、選択された語／句と組み合わせることによって、より大きな選択された句を生成するステップ２１９から開始して上記のプロセスが繰り返す。
【００４４】
ブロック２２５の後には、ブロック２２７が続くことができる。ブロック２２７、「推論を表示する」において、推論の強度が一定の閾値を上回る場合、および／または推論語の組合せのウェブ検索が一定の閾値を下回る数のヒットを返す場合、語／句の組合せについての上位の１つまたは複数の推論が、リアルタイムまたは準リアルタイムという制約を課されて、コンピューティングデバイス上に表示される（２２７）。上位の１つまたは複数の推論は、上で説明されたような推論の強度および共通性に基づいて、決定および選択することができる。表示される上位の推論の数、または上位の推論だけを表示するかどうかも、検索エンジン推論ベースの仮想支援システムのユーザ構成可能な特徴とすることができる。
【００４５】
ブロック２２７に続いて、プロセスは、その後、音声／テキストエンジンまたは他のコミュニケーションアプリケーションから次のテキスト断片を受け取ること（２１１）から開始して繰り返す。しかし、先に処理されたテキスト断片からの１つまたは複数の語／句は、先に処理されたテキスト断片からの語／句を考慮することによって、分析されるテキストの範囲を広げるために、それが望ましい場合は、推論語表内に残しておくことができる。例えば、推論語表内に残される先に処理されたテキスト断片からの語／句は、そのような語／句を検索語として使用した場合にいくつのウェブ検索結果が返されるかに関して、特に珍しい語／句とすることができる。また、新しいテキスト断片からの語／句と組み合わせて、推論語表に先に追加された語／句を使用することになる可能性もある同じ推論が表示される回数に制限を設けることができる。
【００４６】
図３は、本明細書で説明される少なくともいくつかの実施形態による、モバイルデバイス３０１においてリアルタイムに受け取られるコミュニケーションに基づいた、検索エンジン推論ベースの仮想支援による例示的な推論３１７を表示する、例示的なモバイルデバイス３０１の図である。モバイルデバイス筐体３０３と、ディスプレイ画面３０５と、ユーザ入力ボタン３２３と、オーディオ出力３２５とを有する、モバイルデバイス３０１が示されている。モバイルデバイスは、検索エンジン推論ベースの仮想支援のための本明細書で説明される方法およびプロセスを実行するために、様々なワイヤレス通信を実行し、コンピュータソフトウェアプログラムコードを実行するための、内部ハードウェアと、コンピュータ可読媒体と、コンピュータ可読媒体上に記憶された適切なアプリケーション、データ、およびコンピュータ実行可能命令とを有することができる。検索エンジン推論ベースの仮想支援のための本明細書で説明される方法およびプロセスを実行するための、そのようなハードウェアおよびコンピュータ可読媒体、ならびに他の適切なコンピューティングデバイスの例が、図４から図６を参照して本明細書でさらに説明される。
【００４７】
モバイルデバイス３０１のディスプレイ画面３０５上には、例示的なコミュニケーションセッションにおいてモバイルデバイス３０１上で実行されている検索エンジン推論ベースの仮想支援の一例が示されている。例示的なコミュニケーションセッションは、オーディオ信号および／またはデータ、ならびにビデオ信号および／またはデータをデバイス３０１に提供することによってモバイルデバイス３０１と通信する、リモートユーザ３０９のビデオまたは静止画像を表示する、ビデオチャットセッションである。デバイス３０１によって受信されるオーディオ信号および／またはデータは、上で説明したように、モバイルデバイス３０１上に存在する、例えば、（ＲＡＭなどの）揮発性メモリ、（ＲＯＭ、フラッシュメモリなどの）不揮発性メモリ、もしくはそれらの任意の組合せを含むが、それらに限定されない、任意のタイプを取ることができる、モバイルデバイスのメモリデバイス上に存在する、音声／テキストエンジンによってローカルでテキストに変換することができ、または先に変換してから、テキストとしてオーディオとともにモバイルデバイス３０１に送信することができる。対応するテキストは、例えば、リモートユーザ３０９が話すにつれて、ディスプレイ画面３０５上のテキストウィンドウ３０７内にストリーム表示される。各推論語３１１、３１３、３１５、または推論語の組合せが、上で説明された検索エンジン推論ベースの仮想支援プロセスにおいて識別されると、これらは、テキストウィンドウ３０７内において、推論語または組合せとして、強調、括弧付け、または他の方法で指示することができる。対応する推論語を検索語として使用して返されたウェブ検索ヒットの関連する数も、テキストウィンドウ３０７内の適用可能な推論語３１１、３１３、３１５の近くに表示することができる。例えば、推論語「ｓｅｎａｔｏｒ」３１１は、６８４０万のウェブ検索ヒットを返したが、推論語「Ｔｒｉｎｉｔｙ  Ｕｎｉｖｅｒｓｉｔｙ」３１３は、９００万のヒットを返しただけであった。
【００４８】
コミュニケーションセッションがモバイルデバイス３０１上で生じているときに、リアルタイムまたは準リアルタイムという制約を課されて、ディスプレイ画面３０５上に表示される例示的な推論３１７が示されている。ディスプレイ画面３０５においてテキストウィンドウ３０７の下に示された特定の推論「Ｄｉｓｃｕｓｓｉｎｇ  Ｓｅｎａｔｏｒ  Ｊｏｈｎ  Ｃｏｒｎｙｎ，  ＴＸ」３１７は、モバイルデバイス３０１上に示された現在のコミュニケーションセッションに対して実行された、上で説明された検索エンジン推論ベースの仮想支援プロセスによって、推論語「ｓｅｎａｔｏｒ」３１１、「Ｔｒｉｎｉｔｙ  Ｕｎｉｖｅｒｓｉｔｙ」３１３、および「ｊｕｄｇｅ」３１５が、リアルタイムまたは準リアルタイムに認識され、処理された結果である。推論に関するより詳細な情報または関連する情報へのリンク３１９、および推論の相対強度３２１などの追加情報も、推論３１７とともにまたは推論３１７の近くに表示することができる。推論３１７とともにまたは推論３１７の近くに表示される他の情報は、推論３１７に関連する広告、推論３１７を保存するか、それともさらに処理するかの選択肢、および推論３１７に関する他の統計を含むことができるが、それらに限定されない。
【００４９】
図４は、本明細書で説明された少なくともいくつかの例に従って、検索エンジン推論ベースの仮想支援を実行するために、多くのコンピュータ化されたプロセスを実施できる、例示的なネットワークコンピューティング環境４００の図である。例えば、上で説明されたようなコミュニケーションセッションは、図４に示されるネットワークコンピューティング環境内の様々なオブジェクトの間で生じることができ、図４における１つまたは複数のオブジェクトは、検索エンジン推論ベースの仮想支援を利用または実施することができる。別の例として、分散または並列コンピューティングは、そのようなネットワーク環境の一部であることができ、図４のネットワーク上の様々なクライアントが、検索エンジン推論ベースの仮想支援のためのシステムおよび方法を使用し、および／または実施する。任意のコンピュータまたは他のクライアントもしくはサーバデバイスを、独立にまたは分散コンピューティング環境において機能する他のコンピュータまたは他のクライアントもしくはサーバデバイスと接続するために、ネットワークを利用できることは、当業者であれば理解できよう。これに関して、任意の数の処理ユニット、メモリユニット、または記憶ユニット、ならびに同時に生じる任意の数のアプリケーションおよびプロセスを有する、任意のコンピュータシステムまたは環境は、提供されるシステムおよび方法に関連して使用するのに適していると考えられる。
【００５０】
分散コンピューティングは、様々なコンピューティングデバイスおよび／またはシステム間での交換によって、コンピュータリソースおよび／またはサービスを共用するために利用することができる。これらのリソースおよび／またはサービスは、情報の交換、キャッシュストレージの使用、および／または分散ファイルストレージのためのディスクストレージの使用を含むことができる。分散コンピューティングは、クライアントが、それらの集団能力を活用して、企業全体を利することができるように、ネットワーク接続性を利用することができる。これに関して、様々なデバイスは、本明細書で説明された検索エンジン推論ベースの仮想支援プロセスにかかわることができる、アプリケーション、オブジェクト、またはリソースを有することができる。
【００５１】
図４のネットワークコンピューティング環境４００は、１つもしくは複数のコンピューティングデバイス２７１、６００、２７６、３０１、１つもしくは複数のオブジェクト２７３、２７４、２７５、および／または１つもしくは複数のデータベース２７８など、様々なデバイスを含むことができる。これらのデバイス２７１、６００、２７３、２７４、２７５、２７６、３０１、２７８の各々は、プログラム、メソッド、データストア、プログラム可能ロジックなどを含むことができ、またはそれらを使用することができる。コンピューティングデバイス３０１は、図３のモバイルデバイス３０１とすることができる。しかし、デバイス２７１、６００、２７３、２７４、２７５、２７６、３０１、および／または２７８は、携帯情報端末（ＰＤＡ）、モバイルデバイス、オーディオ／ビデオデバイス、ＭＰ３プレーヤ、パーソナルコンピュータなど、いくつかの同じデバイスまたは異なるデバイスにわたることができる。各デバイス２７１、６００、２７３、２７４、２７５、２７６、３０１、２７８は、通信ネットワーク２７０によって、別のデバイス２７１、６００、２７３、２７４、２７５、２７６、３０１、２７８と通信するように適合させることができる。これに関して、任意のデバイスが、データベース２７８または他のストレージ要素の維持および更新を担うことができる。
【００５２】
通信ネットワーク２７０は、それ自体が、図４のシステムにサービスを提供するように構成された他のコンピューティングエンティティを含むことができ、したがって、複数の相互接続ネットワークを表すことができる。いくつかの実施形態の態様によれば、各デバイス２７１、６００、２７３、２７４、２７５、２７６、３０１、および／または２７８は、アプリケーションプログラミングインタフェース（ＡＰＩ）を使用できる個別の機能的プログラムモジュール、または他のデバイス２７１、６００、２７３、２７４、２７５、２７６、３０１、および／もしくは２７８の１つもしくは複数にサービスを要求するように適合される他のオブジェクト、ソフトウェア、ファームウェア、および／もしくはハードウェアを含むことができる。
【００５３】
２７５などのオブジェクトは、別のコンピューティングデバイス２７６上でホストされ得ることも理解できよう。したがって、示された物理的環境は、接続されたデバイスをコンピュータとして示しているが、そのような図は例にすぎず、物理的環境は、代替として、ＰＤＡ、テレビ、ＭＰ３プレーヤなどの様々なデジタルデバイス、およびインタフェース、ＣＯＭオブジェクトなどのソフトウェアオブジェクトなどを含むように描くこと、または説明することができる。
【００５４】
分散コンピューティング環境をサポートできる、様々なシステム、コンポーネント、およびネットワーク構成が存在する。例えば、コンピューティングシステムは、有線システムまたは無線システムによって、ローカルネットワークまたは広域分散ネットワークによって、互いに接続することができる。現在、多くのネットワークが、インターネットに結合され、インターネットは、広域分散コンピューティングのためのインフラストラクチャを提供し、多くの異なるネットワークを包含する一例である。そのような任意のインフラストラクチャは、インターネットに結合されるかどうかにかかわりなく、提供されるシステムおよび方法と併せて使用することができる。
【００５５】
ネットワークインフラストラクチャは、クライアント／サーバ、ピアツーピア、またはハイブリッドアーキテクチャなどの、多くのネットワークトポロジを可能にすることができる。「クライアント」は、それが関連していない別のクラスまたはグループのサービスを使用する、クラスまたはグループのメンバである。コンピューティングにおいて、クライアントは、別のプログラムによって提供されるサービスを要求するプロセス、すなわち、大ざっぱに言えば、１組の命令またはタスクである。クライアントプロセスは、他のプログラムまたはサービス自体の動作詳細を一切「知る」必要なしに、要求したサービスを利用する。クライアント／サーバアーキテクチャ、特にネットワークシステムでは、クライアントは、通常は、別のコンピュータ、例えばサーバによって提供される共用ネットワークリソースにアクセスするコンピュータである。図４の例では、デバイス２７１、６００、２７３、２７４、２７５、２７６、３０１、および／または２７８のいずれも、状況に応じて、クライアント、サーバ、または両方と見なすことができる。
【００５６】
サーバは、必ずではないが一般に、インターネットなどのリモートまたはローカルネットワークを介してアクセス可能な、リモートコンピュータシステムである。クライアントプロセスは、第１のコンピュータシステムにおいて動作することができ、サーバプロセスは、第２のコンピュータシステムにおいて動作することができ、それらは、互いに通信媒体を介して通信することで、分散機能を提供し、複数のクライアントが、サーバの情報収集機能を利用できるようにする。ソフトウェアオブジェクトはいずれも、複数のコンピューティングデバイスまたはオブジェクトにわたって分散させることができる。
【００５７】
クライアントとサーバは、プロトコルレイヤによって提供される機能を利用して、互いに通信するように適合させることができる。例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）は、ワールドワイドウェブ（ＷＷＷ）または「ウェブ」と併せて使用できる、一般的なプロトコルである。インターネットプロトコル（ＩＰ）アドレス、またはユニバーサルリソースロケータ（ＵＲＬ）などの他の参照などの、コンピュータネットワークアドレスは、サーバコンピュータまたはクライアントコンピュータを互いに識別するために使用することができる。ネットワークアドレスは、ＵＲＬアドレスと呼ぶことができる。通信は、通信媒体を介して提供することができ、例えば、クライアントとサーバは、高容量通信のためのＴＣＰ／ＩＰ接続を介して、互いに結合することができる。
【００５８】
図４において提供される一般的なフレームワークに従って構築できる多様なコンピューティング環境、および図４のものなどのネットワーク環境におけるコンピューティングにおいて生じ得るさらなる多様性に鑑みて、本明細書で提供されるシステムおよび方法は、多少なりとも特定のコンピューティングアーキテクチャに限定されるものと解釈することはできない。代わりに、実施形態は、添付の特許請求の範囲に従った広さおよび範囲において解釈されるべきである。
【００５９】
図５は、本開示の少なくともいくつかの実施形態に従って構成された、検索エンジン推論ベースの仮想支援のためのコンピュータプログラム製品を示す概略図である。コンピュータプログラム製品５００は、上で説明され、図１、図２Ａ、および図２Ｂにも示された方法を実行するための、１組または複数組の実行可能命令５０２を含むことができる。コンピュータプログラム製品５００は、信号搬送媒体５０４または別の類似の通信媒体５０６で送信することができる。コンピュータプログラム製品５００は、コンピュータ可読媒体５０８または別の類似の記録可能媒体５１０に記録することもできる。
【００６０】
図６は、本開示の少なくともいくつかの実施形態に従って構成された、検索エンジン推論ベースの仮想支援を実施できる、例示的なコンピューティングデバイスのブロック図である。非常に基本的な構成においては、コンピューティングデバイス６００は一般に、１つまたは複数のホストプロセッサ６０４と、システムメモリ６０６とを含む。メモリバス６０８は、ホストプロセッサ６０４とシステムメモリ６０６の間で通信するために使用することができる。
【００６１】
所望の構成に応じて、ホストプロセッサ６０４は、マイクロプロセッサ（μＰ）、マイクロコントローラ（μＣ）、デジタル信号プロセッサ（ＤＳＰ）、またはそれらの任意の組合せを含むが、それらに限定されない、任意のタイプを取ることができる。プロセッサ６０４は、レベル１キャッシュ６１０およびレベル２キャッシュ６１２などの１つまたは複数のレベルのキャッシングと、プロセッサコア６１４と、レジスタ６１６とを含むことができる。例示的なプロセッサコア６１４は、算術論理演算ユニット（ＡＬＵ）、浮動小数点ユニット（ＦＰＵ）、デジタル信号処理コア（ＤＳＰコア）、またはそれらの任意の組合せを含むことができる。例示的なメモリコントローラ６１８も、プロセッサ６０４とともに使用することができ、またはいくつかの実施では、メモリコントローラ６１８は、プロセッサ６０４の内部部品とすることができる。
【００６２】
所望の構成に応じて、システムメモリ６０６は、（ＲＡＭなどの）揮発性メモリ、（ＲＯＭ、フラッシュメモリなどの）不揮発性メモリ、またはそれらの任意の組合せを含むが、それらに限定されない、任意のタイプを取ることができる。システムメモリ６０６は、オペレーティングシステム６２０と、１つまたは複数のアプリケーション６２２と、プログラムデータ６２４とを含むことができる。いくつかの実装では、オペレーティングシステム６２０は、スケジューラ６２６を有することができ、少なくとも図１、図２Ａ、および図２Ｂに示されたプロセスに関して説明された機能を含む、本明細書で説明されたような機能を実行するために、１つまたは複数のアプリケーション６２２を動作させるように構成することができる。また、アプリケーション６２２は、オペレーティングシステム６２０上で、プログラムデータ６２４を用いて動作するように構成することができる。プログラムデータ６２４は、検索エンジン推論ベースの仮想支援を実行するための命令の実行に関連するタスクデータなどの、しかしそれらに限定されない、タスク関連情報を含むことができる。この説明された基本的な構成６０２は、図６においては、内側の点線内のそれらのコンポーネントによって示されている。
【００６３】
コンピューティングデバイス６００は、追加の特徴または機能、ならびに基本的な構成６０２と任意の必要なデバイスおよびインタフェースの間の通信を円滑化するための追加のインタフェースを有することができる。例えば、バス／インタフェースコントローラ６３０は、ストレージインタフェースバス６３４を介する、基本的な構成６０２と１つまたは複数のデータ記憶デバイス６３２の間の通信を円滑化するために使用することができる。データ記憶デバイス６３２は、着脱可能記憶デバイス６３６、着脱不能記憶デバイス６３８、またはそれらの組合せとすることができる。着脱可能記憶デバイスおよび着脱不能記憶デバイスの例は、いくつかの名前を挙げると、フレキシブルディスクドライブおよびハードディスクドライブ（ＨＤＤ）などの磁気ディスクデバイス、コンパクトディスク（ＣＤ）ドライブまたはデジタル多用途ディスク（ＤＶＤ）ドライブなどの光ディスクドライブ、ソリッドステートドライブ（ＳＳＤ）、ならびにテープドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実施された、揮発性および不揮発性の着脱可能および着脱不能な媒体を含むことができる。
【００６４】
システムメモリ６０６、着脱可能記憶デバイス６３６、および着脱不能記憶デバイス６３８は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、もしくは他の光記憶、磁気カセット、磁気テープ、磁気ディスク記憶、もしくは他の磁気記憶デバイス、または所望の情報を記憶するのに使用でき、コンピューティングデバイス６００によってアクセスできる他の任意の媒体を含むが、それらに限定されない。そのようなコンピュータ記憶媒体はいずれも、コンピューティングデバイス６００の一部とすることができる。
【００６５】
コンピューティングデバイス６００は、バス／インタフェースコントローラ６３０を介する、様々なインタフェースデバイス（例えば、出力デバイス６４２、周辺インタフェース６４４、および通信デバイス６４６）から基本的な構成６０２への通信を円滑化するための、インタフェースバス６４０も含むことができる。例示的な出力デバイス６４２は、１つまたは複数のＡ／Ｖポート６５２を介してディスプレイまたはスピーカなどの様々な外部デバイスと通信するように構成できる、グラフィックス処理ユニット６４８およびオーディオ処理ユニット６５０を含む。例示的な周辺インタフェース６４４は、１つまたは複数のＩ／Ｏポート６５８を介して入力デバイス（例えば、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなど）または他の周辺デバイス（例えば、プリンタ、スキャナなど）などの外部デバイスと通信するように構成できる、シリアルインタフェースコントローラまたはパラレルインタフェースコントローラを含む。例示的な通信デバイス６４６は、１つまたは複数の通信ポートを介する、通信ネットワークリンクを通じた、１つまたは複数の他のコンピューティングデバイス６６２との通信を円滑化するように構成できる、ネットワークコントローラを含む。いくつかの実施では、コンピューティングデバイス６００は、インタフェースバス６４０を介してホストプロセッサ６０４と通信できる、マルチコアプロセッサ６６４を含む。
【００６６】
ネットワーク通信リンクは、通信媒体の一例とすることができる。通信媒体は、搬送波または他のトランスポートメカニズムなどの変調データ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって一般に具現することができ、任意の情報配送媒体を含むことができる。「変調データ信号」は、情報を信号内に符号化するような方法で設定または変更された特性の１つまたは複数を有する信号とすることができる。限定することなく、例を挙げると、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響、無線周波（ＲＦ）、マイクロ波、赤外線（ＩＲ）および他の無線媒体などの無線媒体を含むことができる。コンピュータ可読媒体という用語は、本明細書で使用される場合、記憶媒体を含むことができる。
【００６７】
コンピューティングデバイス６００は、セルフォン、携帯情報端末（ＰＤＡ）、パーソナルメディアプレーヤデバイス、ワイヤレスウェブウォッチデバイス、パーソナルヘッドセットデバイス、アプリケーション固有デバイス、または上記の機能のいずれかを含むハイブリッドデバイスなど、フォームファクタが小さいポータブル（またはモバイル）電子デバイスの一部として実施することができる。コンピューティングデバイス６００は、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとしても実施することができる。
【００６８】
システムの側面でのハードウェアの実装形態とソフトウェアの実装形態との間には、ほとんど相違が残されていない。ハードウェアまたはソフトウェアの使用は、一般に（いつもそうではないが、ある状況ではハードウェアとソフトウェアの間の選択が重要になり得るという点で）コスト対効果のトレードオフを表す設計上の選択である。本明細書に記載された、プロセスおよび／またはシステムおよび／または他の技術をもたらすことができる様々な達成手段があり（例えば、ハードウェア、ソフトウェア、および／またはファームウェア）、好ましい達成手段は、プロセス、システム、または他の技術が導入される状況によって異なる。例えば、実装者が速度と正確性が最も重要であると決定すると、実装者は主にハードウェアまたはファームウェアの達成手段を選択することができる。フレキシビリティが最も重要なら、実装者は主にソフトウェアの実装形態を選択することができる。さらに別の代替案として、実装者は、ファームウェアありまたはファームウェアなしで、ハードウェア、ソフトウェアのなんらかの組合せを選択することができる。
【００６９】
前述の詳細な説明では、ブロック図、フローチャート、および／または例の使用によって、装置および／またはプロセスの様々な実施形態を説明してきた。そのようなブロック図、フローチャート、および／または例が１つまたは複数の機能および／または動作を含む限りにおいて、そのようなブロック図、フローチャート、または例の中のそれぞれの機能および／または動作は、広範囲のハードウェア、ソフトウェア、ファームウェア、または実質上それらのすべての組合せにより、個別におよび／または集合的に実装可能であることが、当業者には理解されるであろう。ある実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタルシグナルプロセッサ（ＤＳＰ）、または他の集積化方式によって実装することができる。しかし、本明細書で開示された実施形態のいくつかの態様が、全体においてまたは一部において、１つまたは複数のコンピュータ上で動作する１つまたは複数のコンピュータプログラムとして（例えば、１つまたは複数のコンピュータシステム上で動作する１つまたは複数のプログラムとして）、１つまたは複数のプロセッサ上で動作する１つまたは複数のプログラムとして（例えば、１つまたは複数のマイクロプロセッサ上で動作する１つまたは複数のプログラムとして）、ファームウェアとして、あるいは実質上それらの任意の組合せとして、等価に集積回路に実装することができることを、当業者は認識するであろうし、電気回路の設計ならびに／またはソフトウェアおよび／もしくはファームウェアのコーディングが、本開示に照らして十分当業者の技能の範囲内であることを、当業者は認識するであろう。さらに、本明細書に記載された主題のメカニズムを様々な形式のプログラム製品として配布することができることを、当業者は理解するであろうし、本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号伝達媒体の特定のタイプにかかわらず適用されることを、当業者は理解するであろう。信号伝達媒体の例には、フロッピー（登録商標）ディスク、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、コンピュータメモリ、などの記録可能なタイプの媒体、ならびに、デジタル通信媒体および／またはアナログ通信媒体（例えば、光ファイバケーブル、導波管、有線通信リンク、無線通信リンクなど）の通信タイプの媒体が含まれるが、それらには限定されない。
【００７０】
本明細書で説明したやり方で装置および／またはプロセスを記載し、その後そのように記載された装置および／またはプロセスを、データ処理システムに統合するためにエンジニアリング方式を使用することは、当技術分野で一般的であることを当業者は認識するであろう。すなわち、本明細書に記載された装置および／またはプロセスの少なくとも一部を、妥当な数の実験によってデータ処理システムに統合することができる。通常のデータ処理システムは、一般に、システムユニットハウジング、ビデオディスプレイ装置、揮発性メモリおよび不揮発性メモリなどのメモリ、マイクロプロセッサおよびデジタル信号プロセッサなどのプロセッサ、オペレーティングシステムなどの計算実体、ドライバ、グラフィカルユーザインタフェース、およびアプリケーションプログラムのうちの１つもしくは複数、タッチパッドもしくはスクリーンなどの１つもしくは複数の相互作用装置、ならびに／またはフィードバックループおよびコントロールモータを含むコントロールシステム（例えば、位置検知用および／もしくは速度検知用フィードバック、コンポーネントの移動用および／もしくは数量の調整用コントロールモータ）を含むことを、当業者は理解するであろう。通常のデータ処理システムは、データコンピューティング／通信システムおよび／またはネットワークコンピューティング／通信システムの中に通常見られるコンポーネントなどの、市販の適切なコンポーネントを利用して実装することができる。
【００７１】
本明細書に記載された主題は、様々なコンポーネントをしばしば例示しており、これらのコンポーネントは、他の様々なコンポーネントに包含されるか、または他の様々なコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００７２】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。様々な単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００７３】
通常、本明細書において、特に添付の特許請求の範囲（例えば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（例えば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む発明に限定する、ということを示唆していると解釈されるべきではない（例えば、「ａ」および／または「ａｎ」は、通常、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、通常、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（例えば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、通常、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（例えば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステ���を含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００７４】
本明細書では様々な態様および実施形態が開示されたが、他の態様および実施形態も当業者には明らかであろう。本明細書で開示された様々な態様および実施形態は説明を目的としたものであり、限定的であることは意図しておらず、真の範囲および主旨は、以下の特許請求の範囲によって示されている。
【図１】
0005426779.tif 000003
【図２Ａ】
0005426779.tif 000004
【図２Ｂ】
0005426779.tif 000005
【図３】
0005426779.tif 000006
【図４】
0005426779.tif 000007
【図５】
0005426779.tif 000008
【図６】
0005426779.tif 000009