(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-11
(45)【発行日】2024-10-22
(54)【発明の名称】文生成装置、文生成方法およびプログラム
(51)【国際特許分類】
G06F 40/56 20200101AFI20241015BHJP
G06F 40/44 20200101ALI20241015BHJP
G06F 40/279 20200101ALI20241015BHJP
【FI】
G06F40/56
G06F40/44
G06F40/279
(21)【出願番号】P 2021049517
(22)【出願日】2021-03-24
【審査請求日】2022-12-13
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504157024
【氏名又は名称】国立大学法人東北大学
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】森下 睦
(72)【発明者】
【氏名】岩田 具治
(72)【発明者】
【氏名】永田 昌明
(72)【発明者】
【氏名】鈴木 潤
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2018-041160(JP,A)
【文献】壹岐 太一,例文集合を入力とするニューラルネットワークを用いた文のスタイル変換に向けて,第84回 言語・音声理解と対話処理研究会資料 (SIG-SLUD-B802) ,日本,一般社団法人人工知能学会,2018年11月15日,pp.161-166,IKI, Taichi,"Toward Sentence Style Transformation via Neural Networks with Sentence Set Features", JSAI(The Japanese Society for Artificial Intelligence)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
(57)【特許請求の範囲】
【請求項1】
予測モデルに基づき、テキストデータを他のテキストデータに変換するための装置であって、
1つ以上のドキュメントに含まれるテキストデータで構成される集合データの入力を受ける入力部と、
前記集合データの特徴を表す集合特徴量を算出する集合特徴量算出部と、
前記集合データに含まれるテキストデータが同一のドキュメントから選択されていることが予測されるほど高く、前記集合データに含まれるテキストデータが同一のドキュメントから選択されているとは予測されないほど低くなるように前記集合特徴量の重要度を推定し、前記集合特徴量と前記重要度との積を更新後の集合特徴量として算出する集合特徴量更新部と、
前記予測モデルへの入力系列に前記更新後の集合特徴量を含めることにより、前記集合データに含まれる第1のテキストデータを、前記予測モデルによって第2のテキストデータに変換する変換部と、を備える、
文生成装置。
【請求項2】
前記予測モデルのパラメータを更新するパラメータ更新部をさらに備え、
前記入力部は、前記集合データと、前記第1のテキストデータの適切な変換結果を示す教師データと、を含む学習データの入力を受け、
前記パラメータ更新部は、前記教師データと、前記変換部によって変換された前記第2のテキストデータと、に基づいて、前記予測モデルのパラメータを更新する、
請求項1に記載の文生成装置。
【請求項3】
コンピュータが実行する方法であって、
1つ以上のドキュメントに含まれるテキストデータで構成される集合データの入力を受けるステップと、
前記集合データの特徴を表す集合特徴量を算出するステップと、
前記集合データに含まれるテキストデータが同一のドキュメントから選択されていることが予測されるほど高く、前記集合データに含まれるテキストデータが同一のドキュメントから選択されているとは予測されないほど低くなるように前記集合特徴量の重要度を推定し、前記集合特徴量と前記重要度との積を更新後の集合特徴量として算出するステップと、
予測モデルへの入力系列に前記更新後の集合特徴量を含めることにより、前記集合データに含まれる第1のテキストデータを、前記予測モデルによって第2のテキストデータに変換するステップと、を備える、
文生成方法。
【請求項4】
コンピュータを請求項1又は2に記載の文生成装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文生成装置、文生成方法およびプログラムに関する。
【背景技術】
【0002】
機械翻訳の精度を向上する試みがなされている。例えば、ニューラルネットワークを用いて単語の並びの尤度を予測するニューラル機械翻訳(Neural Machine Translation;以下NMTと呼ぶ)モデルが開示されている。また、文間の文脈を示す情報をNMTモデルに追加する試みがなされている。
【0003】
例えば、非特許文献1には、文の境界を示す特別なトークンを用いて処理対象の文に前の文を連結する方法が開示されている。また、非特許文献2には、前の文脈埋め込みを使用するために階層的注意ネットワークを使用する方法が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Jorg Tiedemann and Yves Scherrer. 2017. Neural machine translation with extended context. In Proceedings of the 3rd Workshop on Discourse in Machine Translation, pages 82-92.
【文献】Lesly Miculicich, Dhananjay Ram, Nikolaos Pappas, and James Henderson. 2018. Document-level neural machine translation with hierarchical attention networks. In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 2947-2954.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、非特許文献1または非特許文献2等に開示されている従来技術においては、対象のテキストデータの直前の文脈しか考慮することができないという問題がある。
【0006】
開示の技術は、より広範囲の文脈を考慮してテキストデータを作成することを目的とする。
【課題を解決するための手段】
【0007】
開示の技術は、予測モデルに基づき、第1のテキストデータを第2のテキストデータに変換するための装置であって、前記第1のテキストデータを含む集合データの入力を受ける入力部と、前記集合データの特徴を表す集合特徴量を算出する集合特徴量算出部と、前記集合特徴量に基づいて、前記第1のテキストデータを前記第2のテキストデータに変換する変換部と、を備える文生成装置である。
【発明の効果】
【0008】
開示の技術によれば、より広範囲の文脈を考慮してテキストデータを作成することができる。
【図面の簡単な説明】
【0009】
【
図1】ミニバッチ埋め込みを使用したNMTモデルの概要を説明するための図である。
【
図2】実施例1に係る文生成装置の機能構成を示す図である。
【
図3】実施例1に係る文生成処理の流れの一例を示すフローチャートである。
【
図4】実施例2に係る文生成装置の機能構成を示す図である。
【
図5】実施例2に係る学習処理の流れの一例を示すフローチャートである。
【
図6】実施例3に係る文生成装置の機能構成を示す図である。
【
図7】実施例3に係る文生成処理の流れの一例を示すフローチャートである。
【
図8】実施例4に係る文生成装置の機能構成を示す図である。
【
図9】実施例4に係る学習処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0011】
以下の説明において、参考文献を[1]、[2]等として示している。各参考文献名については、明細書の最後に記載した。
【0012】
(従来技術について)
まず、従来技術について説明する。従来のNMT(Neural Machine Translation)モデルf()は、入力の文トークンのシーケンスx=(x1,...,xs):y=f(x;θ)が与えられると、出力の文トークンのシーケンスy=(y1,...,yt)を生成する。ここで、θはモデルパラメータのセットであり、sとtは、それぞれ入力の文トークンの数と出力の文トークンの数である。モデルパラメータは、式(1)の損失関数を最小化することによって学習される。なお、各文トークンxiおよびyiは、単語であっても良いし、部分単語単位であっても良い。
【0013】
【0014】
ここで、
【0015】
【0016】
このようなNMTモデルは、入力として1つの文のみを使用するため、文間の文脈は考慮されない。
【0017】
(ミニバッチ埋め込みについて)
次に、本実施の形態に係るミニバッチ埋め込みについて説明する。
【0018】
NMTモデルにおいて文間の文脈を簡単な変更によって活用するために、ミニバッチ埋め込み(Mini-batch Embedding;以下、MBEと呼ぶ)を使用する方法を提案する。MBEは、ミニバッチの特徴を表すデータであって、具体的にはミニバッチに含まれる各文の特徴を統合したデータであり、統合方法には後述する平均プーリングを使用する方法等がある。
【0019】
図1は、ミニバッチ埋め込みを使用したNMTモデルの概要を説明するための図である。x
iは入力トークンのシーケンス、Bはn個の文を持つミニバッチ、E
iはトランスフォーマエンコーダ(Transformer encoder)によって計算された文ごとの文脈化された埋め込み、v
iは文のベクトル、zはミニバッチ埋め込み(MBE)である。なお、短い文には特別な<pad>トークンが埋め込まれ、ミニバッチ内において最も長い文に合わせるように長さが調整されている。
【0020】
B={(x1,...,xn}をミニバッチとする。具体的には、入力されたデータ内の、同一のドキュメントに含まれる所定の文集合(例えば1つの文章、段落等)を選択してミニバッチBが作成されることとする。xiは、ミニバッチ中のi番目の文を表す。(i番目の文は、ドキュメントからランダムに選ばれるものとするが、選択の方法は他でもよい。)
【0021】
入力データには、1以上のドキュメントが含まれることとする。また、ドキュメントとは、1以上の文によりまとまった内容を表現したもので、例えば同一文書(ファイル)に含まれる全文や、1文書内の章、段落等、所定の単位の文集合とする。1つのドキュメントから複数のミニバッチが作成されるようにしても良い。
【0022】
所定の文集合を抽出する方法は、例えば同一文書にIDが振られたデータを用いる方法であってもよく、文章にメタデータ(ChapterやSection等)を含む場合はその情報を用いる方法であってもよい。表1は、ドキュメントを識別するためのドキュメントIDが付与された例である([5]より引用)。
【0023】
【0024】
genc()を、単一のトランスフォーマエンコーダ層とする。まず、文ごとの文脈化された埋め込みEi=(ei,1,...,ei,si)がEi=genc(xi;φ)として計算される。ここで、siはxiのトークンの数である。また、φはモデルパラメータである。MBE
【0025】
【0026】
【0027】
また、本実施の形態に係る方法は、平均プーリング(Mean Pooling)を使用して、文の埋め込みviとMBE(z)とを生成する方法である。平均プーリングは、[1]に記載の方法である。[1]は、BERT(Bidirectional Encoder Representations from Transformers)埋め込み([2])から文の埋め込みの生成に成功した方法について開示している。この手順により、MBE(z)には、文脈認識NMTにとって望ましい文間文脈の特徴が含まれることが期待される。文脈認識NMTにとって望ましい文間文脈の特徴としては、例えば、ドキュメントの分野、文体などの特徴が挙げられる。
【0028】
ドキュメント内の文の順序は無視してもよいことに注意する。この方法は、[3]等のように、ドキュメントの境界はあるが、ドキュメント内の文の順序がないコーパスにも適用できるため、これは有益な特性である。
【0029】
文間情報を使用するため、NMTモデルは、式(3)に示すように、出力文yを求める際に、入力にMBE(z)を追加するように修正されている。
【0030】
y=f(x,z;θ) (3)
【0031】
図1に示すように、NMTモデルは、MBEを入力単語の埋め込みに連結し、最初の入力トークンとしてMBEを使用する予測モデルである。これによって、トランスフォーマエンコーダおよびトランスフォーマデコーダは、それぞれs+1とt+1の埋め込みを取得する。
【0032】
以下では、本実施の形態として、実施例1、実施例2、実施例3および実施例4について説明する。
【0033】
(実施例1)
まず、実施例1について説明する。実施例1では、本実施の形態に係る文生成装置が、NMTモデルを用いて翻訳する処理において、ミニバッチ埋め込み(MBE)を使用する例を示す。
【0034】
図2は、実施例1に係る文生成装置の機能構成を示す第一の図である。
【0035】
文生成装置1は、予測モデルに基づき、第1のテキストデータを第2のテキストデータに変換するための装置である。具体的には、文生成装置1は、入力部11と、事前処理部12と、解析部13と、出力部14と、記憶部15と、を備える。また、解析部13は、集合特徴量算出部131と、変換部132と、を含む。さらに、変換部132は、文符号化部132aと、文復号化部132bと、を含む。
【0036】
入力部11は、入力データとして文集合(1つ以上の文の集合)を受ける。文集合は、1つ以上のドキュメントから構成される。なお、入力された文集合に含まれる文は、変換前のテキストデータ(第1のテキストデータ)の一例である。
【0037】
事前処理部12は、入力されたドキュメントからミニバッチBを作成する。ミニバッチBは、第1のテキストデータを含む集合データの一例である。また、事前処理部12は、作成したミニバッチBを示す情報(以下、ミニバッチ情報と呼ぶ)を集合特徴量算出部131に出力し、ミニバッチBを示す情報又はミニバッチBを構成する文を示す情報を、文符号化部132aに出力する。
【0038】
解析部13は、記憶部15が記憶する予測モデル151に規定された処理を実行して、入力された文の解析を行う。集合特徴量算出部131は、ミニバッチ情報に基づいて、MBEを算出する。MBEの算出方法は、前述の式(2)の通りである。なお、MBEは、集合データ(ミニバッチB)の特徴を表す集合特徴量の一例である。変換部132は、MBEに基づいて、第1のテキストデータを第2のテキストデータに変換する。
【0039】
文符号化部132aは、
図1に示したトランスフォーマエンコーダ(Transformer encoder)に相当し、MBEに基づいて、ミニバッチを構成する文を符号化する。文復号化部132bは、
図1に示したトランスフォーマデコーダ(Transformer decoder)に相当し、MBEに基づいて、文を復号化する。なお、復号化された文は、第2のテキストデータの一例である。
【0040】
出力部14は、復号化された文を、翻訳後の文集合としてまとめて出力する。
【0041】
記憶部15は、各種情報を記憶する。具体的には、記憶部15は、前述のNMTモデルに相当する予測モデル151を記憶する。
【0042】
次に、実施例1に係る文生成装置1の動作について説明する。
図3は、実施例1に係る文生成処理の流れの一例を示すフローチャートである。
【0043】
入力部11は、文集合を入力する(ステップS11)。
【0044】
事前処理部12は、文集合に基づいて、ミニバッチ情報を生成する(ステップS12)。事前処理部12は、生成したミニバッチ情報を、集合特徴量算出部131および文符号化部132aに引き渡す。また、事前処理部12は、ミニバッチを構成する文情報を、文符号化部132aに引き渡す。
【0045】
次に、集合特徴量算出部131は、ミニバッチ情報に基づいて、MBEを出力する(ステップS13)。
【0046】
変換部132は、ミニバッチを構成する文情報およびMBEに基づいて、文を生成する(ステップS14)。生成される文は、入力された文を翻訳した文である。なお、文符号化部132aは、エンコーダデコーダモデルにおけるエンコーダの機能を有し、例えば、埋め込み層および再帰層を有する。文復号化部132bは、エンコーダデコーダモデルにおけるデコーダの機能を有し、例えば、埋め込み層、再帰層、注意機構および出力層を有する。
【0047】
具体的には、文符号化部132aは、MBEに基づいてミニバッチを構成する文を符号化する。文復号化部132bは、MBEに基づいて、符号化された文を復号化する。文符号化部132aおよび文復号化部132bは、一文ずつ処理を実行し、処理対象の文をすべて処理すると、このステップS14の処理を終了する。なお、処理対象の文は、あらかじめ指定された文であって、ミニバッチに含まれるすべての文を処理対象としても良いし、一部の文を処理対象としても良い。
【0048】
出力部14は、生成された文集合を出力する(ステップS15)。
【0049】
実施例1に係る文生成装置1によれば、集合特徴量算出部131がMBEを算出し、変換部132がMBEに基づくテキストデータの変換を実行することによって、従来のNMTモデルに大きな変更を加えることなく、ドキュメント内の広い範囲における文間の文脈を考慮した文の生成を行うことができる。
【0050】
(実施例2)
次に、実施例2について説明する。実施例2では、実施例1に係る文生成装置が、NMTモデルの機械学習においてMBEを使用する例を示す。
図4は、実施例2に係る文生成装置の機能構成を示す図である。
【0051】
実施例2に係る文生成装置1は、実施例1に係る文生成装置1に係る出力部14に代えて、パラメータ更新部16を備える。
【0052】
実施例2に係る入力部11は、学習データとして、入力文xと出力文yのペアを入力する。出力文yは、入力文xの適切な変換結果を示す教師データとして使用される。
【0053】
実施例2に係る事前処理部12は、入力文xと出力文yのペアに基づいて、ミニバッチを作成する。
【0054】
また、実施例2に係るパラメータ更新部16は、文復号化部132bの出力~yおよび入力文xと対応する出力文yとを入力として、式(4)に示した損失を計算し、損失を最小化するようにパラメータを更新する。記憶部15は、更新済みのパラメータを含む予測モデル151を記憶する。
【0055】
なお、本明細書において、yの上に「~」が記載された文字を、「~y」のように表記する。「~y」は、学習データの出力文yと区別されるために、文復号化部132bの出力文を示すものであり、「~」を付けることで学習データの出力文yとは区別する。
【0056】
次に、実施例2に係る文生成装置1の動作について説明する。
図5は、実施例2に係る学習処理の流れの一例を示すフローチャートである。
【0057】
入力部11は、学習データを入力する(ステップS21)。学習データは、入力文xと、xに対応する出力文yとを含む文集合から構成される。
【0058】
事前処理部12は、入力文xの文集合に基づいて、ミニバッチ情報を生成する(ステップS22)。生成されるミニバッチ情報は、実施例1に係る文生成処理と同様である。
【0059】
集合特徴量算出部131は、ミニバッチ情報に基づいて、MBEを出力する(ステップS23)。そして、変換部132は、ミニバッチを構成する文情報およびMBEに基づいて、文を生成する(ステップS24)。ステップS23およびステップS24は、実施例1に係る文生成処理のステップS13およびステップS14と同様である。
【0060】
次に、パラメータ更新部16は、ステップS24で生成された文~yと出力文yとを入力として損失を計算し、パラメータを更新する(ステップS25)。
【0061】
具体的には、パラメータ更新部16の処理を規定するNMTのトランスフォーマエンコーダ層は、式(1)の損失関数を式(4)に示すように変更することにより、NMTモデルと合わせて学習する。
【0062】
【0063】
【0064】
【数7】
から作成されたミニバッチのセットである。
【0065】
実施例2に係る文生成装置1によれば、集合特徴量算出部131がMBEを算出し、変換部132がMBEに基づいて変換した出力文を機械学習に使用する。したがって、ドキュメント内の広い範囲における文間の文脈を考慮した文の生成の精度を向上させることができる。
【0066】
(実施例3)
次に、実施例3について説明する。実施例3では、実施例1に係る文生成装置に、集合特徴量更新部を追加した構成の例を示す。
図6は、実施例3に係る文生成装置の機能構成を示す図である。
【0067】
実施例3に係る文生成装置1が備える解析部13は、実施例1に係る解析部13に集合特徴量更新部133を追加した構成である。
【0068】
集合特徴量更新部133は、MBE(z)の重要度を推定し、重要度に基づいてMBE(z)を更新する(更新後のMBEを~zとする)。集合特徴量更新部133は、MBE(~z)を文符号化部132aおよび文復号化部132bに引き渡す。
【0069】
具体的には、集合特徴量更新部133は、式(5)によって表されるバイナリ分類器を持つ。このバイナリ分類器は、ミニバッチ内の文が同じドキュメントから選択されているかどうかを予測するものである。
【0070】
P(d|z)=softmax(Wz) (5)
ここで、
【0071】
【数8】
は、パラメータ行列であり、dは、ミニバッチ内の文が同じドキュメントから選択された場合に1をとるバイナリ値である。dは、集合データに含まれる複数の第1のテキストデータが同じドキュメントから選択されたか否かを示す情報の一例である。
【0072】
集合特徴量更新部133は、このバイナリ分類器の予測値をゲート(以下、ミニバッチ埋め込みゲートと呼ぶ)として使用する。すなわち、集合特徴量更新部133は、新たなMBE(~z)を式(8)によって得る。
【0073】
~z=αz (8)
ここで、α=P(d=1|z)であり、集合特徴量更新部133は、式(3)のzを~zに変更する。なお、αは、前述の重要度に相当する。
【0074】
図7は、実施例3に係る文生成処理の流れの一例を示すフローチャートである。
【0075】
実施例3に係る文生成処理は、実施例1に係る文生成処理のステップS13に続いて、集合特徴量更新部133は、ミニバッチ埋め込みゲートによって、MBEを更新する(ステップS31)。
【0076】
変換部132は、ミニバッチを構成する文情報および更新されたMBE(~z)に基づいて、文を生成する(ステップS14)。
【0077】
実施例3に係る文生成装置1によれば、集合特徴量更新部133が、集合特徴量算出部131によって算出されたMBEの重要度を推定し、重要度に基づいてMBEを更新する。これによって、MBEの重要度に応じた変換処理が可能となり、MBEに基づくことによる変換精度の低下を回避することができる。
【0078】
(実施例4)
次に、実施例4について説明する。実施例4では、実施例3に係る文生成装置が、NMTモデルの機械学習においてMBEを使用する例を示す。
図8は、実施例4に係る文生成装置の機能構成を示す図である。
【0079】
実施例4に係る文生成装置1は、実施例3に係る文生成装置1に係る出力部14に代えて、パラメータ更新部16を備える。
【0080】
実施例3に係る事前処理部12は、集合特徴量更新部133に、(i)同じドキュメントから選択された文の集合から構成されるミニバッチと、(ii)異なるドキュメントから選択された文の集合から構成されるミニバッチと、を引き渡す。
【0081】
実施例4に係るパラメータ更新部16は、文復号化部132bの出力~y、学習データに含まれる出力文yおよび集合特徴量更新部133による推定結果dを入力として、式(6)によって表される損失を最小化するようにパラメータを更新する。
【0082】
【0083】
ここで、ψは、バイナリ分類器のパラメータのセットである。また、学習においては、2種類のミニバッチを同じ比率で混合しておく。
【0084】
実際には、パラメータ更新部16は、NMTモデルとバイナリ分類器のそれぞれの損失関数を併せて最小化するため、式(7)の損失関数を最小化するようにパラメータを更新する。
【0085】
【数10】
ここで、λは、バイナリ分類器の損失の重みを制御するためのハイパーパラメータである。
【0086】
次に、実施例4に係る文生成装置1の動作について説明する。
図9は、実施例2に係る学習処理の流れの一例を示すフローチャートである。
【0087】
入力部11は、学習データを入力する(ステップS21)。学習データは、入力文xと、xに対応する出力文yとを含む文集合から構成される。
【0088】
事前処理部12は、入力文xの文集合に基づいて、ミニバッチ情報を生成する(ステップS22)。生成されるミニバッチ情報は、実施例3に係る文生成処理と同様である。
【0089】
集合特徴量算出部131は、ミニバッチ情報に基づいて、MBEを出力する(ステップS23)。そして、集合特徴量更新部133は、ミニバッチ埋め込みゲートによって、推定結果dを出力し、MBEを更新する(ステップS41)。
【0090】
変換部132は、ミニバッチを構成する文情報およびMBEに基づいて、文を生成する(ステップS24)。ステップS23およびステップS24は、実施例3に係る文生成処理のステップS13およびステップS14と同様である。
【0091】
次に、パラメータ更新部16は、ステップS24で生成された文~yと出力文yと推定結果dとを入力として損失を計算し、パラメータを更新する(ステップS42)。
【0092】
具体的には、パラメータ更新部16の処理を規定するNMTのトランスフォーマエンコーダ層は、式(6)の損失関数により、ミニバッチ情報の重要度に基づき学習する。
【0093】
実施例4に係る文生成装置1によれば、集合特徴量更新部133が、集合特徴量算出部131によって算出されたMBEの重要度を推定し、パラメータ更新部16が、推定結果に基づいて予測モデル151のパラメータを更新する。これによって、MBEの重要度に応じた学習が可能となり、MBEに基づくことによる学習精度の低下を回避することができる。
【0094】
(ハードウェア構成例)
文生成装置は、例えば、コンピュータに、本実施の形態で説明する処理内容を記述したプログラムを実行させることにより実現可能である。なお、この「コンピュータ」は、物理マシンであってもよいし、クラウド上の仮想マシンであってもよい。仮想マシンを使用する場合、ここで説明する「ハードウェア」は仮想的なハードウェアである。
【0095】
上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0096】
図7は、上記コンピュータのハードウェア構成例を示す図である。
図7のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0097】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0098】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。なお、上記コンピュータは、CPU1004の代わりにGPU(Graphics Processing Unit)を備えていても良く、CPU1004に加えて、GPUを備えていても良い。その場合、例えばニューラルネットワーク等の特殊な演算が必要な処理をGPUが実行し、その他の処理をCPU1004が実行する、というように処理を分担して実行しても良い。
【0099】
(実験結果)
次に、上述した各実施例に係る文生成装置1を用いた実験の結果について説明する。
【0100】
(比較モデル)
比較対象のベースラインとして3つの設定を使用した。
【0101】
ベースライン「6Enc-Lyr」は、6つのエンコーダおよびデコーダ層を備えたオリジナルのトランスフォーマNMTモデルである。
【0102】
ベースライン「7Enc-Lyr」は前述のものと似ているが、エンコーダ層の数が7に変更されたものである。MBEモデルには追加のトランスフォーマエンコーダ層が必要なため、このモデルには、次のMBEモデルと同等の数のパラメータがある。
【0103】
ベースライン「2-to-1」は、非特許文献1に記載された文脈認識翻訳モデルであって、以前と現在の入力文のペアを出力文に翻訳するものである。2つの入力文は、特別な文境界トークンで連結される。この方法は、文脈認識NMTの強力なベースラインとして知られている。その他の設定は、ベースライン「6Enc-Lyr」と同じである。
【0104】
そして、提案した方法を次の設定によって比較した。
【0105】
「MBE Enc」は、ベースライン「6Enc-Lyr」に似ているが、エンコーダでMBEを使用する。
【0106】
「MBE Enc w/o Gate」は、「MBE Enc」に似ているが、実施例3に係るミニバッチ埋め込みゲートを使用しない。
【0107】
「MBE Dec」は、デコーダでMBEを使用する。
【0108】
「MBE Enc/Dec」は、エンコーダとデコーダの両方でMBEを使用する。
【0109】
(実験設定)
日本語から英語への翻訳を行うNMTモデルに学習させた。学習データとして、JParaCrawlコーパス[4]を使用した。JParaCrawlは、Webをクロールし、並列の文を整列させることによって作成されたものである。各文のペアには、文の取得元のURLがある。そこで、この実験では、同じURLから取得された文を1つのドキュメントに含まれるものとして扱った。
【0110】
ドキュメント境界のあるいくつかのテストセットを使用した。すなわち、(i)科学論文の抜粋(ASPEC[5])、(ii)ニュース(WMT20ニュース翻訳共有タスクからのnewsdev2020)、および(iii)TEDトーク(IWSLT翻訳共有タスク[6]からのtst2012)。NMTモデルを調整するための開発セットとして、ASPEC開発分割を使用した。コーパス統計および詳細な事前処理の手順については、後述する。
【0111】
翻訳のパフォーマンスを評価するために、「sacreBLEU」([7])を使用し、BLEUスコアを報告した([8])。
【0112】
(モデル構成)
NMTモデルとしてトランスフォーマモデルを使用した([9])。ハイパーパラメータは、[9]によって定義された「big」設定に基づく。このMBE実験では、式(7)に含まれるλを1.0に設定した。詳細なハイパーパラメータと学習の設定については、後述する。
【0113】
(実験結果と分析)
図8は、実験結果の一例を示す第一の図である。括弧内の値は、ベースライン「6Enc-Lyr」とのスコアの違いを示している。また、各テストセットの最高スコアは太字で強調表示されている。
【0114】
図8には、いくつかのテストセットでのモデルのパフォーマンスをまとめた。なお、開発セットのパフォーマンスについては、後述する。実験の結果は、本実施の形態に係る文生成装置1のスコアが、3つのベースライン「6Enc-Lyr」、「7Enc-Lyr」および「2-to-1」をいずれも上回っていることを示している。
【0115】
翻訳された文章を調べたところ、本実施の形態に係る文生成装置1は、文脈に合うように文体を改善し、文脈に適した単語を選択することが分かった。実際の翻訳例については、後述する。
【0116】
これらの結果は、MBEがミニバッチ全体の文脈情報を提供することでNMTモデルを支援したことを示している。
【0117】
(バッチサイズでの復号化の影響)
図9は、実験結果の一例を示す第二の図である。
図8を参照して、ドキュメントを使用した場合の翻訳パフォーマンスについて説明した。ただし、実際の使用では、文脈なしで1つの文を翻訳しなければならない場合がある。
図9は、このような状況でのモデルの堅牢性を確認するために、ミニバッチ内の文の数を1つに制限してテストセットをデコードした結果を示している。
【0118】
すなわち、
図9は、文脈情報なしで翻訳パフォーマンスを分析するためのBLEUスコアを示している。なお、デコードミニバッチサイズをMBE使用方法の文のサイズに制限した。また、「2-to-1」の場合、前の文脈の文を削除した。
【0119】
最初の2つのベースラインのスコアは、これらの設定がミニバッチサイズの影響を受けないため、
図8と同じである。本実施形態に係るモデルは、ベースラインと同等のスコアを達成した。これは、本実施形態に係るモデルが文脈の考慮と単一文の翻訳の両方に使用できることを意味する。
【0120】
(ミニバッチ埋め込みゲートの効果)
ゲートが期待どおりに正しく機能するかどうかを確認するため、式(8)に含まれるゲートの重みαを調べた。ドキュメントミニバッチを使用して開発セットを変換した場合、平均の重みは0.71であった。他方、1文のミニバッチでは、平均の重みは0.50であり、はるかに小さくなっている。これが、
図9に示したように、「MBE Enc w/o Gate」が1つの文を翻訳するときにBLEUスコアを大幅に低下させた理由であると考えられる。この観察から、ミニバッチ埋め込みゲートが情報量の少ないMBEに与える重みを小さくし、翻訳品質を損なうことを防ぐことを経験的に確認した。
【0121】
(実験設定の詳細)
図10は、実験結果の一例を示す第三の図である。
図10は、実験に使用したtrain/dev/testの各セット内の文とドキュメントの数を示している。文をセンテンスピース([10])で部分単語にトークン化し、言語ごとに語彙サイズを32kに設定した。なお、学習セットでは、長さが250部分単語トークンを超える文を削除した。
【0122】
(モデル構成の詳細)
NMTモデルとしてトランスフォーマモデルを使用した([9])。ハイパーパラメータは、[9]によって定義された「big」設定に基づき、各隠れ層を1,024次元に設定した6つのエンコーダ/デコーダ層、16のアテンションヘッド、および4,096次元のフィードフォワードネットワーク隠れ層を含む。0.3の確率でドロップアウトを使用した([11])。
【0123】
オプティマイザとして、α=0.001,β1=0.9およびβ2=0.98のAdamを使用した([12])。4,000ステップの線形ウォームアップを使用した平方根減衰学習率スケジュールを使用した([9])。1.0の基準値を超えないように、勾配を留めた。
【0124】
このMBE実験では、式(7)に含まれるλを1.0に設定し、GPUごとのバッチサイズを3,000トークンに設定した。大規模なバッチ学習は学習時間を短縮できるため([13])、更新のために約28万トークンを蓄積した。開発セットの複雑さに基づいて、24,000回の反復でモデルに学習させた。200回の反復ごとにモデルを保存し、デコードのために最後の8つのモデルパラメータを平均した。
【0125】
候補の翻訳スコアを長さで割って正規化し、サイズ6のビーム検索を実行した。本実施の形態に係る実装は、fairseqに基づく([14])。混合精度学習([15])を使用して、メモリ消費と学習時間を削減した。すべての実験は、32GBのメモリを搭載した1つのNVIDIA(登録商標) Tesla(登録商標) V100GPUで実行した。
【0126】
ハイパーパラメータ検索を行わなかったため、ほとんどすべての設定を[4]から借用した。
【0127】
これらのモデル構成を備えるNMTモデルは、本実施の形態に係る予測モデル151の一例である。
【0128】
(追加の実験結果)
図11は、実験結果の一例を示す第四の図である。
図11は、各モデルのパラメータ数、トレーニング速度、および開発セットのBLEUスコアを示している。スコアは、テストセットと同じ傾向を示している(
図8,
図9)。
【0129】
図11において、パラメータの数、学習速度(ワード/秒、wps)、学習に必要な時間、および開発セットのBLEUスコア:"With conntext"列は、主な結果が
図8に対応し、"Without conntext"列は、
図9に対応する文脈情報なしの翻訳分析用である。
【0130】
(翻訳の例)
図12は、実験結果の一例を示す第五の図である。
図12は、科学論文の抜粋(ASPECテストセット)からの文の翻訳例を示している。この例では、"mentions"という単語は2つの方向に翻訳されている。ベースラインシステムは、その単語を口語表現である「言及しています」に翻訳した。対照的に、本実施の形態に係る方法は、その単語を科学論文に適した「述べる」に変換した。これは、MBEがベースラインと比較して科学論文により適した文体に変更できることを示している。
【0131】
図13は、実験結果の一例を示す第六の図である。
図13は、TEDトーク(tst2012)からの別の例を示している。この例は、本実施形態に係るモデルが"you"という単語の翻訳をどのように変更できるかを示している。本実施形態に係る方法は、この単語をベースライン出力である「あなた」と比較してより親しみやすい「君」に翻訳した。このドキュメントでは、「彼」は友好的な老人であるため、MBEの出力はこの文脈により適している。
【0132】
上述したように、本実施の形態に係る文生成装置1によれば、MBEを使用することによって、ドキュメント内における文脈を考慮した文を生成することができる。これによって、上述した実験結果に示されるように、例えば翻訳においてドキュメント内の文脈に沿った文を生成することができる。
【0133】
本実施の形態では、翻訳の単位を文とし、ミニバッチの単位をドキュメントとしている。翻訳の単位がミニバッチに含まれていれば他でも良い。すなわち、文は、テキストデータの一例であって、ドキュメントは、テキストデータの集合である集合データの一例である。
【0134】
本実施の形態に係るNMTモデルは、いわゆるエンコーダデコーダモデルの一例である。また、翻訳は文の生成の一例である。本発明に係る文の生成はこれに限られず、エンコーダデコーダモデルによる要約文の生成、発話文の生成等であっても良い。
【0135】
さらに、本実施の形態において、変換部132を構成する予測モデルがエンコーダデコーダモデルである例を示したが、他でも良い。例えば、BERTモデル[2]、GPTモデル[16]等のように、エンコーダもしくはデコーダのどちらか一方のみを使用する予測モデルでも良い。
【0136】
[参考文献]
[1] Nils Reimers and Iryna Gurevych. 2019. SentenceBERT: Sentence embeddings using Siamese BERTnetworks. In Proceedings of the Conference on Empirical Methods in Natural Language Processing(EMNLP), pages 3982-3992.
[2] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL HLT).
[3] Miquel Espla, Mikel Forcada, Gema Ramirez-Sanchez, and Hieu Hoang. 2019. ParaCrawl: Web-scale parallel corpora for the languages of the EU. In Proceedings of Machine Translation Summit XVII Volume 2: Translator, Project and User Tracks, pages 118-119.
[4] Makoto Morishita, Jun Suzuki, and Masaaki Nagata. 2020. JParaCrawl: A large scale web-based Japanese-English parallel corpus. In Proceedings of the 12th International Conference on Language Resources and Evaluation (LREC), pages 3603-3609.
[5] Toshiaki Nakazawa, Manabu Yaguchi, Kiyotaka Uchimoto, Masao Utiyama, Eiichiro Sumita, Sadao Kurohashi, and Hitoshi Isahara. 2016. ASPEC: Asian scientific paper excerpt corpus. In Proceedings of the 10th International Conference on Language Resources and Evaluation (LREC).
[6] Mauro Cettolo, Christian Girardi, and Marcello Federico. 2012. WIT3: web inventory of transcribed and translated talks. In Proceedings of the 16th Annual Conference of the European Association for Machine Translation (EAMT), pages 261-268.
[7] Matt Post. 2018. A call for clarity in reporting BLEU scores. In Proceedings of the 3rd Conference on Machine Translation (WMT), pages 186-191.
[8] Kishore Papineni, Salim Roukos, Todd Ward, and WeiJing Zhu. 2002. BLEU: a method for automatic evaluation of machine translation. In Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics (ACL), pages 311-318.
[9] 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 Proceedings of the 31st Annual Conference on Neural Information Processing Systems (NeurIPS), pages 6000-6010.
[10] Taku Kudo. 2018. Subword regularization: Improving neural network translation models with multiple subword candidates. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (ACL), pages 66-75.
[11] Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. 2014. Dropout: A simple way to prevent neural networks from overfitting. Journal of Machine Learning Research, 15:1929-1958.
[12] Diederik Kingma and Jimmy Ba. 2015. Adam: A method for stochastic optimization. In Proceedings of the 3rd International Conference on Learning Representations (ICLR).
[13] Myle Ott, Sergey Edunov, David Grangier, and Michael Auli. 2018. Scaling neural machine translation. In Proceedings of the 3rd Conference on Machine Translation (WMT), pages 1-9.
[14] Myle Ott, Sergey Edunov, Alexei Baevski, Angela Fan, Sam Gross, Nathan Ng, David Grangier, and Michael Auli. 2019. fairseq: A fast, extensible toolkit for sequence modeling. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL HLT), pages 48-53.
[15] Paulius Micikevicius, Sharan Narang, Jonah Alben, Gregory F. Diamos, Erich Elsen, David Garcia, Boris Ginsburg, Michael Houston, Oleksii Kuchaiev, Ganesh Venkatesh, and HaoWu. 2018. Mixed precision training. In Proceedings of the 6th International Conference on Learning Representations (ICLR).
【0137】
(付記)
本明細書には、少なくとも下記付記各項の文生成装置、文生成方法、プログラム、及び記憶媒体が開示されている。
(付記項1)
予測モデルに基づき、第1のテキストデータを第2のテキストデータに変換するための装置であって、
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
前記第1のテキストデータを含む集合データの入力を受け、
前記集合データの特徴を表す集合特徴量を算出し、
前記集合特徴量に基づいて、前記第1のテキストデータを前記第2のテキストデータに変換する、
文生成装置。
(付記項2)
前記プロセッサは、
前記集合特徴量を算出する処理において算出された前記集合特徴量の重要度を推定し、前記重要度に基づいて前記集合特徴量を更新し、
前記変換する処理では、前記集合特徴量を更新する処理において更新された集合特徴量に基づいて、前記第1のテキストデータを前記第2のテキストデータに変換する、
付記項2に記載の文生成装置。
(付記項3)
前記予測モデルは、前記集合特徴量を算出する処理および前記変換する処理の規定を含み、
前記プロセッサは、
前記予測モデルに含まれるパラメータを更新し、
前記入力を受ける処理では、前記第1のテキストデータを含む集合データと、前記第1のテキストデータの適切な変換結果を示す教師データと、を含む学習データの入力を受け、
前記パラメータを更新する処理では、前記教師データと、前記変換する処理において変換された前記第2のテキストデータと、に基づいて、前記予測モデルに含まれるパラメータを更新する、
付記項1または2に記載の文生成装置。
(付記項4)
前記プロセッサは、
前記集合特徴量を算出する処理において算出された前記集合特徴量の重要度を推定し、前記重要度に基づいて前記集合特徴量を更新し、
前記予測モデルは、前記集合特徴量を更新する処理の規定をさらに含み、
前記プロセッサは、
前記パラメータを更新する処理では、前記重要度と、前記集合データに含まれる複数の第1のテキストデータが同じドキュメントから選択されたものか否かを示す情報と、に基づいて、前記予測モデルに含まれるパラメータを更新する、
請求項3に記載の文生成装置。
(付記項5)
コンピュータが実行する方法であって、
第1のテキストデータを含む集合データの入力を受けるステップと、
前記集合データの特徴を表す集合特徴量を算出するステップと、
前記集合特徴量に基づいて、前記第1のテキストデータを第2のテキストデータに変換するステップと、を備える、
文生成方法。
(付記項6)
コンピュータを付記項1から4のいずれか1項に記載の文生成装置における各部として機能させるためのプログラム。
(付記項7)
文生成処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記コンピュータは、前記文生成処理において、
前記第1のテキストデータを含む集合データを示す情報の入力を受け、
前記集合データの特徴を表す集合特徴量を算出し、
前記集合特徴量に基づいて、前記第1のテキストデータを前記第2のテキストデータに変換する、
非一時的記憶媒体。
【0138】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0139】
1 文生成装置
11 入力部
12 事前処理部
13 解析部
14 出力部
15 記憶部
16 パラメータ更新部
131 集合特徴量算出部
132 変換部
132a 文符号化部
132b 文復号化部
133 集合特徴量更新部
151 予測モデル
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置