(57)【特許請求の範囲】
【請求項１】
発話を入力する入力手段と、
前記入力手段に入力された発話に対する複数の応答を生成する応答生成手段と、
概念毎に、話題の豊富さと感情の正負の度合いとを記憶する概念記憶手段と、
過去の対話の文脈に含まれる概念を記憶する文脈記憶手段と、
優先度の決定の対象となる応答に含まれる概念が前記文脈記憶手段に記憶されているときに、前記概念記憶手段に記憶されている前記概念に対応する話題の豊富さの度合いを下げるように制御する概念制御手段と、
前記応答生成手段で生成された複数の応答のそれぞれ含まれる概念に対応する話題の豊富さ、感情の正負の度合いを前記概念記憶手段から読み出し、読み出した話題の豊富さと感情の正負の度合いとに基づいて、複数の応答毎に、前記話題の豊富さが大きいほど優先度が高くなり、かつ、前記感情の正負の度合いが正であるほど、優先度が高くなるように、優先度を決定し、最も優先度が高い応答を選択する応答選択手段と、
前記応答選択手段により選択された応答を出力する応答出力手段と、
を備えた応答生成装置。
【請求項２】
前記応答生成手段は、前記入力手段に入力された発話から概念を抽出し、抽出した概念に関連する関連語を生成し、前記抽出した概念又は前記関連語を用いて複数の応答を生成する
請求項１に記載の応答生成装置。
【請求項３】
発話を入力し、
前記入力された発話に対する複数の応答を生成し、
優先度の決定の対象となる応答に含まれる概念が、過去の対話の文脈に含まれる概念を記憶する文脈記憶手段に記憶されているときに、概念毎に話題の豊富さと感情の正負の度合いとを記憶する概念記憶手段に記憶されている前記概念に対応する話題の豊富さの度合いを下げるように制御し、
前記概念記憶手段から、前記生成された複数の応答のそれぞれ含まれる概念に対応する話題の豊富さ、感情の正負の度合いを読み出し、
読み出した話題の豊富さと感情の正負の度合いとに基づいて、複数の応答毎に、前記話題の豊富さが大きいほど優先度が高くなり、かつ、前記感情の正負の度合いが正であるほど、優先度が高くなるように、優先度を決定し、
最も優先度が高い応答を選択し、
前記選択された応答を出力する
応答生成方法。
【請求項４】
コンピュータに、
発話を入力し、
前記入力された発話に対する複数の応答を生成し、
優先度の決定の対象となる応答に含まれる概念が、過去の対話の文脈に含まれる概念を記憶する文脈記憶手段に記憶されているときに、概念毎に話題の豊富さと感情の正負の度合いとを記憶する概念記憶手段に記憶されている前記概念に対応する話題の豊富さの度合いを下げるように制御し、
前記概念記憶手段から、前記生成された複数の応答のそれぞれ含まれる概念に対応する話題の豊富さ、感情の正負の度合いを読み出し、
読み出した話題の豊富さと感情の正負の度合いとに基づいて、複数の応答毎に、前記話題の豊富さが大きいほど優先度が高くなり、かつ、前記感情の正負の度合いが正であるほど、優先度が高くなるように、優先度を決定し、
最も優先度が高い応答を選択し、
前記選択された応答を出力する
ことを実行させるための応答生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、応答生成装置、方法及びプログラムに係り、ユーザと円滑に対話を行うための応答生成装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、自然な流れで、かつユーザが飽きないようにユーザと対話する対話システムが提案されている。このため、対話システムは、１つの話題を長々と話したり、逆に話題を次々と変えたりし過ぎないようにする必要がある。
【０００３】
そこで、ユーザに楽しく自然な会話を提供するロボットが開示されている（特許文献１参照。）。このロボットは、ユーザの趣向に関するデータ（プロファイルデータ）を記憶するプロファイルメモリ１２１を備えている。ロボット１は、サーバ１０１から提供される話題となる情報のうち、プロファイルメモリ１２１に記憶されているプロファイルデータをフィルタとする。そして、ロボット１は、フィルタ１１２Ｂによりフィルタリングした結果、残った情報のみを話題メモリ７６に記憶し、ユーザと会話している時に話題メモリ７６に記憶されている情報を用いて話題を選択する。これにより、会話が楽しくなるような話題を選択することができる。
【０００４】
また、エンターテイメント性を向上させ得る対話制御システムが開示されている（特許文献２参照。）。対話制御システムは、ネットワークを介して接続されたロボット及び情報処理装置を有している。ロボットとユーザとの間で言葉遊び（なぞなぞ）による対話をする際、ロボットは、ユーザの発話内容のうち言葉遊びに関する履歴データを生成して情報処理装置に送信する。当該情報処理装置は、記憶手段から当該履歴データに基づいてユーザに最適な内容データを選択的に読み出して元のロボットに提供する。
【特許文献１】特開２００１−１８８７８７号公報
【特許文献２】特開２００３−２５５９９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術は、ユーザの趣向に関するデータであるプロファイルデータに基づいて話題を選択するものであり、大まかな話題を選択するのには有効である。しかし、同じ話題の中で複数の発話候補がある場合には、有効な発話候補を選択できない問題がある。
【０００６】
例えば、「俳優Ｃ」がプロファイルされており、発話候補として「俳優Ｃさんが昼食を食べたよ。」、「俳優Ｃさんが出演する映画が公開されるよ。」、「俳優Ｃさんと女優Ａさんが結婚したよ。」などが考えられる場合、どの発話候補がより適切な発話かを選択することができない。
【０００７】
また、特許文献２の技術は、例えば発話内容である各々のなぞなぞに対して難易度や出題された回数を付与している。これを応答選択に応用しようとした場合、あらゆる発話に対して個別に難易度のような指標を記述するのは記述量の点で現実的でない。例えば上述の例を用いると、「俳優Ｃさんが昼食を食べたよ。」、「俳優Ｃさんが出演する映画が公開されるよ。」、「俳優Ｃさんと女優Ａさんが結婚したよ。」などの各々に指標を記述しようとすると、膨大な記述量になってしまい、現実的でない。
【０００８】
本発明は、上述した課題を解決するために提案されたものであり、コストをかけることなく、ユーザとの対話を円滑に行うことができる応答生成装置、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するため、本発明の応答生成装置は、発話を入力する入力手段と、前記入力手段に入力された発話に対する複数の応答を生成する応答生成手段と、概念毎に、話題の豊富さと感情の正負の度合いとを記憶する概念記憶手段と、過去の対話の文脈に含まれる概念を記憶する文脈記憶手段と、優先度の決定の対象となる応答に含まれる概念が前記文脈記憶手段に記憶されているときに、前記概念記憶手段に記憶されている前記概念に対応する話題の豊富さの度合いを下げるように制御する概念制御手段と、前記応答生成手段で生成された複数の応答のそれぞれ含まれる概念に対応する話題の豊富さ、感情の正負の度合いを前記概念記憶手段から読み出し、読み出した話題の豊富さと感情の正負の度合いとに基づいて、複数の応答毎に、前記話題の豊富さが大きいほど優先度が高くなり、かつ、前記感情の正負の度合いが正であるほど、優先度が高くなるように、優先度を決定し、最も優先度が高い応答を選択する応答選択手段と、前記応答選択手段により選択された応答を出力する応答出力手段と、を備えている。
【００１０】
入力手段は、発話内容を入力できればよく、音声であるか否かを問わない。応答生成手段は、入力手段に入力された発話に対する複数の応答を生成する。概念記憶手段は、概念毎に、話題の豊富さと感情の明るさの度合いとを記憶する。ここで、概念とは、ある事物の概括的な意味内容を示し、名詞、動詞等の品詞は特に限定されるものではない。話題の豊富さとは、その概念から導かれる話題の多さを示す指標をいう。
【００１１】
概念制御手段は、優先度の決定の対象となる応答に含まれる概念が文脈記憶手段に記憶されているときに、概念記憶手段に記憶されている概念に対応する話題の豊富さの度合いを下げるように制御する。応答選択手段は、生成された複数の応答のそれぞれ含まれる概念に対応する話題の豊富さ、感情の明るさの度合いを概念記憶手段から読み出す。そして、応答選択手段は、読み出した話題の豊富さと感情の明るさの度合いとに基づいて、複数の応答毎に優先度を決定し、最も優先度が高い応答を選択する。選択された応答は、応答出力手段を介して出力される。
【００１２】
したがって、上記発明は、入力された発話に対する複数の応答を生成し、複数の応答のそれぞれ含まれる概念に対応する話題の豊富さ、感情の明るさの度合いに基づいて、複数の応答毎に優先度を決定し、最も優先度が高い応答を選択して出力することにより、ユーザの発話を展開したり、システムがユーザの発話に興味を示したり、感情を表明したり、ユーザの感情に同調したり、ユーザの発話内容がネガティブな場合にフォローしたりするような応答をすることができる。なお、本発明は、応答生成方法及びプログラムにも適用可能である。
【発明の効果】
【００１３】
本発明は、コストをかけることなく、ユーザとの対話を円滑に行うことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
【００１５】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る応答生成装置の構成を示すブロック図である。
【００１６】
第１の実施形態に係る応答生成装置は、ユーザ発話から音声信号を生成するマイクロホン１１と、マイクロホン１１から出力された音声信号を認識する認識部１２と、ユーザ発話を解析する解析部１３と、解析結果に基づいて発話候補を生成する応答生成部１４と、複数の発話候補から１つの応答発話を選択する応答選択部１５と、概念データベース１６と、応答発話を音声出力するスピーカ２１と、応答発話を画像出力するディスプレイ２２と、を備えている。
【００１７】
図２は、解析部１３の構成を示すブロック図である。解析部１３は、ユーザ発話の意図を解析するユーザ発話意図解析器３１、発話−発話意図対応表を記憶する発話−発話意図対応表データベース３２と、を備えている。
【００１８】
図３は、発話−発話意図対応表の構成を示す図である。発話−発話意図対応表は、ユーザ発話とその意図との関係を定義する。例えば、「おはよう」、「こんにちは」などのユーザ発話は、「挨拶」を意図している。「『（名詞）』って何？」、「『（名詞）』とは何？」などのユーザ発話は、「情報要求」を意図している。「えっ？」、「何て言ったの？」などのユーザ発話は、「問い返し」を意図している。
【００１９】
図４は、応答生成部１４の構成を示すブロック図である。以下、ユーザ発話に対する本装置の発話を「システム発話」という。応答生成部１４は、システム発話意図選択器４１と、発話意図対応表データベース４２と、関連情報検索エンジン４３と、関連情報データベース４４と、応答生成器４５と、発話データベース４６と、を備えている。
【００２０】
図５は、発話意図対応表データベース４２に記憶されている発話意図対応表の構成を示す図である。発話意図対応表は、ユーザ発話に対するシステム発話の意図を定義する。例えば、ユーザ発話意図が「挨拶」であるときは、システム発話意図は「ユーザ発話の復唱」となる。また、ユーザ発話意図が「情報伝達」であるときは、システム発話意図は「情報伝達」、「相槌」、「評価・感想」のいずれかとなる。
【００２１】
図６は、関連情報データベース４４の構成を示す図である。関連情報データベースは、お互いに関連する用語である関連語をグループ分けしたものである。例えば、「山」の関連語は、「草原」、「牧場」などがある。「パーティー」の関連語は、「ごちそう」、「ドレス」、「楽しい」などがある。
【００２２】
応答生成器４５は、システム発話意図に基づいて、発話データベース４６に記憶された情報を用いて１つ以上の発話候補を生成する。ここで、発話データベース４６には、関連語から発話候補を生成するための様々な情報や、相槌発話の情報も記憶されている。
【００２３】
例えば、システム発話意図が「情報伝達」の場合は、応答生成器４５は、関連語を用いて発話候補を生成する。また、例えばシステム発話意図が「相槌」の場合は、応答生成器４５は、図７に示す複数の相槌発話から１つをランダムに選択し、選択したものを発話候補として出力する。
【００２４】
図８は、概念データベース１６の構成を示す図である。関連情報データベースは、概念（単語）毎に、「話題の豊富さ」、「感情」を定義する。「話題の豊富さ」とは、例えば検索エンジンでヒット件数が多い状況のように、その概念から導かれる話題の多さを示す指標をいう。本実施形態では、「話題の豊富さ」は、「大」、「中」、「小」の３段階で表している。「感情」とは、感情の正負の度合いを表したものであり、本実施形態では、例えば「ポジティブ（positive）」、「ネガティブ（negative）」、「ニュートラル（neutral）」の３つに区別している。
【００２５】
以上のように構成された応答生成装置は、第１の応答生成ルーチンを実行することにより、ユーザとの間で例えば次のような対話例１を実現することができる。
【００２６】
（対話例１）
ユーザ発話１  ：こんにちは。
システム発話２：こんにちは。
ユーザ発話３  ：昨日、Ａちゃんの家に行ってきたよ。
システム発話４：それでそれで？
ユーザ発話５  ：すごくごちそうだったよ。
システム発話６：パーティーだったの？
ユーザ発話７  ：うん、誕生日会だったんだ。
システム発話８：へー、すごい。
【００２７】
図９は、ユーザ発話に対する応答を生成する第１の応答生成ルーチンを示すフローチャートである。
【００２８】
ステップＳ１では、応答生成装置の各部が初期化され、ステップＳ２に進む。ステップＳ２では、マイクロホン１１はユーザ発話に応じた音声信号を生成し、認識部１２は音声信号を認識して、ステップＳ３に進む。
【００２９】
ステップＳ３では、解析部１３のユーザ発話意図解析器３１は、発話−発話意図対応表データベース３２を参照して、認識部１２で認識されたユーザ発話に基づいて発話意図を推定して、ステップＳ４に進む。ユーザ発話意図解析器３１は、例えば、ユーザ発話１に対しては「挨拶」、ユーザ発話３に対しては「情報伝達」を推定する。
【００３０】
ステップＳ４では、応答生成部１４のシステム発話意図選択器４１は、発話意図対応表データベース４２を参照して、ステップＳ３で推定されたユーザ発話意図に対応するシステム発話意図を推定して、ステップＳ５に進む。例えば、システム発話意図選択器４１は、「挨拶」に対しては「ユーザ発話の復唱」を推定し、「情報伝達」に対しては「情報伝達」、「相槌」、「評価・感想」のいずれか１つをランダムに推定する。
【００３１】
ステップＳ５では、ユーザ発話意図解析器３１は、ステップＳ４で推定したシステム発話意図が「情報伝達」であるか否かを判定する。そして、肯定判定のときはそのシステム発話意図を関連情報検索エンジン４３に供給し、否定判定のときはそのシステム発話意図を応答生成器４５に供給して、ステップＳ６に進む。
【００３２】
ステップＳ６では、関連情報検索エンジン４３は、関連情報データベース４４を参照して、ユーザ発話に含まれる単語に関連する関連語を検索して抽出する。例えばユーザ発話５の場合、「ごちそう」の関連語として、パーティー、ドレス、楽しいが検索される。そして、応答生成器４５は、発話データベース４６を参照し、前記単語及び関連語をそれぞれ用いて発話候補を生成して、ステップＳ７に進む。発話候補としては、例えば「パーティーだったの？」、「ドレスを着たの？」、「ごちそうだったの？」、「楽しかった？」が生成される。ここで、「パーティーだったの？」や「ドレスを着たの？」というシステム発話は、直前の「すごくごちそうだったよ。」というユーザ発話を展開する役割を持つ応答である。また、「ごちそうだったの？」というシステム発話は、直前のユーザ発話に対する興味を示す役割を持つ応答である。さらに、「楽しかった？」というシステム発話は、直前のユーザの感情に同調するための応答である。
【００３３】
ステップＳ７では、応答選択部１５は、ステップＳ６で生成された発話候補の各々について優先度を決定する。応答選択部１５は具体的には次の優先度決定ルーチンを実行する。
【００３４】
図１０は、優先度決定ルーチンを示すフローチャートである。ステップＳ２１では、応答選択部１５は、優先度を初期化して、ステップＳ２２に進む。
【００３５】
ステップＳ２２では、応答選択部１５は、概念データベース１６を検索して、応答生成部１４で生成された発話候補に含まれる概念（単語）について、「話題の豊富さ」及び「感情」を抽出して、ステップＳ２３に進む。
【００３６】
ステップＳ２３では、応答選択部１５は、「話題の豊富さ」に基づいて、発話候補に含まれる概念の優先度を決定する。具体的には、「話題の豊富さ」が「大」、「中」、「小」のいずれかであるかを判定し、「大」のときは優先度＋３、「中」のときは優先度＋２、「小」のときは優先度＋１に決定して、ステップＳ２４に進む。
【００３７】
ステップＳ２４では、応答選択部１５は、「感情」に基づいて、発話候補に含まれる概念の優先度を決定する。具体的には、「感情」が「ポジティブ」、「ネガティブ」、「ニュートラル」のいずれかであるかを判定し、「ポジティブ」のときは優先度＋３、「ネガティブ」のときは優先度−３、「ニュートラル」のときは優先度＋０に決定して、ステップＳ２５に進む。
【００３８】
ステップＳ２５では、応答選択部１５は、発話候補毎に、「話題の豊富さ」及び「感情」に基づく優先度を加算し、最も優先度の高い発話候補を選択する。「パーティーだったの？」の優先度は６（話題の豊富さ３、感情３）、「ドレスを着たの？」の優先度は２（話題の豊富さ２、感情０）、「楽しかった？」の優先度は４（話題の豊富さ１、感情３）となる。よって、最も優先度が高い「パーティーだったの？」が選択される。そして、本ルーチンを終了すると、図９のステップＳ８に進む。
【００３９】
ステップＳ８では、応答選択部１５は、同じ優先度の発話候補が複数存在するか否かを判定し、肯定判定のときはステップＳ９に進み、否定判定のときはステップＳ１２に進む。
【００４０】
ステップＳ９では、応答選択部１５は、同じ優先度の発話候補のいずれか１つをランダムに選択し、選択したものを応答発話として、ステップＳ１２に進む。
【００４１】
一方、ステップＳ１０では、応答生成部１４の応答生成器４５は、発話候補を生成して、ステップＳ１１に進む。ここでは、例えばシステム発話意図が「ユーザ発話の復唱」であるときは、入力されたユーザ発話と同じ発話が生成される。また、システム発話意図が「相槌」であるときは、図７に示す複数の相槌発話からランダムに選択された１つが発話候補として出力される。システム発話意図が「評価・感想」であるときは、ユーザ発話の評価・感想に関する発話候補が生成される。例えば、入力されたユーザの発話を認識し、認識されたユーザの発話が意味する感情を推定し、推定した感情と同一の感情を表す応答用の発話を生成すればよい。これにより、ユーザの感情に同調した評価・感想をすることができる。また、別の応用例として、ユーザの感情がネガティブである場合に、ポジティブな内容の発話を生成することにより、ユーザ発話をフォローすることも考えられる。対話例２中のシステム発話４は、ネガティブなユーザ発話（ユーザ発話３）に対するフォローの役割を持つ発話である。
【００４２】
（対話例２）
ユーザ発話１  ：昨日、Ａちゃんの家に行ってきたよ。
システム発話２：それでそれで？
ユーザ発話３  ：すごくごちそうだったけど、知らない人が多くてつまらなかった。
システム発話４：でも、ごちそうがあるとそれだけで楽しめるよね？
ユーザ発話５  ：まあね。
【００４３】
また、システム発話意図が「要求情報伝達」であるときは、ほしい情報を要求するような発話候補が生成される。システム発話意図が「問い返し」であるときは、１つ前のシステム発話が生成される。
【００４４】
ステップＳ１１では、応答選択部１５は、複数の発話候補があるときはランダムに１つを選択し、選択したものを応答発話として、ステップＳ１２に進む。
【００４５】
ステップＳ１２では、応答選択部１５は、ステップＳ７、Ｓ９、Ｓ１１のいずれかで選択された応答発話をシステム発話として、スピーカ２１及びディスプレイ２２に供給して、ステップＳ１３に進む。これにより、例えばユーザ発話５に対しては、システム発話６「パーティーだったの？」が音声出力され、更に画像出力される。
【００４６】
ステップＳ１４では、ユーザ発話の入力があるか否かを判定し、肯定判定のときはステップＳ２に戻り、否定判定のときは本ルーチンを終了する。
【００４７】
以上のように、第１の実施形態に係る応答生成装置は、複数の発話候補にそれぞれ含まれる単語に対応する「話題の豊富さ」、「感情」に基づいて、各発話候補について優先度を決定し、優先度の高いものをシステム発話として出力する。このことより、応答発話装置は、ユーザの発話を展開したり、システムがユーザの発話に興味を示したり、感情を表明したり、ユーザの感情に同調したり、ユーザの発話内容がネガティブな場合にフォローしてりするような応答をすることができる。したがって、ユーザ発話に対して、話題が豊富で、かつ楽しい対話が可能となるような概念を深掘りしながら応答するので、ユーザとの間で楽しい会話を長く続けることができる。
【００４８】
［第２の実施形態］
つぎに、本発明の第２の実施形態について説明する。なお、第１の実施形態と同じ部位については同じ符号を付し、その詳細な説明は省略する。
【００４９】
図１１は、第２の実施形態に係る応答生成装置の構成を示すブロック図である。第２の実施形態では、図１に示す解析部１３の代わりに解析部１３Ａ、応答生成部１４の代わりに応答生成部１４Ａが用いられている。解析部１３Ａは、認識部１２で認識されたユーザ発話から述語と格要素とを抽出する。応答生成部１４Ａは、解析部１３Ａで抽出された述語及び格要素に基づいて１つ以上の発話候補を生成する。
【００５０】
図１２は、解析部１３Ａの構成を示すブロック図である。解析部１３Ａは、ユーザ発話の形態素解析を行う形態素解析器５１と、各文節の係り受け（修飾関係）を解析する係り受け解析器５２と、述語と格要素を抽出する格解析器５３と、抽出された述語に必須の格を補完する必須格補完エンジン５４と、述語と必須格（格要素）との関係を定義する格辞書５５と、述語同士の関係を解析する述語関係解析器５６と、述語同士の関係を定義する述語関係データベース５７と、を備えている。
【００５１】
ここで、日本語における格は、ガ格、ヲ格、ニ格、カラ格、ト格、デ格、ヘ格、マデ格、ヨリ格の９種類がある（「基礎日本語文法―改訂版―」くろしお出版、ｐ７４−８０）。格要素は、格の直前にくる名詞句であり、「述語」を修飾する文節に含まれる。「述語」は、発話の中に表現される動きや状態を表す単語であり、品詞が動詞、形容詞、サ変名詞で始まる文節をいう。
【００５２】
図１３は、格辞書５５の構成を示す図である。格辞書５５は、述語と必須格との関係、すなわち、述語とそれに共起する格との関係を示している。格辞書５５は、例えば「作る」は「人ガ」、「物ヲ」、「人ニ」と共起し、「器用だ」は「人ガ」と共起することを定義している。ここで、「人」は人に関する名詞、「物」は物に関する名詞を示している。
【００５３】
図１４は、述語関係データベース５７の構成を示す図である。述語関係データベース５７は、述語１と述語２の関係を表している。例えば、「器用だ」は、「作る」の「理由」となる。「向かう」は、「行く」と「同格」である。「調べる」は、「知る」の「手段」となる。逆に、「知る」は、「調べる」の「結果」となる。
【００５４】
以上のように構成された応答生成装置は、第２の応答生成ルーチンを実行することにより、ユーザとの間で例えば次のような対話例３を実現することができる。
【００５５】
（対話例３）
ユーザ発話１：お父さんはすごく器用で、リビングのサイドボードとかを全部作ったの。
システム発話２：サイドボードを作ったの？
ユーザ発話３  ：そうなの。リビングにホームシアターシステムを作ったりもして。
システム発話４：お父さんが作ったの？
ユーザ発話５  ：そう。
システム発話６：それでそれで？
図１５は、ユーザ発話に対する応答を生成する第２の応答生成ルーチンを示すフローチャートである。ここでは、第１の応答生成ルーチンと同一の処理には同一の符号が付されている。最初に、ユーザ発話１「お父さんはすごく器用で、リビングのサイドボードとかを全部作ったの。」が入力された場合を例に挙げて説明する。また、第１の応答生成ルーチンと同様に、ステップＳ１、Ｓ２の処理が実行された後、ステップＳ３１に進む。
【００５６】
ステップＳ３１では、解析部１３Ａは、認識部１２で認識されたユーザ発話を解析する。このとき、図１２に示す解析部１３Ａを構成する各部は、次の処理を行う。
【００５７】
最初に、形態素解析器５１は、形態素解析を行い、ユーザ発話から品詞などの形態素情報を出力する。形態素解析器５１は、例えば図１６に示すように、「お父さん（名詞）」、「は（助詞）」、「すごく（形容詞）」、・・・、「作っ（動詞）」、「た（助動詞）」、「の（助詞）」を出力する。
【００５８】
係り受け解析器５２は、形態素解析器５１の解析結果を用いて、次のように各文節の係り受け（修飾関係）を解析する。例えば図１７に示すように、「お父さんは」及び「すごく」は、「器用で」に係っている。「リビングの」は「サイドボードとかを」に係っている。「器用で」、「サイドボードとかを」、「全部」は、それぞれ「作ったの」に係っている。
【００５９】
格解析器５３は、係り受け解析器５２の解析結果の中から述語と格要素を抽出する。具体的には、格解析器５３は、係り受け解析器５２の解析結果の中から、図１８に示すように、述語である「器用だ」とそれを修飾する「お父さんガ」とを抽出する。格解析器５３は、更に、もう１つの述語である「作る」とそれを修飾する「サイドボードヲ」とを抽出する。
【００６０】
必須格補完エンジン５４は、格解析器５３の解析結果と格辞書５５とを照合して、本来述語が共起する格である必須格を補完して出力する。例えば、「作る」は、図１３の格辞書５５によると「人ガ（ガ格）」、「物ヲ（ヲ格）」、「人ニ（ニ格）」と共起する関係にある。一方、図１８に示す解析結果では、「作る」は、既に「サイドボードヲ（ヲ格）」と修飾関係があるが、その他のガ格、ニ格と修飾関係がない。
【００６１】
そこで、必須格補完エンジン５４は、「作る」に共起するその他の格（ガ格、ニ格）を補完する。しかし、図１８に示す解析結果ではガ格（お父さんガ）は存在するが、ニ格は存在していない。よって、本実施形態では、必須格補完エンジン５４は、図１９に示すように、「作る」に対してニ格は補完せず、ガ格（お父さんガ）のみを補完する。
【００６２】
なお、「器用だ」は、図１３の格辞書５５によると「人ガ（ガ格）」、と共起する関係にあるが、図１８に示す解析結果では「お父さんガ（ガ格）」と既に修飾関係にある。よって、必須格補完エンジン５４は、「器用だ」に対しては補完する必要はない。
【００６３】
述語関係解析器５６は、述語関係データベース５７を参照して、必須格補完エンジン５４の補完結果に含まれる述語同士の関係を求める。ここでは、述語関係解析器５６は、図２０に示すように、「器用だ（現在）」と「作る（過去）」の間には「理由」の関係があることを求める。以上の処理が終わると、図１５のステップＳ３２に進む。
【００６４】
ステップＳ３２では、応答生成部１４は、解析部１３の解析結果を用いて、ユーザ発話中に述部または格要素が存在するか否かを判定し、肯定判定のときはステップＳ３３に進み、否定判定のとき（述部又は格要素が１つもないとき）はステップＳ１０に進む。
【００６５】
ステップＳ３３では、図１１に示す応答生成部１４Ａは、図２１に示すように、ａ）発話された格要素を確認すること（格要素の確認）、ｂ）省略された格要素を質問すること（省略格要素の質問）、ｃ）述語が行われた理由、時、場所を質問すること（述語の質問）、ｄ）述語同士の関係を確認すること（述語同士の関係確認）、の４種類の発話候補を生成して、ステップＳ３４に進む。
【００６６】
発話候補としては、ユーザ発話１に対して、ａ）の場合、例えば「お父さんが器用なの？」、「お父さんが作ったの？」、「サイドボードを作ったの？」が生成される。ｂ）の場合、例えば「誰に作ったの？」が生成される。ｃ）の場合、例えば「どうして器用なの？」、「いつ器用なの？」、「いつ作ったの？」、「どこで作ったの？」が生成される。ｄ）の場合、「器用だから作ったの？」が生成される。ここで、「どうして器用なの？」「いつ作ったの？」「どこで作ったの？」はユーザ発話を展開する発話、「お父さんが器用なの？」、「誰に作ったの？」「いつ器用なの？」「器用だから作ったの？」はユーザ発話に興味を示す発話、「お父さんが作ったの？」や「サイドボードを使ったの？」は驚きの感情を表明する発話である。
【００６７】
ステップＳ３４では、応答生成部１４は、発話候補が複数存在するかを判定し、肯定判定のときは上述したステップＳ７に進み、否定判定のときはステップＳ１２に進む。なお、発話候補が１つの場合、後述のステップにおいてその発話候補が応答発話として用いられる。
【００６８】
ステップＳ７では、応答選択部１５は、第１の実施形態と同様にして、ステップＳ６で生成された発話候補の各々について優先度を決定する。この結果、図２２に示すように、「お父さんが器用なの？」に対しては優先度６（話題の豊富さ３、感情３）、「お父さんが作ったの？」に対しては優先度１１（話題の豊富さ５、感情６）、「サイドボードを作ったの？」に対しては優先度１２（話題の豊富さ６、感情６）等が決定される。そして、最も優先度が高い「サイドボードを作ったの？」が選択される。なお、同じ値の優先度が複数存在する場合は、１つの発話候補がランダムに選択される（ステップＳ８、ステップＳ９）。
【００６９】
以上のように、第２の実施形態に係る応答生成装置は、第１の実施形態と同様に、複数の発話候補にそれぞれ含まれる単語に対応する「話題の豊富さ」、「感情」に基づいて、各発話候補について優先度を決定する。これにより、応答発話装置は、ユーザの発話を展開したり、システムがユーザの発話に興味を示したり、感情を表明したり、ユーザの感情に同調したり、ユーザの発話内容がネガティブな場合にフォローしてりするような応答をすることができる。したがって、ユーザ発話に対して、話題が豊富で、かつ楽しい対話が可能となるような応答をすることができる。
【００７０】
さらに、上記応答生成装置は、ユーザ発話から述語及び格要素を抽出し、抽出した述語又は格要素を確認する応答を生成するので、予め対話プランを用意することなく応答することができる。また、応答生成装置は、ユーザ発話がある限り、そのユーザ発話を深掘りする応答を生成するので、円滑に対話をすることができる。さらに、応答生成装置は、ユーザ発話に含まれる述語又は格要素から応答を生成することにより、応答生成の過程で特定のトピックに関するプランや知識が不要となり、あらゆるトピックについて応答することができる。
【００７１】
［第３の実施形態］
つぎに、本発明の第３の実施形態について説明する。なお、上述した実施形態と同一の部位には同一の符号を付し、主に第１の実施形態と異なる部分について説明する。
【００７２】
図２３は、第３の実施形態に係る応答生成装置の構成を示すブロック図である。上記応答生成装置は、図１に示す構成に概念制御部１７を加えたものである。なお、本実施形態では、図２３に示す構成を例に挙げて説明するが、図１２に示す構成に概念制御部１７を加えてもよいのは勿論である。
【００７３】
概念制御部１７は、応答選択部１５が発話候補に含まれる概念に基づいて優先度を決定する前に、当該概念に対応する概念データベース１６の中の「話題の豊富さ」を更新する。
【００７４】
具体的には、概念制御部１７は、文脈情報を記憶する文脈情報データベース６１と、ユーザ情報を記憶するユーザ情報データベース６２と、概念データベース１６に記憶されている内容を決定する概念データベース内容決定部６３と、を有している。
【００７５】
文脈情報データベース６１は、過去のユーザ発話とシステム発話に含まれる概念（単語）をＮ個記憶する。よって、対話が継続され、文脈情報データベース６１に記憶されている概念の数がＮ個を超えると、古い概念から順に消去される。このため、文脈情報データベース６１には、最新のＮ個の概念のみが記憶されている。
【００７６】
ユーザ情報データベース６２は、図２４に示すように、ユーザ情報として、ユーザの好みなどを反映したユーザ個別の概念データベース１６の初期値を記憶している。よって、ユーザ情報データベース６２は、ユーザとの対話の中で一度だけ参照される。
【００７７】
図２５は、概念データベース更新ルーチンを示すフローチャートである。概念データベース内容決定部６３は、本ルーチンを実行することにより、ユーザとの対話の内容が偏らないように概念データベース１６を逐次更新する。
【００７８】
ステップＳ４１では、概念データベース内容決定部６３は、対話開始後にユーザ情報データベース６２を参照したか否かを判定し、肯定判定のときはステップＳ４５に進み、否定判定のときはステップＳ４２に進む。
【００７９】
ステップＳ４２では、概念データベース内容決定部６３は、ユーザ情報データベース６２を参照して、ステップＳ４３に進む。
【００８０】
ステップＳ４３では、概念データベース内容決定部６３は、当該概念（発話候補に含まれる概念）がユーザ情報データベース６２に存在するか否かを判定し、肯定判定のときはステップＳ４４に進み、否定判定のときはステップＳ４５に進む。
【００８１】
ステップＳ４４では、概念データベース内容決定部６３は、ユーザ情報データベース６２から、当該概念に対応する「話題の豊富さ」と「感情」を読み出し、この「話題の豊富さ」と「感情」を概念データベース１６に書き込むことによって概念データベース１６を初期化し、ステップＳ４５に進む。
【００８２】
ステップＳ４５では、概念データベース内容決定部６３は、当該概念が文脈情報データベース６１に存在するか否かを判定し、肯定判定のときはステップＳ４６に進み、否定判定のときはステップＳ４７に進む。
【００８３】
ステップＳ４６では、概念データベース内容決定部６３は、概念データベース１６に対して、当該概念の「話題の豊富さ」を１ランク下げる更新処理を行う。したがって、最近のユーザ発話及びシステム発話に含まれる概念の「話題の豊富さ」は１つ下げられる。そして、上述したステップＳ７の優先度決定処理が行われる。
【００８４】
応答選択部１５は、最新のデータに更新された概念データベース１６を用いて、発話候補毎に優先度を決定する。よって、発話候補に含まれる概念が最近のユーザ発話及びシステム発話に含まれる概念と同じ場合は、応答選択部１５は、その発話候補に対して低い優先度を決定する。このため、その発話候補は応答発話として選択されず、他の発話候補が選択されるようになる。
【００８５】
以上のように、第３の実施形態に係る応答生成装置は、発話候補に含まれる概念が最近のユーザ発話及びシステム発話に含まれる概念と同じ場合、その概念に対応する「話題の豊富さ」のランクを下げるように概念データベース１６を更新する。よって、応答生成装置は、概念データベース１６を用いてその発話候補について低い優先度を決定するので、最近用いられた概念と異なる概念を含んだ発話候補を応答発話として出力するようになる。このため、応答生成装置は、ユーザ発話に対して応答する毎に、異なる概念の応答発話を出力できるので、ユーザとの対話内容が偏ることなく、円滑に進めることができる。
【００８６】
なお、本発明は、上述した実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能であるのは勿論である。
【００８７】
例えば応答発話を提示する手段として、スピーカ２１やディスプレイ２２を使用したが、その他、応答内容を表現できるロボット装置を使用してもよい。また、各実施形態に係る応答生成装置は、スピーカ２１、ディスプレイ２２の一方のみを備えていてもよい。
【００８８】
さらに、応答生成装置は、上述した構成に限定されるものではなく、マイクロホン１１及び認識部１２に代わりにキーボードを用いたものであってもよい。すなわち、ユーザ発話を入力する入力部は、特に限定されるものではない。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１の実施形態に係る応答生成装置の構成を示すブロック図である。
【図２】解析部の構成を示すブロック図である。
【図３】発話−発話意図対応表の構成を示す図である。
【図４】応答生成部の構成を示すブロック図である。
【図５】発話意図対応表データベースに記憶されている発話意図対応表の構成を示す図である。
【図６】関連情報データベースの構成を示す図である。
【図７】相槌発話を示す図である。
【図８】概念データベースの構成を示す図である。
【図９】ユーザ発話に対する応答を生成する第１の応答生成ルーチンを示すフローチャートである。
【図１０】優先度決定ルーチンを示すフローチャートである。
【図１１】本発明の第２の実施形態に係る応答生成装置の構成を示すブロック図である。
【図１２】解析部の構成を示すブロック図である。
【図１３】格辞書の構成を示す図である。
【図１４】述語関係データベースの構成を示す図である。
【図１５】ユーザ発話に対する応答を生成する第１の応答生成ルーチンを示すフローチャートである。
【図１６】形態素解析器から出力される形態素情報を示す図である。
【図１７】文節の係り受けの関係を示す図である。
【図１８】格解析器によって抽出された述語とそれに対応する格要素とを示す図である。
【図１９】「作る」に対して必須格であるガ格の格要素が補完された状態を示す図である。
【図２０】述語同士の関係を示す図である。
【図２１】発話候補の種類を示す図である。
【図２２】各発話候補の優先度を示す図である。
【図２３】本発明の第３の実施形態に係る応答生成装置の構成を示すブロック図である。
【図２４】ユーザ情報データベースの構成を示す図である。
【図２５】概念データベース更新ルーチンを示すフローチャートである。
【符号の説明】
【００９０】
１１  マイクロホン
１２  認識部
１３、１３Ａ  解析部
１４、１４Ａ  応答生成部
１５  応答選択部
１６  概念データベース
１７  概念制御部１７
２１  スピーカ
２２  ディスプレイ
３１  ユーザ発話意図解析器
３２  発話−発話意図対応表データベース
【図１】
0004826275.tif 000002
【図２】
0004826275.tif 000003
【図３】
0004826275.tif 000004
【図４】
0004826275.tif 000005
【図５】
0004826275.tif 000006
【図６】
0004826275.tif 000007
【図７】
0004826275.tif 000008
【図８】
0004826275.tif 000009
【図９】
0004826275.tif 000010
【図１０】
0004826275.tif 000011
【図１１】
0004826275.tif 000012
【図１２】
0004826275.tif 000013
【図１３】
0004826275.tif 000014
【図１４】
0004826275.tif 000015
【図１５】
0004826275.tif 000016
【図１６】
0004826275.tif 000017
【図１７】
0004826275.tif 000018
【図１８】
0004826275.tif 000019
【図１９】
0004826275.tif 000020
【図２０】
0004826275.tif 000021
【図２１】
0004826275.tif 000022
【図２２】
0004826275.tif 000023
【図２３】
0004826275.tif 000024
【図２４】
0004826275.tif 000025
【図２５】
0004826275.tif 000026