(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023158992
(43)【公開日】2023-10-31
(54)【発明の名称】応答生成装置およびその方法
(51)【国際特許分類】
G06F 40/56 20200101AFI20231024BHJP
【FI】
G06F40/56
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022069126
(22)【出願日】2022-04-19
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】永松 健司
(72)【発明者】
【氏名】内田 尚和
(72)【発明者】
【氏名】本間 健
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091CA21
(57)【要約】
【課題】応答テキストの表現がユーザに理解しやすく、かつ対話の目的や文脈に沿った内容の応答テキストを出力する。
【解決手段】
入力テキストに対する応答テキストを生成する応答生成部105と、応答生成部で生成された応答テキストを修正する応答修正部107と、応答修正部で修正された応答テキスト群内の応答テキストに対して応答テキストの表現がユーザにとって適切かどうかを判定する応答表現適切性評価部109と、応答修正部で修正された応答テキスト群内の応答テキストに対して応答テキストの内容が、ユーザの過去にやりとりの内容に対して妥当な内容であるかどうかを判定する応答内容妥当性評価部111と、応答表現適切性評価部による評価と応答内容妥当性評価部による評価に基づき、修正された応答テキスト群から出力すべき応答テキストを決定する選択部113を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力テキストに対する応答テキストを生成する応答生成部と、
前記応答生成部で生成された該応答テキストを修正する応答修正部と、
前記応答修正部で修正された応答テキスト群内の応答テキストに対して、該応答テキストの表現がユーザにとって適切かどうかを判定する応答表現適切性評価部と、
前記応答修正部で修正された応答テキスト群内の応答テキストに対して、該応答テキストの内容が、該ユーザの過去にやりとりの内容に対して妥当な内容であるかどうかを判定する応答内容妥当性評価部と、
前記応答表現適切性評価部による評価と、前記応答内容妥当性評価部による評価に基づき、前記修正された応答テキスト群から出力すべき応答テキストを決定する選択部と、
を有する応答生成装置。
【請求項2】
前記応答生成部は、ユーザからの入力テキストに応じて応答テキストの内容を決定する
請求項1の応答生成装置。
【請求項3】
前記応答生成部は、学習された言語モデルを用いて統計的テキスト生成処理を行って、システムにおける応答テキストを生成する第1の生成部と、
状態遷移と状態ごとの応答テキストテンプレートを用いて規則的に応答テキストを生成する第2の生成部と、
のいずれか一つの生成部、または両方の生成部を有する
請求項1の応答生成装置。
【請求項4】
前記応答表現適切性評価部は、修正された前記応答テキストに対して、その表現がユーザにとって理解しやすいか不快な表現でないかなどを評価した指標である応答表現適切性スコアを算出し、
前記応答内容妥当性評価部は、前記応答テキストの内容がそれまでのメッセージのやりとりの文脈に沿った内容であるかを評価した指標である応答内容妥当性スコアを算出し、
前記選択部は、前記応答表現適切性評価部が算出した前記スコアと、前記応答内容妥当性評価部が算出した前記スコアから、もっとも適切な評価スコアを持つ応答テキストを選択する
請求項1の応答生成装置。
【請求項5】
ユーザからの前記入力テキストをユーザの発話音声からテキスト変換することで作成する音声認識部と、
前記選択部により決定された応答テキストを音声変換して出力する音声合成部と、
有する、請求項1の応答生成装置。
【請求項6】
前記応答表現適切性評価部が参照するユーザごとの言語理解モデルデータを、前回応答テキストに対するユーザの反応に応じて調整更新していく応答表現適切性更新部を有する
請求項1の応答生成装置。
【請求項7】
前記応答内容妥当性評価部が参照する情報関連性モデルデータを、前回応答テキストに対するユーザの反応に応じて調整更新していく応答内容妥当性更新部を有する
請求項1の応答生成装置。
【請求項8】
前記応答表現適切性評価部は、ユーザごとに、応答テキスト候補のテキストを入力としてスコア値を出力するように学習された任意の深層学習モデルのデータを保管するデータベースを参照して、前記応答表現適切性スコアを算出する
請求項4の応答生成装置。
【請求項9】
コンピュータの実行により応答を生成する応答生成方法であって、
入力テキストに対する応答テキストを生成する応答生成ステップと、
前記応答生成ステップで生成された該応答テキストを修正する応答修正ステップと、
前記応答修正ステップで修正された応答テキスト群内の応答テキストに対して、該応答テキストの表現がユーザにとって適切かどうかを判定する応答表現適切性評価ステップと、
前記応答修正ステップで修正された応答テキスト群内の応答テキストに対して、該応答テキストの内容が、該ユーザの過去にやりとりの内容に対して妥当な内容であるかどうかを判定する応答内容妥当性評価ステップと、
前記応答表現適切性評価ステップによる評価と、前記応答内容妥当性評価ステップによる評価に基づき、前記修正された応答テキスト群から出力すべき応答テキストを決定する選択ステップと、
を有する応答生成方法。
【請求項10】
前記応答生成ステップは、学習された言語モデルを用いて統計的テキスト生成処理を行って、システムにおける応答テキストを生成する第1の生成ステップと、
状態遷移と状態ごとの応答テキストテンプレートを用いて規則的に応答テキストを生成する第2の生成ステップと、
のいずれか一つの生成ステップ、または両方の生成ステップを有する
請求項9の応答生成方法。
【請求項11】
前記応答表現適切性評価ステップは、修正された前記応答テキストに対して、その表現がユーザにとって理解しやすいか不快な表現でないかなどを評価した指標である応答表現適切性スコアを算出し、
前記応答内容妥当性評価ステップは、前記応答テキストの内容がそれまでのメッセージのやりとりの文脈に沿った内容であるかを評価した指標である応答内容妥当性スコアを算出し、
前記選択ステップは、前記応答表現適切性評価ステップが算出した前記スコアと、前記応答内容妥当性評価ステップが算出した前記スコアから、もっとも適切な評価スコアを持つ応答テキストを選択する
請求項9の応答生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、応答生成装置およびその方法に係り、特に、テキストまたは音声でユーザに対して応答を出力する装置、またはそのような応答を出力するユーザインタフェースの実施に関する。
【背景技術】
【0002】
コールセンタにおけるIVR(音声自動応答)システムやWEBシステムにおけるチャットボット、カーナビゲーション装置のように音声やテキスト情報を用いてユーザとやり取りを行い、必要なサービス・情報提供を行う対話的情報システムが存在する。このようなシステムでは、あらかじめユーザの様々な入力(音声やテキスト)に対する応答出力をシナリオや質問・回答ペアDBのような形式で規則化・データ化しておき、入力に応じて適切な応答情報を出力する形態が一般的である。この関連技術として例えば、特許文献1に開示された対話システムが知られている。
【0003】
また、近年、大規模言語モデルと呼ばれる統計的テキスト生成の技術が発展し、予め規則化しておかなくても、様々な入力テキストに対して意味の通じる適切な応答テキストを出力できるようになってきている。最近では、上記の対話的情報システムに、この大規模言語モデルを組み合わせることで、想定された入力の場合はあらかじめ用意された応答を出力し、雑談のように想定されていなかったような、想定しづらい入力に対しては、大規模言語モデルで生成された応答テキストを出力することにより、従来の規則に基づく対話的情報システムよりも幅広い入力に対して応答でき、ユーザの満足度を向上させることができる。しかし、大規模言語モデルによる統計的テキスト生成は統計的に尤もらしい単語列が生成されるだけであり、必ずしもそれまでの対話文脈に沿った応答テキストが生成されるとは限らない。
【0004】
また、上記のような対話的情報システムでは、ユーザに応じて応答情報(音声やテキスト)のスタイルを変えることも行われている。例えば、ユーザが好むキャラクター性を付与した口調(方言にする、特定の言い回しを付加するなど)に応答テキストを変換するシステムが存在する。また、ユーザが高齢者の場合など、応答音声の発話速度をゆっくりとするなどの音声的なスタイル変換も存在する。また、音声では理解しづらい語彙を言い換える、高齢者など特定のユーザ層では理解しづらい語彙を言い換えるなどの、ユーザのカテゴリに応じて応答情報を変換する事例は容易に想像できる。このような応答テキストの変換処理は多くは変換規則を適用することで実施されるが、最近では、大規模言語モデルの技術を応用することで、テキストの内容を大きく変えずスタイル(語彙の選択や言い回し)だけを変換する統計的スタイル変換技術も存在する。この統計的スタイル変換技術も上記の統計的テキスト生成と同様に出力されたテキストが必ずしも文脈的に、文法的に正しいとは限らないという問題がある。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【非特許文献1】“Language Models are Few-Shot Learners”,Brown et.al., 2020,arXiv.
【非特許文献2】“Style Transfer from Non-Parallel Text by Cross-Alignment”,Shen et.al.,2017,NIPS.
【発明の概要】
【発明が解決しようとする課題】
【0007】
背景技術で説明した、大規模言語モデルによる応答テキスト生成と、ユーザに応じた応答テキスト変換を組み合わせることで、自由な入力に対して応答可能な柔軟性を持つとともに、ユーザにとってより理解しやすい応答を出力できると考えられる。しかし、この場合、統計的テキスト生成により出力された、文脈的・文法的に正しいとは限らないテキストに対して、さらにユーザごとの応答テキスト変換処理、とくに統計的スタイル変換処理を加えることで、応答テキストの内容がさらに不適切になるという課題が生じる。
【0008】
本発明の目的は、応答テキストの表現がユーザに理解しやすく、かつ対話の目的や文脈に沿った内容の応答テキストを出力することができる技術を提供することにある。
【課題を解決するための手段】
【0009】
本発明による応答生成装置の好ましい例は、入力テキストに対する応答テキストを生成する応答生成部と、
前記応答生成部で生成された該応答テキストを修正する応答修正部と、
前記応答修正部で修正された応答テキスト群内の応答テキストに対して、該応答テキストの表現がユーザにとって適切かどうかを判定する応答表現適切性評価部と、
前記応答修正部で修正された応答テキスト群内の応答テキストに対して、該応答テキストの内容が、該ユーザの過去にやりとりの内容に対して妥当な内容であるかどうかを判定する応答内容妥当性評価部と、
前記応答表現適切性評価部による評価と、前記応答内容妥当性評価部による評価に基づき、前記修正された応答テキスト群から出力すべき応答テキストを決定する選択部と、を有する応答生成装置、である。
本発明はまた、上記応答生成装置で実行される応答生成方法として把握される。
【発明の効果】
【0010】
本発明によれば、応答テキストの修正候補群の中から、ユーザが理解しやすい表現で、かつ対話の目的や文脈に沿った内容の応答テキストを出力することができる。これにより、ユーザの満足度、利便性を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】実施例1に係る応答生成装置の構成例を示す図である。
【
図2】入出力履歴DB103の構成例を示す図である。
【
図3】言語モデル状態応答生成部による応答テキストの生成の例を示す図である。
【
図4】言語モデル状態応答生成部による応答テキストの生成の例を示す図である。
【
図5】応答修正リストDB108の構成例を示す図である。
【
図6】応答修正部107により修正された応答テキスト候補群の例を示す図である。
【
図7】修正された応答テキスト候補と応答表現適切性スコアの対応を管理するリストの例を示す図である。
【
図8】ユーザ言語理解モデルDB110の構成例を示す図である。
【
図9】ユーザ言語理解モデルDB110の他の構成例を示す図である。
【
図10】修正された応答テキスト候補と応答内容妥当性スコアの対応を管理するリストの例を示す図である。
【
図11】応答内容妥当性評価部111の処理の例を示す図である。
【
図12】応答内容妥当性評価部111の入力データに対する入出力を示す図である。
【
図13】実施例2に係るに係る応答生成装置の構成例を示す図である。
【
図14】実施例2における意図理解モデルDB1319の構成例を示す図である。
【
図15】実施例3に係る応答生成装置の構成例を示す図である。
【
図16】実施例3における応答表現適切性更新部の処理フローを示す図である。
【
図17】実施例3におけるユーザ反応履歴DB1502の構成例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を用いて実施例を説明する。
【実施例0013】
本実施例は、コールセンタなどで使われるIVR(音声自動応答)システムに適用した例を示す。IVRシステム(以下単にシステムということがある)は、例えば銀行残高の照会、口座からの出金などの操作を音声により実現できるシステムである。ユーザが、電話などでシステムに接続し、自分の口座番号を指定して、例えば「口座残高を教えて」や「口座の残高はいくら」などの音声発話を行うと、システムが「残高は10万5000円です」などのように、音声で残高情報を知らせる。
【0014】
図1は、応答生成装置の構成例を示す。
図1において、応答生成装置1は、ユーザの音声をユーザごとにテキストとして結合するテキスト結合部102と、ユーザからの入力テキストに応じて次のシステム応答テキストを生成する言語モデル状態応答生成部105と、言語モデル状態応答生成部105で生成された応答テキストに対してユーザの理解しやすさなどを考慮した修正処理を行う応答修正部107と、応答修正部107から出力される様々な応答テキスト候補群に対してそれぞれの応答表現適切性スコアを算出する応答表現適切性評価部109と、同じくそれぞれの応答内容妥当性スコアを算出する応答内容妥当性評価部111と、応答表現適切性評価部109と応答内容妥当性評価部111から出力される二つの評価スコアを総合して最終的な出力応答テキストを選択する応答選択部113、などの機能部、および後述する各データベース(DB)を有して構成される。一例では、ユーザとのやりとりをテキストではなく音声で行うために、ユーザ発話音声をテキスト変換する音声認識部101や、システム応答テキストを音声変換する音声合成部114(すなわち出力部)を備えても良い。
【0015】
応答生成装置1は、プログラムを実行して、応答生成のためのデータ処理を行うコンピュータにより実現される。コンピュータは、ハードウェアとして、プログラムやデータを格納する半導体メモリやハードディスクなどの記憶部と、プログラムを実行するプロセッサである処理部と、キーボードやマウスによるテキスト入力や音声入力などを行うマンマシンインターフェースである入力部と、データを表示する表示部を有する。本実施例において、上記各機能部は、記憶部に記憶された1又は複数のプログラムを、1又は複数の処理部が実行することで実現される。例えば、上記各機能部に対応して複数のプログラムが用意されてよいし、或いは幾つかの上記機能部を纏めて実行する1または複数のプログラムが用意されてもよい。応答生成に用いられるデータや生成されたデータは、記憶部に形成されたデータベース(DB)に記憶される。
【0016】
音声認識部101は、入力部より入力されるユーザの音声(例えば「口座残高を教えて」等の音声)を書き起こしテキストに変換する。テキスト結合部102は、1または複数の書き起こしテキストをユーザごとに結合して、ユーザIDを付与して、入出力履歴DB103に格納する。書き起こしテキストは、IVRシステムのメイン処理となる言語モデル状態応答生成部105への入力テキストとなり、システムから出力される応答テキストを決定する処理へと進む。
【0017】
言語モデル状態応答生成部105は、統計的テキスト生成技術や機械学習技術を用いた例を示している。すなわち、言語モデル状態応答生成部105は、ユーザとシステムの間で従来やり取りされた履歴テキスト、およびユーザが現在置かれているサービスの状態を入力として、システムからユーザに返される応答テキストの候補群を出力する。またそれぞれの応答テキスト候補に対して、その応答テキストが選択されてユーザに出力された場合に当該ユーザのサービスが次に遷移する状態情報も付加されている。
【0018】
図2は、過去に入出力された履歴テキストをユーザごとに保持する入出力履歴DB103のデータ構成例を示す。
データは、ユーザに固有なID201ごとに、ユーザがシステムとの間で発した音声メッセージのテキストが結合された状態の入出力履歴情報202が保持される。入出力履歴情報202は、実際にユーザやシステムが発したメッセージテキストの前に、システムが発したテキストであれば「S:」、ユーザが発したテキストであれば「U:」というプレフィックスが付加される。システムとユーザがやり取りしたメッセージを大量に集めた学習データ(人がシステムの代わりとなってメッセージを考案して学習データを作っても良い)に、このようなプレフィクスを付けた状態で統計的テキスト生成モデル(例えば言語モデルDB106が保持する大規模言語モデル)を学習することで、モデルはどのテキストがシステム応答であり、どのテキストがユーザ応答であるかを識別できるようになる。また、入力テキストに対してプレフィックス「S:」だけを最後に付加して統計的テキスト生成モデルに入力することで、このモデルにシステム応答を生成するように指示することもできるようになる。
【0019】
図3は、言語モデル状態応答生成部105による応答テキストの生成の例を示す。
言語モデル状態応答生成部105は、プレフィックス付きの入出力履歴テキスト301を入力として、学習された言語モデルを保管する言語モデルDB106を参照して、統計的テキスト生成処理302を行って、システムにおける応答例303を生成する。例えば、応答例303に“残高”とあるテキスト部分はこの後の処理にてユーザの実際の残高の数値に置換される。このようなプレフィックスやプロンプトを指定して特定の意味合いのテキストの生成としては、例えば非特許文献1に開示された、統計的テキスト生成手法を用いることができる。なお、
図3には、出力される応答テキストの一例が示されているが、非特許文献1に代表される手法でテキスト、すなわち単語列を生成する際に、次に選ばれる単語を尤度が大きな候補群の中から確率的に選択することで、尤もらしい応答テキスト例を複数出力することも可能である。
【0020】
図3の応答生成処理では、入出力履歴テキスト301を入力して一つまたは複数の応答テキストを出力する。他の例によれば、言語モデル状態応答生成部105が、さらにユーザ状態DB104から現在のユーザ状態も入力して、応答テキスト候補それぞれに付加する形でその応答の後に遷移するユーザ状態を出力することができる。
図4は、ユーザ状態を加味した応答テキストの生成の例を示す。ここで使用されるユーザ状態DB104は、ユーザの状態がメインメニューの入力待ち状態であるか(「0」で示す)、またはYESかNOのユーザ入力の待ち状態(「1」で資示す)を保持する。ユーザ状態は、システムが把握することができる。
【0021】
図4の例示において、ユーザの入力テキストが「いくら」となっている。これは、口座残高の確認なのか、それ以外(例えば送金手数料)の確認なのか判別できないため、言語モデル状態応答生成部105が2つの応答テキスト候補を出力した様子を示している。第一の候補では口座残高の情報を提示し、その後、ユーザ状態を0(すなわちメインメニューの入力待ち状態)に遷移させるパタンを示す。第二の候補では、「残高の確認ですか?」とユーザに確認のメッセージを示し、ユーザ状態を1(すなわちYESかNOのユーザ入力の待ち状態)に遷移させるパタンを示す。
【0022】
このように、言語モデル状態応答生成部105からは複数の応答テキスト候補に対して次の遷移状態を付加した形で出力される。このように、応答テキスト候補と次のユーザ状態を組み合わせて出力する手法として、一つの機械学習モデル(深層学習モデルであっても良い)で応答テキストの生成と次状態の予測を行う手法を適用することができる。さらに別の例として、生成された応答テキスト候補を入力として次状態を予測する機械学習モデルを追加で組み合わせて使用することもできる。
【0023】
上記のように、言語モデル状態応答生成部105から出力された応答テキスト候補群およびそれぞれの応答テキスト候補に付加された次のユーザ状態の情報403(応答テキスト候補群403)は、応答修正部107に入力され、応答テキスト候補それぞれに対して、ユーザごとに理解しやすいテキストへと修正・変換処理が行われる。
【0024】
応答修正部107は、応答修正リストDB108の内容に基づいて応答テキストの修正処理を行う。
図5に応答修正リストDB108の構成例を示す。応答修正リストDB108は、ユーザに固有なユーザID501ごとに応答テキストに対する修正処理の組合せ(応答修正処理リスト502)をリスト形式で格納する。例えば、「口語調」の処理は、入力テキストに対して「ですます」調から「~だよ」などの口語調表現に変換する処理を実施することを示す。また、「親密度0.8以上」の処理は、応答テキスト内に含まれる単語(例えば名詞)を、一般的な日本語話者がどの程度理解しやすいか、親密に感じるかを示す指標である親密度(0<親密度<1.0)が0.8以上の語彙に置換する処理を示す。親密度に基づく単語置換は、置換対象となる単語ごとに親密度を定義した単語親密度DBと、置換対象となる単語ごとに言い換え可能な同義語集合を定義した単語シソーラスDBを参照することで容易に実現可能である。また、「毒性除去」の処理は、応答テキスト内の単語を毒性値(読み手を不快に思わせたり傷つけたりするような悪意ある表現の度合い)に応じて、毒性のないまたは低い表現に置換する処理を示す。この処理も、単語ごとに毒性値を定義した単語毒性値DBと単語シソーラスDBを参照することで容易に実現可能である。もちろん、応答修正処理の候補はこれらに限るわけではなく、他にも様々な修正・置換処理がある。例えば、複文を二つの単文に分割する、長い重文を複数の単文に分割する、毒性値が一定以上のもののみを置換する、毒性表現のうち特定の表現のみを置換する、等などが考えられる。応答修正処理リスト502に指定される修正処理は、応答テキスト候補一つに対してすべてを同時に実施し、ただ一つの修正された応答テキスト候補を出力するわけではなく、これらの修正処理の一つまたは複数をランダムもしくはあらかじめ決められたルールで選択的に実施することで、応答テキスト候補一つに対して複数の修正結果を出力するようにする。これによって、言語モデル状態応答生成部105から出力された応答テキスト候補群の中のそれぞれの応答テキスト候補に対して複数の修正テキストが出力され、その結果、大きな数の修正された応答テキスト候補群を生成することができる。
【0025】
図4に例示されている応答テキスト候補群403に、
図5のユーザID=1のユーザに対応する応答修正処理が実施された場合の修正された応答テキスト候補群601の一例を
図6に示す。上記したように、応答修正処理リスト内の処理の適用はランダムに実行されるため、
図6の応答テキスト候補群601は修正結果となりうるものの一例にすぎない。また、
図6の例示では省略してあるが、
図4の出力情報である応答テキスト候補群403のように、
図6の修正された応答テキスト候補一つ一つにも、対応する次のユーザ状態情報が付随している。
【0026】
上記の説明では、応答修正部107は、
図5に示す応答修正リストDB108の情報に基づいて応答テキストの修正結果を出力する、としたが、応答修正処理はこれに限定されない。例えば、深層学習技術によって入力テキストの内容は変えずに口調などの表現スタイルのみを変換する手法がある(非特許文献2)。学習済モデルをさまざま変えてこの手法を利用することで、口調を変える、単語を平易なものに置換する、言い回しを平易なものに変換する、等の応答修正処理をより柔軟に実現することが可能である。もちろん、上記の統計的テキスト生成処理において説明したように、生成される単語列の選択に乱数を入れることで複数の修正結果を出力させることも容易である。
【0027】
次に、応答表現適切性評価部109、応答内容妥当性評価部111、応答選択部113について説明する。これらの処理部の処理により、言語モデル状態応答生成部105および応答修正部107から出力された、修正された応答テキスト候補群の中から、ユーザにとって理解しやすく、不快でない表現を持ち、かつその内容もこれまでの対話サービスの文脈やその目的に沿った妥当な内容の応答テキストが評価値に基づいて選択されて出力される。
【0028】
まず、応答表現適切性評価部109は、修正された応答テキスト候補群601を入力として、それぞれの応答テキスト候補に対して応答表現適切性スコアを計算して、出力する。その結果、
図7に示すような、応答テキスト候補群601に応じた応答表現適切性スコア702を保持するリストが得られる。応答表現適切性評価部109は、ユーザごとにそのユーザがどのような表現を好むか、不快に思うか、理解しやすいかなどの応答表現適切性スコアを計算するための情報として、ユーザ言語理解モデルDB110を参照して、応答表現適切性スコアを計算する。
【0029】
図8に、ユーザ言語理解モデルDB110の構成例を示す。ユーザ言語理解モデルDB110は、ユーザID801ごとに、そのユーザの言語理解モデルデータ802、例えば深層学習モデルデータを格納する。ここで深層学習モデルデータとは、応答テキスト候補のようなテキストを入力として、スコア値を出力するように学習された任意の深層学習モデルのデータである。このような学習モデルは、例えば、特定の年代・性別・出身地などの人に、あるテキストに対して感じる応答適切性スコアを付けさせる作業を行うことで構築された学習データを使うことで、深層学習手法でも他の様々な機械学習手法でもモデルを学習させることが可能である。ここで例示した学習データの構築方法は、年代・性別などで層化したユーザグループごとに言語理解モデルデータを作成する方法であり、同じグループに属するユーザはすべて同一の応答表現適切性スコアが出力される形式となる。しかし、後述する方法(実施例3)などによって、ユーザ個々人に対する深層学習モデルの再学習を行っていくことで、真にユーザ一人一人の快不快や理解しやすさを考慮した応答表現適切性スコアの算出を実現することも可能である。
【0030】
また、
図8の言語理解モデルデータ802では、機械学習や深層学習の手法を使ったブラックボックス的なスコア評価方法としたが、もちろん、このような機械学習手法に限らず、別の手法も利用し得る。例えば、特定の年代・性別・出身地などの人が理解しやすい単語や言い回しに正の評価値を付け、理解しづらいまたは不快に感じる単語や言い回しに負の評価値を付けた単語・言い回しリストを用意し、入力テキスト内に出現する単語や言い回しの評価値の総和に線形変換を施すことで、0から1の範囲の応答表現適切性スコアを算出するという手法も考えられる。この場合も上記の通り、当初はユーザグループごとに同一の応答表現適切性スコアが出力されるものであっても、後述する方法などによって、ユーザ個々人に対する単語・言い回しリストに調整を行っていくという形態も考えられる。この形態の場合、
図9に示すような、ユーザID901ごとにユーザの言語理解モデルデータ902が得られる。
【0031】
次に、応答内容妥当性評価部111の機能および動作について説明する。応答内容妥当性評価部111は、修正された応答テキスト候補群601を入力として、それぞれの応答テキスト候補に対して応答内容妥当性スコアを計算する。計算の結果、
図10のような、修正された応答テキスト候補群601に対応する応答内容妥当性スコア1002が得られる。
【0032】
応答内容妥当性評価部111は、システムが応答出力するメッセージである応答テキスト候補の内容が、ユーザが行っている対話の目的やそれまでのユーザとシステムのメッセージのやり取り(文脈)に照らして内容が妥当なものかどうかを応答内容妥当性スコアとして計算する処理である。つまり、次のシステム応答候補だけではなく、それまでのユーザとシステムとのメッセージのやり取り履歴も評価処理には必要である。応答内容妥当性評価部111へ入力される、
図6のデータの例では、次にシステムが応答出力する応答テキスト候補だけが入力されるように認識される。
【0033】
しかし、入出力履歴DB103から出力されて言語モデル状態応答生成部105に入力される履歴情報は、応答修正部107などを素通りしてそのまま応答内容妥当性評価部111に入力することは容易である。ここでは、応答内容妥当性評価部111に対して、
図4に示すやり取り履歴テキスト401と共に、
図6の修正された応答テキスト候補群601が入力されたこととして、以下、処理内容を説明する。
【0034】
上述したように、応答内容妥当性評価部111は、応答テキスト候補がそれまでのやり取り履歴の文脈や対話目的に対して妥当な内容を持つかどうかを評価する処理である。そのため、同じ応答テキスト候補に対してはユーザによらず同じスコアを出すことが想定される。しかしながら、同じやり取り履歴(文脈)でもユーザごとに、次のシステム応答としてどういう内容が妥当かは変わってくる可能性は存在する。例えば、
図4のやり取り履歴テキスト301に対して、直近のユーザ入力「いくら」に対して、応答テキスト候補群403の中の「残高の確認ですか?」と、残高確認かどうかを再度質問する応答出力は内容的には妥当ではあるが、もしこのユーザがIVRシステムに接続するたび最初に残高確認を行う傾向があるのであれば、直接に残高情報を出力する「残高は“残高”です。」のスコアを高めるなどの調整を行う意義がある。このように、ユーザに応じて内容妥当性スコアを計算する場合であっても、以降の説明にあるドメインごとの情報関連性モデルをユーザID別に管理するDBを用意すればよく、応答内容妥当性評価部111の機能ないし作用は上記と同様であるので、その説明は省略する。
【0035】
応答内容妥当性評価部111が参照するドメインごと情報関連性モデルDB112は、銀行サービスや家電故障受付サービスのように、IVRシステムが対象とするタスクドメインごとに一つのモデルを設定しても良い。また、銀行サービスドメインを細分化して、メインメニュー、残高照会メニュー、国内送金メニューなどのように、複数ドメインの情報関連性モデルを設定して、その時々の対話状態、すなわちユーザ状態DB104で管理されるユーザごとの対話状態に応じて情報関連性モデルを切り替える構成としてもよい。以下の説明では、IVRシステム全体でユーザによらず一つの情報関連性モデルを持つ例を基に処理を説明する。
【0036】
図11は、応答内容妥当性評価部111の処理を示す。とりわけ、処理に伴う入出力情報の一例を示す。上述のように、応答内容妥当性評価部111は、ユーザに対するそれまでのやり取りを記録した履歴情報1101と、「いくら」というユーザの最終入力に対する修正された応答テキスト候補群601を入力として、
図10に示したものと同じく、修正された応答テキスト候補一つ一つに対して、応答内容妥当性スコア1002を掲載したリスト1000を出力する。応答テキスト候補群の中の応答テキスト候補一つ一つに対してスコアを算出するには、算出処理をループすれば良い。
【0037】
ここでは、応答テキスト候補「残高の確認ですか?」に対してスコアを算出する処理を取り出して説明する。この処理の例を
図12に示す。つまり、やり取りの履歴情報テキスト301に対して応答テキスト候補の一つを末尾に連結したテキストを入力として、応答内容妥当性評価部111が、末尾に連結された応答テキスト候補の応答内容妥当性スコア1204を、情報関連性モデルを参照して算出すれば良い。この処理の例としては例えば、このIVRシステムでの過去の様々なやり取り履歴テキストのうち、すべてのシステム応答が内容的に妥当なもののみを取り出して学習データを構築し、その学習データを使ってLSTM(Long-Short Term Memory)などの再帰的深層学習モデルを学習して使用する方法が考えられる。このLSTM深層学習モデルに、
図12の履歴情報テキスト301を入力すると、履歴情報内のやり取りが内容的に妥当かどうかのスコアが内部重みとして伝播し、最終的には履歴情報テキストの末尾の文、すなわち今回の応答テキスト候補に対して内容が妥当かどうかの尤度値が出力されるようにLTSM深層学習モデルを構成できる。この尤度情報に何等かの数学的変換を施すことで、0から1.0の範囲での応答内容妥当性スコア1204を出力する。
【0038】
さらに、応答内容妥当性評価部111の算出処理の他の例として、例えば、チャットボットのQAペアDBを利用する方法や、チャットボットのシナリオ情報を活用する方法などの単純な方法が考えられる。ユーザの入力した対話テキストに対して応答テキストを出力するチャットボットのうち、簡単な例では、入力テキスト(Q)に対する応答テキスト(A)をテキスト対の形で大量にリスト化したQAペアDBを参照する。ユーザの入力した対話テキストに対して何らかの基準で似ていると判定されたQに対応するAテキストを出力することで、問い合わせに応答できるチャットボットが実現できる。例えば、銀行サービスに応答可能なチャットボット用にQAペアDBが存在している場合、そのQAペアDBを応答内容妥当性スコアの算出処理に利用できる。
【0039】
チャットボットのQAペアDBを利用する例では、
図12の履歴情報テキスト301の末尾の一対のやりとりである「U:いくら」と「S:残高の確認ですか?」を抜き出し、Qが前者に似てAが後者に似たQAペアがQAペアDBにあるかどうかを検索する。似ているかどうかの判定処理は上記チャットボットの処理を用いればよく、QとAそれぞれで計算される類似度の平均を取るなどして最も類似度が高いQAペアを検索する。その際の類似度に数学的変換を施すことで応答内容妥当性スコアとすることができる。他にも、履歴テキスト301内のユーザ入力とシステム応答のすべてのペアに対して、同様にQAペアDB内での類似度を算出し、すべての類似度に何等かの重みを用いて加重平均を取ることで履歴テキスト全体に対する応答内容妥当性スコアを計算しても良い。
【0040】
また、チャットボットのシナリオ情報を利用する例では、QAペアを対話の流れに沿って繋げて木構造となるようにしたデータであるシナリオ情報を参照する。QAペアDBが一回の往復で完結するやり取りを定義した情報であるのに対して、シナリオ情報は、送金先や送金額などの複数の情報をユーザに質問しなければならないタスクにおいて有用である。この木構造のシナリオ情報を活用して応答内容妥当性スコアを算出する手法も、実際の処理は上記のQAペアDBの活用形態と同様に処理可能である。例えば、履歴テキストの末尾の一対のやり取りを抜き出し、そのユーザ入力とシステム応答の組が、シナリオ木構造の隣あったノードとして近いテキストが存在しているかを類似度の平均などでスコアを算出することができる。
【0041】
応答表現適切性評価部109および応答内容妥当性評価部111から出力された、修正された応答テキスト候補群に対する2つのスコア値リスト700,1000は応答選択部113に入力され、応答選択部113において応答表現適切性スコア702と応答内容妥当性スコア1002を総合した指標で最も良い応答テキストが選択される。選択された応答テキストは、IVRシステムでは音声合成部114で音声に変換されて出力され、ユーザによる音声再生が可能となる。この総合指標の算出方法としては、平均のような単純なものから、応答表現適切性スコア702と応答内容妥当性スコア1002それぞれにしきい値を設定し、共にしきい値を超えた応答テキスト候補に対して何らかの総合指標を算出するなどの工夫が考えられる。
【0042】
以上のように、実施例1によれば、ユーザの入力メッセージ(音声もしくはテキスト)に対して応答メッセージを返すようなIVRシステムにおいて、生成されたメッセージを様々なパタンで修正した応答テキストに対して、その表現がユーザにとって理解しやすいか不快な表現でないかなどを評価した指標である応答表現適切性スコア702と、その応答テキストの内容がそれまでのメッセージのやりとりの文脈に沿った内容であるかを評価した指標である応答内容妥当性スコア1002を算出し、もっとも適切な評価スコアを持つ応答メッセージを選択、出力することができる。これにより、IVRシステムの応答メッセージがユーザに応じて理解しやすく不快でない表現になり、応答メッセージがそれまでの対話文脈に沿った妥当な内容となる。本実施例は、システムの応答メッセージの生成処理が、従来のテンプレートやルールに基づく応答メッセージ生成ではなく統計的テキスト生成手法などで生成される場合、すなわち生成される応答メッセージの表現適切性や内容妥当性に対して制御が困難な場合において特に効果的である。
このように、実施例2による応答テキストの生成は、二つの処理ルートで行われる。第1のルートが、テキスト結合部102から言語モデル応答生成部105を経由する統計的テキスト生成手法によって生成されるルートであり、ここでの応答生成は実施例1の言語モデル状態応答生成部105で実施される処理と同一である。第2のルートは、意図理解部1302から応答生成部1305を経由するルートである。このルートの処理は、従来のIVRシステムで使われているような規則に従った応答テキスト生成処理である。実施例1で説明したような統計的テキスト生成手法がまだ十分にすべてのユーザ入力に対して適切な応答テキストを生成できるとは限らない場合に、このように規則的な生成と統計的テキスト生成とを併用することが有用である。IVRシステムのような対話的情報システムにおいては、例えば銀行サービスのようにあらかじめ設定されたタスクやドメインの中での対話パタンはほぼ事前に設計しておくことができるため、第2の処理ルートのような規則的な応答生成が効果的である。しかし、そのようなサービスシステムであっても、時としてユーザがドメイン外の入力メッセージ(例えばある銀行支店の住所を聞くなど)を発することがありえる。このような場合、従来の規則的な応答生成のみの処理であると、「分かりません。別の問い合わせをどうぞ」などのようなシステム応答が繰り返されることになり、ユーザの満足度が低下する。そこで、統計的テキスト生成手法を併用することでタスク外、ドメイン外の入力であっても何かしらの適切な応答を生成できるようになる。特に、この銀行サービスなどに関連する様々なテキストデータ(銀行Webサイトの全テキストやすべての業務マニュアルなど)を学習データとして統計的テキスト生成手法のモデル学習を行うことで、より適切な応答を生成できる可能性を高めることができる。しかしながら、統計的テキスト生成である以上、実施例1と同様に、その表現の適切さや内容の妥当さは制御しづらいため、応答表現適切性評価部109と応答内容妥当性評価部111でのスコア評価およびその結果を用いた最終的な応答選択部113による処理を行うことが重要になる。
意図理解部1302から出力された意図ラベルは、ユーザ入力に対するユーザ意図として状態遷移部1304に入力される。状態遷移部1304には併せて、ユーザ状態DB104からの出力である、ユーザのサービス状態が現在どの状態であるかを示す情報も入力される。状態遷移部1304は、現在のユーザ状態と今回入力されたユーザ意図に応じて次のユーザ状態を決定する。状態遷移部1304の処理は、ドメイン(例えば銀行サービスなど)ごとに定義される状態遷移グラフを参照し、現在のユーザ状態ノードから発する有向リンクの中で指定のユーザ意図が割り当てられているリンクが次に至るユーザ状態ノードを探索して出力するという一般的な状態遷移マシンの構成を取ればよい。状態遷移部1304からの出力は、このように決定された次のユーザ状態、および当該有向リンクに合わせて指定されている応答テキストテンプレート(例えば残高照会に対応する有向リンクの場合だと「残高は“残高”です」など)の2点を少なくとも有する。次のユーザ状態は、ユーザ状態DB1303に渡されて格納され、応答テキストテンプレートは応答生成部1305に渡されてユーザに対する応答テキストの生成が行われる。
応答生成部1305では、入力された応答テキストテンプレートに対して、必要な情報を追加、置換することで最終的な応答テキストを生成する。例えば、応答テキストテンプレート「残高は“残高”です」が入力された場合、このテンプレートのスロット部分である“残高”をこのユーザ口座の実際の残高数値で置換して例えば「残高は百万円です」などの応答テキストを生成する。
実施例2によれば、従来の規則的な対話制御を行うIVRシステムに対して統計的テキスト生成手法を付加することでドメイン外の入力にも柔軟に対応できるようにしたシステムにおいて、実施例1と同様に、生成された応答メッセージを様々なパタンで修正した応答テキストに対して、その表現がユーザにとって理解しやすいか不快な表現でないかなどを評価した指標である応答表現適切性スコアと、その応答テキストの内容がそれまでのメッセージのやりとりの文脈に沿った内容であるかを評価した指標である応答内容妥当性スコアを算出し、もっとも適切な評価スコアを持つ応答メッセージを選択、出力できる。これにより、IVRシステムの応答メッセージがユーザに応じて理解しやすく不快でない表現になると共に、その内容がそれまでの対話文脈に沿った妥当な内容であることが保証される。