(57)【要約】【課題】精度よく離散構造を変換することができる。【解決手段】符号器構築部２３２が、入力された離散構造に基づいて、離散構造の各要素に対応する、要素を符号化する符号化ユニットを接続した符号器であって、主問題に対して予め定められた補助問題に対応する予測器を含む符号器を構築する。符号器計算部２３４が、構築された前記符号器に基づいて、入力された離散構造の各要素を、対応する符号化ユニットに入力して、順次計算して、入力された離散構造の符号を出力すると共に、予測器を計算して補助問題の解を予測する。復号器計算部２３６が、出力された符号及び前記補助問題の解を、復号器に入力して、順次計算して、離散構造を出力する。【選択図】図１４
2018073163.tif 000002
【特許請求の範囲】
【請求項１】
入力された離散構造を変換する主問題についての正解データに基づいて、前記主問題に対して予め定められた補助問題の正解データを生成する補助問題生成部と、
前記入力された離散構造の各要素に対応する、前記要素を符号化する符号化ユニットを接続した符号器であって、前記補助問題の解を予測する予測器を含む符号器と、前記符号器によって出力される符号、及び前記補助問題の解を入力とする、前記離散構造の要素に復号する復号化ユニットを接続した復号器と、前記主問題についての正解データと、前記補助問題の正解データとに基づいて、前記符号化ユニット、前記復号化ユニット、及び前記予測器のパラメタを学習する学習部と、
を含む符号器学習装置。
【請求項２】
前記学習部は、
前記入力された離散構造に基づいて、前記符号器を構築する符号器構築部と、
前記構築された前記符号器と、パラメタの初期値又は更新された前記パラメタとに基づいて、前記入力された離散構造の各要素を、対応する前記符号化ユニットに入力して、順次計算して、前記入力された離散構造の符号を出力すると共に、前記予測器を計算して前記補助問題の解を予測する符号器計算部と、
前記出力された符号及び前記補助問題の解を、前記復号器に入力して、順次計算して、離散構造を出力する復号器計算部と、
前記復号器計算部によって出力された離散構造と、前記主問題についての正解データとを用いて表される目的関数の値を計算する目的関数計算部と、
前記計算された目的関数の値に基づいて前記パラメタを更新するパラメタ更新部と、
予め定められた反復終了条件を満たすまで、前記符号器計算部による計算、前記復号器計算部による計算、前記目的関数計算部による計算、及び前記パラメタ更新部による更新を繰り返す終了判定部と、を含む請求項１記載の符号器学習装置。
【請求項３】
入力された離散構造を変換する主問題を解く変換装置であって、
前記入力された離散構造に基づいて、前記離散構造の各要素に対応する、前記要素を符号化する符号化ユニットを接続した符号器であって、前記主問題に対して予め定められた補助問題に対応する予測器を含む符号器を構築する符号器構築部と、
前記構築された前記符号器に基づいて、前記入力された離散構造の各要素を、対応する前記符号化ユニットに入力して、順次計算して、前記入力された離散構造の符号を出力すると共に、前記予測器を計算して前記補助問題の解を予測する符号器計算部と、
前記出力された符号及び前記補助問題の解を、前記離散構造の要素に復号する復号化ユニットを接続した復号器に入力して、順次計算して、離散構造を出力する復号器計算部と、
を含む変換装置。
【請求項４】
前記補助問題を、変換後の離散構造に含まれる要素の集合を予測する問題、変換後の離散構造に含まれる要素の数を予測する問題、前記入力された離散構造と、変換後の離散構造とのいずれにも含まれる要素の集合を予測する問題、及びそれ以外の主問題の正解データから生成できる正解データを用いて学習可能な補助問題の少なくとも一つである請求項３に記載の変換装置。
【請求項５】
補助問題生成部が、入力された離散構造を変換する主問題についての正解データに基づいて、前記主問題に対して予め定められた補助問題の正解データを生成するステップと、
学習部が、前記入力された離散構造の各要素に対応する、前記要素を符号化する符号化ユニットを接続した符号器であって、前記補助問題の解を予測する予測器を含む符号器と、前記符号器によって出力される符号、及び前記補助問題の解を入力とする、前記離散構造の要素に復号する復号化ユニットを接続した復号器と、前記主問題についての正解データと、前記補助問題の正解データとに基づいて、前記符号化ユニット及び前記予測器のパラメタを学習するステップと、
を含む符号器学習方法。
【請求項６】
入力された離散構造を変換する主問題を解く変換装置における変換方法であって、
符号器構築部が、前記入力された離散構造に基づいて、前記離散構造の各要素に対応する、前記要素を符号化する符号化ユニットを接続した符号器であって、前記主問題に対して予め定められた補助問題に対応する予測器を含む符号器を構築するステップと、
符号器計算部が、前記構築された前記符号器に基づいて、前記入力された離散構造の各要素を、対応する前記符号化ユニットに入力して、順次計算して、前記入力された離散構造の符号を出力すると共に、前記予測器を計算して前記補助問題の解を予測するステップと、
復号器計算部が、前記出力された符号及び前記補助問題の解を、前記離散構造の要素に復号する復号化ユニットを接続した復号器に入力して、順次計算して、離散構造を出力するステップと、
を含む変換方法。
【請求項７】
コンピュータを、請求項１又は２記載の符号器学習装置の各部として機能させるためのプログラム。
【請求項８】
コンピュータを、請求項３記載の変換装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号器学習装置、変換装置、方法、及びプログラムに係り、特に、離散構造を変換する問題を解くための符号器学習装置、変換装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
自然言語処理分野の問題を題材として背景技術を説明する。計算機により自然言語を処理する技術は、文章に現れる表層的な文字や単語といった離散シンボルの集合を処理する技術と言える。例えば、ある言語の文を入力し、別の言語の文を出力する自動翻訳システムを考える。このシステムでは、入力および出力の文を単語列（文字列）とみなして処理が行われる。よって、システム内の計算機により、離散構造（シンボル構造）から別の離散構造へ変換する処理を行っているとみなすことができる。また、文書要約システム、対話システム、文章構成システムなどの言語を入出力とするシステムは、前述の翻訳システム同様、離散構造から別の離散構造へ変換する処理によってシステムが構成されると言える。このように、前述の自然言語処理システム以外の自然言語処理システムでも、自然言語を扱うシステムでは、扱う対象が単語、文、文書といった離散構造であるため、入力から出力へどのような変換を行うかという定義の違いはあるにせよ、処理のフレームワークは同じであり、離散構造から離散構造の変換問題に帰着できる。図１に自然言語処理における変換問題の各種の例を示す。
【０００３】
近年、ニューラルネットに基づく文字列-文字列変換方法が注目を浴びている。例えば、非特許文献１や非特許文献２では、リカレントニューラルネットの枠組みを使い、離散構造を実数値ベクトルへ符号化し、その実数値ベクトルから離散構造を復号するという方法論で離散構造-離散構造変換問題を実現している。
【０００４】
例えば、非特許文献１では、図２に示すように符号器及び復号器を構成することが開示されている。
【０００５】
ここで、説明のための関数群及び演算子を図３に示す。関数群は、図２に示すように、シグモイド関数をσ１、tanh関数をσ２、softmax関数をσ３、relu関数をσ４とする。各関数は、ベクトルを入力とし、入力されたベクトルと同じ大きさ（次元数）のベクトルを返す関数である。また各関数は、入力されたベクトルの要素毎に所定の計算をし、入力されたベクトルと同じ要素番号（位置）に結果を格納する。これはベクトルを行列に置き換えた場合についても同様である。
【０００６】
非特許文献１記載の復号器では、復号化ユニットの出力から、以下の式に従って単語を順次予測することにより、系列の単語を予測する。
【０００７】
【数１】
2018073163.tif 000003
【０００８】
図２の例の場合には予測した単語は
【０００９】
【数２】
2018073163.tif 000004
【００１０】
として出力され、一つ目の単語は「It」となる。
【００１１】
ここで、符号器の構築の原理を説明する。符号器は、符号化ユニットを連結することで符号器全体を構成する。符号化ユニット内部は様々な構成が考えられるが、ここでは例として、リカレントニューラルネット（ＲＮＮ）により構成する場合と、長短期記憶メモリ（ＬＳＴＭ）により構築する場合の例をあげる。
【００１２】
以下に符号化ユニットをＲＮＮにより構築する場合と、ＬＳＴＭにより構築する場合の計算式を下記（１）式、（２）式に示す。
【００１３】
【数３】
2018073163.tif 000005
【００１４】
【数４】
2018073163.tif 000006
【００１５】
各符号化ユニットに入力される情報は、通常の入力ラベルのベクトルｘと、接続する符号化ユニットの中間（符号）状態ｚとなる。
【００１６】
また、非特許文献２では、図４に示すように符号器及び復号器を構成することが開示されている。図４では、一番目の単語を生成する際の処理として、符号器内の各符号化ユニットで得た隠れ層ベクトルから計算されるｃｊと、復号化ユニットの１番目の隠れ層ベクトルｈｊｔ（ただしｔ＝１）を復号器の単語生成ユニットの入力として用いている。
【００１７】
ここで、ｃｊは、以下（３）式に従って計算される。
【００１８】
【数５】
2018073163.tif 000007
・・・（３）
【００１９】
符号器及び復号器の学習について説明する。符号器及び復号器の学習は、下記、損失関数Ψを最小にするパラメタ
【００２０】
【数６】
2018073163.tif 000008
【００２１】
を探索する最小化問題として定式化できる。
【００２２】
【数７】
2018073163.tif 000009
【００２３】
パラメタ
【００２４】
【数８】
2018073163.tif 000010
【００２５】
は、ニューラルネットワーク内の全てのパラメタの集合である。関数Ψは正解となる単語ｙｎ,ｔと現在のシステムの予測結果ｏｎ,ｔとの負のクロスエントロピーに相当する。ｎは、文番号を表すとし、学習用正解データの数が上限となる。ｔは、文中の単語番号を表すとする。
【先行技術文献】
【非特許文献】
【００２６】
【非特許文献１】Sutskever, Ilya and Vinyals, Oriol and Le, Quoc V.Sequence to Sequence Learning with Neural Networks,Advances in Neural Information Processing Systems 27, pp. 3104-3112, 2014
【非特許文献２】Dzmitry Bahdanau and Kyunghyun Cho and Yoshua Bengio.Neural Machine Translation by Jointly Learning to Align and Translate ICLR-2015
【発明の概要】
【発明が解決しようとする課題】
【００２７】
上記のような従来技術（ニューラルネット等）による方法は、それ以前の方法と比較して一般的に性能が大幅に向上したと言えるが、人間が作成する文章には未だに遠く及ばないのが現状である。
【００２８】
通常、ニューラルネットに基づく系列符号器及び系列復号器による方法では入力文が与えられてから、出力文を生成するまでを一つのネットワークで表現する。
【００２９】
この場合、モデルが単一のネットワークで表現されるため、わかりやすい反面、文章から文章への変換という複雑な主問題を一つのネットワークモデルで表現する方法であるため、機械学習問題の側面では、精度よく変換するためのモデルを学習することが非常に難しい問題である、という側面がある。
【００３０】
本発明は、上記事情を鑑みて成されたものであり、精度よく離散構造を変換するためのパラメタを学習できる符号器学習装置、方法、及びプログラムを提供することを目的とする。
【００３１】
また、精度よく離散構造を変換する変換装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３２】
上記目的を達成するために、第１の発明に係る符号器学習装置は、入力された離散構造を変換する主問題についての正解データに基づいて、前記主問題に対して予め定められた補助問題の正解データを生成する補助問題生成部と、前記入力された離散構造の各要素に対応する、前記要素を符号化する符号化ユニットを接続した符号器であって、前記補助問題の解を予測する予測器を含む符号器と、前記符号器によって出力される符号、及び前記補助問題の解を入力とする、前記離散構造の要素に復号する復号化ユニットを接続した復号器と、前記主問題についての正解データと、前記補助問題の正解データとに基づいて、前記符号化ユニット、前記復号化ユニット、及び前記予測器のパラメタを学習する学習部と、を含んで構成されている。
【００３３】
また、第１の発明に係る符号器学習装置において、前記学習部は、前記入力された離散構造に基づいて、前記符号器を構築する符号器構築部と、前記構築された前記符号器と、パラメタの初期値又は更新された前記パラメタとに基づいて、前記入力された離散構造の各要素を、対応する前記符号化ユニットに入力して、順次計算して、前記入力された離散構造の符号を出力すると共に、前記予測器を計算して前記補助問題の解を予測する符号器計算部と、前記出力された符号及び前記補助問題の解を、前記復号器に入力して、順次計算して、離散構造を出力する復号器計算部と、前記復号器計算部によって出力された離散構造と、前記主問題についての正解データとを用いて表される目的関数の値を計算する目的関数計算部と、記計算された目的関数の値に基づいて前記パラメタを更新するパラメタ更新部と、予め定められた反復終了条件を満たすまで、前記符号器計算部による計算、前記復号器計算部による計算、前記目的関数計算部による計算、及び前記パラメタ更新部による更新を繰り返す終了判定部と、を含むようにしてもよい。
【００３４】
第２の発明に係る変換装置は、入力された離散構造を変換する主問題を解く変換装置であって、前記入力された離散構造に基づいて、前記離散構造の各要素に対応する、前記要素を符号化する符号化ユニットを接続した符号器であって、前記主問題に対して予め定められた補助問題に対応する予測器を含む符号器を構築する符号器構築部と、前記構築された前記符号器に基づいて、前記入力された離散構造の各要素を、対応する前記符号化ユニットに入力して、順次計算して、前記入力された離散構造の符号を出力すると共に、前記予測器を計算して前記補助問題の解を予測する符号器計算部と、前記出力された符号及び前記補助問題の解を、前記離散構造の要素に復号する復号化ユニットを接続した復号器に入力して、順次計算して、離散構造を出力する復号器計算部と、を含んで構成されている。
【００３５】
また、第２の発明に係る変換装置において、前記補助問題を、変換後の離散構造に含まれる要素の集合を予測する問題、変換後の離散構造に含まれる要素の数を予測する問題、及び前記入力された離散構造と、変換後の離散構造とのいずれにも含まれる要素の集合を予測する問題の少なくとも一つであるようにしてもよい。
【００３６】
第３の発明に係る符号器学習方法は、補助問題生成部が、入力された離散構造を変換する主問題についての正解データに基づいて、前記主問題に対して予め定められた補助問題の正解データを生成するステップと、学習部が、前記入力された離散構造の各要素に対応する、前記要素を符号化する符号化ユニットを接続した符号器であって、前記補助問題の解を予測する予測器を含む符号器と、前記符号器によって出力される符号、及び前記補助問題の解を入力とする、前記離散構造の要素に復号する復号化ユニットを接続した復号器と、前記主問題についての正解データと、前記補助問題の正解データとに基づいて、前記符号化ユニット、前記復号化ユニット、及び前記予測器のパラメタを学習するステップと、を含んで実行することを特徴とする。
【００３７】
第４の発明に係る変換方法は、入力された離散構造を変換する主問題を解く変換装置における変換方法であって、符号器構築部が、前記入力された離散構造に基づいて、前記離散構造の各要素に対応する、前記要素を符号化する符号化ユニットを接続した符号器であって、前記主問題に対して予め定められた補助問題に対応する予測器を含む符号器を構築するステップと、符号器計算部が、前記構築された前記符号器に基づいて、前記入力された離散構造の各要素を、対応する前記符号化ユニットに入力して、順次計算して、前記入力された離散構造の符号を出力すると共に、前記予測器を計算して前記補助問題の解を予測するステップと、復号器計算部が、前記出力された符号及び前記補助問題の解を、前記離散構造の要素に復号する復号化ユニットを接続した復号器に入力して、順次計算して、離散構造を出力するステップと、を含んで実行することを特徴とする。
【００３８】
第５の発明に係るプログラムは、コンピュータを、第１の発明に係る符号器学習装置の各部として機能させるためのプログラムである。
【００３９】
第６の発明に係るプログラムは、コンピュータを、第２の発明に係る変換装置の各部として機能させるためのプログラムである。
【発明の効果】
【００４０】
本発明の符号器学習装置、方法、及びプログラムによれば、離散構造を変換する主問題についての正解データに基づいて、主問題に対して予め定められた補助問題の正解データを生成し、入力された離散構造の各要素に対応する、要素を符号化する符号化ユニットを接続した符号器であって、補助問題の解を予測する予測器を含む符号器と、符号器によって出力される符号、及び補助問題の解を入力とする、離散構造の要素に復号する復号化ユニットを接続した復号器と、主問題についての正解データと、補助問題の正解データとに基づいて、符号化ユニット、復号化ユニット、及び予測器のパラメタを学習することにより、精度よく離散構造を変換するためのパラメタを学習することができる、という効果が得られる。
【００４１】
また、本発明の変換装置、方法、及びプログラムによれば、入力された離散構造に基づいて、離散構造の各要素に対応する、要素を符号化する符号化ユニットを接続した符号器であって、主問題に対して予め定められた補助問題に対応する予測器を含む符号器を構築し、構築された前記符号器に基づいて、入力された離散構造の各要素を、対応する符号化ユニットに入力して、順次計算して、入力された離散構造の符号を出力すると共に、予測器を計算して補助問題の解を予測し、出力された符号及び前記補助問題の解を、復号器に入力して、順次計算して、離散構造を出力することにより、精度よく離散構造を変換することができる、という効果が得られる。
【図面の簡単な説明】
【００４２】
【図１】自然言語処理における変換問題の各種の例を示す図である。
【図２】非特許文献１に開示されている符号器及び復号器の構成を示す図である。
【図３】説明のための関数群及び演算子を表す図である。
【図４】非特許文献２に開示されている符号器及び復号器の構成を示す図である。
【図５】与えられた文章の要約文を自動で作成する技術を示す図である。
【図６】本発明の実施の形態に係る符号器学習装置の構成を示すブロック図である。
【図７】要約文に含まれる単語の集合を予測する問題の一例を示す図である。
【図８】要約文に含まれる単語の数を予測する問題の一例を示す図である。
【図９】入力された文章と、変換後の要約文とのいずれにも含まれる単語の集合を予測する問題の一例を示す図である。
【図１０】補助問題１の予測器を含む符号器の構成の一例を示す図である。
【図１１】補助問題２の予測器を含む符号器の構成の一例を示す図である。
【図１２】補助問題２の予測結果の一例を示す図である。
【図１３】補助問題３の予測器を含む符号器の構成の一例を示す図である。
【図１４】本発明の実施の形態に係る変換装置の構成を示すブロック図である。
【図１５】補助問題１〜３の符号器及び復号器による出力の一例を示す図である。
【図１６】補助問題１の符号器及び復号器による出力の一例を示す図である。
【図１７】補助問題１、３の符号器及び復号器による出力の一例を示す図である。
【図１８】本発明の実施の形態に係る符号器学習装置における符号器学習処理ルーチンを示すフローチャートである。
【図１９】本発明の実施の形態に係る変換装置における変換処理ルーチンを示すフローチャートである。
【図２０】離散構造の対象を翻訳とした場合の、補助問題１の符号器及び復号器の構成の一例を示す図である。
【図２１】離散構造の対象を翻訳とした場合の、補助問題１、２の符号器及び復号器の構成の一例を示す図である。
【図２２】離散構造の対象を翻訳とした場合の、補助問題１〜３の符号器及び復号器の構成の一例を示す図である。
【発明を実施するための形態】
【００４３】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００４４】
＜本発明の実施の形態に係る概要＞
【００４５】
まず、本発明の実施の形態における概要を説明する。
【００４６】
入力された文章を要約して変換する主問題を解くための符号器学習装置、及び変換装置として説明する。図５に示すように、与えられた文章の要約文を自動で作成する技術は、文章の概要を短時間で把握する目的に極めて有効な手段である。
【００４７】
＜本発明の実施の形態に係る符号器学習装置の構成＞
【００４８】
次に、本発明の実施の形態に係る符号器学習装置の構成について説明する。図６に示すように、本発明の実施の形態に係る符号器学習装置１００は、ＣＰＵと、ＲＡＭと、後述する符号器学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この符号器学習装置１００は、機能的には図６に示すように入力部１０と、演算部２０と、パラメタＤＢ４４とを備えている。
【００４９】
入力部１０は、入力された文章を要約文に変換する主問題についての正解データを受け付ける。
【００５０】
演算部２０は、補助問題生成部２２と、学習部２４とを含んで構成されている。
【００５１】
補助問題生成部２２は、入力部１０で受け付けた文章を要約文に変換する主問題についての正解データに基づいて、主問題に対して予め定められた補助問題の正解データを生成する。
【００５２】
ここで、本実施の形態で扱う補助問題について説明する。
【００５３】
補助問題は、主問題よりも計算コストが少なく簡単であり、かつ、主問題を解くことに関連する問題であることを条件とする。また、主問題に対する正解データから補助問題の学習用正解データを構築できることを条件とする。
【００５４】
補助問題生成部２２では、主問題についての正解データに基づいて、以下の補助問題１〜３の正解データを生成する。
【００５５】
補助問題１は、図７に示すような、要約文に含まれる単語の集合を予測する問題である。補助問題１は、主問題に比べて語順を考慮しなくてよいのでその分簡単な問題である。また、補助問題１の学習用正解データは主問題の学習用正解データから語順を取り除いた単語の集合である。
【００５６】
補助問題２は、図８に示すような、要約文に含まれる単語の数を予測する問題である。補助問題２は、１以上の整数を答える問題であり、単語そのものを正解しなくてもよい分簡単な問題である。また、補助問題２の学習用正解データは主問題の学習用正解データの出力単語数である。
【００５７】
補助問題３は、図９に示すような、入力された文章と、変換後の要約文とのいずれにも含まれる単語の集合を予測する問題である。補助問題３は、文章の各単語に正または負をつける問題であり、言い換えられた単語を正解しなくてもよい分簡単な問題である。また、補助問題３の学習用正解データは、主問題の学習用正解データである文章と要約文の単語の積集合で獲得可能な単語の集合である。
【００５８】
学習部２４は、以下に説明する各部の処理によって、入力された文章の各単語に対応する、単語を符号化する符号化ユニットを接続した符号器であって、補助問題の解を予測する予測器を含む符号器と、符号器によって出力される符号、及び補助問題の解を入力とする、要約文の単語に復号する復号化ユニットを接続した復号器と、主問題についての正解データと、補助問題１〜３の正解データとに基づいて、符号化ユニット、復号化ユニット、及び予測器のパラメタ
【００５９】
【数９】
2018073163.tif 000011
【００６０】
を学習する。
【００６１】
符号化ユニットは、上記（１）式又は（２）式に従って、ｚoutを出力する。
【００６２】
符号器は、上記（３）式に従って、ベクトルｃjを出力する。
【００６３】
ここで、各補助問題の解を予測する予測器について説明する。
【００６４】
補助問題１の予測器を含む符号器は、図１０に示すように構成される。補助問題１の予測器は、以下（４）式に従って、補助問題１の解としてｓｗｓを出力する。
【００６５】
【数１０】
2018073163.tif 000012
・・・（４）
【００６６】
補助問題２の予測器を含む符号器は、図１１に示すように構成される。補助問題１の予測器は、以下（５）式に従って、補助問題１の解としてｓｗｌを出力する。
【００６７】
【数１１】
2018073163.tif 000013
・・・（５）
【００６８】
補助問題３の予測器を含む符号器は、図１２に示すように構成される。補助問題１の予測器は、以下（６）式に従って、補助問題１の解としてｓｏｗを出力する。
【００６９】
【数１２】
2018073163.tif 000014
・・・（６）
【００７０】
次に、復号器の復号化ユニットは、符号化ユニットと同様に、上記（１）式又は（２）式に従って、ｚoutを出力し、復号器は、復号化ユニットの出力と、符号器の出力ｃｊとに基づいて、下記（７）式に従って、単語を予測する。
【００７１】
【数１３】
2018073163.tif 000015
2018073163.tif 000016
2018073163.tif 000017
2018073163.tif 000018
・・・（７）
【００７２】
上記（７）式のように、補助問題の解を考慮して、単語が予測される。
【００７３】
例えば、復号器の単語生成ユニットの計算において、主問題の解ｏｊに、補助問題の解ｓｗｓと補助問題の解ｓｏｗを用いて計算された~ｓをベクトルの要素毎に乗算した~ｏｊが求められる。また、復号器の単語生成ユニットの計算において、補助問題の解~ｓｗｌによって単語数を規定して計算を行う。
【００７４】
学習部２４は、符号器構築部３０と、符号器計算部３２と、復号器計算部３４と、予測取得部３６と、目的関数計算部３８と、パラメタ更新部４０と、終了判定部４２とを含んで構成されている。
【００７５】
符号器構築部３０は、入力された文章に基づいて、符号器を構築する。
【００７６】
符号器計算部３２は、符号器構築部３０で構築された符号器と、パラメタ
【００７７】
【数１４】
2018073163.tif 000019
【００７８】
の初期値又は更新されたパラメタ
【００７９】
【数１５】
2018073163.tif 000020
【００８０】
とに基づいて、入力された文章の各単語を、対応する符号化ユニットに入力して、順次計算して、入力された文章の符号を出力すると共に、予測器を計算して補助問題１〜３の解を予測する。
【００８１】
復号器計算部３４は、符号器計算部３２から出力された符号及び補助問題１〜３の解を、復号器に入力して、順次計算して、主問題及び補助問題１〜３により解かれた要約文を出力する。
【００８２】
予測取得部３６は、復号器計算部３４によって計算された主問題及び補助問題１〜３により解かれた要約文を予測結果として取得する。
【００８３】
目的関数計算部３８は、予測取得部３６で取得した要約文と、主問題についての正解データとを用いて表される目的関数の値を計算する。
【００８４】
ここで、補助問題１〜３の予測器を学習するための目的関数について説明する。
【００８５】
補助問題１についての目的関数は、以下（８）式の損失関数Ψを最小にするパラメタｓｗｓを探索する最小化問題として定式化できる。
【００８６】
【数１６】
2018073163.tif 000021
・・・（８）
【００８７】
関数Ψは正解ｃｗｓと現在のシステムの予測結果ｓｗｓとの負のクロスエントロピーに相当する。ｓｗｓは、パラメタ
【００８８】
【数１７】
2018073163.tif 000022
【００８９】
に依存して決定する値である。
【００９０】
補助問題２についての目的関数は、以下（９）式の損失関数Ψを最小にするパラメタｓｗｓを探索する最小化問題として定式化できる。
【００９１】
【数１８】
2018073163.tif 000023
・・・（９）
【００９２】
関数Ψは正解ｃｗｌと現在のシステムの予測結果ｓｗｌとの負のクロスエントロピーに相当する。ｓｗｓは、パラメタ
【００９３】
【数１９】
2018073163.tif 000024
【００９４】
に依存して決定する値である。図１３に示すように、[ｃｗｌ−０．５,ｃｗｌ＋０．５]の範囲に予測が入れば損失０で最小値となる。
【００９５】
補助問題３についての目的関数は、以下（１０）式の損失関数Ψを最小にするパラメタｓｏｗを探索する最小化問題として定式化できる。
【００９６】
【数２０】
2018073163.tif 000025
・・・（１０）
【００９７】
関数Ψは正解ｃｏｗと現在のシステムの予測結果ｓｏｗとの負のクロスエントロピーに相当する。ｓｏｗは、パラメタ
【００９８】
【数２１】
2018073163.tif 000026
【００９９】
に依存して決定する値である。
【０１００】
目的関数は、以下（１１）式に示すように、主問題と補助問題１〜３の全ての目的関数を統合して同時に学習を行う。
【０１０１】
【数２２】
2018073163.tif 000027
・・・（１１）
【０１０２】
学習の手順としては、（１）現在のパラメタ
【０１０３】
【数２３】
2018073163.tif 000028
【０１０４】
で入力された主問題及び補助問題１〜３の正解データに対する予測結果を取得する（符号器計算部３２〜予測取得部３６までの処理）。（２）予測結果（出力された要約文）と、主問題及び補助問題１〜３の正解データとを用いて、主問題及び各補助問題のそれぞれの損失関数を計算する。（３）損失関数の値にしたがって、勾配を計算する。（４）chain ruleにしたがって各パラメタ単位の勾配の値を取得する。
【０１０５】
パラメタ更新部４０は、目的関数計算部３８で計算された目的関数の値に基づいてパラメタ
【数２４】
2018073163.tif 000029
【０１０６】
を更新する。ここでは、上記目的関数計算部３８の学習の手順（４）で得られた値に従ってパラメタ
【０１０７】
【数２５】
2018073163.tif 000030
【０１０８】
を更新する。
【０１０９】
終了判定部４２は、予め定められた反復終了条件を満たすまで、符号器計算部３２による計算、復号器計算部３４による計算、予測取得部３６による取得、目的関数計算部３８による計算、及びパラメタ更新部４０による更新を繰り返す。そして、最終的にパラメタ更新部４０で更新されたパラメタ
【０１１０】
【数２６】
2018073163.tif 000031
【０１１１】
をパラメタＤＢ４４に格納する。
【０１１２】
＜本発明の実施の形態に係る変換装置の構成＞
【０１１３】
次に、本発明の実施の形態に係る変換装置の構成について説明する。図１４に示すように、本発明の実施の形態に係る変換装置２００は、ＣＰＵと、ＲＡＭと、後述する変換処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この変換装置２００は、機能的には図１４に示すように入力部２１０と、演算部２２０と、出力部２５０とを備えている。
【０１１４】
入力部２１０は、要約の対象となる、離散構造を持つ文章を受け付ける。
【０１１５】
演算部２０は、符号器構築部２３０と、符号器計算部２３２と、復号器計算部２３４と、パラメタＤＢ２４４とを含んで構成されている。
【０１１６】
符号器構築部２３０は、入力部２１０で受け付けた文章に基づいて、文章の各単語に対応する、単語を符号化する符号化ユニットを接続した符号器であって、主問題に対して予め定められた補助問題１〜３に対応する予測器を含む符号器を構築する。ここでは、符号器学習装置１００の符号器構築部３０と同様に符号器を構築すればよい。
【０１１７】
パラメタＤＢ２４４には、符号器学習装置１００で学習されたパラメタ
【０１１８】
【数２７】
2018073163.tif 000032
【０１１９】
が格納されている。
【０１２０】
符号器計算部２３２は、符号器構築部２３０で構築された符号器に基づいて、入力された文章の各単語を、対応する符号化ユニットに入力して、順次計算して、入力された文章の符号を出力すると共に、上記（３）〜（５）式に従って、パラメタＤＢ２４４に格納されているパラメタ
【０１２１】
【数２８】
2018073163.tif 000033
【０１２２】
を用いて、予測器を計算して補助問題１〜３の解を予測する。
【０１２３】
復号器計算部２３４は、符号器計算部２３２から出力された符号及び補助問題の解を、復号器に入力して、順次計算して、主問題及び補助問題１〜３が解かれた要約文を出力部２５０に出力する。単語を出力するまでの具体的な処理は、符号器学習装置１００の学習部２４において説明した処理と同様である。
【０１２４】
予測器を用いた補助問題１〜３の計算と復号器から出力される要約文の例を図１５に示す。復号器の単語生成ユニットの計算において、補助問題２の解~ｓｗｌによって単語数を規定して、主問題の解ｏｊに~ｓをベクトルの要素毎に乗算した~ｏｊが求められる。は、補助問題１の解ｓｗｓ、及び補助問題３の解ｓｏｗを乗算して得たものである。補助問題２の解~ｓｗｌを用いて、単語数を規定して計算を行う場合には、例えば規定された単語数が１０語であれば１０語分の単語生成ユニットを計算して終了する。補助問題３の解ｓｏｗを用いて計算を行う場合には、例えば、ある単語が出力側の単語リストに入っている場合には、その単語リストの単語に対する単語の集合の予測結果の確率を修正する。出力側の単語リストに入っていない（未知語）時には、未知語（UNK)と判定された際に、attentionの確率aｉ,ｊがもっとも高い入力単語が同一単語と予測されていれば、その単語で置き換える。
【０１２５】
なお、補助問題１のみの解を考慮する場合を図１６に示す。また、補助問題１、３の解を考慮する場合を図１７に示す。
【０１２６】
＜本発明の実施の形態に係る符号器学習装置の作用＞
【０１２７】
次に、本発明の実施の形態に係る符号器学習装置１００の作用について説明する。入力部１０において、入力された文章を要約文に変換する主問題についての正解データを受け付けると符号器学習装置１００は、図１８に示す符号器学習処理ルーチンを実行する。
【０１２８】
まず、ステップＳ１００では、入力部１０で受け付けた文章を要約文に変換する主問題についての正解データに基づいて、主問題に対して予め定められた補助問題１〜３の正解データを生成する。
【０１２９】
次に、ステップＳ１０２では、入力された文章に基づいて、入力された文章の各単語に対応する、単語を符号化する符号化ユニットを接続した符号器を構築する。
【０１３０】
ステップＳ１０４では、ステップＳ１０２で構築された符号器と、パラメタ
【０１３１】
【数２９】
2018073163.tif 000034
【０１３２】
の初期値又は更新されたパラメタ
【０１３３】
【数３０】
2018073163.tif 000035
【０１３４】
とに基づいて、入力された文章の各単語を、対応する符号化ユニットに入力して、順次計算して、入力された文章の符号を出力すると共に、予測器を計算して補助問題の解を予測する。
【０１３５】
ステップＳ１０６では、ステップＳ１０４で出力された符号及び補助問題の解を、復号器に入力して、上記（７）式に従って、順次計算して、主問題及び補助問題により解かれた要約文を出力する。
【０１３６】
ステップＳ１０８では、ステップＳ１０６で計算された主問題及び補助問題により解かれた要約文を予測結果として取得する。
【０１３７】
ステップＳ１１０では、上記（１１）式に従って、ステップＳ１０８で取得した要約文と、主問題についての正解データとを用いて表される目的関数の値を計算する。
【０１３８】
ステップＳ１１２では、ステップＳ１１０で計算された目的関数の値に基づいてパラメタ
【０１３９】
【数３１】
2018073163.tif 000036
【０１４０】
を更新する。
【０１４１】
ステップＳ１１４では、反復終了条件を満たすか否かを判定し、反復終了条件を満たしていればステップＳ１１２で更新されたパラメタ
【０１４２】
【数３２】
2018073163.tif 000037
【０１４３】
をパラメタＤＢ４４に格納して処理を終了し、反復終了条件を満たしていなければステップＳ１０４に戻って処理を繰り返す。また、主問題についての正解データを複数受け付けた場合には、主問題についての正解データ毎に、上記ステップＳ１００〜Ｓ１１４の処理を繰り返せばよい。
【０１４４】
以上説明したように、本発明の実施の形態に係る符号器学習装置によれば、入力された文章を要約する主問題についての正解データに基づいて、主問題に対して予め定められた補助問題の正解データを生成し、入力された文章の各単語に対応する、単語を符号化する符号化ユニットを接続した符号器であって、補助問題の解を予測する予測器を含む符号器と、符号器によって出力される符号、及び補助問題の解を入力とする、単語に復号する復号化ユニットを接続した復号器と、主問題についての正解データと、補助問題の正解データとに基づいて、符号化ユニット、復号化ユニット、及び予測器のパラメタを学習することにより、精度よく要約文に変換するためのパラメタを学習することができる。
【０１４５】
＜本発明の実施の形態に係る変換装置の作用＞
【０１４６】
次に、本発明の実施の形態に係る変換装置２００の作用について説明する。入力部２１０において、要約の対象となる、離散構造を持つ文章を受け付けると、変換装置２００は、図１９に示す変換処理ルーチンを実行する。
【０１４７】
まず、ステップＳ２００では、入力部２１０において受け付けた文章に基づいて、文章の各単語に対応する、単語を符号化する符号化ユニットを接続した符号器であって、主問題に対して予め定められた補助問題に対応する予測器を含む符号器を構築する。
【０１４８】
次に、ステップＳ２０２では、ステップＳ２０２で構築された符号器に基づいて、入力された文章の各単語を、対応する符号化ユニットに入力して、上記（７）式に従って、順次計算して、入力された文章の符号を出力すると共に、パラメタＤＢ２４４に格納されているパラメタ
【０１４９】
【数３３】
2018073163.tif 000038
【０１５０】
を用いて、予測器を計算して補助問題１〜３の解を予測する。
【０１５１】
ステップＳ２０４では、ステップＳ２０２で出力された符号及び補助問題の解を、復号器に入力して、順次計算して、主問題及び補助問題が解かれた要約文を出力部２５０に出力して処理を終了する。
【０１５２】
以上説明したように、本発明の実施の形態に係る変換装置によれば、入力された文章に基づいて、入力された文章の各単語に対応する、単語を符号化する符号化ユニットを接続した符号器であって、主問題に対して予め定められた補助問題に対応する予測器を含む符号器を構築し、構築された符号器に基づいて、入力された文章の各単語を、対応する符号化ユニットに入力して、順次計算して、入力された文章の符号を出力すると共に、予測器を計算して補助問題の解を予測し、出力された符号及び補助問題の解を、復号器に入力して、順次計算して、要約文を出力することにより、精度よく要約文に変換することができる。
【０１５３】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１５４】
例えば、上述した実施の形態の符号器学習装置１００では、補助問題１〜３についての正解データを生成して、符号器及び復号器で用いるパラメタ
【０１５５】
【数３４】
2018073163.tif 000039
【０１５６】
を学習していたが、これに限定されるものではなく、補助問題１〜３をそれぞれ独立して正解データを生成し、符号器及び復号器で用いるパラメタ
【０１５７】
【数３５】
2018073163.tif 000040
【０１５８】
を学習するようにしてもよい。また、補助問題１〜３以外の補助問題の正解データを生成して、パラメタ
【数３６】
2018073163.tif 000041
を学習するようにしてもよい。
【０１５９】
また、上述した実施の形態の変換装置２００では、補助問題１〜３の解を予測する場合を例に説明したが、これに限定されるものではなく、補助問題１〜３以外の解を予測するようにしてもよい。
【０１６０】
また、上述した実施の形態では、文章を入力とし、要約文を出力する場合を例に説明したが、これに限定されるものではなく、本発明の実施の形態に係る手法は、離散構造を変換する問題であればどのような分野でも適用することができる。例えば文章を翻訳して他言語に変換する主問題にも適用することができ、この翻訳の主問題に適用する場合には、符号器及び復号器は例えば図２０〜２２のように構成することができる。図２０では、補助問題１の解を考慮する符号器及び復号器を示しており、図２１では、補助問題１、２の解を考慮する符号器及び復号器を示しており、図２２では、補助問題１〜３の解を考慮する符号器及び復号器を示している。
【０１６１】
また、本発明は、上記のような言語処理以外にもグラフなどの離散構造を持つ対象の場合についても同様に適用することができる。
【符号の説明】
【０１６２】
１０、２１０  入力部
２０、２２０  演算部
２２   補助問題生成部
２４   学習部
３０、２３０  符号器構築部
３２、２３２  符号器計算部
３４、２３４  復号器計算部
３６   予測取得部
３８   目的関数計算部
４０   パラメタ更新部
４２   終了判定部
１００ 符号器学習装置
２００ 変換装置
２５０ 出力部
【図１】
2018073163.tif 000042
【図２】
2018073163.tif 000043
【図３】
2018073163.tif 000044
【図４】
2018073163.tif 000045
【図５】
2018073163.tif 000046
【図６】
2018073163.tif 000047
【図７】
2018073163.tif 000048
【図８】
2018073163.tif 000049
【図９】
2018073163.tif 000050
【図１０】
2018073163.tif 000051
【図１１】
2018073163.tif 000052
【図１２】
2018073163.tif 000053
【図１３】
2018073163.tif 000054
【図１４】
2018073163.tif 000055
【図１５】
2018073163.tif 000056
【図１６】
2018073163.tif 000057
【図１７】
2018073163.tif 000058
【図１８】
2018073163.tif 000059
【図１９】
2018073163.tif 000060
【図２０】
2018073163.tif 000061
【図２１】
2018073163.tif 000062
【図２２】
2018073163.tif 000063