(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6087899
(24)【登録日】2017年2月10日
(45)【発行日】2017年3月1日
(54)【発明の名称】会話ダイアログ学習および会話ダイアログ訂正
(51)【国際特許分類】
G06F 3/16 20060101AFI20170220BHJP
【FI】
G06F3/16 650
【請求項の数】10
【全頁数】16
(21)【出願番号】特願2014-502723(P2014-502723)
(86)(22)【出願日】2012年3月27日
(65)【公表番号】特表2014-515853(P2014-515853A)
(43)【公表日】2014年7月3日
(86)【国際出願番号】US2012030757
(87)【国際公開番号】WO2012135229
(87)【国際公開日】20121004
【審査請求日】2015年3月9日
(31)【優先権主張番号】13/077,233
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(31)【優先権主張番号】13/076,862
(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,431
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(31)【優先権主張番号】13/077,455
(32)【優先日】2011年3月31日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100140109
【弁理士】
【氏名又は名称】小野 新次郎
(74)【代理人】
【識別番号】100075270
【弁理士】
【氏名又は名称】小林 泰
(74)【代理人】
【識別番号】100101373
【弁理士】
【氏名又は名称】竹内 茂雄
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100153028
【弁理士】
【氏名又は名称】上田 忠
(74)【代理人】
【識別番号】100120112
【弁理士】
【氏名又は名称】中西 基晴
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100147991
【弁理士】
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100119781
【弁理士】
【氏名又は名称】中村 彰吾
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(74)【代理人】
【識別番号】100173565
【弁理士】
【氏名又は名称】末松 亮太
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(72)【発明者】
【氏名】ヘック,ラリー・ポール
(72)【発明者】
【氏名】チンサクンタ,マドゥスーダン
(72)【発明者】
【氏名】ミトバイ,デヴィッド
(72)【発明者】
【氏名】スティフェルマン,リサ
【審査官】
遠藤 尊志
(56)【参考文献】
【文献】
特開2002−082748(JP,A)
【文献】
特開2003−115951(JP,A)
【文献】
特開2010−128665(JP,A)
【文献】
特開2002−024285(JP,A)
【文献】
特開2005−043461(JP,A)
【文献】
特開2010−230918(JP,A)
【文献】
特開2010−145262(JP,A)
【文献】
米国特許出願公開第2007/0038436(US,A1)
【文献】
米国特許出願公開第2005/0033582(US,A1)
【文献】
米国特許出願公開第2007/0136222(US,A1)
【文献】
米国特許出願公開第2006/0206336(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/16
G06F 3/048−3/0489
(57)【特許請求の範囲】
【請求項1】
会話学習および会話訂正を実現するための方法であって、
エージェントによる、第1のユーザから自然言語の語句を受け取るステップと、
前記自然言語の語句が向けられた第2のユーザを識別するステップと、
前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態が存在しないときに、前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態を、前記第1のユーザと前記第2のユーザとの関係に基づいて作成するステップであって、前記第1のユーザと前記第2のユーザとの関係は、前記第1のユーザと前記第2のユーザの会話に基づいて識別されたものであるステップと、
前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態に従って前記自然言語の語句をエージェントアクションに変換するステップと、
前記エージェントアクションを前記第1のユーザに表示するステップと、
前記第1のユーザから前記エージェントアクションに対する訂正を受け取るステップと、
前記受け取った訂正に従って前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態を更新するステップと、
を含む、方法。
【請求項2】
前記第1のユーザが前記エージェントアクションを行うことを許可するかどうかを判定するステップと、
前記許可に従って前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態を更新するステップと、
前記第1のユーザが前記エージェントアクションを行うことを許可すると判定したことに応答して、前記エージェントアクションを行うステップと、
をさらに含む請求項1に記載の方法。
【請求項3】
前記第1のユーザから第2の自然言語の語句を受け取るステップと、
前記第2の自然言語の語句が向けられた第3のユーザを識別するステップと、
前記第1のユーザおよび前記第3のユーザに関連する第2のコンテキスト状態が存在しないときに、前記第1のユーザおよび前記第3のユーザに関連する第2のコンテキスト状態を、前記第1のユーザと前記第3のユーザとの関係に基づいて作成するステップであって、前記第1のユーザと前記第3のユーザとの関係は、前記第1のユーザと前記第3のユーザの会話に基づいて識別されたものであるステップと、
前記第1のユーザおよび前記第3のユーザに関連する第2のコンテキスト状態に従って前記第2の自然言語の語句を第2のエージェントアクションに変換するステップと、
をさらに含む請求項1又は2に記載の方法。
【請求項4】
前記第1のユーザから前記第2のエージェントアクションに対する第2の訂正を受け取るステップと、
前記受け取った第2の訂正に従って前記第1のユーザおよび前記第3のユーザに関連する第2のコンテキスト状態を更新するステップと、
をさらに含む請求項3に記載の方法。
【請求項5】
請求項1〜4のいずれか一項に記載の方法を実行するためのプログラム。
【請求項6】
請求項1〜4のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【請求項7】
会話学習および会話訂正を実現するためのシステムであって、
メモリストレージと、
前記メモリストレージに結合された処理装置とを備え、前記処理装置は、
第1のユーザから発話された自然言語の語句を受け取るステップと、
前記発話された自然言語の語句が向けられた第2のユーザを識別するステップと、
前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態が前記メモリストレージの中に存在するかどうかを判定するステップと、
前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態が前記メモリストレージの中に存在しないと判定したことに応答して、前記第1のユーザおよび第2のユーザに関連するコンテキスト状態を、前記第1のユーザと前記第2のユーザとの関係に基づいて作成するステップであって、前記第1のユーザと前記第2のユーザとの関係は、前記第1のユーザと前記第2のユーザの会話に基づいて識別されたものであるステップと、
前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態が前記メモリストレージの中に存在すると判定したことに応答して、前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態をロードすることと、
前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態に従って、前記発話された自然言語の語句をアクションに変換するステップと、
前記アクションを前記第1のユーザに表示するステップと、
前記第1のユーザから前記アクションに対する訂正を受け取るステップと、
前記受け取った訂正に従って前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態を更新するステップと、
を実行する、
システム。
【請求項8】
前記処理装置は、
前記第1のユーザが前記アクションを行うことを許可するかどうかを判定するステップと、
前記許可に従って前記第1のユーザおよび前記第2のユーザに関連するコンテキスト状態を更新するステップと、
前記第1のユーザが前記アクションを行うことを許可すると判定したことに応答して、前記アクションを行うステップと、
をさらに実行する請求項7に記載のシステム。
【請求項9】
前記処理装置は、
前記第1のユーザから第2の自然言語の語句を受け取るステップと、
前記第2の自然言語の語句が向けられた第3のユーザを識別するステップと、
前記第1のユーザおよび前記第3のユーザに関連する第2のコンテキスト状態が存在しないときに、前記第1のユーザおよび前記第3のユーザに関連する第2のコンテキスト状態を、前記第1のユーザと前記第3のユーザとの関係に基づいて作成するステップであって、前記第1のユーザと前記第3のユーザとの関係は、前記第1のユーザと前記第3のユーザの会話に基づいて識別されたものであるステップと、
前記第1のユーザおよび前記第3のユーザに関連する第2のコンテキスト状態に従って前記第2の自然言語の語句を第2のアクションに変換するステップと、
をさらに実行する請求項7又は8に記載のシステム。
【請求項10】
前記処理装置は、
前記第1のユーザから前記第2のアクションに対する第2の訂正を受け取るステップと、
前記受け取った第2の訂正に従って前記第1のユーザおよび前記第3のユーザに関連する第2のコンテキスト状態を更新するステップと、
をさらに実行する請求項9に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
[001]会話ダイアログ学習および会話ダイアログ訂正は、ユーザクエリおよびユーザ会話の自然言語理解を円滑にするための機構を提供することが可能である。会話音声認識アプリケーションおよび会話音声認識技術は、特定のユーザの音声パターン、または或るユーザの他のユーザとの会話の特定の音声パターンを学習するため、および個人用設定するための良好な機構を提供しない。例えば、ユーザ1がユーザ2と音声会話を行う際、或る特定の音声パターンが使用される可能性があり、この特定の音声パターンは、ユーザ1がユーザ3と音声会話を行う際に使用される音声パターンとは異なり得る。さらに、現在の音声認識システムは、ユーザから音声をオンザフライで動的に学習し、さらに様々な人々がどのように互いに会話を行うかについても学習する能力をほとんど有さない。例えば、ユーザが、音声認識システムが、別の語、および/または正しい語の別の意味に関連付ける或る語を話した場合、ユーザは、その話された語のシステムによる解釈を同時に訂正するとともに、システムが、その語が置かれている特定のコンテキストの中でその語を「学習する」ことを可能にする機構を全く有さない。
【0002】
[002]音声/テキスト変換(すなわち、音声認識)は、発話された語句を、コンピューティングシステムによって処理され得るテキストの語句に変換することを含み得る。音響モデリングおよび/または言語モデリングが、最新の統計ベースの音声認識アルゴリズムにおいて使用され得る。隠れマルコフモデル(HMM)が、多くの従来のシステムにおいて広く使用される。HMMは、一連のシンボルまたは量を出力することが可能な統計モデルを備え得る。HMMは、音声信号が区分定常信号または短時間定常信号と見なされ得るため、音声認識において使用され得る。或る短時間(例えば、10ミリ秒)内で、音声は、定常プロセスとして近似され得る。このため、音声は、多くの確率論的な目的でマルコフモデルと考えられ得る。
【発明の概要】
【課題を解決するための手段】
【0003】
[003]この「発明の概要」は、「発明を実施するための形態」においてさらに後述される概念の選定を、簡略化された形態で紹介するように与えられる。この「発明の概要」は、主張される主題の重要な特徴、または不可欠な特徴を特定することは意図していない。また、この「発明の概要」は、主張される主題の範囲を限定するのに使用されることも意図していない。
【0004】
[004]会話ダイアログ学習および会話ダイアログ訂正が、提供され得る。第1のユーザから自然言語の語句を受け取ると、この自然言語の語句に関連する少なくとも1名の第2のユーザが、識別され得る。第1のユーザおよび少なくとも1名の第2のユーザに従ってコンテキスト状態が作成され得る。次に、自然言語の語句が、このコンテキスト状態に従ってエージェントアクション(agent action)に変換され得る。
【0005】
[005]以上の一般的な説明と以下の詳細な説明はともに、例を与えるものであり、例示的であるに過ぎない。したがって、以上の一般的な説明、および以下の詳細な説明は、限定するものと考慮されるべきではない。さらに、本明細書に記載される特徴に加えて、いくつかの特徴または変形形態が与えられ得る。例えば、いくつかの実施形態が、詳細な説明で説明される様々な特徴の組合せおよび部分的組合せを対象とし得る。
【0006】
[006]本開示に組み込まれ、本開示の一部を構成する添付の図面は、本発明の様々な実施形態を例示する。
【図面の簡単な説明】
【0007】
【
図2A】[008]会話学習および会話訂正を実現するためのインターフェースを示すブロック図である。
【
図2B】会話学習および会話訂正を実現するためのインターフェースを示すブロック図である。
【
図2C】会話学習および会話訂正を実現するためのインターフェースを示すブロック図である。
【
図3】[009]会話学習および会話訂正を実現するための方法の流れ図である。
【
図4】[010]コンピューティングデバイスを含むシステムのブロック図である。
【発明を実施するための形態】
【0008】
[011]以下の詳細な説明は、添付の図面を参照する。可能な場合はいつでも、図面および以下の説明において同一の要素、または同様の要素を指すのに同一の参照符号が使用される。本発明のいくつかの実施形態が説明され得るが、変形形態、適合形態、および他の実装形態が可能である。例えば、図面に例示される要素に置換、追加、または変形が行われ得るとともに、本明細書で説明される方法が、開示される方法の段階を置換すること、並べ替えること、または追加することによって変形され得る。したがって、以下の詳細な説明は、本発明を限定しない。代わりに、本発明の適切な範囲は、添付の特許請求の範囲によって規定される。
【0009】
[012]会話学習および会話訂正が、実現され得る。自然言語音声認識システムが、特定のユーザからの、または会話している特定のユーザらの間の音声認識パターンを個人用設定する能力をもたらし得る。また、このシステムは、ユーザとの訂正対話を介して音声パターンを学習することも可能である。その結果、ユーザの音声パターンおよびコンテキストのより個人用設定された理解の下で、このシステムは、音声クエリのより正確な結果を提供すること、およびパーソナルアシスタントシステムにおいて、ユーザらの間、またはユーザとマシンの間の音声会話に応答して、より関係のある情報を提供することができる。
【0010】
[013]
図1は、サーバ105を含む動作環境100のブロック図である。サーバ105は、ダイアログマネージャ111を備えた音声対話システム(SDS)110、パーソナルアシスタントプログラム112、コンテキストデータベース116、および/または検索エージェント118などの様々なコンピューティングリソースおよび/またはソフトウェアモジュールを備え得る。サーバ105は、ネットワーク120を介してユーザからクエリおよび/またはアクション要求を受信することが可能である。そのようなクエリは、例えば、コンピュータおよび/またはセルラ電話機などの第1のユーザデバイス130および/または第2のユーザデバイス135から送信され得る。ネットワーク120は、例えば、プライベートネットワーク、セルラデータネットワーク、および/またはインターネットなどの公共ネットワークを含み得る。
【0011】
[014]
図2Aは、会話学習および会話訂正を実現するためのインターフェース200のブロック図である。インターフェース200は、ユーザ入力パネル210と、パーソナルアシスタントパネル220とを含み得る。ユーザ入力パネル210は、ユーザステートメント230などの変換されたユーザクエリおよび/またはアクション要求を表示することが可能である。ユーザステートメント230は、例えば、ユーザデバイス130のユーザから受け取った音声/テキスト変換からの結果を含み得る。パーソナルアシスタントパネル220は、ユーザおよびユーザステートメント230に関連するコンテキスト状態から導き出された複数のアクション示唆240(A)〜(B)を含み得る。本発明の実施形態に合致して、コンテキスト状態は、ユーザステートメント230が話されるのを聞いた可能性がある、第2のユーザデバイス135のユーザなどの、会話の他の任意の参加者を考慮に入れることが可能である。このため、パーソナルアシスタントプログラム112は、会話の能動的な参加者であることなしに、会話を監視し、さらにアクション示唆240(A)〜(B)を第1のユーザデバイス130および/または第2のユーザデバイス135のユーザに提供することが可能である。
【0012】
[015]
図2Bは、ユーザがユーザステートメント230に更新をもたらした後の更新された表示を含むインターフェース200のさらなる例示である。例えば、第2のユーザデバイス135のユーザからの質問245、および第1のユーザデバイス130のユーザからの応答247が、パーソナルアシスタントプログラム112がコンテキスト状態を更新し、さらに第2の複数のアクション示唆250(A)〜(C)を提供するようにさせることが可能である。例えば、第2の複数のアクション示唆250(A)〜(C)は、ユーザが食べることを所望する可能性がある様々な示唆される料理を含み得る。本発明の実施形態に合致して、エージェントは、そのような更新を、これら2名のユーザ間の会話に関連付けることを学習することが可能であり、さらにそのような更新を、将来の会話において使用するように記憶していることが可能である。
【0013】
[016]
図2Cは、エージェントアクションに対する訂正を含んだインターフェース200の例示である。例えば、「that Italian place on Main(メインにあるそのイタリアンの場所)」という第2のユーザステートメント260が、エージェントによって、メイン通り123番にある「Mario’s(マリオの店)」という名称のレストランを指すように変換され得る。マリオの店と関係するアクションを含んだ第3の複数のアクション示唆265(A)〜(B)が表示され得るが、ユーザは、メイン通り300番にある異なるレストラン、「Luigi’s(ルイジの店)」を意図していた可能性がある。ユーザは、インターフェース200を介して、さらに/または音声コマンドなどの別の入力方法を介して、パーソナルアシスタントプログラム112と対話して、訂正を与えることができる。例えば、ユーザは、それらのアクションのうちの1つを右クリックし、さらにそのアクションを訂正するための表示されたメニューアイテムを選択することができ、またはユーザは、「correction(訂正)」と発言して、訂正ウインドウ270を出現させることができる。次に、ユーザは、メインにあるそのイタリアンの場所がルイジの店を指すことを入力することなどによって、これまでのステートメントのうちのいずれかに関する正しい解釈を与えることができる。
【0014】
[017]
図3は、会話学習および会話訂正の環境を実現するための本発明の或る実施形態に合致する方法200に関与する一般的な段階を説明する流れ図である。方法300は、
図4に関連して後段でより詳細に説明されるコンピューティングデバイス400を使用して実施され得る。方法300の段階を実施する様態は、後段でさらに詳細に説明される。方法300は、開始ブロック305で始まり、さらに段階310に進むことが可能であり、コンピューティングデバイス400が、第1のユーザから発話された自然言語の語句を受け取ることが可能である。例えば、第1のユーザデバイス130の第1のユーザが、「Let’s go out tonight(今夜、出かけよう)」と発言することが可能である。この語句が、第1のユーザデバイス130によってキャプチャされ、さらにパーソナルアシスタントプログラム112と共有され得る。
【0015】
[018]次に、方法300は、段階315に進むことが可能であり、コンピューティングデバイス400が、発話された自然言語の語句が向けられた少なくとも1名の第2のユーザを識別することが可能である。例えば、第1のユーザが、第2のユーザと会話していることが可能である。第1のユーザと第2のユーザはともに、第1のユーザデバイス130によって聞き取られる範囲内にいる可能性があり、かつ/またはセルラ電話機などのそれぞれの第1のユーザデバイス130および第2のユーザデバイス135を介して会話をしていることが可能である。パーソナルアシスタントプログラム112が、その会話を傍聴し、さらに第2のユーザ、およびこのユーザの、第1のユーザに対する関係(例えば、個人的な友人、仕事上の同僚、配偶者など)を識別することが可能である。
【0016】
[019]次に、方法300は、段階320に進むことが可能であり、コンピューティングデバイス400が、第1のユーザおよび第2のユーザに関連するコンテキスト状態が存在するかどうかを判定することが可能である。例えば、サーバ105が、その2名のユーザに関連するコンテキスト状態がコンテキストデータベース116の中に格納されているかどうかを判定することが可能である。そのようなコンテキスト状態は、先立った会合、コミュニケーション、話し方の習慣、および/または選好など、その2名のユーザ間のこれまでのやりとりの詳細を含み得る。
【0017】
[020]コンテキスト状態が存在しない場合、方法300は、段階325に進むことが可能であり、コンピューティングデバイス400が、少なくとも1名の第2のユーザに関連する少なくとも1つの特性に従ってコンテキスト状態を作成することが可能である。例えば、第2のユーザが第1のユーザの上司であるというデータを含んだコンテキスト状態が作成され得る。
【0018】
[021]コンテキスト状態が存在する場合、方法300は、段階315に進むことが可能であり、コンピューティングデバイス400が、コンテキスト状態をロードすることが可能である。例えば、パーソナルアシスタントプログラム112が、コンテキストデータベース116からコンテキスト状態をロードすることが可能である。
【0019】
[022]段階325でコンテキスト状態を作成した後、または段階330でコンテキスト状態をロードした後、方法300は、段階335に進むことが可能であり、コンピューティングデバイス400が、そのコンテキスト状態に従って、発話された自然言語の語句をテキストベースの自然言語の語句に変換することが可能である。例えば、サーバ105が、発話された語句に対して音声/テキスト変換を行い、さらに/または自然言語の語句をコンテキスト依存のシンタックスに変換することが可能である。第1のユーザの語句が、同僚と話している間、「He was a great rain man(彼は、偉大な雨男だった)」を含む場合、クエリサーバは、その意味を、沢山の商取引をもって来る誰かを指しているものとして変換することが可能である。しかし、同一の語句が、ユーザが映画を一緒に観ることを楽しむ友人に対して発言された場合、クエリサーバは、その意味をダスティンホフマンの映画、「Rain Man(レインマン)」を指しているものとして変換することが可能である。
【0020】
[023]次に、方法300は、段階340に進むことが可能であり、コンピューティングデバイス400が、テキストベースの自然言語の語句に関連する少なくとも1つのエージェントアクションを識別することが可能である。このエージェントアクションは、例えば、ハイパーテキストリンク、ビジュアルイメージ、少なくとも1つのさらなるテキスト語、および/または示唆されるアクションをユーザに提供することを含み得る。また、このエージェントアクションは、その語句に関連する何らかのタスクを行う、ネットワークベースのアプリケーションに対する呼出しなどの実行されるアクションを含むことも可能である。第1のユーザが、商取引をもって来る誰かについて職場の同僚に話している場合、当該の「rain man(雨男)」と連絡をとる示唆されるアクションが識別され得る。映画を指している場合、その映画についてのウェブサイトに対するハイパーテキストリンクが、代わりに識別され得る。
【0021】
[024]次に、方法300は、段階345に進むことが可能であり、コンピューティングデバイス400が、テキストベースの自然言語の語句、および少なくとも1つの意味的示唆を第1のユーザに表示することが可能である。例えば、変換された語句が、ユーザ入力パネル210内で表示されることが可能であり、さらに示唆されるアクションおよび/またはハイパーリンクが、パーソナルアシスタントパネル220内で表示されることが可能である。
【0022】
[025]次に、方法300は、段階350に進むことが可能であり、コンピューティングデバイス400が、第1のユーザから訂正を受け取ることが可能である。例えば、ユーザが、会話の1つの語および/または複数の語を選択し、さらに訂正された変換への変更を行うことが可能である。別の例として、ユーザが、ユーザの語句が「the Italian place on Main(メインにあるイタリアンの場所)」であり、さらにパーソナルアシスタントプログラム112が誤ったレストランを識別し、さらにユーザが意図されるレストランを選択した場合などに、少なくとも1つの言葉を訂正することが可能である。
【0023】
[026]次に、方法300は、段階355に進むことが可能であり、コンピューティングデバイス400が、受け取った訂正に従ってコンテキスト状態を更新することが可能である。例えば、ユーザが、「the Italian place on 10
th(10番にあるイタリアンの場所)」でいずれのレストランが意図されるのかを訂正した場合、この訂正が、コンテキスト状態の一部として格納され、さらにユーザが次回にそのような言及を行った場合に思い出されることが可能である。次に、方法300は、段階360で終了することが可能である。
【0024】
[027]本発明に合致する或る実施形態が、コンテキストを認識した環境を実現するためのシステムを含み得る。このシステムは、メモリストレージと、このメモリストレージに結合された処理装置とを備え得る。処理装置は、第1のユーザから自然言語の語句を受け取り、この自然言語の語句に関連する少なくとも1名の第2のユーザを識別し、第1のユーザおよび少なくとも1名の第2のユーザに従ってコンテキスト状態を作成し、このコンテキスト状態に従って自然言語の語句をエージェントアクションに変換し、このエージェントアクションをユーザに表示し、ユーザからこのエージェントアクションに対する訂正を受け取り、さらに受け取った訂正に従ってコンテキスト状態を更新するように動作することが可能である。この訂正は、エージェントの通常の動作中に、さらに/またはエージェントが学習モードで動作している間に受け取られ得る。例えば、ユーザが、航空券を予約することなどの、或る特定のアクションを行う意図を指定にすることによって学習モードを呼び出すことができる。すると、エージェントが、いくつかのユーザ選好(例えば、選好される航空会社、座席のタイプ、移動時間帯)を学習する。自然言語の語句は、テキストの語句として、さらに/または発話された語句として受け取られることが可能である。処理装置は、エージェントアクションを第1のユーザに表示し、第1のユーザがこのエージェントアクションを行うことを許可するかどうかを判定し、さらに、許可する場合、このエージェントアクションを行うようにさらに動作することが可能である。次に、処理装置は、このアクションを行ったことの結果を第1のユーザおよび/または第2のユーザに表示するように動作することが可能である。許可を待つ代わりに、処理装置は、エージェントアクションを自動的に行い、さらにエージェントアクションを行ったことに関連する結果を第1のユーザおよび/または第2のユーザに表示するように動作してもよい。
【0025】
[028]第1のユーザから同一の自然言語の語句を受け取ると、処理装置は、この自然言語の語句に関連する少なくとも1名の第3の(例えば、異なる)ユーザを識別し、第1のユーザおよび少なくとも1名の第3のユーザに従って第2のコンテキスト状態を作成し、さらにこのコンテキスト状態に従って自然言語の語句を第2のエージェントアクションに変換するように動作することが可能である。例えば、第2のユーザが、第1のユーザの仕事上の連絡先を含むことが可能であり、さらに第3のユーザが、第1のユーザの個人的な連絡先を含むことが可能である。
【0026】
[029]本発明に合致する別の実施形態が、コンテキストを認識した環境を実現するためのシステムを含み得る。このシステムは、メモリストレージと、このメモリストレージに結合された処理装置とを備え得る。処理装置は、第1のユーザおよび第2のユーザに関連するコンテキスト状態を確立し、第1のユーザから発話された自然言語の語句を受け取り、この発話された自然言語の語句をテキストベースの自然言語の語句に変換し、このテキストベースの自然言語の語句を第1のユーザに表示し、このテキストベースの自然言語の語句に対する訂正を受け取り、さらに第1のユーザおよび第2のユーザに関連するコンテキスト状態を更新するように動作することが可能である。テキストベースの自然言語の語句は、ハイパーテキストリンク、ビジュアルイメージ、および/または示唆されるアクションなどの少なくとも1つの意味的示唆を含み得る。処理装置は、示唆されるアクションを実行し、さらに示唆されるアクションを実行したことに関連する結果を第1のユーザに表示するように動作することが可能である。訂正は、例えば、意味的示唆に対する訂正、および/または発話された自然言語の語句からテキストベースの自然言語の語句への変換に関連する訂正を含み得る。本発明の実施形態に合致して、訂正は、語句の中の或る言葉の意味を追加すること、および/または変更することを含み得る。例えば、「my band(私のバンド)」を含む語句が、その言葉を、ユーザが演奏するバンドに関連する名前、記述、および/またはウェブページに関連付けるのに使用されることが可能である一方で、「dolphins(ドルフィンズ)」という語句が、プロのチームまたは動物ではなく、ユーザがプレーするチームに関連付けられ得る。処理装置は、特定のユーザらの間の会話に関連するコンテキスト状態を格納し、さらにそれらの状態を、同一のユーザらの間の後の会話に関してロードするように動作することが可能である。
【0027】
[030]本発明と合致するさらに別の実施形態が、コンテキストを認識した環境を実現するためのシステムを含み得る。このシステムは、メモリストレージと、このメモリストレージに結合された処理装置とを備え得る。処理装置は、第1のユーザから発話された自然言語の語句を受け取り、この発話された自然言語の語句が向けられた少なくとも1名の第2のユーザを識別し、さらに第1のユーザおよび第2のユーザに関連するコンテキスト状態がメモリストレージの中に存在するかどうかを判定するように動作することが可能である。存在しない場合、処理装置は、少なくとも1名の第2のユーザに関連する少なくとも1つの特性に従って、コンテキスト状態を作成するように動作することが可能である。存在する場合、処理装置は、そのコンテキスト状態をロードするように動作することが可能である。
【0028】
[031]次に、処理装置は、そのコンテキスト状態に従って発話された自然言語の語句をテキストベースの自然言語の語句に変換し、このテキストベースの自然言語の語句に関連する少なくとも1つのエージェントアクションを識別し、さらにこのテキストベースの自然言語の語句、および少なくとも1つの意味的示唆を第1のユーザに表示するように動作することが可能である。このエージェントアクションは、例えば、ハイパーテキストリンク、ビジュアルイメージ、少なくとも1つのさらなるテキスト語、および示唆されるアクションを含み得る。処理装置は、第1のユーザから訂正を受け取り、さらに受け取った訂正に従ってコンテキスト状態を更新するように動作することが可能である。
【0029】
[032]
図4は、コンピューティングデバイス400を含むシステムのブロック図である。本発明の或る実施形態に合致して、前述したメモリストレージおよび処理装置は、
図4のコンピューティングデバイス400のようなコンピューティングデバイス内で実施され得る。ハードウェア、ソフトウェア、またはファームウェアの任意の適切な組合せが、メモリストレージおよび処理装置を実施するのに使用され得る。例えば、メモリストレージおよび処理装置は、コンピューティングデバイス400内に、またはコンピューティングデバイス400と組み合わされた他のいくつかのコンピューティングデバイス418において実施され得る。前述したシステム、デバイス、およびプロセッサは、例であり、さらに他のシステム、デバイス、およびプロセッサが、本発明の実施形態に合致して、前述したメモリストレージおよび処理装置を備え得る。さらに、コンピューティングデバイス400は、前述した動作環境100を含み得る。動作環境100は、他の構成要素を備えることが可能であり、コンピューティングデバイス400に限定されない。
【0030】
[033]
図4を参照すると、本発明の或る実施形態に合致するシステムが、コンピューティングデバイス400のようなコンピューティングデバイスを含み得る。或る基本的な構成において、コンピューティングデバイス400は、少なくとも1つの処理装置402と、システムメモリ404とを含み得る。コンピューティングデバイスの構成およびタイプに依存して、システムメモリ404は、揮発性メモリ(例えば、ランダムアクセスメモリ(RAM))、不揮発性メモリ(例えば、読取り専用メモリ(ROM))、フラッシュメモリ、または任意の組合せを含み得るが、これらに限定されない。システムメモリ404は、オペレーティングシステム405、および1つまたは複数のプログラミングモジュール406を含むことが可能であり、さらに証明書管理モジュール407を含み得る。オペレーティングシステム405は、例えば、コンピューティングデバイス400の動作を制御することに適することが可能である。さらに、本発明のいくつかの実施形態は、グラフィックスライブラリ、他のオペレーティングシステム、または他の任意のアプリケーションプログラムと連携して実施されてもよく、いずれの特定のアプリケーションにも、いずれの特定のシステムにも限定されない。この基本的な構成が、
図4に破線408内の構成要素で例示される。
【0031】
[034]コンピューティングデバイス400は、さらなる特徴または機能を有することが可能である。例えば、コンピューティングデバイス400は、例えば、磁気ディスク、光ディスク、またはテープなどのさらなるデータストレージデバイス(リムーバブルおよび/または非リムーバブルの)を含むことも可能である。そのようなさらなるストレージが、
図4にリムーバブルストレージ409および非リムーバブルストレージ410で例示される。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するために任意の方法または技術で実施された揮発性媒体および不揮発性媒体、リムーバブルの媒体および非リムーバブルの媒体を含み得る。システムメモリ404、リムーバブルストレージ409、および非リムーバブルストレージ410はすべて、コンピュータ記憶媒体の例(すなわち、メモリストレージ)である。コンピュータ記憶媒体には、RAM、ROM、電気的に消去可能な読取り専用メモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または情報を格納するのに使用され得るとともに、コンピューティングデバイス400によってアクセスされ得る他の任意の媒体が含まれることが可能であるが、これらに限定されない。任意のそのようなコンピュータ記憶媒体が、デバイス400の一部であり得る。また、コンピューティングデバイス400は、キーボード、マウス、ペン、サウンド入力デバイス、タッチ入力デバイスなどの入力デバイス412(複数可)を有することも可能である。また、ディスプレイ、スピーカ、プリンタなどの出力デバイス414(複数可)が含められることも可能である。前述したデバイスは、例であり、他のデバイスが使用されてもよい。
【0032】
[035]また、コンピューティングデバイス400は、デバイ400が、分散コンピューティング環境においてネットワーク、例えば、イントラネットまたはインターネットを介するなどして、他のコンピューティングデバイス418と通信できるようにすることが可能な通信接続部416を含むことも可能である。通信接続部416は、通信媒体の一例である。通信媒体は、典型的には、搬送波などの変調されたデータ信号、または他のトランスポート機構におけるコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータによって具現化可能であり、さらに任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号内に情報を符号化するように1つまたは複数の特性が設定されている、または変更されている信号を表すことが可能である。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響媒体、無線周波数(RF)媒体、赤外線媒体、または他のワイヤレス媒体などのワイヤレス媒体が含まれ得る。本明細書で使用されるコンピュータ可読媒体という用語には、記憶媒体と通信媒体がともに含まれ得る。
【0033】
[036]前述したとおり、オペレーティングシステム405を含め、いくつかのプログラムモジュールおよびデータファイルが、システムメモリ404の中に格納され得る。処理装置402において実行される間、プログラミングモジュール406(例えば、パーソナルアシスタントプログラム112)は、例えば、前述した方法300の段階のうちの1つまたは複数を含めたプロセスを行うことが可能である。前述したプロセスは、例であり、さらに処理装置402は、他のプロセスを行うことが可能である。本発明の実施形態に従って使用され得る他のプログラミングモジュールには、電子メールアプリケーションおよび電子コンタクトアプリケーション、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、データベースアプリケーション、スライドプレゼンテーションアプリケーション、描画アプリケーションプログラムもしくはコンピュータ支援アプリケーションプログラムなどが含まれ得る。
【0034】
[037]概して、本発明の実施形態に合致して、プログラムモジュールには、特定のタスクを行うことが可能な、または特定の抽象データ型を実施することが可能なルーチン、プログラム、構成要素、データ構造、および他のタイプの構造が含まれ得る。さらに、本発明の実施形態は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電子機器もしくはプログラマブル家庭用電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成で実施され得る。また、本発明の実施形態は、通信ネットワークを介して結び付けられた複数の遠隔処理デバイスによってタスクが行われる分散コンピューティング環境において実施されることも可能である。分散コンピューティング環境において、プログラムモジュールは、ローカルメモリストレージデバイスと遠隔メモリストレージデバイスの両方の中に配置され得る。
【0035】
[038]さらに、本発明の実施形態は、ディスクリートの電子素子を備えた電気回路、論理ゲートを含むパッケージ化された、もしくは集積された電子チップ、またはマイクロプロセッサを利用する回路において、あるいは電子素子もしくはマイクプロセッサを含む単一のチップ上で実施され得る。また、本発明の実施形態は、機械技術、光学技術、流体技術、および量子技術を含むが、これらに限定されない、例えば、論理積、論理和、および否定などの論理演算を行うことができる他の技術を使用して実施されることも可能である。さらに、本発明の実施形態は、汎用コンピュータ内で、または他の任意の回路もしくはシステムにおいて実施されてもよい。
【0036】
[039]本発明の実施形態は、例えば、コンピュータプロセス(メソッド)として、コンピューティングシステムとして、あるいはコンピュータプログラム製品またはコンピュータ可読媒体などの製造品として実施され得る。コンピュータプログラム製品は、コンピュータシステムによって可読であるとともに、コンピュータプロセスを実行するための命令のコンピュータプログラムを符号化したコンピュータ記憶媒体であり得る。また、このコンピュータプログラム製品は、コンピューティングシステムによって可読な、かつコンピュータプロセスを実行するための命令のコンピュータプログラムを符号化した、搬送波において伝搬される信号であることも可能である。したがって、本発明は、ハードウェアで、かつ/またはソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)で実施され得る。つまり、本発明の実施形態は、命令実行システムによって、または命令実行システムに関連して使用されるように、コンピュータによって使用可能な、または可読のプログラムコードが具現化されているコンピュータによって使用可能な、または可読の記憶媒体上のコンピュータプログラム製品の形態をとり得る。コンピュータによって使用可能な、または可読の媒体は、命令実行システム、命令実行装置、もしくは命令実行デバイスによって、または命令実行システム、命令実行装置、もしくは命令実行デバイスに関連して使用されるようにプログラムを含む、格納する、通信する、伝搬する、またはトランスポートすることが可能な任意の媒体であり得る。
【0037】
[040]コンピュータによって使用可能な、または可読の媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、または伝搬媒体であり得るが、これらに限定されない。より特定のコンピュータ可読媒体の例(網羅的でないリスト)として、コンピュータ可読媒体には、以下、すなわち、1つまたは複数の配線を有する電気接続、ポータブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、およびポータブルコンパクトディスク読取り専用メモリ(CD−ROM)が含まれる。コンピュータによって使用可能な、または可読の媒体は、プログラムが、例えば、紙または他の媒体の光学スキャンを介して電子的にキャプチャされ、その後、必要な場合、コンパイルされ、解釈され、またはそれ以外で適切に処理され、さらにその後、コンピュータメモリの中に格納され得るので、プログラムが印刷される紙または別の適切な媒体でさえあり得ることに留意されたい。
【0038】
[041]本発明の実施形態は、例えば、本発明の実施形態による方法、システム、およびコンピュータプログラム製品のブロック図および/または動作上の例示を参照して前段で説明される。それらのブロックに記載される機能/動作は、いずれの流れ図に示される順序も外れて生じる場合がある。例えば、関与する機能/動作に依存して、連続して示される2つのブロックが、実際には、実質的に同時に実行可能であり、またはそれらのブロックが、ときとして、逆の順序で実行可能である。
【0039】
[042]本発明のいくつかの実施形態が説明されてきたが、他の実施形態が存在することも可能である。さらに、本発明の実施形態は、メモリおよび他の記憶媒体の中に格納されたデータに関連するものとして説明されてきたものの、データは、ハードディスク、フロッピー(登録商標)ディスク、もしくはCD−ROMのような二次ストレージデバイス、インターネットからの搬送波、または他の形態のRAMもしくはROMなどの、他のタイプのコンピュータ可読媒体上に格納されること、またはそのようなコンピュータ可読媒体から読み取られることも可能である。さらに、開示される方法の段階は、本発明を逸脱することなく、段階を並べ替えることによること、ならびに/または段階を挿入すること、および/もしくは削除することによることを含め、任意の様態で変形され得る。
【0040】
[043]本明細書に含められたコードの著作権を含むすべての権利は、本出願人に帰属し、本出願人の所有権である。本出願人は、本明細書に含められたコードに対するすべての権利を保有するとともに、留保し、さらに許可された特許の再現に関連してのみ本資料を再現する許可を与え、それ以外の目的では許可を与えない。
【0041】
[044]本明細書は、例を含むが、本発明の範囲は、添付の特許請求の範囲によって示される。さらに、本明細書は、構造上の特徴、および/または方法上の動作に特有の言語で説明されてきたが、特許請求の範囲は、前述した特徴または動作に限定されない。むしろ、前述した特有の特徴および動作は、本発明の実施形態の例として開示される。