(57)【特許請求の範囲】
【請求項１】
ユーザの音声を認識するステップと、
前記認識した音声の構造を解析するステップと、
複数のキーワードに該各キーワードに関連する連想ワード及び付加語を夫々対応付けた情報を記憶するステップと、
前記認識した音声から名詞又は動詞を抽出するステップと、
前記抽出した名詞又は動詞と一致する前記記憶した情報のキーワードを選択し、該選択したキーワードに対応する付加語を、該抽出した名詞又は動詞に対して付加し、該名詞又は動詞を、該選択したキーワードに対応する関連ワードに、置き換えることで、前記ユーザの音声を繰り返すための繰返し応答文を生成するステップと、
前記解析した音声の構造に基づいて、前記ユーザの音声に対する随意の応答文を生成し、前記繰返し応答文を出力した後、前記随意の応答文を出力するステップと、
を含む応答生成方法であって、
第１の名詞又は動詞と、該第１の名詞又は動詞と関連する第２の名詞又は動詞と、を所定の文章集合情報から抽出するステップと、
抽出した前記第１の名詞又は動詞と前記第２の名詞又は動詞とが同一であるか否かを前記ユーザに対して質問するステップと、
前記質問に対するユーザの回答が肯定的である場合に、前記第１の名詞又は動詞を前記キーワードとし、前記第２の名詞又は動詞を前記連想ワードとして記憶するステップと、
を含む、ことを特徴とする応答生成方法。
【請求項２】
請求項１記載の応答生成方法であって、
ネットワーク上に存在する前記所定の文章集合情報から、前記第１の名詞又は動詞と、第２の名詞又は動詞と、を抽出し、
抽出した前記第１の名詞又は動詞と前記第２の名詞又は動詞との共起頻度を用いて、該第１の名詞又は動詞と第２の名詞又は動詞との類似度を算出し、該算出した類似度が閾値以上となる場合に、抽出した前記第１の名詞又は動詞と前記第２の名詞又は動詞とが同一であるか否かを前記ユーザに対して質問し、
前記質問に対するユーザの回答が肯定的である場合に、前記第１の名詞又は動詞を前記キーワードとし、前記第２の名詞又は動詞を前記連想ワードとして記憶する、ことを特徴とする応答生成方法。
【請求項３】
請求項１又は２記載の応答生成方法であって、
前記記憶されたキーワードと関連する連想ワード及び付加語、の数を所定条件で制限するステップを更に含む、ことを特徴とする応答生成装置。
【請求項４】
請求項１乃至３のうちいずれか１項記載の応答生成方法であって、
前記ユーザの音声の音韻を分析するステップと、
前記分析された音韻の分析結果に基づいて、前記ユーザの音声に対する相槌の応答を生成するステップと、を更に含み、
前記生成される繰返しの応答文を出力する前に、前記生成された相槌の応答を出力する、ことを特徴する応答生成方法。
【請求項５】
ユーザの音声を認識する音声認識手段と、
前記音声認識手段により認識された音声の構造を解析する構造解析手段と、
複数のキーワードに該各キーワードに関連する連想ワード及び付加語を夫々対応付けた情報を記憶する記憶手段と、
前記音声認識手段により認識された音声から名詞又は動詞を抽出する品詞抽出手段と、
前記品詞抽出手段により抽出された名詞又は動詞と一致する前記記憶手段のキーワードを選択し、該選択したキーワードに対応する付加語を、該抽出された名詞又は動詞に対して付加し、該名詞又は動詞を、該選択したキーワードに対応する関連ワードに、置き換えることで、前記ユーザの音声を繰り返すための繰返し応答文を生成する繰返生成手段と、
前記構造解析手段により解析された音声の構造に基づいて、前記ユーザの音声に対する随意の応答文を生成し、前記繰返し応答文を出力した後、前記随意の応答文を出力する応答出力手段と、
を含む応答生成装置であって、
第１の名詞又は動詞と、該第１の名詞又は動詞と関連する第２の名詞又は動詞と、を所定の文章集合情報から抽出する抽出手段と、
前記抽出手段により抽出された前記第１の名詞又は動詞と前記第２の名詞又は動詞とが同一であるか否かを前記ユーザに対して質問する質問手段と、
前記質問に対するユーザの回答が肯定的である場合に、前記第１の名詞又は動詞を前記キーワードとし、前記第２の名詞又は動詞を前記連想ワードとして前記記憶手段に登録する判定手段と、
を含む、ことを特徴とする応答生成装置。
【請求項６】
ユーザの音声を認識する処理と、
前記認識した音声の構造を解析する処理と、
前記認識した音声から名詞又は動詞を抽出する処理と、
複数のキーワードに該各キーワードに関連する連想ワード及び付加語を夫々対応付けた情報が記憶されており、前記抽出した名詞又は動詞と一致する前記キーワードを選択し、該選択したキーワードに対応する付加語を、該抽出した名詞又は動詞に対して付加し、該名詞又は動詞を、該選択したキーワードに対応する関連ワードに、置き換えることで、前記ユーザの音声を繰り返すための繰返し応答文を生成する処理と、
前記解析した音声の構造に基づいて、前記ユーザの音声に対する随意の応答文を生成し、前記繰返し応答文を出力した後、前記随意の応答文を出力する処理と、
コンピュータに実行させる応答生成プログラムをであって、
第１の名詞又は動詞と、該第１の名詞又は動詞と関連する第２の名詞又は動詞と、を所定の文章集合情報から抽出する処理と、
抽出した前記第１の名詞又は動詞と前記第２の名詞又は動詞とが同一であるか否かを前記ユーザに対して質問する処理と、
前記質問に対するユーザの回答が肯定的である場合に、前記第１の名詞又は動詞を前記キーワードとし、前記第２の名詞又は動詞を前記連想ワードとして記憶する処理と、
をコンピュータに実行させる、ことを特徴とする応答生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザに対して応答を行う応答生成方法、応答生成装置及び応答生成プログラムに関するものである。
【背景技術】
【０００２】
ユーザの音声を認識する音声認識手段と、音声認識手段により認識された音声の構造を解析する構造解析手段と、構造解析手段により解析された音声の構造に基づいて、ユーザの音声に対する応答文を生成し、該生成した応答文を出力する応答出力手段と、を備える応答生成装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１５７０８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような応答生成装置は、音声の構造解析、及びその応答文の生成に時間を要し、応答待ちが生じる。このため、対話に違和感が生じる虞がある。そこで、例えば、その応答待ちの間に音声認識手段により認識したユーザの音声を繰返し応答文として用い簡易に応答を行うことが考えられる。この場合、応答待ちが短くなり対話の違和感が緩和されるが、画一的な応答パターンとなり対話としての不自然さが残る。
本発明は、このような問題点を解決するためになされたものであり、画一的な応答パターンによる対話の違和感を緩和することができる応答生成方法、応答生成装置、及び応答生成プログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するための本発明の一態様は、ユーザの音声を認識するステップと、前記認識した音声の構造を解析するステップと、複数のキーワードに該各キーワードに関連する連想ワード及び付加語を夫々対応付けた情報を記憶するステップと、前記認識した音声から名詞又は動詞を抽出するステップと、前記抽出した名詞又は動詞と一致する前記記憶した情報のキーワードを選択し、該選択したキーワードに対応する付加語を、該抽出した名詞又は動詞に対して付加し、該名詞又は動詞を、該選択したキーワードに対応する関連ワードに、置き換えることで、前記ユーザの音声を繰り返すための繰返し応答文を生成するステップと、前記解析した音声の構造に基づいて、前記ユーザの音声に対する随意の応答文を生成し、前記繰返し応答文を出力した後、前記随意の応答文を出力するステップと、を含む応答生成方法であって、第１の名詞又は動詞と、該第１の名詞又は動詞と関連する第２の名詞又は動詞と、を所定の文章集合情報から抽出するステップと、抽出した前記第１の名詞又は動詞と前記第２の名詞又は動詞とが同一であるか否かを前記ユーザに対して質問するステップと、前記質問に対するユーザの回答が肯定的である場合に、前記第１の名詞又は動詞を前記キーワードとし、前記第２の名詞又は動詞を前記連想ワードとして記憶するステップと、を含む、ことを特徴とする応答生成方法である。
この一態様において、ネットワーク上に存在する前記所定の文章集合情報から、前記第１の名詞又は動詞と、第２の名詞又は動詞と、を抽出し、抽出した前記第１の名詞又は動詞と前記第２の名詞又は動詞との共起頻度を用いて、該第１の名詞又は動詞と第２の名詞又は動詞との類似度を算出し、該算出した類似度が閾値以上となる場合に、抽出した前記第１の名詞又は動詞と前記第２の名詞又は動詞とが同一であるか否かを前記ユーザに対して質問し、前記質問に対するユーザの回答が肯定的である場合に、前記第１の名詞又は動詞を前記キーワードとし、前記第２の名詞又は動詞を前記連想ワードとして記憶してもよい。
この一態様において、前記記憶されたキーワードと関連する連想ワード及び付加語、の数を所定条件で制限するステップを更に含んでいてもよい。
この一態様において、前記ユーザの音声の音韻を分析するステップと、前記分析された音韻の分析結果に基づいて、前記ユーザの音声に対する相槌の応答を生成するステップと、を更に含み、前記生成される繰返しの応答文を出力する前に、前記生成された相槌の応答を出力してもよい。
上記目的を達成するための本発明の一態様は、ユーザの音声を認識する音声認識手段と、前記音声認識手段により認識された音声の構造を解析する構造解析手段と、複数のキーワードに該各キーワードに関連する連想ワード及び付加語を夫々対応付けた情報を記憶する記憶手段と、前記音声認識手段により認識された音声から名詞又は動詞を抽出する品詞抽出手段と、前記品詞抽出手段により抽出された名詞又は動詞と一致する前記記憶手段のキーワードを選択し、該選択したキーワードに対応する付加語を、該抽出された名詞又は動詞に対して付加し、該名詞又は動詞を、該選択したキーワードに対応する関連ワードに、置き換えることで、前記ユーザの音声を繰り返すための繰返し応答文を生成する繰返生成手段と、前記構造解析手段により解析された音声の構造に基づいて、前記ユーザの音声に対する随意の応答文を生成し、前記繰返し応答文を出力した後、前記随意の応答文を出力する応答出力手段と、を含む応答生成装置であって、第１の名詞又は動詞と、該第１の名詞又は動詞と関連する第２の名詞又は動詞と、を所定の文章集合情報から抽出する抽出手段と、前記抽出手段により抽出された前記第１の名詞又は動詞と前記第２の名詞又は動詞とが同一であるか否かを前記ユーザに対して質問する質問手段と、前記質問に対するユーザの回答が肯定的である場合に、前記第１の名詞又は動詞を前記キーワードとし、前記第２の名詞又は動詞を前記連想ワードとして前記記憶手段に登録する判定手段と、を含む、ことを特徴とする応答生成装置であってもよい。
上記目的を達成するための本発明の一態様は、ユーザの音声を認識する処理と、前記認識した音声の構造を解析する処理と、前記認識した音声から名詞又は動詞を抽出する処理と、複数のキーワードに該各キーワードに関連する連想ワード及び付加語を夫々対応付けた情報が記憶されており、前記抽出した名詞又は動詞と一致する前記キーワードを選択し、該選択したキーワードに対応する付加語を、該抽出した名詞又は動詞に対して付加し、該名詞又は動詞を、該選択したキーワードに対応する関連ワードに、置き換えることで、前記ユーザの音声を繰り返すための繰返し応答文を生成する処理と、前記解析した音声の構造に基づいて、前記ユーザの音声に対する随意の応答文を生成し、前記繰返し応答文を出力した後、前記随意の応答文を出力する処理と、コンピュータに実行させる応答生成プログラムをであって、第１の名詞又は動詞と、該第１の名詞又は動詞と関連する第２の名詞又は動詞と、を所定の文章集合情報から抽出する処理と、抽出した前記第１の名詞又は動詞と前記第２の名詞又は動詞とが同一であるか否かを前記ユーザに対して質問する処理と、前記質問に対するユーザの回答が肯定的である場合に、前記第１の名詞又は動詞を前記キーワードとし、前記第２の名詞又は動詞を前記連想ワードとして記憶する処理と、をコンピュータに実行させる、ことを特徴とする応答生成プログラムであってもよい。
【発明の効果】
【０００６】
本発明によれば、画一的な応答パターンによる対話の違和感を緩和することができる応答生成方法、応答生成装置、及び応答生成プログラムを提供することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態１に係る応答生成装置の概略的なシステム構成を示すブロック図である。
【図２】本発明の実施形態１に係る応答生成装置の概略的なハードウェア構成を示すブロック図である。
【図３】本発明の実施形態１に係る応答生成方法の処理フローを示すフローチャートである。
【図４】本発明の実施形態２に係る応答生成装置の概略的なシステム構成を示すブロック図である。
【図５】関連ワード情報がネットワーク装置に記憶され更新される構成の一例を示す概略図である。
【発明を実施するための形態】
【０００８】
実施形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明の実施形態１に係る応答生成装置の概略的なシステム構成を示すブロック図である。本実施形態１に係る応答生成装置１は、ユーザの音声を認識する音声認識部２と、音声の構造を解析する構造解析部と３、ユーザの音声に対する応答文を生成し、出力する応答出力部４と、繰返しの応答文を生成する繰返生成部５と、品詞抽出部９と、関連ワード抽出部１０と、ユーザ質問部１１と、記憶判定部１２と、を備えている。
【０００９】
なお、応答生成装置１は、例えば、演算処理等と行うＣＰＵ（Central Processing Unit）１ａ、ＣＰＵ１ａによって実行される演算プログラム、制御プログラム等が記憶されたＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）からなるメモリ１ｂ、外部と信号の入出力を行うインターフェイス部（Ｉ／Ｆ）１ｃ、などからなるマイクロコンピュータを中心にして、ハードウェア構成されている（図２）。ＣＰＵ１ａ、メモリ１ｂ、及びインターフェイス部１ｃは、データバス１ｄなどを介して相互に接続されている。
【００１０】
音声認識部２は、マイク６により取得されたユーザの音声情報に基づいて音声認識処理を行い、ユーザの音声情報をテキスト化し文字列情報として認識する。音声認識部２は、音声認識手段の一具体例である。音声認識部２は、マイク６から出力されるユーザの音声情報から発話区間を検出し、検出した発話区間の音声情報に対して、例えば、統計言語モデルを参照してパターンマッチングを行うことで音声認識を行う。ここで、統計言語モデルは、例えば、単語の出現分布やある単語の次に出現する単語の分布等、言語表現の出現確率を計算するための確率モデルであり、形態素単位で連結確率を学習したものである。統計言語モデルは、メモリ１ｂなどに予め記憶されている。なお、音声認識部２は、ユーザの音声情報の各形態素に対してその品詞種類（名詞、形容詞、動詞、副詞など）を付加した品詞情報付き形態素情報を生成する。音声認識部２は、認識したユーザの音声情報を構造解析部３、及び品詞抽出部９に出力する。
【００１１】
構造解析部３は、音声認識部２により認識された音声情報の構造を解析する。構造解析部３は、構造解析手段の一具体例である。構造解析部３は、例えば、一般的な形態素解析器を用いて音声認識されたユーザの音声情報を示す文字列情報に対して形態素解析などを行い、文字列情報の意味解釈を行う。構造解析部３は、文字列情報の解析結果を応答出力部４に出力する。
【００１２】
応答出力部４は、構造解析部３により解析された音声情報の構造に基づいて、ユーザの音声情報に対する応答文（以下、随意応答文と称す）を生成し、該生成した随意応答文を出力する。応答出力部４は、応答出力手段の一具体例である。応答出力部４は、例えば、構造解析部３から出力される文字列情報の解析結果に基づいて、ユーザの音声情報に対する随意応答文を生成する。そして、応答出力部４は、生成した応答文をスピーカ７を用いて出力する。
【００１３】
より、具体的には、構造解析部３は、文字列情報「トンカツ  を  食べる」において、述語項構造を抽出し、述語「食べる」と格助詞「を」を特定する。そして、応答出力部４は、構造解析部３により特定された述語「食べる」に係り得る格助詞の種類を、述語と格助詞との対応関係が記憶された不足格辞書データベース８の中から抽出する。なお、不足格辞書データベース８は、例えば、メモリ１ｂに構築されている。
【００１４】
応答出力部４は、例えば、「何  を  食べる」、「どこ  で  食べる」、「いつ  に  食べる」、「誰  と  食べる」とういう述語項構造を、随意応答文として生成する。さらに、応答出力部４は、上記生成した述語項構造の中で、ユーザの音声と一致しない表層格「を」を除いた、他の述語項構造の中からランダムに選択し、選択した述語項構造を随意応答文とする。応答出力部４は、例えば、「誰と食べたの？」という述語項構造を選択し、随意応答文として出力する。なお、上述した随意応答文の生成方法は一例であり、これに限定されず、任意の生成方法を用いることができる。
【００１５】
品詞抽出部９は、音声認識部２から出力された音声情報の品詞情報付き形態素情報に基づいて、認識されたユーザの音声情報から名詞及び／又は動詞を抽出する。品詞抽出部９は、品詞抽出手段の一具体例である。品詞抽出部９は、例えば、音声認識部２から出力された音声情報の品詞情報付き形態素情報「トンカツ（名詞）を（助詞）食べた（動詞）よ（助詞）」から、「トンカツ（名詞）」又は「食べた（動詞）」を抽出する。品詞抽出部９は、上記名詞として、例えば、トンカツ（一般名詞）、矢場トン（固有名詞）、投票する＝＞投票（サ変名詞）（但し、数詞などの一部の名詞を除く）などを抽出する。また、品詞抽出部９は、上記動詞として、例えば、投票する（サ変動詞）、泳ぐ、などを抽出する。品詞抽出部９は、抽出した名詞又は動詞を繰返生成部５及び関連ワード抽出部１０に出力する。
【００１６】
ところで、上述したような、音声情報の構造解析、及びその応答文の生成には時間を要し（例えば、３秒程度）、処理コストが高い。このため、応答待ちが生じ、対話に違和感が生じる虞がある。
【００１７】
これに対し、本実施の形態１に係る応答生成装置１において、繰返生成部５は、音声認識部２により認識されたユーザの音声から、繰返しの応答文（以下、繰返応答文と称す）を簡易に生成する。そして、応答出力部４は、繰返生成部５により生成された繰返応答文した後、音声の構造に基づいた随意応答文を出力する。
【００１８】
これにより、繰返応答文は、認識されたユーザの音声をオウム返しで繰り返すだけなので生成時間を要せず（例えば、１秒程度）、処理コストが低い。したがって、上記処理コストが高い随意応答文を出力するまでの応答待ちの間に、処理コストが低い繰返応答文を出力することができる。したがって、応答待ちによって生じる対話の間が大きいことによる対話の違和感を緩和することができる。
【００１９】
繰返生成部５は、上述の如く、音声認識部２により認識された音声情報を、オウム返しを行うための繰返応答文として生成する。ここで、ユーザの音声を全く変えずにそのままオウム返しするよりも、ユーザの音声情報の名詞又は動詞に特定の付加語を付加してオウム返しをした方が、より対話の自然性が向上する。例えば、ユーザの発話「海に行ったよ」に対して、応答生成装置１が単にそのまま「海に行ったよ」と応答するよりも、「海かぁ」あるいは「お、海かぁ」と応答した方がより対話の自然性が向上する。
【００２０】
したがって、本実施の形態１に係る繰返生成部５は、品詞抽出部９により抽出された名詞又は動詞に対して特定の付加語を付加することで、繰返応答文を生成する。これにより、オウム返しの繰返応答文の語感に多様性を持たせることができるため、画一的な応答パターンにならず、対話の違和感をより緩和することができる。
【００２１】
メモリ１ｂには、例えば、複数のキーワードと、複数の付加語（語頭、語尾など）と、を夫々対応付けた付加情報（テーブル情報など）が記憶されている。繰返生成部５は、品詞抽出部９から出力される名詞又は動詞と、メモリ１ｂに記憶された付加情報と、に基づいて、その名詞又は動詞と一致する付加情報のキーワードを選択する。そして、繰返生成部５は、選択したキーワードに対応する付加語を選択する。繰返生成部５は、品詞抽出部９から出力される名詞又は動詞に、選択した付加語を、付加することで繰返応答文を生成する。
【００２２】
より具体的には、繰返生成部５は、品詞抽出部９から出力される名詞「ラーメン」と、メモリ１ｂに記憶された付加情報と、に基づいて、その名詞「ラーメン」に対応する付加語「かぁ」を選択する。繰返生成部５は、品詞抽出部９から出力される名詞「ラーメン」に選択した付加語「かぁ」を付加することで、繰返応答文「ラーメンかぁ」を生成する。
【００２３】
さらに、画一的な応答パターンを改善し対話としての自然さをより向上させるために、本実施形態１に係る応答生成装置１において、繰返生成部５は、上記名詞又は動詞に特定の付加語を付加するだけでなく、その名詞又は動詞を、関連する関連ワードに置き換えて、繰返応答文を生成する。これにより、オウム返しの繰返応答文の語感に対しより多様性を持たせることができ、対話の違和感をより緩和することができる。
【００２４】
メモリ１ｂには、例えば、下記に示すような、複数のキーワードに該各キーワードに関連する関連ワードに夫々対応付けた関連ワード情報（テーブル情報など）が記憶されている。
【００２５】
キーワード「トンカツ」  関連ワード「豚肉」、
キーワード「ステーキ」  関連ワード「牛肉」、
キーワード「Ａ型」      関連ワード「慎重型」、
キーワード「Ｏ型」      関連ワード「おおらか型」
キーワード「牛肉」      関連ワード「お肉」
キーワード「矢場トン」  関連ワード「味噌カツ」
キーワード「投票する」  関連ワード「国民の義務」
キーワード「泳ぐ」      関連ワード「スイミング」
・・・・・
【００２６】
なお、関連ワードは、例えば、キーワードに類似するワード、あるいは、キーワードの上位概念に相当するワードなどの、ユーザがそのキーワードに基づいて連想するワードである。また、関連ワード情報は、キーワードと関連ワードとを一対一で対応付けたテーブル情報となっているが、これに限定されない。例えば、関連ワード情報は、単一のキーワードと複数の関連ワードとが対応付けられたテーブル情報であってもよく、ツリー状のオントロジー情報であってもよい。また、関連ワード情報および上記付加情報は、一体（両者が対応付けられたテーブル情報など）で構成されていてもよい。
【００２７】
繰返生成部５は、品詞抽出部９から出力される名詞又は動詞と、メモリ１ｂに記憶された関連ワード情報と、に基づいて、その名詞又は動詞と一致する関連ワード情報のキーワードを選択する。繰返生成部５は、選択したキーワードに対応する関連ワードを選択する。なお、単一のキーワードに複数の関連ワードが対応付けられている場合、繰返生成部５は、例えば、その複数の関連ワードの中からランダムにあるいは登録順に１つを選択してもよい。繰返生成部５は、品詞抽出部９により抽出された名詞又は動詞を、該選択した関連ワードに、置き換えて繰返応答文を生成する。
【００２８】
ここで、ユーザの使用するワードは、その時々の流行り廃りで常時変化している。このため、上述したメモリ１ｂ内の関連ワード情報にも、例えば、新しいキーワード及び関連ワードを追加するなどのメンテナンスが必要となる。一方で、新しいキーワード及び関連ワードの抽出は、知的判断を伴うものであり単純なルール化は困難である。したがって、そのような新しいキーワード及び関連ワードを追加するなどのメンテナンスを人が行った場合、その人に大きな負荷となる。
【００２９】
これに対し本実施形態１に係る応答生成装置１は、メモリ１ｂ内の関連ワード情報に新しいキーワード及び関連ワードを追加することで、その関連ワード情報を自動的に更新する機能を有している。これにより、メモリ１ｂ内の関連ワード情報をメンテナンスする際のユーザの負荷を大幅に低減することができる。さらに、関連ワードが適宜増え、繰返応答文により多様性を持たせることができ、対話の違和感をより緩和することができる。
【００３０】
関連ワード抽出部１０は、第１の名詞又は動詞と、該第１の名詞又は動詞と関連する第２の名詞又は動詞と、を所定の文章集合情報から抽出する。関連ワード抽出部１０は、ワード抽出手段の一具体例である。関連ワード抽出部１０は、例えば、ネットワーク上のサーバ、端末装置、データベースなどに格納された文章集合情報から、第１の名詞又は動詞（以下、第１単語）と、第２の名詞又は動詞（以下、第２単語）と、を抽出する。文章集合情報は、例えば、新聞、雑誌、小説、会話などのテキスト情報や階層化されたコーパス情報を含む。
【００３１】
なお、関連ワード抽出部１０は、応答生成装置１に直接入力された、あるいは、予めメモリ１ｂに記憶された文書集合情報から、第１及び第２単語を抽出してもよい。例えば、関連ワード抽出部１０は、マイク６を介して入力されたユーザの音声情報に基づいて第１及び第２単語を抽出してもよい。
【００３２】
関連ワード抽出部１０は、例えば、文章集合情報から抽出した第１単語と第２単語との共起頻度に基づいて、該第１単語と第２単語との類似度を下記式により算出する。
ｓｉｍ（“第１単語”、“第２単語”）
＝｛“第１単語”と“第２単語”の共起頻度｝２／｛“第１単語”の頻度×“第２単語”の頻度｝
【００３３】
関連ワード抽出部１０は、算出した類似度が閾値以上となる場合に、抽出した第１単語と第２単語とが関連すると判断する。なお、関連ワード抽出部１０は、第１単語と第２単語の共起頻度を用いて、その類似度を算出しているが、これに限定されない。関連ワード抽出部１０は、任意の算出方法を用いて第１単語と第２単語との類似度を算出してもよい。
【００３４】
関連ワード抽出部１０は、類似度が閾値以上となり、第１単語と第２単語とが関連すると判断したとき、その第１単語と第２単語をユーザ質問部１１に出力する。
【００３５】
ユーザ質問部１１は、関連ワード抽出部１０から出力された第１単語と第２単語とが同一であるか否かをユーザに対して問う質問を行う。ユーザ質問部１１は、質問手段の一具体例である。ユーザ質問部１１は、例えば、スピーカ７を用いて音声によりあるいは表示装置を用いて文字表示により、ユーザに対して質問を行う。より具体的には、ユーザ質問部１１は、「トンカツは豚肉だよね？」との質問をユーザに対して行う。
【００３６】
記憶判定部１２は、ユーザ質問部１１の質問に対するユーザの回答が肯定的である場合に、第１単語をキーワードとし第２単語を連想ワードとして、メモリ１ｂの関連ワード情報に登録する。記憶判定部１２は、判定手段の一具体例である。
【００３７】
記憶判定部１２は、ユーザ質問部１１の質問に対するユーザの回答が、例えば、「そうだよ」、「そう」、「はい」などの所定の肯定的なパターンである場合に、その回答が肯定的と判断する。一方、記憶判定部１２は、ユーザ質問部１１の質問に対するユーザの回答が、所定の肯定的なパターン以外である場合に、その回答が否定的と判断する。
【００３８】
より具体的に、記憶判定部１２は、ユーザ質問部１１の質問「トンカツは豚肉だよね？」に対するユーザの回答が、「そうだよ」と肯定的なパターンであると判断した場合、その回答が肯定的と判断する。記憶判定部１２は、第１単語「トンカツ」をキーワードとし第２単語「豚肉」を連想ワードとし対応させて、メモリ１ｂの関連ワード情報に登録する。
【００３９】
ここで、記憶判定部１２は、第１単語「トンカツ」をキーワードとし第２単語「豚肉」を連想ワードとして関連ワード情報に登録するが、第１及び第２単語の逆の登録を行わない。すなわち、記憶判定部１２は、第１単語「豚肉」をキーワードとし第２単語「トンカツ」を連想ワードとして関連ワード情報に登録を行わない。
【００４０】
さらに、記憶判定部１２は、新しい第１及び第２単語を関連ワード情報に登録する際に、その新しい第１単語と同一のキーワードが既に関連ワード情報に登録されている場合がある。この場合、記憶判定部１２は、その同一のキーワードに対し、新たな第２単語と既に登録された関連ワードとを対応させて関連ワード情報に登録してもよい。例えば、キーワード「トンカツ」と、このキーワードに対応して関連ワード「豚肉」及び「肉」と、が関連ワード情報に登録される。このように、単一のキーワードに対して複数の関連ワードが対応付けられて関連ワード情報に登録されてもよい。これにより、メモリ１ｂの記憶容量の節約に繋がる。
【００４１】
記憶判定部１２は、上述の如く、単一のキーワードに対して複数の関連ワードを重複させて関連ワード情報に登録する場合、ユーザの選択に応じてその重複登録を実行する或いは中止してもよい。
【００４２】
例えば、記憶判定部１２は、単一のキーワードに対して複数の関連ワードを重複させて登録する場合、その重複登録の実行及び中止を選択させるための質問をスピーカ７などを用いて行う。記憶判定部１２は、その質問に対して、マイク６などにより入力されたユーザの選択に応じて、その重複登録を実行する或いは中止する。
【００４３】
図３は、本実施形態１に係る応答生成方法の処理フローを示すフローチャートである。
関連ワード抽出部１０は、第１単語と、該第１単語と関連する第２単語と、をネットワーク上のコーパス情報などから抽出する（ステップＳ１０１）。
【００４４】
関連ワード抽出部１０は、抽出した第１単語と第２単語と類似度を算出する（ステップＳ１０２）。関連ワード抽出部１０は、算出した類似度が閾値以上であり、抽出した第１単語と第２単語とが関連するか否かを判断する（ステップＳ１０３）。
【００４５】
関連ワード抽出部１０は、類似度が閾値以上となり、第１単語と第２単語とが関連すると判断したとき（ステップＳ１０３のＹＥＳ）、その第１単語と第２単語をユーザ質問部１１に出力する。
【００４６】
ユーザ質問部１１は、関連ワード抽出部１０から出力された第１単語と第２単語とが同一であるか否かの質問をスピーカ７などを用いて行う（ステップＳ１０４）。記憶判定部１２は、ユーザ質問部１１の質問に対するユーザの回答が肯定的であるか否かを判定する（ステップＳ１０５）。記憶判定部１２は、ユーザの回答が肯定的であると判定したとき（ステップＳ１０５のＹＥＳ）、第１単語をキーワードとし第２単語を連想ワードとして、メモリ１ｂの関連ワード情報に登録する（ステップＳ１０６）。
【００４７】
音声認識部２は、マイク６により取得されたユーザの音声情報の音声認識を行い（ステップＳ１０７）、認識したユーザの音声情報を構造解析部３、及び品詞抽出部９に出力する。
【００４８】
品詞抽出部９は、音声認識部２から出力された音声情報の品詞情報付き形態素情報に基づいて、認識されたユーザの音声情報から名詞又は動詞を抽出する（ステップＳ１０８）。品詞抽出部９は、抽出した名詞又は動詞を繰返生成部５に出力する。
【００４９】
繰返生成部５は、品詞抽出部９から出力された名詞又は動詞と、メモリ１ｂの付加情報と、に基づいて、品詞抽出部９から出力された名詞又は動詞と一致する付加情報のキーワードを選択する。そして、繰返生成部５は、該選択したキーワードに対応する付加語を、該抽出された名詞又は動詞に対して付加する（ステップＳ１０９）。
【００５０】
繰返生成部５は、品詞抽出部９から出力された名詞又は動詞と、メモリ１ｂの関連ワード情報と、に基づいて、品詞抽出部９から出力された名詞又は動詞と一致する関連ワード情報のキーワードを選択する。そして、繰返生成部５は、品詞抽出部９から出力された名詞又は動詞を、該選択したキーワードに対応する関連ワードに、置き換えて（ステップＳ１１０）、繰返応答文を生成する（ステップＳ１１１）。
【００５１】
繰返生成部５は、生成した繰返応答文を応答出力部４に出力する。応答出力部４は、繰返生成部５から出力される繰返応答文をスピーカ７から出力する（ステップＳ１１２）。
【００５２】
上記（ステップ１０８）及び（ステップ１１２）と平行して、構造解析部３は、音声認識部２により認識された音声情報の構造を解析し（ステップＳ１１３）、その文字列情報の解析結果を応答出力部４に出力する。
【００５３】
応答出力部４は、構造解析部３から出力される文字列情報の解析結果に基づいて随意応答文を生成し（ステップＳ１１４）、生成した随意応答文をスピーカ７から出力する（ステップＳ１１５）。ここで、応答出力部４は、処理時間の低い繰返応答文を出力した後、処理時間の高い随意応答文を出力することとなる。
【００５４】
なお、上述した（ステップＳ１０１）乃至（ステップＳ１０６）の処理（関連ワード情報の更新処理）は、（ステップＳ１０７）乃至（ステップＳ１１５）（実際のユーザとの対話処理）の前に実行されているが、これに限定されず、任意のタイミング実行できる。例えば、（ステップＳ１０１）乃至（ステップＳ１０６）の処理は、（ステップＳ１０７）乃至（ステップＳ１１５）の後、あるいは、途中、さらには前後で実行されてもよい。
【００５５】
以上、本実施形態１に係る応答生成装置１において、繰返生成部５は、品詞抽出部９により抽出された名詞又は動詞と一致するメモリ１ｂのキーワードを選択し、該選択したキーワードに対応する付加語を、該抽出された名詞又は動詞に対して付加する。さらに、繰返生成部５は、該抽出された名詞又は動詞を、該選択したメモリ１ｂのキーワードに対応する関連ワードに、置き換えて、繰返し応答文を生成する。これより、オウム返しの繰返応答文の語感に多様性を持たせることができ、対話の違和感をより緩和することができる。さらに、上記関連ワードに置き換える際に必要となる関連ワード情報を自動的に更新できる。このため、ユーザの負荷を低減しつつ、繰返応答文により多様性を持たせ対話の違和感をより緩和することができる。
【００５６】
実施形態２．
図４は、本発明の実施形態２に係る応答生成装置の概略的なシステム構成を示すブロック図である。本実施形態２に係る応答生成装置２０は、上記実施形態１に係る応答生成装置１の構成に加えて、ユーザの音声情報の音韻を分析する音韻分析部２１と、ユーザの音声情報に対する相槌の応答を生成する相槌生成部２２と、を更に備える点を特徴とする。
【００５７】
音韻分析部２１は、マイク６により取得されたユーザの音声情報に基づいてユーザの音声情報の音韻を分析する。音韻分析部２１は、音韻分析手段の一具体例である。例えば、音韻分析部２１は、音声情報の音量レベル変化や周波数変化（基本周波数等）を検出することで、ユーザの音声の切れ目を推定する。音韻分析部２１は、音韻の分析結果を相槌生成部２２に出力する。
【００５８】
相槌生成部２２は、音韻分析部２１から出力される音韻の分析結果に基づいて、ユーザの音声に対する相槌の応答（以下、相槌応答と称す）を生成する。相槌生成部２２は、相槌生成手段の一具体例である。例えば、相槌生成部２２は、音声情報の音量レベルが閾値以下となったとき、相槌のパターンが記憶された定型応答データベース２３を検索する。そして、相槌生成部２２は、定型応答データベース２３からランダムに相槌応答を選択する。定型応答データベース２３は、「うん。うん。」などの相槌に用いられる複数のパターンが記憶されている。定型応答データベース２３は、上記メモリ１ｂなどに構築されている。相槌生成部２２は、生成した相槌応答を応答出力部４に出力する。
【００５９】
応答出力部４は、繰返生成部５により生成された繰返応答文の前に、相槌生成部２２により生成された相槌応答をスピーカ７から出力させる。なお、音韻分析部２１は、処理コストの低い特徴量を用いて音韻分析を行っている。このため、その相槌応答の生成時間は、上記繰返応答文の生成時間より短く、処理コストがより低い。
【００６０】
したがって、上記繰返応答文を出力するまでの間に、より処理コストが低い相槌応答を出力することができる。これにより、対話間の繋がりがよりスムーズになり、対話の違和感をより緩和することができる。さらに、処理コストの異なるより多くの応答及び応答文を並列で生成し、その生成順に出力する。これにより、対話の連続性をより滑らかに維持しそのテンポ感を損なわないより自然な対話を実現できる。
【００６１】
なお、相槌生成部２２は、相槌応答を定型的に生成しており、繰返生成部５は、音声認識結果の表層的な解釈のみを行って繰返応答文を生成している。したがって、応答出力部４は、相槌生成部２２により生成された相槌応答および繰返生成部５により生成された繰返応答と同様の随意応答候補を生成することが想定される。
【００６２】
これに対し、応答出力部４は、随意応答候補の中から、相槌生成部２２により生成された相槌応答および繰返生成部５により生成された繰返応答と重複する随意応答候補を除外する。そして、応答出力部４は、その除外された随意応答候補の中から最適な候補を選択し、随意応答文とする。これにより、重複する無駄な言葉を排除できより自然な対話を実現できる。
【００６３】
例えば、ユーザの発話「今日は暑いね」に対して、相槌生成部２２が相槌応答「うん」を生成する。続いて、繰返生成部５は、繰返応答文「暑いね」を生成する。これに対し、応答出力部４は、随意応答候補「嫌だね」、「いつまで暑いのかな？」、「暑いね」、「そうだね」等を生成する。応答出力部４は、生成した随意応答候補の中から繰返生成部５により生成された繰返応答文と重複する「暑いね」を排除する。そして、応答出力部４は、その除外された随意応答候補の中から、例えば「いつまで暑いのかな？」を選択し、随意応答文とする。
【００６４】
なお、本実施形態２に係る応答生成装置２０において、上記実施形態１に係る応答生成装置１と同一部分に同一符号を付して詳細な説明は省略する。
【００６５】
以下、応答生成装置２０とユーザとの対話の一例を示す。下記一例において、Ｍは、応答生成装置２０の応答文及び応答であり、Ｕはユーザの発話である。
Ｍ（話題提供）：お昼何を食べたの？  
Ｕ：トンカツを食べたよ。
Ｍ（相槌応答）：うん。うん。
Ｍ（繰返応答文）：トンカツかぁ。（「かぁ」を付加）
Ｍ（判断処理）：第１単語「トンカツ」と第２単語「豚肉」とが関連と判断
Ｍ（随意応答文）：トンカツは豚肉だよね？
Ｕ：（肯定的な回答）そうだね。
Ｍ（相槌応答）：そうなんだ。
Ｍ（随意応答文）：どこで食べたのかな？
・・・・・
Ｕ：トンカツを食べたよ。
Ｍ（相槌応答）：なるほど。
Ｍ（繰返応答文）：豚肉、豚肉だね。（「だね」を付加、「トンカツ」を「豚肉」に置換え）
Ｍ（随意応答文）：食べたんだね。
【００６６】
上記対話の一例が示すように、ユーザが発話すると、この発話に対して、応答生成装置２０の相槌応答、繰返応答文、及び随意応答文がテンポよく連続し、対話間の繋がりがよりスムーズになることが分かる。また、適宜、関連ワード情報を自動的に更新（キーワード「トンカツ」に対応する関連ワード「豚肉」を追加）でき、人的負荷が掛からないことが分かる。さらに、動詞又は名詞に付加語を付加し関連ワードへ置き換えることにより、繰返応答文に多様性を持たせることで、対話の自然性がより向上していることが分かる。
【００６７】
実施形態３
上記実施形態１及び２において、記憶判定部１２は、ユーザ質問部１１の質問に対するユーザの回答が肯定的である場合に、第１単語をキーワードとし第２単語を連想ワードとして、メモリ１ｂの関連ワード情報に逐次登録している。記憶判定部１２が、キーワード及び連想ワードを、メモリ１ｂの関連ワード情報に制限なく登録を行った場合、メモリ１ｂの記憶容量に余裕がなくなることも想定される。
【００６８】
したがって、本実施形態３に係る記憶判定部１２は、メモリ１ｂに記憶される関連ワード情報のキーワードの数を所定条件で制限する。関連ワード情報において、例えば、キーワードと、キーワードの関連ワードと、キーワードの利用数と、キーワードの登録時間と、が下記のように対応付けられている。
【００６９】
キーワード  関連ワード    利用数        登録時間
「トンカツ」  「豚肉」        １      ＹＹ：ＭＭ：ＤＤ    
「ステーキ」  「牛肉」        ０      ＹＹ：ＭＭ：ＤＤ
・・・・・・・・・・・・・・・・・・・・・・
【００７０】
例えば、記憶判定部１２は、メモリ１ｂに記憶された関連ワード情報において、キーワード及び関連ワードの登録時間が新しいもの順で所定数（５０語など）だけキーワード及び関連ワードを残し、その他を削除してもよい。記憶判定部１２は、メモリ１ｂに記憶された関連ワード情報において、キーワード及び関連ワードの利用数が多いもの順で所定数だけキーワード及び関連ワードを残し、その他を削除してもよい。記憶判定部１２は、メモリ１ｂに記憶された関連ワード情報において、登録時間から所定期間（Ｎ日など）経過し且つ利用数が所定数（１回など）以下のキーワード及び関連ワードを削除してもよい。
記憶判定部１２は、メモリ１ｂに記憶された関連ワード情報において、連想強度やユーザプロファイル情報（ユーザの好感度、嗜好パターンなど）に基づいてキーワード及び関連ワードを削除してもよい。
【００７１】
なお、関連ワード情報は、ネットワーク１００上のサーバやデータベースなどネットワーク装置１０１に記憶され、更新されてもよい（図５）。この場合、例えば、複数の応答生成装置１がネットワーク１００クに接続されている。
【００７２】
各応答生成装置１は、第１単語のキーワード及び第２単語の連想ワードを、ネットワーク１００上のネットワーク装置１０１に送信し、ネットワーク装置１０１に記憶された関連ワード情報を更新する。さらに、ネットワーク装置１０１は、関連ワード情報のキーワード及び関連ワードの数を上記のような所定条件で制限する。そして、ネットワーク装置１０１は、所定条件で制限した関連ワード情報を各応答生成装置１に送信する。各応答生成装置１は、ネットワーク装置１０１から送信された関連ワード情報をメモリ１ｂに記憶する。このように、複数の応答生成装置１からの情報に基づいて、ネットワーク装置で一括して関連ワード情報を更新することで、繰返応答文により多様性を持たせることができる。なお、本実施形態３において、上記実施形態１及び２と同一部分に同一符号を付して詳細な説明は省略する。
【００７３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
上記実施形態において、繰返生成部５は、品詞抽出部９から出力された名詞又は動詞にメモリ１ｂの付加情報の付加語を付加した後、該名詞又は動詞をメモリ１ｂの関連ワード情報の関連ワードに、置き換えているが、これに限定されない。繰返生成部５は、品詞抽出部９から出力された名詞又は動詞を、メモリ１ｂの関連ワード情報の関連ワードに、置き換えた後、該置き換えた関連ワードにメモリ１ｂの付加情報の付加語を付加してもよい。
【００７４】
例えば、繰返生成部５は、品詞抽出部９から出力された名詞又は動詞と、メモリ１ｂの関連ワード情報と、に基づいて、品詞抽出部９から出力された名詞又は動詞と一致する関連ワード情報のキーワードを選択する。繰返生成部５は、品詞抽出部９から出力された名詞又は動詞を、該選択したキーワードに対応する関連ワードに、置き換える。繰返生成部５は、品詞抽出部９から出力された名詞又は動詞と、メモリ１ｂの付加情報と、に基づいて、品詞抽出部９から出力された名詞又は動詞と一致する付加情報のキーワードを選択する。繰返生成部５は、該選択したキーワードに対応する付加語を、上記置き換えられた関連ワードに対して付加することで、繰返応答文を生成する。
【００７５】
上記実施形態において、応答出力部４は相槌生成部２２により生成された相槌応答をスピーカ７から出力させているが、これに限られない。応答出力部４は、相槌生成部２２により生成された相槌応答に基づいて、処理負荷の低い任意の応答を行っても良い。例えば、応答出力部４は、振動装置の振動、ライト装置の点灯／点滅、表示装置の表示、ロボットの手足、頭部、胴体など各部の動作などをおこなってもよく、これらを任意に組み合わせて行ってもよい。
【００７６】
上記実施形態において、応答出力部４は、繰返生成部５により生成された繰返応答文をスピーカ７から出力させているが、これに限らない。応答出力部４は、繰返生成部５により生成された繰返応答文に基づいて、処理負荷の低い任意の繰返応答文を出力しても良い。例えば、応答出力部４は、表示装置の表示などを用いて繰返応答文を出力してもよく、任意に手段を組み合わせて出力してもよい。この場合、例えば、応答出力部４の出力態様は、文字の大きさ、輝度、形状などの設定であってもよい。
【００７７】
また、本発明は、例えば、図３に示す処理を、ＣＰＵ１ａにコンピュータプログラムを実行させることにより実現することも可能である。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。
【００７８】
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００７９】
１  応答生成装置、２  音声認識部、３  構造解析部、４  応答出力部、５  繰返生成部、６  マイク、７  スピーカ、８  不足格辞書データベース、９  品詞抽出部、１０  関連ワード抽出部、１１  ユーザ質問部、１２  記憶判定部、２１  音韻分析部、２２  相槌生成部、２３  定型応答データベース
【図１】
0006299563.tif 000002
【図２】
0006299563.tif 000003
【図３】
0006299563.tif 000004
【図４】
0006299563.tif 000005
【図５】
0006299563.tif 000006