(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023176054
(43)【公開日】2023-12-13
(54)【発明の名称】対話管理装置、対話管理方法及び対話管理システム
(51)【国際特許分類】
G06F 16/90 20190101AFI20231206BHJP
【FI】
G06F16/90 100
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022088123
(22)【出願日】2022-05-31
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000062
【氏名又は名称】弁理士法人第一国際特許事務所
(72)【発明者】
【氏名】アマリア イスティクラリ アディバ
(72)【発明者】
【氏名】本間 健
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA01
(57)【要約】 (修正有)
【課題】自然言語の会話に基づいて生成した参照文章を用いてMRCモデルを訓練することで様々な質問に対応し、柔軟性及びロバスト性が高い対話管理手段を提供する。
【解決手段】ユーザと対話を行うクライアント端末と、対話管理装置とが、通信ネットワーク330を介して互いに接続される対話管理システム300において、対話管理装置は、第1のドメインに対応する第1の質問に対する第1の回答を、第1のドメインに対応する第1の参照文章に基づいて生成する回答生成部と、第2のドメインに対応する質問及び回答を含む第2の対話データに基づいて、質問及び回答の内容を含む第2の参照文章を生成する文章生成部と、第2の対話データと、第2のドメインに対応する第2の質問に対する正しい回答を示す第2の回答ラベルと、第2の参照文章とを用いて、第2のドメインに対応する質問に対して適切な回答を生成するように回答生成部を訓練する適応部と、を含む。
【選択図】
図3
【特許請求の範囲】
【請求項1】
対話管理装置であって、
第1の質問を受信し、前記第1の質問に対する第1の回答を、第1の参照文章に基づいて生成する回答生成部と、
質問及び回答を含む対話データに基づいて、前記質問及び回答の内容を含む第2の参照文章を生成する文章生成部と、
前記対話データと、第2の質問に対する正しい回答を示す第2の回答ラベルと、前記第2の参照文章とを用いて、前記第2の質問に対する適切な回答を生成するように前記回答生成部を訓練する適応部と、
を含むことを特徴とする対話管理装置。
【請求項2】
前記第1の質問は、第1のドメインに対応し、
前記第1の参照文章は、前記第1のドメインに対応し、
前記対話データは、第2のドメインに対応し、
前記第2の参照文章は、前記第2のドメインに対応し、
前記第2の回答ラベルは、前記第2のドメインに対応し、
前記第2の質問は、前記第2のドメインに対応する、
ことを特徴とする、請求項1に記載の対話管理装置。
【請求項3】
前記第1の回答の、前記第1の質問に対する正しい回答を示すグラウンドトゥルースである第1の回答ラベルに対する損失を減らすように前記回答生成部のモデルパラメータを変更することで、前記回答生成部を訓練する回答生成部訓練部、
を更に備えることを特徴とする、請求項2の対話管理装置。
【請求項4】
前記第2の参照文章の、前記対話データに関する正しい内容を含むグラウンドトゥルースである文章ラベルに対する損失を減らすように前記文章生成部のモデルパラメータを変更することで、前記文章生成部を訓練する文章生成部訓練部、
を更に備えることを特徴とする、請求項2の対話管理装置。
【請求項5】
前記文章生成部訓練部は、
前記対話データが所定の希少性基準を満たす場合、
前記対話データにおける質問に対する回答を含む元文章から、各回答を抽出し、前記文章ラベルとする、
ことを特徴とする、請求項4に記載の対話管理装置。
【請求項6】
前記文章生成部訓練部は、
前記対話データが所定の希少性基準を満たさない場合、
前記対話データと、異なる対話に対応する第2の対話データとから抽出した情報を前記文章ラベルとする、
ことを特徴とする、請求項4に記載の対話管理装置。
【請求項7】
前記回答生成部は、
前記文章生成部によって生成される、前記第2のドメインに対応する前記第2の参照文章を用いて、前記第2のドメインに対応する前記第2の質問に対する回答候補を生成し、
生成した前記回答候補の中から、所定の信用度基準を満たす回答を、前記第2の質問に対する正しい回答を示す前記第2の回答ラベルとして抽出し、
前記適応部は、
前記回答生成部によって生成される、前記第2の質問に対する第2の回答の、前記第2の回答ラベルに対する損失を減らすように前記回答生成部を訓練する、
ことを特徴とする、請求項3に記載の対話管理装置。
【請求項8】
前記適応部は、
ドメインを区別する識別ネットワークを更に含み、
前記第1の質問及び前記第1の参照文章に基づいて、前記第1のドメインに関する第1のドメイン特徴量を前記回答生成部から取得し、
前記第2の質問及び前記第2の参照文章に基づいて、前記第2のドメインに関する第2のドメイン特徴量を前記回答生成部から取得し、
前記第1のドメイン特徴量と、前記第2のドメイン特徴量とに基づいて、前記第1のドメインに関する質問と前記第2のドメインに関する質問とを区別するように前記識別ネットワークを訓練する、
ことを特徴とする、請求項3に記載の対話管理装置。
【請求項9】
前記回答生成部は、前記識別ネットワークが前記第1のドメインに関する質問と前記第2のドメインに関する質問とを区別するように訓練される、
ことを特徴とする、請求項8に記載の対話管理装置。
【請求項10】
前記回答生成部は、前記識別ネットワークが前記第1のドメインに関する質問と前記第2のドメインに関する質問とを区別しづらくなるように訓練される、
ことを特徴とする、請求項8に記載の対話管理装置。
【請求項11】
対話管理方法であって、
第1のドメインに対応する第1の質問に対する第1の回答を、前記第1のドメインに対応する第1の参照文章に基づいて生成する回答生成部を訓練する工程と、
第2のドメインに対応する質問及び回答を含む第2の対話データに基づいて、前記質問及び回答の内容を含む第2の参照文章を生成する文章生成部を訓練する工程と、
前記第2の参照文章を用いて、前記第2のドメインに対応する第2の質問に対する回答候補を前記回答生成部によって生成する工程と、
生成した前記回答候補の中から、所定の信用度基準を満たす回答を、前記第2の質問に対する正しい回答を示す第2の回答ラベルとして抽出する工程と、
前記第2の対話データと、前記第2の質問に対する正しい回答を示す前記第2の回答ラベルと、前記第2の参照文章とを用いて、前記回答生成部によって生成される、前記第2の質問に対する第2の回答の、前記第2の回答ラベルに対する損失を減らすように前記回答生成部のモデルパラメータを変更することで、前記第2のドメインに対応する質問に対して適切な回答を生成するように、前記回答生成部を訓練する工程と、
を含むことを特徴とする対話管理方法。
【請求項12】
ユーザの質問に対して適切な応答を出力するクライアント端末と、
前記応答を生成する対話管理装置とが通信ネットワークを介して接続される対話管理システムにおいて、
前記対話管理装置は、
第1のドメインに対応する第1の質問に対する第1の回答を、前記第1のドメインに対応する第1の参照文章に基づいて生成する回答生成部と、
第2のドメインに対応する質問及び回答を含む第2の対話データに基づいて、前記質問及び回答の内容を含む第2の参照文章を生成する文章生成部と、
前記第2の対話データと、前記第2のドメインに対応する第2の質問に対する正しい回答を示す第2の回答ラベルと、前記第2の参照文章とを用いて、前記第2のドメインに対応する質問に対して適切な回答を生成するように前記回答生成部を訓練する適応部と、
を含むことを特徴とする対話管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対話管理装置、対話管理方法及び対話管理システムに関する。
【背景技術】
【0002】
近年、機械に言語理解能力を与えることは、自然言語処理や人工知能における中心的な課題である。Machine Reading Comprehension(MRC)は、機械の言語理解能力を開発・評価するためのタスクであり、定められた文章に関して設定された質問に正しく解答できるか否かにより、機械による理解度を測ることができる。更に、MRCの技術を産業に応用し、人間の質問に回答する対話システムで利用することができる。
【0003】
現在のMRCの問題点の一つに、与えられる対象の文章中に質問の答えが存在するとは限らないことが挙げられる。質問の答えが与えられる対象の文章中に存在しない場合、MRCモデルは、学習した手掛かりに基づいて対象の文章から最善と考えられる答えを回答するが、質問に対する正しい答えが文章に存在しないため、質問への妥当な答えとはならない、不適切な応答を出力してしまうという課題がある。
【0004】
与えられる対象の文章中に質問の答えが存在しない場合に、MRCモデルが不適切な応答を出力してしまうという課題について、いくつかの提案がなされている。
例えば、中西真央、小林哲則、林良彦の研究(非特許文献1)には、「本研究では、既存のデータセットから自動的に答えのない質問データを作成する簡潔な手法を提案
する。さらに、答えのない質問に対して、その質問が文章中に答えを持たないことを識別することの難易度を自動的に付与する方法を提案する。これにより、作成するデータセットが一定の難易度を持つように制御できることを示す。」技術が開示されている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】中西真央、小林哲則、林良彦、「答えのないことを答えるMachine Reading Comprehension」、早稲田大学理工学術院、言語処理学会、第24回年次大会、発表論文集、2018年3月
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の非特許文献1には、文章中に記述のない内容に関する質問に対して、「回答できない」と応答できるMRCモデルを訓練するデータセットの作成方法や、質問が文章中に答えを持たないことを識別することの難易度を付与する方法が記載されている。
【0007】
上記の非特許文献1によれば、文章中に記述のない内容に関する質問に対して「回答できない」と応答できるMRCモデルを訓練することができるとされている。しかし、ユーザの観点からは、「回答できない」との応答では十分と感じられず、不満につながる場合がある。このため、文章中に記述のない内容についても適切な応答を出力する手法は非特許文献1では検討されておらず、今後の検討課題となっている。
【0008】
そこで、本開示は、自然言語の会話に基づいて生成した参照文章を用いてMRCモデルを訓練することで、様々な質問に対応できる、柔軟性及びロバスト性が高い対話管理手段を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、代表的な本発明の対話管理装置の一つは、第1の質問を受信し、前記第1の質問に対する第1の回答を、第1の参照文章に基づいて生成する回答生成部と、質問及び回答を含む対話データに基づいて、前記質問及び回答の内容を含む第2の参照文章を生成する文章生成部と、前記対話データと、第2の質問に対する正しい回答を示す第2の回答ラベルと、前記第2の参照文章とを用いて、前記第2の質問に対する適切な回答を生成するように前記回答生成部を訓練する適応部とを含む。
【発明の効果】
【0010】
本開示によれば、自然言語の会話に基づいて生成した参照文章を用いてMRCモデルを訓練することで、様々な質問に対応できる、柔軟性及びロバスト性が高い対話管理手段を提供することができる。
上記以外の課題、構成及び効果は、以下の発明を実施するための形態における説明により明らかにされる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、本開示の実施形態を実施するためのコンピュータシステムを示す図である。
【
図2】
図2は、従来のMRCモデルを用いた質問応答処理の流れを示す図である。
【
図3】
図3は、本開示の実施形態に係る対話管理システムの構成の一例を示す図である。
【
図4】
図4は、本開示の実施形態に係る回答生成部を訓練するための回答生成部訓練処理の流れの一例を示すブロック図である
【
図5】
図5は、本開示の実施形態に係る文章生成部訓練処理の流れの一例を示すブロック図である。
【
図6】
図6は、本開示の実施形態に係る文脈ラベル生成処理の具体例を示す図である。
【
図7】
図7は、本開示の実施形態に係る対話集約処理の具体例を示す図である。
【
図8】
図8は、本開示の実施形態に係る適応処理の流れの一例を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
また、「第1」、「第2」、「第3」等の用語は、本開示において様々な要素又は構成要素を説明するのに用いられる場合があるが、これらの要素又は構成要素はこれらの用語によって限定されるべきでないことが理解されるであろう。これらの用語は、或る要素又は構成要素を別の要素又は構成要素と区別するためにのみ用いられる。したがって、以下で論述する第1の要素又は構成要素は、本発明概念の教示から逸脱することなく第2の要素又は構成要素と呼ぶこともできる。
【0013】
次に、
図1を参照して、本開示の実施形態を実施するためのコンピュータシステム100について説明する。本明細書で開示される様々な実施形態の機構及び装置は、任意の適切なコンピューティングシステムに適用されてもよい。コンピュータシステム100の主要コンポーネントは、1つ以上のプロセッサ102、メモリ104、端末インターフェース112、ストレージインタフェース113、I/O(入出力)デバイスインタフェース114、及びネットワークインターフェース115を含む。これらのコンポーネントは、メモリバス106、I/Oバス108、バスインターフェースユニット109、及びI/Oバスインターフェースユニット110を介して、相互的に接続されてもよい。
【0014】
コンピュータシステム100は、プロセッサ102と総称される1つ又は複数の汎用プログラマブル中央処理装置(CPU)102A及び102Bを含んでもよい。ある実施形態では、コンピュータシステム100は複数のプロセッサを備えてもよく、また別の実施形態では、コンピュータシステム100は単一のCPUシステムであってもよい。各プロセッサ102は、メモリ104に格納された命令を実行し、オンボードキャッシュを含んでもよい。
【0015】
ある実施形態では、メモリ104は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体(揮発性又は不揮発性のいずれか)を含んでもよい。メモリ104は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造のすべて又は一部を格納してもよい。例えば、メモリ104は、対話管理アプリケーション150を格納していてもよい。ある実施形態では、対話管理アプリケーション150は、後述する機能をプロセッサ102上で実行する命令又は記述を含んでもよい。
【0016】
ある実施形態では、対話管理アプリケーション150は、プロセッサベースのシステムの代わりに、またはプロセッサベースのシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、および/または他の物理ハードウェアデバイスを介してハードウェアで実施されてもよい。ある実施形態では、対話管理アプリケーション150は、命令又は記述以外のデータを含んでもよい。ある実施形態では、カメラ、センサ、または他のデータ入力デバイス(図示せず)が、バスインターフェースユニット109、プロセッサ102、またはコンピュータシステム100の他のハードウェアと直接通信するように提供されてもよい。
【0017】
コンピュータシステム100は、プロセッサ102、メモリ104、表示システム124、及びI/Oバスインターフェースユニット110間の通信を行うバスインターフェースユニット109を含んでもよい。I/Oバスインターフェースユニット110は、様々なI/Oユニットとの間でデータを転送するためのI/Oバス108と連結していてもよい。I/Oバスインターフェースユニット110は、I/Oバス108を介して、I/Oプロセッサ(IOP)又はI/Oアダプタ(IOA)としても知られる複数のI/Oインタフェースユニット112,113,114、及び115と通信してもよい。
【0018】
表示システム124は、表示コントローラ、表示メモリ、又はその両方を含んでもよい。表示コントローラは、ビデオ、オーディオ、又はその両方のデータを表示装置126に提供することができる。また、コンピュータシステム100は、データを収集し、プロセッサ102に当該データを提供するように構成された1つまたは複数のセンサ等のデバイスを含んでもよい。
【0019】
例えば、コンピュータシステム100は、心拍数データやストレスレベルデータ等を収集するバイオメトリックセンサ、湿度データ、温度データ、圧力データ等を収集する環境センサ、及び加速度データ、運動データ等を収集するモーションセンサ等を含んでもよい。これ以外のタイプのセンサも使用可能である。表示システム124は、単独のディスプレイ画面、テレビ、タブレット、又は携帯型デバイスなどの表示装置126に接続されてもよい。
【0020】
I/Oインタフェースユニットは、様々なストレージ又はI/Oデバイスと通信する機能を備える。例えば、端末インタフェースユニット112は、ビデオ表示装置、スピーカテレビ等のユーザ出力デバイスや、キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイス等のユーザ入力デバイスのようなユーザI/Oデバイス116の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力デバイスを操作することで、ユーザI/Oデバイス116及びコンピュータシステム100に対して入力データや指示を入力し、コンピュータシステム100からの出力データを受け取ってもよい。ユーザインターフェースは例えば、ユーザI/Oデバイス116を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されたりしてもよい。
【0021】
ストレージインタフェース113は、1つ又は複数のディスクドライブや直接アクセスストレージ装置117(通常は磁気ディスクドライブストレージ装置であるが、単一のディスクドライブとして見えるように構成されたディスクドライブのアレイ又は他のストレージ装置であってもよい)の取り付けが可能である。ある実施形態では、ストレージ装置117は、任意の二次記憶装置として実装されてもよい。メモリ104の内容は、ストレージ装置117に記憶され、必要に応じてストレージ装置117から読み出されてもよい。I/Oデバイスインタフェース114は、プリンタ、ファックスマシン等の他のI/Oデバイスに対するインターフェースを提供してもよい。ネットワークインターフェース115は、コンピュータシステム100と他のデバイスが相互的に通信できるように、通信経路を提供してもよい。この通信経路は、例えば、ネットワーク130であってもよい。
【0022】
ある実施形態では、コンピュータシステム100は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又はサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム(クライアント)からの要求を受信するデバイスであってもよい。他の実施形態では、コンピュータシステム100は、デスクトップコンピュータ、携帯型コンピューター、ノートパソコン、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、又は任意の他の適切な電子機器であってもよい。
【0023】
次に、
図2を参照して、従来のMRCモデルを用いた質問応答処理の流れについて説明する。
【0024】
上述したように、従来から、自然言語処理や人工知能において、機械に言語理解能力を与える手段として、Machine Reading Comprehension(MRC)は知られている。MRCは、機械の言語理解能力を開発・評価するためのタスクであり、定められた文章に関して設定された質問に正しく解答できるかにより、機械による理解度を測ることができる。従来のMRCを用いた質問応答処理の流れは、
図2に示される。
【0025】
まず、ステップS210では、「スマホをどうやってWiFi(登録商標)に接続する?」等の質問215を受け付けた後、ステップS220訓練済みのMRC部は、受け付けた質問215を自然言語処理で解析し、予め用意された参照文章225を参照し、質問215の回答となる箇所の始点及び終点を規定する回答インデックスを参照文章225において特定する。その後、ステップS230では、特定した回答インデックスに規定される文章箇所が、質問215の回答として出力される。
【0026】
一例として、「スマホをどうやってWiFiに接続する?」との質問215を受け付けた場合、訓練済みのMRC部は、参照文章225において、「60~71」との回答インデックスに規定される「スマホの「設定」画面で、WiFiに接続することができます」との文章箇所を回答として出力する。
【0027】
このようなMRCモデルは、例えばオンラインのチャットサポートやコールセンター等で使用されてきた。チャットサポートやコールセンターに対して問われた質問の回答が予め用意された文章内に存在していれば、MRCモデルに特定され、回答として出力される。
【0028】
しかし、上述したように、質問への適切な回答が、予め用意された参照文章において存在するとは限らない。質問の答えが与えられる参照文章中に存在しない場合、MRCモデルは、学習された手掛かりに基づいて参照文章から最善と考えられる答えを回答するが、質問に対する正しい答えが参照文章に存在しないため、質問への妥当な答えではない、不適切な応答を出力してしまうという課題がある。
この場合、例えばオンラインのチャットサポートやコールセンターでは、上司や責任者に交代して対応するエスカレーション対応が発生することがあるが、これは質問を発したユーザ及び対応する責任者の時間を要するため、望ましくない。
【0029】
従って、上記の課題を鑑み、本開示は、自然言語の会話に基づいて生成した参照文章を用いてMRCモデルを訓練することで、様々な質問に対応できる、柔軟性及びロバスト性が高い対話管理手段に関する。
【0030】
次に、
図3を参照して、本開示の実施形態に係る対話管理システムについて説明する。
【0031】
図3は、本開示の実施形態に係る対話管理システム300の構成の一例を示す図である。
図3に示すように、対話管理システム300は、クライアント端末320と、対話管理装置340とを含む。対話管理システム300において、クライアント端末320と、対話管理装置340とは、通信ネットワーク330を介して互いに接続されてもよい。
【0032】
クライアント端末320は、ユーザ310との対話を行うための装置である。一例として、クライアント端末320は、例えばオンラインのチャットサポートやコールセンターでユーザ310の質問に対する回答を提供するように構成されたコンピューティングデバイスであってもよい。ある実施形態では、クライアント端末320は、対話管理装置340と連携してユーザ310に対応するように構成されてもよい。
【0033】
図3に示すように、クライアント端末320は、受付部322と、第1の通信部324と、応答部326と、対話データ329を格納するストレージ部328とを含んでもよい。
受付部322は、ユーザ310からの質問を受け付ける機能部である。受付部322は、例えば、「住宅ローンに申し込むためにどのような条件がありますか?」や「スマホをどうやってWiFiに接続する?」などの質問を受け付けてもよい。受付部322は、例えば音声で発せられる質問を受け付けるように構成されてもよく、テキストで入力される質問を受け付けるように構成されてもよい。
【0034】
第1の通信部324は、対話管理装置340との双方データ通信を行うための機能部である。ある実施形態では、第1の通信部324は、受付部322によって受け付けられた質問を通信ネットワーク330を介して対話管理装置340に送信し、対話管理装置340によって生成される回答を受信してもよい。
【0035】
通信ネットワーク330は、例えばローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、衛星ネットワーク、ケーブルネットワーク、WiFiネットワーク、またはそれらの任意の組み合わせを含むものであってもよい。
【0036】
応答部326は、受付部322がユーザ310から受け付けた質問への回答を応答として出力するための機能部である。ある実施形態では、応答部326は、対話管理装置340から受信した回答を用いてユーザ310へ応答してもよい。
【0037】
ストレージ部328は、ユーザ310との間で行われた対話の履歴を示す対話データ329を格納する記憶領域である。
【0038】
対話管理装置340は、様々な質問に対する回答を生成するための機能部である。ある実施形態では、対話管理装置340は、例えばクラウド等の分散コンピューティング環境におけるサーバ装置又は複数のサーバ装置として実装され、本開示の実施形態に係る対話管理手段をサービスとしてクライアント端末320に提供してもよい。
図3に示すように、対話管理装置340は、回答生成部342、回答生成部訓練部344、文章生成部346、文章生成部訓練部348、適応部350及び第2の通信部352を含む。
なお、これらの機能部は、
図1に示す対話管理アプリケーション150を構成するソフトウエアモジュールであってもよく、独立した専用ハードウェアデバイスであってもよい。また、上記の機能部は、同一のコンピューティング環境に実施されてもよく、分散されたコンピューティング環境に実施されてもよい。
【0039】
回答生成部342は、受け付けた質問(例えば、第1の質問)に対する適切な回答(例えば、第1の回答)を所定の参照文章(例えば、第1の参照文章)に基づいて生成するための機能部である。ある実施形態では、回答生成部342は、クライアント端末320がユーザ310から受け付けた質問を通信ネットワーク330を介して受信し、当該質問の回答となる箇所の始点及び終点を規定する回答インデックスを所定の文章において特定し、回答として生成するMRCモデルであってもよい。
なお、本開示では、「適切な回答」との表現は、ユーザの質問に対する有意義な情報を提供する回答を意味する。
【0040】
回答生成部342が受け付ける質問は、特定のドメインに対応する質問であってもよい。ここでのドメインとは、特定の情報、内容、話題、目的、トピックの範囲を意味するものであり、例えば「レストラン予約」、「不動産の物件探し」、「送金手続き」、「住宅ローン申し込み」、「WiFi接続」等、任意の事柄に関連していてもよい。また、本開示において、「ドメインに対応する」との表現は、ある質問、回答、文章等が、特定のドメインとある程度の関連性を有することを意味する。一例として、「〇〇駅付近に売りに出されている新築マンションありますか?」との質問は、「不動産の物件探し」とのドメインに対応しているとみなしてもよい。
【0041】
本開示では、「第1のドメイン」や「第2のドメイン」等の用語を用いて本開示の実施形態について説明するが、これらの「第1のドメイン」及び「第2のドメイン」は、同一のドメインであってもよく、異なるドメインであってもよい。ある実施形態では、「第1のドメイン」は、MRCモデルが既に対応可能となっているソースのドメインであり、「第2のドメイン」は、MRCモデルに対応させるターゲットのドメインであってもよい。また、ある実施形態では、第2のドメインは、第1のドメインと実質的に同様の話題やトピックに該当するものの、第1のドメインには含まれない情報を含むものであってもよい。
同様に、以下の説明で用いる「第1の~」や「第2の~」等の用語は、構成要素を限定するものではなく、区別するために用いられていることに留意されたい。
【0042】
回答生成部訓練部344は、回答生成部342を訓練するための機能部である。より具体的には、回答生成部訓練部344は、第1のドメイン(例えば、ソースドメイン)に対応する質問に対して適切な回答を生成することができるように回答生成部342を訓練してもよい。後述するように、回答生成部342のようなMRCモデルを訓練するためには、対象のドメインに対応する対話データと、当該対話データにおける質問に対する回答を含む参照文章と、質問に対する正しい回答を示すグラウンドトゥルースとなる回答ラベルとの3つのデータが必要となる。
ある実施形態では、回答生成部訓練部344は、回答生成部342によって生成される、第1のドメインに対応する第1の質問に対する第1の回答の、第1の質問に対する正しい回答を示す第1の回答ラベルに対する損失を減らすように回答生成部342を訓練してもよい。これにより、回答生成部342は、第1のドメインに対応する質問に対してより高精度の回答を生成することができるようになる。
【0043】
文章生成部346は、自然言語で構成される対話データから、上述した回答生成部342によって用いられる参照文章を生成するための機能部である。ある実施形態では、文章生成部346は、第2のドメインに対応する質問及び回答を含む第2の対話データに基づいて、第2のドメインに関する情報を含む第2の参照文章を生成してもよい。ここで、文章生成部346は、例えばユーザとの対話から収集され、上述したストレージ部328において格納される対話データ329に基づいて参照文章を生成してもよい。このように、文章生成部346は、第1のドメインに対応する参照文章には含まれない新たな情報(例えば、対話データ329からの情報)を含む第2の参照文章を生成することができる。
【0044】
文章生成部訓練部348は、文章生成部346を訓練するための機能部である。より具体的には、文章生成部訓練部348は、対話データにおける有意義な情報を抽出した参照文章を生成する精度を向上させるように文章生成部346を訓練してもよい。ある実施形態では、文章生成部訓練部348は、文章生成部346によって生成される、第2の参照文章の、対話データに関する正しい内容を含むグラウンドトゥルースとなる文章ラベルに対する損失を減らすように文章生成部346を訓練してもよい。これにより、文章生成部346は、対話データからより高精度の参照文章を生成することができるようになる。
【0045】
適応部350は、上述した文章生成部346によって生成される参照文章を用いて回答生成部342を訓練することで、回答生成部342の対応範囲を拡張するための機能部である。ここで、「回答生成部342の対応範囲を拡張する」との表現は、回答生成部342により多くの質問(例えば、より多くのドメイン、内容、話題等に関する質問)に対して適切な回答を生成可能にすることを意味する。ある実施形態では、適応部350は、第2のドメインに対応する第2の対話データと、回答生成部342によって生成される、第2のドメインに対応する質問に対する回答ラベルと、文章生成部346によって生成される第2の参照文章とを用いて、第2のドメインに対応する質問に対する回答を生成するように回答生成部342を訓練してもよい。
【0046】
なお、原則として、回答生成部342のようなMRC部は、上述した回答生成部訓練部344による訓練では、特定のドメイン(例えば、特定の内容及び形式)に対応する参照文章を学習データとして用いて訓練される。このため、学習データとなった参照文章と同様のドメインに対応する質問に対する回答を、学習データとなった文章と同様のドメインに対応する参照文章に基づいて生成することができる。しかし、学習データと異なるドメインに対応する質問については、性能が限られてしまう。そこで、本開示の実施形態に係る適応部350を用いて、回答生成部訓練部344による訓練で用いられた学習データとは異なるドメインに対応する参照文章(例えば、文章生成部346によって生成される、第2のドメインに対応する第2の参照文章)に基づいて回答生成部342を訓練することで、回答生成部342は、対応範囲を拡張し、様々な内容に関する質問に対して適切な回答を生成することが可能となる。
【0047】
第2の通信部352は、クライアント端末320との双方データ通信を行うための機能部である。ある実施形態では、第2の通信部352は、回答生成部342によって生成された回答を通信ネットワーク330を介してクライアント端末320に送信してもよい。
【0048】
以上説明したように構成した対話管理システム300によれば、自然言語の会話に基づいて生成した参照文章を用いてMRCモデルを訓練することで、様々な質問に対応できる、柔軟性及びロバスト性が高い対話管理手段を提供することができる。言い換えれば、本開示に係る対話管理システム300においては、回答生成部342は、新たな情報を含む対話データに基づいて生成された参照文章を用いて訓練されるため、以前答えられなかった、当該新たな情報に関する質問に対しても適切な回答を生成することが可能となる。
【0049】
次に、
図4を参照して、本開示の実施形態に係る回答生成部訓練処理について説明する。
【0050】
図4は、本開示の実施形態に係る回答生成部342を訓練するための回答生成部訓練処理400の流れの一例を示すブロック図である。この回答生成部訓練処理400は、第1のドメイン(例えばソースドメイン)に対応する第1の質問に対する適切な第1の回答を、第1のドメインに対応する第1の参照文章に基づいて生成することができるように回答生成部342を訓練するための処理であり、上述した回答生成部訓練部344によって実行される。
【0051】
図4に示す第1の対話データ410は、自然言語で構成される会話を示す情報であり、第1の質問414及び当該第1の質問414への第1の回答418を含む。ある実施形態では、第1の対話データ410、そして、第1の対話データ410に含まれる
第1の質問414及び第1の回答418は、第1のドメインに対応するものであってもよい。
【0052】
この第1の対話データ410は、例えば第1の質問414への第1の回答418を求める質問者と、質問者の第1の質問414への第1の回答418を提供する回答者との間で行われた会話の履歴であってもよい。一例として、この対話データは、オンラインのチャットサポートやコールセンターで、第1の質問414への第1の回答418を求める質問者と、エスカレーション対応が発生した後に質問者に対応することとなった担当者との間で行われた会話の履歴であってもよい。
【0053】
まず、回答生成部訓練部344は、第1の対話データ410に含まれる第1の質問414と、第1の質問414の第1の回答418を含む第1の参照文章420とを回答生成部342に入力する。ここでの回答生成部342は、例えばBidrectional and Auto-Regressive Transformer(BART)やRobustly Optimized BERT Pretraining Approach(ROBERTA)等の訓練済みのMRCモデルであってもよい。
【0054】
次に、回答生成部342は、入力された第1の質問414に対する回答となる文章箇所を第1の参照文章420内で特定し、特定した文章箇所の始点及び終点を規定する第1の回答インデックス435を判定する。より具体的には、回答生成部342となるMRCモデルのエンコーダーは、第1の質問414及び第1の参照文章420を表す文脈表見(contextual representation;中間表現ともいう)を生成し、線形レイヤに出力する。その後、当該線形レイヤは、入力したエンコーダーの文脈表現が、第1の質問414に対する回答の正しい文章箇所を表している確率を示すロジットを生成する。
【0055】
次に、回答生成部訓練部344は、回答生成部342によって生成される第1の回答インデックス435の、第1の質問414の正しい回答を示すグラウンドトゥルースとなる第1の回答ラベル440に対する損失を計算し、例えばいわゆるCross Entropy Loss等の手法を用いて、損失を減らすように、回答生成部342のモデルパラメータを変更する。
【0056】
以上説明した回答生成部訓練処理400を繰り返すことで、回答生成部342は、入力された質問に対して適切な回答を出力する精度が向上する。
ただし、上述したように、この回答生成部訓練処理400では、回答生成部342のようなMRC部は、上述した回答生成部訓練部344による訓練では、特定のドメイン(例えば、特定の内容及び形式)に対応する参照文章を学習データとして用いて訓練されるため、学習データとなった参照文章と同様のドメインに対応する質問に対する回答を、学習データとなった文章と同様のドメインに対応する参照文章に基づいて生成することができるようになるものの、学習データと異なるドメインに対応する質問については、性能が限られてしまう。そこで、後述するように、回答生成部342の対応範囲を拡張し、様々な質問に対して適切な回答を生成するためには、後述する文章生成部346及び適応部350による処理が必要となる。
【0057】
次に、
図5を参照して、本開示の実施形態に係る文章生成部訓練処理について説明する。
【0058】
図5は、本開示の実施形態に係る文章生成部訓練処理500の流れの一例を示すブロック図である。この文章生成部訓練処理500は、自然言語で構成される対話データから、質問に対する適切な回答を生成するために回答生成部342によって用いられる参照文章を生成するように文章生成部346を訓練するための処理であり、上述した文章生成部訓練部348によって実行される。
【0059】
まず、文章生成部訓練部348は、第2の質問514及び第2の回答518から構成される第2の対話データ510を文章生成部346に入力する。この第2の対話データ510と、第2の対話データ510に含まれる第2の質問514及び第2の回答518は、第2のドメイン(例えば、ターゲットドメイン)に対応するものであってもよい。言い換えれば、この第2の対話データ510は、新たな情報(例えば、上述した回答生成部訓練処理400において回答生成部342を訓練するために用いられた第1の参照文章には含まれていない情報)を含む。上述したように、この第2の対話データ510は、第2の質問514への第2の回答518を求める質問者と、質問者の第2の質問514への第2の回答518を提供する回答者との間で行われた会話の履歴であってもよい。
【0060】
次に、文章生成部346は、入力された第2の対話データ510に基づいて、第2の対話データ510の内容を含む第2の参照文章520を生成する。つまり、文章生成部346は、第2の対話データ510に含まれる本質的な情報(例えば、質問への回答となる情報)を抽出し、文章として構成する処理を行う。このように、文章生成部346は、第2の対話データ510に含まれる新たな情報(例えば、上述した回答生成部訓練処理400において回答生成部342を訓練するために用いられた第1の参照文章には含まれていない情報)を含む参照文章を生成することができる。
ここでの文章生成部346は、例えばBARTモデル等、エンコーダー及びデコーダーを含む訓練済みのSequence-to-Sequenceモデルとして実装されてもよい。
【0061】
次に、文章生成部訓練部348は、文章生成部346によって生成された第2の参照文章520の、第2の対話データ510に対する正しい文章を示すグラウンドトゥルースデータとなる第2の文章ラベル540に対する損失を計算することで第2の参照文章520を評価し、例えばいわゆるCross Entropy Loss等の手法を用いて、損失を減らすように、文章生成部346のモデルパラメータを変更する。
【0062】
文章生成部346によって生成される第2の参照文章520を評価するための第2の文章ラベル540は、第2の対話データ510における第2の質問514に対する第2の回答518を全て含む元文章(例えば、ユーザに作成された文章)であってもよく、後述する文脈ラベル生成処理600によって生成される文脈ラベルであってもよく、後述する対話集約処理700によって生成される集約ラベルであってもよい。
より具体的には、ある実施形態では、文章生成部訓練部348は、CNNコーパス等の大規模のコーパスを用いて文章生成部346の初期段階の訓練を行い、様々なドメインに渡る語彙の分布や文章の形式・構成を学習させた後、SAMSum等のラベル化済みの対話データのコーパスを用いて文章生成部346の微調整(Fine Tuning)を行い、補助的な語彙を文章生成部346に学習させてもよい。
【0063】
以上説明した文章生成部訓練処理500を繰り返すことで、文章生成部346は、任意のドメインに対応する対話データに基づいて、当該対話データの本質的な情報(例えば、上述した回答生成部訓練処理400において回答生成部342を訓練するために用いられた第1の参照文章には含まれていない情報)を含む参照文章を生成する性能を向上させることができる。また、後述するように、適応部350は、この文章生成部346によって生成された参照文章を用いて回答生成部342を更に訓練することで、回答生成部342の対応範囲を拡張させ、様々な質問(例えば、第2のドメインに対応する質問)に対して適切な回答を生成することが可能なMRCモデルを得ることができる。
【0064】
上述した文章生成部訓練処理500において、文章生成部346によって生成される参照文章を評価するグラウンドトゥルースのデータとして、第2の対話データ510における第2の質問514に対する第2の回答518を全て含む元文章(例えば、ユーザに作成された文章)のみならず、当該元文章から抽出した文脈ラベル(context label)や、複数の対話データを集約した集約ラベルを用いてもよい。以下、
図6及び
図7を参照して、対話データにおける質問に対する回答を抽出して文脈ラベルを生成する文脈ラベル生成処理600と、複数の対話データを集約して対話集約を生成する対話集約処理700とについて説明する。
【0065】
図6は、本開示の実施形態に係る文脈ラベル生成処理600の具体例を示す図である。上述したように、この文脈ラベル生成処理600は、対話データにおける質問に対する回答を抽出して、文章生成部346によって生成される参照文章を評価するグラウンドトゥルースとして、文脈ラベルを生成するための処理であり、文章生成部訓練部348によって実行されてもよい。
【0066】
文脈ラベル生成処理600では、
図6に示すように、文章生成部346を訓練する学習データとして用いられる対話データに含まれる各質問610について、適切な回答となる文章箇所が、当該対話データにおける質問に対する回答を全て含む元文章620から抽出され、まとめられ、文脈ラベル630として生成される。この元文章620は、例えばユーザによって作成された文章であってもよい。
【0067】
例えば、
図6に示すように、文章生成部346を訓練する学習データとして用いられる対話データにおいて、「スマホをWiFiに接続することはできますか?」と、「パスワードは必要ですか?」との2つの質問610があった場合、文章生成部訓練部348は、これらの質問610に対する回答として、「スマホの「設定」画面で、WiFiに接続することができますが、スマホのOSによってはやり方が異なります。」と、「無線LANのパスワードが必要になりますので、そこでパスワードを入力すれば接続完了です。」との2つの文章箇所を元文章620から抽出し、文脈ラベル630として生成する。
【0068】
上述したように、このように生成した文脈ラベル630は、文章生成部346の訓練段階において、文章生成部346によって生成される参照文章を評価するグラウンドトゥルースのデータとして用いられてもよい。このように、元文章620全体ではなく、質問の回答となった文章箇所のみをグラウンドトゥルースとして用いて文章生成部346を訓練することで、文章生成部346は、質問に対する回答と無関係の情報を生成した参照文章に含まなかったことによる罰則を受けず、実際に質問に対する回答となった情報を含むグラウンドトゥルースに基づいて評価されるため、より高精度の参照文章を生成するように訓練される。
【0069】
また、ある実施形態では、この文脈ラベル生成処理600は、特定のドメイン(例えば第2のドメイン)に対応する対話データが所定の希少性基準を満たす場合に実行してもよい。この希少性基準は、使用可能な対話データの量に基づく基準であり、使用可能な対話データが所定の量未満の場合、希少性基準を満たすとみなし、使用可能な対話データが所定の量以上の場合、希少性基準を満たさないとみなす。言い換えれば、特定のドメイン(例えば第2のドメイン)に対応する対話データが少ない場合に、この文脈ラベル生成処理600を用いることが望ましい。これは、対話データにおける質問に対する回答を元文章から抽出して文脈ラベルを生成することで、特定のドメインに対応する対話データが少ない場合であっても、良質なグラウンドトゥルースを生成することができるからである。
【0070】
図7は、本開示の実施形態に係る対話集約処理700の具体例を示す図である。上述したように、この対話集約処理700は、複数の対話データを集約して、文章生成部346によって生成される参照文章を評価するグラウンドトゥルースのデータとして、集約ラベルを生成するための処理であり、文章生成部訓練部348によって実行されてもよい。
【0071】
対話集約処理700では、
図7に示すように、文章生成部訓練部348は、複数の対話データ710、720からの情報を抽出し、集約することで、文章生成部346によって生成される参照文章を評価するグラウンドトゥルースとなる集約ラベル730を生成する。これらの対話データ710、720は、共通のドメイン(例えば、スマホのWiFi接続)に対応する対話であってもよいが、これに限定されず、異なるドメインに対応する対話であってもよい。
【0072】
上述したように、このように生成した集約ラベル730は、文章生成部346の訓練段階において、文章生成部346によって生成される参照文章を評価するグラウンドトゥルースのデータとして用いられてもよい。また、この対話集約730は、複数の対話データから生成したため、例えば1つの対話データに基づいて生成される文脈ラベルに比べて、より多くの質問に対する適切な回答となる情報を含むが、生成するためにより多くの対話データが必要となる。従って、この対話集約処理700は、特定のドメイン(例えば第2のドメイン)に対応する対話データが上述した所定の希少性基準を満たさない場合(つまり、対話データが多い場合)に実行することが望ましい。
【0073】
次に、
図8を参照して、本開示の実施形態に係る適応処理について説明する。
【0074】
図8は、本開示の実施形態に係る適応処理800の流れの一例を示すブロック図である。
図8に示す適応処理800は、回答生成部342の対応範囲を拡張し、様々な質問に対して適切な回答を生成することができるように訓練するための処理であり、主に回答生成部342、文章生成部346及び適応部350によって実施される。
【0075】
上述したように、
図4を参照して説明した回答生成部訓練処理400によれば、回答生成部342は、特定のドメイン(例えば第1のドメイン)に対応する質問(例えば第1の質問)に対する適切な回答(例えば第1の回答)を生成するように訓練される。ただし、このように訓練した回答生成部342は、特定のドメインに対応する参照文章を学習データとして用いて訓練されるため、学習データとなった参照文章と同様のドメインに対応する質問に対する適切な回答を、学習データとなった参照文章と同様のドメインに対応する参照文章に基づいて生成することができるものの、学習データと異なるドメインに対応する質問については、性能が限られてしまう。
【0076】
従って、回答生成部342の柔軟性を向上させ、より多くのドメインに対応する質問に対しても適切な回答を生成することができるように訓練することが望ましい。しかし、原則として、回答生成部342のようなMRCモデルを訓練するためには、訓練対象のドメイン(例えば、ターゲットドメイン)に対応する対話データと、対話データにおける質問に対する回答を含む参照文章と、質問に対する正しい回答を示すグラウンドトゥルースとなる回答ラベルとの3つのデータが必要となる。このため、訓練対象のドメインに対応する対話データのみが使用可能なデータとして存在し、訓練対象のドメインに対応する質問の回答を含む参照文章や、質問に対する正しい回答を示す回答ラベルのデータがない場合には、上述した一般的なMRCモデルの訓練を実施することができない。
【0077】
そこで、本開示の実施形態に係る適応処理800では、上述した回答生成部訓練処理400によって訓練された回答生成部342を用いて第2のドメインに対応する質問への正しい回答を示すグラウンドトゥルースとなる第2の回答ラベルを生成し、上述した文章生成部訓練処理500によって訓練された文章生成部346を用いて第2のドメインに対応する質問への回答を含む第2の参照文章を生成する。このように生成した第2の回答ラベルと、第2の参照文章と、第2のドメインに対応する対話データとを用いて回答生成部342を訓練することで、回答生成部342は、対応範囲が拡張し、より多くのドメインに対応する質問に対して適切な回答を生成することが可能となる。
【0078】
まず、適応部350は、第2の質問804及び第2の回答806とから構成される第2の対話データ802を、上述した文章生成部訓練処理500によって訓練された文章生成部346に入力する。上述したように、この第2の対話データ802と、第2の対話データ802に含まれる第2の質問804及び第2の回答806は、第2のドメイン(例えば、ターゲットドメイン)に対応するものであってもよい。この第2の対話データ802を入力した文章生成部346は、第2の対話データ802における第2の質問804への第2の回答806を含み、第2のドメインに対応する第2の参照文章820を生成する。
【0079】
次に、適応部350は、文章生成部346によって生成された第2のドメインに対応する第2の参照文章820と、第2の対話ドメインに対応する第2の対話データ802に含まれる第2の質問804と、第1のドメインに対応する第1の対話データ(
図8に図示せず)に含まれる第1の質問812とを回答生成部342に入力する。
なお、ここでは、回答生成部342について、
図4を参照して説明した回答生成部訓練処理400が既に終了し、回答生成部342は、第1のドメインに対応する質問に対して適切な回答を生成することができることを前提としている。ただし、現時点では、回答生成部342は、異なるドメイン(例えば、第2のドメイン)については、性能が限定されてしまう。従って、後述する独学処理(Self-learning)及び敵対的学習(Adversarial Learning)処理により、回答生成部342は、異なるドメインに対応する質問に対しても、適切な回答を生成するように訓練される。
(独学処理)
【0080】
独学処理において、まず、回答生成部342は、文章生成部346によって生成された第2のドメインに対応する第2の参照文章820に基づいて、入力された第2の質問804に対する回答として、複数の回答候補を生成する。ここでの回答候補は、第2の参照文章820から特定し、第2の質問804への適切な回答を示す可能性がある文章箇所(回答インデックス)である。ただし、現時点では、回答生成部342は、第2のドメインに対して適切な回答を生成することができるものの、第1のドメインと異なる第2のドメインについてはまだ未訓練であるため、これらの回答候補は、第2の質問804への適切な回答でない可能性がある(つまり、これらの回答候補の中には、間違っている回答が含まれている可能性がある)。また、これらの回答候補のそれぞれは、第2の質問804に対する適切な回答である確率を示す信用度に対応付けられている。
【0081】
従って、適応部350は、回答生成部342によって生成された回答候補の中から、信用度が所定の信用度基準を満たし、且つ、回答インデックスの値「0」でないもののみを抽出する。このように回答候補から抽出した回答は、信用度が高く、第2の質問804への適切な回答である可能性が高いため、第2のドメインに対応する質問への回答を評価するグラウンドトゥルースとなる第2の回答ラベル840として用いられる。
【0082】
次に、適応部350は、回答候補の中から抽出した第2の回答ラベル840と、文章生成部346によって生成された第2の参照文章820と、第2のドメインに対応する第2の対話データ802に含まれる第2の質問804とを対応付けて、第2のドメインに対応する学習データセット(
図8に図示せず)として所定の記憶領域に保存する。ただし、この学習データセットと実質的に同様の学習データセットが既に保存されている場合、適応部350は、新たに生成した学習データセットを保存しなくてもよい。
【0083】
その後、適応部350は、回答生成部342によって生成された学習データセットを用いて上述した回答生成部訓練処理400を回答生成部342に対して行い、Cross Entropy Loss等の損失関数によって回答生成部342のモデルパラメータを調整することで、回答生成部342は、第2のドメインに対応する質問に対して適切な回答を生成する精度が向上する。
これにより、回答生成部342は、上述した回答生成部訓練処理400において回答生成部342を訓練するために用いられた第1のドメインに対応する第1の参照文章には含まれていない、新たな情報(つまり、第2のドメインに関する情報)を含む第2の参照文章を用いて訓練されるため、当該新たな情報に関する質問(つまり、第2のドメインに対応する質問)に対しても適切な回答を生成することができるようになる。
(敵対的学習処理)
【0084】
敵対的学習処理において、回答生成部342は、第1のドメインに対応する質問と、第2のドメインに対応する質問とを区別するように訓練される。
より具体的には、適応部350は、第1のドメインに対応する第1の質問812と、第1の質問812への回答を含み、第1のドメインに対応する参照文章(
図8に図示せず)とを回答生成部342に入力した場合に回答生成部342となるMRCモデルの最終レイヤの出力である第1のドメイン特徴量(例えば、MRCモデルがBERTモデルの場合、BERTfeatures)を取得する。また、適応部350は、第2のドメインに対応する第2の質問804と、第2のドメインに対応する第2の参照文章820とを回答生成部342に入力した場合に回答生成部342となるMRCモデルの最終レイヤの出力である第2のドメイン特徴量(例えばレイヤモデルがBERTモデルの場合、BERTfeatures)を取得する。
【0085】
その後、適応部350は、取得した第1のドメイン特徴量と、第2のドメイン特徴量とを含む特徴量データ845を識別ネットワーク850に入力する。この識別ネットワーク850は、例えば3レイヤのMultilayer Networkであってもよい。ある実施形態では、この識別ネットワーク850は、回答生成部342の一部であってもよい。
ある実施形態では、適応部350は、第1のドメイン特徴量及び第2のドメイン特徴量に加えて、線形レイヤの出力であるロジットを識別ネットワーク850に入力してもよい。
【0086】
識別ネットワーク850は、入力した特徴量データ845を解析し、それぞれの特徴が第1のドメインに属する確率及び第2のドメインに属する確率を計算する。その後、識別ネットワーク850は、計算した確率に基づいて、特徴量データ845に含まれる各特徴量に対して、どのドメインに属するかを示すドメインラベル860を生成する。
【0087】
その後、適応部350は、識別ネットワーク850によって生成されたドメインラベル860の、それぞれの特徴量が属するドメインを示すグラウンドトゥルース(
図8に図示せず)に対する損失をCross Entropy Loss等の損失関数によって計算し、当該損失を減らすように回答生成部342のモデルパラメータを調整することで、回答生成部342は、第1のドメインに対応する質問及び第2のドメインに対応する質問を区別する精度が向上する。
【0088】
識別ネットワーク850を用いるときの学習には、いくつかの異なる実装をとることができる。
まず、識別ネットワーク850自体のモデルパラメータを修正する際における、回答生成部342のモデルパラメータの修正に関する実装である。第1の実装は、識別ネットワーク850のモデルパラメータを修正するときに、回答生成部342のモデルパラメータも識別ネットワーク850にてドメインを区別しやすくなるように同時に修正する方法である。第2の実装は、識別ネットワーク850のモデルパラメータを修正する際には、回答生成部342のモデルパラメータを固定しておく方法である。
【0089】
更に、回答生成部342のモデルパラメータの修正においても、いくつかの実装をとることができる。第1の実装は、与えられた質問に対して参照文章における回答の位置を正しく推定するように学習する方法であり、ここまで説明した方法のとおりである。第2の実装は、第1の実装に加えて、識別ネットワーク850がドメインの識別をしづらくなるような基準も使い回答生成部342を学習させる方法である。ここでの基準としては、識別ネットワーク850が出力するドメインの出力確率がなるべくドメインによらず均一になるような基準を用いることができる。ただし、識別ネットワーク850が正しいドメイン識別をできなくなるような別の基準を用いてもよい。
【0090】
そして、第1の実装の基準で求めた損失と、識別ネットワーク850のドメイン識別を難しくする基準で求めた損失を、所定の重みで合算し、この合算した損失を小さくするよう回答生成部342のモデルパラメータを更新する。または、モデルパラメータの更新を2段階に分け、第1の実装における損失を小さくする更新と、識別ネットワーク850の識別を難しくなる基準で求めた損失を小さくする更新を別の処理で行ってもよい。
以上の実装のうちいずれかを選択するかは、第1のドメインと第2のドメインの間で使われる質問や参照文章の語彙の違いなどにより選んでよい。
【0091】
以上説明した適応処理800によれば、回答生成部342は、入力される質問が対応するドメインを高精度で判別し、判別したドメインに対応する参照文章を用いることで、様々な質問に対する適切な回答を生成することが可能となる。また、上述したように、本開示に係る適応処理800において、回答生成部342を対象のドメインにおいて訓練するための学習データは、回答生成部342及び文章生成部346によって生成されるため、例えば対象のドメインに対応する対話データ以外の学習データが使用可能でない場合であっても、対象のドメインに対応する質問に対して適切な回答を生成するように回答生成部342を訓練することができる。
【0092】
また、本開示の実施形態に係る適応処理800は、ユーザからの質問を受けた際にリアルタイムで実施されてもよい。より具体的には、第1のドメインに対応する第1の文章に基づいて第1のドメインに対応する質問に対する第1の回答を生成するように訓練されている回答生成部342は、第2のドメインに対応する第2の質問(例えば、第1の文章中に回答が存在しない質問)を受け付けた場合、上述した文章生成部346は、第2のドメインに対応する第2の対話データ(例えば、過去の対話履歴の中から、第2のドメインに対応するもの)を用いて、第2のドメインに対応する第2の参照文章をリアルタイムで生成してもよい。次に、適応部350は、このように生成した第2の参照文章を用いて、上述した適応処理800を行うことにより、第2のドメインに対応する第2の質問に対する適切な回答を生成するように回答生成部342を訓練する。その後、このように訓練された回答生成部342は、受け付けた第2の質問に対する第2の回答を、リアルタイムで生成して、その場でユーザに応答してもよい。
【0093】
なお、上述したように、第1のドメイン(例えば、ソースのドメイン)と第2のドメイン(例えば、ターゲットのドメイン)は、異なるドメインであってもよく、同一のドメインであってもよい。
第1のドメインと第2のドメインとが異なる場合には、上述した適応処理800によれば、回答生成部342は、第1のドメイン(例えば「住宅ローン申請」)に対応する質問と、第2のドメイン(例えば「火災保険申請」)に対応する質問の両方に対して適切な回答を生成できるようになるため、回答生成部342の対応範囲が幅広くなり、汎用性の高いMRCモデルを得ることができる。
一方、第1のドメインと第2のドメインとが同一である場合には、上述した適応処理800によれば、回答生成部342は、同じドメインに関する新たな情報を学習することができるため、より細かなことに関する質問に対する適切な回答を提供できる、当該ドメインに対してより理解が深いMRCモデルを得ることができる。
【0094】
以上説明した本開示の実施形態によれば、自然言語の会話に基づいて生成した参照文章を用いてMRCモデルを訓練することで、様々な質問に対応できる、柔軟性及びロバスト性が高い対話管理手段を提供することができる。言い換えれば、本開示の実施形態に係る対話管理手段によれば、回答生成部等のMRCモデルは、新たな情報を含む対話データに基づいて生成された参照文章を用いて訓練されるため、以前答えられなかった、当該新たな情報に関する質問に対しても適切な回答を生成することが可能となる。
【0095】
本開示の実施形態に係る対話管理手段の応用場面の例として、例えばオンラインのチャットサポートやコールセンター等が考えられる。オンラインのチャットサポートやコールセンターでは、例えば質問するユーザと、ユーザに対応するスタッフとの間で行われた会話の履歴等の対話データに基づいて、当該会話の内容を含む参照文章を作成した後、当該参照文章を用いてMRCモデルを訓練することで、MRCモデルの対応範囲を拡張し、様々な話題や情報に関する質問に対する適切な回答を生成することができる。
【0096】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0097】
300 対話管理システム
310 ユーザ
320 クライアント端末
322 受付部
324 第1の通信部
326 応答部
328 ストレージ部
329 対話データ
330 通信ネットワーク
340 対話管理装置
342 回答生成部
344 回答生成部訓練部
346 文章生成部
348 文章生成部訓練部
350 適応部
352 第2の通信部