(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024112283
(43)【公開日】2024-08-20
(54)【発明の名称】対話システム、対話制御方法、及びプログラム
(51)【国際特許分類】
G06F 3/01 20060101AFI20240813BHJP
G06F 3/048 20130101ALI20240813BHJP
G06F 3/16 20060101ALI20240813BHJP
G06Q 50/00 20240101ALI20240813BHJP
【FI】
G06F3/01 510
G06F3/048
G06F3/16 650
G06F3/16 690
G06F3/16 620
G06Q50/00 300
【審査請求】未請求
【請求項の数】18
【出願形態】OL
(21)【出願番号】P 2023221852
(22)【出願日】2023-12-27
(31)【優先権主張番号】P 2023017067
(32)【優先日】2023-02-07
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】能勢 将樹
(72)【発明者】
【氏名】後藤 悠斗
(72)【発明者】
【氏名】麻田 千尋
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA46
5E555AA48
5E555BA01
5E555BA04
5E555BB01
5E555BB04
5E555BC04
5E555BD01
5E555CA17
5E555CA18
5E555CA42
5E555CA47
5E555CB65
5E555CB66
5E555CB67
5E555CC01
5E555DA03
5E555DA23
5E555DB32
5E555DC09
5E555DC84
5E555DD02
5E555DD07
5E555EA05
5E555EA07
5E555EA08
5E555EA09
5E555EA19
5E555EA22
5E555EA23
5E555FA00
(57)【要約】
【課題】対話エージェントを用いてユーザと対話を行う対話システムにおいて、ユーザの言語情報とユーザの非言語情報とに基づいて、対話エージェントの応答内容を生成することができるようにする。
【解決手段】対話システムは、対話エージェントを用いてユーザと対話を行う対話システムであって、前記対話から前記ユーザの言語情報を取得する第1の取得部と、前記対話から前記ユーザの非言語情報を取得する第2の取得部と、前記ユーザの言語情報と前記ユーザの非言語情報とに基づいて、前記対話エージェントの言語応答と非言語応答とを含む応答内容を生成する生成部と、前記生成部で生成した応答内容に基づいて前記対話エージェントを制御する制御部と、を備える。
【選択図】
図7
【特許請求の範囲】
【請求項1】
対話エージェントを用いてユーザと対話を行う対話システムであって、
前記対話から前記ユーザの言語情報を取得する第1の取得部と、
前記対話から前記ユーザの非言語情報を取得する第2の取得部と、
前記ユーザの言語情報と前記ユーザの非言語情報とに基づいて、前記対話エージェントの言語応答と非言語応答とを含む応答内容を生成する生成部と、
前記生成部で生成した応答内容に基づいて前記対話エージェントを制御する制御部と、
を備える、対話システム。
【請求項2】
前記対話エージェントの応答内容は、前記対話エージェントの非言語応答を含み、
前記生成部は、前記ユーザの非言語情報に応じて、前記対話エージェントの非言語応答を生成する、
請求項1に記載の対話システム。
【請求項3】
前記生成部は、前記ユーザの非言語情報に応じて、前記対話エージェントのアクションの内容を変更する、請求項2に記載の対話システム。
【請求項4】
前記生成部は、前記ユーザの非言語情報に応じて、前記対話エージェントのアクションのタイミングを変更する、請求項2に記載の対話システム。
【請求項5】
前記ユーザの非言語情報は、前記ユーザの画像から取得した表情、視線、姿勢、又は感情の情報を含む、請求項1乃至4のいずれか一項に記載の対話システム。
【請求項6】
前記ユーザの非言語情報は、前記ユーザの音声から取得した声の大小、声の抑揚、又は声の音色の情報を含む、請求項5に記載の対話システム。
【請求項7】
前記生成部は、前記対話のシナリオに応じて、前記対話エージェントの応答内容を変更する、請求項1に記載の対話システム。
【請求項8】
前記生成部は、予め設定された複数の対話段階に応じて、前記対話エージェントの応答内容を変更する、請求項1に記載の対話システム。
【請求項9】
前記生成部は、前記ユーザの視線情報に基づいて前記対話段階を変更する、請求項8に記載の対話システム。
【請求項10】
前記ユーザの言語情報と非言語情報とのうち、少なくとも1つに基づいて、対話内容に関する画像を生成する画像生成部を有し、
前記対話エージェントと前記画像とを用いて、前記ユーザと対話を行う、
請求項1に記載の対話システム。
【請求項11】
前記対話の対話ログに基づいて、前記対話を要約する要約部を有する、請求項1に記載の対話システム。
【請求項12】
前記対話は、前記ユーザとの商談であり、
前記商談の対話内容に基づいて、前記ユーザに提案する商材を提案する、
請求項1に記載の対話システム。
【請求項13】
前記商談の対話内容に基づいて、前記商材のキャッチコピーを提示する。
請求項12に記載の対話システム。
【請求項14】
前記対話の過去の履歴を記憶したデータベースを有し、
前記生成部は、前記対話の過去の履歴に基づいて、前記対話のシナリオを変更する、請求項7に記載の対話システム。
【請求項15】
前記対話の過去の履歴を記憶したデータベースを有し、
前記生成部は、前記対話の過去の履歴を参照して、前記対話エージェントの言語応答を生成する、
請求項1に記載の対話システム。
【請求項16】
前記第2の取得部は、前記対話から前記ユーザの属性を示す非言語情報を取得し、
前記生成部は、前記ユーザの属性に応じた前記言語応答、又は前記非言語応答を生成する、請求項1に記載の対話システム。
【請求項17】
対話エージェントを用いてユーザと対話を行う対話システムにおいて、
コンピュータが、
前記対話から前記ユーザの言語情報を取得する処理と、
前記対話から前記ユーザの非言語情報を取得する処理と、
前記ユーザの言語情報と前記ユーザの非言語情報とに基づいて、前記対話エージェントの言語応答と非言語応答とを含む応答内容を生成する生成処理と、
前記生成処理で生成した応答内容に基づいて前記対話エージェントを制御する処理と、
を実行する、対話制御方法。
【請求項18】
対話エージェントを用いてユーザと対話を行う対話システムにおいて、
コンピュータに、
前記対話から前記ユーザの言語情報を取得する処理と、
前記対話から前記ユーザの非言語情報を取得する処理と、
前記ユーザの言語情報と前記ユーザの非言語情報とに基づいて、前記対話エージェントの言語応答と非言語応答とを含む応答内容を生成する生成処理と、
前記生成処理で生成した応答内容に基づいて前記対話エージェントを制御する処理と、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対話システム、対話制御方法、及びプログラムに関する。
【背景技術】
【0002】
ユーザからのメッセージに対して、対話エージェントが自動で応答を行う対話システムがある。また、ユーザとの対話を学習し、対話エージェントの格好、又は性格等の属性を変更するエージェントシステムが知られている(例えば、特許文献1参照)。
【発明の概要】
【発明が解決しようとする課題】
【0003】
従来の技術では、対話エージェントによる対話は、ユーザの言語情報とユーザの非言語情報とに基づいて、対話エージェントの応答内容を生成することができないという問題がある。
【0004】
本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、対話エージェントを用いてユーザと対話を行う対話システムにおいて、ユーザの言語情報とユーザの非言語情報とに基づいて、対話エージェントの応答内容を生成することができるようにする。
【課題を解決するための手段】
【0005】
上記の課題を解決するため、一実施形態に係る対話システムは、対話エージェントを用いてユーザと対話を行う対話システムであって、前記対話から前記ユーザの言語情報を取得する第1の取得部と、前記対話から前記ユーザの非言語情報を取得する第2の取得部と、前記ユーザの言語情報と前記ユーザの非言語情報とに基づいて、前記対話エージェントの言語応答と非言語応答とを含む応答内容を生成する生成部と、前記生成部で生成した応答内容に基づいて前記対話エージェントを制御する制御部と、を備える。
【発明の効果】
【0006】
本発明の一実施形態によれば、対話エージェントを用いてユーザと対話を行う対話システムにおいて、ユーザの言語情報とユーザの非言語情報とに基づいて、対話エージェントの応答内容を生成することができるようになる。
【図面の簡単な説明】
【0007】
【
図1】一実施形態に係る対話システムのシステム構成の例を示す図である。
【
図2】一実施形態に係る対話エージェントの一例を示す図である。
【
図3】一実施形態に係る対話エージェントの別の一例を示す図である。
【
図4】一実施形態に係る対話処理の概要について説明するための図である。
【
図5】一実施形態に係るコンピュータのハードウェア構成の例を示す図である。
【
図6】一実施形態に係る端末装置のハードウェア構成の例を示す図である。
【
図7】一実施形態に係る対話システムの機能構成の例を示す図である。
【
図8】一実施形態に係る対話処理の概要を示すフローチャートである。
【
図9】第1の実施形態に係る生成部の機能構成の例を示す図である。
【
図10A】第1の実施形態に係る対話処理の例を示すフローチャート(1)である。
【
図10B】第1の実施形態に係る対話処理の例を示すフローチャート(2)である。
【
図11】第1の実施形態に係る非言語情報の利用例について説明するための図である。
【
図12】第2の実施形態に係る対話シナリオの遷移の一例を示す図(1)である。
【
図13】第2の実施形態に係る対話シナリオの遷移の一例を示す図(2)である。
【
図14】第3の実施形態に係る対話画面の一例を示す図である。
【
図15】第3の実施形態に係る対話システムの機能構成の例を示す図である。
【
図16】第3の実施形態に係る対話処理の例を示すフローチャートである。
【
図17】第4の実施形態に係る対話システムの機能構成の例を示す図である。
【
図18】第4の実施形態に係る対話ログの例を示す図である。
【
図19】第5の実施形態に係る対話システムの機能構成の例を示す図である。
【
図20】第5の実施形態に係るキャッチコピーの提示処理の例を示すフローチャートである。
【
図21】第6の実施形態に係る対話システムの機能構成の例を示す図である。
【
図22】第6の実施形態に係る入出力情報の例を示す図である。
【
図23】第6の実施形態に係る対話処理の例を示すフローチャートである。
【
図24】一実施形態に係る利用シーン1のシステム構成の例を示す図である。
【
図25】一実施形態に係る利用シーン2の対話開始処理の例を示すフローチャートである。
【
図26】一実施形態に係る利用シーン2のシステム構成の例を示す図である。
【
図27】一実施形態に係る利用シーン2の対話開始処理の例を示すフローチャートである。
【
図28】一実施形態に係る利用シーン3のシステム構成の例を示す図である。
【
図29】一実施形態に係る利用シーン2の対話開始処理の例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<システム構成>
図1は、一実施形態に係る対話システムのシステム構成の例を示す図である。
図1の例では、対話システム1は、例えば、インターネット、及びLAN(Local Area Network)等の通信ネットワークNに接続されたサーバ装置100と、端末装置10とを含む。
【0009】
サーバ装置100は、例えば、コンピュータの構成を備えた情報処理装置、又は複数のコンピュータによって構成されるシステムである。サーバ装置100は、サーバ装置100が備えるコンピュータが所定のプログラムを実行することにより、端末装置10を利用するユーザ11からのメッセージに対して、対話エージェントが自動で応答を行う対話サービスを提供する。
【0010】
端末装置10は、例えば、PC(Personal Computer)、タブレット端末、又はスマートフォン等のユーザ11が利用する情報端末である。端末装置10は、通信ネットワークNを介して、サーバ装置100と通信可能である。ユーザ11は、端末装置10を用いて、サーバ装置100が提供する対話サービスを利用することができる。
【0011】
好ましくは、対話システム1は、ユーザからのメッセージに対して、対話エージェントが自動で応答を行う対話により、例えば、商談、又は介護等の所定のタスクの遂行を支援する。
【0012】
なお、
図1に示した対話システム1のシステム構成は一例である。また、端末装置10は、汎用の情報端末に限られず、例えば、専用の端末装置、又は各種の電子機器等であってもよい。また、対話システム1は、例えば、コンピュータの構成を有する1台の情報処理装置によって実現されるものであってもよい。ここでは、対話システム1は、
図1に示すようなシステム構成を有しているものとして、以下の説明を行う。
【0013】
(対話エージェントのイメージ)
対話エージェントは、ユーザ、又は顧客等からの問いかけに対して登録された情報や知識を含むナレッジ、又はAI(Artificial Intelligence)等を用いて自動応答するシステムである。
【0014】
対話エージェントの利用ケースとして、例えば、Web会議、Webサイト、スマートフォンアプリ、又はメタバース空間での無人AIアバター等として利用されてもよい。
【0015】
図2は、一実施形態に係る対話エージェントのイメージの一例を示している。この図は、サーバ装置100が端末装置10に表示させる商談用の対話画面200の一例を示している。
図2の例では、対話画面200には、3D(three-dimensional)モデリングにより生成されたバーチャルヒューマン201が表示されている。なお、バーチャルヒューマン201は、対話エージェントの一例である。サーバ装置100は、例えば、この対話画面200において、ユーザ11と対話を行いながら、商談を進めるように、バーチャルヒューマン201を制御する。
【0016】
好適な一例として、商談用の対話画面200には、大型のディスプレイ202が表示されている。サーバ装置100は、このディスプレイ202に、例えば、ユーザ提案する商材を表示するとともに、バーチャルヒューマン201に商材を説明させるように制御することもできる。
【0017】
図3は、一実施形態に係る対話エージェントのイメージの別の一例を示している。この図は、サーバ装置100が端末装置10に表示させる介護用途の対話画面300の一例を示している。
図3の例では、対話画面300には、
図2と同様に、3Dモデリングにより生成された別のバーチャルヒューマン301が表示されている。なお、バーチャルヒューマン301は、対話エージェントの別の一例である。サーバ装置100は、この対話画面300において、例えば、一人暮らしの高齢者等を対象に、認知症を予防するためのコミュニケーションを行うように、バーチャルヒューマン301を制御する。
【0018】
好適な一例として、ユーザ11とバーチャルヒューマン301との対話は、
図3に示すように、音声に加えて(又は代えて)、文字列による対話302も可能である。
【0019】
このように、対話システム1は、対話シナリオを変更することにより、例えば、商談、介護、授業、又はカウンセリング等の様々な用途に合わせて、対話内容を変更することができる。
【0020】
(対話処理の概要)
図4は、一実施形態に係る対話処理の概要について説明するための図である。この図は、横軸を時間とし、ユーザ11と対話エージェントとの対話における、ユーザ11の言語情報、及び非言語情報と、対話エージェントの言語応答、及び非言語応答と関係の一例を示している。
【0021】
図4において、ユーザ11が開始操作を行うと、時間t1において、サーバ装置100は、対話エージェントに、言語応答として、挨拶、又はアイスブレイク等の発話401を行わせるとともに、非言語応答として、お辞儀、又は笑顔等のアイスブレイク402を実行させる。
【0022】
これに応じて、時間t2において、ユーザが発話を行うと、サーバ装置100は、ユーザ11の言語情報と、ユーザ11の非言語情報とを取得する。このとき、サーバ装置100は、対話エージェントに、例えば、頷き403等の非言語応答を行わせてもよい。
【0023】
ここで、ユーザ11の言語情報には、例えば、音声認識技術によってテキスト化した、ユーザ11の発話411の内容を示す情報が含まれる。また、ユーザ11の非言語情報には、例えば、画像認識技術等によって取得したユーザ11の表情、視線、姿勢、又は感情等の言語情報以外の情報が含まれる。また、ユーザ11の非言語情報には、例えば、ユーザ11の映像に含まれる音声から取得した、声のトーン、話す速さ、声の高さ、声の強さ、咳払い、ため息、笑い、又は沈黙等の言語以外の音声情報(パラ言語)が含まれていてもよい。このように、画像や音声等の非言語情報をマルチモーダルに活用する。
【0024】
言語情報とは、言葉を介して発話の内容が伝達される情報である。例えば、単語、文法、文の構造、文脈などのような、明確に定義された言語のルールと辞書に基づく意味の伝達がされる情報である。例えば、言語情報には、音声認識技術によってテキスト化した、ユーザ11の発話411の内容を示す情報が含まれる。
【0025】
また、非言語情報とは、言葉以外の手段を通じて伝達される情報である。例えば、画像認識技術等によって取得したユーザ11の表情、視線、姿勢、又は感情等の言語情報以外の情報が含まれる。また、ユーザ11の非言語情報には、例えば、ユーザ11の映像に含まれる音声から取得した、声のトーン、話す速さ、声の高さ、声の強さ、咳払い、ため息、笑い、又は沈黙等の言語以外の音声情報(パラ言語)等が含まれる。このように、本実施形態では、画像や音声等の非言語情報をマルチモーダルに活用する。
【0026】
また、サーバ装置100は、ユーザ11の言語情報をベースに、ユーザ11の非言語情報を加味して、ユーザ11の発話の意図を解釈する。これにより、サーバ装置100は、言語情報のみで意図を解釈するより、意図解釈の精度を向上させることができる。
【0027】
さらにサーバ装置100は、ユーザ11の発話の意図に対応する、対話エージェントの応答内容を生成する。この応答内容には、対話エージェントが発話する発話内容を表す言語応答と、例えば、対話エージェントの表情、又はジェスチャー等を表す非言語応答とが含まれる。好ましくは、サーバ装置100は、取得したユーザ11の非言語情報に応じて、対話エージェントの非言語応答を変える。
【0028】
時間t3になると、サーバ装置100は、生成された応答内容に従って、対話エージェントを制御する。例えば、サーバ装置100は、生成された言語応答を音声合成処理で音声化して、対話エージェントに発話404させる。好ましくは、サーバ装置100は、対話エージェントの発話404に合わせて、対話エージェントの口を動かす(リップシンク)。さらに、サーバ装置100は、生成された非言語応答に従って、対話エージェントに、例えば、表情、又はジェスチャー等の非言語応答を実行させる。
【0029】
このように、本実施形態に係る対話システム1は、ユーザ11の非言語情報に応じて、対話エージェント(バーチャルヒューマン201、301)の応答内容(言語応答、及び非言語応答)を変える。従って、本実施形態によれば、対話エージェントを用いてユーザと対話を行う対話システム1において、ユーザ11に対してより適切なリアクションを行えるようになる。
<ハードウェア構成>
(コンピュータのハードウェア構成)
サーバ装置100は、例えば、
図5に示すようなコンピュータ500のハードウェア構成を有している。或いは、サーバ装置100は、複数のコンピュータ500によって構成される。また、端末装置10は、例えば、
図5に示すようなコンピュータ500のハードウェア構成を有していてもよい。
【0030】
図5は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。コンピュータ500は、例えば、
図5に示されるように、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503、HD(Hard Disk)504、HDD(Hard Disk Drive)コントローラ505、ディスプレイ506、外部機器接続I/F(Interface)507、ネットワークI/F508、キーボード509、ポインティングデバイス510、DVD-RW(Digital Versatile Disk Rewritable)ドライブ512、メディアI/F514、及びバスライン515等を備えている。
【0031】
また、コンピュータ500が端末装置10である場合、コンピュータ500は、マイク521、スピーカ522,音入出力I/F523、CMOS(Complementary Metal Oxide Semiconductor)センサ524、及び撮像素子I/F525等を、さらに備える。
【0032】
これらのうち、CPU501は、コンピュータ500全体の動作を制御する。ROM502は、例えば、IPL(Initial Program Loader)等のコンピュータ500の起動に用いられるプログラムを記憶する。RAM503は、例えば、CPU501のワークエリア等として使用される。HD504は、例えば、OS(Operating System)、アプリケーション、デバイスドライバ等のプログラムや、各種データを記憶する。HDDコントローラ505は、例えば、CPU501の制御に従ってHD504に対する各種データの読み出し又は書き込みを制御する。なお、HD504、及びHDDコントローラ505は、ストレージデバイスの一例である。
【0033】
ディスプレイ506は、例えば、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。なお、ディスプレイ506は、コンピュータ500の外部に設けられていてもよい。外部機器接続I/F507は、コンピュータ500に、様々な外部装置を接続するためのインタフェースである。ネットワークI/F508は、コンピュータ500を通信ネットワーク2に接続して、他の装置と通信するためのインタフェースである。
【0034】
キーボード509は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス510は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行なう入力手段の一種である。なお、キーボード509、及びポインティングデバイス510は、コンピュータ500の外部に設けられていてもよい。
【0035】
DVD-RWドライブ512は、着脱可能な記録媒体の一例としてのDVD-RW511に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RW511は、DVD-RWに限らず、着脱可能な他の記録媒体であってもよい。メディアI/F514は、フラッシュメモリ等のメディア513に対するデータの読み出し又は書き込み(記憶)を制御する。バスライン515は、上記の各構成要素を電気的に接続するためのアドレスバス、データバス及び各種の制御信号等を含む。
【0036】
マイク521は、音を電気信号に変える内蔵型の回路である。スピーカ522は、電気信号を物理振動に変えて音楽や音声などの音を生み出す内蔵型の回路である。音入出力I/F523は、CPU501の制御に従ってマイク521及びスピーカ522との間で音信号の入出力を処理する回路である。
【0037】
CMOSセンサ524は、CPU501の制御に従って被写体(例えば自画像)を撮像して画像データを得る内蔵型の撮像手段の一種である。なお、コンピュータ500は、CMOSセンサ524に代えて、CCD(Charge Coupled Device)センサ等の撮像手段を有していてもよい。撮像素子I/F525は、CMOSセンサ524の駆動を制御する回路である。
【0038】
(端末装置のハードウェア構成の一例)
図6は、一実施形態に係る端末装置のハードウェア構成の一例を示す図である。ここでは、端末装置10が、スマートフォン、又はタブレット端末等の情報端末である場合における端末装置10のハードウェア構成の例について説明する。
【0039】
図6の例では、端末装置10は、CPU601、ROM602、RAM603、ストレージデバイス604、CMOSセンサ605、撮像素子I/F606、加速度・方位センサ607、メディアI/F609、GPS(Global Positioning System)受信部610を備えている。
【0040】
これらのうち、CPU601は、所定のプログラムを実行することにより端末装置10全体の動作を制御する。ROM602は、例えば、IPL等のCPU601の起動に用いられるプログラムを記憶する。RAM603は、CPU601のワークエリアとして使用される。ストレージデバイス604は、OS、アプリ等のプログラム、及び各種のデータ等を記憶する大容量の記憶装置であり、例えば、SSD(Solid State Drive)、又はフラッシュROM等によって実現される。
【0041】
CMOSセンサ605は、CPU601の制御に従って被写体(主に自画像)を撮像して画像データを得る内蔵型の撮像手段の一種である。なお、端末装置10は、CMOSセンサ605に代えて、CCDセンサ等の撮像手段を有していてもよい。撮像素子I/F606は、CMOSセンサ605の駆動を制御する回路である。加速度・方位センサ607は、地磁気を検知する電子磁気コンパスやジャイロコンパス、加速度センサ等の各種センサである。メディアI/F609は、フラッシュメモリ等のメディア(記憶メディア)608に対するデータの読み出し又は書き込み(記憶)を制御する。GPS受信部610は、GPS衛星からGPS信号(測位信号)を受信する。
【0042】
また、端末装置10は、遠距離通信回路611、遠距離通信回路611のアンテナ611a、CMOSセンサ612、撮像素子I/F613、マイク614、スピーカ615、音入出力I/F616、ディスプレイ617、外部機器接続I/F618、近距離通信回路619、近距離通信回路619のアンテナ619a、及びタッチパネル620を備えている。
【0043】
これらのうち、遠距離通信回路611は、例えば、通信ネットワーク2を介して、他の装置と通信する回路である。CMOSセンサ612は、CPU601の制御に従って被写体を撮像して画像データを得る内蔵型の撮像手段の一種である。撮像素子I/F613は、CMOSセンサ612の駆動を制御する回路である。マイク614は、音を電気信号に変える内蔵型の回路である。スピーカ615は、電気信号を物理振動に変えて音楽や音声などの音を生み出す内蔵型の回路である。音入出力I/F616は、CPU601の制御に従ってマイク614及びスピーカ615との間で音波信号の入出力を処理する回路である。
【0044】
ディスプレイ617は、被写体の画像や各種アイコン等を表示する液晶や有機EL(Electro Luminescence)等の表示手段の一種である。外部機器接続I/F618は、各種の外部機器を接続するためのインタフェースである。近距離通信回路619は、近距離無線通信を行う回路を含む。タッチパネル620は、利用者がディスプレイ617を押下することで、端末装置10を操作する入力手段の一種である。
【0045】
また、端末装置10は、バスライン621を備えている。バスライン621は、
図6に示されているCPU601等の各構成要素を電気的に接続するためのアドレスバスやデータバス等を含む。
【0046】
なお、
図6に示した端末装置10のハードウェア構成は一例である。端末装置10は、コンピュータの構成、通信回路、ディスプレイ、マイク、及びスピーカ等を有していれば、他のハードウェア構成であってもよい。
【0047】
<機能構成>
図7は、一実施形態に係る対話システムの機能構成の例を示す図である。
【0048】
(サーバ装置の機能構成)
サーバ装置100は、サーバ装置100が備えるコンピュータ500が、記憶媒体に記憶した所定のプログラムを実行することにより、例えば、
図7に示すような機能構成を実現している。
図7の例では、サーバ装置100は、通信部701、第1の取得部702、第2の取得部703、生成部704、音声合成部711、描画部712、及び出力部713等を有している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであってもよい。
【0049】
また、サーバ装置100は、例えば、HD504、及びHDDコントローラ505等のストレージデバイス等により、記憶部710を実現している。なお、記憶部710は、例えば、サーバ装置100の外部に設けられたストレージサーバ、又はクラウドサービス等によって実現されるものであってもよい。
【0050】
通信部701は、例えば、ネットワークI/F508等を用いて、サーバ装置100を通信ネットワークNに接続し、端末装置10等の他の装置と通信する通信処理を実行する。
【0051】
第1の取得部702は、端末装置10を利用するユーザ11との対話から、ユーザ11の言語情報を取得する第1の取得処理を実行する。例えば、第1の取得部702は、通信部701が、端末装置10から受信したユーザ11の映像(動画像、及び音声)から、VAD(Voice Activity Detection)等の技術により音声区間を検出し、ユーザ11の発話音声を取得する。また、第1の取得部702は、取得したユーザ11の発話音声に対して、音声認識処理を実行して、ユーザ11の発話音声をテキスト化する。さらに、第1の取得部702は、テキスト化したユーザ11の発話テキストを、ユーザ11の言語情報として取得する。
【0052】
第2の取得部703は、端末装置10を利用するユーザ11との対話から、ユーザ11の非言語情報を取得する第2の取得処理を実行する。例えば、第2の取得部703は、通信部701が、端末装置10から受信したユーザ11の映像(動画像、及び音声)から、画像処理により、例えば、表情、視線、又は感情等のユーザ11の非言語情報を取得する。また、第2の取得部703は、通信部701が、端末装置10から受信したユーザ11の映像(動画像、及び音声)から、例えば、声の大小、声の抑揚、又は声の音色等のユーザ11の非言語情報を取得する。
【0053】
生成部704は、第1の取得部702が取得したユーザ11の言語情報と、第2の取得部703が取得したユーザ11の非言語情報とに基づいて、対話エージェントの言語応答(対話内容)と非言語応答(対話エージェントの動作、又はパラ言語等)とを含む応答内容を生成する生成処理を実行する。例えば、生成部704は、対話制御部705、意図解釈部706、及び応答生成部707を含む。また、図示はしていないが、応答生成部707のバックエンドには、実際に行われた対話情報(音声や画像等)が大量に蓄積されており、その対話情報が応答生成部707の構築に用いられる。応答生成部707が後述の機械学習モデルの場合、それらの対話情報は学習データとして用い、対話生成の精度向上に寄与する。
【0054】
対話制御部705は、ユーザ11の言語情報と非言語情報とを入力する処理、及び対話エージェントの言語応答と非言語応答を出力する処理等を含む対話制御処理を実行する。
【0055】
意図解釈部706は、ユーザ11の言語情報をベースに、ユーザ11の非言語情報を加味して、ユーザ11の発話の意図を解釈する意図解釈処理を実行する。例えば、ユーザ11が「それは、いいです」と発話した場合、ユーザ11の言語情報(発話テキスト)だけでは、ユーザ11が、それが「良い」ことを意図しているのか、それが「不要である」ことを意図しているのか判断することが難しい場合がある。そこで、本実施形態に係る意図解釈部706は、ユーザ11の言語情報(発話テキスト)だけではなく、ユーザ11の非言語情報を用いて、ユーザ11の発話の意図を解釈する。これにより、意図解釈部706は、意図解釈処理の精度を向上することができる。
【0056】
例えば、意図解釈部706は、複数のユーザの言語情報と非言語情報とを入力データとして、ユーザの意図を解釈するように、予め機械学習した機械学習モデルに、ユーザ11の言語情報と非言語情報とを入力して、ユーザ11の発話の意図を解釈してもよい。
【0057】
ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり、コンピュータが、データ識別等の判断に必要なアルゴリズムを、事前に取り込まれる学習データから自律的に生成し、新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
【0058】
応答生成部707は、ユーザ11の発話の意図に対応する、対話エージェントの応答内容を生成する応答生成処理を実行する。この応答内容には、対話エージェントが発話する発話内容を表す言語応答と、例えば、対話エージェントの表情、又はジェスチャー等を表す非言語応答とが含まれる。好ましくは、サーバ装置100は、取得したユーザ11の非言語情報に応じて、対話エージェントの言語応答、及び非言語応答を変える。
【0059】
例えば、応答生成部707は、ユーザ11の非言語情報に応じて、対話エージェントのアクションの内容を変更する。また、応答生成部707は、ユーザ11の非言語情報に応じて、対話エージェントのアクションのタイミングを変更する。
【0060】
応答内容の生成には、例えば、ルールベース、又は大規模言語モデルによる自然言語処理を用いることができる。大規模言語モデルとしては、一例として、GPT-3(Generative Pre-trained Transformer 3)と呼ばれる文章生成言語モデルを適用することができる。また、ルールベースの自然言語処理では、ユーザの発話の意図に対して、応答内容を予め記述したルールに基づいて、対話エージェントの応答内容を生成する。
【0061】
また、応答内容の進行には、シナリオ型とスロット・フィリング型がある(参考:https://goqsmile.com/function/about/)。
【0062】
音声合成部711は、生成部704が生成した言語応答を、音声合成技術により音声化する音声合成処理を実行する。
【0063】
描画部712は、生成部704が生成した非言語応答に従って、対話エージェントを描画した対話画面を描画する描画処理を実行する。例えば、描画部712は、非言語応答に従って、表情、視線、姿勢、又は感情等を、
図2に示すようなバーチャルヒューマン(対話エージェント)201に反映する。
【0064】
好ましくは、描画部712は、対話エージェントの発話に合わせて、対話エージェントの口を動かすリップシンクの描画も行う。
【0065】
出力部713は、音声合成部711が音声化した対話エージェントの音声と、描画部712が描画した対話画面とを含む映像を出力する出力処理を実行する。例えば、出力部713は、音声合成部711が音声化した対話エージェントの音声と、描画部712が描画した対話画面とを含む映像を、通信部701を介して、端末装置10に送信する。
【0066】
なお、音声合成部711、描画部712、及び出力部713は、生成部704で生成した応答内容に基づいて対話エージェントを制御する制御部714の一例である。
【0067】
記憶部710は、サーバ装置100が用いる機械学習モデル、ルール、設定情報、及び対話ログ等の様々な情報、データ、及びプログラム等を記憶する。
【0068】
(端末装置の機能構成)
端末装置10は、例えば、端末装置10が備えるウェブブラウザ等を用いて、サーバ装置100にアクセスして、
図2に示すような対話画面200を表示し、ユーザ11の映像を送信できるものであれば、任意の機能構成であってよい。
【0069】
なお、
図7に示した対話システム1のシステム構成は一例である。例えば、対話システム1は、
図7に示したサーバ装置100の機能構成を有する1台の情報処理装置によって構成されるものであってもよい。また、サーバ装置100の各機能構成のうち、少なくとも一部は、端末装置10が有していてもよい。例えば、端末装置10は、第1の取得部702、第2の取得部703、音声合成部711、描画部712、及び出力部713等を有していてもよい。この場合、端末装置10は、言語情報、及び非言語情報をサーバ装置100に送信し、サーバ装置100から受信した言語応答、及び非言語応答に基づいて、対話画面を表示してもよい。
【0070】
<処理の流れ>
図8は、一実施形態に係る対話システムが実行する対話処理の概要を示すフローチャートである。この処理は、例えば、
図7に示すような機能構成を有する対話システム1が、繰り返し実行する処理の一例を示している。なお、
図8の処理の開始時点において、端末装置10を利用するユーザ11と、サーバ装置100が提供する対話エージェントとの間で対話が既に行われているものとする。
【0071】
ステップS801において、第1の取得部702は、ユーザ11と、対話エージェントとの間の対話から、ユーザの言語情報を取得する。例えば、第1の取得部702は、通信部701が、端末装置10から受信したユーザ11の映像から、ユーザ11の発話音声を取得する。また、第1の取得部702は、取得したユーザ11の発話音声に対して音声認識処理を実行し、ユーザ11の発話音声をテキスト化したユーザ11の発話テキスト(言語情報)を取得する。
【0072】
ステップS802において、第2の取得部703は、ステップS801の処理と並行して、ユーザ11と、対話エージェントとの間の対話から、ユーザ11の非言語情報を取得する。例えば、第2の取得部703は、通信部701が、端末装置10から受信したユーザ11の映像から、画像処理により、ユーザ11の表情、視線、又は感情等の非言語情報を取得する。また、第2の取得部703は、通信部701が、端末装置10から受信したユーザ11の映像から、音声処理により、声の大小、声の抑揚、又は声の音色等の非言語情報を取得する。
【0073】
ステップS803において、生成部704は、第1の取得部702が取得したユーザ11の言語情報と、第2の取得部703が取得したユーザ11の非言語情報とに基づいて、ユーザ11の発話の意図を解釈する。
【0074】
ステップS804において、生成部704は、ユーザ11の発話の意図に対応する言語応答、及び非言語応答を生成する。
【0075】
ステップS805において、音声合成部711は、生成部704が生成した言語応答に基づいて、対話エージェントの発話音声を合成する。
【0076】
ステップS806において、描画部712は、ステップS8095の処理と並行して、生成部704が生成した非言語応答に基づいて、対話エージェントを描画する。
【0077】
ステップS807において、出力部713は、音声合成部711が合成した対話エージェントの発話音声と、描画部712が描画した対話エージェントを含む対話画面を出力する。例えば、出力部713は、通信部701を用いて、端末装置10に対話画面を送信する。
【0078】
対話システム1は、
図8の処理を繰り返し実行することにより、ユーザ11の非言語情報に基づいて、対話エージェントの発話音声だけではなく、対話エージェントの非言語対応を変更することができる。これにより、本実施形態によれば、対話エージェントを用いてユーザ11と対話を行う対話システム1において、ユーザ11に対してより適切なリアクションを行えるようになる。
【0079】
[第1の実施形態]
本実施形態に係る対話システム1は、対話シナリオを変更することにより、様々な用途に対応することができる。第1の実施形態では、商談用途に対応した対話処理の例について説明する。
【0080】
<機能構成>
第1の実施形態に係る対話システム1は、例えば、
図7に示すような機能構成を有している。また、第1の実施形態に係る生成部704は、例えば、
図9に示すような機能構成を有している。
【0081】
図9は、第1の実施形態に係る生成部の機能構成の例を示す図である。
図9に示すように、生成部704の対話制御部705は、例えば、入力フィルタ部901、対話状態管理部902、及び出力フィルタ部903を含む。
【0082】
入力フィルタ部901は、例えば、ユーザ11の言語情報と非言語情報との入力を受け付ける入力I/Fの機能、誤認識対応機能、及び不適切な入力を検知する機能等を有している。なお、誤認識対応機能、及び不適切な入力を検知する機能は、オプションであり必須ではない。
【0083】
対話状態管理部902は、例えば、入力情報を記録する機能、現在の商談段階を記憶する機能、商談段階を制御する機能、及び出力情報を記録する機能等を有している。商談段階とは、商談の進行度を数値で定義した一例である。
【0084】
出力フィルタ部903は、例えば、対話エージェントの言語対応、及び非言語対応を出力する出力I/Fの機能、及び不適切な出力を検知する機能等を有している。なお、不適切な出力を検知する機能は、オプションであり必須ではない。
【0085】
意図解釈部706は、対話制御部705が受け付けたユーザ11の言語情報と非言語情報とに基づいて、ユーザ11の発話の意図を解釈する意図解釈処理を実行する。意図解釈部706は、例えば、ユーザ11の言語情報と文脈から、ユーザ11の意図を推定することも可能であるが、ユーザ11の非言語情報を加味した方がより的確にユーザ11の意図を解釈できる可能性が高くなる。
【0086】
例えば、「嘘でしょう?」というユーザ11の発話は、ネガティブな応答に用いられる場合が多いが、良い意味で期待を上回った場合に、ユーザ11が喜んで「嘘でしょう?」というときにも用いられる。このような場合、意図解釈部706は、ユーザ11の非言語情報を手がかりにして、ユーザ11の意図をより的確に解釈することが望ましい。
【0087】
例えば、ユーザ11の非言語情報として、ユーザ11の音声のトーンが高く、ユーザ11の表情が明るい場合、意図解釈部706は、ユーザ11の「嘘でしょう?」という発話を「ポジティブ(喜んで)」と判断してもよい。この場合、生成部704は、例えば、対話エージェントの表情を笑顔とし、現在の対話シナリオを維持してもよい。
【0088】
一方、ユーザ11の音声のトーンが低く、ユーザ11の画像の表情が暗い場合、意図解釈部706は、ユーザ11の「嘘でしょう?」という発話を「ネガティブ」と判断してもよい。この場合、生成部704は、例えば、対話エージェントの身振り、手振りを低減し、より詳細な実例を含む対話(商材)シナリオに遷移してもよい(或いは、他の商材のシナリオに遷移してもよい。)
【0089】
商談というビジネスシーンでは商談相手の喜怒哀楽が表れにくいところ、ネガティブと判断される非言語情報は、商談の進行だけでなく次回の商談にも影響する長期的な心証形成にかかわる重要な情報となるため、慎重な対応が求められる。たとえばトーンの低さの程度や表情の暗さの程度までも考慮し、シナリオの遷移の可否を判断することが望ましい。
【0090】
応答生成部707は、複数の商談段階1~7に対応する複数の対話シナリオ911~917、商材レコメンド部918、及び判断部919等を含む。なお、商材レコメンド部918、及び判断部919は、応答生成部707の外部に設けられていてもよい。
【0091】
第1段階に対応する対話シナリオ911は、商談を開始するときに用いられる対話シナリオであり、例えば、商談の開始の挨拶、又は顧客データの検索等を行う。第2段階に対応する対話シナリオ912は、例えば、名刺交換、又はスモールトーク等の対話を行う。第3段階に対応する対話シナリオ913は、例えば、業務内容のヒアリング、又は使用機器のヒアリング等の対話を行う。第4段階に対応する対話シナリオ914は、例えば、顕在ニーズの確認、又は潜在ニーズの掘り起こし等の対話を行う。
【0092】
第5段階に対応する対話シナリオ911は、例えば、レコメンドする商材の提示、購買意欲を増進させるキャッチコピーの提示、商談延期の判断、又は商談終了の判断等の対話を行う。第6段階に対応する対話シナリオ912は、例えば、納期確認、又は電子契約誘導等の対話を行う。第7段階に対応する対話シナリオ917は、例えば、日報作成、又はアンケート生成・送付等のインタラクションを行う。
【0093】
対話制御部705の対話状態管理部902は、現在の商談の状態に応じて、複数の対話シナリオ911~917から、使用する対話シナリオを選択する。例えば、対話制御部705は、第1段階に対応する対話シナリオ911から商談を開始し、商談が進行するに伴い、商談段階を上げる。また、対話制御部705は、ユーザ11が商談に否定的な場合、商談段階を下げる。
【0094】
これにより、生成部704は、予め設定された複数の商談段階に応じて、対話エージェントの応答内容を変更することができる。なお、商談段階は、予め設定された複数の対話段階の一例である。
【0095】
商材レコメンド部918は、例えば、第5段階において、第1段階~第4段階の対話内容に基づいて、ユーザ11に薦める商材を選択する商材レコメンド処理を実行する。判断部919は、例えば、第5段階において、第1段階~第5段階の対話内容に基づいて、商談を延期するか否か、又は商談を終了するか否か等を判断する判断処理を実行する。
【0096】
なお、
図9に示した、複数の商談段階1~7の数は一例であり、2つ以上の他の数であってもよい。また、
図9に示した、複数の対話シナリオ911~917の対話内容は一例であり、他の内容であってもよい。
【0097】
<処理の流れ>
図10Aは、第1の実施形態に係る対話処理の例を示すフローチャートである。この処理は、例えば、
図7に示すようなサーバ装置100の機能構成と、
図9に示すような生成部704の機能構成とを有する対話システム1が実行する対話処理の例を示している。
【0098】
ステップS1001において、対話システム1は、第1段階に対応する対話シナリオ911で対話を開始するとともに、ユーザ11に関する顧客データがあるか否かを判断する。顧客データがある場合、対話システム1は、処理をステップS1002に移行させる。一方、顧客データがない場合、対話システム1は、処理をステップS1008に移行させる。
【0099】
ここで、ステップS1002~S1005の処理と、ステップS1008~S1011の処理は、同様の商談段階になっているが、利用する対話シナリオが異なる。例えば、ステップS1002~S1005の処理では、対話システム1は、顧客データを持っているので、過去の商談データに基づいて、商談を進める対話シナリオを用いることが望ましい。一方、ステップS1008~S1011の処理では、対話システム1は、顧客データを持っていないので、顧客データの作成に必要な情報も含めて、丁寧にヒアリングする対話シナリオを用いることが望ましい。これにより、対話エージェントが、ユーザ11に、毎回、同じような内容をヒアリングしてしまうことを抑制することができる。
【0100】
ステップS1002に移行すると、対話システム1は、第2段階に対応する対話シナリオ912で対話を行うとともに、名刺交換、又はスモールトークができたか否かを判断する。名刺交換、又はスモールトークができた場合、対話システム1は、処理をステップS1004に移行させる。一方、名刺交換、又はスモールトークができていない場合、対話システム1は、例えば、
図10Aの処理(商談)を終了する。好ましくは、対話システム1は、第2段階に対応する対話シナリオ912で対話を開始してから、所定の時間を経過しても、名刺交換、又はスモールトークができていない場合、商談を終了する。
【0101】
ステップS1003に移行すると、対話システム1は、第3段階に対応する対話シナリオ913で対話を行うとともに、例えば、業務内容、又は使用機器等の状況をヒアリングできたか否かを判断する。状況をヒアリングできた場合、対話システム1は、処理をステップS1004に移行させる。一方、状況をヒアリングできていない場合、対話システム1は、例えば、
図10Aの処理(商談)を終了する。好ましくは、対話システム1は、第3段階に対応する対話シナリオ913で対話を開始してから、所定の時間を経過しても、状況をヒアリングできていない場合、商談を終了する。
【0102】
ステップS1004に移行すると、対話システム1は、第4段階に対応する対話シナリオ914で対話を行うとともに、例えば、潜在ニーズ、又は予測ニーズ等のニーズを聞き取りできたか否かを判断する。ニーズを聞き取りできた場合、対話システム1は、処理をステップS1005に移行させる。一方、ニーズを聞き取りできていない場合、対話システム1は、処理をステップS1003に戻す。
【0103】
ステップS1005に移行すると、対話システム1は、第5段階に対応する対話シナリオ915で対話を行うとともに、商材を提案できたか否かを判断する。商材を提案できた場合、対話システム1は、処理をステップS1006に移行させる。一方、商材を提案できていない場合、対話システム1は、処理をステップS1004又はステップS1005に戻す。
【0104】
例えば、対話システム1は、ステップS1003、S1004で取得した情報に基づいて、商材レコメンド部918を用いて、ユーザ11に提案する商材を選択する。ただし、取得した情報が不十分であり、商材レコメンド部918が、ユーザ11に提案する商材を選択できない場合、対話システム1は、処理をステップS1004又はステップS1005に戻す。
【0105】
ステップS1006に移行すると、対話システム1は、第6段階に対応する対話シナリオ916で対話を行うとともに、契約を締結できたか否かを判断する。契約を締結できた場合、対話システム1は、処理をステップS1007に移行させる。一方、契約を締結できていない場合、対話システム1は、例えば、処理をステップS1005に戻す。
【0106】
ステップS1007に移行すると、対話システム1は、第7段階に対応する対話シナリオ917で対話を行うとともに、商談の整理ができたか否かを判断する。商談の整理ができた場合、対話システム1は、
図10Aの処理を終了する。
【0107】
一方、ステップS1001からステップS1008に移行すると、対話システム1は、第2段階に対応する対話シナリオ912(新規顧客用)で対話を行うとともに、名刺交換、又はスモールトークができたか否かを判断する。名刺交換、又はスモールトークができた場合、対話システム1は、処理をステップS1009に移行させる。一方、名刺交換、又はスモールトークができていない場合、対話システム1は、
図10Aの処理(商談)を終了する。好ましくは、対話システム1は、第2段階に対応する対話シナリオ912(新規顧客用)で対話を開始してから、所定の時間を経過しても、名刺交換、又はスモールトークができていない場合、商談を終了する。
【0108】
ステップS1009に移行すると、対話システム1は、第3段階に対応する対話シナリオ913(新規顧客用)で対話を行うとともに、例えば、業務内容、又は使用機器等の状況をヒアリングできたか否かを判断する。状況をヒアリングできた場合、対話システム1は、処理をステップS1010に移行させる。一方、状況をヒアリングできていない場合、対話システム1は、
図10Aの処理(商談)を終了する。好ましくは、対話システム1は、第3段階に対応する対話シナリオ913(新規顧客用)で対話を開始してから、所定の時間を経過しても、状況をヒアリングできていない場合、商談を終了する。
【0109】
ステップS1010に移行すると、対話システム1は、第4段階に対応する対話シナリオ914(新規顧客用)で対話を行うとともに、例えば、潜在ニーズ、又は予測ニーズ等のニーズを聞き取りできたか否かを判断する。ニーズを聞き取りできた場合、対話システム1は、処理をステップS1011に移行させる。一方、ニーズを聞き取りできていない場合、対話システム1は、処理をステップS1009に戻す。
【0110】
ステップS1011に移行すると、対話システム1は、第5段階に対応する対話シナリオ915(新規顧客用)で対話を行うとともに、商材を提案できたか否かを判断する。商材を提案できた場合、対話システム1は、処理をステップS1006に移行させる。一方、商材を提案できていない場合、対話システム1は、処理をステップS1010に戻す。
【0111】
図10Aの処理により、対話システム1は、予め設定された複数の対話段階に応じて、対話エージェントの応答内容を変更することができる。
【0112】
なお、
図10Aの処理は一例である。例えば、対話システム1は、ステップS1006において、契約締結できていない場合、
図10BのステップS1021、S1022の処理を実行してもよい。
【0113】
図10Bは、第1の実施形態に係る対話処理の例を示すフローチャート(2)である。ステップS1006において、契約を締結できていない場合、対話システム1は、処理をステップS1021に移行させる。
【0114】
ステップS1021に移行すると、対話システム1は、ユーザ11の感情分析がポジティブであるか否かを判断する。感情分析がポジティブである場合、対話システム1は、処理をステップS1005に戻す。一方、感情分析がポジティブでない場合(ネガティブである場合)、対話システム1は、処理をステップS1022に移行させる。
【0115】
ステップS1022に移行すると、対話システム1は、例えば、終了(又は延期)の挨拶をして、
図10Bの処理を終了する。例えば、対話システム1は、対話エージェントに、商談終了の挨拶をさせるとともに、お辞儀をさせてもよい。
【0116】
図11は、第1の実施形態に係る非言語情報の利用例について説明するための図である。例えば、対話システム1は、ユーザ11の映像1100から、ユーザ11の顔が向いている方向を示す方向ベクトル1101を取得し、取得した方向ベクトル1101と、ユーザ11の瞳の位置112とに基づいて、ユーザ11の視線を表す視線情報を取得する。
【0117】
例えば、ユーザ11が、対話エージェントが提示した商材に対して関心を示している場合、ユーザ11は、対話画面に表示した商材を凝視する傾向にあるため、例えば、視線1103a、1103bのように、視線はあまり変動しない(分散が小さい)。一方、ユーザ11が、対話エージェントが提示した商材に対して関心を示していない場合、注意力が低下するので、例えば、視線1103cのように、視線が変動する(分散が大きい)。
【0118】
従って、対話システム1は、例えば、ユーザ11に商材を提示した後に、ユーザ11の視線を表す視線情報を取得して、視線の分散が小さい場合、ユーザ11の感情分析がポジティブ(商談を続ける)と判断してもよい。また、対話システム1は、例えば、ユーザ11に商材を提示した後に、ユーザ11の視線を表す視線情報を取得して、視線の分散が大きい場合、ユーザ11の感情分析がネガティブ(商談を終了、又は延期する)と判断してもよい。
【0119】
なお、この方法は、商談の終了(又は延期)の判断に限られず、例えば、より高い商談段階に移行するか、より低い商談段階に戻るかを判断するために用いてもよい。
【0120】
[第2の実施形態]
第1の実施形態では、介護用途に対応した対話処理の一例について説明する。介護用途では、回想法に対応する対話シナリオを用いることができる。回想法とは、高齢者等が、自分の過去のことを話すことで精神を安定させ、認知機能の改善も期待できる心理療法のことである。
【0121】
回想法で懐かしい思い出を話題にして対話することは、右脳で浮かんだイメージ映像を、左脳が言語化していく作業だと言われている。起承転結の会話は「5W(When, Where, Who, What, Why)話法」と言い、場面の様子やどんな風だったかを中心にした会話を「1H(How)話法」という。起承転結をともなうストーリーよりも、その時の様子や場面を対話する方が、楽しさが倍増すると言われている。
【0122】
そこで、第2の実施形態では、対話システム1は、回想法の対話シナリオを用いて、対話の進行に伴い、具体的に対話を深掘りさせるために、1H話法を重ねる対話シナリオを設け、その対話シナリオに基づいて、対話エージェントの応答内容を生成する。
【0123】
なお、第2の実施形態に係る対話システム1の機能構成は、
図7で説明した対話システム1の機能構成と同様でよい。
【0124】
<処理の流れ>
図12、13は、第2の実施形態に係る対話シナリオの遷移の一例を示す図である。この図は、回想法の対話シナリオの遷移の一例を示している。なお、実際の遷移は、ユーザ11の発話によって変わるため、この図は、
図12、13に示すように、ユーザ11が発話したときの遷移の一例を示している。
【0125】
例えば、状態1201において、対話エージェントは、「学生時代はなにかスポーツをやっていましたか?」と発話し、状態1202において、ユーザ11は、一例として、「スポーツAをやっていた」と発話したものとする。
【0126】
この場合、対話システム1は、第1段階として、対話エージェントに、スポーツAの全般の知識を振り返る発話をさせる。例えば、状態1203において、対話エージェントは、「ポジションはどこでしたか?」と発話する。また、状態1204において、ユーザ11は、一例として、「ポジションBだった」と発話したものとする。
【0127】
この場合、対話システム1は、第2段階として、対話エージェントに、スポーツAの話題を深掘りする発話をさせる。例えば、対話エージェントは、状態1205、1209、1213、1215から、ランダムに1つの状態を選択し、選択した状態に遷移させる。
【0128】
一例として、状態1205に遷移すると、対話エージェントは、「試合にでたことはありますか?」と発話する。また、状態1206において、ユーザ11は、一例として、「何度もでていた」と発話したものとする。
【0129】
ここで、対話システム1は、第3段階として、対話エージェントに、状態1205の話題をさらに深掘りする発話をさせる。例えば、状態1207において、対話エージェントは、「なにか賞をとりましたか」と発話する。また、状態1208において、ユーザ11は、一例として、「県大会に出場した」と発話したものとする。ここで、対話システム1は、一例として、状態1217に状態を遷移させる。
【0130】
別の一例として、状態1204から状態1209に遷移すると、対話エージェントは、「どのくらいの頻度でスポーツAをやっていましたか?」と発話する。また、状態1210において、ユーザ11は、一例として、「週に3回以上やっていた」と発話したものとする。
【0131】
ここで、対話システム1は、第3段階として、対話エージェントに、状態1209の話題をさらに深掘りする発話をさせる。例えば、状態1211において、対話エージェントは、「スポーツAのどこが好きでしたか?」と発話する。また、状態1212において、ユーザ11は、一例として、「チームでプレイできるところ」と発話したものとする。ここで、対話システム1は、一例として、状態1217に状態を遷移させる。
【0132】
別の一例として、状態1204から状態1213に遷移すると、対話エージェントは、「スポーツAをすきでしたか?」と発話する。また、状態1214において、ユーザ11は、一例として、「はい」と発話したものとする。ここで、対話システム1は、一例として、状態1211に状態を遷移させる。
【0133】
別の一例として、状態1204から状態1215に遷移すると、対話エージェントは、「スポーツAを観戦することはありますか?」と発話する。また、状態1216において、ユーザ11は、一例として、「あります」と発話したものとする。ここで、対話システム1は、一例として、状態1217に状態を遷移させる。このように、対話システム1は、第3段階の深掘りを省略してもよい。
【0134】
状態1217に遷移すると、対話エージェントは、「教えてくれてありがとうございます。スポーツAを楽しめているのですね。素晴らしいです。」と発話し、状態1218において、ユーザ11は、一例として、「はい」と発話したものとする。
【0135】
ここで、対話システム1は、例えば、対話を終了してもよいし、
図13の状態1301に、さらに状態を遷移させてもよい。
【0136】
状態1301に遷移すると、対話エージェントは、例えば、「好きなチームはありましたか?」と発話する。また、状態1302において、ユーザ11は、一例として、「チームCが好きだった」と発話したものとする。
【0137】
この場合、対話システム1は、第4段階として、対話エージェントに、スポーツAで好きなチーム(又は選出)について深掘りする発話をさせる。例えば、状態1303において、対話エージェントは、「チームCのどんなところが好きでしたか?」と発話する。また、状態1304において、ユーザ11は、一例として、「強いところ」と発話したものとする。この場合、対話システム1は、対話エージェントに、終了の挨拶をさせる。例えば、状態1305において、対話エージェントは、「そうなんですね。教えてくれてありがとうございます。お時間を頂きありがとうございました。対話を終了します。」等と発話して、対話を終了する。
【0138】
図12、13の遷移により、対話システム1は、回想法の対話シナリオを用いて、対話の進行に伴い、具体的に対話を深掘りさせるために、1H話法を重ねて、対話エージェントに対話させることができる。
【0139】
[第3の実施形態]
例えば、
図3に示すような対話画面300において、音声による対話と、バーチャルヒューマン301の所作だけではなく、補助的な視覚情報を追加することにより、商談においても、介護においても、対話の深掘りが容易になる。
【0140】
図14は、第3の実施形態に係る対話画面の一例を示す図である。
図14の例では、対話画面1400には、バーチャルヒューマン(対話エージェント)1401、及び文字列による対話302に加えて、対話内容に基づいて生成した画像である挿絵1403が表示されている。この挿絵1403により、ユーザ11は、対話内容であるクロスカントリースキーのイメージを、容易に思い浮かべることができる。なお、挿絵1403には、例えば、効果音、又は対話内容とは別の音声等の音情報が含まれていてもよい。
【0141】
<機能構成>
図15は、第3の実施形態に係る対話システムの機能構成の例を示す図である。
図15に示すように、第3の実施形態に係るサーバ装置100は、
図7で説明したサーバ装置100の機能構成に加えて、画像生成部1501を有している。
【0142】
画像生成部1501は、例えば、生成部704に含まれ、ユーザ11との対話内容に基づいて生成した画像である挿絵1403生成する画像生成処理を実行する。例えば、画像生成部1501は、テキスト情報から画像を生成する学習済の機械学習モデル(例えば、DALL・E、DALL・E2、又はStable Diffusion等)を利用して、挿絵1403を生成することができる。また、画像生成部1501は、ユーザ11の言語情報と非言語情報とのうち、少なくとも1つに基づいて、対話内容に関する画像である挿絵1403を生成してもよい。
【0143】
例えば、画像生成部1501は、ユーザ11が発話した「クロスカントリースキー」という言語情報と、ユーザ11の音声の「トーンが高い」という非言語情報とから、ユーザ11の感情分析を「ポジティブ」と判断したときに、挿絵1403を生成してもよい。これにより、対話システム1は、ユーザ11の回想をより誘発し、効果的な対話を行うことができる。
【0144】
なお、画像生成部1501以外の各機能構成は、
図7で説明した一実施形態に係る対話システム1の機能構成と同様でよい。
【0145】
<処理の流れ>
図16は、第3の実施形態に係る対話処理の例を示すフローチャートである。この処理は、例えば、
図15に示した機能構成を有する対話システム1が実行する対話処理の一例を示している。
【0146】
ステップS1601において、第1の取得部702は、ユーザ11の発話音声を取得する。また、ステップS1602において、第1の取得部702は、取得したユーザ11の発話音声に対して、音声認識処理を実行する。これにより、第1の取得部702は、ユーザ11の発話音声をテキスト化した、ユーザ11の言語情報を出力する。なお、ステップS1601、S1602の処理は、例えば、
図8のステップS801の処理を利用してもよい。
【0147】
ステップS1603において、画像生成部1501は、ユーザ11の発話音声から、要約、又はキーワード等を抽出する。また、ステップS1604において、画像生成部1501は、抽出した要約、又はキーワード等に基づいて、例えば、
図14で説明した挿絵1403等の画像を生成する。
【0148】
ステップS1604において、生成部704は、例えば、対話エージェントに発話させる音声を生成する。なお、この処理は、例えば、
図8のステップS803、S804の処理を利用してもよい。また、生成部704は、画像生成部1501が、
図14に示すようなクロスカントリースキーの挿絵1403を生成した場合、対話エージェントにクロスカントリースキーに関する発話をさせる音声を生成してもよい。
【0149】
ステップS1606において、生成部704は、画像生成部1501が生成した画像と、生成部704が生成した音声を、対話画面1400に出力する。このとき、対話システム1は、バーチャルヒューマン1401に、表示した挿絵1403をアシストする動作(例えば、指で指し示す等)をさせてもよい。
【0150】
図16の処理により、対話システム1は、例えば、
図4に示すように、対話画面1400に、対話内容に関する画像である挿絵1403を表示することができる。
【0151】
[第4の実施形態]
図17は、第4の実施形態に係る対話システムの機能構成の例を示す図である。
図17に示すように、第4の実施形態に係るサーバ装置100は、
図7で説明したサーバ装置100の機能構成に加えて、要約部1701を有している。
【0152】
要約部1701は、例えば、生成部704に含まれ、対話制御部705が記憶部710に記憶した対話ログを要約して、例えば、報告書等を作成する要約処理を実行する。
【0153】
対話システム1の対話制御部705は、ユーザ11と、対話エージェントとの対話が行われると、例えば、
図18に示すような対話ログ1800を作成し、記憶部710等に記憶する。
【0154】
図18の例では、対話ログ1800は、項目として、「タイムスタンプ」、「話者」、「発話テキスト」、及び「ファイル名」等の情報を含む。「タイムスタンプ」は、ユーザ11、又は対話エージェントによる発が行われた日時を示す情報である。「話者」は、「発話テキスト」の発話を、ユーザが行ったか、対話エージェントが行ったかを示す情報である。「発話テキスト」は、ユーザ11、又は対話エージェントの発話をテキスト化した情報である。「ファイル名」は、ユーザ11の発話音声のファイル名を示す情報である。
【0155】
図18に示すように、対話ログ1800は、ユーザ11と対話エージェントとの間の対話を漏れなく記録したものなので、例えば、報告書として提出する場合には、これを要約することが望ましい。
【0156】
要約部1701は、例えば、大規模言語モデルを応用して、対話ログ1800を要約してもよいし、文章の要約AI(Artificial Intelligence)として公開されているクラウドサービスを利用して、対話ログ1800を要約してもよい。
【0157】
要約する場合に重要な情報としては、例えば、日時と場所、ユーザ情報(属性、及び新規顧客か既存顧客か等)のよう5W1H情報と、ユーザが抱える課題又はニーズと、提案した商材の情報と、アクションアイテム又は次の予定等の情報がある。要約部1701は、対話ログ1800を要約して、これらの情報を含む報告書、又は対話の議事録等を作成する。
【0158】
また、要約部1701は、ユーザ11が発話した「はい」等の言語情報と、ユーザ11の音声の「トーンが高い」、及びユーザ11の「表情が明るい」等の非言語情報とに基づいて、ユーザ11が、発話エージェントが提示した商材に興味があると判断してもよい。この場合、要約部1701は、要約文を作成するときに、当該商材に関する記述が漏れないように文章を作成することが望ましい。
【0159】
[第5の実施形態]
図19は、第5の実施形態に係る対話システムの機能構成の例を示す図である。
図19に示すように、第5の実施形態に係るサーバ装置100は、
図7で説明したサーバ装置100の機能構成に加えて、キャッチコピー生成部1901を有している。
【0160】
キャッチコピー生成部1901は、例えば、
図9に示した第5段階に対応する対話シナリオ915において、商材レコメンドとともに、ユーザ11に提示するキャッチコピーを生成するキャッチコピー生成処理を実行する。キャッチコピーとは、人の注意をひく広告文、又は宣伝文等であり、ここでは、ユーザ11に提案する商材を、ユーザ11にアピールするための文字列である。
【0161】
(キャッチコピーの例1)
一例として、対話エージェントがユーザに提案する商材の概要が次のような内容のニーズ分析サービスであるものとする。
【0162】
「小売り・卸、食品飲料、製造、情報通信、サービス、医薬品・化粧品、観光などサポートセンター・コールセンター窓口の返答品質・時間短縮を支援。また、顧客から寄せられる膨大な問い合わせ等をコンテキスト化分析し、販売促進施策の立案、新商品・サービス開発へのヒントを手助けします。」
しかし、このままでは、ユーザ11に商材の特徴が伝わりにくい。そこで、キャッチコピー生成部1901は、例えば、次のようなキャッチコピーを生成してもよい。
1) お客様対応から施策立案までサポート!
お客様のことを徹底分析するAI
或いは、キャッチコピー生成部1901は、例えば、次のようなキャッチコピーを生成してもよい。
2) 蓄積した顧客の声をAIが学習し分析!
タイムリーに最適な解決へ導く
【0163】
(キャッチコピーの例2)
別の一例として、対話エージェントがユーザに提案する商材の概要が次のような内容の営業支援サービスであるものとする。
【0164】
「顧客とのやりとりの履歴や営業ノウハウの蓄積は、個人に依存してしまい、チーム内に共有されないまま。引き継ぎ時には、ちらばった顧客データの探索に時間がかかるなど、非効率でした。属人的になりがちな営業現場の情報共有で、手間のかかる検索作業を軽減します。たとえば、ベテランの作成した類似案件の提案書等参考情報が共有できれば、スキルでばらつく資料作成といった課題をクリアにし、商談を成功させるドキュメント開発に貢献します。」
しかし、このままでは、ユーザ11に商材の特徴が伝わりにくい。そこで、キャッチコピー生成部1901は、例えば、次のようなキャッチコピーを生成してもよい。
3) お客様の関心事を即効インストール!
商談成功をサポートするAI
或いは、キャッチコピー生成部1901は、例えば、次のようなキャッチコピーを生成してもよい。
4) 属人的な営業スタイルをAIが学習!
お客様の関心事に応じた提案書をAIがレコメンド
このようなキャッチコピーは、例えば、大規模言語モデルを用いることで、効率よく生成することができる。また、キャッチコピー生成部1901は、外部のクラウドサービス等が提供する、また、キャッチコピー生成サービス等を利用して、キャッチコピーを生成してもよい。
【0165】
<処理の流れ>
図20は、第5の実施形態に係る情報提供処理の例を示すフローチャートである。この処理は、例えば、
図9に示すような、第5段階に対応する対話シナリオ915において、ユーザ11に提案する商材に対応するキャッチコピーを生成する処理の一例を示している。
【0166】
ステップS2001において、
図9の商材レコメンド部918は、例えば、
図10AのステップS1003~S1004で行われた対話内容に基づいて、ユーザ11に提案する商材を決定する。
【0167】
ステップS2002において、
図19のキャッチコピー生成部1901は、決定した商材に関する商材データを、記憶部710等から取得する。
【0168】
ステップS2003において、キャッチコピー生成部1901は、取得した商材データを用いて、商材レコメンド部918が決定した商材のキャッチコピーを生成する。一例として、キャッチコピー生成部1901は、外部のクラウドサービス等が提供する、キャッチコピー生成サービスを利用して、キャッチコピーを生成してもよい。別の一例として、キャッチコピー生成部1901は、大規模言語モデルを用いて、キャッチコピーを生成してもよい。
【0169】
ステップS2004において、対話システム1は、ユーザ11に提案する商材と、当該商材のキャッチコピーを、ユーザ11に提示する。例えば、対話システム1は、
図2に示すような対話画面200に表示されているディスプレイ202に、提案する商材の情報と、商材のキャッチフレーズを表示させる。
【0170】
なお、
図20に示す処理は一例である。例えば、ユーザ11に提案する商材は、複数の商材を組み合わせたパッケージ商材であってもよい。この場合、キャッチコピー生成部1901は、ステップS2002において、複数の商材の商材データを取得し、ステップS2003において、複数の商材の商材データを用いて、キャッチフレーズを生成する。
【0171】
第5の実施形態により、対話システム1は、商材の価値を分かりやすく端的に、ユーザ11に伝えることができる。
【0172】
[第6の実施形態]
図21は、第6の実施形態に係る対話システムの機能構成の例を示す図である。
図21に示すように、第6の実施形態に係るサーバ装置100は、
図7で説明したサーバ装置100の機能構成に加えて、記憶部710等に過去履歴DB(Database)2101、及び非言語情報の入出力情報(以下、単に入出力情報と呼ぶ)2102等を有している(記憶している)。
【0173】
過去履歴DB2101は、例えば、ユーザ11の過去の対話ログ、非言語情報、及び体調等の情報を記憶したデータベースである。
【0174】
入出力情報2102には、例えば、
図22に示すように、ユーザ11の画像、及び音声から取得した(入力された)非言語情報が、ポジティブであるか、ネガティブであるかを判断するための情報が含まれる。また、入出力情報2102には、例えば、
図22に示すように、対話エージェントの画像、及び音声が表す非言語情報が、ポジティブであるか、ネガティブであるかを示す情報が含まれる。
【0175】
これにより、意図解釈部706は、入出力情報2102を用いて、ユーザ11の画像、及び音声に含まれる非言語情報が、ポジティブであるか、ネガティブであるかを容易に判断することができる。また、応答生成部707は、入出力情報2102を用いて、対話エージェントのポジティブな非言語情報、又はネガティブな非言語情報の例を取得することができる。
【0176】
また、第6の実施形態に係る第2の取得部703は、端末装置10を利用するユーザ11との対話から、ユーザ11の非言語情報を取得する際に、非言語情報(感情系)と、非言語情報(個性系)とを取得する。ここで、非言語情報(感情系)は、例えば、ユーザ11の感情、態度、言葉(強さ、早さ、又は抑揚等)、生理的特徴、又は身体動作(視線、表情等)等、そのときによって変化する非言語情報を含む。例えば、意図解釈部706は、第2の取得部703が取得した非言語情報(感情系)に基づいて、ユーザ11がポジティブであるか、ネガティブであるかを判断することができる。
【0177】
一方、非言語情報(個性系)は、例えば、ユーザ11の性別、年齢、身体的な特徴、又は身なり等、そのときによって変化しない、又は変化が少ない非言語情報(属性情報)を含む。例えば、応答生成部707は、第2の取得部703が取得した非言語情報(個性系)に基づいて、ユーザの属性(例えば、性別、年齢、又は体躯等)に応じた言語応答、又は非言語応答を生成することができる。なお、非言語情報(個性系)は、ユーザ11の属性を示す非言語情報の一例である。
【0178】
なお、第6の実施形態に係る対話システム1の他の機能構成は、
図7で説明した対話システム1の機能構成と同様でよい。
【0179】
<処理の流れ>
図23は、第6の実施形態に係る対話処理の例を示すフローチャートである。この処理は、ユーザ11と対話エージェントとの対話を開始した後に、
図21に示すような対話システム1が実行する処理の例を示している。なお、ここでは、
図8で説明した一実施形態に係る対話処理の概要と同様の処理内容に対する詳細な説明は省略する。
【0180】
ステップS2301において、第1の取得部702は、ユーザ11と、対話エージェントとの間の対話から、ユーザの言語情報を取得する。
【0181】
ステップS2302、S2303において、第2の取得部703は、ステップS2301の処理と並行して、ユーザ11と、対話エージェントとの間の対話から、ユーザ11の非言語情報(感情系)と、非言語情報(個性系)とを取得する。
【0182】
ステップS2304において、生成部704は、第1の取得部702が取得した言語情報と、第2の取得部703が取得した非言語情報(感情系)とに基づいて、ユーザ11の発話の意図を解釈する。
【0183】
ステップS2305において、生成部704は、第2の取得部703が取得した非言語情報(個性系)、又は過去履歴DB2101を参照して、ユーザ11の発話の意図に対応する言語応答(対話文)を生成する。例えば、生成部704は、過去履歴DB2101のユーザ11との過去の対話履歴等から、ユーザ11の性別、趣味、又は体型等を判断し、ユーザ11の性別、趣味、又は体型等に応じて異なる言語応答(対話文)を生成する。
【0184】
なお、ユーザ11の過去履歴がない場合、生成部704は、例えば、ユーザ11の画像から、顔領域を検出し、年齢性別推定AI(Artificial Intelligence)等を用いて、ユーザ11の性別、又は年齢等を推定してもよい。また、生成部704は、ユーザ11の画像から、体型推定AI等を用いて、ユーザ11の体型を推定してもよい。さらに、生成部704は、ユーザ11の言語情報から、ユーザ11の趣味等を判断してもよい。なお、生成部は、推定したユーザ11の性別、年齢、又は体型等を、過去履歴DB2101に記憶しておく。
【0185】
具体的な一例として、商談中に、生成部704が、ユーザ11の言語情報と非言語情報から、ユーザ11が、年齢が40代の女性で、趣味がコスメティック(以下、コスメと呼ぶ)であると判断したものとする。この場合、生成部704は、40代向けのコスメ商材の紹介、又は提案をする価値ありと判断し、例えば、具体的な商材を紹介する言語応答を生成してもよい。
【0186】
別の一例として、生成部704は、商談中に、ユーザ11の画像からユーザ11の体型を推定し、ユーザ11の過去の体型の履歴とを比較して、ユーザ11の体型の推移、又は過去の体型との比較等を行ってもよい。これにより、生成部704は、例えば、最近になって太ったユーザ11に対して、低糖質の食材、又は体重管理アプリケーション等の商材を初回する言語応答を生成してもよい。
【0187】
別の一例として、生成部704は、商談中に、ユーザ11の画像から、ユーザ11の服装おしゃれ度を推定し、ユーザ11の過去の服装おしゃれ度を比較してもよい。これにより、生成部704は、服飾関係の商材を優先的に紹介する価値があると判断したユーザ11に対して、具体的な商材を紹介する言語応答を生成してもよい。
【0188】
別の一例として、生成部704は、商談中に、ユーザ11の画像からユーザ11の体型を推定し、過去履歴の病歴情報等と合わせて、ユーザ11の体調を確認する必要があるかを判断してもよい。これにより、生成部704は、体調を確認する必要があると判断したユーザ11に対して、現状の体調を確認する言語応答を生成してもよい。
【0189】
ステップS2306において、生成部704は、生成した言語応答と、さらに、ユーザ11の非言語情報とに基づいて、対話エージェントのパラ言語(例えば、声のトーン、話す速さ、声の高さ、声の強さ、咳払い、ため息、笑い、又は沈黙等)を決定する。例えば、生成部704は、
図22に示すような入出力情報2102を参照して、ユーザ11の感情分析がポジティブであると判断した場合、入出力情報2102から、対話エージェントのポジティブな非言語情報(パラ言語)を取得してもよい。同様に、生成部704は、
図22に示すような入出力情報2102を参照して、ユーザ11の感情分析がネガティブであると判断した場合、入出力情報2102から、対話エージェントのネガティブな非言語情報(パラ言語)を取得してもよい。
【0190】
なお、
図22に示した入出力情報2102は一例である。入出力情報2102には、様々な、ユーザ11のポジティブな非言語情報、及びネガティブな非言語情報と、対話エージェントのポジティブな非言語情報、及びネガティブな非言語情報とを、予め登録しておく。
【0191】
ステップS2307において、制御部714は、生成部704が生成した言語応答と、生成部704が決定したパラ言語とに基づいて、対話エージェントの応答音声を合成する。
【0192】
また、サーバ装置100は、ステップS2306、S2307の処理と並行して、ステップS2308、S2309の処理を実行する。
【0193】
ステップS2308において、生成部704は、ユーザ11の非言語情報に基づいて、対話エージェントの表情、視線、又は所作等を決定する。例えば、生成部704は、
図22に示すような入出力情報2102を参照して、ユーザ11の感情分析がポジティブであると判断した場合、入出力情報2102から、対話エージェントのポジティブな非言語情報(表情、視線、又は所作等)を取得する。同様に、生成部704は、
図22に示すような入出力情報2102を参照して、ユーザ11の感情分析がネガティブであると判断した場合、入出力情報2102から、対話エージェントのネガティブな非言語情報(表情、視線、又は所作等)を取得する。
【0194】
ステップS2309において、生成部704は、決定した対話エージェントの表情、視線、又は所作等に基づいて、対話エージェントの動作(モーション)を決定する。
【0195】
具体的な一例として、生成部704は、商談中に、ユーザ11の感情分析がポジティブであると判断した場合、例えば、対話エージェントを笑顔とし、手振りを大きくしてもよい。また、生成部704は、ユーザ11の感情分析がネガティブであると判断した場合、例えば、対話エージェントを寂しい顔とし、頷き、お辞儀等をさせてもよい。
【0196】
ポジティブ・ネガティブの判断に加え非言語情報(個性系)に基づいて対話エージェントの動作(モーション)をさせてもよい。たとえば、ポジティブの場合で、過去履歴DBに記録されたユーザの手振りや腕組みの形、会話のペースやリズム、などユーザの非言語情報(個性系)に合わせた(類似した)動作を対話エージェントに実行させる。
【0197】
ステップS2310において、制御部714は、生成部704が決定した対話エージェントの動作に基づいて、対話エージェントを描画し、描画した対話エージェント、及び合成した応答音声を含む対話画面を出力する。例えば、出力部713は、通信部701を用いて、端末装置10に対話画面を送信する。
【0198】
対話システム1は、例えば、
図8の処理を繰り返し実行することにより、ユーザ11の非言語情報(個性系)、又は過去履歴DB2101等に基づいて、ユーザ11に対してより適切なリアクションを行えるようになる。
【0199】
<利用シーンの例>
続いて、本実施形態に係る対話システム1の利用シーンの例について説明する。
【0200】
(利用シーンA)
図24は、一実施形態に係る利用シーンAのシステム構成の例を示す図である。利用シーンAは、
図1の端末装置10がデジタルサイネージのサイネージ端末2400である場合の例を示している。
図24の例では、サイネージ端末2400は、カメラ、及びマイク等の入力デバイス2401と、コンピュータのハードウェア構成を備えている。
【0201】
図25は、一実施形態に係る利用シーンAの対話開始処理の例を示すフローチャートである。
【0202】
ステップS2501において、対話システム1は、サイネージ端末2400が備える入力デバイス2401で撮影した画像からユーザ11の顔を検知する。具体的な一例として、対話システム1は、入力デバイス2401で撮影した画像から人物の顔画像を抽出し、抽出した顔画像に対して顔認証を行う。また、対話システム1は、抽出した顔画像が顔認証OKとなった場合、ユーザ11の顔を検知したと判断する。
【0203】
ステップS2502において、対話システム1は、顔検知が所定の時間継続したかを判断する。例えば、対話システム1は、ユーザ11顔を検知した状態が、所定の時間(例えば、5秒間)継続したか否かを判断する。顔検知が所定の時間継続した場合、対話システム1は、処理をステップS2503に移行させる。一方、顔検知が所定の時間継続しなかった場合、対話システム1は、処理をステップS2501に戻す。なお、ステップS2501、S2502の処理は、サイネージ端末2400が行ってもよいし、サーバ装置100が行ってもよい。
【0204】
ステップS2503に移行すると、サーバ装置100は、ユーザ11の過去の履歴があるかを判断する。例えば、サーバ装置100は、過去履歴DB2101等を参照して、ユーザ11の過去の対話ログがある場合、ユーザ11の過去の履歴があると判断する。過去の履歴がある場合、サーバ装置100は、処理をステップS2504に移行させる。一方、過去の履歴がない場合、サーバ装置100は、処理をステップS2505に移行させる。
【0205】
ステップS2504に移行すると、サーバ装置100は、ユーザ11の過去の履歴(過去の対話ログ等)から、対話処理に用いるシナリオを決定する。これにより、対話システム1は、同じユーザ11に、何度も同じ質問、又は発話を繰り返し行ってしまうことを抑制することができる。
【0206】
ステップS2505に移行すると、サーバ装置100は、対話処理に用いるシナリオとして、定型のシナリオ(例えば、新規顧客用のシナリオ等)を選択する。
【0207】
ステップS2506に移行すると、対話システム1は、サイネージ端末2500との間で、例えば、
図1~23で説明した対話処理を実行する。
図25の処理により、対話システム1は、サイネージ端末2500を利用して、ユーザ11に対話サービスを提供することができる。また、対話システム1は、ユーザ11の過去の対話履歴等に基づいて、ユーザ11に提供する対話内容を変更することができる。なお、ステップS2703~S2705の処理はオプションであり、必須ではない。例えば、対話システム1は、ステップS2506の対話処理の中で、対話に用いるシナリオを決定してもよい。
【0208】
(利用シーンB)
図26は、一実施形態に係る利用シーンBのシステム構成の例を示す図である。利用シーンBは、
図1の端末装置10がメタバース用のディスプレイ端末2600である場合の例を示している。ディスプレイ端末2600は、例えば、ヘッドマウントディスプレイ、又は空間再現ディスプレイのメタバース用のディスプレイと、コンピュータの構成とを備えている。また、対話システム1は、仮想空間上の対話エージェントを用いて、ユーザ11に対話サービスを提供する。
【0209】
図27は、一実施形態に係る利用シーンBの対話開始処理の例を示すフローチャートである。
【0210】
ステップS2701において、対話システム1は、仮想空間上で、ユーザ11のアバターの接近を検知する。例えば、対話システム1は、ユーザ11のログイン情報、仮想空間上のユーザ11のアバターの座標と対話エージェントの座標から、ユーザ11のアバターが所定の距離(例えば、1m等)以内に接近したか否かを検知する。
【0211】
ステップS2702において、対話システム1は、ユーザ11のアバターが所定の距離(例えば、1m等)以内に接近した状態が、所定の時間(例えば、5秒等)継続したか否かを判断する。ユーザ11のアバターの接近が所定の時間継続した場合、対話システム1は、処理をステップS2703に移行させる。一方、ユーザ11のアバターの接近が所定の時間継続しなかった場合、対話システム1は、処理をステップS2701に戻す。
【0212】
ステップS2703に移行すると、サーバ装置100は、ユーザ11の過去の履歴があるかを判断する。例えば、サーバ装置100は、過去履歴DB2101等を参照して、ユーザ11の過去の対話ログがある場合、ユーザ11の過去の履歴があると判断する。過去の履歴がある場合、サーバ装置100は、処理をステップS2704に移行させる。一方、過去の履歴がない場合、サーバ装置100は、処理をステップS2705に移行させる。
【0213】
ステップS2704に移行すると、サーバ装置100は、ユーザ11の過去の履歴(過去の対話ログ等)から、対話処理に用いるシナリオを決定する。一方、ステップS2705に移行すると、サーバ装置100は、対話処理に用いるシナリオとして、定型のシナリオ(例えば、新規ユーザのシナリオ等)を選択する。
【0214】
ステップS2706に移行すると、対話システム1は、仮想空間上で、例えば、
図1~23で説明した対話処理を実行する。
図27の処理により、対話システム1は、メタバース用のディスプレイ端末2600を利用して、仮想空間上でユーザ11に対話サービスを提供することができる。
【0215】
(利用シーンC)
図28は、一実施形態に係る利用シーンCのシステム構成の例を示す図である。利用シーンCは、ユーザ11が、端末装置10を用いて、サーバ装置100が提供する対話エージェントとウェブ会議を行う場合の例を示している。なお、ユーザ11は、システム外の会議サーバ2810等が提供するウェブ会議に参加するものであってもよいし、サーバ装置100が、ウェブ会議を提供するものであってもよい。
【0216】
図29は、一実施形態に係る利用シーンCの対話開始処理の例を示すフローチャートである。
【0217】
ステップS2901において、ユーザ11が、端末装置10を用いて、対話システム1が提供する対話エージェントと同じウェブ会議に参加するものとする。例えば、ユーザ11は、端末装置10を用いて、対話エージェントとウェブ会議に参加するためのリンクにアクセスすることにより、当該ウェブ会議に参加する。
【0218】
ステップS2902において、対話システム1は、ウェブ会議において、ユーザ11による対話開始操作を受け付けたか否かを判断する。ユーザ11による対話開始操作を受け付けた場合、対話システム1は、処理をステップS2903に移行させる。一方、ユーザ11による対話開始操作を受け付けていない場合、対話システム1は、例えば、ステップS2902の処理を繰り返し実行する。
【0219】
ステップS2903に移行すると、サーバ装置100は、ユーザ11の過去の履歴があるかを判断する。例えば、サーバ装置100は、過去履歴DB2101等を参照して、ユーザ11の過去の対話ログがある場合、ユーザ11の過去の履歴があると判断する。過去の履歴がある場合、サーバ装置100は、処理をステップS2904に移行させる。一方、過去の履歴がない場合、サーバ装置100は、処理をステップS2905に移行させる。
【0220】
ステップS2904に移行すると、サーバ装置100は、ユーザ11の過去の履歴(過去の対話ログ等)から、対話処理に用いるシナリオを決定する。一方、ステップS2905に移行すると、サーバ装置100は、対話処理に用いるシナリオとして、定型のシナリオ(例えば、新規ユーザのシナリオ等)を選択する。
【0221】
ステップS2906に移行すると、対話システム1は、ウェブ会議上で、例えば、
図1~23で説明した対話処理を実行する。
図29の処理により、対話システム1は、ウェブ会議を利用して、ユーザ11に対話サービスを提供することができる。
【0222】
以上、本発明の各実施形態によれば、対話エージェントを用いてユーザ11と対話を行う対話システム1において、ユーザ11に対してより適切なリアクションを行えるようになる。
【0223】
<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0224】
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものに過ぎない。ある実施形態では、サーバ装置100は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0225】
また、サーバ装置100の各機能構成は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。さらに、サーバ装置100の各機能構成のうち、少なくとの一部は、端末装置10が有していてもよい。
【0226】
<付記>
本明細書には、下記の各項の対話システム、対話制御方法、及びプログラムが開示されている。
(第1項)
対話エージェントを用いてユーザと対話を行う対話システムであって、
前記対話から前記ユーザの言語情報を取得する第1の取得部と、
前記対話から前記ユーザの非言語情報を取得する第2の取得部と、
前記ユーザの言語情報と前記ユーザの非言語情報とに基づいて、前記対話エージェントの言語応答と非言語応答とを含む応答内容を生成する生成部と、
前記生成部で生成した応答内容に基づいて前記対話エージェントを制御する制御部と、
を備える、対話システム。
(第2項)
前記対話エージェントの応答内容は、前記対話エージェントの非言語応答を含み、
前記生成部は、前記ユーザの非言語情報に応じて、前記対話エージェントの非言語応答を変更する、
第1項に記載の対話システム。
(第3項)
前記生成部は、前記ユーザの非言語情報に応じて、前記対話エージェントのアクションの内容を変更する、第2項に記載の対話システム。
(第4項)
前記生成部は、前記ユーザの非言語情報に応じて、前記対話エージェントのアクションのタイミングを変更する、第2項又は第3項に記載の対話システム。
(第5項)
前記ユーザの非言語情報は、前記ユーザの画像から取得した表情、視線、姿勢、又は感情の情報を含む、第1項~第4項のいずれかに記載の対話システム。
(第6項)
前記ユーザの非言語情報は、前記ユーザの音声から取得した声の大小、声の抑揚、又は声の音色の情報を含む、第1項~第5項のいずれかに記載の対話システム。
(第7項)
前記生成部は、前記対話のシナリオに応じて、前記対話エージェントの応答内容を変更する、第1項~第6項のいずれかに記載の対話システム。
(第8項)
前記生成部は、予め設定された複数の対話段階に応じて、前記対話エージェントの応答内容を変更する、第1項~第7項のいずれかに記載の対話システム。
(第9項)
前記生成部は、前記ユーザの視線情報に基づいて前記対話段階を変更する、第8項に記載の対話システム。
(第10項)
前記ユーザの言語情報に基づいて、対話内容に関する画像を生成する画像生成部を有し、
前記対話エージェントと、前記画像とを用いて、前記ユーザと対話を行う、
第1項~第9項のいずれかに記載の対話システム。
(第11項)
前記対話の対話ログに基づいて、前記対話を要約する要約部を有する、第1項~第10項のいずれかに記載の対話システム。
(第12項)
前記対話は、前記ユーザとの商談であり、
前記商談の対話内容に基づいて、前記ユーザに提案する商材を提案する、
第1項~第11項のいずれかに記載の対話システム。
(第13項)
前記商談の対話内容に基づいて、前記商材のキャッチコピーを提示する。
第12項に記載の対話システム。
(第14項)
前記対話の過去の履歴を記憶したデータベースを有し、
前記生成部は、前記対話の過去の履歴に基づいて、前記対話のシナリオを変更する、第1項~13項のいずれかに記載の対話システム。
(第15項)
前記対話の過去の履歴を記憶したデータベースを有し、
前記生成部は、前記対話の過去の履歴を参照して、前記対話エージェントの言語応答を生成する、
第1項~14項のいずれかに記載の対話システム。
(第16項)
前記第2の取得部は、前記対話から前記ユーザの属性を示す非言語情報を取得し、
前記生成部は、前記ユーザの属性に応じた前記言語応答、又は前記非言語応答を生成する、第1項~第15項のいずれかに記載の対話システム。
(第17項)
対話エージェントを用いてユーザと対話を行う対話システムにおいて、
コンピュータが、
前記対話から前記ユーザの言語情報を取得する処理と、
前記対話から前記ユーザの非言語情報を取得する処理と、
前記ユーザの言語情報と前記ユーザの非言語情報とに基づいて、前記対話エージェントの言語応答と非言語応答とを含む応答内容を生成する生成処理と、
前記生成処理で生成した応答内容に基づいて前記対話エージェントを制御する処理と、
を実行する、対話制御方法。
(第18項)
対話エージェントを用いてユーザと対話を行う対話システムにおいて、
コンピュータに、
前記対話から前記ユーザの言語情報を取得する処理と、
前記対話から前記ユーザの非言語情報を取得する処理と、
前記ユーザの言語情報と前記ユーザの非言語情報とに基づいて、前記対話エージェントの言語応答と非言語応答とを含む応答内容を生成する生成処理と、
前記生成処理で生成した応答内容に基づいて前記対話エージェントを制御する処理と、
を実行させる、プログラム。
【0227】
以上、本発明の実施形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、及び応用が可能である。
【符号の説明】
【0228】
1 対話システム
10 端末装置
100 サーバ装置
200、300 対話画面
201、301、1401 バーチャルヒューマン(対話エージェント)
500 コンピュータ
702 第1の取得部
703 第2の取得部
704 生成部
714 制御部
1501 画像生成部
1701 要約部
1901 キャッチコピー生成部
【先行技術文献】
【特許文献】
【0229】