JP2024092451A - 対話支援システム、対話支援方法、およびコンピュータプログラム - Google Patents

対話支援システム、対話支援方法、およびコンピュータプログラム

Info

Publication number
JP2024092451A
JP2024092451A JP2022208380A JP2022208380A JP2024092451A JP 2024092451 A JP2024092451 A JP 2024092451A JP 2022208380 A JP2022208380 A JP 2022208380A JP 2022208380 A JP2022208380 A JP 2022208380A JP 2024092451 A JP2024092451 A JP 2024092451A
Authority
JP
Japan
Prior art keywords
response
respond
person
operator
responder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022208380A
Other languages
English (en)
Inventor
達也 河原
昂治 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyoto University
Original Assignee
Kyoto University
Filing date
Publication date
Application filed by Kyoto University filed Critical Kyoto University
Publication of JP2024092451A publication Critical patent/JP2024092451A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】応対者が複数の相手と同時に対話する際のこれらの相手の待ち時間を短くする。
【解決手段】複数の相手それぞれの対話の活性度または優先度を算出して、複数の相手それぞれに対して応対者が応答すべきか自律的に応答すべきかをそれぞれの活性度または優先度に基づいて決定する応答者決定部146と、応対者が応答すべきであると決定された相手の発言に応答するように応対者へ指令する応答指令部147と、自律的に応答すべきと決定された相手の発言に対するセンテンスである自律応答を生成する応答センテンス決定部148と、応対者が応答すべきと決定された相手に対して、応対者から得られたセンテンスであるオペレータ応答を与え、自律的に応答すべきと決定された相手に対して、応答センテンス決定部148によって生成された自律応答を与える、言動データ送信部142とを、サーバ1に設ける。
【選択図】図4

Description

