(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-22
(45)【発行日】2024-10-30
(54)【発明の名称】複数のキャラクタを用いて対話するエージェントのプログラム、装置及び方法
(51)【国際特許分類】
G06F 40/56 20200101AFI20241023BHJP
【FI】
G06F40/56
(21)【出願番号】P 2021047801
(22)【出願日】2021-03-22
【審査請求日】2023-02-10
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】田原 俊一
(72)【発明者】
【氏名】服部 元
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2006-178063(JP,A)
【文献】特開2013-149190(JP,A)
【文献】特開2020-034626(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20-40/58
G06F 16/00-16/958
G06F 3/16
G10L 15/00-17/26
(57)【特許請求の範囲】
【請求項1】
ユーザの発話文を入力し、キャラクタの応答文を出力する対話制御手段を有するエージェントとしてコンピュータを機能させるプログラムであって、
各キャラクタについて、感情極性毎に個性語を登録するキャラクタ個性語登録手段と、
ユーザと対話する主キャラクタを選択し、主キャラクタを対話制御手段に設定する主キャラクタ選択手段と、
文と感情極性とを対応付けて予め学習した学習エンジンを用いて、ユーザの発話文から感情極性を抽出し、
品詞の出現順序から重要語を抽出可能なCRF(Conditional Random Fields)の学習モデルを用いて、ユーザの発話文から重要語となる個性語を抽出する発話感情推定手段と、
前記キャラクタ個性語登録手段に
おいて、前記主キャラクタについて、
前記ユーザの感情極性と一致する感情極性に
前記ユーザの個性語が含まれているか否かを判定する共感判定手段と、
共感判定手段によって偽と判定された場合、キャラクタ個性語登録手段を用いて、ユーザの感情極性と一致する感情極性にユーザの個性語が含まれている副キャラクタを選択し、副キャラクタを対話制御手段に設定する副キャラクタ選択手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
感情極性は、ポジティブ及びネガティブに分類され、
個性語はそれぞれ、ポジティブ又はネガティブのいずれかに対応付けられる
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
発話感情推定手段は、主キャラクタと対話するユーザの発話文から、ネガティブ及び個性語を抽出し、
共感判定手段は、ユーザのネガティブ及び個性語が、主キャラクタのネガティブ及び個性語に含まれているか否かを判定し、
副キャラクタ選択手段は、ユーザのネガティブ及び個性語が含まれている副キャラクタを選択する
ようにコンピュータを機能させることを特徴とする請求項2に記載のプログラム。
【請求項4】
発話感情推定手段は、主キャラクタと対話するユーザの発話文から、ポジティブ及び個性語を抽出し、
共感判定手段は、ユーザのポジティブ及び個性語が、主キャラクタのポジティブ及び個性語に含まれているか否かを判定し、
副キャラクタ選択手段は、ユーザのポジティブ及び個性語が含まれている副キャラクタを選択する
ようにコンピュータを機能させることを特徴とする請求項2又は3に記載のプログラム。
【請求項5】
各ユーザについて、ユーザの発話文から発話感情推定手段によって抽出された感情極性及び個性語を登録するユーザ個性語登録手段と
して機能させ、
副キャラクタ選択手段は、共感判定手段によって偽と判定された場合、ユーザ個性語登録手段に登録されたユーザの感情極性及び個性語と同一類似の感情極性及び個性語を含む副キャラクタを選択する
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項6】
各ユーザについて、ユーザの発話文から発話感情推定手段によって抽出された感情極性及び個性語を登録するユーザ個性語登録手段と
して機能させ、
主キャラクタ選択手段は、ユーザ個性語登録手段に登録されたユーザの感情極性及び個性語と同一類似の感情極性及び個性語を含む主キャラクタを選択する
ようにコンピュータを機能させることを特徴とする請求項1から4のいずれか1項に記載のプログラム。
【請求項7】
SNS(Social Networking Service)サーバから、ユーザのユーザアカウントから過去に投稿された投稿文群を収集する投稿文収集手段と、
ユーザの投稿文群から、特徴的な感情極性及び個性語を抽出し、ユーザ個性語登録手段へ登録する投稿感情推定手段と
してコンピュータを機能させることを特徴とする請求項6に記載のプログラム。
【請求項8】
対話制御手段は、主キャラクタ及び副キャラクタを同時に機能させ、ユーザと主キャラクタ及び副キャラクタとの間で対話を成立させる
ようにコンピュータを機能させることを特徴とする請求項1から7のいずれか1項に記載のプログラム。
【請求項9】
対話制御手段は、主キャラクタから副キャラクタを参加させる際に、副キャラクタを紹介する発話文をユーザへ出力する
ようにコンピュータを機能させることを特徴とする請求項1から7のいずれか1項に記載のプログラム。
【請求項10】
ユーザの発話文を入力し、キャラクタの応答文を出力する対話制御手段を有する対話装置であって、
各キャラクタについて、感情極性毎に個性語を登録するキャラクタ個性語登録手段と、
ユーザと対話する主キャラクタを選択し、主キャラクタを対話制御手段に設定する主キャラクタ選択手段と、
文と感情極性とを対応付けて予め学習した学習エンジンを用いて、ユーザの発話文から感情極性を抽出し、
品詞の出現順序から重要語を抽出可能なCRF(Conditional Random Fields)の学習モデルを用いて、ユーザの発話文から重要語となる個性語を抽出する発話感情推定手段と、
前記キャラクタ個性語登録手段に
おいて、前記主キャラクタについて、
前記ユーザの感情極性と一致する感情極性に
前記ユーザの個性語が含まれているか否かを判定する共感判定手段と、
共感判定手段によって偽と判定された場合、キャラクタ個性語登録手段を用いて、ユーザの感情極性と一致する感情極性にユーザの個性語が含まれている副キャラクタを選択し、副キャラクタを対話制御手段に設定する副キャラクタ選択手段と
を有することを特徴とする対話装置。
【請求項11】
ユーザの発話文を入力し、キャラクタの応答文を出力する対話制御手段を有する装置の対話方法であって、
装置は、
各キャラクタについて、感情極性毎に個性語を登録するキャラクタ個性語登録部を有し、
ユーザと対話する主キャラクタを選択し、主キャラクタを対話制御手段に設定する第1のステップと、
文と感情極性とを対応付けて予め学習した学習エンジンを用いて、ユーザの発話文から感情極性を抽出し、
品詞の出現順序から重要語を抽出可能なCRF(Conditional Random Fields)の学習モデルを用いて、ユーザの発話文から重要語となる個性語を抽出する第2のステップと、
前記キャラクタ個性語登録部に
おいて、前記主キャラクタについて、
前記ユーザの感情極性と一致する感情極性に
前記ユーザの個性語が含まれているか否かを判定する第3のステップと、
第3のステップによって偽と判定された場合、キャラクタ個性語登録部を用いて、ユーザの感情極性と一致する感情極性にユーザの個性語が含まれている副キャラクタを選択し、副キャラクタを対話制御手段に設定する第4のステップと
を実行することを特徴とする対話方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザと対話するエージェント対話システムの技術に関する。
【背景技術】
【0002】
スマートフォンやタブレット、AI(Artificial Intelligence)スピーカのような端末を用いて、ユーザと自然に対話するエージェントが広く普及している。エージェントとは、コンピュータグラフィックスや人工音声のようなキャラクタが、ユーザとの間でテキストや音声によって対話する機能をいう。対話の際、スマートフォンのディスプレイには、エージェントの姿が表示されるものもある(チャットボット型)。エージェントは、ユーザから見た対話相手として、その時点における状況や、趣味趣向、感情に応じた対話を進行させる。
エージェントは、ユーザプロファイルと同様に、キャラクタに個性(年齢、性別等)を持つ。ユーザは、自ら共感できるような個性を持つキャラクタと対話することによって、強い親近感を持つことができる。
【0003】
従来、ユーザとの間で、SNS(Social Networking Service)の投稿システムによってテキストで対話する技術もある(例えば非特許文献1参照)。この技術によれば、感情極性(ポジティブ、ネガティブ、ニュートラル)毎に異なる投稿システムが用意されており、ユーザの発話内容の感情極性と同じ感情極性を持つ投稿システムが応答する。例えば、「今日は雪が降って嫌だなあ」とユーザが発話した場合、その発話内容について感情極性「ネガティブ」と判定する。この場合、ネガティブの感情極性を持つ投稿システムが例えば「確かに雪が降ってだるいな」と応答する。このように、ユーザと同じ感情に基づく応答文を出力することによって、ユーザに共感すると共に、対話満足度を向上させることができる。
【先行技術文献】
【非特許文献】
【0004】
【文献】田原俊一ら、「ウェブニュース関連ツイートの極性に着目した共感対話システムの提案と評価」、第80回全国大会講演論文集 2018.1 (2018): 29-30、[online]、[令和3年3月14日検索]、インターネット<URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=187867&item_no=1&attribute_id=1&file_no=1>
【文献】AIと機械学習プロダクト、「感情分析」、[online]、[令和3年3月14日検索]、インターネット<URL:https://cloud.google.com/natural-language/docs/analyzing-sentiment?hl=ja>
【文献】石田真也ら、「傾聴対話システムのための発話を促す聞き手応答の生成」、SIG-SLUD, 5(01), 1-6.(2016)、[online]、[令和3年3月14日検索]、インターネット<URL:https://jsai.ixsq.nii.ac.jp/ej/index.php?action=pages_view_main&active_action=repository_action_common_download&item_id=1147&item_no=1&attribute_id=1&file_no=1&page_id=13&block_id=23>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ユーザが、特定の個性を持つキャラクタと対話している際に、そのキャラクタの個性と合わないことも生じる。ユーザは、自らに共感しない応答をキャラクタから受けた場合、その対話に違和感を持つと考えられる。
例えば、ユーザと、「ゲーム好き」キャラクタとの間で、以下のような対話がなされたとする。
(キャラクタ):ゲームって好きだったりする?
(ユーザ) :ゲームは目に悪いからあまり好きではないかな。
(キャラクタ):・・・・・
キャラクタは、ゲーム好きという個性に基づく対話シナリオで構成されているために、ユーザの発話に共感できる応答文を出力することが困難となる。ゲーム好きの個性を持つキャラクタは、ゲーム好きでないユーザに対して共感できる応答文を出力することができない。
【0006】
勿論、キャラクタは、ゲーム好きであるにも拘わらず、以下のように応答することもできる。
(キャラクタ):確かにゲームって目に悪いので僕も好きじゃないな。
しかしながら、予め設定されているキャラクタの個性と一貫性がない対話となってしまう。結局、そのキャラクタの対話シナリオでは、対話が破綻し、ユーザはキャラクタに対して違和感が生じることとなる。
【0007】
これに対し、本願の発明者らは、ユーザに対して複数のキャラクタによって応答することができないか、と考えた。即ち、ユーザの発話内容に応じて適切なキャラクタが応答することができれば、ユーザから見て対話が破綻しないのではないか、と考えた。
【0008】
そこで、本発明は、ユーザの発話内容に応じて適切な複数のキャラクタを用いて対話するエージェントのプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明によれば、ユーザの発話文を入力し、キャラクタの応答文を出力する対話制御手段を有するエージェントとしてコンピュータを機能させるプログラムであって、
各キャラクタについて、感情極性毎に個性語を登録するキャラクタ個性語登録手段と、
ユーザと対話する主キャラクタを選択し、主キャラクタを対話制御手段に設定する主キャラクタ選択手段と、
文と感情極性とを対応付けて予め学習した学習エンジンを用いて、ユーザの発話文から感情極性を抽出し、品詞の出現順序から重要語を抽出可能なCRF(Conditional Random Fields)の学習モデルを用いて、ユーザの発話文から重要語となる個性語を抽出する発話感情推定手段と、
前記キャラクタ個性語登録手段において、前記主キャラクタについて、前記ユーザの感情極性と一致する感情極性に前記ユーザの個性語が含まれているか否かを判定する共感判定手段と、
共感判定手段によって偽と判定された場合、キャラクタ個性語登録手段を用いて、ユーザの感情極性と一致する感情極性にユーザの個性語が含まれている副キャラクタを選択し、副キャラクタを対話制御手段に設定する副キャラクタ選択手段と
してコンピュータを機能させることを特徴とする。
【0010】
本発明のプログラムにおける他の実施形態によれば、
感情極性は、ポジティブ及びネガティブに分類され、
個性語はそれぞれ、ポジティブ又はネガティブのいずれかに対応付けられる
ようにコンピュータを機能させることも好ましい。
【0011】
本発明のプログラムにおける他の実施形態によれば、
発話感情推定手段は、主キャラクタと対話するユーザの発話文から、ネガティブ及び個性語を抽出し、
共感判定手段は、ユーザのネガティブ及び個性語が、主キャラクタのネガティブ及び個性語に含まれているか否かを判定し、
副キャラクタ選択手段は、ユーザのネガティブ及び個性語が含まれている副キャラクタを選択する
ようにコンピュータを機能させることも好ましい。
【0012】
本発明のプログラムにおける他の実施形態によれば、
発話感情推定手段は、主キャラクタと対話するユーザの発話文から、ポジティブ及び個性語を抽出し、
共感判定手段は、ユーザのポジティブ及び個性語が、主キャラクタのポジティブ及び個性語に含まれているか否かを判定し、
副キャラクタ選択手段は、ユーザのポジティブ及び個性語が含まれている副キャラクタを選択する
ようにコンピュータを機能させることも好ましい。
【0013】
本発明のプログラムにおける他の実施形態によれば、
各ユーザについて、ユーザの発話文から発話感情推定手段によって抽出された感情極性及び個性語を登録するユーザ個性語登録手段と
して機能させ、
副キャラクタ選択手段は、共感判定手段によって偽と判定された場合、ユーザ個性語登録手段に登録されたユーザの感情極性及び個性語と同一類似の感情極性及び個性語を含む副キャラクタを選択する
ようにコンピュータを機能させることも好ましい。
【0014】
本発明のプログラムにおける他の実施形態によれば、
各ユーザについて、ユーザの発話文から発話感情推定手段によって抽出された感情極性及び個性語を登録するユーザ個性語登録手段と
して機能させ、
主キャラクタ選択手段は、ユーザ個性語登録手段に登録されたユーザの感情極性及び個性語と同一類似の感情極性及び個性語を含む主キャラクタを選択する
ようにコンピュータを機能させることも好ましい。
【0015】
本発明のプログラムにおける他の実施形態によれば、
SNS(Social Networking Service)サーバから、ユーザのユーザアカウントから過去に投稿された投稿文群を収集する投稿文収集手段と、
ユーザの投稿文群から、特徴的な感情極性及び個性語を抽出し、ユーザ個性語登録手段へ登録する投稿感情推定手段と
してコンピュータを機能させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
対話制御手段は、主キャラクタ及び副キャラクタを同時に機能させ、ユーザと主キャラクタ及び副キャラクタとの間で対話を成立させる
ようにコンピュータを機能させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
対話制御手段は、主キャラクタから副キャラクタを参加させる際に、副キャラクタを紹介する発話文をユーザへ出力する
ようにコンピュータを機能させることも好ましい。
【0018】
本発明によれば、ユーザの発話文を入力し、キャラクタの応答文を出力する対話制御手段を有する対話装置であって、
各キャラクタについて、感情極性毎に個性語を登録するキャラクタ個性語登録手段と、
ユーザと対話する主キャラクタを選択し、主キャラクタを対話制御手段に設定する主キャラクタ選択手段と、
文と感情極性とを対応付けて予め学習した学習エンジンを用いて、ユーザの発話文から感情極性を抽出し、品詞の出現順序に基づいて重要語を抽出可能なCRF(Conditional Random Fields)の学習モデルを用いて、ユーザの発話文から重要語となる個性語を抽出する発話感情推定手段と、
前記キャラクタ個性語登録手段において、前記主キャラクタについて、前記ユーザの感情極性と一致する感情極性に前記ユーザの個性語が含まれているか否かを判定する共感判定手段と、
共感判定手段によって偽と判定された場合、キャラクタ個性語登録手段を用いて、ユーザの感情極性と一致する感情極性にユーザの個性語が含まれている副キャラクタを選択し、副キャラクタを対話制御手段に設定する副キャラクタ選択手段と
を有することを特徴とする。
【0019】
本発明によれば、ユーザの発話文を入力し、キャラクタの応答文を出力する対話制御手段を有する装置の対話方法であって、
装置は、
各キャラクタについて、感情極性毎に個性語を登録するキャラクタ個性語登録部を有し、
ユーザと対話する主キャラクタを選択し、主キャラクタを対話制御手段に設定する第1のステップと、
文と感情極性とを対応付けて予め学習した学習エンジンを用いて、ユーザの発話文から感情極性を抽出し、品詞の出現順序に基づいて重要語を抽出可能なCRF(Conditional Random Fields)の学習モデルを用いて、ユーザの発話文から重要語となる個性語を抽出する第2のステップと、
前記キャラクタ個性語登録部において、前記主キャラクタについて、前記ユーザの感情極性と一致する感情極性に前記ユーザの個性語が含まれているか否かを判定する第3のステップと、
第3のステップによって偽と判定された場合、キャラクタ個性語登録部を用いて、ユーザの感情極性と一致する感情極性にユーザの個性語が含まれている副キャラクタを選択し、副キャラクタを対話制御手段に設定する第4のステップと
を実行することを特徴とする。
【発明の効果】
【0020】
本発明のエージェントのプログラム、装置及び方法によれば、ユーザの発話内容に応じて適切な複数のキャラクタを用いて対話することができる。
【図面の簡単な説明】
【0021】
【
図1】ユーザとキャラクタとの間の対話を表す第1の説明図である。
【
図2】本発明における対話装置の機能構成図である。
【
図3】ユーザ個性語登録部及びキャラクタ個性語登録部における登録内容を表す説明図である。
【
図4】発話感情推定部、共感判定部及び副キャラクタの処理を表す説明図である。
【
図5】対話制御部の対話シナリオを表す説明図である。
【
図6】ユーザとキャラクタとの間の対話を表す第2の説明図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0023】
図1は、ユーザとキャラクタとの間の対話を表す第1の説明図である。
【0024】
図1によれば、対話装置1は、ユーザ操作に基づく端末2と通信し、ユーザにするエージェントとして機能する。
端末2には、ユーザとの対話インタフェースとなるユーザプログラムが実装されている。端末2は、例えばスマートフォンやタブレットであって、エージェントのキャラクタを表示するディスプレイを有する。端末2には、対話装置1から受信したキャラクタが表示され、そのキャラクタの応答文がユーザへ明示される。これに対し、ユーザの発話文の文字入力を受け付ける。
また、端末2は、例えば、AIスピーカ(例えばAlexa(登録商標))であって、ユーザに対するマイク及びスピーカを有するものであってもよい。端末2は、キャラクタの応答文を音声としてユーザへ発話することができる。また、音声認識によって、ユーザは自声の発話によって発話文を入力することができる。
【0025】
最初に、ユーザと対話するキャラクタは、自らの個性に合った話題をユーザに提示する。それに対するユーザの発話文に応じて、対話シナリオに応じて進行させることができる。
但し、各キャラクタの対話シナリオは、それぞれの個性に応じたものであって、ユーザの発話文に対して常に共感できる応答文を記述することはできない。
【0026】
図1(a)によれば、端末2を操作するユーザ@aと、「メイクとバド好きOL」のキャラクタBとは、以下のように対話を進行させている。
キャラクタB:「バドミントンってする?」
ユーザ@a :「うん、バドミントンよくするよ」
キャラクタB:「そうなんだ、私も大好き!」
ユーザ@a :「私は掃除も好きよ」
キャラクタB:「・・・・・・」
ここで、キャラクタBが、「掃除」に対してネガティブな個性を持つ場合に、対話シナリオの中で「掃除」についてポジティブな応答文が記述されていない。
【0027】
図1(b)によれば、端末2を操作するユーザ@bと、「掃除好きサラリーマン」のキャラクタCとは、以下のように対話を進行させている。
キャラクタC:「掃除って好き?」
ユーザ@b :「掃除ってめんどくさいな」
キャラクタC:「・・・・・・」
ここで、キャラクタCが、「掃除」に対してポジティブな個性を持つ場合に、対話シナリオの中で「掃除」についてネガティブな応答文が記述されていない。
【0028】
図2は、本発明における対話装置の機能構成図である。
【0029】
図2によれば、エージェントを実行する対話装置1は、ユーザプログラムを実行する端末2と、ネットワークを介して接続されている。
対話装置1は、端末2からユーザの発話文を入力し、キャラクタに応じた応答文を出力する。対話装置1は、ユーザとの間で、キャラクタによってできる限り自然な対話を進行させる。
【0030】
図2によれば、対話装置1は、対話制御部10と、ユーザ個性語登録部101と、キャラクタ個性語登録部102と、主キャラクタ選択部11と、発話感情推定部12と、共感判定部13と、副キャラクタ選択部14と、投稿文収集部15と、投稿感情推定部16と、対話インタフェース17を有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の対話方法としても理解できる。
【0031】
図3は、ユーザ個性語登録部及びキャラクタ個性語登録部における登録内容を表す説明図である。
【0032】
[ユーザ個性語登録部101]
ユーザ個性語登録部101は、ユーザについて、感情極性毎に個性語を登録する。
感情極性としては、例えばポジティブ及びネガティブに分類され、個性語それぞれは、ポジティブ又はネガティブのいずれかに対応付けられる。
図3によれば、ユーザ個性語登録部101には、ユーザ@aの個性に応じて、以下のように個性語が登録されている。
ユーザ@a
ポジティブ:バドミントン、モンブラン、掃除
ネガティブ:通勤、勉強、散歩
【0033】
[キャラクタ個性語登録部102]
キャラクタ個性語登録部102は、各キャラクタについて、感情極性毎に個性語を登録する。
図3によれば、キャラクタ個性語登録部102には、キャラクタの個性に応じて、以下のように個性語が登録されている。
キャラクタA(ゲーム好き20代)
ポジティブ:ゲーム、動画、散歩
ネガティブ:仕事、バドミントン、掃除
キャラクタB(メイクとバド好きOL)
ポジティブ:スイーツ、バドミントン、メイク
ネガティブ:通勤、勉強、掃除
キャラクタC(掃除好きサラリーマン)
ポジティブ:仕事、パソコン、掃除
ネガティブ:動画、ゲーム、散歩
【0034】
[主キャラクタ選択部11]
主キャラクタ選択部11は、複数のキャラクタの中から、ユーザと対話する「主キャラクタ」を選択し、その主キャラクタを対話制御部10に設定する。
少なくとも、ユーザが対話のアプリケーションを起動した際には、最初に主キャラクタが選択される。
【0035】
主キャラクタ選択部11は、ユーザ個性語登録部101に登録されたユーザの感情極性及び個性語と同一類似の感情極性及び個性語を含む「主キャラクタ」を選択する。
例えば、感情極性「ポジティブ」のみについて、ユーザの個性語と同一類似の個性語を含むキャラクタを選択するものであってもよい。勿論、感情極性「ポジティブ」「ネガティブ」の両方について、ユーザの個性語と同一類似の個性語を最も多く含むキャラクタを選択するものであってもよい。
【0036】
図3によれば、ユーザ個性語登録部101とキャラクタ個性語登録部102との個性語群同士の一致率が表されている。その中で、平均一致率が最も高いキャラクタが主キャラクタとして選択される。
ユーザ@aとキャラクタAとの比較
ポジティブ一致率:0.0%
ネガティブ一致率:33.3% (「散歩」で一致)
平均一致率 :16.7%
ユーザ@aとキャラクタBとの比較
ポジティブ一致率:33.3% (「バドミントン」で一致)
ネガティブ一致率:66.6% (「通勤」「勉強」で一致)
平均一致率 :50.0%
ユーザ@aとキャラクタCの比較
ポジティブ一致率:33.3% (「バドミントン」で一致)
ネガティブ一致率:33.3% (「散歩」で一致)
平均一致率 :33.3%
この場合、ユーザ@aに対して、平均一致率が最も高いキャラクタBが選択される。
【0037】
また、他の実施形態として、個性語同士の一致率ではなく、個性語群同士の類似度によって比較することもできる。例えば各個性語をWord2vec(登録商標)によってベクトル化し、そのベクトルが所定範囲内で類似するか否かによって判定する。「Word2vec」とは、単語の意味や文法を捉えるために単語をベクトル表現化して次元を圧縮する技術をいう。勿論、Word2vecに限ることなく、各単語の品詞又は意味を解析した特徴ベクトルに変換することができればよい。
【0038】
図3によれば、例えば、ユーザ@aのポジティブの個性語「モンブラン」と、キャラクタBのポジティブの個性語「スイーツ」とは、所定範囲内のベクトル同士として類似し、一致するものとして判定することもできる。
【0039】
[発話感情推定部12]
発話感情推定部12は、対話制御部10から入力されたユーザの発話文から、感情極性及び個性語を抽出する。そして、発話感情推定部12は、感情極性及び個性語を、共感判定部13へ出力する。
【0040】
発話感情推定部12は、学習エンジンを用いて感情極性及個性語を推定する。「感情極性」は、例えば「ポジティブ」「ネガティブ」「ニュートラル」に分類されるものであってもよいし、4つ以上に分類されるものであってもよい。
感情極性は、具体的には、Support Vector Machine等の判定器や、Google(登録商標)が提供しているCloud Natural Language APIを用いることができる(例えば非特許文献2参照)。
個性語は、具体的には、CRF(Conditional Random Fields)を用いることができる(例えば非特許文献3参照)。この技術によれば、品詞や品詞の出現順序といった複数の特徴量を学習したモデルを用いて、ユーザの発話文から重要語となる個性語を抽出することができる。
【0041】
図4は、発話感情推定部、共感判定部及び副キャラクタの処理を表す説明図である。
【0042】
前述した
図1(a)のように、ユーザ@aの発話文「私は掃除も好きよ」に対して、感情極性「ポジティブ」及び個性語「掃除」が推定される。
また、
図1(b)のように、ユーザ@bの発話文「掃除ってめんどくさいな」に対して、感情極性「ネガティブ」及び個性語「掃除」が推定される。
【0043】
他の実施形態として、発話感情推定部12は、推定した感情極性及び個性語を、ユーザ個性語登録部101へ登録することも好ましい。ユーザ個性語登録部101には、感情極性及び個性語が累積的に登録されていく。例えば、ユーザ個性語登録部101には、ユーザ@aについて感情極性「ポジティブ」及び個性語「掃除」が登録され、また、ユーザ@bについて感情極性「ネガティブ」及び個性語「掃除」が登録される。
これによって、所定期間経過後、又は、アプリケーション再起動後に、主キャラクタ選択部11によって選択される主キャラクタも更新されることとなる。
【0044】
[共感判定部13]
共感判定部13は、発話感情推定部12から出力されたユーザの感情極性及び個性語が、主キャラクタの感情極性及び個性語に含まれているか否かを判定する。「偽」と判定された場合、副キャラクタ選択部14へ、その旨を出力する。
【0045】
共感判定部13は、感情極性「ポジティブ」「ネガティブ」に応じて判定する。具体的には、発話感情推定部12によってユーザのネガティブが推定された場合、主キャラクタのネガティブにその個性語が含まれているか否かを判定する。逆に、発話感情推定部12によってユーザのポジティブが推定された場合、主キャラクタのポジティブにその個性語が含まれているか否かを判定する。
【0046】
例えば
図1(a)、
図3及び
図4によれば、ユーザ@aの発話文から感情極性「ポジティブ」及び個性語「掃除」が推定された場合、主キャラクタBの「ポジティブ」にその個性語「掃除」が含まれているか否かを判定する。
また、例えば
図1(b)によれば、ユーザ@bの発話文から感情極性「ネガティブ」及び個性語「掃除」が推定された場合、主キャラクタCの「ネガティブ」にその個性語「掃除」が含まれているか否かを判定する。
勿論、個性語同士を比較する際に、個性語のベクトル同士が所定範囲内の距離にある場合、類似するものとして含まれていると判定するものであってもよい。
【0047】
[副キャラクタ選択部14]
副キャラクタ選択部14は、共感判定部13によって「偽」と判定された場合、ユーザの感情極性(ポジティブ又はネガティブ)にその個性語が含まれている副キャラクタを選択する。
【0048】
例えば前述した
図1(a)によれば、ユーザ@aの発話文から推定された感情極性「ポジティブ」及び個性語「掃除」を含む副キャラクタCが選択される。
例えば前述した
図1(b)によれば、ユーザ@bの発話文から推定された感情極性「ネガティブ」及び個性語「掃除」を含む副キャラクタAが選択される。
【0049】
他の実施形態として、副キャラクタ選択部14は、ユーザ個性語登録部101に登録されたユーザの感情極性及び個性語と同一類似の感情極性及び個性語を含む副キャラクタを選択するものであってもよい。即ち、単に個性語を含む副キャラクタを選択することなく、その感情極性に含まれる全ての個性語をベクトル化し、ベクトル同士の距離によって比較するものであってもよい。
【0050】
例えば前述した
図1(a)によれば、キャラクタ毎に、感情極性「ポジティブ」に含まれる個性語群のベクトル積と、ユーザ@aの個性語「掃除」のベクトルとを比較し、コサイン類似度が最も高くなるキャラクCが選択される。
例えば前述した
図1(b)によれば、キャラクタ毎に、感情極性「ネガティブ」に含まれる個性語群のベクトル積と、ユーザ@bの個性語「掃除」のベクトルとを比較し、コサイン類似度が最も高くなるキャラクタAが選択される。
S(a,b)=cosθ=(Va・Vb)/(|Va||Vb|)
S(a,b):コサイン類似度
Va:ユーザの発話文の個性語のベクトル
Vb:キャラクタの個性語のベクトル
コサイン類似度S(a,b)は、0~1の値となり、類似性が高いほど1に近づく。
【0051】
[対話制御部10]
対話制御部10は、ユーザの発話文を入力し、キャラクタの応答文を出力する。
対話制御部10には、「主キャラクタ」に加えて、「副キャラクタ」も設定できる。即ち、対話制御部10は、「主キャラクタ」及び「副キャラクタ」を同時に機能させ、ユーザと主キャラクタ及び副キャラクタとの間で対話を成立させることができる。主キャラクタは、常に対話中に存在するものであって、副キャラクタは、主キャラクタがユーザに共感させる応答文を出力できない場合に、代わってユーザと対話する。
【0052】
図5は、対話制御部の対話シナリオを表す説明図である。
【0053】
図5によれば、対話制御部10からユーザへ出力される応答文毎に、個性語(タグ)が付与されている。
(応答文) (個性語)
ゲームって好き? -> ゲーム
バドミントンって好き? -> バドミントン
掃除って好き? -> 掃除
各個性語を含む応答文に対して、ユーザがどのような感情極性の発話文を発話するかが重要となる。そのために、ユーザの発話文における感情極性に応じて、対話制御部10から出力する応答文を、対話シナリオとして登録しておく。
【0054】
例えば
図5(a)によれば、主キャラクタBの場合、ユーザ@aの発話文から感情極性「ポジティブ」及び個性語「バドミントン」が推定された場合、主キャラクタBの「ポジティブ」にその個性語「バドミントン」が含まれている。そのために、「そうなんだ、私も大好き!」を応答することとなる。
【0055】
例えば
図5(b)によれば、主キャラクタBの場合、ユーザ@aの発話文から感情極性「ポジティブ」及び個性語「掃除」が推定された場合、主キャラクタBの「ポジティブ」にその個性語「掃除」が含まれておらず、本来であれば「そうなんですね」を応答してしまう。このとき、副キャラクタCが選択されていれば、「掃除すると気持ちいいよね」を応答することができる。
【0056】
例えば
図5(c)によれば、主キャラクタCの場合、ユーザ@bの発話文から感情極性「ネガティブ」及び個性語「掃除」が推定された場合、主キャラクタBの「ネガティブ」にその個性語「掃除」が含まれておらず、本来であれば「そうか」を応答してしまう。このとき、副キャラクタAが選択されていれば、「同じ!苦手なんだ」を応答することができる。
【0057】
尚、一度出力された応答文は、それに対するユーザの発話文を忘却しない限り、二度と出力しないようにする。そのために、ユーザに対して、主キャラクタ及び副キャラクタの応答文を殆ど出力してしまった場合、そのユーザの感情極性及び個性語に応じて、他のキャラクタを呼び出すことも好ましい。これによって、対話内容が広がることを期待できる。
【0058】
[投稿文収集部15]
投稿文収集部15は、SNSサーバ3から、ユーザのユーザアカウントから過去に投稿された投稿文群を収集する。
SNSサーバは、不特定多数のユーザから投稿された投稿文を公開するものあって、対話装置1は、インターネットを介してSNSサーバ3にアクセスすることができる。例えば、以下のような投稿文を収集したとする。
ユーザ@a
「明日バドミントンしに行くんだけど楽しみ」
「掃除するの苦手だな」
「散歩する暇があったら、他のことするよね」
【0059】
[投稿感情推定部16]
投稿感情推定部16は、ユーザの投稿文群から、特徴的な感情極性及び個性語を抽出し、ユーザ個性語登録部101へ登録する。
これによって、ユーザの個性語を、ユーザ自らが設定することなく、ユーザの日常の投稿文から自動的に登録される。また、ユーザの日常的な感情極性及び個性語から、ユーザの物事に対して同じ感情を抱いている主キャラクタが選択される。
ユーザ@a
「明日バドミントンしに行くんだけど楽しみ」
->感情極性「ポジティブ」、個性語「バドミントン」
「掃除するの苦手だな」->感情極性「ネガティブ」、個性語「掃除」
「散歩する暇があったら、他のことするよね」
->感情極性「ネガティブ」、個性語「散歩」
投稿感情推定部16は、前述した発話感情推定部12と同様のアルゴリズムによって、感情極性及び個性語を推定するものであってもよい。
【0060】
他の実施形態として、投稿感情推定部16は、投稿コメント投稿文の中で、重要な個性語を抽出するために、Bag of Wordsによってベクトル化するものであってもよい。具体的には、ユーザの投稿文を形態素解析によって複数の単語に分解した上で、Bag of Wordsを用いて特徴ベクトルに変換する。「Bag-of-Words」とは、文に含まれる各単語の出現頻度のみを表現したベクトルをいう。ここでは、単語の出現順は無視される。
【0061】
[対話インタフェース17]
対話インタフェース17は、ユーザとキャラクタとの間で対話フォームを介して対話させる。キャラクタ毎に、そのキャラクタの姿を描写した画像(キャラクタアイコン)も表示することが好ましい。
対話インタフェース17は、ユーザに対して、キャラクタの吹き出しとしてキャラクタの応答文を表示する。ユーザが発話文をテキストで入力する場合、ユーザに対して入力フォームを表示して入力させる。
また、対話インタフェース17は、キャラクタの応答文を、音声変換処理によって変換した音声として出力するものであってもよい。また、ユーザが応答文を音声で入力する場合、端末2のディスプレイにマイク入力ボタンを表示する。ユーザから発話された音声を音声認識処理によって変換したテキストを、ユーザの発話文として取得する。
【0062】
尚、対話インタフェース17は、例えばスマートフォンやタブレットのような端末2に予めインストールされたアプリケーションと通信する。端末2に表示される対話フォームは、アプリケーションを実行することによって機能する。
【0063】
図6は、ユーザとキャラクタとの間の対話を表す第2の説明図である。
【0064】
図6(a)によれば、
図1(a)に対応するものであって、端末2を操作するユーザ@aと、「メイクとバド好きOL」のキャラクタBとは、以下のように対話を進行させている。
キャラクタB:「バドミントンってする?」
ユーザ@a :「うん、バドミントンよくするよ」
キャラクタB:「そうなんだ、私も大好き!」
ユーザ@a :「私は掃除も好きよ」
キャラクタB:「貴方に合う人、紹介するよ」
キャラクタC:「掃除すると気持ちいいよね」
ユーザ@a :「そうよね」
このように、ユーザの感情極性とキャラクタBの感情極性とが異なる個性語について、キャラクタCが応答することによって、ユーザに対して共感する応答文で対話することができる。
【0065】
図6(b)によれば、
図1(b)に対応するものであって、端末2を操作するユーザ@bと、「掃除好きサラリーマン」のキャラクタCとは、以下のように対話を進行させている。
キャラクタC:「掃除って好き?」
ユーザ@b :「掃除ってめんどくさいな」
キャラクタC:「友達、紹介するよ」
キャラクタA:「同じ!苦手なんだ」
ユーザ@b :「そうそう」
このように、ユーザの感情極性とキャラクタBの感情極性とが異なる個性語について、キャラクタAが応答することによって、ユーザに対して共感する応答文で対話することができる。
【0066】
図6のように、対話制御部10は、主キャラクタから副キャラクタを参加させる際に、副キャラクタを紹介する発話文をユーザへ出力することが好ましい。ユーザから見て急にキャラクタが切り替わることは、違和感となる。例えば「貴方に合う人、紹介するよ」と応答することによって、副キャラクタの唐突な出現を感じさせないようにする。
【0067】
また、ユーザと主キャラクタとの間に、副キャラクタが参加した場合であっても、主キャラクタが主導で、ユーザとの間で対話を進行させる。主キャラクタがユーザに共感できる応答文を出力できない場合にのみ、副キャラクタが応答文を出力する。
【0068】
更に、ユーザの感情極性に対して、主キャラクタ及び副キャラクタでできる限り近い個性語に基づく応答文(話題)を出力するものであってもよい。ユーザと主キャラクタ及び副キャラクタとの全員が、感情極性として同じ話題であるほど、ユーザも共感し、対話の満足度も向上すると考えられる。
【0069】
更に、ユーザの感情極性及び個性語に対して、主キャラクタ及び副キャラクタの両方とも適切な応答文を出力できない場合、現行の副キャラクタを除外し、再度、副キャラクタ選択部14によって別途の副キャラクタを選択するものであってもよい。但し、ユーザの発話内容が、単にキャラクタの個性に合わないとしてキャラクタの切り替わりが頻繁になると、もはやユーザから見て対話の一貫性がなく違和感しか生じない。そのために、副キャラクタが選択された後、対話のやりとりが一定回数以上行われるまで、副キャラクタの再選択を実行しない。
尚、主キャラクタは、副キャラクタが切り替わる場合、例えば「なるほどね。そうそう。○○(現行の副キャラクタ)さんは急用で帰るみたい。その代わり、あなたの同じことを思ってる別の方を呼びますね。」などと、仲介的な応答文を出力することが好ましい。
【0070】
以上、詳細に説明したように、本発明のエージェントのプログラム、装置及び方法によれば、ユーザの発話内容に応じて適切に複数のキャラクタを用いて対話することができる。
【0071】
本発明によれば、ユーザの感情極性及び個性語に対して、主キャラクタが共感できる応答文を出力できない場合に、その感情極性に共感できる副キャラクタを対話に参加させることができる。このように、ユーザの発話文の感情と同じ感情を持つキャラクタを参加させることによって、ユーザが共感する対話を実現することができる。
【0072】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0073】
1 対話装置
10 対話制御部
101 ユーザ個性語登録部
102 キャラクタ個性語登録部
11 主キャラクタ選択部
12 発話感情推定部
13 共感判定部
14 副キャラクタ選択部
15 投稿文収集部
16 投稿感情推定部
17 対話インタフェース
2 端末
3 SNSサーバ