(57)【要約】【課題】可読性が低い要約文を生成するモデルが学習されるのを抑制すること。【解決手段】入力文から要約文を生成するモデルの機械学習を行う学習方法において、入力文および正解の要約文を取得し、正解の要約文に含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文を生成し、モデルによって擬似文が入力文から生成される擬似文の生成確率、および、モデルによって正解の要約文が入力文から生成される正解の要約文の生成確率に基づいてモデルのパラメータを更新する、処理をコンピュータが実行する。【選択図】図１
2020071737.tif 000002
【特許請求の範囲】
【請求項１】
入力文から要約文を生成するモデルの機械学習を行う学習方法であって、
入力文および正解の要約文を取得し、
前記正解の要約文に含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文を生成し、
前記モデルによって前記擬似文が前記入力文から生成される前記擬似文の生成確率、および、前記モデルによって前記正解の要約文が前記入力文から生成される前記正解の要約文の生成確率に基づいて前記モデルのパラメータを更新する、
処理をコンピュータが実行することを特徴とする学習方法。
【請求項２】
前記更新する処理は、前記正解の要約文の生成確率が前記擬似文の生成確率よりも高くなるように前記モデルのパラメータを更新することを特徴とする請求項１に記載の学習方法。
【請求項３】
前記更新する処理は、前記擬似文の生成確率が前記正解の要約文の生成確率よりも高い場合、前記擬似文の生成確率および前記正解の要約文の生成確率の差を損失に加算して前記モデルのパラメータを更新し、前記擬似文の生成確率が前記正解の要約文の生成確率よりも高くない場合、前記擬似文の生成確率および前記正解の要約文の生成確率の差を損失に加算せずに前記モデルのパラメータを更新することを特徴とする請求項２に記載の学習方法。
【請求項４】
前記入力文を前記モデルへ入力することにより生成された複数の要約文ごとに、前記モデルにより前記要約文が前記入力文から生成される前記要約文の生成確率を算出し、
前記複数の要約文ごとに、前記要約文および前記正解の要約文の単語の重複度を算出する処理を前記コンピュータがさらに実行し、
前記更新する処理は、前記複数の要約文ごとに算出された前記要約文の生成確率と、前記複数の要約文ごとに算出された単語の重複度と、前記擬似文の生成確率および前記正解の要約文の生成確率とに基づいて前記モデルのパラメータを更新することを特徴とする請求項１〜３のいずれか１つに記載の学習方法。
【請求項５】
前記生成する処理は、前記正解の要約文に含まれる単語の語数を変えずに単語の語順を入れ替えることにより前記擬似文を生成することを特徴とする請求項１〜４のいずれか１つに記載の学習方法。
【請求項６】
入力文から要約文を生成するモデルの機械学習を実行させる学習プログラムであって、
入力文および正解の要約文を取得し、
前記正解の要約文に含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文を生成し、
前記モデルによって前記擬似文が前記入力文から生成される前記擬似文の生成確率、および、前記モデルによって前記正解の要約文が前記入力文から生成される前記正解の要約文の生成確率に基づいて前記モデルのパラメータを更新する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【請求項７】
入力文から要約文を生成するモデルの機械学習を行う学習装置であって、
入力文および正解の要約文を取得する取得部と、
前記正解の要約文に含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文を生成する擬似文生成部と、
前記モデルによって前記擬似文が前記入力文から生成される前記擬似文の生成確率、および、前記モデルによって前記正解の要約文が前記入力文から生成される前記正解の要約文の生成確率に基づいて前記モデルのパラメータを更新する更新部と、
を有することを特徴とする学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法、学習プログラム及び学習装置に関する。
【背景技術】
【０００２】
新聞やＷｅｂサイト、電光掲示板などの文書から要約文を生成する自動要約にニューラルネットワークなどの機械学習が利用されることがある。例えば、入力文をベクトル化するＲＮＮ（Recurrent  Neural  Networks）エンコーダと、入力文のベクトルを参照して要約文の単語の予測を繰り返すＲＮＮデコーダとが接続されたモデルが要約文の生成に用いられる。
【０００３】
このようなモデルを学習する方法の一例として、学習サンプルの入力文に対応する正解の要約文である参照要約の単語ごとにモデルのパラメータの更新に用いる損失を算出するものがある。例えば、モデル学習の際には、ＲＮＮデコーダは、入力文のベクトル、１時刻前の正解の単語及びＲＮＮデコーダが文末記号と呼ばれるＥＯＳを出力するまでの残り文字数などを入力とし、ＥＯＳを出力するまで時刻ごとに単語の確率分布を繰り返し計算する。ここで言う「ＥＯＳ」は、「End  Of  Sentence」の略称である。このように時刻ごとに計算される単語の確率分布と、当該時刻における正解の単語とを比較することにより損失が計算される。例えば、１時刻目に計算される単語の確率分布は、参照要約に含まれる単語列のうち先頭の単語と比較される。また、２時刻目に計算される単語の確率分布は、参照要約の先頭から２番目の単語と比較される。
【０００４】
上記のモデル学習が行われる場合、要約文の語数の制限はある程度は満たされる一方で、ＲＮＮデコーダが出力する要約文と正解の参照要約との間で文意が同じであっても単語の語順が異なる場合には、損失が生じる評価となる。
【０００５】
このことから、ＲＯＵＧＥと呼ばれる指標が自動生成の要約文の評価に用いられる場合がある。ここで言う「ＲＯＵＧＥ」とは、正解の参照要約と、モデルが組み込まれた要約文生成システムが出力する要約文との間における単語のＮ−ｇｒａｍの重複度を表す指標を指す。このようなＲＯＵＧＥに基づいてＲＮＮエンコーダ及びＲＮＮデコーダのモデルのパラメータをチューニングするＭＲＴ（Minimum  Risk  Training）と呼ばれる技術も提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−６２１８１号公報
【特許文献２】特開２０１３−１６７９８５号公報
【特許文献３】特開２０１５−１７０２２４号公報
【特許文献４】特開２０１４−１２３２１９号公報
【非特許文献】
【０００７】
【非特許文献１】Ayana,  Shiqi  Shen,  Yu  Zhao,  Zhiyuan  Liu,  Maosong  Sun  “Neural  Headline  Generation  with  Sentence-wise  Optimization”  Submitted  on  7  Apr  2016
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の技術では、正解の参照要約と語順が異なる全ての要約文が高評価を受けるので、可読性が低い要約文を生成するモデルが学習されてしまう場合がある。
【０００９】
すなわち、上記のＭＲＴでは、正解の参照要約と語順が異なる要約文であっても単語の重複度が高ければ高いＲＯＵＧＥ値が算出される。そして、ＲＯＵＧＥ値が高い要約文の中には、正解の参照要約との間で語順が入れ替わることによって非文法的な表現を持つ要約文も含まれることがある。このように非文法的な表現を持つ要約文に基づいてモデルのパラメータが更新されることが一因となって可読性が低い要約文を生成するモデルが学習されてしまう場合がある。
【００１０】
１つの側面では、本発明は、可読性が低い要約文を生成するモデルが学習されるのを抑制できる学習方法、学習プログラム及び学習装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
一態様では、入力文から要約文を生成するモデルの機械学習を行う学習方法であって、入力文および正解の要約文を取得し、前記正解の要約文に含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文を生成し、前記モデルによって前記擬似文が前記入力文から生成される前記擬似文の生成確率、および、前記モデルによって前記正解の要約文が前記入力文から生成される前記正解の要約文の生成確率に基づいて前記モデルのパラメータを更新する、処理をコンピュータが実行する。
【発明の効果】
【００１２】
可読性が低い要約文を生成するモデルが学習されるのを抑制できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係る学習装置の機能的構成を示すブロック図である。
【図２】図２は、記事要約ツールのユースケースの一例を示す図である。
【図３】図３は、入力文の一例を示す図である。
【図４Ａ】図４Ａは、参照要約の一例を示す図である。
【図４Ｂ】図４Ｂは、システム要約の一例を示す図である。
【図４Ｃ】図４Ｃは、システム要約の一例を示す図である。
【図５】図５は、ＭＲＴの処理内容の一例を示す図である。
【図６】図６は、生成確率およびＲＯＵＧＥ値の一例を示す図である。
【図７Ａ】図７Ａは、参照要約の一例を示す図である。
【図７Ｂ】図７Ｂは、システム要約の一例を示す図である。
【図７Ｃ】図７Ｃは、システム要約の一例を示す図である。
【図７Ｄ】図７Ｄは、システム要約の一例を示す図である。
【図８】図８は、モデルのパラメータの更新方法の一例を示す図である。
【図９】図９は、第１のモデル学習の一例を示す図である。
【図１０】図１０は、第１のモデル学習の一例を示す図である。
【図１１】図１１は、第１のモデル学習の一例を示す図である。
【図１２】図１２は、第１の系統におけるモデルへの入出力の一例を示す図である。
【図１３】図１３は、重複度の算出方法の一例を示す図である。
【図１４】図１４は、誤差付きの重複度の算出方法の一例を示す図である。
【図１５】図１５は、誤差付きの重複度の算出方法の一例を示す図である。
【図１６】図１６は、第２の系統におけるモデルへの入出力の一例を示す図である。
【図１７】図１７は、実施例１に係る学習処理の手順を示すフローチャートである。
【図１８】図１８は、実施例１に係る第１の損失算出処理の手順を示すフローチャートである。
【図１９】図１９は、実施例１に係る第２の損失算出処理の手順を示すフローチャートである。
【図２０】図２０は、実施例１及び実施例２に係る学習プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して本願に係る学習方法、学習プログラム及び学習装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１５】
図１は、実施例１に係る学習装置の機能的構成を示すブロック図である。図１に示す学習装置１は、新聞や電光掲示板、Ｗｅｂサイトなどの各種の記事を入力文として受け付け、その要約文を生成するモデルの学習を実行する学習サービスを提供するものである。
【００１６】
一実施形態として、学習装置１は、パッケージソフトウェアやオンラインソフトウェアとして上記の学習サービスを実現する学習プログラムを任意のコンピュータにインストールさせることによって実装できる。このように上記の学習プログラムをコンピュータに実行させることにより、コンピュータを学習装置１として機能させることができる。ここで言うコンピュータは、任意の情報処理装置であってよい。例えば、デスクトップ型またはノート型のパーソナルコンピュータやワークステーションの他、スマートフォンや携帯電話機などの移動体通信端末、タブレット端末、ウェアラブル端末などがその範疇に含まれる。また、学習装置１は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の学習サービスを提供するサーバ装置として実装することもできる。この場合、学習装置１は、複数の学習サンプルを含む学習データ、または、学習データをネットワークもしくは記憶メディアを介して呼び出すことができる識別情報を入力とするモデル学習のリクエストを受け付ける。その上で、学習装置１は、モデル学習のリクエストで受け付けた学習データに対するモデル学習の実行結果を出力する学習サービスを提供するサーバ装置として実装される。この場合、学習装置１は、上記の学習サービスを提供するサーバとしてオンプレミスに実装することとしてもよいし、アウトソーシングによって上記の学習サービスを提供するクラウドとして実装することとしてもかまわない。
【００１７】
［学習済みモデルのユースケースの一例］
上記の学習サービスにより学習された学習済みモデルは、新聞記事や電光掲示板、Ｗｅｂサイトなどの記事の原文を入力文として受け付け、その要約文を生成する記事要約ツールとして実装することができる。
【００１８】
ここで、上記の記事要約ツールは、あくまで１つの側面として、新聞や電光掲示板、Ｗｅｂサイトなどの各種のメディアを運営するメディア事業者をユーザとするアプリケーションの一機能として組み込むことができる。
【００１９】
このとき、上記のアプリケーションは、メディア事業者の関係者、例えば編集員等により使用される端末装置で実行されるスタンドアローンのソフトウェアとして実装されることとしてもよい。この他、上記のアプリケーションが提供する機能のうち、原文の入力や要約文の表示等のフロントエンドの機能が記者や編集者等の端末装置で提供されると共に、要約文の生成などのバックエンドの機能がＷｅｂサービスとして提供されることとしてもかまわない。
【００２０】
図２は、記事要約ツールのユースケースの一例を示す図である。図２には、メディア事業者の関係者により使用される端末装置に表示される記事要約画面２０の遷移の一例が示されている。
【００２１】
図２の上段には、各種の項目に対する入力が設定されていない初期状態の記事要約画面２０が示されている。例えば、記事要約画面２０には、原文入力エリア２１、要約表示エリア２２、プルダウンメニュー２３、要約ボタン２４、クリアボタン２５などのＧＵＩ（Graphical  User  Interface）コンポーネントが含まれる。このうち、原文入力エリア２１は、記事等の原文を入力するエリアに対応する。また、要約表示エリア２２は、原文入力エリア２１に入力された原文に対応する要約文を表示するエリアに対応する。また、プルダウンメニュー２３は、要約文の上限文字数を指定するＧＵＩコンポーネントの一例に対応する。また、要約ボタン２４は、原文入力エリア２１に入力された原文に対応する要約文を生成するコマンドの実行を受け付けるＧＵＩコンポーネントの一例に対応する。また、クリアボタン２５は、原文入力エリア２１に入力された原文のテキストをクリアするＧＵＩコンポーネントの一例に対応する。
【００２２】
図２に示すように、記事要約画面２０の原文入力エリア２１では、図示しないキーボード等の入力デバイスを介してテキストの入力を受け付けることができる。このように入力デバイスを介してテキストの入力を受け付ける他、原文入力エリア２１では、ワープロソフトなどのアプリケーションにより作成された文書のファイルからテキストをインポートすることができる。
【００２３】
このように原文入力エリア２１に原文のテキストが入力されることにより、記事要約画面２０は、図２の上段に示された状態から図２の中段に示された状態へ遷移する（ステップＳ１）。例えば、原文入力エリア２１に原文のテキストが入力された場合、要約ボタン２４に対する操作を介して要約文を生成するコマンドの実行を受け付けることができる。また、クリアボタン２５に対する操作を介して原文入力エリア２１に入力されたテキストをクリアすることもできる。この他、プルダウンメニュー２３を介して、複数の上限文字数の中からメディア事業者の関係者が希望する上限文字数の指定を受け付けることもできる。ここでは、新聞やニュースの記事の原文から電光掲示板の速報を要約文として生成する場面の一例として、電光掲示板に表示可能な上限文字数の一例に対応する８０文字が指定された例が示されている。これはあくまで一例であり、新聞やＷｅｂサイトの記事から見出しを生成する場合、見出しに対応する上限文字数を選択することができる。
【００２４】
そして、原文入力エリア２１に原文のテキストが入力された状態で要約ボタン２４に対する操作が行われた場合、記事要約画面２０は、図２の中段に示された状態から図２の下段に示された状態へ遷移する（ステップＳ２）。この場合、原文入力エリア２１に入力された原文のテキストが入力文として学習済みモデルに入力されることによりその要約文が生成される。この要約文の生成は、メディア事業者の関係者の端末装置上で実行されることとしてもよいし、あるいはバックエンドのサーバ装置で実行されることとしてもかまわない。この結果、図２の下段に示すように、記事要約画面２０の要約表示エリア２２には、学習済みモデルにより生成された要約文が表示される。
【００２５】
このように記事要約画面２０の要約表示エリア２２に表示された要約文のテキストには、図示しない入力デバイス等を介して編集を行うことができる。
【００２６】
以上のような記事要約ツールが提供されることで、記者や編集者等により行われる記事要約の作業を軽減することが可能になる。すなわち、記事要約の作業は、メディアにニュースを配信するプロセス、例えば「配信記事の選定」や「メディア編集システムへの送信」、「記事要約」、「見出し作成」、「校閲」などの中でも最も労力が大きいという側面がある。例えば、記事要約が人手により行われる場合、記事の全体から重要な情報を選別し、文章を再構成するといった作業が必要となる。このことから、記事要約の作業が自動化または半自動化される技術的意義は高い。
【００２７】
なお、ここでは、あくまで一例として、メディア事業者の関係者により記事要約ツールが利用されるユースケースを例に挙げたが、メディア事業者から記事の配信を受ける視聴者により記事要約ツールが利用されることとしてもかまわない。例えば、スマートスピーカ等で記事の全文を読み上げる代わりに要約文を読み上げる機能として記事要約ツールを利用することができる。
【００２８】
［ＲＮＮのモデル学習の課題一側面］
上記の背景技術の欄で説明した通り、学習サンプルの入力文に対応する正解の参照要約の単語ごとにモデルのパラメータの更新に用いる損失を算出する場合、参照要約と語順が異なるが文意は類似する要約文の評価が過小評価されることがある。
【００２９】
このようなモデル学習の失敗事例を図３及び図４Ａ〜図４Ｃを用いて説明する。図３は、入力文の一例を示す図である。図４Ａは、参照要約の一例を示す図である。図４Ｂ及び図４Ｃは、システム要約の一例を示す図である。以下では、学習サンプルに含まれる正解の要約文のことを「参照要約」と記載し、モデルが入力文から生成する要約文のことを「システム要約」と記載する場合がある。
【００３０】
ここでは、一例として、モデル学習の際に、図３に示す入力文３０及び図４Ａに示す参照要約４０のペアが学習サンプルとして入力される事例を例に挙げる。このとき、ＲＮＮ（Recurrent  Neural  Networks）エンコーダ及びＲＮＮデコーダが接続されたモデルによって入力文３０から図４Ｂに示すシステム要約４０Ｂや図４Ｃに示すシステム要約４０Ｃが生成される場合、次のような評価が行われる。
【００３１】
すなわち、図４Ａに示す参照要約４０及び図４Ｂに示すシステム要約４０Ｂの間では、先頭から末尾までの各位置で単語が一致する。図４Ａ及び図４Ｂには、一例として、参照要約４０及びシステム要約４０Ｂの先頭から５番目に位置する単語が太字により示されている。例えば、システム要約４０Ｂの先頭から５番目に位置する単語が予測される際には、図４Ｂに示すように、ＲＮＮデコーダが出力する入力文３０の単語の確率分布のうち単語「ＡＩ」の確率が最高となる。また、先頭から５番目に位置する参照要約４０の単語も、図４Ａに示すように、「ＡＩ」である。このように参照要約４０に含まれる単語ごとに当該単語の位置に対応する位置のシステム要約４０Ｂの単語が一致する場合、損失は「０」となる。
【００３２】
一方、図４Ａに示す参照要約４０及び図４Ｃに示すシステム要約４０Ｃは、文意は同一であるが、参照要約４０及びシステム要約４０Ｃの間で先頭から８番目までの単語の語順が異なる。図４Ａ及び図４Ｃには、一例として、参照要約４０及びシステム要約４０Ｃの先頭から５番目の単語が太字により示されている。例えば、システム要約４０Ｃの先頭から５番目に位置する単語が予測される際には、図４Ｃに示すように、ＲＮＮデコーダが出力する入力文３０の単語の確率分布のうち単語「コールセンター」の確率が最高となる。その一方で、先頭から５番目に位置する参照要約４０の単語は、図４Ａに示すように、「ＡＩ」である。このように参照要約４０及びシステム要約４０Ｃの間で語順が入れ替わることにより単語の配置が異なる場合、システム要約４０Ｃが参照要約４０と同一の文意を有する場合であっても、損失が生じる。
【００３３】
これらのことから、システム要約４０Ｂ及びシステム要約４０Ｃの間で異なる評価がなされることになる。しかしながら、システム要約４０Ｂ及びシステム要約４０Ｃの文意は同一である。それ故、要約という側面から言えば、同一の評価がなされなければ適切とは言えず、システム要約４０Ｃはシステム要約４０Ｂに比べて過小評価されている。
【００３４】
［現状のＭＲＴ］
このように、モデル学習時に参照要約と語順が異なるシステム要約が過小評価されるのを抑制する側面から、ＭＲＴ（Minimum  Risk  Training）と呼ばれる技術が提案されている。例えば、ＭＲＴでは、正解の参照要約およびシステム要約の間における単語のＮ−ｇｒａｍの重複度を表すＲＯＵＧＥに基づいてＲＮＮエンコーダ及びＲＮＮデコーダのモデルのパラメータをチューニングする。
【００３５】
図５は、ＭＲＴの処理内容の一例を示す図である。図５に示すように、ＲＮＮエンコーダ及びＲＮＮデコーダのモデル学習には、入力文ｘおよび正解の参照要約ｙのペアが学習サンプルとして用いられる。これら入力文ｘおよび正解の参照要約ｙのうち入力文ｘがモデルへ入力される。
【００３６】
このように入力文ｘが入力された場合、パラメータθを持つモデルのＲＮＮデコーダが先頭からＥＯＳ（End  of  Sentence）までの各時刻に出力する単語の確率分布に従って複数のシステム要約ｙ′１〜ｙ′３がサンプリングされる。
【００３７】
例えば、先頭からＥＯＳまでの各時刻では、モデルの辞書に登録された単語、すなわち複数の学習サンプルを含む学習データ全体で入力文に出現する単語ごとに確率が計算される。このような計算で得られる各時刻における単語の確率分布に従って各時刻で単語を抽出することで、上記のサンプリングを実現できる。なお、ここでは、説明の便宜上、３つのシステム要約ｙ′１〜ｙ′３がサンプリングされる例を挙げたが、任意の個数のシステム要約ｙ′がサンプリングされることとしてかまわない。
【００３８】
そして、ＭＲＴでは、システム要約ｙ′１〜ｙ′３ごとに、入力文ｘから当該システム要約ｙ′が生成される生成確率と、参照要約ｙおよび当該システム要約ｙ′の間の単語のｎ−ｇｒａｍの重複度を表すＲＯＵＧＥ値とが算出される。その上で、ＭＲＴでは、システム要約ｙ′１〜ｙ′３の生成確率およびＲＯＵＧＥ値から下記の式（１）に従って損失ＬＭＲＴ（θ）が算出される。
【００３９】
【数１】
2020071737.tif 000003
【００４０】
ここで、上記の式（１）における「Ｐ（ｙ′｜ｘ；θ）」は、モデルのパラメータをθとしたとき、入力文ｘからシステム要約ｙ′が生成される確率を指す。また、上記の式（１）における「Ｄ」は、入力文ｘおよび参照要約ｙを含む学習サンプルの集合である学習データを指す。さらに、上記の式（１）における「Ｓ」は、モデルのパラメータをθとしたとき、入力文ｘから生成されるシステム要約の集合を指す。また、上記の式（１）における「Δ（ｙ′，ｙ）」は、システム要約ｙ′及び参照要約ｙの間で算出される単語の重複度を指し、ここでは、一例として、ＲＯＵＧＥなどの関数を用いることにより負の利得がＲＯＵＧＥ値として算出されることとする。
【００４１】
その後、ＭＲＴは、損失ＬＭＲＴに基づいてモデルのパラメータθを更新する。例えば、ＭＲＴは、ＬＭＲＴ（θ）をθｉで偏微分することにより勾配、すなわち∂ＬＭＲＴ（θ）／∂θｉを求め、モデルのパラメータθｉの更新、すなわちθｉ←θ＋（∂ＬＭＲＴ（θ）／∂θｉ）の計算を行う。
【００４２】
このように損失ＬＭＲＴ（θ）に基づいてモデルのパラメータθｉを更新することにより、ＲＯＵＧＥ値が高いシステム要約の生成確率が上げる一方で、ＲＯＵＧＥ値が低いシステム要約の生成確率を下げるモデルの学習が実現される。
【００４３】
このＲＯＵＧＥ値を用いるパラメータ更新前後における損失ＬＭＲＴ（θ）の変化を図６を用いて説明する。図６は、生成確率およびＲＯＵＧＥ値の一例を示す図である。図６の上段の表には、ｔラウンド目のモデル学習においてパラメータθｔを持つモデルが入力文ｘからシステム要約ｙ′を生成する生成確率と、参照要約およびシステム要約ｙ′の間のＲＯＵＧＥ値とが示されている。なお、図６の表に示す薄いハッチングの箇所は、上記の式（１）に含まれるシステム要約ｙ′の生成確率の計算式で算出されることを示す一方で、図６の表に示す濃いハッチングの箇所は、上記の式（１）に含まれるＲＯＵＧＥの関数で算出されることを示す。
【００４４】
例えば、パラメータθｔを持つモデルが入力文ｘから生成するシステム要約ｙ′１〜ｙ′３の生成確率およびＲＯＵＧＥ値が図６の上段の表に示す値であるとしたとき、ＬＭＲＴ（θｔ）は、次のように算出することができる。すなわち、損失ＬＭＲＴ（θｔ）は、システム要約ｙ′１の生成確率及びのＲＯＵＧＥ値と、システム要約ｙ′２の生成確率及びのＲＯＵＧＥ値と、システム要約ｙ′３の生成確率及びのＲＯＵＧＥ値との総和から求めることができる。つまり、損失ＬＭＲＴ（θｔ）は、０．２×（−０．３）＋０．６×（−０．１）＋０．２×（−０．６）の計算により、−０．２４と算出される。
【００４５】
このような損失ＬＭＲＴ（θｔ）に基づいてパラメータがθｔからθｔ＋１へ更新されたモデルが入力文ｘから生成するシステム要約ｙ′１〜ｙ′３の生成確率およびＲＯＵＧＥ値が図６の下段の表の通りであるとする。
【００４６】
その一方で、図６に示す下段の表には、ｔ＋１ラウンド目のモデル学習においてパラメータθｔ＋１を持つモデルが入力文ｘからシステム要約ｙ′を生成する生成確率と、参照要約およびシステム要約ｙ′の間のＲＯＵＧＥ値とが示されている。この場合にも、損失ＬＭＲＴ（θｔ＋１）は、システム要約ｙ′１の生成確率及びのＲＯＵＧＥ値と、システム要約ｙ′２の生成確率及びのＲＯＵＧＥ値と、システム要約ｙ′３の生成確率及びのＲＯＵＧＥ値との総和から求めることができる。つまり、損失ＬＭＲＴ（θｔ＋１）は、０．３×（−０．３）＋０．１×（−０．１）＋０．６×（−０．６）の計算により、−０．４６と算出される。
【００４７】
このようにモデルのパラメータがθｔからθｔ＋１へ更新されることにより、ｔラウンド目の損失ＬＭＲＴ（θｔ）よりもｔ＋１ラウンド目の損失ＬＭＲＴ（θｔ＋１）を減少させるモデル学習が実現されていることがわかる。
【００４８】
［現状のＭＲＴの課題の一側面］
しかしながら、上記の背景技術の欄で説明した通り、ＭＲＴのように、語順の違いを不問とし、単語の重複度によりモデルのパラメータを更新する場合、正解の参照要約と語順が異なる全てのシステム要約のＲＯＵＧＥ値が高評価を受ける。それ故、正解の参照要約との間で語順が異なるシステム要約の中に非文法的な表現が含まれる場合でも、システム要約の損失を過小評価してモデルのパラメータが学習される。この結果、可読性が低いシステム要約を生成するモデルが学習されてしまうことがある。
【００４９】
このようなモデル学習の失敗事例を図７Ａ〜図７Ｄを用いて説明する。図７Ａは、参照要約の一例を示す図である。図７Ｂ〜図７Ｄは、システム要約の一例を示す図である。ここでは、一例として、モデルの学習の際に、図３に示す入力文３０及び図７Ａに示す参照要約７０のペアが学習サンプルとして入力される事例を例に挙げる。このとき、ＲＮＮエンコーダ及びＲＮＮデコーダが接続されたモデルによって入力文３０から図７Ｂ〜図７Ｄに示すＲＯＵＧＥ値が同一であるシステム要約７０Ｂ〜７０Ｄが生成される場合、次のような評価が行われる。
【００５０】
すなわち、図７Ａに示す参照要約７０及び図７Ｂに示すシステム要約７０Ｂの間では、語順が一致し、かつ単語の集合も一致する。このように参照要約７０及びシステム要約７０Ｂの間で単語の集合が一致するので、損失は「０」となる。また、図７Ａに示す参照要約７０及び図７Ｃに示すシステム要約７０Ｃの間では、語順は異なるが、単語の集合が一致する。このように参照要約７０及びシステム要約７０Ｃの間で単語の集合が一致するので、損失は「０」となる。また、図７Ａに示す参照要約７０及び図７Ｄに示すシステム要約７０Ｄの間でも、語順は異なるが、単語の集合が一致する。このように参照要約７０及びシステム要約７０Ｄの間で単語の集合が一致するので、損失は「０」となる。このように、ＲＯＵＧＥ値が同一であるシステム要約７０Ｂ〜システム要約７０Ｄの間では、同一の評価がなされることになる。
【００５１】
しかしながら、システム要約７０Ｄには、システム要約７０Ｂやシステム要約７０Ｃでは見られない非文法的な表現が含まれる。例えば、システム要約７０Ｂやシステム要約７０Ｃに示された「・・・チャットで・・・」のように、「チャット」には格助詞の「で」が用いられるのが正しい用法である。それにもかかわらず、システム要約７０Ｄに示された「・・・チャットが・・・」では、「チャット」に格助詞の「が」が用いられており、文法的に誤りがある。さらに、文法的な誤りが一因となって、システム要約７０Ｄでは、「チャットが」の修飾部が「自動応答する」の被修飾部を修飾する誤った係り受けとなっている。
【００５２】
このように、現状のＭＲＴでは、ＲＯＵＧＥ値が同一のレベルであれば、非文法的な表現が含まれないシステム要約７０Ｂやシステム要約７０Ｃと、非文法的な表現や誤った係り受けが含まれるシステム要約７０Ｄとの間で同一の評価がなされることになる。すなわち、モデル学習時にシステム要約の中に非文法的な表現を含むシステム要約７０Ｄが含まれる場合、システム要約７０ＤのＲＯＵＧＥ値の負の利得がシステム要約７０Ｂやシステム要約７０ＣのＲＯＵＧＥ値の負の利得と同程度に作用する。このように、非文法的な表現を含むシステム要約７０ＤのＲＯＵＧＥ値の負の利得が過剰に作用する損失に基づいてモデルが更新される結果、可読性が低い要約文を生成するモデルが学習されてしまう場合がある。
【００５３】
［課題解決のアプローチの一側面］
そこで、本実施例に係る学習装置１は、正解の参照要約に含まれる単語の語順を入れ替えて非文法的な表現が擬似的に再現された擬似文を生成し、モデルが擬似文を生成する確率よりもモデルが参照要約を生成する確率が高くなるようにモデルのパラメータを更新する。
【００５４】
図８は、モデルのパラメータの更新方法の一例を示す図である。図８に示すように、ＲＮＮエンコーダ及びＲＮＮデコーダのモデル学習には、図５に示されたＭＲＴと同様、入力文ｘおよび正解の参照要約ｙのペアが学習サンプルとして用いられる。
【００５５】
これら入力文ｘおよび正解の参照要約ｙのうち入力文ｘがモデルへ入力される。このように入力文ｘが入力された場合、学習装置１は、パラメータθを持つモデルのＲＮＮデコーダが先頭からＥＯＳまでの各時刻に出力する単語の確率分布に従って複数のシステム要約ｙ′１〜ｙ′３をサンプリングする。
【００５６】
そして、学習装置１は、システム要約ｙ′１〜ｙ′３ごとに、入力文ｘから当該システム要約ｙ′が生成される生成確率と、参照要約ｙおよび当該システム要約ｙ′の間の単語のｎ−ｇｒａｍの重複度を表すＲＯＵＧＥ値とを算出する。その上で、学習装置１は、システム要約ｙ′１〜ｙ′３の生成確率およびＲＯＵＧＥ値から上記の式（１）に従って損失ＬＭＲＴ（θ）を算出する。
【００５７】
このように、本実施例においても、システム要約ｙ′の生成確率およびＲＯＵＧＥ値から損失ＬＭＲＴ（θ）が算出されるまでの過程は上記のＭＲＴと共通するが、損失ＬＭＲＴ（θ）そのものを損失として用いる訳ではない。
【００５８】
すなわち、本実施例では、上記のＭＲＴから改良された損失を定義する点が異なる。例えば、本実施例では、システム要約ｙ′の生成確率およびＲＯＵＧＥ値に基づく損失ＬＭＲＴ（θ）の項と共に非文法的な表現を含む擬似文ｚにペナルティを与える損失Ｌｏｒｄｅｒ（θ）の項が加えられた損失Ｌ（θ）を下記の式（２）の通りに定義する。なお、下記の式（２）における「α」は、重み付けの係数であり、例えば、０〜１の任意の値を採用できる。
【００５９】
【数２】
2020071737.tif 000004
【００６０】
ここで、上記の損失Ｌｏｒｄｅｒ（θ）は、下記の式（３）により算出される。下記の式（３）における「Ｄ」は、入力文ｘおよび参照要約ｙを含む学習サンプルの集合である学習データを指す。また、下記の式（３）における「Ｓ′（ｙ）」は、正解の参照要約ｙから生成される擬似文ｚの集合を指す。また、下記の式（３）における「ｐ（ｚ｜ｘ；θ）」は、モデルのパラメータをθとしたとき、入力文ｘから擬似文ｚが生成される確率を指す。また、下記の式（３）における「ｐ（ｙ｜ｘ；θ）」は、入力文ｘから正解の参照要約ｙが生成される確率を指す。
【００６１】
【数３】
2020071737.tif 000005
【００６２】
例えば、学習装置１は、正解の参照要約ｙから当該参照要約ｙに含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文ｚ１〜ｚ３の集合Ｓ′（ｙ）を生成する。このとき、正解の参照要約ｙに含まれる単語の語数を変えずに、単語の語順を入れ替えて擬似文ｚのサンプリングを行うことで、参照要約ｙとの間で計算されるＲＯＵＧＥ値が「１」となる擬似文ｚを生成することができる。なお、ここでは、説明の便宜上、３つの擬似文ｚ１〜ｚ３がサンプリングされる例を挙げたが、任意の個数の擬似文ｚがサンプリングされることとしてかまわない。
【００６３】
さらに、学習装置１は、参照要約ｙが入力文ｘから生成される生成確率ｐ（ｙ｜ｘ；θ）を算出すると共に、擬似文ｚごとに当該擬似文ｚが入力文ｘから生成される生成確率ｐ（ｚ｜ｘ；θ）を算出する。例えば、図８の例で言えば、参照要約ｙの生成確率ｐ（ｙ｜ｘ；θ）は、「０．２」と算出される。また、擬似文ｚ１の生成確率ｐ（ｚ１｜ｘ；θ）は、「０．３」と算出される。さらに、擬似文ｚ２の生成確率ｐ（ｚ２｜ｘ；θ）は、「０．４」と算出される。また、擬似文ｚ３の生成確率ｐ（ｚ３｜ｘ；θ）は、「０．１」と算出される。
【００６４】
このような生成確率の算出結果の下、損失Ｌｏｒｄｅｒ（θ）の計算例について説明する。例えば、Σに定義された集合Ｓ′（ｙ）のうち擬似文ｚ１の場合、擬似文ｚ１の生成確率（ｐ（ｚ１｜ｘ；θ）＝０．３）と参照要約ｙの生成確率（ｐ（ｙ｜ｘ；θ）＝０．２）とが比較される。この場合、擬似文ｚ１の生成確率が参照要約ｙの生成確率よりも大きい。このため、上記の式（３）において、擬似文ｚ１の生成確率および参照要約ｙの生成確率の差、すなわちｐ（ｚ１｜ｘ；θ）−ｐ（ｙ｜ｘ；θ）＝０．１は正となる。この結果、ｍａｘ関数によってｐ（ｚ１｜ｘ；θ）−ｐ（ｙ｜ｘ；θ）＝０．１が選択される。
【００６５】
また、擬似文ｚ２の場合、擬似文ｚ２の生成確率（ｐ（ｚ２｜ｘ；θ）＝０．４）と参照要約ｙの生成確率（ｐ（ｙ｜ｘ；θ）＝０．２）とが比較される。この場合、擬似文ｚ２の生成確率が参照要約ｙの生成確率よりも大きい。このため、上記の式（３）において、擬似文ｚ２の生成確率および参照要約ｙの生成確率の差、すなわちｐ（ｚ２｜ｘ；θ）−ｐ（ｙ｜ｘ；θ）＝０．２は正となる。この場合にも、ｍａｘ関数によってｐ（ｚ２｜ｘ；θ）−ｐ（ｙ｜ｘ；θ）＝０．２が選択される。
【００６６】
また、擬似文ｚ３の場合、擬似文ｚ３の生成確率（ｐ（ｚ３｜ｘ；θ）＝０．１）と参照要約ｙの生成確率（ｐ（ｙ｜ｘ；θ）＝０．２）とが比較される。この場合、擬似文ｚ３の生成確率が参照要約ｙの生成確率よりも小さい。このため、上記の式（３）において、擬似文ｚ３の生成確率および参照要約ｙの生成確率の差、すなわちｐ（ｚ３｜ｘ；θ）−ｐ（ｙ｜ｘ；θ）＝−０．１は負となる。この結果、ｍａｘ関数によって０が選択される。
【００６７】
これら擬似文ｚ１〜ｚ３の要素ごとに算出された損失が合計されることにより、損失Ｌｏｒｄｅｒ（θ）は、０．３（＝０．１＋０．２＋０）と算出することができる。
【００６８】
このように、本実施例では、損失ＬＭＲＴ（θ）に加えて損失Ｌｏｒｄｅｒ（θ）に基づいて損失Ｌ（θ）を算出することで、次のようなモデル学習を実現できる。例えば、損失ＬＭＲＴ（θ）の項によってＲＯＵＧＥ値を向上させつつ、損失Ｌｏｒｄｅｒ（θ）の項によって擬似文ｚの生成確率よりも参照要約ｙの生成確率が上回るようにモデルのパラメータを更新することができる。
【００６９】
このため、参照要約と単語の重複度は高く、かつ参照要約と語順が異なるシステム要約の生成確率を上げる作用を与えつつ、参照要約と単語の重複度が高い要約文の中でも非文法的な表現を含む擬似文の生成にペナルティを課す反作用を与えることができる。それ故、参照要約と単語の重複度が高い要約文の中でも非文法的な表現が含まれないシステム要約の生成確率を上げるパラメータの更新を実現できる。
【００７０】
したがって、本実施例に係る学習装置１によれば、可読性が低い要約文を生成するモデルが学習されるのを抑制することができる。
【００７１】
［学習装置１の機能的構成］
次に、本実施例に係る学習装置１の機能的構成の一例について説明する。図１に示すように、学習装置１は、学習データ記憶部２と、第１のモデル記憶部３と、第１の学習部５と、第２のモデル記憶部８と、第２の学習部１０とを有する。なお、学習装置１は、図１に示した機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００７２】
図１に示す第１の学習部５および第２の学習部１０などの機能部は、あくまで例示として、下記のハードウェアプロセッサにより仮想的に実現される。このようなプロセッサの例として、ＤＬＵ（Deep  Learning  Unit）やＧＰＧＰＵ（General-Purpose  computing  on  Graphics  Processing  Units）の他、ＧＰＵクラスタなどが挙げられる。この他、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などであってもかまわない。例えば、プロセッサがＲＡＭ（Random  Access  Memory）等のメモリ上に上記学習プログラムをプロセスとして展開することにより、上記の機能部が仮想的に実現される。ここでは、プロセッサの一例として、ＤＬＵやＧＰＧＰＵ、ＧＰＵクラスタ、ＣＰＵ、ＭＰＵを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによって実現されることを妨げない。
【００７３】
また、図１に示す学習データ記憶部２、第１のモデル記憶部３及び第２のモデル記憶部８などの機能部には、ＨＤＤ（Hard  Disk  Drive）、光ディスクやＳＳＤ（Solid  State  Drive）などの記憶装置を採用できる。なお、記憶装置は、必ずしも補助記憶装置でなくともよく、各種の半導体メモリ素子、例えばＲＡＭ、ＥＰＰＲＯＭやフラッシュメモリなども採用できる。
【００７４】
ここで、図１には、第２の学習部１０におけるモデルの学習速度を向上させる側面から、第１の学習部５にモデルのパラメータを学習する前処理を実行させてから前処理後のパラメータを用いて第２の学習部１０に上記のモデル学習を実行させる場合を例示する。これはあくまで一例であり、必ずしも第１の学習部５による前処理が行われずともかまわない。例えば、第１の学習部５による前処理をスキップし、第２の学習部１０に初期のパラメータを用いて上記のモデル学習を実行させることとしてもかまわない。以下では、第１の学習部５により実行される前処理となるモデル学習のことを「第１のモデル学習」と記載し、第２の学習部１０により実行される上記のモデル学習のことを「第２のモデル学習」と記載する場合がある。
【００７５】
学習データ記憶部２は、学習データを記憶する記憶部である。ここで、学習データには、一例として、Ｄ個の学習サンプル、いわゆる学習事例が含まれる。さらに、学習サンプルには、入力文ｘおよび参照要約ｙのペアが含まれる。なお、図１には、あくまで一例として、第１の学習部５及び第２の学習部１０に同一の学習データが用いられる場合を例示するが、第１の学習部５及び第２の学習部１０の間で異なる学習データがモデル学習に用いられることとしてもかまわない。
【００７６】
第１のモデル記憶部３及び第２のモデル記憶部８は、いずれもモデルに関する情報を記憶する記憶部である。
【００７７】
一実施形態として、第１のモデル記憶部３及び第２のモデル記憶部８には、次のような情報が記憶される。例えば、ＲＮＮエンコーダ及びＲＮＮデコーダが接続されたニューラルネットワークを形成する入力層、隠れ層及び出力層の各層のニューロンやシナプスなどのモデルの層構造を始め、各層の重みやバイアスなどのモデルのパラメータを含むモデル情報が記憶される。ここで、第１の学習部５によりモデル学習が実行される前の段階では、第１のモデル記憶部３には、モデルのパラメータとして、乱数により初期設定されたパラメータが記憶される。また、第１の学習部５によりモデル学習が実行された後の段階では、第１のモデル記憶部３には、第１の学習部５により学習されたモデルのパラメータが保存される。また、第２の学習部１０によりモデル学習が実行された後の段階では、第２のモデル記憶部８には、第２の学習部１０により学習されたモデルのパラメータが保存される。
【００７８】
第１の学習部５は、上記の前処理となる第１のモデル学習を実行する処理部である。ここでは、第１のモデル学習の一例として、対数尤度の最適化と呼ばれるモデル学習が実行される場合を例示する。
【００７９】
第１の学習部５は、図１に示すように、入力制御部５Ｉと、モデル実行部６と、更新部７とを有する。
【００８０】
入力制御部５Ｉは、モデルに対する入力を制御する処理部である。
【００８１】
一実施形態として、入力制御部５Ｉは、学習データに含まれる学習サンプルごとに、ＲＮＮエンコーダおよびＲＮＮデコーダが接続されたニューラルネットワークのモデルに対するデータの入力制御を行う。
【００８２】
具体的には、入力制御部５Ｉは、学習サンプルをカウントするループカウンタｄの値を初期化する。続いて、入力制御部５Ｉは、学習データ記憶部２に記憶されたＤ個の学習サンプルのうちループカウンタｄに対応する学習サンプルを取得する。その後、入力制御部５Ｉは、ループカウンタｄをインクリメントし、ループカウンタｄの値が学習サンプルの総数Ｄと等しくなるまで、学習データ記憶部２から学習サンプルを取得する処理を繰り返し実行する。なお、ここでは、学習装置１内部のストレージに保存された学習データを取得する例を挙げたが、ネットワークを介して接続される外部のコンピュータ、例えばファイルサーバの他、リムーバブルメディア等から学習データが取得されることとしてもかまわない。
【００８３】
このように学習サンプルが取得される度に、入力制御部５Ｉは、当該学習サンプルに含まれる入力文ｘをＲＮＮエンコーダ６Ａへ入力する。これによって、入力文ｘの単語列がベクトル化されたベクトル、いわゆる中間表現がＲＮＮエンコーダ６ＡからＲＮＮデコーダ６Ｂへ出力される。これと同時または前後して、入力制御部５Ｉは、ＲＮＮデコーダ６Ｂに文末記号と呼ばれるＥＯＳを出力させるまでの残り文字数を保持するレジスタの値を所定の上限文字数、例えばユーザ入力やユーザ設定などの値に初期化する。これ以降のＲＮＮデコーダ６Ｂへの入力、ＲＮＮデータからの出力、それを用いたモデルのパラメータの更新についてはその詳細を後述する。
【００８４】
モデル実行部６は、ＲＮＮエンコーダ６ＡおよびＲＮＮデコーダ６Ｂが接続されたニューラルネットワークのモデルを実行する処理部である。
【００８５】
１つの側面として、モデル実行部６は、第１のモデル記憶部３に記憶されたモデル情報にしたがって、入力制御部５Ｉにより入力された学習サンプルの入力文の単語数Ｍに対応するＭ個のＬＳＴＭ（Long  Short-Term  Memory）をワークエリア上に展開する。これによって、Ｍ個のＬＳＴＭをＲＮＮエンコーダ６Ａとして機能させる。このＲＮＮエンコーダ６Ａでは、入力制御部５Ｉによる入力制御にしたがって、学習サンプルの入力文の先頭の単語から順に、入力文の先頭からｍ番目の単語が当該ｍ番目の単語に対応するＬＳＴＭへ入力されると共に、ｍ−１番目の単語に対応するＬＳＴＭの出力がｍ番目の単語に対応するＬＳＴＭへ入力される。このような入力を先頭の単語に対応するＬＳＴＭから末尾であるＭ番目の単語に対応するＬＳＴＭまで繰り返すことにより、学習サンプルの入力文のベクトル、いわゆる中間表現が得られる。このようにＲＮＮエンコーダ６Ａにより生成された入力文の中間表現がＲＮＮデコーダ６Ｂへ入力される。
【００８６】
更なる側面として、モデル実行部６は、第１のモデル記憶部３に記憶されたモデル情報にしたがって、入力制御部５Ｉにより入力された正解の参照要約の単語数Ｎに対応するＮ個のＬＳＴＭをワークエリア上に展開する。これによって、Ｎ個のＬＳＴＭをＲＮＮデコーダ６Ｂとして機能させる。これらＲＮＮデコーダ６Ｂには、入力制御部５Ｉの入力制御にしたがって、ＲＮＮエンコーダ６Ａから学習サンプルの入力文の中間表現が入力されると共に、Ｎ個のＬＳＴＭごとに入力制御部５ＩからＥＯＳのタグを出力させるまでの残り文字数が入力される。これらの入力にしたがってＮ個のＬＳＴＭを動作させることにより、ＲＮＮデコーダ６Ｂは、Ｎ個のＬＳＭＴごとに単語の確率分布を出力する。ここで言う「単語の確率分布」とは、学習サンプル全体で入力文に出現する単語ごとに算出された確率の分布を指す。
【００８７】
更新部７は、モデルのパラメータを更新する処理部である。
【００８８】
一実施形態として、更新部７は、ＲＮＮデコーダ６Ｂのｎ番目のＬＳＴＭから単語の確率分布が出力された場合、当該確率分布で確率が最大である単語をシステム要約の先頭からｎ番目の単語として生成する。その後、更新部７は、システム要約のｎ番目の単語が生成された場合、正解の参照要約に含まれる単語のうちｎ番目の単語と、システム要約として生成されたｎ番目の単語とから損失を算出する。このように、ＲＮＮデコーダ６ＢのＮ個のＬＳＴＭごとに損失が算出される。その上で、更新部７は、各ＬＳＴＭの損失に基づいて対数尤度の最適化を実行することにより、ＲＮＮエンコーダ６ＡおよびＲＮＮデコーダ６Ｂのモデルを更新するパラメータを算出する。そして、更新部７は、第１のモデル記憶部３に記憶されたモデルのパラメータを対数尤度の最適化により求められたパラメータに更新する。このパラメータの更新は、全ての学習サンプルにわたって繰り返し実行すると共に、学習データＤについても所定のエポック数にわたって繰り返し実行することができる。
【００８９】
これら入力制御部５Ｉ、モデル実行部６及び更新部７の処理内容を図９〜図１１を用いて説明する。図９〜図１１は、第１のモデル学習の一例を示す図である。図９〜図１１には、入力制御部５Ｉにより図３に示す入力文３０および図７Ａに示す参照要約７０のペアが学習サンプルとして取得される場合が示されている。
【００９０】
図９に示すように、モデル実行部６は、入力制御部５Ｉにより取得された入力文３０に含まれる単語列をベクトル化する。すなわち、モデル実行部６は、モデル実行部６が使用するワークエリアに入力文３０の単語数Ｍに対応するＭ個のＬＳＴＭ６ａ−１〜６ａ−Ｍを展開する。これによって、Ｍ個のＬＳＴＭ６ａ−１〜６ａ−ＭをＲＮＮエンコーダ６Ａとして機能させる。その上で、入力制御部５Ｉは、入力文３０に含まれる先頭の単語から順に入力文３０の単語を当該単語の位置に対応するＬＳＴＭ６ａに入力すると共に１つ前のＬＳＴＭ６ａの出力を入力する。このような入力を先頭の単語「当社」に対応するＬＳＴＭ６ａ−１から末尾の単語「。」に対応するＬＳＴＭ６ａ−Ｍまで繰り返すことにより、入力文３０のベクトルが得られる。このようにＲＮＮエンコーダ６Ａにより生成された入力文３０のベクトルがＲＮＮデコーダ６Ｂへ入力される。
【００９１】
その後、モデル実行部６は、入力文３０のベクトル、１時刻前の正解の単語及びＲＮＮデコーダ６Ｂが文末記号と呼ばれるＥＯＳを出力するまでの残り文字数などを入力とし、ＥＯＳを出力するまで時刻ごとに単語の確率分布を繰り返し計算する。
【００９２】
例えば、参照要約７０の先頭の単語と照合する単語の確率分布を計算する１時刻目には、図９に示す動作が行われる。すなわち、図９に示すように、入力制御部５Ｉは、モデル実行部６が使用するワークエリアに展開されたＬＳＴＭ６ｂ−１に対し、ＬＳＴＭ６ａ−Ｍの出力およびＢＯＳ（Begin  Of  Sentence）と呼ばれる文頭記号を入力すると共に参照要約７０の文字数「３７」を残り文字数として入力する。これにより、ＬＳＴＭ６ｂ−１により１時刻目（ｔ＝１）における単語の確率分布が出力される。この結果、更新部７は、１時刻目における単語の確率分布と１時刻目の正解の単語「コールセンター」とから損失を算出する。この場合、１時刻目の正解の単語「コールセンター」の確率が１に近く、かつその他の単語の確率が０に近いほど小さい損失が算出される。
【００９３】
また、参照要約７０の先頭から２番目の単語と照合する単語の確率分布を計算する２時刻目には、図１０に示す動作が行われる。すなわち、図１０に示すように、入力制御部５Ｉは、ＬＳＴＭ６ｂ−２に対し、ＬＳＴＭ６ｂ−１の出力および１時刻前の正解の単語「コールセンター」を入力すると共に１時刻目の残り文字数から１時刻目の正解の単語の字数が減算された字数「３０」を２時刻目の残り文字数として入力する。これにより、ＬＳＴＭ６ｂ−２により２時刻目（ｔ＝２）における単語の確率分布が出力される。この結果、更新部７は、２時刻目における単語の確率分布と２時刻目の正解の単語「の」とから損失を算出する。この場合、２時刻目の正解の単語「の」の確率が１に近く、かつその他の単語の確率が０に近いほど小さい損失が算出される。
【００９４】
さらに、参照要約７０の先頭から３番目の単語と照合する単語の確率分布を計算する３時刻目には、図１１に示す動作が行われる。すなわち、図１１に示すように、入力制御部５Ｉは、ＬＳＴＭ６ｂ−３に対し、ＬＳＴＭ６ｂ−２の出力および１時刻前の正解の単語「の」を入力すると共に２時刻目の残り文字数から２時刻目の正解の単語の字数が減算された字数「２９」を３時刻目の残り文字数として入力する。これにより、ＬＳＴＭ６ｂ−３により３時刻目（ｔ＝３）における単語の確率分布が出力される。この結果、更新部７は、３時刻目における単語の確率分布と３時刻目の正解の単語「問い合わせ」とから損失を算出する。この場合、３時刻目の正解の単語「問い合わせ」の確率が１に近く、かつその他の単語の確率が０に近いほど小さい損失が算出される。
【００９５】
このような処理をＬＳＴＭ６ｂから文末記号「ＥＯＳ」が出力されるまで繰り返し実行されることにより、更新部７は、参照要約７０の単語ごとに損失を算出する。さらに、学習データに含まれる全ての学習サンプルについて参照要約の単語ごとに損失を算出する処理が実行される。このように学習データに含まれる全ての学習サンプルについて参照要約の単語ごとの損失が算出されると、更新部７は、下記の式（４）に示す目的関数Ｌｔをパラメータθについて最大化する「対数尤度の最適化」を第１のモデル学習として実行する。ここで、下記の式（４）における確率「ｐ（ｙ｜ｘ；θ）」は、下記の式（５）に示す通り、各時刻における損失の総積によって求まる。なお、下記の式（４）における「Ｄ」は、入力文ｘおよび参照要約ｙを含む学習サンプルの集合を指す。また、下記の式（５）における「ｙ＜ｔ」の「ｔ」は、参照要約における単語の位置を指し、例えば、参照要約の先頭の単語はｙ１で表され，２番目の単語はｙ２で表され，・・・，末尾の単語はｙｔ−１で表される。
【００９６】
【数４】
2020071737.tif 000006
【数５】
2020071737.tif 000007
【００９７】
その後、更新部７は、第１のモデル記憶部３に記憶されたモデルのパラメータを対数尤度の最適化により求められたパラメータθに更新する。このパラメータθの更新は、学習データＤについて所定の回数にわたって繰り返すことができる。このように第１のモデル記憶部３に保存されたモデルのパラメータが第２の学習部１０により用いられることになる。
【００９８】
図１の説明に戻り、第２の学習部１０は、上記の第２のモデル学習を実行する処理部である。図１に示すように、第２の学習部１０は、入力制御部１０Ｉと、モデル実行部１１と、要約生成部１２と、第１の確率算出部１３と、重複度算出部１４と、第１の損失算出部１５と、擬似文生成部１６と、第２の確率算出部１７と、第２の損失算出部１８と、更新部１９とを有する。
【００９９】
入力制御部１０Ｉは、モデルに対する入力を制御する処理部である。
【０１００】
一実施形態として、入力制御部１０Ｉは、学習データに含まれる学習サンプルごとに、ＲＮＮエンコーダ１１ＡおよびＲＮＮデコーダ１１Ｂが接続されたニューラルネットワークのモデルに対するデータの入力制御を行う。
【０１０１】
具体的には、入力制御部１０Ｉは、学習サンプルをカウントするループカウンタｄの値を初期化する。続いて、入力制御部１０Ｉは、学習データ記憶部２に記憶されたＤ個の学習サンプルのうちループカウンタｄに対応する学習サンプルを取得する。その後、入力制御部１０Ｉは、ループカウンタｄをインクリメントし、ループカウンタｄの値が学習サンプルの総数Ｄと等しくなるまで、学習データ記憶部２から学習サンプルを取得する処理を繰り返し実行する。なお、ここでは、学習装置１内部のストレージに保存された学習データを取得する例を挙げたが、ネットワークを介して接続される外部のコンピュータ、例えばファイルサーバの他、リムーバブルメディア等から学習データが取得されることとしてもかまわない。
【０１０２】
このように学習サンプルが取得される度に、入力制御部１０Ｉは、当該学習サンプルに含まれる入力文ｘをＲＮＮエンコーダ１１Ａへ入力する。これによって、入力文ｘの単語列がベクトル化されたベクトル、いわゆる中間表現がＲＮＮエンコーダ１１ＡからＲＮＮデコーダ１１Ｂへ出力される。これと同時または前後して、入力制御部１０Ｉは、ＲＮＮデコーダ１１Ｂに文末記号と呼ばれるＥＯＳを出力させるまでの残り文字数を保持するレジスタの値を所定の上限文字数、例えばユーザ入力やユーザ設定などの値に初期化する。これ以降のＲＮＮデコーダ１１Ｂへの入力、ＲＮＮデータからの出力、それを用いたモデルのパラメータの更新についてはその詳細を後述する。
【０１０３】
モデル実行部１１は、ＲＮＮエンコーダ１１ＡおよびＲＮＮデコーダ１１Ｂが接続されたニューラルネットワークのモデルを実行する処理部である。
【０１０４】
１つの側面として、モデル実行部１１は、第１のモデル記憶部３に記憶されたモデル情報にしたがって、入力制御部１０Ｉにより入力された学習サンプルの入力文の単語数Ｍに対応するＭ個のＬＳＴＭをワークエリア上に展開する。これによって、Ｍ個のＬＳＴＭをＲＮＮエンコーダ１１Ａとして機能させる。このＲＮＮエンコーダ１１Ａでは、入力制御部１０Ｉによる入力制御にしたがって、学習サンプルの入力文の先頭の単語から順に、入力文の先頭からｍ番目の単語が当該ｍ番目の単語に対応するＬＳＴＭへ入力されると共に、ｍ−１番目の単語に対応するＬＳＴＭの出力がｍ番目の単語に対応するＬＳＴＭへ入力される。このような入力を先頭の単語に対応するＬＳＴＭから末尾であるＭ番目の単語に対応するＬＳＴＭまで繰り返すことにより、学習サンプルの入力文のベクトル、いわゆる中間表現が得られる。このようにＲＮＮエンコーダ１１Ａにより生成された入力文の中間表現がＲＮＮデコーダ１１Ｂへ入力される。
【０１０５】
更なる側面として、モデル実行部１１は、第１のモデル記憶部３に記憶されたモデル情報にしたがって、文末記号「ＥＯＳ」が出力されるまで各時刻に対応するＫ個のＬＳＴＭをワークエリア上に展開する。これによって、Ｋ個のＬＳＴＭをＲＮＮデコーダ１１Ｂとして機能させる。これらＲＮＮデコーダ１１Ｂには、入力制御部１０Ｉの入力制御にしたがって、ＲＮＮエンコーダ１１Ａから学習サンプルの入力文の中間表現が入力されると共に、Ｋ個のＬＳＴＭごとに入力制御部１０ＩからＥＯＳのタグを出力させるまでの残り文字数が入力される。これらの入力にしたがってＫ個のＬＳＴＭを動作させることにより、ＲＮＮデコーダ１１Ｂは、Ｋ個のＬＳＭＴごとに単語の確率分布を出力する。
【０１０６】
これら入力制御部１０Ｉ及びモデル実行部１１の他、第２の学習部１０は、更新部１９がモデルのパラメータの更新に用いる損失Ｌ（θ）を算出する側面から、上記の損失ＬＭＲＴ（θ）を第１の損失として算出する第１の系統と、上記の損失Ｌｏｒｄｅｒ（θ）を第２の損失として算出する第２の系統とに分類することができる。
【０１０７】
このうち、第１の系統には、システム要約を生成する要約生成部１２と、システム要約の生成確率を算出する第１の確率算出部１３と、システム要約および参照要約の重複度を算出する重複度算出部１４と、上記の第１の損失を算出する第１の損失算出部１５とが含まれる。
【０１０８】
以下、図１２を用いて、第２のモデル学習の第１の系統における処理内容について説明する。図１２は、第１の系統におけるモデルへの入出力の一例を示す図である。図１２には、入力制御部１０Ｉにより図３に示す入力文３０および図７Ａに示す参照要約７０のペアが学習サンプルとして取得される場合が示されている。
【０１０９】
図１２に示すように、モデル実行部１１は、上記のモデル実行部６と同様、入力制御部１０Ｉにより取得された入力文３０に含まれる単語列をベクトル化する。すなわち、モデル実行部１１は、モデル実行部１１が使用するワークエリアに入力文３０の単語数Ｍに対応するＭ個のＬＳＴＭ１１ａ−１〜１１ａ−Ｍを展開する。これらＭ個のＬＳＴＭ１１ａ−１〜１１ａ−ｎをＲＮＮエンコーダ１１Ａとして機能させる。その上で、入力制御部１０Ｉは、入力文３０に含まれる先頭の単語から順に入力文３０の単語を当該単語の位置に対応するＬＳＴＭ１１ａに入力すると共に１つ前のＬＳＴＭ１１ａの出力を入力する。このような入力を先頭の単語「当社」に対応するＬＳＴＭ１１ａ−１から末尾の単語「。」に対応するＬＳＴＭ１１ａ−Ｍまで繰り返すことにより、入力文３０のベクトルが得られる。このようにＲＮＮエンコーダ１１Ａにより生成された入力文３０のベクトルがＲＮＮデコーダ１１Ｂへ入力される。
【０１１０】
その後、モデル実行部１１は、入力文３０のベクトル、１時刻前に予測された単語及びＲＮＮデコーダ１１ＢがＥＯＳを出力するまでの残り文字数などを入力とし、ＥＯＳを出力するまで時刻ごとに単語の確率分布を繰り返し計算する。
【０１１１】
ここで、第２のモデル学習では、第１のモデル学習とは異なり、ＲＮＮデコーダ１１Ｂの各時刻に１時刻前の正解の単語ではなく、１時刻前に生成された単語が入力制御部１０Ｉにより入力される。さらに、第２のモデル学習では、参照要約に対するシステム要約の損失は、第１のモデル学習のように、ＲＮＮデコーダ６Ｂの各時刻ごとに算出されない。すなわち、第２のモデル学習では、図１２に示すように、ＥＯＳのタグが出力されるまで各時刻に対応するＬＳＴＭ１１ｂから単語の確率分布に基づいて単語を繰り返して出力させることによりシステム要約が生成された後にシステム要約の損失が算出される。
【０１１２】
例えば、システム要約の先頭の単語を予測する１時刻目には、入力制御部１０Ｉは、モデル実行部１１が使用するワークエリアに展開されたＬＳＴＭ１１ｂ−１に対し、ＬＳＴＭ１１ａ−Ｍの出力および文頭記号「ＢＯＳ」と共に参照要約７０の文字数「３７」を残り文字数として入力する。ここでは、上限文字数の一例として、参照要約の文字数を採用する場合を例示したが、参照要約の文字数よりも短い文字数に制限してもよいし、参照要約の文字数よりも長い文字数に制限することもできる。これにより、ＬＳＴＭ１１ｂ−１によって１時刻目（ｔ＝１）における単語の確率分布が出力される。この単語の確率分布に基づいて、要約生成部１２は、システム要約の先頭の単語を抽出する。例えば、要約生成部１２は、単語の確率分布に従って抽選を実行し、抽選により当選した単語を抽出することができる。この他、要約生成部１２は、確率が上位所定数、例えば上位５位までに属する単語の中から１つの単語をランダムにサンプリングする。ここで、図１２に示す例では、あくまで一例として、システム要約の先頭の単語として「コールセンター」がランダムサンプリングされた場合を例に挙げて２時刻目以降の処理について説明する。
【０１１３】
続いて、システム要約の先頭から２番目の単語を予測する２時刻目には、入力制御部１０Ｉは、ＬＳＴＭ１１ｂ−２に対し、ＬＳＴＭ１１ｂ−１の出力および１時刻前の予測結果「コールセンター」と共に１時刻目の残り文字数から１時刻目に予測された単語の字数が減算された字数「３０」を２時刻目の残り文字数として入力する。これにより、ＬＳＴＭ１１ｂ−２によって２時刻目（ｔ＝２）における単語の確率分布が出力される。この単語の確率分布に基づいて単語の抽選を実行することにより、要約生成部１２は、抽選で当選した単語をサンプリングする。
【０１１４】
その後、要約生成部１２は、は、ＬＳＴＭ１１ｂ−ＫによりＥＯＳが出力されるまで、システム要約の単語を時刻ごとにサンプリングする。このようなサンプリングによりシステム要約を生成することで、要約生成部１２は、１つの入力文につき所定数、例えばＳ個のシステム要約ｙ′を生成することができる。このようにＳ個のシステム要約が生成された場合、第１の確率算出部１３は、Ｓ個のシステム要約ｙ′ごとに当該システム要約ｙ′の各時刻で生成された単語の確率に基づいて入力文ｘからシステム要約ｙ′が生成される生成確率ｐ（ｙ′｜ｘ，θ）を算出する。
【０１１５】
ここで、第２のモデル学習では、第１の損失ＬＭＲＴ（θ）は、上記の式（１）にしたがって算出される。すなわち、第１の損失ＬＭＲＴ（θ）は、第１の確率算出部１３により算出されるシステム要約の生成確率に加えて、後述の重複度算出部１４により算出されるシステム要約および参照要約の間の単語の重複度に基づいて算出される。
【０１１６】
このように第１の損失の算出に用いられる重複度Δ（ｙ′，ｙ）は、図１２に示すように、必ずしもシステム要約に含まれる全ての単語を用いて算出されるとは限らない。すなわち、重複度算出部１４は、要約生成部１２により生成されるＳ個のシステム要約ごとに、当該システム要約のうち上限文字数、例えば参照要約の文字数以内の文を対象に参照要約との間で単語の重複度を算出する。これによって、システム要約のうち上限文字数を超える部分の単語、すなわち図１２に示すハッチング部分を重複度の算出対象から除外することができる。
【０１１７】
例えば、重複度算出部１４は、下記の式（６）に示すように、システム要約の文字列の先頭から上限文字数に対応するｎバイト分の文字列に対応する単語を切り取るｔｒｉｍ関数を含むＲＯＵＧＥ関数にしたがってｎ−ｇｒａｍの重複度を算出できる。
【０１１８】
【数６】
2020071737.tif 000008
【０１１９】
図１３は、重複度の算出方法の一例を示す図である。図１３には、上記の式（６）にしたがって重複度Δ（ｙ′，ｙ）が算出される例が示されている。図１３に示すように、システム要約ｙ′には、先頭の単語ｙ′１、先頭から２番目の単語ｙ′２、・・・、先頭からｋ−１番目の単語ｙ′ｋ−１、先頭からｋ番目の単語ｙ′ｋ、・・・、末尾の単語ｙ′｜ｙ′｜が含まれる。一方、参照要約ｙには、先頭の単語ｙ１、先頭から２番目の単語ｙ２、・・・、末尾の単語ｙ｜ｙ｜が含まれる。この場合、ｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ））によってシステム要約ｙ′から参照要約ｙに対応するバイト数の単語、すなわち先頭の単語ｙ′１、先頭から２番目の単語ｙ′２、・・・、先頭からｋ−１番目の単語ｙ′ｋ−１が切り取られる。その上で、ＲＯＵＧＥ（ｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ）），ｙ）により、システム要約ｙ′の先頭の単語ｙ′１からｋ−１番目の単語ｙ′ｋ−１まで切り出されたｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ））と、参照要約ｙとの単語の重複度が算出される。このように上記の式（６）にしたがって重複度Δ（ｙ′，ｙ）を算出することで、上限文字数を超えるシステム要約ｙ′のｋ番目から末尾までの単語、すなわち単語ｙ′ｋ〜単語ｙ′｜ｙ′｜を重複率の算出対象から除外できる。この結果、上限文字数を超えるシステム要約ｙ′のｋ番目から末尾までの単語、すなわち単語ｙ′ｋ〜単語ｙ′｜ｙ′｜に参照要約ｙと重複する単語が含まれることが一因となって、システム要約ｙ′が過大評価されるのを抑制できる。
【０１２０】
このように重複度の算出対象をシステム要約の上限文字数内の単語に抑えることに加え、下記の式（７）に示す通り、重複度算出部１４は、システム要約の上限文字数に足りない分の長さ、もしくは、システム要約の上限文字数を超える分の長さを、重複度にペナルティとして付与する誤差として、算出することもできる。なお、下記の式（７）に示す「Ｃ」は、上記の学習プログラムの開発者やユーザにより設定されるハイパーパラメータを指す。
【０１２１】
【数７】
2020071737.tif 000009
【０１２２】
図１４は、誤差付きの重複度の算出方法の一例を示す図である。図１４には、上記の式（７）にしたがって誤差付きの重複度Δ（ｙ′，ｙ）が算出される例が示されている。図１４に示す例においても、図１３に示す例と同様に、ＲＯＵＧＥ（ｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ）），ｙ）により、システム要約ｙ′の先頭の単語ｙ′１からｋ−１番目の単語ｙ′ｋ−１まで切り出されたｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ））と、参照要約ｙとの単語の重複度が算出される。さらに、上記の式（７）に従えば、システム要約および参照要約の間の長さの差の絶対値、例えば｜ｂｙｔｅ（ｙ′）−ｂｙｔｅ（ｙ）｜が誤差として重複度に付与される。たとえば、図１４の例で言えば、システム要約の長さの方が参照要約よりも大きいので、上限文字数を超える分の長さｂｙｔｅ（ｙ′）−ｂｙｔｅ（ｙ）が重複度に加算されることにより、誤差付きの重複度Δ（ｙ′，ｙ）が算出される。このように上記の式（７）にしたがってＲＯＵＧＥにより算出される重複度に誤差｜ｂｙｔｅ（ｙ′）−ｂｙｔｅ（ｙ）｜を付与して誤差付きの重複度Δ（ｙ′，ｙ）を算出する。これによって、上限文字数に満たないシステム要約および上限文字数を超えるシステム要約の損失が高まる結果、文字数が上限文字数と一致するシステム要約の評価を高めるモデル学習を実現できる。
【０１２３】
また、重複度算出部１４は、必ずしも上限文字数に満たないシステム要約にまで重複度に付与する誤差を算出せずともかまわない。例えば、重複度算出部１４は、下記の式（８）にしたがって、システム要約が上限文字数を超える場合に絞ってシステム要約の上限文字数を超える分の長さを誤差として算出することもできる。
【０１２４】
【数８】
2020071737.tif 000010
【０１２５】
図１５は、誤差付きの重複度の算出方法の一例を示す図である。図１５には、上記の式（８）にしたがって誤差付きの重複度Δ（ｙ′，ｙ）が算出される例が示されている。図１５に示す例においても、図１３に示す例と同様に、ＲＯＵＧＥ（ｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ）），ｙ）により、システム要約ｙ′の先頭の単語ｙ′１からｋ−１番目の単語ｙ′ｋ−１まで切り出されたｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ））と、参照要約ｙとの単語の重複度が算出される。さらに、システム要約が上限文字数を超える場合、ｍａｘ（０，ｂｙｔｅ（ｙ′）−ｂｙｔｅ（ｙ））によって上限文字数を超える分の長さｂｙｔｅ（ｙ′）−ｂｙｔｅ（ｙ）が重複度に加算されることにより、誤差付きの重複度Δ（ｙ′，ｙ）が算出される。一方、システム要約が上限文字数に満たない場合、ｍａｘ（０，ｂｙｔｅ（ｙ′）−ｂｙｔｅ（ｙ））によって「０」が選択されるので、重複度には誤差が付与されず、重複度がそのままΔ（ｙ′，ｙ）として算出される。これによって、上限文字数に満たないシステム要約の損失は高めずに上限文字数を超えるシステム要約の損失が高まる結果、上限文字数以内のシステム要約の評価を高めるモデル学習が実現できる。
【０１２６】
このような誤差付きの重複度Δ（ｙ′，ｙ）が算出された後、第１の損失算出部１５は、要約生成部１２により生成された所定数、例えばＳ個のシステム要約ごとに、当該システム要約が入力文から生成される生成確率の計算結果と、重複度算出部１４により算出された誤差付きの重複度Δ（ｙ′，ｙ）とから第１の損失を算出する。さらに、第１の損失算出部１５は、Ｓ個のシステム要約ごとに算出され第１の損失を合計する計算を実行することにより、Ｓ個のシステム要約ｙ′の集合Ｓ（ｘ，θ）に関する第１の損失の和を算出する。
【０１２７】
図１の説明に戻り、第２の系統には、擬似文を生成する擬似文生成部１６と、参照要約の生成確率および擬似文の生成確率を算出する第２の確率算出部１７と、上記の第２の損失を算出する第２の損失算出部１８とが含まれる。
【０１２８】
例えば、擬似文生成部１６は、正解の参照要約ｙから当該参照要約ｙに含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文ｚの集合Ｓ′（ｙ）を生成する。このとき、擬似文生成部１６は、正解の参照要約ｙに含まれる単語の語数を変えずに、単語の語順を入れ替えて擬似文ｚのサンプリングを行うことで、参照要約ｙとの間で計算されるＲＯＵＧＥ値が「１」となる擬似文ｚを生成することができる。
【０１２９】
ここで、第２の損失が算出される場合、ＲＮＮエンコーダ１１Ａの構成、ＲＮＮエンコーダ１１Ａへの入力およびＲＮＮエンコーダ１１Ａからの出力は、第１の損失が算出される場合と相違点はない。その一方で、第２の損失が算出される場合、ＲＮＮエンコーダ１１Ａの構成、ＲＮＮエンコーダ１１Ａへの入力およびＲＮＮエンコーダ１１Ａからの出力は、第１の損失が算出される場合と異なる。
【０１３０】
例えば、第２の損失の算出に用いる擬似文ｚの生成確率が算出される場合、モデル実行部１１は、第１のモデル記憶部３に記憶されたモデル情報にしたがって、入力制御部１０Ｉにより入力される擬似文ｚの単語数Ｊに対応するＪ個のＬＳＴＭをワークエリア上に展開する。これによって、Ｊ個のＬＳＴＭをＲＮＮデコーダ１１Ｂとして機能させる。これらＲＮＮデコーダ１１Ｂには、入力制御部１０Ｉの入力制御にしたがって、ＲＮＮエンコーダ１１Ａから学習サンプルの入力文ｘの中間表現が入力されると共に、Ｊ個のＬＳＴＭごとに入力制御部１０ＩからＥＯＳのタグを出力させるまでの残り文字数が入力される。さらに、ＲＮＮデコーダ１１ＢのＪ個のＬＳＴＭには、入力制御部１０Ｉの入力制御にしたがって、１時刻前の擬似文ｚの単語が入力される。これらの入力にしたがってＪ個のＬＳＴＭを動作させることにより、ＲＮＮデコーダ１１Ｂは、Ｊ個のＬＳＭＴごとに擬似文ｚの各時刻における単語の確率を出力する。このようにＲＮＮデコーダ１１Ｂの各ＬＳＭＴが出力する擬似文ｚの各時刻における単語の確率に基づいて、第２の確率算出部１７は、入力文ｘから擬似文ｚが生成される生成確率ｐ（ｚ｜ｘ；θ）を算出する。
【０１３１】
以下、図１６を用いて、第２のモデル学習の第２の系統における処理内容について説明する。図１６は、第２の系統におけるモデルへの入出力の一例を示す図である。図１６には、入力制御部１０Ｉにより図３に示す入力文３０がＲＮＮエンコーダ１１Ａへ入力されると共に、図７Ｄに示すシステム要約と同一の文である擬似文ｚの各時刻の単語がＲＮＮデコーダ１１Ｂへ入力される例が示されている。なお、ＲＮＮエンコーダ１１Ａの構成、ＲＮＮエンコーダ１１Ａへの入力およびＲＮＮエンコーダ１１Ａからの出力は、図１２に示す例と変わりがないので、ＲＮＮデコーダ１１Ｂの説明から開始する。
【０１３２】
図１６に示すように、モデル実行部１１は、入力文３０のベクトル、擬似文ｚの各時刻における単語及びＲＮＮデコーダ１１ＢがＥＯＳを出力するまでの残り文字数などを入力とし、ＥＯＳを出力するまで時刻ごとに単語の確率分布を繰り返し計算する。
【０１３３】
ここで、擬似文ｚの生成確率が算出される場合、システム要約が生成される場合と異なり、ＲＮＮデコーダ１１Ｂの各時刻のＬＳＴＭ１１ｂに１時刻前に生成された単語ではなく、擬似文ｚに含まれる単語のうち１時刻前の擬似文ｚの単語が入力制御部１０Ｉにより入力される。
【０１３４】
例えば、１時刻目には、入力制御部１０Ｉは、モデル実行部１１が使用するワークエリアに展開されたＬＳＴＭ１１ｂ−１に対し、ＬＳＴＭ１１ａ−Ｍの出力および文頭記号「ＢＯＳ」と共に参照要約７０の文字数「３７」を残り文字数として入力する。ここでは、上限文字数の一例として、参照要約の文字数を採用する場合を例示したが、参照要約の文字数よりも短い文字数に制限してもよいし、参照要約の文字数よりも長い文字数に制限することもできる。これにより、ＬＳＴＭ１１ｂ−１によって１時刻目（ｔ＝１）における単語の確率分布が出力される。このとき、第２の確率算出部１７は、１時刻目における単語の確率分布のうち擬似文ｚの先頭の単語「ＡＩ」に対応する確率を図示しないワークエリアに保存する。
【０１３５】
続いて、２時刻目には、入力制御部１０Ｉは、ＬＳＴＭ１１ｂ−２に対し、ＬＳＴＭ１１ｂ−１の出力および１時刻前の擬似文ｚの単語「ＡＩ」と共に１時刻目の残り文字数から１時刻目の擬似文ｚの単語「ＡＩ」の字数が減算された字数「３５」を２時刻目の残り文字数として入力する。これにより、ＬＳＴＭ１１ｂ−２によって２時刻目（ｔ＝２）における単語の確率分布が出力される。このとき、第２の確率算出部１７は、２時刻目における単語の確率分布のうち擬似文ｚの先頭から２番目の単語「の」に対応する確率を図示しないワークエリアに保存する。
【０１３６】
このようなＲＮＮデコーダ１１Ｂへの入力がＪ−２時刻目まで繰り返された後、Ｊ−１時刻目には、入力制御部１０Ｉは、ＬＳＴＭ１１ｂ−Ｊ−１に対し、ＬＳＴＭ１１ｂ−Ｊ−２の出力および１時刻前の擬似文ｚの単語「販売」と共に１時刻目の残り文字数からＪ−２時刻目の擬似文ｚの単語「販売」の字数が減算された字数「５」をＪ−１時刻目の残り文字数として入力する。これにより、ＬＳＴＭ１１ｂ−Ｊ−１によってＪ−１時刻目（ｔ＝Ｊ−１）における単語の確率分布が出力される。このとき、第２の確率算出部１７は、Ｊ−１時刻目における単語の確率分布のうち擬似文ｚの先頭からＪ−１番目の単語「問い合わせ」に対応する確率を図示しないワークエリアに保存する。
【０１３７】
最後に、Ｊ時刻目には、入力制御部１０Ｉは、ＬＳＴＭ１１ｂ−Ｊに対し、ＬＳＴＭ１１ｂ−Ｊ−１の出力および１時刻前の擬似文ｚの単語「問い合わせ」と共に１時刻目の残り文字数からＪ−１時刻目の擬似文ｚの単語「問い合わせ」の字数が減算された字数「０」をＪ時刻目の残り文字数として入力する。これにより、ＬＳＴＭ１１ｂ−ＪによってＪ時刻目（ｔ＝Ｊ）における単語の確率分布が出力される。このとき、第２の確率算出部１７は、Ｊ時刻目における単語の確率分布のうち擬似文ｚの先頭からＪ番目の単語「ＥＯＳ」に対応する確率を図示しないワークエリアに保存する。
【０１３８】
このようにワークエリアに保存された擬似文ｚの各時刻における単語の確率に基づいて、第２の確率算出部１７は、入力文ｘから擬似文ｚが生成される生成確率ｐ（ｚ｜ｘ；θ）を算出する。これによって、擬似文ｚごとに当該擬似文ｚの生成確率を求めることができる。
【０１３９】
なお、第２の損失の算出に用いる参照要約ｙの生成確率が算出される場合も、擬似文ｚの生成確率を算出する場合と同様にして参照要約ｙの生成確率を算出することができる。すなわち、モデル実行部１１は、第１のモデル記憶部３に記憶されたモデル情報にしたがって、入力制御部１０Ｉにより入力される参照要約ｙの単語数Ｉに対応するＩ個のＬＳＴＭをワークエリア上に展開する。これによって、Ｉ個のＬＳＴＭをＲＮＮデコーダ１１Ｂとして機能させる。これらＲＮＮデコーダ１１Ｂには、入力制御部１０Ｉの入力制御にしたがって、ＲＮＮエンコーダ１１Ａから学習サンプルの入力文ｘの中間表現が入力されると共に、Ｉ個のＬＳＴＭごとに入力制御部１０ＩからＥＯＳのタグを出力させるまでの残り文字数が入力される。さらに、ＲＮＮデコーダ１１ＢのＩ個のＬＳＴＭには、入力制御部１０Ｉの入力制御にしたがって、１時刻前の参照要約ｙの単語が入力される。これらの入力にしたがってＩ個のＬＳＴＭを動作させることにより、ＲＮＮデコーダ１１Ｂは、Ｉ個のＬＳＭＴごとに参照要約ｙの各時刻における単語の確率を出力する。このようにＲＮＮデコーダ１１Ｂの各ＬＳＭＴが出力する参照要約ｙの各時刻における単語の確率に基づいて、第２の確率算出部１７は、入力文ｘから参照要約ｙが生成される生成確率ｐ（ｙ｜ｘ；θ）を算出する。
【０１４０】
このように擬似文ｚの生成確率が算出された後、第２の損失算出部１８は、擬似文ｚの生成確率および参照要約ｙの生成確率を比較する。このとき、擬似文ｚの生成確率が参照要約ｙの生成確率よりも大きい場合、第２の損失算出部１８は、擬似文ｚ１の生成確率および参照要約ｙの生成確率の差、すなわちｐ（ｚ｜ｘ；θ）−ｐ（ｙ｜ｘ；θ）を第２の損失として算出する。一方、擬似文ｚの生成確率が参照要約ｙの生成確率よりも大きくない場合、第２の損失算出部１８は、所定の設定値、例えばゼロ以上の値を第２の損失として算出する。その後、第２の損失算出部１５は、擬似文ｚごとに算出され第２の損失を合計する計算を実行することにより、Ｓ′個の擬似文ｚの集合Ｓ′（ｙ）に関する第２の損失の和を算出する。
【０１４１】
以上のように、学習データに含まれる全ての学習サンプルについて、Ｓ個のシステム要約に対する第１の損失の和およびＳ′個の擬似文ｚに対する第２の損失の和を算出する処理が繰り返し実行される。このように学習データに含まれる全ての学習サンプルについて第１の損失の和および第２の損失の和が算出されると、更新部１９は、上記の式（２）に示す目的関数Ｌ（θ）が最小化されるモデルのパラメータθにモデルのパラメータを更新する。このように更新されたモデルのパラメータが第２のモデル記憶部８へ保存される。このパラメータθの更新は、学習データＤについて所定の回数にわたって繰り返すことができる。この結果、第２のモデル記憶部８に保存されたモデル情報は、要約文の生成モデルとして提供することができる。
【０１４２】
［処理の流れ］
図１７は、実施例１に係る学習処理の手順を示すフローチャートである。図１７に示す学習処理のフローチャートは、第２の学習部１０により実行される第２のモデル学習の手順が図式化されたものである。図１７には、あくまで一例として、上記の式（８）にしたがって誤差付きの重複度が算出される例のフローチャートが示されている。例えば、第２の学習部１０におけるモデルの学習速度を向上させる側面から、第１の学習部５による第１のモデル学習を前処理として実行させてから第１の学習部５により学習されたモデルのパラメータを用いて図１７に示す学習処理を開始することができる。
【０１４３】
図１７に示すように、学習データに含まれるＤ個の学習サンプルごとに、ステップＳ１０１〜ステップＳ１０３の処理が実行される。すなわち、入力制御部１０Ｉは、学習データ記憶部２に記憶された学習データに含まれる学習サンプルのうち１つを取得する（ステップＳ１０１）。
【０１４４】
このようにステップＳ１０１で取得された学習サンプルが第１の系統に入力されることにより、第１の損失算出処理が実行される（ステップＳ１０２）。
【０１４５】
（１）第１の損失算出処理
図１８は、実施例１に係る第１の損失算出処理の手順を示すフローチャートである。この処理は、上記のステップＳ１０２の処理に対応する。図１８に示すように、要約生成部１２は、ＲＮＮデコーダから出力される単語の確率分布に基づいて単語を時刻ごとにサンプリングすることにより、ステップＳ１０１で取得された学習サンプルの入力文ｘに対するＳ個のシステム要約ｙ′を生成する（ステップＳ３０１）。そして、第１の確率算出部１３は、ステップＳ３０１で生成されたＳ個のシステム要約ｙ′の生成確率を算出する（ステップＳ３０２）。
【０１４６】
その後、ステップＳ３０１で生成されたＳ個のシステム要約ｙ′ごとに、下記のステップＳ３０３〜下記のステップＳ３０６の処理が実行される。すなわち、重複度算出部１４Ｅは、上記の式（８）に示すｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ））にしたがってシステム要約ｙ′から上限文字数、例えば参照要約ｙに対応するバイト数の単語を切り出す（ステップＳ３０３）。
【０１４７】
その上で、重複度算出部１４は、上記の式（８）に示すＲＯＵＧＥ（ｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ）），ｙ）にしたがってステップＳ３０３で切り出されたｔｒｉｍ（ｙ′，ｂｙｔｅ（ｙ））と、参照要約ｙとの単語の重複度を算出する（ステップＳ３０４）。
【０１４８】
また、重複度算出部１４は、上記の式（８）に示すｍａｘ（０，ｂｙｔｅ（ｙ′）−ｂｙｔｅ（ｙ））にしたがってシステム要約ｙ′が上限文字数を超える分の長さｂｙｔｅ（ｙ′）−ｂｙｔｅ（ｙ）を誤差として算出する（ステップＳ３０５）。なお、システム要約が上限文字数に満たない場合、ｍａｘ（０，ｂｙｔｅ（ｙ′）−ｂｙｔｅ（ｙ））によって「０」が選択されるので、重複度に付与する誤差は「０」と算出される。
【０１４９】
これらステップＳ３０４で算出された重複度にステップＳ３０５で算出された誤差が付与されることにより、誤差付きの重複度Δ（ｙ′，ｙ）が導出される。
【０１５０】
その後、第１の損失算出部１５は、ステップＳ３０２で算出されたシステム要約ｙ′に対する確率の計算結果と、誤差付きの重複度Δ（ｙ′，ｙ）とから第１の損失を算出する（ステップＳ３０６）。
【０１５１】
ステップＳ３０１で生成されたＳ個のシステム要約ｙ′ごとに第１の損失が算出されると、第１の損失算出部１５は、Ｓ個のシステム要約ごとに算出された第１の損失を合計する計算を実行することにより、システム要約ｙ′の集合Ｓ（ｘ，θ）に対応する第１の損失の和を算出し（ステップＳ３０７）、図１７に示されたステップＳ１０２の処理を終了する。
【０１５２】
図１７の説明に戻り、ステップＳ１０１で取得された学習サンプルが第２の系統に入力されることにより、第２の損失算出処理が実行される（ステップＳ１０３）。
【０１５３】
（２）第２の損失算出処理
図１９は、実施例１に係る第２の損失算出処理の手順を示すフローチャートである。この処理は、上記のステップＳ１０３の処理に対応する。図１９に示すように、擬似文生成部１６は、正解の参照要約ｙから当該参照要約ｙに含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文ｚの集合Ｓ′（ｙ）を生成する（ステップＳ５０１）。
【０１５４】
その後、ステップＳ５０１で生成されたＳ′個の擬似文ｚごとに、下記のステップＳ５０２〜下記のステップＳ５０５の処理が実行される。すなわち、第２の確率算出部１７は、入力文ｘから擬似文ｚが生成される生成確率ｐ（ｚ｜ｘ；θ）を算出する（ステップＳ５０２）。その上で、第２の損失算出部１８は、ステップＳ５０２で算出された擬似文ｚの生成確率および参照要約ｙの生成確率を比較する（ステップＳ５０３）。
【０１５５】
ここで、擬似文ｚの生成確率が参照要約ｙの生成確率よりも大きい場合（ステップＳ５０３Ｙｅｓ）、第２の損失算出部１８は、次のような処理を実行する。すなわち、第２の損失算出部１８は、上記の式（３）にしたがって擬似文ｚ１の生成確率および参照要約ｙの生成確率の差、すなわちｐ（ｚ｜ｘ；θ）−ｐ（ｙ｜ｘ；θ）を第２の損失として算出する（ステップＳ５０４）。
【０１５６】
一方、擬似文ｚの生成確率が参照要約ｙの生成確率よりも大きくない場合（ステップＳ５０３Ｎｏ）、第２の損失算出部１８は、上記の式（３）にしたがって所定の設定値、例えばゼロ以上の値を第２の損失として算出する（ステップＳ５０５）。
【０１５７】
その後、ステップＳ５０１で生成されたＳ′個の擬似文ｚごとに第２の損失が算出されると、第２の損失算出部１８は、次のような処理を実行する。すなわち、第２の損失算出部１８は、Ｓ′個の擬似文ごとに算出された第２の損失を合計する計算を実行することにより、擬似文ｚの集合Ｓ′（ｘ，θ）に対応する第２の損失の和を算出し（ステップＳ５０６）、図１７に示されたステップＳ１０３の処理を終了する。
【０１５８】
その後、学習データに含まれる全ての学習サンプルについて、システム要約ｙ′の集合Ｓ（ｘ，θ）に対応する第１の損失の和と、擬似文ｚの集合Ｓ′（ｘ，θ）に対応する第２の損失の和とが算出されると、更新部１９は、第２のモデル記憶部８に記憶されるモデルのパラメータを上記の式（２）に示す目的関数Ｌ（θ）が最小化されるモデルのパラメータθに更新し（ステップＳ１０４）、処理を終了する。
【０１５９】
［効果の一側面］
上述してきたように、本実施例に係る学習装置１は、正解の参照要約に含まれる単語の語順を入れ替えて非文法的な表現が擬似的に再現された擬似文を生成し、モデルが擬似文を生成する確率よりもモデルが参照要約を生成する確率が高くなるようにモデルのパラメータを更新する。このため、参照要約と単語の重複度は高く、かつ参照要約と語順が異なるシステム要約の生成確率を上げる作用を与えつつ、参照要約と単語の重複度が高い要約文の中でも非文法的な表現を含む擬似文の生成にペナルティを課す反作用を与えることができる。それ故、参照要約と単語の重複度が高い要約文の中でも非文法的な表現が含まれないシステム要約の生成確率を上げるパラメータの更新を実現できる。したがって、本実施例に係る学習装置１によれば、可読性が低い要約文を生成するモデルが学習されるのを抑制することができる。
【実施例２】
【０１６０】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１６１】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、第１の学習部５または第２の学習部１０を学習装置１の外部装置としてネットワーク経由で接続するようにしてもよい。また、第１の学習部５または第２の学習部１０を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の学習装置１の機能を実現するようにしてもよい。また、学習データ記憶部２、第１のモデル記憶部３または第２のモデル記憶部８の全部または一部を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の学習装置１の機能を実現するようにしてもかまわない。
【０１６２】
［学習プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図２０を用いて、上記の実施例と同様の機能を有する学習プログラムを実行するコンピュータの一例について説明する。
【０１６３】
図２０は、実施例１及び実施例２に係る学習プログラムを実行するコンピュータのハードウェア構成例を示す図である。図２０に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１６４】
ＨＤＤ１７０には、図２０に示すように、上記の実施例１で示した第２の学習部１０と同様の機能を発揮する学習プログラム１７０ａが記憶される。この学習プログラム１７０ａは、図１に示した第２の学習部１０の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【０１６５】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から学習プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、学習プログラム１７０ａは、図２０に示すように、学習プロセス１８０ａとして機能する。この学習プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち学習プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、学習プロセス１８０ａが実行する処理の一例として、図１７〜図１９に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０１６６】
なお、上記の学習プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に学習プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から学習プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに学習プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから学習プログラム１７０ａを取得して実行するようにしてもよい。
【０１６７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６８】
（付記１）入力文から要約文を生成するモデルの機械学習を行う学習方法であって、
入力文および正解の要約文を取得し、
前記正解の要約文に含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文を生成し、
前記モデルによって前記擬似文が前記入力文から生成される前記擬似文の生成確率、および、前記モデルによって前記正解の要約文が前記入力文から生成される前記正解の要約文の生成確率に基づいて前記モデルのパラメータを更新する、
処理をコンピュータが実行することを特徴とする学習方法。
【０１６９】
（付記２）前記更新する処理は、前記正解の要約文の生成確率が前記擬似文の生成確率よりも高くなるように前記モデルのパラメータを更新することを特徴とする付記１に記載の学習方法。
【０１７０】
（付記３）前記更新する処理は、前記擬似文の生成確率が前記正解の要約文の生成確率よりも高い場合、前記擬似文の生成確率および前記正解の要約文の生成確率の差を損失に加算して前記モデルのパラメータを更新し、前記擬似文の生成確率が前記正解の要約文の生成確率よりも高くない場合、前記擬似文の生成確率および前記正解の要約文の生成確率の差を損失に加算せずに前記モデルのパラメータを更新することを特徴とする付記２に記載の学習方法。
【０１７１】
（付記４）前記入力文を前記モデルへ入力することにより生成された複数の要約文ごとに、前記モデルにより前記要約文が前記入力文から生成される前記要約文の生成確率を算出し、
前記複数の要約文ごとに、前記要約文および前記正解の要約文の単語の重複度を算出する処理を前記コンピュータがさらに実行し、
前記更新する処理は、前記複数の要約文ごとに算出された前記要約文の生成確率と、前記複数の要約文ごとに算出された単語の重複度と、前記擬似文の生成確率および前記正解の要約文の生成確率とに基づいて前記モデルのパラメータを更新することを特徴とする付記１に記載の学習方法。
【０１７２】
（付記５）前記生成する処理は、前記正解の要約文に含まれる単語の語数を変えずに単語の語順を入れ替えることにより前記擬似文を生成することを特徴とする付記１に記載の学習方法。
【０１７３】
（付記６）入力文から要約文を生成するモデルの機械学習を実行させる学習プログラムであって、
入力文および正解の要約文を取得し、
前記正解の要約文に含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文を生成し、
前記モデルによって前記擬似文が前記入力文から生成される前記擬似文の生成確率、および、前記モデルによって前記正解の要約文が前記入力文から生成される前記正解の要約文の生成確率に基づいて前記モデルのパラメータを更新する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【０１７４】
（付記７）前記更新する処理は、前記正解の要約文の生成確率が前記擬似文の生成確率よりも高くなるように前記モデルのパラメータを更新することを特徴とする付記６に記載の学習プログラム。
【０１７５】
（付記８）前記更新する処理は、前記擬似文の生成確率が前記正解の要約文の生成確率よりも高い場合、前記擬似文の生成確率および前記正解の要約文の生成確率の差を損失に加算して前記モデルのパラメータを更新し、前記擬似文の生成確率が前記正解の要約文の生成確率よりも高くない場合、前記擬似文の生成確率および前記正解の要約文の生成確率の差を損失に加算せずに前記モデルのパラメータを更新することを特徴とする付記７に記載の学習プログラム。
【０１７６】
（付記９）前記入力文を前記モデルへ入力することにより生成された複数の要約文ごとに、前記モデルにより前記要約文が前記入力文から生成される前記要約文の生成確率を算出し、
前記複数の要約文ごとに、前記要約文および前記正解の要約文の単語の重複度を算出する処理を前記コンピュータにさらに実行させ、
前記更新する処理は、前記複数の要約文ごとに算出された前記要約文の生成確率と、前記複数の要約文ごとに算出された単語の重複度と、前記擬似文の生成確率および前記正解の要約文の生成確率とに基づいて前記モデルのパラメータを更新することを特徴とする付記６に記載の学習プログラム。
【０１７７】
（付記１０）前記生成する処理は、前記正解の要約文に含まれる単語の語数を変えずに単語の語順を入れ替えることにより前記擬似文を生成することを特徴とする付記６に記載の学習プログラム。
【０１７８】
（付記１１）入力文から要約文を生成するモデルの機械学習を行う学習装置であって、
入力文および正解の要約文を取得する取得部と、
前記正解の要約文に含まれる単語の語順を入れ替えることにより非文法的な表現が擬似的に再現された擬似文を生成する擬似文生成部と、
前記モデルによって前記擬似文が前記入力文から生成される前記擬似文の生成確率、および、前記モデルによって前記正解の要約文が前記入力文から生成される前記正解の要約文の生成確率に基づいて前記モデルのパラメータを更新する更新部と、
を有することを特徴とする学習装置。
【０１７９】
（付記１２）前記更新部は、前記正解の要約文の生成確率が前記擬似文の生成確率よりも高くなるように前記モデルのパラメータを更新することを特徴とする付記１１に記載の学習装置。
【０１８０】
（付記１３）前記更新部は、前記擬似文の生成確率が前記正解の要約文の生成確率よりも高い場合、前記擬似文の生成確率および前記正解の要約文の生成確率の差を損失に加算して前記モデルのパラメータを更新し、前記擬似文の生成確率が前記正解の要約文の生成確率よりも高くない場合、前記擬似文の生成確率および前記正解の要約文の生成確率の差を損失に加算せずに前記モデルのパラメータを更新することを特徴とする付記１２に記載の学習装置。
【０１８１】
（付記１４）前記入力文を前記モデルへ入力することにより生成された複数の要約文ごとに、前記モデルにより前記要約文が前記入力文から生成される前記要約文の生成確率を算出する確率算出部と、
前記複数の要約文ごとに、前記要約文および前記正解の要約文の単語の重複度を算出する重複度算出部とをさらに有し、
前記更新部は、前記複数の要約文ごとに算出された前記要約文の生成確率と、前記複数の要約文ごとに算出された単語の重複度と、前記擬似文の生成確率および前記正解の要約文の生成確率とに基づいて前記モデルのパラメータを更新することを特徴とする付記１１に記載の学習装置。
【０１８２】
（付記１５）前記擬似文生成部は、前記正解の要約文に含まれる単語の語数を変えずに単語の語順を入れ替えることにより前記擬似文を生成することを特徴とする付記１１に記載の学習装置。
【符号の説明】
【０１８３】
１    学習装置
２    学習データ記憶部
３    第１のモデル記憶部
５    第１の学習部
５Ｉ  入力制御部
６    モデル実行部
７    更新部
８    第２のモデル記憶部
１０    第２の学習部
１０Ｉ  入力制御部
１１    モデル実行部
１２    要約生成部
１３    第１の確率算出部
１４    重複度算出部
１５    第１の損失算出部
１６    擬似文生成部
１７    第２の確率算出部
１８    第２の損失算出部
１９    更新部
【図１】
2020071737.tif 000011
【図２】
2020071737.tif 000012
【図３】
2020071737.tif 000013
【図４Ａ】
2020071737.tif 000014
【図４Ｂ】
2020071737.tif 000015
【図４Ｃ】
2020071737.tif 000016
【図５】
2020071737.tif 000017
【図６】
2020071737.tif 000018
【図７Ａ】
2020071737.tif 000019
【図７Ｂ】
2020071737.tif 000020
【図７Ｃ】
2020071737.tif 000021
【図７Ｄ】
2020071737.tif 000022
【図８】
2020071737.tif 000023
【図９】
2020071737.tif 000024
【図１０】
2020071737.tif 000025
【図１１】
2020071737.tif 000026
【図１２】
2020071737.tif 000027
【図１３】
2020071737.tif 000028
【図１４】
2020071737.tif 000029
【図１５】
2020071737.tif 000030
【図１６】
2020071737.tif 000031
【図１７】
2020071737.tif 000032
【図１８】
2020071737.tif 000033
【図１９】
2020071737.tif 000034
【図２０】
2020071737.tif 000035