本発明は、応対者が1人で同時に複数の相手と音声で対話するのを支援する技術に関する。
従来、医療介護施設、展示施設、店舗や様々なサービス施設、およびコールセンタなど様々な場所または場面において、対面または電話で対話するサービスが数多くあり、近年の新型コロナウイルス感染症の世界的な流行以来、電子会議システムで対話する機会も急増している。これらの場所または場面の例では、対話者をホスト(応対者またはオペレータ)とゲスト(顧客)とに分けることができる。例えば、コールセンタの場合は、商品またはサービスの提供者のスタッフがホストであり、問合せ者がゲストである。ゲストの人数が増えるにつれて、ホストが対応できなくなり、ゲストの待ち時間が長くなる。
そこで、AI(Artificial Intelligence)チャットボットが提案され、実用化されている。AIチャットポットによると、ホストは、機械学習によって予め生成したAIを用いてゲストからの質問に回答することができる。そのほか、ルールベース型のチャットポットが実用化されている。
しかし、質問の内容は千差万別であり、AIチャットポットがすべてに応答するには限界があり、ゲストのストレスの一因にもなっている。また、質問応答以外に、おしゃべりをするような場合でも、システムの応答はそっけなく、ゲストの満足度は低い。AIチャットポットからから人間のスタッフへ引き継ぐこともできるが、対話の途中でかなりの間延びが生じることになり、テキストチャットの場合はともかく、音声対話の場合にはかなり不自然な中断となる。
そのほか、次のような技術が提案されている。特許文献1に記載される警備システムは、複数の監視表示装置と、複数の監視表示装置と通信可能に接続された管理装置とを有する警備システムであって、監視表示装置のそれぞれは、立哨する警備員を模したキャラクタの画像を表示し、監視空間を撮像し、監視空間内の人物を検知し、キャラクタに人物と対話させることによって第1応対を行い、対話の対話状況を特定し、撮像された画像と対話状況とを対応付けて管理装置に送信し、管理装置は、各監視表示装置から受信した画像と対話状況とをそれぞれ対応付けて表示する。さらに、前記複数の監視表示装置のそれぞれは、前記検知された人物の動作及び発話又は前記対話に関する所定の切替条件が満たされるか否かを判定する判定部をさらに備え、前記送信部は、前記切替条件が満たされると判定された場合、前記第1応対から前記管理装置を操作するオペレータとの通話による第2応対への切替要求を前記管理装置に送信し、前記管理装置は、前記監視表示装置を介して前記検知された人物との前記通話を可能とする通話部と、受信した前記切替要求に基づいて前記第2応対への切替処理を行う第2応対部と、を備え、前記第2表示部は、前記切替要求を受信した場合に、当該切替要求を送信した監視表示装置から受信した画像に、前記対話状況を対応付けて表示する。
このように、この警備システムは、複数の人物と同時に対話を自律的に行いつつ、切替条件が満たされた人物については対話の相手をオペレータへ切り替える。ただし、対話サービスを行うものでなく、対話がしばらく中断もしくは中止しても支障はない。
特許文献2に記載される情報処理装置は、インタラクション部と、検知部と、変更部とを備える。インタラクション部は、端末装置のユーザとの端末装置を利用した対話によるインタラクションを行う。検知部は、インタラクションの局面の遷移を検知する。変更部は、検知部によって局面の遷移が検知された場合に、インタラクション部によるインタラクションの態様を変更させる。さらに、前記変更部は、前記ネガティブな局面の打開策となる情報として、前記ユーザとの対話の相手を前記インタラクション部からオペレータへ切り替えることを示す情報を前記端末装置へ出力するように前記インタラクションの態様を変更させる。
このように、この情報処理装置は、ユーザとのインタラクションを自律的に行うが、ネガティブな局面になるとオペレータにインタラクションを行わせる。
特開2022-111128号公報 特開2018-156475号公報
上述の通り、最初はゲストとの対話の相手をAI等のコンピュータに担当させ、手動または自動でオペレータ(ホスト)に担当させる技術が従来、提案されている。
しかし、特許文献1、2に記載されるような従来の技術によると、1人のオペレータが複数のユーザと同時に対話を行うことが不可能であり想定もされていないので、時間が経過するにつれてオペレータが担当すべき相手が徐々に増えていく。つまり、従来の技術によると、オペレータが1人で同時に複数の相手と音声で対話するのを十分に支援できていない。結果として、相手を待たせる時間が長くなり、相手の対話意欲が大きく減退する。
本発明は、このような問題点に鑑み、応対者(ホスト、オペレータ)が1人で複数の相手と同時に対話する際にこれらの相手を待たせる時間を従来よりも短くすることを目的とする。
本発明の一形態に係る対話支援システムは、1人の応対者が複数の相手と音声で対話するのを支援する対話支援システムであって、前記応対者と前記複数の相手それぞれとが対話している際に、所定または任意のタイミングごとに当該複数の相手それぞれの対話の活性の度合を算出する算出手段と、前記複数の相手それぞれについて、前記応対者が応答すべきであるか自律的に応答すべきであるかを当該複数の相手それぞれの前記度合に基づいて決定する決定手段と、前記複数の相手のうちの前記応対者が応答すべきであると決定された相手の発言に応答するように前記応対者へ指令する指令手段と、前記複数の相手のうちの自律的に応答すべきであると決定された相手の発言に対するセンテンスである自律応答を生成する生成手段と、前記複数の相手のうちの前記応対者が応答すべきであると決定された相手に対しては、当該相手のために当該応対者から得られたセンテンスであるオペレータ応答を与え、自律的に応答すべきであると決定された相手に対しては、当該相手のために前記生成手段によって生成された前記自律応答を与える、応答手段と、を有することを特徴とする。
本発明によると、応対者が1人で複数の相手と同時に対話する際にこれらの相手を待たせる時間を従来よりも短くすることができる。
音声対話支援システムの全体的な構成の例を示す図である。 サーバのハードウェア構成の例を示す図である。 オペレータ端末のハードウェア構成の例を示す図である。 サーバの機能的構成の例を示す図である。 オペレータ端末およびユーザ端末それぞれの機能的構成の例を示す図である。 対話状況画面の例を示す図である。 アバター画面の例を示す図である。 対話履歴データの例を示す図である。 対話状況画面において応答者アイコンの態様が変化した際の様子の例を示す図である。 応答センテンス決定部の構成の例を示す図である。 対話支援プログラムによって実現される全体的な処理の流れの例を説明するフローチャートである。 点数リストの例を示す図である。 質問への回答を支援する処理の流れの例を説明するフローチャートである。 質問データの例および待機リストの遷移の例を示す図である。
〔1.全体の構成〕
図1は、音声対話支援システム4の全体的な構成の例を示す図である。図2は、サーバ1のハードウェア構成の例を示す図である。図3は、オペレータ端末2のハードウェア構成の例を示す図である。
音声対話支援システム4は、ホストが1人で複数のゲストと同時に対話するのを支援するシステムであって、図1に示すように、サーバ1、1台または複数台のオペレータ端末2、複数台のユーザ端末3、および通信回線400などによって構成される。以下、各オペレータ端末2を「オペレータ端末21」、「オペレータ端末22」、…と区別して記載することがある。同様に、各ユーザ端末3を「ユーザ端末31」、「ユーザ端末32」…と区別して記載することがある。
サーバ1と、各オペレータ端末2および各ユーザ端末3とは、通信回線400を介して互いに接続される。通信回線400として、インターネット、LAN(Local Area Network)回線、固定電話回線、または携帯電話回線などが用いられる。
ホストは、各ゲストとの対話をオペレーションする。そこで、以下、ホストを「オペレータ」と記載する。また、ゲストは、音声対話支援システム4によって提供される対話サービスを使用する。そこで、以下、ゲストを「ユーザ」と記載する。
ユーザによる発言への応答は、オペレータが行ったり、サーバ1がAI(Artificial Intelligence)によって行ったりする。したがって、サーバ1は、ハイブリッド型の対話システムのためのサーバであると言える。サーバ1として、いわゆるサーバ機またはクラウドサーバが用いられる。以下、サーバ1としてサーバ機が用いられる場合を例に説明する。
サーバ1は、図1または図2に示すように、サーバ本体10、ディスプレイ11、キーボード12、およびポインティングデバイス13などによって構成される。サーバ本体10は、図2に示すように、メインプロセッサ101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、補助記憶装置104、ネットワークアダプタ105、および入出力インタフェース106などによって構成される。
ROM103または補助記憶装置104には、対話支援プログラム14(図4参照)がインストールされている。対話支援プログラム14は、RAM102にロードされ、メインプロセッサ101によって実行される。
ネットワークアダプタ105は、NIC(Network Interface Card)などの通信装置であって、オペレータ端末2およびユーザ端末3などと通信するために用いられる。
入出力インタフェース106は、USB(Universal Serial Bus)などの規格に対応した入出力ボードであって、ディスプレイ11、キーボード12、およびポインティングデバイス13が接続される。
ディスプレイ11は、コマンドまたは情報を入力するための画面およびメインプロセッサ101による処理の実行結果を示す画面などを表示する。キーボード12およびポインティングデバイス13は、コマンドまたは情報を入力するために用いられる。
オペレータ端末2は、オペレータが複数のユーザと対話するために使用する端末装置である。オペレータ端末2として、ノート型パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどが用いられる。以下、オペレータ端末2としてノート型パーソナルコンピュータが用いられる場合を例に説明する。
オペレータ端末2は、図3に示すように、メインプロセッサ200、RAM201、ROM202、補助記憶装置203、ネットワークアダプタ204、ディスプレイ205、キーボード206、ポインティングデバイス207、デジタルビデオカメラ208、および音声ユニット209などによって構成される。
ROM202または補助記憶装置203には、オペレータ用プログラム24(図5参照)がインストールされている。オペレータ用プログラム24は、RAM201にロードされ、メインプロセッサ200によって実行される。
ネットワークアダプタ204は、NICなどの通信装置であって、サーバ1などと通信するために用いられる。ディスプレイ205は、コマンドまたは情報を入力するための画面およびメインプロセッサ200による処理の実行結果を示す画面などを表示する。キーボード206およびポインティングデバイス207は、コマンドまたは情報を入力するために用いられる。
デジタルビデオカメラ208は、オペレータの上半身を撮影し、その画像または動画像のデータを生成する。
音声ユニット209は、音声ボード、スピーカ、およびマイクなどによって構成される。マイクがオペレータの音声を集音し、音声ボードがその音声を音声データに変換する。または、サーバ1から送信されてきた音声データに基づいて音声ボードがユーザの音声に変換し、スピーカがユーザの音声を出力する。
ユーザ端末3は、ユーザがオペレータと対話するために使用する端末装置である。ユーザ端末3として、ノート型パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどが用いられる。以下、ユーザ端末3としてノート型パーソナルコンピュータが用いられる場合を例に説明する。したがって、ユーザ端末3のハードウェア構成も、図3に示した、オペレータ端末2のハードウェア構成と基本的に同様である。ただし、ROM202または補助記憶装置203には、ユーザ用プログラム34(図5参照)がインストールされている。
なお、対話支援プログラム14をサーバ1へインストールする作業は、管理者によって行われる。オペレータ用プログラム24をオペレータ端末2へインストールする作業は、管理者が行ってもよいしオペレータが行ってもよい。同様に、ユーザ用プログラム34をユーザ端末3へインストールする作業は、管理者が行ってもよいしユーザが行ってもよい。
〔2.オペレータと複数のユーザとの同時の対話の支援の仕組み〕
図4は、サーバ1の機能的構成の例を示す図である。図5は、オペレータ端末2およびユーザ端末3それぞれの機能的構成の例を示す図である。
次に、1人のオペレータが複数のユーザと同時に対話するのを音声対話支援システム4によって支援する具体的な仕組みについて説明する。
対話支援プログラム14によると、図4に示す対話履歴データ記憶部140、アバター制御部141、言動データ送信部142、音声生成部143、音声認識部144、ユーザ状況データ送信部145、応答者決定部146、応答指令部147、および応答センテンス決定部148などの機能がサーバ1に実現される。
オペレータ用プログラム24によると、図5に示す対話状況画面表示部241、ユーザ音声出力部242、およびオペレータ音声送信部243などの機能がオペレータ端末2に実現される。また、ユーザ用プログラム34によると、アバター画面表示部341、オペレータ音声出力部342、およびユーザデータ送信部343などの機能がユーザ端末3に実現される。
以下、ある1人のオペレータ281(図1参照)が3人のユーザ381、382、383と同時に対話する場合を例に、図4~図5の各部の処理を説明する。オペレータ281は、オペレータ端末21を使用し、ユーザ381、382、および383は、それぞれ、ユーザ端末31、32、および33を使用するものとする。
〔2.1 オペレータ端末2およびユーザ端末3の基本的な処理〕
〔2.1.1 画面の構成〕
図6は、対話状況画面51の例を示す図である。図7は、アバター画面53の例を示す図である。
オペレータ端末21において、対話状況画面表示部241(図5参照)は、図6のような対話状況画面51をディスプレイ205に表示させる。
対話状況画面51は、オペレータ281が担当するユーザごとに1つずつ小ウィンドウ52が設けられる。本例では、ユーザ381、382、383をオペレータ281が担当するので、それぞれの小ウィンドウ52として、小ウィンドウ521、522、523が設けられる。
それぞれの小ウィンドウ52は、動画像領域52a、スクリプト領域52b、および応答者アイコン52cなどによって構成される。
動画像領域52aには、ユーザ端末3において撮影された、ユーザの上半身の動画像が配置される。例えば、小ウィンドウ521の動画像領域52aには、ユーザ端末31において撮影された、ユーザ381の上半身の動画像が配置される。
スクリプト領域52bには、オペレータ281とユーザとの対話のセンテンスを表わすスクリプト(テキスト)が配置される。例えば、小ウィンドウ521のスクリプト領域52bには、オペレータ281とユーザ381との対話のスクリプトが配置される。初期の状態においては、スクリプト領域52bには何も配置されず、対話が進むにつれてスクリプトがタイムラインのように増えていく。
応答者アイコン52cは、ユーザの発言に対してAIが応答すべきかオペレータ281が応答すべきかを区別するためのアイコンである。本実施形態では、AIが応答すべきである場合は、応答者アイコン52cとして白いマイクを表わすアイコンが配置され、オペレータ281が応答すべきである場合は、応答者アイコン52cとして赤いマイクを表わすアイコンが配置される。例えば、ユーザ381の発言に対してAIが応答すべきである場合は、小ウィンドウ521の応答者アイコン52cとして白いマイクを表わすアイコンが配置される。
なお、動画像のデータおよびスクリプトのデータは、サーバ1からオペレータ端末21へ適宜、送信されてくる。これについては、後述する。
ユーザ端末31において、アバター画面表示部341(図5参照)は、図7(A)のようなアバター画面53をディスプレイに表示させる。アバター画面53には、ユーザ381のアバター29のアニメーションが再生される。
同様に、ユーザ端末32において、アバター画面表示部341は、アバター29のアニメーションを再生するために、図7(B)のようなアバター画面53をディスプレイに表示させる。また、ユーザ端末33において、アバター画面表示部341は、アバター29のアニメーションを再生するために、図7(C)のような、アバター画面53をディスプレイに表示させる。
ただし、オペレータ281は、各ユーザに応対するためのアバター29を1つずつ有している。したがって、本例では、3つのアバター29を有している。以下、ユーザ381、382、および383それぞれに応対するためのアバター29を「アバター291」、「アバター292」、および「アバター293」と区別して記載することがある。また、ユーザ端末31、32、および33それぞれのアバター画面53を「アバター画面531」、「アバター画面532」、および「アバター画面533」と区別して記載することがある。
なお、アバター29のデータおよびスクリプトのデータは、サーバ1からユーザ端末31、32、33へ適宜、送信されてくる。これについては、後述する。
〔2.1.2 音声の出力〕
オペレータ端末21において、ユーザ音声出力部242(図5参照)は、ユーザ381、382、383それぞれの音声を音声ユニット209から選択的に出力させる。なお、ユーザ381、382、383それぞれの音声のデータは、サーバ1からオペレータ端末21へ適宜、送信されてくる。これについては、後述する。
ユーザ端末31において、オペレータ音声出力部342は、ユーザ381に対してオペレータ281が発した音声を音声ボードから出力させる。同様に、ユーザ端末32において、オペレータ音声出力部342は、ユーザ382に対してオペレータ281が発した音声を音声ボードから出力させる。ユーザ端末33において、オペレータ音声出力部342は、ユーザ383に対してオペレータ281が発した音声を音声ボードから出力させる。
ただし、オペレータ281の音声の代わりにAIが決定した言葉を表わす音声が出力されることがある。オペレータ281の音声のデータは、サーバ1からユーザ端末31、32、33へ適宜、送信されてくる。これについては、後述する。
〔2.1.3 動画像および音声の収録〕
オペレータ端末21において、オペレータ281が発した音声は、音声ユニット209によって音声データ61に変換される。そして、オペレータ音声送信部243(図5参照)は、音声データ61をサーバ1へ送信する。
ユーザ端末31において、ユーザ381が発した音声は、音声ボードによって音声データ62に変換される。そして、ユーザデータ送信部343は、音声データ62をサーバ1へ送信する。同様に、ユーザ端末32において、ユーザ382の音声の音声データ62がユーザ381によってサーバ1へ送信される。また、ユーザ端末33において、ユーザ383の音声の音声データ62がユーザ381によってサーバ1へ送信される。以下、ユーザ381、382、および383それぞれの音声データ62を「音声データ621」、「音声データ622」、および「音声データ623」と区別して記載することがある。
また、ユーザ端末31において、デジタルビデオカメラは、ユーザ381の上半身を撮影する。そして、ユーザデータ送信部343は、その動画像の動画像データ63をサーバ1へ送信する。なお、音声データ62と動画像データ63とをMP4のようなマルチメディアコンテナに格納して送信してもよい。
同様に、ユーザ端末32において、デジタルビデオカメラは、ユーザ382の上半身を撮影し、ユーザデータ送信部343は、その動画像の動画像データ63をサーバ1へ送信する。ユーザ端末33において、デジタルビデオカメラは、ユーザ383の上半身を撮影し、ユーザデータ送信部343は、その動画像の動画像データ63をサーバ1へ送信する。以下、ユーザ381、382、および383それぞれの動画像データ63を「動画像データ631」、「動画像データ632」、および「動画像データ633」と区別して記載することがある。
〔2.2 サーバ1の処理〕
〔2.2.1 履歴の保存〕
図8は、対話履歴データ64の例を示す図である。
サーバ1において、対話履歴データ記憶部140(図4参照)には、図8に示すように、オペレータとユーザとの対話ごとの対話履歴データ64が予め用意され、記憶されている。本例では、オペレータ281とユーザ381、382、および383それぞれとの対話が行われるので、3つの対話履歴データ64が対話履歴データ記憶部140に記憶されている。以下、ユーザ381、382、および383それぞれとの対話の対話履歴データ64を「対話履歴データ641」、「対話履歴データ642」、および「対話履歴データ643」と区別して記載することがある。
対話履歴データ64には、発言ごとの時刻(発言時刻)、発言者、およびセンテンスが示される。活性度スコアを使用する場合は、さらに、点数が示される。活性度スコアおよび点数それぞれの意味については、後述する。
〔2.2.2 ユーザへの発言(対話の開始時)〕
ユーザ381~383への発言は、オペレータ281またはAIによって、主に対話の開始時およびユーザの発言に対する応答時に行われる。ここでは、対話の開始時における処理について説明し、ユーザの発言に対する応答時における処理については後述する。
対話の開始時にオペレータ281がオペレータ端末21に向かって発言すると、上述の通り、オペレータ281の音声のデータが音声データ61としてオペレータ端末21のオペレータ音声送信部243(図5参照)によってサーバ1へ送信される。ただし、オペレータ281は予め、ユーザ381~383のうちの今回の発言の相手を指定しておく。1人だけでなく複数人、指定することもできる。
すると、サーバ1において、アバター制御部141は、音声データ61に基づいて今回の発言のセンテンスに合うようにアバター29を動作させるための制御データ65を生成する。
そして、言動データ送信部142は、音声データ61および制御データ65を、オペレータ281によって指定されたユーザのユーザ端末3へ送信する。
例えば、今回の発言の相手がユーザ382であり、発言のセンテンスが「こんにちは、お元気ですか。」である場合は、アバター制御部141は、「こんにちは、お元気ですか。」と発言しているかのようにアバター292を動作させるデータを制御データ65として生成する。そして、言動データ送信部142は、音声データ61および制御データ65をユーザ端末32へ送信する。
対話の開始時に、オペレータ281に発言させる代わりに、予め決められたセンテンスを次のようにユーザ381~383へ与えてもよい。
音声生成部143は、予め決められたセンテンスの音声データを、オペレータ281の声色に合わせて(声音を真似て)生成する。これは、公知の音声合成技術(音声読上げ技術)によって実現することができる。音声合成技術にはAIが用いられているので、音声生成部143はAIの1つであると言える。アバター制御部141は、そのセンテンスを発言しているかのようにアバター29を動作させるデータを制御データ65として生成する。
そして、言動データ送信部142は、生成された音声データを音声データ61として、制御データ65とともに、対話を開始する相手のユーザ端末3へ送信する。
ユーザ端末3において、音声データ61および制御データ65がサーバ1から送信されてくると、オペレータ音声出力部342は、音声データ61に基づいて音声を出力し、アバター画面表示部341は、音声と同期させて制御データ65に基づいてアバター29を動作させる。
その結果、例えば、オペレータ281が上述の通りユーザ382に対して「こんにちは、お元気ですか。」と発言した場合は、ユーザ端末32において、オペレータ音声出力部342は、「こんにちは、お元気ですか。」という音声を音声ユニットによって出力させ、アバター画面表示部341は、「こんにちは、お元気ですか。」と発言しているようにアバター292(図7(B)参照)を動作させる。
〔2.2.3 ユーザの発言等の提示〕
ユーザ381~383は、それぞれ、オペレータ281の発言が音声として出力されると自らのユーザ端末3に向かって応答する。例えば、ユーザ382は、ユーザ端末32から「こんにちは、お元気ですか。」と出力されると、ユーザ端末32に向かって「一昨日から風邪気味です。」または「はい、元気です。」などのように発言することによって応答する。
すると、上述の通り、ユーザデータ送信部343(図5参照)によって、ユーザが発した音声が音声データ62としてサーバ1へ送信される。また、対話中(厳密には、対話の開始の少し前から対話の終了後少し経過するまで間)、ユーザの動画像が動画像データ63としてサーバ1へ送信される。
サーバ1において、音声認識部144(図4参照)は、対話中、音声データ62を公知の音声認識技術によってテキスト化する。すなわち、音声データ62の音声(発言)のセンテンスを認識し、それを表わすテキストデータを生成する。そして、音声データ62の送信元であるユーザ端末3のユーザに対応する対話履歴データ64(図8参照)へそのセンテンスを追記する。この際に、発言時刻および発言者も一緒に追記する。なお、ここではユーザ同士を識別する必要がないので、発言者を単に「ユーザ」と追記すればよい。点数は、追記されない。
これにより、対話中、対話履歴データ641、642、および643のそれぞれに、ユーザ381、382、および383の発言のセンテンスが、発言の時刻および発言者とともに記録されていく。
ユーザ状況データ送信部145は、ユーザ端末31~33のそれぞれから送信されてくる音声データ62および動画像データ63をオペレータ端末2へ転送する。さらに、発言のセンテンスが音声認識部144によって認識されテキストデータが生成されるごとに、そのテキストデータを発言テキストデータ66としてオペレータ端末2へ送信する。ただし、音声データ62および動画像データ63は、ユーザ端末31~33のうちの送信元であるユーザ端末3のユーザの識別子と対応付けてオペレータ端末2へ転送される。また、発言テキストデータ66は、ユーザ端末31~33のうち発言者であるユーザの識別子と対応付けてオペレータ端末2へ送信される。
オペレータ端末2において、対話状況画面表示部241(図5参照)は、ユーザ381、382、および383それぞれに対応する動画像データ63(631、632、633)に基づいて、ユーザ381、382、および383それぞれの動画像を対話状況画面51の動画像領域52a、52b、および53cで再生させる。さらに、発言テキストデータ66を受信するごとに、その発言テキストデータ66に対応するユーザのスクリプト領域52bに、その発言テキストデータ66に示される発言のセンテンスのテキスト(最新のテキスト)を配置する。ただし、既に過去の発言のセンテンスのテキスト(古いテキスト)が配置されている場合は、その直下に配置する。この際に適宜、古いテキストを上方へスクロールさせる。
ユーザ音声出力部242は、音声データ62に基づいて音声を出力させる。ただし、ユーザ381~383のうちオペレータ281が指定したユーザの音声のみを出力させる。したがって、例えば、オペレータ281がユーザ382を指定した場合は、音声データ622に基づいて音声を出力させる。
〔2.2.4 応答者の決定〕
サーバ1において、応答者決定部146(図4参照)は、ユーザの発言に対してオペレータ281が応答すべきかAIが応答すべきかを、後述するように、活性度スコア、優先度、または所定の語句の出現の有無などに基づいて決定する。すなわち、活性度スコアが最も低いユーザに対してオペレータが応答するよう、あるいは優先度が最も高い質問に対してオペレータが回答するように指示する。
〔2.2.5 ユーザの発言に対する応答〕
図9は、対話状況画面51において応答者アイコン52cの態様が変化した際の様子の例を示す図である。図10は、応答センテンス決定部148の構成の例を示す図である。
応答指令部147は、ユーザの発言に対してオペレータ281が応答すべきであると応答者決定部146によって決定された場合に、そのユーザの識別子を示す応答指令データ67をオペレータ端末2へ送信する。
オペレータ端末2において、対話状況画面表示部241(図5参照)は、応答指令データ67を受信すると、対話状況画面51(図6参照)を、応答指令データ67に示される識別子に対応するユーザの小ウィンドウ52の応答者アイコン52cの色が赤色になるように、かつ、その小ウィンドウ52の外枠の線の色が赤色になるように、更新する。これにより、例えば、ユーザ383の識別子が応答指令データ67に示される場合は、対話状況画面51が図9に示すように更新される。
そして、オペレータ281は、外枠の線が赤色になった小ウィンドウ52のスクリプト領域52bに示されるスクリプト(発言のセンテンス)を読み、応答のメッセージを決めてオペレータ端末21に向かって発する。
すると、オペレータ音声送信部243は、その小ウィンドウ52に対応するユーザの識別子を対応付けて、オペレータ281が発した音声の音声データ61をサーバ1へ送信する。さらに、対話状況画面表示部241は、そのユーザに対応する応答者アイコン52cを元の態様に戻す。
サーバ1において、アバター制御部141(図4参照)は、音声データ61を受信すると、音声データ61に基づいて今回の発言のセンテンス(オペレータ応答)に合うようにアバター29を動作させるための制御データ65を生成する。言動データ送信部142は、音声データ61および制御データ65を、音声データ61に対応付けられているユーザのユーザ端末3へ送信する。
そして、そのユーザ端末3において、上述の通り、オペレータ281の音声が再生されるとともに、それに合わせてアバター29が動作する。
さらに、今回の発言のセンテンスが、発言時刻および発言者とともに、そのユーザの対話履歴データ64(図8参照)へ追記される。ここでは、発言者として「オペレータ」が追記される。
一方、ユーザの発言に対してAIが応答すべきであると応答者決定部146によって決定された場合は、その発言のセンテンスが応答者決定部146から応答センテンス決定部148へ渡され、応答センテンス決定部148によって、その発言に対する応答のセンテンスが次のように決定される。
応答センテンス決定部148は、図10に示すように、韻律解析部180、相槌生成部181、焦点語検出部182、繰返応答生成部183、掘下質問生成部184、感情分析部185、評価応答生成部186、極性語彙的応答生成部187、語彙的応答生成部188、および応答センテンス選出部189などによって構成される。また、後に順次説明するように、AIの技術が用いられている。
韻律解析部180は、音声データ62に基づいて、ユーザの音声の韻律を解析する。相槌生成部181は、韻律解析部180によって解析された韻律に基づいて、ユーザの発言に応じて相槌を表わす応答のセンテンスを公知の方法によって生成する。例えば、「傾聴対話システムのための言語情報と韻律情報に基づく多様な形態の相槌の生成」(人工知能学会論文誌 31巻4号(2016); http://doi.org/10.1527/tjsai.C-G31)に記載される技術によって生成する。
焦点語検出部182は、音声認識部144によって認識された発言のセンテンスから焦点語を次のように検出する。
予め、音声対話支援システム4の開発者は、様々な文章を集め、それぞれの文章に対して形態素解析を行うとともにそれぞれの文章の中から焦点語を指定することによって学習データを用意する。そして、形態素解析された文章を説明変数として用いかつ指定された焦点語を目的変数として用いて機械学習を行うことによって学習済モデルを生成する。以下、この学習済モデルを「焦点語学習済モデル」と記載する。
そして、焦点語検出部182は、音声認識部144によって得られたテキストに対して形態素解析を行い、焦点語学習済モデルへ入力することによって、焦点語を検出(推論)する。
繰返応答生成部183は、焦点語検出部182によって検出された焦点語に基づいて、繰返し応答のセンテンスを生成する。「繰返し応答」は、相手の発言のセンテンスに含まれる焦点語を繰り返す応答方法である。繰返応答生成部183は、焦点語の品詞に応じた語句を焦点語の末尾に付すことによって、繰返し応答のセンテンスを生成する。例えば、「先週、家族でケーキを食べました。」というテキストから焦点語として「ケーキ」が検出された場合は、「ですか。」という語句を焦点語に付すことによって「ケーキですか。」という繰返し応答のセンテンスを生成する。
掘下質問生成部184は、焦点語検出部182によって検出された焦点語に基づいて、掘下げ質問のセンテンスを生成する。「掘下げ質問」は、相手の発言を掘り下げるために質問を投げ掛ける応答方法であって、次の2つの方法のうちのいずれかを用いればよい。
掘下質問生成部184は、「どんな」、「どの」、「なんの」、「なにの」、「どこの」、「いつの」、「だれの」の7種の疑問詞のうちのいずれかを焦点語に組み合わせることによって、掘下げ質問のセンテンスを生成する。これらの疑問詞のうちのどれを組み合わせるかは、予め用意したコーパスにおける、その焦点語の出現する形態の分布に基づいて決めればよい。これは、「「アンドロイドERICAの傾聴対話システム--人間による傾聴との比較評価--」(人工知能学会論文誌36巻5号(2021); https://doi.org/10.1527/tjsai.36-5_H-L51))に詳細に説明されている。この方法によると、例えば、「ケーキ」という焦点語から「どんなケーキですか。」という掘下げ質問のセンテンスが生成される。
感情分析部185は、音声データ62、音声認識部144によって認識された発言のセンテンス、および韻律解析部180によって解析された韻律、すなわち、音響、言語、および韻律の情報に基づいてユーザの感情を判別する。この処理は、公知の感情分析技術によって実現される。例えば、「アンドロイドを用いた音声対話研究」(日本音響学会誌76巻4号(2020)第236-243頁; https://doi.org/10.20697/jasj.76.4_236)で紹介される技術が用いられる。
評価応答生成部186は、感情分析部185によって判別された感情に基づいて評価応答のセンテンスを生成する。「評価応答」は、称賛または労いを伝えることによって相手の発言への評価を示す応答方法である。本実施形態では、感情がポジティブなものである場合は、「いいですね。」または「素敵ですね。」のような、評価応答のセンテンスを生成する。一方、ネガティブなものである場合は、「大変ですね。」または「残念でしたね。」のような、評価応答のセンテンスを生成する。感情がポジティブかネガティブかは、公知の方法によって判別することができる。
極性語彙的応答生成部187は、感情分析部185によって判別された感情に基づいて極性語彙的応答のセンテンスを生成する。「極性語彙的応答」は、同意を意味する定型表現の韻律パターンを極性によって使い分ける応答方法である。本実施形態では、感情がポジティブなものである場合は、「そうですか↑」または「そうなんですね↑」という、極性語彙的応答のセンテンスを生成する。「↑」は、語尾を上げることを意味する。一方、ネガティブなものである場合は、「そうですか↓」または「そうなんですね↓」という、極性語彙的応答のセンテンスを生成する。「↓」は、語尾を下げることを意味する。
語彙的応答生成部188は、音声認識部144によって認識された発言のセンテンスに基づいて語彙的応答のセンテンスを生成する。語彙的応答は、バックアップ的な応答として用いられる。語彙的応答生成部188は、「そうですか。」、「そうなんですね。」、または「なるほど。」のような、語彙的応答のセンテンスを生成する。なお、語尾を上げたり下げたりせず、平坦なものとする。
ただし、これらの6つの生成部(相槌生成部181、繰返応答生成部183、掘下質問生成部184、評価応答生成部186、極性語彙的応答生成部187、語彙的応答生成部188)すべてから同時期に応答のセンテンスが得られるとは、限らない。例えば、焦点語がコーパスに含まれない場合に、掘下質問生成部184は、応答(掘下げ質問)のセンテンスを生成しない。
そして、応答センテンス選出部189は、所定のインターバルで、直前の所定の時間(例えば、1秒間)に得られた応答のセンテンスのうちの1つをランダムに、ユーザの発言に対する応答のセンテンスとして選出する。
図4に戻って、ユーザの発言に対する応答のセンテンスが応答センテンス決定部148によって決定(選出)されると、音声生成部143は、そのセンテンスの音声データを、オペレータ281の声の特徴に合わせて生成する。アバター制御部141は、そのセンテンス(自律応答)の読上げに合うようにアバター29を動作させるための制御データ65を生成する。そして、言動データ送信部142は、生成された音声データを音声データ61として、制御データ65とともに、そのユーザのユーザ端末3へ送信する。すると、ユーザ端末3において、音声およびアバター29の再生の処理が上述の通り行われる。
また、応答センテンス決定部148は、そのユーザに対応する対話履歴データ64(図8参照)へ、そのセンテンスを追記する。この際に、対話履歴データ64へ、言動データ送信部142による送信の時刻を発言時刻として追記し、「AI」を発言者として追記する。
〔3.対話支援プログラム14による全体的な処理の流れ〕
図11は、対話支援プログラム14によって実現される全体的な処理の流れの例を説明するフローチャートである。
次に、対話支援プログラム14によるサーバ1の全体的な処理の流れを、フローチャートを参照しながら説明する。サーバ1は、対話支援プログラム14に従って、図11に示す手順で処理を実行する。
サーバ1は、オペレータ端末2およびユーザ端末3と接続されると、対話の開始のための処理を行う(図11の#701)。この処理は、対話の目的などに応じて予め決めておけばよい。
例えば、お年寄りの傾聴が目的である場合は、サーバ1は、「こんにちは、お元気ですか。」のような所定のメッセージの、オペレータの人工の音声を発する音声データ61を生成するとともに、そのメッセージに合わせて制御データ65を生成する。そして、そのメッセージ等を、オペレータの対話の相手であるユーザ(以下、「対話対象」と記載する。)の対話履歴データ64(図8参照)に記録するとともに、音声データ61および制御データ65を対話対象のユーザ端末3へ送信する。
サーバ1は、対話対象のユーザ端末3から音声データ62および動画像データ63を受信し始めると(#702)、音声データ62に対して音声認識処理を行うことによって対話対象の発言のセンテンスを判別しテキスト化する(#703)。オペレータのオペレータ端末2へ音声データ62および動画像データ63を転送し(#704)、テキスト化された発言のセンテンスが対話対象の小ウィンドウ52のスクリプト領域52bに表われるようにオペレータのオペレータ端末2を制御する(#705)。さらに、発言のセンテンスを対話対象の対話履歴データ64(図8参照)に記録する(#706)。
サーバ1は、所定のインターバルで、すなわち定期的に、オペレータおよびAIのどちらが発言へ応答すべきなのかを、活性度スコアに基づいて決定する(#707)。
サーバ1は、オペレータが応答すべきであると決定した場合は(#708でYes)、オペレータのオペレータ端末2へ応答指令データ67を送信する(#709)。そして、オペレータによる応答の音声の音声データ61をオペレータ端末2から受信すると(#710)、制御データ65を生成するとともに(#711)、その応答のセンテンスを対話対象の対話履歴データ64に記録する(#712)。そして、音声データ61および制御データ65を対話対象のユーザ端末3へ送信する(#716)。
一方、AIが応答すべきであると決定した場合は(#708でNo)、サーバ1は、AIすなわち図10で説明した仕組みによって応答のセンテンスを決定し(#713)、そのセンテンスの音声データ61および制御データ65を生成するとともに(#714)、そのセンテンスを対話対象の対話履歴データ64へ記録する(#715)。そして、生成した音声データ61および制御データ65を対話対象のユーザ端末3へ送信する(#716)。
サーバ1は、対話が継続している間(#717でYes)、ステップ#702~#716の各処理を適宜、実行する。
また、サーバ1は他の対話についても同様に、ステップ#701~#717の処理を実行する。
なお、オペレータおよびAIのどちらがユーザからの発言へ応答すべきなのかを、応答者決定部146とともにオペレータが決定してもよい。例えば、あるユーザの表情が不満そうであれば、オペレータは、そのユーザからの発言に自らが応答すべきであると決定し、そのユーザを指定するとともに所定のコマンドを入力すればよい。すると、応答者決定部146は、そのユーザからの発言に対する応答者の決定を一時的に停止し、オペレータは、そのユーザからの発言に応答する。
〔4.本実施形態の効果〕
本実施形態によると、音声対話支援システム4は、ユーザの発言ごとにオペレータが応答すべきかAIが応答すべきかを決定する。そして、オペレータが応答すべきであると決定した場合にオペレータに応答させ、AIが応答すべきであると決定した場合にサーバ1がAIによって自律的に応答する。これにより、オペレータに待たされる時間を極力短くすることができ、複数のユーザそれぞれにとっての満足度やエンゲージメントの低下を抑えながら、従来よりも確実に対話を継続させることができる。
さらに、音声対話支援システム4は、オペレータが応答する際にオペレータ本人の音声を提供し、AIによって応答する際にオペレータの音声を生成して提供する。そして、どちらの音声にも合わせてアバター29を動作させる。これにより、同一の人物がユーザのすべての発言に応対してくれているように思わせることができ、対話を支援するシステムにおけるユーザの満足度およびユーザとオペレータとのエンゲージメントを従来よりも向上させることができる。
〔5.適用例〕
音声対話支援システム4は、様々な場面に適用することができる。しかし、場面ごとに条件が異なるので、音声対話支援システム4をより好適に活用するには、条件に応じて調整することが望ましい。そこで、以下、傾聴、プレゼンテーション、および面接の3つの場面を例に、音声対話支援システム4の調整について説明する。
〔5.1 傾聴〕
図12は、点数リスト81の例を示す図である。
オペレータが複数のユーザの傾聴を同時期に行うのを音声対話支援システム4によって支援することができる。「傾聴」は、話し手の語りに対して聞き手が耳を傾けながら聴くことである。したがって、傾聴を目的として音声対話支援システム4を使用する場合は、話し手がユーザ(ゲスト)であり、聞き手がオペレータ(ホスト)である。
傾聴においては、話し手の発言に対して相槌などの応答を適切に示すことによって、聞き手の理解または共感が話し手へ伝わり、話し手の語りをより効果的に促進することができる。そこで、図4に示すサーバ1の各部は、次のように処理を行う。
応答者決定部146は、ユーザの発言のセンテンスが音声認識部144によって認識されると、そのユーザの活性度スコアをそのユーザの対話履歴データ64(図8参照)に基づいて算出する。
「活性度スコア」は、そのユーザとオペレータ281との対話の活性の度合を表わしており、その計算の一例として、そのユーザの対話履歴データ64に示される直前の所定の時間における発言の点数の合計値で求めることができる。例えば、所定の時間が2分である場合は、ユーザ381の活性度スコアは、対話履歴データ641に示される直前の2分間の発言の点数の合計値とする。なお、対話履歴データ64への点数の記録の方法については、後述する。
そして、応答者決定部146は、活性度スコアが所定の値(例えば、12点)未満であれば、オペレータ281が応答すべきであると決定し、所定の値以上であれば、AIが応答すべきであると決定する。
オペレータ281が応答すべきであると決定された場合も、AIが応答すべきであると決定された場合も、上述の通りに処理が実行される。ただし、後者の場合は、さらに、図12に示される点数リスト81に基づいて、AIによる応答の態様に係る点数が対話履歴データ64(図8参照)に追記される。例えば、その応答の態様が相槌であり、かつ、その応答先がユーザ383である場合は、その応答に係るセンテンスなどとともに、「1点」が点数として対話履歴データ643へ追記される。なお、点数リスト81に示される各態様の点数は、ユーザの年齢等の属性その他の条件に応じて適宜、変更可能である。
より具体的な適用例として、高齢者の傾聴が想定される。この適用例においては、複数の高齢者のそれぞれにユーザ端末3を与え、1人のオペレータがこれらの高齢者の傾聴を行う。傾聴においては特に相槌が重要であり、人間のような相槌を示せば、ユーザ(高齢者)の満足度を高めることができる。
そこで、前掲の「アンドロイドERICAの傾聴対話システム--人間による傾聴との比較評価--」および「アンドロイドを用いた音声対話研究」に記載されるERICAの技術を使用すればよい。この技術は、ユーザの発言中の100ミリ秒ごとのタイミングで、その時点から500ミリ秒以内に相槌を打つか否かを、韻律情報を用いてロジスティック回帰モデルによって予測する。つまり、傾聴以外の目的に音声対話支援システム4を使用する場合よりも相槌を生成するタイミングのインターバルを狭くする。
サーバ1は、この方法を、相槌生成部181(図10参照)において使用する。高齢者の発言がゆっくりであるので、6つの生成部のうちの相槌生成部181のみが応答のセンテンス(「うん。」、「うんうん。」など)を生成する機会が他の相手との対話の場合よりも多くなる。そうすると、センテンスの長さ当たりの、相槌のセンテンスが選出される機会が多くなり、しっかりと相手(オペレータ)が話を聞いてくれているという安心感をユーザに与えることができる。
なお、100ミリ秒以外のタイミングまたは500ミリ秒以外のタイムラグであってもよい。これは、傾聴の対象に応じて変更すればよい。例えば、早口のユーザの場合は、これらをより短くしてもよいし、とてもゆっくり話すユーザの場合は、これらをより長くしてもよい。または、ランダムのタイミングであってもよい。
〔5.2 プレゼンテーション〕
図13は、質問への回答を支援する処理の流れの例を説明するフローチャートである。図14は、質問データ68の例および待機リスト82の遷移の例を示す図である。
プレゼンテーションのために音声対話支援システム4を使用することができる。1回のプレゼンテーションの相手は、1人ないし数人である場合もあれば、多数である場合もある。どちらの場合にも音声対話支援システム4を使用することができるが、前者の場合に特に好適に用いられる。例えば、展示会のブースでの製品の紹介、学会でのポスター発表、および博物館での展示物の案内などの場合である。
以下、展示会の中の、あるブースを訪れる複数の来場者へ製品を紹介する場合を例に、プレゼンテーションにおける音声対話支援システム4の使用方法を説明する。
各来場者は、自分のスマートフォンまたはタブレットコンピュータをユーザ端末3として使用する。オペレータは、ブースから離れたところで待機する。
来場者は、ブースを訪れると、自分のユーザ端末3でユーザ用プログラム34を起動し、興味のある製品を指定する。
すると、その製品がユーザ端末3からサーバ1へ通知され、サーバ1は、対話開始の処理(図11のステップ#701の処理)として、その製品の予め用意された説明文をアバター29に読み上げさせるための処理を行う。具体的には、その説明文の音声データ61をオペレータの声に合わせて生成するとともに、その説明文を発言しているようにアバター29を動作させる制御データ65を生成し、ユーザ端末3へ送信する。
来場者は、説明文を聞き終わると、オペレータへ口頭で質問したり感想を述べたりすることができる。来場者が発言し始めると、来場者の音声がユーザ端末3からサーバ1へ音声データ62として送信され、オペレータ端末2へ転送される。また、サーバ1は、音声認識を行い、発言に対する応答者を決定する。
そして、サーバ1は、応答者をオペレータに決定した場合は、応答指令データ67をオペレータ端末2へ送信し、オペレータに応答させる。一方、AIに決定した場合は、さらに、応答のセンテンスを決定する。いずれの場合も、その後の処理は基本的に上述の通りである。
発言が質問である場合であっても、発言の途中であれば、相槌または語彙的応答を来場者(ユーザ)に対して与えてもあまり不自然でない。しかし、質問が終わった後は、6つの生成部それぞれから生成される応答のセンテンスのいずれも、質問に対する回答として不自然である。
そこで、サーバ1は、質問が終わった場合は、質問に対する回答のセンテンスを生成する。生成は、企業等のカスタマーサポートで使用されている既存のAIの技術によって実現すればよい。ただし、AIによる回答が不能である場合は、応答指令データ67をオペレータ端末2へ送信することによって、回答するようにオペレータに促す。なお、AIによる回答が不能である場合の一例は、予め想定し回答を用意しておいたいずれの質問にも、来場者からの質問が該当しない場合である。
オペレータがある来場者と対話している最中に他の来場者が次々にブースに訪れてプレゼンテーションを要求する場合がある。このような場合であっても、オペレータは、音声対話支援システム4に支援してもらうことによって、これらの来場者に応対することができる。
しかし、AIが回答することができない質問すなわちオペレータが回答しなければならない質問が同時期に複数、発生することがある。そこで、サーバ1は、例えば図13に示す手順で処理を行うことによって、オペレータを支援する。
サーバ1は、新たな質問が来場者から発せられ、その質問に対してオペレータが回答すべきであると決定すると(図13の#731)、その質問の優先度スコアSを次の(1)式によって算出する(#732)。
優先度スコアS=客観性確率R×文長L …… (1)
客観性確率Rは、その質問がどれくらい客観的なものであるかを表わす確率である。したがって、「この製品の価格はいくらですか。」または「この製品は従来品との互換性がありますか。」のような事実に関する質問であれば客観性確率Rが高く、「この製品をどう思いますか。」または「この製品の使い心地はいかがですか。」のような主観的な事項に関する質問であれば客観性確率Rが低い。
客観性確率Rは、焦点語を検出する場合と同様、機械学習によって算出される。すなわち、予め、音声対話支援システム4の開発者は、様々な質問の文章を集め、それぞれの文章に対する客観性確率rを決めて与えることによって、学習データを用意する。そして、文章を説明変数として用いかつ客観性確率rを目的変数として用いて機械学習を行うことによって学習済モデルを生成する。以下、この学習済モデルを「客観性確率学習済モデル」と記載する。
そして、サーバ1は、来場者からの新たな質問のセンテンスを客観性確率学習済モデルへ入力することによって、客観性確率Rを算出(推論)する。なお、学習フェーズおよび推論フェーズにおいて、文章を、形態素解析を施してから使用してもよい。
文長Lは、質問のセンテンスの長さである。文字数であっても構わないが、単語数のほうが望ましい。
サーバ1は、新たな質問の質問データ68を生成する(#733)。質問データ68には、図14に示すように、質問番号、質問センテンス、ステップ#732で算出した優先度スコアS、および保留フラグFが示される。質問番号は、質問を識別するためのシーケンシャル番号である。保留フラグFは、選出を保留されたか否かを示す。具体的には、「OFF」は選出を保留されたことがないことを意味し、「ON」は、保留されたことがあることを意味する。保留フラグFの初期値は「OFF」である。以下、i番目の質問の質問データ68を「質問データ68i」のように記載することがある。
そして、サーバ1は、ステップ#733で生成した、つまり新規の質問データ68を、待機リスト82へ次の(a)および(b)の規則に従って格納する(#734)。なお、待機リスト82に格納されている先頭の質問データ68から順に優先順位として1位、2位、…が与えられる。図14において質問データ68(既存の質問データ68)の左側に記す「1」、「2」、…の数値は、優先順位を表わしている。
(a)既存の質問データ68のうち保留フラグFが「ON」であるものの優先順位よりも新規の質問データ68の優先順位のほうが低くなるようにする。
(b)既存の質問データ68のうち保留フラグFが「OFF」であるものおよび新規の質問データ68それぞれの優先順位が、優先度スコアSの小さい順に高くなるようにする
サーバ1は、オペレータが質問へ回答することができる状態である場合は(#735でYes)、待機リスト82の中から優先順位が1位である質問データ68および2位である質問データ68を選出し(#736)、3位以降の質問データ68の保留フラグFを「ON」に切り換える(#737)。
そして、サーバ1は、1位に対する処理(#738~#739)、2位に対する処理(#740~#742)、および3位以下に対する処理(#743)を並行して実行する。
サーバ1は、選出した1位の質問データ68に係る質問に回答するようにオペレータへ指令する(#738)。そして、その質問データ68を待機リスト82から削除する(#739)。
サーバ1は、選出した2位の質問データ68に示される質問センテンスを自律的に聞き返す処理を行う(#740)。すなわち、オペレータの人工の音声で「もう一度、質問してください。」のように発する音声データ61を生成するとともに、その質問センテンスに合わせて制御データ65を生成し、音声データ61および制御データ65を質問元の来場者のユーザ端末3へ送信する。
そして、選出した1位の質問データ68に係る質問にオペレータが回答し終えたら直ちに、サーバ1は、選出した2位の質問データ68に係る質問に回答するようにオペレータへ指令し(#741)、その質問データ68を待機リスト82から削除する(#742)。
サーバ1は、保留フラグFを「ON」にした3位以下の質問への回答を保留し、当該質問を行ったユーザに対して次の項目の説明を自律的に行う(#743)。
サーバ1は、サービスの継続中(#744でYes)、ステップ#731~#743の各処理を適宜、実行する。
ここで、図14を参照しながら、待機リスト82の遷移の例を説明する。ある時点において、オペレータが来場者へ応対中であり、図14(A)のように3つの質問データ681~683が待機リスト82に格納されている。
しばらくしてオペレータが質問へ回答することができる状態になったら、サーバ1は、図14(B)に示すように1位、2位の質問データ68すなわち質問データ682、681を選出し、質問データ682に係る質問へ回答するようにオペレータに指令するとともに、3位以降の質問データ68すなわち質問データ683の保留フラグFを「ON」に更新する。
さらに、サーバ1は、質問データ681に係る質問をその質問者へ聞き返す。そして、質問データ682に係る質問への回答が終わったら、質問データ681に係る質問へ回答するようにオペレータに指令する。質問データ682、681は、それぞれ、指令後、待機リスト82から削除される。
この時点で、待機リスト82には、3位以下であった質問データ68が、図14(C)のように、優先順位が2つずつ繰り上がった状態でかつ保留フラグFが「ON」である状態で格納されている。
その後、サーバ1は、オペレータが回答すべき質問の質問データ68として質問データ684を新たに生成すると、上記の(a)および(b)の規則に従って、図14(D)のように質問データ684を待機リスト82に格納する。さらに、質問データ685を新たに生成すると、図14(E)のように質問データ685を待機リスト82に格納する。
なお、質問に対する回答の機能を、上述の傾聴の場面または次に説明する面接の場面において使用してもよい。
〔5.3 面接〕
企業等の従業員募集に応募した複数の応募者を面接官が面接するのを音声対話支援システム4によって支援することができる。
傾聴においては、オペレータは、ユーザから積極的に情報を聞き出す必要性があまりなく、基本的に聞き手に徹すればよい。したがって、対話の活性度スコアが所定の値を下回ったときにオペレータが応答し、そうでないときはサーバ1が自律的に応答していればよい。
しかし、面接においては、応募者(ユーザ)から特定の事項に関する情報を聞き出すことが要求される。以下、1人の面接官(オペレータ)がオンラインで複数の応募者それぞれから複数の特定の事項それぞれに関する情報を聞き出す場合を例に、サーバ1の処理などについて説明する。
面接すなわち対話は、面接官側から開始される。サーバ1は、複数の特定の事項のうち1つ目の事項の質問のセンテンス(例えば、「こんにちは、お名前を教えてください。」)が面接官の人工の音声で各応募者のユーザ端末3から再生され、面接官のアバター29が動作するように、音声データ61および制御データ65を生成し各ユーザ端末3へ送信する。
その後、サーバ1は、基本的に、1つ目の事項の質問と同様に2つ目の事項の質問が与えられるように処理を行う。ただし、次の事項の質問へ移るまでに、適宜、相槌、繰返し応答、掘下げ質問、評価応答、極性語彙的応答、および語彙的応答のうちのいずれかを上述の方法でランダムに行ってもよい。例えば、応募者が「学生時代は、スポーツに励みました。」と回答した場合に、サーバ1は、「どんなスポーツですか。」のように掘下げ質問を行ってもよいし、「スポーツですか。」のように繰返し応答を行ってもよい。
しかし、重要な事項に関しては、面接官はAIに依らず直接、応募者へ質問したい。そこで、重要な事項を表わす所定の語句が応募者からの回答のセンテンスの中に含まれる場合に、サーバ1は、面接官のオペレータ端末2へその旨を通知する。すると、面接官は、その応募者へ自らその事項に関して質問する。
また、サーバ1は、応募者それぞれの面接中の動画像、音声、および回答の内容などに基づいて公知の方法によって応募者それぞれの適切性、具体性、および簡潔性などを評価する。さらに、回答に表われた所定のキーワードを記録する。そして、評価および記録を次の段階の面接を担当する面接官へ引き継ぐ。
なお、サーバ1は、面接中にリアルタイムで評価および記録を行い、一定のレベルを超えた応募者のみを面接官へ知らせてもよい。面接官は、知らされた応募者に対してのみ重要な事項に関する質問を行って対話を深め、それ以外の応募者との対話を最後までAIに委ねてもよい。
重要な事項を表わす所定の語をユーザの発言から検出する機能を、上述の傾聴の場面またはプレゼンテーションの場面において使用してもよい。
〔5.4 その他の適用例〕
教育、介護、身の上相談、接客、および営業などの場面においても、それぞれの条件に応じて音声対話支援システム4をカスタマイズして使用することができる。
〔6.変形例〕
本実施形態では、サーバ1は、複数のユーザのうち活性度スコアが所定の値未満であるユーザへの応答をオペレータに行わせた。しかし、所定の時間(例えば、1分)ごとに各ユーザの活性度スコアを算出し、活性度スコアが最も低いユーザへの応答をオペレータに行わせてもよい。
本実施形態では、サーバ1は、優先度スコアSをとして、(1)式によって算出した値を用いたが、他の値を用いてもよい。例えば、客観性確率Rまたは文長Lを優先度スコアSとして用いてもよい。また、ゲストの属性、例えば年齢やこれまでの訪問回数などに応じて、優先度を設定することも可能である。
本実施形態では、活性度スコアとして、ユーザの対話履歴データ64(図8参照)に示される直前の所定の時間における発言ごとの態様に対応する点数(図12参照)の合計値を用いたが、他の値を用いてもよい。
例えば、サーバ1は、直前の所定の時間においてユーザが発言(発話)していない時間を用いてもよい。または、AIすなわちサーバ1による応答の適切性を用いてもよい。適切性は、BERT(Bidirectional Encoder Representations from Transformers)をファインチューニングしたモデルによって算出することができる。適切性が低いほど対話が破綻していると推定される。
本実施形態では、対話状況画面51(図6参照)のスクリプト領域52bにオペレータおよびユーザそれぞれの発言のセンテンスが表われたが、焦点語を目立つように着色しまたは太字にしてもよい。同様に、特定のキーワードを着色しまたは太字にしてもよい。
本実施形態では、サーバ1が自律的に応答する際の音声をオペレータの声色に合わせて生成したが、サーバ1が自律的に応答する際の音声とオペレータが直接応答する際の音声とが同一人物のものとユーザに認識されるのであれば、オペレータの声色に合わせなくてもよい。例えば、サーバ1が自律的に応答する際の音声およびオペレータが直接応答する際の音声の両方を、プロのアナウンサまたは声優の声色に合わせて生成してもよい。
本実施形態では、オペレータ端末2としてパーソナルコンピュータを用いたが、人間を模したロボットを用いてもよい。
サーバ1は、ユーザの発言の内容を解析することによってユーザの嗜好および性格などの情報を取得し、オペレータへ通知してもよい。また、これらの情報を、AIが応答のセンテンスを生成するために用いてもよい。さらに、次回以降の対話のためにこれらの情報を保存しておいてもよい。
本実施形態では、図4に示した各機能を1台の装置によって実現したが、複数台の装置に分散して実現してもよい。例えば、アバター制御部141をユーザ端末3によって実現してもよい。すなわち、音声に合わせてアバター29を動作させるデータ(制御データ65)をユーザ端末3に生成させてもよい。
または、アバター制御部141、音声生成部143、および応答センテンス決定部148をユーザ端末3によって実現してもよい。つまり、応答者の決定の処理(応答者の切換えの処理)をサーバ1が行い、AIによるセンテンスの生成の処理、生成したセンテンスの人工音声の生成の処理、および生成したセンテンスまたはオペレータが発したセンテンスに基づくアバターの制御の処理をユーザ端末3が行ってもよい。
本実施形態では、制御データ65に基づいてアバター29を動作させる処理をユーザ端末3に実行させたが、サーバ1においてアバター29のアニメーションを生成しユーザ端末3に表示させてもよい。
本実施形態では、1人のオペレータが応対する場合を例に説明したが、複数のオペレータが応対する場合も、サーバ1は、上に説明した処理をオペレータごとに実行する。また、多数のユーザそれぞれとの対話を数人のオペレータが1つのグループとして行ってもよい。この場合は、あるユーザの発言に対して複数のオペレータが交代で応答することがある。この際に、複数のオペレータそれぞれの音声および人工の音声すべての声色を共通にすればよい。
面接においては、活性度スコアを使用しなくても構わない。つまり、サーバ1は、基本的に、対話の活性度が低くなっても、所定の語句が発言されるまで、面接官への通知を行うことなく所定の順に質問を自律的に応募者に与えればよい。面接の対象者などの条件によっては、活性度スコアを使用し、所定の語句が発言されるまでに対話の活性度が低くなったら面接官に直接応対させてもよい。プレゼンテーションにおいても、同様である。
その他、音声対話支援システム4、サーバ1、オペレータ端末2、ユーザ端末3の全体または各部の構成、処理の内容、処理の順序、デーの構成、および画面の構成などは、本発明の趣旨に沿って適宜変更することができる。
1 サーバ(コンピュータ)
141 アバター制御部(再生手段、アバター表示手段)
143 音声生成部(生成手段)
146 応答者決定部(算出手段、決定手段)
147 応答指令部(指令手段)
148 応答センテンス決定部(応答手段)
342 オペレータ音声出力部(再生手段)
343 ユーザデータ送信部(アバター表示手段))
4 音声対話支援システム

Claims (9)

  1. 1人の応対者が複数の相手と音声で対話するのを支援する対話支援システムであって、
    前記応対者と前記複数の相手それぞれとが対話している際に、所定または任意のタイミングごとに当該複数の相手それぞれの対話の活性度または優先度を算出する算出手段と、
    前記複数の相手それぞれについて、前記応対者が応答すべきであるか自律的に応答すべきであるかを当該複数の相手それぞれの前記活性度または前記優先度に基づいて決定する決定手段と、
    前記複数の相手のうちの前記応対者が応答すべきであると決定された相手の発言に応答するように前記応対者へ指令する指令手段と、
    前記複数の相手のうちの自律的に応答すべきであると決定された相手の発言に対するセンテンスである自律応答を生成する生成手段と、
    前記複数の相手のうちの前記応対者が応答すべきであると決定された相手に対しては、当該相手のために当該応対者から得られたセンテンスであるオペレータ応答を与え、自律的に応答すべきであると決定された相手に対しては、当該相手のために前記生成手段によって生成された前記自律応答を与える、応答手段と、
    を有することを特徴とする対話支援システム。
  2. 応答の複数の態様それぞれについて予め点数が決められており、
    前記生成手段は、前記自律応答として前記複数の態様のうちのいずれかのセンテンスを生成し、
    前記算出手段は、前記複数の相手それぞれの前記活性度を、前記複数の態様のうちの、直前の所定の時間に当該相手のために生成された前記自律応答それぞれの態様の前記点数の合計に基づいて算出する、
    請求項1に記載の対話支援システム。
  3. 前記決定手段は、前記複数の相手のうちの前記活性度が最も小さい相手に対して前記応対者が応答すべきであると決定し、それ以外の相手に対して自律的に応答すべきであると決定する、
    請求項1または請求項2に記載の対話支援システム。
  4. 前記複数の相手それぞれが発言したセンテンスを前記応対者のディスプレイに表示させるセンテンス表示手段、を有する、
    請求項1または請求項2に記載の対話支援システム。
  5. 前記複数の相手それぞれの音声再生装置に、当該相手への前記自律応答および前記オペレータ応答を同一または類似の声色で再生させる、再生手段と、
    前記複数の相手それぞれのディスプレイに、当該相手への前記自律応答および前記オペレータ応答を発言しているように動作するアバターを表示させるアバター表示手段と、
    を有する、
    請求項1または請求項2に記載の対話支援システム。
  6. 前記指令手段は、複数の質問が同時期に発言された場合に、質問の長さや客観性等に基づいて算出される優先度に基づいて対応を決定し、順次選出した質問に応答するように前記応対者へ指令する、
    請求項1または請求項2に記載の対話支援システム。
  7. 前記決定手段は、前記複数の相手のうちの面接中における評価の高い相手に対して前記応対者が応答すべきであると決定する、
    請求項1に記載の対話支援システム。
  8. 1人の応対者が複数の相手と音声で対話するのをコンピュータによって支援する対話支援方法であって、
    前記応対者と前記複数の相手それぞれとが対話している際に、所定または任意のタイミングごとに当該複数の相手それぞれの対話の活性度または優先度を算出し、
    前記複数の相手それぞれについて、前記応対者が応答すべきであるか自律的に応答すべきであるかを当該複数の相手それぞれの前記活性度または前記優先度に基づいて決定し、
    前記複数の相手のうちの前記応対者が応答すべきであると決定された相手の発言に応答するように前記応対者へ指令し、
    前記複数の相手のうちの自律的に応答すべきであると決定された相手の発言に対するセンテンスである自律応答を生成し、
    前記複数の相手のうちの前記応対者が応答すべきであると決定された相手に対しては、当該相手のために当該応対者から得られたセンテンスであるオペレータ応答を与え、自律的に応答すべきであると決定された相手に対しては、当該相手のために生成した前記自律応答を与える、
    ことを特徴とする対話支援方法。
  9. 1人の応対者が複数の相手と音声で対話するのを支援するコンピュータに用いられるコンピュータプログラムであって、
    前記コンピュータに、
    前記応対者と前記複数の相手それぞれとが対話している際に、所定または任意のタイミングごとに当該複数の相手それぞれの対話の活性度または優先度を算出する処理を実行させ、
    前記複数の相手それぞれについて、前記応対者が応答すべきであるか自律的に応答すべきであるかを当該複数の相手それぞれの前記活性度または前記優先度に基づいて決定する処理を実行させ、
    前記複数の相手のうちの前記応対者が応答すべきであると決定された相手の発言に応答するように前記応対者へ指令する処理を実行させ、
    前記複数の相手のうちの自律的に応答すべきであると決定された相手の発言に対するセンテンスである自律応答を生成する処理を実行させ、
    前記複数の相手のうちの前記応対者が応答すべきであると決定された相手に対しては、当該相手のために当該応対者から得られたセンテンスであるオペレータ応答を与え、自律的に応答すべきであると決定された相手に対しては、当該相手のために生成した前記自律応答を与える処理を実行させる、
    ことを特徴とするコンピュータプログラム。
JP2022208380A 2022-12-26 対話支援システム、対話支援方法、およびコンピュータプログラム Pending JP2024092451A (ja)

Publications (1)

Publication Number Publication Date
JP2024092451A true JP2024092451A (ja) 2024-07-08

Family

ID=

Similar Documents

Publication Publication Date Title
US11151997B2 (en) Dialog system, dialog method, dialog apparatus and program
Rimé The elimination of visible behaviour from social interactions: Effects on verbal, nonverbal and interpersonal variables
Higginbotham et al. Slipping through the timestream: Social issues of time and timing in augmented interactions
US6246990B1 (en) Conversation management in speech recognition interfaces
US10872609B2 (en) Method, apparatus, and program of dialog presentation steps for agents
WO2017200074A1 (ja) 対話方法、対話システム、対話装置、及びプログラム
JP6970413B2 (ja) 対話方法、対話システム、対話装置、およびプログラム
JP7297797B2 (ja) 保留を管理するための方法および装置
JP6667855B2 (ja) 取得方法、生成方法、それらのシステム、及びプログラム
JP6864326B2 (ja) 対話方法、対話システム、対話装置、およびプログラム
Nishio et al. The effects of physically embodied multiple conversation robots on the elderly
JP2017208003A (ja) 対話方法、対話システム、対話装置、およびプログラム
WO2020070923A1 (ja) 対話装置、その方法、およびプログラム
KR101949997B1 (ko) 더빙/증강현실을 이용한 참여형 대화훈련 학습 방법
WO2020027073A1 (ja) 情報処理装置および情報処理方法
EP4006903A1 (en) System with post-conversation representation, electronic device, and related methods
JP2024092451A (ja) 対話支援システム、対話支援方法、およびコンピュータプログラム
CN113067952B (zh) 用于多台机器人的人机协同无感控制方法和装置
WO2017200077A1 (ja) 対話方法、対話システム、対話装置、及びプログラム
US20220172711A1 (en) System with speaker representation, electronic device and related methods
WO2022270632A1 (ja) 二者間のコミュニケーションにおいて個々人への関わり方を改善するためのコンピュータシステム、方法、およびプログラム
Pasternak et al. 3D Multimodal Socially Interactive Robot with ChatGPT Active Listening
Bosdriesz Adding Speech to Dialogues with a Council of Coaches
Lopez Gambino Learning to Buy Time. A Data-Driven Model For Avoiding Silence While Task-Related Information Cannot Yet Be Presented
Broome Vocal characteristics, speech, and behavior of telephone interviewers