(57)【要約】【課題】簡便に、既存のシステムの応答発話選択・生成の仕組みを活かして、入力発話の感情に応じて適切な応答発話を生成できる対話システムを提供する。【解決手段】対話システム１００は、入力発話５２に対する応答発話原文を生成する応答発話選択部１２２と、複数の感情の各々に対し、入力発話が表す感情と複数の感情とが合致する度合いを表す入力発話感情スコアを算出することにより入力発話の感情を推定する入力発話感情推定部１２０と、応答発話原文に対し、複数の感情の各々に対する感情スコアである応答発話感情スコアを算出し、応答発話原文を、入力発話感情スコア及び応答発話感情スコアの値により定められる変換方法にしたがって変換して応答発話１０２を生成し出力する応答発話変換部１２４とを含む。【選択図】図２
2018156273.tif 000002
【特許請求の範囲】
【請求項１】
入力発話を受け、当該入力発話に対する応答発話原文を生成する応答発話生成手段と、
複数の感情の各々に対し、前記入力発話が表す感情と前記複数の感情とが合致する度合いを表す入力発話感情スコアを算出することにより前記入力発話の感情を推定する入力発話感情推定手段と、
前記応答発話原文に対し、前記複数の感情の各々に対する感情スコアである応答発話感情スコアを算出するための応答発話感情スコア算出手段と、
前記応答発話生成手段により生成された応答発話原文を、前記入力発話感情スコア及び前記応答発話感情スコアの値により定められる変換方法にしたがって変換して応答発話を生成し出力する応答発話変換手段とを含む、対話システム。
【請求項２】
前記応答発話変換手段は、
前記応答発話原文に付与すべき文字列を記憶する文字列記憶手段と、
前記入力発話感情スコア及び前記応答発話感情スコアの値により定められる選択方法にしたがって前記文字列記憶手段から文字列を選択し、前記応答発話原文に付与して応答発話を生成するための手段とを含む、請求項１に記載の対話システム。
【請求項３】
さらに、入力発話に対して算出された前記入力発話感情スコアの履歴を記憶する履歴記憶手段を含み、
前記応答発話変換手段は、
前記入力発話感情スコア及び前記応答発話感情スコア、並びに前記履歴記憶手段に記憶された以前の入力発話の前記入力発話感情スコアの値により定められる選択方法にしたがって前記文字列記憶手段から任意の文字列を選択し、前記応答発話原文に付与して応答発話を生成するための手段を含む、請求項２に記載の対話システム。
【請求項４】
前記文字列は接続詞及び／又は相槌であり、前記文字列記憶手段は、
逆接の接続詞を記憶する接続詞記憶手段と、
相槌を記憶する相槌記憶手段とを含み、
前記応答発話変換手段は、
前記入力発話感情スコア及び前記応答発話感情スコアの値により定められる選択方法にしたがって前記接続詞記憶手段及び／又は前記相槌記憶手段から接続詞及び／又は相槌を選択し、前記応答発話原文に付与して応答発話を生成するための手段を含む、請求項２または３に記載の対話システム。
【請求項５】
前記複数の感情の各々は、いずれも第１の極性及び当該第１の極性と異なる第２の極性とに分類され、
さらに、前記入力発話感情スコア及び前記応答発話感情スコアの各々について、前記第１の極性の感情スコアの合計からなる第１極性スコアを算出する第１極性算出手段と、
前記入力発話の前記第１極性スコアと、前記応答発話の前記第１極性スコアとの差の絶対値がしきい値以下であることに応答して、同意を示す文言を前記応答発話に付与するための手段とを含む、請求項１〜請求項４のいずれかに記載の対話システム。
【請求項６】
コンピュータを、請求項１〜５の何れかに記載の対話システムとして機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はコンピュータを用いた対話システムに関し、特に、対話相手（ユーザ）の感情に応じて適切な応答を行うことにより対話のつながりをよくすることができる対話システムに関する。
【背景技術】
【０００２】
コンピュータを用いた対話システムが実用化されている。典型的にはそうしたシステムでは、入力発話の感情を推定した後、予め準備された発話データベースから、推定された感情に応じた応答発話候補を選択して応答とするものがあった。さらに、入力発話から推定されたユーザの感情に基づいて、応答発話の感情を決定し、決定された感情にふさわしい発話を行うことによって対話のつながりを良くしようとするものが、後掲の特許文献１に開示されている。図１に、そうした従来の対話システムの概略のシステム構成を示す。
【０００３】
図１を参照して、従来の対話システム５０は、入力発話５２（ここではテキストデータであるものとする。）を受けて、その発話をしたユーザの感情を推定する入力発話感情推定部７０と、入力発話感情推定部７０により推定された感情に基づいて応答発話の感情を決定する応答発話感情決定部７２と、応答発話感情決定部７２により決定された感情と入力発話５２の内容とを考慮して、予め準備された応答発話用のデータベース（図示せず）から応答発話候補を選択し、応答発話５４を生成して出力するための応答発話選択・生成部７４とを含む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１４８３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に開示されたシステム構成では、入力発話感情推定部７０と応答発話選択・生成部７４との間に応答発話感情決定部７２が追加される。こうした構成では、既存の応答発話の選択・生成処理をそのまま用いることができず、応答発話の感情をさらに考慮した形で応答発話選択・生成部７４を作成する必要がある。
【０００６】
本発明は、より簡便に、既存のシステムの応答発話選択・生成の仕組みを活かして、入力発話の感情に応じて適切な応答発話を生成できる対話システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の局面に係る対話システムは、入力発話を受け、当該入力発話に対する応答発話原文を生成する応答発話生成手段と、複数の感情の各々に対し、入力発話が表す感情と複数の感情とが合致する度合いを表す入力発話感情スコアを算出することにより入力発話の感情を推定する入力発話感情推定手段と、応答発話原文に対し、複数の感情の各々に対する感情スコアである応答発話感情スコアを算出するための応答発話感情スコア算出手段と、応答発話生成手段により生成された応答発話原文を、入力発話感情スコア及び応答発話感情スコアの値により定められる変換方法にしたがって変換して応答発話を生成し出力する応答発話変換手段とを含む。
【０００８】
好ましくは、応答発話変換手段は、応答発話原文に付与すべき文字列を記憶する文字列記憶手段と、入力発話感情スコア及び応答発話感情スコアの値により定められる選択方法にしたがって文字列記憶手段から文字列を選択し、応答発話原文に付与して応答発話を生成するための手段とを含む。
【０００９】
より好ましくは、対話システムは、さらに、入力発話に対して算出された入力発話感情スコアの履歴を記憶する履歴記憶手段を含む。応答発話変換手段は、入力発話感情スコア及び応答発話感情スコア、並びに履歴記憶手段に記憶された以前の入力発話の入力発話感情スコアの値により定められる選択方法にしたがって文字列記憶手段から任意の文字列を選択し、応答発話原文に付与して応答発話を生成するための手段を含む。
【００１０】
さらに好ましくは、文字列は接続詞及び／又は相槌であり、文字列記憶手段は、逆接の接続詞を記憶する接続詞記憶手段と、相槌を記憶する相槌記憶手段とを含む。応答発話変換手段は、入力発話感情スコア及び応答発話感情スコアの値により定められる選択方法にしたがって接続詞記憶手段及び／又は相槌記憶手段から接続詞及び／又は相槌を選択し、応答発話原文に付与して応答発話を生成するための手段を含む。
【００１１】
好ましくは、複数の感情の各々は、いずれも第１の極性及び当該第１の極性と異なる第２の極性とに分類される。対話システムはさらに、入力発話感情スコア及び応答発話感情スコアの各々について、第１の極性の感情スコアの合計からなる第１極性スコアを算出する第１極性算出手段と、入力発話の第１極性スコアと、応答発話の第１極性スコアとの差の絶対値がしきい値以下であることに応答して、同意を示す文言を応答発話に付与するための手段とを含む。
【００１２】
本発明の第２の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかの装置の各手段として機能させる。
【図面の簡単な説明】
【００１３】
【図１】従来の対話システムの概略構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る対話システムの概略構成を示すブロック図である。
【図３】図２に示す対話システムの入力発話感情推定部の構成を示すブロック図である。
【図４】図３に示す感情極性記憶部に記憶されている情報の構成を示す図である。
【図５】図２に示す応答発話選択部の概略構成を示すブロック図である。
【図６】図２に示す応答発話変換部の概略構成を示すブロック図である。
【図７】図６に示す接続詞・相槌付与部の機能を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図８】入力発話の感情スコアの例を示す図である。
【図９】応答発話の感情スコアの例を示す図である。
【図１０】感情と対応する相槌との関係を示す図である。
【図１１】本発明の第２の実施の形態に係る対話システムの概略構成を示すブロック図である。
【図１２】直前の入力発話に対する感情スコアと現在の入力発話に対する感情スコアとを示す図である。
【図１３】図１１に示す応答発話変換部の概略構成を示すブロック図である。
【図１４】図１３に示す接続詞・相槌付与部の機能を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図１５】本発明の第３の実施の形態に係る対話システムの概略構成を示すブロック図である。
【図１６】図１５に示す応答発話変換部の概略構成を示すブロック図である。
【図１７】図１６に示す文字列データベース（ＤＢ）の格納内容を示す図である。
【図１８】図１６に示す文字列付与部の機能を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図１９】本発明の各実施の形態に係る応答発話変換部を実現するコンピュータの外観を示す図である。
【図２０】図１９に示すコンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【００１５】
［第１の実施の形態］
＜構成＞
図２に、本発明の第１の実施の形態に係る対話システム１００のブロック図を示す。図２を参照して、この対話システム１００は、入力発話５２からユーザの感情を推定する入力発話感情推定部１２０と、入力発話５２に基づいて、既存の手法を用いて、図２には図示しない対話・応答ベータベースから応答発話を選択する応答発話選択部１２２と、応答発話選択部１２２により選択された応答発話に対し、入力発話感情推定部１２０により推定された感情に応じて、接続詞又は相槌を追加することによって応答発話を変換し、最終的な応答発話１０２を出力する応答発話変換部１２４とを含む。
【００１６】
図３を参照して、入力発話感情推定部１２０は、入力発話５２を構成する単語列（実際には単語ベクトル）の入力を受けると、予め準備された複数個の感情項目の各々について入力発話５２の発話者の感情がその感情項目にどの程度適合しているかを示すスコアを出力するように予め学習済のコンボリューショナルニューラルネットワーク（ＣＮＮ）１５２と、入力発話５２を受けて、入力発話５２を構成する各単語を対応する単語ベクトルに変換することによりＣＮＮ１５２への入力を生成しＣＮＮ１５２に与えるためのＣＮＮ入力生成部１５０と、ＣＮＮ１５２が感情項目ごとに出力するスコアを各感情項目ごとに一時記憶するスコア記憶部１５４とを含む。ＣＮＮ１５２は、感情項目数と同じ数の出力を持ち、感情項目ごとに、入力発話５２がその感情項目を示す確率を示すスコアを出力する。したがって、ＣＮＮ１５２の出力を合計するとその値は１となる。
【００１７】
入力発話感情推定部１２０はさらに、各感情項目が示す感情の極性（ポジティブかネガティブか）を記憶した感情極性記憶部１５６と、スコア記憶部１５４に記憶された各感情項目について、感情極性記憶部１５６に記憶された対応する極性に応じてポジティブなものとネガティブなものとに区別してそれぞれスコアの合計値を算出しスコア記憶部１５４に保存する極性スコア算出部１５８とを含む。以下、ポジティブなものの合計値をポジティブ値、ネガティブなものの合計値をネガティブ値、これらをまとめて極性スコアと呼ぶ。
【００１８】
図４を参照して、感情極性記憶部１５６は感情項目（嬉しい、悲しい、楽しい、しんどい）ごとにその極性（ポジティブ又はネガティブ）を記憶している。これら感情項目は、本実施の形態では４個として説明するが、実際には予め大量の文書から抽出した、感情を表すと考えられるより多くの単語からなる。単語の形で感情項目を区別する場合、元は同じ単語であってもその形により別々の感情項目として記憶してもよい。本実施の形態ではまた、各感情項目の極性は人手で付与している。もちろん、この極性を例えば機械学習等による判別器を用いて判定してもよい。
【００１９】
図５を参照して、図２に示す応答発話選択部１２２は既存のものであって、予めウェブ及びソーシャル・ネットワーク・サービス上の対話文から収集した、入力文とその入力文に対する応答文とのペアを大量に記憶し、入力文をキーにして応答文を検索可能な入力文・応答文ペアデータベース（ＤＢ）２０２と、入力発話５２を受けて、入力発話５２に対する応答発話を検索し、入力発話５２に対する応答として最もふさわしい応答発話を選択し出力する応答発話検索部２００と、応答発話検索部２００が出力した応答発話に対し、現在の対話にふさわしい語尾変化を行って応答発話原文２２０を生成する語尾変化処理部２０４とを含む。語尾変化処理部２０４の出力である応答発話原文２２０は図２に示す応答発話変換部１２４に与えられる。
【００２０】
図６を参照して、応答発話変換部１２４は、語尾変化処理部２０４から応答発話原文２２０を受取り、図３に示すＣＮＮ入力生成部１５０と同じ手法によりＣＮＮへの入力を生成するＣＮＮ入力生成部２４０と、図３に示すＣＮＮ１５２と同一のＣＮＮ２４２と、ＣＮＮ２４２が応答発話原文２２０に対して出力するスコアを各感情項目別に記憶する、図３に示すスコア記憶部１５４と同様のスコア記憶部２４４とを含む。
【００２１】
応答発話変換部１２４はさらに、図３に示す感情極性記憶部１５６及び極性スコア算出部１５８と同様、スコア記憶部２４４に記憶されたスコアから応答発話原文２２０の極性スコアを算出しスコア記憶部２４４に保存する感情極性記憶部２４６及び極性スコア算出部２４８と、応答発話の前に追加される可能性がある接続詞を記憶した接続詞記憶部２５０と、同じく応答発話の前に追加される可能性がある相槌を記憶した相槌ＤＢ２５２と、入力発話感情推定部１２０（図２を参照）により推定された入力発話５２の感情を受け、スコア記憶部２４４から出力される各感情項目のスコア及び極性スコアに基づいて、応答発話原文２２０の先頭に適切な接続詞又は相槌を追加して応答発話１０２を生成し出力する接続詞・相槌付与部２５４とを含む。
【００２２】
本実施の形態では、接続詞記憶部２５０には「でも、」「だけど、」「しかし、」等の逆接の接続詞が記憶されている。また相槌ＤＢ２５２には、図１０に示すように、感情項目ごとに、応答発話原文２２０に付与すべき相槌が記憶されている。本実施の形態では、図１０の「嬉しい」で示されるように、１つの感情項目に２つ以上の相槌が記憶されていてもよい。
【００２３】
図７に、コンピュータを接続詞・相槌付与部２５４として機能させるコンピュータプログラムの制御構造をフローチャート形式で示す。図７を参照して、このプログラムは、図２に示す入力発話感情推定部１２０のスコア記憶部１５４に保存された入力発話５２のポジティブ値Ｐと、図６に示すスコア記憶部２４４に保存された応答発話原文２２０のポジティブ値Ｐsystemとの差の絶対値が０．５以上か否かを判定するステップ２８０と、ステップ２８０の判定が肯定のときに、接続詞記憶部２５０に記憶されている「でも、」「だけど、」「しかし、」等の逆接の接続詞から１つをランダムに選択し応答発話原文２２０の先頭に付与するステップ２８２と、ステップ２８２の後、及びステップ２８０の判定が否定であったときに、図３のスコア記憶部１５４に記憶された各感情項目のスコアの内の最大値が０．４以上か否かを判定するステップ２８４と、ステップ２８４の判定が肯定のときに、相槌ＤＢ２５２からその感情項目に応じた相槌を取得し、応答発話原文２２０の先頭に付与するステップ２８６とを含む。なお、ある感情項目に対して相槌ＤＢ２５２に複数の相槌が記憶されている場合、本実施の形態に係る接続詞・相槌付与部２５４はそれらの内からランダムに１つを選択する。
【００２４】
このプログラムはさらに、ステップ２８４の判定が否定であるときに、入力発話５２のポジティブ値Ｐと応答発話原文２２０のポジティブ値Ｐsystemとの差の絶対値が０．１以下か否かを判定するステップ２８８と、ステップ２８８の判定が肯定であるときに、「うんうん」、「なるほど」という、相手の発話を聞いていることを示す単語のいずれかをランダムに選択し応答発話原文２２０の先頭に付与するステップ２９０と、ステップ２８６の後、ステップ２９０の後、及びステップ２８８の判定が否定であるときのいずれにおいても変換後の応答発話原文２２０を応答発話１０２として出力するステップ２９２とを含む。
【００２５】
＜動作＞
上記した第１の実施の形態に係る対話システム５０は以下のように動作する。予め、図３及び図６にそれぞれ示す感情極性記憶部１５６及び２４６には、図４に示すように感情項目ごとに極性が記憶されている。同様に、ＣＮＮ１５２及び２４２については、入力発話を構成する単語の単語ベクトルが与えられると、その入力発話に対する各感情項目のスコアを出力するよう学習が行われているものとする。また図５に示す入力文・応答文ペアＤＢ２０２にはウェブ等のコーパスから収集された大量の入力文・応答文ペアが、入力文をキーに応答文を検索可能なように構築されている。さらに、図６に示す接続詞記憶部２５０には逆接の接続詞がいくつか記憶されており、相槌ＤＢ２５２には感情項目ごとに相槌が１又は複数個記憶されている。
【００２６】
なお、本実施の形態では、ＣＮＮ１５２及び２４２への入力として単語ベクトルを用いているが、本発明はそうした実施の形態には限定されず、例えば単語の識別子列の形で入力するようにしてもよい。
【００２７】
図３を参照して、ＣＮＮ入力生成部１５０は、入力発話５２を構成する単語を単語ベクトルに変換することによりＣＮＮ１５２への入力を生成しＣＮＮ１５２に与える。ＣＮＮ１５２は、入力に応答して、感情極性記憶部１５６に記憶された各感情項目について入力発話５２のスコアを出力する。このスコアはスコア記憶部１５４に記憶される。このスコア例を図８に示す。極性スコア算出部１５８は、スコア記憶部１５４に記憶された各感情項目を、感情極性記憶部１５６を参照してポジティブ及びネガティブに分類し、ポジティブ値及びネガティブ値を算出してスコア記憶部１５４に保存する。
【００２８】
図８に示される例では、ポジティブ値は０．１＋０．１＝０．２、ネガティブ値は０．３＋０．５＝０．８である。なお、この実施の形態では、スコアが確率でありその和が１となるので、ポジティブ値とネガティブ値との和も１となる。もちろん、ポジティブ値及びネガティブ値は、両者の相対的な大きさの相違が得られるような方法であればどのような方法で算出しても良い。
【００２９】
図５を参照して、応答発話検索部２００は、入力発話５２をキーに入力文・応答文ペアＤＢ２０２を検索することにより入力発話５２に対する応答発話としてふさわしい応答発話原文を入力文・応答文ペアＤＢ２０２から取出し、語尾変化処理部２０４に与える。語尾変化処理部２０４は、この応答発話原文に、現在の対話に応じた語尾変化を行って応答発話原文２２０とし、図６に示す応答発話変換部１２４に出力する。
【００３０】
図６を参照して、応答発話変換部１２４のＣＮＮ入力生成部２４０は、ＣＮＮ入力生成部１５０と同様に応答発話原文２２０からＣＮＮ２４２への入力となる単語ベクトルを生成しＣＮＮ２４２に与える。ＣＮＮ２４２はこの単語ベクトルに応答し、感情極性記憶部２４６に記憶されている各感情項目についてスコアを出力する。このスコアはスコア記憶部２４４に記憶される。極性スコア算出部２４８は、スコア記憶部２４４に記憶された各感情項目について感情極性記憶部２４６を参照してポジティブ及びネガティブに分類し、ポジティブ値とネガティブ値とを算出し、スコア記憶部２４４に保存する。
【００３１】
スコア記憶部２４４に記憶された応答発話候補に対して計算されたスコアの例を図９に示す。この例では、ポジティブ値は０．１＋０．１＝０．２、ネガティブ値は０．２＋０．６＝０．８である。
【００３２】
接続詞・相槌付与部２５４は、応答発話原文２２０に対して、スコア記憶部２４４に記憶されたスコア及び入力発話感情推定部１２０のスコア記憶部１５４に記憶されたスコアを用いて、以下のように応答発話原文２２０の先頭に逆接の接続詞又は相槌を付与して応答発話１０２として出力する。
【００３３】
図７を参照して、スコア記憶部１５４に記憶された入力発話５２のポジティブ値Ｐと応答発話原文２２０のポジティブ値Ｐsystemとの差が０．５以上（ステップ２８０の判定が肯定）であれば、接続詞記憶部２５０に記憶された逆接の接続詞のいずれかをランダムに選択し、応答発話原文２２０の先頭に付与する。
【００３４】
続いて、ユーザ発話の感情項目のスコアの最大値Ｆmaxが０．４以上（ステップ２８４の判定が肯定で）であればステップ２８６で相槌ＤＢ２５２からその感情項目に対応する相槌を取出し、応答発話原文２２０に付与する。ここでは、ステップ２８２で接続詞が付与されている場合にはその前に相槌が付与される。接続詞が付与されていない場合には応答発話原文２２０の先頭に相槌が付与される。この後、ステップ２９２でこうした変換後の応答発話原文２２０が出力される。
【００３５】
一方、ステップ２８４の判定が否定であればさらにステップ２８８で入力発話５２のポジティブ値と応答発話原文２２０のポジティブ値との差が０．１以下か否かが判定される。判定が肯定であれば、入力発話５２と応答発話原文２２０との感情はほぼ同じと考えられる。この場合にはステップ２９０で「うんうん。」及び「なるほど。」のいずれかをランダムに選択して応答発話原文２２０の先頭に付与し、ステップ２９２で変換後の応答発話原文２２０を出力する。
【００３６】
以上のように本実施の形態によれば、既存の１２２で応答発話の原文を選択した後、発話の感情スコア及び極性スコアと、応答発話原文の感情スコア及び極性スコアとに基づいて選択された接続詞及び／又は相槌が応答発話原文の先頭に付与されて出力される。図２に示す応答発話選択部１２２としては既存のものをそのまま利用しながら、入力発話５２により表される感情に応じて適切な応答発話を生成し出力できる。感情を考慮せずに応答発話を選択するような従来の対話システムの末尾に応答発話変換部１２４を追加することで感情を考慮した適切な応答発話を行うことができるという効果がある。
【００３７】
［第２の実施の形態］
＜構成＞
応答発話の変換手法としては種々のものを選択できる。この第２の実施の形態は、その１例である。この実施の形態では、過去の入力発話に対して算出された感情スコア及び極性スコアが履歴として残され、この履歴を用いて応答発話の変換が行われる。なお、この第２の実施の形態では、直前の入力発話に対する履歴のみを用いるが、さらに前の履歴を用いるようにしてもよい。
【００３８】
図１１を参照して、この第２の実施の形態に係る対話システム３３０は、図２に示すものと同じ入力発話感情推定部１２０及び応答発話選択部１２２と、入力発話感情推定部１２０により入力発話５２について算出された感情項目ごとのスコアの履歴を記憶する履歴記憶部３５０と、入力発話感情推定部１２０により算出された入力発話５２のスコアと、履歴記憶部３５０に記憶された前回の入力発話のスコアとに基づいて、応答発話選択部１２２により選択された応答発話原文に接続詞及び／又は相槌を付与して応答発話原文を変換し応答発話３６０として出力するための応答発話変換部３５２とを含む。
【００３９】
図１２に、図１１の履歴記憶部３５０に記憶されたスコアの履歴と今回の入力発話５２から得られたスコアの履歴の例を示す。前述したとおり、本実施の形態では、直前の入力発話から得られたスコア（「前のスコア」）と、今回の入力発話５２から得られたスコア（今回の「スコア」）とを利用して応答発話原文を変換する。図１２には示していないが前述したとおり履歴の極性スコアも応答発話原文の変換に利用する。なお、対話を開始する場合には履歴が存在しないが、その場合には全ての履歴の感情スコアを０とする。
【００４０】
図１３を参照して、応答発話変換部３５２は、図６に示す応答発話変換部１２４と同様の構成であるが、図６に示す接続詞・相槌付与部２５４に代えて、接続詞・相槌付与部３８０を含む点で異なる。接続詞・相槌付与部３８０は、入力発話感情推定部１２０により得られた入力発話５２に対する感情スコア及び極性スコアと、履歴記憶部３５０に記憶されている、前の入力発話から得られた感情スコアと、この感情スコアと感情極性記憶部２４６に記憶された感情極性とから算出される履歴の極性スコアとを用いて、接続詞記憶部２５０及び相槌ＤＢ２５２に記憶されている接続詞及び／又は相槌を応答発話原文２２０の先頭に付与して応答発話３６０を出力する。
【００４１】
図１４に、コンピュータにより接続詞・相槌付与部３８０を実現するコンピュータプログラムの制御構造をフローチャート形式で示す。図１４を参照して、このプログラムは、図７に示すものとほぼ同じ構造であるが、図７のステップ２８４に代えて、ステップ４００を含む点で異なる。ステップ４００は、感情項目ごとに、直前の感情スコアと現在の感情スコアとの差（|Fit−Fi(t-1)|、ただし、Fitはｉ番目の感情項目の、現在のスコアを示し、Fi(t-1)は同じ感情項目の、履歴にあるスコアを示す。）の最大値を求め、その値が０．３以上か否かを判定する。このステップ４００を含む点で図７に示すものと異なる。ステップ４００の判定が肯定である場合には、図７と同様ステップ２８６に制御が進み、否定である場合にはステップ２８８に進む点も図７と同様である。
【００４２】
＜動作＞
この第２の実施の形態では、図１１を参照して、最初に履歴記憶部３５０に記憶されている履歴の感情スコアは全て感情スコア初期値で初期化する。感情スコア初期値は、合計が１．０となるように、１．０/(感情スコアの項目数)とするのが良い。入力発話５２が入力されると、入力発話感情推定部１２０は入力発話５２に対する感情スコアを算出し履歴記憶部３５０に格納される。この履歴記憶部３５０に格納された感情スコアは、図１３に示す応答発話変換部３５２の接続詞・相槌付与部３８０に与えられる。応答発話選択部１２２は入力発話５２に対する応答発話原文を入力文・応答文ペアＤＢ２０２（図５参照）において検索して取出し、応答発話変換部３５２に与える。
【００４３】
図１３を参照して、ＣＮＮ入力生成部２４０及びＣＮＮ２４２は応答発話原文２２０の感情スコアを算出しスコア記憶部２４４に記憶する。極性スコア算出部２４８は感情極性記憶部２４６に記憶された感情極性を用いてスコア記憶部２４４に記憶された感情スコアの極性スコアを算出しスコア記憶部２４４に保存する。
【００４４】
接続詞・相槌付与部３８０は、図１４に示すフローチャートにしたがって逆接の接続詞及び／又は相槌を選択し、応答発話原文２２０の先頭に付与して応答発話３６０を出力する。図１４に示すフローチャートに従った接続詞・相槌付与部３８０の動作は、ステップ４００の判定を除き第１の実施の形態のものと同様である。したがってここではその詳細は繰返さない。
【００４５】
この第２の実施の形態によれば、入力発話の感情が大きく変化した場合に、その感情の変化に応じた相槌が応答発話に付与される。対話の相手方から見ると、単に発話したときの感情だけでなく、感情の変化に対しても敏感に変化する応答が得られることになり、対話がより滑らかになるという効果がある。
【００４６】
［第３の実施の形態］
＜構成＞
図１５に、本発明の第３の実施の形態に係る対話システム４３０の構成を示す。この対話システム４３０が図１１に示す第２の実施の形態に係る対話システム３３０と異なるのは、図１１に示す応答発話変換部３５２に代えて、履歴記憶部３５０に記憶された感情スコアの履歴と、入力発話５２に対して入力発話感情推定部１２０から得られた感情スコアとを用いて、応答発話変換部３５２とは異なる手法で応答発話原文に文字列を付与することで応答発話を変換し応答発話４３２として出力する応答発話変換部４５０を含む点である。
【００４７】
図１６を参照して、応答発話変換部４５０は、図１３に示す第２の実施の形態の応答発話変換部３５２と同様の構成を持つが、図１３の接続詞記憶部２５０及び相槌ＤＢ２５２に代えて、単なる接続詞又は相槌とは異なる、感情の変化に対応して予め準備された文字列を記憶した文字列ＤＢ４７０とを含む点で異なる。応答発話変換部４５０はさらに、図１３の接続詞・相槌付与部３８０に代えて、履歴記憶部３５０に記憶された感情スコアの履歴、入力発話感情推定部１２０により入力発話５２について算出された感情スコア、及び応答発話原文２２０から得られた感情スコア、並びにこれら感情スコアの極性スコアに基づいて、文字列ＤＢ４７０から応答発話原文２２０の先頭に付与すべき文字列を検索して取出し、応答発話原文２２０の先頭に付与して応答発話４３２として出力する文字列付与部４７２を含む点においても、応答発話変換部３５２とは異なっている。
【００４８】
図１７を参照して、本実施の形態では、文字列ＤＢ４７０に記憶された文字列は、例えば「嬉しい」という感情にたいして「君は嬉しいかもしれないけど、」及び「貴方はハッピーなんだろうが、」というように、相手の発言に対する逆接的な発話を導く文字列となっている。これは、後述する文字列付与部４７２において、相手の感情が大きく変化したときに、その直前の相手の発言に基づいて応答するような制御構造になっているためである。この文字列の選択については、文字列付与部４７２における判定の方法によって色々な方法が考えられることはいうまでもない。
【００４９】
図１８に、コンピュータにより文字列付与部４７２の機能を実現するプログラムの制御構造をフローチャート形式で示す。図１８を参照して、このプログラムは、図１４に示す第２の実施の形態のプログラムとほぼ同じ制御構造を持つが、図１４のステップ２８２を含まない点、及びステップ２８０の判定結果が否定であるときにステップ４００ではなくステップ２８８に制御が進む点において異なる。このプログラムはさらに、図１４のステップ２８６に代えて、ステップ４００の判定が肯定であるときに、文字列ＤＢ４７０からスコア差が最大の感情をキーにして対応する文字列を取得し応答発話原文２２０の先頭に付与するステップ５０２を含む点においても図１４と異なっている。なお、本実施の形態では、ステップ２８０及び４００の判定が否定のときには制御はステップ２８８に進み、それ以後は図１４に示したものと同じである。またステップ５０２の後には、図１４のステップ２８６の後と同様に制御はステップ２５２に進む。
【００５０】
＜動作＞
本実施の形態に係る対話システム４３０の動作は基本的に第２の実施の形態と同様である。ただし、図１８に示すフローチャートから分かるように、入力発話のポジティブ値とシステム発話のポジティブ値との差が０．５以上でかつ入力発話の履歴の各感情スコアと、現在の入力発話の各感情スコアの差の最大値が０．３以上の場合には対話システム４３０は以下のように動作する。すなわち、この場合、本実施の形態では、単なる相槌ではなく、ステップ５０２において、感情スコアの差の最大値を与えるような感情に対応する文字列が図１７に示す文字列ＤＢ４７０から選択され、応答発話原文２２０の先頭に付与される。単に逆接の接続詞が付与されるのではなく、入力発話の感情と応答発話の感情とがかなり異なっているときには、感情項目の内で特に異なっている感情に応じて、逆接の接続詞と同様の働きを持ち、かつ具体的に応答発話を発するための導入となる文字列が付与される。そのため、対話が機械的なものにならず、自然に感じられるという効果がある。
【００５１】
なお、第２の実施の形態と第３の実施の形態とのシステムの考え方を混在させ、入力発話ごとに何れかの方法にしたがって応答発話を生成するようにしてもよい。
【００５２】
さらに、上記各実施の形態における接続詞・相槌付与部２５４及び３８０、並びに文字列付与部４７２における判定方法が上記実施の形態に限定されないことは当然である。また、判断結果にしたがってどのような接続詞、相槌、及び文字列を選択し、応答発話に付与するかも、実施の際の設計にしたがって様々に変化させることができる。
【００５３】
また、図７のステップ２８４、図１４及び図１８のステップ４００における判定のためのしきい値は、使用される感情項目の数に応じて変化する。これらの値は、事前の実験等により適切な値に設定して置くことが望ましいが、必ずしも実験によらず、任意の値を選択してもよい。
【００５４】
本発明では、既存の手法により応答発話を選択した後に、入力発話の感情スコアを用いて応答発話を加工できる枠組みを提供する点に大きな特徴がある。入力発話の感情に応じて応答発話を変換する場合、応答発話の選択手法に変更を加える必要がなく、応答発話の選択手法とは独立に、入力発話の感情に応じて適切な応答発話を簡便に生成できるという効果がある。
【００５５】
［コンピュータによる実現］
本発明の実施の形態に係る対話システム１００、３３０及び４３０及びその構成要素は、いずれもコンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図１９はこのコンピュータシステム６３０の外観を示し、図２０はコンピュータシステム６３０の内部構成を示す。
【００５６】
図１９を参照して、コンピュータシステム６３０は、メモリポート６５２及びＤＶＤ（Digital  Versatile  Disk）ドライブ６５０を有するコンピュータ６４０と、いずれもコンピュータ６４０に接続されたキーボード６４６と、マウス６４８と、モニタ６４２とを含む。
【００５７】
図２０を参照して、コンピュータ６４０は、メモリポート６５２及びＤＶＤドライブ６５０に加えて、ＣＰＵ（中央処理装置）６５６と、ＣＰＵ６５６、メモリポート６５２及びＤＶＤドライブ６５０に接続されたバス６６６と、起動プログラム等を記憶する読出専用メモリ（ＲＯＭ）６５８と、バス６６６に接続され、上記対話システム１００、３３０及び４３０の各部の機能を実現するプログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）６６０と、ハードディスク６５４を含む。コンピュータシステム６３０はさらに、他端末との通信を可能とするネットワーク６６８への接続を提供するネットワークインターフェイス（I/F）６４４を含む。
【００５８】
コンピュータシステム６３０を上記した実施の形態に係る対話システム１００、３３０及び４３０及びその各機能部として機能させるためのコンピュータプログラムは、ＤＶＤドライブ６５０又はメモリポート６５２に装着されるＤＶＤ６６２又はリムーバブルメモリ６６４に記憶され、さらにハードディスク６５４に転送される。又は、プログラムはネットワーク６６８を通じてコンピュータ６４０に送信されハードディスク６５４に記憶されてもよい。プログラムは実行の際にＲＡＭ６６０にロードされる。ＤＶＤ６６２から、リムーバブルメモリ６６４から又はネットワーク６６８を介して、直接にＲＡＭ６６０にプログラムをロードしてもよい。
【００５９】
このプログラムは、コンピュータ６４０を、上記実施の形態に係る対話システム１００、３３０及び４３０の各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ６４０にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ６４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ６４０にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、独立したプログラムのみで必要な機能を全て提供してもよい。
【００６０】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００６１】
５０、１００、３３０、４３０  対話システム
５２  入力発話
５４、１０２、３６０、４３２  応答発話
７０、１２０  入力発話感情推定部
７２  応答発話感情決定部
７４  応答発話選択・生成部
１２２  応答発話選択部
１２４、３５２、４５０  応答発話変換部
１５０、２４０  ＣＮＮ入力生成部
１５２、２４２  ＣＮＮ
１５４、２４４  スコア記憶部
１５６、２４６  感情極性記憶部
１５８、２４８  極性スコア算出部
２００  応答発話検索部
２０２  入力文・応答文ペアＤＢ
２０４  語尾変化処理部
２２０  応答発話原文
２５０  接続詞記憶部
２５２  相槌ＤＢ
２５４、３８０  接続詞・相槌付与部
３５０  履歴記憶部
４７０  文字列ＤＢ
４７２  文字列付与部
【図１】
2018156273.tif 000003
【図２】
2018156273.tif 000004
【図３】
2018156273.tif 000005
【図４】
2018156273.tif 000006
【図５】
2018156273.tif 000007
【図６】
2018156273.tif 000008
【図７】
2018156273.tif 000009
【図８】
2018156273.tif 000010
【図９】
2018156273.tif 000011
【図１０】
2018156273.tif 000012
【図１１】
2018156273.tif 000013
【図１２】
2018156273.tif 000014
【図１３】
2018156273.tif 000015
【図１４】
2018156273.tif 000016
【図１５】
2018156273.tif 000017
【図１６】
2018156273.tif 000018
【図１７】
2018156273.tif 000019
【図１８】
2018156273.tif 000020
【図１９】
2018156273.tif 000021
【図２０】
2018156273.tif 000022