(57)【要約】      （修正有）【課題】極性で回答することができる質問に対して、精度よく、極性で回答する回答生成装置、回答学習装置、回答生成方法、回答学習方法及びプログラムを提供する。【解決手段】回答学習装置１０において、入力された文章及び質問文に基づいて、当該文章における当該質問文に対する回答の根拠となる範囲を推定するための予め学習された読解モデルを用いて、当該範囲の始端及び終端を推定する機械読解部２１０と、機械読解部２１０の処理によって得られる情報に基づいて、質問文に対する回答の極性が正か否かを判断するための予め学習された判断モデルを用いて、当該質問文に対する回答の極性を判断する判断部２２０と、を備える。【選択図】図１
2020061173.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.
【００５５】
第１文脈符号化部２１３は、単語符号化部２１１により生成された単語ベクトルの系列Ｐ１及びＱ１を、ニューラルネットワークを用いてベクトルの系列Ｐ２及びＱ２にそれぞれ変換する。
【００５６】
具体的には、第１文脈符号化部２１３は、単語ベクトルの系列Ｐ１及びＱ１を、ＲＮＮによってベクトルの系列Ｐ２及びＱ２にする。ＲＮＮの構造には、ＬＳＴＭ等の既存技術を用いることができる。
【００５７】
本実施形態では、第１文脈符号化部２１３は、ベクトルの系列を順方向に処理するＲＮＮと、逆方向に処理するＲＮＮとの２種類のＲＮＮを組み合わせた双方向ＲＮＮを用いる。双方向ＲＮＮの出力するベクトルの次元をｄ１とすると、第１文脈符号化部２１３が変換するベクトルの系列Ｐ２はＬＰ×ｄ１、ベクトルの系列Ｑ２はＬＱ×ｄ１の大きさの行列となる。
【００５８】
そして、第１文脈符号化部２１３は、変換したベクトルの系列Ｐ２及びＱ２を、アテンション部２１４に、ベクトルの系列Ｑ２を、入力変換部２２１にそれぞれ渡す。
【００５９】
アテンション部２１４は、ニューラルネットワークを用いて、ベクトルの系列Ｐ２及びＱ２に基づいて、文章Ｐ及び質問文Ｑのアテンションを表すベクトルの系列である読解行列Ｂを生成する。
【００６０】
具体的には、アテンション部２１４は、まず、ベクトルの系列Ｐ２及びＱ２から、アテンション行列
2020061173.tif 000003
を計算する。アテンション行列Ａは、例えば、下記式（１）を用いることができる。
【００６１】
【数１】
2020061173.tif 000004
【００６２】
上記式（１）において、行列の添え字で成分を表し、”：”は全体を表す。例えば、Ａｉ：は、アテンション行列Ａの第ｉ行全体を表す。また、上記式（１）において、”○”は要素積であり、”，”はベクトル・行列を縦方向に結合する演算子である。ｗＳは、モデルの訓練可能なパラメータであり、
2020061173.tif 000005
である。
【００６３】
アテンション部２１４は、アテンション行列Ａを基に、文章Ｐから質問文Ｑ方向へのアテンションベクトル
2020061173.tif 000006
、質問文Ｑから文章Ｐ方向へのアテンションベクトル
2020061173.tif 000007
を計算する。
【００６４】
ここで、アテンションベクトル
2020061173.tif 000008
は、下記式（２）で表すことができる。
【００６５】
【数２】
2020061173.tif 000009
【００６６】
ｓｏｆｔｍａｘは、ソフトマックス関数であり、
2020061173.tif 000010
である。
【００６７】
また、アテンションベクトル
2020061173.tif 000011
は、下記式（３）で表すことができる。
【００６８】
【数３】
2020061173.tif 000012
【００６９】
ここで、
2020061173.tif 000013
は、ＬＰ次元のベクトルであり、そのｉ番目の要素（１≦ｉ≦ＬＰ）は、アテンション行列Ａのｉ番目のベクトルの最大値（ｊ方向のｍａｘ値）である。ｓｏｆｔｍａｘｉは、ｉ方向にｓｏｆｔｍａｘを用いるという意味である。
【００７０】
βは、アテンション行列Ａにｍａｘ関数を用いることにより、長さがＬＰのベクトルとなり、式（３）において、βの各成分を重みとしてＰ２の各行の重みの和を取ることにより、
2020061173.tif 000014
は長さｄ１のベクトルとなる。
【００７１】
また、
2020061173.tif 000015
をＬＰ回繰り返し計算して縦に並べた行列が、
2020061173.tif 000016
となる。
【００７２】
アテンション部２１４は、ベクトルの系列Ｐ２、アテンションベクトル
2020061173.tif 000017
、及びアテンションベクトル
2020061173.tif 000018
に基づいて、アテンションの結果を表現する長さＬＰの読解行列Ｂを求める。例えば、読解行列
2020061173.tif 000019
である。ただし、”，”は、ベクトル・行列を横に結合する演算子である。
【００７３】
そして、アテンション部２１４は、読解行列Ｂを、入力変換部２２１及び第２文脈符号化部２１５に渡す。
【００７４】
第２文脈符号化部２１５は、アテンション部２１４により生成された読解行列Ｂを、ニューラルネットワークを用いてベクトルの系列である読解行列Ｍに変換する。
【００７５】
具体的には、第２文脈符号化部２１５は、読解行列Ｂを、ＲＮＮによって読解行列Ｍにする。ＲＮＮの構造には、第１文脈符号化部２１３と同様に、ＬＳＴＭ等の既存技術を用いることができる。
【００７６】
第２文脈符号化部２１５のＲＮＮが出力する単語ベクトルの次元をｄ２とすると、読解行列
2020061173.tif 000020
となる。
【００７７】
そして、第２文脈符号化部２１５は、変換した読解行列Ｍを、入力変換部２２１及び根拠探索部２１６に渡す。
【００７８】
根拠探索部２１６は、読解行列Ｍに基づいて、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【００７９】
具体的には、根拠探索部２１６は、回答の根拠となる範囲の始端ｓｄを推定するための始端用ＲＮＮ及び終端ｓｅを推定するための終端用ＲＮＮの２つのニューラルネットワークによって構成される。
【００８０】
根拠探索部２１６は、まず、読解行列Ｍを、始端用ＲＮＮに入力してベクトルの系列Ｍ１を得る。
【００８１】
根拠探索部２１６は、回答の根拠となる範囲の始端ｓｄを、下記式（４）を用いて求める。
【００８２】
【数４】
2020061173.tif 000021
【００８３】
ここで、始端ｓｄは、回答の根拠となる範囲の始端に関するスコアであり、ベクトルで表される。すなわち、ベクトルの各次元に対応する単語が回答範囲の始端になる確率（スコア）を表す。
【００８４】
同様に、読解行列Ｍを、終端用ＲＮＮに入力して単語ベクトルＭ２を得る。
【００８５】
根拠探索部２１６は、回答の根拠となる範囲の終端ｓｅを、下記式（５）を用いて求める。
【００８６】
【数５】
2020061173.tif 000022
【００８７】
ここで、終端ｓｅは、回答の根拠となる範囲の終端に関するスコアであり、ベクトルで表される。すなわち、ベクトルの各次元に対応する単語が回答範囲の終端になる確率（スコア）を表す。
【００８８】
推定した始端ｓｄ及び終端ｓｅをまとめて回答範囲スコアと呼ぶ。なお、上記式（４）及び式（５）において、ｗ１及びｗ２は、式（４）及び式（５）で表される読解モデルのパラメータであり、学習することができる。
【００８９】
そして、根拠探索部２１６は、推定した回答範囲スコアを、入力変換部２２１及びパラメータ学習部３００に渡す。
【００９０】
判断部２２０は、機械読解部２１０の処理によって得られる情報に基づいて、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断する。
【００９１】
具体的には、判断部２２０は、入力変換部２２１と、スコア計算部２２２とを備えて構成される。
【００９２】
入力変換部２２１は、機械読解部２１０により文章Ｐを符号化した結果と、機械読解部２１０により質問文Ｑを符号化した結果とに基づいて、ベクトルの系列Ｐ３及びＱ３を生成する。
【００９３】
具体的には、入力変換部２２１は、まず、機械読解部２１０の処理によって得られる情報の入力を受け付ける。
【００９４】
入力を受け付ける情報は、４種類に分類することができる。すなわち、（１）文章Ｐの符号化結果であり、かつ、質問文Ｑを考慮した長さＬＰのベクトルの系列（例えば、読解行列Ｂ又はＭ）、（２）質問文Ｑの符号化結果である長さＬＱのベクトル系列（例えば、ベクトルの系列Ｑ２）、（３）回答範囲に関する情報である長さＬＰのベクトル（例えば、推定した始端ｓｄと終端ｓｅ）、（４）文章Ｐと質問文Ｑとの意味的マッチング結果である大きさＬＰ×ＬＱの行列（例えば、アテンション行列Ａ）の４種類を受け付ける。
【００９５】
ここで、受け付ける情報は、必ずしも４種類全てを受け付ける必要はなく、最低限の構成として（１）の１種類（読解行列Ｂ又はＭ）があれば本実施形態の目的を達することができる。（２）、（３）及び（４）は、いずれかのみ、あるいは複数を追加として受け付けても良い。本実施形態では、単純な形式として（１）読解行列Ｂ、及び（２）ベクトルの系列Ｑ２を受け付ける場合を例に説明する。
【００９６】
入力変換部２２１は、受け付けた読解行列Ｂ及びベクトルの系列Ｑ２に基づいて、長さＬＰのベクトルの系列
2020061173.tif 000023
、長さＬＱのベクトルの系列
2020061173.tif 000024
を計算する。
【００９７】
ベクトルの系列Ｐ３及びＱ３の計算方法として、任意のニューラルネットワークを用いることができる。例えば、下記式（６）及び式（７）を用いることができる。
【００９８】
【数６】
2020061173.tif 000025
【００９９】
なお、ｄ３の次元数は、任意に設定することができる。式（６）及び式（７）を用いた場合、Ｑ２との次元を合わせるため、ｄ３＝ｄ２であり、式（６）におけるＲＮＮの出力の次元もｄ３＝ｄ２となる。
【０１００】
そして、入力変換部２２１は、生成したベクトルの系列Ｐ３及びＱ３を、スコア計算部２２２に渡す。
【０１０１】
スコア計算部２２２は、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断する。
【０１０２】
具体的には、スコア計算部２２２は、ベクトルの系列Ｐ３及びＱ３に基づいて、任意の文ペア分類タスクのフレームワークを用いて、質問文Ｑに対する回答がＹｅｓかＮｏかに分類するために用いる判断スコアｋ（０から１の実数）を求める。
【０１０３】
例えば、文ペア分類タスクの１つである含意認識の代表的なモデルであるＥＳＩＭ（参考文献４）のｄｅｃｏｄｅｒ  ＬＳＴＭ後のフレームワークを分類問題に用いることができる。
［参考文献４］Qian Chen, Xiaodan Zhu, Zhenhua Ling, Si Wei, Hui Jiang, Diana Inkpen, "Enhanced LSTM for Natural Language Inference", arXiv:1609.06038, 2017.
【０１０４】
この場合、ベクトルの系列Ｐ３及びＱ３をａｖｅｒａｇｅ  ｐｏｏｌｉｎｇ（列方向の平均を取る操作）、又はｍａｘ  ｐｏｏｌｉｎｇ（列方向の最大値を取る操作）をして、ベクトル
2020061173.tif 000026
を得る。
【０１０５】
得られたベクトルＰａ、Ｑａ、Ｐｍ及びＱｍを結合して、４ｄ３次元のベクトルＪを得る。ベクトルＪを多層パーセプトロンによって、実数（１次元のベクトル）にし、シグモイド変換をして判断スコアｋを得る。
【０１０６】
なお、Ｙｅｓ／Ｎｏの分類問題でなく、Ｙｅｓ、Ｎｏ、又は不明の３つに分類するように構成してもよい。この場合、ベクトルＪを多層パーセプトロンによって３次元のベクトルに変換した後で、ソフトマックス変換したものを判断スコアｋとしてもよい。
【０１０７】
そして、スコア計算部２２２は、判断スコアｋを、パラメータ学習部３００に渡す。
【０１０８】
パラメータ学習部３００は、学習データに含まれる正解Ｙと、判断部２２０により判断された結果とが一致し、学習データに含まれる始端Ｄ及び終端Ｅと、機械読解部２１０により推定された始端ｓｄ及び終端ｓｅとが一致するように、読解モデル及び判断モデルのパラメータを学習する。
【０１０９】
具体的には、パラメータ学習部３００は、機械読解部２１０で用いる読解モデルについての目的関数ＬＣと、判断部２２０で用いる判断モデルについての目的関数ＬＪの線形和を、最適化問題の目的関数とする（下記式（８））。
【０１１０】
【数７】
2020061173.tif 000027
【０１１１】
ここで、λはモデルのパラメータであり、学習器によって学習可能である。λの値を事前に指定する場合、１や１／２等、学習が進むように適当な値を定める。
【０１１２】
目的関数ＬＣは、任意の機械読解技術の目的関数を用いることができる。例えば、非特許文献１では、下記式（９）で表されるクロスエントロピー関数を提案している。
【０１１３】
【数８】
2020061173.tif 000028
【０１１４】
上記式（９）において、Ｄ及びＥは、それぞれ真の始端Ｄ及び終端Ｅの位置を表し、ｓｄ，Ｄは、ベクトルｓｄにおけるＤ番目の要素の値を、ｓｅ，Ｅは、ベクトルｓｅにおけるＥ番目の要素の値を表す。
【０１１５】
目的関数ＬＪも任意の目的関数を用いることができる。例えば、クロスエントロピー関数を用いた場合、下記式（１０）となる。
【０１１６】
【数９】
2020061173.tif 000029
【０１１７】
上記式（１０）において、Ｙは、真の回答の極性を示す正解Ｙであり、正解ＹがＹｅｓである場合、スコアｋＹｅｓ＝ｋ、正解ＹがＮｏである場合、スコアｋＮｏ＝１−ｋである。つまり、正解ＹがＹｅｓの場合ＬＪ＝ｌｏｇ（ｋ）、正解ＹがＮｏの場合ＬＪ＝ｌｏｇ（１−ｋ）となる。
【０１１８】
そして、パラメータ学習部３００は、上記式（８）で表される目的関数の勾配を、誤差逆伝播勾配法を用いて計算し、任意の最適化手法を用いてパラメータを更新する。
【０１１９】
＜本発明の第１の実施の形態に係る回答学習装置の作用＞
図２は、本発明の第１の実施の形態に係る回答学習処理ルーチンを示すフローチャートである。また、以下では本実施形態に係る回答学習装置が、ミニバッチを用いて学習する場合について説明するが、一般的なニューラルネットワークの学習方法を用いてもよい。なお、簡便のため、ミニバッチのサイズを１とする。
【０１２０】
入力部１００に複数の学習データが入力されると、回答学習装置１０において、図２に示す回答学習処理ルーチンが実行される。
【０１２１】
まず、ステップＳ１００において、入力部１００は、文章Ｐと、質問文Ｑと、文章Ｐにおける当該質問文に対する回答の極性を示す正解Ｙと、文章Ｐにおける回答の根拠となる範囲の始端Ｄ及び終端Ｅとを含む複数の学習データの入力を受け付ける。
【０１２２】
ステップＳ１１０において、入力部１００は、ステップＳ１００により受け付けた学習データを、ミニバッチに分割する。ミニバッチとは、複数の学習データをランダムに分割した学習データε個の集合である。εは１以上の自然数である。
【０１２３】
ステップＳ１２０において、単語符号化部２１１は、１番目のミニバッチを選択する。
【０１２４】
ステップＳ１３０において、単語符号化部２１１は、選択されているミニバッチに含まれる文章Ｐ及び質問文Ｑに基づいて、単語ベクトルの系列Ｐ１及びＱ１を生成する。
【０１２５】
ステップＳ１４０において、第１文脈符号化部２１３は、上記ステップＳ１３０により生成された単語ベクトルの系列Ｐ１及びＱ１を、ニューラルネットワークを用いてベクトルの系列Ｐ２及びＱ２にそれぞれ変換する。
【０１２６】
ステップＳ１５０において、アテンション部２１４は、ニューラルネットワークを用いて、ベクトルの系列Ｐ２及びＱ２に基づいて、文章Ｐ及び質問文Ｑのアテンションを表す読解行列Ｂを生成する。
【０１２７】
ステップＳ１６０において、第２文脈符号化部２１５は、上記ステップＳ１５０により生成された読解行列Ｂを、ニューラルネットワークを用いて読解行列Ｍに変換する。
【０１２８】
ステップＳ１７０において、根拠探索部２１６は、読解行列Ｍに基づいて、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【０１２９】
ステップＳ１８０において、入力変換部２２１は、機械読解部２１０により文章Ｐを符号化した結果と、機械読解部２１０により質問文Ｑを符号化した結果とに基づいて、ベクトルの系列Ｐ３及びＱ３を生成する。
【０１３０】
ステップＳ１９０において、スコア計算部２２２は、ベクトルの系列Ｐ３及びＱ３に基づいて、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断する。
【０１３１】
ステップＳ２００において、パラメータ学習部３００は、学習データに含まれる正解Ｙと、判断部２２０により判断された結果とが一致し、学習データに含まれる始端Ｄ及び終端Ｅと、機械読解部２１０により推定された始端ｓｄ及び終端ｓｅとが一致するように、読解モデル及び判断モデルのパラメータを更新する。
【０１３２】
ステップＳ２１０において、パラメータ学習部３００は、全てのミニバッチについて処理を行ったか否かを判定する。
【０１３３】
全てのミニバッチについて処理を行っていない場合の場合（ステップＳ２１０のＮＯ）、ステップＳ２２０において、次のミニバッチを選択し、ステップＳ１３０に戻る
【０１３４】
一方、全てのミニバッチについて処理を行っている場合の場合（ステップＳ２１０のＹＥＳ）、ステップＳ２３０において、パラメータ学習部３００は、学習が収束したか否かについての収束判定を行う。
【０１３５】
学習が収束していない場合（ステップＳ２３０のＮＯ）、ステップＳ１１０に戻り、再度ステップＳ１１０〜ステップＳ２３０までの処理を行う。
【０１３６】
一方、学習が収束している場合（ステップＳ２３０のＹＥＳ）、ステップＳ２４０において、パラメータ学習部３００は、学習したパラメータを、メモリ（図示省略）に格納する。
【０１３７】
なお、ミニバッチのサイズを２以上とする場合、上記ステップＳ１２０の後に、１番目の文章Ｐ及び質問Ｑを選択するステップと、上記ステップＳ２１０の前に、ミニバッチ内の全ての文章Ｐ及び質問Ｑについて処理を行ったか否かを判定し、当該判定結果が否定的な場合に、次の文章Ｐ及び質問Ｑを選択して上記ステップＳ１３０に戻り、当該判定が肯定的な場合に上記ステップＳ２１０に進むステップとを追加する構成とすればよい。
【０１３８】
以上説明したように、本実施形態に係る回答学習装置によれば、文章と、質問文と、当該文章における当該質問文に対する回答の極性を示す正解と、当該文章における回答の根拠となる範囲の始端及び終端とを含む学習データの入力を受け付け、当該文章及び当該質問文に基づいて、当該範囲を推定するための読解モデルを用いて、当該範囲の始端及び終端を推定する処理によって得られる情報に基づいて、質問文に対する回答の極性が正か否かを判断する判断モデルを用いて、当該質問文に対する回答の極性を判断し、学習データに含まれる正解と、判断された結果とが一致し、学習データに含まれる始端及び終端と、推定された始端及び終端とが一致するように、読解モデル及び判断モデルのパラメータを学習することにより、極性で回答することができる質問に対して、精度よく、極性で回答するためのモデルを学習することができる。
【０１３９】
＜本発明の第１の実施の形態に係る回答生成装置の構成＞
図３を参照して、本発明の第１の実施の形態に係る回答生成装置２０の構成について説明する。図３は、本発明の第１の実施の形態に係る回答生成装置２０の構成を示すブロック図である。なお、上述の回答学習装置１０と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１４０】
回答生成装置２０は、ＣＰＵと、ＲＡＭと、後述する回答生成処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図３に示すように、本実施形態に係る回答生成装置２０は、入力部４００と、解析部２００と、出力部５００とを備えて構成される。なお、解析部２００は、回答学習装置１０により学習されたパラメータを用いる。
【０１４１】
入力部４００は、文章Ｐと、質問文Ｑとの入力を受け付ける。
【０１４２】
そして、入力部４００は、受け付けた文章Ｐ及び質問文Ｑを、機械読解部２１０に渡す。
【０１４３】
出力部５００は、機械読解部２１０の根拠探索部２１６により得られた回答範囲スコアを回答の根拠とし、判断部２２０のスコア計算部２２２により得られた判断スコアｋを回答として出力する。
【０１４４】
ここで、出力部５００は、判断スコアｋのＹｅｓのスコア、Ｎｏのスコアのうち、スコアが大きい判断結果を回答として出力する、閾値を超えたスコアの判断結果だけを出力するといった任意の出力形式を選択することができる。
【０１４５】
また、出力部５００は、回答範囲スコアについても同様に、任意の出力形式を選択することができる。回答範囲スコアには始端ｓｄと終端ｓｅとが含まれるので、出力の計算方法として様々な手法を用いることが考えられる。例えば、非特許文献１のように、始端ｓｄが終端ｓｅよりも前になる制約下で、始端ｓｄと終端ｓｅとの積が最大になる範囲の単語列を出力する、といった手法を用いることができる。
【０１４６】
＜本発明の第１の実施の形態に係る回答生成装置の作用＞
図４は、本発明の第１の実施の形態に係る回答生成処理ルーチンを示すフローチャートである。なお、第１の実施の形態に係る回答学習処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
【０１４７】
入力部４００に文章Ｐと、質問文Ｑとが入力されると、回答生成装置２０において、図２に示す回答生成処理ルーチンが実行される。
【０１４８】
ステップＳ３００において、入力部４００は、文章Ｐと、質問文Ｑとの入力を受け付ける。
【０１４９】
ステップＳ４００において、出力部５００は、上記ステップＳ１７０により得られた回答範囲スコアを所定の方法により回答の根拠とし、上記ステップＳ１９０により得られた判断スコアｋを所定の方法により回答として生成する。
【０１５０】
ステップＳ４３０において、出力部５００は、上記ステップＳ４００により得られた全ての回答の根拠及び回答を出力する。
【０１５１】
以上説明したように、本実施形態に係る回答生成装置によれば、入力された文章及び質問文に基づいて、当該文章における当該質問文に対する回答の根拠となる範囲を推定するための読解モデルを用いて、当該範囲の始端及び終端を推定する処理によって得られる情報に基づいて、質問文に対する回答の極性が正か否かを判断するための予め学習された判断モデルを用いて、当該質問文に対する回答の極性を判断することにより、極性で回答することができる質問に対して、精度よく、極性で回答することができる。
【０１５２】
＜本発明の第２の実施の形態に係る回答学習装置の概要＞
人間が自然言語を理解して回答する場合は、自身のもつ経験、常識、及び世界知識を踏まえて、理解した質問に対して回答を推論することができる。例えば、人間が文章を読んでその文章に対する質問に回答をする場合には、文章からだけでなく、自分のもつ経験等から回答を見つけている。しかし、ＡＩの場合は質問の対象となっている文章に含まれている情報だけから回答を推論する必要がある。
【０１５３】
特にＹｅｓ／Ｎｏで答えるべき質問は、質問に答えるために必要な知識が一か所に記載されているとは限らない。例えば、必要な知識が文章内の複数箇所に書いてある場合や世界知識から補わなければならない場合がある。しかし、文章内の複数箇所にある記述や世界知識を組み合わせて考えるためには、テキストの長期の依存関係を理解する必要がある。そのため、Ｙｅｓ／Ｎｏの質問応答を精度よく行うことは難しい。
【０１５４】
そこで、本発明の第２の実施形態では、「Ｙｅｓ又はＮｏで回答することができる質問に対してＹｅｓ又はＮｏで回答する」タスクを精度よく行うために、必要な知識が文章内の複数箇所に書いてある質問や必要な知識を世界知識から補わなければならない質問に注目する。本実施形態では、第１の実施の形態と同様に、回答の極性がＹｅｓ又はＮｏである場合を例に説明する。
【０１５５】
文章内の複数箇所にある記述を組み合わせて考える質問応答は、ニューラルネットワークが苦手とする長期の依存関係の理解を要求するため、難しい質問応答である。本実施形態では、回答に必要な文だけを根拠文として抽出することにより、位置が離れた根拠文同士のマッチングを可能にし、長期の依存関係を理解することを実現する。
【０１５６】
この根拠文の抽出によって、ユーザーはＹｅｓ／Ｎｏの回答だけでなくその根拠となる文を過不足なく確認することが可能となり、解釈性を向上することもできる。
【０１５７】
また、必要な知識を世界知識から補う必要がある質問応答に対しては、必要な知識が書いてあるテキストをＷｅｂでの検索等によって得て、質問対象の文章に繋げた新しい文章に対して質問応答を行うことで実現する。通常、単純に文章を繋げるだけでは、元の文章中の回答に必要な部分と新しく繋げたテキストが離れた箇所にあるためマッチングを取ることが難しい。しかし、本実施形態においては根拠文としてそれらを抽出することによって、根拠文が離れた箇所にある場合であってもマッチングが可能となる。
【０１５８】
＜本発明の第２の実施の形態に係る回答学習装置の構成＞
図５を参照して、本発明の第２の実施の形態に係る回答学習装置３０の構成について説明する。図５は、本発明の第２の実施の形態に係る回答学習装置３０の構成を示すブロック図である。なお、上述の第１の実施の形態に係る回答学習装置１０と同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１５９】
回答学習装置３０は、ＣＰＵと、ＲＡＭと、後述する回答学習処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図５に示すように、本実施形態に係る回答学習装置３０は、入力部１００と、解析部６００と、パラメータ学習部７００とを備えて構成される。
【０１６０】
解析部６００は、機械読解部６１０と、判断部２２０とを備えて構成される。機械読解部６１０は、文章Ｐ及び質問文Ｑに基づいて、文章Ｐにおける回答の根拠となる範囲Ｄ：Ｅを推定するための読解モデルを用いて、当該範囲の始端ｓｄ及び終端ｓｅを推定する。
【０１６１】
具体的には、機械読解部２１０は、単語符号化部２１１と、単語データベース（ＤＢ）２１２と、第１文脈符号化部２１３と、アテンション部２１４と、第２文脈符号化部２１５と、根拠抽出部６１７と、根拠探索部２１６とを備えて構成される。
【０１６２】
根拠抽出部６１７は、機械読解部６１０の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Ｑに対する回答の根拠情報を抽出する。
【０１６３】
具体的には、根拠抽出部６１７は、まず、第２文脈符号化部２１５により変換された読解行列Ｍ（変換前の読解行列Ｂでもよい）を入力とし、ニューラルネットワークを用いて文章Ｐの各文の意味を表すベクトルの系列Ｈを抽出する。根拠抽出部６１７は、例えば、ニューラルネットワークとして、Ｕｎｄｉｒｅｃｔｉｏｎａｌ−ＲＮＮを用いることができる。
【０１６４】
次に、根拠抽出部６１７は、根拠文を１つ抽出する操作を１時刻と定義し、状態ｚｔを抽出モデルのＲＮＮによって生成する。すなわち、根拠抽出部６１７は、時刻ｔ−１に抽出された根拠文に対応するベクトルの系列Ｈの要素
2020061173.tif 000030
を抽出モデルのＲＮＮに入力することにより、状態ｚｔを生成する。ただし、ｓｔ−１は時刻ｔ−１に抽出された根拠文の添字である。また、時刻ｔまでに抽出された文ｓｔの集合をＳｔとする。
【０１６５】
根拠抽出部６１７は、状態ｚｔと、質問文の各単語に対するベクトルｙｊからなるベクトルの系列Ｙとに基づいて、抽出モデルにより、時刻ｔにおける重要性を考慮した質問文ベクトルであるｇｌｉｍｐｓｅベクトルｅｔ（下記式（１３））を、質問文Ｑに対するｇｌｉｍｐｓｅ操作（参考文献５）を行うことで生成する。このように、抽出モデルでは質問文Ｑに対するｇｌｉｍｐｓｅ操作を行うことで、根拠文の抽出結果が質問全体に対応する内容を包含することができる。
［参考文献５］O. Vinyals, S. Bengio and M. Kudlur, “Order matters: Sequence to sequence for sets”, ICLR (2016).
【０１６６】
【数１０】
2020061173.tif 000031
【０１６７】
抽出モデルのＲＮＮの初期値はベクトルの系列Ｈをａｆｆｉｎｅ変換したベクトル系列をｍａｘｐｏｏｌｉｎｇしたベクトルとする。
【０１６８】
根拠抽出部６１７は、状態ｚｔと、ｇｌｉｍｐｓｅベクトルｅｔと、ベクトルの系列Ｈとに基づいて、抽出モデルにより、時刻ｔにおいて下記式（１４）で表される確率分布に従って第δ文を選び、文ｓｔ＝δを、時刻ｔに抽出された根拠文とする。
【０１６９】
【数１１】
2020061173.tif 000032
【０１７０】
そして、根拠抽出部６１７は、抽出した文ｓｔの集合Ｓｔを根拠情報として、根拠探索部２１６及びパラメータ学習部７００に渡す。
【０１７１】
パラメータ学習部７００は、学習データに含まれる正解Ｙと、判断部２２０により判断された結果とが一致し、学習データに含まれる始端Ｄ及び終端Ｅと、機械読解部６１０により推定された始端ｓｄ及び終端ｓｅとが一致し、学習データに含まれる文章Ｐにおける正解の根拠情報と、根拠抽出部６１７により抽出された根拠情報とが一致するように、読解モデル、判断モデル及び抽出モデルのパラメータを学習する。
【０１７２】
具体的には、パラメータ学習部７００は、機械読解部６１０で用いる読解モデルについての目的関数ＬＣと、判断部２２０で用いる判断モデルについての目的関数ＬＪと、根拠抽出部６１７で用いる抽出モデルについての目的関数Ｌｓとの線形和を、最適化問題の目的関数とする（下記式（１５））。
【０１７３】
【数１２】
2020061173.tif 000033
【０１７４】
ここで、λ１、λ２、λ３はハイパーパラメータであり、１／３等の学習が進むように適当な値を定める。また、サンプルによって持つ教師データが異なる場合も、持たないデータに関する項のλを０とすることで一律に扱うことができる。例えば、根拠探索部２１６の出力に対応するデータがないサンプルに対しては、λ１＝０とする。
【０１７５】
目的関数ＬＣ及びＬＪについては、第１の実施の形態と同様である。目的関数Ｌｓは、ｃｏｖｅｒａｇｅ正則化（参考文献６）を行った目的関数である。例えば、目的関数Ｌｓは下記式（１６）のような目的関数を用いることができる。
［参考文献６］A. See, P. J. Liu and C. D. Manning, “Get to the point: ummarization with pointer-generator networks”, ACL, 2017, pp.1073-1083.
【０１７６】
【数１３】
2020061173.tif 000034
【０１７７】
上記式（１６）において、
2020061173.tif 000035
は、正解の根拠情報として与えられた根拠文の集合Ｓｔの中で時刻ｔの抽出確率Ｐ（δ；Ｓｔ−１）が最小の文ｓとし、ｃｔは、ｃｏｖｅｒａｇｅベクトルであり、
2020061173.tif 000036
である。Ｔは終了時刻である。すなわち、ｔ＝Ｔが学習の終了条件となる。このｃｏｖｅｒａｇｅにより、抽出結果を質問全体に対応する内容を包含させることが可能となる。ただし、抽出の終了条件を学習するために、抽出終了ベクトル
2020061173.tif 000037
を学習可能なパラメータとする。文の意味を表すベクトルの系列Ｈに抽出終了ベクトル
2020061173.tif 000038
を加え、文章Ｐの文数ｍを実際の文数＋１とする。Ｔも真の根拠文の数＋１とし、学習時は時刻Ｔ−１までに全ての根拠文を出力した後、時刻Ｔに抽出終了ベクトル
2020061173.tif 000039
を抽出するように学習を行う。テスト時は、抽出終了ベクトルを出力した時点で抽出を終了する。
【０１７８】
そして、パラメータ学習部７００は、上記式（１６）で表される目的関数の勾配を、誤差逆伝播勾配法を用いて計算し、任意の最適化手法を用いて各パラメータを更新する。
【０１７９】
＜本発明の第２の実施の形態に係る回答学習装置の作用＞
図６は、本発明の第２の実施の形態に係る回答学習処理ルーチンを示すフローチャートである。また、以下では本実施形態に係る回答学習装置が、ミニバッチを用いて学習する場合について説明するが、一般的なニューラルネットワークの学習方法を用いてもよい。なお、簡便のため、ミニバッチのサイズを１とする。なお、上述の第１の実施の形態に係る回答学習処理ルーチンと同様の構成については、同一の符号を付して詳細な説明は省略する。
【０１８０】
ステップＳ５５５において、根拠抽出部６１７は、根拠情報抽出処理を実行する。
【０１８１】
ステップＳ６００において、パラメータ学習部７００は、学習データに含まれる正解Ｙと、判断部２２０により判断された結果とが一致し、学習データに含まれる始端Ｄ及び終端Ｅと、機械読解部２１０により推定された始端ｓｄ及び終端ｓｅとが一致し、学習データに含まれる文章Ｐにおける回答の根拠情報と、根拠抽出部６１７により抽出された根拠情報とが一致するように、読解モデル、判断モデル及び抽出モデルのパラメータを学習する。
【０１８２】
図７は、本発明の第２の実施の形態に係る回答学習装置における根拠情報抽出処理ルーチンを示すフローチャートである。根拠抽出部６１７は、根拠情報抽出処理により、機械読解部６１０の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Ｑに対する回答の根拠情報を抽出する。
【０１８３】
ステップＳ５００において、根拠抽出部６１７は、ｔ＝１とする。
【０１８４】
ステップＳ５１０において、根拠抽出部６１７は、根拠文を１つ抽出する操作を１時刻と定義し、時刻ｔにおける状態ｚｔを抽出モデルのＲＮＮによって生成する。
【０１８５】
ステップＳ５２０において、根拠抽出部６１７は、時刻ｔにおける重要性を考慮した質問文ベクトルであるｇｌｉｍｐｓｅベクトルｅｔを、質問文Ｑに対してｇｌｉｍｐｓｅ操作を行うことにより生成する。
【０１８６】
ステップＳ５３０において、根拠抽出部６１７は、時刻ｔにおいて上記式（１４）で表される確率分布に従って第δ文を選び、文ｓｔ＝δとする。
【０１８７】
ステップＳ５４０において、根拠抽出部６１７は、終了条件を満たしているか否かを判定する。
【０１８８】
終了条件を満たしていない場合（上記ステップＳ５４０のＮＯ）、根拠抽出部６１７は、ステップＳ５５０においてｔに１を加算し、ステップＳ５１０に戻る。一方、終了条件を満たしている場合（上記ステップＳ５４０のＹＥＳ）、根拠抽出部６１７は、リターンする。
【０１８９】
以上説明したように、本実施形態に係る回答学習装置によれば、機械読解部の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文に対する回答の根拠情報を抽出し、学習データに含まれる文章における回答の根拠情報と、根拠抽出部により抽出された根拠情報とが一致するように、抽出モデルのパラメータを学習することにより、極性で回答することができる質問に対して、更に精度よく、極性で回答するためのモデルを学習することができる。
【０１９０】
＜本発明の第２の実施の形態に係る回答生成装置の構成＞
図８を参照して、本発明の第２の実施の形態に係る回答生成装置４０の構成について説明する。図８は、本発明の第２の実施の形態に係る回答生成装置４０の構成を示すブロック図である。なお、上述の回答学習装置３０と同様の構成については、同一の符号を付して詳細な説明は省略する。回答生成装置４０は、ＣＰＵと、ＲＡＭと、後述する回答生成処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図８に示すように、第２の実施形態に係る回答生成装置４０は、入力部４００と、解析部６００と、出力部８００とを備えて構成される。
【０１９１】
出力部８００は、判断部２２０により判断された回答の極性と、根拠抽出部６１７により抽出された根拠情報とを回答として出力する。
【０１９２】
＜本発明の第２の実施の形態に係る回答生成装置の作用＞
図９は、本発明の第２の実施の形態に係る回答生成処理ルーチンを示すフローチャートである。なお、第１の実施の形態に係る回答生成処理ルーチン及び第２の実施の形態に係る回答学習処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
【０１９３】
ステップＳ７００において、出力部８００は、上記ステップＳ４００により得られた全ての回答の根拠及び回答、及び上記ステップＳ５５５により得られた根拠情報を出力する。
【０１９４】
＜本発明の第２の実施の形態に係る回答生成装置の実施例＞
次に、第２の実施の形態に係る回答生成装置の実施例について説明する。本実施例では、回答生成装置の各部の構成として、図１０に示した構成を用いる。具体的には、判断部２２０は、ＲＮＮと線形変換とを用いて構成され、Ｙｅｓ／Ｎｏ／抽出型の回答の何れかで答えるかを判断し、Ｙｅｓ／Ｎｏ／抽出型の回答の３値の何れかを出力とする。また、根拠探索部２１６は、ＲＮＮと線形変換との組を２つ用いて構成され、一方の組は回答の終点、他方の組は回答の始点を出力とする。根拠抽出部６１７は、ＲＮＮと抽出モデル６１７Ａとを用いて構成される。第２文脈符号化部２１５は、ＲＮＮとセルフアテンションとを用いて構成され、アテンション部２１４は、双方向アテンションにより構成される。
【０１９５】
第１文脈符号化部２１３は、２つのＲＮＮを用いて構成され、単語符号化部２１１は、単語埋め込みと文字埋め込みとの組を２つ用いて構成される。
【０１９６】
また、抽出モデル６１７Ａの構成として、図１１に示す構成を用いている。この構成は、参考文献７に提案されている抽出型文章要約モデルをベースとしている。
［参考文献７］Y.C. Chen and M. Bansal, “Fast abstractive summarization with reinforce-selected sentence rewriting”, ACL, 2018, pp.675-686.
【０１９７】
参考文献７の手法は、要約元文章に注意しながら要約元文章中の文を抽出する手法であるが、本実施例では質問文Ｑに注意しながら文章Ｐ中の文を抽出する。抽出モデル６１７Ａでは、質問文Ｑに対するｇｌｉｍｐｓｅ操作を行うことで、抽出結果が質問全体に対応する内容を包含することを意図している。
【０１９８】
＜本発明の第２の実施の形態に係る回答生成装置の実施例における実験結果＞
次に、第２の実施の形態に係る回答生成装置の実施例における実験結果について説明する。
【０１９９】
＜＜実験設定＞＞
実験はＧＰＵに、”ＮＶＩＤＩＡ  Ｔｅｓｌａ  Ｐ１００（株式会社エルザジャパン製）”を４枚用いて行った。実装にはＰｙｔｏｒｃｈを用いた。Ｂｉ−ＲＮＮの出力の次元をｄ＝３００で統一した。ｄｒｏｐｏｕｔのｋｅｅｐ  ｒａｔｉｏは０．８とした。バッチサイズを７２、学習率を０．００１とした。上記以外の設定はベースラインモデルと同じ設定である。抽出モデル６１７ＡはＲＮＮにＧＲＵを用いた、ベクトルの初期化を正規分布で、行列の初期化をｘａｖｉｅｒ  ｎｏｒｍａｌ分布で行った。デコード時のｂｅａｍ  ｓｉｚｅを２とした。
【０２００】
また、ベースラインモデルとして、本実施例に係る回答生成装置の構成（図１０）のうち、抽出モデル６１７Ａをａｆｆｉｎｅ変換とｓｉｇｍｏｉｄ関数により各文の根拠スコアを得るモデルに変更したモデルを用いた。
【０２０１】
本実験では、回答タイプＴ・回答Ａ・根拠文Ｓの予測精度を評価した。ここで、回答タイプＴは、ＨｏｔｐｏｔＱＡのタスク設定における「Ｙｅｓ・Ｎｏ・抽出」の３ラベルから構成される。回答、根拠文抽出ともに完全一致（ＥＭ）と部分一致を評価した。部分一致の指標は適合率と再現率の調和平均（Ｆ１）である。回答は、回答タイプＴの一致で評価し、抽出の場合は回答Ａの一致でも評価する。根拠文抽出の部分一致については抽出された文のｉｄの真の根拠文ｉｄへの一致で測った。そのため、単語レベルでの部分一致は考慮されない。回答タイプに関して、「Ｙｅｓ・Ｎｏ」質問に限定したときの回答精度をＹＮと記した。また、回答と根拠の精度双方を考慮した指標としてｊｏｉｎｔ  ＥＭ及びｊｏｉｎｔ  Ｆ１（参考文献８）を用いる。
［参考文献８］Z. Yang, P. Qi, S. Zhang, Y. Bengio, W. W. Cohen, R. Salakhutdinov and C. D. Manning, “HotpotQA: A dataset for diverse, explainable multi-hop question answering”, EMNLP, 2018, pp.2369-2380.
【０２０２】
本実験では、ｄｉｓｔｒａｃｔｏｒ設定とｆｕｌｌｗｉｋｉ設定との場合について行う。ｄｉｓｔｒａｃｔｏｒ設定は、大量のテキストを質問に関連する少量のテキストに絞ることが既存技術によって可能であるという仮定を置いた設定である。また、ｆｕｌｌｗｉｋｉ設定は、ＴＦ−ＩＤＦ類似度検索によって少量テキストへの絞り込みを行った設定である。
【０２０３】
＜＜実験結果＞＞
テストデータにおける実験結果は、ｄｉｓｔｒａｃｔｏｒ設定の結果を表１に、ｆｕｌｌｗｉｋｉ設定の結果を表２に示す。
【０２０４】
【表１】
2020061173.tif 000040
【０２０５】
【表２】
2020061173.tif 000041
【０２０６】
ｄｉｓｔｒａｃｔｏｒ設定、ｆｕｌｌｗｉｋｉ設定共に、本実施例はベースラインモデルを大きく上回り、ｓｔａｔｅ−ｏｆ−ｔｈｅ−ａｒｔの精度を達成した。特に根拠文の完全一致はｄｉｓｔｒａｃｔｏｒ設定で３７．５ポイント（＋１８５％）、ｆｕｌｌｗｉｋｉ設定で１０．３ポイント（＋２６８％）と大きく向上している。そのため、本実施例は根拠文を過不足なく抽出することに秀でた手法であると言える。開発データでのｄｉｓｔｒａｃｔｏｒ設定における実験結果を表３に示す。
【０２０７】
【表３】
2020061173.tif 000042
【０２０８】
開発データでのベースラインモデルは我々の追実験によって訓練されたため、精度がテストデータでの数値と大きく異なっている。これはハイパーパラメータの違いに起因する。まず、本実施例はベースラインモデルを根拠文抽出のＥＭで２４．５ポイント上回っている。Ｆ１でも６．７ポイントの向上が見られる。さらに、回答でもＥＭで１．０ポイント、Ｆ１で１．４ポイントの上昇がある。特に「Ｙｅｓ・Ｎｏ」の判断精度については、５．６ポイント向上している。べースラインモデルと本実施例とでは、抽出モデル６１７Ａ以外は全て同じモデルを用いている。それにも関わらず「Ｙｅｓ・Ｎｏ」の判断精度が向上していることは、抽出モデル６１７Ａとのマルチタスク学習が下層のＲＮＮを回答にも資する特徴量を獲得するように訓練できると解釈できる。結果として、Ｊｏｉｎｔ指標でも精度が向上している。比較手法として、ｇｌｉｍｐｓｅ操作を用いずにＲＮＮによる文抽出だけを行う手法を実験したが、全ての指標で本実施例が上回ることを確認した。
【０２０９】
開発データでのｆｕｌｌｗｉｋｉ設定における実験結果を表４に示す。
【０２１０】
【表４】
2020061173.tif 000043
【０２１１】
本実施例はベースラインモデルを根拠のＥＭで６．５ポイント上回っているが、Ｆ１ではベースラインモデルを下回っている。回答ではＥＭで０．９ポイント、Ｆ１で０．８ポイントの上昇がある。特に「Ｙｅｓ・Ｎｏ」の判断精度については、３．０ポイント向上している。そのため、やはり抽出モデル６１７Ａによって下層のＲＮＮの学習が進んでいると解釈できる。結果として、Ｊｏｉｎｔ指標でも精度が向上している。また、本実施例がｇｌｉｍｐｓｅ操作を用いない手法と比較して全ての指標で上回っていることを確認した。
【０２１２】
以上の結果から、少量の関連テキストの中から特に必要な文を検索することについては、ｄｉｓｔｒａｃｔｏｒ設定では部分一致で８４．７％の精度を達成したこと、及び必要な文を使って「Ｙｅｓ・Ｎｏ」の判断精度を上げることについては、５．６ポイントの精度の向上が観察できた。
【０２１３】
以上説明したように、本実施形態に係る回答生成装置によれば、機械読解部の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、前記質問文に対する回答の根拠情報を抽出し、判断された回答の極性と、抽出された根拠情報とを回答として出力することにより、極性で回答することができる質問に対して、更に精度よく、極性で回答することができる。
【０２１４】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０２１５】
上述の実施形態では、機械読解部２１０により文章Ｐを符号化した結果と、機械読解部２１０により質問文Ｑを符号化した結果とに基づいて、ベクトルの系列Ｐ３及びＱ３を生成したが、機械読解部２１０により推定された回答の根拠となる範囲の始端ｓｄ及び終端ｓｅの少なくとも一方、又は文章Ｐと質問文Ｑとの関係性を表すアテンション行列Ａを更に入力として、質問文Ｑに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Ｑに対する回答の極性を判断してもよい。
【０２１６】
この場合、第２文脈符号化部２１５は、変換した読解行列Ｍを、根拠探索部２１６は、推定した回答範囲スコアを、それぞれ入力変換部２２１に渡す。
【０２１７】
例えば、入力変換部２２１は、ベクトルの系列Ｐ３の計算方法として、下記式（１７）や、式（１８）を用いることができる。
【０２１８】
【数１４】
2020061173.tif 000044
【０２１９】
ただし，Ｌｉｎｅａｒ（）は線形変換を示す。
【０２２０】
また、例えば、入力変換部２２１は、ベクトルの系列Ｑ３の計算方法として、下記式（１９）を用いることができる。
【０２２１】
【数１５】
2020061173.tif 000045
【０２２２】
同様の操作をアテンション行列ＡＴ、ベクトルの系列Ｐに対して行い、得られたベクトル系列を、ベクトルの系列Ｑ３としてもよく、得られたベクトル系列にベクトルの系列Ｑ２を結合したものとしてもよい。
【０２２３】
このようなバリエーションによって、入力変換部２２１で必要な変数が決定する。
【０２２４】
また、タスク特有の問題に対処するため、スコア計算部２２２は、文ペア分類タスクの既存フレームワークに工夫を加えたものを用いることができる。
【０２２５】
例えば、上記ＥＳＩＭのフレームワークを用いた場合に、以下の工夫を用いることができる。
【０２２６】
＜＜工夫１＞＞
文章Ｐが文ではなく、文章であるので、文ペア分類タスクに比べて系列の長さＬＰが大きくなってしまう。この問題に対処するため、ｍａｘ  ｐｏｏｌｉｎｇ、ａｖｅｒａｇｅ  ｐｏｏｌｉｎｇをより長い系列向きの手法に置き換える。
【０２２７】
具体的には、ベクトルの系列Ｑ３を、ＬＳＴＭに入力したときのＬＳＴＭの出力の最終状態を使う手法や、ａｔｔｅｎｔｉｖｅ  ｐｏｏｌｉｎｇ（列方向の重み付き平均を取る操作であり、重みとしてベクトルの系列Ｐ３の線形変換や推定した始端ｓｄ、終端ｓｅ等を用いる）に置き換えることができる。
【０２２８】
＜＜工夫２＞＞
文ペア分類タスクに比べて、上記実施形態の分類対象となるベクトルの系列Ｐ３は、文章Ｐの情報だけでなく、質問文Ｑの情報も豊富に含んでいる傾向がある。そのため、スコア計算部２２２においてベクトルの系列Ｑ３を用いず、ベクトルの系列Ｐ３のみを用いてベクトルＪを求めてもよい。
【０２２９】
この場合、入力変換部２２１が受け付ける情報は、（１）読解行列Ｂのみとすることができる。また、ベクトルの系列Ｐ３への変換は、上記式（６）を用いる。このとき、Ｊの定義は、
2020061173.tif 000046
である。
【０２３０】
また、回答学習装置１０は、入力された質問文Ｑが、「Ｙｅｓ又はＮｏで答えることができる質問」なのか否かを判定する質問判定部を更に備える構成としてもよい。
【０２３１】
質問判定部の判定方法については、ルールベースや、機械学習による判定など、従来手法を用いればよい。この場合、質問判定部の判定の結果、「Ｙｅｓ又はＮｏで答えることができる質問ではない」と判定された時には、判断部２２０からの出力（Ｙｅｓ／Ｎｏ）を行わない、すなわち、機械読解部２１０からの出力のみを行うように構成することもできる。
【０２３２】
このように、質問判定部を備えることにより、判断部２２０の出力がＹｅｓ／Ｎｏの２値の場合、ＹｅｓかＮｏかで答えることが不適切な場合に、ＹｅｓかＮｏかで答えてしまう事を防ぐことができる。また、学習データからＹｅｓかＮｏかで答えることが不適切な質問を除外でき、より適切な学習を行うことができる。
【０２３３】
また、判断部２２０の出力がＹｅｓ／Ｎｏ／不明の３値である場合、「不明」となった場合の意味合いが、より明確となる。質問判定部を備えていない場合、「不明」の意味は、「Ｙｅｓ又はＮｏで答えることが不適切な質問である」、又は「（文章Ｐに回答の根拠となる記載がない等の理由で）分からない」の２つが混在してしまうが、質問判定部による判定を行えば、「不明」の意味は後者に絞ることができる。
【０２３４】
また、当該質問判定部は、回答生成装置２０に備えることもできる。回答生成装置２０は、質問判定部を備えることにより、判断部２２０の出力がＹｅｓ／Ｎｏの２値の場合、ＹｅｓかＮｏかで答えることが不適切な場合に、ＹｅｓかＮｏかで答えてしまう事を防ぐことができる。
【０２３５】
また、本実施形態は、回答が、Ｙｅｓ／Ｎｏの何れであるかを判断する判断モデルを用いる場合を例に説明したが、これに限定されるものではなく、判断モデルが、回答が、Ｙｅｓ／Ｎｏ／抽出型の回答の何れかであるかを判断し、抽出型の回答である場合に、出力部が、抽出型の回答として、根拠抽出部６１７により出力された根拠文、又は根拠探索部２１６により出力された回答の根拠の範囲を出力してもよい。
【０２３６】
また、上述の実施形態では、回答の極性を、Ｙｅｓ又はＮｏである場合を例に説明したが、これに限定されるものではなく、回答の極性を、例えば、ＯＫ又はＮＧとしてもよい。
【０２３７】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【０２３８】
１０、３０    回答学習装置
２０、４０    回答生成装置
１００ 入力部
２００、６００       解析部
２１０、６１０       機械読解部
２１１ 単語符号化部
２１３ 第１文脈符号化部
２１４ アテンション部
２１５ 第２文脈符号化部
２１６ 根拠探索部
２２０ 判断部
２２１ 入力変換部
２２２ スコア計算部
３００、７００       パラメータ学習部
４００ 入力部
５００、８００       出力部
６１７ 根拠抽出部
【図１】
2020061173.tif 000047
【図２】
2020061173.tif 000048
【図３】
2020061173.tif 000049
【図４】
2020061173.tif 000050
【図５】
2020061173.tif 000051
【図６】
2020061173.tif 000052
【図７】
2020061173.tif 000053
【図８】
2020061173.tif 000054
【図９】
2020061173.tif 000055
【図１０】
2020061173.tif 000056
【図１１】
2020061173.tif 000057