(57)【要約】チャッタボットといったインタラクションシミュレータは、ユーザの意識性をシミュレートでき、従来のチャッタボットよりも自然で適切なインタラクションを生成する。例えば、デバイスはマシンビジョンを使用して視野にいる人間の数やユーザの活動を検出し、出力を挟み込むか又はユーザが近づいたときに会話を始めるか他のインタラクションを行うことによって、適宜応答する。デバイスは、ユーザの活動に応じて応答を変更する。例えば、ユーザが寝てしまったときに音楽を流したり、別のユーザが話し始めたときに、自己紹介をお願いしたりする。デバイスは更に、認識していない環境における変化に対しても、何が起きているのか質問することにより、インタラクションをシミュレートする又は新しい応答を生成することができる。
2004527809.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとの会話のやり取りをシミュレートする会話シミュレータであって、
第１のユーザ入力、第２のユーザ入力、及び、第３のユーザ入力を受信するようプログラムされるコントローラを含み、
上記第１のユーザ入力、上記第２のユーザ入力、及び、上記第３のユーザ入力は、上記コントローラからの少なくとも１つの返答によって逐次的に分けられ、
上記第１のユーザ入力、上記第２のユーザ入力、及び、上記第３のユーザ入力は、質問又はコマンドとは区別される自然言語の発言を含み、
上記会話シミュレータは更に、
上記コントローラに接続され、上記対応する返答を出力する出力デバイスと、
上記コントローラに、上記第１のユーザ入力、上記第２のユーザ入力、及び、上記第３のユーザ入力を供給するよう接続される第１の入力デバイスと、
上記ユーザの環境を指示する環境データを受信する少なくとも１つの第２の入力デバイスとを含み、
上記コントローラは、上記環境データに反応して、上記ユーザの上記環境を分類し、クラスデータを生成するようプログラムされ、
上記コントローラは、上記第１のユーザ入力、上記第２のユーザ入力、及び、上記第３のユーザ入力のうちの対応する１つのユーザ入力と、上記クラスデータとに反応して、上記少なくとも１つの返答を生成するようプログラムされるデバイス。
【請求項２】
上記環境データは、画像及びオーディオデータのうち少なくとも１つを含む請求項１記載のデバイス。
【請求項３】
上記クラスデータは、上記ユーザの物理位置を示すインジケータを含む請求項１記載のデバイス。
【請求項４】
上記クラスデータは、上記ユーザの体の位置を示すインジケータを含む請求項１記載のデバイス。
【請求項５】
上記クラスデータは、上記ユーザ以外の人の存在を示すデータを含む請求項１記載のデバイス。
【請求項６】
上記クラスデータは、上記ユーザの活動を示すデータを含む請求項１記載のデバイス。
【請求項７】
上記第２の入力デバイスは、ビデオカメラ及びオーディオ検出器のうち少なくとも１つを含む請求項１記載のデバイス。
【請求項８】
会話シミュレータにおけるダイアログ応答を生成する方法であって、
ユーザから自然言語の発言を受信する段階と、
上記ユーザの環境の状態を決定する段階と、
上記決定段階の結果及び上記発言の内容に反応して、上記発言に対し応答を生成する段階とを含む方法。
【請求項９】
上記受信段階は、オーディオトランスデューサを介しスピーチを入力する段階を含む請求項８記載の方法。
【請求項１０】
上記決定段階は、カメラからの画像データを分類する段階を含む請求項８記載の方法。
【請求項１１】
上記決定段階は、カメラからの画像データを分類する段階と、オーディオトランスデューサからのオーディオデータを分類する段階とを含む請求項８記載の方法。
【請求項１２】
上記決定段階は、
カメラからの画像データを分類する段階と、
オーディオトランスデューサからのオーディオデータを分類する段階と、
上記第１の分類段階の結果及び上記第２の分類段階の結果を組合わせ、上記状態を決定する段階とを含む請求項８記載の方法。
【請求項１３】
上記受信段階は、オーディオトランスデューサを介しスピーチを入力する段階を含む請求項１２記載の方法。
【請求項１４】
上記決定段階は、画像及びオーディオデータのうち少なくとも１つを分類する段階を含む請求項１２記載の方法。
【請求項１５】
上記決定段階は、入力データを分類する段階と、
上記入力データに反応して、上記ユーザの物理位置を決定する段階とを含む請求項１２記載の方法。
【請求項１６】
上記決定段階は、入力データを分類する段階と、
上記入力データに反応して、上記ユーザの活動を決定する段階とを含む請求項１２記載の方法。
【請求項１７】
会話シミュレータにおけるダイアログ応答を生成する方法であって、
ユーザから入力を受信する段階と、
上記ユーザの環境の状態を決定する段階と、
上記決定段階の結果及び上記入力の内容に反応して、上記発言に対する条件付き応答を生成する段階とを含み、
上記条件付き応答の条件は、上記決定段階の上記結果である方法。
【請求項１８】
上記決定段階は、画像及びオーディオデータのうち少なくとも１つを分類する段階を含む請求項１７記載の方法。
【請求項１９】
上記決定段階は、入力データを分類する段階と、上記入力データに反応して、上記ユーザの物理位置を決定する段階とを含む請求項１７記載の方法。
【請求項２０】
上記決定段階は、入力データを分類する段階と、上記入力データに反応して、上記ユーザの活動を決定する段階とを含む請求項１７記載の方法。
【発明の詳細な説明】
【０００１】
［発明の背景］
１．発明の属する技術分野
本発明は、例えば、光の点滅、合成音声、コンピュータにより生成されるアニメーション、音等といった様々な出力モダリティによってユーザとの個人的インタラクションをシミュレートし、話相手に関心を向けているような雰囲気、会話する能力、ある性格等を持った人間の存在の印象を作成する装置に関する。
２．発明の背景
技術が高度化するに連れて、多くのアプリケーションに関連付けられる様々な特徴及びオプションは複雑になってきている。この現象は、例えば、衛星放送及びケーブルＴＶにおいて言えることであり、幾つかのケースにおいてその番組の選択数は手に負えないほどの膨大な数となっている。セルラ式電話機、パーソナルコンピュータの応用製品、電子商取引システム等においても多くの例が挙げられる。このような環境において、機械が、膨大な数のオプションのうちから選択を行うよう一部のルーチン作業を行うことが有用である。しかし、多くの場合において、このような解決策は、その解決策が対処すべき問題より簡単なわけではない。例えば、各ユーザに対しカスタムテンプレートを使用して多数の選択を選別するユーザインタフェースは、ユーザの嗜好に合わせて訓練されなければならない。例えば、ユーザは、自分の好きなもの及び嫌いなものをアクティブに分類することによって自分の嗜好を入力することができる（「カスタマイゼーション」）。このことは、コンピュータ処理が長い時間に亘ってユーザの行った選択を「観察」することによってパッシブに行われることも可能である（「パーソナライゼーション」）。このようなシステムは、Ｇｅｍｓｔａｒ及びＰｈｉｌｉｐｓ Ｅｌｅｃｔｒｏｎｉｃｓに譲渡された様々な特許出願に記載される。例えば、「Ｓｙｓｔｅｍ Ａｎｄ Ｍｅｔｈｏｄ Ｆｏｒ Ａｕｔｏｍａｔｉｃａｌｌｙ Ｒｅｃｏｒｄｉｎｇ Ｔｅｌｅｖｉｓｉｏｎ Ｐｒｏｇｒａｍｓ Ｉｎ Ｔｅｌｅｖｉｓｉｏｎ Ｓｙｓｔｅｍｓ Ｗｉｔｈ Ｔｕｎｅｒｓ Ｅｘｔｅｒｎａｌ Ｔｏ Ｖｉｄｅｏ Ｒｅｃｏｒｄｅｒ」なる名称の米国特許第５，５１５，１７３号、「Ａｐｐａｒａｔｕｓ Ａｎｄ Ｍｅｔｈｏｄ Ｆｏｒ Ｃｈａｎｎｅｌ Ｓｃａｎｎｉｎｇ Ｂｙ Ｔｈｅｍｅ」なる名称の米国特許第５，６７３，０８９号、「Ａｐｐａｒａｔｕｓ Ａｎｄ Ｍｅｔｈｏｄ Ｆｏｒ Ｉｍｐｒｏｖｅｄ Ｐａｒｅｎｔａｌ Ｃｏｎｔｒｏｌ Ｏｆ Ｔｅｌｅｖｉｓｉｏｎ Ｕｓｅ」なる名称の米国特許第５，９４９，４７１号が挙げられる。他の例も米国特許第５，２２３，９２４号に示される。
【０００２】
直接的に又は間接的に嗜好を特定化することを可能にするユーザインタフェースは一般的に、十分に洗練されており、楽しく且つ直観的である。そのようなシステムはますます「スマート」システムとなるべく進化しており、制御パネルというよりも、あたかも人間のヘルパーのようになることを目指している。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＯｆｆｉｃｅ（登録商標）といった複雑なソフトウェアアプリケーションのヘルプダイアログは、自然言語の文を受入れ、アニメ化されるチャラクタと略同時にテキスト応答を与える。自然言語の質問を受入れるインタフェースの別の例としては、ＡｓｋＪｅｅｖｅｓ（登録商標）があり、これは、インターネットの検索エンジンである。
【０００３】
ユーザインタフェースは、一連のステップが行われ、最後のステップが所望の結果をもたらす機能指向システムから、ユーザが関心の対象を操作し、結果に関するフィードバックを直ぐに供給することを可能にするオブジェクト指向インタフェースへと目まぐるしく進化している。このような考え方の究極の具体例は、仮想現実環境といったコマンドを使わないノンコマンド式インタフェースであって、ユーザは、ある結果を達成するために規定の一連のステップを行うのではなく、制御を操作し、エフェクトを経験することができるようになる。エージェントは、ノンコマンド式インタフェースのもう１つのタイプである。一部の研究の最終目標は、ユーザのニーズ及びライフスタイルの全てを把握していて、いつでもユーザが必要な情報を正確に引出しすることができる高度なインテリジェント・エージェントを提供することである。しかし、このようなノンコマンド式インタフェースの実用的な実施例は、まだ、実際の製品として導入するに到っていない。問題の１つとしては、要求されるソフトウェア技術は、非常に高度で、大量のプログラミング及び／又は訓練を必要とする。現時点では、コンピュータは依然として、何をすべきかを「教えられなければ」ならず、真に使いやすく、「スマート」な印象を与えるインタフェースの夢は、ほとんどのアプリケーションでは、実現にはまだ程遠い。
【０００４】
実際にはスマートではないが、スマートに「見える」コンピュータは、しばらく前から登場している。１９６０年代中頃から、ＭＩＴのコンピュータ科学者であったジョセフ・ワイゼンバウム（Ｊｏｓｅｐｈ Ｗｅｉｚｅｎｂａｕｍ）によって非常に異なった分野のコンピュータソフトウェア開発が始まった。ワイゼンバウムは、どれだけスマートに見えるか以外には有用性のない単純なプログラムを作った。このプログラムは、ユーザに働きかけて話を続けることを促すことによって、ロジャー派の精神分析医の役割を模倣するものであった。このプログラムは、ＥＬＩＺＡと呼ばれる。多くのユーザは、ＥＬＩＺＡは非常に説得力があると思った。ワイゼンバウムの秘書でさえも、プログラムと一緒にほっておかれることを希望した。しかし、ＥＬＩＺＡの会話は、ロジャー派の精神分析医の非常に受身的な会話方式を受入れることができるのであれば、有効である。即ち、その会話方式では、「セラピスト」は、「患者」が言ったことの一部を繰り返すことによって応答するか、又は、「患者」が言ったことをもっと詳しく説明するよう「患者」に促す。ＥＬＩＺＡがあたかも説得力があるかのように見えるのは、ＥＬＩＺＡは、上述したような会話方式を機械的に行わないからである。例えば、ユーザが、ユーザの母親のことに触れると、ＥＬＩＺＡは、「自分」にもっとユーザの家族について話すよう頼む。
【０００５】
以下にＥＬＩＺＡによって再現される会話のサンプルを示す。
【０００６】
ユーザ：男はみんな同じよ。
【０００７】
ＥＬＩＺＡ：どんな感じに？
ユーザ：いつも何かにつけていらいらさせられるの。
【０００８】
ＥＬＩＺＡ：例えば？
ユーザ：まず、私の彼がここに来させたの。
【０００９】
ＥＬＩＺＡ：彼があなたをここに来させたのね。
【００１０】
ユーザ：彼は、いつも私は元気がないって言うの。
【００１１】
ＥＬＩＺＡ：それは残念ね。
【００１２】
ユーザ：本当よ。わたし、あまり楽しくないの。
【００１３】
ＥＬＩＺＡ：ここに来ることで、楽しくなれそう？
ユーザ：助けがいるんだわ。それは確かよ。
【００１４】
ＥＬＩＺＡ：助けが得られたらどうなるのかしら？
ユーザ：お母さんと仲良くなれるかも。
【００１５】
ＥＬＩＺＡ：あなたの家族のことについてもっと教えて。
【００１６】
ユーザ：お母さんは私の面倒を見てくれているの。
【００１７】
ＥＬＩＺＡ：他には誰が面倒をみてくれているの？
ユーザ：お父さん。
【００１８】
ＥＬＩＺＡ：お父さんね。
【００１９】
ユーザ：あなたは、どこか私のお父さんに似ているわ。
【００２０】
ＥＬＩＺＡ：どこが似ているのかしら？
今までのいわゆる会話シミュレータのほとんどは、真の理解をすることなくテンプレートマッチング（規則）に基づいて深みのない答えを生成する基本方法を使用している。例えば、テンプレート「Ｉ ｗｉｓｈ Ｉ ｗｅｒｅ ＜ｘ＞ （私は＜ｘ＞であったならばなあ）」（ここでは、＜ｘ＞は任意の一連の単語を表す）は、ユーザの発言「Ｉ ｗｉｓｈ Ｉ ｗｅｒｅ ｔａｌｌｅｒ （私は背が高かったならばなあ）」にマッチングする。このテンプレートは機械応答「Ｗｈｙ ｄｏ ｙｏｕ ｗｉｓｈ ｙｏｕ ｗｅｒｅ ＜ｘ＞ ？（なぜ＜ｘ＞であったならばと思うの？）」に関連付けられる。機械は、上記の発言に対し「Ｗｈｙ ｄｏ ｙｏｕ ｗｉｓｈ ｙｏｕ ｗｅｒｅ ｔａｌｌｅｒ？（なぜ背が高かったならばと思うの？）」と答える。１つの会話シミュレータと別のシミュレータとを区別するものは、その精錬度でも複雑さでもなく、応答のデータベースのサイズ及び可変性である。より高度な変形は、テンプレート及び応答のより大きなデータベースを有し、このデータベースには気まぐれな応答が含まれるので、ＥＬＩＺＡの受身的且つ単調な応答よりも、会話シミュレータは面白いものとなる。
【００２１】
一部の会話シミュレータは、一般的な会話のシミュレーションではなく、特定のトピックに関する情報を与える。例えば、会話シミュレータは、特定のトピックに関し情報を供給するよう使用されてきた。基本的に、応答のライブラリは、幾つかの題材についての質問を予想して、「予め用意された」応答を供給する。一部の会話シミュレータは、あたかも関連する人生があったかのようにプログラムされる。これらの会話シミュレータは、会話を続けるためのマッチングするテンプレートがなかった場合、自分の人生について語る。
【００２２】
一般的な会話シミュレータは、２つの部分、即ち、ユーザインタフェースシェル及びデータベースを有するものとして説明される。ユーザインタフェースは、使用される性格又は情報データベースに関係なく本質的に一定に維持されるコンピュータプログラムである。データベースによって、会話シミュレータに性格、知識等が与えられる。データベースは、特定の答えと、あるトピックに対する質問についての情報とを含む。データベースは、質問テンプレートにリンクされる所定の答えを有する。会話シミュレータの現実味は、データベースの作成者が、人々がきく可能性のある質問と、同じ答えを持つ質問のクラスに共通するパターンをどれだけ予測できるかに依存する。ユーザインタフェースは、ユーザからの質問を受取り、テンプレートを検索し、質問に対応する最も適切な１つの答え（又は複数の答え）を戻す。この技術では、オーサが標準のデータベースを作成する必要があり、ユーザインタフェースは自然言語に関する初期知識はなく、また、システムは自分自身で学習することができない。システムは完全無欠ではないので、うまく適合するものが見つからない場合、訳のわからない文章を与えるか又は単に処理を放棄する。しかしこれは許容範囲である。原則的に、完全なデータベースとは、どの想定可能な状況に対しても作用するわけだが、質問の８０パーセントが適切に処理されるのであれば、これは十分に人々の関心を引き寄せつづけることができると思われる。
【００２３】
会話可能な機械を製造する他のアプローチは、より洗練された「スマート」な技術を使用するが、上述したように、これらの技術は、会話シミュレータの基礎として使用するにはあまりにも複雑で及び／又は訓練を必要とする。メガハル（Ｍｅｇａ  Ｈａｌ）といった試みは、実際には無意味な印象を与える。しかしながら、スマート技術は有益性がある。「コンピュータ言語学」と呼ばれる研究の分野は人工知能の分野の１つであり、言語のアルゴリズム的記述又は文法を開発しようとする。この技術は、文を構文解釈するのに使用でき、その文における最も重要な単語を識別したり、直接目的語及び動詞等を識別したりすることができる。実際に、研究はこれよりも進んでいる。コンピュータ言語学者は、コンピュータが実際に人が話していることを理解するのに必要な技術に非常に関心を持っている。即ち、語彙意味論及び合成的意味論である。これは、スピーチ（書かれたもの又は発声されたもの）から、独立して単語の意味を決定し、また、狭い及び広いコンテキストにおけるその単語の使用に関する。しかし、単語の曖昧な意味を区別するようコンピュータをプログラムすることは、コンピュータが少なくとも口頭で適切に続けて応答するのには到っていない。
【００２４】
会話シミュレータにうまく使用されている技術は一般的に、ユーザの入力をテンプレートのデータベースにマッチングすることによって動作する。会話シミュレータは、ユーザの発言に「もっともよく」マッチングする所定のテンプレートを選択し、そのテンプレートに関連付けられる１つの応答を生成する。このメカニズムをより詳細に説明するために、特定の例を使用する。この目的のために、カーネギー・メロン（Ｃａｒｎｅｇｉｅ Ｍｅｌｌｏｎ）大学のデュアン・フィールズ（Ｄｕａｎｅ Ｆｉｅｌｄｓ）によって作成されたプログラムであるスプロッチ（Ｓｐｌｏｔｃｈ）を使用する。そのソースコードは、ＣＭＵのウェブサイトから公に入手可能である。「スプロッチ」は「Ｓｐｏｔ」の変形であり、そのように名前が付けられているのには、スプロッチははっきりとしない点であり、ペットのような感じがするからである。
【００２５】
スプロッチは他のプログラムと同様に、テンプレートマッチングで動作する。ユーザの入力は、テンプレートのデータベースと比較される。マッチングするテンプレートのうち、最も高いランクを有するテンプレートが選択され、そのテンプレートの関連付けられる１つの応答が、出力として選択される。テンプレートは１つの単語、単語の組合せ、又は、句であってもよい。
【００２６】
１つのテンプレートには、代替となる単語又は句を含むことができる。例えば、「ｍｏｎｅｙ」テンプレートは、単語「ｃａｓｈ」ともマッチングする。代替の単語又は句を特定するもう１つの方法がある。即ち、同意語辞書である。ユーザの入力が、スプロッチのテンプレートにマッチングされる前に、入力における単語及び句は基準的なフォームに変換される。これは、入力における単語及び句を、同意語辞書の単語及び句と比較し、全ての変形に対し好適な形式に置換することによって行われる。このような変形の多くは、ミススペリングを含む代替となるスペリングである。例えば、「ｋｏｏｌ」は「ｃｏｏｌ」に変換され、「ｇｏｔｔａ」は「ｇｏｔ ｔｏ」に変換される。これによって、１つのテンプレートで、多くの代替ではあるが等価の単語又は句にマッチングすることができ、各テンプレートに対しこれらの代替の単語又は句を特定する必要がなくなる。
【００２７】
テンプレートの単語又は句は、必要な包含又は除外のためにマークが付けられることが可能である。例えば、ある単語又は句が除外されると、この単語又は句がある場合はこの特定のテンプレートはマッチングされない。例えば、スプロッチが「ｂｕｓｉｎｅｓｓ」テンプレートにマッチングしなくなるのは、「ｎｏｎ ｏｆ ｙｏｕｒ」という句の前に「！」が付けられ除外であるとされるとき、例えば、「ｂｕｓｉｎｅｓｓ ： ！ ｎｏｎｅ ｏｆ ｙｏｕｒ」のようなときである。一方、単語又は句が必要な包含とマークされると、その特定の単語又は句がない場合、マッチングされない。例えば、「ｇｅｎｄｅｒ：ｓｅｘ：＆ｗｈａｔ」テンプレートがうまくマッチングするのは、ユーザの入力に「ｇｅｎｄｅｒ」又は「ｓｅｘ」のいずれかを含むときであるが、これは、単語「ｗｈａｔ」も含まれる場合だけである。
【００２８】
更に、テンプレートは変数を有することができる。例えば、「Ｄｏ ｙｏｕ ｌｉｋｅ ＜ｘ＞ ？」のテンプレートは、その４番目の言葉は変数である。変数は、応答に伝えられることができる。例えば、「Ｎｏ， Ｉ ｄｏｎ’ｔ ｌｉｋｅ ＜ｘ＞．」となる。この場合、「Ｄｏ ｙｏｕ ｌｉｋｅ」の後の単語は全て変数となる。「Ｍｅｎ ａｒｅ ＜ｘ＞ ｔｈａｎ ｗｏｍｅｎ．」というテンプレートでは、「ａｒｅ」と「ｔｈａｎ」の間にある単語が変数となる。
【００２９】
各テンプレートは、実施者によって割当てられるランクを有する。スプロッチがユーザの応答を、そのプログラムが有するテンプレートの全てとマッチングしようとした後、スプロッチは最も高いランクを有するテンプレートを選択し、そのテンプレートに対しリストされる応答のうちの１つで応答する。次回、同じテンプレートが選択される場合、スプロッチはリストにされる全ての応答を循環しきるまで異なる応答を選択する。
【００３０】
応答は、テンプレートから伝えられる変数以外に、別のタイプの「変数」を有することができる。これは、別の単語又は句を指し示すプレイスホルダである。例えば、「Ｍｙ ｆａｖｏｒｉｔｅ ｃｏｌｏｒ ｉｓ ＠ｃｏｌｏｒ．ｗ （私の好きな色は、＠ｃｏｌｏｒ．ｗです）」という応答では、色は、色を表す単語のリストを有するファイル、即ち、ｃｏｌｏｒ．ｗからランダムに選択されるべきであることを示す。これによって、テンプレートに関連付けられる応答は、事実上、多数の代替の応答となることを可能にする。「＠」ファイル内の句自体が、他の「＠」ファイルへのポインタを含むことができる。
【００３１】
従来技術の会話シミュレータは、多数のテンプレートファイルがインストールされていない限りは、繰返しが多くなる。多数のテンプレートファイルは厄介となる。更に、多数の代替のテンプレートがあったとしても、会話シミュレータは依然としてスタティックのままである。例えば、現実の人間は、ＵＳＳＲは消滅し、かつてスパイ映画に登場したようなロマンチックな陰謀はもはや存在しないことは分かっている。１９８９年以前にプログラムされた会話シミュレータは、人間から発せられたものであるとすれば奇妙に聞こえる応答を生成するテンプレートを多く含むであろう。
【００３２】
従来技術の会話シミュレータの多くは、会話シミュレータが性格をシミュレートする場合は、そのシミュレーションは劣悪であった。例えば、ＨｕｔｃｈｅｎのＨｅｘは成功例の１つであったが、それは、皮肉っぽく、口の悪い性格を持っていたからである。従来技術の会話シミュレータは特に、深みのある性格に欠ける。会話シミュレータは、人間が信頼関係を築いて分かち合うことをシミュレートすることはできず、なぜなら、会話シミュレータは語る人生も共有する経験もないからである。更に、性格がないことは、アイデンティティがないということも意味する。
【００３３】
会話シミュレータは一般的に、ユーザが話すことを促すよう設計される。このことは、特に、この分野のプログラムの先駆者であるＥＬＩＺＡの背後にあった考えである。しかし、ユーザが話をするよう仕向ける要領は、すぐに飽きがきて予測可能となってしまう。会話シミュレータを面白くする１つのデバイスは、事実に基づく情報か又は愉快な情報を供給するよう会話シミュレータを設計することである。会話シミュレータは、ユーザの質問の意味を理解することができないので、事実に基づく質問又は発言に対する応答は、しばしば不適切な返答となる。更に、単に事実だけを話す人は、利口ぶる人だと思われて飽きがきてしまう。最も説得力があって、信頼度の高い会話シミュレータとは、ユーザが話をするよう促し、事実レベルよりも感情的なレベルで応答し、意見を述べ、ユーザの意見や価値観に反応する（支持する）ものである。つまり、会話シミュレータは、説得力があり信頼度が高くあるためには、内容もなければならないということである。Ｈｕｔｃｈｅｎｓは、いわゆる雑談において一般的に話されるような種類の情報をＨｅＸに与えたという点で比較的妥当な功績を残したと言える。
【００３４】
会話シミュレータのもう１つの問題は、ユーザからの簡単な返答によって現在の話題を簡単に見失ってしまうことである。会話シミュレータは、コンテキストのセンスを持っておらず、コンテキストのセンスをシミュレートすることは困難である。１つの解決策としては、テンプレートを使用してユーザによって話題にされた古いトピックを持ち出すことによって幾らかの持続性メカニズムを供給することである。テンプレートは、その話題について、ユーザからの応答を要求するものであり、例えば、トピック＜ｘ＞についての質問である。しかし、コンテキストに敏感であると言われる一部の会話シミュレータは、ユーザが話題を変更したいのにも関わらず、同じ話題を話しつづける場合がある。
【００３５】
新しい会話の内容が過去の又はサンプルの会話から学習される機械学習スキームは、あまりうまくいく見込みがない。このようなアプローチは、一般的に、新規の応答を生成するが、これらの応答は通常あまり意味をなさない。この問題は、この技術は、多数の入力を使用して、多数の出力から選択しようとする事実に由来するものであり、また、膨大な量の訓練と結果が予測不可能であることに対する寛大さが必要となる。
【００３６】
非常に信頼度が高い会話シミュレータでさえも、長い目で見ると、それらは本質的には娯楽であり、即ち、エネルギーを必要とする活動である。会話シミュレータが行うことを知ると、多くの人々は、なぜ会話シミュレータにエネルギーを傾けるのか疑問に思う。最初は興味を引きつけられた人々も最終的には飽きてしまうので、会話シミュレータの娯楽的価値も限界がある。おしゃべりの中から集められた情報を使用して応答テンプレートの空白を埋めたり、又は、コンピュータ言語学的なアプローチが使用されて新しい句の構造又は考えが得られない限り、ユーザによって会話シミュレータにもたらされたデータは水の泡となる。従って、全てのデータは単に多くのおしゃべりをもたらすが、新しい知識は蓄積されず、活用されない。このことは、会話シミュレータは面白い実験ではあるが、実用化するには適していないと言われる所以である。
【００３７】
会話シミュレータのもう１つの問題は、会話シミュレータを使用することはあまり自発的且つ自然な動作ではないということである。現在、例えば、ユーザといつ会話を始めるか、いつ会話を終了するか、いつ間を持つか、又は、いつ話題を変えるかといった一般常識にのっとった動作を行う会話シミュレータはない。会話シミュレータが何か有用なことを言えたとしても、会話シミュレータにそのような能力を与えるためのストラテジ、提案、又は、その必要性の認識はなされていない。
【００３８】
コンピュータプログラム全般に使用される技術を生成した研究の分野は、いわゆる「感情計算論（ａｆｆｅｃｔｉｖｅ ｃｏｍｐｕｔｉｎｇ）」である。この研究の分野は、人間の感情及び性格に反応するようコンピュータを使用し、よりよいユーザインタフェースを作成することである。例えば、米国特許第５，９８７，４１５号には、ユーザの情緒状態及び性格のネットワークモデルが推論され、その推論は、アプリケーションによって生成される様々な代替のパラフレーズのうちから選択するために使用されるシステムが記載される。このアプローチは、トラブルシューティングシステムによってインスパイアされ、そこでは、ユーザは、例えば、コンピュータの突然の故障といったトラブルについての情報を、機械ベースのシステムを使用して得られるよう試み、この機械ベースのシステムは、ユーザに質問して、ユーザが自分自身でトラブルを診断し解決することを支援する。このアプローチは、以下のように要約することができる。最初に、システムは、ネットワークモデルに基づいてユーザの気分を決定する。このネットワークは、期待される表現の代替のパラフレーズにリンクする。ユーザの気分と性格は、エンジンの所望の気分と性格とに相関され、エンジンはユーザへのフィードバックを生成する。気分記述子を使用してユーザの気分を推論し、相関処理によって、気分記述子が生成され、これは、適切な内容のある応答の代替のパラフレーズから選択するのに使用される。従って、コンピュータによる内容のある応答のうち２つの可能なパラフレーズがある場合（例えば、「Ｇｉｖｅ ｉｔ ｕｐ ！（あきらめろ！）」か「Ｓｏｒｒｙ， Ｉ ｃａｎｎｏｔ ｈｅｌｐ ｙｏｕ ！（すまない、助けられないよ！）」）、アプリケーションは、ユーザの気分／性格が与えられたときに、気分と性格に最適に対応する方のパラフレーズを選択し、この気分及び性格は、コンピュータが投射するのが望ましいと、プログラマによって決定される。まとめると、ユーザの応答によって投射される気分及び性格を決定するべく確率論的なモデルが使用され、次にモデルは、ユーザの気分及び性格を、コンピュータが投射するべき所望の気分及び性格にリンクするために使用される。最後に、所望の気分及び性格によくマッチングする応答のパラフレーズが選択され、逆に同じ確率論的なモデルを使用して応答を生成するよう使用される。
【００３９】
上述したユーザインタフェースは、気分と性格を内容から切り離す。更に、確率論的なモデルは、訓練することが非常に困難である。過去の会話シミュレータは、規則に基づいたシステムを使用することで非常に大きな力を発揮しうまくいっていた。
【００４０】
ユーザの態度をコンピュータに伝えるもう１つの技術的なアプローチは、手動で設定可能なユーザインタフェースである。ユーザは、例えば、顔のグラフィカルイメージの上にカーソルを持っていき、悲しい顔からうれしい顔に変えることによって直接的に自分の態度を示す。ユーザインタフェースをこのように作成するこのアプローチは、米国特許第５，９７７，９６８号に記載される。しかし、このようなインタフェースを使用してもたらされる感情の幅には限界があり、また、このような方法で感情を伝達することは困難且つ不自然である。
【００４１】
ユーザの情緒状態がコンピュータによって決定されるもう１つの適用分野は、医療診断の分野である。例えば、米国特許第５，６１７，８５５号は、脳波図及び他の診断データと共に顔及び声の特徴を分類し、診断を支援するシステムを説明する。このデバイスは、精神医学及び神経学の分野に使用される。
【００４２】
更に別の適用分野では、機械は自動的にユーザの存在又はユーザの特定の特徴を検出して、機械承認及び認証を行ったり、又は、利便性を図ったりする。この目的のために、一部の従来技術のシステムは、バイオメトリックセンシング、近似検出器、無線周波数識別タグ、又は、他のデバイスを使用する。
【００４３】
ユーザの情緒状態を入力するもう１つのシステムは、ＪＰ１０２１４０２４に説明される。ここでは、デバイスは、ビデオ入力に基づいてシーンを生成する。ユーザの情緒状態に関する情報は、認識システムによってユーザから入力され、ストーリの展開の制御に使用される。
【００４４】
［発明の概要］
インタラクションシミュレータは、会話シミュレータと似ているが、可能な入力及び出力の範囲が広い。人々及び機械は、話すこと以外の方法で自分自身を表現することができる。例えば、人は、ジェスチャ、遠隔制御器、目の動き、音（手を打つ）等を利用することができる。機械は、光を点滅させる、コンピュータ生成アニメーションを作成する、機械デバイスをアニメ化する等できる。インタラクションシミュレータはより一般的な表現であり、ユーザと機械との間の表現的なインタラクションを作成するために使用することができる入力及び出力の範囲全体を包含する。簡単に説明すると、本発明は、従来技術の会話シミュレータより使い勝手がよく、ユーザとシミュレータとの間のインタラクションの質を向上し、シミュレータとのインタラクションによって得られる有用性を増加するインタラクションシミュレータである。本発明は更に、これらの利点を、データ記憶及び検索のためのユーザインタフェースの分野に供給する。この為に、本発明は、特定のユーザに自動的に適応することによって個々のユーザの性格の独自性に反応するインタラクションシミュレータを基本に構成される。更に、インタラクションシミュレータによって使用されるシステム及び方法は、シミュレータによって始められるインタラクションがユーザの状況に反応するメカニズムを提供する。例えば、会話シミュレータ実施例は、ユーザの発言を中断させないよう話すことをやめたり、又は、ユーザが寝てしまった場合に話すことをやめたりする。更に、インタラクションシミュレータの有用性は、ユーザとの会話から集められる有用な情報を、その情報をうまく利用することができるシステムにパッシブに送ることによって拡大される。例えば、ダイアログからの好き嫌いを抽出し、それらを適用することによって電子番組ガイドの嗜好データベースを拡充することができる。このようなデータは、ユーザがデータベースの必要性に反応することによって引出されうる。更に、インタラクションシミュレータモデルは、様々な出入力モダリティに拡大される。例えば、オーディオ出力及び入力能力を有するテレビジョンは、テレビジョンキャビネットの同期される光又は色、或いは、画面上において同期されるアニメーションと共に人工のスピーチを生成しておしゃべりを始め、テレビジョンがあたかも話すような印象を与える。ユーザの表情は、ジェスチャ、音、体の位置、手動制御等によってインタラクションシミュレータに入力することができる。さらに、インタラクションシミュレータの出力の内容のあるコンテンツは、定期的に更新されるデータ供給源又はライブデータフィードから情報を得る能力を設けることによって高められる。このような情報の抽出は、会話及び／又は他のインタラクションからシミュレータによって集められるデータによって導かれる。
【００４５】
［好適な実施例の詳細な説明］
本発明は、会話シミュレータ技術をより有用なものに一歩前進させる要素の組合せに関連する。従来技術において、会話シミュレータは比較的説得力があり信頼度が高いことを証明している。本願に提案する発明の特徴は、環境の特徴を分類することができる機械認識システムといった実績のある技術を使用して会話シミュレータを増強することである。この結果として、より一般的な感覚を有し、その動作が人間らしく、また、使い勝手のよいインタラクションシミュレータが得られる。本発明の特徴は更に、例えば、嗜好のデータベースを拡充するか、又は、インターネットといったデータリソースからの更なる情報にアクセスするといった有用な方法で情報交換を利用することによって、教育及び娯楽のための会話シミュレータ技術の説得性を増強することである。本発明の特徴を実行するには、他の問題ももたらし、これらは対処されなければならない。例えば、会話シミュレータが、将来の電子ハウスホールド又はワークプレイスにおける有用な中心的存在となるには、会話シミュレータは、問題なく取り込まなければならない。これらの問題は最初に対処される。
【００４６】
説得力があり、信頼度の高いコンパニオンとなるには、会話シミュレータはスピーチでインタラクトし、ユーザによって与えられる社会的なコンテキストの中で応答することができることが好適である。コンパニオンシップは社会的な関係であるので、会話シミュレータは、社会的に正しい動作を行うことができなければならない。１つの実施例では、このことは、インタラクションシミュレータに、特定のユーザに関する情報と、シミュレータの動作が礼儀正しくなるよう制約する規則を供給し、且つ、会話シミュレータに一貫性のある感じの良い性格を与えることによりもたらされる。会話シミュレータが特定のユーザに適切に応答することできるよう、会話シミュレータは個人を認識することを可能にするシステムによって増強され、それにより、会話シミュレータが異なるユーザ及び長い時間に亘って同じユーザに適応することが可能にされる。
【００４７】
好適には、会話シミュレータは、出入力のための手段として可聴スピーチを使用すべきである。他の多くの会話シミュレータと同様に、スプロッチは、タイプされるテキストによってユーザとインタフェースする。テキストからのスピーチ出力は簡単な提案ではあるが、現在の生成デバイスの音は単調であるという問題がある。この問題を軽減する幾つかの方法が提供されうる。第１に、標準的な文及び句（応答テンプレート）を単純テキストとして格納し、これらをテキストからスピーチに変換するコンバータによって出力するのではなく、これらの応答テンプレートの抑揚をテキストと共に格納する。抑揚スキームは更に、句又は文中の変数を表すことがある。例えば、以下にテンプレートファイルからの標準的な文ＥＸ１を示す。
【００４８】
ＥＸ１：Ｔｅｌｌ ｍｅ， ｍｏｒｅ’ ａｂｏｕｔ， ｗｈｙ” ｙｏｕ， ｈａｔｅ ＜ｘ＞．
アポストロフィは、その前にある単語が強調されて話されることを示す。引用符は、より強い強勢を示し、コンマは弱い強勢を示す。マークがないものは、適度な強勢を示す。＜ｘ＞によって示される変数は、ユーザによって話される文から得られるものである。この変数はアクセントマークを持っておらず、なぜなら、この変数は、適度な強勢で繰り返されるからである。変数を有する可変句の強勢は、標準的なテンプレート応答に関連する式から得られる。このテンプレートは質問であり、通常は、個人的且つ微妙な性質の情報を導き出すよう期待されるので、変数の単語への強勢は、終わりにおいて弱められる。従って、句が
ｇｏｉｎｇ ｔｏ ｓｃｈｏｏｌ，
であるとすると、最後の音節は弱い強勢としてマークが付けられる。このことを、同じ変数の句がテンプレート文ＥＸ２に使用される場合と比較する。
【００４９】
ＥＸ２：Ｗｈａｔ？ Ｙｏｕ ｄｏｎ’ｔ ｌｉｋｅ ＜ｇｏ”ｉｎｇ ｔｏ ｓｃｈｏｏｌ”＞
ここでは、強勢には抑揚がないが、強く強勢される。システム設計者は、自分のニーズ及び優先順位に応じて規則の細かい点を選択してもよいが、規則は、当該の言語におけるスピーチの自然な人間的なパターンに従うべきである。上述した例では、予め知ることのできない変数の句に対しても、規則を決めることができる。変数の句の規則は、予測することができない。しかし、可変句に使用されるテンプレートの文は、単に抑揚を与える標準的な規則、例えば、ＥＸ１に示す強勢が下がる規則と、ＥＸ２に示す抑揚のない規則より良好な規則を形成することができる情報を供給する。尚、上述の例では、抑揚の１つの面だけを説明したが、抑揚には、ピッチ、音の大きさ、タイミング、及び、他の面も関連することを理解するものとする。これらはそれぞれ、上述の他の面を処理する適切なスキームに供給され、それにより、各音節は対応するピッチ−音の大きさの対を有する。
【００５０】
スピーチの抑揚は、固定のテンプレートからは得られないという問題を解決する幾つか他の方法がある。１つの方法は、可変句のオーディオ記録をユーザに向けて再生することである。例えば、ユーザが「Ｉ ｔｈｉｎｋ ｍｙ Ｅｎｇｌｉｓｈ ｔｅａｃｈｅｒ ｉｓ ｃｏｍｐｌｅｔｅｌｙ ｏｕｔ ｏｆ ｈｅｒ ｍｉｎｄ．」と言ったとすると、会話シミュレータは、「Ｗｈｙ ｄｏ ｙｏｕ ｔｈｉｎｋ ｙｏｕｒ」を再生し、その後に、ユーザが言った「Ｅｎｇｌｉｓｈ ｔｅａｃｈｅｒ ｉｓ ｃｏｍｐｌｅｔｅｌｙ ｏｕｔ ｏｆ ｈｅｒ ｍｉｎｄ．」を続ける。声の質はデジタル的に変更されて、会話シミュレータインタフェースの声の質をまねするようにされる。このアプローチの欠点は、この例では、人を嘲るように聞こえる可能性がある。ユーザの文と会話シミュレータの文は異なる抑揚パターンが必要である。抑揚のパターンは音データを変更することによって変更することができる。この会話シミュレータのもう１つの代替案は、抑揚の記録をとり、それを、独自の音声生成器を使用して再現しようとすることである（抑揚を同じように又は変更して再現し、例えば、ユーザの普通の発言の口調ではなく、質問の形を形成する）。
【００５１】
他の問題は、スピーチ理解に関連して発生する。ユーザがいつ話し終えたのかを決定し、それによって期待される時間に応答するといった問題に対処しなければならない。従来技術のテキストベースの会話シミュレータシステムは、単純に、例えば、キャリッジリターンを１回又は２回押すことによって応答が期待される時間を決定する。通常は、話された会話の中でははっきりと会話が終了したことを示すものはない。しかし、好適なコンパニオンである会話シミュレータは、ユーザがまだ話を終了していないときはそのことを認識し、話に割り込むことを阻止すべきである。一方、会話シミュレータが話している最中に、ユーザが割り込んだときは、会話シミュレータはこれを認識し、話すことをやめて、適切に応答することができなければならない。幾つかのアプローチが、別々に又は合わせて使用されている。
【００５２】
１）時間間隔の閾値を超えるポーズを使用して、スピーチの終わりを伝える。
【００５３】
ａ）ポーズの閾値は、ユーザのスピーチのペースに合わせて調節される。その場合、会話シミュレータは、早口の人に対しては、ゆっくりと話す人に比べて速く応答する。
【００５４】
ｂ）ポーズの閾値は、ユーザのスピーチを抑揚テンプレートと比較することによって調節される。文は、終わりにくると強勢が弱められるので、このことは、遅延を短くするのに使用される。
【００５５】
２）会話シミュレータは、単に上述したスキーム（又は、他のスキーム）に従って見当をつけ、ユーザによって割り込まれる場合は、単純に引き下がって、「聞く」ことを続ける。会話シミュレータは、ユーザが答え始めるとできるだけ早く引き下がることが好適である。
【００５６】
３）会話シミュレータは、「Ｗｅｌｌ…」といった単語、又は、「Ｕｍｍｍｍ…」或いは「Ｈｍｍｍ」といった考え込んでいるような音を出すことによって、会話シミュレータが話し始めることを示唆する。ユーザは話し続けている場合は割り込んでもよい。これにより、ユーザは、内容のある応答をする前に会話シミュレータをストップさせることができる。このような内容のない音は、会話シミュレータが内容のある応答を生成し始めた後にユーザが割り込むよりも、支障のないスピーチパターンを供給する。
【００５７】
４）任意の割り込みベースのスキームを使用する会話シミュレータプログラムは、割り込みフィードバックから学習して、ポーズの閾値を調節することができる。会話シミュレータプログラムは、特定のユーザから、そのユーザの応答が終わったことを示す手掛かりを探すことができる。これは、内部の機械学習処理に、抑揚パターン及びタイミングパターン、ジェスチャ又は顔の表情といった視覚的な合図、又は、会話シミュレータに話し始めるべき時をより信頼度が高く指示する他の入力を供給することによって探すことができる。これらは明確にプログラムされてもよい。ここの意図は、機械学習処理のために、ユーザによる割り込みをフィードバックメカニズムとして有利に活用することである。
【００５８】
ａ）様々な入力をそのような機械学習処理に使用することができる。即ち、音の大きさのパターン、ピッチのパターン、及び、他の抑揚パターンを使用することができる。「ｗｅｌｌ」や「…？」といった特定の単語は、会話シミュレータが遅れることによっていらいらする特定のユーザによってしばしば使用されるであろう。
【００５９】
ｂ）機械学習スキームは、各ユーザに対し展開され且つ格納されるべきである。なぜなら、１人のユーザのパターンは、他のユーザのパターンと一緒であるとは限らないからである。
【００６０】
ｃ）凝視情報が、ユーザの関心の焦点を識別するのに重要な役割を果たす。この情報は、本発明のシステムでは、コミュニケーションの合図を与えるよう使用される。例えば、凝視情報は、ユーザがどこを見ているのか、また、何に注意を払っているのかを識別するのに使用することができる。ユーザの凝視方向は、２つのファクタによって決定される。即ち、頭部の向きと目の向きである。頭部の向きは、凝視の全体の方向を決定する一方で、目の向きは、頭部の向きに制限される正確な凝視の方向を決定することができる。発話者の体が前方に傾く（体位）、発話者の顔の表情、及び、発話者の情緒状態からも他の手掛かりを得ることができる。発話者の情緒状態は、発話速度、イントネーション、強度等といった音響的及び韻律的な特徴から推測される。発話者の情緒状態を知ることは、発話者が会話を終了するときを指示するのに有用である。
【００６１】
５）会話シミュレータが話し始めるべきときの合図は、ユーザのスピーチの内容のあるコンテンツからくる場合もある。例えば、ユーザのスピーチの内容のあるテキスト及び抑揚パターンから、質問を識別することができる。会話シミュレータは、このことをシミュレータが答えるべきものである指示として依存する。特定の発言又は句は、会話シミュレータのプログラミングによって、ユーザが一時話を終えて答えを要求していることを指示するものとして分類される。例としては、「Ｗｈａｔ ｄｏ ｙｏｕ ｔｈｉｎｋ ？」、「Ｈｍｍｍ…！」、及び、「ＯＫ ？」が挙げられる。
【００６２】
ａ）手掛かりは、単純に分類される句よりも微妙な場合がある。会話シミュレータによって認識される幾つかの文は、他の文よりも最終決定的である場合がある。例えば、「Ｉ ｄｏｎ’ｔ ｔｈｉｎｋ ｓｏ．」よりも「Ｙｅｓ， ｔｈａｔ ｉｓ ｗｈａｔ Ｉ ｔｈｉｎｋ．」のほうが最終決定的である。というのは、前者は、説明の前置きの場合もあり、一方、後者は、会話シミュレータによって発せられた何かに対する確認だからである。
【００６３】
会話シミュレータは、ほとんどのコンテキストにおいて、愉快で繰返しがないことが好適である。このことは幾つかの方法によって供給される。１つは、会話シミュレータに性格を与えることである。これは、会話シミュレータが事実レベルのみならず感情レベルにも応答するようプログラミングすることによって供給される。しかし、好適なコンパニオンであるには、これらの属性は限定されなければならない。会話シミュレータの関心、性格、及び、感情は、ユーザを支持するものでなければならない。この点に関し、付き合いやすい会話シミュレータは、ＥＬＩＺＡのように支持的でなければならないが、会話シミュレータは同時に面白くなくてはならない。多くの会話シミュレータは、面白いか（少なくとも短い時間の間は）、又は、支持的かのいずれかであり、両方を満たしていることはあまりない。この問題の一部は、面白みのある応答はしばしば、ユーザに話を続けるようあまり促さないという点である。面白さと支持的であることの両方の組合せを供給する１つの方法としては、２重の応答を与えることである。会話シミュレータは、例えば、ユーザが今言ったことに関し幾らか関連性があり、幾らかユーモアのある応答をし、次に、ユーザが話しを続ける又は詳しく説明するよう支持する又は促す。この場合、会話シミュレータは、感情、感覚、気分、及び、態度を表す単語を認識且つそれらの単語に応答する多数のテンプレートが必要となる。例えば、ユーザが、「Ｉ ｈａｔｅ ｍｅｅｔｉｎｇｓ．」と言ったとすると、会話シミュレータは、「Ｉ ｈａｔｅ ＜ｘ＞」にマッチングするテンプレートが必要となり、このテンプレートは、「Ｉ ｄｏｎ’ｔ ｌｉｋｅ ｍｅｅｔｉｎｇｓ ｖｅｒｙ ｍｕｃｈ ｅｉｔｈｅｒ， ｔｈｅｙ ａｒｅ ｓｏ ｂｏｒｉｎｇ． Ｗｈａｔ ｄｏ ｙｏｕ ｄｉｓｌｉｋｅ ｍｏｓｔ ａｂｏｕｔ ｍｅｅｔｉｎｇ ？」といった応答を有する。
【００６４】
理想的には、会話シミュレータのイントネーション及びスピーチは、会話の情緒的な雰囲気と会話シミュレータの返答の内容と一貫性があるべきである。応答が深みと適応性を持つには、ユーザの最後の発言における特定の句に対し単に応答する以上である必要がある。会話シミュレータには、ユーザの情緒状態を認識し、それに答える機能が与えられ、会話シミュレータは、ユーザの情緒状態が変わるとその応答も変える。例えば、会話シミュレータは、ユーザが悲しい又は嬉しいときと、ユーザの情緒状態から悲しいから嬉しいに変化するときを認識しうる。このことは、ユーザのオーディオ、スピーチ、画像の様々な特徴、及び、ユーザが遠隔制御器のキーに加える圧力といった他の入力を分類することによって供給される。
【００６５】
オーディオ信号は、スピーチには含まれていないユーザに関する情報を含む。例えば、ユーザの音声の大きさやピッチは、ユーザの情緒状態を判断するのに有用な材料となる。更に、特に、神経質そうなひきつり又は泣き声といった反復性のある活動を示す背景の雑音が、オーディオ信号から識別可能である。オーディオ信号クラシファイアは、各オーディオ信号に対応する分類処理を含み、従って、特定の音特徴が重なっていても、それらを識別することができる。更に、ユーザがその中にいるシーンのビデオ画像も処理可能であり、ビデオ画像中に識別可能な対象物又はイベントが分類されることによって、ユーザの周りで起きている情報が供給される。例えば、部屋の中を絶え間なく動きまわることは、心配事があることを示し得る。最後に、スピーチの内容が分析されることによって、ユーザの情緒状態を示す手掛かりを求めることができる。気分クラシファイアのテキストに基づく特徴は、悲観的な性質の単語が使用される頻度に反応するようプログラムされ、悲観的又は批判的な状態であることを示す信号を生成する。各エントリに対し気分ベクトルに対する辞書が供給される。気分ベクトルは、各気分クラスの荷重値として決められ、荷重値は、対応する単語又は句が使用されることにより示される気分の確率を示す。
【００６６】
出力の荷重値は、信頼水準に達した気分クラスを示すよう供給される。従って、別の出力は、それぞれ対応する信頼水準に関連付けられる。気分クラシファイアの出力信号は、各気分クラスに対する信頼水準に達したベクトルの形式である。気分クラスには、ダンピング特徴が与えられ、それにより、１つのダイアログ交換から次のダイアログ交換で急に変化しないようにされる。例えば、ユーザが３０分間ほどふさぎこんだ状態であり、一時的に笑ったとしても、気分信号は急に変化しないことが望ましい。
【００６７】
会話シミュレータが使用する応答テンプレートにはそれぞれ、様々な気分に対するそのテンプレートの適切性を指示するベクトルが設けられてもよい。次の応答を生成するために使用される各テンプレートのネットスコアは、気分クラスベクトルとテンプレートベクトルのドット積によって重み付けされる。気分の指示を使用して出力テンプレートの選択を変更する他の任意のスキームを使用してもよい。会話シミュレータの応答を生成するのに使用する出力テンプレートの最終的な決定は、代替の気分信号によって変更されてもよい。２つの競合する気分クラスの間で優位になる気分は１つだけではないかも知れないが、テンプレートの選択は依然として改善される。例えば、それぞれ低いが依然としてかなりの信頼水準を有する２つの選択的な気分のいずれかに対応するテンプレートは、良好な選択を表すものであり、これは、気分が、高い度合いの曖昧さ（即ち、２つの気分は等しい可能性であることによる）で決められる場合においても言えることである。米国特許第５，９８７，４１５号の方法を使用して、気分／性格が分類されてもよい。
【００６８】
以下に示す表は、気分クラス、及び、現在の技術を使用して作成されうるインジケータの例の非常に大まかなリストを示す。例えば、シーン中のユーザの頭部の位置を識別且つ追跡することが可能なビデオ追跡システムがある。さらに、バイオ認証のためにビデオに基づいて顔認識を行うことができ、気分のクラスも認識するよう適応されるシステムがある。尚、使用されうるインジケータの種類には、気分を十分に表すが、必要不可欠ではないインジケータも含まれる。例えば、嬉しいときに両手を空に差し出す人は稀であろうが、このジェスチャが行われた場合、このジェスチャが、フラストレーション又は幸せな気持ちに関連付けられる可能性は高い。
【００６９】
【表１】
2004527809.tif 000003
会話シミュレータは、ユーザの性格について幾らかの知識を有し、応答をユーザの性格に合わせて調節することが好適である。例えば、会話シミュレータは、「主導権を握る」性格の人とインタラクトすることが好きな人に対しては、積極的に意見を述べ、そうではない人に対してはためらいがちに意見を述べるようプログラムされ得る。性格クラシファイアは、所与の個人に対し一貫性のあるモデルを構築し、これは、最初に、各セッションにおいてユーザのアイデンティティを確認し、次に、ユーザの発言及び会話シミュレータに対するユーザの反応における手掛かりを使用して交換ごとに構築することによって行われる。
【００７０】
多くの性格類型学が研究されてきている。任意の数の類型が特徴テストに関連付けられ、個人が属するタイプが決定される。例えば、メイヤース・ブリックス（Ｍｙｅｒｓ−Ｂｒｉｇｇｓ）は、１６の独立した性格クラスを有する４次元モデルである。ビック・ファイブ、即ち、性格の５因子モデルは、もう１つのよく知られているモデルであり、これは５次元をベースにしている。会話シミュレータは、ユーザにテストを行う（これは、ユーザが楽しむことのできる興味深い会話を与えるかも知れないが）ことも可能であるが、普通の会話にインジケータが組み込まれてもよく、これらは、会話シミュレータがユーザを分類するのに使用される。上述したように、分類は永続的である。即ち、会話シミュレータは、多数のセッションに亘って分類を管理し、長い時間に亘って情報をまとめた後にのみその結論を変更する。同様の方法を使用して、性格以外にモユーザの関心事を決定することができる。ユーザの応答からのキーワードが、標準的な学習技術を使用して分類されることにより、ユーザの関心事及び性格を裏付けることができる。応答中を検索する際に、あるキーワードには他のキーワードよりも強調される場合がある。例えば、会話シミュレータの特定の応答にマークが付けられて、これらの発言に対するユーザの応答は、ユーザの性格及び関心事を決定するのに特に関連性があることを示す。これらの応答から得られるキーワードは、適宜重み付けされる。これらのキーワードの荷重値は、ユーザの応答中にどれだけの頻度で登場するかによって増やされる（上述したように、そのユーザの応答を導き出した会話シミュレータの応答を考慮に入れる）。
【００７１】
性格に加えて、会話シミュレータは、出力選択を改善するために対象物インジケータを使用してもよい。例えば、ユーザの性別、年齢、伸長、エスニシティ、社会経済階級、知能等は全て定義付けされ、テンプレートを選択するのに使用されうる。会話シミュレータは、ユーザの他の事実情報でプログラミングされてもよい。会話シミュレータは、例えば、ユーザの名前、及び、ユーザが話していたトピックについて知っており、それにより、同じトピックを話し続けることができる。会話シミュレータは、以前の会話からのトピックも記憶することができる。更に、会話シミュレータは、ユーザが関心のあるトピックを記憶するようプログラミングされ、会話が一時的に途絶えたときに、それらのトピックを提案する能力が与えられる。ここでも、これらのトピックは永続的な変数であり、例えば、ユーザの名前を聞く、又は、声紋といったバイオメトリックスキームを使用して、アイデンティティを確認するデバイスと共に使用されうる。
【００７２】
自分の感情や感覚を話そうとするユーザに対し、会話シミュレータは信頼を築き上げなければならない。信頼を築き上げるための１つの方法としては、会話シミュレータが自己開示的、即ち、自分自身のことについて語り、特に、自分が「影響」を受けた「経験」を語るようプログラミングすることである。このことは、会話シミュレータに過去を与えることにより行われ、それにより、シミュレータは自分のことを語ることができる。過去を有する会話シミュレータは、より説得力があり、信頼度が高くなり、従って、あたかも強く、現実的、及び／又は、思いやりのある「性格」を有するかのように見える。会話シミュレータに過去を与えるという基本的な考え方は、有名なＬｏｅｂｎｅｒコンペティションで採用された。会話シミュレータのコンテストに参加した一人のプログラマ、Ｗｈａｌｅｎは、過去を与えた会話シミュレータを審査官に明らかにした。この会話シミュレータは、自分の過去の話に話題を戻すようプログラミングされ、それにより、審査官の関心を得て審査官が質問をするよう仕向けられていた。過去の話とは、その会話シミュレータが仕事を失ったことについてであった。従来技術のストラテジは、審査官が質問をするよう誘導するトリックであった。本発明の会話シミュレータでは、過去の話は、親密さの感情と信頼を形成するデバイスについてである。従って、この過去の話は、思いやりや理解の感情を発生させ、ユーザが会話シミュレータと「同一視」することができるよう設計される。１つのスキームは、多数の過去の話を作成し、異なる性格のクラスに対し過去の話の有用性のランク付けをすることである。従って、過去の話は、今現在交わしている会話の流れだけでなく、ユーザの性格にも基づいて、過去の話を集めたライブラリから引出される。
【００７３】
会話シミュレータが、ユーザのスピーチに応答する能力を有すると、次に社会コンテキストがより重要になってくる。ユーザはキーボードのある場所にいる必要がなくなるので、会話シミュレータは、適切なときにユーザに応答する又はダイアログを開始するようプログラムされるべきである。会話シミュレータは、ユーザの割り込みに反応する、又は、ユーザを邪魔することなく話を続け、適切なときにのみ話すようプログラムされ得る。ユーザが子供である場合、会話シミュレータは実際に、子供が割り込んできた場合に、その子供に正しい行儀作法を教えるようプログラムされてもよい。会話シミュレータは、ユーザが部屋に入ってくる又は退出するといったユーザの存在又は不在に反応することが好適である。その場合、会話シミュレータは、ユーザが部屋に入ってきたときに挨拶したり、ユーザが部屋から退出した場合や大声を出さない限り話すことができないところに移動した場合に、スピーチを生成することを回避することができる。会話シミュレータは、ユーザが忙しいか又は暇を持て余しているかに反応するべきである。
【００７４】
会話シミュレータが社会的な儀礼に従って行動しているような様相を与えるために、様々な入力モダリティが同時に使用される。ここでもユーザの行動の様々なクラスが、ビデオ、音、及び、スピーチデータを使用して識別される。１つの例として、ユーザが、寝ているときと同じ状態に体の位置を動かすことが挙げられる。例えば、体を横にし、動かなくなり、いびきをかき始めたとする。そのような状況において、会話シミュレータは、話をすることを止めるようプログラムされうる。もう１つの例として、ユーザが部屋を退出することが挙げられる。これの例は、好適な画像及びオーディオ処理アルゴリズムによって認識され得る簡単な例である。
【００７５】
より現実味があるように、会話シミュレータは、日常の知識を有するような様相が与えられる。例えば、会話シミュレータには、現在の時間、天気、及び、大きいニュースに対応する可変データが供給されうる。これらのデータは、出力テンプレートと共に使用され、関連性のある文が形成される。ＴＶがついている場合、会話シミュレータは、ＴＶ信号の動作に反応する能力が与えられていてもよい。例えば、会話シミュレータは、笑いの効果音を聞いて一緒に笑うことができる。又は、背景音楽の陰鬱な調子に反応して深刻そうな雰囲気をかもし出してもよい。これは、笑いの効果音、及び、例えば、調和していない音楽を認識する能力によって与えられる。
【００７６】
会話シミュレータは、新しいテンプレートに使用されるデータへのインタフェースが設けられてもよい。データソースは様々な方法で与えられうる。１つの方法としては、フォーマット化されたソースからのライブフィードである。ネットワーク、交換線、無線ベース、又は、他の通信リソースを介する接続は、会話シミュレータマシーンを新しいテンプレートのソースに接続するよう設けられる。テンプレートは、現在のニュース、現在の株価、現在の天気、雑誌記事等といった新しい情報に基づいて作成することができる。テンプレートは、手動で作成されても、可変テンプレートから自動的に生成されてもよい。新しいテンプレートは、サーバ上に格納され、会話シミュレータ処理に定期的に送られるか、又は、会話シミュレータ処理によって定期的にアクセスされうる。テンプレートはローカルで格納されても、サーバ上で格納されてもよい。テンプレートは、ライブラリのように体系付けられ、ユーザの性格プロファイルについての情報は、テンプレートへのアクセスを案内するのに使用されるので、所与の会話シミュレータクライアントによって最も適切な新しいテンプレートがアクセスされる。テンプレートは、その全てを記憶する必要はない。空白を埋めるために使用されるライブラリデータで可変テンプレートを決めることもできる。例えば、可変テンプレートは、「Ｈａｖｅ ｙｏｕ ｈｅａｒｄ ｏｆ ＜ｘ＞ ？」という文であるとする。可変データは、その可変データが使用されてもよいテンプレートを指示するトークンと共にレコードに格納され得る。会話シミュレータ処理は、この情報を得て、この情報を使用して発言を作成する。この基本的な考え方の他の変形も可能であり、当業者には明らかであろう。
【００７７】
テンプレートを更新するもう１つの方法は、フォーマット化されていないソースからのフィードを介したものである。新しいテンプレートに使用されるデータは、テンプレートを更新する目的のために構成且つ体系化されるライブラリから作成されるのではなく、例えば、特定のトピックに関するデータを求めてインターネットを検索するエージェントといった任意のデータソースから作成される。例えば、会話をしているときに、ユーザは、特定の作曲家が好き特に好きであることを示したとする。会話シミュレータ処理は、エージェントを作成し、その作曲家に関する情報をインターネットで検索するようプログラムされうる。データパーサ及びフィルタが未処理のリンク中の文を検索し、その作曲家に関する文を識別し、テンプレートの文（例えば、「Ｄｉｄ ｙｏｕ ｋｎｏｗ ＜ｘ＞ ？」）を埋めて、それをダイアログに使用する。データパーサは、現世代の会話シミュレータに使用されるのと同様のテンプレートマッチングアルゴリズムを使用してもよい。或いは、データパーサは、コンピュータ言語学の分野からの方法を使用して、特定のトピックに関連し、特定の出力パターンを生成するのに使用される情報を抽出する。尚、この処理は、スピーチに単に制限されるものではない。会話シミュレータは、グラフィック、音楽、及び、他のメディアを得て、それらをインタラクションに使用してよい。このような使用方法の１つの例としては、会話シミュレータを表すアニメ化されたキャラクタによって、その作曲家の音楽のデジタルクリップが「演奏」されることが挙げられる。これらのスピーチでないマルチメディアの変形は、以下に説明する会話シミュレータシステムの説明からより明らかとなろう。
【００７８】
会話シミュレータが、説得力があり信頼度が高くなるには、その応答の質に大きく依存し、その応答の質は、テンプレート（応答を含む）のデータベースのサイズに依存する。現在、新しいテンプレートを作成することは、むしろ厄介な処理である。変形を特定する方法は様々にあるが、それらは限られている。従って、可能な表現の多くの変形は、代わりのテンプレートとして表現されなければならない。例えば、テンプレート「Ｉ ｌｉｋｅ ＜ｘ＞」があるとき、＜ｘ＞は、「Ｉ ｌｉｋｅ ｈｏｒｓｅｓ」にマッチングする変数であるが、「Ｉ ｒｅａｌｌｙ ｌｉｋｅ ｈｏｒｓｅｓ」にはマッチングしない。「Ｉ ｒｅａｌｌｙ ｌｉｋｅ ｈｏｒｓｅｓ」には別のテンプレートが作成される。このことは非常に厄介となる。しかし、問題は、非効率であるだけではない。しばしば、テンプレートのシンタックスは、十分に表現が豊かではない。例えば、テンプレートは、１つの変数にしかマッチングすることができない。柔軟性が与えられるよう用語集があるのが望ましい。
【００７９】
テンプレートシンタックスによって、別の必要条件を処理する能力が与えられうる。例えば、スプロッチでは、「＆」記号を前置きすることによって必要条件を特定することができる。スプロッチは各代案に別個のテンプレートを作成する以外は、任意の条件に対し代案を特定しない一方で、テンプレートシンタックスは高められて、代替の必要条件を特定することができるようにされる。ラベルを使用して、離接接続詞を識別し、これらは、括弧、セパレーションコネクタ等を有するグループに区分され、適切な検索エンジンを使用して決められるような複雑な論理条件を作成する。スキームの１つの良好な例は、Ｌｅｘｉｓ（登録商標）データベースを検索するのに使用されるスキームである。例外が設けられて、非連続語へのマッチングといった条件への間違ったマッチングが排除され、それにより、関連のない単語を無視することができ、これは、例えば、上述したような「「Ｉ ｒｅａｌｌｙ ｌｉｋｅ」の例に言えることである。シンタックスは語順を無視する。例えば、「Ｉ」と「ｌｉｋｅ」は、マッチングのために必要であると特定することによって、テンプレートは「Ｉ ｌｉｋｅ」、「Ｉ ｒｅａｌｌｙ ｌｉｋｅ」、及び、「Ｉ ｖｅｒｙ ｍｕｃｈ ｌｉｋｅ」にマッチングするが、「Ｌｉｋｅ， Ｉ ｄｏｎ’ｔ ｔｈｉｎｋ ｙｏｕ ａｒｅ ｍａｋｉｎｇ ｓｅｎｓｅ」におけるように、「Ｌｉｋｅ Ｉ」にもマッチングしてしまう。テンプレートシンタックスは高められて、関連のない単語は無視するが、語順は無視しないようにされる。例えば、特定の例外が付加されて、「Ｉ」＆「ｌｉｋｅ」テンプレートから生成されるヒットから、「Ｌｉｋｅ Ｉ」（語順に敏感な）を排除することができる。もう１つの可能な方法としては、必要条件が順番通りにマッチングされなければならないという規則とすることである。もう１つの可能な方法としては、基準的な同義語をユーザの入力における変形と置換する「拡張」ルーチンに非常に似ており、あまり重要でない単語を排除するルーチンを持つことである。
【００８０】
キーワード抽出は、テンプレートマッチング技術に制限される必要はない。周知の自然言語技術を使用して、話された文又は書かれた文におけるキーワード及び句を識別することができる。
【００８１】
しばしば、ユーザが質問をしているのか否かを知ることは重要である。というのは、質問がされている場合は応答が異なってくるからである。質問がされているのか否かは、文における最初の単語、例えば、「ｗｈｙ」、「ｗｈａｔ」、「ｗｈｅｒｅ」、及び、「ｈｏｗ」等で始まる文によって決定される。会話シミュレータは、ユーザの入力が質問であるか否かを決定するようプログラミングされる。スプロッチでは、このことを行う１つの方法は、拡張ルーチンのようなルーチンを作成し、この作成されルーチンは、同義語ではなく、質問を認識する。この処理は、記号「ｑｑｑ」といった質問マーカでユーザの入力を変更し、それによって、テンプレートはこれにマッチングすることができるようにされる。これにより、質問にのみマッチングし、質問にのみ応答するテンプレートを書くことが容易となる。スピーチベースのシステムでは、自然言語又はテンプレートマッチング技術を使用して質問が識別される。（質問と）同様の技術を、感情を含んだ単語に対して使用してもよい。即ち、ルーチンは、感情及び態度を示す単語が会話シミュレータ又は他の対象に向けられているか否かを決定しうる。視覚的な合図及び／又は識別子（例えば、名前）を使用して、ユーザが言及している対象又はエンティティ（会話シミュレータ又は別の人／別の物）が示される。これは、応答のタイプを決定するのに重要な情報となる。
【００８２】
テンプレートは、ユーザの返答における単語への良好な適合性を超えると、基準によって優先順位が付けられる。例えば、スプロッチは、２つの同等に満足のいく代案のうち、より内容のある方を選択するようプログラミングされる。このようなマッチングによってスプロッチがよりインテリジェントであるかように見えるが、これは、話の腰を折ってしまう場合もある。一方、「Ｔｅｌｌ ｍｅ ｍｏｒｅ」といったようなユーザに話を続けさせるよう促す応答は、繰り返されすぎてうんざりすることがある。１つの可能性としては、応答を２つのクラスに分けることである。即ち、理解を示す応答（コメント）と、会話を続けさせるような応答（誘導因子）とに分けることである。その場合、出力は、２つのタイプの応答、例えば、関連性があり、更に、話を続けるよう促す応答から構成されることができる。応答の多くは両方の応答のタイプ、即ち、ユーザが言ったことに対するコメントとユーザに話を続けさせるような応答を含む。例えば、「Ｔｈａｔ ｗａｓ ｉｎｔｅｒｅｓｔｉｎｇ．  Ｔｅｌｌ ｍｅ ｍｏｒｅ． （それは面白いな。もっと話を聞かせてよ）」と常に言うことができる。しかし、時として、会話を誘導するような応答は、コメントが必要でないくらいに明確である場合がある。例えば、「ｗｈｙ」の質問は応答を促し、その応答は、会話シミュレータが、ユーザが言っていることを「理解」していることを示すのに十分な内容、例えば、「Ｗｈｙ ａｒｅ ｙｏｕ ｍａｄ ａｔ ｙｏｕｒ ｓｉｓｔｅｒ ？」を含むことができる。
【００８３】
このメカニズムを実施する１つの方法としては、テンプレートを、コメントである応答を有するテンプレートと、ユーザから更なる入力を促す応答を有するテンプレートとに分けることが挙げられる。テンプレートの適合器は、各クラスから最も良好にマッチングするテンプレートを選択し、２重応答で返答するか、又は、更なる情報を促す１つの応答で返答するのかのどちらが適切であるかを判断する。或いは、各テンプレートには両方のタイプの応答が添付され、各リストから１つずつ選択して二つの応答を選択することができる。後者のアプローチでは、応答を組み合わせることが容易になり、というのは、おそらく、２つのリストからの応答は矛盾しないからである。しかし、前者のアプローチは、後者のアプローチに比べると複雑ではなく、テンプレートを書くのにより柔軟性があり、というのは、各テンプレートに対しいつも両方のタイプの応答がついてくるわけではないからである。
【００８４】
優先順位を選択するのに使用する情報は、ユーザの性格クラス、現在性（例えば、テンプレートにおけるニュースデータの発行日）、ユーザの状況（例えば、ユーザは寝ているか？）、ユーザの情緒状態等を含んでよい。出力を生成するのに、２つの異なる処理、即ち、出力テンプレートの候補選択のために１つの処理及び候補テンプレートからの選択のために１つの処理を使用する必要はない。
【００８５】
スプロッチを含む多くの会話シミュレータは、コンテキストを理解することができない。会話シミュレータは、ユーザが最近に言った応答に示すことに応答する。この応答が「ｙｅｓ」又は「ｗｈｙ」といった１つの単語からなる応答である場合、会話シミュレータは、ユーザが何について話しているのか知ることはできない。コンテキストを付与する１つの方法としては、マッチングされるテンプレートのリストに、ユーザの幾つか最近の応答にマッチングされたテンプレートを含むことが挙げられる。古くて、高い優先順位を有するテンプレートが会話を完全に独占してしまうことを阻止するために、以前にマッチングされたテンプレートの優先順位は下げられるよう調節され、それにより、以前にマッチングされたテンプレートは、それらが再び言及されない限りは、最終的には会話からフェードアウトするようにされる。これは、システムがあたかも短期間メモリを有するような印象を与える。ユーザの性格を分類する際に説明したように、システムには長期間メモリが与えられて、性格クラス及び特定のユーザの他の永続的な特徴に関連付けられるテンプレートの優先順位に対し、より永続的な調節を行ってもよい。
【００８６】
上述したような優先順位調節スキームにおいて、部分的には性格分類によって特定のテンプレートの適切性が決定されるが、このスキームは現在の話題を保ち続けるために使用される。この技術の任意の変形を使用してもよい。テンプレートは、基準的なキーワード記述子と共に格納され、索引付けされて、検索が可能にされる。検索ベクトルが、キーワード、及び、気分、性格、オーディオ等といった他の現在のクラスに対し形成され、現在のテンプレートが検索される。検索ベクトルのキーワード部は、順序正しいキーワードの組である必要はない。キーワード部には、プロキシミティコネクタといったコネクタ、要求される単語、及び、代替の単語が含まれる。
【００８７】
ユーザが特定のトピックを頻繁に話題にすると、これらのトピックによってトリガされるテンプレートの優先順位が上げられ、それらのテンプレートが、将来の会話において選択される可能性が高くなる。更に、様々な応答を有するこれらのテンプレートの応答の優先順位モ調節され、好まれるトピックに関する任意の応答の優先順位が上げられる。追加のメカニズムを使用して、会話が一時的に途切れた際に新しいトピックが会話に出される。キーワードとのマッチングがないので、これらのテンプレートは、可能なテンプレートのリストには載っていない。１つの対策としては、特定のユーザに対し構築されたユーザプロファイルデータベースから情報を投入することである。このデータベースは、以前の会話からのキーワードを含み、データベースは、例えば、インターネットを介してアクセスされる外部のデータリソースからのデータによって拡充されている。多くの応答はランダムの変数を有する。例えば、「Ｍｙ ｆａｖｏｒｉｔｅ ｃｏｌｏｒ ｉｓ ＠ｃｏｌｏｒ．ｗ」という応答によって、スプロッチは、色のリストから色をランダムに選択するようにされる。このような選択はユーザの性格又は関心に基づいて優先順位が付けられていることが可能である。
【００８８】
ある選択されたテンプレートに対する応答を差別化する任意のメカニズムは、同じ応答が繰り返される危険性をもたらす。これを解決するために、一度１つの応答が選択されると、その応答にはマークが付けられ、それにより、その応答はしばらくの間選択されなくなる。ランダムな変数の場合、確率が均等とならないよう調節される。したがって、各応答には、いつごろ選択されたかを指示するインジケータによってマークが付けられる。次に、この情報を使用して、しばらくの間、その応答が、再度使用されないことを保証し、たとえ、その応答がランダムに選択されたとしても、これらはあまり短い間隔では繰り返されない。
【００８９】
優先順位を調節するのに、スーパバイズされる学習又はスーパバイズされない学習を使用してもよい。新しいテンプレートを作成するための非スーパバイズ式方法、即ち、過去の会話を試験し、新しいテンプレートを生成する方法は、意味のない応答を生成する傾向がある。しかし、この方法では、新しいテンプレートではなく、古いテンプレートに対し新しい応答を、非スーパバイズ式で学習することができる。新しいテンプレートを学習するためにサンプルの会話で会話シミュレータを訓練するのではなく、その訓練は代わりに新しい応答を学習するのに使用することができる。比較的高い度合いの特異性を有するテンプレートが、会話の一部にマッチングするとき、他の人の応答がこのテンプレートの応答に付加されてもよい。テンプレートがどれくらい特異であるか、また、そのマッチングがどれだけ近似しているか決定するのに基準が特定される必要がある。
【００９０】
現在、スプロッチは、マッチングするものがない場合、「Ｉ ｕｎｄｅｒｓｔａｎｄ」や幾つか関連のないユーモアのある発言といった空虚なコメントである応答を有するデフォルトのテンプレートを選択する。これらの反応は、過去において頻繁に出ていたトピックである応答を付加することによって適応することが可能である。例えば、「ｍｏｖｉｅｓ」が過去において頻出したトピックであるとすれば、「Ｗｏｕｌｄ ｙｏｕ ｌｉｋｅ ｔｏ ｔａｌｋ ａｂｏｕｔ ｍｏｖｉｅｓ ？」といった応答をデフォルトのテンプレートに付加することができる。
【００９１】
ランダム変数（例えば、＠ｃｏｌｏｒｓ．ｗ）を含むファイルも、特定の質問に対するユーザの応答に基づいて新しい変数が加えられることができる。更に、データベースからの情報も、ランダム変数を埋めるのに有用である場合がある。一般的に、会話シミュレータは、複雑な事実に基づく質問に答えて、シミュレータの限界を露呈してしまうことを避けなければならない。そのような質問に答えるには、言語を非常によく理解することが必要となり、また、いずれにしても、事実だけを述べて応答する人は、つまらないと思われてしまう。しかし、会話シミュレータはデータベースに支援されて自分の意見を述べることができ、これは、ユーザがｘを好きであること、また、ｘとｙは両方ともｚであるのでユーザはｙが好きであることといった関連のある情報を使用して行うことができる。この情報を使用して、会話シミュレータがユーザと同じような嗜好を有するようにすることができる。
【００９２】
社会的コンテキストに敏感であり、ユーザの応答に適応することができる会話シミュレータは、そのことができない会話シミュレータと比べて、説得力があり、信頼度が高くなる。というのは、会話シミュレータは深い理解を有する必要がないからである。会話シミュレータは、ユーザに話を続けるよう促し、ユーザが言ったことをあたかも理解したかのような幻影を持たせるような方法で時々応答することによって会話を保つことができる。更に、会話シミュレータがうまくユーザに話を続けさせるほど、会話シミュレータが理解しているかのような幻影を維持することが困難となる。ユーザが短い文で応答すると、応答するためのキーワードが少なくなる。しかし、ユーザが長い文で応答すると、応答をトリガする可能なキーワードは多くなる。間違ったキーワードに応答することによって、会話シミュレータが会話にあまり注意を払っていない印象を与えるか、一層悪いことには、会話シミュレータは、何が話されているかについて理解していないという印象を与える。この場合、ユーザはたくさん話すことをやめ、会話シミュレータが本当に理解しているのか否かを確認するために、会話シミュレータに質問をし始めてしまう。
【００９３】
真のスピーチ認識は、自然言語理解に依存する。会話シミュレータは、分別のある応答を生成するための規則を使用することによって、ユーザに会話シミュレータがあたかも話したことを理解するかのように思わせることによって、説得力があり信頼度が高いと思われることができたが、自然言語技術は、依然として制限された度合いで使用されて、会話シミュレータが、大きいコンテキストから単語の特定の意味を認識するか又は文を文法的に構文解釈するのを支援している。したがって、応答の中から選択しなければならないときには規則に基づいたテンプレートのアプローチを使用する一方で、文中の変数を表す正しい基準用語を決定し、また、例えば、直接目的語と動詞を区別するために文を構文解析するには、より高度な訓練集中式のネットワーク技術を使用する。多数の応答の中から生成すべき応答を最終決定する際には、会話シミュレータは、予測可能で且つ比較的複雑でない選択規則に依存すると、最も説得力があり信頼度が高くなる。
【００９４】
図１を参照するに、会話シミュレータは、コントローラ１００上で実行されるプログラムとして動作する。コントローラ１００は、例えば、接続されるノートブック１９５、カメラ１３５及び１３６に接続される画像プロセッサ３０５、遠隔制御器１５０及びキーボード１５５といった従来のユーザインタフェースデバイス１６０といった様々なソースから入力を受信する。他の入力デバイスとしては、マイクロホン１１２、スピーカ１１４、温度センサ、位置センサ、セキュリティスイッチ、近接センサ、電気負荷センサ、周辺光センサ、及び、マウスといった別のユーザインタフェースデバイス（これらは別個に図示せず）等といった様々な機器１４０が含まれる。データは、ローカル又はワイドエリアネットワーク１１５、又は、インターネットネットワーク１１０、又は、アンテナ１７０を介しコントローラ１００によって集められる。ローカルネットワーク１１５に接続されるデバイスには、スマート電気製品１３０、家庭用サーバ１２０、又は、例えば、ディスプレイ、オーディオ出力、ワイヤレスデバイス（別個に図示せず）等である出力デバイス１２３が含まれる。家庭用サーバ１２０は、傷みやすい商品及び食べ物、又は、美術及び工芸プロジェクトに使用する備品、趣味に使用する材料等の在庫データを格納しうる。スマート電気製品１３０には、バーコード読取り器及びディスプレイといったインタフェースを有する電子レンジ、テレビ受像機、ステレオ（別個に図示せず）、等が含まれる。コントローラ１００は、直接的にモニタ１７５を介し出力してもよい。モニタはキャビネット１９０を含み、これはコントローラ１００によってその外観を変えることができるよう光及びパターン出力素子を有する。インターネットネットワーク１１０は、衛星１０３又はサーバ１４０からそのデータを受信する。
【００９５】
図２は、会話のシミュレーションを含むユーザとのインタラクションを生成するのに使用されるイベント駆動式アーキテクチャを示す機能図である。ユーザに関する情報は、入力ユーザインタフェース４００処理によって受信され、このインタフェースは、キーボード、マウス、ハンドヘルド式コントローラ等といったスピーチ、ビデオ、制御デバイスから得られるオーディオ及びテキストといったデータを取り込む。入力ユーザインタフェースは、テキスト及び未処理信号をクラシファイア４０５に送る。受信されたデータは、クラシファイア４０５によって分類され、クラシファイアは、応答生成器４１５からの応答を要求するイベントを識別する。入力ユーザインタフェース４００によって受信される情報は、入力パーサ４１０にも供給され、入力パーサは、ユーザが発言した文といったインテリジェンスを集め、文を構文解釈且つフィルタリングし、このインテリジェンスを応答生成器４１５に供給する。集められたインテリジェンスは、他の情報と共にデータベース４３５に格納される。クラシファイア４０５によってイベントが信号で知らされる度に、応答生成器４１５は、クラシファイア４０５から、ユーザの気分、ユーザの関心レベル、性格、関心等といった状態情報を取出し、応答を生成する。一部の状態情報は、部分的に前の状態情報から決定されうる。例えば、ユーザの性格はそのような状態情報であると言える。クラシファイア４０５が、会話シミュレータから口頭の応答が必要であると指示すると、応答生成器４１５は、応答データ記憶装置４４０から適切なデータを選択し、出力ユーザインタフェース４２５に指示して、応答に対応する合成スピーチを出力させる。このデータは、スピーチと同時に駆動するようアニメーションドライバ２６０、フラッシュライト、又は、任意の他の種類の最終出力デバイス又はドライバに命令する。応答データ生成器４４５は、入力パーサ１４０から、例えば、ユーザの好きな俳優に関する情報を要求するデータ要求を受信する。応答データ生成器４４５は、例えば、ワールド・ワイド・ウェブといったデータリソースから情報を得てデータモジュールを作成するエージェント２０５を生成し、応答生成器４１５は、データモジュールから、後から使用される、又は、要求と同時に使用されるべき応答を生成する。この応答データは、応答データ記憶装置４４０に供給されて格納される。応答が生成されると、応答生成器４１５は選択的に入力パーサ１４０に信号を送り、コンピュータの応答に対する（ユーザの）返答に含まれることが期待されるものを指示し、入力パーサ４１０が返答を構文解釈するのを支援する。このことは、入力パーサ４１０が返答を認識することを支援するテンプレートといった形で行われうる。
【００９６】
図３を参照するに、図２に示すクラシファイア４０５と入力ユーザインタフェース４００を詳細に示す機能ブロック図を示す。図３は更に、本発明の様々な特徴を実施するのに使用できる機能アーキテクチャを表すが、本発明のシステムの範囲内でそれらの機能を達成する唯一の方法ではない。オーディオ入力２４５及びビデオ入力２５５、及び、他のユーザインタフェース（図示せず）によって生成される信号は、それぞれのクラシファイアに供給される。マイクロホン（図示せず）、音声及びその方向を指す指向性オーディオ検出器（図示せず）、又は、他の任意の好適なオーディオトランスデューサによって受信されるオーディオ入力２４５は、オーディオクラシファイア２１０に供給される。後者のデータはリアルタイム信号を形成し、オーディオクラシファイア２１０はこの信号を、好適なデジタル又はアナログ手段、又は、これらの組合せによって分類する。オーディオクラシファイア２１０は次に、現在の状態情報信号を生成し、この信号は、気分／性格クラシファイア２９０及びイベント／クラスプロセッサの両方に供給される。例えば、オーディオクラシファイア２１０は、発言の始まりを認識するようプログラムされ、それに反応して、会話シミュレータのスピーチの生成を中断させる信号を生成し、その結果、会話シミュレータが、ユーザが話している際に割り込むことが回避される。オーディオクラシファイア２１０は、照明をつける、いびき、ラジオの音、たくさんの人が同時に話している等といった特定の音を識別しうる。オーディオクラシファイアは更に、多数の音声源によって生成される音か否か、音はスピーチであるか否か、音は掃除機といった機械の音か否か、又は、ラジオの音か否かを決定する。これらのイベント及び／又は状態のそれぞれは、区別されるタイムスタンプと組み合わされ、組み合わされた信号は、イベント／クラスプロセッサ２０７に供給される。イベント／クラスプロセッサ２０７は、多数のクラシファイアからの状態情報を組合せ、ユーザを含むシステム環境の現在の状態を指示する環境／ユーザ状態信号を生成し、更に、クラシファイアによって特定のイベントが認識されたときに、瞬時の応答ができるようイベント信号（割り込み信号）を生成する。イベントの認識には、多数のクラシファイアからの状態情報を必要とし、従って、イベント／クラスプロセッサ２０７は、多数のクラシファイアからの状態データを組合せ、組み合わされた状態信号と組み合わされたイベント信号を生成する。環境／状態信号は、様々なクラシファイアが識別可能な全ての可能なイベントクラス、又は、ある信頼水準の閾値を上回るイベントクラスのみを示す。
【００９７】
ビデオ画像クラシファイア２４０はビデオ入力２５５を受信し、画像データを分類し、気分／性格クラシファイア２９０及びイベント／クラスプロセッサ２０７に供給される状態情報信号を生成する。ビデオ画像クラシファイア２４０は、例えば、ユーザが指し示している座標、手話ジェスチャに対応する指示、視界にいる人の数、ユーザのアイデンティティ等を供給するようプログラムされる。システム設計者の特定の目的に応じて、認証、機械のジェスチャ制御等といった様々な分野のビデオ処理技術を本発明のシステムに使用してもよい。他の出力デバイス（図示せず）はそれらの入力をそれぞれ他のＵＩクラシファイア２３５に供給し、ＵＩクラシファイアはその出力信号を、イベント／クラスプロセッサ２０７に供給する。他のＵＩクラシファイア２３５には、ハンドヘルド式遠隔制御器、マウス、キーボード、ジョイスティック等といった一般的なコンピュータの制御部が含まれる。他のＵＩクラシファイアには更に、周辺光といった環境、時間、室温、建物のセキュリティ状態、電気皮膚反応センサ、心拍センサ、キーボード又は遠隔制御キーの圧力感知等をモニタリングする計測器が含まれる。直接テキスト入力２５０を生成する任意のインタフェースデバイスは、テキストデータを、入力パーサ４１０に供給する。テキストデータは更に、スピーチからテキストに変換するコンバータ２１５から得ることも可能である。コンバータ２１５は、オーディオ入力２４５を受信し、その入力をテキストに変換する。テキストはオーディオから得られる場合には、コンバータ２１５によってタイムスタンプがつけられる。
【００９８】
コンバータ２１５は、従来技術の会話シミュレータに使用され、自然言語検索エンジンに使用されるような文法又は構造規則、又は、他の好適な手段を使用して、テキストの構文を解釈する。この構文解釈の結果、入力テキストのタイプ（句、文、及び、ユーザからの発言）を示すデータ、入力テキストから抽出される特定の可変データ、及び、入力テキストに対応するデータ要求が抽出される。入力テキストは、従来技術の会話シミュレータと同様に簡単な規則に基づくテンプレートを選択的に使用して構文解析される。従来技術の会話シミュレータと同様にこれらのフォームを特定の応答に単純にリンクするのではなく（しかし、それは、応答生成器４１５がどのようにプログラムされるかに依存した究極の結果である場合もある）、テキスト入力テンプレートを使用し、入力テキストから特定の情報を抽出する。このことは、本願に詳細に説明される規則に基づいたテンプレートマッチング方法によって説明されるが、他の自然言語システムを使用して行われてもよい。例えば、入力テキストが特定のテキスト入力テンプレートに対応するものと分かると、これは、応答生成器４１５によって使用されるべき１つ以上の出力テンプレートに対応しうる。テキスト入力テンプレートは更に、外部のデータ記憶装置から情報を得る、又は、外部のデータ記憶装置に情報を追加するために使用されるべき特定の単語又は句を指示する場合がある。例えば、会話シミュレータのプログラマによってある規則が決められ、それは、「Ｉ ａｍ ａ ｂｉｇ ｆａｎ ｏｆ Ｓｈａｋｅｓｐｅａｒｅ．」といった応答に適合するものとする。規則は、「Ｉ」という単語が、「ｆａｎ」とある程度の近接関係にあり、間違ったマッチングを避けるために特定の除外規則を有するものであるとする。１つ以上の更なる規則が使用されて、文の直接目的語、即ち、「Ｓｈａｋｅｓｐｅａｒｅ」が識別されてもよい。後者の規則は、テキスト入力テンプレートのマッチングに対し特別に決められるか、又は、一般的な規則であるか、又は、他の方法である。マッチングするテキスト入力テンプレートは、入力パーサ４１０が生成するデータ要求に対応する場合がある。Ｓｈａｋｅｓｐｅａｒｅの例では、データ要求は、Ｓｈａｋｅｓｐｅａｒｅについての追加情報の要求でありうる。この要求は、応答データ生成器４４５（図２に示し、以下により詳細に説明する）に供給される。応答データ生成器４４５は、外部ソースからデータを得、このデータは応答データ生成器４４５によって使用されて新しい出力テンプレートが形成される。この処理は、図４を参照しながら以下に詳細に説明する。
【００９９】
気分／性格クラシファイア２９０は、様々なクラシファイアから信号を受信し、これらの信号を処理して、気分／性格状態信号を生成する。気分／性格クラシファイア２９０は、訓練されたニューラルネットワーク、ベイズネットワーク、単純な規則に基づいたネットワーク、又は、多くの異なる入力を受け取りユーザが所与の情緒状態にある可能性及び所与の性格を有することを予測することができる任意の種類のクラシファイアであってよい。性格信号は、多くの行動を観察した結果であり、長い時間に亘って持続するものであることが好適である。単純なものから複雑なものまで、様々な性格及び気分の類型を使用することができる。ユーザが退屈していると分類する規則の組の例を以下に示す。
●文／句における単語が少ない（ユーザの発する文はほとんど単語を含まない）（応答における単語数を示す入力パーサ４１０信号）
●強い関心を示す最上級形の単語の発生率が少ない（形容詞を示す入力パーサ４１０信号）
●声のトーンが静かで単調である（変調抑揚強度を示すオーディオクラシファイア２１０信号）
●動作がない（ビデオ画像クラシファイア２４０信号による指示等）
●遠隔キーへの圧力が低い
●頭部又は体の動作がほとんどない
●ため息の音等
●時計を眺める
●会話シミュレータによって識別される対象（スピーチと同期されるアニメ化されたキャラクタ）との目のコンタクトがない
これらの項目はそれぞれ指示されるクラシファイアによって分類される。ユーザの服の色、ユーザの声のピッチ、ユーザが部屋に入って出た回数、ユーザのジェスチャ等は全て、ユーザの情緒状態及び／又は性格を探る手掛かりとなりうる。「ビック・ファイブ」性格類型、又は、米国特許第５，９８７，４１５号に提案されるより単純なバレンス／インテンシティ（ｖａｌｅｎｃｅ／ｉｎｔｅｎｓｉｔｙ）情緒状態類型、又は、他の任意の好適な類型を使用してもよい。
【０１００】
現在の精神状態を判断するために、任意の好適なフレームワークを使用してもよい。以下に示す表は、ビック・ファイブをまとめたものであり、これは、メイヤース・ブリックスの類型学から進化した副産物である。情緒状態及び性格のモデル化を題材とした学術論文は多くあり、これらの学術論文のうちの多くは、声、顔の表情、体位、及び、多くの他の機械入力に基づいた機械分類の問題を取り扱っている。インターネットを介するエージェント、又は、デイリー・サンシャイン（ｄａｉｌｙ ｓｕｎｓｈｉｎｅ）のような基本的な天気データを測定する機器を介し得られる天気さえも、精神的な情緒状態を推測するのに使用される。
【０１０１】
神経症傾向の６つの面（Ｃｏｓｔａ ＆ ＭｃＣｒａｅ， １９９２からのアレンジ）に対する連続体の両極のアンカ（ａｎｃｈｏｒ）
【０１０２】
【表２】
2004527809.tif 000004
外向性の６つの面（Ｃｏｓｔａ ＆ ＭｃＣｒａｅ， １９９２からのアレンジ）に対する連続体の両極のアンカ
【０１０３】
【表３】
2004527809.tif 000005
開放性の６つの面（Ｃｏｓｔａ ＆ ＭｃＣｒａｅ， １９９２からのアレンジ）に対する連続体の両極のアンカ
【０１０４】
【表４】
2004527809.tif 000006
協調性の６つの面（Ｃｏｓｔａ ＆ ＭｃＣｒａｅ， １９９２からのアレンジ）に対する連続体の両極のアンカ
【０１０５】
【表５】
2004527809.tif 000007
誠実性の６つの面（Ｃｏｓｔａ ＆ ＭｃＣｒａｅ， １９９２からのアレンジ）に対する連続体の両極のアンカ
【０１０６】
【表６】
2004527809.tif 000008
気分／性格クラシファイア２９０は、幾らかの自由度で状態ベクトルを出力し、これは、設計者によって選択される性格及び精神状態のモデルに対応する。気分／性格クラシファイア２９０は、性格をモデル化するには長い時間に亘って瞬間的なデータを蓄積してもよい。なぜなら、性格は永続的な状態であるからである。精神状態は変化しやすい要素を有する。
【０１０７】
図４を参照するに、応答生成器４１５は、気分／性格クラシファイア２９０から気分／性格状態ベクトルを、入力パーサ４１０から構文解析された返答データをそれぞれ受信する。応答生成器４１５は更に、イベント／クラスプロセッサ２０７から環境／ユーザ状態信号及びイベント信号を受信する。応答生成器４１５は更に、データベース４３０に接続されるパーサ／リクエスタ４３２からデータ要求信号を受信する。応答生成器４１５は、構文解析されたユーザからの返答、気分／性格状態、環境／ユーザ状態、及び、イベント信号に基づいて応答データ記憶装置４４０から応答を選択する。
【０１０８】
パーサ／リクエスタ４３２は３つのことを行う。即ち、構文解析されたユーザからの返答を試験し、データベース４３０に追加してデータベースを更新することができるような情報を探すこと、パーサ／リクエスタのプログラミングに指示されるようにトピックについての更なる情報を要求すること、及び、データベース４３０をより有用にするにはどのデータが必要か決定することを行う。パーサ／リクエスタ４３２がプログラムされてデータベース４３０を更新するのに有用であると認識するデータが、構文解析された返答に含まれる場合、そのデータは、パーサ／リクエスタ４３２によって抽出され、データベース４３０に追加される。例えば、データベース４３０が、テレビ番組に関するユーザの嗜好が含まれるユーザプロファイルであるときに、ユーザが会話シミュレータと会話をしている際に「Ｉ ｌｉｋｅ Ｐｏｋｅｍａｎ」と言ったとすると、パーサ／リクエスタ４３２はキーワード「ポケモン（Ｐｏｋｅｍａｎ）」をデータベース４３０に追加しうる。パーサ／リクエスタ４３２は更に、エージェント２０５を立てることによってデータソース（リソースデータ４５０として表す）から更なる情報を要求する要求を生成する。例えば、エージェント２０５は、インターネットサイトからポケモンキャラクタの名前を示すテキストを入手しうる。パーサ／リクエスタ４３２はこれらのキャラクタの名前を抽出し、データベース４３０内のプロファイルデータにそれらを追加する。
【０１０９】
データベース４３０が大量の嗜好データを蓄積したが、質問をすることによって明らかにすることができる曖昧さを見つけたとすると、パーサ／リクエスタ４３２はデータ要求を生成して、その要求を応答生成器４１５に供給し、それにより、ユーザに明らかにするよう質問するという応答が、ある時点においてなされる。例えば、データベース４３０が、スポーツ番組が頻繁に見られていることを指示するものとする。しかし、どのスポーツが好きであるかに関するデータは曖昧であるとする。その場合、データベース４３０には更に、会話シミュレータが断続的に質問することによって時間をかけて漸進的に埋められてゆく標準的なデータ要求が含まれることがある。これは、フォームを埋めていくためのアナログ的な方法であるが、ユーザはこの処理が行われていたことを知る必要は全くない。データベース４３０がＥＰＧ用のプロファイルデータベースである例では、標準的な設定情報の組があり、これは、上述したように漸進的に埋めていかれない場合、カスタマイゼーションデータのフォームを記入することによって処理される。このことは、会話シミュレータの場合は、単純に、当該データを要求するテンプレートを生成し、時々、これらのテンプレートからの質問を会話の中に挿入して、ユーザの返答から当該のデータを見つけ出すことによって処理される。
【０１１０】
データベース４３０の他の例としては、投資情報を有するスマートカードや、ユーザとのインタラクションの月々の請求額が遅延なく支払われるようユーザの月々の支払い先を含む（インターネットによってリンクされる）外部データベースが挙げられる。スマートカードは、例えば、ホテルのキオスクで使用され、カードに格納される活動の嗜好データに基づいて活動を薦めることができる（例えば、古い教会の歴訪、又は、サイクリング）。同じデータが、スマートカードではなくて、無線周波数デバイス、携帯情報端末、又は、任意の好適な手段に格納されてもよい。データベース４３０は、製品調査といった調査を行う外部データベースであってもよい。データベース４３０は、家庭用ネットワークからのショッピングリストであってもよく、ユーザとのインタラクションによって、ショッピングリストに追加したり、ショッピングリストから削除したりする。本発明の範囲において他にも多くの可能な例がある。
【０１１１】
図５を参照するに、例えば、応答データ記憶装置４４０は、それぞれ１つ以上のアニメーションを駆動させるテンプレートのセットを保持してもよい。したがって、そのようなテンプレートがトリガされると、応答は、スピーチ出力（音等）に合わせられるアニメーションか、又は、他の任意の出力とは独立したアニメーションとなる。応答生成器４１５は、出力テンプレートを選択し、それを図５に示すアニメーションドライバ２６０に送る。アニメーションドライバ２６０は、それに反応して、特定の対応するアニメーションをディスプレイデバイス（図示せず）に出力する。ディスプレイデバイスは、図１に示すようなモニタ１７５であってよい。応答生成器４１５は更に、テキストを含むテンプレートも選択する。応答生成器４１５は、テキストをテンプレートテキストに加え、これをテキストからスピーチに変換するコンバータ２７５に送信してスピーチ出力を生成する。テンプレート選択及び可変スピーチ又は可変テキストは、従来の方法通りに、スプロッチといったスピーチシミュレータによって処理される。応答生成器４１５は、コンピュータ又はモニタのディスプレイといった直接テキスト出力２８０に直接テキストデータを出力してもよい。応答生成器４１５は更に、他の出力効果を供給するテンプレート２７０をアクセスしてもよい。出力効果の別の例として、モニタのキャビネット１９０（図１参照）の可変照明を含むキャビネット効果ドライバ２６５が挙げられ、キャビネットの外観が出力コマンドに反応して変化する。アニメーションドライバ２６０によって供給されるアニメーションは、コンバータ２７５によってスピーチチャンネル８０と同期され、それにより、アニメーション上に現れるキャラクタがあたかも話しているような様相が与えられる。同じような同期が他の効果、例えば、キャビネット効果ドライバ２６５によって駆動されるテレビジョンのキャビネット１９０と一緒に行われ、ユーザにテレビジョンがあたかも性格を持っているような様相を与えることができる。或いは、テレビジョンがあたかも人のような様相が与えられる。
【０１１２】
コンバータ２１５又は直接テキスト入力２５０のいずれかによって得られる入力は、入力パーサ４１０によって構文解析され、構文解析された返答は、応答生成器４１５に供給される。応答生成器４１５は、構文解析される返答、気分／性格状態、環境／ユーザ状態、及び、イベント信号に基づいて、応答データ記憶装置４４０の中から最も適切なテンプレートを選択する。応答生成器４１５は、全ての当該信号に基づいて、各候補テンプレートに対する適合推定の適切度を計算する。その結果、応答生成器４１５は、テキストに含まれるデータに関しユーザの発言に反応するだけでなく、本願に説明する他の多くのファクタにも反応する。特に、分類されたユーザの情緒状態及び性格によって、会話の内容、会話シミュレータの応答のスタイル（雰囲気）を変化させる。
【０１１３】
ビデオ入力２５５からのデータの流れをたどるに、ビデオ入力２５５信号は、ビデオ画像クラシファイア２４０に供給される。ビデオ画像クラシファイア２４０は、ビデオ入力２５５信号における様々に異なる画像及びビデオシーケンスのクラスを認識するようプログラムされる。例えば、ビデオ画像クラシファイアは、座っている人と横になっている人と区別する、静かに座っている人と激しく動き回っている人又は会話シミュレータシステムの付近を離れる人とを区別するようプログラムされうる。これらのクラスの夫々に対する確率が生成され、信号として出力される。或いは、１つの最も可能性の高いクラスが生成され、信号として出力される。この信号は、イベント／クラスプロセッサ２０７に供給され、このプロセッサは供給されたデータを他のクラスデータと組合せ、環境／ユーザ状態信号を生成する。イベント／クラスプロセッサ２０７は、ビデオ画像クラシファイア２４０から、何か突然重要なことが起こったということ、例えば、ユーザが起きて部屋を離れたということを示す指示を受信すると、イベント／クラスプロセッサ２０７は、その活動に対するイベント信号を生成し、この信号は、応答生成器４１５によって生成される出力を同時に中断させうる。気分／性格クラシファイア２９０がビデオ画像クラシファイア２４０から信号を受信し、この信号はユーザがいらいらしているように動き回っていることを示すとすると、気分／性格クラシファイア２９０はこの情報を他のクラシファイア信号と組合せ、心配事があるという情緒状態を示す気分／性格状態ベクトルを生成しうる。例えば、オーディオクラシファイア２１０は同時に、発話者の声のピッチが通常より高く、入力パーサ４１０が最近の応答の単語数が極端に少ないことを示しうる。応答生成器４１５によって選択される候補応答テンプレートの選択は、この気分／性格状態によって影響を受け、例えば、そのような状況となったときに応答生成器４１５が選択するようプログラムされる１つ以上のトピックに切替えられるよう選択される。
【０１１４】
尚、現在のクラス又は状態が、以前とは変わっていることを表しているか否かをシステムが決定するために、イベント／クラスクラシファイア２０７及び気分／性格クラシファイア２９０にはデータ記憶能力と現在のユーザを決定する手段が設けられ、それにより、異なるユーザに対し対応する経歴、過去を格納することができる。システムには更に、ユーザ識別子４６０が与えられる。ユーザ識別子が与えられるには、例えば、ビデオ画像クラシファイア２４０による顔認識、無線周波数識別トークン、スマートカード、音声署名、又は、ユーザが、指紋といったバイオメトリックインジケータ或いは単にＰＩＮコードを使用して身分証明することを可能にする簡単なユーザインタフェースといった任意の好適な身分証明手段を使用する。このようにして、気分／性格クラシファイア２９０及びイベント／クラスプロセッサ２０７の両方はそれぞれ、特定のユーザを過去のデータに相関させ、その相関されたデータを使用して、応答生成器４１５の応答の傾向を識別且つ信号で伝える。
【０１１５】
応答生成器４１５が、様々な入力からの情報に反応するもう１つの例を以下に示す。ビデオ画像クラシファイア２４０がビデオ入力２５５から受信した画像に、人の寝ている様子を識別するときに、会話シミュレータアプリケーションがスピーチを生成しているとする。すると、応答生成器４１５は、会話をやめて、白色雑音又は音楽を生成する。もう１つの例としては、別の人が部屋に入ってきたとすると、応答生成器４１５は、会話の途中にポーズを入れて、ユーザがたった今部屋に入ってきた人と話をすることができるようにする。その場合、会話生成器２４０は、たった今部屋に入ってきた人に自分を紹介してほしいと頼むか、又は、ユーザが会話を続けたいか否かを聞く発言をはさみこんでもよい。更なる例としては、オーディオクラシファイア２１０によって変換されるオーディオ入力２４５が、人が笑っている様子を識別したとする。オーディオクラシファイア２１０は信号を生成し、応答生成器４１５はその信号に対し、応答生成器４１５のプログラミングにおける規則に応じて、笑い声の後に、冗談を含む応答が続けられるべきであることを示す応答テンプレートを選択する。
【０１１６】
入力パーサ４１０は、文中の、ユーザによって示される関心又は質問に対応する特定の部分を構文解析する。例えば、ユーザは、「Ｉｓ ｉｔ ｄｉｆｆｉｃｕｌｔ ｔｏ ｆｉｘ ａ ｈｏｍｅ ａｉｒ ｃｏｎｄｉｔｉｏｎｅｒ ？」と聞いたり、又は、日本料理に関心があることを表現したとする。入力パーサ４１０は、質問及び関心に関連のある特定の記号又はテキストデータを抽出し、データ要求を生成するようプログラムされる。応答データ生成器４１５は次に、エージェント２０５のインスタンスを生成し、ローカルネットワーク又はインターネット（「ローカルネットワーク／インターネット２００」として表してある）といったリソースデータ４５０から更なる情報を得えもよい。エージェント２０５によって得られるデータは次に、応答データ生成器４４５によって構文解析され、新しいテンプレートがそれにより形成される。このために、応答生成器４１５は、応答データを、応答生成器４１５が使用する規則と関連付けるようプログラムされる。以下に幾つかの例を説明し、何が可能であるかを説明する。まず、ユーザは上述したような空調機（ａｉｒ ｃｏｎｄｉｔｉｏｎｅｒ）に関する質問をする。応答データ生成器４４５は、その話題と特定のニーズを示すデータ要求を受信する。この場合では、ニーズとは、早急に情報がほしいということである。エージェント２０５が答えを得ると、応答データ生成器４４５は応答を組立て、その応答は、会話シミュレータの会話の中で高い優先順位が与えられるべきであることを指示する。この場合、この応答は、聞かれた質問を確認することが好適である。例えば、応答は、「Ｆｒｏｍ ｗｈａｔ Ｉ ａｍ ａｂｌｅ ｔｏ ｇａｔｈｅｒ， ｔｈｅ ａｎｓｗｅｒ ｔｏ ｙｏｕｒ ｑｕｅｓｔｉｏｎ ｒｅｇａｒｄｉｎｇ ｗｈｅｔｈｅｒ ｉｔ ｉｓ ｅａｓｙ ｔｏ ｆｉｘ ａ ｈｏｍｅ ａｉｒ ｃｏｎｄｉｔｉｏｎｅｒ， ＜ｘ＞．」となる。「＜ｘ＞」という記号は、リソースデータ４５０からから集められたデータを表す。次に、ユーザは、日本料理における関心を表現する。これにより、日本料理に関する情報を得るためのデータ要求がもたらされる。応答データ生成器４４５は関連の情報を検索し、例えば、「Ｄｉｄ ｙｏｕ ｋｎｏｗ ｔｈａｔ ｔｈｅｒｅ ｉｓ ａ ｈｉｇｈｌｙ−ｒａｔｅｄ Ｊａｐａｎｅｓｅ ｒｅｓｔａｕｒａｎｔ ｌｏｃａｔｅｄ ｏｎ １４ｔｈ Ｓｔ．？」といった新しいテンプレートを形成する。このテンプレートには、このテンプレートが会話を始めるときの、又は、話題を変えるときの応答であり、また、ユーザの関心に直接関連することを示す指示が付けられる。検索され引出しされるデータは、インタラクションシミュレータによって後の「会話」にはさみこまれたり、又は、直ぐに話題に出されたりしてよい。
【０１１７】
入力パーサ４１０は、文中から特定の種類の情報を抽出するために、認識テンプレート、コンピュータ言語技術、又は、他のモデルを使用して動作する。もう１つの例として、ユーザが「Ｉ ｖｅｒｙ ｍｕｃｈ ｅｎｊｏｙｅｄ ｔｈｅ Ｐｏｋｅｍａｎ ｔｅｌｅｖｉｓｉｏｎ ｐｒｏｇｒａｍ ｔｈａｔ Ｉ ｓａｗ ｙｅｓｔｅｒｄａｙ．」といった文を発言したとすると、入力パーサ４１０は直接目的語である「Ｐｏｋｅｍａｎ」を抽出し、この直接目的が特定の認識テンプレートに対応するので、これをデータ要求として送信する。或いは、直接目的語を、自然言語技術を使用して識別することによってデータ要求として送信する。認識テンプレートは、「Ｉ」及び「ｌｉｋｅ」の近接性といった規則を使用する。自然言語デバイスはより柔軟性があるが、似たような結果を生成してしまう。テンプレートを用いてテンプレートの文構造を利用することにより、質問か意見を述べたものであるか、又は、好きか嫌いか等を区別することができる。単純なテンプレートスキームは、ユーザの発言における全てのデータを使用しない場合もあるが、プログラムすることが簡単な技術を提供することができ、それにより、比較的少ない規則で説得力があり信頼度の高い会話シミュレータを提供することができる。
【０１１８】
エージェント２０５は、ローカルネットワーク／インターネット２００にアクセスし、例えば、データ要求に基づいた検索にマッチングしたウェブサイト上のテキストに加えて更なる情報へのリンクといったデータを集める。応答データ生成器４４５は、エージェント２０５から得たテキスト及び他のデータをフィルタリング且つ構文解析する。ユーザからの返答テキスト及びリソースデータ４５０からの未処理データを処理することにより、入力パーサ４１０及び応答データ生成器４４５は、認識テンプレート又は他の自然言語処理によって特定の単語又は句を選択する。他のデータとの比較を容易にするために、この処理によって、選択されるテキストは、基準的なフォームに変換される。例えば、応答テンプレートを表すキーワードは、所定の基準用語のセットに制限されうる。ユーザが発言すると、ユーザの発した単語は、基準フォームに変換されてから、様々な応答テンプレートを特徴付けるキーワードベクトルと比較される。引出しされたデータを検索する際に、基準フォームへの変換の後に、様々な基準フォームの変形の分離的なリストを使用する検索質問を生成し、最も可能性の高いヒットレートを得る。
【０１１９】
図６を参照するに、会話シミュレータは、ユーザの動作及び環境に反応し、会話シミュレータの動作が適切であることを確実にする。例えば、図６には、ユーザが寝ている状況を示す。ビデオ入力２５５は、ビデオクラシファイア２４０に供給される信号を生成する。ビデオクラシファイア２４０は、要素のリストが付いているリアルタイム状態ベクトルを有する。各要素は、会話シミュレータの「視覚的な」環境の状態についての情報を追加する。例えば、ユーザの活動は、幾つか異なる状態のうちから分類されることができる。ここでは、ユーザの活動は「静止」と識別され、これは、ユーザが部屋の中を動いておらず、比較的穏やかであることを意味する。状態ベクトルのもう１つの要素としては、部屋の中にいる人の数があり、ここの場合では、１である。
【０１２０】
ビデオ画像クラシファイア２４０が現在の技術を用いて容易に識別できるもう１つの分類は、部屋における新しい対象物の数である。前の状況において、ビデオ画像クラシファイア２４０は、単純なスキームによってその環境を記憶してある。例えば、ビデオ画像クラシファイア２４０は、初日にその環境の写真を撮り、次の日にシステムが再度立ち上げられたとすると、記憶されている画像における対象物の数と、現在の画像中に識別される対象物の数とを比較することができる。次に、新しい対象物の数が出力され、この情報は返答を生成するのに使用されてもよい。
【０１２１】
もう１つの分類としては、体位が挙げられる。体位には、例えば、立っている位置、うつ伏せの位置、座っている位置等が含まれる。ここでの場合、ユーザは、うつ伏せの位置にあるものと識別される。会話シミュレータシステムによって受信されるオーディオ信号も、２つの処理、即ち、スピーチからテキストに変換するコンバータ２１５及びオーディオクラシファイア２１０に供給される。入力パーサ４１０はコンバータ２１５によって出力されるテキストに最良にマッチングする認識テンプレートを識別しようとする。従って、例えば、寝ている人のいびきの音にマッチングするテンプレートは、どの特定の認識テンプレートにもあまりうまく相関しない場合がある。しかし、オーディオクラシファイア２１０がいびきを示し、ビデオ画像クラシファイア２４０がユーザの活動を示すことによって追加の情報が得られることによって、応答生成器４１５は、会話シミュレータが話をすることが不適切であるという状況を識別することができ、その代わりに、テンプレートセレクタ／ストア２２５は、白色雑音（又は音楽、或いは、全く音を出さない、或いは、照明を落とす）を生成する。
【０１２２】
イベント／クラスプロセッサ２０７は、フィルタ及びデータコンソリデータとして作用する。イベント／クラスプロセッサ２０７は、多数のクラシファイアからのクラスデータを組合せ、レベルの高いクラス情報を出力する。図６に示す例では、イベント／クラスプロセッサ２０７は、オーディオクラシファイア２１０及びビデオクラシファイア２４０からの入力を統合し、ユーザの活動、即ち、寝ている状態に対応するレベルの高いクラス（「メタクラス」）を生成する。オーディオクラシファイア２１０は音を入力し、その音を用いてオーディオクラシファイア２１０が認識するよう訓練されているクラスを識別しようとする。イベント／クラスプロセッサ２０７は、オーディオクラシファイア２１０及び他のクラシファイアからクラス情報を受信し、メタクラスを使用してイベント／クラスプロセッサ２０７が認識するよう訓練されているクラス情報を識別しようとする。尚、本願に説明するアーキテクチャは、本発明の様々な特徴を実施するための唯一の方法ではなく、例えば、イベント／クラスプロセッサ２０７は単純に省略されて、その機能は、応答生成器４１５によって取って代わられてもよい。しかし、機能を分離することの１つの利点は、イベント／クラスプロセッサ２０７は、応答生成器４１５によって使用されるクラシファイアとは異なる種類のクラシファイアを使用してもよいという点である。例えば、応答生成器４１５は、スプロッチが使用するような規則に基づいたテンプレート適合器を使用する一方で、イベント／クラスプロセッサ２０７は、訓練されたニューラルネットワーク型のクラシファイアを使用することができる。この機能の割当は、応答生成器４１５の出力の数が、イベント／クラスプロセッサ２０７（又は他のクラシファイア）が認識するよう訓練されるクラスの数よりかなり多いので一層好適である。これは、ネットワーク型のクラシファイア（例えば、ニューラルネットワーク及びベイズネットワーククラシファイア）は、多数の可能な出力状態があるときに訓練することが非常に困難であることが周知の事実であることによる。
【０１２３】
図６に示す構成は、従来技術の会話シミュレータとは実質的に異なる。従来技術の会話シミュレータはスピーチパターンだけに基づいて最適なテンプレートを選択するのに対し、本発明のシステムは、ユーザの状況に関連する他の情報も考慮に入れ、その情報に反応して会話を始める。オーディオクラシファイア２１０及びビデオ画像クラシファイア２４０からの追加の情報を使用して、よりよい応答が生成される。この追加の情報の効果と、最も可能な出力を供給するためにその情報を利用することは、会話シミュレータとしての本発明のシステムがより一層人間らしく動作することを可能にする。
【０１２４】
図７を参照するに、ここでは、同様の環境において、ビデオ入力２５５及びオーディオ入力２４５から得られる追加の情報を、スピーチのテキストに加えて使用し、会話シミュレータからの出力を生成する。この例では、オーディオクラシファイア２１０は３つのインジケータを出力する。即ち、ユーザ以外の人が話していることを示すインジケータ、第２の声があることを示すインジケータ、及び、一定期間の静寂があることを示すインジケータを出力する。スピーチからテキストに変換するコンバータ２１５は、「Ｈｉ Ｂｏｂ！  Ｈｏｗ ｉｓ ｉｔ ｇｏｉｎｇ ？」というテキストを生成する。入力パーサ４１０は、そのテキストを、「Ｂｏｂ」に向けられた挨拶であることを分類し、且つ、聞かれた質問の基準フォームを分類する。つまり、「Ｈｏｗ ｉｓ ｉｔ ｇｏｉｎｇ ？」は、入力パーサ４１０の出力では、「Ｈｏｗ ａｒｅ ｙｏｕ ？」によって表される基準フォームとして示される。同じデータが気分／性格クラシファイア２９０に供給される。ビデオ画像クラシファイア２４０は、誰かがゆっくりと歩いており、視野には２人の人３１０がおり、新しい対象物はなく、２人の体の位置は２人が立っていることを示す。気分／性格クラシファイア２９０はユーザに関する性格データと、前の会話から検出されるユーザの気分を格納する。これは、イベント／クラスプロセッサ２０７に供給される出力信号に示される。
【０１２５】
イベント／クラスプロセッサ２０７は、２つの声があり、テキスト中にユーザの名前が登場した事実、及び、部屋に２人の人がいて、そのうちの１人はたった今部屋に入ってきたという事実を示すオーディオクラスを組み合わせる。組み合わされた情報は、イベント／クラスプロセッサ２０７によって、割り込みするべきでない状況が示されていることを認識される。イベント／クラスプロセッサ２０７は、応答生成器４１５に供給されるイベント信号を生成し、この信号は、ポーズを挿入して直ぐにスピーチが出力されることを阻止する。次に応答生成器４１５は、クラシファイアからの他のデータを使用して、会話シミュレータが紹介されたいことを示唆するテンプレートを識別する。気分／性格クラシファイア２９０からの性格情報は、この選択の際に使用され、例えば、プログラマは、より内向的な会話シミュレータの場合は、社会状況において静かな感じの紹介のされ方を好むと仮定する。応答生成器４１５は一時会話を中断した後に、「Ｅｘｃｕｓｅ ｍｅ， Ｉ ｄｏｎ’ｔ ｋｎｏｗ Ｂｏｂ．」という発言をする。「Ｂｏｂ」という単語は、イベント／クラスプロセッサ２０７を介し入力パーサ４１０から来たものである。
【０１２６】
尚、ビデオ画像クラシファイア２４０は、別個の活動、体の位置等、シーン中における各識別される個人に対する分類を含んでもよい。これらはそれぞれ、ビデオ画像クラシファイア２４０によって識別される各個人に対し１つのベクトルで別々に出力されうる。尚、オーディオクラシファイア２０１は指向性能力も有してもよく、それにより、どの個人から声が発せられているのかを区別することができる。例えば、図７に示すシナリオでは、オーディオクラシファイア２１０は、話をしている特定の発話者、即ち、グループＡを識別し、そのことを出力に指示する。入力パーサ４１０によって構文解析されるテキストを、話をしている個人に相関させるために、全ての出力にタイムタグが付けられてもよい。例えば、オーディオクラシファイア２１０は、各音信号にタイムタグを付け、その信号が来ている方向を指示することができる。オーディオクラシファイア２１０は更に、音から声紋を識別する能力が与えられていてもよい。この情報を使用して、イベント／クラスプロセッサ２０７は、テキストにタイムタグを付け、それにより、応答生成器４１５が音のする方向の座標及び声紋をテキストに相関することができるようにされる。次にテキストは、話をしていた個人に相関される。
【０１２７】
図８を参照するに、視野に子供３１５が座っていることを示すビデオ入力２５５によってビデオ画像クラシファイア２４０は、ベクトルを生成する。ベクトルは、ユーザが座っていること、ユーザが子供であること、視野における個人の数は１であること、ユーザは特に何もしていないことを示す。オーディオ入力２４５は、スピーチからテキストに変換するコンバータ２１５とオーディオクラシファイア２１０に供給される。コンバータ２１５は子供の笑い声として認識されるテキストを入力パーサ４１０に供給する。入力パーサ４１０は、ユーザは笑っていることを示すベクトルを生成する。オーディオクラシファイア２１０は音と同じクラスを識別する。ビデオ画像クラシファイア２４０は、ユーザが何もしておらず、座っているものと分類し、新しい対象物はなく、且つ、現在の視野における個人の数は１であることを指示する。イベント／クラスプロセッサ２０７は、ユーザは笑っているということを応答生成器４１５に指示する。応答生成器４１５は、笑い声の後には面白い発言又は冗談が続けられるべきであるという単純な規則でプログラムされる。応答生成器４１５は、ランダムに冗談を選択し、その冗談は、テキストからスピーチに変換するコンバータ２７５に供給される。応答生成器４１５は更に、テレビジョンのキャビネット効果ドライバ２６５を介する同期される照明効果を生成し、アニメーションドライバ２６０を介し、冗談とアニメーションが同期され、その後に笑っているアニメーションが表示される。
【０１２８】
図９を参照するに、ユーザ３２５との会話から得られるデータは構文解析され、新しい会話データを生成するために使用される。ユーザの発言から変換されるスピーチは、「Ｐｏｋｅｍａｎ」及び「ｌｉｋｅ」といった単語を高い近接性で含み、入力パーサ４１０は、このスピーチ中に「Ｐｏｋｅｍａｎ」に関するトピックに関心があることを示す表現を識別する。入力パーサ４１０は、「Ｐｏｋｅｍａｎ」トピックに関する更なるデータを要求する要求を生成し、要求を示す信号を応答データ生成器４４５に供給する。応答データ生成器４４５は、エージェント２０５のインスタンスを作成し、これは、ローカルネットワーク／インターネット２００からデータを入手する。ローカルネットワーク／インターネット２００は、ワールドワイドウェブサイトといったリソースデータ４５０にリンクされる。更なる情報は、構文解析され、応答データ記憶装置４４０に１つ以上の応答テンプレートといった形式で格納される。ビデオ画像クラシファイア２４０は、ユーザが子供であることを分類し、ユーザは興奮している又は動揺していることを指示する。イベント／クラスプロセッサ２０７は、ユーザの発言の内容と、熱心さと興奮のメタクラス状態を指示し、ユーザの「Ｐｏｋｅｍａｎ」に対する関心度を説明する。応答生成器４１５は、応答データ記憶装置４４０に「Ｐｏｋｅｍａｎ」のテンプレートを見つけるとすぐに、エージェント２０５から得た情報を含む応答を生成し、応答データ発生器４４５によって構文解析され応答に形成される。応答には、アニメーションドライバ２６０を介しアニメーションが同期されてもよい。
【０１２９】
図１０を参照するに、会話シミュレータはユーザの悲しい気分を検出し、思いやりのある応答を生成する。会話シミュレータはプロファイルデータベース内の嗜好データを使用して、提案をする。ビデオ入力２５５は、ユーザ３４５の顔を含む。ビデオ画像クラシファイア２４０は、ユーザの顔の表情を悲しい表情として分類する。ユーザの返答には、悲しい気分であることを示す他の単語も含む。オーディオクラシファイア２１０は、ユーザの声が弱く、ピッチが低いと分類する。気分／性格クラシファイア２９０は、これらの分類を組み合わせて、ユーザの気分を表すメタクラスを生成し、ここでは、塞ぎこんでいることを示す。気分／性格クラシファイア２９０の出力状態ベクトルもこのことを示す。応答生成器４１５は、ユーザの発言の内容を受信し、気分のクラスとともにその内容に反応して、思いやりのある応答に対応するテンプレートを見つけ、それを出力する。応答データ生成器４４５は、例えば、好きなテレビ番組、趣味、関心等といったプロファイルデータをデータベース４３０から事前に受信する。データベース４３０はユーザに関するプロファイルデータを格納する。これに反応して、応答データ生成器４４５は、リソースデータ４５０からの電子番組ガイドから番組情報を得ており、応答データ記憶装置４４０に格納される応答テンプレートを生成する。その結果、応答生成器は、思いやりのある発言をした後に、例えば、ユーザの好みの番組がその夜放送されることを伝える励ましの発言をする。
【０１３０】
図１１を参照するに、図９を参照しながら説明したように「Ｐｏｋｅｍａｎ」という単語が抽出される。しかし、図９に示すように、新しい応答テンプレートを作成するために、外部のデータソースから情報を単純に得るのではなく、このデータはデータベース４３０を拡充するよう使用される。本発明の例では、データベース４３０は、プロファイルデータであり、ユーザの嗜好に合わせてＥＰＧの内容をフィルタリング且つソートするのに使用される。パーサ／リクエスタ４３２は、入力パーサ４１０から構文解析される返答を受信し、選択的にエージェント２０５のインスタンスを生成し、更なる情報を得る。エージェント２０５はポケモンに関する新しいデータを返し、この新しいデータは構文解析され、そのうちの一部は、データベースに追加される。例えば、エージェント２０５によってポケモンキャラクタの名前が得られたとする。このデータは、ユーザがポケモンについて言及したという情報とともにデータベースに追加される。
【０１３１】
尚、プロファイルデータ（ここの例では、データベース４３０に格納される）は、ローカルでも、遠隔にあるサーバ上に格納されてもよい。プロファイルデータは新しいテンプレートを作成するためのソースとして使用されるだけでなく、性格クラス又はそうでなければ個人的な応答を形成するための情報ソースとしても使用される。
【０１３２】
応答データ記憶装置４４０は、多数のテンプレートが格納されるデータベースであってよい。これらのテンプレートは必ずしも永続的なテンプレートである必要はない。多くのテンプレートは、インターネットから「ライブ」のデータを得る及び新しいテンプレートを構築する処理の際に追加される。応答データ生成器４４５によって、インターネット又はローカルネットワーク又はデータソースから抽出され、新しいテンプレートとして組み込まれる情報には、テキスト、リンク、又は、モニタ１７５上で表示可能なグラフィックといった他の種類のデータ情報が含まれる。
【０１３３】
会話シミュレータを実施することによって、他のデバイスを、会話シミュレータシステム用のスピーチ駆動型インタフェースとして動作させることが可能となる。例えば、会話シミュレータが「Ｗｏｕｌｄ ｙｏｕ ｌｉｋｅ ｔｏ ｄｏｗｎｌｏａｄ ａ ｎｅｗ Ｐｏｋｅｍａｎ ｇａｍｅ ？」と発言し、スピーチをテキストに変換するコンバータが「Ｙｅｓ」という発言をコマンドに変換し、そのコマンドは、応答データ生成器４４５によって得られたリンクを呼び出し、そのリンクにアクセスするのに使用される。
【０１３４】
上述の例が示すように、会話シミュレーションに使用するテンプレートのセットは、ユーザとの会話だけから情報を回収するスタティックな情報セットである必要はない。むしろ、会話シミュレータは実際に、外部ソースからの情報を使用してテンプレートを作成することができる。外部ソースは、システムによって自発的にアクセスされるか、又は、上述したように、入力パーサ４１０によって識別されるトリガ単語又はトリガテンプレートによってアクセスされる。例えば、文中において、単語「Ｐｏｋｅｍａｎ」が、検索及びエージェント２０５のインスタンスをトリガする「Ｉ ｌｉｋｅ」とともに使用されると、更なる情報及びポケモンに関するデータファクトへのリンク等が検索される。
【０１３５】
ビデオ画像クラシファイア２４０処理には、ビデオ情報を受信するカメラ（ビデオ入力２５５によって表される）を制御する能力を含むことができる。ビデオ画像クラシファイア２４０は、部屋の中の、人間又は人間でなくてもよい対象物を区別しようとし、人間の様々な特徴にズームしようとする。例えば、ビデオ画像クラシファイアは、新しい人間を識別すると、その人間の顔が視野においてどこにあるのか識別し、視野において識別した各個人の顔に定期的にズームし、個人を識別したり、個人の気分を識別するのに使用できる顔の表情を得ることができる。
【０１３６】
本発明は、上述したように、好適な実施例のコンテキストで説明したが、当業者には明らかなように、本発明の目的又は範囲から逸脱することなく、これらの好適な実施例に対し様々な変更を行い、また、様々な等価的な実施例によって置換することができることを理解するものとする。
【図面の簡単な説明】
【図１】
本発明の実施例が実施されうるハードウェア環境を示す図である。
【図２】
本発明の実施例において、本発明を実施するために使用されうるソフトウェアシステムにおける処理間のデータフローの全体を示す機能図である。
【図３】
図２に示すフローチャートの詳細を示す図である。
【図４】
図２に示すフローチャートの詳細を示す図である。
【図５】
図２に示すフローチャートの詳細を示す図である。
【図６】
ユーザが寝ている例示的な状況に対し反応する図３乃至５に示すシステムを説明する図である。
【図７】
ユーザが別の人に呼びかけられた例示的な状況に対し反応する図３乃至５に示すシステムを説明する図である。
【図８】
ユーザが笑っている例示的な状況に対し反応する図３乃至５に示すシステムを説明する図である。
【図９】
ユーザが関心のあるトピックを話している例示的な状況に対し反応する図３乃至５に示すシステムを説明する図である。
【図１０】
ユーザがふさぎこんでいる例示的な状況に対し反応する図３乃至５に示すシステムを説明する図である。
【図１１】
ユーザが関心のあるトピックを話している例示的な状況に対し、外部データ記憶装置にあるデータを拡充することで反応する図３乃至図５に示すシステムを説明する図である。
【図２】
2004527809.tif 000009
【図３】
2004527809.tif 000010
【図４】
2004527809.tif 000011
【図５】
2004527809.tif 000012
【図６】
2004527809.tif 000013
【図７】
2004527809.tif 000014
【図８】
2004527809.tif 000015
【図９】
2004527809.tif 000016
【図１０】
2004527809.tif 000017
【図１１】
2004527809.tif 000018
【国際公開パンフレット】
2004527809.tif 000019
2004527809.tif 000020
2004527809.tif 000021
2004527809.tif 000022
2004527809.tif 000023
2004527809.tif 000024
2004527809.tif 000025
2004527809.tif 000026
2004527809.tif 000027
2004527809.tif 000028
2004527809.tif 000029
2004527809.tif 000030
2004527809.tif 000031
2004527809.tif 000032
2004527809.tif 000033
2004527809.tif 000034
2004527809.tif 000035
2004527809.tif 000036
2004527809.tif 000037
2004527809.tif 000038
2004527809.tif 000039
2004527809.tif 000040
2004527809.tif 000041
2004527809.tif 000042
2004527809.tif 000043
2004527809.tif 000044
2004527809.tif 000045
2004527809.tif 000046
2004527809.tif 000047
2004527809.tif 000048
2004527809.tif 000049
2004527809.tif 000050
2004527809.tif 000051
2004527809.tif 000052
2004527809.tif 000053
2004527809.tif 000054
2004527809.tif 000055
2004527809.tif 000056
2004527809.tif 000057
2004527809.tif 000058
2004527809.tif 000059
2004527809.tif 000060
2004527809.tif 000061
2004527809.tif 000062
2004527809.tif 000063
2004527809.tif 000064
2004527809.tif 000065
2004527809.tif 000066
2004527809.tif 000067
2004527809.tif 000068
2004527809.tif 000069
2004527809.tif 000070
2004527809.tif 000071
2004527809.tif 000072
2004527809.tif 000073
2004527809.tif 000074
2004527809.tif 000075
2004527809.tif 000076
2004527809.tif 000077
【国際調査報告】
2004527809.tif 000078
2004527809.tif 000079
2004527809.tif 000080