(57)【要約】【課題】設定されたキャラクタに相応しい語調と内容でユーザと対話可能なコミュニケーション装置等を提供する。【解決手段】コミュニケーション装置は、ユーザの発話である入力発話を入力する入力部と、入力発話に対する応答発話文を生成する応答生成モジュールと、応答生成モジュールが生成した応答発話文の内容が、予め設定されたキャラクタの気質に一致するか否かを判断する判断フィルタと、応答生成モジュールが生成した応答発話文に含まれる単語のうち、発話によってユーザに与える印象を変化させるキャラクタ性付与に関する特定単語を、変換ルックアップテーブルを参照して置き換える変換フィルタと、変換フィルタによって特定単語が置き換えられた応答発話文を出力する出力部とを備え、出力部は、判断フィルタが一致すると判断した場合に応答発話文を出力する。【選択図】図２
2020067584.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの発話である入力発話を入力する入力部と、
前記入力発話に対する応答発話文を生成する応答生成モジュールと、
前記応答生成モジュールが生成した前記応答発話文の内容が、予め設定されたキャラクタの気質に一致するか否かを判断する判断フィルタと、
前記応答生成モジュールが生成した前記応答発話文に含まれる単語のうち、発話によって前記ユーザに与える印象を変化させるキャラクタ性付与に関する特定単語を、変換ルックアップテーブルを参照して置き換える変換フィルタと、
前記変換フィルタによって前記特定単語が置き換えられた前記応答発話文を出力する出力部と
を備え、
前記出力部は、前記判断フィルタが一致すると判断した場合に前記応答発話文を出力するコミュニケーション装置。
【請求項２】
前記変換フィルタは、前記応答生成モジュールが生成した前記応答発話文の語尾の単語を前記特定単語として置き換える、語尾変換フィルタを含む請求項１に記載のコミュニケーション装置。
【請求項３】
前記変換フィルタは、前記応答生成モジュールが生成した前記応答発話文に含まれる単語のうち、名詞、形容詞、形容動詞、副詞の少なくともいずれかの一部の単語を前記特定単語として置き換える、言回し変換フィルタを含む請求項１または２に記載のコミュニケーション装置。
【請求項４】
前記出力部は、前記応答発話文を音声として出力する音声出力部と、前記応答発話文を文字として出力する文字出力部とを有し、
前記変換フィルタは、前記応答発話文を前記音声出力部により音声として出力する場合と前記文字出力部により文字として出力する場合に関わらず、単一の前記変換ルックアップテーブルを参照して前記特定単語を置き換える請求項１から３のいずれか１項に記載のコミュニケーション装置。
【請求項５】
前記変換フィルタは、前記判断フィルタが一致すると判断した場合に、前記応答生成モジュールが生成した前記応答発話文の前記特定単語を置き換える請求項１から４のいずれか１項に記載のコミュニケーション装置。
【請求項６】
前記判断フィルタは、前記応答生成モジュールが前記応答発話文を生成するときに用い得るそれぞれの単語に対して前記気質に対応する属性が予め登録された設定ファイルを参照して、前記応答発話文の内容が、前記気質に一致するか否かを判断する請求項１から５のいずれか１項に記載のコミュニケーション装置。
【請求項７】
ユーザの発話である入力発話を入力する入力ステップと、
前記入力発話に対する応答発話文を生成する応答生成ステップと、
前記応答生成ステップで生成した前記応答発話文の内容が、予め設定されたキャラクタの気質に一致するか否かを判断する判断ステップと、
前記応答生成ステップで生成した前記応答発話文に含まれる単語のうち、発話によって前記ユーザに与える印象を変化させるキャラクタ性付与に関する特定単語を、変換ルックアップテーブルを参照して置き換える変換ステップと、
前記判断ステップが一致すると判断した場合に、前記変換ステップによって前記特定単語が置き換えられた前記応答発話文を出力する出力ステップと
をコンピュータに実行させるコミュニケーション装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コミュニケーション装置およびコミュニケーション装置の制御プログラムに関する。
【背景技術】
【０００２】
ユーザの発話を解析して意味内容を把握し、そのタイプに応じた応答発話を生成して音声またはテキストによりユーザに提示する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１４０２８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コミュニケーション装置には、ユーザが親しみを持ちやすいように動物などのキャラクタ性が与えられるが、キャラクタのバリエーションを増やしても、いずれのキャラクタも画一的な語調で発話をさせると、かえって違和感を生じさせることになる。また、設定されているキャラクタの気質と、発話内容が一致しない場合にも、違和感を生じさせる。
【０００５】
本発明は、このような問題を解決するためになされたものであり、設定されたキャラクタに相応しい語調と内容でユーザと対話可能なコミュニケーション装置等を提供するものである。
【課題を解決するための手段】
【０００６】
本発明の第１の態様におけるコミュニケーション装置は、ユーザの発話である入力発話を入力する入力部と、入力発話に対する応答発話文を生成する応答生成モジュールと、応答生成モジュールが生成した応答発話文の内容が、予め設定されたキャラクタの気質に一致するか否かを判断する判断フィルタと、応答生成モジュールが生成した応答発話文に含まれる単語のうち、発話によってユーザに与える印象を変化させるキャラクタ性付与に関する特定単語を、変換ルックアップテーブルを参照して置き換える変換フィルタと、変換フィルタによって特定単語が置き換えられた応答発話文を出力する出力部とを備え、出力部は、判断フィルタが一致すると判断した場合に応答発話文を出力する。
【０００７】
このように構成することにより、キャラクタの設定にかかわらず汎用的に利用可能な応答生成モジュールが生成する応答発話文を、キャラクタの設定に合わせて個別に修正することができるので、キャラクタ設定に相応しい語調の発話を実現することができる。また、汎用的に利用可能な応答生成モジュールが生成する応答発話文から、キャラクタ設定に合った応答発話文を取捨選択できるようになる。
【０００８】
上記のコミュニケーション装置において、変換フィルタは、応答生成モジュールが生成した応答発話文の語尾の単語を特定単語として置き換える、語尾変換フィルタを含むと良い。キャラクタの性質を印象づける語調は、その一つとして語尾の単語に現れることが多い。このように語尾の特定の単語を置き換えることにより、効率的に応答発話文の語調を修正することができる。
【０００９】
また、上記のコミュニケーション装置において、変換フィルタは、応答生成モジュールが生成した応答発話文に含まれる単語のうち、名詞、形容詞、形容動詞、副詞の少なくともいずれかの一部の単語を特定単語として置き換える、言回し変換フィルタを含むと良い。キャラクタの性質を印象づける語調は、その一つとして名詞、形容詞、形容動詞、副詞の独特な言い回しとして現れることがある。このような品詞の特定の単語を置き換えることにより、効率的に応答発話文の語調を修正することができる。
【００１０】
また、上記のコミュニケーション装置において、出力部が、応答発話文を音声として出力する音声出力部と、応答発話文を文字として出力する文字出力部とを有する場合に、変換フィルタは、応答発話文を音声出力部により音声として出力する場合と文字出力部により文字として出力する場合に関わらず、単一の変換ルックアップテーブルを参照して特定単語を置き換えるようにすると良い。
【００１１】
また、上記のコミュニケーション装置において、変換フィルタは、判断フィルタが一致すると判断した場合に、応答生成モジュールが生成した応答発話文の特定単語を置き換えると良い。このような処理手順により、特定単語の置き換え処理を行った後に応答発話文として出力されない無駄を省くことができる。また、判断フィルタは、応答生成モジュールが応答発話文を生成するときに用い得るそれぞれの単語に対して気質に対応する属性が予め登録された属性ルックアップテーブルを参照して、応答発話文の内容が、気質に一致するか否かを判断するように構成すると良い。このように構成すると、比較的簡単な処理で判断を行えるので、処理の高速化に寄与する。
【００１２】
本発明の第２の態様におけるコミュニケーション装置の制御プログラムは、ユーザの発話である入力発話を入力する入力ステップと、入力発話に対する応答発話文を生成する応答生成ステップと、応答生成ステップで生成した応答発話文の内容が、予め設定されたキャラクタの気質に一致するか否かを判断する判断ステップと、応答生成ステップで生成した応答発話文に含まれる単語のうち、発話によってユーザに与える印象を変化させるキャラクタ性付与に関する特定単語を、変換ルックアップテーブルを参照して置き換える変換ステップと、判断ステップが一致すると判断した場合に、変換ステップによって特定単語が置き換えられた応答発話文を出力する出力ステップとをコンピュータに実行させる。このようなプログラムがコンピュータによって実行されるコミュニケーション装置によれば、第１の態様と同様に、キャラクタ設定に相応しい語調と内容の発話を実現することができる。
【発明の効果】
【００１３】
本発明により、設定されたキャラクタに相応しい語調と内容でユーザと対話可能なコミュニケーション装置等を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】ロボットとユーザのコミュニケーション例を示す図である。
【図２】ロボットのシステム構成図である。
【図３】キャラクタの属性と気質を定義する設定ファイルの一例である。
【図４】語尾変換に用いられる語尾変換ルックアップテーブルの一例である。
【図５】言回し変換に用いられる言回し変換ルックアップテーブルの一例である。
【図６】ユーザの発話を受けてから応答するまでの処理を示すフロー図である。
【図７】第１変形例に係るロボットとユーザのコミュニケーション例を示す図である。
【図８】第２変形例に係るスマートフォンを示す図である。
【発明を実施するための形態】
【００１５】
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
【００１６】
図１は、第１の実施例に係るロボット１００とユーザのコミュニケーションの例を示す図である。ロボット１００は、ユーザである人間と音声対話を行うコミュニケーション装置である。ロボット１００は、キャラクタを具現化したキャラクタ装置であり、対話に合わせて眼の表情や視線方向が変化するように構成しても良い。
【００１７】
ロボット１００は、外観として動物を模しており、頭部１１０と胴体部１２０を有する。頭部１１０のいずれかの位置には、マイク１０１が隠されて配置されている。マイク１０１は、ユーザの発話音声を入力発話として入力する入力部としての機能を担う。ロボット１００の口の位置には、スピーカ１０２が隠されて配置されている。また、スピーカ１０２は、ロボット１００が生成した音声を発する出力部としての機能を担う。ユーザは、口の位置から出力される音声に、ロボット１００が喋っているような感覚を覚える。本実施形態において説明するロボット１００は、「おじいちゃん」のキャラクタ設定が成されており、発話文が「おじいちゃん」にありがちな語調に調整されて発せられる。図示するように、例えばユーザがロボット１００に「今日の天気はどうなるの？」と話しかけると、ロボット１００は、その話しかけに反応して、「晴れのちくもりじゃ。」などと発話する。
【００１８】
図２は、ロボット１００のシステム構成図である。ここでは、ユーザとのコミュニケーションに関係する主な要素について説明するが、ロボット１００の構成としては他の要素も備え、またコミュニケーションに寄与する他の要素が加えられることもあり得る。
【００１９】
ロボット１００は、主なシステム構成として、マイク１０１、スピーカ１０２、制御部２００、メモリ２１０、発話データベース２２０、極性辞書２３０、および変換ルックアップテーブル２４０（以下、「変換ＬＵＴ２４０」と記す）を備えている。
【００２０】
制御部２００は、例えばＣＰＵによって構成され、ロボット１００の全体を制御すると共に、様々な演算を実行する。マイク１０１は、主な機能として、ユーザの発話音声を集音する。マイク１０１は、集音したユーザの発話音声を音声信号に変換し、ユーザからの入力発話として制御部２００へ引き渡す。
【００２１】
メモリ２１０は、不揮発性の記憶媒体であり、例えばソリッドステートドライブが用いられる。メモリ２１０は、ロボット１００を制御するための制御プログラムの他にも、制御や演算に用いられる様々なパラメータ値、関数、ルックアップテーブル等を記憶している。特に、設定ファイル２１１を記憶している。設定ファイル２１１は、ロボット１００に付与されるキャラクタ性に関する属性と気質を定義するファイルである。詳しくは後述する。
【００２２】
制御部２００は、機能ごとの実行を担う機能実行部としても動作し、主に、発話解析部２０１、応答生成モジュール２０２、判断フィルタ２０３、変換フィルタ２０４および発話制御部２０５として動作する。発話解析部２０１は、マイク１０１から受け取った入力発話を解析してテキスト化し、ユーザの発話内容を認識する。発話解析部２０１は、具体的には、一般的な音声認識技術を用いてユーザの発話内容を認識する。例えば、テキスト化された入力発話に単語分析等を施して、ＤＮＮモデルやロジスティック回帰モデルを用いて発話内容を認識する。発話解析部２０１は、認識した発話内容を応答生成モジュール２０２へ引き渡す。
【００２３】
応答生成モジュール２０２は、発話データベース２２０を参照して入力発話に相応しい応答発話文を生成する。発話データベース２２０は、例えばハードディスクドライブに格納されたデータベースであり、コーパスとして体系化された個々の用語は、再生可能な音声データを伴って格納されている。なお、応答生成モジュール２０２は、標準的な言回しの応答発話文を生成する汎用的なモジュールであり、発話データベース２２０も、標準的な言回しの応答発話文を生成するための用語群が格納されている。
【００２４】
判断フィルタ２０３は、応答生成モジュール２０２が生成した応答発話文を受け取り、極性辞書２３０を参照してその内容を解析する。そして、解析結果が設定されたキャラクタの気質に一致するか否かを判断する。一致すれば、当該応答発話文を変換フィルタ２０４へ引き渡し、一致しなければ、応答生成モジュール２０２に応答発話文を再度生成するよう要求する。極性辞書２３０は、係り受け関係にある複数の単語を入力すると、その中の名詞が当該応答発話文において感情的に肯定的な意味合いを持つのか（以下、「ポジティブ」と称する）、否定的な意味合いをもつのか（以下、「ネガティブ」と称する）を出力する辞書である。極性辞書２３０は、例えばハードディスクドライブに格納されている。判断フィルタ２０３の具体的な処理については後述する。
【００２５】
変換フィルタ２０４は、応答生成モジュール２０２が生成した応答発話文に含まれる単語のうち、発話によってユーザに与える印象を変化させるキャラクタ性付与に関する特定単語を、変換ＬＵＴ２４０を参照して置き換える変換フィルタである。変換フィルタ２０４は、語尾変換フィルタ２０３ａと言回し変換フィルタ２０３ｂを含む。語尾変換フィルタ２０３ａは、応答生成モジュール２０２が生成した応答発話文の語尾の単語を、変換ＬＵＴ２４０に格納されている語尾変換ＬＵＴを参照して置き換える。言回し変換フィルタ２０３ｂは、応答生成モジュール２０２が生成した応答発話文に含まれる単語のうち、名詞、形容詞、形容動詞、副詞の少なくともいずれかの一部の単語を、変換ＬＵＴ２４０に格納されている言回し変換ＬＵＴを参照して置き換える。変換ＬＵＴ２４０は、例えばハードディスクドライブに格納されている。変換フィルタ２０４は、置き換え処理を終えた応答発話文を発話制御部２０５へ引き渡す。変換フィルタ２０４の具体的な処理については後述する。
【００２６】
発話制御部２０５は、受け取った応答発話文を音声信号に変換してスピーカ１０２へ引き渡す。スピーカ１０２は、発話制御部２０５で変換された音声信号を受け取って、出力発話を音声として出力する。
【００２７】
図３は、キャラクタの属性と気質を定義する設定ファイル２１１の一例である。設定ファイル２１１は、図示するように、キャラクタ属性の定義と、特定単語の気質属性を示す属性テーブルの２つを含む。キャラクタ属性は、例えば「おじいちゃん」であり、ロボット１００に年配男性の属性を与えることが定義されている。属性は、他にも様々に定義し得る。年齢や性別を基準とするなら、「おじいちゃん」の他にも「おばあちゃん」や「少年」などを定義し得る。また、職種や地位を基準とするなら、「お侍さん」や「社長さん」などを定義し得る。
【００２８】
属性テーブルは、例えばロボット１００に外出やアウトドアが好みであるとする「外向性志向」を付与する場合に、外向性志向に関連する特定単語を列挙し、それぞれの特定単語に「ポジティブ（Ｐ）」と「ネガティブ（Ｎ）」の気質属性を登録したテーブルである。登録する特定単語は、応答生成モジュールが応答発話文を生成するときに用い得る単語である。
【００２９】
「外向性志向」を付与する場合には、図示するように、屋外での活動に関する単語である「外出」、「キャンプ」に対しては「Ｐ」、屋内の活動に関する単語である「パソコン」、「模型」に対しては「Ｎ」の気質属性が登録されている。このように、ロボット１００に付与される気質は、関連する特定単語に「Ｐ」が登録されているか「Ｎ」が登録されているかにより間接的に表わされる。換言すると、設定ファイルにどのような特定単語が列挙され、それぞれの特定単語にどのような気質属性が登録されているかによって、ロボット１００の気質が総体的に定義付けられている。
【００３０】
判断フィルタ２０３は、まず、応答生成モジュール２０２が生成した応答発話文の係り受け関係を解析する。例えば、応答発話文として「キャンプは虫が多くて嫌いです。」の一文を受け取った場合には、係り受けとして「キャンプ」→「多く」、「嫌い」と「虫」→「多く」、「嫌い」のそれぞれの組み合わせを解析する。そして、この一文の主題である可能性が高い「キャンプ」「嫌い」の単語を抽出する。判断フィルタ２０３は、この２つの単語を極性辞書２３０に入力すると、「キャンプ」が「ネガティブ」であるとの結果を得る。判断フィルタ２０３は、次に、設定ファイル２１１を参照して、「キャンプ」が登録されているか、登録されていれば「Ｐ」か「Ｎ」のいずれであるかを確認する。上述のように、設定ファイル２１１には、「キャンプ」が「Ｐ」として登録されているので、極性辞書２３０の出力結果と矛盾する。したがって、判断フィルタ２０３は、応答発話文の内容がロボット１００の気質に一致しないと判断する。判断フィルタ２０３は、応答発話文がロボット１００の気質に一致しないと判断した場合には、応答生成モジュール２０２に応答発話文を再度生成するよう要求する。
【００３１】
例えば、応答発話文として「私は外出が好きです。」の一文を受け取った場合には、係り受けとして「私」→「好き」、「外出」→「好き」のそれぞれの組み合わせを解析する。そして、この一文の主題である可能性が高い「外出」「好き」の単語を抽出する。判断フィルタ２０３は、この２つの単語を極性辞書２３０に入力すると、「外出」が「ポジティブ」であるとの結果を得る。判断フィルタ２０３は、次に、設定ファイル２１１を参照して、「外出」が登録されているか、登録されていれば「Ｐ」か「Ｎ」のいずれであるかを確認する。上述のように、設定ファイル２１１には、「外出」が「Ｐ」として登録されているので、極性辞書２３０の出力結果と一致する。したがって、判断フィルタ２０３は、応答発話文の内容がロボット１００の気質と一致すると判断する。判断フィルタ２０３は、応答発話文がロボット１００の気質と一致すると判断した場合には、当該応答発話文を変換フィルタ２０４へ引き渡す。なお、応答発話文から抽出された単語のいずれもが、設定ファイル２１１の属性テーブルに登録されていない場合には、当該応答発話文をそのまま変換フィルタ２０４へ引き渡す。
【００３２】
図４は、語尾変換に用いられる語尾変換ＬＵＴの一例である。語尾変換ＬＵＴは、図示するように、対象キャラクタを示すキャラクタ属性と、特定語尾の置き換えを列挙した置換テーブルの２つを含む。図示するように、キャラクタ属性が「おじいちゃん」に指定されている場合は、設定ファイル２１１に「おじいちゃん」が定義されているロボット１００の語尾変換フィルタ２０３ａに参照される。すなわち、語尾変換ＬＵＴは、設定ファイル２１１に定義され得るキャラクタ属性ごとに予め作成されて、変換ＬＵＴ２４０に格納される。
【００３３】
置換テーブルは、置換え対象となる特定語尾と、その置換え後である変換語尾との組み合わせが列挙されたテーブルである。語尾変換ＬＵＴにおける特定語尾は、応答生成モジュール２０２が生成する標準的な言回しの応答発話文の語尾に用いられる単語である。語尾変換ＬＵＴにおける変換語尾は、指定されたキャラクタ属性が語尾として用いる傾向のある単語である。キャラクタ属性が「おじいちゃん」であれば、「だけど」（特定語尾）に対して「じゃけど」（変換語尾）、「です」（特定語尾）に対して「じゃ」（変換語尾）のように組み合わされる。
【００３４】
語尾変換フィルタ２０３ａは、応答生成モジュール２０２が生成した応答発話文の特定語尾を、語尾変換ＬＵＴを参照して変換語尾に置き換える。例えば、語尾変換フィルタ２０３ａが受け取った応答発話文が「私の友達はお年寄りだけど、みんな元気です。」であれば、「だけど」「です」が特定語尾に該当するので、これを変換語尾の「じゃけど」「じゃ」に置き換え、「私の友達はお年寄りじゃけど、みんな元気じゃ。」とする。また、「もう服はたくさん持っているから、いらないかなあ。」であれば、「もう服はたくさん持っているから、いらないかのう。」とする。
【００３５】
キャラクタの性質を印象づける語調は、その一つとして語尾の単語に現れることが多いので、このように語尾の特定の単語を置き換えることにより、効率的に応答発話文の語調を修正することができる。ユーザは、修正された語調により、ロボット１００のキャラクタ性をより強く感じることができる。
【００３６】
図５は、言回し変換に用いられる言回し変換ＬＵＴの一例である。言回し変換ＬＵＴは、図示するように、対象キャラクタを示すキャラクタ属性と、特定単語の置き換えを列挙した置換テーブルの２つを含む。図示するように、キャラクタ属性が「おじいちゃん」に指定されている場合は、設定ファイル２１１に「おじいちゃん」が定義されているロボット１００の言回し変換フィルタ２０３ｂに参照される。すなわち、言回し変換ＬＵＴは、設定ファイル２１１に定義され得るキャラクタ属性ごとに予め作成されて、変換ＬＵＴ２４０に格納される。
【００３７】
置換テーブルは、置換え対象となる特定単語と、その置換え後である変換単語との組み合わせが列挙されたテーブルである。言回し変換ＬＵＴにおける特定単語は、応答生成モジュール２０２が生成する標準的な言回しの応答発話文に含まれる単語のうち、名詞、形容詞、形容動詞、副詞の少なくともいずれかの一部の単語である。言回し変換ＬＵＴにおける変換単語は、指定されたキャラクタ属性が用いる傾向にある、変換単語に対応する単語である。キャラクタ属性が「おじいちゃん」であれば、「私」（特定単語：名詞）に対して「儂」（変換単語：名詞）、「たくさん」（特定単語：副詞）に対して「たんと」（変換単語：副詞）、「かわいい」（特定単語：形容詞）に対して「かわゆい」（変換単語：形容詞）のように組み合わされる。
【００３８】
言回し変換フィルタ２０３ｂは、語尾変換フィルタ２０３ａが語尾を置き換えた応答発話文の特定単語を、言回し変換ＬＵＴを参照して変換単語に置き換える。例えば、言回し変換フィルタ２０３ｂが受け取った応答発話文が「私の友達はお年寄りじゃけど、みんな元気じゃ。」であれば、「私」が特定単語に該当するので、これを変換単語の「儂」に置き換え、「儂の友達はお年寄りじゃけど、みんな元気じゃ。」とする。また、「もう服はたくさん持っているから、いらないかのう。」であれば、「もう服はたんと持っているから、いらないかのう。」とする。
【００３９】
キャラクタの性質を印象づける語調は、その一つとして名詞、形容詞、形容動詞、副詞の独特な言い回しとして現れることがあるので、このような品詞の特定の単語を置き換えることにより、効率的に応答発話文の語調を修正することができる。ユーザは、修正された語調により、ロボット１００のキャラクタ性をより強く感じることができる。
【００４０】
次に、ユーザの発話を受けてから応答するまでの制御部２００の処理の流れについて説明する。図６は、ユーザの発話を受けてから応答するまでの処理を示すフロー図である。図のフローは、ユーザが１フレーズを発話してから、ロボット１００が１フレーズ返すまでの処理を表わしている。
【００４１】
制御部２００は、ステップＳ１０１で、マイク１０１を介してユーザ発話を取得すると、機能ブロックとしての発話解析部２０１が、ステップＳ１０２で、当該ユーザ発話を入力発話として解析し認識する。発話解析部２０１は、認識した発話内容を応答生成モジュール２０２へ引き渡す。応答生成モジュール２０２は、ステップＳ１０３で、発話データベース２２０を参照して入力発話に対する応答発話文を生成する。応答生成モジュール２０２は、生成した応答発話文を判断フィルタ２０３へ引き渡す。
【００４２】
判断フィルタ２０３は、ステップＳ１０４で、極性辞書２３０を参照して受け取った応答発話文の内容を解析する。そして、ステップＳ１０５で、設定ファイル２１１の属性テーブルを参照して、解析結果が設定されたキャラクタの気質に一致するか否かを判断する。一致していないと判断したら、応答生成モジュール２０２に再度応答発話文を生成さるべく、ステップＳ１０３へ戻る。一致していると判断したら、応答発話文を変換フィルタ２０４へ引き渡して、ステップＳ１０６へ進む。
【００４３】
語尾変換フィルタ２０３ａは、ステップＳ１０６で、変換ＬＵＴ２４０の語尾変換ＬＵＴを参照し、受け取った応答発話文の特定語尾を置き換えて、言回し変換フィルタ２０３ｂへ引き渡す。応答発話文に特定語尾が含まれない場合には、受け取った応答発話文をそのまま言回し変換フィルタ２０３ｂへ引き渡す。
【００４４】
言回し変換フィルタ２０３ｂは、ステップＳ１０７で、変換ＬＵＴ２４０の言回し変換ＬＵＴを参照し、受け取った応答発話文の特定単語を置き換えて、発話制御部２０５へ引き渡す。応答発話文に特定単語が含まれない場合には、受け取った応答発話文をそのまま発話制御部２０５へ引き渡す。なお、ステップＳ１０６とステップＳ１０７の処理の順序は逆であっても良い。
【００４５】
発話制御部２０５は、ステップＳ１０８で、受け取った出力発話を音声信号に変換して、スピーカ１０２から発声させる。以上により、一連の処理を終了する。再びユーザからの発話があれば、同様に繰り返す。
【００４６】
なお、以上説明した本実施形態においては、判断フィルタ２０３の処理を行ってから変換フィルタ２０４の処理を行った。この手順で処理することにより、特定単語の置き換え処理を行った後に応答発話文として出力されない無駄を省くことができる。ただし、応答生成モジュール２０２に変換フィルタ２０４を組み込む構成にする場合等においては、必ずしもこの順序でなくても良い。
【００４７】
次に、第１変形例について説明する。図６は、第１変形例に係るロボットとユーザのコミュニケーション例を示す図である。上述の実施形態では、ロボット１００が単独でユーザとコミュニケーションが取れるように、主要な機能要素を全て本体に備える構成であったが、第１変形例におけるロボット１００’は、演算に関する機能要素をサーバ３００に任せる構成を採用する。
【００４８】
例えばユーザがロボット１００’に「今日の天気はどうなるの？」と話しかけると、ロボット１００’のマイクがその音声を取り込む。ロボット１００’は、取り込んだ音声を音声信号に変換して、無線通信によりサーバ３００へ送信する。サーバ３００は、これらの情報を用いて、応答音声（図の例では「晴れのちくもりじゃ。」）の音声データを調整して、ロボット１００’へ送信する。ロボット１００’は、受け取った音声データに対応する音声をスピーカ１０２から発する。
【００４９】
このような第１変形例のシステム構成であっても、上述の実施形態と同様に、ユーザとのコミュニケーションを実現できる。また、演算に関する機能をサーバ３００に集約することで、ロボット１００’の構成を簡易にすることができ、ロボット１００’に高性能な制御チップを設けなくても、キャラクタ性を存分に表出したコミュニケーションを実現できる。また、サーバ３００が演算に関する機能を担うのであれば、複数のロボット１００’からの演算要請にシーケンシャルに応えることもできるので、システム全体としての製造コストを軽減することもできる。
【００５０】
次に、第２変形例について説明する。図８は、第２変形例に係るスマートフォン７００を示す図である。上述の実施形態および第１変形例においては、キャラクタを具現化したロボット１００、１００’をユーザが対話する相手としたが、第２変形例においては、スマートフォン７００に表示した映像キャラクタ８００を対話する相手とする。キャラクタをロボットとして実体化すれば、ユーザは、ペットのように感じることができ、より愛着を持てるようになるが、スマートフォン７００でより簡便にキャラクタを表現することもできる。
【００５１】
スマートフォン７００のシステム構成は、図２を用いて説明したロボット１００のシステム構成とほぼ共通する。共通する構成についてはその説明を省略して、異なる構成について以下に説明する。
【００５２】
スマートフォン７００は、表示パネル７１０、マイク７１１、スピーカ７１２を備える。表示パネル７１０は、例えば液晶パネルであり、映像キャラクタ８００を表示する。マイク７１１は、ロボット１００におけるマイク１０１と置き換わる要素であり、ユーザの発話音声を集音する。スピーカ７１２は、ロボット１００におけるスピーカ１０２と置き換わる要素であり、発話制御部２０５で変換された音声信号を受け取って、出力発話を音声出力する。
【００５３】
また、表示パネル７１０には、ユーザの発話である入力発話を文字で示す入力テキストウィンドウ７２１が表示される。発話解析部２０１は、入力発話を文字変換して入力テキストウィンドウ７２１を生成し、表示パネル７１０に表示する。さらに、表示パネルには、生成された応答発話文を文字で示す出力テキストウィンドウ７２２が表示される。発話制御部２０５は、応答発話文を文字変換して出力テキストウィンドウ７２２を生成し、表示パネル７１０に表示する。
【００５４】
このように文字情報として表示すれば、視覚的にも対話を確認することができる。また、音声出力をオフにすれば、ユーザは、静かな環境においても、周囲に迷惑をかけることなく、コミュニケーションを楽しむことができる。また、入力発話も音声としてではなく、スマートフォン７００の文字入力機能を用いて文字で与えれば、ユーザは、音声を介さずにコミュニケーションを楽しむことができる。この場合は、入力発話も出力発話も文字情報として処理される。
【００５５】
なお、このように、スピーカ７１２を音声出力部として機能させ、表示パネル７１０を文字出力部として機能させる場合には、変換フィルタ２０４は、応答発話文をスピーカ７１２により音声として出力する場合と表示パネル７１０により文字として出力する場合に関わらず、単一の変換ＬＵＴ２４０を参照して特定単語を置き換えると良い。このように構成すれば、別々のＬＵＴを参照して異なる応答発話文を生成してしまうことを防ぐことができる。
【００５６】
このようにスマートフォン７００をコミュニケーション装置として機能させれば、コミュニケーション装置としての専用ハードウェアを必要としないので、ユーザはより気軽にキャラクタとの対話を楽しむことができる。また、スマートフォン７００の他のアプリケーションに連動させて映像キャラクタ８００と対話できるように構成すれば、様々な用途に応用できる。なお、スマートフォン７００は、第１例のように、サーバが連携するシステムであっても良い。
【００５７】
また、スマートフォン７００をコミュニケーション装置として機能させるのであれば、装置の外観がキャラクタ性を認識させることがない。したがって、スマートフォン７００に様々な映像キャラクタ８００を用意しておき、ユーザがその中から対話相手を選べるように構成することができる。このように、一つのコミュニケーション装置に、選択し得る複数のキャラクタを用意する場合には、それぞれのキャラクタに応じた設定ファイル２１１を併せて用意しておけば良い。
【符号の説明】
【００５８】
１００、１００’  ロボット、１０１  マイク、１０２  スピーカ、１１０  頭部、１２０  胴体部、２００  制御部、２０１  発話解析部、２０２  応答生成モジュール、２０３  判断フィルタ、２０４  変換フィルタ、２０４ａ  語尾変換フィルタ、２０４ｂ  言回し変換フィルタ、２０５  発話制御部、２１０  メモリ、２１１  設定ファイル、２２０  発話ＤＢ、２３０  極性辞書、２４０  変換ＬＵＴ、３００  サーバ、７００  スマートフォン、７１０  表示パネル、７１１  マイク、７１２  スピーカ、７２１  入力テキストウィンドウ、７２２  出力テキストウィンドウ、８００  映像キャラクタ
【図１】
2020067584.tif 000003
【図２】
2020067584.tif 000004
【図３】
2020067584.tif 000005
【図４】
2020067584.tif 000006
【図５】
2020067584.tif 000007
【図６】
2020067584.tif 000008
【図７】
2020067584.tif 000009
【図８】
2020067584.tif 000010