(57)【要約】      （修正有）【課題】質問に対する高い回答精度を実現する質問生成装置、質問生成方法及びプログラムを提供する。【解決手段】質問生成装置は、質問文と、該質問文に対する回答が含まれる関連文書とを入力とし、予め学習済みの機械学習モデルを用いて、前記質問文の潜在的に欠損している部分を、所定の語彙集合に含まれる単語で補った改訂質問文を生成する生成手段、を有する。生成手段は、質問文に含まれる各単語と、関連文書に含まれる各単語との一致関係を表すマッチング情報を生成する照合手段と、照合手段により生成されたマッチング情報を用いて、語彙集合の中から、改訂質問文を構成する各単語を生成することで、前記改訂質問文を生成する質問復元手段と、を有する。【選択図】図１
2019215841.tif 000002
【特許請求の範囲】
【請求項１】
質問文と、該質問文に対する回答が含まれる関連文書とを入力とし、予め学習済みの機械学習モデルを用いて、前記質問文の潜在的に欠損している部分を、所定の語彙集合に含まれる単語で補った改訂質問文を生成する生成手段、
を有することを特徴とする質問生成装置。
【請求項２】
前記生成手段は、
前記質問文に含まれる各単語と、前記関連文書に含まれる各単語との一致関係を表すマッチング情報を生成する照合手段と、
前記照合手段により生成されたマッチング情報を用いて、前記語彙集合の中から、前記改訂質問文を構成する各単語を生成することで、前記改訂質問文を生成する質問復元手段と、
を有することを特徴とする請求項１に記載の質問生成装置。
【請求項３】
前記質問復元手段は、
前記改訂質問文を構成する各単語それぞれを、前記語彙集合に含まれる単語の中から生成する第１の確率と、前記関連文書に含まれる単語の中から生成する第２の確率との加重平均によって表される第３の確率により生成する、ことを特徴とする請求項２に記載の質問生成装置。
【請求項４】
前記改訂質問文は、前記質問文の潜在的に欠損している部分を、前記語彙集合に含まれる単語と前記関連文書に含まれる単語とで補った文である、ことを特徴とする請求項１乃至３の何れか一項に記載の質問生成装置。
【請求項５】
前記生成手段は、
前記質問文が入力されると、前記質問文と、該質問文に対する回答が含まれる関連文書の集合とに基づき、前記集合に含まれる関連文書それぞれに対応する前記改訂質問文と、前記関連文書と前記改訂質問文との対応情報とを生成する、ことを特徴とする請求項１乃至４の何れか一項に記載の質問生成装置。
【請求項６】
前記生成手段は、
生成した改訂質問文を入力とし、該改訂質問文の潜在的に欠損している部分を補った改訂質問文を生成することを繰り返し実行する、ことを特徴とする請求項１乃至４の何れか一項に記載の質問生成装置。
【請求項７】
前記生成手段は、
前記質問文に対する回答候補と、該回答候補が回答に対応する前記改訂質問文とを生成する、ことを特徴とする請求項１に記載の質問生成装置。
【請求項８】
前記生成手段は、
前記質問文に含まれる各単語と、前記関連文書に含まれる各単語との一致関係を表すマッチング情報を生成する照合手段と、
前記マッチング情報を用いて、前記回答候補を生成する機械読解手段と、
前記回答候補と、前記マッチング情報とを用いて、前記語彙集合の中から、前記改訂質問文を構成する各単語を生成することで、前記改訂質問文を生成する改訂質問生成手段と、
を有することを特徴とする請求項７に記載の質問生成装置。
【請求項９】
質問文と、該質問文に対する回答が含まれる関連文書とを入力とし、前記質問文の一部分を欠損させた欠損質問文を生成する第１の生成手段と、
ニューラルネットワークモデルを用いて、前記欠損質問文を、所定の語彙集合に含まれる単語で復元した復元質問文を生成する第２の生成手段と、
前記第２の生成手段により生成された復元質問文と、前記質問文との誤差を用いて、前記ニューラルネットワークモデルのパラメータを更新する学習手段と、
を有することを特徴とする質問生成装置。
【請求項１０】
前記学習手段は、
前記質問文に対する回答の正解と、前記質問文に対する回答との誤差を更に用いて、前記ニューラルネットワークモデルのパラメータを更新する、ことを特徴とする請求項９に記載の質問生成装置。
【請求項１１】
質問文と、該質問文に対する回答が含まれる関連文書とを入力とし、予め学習済みの機械学習モデルを用いて、前記質問文の潜在的に欠損している部分を、所定の語彙集合に含まれる単語で補った改訂質問文を生成する生成手順、
をコンピュータが実行することを特徴とする質問生成方法。
【請求項１２】
コンピュータを、請求項１乃至１０の何れか一項に記載の質問生成装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、質問生成装置、質問生成方法及びプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやスマートスピーカ等のデバイス上で、ユーザが自然言語で入力した質問に対する回答をコンピュータが自動で行う質問応答技術が注目を集めている。このような質問応答技術として、自然言語で入力された質問に対して、同じく自然言語で記述された文書内から回答となる部分を抽出する機械読解型の質問応答技術が知られている（例えば、非特許文献１参照）。
【０００３】
機械読解型の質問応答技術では、ニューラルネットワークを用いて、質問と、マニュアル等の文書に記述されている回答部分との照合を行っており、人と同等以上の回答精度を達成できることが知られている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】M. Seo, A. Kembhavi, A. Farhadi, and H. Hajishirzi. 2017. Bidirectional attention flow for machine comprehension. In ICLR.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、機械読解型の質問応答技術において高い回答精度を達成するためには、質問内容が明確であり、かつ、回答に必要な情報が不足なく質問に含まれている必要がある。しかしながら、機械読解型の質問応答技術を用いた実際のサービスでは、質問内容が曖昧であったり、質問文が短すぎたりする場合がある。このような場合、質問に対する回答が一意に決定できなかったり、回答内容を間違えたりする可能性があり、高い回答精度が達成できないことがある。
【０００６】
本発明の一実施形態は、上記の点に鑑みてなされたもので、質問に対する高い回答精度を実現することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一実施形態における質問生成装置は、質問文と、該質問文に対する回答が含まれる関連文書とを入力とし、予め学習済みの機械学習モデルを用いて、前記質問文の潜在的に欠損している部分を、所定の語彙集合に含まれる単語で補った改訂質問文を生成する生成手段、を有することを特徴とする。
【発明の効果】
【０００８】
質問に対する高い回答精度を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第一の実施形態における改訂質問生成時の質問生成装置の機能構成の一例を示す図である。
【図２】本発明の第一の実施形態における学習時の質問生成装置の機能構成の一例を示す図である。
【図３】本発明の第一の実施形態における質問生成装置のハードウェア構成の一例を示す図である。
【図４】本発明の第一の実施形態における改訂質問の生成処理の一例を示すフローチャートである。
【図５】本発明の第一の実施形態における改訂質問生成モデルをニューラルネットワークで実現した場合の一例を示す図である。
【図６】本発明の第一の実施形態における改訂質問生成モデルの学習処理の一例を示すフローチャートである。
【図７】本発明の第一の実施形態における改訂質問生成モデルをニューラルネットワークで実現した場合の変形例（その１）を示す図である。
【図８】本発明の第一の実施形態における改訂質問生成モデルをニューラルネットワークで実現した場合の変形例（その２）を示す図である。
【図９】本発明の第一の実施形態における改訂質問生成時の質問生成装置の機能構成の変形例を示す図である。
【図１０】チャットボットへの応用例（その１）を示す図である。
【図１１】チャットボットへの応用例（その２）を示す図である。
【図１２】本発明の第二の実施形態における改訂質問の一例を説明するための図である。
【図１３】本発明の第二の実施形態における改訂質問生成時の質問生成装置の機能構成の一例を示す図である。
【図１４】本発明の第二の実施形態における学習時の質問生成装置の機能構成の一例を示す図である。
【図１５】本発明の第二の実施形態における改訂質問の生成処理の一例を示すフローチャートである。
【図１６】本発明の第二の実施形態における改訂質問生成モデルをニューラルネットワークで実現した場合の一例を示す図である。
【図１７】本発明の第二の実施形態における改訂質問生成モデルの学習処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の各実施形態について、図面を参照しながら詳細に説明する。以降では、機械読解型の質問応答技術を用いた質問応答の回答精度を高めることを目的として、入力された質問（以降、単に「入力質問」とも表す。）の改訂質問（ＲＱ：Revised Question）を生成する質問生成装置１００について説明する。改訂質問とは、入力質問の質問内容を補強した、より具体的な内容の質問文のことである。すなわち、改訂質問とは、質問内容が明確であり、かつ、回答に必要な情報が不足なく含まれている質問のことである。
【００１１】
質問に対する回答を生成及び応答するタスク（質問応答タスク）の前に、当該質問の改訂質問を生成した上で、当該改訂質問を用いた質問応答タスクを行うことで、質問応答の回答精度を高めることができるようになる。
【００１２】
なお、以下で説明する各実施形態は一例に過ぎず、本発明を適用可能な形態は、以下の各実施形態に限定されない。本発明の各実施形態に係る技術は、例えば、ユーザが自然言語で入力した質問に対する回答を提供するサービス等に利用可能であるが、利用対象はこれに限られず、様々な対象に利用可能である。
【００１３】
［第一の実施形態］
まず、本発明の第一の実施形態について説明する。
【００１４】
（概要）
本発明の第一の実施形態では、入力質問と、この入力質問に関連する文書（以降、「関連文書」とも表す。）とが与えられた場合に、質問生成装置１００が、改訂質問を生成する機械学習モデル（以降、「改訂質問生成モデル」とも表す。）を用いて、当該入力質問の改訂質問を生成する。
【００１５】
より具体的には、本発明の第一の実施形態では、改訂質問生成モデルにより、入力質問と関連文書とのマッチングを行って、入力質問の潜在的に欠損した部分（単語や文節等の文字列）を補うことで、改訂質問を生成する。これにより、例えば、質問内容が曖昧な入力質問や質問文が短すぎる入力質問が与えられた場合に、入力質問よりも詳細化・具体化した改訂質問が生成される。また、このとき、関連文書を用いて改訂質問が生成されることにより、例えば、質問応答タスクを行うシステムが回答可能な改訂質問を生成することができる（言い換えれば、質問応答タスクを行うシステムが回答不能な改訂質問は生成されないようにすることができる。）。
【００１６】
また、本発明の第一の実施形態では、正解データとして用いる入力質問と、この入力質問の一部を欠損させた質問（これを「欠損質問」とも表す。）と、関連文書とを用いて、改訂質問生成モデルを学習する。この学習では、欠損質問と関連文書とを用いて得られる自然文が、正解データである入力質問に近付くように改訂質問生成モデルのパラメータを更新する。欠損質問とは、入力された関連文書に関する質問文として、必要な情報（単語や文節等の文字列）が一部欠けている質問文のことである。なお、自然文とは、自然言語で記述された文のことである。
【００１７】
ここで、本発明の第一の実施形態では、入力質問は、自然言語で記述された文（すなわち、自然文）であり、例えば形態素解析等を行うことによってＪ個の単語トークンの集合Ｑ＝｛ｑ０，ｑ１，・・・，ｑＪ−１｝と表されるものとする。なお、入力質問となる文は自然文以外にも、例えば、単にキーワードを列挙しただけの文でも良い。また、音声認識結果として得られた文等であっても良い。
【００１８】
また、関連文書は、例えば数百語程度の単語から構成された文であり、Ｔ個の単語トークンの集合Ｘ＝｛ｘ０，ｘ１，・・・，ｘＴ−１｝と表されるものとする。ここで、関連文書には、入力質問に対する回答となる情報が含まれるものとする。関連文書としては、例えば、入力質問に対する回答が記述されたマニュアル等が挙げられる。なお、本発明の第一の実施形態では、関連文書をパッセージ（Passage）とも称する。
【００１９】
また、改訂質問は、入力質問が詳細化・具体化された文であり、Ｓ個の単語トークンの集合ＲＱ＝｛ｙ０，ｙ１，・・・，ｙＳ−１｝と表されるものとする。
【００２０】
（質問生成装置１００の機能構成）
まず、本発明の第一の実施形態における改訂質問生成時の質問生成装置１００の機能構成について、図１を参照しながら説明する。図１は、本発明の第一の実施形態における改訂質問生成時の質問生成装置１００の機能構成の一例を示す図である。
【００２１】
図１に示すように、本発明の第一の実施形態における改訂質問生成時の質問生成装置１００は、改訂質問生成部２００を有する。改訂質問生成部２００は、学習済みの改訂質問生成モデル（すなわち、後述する改訂質問生成モデル学習部４００によって更新されたパラメータを用いた改訂質問生成モデル）により実現される。
【００２２】
改訂質問生成部２００は、質問（入力質問）と関連文書とを入力して、改訂質問を生成及び出力する。より具体的には、改訂質問生成部２００は、入力質問を欠損質問と見做した上で、関連文書を用いて、欠損する前の質問文を復元することで、改訂質問を生成する。
【００２３】
ここで、改訂質問生成部２００には、照合部２１０と、質問復元部２２０とが含まれる。照合部２１０は、入力質問と関連文書とのマッチング情報を生成する。マッチング情報とは、入力質問に含まれる各単語と関連文書に含まれる各単語との一致関係を表す情報である。質問復元部２２０は、照合部２１０が生成したマッチング情報と、入力質問と、関連文書とを用いて、入力質問が、欠損する前の質問文となるように自然文を生成（復元）する。質問復元部２２０により生成された自然文が改訂質問となる。
【００２４】
次に、本発明の第一の実施形態における学習時の質問生成装置１００の機能構成について、図２を参照しながら説明する。図２は、本発明の第一の実施形態における学習時の質問生成装置１００の機能構成の一例を示す図である。
【００２５】
図２に示すように、本発明の第一の実施形態における学習時の質問生成装置１００は、欠損質問作成部３００と、改訂質問生成モデル学習部４００とを有する。
【００２６】
欠損質問作成部３００は、質問（入力質問）を入力して、入力質問の一部を欠損させることで、欠損質問を作成する。
【００２７】
改訂質問生成モデル学習部４００は、欠損質問作成部３００が作成した欠損質問と、入力質問と、関連文書とを用いて、改訂質問生成モデルを学習する。そして、改訂質問生成モデル学習部４００は、学習済みの改訂質問生成モデルのパラメータを出力する。
【００２８】
ここで、改訂質問生成モデル学習部４００には、照合部２１０と、質問復元部２２０と、パラメータ更新部４１０とが含まれる。照合部２１０及び質問復元部２２０は、上述した通りである。パラメータ更新部４１０は、質問復元部２２０が生成した自然文（改訂質問）と、入力質問との誤差を算出した上で、この誤差を用いて、任意の最適化方法により改訂質問生成モデルのパラメータ（学習済みでない改訂質問生成モデルパラメータ）を更新する。パラメータ更新部４１０によりパラメータが更新されることで、改訂質問生成モデルが学習される。
【００２９】
本発明の第一の実施形態では、改訂質問生成モデルは、ニューラルネットワークで実現された機械学習モデルであるものとする。ただし、改訂質問生成モデルの全部又は一部が、ニューラルネットワーク以外の機械学習モデルで実現されていても良い。例えば、照合部２１０及び質問復元部２２０のうちの少なくとも一方の機能部が、ニューラルネットワーク以外の機械学習モデルで実現されていても良い。
【００３０】
（質問生成装置１００のハードウェア構成）
次に、本発明の第一の実施形態における質問生成装置１００のハードウェア構成について、図３を参照しながら説明する。図３は、本発明の第一の実施形態における質問生成装置１００のハードウェア構成の一例を示す図である。
【００３１】
図３に示すように、本発明の第一の実施形態における質問生成装置１００は、入力装置５０１と、表示装置５０２と、外部Ｉ／Ｆ５０３と、ＲＡＭ（Random Access Memory）５０４と、ＲＯＭ（Read Only Memory）５０５と、演算装置５０６と、通信Ｉ／Ｆ５０７と、補助記憶装置５０８とを有する。これら各ハードウェアは、それぞれがバスＢを介して通信可能に接続されている。
【００３２】
入力装置５０１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置５０２は、例えばディスプレイ等であり、質問生成装置１００の処理結果（例えば、改訂質問等）を表示する。なお、質問生成装置１００は、入力装置５０１及び表示装置５０２の少なくとも一方を有していなくても良い。
【００３３】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａ等がある。質問生成装置１００は、外部Ｉ／Ｆ５０３を介して、記録媒体５０３ａ等の読み取りや書き込み等を行うことができる。記録媒体５０３ａには、質問生成装置１００が有する各機能部を実現する１以上のプログラム等が記録されていても良い。
【００３４】
記録媒体５０３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００３５】
ＲＡＭ５０４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ５０５には、例えば、ＯＳ（Operating System）に関する設定や通信ネットワークに関する設定等が格納されている。
【００３６】
演算装置５０６は、例えば、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）等であり、ＲＯＭ５０５や補助記憶装置５０８等からプログラムやデータをＲＡＭ５０４上に読み出して処理を実行する。質問生成装置１００が有する各機能部は、例えば、補助記憶装置５０８に格納されている１以上のプログラムが演算装置５０６に実行させる処理により実現される。なお、質問生成装置１００は、演算装置５０６としてＣＰＵとＧＰＵとの両方を有していても良いし、ＣＰＵ又はＧＰＵのいずれか一方のみを有していても良い。
【００３７】
通信Ｉ／Ｆ５０７は、質問生成装置１００を通信ネットワークに接続するためのインタフェースである。質問生成装置１００が有する各機能部を実現する１以上のプログラムは、通信Ｉ／Ｆ５０７を介して、所定のサーバ装置等から取得（ダウンロード）されても良い。
【００３８】
補助記憶装置５０８は、例えばＨＤＤやＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置５０８に格納されているプログラムやデータには、例えば、ＯＳ、質問生成装置１００が有する各機能部を実現する１以上のプログラム等がある。
【００３９】
本発明の第一の実施形態における質問生成装置１００は、図３に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図３に示す例では、本発明の第一の実施形態における質問生成装置１００が１台の装置（コンピュータ）で実現される場合について説明したが、これに限られない。本発明の第一の実施形態における質問生成装置１００は、複数台の装置（コンピュータ）で実現されていても良い。また、本発明の第一の実施形態における質問生成装置１００は、複数の演算装置５０６や複数のメモリ（ＲＡＭ５０４、ＲＯＭ５０５、補助記憶装置５０８等）を備える装置（コンピュータ）で実現されていても良い。
【００４０】
（改訂質問の生成処理）
次に、本発明の第一の実施形態における改訂質問の生成処理について、図４を参照しながら説明する。図４は、本発明の第一の実施形態における改訂質問の生成処理の一例を示すフローチャートである。なお、改訂質問の生成処理では、改訂質問生成部２００を実現する改訂質問生成モデルは学習済みであるものとする。
【００４１】
ここで、本発明の第一の実施形態における改訂質問生成部２００を実現する改訂質問生成モデルの一例を図５に示す。図５に示すように、本発明の第一の実施形態では、改訂質問生成モデルは、Encode Layer、Matching Layer及びDecode Layerの３つ層で構成されるニューラルネットワークである。これらの層のうち、Encode Layer及びMatching Layerによって照合部２１０が実現される。また、Decode Layerによって質問復元部２２０が実現される。以降の改訂質問の生成処理では、図５に示す改訂質問生成モデルを参照も参照しながら、各層の詳細な処理についても説明する。
【００４２】
なお、Encode Layer及びDecode Layerは、言語生成のモデルであるSeq2Seqをベースとした層である。一方で、Matching Layerは、機械読解タスクで用いられるAttention Flow Layer及びModeling Layerをベースとした層である。Seq2Seqの詳細については、例えば、以下の参考文献１や参考文献２を参照されたい。また、読解タスクの詳細については、例えば、以下の参考文献３を参照されたい。
【００４３】
［参考文献１］
I. Sutskever, O. Vinyals, and Q. V. Le. Sequence to sequence learning with neural networks. Proc of the 27th International Conference on Neural Information Processing Systems(NIPS2014), pp. 3104-3112, 2014.
［参考文献２］
O. Vinyals and Q. V. Le. A neural conversational model. Proc of the ICML Deep Learning Workshop 2015, 2015.
［参考文献３］
M. J. Seo, A. Kembhavi, A. Farhadi, and H. Hajishirzi. Bidirectional attention flow for machine comprehension. Proc of 5th International Conference on Learning Representations(ICLR2017), 2017.
ステップＳ１０１：改訂質問生成部２００は、質問（入力質問）Ｑと、関連文書Ｘとを入力する。
【００４４】
ステップＳ１０２：改訂質問生成部２００の照合部２１０は、以下のステップＳ１０２−１〜ステップＳ１０２−４により、マッチング情報として、Decoderの初期状態とする隠れ状態ベクトルｈｄ０と、機械読解タスクで用いられるマッチングモデルであるマッチング行列Ｍとを生成する。
【００４５】
ステップＳ１０２−１：まず、照合部２１０は、図５に示す改訂質問生成モデルのEncode LayerにおけるWord Embeddingの処理として、関連文書Ｘ及び入力質問Ｑをそれぞれｄ次元の単語ベクトル系列に変換する。すなわち、照合部２１０は、関連文書Ｘ及び入力質問Ｑをそれぞれ構成する各単語トークンをベクトル化して単語ベクトル系列を作成する。
【００４６】
関連文書Ｘの単語ベクトル系列もＸで表すものとして、関連文書Ｘの単語ベクトル系列Ｘを、
【００４７】
【数１】
2019215841.tif 000003
と表す。
【００４８】
また、入力質問Ｑの単語ベクトル系列もＱで表すものとして、入力質問Ｑの単語ベクトル系列Ｑを、
【００４９】
【数２】
2019215841.tif 000004
と表す。
【００５０】
なお、本発明の第一の実施形態では、入力された入力質問Ｑ及び関連文書Ｘから単語ベクトル系列Ｘ及びＱを作成したが、これに限られず、例えば、上記のステップＳ１０１で単語ベクトル系列Ｘ及びＱが入力されても良い。
【００５１】
ステップＳ１０２−２：次に、照合部２１０は、図５に示す改訂質問生成モデルのEncode LayerにおけるPassage Contextの処理として、単語ベクトル系列ＸをＲＮＮ（Recurrent Neural Network）によりエンコードして、関連文書Ｘのコンテキスト行列Ｈ∈Ｒ２ｄ×Ｔを得る。なお、コンテキスト行列Ｈの第ｔ列目の要素で構成される列ベクトルをコンテキストベクトルＨｔと表す。
【００５２】
同様に、照合部２１０は、図５に示す改訂質問生成モデルのEncode LayerにおけるQuestion Contextの処理として、単語ベクトル系列ＱをＲＮＮによりエンコードして、入力質問Ｑのコンテキスト行列Ｕ∈Ｒ２ｄ×Ｊを得る。なお、コンテキスト行列Ｕの第ｊ列目の要素で構成される列ベクトルをコンテキストベクトルＵｊと表す。
【００５３】
ここで、Passage Context及びQuestion Contextの処理に用いられるＲＮＮは、例えば、ｂｉ−ＲＮＮ、ＬＳＴＭ（Long Short Term Memory）、ｂｉ−ＬＳＴＭ等であっても良い。ただし、Passage Contextの処理に用いられるＲＮＮと、Question Contextの処理に用いられるＲＮＮとは共通のパラメータを用いる。
【００５４】
ステップＳ１０２−３：次に、照合部２１０は、図５に示す改訂質問生成モデルのMatching Layerの処理として、以下により、Decoderの初期状態とする隠れ状態ベクトルｈｄ０を生成する。
【００５５】
まず、照合部２１０は、注意機構（attention）を用いて、コンテキストベクトルＵＪ−１及びコンテキスト行列Ｈに対して、以下の式（１）及び式（２）により、関連文書ＸとのアテンションベクトルＨ＾Ｕ∈Ｒ２ｄを計算する。なお、明細書の記載の便宜上、「＾を上に付与したＸ」（すなわち、アクセントとして「＾」が付与されたＸ）を「Ｘ＾」と表記する。
【００５６】
【数３】
2019215841.tif 000005
ここで、τは転置を表す。また、ｓｏｆｔｍａｘｔはｓｏｆｔｍａｘ関数のｔ番目の出力を表す。なお、上記の式（２）のＨ＾Ｕで下付き表記されている「Ｕ」は添字ではない。
【００５７】
同様に、照合部２１０は、注意機構（attention）を用いて、コンテキストベクトルＵＪ−１及びコンテキスト行列Ｕに対して、以下の式（３）及び式（４）により、入力質問ＱとのアテンションベクトルＵ＾Ｕ∈Ｒ２ｄを計算する。
【００５８】
【数４】
2019215841.tif 000006
ここで、ｓｏｆｔｍａｘｊはｓｏｆｔｍａｘ関数のｊ番目の出力を表す。なお、上記の式（４）のＵ＾Ｕで下付き表記されている「Ｕ」は添字ではない。
【００５９】
これは、入力質問Ｑのコンテキスト自身でアテンションを取ることになり、入力質問Ｑ中の重要な単語を考慮するためのものである。
【００６０】
そして、照合部２１０は、上記の式（２）及び（４）でそれぞれ計算した２つのアテンションベクトルＨ＾Ｕ及びＵ＾Ｕを用いて、以下の式（５）により、Decoderの初期状態とする隠れ状態ベクトルｈｄ０を計算する。
【００６１】
【数５】
2019215841.tif 000007
ここで、Ｗｍ∈Ｒ４ｄ×２ｄ及びｂｍ∈Ｒ２ｄはパラメータである。また、ｆは活性化関数であり、例えば、Leaky ReLU等を用いる。なお、［；］は連結を表す。
【００６２】
ステップＳ１０２−４：次に、照合部２１０は、図５に示す改訂質問生成モデルのMatching Layerの処理として、以下により、マッチング行列Ｍを生成する。
【００６３】
まず、照合部２１０は、系列長がＴであるコンテキスト行列Ｈと、系列長がＪであるコンテキスト行列ＵとをAttention層に入力する。そして、照合部２１０は、Attention層の処理として、関連文書Ｘと入力質問Ｑとの単語の類似度行列Ｓを計算する。
【００６４】
関連文書Ｘのｔ番目の単語と、入力質問Ｑのｊ番目の単語との類似度を、
【００６５】
【数６】
2019215841.tif 000008
と定義する。ここで、ｗｓτ∈Ｒ６ｄはパラメータである。また、
【００６６】
【数７】
2019215841.tif 000009
は要素積を表す。
【００６７】
これにより、類似度行列Ｓ＝（Ｓｔｊ）∈ＲＴ×Ｊが作成される。
【００６８】
次に、照合部２１０は、類似度行列Ｓを用いて、関連文書Ｘから入力質問Ｑへのアテンションと、入力質問Ｑから関連文書Ｘへのアテンションとの２方向のアテンションを計算する。
【００６９】
関連文書Ｘから入力質問Ｑへのアテンションでは、照合部２１０は、関連文書Ｘの各単語について、入力質問Ｑの単語で重み付けしたアテンションベクトルを計算する。すなわち、照合部２１０は、以下の式（７）及び（８）により、関連文書Ｘのｔ番目の単語に対応するアテンションベクトル
【００７０】
【数８】
2019215841.tif 000010
を計算する。
【００７１】
【数９】
2019215841.tif 000011
また、入力質問Ｑから関連文書Ｘへのアテンションでは、照合部２１０は、入力質問Ｑのいずれかの単語に強く関連する単語で重み付けしたアテンションベクトルを計算した上で、このアテンションベクトルを関連文書Ｘの系列長Ｔ分並べた行列を作成する。すなわち、まず、照合部２１０は、以下の式（９）及び（１０）により、アテンションベクトル
【００７２】
【数１０】
2019215841.tif 000012
を計算する。
【００７３】
【数１１】
2019215841.tif 000013
ここで、ｍａｘｊ（Ｓ）は、ｔ＝１，・・・，Ｔ−１に対して、ｍａｘ（Ｓｔ）となる、ベクトルＳｔのｊ番目の要素Ｓｔｊを要素とするＴ次元のベクトルである（なお、各γｔを要素とするベクトルγはＴ次元のベクトルである。）。
【００７４】
続いて、照合部２１０は、上記の式（１０）で計算されたアテンションベクトルをＴ個並べた行列
【００７５】
【数１２】
2019215841.tif 000014
を作成する。
【００７６】
その後、照合部２１０は、コンテキストベクトルＨＴ−１とコンテキスト行列Ｈとのself-attentionをとったアテンションベクトルＨ＾Ｈ∈Ｒ２ｄ×Ｔを用いて、以下の式（１１）により、アテンション行列Ｇを計算する。
【００７７】
【数１３】
2019215841.tif 000015
なお、self-attentionの詳細については、例えば、以下の参考文献４を参照されたい。
【００７８】
［参考文献４］
W. Wang, N. Yang, F. Wei, B. Chang, and M. Zhou. Gated self-matching networks for reading comprehension and question answering. Proc of the 55th Annual Meeting of the Association for Computational Linguistics (ACL2017), pp.189-198, 2017.
ただし、照合部２１０は、アテンションベクトルＨ＾Ｈ∈Ｒ２ｄを用いずに（すなわち、上記の式（１１）でアテンションベクトルＨ＾Ｈを連結せずに）、アテンション行列Ｇを計算しても良い。この場合、アテンション行列Ｇは、Ｇ∈Ｒ８ｄ×Ｔとなる。
【００７９】
そして、照合部２１０は、図５に示す改訂質問生成モデルのEncode LayerにおけるMatching Modelの処理として、上記の式（１１）で計算されたアテンション行列ＧをＲＮＮに入力してマッチング行列Ｍ∈Ｒ２ｄ×Ｔを得る。
【００８０】
以上のステップＳ１０２により、マッチング情報として、Decoderの初期状態とする隠れ状態ベクトルｈｄ０と、機械読解タスクで用いられるマッチングモデルであるマッチング行列Ｍとが生成される。
【００８１】
なお、マッチング情報を生成する方法として、上記以外の任意の方法を用いても良い。また、マッチング情報の表現形式として、ベクトルや行列、テンソル等の任意の形式が用いられても良い。例えば、入力質問Ｑと関連文書Ｘとで一致した単語の要素を１、それ以外の単語の要素を０としたbag-of-wordsベクトルを用いても良いし、単語の種類の一致だけでなく、関連文書Ｘ中の単語の出現位置まで考慮した情報を用いても良い。ただし、マッチング情報が類似度等のスカラー値のみで表現される場合には入力質問Ｑと関連文書Ｘとがどの部分で一致しているかの情報が欠落してしまうため、マッチング情報の表現形式としてはスカラー値でないことが好ましい。
【００８２】
ステップＳ１０３：改訂質問生成部２００の質問復元部２２０は、照合部２１０が生成したマッチング情報（隠れ状態ベクトルｈｄ０及びマッチング行列Ｍ）と、入力質問Ｑと、関連文書Ｘとを用いて、以下のステップＳ１０３−１〜ステップＳ１０３−７により、改訂質問ＲＱとなる自然文を生成する。
【００８３】
ここで、改訂質問ＲＱとなる自然文は、単語ｙｓ（ｓ＝０，１，・・・）により構成されているものとする。ただし、単語ｙ０は、文の始端を示すトークン＜ＢＯＳ＞であるものとする。質問復元部２２０は、例えば、文の終端を示すトークン＜ＥＯＳ＞が生成されるまで、ｓ＝１から順に、単語ｙｓを繰り返し生成することで、改訂質問ＲＱを生成する。以下のステップＳ１０３−１〜ステップＳ１０３−７では、或るｓにおける単語ｙｓを生成する場合について説明する。また、DecoderであるＲＮＮはＬＳＴＭであるものとして、このＬＳＴＭの隠れ状態をｈｄｓと表し、この隠れ状態の初期値（すなわち、ｓ＝０である場合の隠れ状態ｈｄｓ）を、照合部２１０で計算された隠れ状態ベクトルｈｄ０とする。
【００８４】
ステップＳ１０３−１：まず、質問復元部２２０は、図５に示す改訂質問生成モデルのDecode LayerにおけるWord Embeddingの処理として、１つ前の繰り返しで生成された単語ｙｓ−１を単語ベクトルｅｙｓ−１に変換する。なお、上述したように、ｓ＝１である場合（すなわち、初回である場合）、単語ｙｓ−１＝ｙ０として、文の始端を示すトークン＜ＢＯＳ＞が単語ベクトルｅｙ０に変換される。
【００８５】
ステップＳ１０３−２：次に、質問復元部２２０は、図５に示す改訂質問生成モデルのDecode Layerの処理として、注意機構（attention）を用いて、以下の式（１２）〜（１５）により、DecoderであるＬＳＴＭへの入力ｚ＾ｓ∈Ｒ３ｄを計算する。
【００８６】
【数１４】
2019215841.tif 000016
ここで、Ｗｄ∈Ｒ２ｄ×３ｄ及びｂｄ∈Ｒ２ｄはパラメータ、ｆは活性化関数である。また、Ｍｔ∈Ｒ２ｄはマッチング行列Ｍの第ｔ列目の要素で構成される列ベクトルである。
【００８７】
ステップＳ１０３−３：次に、質問復元部２２０は、Decoderの隠れ状態ｈｄｓを以下の式（１６）により更新する。
【００８８】
【数１５】
2019215841.tif 000017
ステップＳ１０３−４：次に、質問復元部２２０は、Decode LayerにおけるDecoderの処理として、上記の式（１５）で得られたｚ＾ｓをＬＳＴＭに入力して、softmax関数を計算する。これにより、softmax関数の出力として、生成確率分布ＰＧ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）が得られる。生成確率分布ＰＧ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）は、ｓ−１番目までの単語ｙｓが生成された場合に、ｓ番目の単語ｙｓとして、予め設定された或る特定の語彙集合に含まれる単語が生成される条件付き確率の分布である。なお、特定の語彙集合としては、例えば、一般的な文書に頻出する単語によって構成される集合等が挙げられる。
【００８９】
ステップＳ１０３−５：次に、質問復元部２２０は、Decode Layerにおける処理として、上記の式（１３）で得られた重みεｓｔと、softmax関数とを用いて、以下の式（１７）により、生成確率ＰＣ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）を計算する。
【００９０】
【数１６】
2019215841.tif 000018
ここで、Ｉ（ｙｓ＝ｘｔ）は、生成する単語ｙｓが関連文書Ｘのｔ番目の単語ｘｔと一致する場合は１、それ以外の場合は０を返す関数である。
【００９１】
上記の生成確率ＰＣ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）は、ＣｏｐｙＮｅｔの考え方を応用したものである。ＣｏｐｙＮｅｔとは、単語の生成確率をＬＳＴＭの出力の外からも与えることで、エンコード側の単語をそのまま生成（コピー）し易くするニューラルネットワークモデルである。本発明の第一の実施形態では、この生成確率ＰＣ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）を導入することで、ｓ番目の単語ｙｓとして、関連文書Ｘに含まれる単語が生成（コピー）され易くすることができる。したがって、ＰＣ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）を導入することで、欠損質問と見做された入力質問Ｑを、関連文書Ｘに含まれる単語で補うことができるようになる。なお、ＣｏｐｙＮｅｔの詳細は、例えば、以下の参考文献５や参考文献６を参照されたい。
【００９２】
［参考文献５］
Z. Cao, C. Luo, W. Li, and S. Li. Joint copying and restricted generation for paraphrase. Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence(AAAI2017), pp. 3152-3158, 2017.
［参考文献６］
J. Gu, Z. Lu, H. Li, and V. O. Li. Incorporating copying mechanism in sequence-to-sequence learning. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (ACL2016), pp. 1631-1640, 2016.
ステップＳ１０３−６：次に、質問復元部２２０は、重みλｓを用いて、単語ｙｓの最終的な生成確率Ｐ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）を以下の式（１８）により計算する。
【００９３】
【数１７】
2019215841.tif 000019
ここで、重みλｓは、以下の式（１９）により計算される。
【００９４】
【数１８】
2019215841.tif 000020
ここで、Ｗλ∈Ｒ１×２ｄ及びｂλ∈Ｒ１はパラメータ、σはシグモイド関数を表す。
【００９５】
上記の生成確率Ｐ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）は、重みλｓによるＰＧ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）とＰＣ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）との加重平均である。このため、重みλｓによって、関連文書Ｘに含まれる単語がｙｓとしてコピーされるか否かが決定される。
【００９６】
ステップＳ１０３−７：次に、質問復元部２２０は、上記の式（１８）で計算された最終的な生成確率Ｐ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）により単語ｙｓを生成する。すなわち、質問復元部２２０は、例えば、関連文書Ｘ及び入力質問Ｑに含まれる各単語のうち、Ｐ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）が最大となる単語をｙｓとして生成する。
【００９７】
以上のステップＳ１０３−１〜ステップＳ１０３−７を、単語ｙｓとして＜ＥＯＳ＞が生成されるまで繰り返すことで、各単語ｙｓ（ｓ＝０，１，・・・）により構成される改訂質問ＲＱが生成される。この改訂質問ＲＱは、改訂質問生成部２００により、所定の出力先に出力される。ここで、所定の出力先としては、例えば、表示装置５０２や補助記憶装置５０８、他のプログラム（例えば、質問応答タスクを実行するプログラム）等が挙げられる。
【００９８】
ここで、改訂質問ＲＱは、入力質問Ｑをベースに関連情報Ｘ内の情報を付与することで作成される。このとき、マッチング情報のみを用いて、Encoder-Decoderモデル等のような生成モデルによって改訂質問ＲＱを生成した場合、関連文書Ｘや入力質問Ｑとあまり関係のない改訂質問ＲＱが生成されてしまうことがある。そこで、本発明の第一の実施形態では、ＣｏｐｙＮｅｔの考え方を応用した手法により、マッチング情報だけでなく、関連文書Ｘ自体の情報も利用することで、欠損質問と見做した入力質問Ｑに対して、関連文書Ｘに関係のある改訂質問ＲＱを生成することができるようになる。
【００９９】
なお、上記のステップＳ１０３−７では、各ｓに対して１つの単語ｙｓを生成したが、これに限られず、或るｓ（又は全てのｓ）に対して複数の単語ｙｓを生成しても良い。複数の単語ｙｓを生成することで、例えば、ビームサーチ等を用いて、複数の改訂質問ＲＱを生成することができるようになる。ビームサーチとは、グラフの幅優先探索のような探索アルゴリズムの一種である。ビームサーチを用いる場合、質問復元部２２０は、例えば、各ｓに対して、Ｂ個のビーム幅分の単語ｙｓを生成する。これにより、最終的に生成された改訂質問ＲＱの単語長をＬとした場合、ＢＬ個の改訂質問ＲＱの候補が生成される。次に、質問復元部２２０は、これらの候補から、ビームサーチを用いて、生成スコア順に並べて上位ｑ個を出力することで、複数のバリエーションの改訂質問ＲＱを生成することができる。
【０１００】
また、上記のステップＳ１０３−１〜ステップＳ１０３−７では、単語ｙ０を＜ＢＯＳ＞として、文頭の単語から順に改訂質問ＲＱを生成する場合について説明したが、これに限られず、例えば、単語ｙ０を＜ＥＯＳ＞として、文末の単語から順に改訂質問ＲＱを生成しても良い。
【０１０１】
（部分生成及び全体生成）
ここで、本発明の第一の実施形態における改訂質問の生成処理では、欠損質問と見做された入力質問Ｑの一部の欠損を補った改訂質問ＲＱが生成されても良いし、入力質問Ｑの全ての欠損を補った改訂質問ＲＱが生成されても良い。以降では、入力質問Ｑの一部の欠損を補った改訂質問ＲＱを生成することを「部分生成」、入力質問Ｑの全ての欠損を補った改訂質問ＲＱを生成することを「全体生成」と表す。
【０１０２】
具体的には、例えば、質問内容が明確であり、かつ、回答に必要な情報の不足がない質問（以降では、このような質問を「全体質問」と表す。）を「プランＡを途中解約するときの料金は？」であり、入力質問Ｑを「料金は？」であるとする。
【０１０３】
この場合、部分生成では、例えば、改訂質問ＲＱとして「途中解約するときの料金は？」が生成される。一方で、全体生成では、例えば、改訂質問ＲＱとして全体質問「プランＡを途中解約するときの料金は？」が生成される。
【０１０４】
したがって、この場合、部分生成によって全体質問を得るためには、改訂質問ＲＱとして得られた「途中解約するときの料金は？」を入力質問Ｑとして、再度、改訂質問の生成処理を行う必要がある。これより、最終的な改訂質問ＲＱとして全体質問「プランＡを途中解約するときの料金は？」が得られる。
【０１０５】
上述したように、部分生成を用いる場合、全体質問を得るためには改訂質問の生成処理を繰り返し実行する必要があるが、一般に、全体生成よりも部分生成の方が、全体質問を高い精度で復元することができる。
【０１０６】
なお、改訂質問の生成処理が部分生成であるか又は全体生成であるかは、改訂質問生成モデルの学習処理に用いられる学習データセットによって決定される。また、改訂質問の生成処理を部分生成とするか又は全体生成とするかは、改訂質問が用いられる質問応答タスクに応じて決定される。
【０１０７】
ここで、学習データセットとは、正解データとして用いる入力質問Ｑと、関連文書Ｘとの組で表される学習データの集合である。また、正解データとして用いる入力質問Ｑを構成する各単語に対して、該単語が関連文書Ｘに含まれる単語である場合は１、それ以外の場合は０となるラベルが付与されているものとする。以降では、便宜上、正解データとして用いる入力質問Ｑを「正解質問Ｑｔｒｕｅ」と表す。
【０１０８】
（改訂質問生成モデルの学習処理）
次に、本発明の第一の実施形態における改訂質問生成モデルの学習処理について、図６を参照しながら説明する。図６は、本発明の第一の実施形態における改訂質問生成モデルの学習処理の一例を示すフローチャートである。なお、改訂質問生成モデルの学習処理は、例えば、学習データセットを所定の個数のミニバッチに分割した上で、ミニバッチ毎に、改訂質問生成モデルのパラメータを更新する。
【０１０９】
以下のステップＳ２０１〜ステップＳ２０４は、ミニバッチに含まれる各学習データを用いて繰り返し実行される。一方で、以下のステップＳ２０５〜ステップＳ２０６は、ミニバッチに含まれる全ての学習データに対してステップ２０１〜ステップＳ２０４が実行された後に実行される。
【０１１０】
ステップＳ２０１：欠損質問作成部３００は、学習データに含まれる正解質問Ｑｔｒｕｅを入力する。また、改訂質問生成モデル学習部４００は、学習データに含まれる正解質問Ｑｔｒｕｅ及び関連文書Ｘを入力する。
【０１１１】
ステップＳ２０２：次に、欠損質問作成部３００は、正解質問Ｑｔｒｕｅの一部を欠損させた質問Ｑ（欠損質問Ｑ）を作成する。ここで、正解質問Ｑｔｒｕｅに対する欠損質問Ｑのバリエーションは一般に複数存在するが、欠損質問作成部３００は、これらの全ての欠損質問Ｑを作成しても良いし、一部（１つも含む）の欠損質問Ｑを作成しても良い。
【０１１２】
例えば、正解質問Ｑｔｒｕｅが「プランＡの料金を教えて」であるとする。この場合、欠損質問Ｑのバリエーションとして、「料金を教えて」、「教えて」が存在する。したがって、欠損質問作成部３００は、「料金を教えて」と「教えて」との両方の欠損質問Ｑを作成しても良いし、「料金を教えて」又は「教えて」のいずれかの欠損質問Ｑを作成しても良い。
【０１１３】
なお、部分生成を実現する改訂質問生成モデルを学習する場合、正解質問Ｑｔｒｕｅと同一の全体質問文を欠損質問Ｑとした上で、正解質問Ｑｔｒｕｅとして文頭を示すトークン＜ＢＯＳ＞を設定しても良い。これより、例えば、部分生成による改訂質問の生成処理を行う場合に、単語ｙ１として＜ＢＯＳ＞が生成されたとき、改訂質問ＲＱとして全体質問が生成されたことを知ることができる。
【０１１４】
例えば、全体質問を「プランＡを途中解約するときの料金は？」であるとする。この場合、１回目の部分生成では、入力質問Ｑ「料金は？」から改訂質問ＲＱ「途中解約するときの料金は？」が生成される。次に、２回目の部分生成では、入力質問Ｑ「途中解約するときの料金は？」から改訂質問ＲＱ「プランＡを途中解約するときの料金は？」が生成される。そして、３回目の部分生成では、入力質問Ｑ「プランＡを途中解約するときの料金は？」から改訂質問ＲＱ「＜ＢＯＳ＞」が生成される。＜ＢＯＳ＞が生成されるということは、これ以上追加（生成）可能な文節が存在しないことを示す。このため、２回目の改訂質問ＲＱ「プランＡを途中解約するときの料金は？」が全体質問であると知ることができる。
【０１１５】
ここで、欠損質問Ｑの作成方法は任意の方法を用いることができるが、欠損質問Ｑの作成方法としては、例えば、正解質問Ｑｔｒｕｅの係り受け解析や句構造解析等の構文解析を行った結果を用いて作成することができる。また、正解質問Ｑｔｕｒｅから欠損させる部分の粒度も任意に設定することができる。
【０１１６】
欠損質問Ｑの作成方法の一例として、例えば、先頭から文節を順に欠損させる方法が挙げられる。例えば、正解質問Ｑｔｒｕｅが「プランＡを途中解約するときの料金は？」であったとする。この正解質問Ｑｔｒｕｅは、「プランＡを」と「途中解約するときの」と「料金は？」との３文節で構成されている。このため、この場合、欠損質問作成部３００は、例えば、正解質問Ｑｔｒｕｅの先頭の１文節を欠損させた「途中解約するときの料金は？」と、正解質問Ｑｔｒｕｅの先頭の２文節を欠損させた「料金は？」とを欠損質問Ｑとして作成する。
【０１１７】
また、欠損質問Ｑの作成方法の他の例として、例えば、正解質問Ｑｔｒｕｅから係り受け関係にある任意の２文節を抽出して、抽出した２文節を係り受け関係通りに結合した文を欠損質問Ｑとする方法が挙げられる。このとき、得られた欠損質問Ｑと係り受け関係にある文節が正解質問Ｑｔｒｕｅに存在する場合は、更に、当該欠損質問Ｑと当該文節とを結合した文を新たな欠損質問Ｑとしても良い。
【０１１８】
また、正解質問Ｑｔｒｕｅが英語等の言語である場合には、句構造解析や係り受け木の解析等を行い、この解析結果から節又は単語単位での欠損を行うことで欠損質問Ｑを作成すれば良い。例えば、正解質問Ｑｔｒｕｅが英語である場合、名詞句（ＮＰ：noun phrase）以下の句構造を欠損させた欠損質問Ｑを作成すれば良い。
【０１１９】
なお、欠損質問作成部３００は、正解質問Ｑｔｒｕｅの構文情報が破壊された欠損質問Ｑは作成しないことが好ましい。例えば、正解質問Ｑｔｒｕｅが「プランＡの料金を教えて」であり、係り受け解析の解析結果を用いる場合、係り受け関係にない「プランＡを教えて」との欠損質問Ｑは作成しないことが好ましい。
【０１２０】
また、欠損質問作成部３００は、例えば、パターンマッチングにより欠損質問Ｑを作成しても良い。例えば、所定の表現をマーカに用いて、正解質問Ｑｔｒｕｅにおける欠損位置を決定する等である。具体的には、例えば、所定の表現として「〜の場合」をマーカに用いることが考えられる。この場合、正解質問Ｑｔｒｕｅが「契約が２年未満の場合の違約金は？」であったとすれば、マーカ「〜の場合」よりも前の文を欠損させた欠損質問Ｑ「違約金は？」を作成することができる。
【０１２１】
ステップＳ２０３：改訂質問生成モデル学習部４００の照合部２１０は、マッチング情報を生成する。このステップＳ２０３は、図４のステップＳ１０２における入力質問Ｑを欠損質問Ｑと読み替えることで、ステップＳ１０２と同様であるため、その説明を省略する。
【０１２２】
ステップＳ２０４：改訂質問生成モデル学習部４００の質問復元部２２０は、改訂質問ＲＱを生成する。このステップＳ２０４は、図４のステップＳ１０３における入力質問Ｑを欠損質問Ｑと読み替えることで、ステップＳ１０３と同様であるため、その説明を省略する。
【０１２３】
ステップＳ２０５：改訂質問生成モデル学習部４００のパラメータ更新部４１０は、ミニバッチに含まれる各学習データを用いてそれぞれ生成された改訂質問ＲＱと、当該学習データに含まれる正解質問Ｑｔｒｕｅとの誤差を計算する。誤差の計算に用いられる誤差関数としては、例えば、クロスエントロピーを用いれば良い。なお、誤差関数は、改訂質問生成モデルに応じて適宜に決定される。
【０１２４】
ステップＳ２０６：改訂質問生成モデル学習部４００のパラメータ更新部４１０は、上記のステップＳ２０５で計算した誤差を用いて、改訂質問生成モデルのパラメータを更新する。すなわち、パラメータ更新部４１０は、例えば、上記のステップＳ２０５で計算した誤差を用いて、誤差逆伝播法（バックプロパゲーション）により誤差関数の偏微分値を計算することで、改訂質問生成モデルのパラメータを更新する。これにより、改訂質問生成モデルが学習される。
【０１２５】
ここで、図５に示す改訂質問生成モデルのパラメータを更新する場合に用いる誤差関数について説明する。
【０１２６】
図５に示す改訂質問生成モデルでは、生成確率Ｐで生成される各単語ｙｓが、正解質問Ｑｔｒｕｅと一致するようにパラメータ（以降、学習対象のパラメータを「θ」と表す。）を学習する必要がある。ここで、単語ｙｓの生成確率Ｐは、上記の式（１８）に示す通り、適切なλｓが設定されている必要がある。そこで、本発明の第一の実施形態では、単語ｙｓの生成確率Ｐとλｓとを同時に学習するマルチタスク学習により改訂質問生成モデルを学習するものとし、誤差関数は、単語ｙｓの生成確率Ｐに関する誤差Ｌｇと、λｓに関する誤差Ｌλとの和Ｌ（θ）＝Ｌｇ＋Ｌλとする。この誤差関数Ｌを最小化するように、パラメータθを更新する。
【０１２７】
ここで、λｓは、１に近い値を取る程、関連文書Ｘに含まれる単語がｙｓとしてコピーされる確率が高くなることを示している。前記したように、学習時には、正解データとして用いる入力質問Ｑを構成する各単語に対して、該単語が関連文書Ｘに含まれる単語である場合は１、それ以外の場合は０となるラベルを付与するものとする。このラベルを正解としてλｓを生成するニューラルネットワークの学習を行うことで、λｓは、ｃ＾ｓが生成する単語ｙｓが関連文書Ｘに含まれる単語であるか否かを予測する確率となる。この学習によって、改訂質問ＲＱの生成時には、λｓが１に近い値である程、生成されて欲しい単語が関連文書Ｘ内にある確率が高いと判断され、生成確率Ｐｃが強く考慮されるようになる。
【０１２８】
上記の誤差関数Ｌ（θ）＝Ｌｇ＋Ｌλにおける誤差Ｌλ、Ｌｇは、ニューラルネットワークの学習における一般的な方法で計算すれば良い。例えば、誤差Ｌλは２値のクロスエントロピー、誤差Ｌｇは負の対数尤度等を用いて計算することができる。
【０１２９】
（改訂質問生成モデルの変形例）
ここで、本発明の第一の実施形態では、図５に示す改訂質問生成モデルにより改訂質問生成部２００が実現される場合について説明したが、例えば、図７に示す改訂質問生成モデルや図８に示す改訂質問生成モデルにより改訂質問生成部２００が実現されても良い。
【０１３０】
図７に示す改訂質問生成モデルは、Decode Layerにおいて、生成確率ＰＣ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）を計算する機構を有しないモデルである。この場合、単語ｙｓの最終的な生成確率Ｐ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）＝ＰＧ（ｙｓ｜ｙ＜ｓ，Ｘ，Ｑ）となる。
【０１３１】
図８に示す改訂質問生成モデルは、図７に示す改訂質問生成モデルに対して、更に、Matching Layerを有しないモデルである。この場合、Decode Layerの処理として、注意機構（attention）では、マッチング行列Ｍの代わりにコンテキスト行列Ｈを用いて、Decoderへの入力ｚ＾ｓが計算される。
【０１３２】
（質問生成装置１００の機能構成の変形例）
ここで、改訂質問ＲＱの生成時に、入力質問Ｑと関連する関連文書Ｘが明確ではなく、関連文書Ｘが含まれていると想定される文書集合しか得られない場合がある。このような場合に、文書集合に含まれる各文書を用いて、改訂質問の生成処理を行うとすれば、処理時間が増大する。そこで、改訂質問の処理の前処理として、文書集合から関連文書Ｘを検索する処理を行うことが考えられる。
【０１３３】
上記の前処理を行う質問生成装置１００の機能構成を図９に示す。図９は、本発明の第一の実施形態における改訂質問生成時の質問生成装置１００の機能構成の変形例を示す図である。
【０１３４】
図９に示すように、改訂質問生成時の質問生成装置１００は、更に、関連文書検索部６００を有していても良い。関連文書検索部６００は、入力質問Ｑと、文書集合Ｙと入力して、文書集合Ｙの中から、当該入力質問Ｑに関連する文書（関連文書）Ｘを検索する。そして、関連文書検索部６００は、検索した関連文書Ｘを改訂質問生成部２００に出力する。これにより、関連文書Ｘが含まれていると想定される文書集合しか得られない場合であっても、容易に改訂質問ＲＱを得ることができるようになる。
【０１３５】
なお、関連文書検索部６００による検索手法は、任意の検索手法を用いることができる。例えば、文書集合Ｙに含まれる各文書と、入力質問Ｑとのスコアをそれぞれ算出した上で、スコアが上位のＮ´件を関連文書Ｘとすることが挙げられる。Ｎ´の値は任意に設定されるが、例えば、１〜１０程度等が考えられる。
【０１３６】
ここで、関連文書検索部６００により検索された関連文書Ｘと、この関連文書Ｘ及び入力質問Ｑから生成された改訂質問ＲＱとを、入力質問Ｑを行った質問者（ユーザ）に提示することも考えられる。そこで、図９に示すように、改訂質問生成時の質問生成装置１００は、更に、表示制御部７００を有していても良い。表示制御部７００は、関連文書検索部６００により検索された関連文書Ｘと、この関連文書Ｘ及び入力質問Ｑから改訂質問生成部２００によって生成された改訂質問ＲＱとを表示する。
【０１３７】
（応用例）
ここで、上述したように、例えばＮ´として２以上の値が設定された場合等に、文書集合Ｙから複数の関連文書Ｘが得られることがある。この場合、これらの複数の関連文書Ｘのそれぞれを用いて、改訂質問ＲＱを生成することができる。
【０１３８】
例えば、文書集合Ｙから２つの関連文書Ｘ１及び関連文書Ｘ２が得られた場合、改訂質問生成部２００により、入力質問Ｑ及び関連文書Ｘ１を用いた改訂質問ＲＱ１と、入力質問Ｑ及び関連文書Ｘ２を用いた改訂質問ＲＱ２とが得られる。
【０１３９】
そこで、このような質問生成装置１００の応用例として、ユーザから何等かの質問（入力質問Ｑ）がなされた場合に、複数の改訂質問ＲＱと、この改訂質問ＲＱの生成に用いられた関連文書Ｘとをユーザに提示するチャットボットが考えられる。
【０１４０】
例えば、図１０に示すように、ユーザから入力質問Ｑ「料金が知りたい」が入力された場合（Ｓ１１）、質問生成装置１００の関連文書検索部６００は、文書集合Ｙから複数の関連文書Ｘ（関連文書Ｘ１及び関連文書Ｘ２）を検索する。そして、質問生成装置１００の表示制御部７００は、関連文書Ｘ１及び入力質問Ｑから改訂質問生成部２００によって生成された改訂質問ＲＱ１「プランＡの料金が知りたい」と、関連文書Ｘ１へのリンクと、関連文書Ｘ２及び入力質問Ｑから改訂質問生成部２００によって生成された改訂質問ＲＱ２「特別割引が適用されたときの料金が知りたい」と、関連文書Ｘ２へのリンクとをユーザに表示する（Ｓ１２）。これにより、ユーザが曖昧な質問（入力質問Ｑ）を行った場合であっても、質問生成装置１００は、複数の改訂質問ＲＱと、これらの複数の改訂質問ＲＱにそれぞれ関連する関連文書Ｘへのリンクとをユーザに提示することができるようになる。
【０１４１】
また、チャットボットへの他の応用例として、複数の改訂質問ＲＱ及び関連文書Ｘを順に提示しても良い。例えば、図１１に示すように、ユーザから入力質問Ｑ「料金が知りたい」が入力された場合（Ｓ２１）、質問生成装置１００の関連文書検索部６００は、文書集合Ｙから複数の関連文書Ｘ（関連文書Ｘ１及び関連文書Ｘ２）を検索する。そして、質問生成装置１００の表示制御部７００は、例えば、改訂質問ＲＱ１「プランＡの料金が知りたい」を意図しているか否かをユーザに対して確認するための文を表示する（Ｓ２２）。
【０１４２】
この確認文に対して、ユーザから「違うよ」等の否定を示す応答が入力された場合（Ｓ２３）、質問生成装置１００の表示制御部７００は、例えば、改訂質問ＲＱ２「特別割引が適用されたときの料金が知りたい」を意図しているか否かをユーザに対して確認するための文を表示する（Ｓ２４）。
【０１４３】
この確認文に対して、ユーザから「そうだよ」等の肯定を示す応答が入力された場合（Ｓ２５）、質問生成装置１００の表示制御部７００は、例えば、関連文書Ｘ２へのリンクをユーザに提示する（Ｓ２６）。
【０１４４】
これにより、ユーザが曖昧な質問（入力質問Ｑ）を行った場合であっても、質問生成装置１００は、対話的に、改訂質問ＲＱと、この改訂質問ＲＱに関連する関連文書Ｘへのリンクとをユーザに提示することができるようになる。
【０１４５】
（まとめ）
以上のように、本発明の第一の実施形態における質問生成装置１００は、例えばニューラルネットワークにより実現される改訂質問生成モデルを用いて、潜在的な欠損が含まれている可能性がある入力質問Ｑから、欠損が含まれない改訂質問ＲＱを生成することができる。これにより、例えば、改訂質問ＲＱを用いた質問応答タスク等を行う場合に、当該質問応答タスクの回答精度を向上させることができるようになる。
【０１４６】
また、本発明の第一の実施形態における質問生成装置１００では、改訂質問生成モデルを用いて改訂質問ＲＱを生成する際に、入力質問Ｑに関連する関連文書Ｘに含まれる単語をコピーした改訂質問ＲＱを生成する。これにより、上記の質問応答タスクの回答精度を更に向上させることができると共に、ユーザは、関連文書Ｘのどの部分から改訂質問ＲＱが生成されたのかを知ることができるようになる。
【０１４７】
また、本発明の第一の実施形態における質問生成装置１００では、１つの入力質問Ｑに対して複数のバリエーションの改訂質問ＲＱを生成することもできる。例えば、本発明の第一の実施形態における質問生成装置１００では、１つの入力質問Ｑ「料金を知りたい」に対して、改訂質問Ｑとして、「プランＡの料金を知りたい」、「特別割引が適用されたときの料金を知りたい」等のバリエーションを生成することができる。これにより、例えば、複数のバリエーションの改訂質問Ｑの中から質問の意図に近い改訂質問Ｑをユーザに選択させることもできるようになる。
【０１４８】
更に、１つの入力質問Ｑに対して複数のバリエーションの改訂質問ＲＱを生成することで、本発明の第一の実施形態における質問生成装置１００は、例えば、「よくある質問集（ＦＡＱ）」を自動で作成したり、拡張したりすること等にも応用することができる。
【０１４９】
［第二の実施形態］
次に、本発明の第二の実施形態について説明する。
【０１５０】
（概要）
上述した第一の実施形態では、入力質問と関連文書とが与えられた場合に、質問生成装置１００が改訂質問生成モデルを用いて、当該入力質問の改訂質問を生成する場合について説明した。しかしながら、例えば、入力質問が短い場合や曖昧なものである場合等には、当該入力質問に対する回答が一意に特定できるとは限らず、回答の可能性が関連文書中に複数箇所存在することがある。したがって、このような場合に、回答を考慮せずに質問を詳細化・具体化した場合、回答不能な改訂質問が生成されることがある。また、複数パターンの詳細化・具体化をした場合であっても、全ての改訂質問に対する回答が同じになってしまう可能性も想定される。更に、機械読解等の質問応答技術で回答できるのは１つのみ（つまり、１問１答）であることが多く、回答が複数想定されるような質問には完全には対応することができない。
【０１５１】
そこで、本発明の第二の実施形態では、入力質問と関連文書とが与えられた場合に、質問生成装置１００が改訂質問を生成する前に、質問応答を行って、入力質問に対してＮ個（Ｎは１以上の整数）の回答を生成する。そして、質問生成装置１００は、これらＮ個の回答の各々に対して、改訂質問を生成する。これにより、入力質問に対する回答が複数存在する場合であっても、これらの回答を機械読解等でそれぞれ一意に得るための改訂質問を生成することができ、短い質問や曖昧な質問に対しても高い回答精度を実現することができる。なお、質問応答によって生成されるＮ個の回答は、入力質問に対する最終的な回答（つまり、質問者が真に必要とする回答）の候補となるため、「回答候補」とも表す。
【０１５２】
本発明の第二の実施形態における改訂質問の生成について、図１２を参照しながら、より具体的に説明する。例えば、図１２に示す関連文書と、入力質問「午後５時時点の円相場はどうなりましたか？」とが与えられたとする。この場合、関連文書中には、入力質問に対する回答候補が複数存在する（つまり、関連文書には、当該入力質問に対する回答候補として、ドルに対する円相場の情報と、ユーロに対する円相場の情報とが記載されている。）。したがって、この時点では、これら複数の回答候補のうちのどの回答候補が、質問者が真に必要とする回答であるのかを判定することはできない。
【０１５３】
そこで、本発明の第二の実施形態では、まず、回答１「先週末と比べて２６銭円高ドル安の１ドル＝１０９円７４銭から７５銭」及び回答２「先週末と比べて６４銭円安ユーロ高の１ユーロ＝１２９円５７銭から６１銭」の２つの回答候補を生成する。そして、これらの回答を用いて、当該回答を一意に決定できるような質問となるように入力質問を詳細化・具体化することで、それぞれの回答に対して改訂質問を生成する。図１２に示す例では、入力質問に対して「ドルに対して」と「ユーロに対して」とをそれぞれ付与して、改訂質問１「午後５時時点の円相場はドルに対してどうなりましたか？」及び改訂質問２「午後５時時点の円相場はユーロに対してどうなりました？」を生成する。
【０１５４】
このように、本発明の第二の実施形態では、以下の（１）及び（２）により改訂質問を生成する。
【０１５５】
（１）入力質問に対して質問応答を行って、当該入力質問に対する回答（回答候補）をＮ個生成する。
【０１５６】
（２）Ｎ個の回答毎に、当該回答を得るための改訂質問を生成する（すなわち、Ｎ個の回答それぞれに対応するＮ個の改訂質問を生成する。）。
【０１５７】
ここで、上記の（１）及び（２）は、ニューラルネットワークで実現された改訂質問生成モデルにより、ｅｎｄ−ｔｏ−ｅｎｄで同時に実行することができる。ただし、改訂質問生成モデルは、必ずしもニューラルネットワークで実現される必要はなく、改訂質問生成モデルの全部又は一部がニューラルネットワーク以外の機械学習モデルで実現されていても良い。また、上記の（１）の質問応答を行うモデルと、上記の（２）の改訂質問を生成するモデルとを別々に用意して、これらを個別に又は組み合わせて用いても良い。
【０１５８】
上記の（１）の質問応答では、関連文書から回答（回答候補）となる可能性が高い情報を発見し、この発見した情報をベースに回答を行う。ここで、回答（回答候補）を得る方法としては、例えば、関連文書中の記述をそのまま抽出したものを回答とする方法や関連文書中の記述を参考に回答となる文を生成する方法等、種々の方法が存在する。本発明の第二の実施形態では、一例として、上記の（１）で回答（回答候補）を得る方法として、主に、関連文書中の記述をそのまま抽出したものを回答とする方法を用いる場合について説明する。
【０１５９】
ここで、改訂質問生成モデルの学習では、第一の実施形態と同様に、正解データとして用いる入力質問と、この入力質問の一部を欠損させた質問（つまり、欠損質問）と、関連文書とを入力として、欠損質問と関連文書とを用いて得られる自然文が、正解データである入力質問に近付くように改訂質問生成モデルのパラメータを更新する。このとき、改訂質問生成モデルの内部では、第一の実施形態と同様に、欠損質問と関連文書とのマッチングが行われ、欠損部分を関連文書から発見して補われる。このような改訂質問生成モデルが学習されることで、第一の実施形態と同様に、例えば、自然文の短い入力質問と関連文書とが入力された場合に、当該入力質問の潜在的に欠損した部分が関連文書から発見及び補われ、入力質問よりもより詳細化及び具体化した改訂質問文が生成される。
【０１６０】
また、第二の実施の形態では、改訂質問生成モデルの学習において、入力質問に対する回答の正解を正解データとして、当該入力質問に対する回答が正解データに近付くように改訂質問生成モデルのパラメータを更新する。
【０１６１】
（質問生成装置１００の機能構成）
まず、本発明の第二の実施形態における改訂質問生成時の質問生成装置の機能構成について、図１３を参照しながら説明する。図１３は、本発明の第二の実施形態における改訂質問生成時の質問生成装置１００の機能構成の一例を示す図である。
【０１６２】
図１３に示すように、本発明の第二の実施形態における質問生成装置１００は、テキスト処理部８００と、改訂質問生成部９００と、出力部１０００とを有する。
【０１６３】
テキスト処理部８００は、自然文で記述された入力質問と関連文書とを入力して、これらの入力質問及び関連文書を改訂質問生成部９００に入力するための前処理を行う。具体的には、テキスト処理部８００は、例えば形態素解析等を行うことによって、自然文で記述された入力質問及び関連文書をそれぞれ単語トークンの集合（単語系列）に変換する。なお、入力質問及び関連文書の少なくとも一方が音声認識結果として得られた文等であっても良い。また、テキスト処理部８００に入力される関連文書は、１つ以上の文書（すなわち、関連文書の集合）であっても良い。本発明の第二の実施形態では、「関連文書」と表した場合には、関連文書の集合も含まれるものとする。
【０１６４】
また、以降では、第一の実施形態と同様に、入力質問はＪ個の単語トークンの集合（単語系列）Ｑ＝｛ｑ０，ｑ１，・・・，ｑＪ｝に変換されるものとし、この単語系列Ｑも入力質問Ｑと表すものとする。同様に、関連文書はＴ個の単語トークンの集合（単語系列）Ｘ＝｛ｘ０，ｘ１，・・・，ｘＴ｝に変換されるものとし、この単語系列Ｘも関連文書Ｘと表すものとする。
【０１６５】
なお、単語系列で表された入力質問Ｑ及び関連文書Ｘが質問生成装置１００に入力される場合は、当該質問生成装置１００はテキスト処理部８００を有しなくても良い。
【０１６６】
改訂質問生成部９００は、入力質問に対する質問応答と、当該質問応答によって得られた回答（回答候補）に対応する改訂質問の生成とを行う。改訂質問生成部９００は、学習済みの改訂質問生成モデル（すなわち、後述する改訂質問生成モデル学習部１１００によって更新されたパラメータを用いた改訂質問生成モデル）により実現される。
【０１６７】
ここで、改訂質問生成部９００には、質問応答実行部９１０と、質問生成部９２０とが含まれる。
【０１６８】
質問応答実行部９１０は、入力質問Ｑと、関連文書Ｘとを入力して、質問応答を行って、当該入力質問Ｑに対する回答候補を関連文書Ｘから生成する。なお、上述したように、ここで生成される回答候補は１つである必要はなく、Ｎを１以上の整数としてＮ個の回答候補が生成される。本発明の第二の実施形態では、関連文書中の記述をそのまま抽出したものを回答候補とする方法を用いるが、これに限られず、自然文の質問と任意の文書（関連文書）とを入力として自然文の回答を得ることができる方法であれば任意の方法を用いることができる。
【０１６９】
質問生成部９２０は、入力質問Ｑと、関連文書Ｘと、Ｎ個の回答候補とを入力して、当該入力質問Ｑよりも詳細化・具体化した改訂質問ＲＱを生成する。このとき、質問生成部９２０は、Ｎ個の回答候補の各々に対して改訂質問ＲＱを生成する（すなわち、Ｎ個の回答候補のそれぞれに対応するＮ個の改訂質問ＲＱを生成する。）。
【０１７０】
ここで、本発明の第二の実施形態では、質問生成部９２０は、各回答候補をそれぞれ一意に特定可能とするような情報を入力質問Ｑに対して追加することで改訂質問ＲＱを生成する。例えば、関連文書Ｘ中で回答候補となる情報の周辺には「〜の場合」や「〜であるときには」といった条件に関する情報が記述されている場合がある。したがって、このような条件に関する情報を入力質問Ｑに追加することで、この条件に合致した場合の回答（回答候補）を一意に決定することができる改訂質問ＲＱを生成することができる。この他にも、例えば、人名や地名等の固有表現も回答候補を絞り込むための有益な情報となり得るので、これらを入力質問Ｑに追加した改訂質問ＲＱを生成しても良い。
【０１７１】
なお、改訂質問ＲＱの生成方法や入力質問Ｑに追加する情報の発見方法、入力質問Ｑへの情報の追加方法等は、上述した「各回答候補をそれぞれ一意に特定可能とするような情報を入力質問Ｑに対して追加することで改訂質問ＲＱを生成する」ものであれば任意の手法を採用することができる。例えば、上述した「〜の場合」という情報をパターンマッチングで発見及び抽出した上で、抽出した情報の中から回答（回答候補）に最も近い場所にある情報を、入力質問Ｑの先頭に追加して改訂質問ＲＱを生成する、といった手法を用いても良い。又は、例えば、ニューラルネットワークによる文生成手法を用いて改訂質問ＲＱが生成されても良い。
【０１７２】
出力部１０００は、Ｎ個の回答（回答候補）と、これらのＮ個の回答のそれぞれに対応するＮ個の改訂質問ＲＱとを出力する。このとき、出力部１０００は、例えば、或る回答候補と、この回答候補に対応する改訂質問ＲＱとの組（ペア）を１以上出力する。ここで、回答候補と改訂質問ＲＱとの組（ペア）の出力方法には、質問生成装置１００のユーザインタフェースに応じて任意の方法を採用することができる。
【０１７３】
例えば、質問生成装置１００が検索システム等のように画面に回答を出力するユーザインタフェースを備えている場合、ユーザ（質問者）から入力された入力質問Ｑに対して、検索結果のサジェスト機能のように「もしかして・・・」と改訂質問ＲＱの候補を表示し、ユーザによって改訂質問ＲＱが選択されたときに当該改訂質問ＲＱに対応する回答（回答候補）を表示する、といった方法を採用しても良い。
【０１７４】
また、例えば、質問生成装置１００が音声対話によるユーザインタフェースを備えている場合、ユーザから入力質問Ｑが入力されると、最も尤度の高い回答（回答候補）に対応する改訂質問ＲＱについて「もしかして○○ということですか？」（○○は当該改訂質問ＲＱの質問内容）といったように確認の聞き返しを発話し、ユーザが同意したときに当該改訂質問ＲＱに対応する回答（回答候補）を発話する、といった方法を採用しても良い。なお、このとき、例えば、確認の聞き返しの発話に対してユーザが非同意の場合には次に尤度の高い回答（回答候補）に対応する改訂質問ＲＱについて確認の聞き返しを発話し、ユーザが同意するまでこれを繰り返す、といった方法を採用しても良い。ここで、回答（回答候補）の尤度については、例えば、当該尤度を算出する機能を質問生成装置１００が備えていても良いし、質問応答実行部９１０で回答候補の生成と共に当該回答候補の尤度が算出されても良い。
【０１７５】
なお、出力部１０００の出力先は上述したものに限られず、例えば、補助記憶装置５０８や記録媒体５０３ａ、ネットワークを介して接続される他の装置等であっても良い。
【０１７６】
次に、本発明の第二の実施形態における学習時の質問生成装置１００の機能構成について、図１４を参照しながら説明する。図１４は、本発明の第二の実施形態における学習時の質問生成装置１００の機能構成の一例を示す図である。
【０１７７】
図１４に示すように、本発明の第二の実施形態における学習時の質問生成装置１００は、欠損質問作成部３００と、改訂質問生成モデル学習部１１００とを有する。
【０１７８】
欠損質問作成部３００は、第一の実施形態と同様に、入力質問Ｑを入力して、当該入力質問Ｑの一部を欠損させることで、欠損質問を作成する。
【０１７９】
改訂質問生成モデル学習部１１００は、欠損質問作成部３００が作成した欠損質問と、入力質問Ｑと、この入力質問Ｑに対する正解回答Ａｔｒｕｅと、関連文書Ｘとを用いて、改訂質問生成モデルを学習する。そして、改訂質問生成モデル学習部１１００は、学習済みの改訂質問生成モデルのパラメータを出力する。
【０１８０】
ここで、改訂質問生成モデル学習部１１００には、質問応答実行部９１０と、質問生成部９２０と、パラメータ更新部１１１０とが含まれる。質問応答実行部９１０及び質問生成部９２０は、上述した通りである。パラメータ更新部１１１０は、質問生成部９２０が生成した自然文（改訂質問ＲＱ）と、入力質問Ｑとの誤差を算出すると共に、質問応答実行部９１０による入力質問Ｑに対する回答と、当該入力質問Ｑに対する回答の正解との誤差を算出する。そして、これらの誤差を用いて、任意の最適化方法により改訂質問生成モデルのパラメータ（学習済みでない改訂質問生成モデルパラメータ）を更新する。パラメータ更新部１１１０によりパラメータが更新されることで、改訂質問生成モデルが学習される。
【０１８１】
（質問生成装置１００のハードウェア構成）
本発明の第二の実施の形態における質問生成装置１００のハードウェア構成は、第一の実施形態と同様とすれば良いため、その説明を省略する。
【０１８２】
（改訂質問の生成処理）
次に、本発明の第二の実施形態における改訂質問の生成処理について、図１５を参照しながら説明する。図１５は、本発明の第二の実施形態における改訂質問の生成処理の一例を示すフローチャートである。なお、改訂質問の生成処理では、改訂質問生成部９００を実現する改訂質問生成モデルは、ニューラルネットワークで実現されており、かつ、学習済みであるものとする。
【０１８３】
ここで、本発明の第二の実施形態における改訂質問生成部９００を実現する改訂質問生成モデルの一例を図１６に示す。図１６に示すように、本発明の第二の実施形態では、改訂質問生成モデルは、文書エンコード層、質問エンコード層、文書・質問照合層、機械読解モデリング層、機械読解出力層、回答ベクトル生成層、デコード層、及び改訂質問単語生成層で構成されるニューラルネットワークである。これらの層のうち、文書エンコード層、質問エンコード層、文書・質問照合層、機械読解モデリング層、及び機械読解出力層によって質問応答実行部９１０が実現される。また、回答ベクトル生成層、デコード層、及び改訂質問単語生成層によって質問生成部９２０が実現される。
【０１８４】
なお、文書エンコード層、質問エンコード層、文書・質問照合層、及び機械読解モデリング層は、第一の実施形態における照合部２１０に相当する。また、デコード層及び改訂質問単語生成層は、第一の実施形態における質問復元部２２０に相当する。
【０１８５】
本発明の第二の実施形態における訂正質問生成モデルを実現するニューラルネットワークは、ニューラルネットワークで自然文を生成するための手法であるEncoder-Decoderモデルと、ニューラルネットワークで質問応答の回答を生成する機械読解モデルとをベースに構成されている。機械読解モデルでは、回答候補となる記述を関連文書Ｘ中から直接抜き出す（つまり、記述を抜き出す際の始点及び終点の位置を推定する）ことにより、回答候補の生成を実現する。この機械読解モデルは、文書・質問照合層、機械読解モデリング層及び機械読解出力層で構成される。なお、Encoder-Decoderモデルの詳細については、例えば、上記の参考文献１を参照されたい。また、機械読解モデルの詳細については、例えば、上記の非特許文献１を参照されたい。
【０１８６】
以降の改訂質問の生成処理では、図１６に示す改訂質問生成モデルを参照も参照しながら、各層の詳細な処理についても説明する。
【０１８７】
ステップＳ３０１：テキスト処理部８００は、自然文で記述された入力質問と関連文書とを入力する。
【０１８８】
ステップＳ３０２：テキスト処理部８００は、入力した入力質問及び関連文書をそれぞれ単語系列に変換する。上述したように、以降では、入力質問がＪ個の単語トークンの単語系列Ｑ、関連文書がＴ個の単語トークンの単語系列Ｘにそれぞれ変換されたものとして、「入力質問Ｑ」及び「関連文書Ｘ」と表す。
【０１８９】
なお、単語系列で表された入力質問Ｑ及び関連文書Ｘが質問生成装置１００に入力された場合は、上記のステップＳ３０２は行われなくても良い。
【０１９０】
ステップＳ３０３：改訂質問生成部９００は、以下のステップＳ３０３−１〜ステップＳ３０３−３により、マッチング情報として、デコード層の初期状態とする状態ベクトルｈｑ０及びｈＭ０を生成する。
【０１９１】
ステップＳ３０３−１：まず、改訂質問生成部９００の質問応答実行部９１０は、関連文書Ｘ及び入力質問Ｑを入力し、図１６に示す改訂質問生成モデルの文書エンコード層及び質問エンコード層の処理として、関連文書Ｘ及び入力質問Ｑをそれぞれｄ次元の単語ベクトル系列に変換（エンコード）する。すなわち、質問応答実行部９１０は、関連文書Ｘ及び入力質問Ｑをそれぞれ構成する各単語トークンをｄ次元の実ベクトル化して単語ベクトル系列を作成する。
【０１９２】
また、質問応答実行部９１０は、入力質問Ｑをｄ次元の単語ベクトル系列にエンコードした際の状態ベクトルｈｑ０を出力する。
【０１９３】
なお、本発明の第二の実施形態では、関連文書Ｘの単語ベクトル系列をＨで表すものとして、「文書ベクトル系列Ｈ」と表す。また、入力質問Ｑの単語ベクトル系列はＵで表すものとして、「質問ベクトル系列Ｕ」と表す。このとき、文書ベクトル系列はＨ∈Ｒｄ×Ｔであり、質問ベクトル系列がＵ∈Ｒｄ×Ｊである。
【０１９４】
ここで、関連文書Ｘ及び入力質問Ｑをそれぞれｄ次元の単語ベクトル系列にエンコードするための手法については、文書ベクトル系列及び質問ベクトル系列が生成できれば任意の手法を採用することができる。例えば、関連文書Ｘと入力質問Ｑとをそれぞれ単語埋め込み層（Word Embedding Layer）に入力して各単語トークンをｄ次元の実ベクトルに変換した後に、ＲＮＮによって単語ベクトル系列に変換する手法を用いることができる。この他にも、例えば、注意機構（attention）を用いたエンコードを行っても良い。ただし、デコード層（Decode Layer）では、質問エンコード層から出力された状態ベクトルｈｑ０を初期状態として用いるため、任意の方法で状態ベクトルｈｑ０を生成しておく必要がある。
【０１９５】
なお、本発明の第二の実施形態では、質問エンコード層でのみ状態ベクトルｈｑ０を生成する場合について説明するが、文書エンコード層でのみ又は文書エンコード層でも状態ベクトルｈｘ０が生成されても良い。文書エンコード層でのみ状態ベクトルｈｘ０が生成された場合には、デコード層では、状態ベクトルｈｘ０を初期状態として用いれば良い。一方で、文書エンコード層及び質問エンコード層で状態ベクトルｈｑ０及び状態ベクトルｈｘ０がそれぞれ生成された場合には、デコード層では、これらの状態のベクトルのうちの一方又は両方を初期状態として用いることができる。
【０１９６】
ステップＳ３０３−２：次に、改訂質問生成部９００の質問応答実行部９１０は、図１６に示す改訂質問生成モデルの文書・質問照合層の処理として、文書ベクトル系列Ｈ及び質問ベクトル系列Ｕを用いて、機械読解を行うために関連文書Ｘ中で入力質問Ｑと関連する情報を発見及び抽出する。この発見及び抽出は、関連文書Ｘと入力質問Ｑとを照合することで行われる。
【０１９７】
ここで、関連文書Ｘと入力質問Ｑとを照合する方法としては、任意の手法を採用することができる。例えば、注意機構（attention）を用いたBiDAFを採用することができる。また、例えば、ＣＮＮ（Convolutional Neural Network）を使用したＱＡＮｅｔを採用することもできる。なお、注意機構（attention）を用いたBiDAFの詳細については、例えば、上記の非特許文献１を参照されたい。また、ＣＮＮを使用したＱＡＮｅｔの詳細については、例えば、以下の参考文献７を参照されたい。
【０１９８】
［参考文献７］
Adams Wei Yu, David Dohan, Minh-Thang Luong, Rui Zhao, Kai Chen, Mohammad Norouzi, Quoc V. Le. QANet: Combining Local Convolution with Global Self-Attention for Reading Comprehension. ICLR2018
これにより、関連文書Ｘと入力質問Ｑとの照合結果として、ｒ次元の実ベクトル系列である照合ベクトル系列Ｇ∈Ｒｒ×Ｔが出力される。ここで、ｒは、関連文書Ｘと入力質問Ｑとの照合に用いる手法によって異なる。なお、この照合ベクトル系列Ｇは、第一の実施形態におけるアテンション行列Ｇに相当する。
【０１９９】
ステップＳ３０３−３：改訂質問生成部９００の質問応答実行部９１０は、図１６に示す改訂質問生成モデルの機械読解モデリング層の処理として、照合ベクトル系列Ｇを用いて、機械読解モデリングベクトル系列Ｍ∈Ｒｄ×Ｔを作成する。ここで、機械読解モデリングベクトル系列Ｍは、例えば、文書エンコード層及び質問エンコード層と同様に、照合ベクトル系列Ｇに対してＲＮＮを用いた手法を行うことで、機械読解モデリングベクトル系列Ｍを作成する。また、このとき、質問応答実行部９１０は、質問エンコード層と同様に、隠れ状態ベクトルｈＭ０を生成する。この隠れ状態ベクトルｈＭ０は、デコード層の初期状態として用いられる。なお、機械読解モデリングベクトル系列Ｍは、第一の実施形態におけるマッチング行列Ｍに相当する。
【０２００】
ステップＳ３０４：次に、改訂質問生成部９００の質問応答実行部９１０は、図１６に示す改訂質問生成モデルの機械読解出力層の処理として、機械読解モデリングベクトル系列Ｍを用いて、回答候補を生成する。この回答候補の生成は、関連文書Ｘ中から回答候補となる記述の始点及び終点を抽出することにより行われる。
【０２０１】
ここで、始点に関しては、図１６に示す改訂質問生成モデルの機械読解出力層に含まれる回答始点出力層の処理として、機械読解モデリングベクトル系列Ｍを重みＷ０∈Ｒ１×ｄにより線形変換することで始点ベクトルＯｓｔａｒｔ∈ＲＴを作成した上で、この始点ベクトルＯｓｔａｒｔに対して系列長Ｔでsoftmax関数を適用して確率分布Ｐｓｔａｒｔに変換する。そして、この確率分布Ｐｓｔａｒｔを用いて、最も確率が高いｔｓｔａｒｔ（０≦ｔｓｔａｒｔ≦Ｔ）番目の要素を関連文書Ｘから抜き出して、始点の単語とする。
【０２０２】
一方で、終点に関しては、図１６に示す改訂質問生成モデルの機械読解出力層に含まれる回答終点出力層の処理として、まず始点ベクトルＯｓｔａｒｔ及び機械読解モデリングベクトル系列ＭをＲＮＮに入力して新しい機械読解モデリングベクトル系列Ｍ´を作成する。その後、始点と同様の方法により新しい機械読解モデリングベクトル系列Ｍ´から確率分布Ｐｅｎｄを得て、この確率分布Ｐｅｎｄを用いて、最も確率が高いｔｅｎｄ（ｔｓｔａｒｔ≦ｔｅｎｄ≦Ｔ）番目の要素を関連文書Ｘから抜き出して、終点の単語とする。
【０２０３】
これにより、関連文書Ｘ中のｔｓｔａｒｔ番目（始点）の単語からｔｅｎｄ番目（終点）の単語までの区間が回答（回答候補）として抽出される。
【０２０４】
Ｎ個の回答（回答候補）を抽出するには、まず、Ｐｓｔａｒｔ及びＰｅｎｄを用いて、Ｐ（ｉ，ｋ）＝Ｐｓｔａｒｔ（ｉ）×Ｐｅｎｄ（ｋ）を計算する。ただし、０≦ｉ≦Ｔ、かつ、ｉ≦ｋ≦Ｔである。そして、Ｐ（ｉ，ｋ）が上位Ｎ個のｉ，ｋの組み合わせを始点及び終点とすれば良い。これにより、上位Ｎ個のｉ，ｋの組み合わせに対応する区間が、Ｎ個の回答（回答候補）としてそれぞれ抽出される。
【０２０５】
なお、質問応答実行部９１０は、Ｎ個の回答（回答候補）のそれぞれの始点及び終点を出力しても良いし、Ｎ個の回答（回答候補）そのものを出力しても良いし、Ｎ個の回答（回答候補）のそれぞれの始点の単語及び終点の単語を出力しても良い。本発明の第二の実施形態では、Ｎ個の回答（回答候補）のそれぞれの始点及び終点が出力されるものとする。また、以降のステップＳ３０５は、Ｎ個の始点及び終点の組のそれぞれに対して実行されるが、以降では、或る１組の始点ｔｓｔａｒｔ及び終点ｔｅｎｄを「回答候補Ａ」として、この回答候補Ａに関してステップＳ３０５を説明する。
【０２０６】
ステップＳ３０５：改訂質問生成部９００は、以下のステップＳ３０５−１〜ステップＳ３０５−３により、回答候補Ａに対応する改訂質問を生成する。
【０２０７】
ステップＳ３０５−１：改訂質問生成部９００の質問生成部９２０は、回答候補Ａ（つまり、始点ｔｓｔａｒｔ及び終点ｔｅｎｄ）を入力し、図１６に示す改訂質問生成モデルの回答ベクトル生成層の処理として、回答候補Ａに対応する回答ベクトル
【０２０８】
【数１９】
2019215841.tif 000021
を作成する。ここで、ｄａは回答ベクトルの次元数を表す。
【０２０９】
回答ベクトルａの作成方法は、入力として回答候補Ａ（つまり、始点ｔｓｔａｒｔ及び終点ｔｅｎｄ）を用いて、回答ベクトルａを作成することができるものであれば任意の方法を採用することができる。例えば、始点ｔｓｔａｒｔから終点ｔｅｎｄまでの区間の記述を一度単語系列に変換した上で、この単語系列を文書エンコード層によってベクトルに変換したもの回答ベクトルａとしても良いし、始点ｔｓｔａｒｔ及び終点ｔｅｎｄで決定される区間Ｈ（ｔｓｔａｒｔ，ｔｅｎｄ）∈Ｒｄ×ｌ（ｌは回答候補Ａの系列長）を文書ベクトル系列から抽出し、抽出した区間に対応するベクトル系列に対してＲＮＮを適用したり、重心ベクトルを計算したりする等により回答ベクトルａを作成しても良い。
【０２１０】
なお、例えば、関連文書Ｘ中の記述をそのまま抽出したものを回答（回答候補Ａ）とするのではなく、関連文書Ｘ中の記述を参考に回答（回答候補Ａ）となる文を生成する方法を用いた場合、生成された文（回答となる文）を入力とし、回答ベクトル生成層の処理として、回答ベクトルａを作成すれば良い。
【０２１１】
ステップＳ３０５−２：改訂質問生成部９００の質問生成部９２０は、図１６に示す改訂質問生成モデルのデコード層の処理として、ＲＮＮにより、回答ベクトルａを用いて、改訂質問を構成する単語を出力するためのベクトルを作成する。ここで、このＲＮＮでは、状態ベクトルの初期値（初期状態）として、質問応答実行部９１０から出力された状態ベクトルｈｑ０及びｈＭ０を用いる。
【０２１２】
上記の状態ベクトルｈｑ０及びｈＭ０の使用方法については、任意の方法を採用することができる。例えば、ＲＮＮを２層にして、１層目のＲＮＮの初期状態をｈｑ０、２層目のＲＮＮの初期状態をｈＭ０としても良い。又は、例えば、１層のＲＮＮで使用する場合には、次元数を整合させるために線形変換を行った上で、２つの状態ベクトルｈｑ０及びｈＭ０の平均ベクトルを初期状態としても良いし、２つの状態ベクトルｈｑ０及びｈＭ０のいずれか一方のみを初期状態としても良い。
【０２１３】
また、状態ベクトルｈＭ０の代わりに、文書エンコード層の状態ベクトルｈｘ０を用いて、状態ベクトルｈｑ０及びｈｘ０をデコード層の初期状態を決定しても良い。これにより、例えば、Ｐ（ｉ，ｋ）が同程度の異なる回答候補が複数存在するような場合（つまり、質問内容が曖昧であるような場合等）に、回答精度の向上が期待できる。
【０２１４】
ここで、Encoder-Decoderモデルでは、デコード層には１つ前に生成した単語の埋め込みベクトル
【０２１５】
【数２０】
2019215841.tif 000022
を入力する。ここで、ｄｅは単語埋め込みベクトルの次元数を表す。これに対して、本発明の第二の実施形態では、単語埋め込みベクトルに回答ベクトルを結合したベクトル
【０２１６】
【数２１】
2019215841.tif 000023
をデコード層に入力するものとする。なお、状態ベクトルの初期値と入力されるベクトル以外は、Encoder-Decoderモデルのデコード層と同様である。したがって、例えば、注意機構（attention）やコピー等、Encoder-Decoderモデルのデコード層で用いられる任意の手法を、図１６に示す改訂質問生成モデルのデコード層に適用しても良い。
【０２１７】
ステップＳ３０５−３：改訂質問生成部９００の質問生成部９２０は、Encoder-Decoderモデルと同様に、デコード層の出力から改訂質問を構成するｓ番目の単語ｙｓを生成する。すなわち、例えば、デコード層の出力結果を線形変換した後に、softmax関数により関連文書Ｘ中の単語の生成確率を生成する。そして、例えば、単語の生成確率が最大となる単語を、ｓ番目の単語ｙｓとして生成する。これを単語ｙｓとして＜ＥＯＳ＞が生成されるまで繰り返すことで、回答候補Ａに対応する改訂候補を構成する単語が生成される。なお、ｙ０は＜ＢＯＳ＞であるものとする。
【０２１８】
ステップＳ３０６：最後に、出力部１０００は、Ｎ個の回答（回答候補）と、これらのＮ個の回答のそれぞれに対応するＮ個の改訂質問ＲＱとを出力する。
【０２１９】
（改訂質問生成モデルの学習処理）
次に、本発明の第二の実施形態における改訂質問生成モデルの学習処理について、図１７を参照しながら説明する。図１７は、本発明の第二の実施形態における改訂質問生成モデルの学習処理の一例を示すフローチャートである。ここで、本発明の第二の実施形態では、改訂質問生成モデルを学習するために、機械読解のコーパスを用いるものとする。機械読解のコーパスは、「質問」と、「質問対象となる文書」と、「質問対象となる文書中の回答範囲（又は、当該回答範囲の文字列）」との組が複数含まれる。このとき、コーパスに含まれる「質問対象となる文書」を関連文書Ｘ、コーパスに含まれる「質問」を入力質問Ｑとし、当該入力質問Ｑに対する回答の正解Ａｔｒｕｅは、当該コーパス中の「質問対象となる文書中の回答範囲（又は、当該回答範囲の文字列）」をそのまま使用するものとする。そして、入力質問Ｑと、この入力質問Ｑに対する回答の正解Ａｔｒｕｅとを質問応答実行部９１０における機械読解処理のための学習データとする。なお、本発明の第二の実施の形態では、回答の正解Ａｔｒｕｅは、始点及び終点の組で表されているものとする。
【０２２０】
ステップＳ４０１：テキスト処理部８００は、複数の学習データ（すなわち、学習データセット）と、関連文書とを入力する。
【０２２１】
ステップＳ４０２：テキスト処理部８００は、入力した複数の学習データにそれぞれ含まれる複数の入力質問と、関連文書とを、単語系列である複数の入力質問Ｑと、関連文書Ｘとにそれぞれ変換する。ただし、機械読解のコーパスを用いる場合、入力された複数の入力質問及び関連文書は、既に単語系列で表現されていることが多いため、このステップＳ４０２は行わなくても良い。
【０２２２】
なお、改訂質問生成モデルの学習処理は、例えば、学習データセットを所定の個数のミニバッチに分割した上で、ミニバッチ毎に、改訂質問生成モデルのパラメータを更新する。
【０２２３】
以下のステップＳ４０３〜ステップＳ４０６は、ミニバッチに含まれる各学習データを用いて繰り返し実行される。一方で、以下のステップＳ４０７〜ステップＳ４０９は、ミニバッチに含まれる全ての学習データに対してステップ４０１〜ステップＳ２０６が実行された後に実行される。
【０２２４】
ステップＳ４０３：欠損質問作成部３００は、学習データである入力質問Ｑの一部を欠損させた質問Ｑ（欠損質問Ｑ）を作成する。なお、当該入力質問Ｑは欠損質問Ｑに対する正解データとなるため、以降では、入力質問Ｑを正解質問Ｑｔｒｕｅと表す。
【０２２５】
ここで、欠損質問Ｑの作成方法としては、任意の手法を作成することができる。例えば、学習済みのEncoder-Decoderモデルを用いて統計的に欠損質問Ｑを作成しても良いし、文の係り受け等の構文情報を用いて文節や句を切り落とすことで欠損質問Ｑを作成しても良い。又は、自然言語処理のタスクの一つである文圧縮の手法を用いて欠損質問Ｑを作成しても良い。
【０２２６】
ステップＳ４０４：改訂質問生成モデル学習部１１００の質問応答実行部９１０は、マッチング情報を生成する。このステップＳ４０４は、図１５のステップＳ３０３における入力質問Ｑを欠損質問Ｑと読み替えることで、ステップＳ３０３と同様であるため、その説明を省略する。
【０２２７】
ステップＳ４０５：改訂質問生成モデル学習部１１００の質問応答実行部９１０は、欠損質問Ｑに対する回答候補を生成する。このステップＳ４０５は、図１５のステップＳ３０４における入力質問Ｑを欠損質問Ｑと読み替えることで、ステップＳ３０４と同様であるため、その説明を省略する。
【０２２８】
ステップＳ４０６：改訂質問生成モデル学習部１１００の質問生成部９２０は、欠損質問Ｑの回答候補のそれぞれに対応する改訂質問ＲＱを生成する。このステップＳ４０６は、図１５のステップＳ３０５における入力質問Ｑを欠損質問Ｑと読み替えることで、ステップＳ３０５と同様であるため、その説明を省略する。
【０２２９】
ステップＳ４０７：改訂質問生成モデル学習部１１００のパラメータ更新部１１１０は、ミニバッチに含まれる各学習データを用いてそれぞれ生成された改訂質問ＲＱと、当該学習データに含まれる入力質問Ｑ（つまり、正解質問Ｑｔｒｕｅ）の第１の誤差を計算する。また、パラメータ更新部１１１０は、ミニバッチに含まれる各学習データにそれぞれ含まれる入力質問Ｑに対する回答Ａと、当該学習データに含まれる正解Ａｔｒｕｅとの第２の誤差を計算する。ここで、回答Ａは、質問応答実行部９１０に対して入力質問Ｑ（及び関連文書Ｘ）を入力することで、質問応答における回答として得られる。
【０２３０】
第１の誤差及び第２の誤差の計算に用いられる誤差関数としては、例えば、クロスエントロピーを用いれば良い。なお、誤差関数は、改訂質問生成モデルに応じて適宜に決定される。
【０２３１】
ステップＳ４０８：改訂質問生成モデル学習部１１００のパラメータ更新部１１１０は、上記のステップＳ４０７で計算した第１の誤差及び第２の誤差を用いて、改訂質問生成モデルのパラメータを更新する。すなわち、パラメータ更新部４１０は、例えば、上記のステップＳ４０７で計算した第１の誤差及び第２の誤差を用いて、誤差逆伝播法（バックプロパゲーション）により誤差関数の偏微分値を計算することで、改訂質問生成モデルのパラメータを更新する。これにより、改訂質問生成モデルが学習される。
【０２３２】
ここで、図１６に示すように、改訂質問生成モデルがニューラルネットワークである場合、機械読解（つまり、質問応答実行部９１０）と改訂質問生成（つまり、質問生成部９２０）とのそれぞれで正解データ（つまり、改訂質問ＲＱに対する正解質問Ｑｔｒｕｅと、当該正解質問Ｑｔｒｕｅに対する正解回答Ａｔｒｕｅ）に関する誤差関数を定義し、これらの誤差関数値の和（つまり、第１の誤差と第２の誤差との和）をニューラルネットワーク全体の誤差として扱い、この誤差が小さくなるようにパラメータを更新する（すなわち、マルチタスク学習によりパラメータを更新する。）。
【０２３３】
（まとめ）
以上のように、本発明の第二の実施形態における質問生成装置１００は、例えばニューラルネットワークにより実現される改訂質問生成モデルを用いて、改訂質問ＲＱの生成の前に、入力質問Ｑに対して質問応答を行って、この質問応答で得られた回答候補に対応する改訂質問ＲＱを生成する。これにより、例えば、入力質問Ｑに対する回答が一意に特定できないような場合であっても、回答候補毎に改訂質問ＲＱが生成されるため、質問応答タスクにおいて、これらの改訂質問ＲＱを用いることで、高い回答精度の実現することができるようになる。
【０２３４】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０２３５】
１００        質問生成装置
２００        改訂質問生成部
２１０        照合部
２２０        質問復元部
３００        欠損質問作成部
４００        改訂質問生成モデル学習部
【図１】
2019215841.tif 000024
【図２】
2019215841.tif 000025
【図３】
2019215841.tif 000026
【図４】
2019215841.tif 000027
【図５】
2019215841.tif 000028
【図６】
2019215841.tif 000029
【図７】
2019215841.tif 000030
【図８】
2019215841.tif 000031
【図９】
2019215841.tif 000032
【図１０】
2019215841.tif 000033
【図１１】
2019215841.tif 000034
【図１２】
2019215841.tif 000035
【図１３】
2019215841.tif 000036
【図１４】
2019215841.tif 000037
【図１５】
2019215841.tif 000038
【図１６】
2019215841.tif 000039
【図１７】
2019215841.tif 000040