(57)【特許請求の範囲】
【請求項１】
入力文の入力を受け付ける受付手段，
複数の感情述語のそれぞれについて，複数段階の感情レベルのいずれのレベルに属するかが記憶されるとともに，複数段階の感情レベルごとに，感情レベルに応じた一または複数の感情関連語が記憶された感情グラデーション・データベース，
上記受付手段によって受け付けられた入力文に含まれる述語が上記感情グラデーション・データベースに感情述語として記憶されている場合に，その感情述語の感情レベルに応じた一または複数の感情関連語を選択する第１の選択手段，
上記入力文を文節ごとに分割する分割手段，
上記分割手段によって分割された文節のそれぞれと上記第１の選択手段によって選択された感情関連語の組合せからなる第１の返答文を作成する第１の返答文作成手段，
上記入力文から少なくとも修飾語を取り除き，上記入力文に含まれる主語，述語および目的語から構成される最小の文章部分を作成する最小文章部分作成手段，
上記最小文章部分作成手段によって作成された最小文章部分と上記第１の選択手段によって選択された感情関連語の組合せからなる第２の返答文を作成する第２の返答文作成手段，ならびに
上記第１および第２の返答文作成手段によって作成された複数の第１，第２の返答文の中から一つの返答文をランダムに選択する第２の選択手段，
を備えた対話システム。
【請求項２】
複数の感嘆語を記憶した感嘆語データベース，および
上記感嘆語データベースに記憶されている複数の感嘆語のそれぞれと上記感情関連語の組合せからなる第３の返答文を作成する第３の返答文作成手段を備え，
上記第２の選択手段は，複数の第１，第２の返答文および複数の第３の返答文の中から一つの返答文をランダムに選択するものである，
請求項１に記載の対話システム。
【請求項３】
複数の感情述語のそれぞれについて，複数段階の感情レベルのいずれのレベルに属するかが記憶されるとともに，複数段階の感情レベルごとに，感情レベルに応じた一または複数の感情関連語が記憶された感情グラデーション・データベースと協働して動作するコンピュータを制御するプログラムであって，
入力文の入力を受け付ける受付処理，
受け付けた入力文に含まれる述語が上記感情グラデーション・データベースに感情述語として記憶されている場合に，その感情述語の感情レベルに応じた一または複数の感情関連語を選択する第１の選択処理，
上記入力文を文節ごとに分割する分割処理，
上記分割処理によって分割された文節のそれぞれと上記第１の選択処理によって選択された感情関連語の組合せからなる第１の返答文を作成する第１の返答文作成処理，
上記入力文から少なくとも修飾語を取り除き，上記入力文に含まれる主語，述語および目的語から構成される最小の文章部分を作成する最小文章部分作成処理，
上記最小文章部分作成処理によって作成された最小文章部分と上記第１の選択処理によって選択された感情関連語の組合せからなる第２の返答文を作成する第２の返答文作成処理，ならびに
上記第１および第２の返答文作成処理によって作成された複数の第１，第２の返答文の中から一つの返答文をランダムに選択する第２の選択処理，
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は，対話システムおよびプログラムに関する。
【背景技術】
【０００２】
特許文献１は，入力文に含まれる感情語の品詞が形容詞であるか動詞であるかに応じて，異なる変換ルールを用いて入力文から応答文を作成する応答生成装置を記載する。入力文に含まれる感情語が，語尾のみが代えられてそのまま応答文として用いられることがあり（たとえば，入力文が「楽しんだ」であるときに応答文として「楽しかったんですね」が生成される），変化に富む対話にならない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５２５１１３２号公報
【発明の開示】
【０００４】
この発明は，入力文をそのまま返答文として用いるのではなく，変化に富む返答文を生成できるようにすることを目的とする。
【０００５】
この発明は，入力文に含まれる述語から感情ないし気分を推定し，推定された感情ないし気分に応じた応答文を生成できるようにすることを目的とする。
【０００６】
この発明による対話システムは，入力文の入力を受け付ける受付手段，複数の感情述語のそれぞれについて，複数段階の感情レベルのいずれのレベルに属するかが記憶されるとともに，複数段階の感情レベルごとに，感情レベルに応じた一または複数の感情関連語が記憶された感情グラデーション・データベース，および上記受付手段によって受け付けられた入力文に含まれる述語が上記感情グラデーション・データベースに感情述語として記憶されている場合に，その感情述語の感情レベルに応じた一または複数の感情関連語を用いて返答文を作成する返答文作成手段を備えている。
【０００７】
この発明は，コンピュータを対話システムとして機能させるためのプログラムも提供する。この発明によるプログラムは，複数の感情述語のそれぞれについて，複数段階の感情レベルのいずれのレベルに属するかが記憶されるとともに，複数段階の感情レベルごとに，感情レベルに応じた一または複数の感情関連語が記憶された感情グラデーション・データベースと協働して動作するコンピュータを制御するプログラムであって，入力文の入力を受け付ける受付処理，および受け付けた入力文に含まれる述語が上記感情グラデーション・データベースに感情述語として記憶されている場合に，その感情述語の感情レベルに応じた一または複数の感情関連語を用いて返答文を作成する返答文作成処理をコンピュータに実行させるものである。
【０００８】
入力文に感情述語が含まれていると，その感情述語の感情レベルに応じた感情関連語が用いられた返答文が作成される。作成される返答文は入力文から推定されるユーザ（入力文の入力者）の気分ないし感情に沿うまたは合致する言葉を含むものになる。ユーザの気分に寄り添った返答文を作成することができる。また，入力文がそのまま返答文に用いられることがないので，変化に富む返答文が作成され，ユーザを飽きさせることがない。
【０００９】
感情述語は複数段階の感情レベルのいずれかのレベルに属する（対応づけられる）。そして感情レベルのそれぞれに，一または複数の感情関連語が関連づけられている（対応づけられている）。感情述語が持つ感情的な意味合いと，その感情述語の感情レベルに応じた一または複数の感情関連語が持つ感情的な意味合いとは，おおよそ同じものとされる（感情レベルに応じた感情関連語）。たとえば，感情述語「美しい」には，感情関連語「気持ちいい」および「うれしい」が関連づけられる。「美しい」が含まれる入力文が受け付けられた場合，「気持ちいい」，「うれしい」が用いられた返答文が作成される。これにより，ユーザの心情，心持ち，感情，気分等をあたかも察しているかのような返答文を，対話システムから出力させることができる。
【００１０】
一実施態様では，対話システムは上記入力文を文節ごとに分割する分割手段を備え，上記返答文作成手段は，上記分割手段によって分割された文節のそれぞれと上記感情関連語の組合せからなる返答文を作成するものである。入力文の一部を返答文に含ませることで，対話システムがユーザの入力文を把握している（対話システムが自分の話しをしっかりと聞いてくれている）印象をユーザに与えることができる。
【００１１】
他の実施態様では，対話システムは上記入力文に含まれる主語，述語および目的語から構成される最小の文章部分を作成する最小文章部分作成手段を備え，上記返答文作成手段は，上記最小文章部分作成手段によって作成された最小文章部分と上記感情関連語の組合せからなる返答文を作成するものである。この場合も，対話システムがユーザの入力文を把握している（対話システムが自分の話しをしっかりと聞いてくれている）印象を，ユーザに与えることができる。また，入力文そのものではなく，入力文に含まれる主語，述語および目的語から構成される最小文章部分が用いられるので，入力文がそのまま返答文とされる可能性も少ない。
【００１２】
他の実施態様では，対話システムは複数の感嘆語を記憶した感嘆語データベースを備え，上記返答文作成手段は，上記感嘆語データベースに記憶されている複数の感嘆語のそれぞれと上記感情関連語の組合せからなる返答文を作成するものである。感嘆語は，たとえば「へー」，「あーそう」，「はい」，「ほんとう」などである。この場合も，対話システムがユーザの入力文を把握している（対話システムが自分の話しをしっかりと聞いてくれている）印象をユーザに与えることができる。
【００１３】
好ましくは，対話システムは，上記返答文作成手段によって複数の返答文が作成された場合に，その中から一つの返答文をランダムに選択する選択手段を備えている。同じ入力文であっても，その都度返答文を異ならせることができるので，ユーザを飽きさせることがない。
【図面の簡単な説明】
【００１４】
【図１】対話システムの電気的構成を示すブロック図である。
【図２】感嘆語データベースを示す。
【図３】感情グラデーション・データベースを示す。
【図４】対話システムの処理の流れを示すフローチャートである。
【図５】（Ａ）から（Ｅ）は対話システムの処理の一例を示す。
【図６】（Ａ）から（Ｄ）は対話システムの処理の他の例を示す。
【実施例】
【００１５】
図１は対話システムの電気的構成を示すブロック図である。対話システム１は，様々な設備，システム，装置，たとえば人型ロボット，動物型ロボット，スマートフォン，テレビなどに組み込んで使用することができる。
【００１６】
対話システム１は，構文構造解析部11，相槌作成部12，感情分析部13，返答文作成部14および返答文提示部15を備えている。マイクロフォン２，スピーカ３，ハードディスク16などの外部装置が，対話システム１に接続される。
【００１７】
対話システム１のユーザが対話システムにあたかも話しかけるように発話すると，これに応答して対話システム１は自動的に音声によって返答をする。ユーザによる発話と対話システム１による返答とは繰り返される。ユーザによる発話の入力にマイクロフォン２が，対話システム１による返答の出力にスピーカ３がそれぞれ用いられる。マイクロフォン２に代えて発話内容をキーボードから文字入力してもよい。また対話システム１の返答についても，スピーカ３からの音声出力に代えて表示装置の表示画面への文字表示であってもよい。
【００１８】
マイクロフォン２に入力した音声は構文構造解析部11に与えられる。構文構造解析部11は，入力音声を表すデータを文字列データ（入力文）に変換し（音声認識処理），この入力文を構文構造解析することで Chunk（チャンク）とMinimal Node（ミニマル・ノード）を作成する。
【００１９】
「Chunk 」とは，入力文を文節単位（意味単位のかたまり）に分割したもので，入力文に含まれる名詞と助詞の組合せ（名詞句），動詞句，形容詞などのそれぞれがChunk として扱われる。たとえば「庭のバラが美しい」という入力文の場合，「庭の」と，「バラの」と，「美しい」の３つのChunk が作成される。名詞，助詞，動詞，形容詞，助詞など，入力文に含まれる単語の品詞は形態素解析処理によって識別される。
【００２０】
「Minimal Node」とは入力文のうち基本的には主語，述語および目的語から構成される最小の文章部分であり，修飾語等が取り除かれた文章部分である。主語が含まれない（省略されている）入力文では目的語と述語のみによってMinimal Nodeが構成されたり，目的語が含まれていない入力文では主語と述語とからMinimal Nodeは構成されたりする。上述の「庭のバラが美しい」という入力文の場合，主語が「バラが」であり，「美しい」が述語である。「バラが美しい」がMinimal Nodeとして扱われる。「庭の」は主語を修飾する修飾語であるからMinimal Nodeに含まれない。主語，述語，目的語，修飾語等も，形態素解析処理を応用することで判定され，たとえば，既存の構文解析システム（たとえば，ＫＮＰ，ＣａｂｏＣｈａ，ＳｈｉｎＣｈａなど）を利用することができる。もちろん，簡便なルールに基づく処理を行ってもよい。たとえば，助詞「は」，「が」，「も」が最初に出現するまでの文字列（単語列）を基本的には主語として扱い，その中に助詞「の」が含まれていれば，それよりも前の部分を削除することで入力文から主語を抽出（検出）する，といった処理である。
【００２１】
相槌作成部12は，入力文に対する相槌を作成する。作成される相槌は，あらかじめハードディスク16に用意される感嘆語データベース（詳細は後述する）に記憶される複数の感嘆語と，上述した構文構造解析部11において作成されたChunk およびMinimal Nodeに感嘆符を付与したものを含む（詳細は後述する）。
【００２２】
感情分析部13は，入力文に含まれる述語が感情を表す述語（以下，感情述語という）であるか，さらには感情述語である場合には，「快」から「不快」にわたる複数のレベルのうちのどのレベルであるかを判定する。ハードディスク16にあらかじめ用意される感情グラデーション・データベース（詳細は後述する）がこの感情分析処理に用いられる。また，感情レベルに応じた感情関連語（後述する）の選択も行われる。
【００２３】
返答文作成部14は上述した感嘆語，Chunk ，Minimal Node，および感情関連語を用いて，入力文に対する返答に適する返答文を作成する。返答文作成部14は複数の返答文を作成する。
【００２４】
返答文作成部14が作成した複数の返答文の一つが返答文提示部15によってランダムに選ばれる。選ばれた返答文は出力に適するデータに変換される。たとえば返答文が音声出力される場合には，返答文提示部15において返答文を表すデータが音声データに変換され，スピーカ３から出力されることになる。
【００２５】
上述した構文構造解析部11，相槌作成部12，感情分析部13，返答文作成部14および返答文提示部15は，それぞれ専用のハードウェア装置によって構成してもよいし，その一部および全部を汎用のコンピュータ装置およびプログラムによって実現してもよい。汎用のコンピュータ装置は，ＣＰＵ（Central Processing Unit ），メモリ等を備え，プログラムがＣＰＵで実行されることによって対話システム１の一部または全部の処理を実行する。
【００２６】
図２はハードディスク16に用意される感嘆語データベース16Ａを示している。
【００２７】
感嘆語データベース16Ａには，感動（へー，あーそう，ほんとう，ほんと，ほんとに等）または応答（はい，ええ，うん，そうですか，なるほど等）を表す複数の単語（感嘆語，感嘆詞）を表すデータが記憶されている。感嘆語データベース16Ａに記憶されている複数の感嘆語が，対話システム１によって作成される返答文に用いられる。
【００２８】
図３はハードディスク16に用意される感情グラデーション・データベース16Ｂを示している。
【００２９】
感情グラデーション・データベース16Ｂには多数の述語，日本語の場合，動詞，形容詞，形容動詞および名詞の基本形が記憶されるとともに，述語のそれぞれについて，その品詞，および一般述語であるか感情述語であるかの区別が記憶され，感情述語についてはさらに，その感情述語を「快」から「不快」にかけて１４段階の感情レベルに分けたときにいずれのレベルに属するか，および１４段階の感情レベルのそれぞれに関連づけられた感情を表す関連語（感情関連語）が記憶されている。
【００３０】
感情グラデーション・データベース16Ｂに記憶される感情述語は，「快」または「不快」のいずれかに大別される。「快」に区別された感情述語は，さらに「快感」，「好感」または「安定感」のいずれかに区別される。「不快」に属する感情述語は「不安定感」，「嫌悪感」または「痛感」のいずれかに区別される。
【００３１】
「快感」に属する感情述語はここではさらに３段階にレベル分けされ，３つのレベル（以下，便宜的にここでは上位レベル，中位レベル，下位レベルという）のそれぞれに対して，複数の感情関連語が関連づけられている。図３に示す感情グラデーション・データベース16Ｂでは，「快感」に属する感情述語の上位レベルには「凄い」と「狂おしい」の２つの感情関連語が関連づけられ，中位レベルには「気持ちいい」と「うれしい」の２つの感情関連語が関連づけられ，下位レベルには「面白い」と「いとしおしい」の２つの感情関連語が関連づけられている。
【００３２】
「好感」に属する感情述語は２段階にレベル分けされ（以下，便宜的に，ここでは上位レベル，下位レベルという），２つのレベルのそれぞれに対して一または感情関連語が関連づけられている。図３を参照して，「好感」に属する感情述語の上位レベルには「可愛い」の感情関連語が関連づけられ，下位レベルには「心地よい」と「やさしい」の２つの感情関連語が関連づけられている。
【００３３】
同様に，「安定感」に属する感情述語は２段階にレベル分けされ，「不安定感」に属する感情述語は３段階にレベル分けされ，「嫌悪感」に属する感情述語は３段階にレベル分けされている。「痛感」に属する感情述語はレベル分けされていない。それぞれのレベルごとに，一または複数の感情関連語が関連づけられている。
【００３４】
一例を説明する。基本形「愛する」は，その品詞が動詞であり，感情述語，すなわち人の感情を述べた語である。感情グラデーション・データベース16Ｂにおいて，「愛する」が感情述語であることが，フラグによって示される。
【００３５】
感情述語は上述のようにレベル分けが行われており，これにより対応する感情関連語が特定される。図３を参照して，基本形「愛する」は，「快」に属し，かつ「好感」に属する２段階のレベルの上位に属している（１４段階の感情レベルのうちの４番目の感情レベル）。これによって，基本形「愛する」には「可愛い」の感情関連語が関連づけられる。
【００３６】
人の感情を述べた語でない一般述語については感情関連語は関連づけられない。図３を参照して，たとえば基本形「挨拶する」は人の感情を述べた語ではないので，一般述語にフラグが立てられる。一般述語には感情関連語は関連づけられない。
【００３７】
感情グラデーション・データベース16Ｂでは，人の感情を述べた感情述語が，「快」から「不快」にわたる１４段階の感情レベルのいずれかに属するようにレベル分けされて記憶されている。そして１４段階の感情レベルのそれぞれに，感情を表す感情関連語が関連づけられている。これにより，対話システムに話しかけたユーザの発言内容に沿った感情関連語を含む返答，すなわちユーザの感情や気持ちに沿う内容の返答が作成されることになる（詳しくは後述する）。感情レベルの段階数は１４に限られることはなく，さらに多くの段階数，少ない段階数であってもよい。もっとも，ユーザの感情に沿った返答文を作成するためには６以上程度の段階数があるのが好ましい。
【００３８】
図４は対話システムの処理の流れを示すフローチャートである。図５，図６は，対話システムによる処理の具体例をそれぞれ示している。以下，図５，図６に示す具体例を取り上げながら，図４に示す対話システムの処理を説明する。
【００３９】
対話システム１のマイクロフォン２に向かってユーザが話しかけることで，構文構造解析部11によって音声データが受け付けられる（ステップ21）。上述したように，構文構造解析部11において音声データは文字列データ（入力文）に変換される。ここでは，図５（Ａ）に示すように，「庭のバラが美しい」が受け付けられたものとする。
【００４０】
構文構造解析部11は入力文を構文構造解析して，Chunk とMinimal Nodeを作成する（ステップ22）。「庭のバラが美しい」が受け付けられた場合，「庭の」と，「バラが」と，「美しい」の３つのchunk が生成される。また，Minimal Node「バラが美しい」が生成される（ステップ22，図５（Ｂ））。
【００４１】
次に相槌作成部12によって，感嘆語データベース16Ａと，上述したChunkおよびMinimal Node とが用いられて，相槌データが作成される（ステップ23）。作成される相槌データは，感嘆語データベース16Ａに記憶されている感嘆語を表すデータそのもの（「あーそう」，「へー」など）と，Chunk およびMinimal Nodeに感嘆符を付加したもの（「庭の！」，「バラが！」，「美しい！」）と，Minimal Nodeに感嘆符を付加したもの（「バラが美しい！」）とが含まれる（図５（Ｃ））。
【００４２】
入力文に含まれる述語に，上述した感情グラデーション・データベース16Ｂに記憶されている感情述語が含まれるかどうかが判断される（ステップ24）。
【００４３】
入力文「庭のバラが美しい」には，感情グラデーション・データベース16Ｂに記憶されている感情述語「美しい」が記憶されている（図３参照）ので，次の感情分析部13による感情グラデーション分析の処理に進む（ステップ24でYES）。
【００４４】
感情グラデーション分析処理では，感情グラデーション・データベース16Ｂに記憶されている感情述語を含む入力文を発したユーザがどのような気分（感情）であるか，具体的には「快」であるか「不快」であるか，さらに「快」であれば「快感」，「好感」または「安定感」のいずれの気分であるか，「不快」であれば「不安定感」，「嫌悪感」または「痛感」のいずれの気分であるかが分析される（ステップ25）。さらに決定された気分（１４段階の感情レベルのうちのいずれのレベルであるか）に応じて，そのレベルに関連づけられている感情関連語を選択（抽出）する処理が行われる（ステップ26）。図３を参照して，感情述語「美しい」の場合であれば，入力文を発したユーザの気分は「好感」（上から２段階目の感情レベル）であることが分析され，「気持ちいい」と「うれしい」の２つの感情関連語が選択される（ステップ26，図５（Ｄ））。なお，入力文に２つ以上の感情述語が含まれており，それらの感情レベルが異なる場合には，２つの感情レベルの両方（またはどちらか一方）をユーザの気分であるとしてもよい。この場合には２つの感情レベルに対応する両方の感情関連語が選択される。
【００４５】
ステップ23で作成された相槌データと，ステップ26で選択された感情関連語が用いられて，返答文作成部14において入力文に対する返答文が作成される（ステップ27）。
【００４６】
作成される返答文は，ステップ23で作成されたすべての相槌データと，ステップ26で選択された感情関連語のすべてとをそれぞれ組合せたものである。また，必要に応じて，感情関連語の語尾に「ね」を付加することによって会話感が醸し出される。感嘆語が２つ，chunk が３つ，Minimal Nodeが１つ，感情関連語が２つであれば，図５（Ｄ）に示すように，感嘆語と感情関連語との組合せから構成される返答文（（１）〜（４））と，chunk と感情関連語との組合せから構成される返答文（（５）〜（10））と，Minimal Nodeと感情関連語との組合せから構成される返答文（（11）〜（12））の，１２通りの返答文が作成される。
【００４７】
作成された複数の返答文，ここでは１２通りの返答文のうち，いずれかの一つの返答文が返答文提示部15によってランダムに選択される（ステップ28）。たとえば作成された返答文の個数に応じた数を範囲とする乱数を生成し，生成された乱数を用いることで一つの返答文が選択される。
【００４８】
選択された一つの返答文を表すデータが音声データに変換されてスピーカ３に与えられることで，選択された返答文が音声によって出力される（ステップ29）。なお，感嘆符「！」については，音声出力の場合には抑揚によって表現される。また，音声認識において誤認識があったときには，この抑揚が質問されているように聞こえる効果もある。さらに，上述した感情グラデーション分析に応じて，ユーザの気分が「快」に分類される感情レベルであることが分析された場合にはハイトーンの音声が用いられ，ユーザの気分が「不快」に分類される感情レベルであることが分析された場合にはロートーンの音声が用いられる。
【００４９】
対話システム１からの返答文の出力の後，ユーザはさらに対話システム１に話しかけ，これを繰り返すことができる。
【００５０】
図６（Ａ）〜（Ｄ）に示す具体例は，述語が感情述語ではない一般述語の例である。入力文が「昨日，市長に挨拶した」であれば，この入力文に含まれる述語「挨拶した」は一般述語であり，感情関連語は関連づけられていない（図３参照）。この場合には感情グラデーション分析（ステップ25）および感情関連語の選択処理（ステップ26）はスキップされる（ステップ24でNO）。ステップ23で作成された相槌データ（図６（Ｃ））が返答文に用いられる（図６（Ｄ））。
【００５１】
このように，対話システム１は，ユーザによる発話の内容をそのまま返答文として用いるのではなく，変化に富む返答を行う。ユーザを飽きさせることなく，またユーザによる発話内容に沿った返答が実現される。
【００５２】
また，入力文に含まれる述語からユーザの感情ないし気分が分析され，ユーザの感情ないし気分に沿う言葉（感情関連語）が返答文に含まれるので，ユーザの気分に寄り添った返答文を対話システム１から出力させることができる。
【００５３】
ユーザによる発話と対話システム１による返答が繰返された場合には，上述した感情述語（その感情レベル）の出現頻度を用いてユーザの感情状況を推測してもよい。また推測されたユーザの感情状況に応じて，対話システム１側からユーザに話しかけるようにしてもよい。たとえば，出現頻度によってユーザの気分が「快」に属することが推測された場合には「今日は機嫌が良いようですね」といった内容を対話システム１に出力させ，ユーザの気分が「不快」であれば「何か辛いことがありますか」といった内容を対話システム１に出力させることが考えられる。
【００５４】
また，感情グラデーションの考えは，複数の人の感情を自己組織化マップ（Self-Organizing Map:SOM）などを用いてグループ分けを行うために利用することもできる。
【符号の説明】
【００５５】
１  対話システム
２  マイクロフォン
３  スピーカ
11  構文構造解析部
12  相槌作成部
13  感情分析部
14  返答文作成部
15  返答文提示部
16  ハードディスク
【図１】
0006643077.tif 000002
【図２】
0006643077.tif 000003
【図３】
0006643077.tif 000004
【図４】
0006643077.tif 000005
【図５】
0006643077.tif 000006
【図６】
0006643077.tif 000007