(57)【要約】【課題】入力文に含まれるフレーズの省略に失敗するのを抑制すること。【解決手段】要約文生成方法は、入力文を取得し、入力文の単語に対応するノードが直列に接続されたラティスのうち所定の表現に対応する区間のノードを生成し、モデルが有する辞書の単語ごとに生成確率を算出し、生成後のラティスに含まれるノードごとに、モデルのエンコーダのセルのうちノードに対応するセルが出力する隠れ状態と、モデルのデコーダのセルが更新する隠れ状態とに基づいて生成確率を算出し、辞書の各単語の生成確率と生成後のラティスの各ノードの生成確率とに基づいて要約文の要素を生成する、処理を実行する。【選択図】図１
2020087353.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）コンポーネントが含まれる。このうち、原文入力エリア２１は、記事等の原文を入力するエリアに対応する。また、要約表示エリア２２は、原文入力エリア２１に入力された原文に対応する要約文を表示するエリアに対応する。また、プルダウンメニュー２３は、要約文の上限文字数を指定するＧＵＩコンポーネントの一例に対応する。また、要約ボタン２４は、原文入力エリア２１に入力された原文に対応する要約文を生成するコマンドの実行を受け付けるＧＵＩコンポーネントの一例に対応する。また、クリアボタン２５は、原文入力エリア２１に入力された原文のテキストをクリアするＧＵＩコンポーネントの一例に対応する。
【００２３】
図２に示すように、記事要約画面２０の原文入力エリア２１では、図示しないキーボード等の入力デバイスを介してテキストの入力を受け付けることができる。このように入力デバイスを介してテキストの入力を受け付ける他、原文入力エリア２１では、ワープロソフトなどのアプリケーションにより作成された文書のファイルからテキストをインポートすることができる。
【００２４】
このように原文入力エリア２１に原文のテキストが入力されることにより、記事要約画面２０は、図２の時刻ｔ１に示された状態から図２の時刻ｔ２に示された状態へ遷移する（ステップＳ１）。例えば、原文入力エリア２１に原文のテキストが入力された場合、要約ボタン２４に対する操作を介して要約文を生成するコマンドの実行を受け付けることができる。また、クリアボタン２５に対する操作を介して原文入力エリア２１に入力されたテキストをクリアすることもできる。この他、プルダウンメニュー２３を介して、複数の上限文字数の中からメディア事業者の関係者が希望する上限文字数の指定を受け付けることもできる。ここでは、新聞やニュースの記事の原文から電光掲示板の速報を要約文として生成する場面の一例として、電光掲示板に表示可能な上限文字数の一例に対応する８０文字が指定された例が示されている。これはあくまで一例であり、新聞やＷｅｂサイトの記事から見出しを生成する場合、見出しに対応する上限文字数を選択することができる。
【００２５】
そして、原文入力エリア２１に原文のテキストが入力された状態で要約ボタン２４に対する操作が行われた場合、記事要約画面２０は、図２の時刻ｔ２に示された状態から図２の時刻ｔ３に示された状態へ遷移する（ステップＳ２）。この場合、原文入力エリア２１に入力された原文のテキストが入力文として学習済みモデルに入力されることによりその要約文が生成される。この要約文の生成は、メディア事業者の関係者の端末装置上で実行されることとしてもよいし、あるいはバックエンドのサーバ装置で実行されることとしてもかまわない。このように要約文が生成された後、記事要約画面２０の要約表示エリア２２には、学習済みモデルにより生成された要約文が表示される。
【００２６】
このように記事要約画面２０の要約表示エリア２２に表示された要約文のテキストには、図示しない入力デバイス等を介して編集を行うことができる。
【００２７】
以上のような記事要約ツールが提供されることで、記者や編集者等により行われる記事要約の作業を軽減することが可能になる。例えば、記事要約の作業は、メディアにニュースを配信するプロセス、例えば「配信記事の選定」や「メディア編集システムへの送信」、「記事要約」、「見出し作成」、「校閲」などの中でも相対的に労力が大きいという側面がある。例えば、記事要約が人手により行われる場合、記事の全体から重要な情報を選別し、文章を再構成するといった作業が必要となる。このことから、記事要約の作業が自動化または半自動化される技術的意義は高い。
【００２８】
なお、ここでは、あくまで一例として、メディア事業者の関係者により記事要約ツールが利用されるユースケースを例に挙げたが、メディア事業者から記事の配信を受ける視聴者により記事要約ツールが利用されることとしてもかまわない。例えば、スマートスピーカ等で記事の全文を読み上げる代わりに要約文を読み上げる機能として記事要約ツールを利用することができる。
【００２９】
また、ここでは、あくまで一例として、生成装置３０が上記の要約生成サービスを提供するコンピュータとして実装される例を挙げたが、これに限定されない。例えば、上記の学習済みモデルが組み込まれた要約生成プログラムが任意のコンピュータ、例えば記者や編集者等の端末装置で実行されるスタンドアローンのアプリケーションプログラムとして実装されることとしてもよい。
【００３０】
さらに、ここでは、上記の機械学習サービス及び上記の要約生成サービスが異なる事業主体で実行される例を挙げたが、これら２つのサービスが同一の事業者により提供されることとしてもかまわない。この場合、上記の学習プログラム及び上記の要約生成プログラムが同一のコンピュータもしくはコンピュータシステムにより実行されることとしてもかまわない。
【００３１】
［ＲＮＮ＋Ｐｏｉｎｔｅｒ−Ｇｅｎ］
上記の学習装置１０及び上記の生成装置３０では、ＲＮＮとＰｏｉｎｔｅｒ−Ｇｅｎとが組み合わされたモデルが用いられる。このように、ＲＮＮとＰｏｉｎｔｅｒ−Ｇｅｎとが組み合わされたモデルでは、ＲＮＮデコーダが出力する単語の生成確率に加えて入力文に含まれる単語の生成確率に基づいて要約文の単語を出力することができる。このため、ＲＮＮのモデルが有する辞書にない未知語を含めて要約文を生成できる。
【００３２】
［課題の一側面］
上記の背景技術の欄でも説明した通り、ＲＮＮとＰｏｉｎｔｅｒ−Ｇｅｎとが組み合わされたモデルでは、入力文に含まれるフレーズの省略に失敗するのを抑制することができない場合がある。
【００３３】
なぜなら、ＲＮＮとＰｏｉｎｔｅｒ−Ｇｅｎとが組み合わされたとしても、入力文の単語が要約文の単語としてコピーされるに過ぎないからである。このように入力文の単語をコピーするだけでは、複数語を含むフレーズに含まれる単語の一部を省略することによってフレーズを短縮するのが限界であるので、フレーズの省略に失敗する事例が発生する。
【００３４】
すなわち、フレーズは、必ずしも単語単位で省略されるとは限らない。例えば、フレーズに含まれる文字列のうち一部の文字を抜粋して並べることにより省略されることもある。
【００３５】
あくまで一例として、日本語のフレーズを例に挙げれば、フレーズ「全日本柔道連盟」の正しい略語は「全柔連」である。ところが、ＲＮＮ＋Ｐｏｉｎｔｅｒ−Ｇｅｎのモデルの場合、フレーズ「全日本柔道連盟」に含まれる単語「全」、「日本」、「柔道」及び「連名」を要約文の単語としてコピーするので、正しい略語「全柔連」を要約文の単語として出力することはできない。
【００３６】
このような課題は、言語が日本語である場合に限定されない。例えば、英語のフレーズ「North  Atlantic  Treaty  Organization」の場合、英単語「North」、「Atlantic」、「Treaty」及び「Organization」を出力するのが限界であり、正しい略語、いわゆる頭字語「ＮＡＴＯ」を含めて要約文を出力することはできない。
【００３７】
［課題解決の一側面］
そこで、本実施例では、入力文の単語に対応するノードを直列に接続したラティスのうち所定の表現に対応する区間のノードを拡張し、拡張後のラティスの各ノードの生成確率とモデル辞書の各単語の生成確率とに基づいて要約文の要素を出力する。
【００３８】
あくまで一例として、本実施例では、入力文が分割された単語列のうち単語Ｎ−ｇｒａｍがフレーズの省略表現の辞書にヒットする場合、当該単語Ｎ−ｇｒａｍの区間に省略表現に対応するノードを追加することで、ラティスを拡張する。このようなラティスの拡張によって、ＲＮＮ＋Ｐｏｉｎｔｅｒ−Ｇｅｎのモデルは、入力文の単語だけでなく、入力文に含まれるフレーズの省略表現を要約文の要素としてコピーすることができる。
【００３９】
したがって、本実施例によれば、入力文に含まれるフレーズの省略に失敗するのを抑制できる。
【００４０】
［学習装置１０の構成］
図１に示すように、学習装置１０は、学習データ記憶部１１と、モデル記憶部１２と、取得部１３と、省略表現記憶部１４Ａと、ラティス拡張部１４と、エンコーダ実行部１６Ｅと、デコーダ実行部１６Ｄと、算出部１７と、生成部１８と、更新部１９とを有する。なお、学習装置１０は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００４１】
図１に示す取得部１３と、ラティス拡張部１４、エンコーダ実行部１６Ｅ、デコーダ実行部１６Ｄ、算出部１７、生成部１８及び更新部１９などの機能部は、あくまで例示として、下記のハードウェアプロセッサにより仮想的に実現される。このようなプロセッサの例として、ＤＬＵ（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」の略称である。
【００５４】
一実施形態として、エンコーダ実行部１６Ｅは、モデル記憶部１２に記憶されたモデル情報にしたがって、ラティス拡張部１４により拡張された拡張後の学習用入力文のラティスのノード数Ｍに対応するＭ個のＬＳＴＭをワークエリア上に展開する。以下、ラティス拡張部１４により拡張された拡張後のラティスのことを「拡張ラティス」と記載する場合がある。さらに、入力文の単語に対応するノードが直列に接続されることにより生成された初期段階のラティスを拡張ラティスのラベルと区別する側面から「初期ラティス」と記載する場合がある。これによって、Ｍ個のＬＳＴＭのセルをＲＮＮエンコーダとして機能させる。例えば、エンコーダ実行部１６Ｅは、拡張ラティスの先頭のノードから順に、拡張ラティスの先頭からｍ番目のノードに対応する単語や省略表現を当該ｍ番目のノードに対応するＬＳＴＭのセルへ入力する。さらに、エンコーダ実行部１６Ｅは、ｍ−１番目のノードに対応するＬＳＴＭのセルの出力をｍ番目のノードに対応するＬＳＴＭのセルへ入力する。このような入力を先頭のノードに対応するＬＳＴＭのセルから末尾であるＭ番目のノードに対応するＬＳＴＭのセルまで繰り返すことにより、学習用入力文のベクトル、いわゆる隠れ状態が得られる。このようにＲＮＮエンコーダにより生成された学習用入力文の隠れ状態がＲＮＮデコーダへ入力される。
【００５５】
デコーダ実行部１６Ｄは、ＲＮＮデコーダを実行する処理部である。
【００５６】
一実施形態として、デコーダ実行部１６Ｄは、モデル記憶部１２に記憶されたモデル情報にしたがって、正解要約文の単語数Ｎに対応するＮ個のＬＳＴＭのセルをワークエリア上に展開する。これによって、Ｎ個のＬＳＴＭのセルをＲＮＮデコーダとして機能させる。例えば、デコーダ実行部１６Ｄは、ＲＮＮエンコーダにより出力される隠れ状態、ＢＯＳ（Begin  Of  Sentence）と呼ばれる文頭記号のタグおよび上限文字数を正解要約文の先頭の単語に対応するＬＳＴＭのセルに入力する。その後、デコーダ実行部１６Ｄは、正解要約文の先頭からｎ番目の単語に対応するＬＳＴＭのセルに対し、次のような入力を実行する。すなわち、ｎ番目の単語に対応するＬＳＴＭのセルには、正解要約文の先頭からｎ−１番目の単語、ＥＯＳ（End  Of  Sentence）のタグを出力させるまでの残り文字数およびｎ−１番目の単語に対応するＬＳＴＭのセルが更新して出力する隠れ状態が入力される。このようにＮ個のＬＳＴＭのセルを動作させることにより、ＲＮＮデコーダは、Ｎ個のＬＳＭＴのセルごとに単語の生成確率の分布を生成部１８へ出力する。ここで言う「単語」とは、ＲＮＮのモデルが有するモデル辞書に存在する単語のことを指し、例えば、学習サンプル全体で学習用入力文に出現する単語から獲得される。
【００５７】
算出部１７は、拡張ラティスの各ノードの生成確率を算出する処理部である。
【００５８】
あくまで一例として、要約文の先頭からｎ番目の要素、すなわちモデル辞書の単語、あるいは拡張ラティスのノードに対応する単語や短縮表現が生成される場合を例に挙げる。この場合、算出部１７は、拡張ラティスに含まれるＭ個のノードごとに、当該ノードに対応するＲＮＮエンコーダのＬＳＴＭのセルが出力する隠れ状態と、ＲＮＮデコーダのｎ番目のＬＳＴＭのセルが更新する隠れ状態との類似度、例えば内積をスコアとして算出する。その上で、算出部１７は、全てのノードのスコアの総和が「１」となるように各ノードのスコアを正規化する。これによって、正規化後のスコアが生成確率として得られる。
【００５９】
生成部１８は、要約文の要素を生成する処理部である。
【００６０】
一実施形態として、生成部１８は、デコーダ実行部１６Ｄにより実行されるＲＮＮデコーダのｎ番目のＬＳＴＭのセルから出力されるモデル辞書の各単語の生成確率と、算出部１７により算出された拡張ラティスの各ノードの生成確率とを結合する。例えば、生成部１８は、下記の式（１）にしたがってモデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionを線形結合することにより、各要素の生成確率ｐを算出する。このとき、拡張ラティスの各ノードに対応する単語や省略表現のうちモデル辞書にない未知語の生成確率ｐvocabularyの値はゼロとして要素の生成確率ｐが計算される。さらに、単語の生成確率ｐvocabularyおよび拡張ラティスのノードの生成確率ｐattentionには、非特許文献１に記載がある重みを付与して要素の生成確率ｐを計算することもできる。その後、生成部１８は、最大の生成確率ｐを有する要素を要約文の先頭からｎ番目の単語として生成する。
【００６１】
ｐ＝ｐvocabulary＋ｐattention・・・（１）
【００６２】
更新部１９は、モデルのパラメータを更新する処理部である。
【００６３】
一実施形態として、更新部１９は、生成部１８により要約文のｎ番目の単語が生成された場合、正解要約文に含まれる単語のうちｎ番目の単語と、生成部１８により生成されたｎ番目の単語とから損失を算出する。その上で、更新部１９は、ＲＮＮデコーダのＮ個のＬＳＴＭごとに損失が算出された場合、各ＬＳＴＭの損失に基づいて対数尤度の最適化を実行することにより、ＲＮＮのモデルを更新するパラメータを算出する。その上で、更新部１９は、モデル記憶部１２に記憶されたモデルのパラメータを対数尤度の最適化により求められたパラメータに更新する。このパラメータの更新は、全ての学習サンプルにわたって繰り返し実行すると共に、学習データＤについても所定のエポック数にわたって繰り返し実行することができる。
【００６４】
［モデル学習の具体例］
以下、図３〜図７を用いて、モデル学習の具体例を説明しながら従来技術および本実施例における要約文の生成事例を対比する。
【００６５】
図３Ａおよび図３Ｂにモデルに入力する学習サンプルの一例を例示する。図３Ａは、学習用入力文の一例を示す図である。図３Ｂは、正解要約文の一例を示す図である。図４は、初期ラティスの一例を示す図である。図５は、従来技術における要約文の生成事例を示す図である。図６は、拡張ラティスの一例を示す図である。図７は、実施例１に係る要約文の生成事例を示す図である。
【００６６】
図３Ａに示す学習用入力文４０Ｇが入力された場合、図４に示すように、学習用入力文４０Ｇの単語に対応するノードが直列に接続された初期ラティス４１が生成される。
【００６７】
（１）従来技術
ここで、従来技術でモデル学習が行われる場合、初期ラティス４１に基づいてＲＮＮエンコーダのＬＳＴＭのセルが生成される。図４に示す例で言えば、初期ラティス４１の先頭のノード「＜ｓ＞」から順に末尾のノード「＜／ｓ＞」までのノード数Ｍ（＝１１）に対応する１１個のＲＮＮエンコーダのＬＳＴＭ１６Ｅ１〜１６Ｅ１１のセルがワークエリア上に展開される。このようにＬＳＴＭ１６Ｅ１から１６Ｅ１１まで隠し状態を更新しながら伝搬させることにより、ＲＮＮエンコーダから隠れ状態ｈ１１が得られる。
【００６８】
一方、ＲＮＮデコーダのＬＳＴＭのセルは、図５に示すように、図３Ｂに示す正解要約文４０Ｙに含まれる単語数Ｎ（＝７）に対応する７個のＬＳＴＭのセルがワークエリア上に展開される。以下、正解要約文４０Ｙの先頭の単語から順番に各単語に対応してワークエリア上に展開されたＬＳＴＭのセルの各々を「ＬＳＴＭ１６Ｄ１〜ＬＳＴＭ１６Ｄ７」と識別する。
【００６９】
例えば、要約文の先頭の要素が生成される１時刻目ｔ１には、ＲＮＮエンコーダから出力される隠れ状態ｈ１１、ＢＯＳのタグおよび要約文の残り文字数、例えば正解要約文４０Ｙの文字数「８」がＲＮＮデコーダの先頭のＬＳＴＭ１６Ｄ１のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルは、モデル辞書の単語ごとに生成確率を計算することにより、１時刻目ｔ１における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態ｈ１１を隠れ状態ｈ１２へ更新する。
【００７０】
このＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが出力する隠れ状態ｈ１２を用いて、算出部１７は、拡張ラティスに含まれる１１個のノードごとに生成確率を計算する。例えば、初期ラティス４１のノード「全」の生成確率を算出する場合を例に挙げる。この場合、初期ラティス４１のノード「全」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ２のセルが出力する隠れ状態ｈ２と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが更新した隠れ状態ｈ１２との類似度がスコアとして計算される。これと同様に、初期ラティス４１に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【００７１】
その後、生成部１８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「全」を１時刻目ｔ１に出力する。そして、残り文字数の初期値「８」から１時刻目ｔ１に生成された単語「全」の文字数「１」を減算することにより、残り文字数の値を「７」へ更新する。
【００７２】
次に、要約文の先頭の要素が生成される２時刻目ｔ２には、ＲＮＮデコーダの１時刻前のＬＳＴＭ１６Ｄ１エンコーダから出力される隠れ状態ｈ１２、１時刻前の正解の単語「全日連」および要約文の残り文字数「７」がＲＮＮデコーダの先頭から２番目のＬＳＴＭ１６Ｄ２のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルは、モデル辞書の単語ごとに生成確率を計算することにより、２時刻目ｔ２における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態ｈ１２を隠れ状態ｈ１３へ更新する。
【００７３】
このＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルが出力する隠れ状態ｈ１３を用いて、算出部１７は、拡張ラティスに含まれる１１個のノードごとに生成確率を計算する。例えば、初期ラティス４１のノード「日本」の生成確率を算出する場合を例に挙げる。この場合、初期ラティス４１のノード「日本」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ３のセルが出力する隠れ状態ｈ３と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルが更新した隠れ状態ｈ１３との類似度がスコアとして計算される。これと同様に、初期ラティス４１に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【００７４】
その後、生成部１８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「日本」を２時刻目ｔ２に出力する。そして、残り文字数の初期値「７」から２時刻目ｔ２に生成された単語「日本」の文字数「２」を減算することにより、残り文字数の値を「５」へ更新する。
【００７５】
以上の処理がＬＳＴＭ１６Ｄ７から文末記号「ＥＯＳ」が出力される７時刻目ｔ７まで繰り返し実行される。この結果、従来技術では、要約文「全日本連名が中島選出」が得られる。この結果を正解要約文４０Ｙと対比すれば明らかな通り、従来技術では、フレーズ「全日本連名」を省略表現「全日連」と省略すべきところが、フレーズ「全日本連名」をそのまま含む形で要約文が生成されている。このため、従来技術では、フレーズ「全日本連名」から省略表現「全日連」への省略に失敗し、上限文字数「８」を超えていることが明らかである。
【００７６】
（２）本実施例
一方、本実施例でモデル学習が行われる場合、従来技術のように、ＲＮＮエンコーダのＬＳＴＭのセルの生成に初期ラティス４１が用いられない。すなわち、省略表現辞書から学習用入力文４０Ｇの単語トリグラム「全日本連名」に対応する省略表現「全日連」が検索される。これによって、図４に示す初期ラティス４１は、図６に示す拡張ラティス４２へ拡張される。すなわち、図６に反転表示で示された通り、学習用入力文４０Ｇの単語トリグラム「全日本連名」に対応する区間に、学習用入力文４０Ｇの単語トリグラム「全日本連名」にヒットした省略表現「全日連」に対応するノードが追加される。
【００７７】
このような拡張ラティス４２がＲＮＮエンコーダのＬＳＴＭのセルの生成に用いられる。図６に示す例で言えば、拡張ラティス４２の先頭のノード「＜ｓ＞」から順に末尾のノード「＜／ｓ＞」までのノード数Ｍ（＝１２）に対応する１２個のＲＮＮエンコーダのＬＳＴＭ１６Ｅ１〜１６Ｅ１２のセルがワークエリア上に展開される。このようにＬＳＴＭ１６Ｅ１から１６Ｅ１２まで隠し状態を更新しながら伝搬させることにより、ＲＮＮエンコーダから隠れ状態Ｈ１２が得られる。
【００７８】
一方、ＲＮＮデコーダのＬＳＴＭのセルは、図７に示すように、図３Ｂに示された正解要約文４０Ｙに含まれる単語数Ｎ（＝５）に対応する５個のＬＳＴＭのセルがワークエリア上に展開される。以下、正解要約文４０Ｙの先頭の単語から順番に各単語に対応してワークエリア上に展開されたＬＳＴＭのセルの各々を「ＬＳＴＭ１６Ｄ１〜ＬＳＴＭ１６Ｄ５」と識別する。
【００７９】
例えば、要約文の先頭の要素が生成される１時刻目ｔ１には、ＲＮＮエンコーダから出力される隠れ状態Ｈ１２、ＢＯＳのタグおよび要約文の残り文字数、例えば正解要約文４０Ｙの文字数「８」がＲＮＮデコーダの先頭のＬＳＴＭ１６Ｄ１のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルは、モデル辞書の単語ごとに生成確率を計算することにより、１時刻目ｔ１における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１２を隠れ状態Ｈ１３へ更新する。
【００８０】
このＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが出力する隠れ状態Ｈ１３を用いて、算出部１７は、拡張ラティスに含まれる１２個のノードごとに生成確率を計算する。例えば、拡張ラティス４２のノード「全日連」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス４２のノード「全日連」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ５のセルが出力する隠れ状態Ｈ５と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが更新した隠れ状態Ｈ１３との類似度がスコアとして計算される。これと同様に、拡張ラティス４２に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【００８１】
その後、生成部１８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「全日連」を１時刻目ｔ１に出力する。そして、残り文字数の初期値「８」から１時刻目ｔ１に生成された単語「全日連」の文字数「３」を減算することにより、残り文字数の値を「５」へ更新する。
【００８２】
以上の処理がＬＳＴＭ１６Ｄ５から文末記号「ＥＯＳ」が出力される５時刻目ｔ５まで繰り返し実行される。この結果、本実施例では、要約文「全日連が中島選出」が得られる。この結果を正解要約文４０Ｙと対比すれば明らかな通り、本実施例では、フレーズ「全日本連名」を省略表現「全日連」と省略できていることが明らかである。このため、本実施例では、省略表現「全日連」を含む要約文の生成が可能となっている。
【００８３】
［生成装置３０の構成］
図１に示すように、生成装置３０は、取得部３１と、省略表現記憶部３４Ａと、ラティス拡張部３４と、エンコーダ実行部３６Ｅと、デコーダ実行部３６Ｄと、算出部３７と、生成部３８とを有する。なお、生成装置３０は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
【００８４】
図１に示す取得部３１、ラティス拡張部３４、エンコーダ実行部３６Ｅ、デコーダ実行部３６Ｄ、算出部３７および生成部３８などの機能部は、あくまで例示として、下記のハードウェアプロセッサにより仮想的に実現される。このようなプロセッサの例として、ＤＬＵを始め、ＧＰＧＰＵやＧＰＵクラスタなどが挙げられる。この他、ＣＰＵ、ＭＰＵなどが挙げられる。すなわち、プロセッサがＲＡＭ等のメモリ上に上記の要約生成プログラムをプロセスとして展開することにより、上記の機能部が仮想的に実現される。ここでは、プロセッサの一例として、ＤＬＵやＧＰＧＰＵ、ＧＰＵクラスタ、ＣＰＵ、ＭＰＵを例示したが、汎用型および特化型を問わず、任意のプロセッサにより上記の機能部が実現されることとしてもかまわない。この他、上記の機能部は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによって実現されることを妨げない。
【００８５】
また、図１に示す省略表現記憶部３４Ａなどの機能部には、ＨＤＤ、光ディスクやＳＳＤなどの記憶装置を採用できる。なお、記憶装置は、必ずしも補助記憶装置でなくともよく、各種の半導体メモリ素子、例えばＲＡＭ、ＥＰＰＲＯＭやフラッシュメモリなども採用できる。
【００８６】
取得部３３は、入力文を取得する処理部である。
【００８７】
一実施形態として、取得部３３は、要約文生成のリクエストを受け付けた場合に処理を起動する。このように処理が起動されると、取得部３３は、要約文生成の対象とする入力文を取得する。さらに、取得部３３は、学習済みモデルに生成させる要約文の上限文字数の指定を受け付ける。その後、取得部３３は、ＲＮＮデコーダに文末記号と呼ばれるＥＯＳを出力させるまでの残り文字数を保持するレジスタの値を上記の指定の上限文字数に初期化する。
【００８８】
ラティス拡張部３４は、入力文に含まれる単語に対応するノードが直列に接続された初期ラティスを拡張する処理部である。
【００８９】
一実施形態として、ラティス拡張部３４は、取得部３３により入力文が取得された場合、当該入力文のテキストに形態素解析を実行する。このように形態素解析が実行されることによって、入力文が単語列に分割される。続いて、ラティス拡張部３４は、入力文の単語に対応するノードが直列に接続された初期ラティスを生成する。
【００９０】
このように初期ラティスが生成された後、ラティス拡張部３４は、省略表現記憶部３４Ａに保存された省略表現辞書を用いてラティスを拡張する。例えば、ラティス拡張部３４は、入力文の単語列のうち所定数の単語列、例えば単語Ｎ−ｇｒａｍを抽出する。続いて、ラティス拡張部３４は、上記の省略表現辞書から入力文の単語Ｎ−ｇｒａｍに対応する省略表現を検索する。なお、省略表現記憶部３４Ａに保存される省略表現辞書は、省略表現記憶部１４Ａに保存される省略表現辞書と同一のものであってもかまわない。このような省略表現辞書の下、入力文の単語Ｎ−ｇｒａｍにヒットする省略表現が存在する場合、ラティス拡張部３４は、次のような処理を実行する。すなわち、ラティス拡張部３４は、ラティスのうち入力文の単語Ｎ−ｇｒａｍに対応する区間に、入力文の単語Ｎ−ｇｒａｍにヒットした省略表現に対応するノードを追加する。このような省略表現に対応するノードの追加によって、入力文の拡張ラティスが得られる。
【００９１】
エンコーダ実行部３６Ｅは、ＲＮＮエンコーダを実行する処理部である。
【００９２】
一実施形態として、エンコーダ実行部３６Ｅは、モデル記憶部１２に記憶された学習済みモデルのモデル情報にしたがって、ラティス拡張部３４により拡張された拡張ラティスのノード数Ｋに対応するＫ個のＬＳＴＭをワークエリア上に展開する。これによって、Ｋ個のＬＳＴＭのセルをＲＮＮエンコーダとして機能させる。例えば、エンコーダ実行部３６Ｅは、拡張ラティスの先頭のノードから順に、拡張ラティスの先頭からｋ番目のノードに対応する単語や省略表現を当該ｋ番目のノードに対応するＬＳＴＭのセルへ入力する。さらに、エンコーダ実行部３６Ｅは、ｋ−１番目のノードに対応するＬＳＴＭのセルの出力をｋ番目のノードに対応するＬＳＴＭのセルへ入力する。このような入力を先頭のノードに対応するＬＳＴＭのセルから末尾であるＫ番目のノードに対応するＬＳＴＭのセルまで繰り返すことにより、入力文のベクトル、いわゆる隠れ状態が得られる。このようにＲＮＮエンコーダにより生成された入力文の隠れ状態がＲＮＮデコーダへ入力される。
【００９３】
デコーダ実行部３６Ｄは、ＲＮＮデコーダを実行する処理部である。
【００９４】
一実施形態として、デコーダ実行部３６Ｄは、モデル記憶部１２に記憶された学習済みモデルのモデル情報にしたがって、ＥＯＳのタグが出力されるまでＬＳＴＭのセルをワークエリア上に展開する。これによって、ＥＯＳのタグが出力されるまで展開されたＬ個のＬＳＴＭのセルをＲＮＮデコーダとして機能させる。例えば、デコーダ実行部３６Ｄは、ＲＮＮエンコーダにより出力される隠れ状態、ＢＯＳのタグおよび上限文字数を先頭のＬＳＴＭのセルに入力する。その後、デコーダ実行部３６Ｄは、要約文の先頭からｌ番目の要素に対応するＬＳＴＭのセルに対し、次のような入力を実行する。すなわち、ｌ番目の要素に対応するＬＳＴＭのセルには、要約文のうち先頭からｌ−１番目に生成された要素、ＥＯＳのタグを出力させるまでの残り文字数およびｌ−１番目の要素に対応するＬＳＴＭのセルが更新する隠れ状態が入力される。このようにＬ個のＬＳＴＭのセルを動作させることにより、ＲＮＮデコーダは、Ｌ個のＬＳＭＴのセルごとに単語の生成確率の分布を生成部３８へ出力する。ここで言う「単語」とは、ＲＮＮの学習済みモデルが有するモデル辞書に存在する単語のことを指し、例えば、モデル学習時に学習サンプル全体で学習用入力文に出現する単語から獲得される。
【００９５】
算出部３７は、拡張ラティスの各ノードの生成確率を算出する処理部である。
【００９６】
あくまで一例として、要約文の先頭からｋ番目の要素、すなわちモデル辞書の単語、あるいは拡張ラティスのノードに対応する単語や短縮表現が生成される場合を例に挙げる。この場合、算出部３７は、拡張ラティスに含まれるＫ個のノードごとに、当該ノードに対応するＲＮＮエンコーダのＬＳＴＭのセルが出力する隠れ状態と、ＲＮＮデコーダのｋ番目のＬＳＴＭのセルが更新する隠れ状態との類似度、例えば内積をスコアとして算出する。その上で、算出部３７は、全てのノードのスコアの総和が「１」となるように各ノードのスコアを正規化する。これによって、正規化後のスコアが生成確率として得られる。
【００９７】
生成部３８は、要約文の要素を生成する処理部である。
【００９８】
一実施形態として、生成部３８は、デコーダ実行部３６Ｄにより実行されるＲＮＮデコーダのｌ番目のＬＳＴＭのセルから出力されるモデル辞書の各単語の生成確率と、算出部３７により算出された拡張ラティスの各ノードの生成確率とを結合する。例えば、生成部３８は、上記の式（１）にしたがってモデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionを線形結合することにより、各要素の生成確率ｐを算出する。このとき、拡張ラティスの各ノードに対応する単語や省略表現のうちモデル辞書にない未知語の生成確率ｐvocabularyの値はゼロとして要素の生成確率ｐが計算される。さらに、単語の生成確率ｐvocabularyおよび拡張ラティスのノードの生成確率ｐattentionには、非特許文献１に記載がある重みを付与して要素の生成確率ｐを計算することもできる。その後、生成部３８は、最大の生成確率ｐを有する要素を要約文の先頭からｌ番目の単語として生成する。
【００９９】
［要約文生成の具体例］
以下、図８及び図９を用いて、要約文生成の具体例を説明する。ここでは、図３Ａに示された学習用入力文４０Ｇと類似する入力文「全日本連名が山田を代表に選出」が入力される例を挙げる。
【０１００】
図８は、拡張ラティスの一例を示す図である。図９は、実施例１に係る要約文の生成事例を示す図である。
【０１０１】
入力文「全日本連名が山田を代表に選出」が入力された場合、入力文「全日本連名が山田を代表に選出」の単語に対応するノードが直列に接続された初期ラティスが生成される。
【０１０２】
ここで、本実施例で要約文生成が行われる場合、従来技術のように、ＲＮＮエンコーダのＬＳＴＭのセルの生成に初期ラティスが用いられない。すなわち、省略表現辞書から入力文の単語トリグラム「全日本連名」に対応する省略表現「全日連」が検索される。これによって、入力文から生成された初期ラティスは、図８に示す拡張ラティス６２へ拡張される。すなわち、図８に反転表示で示された通り、入力文の単語トリグラム「全日本連名」に対応する区間に、入力文の単語トリグラム「全日本連名」にヒットした省略表現「全日連」に対応するノードが追加される。
【０１０３】
このような拡張ラティス６２がＲＮＮエンコーダのＬＳＴＭのセルの生成に用いられる。図８に示す例で言えば、拡張ラティス６２の先頭のノード「＜ｓ＞」から順に末尾のノード「＜／ｓ＞」までのノード数Ｋ（＝１２）に対応する１２個のＲＮＮエンコーダのＬＳＴＭ３６Ｅ１〜３６Ｅ１２のセルがワークエリア上に展開される。このようにＬＳＴＭ３６Ｅ１から３６Ｅ１２まで隠し状態を更新しながら伝搬させることにより、ＲＮＮエンコーダから隠れ状態Ｈ１２が得られる。
【０１０４】
一方、ＲＮＮデコーダのＬＳＴＭのセルは、図９に示すように、ＥＯＳのタグが出力されるまでの要約文の要素数Ｌ（＝５）に対応する５個のＬＳＴＭのセルがワークエリア上に展開される。以下、要約文の先頭の要素から順番に各要素に対応してワークエリア上に展開されたＬＳＴＭのセルの各々を「ＬＳＴＭ３６Ｄ１〜ＬＳＴＭ３６Ｄ５」と識別する。
【０１０５】
例えば、要約文の先頭の要素が生成される１時刻目ｔ１には、ＲＮＮエンコーダから出力される隠れ状態Ｈ１２、ＢＯＳのタグおよび要約文の残り文字数「８」がＲＮＮデコーダの先頭のＬＳＴＭ３６Ｄ１のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルは、モデル辞書の単語ごとに生成確率を計算することにより、１時刻目ｔ１における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１２を隠れ状態Ｈ１３へ更新する。
【０１０６】
このＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルが出力する隠れ状態Ｈ１３を用いて、算出部１７は、拡張ラティスに含まれる１２個のノードごとに生成確率を計算する。例えば、拡張ラティス６２のノード「全日連」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス６２のノード「全日連」に対応するＲＮＮエンコーダのＬＳＴＭ３６Ｅ５のセルが出力する隠れ状態Ｈ５と、ＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルが更新した隠れ状態Ｈ１３との類似度がスコアとして計算される。これと同様に、拡張ラティス６２に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１０７】
その後、生成部３８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティス６２の各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「全日連」を１時刻目ｔ１に出力する。そして、残り文字数の初期値「８」から１時刻目ｔ１に生成された単語「全日連」の文字数「３」を減算することにより、残り文字数の値を「５」へ更新する。
【０１０８】
以上の処理がＬＳＴＭ３６Ｄ５から文末記号「ＥＯＳ」が出力される５時刻目ｔ５まで繰り返し実行される。この結果、本実施例では、要約文「全日連が中島選出」が得られる。この結果から明らかな通り、本実施例では、フレーズ「全日本連名」を省略表現「全日連」と省略できていることが明らかである。このため、本実施例では、省略表現「全日連」を含む要約文の生成が可能となっている。
【０１０９】
［処理の流れ］
次に、本実施例に係るシステムの処理の流れについて説明する。ここでは、学習装置１０により実行される（Ａ）学習処理について説明した後に、生成装置３０により実行される（Ｂ）生成処理について説明し、学習処理および生成処理のサブルーチンとして実行される（Ｃ）ラティス拡張処理について説明することとする。
【０１１０】
（Ａ）学習処理
図１０は、実施例１に係る学習処理の手順を示すフローチャートである。この学習処理は、一例として、モデル学習のリクエストを受け付けた場合に開始される。図１０に示すように、取得部１３は、モデルに生成させる要約文の上限文字数を設定する（ステップＳ１０１）。続いて、学習データに含まれるＤ個の学習サンプルｄごとに、ステップＳ１０２〜ステップＳ１１２の処理が実行される。
【０１１１】
すなわち、取得部１３は、学習データ記憶部１１に記憶された学習データのうち学習サンプルｄを１つ取得する（ステップＳ１０２）。続いて、ラティス拡張部１４は、ステップＳ１０２で取得された学習サンプルｄに含まれる学習用入力文の各単語に対応するノードが直列に接続された初期ラティスを生成する（ステップＳ１０３）。
【０１１２】
その後、ラティス拡張部１４は、省略表現辞書や学習サンプルｄに含まれる入力文などを用いてステップＳ１０３で生成された初期ラティスを拡張する「ラティス拡張処理」を実行する（ステップＳ１０４）。
【０１１３】
続いて、エンコーダ実行部１６Ｅは、ステップＳ１０４で得られた拡張ラティスを拡張ラティスのノード数Ｍに対応するＭ個のＬＳＴＭのセルが展開されたＲＮＮエンコーダへ入力することにより、拡張ラティスをエンコードする（ステップＳ１０５）。これによって、拡張ラティスのベクトル、いわゆる隠れ状態が得られる。
【０１１４】
そして、取得部１３は、ＲＮＮデコーダにＥＯＳのタグを出力させるまでの残り文字数を保持するレジスタの値をステップＳ１０１で設定された上限文字数に初期化する（ステップＳ１０６）。
【０１１５】
その後、正解要約文のＮ個の単語の先頭から順の各時刻ごとに、ステップＳ１０７〜ステップＳ１１１の処理が実行される。
【０１１６】
すなわち、デコーダ実行部１６Ｄは、レジスタに保持された残り文字数と、ＢＯＳのタグもしくは１時刻前の正解の単語と、１時刻前に対応するＬＳＴＭのセルが出力する隠れ状態とをＲＮＮデコーダのうち現時刻に対応するＬＳＴＭのセルへ入力する（ステップＳ１０７Ａ）。これによって、現時刻におけるモデル辞書の各単語の生成確率が算出されると共に、隠し状態が更新される。
【０１１７】
また、算出部１７は、拡張ラティスに含まれるＭ個のノードごとに当該ノードに対応するＲＮＮエンコーダのＬＳＴＭのセルが出力する隠れ状態と、ＲＮＮデコーダのｎ番目のＬＳＴＭのセルが更新する隠れ状態とに基づいて生成確率を算出する（ステップＳ１０７Ｂ）。
【０１１８】
そして、生成部１８は、モデル辞書の各単語の生成確率および拡張ラティスの各ノードの生成確率を線形結合することにより、各要素の生成確率を算出する（ステップＳ１０８）。その上で、生成部１８は、最大の生成確率を有する要素を生成する（ステップＳ１０９）。
【０１１９】
続いて、更新部１９は、正解要約文に含まれる単語のうち現時刻に対応する単語と、ステップＳ１０９で生成された要素とから現時刻における損失を算出する（ステップＳ１１０）。
【０１２０】
その後、取得部１３は、レジスタに保持された残り文字数からステップＳ１０９で生成された要素の文字数を減算することにより、レジスタの残り文字数の値を更新する（ステップＳ１１１）。
【０１２１】
そして、正解要約文のＮ個の単語ごとに損失が算出されると、更新部１９は、各ＬＳＴＭの損失に基づいて対数尤度の最適化を実行することにより、ＲＮＮデコーダのモデルを更新するパラメータを算出した上で、モデル記憶部１２に記憶されたモデルのパラメータを更新する（ステップＳ１１２）。
【０１２２】
その後、学習データに含まれる全ての学習サンプルｄについてモデルのパラメータの更新が実行されると、学習装置１０は、学習済みモデルを生成装置３０へ出力し（ステップＳ１１３）、処理を終了する。
【０１２３】
（Ｂ）生成処理
図１１は、実施例１に係る生成処理の手順を示すフローチャートである。この生成処理は、一例として、要約文生成のリクエストを受け付けた場合に開始される。図１１に示すように、取得部３３は、入力文と共に学習済みモデルに生成させる要約文の上限文字数の指定を取得する（ステップＳ３０１）。
【０１２４】
続いて、ラティス拡張部３４は、ステップＳ３０１で取得された入力文の各単語に対応するノードが直列に接続された初期ラティスを生成する（ステップＳ３０２）。
【０１２５】
その後、ラティス拡張部３４は、省略表現辞書を用いてステップＳ３０２で生成された初期ラティスを拡張する「ラティス拡張処理」を実行する（ステップＳ３０３）。
【０１２６】
続いて、エンコーダ実行部３６Ｅは、ステップＳ３０３で得られた拡張ラティスを拡張ラティスのノード数Ｋに対応するＫ個のＬＳＴＭのセルが展開されたＲＮＮエンコーダへ入力することにより、拡張ラティスをエンコードする（ステップＳ３０４）。これによって、拡張ラティスのベクトル、いわゆる隠れ状態が得られる。
【０１２７】
そして、取得部３３は、ＲＮＮデコーダにＥＯＳのタグを出力させるまでの残り文字数を保持するレジスタの値をステップＳ３０１で取得された上限文字数に初期化する（ステップＳ３０５）。
【０１２８】
その後、ＲＮＮデコーダからＥＯＳのタグが出力されるまで、ステップＳ３０６〜ステップＳ３０９の処理が実行される。
【０１２９】
すなわち、デコーダ実行部３６Ｄは、レジスタに保持された残り文字数と、ＢＯＳのタグもしくは１時刻前に生成された要素と、１時刻前に対応するＬＳＴＭのセルが出力する隠れ状態とをＲＮＮデコーダのうち現時刻に対応するＬＳＴＭのセルへ入力する（ステップＳ３０６Ａ）。これによって、現時刻におけるモデル辞書の各単語の生成確率が算出されると共に隠し状態が更新される。
【０１３０】
また、算出部３７は、拡張ラティスに含まれるＫ個のノードごとに当該ノードに対応するＲＮＮエンコーダのＬＳＴＭのセルが出力する隠れ状態と、ＲＮＮデコーダのｌ番目のＬＳＴＭのセルが更新する隠れ状態とに基づいて生成確率を算出する（ステップＳ３０６Ｂ）。
【０１３１】
そして、生成部３８は、モデル辞書の各単語の生成確率および拡張ラティスの各ノードの生成確率を線形結合することにより、各要素の生成確率を算出する（ステップＳ３０７）。その上で、生成部３８は、最大の生成確率を有する要素を生成する（ステップＳ３０８）。
【０１３２】
続いて、取得部３３は、レジスタに保持された残り文字数からステップＳ３０８で生成された単語の文字数を減算することにより、レジスタの残り文字数の値を更新する（ステップＳ３０９）。
【０１３３】
そして、ＲＮＮデコーダからＥＯＳのタグが出力されると、生成部３８は、先頭のＬＳＴＭのセルからＬ番目のＬＳＴＭのセルまでに生成された要素を結合することにより要約文を生成して要約文を所定の出力先へ出力し（ステップＳ３１０）、処理を終了する。
【０１３４】
（Ｃ）ラティス拡張処理
図１２は、実施例１に係るラティス拡張処理の手順を示すフローチャートである。この処理は、図１０に示されたステップＳ１０４の処理または図１１に示されたステップＳ３０３の処理に対応する。なお、図１０に示されたステップＳ１０４では、正解要約文が取得されるので、ステップＳ５０１ＡからステップＳ５０３Ａまでの処理に加えてステップＳ５０１ＢからステップＳ５０４Ｂまでの処理が行われる。一方、図１１に示されたステップＳ３０３では、正解要約文は未知であるので、ステップＳ５０１ＢからステップＳ５０４Ｂまでの処理は行われず、ステップＳ５０１ＡからステップＳ５０３Ａまでの処理だけが行われる。
【０１３５】
まず、ステップＳ５０１ＡからステップＳ５０３Ａまでの処理について説明する。図１２に示すように、ラティス拡張部１４またはラティス拡張部３４は、省略表現辞書の検索に用いる単語列の先頭位置を指定する変数ｉが学習用入力文または入力文の先頭位置「１」から学習用入力文の末尾位置「Ｍ」又は入力文の末尾位置「Ｋ」までインクリメントされるまで、ステップＳ５０１ＡからステップＳ５０３Ａまでの処理を繰り返す。このとき、ラティス拡張部１４またはラティス拡張部３４は、省略表現辞書の検索に用いる単語列の末尾位置を指定する変数ｊの値をｉ＋１の値に初期化し、変数ｊがｉ＋１＋Ｕの値になるまで、変数ｊをインクリメントしながらステップＳ５０１ＡからステップＳ５０３Ａまでの処理を繰り返す。なお、「Ｕ」は、単語列に含まれる単語数の上限値を指す。
【０１３６】
このうち、ステップＳ５０１Ａでは、学習用入力文または入力文のうち変数ｉの位置から変数ｊの位置までの単語列に対応する省略表現が省略表現辞書から検索される。このとき、変数ｉの位置から変数ｊの位置までの単語列にヒットする省略表現が存在する場合（ステップＳ５０２Ａ  Ｙｅｓ）、ラティス拡張部１４またはラティス拡張部３４は、ラティスのうち変数ｉの位置から変数ｊの位置までの単語列に対応する区間に、変数ｉの位置から変数ｊの位置までの単語列にヒットした省略表現に対応するノードを追加する（ステップＳ５０３Ａ）。
【０１３７】
一方、ステップＳ５０１ＢからステップＳ５０４Ｂまでの処理について説明する。ラティス拡張部１４は、学習サンプルに含まれる入力文から固有表現を抽出する（ステップＳ５０１Ｂ）。このように入力文から抽出された固有表現ごとに、ステップＳ５０２ＢからステップＳ５０４Ｂまでの処理を繰り返す。すなわち、ラティス拡張部１４は、上記の省略表現辞書から固有表現に対応する省略表現を検索する（ステップＳ５０２Ｂ）。このとき、固有表現にヒットする省略表現が存在する場合（ステップＳ５０３Ｂ  Ｙｅｓ）、ラティス拡張部１４は、ラティスのうち固有表現に対応する区間に、固有表現にヒットした省略表現に対応するノードを追加する（ステップＳ５０４Ｂ）。
【０１３８】
［効果の一側面］
上述してきたように、本実施例に係る学習装置１０及び生成装置３０は、入力文の単語に対応するノードを直列に接続したラティスのうち所定の表現に対応する区間のノードを拡張し、拡張後のラティスの各ノードの生成確率とモデル辞書の各単語の生成確率とに基づいて要約文の要素を出力する。したがって、本実施例に係る学習装置１０及び生成装置３０によれば、入力文に含まれるフレーズの省略に失敗するのを抑制することが可能である。
【実施例２】
【０１３９】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１４０】
［拡張方法の応用例１］
上記の実施例１では、ラティスの拡張時に学習用入力文または入力文の単語Ｎ−ｇｒａｍにヒットした省略表現に対応するノードを追加する例を挙げたが、ラティスの拡張時に追加するノードは必ずしも省略表現そのものに対応するノードでなくともかまわない。例えば、ラティス拡張部１４またはラティス拡張部３４は、学習用入力文または入力文の単語Ｎ−ｇｒａｍに対応する省略表現がヒットすることを条件に、学習用入力文または入力文の単語Ｎ−ｇｒａｍに含まれる各文字に対応するノードを追加することとしてもかまわない。
【０１４１】
このような拡張方法を採用する場合、図１２に示されたラティス拡張処理を図１３に示されたラティス拡張処理に差し替えることで、上記の実施例１と同様、入力文に含まれるフレーズの省略に失敗するのを抑制できる。
【０１４２】
図１３は、応用例１に係るラティス拡張処理の手順を示すフローチャートである。この処理は、図１０に示されたステップＳ１０４の処理または図１１に示されたステップＳ３０３の処理に対応する。なお、図１０に示されたステップＳ１０４では、正解要約文が取得されるので、ステップＳ６０１ＡからステップＳ６０３Ａまでの処理に加えてステップＳ６０１ＢからステップＳ６０４Ｂまでの処理が行われる。一方、図１１に示されたステップＳ３０３では、正解要約文は未知であるので、ステップＳ６０１ＢからステップＳ６０４Ｂまでの処理は行われず、ステップＳ６０１ＡからステップＳ６０３Ａまでの処理だけが行われる。
【０１４３】
まず、ステップＳ６０１ＡからステップＳ６０３Ａまでの処理について説明する。図１３に示すように、ラティス拡張部１４またはラティス拡張部３４は、省略表現辞書の検索に用いる単語列の先頭位置を指定する変数ｉが学習用入力文または入力文の先頭位置「１」から学習用入力文の末尾位置「Ｍ」又は入力文の末尾位置「Ｋ」までインクリメントされるまで、ステップＳ６０１ＡからステップＳ６０３Ａまでの処理を繰り返す。このとき、ラティス拡張部１４またはラティス拡張部３４は、省略表現辞書の検索に用いる単語列の末尾位置を指定する変数ｊの値をｉ＋１の値に初期化し、変数ｊがｉ＋１＋Ｕの値になるまで、変数ｊをインクリメントしながらステップＳ６０１ＡからステップＳ６０３Ａまでの処理を繰り返す。なお、「Ｕ」は、単語列に含まれる単語数の上限値を指す。
【０１４４】
このうち、ステップＳ６０１Ａでは、学習用入力文または入力文のうち変数ｉの位置から変数ｊの位置までの単語列に対応する省略表現が省略表現辞書から検索される。このとき、変数ｉの位置から変数ｊの位置までの単語列にヒットする省略表現が存在する場合（ステップＳ６０２Ａ  Ｙｅｓ）、ラティス拡張部１４またはラティス拡張部３４は、ラティスのうち変数ｉの位置から変数ｊの位置までの単語列に対応する区間に、変数ｉの位置から変数ｊの位置までの単語列に含まれる各文字に対応するノードを追加する（ステップＳ６０３Ａ）。
【０１４５】
一方、ステップＳ６０１ＢからステップＳ６０４Ｂまでの処理について説明する。ラティス拡張部１４は、学習サンプルに含まれる入力文から固有表現を抽出する（ステップＳ６０１Ｂ）。このように入力文から抽出された固有表現ごとに、ステップＳ６０２ＢからステップＳ６０４Ｂまでの処理を繰り返す。すなわち、ラティス拡張部１４は、上記の省略表現辞書から固有表現に対応する省略表現を検索する（ステップＳ６０２Ｂ）。このとき、固有表現にヒットする省略表現が存在する場合（ステップＳ６０３Ｂ  Ｙｅｓ）、ラティス拡張部１４は、ラティスのうち固有表現に対応する区間に、固有表現に含まれる各文字に対応するノードを追加する（ステップＳ６０４Ｂ）。
【０１４６】
（１）モデル学習の具体例
以下、図１４〜図１５を用いて、モデル学習の具体例を説明しながら応用例１における要約文の生成事例を説明する。ここでは、学習サンプルの一例として、図３Ａおよび図３Ｂに示された学習サンプルが用いられる例を挙げて説明を行うこととする。
【０１４７】
図１４は、拡張ラティスの一例を示す図である。図１５は、応用例１に係る要約文の生成事例を示す図である。
【０１４８】
図３Ａに示す学習用入力文４０Ｇが入力された場合、図４に示すように、学習用入力文４０Ｇの単語に対応するノードが直列に接続された初期ラティス４１が生成される。
【０１４９】
ここで、応用例１においても、従来技術のように、ＲＮＮエンコーダのＬＳＴＭのセルの生成に初期ラティス４１は用いられない。すなわち、省略表現辞書から学習用入力文４０Ｇの単語トリグラム「全日本連名」に対応する省略表現「全日連」が検索される。これによって、図４に示す初期ラティス４１は、図１４に示す拡張ラティス４３へ拡張される。すなわち、図１４に反転表示で示された通り、学習用入力文４０Ｇの単語トリグラム「全日本連名」に対応する区間に、学習用入力文４０Ｇの単語トリグラム「全日本連名」に含まれる各文字「全」、「日」、「本」、「連」及び「盟」に対応するノードが追加される。
【０１５０】
このような拡張ラティス４３がＲＮＮエンコーダのＬＳＴＭのセルの生成に用いられる。図１４に示す例で言えば、拡張ラティス４３の先頭のノード「＜ｓ＞」から順に末尾のノード「＜／ｓ＞」までのノード数Ｍ（＝１５）に対応する１５個のＲＮＮエンコーダのＬＳＴＭ１６Ｅ１〜１６Ｅ１５のセルがワークエリア上に展開される。このようにＬＳＴＭ１６Ｅ１から１６Ｅ１５まで隠し状態を更新しながら伝搬させることにより、ＲＮＮエンコーダから隠れ状態Ｈ１５が得られる。
【０１５１】
一方、ＲＮＮデコーダのＬＳＴＭのセルは、図１５に示すように、図３Ｂに示された正解要約文４０Ｙに含まれる単語数Ｎ（＝７）に対応する７個のＬＳＴＭのセルがワークエリア上に展開される。以下、正解要約文４０Ｙの先頭の単語から順番に各単語に対応してワークエリア上に展開されたＬＳＴＭのセルの各々を「ＬＳＴＭ１６Ｄ１〜ＬＳＴＭ１６Ｄ７」と識別する。
【０１５２】
例えば、要約文の先頭の要素が生成される１時刻目ｔ１には、ＲＮＮエンコーダから出力される隠れ状態Ｈ１５、ＢＯＳのタグおよび要約文の残り文字数、例えば正解要約文４０Ｙの文字数「８」がＲＮＮデコーダの先頭のＬＳＴＭ１６Ｄ１のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルは、モデル辞書の単語ごとに生成確率を計算することにより、１時刻目ｔ１における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１５を隠れ状態Ｈ１６へ更新する。
【０１５３】
このＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが出力する隠れ状態Ｈ１６を用いて、算出部１７は、拡張ラティス４３に含まれる１５個のノードごとに生成確率を計算する。例えば、拡張ラティス４３の追加ノード「日」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス４３のノード「日」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ５のセルが出力する隠れ状態Ｈ５と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが更新した隠れ状態Ｈ１６との類似度がスコアとして計算される。また、拡張ラティス４３の追加ノード「連」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス４３のノード「連」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ７のセルが出力する隠れ状態Ｈ７と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが更新した隠れ状態Ｈ１６との類似度がスコアとして計算される。これらと同様に、拡張ラティス４３に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１５４】
その後、生成部１８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「全」を１時刻目ｔ１に出力する。そして、残り文字数の初期値「８」から１時刻目ｔ１に生成された単語「全」の文字数「１」を減算することにより、残り文字数の値を「７」へ更新する。
【０１５５】
次に、要約文の先頭の要素が生成される２時刻目ｔ２には、ＲＮＮエンコーダから出力される隠れ状態Ｈ１６、１時刻目ｔ１の正解の単語「全日連」および要約文の残り文字数「７」がＲＮＮデコーダの先頭のＬＳＴＭ１６Ｄ２のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルは、モデル辞書の単語ごとに生成確率を計算することにより、２時刻目ｔ２における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１６を隠れ状態Ｈ１７へ更新する。
【０１５６】
このＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルが出力する隠れ状態Ｈ１７を用いて、算出部１７は、拡張ラティス４３に含まれる１５個のノードごとに生成確率を計算する。例えば、拡張ラティス４３の追加ノード「日」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス４３のノード「日」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ５のセルが出力する隠れ状態Ｈ５と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルが更新した隠れ状態Ｈ１７との類似度がスコアとして計算される。また、拡張ラティス４３の追加ノード「連」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス４３のノード「連」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ７のセルが出力する隠れ状態Ｈ７と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルが更新した隠れ状態Ｈ１７との類似度がスコアとして計算される。これらと同様に、拡張ラティス４３に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１５７】
その後、生成部１８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「日」を２時刻目ｔ２に出力する。そして、残り文字数「７」から２時刻目ｔ２に生成された単語「日」の文字数「１」を減算することにより、残り文字数の値を「６」へ更新する。
【０１５８】
次に、要約文の先頭の要素が生成される３時刻目ｔ３には、ＲＮＮエンコーダから出力される隠れ状態Ｈ１７、２時刻目ｔ２の正解の単語「が」および要約文の残り文字数「６」がＲＮＮデコーダの先頭のＬＳＴＭ１６Ｄ３のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ１６Ｄ３のセルは、モデル辞書の単語ごとに生成確率を計算することにより、３時刻目ｔ３における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１７を隠れ状態Ｈ１８へ更新する。
【０１５９】
このＲＮＮデコーダのＬＳＴＭ１６Ｄ３のセルが出力する隠れ状態Ｈ１８を用いて、算出部１７は、拡張ラティス４３に含まれる１５個のノードごとに生成確率を計算する。例えば、拡張ラティス４３の追加ノード「日」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス４３のノード「日」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ５のセルが出力する隠れ状態Ｈ５と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ３のセルが更新した隠れ状態Ｈ１８との類似度がスコアとして計算される。また、拡張ラティス４３の追加ノード「連」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス４３のノード「連」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ７のセルが出力する隠れ状態Ｈ７と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ３のセルが更新した隠れ状態Ｈ１８との類似度がスコアとして計算される。これらと同様に、拡張ラティス４３に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１６０】
その後、生成部１８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「連」を３時刻目ｔ３に出力する。そして、残り文字数「６」から３時刻目ｔ３に生成された単語「連」の文字数「１」を減算することにより、残り文字数の値を「５」へ更新する。
【０１６１】
以上の処理がＬＳＴＭ１６Ｄ７から文末記号「ＥＯＳ」が出力される７時刻目ｔ７まで繰り返し実行される。この結果、応用例１においても、要約文「全日連が中島選出」が得られる。この結果を正解要約文４０Ｙと対比すれば明らかな通り、応用例１では、フレーズ「全日本連名」を省略表現「全日連」と省略できていることが明らかである。このため、応用例１では、省略表現「全日連」を含む要約文の生成が可能となっている。
【０１６２】
（２）要約文生成の具体例
以下、図１６及び図１７を用いて、要約文生成の具体例を説明する。ここでは、図３Ａに示された学習用入力文４０Ｇと類似する入力文「全日本連名が山田を代表に選出」が入力される例を挙げる。
【０１６３】
図１６は、拡張ラティスの一例を示す図である。図１７は、応用例１に係る要約文の生成事例を示す図である。
【０１６４】
入力文「全日本連名が山田を代表に選出」が入力された場合、入力文「全日本連名が山田を代表に選出」の単語に対応するノードが直列に接続された初期ラティスが生成される。
【０１６５】
ここで、応用例１で要約文生成が行われる場合、従来技術のように、ＲＮＮエンコーダのＬＳＴＭのセルの生成に初期ラティスが用いられない。すなわち、省略表現辞書から入力文の単語トリグラム「全日本連名」に対応する省略表現「全日連」が検索される。これによって、入力文から生成された初期ラティスは、図１６に示す拡張ラティス６３へ拡張される。すなわち、図１６に反転表示で示された通り、入力文の単語トリグラム「全日本連名」に対応する区間に、入力文の単語トリグラム「全日本連名」に含まれる各文字「全」、「日」、「本」、「連」及び「盟」に対応するノードが追加される。
【０１６６】
このような拡張ラティス６３がＲＮＮエンコーダのＬＳＴＭのセルの生成に用いられる。図１６に示す例で言えば、拡張ラティス６３の先頭のノード「＜ｓ＞」から順に末尾のノード「＜／ｓ＞」までのノード数Ｍ（＝１５）に対応する１５個のＲＮＮエンコーダのＬＳＴＭ３６Ｅ１〜３６Ｅ１５のセルがワークエリア上に展開される。このようにＬＳＴＭ３６Ｅ１から３６Ｅ１５まで隠し状態を更新しながら伝搬させることにより、ＲＮＮエンコーダから隠れ状態Ｈ１５が得られる。
【０１６７】
一方、ＲＮＮデコーダのＬＳＴＭのセルは、図１７に示すように、ＥＯＳのタグが出力されるまでの要約文の要素数Ｌ（＝７）に対応する７個のＬＳＴＭのセルがワークエリア上に展開される。以下、要約文の先頭の要素から順番に各単語に対応してワークエリア上に展開されたＬＳＴＭのセルの各々を「ＬＳＴＭ３６Ｄ１〜ＬＳＴＭ３６Ｄ７」と識別する。
【０１６８】
例えば、要約文の先頭の要素が生成される１時刻目ｔ１には、ＲＮＮエンコーダから出力される隠れ状態Ｈ１５、ＢＯＳのタグおよび要約文の残り文字数「８」がＲＮＮデコーダの先頭のＬＳＴＭ３６Ｄ１のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルは、モデル辞書の単語ごとに生成確率を計算することにより、１時刻目ｔ１における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１５を隠れ状態Ｈ１６へ更新する。
【０１６９】
このＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルが出力する隠れ状態Ｈ１６を用いて、算出部３７は、拡張ラティス６３に含まれる１５個のノードごとに生成確率を計算する。例えば、拡張ラティス６３の追加ノード「日」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス６３のノード「日」に対応するＲＮＮエンコーダのＬＳＴＭ３６Ｅ５のセルが出力する隠れ状態Ｈ５と、ＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルが更新した隠れ状態Ｈ１６との類似度がスコアとして計算される。また、拡張ラティス６３の追加ノード「連」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス６３のノード「連」に対応するＲＮＮエンコーダのＬＳＴＭ３６Ｅ７のセルが出力する隠れ状態Ｈ７と、ＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルが更新した隠れ状態Ｈ１６との類似度がスコアとして計算される。これらと同様に、拡張ラティス６３に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１７０】
その後、生成部３８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「全」を１時刻目ｔ１に出力する。そして、残り文字数の初期値「８」から１時刻目ｔ１に生成された単語「全」の文字数「１」を減算することにより、残り文字数の値を「７」へ更新する。
【０１７１】
次に、要約文の先頭の要素が生成される２時刻目ｔ２には、１時刻目ｔ１に更新された隠れ状態Ｈ１６、１時刻目ｔ１に生成された要素「全」および要約文の残り文字数「７」がＲＮＮデコーダの先頭のＬＳＴＭ３６Ｄ２のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ３６Ｄ２のセルは、モデル辞書の単語ごとに生成確率を計算することにより、２時刻目ｔ２における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１６を隠れ状態Ｈ１７へ更新する。
【０１７２】
このＲＮＮデコーダのＬＳＴＭ３６Ｄ２のセルが出力する隠れ状態Ｈ１７を用いて、算出部３７は、拡張ラティス６３に含まれる１５個のノードごとに生成確率を計算する。例えば、拡張ラティス６３の追加ノード「日」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス６３のノード「日」に対応するＲＮＮエンコーダのＬＳＴＭ３６Ｅ５のセルが出力する隠れ状態Ｈ５と、ＲＮＮデコーダのＬＳＴＭ３６Ｄ２のセルが更新した隠れ状態Ｈ１７との類似度がスコアとして計算される。また、拡張ラティス６３の追加ノード「連」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス６３のノード「連」に対応するＲＮＮエンコーダのＬＳＴＭ３６Ｅ７のセルが出力する隠れ状態Ｈ７と、ＲＮＮデコーダのＬＳＴＭ３６Ｄ２のセルが更新した隠れ状態Ｈ１７との類似度がスコアとして計算される。これらと同様に、拡張ラティス６３に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１７３】
その後、生成部３８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「日」を２時刻目ｔ２に出力する。そして、残り文字数「７」から２時刻目ｔ２に生成された単語「日」の文字数「１」を減算することにより、残り文字数の値を「６」へ更新する。
【０１７４】
次に、要約文の先頭の要素が生成される３時刻目ｔ３には、２時刻目ｔ２に更新された隠れ状態Ｈ１７、２時刻目ｔ２に生成された要素「日」および要約文の残り文字数「６」がＲＮＮデコーダの先頭のＬＳＴＭ３６Ｄ３のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ３６Ｄ３のセルは、モデル辞書の単語ごとに生成確率を計算することにより、３時刻目ｔ３における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１７を隠れ状態Ｈ１８へ更新する。
【０１７５】
このＲＮＮデコーダのＬＳＴＭ３６Ｄ３のセルが出力する隠れ状態Ｈ１８を用いて、算出部３７は、拡張ラティス６３に含まれる１５個のノードごとに生成確率を計算する。例えば、拡張ラティス６３の追加ノード「日」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス６３のノード「日」に対応するＲＮＮエンコーダのＬＳＴＭ３６Ｅ５のセルが出力する隠れ状態Ｈ５と、ＲＮＮデコーダのＬＳＴＭ３６Ｄ３のセルが更新した隠れ状態Ｈ１８との類似度がスコアとして計算される。また、拡張ラティス６３の追加ノード「連」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス６３のノード「連」に対応するＲＮＮエンコーダのＬＳＴＭ３６Ｅ７のセルが出力する隠れ状態Ｈ７と、ＲＮＮデコーダのＬＳＴＭ３６Ｄ３のセルが更新した隠れ状態Ｈ１８との類似度がスコアとして計算される。これらと同様に、拡張ラティス６３に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１７６】
その後、生成部３８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「連」を３時刻目ｔ３に出力する。そして、残り文字数「６」から３時刻目ｔ３に生成された単語「連」の文字数「１」を減算することにより、残り文字数の値を「５」へ更新する。
【０１７７】
以上の処理がＬＳＴＭ１６Ｄ７から文末記号「ＥＯＳ」が出力される７時刻目ｔ７まで繰り返し実行される。この結果、応用例１においても、要約文「全日連が山田選出」が得られる。この結果から明らかな通り、応用例１では、フレーズ「全日本連名」を省略表現「全日連」と省略できていることが明らかである。このため、応用例１では、省略表現「全日連」を含む要約文の生成が可能となっている。
【０１７８】
［拡張方法の応用例２］
上記の実施例１では、ラティスを拡張する条件の一例として、学習用入力文または入力文の単語Ｎ−ｇｒａｍに対応する省略表現がヒットすることを例に挙げたが、これに限定されない。例えば、ラティス拡張部１４またはラティス拡張部３４は、学習用入力文または入力文に固有表現が含まれることを条件に、学習用入力文または入力文に含まれる固有表現に対応するノードを追加することとしてもかまわない。
【０１７９】
このような拡張方法を採用する場合、図１２に示されたラティス拡張処理を図１８に示されたラティス拡張処理に差し替えることで、入力文に含まれる固有表現の一部が途切れて要約文が生成されるのを抑制できる。
【０１８０】
図１８は、応用例２に係るラティス拡張処理の手順を示すフローチャートである。この処理は、図１０に示されたステップＳ１０４の処理または図１１に示されたステップＳ３０３の処理に対応する。
【０１８１】
図１８に示すように、ラティス拡張部１４またはラティス拡張部３４は、学習用入力文または入力文から固有表現を抽出する（ステップＳ７０１）。このように学習用入力文または入力文から抽出された固有表現ごとに、ステップＳ７０２の処理を繰り返す。ここで言う「固有表現」とは、固有表現に該当するラベル「Ｙ」が連続する区間全体の固有表現であることが好ましい。すなわち、ラティス拡張部１４またはラティス拡張部３４は、学習用入力文または入力文のラティスのうち上記のステップＳ７０１で抽出された固有表現に対応する区間に当該固有表現に対応するノードを追加する（ステップＳ７０２）。
【０１８２】
（１）モデル学習の具体例
以下、図１９〜図２３を用いて、モデル学習の具体例を説明しながら従来技術および応用例２における要約文の生成事例を対比する。
【０１８３】
図１９Ａおよび図１９Ｂにモデルに入力する学習サンプルの一例を例示する。図１９Ａは、学習用入力文の一例を示す図である。図１９Ｂは、正解要約文の一例を示す図である。図２０は、初期ラティスの一例を示す図である。図２１は、従来技術における要約文の生成事例を示す図である。図２２は、拡張ラティスの一例を示す図である。図２３は、応用例２に係る要約文の生成事例を示す図である。
【０１８４】
図１９Ａに示す学習用入力文８０Ｇが入力された場合、図２０に示すように、学習用入力文８０Ｇの単語に対応するノードが直列に接続された初期ラティス８１が生成される。
【０１８５】
（１．１）従来技術
ここで、従来技術でモデル学習が行われる場合、初期ラティス８１に基づいてＲＮＮエンコーダのＬＳＴＭのセルが生成される。図２０に示す例で言えば、初期ラティス８１の先頭のノード「＜ｓ＞」から順に末尾のノード「＜／ｓ＞」までのノード数Ｍ（＝９）に対応する９個のＲＮＮエンコーダのＬＳＴＭ１６Ｅ１〜１６Ｅ９のセルがワークエリア上に展開される。このようにＬＳＴＭ１６Ｅ１から１６Ｅ９まで隠し状態を更新しながら伝搬させることにより、ＲＮＮエンコーダから隠れ状態ｈ９が得られる。
【０１８６】
一方、ＲＮＮデコーダのＬＳＴＭのセルは、図２１に示すように、図１９Ｂに示す正解要約文８０Ｙに含まれる単語数Ｎ（＝４）に対応する４個のＬＳＴＭのセルがワークエリア上に展開される。以下、正解要約文８０Ｙの先頭の単語から順番に各単語に対応してワークエリア上に展開されたＬＳＴＭのセルの各々を「ＬＳＴＭ１６Ｄ１〜ＬＳＴＭ１６Ｄ４」と識別する。
【０１８７】
例えば、要約文の先頭の要素が生成される１時刻目ｔ１には、ＲＮＮエンコーダから出力される隠れ状態ｈ９、ＢＯＳのタグおよび要約文の残り文字数、例えば正解要約文４０Ｙの文字数「７」がＲＮＮデコーダの先頭のＬＳＴＭ１６Ｄ１のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルは、モデル辞書の単語ごとに生成確率を計算することにより、１時刻目ｔ１における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態ｈ９を隠れ状態ｈ１０へ更新する。
【０１８８】
このＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが出力する隠れ状態ｈ１０を用いて、算出部１７は、拡張ラティスに含まれる９個のノードごとに生成確率を計算する。例えば、初期ラティス８１のノード「中島」の生成確率を算出する場合を例に挙げる。この場合、初期ラティス８１のノード「中島」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ２のセルが出力する隠れ状態ｈ２と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが更新した隠れ状態ｈ１０との類似度がスコアとして計算される。これと同様に、初期ラティス８１に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１８９】
その後、生成部１８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「中島」を１時刻目ｔ１に出力する。そして、残り文字数の初期値「７」から１時刻目ｔ１に生成された単語「中島」の文字数「２」を減算することにより、残り文字数の値を「５」へ更新する。
【０１９０】
次に、要約文の先頭の要素が生成される２時刻目ｔ２には、ＲＮＮデコーダの１時刻前のＬＳＴＭ１６Ｄ１エンコーダから出力される隠れ状態ｈ１０、１時刻前の正解の単語「中島翔哉」および要約文の残り文字数「５」がＲＮＮデコーダの先頭から２番目のＬＳＴＭ１６Ｄ２のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルは、モデル辞書の単語ごとに生成確率を計算することにより、２時刻目ｔ２における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態ｈ１０を隠れ状態ｈ１１へ更新する。
【０１９１】
このＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルが出力する隠れ状態ｈ１１を用いて、算出部１７は、拡張ラティスに含まれる９個のノードごとに生成確率を計算する。例えば、初期ラティス８１のノード「中島」の生成確率を算出する場合を例に挙げる。この場合、初期ラティス８１のノード「中島」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ２のセルが出力する隠れ状態ｈ２と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ２のセルが更新した隠れ状態ｈ１１との類似度がスコアとして計算される。これと同様に、初期ラティス８１に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１９２】
その後、生成部１８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「が」を２時刻目ｔ２に出力する。そして、残り文字数「５」から２時刻目ｔ２に生成された単語「が」の文字数「１」を減算することにより、残り文字数の値を「４」へ更新する。
【０１９３】
以上の処理がＬＳＴＭ１６Ｄ４から文末記号「ＥＯＳ」が出力される４時刻目ｔ４まで繰り返し実行される。この結果、従来技術では、要約文「中島が得点」が得られる。この結果を正解要約文８０Ｙと対比すれば明らかな通り、従来技術では、フレーズ「中島翔哉」を途切れさせずにそのまま出力すべきところが、「中島」の途中で途切れて要約文が生成されている。このため、従来技術では、入力文に含まれる固有表現の一部「翔哉」が途切れて要約文が生成されるのを抑制できていないことが明らかである。
【０１９４】
（１．２）応用例２
一方、応用例２でモデル学習が行われる場合、従来技術のように、ＲＮＮエンコーダのＬＳＴＭのセルの生成に初期ラティス８１が用いられない。すなわち、学習用入力文８０Ｇから一連の固有表現「中島翔哉」が抽出される。これによって、図２０に示す初期ラティス８１は、図２２に示す拡張ラティス８３へ拡張される。すなわち、図２２に反転表示で示された通り、学習用入力文８０Ｇの固有表現「中島翔哉」に対応する区間に、一連の固有表現「中島翔哉」に対応するノードが追加される。
【０１９５】
このような拡張ラティス８３がＲＮＮエンコーダのＬＳＴＭのセルの生成に用いられる。図２２に示す例で言えば、拡張ラティス８３の先頭のノード「＜ｓ＞」から順に末尾のノード「＜／ｓ＞」までのノード数Ｍ（＝１２）に対応する１２個のＲＮＮエンコーダのＬＳＴＭ１６Ｅ１〜１６Ｅ１２のセルがワークエリア上に展開される。このようにＬＳＴＭ１６Ｅ１から１６Ｅ１２まで隠し状態を更新しながら伝搬させることにより、ＲＮＮエンコーダから隠れ状態Ｈ１２が得られる。
【０１９６】
一方、ＲＮＮデコーダのＬＳＴＭのセルは、図２３に示すように、図１９Ｂに示された正解要約文８０Ｙに含まれる単語数Ｎ（＝４）に対応する４個のＬＳＴＭのセルがワークエリア上に展開される。以下、正解要約文８０Ｙの先頭の単語から順番に各単語に対応してワークエリア上に展開されたＬＳＴＭのセルの各々を「ＬＳＴＭ１６Ｄ１〜ＬＳＴＭ１６Ｄ４」と識別する。
【０１９７】
例えば、要約文の先頭の要素が生成される１時刻目ｔ１には、ＲＮＮエンコーダから出力される隠れ状態Ｈ１２、ＢＯＳのタグおよび要約文の残り文字数、例えば正解要約文８０Ｙの文字数「７」がＲＮＮデコーダの先頭のＬＳＴＭ１６Ｄ１のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルは、モデル辞書の単語ごとに生成確率を計算することにより、１時刻目ｔ１における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１２を隠れ状態Ｈ１３へ更新する。
【０１９８】
このＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが出力する隠れ状態Ｈ１３を用いて、算出部１７は、拡張ラティスに含まれる１２個のノードごとに生成確率を計算する。例えば、拡張ラティス８３のノード「中島翔哉」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス８３のノード「中島翔哉」に対応するＲＮＮエンコーダのＬＳＴＭ１６Ｅ４のセルが出力する隠れ状態Ｈ４と、ＲＮＮデコーダのＬＳＴＭ１６Ｄ１のセルが更新した隠れ状態Ｈ１３との類似度がスコアとして計算される。これと同様に、拡張ラティス８３に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０１９９】
その後、生成部１８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティスの各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「中島翔哉」を１時刻目ｔ１に出力する。そして、残り文字数の初期値「７」から１時刻目ｔ１に生成された単語「中島翔哉」の文字数「４」を減算することにより、残り文字数の値を「３」へ更新する。
【０２００】
以上の処理がＬＳＴＭ１６Ｄ４から文末記号「ＥＯＳ」が出力される４時刻目ｔ４まで繰り返し実行される。この結果、応用例２では、要約文「中島翔哉が得点」が得られる。この結果を正解要約文８０Ｙと対比すれば明らかな通り、応用例２では、一連の固有表現「中島翔哉」を途切れさせずにそのまま出力できている。このため、応用例２では、入力文に含まれる固有表現の一部「翔哉」が途切れて要約文が生成されるのを抑制できることが明らかである。
【０２０１】
（２）要約文生成の具体例
以下、図２４及び図２５を用いて、要約文生成の具体例を説明する。ここでは、図１９Ａに示された学習用入力文８０Ｇと類似する入力文「山田太郎がゴールを決めた」が入力される例を挙げる。
【０２０２】
図２４は、拡張ラティスの一例を示す図である。図２５は、応用例２に係る要約文の生成事例を示す図である。
【０２０３】
入力文「山田太郎がゴールを決めた」が入力された場合、入力文「山田太郎がゴールを決めた」の単語に対応するノードが直列に接続された初期ラティスが生成される。
【０２０４】
ここで、応用例２で要約文生成が行われる場合、従来技術のように、ＲＮＮエンコーダのＬＳＴＭのセルの生成に初期ラティスが用いられない。すなわち、入力文から一連の固有表現「山田太郎」が抽出される。これによって、入力文から生成された初期ラティスは、図２４に示す拡張ラティス９３へ拡張される。すなわち、図２４に反転表示で示された通り、入力文の固有表現「山田太郎」に対応する区間に、一連の固有表現「山田太郎」に対応するノードが追加される。
【０２０５】
このような拡張ラティス９３がＲＮＮエンコーダのＬＳＴＭのセルの生成に用いられる。図２４に示す例で言えば、拡張ラティス９３の先頭のノード「＜ｓ＞」から順に末尾のノード「＜／ｓ＞」までのノード数Ｋ（＝１２）に対応する１２個のＲＮＮエンコーダのＬＳＴＭ３６Ｅ１〜３６Ｅ１２のセルがワークエリア上に展開される。このようにＬＳＴＭ３６Ｅ１から３６Ｅ１２まで隠し状態を更新しながら伝搬させることにより、ＲＮＮエンコーダから隠れ状態Ｈ１２が得られる。
【０２０６】
一方、ＲＮＮデコーダのＬＳＴＭのセルは、図２５に示すように、ＥＯＳのタグが出力されるまでの要約文の要素数Ｌ（＝４）に対応する４個のＬＳＴＭのセルがワークエリア上に展開される。以下、要約文の先頭の要素から順番に各要素に対応してワークエリア上に展開されたＬＳＴＭのセルの各々を「ＬＳＴＭ３６Ｄ１〜ＬＳＴＭ３６Ｄ４」と識別する。
【０２０７】
例えば、要約文の先頭の要素が生成される１時刻目ｔ１には、ＲＮＮエンコーダから出力される隠れ状態Ｈ１２、ＢＯＳのタグおよび要約文の残り文字数「７」がＲＮＮデコーダの先頭のＬＳＴＭ３６Ｄ１のセルへ入力される。この結果、ＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルは、モデル辞書の単語ごとに生成確率を計算することにより、１時刻目ｔ１における各単語の生成確率ｐvocabularyを算出すると共に、隠れ状態Ｈ１２を隠れ状態Ｈ１３へ更新する。
【０２０８】
このＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルが出力する隠れ状態Ｈ１３を用いて、算出部１７は、拡張ラティスに含まれる１２個のノードごとに生成確率を計算する。例えば、拡張ラティス９３のノード「山田太郎」の生成確率を算出する場合を例に挙げる。この場合、拡張ラティス９３のノード「山田太郎」に対応するＲＮＮエンコーダのＬＳＴＭ３６Ｅ４のセルが出力する隠れ状態Ｈ４と、ＲＮＮデコーダのＬＳＴＭ３６Ｄ１のセルが更新した隠れ状態Ｈ１３との類似度がスコアとして計算される。これと同様に、拡張ラティス９３に含まれる全てのノードのスコアが算出される。その上で、全てのノードのスコアの総和が「１」となるように各ノードのスコアが正規化される。これによって、各ノードの生成確率ｐattentionが得られる。
【０２０９】
その後、生成部３８は、モデル辞書の各単語の生成確率ｐvocabularyおよび拡張ラティス９３の各ノードの生成確率ｐattentionが線形結合されることにより得られた各要素の生成確率ｐに基づいて、最大の生成確率ｐを有する要素「山田太郎」を１時刻目ｔ１に出力する。そして、残り文字数の初期値「７」から１時刻目ｔ１に生成された単語「山田太郎」の文字数「４」を減算することにより、残り文字数の値を「３」へ更新する。
【０２１０】
以上の処理がＬＳＴＭ３６Ｄ４から文末記号「ＥＯＳ」が出力される４時刻目ｔ４まで繰り返し実行される。この結果、応用例２では、要約文「山田太郎が得点」が得られる。この結果から明らかな通り、応用例２では、一連の固有表現「山田太郎」を途切れさせずにそのまま出力できている。このため、応用例２では、入力文に含まれる固有表現の一部「太郎」が途切れて要約文が生成されるのを抑制できることが明らかである。
【０２１１】
［省略表現］
上記の実施例１では、省略表現辞書のエントリの例として、固有表現のフレーズとその省略表現とが対応付けられたエントリの例を挙げたが、省略表現辞書に登録されるフレーズは必ずしも固有表現でなくともかまわない。例えば、固有表現以外の他のフレーズとその省略表現とが対応付けられたエントリが省略表現辞書に含まれることを妨げない。あくまで一例として、フレーズ「ゴールを決めた」と省略表現「得点」とが対応付けられたエントリが省略表現辞書に存在する場合、図２２に示された拡張ラティス８３や図２４に示された拡張ラティス９３のように、学習用入力文または入力文のうちフレーズ「ゴールを決めた」の区間にその省略表現「得点」に対応するノードを追加することができる。これによって、フレーズ「ゴールを決めた」を省略表現「得点」へ短縮して要約文を生成することが可能である。
【０２１２】
［分散および統合］
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されておらずともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、取得部１３、ラティス拡張部１４、エンコーダ実行部１６Ｅ、デコーダ実行部１６Ｄ、算出部１７、生成部１８又は更新部１９を学習装置１０の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部１３、ラティス拡張部１４、エンコーダ実行部１６Ｅ、デコーダ実行部１６Ｄ、算出部１７、生成部１８又は更新部１９を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の学習装置１０の機能を実現するようにしてもよい。また、例えば、取得部３３、ラティス拡張部３４、エンコーダ実行部３６Ｅ、デコーダ実行部３６Ｄ、算出部３７又は生成部３８を生成装置３０の外部装置としてネットワーク経由で接続するようにしてもよい。また、取得部３３、ラティス拡張部３４、エンコーダ実行部３６Ｅ、デコーダ実行部３６Ｄ、算出部３７又は生成部３８を別の装置がそれぞれ有し、ネットワーク接続されて協働することで、上記の生成装置３０の機能を実現するようにしてもよい。
【０２１３】
［要約文生成プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図２６を用いて、上記の実施例と同様の機能を有する要約文生成プログラムを実行するコンピュータの一例について説明する。
【０２１４】
図２６は、実施例１及び実施例２に係る要約文生成プログラムを実行するコンピュータのハードウェア構成例を示す図である。図２６に示すように、コンピュータ１００は、操作部１１０ａと、スピーカ１１０ｂと、マイク１１０ｃと、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０とを有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【０２１５】
ＨＤＤ１７０には、図２６に示すように、上記の実施例１で示した取得部１３、ラティス拡張部１４、エンコーダ実行部１６Ｅ、デコーダ実行部１６Ｄ、算出部１７、生成部１８又は更新部１９と同様の機能を発揮する要約文生成プログラム１７０ａが記憶される。また、ＨＤＤ１７０には、取得部３３、ラティス拡張部３４、エンコーダ実行部３６Ｅ、デコーダ実行部３６Ｄ、算出部３７又は生成部３８と同様の機能を発揮する要約文生成プログラム１７０ａが記憶されることとしてもかまわない。この要約文生成プログラム１７０ａは、図１に示した機能部の各構成要素と同様、統合又は分離してもかまわない。すなわち、ＨＤＤ１７０には、必ずしも上記の実施例１で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ１７０に格納されればよい。
【０２１６】
このような環境の下、ＣＰＵ１５０は、ＨＤＤ１７０から要約文生成プログラム１７０ａを読み出した上でＲＡＭ１８０へ展開する。この結果、要約文生成プログラム１７０ａは、図２６に示すように、要約文生成プロセス１８０ａとして機能する。この要約文生成プロセス１８０ａは、ＲＡＭ１８０が有する記憶領域のうち要約文生成プロセス１８０ａに割り当てられた領域にＨＤＤ１７０から読み出した各種データを展開し、この展開した各種データを用いて各種の処理を実行する。例えば、要約文生成プロセス１８０ａが実行する処理の一例として、図１０〜図１３や図１８に示す処理などが含まれる。なお、ＣＰＵ１５０では、必ずしも上記の実施例１で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０２１７】
なお、上記の要約文生成プログラム１７０ａは、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶されておらずともかまわない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に要約文生成プログラム１７０ａを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から要約文生成プログラム１７０ａを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに要約文生成プログラム１７０ａを記憶させておき、コンピュータ１００がこれらから要約文生成プログラム１７０ａを取得して実行するようにしてもよい。
【０２１８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２１９】
（付記１）入力文を取得し、
前記入力文の単語に対応するノードが直列に接続されたラティスのうち所定の表現に対応する区間のノードを生成し、
モデルが有する辞書の単語ごとに生成確率を算出し、
生成後のラティスに含まれるノードごとに、前記モデルのエンコーダのセルのうち前記ノードに対応するセルが出力する隠れ状態と、前記モデルのデコーダのセルが更新する隠れ状態とに基づいて生成確率を算出し、
前記辞書の各単語の生成確率と前記生成後のラティスの各ノードの生成確率とに基づいて要約文の要素を生成する、
処理をコンピュータが実行することを特徴とする要約文生成方法。
【０２２０】
（付記２）前記生成する処理は、前記入力文の単語Ｎ−ｇｒａｍに対応する省略表現が存在する場合、前記ラティスのうち前記入力文の単語Ｎ−ｇｒａｍに対応する区間に、前記省略表現に対応するノードを追加することを特徴とする付記１に記載の要約文生成方法。
【０２２１】
（付記３）前記生成する処理は、前記入力文の単語Ｎ−ｇｒａｍに対応する省略表現が存在する場合、前記ラティスのうち前記入力文の単語Ｎ−ｇｒａｍに対応する区間に、前記入力文の単語Ｎ−ｇｒａｍに含まれる各文字に対応するノードを追加することを特徴とする付記１に記載の要約文生成方法。
【０２２２】
（付記４）前記生成する処理は、前記入力文に固有表現が存在する場合、前記ラティスのうち前記固有表現に対応する区間に、前記固有表現に対応するノードを追加することを特徴とする付記１に記載の要約文生成方法。
【０２２３】
（付記５）前記生成する処理は、前記入力文の単語列の中から抽出された固有表現に対応する省略表現が存在する場合、前記ラティスのうち前記固有表現に対応する区間に、前記省略表現に対応するノードを追加することを特徴とする付記１に記載の要約文生成方法。
【０２２４】
（付記６）前記生成する処理は、前記入力文の単語列の中から抽出された固有表現に対応する省略表現が存在する場合、前記ラティスのうち前記固有表現に対応する区間に、前記固有表現に含まれる各文字に対応するノードを追加することを特徴とする付記１に記載の要約文生成方法。
【０２２５】
（付記７）前記モデルは、前記入力文として記事が入力されると前記記事の要約文を生成する記事要約プログラムに組み込まれることを特徴とする付記１に記載の要約文生成方法。
【０２２６】
（付記８）入力文を取得し、
前記入力文の単語に対応するノードが直列に接続されたラティスのうち所定の表現に対応する区間のノードを生成し、
モデルが有する辞書の単語ごとに生成確率を算出し、
生成後のラティスに含まれるノードごとに、前記モデルのエンコーダのセルのうち前記ノードに対応するセルが出力する隠れ状態と、前記モデルのデコーダのセルが更新する隠れ状態とに基づいて生成確率を算出し、
前記辞書の各単語の生成確率と前記生成後のラティスの各ノードの生成確率とに基づいて要約文の要素を生成する、
処理をコンピュータに実行させることを特徴とする要約文生成プログラム。
【０２２７】
（付記９）前記生成する処理は、前記入力文の単語Ｎ−ｇｒａｍに対応する省略表現が存在する場合、前記ラティスのうち前記入力文の単語Ｎ−ｇｒａｍに対応する区間に、前記省略表現に対応するノードを追加することを特徴とする付記８に記載の要約文生成プログラム。
【０２２８】
（付記１０）前記生成する処理は、前記入力文の単語Ｎ−ｇｒａｍに対応する省略表現が存在する場合、前記ラティスのうち前記入力文の単語Ｎ−ｇｒａｍに対応する区間に、前記入力文の単語Ｎ−ｇｒａｍに含まれる各文字に対応するノードを追加することを特徴とする付記８に記載の要約文生成プログラム。
【０２２９】
（付記１１）前記生成する処理は、前記入力文に固有表現が存在する場合、前記ラティスのうち前記固有表現に対応する区間に、前記固有表現に対応するノードを追加することを特徴とする付記８に記載の要約文生成プログラム。
【０２３０】
（付記１２）前記生成する処理は、前記入力文の単語列の中から抽出された固有表現に対応する省略表現が存在する場合、前記ラティスのうち前記固有表現に対応する区間に、前記省略表現に対応するノードを追加することを特徴とする付記８に記載の要約文生成プログラム。
【０２３１】
（付記１３）前記生成する処理は、前記入力文の単語列の中から抽出された固有表現に対応する省略表現が存在する場合、前記ラティスのうち前記固有表現に対応する区間に、前記固有表現に含まれる各文字に対応するノードを追加することを特徴とする付記８に記載の要約文生成プログラム。
【０２３２】
（付記１４）前記モデルは、前記入力文として記事が入力されると前記記事の要約文を生成する記事要約プログラムに組み込まれることを特徴とする付記８に記載の要約文生成プログラム。
【０２３３】
（付記１５）入力文を取得する取得部と、
前記入力文の単語に対応するノードが直列に接続されたラティスのうち所定の表現に対応する区間のノードを生成する第１生成部と、
モデルが有する辞書の単語ごとに生成確率を算出する第１算出部と、
生成後のラティスに含まれるノードごとに、前記モデルのエンコーダのセルのうち前記ノードに対応するセルが出力する隠れ状態と、前記モデルのデコーダのセルが更新する隠れ状態とに基づいて生成確率を算出する第２算出部と、
前記辞書の各単語の生成確率と前記生成後のラティスの各ノードの生成確率とに基づいて要約文の要素を生成する第２生成部と、
を有することを特徴とする要約文生成装置。
【０２３４】
（付記１６）前記第１生成部は、前記入力文の単語Ｎ−ｇｒａｍに対応する省略表現が存在する場合、前記ラティスのうち前記入力文の単語Ｎ−ｇｒａｍに対応する区間に、前記省略表現に対応するノードを追加することを特徴とする付記１５に記載の要約文生成装置。
【０２３５】
（付記１７）前記第１生成部は、前記入力文の単語Ｎ−ｇｒａｍに対応する省略表現が存在する場合、前記ラティスのうち前記入力文の単語Ｎ−ｇｒａｍに対応する区間に、前記入力文の単語Ｎ−ｇｒａｍに含まれる各文字に対応するノードを追加することを特徴とする付記１５に記載の要約文生成装置。
【０２３６】
（付記１８）前記第１生成部は、前記入力文に固有表現が存在する場合、前記ラティスのうち前記固有表現に対応する区間に、前記固有表現に対応するノードを追加することを特徴とする付記１５に記載の要約文生成装置。
【０２３７】
（付記１９）前記第１生成部は、前記入力文の単語列の中から抽出された固有表現に対応する省略表現が存在する場合、前記ラティスのうち前記固有表現に対応する区間に、前記省略表現に対応するノードを追加することを特徴とする付記１５に記載の要約文生成装置。
【０２３８】
（付記２０）前記モデルは、前記入力文として記事が入力されると前記記事の要約文を生成する記事要約プログラムに組み込まれることを特徴とする付記１５に記載の要約文生成装置。
【符号の説明】
【０２３９】
１０    学習装置
１１    学習データ記憶部
１２    モデル記憶部
１３    取得部
１４    ラティス拡張部
１４Ａ  省略表現記憶部
１６Ｅ  エンコーダ実行部
１６Ｄ  デコーダ実行部
１７    算出部
１８    生成部
１９    更新部
３０    生成装置
３３    取得部
３４    ラティス拡張部
３４Ａ  省略表現記憶部
３６Ｅ  エンコーダ実行部
３６Ｄ  デコーダ実行部
３７    算出部
３８    生成部
【図１】
2020087353.tif 000003
【図２】
2020087353.tif 000004
【図３Ａ】
2020087353.tif 000005
【図３Ｂ】
2020087353.tif 000006
【図４】
2020087353.tif 000007
【図５】
2020087353.tif 000008
【図６】
2020087353.tif 000009
【図７】
2020087353.tif 000010
【図８】
2020087353.tif 000011
【図９】
2020087353.tif 000012
【図１０】
2020087353.tif 000013
【図１１】
2020087353.tif 000014
【図１２】
2020087353.tif 000015
【図１３】
2020087353.tif 000016
【図１４】
2020087353.tif 000017
【図１５】
2020087353.tif 000018
【図１６】
2020087353.tif 000019
【図１７】
2020087353.tif 000020
【図１８】
2020087353.tif 000021
【図１９Ａ】
2020087353.tif 000022
【図１９Ｂ】
2020087353.tif 000023
【図２０】
2020087353.tif 000024
【図２１】
2020087353.tif 000025
【図２２】
2020087353.tif 000026
【図２３】
2020087353.tif 000027
【図２４】
2020087353.tif 000028
【図２５】
2020087353.tif 000029
【図２６】
2020087353.tif 000030