対話処理装置
【課題】自然の流れに沿った対話が行なわれるようにする。
【解決手段】ユーザの発話を認識し、認識された発話と記憶手段に記憶されたユーザの発話に対する応答用の発話を事象と事象、事象と評価、及び評価と評価の各組合からなるルールに従った応答知識とに基づいて、ユーザの発話に対する応答用の発話を生成し、生成した応答用の発話を音声合成して出力する。
【解決手段】ユーザの発話を認識し、認識された発話と記憶手段に記憶されたユーザの発話に対する応答用の発話を事象と事象、事象と評価、及び評価と評価の各組合からなるルールに従った応答知識とに基づいて、ユーザの発話に対する応答用の発話を生成し、生成した応答用の発話を音声合成して出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対話処理装置にかかり、特に、ユーザの発話に対して広がりがあり、かつユーザと深い対話を行なうことができる対話処理装置に関する。
【背景技術】
【0002】
対話中にユーザが飽きることがなく、かつユーザと自然な流れの対話を行なうことができる自然な話題に遷移する会話処理装置が提案されている(特許文献1)。この会話処理装置では、フレームという概念を用い、会話している話題がどの程度話されたかを数値として算出し、その算出された値にしたがって話題を遷移させることによりユーザとの会話を自然に行なえるようにしている。
【0003】
この会話処理装置では、会話を開始すると、ロボット内の制御部においてロボット用のフレームとユーザ用のフレームとが作成される。これらのフレームには、いつ、どこで、だれが、なにを、どうした、なぜの5W1Hの項目が設定されており、これらの設定された項目が埋まるように会話が進められる。また、これらの項目は、各々どれだけ話したかを示す数値で管理されており、これらの値の平均値が算出され、この算出された値により、話題を遷移させるか否かが判断される。話題を遷移させると判断された場合には、話題を遷移し、新たな話題に対して会話を開始する。
【0004】
また、現在の話題と処理装置中に記憶されている別の話題との関連度に基づいて、話題遷移を行なう会話処理装置も提案されている(特許文献2)。この装置では、話題に関するキーワード、分類、場所、及び時間の少なくとも1つを含んだ属性値間の関連度を算出することにより類似した話題を選択している。
【0005】
すなわち、上記従来の技術は、話題によって対話を制御するものであり、同一話題が継続している継続時間に関連して、話題の継続度を表す値を保持して対話を管理している。
【特許文献1】特開2001−188785号公報
【特許文献2】特開2001−188784号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、人間同士の話題の遷移は一定の継続時間に従っているというよりも、相手の発話に関連する知識の量で同一話題を継続するかどうかが決定されることが多い。また、話題自身も明確な区切りが存在するわけではなく、対話が繰り返されている間に自然に別の内容について会話している、ということは頻繁に生じている。したがって、システムの制御によって急に話題が変化することは、ユーザが不自然さを感じる原因になる。
【0007】
以上のことから、従来技術で得られる対話では、ユーザが飽きないような、かつ自然な流れの対話にならない場合が生じる。
【0008】
本発明は、上記問題点を解消するためになされたもので、システムがユーザ発話に対してどの程度の知識をもっているかで対話を継続するか否かを決定することにより、ユーザが興味を持っている事象に対してシステムが豊富な知識を持っていれば対話を自然と継続し、システムが豊富な知識を持っていなければ対話を継続しないようにして、自然の流れに沿った対話が行なわれるようにした対話処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明は、ユーザの発話を認識する音声認識手段と、ユーザの発話に対する応答用の発話を、事象と事象、事象と評価、及び評価と評価の各組合せからなるルールに従った応答知識で記憶した記憶手段と、前記音声認識手段で認識された発話と前記記憶手段に記憶された応答知識とに基づいて、該ユーザの発話に対する応答用の発話を生成する応答生成手段と、前記応答手段で生成した応答用の発話を音声合成して出力する音声合成手段と、を含んで構成したものである。
【0010】
上記の事象と事象及び事象と評価との各組合せからなるルールは、因果関係または因果関係の根拠の関係によって構成することができる。この因果関係は、順接の因果関係及び逆接の因果関係の少なくとも一方とすることができる。また、事象と事象及び事象と評価との各組合せからなるルールは、時間的関係によって構成することができる。この時間的関係は、時間的な順接関係及び時間的な逆説関係の少なくとも一方とすることができる。
【0011】
さらに、事象と事象との組合せからなるルールは、ユーザの発話に対する言い換えによって構成される知識に基づいて構成することができる。この言い換えは、ユーザ発話を要約した要約、ユーザ発話に対する具体例、またはユーザの発話の発話中の焦点とすることができる。
【0012】
評価は、ユーザの発話が意味する感情によって構成することができる。この場合、感情は、好ましい感情状態を表すポジティブ、好ましくない感情状態を表すネガティブに分類することができる。
【0013】
応答知識を、ウエブサイトの文書集合を含む文書集合に基づいて生成することができ、生成した応答知識のルールに矛盾が生じた場合には、多数決、ユーザのプロファイル、ユーザとの対話の履歴に基づいて矛盾を解決するればよい。
【0014】
以上説明したように本発明によれば、事象と事象、事象と評価、及び評価と評価の各組合からなるルールに従った応答知識に基づいて、ユーザに対して応答しているため、ユーザ発話に対して意味的に関連した次の発話が行なわれ、豊かな対話を行なうことができる。
【発明の効果】
【0015】
以上説明したように本発明によれば、事象と事象、事象と評価、及び評価と評価の各組合からなるルールに従った応答知識に基づいて、ユーザに対して応答しているため、ユーザ発話に対して意味的に関連した次の発話が行なわれ、豊かな対話を行なうことができる対話処理装置を提供することができる、という効果が得られる。
【発明を実施するための最良の形態】
【0016】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0017】
第1の実施の形態には、図1に示すように、ユーザの発話を集音して入力するためのマイクロホン10が設けられている。マイクロホン10は、図示しないデータベースに登録された音声認識用辞書に基づいて、マイクロホン10から入力されたユーザの発話を認識する音声認識部12に接続されている。
【0018】
音声認識部12は、辞書に登録された発話生成用のルールに従って構成された応答知識に基づいて、応答用の発話を生成するルールを判定するルール判定部を複数個備えたルール判定装置14に接続されている。そして、ルール判定装置14は、ルール判定装置14で生成された複数のルールから特定のルールを決定するルール決定部16に接続され、ルール決定部16は発話を音声合成し、スピーカ20に入力しスピーカ20から出力する音声合成部18に接続されている。
【0019】
最初に本実施の形態の基本的な処理について説明し、その後に知識を構成する関係、評価別の具体的な事例について説明する。基本的な処理の手続きの具体例を図2に従って説明する。ステップ100の音声認識処理はユーザの発話を認識し、テキスト情報を得るための処理である。
【0020】
次のステップ102ではルール判定部において、辞書部を参照しユーザ発話に対する発話生成のためのルールを特定する。これは図4のようなテーブルを発話生成のルールとして関係別に辞書に格納し、表の左列(以下、前件部)のうちユーザ発話に近いものを選択する処理に基づいて行う。具体的には、各々の関係に基づいて定義された辞書毎に、辞書に含まれるルールの前件部を全て走査し、ユーザ発話と前件部との距離に基づいてユーザ発話に最も近いものを抽出する。
【0021】
ここで、ユーザ発話と前件部との距離は、自立語の基本形の一致語数の逆数を用いることができる。例えば、ユーザ発話が「晴れたね」であれば、発話に含まれる自立語の基本形は「晴れる」である。一方、図4のルールの基本形は、1,2が「晴れる」、3,4が「雨」「降る」であるため、発話とルールの距離はルール1,2が1、ルール3,4が∞と計算することができる。
【0022】
このように辞書別に適用するルールを判定した後、どのルールをシステムの次発話に用いるかを決定する。ここでは最も距離の近いルールを特定し、そのルールに対応する表の右列(以下、後件部)をシステム発話として決定する。ルール判定時にユーザの発話がどのルールにも相当しなかった場合は、「それで?」や「うん」等のさらにユーザの発話を促す応答をシステム発話として決定する。
【0023】
以上の手続きをより詳細に示したものを図18に示す。図18ではアルゴリズムの記述によく用いられるPascalを基礎とした擬似言語を用いた。この表現の詳細は“Alfred V.Aho,John E.Hopcroft and Jeffery D.Ullman,“Data Structures and Algorithms”に記載されている。
【0024】
なお、次発話決定処理の別の実現手段として候補の選択にはランダムに選択する方法、対話履歴を用いる方法などを用いる。ランダムに選択する方法では乱数を発生させ、任意のルールを1つ選択するものである。対話履歴を用いる方法では、以前に用いたルールの履歴を保持しておき、同じルールを候補中から除いた上で、残りのルールをランダムに選択するものや、あるいは図4のルール中の自立語と対話履歴中に含まれている自立語とを比較して、ルール中に含まれる対話履歴の自立語の数の多いものを選択する。
【0025】
以上の手続きによって決定されたシステム発話を音声合成装置を介してユーザに伝達し、再び音声認識処理を継続することによって対話処理を継続することが可能である。
【0026】
次に、具体的な事例について説明する。上記の辞書に登録された発話生成用のルールに従って構成された応答知識について説明する。まず、ルールとしては、以下のa,bの2つのルールを使用し、応答知識は、各ルールに従って発話と発話に対する応答用の発話とを対応させて構成されている。
【0027】
a.ユーザ発話に対する事象を応答する。
【0028】
b.ユーザ発話に対する評価を応答する。
【0029】
ここで、「事象」とは、「事物の状態や意味、人や動物の行為」であり、「評価」とは、「事象を主観的な視点を伴って解釈したもの」である。「事象」の例としては、「晴れている」(状態)及び「遠足に行く」(行為)があり、「評価」の例としては、「晴れている」に対して「気持ちがいい」、「遠足に行く」に対して「楽しみなことがある」等がある。
【0030】
上記基本ルールa,bは、ユーザの発話の自立語の基本形をシステムの応答用の発話の自立語の基本形に変換するものであり、ユーザ発話には「事象」の場合と「評価」の場合とがあるので、ルールには、事象を事象に変換するルール、事象を評価に変換するルール、評価を事象に変換するルール、及び評価を評価に変換するルールの4つのルールがある。
【0031】
すなわち、ユーザの発話の自立語の基本形を「被対応要素」、システムの応答用の発話の自立語の基本形を「対応要素」とすると、辞書には、ユーザ発話の被対応要素を、この被対応要素に対応する対応要素に変換するルールが多数個登録されている。
【0032】
辞書に格納されているルールの具体例を図4を参照して説明すると、ルール1では、ユーザ発話の自立語の基本形「晴れる」(被対応要素)に対してシステムの応答用の発話の自立語の基本形「遠足にいける」(対応要素)が対応されており、同様にルール2では「晴れる」に対して「気持ちがいい」が対応されており、ルール3では「雨が降る」に対して「遠足は中止」が対応されており、ルール4では「雨が降る」に対して「落ち込む」が対応されている。
【0033】
すなわち、ルール1は、ユーザが「晴れてきたね」と発話すると、シシテムが「遠足にいけるね」と応答するものであり、ルール2は、ユーザが「晴れてきたね」と発話すると、シシテムが「気持ちがいいね」と応答するものであり、ルール3は、ユーザが「晴れてきたね」と発話すると、シシテムが「遠足にいけるね」と応答するものであり、ルール4は、ユーザが「雨が降ってきたね」と発話すると、シシテムが「落ち込むね」と応答するものである。
【0034】
次に本実施の形態のシステム(対話処理装置)とユーザとの対話の処理手順について図2のフローチャートを参照して説明する。このフローチャートは、音声認識部12、発話生成部14、及び音声合成部18の処理をまとめて記載したものであり、本実施の形態では、音声認識部12、発話生成部14、及び音声合成部18を各々別々のコンピュータで構成することもできるが、別々のコンピュータに代えて、図2の処理を実行する1つのコンピュータで構成することもできる。
【0035】
ステップ100では、マイクロホン10から入力されたユーザ発話を音声認識し、形態素列を抽出する。次のステップ102では、形態素列からユーザ発話の自立語の基本形を抽出し、辞書16を参照してユーザ発話の自立語の基本形に対する応答用の発話の自立語を生成するためのルールを特定する。このルールを特定するにあたっては、自立語の基本形(被対応要素)の一致語の数の逆数を指標として、ユーザ発話と各ルールとの距離を決定し、距離が近いルールを変換用のるールとして特定する。
【0036】
例えば、ユーザ発話が「晴れたね」であれば、ユーザ発話に含まれる自立語の基本形は、「晴れる」である。一方、図4のルールでは、ルール1、2の被対応要素(表の左列の要素)が「晴れる」、ルール3、4の被対応要素が「雨が降る」であるので、ユーザ発話とルールとの距離は、ルール1、2については自立語の基本形である「晴れる」が1つ一致しているので、一致語数は1、その逆数は1になる。一方、ルール3、4については、一致語数は0であるので、一致語の数の逆数は∞になる。したがって、この例では、ルール1及びルール2が最も距離が近いので候補として選択される。なお、距離が所定値以上で遠い場合はいずれのルールは選択されない。
【0037】
次のステップ104では、候補として選択されたルールが存在するか否かを判断し、選択されたルールが存在する場合には、ステップ106において1つのルールを特定し、特定したルールに従ってユーザ発話に対する応答用の発話を生成する。ルールの特定の仕方には、ランダムに1つのルールを特定する方法、対話の履歴を記憶しておいて履歴に基づいてルールを特定する方法等を用いることができる。
【0038】
ランダムにルールを特定する方法では、乱数を発生させ、発生させた乱数に基づいて1つのルールを特定する。また、対話の履歴に基づいてルールを特定する方法では、以前に特定したルールの履歴を記憶しておき、候補の中から履歴に記憶されているルールと同じルールを除いた残りのルールからランダムにルールを特定する方法、または辞書の中の自立語の基本形と対話履歴中に含まれる自立語の基本形とを比較し、ルール中に含まれる対話履歴の自立語の基本形の数が多いルールを特定する方法等を用いることができる。
【0039】
上記のようにして1つのルールを特定した後、辞書を用いて特定したルールから応答用の発話を生成した後、ステップ110において、応答用の発話を音声合成部で音声合成し、ユーザに伝達し、再び音声認識処理を継続することにより、ユーザとの対話を継続する。
【0040】
一方、ステップ104でルールが存在しないと判断されたときは、ステップ108において、「それで?」または「うん」等のさらにユーザの発話を促す不明応答を応答用の発話として生成する。そして、ステップ110において、応答用の発話を音声合成部で音声合成し、ユーザに伝達し、再び音声認識処理を継続することにより、ユーザとの対話を継続する。
【0041】
次に、第2の実施の形態について説明する。本実施の形態は、図5に示すように、ルールを原因−結果−根拠の応答知識から構成したものである。先に説明したルール判定処理では、ユーザ発話と前件部の自立語との距離を基準としたが、ここでは、ルール中の各項目とユーザ発話との距離を基準とする。
【0042】
図5の例のルール1は、「晴れていれば雨にぬれないので遠足に行ける」という順接の因果関係を「原因:晴れていれば(事象)、結果:遠足に行ける(事象)、根拠:なぜなら雨にぬれないから(事象)」の各事象に分類し、原因−結果−根拠に対応付けて登録したものである。また、ルール2は、「遠足に行くと友達とハイキングにいけるので楽しみだ」という順接の因果関係を「原因:遠足に行くのは(事象)、結果:楽しみ(評価)、根拠:なぜなら友達とハイキングにいけるから(事象)」の各事象に分類し、原因−結果−根拠に対応付けて登録したものである。
【0043】
第1の実施の実施の形態では、ユーザ発話の自立語の基本形とルールにおけるユーザ発話に対応する部分(被対応要素)の自立語の基本形との距離に基づいてルールを選択したが、本実施の形態では、ルール中の原因、結果、及び根拠の各項目の自立語の基本形とユーザ発話の自立語の基本形との距離を演算し、この演算した距離を基準としてルールを判定し選択する。例えば、ユーザが「楽しみだな」と発話した場合には、ユーザ発話を音声認識して自立語の基本形を抽出した場合、図5の各ルールの各項目の自立語の基本形との距離(一致数の逆数)を、一致した自立語基本形の数に基づいて算出すると、図6に示すようになる。この例では、結果の項目に対応する「楽しみ」が距離としては最も近いので、「楽しみ」を含むルール2が選択される。
【0044】
続いて、選択したルール2に基づいてシステムの発話を生成する。この原因−結果−根拠のルールでは、ユーザ発話を含む項目(この例では、結果の項目)を基準とした原因の項目及び根拠の項目の2つの項目を候補としてシステムの発話を生成する。この例では、結果の項目が「楽しみ」であるので、原因の項目の「遠足に行く」及び根拠の項目の「友達とハイキングに行く」が候補となる。
【0045】
候補から応答用の発話を選択するには、上記で説明したランダムで選択する方法や対話の履歴を用いる方法を使用することができるが、根拠の項目から応答用の発話を生成する場合は、「友達とハイキングに行けるからね」のように自立語の基本形を根拠を提示するような表現に言い換えてシステムの応答用の発話を生成する。
【0046】
次に、第3の実施の形態について説明する。本実施の形態は、第2の実施の形態の原因−結果−根拠のルールを、順接の因果関係または逆接の因果関係等の時間的な順序関係に基づいて生成するものである。図7は、先行の「春に種をまく」(行為)に対して、後続の「夏に花が咲く」(事象)が続く場合の時間的順序関係の例を示すものであり、「春に種をまく」という要素に対して要素「夏に花が咲く」を対応させて格納されている。ルール判定処理は、第1の実施の形態と同様に、表の各要素に対する距離を演算し、演算した距離を基準として、発話生成時には時間的に逆の関係に相当する要素を生成する。
【0047】
例えば、ユーザ発話が「夏に花がさいたね」であった場合には、要素「夏に花が咲く」が選択され、この要素に対して時間的に逆接関係である応答用の発話「春に種をまく」を選択する。そして、選択した応答用の発話「春に種をまく」を生成する際は、第2の実施の形態と同様に、「春に種をまいたからね」のように、根拠を提示するような表現に言い換えてシステム発話を生成する。
【0048】
また、逆接の因果関係としては、例えば、原因「何度も試した」(行為)、結果「うまくできなかった」(事象)を挙げることができる。この逆接の因果関係の変換を用いると、以下のような対話を行なうことができる。
【0049】
ユーザ:「何度も試したんだよ」
システム:「なのにうまくできなかったのね」
また、先行「春に種をまく」(行為)、後続「いつまでも花が咲かない」(事象)等の時間的な順序関係に基づいて生成したルールを用いると、以下のような対話を行なうこともできる。
・時間的な順接関係
ユーザ:「春に種をまいたの」
システム:「で、夏に花が咲いたんだ」
・時間的な逆接関係
ユーザ:「春に種をまいたの」
システム:「でも、いつまでも花が咲かないんだ」
上記の実施の形態は、意味の関連性に基づいて被対応要素と対応要素とを対応させたルールを用いた例について説明したが、以下の第4の実施の形態及び第5の実施の形態は、事象間の関係を内容の同義性に基づいて変換するものである。
【0050】
第4の実施の形態は、要約の関係によってルールを構成するものである。例えば、「北海道や九州や沖縄に行ったことがあるよ」のような地名を列挙したユーザ発話に対し「いろいろな所に行ったんだね」のような複数の地名を「いろいろな所」にまとめた要約を生成する場合を例に説明する。ルールは、図8に示すように、要素「<地名>に行く」に対応させて要素「色々な所に行く」が対応されて格納されている。図8の<地名>は、図9に示すように地名の集合を格納した地名のテーブル40と、FSA(Finite State Atomation)で記述された文法上のルールを展開した結果に相当するものである。すなわち、「北海道や沖縄や九州」は図9の副ルールによって地名であることが確定される。従って、先の発話に対しては、この文法によって展開された前件部を用い、自立語の距離に基づく選択手法により、「北海道や沖縄や九州に行く→いろいろな所に行く」のルールが生成候補として選択される。すなわち、上記の例の発話に対しては、図8の左列の要素(前件部)と自立語との距離に基づいて、要素「<地名>に行く」を要素「色々な所に行く」に変換するルールが生成候補として選択される。
【0051】
上記では、これらの要約変換ルールを表によって求める例について説明したが、動的に構成するようにしてもよい。要約のための手法は、「”テキストの自動要約に関する研究動向”自然言処理,Vol.6,No.6,1999.7」等に列挙されており、音声認識部から得られた形態素列であるテキスト情報を入力として処理を行なうことが可能である。
【0052】
また、本実施の形態では、以下のような対話を行なうことができる。
【0053】
ユーザ:「朝バイトへ行って、それは昼ぐらいには終わるので、それが終わ
ったら、昼間は予備校へ行って、でまた、夜もバイト」
システム:「朝も夜もバイトで、その間に勉強が入るんだ」
次に第5の実施の形態について説明する。本実施の形態は、図10に示すように、被対応要素を具体例で表示した対応要素に変換するルールを用いたものである。このルールは、図10に示すように、ユーザ発話、例えば「貧租な夕食」(被対応要素)に対して、応答用の発話が具体例、例えば「キムチと納豆とご飯」で定められている。
【0054】
本実施の形態は、具体例の関係によってルールが構成されている以外は、上記の第1の実施の形態等と同様であるが、システム発話を生成する段階においては、「キムチと納豆とご飯みたいなものなんだね」のように具体例に対して確認を働きかけるような表現に言い換えて応答の生成を行なう。
【0055】
本実施の形態によれば、以下のような対話を行なうことができる。
【0056】
ユーザ:「お父さんがいないときには品租な夕食になっちゃうんだ」
システム:「そう、キムチと納豆とご飯みたいな」
第6の実施の形態は、焦点の関係によってルールを構成したものである。本実施の形態では、図11に示すように、発話の焦点に相当するような特定のキーワードを予め格納した辞書、例えば、「画像処理」、「音声認識」、及び「係り受け解析」等をキーワードとする辞書を用意する。
【0057】
ルール判定処理では、ユーザ発話中にこれらのキーワードが出現したか否かを判断し、キーワードが出現した場合にはルールにマッチしたと判定する。この際、ユーザ発話との距離はあらかじめ定めた定数値αによって決定する。α<1のとき常にこのルールが適用され、α>1のときは他の辞書のルールによって決定されるユーザ発話の距離によってこのルールがシステム発話として適用されるか否かが決まる。また定数値αを焦点に応じて異なる値として構成することによって、焦点による話題のほりさげを制御することができる。
【0058】
また、応答用の発話を生成する場合には、焦点「画像処理」に対して「画像処理ってどういうこと?」のように、焦点に対する質問を提示するような表現に言い換えてシステムの発話を決定する。
【0059】
本実施の形態では、以下のような対話を行なうことができる。
【0060】
ユーザ:「今は大学で画像処理の勉強をしています」
システム:「画像処理?画像処理ってどういう感じのこと」
第7の実施の形態は、図12に示すように、事象と評価との関係の内、評価に対して感情語を含む表現によってルールを構成するものである。感情語には、人間の感情を表す語であり、例えば、「楽しい」、「美しい」、「綺麗だ」、及び「嫌だ」等の形容詞または形容動詞、「笑う」、「泣く」等の動詞、「合格」、「優勝」、「敗北」、及び「失格」等の名詞等がある。これらの感情語をホジティブ(望ましい、以下pという)、ネガティブ(望ましくない、以下nという)に対応させ、pnの感情でルールを構成する。pnの例としては、下記のものがある。
【0061】
p:「楽しい」、「美しい」、「綺麗だ」、「笑う」、「合格」、「優勝」
n:「嫌だ」、「泣く」、「敗北」、「失格」
なお、図12に代えて、事象に対応させてpまたはnを記憶した図13に示すテーブルを使用してもよい。
【0062】
ルール判定は、上記で述べた方法と同様に、自立語マッチングと距離に対応する定数値を併用する方法によって行なう。また、ユーザ発話に対して表の右列がpまたはnで構成されているため、発話生成時にpまたnに対応する言語表現に変換してしすシステム発話を決定する。これは、図14に示すようにp/nに対して感情表現が定義されている対応表を予め用意し、表の左列に対応する右列の感情表現を出力することによって行なう。図14の例では、pに対応させて「楽しみだね」、「すごいね」、及び「楽しいね」等の応答用の発話が記憶され、nに対応させて「最悪だね」等の応答用の発話が記憶されている。
【0063】
本実施の形態では、図12または図13を用いてユーザ発話と事象とのマッチングを行い、マッチングした事象に対応する感情がpかnかを判断し、図14の対応表を用いて、pまたはnの感情に対応する応答用の発話を生成して出力する。
【0064】
第8の実施の形態は、感情語を含まないシステムの考えを表す語によってルールを構成するようにしたものである。「感情語を含まないシステムの考えを表す語」は、「山に行きたいな」等のように、願望やシステムの意思決定結果を表す表現であり、ユーザ発話に対するシステムの意思決定結果が、ユーザ発話に対して記憶されている。図15にこのルールの例を示すものであり、ルール1では「<USR>が出かける」と「<SYS>も出かけたい」とが対応させて格納され、ルール2では「<USR>がごはんを食べる」と「<SYS>も食べたい」とが対応させて格納されている。なお、図15の<USR>はユーザを代表して示す表現であり、ユーザの名前、僕、または私等を指すものであり、SYSはシステムを示すものである。
【0065】
本実施の形態のルールの判定は、ユーザ発話と表の左列の自立語の基本形とがマッチングしたかを判定することにより行なう。ここで、本実施の形態においても上記で説明した実施の形態と同様に、ユーザ発話と自立語の基本形とがマッチングしたルールを選択し、ルールに基づいて発話用の応答を生成する。
【0066】
第9の実施の形態は、図3(a)に示すように、文書集合22から辞書獲得手段24を用いて自動獲得したルールからなる応答知識を記憶した図1の辞書と同様な辞書16を用いるものである。文書集合としては、ウエブサイト(ホームページ)の文書を利用することができる。これらの応答知識は、文書中に陽に表現されている場合であり、これらの応答知識を辞書獲得手段24を用いて抽出する。そして、抽出した第三者の応答知識を、システムの応答知識として提示するものである。
【0067】
例えば、ウエブサイト上の日記の「昨日までは雨で嫌な感じだったけど、今日はすっかり晴れてとても気持ちが良かった」等の記述から、事象「雨」、「雨」に対する評価「嫌な感じ」、及び事象「晴れ」、「晴れ」に対する評価「気持ちが良い」等の知識をシステムの知識として抽出するものである。
【0068】
文書集合からのルール抽出は、因果関係ルール「”接続標識「ため」に基づく文書集合からの因果関係知識の自動獲得”,情報処理学会論文集,Vol.45,No.3,pp.919〜933,2004」、事象−評価ルール「”Weblogを対象とした評価表現抽出”,人工知能学会,セマンティックウエブとオントロジー研究会,SIG−SWO−A401−02,20」等に基づいて行なうことができる。獲得したルールは、図4に示す形式に変換することなどによってシステムで使用することができる。
【0069】
文書集合からルールを抽出した場合、図16に示すように、知識の矛盾が発生する場合がある。特に、評価に関しては、属人的要素が大きく、同一の事象でも人によってその事象に対する評価が異なる場合が発生する。
【0070】
図16では、ルール1及びルール5では「遠足に行く」がpになっているのに対し、ルール4では「遠足に行く」がnになっており、知識の矛盾が発生している。この知識の矛盾の解決は、図3bに示した矛盾性解決手段26で実行する「矛盾したルールの判定」及び「矛盾解決」の2つ手続きに基づいて行なうことができる。
【0071】
「矛盾したルールの判定」手続きは、表の左列を列単位で並び替え、同一のレコードが連続するルールで、かつ右列の結果が異なるルールを矛盾したルールと判定する。すなわち、図16に示すように、事象と感情とを対応させた表を左列のレコードでソートすると右の表が得られる。このようにして得られた表において、左列のレコードが連続するルールで、かつ右列の結果が異なるルール1,4,5を矛盾したルールと判定する。
【0072】
矛盾したルールが判定された後、矛盾の解決を行なう。矛盾の解決は、同一の被対応要素に対する複数の対応要素の内最も数が多いものを用いる多数決方法、別に定めたユーザプロファイル中の対応と同一の対応関係を採用する方法、対話履歴から求めた対応と同一の対応関係を採用する方法等を用いることができる。
【0073】
多数決方式について説明すると、図16では、遠足に行くに関してpが多いので、「遠足に行く」はpであると特定する。そして、矛盾している感情を矛盾解決の手続きによって特定した感情に修正する。
【0074】
また、ユーザのプロファイルを別の手段(事象に対する好みをアンケート形式で入力する等)によって得て、その結果に基づいて矛盾を解決してもよい。例えば、ユーザのプロファイルが、「遠足に行く」がpであれば、ユーザに合わせて「遠足に行く」がnになっているルールを棄却する。なお、ユーザのプロファイルは、ユーザとシステムとの対話履歴から同定するようにしてもよい。
【0075】
上記のようにしてルールの矛盾が解決された図3bに示す辞書30を図1の辞書16として使用する。
【0076】
第10の実施の形態の音声認識から音声合成までの処理を図17を参照して説明する。本実施の形態は、音声認識部での音声認識の後、システム発話を格納する変数Sを初期化し(値をnullにする)、変数vに音声認識結果を格納する(ステップ120〜ステップ124)。そして、変数vの内容に関して図2と同様にルール判定を行なう(ステップ126)。
【0077】
もし、応答ルールが存在していれば、変数vにシステムの応答ルールを格納した後、変数Sに変数vの内容を追加する(ステップ128〜ステップ130)。次に、現在のシステム発話vにさらに関係する知識に基づいた発話を生成するかどうかの判定を行う(ステップ138)。この判定は、乱数を発生させ、発生させた乱数が、閾値以下であるか否かを判定することにより行なう。さらに関係する知識に基づいた発話を生成する場合は、ステップ126に戻って上記の処理を繰り返すことにより、現在のシステム発話vにさらに関係する知識に基づいた発話を生成する。
【0078】
一方、応答ルールが存在しない場合、変数Sがnullであれば図2と同様に、「それで?」または「うん」等のさらにユーザの発話を促す不明応答を変数Sに格納する(ステップ134、ステップ136)。変数Sがnullでなければ、自発語による再生成を停止する。以上の処理によって得られたシステム発話Sを音声合成し(ステップ140)、引き続き音声認識処理を行なうことで継続的に対話処理を実行する。
【0079】
また、自発話をユーザ発話と見なして再帰的に前述したルールを適用するようにしてもよい。これによって、以下のような対話を実行することができる。
【0080】
ユーザ:「気持ちがいいね」
システム1:「晴れてきたからね」
システム2:「これで遠足にいけるね」
すなわち、システムが発話した「晴れてきたからね」という事象に対して、再度、原因「晴れていれば」(事象)、結果「遠足にいける」(事象)という知識と、事象に対して事象に応答するというルールを適用することによって、システム2のような発話を生成することができる。
【0081】
また、「晴れてきた(事象)から気持ちがいい(評価)ね」のように一発話中に複数の事象、評価が発せられた場合には、それらを判別し、それぞれ個別にルールを適用するようにしてもよい。
【0082】
以上説明したように、各実施の形態によれば、例えば因果関係のような意味の関連性に基づいた発話を生成することができるため、意味に広がりをもたせた対話を行なうことができる。また、発話に対する評価やその発話に対して同義の関係にある別の発話を生成することにより、一連の発話を別の視点で捉えるような深さの有る対話を行なうこともできる。さらに、ルールは意味的な関連性に着目したものであり、知識を格納する辞書もその関連性に基づいて構成されるため、この辞書を用いることによって、意味解釈上妥当な発話を生成するとができる。
【0083】
また、大量の文書集合から知識を獲得すれば、ユーザの発話のバリエーションや様々な話題に対応可能な対話システムを実現することができる。
【0084】
また、ユーザの発話に対して意味解釈上適確な発話が可能であり、また、様々な話題をも扱うことができる。
【図面の簡単な説明】
【0085】
【図1】本発明の第1の実施の形態を示すブロック図である。
【図2】第1の実施の形態の処理の流れ示すフローチャートである。
【図3】(a)は文書集合から応答ルールを獲得する実施の形態のブロック図、(b)は文書集合から獲得した応答ルールの矛盾を解決する場合のブロック図である。
【図4】辞書に格納されたルールの例を示す表である。
【図5】原因−結果−根拠のルールの例を示す表である。
【図6】図6の距離の値を示す表である。
【図7】時間的順序関係のルールの例を示す表である。
【図8】要約に基づくルールの例を示す表である。
【図9】地名に関する副ルールを説明するための図である。
【図10】具体例に基づくルールの例を示す表である。
【図11】焦点に基づくルールの例を示す表である。
【図12】評価に感情語を含むルール例を示す表である。
【図13】事象とネガティブ及びポジティブとを対応させたルール例を示す表である。
【図14】ネガティブ及びポジティブと感情表現の応答とを対応させた表現の対応表である。
【図15】事象と意見とを対応させたルールの例を示す表である。
【図16】知識に矛盾が発生した場合の矛盾の解消の仕方を説明する図である。
【図17】第10の実施の形態の処理の流れを説明するフローチャートである。
【図18】基本的処理及びルール判定手続きの詳細を示す図である。
【符号の説明】
【0086】
10 マイクロホン
12 音声認識部
14 発話生成部
16 辞書
18 音声合成部
20 スピーカ
22 文書集合
24 辞書獲得手段
26 矛盾性解決手段
30 辞書
【技術分野】
【0001】
本発明は、対話処理装置にかかり、特に、ユーザの発話に対して広がりがあり、かつユーザと深い対話を行なうことができる対話処理装置に関する。
【背景技術】
【0002】
対話中にユーザが飽きることがなく、かつユーザと自然な流れの対話を行なうことができる自然な話題に遷移する会話処理装置が提案されている(特許文献1)。この会話処理装置では、フレームという概念を用い、会話している話題がどの程度話されたかを数値として算出し、その算出された値にしたがって話題を遷移させることによりユーザとの会話を自然に行なえるようにしている。
【0003】
この会話処理装置では、会話を開始すると、ロボット内の制御部においてロボット用のフレームとユーザ用のフレームとが作成される。これらのフレームには、いつ、どこで、だれが、なにを、どうした、なぜの5W1Hの項目が設定されており、これらの設定された項目が埋まるように会話が進められる。また、これらの項目は、各々どれだけ話したかを示す数値で管理されており、これらの値の平均値が算出され、この算出された値により、話題を遷移させるか否かが判断される。話題を遷移させると判断された場合には、話題を遷移し、新たな話題に対して会話を開始する。
【0004】
また、現在の話題と処理装置中に記憶されている別の話題との関連度に基づいて、話題遷移を行なう会話処理装置も提案されている(特許文献2)。この装置では、話題に関するキーワード、分類、場所、及び時間の少なくとも1つを含んだ属性値間の関連度を算出することにより類似した話題を選択している。
【0005】
すなわち、上記従来の技術は、話題によって対話を制御するものであり、同一話題が継続している継続時間に関連して、話題の継続度を表す値を保持して対話を管理している。
【特許文献1】特開2001−188785号公報
【特許文献2】特開2001−188784号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、人間同士の話題の遷移は一定の継続時間に従っているというよりも、相手の発話に関連する知識の量で同一話題を継続するかどうかが決定されることが多い。また、話題自身も明確な区切りが存在するわけではなく、対話が繰り返されている間に自然に別の内容について会話している、ということは頻繁に生じている。したがって、システムの制御によって急に話題が変化することは、ユーザが不自然さを感じる原因になる。
【0007】
以上のことから、従来技術で得られる対話では、ユーザが飽きないような、かつ自然な流れの対話にならない場合が生じる。
【0008】
本発明は、上記問題点を解消するためになされたもので、システムがユーザ発話に対してどの程度の知識をもっているかで対話を継続するか否かを決定することにより、ユーザが興味を持っている事象に対してシステムが豊富な知識を持っていれば対話を自然と継続し、システムが豊富な知識を持っていなければ対話を継続しないようにして、自然の流れに沿った対話が行なわれるようにした対話処理装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明は、ユーザの発話を認識する音声認識手段と、ユーザの発話に対する応答用の発話を、事象と事象、事象と評価、及び評価と評価の各組合せからなるルールに従った応答知識で記憶した記憶手段と、前記音声認識手段で認識された発話と前記記憶手段に記憶された応答知識とに基づいて、該ユーザの発話に対する応答用の発話を生成する応答生成手段と、前記応答手段で生成した応答用の発話を音声合成して出力する音声合成手段と、を含んで構成したものである。
【0010】
上記の事象と事象及び事象と評価との各組合せからなるルールは、因果関係または因果関係の根拠の関係によって構成することができる。この因果関係は、順接の因果関係及び逆接の因果関係の少なくとも一方とすることができる。また、事象と事象及び事象と評価との各組合せからなるルールは、時間的関係によって構成することができる。この時間的関係は、時間的な順接関係及び時間的な逆説関係の少なくとも一方とすることができる。
【0011】
さらに、事象と事象との組合せからなるルールは、ユーザの発話に対する言い換えによって構成される知識に基づいて構成することができる。この言い換えは、ユーザ発話を要約した要約、ユーザ発話に対する具体例、またはユーザの発話の発話中の焦点とすることができる。
【0012】
評価は、ユーザの発話が意味する感情によって構成することができる。この場合、感情は、好ましい感情状態を表すポジティブ、好ましくない感情状態を表すネガティブに分類することができる。
【0013】
応答知識を、ウエブサイトの文書集合を含む文書集合に基づいて生成することができ、生成した応答知識のルールに矛盾が生じた場合には、多数決、ユーザのプロファイル、ユーザとの対話の履歴に基づいて矛盾を解決するればよい。
【0014】
以上説明したように本発明によれば、事象と事象、事象と評価、及び評価と評価の各組合からなるルールに従った応答知識に基づいて、ユーザに対して応答しているため、ユーザ発話に対して意味的に関連した次の発話が行なわれ、豊かな対話を行なうことができる。
【発明の効果】
【0015】
以上説明したように本発明によれば、事象と事象、事象と評価、及び評価と評価の各組合からなるルールに従った応答知識に基づいて、ユーザに対して応答しているため、ユーザ発話に対して意味的に関連した次の発話が行なわれ、豊かな対話を行なうことができる対話処理装置を提供することができる、という効果が得られる。
【発明を実施するための最良の形態】
【0016】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0017】
第1の実施の形態には、図1に示すように、ユーザの発話を集音して入力するためのマイクロホン10が設けられている。マイクロホン10は、図示しないデータベースに登録された音声認識用辞書に基づいて、マイクロホン10から入力されたユーザの発話を認識する音声認識部12に接続されている。
【0018】
音声認識部12は、辞書に登録された発話生成用のルールに従って構成された応答知識に基づいて、応答用の発話を生成するルールを判定するルール判定部を複数個備えたルール判定装置14に接続されている。そして、ルール判定装置14は、ルール判定装置14で生成された複数のルールから特定のルールを決定するルール決定部16に接続され、ルール決定部16は発話を音声合成し、スピーカ20に入力しスピーカ20から出力する音声合成部18に接続されている。
【0019】
最初に本実施の形態の基本的な処理について説明し、その後に知識を構成する関係、評価別の具体的な事例について説明する。基本的な処理の手続きの具体例を図2に従って説明する。ステップ100の音声認識処理はユーザの発話を認識し、テキスト情報を得るための処理である。
【0020】
次のステップ102ではルール判定部において、辞書部を参照しユーザ発話に対する発話生成のためのルールを特定する。これは図4のようなテーブルを発話生成のルールとして関係別に辞書に格納し、表の左列(以下、前件部)のうちユーザ発話に近いものを選択する処理に基づいて行う。具体的には、各々の関係に基づいて定義された辞書毎に、辞書に含まれるルールの前件部を全て走査し、ユーザ発話と前件部との距離に基づいてユーザ発話に最も近いものを抽出する。
【0021】
ここで、ユーザ発話と前件部との距離は、自立語の基本形の一致語数の逆数を用いることができる。例えば、ユーザ発話が「晴れたね」であれば、発話に含まれる自立語の基本形は「晴れる」である。一方、図4のルールの基本形は、1,2が「晴れる」、3,4が「雨」「降る」であるため、発話とルールの距離はルール1,2が1、ルール3,4が∞と計算することができる。
【0022】
このように辞書別に適用するルールを判定した後、どのルールをシステムの次発話に用いるかを決定する。ここでは最も距離の近いルールを特定し、そのルールに対応する表の右列(以下、後件部)をシステム発話として決定する。ルール判定時にユーザの発話がどのルールにも相当しなかった場合は、「それで?」や「うん」等のさらにユーザの発話を促す応答をシステム発話として決定する。
【0023】
以上の手続きをより詳細に示したものを図18に示す。図18ではアルゴリズムの記述によく用いられるPascalを基礎とした擬似言語を用いた。この表現の詳細は“Alfred V.Aho,John E.Hopcroft and Jeffery D.Ullman,“Data Structures and Algorithms”に記載されている。
【0024】
なお、次発話決定処理の別の実現手段として候補の選択にはランダムに選択する方法、対話履歴を用いる方法などを用いる。ランダムに選択する方法では乱数を発生させ、任意のルールを1つ選択するものである。対話履歴を用いる方法では、以前に用いたルールの履歴を保持しておき、同じルールを候補中から除いた上で、残りのルールをランダムに選択するものや、あるいは図4のルール中の自立語と対話履歴中に含まれている自立語とを比較して、ルール中に含まれる対話履歴の自立語の数の多いものを選択する。
【0025】
以上の手続きによって決定されたシステム発話を音声合成装置を介してユーザに伝達し、再び音声認識処理を継続することによって対話処理を継続することが可能である。
【0026】
次に、具体的な事例について説明する。上記の辞書に登録された発話生成用のルールに従って構成された応答知識について説明する。まず、ルールとしては、以下のa,bの2つのルールを使用し、応答知識は、各ルールに従って発話と発話に対する応答用の発話とを対応させて構成されている。
【0027】
a.ユーザ発話に対する事象を応答する。
【0028】
b.ユーザ発話に対する評価を応答する。
【0029】
ここで、「事象」とは、「事物の状態や意味、人や動物の行為」であり、「評価」とは、「事象を主観的な視点を伴って解釈したもの」である。「事象」の例としては、「晴れている」(状態)及び「遠足に行く」(行為)があり、「評価」の例としては、「晴れている」に対して「気持ちがいい」、「遠足に行く」に対して「楽しみなことがある」等がある。
【0030】
上記基本ルールa,bは、ユーザの発話の自立語の基本形をシステムの応答用の発話の自立語の基本形に変換するものであり、ユーザ発話には「事象」の場合と「評価」の場合とがあるので、ルールには、事象を事象に変換するルール、事象を評価に変換するルール、評価を事象に変換するルール、及び評価を評価に変換するルールの4つのルールがある。
【0031】
すなわち、ユーザの発話の自立語の基本形を「被対応要素」、システムの応答用の発話の自立語の基本形を「対応要素」とすると、辞書には、ユーザ発話の被対応要素を、この被対応要素に対応する対応要素に変換するルールが多数個登録されている。
【0032】
辞書に格納されているルールの具体例を図4を参照して説明すると、ルール1では、ユーザ発話の自立語の基本形「晴れる」(被対応要素)に対してシステムの応答用の発話の自立語の基本形「遠足にいける」(対応要素)が対応されており、同様にルール2では「晴れる」に対して「気持ちがいい」が対応されており、ルール3では「雨が降る」に対して「遠足は中止」が対応されており、ルール4では「雨が降る」に対して「落ち込む」が対応されている。
【0033】
すなわち、ルール1は、ユーザが「晴れてきたね」と発話すると、シシテムが「遠足にいけるね」と応答するものであり、ルール2は、ユーザが「晴れてきたね」と発話すると、シシテムが「気持ちがいいね」と応答するものであり、ルール3は、ユーザが「晴れてきたね」と発話すると、シシテムが「遠足にいけるね」と応答するものであり、ルール4は、ユーザが「雨が降ってきたね」と発話すると、シシテムが「落ち込むね」と応答するものである。
【0034】
次に本実施の形態のシステム(対話処理装置)とユーザとの対話の処理手順について図2のフローチャートを参照して説明する。このフローチャートは、音声認識部12、発話生成部14、及び音声合成部18の処理をまとめて記載したものであり、本実施の形態では、音声認識部12、発話生成部14、及び音声合成部18を各々別々のコンピュータで構成することもできるが、別々のコンピュータに代えて、図2の処理を実行する1つのコンピュータで構成することもできる。
【0035】
ステップ100では、マイクロホン10から入力されたユーザ発話を音声認識し、形態素列を抽出する。次のステップ102では、形態素列からユーザ発話の自立語の基本形を抽出し、辞書16を参照してユーザ発話の自立語の基本形に対する応答用の発話の自立語を生成するためのルールを特定する。このルールを特定するにあたっては、自立語の基本形(被対応要素)の一致語の数の逆数を指標として、ユーザ発話と各ルールとの距離を決定し、距離が近いルールを変換用のるールとして特定する。
【0036】
例えば、ユーザ発話が「晴れたね」であれば、ユーザ発話に含まれる自立語の基本形は、「晴れる」である。一方、図4のルールでは、ルール1、2の被対応要素(表の左列の要素)が「晴れる」、ルール3、4の被対応要素が「雨が降る」であるので、ユーザ発話とルールとの距離は、ルール1、2については自立語の基本形である「晴れる」が1つ一致しているので、一致語数は1、その逆数は1になる。一方、ルール3、4については、一致語数は0であるので、一致語の数の逆数は∞になる。したがって、この例では、ルール1及びルール2が最も距離が近いので候補として選択される。なお、距離が所定値以上で遠い場合はいずれのルールは選択されない。
【0037】
次のステップ104では、候補として選択されたルールが存在するか否かを判断し、選択されたルールが存在する場合には、ステップ106において1つのルールを特定し、特定したルールに従ってユーザ発話に対する応答用の発話を生成する。ルールの特定の仕方には、ランダムに1つのルールを特定する方法、対話の履歴を記憶しておいて履歴に基づいてルールを特定する方法等を用いることができる。
【0038】
ランダムにルールを特定する方法では、乱数を発生させ、発生させた乱数に基づいて1つのルールを特定する。また、対話の履歴に基づいてルールを特定する方法では、以前に特定したルールの履歴を記憶しておき、候補の中から履歴に記憶されているルールと同じルールを除いた残りのルールからランダムにルールを特定する方法、または辞書の中の自立語の基本形と対話履歴中に含まれる自立語の基本形とを比較し、ルール中に含まれる対話履歴の自立語の基本形の数が多いルールを特定する方法等を用いることができる。
【0039】
上記のようにして1つのルールを特定した後、辞書を用いて特定したルールから応答用の発話を生成した後、ステップ110において、応答用の発話を音声合成部で音声合成し、ユーザに伝達し、再び音声認識処理を継続することにより、ユーザとの対話を継続する。
【0040】
一方、ステップ104でルールが存在しないと判断されたときは、ステップ108において、「それで?」または「うん」等のさらにユーザの発話を促す不明応答を応答用の発話として生成する。そして、ステップ110において、応答用の発話を音声合成部で音声合成し、ユーザに伝達し、再び音声認識処理を継続することにより、ユーザとの対話を継続する。
【0041】
次に、第2の実施の形態について説明する。本実施の形態は、図5に示すように、ルールを原因−結果−根拠の応答知識から構成したものである。先に説明したルール判定処理では、ユーザ発話と前件部の自立語との距離を基準としたが、ここでは、ルール中の各項目とユーザ発話との距離を基準とする。
【0042】
図5の例のルール1は、「晴れていれば雨にぬれないので遠足に行ける」という順接の因果関係を「原因:晴れていれば(事象)、結果:遠足に行ける(事象)、根拠:なぜなら雨にぬれないから(事象)」の各事象に分類し、原因−結果−根拠に対応付けて登録したものである。また、ルール2は、「遠足に行くと友達とハイキングにいけるので楽しみだ」という順接の因果関係を「原因:遠足に行くのは(事象)、結果:楽しみ(評価)、根拠:なぜなら友達とハイキングにいけるから(事象)」の各事象に分類し、原因−結果−根拠に対応付けて登録したものである。
【0043】
第1の実施の実施の形態では、ユーザ発話の自立語の基本形とルールにおけるユーザ発話に対応する部分(被対応要素)の自立語の基本形との距離に基づいてルールを選択したが、本実施の形態では、ルール中の原因、結果、及び根拠の各項目の自立語の基本形とユーザ発話の自立語の基本形との距離を演算し、この演算した距離を基準としてルールを判定し選択する。例えば、ユーザが「楽しみだな」と発話した場合には、ユーザ発話を音声認識して自立語の基本形を抽出した場合、図5の各ルールの各項目の自立語の基本形との距離(一致数の逆数)を、一致した自立語基本形の数に基づいて算出すると、図6に示すようになる。この例では、結果の項目に対応する「楽しみ」が距離としては最も近いので、「楽しみ」を含むルール2が選択される。
【0044】
続いて、選択したルール2に基づいてシステムの発話を生成する。この原因−結果−根拠のルールでは、ユーザ発話を含む項目(この例では、結果の項目)を基準とした原因の項目及び根拠の項目の2つの項目を候補としてシステムの発話を生成する。この例では、結果の項目が「楽しみ」であるので、原因の項目の「遠足に行く」及び根拠の項目の「友達とハイキングに行く」が候補となる。
【0045】
候補から応答用の発話を選択するには、上記で説明したランダムで選択する方法や対話の履歴を用いる方法を使用することができるが、根拠の項目から応答用の発話を生成する場合は、「友達とハイキングに行けるからね」のように自立語の基本形を根拠を提示するような表現に言い換えてシステムの応答用の発話を生成する。
【0046】
次に、第3の実施の形態について説明する。本実施の形態は、第2の実施の形態の原因−結果−根拠のルールを、順接の因果関係または逆接の因果関係等の時間的な順序関係に基づいて生成するものである。図7は、先行の「春に種をまく」(行為)に対して、後続の「夏に花が咲く」(事象)が続く場合の時間的順序関係の例を示すものであり、「春に種をまく」という要素に対して要素「夏に花が咲く」を対応させて格納されている。ルール判定処理は、第1の実施の形態と同様に、表の各要素に対する距離を演算し、演算した距離を基準として、発話生成時には時間的に逆の関係に相当する要素を生成する。
【0047】
例えば、ユーザ発話が「夏に花がさいたね」であった場合には、要素「夏に花が咲く」が選択され、この要素に対して時間的に逆接関係である応答用の発話「春に種をまく」を選択する。そして、選択した応答用の発話「春に種をまく」を生成する際は、第2の実施の形態と同様に、「春に種をまいたからね」のように、根拠を提示するような表現に言い換えてシステム発話を生成する。
【0048】
また、逆接の因果関係としては、例えば、原因「何度も試した」(行為)、結果「うまくできなかった」(事象)を挙げることができる。この逆接の因果関係の変換を用いると、以下のような対話を行なうことができる。
【0049】
ユーザ:「何度も試したんだよ」
システム:「なのにうまくできなかったのね」
また、先行「春に種をまく」(行為)、後続「いつまでも花が咲かない」(事象)等の時間的な順序関係に基づいて生成したルールを用いると、以下のような対話を行なうこともできる。
・時間的な順接関係
ユーザ:「春に種をまいたの」
システム:「で、夏に花が咲いたんだ」
・時間的な逆接関係
ユーザ:「春に種をまいたの」
システム:「でも、いつまでも花が咲かないんだ」
上記の実施の形態は、意味の関連性に基づいて被対応要素と対応要素とを対応させたルールを用いた例について説明したが、以下の第4の実施の形態及び第5の実施の形態は、事象間の関係を内容の同義性に基づいて変換するものである。
【0050】
第4の実施の形態は、要約の関係によってルールを構成するものである。例えば、「北海道や九州や沖縄に行ったことがあるよ」のような地名を列挙したユーザ発話に対し「いろいろな所に行ったんだね」のような複数の地名を「いろいろな所」にまとめた要約を生成する場合を例に説明する。ルールは、図8に示すように、要素「<地名>に行く」に対応させて要素「色々な所に行く」が対応されて格納されている。図8の<地名>は、図9に示すように地名の集合を格納した地名のテーブル40と、FSA(Finite State Atomation)で記述された文法上のルールを展開した結果に相当するものである。すなわち、「北海道や沖縄や九州」は図9の副ルールによって地名であることが確定される。従って、先の発話に対しては、この文法によって展開された前件部を用い、自立語の距離に基づく選択手法により、「北海道や沖縄や九州に行く→いろいろな所に行く」のルールが生成候補として選択される。すなわち、上記の例の発話に対しては、図8の左列の要素(前件部)と自立語との距離に基づいて、要素「<地名>に行く」を要素「色々な所に行く」に変換するルールが生成候補として選択される。
【0051】
上記では、これらの要約変換ルールを表によって求める例について説明したが、動的に構成するようにしてもよい。要約のための手法は、「”テキストの自動要約に関する研究動向”自然言処理,Vol.6,No.6,1999.7」等に列挙されており、音声認識部から得られた形態素列であるテキスト情報を入力として処理を行なうことが可能である。
【0052】
また、本実施の形態では、以下のような対話を行なうことができる。
【0053】
ユーザ:「朝バイトへ行って、それは昼ぐらいには終わるので、それが終わ
ったら、昼間は予備校へ行って、でまた、夜もバイト」
システム:「朝も夜もバイトで、その間に勉強が入るんだ」
次に第5の実施の形態について説明する。本実施の形態は、図10に示すように、被対応要素を具体例で表示した対応要素に変換するルールを用いたものである。このルールは、図10に示すように、ユーザ発話、例えば「貧租な夕食」(被対応要素)に対して、応答用の発話が具体例、例えば「キムチと納豆とご飯」で定められている。
【0054】
本実施の形態は、具体例の関係によってルールが構成されている以外は、上記の第1の実施の形態等と同様であるが、システム発話を生成する段階においては、「キムチと納豆とご飯みたいなものなんだね」のように具体例に対して確認を働きかけるような表現に言い換えて応答の生成を行なう。
【0055】
本実施の形態によれば、以下のような対話を行なうことができる。
【0056】
ユーザ:「お父さんがいないときには品租な夕食になっちゃうんだ」
システム:「そう、キムチと納豆とご飯みたいな」
第6の実施の形態は、焦点の関係によってルールを構成したものである。本実施の形態では、図11に示すように、発話の焦点に相当するような特定のキーワードを予め格納した辞書、例えば、「画像処理」、「音声認識」、及び「係り受け解析」等をキーワードとする辞書を用意する。
【0057】
ルール判定処理では、ユーザ発話中にこれらのキーワードが出現したか否かを判断し、キーワードが出現した場合にはルールにマッチしたと判定する。この際、ユーザ発話との距離はあらかじめ定めた定数値αによって決定する。α<1のとき常にこのルールが適用され、α>1のときは他の辞書のルールによって決定されるユーザ発話の距離によってこのルールがシステム発話として適用されるか否かが決まる。また定数値αを焦点に応じて異なる値として構成することによって、焦点による話題のほりさげを制御することができる。
【0058】
また、応答用の発話を生成する場合には、焦点「画像処理」に対して「画像処理ってどういうこと?」のように、焦点に対する質問を提示するような表現に言い換えてシステムの発話を決定する。
【0059】
本実施の形態では、以下のような対話を行なうことができる。
【0060】
ユーザ:「今は大学で画像処理の勉強をしています」
システム:「画像処理?画像処理ってどういう感じのこと」
第7の実施の形態は、図12に示すように、事象と評価との関係の内、評価に対して感情語を含む表現によってルールを構成するものである。感情語には、人間の感情を表す語であり、例えば、「楽しい」、「美しい」、「綺麗だ」、及び「嫌だ」等の形容詞または形容動詞、「笑う」、「泣く」等の動詞、「合格」、「優勝」、「敗北」、及び「失格」等の名詞等がある。これらの感情語をホジティブ(望ましい、以下pという)、ネガティブ(望ましくない、以下nという)に対応させ、pnの感情でルールを構成する。pnの例としては、下記のものがある。
【0061】
p:「楽しい」、「美しい」、「綺麗だ」、「笑う」、「合格」、「優勝」
n:「嫌だ」、「泣く」、「敗北」、「失格」
なお、図12に代えて、事象に対応させてpまたはnを記憶した図13に示すテーブルを使用してもよい。
【0062】
ルール判定は、上記で述べた方法と同様に、自立語マッチングと距離に対応する定数値を併用する方法によって行なう。また、ユーザ発話に対して表の右列がpまたはnで構成されているため、発話生成時にpまたnに対応する言語表現に変換してしすシステム発話を決定する。これは、図14に示すようにp/nに対して感情表現が定義されている対応表を予め用意し、表の左列に対応する右列の感情表現を出力することによって行なう。図14の例では、pに対応させて「楽しみだね」、「すごいね」、及び「楽しいね」等の応答用の発話が記憶され、nに対応させて「最悪だね」等の応答用の発話が記憶されている。
【0063】
本実施の形態では、図12または図13を用いてユーザ発話と事象とのマッチングを行い、マッチングした事象に対応する感情がpかnかを判断し、図14の対応表を用いて、pまたはnの感情に対応する応答用の発話を生成して出力する。
【0064】
第8の実施の形態は、感情語を含まないシステムの考えを表す語によってルールを構成するようにしたものである。「感情語を含まないシステムの考えを表す語」は、「山に行きたいな」等のように、願望やシステムの意思決定結果を表す表現であり、ユーザ発話に対するシステムの意思決定結果が、ユーザ発話に対して記憶されている。図15にこのルールの例を示すものであり、ルール1では「<USR>が出かける」と「<SYS>も出かけたい」とが対応させて格納され、ルール2では「<USR>がごはんを食べる」と「<SYS>も食べたい」とが対応させて格納されている。なお、図15の<USR>はユーザを代表して示す表現であり、ユーザの名前、僕、または私等を指すものであり、SYSはシステムを示すものである。
【0065】
本実施の形態のルールの判定は、ユーザ発話と表の左列の自立語の基本形とがマッチングしたかを判定することにより行なう。ここで、本実施の形態においても上記で説明した実施の形態と同様に、ユーザ発話と自立語の基本形とがマッチングしたルールを選択し、ルールに基づいて発話用の応答を生成する。
【0066】
第9の実施の形態は、図3(a)に示すように、文書集合22から辞書獲得手段24を用いて自動獲得したルールからなる応答知識を記憶した図1の辞書と同様な辞書16を用いるものである。文書集合としては、ウエブサイト(ホームページ)の文書を利用することができる。これらの応答知識は、文書中に陽に表現されている場合であり、これらの応答知識を辞書獲得手段24を用いて抽出する。そして、抽出した第三者の応答知識を、システムの応答知識として提示するものである。
【0067】
例えば、ウエブサイト上の日記の「昨日までは雨で嫌な感じだったけど、今日はすっかり晴れてとても気持ちが良かった」等の記述から、事象「雨」、「雨」に対する評価「嫌な感じ」、及び事象「晴れ」、「晴れ」に対する評価「気持ちが良い」等の知識をシステムの知識として抽出するものである。
【0068】
文書集合からのルール抽出は、因果関係ルール「”接続標識「ため」に基づく文書集合からの因果関係知識の自動獲得”,情報処理学会論文集,Vol.45,No.3,pp.919〜933,2004」、事象−評価ルール「”Weblogを対象とした評価表現抽出”,人工知能学会,セマンティックウエブとオントロジー研究会,SIG−SWO−A401−02,20」等に基づいて行なうことができる。獲得したルールは、図4に示す形式に変換することなどによってシステムで使用することができる。
【0069】
文書集合からルールを抽出した場合、図16に示すように、知識の矛盾が発生する場合がある。特に、評価に関しては、属人的要素が大きく、同一の事象でも人によってその事象に対する評価が異なる場合が発生する。
【0070】
図16では、ルール1及びルール5では「遠足に行く」がpになっているのに対し、ルール4では「遠足に行く」がnになっており、知識の矛盾が発生している。この知識の矛盾の解決は、図3bに示した矛盾性解決手段26で実行する「矛盾したルールの判定」及び「矛盾解決」の2つ手続きに基づいて行なうことができる。
【0071】
「矛盾したルールの判定」手続きは、表の左列を列単位で並び替え、同一のレコードが連続するルールで、かつ右列の結果が異なるルールを矛盾したルールと判定する。すなわち、図16に示すように、事象と感情とを対応させた表を左列のレコードでソートすると右の表が得られる。このようにして得られた表において、左列のレコードが連続するルールで、かつ右列の結果が異なるルール1,4,5を矛盾したルールと判定する。
【0072】
矛盾したルールが判定された後、矛盾の解決を行なう。矛盾の解決は、同一の被対応要素に対する複数の対応要素の内最も数が多いものを用いる多数決方法、別に定めたユーザプロファイル中の対応と同一の対応関係を採用する方法、対話履歴から求めた対応と同一の対応関係を採用する方法等を用いることができる。
【0073】
多数決方式について説明すると、図16では、遠足に行くに関してpが多いので、「遠足に行く」はpであると特定する。そして、矛盾している感情を矛盾解決の手続きによって特定した感情に修正する。
【0074】
また、ユーザのプロファイルを別の手段(事象に対する好みをアンケート形式で入力する等)によって得て、その結果に基づいて矛盾を解決してもよい。例えば、ユーザのプロファイルが、「遠足に行く」がpであれば、ユーザに合わせて「遠足に行く」がnになっているルールを棄却する。なお、ユーザのプロファイルは、ユーザとシステムとの対話履歴から同定するようにしてもよい。
【0075】
上記のようにしてルールの矛盾が解決された図3bに示す辞書30を図1の辞書16として使用する。
【0076】
第10の実施の形態の音声認識から音声合成までの処理を図17を参照して説明する。本実施の形態は、音声認識部での音声認識の後、システム発話を格納する変数Sを初期化し(値をnullにする)、変数vに音声認識結果を格納する(ステップ120〜ステップ124)。そして、変数vの内容に関して図2と同様にルール判定を行なう(ステップ126)。
【0077】
もし、応答ルールが存在していれば、変数vにシステムの応答ルールを格納した後、変数Sに変数vの内容を追加する(ステップ128〜ステップ130)。次に、現在のシステム発話vにさらに関係する知識に基づいた発話を生成するかどうかの判定を行う(ステップ138)。この判定は、乱数を発生させ、発生させた乱数が、閾値以下であるか否かを判定することにより行なう。さらに関係する知識に基づいた発話を生成する場合は、ステップ126に戻って上記の処理を繰り返すことにより、現在のシステム発話vにさらに関係する知識に基づいた発話を生成する。
【0078】
一方、応答ルールが存在しない場合、変数Sがnullであれば図2と同様に、「それで?」または「うん」等のさらにユーザの発話を促す不明応答を変数Sに格納する(ステップ134、ステップ136)。変数Sがnullでなければ、自発語による再生成を停止する。以上の処理によって得られたシステム発話Sを音声合成し(ステップ140)、引き続き音声認識処理を行なうことで継続的に対話処理を実行する。
【0079】
また、自発話をユーザ発話と見なして再帰的に前述したルールを適用するようにしてもよい。これによって、以下のような対話を実行することができる。
【0080】
ユーザ:「気持ちがいいね」
システム1:「晴れてきたからね」
システム2:「これで遠足にいけるね」
すなわち、システムが発話した「晴れてきたからね」という事象に対して、再度、原因「晴れていれば」(事象)、結果「遠足にいける」(事象)という知識と、事象に対して事象に応答するというルールを適用することによって、システム2のような発話を生成することができる。
【0081】
また、「晴れてきた(事象)から気持ちがいい(評価)ね」のように一発話中に複数の事象、評価が発せられた場合には、それらを判別し、それぞれ個別にルールを適用するようにしてもよい。
【0082】
以上説明したように、各実施の形態によれば、例えば因果関係のような意味の関連性に基づいた発話を生成することができるため、意味に広がりをもたせた対話を行なうことができる。また、発話に対する評価やその発話に対して同義の関係にある別の発話を生成することにより、一連の発話を別の視点で捉えるような深さの有る対話を行なうこともできる。さらに、ルールは意味的な関連性に着目したものであり、知識を格納する辞書もその関連性に基づいて構成されるため、この辞書を用いることによって、意味解釈上妥当な発話を生成するとができる。
【0083】
また、大量の文書集合から知識を獲得すれば、ユーザの発話のバリエーションや様々な話題に対応可能な対話システムを実現することができる。
【0084】
また、ユーザの発話に対して意味解釈上適確な発話が可能であり、また、様々な話題をも扱うことができる。
【図面の簡単な説明】
【0085】
【図1】本発明の第1の実施の形態を示すブロック図である。
【図2】第1の実施の形態の処理の流れ示すフローチャートである。
【図3】(a)は文書集合から応答ルールを獲得する実施の形態のブロック図、(b)は文書集合から獲得した応答ルールの矛盾を解決する場合のブロック図である。
【図4】辞書に格納されたルールの例を示す表である。
【図5】原因−結果−根拠のルールの例を示す表である。
【図6】図6の距離の値を示す表である。
【図7】時間的順序関係のルールの例を示す表である。
【図8】要約に基づくルールの例を示す表である。
【図9】地名に関する副ルールを説明するための図である。
【図10】具体例に基づくルールの例を示す表である。
【図11】焦点に基づくルールの例を示す表である。
【図12】評価に感情語を含むルール例を示す表である。
【図13】事象とネガティブ及びポジティブとを対応させたルール例を示す表である。
【図14】ネガティブ及びポジティブと感情表現の応答とを対応させた表現の対応表である。
【図15】事象と意見とを対応させたルールの例を示す表である。
【図16】知識に矛盾が発生した場合の矛盾の解消の仕方を説明する図である。
【図17】第10の実施の形態の処理の流れを説明するフローチャートである。
【図18】基本的処理及びルール判定手続きの詳細を示す図である。
【符号の説明】
【0086】
10 マイクロホン
12 音声認識部
14 発話生成部
16 辞書
18 音声合成部
20 スピーカ
22 文書集合
24 辞書獲得手段
26 矛盾性解決手段
30 辞書
【特許請求の範囲】
【請求項1】
ユーザの発話を認識する音声認識手段と、
ユーザの発話に対する応答用の発話を、事象と事象、事象と評価、及び評価と評価の各組合せからなるルールに従った応答知識で記憶した記憶手段と、
前記音声認識手段で認識された発話と前記記憶手段に記憶された応答知識とに基づいて、該ユーザの発話に対する応答用の発話を生成する応答生成手段と、
前記応答手段で生成した応答用の発話を音声合成して出力する音声合成手段と、
を含む対話処理装置。
【請求項2】
前記事象と事象及び事象と評価との各組合せからなるルールを、因果関係または因果関係の根拠の関係によって構成した請求項1記載の対話処理装置。
【請求項3】
前記因果関係は、順接の因果関係及び逆接の因果関係の少なくとも一方である請求項2記載の対話処理装置。
【請求項4】
前記事象と事象及び事象と評価との各組合せからなるルールを、時間的関係によって構成した請求項1記載の対話処理装置。
【請求項5】
前記時間的関係は、時間的な順接関係及び時間的な逆説関係の少なくとも一方である請求項4記載の対話処理装置。
【請求項6】
事象と事象との組合せからなるルールを、ユーザの発話に対する言い換えによって構成される知識に基づいて構成した請求項1記載の対話処理装置。
【請求項7】
前記言い換えは、ユーザ発話を要約した要約、ユーザ発話に対する具体例、またはユーザの発話の発話中の焦点である請求項6記載の対話処理装置。
【請求項8】
前記評価は、ユーザの発話が意味する感情によって構成した請求項1記載の対話処理装置。
【請求項9】
前記感情は、好ましい感情状態を表すポジティブ、好ましくない感情状態を表すネガティブである請求項8記載の対話処理装置。
【請求項10】
前記応答知識を、ウエブサイトの文書集合を含む文書集合に基づいて生成した請求項1〜9のいずれか1項記載の対話処理装置。
【請求項11】
生成した応答知識のルールに矛盾が生じた場合に、多数決、ユーザのプロファイル、ユーザとの対話の履歴に基づいて矛盾を解決する請求項10記載の対話処理装置。
【請求項1】
ユーザの発話を認識する音声認識手段と、
ユーザの発話に対する応答用の発話を、事象と事象、事象と評価、及び評価と評価の各組合せからなるルールに従った応答知識で記憶した記憶手段と、
前記音声認識手段で認識された発話と前記記憶手段に記憶された応答知識とに基づいて、該ユーザの発話に対する応答用の発話を生成する応答生成手段と、
前記応答手段で生成した応答用の発話を音声合成して出力する音声合成手段と、
を含む対話処理装置。
【請求項2】
前記事象と事象及び事象と評価との各組合せからなるルールを、因果関係または因果関係の根拠の関係によって構成した請求項1記載の対話処理装置。
【請求項3】
前記因果関係は、順接の因果関係及び逆接の因果関係の少なくとも一方である請求項2記載の対話処理装置。
【請求項4】
前記事象と事象及び事象と評価との各組合せからなるルールを、時間的関係によって構成した請求項1記載の対話処理装置。
【請求項5】
前記時間的関係は、時間的な順接関係及び時間的な逆説関係の少なくとも一方である請求項4記載の対話処理装置。
【請求項6】
事象と事象との組合せからなるルールを、ユーザの発話に対する言い換えによって構成される知識に基づいて構成した請求項1記載の対話処理装置。
【請求項7】
前記言い換えは、ユーザ発話を要約した要約、ユーザ発話に対する具体例、またはユーザの発話の発話中の焦点である請求項6記載の対話処理装置。
【請求項8】
前記評価は、ユーザの発話が意味する感情によって構成した請求項1記載の対話処理装置。
【請求項9】
前記感情は、好ましい感情状態を表すポジティブ、好ましくない感情状態を表すネガティブである請求項8記載の対話処理装置。
【請求項10】
前記応答知識を、ウエブサイトの文書集合を含む文書集合に基づいて生成した請求項1〜9のいずれか1項記載の対話処理装置。
【請求項11】
生成した応答知識のルールに矛盾が生じた場合に、多数決、ユーザのプロファイル、ユーザとの対話の履歴に基づいて矛盾を解決する請求項10記載の対話処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2006−201870(P2006−201870A)
【公開日】平成18年8月3日(2006.8.3)
【国際特許分類】
【出願番号】特願2005−10646(P2005−10646)
【出願日】平成17年1月18日(2005.1.18)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【Fターム(参考)】
【公開日】平成18年8月3日(2006.8.3)
【国際特許分類】
【出願日】平成17年1月18日(2005.1.18)
【出願人】(000003609)株式会社豊田中央研究所 (4,200)
【Fターム(参考)】
[ Back to top ]