(57)【要約】      （修正有）【課題】より自然にユーザとの対話を継続、発展させることのできる対話型情報システムを提供する。【解決手段】対話型情報システムは、音声認識装置、音声合成装置、人型ロボット、マイクロホンおよび合成された音声を発するスピーカを備えている。このシステムは、インターネットに接続してニュースを取り込むニュース収集手段、取り込まれたニュースを保存するニュースデータベース、および一般的な会話に用いられる問いおよび回答の集合を保存する一般会話データベースを少なくとも含む会話データベースを備えている。このシステムの会話エンジンは、音声認識装置により認識されたユーザの発話からキーワードを抽出し、キーワードによりニュースデータベースおよび会話データベースの少なくとも一つを検索し、ヒットしたコンテンツを応答として出力する。人型ロボットが話すことができる内容が頻繁に更新されるので、話題が豊富になる。【選択図】図１ａ
2006171719.tif 000002
【特許請求の範囲】
【請求項１】
音声を認識する音声認識装置、音声を合成する音声合成装置、人型ロボット、音声を受け取るマイクロホン、および前記合成された音声を発するスピーカを備えた対話型情報システムであって、前記システムは、さらに
インターネットに接続してニュースを取り込むニュース収集手段と、
前記取り込まれたニュースを保存するニュースデータベースと、
一般的な会話に用いられる問いおよび回答の集合を保存する一般会話データベースを少なくとも含む会話データベースと、
前記音声認識装置により認識されたユーザの発話からキーワードを抽出し、該キーワードにより前記ニュースデータベースおよび前記会話データベースの少なくとも一つを検索し、ヒットしたコンテンツを応答として前記スピーカを介して出力するよう構成されている会話エンジンと、
を備える対話型情報システム。  
【請求項２】
前記会話データベースは、さらにランダム会話データベースを備える、請求項１に記載の対話型情報システム。
【請求項３】
前記ニュースデータベースおよび前記会話データベースのコンテンツには優先度が割り当てられており、前記会話エンジンは、ヒットし出力したコンテンツの優先度を他のコンテンツの優先度に対し相対的に低下させるための優先度変更手段を有する、請求項１に記載の対話型情報システム。
【請求項４】
前記会話データベースは、さらに言い換えデータベースを備える、請求項２に記載の対話型情報システム。
【請求項５】
前記会話エンジンは、前記ユーザの発話に含まれる複数の単語を用いて前記ニュースデータベースおよび前記会話データベースの少なくとも一つを検索し、複数のコンテンツがヒットされるときは、該複数の単語との一致度および前記優先度に基づいて一つのコンテンツを選択して出力するよう構成されている、請求項３に記載の対話型情報システム。
【請求項６】
前記ニュース収集手段は、所定の時間間隔で最新のニュースを取得するヘッドラインセンサであり、前記ニュースデータベースは、ヘッドラインセンサからの入力に基づいて記憶内容を更新する、請求項１に記載の対話型情報システム。
【請求項７】
前記会話エンジンは、前記音声合成装置に出力するコンテンツのスクリプトを解析し、該スクリプトがあらかじめ定めた複数の会話パターンの一つに属するとき、予約会話フラグをセットするよう構成されている、請求項１に記載の対話型情報システム。
【請求項８】
前記会話エンジンは、前記予約会話フラグがセットされているとき、ユーザからの発話に応じて前記会話パターンに従った応答を出力するよう構成されている、請求項７に記載の対話型情報システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、人型ロボットを用いた対話型情報システムに関する。
【背景技術】
【０００２】
人とロボット（例えば、人型ロボット）との対話を成立させる対話システムの従来例として、以下のものが挙げられる。
【０００３】
その一つは、タスク指向型とよばれるもので、特定のタスクをロボットに行わせるための対話システムである。単純なものでは、公知のロボットのように、音声命令に対応して決められた回答を行わせるものがある。例えば「今日の天気を教えて」といった、ユーザである人の発話（命令）に対して、ロボットは今日の天気予報を音声で伝える。これらの命令と回答のセットは予め一意に定められているのが一般的である。
【０００４】
更に複雑な対話システムでは、ユーザとやりとりをした上でロボットが所定の動作を行うものがある（非特許文献１）。このようなタイプの対話システムの多くには、音声対話システムの技術が応用されている。単なる情報提供だけでなく、ユーザ指令に応じて実際に誰かを呼びに行ったりするような移動や動作を伴うタスクをこなさせる点が、ロボットを用いた対話システムならではの特徴的な部分と言える。
【０００５】
もう一つは、雑談型と呼ばれるもので、ロボットに特有のタスクをさせるというより、ユーザがロボットとの会話を楽しむためのシステムである（非特許文献２）。これは公知のchatbot（人工無能）対話システムを応用している。このような対話システムは、実空間においてロボットのジェスチャ等の動きを加えることで、生身の人間と自然に会話しているかのような感覚をユーザに与えることができる。  
上記のchatbot対話システムとは、ユーザと日常会話を行なうためのシステムである。その基本は所定の対話パターンをデータベース化しておき、対話時の入力内容に応じて相応しい応答内容を検索し、それをシステム側から出力する点にある（非特許文献３）。例えば、対話システムに対してユーザが「何が好きですか？」とキーボードやマイク等を通じて入力すると、システム側は「何−が−好き−です−か？」といった単語列に最も合致する応答データを検索する。データベースには予め入力例とそれに対応する応答文とが大量に格納されている。対話システムは検索結果によって選ばれた応答文を取り出し、それをスピーカやモニターを介してユーザに対して出力する。データベース中の応答内容の格納方法を工夫することで、ユーザの入力の一部を応答文に挿入することもできる。
【０００６】
例えば、「昨日、『父親』に叱られた」とユーザがキーボードやマイク等を通じて入力したとき、対話システムが「あなたにとって『父親』はどういう存在ですか？」という出力を返すようにすることもできる。これは「あなたにとって○○○はどういう存在ですか？」という出力テンプレートが予め用意されており、この○○○の部分にユーザが入力した文章中の単語をはめ込むことにより実現できる。
【０００７】
何れにしても、chatbot対話システムは、予め想定問答集のようなものをデータベースに入れておいて、それを常に参照しながらユーザの入力に対して応えていくシステムである。
【非特許文献１】[Nakano] M. Nakano, Y. Hasegawa, K. Nakadai, T. Nakamura, J. Takeuchi, T. Torii, H. Tsujino, N. Kanda, H.G. Okuno, "A two-layer model for behavior and dialogue planning in conversational service robots," in Proc. IROS-2005. 2005
【非特許文献２】[Valerie] Valerie Web Site : http://www.roboceptionist.com/
【非特許文献３】[Akiyama]秋山智俊 , "恋するプログラム〜 Rubyでつくる人工無脳 ," 毎日コミュニケーションズ , 2005,
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ロボット、特に人型ロボットが日常社会に普及していくには、それが役に立つかどうかということの他、ユーザが違和感無く使えるだけの十分な親和性を持ったものかどうかということも考慮しなければならない。ロボットに組み込まれる対話システムの性質や性能がそれらを左右する要因の一つであると考えられるが、上述の従来技術では以下のような問題があった。
【０００９】
chatbot対話システムにおいて、固定した対話用データベースを予め準備しておくことは短期的には可能である。しかし、ユーザに日常的に使用されることを想定して、長期的に様々な状況に柔軟に対応できる対話システムとするには膨大かつ複雑なデータベースが必要となり、事前のデータベースの構築が困難である。また、ユーザとの対話から自動的にキーワードを取り出して、所定のテンプレートにそのキーワードを挿入することで新たな対話を作成する仕組みを取り入れても類似内容の域を脱せず、そのユーザにとって新規の対話内容に発展していきづらい。発展性の乏しい対話システムでは、ユーザとの自然な対話を継続、発展させるといった観点からは不適である。
【００１０】
上記の問題を解決するためには、適当なタイミングで外から新たな情報を取り入れて、対話中のユーザに提示する方法が考えられる。しかし、ユーザが指定した情報を単に検索して提示するような周知の情報検索システムを応用するだけでは自然な対話の継続、発展には不十分である。この場合、改めて「情報を要求／検索する」といったユーザの何らかの能動的な行動が無ければ、情報検索の処理自体が開始されないからである。これは、上記の従来技術が受動的なシステムであることに起因する。このような対話システムでは、ユーザがストレスや煩雑さを感じるため、ユーザが日常生活において長期に使用することは期待できない。
【００１１】
本発明は上記の点に鑑みてなされたものであり、より自然にユーザとの対話を継続、発展させることのできる対話型情報システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
この発明の対話型情報システムは、音声を認識する音声認識装置、音声を合成する音声合成装置、人型ロボット、音声を受け取るマイクロホンおよび前記合成された音声を発するスピーカを備えている。このシステムは、インターネットに接続してニュースを取り込むニュース収集手段、取り込まれたニュースを保存するニュースデータベース、および一般的な会話に用いられる問いおよび回答の集合を保存する一般会話データベースを少なくとも含む会話データベースを備えている。さらにこのシステムは、会話エンジンを備え、この会話エンジンは、音声認識装置により認識されたユーザの発話からキーワードを抽出し、キーワードによりニュースデータベースおよび会話データベースの少なくとも一つを検索し、ヒットしたコンテンツを応答として出力するよう構成されている。
【００１３】
この発明によると、人型ロボットが話すことができる内容が頻繁に更新されるので、話題が豊富になる。
【００１４】
この発明の一実施形態では、会話データベースは、さらにランダム会話データベースを備える。
【００１５】
また、この発明の一つの形態では、ニュースデータベースおよび前記会話データベースのコンテンツには優先度が割り当てられており、会話エンジンは、ヒットし出力したコンテンツの優先度を他のコンテンツの優先度に対し相対的に低下させるための優先度変更手段を有する。
【００１６】
さらに、この発明のもう一つの形態では、会話データベースは、言い換えデータベースを備える。
【００１７】
また、この発明の他の実施形態では、会話エンジンは、ユーザの発話に含まれる複数の単語を用いてニュースデータベースおよび会話データベースの少なくとも一つを検索し、複数のコンテンツがヒットされるときは、複数の単語との一致度および優先度に基づいて一つのコンテンツを選択して出力するよう構成されている。
【００１８】
この発明の一実施形態では、ニュース収集手段は、所定の時間間隔で最新のニュースを取得するヘッドラインセンサであり、ニュースデータベースは、ヘッドラインセンサからの入力に基づいて記憶内容を更新する。
【００１９】
また、この発明の一実施形態では、会話エンジンは、音声合成装置に出力するコンテンツのスクリプトを解析し、スクリプトがあらかじめ定めた複数の会話パターンの一つに属するとき、予約会話フラグをセットするよう構成されている。
【００２０】
さらに、この発明のもう一つの実施形態では、会話エンジンは、予約会話フラグがセットされているとき、ユーザからの発話に応じて会話パターンに従った応答を出力するよう構成されている。  
【発明を実施するための最良の形態】
【００２１】
次に図面を参照して、この発明の実施形態を説明する。図１aは、この発明の一実施例の対話型情報システムの全体的な構成を示す。このシステムの基本的な構成要素は、コンピュータ10および人型ロボット31である。コンピュータ10は、たとえば汎用のワークステーションまたはパーソナルコンピュータで構成することができ、人型ロボット３１は、たとえば本願の出願人が開発し公開している二足歩行ロボット“ASIMO”である。
【００２２】
二足歩行ロボットの制御として、例えば本願の出願人による特開２００２−３２６１７３号や特開２００４−２９９０２５号の技術を適用することができる。コンピュータ１０には、無線通信によって人型ロボット３１と情報の送受信を行なうための通信機２７が接続されている。
【００２３】
コンピュータ10は、ロボット31を介してユーザと会話を行うための会話エンジン11を備える。ユーザの音声による発話内容は、ロボット31に備えられるマイクロホンで電気信号に変換され、この電気信号がロボット31に備えられる通信機（送受信機）からコンピュータ３１側へ送信される。なお、図１aにはロボット３１が備えるマイクロホン及び通信機は図示していない。また、ユーザの音声発話を取得するマイクロホンは、ロボット３１内に限らず、ユーザの口元近くに配置されるようにしてもよい。
【００２４】
コンピュータ10に接続された通信機（送受信機）27がロボット３１側から与えられた電気信号を受信し音声認識エンジン21に渡す。音声認識エンジン21は、この電気信号をテキストデータに変換する。音声認識エンジン21は、例えば、ＩＢＭ社製の「Via Voice（商標）」等、既に実用化されている周知の音声認識プログラムまたはこれを改良したプログラムで構成される。
【００２５】
コンピュータ10は、インターネット19にも接続されており、ヘッドラインセンサ17により、所定の時間間隔（例えば、４〜５時間毎）でインターネット19上のウェブサイトを検索してニュース記事を収集する。ヘッドラインセンサ17は、インターネット上のサイトから定期的にテキスト情報及び画像のバイナリ情報を取得し、データベース１３内の記憶内容を更新していく周知のソフトウェアであり、ＲＳＳリーダとも呼ばれる。ＲＳＳ(Rich Site Summary)とは、ウェブサイトの見出しや要約などのメタデータを構造化して記述するＸＭＬベースのフォーマットであり、主にサイトの更新情報を公開するのに使われる。ＲＳＳで記述された文書には、ウェブサイトの各ページのタイトル、アドレス、見出し、要約、更新時刻などが記述されている。ニュースサイトの多くは、更新情報をＲＳＳで公開している。また、指定したサイトのＲＳＳ情報を取り込むアンテナ（巡回）ソフトが開発されている。
【００２６】
ヘッドラインセンサ17によって収集されたＲＳＳ情報は、ＸＭＬデータ形式でニュースデータベース13に保存される。ニュースデータベース13は、典型的にはハードディスク装置に保存され、キーワードを使った検索プログラムによって検索することができる。
【００２７】
コンピュータ10は、会話データベース15を備えており、会話データベース15には、予め用意された一般的な会話の「問い」と「応答」の組が多数格納されており、これらの「問い」および「応答」に関連してロボット31に実行させるジェスチャを示すコマンドも格納されている。
【００２８】
本発明の要部である会話エンジン11は、音声認識エンジン21から渡されるテキストデータを分析し、その内容に応じてニュースデータベース13または会話データベース15、またはこの両方を検索し、応答に適したコンテンツ（内容）を選択する。こうして選択されたコンテンツのテキストデータが音声合成器23に渡され、音声信号に変換される。音声合成器23は、市販のソフトウェアで構成することができ、たとえば、ＮＴＴ社の製品FineVoice（商標）を使用することができる。会話データベース１５内から選択された応答内容によってはロボット３１の所定のジェスチャも対応つけられている。この場合、ジェスチャに応じた制御信号をコントローラ２５が作成し、音声信号とジェスチャの制御信号とがロボット３１に出力されるようになっている。
【００２９】
すなわち、会話データベース１５の検索結果に応じて、音声信号とロボット３１の動作を指示する制御信号との少なくとも一方が通信機27を介してロボット31に送信される。
【００３０】
ロボット31は、この音声信号や制御信号を受信し、ロボット31に備えられた図示しないスピーカを介して発話し、また、制御信号に応じたジェスチャまたは行動を実行する。
【００３１】
会話エンジン11は、データベース13、15から得られるコンテンツを表示装置29に送ってコンテンツを画像表示させる表示サーバとしての機能をも有している。本発明では、ユーザに提示するニュースの量が予め設定された所定量よりも多いとき、またはコンテンツにイメージデータが含まれるとき等は、表示装置29にコンテンツを表示するようにした。表示装置29は、光学系を用いてスクリーンにコンテンツを投影するプロジェクタ、コンピュータ10に備えられるディスプレイ、またはテレビジョンで構成することができる。
【００３２】
ここで、会話データベース１５は図１ｂに示す如く、それぞれ予め用意された一般会話データベース１５ａ、言い換えデータベース１５ｂ、及び、ランダム会話データベース１５ｃから成るが、その詳細は後述する。
【００３３】
次に図２ａを参照してこの発明の一実施例のシステムの全体的な処理を説明する。図２ａは、主に会話エンジン１１が実行する処理内容を示す。
【００３４】
先ず、ユーザがロボット31に話しかけると、ロボット31のマイクロホンによって音声が逐次、電気信号に変換される。この電気信号は、ロボット31の通信装置から無線送信され、通信機27によって受信される（S101）。受信した電気信号は、音声認識エンジン21に渡され、音声認識エンジン２１によって音声の電気信号がテキストデータに変換され（S102）、会話エンジン11に渡される。
【００３５】
会話エンジン11は、供給されたテキストデータに対して形態素解析を実行して会話テキストを単語（品詞）に分解する（S103）。例えば、「今日」−「は」−「よい」−「天気」−「です」−「ね」のように処理される。形態素解析のプログラムは、各種のものが開発されており、公知である。本発明の要部ではないのでその詳細な説明は省略する。
【００３６】
次に、会話エンジン11は、形態素解析された単語について言い換えデータベース15bを検索し、予め決められた同意語を共通の単語に変換する。たとえば、発話するユーザを表す「私、僕、俺」などの単語は、「私」に統一される。すなわち、ユーザが「僕」という単語を発音すると、「僕」をキーワードに言い換えデータベース15bを検索し（S105）、ヒットするとこのキーワードを統一用語に変換する（S107）。いまの例では、「私」に変換される。この処理は、会話データベース15の構造を簡単化し、検索の効率を向上させるためのものである。
【００３７】
続いて、ステップS109に進み、会話エンジン11に予約会話フラグがセットされているかどうか判断される。予約会話フラグは、所定の応答を実行していくためのものである。会話エンジン11は、常に2つの変数Ｘ１とＹ１とを有する。変数Ｘ１は予約会話フラグに関する変数であり、変数Ｙ１はスクリプト指定変数である。この変数については後述する。
【００３８】
ステップＳ１０９では変数Ｘ１が「１」、すなわち予約会話フラグがセットされている場合、次にステップＳ１１１の処理が実行される。また、ステップＳ１０９において変数Ｘ１が「０」、すなわち予約会話フラグがセットされていない場合、次にステップＳ１１７のサブルーチン処理と応答出力処理（ステップＳ１１９）が実行される。このステップＳ１１７及びＳ１１９の詳細については後述する。
【００３９】
図２ｂは、一般会話データベース１５ａの一例を示す図である。一般会話データベース１５ａには、複数のコンテンツ毎に「ユーザスクリプト」、「応答スクリプト」、「予約会話フラグ情報」、「スクリプト指定変数」、「元の優先度」、「優先度の増減値」、「現優先度」の項目が設けられている。なお、図２ｂの例では所定のジェスチャ指令情報は省いて図示している。図２ｂに示すように、この段階で最も優先度が高いのは、コンテンツＤ１である。何故なら、コンテンツＤ１の「現優先度」は「１００（元の優先度）−０（優先度の増減値）＝１００」で、一般会話データベース１５ａのコンテンツ中、最も現優先度が高いからである。
【００４０】
ステップＳ１０９にて予約会話フラグがセット(すなわち、予約会話フラグが「１」)されていると判断された場合、会話エンジン１１のスクリプト指定変数Ｙ１が指定するコンテンツに含まれる応答スクリプトが会話エンジン１１から出力され（ステップＳ１１１）、音声合成器２３及び通信機２７を介してロボット３１から音声返答される（ステップＳ１１３）。例えば、図２ｂのコンテンツＤ１ではスクリプト指定変数Ｙ１がＤ２を示す。これにより、コンテンツＤ２の応答スクリプト、「僕の体重は50kgです。」が出力される。このとき、一般会話データベース１５ａ内から選択された応答スクリプトによっては、対応付けられたロボット３１の所定のジェスチャも同時に実行される。
【００４１】
そして、会話エンジン１１が有する、予約会話フラグに関する変数Ｘ１の値が「０」にリセットされ、かつスクリプト指定変数Ｙ１の値もキャンセルされる（ステップＳ１１５）。上述のステップＳ１１１、Ｓ１１３、Ｓ１１５の処理は一般会話データベース１５ａについてのものである。後述するように、ステップＳ１１９でニュースデータベース１３からの応答出力がされた場合、ステップＳ１２９で予約会話フラグが「１」にセットされると、続くステップＳ１１１及びＳ１１３では予め決められた応答「もっと知りたいですか？」が出力される。
【００４２】
ステップＳ１１９又はステップＳ１１５の処理が終了すると、続いて優先度定義データ変更処理が実行される（ステップＳ１２１）。図２ｄおよび図２ｅは、ニュースデータベース１３の一例を示す図である。ニュースデータベース１３には、ヘッドラインセンサ１７で所定の時間毎に収集／更新された複数のニュース毎に「タイトル」、「ニュースの中身（文字及び画像等）」、「元の優先度（可変）」、「優先度の個別増減値」、「優先度の全体増減値」、「現優先度」の項目が設けられている。図２ｄに示すように、この段階で最も優先度が高いのは、ニュースＮ１である。何故なら、ニュースＮ１の「現優先度」は「１００（可変優先度）−０（個別増減値）−５（全体増減値）＝９５」で、ニュースデータベース１３のニュース中、最も現優先度が高いからである。
【００４３】
今、ステップＳ１１９において、例えば図２ｄに示すニュースＮ１が応答された場合、ニュースＮ１の「優先度の個別増減値」が「３０」減らされ、他のニュースの「優先度の個別増減値」はそれぞれ「１」だけ増やされる。また、全ニュースの「優先度の全体増減値」がそれぞれ「５」だけ減らされて「−１０」となる。この結果、優先度定義データ変更処理の結果として、図２ｅに示すようなニュースデータベース１３の内容となる（ステップＳ１２１）。この段階で最も優先度が高いのは、ニュースＮ２である。
【００４４】
一方、ステップＳ１１９において、例えば図２ｂに示すコンテンツＤ１が応答された場合、コンテンツＤ１の「優先度の増減値」が「３０」減らされ、他のコンテンツの優先度の増減値がそれぞれ「１０」増やされる。この結果、優先度定義データ変更処理の結果として、図２ｃに示すような内容となる（ステップＳ１２１）。この段階で最も優先度が高いのは、コンテンツＤ２である。
【００４５】
ステップＳ１２１では、常に一般会話データベース１５ａとニュースデータベース１３の両方が更新される。ステップＳ１２１の直前で一般会話データベース１５ａ内から応答出力がされた場合、その出力されたコンテンツの優先度は元の優先度から「３０」減らされ、他のコンテンツの優先度は元の優先度から「１０」増やされて、それぞれの現優先度が得られる。このときニュースデータベース１３の全てのニュースに対してその個別増減値が「１」だけ増やされ、全体増減値が「５」だけ増やされて新たな現優先度が算出される。
【００４６】
一方、ステップＳ１２１の直前でニュースデータベース１３内から応答出力がされた場合、出力されたニュースの個別増減値が「−３０」減らされ、他のニュースの個別増減値は「１」増やされる。これと同時に、ニュースデータベース１３中からの応答があったことを反映して全てのニュースの全体増減値が「５」減らされて新たな現優先度が算出される。
【００４７】
このように、ステップＳ１２１の処理の度に一般会話データベース１５ａとニュースデータベース１３の優先度が柔軟に変更されていくので、
同じ応答が繰り返し出力されるといった退屈な会話が回避される。また、ニュースデータベース１３内からの応答が出力がされた場合、ニュース全体の優先度が低減（本実施例では−５）されるため、ニュースだけが繰り返し応答されることも回避される。更に、ニュースデータベース１３は所定の時間毎(例えば、４〜５時間毎)に新たに更新されていき、後述する応答データ検索及び出力処理（ステップＳ１１７とＳ１１９）では、場合によっては外部から得た最新のニュースが出力されるため、ユーザとロボット３１との間の会話に発展性や意外性が得られる。
【００４８】
なお、データベース１５ａ、１３における優先度の増減値「−３０」、「＋１０」、「＋１」、「−５」はこれに限らず、他の数値でもよい。たとえば、図２ｃに示す「優先度の増減値」の最大値と、図２ｅに示す「優先度の個別増減値」の最大値を「０」に設定しておき、出力されたコンテンツについては「優先度の増減値」において現在の増減値に「―３０」を加え、他のすべてのコンテンツの「優先度の増減値」およびニュースの「優先度の個別増減値」については、「０」を上限に現在の増減値に「＋１」を加えたうえで、新たな「現優先度」が算出されるようにしてもよい。これら数値をどのようにするかによって、会話内容の可変性、非連続性などを調整することが可能である。
【００４９】
続く、ステップＳ１２３では、先のステップＳ１１９においてどのデータベースから応答出力がされたかが判別される。
【００５０】
そして、ステップＳ１２３において、先のステップＳ１１９でニュースデータベース１３からの応答出力がされたと判断された場合には、次のステップＳ１２９において会話エンジン１１の変数Ｘ１が「１」にセットされる。また、ステップＳ１２３において、先のステップＳ１１９で一般会話データベース１５ａからの応答出力がされたと判断された場合には、次のステップＳ１２９において、ステップＳ１１９で出力がされたコンテンツに対して予約会話フラグ情報が「１」か「０」かを一般会話データベース１５ａを参照して判別する。例えば、ステップＳ１１９でコンテンツＤ１が応答された場合、その予約会話フラグ情報を参照し、会話エンジン１１のスクリプト指定変数Ｙ１を「Ｄ２」にセットすると同時に予約会話フラグに関する変数Ｘ１を「１」にセットする（ステップＳ１２９）
この実施例においてステップS127からステップS101に戻ったとき、ユーザの発話がないときは、ステップS109に移る。また、ステップS113およびS115の後のステップS123からステップS127に移るようにしてあるが、これに限らない。たとえば、一般会話デー亜ベース１５ａからのコンテンツがステップS113で応答出力された場合、ステップS119で一般会話データベース１５ａに基づき応答出力された場合と同様の処理をステップS123で行うようにしてもよい。さらに、ステップS119またはS115の応答出力がなされる前に、別のユーザ発話を受信した場合、ステップS119またはS115の応答の後に、予約会話の設定をスキップして、最新のユーザ発話に応じてステップS102以降の応答処理がなされるようにしてもよい。こうすることによって、ちぐはぐな会話の発生を回避することができる。
【００５１】
次に、図３を参照して、ステップＳ１１７及びステップＳ１１９のサブルーチン処理を説明する。まず、形態素解析処理（ステップＳ１０３）及び言い換えデータベース検索処理（ステップＳ１０５）をした後の、ユーザの発話に含まれる単語をキーワードしてニュースデータベース13を検索する（ステップS201）。この検索では、ユーザの発話中の「名詞」、「代名詞」が抽出され、抽出された単語を用いて検索がされる。例えば、ユーザが「今日はよい天気ですね。」と発話した場合、その発話の中にある名詞「今日」と「天気」の両方でニュースデータベース１３の中から検索が実行される。「今日」及び「天気」を用いた検索で複数のニュースが抽出された場合、互いの現優先度が比較され１つのニュースが選択される（ステップＳ２０３）。このとき１つもニュースが抽出されない場合、「今日」のみで検索され、その後「天気」のみでも検索が実行される。そして、これらの処理で抽出されたニュース間の現優先度が比較され最も高いニュースが選択される（ステップＳ２０３）。すなわち、ユーザ発話内容と最も一致度の高い順にユーザの発話中の全ての名詞、代名詞及びそれらの組み合わせで該当ニュースが検出されるまで検索していく。なお、本発明では、「名詞」と「代名詞」に限らず「形容詞」をも検索対象にしたり、他の品詞の組み合わせで検索を実行してもよい。
【００５２】
「今日はよい天気ですね。」といったユーザ発話があった場合、図２ｄの例の場合、ニュースＮ１が抽出される。また、「今日のニュースを教えて。」といったユーザ発話があった場合、図２ｄの例では、ニュースＮ１とＮ３とが抽出され、現優先度の高いニュースＮ１が選択される。ステップＳ２０３で選択されたニュースは、会話エンジン１１が具備する応答リストに一時的に格納される（ステップＳ２０５）。一つもニュースが選択されない場合、応答リストに格納されるニュースは無い。
【００５３】
続いて、一般会話データベースに対しても同様の処理が実行される（ステップＳ２０７〜Ｓ２１１）。例えば、「あなたの身長は？」といったユーザからの問いかけについては、「あなた」と「身長」を用いて検索が実行され、図２ｂの例では、コンテンツＤ１が抽出される。また、「あなたは誰？」とユーザからの問いかけについては、「あなた」と「誰」を用いて検索が実行され、図２ｂの例では、「あなた」にヒットするコンテンツＤ１、Ｄ２、Ｄ３、Ｄ４、Ｄ５、Ｄ８、Ｄ９、Ｄ１０が抽出される。そして、ステップＳ２０９の現優先度の比較処理の結果、コンテンツＤ１が選択される。ステップＳ２０９で選択されたコンテンツは、会話エンジン１１が具備する応答リストに一時的に格納される（ステップＳ２１１）。一つもコンテンツが選択されない場合、応答リストに格納されるコンテンツは無い。
【００５４】
次いでステップS213に進み、予め用意されたランダム会話データベース１５ｃからランダムに応答を選択し、これを応答リストに追加する。ランダム会話データベース１５ｃには、話題を変えたり、一般会話データベース１５ａやニュースデータベース１３内に適当な応答が無い場合に使用される複数の会話データが用意されている。これらの会話データには、比較的低い現優先度（例えば、固定値６０）が付与されている。ランダム会話データの現優先度は他の値でもよい。これは、ユーザとの会話にどの程度の非連続性や発展性、意外性を持たせるかといった意図によって変更するのが望ましい。ランダム会話データの例としては、「最近いいことあった？」、「別の話題にしようよ。」、「よく分からないなあ。」、「そうなんだ。」、「もう一度言って。」、「外に行ってみたいなあ。」、「なるほどね。」、「何かニュースを見てみる？」等がある。
【００５５】
ステップＳ２１５では、１つずつ選択されたニュースとコンテンツとランダム会話データベースからの会話データの現優先度が比較され、最も現優先度の高いコンテンツが応答出力とされる（図２ａ、S119）。優先度が同順位のコンテンツがヒットしているときは、ランダムにそのうちの一つを選択する。ここで、ニュースデータベース１３からニュースが選択されて出力される場合、そのタイトルが音声出力される。また、ランダム会話データベース１５ｃからの応答出力があった場合、ステップＳ１２１では、一般会話データベース１５ａに対して全てのコンテンツの優先度が「１０」増やされ、ニュースデータベース１３の全てのニュースの個別増減値が「１」増やされ、全体増減値が「５」増やされる。また、ランダムデータベースからの応答出力があった場合、ステップＳ１２３では特別な処理は行われず、続いてステップＳ１２７の継続か否かの判別処理が実行される。
【００５６】
ロボット31は人間の目に相当する撮像装置を備えており、ユーザを認識する機能を持っている。ユーザがロボット31の近くにいるときは、会話が続くものとして（S127）、ユーザの発話を待つ状態に入る（S101）。ユーザがロボットから遠ざかったときは、会話は終了したものとして、対話モードを終了する。但し、スイッチや音声指令などで本発明のＯＮ／ＯＦＦを操作してもよい。
【００５７】
図４は、ヘッドラインセンサ17による処理を示す。予め選択したニュースポータルを定期的にアクセスし、RSSを公開しているサイトについては、RSSを取り込み（S305）、RSSを公開していないサイトについては、HTML文書を取り込んで、解析しテキストデータを取り出す（S303）。取り込んだRSSファイルに含まれるHTML文書を解析してテキストデータを取り出す。このようにして、取り出されたテキストデータは、ニュースデータベース13に保存される（S309）。取り込まれたニュースは最新のものほど高い優先度が付与されて、順次ニュースデータベース１３内に格納されていく。その際、たとえば優先度の最高値が「１００」とされ、以下、「５」または「１」ずつ低い優先度が個々のニュースに付与される。ヘッドラインセンサ１７が４〜５時間の周期で所定量（又は所定タイトル数）の最新ニュースを取り込んでいく場合、ニュースデータベース１３は、例えば５０サイクル分又は１週間分のニュースを蓄積できるのが好ましい。
【００５８】
以上にこの発明を具体的な実施例について説明したが、この発明は、このような実施例に限定されるものではない。例えば、図１のコンピュータ１０や通信機２７等は、ロボット３１に設けてもよいし、他の場所に設けてもよい。
【００５９】
本発明によれば、優先度の柔軟な変更や一般会話データベース１５ａのみならず、ニュースデータベース１３やランダム会話データベース１５ｃをも有しているため、会話に発展性や意外性を持たせることができる。また、情報を検索するというユーザの能動的な意図が無くても、ランダム会話データベース１５ｃから選択した発話や最新ニュースを提供することで、ユーザに負荷なく会話を継続させることができる。
【００６０】
本発明では人型のロボットを使用したため、ユーザがより親近感を抱き易く、自然な会話が可能となった。
【図面の簡単な説明】
【００６１】
【図１ａ】この発明のシステムの全体的な構成を示す図。
【図１ｂ】会話データベースの構成を示す図。
【図２ａ】この発明の実施例における処理の流れを示すフローチャート。
【図２ｂ】一般会話データベース１５ａの構造の一例を示す図。
【図２ｃ】一般会話データベース１５ａにおける優先度の更新態様を示す図。
【図２ｄ】ニュースデータベース１３の構造の一例を示す図。
【図２ｅ】ニュースデータベース１３のもう一つの構造例を示す図。
【図３】図２aに示す応答データ検索のサブルーチンを示すフローチャート。
【図４】ヘッドラインセンサによる処理を示すフローチャート。
【符号の説明】
【００６２】
１０      コンピュータ
３１      人型ロボット
【図１ａ】
2006171719.tif 000003
【図１ｂ】
2006171719.tif 000004
【図２ａ】
2006171719.tif 000005
【図２ｂ】
2006171719.tif 000006
【図２ｃ】
2006171719.tif 000007
【図２ｄ】
2006171719.tif 000008
【図２ｅ】
2006171719.tif 000009
【図３】
2006171719.tif 000010
【図４】
2006171719.tif 000011