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

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

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

<>
  • 特許6305588-拡張された会話理解アーキテクチャ 図000002
  • 特許6305588-拡張された会話理解アーキテクチャ 図000003
  • 特許6305588-拡張された会話理解アーキテクチャ 図000004
  • 特許6305588-拡張された会話理解アーキテクチャ 図000005
  • 特許6305588-拡張された会話理解アーキテクチャ 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6305588
(24)【登録日】2018年3月16日
(45)【発行日】2018年4月4日
(54)【発明の名称】拡張された会話理解アーキテクチャ
(51)【国際特許分類】
   G06F 17/30 20060101AFI20180326BHJP
   G06F 17/27 20060101ALI20180326BHJP
【FI】
   G06F17/30 330C
   G06F17/27 690
【請求項の数】7
【外国語出願】
【全頁数】13
(21)【出願番号】特願2017-38097(P2017-38097)
(22)【出願日】2017年3月1日
(62)【分割の表示】特願2014-502721(P2014-502721)の分割
【原出願日】2012年3月27日
(65)【公開番号】特開2017-123187(P2017-123187A)
(43)【公開日】2017年7月13日
【審査請求日】2017年3月1日
(31)【優先権主張番号】13/077,431
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(31)【優先権主張番号】13/076,862
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(31)【優先権主張番号】13/077,233
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(31)【優先権主張番号】13/077,303
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(31)【優先権主張番号】13/077,368
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(31)【優先権主張番号】13/077,396
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(31)【優先権主張番号】13/077,455
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】ヘック,ラリー・ポール
(72)【発明者】
【氏名】チンサクンタ,マドゥスーダン
(72)【発明者】
【氏名】ミトバイ,デヴィッド
(72)【発明者】
【氏名】スティフェルマン,リサ
【審査官】 齊藤 貴孝
(56)【参考文献】
【文献】 特開2001−125896(JP,A)
【文献】 特開2001−022779(JP,A)
【文献】 特開平08−235185(JP,A)
【文献】 特表2010−519609(JP,A)
【文献】 特表2010−538375(JP,A)
【文献】 国際公開第2009/029905(WO,A1)
【文献】 特開2009−116733(JP,A)
【文献】 金子 恭史、外3名,緩和度付き検索語の意味関連分析による検索意図推定とそのクエリ入力インタフェース,Journal of the DBSJ,日本,日本データベース学会,2008年 6月27日,第7巻,第1号,p.181−186
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/30
G06F 17/27
(57)【特許請求の範囲】
【請求項1】
拡張された会話理解アーキテクチャを実現するためのコンピュータで実行される方法であって、
ユーザから自然言語の語句を受け取るステップと、
前記自然言語の語句を検索語句に変換するステップと、
前記検索語句に応じて検索アクションを行うステップと、
複数のアプリケーションプログラミングインターフェース(API)を解析し、前記複数のアプリケーションプログラミングインターフェース(API)のそれぞれに関して少なくとも1つの要求されるパラメータを識別するステップであって、前記複数のアプリケーションプログラミングインターフェース(API)のそれぞれは、ウェブサイト検索機能に関連するステップと、
前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つを、前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つによって要求される少なくとも1つのパラメータを用いて呼び出すことによって、検索アクションを行うステップと、
前記検索アクションに基づく複数の検索結果を受け取るステップと、
前記複数の検索結果をユーザに提供するステップと、
を含む、コンピュータで実行される方法において、
前記自然言語の語句を検索語句に変換するステップは、
前記自然言語の語句に関連するコンテキストを識別するステップと、
前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つが、識別されたコンテキストに関連するかどうかを判定するステップと、
前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つが、識別されたコンテキストに関連するかどうかを判定することに応じて、前記自然言語の語句を検索語句に含まれる少なくとも一つの語を、前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つによって要求される少なくとも1つのパラメータに変換するステップと、
を含む、コンピュータで実行される方法。
【請求項2】
前記検索語句は、少なくとも1つの意味概念を含む請求項1に記載のコンピュータで実行される方法。
【請求項3】
前記少なくとも1つの意味概念は、前記自然言語の語句に含まれない語を含む請求項2に記載のコンピュータで実行される方法。
【請求項4】
前記複数の検索結果をユーザに提供するステップは、前記複数の検索結果を複数のユーザに提供する、請求項1〜3のいずれか一項に記載の方法。
【請求項5】
請求項1〜4のいずれか一項に記載の方法を実行するためのプログラム。
【請求項6】
請求項1〜4のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【請求項7】
拡張された会話理解アーキテクチャを実現するためのシステムであって、
メモリストレージと、
前記メモリストレージに結合された処理装置とを備え、前記処理装置は、
ユーザから自然言語の語句を受け取るステップと、
前記自然言語の語句を検索語句に変換するステップと、
前記検索語句に応じて検索アクションを行うステップと、
複数のアプリケーションプログラミングインターフェース(API)を解析し、前記複数のアプリケーションプログラミングインターフェース(API)のそれぞれに関して少なくとも1つの要求されるパラメータを識別するステップであって、前記複数のアプリケーションプログラミングインターフェース(API)のそれぞれは、ウェブサイト検索機能に関連するステップと、
前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つを、前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つによって要求される少なくとも1つのパラメータを用いて呼び出すことによって、検索アクションを行うステップと、
前記検索アクションに基づく複数の検索結果を受け取るステップと、
前記複数の検索結果をユーザに提供するステップと、
を実行するように構成され、
前記自然言語の語句を検索語句に変換するステップは、
前記自然言語の語句に関連するコンテキストを識別するステップと、
前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つが、識別されたコンテキストに関連するかどうかを判定するステップと、
前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つが、識別されたコンテキストに関連するかどうかを判定することに応じて、前記自然言語の語句を検索語句に含まれる少なくとも一つの語を、前記複数のアプリケーションプログラミングインターフェース(API)のうちの少なくとも1つによって要求される少なくとも1つのパラメータに変換するステップと、を含む
システム。
【発明の詳細な説明】
【背景技術】
【0001】
[001]拡張された会話理解アーキテクチャは、ユーザクエリおよびユーザ会話の自然言
語理解を円滑にするための機構を提供することが可能である。一部の状況において、パーソナルアシスタントプログラムおよび/または検索エンジンは、しばしば、特殊化されたフォーマット、および特殊化されたシンタックスを要求する。例えば、「I want to go see ‘Inception’ around 7(私は、7時頃に「インセプション」を観に行きたい)」というユーザのクエリが、会話システムに提供された際にユーザの真の意図を伝えることに効果がない場合がある。そのようなシステムは、一般に、ユーザが或る映画に言及している、かつユーザが、7:00頃にその映画を上映する近くの映画館についてユーザに知らせる結果を所望する、というコンテキストを導き出すことができない可能性がある。
【発明の概要】
【課題を解決するための手段】
【0002】
[002]この「発明の概要」は、「発明を実施するための形態」においてさらに後述され
る概念の選定を、簡略化された形態で紹介するように与えられる。この「発明の概要」は、主張される主題の重要な特徴、または不可欠な特徴を特定することは意図していない。また、この「発明の概要」は、主張される主題の範囲を限定するのに使用されることも意図していない。
【0003】
[003]拡張された会話理解アーキテクチャが提供され得る。ユーザから自然言語の語句
を受け取ると、その語句は、検索語句に変換可能であり、さらにその検索語句に対して検索アクションが実行され得る。
【0004】
[004]以上の一般的な説明と以下の詳細な説明はともに、例を与えるものであり、例示
的であるに過ぎない。したがって、以上の一般的な説明、および以下の詳細な説明は、限定するものと考慮されるべきではない。さらに、本明細書に記載される特徴に加えて、いくつかの特徴または変形形態が与えられ得る。例えば、いくつかの実施形態が、詳細な説明で説明される様々な特徴の組合せおよび部分的組合せを対象とし得る。
【0005】
[005]本開示に組み込まれ、本開示の一部を構成する添付の図面は、本発明の様々な実
施形態を例示する。
【図面の簡単な説明】
【0006】
図1】[006]動作環境のブロック図である。
図2】[007]図2Aは、拡張された会話理解アーキテクチャを実現するためのインターフェースを示すブロック図である。図2Bは、拡張された会話理解アーキテクチャを実現するためのインターフェースを示すブロック図である。
図3】[008]拡張された会話理解アーキテクチャにフィードバックするためのインターフェースを示すブロック図である。
図4】[009]拡張された会話理解アーキテクチャを実現するための方法の流れ図である。
図5】[010]コンピューティングデバイスを含むシステムのブロック図である。
【発明を実施するための形態】
【0007】
[011]以下の詳細な説明は、添付の図面を参照する。可能な場合はいつでも、図面およ
び以下の説明において同一の要素、または同様の要素を指すのに同一の参照符号が使用さ
れる。本発明のいくつかの実施形態が説明され得るが、変形形態、適合形態、および他の実装形態が可能である。例えば、図面に例示される要素に置換、追加、または変形が行われ得るとともに、本明細書で説明される方法が、開示される方法の段階を置換すること、並べ替えること、または追加することによって変形され得る。したがって、以下の詳細な説明は、本発明を限定しない。代わりに、本発明の適切な範囲は、添付の特許請求の範囲によって規定される。
【0008】
[012]拡張された会話理解アーキテクチャが、ユーザクエリおよびユーザ会話の自然言
語理解を円滑にすることが可能である。このアーキテクチャは、クエリのコンテキストを判定すること、およびユーザの意図を推測することを可能にすることができる。このアーキテクチャは、自然言語クエリの語を使用して、その会話のコンテキストを判定すること、ユーザの意図を推定すること、および適切な検索エージェントを使用してさらなる適切なクエリを形成することができる。
【0009】
[013]音声対話システム(SDS)が、人々が音声でコンピュータと対話することを可
能にする。SDSを駆動する主要な構成要素は、ダイアログマネージャを備え、すなわち、この構成要素が、ユーザとのダイアログベースの会話を管理する。ダイアログマネージャは、音声認識および自然言語理解構成要素の出力、以前の回のダイアログからのコンテキスト、ユーザコンテキスト、および/または知識ベース(例えば、検索エンジン)から戻される結果などの、複数の入力ソースの組合せを介してユーザの意図を判定することが可能である。意図を判定した後、ダイアログマネージャは、最終結果をユーザに表示すること、および/またはユーザの意図を満足させるようにユーザとの対話を続けることなどの、アクションをとることができる。
【0010】
[014]図1は、サーバ105を備えた動作環境100のブロック図である。サーバ10
5は、ダイアログマネージャ111を備えた音声対話システム(SDS)110、パーソナルアシスタントプログラム112、コンテキストデータベース116、および/または検索エージェント118などの様々なコンピューティングリソースおよび/またはソフトウェアモジュールを備え得る。SDS110は、ネットワーク120を介してユーザからクエリおよび/またはアクション要求を受信することが可能である。そのようなクエリは、例えば、コンピュータおよび/またはセルラ電話機などのユーザデバイス130から送信され得る。ネットワーク120は、例えば、プライベートネットワーク、セルラデータネットワーク、および/またはインターネットなどの公共ネットワークを備え得る。
【0011】
[015]図2Aは、拡張された会話理解アーキテクチャを実現するためのインターフェー
ス200のブロック図である。インターフェース200は、ユーザ入力パネル210と、パーソナルアシスタントパネル220とを備え得る。ユーザ入力パネル210は、ユーザステートメント230などの、変換されたユーザクエリおよび/またはアクション要求を表示することが可能である。ユーザステートメント230は、例えば、ユーザデバイス130のユーザから受け取られた音声−テキスト変換からの結果を備え得る。パーソナルアシスタントパネル220は、ユーザおよびユーザステートメント230に関連するコンテキスト状態から導き出された複数のアクション示唆240(A)〜(C)を備え得る。
【0012】
[016]図2Bは、ユーザが複数のアクション示唆のうちの1つ240(A)を選択した
後の更新された表示を備えたインターフェース200のさらなる例示である。例えば、複数のアクション示唆240(A)〜(C)は、ユーザが表現した「go out tonight(今夜、出かける)」意図に応答した示唆される活動を備え得る。この例においてユーザの食事に出かける意図を示すアクション示唆240(A)が選択されると、パーソナルアシスタントパネル220が、ユーザの意図をさらに定義することに関連する第2の複数のアクション示唆250(A)〜(C)で更新され得る。例えば、第2の複数のア
クション示唆250(A)〜(C)は、ユーザが食べることを所望し得る、示唆される様々な料理を備え得る。本発明の実施形態に合致して、ユーザに関連するコンテキスト状態が、第2の複数のアクション示唆250(A)〜(C)をもたらし、さらに/または順序付けるのに使用され得る。例えば、コンテキスト状態は、ユーザが訪れた、さらに/または気に入ったそれまでのレストランの履歴を備えることが可能であり、さらに料理のタイプが、それらの選好に応じて順序付けられることが可能である。
【0013】
[017]図3は、拡張された会話理解アーキテクチャにフィードバックを与えることを例
示するインターフェース200のブロック図である。ユーザは、ユーザステートメント230のすべて、および/または一部分を、変更されたユーザステートメント310に変えることができる。例えば、ユーザは、マウス、スタイラス、キーボード、音声コマンド、および/または他の入力機構を使用して、それまでに変換されている語、「out(出)」を選択し、さらにその語を「outside(外に)」に変更することが可能である。次に、パーソナルアシスタントパネル220が、変更されたユーザステートメント310に応じて、更新された複数の示唆されるアクション320(A)〜(B)で更新され得る。
【0014】
[018]図4は、拡張された会話理解アーキテクチャを提供するための本発明の或る実施
形態に合致する方法400に関与する一般的な段階を示す流れ図である。方法400は、図4に関連して後段でより詳細に説明されるとおり、コンピューティングデバイス400を使用して実施され得る。方法400の段階を実施する様態は、後段でさらに詳細に説明される。方法400は、開始ブロック405で始まって、段階410に進むことが可能であり、コンピューティングデバイス500が、アクション要求を受け取ることが可能である。例えば、SDS110が、「find a place to eat(食事する所を見つける)」ユーザの音声クエリを備えた要求をユーザデバイス130から受け取ることが可能である。
【0015】
[019]次に、方法400は、段階415に進むことが可能であり、コンピューティング
デバイス500が、ユーザに関連するコンテキスト状態を収集することが可能である。コンテキスト状態は、例えば、ユーザに関連する役割、少なくとも1つのこれまでのユーザの目的、少なくとも1つのこれまでのユーザアクション要求、ユーザのロケーション、時刻、日付、ユーザからの第1のアクション要求に関連するカテゴリ、ユーザからの第1のアクション要求に関連するデータタイプ、および/またはこれまでのユーザアクションに関連するデータカテゴリを備え得る。そのような情報は、SDS110のコンテキストデータベース116の中に格納され得る。
【0016】
[020]次に、方法400は、段階420に進むことが可能であり、コンピューティング
デバイス500が、コンテキスト状態に応じて複数の目的を作成することが可能である。例えば、SDSが、「find a place to eat」というクエリに関連するドメインを「食事」と識別することが可能である。このため、ユーザのロケーションに応じて近くのレストランを見つけること、および/または会話に関与するユーザの数に応じて予約を作成することなどの目的が、生成され得る。
【0017】
[021]次に、方法400は、段階425に進むことが可能であり、コンピューティング
デバイス500が、コンテキスト状態に応じて、要求されるアクションを実行することが可能である。例えば、「find a place to eat」というユーザクエリに応答して、トランスレータモジュール114が、ユーザに対して近くのレストランを検索するよう検索エージェント118に命令することが可能である。この検索の結果が、パーソナルアシスタントプログラム112によってユーザデバイス130に送り返されて、例えば、インターフェース200のパーソナルアシスタントパネル220内に表示され得
る。
【0018】
[022]次に、方法400は、段階430に進むことが可能であり、コンピューティング
デバイス500が、コンテキスト状態を更新することが可能である。例えば、複数のアクション示唆240(A)〜(C)を備えた選択肢の現在の選択がそれぞれ、ユーザのコンテキスト状態における或る予測される確率に関連付けられ得る。ユーザの次のアクションが、将来のクエリに適用されるように、これらの予測される確率を調整するのに使用され得る。
【0019】
[023]次に、方法400は、段階435に進むことが可能であり、コンピューティング
デバイス500が、次の要求されるアクションが現在の目的を達成することに関連するかどうかを判定することが可能である。例えば、SDS110が、ユーザのコンテキスト状態を、現在の目的にそれぞれが関連する複数のユーザコンテキスト状態と比較することが可能である。同一のアクション/クエリ要求を発行しているこれまでのユーザらが、類似した次のアクションを行っている可能性があり、さらにこの段階におけるユーザによる異なるアクションが、誤った目的が予測されていることを示すことが可能である。ユーザの次のアクションが予測される目的と合わない場合、方法400は、段階420に戻ることが可能であり、新たな目的セットが生成され得る。
【0020】
[024]ユーザの次のアクションが予測される目的と合う場合、方法400は、段階44
0に進むことが可能であり、コンピューティングデバイス500が、予測される目的が完了したかどうかを判定することが可能である。例えば、SDS110が、食事の予約を確定して、タクシーを手配する要求されるアクションを受け取った場合、食事の計画を立てる目的が完了したと判定され得、さらに方法400は、段階442で終わることが可能である。アクションが、予約を行うべきレストランを選択することを備えるが、時刻が選択されていない場合、予測される目的は、完了していないと判定され得る。
【0021】
[025]段階440で予測される目的が未完了である場合、次に、方法400は、段階4
45に進むことが可能であり、コンピューティングデバイス500が、次の示唆されるアクションを提供することが可能である。例えば、或るレストランが選択されているが、時刻は選択されていない場合、パーソナルアシスタントプログラム112が、ユーザに予約時刻を要求することが可能である。
【0022】
[026]次に、方法400は、段階450に進むことが可能であり、コンピューティング
デバイス500が、ユーザから次のアクションを受け取ることが可能である。例えば、ユーザが、予約時刻として7時00分の選択を入力して、この選択をSDS110に送信することが可能である。次に、方法400は、前述したとおり、段階425に戻り、次の要求されるアクションを実行することが可能である。
【0023】
[027]本発明に合致する或る実施形態が、コンテキストを認識した環境を実現するため
のシステムを備え得る。このシステムは、メモリストレージと、このメモリストレージに結合された処理装置とを備え得る。処理装置は、ユーザから自然言語の語句を受け取り、この自然言語の語句を検索語句に変換し、この検索語句に応じて検索アクションを行うように動作することが可能である。この自然言語の語句は、例えば、複数のテキスト語として、さらに/またはオーディオストリームとして受け取られ得る。この検索語句は、自然言語の語句に含まれない少なくとも1つのコンテキスト上の意味概念を備え得る。処理装置は、検索アクションに応じて複数の検索結果を受け取り、さらにこの複数の検索結果をユーザに提供するようにさらに動作することが可能である。処理装置は、この複数の結果を複数のユーザに提供するようにさらに動作することが可能である。この自然言語の語句は、例えば、複数のユーザの間の会話から導き出され得る。処理装置は、複数のアプリケ
ーションプログラミングインターフェース(API)を解析して、その複数のAPIのそれぞれに関して少なくとも1つの要求されるパラメータを識別するようにさらに動作することが可能である。複数のAPIのそれぞれが、ウェブサイト検索機能に関連付けられることが可能である。自然言語の語句を検索語句に変換するように動作することは、処理装置が、自然言語の語句に関連するコンテキストを識別し、複数のAPIのうちの少なくとも1つが、識別されたコンテキストに関連するかどうかを判定し、さらに、関連する場合、自然言語の語句のうちの少なくとも1つの語を、複数のAPIのうちの少なくとも1つに関連する少なくとも1つの要求されるパラメータに変換するように動作することを備え得る。検索アクションを行うように動作することは、処理装置が、その少なくとも1つの要求されるパラメータで複数のAPIのうちのその少なくとも1つを呼び出すように動作することを備え得る。
【0024】
[028]本発明に合致する別の実施形態が、コンテキストを認知した環境を実現するため
のシステムを備え得る。このシステムは、メモリストレージと、このメモリストレージに結合された処理装置とを備え得る。処理装置は、ユーザから自然言語の語句を受け取り、この自然言語の語句に関連するコンテキスト状態を作成し、この自然言語の語句を実行可能なアクションに変換し、識別されたコンテキストに応じて、この実行可能なアクションに関連するドメインを識別し、さらに識別されたドメイン内でこの実行可能なアクションを行うように動作することが可能である。実行可能なアクションは、例えば、検索アクション、データ作成アクション、データ変更アクション、および通信アクションを備え得る。処理装置は、少なくとも1つの示唆される次のアクションをユーザに提供するようにさらに動作することが可能である。処理装置は、ユーザから第2の自然言語の語句を受け取り、第2の自然言語の語句が少なくとも1つの示唆される次のアクションに関連するかどうかを判定し、さらに関連する場合、その少なくとも1つの示唆される次のアクションを行うようにさらに動作することが可能である。第2の自然言語の語句が少なくとも1つの示唆される次のアクションに関連しないと判定したことに応答して、処理装置は、少なくとも1つの第2の示唆される次のアクションをユーザに提供するように動作することが可能である。処理装置は、第2の自然言語の語句に応じてコンテキスト状態を更新するようにさらに動作することが可能である。
【0025】
[029]本発明に合致するさらに別の実施形態が、コンテキストを認知した環境を実現す
るためのシステムを備え得る。このシステムは、メモリストレージと、このメモリストレージに結合された処理装置とを備え得る。処理装置は、複数の目的を作成し、ユーザに関連するコンテキスト状態を収集し、コンテキスト状態に応じて、複数の目的のうちの少なくとも1つに関連する示唆されるアクションをもたらし、ユーザからアクション要求を受け取り、コンテキスト状態に応じて、要求されるアクションを実行し、さらにこのアクションが複数の目的のうちのその少なくとも1つを達成することに関連するかどうかを判定するように動作することが可能である。このアクションが複数の目的のうちのその少なくとも1つを達成することに関連すると判定したことに応答して、処理装置は、コンテキスト状態を更新し、示唆されるアクションに関連する確率を更新し、さらにコンテキスト状態が複数の目的のうちの完了された目的を備えるかどうかを判定するように動作することが可能である。コンテキスト状態が完了された目的を備えないと判定したことに応答して、処理装置は、少なくとも1つの第2の示唆されるアクションを実現するように動作することが可能である。
【0026】
[030]コンテキスト状態は、例えば、ユーザに関連する役割、少なくとも1つのこれま
でのユーザの目的、少なくとも1つのこれまでのユーザアクション要求、ユーザのロケーション、時刻、日付、ユーザからの第1のアクション要求に関連するカテゴリ、ユーザからの第1のアクション要求に関連するデータタイプ、およびこれまでのユーザアクション要求に関連するデータカテゴリを備え得る。コンテキスト状態が少なくとも1つの予測さ
れる目的を達成することに関連するかどうかを判定するように動作することは、処理装置が、コンテキスト状態を、複数の目的のうちの少なくとも1つにそれぞれが関連する複数のユーザコンテキスト状態と比較するように動作することを備え得る。
【0027】
[031]図5は、コンピューティングデバイス500を含むシステムのブロック図である
。本発明の或る実施形態に合致して、前述したメモリストレージおよび処理装置が、図5のコンピューティングデバイス500などのコンピューティングデバイスにおいて実施され得る。ハードウェア、ソフトウェア、またはファームウェアの任意の適切な組合せが、メモリストレージおよび処理装置を実施するのに使用され得る。例えば、メモリストレージおよび処理装置は、コンピューティングデバイス500で、またはコンピューティングデバイス500と組み合わされた他のコンピューティングデバイス518のうちの任意のコンピューティングデバイス518で実施され得る。前述したシステム、デバイス、およびプロセッサは、例であり、他のシステム、デバイス、およびプロセッサが、本発明の実施形態に合致して、前述したメモリストレージおよび処理装置を備えることが可能である。さらに、コンピューティングデバイス500は、前述したとおり、システム100のための動作環境を備え得る。システム100は、他の環境において動作してもよく、コンピューティングデバイス500に限定されない。
【0028】
[032]図5を参照すると、本発明の或る実施形態に合致するシステムが、コンピューテ
ィングデバイス500のようなコンピューティングデバイスを含み得る。基本的な構成において、コンピューティングデバイス500は、少なくとも1つの処理装置502と、システムメモリ504とを含み得る。コンピューティングデバイスの構成およびタイプに依存して、システムメモリ504は、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、読取り専用メモリ(ROM))、フラッシュメモリ、または任意の組合せを含み得るが、これらに限定されない。システムメモリ504は、オペレーティングシステム505、および1つまたは複数のプログラミングモジュール506を含むことが可能であり、さらにパーソナルアシスタントプログラム112を含み得る。オペレーティングシステム505は、例えば、コンピューティングデバイス400の動作を制御することに適することが可能である。さらに、本発明のいくつかの実施形態は、グラフィックスライブラリ、他のオペレーティングシステム、または他の任意のアプリケーションプログラムと連携して実施されてもよく、いずれの特定のアプリケーションにも、いずれの特定のシステムにも限定されない。この基本的な構成が、図5に破線508内の構成要素で例示される。
【0029】
[033]コンピューティングデバイス500は、さらなる特徴または機能を有することが
可能である。例えば、コンピューティングデバイス500は、例えば、磁気ディスク、光ディスク、またはテープなどのさらなるデータストレージデバイス(リムーバブルおよび/または非リムーバブルの)を含むことも可能である。そのようなさらなるストレージが、図5にリムーバブルストレージ509および非リムーバブルストレージ510で例示される。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実施された揮発性媒体および不揮発性媒体、リムーバブルの媒体および非リムーバブルの媒体を含み得る。システムメモリ504、リムーバブルストレージ509、および非リムーバブルストレージ510はすべて、コンピュータ記憶媒体の例(すなわち、メモリストレージ)である。コンピュータ記憶媒体には、RAM、ROM、電気的に消去可能な読取り専用メモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または情報を格納するのに使用され得るとともに、コンピューティングデバイス500によってアクセスされ得る他の任意の媒体が含まれることが可能であるが、これらに限定されない。任意のその
ようなコンピュータ記憶媒体が、デバイス500の一部であり得る。また、コンピューティングデバイス500は、キーボード、マウス、ペン、サウンド入力デバイス、タッチ入力デバイスなどの入力デバイス512(複数可)を有することも可能である。また、ディスプレイ、スピーカ、プリンタなどの出力デバイス514(複数可)が含められることも可能である。前述したデバイスは、例であり、他のデバイスが使用されてもよい。
【0030】
[034]また、コンピューティングデバイス500は、デバイス500が、分散コンピュ
ーティング環境においてネットワーク、例えば、イントラネットまたはインターネットを介するなどして、他のコンピューティングデバイス518と通信できるようにすることが可能な通信接続部516を含むことも可能である。通信接続部516は、通信媒体の一例である。通信媒体は、典型的には、搬送波などの変調されたデータ信号、または他のトランスポート機構におけるコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって具現化可能であり、さらに任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号内に情報を符号化するように1つまたは複数の特性が設定されている、または変更されている信号を表すことが可能である。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響媒体、無線周波数(RF)媒体、赤外線媒体、または他のワイヤレス媒体などのワイヤレス媒体が含まれ得る。本明細書で使用されるコンピュータ可読媒体という用語には、記憶媒体と通信媒体がともに含まれ得る。
【0031】
[035]前述したとおり、オペレーティングシステム505を含め、いくつかのプログラ
ムモジュールおよびデータファイルが、システムメモリ504の中に格納され得る。処理装置502において実行される間、プログラミングモジュール506(例えば、パーソナルアシスタントプログラム112)は、例えば、前述した方法500の段階のうちの1つまたは複数を含めたプロセスを行うことが可能である。前述したプロセスは、例であり、さらに処理装置502は、他のプロセスを行うことが可能である。本発明の実施形態に従って使用され得る他のプログラミングモジュールには、電子メールアプリケーションおよび電子コンタクトアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、データベースアプリケーション、スライドプレゼンテーションアプリケーション、描画アプリケーションプログラムもしくはコンピュータ支援アプリケーションプログラムなどが含まれ得る。
【0032】
[036]概して、本発明の実施形態に合致して、プログラムモジュールには、特定のタス
クを行うことが可能な、または特定の抽象データ型を実施することが可能なルーチン、プログラム、構成要素、データ構造、および他のタイプの構造が含まれ得る。さらに、本発明の実施形態は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電子機器もしくはプログラマブル家庭用電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成で実施され得る。また、本発明の実施形態は、通信ネットワークを介して結び付けられた複数の遠隔処理デバイスによってタスクが行われる分散コンピューティング環境において実施されることも可能である。分散コンピューティング環境において、プログラムモジュールは、ローカルメモリストレージデバイスと遠隔メモリストレージデバイスの両方の中に配置され得る。
【0033】
[037]さらに、本発明の実施形態は、ディスクリートの電子素子を備えた電子回路、論
理ゲートを含むパッケージ化された、もしくは集積された電子チップ、またはマイクロプロセッサを利用する回路において、あるいは電子素子もしくはマイクプロセッサを含む単一のチップ上で実施され得る。また、本発明の実施形態は、機械技術、光学技術、流体技術、および量子技術を含むが、これらに限定されない、例えば、論理積、論理和、および否定などの論理演算を行うことができる他の技術を使用して実施されることも可能である。さらに、本発明の実施形態は、汎用コンピュータ内で、または他の任意の回路もしくは
システムにおいて実施されてもよい。
【0034】
[038]本発明の実施形態は、例えば、コンピュータプロセス(メソッド)として、コン
ピューティングシステムとして、あるいはコンピュータプログラム製品またはコンピュータ可読媒体などの製造品として実施され得る。コンピュータプログラム製品は、コンピュータシステムによって可読であるとともに、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化したコンピュータ記憶媒体であり得る。また、このコンピュータプログラム製品は、コンピューティングシステムによって可読な、かつコンピュータプロセスを実行するための命令のコンピュータプログラムを符号化した、搬送波において伝搬される信号であることも可能である。したがって、本発明は、ハードウェアで、かつ/またはソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)で実施され得る。つまり、本発明の実施形態は、命令実行システムによって、または命令実行システムに関連して使用されるように、コンピュータによって使用可能な、または可読のプログラムコードが具現化されているコンピュータによって使用可能な、または可読の記憶媒体上のコンピュータプログラム製品の形態をとり得る。コンピュータによって使用可能な、または可読の媒体は、命令実行システム、命令実行装置、もしくは命令実行デバイスによって、または命令実行システム、命令実行装置、もしくは命令実行デバイスに関連して使用されるようにプログラムを含む、格納する、通信する、伝搬する、またはトランスポートすることが可能な任意の媒体であり得る。
【0035】
[039]コンピュータによって使用可能な、または可読の媒体は、例えば、電子、磁気、
光、電磁、赤外線、または半導体のシステム、装置、デバイス、または伝搬媒体であり得るが、これらに限定されない。より特定のコンピュータ可読媒体の例(網羅的でないリスト)として、コンピュータ可読媒体には、以下、すなわち、1つまたは複数の配線を有する電子接続、ポータブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、およびポータブルコンパクトディスク読取り専用メモリ(CD−ROM)が含まれる。コンピュータによって使用可能な、または可読の媒体は、プログラムが、例えば、紙または他の媒体の光学スキャンを介して電子的にキャプチャされ、その後、必要な場合、コンパイルされ、解釈され、またはそれ以外で適切に処理され、さらにその後、コンピュータメモリの中に格納され得るので、プログラムが印刷される紙または別の適切な媒体でさえあり得ることに留意されたい。
【0036】
[040]本発明の実施形態は、例えば、本発明の実施形態による方法、システム、および
コンピュータプログラム製品のブロック図および/または動作上の例示を参照して前段で説明される。それらのブロックに記載される機能/動作は、いずれの流れ図に示される順序も外れて生じる場合がある。例えば、関与する機能/動作に依存して、連続して示される2つのブロックが、実際には、実質的に同時に実行可能であり、またはそれらのブロックが、ときとして、逆の順序で実行可能である。
【0037】
[041]本発明のいくつかの実施形態が説明されてきたが、他の実施形態が存在すること
も可能である。さらに、本発明の実施形態は、メモリおよび他の記憶媒体の中に格納されたデータに関連するものとして説明されてきたものの、データは、ハードディスク、フロッピー(登録商標)ディスク、もしくはCD−ROMのような二次ストレージデバイス、インターネットからの搬送波、または他の形態のRAMもしくはROMなどの、他のタイプのコンピュータ可読媒体上に格納されること、またはそのようなコンピュータ可読媒体から読み取られることも可能である。さらに、開示される方法の段階は、本発明を逸脱することなく、段階を並べ替えることによること、ならびに/または段階を挿入すること、および/もしくは削除することによることを含め、任意の様態で変形され得る。
【0038】
[042]本明細書に含められたコードの著作権を含むすべての権利は、本出願人に帰属し
、本出願人の所有権である。本出願人は、本明細書に含められたコードに対するすべての権利を保有するとともに、留保し、さらに許可された特許の再現に関連してのみ本資料を再現する許可を与え、それ以外の目的では許可を与えない。
【0039】
[043]本明細書は、例を含むが、本発明の範囲は、添付の特許請求の範囲によって示さ
れる。さらに、本明細書は、構造上の特徴、および/または方法上の動作に特有の言語で説明されてきたが、特許請求の範囲は、前述した特徴または動作に限定されない。むしろ、前述した特有の特徴および動作は、本発明の実施形態の例として開示される。
図1
図2
図3
図4
図5