(57)【要約】      （修正有）【課題】未知語を適切な表現で要約文へ含める。【解決手段】生成方法は、入力文の単語列に対応するエンコーダ時刻毎に、入力文の単語及び固有表現のラベルに基づいて１つ前の隠れ状態からエンコーダ時刻の隠れ状態を算出し、エンコーダにより出力される隠れ状態をデコーダへ入力し、デコーダが出力する要約文の単語列に対応するデコーダ時刻毎に、１つ前に生成された要約文の単語及び固有表現のラベルに基づいて１つ前の隠れ状態からデコーダ時刻の隠れ状態を算出し、デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて入力文の単語列の各単語がデコーダ時刻における要約文の単語としてコピーされる第１確率分布を算出し、デコーダ時刻の隠れ状態に基づいて、モデル辞書の各単語がデコーダ時刻における要約文の単語として生成される第２確率分布を算出し、第１確率分布と第２確率分布に基づいてデコーダ時刻における出力要約文の単語を生成する。【選択図】図８
2020166735.tif 000002
【特許請求の範囲】
【請求項１】
入力文を取得し、
前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、１つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布を算出し、
前記第１の確率分布および前記第２の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、
処理をコンピュータが実行することを特徴とする生成方法。
【請求項２】
前記デコーダ時刻の隠れ状態に基づいて前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第３の確率分布を算出し、
前記１つ前のデコーダ時刻で算出された第３の確率分布に基づいて前記デコーダ時刻における固有表現のラベルを選択する処理を前記コンピュータがさらに実行し、
前記デコーダ時刻の隠れ状態は、１つ前のデコーダ時刻に選択された固有表現のラベルに基づいて算出されることを特徴とする請求項１に記載の生成方法。
【請求項３】
学習用入力文および正解要約文を取得し、
前記学習用入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する学習用入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記正解要約文の単語列に対応するデコーダ時刻ごとに、前記デコーダ時刻に対応する正解要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記学習用入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布と、前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第３の確率分布とを算出し、
前記第１の確率分布および前記第２の確率分布と、前記デコーダ時刻における正解要約文の単語との間で第１の損失を算出すると共に、前記１つ前のデコーダ時刻で算出された前記デコーダ時刻における第３の確率分布と、前記デコーダ時刻における正解要約文の単語が持つ固有表現のラベルとの間で第２の損失を算出し、
前記第１の損失および前記第２の損失に基づいて前記モデルのパラメータを更新する、
処理をコンピュータが実行することを特徴とする学習方法。
【請求項４】
入力文を取得し、
前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、１つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布を算出し、
前記第１の確率分布および前記第２の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
【請求項５】
入力文を取得する取得部と、
前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出する第１算出部と、
前記エンコーダにより出力される隠れ状態をデコーダへ入力する入力部と、
前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、１つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出する第２算出部と、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出する第３算出部と、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布を算出する第４算出部と、
前記第１の確率分布および前記第２の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する生成部と、
を有することを特徴とする生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生成方法、学習方法、生成プログラム、及び生成装置に関する。
【背景技術】
【０００２】
新聞やＷｅｂサイト、電光掲示板などの文書から要約文を生成する自動要約にニューラルネットワークなどの機械学習が利用されることがある。例えば、入力文をベクトル化するＲＮＮ（Recurrent  Neural  Networks）エンコーダと、入力文のベクトルを参照して要約文の単語の生成を繰り返すＲＮＮデコーダとが接続されたモデルが要約文の生成に用いられる。
【０００３】
この他、ＲＮＮとＰｏｉｎｔｅｒ機能を組み合わせることにより、ＲＮＮデコーダが要約文の単語を出力する際、入力文の単語を要約文の単語としてコピーすることができるＰｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒも提案されている（Pointer  Generator  Networks）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−４８４７２号公報
【特許文献２】特開２０１１−２４３１６６号公報
【非特許文献】
【０００５】
【非特許文献１】Abigail  See,  Peter  J.  Liu,  Christopher  D.  Manning  “Get  To  The  Point:  Summarization  with  Pointer-Generator  Networks”  ACL  2017
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の技術では、依然として、未知語を適切な表現で要約文へ含めることが困難である。
【０００７】
あくまで一例として、Ｐｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒが組み合わされる場合の失敗事例を１つ挙げる。例えば、「Ｘｘｘｘｘｘ．ｃｏｍ」といったフレーズの未知語が入力文に含まれる場合、未知語のフレーズのうち「．」だけが入力文から要約文の単語としてコピーされる事態が起こり得る。このように、入力文の未知語のフレーズのうち途中の単語だけが要約文の単語としてコピーされる結果、人にとって違和感のある要約文が生成されてしまう場合がある。
【０００８】
１つの側面では、本発明は、未知語を適切な表現で要約文へ含めることができる生成方法、学習方法、生成プログラム、及び生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
一態様では、入力文を取得し、前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、前記エンコーダにより出力される隠れ状態をデコーダへ入力し、前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、１つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出し、前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布を算出し、前記第１の確率分布および前記第２の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、処理をコンピュータが実行する。
【発明の効果】
【００１０】
未知語を適切な表現で要約文へ含めることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るシステムに含まれる各装置の機能的構成を示すブロック図である。
【図２】図２は、記事要約ツールのユースケースの一例を示す図である。
【図３】図３は、モデル学習の一例を示す図である。
【図４】図４は、要約文生成の一例を示す図である。
【図５】図５は、入力文の一例を示す図である。
【図６Ａ】図６Ａは、要約文の一例を示す図である。
【図６Ｂ】図６Ｂは、要約文の一例を示す図である。
【図７】図７は、実施例１に係る学習処理の手順を示すフローチャートである。
【図８】図８は、実施例１に係る生成処理の手順を示すフローチャートである。
【図９】図９は、コンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して本願に係る生成方法、学習方法、生成プログラム、及び生成装置について説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１３】
［システム構成］
図１は、実施例１に係るシステムに含まれる各装置の機能的構成を示すブロック図である。図１に示すシステム１では、学習用入力文および正解要約文を含む学習データを用いてモデルの機械学習を行う機械学習サービス、並びに、学習済みモデルを用いて入力文から要約文を生成する要約生成サービスが提供される。
【００１４】
図１に示すように、システム１には、学習装置１０と、生成装置３０とが含まれ得る。学習装置１０で学習したモデルを受け取った生成装置３０は、与えられた入力文に対応する要約文を生成する。
【００１５】
学習装置１０は、上記の機械学習サービスを提供するコンピュータの一例に対応する。別の計算機に学習装置１０と生成装置３０を配置する際は、ネットワーク通信を介して、モデルを渡す。
【００１６】
一実施形態として、学習装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の機械学習サービスを実現する学習プログラムを任意のコンピュータにインストールさせることによって実装できる。このようにインストールされた学習プログラムをコンピュータに実行させることにより、コンピュータを学習装置１０として機能させることができる。
【００１７】
あくまで一例として、学習装置１０は、生成装置３０をクライアントとして収容し、当該クライアントに上記の機械学習サービスを提供するサーバ装置として実装することができる。この場合、学習装置１０は、上記の機械学習サービスを提供するサーバとしてオンプレミスに実装することとしてもよいし、上記の機械学習サービスをアウトソーシングで提供するクラウドとして実装することとしてもかまわない。
【００１８】
例えば、学習装置１０は、複数の学習サンプルを含む学習データ、または、学習データをネットワーク通信もしくは記憶メディアを介して呼び出すことができる識別情報を入力とし、モデルの学習結果を生成装置３０へ出力する。このとき、学習装置１０は、一例として、ＲＮＮエンコーダ及びＲＮＮデコーダが接続されたニューラルネットワークのモデルのパラメータを提供することができる。この他、学習装置１０は、学習済みモデルを用いて実現される要約文の生成が機能として組み込まれたアプリケーションプログラムを提供することもできる。例えば、新聞や電光掲示板、Ｗｅｂサイトなどの各種の記事の原文から記事の見出しを要約文として生成したり、あるいは記事の原文から速報の記事を要約文として生成したりするアプリケーションプログラムを提供することができる。
【００１９】
この他、上記の機械学習サービスの提供形態は、あくまで一例に過ぎず、上記に挙げる例以外の提供形態で機械学習サービスが提供されることを妨げない。例えば、上記の機械学習サービスを実現する学習プログラムそのものをパッケージソフトウェアやオンラインソフトウェアとして提供することとしてもよいし、上記の学習プログラムが導入されたコンピュータを提供することとしてもかまわない。
【００２０】
生成装置３０は、上記の要約生成サービスを提供するコンピュータの一例に対応する。
【００２１】
一実施形態として、生成装置３０は、パッケージソフトウェアやオンラインソフトウェアとして上記の要約生成サービスを実現する生成プログラムを任意のコンピュータにインストールさせることによって実装できる。このようにインストールされた生成プログラムをコンピュータに実行させることにより、コンピュータを生成装置３０として機能させることができる。
【００２２】
あくまで一例として、上記の要約生成サービスは、新聞や電光掲示板、Ｗｅｂサイトなどの各種のメディアを運営するメディア事業者向けに提供されるＷｅｂサービスのツールの１つ、例えば「記事要約ツール」として提供することができる。この場合、上記のＷｅｂサービスとして提供される機能のうち、原文の入力や要約文の表示等のフロントエンドの機能が記者や編集者等の端末装置に実装されると共に、要約文の生成などのバックエンドの機能が生成装置３０に実装されることとしてもかまわない。
【００２３】
［記事要約ツールのユースケースの一例］
図２は、記事要約ツールのユースケースの一例を示す図である。図２には、メディア事業者の関係者により使用される端末装置に表示される記事要約画面２０の遷移の一例が示されている。
【００２４】
図２に示す記事要約画面２０Ａは、各種の項目に対する入力が設定されていない初期状態で表示された画面の一例である。例えば、記事要約画面２０Ａには、原文入力エリア２１、要約表示エリア２２、プルダウンメニュー２３、要約ボタン２４、クリアボタン２５などのＧＵＩ（Graphical  User  Interface）コンポーネントが含まれる。このうち、原文入力エリア２１は、記事等の原文を入力するエリアに対応する。また、要約表示エリア２２は、原文入力エリア２１に入力された原文に対応する要約文を表示するエリアに対応する。また、プルダウンメニュー２３は、要約文の上限文字数を指定するＧＵＩコンポーネントの一例に対応する。また、要約ボタン２４は、原文入力エリア２１に入力された原文に対応する要約文を生成するコマンドの実行を受け付けるＧＵＩコンポーネントの一例に対応する。また、クリアボタン２５は、原文入力エリア２１に入力された原文のテキストをクリアするＧＵＩコンポーネントの一例に対応する。
【００２５】
図２に示すように、記事要約画面２０Ａの原文入力エリア２１では、図示しないキーボード等の入力デバイスを介してテキストの入力を受け付けることができる。このように入力デバイスを介してテキストの入力を受け付ける他、原文入力エリア２１では、ワープロソフトなどのアプリケーションにより作成された文書のファイルからテキストをインポートすることができる。
【００２６】
このように原文入力エリア２１に原文のテキストが入力されることにより、端末装置の表示は、記事要約画面２０Ａから記事要約画面２０Ｂへ遷移する（ステップＳ１）。例えば、原文入力エリア２１に原文のテキストが入力された場合、要約ボタン２４に対する操作を介して要約文を生成するコマンドの実行を受け付けることができる。また、クリアボタン２５に対する操作を介して原文入力エリア２１に入力されたテキストをクリアすることもできる。この他、プルダウンメニュー２３を介して、複数の上限文字数の中からメディア事業者の関係者が希望する上限文字数の指定を受け付けることもできる。ここでは、新聞やニュースの記事の原文から電光掲示板の速報を要約文として生成する場面の一例として、電光掲示板に表示可能な上限文字数の一例に対応する８０文字が指定された例が示されている。これはあくまで一例であり、新聞やＷｅｂサイトの記事から見出しを生成する場合、見出しに対応する上限文字数を選択することができる他、必ずしも上限文字数は指定されずともかまわない。
【００２７】
そして、原文入力エリア２１に原文のテキストが入力された状態で要約ボタン２４に対する操作が行われた場合、端末装置の表示は、記事要約画面２０Ｂから記事要約画面２０Ｃへ遷移する（ステップＳ２）。この場合、原文入力エリア２１に入力された原文のテキストが入力文として学習済みモデルに入力されることによりその要約文が生成される。この要約文の生成は、メディア事業者の関係者の端末装置上で実行されることとしてもよいし、あるいはバックエンドのサーバ装置で実行されることとしてもかまわない。このように要約文が生成された後、記事要約画面２０Ｃの要約表示エリア２２には、学習済みモデルにより生成された要約文が表示される。
【００２８】
このように記事要約画面２０Ｃの要約表示エリア２２に表示された要約文のテキストには、図示しない入力デバイス等を介して編集を行うことができる。
【００２９】
以上のような記事要約ツールが提供されることで、記者や編集者等により行われる記事要約の作業を軽減することが可能になる。例えば、記事要約の作業は、メディアにニュースを配信するプロセス、例えば「配信記事の選定」や「メディア編集システムへの送信」、「記事要約」、「見出し作成」、「校閲」などの中でも相対的に労力が大きいという側面がある。例えば、記事要約が人手により行われる場合、記事の全体から重要な情報を選別し、文章を再構成するといった作業が必要となる。このことから、記事要約の作業が自動化または半自動化される技術的意義は大きい。
【００３０】
なお、ここでは、あくまで一例として、メディア事業者の関係者により記事要約ツールが利用されるユースケースを例に挙げたが、メディア事業者から記事の配信を受ける視聴者により記事要約ツールが利用されることとしてもかまわない。例えば、スマートスピーカ等で記事の全文を読み上げる代わりに要約文を読み上げる機能として記事要約ツールを利用することができる。
【００３１】
また、ここでは、あくまで一例として、生成装置３０が上記の要約生成サービスを提供するコンピュータとして実装される例を挙げたが、これに限定されない。例えば、上記の学習済みモデルが組み込まれた生成プログラムが任意のコンピュータ、例えば記者や編集者等の端末装置で実行されるスタンドアローンのアプリケーションプログラムとして実装されることとしてもよい。
【００３２】
さらに、ここでは、上記の機械学習サービス及び上記の要約生成サービスが異なる事業主体で実行される例を挙げたが、これら２つのサービスが同一の事業者により提供されることとしてもかまわない。この場合、上記の学習プログラム及び上記の生成プログラムが同一のコンピュータもしくはコンピュータシステムにより実行されることとしてもかまわない。
【００３３】
［Ｐｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒ］
上記の学習装置１０及び上記の生成装置３０では、Ｐｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒが用いられる。このように、Ｐｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒは、ＲＮＮデコーダが要約文の単語を出力する際、入力文の単語を要約文の単語としてコピーすることができる。
【００３４】
［課題の一側面］
上記の背景技術の欄でも説明した通り、Ｐｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒであっても、依然として、未知語を適切な表現で要約文へ含めることが困難である。
【００３５】
例えば、「Ｘｘｘｘｘｘ．ｃｏｍ」といったフレーズの未知語が入力文に含まれる場合、未知語のフレーズのうち「．」だけが入力文から要約文の単語としてコピーされる失敗事例が発生し得る。このように、入力文の未知語のフレーズのうち途中の単語だけが要約文の単語としてコピーされる結果、人にとって違和感のある要約文が生成されてしまう場合がある。
【００３６】
［課題解決のアプローチの一側面］
そこで、本実施例では、入力文の単語と固有表現のラベルで更新が繰り返された隠れ状態が入力されたデコーダで隠れ状態を１時刻前の単語と固有表現のラベルで更新しつつアテンション分布とボキャブラリ分布を算出して要約文の単語を出力する。
【００３７】
ここで言う「アテンション分布」とは、入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされる確率が算出された確率分布のことを指す。さらに、「ボキャブラリ分布」とは、モデルの辞書に含まれる単語ごとに当該単語が要約文の単語として生成される確率が算出された確率分布のことを指す。
【００３８】
これらアテンション分布及びボキャブラリ分布の算出には、デコーダが出力する要約文の単語列に対応する時刻ごとに１時刻前の単語と固有表現のラベルを足し合わせる更新が繰り返された隠れ状態が用いられる。
【００３９】
例えば、固有表現の単語には、あくまで例示として、Ｂ−ＸＸＸやＩ−ＸＸＸといったラベルが付与される一方で、固有表現でない単語には「ＯＴＨＥＲ」というラベルが付与される。なお、ＸＸＸの部分には、固有表現のカテゴリ、例えばＣＯＵＮＴＲＹやＯＲＧＡＮＩＺＡＴＩＯＮなどが入る。
【００４０】
このように、ＮＥラベルのベクトルを含む隠れ状態がアテンション分布及びボキャブラリ分布の算出に用いられることで、従来のＰｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒではコピーに失敗する事例でもその失敗を回避できる可能性が高まる。すなわち、「Ｘｘｘｘｘｘ．ｃｏｍ」といった固有表現のフレーズのうち固有表現の先頭でない単語「．」だけを抜粋して要約文の単語としてコピーされやすくなるアテンション分布が算出される事態を抑制できる。
【００４１】
さらに、ＲＮＮモデルの辞書にない未知語の大半が固有表現である可能性が高い。すなわち、膨大な語彙数のコーパスであっても固有名詞を始め、時間表現や数量、パーセンテージなどの数値表現を含む固有表現を網羅するのは困難である一方で、その他の単語の網羅は固有表現に比べれば容易であるからである。このため、入力文に含まれる固有表現を適切にコピーすることができれば、入力文に含まれる未知語の大半を適切にコピーすることができると予想できる。
【００４２】
したがって、本実施例によれば、未知語を適切な表現で要約文へ含めることが可能になる。
【００４３】
［学習装置１０の構成］
図１に示すように、学習装置１０は、学習データ記憶部１１と、モデル記憶部１２と、取得部１３と、固有表現抽出部１５と、エンコーダ実行部１６Ｅと、デコーダ実行部１６Ｄと、算出部１７と、損失計算部１８と、更新部１９とを有する。なお、学習装置１０は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００４４】
図１に示す取得部１３、固有表現抽出部１５、エンコーダ実行部１６Ｅ、デコーダ実行部１６Ｄ、算出部１７、損失計算部１８及び更新部１９などの機能部は、あくまで例示として、下記のハードウェアプロセッサにより仮想的に実現される。このようなプロセッサの例として、ＤＬＵ（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）などの記憶装置を採用できる。なお、記憶装置は、必ずしも補助記憶装置でなくともよく、各種の半導体メモリ素子、例えばＲＡＭ、ＥＰＰＲＯＭやフラッシュメモリなども採用できる。
【００４６】
学習データ記憶部１１は、学習データを記憶する記憶部である。ここで、学習データには、一例として、Ｊ個の学習サンプル、いわゆる学習事例が含まれる。さらに、学習サンプルには、モデル学習に用いる入力文および正解の要約文のペアが含まれる。以下、モデルの学習時および要約文の生成時に入力される入力文のラベルを識別する側面から前者のことを「学習用入力文」と記載する場合がある。これはあくまでラベルの識別に過ぎず、両者が入力文の一例に対応することに変わりはない。さらに、モデルの学習時に正解として参照される要約文および入力文から生成される要約文のラベルを識別する側面から前者のことを「正解要約文」と記載する場合がある。
【００４７】
モデル記憶部１２は、モデルに関する情報を記憶する記憶部である。
【００４８】
一実施形態として、モデル記憶部１２には、ＲＮＮエンコーダ及びＲＮＮデコーダが接続されたニューラルネットワークのモデルを形成する入力層、隠れ層及び出力層の各層のニューロンやシナプスなどのモデルの層構造を始め、各層の重みやバイアスなどのモデルのパラメータを含むモデル情報が記憶される。ここで、モデル学習が実行される前の段階では、モデル記憶部１２には、モデルのパラメータの一例として、乱数により初期設定されたパラメータが記憶される。また、モデル学習が実行された後の段階では、モデル記憶部１２には、学習済みモデルのパラメータが保存される。
【００４９】
取得部１３は、学習サンプルを取得する処理部である。
【００５０】
一実施形態として、取得部１３は、モデル学習のリクエストを受け付けた場合に処理を起動する。この場合、取得部１３は、モデル学習の初期設定を行う。例えば、取得部１３は、学習サンプルをカウントするループカウンタｊの値を初期化する。続いて、取得部１３は、学習データ記憶部１１に記憶されたＪ個の学習サンプルのうちループカウンタｊに対応する学習サンプルを取得する。その後、取得部１３は、ループカウンタｊをインクリメントし、ループカウンタｊの値が学習サンプルの総数Ｊと等しくなるまで、学習データ記憶部１１から学習サンプルを取得する処理を繰り返し実行する。
【００５１】
なお、ここでは、学習装置１０内部ストレージに保存された学習データを取得する例を挙げたが、学習データの情報ソースは内部ストレージに限定されない。例えば、外部のコンピュータ、例えばファイルサーバの他、リムーバブルメディア等から学習データが取得されることとしてもかまわない。また、ここでは、モデルが生成する要約文に上限文字数を設けない例を挙げたが、要約文の生成時に上限文字数を設定することとしてもかまわない。
【００５２】
固有表現抽出部１５は、固有表現を抽出する処理部である。
【００５３】
一実施形態として、固有表現抽出部１５は、学習サンプルに含まれる学習用入力文や正解要約文から固有表現を抽出する。例えば、固有表現抽出部１５は、学習用入力文や正解要約文のテキストに形態素解析を実行する。この形態素解析の結果を用いて、固有表現抽出部１５は、学習用入力文や正解要約文のテキストに含まれる単語ごとに当該単語の位置に対応する固有表現（ＮＥ：Named  Entity）に関するラベルを付与するラベリング処理を実行する。以下、固有表現のラベルのことをＮＥラベルと記載する場合がある。例えば、入力文の単語列のうち、固有表現の単語には、あくまで例示として、Ｂ−ＸＸＸやＩ−ＸＸＸといったラベルが付与される一方で、固有表現でない単語には「ＯＴＨＥＲ」というラベルが付与される。なお、ＸＸＸの部分には、固有表現のカテゴリ、例えばＣＯＵＮＴＲＹやＯＲＧＡＮＩＺＡＴＩＯＮなどが入る。このラベリング処理には、任意の固有表現抽出のエンジンを用いることができ、オープンソースのソフトウェアであってかまわない。
【００５４】
エンコーダ実行部１６Ｅは、ＲＮＮエンコーダを実行する処理部である。下記のＬＳＴＭは、「Long  Short-Term  Memory」の略称である。
【００５５】
一実施形態として、エンコーダ実行部１６Ｅは、モデル記憶部１２に記憶されたモデル情報にしたがって、学習用入力文の単語数Ｍに対応するＭ個のＬＳＴＭのセルをワークエリア上に展開する。これによって、Ｍ個のＬＳＴＭのセルをＲＮＮエンコーダとして機能させる。以下、学習用入力文の単語列に対応するエンコーダ時刻のことを時系列に、ｔ１、ｔ２、ｔ３、・・・、ｔＭと識別し、エンコーダ時刻ｔｍに対応するＬＳＴＭのセルのことを「ＬＳＴＭ１６Ｅ−ｔｍ」と識別することとする。
【００５６】
例えば、エンコーダ実行部１６Ｅは、学習用入力文の先頭の単語から順に、単語列の先頭からｍ番目の単語やその単語に付与されたＮＥラベルをベクトル化し、ｍ番目の単語のベクトル及びＮＥラベルのベクトルをＬＳＴＭ１６Ｅ−ｔｍへ入力する。さらに、エンコーダ実行部１６Ｅは、ＬＳＴＭ１６Ｅ−ｔｍ−１により出力される出力、例えばエンコーダ時刻ｔｍ−１の隠れ状態をＬＳＴＭ１６Ｅ−ｔｍへ入力する。これらｍ番目の単語のベクトル、ＮＥラベルのベクトル及びエンコーダ時刻ｔｍ−１の隠れ状態が入力されたＬＳＴＭ１６Ｅ−ｔｍは、エンコーダ時刻ｔｍ−１の隠れ状態にｍ番目の単語のベクトル及びＮＥラベルのベクトルを足し合わせることにより、エンコーダ時刻ｔｍ−１の隠れ状態をエンコーダ時刻ｔｍの隠れ状態へ更新する。これによって、学習用入力文の先頭の単語に対応するＬＳＴＭのセルから末尾であるＭ番目の単語に対応するＬＳＴＭのセルまで隠れ状態、いわゆる文脈ベクトルの更新が繰り返される。このようにＲＮＮエンコーダにより生成された学習用入力文の隠れ状態がＲＮＮデコーダへ入力される。
【００５７】
デコーダ実行部１６Ｄは、ＲＮＮデコーダを実行する処理部である。
【００５８】
一実施形態として、デコーダ実行部１６Ｄは、モデル記憶部１２に記憶されたモデル情報にしたがって、正解要約文の単語数Ｎに対応するＮ個のＬＳＴＭのセルをワークエリア上に展開する。これによって、Ｎ個のＬＳＴＭのセルをＲＮＮデコーダとして機能させる。以下、正解要約文の単語列に対応するデコーダ時刻のことを時系列に、Ｔ１、Ｔ２、Ｔ３、・・・、ＴＮと識別し、デコーダ時刻Ｔｎに対応するＬＳＴＭのセルのことを「ＬＳＴＭ１６Ｄ−Ｔｎ」と識別することとする。
【００５９】
まず、デコーダ実行部１６Ｄは、単語の文頭記号、例えば＜ＳＴＡＲＴ＞およびＮＥラベルの文頭記号、例えば＜ＮＥＳＴＡＲＴ＞をベクトル化する。その上で、デコーダ実行部１６Ｄは、単語の文頭記号のベクトル及びＮＥラベルの文頭記号のベクトルと共にＲＮＮエンコーダのＬＳＴＭ１６Ｅ−ｔＭにより出力された隠れ状態を正解要約文の先頭の単語に対応するＬＳＴＭ１６Ｄ−Ｔ１に入力する。これによって、ＬＳＴＭ１６Ｄ−Ｔ１では、ＬＳＴＭ１６Ｅ−ｔＭにより出力された隠れ状態に単語の文頭記号のベクトル及びＮＥラベルの文頭記号のベクトルを足し合わせることにより、エンコーダ時刻ｔＭの隠れ状態をデコーダ時刻Ｔ１の隠れ状態へ更新する。
【００６０】
その後、ＬＳＴＭ１６Ｄ−Ｔ１は、デコーダ時刻Ｔ１の隠れ状態のベクトルと、各エンコーダ時刻ｔ１〜ｔＭの隠れ状態のベクトルとの間で類似度、例えば内積を計算する。これによって、学習用入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。さらに、ＬＳＴＭ１６Ｄ−Ｔ１は、デコーダ時刻Ｔ１の隠れ状態のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度、例えば内積を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。さらに、ＬＳＴＭ１６Ｄ−Ｔ１は、デコーダ時刻Ｔ１の隠れ状態のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つＮＥラベル生成用の重み行列との間で類似度、例えば内積を計算する。これによって、ＮＥラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Ｔ２で選択されるべき度合いがスコア化される。このようにＬＳＴＭ１６Ｄ−Ｔ１により更新されたデコーダ時刻Ｔ１の隠れ状態は、上記３つのスコアの算出に用いられる他、ＬＳＴＭ１６Ｄ−Ｔ２にも入力される。
【００６１】
以降のＬＳＴＭのセル、すなわちＬＳＴＭ１６Ｄ−Ｔ２〜ＬＳＴＭ１６Ｄ−ＴＮにおいても、隠れ状態の更新および上記３つのスコアの算出がＬＳＴＭ１６Ｄ−Ｔ１と同様に行われる。
【００６２】
すなわち、デコーダ実行部１６Ｄは、デコーダ時刻Ｔｎ−１の正解要約文の単語およびデコーダ時刻Ｔｎ−１に選択されたデコーダ時刻ＴｎのＮＥラベルをベクトル化する。その上で、デコーダ実行部１６Ｄは、デコーダ時刻Ｔｎ−１の正解要約文の単語のベクトルおよびデコーダ時刻ＴｎのＮＥラベルのベクトルと共に、デコーダ時刻Ｔｎ−１の隠れ状態をＬＳＴＭ１６Ｄ−Ｔｎに入力する。その後、ＬＳＴＭ１６Ｄ−Ｔｎは、デコーダ時刻Ｔｎ−１の隠れ状態にデコーダ時刻Ｔｎ−１の正解要約文の単語のベクトルおよびデコーダ時刻ＴｎのＮＥラベルのベクトルを足し合わせる。これによって、デコーダ時刻Ｔｎ−１の隠れ状態がデコーダ時刻Ｔｎの隠れ状態へ更新される。
【００６３】
その後、ＬＳＴＭ１６Ｄ−Ｔｎは、デコーダ時刻Ｔｎの隠れ状態のベクトルと、各エンコーダ時刻ｔ１〜ｔＭの隠れ状態のベクトルとの間で類似度を計算する。これによって、学習用入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。さらに、ＬＳＴＭ１６Ｄ−Ｔｎは、デコーダ時刻Ｔｎの隠れ状態のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。さらに、ＬＳＴＭ１６Ｄ−Ｔｎは、デコーダ時刻Ｔｎの隠れ状態のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つＮＥラベル生成用の重み行列との間で類似度を計算する。これによって、ＮＥラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Ｔｎ＋１で選択されるべき度合いがスコア化される。このようにＬＳＴＭ１６Ｄ−Ｔｎにより更新されたデコーダ時刻Ｔｎの隠れ状態は、上記３つのスコアの算出に用いられる他、ＬＳＴＭ１６Ｄ−Ｔｎ＋１にも入力される。
【００６４】
このようにＮ個のＬＳＴＭのセルを動作させることにより、Ｎ個のＬＳＭＴのセルごとに、学習用入力文の単語別のスコアおよびモデルの辞書の単語別のスコアが得られる。
【００６５】
算出部１７は、各種の確率分布を算出する処理部である。
【００６６】
１つの側面として、算出部１７は、ＬＳＴＭ１６Ｄ−Ｔｎにより学習用入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化された場合、各単語のスコアの総和が「１」になるように各単語のスコアを正規化する。これによって、学習用入力文の各単語のコピースコアが学習用入力文の各単語のコピー確率へ正規化される。この結果、デコーダ時刻Ｔｎにおけるアテンション分布が獲得される。
【００６７】
他の側面として、算出部１７は、ＬＳＴＭ１６Ｄ−Ｔｎによりモデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化された場合、各単語のスコアの総和が「１」になるように各単語のスコアを正規化する。これによって、モデルの辞書の各単語の生成スコアがモデルの辞書の各単語の生成確率へ正規化される。この結果、デコーダ時刻Ｔｎにおけるボキャブラリ分布が獲得される。
【００６８】
このように得られたアテンション分布及びボキャブラリ分布が線形結合される。例えば、アテンション分布及びボキャブラリ分布のいずれの分布にも共通して存在する単語では、コピー確率および生成確率が足し合わされることにより合成確率が計算される。また、アテンション分布及びボキャブラリ分布のうち一方の分布に存在する単語では、他方のコピー確率または生成確率をゼロとし、一方のコピー確率または生成確率が足し合わされることにより合成確率が計算される。その上で、学習用入力文およびモデルの辞書の各単語の合成確率の総和が「１」になるように各単語の合成確率が正規化される。これによって、デコーダ時刻Ｔｎにおける最終分布が獲得される。
【００６９】
更なる側面として、算出部１７は、ＬＳＴＭ１６Ｄ−ＴｎによりＮＥラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Ｔｎ＋１で選択されるべき度合いがスコア化された場合、ＮＥラベルの各カテゴリの総和が「１」になるように各カテゴリのスコアを正規化する。これによって、ＮＥラベルの各カテゴリの選択スコアがＮＥラベルの各カテゴリの選択確率へ正規化される。この結果、デコーダ時刻Ｔｎ＋１におけるＮＥカテゴリ分布が獲得される。
【００７０】
損失計算部１８は、損失を計算する処理部である。
【００７１】
一実施形態として、損失計算部１８は、算出部１７によりデコーダ時刻Ｔｎにおける最終分布が算出された場合、デコーダ時刻Ｔｎにおける最終分布と、デコーダ時刻Ｔｎにおける正解要約文の単語との間で第１の損失を計算する。さらに、損失計算部１８は、デコーダ時刻ＴｎにおけるＮＥカテゴリ分布と、デコーダ時刻Ｔｎにおける正解要約文の単語が持つＮＥラベルとの間で第２の損失を計算する。
【００７２】
更新部１９は、モデルのパラメータを更新する処理部である。
【００７３】
一実施形態として、更新部１９は、損失計算部１８によりＲＮＮデコーダのＮ個のＬＳＴＭのセルごとに第１の損失および第２の損失が計算された場合、各ＬＳＴＭのセルにおける第１の損失および第２の損失に基づいて対数尤度の最適化を実行する。これによって、ＲＮＮのモデルを更新するパラメータを算出する。その上で、更新部１９は、モデル記憶部１２に記憶されたモデルのパラメータを対数尤度の最適化により求められたパラメータに更新する。このパラメータの更新は、全ての学習サンプルにわたって繰り返し実行すると共に、学習データＪについても所定のエポック数にわたって繰り返し実行することができる。
【００７４】
［モデル学習の具体例］
図３は、モデル学習の一例を示す図である。図３には、学習サンプルに含まれる学習用入力文の一例として、“Ｇｅｒｍａｎｙ  ｗｉｎ  ａｇａｉｎｓｔ  Ａｒｇｅｎｔｉｎａ”が取得される場合の例が示されている。さらに、図３には、学習サンプルに含まれる正解要約文の一例として、“Ｇｅｒｍａｎｙ  ｂｅａｔ  Ａｒｇｅｎｔｉｎａ”が取得される例が示されている。この場合、図３に示すように、エンコーダ実行部１６Ｅは、学習用入力文の単語数「４」に対応する４個のＬＳＴＭ１６Ｅ−ｔ１〜ＬＳＴＭ１６Ｅ−ｔ４をワークエリア上に展開する。
【００７５】
（１．１）エンコーダ時刻ｔ１の動作
続いて、エンコーダ実行部１６Ｅは、学習用入力文の先頭の単語“Ｇｅｒｍａｎｙ”をベクトル化すると共に当該単語“Ｇｅｒｍａｎｙ”に付与されたＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞をベクトル化する。そして、エンコーダ実行部１６Ｅは、先頭の単語“Ｇｅｒｍａｎｙ”のベクトル及びＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞のベクトルと共に、隠れ状態のベクトルの初期値ｈ０をＬＳＴＭ１６Ｅ−ｔ１へ入力する。すると、ＬＳＴＭ１６Ｅ−ｔ１は、初期値の隠れ状態ｈ０のベクトルに先頭の単語“Ｇｅｒｍａｎｙ”のベクトル及びＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞のベクトルを足し合わせることにより、初期値の隠れ状態ｈ０をエンコーダ時刻ｔ１の隠れ状態ｈ１へ更新する。このように更新されたエンコーダ時刻ｔ１の隠れ状態ｈ１がＬＳＴＭ１６Ｅ−ｔ１からＬＳＴＭ１６Ｅ−ｔ２へ入力される。
【００７６】
（１．２）エンコーダ時刻ｔ２の動作
次に、エンコーダ実行部１６Ｅは、学習用入力文の先頭から２番目の単語“ｗｉｎ”をベクトル化すると共に当該単語“ｗｉｎ”に付与されたＮＥラベル＜ＯＴＨＥＲ＞をベクトル化する。その上で、エンコーダ実行部１６Ｅは、２番目の単語“ｗｉｎ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルをＬＳＴＭ１６Ｅ−ｔ２へ入力する。すると、ＬＳＴＭ１６Ｅ−ｔ２は、エンコーダ時刻ｔ１の隠れ状態ｈ１のベクトルに２番目の単語“ｗｉｎ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルを足し合わせることにより、エンコーダ時刻ｔ１の隠れ状態ｈ１をエンコーダ時刻ｔ２の隠れ状態ｈ２へ更新する。このように更新されたエンコーダ時刻ｔ２の隠れ状態ｈ２がＬＳＴＭ１６Ｅ−ｔ２からＬＳＴＭ１６Ｅ−ｔ３へ入力される。
【００７７】
（１．３）エンコーダ時刻ｔ３の動作
続いて、エンコーダ実行部１６Ｅは、学習用入力文の先頭から３番目の単語“ａｇａｉｎｓｔ”をベクトル化すると共に当該単語“ａｇａｉｎｓｔ”に付与されたＮＥラベル＜ＯＴＨＥＲ＞をベクトル化する。その上で、エンコーダ実行部１６Ｅは、３番目の単語“ａｇａｉｎｓｔ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルをＬＳＴＭ１６Ｅ−ｔ３へ入力する。すると、ＬＳＴＭ１６Ｅ−ｔ３は、エンコーダ時刻ｔ２の隠れ状態ｈ２のベクトルに３番目の単語“ａｇａｉｎｓｔ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルを足し合わせることにより、エンコーダ時刻ｔ２の隠れ状態ｈ２をエンコーダ時刻ｔ３の隠れ状態ｈ３へ更新する。このように更新されたエンコーダ時刻ｔ３の隠れ状態ｈ３がＬＳＴＭ１６Ｅ−ｔ３からＬＳＴＭ１６Ｅ−ｔ４へ入力される。
【００７８】
（１．４）エンコーダ時刻ｔ４の動作
最後に、エンコーダ実行部１６Ｅは、学習用入力文の先頭から４番目の単語“Ａｒｇｅｎｔｉｎａ”をベクトル化すると共に当該単語“Ａｒｇｅｎｔｉｎａ”に付与されたＮＥラベル＜ＯＴＨＥＲ＞をベクトル化する。その上で、エンコーダ実行部１６Ｅは、４番目の単語“Ａｒｇｅｎｔｉｎａ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルをＬＳＴＭ１６Ｅ−ｔ４へ入力する。すると、ＬＳＴＭ１６Ｅ−ｔ４は、エンコーダ時刻ｔ３の隠れ状態ｈ３のベクトルに４番目の単語“Ａｒｇｅｎｔｉｎａ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルを足し合わせることにより、エンコーダ時刻ｔ３の隠れ状態ｈ３をエンコーダ時刻ｔ４の隠れ状態ｈ４へ更新する。このように更新されたエンコーダ時刻ｔ４の隠れ状態ｈ４がＲＮＮエンコーダからＲＮＮデコーダへ入力される。
【００７９】
このように、先頭のＬＳＴＭ１６Ｅ−ｔ１から末尾のＬＳＴＭ１６Ｅ−ｔ４まで隠れ状態、いわゆる文脈ベクトルがｈ０、ｈ１、ｈ２、ｈ３、ｈ４の順に更新が繰り返される。
【００８０】
（２）デコーダ時刻Ｔ３の動作
図３には、デコーダ時刻Ｔ２におけるＬＳＴＭ１６Ｄ−Ｔ２の動作例が示されている。図３に示すように、ＬＳＴＭ１６Ｄ−Ｔ２には、ＬＳＴＭ１６Ｄ−Ｔ１によりエンコーダ時刻ｔ４の隠れ状態ｈ４から更新されたデコーダ時刻Ｔ１の隠れ状態Ｈ１が入力される。さらに、ＬＳＴＭ１６Ｄ−Ｔ２には、デコーダ時刻Ｔ１の正解要約文の単語“Ｇｅｒｍａｎｙ”のベクトルおよびデコーダ時刻Ｔ１に選択されたデコーダ時刻Ｔ２のＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞のベクトルが入力される。その後、ＬＳＴＭ１６Ｄ−Ｔ２は、デコーダ時刻Ｔ１の隠れ状態Ｈ１にデコーダ時刻Ｔ１の正解要約文の単語“Ｂ−ＣＯＵＮＴＲＹ”のベクトルおよびデコーダ時刻Ｔ２のＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞のベクトルを足し合わせる。これによって、デコーダ時刻Ｔ１の隠れ状態Ｈ１がデコーダ時刻２の隠れ状態Ｈ２へ更新される。
【００８１】
ここで、ＬＳＴＭ１６Ｄ−Ｔ２は、デコーダ時刻Ｔ２の隠れ状態Ｈ２のベクトルと、各エンコーダ時刻ｔ１〜ｔ４の隠れ状態ｈ１〜ｈ４のベクトルとの間で類似度を計算する。これによって、学習用入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。続いて、算出部１７は、学習用入力文の各単語のスコアの総和が「１」になるように各単語のスコアを正規化する。これによって、学習用入力文の各単語のコピースコアがコピー確率へ正規化される。この結果、デコーダ時刻Ｔ２におけるアテンション分布Ｄ１が獲得される。
【００８２】
さらに、ＬＳＴＭ１６Ｄ−Ｔ２は、デコーダ時刻Ｔ２の隠れ状態Ｈ２のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。続いて、算出部１７は、モデルの辞書の各単語のスコアの総和が「１」になるように各単語のスコアを正規化する。これによって、モデルの辞書の各単語の生成スコアがモデルの辞書の各単語の生成確率へ正規化される。この結果、デコーダ時刻Ｔ２におけるボキャブラリ分布Ｄ２が獲得される。
【００８３】
これらアテンション分布Ｄ１及びボキャブラリ分布Ｄ２が線形結合されることにより、デコーダ時刻Ｔ２における最終分布Ｄ３が獲得される。その後、損失計算部１８は、デコーダ時刻Ｔ２における最終分布Ｄ３と、デコーダ時刻Ｔ２における正解要約文の単語“ｂｅａｔ”との間で第１の損失を計算する。さらに、損失計算部１８は、デコーダ時刻Ｔ１の時点で計算されたデコーダ時刻Ｔ２のＮＥカテゴリ分布と、デコーダ時刻Ｔ２における正解要約文の単語が持つＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞との間で第２の損失を計算する。これら第１の損失および第２の損失がデコーダ時刻Ｔ２の損失としてモデルのパラメータの更新に用いられる。
【００８４】
［生成装置３０の構成］
図１に示すように、生成装置３０は、取得部３１と、固有表現抽出部３５と、エンコーダ実行部３６Ｅと、デコーダ実行部３６Ｄと、算出部３７と、生成部３８とを有する。なお、生成装置３０は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００８５】
図１に示す取得部３１、固有表現抽出部３５、エンコーダ実行部３６Ｅ、デコーダ実行部３６Ｄ、算出部３７および生成部３８などの機能部は、あくまで例示として、下記のハードウェアプロセッサにより仮想的に実現される。このようなプロセッサの例として、ＤＬＵを始め、ＧＰＧＰＵやＧＰＵクラスタなどが挙げられる。この他、ＣＰＵ、ＭＰＵなどが挙げられる。すなわち、プロセッサがＲＡＭ等のメモリ上に上記の生成プログラムをプロセスとして展開することにより、上記の機能部が仮想的に実現される。ここでは、プロセッサの一例として、ＤＬＵやＧＰＧＰＵ、ＧＰＵクラスタ、ＣＰＵ、ＭＰＵを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによって実現されることを妨げない。
【００８６】
また、図１に示す各機能部が参照または登録を行う記憶部には、ＨＤＤ、光ディスクやＳＳＤなどの記憶装置を採用できる。なお、記憶装置は、必ずしも補助記憶装置でなくともよく、各種の半導体メモリ素子、例えばＲＡＭ、ＥＰＰＲＯＭやフラッシュメモリなども採用できる。
【００８７】
取得部３３は、入力文を取得する処理部である。
【００８８】
一実施形態として、取得部３３は、要約文生成のリクエストを受け付けた場合に処理を起動する。このように処理が起動されると、取得部３３は、要約文生成の対象とする入力文を取得する。この入力文の情報ソースは任意であってかまわない。例えば、入力文は生成装置３０の内部ストレージから取得されることしてもよいし、また、図示しない外部コンピュータ、例えばユーザ端末やファイルサーバの他、リムーバブルメディア等から入力文が取得されることとしてもかまわない。
【００８９】
固有表現抽出部３５は、固有表現を抽出する処理部である。
【００９０】
一実施形態として、固有表現抽出部３５は、取得部３３により取得された入力文や生成部３８により生成される要約文から固有表現を抽出する。例えば、固有表現抽出部３５は、入力文や要約文のテキストに形態素解析を実行する。この形態素解析の結果を用いて、固有表現抽出部３５は、固有表現抽出部１５と同様、入力文や要約文のテキストに含まれる単語ごとに当該単語の位置に対応するＮＥラベルを付与するラベリング処理を実行する。このラベリング処理には、任意の固有表現抽出のエンジンを用いることができ、オープンソースのソフトウェアであってかまわない。
【００９１】
エンコーダ実行部３６Ｅは、ＲＮＮエンコーダを実行する処理部である。
【００９２】
一実施形態として、エンコーダ実行部３６Ｅは、モデル記憶部１２に記憶された学習済みのモデル情報にしたがって、取得部３３により取得された入力文の単語数Ｋに対応するＫ個のＬＳＴＭのセルをワークエリア上に展開する。これによって、Ｋ個のＬＳＴＭのセルをＲＮＮエンコーダとして機能させる。以下、入力文の単語列に対応するエンコーダ時刻のことを時系列に、ｔ１、ｔ２、ｔ３、・・・、ｔＫと識別し、エンコーダ時刻ｔｋに対応するＬＳＴＭのセルのことを「ＬＳＴＭ３６Ｅ−ｔｋ」と識別することとする。
【００９３】
例えば、エンコーダ実行部３６Ｅは、入力文の先頭の単語から順に、単語列の先頭からｋ番目の単語やその単語に付与されたＮＥラベルをベクトル化し、ｋ番目の単語のベクトル及びＮＥラベルのベクトルをＬＳＴＭ３６Ｅ−ｔｋへ入力する。さらに、エンコーダ実行部３６Ｅは、ＬＳＴＭ３６Ｅ−ｔｋ−１により出力される出力、例えばエンコーダ時刻ｔｋ−１の隠れ状態をＬＳＴＭ３６Ｅ−ｔｍへ入力する。これらｋ番目の単語のベクトル、ＮＥラベルのベクトル及びエンコーダ時刻ｔｋ−１の隠れ状態が入力されたＬＳＴＭ３６Ｅ−ｔｋは、エンコーダ時刻ｔｋ−１の隠れ状態にｋ番目の単語のベクトル及びＮＥラベルのベクトルを足し合わせることにより、エンコーダ時刻ｔｋ−１の隠れ状態をエンコーダ時刻ｔｋの隠れ状態へ更新する。これによって、入力文の先頭の単語に対応するＬＳＴＭのセルから末尾であるＫ番目の単語に対応するＬＳＴＭのセルまで隠れ状態、いわゆる文脈ベクトルの更新が繰り返される。このようにＲＮＮエンコーダにより生成された入力文の隠れ状態がＲＮＮデコーダへ入力される。
【００９４】
デコーダ実行部３６Ｄは、ＲＮＮデコーダを実行する処理部である。
【００９５】
一実施形態として、デコーダ実行部３６Ｄは、モデル記憶部１２に記憶された学習済みのモデル情報にしたがって、文末記号のタグが出力されるまでＬＳＴＭのセルをワークエリア上に展開する。これによって、文末記号のタグが出力されるまで展開されたＬ個のＬＳＴＭのセルをＲＮＮデコーダとして機能させる。以下、生成部３８により出力される要約文の単語列に対応するデコーダ時刻のことを時系列に、Ｔ１、Ｔ２、Ｔ３、・・・、ＴＬと識別し、デコーダ時刻Ｔｌに対応するＬＳＴＭのセルのことを「ＬＳＴＭ３６Ｄ−Ｔｌ」と識別することとする。
【００９６】
まず、デコーダ実行部３６Ｄは、単語の文頭記号、例えば＜ＳＴＡＲＴ＞およびＮＥラベルの文頭記号、例えば＜ＮＥＳＴＡＲＴ＞をベクトル化する。その上で、デコーダ実行部３６Ｄは、単語の文頭記号のベクトル及びＮＥラベルの文頭記号のベクトルと共にＲＮＮエンコーダのＬＳＴＭ３６Ｅ−ｔＫにより出力された隠れ状態をデコーダ時刻Ｔ１に対応するＬＳＴＭ３６Ｄ−Ｔ１に入力する。これによって、ＬＳＴＭ３６Ｄ−Ｔ１では、ＬＳＴＭ３６Ｅ−ｔＫにより出力された隠れ状態に単語の文頭記号のベクトル及びＮＥラベルの文頭記号のベクトルを足し合わせることにより、エンコーダ時刻ｔＫの隠れ状態をデコーダ時刻Ｔ１の隠れ状態へ更新する。
【００９７】
その後、ＬＳＴＭ３６Ｄ−Ｔ１は、デコーダ時刻Ｔ１の隠れ状態のベクトルと、各エンコーダ時刻ｔ１〜ｔＫの隠れ状態のベクトルとの間で類似度、例えば内積を計算する。これによって、入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。さらに、ＬＳＴＭ３６Ｄ−Ｔ１は、デコーダ時刻Ｔ１の隠れ状態のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度、例えば内積を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。さらに、ＬＳＴＭ３６Ｄ−Ｔ１は、デコーダ時刻Ｔ１の隠れ状態のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つＮＥラベル生成用の重み行列との間で類似度、例えば内積を計算する。これによって、ＮＥラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Ｔ２で選択されるべき度合いがスコア化される。このようにＬＳＴＭ３６Ｄ−Ｔ１により更新されたデコーダ時刻Ｔ１の隠れ状態は、上記３つのスコアの算出に用いられる他、ＬＳＴＭ３６Ｄ−Ｔ２にも入力される。
【００９８】
以降のＬＳＴＭのセル、すなわちＬＳＴＭ３６Ｄ−Ｔ２〜ＬＳＴＭ３６Ｄ−ＴＬにおいても、隠れ状態の更新および上記３つのスコアの算出がＬＳＴＭ３６Ｄ−Ｔ１と同様に行われる。
【００９９】
すなわち、デコーダ実行部３６Ｄは、デコーダ時刻Ｔｌ−１に生成された要約文の単語およびデコーダ時刻Ｔｌ−１に選択されたデコーダ時刻ＴｌのＮＥラベルをベクトル化する。その上で、デコーダ実行部３６Ｄは、デコーダ時刻Ｔｌ−１の要約文の単語のベクトルおよびデコーダ時刻ＴｌのＮＥラベルのベクトルと共に、デコーダ時刻Ｔｌ−１の隠れ状態をＬＳＴＭ３６Ｄ−Ｔｌに入力する。その後、ＬＳＴＭ３６Ｄ−Ｔｌは、デコーダ時刻Ｔｌ−１の隠れ状態にデコーダ時刻Ｔｌ−１の要約文の単語のベクトルおよびデコーダ時刻ＴｌのＮＥラベルのベクトルを足し合わせる。これによって、デコーダ時刻Ｔｌ−１の隠れ状態がデコーダ時刻Ｔｌの隠れ状態へ更新される。
【０１００】
その後、ＬＳＴＭ３６Ｄ−Ｔｌは、デコーダ時刻Ｔｌの隠れ状態のベクトルと、各エンコーダ時刻ｔ１〜ｔＫの隠れ状態のベクトルとの間で類似度を計算する。これによって、入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。さらに、ＬＳＴＭ３６Ｄ−Ｔｌは、デコーダ時刻Ｔｌの隠れ状態のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。さらに、ＬＳＴＭ３６Ｄ−Ｔｌは、デコーダ時刻Ｔｌの隠れ状態のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つＮＥラベル生成用の重み行列との間で類似度を計算する。これによって、ＮＥラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Ｔｌ＋１で選択されるべき度合いがスコア化される。このようにＬＳＴＭ３６Ｄ−Ｔｌにより更新されたデコーダ時刻Ｔｌの隠れ状態は、上記３つのスコアの算出に用いられる他、ＬＳＴＭ３６Ｄ−Ｔｌ＋１にも入力される。
【０１０１】
このようにＬ個のＬＳＴＭのセルを動作させることにより、Ｌ個のＬＳＭＴのセルごとに、入力文の単語別のスコアおよびモデルの辞書の単語別のスコアが得られる。
【０１０２】
算出部３７は、各種の確率分布を算出する処理部である。
【０１０３】
１つの側面として、算出部３７は、ＬＳＴＭ３６Ｄ−Ｔｌにより入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化された場合、各単語のスコアの総和が「１」になるように各単語のスコアを正規化する。これによって、入力文の各単語のコピースコアが入力文の各単語のコピー確率へ正規化される。この結果、デコーダ時刻Ｔｌにおけるアテンション分布が獲得される。
【０１０４】
他の側面として、算出部３７は、ＬＳＴＭ３６Ｄ−Ｔｌによりモデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化された場合、各単語のスコアの総和が「１」になるように各単語のスコアを正規化する。これによって、モデルの辞書の各単語の生成スコアがモデルの辞書の各単語の生成確率へ正規化される。この結果、デコーダ時刻Ｔｌにおけるボキャブラリ分布が獲得される。
【０１０５】
このように得られたアテンション分布及びボキャブラリ分布が線形結合される。例えば、アテンション分布及びボキャブラリ分布のいずれの分布にも共通して存在する単語では、コピー確率および生成確率が足し合わされることにより合成確率が計算される。また、アテンション分布及びボキャブラリ分布のうち一方の分布に存在する単語では、他方のコピー確率または生成確率をゼロとし、一方のコピー確率または生成確率が足し合わされることにより合成確率が計算される。その上で、入力文およびモデルの辞書の各単語の合成確率の総和が「１」になるように各単語の合成確率が正規化される。これによって、デコーダ時刻Ｔｌにおける最終分布が獲得される。
【０１０６】
更なる側面として、算出部３７は、ＬＳＴＭ３６Ｄ−ＴｌによりＮＥラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Ｔｌ＋１で選択されるべき度合いがスコア化された場合、ＮＥラベルの各カテゴリの総和が「１」になるように各カテゴリのスコアを正規化する。これによって、ＮＥラベルの各カテゴリの選択スコアがＮＥラベルの各カテゴリの選択確率へ正規化される。この結果、デコーダ時刻Ｔｌ＋１におけるＮＥカテゴリ分布が獲得される。
【０１０７】
生成部３８は、要約文の単語を生成する処理部である。
【０１０８】
１つの側面として、生成部３８は、算出部３７によりデコーダ時刻Ｔｌにおける最終分布が算出された場合、次のような処理を実行する。すなわち、生成部３８は、デコーダ時刻Ｔｌにおける最終分布に含まれる合成確率のうち最大の合成確率を有する単語をデコーダ時刻Ｔｌにおける要約文の単語、すなわち要約文の先頭からｌ番目の単語として生成する。
【０１０９】
他の側面として、生成部３８は、デコーダ時刻Ｔｌ＋１におけるＮＥカテゴリ分布が算出された場合、次のような処理を実行する。すなわち、生成部３８は、デコーダ時刻Ｔｌ＋１におけるＮＥカテゴリ分布に含まれる選択確率のうち最大の選択確率を有するＮＥラベルのカテゴリをデコーダ時刻Ｔｌ＋１におけるＮＥラベルとして選択する。
【０１１０】
［要約文生成の具体例］
図４は、要約文生成の一例を示す図である。図４には、あくまで説明の便宜上、入力文の一例として、“Ｇｅｒｍａｎｙ  ｗｉｎ  ａｇａｉｎｓｔ  Ａｒｇｅｎｔｉｎａ”が取得される場合の例が示されている。この場合、図４に示すように、エンコーダ実行部３６Ｅは、入力文の単語数「４」に対応する４個のＬＳＴＭ３６Ｅ−ｔ１〜ＬＳＴＭ３６Ｅ−ｔ４をワークエリア上に展開する。
【０１１１】
（１．１）エンコーダ時刻ｔ１の動作
続いて、エンコーダ実行部３６Ｅは、入力文の先頭の単語“Ｇｅｒｍａｎｙ”をベクトル化すると共に当該単語“Ｇｅｒｍａｎｙ”に付与されたＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞をベクトル化する。そして、エンコーダ実行部３６Ｅは、先頭の単語“Ｇｅｒｍａｎｙ”のベクトル及びＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞のベクトルと共に、隠れ状態のベクトルの初期値ｈ０をＬＳＴＭ３６Ｅ−ｔ１へ入力する。すると、ＬＳＴＭ３６Ｅ−ｔ１は、初期値の隠れ状態ｈ０のベクトルに先頭の単語“Ｇｅｒｍａｎｙ”のベクトル及びＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞のベクトルを足し合わせることにより、初期値の隠れ状態ｈ０をエンコーダ時刻ｔ１の隠れ状態ｈ１へ更新する。このように更新されたエンコーダ時刻ｔ１の隠れ状態ｈ１がＬＳＴＭ３６Ｅ−ｔ１からＬＳＴＭ３６Ｅ−ｔ２へ入力される。
【０１１２】
（１．２）エンコーダ時刻ｔ２の動作
次に、エンコーダ実行部３６Ｅは、入力文の先頭から２番目の単語“ｗｉｎ”をベクトル化すると共に当該単語“ｗｉｎ”に付与されたＮＥラベル＜ＯＴＨＥＲ＞をベクトル化する。その上で、エンコーダ実行部３６Ｅは、２番目の単語“ｗｉｎ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルをＬＳＴＭ３６Ｅ−ｔ２へ入力する。すると、ＬＳＴＭ３６Ｅ−ｔ２は、エンコーダ時刻ｔ１の隠れ状態ｈ１のベクトルに２番目の単語“ｗｉｎ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルを足し合わせることにより、エンコーダ時刻ｔ１の隠れ状態ｈ１をエンコーダ時刻ｔ２の隠れ状態ｈ２へ更新する。このように更新されたエンコーダ時刻ｔ２の隠れ状態ｈ２がＬＳＴＭ３６Ｅ−ｔ２からＬＳＴＭ３６Ｅ−ｔ３へ入力される。
【０１１３】
（１．３）エンコーダ時刻ｔ３の動作
続いて、エンコーダ実行部３６Ｅは、入力文の先頭から３番目の単語“ａｇａｉｎｓｔ”をベクトル化すると共に当該単語“ａｇａｉｎｓｔ”に付与されたＮＥラベル＜ＯＴＨＥＲ＞をベクトル化する。その上で、エンコーダ実行部３６Ｅは、３番目の単語“ａｇａｉｎｓｔ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルをＬＳＴＭ３６Ｅ−ｔ３へ入力する。すると、ＬＳＴＭ３６Ｅ−ｔ３は、エンコーダ時刻ｔ２の隠れ状態ｈ２のベクトルに３番目の単語“ａｇａｉｎｓｔ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルを足し合わせることにより、エンコーダ時刻ｔ２の隠れ状態ｈ２をエンコーダ時刻ｔ３の隠れ状態ｈ３へ更新する。このように更新されたエンコーダ時刻ｔ３の隠れ状態ｈ３がＬＳＴＭ３６Ｅ−ｔ３からＬＳＴＭ３６Ｅ−ｔ４へ入力される。
【０１１４】
（１．４）エンコーダ時刻ｔ４の動作
最後に、エンコーダ実行部３６Ｅは、入力文の先頭から４番目の単語“Ａｒｇｅｎｔｉｎａ”をベクトル化すると共に当該単語“Ａｒｇｅｎｔｉｎａ”に付与されたＮＥラベル＜ＯＴＨＥＲ＞をベクトル化する。その上で、エンコーダ実行部３６Ｅは、４番目の単語“Ａｒｇｅｎｔｉｎａ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルをＬＳＴＭ３６Ｅ−ｔ４へ入力する。すると、ＬＳＴＭ３６Ｅ−ｔ４は、エンコーダ時刻ｔ３の隠れ状態ｈ３のベクトルに４番目の単語“Ａｒｇｅｎｔｉｎａ”のベクトル及びＮＥラベル＜ＯＴＨＥＲ＞のベクトルを足し合わせることにより、エンコーダ時刻ｔ３の隠れ状態ｈ３をエンコーダ時刻ｔ４の隠れ状態ｈ４へ更新する。このように更新されたエンコーダ時刻ｔ４の隠れ状態ｈ４がＲＮＮエンコーダからＲＮＮデコーダへ入力される。
【０１１５】
このように、先頭のＬＳＴＭ３６Ｅ−ｔ１から末尾のＬＳＴＭ３６Ｅ−ｔ４まで隠れ状態、いわゆる文脈ベクトルがｈ０、ｈ１、ｈ２、ｈ３、ｈ４の順に更新が繰り返される。
【０１１６】
（２）デコーダ時刻Ｔ３の動作
図４には、デコーダ時刻Ｔ２におけるＬＳＴＭ３６Ｄ−Ｔ２の動作例が示されている。図４に示すように、ＬＳＴＭ３６Ｄ−Ｔ２には、ＬＳＴＭ３６Ｄ−Ｔ１によりエンコーダ時刻ｔ４の隠れ状態ｈ４から更新されたデコーダ時刻Ｔ１の隠れ状態Ｈ１が入力される。さらに、ＬＳＴＭ３６Ｄ−Ｔ２には、デコーダ時刻Ｔ１に生成された要約文の単語“Ｇｅｒｍａｎｙ”のベクトルおよびデコーダ時刻Ｔ１で選択されたデコーダ時刻Ｔ２のＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞のベクトルが入力される。その後、ＬＳＴＭ３６Ｄ−Ｔ２は、デコーダ時刻Ｔ１の隠れ状態Ｈ１にデコーダ時刻Ｔ１の要約文の単語“Ｇｅｒｍａｎｙ”のベクトルおよびデコーダ時刻Ｔ２のＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞のベクトルを足し合わせる。これによって、デコーダ時刻Ｔ１の隠れ状態Ｈ１がデコーダ時刻２の隠れ状態Ｈ２へ更新される。
【０１１７】
その後、ＬＳＴＭ３６Ｄ−Ｔ２は、デコーダ時刻Ｔ２の隠れ状態Ｈ２のベクトルと、各エンコーダ時刻ｔ１〜ｔ４の隠れ状態ｈ１〜ｈ４のベクトルとの間で類似度を計算する。これによって、入力文に含まれる単語ごとに当該単語が要約文の単語としてコピーされるべき度合いがスコア化される。続いて、算出部３７は、入力文の各単語のスコアの総和が「１」になるように各単語のスコアを正規化する。これによって、入力文の各単語のコピースコアがコピー確率へ正規化される。この結果、デコーダ時刻Ｔ２におけるアテンション分布ｄ１が獲得される。
【０１１８】
さらに、ＬＳＴＭ３６Ｄ−Ｔ２は、デコーダ時刻Ｔ２の隠れ状態Ｈ２のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つ要約文の単語生成用の重み行列との間で類似度を計算する。これによって、モデルの辞書の単語ごとに当該単語が要約文の単語として生成されるべき度合いがスコア化される。続いて、算出部３７は、モデルの辞書の各単語のスコアの総和が「１」になるように各単語のスコアを正規化する。これによって、モデルの辞書の各単語の生成スコアが生成確率へ正規化される。この結果、デコーダ時刻Ｔ２におけるボキャブラリ分布ｄ２が獲得される。
【０１１９】
これらアテンション分布ｄ１及びボキャブラリ分布ｄ２が線形結合されることにより、デコーダ時刻Ｔ２における最終分布ｄ３が獲得される。その後、生成部３８は、デコーダ時刻Ｔ２における最終分布Ｄ３に含まれる合成確率のうち最大の合成確率を有する単語“ｂｅａｔ”をデコーダ時刻Ｔ２における要約文の単語として生成する。
【０１２０】
また、ＬＳＴＭ３６Ｄ−Ｔ２は、デコーダ時刻Ｔ２の隠れ状態Ｈ２のベクトルと、ＲＮＮデコーダがモデルのパラメータとして持つＮＥラベル生成用の重み行列との間で類似度を計算する。これによって、ＮＥラベルのカテゴリごとに当該カテゴリが次のデコーダ時刻Ｔ３で選択されるべき度合いがスコア化される。続いて、算出部３７は、ＮＥラベルの各カテゴリの総和が「１」になるように各カテゴリのスコアを正規化する。これによって、ＮＥラベルの各カテゴリの選択スコアが選択確率へ正規化される。この結果、デコーダ時刻Ｔ３におけるＮＥカテゴリ分布ｄ４が獲得される。
【０１２１】
その後、生成部３８は、デコーダ時刻Ｔ３におけるＮＥカテゴリ分布ｄ４に含まれる選択確率のうち最大の選択確率を有するカテゴリをデコーダ時刻Ｔ３のＮＥラベルとして選択する。このように、デコーダ時刻Ｔ２の時点で選択されたデコーダ時刻Ｔ３のＮＥラベルがデコーダ時刻Ｔ３の時点で隠れ状態Ｈ２の更新に用いられる。このため、デコーダ時刻Ｔ３の時点では、固有表現またはその他のいずれの単語が出力されやすいか、さらには、固有表現であればどのようなカテゴリの固有表現が出力されやすいか、さらには、次に出力されやすい固有表現が先頭またはそれ以外であるかなどに基づいてアテンション分布やボキャブラリ分布、ひいては最終分布を算出させることができる。
【０１２２】
［要約文の生成事例の対比］
以下、図５及び図６を用いて、従来技術および本実施例における要約文の生成事例を対比する。
【０１２３】
図５は、入力文の一例を示す図である。図６Ａ及び図６Ｂは、いずれも要約文の一例を示す図である。このうち、図６Ａには、従来技術における要約文の生成事例が示される一方で、図６Ｂには、実施例１に係る要約文の生成事例が示されている。
【０１２４】
例えば、従来技術に係るＰｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒのモデルへ図５に示す入力文４０が入力された場合、図６Ａに示す要約文４０Ａが生成される。図６Ａに示すように、要約文４０Ａでは、図５に示す入力文４０の固有表現のフレーズ「Ｘｘｘｘｘｘ．ｃｏｍ」のうち、固有表現の途中の単語「．」および「ｃｏｍ」がコピーされている。さらに、要約文４０Ａでは、入力文４０から固有表現でない単語「米」が要約文の単語としてコピーされている。この結果、要約文４０Ａでは、入力文４０に存在する元の固有表現「Ｘｘｘｘｘｘ．ｃｏｍ」が把握できないばかりか、本来の固有表現から意味が変質した複合名詞「米．ｃｏｍ」が生成されている。このように、上記の従来技術のように、Ｐｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒでは、人にとって違和感のある要約文が生成されてしまう場合がある。
【０１２５】
一方、実施例１に係るＰｏｉｎｔｅｒ−Ｇｅｎｅｒａｔｏｒのモデルへ図５に示す入力文４０が入力された場合、図６Ｂに示す要約文４０Ｂが生成される。この場合、要約文４０Ｂにおける先頭の単語を生成する際、エンコーダから出力された隠れ状態にＮＥラベル＜Ｂ−ＣＯＵＮＴＲＹ＞を足し合わせることにより更新された隠れ状態に基づいてアテンション分布やボキャブラリ分布、ひいては最終分布が算出される。この結果、図６Ｂに示すように、要約文４０Ｂでは、固有表現の先頭の単語「Ｘｘｘｘｘ」を生成しやすることができると共に、固有表現の途中の単語「．」および「ｃｏｍ」だけがコピーされるのを抑制できる。したがって、未知語を適切な表現で要約文へ含めることが可能である。
【０１２６】
（１）学習処理
図７は、実施例１に係る学習処理の手順を示すフローチャートである。この学習処理は、一例として、モデル学習のリクエストを受け付けた場合に開始される。図７に示すように、取得部１３は、学習データに含まれるＪ個の学習サンプルｊごとに、下記のステップＳ１０１から下記のステップＳ１０８までの処理が実行される。
【０１２７】
すなわち、取得部１３は、学習データ記憶部１１に記憶された学習データのうち学習サンプルｊを１つ取得する（ステップＳ１０１）。続いて、エンコーダ実行部１６Ｅは、ステップＳ１０１で取得された学習サンプルに含まれる学習用入力文のテキストに含まれる単語ごとに当該単語をベクトル化する（ステップＳ１０２Ａ）。
【０１２８】
ここで、ステップＳ１０２Ａの処理と同時または前後して、ステップＳ１０２Ｂ１及びステップＳ１０２Ｂ１を実行できる。すなわち、ステップＳ１０２Ｂ１において、固有表現抽出部１５は、学習用入力文のテキストに含まれる単語ごとにＮＥラベルを付与する。続いて、ステップＳ１０２Ｂ２において、エンコーダ実行部１６Ｅは、学習用入力文の各単語のＮＥラベルをベクトル化する。
【０１２９】
その後、学習用入力文に含まれるＭ個の単語、すなわちエンコーダ時刻ｔ１からエンコーダ時刻ｔＭまでのデコーダ時刻ｔｍごとに、下記のステップＳ１０３の処理が実行される。すなわち、エンコーダ実行部１６Ｅは、エンコーダ時刻ｔｍ−１の隠れ状態と、学習用入力文の先頭からｍ番目の単語のベクトル及びＮＥラベルのベクトルとをＬＳＴＭ１６Ｅ−ｔｍに入力する。これらが入力されたＬＳＴＭ１６Ｅ−ｔｍによりエンコーダ時刻ｔｍ−１の隠れ状態がエンコーダ時刻ｔｍの隠れ状態へ更新される（ステップＳ１０３）。
【０１３０】
これによって、学習用入力文の先頭の単語に対応するＬＳＴＭのセルから末尾であるＭ番目の単語に対応するＬＳＴＭのセルまで隠れ状態、いわゆる文脈ベクトルの更新が繰り返される。
【０１３１】
その後、デコーダ実行部１６Ｄは、ステップＳ１０１で取得された学習サンプルに含まれる正解要約文のテキストに含まれる単語ごとに当該単語をベクトル化する（ステップＳ１０４Ａ）。
【０１３２】
ここで、ステップＳ１０４Ａの処理と同時または前後して、ステップＳ１０４Ｂ１及びステップＳ１０４Ｂ１を実行できる。すなわち、ステップＳ１０４Ｂ１において、固有表現抽出部１５は、正解要約文のテキストに含まれる単語ごとにＮＥラベルを付与する。続いて、ステップＳ１０４Ｂ２において、デコーダ実行部１６Ｄは、正解要約文の各単語のＮＥラベルをベクトル化する。
【０１３３】
その後、正解要約文に含まれるＮ個の単語、すなわちデコーダ時刻Ｔ１からデコーダ時刻ＴＮまでのデコーダ時刻Ｔｎごとに、下記のステップＳ１０５から下記のステップＳ１０７までの処理が実行される。
【０１３４】
すなわち、デコーダ実行部１６Ｄは、デコーダ時刻Ｔｎ−１の正解要約文の単語のベクトルおよびデコーダ時刻ＴｎのＮＥラベルのベクトルと共に、デコーダ時刻Ｔｎ−１の隠れ状態をＬＳＴＭ１６Ｄ−Ｔｎに入力する。これらが入力されたＬＳＴＭ１６Ｄ−Ｔｎによりデコーダ時刻Ｔｎ−１の隠れ状態がデコーダ時刻Ｔｎの隠れ状態へ更新される（ステップＳ１０５）。
【０１３５】
続いて、算出部１７は、ＬＳＴＭ１６Ｄ−Ｔｎによりデコーダ時刻Ｔｎの隠れ状態のベクトルと各エンコーダ時刻ｔ１〜ｔＭの隠れ状態のベクトルとの類似度が学習用入力文の単語ごとにスコア化されたスコアを正規化することにより、デコーダ時刻Ｔｎにおけるアテンション分布を算出する（ステップＳ１０６）。
【０１３６】
そして、算出部１７は、ＬＳＴＭ１６Ｄ−Ｔｎによりデコーダ時刻Ｔｎの隠れ状態のベクトルと要約文の単語生成用の重み行列との類似度がモデルの辞書の単語ごとにスコア化されたスコアを正規化することにより、デコーダ時刻Ｔｎにおけるボキャブラリ分布を算出する（ステップＳ１０７Ａ１）。続いて、損失計算部１８は、ステップＳ１０６で算出されたアテンション分布およびステップＳ１０７Ａ１で算出されたボキャブラリ分布から求まるデコーダ時刻Ｔｎの最終分布と、デコーダ時刻Ｔｎにおける正解要約文の単語との間で第１の損失を計算する（ステップＳ１０７Ａ２）。
【０１３７】
ここで、ステップＳ１０７Ａ１及びステップＳ１０７Ａ２の処理と同時または前後して、ステップＳ１０７Ｂ１及びステップＳ１０７Ｂ１を実行できる。すなわち、ステップＳ１０７Ｂ１において、算出部１７は、ＬＳＴＭ１６Ｄ−Ｔｎによりデコーダ時刻Ｔｎの隠れ状態のベクトルとＮＥラベル生成用の重み行列との類似度がＮＥラベルのカテゴリごとにスコア化されたスコアを正規化することにより、デコーダ時刻Ｔｎ＋１におけるＮＥカテゴリ分布を算出する。続いて、ステップＳ１０７Ｂ２において、損失計算部１８は、デコーダ時刻Ｔｎ−１の時点で算出されたデコーダ時刻ＴｎにおけるＮＥカテゴリ分布と、デコーダ時刻Ｔｎにおける正解要約文の単語が持つＮＥラベルとの間で第２の損失を計算する。
【０１３８】
そして、正解要約文のＮ個の単語ごとに第１の損失および第２の損失が算出されると、更新部１９は、各デコーダ時刻Ｔ１〜ＴＮにおける第１の損失および第２の損失に基づいて対数尤度の最適化を実行することにより、ＲＮＮのモデルを更新するパラメータを算出した上で、モデル記憶部１２に記憶されたモデルのパラメータを更新する（ステップＳ１０８）。
【０１３９】
その後、学習データに含まれる全ての学習サンプルｊについてモデルのパラメータの更新が実行されると、処理が終了する。
【０１４０】
（２）生成処理
図８は、実施例１に係る生成処理の手順を示すフローチャートである。この生成処理は、一例として、要約文生成のリクエストを受け付けた場合に開始される。図８に示すように、取得部３３は、任意の情報ソースから入力文を取得する（ステップＳ３０１）。
【０１４１】
続いて、エンコーダ実行部３６Ｅは、ステップＳ３０１で取得された入力文のテキストに含まれる単語ごとに当該単語をベクトル化する（ステップＳ３０２Ａ１）。
【０１４２】
ここで、ステップＳ３０２Ａ１の処理と同時または前後して、ステップＳ３０２Ｂ１及びステップＳ３０２Ｂ１を実行できる。すなわち、ステップＳ３０２Ｂ１において、固有表現抽出部３５は、入力文のテキストに含まれる単語ごとにＮＥラベルを付与する。続いて、ステップＳ３０２Ｂ２において、エンコーダ実行部３６Ｅは、入力文の各単語のＮＥラベルをベクトル化する。
【０１４３】
その後、入力文に含まれるＫ個の単語、すなわちエンコーダ時刻ｔ１からエンコーダ時刻ｔＫまでのデコーダ時刻ｔｋごとに、下記のステップＳ３０３の処理が実行される。すなわち、エンコーダ実行部３６Ｅは、エンコーダ時刻ｔｋ−１の隠れ状態と、入力文の先頭からｋ番目の単語のベクトル及びＮＥラベルのベクトルとをＬＳＴＭ３６Ｅ−ｔｋに入力する。これらが入力されたＬＳＴＭ３６Ｅ−ｔｋによりエンコーダ時刻ｔｋ−１の隠れ状態がエンコーダ時刻ｔｋの隠れ状態へ更新される（ステップＳ３０３）。
【０１４４】
これによって、入力文の先頭の単語に対応するＬＳＴＭのセルから末尾であるＫ番目の単語に対応するＬＳＴＭのセルまで隠れ状態、いわゆる文脈ベクトルの更新が繰り返される。
【０１４５】
その後、文末記号のタグが出力されるまで、生成部３８により出力される要約文の単語列に対応するデコーダ時刻Ｔｌごとに、下記のステップＳ３０４から下記のステップＳ３０７までの処理が実行される。
【０１４６】
すなわち、デコーダ実行部３６Ｄは、デコーダ時刻Ｔｌの１つ前のデコーダ時刻Ｔｌ−１で生成された要約文の単語をベクトル化する（ステップＳ３０４Ａ１）。
【０１４７】
ここで、ステップＳ３０４Ａ１の処理と同時または前後して、ステップＳ３０４Ｂ１を実行できる。すなわち、ステップＳ３０４Ｂ１において、デコーダ実行部３６Ｄは、１つ前のデコーダ時刻Ｔｌ−１で選択されたデコーダ時刻ＴｌのＮＥラベルをベクトル化する。
【０１４８】
その後、デコーダ実行部３６Ｄは、デコーダ時刻Ｔｌ−１の要約文の単語のベクトルおよびデコーダ時刻ＴｌのＮＥラベルのベクトルと共に、デコーダ時刻Ｔｌ−１の隠れ状態をＬＳＴＭ３６Ｄ−Ｔｌに入力する。これらが入力されたＬＳＴＭ３６Ｄ−Ｔｌによりデコーダ時刻Ｔｌ−１の隠れ状態がデコーダ時刻Ｔｌの隠れ状態へ更新される（ステップＳ３０５）。
【０１４９】
続いて、算出部３７は、ＬＳＴＭ３６Ｄ−Ｔｌによりデコーダ時刻Ｔｌの隠れ状態のベクトルと各エンコーダ時刻ｔ１〜ｔＫの隠れ状態のベクトルとの類似度が入力文の単語ごとにスコア化されたスコアを正規化することにより、デコーダ時刻Ｔｌにおけるアテンション分布を算出する（ステップＳ３０６）。
【０１５０】
そして、算出部３７は、ＬＳＴＭ３６Ｄ−Ｔｌによりデコーダ時刻Ｔｌの隠れ状態のベクトルと要約文の単語生成用の重み行列との類似度がモデルの辞書の単語ごとにスコア化されたスコアを正規化することにより、デコーダ時刻Ｔｌにおけるボキャブラリ分布を算出する（ステップＳ３０７Ａ１）。続いて、生成部３８は、ステップＳ３０６で算出されたアテンション分布およびステップＳ３０７Ａ１で算出されたボキャブラリ分布から求まるデコーダ時刻Ｔｌの最終分布に含まれる合成確率のうち最大の合成確率を有する単語をデコーダ時刻Ｔｌにおける要約文の単語として生成する（ステップＳ３０７Ａ２）。
【０１５１】
ここで、ステップＳ３０７Ａ１及びステップＳ３０７Ａ２の処理と同時または前後して、ステップＳ３０７Ｂ１及びステップＳ３０７Ｂ１を実行できる。すなわち、ステップＳ３０７Ｂ１において、算出部３７は、ＬＳＴＭ３６Ｄ−Ｔｌによりデコーダ時刻Ｔｌの隠れ状態のベクトルとＮＥラベル生成用の重み行列との類似度がＮＥラベルのカテゴリごとにスコア化されたスコアを正規化することにより、デコーダ時刻Ｔｌ＋１におけるＮＥカテゴリ分布を算出する。続いて、ステップＳ３０７Ｂ２において、生成部３８は、デコーダ時刻Ｔｌ＋１におけるＮＥカテゴリ分布に含まれる選択確率のうち最大の選択確率を有するＮＥラベルのカテゴリをデコーダ時刻Ｔｌ＋１におけるＮＥラベルとして選択する。
【０１５２】
その後、ＲＮＮデコーダから文末記号のタグが出力されると、生成部３８は、先頭のＬＳＴＭのセルからＬ番目のＬＳＴＭのセルまでに生成された単語を結合することにより要約文を生成して要約文を所定の出力先へ出力し（ステップＳ３０８）、処理を終了する。
【０１５３】
［効果の一側面］
上述してきたように、本実施例に係る生成装置３０は、入力文の単語と固有表現のラベルで更新が繰り返された隠れ状態が入力されたデコーダで隠れ状態を１時刻前の単語と固有表現のラベルで更新しつつアテンション分布とボキャブラリ分布を算出して要約文の単語を出力する。したがって、本実施例に係る生成装置３０によれば、未知語を適切な表現で要約文へ含めることが可能になる。
【０１５４】
さらに、本実施例に係る学習装置１０は、学習用入力文の単語と固有表現のラベルで更新が繰り返された隠れ状態が入力されたデコーダで隠れ状態を１時刻前の単語と固有表現のラベルで更新しつつアテンション分布とボキャブラリ分布を算出してモデルのパラメータを更新する。したがって、本実施例に係る生成装置３０によれば、未知語を適切な表現で要約文へ含めるモデル学習を実現することが可能になる。
【実施例２】
【０１５５】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１５６】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部１３、固有表現抽出部１５、エンコーダ実行部１６Ｅ、デコーダ実行部１６Ｄ、算出部１７、損失計算部１８または更新部１９を学習装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。あるいは、取得部３１、固有表現抽出部３５、エンコーダ実行部３６Ｅ、デコーダ実行部３６Ｄ、算出部３７または生成部３８を生成装置３０の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部１３、固有表現抽出部１５、エンコーダ実行部１６Ｅ、デコーダ実行部１６Ｄ、算出部１７、損失計算部１８または更新部１９を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の学習装置１０の機能を実現するようにしてもよい。あるいは、取得部３１、固有表現抽出部３５、エンコーダ実行部３６Ｅ、デコーダ実行部３６Ｄ、算出部３７または生成部３８を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の生成装置３０の機能を実現するようにしてもよい。
【０１５７】
［生成プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図９を用いて、上記の実施例と同様の機能を有する生成プログラムを実行するコンピュータの一例について説明する。
【０１５８】
図９は、コンピュータのハードウェア構成例を示す図である。図９に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、カメラ１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０１５９】
ＨＤＤ１７０には、図９に示すように、上記の実施例１で示した取得部３１、固有表現抽出部３５、エンコーダ実行部３６Ｅ、デコーダ実行部３６Ｄ、算出部３７及び生成部３８と同様の機能を発揮する生成プログラム１７０ａが記憶される。この生成プログラム１７０ａは、図１に示した取得部３１、固有表現抽出部３５、エンコーダ実行部３６Ｅ、デコーダ実行部３６Ｄ、算出部３７または生成部３８の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。なお、ここでは、あくまで一例として、ＨＤＤ１７０に生成プログラム１７０ａが記憶される例を挙げたが、取得部１３、固有表現抽出部１５、エンコーダ実行部１６Ｅ、デコーダ実行部１６Ｄ、算出部１７、損失計算部１８及び更新部１９と同様の機能を発揮する学習プログラムが記憶されることとしてもかまわない。
【０１６０】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から生成プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、生成プログラム１７０ａは、図９に示すように、生成プロセス１８０ａとして機能する。この生成プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち生成プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、生成プロセス１８０ａが実行する処理の一例として、図８に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０１６１】
なお、上記の生成プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に生成プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から生成プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに生成プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから生成プログラム１７０ａを取得して実行するようにしてもよい。
【０１６２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６３】
（付記１）入力文を取得し、
前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、１つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布を算出し、
前記第１の確率分布および前記第２の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、
処理をコンピュータが実行することを特徴とする生成方法。
【０１６４】
（付記２）前記デコーダ時刻の隠れ状態に基づいて前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第３の確率分布を算出し、
前記１つ前のデコーダ時刻で算出された第３の確率分布に基づいて前記デコーダ時刻における固有表現のラベルを選択する処理を前記コンピュータがさらに実行し、
前記デコーダ時刻の隠れ状態は、１つ前のデコーダ時刻に選択された固有表現のラベルに基づいて算出されることを特徴とする付記１に記載の生成方法。
【０１６５】
（付記３）学習用入力文および正解要約文を取得し、
前記学習用入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する学習用入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記正解要約文の単語列に対応するデコーダ時刻ごとに、前記デコーダ時刻に対応する正解要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記学習用入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布と、前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第３の確率分布とを算出し、
前記第１の確率分布および前記第２の確率分布と、前記デコーダ時刻における正解要約文の単語との間で第１の損失を算出すると共に、前記１つ前のデコーダ時刻で算出された前記デコーダ時刻における第３の確率分布と、前記デコーダ時刻における正解要約文の単語が持つ固有表現のラベルとの間で第２の損失を算出し、
前記第１の損失および前記第２の損失に基づいて前記モデルのパラメータを更新する、
処理をコンピュータが実行することを特徴とする学習方法。
【０１６６】
（付記４）入力文を取得し、
前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、１つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布を算出し、
前記第１の確率分布および前記第２の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する、
処理をコンピュータに実行させることを特徴とする生成プログラム。
【０１６７】
（付記５）前記デコーダ時刻の隠れ状態に基づいて前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第３の確率分布を算出し、
前記１つ前のデコーダ時刻で算出された第３の確率分布に基づいて前記デコーダ時刻における固有表現のラベルを選択する処理を前記コンピュータがさらに実行し、
前記デコーダ時刻の隠れ状態は、１つ前のデコーダ時刻に選択された固有表現のラベルに基づいて算出されることを特徴とする付記４に記載の生成プログラム。
【０１６８】
（付記６）学習用入力文および正解要約文を取得し、
前記学習用入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する学習用入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出し、
前記エンコーダにより出力される隠れ状態をデコーダへ入力し、
前記正解要約文の単語列に対応するデコーダ時刻ごとに、前記デコーダ時刻に対応する正解要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出し、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記学習用入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出し、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布と、前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第３の確率分布とを算出し、
前記第１の確率分布および前記第２の確率分布と、前記デコーダ時刻における正解要約文の単語との間で第１の損失を算出すると共に、前記１つ前のデコーダ時刻で算出された前記デコーダ時刻における第３の確率分布と、前記デコーダ時刻における正解要約文の単語が持つ固有表現のラベルとの間で第２の損失を算出し、
前記第１の損失および前記第２の損失に基づいて前記モデルのパラメータを更新する、
処理をコンピュータに実行させることを特徴とする学習プログラム。
【０１６９】
（付記７）入力文を取得する取得部と、
前記入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出する第１算出部と、
前記エンコーダにより出力される隠れ状態をデコーダへ入力する入力部と、
前記デコーダが出力する要約文の単語列に対応するデコーダ時刻ごとに、１つ前のデコーダ時刻に生成された要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出する第２算出部と、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出する第３算出部と、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布を算出する第４算出部と、
前記第１の確率分布および前記第２の確率分布に基づいて前記デコーダ時刻における要約文の単語を生成する生成部と、
を有することを特徴とする生成装置。
【０１７０】
（付記８）前記デコーダ時刻の隠れ状態に基づいて前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第３の確率分布を算出する第５算出部と、
前記１つ前のデコーダ時刻で算出された第３の確率分布に基づいて前記デコーダ時刻における固有表現のラベルを選択する選択部をさらに有し、
前記デコーダ時刻の隠れ状態は、１つ前のデコーダ時刻に選択された固有表現のラベルに基づいて算出されることを特徴とする付記７に記載の生成装置。
【０１７１】
（付記９）学習用入力文および正解要約文を取得する取得部と、
前記学習用入力文の単語列に対応するエンコーダ時刻ごとに、前記エンコーダ時刻に対応する学習用入力文の単語および固有表現のラベルに基づいて１つ前のエンコーダ時刻の隠れ状態から前記エンコーダ時刻の隠れ状態を算出する第１算出部と、
前記エンコーダにより出力される隠れ状態をデコーダへ入力する入力部と、
前記正解要約文の単語列に対応するデコーダ時刻ごとに、前記デコーダ時刻に対応する正解要約文の単語および固有表現のラベルに基づいて１つ前のデコーダ時刻の隠れ状態から前記デコーダ時刻の隠れ状態を算出する第２算出部と、
前記デコーダ時刻の隠れ状態と各エンコーダ時刻の隠れ状態とに基づいて前記学習用入力文の単語列の各単語が前記デコーダ時刻における要約文の単語としてコピーされる第１の確率分布を算出する第３算出部と、
前記デコーダ時刻の隠れ状態に基づいて、前記エンコーダ及び前記デコーダを含むモデルの辞書の各単語が前記デコーダ時刻における要約文の単語として生成される第２の確率分布と、前記デコーダ時刻の次のデコーダ時刻に固有表現の各ラベルが選択される第３の確率分布とを算出する第４算出部と、
前記第１の確率分布および前記第２の確率分布と、前記デコーダ時刻における正解要約文の単語との間で第１の損失を算出すると共に、前記１つ前のデコーダ時刻で算出された前記デコーダ時刻における第３の確率分布と、前記デコーダ時刻における正解要約文の単語が持つ固有表現のラベルとの間で第２の損失を計算する損失計算部と、
前記第１の損失および前記第２の損失に基づいて前記モデルのパラメータを更新する更新部と、
を有することを特徴とする学習装置。
【符号の説明】
【０１７２】
１０    学習装置
１１    学習データ記憶部
１２    モデル記憶部
１３    取得部
１５    固有表現抽出部
１６Ｅ  エンコーダ実行部
１６Ｄ  デコーダ実行部
１７    算出部
１８    損失計算部
１９    更新部
３０    生成装置
３３    取得部
３５    固有表現抽出部
３６Ｅ  エンコーダ実行部
３６Ｄ  デコーダ実行部
３７    算出部
３８    生成部
【図１】
2020166735.tif 000003
【図２】
2020166735.tif 000004
【図３】
2020166735.tif 000005
【図４】
2020166735.tif 000006
【図５】
2020166735.tif 000007
【図６Ａ】
2020166735.tif 000008
【図６Ｂ】
2020166735.tif 000009
【図７】
2020166735.tif 000010
【図８】
2020166735.tif 000011
【図９】
2020166735.tif 000012