(57)【要約】    【構成】対話システム１０では、ダイアログデータベース１４に予め設定しているスクリプトに従って、ロボットＲから発話し、その発話に対して人Ｈが返答するための１つまたは２以上の選択肢をスクリプトに従ってタッチディスプレイ１２に表示する。人Ｈがその選択肢をタッチして選択すると、選択された返答の内容が、タッチディスプレイ１２に関連して設けられたスピーカから発話される。タッチディスプレイ１２に表示する選択肢は、「情報の収集」、「関係性の構築」、「意思決定に向けた説得」、「意思決定」、「目的のない雑談」などの対話のフェーズに応じて設定される。    【効果】スクリプトに従ってすべて発話されるが、人が返答項目を選択するので、人は自分の意思を表明した実感を持ちながら、ロボットとの自然な対話を継続することができる。【選択図】図１
2017162268.tif 000002
【特許請求の範囲】
【請求項１】
スクリプトを予め設定しているダイアログデータベース、
前記ダイアログデータベースのスクリプトに従って発話する発話エージェント、
前記発話エージェントによる発話に対して人が返答すべき１つまたは２以上の選択肢をスクリプトに従って表示する表示手段、および
前記表示手段に表示された選択肢を人が選択したとき、その選択肢の内容をスクリプトに従って発話する発話手段を備える、対話システム。
【請求項２】
前記表示手段に表示される選択肢は、似通った意味を持つ２以上の選択肢を含む、請求項１記載の対話システム。
【請求項３】
前記表示手段に表示される選択肢は、１つである、請求項１または２記載の対話システム。
【請求項４】
ダイアログデータベースに予め設定されているスクリプトに従って対話する対話システムのコンピュータによって実行される制御プログラムであって、前記コンピュータを
前記ダイアログデータベースのスクリプトに従って発話する発話エージェント、
前記発話エージェントによる発話に対して人が返答すべき１つまたは２以上の選択肢をスクリプトに従って表示する表示手段、および
前記ディスプレイに表示された選択肢を人が選択したとき、その選択肢の内容をスクリプトに従って発話する発話手段として機能させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、対話システムおよび制御プログラムに関し、特にたとえば、ロボットのようなエージェントまたは人と、少なくとも１人の人とがタッチディスプレイを通して対話する、新規な対話システムおよび制御プログラムに関する。
【背景技術】
【０００２】
近年の音声認識の技術の発展により、たとえば特許文献１のような対話システムが提案されている。特許文献１のシステムは、人とロボットとの対話システムにおいて、両者の同調を図ることで、持続的で自然なインタラクションを実現しようとするものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２‐１８１６９７号公報[G06F 3/16…]
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術においても、音声認識に基づく処理には限界があり、人と同等の対話感を与えること、および特定の内容を対話を通じて適切に伝達することは容易ではない。
【０００５】
それゆえに、この発明の主たる目的は、新規な、対話システムおよび制御プログラムを提供することである。
【０００６】
この発明の他の目的は、人に対話に参加している感覚を持続させることができる、対話システムおよび制御プログラムを提供することである。
【０００７】
この発明の他の目的は、質問に対して適切な内容を伝達することができる、対話システムおよび制御プログラムを提供することである。
【課題を解決するための手段】
【０００８】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００９】
第１の発明は、スクリプトを予め設定しているダイアログデータベース、ダイアログデータベースのスクリプトに従って発話する発話エージェント、発話エージェントによる発話に対して人が返答すべき１つまたは２以上の選択肢をスクリプトに従って表示する表示手段、およびディスプレイに表示された選択肢を人が選択したとき、その選択肢の内容をスクリプトに従って発話する発話手段を備える、対話システムである。
【００１０】
第１の発明では、対話システム（１０：実施例において相当する部分を例示する参照符号。以下同様。）は、スクリプトを予め設定しているダイアログデータベース（１４）を備える。たとえばロボット（Ｒ）のような発話エージェントは、たとえば対話制御マネージャ（１６）のような制御手段によって、ダイアログデータベースのスクリプトに従って、たとえば人（Ｈ）に対して発話する。この発話に対して人は返答するのであるが、表示手段（１６、２４）は、ダイアログデータベースのスクリプトに従って、ディスプレイ（１２、１２２）に、人が返答すべき１つまたは２以上の選択肢を表示させる。この選択肢の表示を見て、人がそのうちのどれか１つを選択すると、発話手段（２４、２６）が、の選択肢の内容をスクリプトに従って発話する。
【００１１】
第１の発明によれば、発話エージェントの発話と人の返答はすべてスクリプトに従っているため、対話の破綻はない。そのうえ、人は自分で選択肢を選択し、その内容が音声で発話されるので、スクリプトに従っているとはいえ、人は自分の意思を反映した選択肢（返答）であると認識させることができる。
【００１２】
第２の発明は、第１の発明に従属し、表示手段に表示される選択肢は、似通った意味を持つ２以上の選択肢を含む、対話システムである。
【００１３】
第２の発明では、人の最終的な意思決定の対話フェーズでは、たとえば対話エージェントが商品の購入を人に持ちかけた場合、意思決定の最終段階において、たとえば
「気に入ったので買います」、「うん、そうします」というような、すべて同意を示す返答のみを提示することで、意思決定の誘導を行うことができる。
【００１４】
第２の発明によれば、人の意思決定を誘導することができる。
【００１５】
第３の発明は、第１または第２の発明に従属し、表示手段に表示される選択肢は、１つである、対話システムである。
【００１６】
第３の発明では、最終的に意思決定してもらいたい方向に人を誘導するために返答の選択肢を１つに限定することで、強制的に対話システムが想定する方向に人を誘導する。
【００１７】
第３の発明によれば、選択肢を１つに限定することで、強制的に人の返答を誘導し、人のその後の意思決定を、対話システムが想定する方向に誘導することができる。
【００１８】
第４の発明は、ダイアログデータベースに予め設定されているスクリプトに従って対話する対話システムのコンピュータによって実行される制御プログラムであって、コンピュータを、ダイアログデータベースのスクリプトに従って発話する発話エージェント、発話エージェントによる発話に対して人が返答すべき１つまたは２以上の選択肢をスクリプトに従って表示する表示手段、およびディスプレイに表示された選択肢を人が選択したとき、その選択肢の内容をスクリプトに従って発話する発話手段として機能させる、制御プログラムである。
【００１９】
第４の発明によっても、第１の発明と同様の効果が期待できる。
【発明の効果】
【００２０】
この発明によれば、発話エージェントの発話と人の返答はすべてスクリプトに従っているため、対話の破綻がなく、しかも自分の意思を反映した返答を行ったと人に認識させることができる。
【００２１】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２２】
【図１】図１はこの発明の一実施例の対話システムの概要を示す概略図である。
【図２】図２は図１実施例における対話制御マネージャの構成の一例を示すブロック図である。
【図３】図３は図１実施例におけるロボットの一例を示す概略図である。
【図４】図４は図３のロボットを制御するロボットコントローラの構成の一例を示すブロック図である。
【図５】図５は図１実施例におけるタッチディスプレイＩ／Ｆの構成の一例を示すブロック図である。
【図６】図６は図１に示す対話制御マネージャの動作の一例を示すフロー図である。
【図７】図７は図１に示すロボットコントローラの動作の一例を示すフロー図である。
【図８】図８は図１に示すタッチディスプレイＩ／Ｆの動作の一例を示すフロー図である。
【図９】図９は図１実施例においてタッチディスプレイに表示される選択肢（返答項目）を例示する図解図である。
【図１０】図１０はこの発明の他の実施例の対話システムの概要を示す概略図である。
【発明を実施するための形態】
【００２３】
図１を参照して、この実施例の対話システム１０の対話場所には、対話エージェントとしてのロボットＲと、１人の人Ｈが存在する。ただし、ロボットＲの数や人Ｈの数は２以上であってもよい。そして、この実施例の対話システム１０では、ロボットＲと人Ｈとがタッチディスプレイ（タッチディスプレイ）１２を通じて対話する。
【００２４】
簡単に言えば、ダイアログデータベース１４に予め設定または準備したダイアログまたはスクリプト（台本）に従って対話制御マネージャ１６がロボットＲに、人Ｈに対する質問など発話させるとともに、タッチディスプレイ１２に人Ｈが返答の際に選択できる１つまたは２以上の返答項目を表示する。
【００２５】
人Ｈは返答項目の１つをタッチディスプレイ１２上で選択する。応じて、タッチディスプレイ１２がその選択した返答項目に応じた発話を、人Ｈの返答として発話する。実施例の対話システム１０は、このような対話を繰り返す、新規な対話システムである。
【００２６】
人が発話するとき、その発話に応じる形で相手の発話が生成されなければ、対話を続けていくこと自体が困難になりやすいため、音声認識および自然言語処理の能力が完璧でないロボットは、人間の発話に対して適切な発話をし続けることは容易ではなく、対話は破綻しやすい。
【００２７】
そこで、この実施例では、ロボットが発話する際に、必ずしも人に発話で返答させる形にするのではなく、タッチディスプレイ１２だけで返答させる。こうすることによって、ロボットの能力不足による対話の破綻を回避することができる。しかも、タッチディスプレイ１２にロボットＲの発話人Ｈ対する返答としてふさわしい返答項目を表示し、それを人Ｈに選択させることによって、人Ｈに対話に参加している感覚を持続させ、さらにはロボットＲからの質問に対して適切な返答を返すことでできる。
【００２８】
この実施例のような対話システム１０は、たとえば、情報収集サービス、情報提供サービス、広告サービス、販売サービスなどのシステムとして利用可能である。
【００２９】
対話システム１０は、上述のようにロボットＲに人Ｈに対して発話させたり、タッチディスプレイ１２上に人Ｈの返答のための返答項目を表示したりするための、ダイアログ（Dialog：対話）データベース１４を備える。ここで、「ダイアログ」は、対話中に行うべき発話や非言語動作の指令の系列を意味し、ダイアログデータベース１４は、ダイアログの集合（たとえば、バナナの何が好きという対話やロボット介護の何が大切かという対話など、各トピックの対話のための指令の系列が含まれる）である。そして、「スクリプト」は、その指令の系列を表す文字列のことであり、スクリプトデータは、その指令を表す文字列である。したがって、スクリプトデータの系列がスクリプトになる。スクリプトは、この実施例では、State Chart XML (SCXML: w3c.org)により記述され、すべてダイアログデータベース１４に保管されている。
【００３０】
一例として、『T=XX、RH SPEAKER=R L=HUMAN TEXT=……、NONVERVAL=……』というスクリプトにおいて、「T=XX」は、当該スクリプトが実行されるべき時間（または時刻）XXであり、「RH SPEAKER=R L=HUMAN」は、ロボットＲから人Ｈに向かって発話することを意味し、「TEXT=……」が発話すべきテキスト文を示す。「NONVERVAL=……」は、たとえばロボットＲの動作、人Ｈを見る、頷く、首を横に振る、首をかしげるなどの、非言語動作を示す。
【００３１】
このようなスクリプトは、対話制御マネージャ１６によって、ダイアログキュー１８からロボットＲを制御するためのロボットコントローラ２０に送信される。
【００３２】
図２に示す対話制御マネージャ１６は、ＣＰＵ１６aを含み、ＣＰＵ１６ａには、内部バス１６ｂを介して通信装置１６ｃが接続される。通信装置１６ｃは、たとえばネットワークインタフェース（ＮＩＣ）などを含み、ＣＰＵ１６ａはこの通信装置１６ｃを介してロボットコントローラ２０、タッチディスプレイＩ／Ｆ２４などと通信でき、それらの間でデータの授受を行うことができる。
【００３３】
ＣＰＵ１６ａにはさらに、内部バス１６ｂを介して、メモリ１６ｄおよび入力装置１６ｅが接続される。メモリ１６ｄはＲＯＭやＲＡＭを含む。メモリＩ／Ｆ１６ｆを通してダイアログデータベース１４から、スクリプト（ダイアログ）を読み込み、それをメモリ１６ｄに一時的に記憶する。
【００３４】
また、対話制御マネージャ１６に必要なプログラム（ＯＳやセンサ信号取得プログラムなど）は、メモリ１６ｄに記憶される。対話制御マネージャ１６はメモリ１６ｄに記憶されたプログラムに従って動作する。
【００３５】
ダイアログキュー１８もたとえばメモリ１６ｄの中の一領域であるが、このダイアログキュー１８には、次ダイアログ候補プール２２にロードされているスクリプトデータを、次にロボットＲが実行できるように，待ち行列の形でロードすることができる。
【００３６】
図３を参照して、この図３は実施例のロボットＲの外観を示し、ロボットＲは台３０上に、台３０に対して、前後左右に回転できるように、設けられる。つまり、胴体３２には２自由度が設定されている。
【００３７】
胴体３２の人の肩に相当する左右位置からは、それぞれに、肩関節（図示せず）によって、右腕３４Ｒおよび左腕３４Ｌが、前後左右に回転可能に設けられる。つまり、右腕３４Ｒおよび左腕３４Ｌには、それぞれ、２自由度が設定されている。
【００３８】
胴体３２の上端中央部には首３６が設けられ、さらにその上には頭部３８が設けられる。首３６すなわち頭部３８は、胴体３２に対して、ロール角（左右の傾げ）、ピッチ各（前後の傾げ）、ヨー（左右の回転）で３自由度が設定されている。
【００３９】
頭部３８の前面すなわち人間の顔に相当する面には、右目４０Ｒおよび左目４０Ｌが設けられ、右目４０Ｒおよび左目４０Ｌには眼球４２Ｒおよび４２Ｌが設けられる。右目４０Ｒおよび左目４０Ｌは、まぶたを閉じたり開いたりでき、眼球４２Ｒおよび４２Ｌはそれぞれ上下左右に回転可能である。つまり、右目４０Ｒおよび左目４０Ｌすなわちまぶたには１自由度が、眼球４２Ｒおよび４２Ｌには２自由度が設定されている。
【００４０】
顔にはさらに、口４４が設けられていて、口４４は、閉じたり開いたりできる。つまり、口４４には１自由度が設定されている。
【００４１】
胴体３２の、人間の胸の位置には、対話システム１０において人Ｈに聞かせるための発話を行うスピーカ４６および環境特に人Ｈの発話音声を聞き取るマイク４８が設けられる。
【００４２】
なお、頭部３８の顔の額に相当する部分には動画または静止画を撮影できるカメラ５０が内蔵される。このカメラ５０は、対面する人Ｈを撮影でき、このカメラ５０からのカメラ信号（映像信号）は、環境カメラ１６（図１）と同様に、センサマネージャ１８のセンサＩ／Ｆを介してＣＰＵ２２ａに、入力されてもよい。
【００４３】
図４はロボットＲの動作（発話や非言語動作など）を制御するロボットコントローラ２０を示すブロック図である。この図４を参照して、ロボットコントローラ２０は、ＣＰＵ２０ａを含み、ＣＰＵ２０ａには、内部バス２０ｂを介して通信装置２０ｃが接続される。通信装置２０ｃは、たとえばネットワークインタフェースなどを含み、ＣＰＵ２０ａはこの通信装置２０ｃを介して対話制御マネージャ１６、さらには外部のコンピュータや他のロボット（ともに図示せず）などと通信でき、それらの間でデータの授受を行うことができる。
【００４４】
ＣＰＵ２０ａにはさらに、内部バス２０ｂを介して、メモリ２０ｄが接続される。メモリ２０ｄはＲＯＭやＲＡＭを含む。対話制御マネージャ１６から送られる制御データやスクリプトデータがメモリ２０ｄに一時的に記憶される。
【００４５】
また、ロボット制御に必要なプログラム（ＯＳやセンサ信号取得プログラムなど）は、メモリ２０ｄに記憶される。ロボットコントローラ２０はメモリ２０ｄに記憶されたプログラムに従ってロボットＲの動作を制御する。
【００４６】
つまり、ロボットコントローラ２０のＣＰＵ２０ａにはさらに、たとえばＤＳＰで構成された出力ボード２０ｅが接続され、この出力ボード２０ｅは、ロボットＲの上述の各部（図３）に設けられたアクチュエータの動作を制御する。ただし、ロボットＲの各部の具体的な動作は、実施例には関係しないので、ここでは詳しい説明は省略する
なお、図３に示すロボットＲのスピーカ４６がロボットコントローラ２０の出力ボード２０ｅに接続される。したがって、ＣＰＵ２０ａは、対話制御マネージャ１６から与えられ、必要に応じてメモリ２０ｄに記憶されたスクリプトデータに従って、スピーカ４６から発声（発話）させる。
【００４７】
さらに、図３に示すロボットＲのマイク４８やカメラ５０が入力ボード２０ｆを経て、ＣＰＵ２０ａに入力される。ＣＰＵ２０ａは、その入力データを、対話制御マネージャ１６に送る。対話制御マネージャ１６は、マイク４８から取り込んだ音声データをメモリ１６ｄ（図２）に記憶し、必要に応じて、音声認識処理を実行する。対話制御マネージャ１６はまた、カメラ５０からのカメラ信号を処理して、対話場所の状況をセンシングする。
【００４８】
また、図１実施例の対話システム１０に用いられるロボットＲは図３を参照して上で説明したロボットに限定されるものではなく、少なくともスクリプトに従って発話できる機能があればよい。
【００４９】
図５はタッチディスプレイ１４の表示や発話を制御するタッチディスプレイＩ／Ｆ２４を示すブロック図である。タッチディスプレイＩ／Ｆ２４は、ＣＰＵ２４ａを含み、ＣＰＵ２４ａには、内部バス２４ｂを介して通信装置２４ｃが接続される。通信装置２４ｃは、たとえばネットワークインタフェースなどを含み、ＣＰＵ２４ａはこの通信装置２４ｃを介して対話制御マネージャ１６などと通信でき、それらの間でデータの授受を行うことができる。
【００５０】
ＣＰＵ２４ａにはさらに、内部バス２４ｂを介して、メモリ２４ｄが接続される。メモリ２４ｄはＲＯＭやＲＡＭを含む。対話制御マネージャ１６から送られる制御データやスクリプトデータがメモリ２４ｄに一時的に記憶される。
【００５１】
また、タッチディスプレイ１２の制御に必要なプログラム（ＯＳやセンサ信号取得プログラムなど）は、メモリ２４ｄに記憶される。タッチディスプレイＩ／Ｆ２４はメモリ２４ｄに記憶されたプログラムに従ってタッチディスプレイ１２の動作を制御する。
【００５２】
つまり、タッチディスプレイＩ／Ｆ２４のＣＰＵ２４ａにはさらに、たとえばＤＳＰで構成された出力ボード２４ｅが接続され、この出力ボード２４ｅは、タッチディスプレイ１２に設けられているスピーカ２６から音声を出力させるとともに、タッチディスプレイ１２に表示データを出力する。
【００５３】
ただし、スピーカ２６はタッチディスプレイ１２に設けられてもいいが、タッチディスプレイ１２とは別にそれの近傍に設けられていてもよい。
【００５４】
タッチディスプレイＩ／Ｆ２４のＣＰＵ２４ａにはさらに、入力ボード２４ｆが接続され、この入力ボード２４ｆは、タッチディスプレイ１２に設けられている座標検出回路２８からの座標データ（タッチ座標データ）を取得してＣＰＵ２４ａに入力する。ＣＰＵ２４ａは、その入力座標データを、対話制御マネージャ１６に送る。対話制御マネージャ１６は、その座標データを受けて、そのとき人Ｈがタッチディスプレイ１２上のどの返答項目にタッチしたかを知ることができる。
【００５５】
図１の対話システム１０では、対話場所のロボットＲは、先に説明したスクリプトに従って対話を進行するが、ロボットＲの発話およびタッチディスプレイ１２による発話を統括的に制御するのが、対話制御マネージャ１６である。
【００５６】
図６に示すフロー図は、その対話制御マネージャ１６のＣＰＵ１６ａ（図２）の動作を示す。この図６の動作は、たとえばフレームレート程度の速度で繰り返し実行される。
【００５７】
最初のステップＳ１でＣＰＵ１６ａは、ダイアログデータベース１４（図１）から上述したようなスクリプトデータを読み込むなど、初期化を実行する。
【００５８】
続くステップＳ３においてＣＰＵ１６ａは、たとえばロボットコントローラ２０から取り込んだカメラ信号やマイク信号などのセンサデータを更新する。
【００５９】
次のステップＳ５では、ステップＳ３で更新したセンサデータに基づいて、対話制御マネージャ１６のＣＰＵ１６ａは、対話場所に人Ｈがいるかどうか判断する。このステップＳ５で“ＮＯ”なら、ステップＳ３に戻って待機する。
【００６０】
ステップＳ５で“ＹＥＳ”を判断したとき、ＣＰＵ１６ａは、次のステップＳ７において、次候補プール２２から次候補のスクリプトデータを読み込む。そして、ステップＳ９で、次候補スクリプトがあるかどうか判断する。
【００６１】
次候補スクリプトがあれば、ステップＳ１１においてＣＰＵ１６ａは、そのスクリプトはロボットＲの制御用のスクリプトであるかどうか判断する。このステップＳ１１で“ＹＥＳ”ならステップＳ１３において、ロボットコントローラ２０がロボットＲの制御動作を実行する。ステップＳ１１で“ＮＯ”ならステップＳ１５でさらに、次候補スクリプトはタッチディスプレイ１２のためのものかどうか判断する。ステップＳ１５で“ＹＥＳ”ならステップＳ１７において、タッチディスプレイＩ／Ｆ２４がタッチディスプレイ１２の制御動作を実行する。
【００６２】
つまり、次候補プール２２に登録されている情報から、ロボットＲを制御するかタッチディスプレイ１２に表示するかを、対話の制御ルールに従って対話制御マネージャ１６が決定し、ロボットコントローラ２０もしくはタッチディスプレイＩ／Ｆ２４に制御信号を伝達する。たとえば、ロボットＲを制御すべきときは、ステップＳ１１で、発話する内容に最適な制御信号および再生音声の情報をロボットコントローラ２０に伝達する。タッチディスプレイ１２を制御すべき場合は、タッチディスプレイ１２に表示して人Ｈに選択させるための返答項目の情報を伝達する。
【００６３】
図７を参照して、ロボットコントローラ２０は、ステップＳ３１で初期化を実行する。ロボットコントローラ２０によって制御するロボットＲの動作は、アイドル動作と制御信号に従った動作の２種類である。アイドル動作の実行とは、明示的な制御信号が対話制御マネージャ１６から送信されていない場合でも、止まることなく、瞬き、呼吸、近くの人の方を見る、などの基本的な動作をさせることを指す。その際、ロボットコントローラ２０の動作フローとは独立に、ロボットＲのマイク４８やカメラ５０などのセンサを用いて人Ｈの存在の有無や人の位置などの情報を取得することで、より社会的にふさわしい動作を実現する（ステップＳ３３）。
【００６４】
次に、アイドル動作が実行されているなかで、対話制御マネージャ１６からの制御信号を受信した場合、ステップＳ３５で“ＹＥＳ”を判断し、ステップＳ３７において、ロボットコントローラ２０のＣＰＵ２０ａは、その制御信号に従った動作をロボットＲに実行させる。具体的には、指示された台詞（テキスト文）の発話とそれに従う動作を実行する。
【００６５】
なお、ステップＳ３７の動作が終了したとき、ロボットコントローラ２０のＣＰＵ２０ａがロボットＲの動作が終了したロボット終了フラグ（図示せず）を対話制御マネージャ１６に送って、図６の対話制御マネージャ１６による制御に遷移する。それによって、対話制御マネージャ１６はタッチディスプレイ１２での表示タスクに移行する。つまり、対話制御マネージャ１６は、ロボットコントローラ２０からのロボット終了フラグを待って、タッチディスプレイ１２の制御に移行する。
【００６６】
図８を参照して、タッチディスプレイ１２の動作は図１および図５で示したタッチディスプレイＩ／Ｆ２４によって制御する。タッチディスプレイＩ／Ｆ２４のＣＰＵ２４ａは、ステップＳ４１で初期化を実行する。そして、ステップＳ４３で対話制御マネージャ１６から制御信号を受け取ったかどうか判断し、ステップＳ４３で“ＹＥＳ”を判断したとき、ステップＳ４５でその送信された制御信号に従って、その状態において表示すべき１または２以上の選択肢（返答項目）を表示する。ただし、実施例では人ＨからロボットＲへ質問するための選択肢も存在するが、このような選択肢も便宜上「返答項目」と呼ぶことがある。
【００６７】
その後、ステップＳ４７でユーザが表示されたいずれかの返答項目にタッチしたと判定できた場合、ステップＳ４９において、その選択された返答項目の音声による読み上げを行う。
【００６８】
この実施例のようにタッチディスプレイ１２の画面に表示された複数個の選択肢（返答項目）の中から自分の意思で１つを選択すると、与えられたのはシステムが設定した有限個の選択肢であるにも拘わらず、選択した返答が自分の意見であるように人Ｈに感じさせることができる。また、タッチディスプレイ１２に表示されたものの中から人Ｈに選択してもらうことで、ロボットＲは音声認識を使わずに対話することができる。
【００６９】
また、人Ｈが選択した選択肢（返答項目）をタッチディスプレイ１２またはそれぞれの近傍に設けたスピーカ２６から読み上げる（発話する）ようにすれば、人Ｈはあたかもその返答を自分が発話したように感じ、自然な対話感が損なわれない。
【００７０】
ここで、人Ｈがどの返答項目を選択したか（タッチしたか）は、先に説明したように、タッチディスプレイ１２に関連して設けられた座標検出回路２８（図５）が検出したタッチ位置をＣＰＵ２４ａが判定することによって判断される。そして、この判断結果（選択した返答項目）は、それ以降の対話の進捗のために、対話制御マネージャ１６に返される。
【００７１】
その後、読み上げられた音声の終了を判定した（ステップＳ５１）後、図６にリターンして、対話制御マネージャ１６の制御に遷移する。
【００７２】
ここで、ステップＳ４９の動作が終了したとき、タッチディスプレイＩ／Ｆ２４のＣＰＵ２４ａがタッチディスプレイ１２での動作が終了したタッチディスプレイ終了フラグ（図示せず）を対話制御マネージャ１６に送って、図６の対話制御マネージャ１６によるロボットＲの制御に遷移する。
【００７３】
このように、タッチディスプレイ１２による人Ｈの選択した返答の発話音声の終了を待って、ロボットＲが次の発話を開始することにより、あたかもロボットＲがタッチディスプレイ１２すなわち人Ｈからの音声を理解した上で、次の発話をしたように感じさせることができる。
【００７４】
ここで、対話制御マネージャ１６が、タッチディスプレイＩ／Ｆ２４すなわちタッチディスプレイ１２に送信する動作指令の決定プロセスについて説明する。
【００７５】
まず、一連の対話を、「情報の収集」、「関係性の構築」、「意思決定に向けた説得」、「意思決定」、「目的のない雑談」の５つのフェーズに分類する。ただし、以下において「相手」とは、人Ｈから見たロボットＲのことを指す。
【００７６】
「情報の収集」とは日常会話を通じて、人Ｈの考えや好みなどの情報を収集することが目的である。具体的には、「今日はどこから来ましたか？」や「名前はなんというのですか？」といった質問が考えられる。ここで収集された情報は、その後の「意思決定に向けた説得」などで利用することができる。
【００７７】
情報を収集する場合、人Ｈの情報を正確に取得する必要があるため、意味の異なる４つの質問をタッチディスプレイに表示する。その際、人Ｈ自身に当てはまる事柄が、その選択肢の１つには必ず合致するよう文言（ダイアログまたはスクリプト）を設計する。たとえば「どこから来ましたか」という質問に対しては、図９（Ａ）に示すように、「大阪です」、「兵庫です」、「京都です」および「日本のどこかだよ」という選択肢（返答項目）をタッチディスプレイ１２に表示する。
【００７８】
ただし、返答項目（選択肢）は４つ以上でもよいが、実施例では４つとした。その理由は、選択肢が５つ以上になると、表示されている選択肢（の内容）を理解するために時間がかかってしまい、対話感が阻害されると考えるからである。
【００７９】
次に、「関係の構築」とは、人Ｈと相手（ロボットＲ）との関係をより深めることが目的である。お互いの関係性を深めるためには、様々な方法があるが、その中でも効果的な方法はお互いに好意をもっていることを確かめあうことである。しかし、感情とは曖昧なものであるため、「情報の収集」で用いた４つの選択肢では人Ｈの感情に合致した候補を提示することが困難である。そこで、「関係の構築」フェーズではタッチディスプレイ１２が、適切なタイミングで、対話システム１０すなわちダイアログデータベース１４に予め用意している文言（テキスト文）を自動的に読み上げる。具体的には、「(ロボットＲ)なんだかとってもうれしそうに見えます。」という問いかけに対して「(人Ｈ)はい、とても楽しいです」といった返答を自動的に読み上げる。これにより、現在自分がうれしいという感情の認定が行われる。また、逆に「(人Ｈ)私と話していて楽しいでしょう？」という質問を自動的に読み上げ、それに対して「(ロボットＲ)はい、楽しいです」とロボットＲにも自動的に返答させることで、お互いに好意を持っている状況を構築することができる。感情とは定義が曖昧であり、人も自分自身でどのような感情であるか明確に理解することが難しい事柄である。そのため、たとえ自動的に読み上げられたとしても、それを自分の本来持っている感情であると認定されやすいと考えられる。
【００８０】
次に「意思決定に向けた説得」とは、最終的に意思決定してもらいたい方向に人Ｈを誘導するための、ある問いかけに対しての同意を得ることを指す。具体的には、後の意思決定に影響を与える相手からの質問に対する返答の選択肢を１つに限定することで、強制的にシステム側が想定する方向に人Ｈを誘導する。人Ｈに対して、ある意思決定をしてもらうためには、それに必要な一定の根拠が必要である。たとえば、ロボットＲと人Ｈの対話の目的が商品の購入である場合、突然買って下さいと言っても、購入するという意思決定にはつながりにくい。一方、事前におすすめする商品の色と人Ｈの好みが一致していることがお互いの間で会話を通じて明らかにされていた場合、その会話が購入にいたる根拠になる。
【００８１】
たとえば、「(ロボットＲ)このカラーはお客さんにぴったりですね。お客さんもお好きですよね？」という質問に対して「(人Ｈ)はい、好きです」と返答している場合、その会話はその後の意思決定に影響を与えることが予想される。このような後の意思決定に影響を与える質問の場合、図９（Ｂ）に示すように、選択肢を１つに限定することで、強制的に人Ｈの返答を誘導する。これにより、その後に意思決定を、システムが想定する方向に誘導することができる。
【００８２】
次に、「意思決定」とは、人Ｈの最終的な意思決定の表明のことを指す。具体的には、人Ｈに最終的な意思決定を促す際に、ロボットＲからの提案について同意する意味をもつが、表現の異なる複数の選択肢を提示することにより、返答が誘導されているにも関わらず自分で意思決定を行ったと感じされることができる。
【００８３】
たとえば、「(ロボットＲ)お客さん、この商品購入しますか？」に対して、図９（Ｃ）に示すように、「気に入ったので買います」「うん、そうします」といった双方ともに同意を示す返答のみを提示することで、意思決定の誘導を行うことができる。ここで、同義の返答を複数表示する理由は、複数の中から１つを選択するという決定を人Ｈに促すことで、その選択に対する責任が生じるためである。最終的な意思決定を行うことは、これまでの「意思決定に向けた説得」や「関係を深める」フェーズでの選択よりも、より重い責任が生じ、熟慮が必要とされる行為である。そのため「自動的に読み上げる」や「選択肢を１つだけ提示する」といった方法では、人Ｈが自身で意思決定した感覚を与えることが困難である。よって、「意思決定」フェーズでは、同義の表現の異なる複数個の選択肢の中から選択させるという方法を採用した。
【００８４】
なお、ロボットＲと人Ｈの自然な会話に必要な条件として、会話のターンテイキング（turn taking：話者交替）が挙げられる。つまり、相手の発話に対して適切なタイミングで発話する必要がある。そのためにはタッチディスプレイ１２において人Ｈが返答するタイミングを適切に人Ｈに伝える必要がある。実施例では、人Ｈからの返答が必要とされないときはタッチディスプレイ１２になにも表示しないこととし、返答が必要とされるときだけタッチディスプレイ１２に選択肢を表示するようにした。その際、ビープ音を鳴らすなどして、表示された選択肢に人Ｈの注意を向けさせる。
【００８５】
また、たとえば、ロボットＲの視線の向き、つまりアイコンタクトなどの非言語的な情報を与えることでさらに効果的にターンテイキングのタイミングを人Ｈに通知することができる。
【００８６】
さらに、タッチディスプレイ１２に表示した選択肢の内容を人Ｈが理解しなければならないため、返答に時間がかかる場合がある。しかし、対話の内容によっては「即座に返答する」、「あえて言いよどむ」といった社会的に正しいタイミングでの発話が  期待される場合がある。
【００８７】
そういう場合は、タッチディスプレイ１２に選択肢を表示せず、予め決められた内容を、適切なタイミングで自動的に読み上げる。これにより、より効果的に自然な会話を実現することができる。この場合の問題としては、自動的に読み上げられることで、自らの選択ではないという感覚を人Ｈに与えてしまう可能性があるが、会話のほとんどは自分で選択しているため、必要なときだけ自動的に返答しても、自分の意思が阻害されたとは思わないであろう。
【００８８】
上述の実施例は、物理的なエージェントであるロボットＲを用いた対話システムであるが、この発明は、そのような物理的なエージェントだけでなく、たとえばディスプレイの画面上に表示されるアバタないしキャラクタのようなエージェントと人Ｈとの対話システムも適用されてもよい。この場合、図１のロボットコントローラ２０は、そのようなアバタやキャラクタを表示するためのディスプレイＩ／Ｆ（図示せず）に代えられる。
【００８９】
さらには、人Ｈの相手は、エージェントである必要はなく、相手も人であってよい。その場合の実施例が図１０に示される。
【００９０】
この実施例では、人Ｈ１が図１実施例のロボットＲに相当し、人Ｈ２が図１実施例の人Ｈに相当すると理解されたい。つまり、人Ｈ１がロボットＲに代わるので、対話制御マネージャ１６は、人Ｈ１のためのタッチディスプレイ１２１またはその近傍に設けたスピーカ（図示せず：図５のスピーカ２６に相当する。）から、図１実施例のロボットＲの発話文を発話させる。このような人Ｈ１のタッチディスプレイ１２１からの発話に対して、人Ｈ２は、図１実施例の人Ｈと同様に、自己のタッチディスプレイ１２２に表示された選択肢（返答項目）を、タッチして選択する。すると、その選択した項目を、タッチディスプレイ１２２またはその近傍に設けたスピーカ（図示せず：図５のスピーカ２６に相当する。）から、発話する。
【００９１】
この図１０の実施例によれば、人どうしの対話において、言葉を発することが難しい人、たとえば、心理的に言葉を発することに躊躇を覚える人、発話を行うことが困難な障害を持つ人でも、対話をすることができる。また、対話システムが人の代わりにすべての発話文を読み上げることで、あたかもその発話は人の意図に沿ったものであるように感じさせることができる。
【００９２】
図１０実施例では、上述とは逆に、人Ｈ２が図１実施例のロボットＲに相当し、人Ｈ１が図１実施例の人Ｈに相当するものとしてもよい。
【００９３】
たとえば図１の実施例におけるロボットＲは、それ自身のスピーカ４６からスクリプトに従った発話文を発話し、図１０の実施例におけるタッチディスプレイ１２１または１２２に関連して設けられているスピーカからスクリプトに従った発話文を発話するので、これらのロボットＲやタッチディスプレイ１２１（１２２）を用いて発話させる対話制御マネージャ１６、ロボットコントローラ２０、タッチディスプレイＩ／Ｆ２４等は、発話エージェントということができる。
【００９４】
なお、上述の実施例では、人Ｈまたは人Ｈ２もしくは人Ｈ１の返答項目（選択肢）をタッチディスプレイで表示し、タッチによって選択させたが、タッチディスプレイに限ることなく、表示のために他のディスプレイを用い、選択のために他のポインティングデバイスを用いることができる。
【００９５】
さらに、図１において、対話制御マネージャ１６、ロボットコントローラ２０、タッチディスプレイＩ／Ｆ２４はそれぞれ別々のものとして図示したが、これらは１つのコンピュータで実現するようにしてもよい。
【符号の説明】
【００９６】
１０  …対話システム
Ｒ    …ロボットＲ
Ｈ、Ｈ１、Ｈ２    …人
１２、１２１、１２２  …タッチディスプレイ
１４  …ダイアログデータベース
１６  …対話制御マネージャ
１８  …ダイアログキュー
２０  …ロボットコントローラ
２２  …次候補プール
２４  …タッチディスプレイＩ／Ｆ
２６、４６  …スピーカ
２８  …座標検出回路
【図１】
2017162268.tif 000003
【図２】
2017162268.tif 000004
【図３】
2017162268.tif 000005
【図４】
2017162268.tif 000006
【図５】
2017162268.tif 000007
【図６】
2017162268.tif 000008
【図７】
2017162268.tif 000009
【図８】
2017162268.tif 000010
【図９】
2017162268.tif 000011
【図１０】
2017162268.tif 000012