(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024160467
(43)【公開日】2024-11-14
(54)【発明の名称】エージェント管理装置
(51)【国際特許分類】
G06Q 50/10 20120101AFI20241107BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023075484
(22)【出願日】2023-05-01
(71)【出願人】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】110003177
【氏名又は名称】弁理士法人旺知国際特許事務所
(72)【発明者】
【氏名】川瀬 智子
(72)【発明者】
【氏名】勝丸 徳浩
(72)【発明者】
【氏名】藤本 拓
(72)【発明者】
【氏名】仲 信彦
(72)【発明者】
【氏名】小林 拓也
(72)【発明者】
【氏名】上田 彩花
(72)【発明者】
【氏名】山田 仰
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC11
5L050CC11
(57)【要約】
【課題】複数のユーザ間の会話の進行を補助するエージェントを提供する。
【解決手段】取得部111は、複数のユーザU1~U3間の会話に関する複数の要素を含む会話情報を取得する。判定部113は、会話情報に含まれる複数の要素に基づいて、会話の状態を評価し、評価の結果に応じてエージェントEが会話に介入すべきか否かを判定する。決定部114は、判定部113の判定結果が肯定である場合に、エージェントEの行動を決定する。実行部115は、決定部114によって決定された行動をエージェントEが実行するよう制御する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
複数のユーザ間の会話に関する複数の要素を含む会話情報を取得する取得部と、
前記会話情報に含まれる前記複数の要素に基づいて、前記会話の状態を評価し、前記評価の結果に応じてエージェントが前記会話に介入すべきか否かを判定する判定部と、
前記判定部の判定結果が肯定である場合に、前記エージェントの行動を決定する決定部と、
前記決定部によって決定された前記行動を前記エージェントが実行するよう制御する実行部と、
を備える、エージェント管理装置。
【請求項2】
前記複数の要素の少なくとも1つは、前記複数のユーザのうち少なくとも1人の、前記会話に関する非言語情報を含む、
請求項1記載のエージェント管理装置。
【請求項3】
前記非言語情報は、前記少なくとも1人のユーザの表情、声の抑揚、発言と発言との間の時間長、視線の向き、脈拍、呼吸数または体温の少なくともいずれかである、
請求項2記載のエージェント管理装置。
【請求項4】
前記判定部は、前記複数の要素に基づいて前記会話の状況を示す指標を推定し、前記指標に基づいて前記会話の状態を評価し、
前記決定部は、前記指標に基づいて前記行動を決定する、
請求項1記載のエージェント管理装置。
【請求項5】
前記指標は、前記会話における発話者の偏りであり、
前記判定部は、前記発話者に偏りがある場合、前記エージェントが前記会話に介入すべきと判定し、
前記決定部は、前記発話者となる頻度が他のユーザと比べて低いユーザに発話を促す行動を前記エージェントが行うように決定する、
請求項4記載のエージェント管理装置。
【請求項6】
前記指標は、前記複数のユーザ各々の前記会話に対するポジティブ度であり、
前記判定部は、前記複数のユーザのうち少なくとも1人の前記ポジティブ度が閾値以下である場合、前記エージェントが前記会話に介入すべきと判定し、
前記決定部は、前記会話の内容の変更を促す行動を前記エージェントが行うように決定する、
請求項4記載のエージェント管理装置。
【請求項7】
前記指標は、前記会話における不適切な発言の有無であり、
前記判定部は、前記不適切な発言があった場合、前記エージェントが前記会話に介入すべきと判定し、
前記決定部は、前記会話の終了、または、前記会話の内容の変更を促す行動を前記エージェントが行うように決定する、
請求項4記載のエージェント管理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エージェント管理装置に関する。
【背景技術】
【0002】
従来、自然言語を用いて自律的に人間とコミュニケーションを行うコンピュータプログラムである「エージェント」の利用が進んでいる。例えば、下記特許文献1に開示の多人数思考喚起型対話装置は、対話状況に応じてエージェントの対話行為を選択する対話制御ルールと、エージェントの発言表現を対話状況等に応じて選択する発言生成ルールとが記憶される。ユーザ発言理解部は、ユーザ発言を対話行為に変換して発言キューと対話状態に書き込む。対話制御部は、発言キューの先頭の対話行為と対話状態に記憶された対話行為の履歴を参照して対話制御ルールを適用してエージェントに関する対話行為を選択して発言キューの先頭の対話行為を取り除く。エージェント発言生成部は、対話行為を取得したときに対話行為の履歴を参照して発言生成ルールに基づいてエージェントの発言表現を生成してユーザに提示し、この対話行為を対話状態に格納して発言キューに追加する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
リモートコミュニケーション技術の発達によって、互いに離れた場所にいる複数のユーザが会話する機会が増えている。リモートコミュニケーションは、利便性がある一方で、実際に会って会話するのと比較して会話の間合いを取るのが難しく、会話の進行を担うことに負担を感じるユーザもいる。このような場合において、オブザーバーとしてエージェントを利用し、エージェントに会話の進行を補助させることが検討され得る。しかしながら、従来のエージェントは、エージェント自身が人間と対話することを目的として作られており、複数のユーザによる会話の進行を補助することが困難であるという課題がある。
【0005】
本発明の目的は、複数のユーザ間の会話の進行を補助するエージェントを提供することにある。
【課題を解決するための手段】
【0006】
本発明の一態様にかかるエージェント管理装置は、複数のユーザ間の会話に関する複数の要素を含む会話情報を取得する取得部と、前記会話情報に含まれる前記複数の要素に基づいて、前記会話の状態を評価し、前記評価の結果に応じてエージェントが前記会話に介入すべきか否かを判定する判定部と、前記判定部の判定結果が肯定である場合に、前記エージェントの行動を決定する決定部と、前記決定部によって決定された前記行動を前記エージェントが実行するよう制御する実行部と、を備える。
【発明の効果】
【0007】
本発明の一態様によれば、複数のユーザ間の会話の進行を補助するエージェントを提供することができる。
【図面の簡単な説明】
【0008】
【
図1】実施形態に係るシステム1の構成を示すブロック図である。
【
図2】ユーザ端末20の構成を示すブロック図である。
【
図4A】エージェントEの一例を示す模式図である。
【
図4B】エージェントEの一例を示す模式図である。
【
図5】エージェント制御部110における処理の概要を示す図である。
【
図6】処理装置103の動作を示すフローチャートである。
【発明を実施するための形態】
【0009】
A.第1実施形態
A-1.システム構成
図1は、実施形態に係るシステム1の構成を示すブロック図である。システム1は、サーバ10および複数のユーザ端末20A~20Cを含む。サーバ10およびユーザ端末20A~20Cは、ネットワークNを介して接続されている。
【0010】
ユーザ端末20AはユーザU1に所持される。ユーザ端末20Bは、ユーザU2に所持される。ユーザ端末20CはユーザU3に所持される。以下、複数のユーザ端末20A~20Cを区別しない場合は、単に「ユーザ端末20」と表記する。また、複数のユーザU1~U3を区別しない場合は、単に「ユーザU」と表記する。
【0011】
システム1は、ユーザ端末20に仮想空間VS(
図4A等参照)を表示させることにより、ユーザUが仮想空間VSで様々な体験をすることを可能とする。本実施形態では主に、ユーザUが仮想空間VSにおいて他のユーザUと会話する場合について説明する。
【0012】
ユーザUは、仮想空間VSではアバターAとして行動する。ユーザU1に対応するアバターAをアバターA1、ユーザU2に対応するアバターAをアバターA2、ユーザU3に対応するアバターAをアバターA3とする。複数のアバターA1~A3を区別しない場合は、単に「アバターA」と表記する。
【0013】
例えばユーザ端末20Aに表示される仮想空間VSの画像(以下「仮想空間画像」という)は、ユーザU1に対応するアバターA1の視野を示す。アバターA1の近傍に仮想空間画像の視点を配置し、アバターA1が仮想空間画像に映るようにしてもよい。ユーザU1は、ユーザ端末20Aを用いてアバターA1を操作することにより、仮想空間VS内を移動したり、会話を含めたコミュニケーションを他のユーザU2およびU3と取ることが可能である。
【0014】
サーバ10は、仮想空間VSを管理する。また、サーバ10は、仮想空間VSにおいてユーザUを補助するエージェントE(
図4参照)を管理する。サーバ10は、エージェント管理装置の一例である。より詳細には、サーバ10は、ユーザ端末20に仮想空間VSを表示させるための仮想空間データVDを管理する。また、サーバ10は、仮想空間データVDに基づいて、各ユーザ端末20で仮想空間画像を表示するための表示データを生成し、各ユーザ端末20に送信する。
【0015】
ユーザ端末20は、ユーザUが用いる端末の一例である。ユーザ端末20は、例えばスマートフォン、タブレット端末、パーソナルコンピュータ、またはヘッドマウントディスプレイ等の情報処理端末である。
図1では3台のユーザ端末20A~20Cを図示しているが、ユーザ端末20は4台以上であってもよいし、2台であってもよい。
【0016】
A-2.ユーザ端末20
図2は、ユーザ端末20の構成を示すブロック図である。ユーザ端末20は、通信装置201と、入力装置202と、表示装置203と、マイク204と、スピーカ205と、撮像装置206と、記憶装置207と、処理装置208と、これらの装置を相互に接続するバス220とを備える。
【0017】
通信装置201は、無線通信または有線通信を用いてサーバ10と通信する。本実施形態において、通信装置201は、ネットワークNに接続可能なインターフェースを備え、ネットワークNを介してサーバ10の通信装置101(
図3参照)と通信する。
【0018】
入力装置202は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、スイッチ、ボタン、またはセンサなど)である。表示装置203は、外部に対して情報を表示する表示デバイス(例えば、液晶表示パネルまたは有機EL表示パネル等の各種の表示パネル)である。また、表示装置203および入力装置202は、一体となった構成(例えば、タッチパネル)であってもよい。
【0019】
なお、ユーザ端末20がヘッドマウントディスプレイである場合には、表示装置203に代えて、ユーザUの両目の前方に配置されるレンズに画像を投影する投影装置が設けられる。
【0020】
マイク204は、ユーザ端末20の周囲で発生する音声を集音し、音声データとして出力する。本実施形態において、マイク204が集音する音声は、主にユーザUの発話音声である。スピーカ205は、入力された音声データに基づいて、ユーザ端末20の周囲で聴取可能な音を出力する。本実施形態において、スピーカ205が出力する音は、主に他のユーザUまたはエージェントEの発話音声である。
【0021】
撮像装置206は、ユーザUを撮像した画像(以下「ユーザ画像」という)を生成する。ユーザ端末20がスマートフォン、タブレット端末またはパーソナルコンピュータの場合、撮像装置206は、例えば撮像方向がユーザUに向いたインカメラである。また、ユーザ端末20が、例えばヘッドマウントディスプレイの場合、撮像装置206は、例えば視線検出用カメラである。
【0022】
記憶装置207は、処理装置208が読み取り可能な記録媒体である。記憶装置207は、例えば、不揮発性メモリと揮発性メモリとを含む。不揮発性メモリは、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)およびEEPROM(Electrically Erasable Programmable Read Only Memory)である。揮発性メモリは、例えば、RAM(Random Access Memory)である。記憶装置207は、プログラムPG2を記憶する。プログラムPG2は、ユーザ端末20を動作させるためのプログラムである。
【0023】
処理装置208は、1または複数のCPU(Central Processing Unit)を含む。1または複数のCPUは、1または複数のプロセッサの一例である。プロセッサおよびCPUの各々は、コンピュータの一例である。
【0024】
処理装置208は、記憶装置207からプログラムPG2を読み取る。処理装置208は、プログラムPG2を実行することによって、入力制御部211および出力制御部212として機能する。入力制御部211および出力制御部212の少なくとも一部の機能は、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)およびFPGA(Field Programmable Gate Array)等の回路によって構成されてもよい。
【0025】
入力制御部211は、入力装置202から入力された情報(以下「入力情報」という)をサーバ10に送信する。入力情報は、例えば仮想空間VSにおけるアバターAの移動方向を指示する情報、ユーザUの発話音声、またはユーザUを撮像した撮像画像等である。
【0026】
出力制御部212は、サーバ10から送信される情報(以下「出力情報」という)を、表示装置203から出力する。出力情報は、例えば仮想空間画像、または他のユーザUもしくはエージェントEの発話音声等である。
【0027】
A-3.サーバ10
図3は、サーバ10の構成を示すブロック図である。サーバ10は、通信装置101と、記憶装置102と、処理装置103と、これらの装置を相互に接続するバス150とを備える。
【0028】
通信装置101は、無線通信または有線通信を用いてユーザ端末20と通信する。本実施形態において、通信装置101は、ネットワークNに接続可能なインターフェースを備え、ネットワークNを介してユーザ端末20の通信装置201(
図2参照)と通信する。
【0029】
記憶装置102は、処理装置103が読み取り可能な記録媒体である。記憶装置102は、例えば、不揮発性メモリと揮発性メモリとを含む。不揮発性メモリは、例えば、ROM、EPROMおよびEEPROMである。揮発性メモリは、例えば、RAMである。記憶装置102は、プログラムPG1、仮想空間データVDを記憶する。
【0030】
プログラムPG1は、サーバ10を動作させるためのプログラムである。仮想空間データVDは、仮想空間VSをユーザ端末20で表示するためのデータである。仮想空間データVDは、例えば仮想空間VSに配置されているオブジェクトの形状並びに外観を示す情報、オブジェクトの位置を示す情報、ユーザUに対応するアバターAの形状並びに外観を示す情報、および、エージェントEの形状並びに外観を示す情報等を含む。
【0031】
処理装置103は、1または複数のCPUを含む。1または複数のCPUは、1または複数のプロセッサの一例である。プロセッサおよびCPUの各々は、コンピュータの一例である。
【0032】
処理装置103は、記憶装置102からプログラムPG1を読み取る。処理装置103は、プログラムPG1を実行することによって、エージェント制御部110、アバター制御部120、仮想空間制御部130および送信データ生成部140として機能する。また、エージェント制御部110は、取得部111、生成部112、判定部113、決定部114および実行部115を備える。エージェント制御部110(取得部111、生成部112、判定部113、決定部114および実行部115)、アバター制御部120、仮想空間制御部130および送信データ生成部140の少なくとも一部の機能は、DSP、ASIC、PLDおよびFPGA等の回路によって構成されてもよい。
【0033】
A-4.処理装置103の詳細
つぎに、処理装置103が実現する、エージェント制御部110(取得部111、生成部112、判定部113、決定部114および実行部115)、アバター制御部120、仮想空間制御部130および送信データ生成部140について説明する。
【0034】
エージェント制御部110は、仮想空間VSにおけるエージェントEの挙動を制御する。エージェント制御部110の詳細については後述する。
【0035】
アバター制御部120は、仮想空間VSにおけるアバターAの挙動を制御する。例えば、ユーザ端末20Aを例にすると、アバター制御部120は、ユーザ端末20Aから送信された、仮想空間VSにおけるアバターA1の移動方向を指示する情報に基づいて、仮想空間VSにおけるアバターA1の位置を決定する。また、アバター制御部120は、ユーザ端末20Aから送信された撮像画像(ユーザU1の表情)に基づいてアバターA1の表情を決定する。また、アバター制御部120は、ユーザ端末20Aから送信されたユーザU1の発話音声に基づいてアバターA1の発話を制御する。アバターA1の発話は、基本的にはユーザU1の発話そのものであるが、例えばボイスチェンジャーによって発話音声のデータが処理されてもよい。また、アバター制御部120は、ユーザ端末20Aから送信されたユーザU1の発話音声に基づいてアバターA1の口の動きを決定する。
【0036】
仮想空間制御部130は、仮想空間VSを制御する。仮想空間VSを制御する、とは、アバター制御部120によって決定されたアバターAの挙動およびエージェントEの挙動を、仮想空間データVD上に反映させることを含む。また、仮想空間VSを制御する、とは、例えばアバターAまたはエージェントEの挙動によって生じる仮想空間VSの変化を、仮想空間データVDに反映させることを含む。
【0037】
送信データ生成部140は、ユーザ端末20A~20Cに送信する送信データを生成する。送信データは、複数のユーザ端末20A~20Cごとに個別に生成され、それぞれのユーザ端末20A~20Cに送信される。仮想空間データVDは、主に画像データと音声データとを含む。画像データは、ユーザ端末20の表示装置203に、仮想空間画像を表示させる。音声データは、ユーザ端末20のスピーカ205に、仮想空間VSにおける音を出力させる。
【0038】
ユーザ端末20Aに送信する送信データを例にすると、送信データ生成部140は、仮想空間VSにおけるアバターA1の位置(視線の方向を含む)に基づいて、アバターA1の視野範囲に含まれる仮想空間VSの部分を特定する。送信データ生成部140は、仮想空間データVDのうち、当該仮想空間VSの部分を示す画像データを抽出する。当該仮想空間VSの部分に他のアバターA2,A3およびエージェントEが位置する場合には、他のアバターA2,A3およびエージェントEの画像も画像データに含まれる。また、送信データ生成部140は、仮想空間VSにおけるアバターA1の位置の周辺で生じている発生音を特定し、当該発生音を示す音声データを生成する。送信データ生成部140は、当該発生音の音量および発生音の発生源とアバターA1との距離に基づいて、それぞれの発生音の音量を調整した上で音声データを生成する。本実施形態では、音声データは、主に仮想空間VSにおいてアバターA1(ユーザU1)が会話する他のアバターAの発話音声およびエージェントEの発話音声を含む。
【0039】
次に、エージェント制御部110の詳細について説明する。本実施形態では、エージェントEの挙動のうち、エージェントEの発話内容について詳細に説明する。上述のように、エージェントEは、仮想空間VSにおいて、ユーザU(アバターA)を補助する。例えば1体のアバターA(ユーザU)に1体のエージェントEが付帯してもよいし、1体のアバターAに複数体のエージェントEが付帯してもよいし(例えば行動の内容によって異なるエージェントEが補助する等)、複数体のアバターAに1体のエージェントEが付帯してもよい(例えば同じ目的を持った複数のアバターAのグループを1体のエージェントEが補助する等)。また、エージェントEを必要としないユーザUは、自身のアバターAにエージェントEを付帯させなくてもよい。本実施形態では、アバターA1~A3のうち、アバターA1にのみエージェントEが付帯するものとする。
【0040】
図4Aおよび
図4Bは、エージェントEの一例を示す模式図である。
図4Aおよび
図4Bは、ユーザU1がユーザ端末20Aを用いて視聴する仮想空間画像VI1,VI2および音声を示す。
図4Aおよび
図4Bにおいて、点線で囲まれたテキストは、当該テキストが音声で出力されていることを示す。仮想空間VSにおいて、アバターA1(ユーザU1)は、例えば自身のルーム(図示なし)を作成し、例えば自身の好みに合った仮想オブジェクト(家具または装飾品など)を配置したり、他のユーザUに対応するアバターAを招いたりすることができる。ルームの外には、
図4Aに例示するような街並みが広がっており、アバターA1は、他のアバターAと交流したり、興味のある場所に出かけたりすることができる。なお、ルームの外は、街並みに限らず、公園、森林または海等であってもよい。
【0041】
ユーザUが仮想空間VSにアクセスすると、エージェントEが現れ、仮想空間VSにおけるアバターA1(ユーザU1)の行動を補助する。エージェントEは、例えば人型のアバターAと識別可能になるようにキャラクタの形状で表される。エージェントEは、例えばユーザU1の嗜好に基づいて、仮想空間VSにおけるイベントを紹介したり、当該イベントへの参加方法を教えたりする。
図4Aの例では、エージェントE(厳密にはエージェント制御部110)は、ユーザU1からの嗜好情報の入力またはユーザU1の行動の履歴に基づいて、ユーザU1が野球チームXのファンであることを把握している。よって、エージェントEは、ユーザU1に対して、野球チームXのファンミーティングを紹介している。
【0042】
図4Bは、アバターA1が野球チームXのファンミーティングに参加している様子を示す。アバターA1と同じテーブルには、アバターA2およびアバターA3が着席している。アバターA1~A3は、共に野球チームXのファンであり、野球チームXに関する話題を中心として会話が進行することが予測される。
【0043】
図4Aに示すような、アバターA1とエージェントEの1対1での会話では、エージェントEは、能動的にアバターA1に対して発言する。一方、
図4Bに示すような、アバターA1と他のアバターA2,A3との会話が行われている場面では、エージェントEは、能動的に発言するのではなく、必要な場合にのみ、アバターA1~A3の会話の進行を補助する発言を行う。
【0044】
以下では主に、
図4Bに示すような、複数のアバターA1~A3に対応する複数のユーザU1~U3による会話が行われている場合における、エージェントEの制御について説明する。上述のように、エージェント制御部110は、取得部111、生成部112、判定部113、決定部114および実行部115を含む。
【0045】
取得部111は、複数のユーザU1~U3間の会話に関する複数の要素を含む会話情報を取得する。本実施形態では、取得部111は、会話情報として、各ユーザ端末20A~20Cのマイク204で集音した音声データを取得する。また、取得部111は、会話情報として、各ユーザ端末20A~20Cの撮像装置206で撮像したユーザ画像を取得する。また、例えばユーザ端末20A~20Cが、ユーザU1~U3の装着するウエラブルデバイス(例えばスマートウォッチ等)と連携している場合、取得部111は、ウエラブルデバイスで計測しているユーザU1~U3の生体情報(心拍数、呼吸数または体温など)を会話情報として取得してもよい。
【0046】
生成部112は、会話におけるユーザU1~U3の発話内容に基づいて、エージェントEが発言する応答文の候補を生成する。生成部112は、一般的なエージェントシステムにおける対話エンジンに対応する。典型的には、生成部112は、ユーザU1~U3の発言内容に対して、応答文の候補を複数生成する。各応答文の候補は、発話内容との一致度を示すスコアが付されている。
【0047】
ユーザU1~U3の発話内容は、取得部111が取得した音声データに対して音声認識処理を行うことによって検出され得る。音声データに対する音声認識処理は、サーバ10で行ってもよいし、ユーザ端末20が行ってもよい。
【0048】
生成部112は、ユーザU1~U3の発話内容に基づいて、エージェントEが行うモーション(エモート)の候補を選択してもよい。モーションは、応答文の発話とともに行われてもよいし、応答文を伴わず単独で行われてもよい。
【0049】
後述する判定部113の判定結果によっては、エージェントEは、行動(応答文の発言またはモーションの実行等)を起こさない場合がある。エージェントEが行動しない可能性があるにも関わらず応答文の生成等を行うのは、会話の履歴および文脈を考慮した応答文候補を出力できるようにするためである。ただし、計算リソース削減のために、生成部112は、エージェントEの行動が必要な場合のみ応答文の生成等を行ってもよい。
【0050】
判定部113は、会話情報に含まれる複数の要素に基づいて、会話の状態を評価し、評価の結果に応じてエージェントEが会話に介入すべきか否かを判定する。判定部113は、例えば複数の要素に基づいて会話の状況を示す指標を推定し、指標に基づいて会話の状態を評価する。会話の状態とは、例えば会話の円滑さ、会話の盛り上がり、または、会話の広がり等である。以下、会話の状態の一例として、会話の円滑さを例に挙げて説明する。会話の円滑さは、会話の円滑度合いと言い換えられてもよい。判定部113は、会話の円滑さの評価値が介入閾値を下回った場合には、エージェントEが会話に介入すべきと判定する。
【0051】
本実施形態において、「会話情報に含まれる要素」とは、会話情報の解析により直接的に導き出される項目である。また、本実施形態において、「会話の状況を示す指標」とは、会話情報に含まれる要素を用いて推定される項目である。
【0052】
会話情報に含まれる要素は、例えば非言語情報と言語情報とに分類される。本実施形態において、会話情報に含まれる複数の要素の少なくとも1つは、複数のユーザU1~U3のうち少なくとも1人の、会話に関する非言語情報を含む。非言語情報は、例えば、少なくとも1人のユーザUの表情、声の抑揚、発言と発言との間の時間長(発言間の時間長)、視線の向き、心拍数、呼吸数または体温の少なくともいずれかである。上記に例示した非言語情報のうち、ユーザUの表情および視線の向きは、ユーザ画像から検出され得る。また、声の抑揚および発言と発言との間の時間長は、音声データから検出され得る。また、心拍数、呼吸数または体温は、ウエラブルデバイスが計測する生体情報を取得することで特定され得る。
【0053】
また、会話情報に含まれる複数の要素の少なくとも1つは、複数のユーザU1~U3のうち少なくとも1人の、会話に関する言語情報を含んでいてもよい。言語情報は、例えば少なくとも1人のユーザUの発話内容である。上述のように、ユーザUの発話内容は、生成部112における応答文の生成に用いられる。これに加えて、判定部113における判定の材料として、ユーザUの発話内容が用いられてもよい。
【0054】
一例として、会話の状況を示す指標は、会話における発話者の偏りである。発話者の偏りは、例えば会話に参加するユーザU1~U3各々の発話回数もしくは発話累計時間を検出することで推定できる。発話回数もしくは発話累計時間は、例えば、ユーザ端末20A~20Cから取得した音声データをそれぞれ個別に解析し、音声データ上で声が検出された回数およびその期間を集計することで検出することができる。
【0055】
判定部113は、会話における発話者に偏りがある場合、エージェントEが会話に介入すべきと判定する。判定部113は、会話に参加するユーザU1~U3各々の発話回数もしくは発話累計時間が同値に近いほど、会話の円滑さが高いと評価する。一方、判定部113は、会話に参加するユーザU1~U3各々の発話回数もしくは発話累計時間のバラツキが大きいほど、会話の円滑さが低いと評価する。例えばユーザU1~U3のうち、ユーザU3の発話回数もしくは発話累計時間が、他のユーザU1,U2の発話回数もしくは発話累計時間と比較して少ない場合、ユーザU3が会話に入りにくい状況であると予測される。また、例えばユーザU1~U3のうち、ユーザU1の発話回数もしくは発話累計時間が、他のユーザU2,U3の発話回数もしくは発話累計時間と比較して著しく多い場合、ユーザU1が持論を展開し、他のユーザU2,U3が発言しにくい等の状況が予測される。よって、これらのような場合は、会話の円滑さが低いと言える。
【0056】
なお、会話における発話者の偏りに基づいてエージェントEを介入させる場合、会話への参加人数に応じて、介入閾値が変更されてもよい。具体的には、会話への参加人数が多いほど、介入閾値が低く(介入が生じにくく)されてもよい。これは、一般に、会話への参加人数が多いほど、会話への参加の程度を均一にするのは困難となるためである。
【0057】
また、一例として、会話の状況を示す指標は、複数のユーザU1~U3各々の会話に対するポジティブ度である。本実施形態において、ポジティブ度とは、ユーザUの好意的な態度の総称である。ポジティブ度は、複数の要素に基づいて、複合的に推定され得る。例えば、判定部113は、ユーザUの表情に基づいてユーザUの感情を推定し、ユーザUの感情に基づいてユーザUのポジティブ度を推定し得る。感情には様々な分類方法が知られているが、例えば「喜怒哀楽」(「喜び」、「怒り」、「哀しみ」および「楽しみ」)を例にすると、「喜び」または「楽しみ」の少なくとも1つが高い状態は、ポジティブ度が高いと言える。反対に、「怒り」または「哀しみ」の少なくとも1つが高い状態はポジティブ度が低いと言える。
【0058】
また、判定部113は、例えば、ユーザUの声の抑揚に基づいてユーザUのポジティブ度を推定してもよい。例えば、声の抑揚が大きい時はポジティブ度が高く、声の抑揚が小さい時はポジティブ度が低いと推定し得る。また、判定部113は、例えば、ユーザUの視線の向きに基づいてユーザUのポジティブ度を推定してもよい。例えば、視線の向きの変化量が多い時(きょろきょろと落ち着かない時)はポジティブ度が低く、視線の向きの変化量が少ない時はポジティブ度が高いと推定し得る。
【0059】
ユーザUのポジティブ度は、例えばユーザUの感情または会話に対する興味の度合いと言い換えられてもよい。
【0060】
判定部113は、会話に参加するユーザU1~U3のポジティブ度の累計値が高いほど、会話の円滑さが高いと評価する。一方、判定部113は、会話に参加するユーザU1~U3のポジティブ度の累計値が低いほど、会話の円滑さが低いと評価する。または、判定部113は、会話に参加するユーザU1~U3のうち、ポジティブ度が最も低いユーザUのポジティブ度の値に基づいて、会話の円滑さを評価してもよい。
【0061】
この他、会話の状況を示す指標として、例えば不適切な発言の有無が用いられ得る。不適切な発言とは、例えば会話に参加する他のユーザUもしくはそれ以外の対象に対する罵詈雑言、または、犯罪を肯定もしくは助長する発言などである。会話内で不適切な発言があったか否かは、ユーザUの発話内容に基づいて判定される。
【0062】
判定部113は、不適切発言があった場合、エージェントEが会話に介入すべきと判定する。判定部113は、例えば不適切と判定される発言があった場合には、即座に会話の円滑さが介入閾値を下回ったと判定する。または、判定部113は、例えば不適切な発言の内容に応じて会話の円滑度合いを判定してもよい。具体的には、発言の不適切さの度合いが大きいほど、会話の円滑さが小さいと判定されてもよい。
【0063】
この他、会話の状況を示す指標として、例えば(1)直前の発話終了後からの無音時間長、または、(2)次の発話タイミングの予測値までの時間長、が用いられてもよい。判定部113は、これらの時間が長いほど会話の円滑さが小さいと判定する。また、判定部113は、(3)対話開始からの継続時間長、に基づいてエージェントEが会話に介入すべきか否かを判定してもよい。この場合、判定部113は、対話開始からの継続時間長が閾値以上となった場合に、エージェントEが会話に介入すべきと判定する。
【0064】
判定部113は、会話の円滑度合いに関わらず、会話情報に含まれる複数の要素を用いて、エージェントEが会話に介入すべきかどうかの判定をしても良い。例えば会話に参加するユーザU1~U3がエージェントEへの呼びかけや問いかけを行った場合は、エージェントEが会話に介入すべきと判定する。逆にユーザU1~U3がエージェントEに向けて介入を控えるように発言した場合は、介入閾値の引き上げ、または一定時間区間に許される介入回数への制限の設定等を行い、これに基づいてエージェントEは会話に介入すべきか判定をする。
【0065】
決定部114は、判定部113の判定結果が肯定である場合に、エージェントEの行動を決定する。本実施形態において、決定部114は、会話の状況を示す指標に基づいて、エージェントEの行動を決定する。エージェントEの行動が応答文の発言の場合、決定部114は、生成部112が生成した応答文の候補の中から、エージェントEが発言する応答文を選択する。また、エージェントEの行動がモーションの実行である場合、決定部114は、生成部112が選択したモーションの候補の中から、エージェントEが行うモーションを選択する。
【0066】
例えば、判定結果が肯定となった原因となる指標が、会話における発話者の偏りである場合、決定部114は、発話者となる頻度が他のユーザUと比べて低いユーザUに発話を促す行動をエージェントEが行うように決定する。例えば、発話の頻度が低いユーザUをユーザU3(Yさん)とする。ユーザU3に発話を促す行動とは、例えば「Yさんはどう思いますか?」等、直接的にユーザU3に発話を促す発言をすることであってもよい。また、ユーザU3に発話を促す行動とは、例えばユーザU3が発話しやすい話題に会話を誘導することであってもよい。ユーザU3が発話しやすい話題とは、例えばユーザU3の趣味または嗜好に合致した話題、または、ユーザU3の発話頻度が高かった時に話されていた話題である。この場合、決定部114は、例えばユーザU3の発話頻度が高かったタイミングで、生成部112により生成された応答文の候補を、エージェントEの発話内容として決定してもよい。
【0067】
また、例えば、判定結果が肯定となった原因となる指標が、会話に対する複数のユーザU1~U3各々のポジティブ度である場合、決定部114は、会話の内容の変更を促す行動をエージェントEが行うように決定する。会話の内容の変更を促す行動とは、例えば複数のユーザUが共通に興味を持つ話題(上述の例においては、野球チームXに関する話題)に会話を誘導することであってもよいし、複数のユーザUのうち、ポジティブ度が最も低いユーザUが発話しやすい話題に会話を誘導することであってもよい。
【0068】
なお、会話の内容の変更を促す行動をエージェントEが行った後も、複数のユーザU1~U3のいずれかのポジティブ度が向上しない場合、会話の内容が問題なのではなく、会話に参加するユーザU1~U3同士の相性が問題である可能性がある。よって、この場合、決定部114は、会話の終了を促す行動をエージェントEが行うように決定してもよい。
【0069】
また、例えば、判定結果が肯定となった原因となる指標が、不適切な発言である場合、決定部114は、会話の終了、または、会話の内容の変更を促す行動をエージェントEが行うように決定する。会話の終了を促す行動とは、例えば「今日はこのくらいにしませんか?」、「もうそろそろ帰りたいな」等、直接的に会話を終了させる発言を行うことであってもよいし、会話に参加するユーザU1~U3のいずれかに対して「そろそろ次の予定の時間です」等、会話から抜けやすくする発言を行うことであってもよい。また、この他、決定部114は、例えばエージェントEが不快感を示す表情となるモーションを実行させてもよい。
【0070】
実行部115は、決定部114によって決定された行動をエージェントEが実行するよう制御する。実行部115は、エージェントEの発話音声を示す音声データおよびエージェントEがモーションを行う画像データを生成する。音声データおよび画像データは、送信データの一部として、ユーザ端末20に送信される。
【0071】
図5は、エージェント制御部110における処理の概要を示す図である。エージェント制御部110は、ユーザ端末20から会話情報を取得する。会話情報は、例えば音声データ、ユーザ画像または生体情報である。エージェント制御部110は、会話情報に含まれる要素を検出する。要素には、言語情報と非言語情報が含まれる。言語情報は、例えばユーザUの発話内容である。非言語情報は、例えばユーザUの表情、声の抑揚、発言と発言との間の時間長(図中「発言間の時間長」と表記)、視線の向き、心拍数、呼吸数および体温等である。
【0072】
エージェント制御部110は、要素に基づいて、会話の状況を示す指標を推定する。指標は、例えばユーザU間における発話頻度の偏り、ポジティブ度、感情、興味の度合い、不適切な発言の有無等である。エージェント制御部110は、指標に基づいてエージェントEが介入すべきか否かを判定するとともに、指標に基づいてエージェントEの行動を決定する。エージェントEの行動は、例えば特定のユーザUに発話を促す、会話の話題の変更、会話の終了を促す等である。
【0073】
A-5.処理装置103の動作
図6は、処理装置103の動作を示すフローチャートである。
図6のフローチャートは、エージェント制御部110に関する処理を示す。サーバ10の処理装置103は、取得部111として機能し、ユーザ端末20から会話情報を取得する(ステップS11)。処理装置103は、生成部112として機能し、会話情報に含まれるユーザU1~U3の発話内容に基づいて、応答文の候補を生成する(ステップS12)。
【0074】
処理装置103は、判定部113として機能し、会話情報に含まれる複数の要素を検出する(ステップS13)。処理装置103は、判定部113として機能し、ステップS13で検出した複数の要素に基づいて、会話の状況を示す指標を推定する(ステップS14)。処理装置103は、判定部113として機能し、会話の状況を示す指標に基づいて会話の状態、具体的には会話の円滑さを評価し、会話に介入すべきか否かを判断する(ステップS15)。
【0075】
会話に介入すべきと判断した場合(ステップS15:YES)、処理装置103は、決定部114として機能し、エージェントEの行動を決定する(ステップS16)。処理装置103は、実行部115として機能し、ステップS16で決定した行動をエージェントEに実行させ(ステップS17)、処理をステップS11に戻す。また、ステップS15で会話に介入しないと判断した場合(ステップS15:NO)、処理装置103は、処理をステップS11に戻す。
【0076】
A-6.実施形態まとめ
以上説明したように、実施形態にかかるサーバ10は、会話情報に含まれる複数の要素に基づいて、会話の状態を評価し、エージェントEが会話に介入すべきか否かを判定する。判定に複数の要素を用いることによって、エージェントEが会話に介入すべきか否かがより的確に判定され得る。
【0077】
また、サーバ10は、複数の要素の少なくとも1つとして、会話に関する非言語情報を用いる。よって、発話内容等の言語情報のみを用いる場合と比較して、ユーザUの状態がより正確に判定に反映され得る。非言語情報は、少なくとも1人のユーザUの表情、声の抑揚、発言と発言との間の時間長、視線の向き、脈拍、呼吸数または体温の少なくともいずれかである。よって、言語情報には反映されないユーザUの状態が把握される。
【0078】
また、サーバ10は、複数の要素に基づいて会話の状況を示す指標を推定し、指標に基づいて会話の状態を評価するとともに、指標に基づいてエージェントEの行動を決定する。よって、より的確に会話の状況を反映したエージェントEの行動が決定され得る。
【0079】
例えば、サーバ10は、会話における発話者に偏りがある場合、発話者となる頻度が他のユーザUと比べて低いユーザUに発話を促す行動をエージェントEが行うように決定する。よって、会話に参加するユーザUの間における発話頻度の偏りが軽減される。
【0080】
また、サーバ10は、会話に参加する複数のユーザU1~U3のうち少なくとも1人のポジティブ度が閾値以下である場合、会話の内容の変更を促す行動をエージェントEが行うように決定する。よって、会話に参加する全てのユーザU1~U3が興味を持てる内容に会話を誘導し得る。
【0081】
また、サーバ10は、会話において不適切な発言があった場合は、会話の終了、または、会話の内容の変更を促す行動をエージェントEが行うように決定する。よって、不適切な発言により一部のユーザUが気分を害したり、会話が険悪な雰囲気になったりする状況が回避される。
【0082】
B:変形例
上述の実施形態における変形の態様を以下に示す。以下の変形の態様から任意に選択された2以上の態様を、相互に矛盾しない範囲において適宜に併合してもよい。
【0083】
B1:第1変形例
上述した実施形態では、仮想空間VSにおけるユーザU1~U3のコミュニケーションを例にして説明した。これに限らず、例えばユーザ端末20A~20Cを接続してユーザU1~U3がWEB会議を行う場合に、オブザーバーとしてエージェントEを利用してもよい。
【0084】
また、例えばゲストによるパネルディスカッション(個人による動画配信等であってもよい)を、ユーザ端末20を用いて聴衆が閲覧する場合にも、本実施形態は適用可能である。この場合、例えばゲスト同士の会話にエージェントEも参加する。サーバ10は、聴衆が使用するユーザ端末20から会話情報(主に聴衆の顔画像等の主に非言語情報)を取得し、聴衆のポジティブ度を推定する。聴衆のポジティブ度が低下している場合、すなわち、対談の内容が聴衆の興味から外れてきている場合、サーバ10は、会話の内容の変更を促す行動をエージェントEに行わせる。また、ゲストから不適切発言があった場合、サーバ10は、会話の内容の変更を促す行動または会話の終了を促す行動をエージェントEに行わせる。
【0085】
第1変形例に示すように、本実施形態にかかるシステム1は、様々なシチュエーションに適用可能である。
【0086】
C:その他
(1)上述した実施形態では、記憶装置102および205としてROM及びRAM等が例示されたが、記憶装置102および205は、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、CD-ROM(Compact Disc-ROM)、レジスタ、リムーバブルディスク、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ、データベース、サーバその他の適切な記憶媒体であってもよい。
【0087】
(2)上述した実施形態において、説明した情報、信号等は、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップ等は、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0088】
(3)上述した実施形態において、入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0089】
(4)上述した実施形態において、判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0090】
(5)上述した実施形態において例示した処理手順、シーケンス、フローチャート等は、矛盾の無い限り、順序が入れ替えられてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素が提示されており、提示された特定の順序に限定されない。
【0091】
(6)
図2および
図3に例示された各機能は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線等を用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0092】
(7)上述した実施形態で例示したプログラムは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能等を意味するよう広く解釈されるべきである。
【0093】
また、ソフトウェア、命令、情報等は、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)等)及び無線技術(赤外線、マイクロ波等)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0094】
(8)前述の各形態において、「システム」及び「ネットワーク」という用語は、互換的に使用される。
【0095】
(9)本開示において説明した情報、パラメータ等は、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0096】
(10)上述した実施形態において、携帯機器には、移動局(MS:Mobile Station)である場合が含まれる。移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、又はいくつかの他の適切な用語で呼ばれる場合もある。また、本開示においては、「移動局」、「ユーザ端末(user terminal)」、「ユーザ装置(UE:User Equipment)」、「端末」等の用語は、互換的に使用され得る。
【0097】
(11)上述した実施形態において、「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は、「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギー等を用いて、互いに「接続」又は「結合」されると考えることができる。
【0098】
(12)上述した実施形態において、「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0099】
(13)本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事等を含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事等を含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)等した事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」等で読み替えられてもよい。
【0100】
(14)上述した実施形態において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。更に、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0101】
(15)本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0102】
(16)本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBが夫々Cと異なる」ことを意味してもよい。「離れる」、「結合される」等の用語も、「異なる」と同様に解釈されてもよい。
【0103】
(17)本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
から選択された複数の態様を組み合わせてもよい。
【符号の説明】
【0104】
1…システム、10…サーバ、20(20A~20C)…ユーザ端末、110…エージェント制御部、111…取得部、112…生成部、113…判定部、114…決定部、115…実行部、120…アバター制御部、130…仮想空間制御部、140…送信データ生成部、A(A1~A3)…アバター、E…エージェント、N…ネットワーク、U(U1~U3)…ユーザ、VD…仮想空間データ、VS…仮想空間。