IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電信電話株式会社の特許一覧

特許7405234文生成装置、文生成学習装置、文生成方法、文生成学習方法及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】文生成装置、文生成学習装置、文生成方法、文生成学習方法及びプログラム
(51)【国際特許分類】
   G06F 40/56 20200101AFI20231219BHJP
   G06F 40/44 20200101ALI20231219BHJP
   G06N 3/04 20230101ALI20231219BHJP
【FI】
G06F40/56
G06F40/44
G06N3/04
【請求項の数】 10
(21)【出願番号】P 2022504804
(86)(22)【出願日】2020-03-03
(86)【国際出願番号】 JP2020008835
(87)【国際公開番号】W WO2021176549
(87)【国際公開日】2021-09-10
【審査請求日】2022-06-21
【新規性喪失の例外の表示】特許法第30条第2項適用 2020年1月21日にhttps://arxiv.org/abs/2001.07331及びhttps://arxiv.org/pdf/2001.07331.pdfのウェブサイトで公開されている論文サイトarXivにて発表 2019年3月4日にhttps://www.anlp.jp/nlp2019/program.html及びhttps://www.anlp.jp/nlp2019/#proceedingsのウェブサイトで公開された言語処理学会第25回年次大会(NLP2019)の予稿集にて発表
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】斉藤 いつみ
(72)【発明者】
【氏名】西田 京介
(72)【発明者】
【氏名】西田 光甫
(72)【発明者】
【氏名】浅野 久子
(72)【発明者】
【氏名】富田 準二
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2018-190188(JP,A)
【文献】米国特許出願公開第2019/0332919(US,A1)
【文献】清野 舜 外5名 ,ニューラルヘッドライン生成における誤生成問題の改善,言語処理学会第24回年次大会 発表論文集 [online],日本,言語処理学会,2018年03月05日,pp.1-4
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/56
G06F 40/44
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
入力文を入力して文を生成する生成部を有し、
前記生成部は、
前記入力文を構成する各単語について重要度を推定すると共に、前記入力文を符号化する内容選択符号化部と、
符号化の結果及び前記重要度を入力として、前記入力文に基づいて前記文を生成する復号化部と、
を含む、学習済みのパラメータに基づくニューラルネットワークである、
ことを特徴とする文生成装置。
【請求項2】
前記復号化部は、前記符号化の結果又は前記復号化部におけるアテンション確率を前記重要度によって重み付けする、
ことを特徴とする請求項1記載の文生成装置。
【請求項3】
前記入力文を構成する各単語について重要度を推定し、前記重要度に基づいて前記入力文から参考テキストに含める単語を選択する内容選択部を有し、
前記内容選択符号化部は、前記入力文及び前記参考テキストを構成する各単語について重要度を推定すると共に、前記入力文及び前記参考テキストを符号化する、
ことを特徴とする請求項2記載の文生成装置。
【請求項4】
入力文を入力して文を生成する生成部を有し、
前記生成部は、
前記入力文を構成する各単語について重要度を推定すると共に、前記入力文を符号化する内容選択符号化部と、
符号化の結果及び前記重要度を入力として、前記入力文に基づいて前記文を生成する復号化部と、
を含む、学習済みのパラメータに基づくニューラルネットワークであり、
前記文の正解情報を用いて前記生成部に係るパラメータを更に学習するパラメータ学習部を更に有する、
ことを特徴とする文生成学習装置。
【請求項5】
入力文を入力して文を生成する生成部を有し、
前記生成部は、
前記入力文を構成する各単語について重要度を推定すると共に、前記入力文を符号化する内容選択符号化部と、
符号化の結果を入力として、前記入力文に基づいて前記文を生成する復号化部と、
を含む、学習済みのパラメータに基づくニューラルネットワークであり、
前記重要度の正解情報と前記文の正解情報とを用い、前記内容選択符号化部に係るパラメータを共有して前記内容選択符号化部に係るパラメータと前記生成部に係るパラメータとをマルチタスク学習するパラメータ学習部を更に有する、
ことを特徴とする文生成学習装置。
【請求項6】
入力文を入力して文を生成する生成部を有する文生成装置における文生成方法であって、
前記生成部が、
前記入力文を構成する各単語について重要度を推定すると共に、前記入力文を符号化する内容選択符号化手順と、
符号化の結果及び前記重要度を入力として、前記入力文に基づいて前記文を生成する復号化手順とを実行し、
前記内容選択符号化手順及び前記復号化手順は、学習済みのパラメータに基づくニューラルネットワークを用いる、
ことを特徴とする文生成方法。
【請求項7】
入力文を入力して文を生成する生成部を有する文生成装置における文生成学習方法であって、
前記生成部は、
前記入力文を構成する各単語について重要度を推定すると共に、前記入力文を符号化する内容選択符号化部と、
符号化の結果及び前記重要度を入力として、前記入力文に基づいて前記文を生成する復号化部と、
を含む、学習済みのパラメータに基づくニューラルネットワークであり、
前記文生成装置が、前記文の正解情報を用いて前記生成部に係るパラメータを更に学習するパラメータ学習手順を実行する、
ことを特徴とする文生成学習方法。
【請求項8】
入力文を入力して文を生成する生成部を有する文生成装置における文生成学習方法であって、
前記生成部は、
前記入力文を構成する各単語について重要度を推定すると共に、前記入力文を符号化する内容選択符号化部と、
符号化の結果を入力として、前記入力文に基づいて前記文を生成する復号化部と、
を含む、学習済みのパラメータに基づくニューラルネットワークであり、
前記文生成装置が、前記重要度の正解情報と前記文の正解情報とを用い、前記内容選択符号化部に係るパラメータを共有して前記内容選択符号化部に係るパラメータと前記生成部に係るパラメータとをマルチタスク学習するパラメータ学習手順を実行する、
ことを特徴とする文生成学習方法。
【請求項9】
請求項1乃至3いずれか一項記載の文生成装置としてコンピュータを機能させることを特徴とするプログラム。
【請求項10】
請求項4又は5記載の文生成学習装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文生成装置、文生成学習装置、文生成方法、文生成学習方法及びプログラムに関する。
【背景技術】
【0002】
事前学習済Encoder-Decoderモデルは、Transformer型のEncoder-Decoderモデルを大量の教師なしデータによって事前学習したモデルである(例えば、非特許文献1)。様々な文生成タスクにおいて当該モデルを事前モデルとして用い、タスクに合わせてFinetuningを行うことで高い精度を達成できる。
【先行技術文献】
【非特許文献】
【0003】
【文献】BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension、インターネット<URL:https://www.arxiv-vanity.com/papers/1910.13461/>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、事前学習済Encoder-Decoderモデルでは、要約などのタスクに合わせた「入力テキストのどの部分が重要か」については学習されていない。
【0005】
本発明は、上記の点に鑑みてなされたものであって、文生成の精度を向上させることを目的とする。
【課題を解決するための手段】
【0006】
そこで上記課題を解決するため、文生成装置は、入力文を入力して文を生成する生成部を有し、前記生成部は、前記入力文を構成する各単語について重要度を推定すると共に、前記入力文を符号化する内容選択符号化部と、符号化の結果及び前記重要度を入力として、前記入力文に基づいて前記文を生成する復号化部と、を含む、学習済みのパラメータに基づくニューラルネットワークである。
【発明の効果】
【0007】
文生成の精度を向上させることができる。
【図面の簡単な説明】
【0008】
図1】第1の実施の形態における文生成装置10のハードウェア構成例を示す図である。
図2】第1の実施の形態における文生成装置10の機能構成例を示す図である。
図3】第1の実施の形態における生成部12の構成例を示す図である。
図4】第1の実施の形態における文生成装置10が実行する処理手順の一例を説明するためのフローチャートである。
図5】各単語に対する重要度の推定を説明するための図である。
図6】第1の実施の形態における生成部12による処理を説明するための図である。
図7】第1の実施の形態における文生成装置10の学習時における機能構成例を示す図である。
図8】第2の実施の形態における生成部12の構成例を示す図である。
図9】第2の実施の形態における生成部12による処理を説明するための図である。
図10】第3の実施の形態における文生成装置10の機能構成例を示す図である。
図11】第3の実施の形態における文生成装置10が実行する処理手順の一例を説明するためのフローチャートである。
図12】知識源DB20の構成例を示す図である。
図13】関連度計算モデルの第1の例を説明するための図である。
図14】関連度計算モデルの第2の例を説明するための図である。
図15】第3の実施の形態における文生成装置10の学習時における機能構成例を示す図である。
図16】第4の実施の形態における文生成装置10の機能構成例を示す図である。
図17】第4の実施の形態における生成部12の構成例を示す図である。
図18】第4の実施の形態におけるモデル構成例を示す図である。
図19】第4の実施の形態における文生成装置10の学習時における機能構成例を示す図である。
図20】第5の実施の形態における文生成装置10の機能構成例を示す図である。
図21】第5の実施の形態における生成部12の構成例を示す図である。
図22】第5の実施の形態におけるモデル構成例を示す図である。
図23】第6の実施の形態における文生成装置10の機能構成例を示す図である。
図24】第6の実施の形態におけるモデル構成例を示す図である。
図25】第6の実施の形態における文生成装置10の学習時における機能構成例を示す図である。
図26】第7の実施の形態における文生成装置10の機能構成例を示す図である。
図27】第7の実施の形態における文生成装置10の学習時における機能構成例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、第1の実施の形態における文生成装置10のハードウェア構成例を示す図である。図1の文生成装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
【0010】
文生成装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0011】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って文生成装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0012】
なお、文生成装置10は、CPU104の代わりに、又はCPU104と共にGPU(Graphics Processing Unit)を有してもよい。
【0013】
図2は、第1の実施の形態における文生成装置10の機能構成例を示す図である。図2において、文生成装置10は、内容選択部11及び生成部12を有する。これら各部は、文生成装置10にインストールされた1以上のプログラムが、CPU104又はGPUに実行させる処理により実現される。
【0014】
文生成装置10には、ソーステキスト(入力文)及び入力文とは異なる情報(ソーステキストの要約において考慮すべき条件又は情報(以下、「考慮情報」という。))がテキストとして入力される。考慮情報として、第1の実施の形態では、ソーステキストに基づいて文生成装置10が生成する文(要約文)の長さ(単語数)K(以下、「出力長K」という。)が採用される例について説明する。
【0015】
内容選択部11は、ソーステキストを構成する各単語について、重要度[0,1]を推定する。内容選択部11は、出力長Kに基づいて、所定数(重要度が上位K番目まで)の単語を抽出し、抽出した単語を連結した結果を参考テキストとして出力する。なお、重要度とは、単語が要約文に含まれる確率をいう。
【0016】
生成部12は、ソーステキストと、内容選択部11から出力される参考テキストとに基づいてターゲットテキスト(要約文)を生成する。
【0017】
なお、内容選択部11及び生成部12は、文生成タスク(本実施の形態では、要約)を実行するニューラルネットワークに基づく。具体的には、内容選択部11は、BERT(Bidirectional Encoder Representations from Transformers)に基づき、生成部12は、Transformer-based pointer generatorモデル「Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Advances in Neural Information Processing Systems 30, pages 5998-6008.」(以下、「参考文献1」という。)に基づく。したがって、内容選択部11及び生成部12による処理は、当該ニューラルネットワークについての学習パラメータの学習済みの値(学習済みパラメータ)に基づいて処理を実行する。
【0018】
図3は、第1の実施の形態における生成部12の構成例を示す図である。図3に示されるように、生成部12は、ソーステキスト符号化部121、参考テキスト符号化部122、復号化部123及び合成部124等を含む。各部の機能については後述される。
【0019】
以下、文生成装置10が実行する処理手順について説明する。図4は、第1の実施の形態における文生成装置10が実行する処理手順の一例を説明するためのフローチャートである。
【0020】
ステップS101において、内容選択部11は、ソーステキストXに含まれる各単語について、重要度を推定(計算)する。
【0021】
本実施の形態において、内容選択部11は、BERT(Bidirectional Encoder Representations from Transformers)を用いる。BERTは、多くのシーケンスタギングタスクでSOTA(State-of-the-Art)を達成している。本実施の形態において、内容選択部11は、BERTトークナイザ、fine-tuningされたBERTモデル、及びタスク固有に追加されたfeed forward network(フィードフォワードネットワーク)を用いてソーステキストを単語に分割する。内容選択部11は、以下の式に基づいて、単語x の重要度pext を計算する。なお、pext は、ソーステキストXにおけるn番目の単語x の重要度を示す。
【0022】
【数1】
但し、BERT()は、事前トレーニングされたBERTの最後の隠れ状態である。
【0023】
【数2】
とbは、内容選択部11の学習パラメータである。σは、シグモイド関数である。dbertは、事前学習済みBERTの最後の隠れ状態の次元である。
【0024】
図5は、各単語に対する重要度の推定を説明するための図である。図5では、ソーステキストXにN個の単語が含まれている例が示されている。この場合、内容選択部11は、N個の単語のそれぞれの重要度pext を計算する。
【0025】
続いて、内容選択部11は、重要度pext の大きい単語から順にK個の単語の集合(単語列)を抽出する(S102)。なお、Kは、上記したように出力長である。抽出された単語列は、参考テキストとして生成部12に出力される。
【0026】
但し、ステップS101において、重要度は、以下の式(2)のpextw nとして計算されてもよい。この場合、pextw nの大きい単語から順にK個の単語の集合(単語列)が参考テキストとして抽出される。
【0027】
【数3】
但し、NSjは、j番目の文S∈Xの単語数である。この重み付けを使用することにより、文レベルの重要度を組み込むことができ、単語レベルの重要度pext のみを使用する場合よりも流暢な参考テキストを抽出することができる。
【0028】
式(1)又は式(2)のいずれを使用する場合であっても、本実施の形態によれば、参考テキスト内の単語の数に応じて要約文の長さを制御できる。
【0029】
続いて、生成部12は、参考テキスト及びソーステキストXに基づいて、要約文を生成する(S103)。
【0030】
ステップS103の詳細について以下に説明する。図6は、第1の実施の形態における生成部12による処理を説明するための図である。
【0031】
[ソーステキスト符号化部121]
ソーステキスト符号化部121は、ソーステキストXを受け取り、
【0032】
【数4】
を出力する。ここで、dmodelは、Transformerのモデルサイズである。
【0033】
ソーステキスト符号化部121の埋め込み層は、各単語x (サイズV)のone-hotベクトルを、Glove(「Jeffrey Pennington, Richard Socher, and Christopher D. Manning. 2014. Glove: Global vectors for word representation. In In EMNLP.」(以下、「参考文献2」という。))のような事前学習された重み行列
【0034】
【数5】
によって、dword次元のベクトル列へ投影する。
【0035】
次に、埋め込み層は、完全に接続されたレイヤを使用して、dword次元の単語埋め込みをdmodel次元のベクトルにマッピングし、マッピングされた埋め込みをReLU関数に渡す。埋め込み層は、また、単語の埋め込みに位置エンコードを追加する(参考文献1)。
【0036】
ソーステキスト符号化部121のTransformer Endcoder Blockは、参考文献1のそれと同じ構造を有する。Transformer Endcoder Blockは、Multi-head self-attentionネットワークと、完全に接続されたfeed forward network(フィードフォワードネットワーク)とから構成される。各ネットワークは、residual connection(リジジュアル コネクション)を適用する。
【0037】
[参考テキスト符号化部122]
参考テキスト符号化部122は、それぞれの重要度を伴った上位K個の単語列である参考テキストXを受け取る。参考テキストXにおける単語の並び順は、ソーステキストの出現順に再配置される。参考テキスト符号化部122からの出力は、以下の通りである。
【0038】
【数6】
参考テキスト符号化部122の埋め込み層は、入力を除いてソーステキスト符号化部121の埋め込み層と同じである。
【0039】
参考テキスト符号化部122のTransformer Decoder Blockは、参考文献1のそれとほぼ同じである。参考テキスト符号化部122は、各エンコーダレイヤの2つのサブレイヤに加えて、エンコーダスタックの出力でマルチヘッドアテンションを実行するインタラクティブなアライメントレイヤを有する。residual connection(リジジュアル コネクション)は、ソーステキスト符号化部121のTransformer Endcoder Blockと同じ方法で適用される。
【0040】
[復号化部123]
復号化部123は、Mと自己回帰プロセスとして生成された要約文Yの単語列とを受け取る。ここで、M は、要約文を生成するためのガイドベクトルとして使用される。復号化部123からの出力は、以下の通りである。
【0041】
【数7】
但し、t∈Tは、各デコードステップである。
【0042】
復号化部123の埋め込み層は、事前学習済みの重み行列W を使用して、要約文Yにおけるt番目の単語yをM にマッピングする。埋め込み層は、M とM とを連結し、それをハイウェイネットワーク(highway network)(「Rupesh Kumar Srivastava, Klaus Greff, and Jurgen Schmidhuber. 2015. Highway networks. CoRR, 1505.00387.」)に引き渡す。したがって、連結された埋め込みは、
【0043】
【数8】
である。Wmergeは、モデル次元のベクトルにマップされ、ソーステキスト符号化部121及び参考テキスト符号化部122のようにReLUを通過する。マッピングされたベクトルには位置エンコードが追加される。
【0044】
復号化部123のTransformer Decoder Blockは、参考文献1のそれと同じ構造を有する。このコンポーネントはテスト時に段階的に使用されるため、後続のマスクが使用される。
【0045】
[合成部124]
合成部124は、Pointer-Generatorを用いて、コピーの分布に基づいてソーステキスト及び復号化部123のいずれかの情報を選択し、選択された情報に基づいて要約文を生成する。
【0046】
本実施の形態では、コピー分布として、復号化部123の最初のアテンションヘッドが使用される。したがって、最終的な語彙の分布は以下の通りである。
【0047】
【数9】
ここで、生成確率は、以下の通りに定義される。
【0048】
【数10】
p(y|z=1,y1:t-1,x)は、コピー分布である。p(z)は、yがソーステキストからコピーされるかどうかの重みを表すコピー確率である。p(z)は、以下の通り定義される。
【0049】
【数11】
なお、図4のステップS101における重要度の推定は、「斉藤いつみ, 西田京介, 大塚淳史, 西田光甫, 浅野久子, 富田準二、"クエリ・出力長を考慮可能な文書要約モデル"、言語処理学会第25回年次大会(NLP2019)、https://www.anlp.jp/proceedings/annual_meeting/2019/pdf_dir/P2-11.pdf」にて開示されている方法によって実現されてもよい。
【0050】
続いて、学習について説明する。図7は、第1の実施の形態における文生成装置10の学習時における機能構成例を示す図である。図7中、図3と同一部分には同一符号を付し、その説明は省略する。
【0051】
学習時において、文生成装置10は、更に、パラメータ学習部13を有する。パラメータ学習部13は、文生成装置10にインストールされた1以上のプログラムが、CPU104又はGPUに実行させる処理により実現される。
【0052】
[内容選択部11の学習データ]
例えば、「Sebastian Gehrmann, Yuntian Deng, and Alexander Rush. 2018. Bottom-up abstractive summarization. In EMNLP, pages 4098-4109.」(以下、「参考文献3」という。)のような擬似トレーニングデータを学習データとして用いる。当該学習データは、全てのソーステキストX の単語x 及びラベルrのペア(x ,r)で構成される。要約文でx が選択される場合、rは1である。このペアのデータを自動的に作成するには、まず、「Wan-Ting Hsu, Chieh-Kai Lin, Ming-Ying Lee, Kerui Min, Jing Tang, and Min Sun. 2018. A unified model for extractive and abstractive summarization using inconsistency loss. In ACL (1), pages 132- 141.」と同じ方法でROUGE-Rスコアを最大化するオラクルのソース文Soracleを抽出する。次に、動的プログラミングアルゴリズムを使用して、リファレンスサマリとSoracle間の単語ごとのアライメントを計算する。最後に、アライメントが取れた全ての単語に1のラベルを付与し、他の単語に0のラベルを付与する。
【0053】
[生成部12の学習データ]
生成部12の学習のためには、ソーステキスト、抽出された単語のゴールドセット、及びターゲットテキスト(要約文)の3つの組のデータ(X,X,Y)を作成する必要がある。具体的には、内容選択部11を使用してオラクル文Soracleを選択し、Soracleの全ての単語x に対してpext をスコアリングする。次に、pext に従って上位K個の単語を選択する。なお、元の単語の順序はXで保持される。Kは、リファレンスサマリ長Tを使用して計算される。目的の長さに近い自然な要約文を取得するには、リファレンスサマリ長Tを個別のサイズ範囲に量子化する。本実施の形態では、サイズ範囲は5に設定される。
【0054】
[内容選択部11の損失関数]
内容選択部11が実行する処理は、単純なバイナリ分類タスクであるため、バイナリクロスエントロピー損失を使用する。
【0055】
【数12】
但し、Mは、学習例の数である。
【0056】
[生成部12の損失関数]
生成部12の主な損失は、クロスエントロピー損失である。
【0057】
【数13】
更に、参考テキスト符号化部122及び復号化部123のアテンションガイド損失を追加する。このアテンションガイド損失は、推定されたアテンション分布を参照アテンションに導くように設計されている。
【0058】
【数14】
p(asum )及びp(asal )は、それぞれ復号化部123及び参考テキスト符号化部122のアテンションヘッドのトップである。n(t)は、要約単語列のt番目の単語に対応するソーステキスト内の絶対位置を示す。
【0059】
生成部12の全体的な損失は、上記3つの損失の線形結合である。
【0060】
【数15】
λ及びλは、後述の実験では0.5に設定された。
【0061】
上記より、パラメータ学習部13は、上記した学習データに基づく内容選択部11及び生成部12の処理結果を、上記の損失関数によって評価し、当該損失関数が収束するまで内容選択部11及び生成部12のそれぞれの学習パラメータを更新する。当該損失関数が収束した際の学習パラメータの値が、学習済みパラメータとして利用される。
【0062】
[実験]
第1の実施の形態について行った実験について説明する。
【0063】
<データセット>
ニュース要約の標準コーパスであるCNN-DMデータセット(「Karl Moritz Hermann, Tomas Kocisky, Edward Grefenstette, Lasse Espeholt, Will Kay, Mustafa Suleyman, and Phil Blunsom. 2015. Teaching machines to read and comprehend. In Advances in Neural Information Processing Systems 28, pages 1693-1701.」(以下、「参考文献4」という。))を使用した。要約は、それぞれのWebサイトに表示される記事の箇条書きである。「Abigail See, Peter J. Liu, and Christopher D. Manning. 2017. Get to the point: Summarization with pointergenerator networks. In ACL (1), pages 1073-1083. (2017)」に従い、コーパスの匿名化されていないバージョンを使用し、ソースドキュメントを400トークンに、ターゲットサマリーを120トークンに切り詰めた。データセットは、286817個のトレーニングペア、13368個の検証ペア、及び11487個のテストペアを含む。モデルのドメイン移転能力を評価するために、Newsroomデータセットも使用した(「Max Grusky, Mor Naaman, and Yoav Artzi. 2018. Newsroom: A dataset of 1.3 million summaries with diverse extractive strategies. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers), pages 708-719. Association for Computational Linguistics.」)。
【0064】
CNN/DMデータセットで学習された生成部12を使用しながら、Newsroomデータセットで内容選択部11を学習させた(参考文献3)。Newsroomには、さまざまなニュースソース(38の異なるニュースサイト)が含まれている。内容選択部11の学習のために、全ての学習データから300000トレーニングペアをサンプリングした。テストペアのサイズは106349である。
【0065】
<モデル構成>
2つのデータセットに同じ構成を使用した。 内容選択部11は、事前に学習されたBERTラージモデルを使用した(「Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2018. Bert: Pre-training of deep bidirectional transformers for language understanding. CoRR.」)。2つのエポックのBERTをfine-tuningした。デフォルト設定は、fine-tuningのための他のパラメータに使用した。内容選択部11及び生成部12は、事前に学習された300次元のGloVe埋め込みを使用した。Transformer dmodelのモデルサイズは512に設定された。Transformerは、ソーステキスト符号化部121、参考テキスト符号化部122及び復号化部123のための4つのTransformerブロックを含む。ヘッドの数は8で、feed forward network(フィードフォワードネットワーク)の次元の数は2048にした。ドロップアウト率は0.2に設定した。最適化には、β=0.9、β=0.98、ε=e-9であるAdamオプティマイザー(「Diederik P. Kingma and Jimmy Ba. 2015. Adam: A method for stochastic optimization. In International Conference on Learning Representations (ICLR).」)を使用した。参考文献1に従い、学習中に学習率を変化させた。ウォームアップステップを8000に設定した。入力ボキャブラリのサイズを100000に、出力ボキャブラリのサイズを1000に設定した。
【0066】
<実験結果>
表1に、非特許文献1と第1の実施の形態とのそれぞれのROUGEスコアを示す。
【0067】
【表1】
表1によれば、ROUGE-1(R-1)、ROUGE-2(R-2)及びROUGE-L(R-L)の全ての観点において、第1の実施の形態の方が非特許文献1よりも優れていることが分かる。
【0068】
上述したように、第1の実施の形態によれば、文を生成する際に考慮すべき情報(出力長)をテキストとして付加可能とすることができる。その結果、ソーステキスト(入力文)と、考慮すべき情報の特徴量と等価に扱うことが可能となる。
【0069】
なお、「Yuta Kikuchi, Graham Neubig, Ryohei Sasano, Hiroya Takamura, and Manabu Okumura. 2016. Controlling output length in neural encoder-decoders. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pages 1328-1338. Association for Computational Linguistics.」では、長さembeddingを用いて長さの制御を行う.この方法では,長さに応じた単語の重要度を明示的に考慮することができず,長さの制御において出力文に含めるべき情報を適切にコントロールすることができない。一方、本実施の形態によれば、長さembeddingを用いずに、より直接的に出力長Kに応じて重要な情報をコントロールしながら高精度な要約文の生成が可能である。
【0070】
次に、第2の実施の形態について説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
【0071】
図8は、第2の実施の形態における生成部12の構成例を示す図である。図8中、図3と同一部分には同一符号を付し、その説明は省略する。
【0072】
図8では、ソーステキスト符号化部121及び参考テキスト符号化部122が相互参照する点が、図3と異なる。この相互参照は、ソーステキスト及び参考テキストが符号化される際に行われる。
【0073】
このように、第2の実施の形態では、生成部12の構成が異なる。したがって、第2の実施の形態では、ステップS103における、参考テキスト及びソーステキストXに基づいて要約文を生成する手順も第1の実施の形態と異なる。
【0074】
図9は、第2の実施の形態における生成部12による処理を説明するための図である。図9に示されるように、第2の実施の形態では、ソーステキスト符号化部121及び参考テキスト符号化部122をまとめてジョイント符号化部125という。
【0075】
[ジョイント符号化部125]
まず、ジョイント符号化部125の埋め込み層は、単語x (サイズV)の各one-hotベクトルを、GloVeなどの事前学習済みの重み行列
【0076】
【数16】
を使用して、dword次元のベクトル列に投影する(参考文献2)。
【0077】
次に、埋め込み層は、完全に接続されたレイヤを使用して、dword次元の単語の埋め込みをdmodel次元のベクトルにマッピングし、マッピングされた埋め込みをReLU関数に渡す。埋め込み層は、また、単語の埋め込みに位置エンコードを追加する(参考文献1)。
【0078】
ジョイント符号化部125のTransformer Endcoder Blockは、埋め込まれたソーステキスト及び参考テキストを、Transformerブロックのスタックでエンコードする。このブロックは、参考文献1のそれと同じアーキテクチャを備える。これは、Multi-head self-attentionネットワークと完全に接続されたfeed forward network(フィードフォワードネットワーク)の2つのサブコンポーネントで構成される。各ネットワークは、residual connection(リジジュアル コネクション)を適用する。このモデルでは、ソーステキストと参考テキストの両方がエンコーダスタックで個別にエンコードされる。これらの出力をそれぞれ、
【0079】
【数17】
で示す。
【0080】
ジョイント符号化部125のTransformer dual encoder blocksは、エンコードされたソーステキストと参考テキストとの間のインタラクティブなアテンションを計算する。具体的には、最初にソーステキスト及び参考テキストをエンコードし、エンコーダスタックの他の出力(つまり、E 及びE )に対してマルチヘッドアテンションを実行する。ソーステキストと参考テキストのデュアルエンコーダスタックの出力を、それぞれ、
【0081】
【数18】
で示す。
【0082】
[復号化部123]
復号化部123の埋め込み層は、自己回帰プロセスとして生成された要約文Yの単語列を受け取る。復号化部123は、各デコードステップtで、ジョイント符号化部125の埋め込み層と同じ方法で、単語yの各one-hotベクトルを投影する。
【0083】
復号化部123のTransformer Decoder Blockは、参考文献1のそれと同じアーキテクチャを備える。このコンポーネントはテスト時に段階的に使用されるため、後続のマスクが使用される。復号化部123は、参考テキストがエンコードされた表現Mに対してマルチヘッドアテンションを実行するデコーダブロックのスタックを使用する。復号化部123は、最初のスタックの上にあるソーステキストがエンコードされた表現Mのマルチヘッドアテンションを実行するデコーダブロックの別のスタックを使用する。1つ目は参考テキストの書き換えを実行し、2つ目は書き換えられた参考テキストを元のソース情報で補完する。スタックの出力は、
【0084】
【数19】
である。
【0085】
[合成部124]
合成部124は、Pointer-Generatorを用いて、コピーの分布に基づいてソーステキスト、参考テキスト及び復号化部123のいずれかの情報を選択し、選択された情報に基づいて要約文を生成する。
【0086】
ソーステキスト及び参考テキストのコピー分布は、以下の通りである。
【0087】
【数20】
但し、α tkとα tnは、それぞれ復号化部123における最初のスタックの最後のブロックの最初のアテンションヘッドと、復号化部123における2番目のスタックの最後のブロックの最初のアテンションヘッドである。
【0088】
最終的な語彙の分布は以下の通りである。
【0089】
【数21】
続いて、学習について説明する。学習時においてパラメータ学習部13が機能するのは、第1の実施の形態と同様である。
【0090】
[内容選択部11及び生成部12の学習データ]
内容選択部11及び生成部12のそれぞれの学習データは、第1の実施の形態と同様でよい。
【0091】
[内容選択部11の損失関数]
内容選択部11が実行する処理は、単純なバイナリ分類タスクであるため、バイナリクロスエントロピー損失を使用する。
【0092】
【数22】
但し、Mは、学習例の数である。
【0093】
[生成部12の損失関数]
生成部12の主な損失は、クロスエントロピー損失である。
【0094】
【数23】
更に、復号化部123のアテンションガイド損失を追加する。 このアテンションガイド損失は、推定されたアテンション分布を参照アテンションに導くように設計されている。
【0095】
【数24】
αproto t,n(t)は、参考テキストのジョイントエンコーダスタックの最後のブロックの最初のアテンションヘッドである。n(t)は、要約単語列のt番目の単語に対応するソーステキスト内の絶対位置を示す。
【0096】
生成部12の全体的な損失は、上記3つの損失の線形結合である。
【0097】
【数25】
λ及びλは、後述の実験では0.5に設定された。
【0098】
上記より、パラメータ学習部13は、上記した学習データに基づく内容選択部11及び生成部12の処理結果を、上記の損失関数によって評価し、当該損失関数が収束するまで内容選択部11及び生成部12のそれぞれの学習パラメータを更新する。当該損失関数が収束した際の学習パラメータの値が、学習済みパラメータとして利用される。
【0099】
[実験]
第2の実施の形態について行った実験について説明する。第2の実施の形態の実験に用いたデータセットは、第1の実施の形態と同じである。
【0100】
<実験結果>
表2に、非特許文献1と第2の実施の形態とのそれぞれのROUGEスコアを示す。
【0101】
【表2】
表2によれば、ROUGE-1(R-1)、ROUGE-2(R-2)及びROUGE-L(R-L)の全ての観点において、第2の実施の形態の方が非特許文献1よりも優れていることが分かる。
【0102】
上述したように、第2の実施の形態によれば、第1の実施の形態と同様の効果を得ることができる。
【0103】
また、第2の実施の形態によれば、参考テキストに含まれる単語も、要約文の生成に用いることができる。
【0104】
次に、第3の実施の形態について説明する。第3の実施の形態では第1の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
【0105】
第3の実施の形態では、テキスト形式の文書(文の集合)である外部知識が格納された知識源DB20から、ソーステキストに類似する情報を検索し、当該情報においてソーステキストとの関連性が高い上記K件のテキスト文及びその関連性の度合いを示す関連度を参考テキストとして用いることで、外部知識を考慮した要約を可能とし、入力文中で重要となる情報を外部知識に応じて直接的にコントロール可能とする例について説明する。
【0106】
図10は、第3の実施の形態における文生成装置10の機能構成例を示す図である。図10中、図2と同一又は対応する部分には同一符号を付し、その説明は適宜省略する。
【0107】
図10において、文生成装置10は、更に検索部14を有する。検索部14は、ソーステキストをクエリとして知識源DB20から情報を検索する。検索部14によって検索された情報は、上記各実施の形態における考慮情報に相当する。すなわち、第3の実施の形態において、考慮情報は、外部知識(から、ソーステキストとの関連性に基づき作成される参考テキスト)である。
【0108】
図11は、第3の実施の形態における文生成装置10が実行する処理手順の一例を説明するためのフローチャートである。
【0109】
ステップS201において、検索部14は、ソーステキストをクエリとして知識源DB20を検索する。
【0110】
図12は、知識源DB20の構成例を示す図である。図12には、(1)及び(2)の2つの例が示されている。
【0111】
(1)は、文生成装置10が実行するタスクの入力文と出力文となるような文書のペアが知識源DB20に記憶されている例を示す。図12(1)では、当該タスクがタイトルの生成又は要約文の生成である場合の例として、ニュース記事とヘッドライン(又は要約文)とのペアが記憶されている例が示されている。
【0112】
(2)は、上記ペアのいずれか一方の文書(図12の例ではヘッドラインのみ)が知識源DB20記憶されている例を示す。
【0113】
いずれの場合であっても、知識源DB20には大規模な知識(情報)が記憶されていることを想定する。
【0114】
ステップS201において、検索部14は、このような知識源DB20から、後述のリランキング可能な個数K'(30~1000個程度)の文書群をelasticsearchなどの高速な検索モジュールを用いて検索する。
【0115】
知識源DB20が(1)のような構成を有する場合、ソーステキストとヘッドラインの類似度で検索、ソーステキストと、ニュース記事の類似度で検索、又はソーステキストと、ニュース記事+ヘッドラインの類似度で検索、のいずれかの検索方法が考えられる。
【0116】
一方、知識源DB20が(2)のような構成を有する場合、ソーステキストとヘッドラインの類似度で検索することが考えられる。類似度とは、例えば、同じ単語を含んでいる個数やコサイン類似度等、文書間の類似性を評価する公知の指標である。
【0117】
なお、本実施の形態では、(1)及び(2)のいずれの場合であっても、類似度が上記K'件のヘッドラインが検索結果として得られるとし、ヘッドラインは一つの文であるとする。以下、検索結果であるK'件の各文(ヘッドライン)を「知識源テキスト」という。
【0118】
続いて、内容選択部11は、予め学習済みのニューラルネットワークである関連度計算モデルを用いて、各知識源テキストについて文レベル(知識源テキストごと)の関連度を計算する(S202)。なお、関連度計算モデルは、内容選択部11の一部を構成してもよい。また、関連度は、ソーステキストとの関連性、類似性又は相関性の高さを示す指標であり、第1又は第2の実施の形態における重要度に相当する。
【0119】
図13は、関連度計算モデルの第1の例を説明するための図である。図13に示されるように、ソーステキスト及び知識源テキストは、それぞれLSTMに入力される。各LSTMは、各テキストを構成する各単語を所定次元のベクトルに変換する。その結果、各テキストは、所定次元のベクトルの配列となる。なお、ベクトルの数(すなわち、ベクトルの配列長)Iは、単語数に基づいて定められる。例えば、Iは、300等に設定され、単語数が300に満たない場合は「PAD」等、所定の単語を用いて300単語に揃えるようにする。ここでは、便宜上、単語数=ベクトル数とする。したがって、I個の単語を含むテキストの変換結果であるベクトルの配列長はIとなる。
【0120】
マッチングネットワークは、ソーステキストのベクトル配列と知識源テキストのベクトル配列とを入力として、当該知識源テキストについての文レベルの関連度β(0≦β≦1)を計算する。なお、マッチングネットワークには、例えば、co-attention network(「Caiming Xiong, Victor Zhong, Richard Socher、DYNAMIC COATTENTION NETWORKS FOR QUESTION ANSWERING、Published as a conference paper at ICLR 2017」)等が用いられてもよい。
【0121】
図14は、関連度計算モデルの第2の例を説明するための図である。図14では、図13と異なる点についてのみ説明する。
【0122】
図14においては、マッチングネットワークが、知識源テキストに含まれる単語iごと(すなわち、ベクトルの配列の要素ごと)に、単語レベルの関連度p(0≦p≦1)を計算する点が異なる。このようなマッチングネットワークも、co-attention networkを用いて実現されてもよい。
【0123】
関連度計算モデルは、単語レベルの関連度pの加重和によって、文レベルの関連度βを計算する。したがって、β=Σw(i=1,…,単語数)となる。なお、wは、ニューラルネットワークの学習可能なパラメータである。
【0124】
図13又は図14において説明した処理は、K'個の知識源テキストに対して実行される。したがって、各知識源テキストに対して関連度βが計算される。
【0125】
続いて、内容選択部11は、図13又は図14のような方法によって計算した関連度βの大きい順に2以上の所定数(K個)の知識源テキストを連結した結果を参考テキストとして抽出する(S203)。
【0126】
続いて、生成部12は、参考テキスト及びソーステキストに基づいて、要約文を生成する(S204)。生成部12が実行する処理内容は、基本的に第1又は第2の実施の形態と同様でよい。但し、参考テキストの各単語へのアテンション確率α tkを、単語レベルの関連度又は文レベルの関連度を用いて次のように重みづけしてもよい。なお、上記において、変数α tkアテンションヘッドとして定義したが、ここでは、α tkの値について言及しているため、α tkは、アテンション確率に相当する。また、以下では、文レベルの関連度又は単語レベルの関連度を、便宜上、βによって表記する。単語レベルの関連度及び文レベルの関連度のいずれか一方が使用されてもよいし、双方が使用されてもよい。
【0127】
文レベルの関連度を使う場合、例えば、アテンション確率α tkは以下のように更新される。
【0128】
【数26】
左辺が、更新後のアテンション確率である。β(k)は、単語kを含む文Sの関連度βである。
【0129】
なお、単語レベルの関連度を使う場合は、上記の式のβ(k)に対して、単語kに対応する単語レベルの関連度pを当てはめればよい。両方用いる場合は、例えば、上記の式(2)のように、文レベルの関連度で単語レベルの関連度に重みづけを行う等が考えられる。なお、pは、文S単位に計算される。また、pは、第1の実施の形態における重要度(式(1))と同じ役割を有する。更に、kは、参考テキスト(抽出された文Sの集合)の単語に対して振られる単語番号である。
【0130】
続いて、学習について説明する。図15は、第3の実施の形態における文生成装置10の学習時における機能構成例を示す図である。図15中、図7又は図10と同一又は対応する部分には同一符号を付し、その説明は適宜省略する。
【0131】
第3の実施の形態において、内容選択部11及び生成部12の学習は、基本的に上記各実施の形態と同様でよい。ここでは、第3の実施の形態で用いられる関連度計算モデルの学習について2つの方法を説明する。
【0132】
第1の方法として、関連度βの計算結果と、正解ターゲットテキストからRouge等のスコアを用いて文レベルの関連度βの正解情報を定義する方法がある。
【0133】
第2の方法として、単語レベルの関連度の正解情報を、正解文(例えば、要約文等のターゲットテキスト)に、その単語が含まれているか否かの1/0で決定する方法がある。
【0134】
なお、上記では、文生成装置10が検索部14を有する例を示したが、知識源DB20に含まれている外部知識が予め絞り込まれている場合、当該外部知識に含まれている全ての知識源テキストが内容選択部11に入力されてもよい。この場合、文生成装置10は検索部14を有さなくてよい。
【0135】
上述したように、第3の実施の形態によれば、外部知識を用いることで、ソーステキストにない単語を含む要約文を効率的に生成することができる。当該単語は、知識源テキストに含まれる単語であり、知識源テキストはその名の通りテキストである。したがって、第3の実施の形態によっても、文を生成する際に考慮すべき情報をテキストとして付加可能とすることができる。
【0136】
なお、「Ziqiang Cao,Wenjie Li, Sujian Li, and FuruWei. 2018. Retrieve, rerank and rewrite: Soft template based neural summarization. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 152-161. Association for Computational Linguistics.」に開示された技術では、外部知識を考慮してターゲットテキストを生成できるものの、(1)外部知識に含まれる単語を、そのまま文生成に用いることができない。また、(2)外部知識の内容ごとの重要度を考慮できない。一方、第3の実施の形態では、(1)外部知識の文レベル・単語レベルの関連度を考慮し、(2)CopyNetwork(合成部124)を用いることで、外部知識の重要個所を出力文に含めることが可能となる。
【0137】
次に、第4の実施の形態について説明する。第4の実施の形態では第1の実施の形態と異なる点について説明する。第4の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
【0138】
図16は、第4の実施の形態における文生成装置10の機能構成例を示す図である。図16中、図2と同一又は対応する部分には同一符号を付している。図16に示されるように、第4の実施の形態において、内容選択部11は、考慮情報を入力しない。
【0139】
内容選択部11は、M層のTransformerEncoderブロック(Encodersal)とl層の線形変換層からなる。内容選択部11は、ソーステキストX中のn番目の単語x の重要度pext を以下の式に基づいて計算する。
【0140】
【数27】
ここで、Encodersal()はEncodersalの最終層の出力ベクトルを表す。W、b、σは、数1に関連して説明した通りである。
【0141】
内容選択部11は、ソーステキストXをEncodersalに入力して得られる重要度pext の高い順にK個の単語を参考テキストXとしてXから抽出する。このとき、参考テキストXにおける単語の順序は、ソーステキストX内の順序を保持する。内容選択部11は、参考テキストXを生成部12へ入力する。すなわち、第4の実施の形態では、内容選択部11による単語の重要度の予測値に基づいて抽出された単語列が追加のテキスト情報として生成部12に明示的に与えられる。
【0142】
図17は、第4の実施の形態における生成部12の構成例を示す図である。図17中、図3と同一又は対応する部分には同一符号を付している。図17において、生成部12は、符号化部126及び復号化部123を含む。符号化部126及び復号化部123については、図18を参照して詳細に説明する。
【0143】
図18は、第4の実施の形態におけるモデル構成例を示す図である。図18中、図16又は図17と同一又は対応する部分には同一符号を付している。なお、図18に示されるモデルを、便宜上、CIT(Conditionalsummarization model with Important Tokens)モデルと呼ぶ。
【0144】
符号化部126は、M層のTransformer Encoderブロックからなる。符号化部126は、X+Xを入力とする。X+Xは、XとXの間には区切りを表す特殊トークンが挿入された文字列である。本実施の形態ではEncodersalとしてRoBERTa(「Y. Liu et al. arXiv, 1907.11692, 2019.」)が初期値として用いられる。符号化部126は、入力X+Xを受け付け、M層のブロックを作用させた表現
【0145】
【数28】
を得る。なお、Nは、Xに含まれる単語数である。但し、第4の実施の形態では、Nに対してN+Kが代入される。ここで、Kは、Xに含まれる単語数である。ここで、符号化部126はself-attentionと2層のフィードフォワードネットワーク(FFN)からなる。H は、後述される復号化部123のcontext-attentionに入力される。
【0146】
復号化部123は、第1の実施の形態と同様でよい。すなわち、復号化部123は、M層のTransformer Decoderブロックからなる。Encoderの出力H とモデルが1ステップ前までに出力した系列{y,...,yt-1}を入力とし、M層のブロックを作用させた表現
【0147】
【数29】
を得る。復号化部123は、各ステップtにおいて、h dtに対し、語彙サイズV次元への線形変換を行い、確率が最大となるyを次のトークンとして出力する。復号化部123は、self-attention(図18のブロックb1)、context-attention、2層のFFNからなる。
【0148】
なお、Multi-headAttentionTransformerブロックにおけるアテンション処理はすべてMulti-headAttentionを用いる(「A. Vaswani et al. In NIPS, pages 5998-6008, 2017.」)。本処理はk個のアテンションヘッドの結合からなり、Multihead(Q,K,V)=Concat(head1,...,headk)Wと表される。各ヘッドはhead=Attention(QW ,KW ,VW )である。ここで、符号化部126及び復号化部123の第m層のself-attentionでは、Q,K,Vに同じベクトル表現Hを与え、復号化部123のcontext-attentionにおいては、QにH 、KとVにH をそれぞれ与える。
【0149】
各ヘッドのアテンション
【0150】
【数30】
における重み行列Aは以下の式にて表される。
【0151】
【数31】
ここで、
【0152】
【数32】
である。
【0153】
続いて、学習について説明する。図19は、第4の実施の形態における文生成装置10の学習時における機能構成例を示す図である。図19中、図7と同一部分には同一符号を付し、その説明は省略する。
【0154】
[生成部12の学習データ及び損失関数]
生成部12の学習データは、第1の実施の形態と同様でよい。生成部12の損失関数は、cross entropyを用いて次のように定義される。Mは学習データの個数を表す。
【0155】
【数33】
[内容選択部11の学習データ及び損失関数]
内容選択部11はソーステキストの各単語位置nに対して予測pext の出力を行うものであるため、疑似的に正解を与えることで教師あり学習が可能になる。通常、要約文の正解は、ソーステキストと要約文のペアのみであるため、ソーステキストの各トークンに1/0の正解は与えられていない。しかし、ソーステキストと要約文の双方に含まれている単語が重要な単語である、とみなして両者のトークン系列のアライメントをとることで重要トークンの正解を疑似的に作成できる(「S. Gehrmann et al. In EMNLP, pages 4098-4109, 2018.」)。
【0156】
内容選択部11の損失関数は、binary cross entropyを用いて次のように定義される。
【0157】
【数34】
ここで、r は、m番目のデータにおけるソーステキストのn番目の単語の重要度正解を表す。
【0158】
[パラメータ学習部13]
第4の実施の形態において、パラメータ学習部13は、重要度の学習データを用いて内容選択部11を学習し、要約文Yの正解情報を用いて生成部12を学習する。すなわち、内容選択部11と生成部12の学習は独立して行われる。
【0159】
パラメータ学習部13は、損失関数Lgen=Lencdec+Lsalとして、Lgenが最小化されるように学習を行う。
【0160】
第1の実施の形態では、学習データ中のターゲットテキスト(要約文)の長さと、考慮情報である出力長とを揃えることで、「出力長に応じた単語の重要度」を学習していた。一方、第4の実施の形態では、学習データに考慮情報としての出力長は含まれない。そのため、内容選択部11における単語の重要度の算出には出力長は特に考慮されず、「要約に重要な単語であるか否か」という観点のみで重要度が算出される。
【0161】
但し、第4の実施の形態にいても考慮情報として出力長を入力とし、出力長に基づいて抽出トークン数を定めることで、要約長を制御することができる。
【0162】
次に、第5の実施の形態について説明する。第5の実施の形態では第4の実施の形態と異なる点について説明する。第5の実施の形態において特に言及されない点については、第4の実施の形態と同様でもよい。
【0163】
図20は、第5の実施の形態における文生成装置10の機能構成例を示す図である。図20中、図16と同一部分には同一符号を付している。
【0164】
第5の実施の形態における内容選択部11は、個別に学習したEncodersalから得られる単語レベルの重要度pext を用いて文レベルの重要度pext Sjを計算し、ソーステキストXにおいてpext Sjが上位P番目までの文を結合したものを入力テキストXとして生成部12へ入力する。文レベルの重要度pext Sjは、数3に基づいて計算可能である。
【0165】
図21は、第5の実施の形態における生成部12の構成例を示す図である。図21中、図17と同一部分には同一符号を付している。また、図22は、第5の実施の形態におけるモデル構成例を示す図である。図22中、図18と同一部分には同一符号を付している。
【0166】
図21及び図22に示されるように、第5の実施の形態における符号化部126は、入力テキストXを入力とする。なお、図22に示されるモデルを、便宜上、SEG(Sentence Extraction then Generation)モデルという。
【0167】
その他の点については、第4の実施の形態と同様である。
【0168】
次に、第6の実施の形態について説明する。第6の実施の形態では第4の実施の形態と異なる点について説明する。第6の実施の形態において特に言及されない点については、第4の実施の形態と同様でもよい。
【0169】
図23は、第6の実施の形態における文生成装置10の機能構成例を示す図である。図23中、図16又は図17と同一又は対応する部分には同一符号を付している。第6の実施の形態において、文生成装置10は、内容選択部11を有さない。一方、生成部12は、符号化部126の代わりに内容選択符号化部127を有する。内容選択符号化部127は、符号化部126(エンコーダ)及び内容選択部11のそれぞれの機能を兼ねる。換言すれば、内容選択部11を兼ねた符号化部126が内容選択符号化部127に相当する。
【0170】
図24は、第6の実施の形態におけるモデル構成例を示す図である。図24中、図23又は図18と同一又は対応する部分には同一符号を付している。図24には、(a)~(c)の3つのモデルの例が示されている。便宜上、(a)をMT(Multi-Task)モデルといい、(b)をSE(Selective Encoding)モデルといい、(c)をSA(Selective Attention)モデルという。
【0171】
(a)のMTモデルは、重要度pext に対する正解データを追加利用し、内容選択符号化部127及び復号化部123(すなわち、生成部12)を同時に学習する。すなわち、重要度モデルと文生成モデルとが同時に学習される。この点は、SEモデル及びSAモデル、並びに以降に説明される各モデル(すなわち、CITモデル及びSEGモデル以外)において共通である。MTモデルにおいて、内容選択符号化部127のEncodersalは、第4の実施の形態における符号化部126のパラメータを共有する。なお、図24より明らかなように、MTモデルでは、符号化結果(H )のみが復号化部123に入力される。
【0172】
復号化部123は、第4の実施の形態と同様でよい。
【0173】
SEモデル(b)は、重要度pext を用いて内容選択符号化部127の符号化結果にバイアスをかける(「Q. Zhou et al. In ACL, pages 1095-1104, 2017.」)。具体的には、復号化部123は、内容選択符号化部127のEncoderブロックの最終出力である符号化結果h enに対して下記のように重要度によって重み付けを行う。
【0174】
【数35】
SEモデル(b)では、復号化部123に入力するh enをh~M enで置き換える(但し、hは、hの上の~が付された記号を示す)。「Q. Zhou et al. In ACL, pages 1095-1104, 2017.」ではBiGRUを用いているが、本実施の形態では公平な比較のためTransformerを用いて復号化部123が実装される。SEモデルにおいて、内容選択符号化部127のEncodersalは、第4の実施の形態における符号化部126のパラメータを共有する。なお、図24より明らかなように、SEモデルでは、符号化結果(H )及び重要度Pext のみが復号化部123に入力される。また、SEモデルでは、重要度の正解が与えられない。
【0175】
SAモデル(c)は、SEモデルと異なり復号化部123側のアテンションを重み付けする。具体的には、復号化部123は、context-attentionの第iヘッドの重み行列
【0176】
【数36】
の各ステップtのアテンション確率
【0177】
【数37】
(Aの第t行)をpext により重み付けする。
【0178】
【数38】
なお、Gehrmannらが提案した類似手法ではpointergeneratorのコピー確率を重み付けしている(「S. Gehrmann et al. In EMNLP, pages 4098-4109, 2018.」)。一方、事前学習Seq-to-Seqモデルはコピー機構を有さないため、本実施の形態では復号化部123の全ての層のcontext-attention計算において、上記の重み付けされたアテンション確率を用いて計算が行われる。MTモデルにおいて、内容選択符号化部127のEncodersalは、第4の実施の形態における符号化部126のパラメータを共有する。なお、図24より明らかなように、SAモデルでは、符号化結果(H )及び重要度Pext のみが復号化部123に入力される。また、SAモデルでは、重要度の正解が与えられない。
【0179】
なお、MTモデルとSEモデル又はMTモデルとを組み合わせたモデルも、第6の実施の形態として有効である。
【0180】
SE+MTモデルは、SEモデルの学習において重要度pext に対する正解データを追加利用して要約との同時学習を行う。
【0181】
SA+MT本モデルは、SAモデルの学習において重要度pext に対する正解データを追加利用して要約との同時学習を行う。
【0182】
図25は、第6の実施の形態における文生成装置10の学習時における機能構成例を示す図である。図25中、図23又は図19と同一又は対応する部分には同一符号を付している。
【0183】
上記したように、第6の実施の形態のパラメータ学習部13は、内容選択符号化部127と復号化部123とを同時に学習する。
【0184】
また、パラメータ学習部13は、SEモデル及びSAモデルの場合は、重要度Pext の正解情報を与えず、要約文Yの正解情報のみを用いて生成部12(内容選択符号化部127及び復号化部123)を学習する。この場合、パラメータ学習部13は、損失関数Lgen=Lencdecとし、Lgenが最小化されるように学習を行う。
【0185】
一方、MTモデルの場合、パラメータ学習部13は、重要度Sの正解情報と、要約文Yの正解情報とを用いて、内容選択符号化部127及び生成部12(すなわち、内容選択符号化部127及び復号化部123)をマルチタスク学習する。すなわち、内容選択符号化部127を重要度モデル(内容選択部11)として学習する際には、重要度Pext の正解情報(重要か否か)が教師データとされて、Xから重要度Pext を予測するタスクの学習が行われる。また、生成部12(内容選択符号化部127+復号化部123)をSeq2Seq(Encoder-Decoder)モデルとして学習する場合は、入力文Xに対する正解要約文を教師データとして、Xから要約文Yを予測するタスクの学習が行われる。このマルチタスク学習の際に、内容選択符号化部127のパラメータが両タスクで共有される。なお、重要度Pext の正解情報(疑似的な正解)は、第4の実施の形態において説明した通りである。この場合、パラメータ学習部13は、損失関数Lgen=Lencdec+Lsalとして、Lgenが最小化されるように学習を行う。
【0186】
次に、第7の実施の形態について説明する。第7の実施の形態では第4の実施の形態と異なる点について説明する。第7の実施の形態において特に言及されない点については、第4の実施の形態と同様でもよい。
【0187】
図26は、第7の実施の形態における文生成装置10の機能構成例を示す図である。図26中、図16又は図23と同一又は対応する部分には同一符号を付している。図26の文生成装置10は、内容選択部11及び生成部12を有する。生成部12は、内容選択符号化部127及び復号化部123を含む。すなわち、第7の実施の形態の文生成装置10は、内容選択部11及び内容選択符号化部127の双方を有する。
【0188】
このような構成は、上記におけるCITモデル(又はSEGモデル)と、SEモデル若しくはSAモデル(又はMTモデル)との組み合わせにより実現可能である。以下においてはCITモデルとSEモデルとの組み合わせ(CIT+SEモデル)と、CITモデルとSAモデルとの組み合わせ(CIT+SAモデル)とについて説明する。
【0189】
CIT+SEモデルでは、CITモデルのX+Xに対して、SEモデルにより重要度
【0190】
【数39】
が教師無しで学習され、
【0191】
【数40】
に重み付けが行われる。すなわち、X+XがSEモデルの内容選択符号化部127の入力とされ(XCは内容選択部11によって選択される)、X+Xに対する重要度pextが推定される。
【0192】
CIT+SAモデルでは、CIT+SEモデルと同様に、
【0193】
【数41】
が教師無しで学習され、
【0194】
【数42】
に重み付けが行われる。すなわち、CITモデルのX+XがSAモデルの内容選択符号化部127の入力とされ、X+Xに対する重要度pextが推定される
図27は、第7の実施の形態における文生成装置10の学習時における機能構成例を示す図である。図27中、図26又は図19と同一又は対応する部分には同一符号を付している。
【0195】
第7の実施の形態においてパラメータ学習部13が実行する処理は、第6の実施の形態と同様でよい。
【0196】
[実験]
第4の実施の形態から第7の実施の形態について行った実験について説明する。
【0197】
<データセット>
要約データセットにおいて代表的なCNN/DM(「K. M. Hermann et al. In NIPS, pages 1693-1701, 2015.」)とXSum(「S. Narayan et al. In EMNLP, pages 1797-1807, 2018.」)を用いた。CNN/DMは、3文程度の抽出率が高い要約データであり、XSumは、1文程度の短く抽出率が低い要約データである。評価は、要約自動評価で標準的に用いられるROUGE値を用いて行った。各データの概要を表3に示す。要約平均長は、各データのdevセットをfairseq1のbyte-levelBPE(「A. Radford et al. Language models are unsupervised multi-task learners. Technical report, OpenAI, 2019.」)にてサブワードに分割した単位で計算した。
【0198】
【表3】
<学習設定>
fairseqを用いて各モデルの実装を行った。7枚のNVIDIA V100 32GB GPUにより学習を行った。CNN/DMの学習では、「M. Lewis et al. arXiv, 1910.13461, 2019.」と同じ設定を用いた。XSumの学習については著者らに確認を取り、CNN/DMの設定からミニバッチの勾配累積に関するパラメータUPDATEFREQを2に変更した。また、学習時におけるCITモデルの内容選択部11の抽出単語数Kは、devセットの精度を確認し、CNN/DMでは正解要約長を5単位でbin分割した値、XSumでは固定長30と決定した。なお、評価時はCNN/DMではdevセットの平均要約長をKとし、XSumでは学習時と同じ30とした。また、XSumでは、重要単語列に重複を含まないように設定した。なお、学習時のKの設定については、任意の固定値とする方法、任意の閾値を定め当該閾値以上の値とする方法、正解要約の長さLに依存させる方法がある。Kの設定を正解要約の長さLに依存させて学習を行う場合には、テスト時にKの長さを変えることによって要約長をコントロールすることができる。
【0199】
<実験結果>
「重要度モデルを組み合わせることによって要約精度は向上するか?」に関する実験結果(各モデルのROUGE値)を表4、表5に示す。
【0200】
【表4】
【0201】
【表5】
表4、表5に示す通り、両方のデータセットにおいてCIT+SEが最も良い結果となった。まず、CIT単体でも精度が向上したことから、重要単語の結合が重要な情報を文生成モデル(生成部12)に与える方法として優れていることがわかる。そして、CITをSEやSAモデルと組み合わせることでさらなる精度の向上が確認できたことから、重要単語の中にはノイズも含まれるが、ソフトな重み付けを組み合わせることによって改善されていると考える。
【0202】
SE、SAはいずれのデータでも精度が向上した。重要度正解を同時学習するMT、SE+MT、SA+MTはCNN/DMでは精度が向上したが、XSumでは精度が低下した。これは重要度の疑似的正解の質の影響と考える。CNN/DMは要約が比較的長く抽出要素が強いため、疑似的正解を作成する際に単語同士のアライメントが取り易い。一方で、XSumデータは要約が短く、ソーステキスト以外の表現で記述されることが多いため、アライメントが取り難く、疑似的正解がノイズとして働いた。CITにおいても、この影響によりXSumにおける精度の向上幅はCNN/DMよりも狭いが、性質の異なるデータでいずれも最も高い性能を示していることから、頑健に動作する手法と言える。
【0203】
なお、"our fine-tuning"は、本願発明者によるFine-tuning結果(ベースライン)を表す。また、表5における下線は、ベースラインモデルの改善の中での最高精度を表す。
【0204】
「重要度モデル単体のトークン抽出精度はどの程度か?」に関する実験結果を表6に示す。
【0205】
表6はCITの重要度pextによって上位に選択されたトークン列と要約テキストのROUGE値を評価した結果である。
【0206】
【表6】
CNN/DMにおいては、重要単語の特定が適切に行われていることがわかる。抽出型要約の従来手法のSOTAであるPresum(「Y. Liu et al. In EMNLP-IJCNLP, pages 3728-3738, 2019.」)と比較しても、R1やR2で高い精度を出しており、単語レベルで重要な要素を抽出できていることがわかる。SEモデルやSAモデルの内部的に学習されたpextでは各単語の重要度に大きな差がなかったが、本モデルでは重要な単語を明示的に考慮することができる。一方で、XSumは抽出率の低いデータであるため、全体的に重要度モデルの精度が低い。このことが要約精度の向上がCNN/DMよりも低くなっている原因と考える。今回検証した疑似的正解を与える手法は抽出率の高いデータにおいて特に効果を発揮したが、抽出率の低いデータにおいても重要度モデルの精度を向上させることでさらに精度向上が期待できる。
【0207】
なお、上記各実施の形態では、要約文の生成タスクを例として説明したが、他の各種の文生成タスクに対して上記各実施の形態が適用されてもよい。
【0208】
なお、上記各実施の形態において、学習時の文生成装置10は、文生成学習装置の一例である。
【0209】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0210】
10 文生成装置
11 内容選択部
12 生成部
13 パラメータ学習部
14 検索部
15 内容選択符号化部
20 知識源DB
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 ソーステキスト符号化部
122 参考テキスト符号化部
123 復号化部
124 合成部
125 ジョイント符号化部
126 符号化部
B バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27