(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023136658
(43)【公開日】2023-09-29
(54)【発明の名称】会話分析装置
(51)【国際特許分類】
G10L 25/51 20130101AFI20230922BHJP
G10L 25/63 20130101ALI20230922BHJP
G10L 15/10 20060101ALI20230922BHJP
G10L 15/00 20130101ALI20230922BHJP
【FI】
G10L25/51
G10L25/63
G10L15/10 500N
G10L15/00 200H
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022042451
(22)【出願日】2022-03-17
(71)【出願人】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】110003177
【氏名又は名称】弁理士法人旺知国際特許事務所
(72)【発明者】
【氏名】横野 脩也
(72)【発明者】
【氏名】亀山 博紀
(72)【発明者】
【氏名】江原 英利
(57)【要約】
【課題】ユーザとロボットとの会話においてユーザが真摯に受け答えしていない場合の誤判断を回避する。
【解決手段】会話分析装置40は、音声制御部412、第1推定部414、第2推定部415、及び第1判定部416を備える。音声制御部412は、ロボットとユーザとの会話におけるユーザの返答の音声を表す音声データDv1を取得する。第1推定部414は、ユーザの返答の声色に込められている感情を表す第1感情ベクトルV1を音声データDv1に基づいて生成する。第2推定部415は、ユーザの返答の文言に込められている感情を表す第2感情ベクトルV2を音声データDv1に基づいて生成する。第1判定部416は、第1感情ベクトルV1により表される感情と第2感情ベクトルV2により表される感情との一致の程度を示す一致度に基づいて、ロボットとユーザとの会話が成立しているか否かを判定する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
ロボットとユーザとの会話における前記ユーザの返答の音声を表す音声データを取得する音声制御部と、
前記返答に込められている感情を前記音声データの表す音声の声色に基づいて推定する第1推定部と、
前記返答に込められている感情を前記音声データの表す文言に基づいて推定する第2推定部と、
前記第1推定部により推定される感情と前記第2推定部により推定される感情との一致の程度を示す一致度に基づいて、前記会話が成立しているか否かを判定する第1判定部と、
を備える会話分析装置。
【請求項2】
前記ユーザに対する問い掛けに対し前記返答が無かった場合、又は前記返答により話題がそらされた場合に、前記会話が成立していないと判定する第2判定部を更に備える、請求項1に記載の会話分析装置。
【請求項3】
前記会話における話題は、前記ユーザの共感の強さの判定対象となる事物であり、
前記会話が成立していると前記第1判定部により判定された場合に、前記事物に対する前記ユーザの共感の強さを示す共感度を、前記第1推定部により推定された感情と前記第2推定部により推定された感情とに基づいて推定する第3推定部、を更に備える、請求項1又は請求項2に記載の会話分析装置。
【請求項4】
前記会話の開始に先立って、前記事物に関連する物語を前記ユーザに提示する提示部を更に備える、請求項3に記載の会話分析装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、会話分析装置に関する。
【背景技術】
【0002】
特許文献1には、発話の意味内容に基づいて会話が成立しているか否かを判断する技術が開示されている。特許文献2には、会話が成立している程度を示す会話成立度を、一方の話者の会話音声が有音であり、他方の話者の会話音声が無音である区間の割合、及び両方が有音又は無音である区間の割合に基づいて算出する技術が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【特許文献1】特開2014-178621号公報
【特許文献2】国際公開2012/042768号
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、音声によりユーザと会話するロボットが種々提案されている。ロボットからの問い掛けに対して、例えばユーザがふざけて返答している場合、又はユーザが適当に生返事をしている場合のように、ユーザが真摯に受け答えしていない場合、ロボットとユーザとの会話が成立しているとは言えない。しかし、ユーザの発話の意味内容、又はロボットの会話音声及びユーザの会話音声の各々について有音又は無音となっている区間の割合に基づいて会話の成否を判定する技術では、ユーザが真摯に受け答えしていないと、会話が成立していると誤判断される場合がある。
【課題を解決するための手段】
【0005】
以上の課題を解決するために、本開示の好適な態様に係る会話分析装置は、音声制御部、第1推定部、第2推定部、及び第1判定部を備える。音声制御部は、ロボットとユーザとの会話における前記ユーザの返答の音声を表す音声データを取得する。第1推定部は、前記返答に込められている感情を前記音声データの表す音声の声色に基づいて推定する。第2推定部は、前記返答に込められている感情を前記音声データの表す文言に基づいて推定する。第1判定部は、前記第1推定部により推定される感情と前記第2推定部により推定される感情との一致の程度を示す一致度に基づいて、前記会話が成立しているか否かを判定する。
【発明の効果】
【0006】
本開示の会話分析装置によれば、ロボットとの会話においてユーザが真摯に受け答えしていない場合であっても、会話が成立しているとの誤判断が低減される。
【図面の簡単な説明】
【0007】
【
図1】実施形態に係る会話システム1の構成例を示すブロック図である。
【
図2】ロボット30の外観の一例を示す正面図である。
【
図3】ユーザ装置10の構成例を示すブロック図である。
【
図4】ロボット30の構成例を示すブロック図である。
【
図5】会話分析装置40の構成例を示すブロック図である。
【
図6】話題テーブルTBL1の一例を示す図である。
【
図7】単語テーブルTBL2の一例を示す図である。
【
図8】会話分析装置40の処理装置410がプログラムPR4に従って実現する機能を説明するための機能ブロック図である。
【
図9】ロボット30と会話対象者U1との会話の一例を示す図である。
【
図10】処理装置410がプログラムPR4に従って実行する会話分析方法の流れを示すフローチャートである。
【発明を実施するための形態】
【0008】
(A.実施形態)
(A-1:全体構成)
図1は、本開示の実施形態に係る会話システム1の構成例を示すブロック図である。
図1に示されるように、会話システム1は、会話分析装置40、ユーザ装置10、及びロボット30を備える。会話対象者U1は、ロボット30を使用するユーザである。ロボット30は、会話分析装置40による制御の下、会話対象者U1と会話を行う。会話対象者U1の典型例は、小学生等の子供である。ロボット30は、会話対象者U1の保護者U2によって会話対象者U1に買い与えられる。ロボット30は、例えば、会話対象者U1の勉強部屋等に配置される。ユーザ装置10は、通信網NWを介して会話分析装置40と通信する。ユーザ装置10は、保護者U2によって使用される。
【0009】
図2は、ロボット30の外観の一例を示す正面図である。ロボット30は、頭部31と胴部32とを有する。ロボット30は、電池の電力によって動作する。胴部32には、スピーカ370と人感センサ350とが配置される。頭部31の内部には、図示せぬマイクロフォン360が配置される。ロボット30は、人感センサ350を用いて、会話対象者U1が近づいたことを検知する。ロボット30は、人感センサ350による検知結果に基づいて動作モードを切り替える。ロボット30の動作モードには、会話対象者U1と会話する会話モードと、会話対象者U1と会話しないスリープモードとがある。スリープモードにおけるロボット30の消費電力は、会話モードにおけるロボット30の消費電力よりも小さい。スリープモードでは、人感センサ350に電力が供給されることによって、会話対象者U1がロボット30に近づいたことが検知される一方、他の構成要素への電力の供給は制限される。ロボット30は、会話モードとスリープモードを備えることで、会話対象者U1が近くにいる場合には、会話ができる一方、会話対象者U1が近くにいない場合には、消費電力を節約できる。
【0010】
本実施形態では、ロボット30は、会話を通じた会話対象者U1の情操教育に利用される。本実施形態では、ロボット30との会話における会話対象者U1の返答の音声を会話分析装置40に分析させることによって、会話対象者U1の成長要素が把握される。会話対象者U1の成長要素とは、会話対象者U1の共感が低く、今後の成長が見込める事物のことをいう。
【0011】
(A-2:ユーザ装置)
図3は、ユーザ装置10の構成例を示すブロック図である。ユーザ装置10の具体例としては、スマートフォン又はタブレット端末等が挙げられる。ユーザ装置10は、処理装置110、記憶装置120、表示パネル130、通信装置140、及び入力装置150を備える。ユーザ装置10の各要素は、情報を通信するための単体又は複数のバスで相互に接続される。なお、本明細書における「装置」という用語は、回路、デバイス又はユニット等の他の用語に読替えられてもよい。ユーザ装置10の各要素は、単数又は複数の機器で構成されてもよい。ユーザ装置10の一部の要素は省略されてもよい。
【0012】
処理装置110は、ユーザ装置10の全体を制御するプロセッサである。処理装置110は、例えば、単数又は複数のチップで構成される。処理装置110は、例えば、周辺装置とのインタフェース、演算装置及びレジスタ等を含む中央処理装置(CPU:Central Processing Unit)で構成される。なお、処理装置110の機能の一部又は全部は、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)等のハードウェアによって実現されてもよい。処理装置110は、各種の処理を並列的又は逐次的に実行する。処理装置110は、記憶装置120に記憶されたプログラムPR1に従って作動することにより、ユーザ装置10の制御中枢として機能する。
【0013】
記憶装置120は、処理装置110が読取可能な記録媒体である。記憶装置120は、プログラムPR1を含む複数のプログラム、及び処理装置110により使用される各種の情報等を記憶する。記憶装置120は、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)等の少なくとも1つによって構成されてもよい。プログラムPR1は、通信網NWを介して会話分析装置40等の他の装置から送信されてもよい。記憶装置120に記憶され、且つ処理装置110によって使用される情報の具体例としては、通信網NWにおいてロボット30を一意に示す第1識別情報、及び通信網NWにおいて会話分析装置40を一意に示す第2識別情報が挙げられる。第1識別情報の具体例としては、ロボット30に割り当てられる通信アドレスが挙げられる。同様に、第2識別情報の具体例としては、会話分析装置40に割り当てられる通信アドレスが挙げられる。
【0014】
表示パネル130は、画像を表示するデバイスである。表示パネル130の具体例としては、液晶表示パネル及び有機EL(Electro Luminescence)表示パネル等が挙げられる。
【0015】
通信装置140は、他の装置と通信を行うためのハードウェア(送受信デバイス)である。通信装置140は、例えば、ネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュール等とも呼ばれる。
【0016】
入力装置150は、外部からの入力を受け付けるデバイスである。入力装置150の具体例としては、表示パネル130と一体に設けられるタッチパネルが挙げられる。入力装置150は、ユーザが操作可能な複数の操作子を含んでもよい。入力装置150は、ユーザ、即ち保護者U2の操作に応じた入力情報を処理装置110へ出力する。本実施形態では、保護者U2は、入力装置150に対する操作により、会話対象者U1について成長要素であるか否かの判定対象となる事物を指定することができる。処理装置110は、保護者U2により指定された事物を示す情報、及び第1識別情報を、通信装置140を用いて、第2識別情報の示す装置、即ち会話分析装置40へ送信する。以下では、保護者U2により指定された事物を示す情報は判定対象情報と称される。
【0017】
(A-3:ロボット)
図4は、ロボット30の構成例を示すブロック図である。ロボット30は、処理装置310、記憶装置320、モータ330、通信装置340、人感センサ350、マイクロフォン360、及びスピーカ370を備える。ロボット30の各要素は、情報を通信するための単体又は複数のバスで相互に接続される。
【0018】
処理装置310は、ロボット30の全体を制御するプロセッサである。処理装置310は、単数又は複数のチップで構成される。処理装置310は、記憶装置320に記憶されたプログラムPR3に従って作動することにより、ロボット30の制御中枢として機能する。
【0019】
記憶装置320は、処理装置310が読取可能な記録媒体である。記憶装置320は、プログラムPR3を含む複数のプログラム、及び処理装置310により使用される各種の情報等を記憶する。記憶装置320は、例えば、ROM、EPROM、EEPROM、及びRAM等の少なくとも1つによって構成されてもよい。
【0020】
モータ330は、処理装置310の制御の下、動作する。モータ330を駆動することによって、
図2に示されるロボット30の頭部31又は腕が動く。通信装置340は、他の装置と通信を行うためのハードウェア(送受信デバイス)である。通信装置340は、会話分析装置40と通信する。人感センサ350は、人が近づいたことを検出し、検出結果を示す検出信号を処理装置310に出力する。処理装置310は、人感センサ350から検出信号が入力されると、動作モードを会話モードに切り替え、会話モードでの動作開始を示す開始信号を会話分析装置40へ送信する。処理装置310は、動作モードを会話モードに切り替えた後、所定時間に亙って人感センサ350から検出信号が入力されなかった場合に動作モードを会話モードからスリープモードに切り替える。また、処理装置310は、動作モードを会話モードからスリープモードに切り替えた場合に、会話モードでの動作終了を示す終了信号を会話分析装置40へ送信する。
【0021】
マイクロフォン360は、音を電気信号に変換することによって、会話対象者U1の音声を示す音声信号を生成する。マイクロフォン360により生成された音声信号は図示せぬAD変換器によって音声データに変換される。この音声データは処理装置310に出力される。処理装置310は通信装置340を介して音声データを会話分析装置40に送信する。
【0022】
スピーカ370は、処理装置310の制御の下、ロボット30の音声を会話対象者U1に対して出力する。スピーカ370は、DA変換器を備える。詳細については後述するが、本実施形態では、会話対象者U1との会話におけるロボットの音声を表す音声データは会話分析装置40によって生成される。会話分析装置40によって生成された音声データは通信網NWを介してロボット30に送信される。処理装置310は、通信網NWを介して受信した音声データをスピーカ370に出力する。スピーカ370は、DA変換器を用いて、処理装置310から出力された音声データを音声信号に変換する。スピーカ370はこの音声信号によって駆動される。
【0023】
(A-4:会話分析装置)
図5は、会話分析装置40の構成例を示すブロック図である。会話分析装置40は、例えば、サーバである。会話分析装置40は、処理装置410、記憶装置420、表示パネル430、通信装置440、及び入力装置450を備える。会話分析装置40の各要素は、情報を通信するための単体又は複数のバスで相互に接続される。会話分析装置40のハードウェア構成は、ユーザ装置10のハードウェア構成と同様である。但し、処理装置410の処理速度は、処理装置110の処理速度より高速であることが好ましい。また、記憶装置420の記憶容量は、記憶装置120の記憶容量よりも大きいことが好ましい。
【0024】
処理装置410は、プログラムPR4に従って作動することにより、会話分析装置40の制御中枢として機能する。記憶装置420は、プログラムPR4を含む複数のプログラム、話題テーブルTBL1、単語テーブルTBL2、及び処理装置410が使用する各種の情報等を記憶する。処理装置410が使用する各種の情報の具体例としては、ユーザ装置10から受信した第1識別情報と判定対象情報との組が挙げられる。
【0025】
図6は、話題テーブルTBL1の一例を示す図である。
図6に示されるように、話題テーブルには、テーマデータとストーリデータとの組みが複数格納される。テーマデータは、成長要素であるか否かの判定対象となる事物を表すテキストデータである。テーマデータの具体例としては、
図6に示されるように、「親切」、及び「礼儀」等の文字列を表すテキストデータが挙げられる。ストーリデータは、ストーリデータに対応付けられたテーマデータの表す事物に関する物語を表すテキストデータである。
図6に示されるように、本実施形態における話題テーブルTBL1では、「親切」を示すテーマデータには、ストーリデータAが対応付けられている。また、本実施形態では、「礼儀」を示すテーマデータには、ストーリデータBが対応付けられている。
図6に示される話題テーブルTBL1には、「親切」及び「礼儀」の2種類のテーマデータが格納されているが、「親切」及び「礼儀」に代えて又は「親切」及び「礼儀」に加えて、「友情」及び「勇気」等を示すテーマデータと当該テーマデータに対応するストーリデータとが話題テーブルTBL1に格納されてもよい。
【0026】
本実施形態におけるストーリデータAは、例えば「前を歩いていた人が落とした。拾ってみると・・・」という親切に関する物語を表す。
【0027】
また、本実施形態におけるストーリデータBは、例えば「“こんにちは”と大きな声で挨拶してくれたので、“こんにちは”と返すと・・・・」という礼儀に関する物語を表す。
【0028】
図7は、単語テーブルTBL2の一例を示す図である。
図7に示されるように、単語テーブルTBL2には、単語データと感情データとの組みが複数格納される。単語データは、ロボット30との会話における会話対象者U1の返答において用いられると想定される単語を表すテキストデータである。例えば、
図7に示される単語テーブルTBL2には、「楽しい」、「優しい」、「つまらない」、及び「悲しい」の各単語を表す単語データが格納されている。感情データは、感情データに対応付けられた単語データの表す単語を含む返答に込められていると想定される感情を表すテキストデータである。本実施形態では、「楽しい」という単語データには、「喜び」を示す感情データが対応付けられている。また、本実施形態では、「優しい」という単語データには、「やや喜び」を示す感情データが対応付けられている。本実施形態では、「つまらない」という単語データには、「怒り」を示す感情データが対応付けられている。本実施形態では、「悲しい」という単語データには、「悲しみ」を示す感情データが対応付けられている。詳細については後述するが、単語テーブルTBL2は、ロボット30との会話における会話対象者U1の返答の文言に込められている感情を推定する際に利用される。
【0029】
図8は、プログラムPR4に従って処理装置410が実現する機能を示すブロック図である。処理装置410は、記憶装置420からプログラムPR4を読み出して実行することによって、提示部411、音声制御部412、第2判定部413、第1推定部414、第2推定部415、第1判定部416、及び第3推定部417として機能する。
【0030】
提示部411は、ロボット30と会話対象者U1との会話の開始に先立って、成長要素であるか否かの判定対象となる事物に関連する物語を会話対象者U1に提示する。提示部411は、通信網NWを介してロボット30から開始信号SSを受信した場合に、当該開始信号SSの送信元に対応する第1識別情報に対応付けて記憶装置420に格納されている判定対象情報を読み出す。次いで、提示部411は、読み出した判定対象情報と同じ事物を示すテーマデータに対応付けて話題テーブルTBL1に格納されているストーリデータを読み出す。例えば、判定対象事物が「親切」である場合、提示部411は話題テーブルTBL1からストーリデータAを読み出す。
【0031】
次いで、提示部411は、「今日もお話を聞いてくれる?」という音声、及び、読み出したストーリデータの表す物語を読み上げた音声を表す音声データDSを合成する。提示部411は、合成した音声データDSをロボット30へ送信する。
図9は、ロボット30と会話対象者U1との間の会話の一例を示す図である。音声データDSを受信したロボット30は、
図9に示されるように、「今日もお話を聞いてくれる?」という音声Q11を出力し、その後、「前を歩いていた人が・・・」という音声Q12を出力する。ストーリデータAの表す物語を読み上げた音声Q12がロボット30から出力されることにより、ストーリデータAの表す物語が会話対象者U1に提示される。
【0032】
音声制御部412は、提示部411による物語の提示後、ロボット30から終了信号SEを受信するまで、ロボット30に会話対象者U1との会話を実行させる。音声制御部412は、会話対象者U1との会話におけるロボット30からの問い掛けの音声を表す音声データDv2を生成する。音声制御部412は、生成した音声データDv2を通信網NWを介してロボット30へ送信する。音声データDv2を受信したロボット30は、音声データDv2の表す音声を出力する。例えば、「この話を聞いてどう思った?」という音声Q13を表す音声データDv2が会話分析装置40からロボット30へ送信されると、ロボット30は、
図9に示されるように、音声Q13を出力する。なお、音声Q13は、「あたたかい気持ちになった?」という音声であってもよい。また、音声制御部412は、ロボット30からの問い掛けに対する会話対象者U1の返答の音声を表す音声データDv1をロボット30から取得する。例えば、音声Q13による問い掛けに対して、
図9に示されるように、「優しいと思った。」という返答A11が為された場合には、音声制御部412は、返答A11を表す音声データDv1をロボット30から取得する。
【0033】
第2判定部413は、音声データDv2をロボット30へ送信した時点から例えば30秒等の所定時間が経過するまでに、返答を表す音声データDv1が音声制御部412によって取得されなかった場合に、会話が成立していないと判定する。問い掛けに対して返答しないということは、ロボット30と会話する意志を会話対象者U1が有していないことの現れだからである。
【0034】
第2判定部413は、音声データDv2をロボット30へ送信した時点から所定時間が経過するまでに返答を表す音声データDv1が音声制御部412によって取得された場合であっても、当該音声データDv1の表す返答が話題そらしの返答であった場合には、会話が成立していないと判定してもよい。話題そらしの返答の具体例としては、「そんなことよりも別の話をしよう。」といった明示的に話題の変更を促す返答、又は「○○って面白いよね。」(〇〇は提示部411により提示した物語とは無関係な事物)等の提示した物語とは無関係な事物に関する返答が挙げられる。話題をそらすということは、成長要素か否かの判定対象となる事物に関し、ロボット30と会話する意志を会話対象者U1が有していないことの現れだからである。
【0035】
第1推定部414は、音声制御部412により取得された音声データDv1の表す返答に込められている感情を、音声データDv1の表す声色に基づいて推定する。声色とは、音声における音高の時間変化、音声における音の強さの時間変化、及び音声における音長の時間変化のことをいう。第1推定部414は、音声制御部412により取得された音声データDv1を解析することによって、音声データDv1の表す音声の声色を表す声色データを生成する。声色データの具体例として、MFCC(Mel-Frequency Cepstrum Coefficients)12次元、ラウドネス、基本周波数(F0)、音声確率、ゼロ交差率、HNR(Harmonics-to-Noise-Ratio)、及びこれらの一次微分、MFCC及びラウドネスの二次微分の一部又は全部を表すデータが挙げられる。
【0036】
次いで、第1推定部414は、音声データDv1から生成した声色データに基づいて、音声データDv1の表す返答の音声に込められている感情に関する「喜」、「怒」、「哀」、及び「楽」の各感情の評価値を成分とする第1感情ベクトルV1を生成する。音声には、その音声を発した者の感情が込められていることが一般的である。第1感情ベクトルV1は、音声データDv1の表す返答の音声に込められている「喜」、「怒」、「哀」、及び「楽」の各感情の強さを表す4次元ベクトルである。声色に基づいて音声に込められている感情を推定するアルゴリズムについては、既存の声色分析アルゴリズムが適宜用いられればよい。
【0037】
第2推定部415は、音声データDv1の表す返答の文言に基づいて、当該返答に込められている感情を推定する。第2推定部415は、音声データDv1に音声認識を施し、音声データDv1の表す返答の文章を表すテキストデータを生成する。次いで、第2推定部415は、音声データDv1から生成されたテキストデータの表す文章に形態素解析等を施し、当該文書を構成する単語を抽出する。そして、第2推定部415は、テキストデータの表す文章から抽出された単語毎に、対応する感情を単語テーブルTBL2を参照して特定する。そして、第2推定部415は、テキストデータの表す文章から抽出された単語毎に特定した感情に基づいて、音声データDv1の表す返答に込められている感情を表す第2感情ベクトルV2を生成する。
【0038】
音声を発する者は、音声を構成する文言をその時の感情に即して選択することが一般的である。第2感情ベクトルV2は、音声データDv1の表す返答の文言に込められている「喜」、「怒」、「哀」、及び「楽」の各感情の強さを表す4次元ベクトルである。音声の文言から感情を推定するアルゴリズムについては、既存の感情分析アルゴリズムが適宜利用されればよい。
【0039】
第1判定部416は、音声データDv1の示す返答の声色から推定される感情と音声データDv1の示す返答の文言から推定される感情との一致の程度を示す一致度に基づいて、ロボット30と会話対象者U1との会話が成立しているか否かを判定する。会話対象者U1の返答の声色から推定される感情と会話対象者U1の返答の文言から推定される感情とに基づいて、ロボット30と会話対象者U1との会話が成立しているか否かを判定できる理由は次の通りである。
【0040】
ロボット30からの問い掛けに対して会話対象者U1が真摯に答えている、即ちロボット30と会話対象者U1との会話が成立しているのであれば、返答の声色から推定される感情と返答の文言から推定される感情とに齟齬はないはず、即ち両者の一致度は高くなるはずである。例えば、音声Q13による問い掛けに対して、
図9に示されるように、「優しいと思った。」という返答A11が返され、返答A11の声色から推定される感情が「喜び」であったとする。この場合、会話対象者U1は真に「喜び」の感情を抱いて音声Q13による問い掛けに答えており、ロボット30と会話対象者U1との会話が成立していると考えられる。
【0041】
一方、返答の声色から推定される感情と返答の文言から推定される感情との一致度が高くない場合は、ロボット30からの問い掛けに対して会話対象者U1はふざけて答えている、又は適当に生返事をしていると考えられる。例えば、音声Q13による問い掛けに対して、
図9に示されるように、「優しいと思った」という返答A11が返され、返答A11の声色から推定される感情が「冷淡」又は「無感情」であったとする。この場合、会話対象者U1はロボット30からの問い掛けに対して適当に生返事を返していると考えられる。また、提示部411により悲しい物語が提示され、「悲しい」という返答であったにも拘わらず、その返答の声色には「楽しさ」の感情が込められていた場合には、会話対象者U1はふざけて返答していると考えられる。ロボット30からの問い掛けに対して会話対象者U1がふざけて答えている場合、又は適当に生返事をしている場合は、ロボット30と会話対象者U1との会話が成立しているとは言えない。以上が、会話対象者U1の返答の声色から推定される感情と会話対象者U1の返答のも文言から推定される感情との一致度に基づいて、ロボット30と会話対象者U1との会話が成立しているか否かを判定できる理由である。
【0042】
本実施形態では、第1判定部416は、返答の声色から推定される感情と返答の文言から推定される感情との一致度を示す値として、第1感情ベクトルV1と第2感情ベクトルV2との為す角度θ(0≦θ≦180°)を算出する。なお、角度θは、第1感情ベクトルV1と第2感情ベクトルV2との内積を、第1感情ベクトルV1のノルムと第2感情ベクトルV2のノルムの積で除算した値の逆余弦として求まる。そして、第1判定部416は、角度θが予め定めた閾値(例えば30°)未満であれば、ロボット30と会話対象者U1との会話が成立していると判定する。逆に、角度θが上記閾値以上であれば、ロボット30と会話対象者U1との会話が成立していないと判定する。本実施形態では、返答の声色から推定される感情と返答の文言から推定される感情との一致度を示す値として、第1感情ベクトルV1と第2感情ベクトルV2との為す角度が用いられたが、当該角度の余弦値が用いられてもよい。第1感情ベクトルV1と第2感情ベクトルV2との為す角度の余弦値は、第1感情ベクトルV1と第2感情ベクトルV2との内積を、第1感情ベクトルV1のノルムと第2感情ベクトルV2のノルムの積で除算した値である。第1感情ベクトルV1と第2感情ベクトルV2との為す角度の余弦値を一致度を示す値として用いる態様では、第1判定部416は、当該値が予め定めた閾値(例えば0.6)以上である場合に、ロボット30と会話対象者U1との会話が成立していると判定すればよい。また、返答の声色から推定される感情と返答の文言から推定される感情との一致度を示す値として、第1感情ベクトルV1の終点と第2感情ベクトルV2の終点との間の距離が用いられてもよい。
【0043】
第3推定部417は、会話が成立していると第1判定部416により判定された場合に、判定対象情報の示す事物に対する会話対象者U1の共感の強さを示す共感度を、第1感情ベクトルV1及び第2感情ベクトルV2に基づいて推定する。本実施形態では、第3推定部417は、第1感情ベクトルV1のノルムと第2感情ベクトルV2のノルムとを重み付け加算することにより共感度を算出するが、第1感情ベクトルV1と第2感情ベクトルV2との内積を共感度としてもよい。なお、第3推定部417は、第1感情ベクトルV1及び第2感情ベクトルV2に基づいて会話対象者U1の感情が判定対象事物の示す事物に対して肯定的な感情であるか、否定的な感情であるかを判定し、肯定の程度に応じて共感度を算出してもよい。
【0044】
そして、第3推定部417は、算出した共感度が所定の閾値未満である場合には、判定対象情報を、会話対象者U1の成長が更に見込める成長要素を示す成長要素情報として記憶装置420に記憶させる。なお、第3推定部417は、算出した共感度が所定の閾値以上である場合、判定対象情報を、会話対象者U1の長所を示す長所情報として記憶装置420に記憶させてもよい。また、第3推定部417は、成長要素情報又は長所情報に対応付けて共感度を記憶装置420に記憶させてもよい。
【0045】
また、処理装置410は、プログラムPR4を実行することによって、本開示の会話分析方法を実行する。
図10は、プログラムPR4に従って処理装置410が実行する会話分析方法の流れを示すフローチャートである。
図10に示されるように、この会話分析方法は、ステップSA110~ステップSA150の各処理を含む。
【0046】
ステップSA110では、処理装置410は、提示部411として機能する。ステップSA110では、処理装置410は、開始信号SSの受信を契機として、成長要素であるか否かの判定対象となる事物に関する物語の音声をロボット30に出力させる。
【0047】
ステップSA110に後続するステップSA120では、処理装置410は音声制御部412として機能する。ステップSA120では、処理装置410は終了信号SEをロボット30から受信したか否かを判定する。終了信号SEをロボット30から受信した場合、ステップSA120の判定結果は“Yes”となる。ステップSA120の判定結果が“Yes”である場合、処理装置410は本会話分析方法の実行を終了する。逆にステップSA120の判定結果が“No”である場合には、処理装置410はステップSA130以降の処理を実行する。
【0048】
ステップSA130では、処理装置410は、音声制御部412として機能する。ステップSA130では、処理装置410は、会話対象者U1との会話をロボット30に実行させる。即ち、ステップSA130では、処理装置410は、会話対象者U1に対する問い掛けの音声をロボット30に出力させる一方、会話対象者U1の返答の音声を表す音声データをロボット30から取得する。
【0049】
ステップSA130に後続するステップSA140では、処理装置410は、第2判定部413、第1推定部414、第2推定部415、及び第1判定部416として機能する。ステップSA140では、処理装置410は、まず、第2判定部413として機能する。問い掛けの音声を表す音声データDv2をロボット30へ送信した時点から所定時間が経過するまでに返答を表す音声データDv1が取得されなかった場合には、処理装置410は、ロボット30と会話対象者U1との会話が成立していないと判定する。問い掛けの音声を表す音声データDv2をロボット30へ送信した時点から所定時間が経過するまでに返答を表す音声データDv1が取得されなかった場合、ステップSA130の判定結果は“No”になる。
【0050】
問い掛けの音声を表す音声データDv2をロボット30へ送信した時点から所定時間が経過するまでに返答を表す音声データDv1を取得した場合、処理装置410は第1推定部414、第2推定部415、及び第1判定部416として機能する。処理装置410は、取得した音声データDv1に基づいて、前述の第1感情ベクトルV1及び第2感情ベクトルV2を算出する。そして、処理装置410は、第1感情ベクトルV1の表す感情と第2感情ベクトルV2の表す感情との一致度に基づいて、ロボット30と会話対象者U1との会話が成立しているか否かを判定する。ロボット30と会話対象者U1との会話が成立していると判定された場合にはステップSA140の判定結果は“Yes”になる。逆に、ロボット30と会話対象者U1との会話が成立していないと判定された場合には、ステップSA140の判定結果は“No”になる。
【0051】
ステップSA140の判定結果が“Yes”である場合、処理装置410はステップSA150の処理を実行した後にステップSA110の処理を再度実行する。これに対して、ステップSA140の判定結果が“No”である場合、処理装置410はステップSA150の処理を実行することなく、ステップSA110の処理を再度実行する。
【0052】
ステップSA150では、処理装置410は、第3推定部417として機能する。ステップSA150では、処理装置410は、第1感情ベクトルV1と第2感情ベクトルV2とに基づいて、判定対象情報の示す事物に対する会話対象者U1の共感の強さを示す共感度を算出する。そして、処理装置410は、算出した共感度が所定の閾値未満である場合には、判定対象情報を成長要素情報として記憶装置420に記憶させる。
【0053】
以上説明したように、会話分析装置40は、ロボット30との会話における会話対象者U1の返答の声色から推定される感情と返答の文言から推定される感情との一致度に基づいてロボット30との会話が成立しているか否かを判定するので、会話対象者U1が真摯に受け答えしていない場合に会話成立と誤判断されることを低減できる。加えて、会話分析装置40は、ロボット30との会話が成立していると判定されたときの返答に基づいて、判定対象情報の示す事物に対する会話対象者U1の共感の強さを推定することができるので、成長要素の誤判断も低減できる。
【0054】
(B:変形例)
本開示は、以上に例示した実施形態に限定されない。具体的な変形の態様は以下の通りである。以下の例示から任意に選択された2以上の態様が併合されてもよい。
(B-1:変形例1)
処理装置410は、複数種の事物の何れについても会話対象者U1の共感度が閾値未満であった場合には、会話対象者U1について感情表現が苦手と判定してもよい。また、処理装置410は、会話対象者U1が返答に用いた語彙と返答の声色から推定される感情とを対応付けて記憶装置420に書き込むことにより、語彙データベースを生成してもよい。例えば、語彙データベースにおいて「楽しさ」と「恐れ」との両者に共通して「ヤバイ」という語彙が対応付けられていたとする。このように、複数種の感情に対して同一の語彙が用いられている場合、会話対象者U1について語彙の不足(又は、表現力の不足)が推定される。語彙データベースを生成する態様においては、処理装置410は、語彙データベースの格納内容から会話対象者U1について語彙の不足(又は、表現力の不足)の有無を推定してもよい。そして、会話対象者U1について語彙の不足(又は、表現力の不足)が有ると推定された場合には、処理装置410は単語テーブルTBL2の格納内容を参照して他の単語による言い換えを会話対象者U1に提案してもよい。例えば、「楽しさ」を表現する場合には「ヤバイ」ではなく、「楽しい」又は「ワクワクした」等を使用することが提案されてもよい。
【0055】
また、語彙データベースを生成する態様においては、処理装置410は、会話対象者U1の年代を示す情報、会話対象者U1が居住する地域を示す情報、及び会話対象者U1の発育状況を示す情報の少なくとも一つを、会話対象者U1が返答に用いた語彙及び返答から推定された感情に対応付けて語彙データベースに格納してもよい。本態様により生成される語彙データベースでは、会話対象者U1の年代、居住地域、又は発育状況に固有の語彙の用法(或いは語彙の分布)がデータベース化される。この語彙データベースを参照することにより、特定の年代の会話対象者U1又は特定の地域に居住する会話対象者U1をターゲットとするコマーシャル等を作成する際に、共感を得やすい語彙を選択してコマーシャル等を作成することが可能になる。また、この語彙データベースを用いることにより、成長要素であるか否かの判定対象となる事物に関する会話において会話対象者U1が用いた語彙に基づいて、会話対象者U1の年代、居住地域、或いは発育状況を推定すること、即ち会話対象者U1のプロファイリングが可能になる。
【0056】
(B-2:変形例2)
提示部411、第2判定部413、及び第3推定部417は必須ではなく、省略されてもよい。要は、本開示の会話分析装置は、音声制御部412、第1推定部414、第2推定部415、及び第1判定部416を備えていればよい。音声制御部412は、ロボット30と会話対象者U1ユーザとの会話における会話対象者U1の返答の音声を表す音声データDv1を取得する。第1推定部414は、音声データDv1の示す返答に込められている感情を音声データDv1の表す音声の声色に基づいて推定する。第2推定部415は、音声データDv1の示す返答に込められている感情を音声データDv1の表す返答の文言に基づいて推定する。第1判定部416は、第1推定部414により推定される感情と第2推定部415により推定される感情との一致の程度を示す一致度に基づいて、ロボット30と会話対象者U1との会話が成立しているか否かを判定する。本態様の会話分析装置は、会話対象者U1が真摯に受け答えしていない場合に会話成立と誤判断されることを低減できる。
【0057】
(B-3:変形例3)
上記実施形態では、会話分析装置40とロボット30とが別個の装置であったが、会話分析装置40はロボット30に含まれてもよい。また、上記実施形態におけるプログラムPR4が単体で製造、又は販売されてもよい。
【0058】
(C:その他)
(1)上述した実施形態では、記憶装置120、320、及び420は、ROM及びRAM等を例示したが、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリデバイス(例えば、カード、スティック、キードライブ)、CD-ROM(Compact Disc-ROM)、レジスタ、リムーバブルディスク、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ、データベース、サーバその他の適切な記憶媒体である。また、プログラムは、電気通信回線を介してネットワークから送信されてもよい。また、プログラムは、電気通信回線を介して通信網から送信されてもよい。
【0059】
(2)上述した実施形態において、説明した情報、信号等は、様々な異なる技術の何れかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップ等は、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【0060】
(3)上述した実施形態において、入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【0061】
(4)上述した実施形態において、判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
【0062】
(5)上述した実施形態において例示した処理手順、シーケンス、フローチャート等は、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【0063】
(6)
図8に例示された各機能は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線等を用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【0064】
(7)上述した実施形態で例示したプログラムは、ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能等を意味するよう広く解釈されるべきである。
【0065】
また、ソフトウェア、命令、情報等は、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)等)及び無線技術(赤外線、マイクロ波等)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。
【0066】
(8)前述の各形態において、「システム」及び「ネットワーク」という用語は、互換的に使用される。
【0067】
(9)本開示において説明した情報、パラメータ等は、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。
【0068】
(10)上述した実施形態において、ユーザ装置10は、移動局(MS:Mobile Station)である場合が含まれる。移動局は、当業者によって、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、又はいくつかの他の適切な用語で呼ばれる場合もある。また、本開示においては、「移動局」、「ユーザ端末(user terminal)」、「ユーザ装置(UE:User Equipment)」、「端末」等の用語は、互換的に使用され得る。
【0069】
(11)上述した実施形態において、「接続された(connected)」、「結合された(coupled)」という用語、又はこれらのあらゆる変形は、2又はそれ以上の要素間の直接的又は間接的なあらゆる接続又は結合を意味し、互いに「接続」又は「結合」された2つの要素間に1又はそれ以上の中間要素が存在することを含むことができる。要素間の結合又は接続は、物理的なものであっても、論理的なものであっても、或いはこれらの組み合わせであってもよい。例えば、「接続」は「アクセス」で読み替えられてもよい。本開示で使用する場合、2つの要素は、1又はそれ以上の電線、ケーブル及びプリント電気接続の少なくとも一つを用いて、並びにいくつかの非限定的かつ非包括的な例として、無線周波数領域、マイクロ波領域及び光(可視及び不可視の両方)領域の波長を有する電磁エネルギー等を用いて、互いに「接続」又は「結合」されると考えることができる。
【0070】
(12)上述した実施形態において、「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【0071】
(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)」等で読み替えられてもよい。
【0072】
(14)上述した実施形態において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。更に、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。
【0073】
(15)本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。
【0074】
(16)本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」等の用語も、「異なる」と同様に解釈されてもよい。
【0075】
(17)本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
【0076】
(D:上述の形態又は変形例から把握される態様)
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。上述の実施形態又は変形例の少なくとも1つから以下の態様が把握される。
【0077】
第1の態様による会話分析装置は、音声制御部、第1推定部、第2推定部、及び第1判定部を備える。音声制御部は、ロボットとユーザとの会話におけるユーザの返答の音声を表す音声データを取得する。第1推定部は、ユーザの返答に込められている感情を返答の声色、即ち、音声制御部により取得した音声データの表す声色に基づいて推定する。第2推定部は、ユーザの返答に込められている感情を返答の文言、即ち、音声制御部により取得した音声データの表す文言に基づいて推定する。第1判定部は、第1推定部により推定される感情と第2推定部により推定される感情との一致の程度を示す一致度に基づいて、ユーザとロボットとの会話が成立しているか否かを判定する。第1の態様による会話分析装置は、ユーザとロボットとの会話が成立しているか否かをロボットに対するユーザの返答の声色から推定される感情と当該返答の文言から推定される感情との一致度に基づいて判定するので、ユーザが真摯に受け答えしていない場合の誤判断を低減できる。
【0078】
第1の態様の例(第2の態様)における会話分析装置は、ユーザに対する問い掛けに対し返答が無かった場合、又は返答により話題がそらされた場合に、会話が成立していないと判定する第2判定部を更に備えてもよい。第2の態様による会話分析装置は、ユーザに対する問い掛けに対し返答が無かった場合、又は返答により話題がそらされた場合に、ユーザとロボットとの会話が成立していないと判定できる。
【0079】
第1の態様又は第2の態様の例(第3の態様)において、ロボットとユーザとの会話における話題は、ユーザの共感の強さの判定対象となる事物であってもよい。第3の態様における会話分析装置は、以下の第3推定部を更に備えてもよい。第3推定部は、会話が成立していると第1判定部により判定された場合に、ユーザの共感の強さの判定対象となる事物に対するユーザの共感の強さを示す共感度を、第1推定部により推定された感情と第2推定部により推定された感情とに基づいて推定する。第3の態様の会話分析装置は、ロボットとユーザとの会話において話題とされた事物について、ユーザの共感の強さを推定できる。
【0080】
第3の態様の例(第4の態様)における会話分析装置は、ロボットとユーザとの会話の開始に先立って、ロボットとユーザとの会話において話題とする事物、即ちユーザの共感の強さの判定対象となる事物に関連する物語をユーザに提示する提示部を更に備えてもよい。第4の態様の会話分析装置は、ロボットとユーザとの会話において話題とする事物、即ちユーザの共感の強さの判定対象となる事物に関連する物語を会話に先立ってユーザに提示できる。
【符号の説明】
【0081】
1…会話システム、10…ユーザ装置、30…ロボット、40…会話分析装置、411…提示部、412…音声制御部、413…第2判定部、414…第1推定部、415…第2推定部、416…第1判定部、417…第3推定部。