(57)【要約】      （修正有）【課題】深い依存構造木を持つ文においても精度の高い文圧縮を可能とすること。【解決手段】エンコード部１１０には単語ｘ０〜ｘ７が逐次的に入力され、隠れ状態ｈ０〜ｈ７が逐次的に出力される。次に、単語ｘ１がエンコード部１１０に入力され、隠れ状態ｈ１が出力される。以降も同様に、単語ｘ２〜ｘ７がエンコード部１１０にそれぞれ入力され、隠れ状態ｈ２〜ｈ７が順に出力される。隠れ状態ｈ０〜ｈ７は、注意機構１３０に入力される。そして、ｔ＝１〜７に対して、デコード部１２０から出力された隠れ状態ｓｔ→と、エンコード部１１０から出力された隠れ状態ｈｔと、注意機構１３０から出力されたΩｔとが出力部１４０に逐次的に入力されることで、ラベルｙｔが順に出力される。これにより、原文を構成する各単語ｘ０〜ｘ７にそれぞれ付与されるラベルｙ０〜ｙ７が得られる。これらのラベルｙ０〜ｙ７を用いて、原文から圧縮文が生成される。【選択図】図１０
2019153078.tif 000002
【特許請求の範囲】
【請求項１】
文を表す第１の記号系列ｘが入力されると、前記文に対応する所定の目的に応じた第２の記号系列ｙを、予め学習されたニューラルネットワークにより生成する記号列生成装置であって、
前記ニューラルネットワークは、
入力された第１の記号系列ｘの各要素ｘｉを第１の隠れ状態に変換するエンコード部と、
前記第１の隠れ状態に重み付けを行い、第２の隠れ状態として出力する注意機構部と、
前記第１の記号系列ｘのｔ番目の要素ｘｔと、第２の記号系列ｙのｔ−１番目の要素ｙｔ−１と、前記第２の隠れ状態とに基づき、第３の隠れ状態を出力するデコード部と、
前記第２の隠れ状態と、前記第３の隠れ状態とに基づき、前記第２の記号系列ｙのｔ番目の要素ｙｔを生成し、生成した該要素ｙｔを出力する出力部と、
を有し、
前記注意機構部は、
前記文に対応する依存構造木において、前記第１の記号系列ｘに含まれる要素ｘｔの親が、該要素ｘｔ以外の要素ｘｊとなる第１の確率Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）をそれぞれ計算し、
計算された前記第１の確率Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）を用いて、前記要素ｘｔのｄ次の親が、該要素ｘｔ以外の単語ｘｊとなる第２の確率αｄ，ｔ，ｊをそれぞれ計算し、
計算された前記第２の確率αｄ，ｔ，ｊを用いて前記第１の隠れ状態に重み付けを行ったγｄ，ｔを前記第２の隠れ状態として出力する、ことを特徴とする記号列生成装置。
【請求項２】
前記注意機構部は、
前記γｄ，ｔの次数ｄに対する重みβｄ，ｔを計算し、
前記βｄ，ｔを用いて前記γｄ，ｔに重み付けを行ったΩｔを前記第２の隠れ状態として出力する、ことを特徴とする請求項１に記載の記号列生成装置。
【請求項３】
前記注意機構部は、
前記第１の確率Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）を用いて、前記第２の確率αｄ，ｔ，ｊを、
【数１７】
2019153078.tif 000019
により再帰的に計算する、ことを特徴する請求項１又は２に記載の記号列生成装置。
【請求項４】
前記注意機構部は、
前記第２の確率αｄ，ｔ，ｊを、
【数１８】
2019153078.tif 000020
との制約を満たすように再帰的に計算する、ことを特徴とする請求項３に記載の記号列生成装置。
【請求項５】
前記注意機構部は、
前記第１の隠れ状態と、前記第２の記号系列ｙのｔ−１番目までの要素ｙ０，・・・，ｙｔ−１に基づき出力された前記第３の隠れ状態とに基づき、前記βｄ，ｔを計算する、ことを特徴とする請求項１乃至４の何れか一項に記載の記号列生成装置。
【請求項６】
１以上の単語が含まれる文を表す第１の記号系列ｘが入力されると、前記文に含まれる単語に対して削除又は維持のいずれかを示すラベルをそれぞれ表す第２の記号系列ｙを生成する請求項１乃至５の何れか一項に記載の記号列生成装置が含まれる文圧縮装置。
【請求項７】
文を表す第１の記号系列ｘが入力されると、前記文に対応する所定の目的に応じた第２の記号系列ｙを、予め学習されたニューラルネットワークにより生成する記号列生成装置が、
前記ニューラルネットワークにより、
入力された第１の記号系列ｘの各要素ｘｉを第１の隠れ状態に変換し、
前記第１の隠れ状態に重み付けを行い、第２の隠れ状態として出力し、
前記第１の記号系列ｘのｔ番目の要素ｘｔと、第２の記号系列ｙのｔ−１番目の要素ｙｔ−１と、前記第２の隠れ状態とに基づき、第３の隠れ状態を出力し、
前記第２の隠れ状態と、前記第３の隠れ状態とに基づき、前記第２の記号系列ｙのｔ番目の要素ｙｔを生成し、生成した該要素ｙｔを出力する処理を実行し、
前記第２の隠れ状態を出力する処理は、
前記文に対応する依存構造木において、前記第１の記号系列ｘに含まれる要素ｘｔの親が、該要素ｘｔ以外の要素ｘｊとなる第１の確率Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）をそれぞれ計算し、
計算された前記第１の確率Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）を用いて、前記要素ｘｔのｄ次の親が、該要素ｘｔ以外の単語ｘｊとなる第２の確率αｄ，ｔ，ｊをそれぞれ計算し、
計算された前記第２の確率αｄ，ｔ，ｊを用いて前記第１の隠れ状態に重み付けを行ったγｄ，ｔを前記第２の隠れ状態として出力する、
ことを特徴とする記号列生成方法。
【請求項８】
コンピュータを、請求項１乃至５の何れか一項に記載の記号列生成装置における各部又は請求項６に記載の文圧縮装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記号列生成装置、文圧縮装置、記号列生成方法及びプログラムに関する。
【背景技術】
【０００２】
自然言語処理の分野において、文圧縮と呼ばれる手法が従来から研究されている。文圧縮とは、圧縮対象となる文（原文）の大意を保持しつつ、原文よりも短い文（圧縮文）を生成する手法のことである。より具体的には、文圧縮では、原文中に存在する各単語に対して削除又は維持を示すラベルを付与し、削除を示すラベルが付与された単語を削除することで、原文よりも短い圧縮文を生成する。
【０００３】
例えば、図１に示すように、原文として「Pakistan signed a resolution on Monday to import 1300 MW of electricity.」が与えられたとする。この場合、文圧縮では、原文の各単語に対して削除又は維持を示すラベルを付与し、削除を示すラベルが付与された単語を削除することで、維持を示すラベルが付与された単語のみで構成される圧縮文を生成する。これにより、図１に示すように、原文よりも短い圧縮文「Pakistan signed a resolution to import 1300 MW of electricity.」が得られる。
【０００４】
圧縮文の可読性を担保するために、Ｓｅｑｕｅｎｃｅ−ｔｏ−Ｓｅｑｕｅｎｃｅ（記号系列を入力とし、別の記号系列に変換する確率をモデル化したもの。「Ｓｅｑ２Ｓｅｑ」とも表される。）を用いる文圧縮手法が従来から知られている（非特許文献１）。また、構文木とＳｅｑ２Ｓｅｑとを組み合わせた文圧縮手法も知られている（非特許文献２）。非特許文献２に開示されている文圧縮手法では、ＬＳＴＭ（Long short-term memory）を用いて原文中の各単語が圧縮文に採用される重み（確率値）を付与し、これらの重みの和が最大となるように、単語の依存関係を表した依存構造木を刈り込むことで、非特許文献１に開示されている文圧縮手法よりも高い圧縮性能を実現している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Katja Filippova, Enrique Alfonseca, Carlos A. Colmenares, Lukasz Kaiser, and Oriol Vinyals "Sentence Compression by Deletion with LSTMs." In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pp. 360-368.
【非特許文献２】Liangguo Wang, Jing Jiang, Hai Leong Chieu, Chen Hui Ong, Dandan Song, and Lejian Liao. "Can syntax help? improving an lstm-based sentence compression model for new domains." In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics(Volume 1:Long Papers), pp. 1385-1393.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、非特許文献２に開示されている文圧縮手法は、依存構造木の葉ノードから順に単語を削除する手法であるため、依存構造木の葉に近いノードに重要な単語があったとしても、この単語が根から離れている場合（すなわち、深い位置にある場合）には、この単語を圧縮文に残すことが困難であった。
【０００７】
例えば、図２に示すような原文「Pakistan signed a resolution on Monday to import 1,300 MW of electricity from Kyrgyz Republic and Tajikistan（以下略）」が与えられたとする。図２に示す矢印は、各単語の依存関係を表している。依存構造木において各単語は係り先である親を持つ。例えば、図２に示す例では、単語「signed」及び単語「resolution」は依存関係にあり、依存構造木において、単語「signed」が親、単語「resolution」が子となる。
【０００８】
図２に示す例は電力輸入協定に関する文であり、国名が重要である。このため、国名を示す句「from Kyrgyz Republic and Tajikistan」を維持しつつ、文圧縮を行うには、この句からルート（根）までに辿る単語「signed」、「resolution」、「import」も圧縮後の文で維持しなければならない。すなわち、依存構造木の深い位置に重要な単語が出現する場合に、この単語を圧縮文に残すためには依存構造の連鎖を考慮しなければならない。これに対して、非特許文献２に開示されている文圧縮手法では、依存構造木の葉ノードから順に単語を削除するため、国名を示す句「from Kyrgyz Republic and Tajikistan」が優先的に削除されてしまう。
【０００９】
本発明は、上記の点に鑑みてなされたもので、深い依存構造木を持つ文においても精度の高い文圧縮を可能とすることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明では、文を表す第１の記号系列ｘが入力されると、前記文に対応する所定の目的に応じた第２の記号系列ｙを、予め学習されたニューラルネットワークにより生成する記号列生成装置であって、前記ニューラルネットワークは、入力された第１の記号系列ｘの各要素ｘｉを第１の隠れ状態に変換するエンコード部と、前記第１の隠れ状態に重み付けを行い、第２の隠れ状態として出力する注意機構部と、前記第１の記号系列ｘのｔ番目の要素ｘｔと、第２の記号系列ｙのｔ−１番目の要素ｙｔ−１と、前記第２の隠れ状態とに基づき、第３の隠れ状態を出力するデコード部と、前記第２の隠れ状態と、前記第３の隠れ状態とに基づき、前記第２の記号系列ｙのｔ番目の要素ｙｔを生成し、生成した該要素ｙｔを出力する出力部と、を有し、前記注意機構部は、前記文に対応する依存構造木において、前記第１の記号系列ｘに含まれる要素ｘｔの親が、該要素ｘｔ以外の要素ｘｊとなる第１の確率Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）をそれぞれ計算し、計算された前記第１の確率Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）を用いて、前記要素ｘｔのｄ次の親が、該要素ｘｔ以外の単語ｘｊとなる第２の確率αｄ，ｔ，ｊをそれぞれ計算し、計算された前記第２の確率αｄ，ｔ，ｊを用いて前記第１の隠れ状態に重み付けを行ったγｄ，ｔを前記第２の隠れ状態として出力する、ことを特徴とする。
【発明の効果】
【００１１】
深い依存構造木を持つ文においても精度の高い文圧縮を可能とすることができる。
【図面の簡単な説明】
【００１２】
【図１】文圧縮の一例を説明するための図である。
【図２】課題を説明するための図である。
【図３】本発明の実施の形態における文圧縮装置の機能構成例を示す図である。
【図４】本発明の実施の形態における文圧縮装置のハードウェア構成例を示す図である。
【図５】本発明の実施の形態における文圧縮処理部の詳細な機能構成例を示す図である。
【図６】本発明の実施の形態におけるエンコード部の動作例を説明するための図である。
【図７】本発明の実施の形態におけるデコード部の動作例を説明するための図である。
【図８】本発明の実施の形態における注意機構の動作例を説明するための図である。
【図９】本発明の実施の形態における出力部の動作例を説明するための図である。
【図１０】本発明の実施の形態における文圧縮処理部の全体的な動作例を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について説明する。本発明の実施の形態では、原文中の任意の単語から祖先への依存構造の連鎖も考慮した注意機構をＳｅｑ２Ｓｅｑに組み込むことで、深い依存構造木を持つ文においても精度の高い文圧縮を可能にする文圧縮装置１０について説明する。
【００１４】
なお、祖先とは、単語の親を複数回連鎖的に辿った際の単語（例えば、親の親となる単語等）のことである。本発明の実施の形態では、或る単語について、この単語の親のことを１次の親、１次の親の親のことを２次の親、・・・、ｄ−１次の親の親のことをｄ次の親と言う。
【００１５】
＜文圧縮装置１０の機能構成例＞
まず、本発明の実施の形態における文圧縮装置１０の機能構成例について、図３を参照しながら説明する。図３は、本発明の実施の形態における文圧縮装置１０の機能構成例を示す図である。
【００１６】
図３に示すように、本発明の実施の形態における文圧縮装置１０は、文圧縮処理部１００を有するコンピュータである。文圧縮処理部１００は、例えば、文圧縮装置１０にインストールされた１以上のプログラムがＣＰＵ（Central Processing Unit）等に実行させる処理により実現される。
【００１７】
文圧縮装置１０は、文圧縮処理部１００により、入力された文（原文）を文圧縮することで、原文から圧縮文を生成する。このとき、文圧縮処理部１００は、上述したように、祖先への依存構造の連鎖も考慮した注意機構を組み込んだＳｅｑ２Ｓｅｑにより文圧縮を行うことで、深い依存構造木を持つ原文においても精度の高い文圧縮を行うことができる。
【００１８】
ここで、文圧縮は、原文を構成する単語の系列ｘ＝（ｘ０，ｘ１，・・・，ｘｎ）が与えられた場合に、各単語ｘｉに対して、当該単語ｘｉに対応するラベルｙｉを「維持」、「削除」又は「文の終了」から選択するタスクであると考えることができる。本発明の実施の形態では、単語の系列ｘ＝（ｘ０，ｘ１，・・・，ｘｎ）を入力系列、ラベルの系列ｙ＝（ｙ０，ｙ１，・・・，ｙｎ）を出力系列とも表す。
【００１９】
なお、ｘ０は依存構造木のルートノードを表す単語であり、ラベルｙ０は単語ｘ０に付与されるラベルである。ラベルｙ０は、例えば、文頭＜ｓ＞を表す所定の値に固定されていても良いし、「維持」又は「削除」のいずれかに固定されていても良い。
【００２０】
各単語ｘｉ（ただし、ｉ≠０）は、例えば、Ｗｏｒｄ２Ｖｅｃ等の既知の手法により原文に含まれる各単語を所定次元のベクトルに変換したものである。他方で、各ラベルｙｉ（ただし、ｉ≠０）は、例えば、０、１又は２のいずれかを取るスカラーとしても良いし、要素数が３のｏｎｅ−ｈｏｔなベクトルとしても良い。
【００２１】
なお、図１に示す文圧縮装置１０の構成は一例であって、他の構成であっても良い。例えば、文圧縮装置１０は、複数台のコンピュータで構成されたコンピュータシステムであっても良い。
【００２２】
＜文圧縮装置１０のハードウェア構成例＞
次に、本発明の実施の形態における文圧縮装置１０のハードウェア構成例について、図４を参照しながら説明する。図４は、本発明の実施の形態における文圧縮装置１０のハードウェア構成例を示す図である。
【００２３】
図４に示すように、本発明の実施の形態における文圧縮装置１０は、入力装置１１と、表示装置１２と、外部Ｉ／Ｆ１３と、ＲＡＭ（Random Access Memory）１４と、ＲＯＭ（Read Only Memory）１５と、ＣＰＵ１６と、通信Ｉ／Ｆ１７と、補助記憶装置１８とを有する。これら各ハードウェアは、それぞれがバスＢを介して通信可能に接続されている。
【００２４】
入力装置１１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置１２は、例えばディスプレイ等であり、文圧縮装置１０の処理結果を表示する。なお、文圧縮装置１０は、入力装置１１及び表示装置１２のうちの少なくとも一方を有していなくても良い。
【００２５】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、記録媒体１３ａ等がある。文圧縮装置１０は、外部Ｉ／Ｆ１３を介して、記録媒体１３ａ等の読み取りや書き込み等を行うことができる。記録媒体１３ａには、文圧縮処理部１００を実現する１以上のプログラム等が記録されていても良い。
【００２６】
記録媒体１３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００２７】
ＲＡＭ１４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ１５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１５には、例えば、ＯＳ（Operating System）設定やネットワーク設定等が格納されている。
【００２８】
ＣＰＵ１６は、ＲＯＭ１５や補助記憶装置１８等からプログラムやデータをＲＡＭ１４上に読み出して処理を実行する演算装置である。
【００２９】
通信Ｉ／Ｆ１７は、文圧縮装置１０をネットワークに接続するためのインタフェースである。文圧縮装置１０は、通信Ｉ／Ｆ１７を介して、文圧縮処理部１００を実現する１以上のプログラム等を所定のサーバ装置等から取得（ダウンロード）しても良い。
【００３０】
補助記憶装置１８は、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置１８に格納されているプログラムやデータには、例えば、ＯＳ、当該ＯＳ上で各種機能を実現するアプリケーションプログラム、文圧縮処理部１００を実現する１以上のプログラム等がある。
【００３１】
本発明の実施の形態における文圧縮装置１０は、図４に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図４では、本発明の実施の形態における文圧縮装置１０が１台の装置（コンピュータ）で実現される場合を示したが、これに限られない。本発明の実施の形態における文圧縮装置１０は、複数台の装置で実現されていても良い。
【００３２】
＜文圧縮処理部１００の機能構成例＞
次に、本発明の実施の形態における文圧縮処理部１００の詳細な機能構成例について、図５を参照しながら説明する。図５は、本発明の実施の形態における文圧縮処理部１００の詳細な機能構成例を示す図である。
【００３３】
図５に示すように、本発明の実施の形態における文圧縮処理部１００には、エンコード部１１０と、デコード部１２０と、注意機構１３０と、出力部１４０とが含まれる。
【００３４】
エンコード部１１０は、入力系列ｘ＝（ｘ０，ｘ１，・・・，ｘｎ）が入力されると、各単語（ベクトル）ｘｉを、所定の次元の実数値ベクトルである隠れ状態ｈｉにそれぞれ変換する。
【００３５】
デコード部１２０は、単語ｘｔやラベルｙｔ−１等が入力されると、これらを結合したベクトルを、所定の次元の実数値ベクトルである隠れ状態
【００３６】
【数１】
2019153078.tif 000003
（以降では、これを「ｓｔ→」とも表す。）に変換する。なお、本発明の実施の形態において、結合とは、ベクトルとして結合することを意味する。
【００３７】
ここで、ｔは、１≦ｔ≦ｎの範囲で選択され、出力確率の計算対象のラベルｙｉを表すインデックスである。すなわち、ラベルｙｔが、出力確率の計算対象のラベルである。ｔは、１からｎまで昇順に選択される。
【００３８】
注意機構１３０は、エンコード部１１０が出力した隠れ状態ｈ０，・・・，ｈｎやデコード部１２０が出力したｓｔ→等が入力されると、これらの隠れ状態から、ラベルｙｔの出力確率の計算に用いられるΩｔを計算する。なお、Ωｔは、単語ｘｔのｄ次の親を示す単語の添字をｊとして、各隠れ状態ｈ０，・・・，ｈｎを、単語ｘｔのｄ次の親がｘｊである確率αｄ，ｔ，ｊにより重み付けすることによって計算される。なお、単語ｘｔは、ラベルｙｔが付与される単語である。Ωｔの計算方法の詳細等については後述する。
【００３９】
出力部１４０は、注意機構１３０が出力したΩｔや隠れ状態ｈｔ等が入力されると、これらのΩｔや隠れ状態ｈｔ等から隠れ状態ｄｔを計算することで、ｓｏｆｔｍａｘ関数によりラベルｙｔの出力確率を計算する。
【００４０】
＜エンコード部１１０の動作例＞
次に、本発明の実施の形態におけるエンコード部１１０の動作例について、図６を参照しながら説明する。図６は、本発明の実施の形態におけるエンコード部１１０の動作例を説明するための図である。
【００４１】
図６に示すように、エンコード部１１０は、入力系列ｘ＝（ｘ０，ｘ１，・・・，ｘｎ）が入力されると、各単語ｘｉ毎に、当該単語ｘｉを、順方向の再帰型ニューラルネットワーク（ｆｏｒｗａｒｄ−ＬＳＴＭ）により、隠れ状態
【００４２】
【数２】
2019153078.tif 000004
（以降では、これを「ｈｉ→」とも表す。）に変換する。
【００４３】
また、エンコード部１１０は、各単語ｘｉ毎に、当該単語ｘｉを、順方向とは逆方向の再帰型ニューラルネットワーク（ｂａｃｋｗａｒｄ−ＬＳＴＭ）により、隠れ状態
【００４４】
【数３】
2019153078.tif 000005
（以降では、これを「ｈｉ←」とも表す。）に変換する。
【００４５】
そして、エンコード部１１０は、各ｉ＝１，・・・，ｎに対して、隠れ状態ｈｉ→と隠れ状態ｈｉ←とを結合することで、隠れ状態ｈｉを得る。なお、エンコード部１１０には単語ｘｉが逐次的に入力されるため、隠れ状態ｈｉは、ｉ−１までの隠れ状態ｈ０，・・・，ｈｉ−１に依存する。
【００４６】
エンコード部１１０により得られた各隠れ状態ｈｉ、隠れ状態ｈｎ→及び隠れ状態ｈ０←は注意機構１３０に出力される。また、エンコード部１１０により得られた隠れ状態ｈ０←はデコード部１２０にも出力される。更に、エンコード部１１０により得られた各隠れ状態ｈｉは出力部１４０にも出力される。
【００４７】
＜デコード部１２０の動作例＞
次に、本発明の実施の形態におけるデコード部１２０の動作例について、図７を参照しながら説明する。図７は、本発明の実施の形態におけるデコード部１２０の動作例を説明するための図である。
【００４８】
図７に示すように、デコード部１２０は、ｔ＝１，・・・，ｎに対して、単語ｘｔと、ラベルｙｔ−１とを逐次的に入力する。
【００４９】
ｔ＝１の場合、デコード部１２０には、単語ｘ１とラベルｙ０とが入力される。この場合、デコード部１２０は、単語ｘ１と、ラベルｙ０と、エンコード部１１０から出力された隠れ状態ｈ０←とを結合したベクトルを、ｆｏｒｗａｒｄ−ＬＳＴＭにより、隠れ状態ｓ１→に変換する。このように、ｔ＝１の場合は、ルートノード（単語ｘ０）の存在を考慮し、エンコード部１１０から出力された隠れ状態ｈ０←を用いて、隠れ状態ｓ１→が計算される。
【００５０】
一方で、２≦ｔ≦ｎである場合、デコード部１２０には、単語ｘｔとラベルｙｔ−１とが入力される。この場合、デコード部１２０は、単語ｘｔと、ラベルｙｔ−１と、出力部１４０から出力された隠れ状態ｄｔ−１とを結合したベクトルを、ｆｏｒｗａｒｄ−ＬＳＴＭにより、隠れ状態ｓｔ→に変換する。なお、デコード部１２０には単語ｘｔ及びラベルｙｔ−１が逐次的に入力されるため、隠れ状態ｓｔ→は、ｔ−１までの隠れ状態ｓ１→，・・・，ｓｔ−１→に依存する。
【００５１】
これにより、デコード部１２０逐次的に入力された単語ｘｔ及びラベルｙｔ−１に対して、逐次的に隠れ状態ｓｔ→が得られる。デコード部１２０により得られた各隠れ状態ｓｔ→は、出力部１４０に出力される。
【００５２】
＜注意機構１３０の動作例＞
次に、本発明の実施の形態における注意機構１３０の動作例について、図８を参照しながら説明する。図８は、本発明の実施の形態における注意機構１３０の動作例を説明するための図である。
【００５３】
注意機構１３０には、更に、親への注意機構１３１と、再帰的注意機構１３２と、選択的注意機構１３３とが含まれる。
【００５４】
親への注意機構１３１は、単語ｘｔの親が単語ｘｊとなる確率Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）を隠れ状態ｈｔ及びｈｊ´を用いて計算する。この計算は、全てのｘｔとｘｊとの組み合わせに対して行われる。なお、ｊ´は、任意のｊを表す。
【００５５】
再帰的注意機構１３２は、単語ｘｔのｄ次の親がｘｊとなる確率αｄ，ｔ，ｊを、再帰的にＰｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）を用いることで計算する。また、再帰的注意機構１３２は、αｄ，ｔ，ｊを用いて、ｄ次の親を考慮した際の隠れ状態ｈ０，・・・，ｈｎの重み付き和γｄ，ｔを計算する。このように、αｄ，ｔ，ｊは、ｄ次の親を考慮した際の隠れ状態ｈ０，・・・，ｈｎの重み付き和γｄ，ｔを計算するための分布として扱われる。なお、γｄ，ｔは、各ｈ０，・・・，ｈｎと同じ次元のベクトルである。
【００５６】
選択的注意機構１３３は、各γｄ，ｔの次数
【００５７】
【数４】
2019153078.tif 000006
に対する重みβｄ，ｔを計算する。ここで、
【００５８】
【数５】
2019153078.tif 000007
は実数の集合を表す。βｄ，ｔは、エンコード部１１０から出力された隠れ状態ｈｎ→及び隠れ状態ｈ０←と、デコード部１２０から出力された隠れ状態ｓｔ→とを用いて計算されるスカラーである。
【００５９】
そして、選択的注意機構１３３は、再帰的注意機構１３２により計算された各γｄ，ｔと、βｄ，ｔとの重み付け和Ωｔを計算する。選択的注意機構１３３により得られたΩｔは、出力部１４０に出力される。
【００６０】
≪Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）の計算方法≫
本発明の実施の形態は、以下の参考文献１や参考文献２と同様に、単語間の依存構造を注意機構１３０のグラフ（すなわち、依存構造木）として表現している。
【００６１】
［参考文献１］
Kazuma Hashimoto and Yoshimasa Tsuruoka. Neural machine translation with source-side latent graph parsing. In Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing, pp. 125-135, Copenhagen, Denmark, September 2017. Association for Computational Linguistics.
［参考文献２］
Xingxing Zhang, Jianpeng Cheng, and Mirella Lapata. Dependency parsing as head selection. In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers, pp. 665-676, Valencia, Spain, April 2017. Association for Computational Linguistics.
依存構造木では、子となる単語は１つの親となる単語を持つ。この制約の下で、入力系列ｘ＝（ｘ０，ｘ１，・・・，ｘｎ）が与えられた場合、ｔ≠０を満たす単語ｘｔの親は、ｉ≠ｔを満たす単語ｘｉから選択される。そこで、親への注意機構１３１は、重み行列Ｗｇ、Ｕａ、Ｗａを用いて、ｘｔの親がｘｊとなる確率Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）を以下の式１及び式２により計算する。
【００６２】
【数６】
2019153078.tif 000008
【００６３】
【数７】
2019153078.tif 000009
ここで、δｘｊは要素ｘｊで１となり、それ以外の要素で０となる２値ベクトルである。
【００６４】
本発明の実施の形態では、構文解析器とは異なり、依存構造木を確定することはせず、Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）をそのまま使用している。
【００６５】
親への注意機構１３１により得られたＰｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）は、再帰的注意機構１３２に出力される。
【００６６】
≪αｄ，ｔの計算方法≫
再帰的注意機構１３２は、単語ｘｔのｄ次の親がｘｊとなる確率αｄ，ｔ，ｊを以下の式３により再帰的に計算する。
【００６７】
【数８】
2019153078.tif 000010
このとき、ルートノードは親を持たず、かつ、子と親とが同じ単語になることはないという依存構造木の制約を注意機構１３０上に取り込むため、α１，ｔ，ｊに対して、以下の式４に示す制約が課される。
【００６８】
【数９】
2019153078.tif 000011
上記の式４の１行目及び２行目によりルートノードの親はルートノードとなる。これは、ルートノードが親を持たないということを表している。また、上記の式４の３行目は親と子とが同じ単語にならないことを表している。なお、上記の式３の１行目が行列積の定義を満たすため、この式３の再帰的な注意の計算は、ＣＰＵ及びＧＰＵ（Graphics Processing Unit）上で効率的に計算することが可能である。
【００６９】
このように、再帰的に注意を用いることによって、高次の親の確率を計算する際に、それぞれの親ごとに注意機構を準備する必要がなくなる。また、これにより、複数の注意を学習する必要がなくなるため、学習時に、各注意の分布の重みを調整するためのハイパーパラメータも同様に不要になる。更に、これにより、高次の依存関係を直接考慮する必要がなくなるため、学習データがスパースになることを防ぐことができる。
【００７０】
≪γｄ，ｔの計算方法≫
再帰的注意機構１３２は、上記の式３で計算された確率αｄ，ｔ，ｊを用いて、隠れ状態ｈ０，・・・，ｈｎの重み付き和γｄ，ｔを以下の式５により計算する。
【００７１】
【数１０】
2019153078.tif 000012
再帰的注意機構１３２により得られたγｄ，ｔは、選択的注意機構１３３に出力される。
【００７２】
≪Ωｔの計算方法≫
入力された原文に対して適切な次数の依存関係を考慮するために、選択的注意機構１３３は、各隠れ状態γｄ，ｔの重み付け和Ωｔを以下の式６及び式７により計算する。
【００７３】
【数１１】
2019153078.tif 000013
【００７４】
【数１２】
2019153078.tif 000014
ここで、Ｗｃは、出力部１４０が有するソフトマックス層の重み行列を表す。また、ｃｔは現在の文脈を表す。なお、γ０，ｔはゼロベクトルであり、β０，ｔは依存構造木の情報を使用しないことを意味する。δｄは要素ｄで１となり、それ以外の要素で０となる２値ベクトルである。
【００７５】
また、文脈ｃｔは、
【００７６】
【数１３】
2019153078.tif 000015
により計算される。ここで、［，］はベクトルの結合を表す。
【００７７】
選択的注意機構１３３により得られたΩｔは、出力部１４０に出力される。
【００７８】
＜出力部１４０の動作例＞
次に、本発明の実施の形態における出力部１４０の動作例について、図９を参照しながら説明する。図９は、本発明の実施の形態における出力部１４０の動作例を説明するための図である。
【００７９】
図９に示すように、出力部１４０は、注意機構１３０から出力されたΩｔと、エンコード部１１０から出力された隠れ状態ｈｔと、デコード部１２０から出力された隠れ状態ｓｔ→とを結合したベクトル
【００８０】
【数１４】
2019153078.tif 000016
をソフトマックス層（図示した「ｓｏｆｔｍａｘ」）に入力し、ラベルｙｔの出力確率を計算する。ラベルｙｔの出力確率Ｐ（ｙｔ｜ｘ１，・・・，ｘｎ，ｙ１，・・・，ｙｔ−１）は、以下の式８により計算される。
【００８１】
【数１５】
2019153078.tif 000017
ここで、Ｖはラベル数を表す。
【００８２】
出力部１４０により得られたｄｔ及びｙｔはデコード部１２０に出力される。これらのｄｔ及びｙｔは、上述したように、デコード部１２０の隠れ状態ｓｔ＋１→の計算に用いられる。
【００８３】
＜文圧縮処理部１００の全体的な動作例＞
ここで、文圧縮処理部１００の全体的な動作の一例として、単語ｘ７に付与されるラベルｙ７の出力確率を決定する過程について、図１０を参照しながら説明する。図１０は、本発明の実施の形態における文圧縮処理部１００の全体的な動作例を説明するための図である。
【００８４】
図１０に示すように、エンコード部１１０には単語ｘ０〜ｘ７が逐次的に入力され、隠れ状態ｈ０〜ｈ７が逐次的に出力される。すなわち、単語ｘ０がエンコード部１１０に入力され、隠れ状態ｈ０が出力される。次に、単語ｘ１がエンコード部１１０に入力され、隠れ状態ｈ１が出力される。以降も同様に、単語ｘ２〜ｘ７がエンコード部１１０にそれぞれ入力され、隠れ状態ｈ２〜ｈ７が順に出力される。隠れ状態ｈ０〜ｈ７は、注意機構１３０に入力される。
【００８５】
注意機構１３０の親への注意機構１３１は、エンコード部１１０から出力された隠れ状態ｈ１〜ｈ７からＰｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）を計算する。この計算は、ｔ＝０，１，・・・，７に対して、順に、全てのｘｔとｘｊとの組み合わせに対して行われる。なお、図１０では、この計算の結果、それぞれの単語に対して、親となる確率が最も高い単語を、親から子へ向けた矢印で表している。例えば、図１０では、単語ｘ７の親となる確率が最も高い単語は、単語ｘ６であることが示されている。Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）は、再帰的注意機構１３２に入力される。
【００８６】
注意機構１３０の再帰的注意機構１３２は、Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）を用いて、単語ｘｔのｄ次の親がｘｊとなる確率αｄ，ｔ，ｊを再帰的に計算する。図１０に示す例では、単語ｘ７の親となる確率が最も高い単語を３次（ｄ＝３）まで辿った場合、単語ｘ６、ｘ５、ｘ２がそれぞれ単語ｘ７の１次の親、２次の親、３次の親であることが示されている。これらの親に対応する隠れ状態ｈ６、ｈ５、ｈ２は、それぞれ１次の注意α１，７，６、２次の注意α２，７，５、３次の注意α３，７，２によって重み付けされた後、足し合され、それぞれγ１，７、γ２，７、γ３，７となる。これらのγ１，７、γ２，７、γ３，７は、選択的注意機構１３３に入力される。
【００８７】
注意機構１３０の選択的注意機構１３３は、γ１，７、γ２，７、γ３，７をそれぞれβ１，７、β２，７、β３，７によって重み付けした後、足し合わせて、Ω７を得る。このΩ７は、出力部１４０に入力される。なお、上述したように、Ω７の計算には、ｈ０←と、ｈ７→と、ｓ７→とが用いられる。
【００８８】
他方で、ｔ＝１に対して、単語ｘ１と、ラベルｙ０と、エンコード部１１０から出力されたｈ０←とがデコード部１２０に入力されることで、隠れ状態ｓ１→が出力される。また、ｔ＝２，・・・，７に対して、単語ｘｔと、ラベルｙｔ−１と、出力部１４０から出力されたｄｔ−１とがデコード部１２０に逐次的に入力されることで、隠れ状態ｓｔ→が順に出力される。これらのｓｔ→は、順に出力部１４０に入力される。
【００８９】
そして、ｔ＝１，２，・・・，７に対して、デコード部１２０から出力された隠れ状態ｓｔ→と、エンコード部１１０から出力された隠れ状態ｈｔと、注意機構１３０から出力されたΩｔとが出力部１４０に逐次的に入力されることで、ラベルｙｔが順に出力される。このとき、ラベルｙｔを計算する際に用いたｄｔはデコード部１２０に出力され、ｔ−１における隠れ状態ｓｔ＋１→の計算に用いられる。
【００９０】
これにより、原文を構成する各単語ｘ０，ｘ１，・・・，ｘ７にそれぞれ付与されるラベルｙ０，ｙ１，・・・，ｙ７が得られる。これらのラベルｙ０，ｙ１，・・・，ｙ７を用いて、原文から圧縮文が生成される。より具体的には、例えば、原文を構成する各単語ｘｉのうち、対応するラベルｙｉが「維持」である単語ｘｉを用いることで、これらの単語ｘｉにより構成される圧縮文が生成される。
【００９１】
＜注意機構１３０の学習＞
上記では、文圧縮処理部１００が用いる各パラメータは学習済であるものとして説明したが、これらの各パラメータは、後述する学習データを用いて学習される。学習されるパラメータとしては、Ｐｐａｒｅｎｔ（ｘｊ｜ｘｔ，ｘ）の計算に用いられる重み行列Ｗｇ、Ｕａ、Ｗａや、βｄ，ｔの計算に用いられる重み行列Ｗｃ等が挙げられる。
【００９２】
このとき、注意機構１３０は、既知の構文解析器から得られた構文解析結果を用いて、複数の単語間の依存の可能性を考慮しつつ、単語の削除確率を同時に学習する。そこで、以降では、複数の単語間の依存の可能性を考慮しつつ、単語の削除確率を同時に学習する場合について説明する。
【００９３】
ここで、既存の構文解析器の解析結果には誤りが含まれる可能性がある。このため、既知の構文解析器による解析誤りの影響を低減するために、本発明の実施の形態では、１次の依存関係を表す注意の分布α１，ｄ，ｊと、ラベルの出力確率Ｐ（ｙ｜ｘ）とを同時に学習する。学習は、入力文に対応するベクトル系列と、この入力文の構文解析器による解析結果と、正解を示すラベル（正解ラベル）との３つが含まれる学習データを用いて行われる。なお、入力文に対応するベクトル系列とは、例えば、Ｗｏｒｄ２Ｖｅｃ等の既知の手法により、入力文に含まれる各単語を所定次元のベクトルに変換することで得られるベクトル系列である。
【００９４】
学習データ中の依存構造木において、単語ｘｔの親がｘｊであることをａｔ，ｊ＝１と定義し、単語ｘｔの親がｘｊでないことをａｔ，ｊ＝０と定義した場合、本発明の実施の形態の目的関数は、以下の式９で定義される。
【００９５】
【数１６】
2019153078.tif 000018
ここで、λはラベルと依存構造解析の重要度とを調整するためのハイパーパラメータである。この式９に示す目的関数を最小化するように注意機構１３０が学習される。
【００９６】
＜出力部１４０の学習＞
出力部１４０は、学習時に、正解として与えられた文圧縮ラベル（正解ラベル）と、出力する文圧縮ラベルとが等しくなるように学習を行う。
【００９７】
＜まとめ＞
以上のように、本発明の実施の形態における文圧縮装置１０は、原文中の任意の単語から祖先への依存構造の連鎖も考慮した注意機構１３０をＳｅｑ２Ｓｅｑに組み込むことで、深い依存構造木を持つ文においても精度の高い文圧縮を可能にしている。したがって、本発明の実施の形態における文圧縮装置１０を用いることで、例えば、重要な単語が深い位置に存在する場合であっても、このような重要な単語によって表される情報を保持した圧縮文を生成することが可能となる。
【００９８】
なお、本発明の実施の形態における注意機構１３０は、文圧縮だけでなく、文を表す入力系列｛ｘｉ｝から、この文に対応する所定の目的に応じた出力系列｛ｙｉ｝を得る任意の記号列生成処理に対しても適用することができる。このような記号列生成処理の具体例は、例えば、言語の翻訳を目的として、或る言語の入力文を表す入力系列から他の言語の出力文を表す出力系列を得る翻訳等が挙げられる。また、例えば、文の構造解析を目的として、入力文を表す入力系列｛ｘｉ｝から、入力文に対応する句構造木を表す出力系列｛ｙｉ｝（句構造のラベルの系列）を得る句構造解析にも適用することができる。
【００９９】
ただし、本発明の実施の形態は、入力文における単語間の関係性を、注意機構１３０におけるグラフ（木構造）として扱うタスクであれば、文圧縮や翻訳、句構造解析等のタスクに限られず、任意のタスクに適用することができる。
【０１００】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１０１】
１０        文圧縮装置
１００      文圧縮処理部
１１０      エンコード部
１２０      デコード部
１３０      注意機構
１３１      親への注意機構
１３２      再帰的注意機構
１３３      選択的注意機構
１４０      出力部
【図１】
2019153078.tif 000021
【図２】
2019153078.tif 000022
【図３】
2019153078.tif 000023
【図４】
2019153078.tif 000024
【図５】
2019153078.tif 000025
【図６】
2019153078.tif 000026
【図７】
2019153078.tif 000027
【図８】
2019153078.tif 000028
【図９】
2019153078.tif 000029
【図１０】
2019153078.tif 000030