(57)【要約】  符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する。根拠抽出部が、前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する。
2020174826.tif 000002
【特許請求の範囲】
【請求項１】
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、
前記ベクトル表現系列に基づいて、前記質問文に対する回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定する根拠抽出部と、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定する根拠探索部と、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する判断部と、
を備えることを特徴とする回答生成装置。
【請求項２】
前記回答種別は、前記質問文に対する回答の極性、又は前記文章から回答を抽出することであり、
前記判断部が判断した前記回答種別が、前記文章から回答を抽出することである場合、前記根拠探索部により得られた前記根拠範囲に含まれる文字列を、前記質問文に対する回答として出力する出力部
を更に備えることを特徴とする請求項１記載の回答生成装置。
【請求項３】
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、
前記ベクトル表現系列に基づいて、前記スパンが前記質問文に対する回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する根拠抽出部と、
を備え、
前記符号化モデル及び前記抽出モデルは、
前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
を更に含む複数のモデルのマルチタスク学習により予め学習されたものである
ことを特徴とする回答生成装置。
【請求項４】
文章の分割単位である複数のスパンに分割された文章と、質問文と、前記文章における前記質問文に対する回答の正解である回答種別と、前記文章における前記回答の根拠となる範囲である根拠範囲と、前記文章における前記回答の根拠となるスパンである根拠情報とを含む学習データの入力を受け付ける入力部と、
複数のスパンに分割した前記文章と、前記質問文とを、入力文を入力文の意味を表すベクトル表現系列に変換するための符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、
前記ベクトル表現系列に基づいて、前記根拠情報を抽出する抽出モデルを用いて、前記根拠情報を推定する根拠抽出部と、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記根拠範囲を抽出する探索モデルを用いて、前記根拠範囲を推定する根拠探索部と、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記質問文に対する回答種別を判断する判断モデルを用いて、前記質問文に対する回答種別を判断する判断部と、
前記根拠抽出部により抽出された前記根拠情報が前記学習データの前記根拠情報と一致し、前記根拠探索部により推定された前記根拠範囲が前記学習データの前記根拠範囲と一致し、前記判断部により判断された前記回答種別が前記学習データの前記回答種別と一致するように、前記符号化モデル、前記抽出モデル、前記探索モデル、及び前記判断モデルのパラメータを学習するパラメータ学習部と、
を備えることを特徴とする回答学習装置。
【請求項５】
符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
根拠抽出部が、前記ベクトル表現系列に基づいて、前記質問文に対する回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、
根拠探索部が、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、
判断部が、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する
ことを特徴とする回答生成方法。
【請求項６】
符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
根拠抽出部が、前記ベクトル表現系列に基づいて、前記スパンが前記質問文に対する回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する
回答生成方法であって、
前記符号化モデル及び前記抽出モデルは、
前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
を更に含む複数のモデルのマルチタスク学習により予め学習されたものである
ことを特徴とする回答生成方法。
【請求項７】
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記質問文に対する回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する
処理をコンピュータに実行させるための回答生成プログラム。
【請求項８】
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記スパンが前記質問文に対する回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する
処理をコンピュータに実行させるための回答生成プログラムであって、
前記符号化モデル及び前記抽出モデルは、
前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
を更に含む複数のモデルのマルチタスク学習により予め学習されたものである
回答生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラムに係り、特に、質問文に対して極性で回答するための回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラムに関する。
【背景技術】
【０００２】
近年、機械が文章を読み解いて質問に答える機械読解技術（例えば、ＢｉＤＡＦ（非特許文献１））が注目を集めている。機械読解の代表的なデータセットにはＳＱｕＡＤ（非特許文献２）が存在し、大規模な深層学習技術の適用が可能となっている。【０００３】
ＳＱｕＡＤは１つの質問に対して１段落の文章が紐づき、文章に書いてある回答をそのまま抽出して回答とする抽出型のタスクのためのデータセットである。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, Hananneh Hajishirzi, ”BI-DIRECTIONAL ATTENTION FLOW FOR MACHINE COMPREHENSION”, Published as a conference paper at ICLR, 2017.
【非特許文献２】Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, Percy Liang, ”SQuAD: 100,000+ Questions for Machine Comprehension of Text”, Computer Science Department Stanford University, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、抽出型タスクのための手法では、テキストに書いていない形式で答えを出力することができない、という問題があった。具体的には、Ｙｅｓ又はＮｏ等の極性で回答することができる質問に対して、その極性（Ｙｅｓ又はＮｏ）で回答する、ということができない。このようなテキストに書いていない形式で答えを出力するためには、機械が文章の中から質問に関連する部分に注目するだけでなく、関連部分から質問に対する回答を判断する必要がある。【０００６】
本開示は上記の点に鑑みてなされたものであり、極性で回答することができる質問に対して、精度よく、極性で回答することができる回答生成装置、回答生成方法、及び回答生成プログラムを提供することを目的とする。【０００７】
また、本開示は上記の点に鑑みてなされたものであり、極性で回答することができる質問に対して、精度よく、極性で回答するためのモデルを学習することができる回答学習装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本開示の第１態様は、回答生成装置であって、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定する根拠抽出部と、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定する根拠探索部と、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する判断部と、を備えて構成される。【０００９】
本開示の第２態様は、回答生成装置であって、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する根拠抽出部と、を備え、前記符号化モデル及び前記抽出モデルは、前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデルを更に含む複数のモデルのマルチタスク学習により予め学習されたものである。【００１０】
本開示の第３態様は、回答生成学習装置であって、文章の分割単位である複数のスパンに分割された文章と、質問文と、前記文章における前記質問文に対する回答の正解である回答種別と、前記文章における前記回答の根拠となる範囲である根拠範囲と、前記文章における前記回答の根拠となるスパンである根拠情報とを含む学習データの入力を受け付ける入力部と、複数のスパンに分割した前記文章と、前記質問文とを、入力文を入力文の意味を表すベクトル表現系列に変換するための符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、前記ベクトル表現系列に基づいて、前記根拠情報を抽出する抽出モデルを用いて、前記根拠情報を推定する根拠抽出部と、前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記根拠範囲を抽出する探索モデルを用いて、前記根拠範囲を推定する根拠探索部と、前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記質問文に対する回答種別を判断する判断モデルを用いて、前記質問文に対する回答種別を判断する判断部と、前記根拠抽出部により抽出された前記根拠情報が前記学習データの前記根拠情報と一致し、前記根拠探索部により推定された前記根拠範囲が前記学習データの前記根拠範囲と一致し、前記判断部により判断された前記回答種別が前記学習データの前記回答種別と一致するように、前記符号化モデル、前記抽出モデル、前記探索モデル、及び前記判断モデルのパラメータを学習するパラメータ学習部と、を備えて構成される。【００１１】
本開示の第４態様は、回答生成方法であって、符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、根拠抽出部が、前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、根拠探索部が、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、判断部が、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する。【００１２】
本開示の第５態様は、回答生成方法であって、符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、根拠抽出部が、前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する回答生成方法であって、前記符号化モデル及び前記抽出モデルは、前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデルを更に含む複数のモデルのマルチタスク学習により予め学習されたものである。【００１３】
本開示の第６態様は、回答生成プログラムであって、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する処理をコンピュータに実行させるための回答生成プログラムである。【００１４】
本開示の第７態様は、回答生成プログラムであって、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する
処理をコンピュータに実行させるための回答生成プログラムであって、前記符号化モデル及び前記抽出モデルは、前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデルを更に含む複数のモデルのマルチタスク学習により予め学習されたものである。
【発明の効果】
【００１５】
本開示の回答生成装置、回答生成方法、及びプログラムによれば、極性で回答することができる質問に対して、精度よく、極性で回答することができる。【００１６】
また、本開示の回答学習装置によれば、極性で回答することができる質問に対して、精度よく、極性で回答するためのモデルを学習することができる。
【図面の簡単な説明】
【００１７】
【図１】第１の実施形態の形態に係る回答学習装置の構成を示す機能ブロック図である。
【図２】第１の実施形態に係る回答学習装置の回答学習処理ルーチンを示すフローチャートである。
【図３】第１の実施形態に係る回答生成装置の構成を示す機能ブロック図である。
【図４】第１の実施形態に係る回答生成装置の回答生成処理ルーチンを示すフローチャートである。
【図５】第２の実施形態に係る回答学習装置の構成を示す機能ブロック図である。
【図６】第２の実施形態に係る回答学習装置の回答学習処理ルーチンを示すフローチャートである。
【図７】第２の実施形態に係る回答学習装置の根拠情報抽出処理ルーチンを示すフローチャートである。
【図８】第２の実施形態に係る回答生成装置の構成を示す機能ブロック図である。
【図９】第２の実施形態に係る回答生成装置の回答生成処理ルーチンを示すフローチャートである。
【図１０】第２の実施形態に係る回答生成装置のベースラインモデルの例を示す図である。
【図１１】第２の実施形態に係る根拠抽出部の抽出モデルの構成例を示す図である。
【図１２】第３の実施形態に係る回答学習装置の構成を示す機能ブロック図である。
【図１３】第３の実施形態に係る回答生成装置の構成を示す機能ブロック図である。
【発明を実施するための形態】
【００１８】
以下、本開示の実施形態について図面を用いて説明する。
【００１９】
＜第１の実施形態に係る回答学習装置の概要＞
第１の実施形態は、入力された質問に対し、テキストに書いていない形式で答えを出力する新しいタスク設定として、「Ｙｅｓ又はＮｏ等の極性で回答することができる質問に対してＹｅｓ又はＮｏ等の極性で回答する」タスクを提案する。本実施形態では、回答の極性がＹｅｓ又はＮｏである場合を例に説明する。このＹｅｓ又はＮｏで回答するタスクは、既存研究の存在しない全く新しいタスクである。
【００２０】
機械読解の代表的なデータセットには、ＳＱｕＡＤ（非特許文献２）の他にＭＳ−ＭＡＲＣＯ（参考文献１）が存在する。ＭＳ−ＭＡＲＣＯは１つの質問に１０近くの段落が紐づき、その段落群から人間が答えを生成したデータセットである。このような、質問に対して、文章に書かれていない形式で回答を出力するタスクを生成型タスクという。
［参考文献１］Tri Nguyen, Mir Rosenberg, Xia Song, Jianfeng Gao, Saurabh Tiwary, Rangan Majumder, Li Deng, ”MS MARCO: A Human Generated MAchine Reading COmprehension Dataset”, 2016.
【００２１】
抽出型・生成型の２種類のタスクが存在する一方で、既存の機械読解技術の多くは抽出型のタスクを設定した技術が多い。
【００２２】
生成型のタスクは、「テキストに書いていない形式で答えを出力する」という特性から、抽出型のタスクに比べて難しい課題となっている。
【００２３】
生成型のタスクは、人間がゼロから生成した答えを正解とするデータセットを用いるので、機械も答えをゼロから作り出す必要がある。生成型のタスクの手法には、Ｓ−Ｎｅｔ（参考文献２）が存在する。
［参考文献２］Chuanqi Tan, Furu Weiz, Nan Yang, Bowen Du, Weifeng Lv, Ming Zhouz, ”S-NET: FROM ANSWER EXTRACTION TO ANSWER GENERATION FOR MACHINE READING COMPREHENSION”, 2017.
【００２４】
一般的な質問応答において、Ｙｅｓ又はＮｏで回答すべき状況は多く現れる。しかし、参考文献２のような生成型の手法をこのような状況で適用した場合、回答としてＹｅｓ又はＮｏを生成する可能性を含むものの、その可能性は極めて低く、正しく応答をすることができない。
【００２５】
本実施形態では、「Ｙｅｓ又はＮｏで回答することができる質問に対してＹｅｓ又はＮｏで回答する」タスクに特化した手法を提案するため、Ｙｅｓ又はＮｏで回答すべき状況で正しく応答することが可能である。そのため、機械によって質問応答可能な範囲を大きく広げることができる。
【００２６】
本実施形態に係る回答学習装置は、単語系列である文章Ｐと質問文Ｑをベクトル系列に変換し、機械読解部が読解技術を用いて回答範囲スコア（ｓｄ：ｓｅ）に変換し、ベクトル系列と回答範囲のスコアから新しい技術である判断部を用いて判断スコアに変換し、回答範囲スコアと判断スコアを用いて学習する。
【００２７】
すなわち、Ｙｅｓ、Ｎｏの単なる２値判定（文章Ｐ全体を特徴量として、何も考えず機械学習で判定）を行うのではなく、機械読解技術によって、質問文Ｑに対する回答が書かれている場所を同定し、それを根拠としてＹｅｓかＮｏかの判定を行う。
【００２８】
この際、機械読解部と判定部とのニューラルネットワークは層を共有しているので、Ｙｅｓ／Ｎｏ判定に合わせた機械読解、読解に基づくＹｅｓ／Ｎｏ判定の両側面から学習することが可能となる。
【００２９】
＜第１の実施形態に係る回答学習装置の構成＞
図１を参照して、第１の実施形態に係る回答学習装置１０の構成について説明する。図１は、第１の実施形態に係る回答学習装置１０の構成を示すブロック図である。
【００３０】
回答学習装置１０は、ＣＰＵと、ＲＡＭと、後述する回答学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図１に示すように、本実施形態に係る回答学習装置１０は、入力部１００と、解析部２００と、パラメータ学習部３００とを備えて構成される。
【００３１】
入力部１００は、文章Ｐと、質問文Ｑと、文章Ｐにおける当該質問文に対する回答の極性を示す正解Ｙと、文章Ｐにおける回答の根拠となる範囲の始端Ｄ及び終端Ｅとを含む複数の学習データの入力を受け付ける。
【００３２】
具体的には、学習データは、テキストデータからなる文章Ｐ及び質問文Ｑと、回答がＹｅｓ／Ｎｏのいずれかであるかを示す正解Ｙと、文章Ｐにおける回答の根拠となる範囲（Ｄ：Ｅ）で構成される。ここで、Ｄ、Ｅは文章Ｐ中の単語の位置番号で表現され、Ｄは回答の根拠となる範囲の開始位置の単語の位置番号、Ｅは回答の根拠となる範囲の終了位置の単語の位置番号である。
【００３３】
テキストデータである文章Ｐ及び質問文Ｑは、既存のトークナイザによってトークン系列として表現されている。なお、トークンとして任意の単位を用いることができるが、本実施形態では、トークンを単語と表記する。
【００３４】
単語系列で表現されている文章Ｐ及び質問文Ｑの長さを単語の数で定義し、文章Ｐの単語の数をＬＰ、質問文Ｑの単語の数をＬＱとする。
【００３５】
なお、複数の学習データをミニバッチとしてミニバッチ毎にまとめて処理してもよいし、学習データ毎に処理されてもよい。
【００３６】
そして、入力部１００は、受け付けた学習データのうち、文章Ｐと質問文Ｑとを、機械読解部２１０に、学習データをパラメータ学習部３００に渡す。
【００３７】
解析部２００は、機械読解部２１０と、判断部２２０とを備えて構成される。
【００３８】
機械読解部２１０は、文章Ｐ及び質問文Ｑに基づいて、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【００３９】
具体的には、機械読解部２１０は、単語符号化部２１１と、単語データベース（ＤＢ）２１２と、第１文脈符号化部２１３と、アテンション部２１４と、第２文脈符号化部２１５と、根拠探索部２１６とを備えて構成される。
【００４０】
単語符号化部２１１は、文章Ｐ及び質問文Ｑに基づいて、単語ベクトルの系列Ｐ１及びＱ１を生成する。
【００４１】
具体的には、単語符号化部２１１は、単語ＤＢ２１２から文章Ｐ及び質問文Ｑの各単語に対応するベクトルを抽出し、単語ベクトルの系列Ｐ１及びＱ１を生成する。
【００４２】
単語ＤＢ２１２に格納されるベクトルの次元をｄとすると、単語ベクトルの系列Ｐ１はＬＰ×ｄ、単語ベクトルの系列Ｑ１はＬＱ×ｄの大きさの行列である。
【００４３】
そして、単語符号化部２１１は、生成した単語ベクトルの系列Ｐ１及びＱ１を、第１文脈符号化部２１３に渡す。
【００４４】
単語ＤＢ２１２は、複数の単語ベクトルが格納されている。単語ベクトルは、単語を表す所定次元の実数値ベクトルの集合である。
【００４５】
具体的には、単語ＤＢ２１２は、予めニューラルネットワークにより学習された複数の単語ベクトル（ｗｏｒｄ  ｅｍｂｅｄｄｉｎｇ）を用いる。これには例えばｗｏｒｄ２ｖｅｃやＧｌｏＶｅのような、既存のものを用いてもよい。単語ベクトルには、既存の複数の単語ベクトルから抽出される単語ベクトルに、新しく学習した単語ベクトルを繋げることができる。なお、単語の文字情報を符号化する技術（参考文献３）等、任意の単語ｅｍｂｅｄｄｉｎｇ技術が使用可能である。単語ベクトルは、誤差逆伝播法によって計算できる勾配から学習することも可能である。
［参考文献３］Yoon Kim, Yacine Jernite, David Sontag, Alexander M. Rush, ”Character-Aware Neural Language Models”, arXiv:1508.06615, 2016.
【００４６】
第１文脈符号化部２１３は、単語符号化部２１１により生成された単語ベクトルの系列Ｐ１及びＱ１を、ニューラルネットワークを用いてベクトルの系列Ｐ２及びＱ２にそれぞれ変換する。
【００４７】
具体的には、第１文脈符号化部２１３は、単語ベクトルの系列Ｐ１及びＱ１を、ＲＮＮによってベクトルの系列Ｐ２及びＱ２にする。ＲＮＮの構造には、ＬＳＴＭ等の既存技術を用いることができる。
【００４８】
本実施形態では、第１文脈符号化部２１３は、ベクトルの系列を順方向に処理するＲＮＮと、逆方向に処理するＲＮＮとの２種類のＲＮＮを組み合わせた双方向ＲＮＮを用いる。双方向ＲＮＮの出力するベクトルの次元をｄ１とすると、第１文脈符号化部２１３が変換するベクトルの系列Ｐ２はＬＰ×ｄ１、ベクトルの系列Ｑ２はＬＱ×ｄ１の大きさの行列となる。
【００４９】
そして、第１文脈符号化部２１３は、変換したベクトルの系列Ｐ２及びＱ２を、アテンション部２１４に、ベクトルの系列Ｑ２を、入力変換部２２１にそれぞれ渡す。
【００５０】
アテンション部２１４は、ニューラルネットワークを用いて、ベクトルの系列Ｐ２及びＱ２に基づいて、文章Ｐ及び質問文Ｑのアテンションを表すベクトルの系列である読解行列Ｂを生成する。
【００５１】
具体的には、アテンション部２１４は、まず、ベクトルの系列Ｐ２及びＱ２から、アテンション行列
2020174826.tif 000003
を計算する。アテンション行列Ａは、例えば、下記式（１）を用いることができる。
【００５２】
【数１】
2020174826.tif 000004
【００５３】
上記式（１）において、行列の添え字で成分を表し、”：”は全体を表す。例えば、Ａｉ：は、アテンション行列Ａの第ｉ行全体を表す。また、上記式（１）において、”○”は要素積であり、”，”はベクトル・行列を縦方向に結合する演算子である。ｗＳは、モデルの学習可能なパラメータであり、
2020174826.tif 000005
である。
【００５４】
アテンション部２１４は、アテンション行列Ａを基に、文章Ｐから質問文Ｑ方向へのアテンションベクトル
2020174826.tif 000006
、質問文Ｑから文章Ｐ方向へのアテンションベクトル
2020174826.tif 000007
を計算する。
【００５５】
ここで、アテンションベクトル
2020174826.tif 000008
は、下記式（２）で表すことができる。
【００５６】
【数２】
2020174826.tif 000009
【００５７】
ｓｏｆｔｍａｘは、ソフトマックス関数であり、
2020174826.tif 000010
である。
【００５８】
また、アテンションベクトル
2020174826.tif 000011
は、下記式（３）で表すことができる。
【００５９】
【数３】
2020174826.tif 000012
【００６０】
ここで、
2020174826.tif 000013
は、ＬＰ次元のベクトルであり、そのｉ番目の要素（１≦ｉ≦ＬＰ）は、アテンション行列Ａのｉ番目のベクトルの最大値（ｊ方向のｍａｘ値）である。ｓｏｆｔｍａｘｉは、ｉ方向にｓｏｆｔｍａｘを用いるという意味である。
【００６１】
βは、アテンション行列Ａにｍａｘ関数を用いることにより、長さがＬＰのベクトルとなり、式（３）において、βの各成分を重みとしてＰ２の各行の重みの和を取ることにより、
2020174826.tif 000014
は長さｄ１のベクトルとなる。
【００６２】
また、
2020174826.tif 000015
をＬＰ回繰り返し計算して縦に並べた行列が、
2020174826.tif 000016
となる。
【００６３】
アテンション部２１４は、ベクトルの系列Ｐ２、アテンションベクトル
2020174826.tif 000017
、及びアテンションベクトル
2020174826.tif 000018
に基づいて、アテンションの結果を表現する長さＬＰの読解行列Ｂを求める。例えば、読解行列
2020174826.tif 000019
である。ただし、”，”は、ベクトル・行列を横に結合する演算子である。
【００６４】
そして、アテンション部２１４は、読解行列Ｂを、入力変換部２２１及び第２文脈符号化部２１５に渡す。
【００６５】
第２文脈符号化部２１５は、アテンション部２１４により生成された読解行列Ｂを、ニューラルネットワークを用いてベクトルの系列である読解行列Ｍに変換する。
【００６６】
具体的には、第２文脈符号化部２１５は、読解行列Ｂを、ＲＮＮによって読解行列Ｍにする。ＲＮＮの構造には、第１文脈符号化部２１３と同様に、ＬＳＴＭ等の既存技術を用いることができる。
【００６７】
第２文脈符号化部２１５のＲＮＮが出力する単語ベクトルの次元をｄ２とすると、読解行列
2020174826.tif 000020
となる。
【００６８】
そして、第２文脈符号化部２１５は、変換した読解行列Ｍを、入力変換部２２１及び根拠探索部２１６に渡す。
【００６９】
根拠探索部２１６は、読解行列Ｍに基づいて、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【００７０】
具体的には、根拠探索部２１６は、回答の根拠となる範囲の始端ｓｄを推定するための始端用ＲＮＮ及び終端ｓｅを推定するための終端用ＲＮＮの２つのニューラルネットワークによって構成される。
【００７１】
根拠探索部２１６は、まず、読解行列Ｍを、始端用ＲＮＮに入力してベクトルの系列Ｍ１を得る。
【００７２】
根拠探索部２１６は、回答の根拠となる範囲の始端ｓｄを、下記式（４）を用いて求める。
【００７３】
【数４】
2020174826.tif 000021
【００７４】
ここで、始端ｓｄは、回答の根拠となる範囲の始端に関するスコアであり、ベクトルで表される。すなわち、ベクトルの各次元に対応する単語が回答範囲の始端になる確率（スコア）を表す。
【００７５】
同様に、読解行列Ｍを、終端用ＲＮＮに入力して単語ベクトルＭ２を得る。
【００７６】
根拠探索部２１６は、回答の根拠となる範囲の終端ｓｅを、下記式（５）を用いて求める。
【００７７】
【数５】
2020174826.tif 000022
【００７８】
ここで、終端ｓｅは、回答の根拠となる範囲の終端に関するスコアであり、ベクトルで表される。すなわち、ベクトルの各次元に対応する単語が回答範囲の終端になる確率（スコア）を表す。
【００７９】
推定した始端ｓｄ及び終端ｓｅをまとめて回答範囲スコアと呼ぶ。なお、上記式（４）及び式（５）において、ｗ１及びｗ２は、式（４）及び式（５）で表される読解モデルのパラメータであり、パラメータ学習部３００により更新される。
【００８０】
そして、根拠探索部２１６は、推定した回答範囲スコアを、入力変換部２２１及びパラメータ学習部３００に渡す。
【００８１】
判断部２２０は、機械読解部２１０の処理によって得られる情報に基づいて、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断する。
【００８２】
具体的には、判断部２２０は、入力変換部２２１と、スコア計算部２２２とを備えて構成される。
【００８３】
入力変換部２２１は、機械読解部２１０により文章Ｐを符号化した結果と、機械読解部２１０により質問文Ｑを符号化した結果とに基づいて、ベクトルの系列Ｐ３及びＱ３を生成する。
【００８４】
具体的には、入力変換部２２１は、まず、機械読解部２１０の処理によって得られる情報の入力を受け付ける。
【００８５】
入力を受け付ける情報は、４種類に分類することができる。すなわち、（１）文章Ｐの符号化結果であり、かつ、質問文Ｑを考慮した長さＬＰのベクトルの系列（例えば、読解行列Ｂ又はＭ）、（２）質問文Ｑの符号化結果である長さＬＱのベクトル系列（例えば、ベクトルの系列Ｑ２）、（３）回答範囲に関する情報である長さＬＰのベクトル（例えば、推定した始端ｓｄと終端ｓｅ）、（４）文章Ｐと質問文Ｑとの意味的マッチング結果である大きさＬＰ×ＬＱの行列（例えば、アテンション行列Ａ）の４種類を受け付ける。
【００８６】
ここで、受け付ける情報は、必ずしも４種類全てを受け付ける必要はなく、最低限の構成として（１）の１種類（読解行列Ｂ又はＭ）があれば本実施形態の目的を達することができる。（２）、（３）及び（４）は、いずれかのみ、あるいは複数を追加として受け付けても良い。本実施形態では、単純な形式として（１）読解行列Ｂ、及び（２）ベクトルの系列Ｑ２を受け付ける場合を例に説明する。
【００８７】
入力変換部２２１は、受け付けた読解行列Ｂ及びベクトルの系列Ｑ２に基づいて、長さＬＰのベクトルの系列
2020174826.tif 000023
、長さＬＱのベクトルの系列
2020174826.tif 000024
を計算する。
【００８８】
ベクトルの系列Ｐ３及びＱ３の計算方法として、任意のニューラルネットワークを用いることができる。例えば、下記式（６）及び式（７）を用いることができる。
【００８９】
【数６】
2020174826.tif 000025
【００９０】
なお、ｄ３の次元数は、任意に設定することができる。式（６）及び式（７）を用いた場合、Ｑ２との次元を合わせるため、ｄ３＝ｄ２であり、式（６）におけるＲＮＮの出力の次元もｄ３＝ｄ２となる。
【００９１】
そして、入力変換部２２１は、生成したベクトルの系列Ｐ３及びＱ３を、スコア計算部２２２に渡す。
【００９２】
スコア計算部２２２は、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断する。
【００９３】
具体的には、スコア計算部２２２は、ベクトルの系列Ｐ３及びＱ３に基づいて、任意の文ペア分類タスクのフレームワークを用いて、質問文Ｑに対する回答がＹｅｓかＮｏかに分類するために用いる判断スコアｋ（０から１の実数）を求める。
【００９４】
例えば、文ペア分類タスクの１つである含意認識の代表的なモデルであるＥＳＩＭ（参考文献４）のｄｅｃｏｄｅｒ  ＬＳＴＭ後のフレームワークを分類問題に用いることができる。
［参考文献４］Qian Chen, Xiaodan Zhu, Zhenhua Ling, Si Wei, Hui Jiang, Diana Inkpen, ”Enhanced LSTM for Natural Language Inference”, arXiv:1609.06038, 2017.
【００９５】
この場合、ベクトルの系列Ｐ３及びＱ３をａｖｅｒａｇｅ  ｐｏｏｌｉｎｇ（列方向の平均を取る操作）、又はｍａｘ  ｐｏｏｌｉｎｇ（列方向の最大値を取る操作）をして、ベクトル
2020174826.tif 000026
を得る。
【００９６】
得られたベクトルＰａ、Ｑａ、Ｐｍ及びＱｍを結合して、４ｄ３次元のベクトルＪを得る。ベクトルＪを多層パーセプトロンによって、実数（１次元のベクトル）にし、シグモイド変換をして判断スコアｋを得る。
【００９７】
なお、Ｙｅｓ／Ｎｏの分類問題でなく、Ｙｅｓ、Ｎｏ、又は不明の３つに分類するように構成してもよい。この場合、ベクトルＪを多層パーセプトロンによって３次元のベクトルに変換した後で、ソフトマックス変換したものを判断スコアｋとしてもよい。
【００９８】
そして、スコア計算部２２２は、判断スコアｋを、パラメータ学習部３００に渡す。
【００９９】
パラメータ学習部３００は、学習データに含まれる正解Ｙと、判断部２２０により判断された結果とが一致し、学習データに含まれる始端Ｄ及び終端Ｅと、機械読解部２１０により推定された始端ｓｄ及び終端ｓｅとが一致するように、読解モデル及び判断モデルのパラメータを学習する。
【０１００】
具体的には、パラメータ学習部３００は、機械読解部２１０で用いる読解モデルについての目的関数ＬＣと、判断部２２０で用いる判断モデルについての目的関数ＬＪの線形和を、最適化問題の目的関数とする（下記式（８））。
【０１０１】
【数７】
2020174826.tif 000027
【０１０２】
ここで、λはモデルのパラメータであり、学習器によって学習可能である。λの値を事前に指定する場合、１や１／２等、学習が進むように適当な値を定める。
【０１０３】
目的関数ＬＣは、任意の機械読解技術の目的関数を用いることができる。例えば、非特許文献１では、下記式（９）で表されるクロスエントロピー関数を提案している。
【０１０４】
【数８】
2020174826.tif 000028
【０１０５】
上記式（９）において、Ｄ及びＥは、それぞれ真の始端Ｄ及び終端Ｅの位置を表し、ｓｄ，Ｄは、ベクトルｓｄにおけるＤ番目の要素の値を、ｓｅ，Ｅは、ベクトルｓｅにおけるＥ番目の要素の値を表す。
【０１０６】
目的関数ＬＪも任意の目的関数を用いることができる。例えば、クロスエントロピー関数を用いた場合、下記式（１０）となる。
【０１０７】
【数９】
2020174826.tif 000029
【０１０８】
上記式（１０）において、Ｙは、真の回答の極性を示す正解Ｙであり、正解ＹがＹｅｓである場合、スコアｋＹｅｓ＝ｋ、正解ＹがＮｏである場合、スコアｋＮｏ＝１−ｋである。つまり、正解ＹがＹｅｓの場合ＬＪ＝ｌｏｇ（ｋ）、正解ＹがＮｏの場合ＬＪ＝ｌｏｇ（１−ｋ）となる。
【０１０９】
そして、パラメータ学習部３００は、上記式（８）で表される目的関数の勾配を、誤差逆伝播勾配法を用いて計算し、任意の最適化手法を用いてパラメータを更新する。
【０１１０】
＜第１の実施形態に係る回答学習装置の作用＞
図２は、第１の実施形態に係る回答学習処理ルーチンを示すフローチャートである。また、以下では本実施形態に係る回答学習装置が、ミニバッチを用いて学習する場合について説明するが、一般的なニューラルネットワークの学習方法を用いてもよい。なお、簡便のため、ミニバッチのサイズを１とする。
【０１１１】
入力部１００に複数の学習データが入力されると、回答学習装置１０において、図２に示す回答学習処理ルーチンが実行される。
【０１１２】
まず、ステップＳ１００において、入力部１００は、文章Ｐと、質問文Ｑと、文章Ｐにおける当該質問文に対する回答の極性を示す正解Ｙと、文章Ｐにおける回答の根拠となる範囲の始端Ｄ及び終端Ｅとを含む複数の学習データの入力を受け付ける。
【０１１３】
ステップＳ１１０において、入力部１００は、ステップＳ１００により受け付けた学習データを、ミニバッチに分割する。ミニバッチとは、複数の学習データをランダムに分割した学習データε個の集合である。εは１以上の自然数である。
【０１１４】
ステップＳ１２０において、単語符号化部２１１は、１番目のミニバッチを選択する。
【０１１５】
ステップＳ１３０において、単語符号化部２１１は、選択されているミニバッチに含まれる文章Ｐ及び質問文Ｑに基づいて、単語ベクトルの系列Ｐ１及びＱ１を生成する。
【０１１６】
ステップＳ１４０において、第１文脈符号化部２１３は、上記ステップＳ１３０により生成された単語ベクトルの系列Ｐ１及びＱ１を、ニューラルネットワークを用いてベクトルの系列Ｐ２及びＱ２にそれぞれ変換する。
【０１１７】
ステップＳ１５０において、アテンション部２１４は、ニューラルネットワークを用いて、ベクトルの系列Ｐ２及びＱ２に基づいて、文章Ｐ及び質問文Ｑのアテンションを表す読解行列Ｂを生成する。
【０１１８】
ステップＳ１６０において、第２文脈符号化部２１５は、上記ステップＳ１５０により生成された読解行列Ｂを、ニューラルネットワークを用いて読解行列Ｍに変換する。
【０１１９】
ステップＳ１７０において、根拠探索部２１６は、読解行列Ｍに基づいて、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【０１２０】
ステップＳ１８０において、入力変換部２２１は、機械読解部２１０により文章Ｐを符号化した結果と、機械読解部２１０により質問文Ｑを符号化した結果とに基づいて、ベクトルの系列Ｐ３及びＱ３を生成する。
【０１２１】
ステップＳ１９０において、スコア計算部２２２は、ベクトルの系列Ｐ３及びＱ３に基づいて、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断する。
【０１２２】
ステップＳ２００において、パラメータ学習部３００は、学習データに含まれる正解Ｙと、判断部２２０により判断された結果とが一致し、学習データに含まれる始端Ｄ及び終端Ｅと、機械読解部２１０により推定された始端ｓｄ及び終端ｓｅとが一致するように、読解モデル及び判断モデルのパラメータを更新する。
【０１２３】
ステップＳ２１０において、パラメータ学習部３００は、全てのミニバッチについて処理を行ったか否かを判定する。
【０１２４】
全てのミニバッチについて処理を行っていない場合の場合（ステップＳ２１０のＮＯ）、ステップＳ２２０において、次のミニバッチを選択し、ステップＳ１３０に戻る
【０１２５】
一方、全てのミニバッチについて処理を行っている場合の場合（ステップＳ２１０のＹＥＳ）、ステップＳ２３０において、パラメータ学習部３００は、学習が収束したか否かについての収束判定を行う。
【０１２６】
学習が収束していない場合（ステップＳ２３０のＮＯ）、ステップＳ１１０に戻り、再度ステップＳ１１０〜ステップＳ２３０までの処理を行う。
【０１２７】
一方、学習が収束している場合（ステップＳ２３０のＹＥＳ）、ステップＳ２４０において、パラメータ学習部３００は、学習したパラメータを、メモリ（図示省略）に格納する。
【０１２８】
なお、ミニバッチのサイズを２以上とする場合、上記ステップＳ１２０の後に、１番目の文章Ｐ及び質問Ｑを選択するステップと、上記ステップＳ２１０の前に、ミニバッチ内の全ての文章Ｐ及び質問Ｑについて処理を行ったか否かを判定し、当該判定結果が否定的な場合に、次の文章Ｐ及び質問Ｑを選択して上記ステップＳ１３０に戻り、当該判定が肯定的な場合に上記ステップＳ２１０に進むステップとを追加する構成とすればよい。
【０１２９】
以上説明したように、本実施形態に係る回答学習装置によれば、文章と、質問文と、当該文章における当該質問文に対する回答の極性を示す正解と、当該文章における回答の根拠となる範囲の始端及び終端とを含む学習データの入力を受け付け、当該文章及び当該質問文に基づいて、当該範囲を推定するための読解モデルを用いて、当該範囲の始端及び終端を推定する処理によって得られる情報に基づいて、質問文に対する回答の極性が正か否かを判断する判断モデルを用いて、当該質問文に対する回答の極性を判断し、学習データに含まれる正解と、判断された結果とが一致し、学習データに含まれる始端及び終端と、推定された始端及び終端とが一致するように、読解モデル及び判断モデルのパラメータを学習することにより、極性で回答することができる質問に対して、精度よく、極性で回答するためのモデルを学習することができる。
【０１３０】
＜第１の実施形態に係る回答生成装置の構成＞
図３を参照して、第１の実施形態に係る回答生成装置２０の構成について説明する。図３は、第１の実施形態に係る回答生成装置２０の構成を示すブロック図である。なお、上述の回答学習装置１０と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１３１】
回答生成装置２０は、ＣＰＵと、ＲＡＭと、後述する回答生成処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図３に示すように、本実施形態に係る回答生成装置２０は、入力部４００と、解析部２００と、出力部５００とを備えて構成される。なお、解析部２００は、回答学習装置１０により学習されたパラメータを用いる。
【０１３２】
入力部４００は、文章Ｐと、質問文Ｑとの入力を受け付ける。
【０１３３】
そして、入力部４００は、受け付けた文章Ｐ及び質問文Ｑを、機械読解部２１０に渡す。
【０１３４】
出力部５００は、機械読解部２１０の根拠探索部２１６により得られた回答範囲スコアを回答の根拠とし、判断部２２０のスコア計算部２２２により得られた判断スコアｋを回答として出力する。
【０１３５】
ここで、出力部５００は、判断スコアｋのＹｅｓのスコア、Ｎｏのスコアのうち、スコアが大きい判断結果を回答として出力する、閾値を超えたスコアの判断結果だけを出力するといった任意の出力形式を選択することができる。
【０１３６】
また、出力部５００は、回答範囲スコアについても同様に、任意の出力形式を選択することができる。回答範囲スコアには始端ｓｄと終端ｓｅとが含まれるので、出力の計算方法として様々な手法を用いることが考えられる。例えば、非特許文献１のように、始端ｓｄが終端ｓｅよりも前になる制約下で、始端ｓｄと終端ｓｅとの積が最大になる範囲の単語列を出力する、といった手法を用いることができる。
【０１３７】
＜第１の実施形態に係る回答生成装置の作用＞
図４は、第１の実施形態に係る回答生成処理ルーチンを示すフローチャートである。なお、第１の実施形態に係る回答学習処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
【０１３８】
入力部４００に文章Ｐと、質問文Ｑとが入力されると、回答生成装置２０において、図４に示す回答生成処理ルーチンが実行される。
【０１３９】
ステップＳ３００において、入力部４００は、文章Ｐと、質問文Ｑとの入力を受け付ける。
【０１４０】
ステップＳ４００において、出力部５００は、上記ステップＳ１７０により得られた回答範囲スコアを所定の方法により回答の根拠とし、上記ステップＳ１９０により得られた判断スコアｋを所定の方法により回答として生成する。
【０１４１】
ステップＳ４３０において、出力部５００は、上記ステップＳ４００により得られた全ての回答の根拠及び回答を出力する。
【０１４２】
以上説明したように、本実施形態に係る回答生成装置によれば、入力された文章及び質問文に基づいて、当該文章における当該質問文に対する回答の根拠となる範囲を推定するための読解モデルを用いて、当該範囲の始端及び終端を推定する処理によって得られる情報に基づいて、質問文に対する回答の極性が正か否かを判断するための予め学習された判断モデルを用いて、当該質問文に対する回答の極性を判断することにより、極性で回答することができる質問に対して、精度よく、極性で回答することができる。
【０１４３】
＜第２の実施形態に係る回答学習装置の概要＞
人間が自然言語を理解して回答する場合は、自身のもつ経験、常識、及び世界知識を踏まえて、理解した質問に対して回答を推論することができる。例えば、人間が文章を読んでその文章に対する質問に回答をする場合には、文章からだけでなく、自分のもつ経験等から回答を見つけている。しかし、ＡＩの場合は質問の対象となっている文章に含まれている情報だけから回答を推論する必要がある。
【０１４４】
特にＹｅｓ／Ｎｏで答えるべき質問は、質問に答えるために必要な知識が一か所に記載されているとは限らない。例えば、必要な知識が文章内の複数箇所に書いてある場合や世界知識から補わなければならない場合がある。しかし、文章内の複数箇所にある記述や世界知識を組み合わせて考えるためには、テキストの長期の依存関係を理解する必要がある。そのため、Ｙｅｓ／Ｎｏの質問応答を精度よく行うことは難しい。
【０１４５】
そこで、第２の実施形態では、「Ｙｅｓ又はＮｏで回答することができる質問に対してＹｅｓ又はＮｏで回答する」タスクを精度よく行うために、必要な知識が文章内の複数箇所に書いてある質問や必要な知識を世界知識から補わなければならない質問に注目する。本実施形態では、第１の実施形態と同様に、回答の極性がＹｅｓ又はＮｏである場合を例に説明する。
【０１４６】
文章内の複数箇所にある記述を組み合わせて考える質問応答は、ニューラルネットワークが苦手とする長期の依存関係の理解を要求するため、難しい質問応答である。本実施形態では、回答に必要な文だけを根拠文として抽出することにより、位置が離れた根拠文同士のマッチングを可能にし、長期の依存関係を理解することを実現する。
【０１４７】
この根拠文の抽出によって、ユーザーはＹｅｓ／Ｎｏの回答だけでなくその根拠となる文を過不足なく確認することが可能となり、解釈性を向上することもできる。
【０１４８】
また、必要な知識を世界知識から補う必要がある質問応答に対しては、必要な知識が書いてあるテキストをＷｅｂでの検索等によって得て、質問対象の文章に繋げた新しい文章に対して質問応答を行うことで実現する。通常、単純に文章を繋げるだけでは、元の文章中の回答に必要な部分と新しく繋げたテキストが離れた箇所にあるためマッチングを取ることが難しい。しかし、本実施形態においては根拠文としてそれらを抽出することによって、根拠文が離れた箇所にある場合であってもマッチングが可能となる。
【０１４９】
＜第２の実施形態に係る回答学習装置の構成＞
図５を参照して、第２の実施形態に係る回答学習装置３０の構成について説明する。図５は、第２の実施形態に係る回答学習装置３０の構成を示すブロック図である。なお、上述の第１の実施形態に係る回答学習装置１０と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１５０】
回答学習装置３０は、ＣＰＵと、ＲＡＭと、後述する回答学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図５に示すように、本実施形態に係る回答学習装置３０は、入力部１００と、解析部６００と、パラメータ学習部７００とを備えて構成される。
【０１５１】
解析部６００は、機械読解部６１０と、判断部２２０とを備えて構成される。機械読解部６１０は、文章Ｐ及び質問文Ｑに基づいて、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【０１５２】
具体的には、機械読解部２１０は、単語符号化部２１１と、単語データベース（ＤＢ）２１２と、第１文脈符号化部２１３と、アテンション部２１４と、第２文脈符号化部２１５と、根拠抽出部６１７と、根拠探索部２１６とを備えて構成される。
【０１５３】
根拠抽出部６１７は、機械読解部６１０の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Ｑに対する回答の根拠情報を抽出する。
【０１５４】
具体的には、根拠抽出部６１７は、まず、第２文脈符号化部２１５により変換された読解行列Ｍ（変換前の読解行列Ｂでもよい）を入力とし、ニューラルネットワークを用いて文章Ｐの各文の意味を表すベクトルの系列Ｈを抽出する。根拠抽出部６１７は、例えば、ニューラルネットワークとして、Ｕｎｄｉｒｅｃｔｉｏｎａｌ−ＲＮＮを用いることができる。
【０１５５】
次に、根拠抽出部６１７は、根拠文を１つ抽出する操作を１時刻と定義し、状態ｚｔを抽出モデルのＲＮＮによって生成する。すなわち、根拠抽出部６１７は、時刻ｔ−１に抽出された根拠文に対応するベクトルの系列Ｈの要素
2020174826.tif 000030
を抽出モデルのＲＮＮに入力することにより、状態ｚｔを生成する。ただし、ｓｔ−１は時刻ｔ−１に抽出された根拠文の添字である。また、時刻ｔまでに抽出された文ｓｔの集合をＳｔとする。
【０１５６】
根拠抽出部６１７は、状態ｚｔと、質問文の各単語に対するベクトルｙｊからなるベクトルの系列Ｙ’に基づいて、抽出モデルにより、時刻ｔにおける重要性を考慮した質問文ベクトルであるｇｌｉｍｐｓｅベクトルｅｔ（下記式（１３））を、質問文Ｑに対するｇｌｉｍｐｓｅ操作（参考文献５）を行うことで生成する。このように、抽出モデルでは質問文Ｑに対するｇｌｉｍｐｓｅ操作を行うことで、根拠文の抽出結果が質問全体に対応する内容を包含することができる。
［参考文献５］Ｏ．  Ｖｉｎｙａｌｓ，  Ｓ．  Ｂｅｎｇｉｏ  ａｎｄ  Ｍ．  Ｋｕｄｌｕｒ，  “Ｏｒｄｅｒ  ｍａｔｔｅｒｓ：  Ｓｅｑｕｅｎｃｅ  ｔｏ  ｓｅｑｕｅｎｃｅ  ｆｏｒ  ｓｅｔｓ”，  ＩＣＬＲ  （２０１６）．
【０１５７】
【数１０】
2020174826.tif 000031
【０１５８】
抽出モデルのＲＮＮの初期値はベクトルの系列Ｈをａｆｆｉｎｅ変換したベクトル系列をｍａｘｐｏｏｌｉｎｇしたベクトルとする。
【０１５９】
根拠抽出部６１７は、状態ｚｔと、ｇｌｉｍｐｓｅベクトルｅｔと、ベクトルの系列Ｈとに基づいて、抽出モデルにより、時刻ｔにおいて下記式（１４）で表される確率分布に従って第δ文を選び、文ｓｔ＝δを、時刻ｔに抽出された根拠文とする。
【０１６０】
【数１１】
2020174826.tif 000032
【０１６１】
そして、根拠抽出部６１７は、抽出した文ｓｔの集合Ｓｔを根拠情報として、根拠探索部２１６及びパラメータ学習部７００に渡す。
【０１６２】
根拠探索部２１６は、上記第１の実施形態と同様に、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【０１６３】
具体的には、上記第１の実施形態で説明した読解行列
2020174826.tif 000033
を利用すると共に、文の意味を表すベクトルの系列Ｈを利用する。
【０１６４】
また、ベクトルの系列
2020174826.tif 000034
は文レベルのベクトル系列であるため、以下のように、単語レベルのベクトル系列に変換する。
【０１６５】
まず、単語のインデックスをｉ（ｉ＝１，…，Ｌｐ）、文のインデックスをｊ（ｊ＝１，…，ｍ）とする。関数ｗｏｒｄ＿ｔｏ＿ｓｅｎｔを、単語ｉが文ｊに含まれるときｗｏｒｄ＿ｔｏ＿ｓｅｎｔ（ｉ）＝ｊで定める。新しい単語レベルのベクトル系列Ｈ’を、ｈｉ’＝ｈ＿ｗｏｒｄ＿ｔｏ＿ｓｅｎｔ（ｉ）と定義することで、
2020174826.tif 000035
を定める。
【０１６６】
そして、ＭとＨ’を縦に連結した行列を
2020174826.tif 000036
として、このＭ’を後段の処理におけるＭの代わりに用いてもよい。なお、上記では、読解行列Ｍを利用する場合を例に説明したが、読解行列Ｂなど別の行列を利用してもよい。また、上記の根拠探索部２１６の説明で用いたｉやｊといった変数は、ここの説明に限るものである。
【０１６７】
パラメータ学習部７００は、学習データに含まれる正解Ｙと、判断部２２０により判断された結果とが一致し、学習データに含まれる始端Ｄ及び終端Ｅと、機械読解部６１０により推定された始端ｓｄ及び終端ｓｅとが一致し、学習データに含まれる文章Ｐにおける正解の根拠情報と、根拠抽出部６１７により抽出された根拠情報とが一致するように、読解モデル、判断モデル及び抽出モデルのパラメータを学習する。
【０１６８】
具体的には、文章Ｐと、質問Ｑと、ＹＥＳ、ＮＯ、及び抽出型の何れかである正解となる回答Ｙ＾、回答Ｙの正解となる根拠範囲である始端Ｄ＾及び終端Ｅ＾と、回答Ｙの正解となる根拠情報である根拠段落の集合Ｓｔ＾とを１セットとし、学習データが、複数セット含むものとする。また、パラメータ学習部７００は、機械読解部６１０で用いる読解モデルについての目的関数ＬＣと、判断部２２０で用いる判断モデルについての目的関数ＬＪと、根拠抽出部６１７で用いる抽出モデルについての目的関数Ｌｓとの線形和を、最適化問題の目的関数とする（下記式（１５））。
【０１６９】
【数１２】
2020174826.tif 000037
【０１７０】
ここで、λ１、λ２、λ３はハイパーパラメータであり、１／３等の学習が進むように適当な値を定める。また、サンプルによって持つ教師データが異なる場合も、持たないデータに関する項のλを０とすることで一律に扱うことができる。例えば、根拠探索部２１６の出力に対応するデータがないサンプルに対しては、λ１＝０とする。
【０１７１】
目的関数ＬＣ及びＬＪについては、第１の実施形態と同様である。目的関数Ｌｓは、ｃｏｖｅｒａｇｅ正則化（参考文献６）を行った目的関数である。例えば、目的関数Ｌｓは下記式（１６）のような目的関数を用いることができる。
［参考文献６］Ａ．  Ｓｅｅ，  Ｐ．  Ｊ．  Ｌｉｕ  ａｎｄ  Ｃ．  Ｄ．  Ｍａｎｎｉｎｇ，  “Ｇｅｔ  ｔｏ  ｔｈｅ  ｐｏｉｎｔ：  ｕｍｍａｒｉｚａｔｉｏｎ  ｗｉｔｈ  ｐｏｉｎｔｅｒ−ｇｅｎｅｒａｔｏｒ  ｎｅｔｗｏｒｋｓ”，  ＡＣＬ，  ２０１７，  ｐｐ．１０７３−１０８３．
【０１７２】
【数１３】
2020174826.tif 000038
【０１７３】
上記式（１６）において、
2020174826.tif 000039
は、正解の根拠情報として与えられた根拠文の集合Ｓｔの中で時刻ｔの抽出確率Ｐ（δ；Ｓｔ−１）が最小の文ｓとし、ｃｔは、ｃｏｖｅｒａｇｅベクトルであり、
2020174826.tif 000040
である。Ｔは終了時刻である。すなわち、ｔ＝Ｔが学習の終了条件となる。このｃｏｖｅｒａｇｅにより、抽出結果を質問全体に対応する内容を包含させることが可能となる。ただし、抽出の終了条件を学習するために、抽出終了ベクトル
2020174826.tif 000041
を学習可能なパラメータとする。文の意味を表すベクトルの系列Ｈに抽出終了ベクトル
2020174826.tif 000042
を加え、文章Ｐの文数ｍを実際の文数＋１とする。Ｔも真の根拠文の数＋１とし、学習時は時刻Ｔ−１までに全ての根拠文を出力した後、時刻Ｔに抽出終了ベクトル
2020174826.tif 000043
を抽出するように学習を行う。テスト時は、抽出終了ベクトルを出力した時点で抽出を終了する。
【０１７４】
そして、パラメータ学習部７００は、上記式（１６）で表される目的関数の勾配を、誤差逆伝播勾配法を用いて計算し、任意の最適化手法を用いて各パラメータを更新する。
【０１７５】
＜第２の実施形態に係る回答学習装置の作用＞
図６は、第２の実施形態に係る回答学習処理ルーチンを示すフローチャートである。また、以下では本実施形態に係る回答学習装置が、ミニバッチを用いて学習する場合について説明するが、一般的なニューラルネットワークの学習方法を用いてもよい。なお、簡便のため、ミニバッチのサイズを１とする。なお、上述の第１の実施形態に係る回答学習処理ルーチンと同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１７６】
ステップＳ５５５において、根拠抽出部６１７は、根拠情報抽出処理を実行する。
【０１７７】
ステップＳ６００において、パラメータ学習部７００は、学習データに含まれる正解Ｙと、判断部２２０により判断された結果とが一致し、学習データに含まれる始端Ｄ及び終端Ｅと、機械読解部２１０により推定された始端ｓｄ及び終端ｓｅとが一致し、学習データに含まれる文章Ｐにおける回答の根拠情報と、根拠抽出部６１７により抽出された根拠情報とが一致するように、読解モデル、判断モデル及び抽出モデルのパラメータを学習する。
【０１７８】
図７は、第２の実施形態に係る回答学習装置における根拠情報抽出処理ルーチンを示すフローチャートである。根拠抽出部６１７は、根拠情報抽出処理により、機械読解部６１０の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Ｑに対する回答の根拠情報を抽出する。
【０１７９】
ステップＳ５００において、根拠抽出部６１７は、ｔ＝１とする。
【０１８０】
ステップＳ５１０において、根拠抽出部６１７は、根拠文を１つ抽出する操作を１時刻と定義し、時刻ｔにおける状態ｚｔを抽出モデルのＲＮＮによって生成する。
【０１８１】
ステップＳ５２０において、根拠抽出部６１７は、時刻ｔにおける重要性を考慮した質問文ベクトルであるｇｌｉｍｐｓｅベクトルｅｔを、質問文Ｑに対してｇｌｉｍｐｓｅ操作を行うことにより生成する。
【０１８２】
ステップＳ５３０において、根拠抽出部６１７は、時刻ｔにおいて上記式（１４）で表される確率分布に従って第δ文を選び、文ｓｔ＝δとする。
【０１８３】
ステップＳ５４０において、根拠抽出部６１７は、終了条件を満たしているか否かを判定する。
【０１８４】
終了条件を満たしていない場合（上記ステップＳ５４０のＮＯ）、根拠抽出部６１７は、ステップＳ５５０においてｔに１を加算し、ステップＳ５１０に戻る。一方、終了条件を満たしている場合（上記ステップＳ５４０のＹＥＳ）、根拠抽出部６１７は、リターンする。
【０１８５】
以上説明したように、本実施形態に係る回答学習装置によれば、機械読解部の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文に対する回答の根拠情報を抽出し、学習データに含まれる文章における回答の根拠情報と、根拠抽出部により抽出された根拠情報とが一致するように、抽出モデルのパラメータを学習することにより、極性で回答することができる質問に対して、更に精度よく、極性で回答するためのモデルを学習することができる。
【０１８６】
また、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルと、根拠（回答）範囲を抽出する読解モデルと、回答を判断する判断モデルとのマルチタスク学習を行うことにより、根拠文が離れた個所にある場合でも、質問文とのマッチングを取ることを可能にする。ここで、マルチタスク学習とは、複数の異なるタスクを解く複数のモデルについて、当該複数のモデルの一部分を共有した状態で学習することをいう。本実施形態では、各符号化部のモデル（厳密には各符号化部のモデルのパラメータ）を共有し、共有した各符号化部による符号化結果を共通の入力とした抽出モデル、読解モデル、及び判断モデルの出力が正解となる情報に近付くよう、抽出モデル、読解モデル、判断モデル、及び符号化モデルのマルチタスク学習を行う。
【０１８７】
＜第２の実施形態に係る回答生成装置の構成＞
図８を参照して、第２の実施形態に係る回答生成装置４０の構成について説明する。図８は、第２の実施形態に係る回答生成装置４０の構成を示すブロック図である。なお、上述の回答学習装置３０と同様の構成については、同一の符号を付して詳細な説明は省略する。回答生成装置４０は、ＣＰＵと、ＲＡＭと、後述する回答生成処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図８に示すように、第２の実施形態に係る回答生成装置４０は、入力部４００と、解析部６００と、出力部８００とを備えて構成される。
【０１８８】
出力部８００は、判断部２２０により判断された回答の極性と、根拠抽出部６１７により抽出された根拠情報とを回答として出力する。
【０１８９】
＜第２の実施形態に係る回答生成装置の作用＞
図９は、第２の実施形態に係る回答生成処理ルーチンを示すフローチャートである。なお、第１の実施形態に係る回答生成処理ルーチン及び第２の実施形態に係る回答学習処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
【０１９０】
ステップＳ７００において、出力部８００は、上記ステップＳ４００により得られた全ての回答の根拠及び回答、及び上記ステップＳ５５５により得られた根拠情報を出力する。
【０１９１】
＜第２の実施形態に係る回答生成装置の実施例＞
次に、第２の実施形態に係る回答生成装置の実施例について説明する。本実施例では、回答生成装置の各部の構成として、図１０に示した構成を用いる。具体的には、判断部２２０は、ＲＮＮと線形変換とを用いて構成され、Ｙｅｓ／Ｎｏ／抽出型の回答の何れかで答えるかを判断し、Ｙｅｓ／Ｎｏ／抽出型の回答の３値の何れかを出力とする。また、根拠探索部２１６は、ＲＮＮと線形変換との組を２つ用いて構成され、一方の組は回答の終点、他方の組は回答の始点を出力とする。根拠抽出部６１７は、ＲＮＮと抽出モデル６１７Ａとを用いて構成される。第２文脈符号化部２１５は、ＲＮＮとセルフアテンションとを用いて構成され、アテンション部２１４は、双方向アテンションにより構成される。
【０１９２】
第１文脈符号化部２１３は、２つのＲＮＮを用いて構成され、単語符号化部２１１は、単語埋め込みと文字埋め込みとの組を２つ用いて構成される。
【０１９３】
また、抽出モデル６１７Ａの構成として、図１１に示す構成を用いている。この構成は、参考文献７に提案されている抽出型文章要約モデルをベースとしている。
［参考文献７］Ｙ．Ｃ．  Ｃｈｅｎ  ａｎｄ  Ｍ．  Ｂａｎｓａｌ，  “Ｆａｓｔ  ａｂｓｔｒａｃｔｉｖｅ  ｓｕｍｍａｒｉｚａｔｉｏｎ  ｗｉｔｈ  ｒｅｉｎｆｏｒｃｅ−ｓｅｌｅｃｔｅｄ  ｓｅｎｔｅｎｃｅ  ｒｅｗｒｉｔｉｎｇ”，  ＡＣＬ，  ２０１８，  ｐｐ．６７５−６８６．
【０１９４】
参考文献７の手法は、要約元文章に注意しながら要約元文章中の文を抽出する手法であるが、本実施例では質問文Ｑに注意しながら文章Ｐ中の文を抽出する。抽出モデル６１７Ａでは、質問文Ｑに対するｇｌｉｍｐｓｅ操作を行うことで、抽出結果が質問全体に対応する内容を包含することを意図している。
【０１９５】
＜第２の実施形態に係る回答生成装置の実施例における実験結果＞
次に、第２の実施形態に係る回答生成装置の実施例における実験結果について説明する。
【０１９６】
＜＜実験設定＞＞
実験はＧＰＵに、”ＮＶＩＤＩＡ  Ｔｅｓｌａ  Ｐ１００（株式会社エルザジャパン製）”を４枚用いて行った。実装にはＰｙｔｏｒｃｈを用いた。Ｂｉ−ＲＮＮの出力の次元をｄ＝３００で統一した。ｄｒｏｐｏｕｔのｋｅｅｐ  ｒａｔｉｏは０．８とした。バッチサイズを７２、学習率を０．００１とした。上記以外の設定はベースラインモデルと同じ設定である。抽出モデル６１７ＡはＲＮＮにＧＲＵを用いた、ベクトルの初期化を正規分布で、行列の初期化をｘａｖｉｅｒ  ｎｏｒｍａｌ分布で行った。デコード時のｂｅａｍ  ｓｉｚｅを２とした。
【０１９７】
また、ベースラインモデルとして、本実施例に係る回答生成装置の構成（図１０）のうち、抽出モデル６１７Ａをａｆｆｉｎｅ変換とｓｉｇｍｏｉｄ関数により各文の根拠スコアを得るモデルに変更したモデルを用いた。
【０１９８】
本実験では、回答タイプＴ・回答Ａ・根拠文Ｓの予測精度を評価した。ここで、回答タイプＴは、ＨｏｔｐｏｔＱＡのタスク設定における「Ｙｅｓ・Ｎｏ・抽出」の３ラベルから構成される。回答、根拠文抽出ともに完全一致（ＥＭ）と部分一致を評価した。部分一致の指標は適合率と再現率の調和平均（Ｆ１）である。回答は、回答タイプＴの一致で評価し、抽出の場合は回答Ａの一致でも評価する。根拠文抽出の部分一致については抽出された文のｉｄの真の根拠文ｉｄへの一致で測った。そのため、単語レベルでの部分一致は考慮されない。回答タイプに関して、「Ｙｅｓ・Ｎｏ」質問に限定したときの回答精度をＹＮと記した。また、回答と根拠の精度双方を考慮した指標としてｊｏｉｎｔ  ＥＭ及びｊｏｉｎｔ  Ｆ１（参考文献８）を用いる。
［参考文献８］Ｚ．  Ｙａｎｇ，  Ｐ．  Ｑｉ，  Ｓ．  Ｚｈａｎｇ，  Ｙ．  Ｂｅｎｇｉｏ，  Ｗ．  Ｗ．  Ｃｏｈｅｎ，  Ｒ．  Ｓａｌａｋｈｕｔｄｉｎｏｖ  ａｎｄ  Ｃ．  Ｄ．  Ｍａｎｎｉｎｇ，  “ＨｏｔｐｏｔＱＡ：  Ａ  ｄａｔａｓｅｔ  ｆｏｒ  ｄｉｖｅｒｓｅ，  ｅｘｐｌａｉｎａｂｌｅ  ｍｕｌｔｉ−ｈｏｐ  ｑｕｅｓｔｉｏｎ  ａｎｓｗｅｒｉｎｇ”，  ＥＭＮＬＰ，  ２０１８，  ｐｐ．２３６９−２３８０．
【０１９９】
本実験では、ｄｉｓｔｒａｃｔｏｒ設定とｆｕｌｌｗｉｋｉ設定との場合について行う。ｄｉｓｔｒａｃｔｏｒ設定は、大量のテキストを質問に関連する少量のテキストに絞ることが既存技術によって可能であるという仮定を置いた設定である。また、ｆｕｌｌｗｉｋｉ設定は、ＴＦ−ＩＤＦ類似度検索によって少量テキストへの絞り込みを行った設定である。
【０２００】
＜＜実験結果＞＞
テストデータにおける実験結果は、ｄｉｓｔｒａｃｔｏｒ設定の結果を表１に、ｆｕｌｌｗｉｋｉ設定の結果を表２に示す。
【０２０１】
【表１】
2020174826.tif 000044
【０２０２】
【表２】
2020174826.tif 000045
【０２０３】
ｄｉｓｔｒａｃｔｏｒ設定、ｆｕｌｌｗｉｋｉ設定共に、本実施例はベースラインモデルを大きく上回り、ｓｔａｔｅ−ｏｆ−ｔｈｅ−ａｒｔの精度を達成した。特に根拠文の完全一致はｄｉｓｔｒａｃｔｏｒ設定で３７．５ポイント（＋１８５％）、ｆｕｌｌｗｉｋｉ設定で１０．３ポイント（＋２６８％）と大きく向上している。そのため、本実施例は根拠文を過不足なく抽出することに秀でた手法であると言える。開発データでのｄｉｓｔｒａｃｔｏｒ設定における実験結果を表３に示す。
【０２０４】
【表３】
2020174826.tif 000046
【０２０５】
開発データでのベースラインモデルは我々の追実験によって学習されたため、精度がテストデータでの数値と大きく異なっている。これはハイパーパラメータの違いに起因する。まず、本実施例はベースラインモデルを根拠文抽出のＥＭで２４．５ポイント上回っている。Ｆ１でも６．７ポイントの向上が見られる。さらに、回答でもＥＭで１．０ポイント、Ｆ１で１．４ポイントの上昇がある。特に「Ｙｅｓ・Ｎｏ」の判断精度については、５．６ポイント向上している。べースラインモデルと本実施例とでは、抽出モデル６１７Ａ以外は全て同じモデルを用いている。それにも関わらず「Ｙｅｓ・Ｎｏ」の判断精度が向上していることは、抽出モデル６１７Ａとのマルチタスク学習が下層のＲＮＮを回答にも資する特徴量を獲得するように学習できると解釈できる。結果として、Ｊｏｉｎｔ指標でも精度が向上している。比較手法として、ｇｌｉｍｐｓｅ操作を用いずにＲＮＮによる文抽出だけを行う手法を実験したが、全ての指標で本実施例が上回ることを確認した。
【０２０６】
開発データでのｆｕｌｌｗｉｋｉ設定における実験結果を表４に示す。
【０２０７】
【表４】
2020174826.tif 000047
【０２０８】
本実施例はベースラインモデルを根拠のＥＭで６．５ポイント上回っているが、Ｆ１ではベースラインモデルを下回っている。回答ではＥＭで０．９ポイント、Ｆ１で０．８ポイントの上昇がある。特に「Ｙｅｓ・Ｎｏ」の判断精度については、３．０ポイント向上している。そのため、やはり抽出モデル６１７Ａによって下層のＲＮＮの学習が進んでいると解釈できる。結果として、Ｊｏｉｎｔ指標でも精度が向上している。また、本実施例がｇｌｉｍｐｓｅ操作を用いない手法と比較して全ての指標で上回っていることを確認した。
【０２０９】
以上の結果から、少量の関連テキストの中から特に必要な文を検索することについては、ｄｉｓｔｒａｃｔｏｒ設定では部分一致で８４．７％の精度を達成したこと、及び必要な文を使って「Ｙｅｓ・Ｎｏ」の判断精度を上げることについては、５．６ポイントの精度の向上が観察できた。
【０２１０】
以上説明したように、本実施形態に係る回答生成装置によれば、機械読解部の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、前記質問文に対する回答の根拠情報を抽出し、判断された回答の極性と、抽出された根拠情報とを回答として出力することにより、極性で回答することができる質問に対して、更に精度よく、極性で回答することができる。
【０２１１】
また、回答学習装置では、根拠抽出部、根拠探索部、及び判断部のそれぞれのタスクに関してマルチタスク学習を行っているため、根拠情報を参考にした、根拠となる範囲の推定や判断スコアの計算が実現される。
【０２１２】
＜第３の実施形態に係る回答学習装置の概要＞
上記第２の実施形態では、質問文に対する回答を出力するとき、回答の根拠として、根拠となる範囲と、文の集合である根拠情報を出力することで、回答結果をユーザーが解釈しやすい形にしていた。
【０２１３】
この際、根拠情報に含まれるそれぞれの文が、回答を抽出する根拠としてどれぐらい適しているかを示す、根拠スコアを提示していなかった。
【０２１４】
また、学習のためには、根拠文となる正解の文を定義した教師データが必要であった。この教師データの作成は、人間が「回答のためにどの文が必要か」を考えながら作業を行う必要があるため、難しく高コストなタスクである。
【０２１５】
そこで、本実施形態では、根拠抽出部において、文章を分割したスパンごとに、そのスパンが回答を抽出する根拠としてどれぐらい適しているかを示す、根拠スコアを算出する。
【０２１６】
また、本実施形態では、根拠情報の単位であるスパンを、文ではなく段落とする。根拠情報の単位として文ではなく段落を用いることで、教師データの作成が容易となる。なぜなら、段落は文よりも粒度が大きく多くの情報を含むため、多くの教師データでは、回答を含む１段落をそのまま根拠段落として使用すればよい。そのため、人間の追加の作業が不要である。
【０２１７】
なお、段落は、一般的に使われる段落と異なってもよく、例えば箇条書きの全体を段落としてみなすことも可能であるし、１つ１つのアイテムをそれぞれ別段落とみなすことも可能である。文章を分割する単位として、以降は「段落」を例として説明を行うが、上記の実施形態と同様に、文を単位として以降の処理を行うことも可能である。文章を所定単位で分割したものを「スパン」と呼称し、文や段落はこれに含まれるものとする。
【０２１８】
また、回答種別とは、「ＹＥＳ」、「ＮＯ」、又は文章から回答を抽出する「抽出型」のいずれである。根拠範囲とは、文章の中の根拠を表す範囲の単語列であり、回答種別が抽出型である場合、この範囲に含まれる文字列を回答としても用いるため、回答範囲とも称する。また、根拠情報とは、根拠となるスパンの集合である。すなわち、根拠範囲（回答範囲）は単語レベルの根拠であり、根拠情報は、スパン（文や段落）レベルの根拠とも言える。
【０２１９】
また、本実施形態では、回答生成装置が、根拠スコアを算出して可視化する点が、第２の実施形態と異なっている。
【０２２０】
また、文章を構成する段落を１つの文章とみなし、段落毎に符号化部に入力し、符号化部が、単語符号化部２１１、第１文脈符号化部２１３、アテンション部２１４、及び第２文脈符号化部２１５に相当するモデルとして、参考文献９に記載のＢＥＲＴ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｅｎｃｏｄｅｒ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  ｆｒｏｍ  Ｔｒａｎｓｆｏｒｍｅｒｓ）などの事前学習済み言語モデルを利用する点が、第２の実施形態と異なっている。
【０２２１】
［参考文献９］ＢＥＲＴ：  Ｐｒｅ−ｔｒａｉｎｉｎｇ  ｏｆ  Ｄｅｅｐ  Ｂｉｄｉｒｅｃｔｉｏｎａｌ  Ｔｒａｎｓｆｏｒｍｅｒｓ  ｆｏｒ  Ｌａｎｇｕａｇｅ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ，  ＜ｏｎｌｉｎｅ＞，  ＜ＵＲＬ：  ｈｔｔｐｓ：／／ｗｗｗ．ａｃｌｗｅｂ．ｏｒｇ／ａｎｔｈｏｌｏｇｙ／Ｎ１９−１４２３／＞．
【０２２２】
また、回答学習装置では、根拠情報の単位として段落を用い、学習データの正解の根拠情報として、段落単位で設定したものを用いる点が、第２の実施形態と異なっている。
【０２２３】
なお、上記以外の点が、第２の実施形態と同様であるため、同一符号を付して説明を省略する。
【０２２４】
＜第３の実施形態に係る回答学習装置の構成＞
図１２を参照して、第３の実施形態に係る回答学習装置５０の構成について説明する。図１２は、第３の実施形態に係る回答学習装置５０の構成を示すブロック図である。なお、上述の第２の実施形態に係る回答学習装置３０と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０２２５】
回答学習装置５０は、ＣＰＵと、ＲＡＭと、上記図６に示した回答学習処理ルーチンと同様の処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図１２に示すように、本実施形態に係る回答学習装置５０は、入力部１００と、解析部９００と、パラメータ学習部７００とを備えて構成される。
【０２２６】
解析部９００は、符号化部９１０と、根拠抽出部６１７と、根拠探索部２１６と、判断部２２０とを備えて構成される。
【０２２７】
符号化部９１０は、単語符号化部２１１と、単語データベース（ＤＢ）２１２と、第１文脈符号化部２１３と、アテンション部２１４と、第２文脈符号化部２１５と、を備えている。
【０２２８】
符号化部９１０で用いられる事前学習済み言語モデルであるＢＥＲＴモデルには入力可能なテキストの長さに制約があるため、文章を段落ごとに分割して入力する。
【０２２９】
具体的には、ＢＥＲＴモデルの入力を、質問文と１段落のテキストを連結して生成した１テキストとする。ＢＥＲＴモデルの出力は、１つの固定長ベクトルと、１つのベクトル系列である。固定長ベクトルは、質問と１段落全体の意味をあらわすｄ４次元のベクトルである。ベクトル系列の長さ（トークン数）は、入力となる「質問文と１段落のテキストを連結して生成した１テキスト」のトークン数と同じである。ベクトル系列のうちの１ベクトルが、１トークンの意味を表すｄ４次元であり、ベクトル系列のサイズは、ｄ４次元×トークン数となる。本実施形態では、トークンの単位を単語とするが、部分単語単位などを用いてもよい。
【０２３０】
符号化部９１０は、質問文と１段落のテキストを連結して生成した１テキストをＢＥＲＴモデルに入力して、１つの固定長ベクトルと、１つのベクトル系列を求める処理を、文章の各段落（段落数をｎとする）について行う。これにより、符号化部９１０では、ｎ個のｄ４次元ベクトルである固定長ベクトルＶ１，…，Ｖｎとｎ個のベクトル系列Ｕ１，…，Ｕｎを得る。Ｖｉは、文脈符号化結果であるｉ番目の段落を表す固定長ベクトル、Ｕｉは質問文とｉ番目の段落の各単語の意味を表すベクトル系列である。なお、段落数ｎは、上記式（１２）中の「ｎ」とは別の変数である。ｎ個のｄ４次元ベクトルである固定長ベクトルＶ１，…，Ｖｎとｎ個のベクトル系列Ｕ１，…，Ｕｎが、質問文とスパンの意味を表すベクトル表現系列の一例である。固定長ベクトルは単語や文章の意味をベクトルで表現したものであり、「ベクトル表現」とも表される。また、ベクトル系列は文章の意味を表現する際などに、ベクトル表現を並べたものであり、これは「ベクトル表現系列」とも表される。入力文が１単語からなる場合、当該入力文に対応する「ベクトル表現系列」は「ベクトル表現」になるため、「ベクトル表現系列」は、「ベクトル系列」をも含む概念である。
【０２３１】
また、符号化部９１０は、質問文の各単語の意味を表すベクトル系列Ｕｉ’を、以下の２つの処理で作成する。
【０２３２】
第１処理では、符号化部９１０の出力するｎ個のベクトル系列Ｕｉの各々について、当該ベクトル系列Ｕｉから、質問文に相当する位置のベクトルだけを抽出して、ベクトル系列を抽出する。ここで、抽出されるベクトル系列は、質問文の単語数と長さが一致し、ベクトル系列に含まれる各ベクトルは質問文の１単語を表す。
【０２３３】
第２処理では、ｎ個のベクトル系列Ｕｉの各々について抽出したベクトル系列の平均又は和をとり、１つのベクトル系列を求め、ベクトル系列Ｕｉ’とする。
【０２３４】
根拠抽出部６１７は、符号化部９１０の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Ｑに対する回答の根拠情報を抽出する。
【０２３５】
具体的には、根拠抽出部６１７は、まず、符号化部９１０の処理によって得られたｎ個の固定長ベクトルＶｉを入力とし、ニューラルネットワークを用いて文章Ｐの各段落の意味を表すベクトルの系列Ｈを抽出する。根拠抽出部６１７は、例えば、ニューラルネットワークとして、Ｕｎｄｉｒｅｃｔｉｏｎａｌ−ＲＮＮを用いることができる。若しくは、根拠抽出部６１７は、ニューラルネットワークを用いずに、ｎ個の固定長ベクトルＶｉを並べてベクトルの系列Ｈを生成してもよい。
【０２３６】
次に、根拠抽出部６１７は、根拠段落を１つ抽出する操作を１時刻と定義し、状態ｚｔを抽出モデルのＲＮＮによって生成する。すなわち、根拠抽出部６１７は、時刻ｔ−１に抽出された根拠段落に対応するベクトルの系列Ｈの要素
2020174826.tif 000048
を抽出モデルのＲＮＮに入力することにより、状態ｚｔを生成する。ただし、ｓｔ−１は時刻ｔ−１に抽出された根拠段落の添字である。また、時刻ｔまでに抽出された段落ｓｔの集合をＳｔとする。
【０２３７】
根拠抽出部６１７は、状態ｚｔと、質問文の各単語の意味を表すベクトル系列Ｕｉ’に基づいて、抽出モデルにより、時刻ｔにおける重要性を考慮した質問文ベクトルであるｇｌｉｍｐｓｅベクトルｅｔ（上記式（１３））を、質問文Ｑに対するｇｌｉｍｐｓｅ操作（上記参考文献５）を行うことで生成する。なお、上記式（１３）におけるベクトルｙｊに、ベクトル系列Ｕｉ’のｊ番目のベクトルを代入して計算する。また、上記式（１１）〜式（１３）におけるｖｇ、Ｗｇ１、及びＷｇ２と、上記式（１４）におけるｖｐ、Ｗｐ１、Ｗｐ２、及びＷｐ３とは、抽出モデルのパラメータであり、パラメータ学習部７００により更新される。また、上記式（１４）におけるｈｊは、ベクトルの系列Ｈのｊ番目のベクトルである。
【０２３８】
このように、抽出モデルでは質問文Ｑに対するｇｌｉｍｐｓｅ操作を行うことで、根拠段落の抽出結果が質問全体に対応する内容を包含することができる。
【０２３９】
抽出モデルのＲＮＮの初期値はベクトルの系列Ｈをａｆｆｉｎｅ変換したベクトル系列をｍａｘｐｏｏｌｉｎｇしたベクトルとする。
【０２４０】
根拠抽出部６１７は、状態ｚｔと、ｇｌｉｍｐｓｅベクトルｅｔと、ベクトルの系列Ｈとに基づいて、抽出モデルにより、時刻ｔにおいて上記式（１４）で表される確率分布に従って第δ段落を選び、段落ｓｔ＝δを、時刻ｔに抽出された根拠段落とする。ただし、上記式（１４）における値ｕｊｔは、ベクトル系列Ｕｉ’とは別の値である。
【０２４１】
そして、根拠抽出部６１７は、抽出した段落ｓｔの集合Ｓｔを根拠情報として、根拠探索部２１６及びパラメータ学習部７００に渡す。
【０２４２】
根拠探索部２１６は、符号化部９１０の出力するｎ個のベクトル系列Ｕｉのうち、学習データ中の正解となる根拠情報（段落）に対応するベクトル系列Ｕｉに基づいて、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【０２４３】
具体的には、根拠探索部２１６は、回答の根拠となる範囲の始端ｓｄを推定するための始端用の深層学習モデル及び終端ｓｅを推定するための終端用の深層学習モデルの２つのニューラルネットワークによって構成される。この深層学習モデルは、例えば、線形変換層又は多層線形変換層などを含む。
【０２４４】
根拠探索部２１６は、まず、正解となる根拠情報（段落）に対応するベクトル系列Ｕｉを、始端用の深層学習モデルに入力して、回答の根拠となる範囲である回答範囲の始端に関するスコアを、正解となる根拠情報（段落）中の各単語について計算する。
【０２４５】
また、根拠探索部２１６は、正解となる根拠情報（段落）に対応するベクトル系列Ｕｉを、終端用の深層学習モデルに入力して、回答の根拠となる範囲である回答範囲の終端に関するスコアを、正解となる根拠情報（段落）中の各単語について計算する。
【０２４６】
正解となる根拠情報（段落）中の各単語について計算した始端に関するスコア及び終端に関するスコアをまとめて回答範囲スコアと呼ぶ。なお、始端用の深層学習モデル及び終端用の深層学習モデルのパラメータは、パラメータ学習部７００により更新される。
【０２４７】
そして、根拠探索部２１６は、計算した回答範囲スコアを、パラメータ学習部７００に渡す。
【０２４８】
なお、根拠探索部２１６の内部の処理やニューラルネットワークの構成については、上記第２の実施形態の根拠探索部２１６と同様のものを用いてもよい。
【０２４９】
判断部２２０は、符号化部９１０の処理によって得られる情報に基づいて、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断する。
【０２５０】
具体的には、判断部２２０は、入力変換部２２１と、スコア計算部２２２とを備えて構成される。
【０２５１】
入力変換部２２１は、符号化部９１０が出力するｎ個の固定長ベクトルＶｉのうち、学習データの正解の根拠情報（段落）に対応する固定長ベクトルＶｉを抽出し、抽出した固定長ベクトルＶｉを、スコア計算部２２２に渡す。
【０２５２】
スコア計算部２２２は、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断する。
【０２５３】
具体的には、スコア計算部２２２は、正解の根拠情報（段落）に対応する固定長ベクトルＶｉに基づいて、線形変換層又は多層線形変換層などを含む深層学習モデルである判断モデルを用いて、Ｙｅｓ、Ｎｏ、及び抽出型の回答の何れかで答えるかの判断結果を表す判断スコアを計算する。ここで計算される判断スコアは、３次元のベクトルである。
【０２５４】
なお、判断部２２０の内部の処理やニューラルネットワークの構成については、上記第１の実施形態の判断部２２０と同様のものを用いてもよい。例えば、Ｙｅｓ、Ｎｏ、又は抽出型の３つに分類するように構成して、上記第１の実施形態の判断部２２０と同様の処理を行うようにしてもよい。
【０２５５】
そして、スコア計算部２２２は、判断スコアを、パラメータ学習部７００に渡す。
【０２５６】
パラメータ学習部７００は、学習データに含まれる正解Ｙ＾と、判断部２２０により判断された結果とが一致し、学習データに含まれる始端Ｄ＾及び終端Ｅ＾と、根拠探索部２１６により推定された始端ｓｄ及び終端ｓｅとが一致し、学習データに含まれる文章Ｐにおける正解の根拠情報と、根拠抽出部６１７により抽出された根拠情報とが一致するように、読解モデル、判断モデル及び抽出モデルのパラメータを学習する。
【０２５７】
具体的には、文章Ｐと、質問Ｑと、ＹＥＳ、ＮＯ、及び抽出型の何れかである正解となる回答Ｙ＾、回答Ｙの正解となる根拠範囲である始端Ｄ＾及び終端Ｅ＾と、回答Ｙの正解となる根拠情報である根拠段落の集合Ｓｔ＾とを１セットとし、学習データが、複数セット含むものとする。
【０２５８】
ここで、正解となる回答Ｙ＾は、回答種別がＹＥＳ、ＮＯ、抽出型のいずれであるかを示す情報とする。正解となる根拠情報とは、回答種別を判断する、又は根拠範囲を抽出する際の根拠となるスパンとしての段落の集合であり、文章Ｐに含まれる全段落の部分集合である。回答種別が極性であるＹＥＳ又はＮＯである場合、根拠情報はＹＥＳ又はＮＯの判断の根拠となる段落からなる集合である。回答種別が抽出型の場合、根拠情報は、真の回答範囲を含む段落からなる集合である。
【０２５９】
なお、回答学習装置５０の他の構成及び作用については、第２の実施形態と同様であるため、説明を省略する。
【０２６０】
＜第３の実施形態に係る回答生成装置の構成＞
図１３を参照して、本開示の第３の実施形態に係る回答生成装置６０の構成について説明する。図１３は、本開示の第３の実施形態に係る回答生成装置６０の構成を示すブロック図である。なお、上述の第３の実施形態に係る回答学習装置５０と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０２６１】
回答生成装置６０は、ＣＰＵと、ＲＡＭと、上記図９に示した回答生成処理ルーチンと同様の処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図１３に示すように、本実施形態に係る回答生成装置６０は、入力部４００と、解析部９００と、出力部８００とを備えて構成される。
【０２６２】
解析部９００は、符号化部９１０と、根拠抽出部６１７と、根拠探索部２１６と、判断部２２０とを備えて構成される。
【０２６３】
根拠抽出部６１７は、符号化部９１０の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Ｑに対する回答の根拠情報を抽出すると共に、文章Ｐのスパンである各段落について根拠スコアを算出する。
【０２６４】
具体的には、根拠抽出部６１７は、根拠スコアを算出する際に、状態ｚｔと、ｇｌｉｍｐｓｅベクトルｅｔと、ベクトルの系列Ｈとに基づいて、抽出モデルを用いて、文章Ｐの各段落について、当該段落が回答を抽出する根拠に適している度合いを示す根拠スコアを算出する。
【０２６５】
例えば、時刻ｔにおいて段落δについて上記（１４）式に従って値Ｐ（δ；Ｓ（ｔ−１））を計算し、この値をスコアＡｔ（δ）とする。そして、段落δの根拠スコアを、ｍａｘｔ  Ａｔ（δ）又はｓｕｍｔ  Ａｔ（δ）で定義する。
【０２６６】
なお、根拠スコアは、スパンが段落でなく文であった場合も、同様の処理で計算することができる。その場合、根拠スコアは、その文が回答を抽出する根拠に適している度合いを示すスコアを表す。
【０２６７】
根拠抽出部６１７は、抽出した根拠情報と、各段落についての根拠スコアとを、出力部８００に渡すと共に、抽出した根拠情報を、根拠探索部２１６及び入力変換部２２１に渡す。
【０２６８】
根拠探索部２１６は、符号化部９１０の出力するｎ個のベクトル系列Ｕｉのうち、根拠抽出部６１７が根拠情報として抽出した段落に対応するベクトル系列Ｕｉに基づいて、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【０２６９】
入力変換部２２１は、符号化部９１０が出力するｎ個の固定長ベクトルＶｉのうち、根拠抽出部６１７が根拠情報として抽出した段落に対応する固定長ベクトルＶｉを抽出し、抽出した固定長ベクトルＶｉを、スコア計算部２２２に渡す。
【０２７０】
スコア計算部２２２は、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断する。
【０２７１】
具体的には、スコア計算部２２２は、根拠抽出部６１７が根拠情報として抽出した段落に対応する固定長ベクトルＶｉに基づいて、線形変換層又は多層線形変換層などを含む深層学習モデルである判断モデルを用いて、Ｙｅｓ、Ｎｏ、及び抽出型の回答の何れかで答えるかの判断結果を表す判断スコアを計算する。
【０２７２】
出力部８００は、根拠抽出部６１７によって抽出した段落の集合Ｓｔと、各段落の根拠スコアと、判断部２２０によって出力された、Ｙｅｓ／Ｎｏ／抽出型の３種の判断結果を示す判断スコアと、根拠探索部２１６によって得られた、各単語の回答始端スコア及び回答終端スコアを入力とする。
【０２７３】
また、回答生成装置６０に入力する時点で、文章を構成する各段落にスコアが与えられている場合、そのスコアを検索スコアとして出力部８００に入力することができる。例えばＷｉｋｉｐｅｄｉａ（Ｒ）全体から、当該段落を一般的な検索によって絞り込む際に、検索手法が出力するスコアを、検索スコアとして用いてもよい。
【０２７４】
出力部８００は、根拠抽出部６１７が根拠情報として抽出した段落の任意の単語列に対して、当該単語列の始端の回答始端スコア及び当該区間の終端の回答終端スコアの積又は和で、回答単語列スコアを計算する。回答単語列スコアは、その単語列が回答または回答の根拠であることを示すスコアである。
【０２７５】
この回答単語列スコアの計算によって、回答種別の判断結果が「抽出型」の場合、文章中の任意の単語列、つまり抽出型の回答として考えうる全ての候補に対して、回答単語列スコアが与えられる。候補数は、根拠抽出部６１７が抽出した根拠段落の単語数をＬとすると、Ｌ個から２個を選ぶ重複組み合わせＬＣ２通りである。
【０２７６】
また、出力部８００は、以下の式に従って、根拠抽出部６１７が抽出した根拠段落、回答種別の判断結果、及び回答単語列の全ての組み合わせに対して読解スコアを計算する。
【０２７７】
読解スコア＝（検索スコア×検索スコア重み）＋（根拠スコア×根拠スコア重み）＋（回答単語列スコア×回答単語列スコア重み）＋（判断スコア×判断スコア重み）
【０２７８】
ただし、各スコア重みはユーザーが決定できる数値であり、例えばすべて１である。検索スコアの項は検索スコアが与えられている場合のみ用いる。
【０２７９】
出力部８００は、読解スコア、根拠段落、判断結果、及び回答単語列の組み合わせを、読解スコアが高い順に出力する。出力する個数は、事前に指定された個数や読解スコアの閾値で決定する。
【０２８０】
なお、回答生成装置６０の他の構成及び作用については、第２の実施形態と同様であるため、説明を省略する。
【０２８１】
以上説明したように、第３の実施形態の回答生成装置によれば、根拠探索部及び判断部が、根拠抽出部が抽出した根拠情報に基づいて処理を行うため、より明示的に根拠情報に基づいた処理が可能になり、精度良く回答することができる。また、段落毎に根拠スコアを算出して可視化することができ、ユーザーがより解釈しやすい形で回答を出力することができる。
【０２８２】
また、根拠情報として根拠段落を抽出するため、回答学習装置に入力する教師データの作成が容易になるとと共に、精度よく回答の極性を推定できるモデルを学習することができる。
【０２８３】
なお、本開示は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０２８４】
上述の実施形態では、機械読解部２１０により文章Ｐを符号化した結果と、機械読解部２１０により質問文Ｑを符号化した結果とに基づいて、ベクトルの系列Ｐ３及びＱ３を生成したが、機械読解部２１０により推定された回答の根拠となる範囲の始端ｓｄ及び終端ｓｅの少なくとも一方、又は文章Ｐと質問文Ｑとの関係性を表すアテンション行列Ａを更に入力として、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断してもよい。
【０２８５】
この場合、第２文脈符号化部２１５は、変換した読解行列Ｍを、根拠探索部２１６は、推定した回答範囲スコアを、それぞれ入力変換部２２１に渡す。
【０２８６】
例えば、入力変換部２２１は、ベクトルの系列Ｐ３の計算方法として、下記式（１７）や、式（１８）を用いることができる。
【０２８７】
【数１４】
2020174826.tif 000049
【０２８８】
ただし，Ｌｉｎｅａｒ（）は線形変換を示す。
【０２８９】
また、例えば、入力変換部２２１は、ベクトルの系列Ｑ３の計算方法として、下記式（１９）を用いることができる。
【０２９０】
【数１５】
2020174826.tif 000050
【０２９１】
同様の操作をアテンション行列ＡＴ、ベクトルの系列Ｐに対して行い、得られたベクトル系列を、ベクトルの系列Ｑ３としてもよく、得られたベクトル系列にベクトルの系列Ｑ２を結合したものとしてもよい。
【０２９２】
このようなバリエーションによって、入力変換部２２１で必要な変数が決定する。
【０２９３】
また、タスク特有の問題に対処するため、スコア計算部２２２は、文ペア分類タスクの既存フレームワークに工夫を加えたものを用いることができる。
【０２９４】
例えば、上記ＥＳＩＭのフレームワークを用いた場合に、以下の工夫を用いることができる。
【０２９５】
＜＜工夫１＞＞
文章Ｐが文ではなく、文章であるので、文ペア分類タスクに比べて系列の長さＬＰが大きくなってしまう。この問題に対処するため、ｍａｘ  ｐｏｏｌｉｎｇ、ａｖｅｒａｇｅ  ｐｏｏｌｉｎｇをより長い系列向きの手法に置き換える。
【０２９６】
具体的には、ベクトルの系列Ｑ３を、ＬＳＴＭに入力したときのＬＳＴＭの出力の最終状態を使う手法や、ａｔｔｅｎｔｉｖｅ  ｐｏｏｌｉｎｇ（列方向の重み付き平均を取る操作であり、重みとしてベクトルの系列Ｐ３の線形変換や推定した始端ｓｄ、終端ｓｅ等を用いる）に置き換えることができる。
【０２９７】
＜＜工夫２＞＞
文ペア分類タスクに比べて、上記実施形態の分類対象となるベクトルの系列Ｐ３は、文章Ｐの情報だけでなく、質問文Ｑの情報も豊富に含んでいる傾向がある。そのため、スコア計算部２２２においてベクトルの系列Ｑ３を用いず、ベクトルの系列Ｐ３のみを用いてベクトルＪを求めてもよい。
【０２９８】
この場合、入力変換部２２１が受け付ける情報は、（１）読解行列Ｂのみとすることができる。また、ベクトルの系列Ｐ３への変換は、上記式（６）を用いる。このとき、Ｊの定義は、
2020174826.tif 000051
である。
【０２９９】
また、回答学習装置１０は、入力された質問文Ｑが、「Ｙｅｓ又はＮｏで答えることができる質問」なのか否かを判定する質問判定部を更に備える構成としてもよい。
【０３００】
質問判定部の判定方法については、ルールベースや、機械学習による判定など、従来手法を用いればよい。この場合、質問判定部の判定の結果、「Ｙｅｓ又はＮｏで答えることができる質問ではない」と判定された時には、判断部２２０からの出力（Ｙｅｓ／Ｎｏ）を行わない、すなわち、機械読解部２１０からの出力のみを行うように構成することもできる。
【０３０１】
このように、質問判定部を備えることにより、判断部２２０の出力がＹｅｓ／Ｎｏの２値の場合、ＹｅｓかＮｏかで答えることが不適切な場合に、ＹｅｓかＮｏかで答えてしまう事を防ぐことができる。また、学習データからＹｅｓかＮｏかで答えることが不適切な質問を除外でき、より適切な学習を行うことができる。
【０３０２】
また、判断部２２０の出力がＹｅｓ／Ｎｏ／不明の３値である場合、「不明」となった場合の意味合いが、より明確となる。質問判定部を備えていない場合、「不明」の意味は、「Ｙｅｓ又はＮｏで答えることが不適切な質問である」、又は「（文章Ｐに回答の根拠となる記載がない等の理由で）分からない」の２つが混在してしまうが、質問判定部による判定を行えば、「不明」の意味は後者に絞ることができる。
【０３０３】
また、当該質問判定部は、回答生成装置２０に備えることもできる。回答生成装置２０は、質問判定部を備えることにより、判断部２２０の出力がＹｅｓ／Ｎｏの２値の場合、ＹｅｓかＮｏかで答えることが不適切な場合に、ＹｅｓかＮｏかで答えてしまう事を防ぐことができる。
【０３０４】
また、本実施形態は、回答が、Ｙｅｓ／Ｎｏの何れであるかを判断する判断モデルを用いる場合を例に説明したが、これに限定されるものではなく、判断モデルが、回答が、Ｙｅｓ／Ｎｏ／抽出型の回答の何れかであるかを判断し、抽出型の回答である場合に、出力部が、抽出型の回答として、根拠抽出部６１７により出力された根拠文、又は根拠探索部２１６により出力された回答の根拠の範囲を出力してもよい。
【０３０５】
また、上述の実施形態では、回答の極性を、Ｙｅｓ又はＮｏである場合を例に説明したが、これに限定されるものではなく、回答の極性を、例えば、ＯＫ又はＮＧとしてもよい。
【０３０６】
また、第３の実施形態の回答生成装置６０において、根拠抽出部６１７は、根拠情報を根拠探索部２１６へ渡さないようにしてもよい。この場合には、根拠探索部２１６が、根拠情報を用いずに、文章Ｐにおける回答の根拠となる範囲の始端及び終端を推定する。具体的には、根拠探索部２１６は、符号化部９１０の出力するｎ個のベクトル系列Ｕｉをそのまま用いて、文章Ｐにおける回答の根拠となる範囲の始端及び終端を推定するようにすればよい。
【０３０７】
また、第３の実施形態の回答生成装置６０において、根拠抽出部６１７から、根拠情報を判断部２２０の入力変換部２２１へ渡さないようにしてもよい。この場合には、入力変換部２２１は、符号化部９１０が出力するｎ個の固定長ベクトルＶｉをそのままスコア計算部２２２に渡す。また、スコア計算部２２２は、ｎ個の固定長ベクトルＶｉに基づいて、判断スコアを計算するようにすればよい。
【０３０８】
上記のように、根拠探索部２１６及び判断部２２０が、根拠抽出部６１７が抽出した根拠情報を用いない場合であっても、回答学習装置５０では、根拠抽出部６１７、根拠探索部２１６、判断部２２０のそれぞれのタスクに関してマルチタスク学習を行っているため、根拠情報を参考にした、根拠となる範囲の推定や判断スコアの計算が、実現される。
【０３０９】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【０３１０】
以上の実施形態に関し、更に以下の付記を開示する。
【０３１１】
（付記項１）
メモリと、
前記メモリに接続された少なくとも１つのプロセッサと、
を含み、
前記プロセッサは、
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する、
回答生成装置。
【０３１２】
（付記項２）
メモリと、
前記メモリに接続された少なくとも１つのプロセッサと、
を含み、
前記プロセッサは、
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する、
回答生成装置であって、
前記符号化モデル及び前記抽出モデルは、
前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
を更に含む複数のモデルのマルチタスク学習により予め学習されたものである
回答生成装置。
（付記項３）
メモリと、
前記メモリに接続された少なくとも１つのプロセッサと、
を含み、
前記プロセッサは、
文章の分割単位である複数のスパンに分割された文章と、質問文と、前記文章における前記質問文に対する回答の正解である回答種別と、前記文章における前記回答の根拠となる範囲である根拠範囲と、前記文章における前記回答の根拠となるスパンである根拠情報とを含む学習データの入力を受け付け、
複数のスパンに分割した前記文章と、前記質問文とを、入力文を入力文の意味を表すベクトル表現系列に変換するための符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記根拠情報を抽出する抽出モデルを用いて、前記根拠情報を推定し、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記根拠範囲を抽出する探索モデルを用いて、前記根拠範囲を推定し、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記質問文に対する回答種別を判断する判断モデルを用いて、前記質問文に対する回答種別を判断し、
前記抽出された前記根拠情報が前記学習データの前記根拠情報と一致し、前記推定された前記根拠範囲が前記学習データの前記根拠範囲と一致し、前記判断された前記回答種別が前記学習データの前記回答種別と一致するように、前記符号化モデル、前記抽出モデル、前記探索モデル、及び前記判断モデルのパラメータを学習する、
回答学習装置。
（付記項４）
回答生成処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記回答生成処理は、
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する、
非一時的記憶媒体。
（付記項５）
回答生成処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記回答生成処理は、
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定し、
前記符号化モデル及び前記抽出モデルは、
前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
を更に含む複数のモデルのマルチタスク学習により予め学習されたものである、
非一時的記憶媒体。
（付記項６）
回答学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記回答学習処理は、
文章の分割単位である複数のスパンに分割された文章と、質問文と、前記文章における前記質問文に対する回答の正解である回答種別と、前記文章における前記回答の根拠となる範囲である根拠範囲と、前記文章における前記回答の根拠となるスパンである根拠情報とを含む学習データの入力を受け付け、
複数のスパンに分割した前記文章と、前記質問文とを、入力文を入力文の意味を表すベクトル表現系列に変換するための符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記根拠情報を抽出する抽出モデルを用いて、前記根拠情報を推定し、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記根拠範囲を抽出する探索モデルを用いて、前記根拠範囲を推定し、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記質問文に対する回答種別を判断する判断モデルを用いて、前記質問文に対する回答種別を判断し、
前記抽出された前記根拠情報が前記学習データの前記根拠情報と一致し、前記推定された前記根拠範囲が前記学習データの前記根拠範囲と一致し、前記判断された前記回答種別が前記学習データの前記回答種別と一致するように、前記符号化モデル、前記抽出モデル、前記探索モデル、及び前記判断モデルのパラメータを学習する、
非一時的記憶媒体。
【符号の説明】
【０３１３】
１０、３０、５０     回答学習装置
２０、４０、６０     回答生成装置
１００ 入力部
２００、６００、９００      解析部
２１０、６１０       機械読解部
２１１ 単語符号化部
２１３ 第１文脈符号化部
２１４ アテンション部
２１５ 第２文脈符号化部
２１６ 根拠探索部
２２０ 判断部
２２１ 入力変換部
２２２ スコア計算部
３００、７００       パラメータ学習部
４００ 入力部
５００、８００       出力部
６１７ 根拠抽出部
９１０ 符号化部
【図１】
2020174826.tif 000052
【図２】
2020174826.tif 000053
【図３】
2020174826.tif 000054
【図４】
2020174826.tif 000055
【図５】
2020174826.tif 000056
【図６】
2020174826.tif 000057
【図７】
2020174826.tif 000058
【図８】
2020174826.tif 000059
【図９】
2020174826.tif 000060
【図１０】
2020174826.tif 000061
【図１１】
2020174826.tif 000062
【図１２】
2020174826.tif 000063
【図１３】
2020174826.tif 000064
【国際調査報告】
2020174826.tif 000065
2020174826.tif 000066
2020174826.tif 000067
2020174826.tif 000068
2020174826.tif 000069