(57)【要約】【課題】回答スタイルに応じた回答文を生成すること。【解決手段】質問応答装置は、１つ以上の文書で構成される文書集合と、質問文と、該質問文に対する回答文のスタイルとを入力として、前記文書集合に基づいて前記質問文に対する回答文を生成する処理を学習済モデルにより実行する回答生成手段を有し、前記学習済モデルは、前記回答文を生成する際に、前記スタイルに応じて、前記回答文に含まれる単語の生成確率を決定する、ことを特徴とする。【選択図】図１
2020135289.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の文書で構成される文書集合と、質問文と、該質問文に対する回答文のスタイルとを入力として、前記文書集合に基づいて前記質問文に対する回答文を生成する処理を学習済モデルにより実行する回答生成手段を有し、
前記学習済モデルは、前記回答文を生成する際に、前記スタイルに応じて、前記回答文に含まれる単語の生成確率を決定する、
ことを特徴とする質問応答装置。
【請求項２】
前記回答生成手段は、
前記文書集合に含まれる単語、前記質問文に含まれる単語、及び予め設定された語彙集合に含まれる単語を用いて、前記回答文を生成し、
前記学習済モデルは、前記回答文に含まれる単語を生成する際に、前記スタイルに応じて、前記語彙集合に含まれる単語、前記質問文に含まれる単語、又は前記語彙集合に含まれる単語のいずれを重視すべきかを表す比を算出する、ことを特徴とする請求項１に記載の質問応答装置。
【請求項３】
前記学習済モデルは、前記回答文に含まれる単語を生成する際に、前記文書集合に含まれる単語の注視分布と、前記質問文に含まれる単語の注視分布と、前記語彙集合に含まれる単語の確率分布とを、前記比を用いて合成することで、前記生成確率を決定する、ことを特徴とする請求項２に記載の質問応答装置。
【請求項４】
前記回答生成手段は、
更に、前記回答文を生成する際における前記文書の適合性と、前記質問文に対する前記文書集合の回答可能性とを計算する処理を前記学習済モデルにより実行する、ことを特徴とする請求項１乃至３の何れか一項に記載の質問応答装置。
【請求項５】
１つ以上の文書で構成される文書集合と、質問文と、該質問文に対する回答文のスタイルと、前記スタイルに応じた回答文の正解とを入力として、前記文書集合に基づいて前記質問文に対する回答文に含まれる単語の生成確率を計算する処理を学習済モデルにより実行する回答生成手段と、
前記正解と、前記生成確率とを用いて計算された損失から、前記学習済モデルのパラメータを更新する更新手段と、
を有することを特徴とする学習装置。
【請求項６】
前記スタイルには、前記回答文が単語で表現されることを示す「単語」又は前記回答文が句で表現されることを示す「フレーズ」と、前記回答文が自然文で表現されることを示す「自然文」とが少なくとも含まれる、ことを特徴とする請求項５に記載の学習装置。
【請求項７】
１つ以上の文書で構成される文書集合と、質問文と、該質問文に対する回答文のスタイルとを入力として、前記文書集合に基づいて前記質問文に対する回答文を生成する処理を学習済モデルにより実行する回答生成手順をコンピュータが実行し、
前記学習済モデルは、前記回答文を生成する際に、前記スタイルに応じて、前記回答文に含まれる単語の生成確率を決定する、ことを特徴とする質問応答方法。
【請求項８】
コンピュータを、請求項１乃至４の何れか一項に記載の質問応答装置における各手段、又は、請求項５又は６に記載の学習装置における各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、質問応答装置、学習装置、質問応答方法及びプログラムに関する。
【背景技術】
【０００２】
与えられた文書の集合に基づいて、質問に対する回答文を生成する「読解」を人工知能により正確に行うことができれば、質問応答、知的エージェント対話等の幅広いサービスに応用することができる。このような文書の集合は、質問をクエリとした検索エンジンの結果等から得られる。
【０００３】
ここで、読解による回答文の生成は、質問及び文書集合の内容の要約であるということもできる。文書の要約を行うための従来技術としては、例えば非特許文献１等に開示された技術がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Abigail See, Peter J. Liu, Christopher D. Manning: Get To The Point: Summarization with Pointer-Generator Networks. ACL (1) 2017: 1073-1083
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ユーザの要求として、回答のスタイルを指定したい場合がある。例えば、「２０２０年のオリンピックが開催される都市は？」という質問に対する回答文として、「東京」といったように単語で回答するスタイルが要求されたり、「２０２０年のオリンピックは東京で開催されます。」といったように自然文で回答するスタイルが要求されたりする場合がある。
【０００６】
しかしながら、従来技術では、回答のスタイルに応じた回答文を生成することができなかった。
【０００７】
本発明は、上記の点に鑑みてなされたもので、回答スタイルに応じた回答文を生成することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一実施形態は、１つ以上の文書で構成される文書集合と、質問文と、該質問文に対する回答文のスタイルとを入力として、前記文書集合に基づいて前記質問文に対する回答文を生成する処理を学習済モデルにより実行する回答生成手段を有し、前記学習済モデルは、前記回答文を生成する際に、前記スタイルに応じて、前記回答文に含まれる単語の生成確率を決定する、ことを特徴とする。
【発明の効果】
【０００９】
回答スタイルに応じた回答文を生成することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第一の実施形態における質問応答装置の機能構成（学習時）の一例を示す図である。
【図２】本発明の第一の実施形態における質問応答装置の機能構成（質問応答時）の一例を示す図である。
【図３】単語ベクトル記憶部に格納されているデータの一例を示す図である。
【図４】本発明の第一の実施形態における質問応答装置のハードウェア構成の一例を示す図である。
【図５】本発明の第一の実施形態における学習処理の一例を示すフローチャートである。
【図６Ａ】本発明の第一の実施形態におけるパラメータ更新処理の一例を示すフローチャート（１／２）である。
【図６Ｂ】本発明の第一の実施形態におけるパラメータ更新処理の一例を示すフローチャート（２／２）である。
【図７Ａ】本発明の第一の実施形態における質問応答処理の一例を示すフローチャート（１／２）である。
【図７Ｂ】本発明の第一の実施形態における質問応答処理の一例を示すフローチャート（２／２）である。
【図８】本発明の第二の実施形態における質問応答装置の機能構成（学習時）の一例を示す図である。
【図９】本発明の第二の実施形態における質問応答装置の機能構成（質問応答時）の一例を示す図である。
【図１０】本発明の第二の実施形態における学習処理の一例を示すフローチャートである。
【図１１Ａ】本発明の第二の実施形態におけるパラメータ更新処理の一例を示すフローチャート（１／２）である。
【図１１Ｂ】本発明の第二の実施形態におけるパラメータ更新処理の一例を示すフローチャート（２／２）である。
【図１２Ａ】本発明の第二の実施形態における質問応答処理の一例を示すフローチャート（１／２）である。
【図１２Ｂ】本発明の第二の実施形態における質問応答処理の一例を示すフローチャート（２／２）である。
【発明を実施するための形態】
【００１１】
以下、本発明の各実施形態について、図面を参照しながら詳細に説明する。なお、以下で説明する各実施形態は一例に過ぎず、本発明を適用可能な形態は、以下の各実施形態に限定されない。例えば、本発明の各実施形態に係る技術は、専門文書集合に関する質問応答等に利用可能であるが、利用対象はこれに限られず、様々な対象に利用可能である。
【００１２】
［第一の実施形態］
まず、本発明の第一の実施形態では、任意の文書集合と、この文書集合に対する任意の質問文（以降、単に「質問」とも表す。）と、例えばユーザ等によって指定された回答スタイルとが与えられた場合に、ニューラルネットワークによる文生成技術を用いて、当該回答スタイルに応じた回答文を生成する質問応答装置１０について説明する。ここで、回答スタイルとは、回答文の表現形式のことであり、例えば、単語のみで回答文を表現することを示す「単語」、フレーズ（句）で回答文を表現することを示す「フレーズ」、自然文で回答文を表現することを示す「自然文」が挙げられる。これら以外にも、回答スタイルとして、例えば、回答文に用いられる言語の種類（日本語、英語等）、回答文を表現する感情（ポジティブ、ネガティブ）や時制、口調、回答文の長さ（文字数）等も挙げられる。
【００１３】
ニューラルネットワークによる文生成技術では、ニューラルネットワークを学習する段階（学習時）と、学習済みのニューラルネットワークによって質問に対する回答文を生成する段階（質問応答時）とが存在する。以降では、このニューラルネットワークを「回答文生成モデル」とも表す。なお、回答文生成モデルは、１つ以上のニューラルネットワークを用いて実現される。ただし、回答文生成モデルには、ニューラルネットワークに加えて又はニューラルネットワークに代えて、任意の機械学習モデルが用いられてもよい。
【００１４】
＜質問応答装置１０の機能構成＞
≪学習時≫
本発明の第一の実施形態の学習時における質問応答装置１０の機能構成について、図１を参照しながら説明する。図１は、本発明の第一の実施形態における質問応答装置１０の機能構成（学習時）の一例を示す図である。
【００１５】
図１に示すように、学習時における質問応答装置１０は、記憶部として、単語ベクトル記憶部１０１を有する。また、学習時における質問応答装置１０は、機能部として、入力部１０２と、単語系列ベクトル化部１０３と、単語系列マッチング部１０４と、スタイル依存回答文生成部１０５と、パラメータ学習部１０６とを有する。
【００１６】
単語ベクトル記憶部１０１は、単語と、この単語をベクトルで表現した単語ベクトルとの組を示すデータを格納している。単語ベクトル記憶部１０１に格納されているデータの具体例については後述する。
【００１７】
入力部１０２は、複数の訓練データで構成される訓練データセットを入力する。訓練データとは、ニューラルネットワーク（回答文生成モデル）の学習時に用いられるデータであり、質問と、文書集合と、回答スタイルと、正解となる回答文（以降、「正解回答文」とも表す。）との組で表される。なお、訓練データは「学習データ」等と称されてもよい。
【００１８】
ここで、訓練データの一例としては、以下のようなものが挙げられる。
【００１９】
・（例１）質問：「２０２０年のオリンピックが開催される都市は？」、文書集合：ニュース記事の集合、回答スタイル：「単語」、正解回答文：「東京」
・（例２）質問：「２０２０年のオリンピックが開催される都市は？」、文書集合：ニュース記事の集合、回答スタイル：「自然文」、正解回答文：「２０２０年のオリンピックは東京で開催されます。」
このように、各訓練データには、質問と、文書集合と、回答スタイルと、この回答スタイルに応じた正解回答文とが含まれる。なお、文書集合には少なくとも１つ以上の文書が含まれていればよい。
【００２０】
単語系列ベクトル化部１０３は、訓練データ毎に、この訓練データに含まれる文書集合を構成する各文書の単語系列をベクトル系列（以降、「文書ベクトル系列」とも表す。）に変換する。また、単語系列ベクトル化部１０３は、当該訓練データに含まれる質問の単語系列をベクトル系列（以降、「質問ベクトル系列」とも表す。）に変換する。
【００２１】
単語系列マッチング部１０４は、文書ベクトル系列と質問ベクトル系列とのマッチング行列を計算した上で、このマッチング行列を用いて、マッチングベクトル系列を計算する。
【００２２】
スタイル依存回答文生成部１０５は、当該訓練データに含まれる回答スタイルと、マッチングベクトル系列とを用いて、当該回答スタイルに応じた回答文を生成する。
【００２３】
パラメータ学習部１０６は、当該訓練データに含まれる正解回答文と、生成された回答文との損失（誤差）を用いて、ニューラルネットワーク（回答文生成モデル）のパラメータを学習（更新）する。これにより、ニューラルネットワーク（回答文生成モデル）が学習される。なお、ハイパーパラメータと区別するため、学習対象のパラメータを「学習パラメータ」とも表す。
【００２４】
≪質問応答時≫
本発明の第一の実施形態の質問応答時における質問応答装置１０の機能構成について、図２を参照しながら説明する。図２は、本発明の第一の実施形態における質問応答装置１０の機能構成（質問応答時）の一例を示す図である。
【００２５】
図２に示すように、質問応答時における質問応答装置１０は、記憶部として、単語ベクトル記憶部１０１を有する。また、質問応答時における質問応答装置１０は、機能部として、入力部１０２と、単語系列ベクトル化部１０３と、単語系列マッチング部１０４と、スタイル依存回答文生成部１０５と、出力部１０７とを有する。
【００２６】
単語ベクトル記憶部１０１は、単語と、この単語をベクトルで表現した単語ベクトルとの組を示すデータを格納している。単語ベクトル記憶部１０１に格納されているデータの具体例については後述する。
【００２７】
入力部１０２は、テストデータを入力する。テストデータとは、質問応答時に用いられるデータあり、質問と、文書集合と、回答スタイルとの組で表される。なお、テストデータは、別の呼称、例えば、「質問データ」等と称されてもよい。
【００２８】
単語系列ベクトル化部１０３は、テストデータに含まれる文書集合を構成する各文書の単語系列を文書ベクトル系列に変換する。また、単語系列ベクトル化部１０３は、当該テストデータに含まれる質問の単語系列を質問ベクトル系列に変換する。
【００２９】
単語系列マッチング部１０４は、文書ベクトル系列と質問ベクトル系列とのマッチング行列を計算した上で、このマッチング行列を用いて、マッチングベクトル系列を計算する。
【００３０】
スタイル依存回答文生成部１０５は、当該テストデータに含まれる回答スタイルと、マッチングベクトル系列とを用いて、当該回答スタイルに応じた回答文を生成する。
【００３１】
出力部１０７は、生成された回答文を出力する。なお、回答文の出力先は限定されない。出力部１０７は、例えば、ディスプレイ等に回答文を出力（表示）してもよいし、記憶装置等に回答文を出力（保存）してもよいし、通信ネットワークを介して接続される他の装置に回答文を出力（送信）してもよい。また、出力部１０７は、例えば、回答文を音声に変換した上で、スピーカ等から出力してもよい。
【００３２】
≪単語ベクトル記憶部１０１に格納されているデータ≫
ここで、単語ベクトル記憶部１０１に格納されているデータの一例を図３に示す。図３は、単語ベクトル記憶部１０１に格納されているデータの一例を示す図である。
【００３３】
図３に示すように、単語ベクトル記憶部１０１では、例えば、「ｇｏ」や「ｗｒｉｔｅ」、「ｂａｓｅｂａｌｌ」等の単語に対して、当該単語をベクトルで表現した単語ベクトルが対応付けられている。
【００３４】
また、単語ベクトル記憶部１０１では、特殊文字に対して、当該特殊単語をベクトルで表現した単語ベクトルも対応付けられている。特殊文字とは、「＜ＰＡＤ＞」や「＜ＵＮＫ＞」、「＜Ｓ＞」、「＜／Ｓ＞」等が存在する。＜ＰＡＤ＞は、パディングに用いられる特殊文字である。＜ＵＮＫ＞は、単語ベクトル記憶部１０１に格納されていない単語を単語ベクトルに変換する際に用いられる特殊文字である。＜Ｓ＞及び＜／Ｓ＞は、単語系列の先頭及び末尾にそれぞれ挿入される特殊文字である。
【００３５】
ここで、単語ベクトル記憶部１０１に格納されているデータは、例えば、以下の参考文献１に記載されている方法により作成される。また、各単語の単語ベクトルはｖ次元であるものとする。なお、特殊文字の単語ベクトルもｖ次元であり、これら特殊文字の単語ベクトルは、ニューラルネットワーク（回答文生成モデル）の学習パラメータである。ｖとしては、例えば、ｖ＝３００等とすればよい。
【００３６】
［参考文献１］
Jeffrey Pennington, Richard Socher, Christopher D. Manning: Glove: Global Vectors for Word Representation. EMNLP 2014: 1532-1543
【００３７】
＜質問応答装置１０のハードウェア構成＞
次に、本発明の第一の実施形態における質問応答装置１０のハードウェア構成について、図４を参照しながら説明する。図４は、本発明の第一の実施形態における質問応答装置１０のハードウェア構成の一例を示す図である。
【００３８】
図４に示すように、本発明の第一の実施形態における質問応答装置１０は、ハードウェアとして、入力装置２０１と、表示装置２０２と、外部Ｉ／Ｆ２０３と、ＲＡＭ（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）等であり、ＲＯＭ２０５や補助記憶装置２０８等からプログラムやデータをＲＡＭ２０４上に読み出して処理を実行する。質問応答装置１０が有する各機能部は、例えば、補助記憶装置２０８に格納されている１以上のプログラムがプロセッサ２０６に実行させる処理により実現される。なお、質問応答装置１０は、プロセッサ２０６として、ＣＰＵとＧＰＵとの両方を有していてもよいし、ＣＰＵ又はＧＰＵのいずれか一方のみを有していてもよい。
【００４４】
通信Ｉ／Ｆ２０７は、質問応答装置１０を通信ネットワークに接続するためのインタフェースである。質問応答装置１０が有する各機能部を実現する１以上のプログラムは、通信Ｉ／Ｆ２０７を介して、所定のサーバ装置等から取得（ダウンロード）されてもよい。
【００４５】
補助記憶装置２０８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置２０８に格納されているプログラムやデータには、例えば、ＯＳ、各種アプリケーションプログラム、質問応答装置１０が有する各機能部を実現する１以上のプログラム等がある。また、質問応答装置１０が有する単語ベクトル記憶部１０１は、補助記憶装置２０８を用いて実現可能である。ただし、質問応答装置１０が有する単語ベクトル記憶部１０１は、例えば、質問応答装置１０と通信ネットワークを介して接続される記憶装置等を用いて実現されていてもよい。
【００４６】
本発明の第一の実施形態における質問応答装置１０は、図４に示すハードウェア構成を有することより、後述する各種処理を実現することができる。なお、図４に示す例では、本発明の第一の実施形態における質問応答装置１０が１台の装置（コンピュータ）で実現されている場合について説明したが、これに限られない。質問応答装置１０は、複数台の装置（コンピュータ）で実現されていてもよい。また、１台の装置（コンピュータ）には、複数のプロセッサ２０６と、複数のメモリ（ＲＡＭ２０４、ＲＯＭ２０６、補助記憶装置２０８等）とが含まれていてもよい。
【００４７】
＜学習処理＞
以降では、本発明の第一の実施形態における質問応答装置１０によって回答文生成モデルを学習する処理（学習処理）について、図５を参照しながら説明する。図５は、本発明の第一の実施形態における学習処理の一例を示すフローチャートである。なお、上述したように、学習時の質問応答装置１０は、図１に示す各機能部及び記憶部を有している。
【００４８】
ステップＳ１０１：入力部１０２は、訓練データセットを入力する。入力部１０２は、例えば、補助記憶装置２０８や記録媒体２０３ａ等に格納されている訓練データセットを入力してもよいし、通信Ｉ／Ｆ２０７を介して所定のサーバ装置等から取得（ダウンロード）した訓練データセットを入力してもよい。
【００４９】
ステップＳ１０２：入力部１０２は、訓練データセットの学習回数を示すエポック数ｎｅを１に初期化する。なお、エポック数ｎｅの最大値をＮｅと表す。Ｎｅはハイパーパラメータであり、例えば、Ｎｅ＝１５等とすればよい。
【００５０】
ステップＳ１０３：入力部１０２は、訓練データセットをＮｂ個のミニバッチに分割する。なお、ミニバッチへの分割数Ｎｂはハイパーパラメータであり、例えば、Ｎｂ＝６０等とすればよい。
【００５１】
ステップＳ１０４：質問応答装置１０は、Ｎｂ個のミニバッチ毎に、パラメータ更新処理を繰り返し実行する。すなわち、質問応答装置１０は、ミニバッチを用いて損失を計算した上で、この損失を用いて任意の最適化方法によりパラメータを更新する。なお、パラメータ更新処理の詳細については後述する。
【００５２】
ステップＳ１０５：入力部１０２は、エポック数ｎｅがＮｅ−１より大きいか否かを判定する。エポック数ｎｅがＮｅ−１より大きいと判定されなかった場合、質問応答装置１０は、ステップＳ１０６の処理を実行する。一方で、エポック数ｎｅがＮｅ−１より大きいと判定された場合、質問応答装置１０は、学習処理を終了する。
【００５３】
ステップＳ１０６：入力部１０２は、エポック数ｎｅに対して「１」を加算する。そして、質問応答装置１０は、ステップＳ１０３の処理を実行する。これにより、ステップＳ１０１で入力された訓練データセットを用いて、ステップＳ１０３〜ステップＳ１０４の処理がＮｅ回繰り返し実行される。
【００５４】
＜パラメータ更新処理＞
ここで、上記のステップＳ１０４におけるパラメータ更新処理の詳細について、図６Ａ及び図６Ｂを参照しながら説明する。図６Ａ及び図６Ｂは、本発明の第一の実施形態におけるパラメータ更新処理の一例を示すフローチャートである。なお、以降では、Ｎｂ個のミニバッチのうちの或る１つのミニバッチを用いたパラメータ更新処理について説明する。
【００５５】
ステップＳ２０１：入力部１０２は、ミニバッチの中から１つの訓練データを取得する。なお、以降では、訓練データに含まれる文書集合はＫ個の文書で構成されているものとする。
【００５６】
ステップＳ２０２：単語系列ベクトル化部１０３は、各ｋ（ｋ＝１，・・・，Ｋ）に対して、当該訓練データに含まれる文書集合のｋ番目の文書の単語系列
【００５７】
【数１】
2020135289.tif 000003
に含まれる各単語で単語ベクトル記憶部１０１を検索し、これら各単語を単語ベクトルに変換することで、ｋ番目の文書の単語系列を文書ベクトル系列
【００５８】
【数２】
2020135289.tif 000004
に変換する。Ｌは、文書の単語系列の長さであり、例えば、Ｌ＝４００等とすればよい。
【００５９】
このとき、単語系列ベクトル化部１０３は、ｋ番目の文書の単語系列を文書ベクトル系列Ｘｋに変換する前に、当該単語系列の先頭に特殊文字＜Ｓ＞を挿入すると共に、末尾に特殊文字＜／Ｓ＞を挿入する。また、単語系列ベクトル化部１０３は、特殊文字＜Ｓ＞及び＜／Ｓ＞を挿入した後の単語系列の長さがＬ未満である場合は、当該単語系列の長さがＬとなるように、特殊文字＜ＰＡＤ＞でパディングする。更に、単語系列ベクトル化部１０３は、単語ベクトル記憶部１０１に格納されていない単語を単語ベクトルに変換する際には、当該単語を特殊文字＜ＵＮＫ＞として扱って単語ベクトルに変換する。
【００６０】
ステップＳ２０３：次に、単語系列ベクトル化部１０３は、以下の参考文献２に記載されている双方向のＧＲＵ（Gated Recurrent Unit）により、各ｋ（ｋ＝１，・・・，Ｋ）に対して、ｋ番目の文書ベクトル系列Ｘｋを文書ベクトル系列
【００６１】
【数３】
2020135289.tif 000005
に変換する。ここで、ｄはＧＲＵの隠れ状態のサイズである。ｄとしては、例えば、ｄ＝１００等とすればよい。
【００６２】
［参考文献２］
Kyunghyun Cho, Bart van Merrienboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, Yoshua Bengio: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation. EMNLP 2014: 1724-1734
【００６３】
ステップＳ２０４：単語系列ベクトル化部１０３は、当該訓練データに含まれる質問の単語系列
【００６４】
【数４】
2020135289.tif 000006
に含まれる各単語で単語ベクトル記憶部１０１を検索し、これら各単語を単語ベクトルに変換することで、質問の単語系列を質問ベクトル系列
【００６５】
【数５】
2020135289.tif 000007
に変換する。Ｊは、質問の単語系列の長さであり、例えば、Ｊ＝３０等とすればよい。なお、このとき、単語系列ベクトル化部１０３は、上記のステップＳ２０２と同様に、特殊文字＜Ｓ＞、＜／Ｓ＞、＜ＰＡＤ＞及び＜ＵＮＫ＞を用いる。
【００６６】
ステップＳ２０５：次に、単語系列ベクトル化部１０３は、上記のステップＳ２０３と同様に、参考文献２に記載されている双方向のＧＲＵにより、質問ベクトル系列Ｘｑを質問ベクトル系列
【００６７】
【数６】
2020135289.tif 000008
に変換する。
【００６８】
ここで、以降では、Ｅ１ｑ∈Ｒ２ｄの各要素のうち、逆方向のＧＲＵに対応するｄ次元分の要素で構成されるベクトルと、ＥＪｑ∈Ｒ２ｄの各要素のうち、順方向のＧＲＵに対応するｄ次元分の要素で構成されるベクトルとを連結したベクトルを
【００６９】
【数７】
2020135289.tif 000009
とする。
【００７０】
ステップＳ２０６：次に、単語系列マッチング部１０４は、各ｋ（ｋ＝１，・・・，Ｋ）に対して、文書ベクトル系列Ｅｋと質問ベクトル系列Ｅｑとのマッチング行列Ｓｋの（ｌ，ｊ）成分の要素を以下の式（１）によりそれぞれ計算する。
【００７１】
【数８】
2020135289.tif 000010
ここで、
【００７２】
【数９】
2020135289.tif 000011
は各ベクトルの要素毎の積（アダマール積）、「；」はベクトルの連結、τは転置を表す。また、ｗｓ∈Ｒ６ｄは、回答文生成モデルの学習パラメータである。
【００７３】
ステップＳ２０７：次に、単語系列マッチング部１０４は、各ｋ（ｋ＝１，・・・，Ｋ）に対して、マッチング行列Ｓｋを用いて、以下の式（２）及び（３）により行列Ａｋ及びＢｋを計算する。
【００７４】
【数１０】
2020135289.tif 000012
【００７５】
ステップＳ２０８：次に、単語系列マッチング部１０４は、文書ベクトル系列Ｅｋと、質問ベクトル系列Ｅｑと、行列Ａｋ及びＢｋとを用いて、以下の式（４）及び（５）によりベクトル系列Ｇｑ→ｋ及びＧｋ→ｑを計算する。
【００７６】
【数１１】
2020135289.tif 000013
ここで、
【００７７】
【数１２】
2020135289.tif 000014
である。なお、Ｇｋ→ｑは１度のみ計算され、Ｇｑ→ｋは文書毎に計算される（つまり、Ｇｑ→ｋは各ｋ（ｋ＝１，・・・，Ｋ）に対して計算される。）。
【００７８】
ステップＳ２０９：次に、単語系列マッチング部１０４は、１層の双方向ＧＲＵ（隠れ状態サイズｄ）により、ベクトル系列Ｇｑ→ｋ及びＧｋ→ｑをマッチングベクトル系列Ｍｑ→ｋ∈Ｒ２ｄ×Ｌ及びＭｋ→ｑ∈Ｒ２ｄ×Ｊにそれぞれ変換する。
【００７９】
ステップＳ２１０：次に、スタイル依存回答文生成部１０５は、以下の式（６）によりデコーダの初期状態ｈ０∈Ｒ２ｄを計算する。
【００８０】
【数１３】
2020135289.tif 000015
ここで、Ｗ∈Ｒ２ｄ×２ｄ及びｂ∈Ｒ２ｄは、回答文生成モデルの学習パラメータである。
【００８１】
ステップＳ２１１：次に、スタイル依存回答文生成部１０５は、出力単語ｙ０を特殊文字＜Ｓ＞とすると共に、出力単語ｙｔのインデックスｔをｔ＝１に初期化する。また、スタイル依存回答文生成部１０５は、質問コンテキストベクトルｃ０ｑ及び文書集合コンテキストベクトルｃ０ｘを、それぞれ２ｄ次元の零ベクトルに初期化する。
【００８２】
ステップＳ２１２：次に、スタイル依存回答文生成部１０５は、単方向のＧＲＵによりデコーダの状態ｈｔを更新する。すなわち、スタイル依存回答文生成部１０５は、以下の式（７）によりデコーダの状態ｈｔを更新する。
【００８３】
【数１４】
2020135289.tif 000016
ここで、Ｙｔ−１は、単語ベクトル記憶部１０１に格納されているデータにより、１つ前のインデックスｔ−１での出力単語ｙｔ−１を、ｖ次元の単語ベクトルに変換したものである。また、ｚは、回答スタイルの種類数次元のｏｎｅ―ｈｏｔベクトルであり、指定された回答スタイル（つまり、該当の訓練データに含まれる回答スタイル）に対応する要素のみ１、他の要素は０となるベクトルである。例えば、回答スタイルの種類として「単語」と「自然文」とを考える場合、ｚは２次元のベクトルとなる。
【００８４】
ステップＳ２１３：次に、スタイル依存回答文生成部１０５は、デコーダの状態ｈｔを用いて、質問への注視分布αｔｊｑと質問コンテキストベクトルｃｔｑとを以下の式（８）〜（１０）により計算する。
【００８５】
【数１５】
2020135289.tif 000017
ここで、ＭｊｑはＭｋ→ｑ∈Ｒ２ｄ×Ｊのｊ番目の列ベクトルである。また、Ｓはスコア関数であり、例えば、内積を用いることができる。なお、スコア関数Ｓとしては、内積以外に、例えば、ｂｉｌｉｎｅａｒや多層パーセプトロン等が用いられてもよい。
【００８６】
ステップＳ２１４：次に、スタイル依存回答文生成部１０５は、デコーダの状態ｈｔを用いて、文書集合への注視分布αｔｋｌｘと文書コンテキストベクトルｃｔｋとを以下の式（１１）〜（１３）により計算する。
【００８７】
【数１６】
2020135289.tif 000018
ここで、ＭｌｋはＭｑ→ｋ∈Ｒ２ｄ×Ｌのｌ番目の列ベクトルである。なお、スコア関数Ｓは、内積を用いることができるが、上述した通り、例えば、ｂｉｌｉｎｅａｒや多層パーセプトロン等が用いられてもよい。
【００８８】
ステップＳ２１５：次に、スタイル依存回答文生成部１０５は、確率合成比λを以下の式（１４）により計算する。
【００８９】
【数１７】
2020135289.tif 000019
ここで、Ｗλ∈Ｒ３×５ｄ及びｂλ∈Ｒ３は、回答文生成モデルの学習パラメータである。
【００９０】
確率合成比λとは、質問と、文書集合と、予め設定された出力語彙とのいずれに含まれる単語を重視して出力単語ｙｔを生成するかを調整するパラメータである。以降では、確率合成比λを、λ＝［λ１，λ２，λ３］τと表す。なお、出力語彙とは、回答文に用いることが可能な単語の集合のことである。出力語彙の語彙数（つまり、単語の種類数）をＶｏｕｔと表す。
【００９１】
ステップＳ２１６：次に、スタイル依存回答文生成部１０５は、確率混合比λを用いて、単語ｙｔの生成確率ｐを以下の式（１５）により計算する。
【００９２】
【数１８】
2020135289.tif 000020
ここで、
【００９３】
【数１９】
2020135289.tif 000021
として、文書の注視分布と単語の注視分布とを利用する。また、設定された出力語彙における単語の確率ＰＧは以下により計算される。
【００９４】
【数２０】
2020135289.tif 000022
ここで、
【００９５】
【数２１】
2020135289.tif 000023
は、回答文生成モデルの学習パラメータである。また、σは活性化関数であり、例えば、ＲｅＬＵが用いられる。
【００９６】
ステップＳ２１７：次に、スタイル依存回答文生成部１０５は、上記の式（１５）で計算された生成確率ｐに基づいて、ｔ番目の出力単語ｙｔを生成する。ここで、スタイル依存回答文生成部１０５は、例えば、生成確率ｐが最大となる単語を出力単語ｙｔとして生成してもよいし、生成確率ｐの分布（確率分布）に従ってサンプリングにより単語を出力単語ｙｔとして生成してもよい。
【００９７】
ステップＳ２１８：次に、スタイル依存回答文生成部１０５は、該当の訓練データに含まれる正解回答文のｔ番目の単語が特殊単語＜／Ｓ＞（つまり、文末を表す特殊単語）であるか否かを判定する。正解回答文のｔ番目の単語が＜／Ｓ＞でないと判定された場合、質問応答装置１０は、ステップＳ２１９の処理を実行する。一方で、正解回答文のｔ番目の単語が＜／Ｓ＞であると判定された場合、質問応答装置１０は、ステップＳ２２０の処理を実行する。
【００９８】
ステップＳ２１９：スタイル依存回答文生成部１０５は、出力単語ｙｔのインデックスｔに「１」を加算する。そして、スタイル依存回答文生成部１０５は、加算後のｔを用いて、ステップＳ２１２の処理を実行する。これにより、各ｔ（ｔ＝１，２，・・・）に対して、正解回答文のｔ番目の単語が＜／Ｓ＞となるまで、ステップＳ２１２〜ステップＳ１７の処理が繰り返し実行される。
【００９９】
ステップＳ２２０：パラメータ学習部１０６は、上記のステップＳ２１７で生成された出力単語ｙｔと、正解回答文とを用いて、以下の式（１６）により損失ＬＧを計算する。
【０１００】
【数２２】
2020135289.tif 000024
ここで、ｙｔ＊は、正解回答文のｔ番目の単語（つまり、ｔ番目の正解単語）である。また、Ｔは、正解回答文の長さである。これにより、１つの訓練データに関する損失ＬＧが計算される。
【０１０１】
ステップＳ２２１：次に、入力部１０２は、未取得の訓練データがミニバッチの中にあるか否かを判定する。未取得の訓練データがミニバッチの中にあると判定された場合、質問応答装置１０は、ステップＳ２０１の処理を実行する。これにより、ミニバッチに含まれる訓練データ毎に、ステップＳ２０２〜ステップＳ２２０の処理が実行される。一方で、未取得の訓練データがミニバッチの中にないと判定された場合（すなわち、ミニバッチに含まれる全ての訓練データに対してステップＳ２０２〜ステップＳ２２０の処理が実行された場合）、質問応答装置１０は、ステップＳ２２２の処理を実行する。
【０１０２】
ステップＳ２２２：パラメータ学習部１０６は、ミニバッチに含まれる各訓練データに関してそれぞれ計算された損失ＬＧの平均を計算した上で、計算した平均を用いて、例えば確率的勾配降下法により回答文生成モデル（ニューラルネットワーク）の学習パラメータを更新する。なお、確率的勾配降下法はパラメータ最適化方法の一例であって、任意の最適化方法により学習パラメータが更新されてもよい。これにより、１つのミニバッチを用いて、回答文生成モデルの学習パラメータが更新される。
【０１０３】
なお、上記のステップＳ２１７では出力単語ｙｔを生成しているが、必ずしも出力単語ｙｔが生成される必要はない。出力単語ｙｔを生成せずに、上記の式（１６）に示す損失ＬＧが計算されてもよい。
【０１０４】
＜質問応答処理＞
以降では、本発明の第一の実施形態における質問応答装置１０によって質問応答する処理（質問応答処理）について、図７を参照しながら説明する。図７は、本発明の第一の実施形態における質問応答処理の一例を示すフローチャートである。なお、上述したように、質問応答時の質問応答装置１０は、図２に示す各機能部及び記憶部を有している。
【０１０５】
ステップＳ３０１：入力部１０２は、テストデータを取得する。なお、以降では、テストデータに含まれる文書集合はＫ個の文書で構成されているものとする。
【０１０６】
以降のステップＳ３０２〜ステップＳ３１７及びステップＳ３１９の処理は、上記のステップＳ２０２〜ステップＳ２１７及びステップＳ２１９の処理とそれぞれ同様であるため、その説明を省略する。ただし、ステップＳ３０２〜ステップＳ３１７及びステップＳ３１９の処理では、上記のステップＳ３０１で入力されたテストデータに含まれる質問と文書集合と回答スタイルとを用いる。また、回答文生成モデル（ニューラルネットワーク）のパラメータは、学習処理で学習されたパラメータを用いる。
【０１０７】
ステップＳ３１８：スタイル依存回答文生成部１０５は、ステップＳ３１７で生成された出力単語ｙｔが特殊単語＜／Ｓ＞（つまり、文末を表す特殊単語）であるか否かを判定する。出力単語ｙｔが特殊単語＜／Ｓ＞でないと判定された場合、質問応答装置１０は、ステップＳ３１９の処理を実行する。一方で、出力単語ｙｔが特殊単語＜／Ｓ＞であると判定された場合、質問応答装置１０は、ステップＳ３２０の処理を実行する。
【０１０８】
ステップＳ３２０：出力部１０７は、ステップＳ３１７で生成された各出力単語ｙｔで構成される回答文を出力する。これにより、テストデータに含まれる質問に対する回答文として、当該テストデータに含まれる回答スタイルに応じた回答文が得られる。
【０１０９】
＜本発明の第一の実施形態の実験結果＞
ここで、本発明の第一の実施形態における手法（以降、「本発明の手法」と表す。）の実験結果を以下の表１に示す。
【０１１０】
【表１】
2020135289.tif 000025
ここで、実験データとしては、MS MARCO v.2.1のDev Setに含まれるデータのうち、回答可能な質問と自然文の回答文とが含まれるデータを用いた。また、評価指標としては、Rouge-LとBleu-1とを用いた。上記の表１中の「w/o multi-style learning」は、回答スタイルを考慮しないで回答文を生成する技術（従来技術）を表す。
【０１１１】
上記の表１に示すように、本発明の手法では、Rouge-L及びBleu-1いずれでも従来技術より高い値が得られている。したがって、本発明の手法によれば、与えられた質問に対して、回答スタイルに応じた自然な回答文が得られていることがわかる。このため、本発明の手法によれば、或る回答スタイルに応じた回答文を出力する従来技術によりも、当該回答スタイルに応じた回答文をより高い精度で得ることが可能となる。
【０１１２】
［第二の実施形態］
ここで、質問応答装置１０に与えられた文書集合の中には、一般に、回答文の生成に適合する文書と回答文の生成に適合しない文書とが混在している場合が多い。また、文書集合全体として回答文を生成するのに不十分な場合がある。各文書が回答文の生成に適合しているか否かや文書集合全体が回答文の生成に十分であるか否かは、生成された回答文の精度等に密接な関係がある。
【０１１３】
そこで、第二の実施形態では、任意の文書集合と、この文書集合に対する任意の質問と、例えばユーザ等によって指定された回答スタイルとが与えられた場合に、ニューラルネットワークによる文生成技術を用いて、当該回答スタイルに応じた回答文の生成に加えて、回答文の生成に対する各文書の適合度を表す文書適合性と、回答文の生成に対する文書集合全体としての十分性を表す回答可能性とを出力する質問応答装置１０について説明する。
【０１１４】
なお、本発明の第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と同一の構成要素については、適宜、その説明を省略又は簡略化するものとする。
【０１１５】
＜質問応答装置１０の機能構成＞
≪学習時≫
本発明の第二の実施形態の学習時における質問応答装置１０の機能構成について、図８を参照しながら説明する。図８は、本発明の第二の実施形態における質問応答装置１０の機能構成（学習時）の一例を示す図である。
【０１１６】
図８に示すように、学習時における質問応答装置１０は、記憶部として、単語ベクトル記憶部１０１を有する。また、学習時における質問応答装置１０は、機能部として、入力部１０２と、単語系列ベクトル化部１０３と、単語系列マッチング部１０４と、スタイル依存回答文生成部１０５と、パラメータ学習部１０６と、文書適合度計算部１０８と、回答可能性計算部１０９とを有する。
【０１１７】
第二の実施形態では、訓練データには、質問と、文書集合と、回答スタイルと、正解回答文と、当該文書集合に含まれる各文書の文書適合度と、当該文書集合全体の回答可能性との組で表されものとする。文書適合度とは、回答文の生成に対する文書の適合度を表す指標値であり、例えば０以上１以下の値を取り得る。また、回答可能性とは、回答文の生成に対する文書集合全体としての十分性を表す指標値であり、例えば０以上１以下の値を取り得る。なお、訓練データに含まれる文書適合度及び回答可能性を、それぞれ「正解文書適合度」及び「正解回答可能性」とも表す。
【０１１８】
文書適合度計算部１０８は、文書集合に含まれる各文書の文書適合度を計算する。回答可能性計算部１０９は、文書集合全体の回答可能性を計算する。
【０１１９】
また、パラメータ学習部１０６は、当該訓練データに含まれる正解回答文と、生成された回答文との損失（誤差）、当該訓練データに含まれる正解文書適合度と、計算された文書適合度との損失（誤差）、及び当該訓練データに含まれる正解回答可能性と、計算された回答可能性との損失（誤差）を用いて、ニューラルネットワーク（回答文生成モデル）のパラメータを学習（更新）する。これにより、ニューラルネットワーク（回答文生成モデル）が学習される。
【０１２０】
ここで、第二の実施形態では、文書ベクトル系列Ｅｋと質問ベクトル系列Ｅｑとのマッチング行列Ｓｋを計算するニューラルネットワークを、スタイル依存回答文生成部１０５と、文書適合度計算部１０８と、回答可能性計算部１０９とで共有している。これにより、学習後の回答文生成モデルでは、回答文と、文書適合度と、回答可能性とを高い精度で生成及び出力することが可能となる。
【０１２１】
≪質問応答時≫
本発明の第二の実施形態の質問応答時における質問応答装置１０の機能構成について、図９を参照しながら説明する。図９は、本発明の第二の実施形態における質問応答装置１０の機能構成（質問応答時）の一例を示す図である。
【０１２２】
図９に示すように、質問応答時における質問応答装置１０は、記憶部として、単語ベクトル記憶部１０１を有する。また、質問応答時における質問応答装置１０は、機能部として、入力部１０２と、単語系列ベクトル化部１０３と、単語系列マッチング部１０４と、スタイル依存回答文生成部１０５と、出力部１０７と、文書適合度計算部１０８と、回答可能性計算部１０９とを有する。なお、これらの記憶部及び各機能部は、上述した通りである。
【０１２３】
＜学習処理＞
以降では、本発明の第二の実施形態における質問応答装置１０によって回答文生成モデルを学習する処理（学習処理）について、図１０を参照しながら説明する。図１０は、本発明の第二の実施形態における学習処理の一例を示すフローチャートである。なお、上述したように、学習時の質問応答装置１０は、図８に示す各機能部及び記憶部を有している。図１０のステップＳ４０１〜ステップＳ４０６は、図５のステップＳ１０１〜ステップＳ１０６とそれぞれ同様であるため、その説明を省略する。ただし、ステップＳ４０４におけるパラメータ更新処理の詳細は、ステップＳ１０４とは異なる。
【０１２４】
＜パラメータ更新処理＞
そこで、上記のステップＳ４０４におけるパラメータ更新処理の詳細について、図１１Ａ及び図１１Ｂを参照しながら説明する。図１１Ａ及び図１１Ｂは、本発明の第二の実施形態におけるパラメータ更新処理の一例を示すフローチャートである。なお、以降では、Ｎｂ個のミニバッチのうちの或る１つのミニバッチを用いたパラメータ更新処理について説明する。
【０１２５】
ステップＳ５０１：入力部１０２は、ミニバッチの中から１つの訓練データを取得する。なお、以降では、訓練データに含まれる文書集合はＫ個の文書で構成されているものとする。
【０１２６】
ステップＳ５０２：単語系列ベクトル化部１０３は、上記のステップＳ２０２と同様に、各ｋ（ｋ＝１，・・・，Ｋ）に対して、ｋ番目の文書の単語系列を文書ベクトル系列Ｘｋに変換する。
【０１２７】
ステップＳ５０３：次に、単語系列ベクトル化部１０３は、上記のステップＳ２０３と同様に、参考文献２に記載されている双方向のＧＲＵにより、各ｋ（ｋ＝１，・・・，Ｋ）に対して、ｋ番目の文書ベクトル系列Ｘｋを文書ベクトル系列Ｅｋに変換する。
【０１２８】
なお、単語系列ベクトル化部１０３は、双方向のＧＲＵの代わりに、例えば、以下の参考文献３に記載されているＬＳＴＭ（Long short-term memory）や以下の参考文献４に記載されているTransformer等により、文書ベクトル系列Ｘｋを文書ベクトル系列Ｅｋに変換してもよい。
【０１２９】
［参考文献３］
Sepp Hochreiter and Jurgen Schmidhuber. 1997. Long Short-Term Memory. Neural Computation 9, 8 (1997), 1735-1780
［参考文献４］
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin: Attention is All you Need. NIPS 2017: 6000-6010
【０１３０】
ステップＳ５０４：単語系列ベクトル化部１０３は、上記のステップＳ２０４と同様に、質問の単語系列を質問ベクトル系列Ｘｑに変換する。
【０１３１】
ステップＳ５０５：次に、単語系列ベクトル化部１０３は、上記のステップＳ２０３と同様に、参考文献２に記載されている双方向のＧＲＵにより、質問ベクトル系列Ｘｑを質問ベクトル系列Ｅｑに変換する。
【０１３２】
なお、単語系列ベクトル化部１０３は、上記のステップＳ５０３と同様に、双方向のＧＲＵの代わりに、例えば、参考文献３に記載されているＬＳＴＭや参考文献４に記載されているTransformer等により、質問ベクトル系列Ｘｑを質問ベクトル系列Ｅｑに変換してもよい。
【０１３３】
以降のステップＳ５０６〜ステップＳ５０８の処理は、上記のステップＳ２０６〜ステップＳ２０８の処理とそれぞれ同様であるため、その説明を省略する。
【０１３４】
ステップＳ５０９：単語系列マッチング部１０４は、上記のステップＳ２０９と同様に、１層の双方向ＧＲＵ（隠れ状態サイズｄ）により、ベクトル系列Ｇｑ→ｋ及びＧｋ→ｑをマッチングベクトル系列Ｍｑ→ｋ∈Ｒ２ｄ×Ｌ及びＭｋ→ｑ∈Ｒ２ｄ×Ｊにそれぞれ変換する。
【０１３５】
なお、単語系列マッチング部１０４は、１層の双方向ＧＲＵの代わりに、例えば、参考文献３に記載されているＬＳＴＭや参考文献４に記載されているTransformer等により、ベクトル系列Ｇｑ→ｋ及びＧｋ→ｑをマッチングベクトル系列Ｍｑ→ｋ∈Ｒ２ｄ×Ｌ及びＭｋ→ｑ∈Ｒ２ｄ×Ｊにそれぞれ変換してもよい。
【０１３６】
ステップＳ５１０：文書適合度計算部１０８は、以下の式（１７）により、各文書の文書適合度βｋ∈［０，１］を計算する。
【０１３７】
【数２３】
2020135289.tif 000026
ここで、Ｍｋ，ｐｏｏｌ∈Ｒ２ｄはｋ番目の文書のプーリング表現である。また、ｗｒａｎｋ∈Ｒ２ｄは、回答文生成モデルの学習パラメータである。プーリング表現Ｍｋ，ｐｏｏｌとしては、例えば、Ｍｋ→ｑの双方向ＧＲＵのそれぞれの末尾ベクトルを連結したベクトルやTransformerの先頭ベクトル等が利用可能である。
【０１３８】
ステップＳ５１１：回答可能性計算部１０９は、以下の式（１８）により、質問に対する文書集合の回答可能性ａ∈［０，１］を計算する。
【０１３９】
【数２４】
2020135289.tif 000027
ここで、ｗａｎｓ∈Ｒ２Ｋｄは、回答文生成モデルの学習パラメータである。
【０１４０】
ステップＳ５１２：スタイル依存回答文生成部１０５は、上記のステップＳ２１１と同様に、出力単語ｙ０を特殊文字＜Ｓ＞とすると共に、出力単語ｙｔのインデックスｔをｔ＝１に初期化する。また、スタイル依存回答文生成部１０５は、質問コンテキストベクトルｃ０ｑ及び文書集合コンテキストベクトルｃ０ｘを、それぞれ２ｄ次元の零ベクトルに初期化する。
【０１４１】
ステップＳ５１３：次に、単語系列ベクトル化部１０３は、当該訓練データに含まれる正解質問の単語系列（ｙ１，ｙ２，・・・，ｙＴ）に含まれる各単語で単語ベクトル記憶部１０１を検索し、これら各単語を単語ベクトルに変換することで、当該単語系列をベクトル系列Ｙ＝［Ｙ１，Ｙ２，・・・，ＹＴ］∈Ｒｖ×Ｔに変換する。
【０１４２】
このとき、単語系列ベクトル化部１０３は、単語系列（ｙ１，ｙ２，・・・，ｙＴ）をベクトル系列Ｙに変換する前に、指定された回答スタイル（つまり、該当の訓練データに含まれる回答スタイル）に応じた特殊文字を当該単語系列の先頭に挿入すると共に、末尾に特殊文字＜／Ｓ＞を挿入する。例えば、回答スタイルの種類として「単語」と「自然文」とがあり、「単語」の特殊文字が＜Ｅ＞、「自然文」の特殊文字が＜Ａ＞であるとする。この場合に、指定された回答スタイルが「自然文」である場合は、単語系列ベクトル化部１０３は、当該単語系列の先頭に特殊文字＜Ａ＞を挿入する。一方で、指定された回答スタイルが「単語」である場合は、単語系列ベクトル化部１０３は、当該単語系列の先頭に特殊文字＜Ｅ＞を挿入する。
【０１４３】
また、単語系列ベクトル化部１０３は、単語ベクトル記憶部１０１に格納されていない単語を単語ベクトルに変換する際には、当該単語を特殊文字＜ＵＮＫ＞として扱って単語ベクトルに変換する。なお、第二の実施形態では、単語ベクトル記憶部１０１には、回答スタイルに応じた特殊文字と、この特殊文字の単語ベクトルとを対応付けたデータが格納されているものとする。
【０１４４】
ステップＳ５１４：次に、スタイル依存回答文生成部１０５は、デコーダの状態ｈ＝［ｈ１，ｈ２，・・・，ｈＴ］∈Ｒ２ｄ×Ｔを計算する。スタイル依存回答文生成部１０５は、Transformerブロック処理によりデコーダの状態ｈを計算する。Transformerブロック処理では、参考文献４に記載されているMaskedSelfAttention、MultiHeadAttention及びFeedForwardNetworkを利用する。すなわち、スタイル依存回答文生成部１０５は、Ｍａ＝ｗｄｅｃＹを計算した後、以下の式（１９）〜（２２）によりデコーダの状態ｈを計算する。
【０１４５】
【数２５】
2020135289.tif 000028
ここで、ｗｄｅｃ∈Ｒ２ｄ×ｖは、回答文生成モデルの学習パラメータである。これにより、デコーダの状態ｈ∈Ｒ２ｄ×Ｔが得られる。なお、上記の式（１９）〜（２２）を１ブロックとして、スタイル依存回答文生成部１０５は、ブロック処理を繰り返し実行してもよい。
【０１４６】
なお、パラメータ更新処理では、１つの訓練データに対して、上記のステップＳ５１４が１度実行されればよい（つまり、上記のステップＳ５１４をインデックスｔ毎に繰り返し実行しなくてもよい。）。
【０１４７】
以降のステップＳ５１５〜ステップＳ５２１の処理は、上記のステップＳ２１３〜ステップＳ２１９の処理とそれぞれ同様であるため、その説明を省略する。
【０１４８】
ステップＳ５２２：パラメータ学習部１０６は、出力単語ｙｔと、正解回答文と、文書適合度βｋと、正解文書適合度と、回答可能性ａと、正解回答可能性とを用いて、以下の式（２３）により損失Ｌを計算する。
【０１４９】
【数２６】
2020135289.tif 000029
ここで、ＬＧは以下の式（２４）により計算される。
【０１５０】
【数２７】
2020135289.tif 000030
また、Ｌｒａｎｋは以下の式（２５）により計算される。
【０１５１】
【数２８】
2020135289.tif 000031
ここで、ｒｋは、ｋ番目の文書の正解文書適合度である。
【０１５２】
また、Ｌｃｌｓは以下の式（２６）により計算される。
【０１５３】
【数２９】
2020135289.tif 000032
なお、上記の式（２３）のλｒａｎｋ及びλｃｌｓはユーザ等により設定されるパラメータであり、例えば、λｒａｎｋ＝０．５、λｃｌｓ＝０．１等とすればよい。
【０１５４】
以降のステップＳ５２３〜ステップＳ５２４の処理は、上記のステップＳ２２１〜ステップＳ２２２の処理とそれぞれ同様であるため、その説明を省略する。これにより、１つのミニバッチを用いて、回答文生成モデルの学習パラメータが更新される。
【０１５５】
なお、第一の実施形態と同様に上記のステップＳ５１９では、必ずしも出力単語ｙｔが生成される必要はない。出力単語ｙｔを生成せずに、上記の式（２３）に示す損失Ｌが計算されてもよい。
【０１５６】
＜質問応答処理＞
以降では、本発明の第二の実施形態における質問応答装置１０によって質問応答する処理（質問応答処理）について、図１２Ａ及び図１２Ｂを参照しながら説明する。図１２Ａ及び図１２Ｂは、本発明の第二の実施形態における質問応答処理の一例を示すフローチャートである。なお、上述したように、質問応答時の質問応答装置１０は、図２に示す各機能部及び記憶部を有している。
【０１５７】
ステップＳ６０１：入力部１０２は、テストデータを取得する。なお、以降では、テストデータに含まれる文書集合はＫ個の文書で構成されているものとする。
【０１５８】
以降のステップＳ６０２〜ステップＳ６１２、ステップＳ６１４〜ステップＳ６１９及びステップＳ６２１の処理は、上記のステップＳ５０２〜ステップＳ５１２、ステップＳ５１４〜ステップＳ５１９及びステップＳ５２１の処理とそれぞれ同様であるため、その説明を省略する。ただし、ステップＳ６０２〜ステップＳ６１２、ステップＳ６１４〜ステップＳ６１９及びステップＳ６２１の処理では、上記のステップＳ６０１で入力されたテストデータに含まれる質問と文書集合と回答スタイルとを用いる。また、回答文生成モデル（ニューラルネットワーク）のパラメータは、学習処理で学習されたパラメータを用いる。
【０１５９】
ステップＳ６１３：単語系列ベクトル化部１０３は、ステップＳ６１９で生成された出力単語の単語系列（ｙ１，・・・，ｙｔ−１）に含まれる各単語で単語ベクトル記憶部１０１を検索し、これら各単語を単語ベクトルに変換することで、当該単語系列をベクトル系列Ｙ＝［Ｙ１，Ｙ２，・・・，ＹＴ］∈Ｒｖ×Ｔに変換する。
【０１６０】
このとき、単語系列ベクトル化部１０３は、単語系列（ｙ１，ｙ２，・・・，ｙｔ−１）をベクトル系列Ｙに変換する前に、指定された回答スタイル（つまり、テストデータに含まれる回答スタイル）に応じた特殊文字を当該単語系列の先頭に挿入すると共に、末尾に特殊文字＜／Ｓ＞を挿入する。また、単語系列ベクトル化部１０３は、回答スタイルに応じた特殊文字と特殊文字＜／Ｓ＞とを挿入した後の単語系列の長さがＴ未満である場合は、当該単語系列の長さがＴとなるように、特殊文字＜ＰＡＤ＞でパディングする。更に、単語系列ベクトル化部１０３は、単語ベクトル記憶部１０１に格納されていない単語を単語ベクトルに変換する際には、当該単語を特殊文字＜ＵＮＫ＞として扱って単語ベクトルに変換する。なお、第二の実施形態では、単語ベクトル記憶部１０１には、回答スタイルに応じた特殊文字と、この特殊文字の単語ベクトルとを対応付けたデータが格納されているものとする。
【０１６１】
ステップＳ６２０：スタイル依存回答文生成部１０５は、ステップＳ６１９で生成された出力単語ｙｔが特殊単語＜／Ｓ＞（つまり、文末を表す特殊単語）であるか否かを判定する。出力単語ｙｔが特殊単語＜／Ｓ＞でないと判定された場合、質問応答装置１０は、ステップＳ６２１の処理を実行する。一方で、出力単語ｙｔが特殊単語＜／Ｓ＞であると判定された場合、質問応答装置１０は、ステップＳ６２２の処理を実行する。
【０１６２】
ステップＳ６２２：出力部１０７は、ステップＳ６１９で生成された各出力単語ｙｔで構成される回答文と、ステップＳ６１０で計算された文書適合度βｋと、ステップＳ６１１で計算された回答可能性ａとを出力する。これにより、文書集合に含まれる各文書の文書適合度βｋと当該文書集合の回答可能性ａとが得られると共に、回答スタイルに応じた回答文が得られる。
【０１６３】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１６４】
１０        質問応答装置
１０１      単語ベクトル記憶部
１０２      入力部
１０３      単語系列ベクトル化部
１０４      単語系列マッチング部
１０５      スタイル依存回答文生成部
１０６      パラメータ学習部
１０７      出力部
１０８      文書適合度計算部
１０９      回答可能性計算部
【図１】
2020135289.tif 000033
【図２】
2020135289.tif 000034
【図３】
2020135289.tif 000035
【図４】
2020135289.tif 000036
【図５】
2020135289.tif 000037
【図６Ａ】
2020135289.tif 000038
【図６Ｂ】
2020135289.tif 000039
【図７Ａ】
2020135289.tif 000040
【図７Ｂ】
2020135289.tif 000041
【図８】
2020135289.tif 000042
【図９】
2020135289.tif 000043
【図１０】
2020135289.tif 000044
【図１１Ａ】
2020135289.tif 000045
【図１１Ｂ】
2020135289.tif 000046
【図１２Ａ】
2020135289.tif 000047
【図１２Ｂ】
2020135289.tif 000048