JPWO2020235023A1 - 情報処理装置、情報学習装置、情報処理方法、情報学習方法及びプログラム - Google Patents

情報処理装置、情報学習装置、情報処理方法、情報学習方法及びプログラム Download PDF

Info

Publication number
JPWO2020235023A1
JPWO2020235023A1 JP2019569519A JP2019569519A JPWO2020235023A1 JP WO2020235023 A1 JPWO2020235023 A1 JP WO2020235023A1 JP 2019569519 A JP2019569519 A JP 2019569519A JP 2019569519 A JP2019569519 A JP 2019569519A JP WO2020235023 A1 JPWO2020235023 A1 JP WO2020235023A1
Authority
JP
Japan
Prior art keywords
unit
learning
processing
processing unit
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019569519A
Other languages
English (en)
Other versions
JP6772393B1 (ja
Inventor
睦 森下
睦 森下
鈴木 潤
潤 鈴木
翔 高瀬
翔 高瀬
英剛 上垣外
英剛 上垣外
永田 昌明
昌明 永田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of JP6772393B1 publication Critical patent/JP6772393B1/ja
Publication of JPWO2020235023A1 publication Critical patent/JPWO2020235023A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

情報処理装置は、入力系列を構成する処理単位ごとに複数階層の部分単語単位を生成し、前記処理単位ごとに前記複数階層の部分単語単位に基づく埋め込みベクトルを生成する生成部と、前記処理単位ごとに生成された前記埋め込みベクトルを入力として、学習されたパラメータに基づく処理を実行する実行部と、を有することで、系列変換モデルの変換精度を向上させる。

Description

本発明は、情報処理装置、情報学習装置、情報処理方法、情報学習方法及びプログラムに関する。
近年のニューラル機械翻訳の研究では、部分単語単位(subword)が広く用いられるようになりつつある(例えば、非特許文献1)。ニューラル機械翻訳において部分単語単位を用いる利点はいくつか考えられるが、部分単語単位を用いる最も大きな理由は、言語生成時の未知語問題への対応である。従来のニューラル機械翻訳では、単語そのものを生成する方式で行なっていたため、基本的に学習データに出現しない単語を生成することは不可能であった。一方、部分単語単位を用いると、部分単語単位で構成できる単語は理論的には全て生成可能となり、システムが理論的に生成可能な語彙数を爆発的に増やすことが可能となる。
Sennrich, R., Haddow, B., and Birch, A.: Neural Machine Translation of Rare Words with Subword Units, in Proceedings of ACL, pp. 1715-1725 (2016)
前述のように、部分単語単位を導入した主な理由は生成時の未知語対応にある。つまり、復号化器の出力層の語彙を部分単語単位にすることが主な目的と言える。また、復号化器の出力層の語彙が決まると、当然入力層の語彙も同じものを使うことが自然であり一般的な方法論なので、こちらも同様に決定される。更に、復号化器だけを部分単語単位にすると不整合が生じる恐れがあるため一般的には、符号化器の語彙も復号化器の部分単語単位を構築する設定で構築する場合が多い。
このように、ニューラル機械翻訳では、符号化器及び復号化器の双方が部分単語単位に関わる。
また、文を構成する各文字列(例えば、単語等に)について、部分単語単位への分割結果は複数存在しうる。例えば、部分単語単位への分割ロジックに対する設定として、分割単位を文字単位とした場合、各文字列は、文字単位に分割される。一方、当該設定を2文字程度にした場合、各文字列は2文字程度の部分単語単位に分割される。このように同一の文字列であっても、分割ロジックに対する設定に応じて、複数通りの分割形態が有る。
しかしながら、従来のニューラル機械翻訳においては、単一の設定によって生成された部分単語単位のみが用いられており、この点に関して精度の向上の余地が見込まれる。
なお、上記の課題は、狭義のニューラル機械翻訳(言語の翻訳)だけに限られず、広義のニューラル機械翻訳(文を入力として、何かしらの系列を出力する系列変換モデル)にも共通である。系列変換モデルには、狭義のニューラル機械翻訳の他、例えば、文書要約や、構文解析、及び応答文生成等もその範疇に含まれる。
本発明は、上記の点に鑑みてなされたものであって、系列変換モデルの変換精度を向上させることを目的とする。
そこで上記課題を解決するため、情報処理装置は、入力系列を構成する処理単位ごとに複数階層の部分単語単位を生成し、前記処理単位ごとに前記複数階層の部分単語単位に基づく埋め込みベクトルを生成する生成部と、前記処理単位ごとに生成された前記埋め込みベクトルを入力として、学習されたパラメータに基づく処理を実行する実行部と、を有する。
系列変換モデルの変換精度を向上させることができる。
第1の実施の形態における変換装置10のハードウェア構成例を示す図である。 第1の実施の形態における変換装置10の翻訳時の機能構成例を示す図である。 BPEによって生成される部分単語単位の特性を説明するための図である。 第1の実施の形態における符号化部121及び復号化部122のモデル構成例を示す図である。 符号化器の拡張を説明するための図である。 第1の実施の形態における変換装置10の学習時の機能構成例を示す図である。 第1の実施の形態における変換装置10が実行する学習処理の処理手順の一例を説明するためのフローチャートである。 第2の実施の形態における符号化部121及び復号化部122のモデル構成例を示す図である。 第3の実施の形態における符号化部121及び復号化部122のモデル構成例を示す図である。 第4の実施の形態における符号化部121及び復号化部122のモデル構成例を示す図である。
以下、図面に基づいて第1の実施の形態を説明する。図1は、第1の実施の形態における変換装置10のハードウェア構成例を示す図である。図1の変換装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
変換装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って変換装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
図2は、第1の実施の形態における変換装置10の翻訳時の機能構成例を示す図である。図2において、変換装置10は、事前処理部11及び解析部12等を有する。これら各部は、変換装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
解析部12は、「Luong, M.-T., Pham, H., and Manning, C. D.: Effective Approaches to Attention-based Neural Machine Translation, in Proceedings of EMNLP (2015)」で用いられている注意機構(attention mechanism)付きのRNN符号化/復号化器モデル(「Bahdanau, D., Cho, K., and Bengio, Y.: Neural Machine Translation by Jointly Learning to Align and Translate, in Proceedings of ICLR (2015)」)をベースラインモデルとする学習済みモデル(学習対象のパラメータ(以下、「学習パラメータ」という。)が設定されたニューラルネットワーク)に基づいて、入力文に関する部分単語単位に基づいてニューラル機械翻訳(例えば、自然言語の翻訳)を実行して、出力文を生成する。
図2において、解析部12は、符号化部121及び復号化部122を含む。符号化部121は、符号化器/復号化器モデル(Encoder−decorder model)又は系列変換モデルの符号化器(enncoder)として機能する。復号化部122は、当該モデルの復号化器(decoder)として機能する。
まず、ベースラインモデルにおける符号化器及び復号化器について定式化し、その後、本実施の形態における符号化部121及び復号化部122における符号化器及び復号化器に関する拡張について述べる。以下の説明において、X=(x i=1を入力系列(入力文)、Y=(y j=1を出力系列(出力文)とする。xは、i番目の入力単語wに対応するone−hotベクトル表現、yは、j番目の出力単語wに対応するone−hotベクトル表現である。また、one−hotベクトルのリスト(x,...,x)を、(x i=1と記述し、one−hotベクトルのリスト(y,...,y)を、(y j=1と記述する。Iは、入力文に含まれる単語数であり、Jは、出力文に含まれる単語数である。なお、ベースラインモデルについては、単語を処理単位として説明する。
ベースラインモデルの符号化器について説明する。Ω(s)(・)をRNNで構成される符号化器の全ての処理を表す関数とする。この場合、符号化器は、以下の式(1)及び(2)によって示されるように、入力X=(x i=1を受け取って隠れ状態ベクトルのリストH=(h i=1を返す処理を実行する。
Figure 2020235023
但し、Eは、ベースラインモデルの符号化器の埋め込み行列である。埋め込み行列Eは重み付きの行列であり、学習パラメータを構成する。すなわち、Eは、学習時において逐次更新される。
ベースラインモデルの復号化器(+注意機構(attention))について説明する。復号化器は、Kベストビーム探索(beam−search)を用いて、入力系列Xが与えられたときの出現確率が最大となる出力系列^Y(の近似解)を獲得する。ビーム探索では、各処理時刻jでK個の出力候補を保持しながら探索を行う。ここでは、各処理時刻jにおいて、生成する語彙を選択する処理を述べる。まず、時刻jにおける埋め込みベクトルの取得には、以下の式(3)を用いて計算を行う。
Figure 2020235023
但し、Fは、ベースラインモデルの符号化器の埋め込み行列である。埋め込み行列Fは重み付きの行列であり、学習パラメータを構成する。すなわち、Fは、学習時において逐次更新される。
この時、~yj-1,k(但し、~yは、数式においてyの上~が付与された記号に対応する。)に処理時刻j−1で予測されたk番目に確率が高い単語に対応するone−hotベクトルとする。但し、全てのkに対して~y(k) 0,kは、必ず特殊単語BOSに対応するone−hotベクトルとする。
次に、復号化器は、得られた埋め込みベクトルfを使って、RNNと注意機構を用いて最終隠れ層のベクトルzj,kを以下の式(4)を用いて計算する。
Figure 2020235023
ここで、RNNAttnは、入力ベクトルfj,kを受け取って、RNNと注意機構を用いて最終隠れ層のベクトルzj,kを計算する処理全てを表す関数とする。但し、u(j,k)は、処理時刻jにおけるk番目の候補が、処理時刻j−1の時の1からK番目のどの候補から生成されたかを示す値とする。よって、u(j,k)={1,...,K}である。この値は、j−1時刻の時にどのRNNを用いて処理が行われたのかを次の時刻jに伝達する役割を持っている。次に、復号化器は、得られた最終隠れ層のベクトルzから、生成する単語を選択する基準となるスコアを以下の式(5)を用いて計算する。
Figure 2020235023
その後、復号化器は、Kベストビーム探索の処理を行い、処理時刻jにおける上位K個の候補を得る。
Figure 2020235023
ここで、K個の候補とともに、前述のu(j,k)の情報も取得される。
学習時は、k=1として予測結果~yj-1,kの代わりに正解yj-1,kを利用することに相当する。
次に、本実施の形態により拡張される符号化部121及び復号化部122について説明する。符号化器及び復号化器の拡張に伴い、本実施の形態の変換装置10は、事前処理部11を有する。そこで、まず、事前処理部11について説明する。
事前処理部11は、文章等の入力文に対して事前処理を実行する。本実施の形態では、事前処理として、入力文について、任意の処理単位(単語等)への分割が実行され、分割後の処理単位についての埋め込みベクトル(分散表現)が求められる。本実施の形態では、各処理単位の埋め込みベクトルの生成(導出)に、当該処理単位に関する複数階層の部分単語単位が利用される。本実施の形態における部分単語単位は、BPE(byte-pair encoding )を用いた方法(非特許文献1)によって決定される。
BPEでは、入力文を最も細かい部品(文字)まで分割し、各部分単語(文字を含む)を逐次的にマージ(結合)することで徐々に文字から単語へ部分単語を組み上げていく処理が実行される。その組み上げの処理に置いて、事前に決められたマージ回数に到達したら処理を終了する。
一般的には、マージ回数(m)の値はハイパーパラメータであり、人手により経験的に良いと思われる値が用いられる。近年のニューラル機械翻訳では、mとして数千から数万の値が使われることが多く、千以下、十万以上の値はあまり用いられない傾向にある。これは、マージ回数が少ない場合は、文字単位の処理に近く、それぞれの文字が有する意味的な情報量が限定的になるため、あまり効果的ではないと予想され、また、マージ回数が多い場合は、単語単位の処理と近くなり、部分単語を導入した意味が薄れてしまうということが考えられる。このような理由から、翻訳で必要になる語彙数が数百万語彙だと仮定した場合、経験的に数千から数万のマージ回数とするのは妥当な値と考えられる。
BPEの特性として、マージ回数が0回の場合は、文字単位の処理と一致し、マージ回数を無限大にすると単語単位と同じになる。よって、部分単語単位を用いる方法論をBPEの観点で整理すると、文字単位の処理から単語単位の処理までをマージ回数という観点で、離散値で段階的(階層的)に遷移する方法論と捉えることができる。つまり、BPEは、その性質上、文字単位の処理も単語単位の処理も包含する枠組みと捉えることができる。このことから、第1の実施の形態では、「部分単語単位」という用語は、直感的に思い浮かぶ単語の一部という意味だけではなく、単語そのものや文字単位の状態も含む概念として用いられる。また、第1の実施の形態では、mをBPEのマージ回数を表す変数とし、特に、BPE(m=0)を文字単位を用いる方法、BPE(m=∞)を単語単位を用いる方法を表すこととし、以下においては、文字単位や単語単位の場合を区別せず全て部分単語の文脈で説明を行う。
BPEでは、相対的にmが小さい下位の部分単語単位は、mが大きい上位の部分単語単位に包含される関係にあるため、最もmが大きい部分単語単位に対し、相対的にmが小さい部分単語単位は一意に決定される。
図3は、BPEによって生成される部分単語単位の特性を説明するための図である。図3では、「Britney」という文字列の部分単語単位の一例が示されている。図3において、m、m、mは、マージ回数mの具体的な値を示し、m<m<mの関係を有する。
マージ回数がmの場合、「Britney」の部分単語単位は、「Britney」の1つである例が示されている。マージ回数がmの場合、「Britney」の部分単語単位は、「Bri」、「t」、「ney」の3つである例が示されている。マージ回数がmの場合、「Britney」の部分単語単位は、「B」、「ri」、「t」、「n」、「e」、「y」の5つである例が示されている。
なお、図3の下側の図は、符号化部121による符号化の際に生成される情報の一例を示す。当該図における記号「@@」は、次の部分単語単位と結合することで元の単語単位になることを示すために挿入される特殊記号である。
図3に示されるように、マージ回数mが相対的に大きい部分単語単位は、マージ回数mが相対的に小さいいずれか1以上の部分単語単位を完全に包含する(換言すれば、マージ回数mが相対的に大きい部分単語単位は、マージ回m数が相対的に小さい1以上の部分単語単位の組み合わせによって構成される。)。具体的には、マージ回数=mの部分単語単位は、マージ回数=m又はmの1以上の部分単語単位を包含する。マージ回数=mの各部分単語単位は、マージ回数=mの1以上の部分単語単位を包含する。
したがって、或る文集合(コーパス)について、相対的にマージ回数が大きい部分単語単位に対して、相対的にマージ回数が小さい部分単語単位は、一意に決定される。ここで、一意に決定されるとは、ランダム性が無いことをいう。すなわち、計算するたびに値が変化しないことをいう。
したがって、BPEでは、部分単語単位をマッピング関数を用いて容易に求めることができる。よって、事前処理部11は、当該マッピング関数を用いて入力文から部分単語単位を生成する。この際、本実施の形態の事前処理部11は、マージ回数が単一の部分単語単位ではなく、複数種類のマージ回数について部分単語単位を生成する。すなわち、事前処理部11は、各単語に対する部分単語単位を階層的に生成し、各部分単語単位に基づいて、当該単語の埋め込みベクトルを生成する。
続いて、本実施の形態の符号化部121及び復号化部122について説明する。図4は、第1の実施の形態における符号化部121及び復号化部122のモデル構成例を示す図である。
図4に示されるように、本実施の形態では、符号化部121及び復号化部122のそれぞれの入力層が拡張される。より具体的には、複数階層の部分単語単位(マージ回数が複数種類の部分単語単位)が取り扱えるようそれぞれの入力層が拡張される。図4では、符号化部121について3階層の部分単語単位の入力が可能とされ、復号化部122について2階層の部分単語単位が入力可能とされた例が示されている。
なお、復号化部122の出力に対して、複数階層の部分単語単位を出力するように修正することも考えられる。これはマルチタスク学習の設定と考えれば技術的には容易に対応可能であるが、復号化部122では、逐次的に単語予測を繰り返すという処理を行う性質上、複数の予測結果間の整合性を担保するには、制約付きの復号化処理などが必要となる。これは、学習と評価時の復号化(デコード)処理が煩雑になるため、本実施の形態では取り扱わないこととする。よって本実施の形態では、復号化部122の出力部分は変更不要なことを担保した状態で符号化部121及び復号化部122の入力層の修正を行うという考えを基本方針とする。
この時、復号化部122の入力部分の拡張は以下の通りである。
Figure 2020235023
すなわち、本実施の形態の復号化部122では、式(3)が式(7)に変更される。但し、Fは復号化部122の埋め込み行列であり、rはマージ回数である。すなわち、Fは、マージ回数=rに対する埋め込み行列である。例えば、復号化部122について図4の通りにマージ回数が設定された場合、r={1000,16k}である。なお、埋め込み行列Frは重み付きの行列であり、学習パラメータを構成する。すなわち、Frは、学習時において逐次更新される。
前述のように、復号化部122の予測は単一であることを仮定するため、Ψ(~yj-1,k)は、予測結果~yj-1,kをキーとした事前に定義されたマッピング関数を表しており、要素が0又は1をとるバイナリベクトルを返す。すなわち、Ψ(・)によって返されるバイナリベクトルは、マージ回数がrである場合の~yj-1,kの各部分単語単位の要素が1であるバイナリベクトルである。例えば、BPE(m=16k)のrecordという部分単語単位が予測された場合、BPE(m=1k)で「record」の部分単語単位となる「rec」と「ord」とのそれぞれに対応する要素が1であるバイナリベクトルがマッピング関数で引かれるといった処理となる。r={1k,16k}である場合、式(7)では、~yj-1,kについて各rについて算出された埋め込みベクトルの総和(要素同士の総和)が算出される。
なお、上述したように、相対的にmが小さい部分単語単位は包含関係にあるため、一意に対象となる部分単語単位が決まり、容易に部分単語単位を求めることができる。つまり、上記の復号化部122の入力部分の拡張は、復号化部122の予測結果が~yj-1,k一つであるため、これからマッピング関数で一意に決定できる部分単語単位を特徴として利用していることに相当する。
同様に、符号化部121側の入力部分の拡張は以下の通りである。
Figure 2020235023
すなわち、本実施の形態の符号化部121では、式(1)が式(8)に変更される。但し、Eは符号化部121の埋め込み行列であり、qはマージ回数である。すなわち、Eは、マージ回数=qに対する埋め込み行列である。例えば、符号化部121について図4の通りにマージ回数が設定された場合、q={300,1000,16k}である。なお、埋め込み行列Eは重み付きの行列であり、学習パラメータを構成する。すなわち、Eは、学習時において逐次更新される。
φ(x)は、Ψr(~yj-1,k)と同様に、xから一意に導出可能なマッピング関数を表しており、要素が0又は1をとるバイナリベクトルを返す。すなわち、φ(・)によって返されるバイナリベクトルは、マージ回数がqである場合のxの各部分単語単位の要素が1であるバイナリベクトルである。qが複数通りであれば、式(8)では、xについて算出された複数通りの埋め込みベクトルの総和(要素同士の総和)が算出される。斯かる演算は、換言すれば、図5に示されるものと同義である。
図5は、符号化部121の拡張を説明するための図である。図5において左側が式(1)に対応し、右側が式(8)に対応する。左側において、埋め込み行列Eに対して乗ぜられるベクトル(x)は、one−hotベクトル表現であるのに対し、右側において埋め込み行列Eに対して乗ぜられるベクトルは、xのqに対する各部分単語単位の要素が1であるバイナリベクトル(φ(x))である。したがって、当該バイナリベクトルは複数の要素が1となりうる。ei,qは、入力単語wに対するqについての埋め込みベクトルである。式(8)によれば、全てのqに対するei,qの総和が、入力単語wに対する埋め込みベクトルeとなる。
図6は、第1の実施の形態における変換装置10の学習時の機能構成例を示す図である。図6中、図2と同一部分には同一符号を付し、その説明は省略する。
学習時において、変換装置10は、更に、サンプリング部13及びパラメータ学習部14を有する。これら各部は、変換装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
サンプリング部13は、学習データ群Dの中から、1回分の学習処理の学習データをサンプリング(抽出)する。学習データは、入力系列(入力文)Xと、当該Xに対応する(当該Xに対して正解となる)出力系列(出力文)Yとの組みである。
パラメータ学習部14は、学習データに基づいて、符号化部121及び復号化部122のそれぞれの学習モデル(学習パラメータ群)を学習する。
なお、学習時の変換装置10と、推論時(タスク(入力系列Xに基づく出力系列Yの生成)の実行時)の変換装置10とは異なるコンピュータを用いて構成されてもよい。
以下、変換装置10が実行する処理手順について説明する。図7は、第1の実施の形態における変換装置10が実行する学習処理の処理手順の一例を説明するためのフローチャートである。
ステップS101において、事前処理部11は、予め用意されている学習データ群Dの中から、一部の学習データ(以下、「対象学習データ」という。)をサンプリングする。サンプリングは、公知の方法が用いられて実行されればよい。
続いて、事前処理部11は、対象学習データの入力系列(入力文)を、任意の処理単位(例えば、単語単位)に分割する(S102)。
続いて、事前処理部11は、入力系列の各処理単位を式(8)利用して埋め込みベクトルに変換する(S103)。ここで、式(8)のqの階層(すなわち、BPEのマージ回数)は、ハイパーパラメータとして予め設定される。各処理単位について、式(8)を用いて埋め込みベクトルが生成されることにより、各処理単位について、階層的な部分単語単位に基づく埋め込みベクトルが得られる。
続いて、符号化部121は、各処理単位の埋め込みベクトルの系列を入力として、公知の方法により符号化の計算を実行する(S104)。
続いて、復号化部122は、符号化部121による計算結果(例えば、符号化部121の再帰層の計算結果)を入力とし、公知の方法により復号化の計算を実行する(S105)。但し、この際、j番目の処理単位について復号化部122に入力される埋め込みベクトルは、j−1番目の処理単位について復号化部122から出力された処理単位に対して式(7)が適用されて計算される。ここで、式(7)のrの階層(すなわち、BPEのマージ回数)は、ハイパーパラメータとして予め設定される。なお、rの階層はqの階層と同じでもよいし、異なっていてもよい。式(7)を用いて埋め込みベクトルが生成されることにより、当該処理単位について、階層的な部分単語単位に基づく埋め込みベクトルが得られる。その後、当該埋め込みベクトルと、式(4)〜(6)に基づいて、j番目の処理単位の予測結果(推論結果)が得られる。
続いて、パラメータ学習部14は、復号化部122による処理結果である出力系列の予測結果と、対象学習データの出力系列とに基づいて、公知の方法により損失関数(すなわち、対象学習データの出力系列(出力文)と、復号化器122による計算結果である出力系列の予測結果との誤差)を計算する(S106)。
続いて、パラメータ学習部14は、損失関数の計算結果が所定の収束条件を満たしたか否かを判定する(S107)。当該計算結果が当該収束条件を満たしていない場合(S107でNo)、パラメータ学習部14は、当該計算結果に基づいて、公知の方法により符号化部121及び復号化部122のそれぞれの学習パラメータを更新する(S108)。この場合、更新後の学習パラメータに基づいてステップS101以降が繰り返される。
一方、損失関数の計算結果が所定の収束条件を満たした場合(S107でYes)、パラメータ学習部14は、この時点における符号化部121及び復号化部122のそれぞれの学習パラメータを、例えば、補助記憶装置102等に保存する(S109)。その結果、符号化部121及び復号化部122は、学習済みのニューラルネットワークとなる。
なお、学習後のタスクの実行時(ニューラル機械翻訳の実行時)には、ステップS101において、翻訳対象の入力文Xが入力され、ステップS105において、翻訳結果の出力文Yが出力される。ステップS106以降が実行されない。
このように学習された符号化部121及び復号化部122についての実験及び実験結果は、「Makoto Morishita, Jun Suzuki, Masaaki Nagata. Improving Neural Machine Translation by Incorporating Hierarchical Subword Features The 27th International Conference on Computational Linguistics (COLING).」の「4.Experiments」以降に記載されている通りである。例えば、「Table 9」には、フランス語から英語へ機械翻訳について、ベースラインモデルと本実施の形態との翻訳結果が示されている。
これによれば、本実施の形態では、「Britney Spears」といった未知語又は低頻度語について、正しく翻訳できている(生成できている)ことが分かる。
上述したように、第1の実施の形態によれば、符号化部121の入力及び復号化部122の入力について、一つの処理単位に対して様々な数及び長さの部分単語単位が生成される。したがって、一つの処理単位について、様々な数及び長さの部分単語単位を階層的に入力することができる。その結果、実験結果に示されるように、系列変換モデルの変換精度を向上させることができる。なお、符号化部121の入力及び復号化部122のいずれか一方のみについて、部分単語単位が階層化されるようにしてもよい。すなわち、他方については、マージ回数が単一の部分単語単位が入力されるようにしてよい。
また、第1の実施の形態では、部分単語単位の生成方法として、BPEが採用される。BPEでは、相対的に文字列長が長い部分単語単位が、相対的に文字列長が短い部分単語単位を必ず包含するという特徴がある。その結果、ニューラル機械翻訳の処理効率を向上させることができる。
なお、第1の実施の形態は、ニューラル機械翻訳以外の系列変換モデル(例えば、文書要約や、構文解析、及び応答文生成等)にも適用可能である。
一例として、構文解析への適用例を第2の実施の形態として説明する。第2の実施の形態では第1の実施の形態と異なる点について説明する。第2の実施の形態において特に言及されない点については、第1の実施の形態と同様でもよい。
図8は、第2の実施の形態における符号化部121及び復号化部122のモデル構成例を示す図である。すなわち、第2の実施の形態では、図4が図8に置き換わる。
図8に示されるように、符号化部121は、複数階層の部分単語単位を入力可能なように拡張されている。符号化部121に関して、x'は、入力文におけるi番目の入力単語wの埋め込みベクトル、s'は、wに関してマージ回数m=q(q階層目)の部分単語単位を示す。なお、第2の実施の形態では、単語と当該単語に関する部分単語単位とが明確に区別される。すなわち、第2の実施の形態における部分単語単位には、マージ回数m=∞の場合は含まれない。その結果、式(1)は、以下の式(9)に置き換わる。すなわち、第2の実施の形態において、事前処理部11は、入力単語wに対する埋め込みベクトルeを、以下の式(9)によって算出する。
Figure 2020235023
但し、xは、入力単語wのone−hotベクトル表現、sは、マージ回数m=qにおける入力単語wの部分単語単位群のバイナリベクトルである。
なお、単語と部分単語単位との区別は便宜的なものであり、x'が、m=∞の場合のs'によって表現されてもよい。、この場合、式(9)ではく、式(1)が利用されればよい。
一方、図8の復号化部122は、入力文に対応する構文木のS式を出力する。S式を出力する復号化部122には、公知の復号器が用いられればよい。
なお、図8の復号化部122は、ターゲットタスクに関連する効果的な補助タスクを見つけることができれば、マルチタスク学習拡張機能がタスクパフォーマンスを向上させることが多いという一般的な知識から、POSタグの正規化無しで線形化された形式を組み込むことによるPOSタグが、補助的なタスクとして共同で推定されるように構成されている。詳細には、POSタグ正規化有り及び無しの線形化された形式のスコアは、以下の式によって、復号化部122の出力層において、それぞれ独立に、かつ、同時にo及びaとして推定される。
Figure 2020235023
但し、W(o)は、POSタグ正規化による出力の語彙に対するデコーダ出力行列である。また、W(a)は、POSタグ正規化無しの出力語彙に対するデコーダ出力行列である。
次に、第3の実施の形態について説明する。第3の実施の形態では第2の実施の形態と異なる点について説明する。第3の実施の形態において特に言及されない点については、第2の実施の形態と同様でもよい。
系列変換モデルにおいて、希少語(低頻度語)、例えば、訓練データ中に5回未満しか出現しない単語は、一般に未知語に置換される。しかし、第1の実施の形態や第2の実施の形態のように部分単語単位を用いる場合、未知語が発生しなくなる。したがって、未知語に対応する埋め込みベクトルの学習が行われなくなる。一方で、学習データに含まれていない文字がタスクの実行時(推論時)の入力文に含まれている可能性が有る。この場合、このような文字又は当該文字を含む文字列(単語等)に対して適切な埋め込みベクトルを割り当てることができなくなる。
また、部分単語文字列が用いられない場合であっても、未知語に対応する埋め込みベクトルは、次の理由でうまく学習できないと考えられる。(1)未知語は、希少語の明らかな置き換えであるため、学習データ内における未知語の発生は比較的少ない。(2)系列変換モデルは希少な単語の訓練には比較的効果がない。
第3の実施の形態では、このような課題を解決する例について説明する。図9は、第3の実施の形態における符号化部121及び復号化部122のモデル構成例を示す図である。図9おいては、図8との違いについて説明する。
図9に示されるように、未知語に対する埋め込みベクトル(UNK bias)u'が、入力単語wの埋め込みベクトルx'と、入力単語wの各部分単語単位に対する埋め込みベクトルs'とのそれぞれに加算される。すなわち、第3の実施の形態において、事前処理部11は、以下の式(11)を用いて入力単語wに対する埋め込みベクトルeを算出する。
Figure 2020235023
但し、uは、未知語に対するone−hotベクトル表現であり、学習時において既知である。なお、入力単語wが未知語の場合、x=uであるため、式(11)は、以下の式(12)に示されるように変形される。
Figure 2020235023
入力単語wに対する埋め込みベクトルeが式(11)に基づいて算出されて学習が行われることで、未知語に対するone−hotベクトル表現が全体に対し、ある種バイアスの役割を果たすことになる。これは、未知語のベクトルを常に入力単語のベクトルに足しながら学習を行うことで、全ての語彙に対し、平均的な特徴をもった未知語の埋め込みベクトルが学習される(すなわち、Eが学習される)ためであると推察される。全ての語彙に対して平均的特徴を持つように未知語の埋め込みベクトルが学習された場合、入力された未知語wがコーパスに出現する未知語集合と意味的に遠いものであっても、wに付与される埋め込みベクトルは、従来手法と比較すると本来のwの特徴に近いものになりやすいと考えられる。その結果、未知語を含む系列変換モデルの変換精度の向上を期待することができる。
なお、第3の実施の形態に関する実験及び当該実験によって確認された効果は、「Jun Suzuki, Sho Takase, Hidetaka Kamigaito, Makoto Morishita, Masaaki Nagata. An Empirical Study of Building a Strong Baseline for Constituency Parsing The 56th Annual Meeting of the Association for Computational Linguistics (ACL).」の「4 Experiments」及び「4.1 Results」等を参照されたい。
次に、第4の実施の形態について説明する。第4の実施の形態では第3の実施の形態と異なる点について説明する。第4の実施の形態において特に言及されない点については、第3の実施の形態と同様でもよい。
第3の実施の形態では、入力文の各単語の部分単語単位が符号化部121に入力されるモデルを説明した。但し、未知語のベクトルを常に入力単語のベクトルに足しながら学習を行う方法は、部分単語単位が入力されないモデルに対して適用されてもよい。第4の実施の形態では、このようなモデルについて説明する。
図10は、第4の実施の形態における符号化部121及び復号化部122のモデル構成例を示す図である。図10においては、図10との違いについて説明する。
図10において、符号化部121には、部分単語単位は入力されない。一方、入力単語wiごとに、未知語に対する埋め込みベクトル(UNK bias)u'が、入力単語wの埋め込みベクトルx'に加算される。すなわち、第4の実施の形態において、事前処理部11は、以下の式(13)を用いて入力単語wに対する埋め込みベクトルeを算出する。
Figure 2020235023
このように、部分単語単位が入力されないモデルに対しても、未知語に対する埋め込みベクトル(UNK bias)u'の加算が行われてもよい。そうすることで、斯かるモデルについて、第3の実施の形態と同様の効果が期待できる。
なお、上記の各実施の形態は、Encoder−decoderモデルのように符号化器及び復号化器セットとして用いるモデルだけでなく、符号化器が単体で用いられるモデルに適用されてもよい。また、復号器が判定器に置き換えられたモデルに対して上記各実施の形態が適用されてもよい。この場合、変換装置10は、復号化部122の代わりに判定器として機能する判定部を有する。判定部からの出力は、出力系列(出力文)ではなく判定結果となる。判定部の機能の一例として、文を入力として、それが質問文か否かを判定する(2値分類)、文を入力として、それが所定のカテゴリのどれに属する文なのか推定する(多クラス分類)等が挙げられる。
なお、上記各実施の形態において、変換装置10は、情報処理装置及び情報学習装置の一例である。事前処理部11は、生成部の一例である。符号化部121又は復号化部122は、実行部の一例である。パラメータ学習部14は、学習部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 変換装置
11 事前処理部
12 解析部
13 サンプリング部
14 パラメータ学習部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
121 符号化部
122 復号化部
B バス
そこで上記課題を解決するため、情報処理装置は、入力を構成する所定の処理単位ごとに、部分単語単位が前記所定の処理単位と等しい階層を最上位と定義した際に、上位の階層の各部分単語単位が下位の階層の1以上の部分単語単位の組によって構成されるように、複数階層の部分単語単位を生成し、前記所定の処理単位ごとに、当該所定の処理単位に対応する部分単語単位、及び当該所定の処理単位より下位の階層に含まれる全ての部分単語単位の埋め込みベクトルを足し合わせることによって当該所定の処理単位の埋め込みベクトルを生成する生成部と、前記所定の処理単位ごとに生成された前記埋め込みベクトルを入力として、学習されたニューラルネットワークに基づく所定の処理を行い、前記入力文に対する出力を生成する処理を実行する実行部と、を有する。

Claims (8)

  1. 入力系列を構成する処理単位ごとに複数階層の部分単語単位を生成し、前記処理単位ごとに前記複数階層の部分単語単位に基づく埋め込みベクトルを生成する生成部と、
    前記処理単位ごとに生成された前記埋め込みベクトルを入力として、学習されたパラメータに基づく処理を実行する実行部と、
    を有することを特徴とする情報処理装置。
  2. 前記生成部は、上位の階層の部分単語単位が下位の階層の部分単語単位を包含するように、前記複数階層の部分単語単位を生成する、
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記実行部は、前記処理単位ごとに、更に、未知語に対応する埋め込みベクトルを入力とする、
    ことを特徴とする請求項1又は2記載の情報処理装置。
  4. 学習データに含まれる入力系列を構成する処理単位ごとに複数階層の部分単語単位を生成し、前記処理単位ごとに前記複数階層の部分単語単位に基づく埋め込みベクトルを生成する生成部と、
    前記処理単位ごとに生成された前記埋め込みベクトルを入力として、学習対象のパラメータに基づく処理を実行する実行部と、
    前記学習データにおいて前記入力系列に対応する出力に対する前記実行部による処理結果の誤差に基づいて、前記パラメータを学習する学習部と、
    を有することを特徴とする情報学習装置。
  5. 入力系列を構成する処理単位ごとに複数階層の部分単語単位を生成し、前記処理単位ごとに前記複数階層の部分単語単位に基づく埋め込みベクトルを生成する生成手順と、
    前記処理単位ごとに生成された前記埋め込みベクトルを入力として、学習されたパラメータに基づく処理を実行する実行手順と、
    をコンピュータが実行することを特徴とする情報処理方法。
  6. 学習データに含まれる入力系列を構成する処理単位ごとに複数階層の部分単語単位を生成し、前記処理単位ごとに前記複数階層の部分単語単位に基づく埋め込みベクトルを生成する生成手順と、
    前記処理単位ごとに生成された前記埋め込みベクトルを入力として、学習対象のパラメータに基づく処理を実行する実行手順と、
    前記学習データにおいて前記入力系列に対応する出力に対する前記実行手順による処理結果の誤差に基づいて、前記パラメータを学習する学習手順と、
    をコンピュータが実行することを特徴とする情報学習方法。
  7. 請求項1乃至3いずれか一項記載の情報処理装置としてコンピュータを機能させることを特徴とするプログラム。
  8. 請求項4記載の情報学習装置としてコンピュータを機能させることを特徴とするプログラム。
JP2019569519A 2019-05-21 2019-05-21 情報処理装置、情報学習装置、情報処理方法、情報学習方法及びプログラム Active JP6772393B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/020173 WO2020235023A1 (ja) 2019-05-21 2019-05-21 情報処理装置、情報学習装置、情報処理方法、情報学習方法及びプログラム

Publications (2)

Publication Number Publication Date
JP6772393B1 JP6772393B1 (ja) 2020-10-21
JPWO2020235023A1 true JPWO2020235023A1 (ja) 2021-06-10

Family

ID=72829242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019569519A Active JP6772393B1 (ja) 2019-05-21 2019-05-21 情報処理装置、情報学習装置、情報処理方法、情報学習方法及びプログラム

Country Status (3)

Country Link
US (1) US20220229982A1 (ja)
JP (1) JP6772393B1 (ja)
WO (1) WO2020235023A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049103B2 (en) * 2017-01-17 2018-08-14 Xerox Corporation Author personality trait recognition from short texts with a deep compositional learning approach
US11003861B2 (en) * 2019-02-13 2021-05-11 Sap Se Contextualized text description

Also Published As

Publication number Publication date
US20220229982A1 (en) 2022-07-21
WO2020235023A1 (ja) 2020-11-26
JP6772393B1 (ja) 2020-10-21

Similar Documents

Publication Publication Date Title
US9830315B1 (en) Sequence-based structured prediction for semantic parsing
Yu et al. Online segment to segment neural transduction
US10664744B2 (en) End-to-end memory networks
JP4215418B2 (ja) 単語予測方法、音声認識方法、その方法を用いた音声認識装置及びプログラム
US7035789B2 (en) Supervised automatic text generation based on word classes for language modeling
JP2008165786A (ja) 機械翻訳用のシーケンス分類
JP2008165783A (ja) シーケンス分類のためのモデルの識別トレーニング
CA3135717A1 (en) System and method for transferable natural language interface
JP6772394B1 (ja) 情報学習装置、情報処理装置、情報学習方法、情報処理方法及びプログラム
JP5180800B2 (ja) 統計的発音変異モデルを記憶する記録媒体、自動音声認識システム及びコンピュータプログラム
JP6772393B1 (ja) 情報処理装置、情報学習装置、情報処理方法、情報学習方法及びプログラム
JP4328362B2 (ja) 言語解析モデル学習装置、言語解析モデル学習方法、言語解析モデル学習プログラム及びその記録媒体
JP5980142B2 (ja) 学習データ選択装置、識別的音声認識精度推定装置、学習データ選択方法、識別的音声認識精度推定方法、プログラム
JP7375943B2 (ja) 変換装置、変換方法、およびプログラム
WO2022107328A1 (ja) 機械学習プログラム、機械学習方法および自然言語処理装置
Wang et al. Refbert: Compressing bert by referencing to pre-computed representations
Zhang Comparing the Effect of Smoothing and N-gram Order: Finding the Best Way to Combine the Smoothing and Order of N-gram
JP5120749B2 (ja) 木構造辞書を記録した記憶媒体、木構造辞書作成装置、及び木構造辞書作成プログラム
Dolga et al. Machine understandable contracts with deep learning
JP2001312294A (ja) 入力記号列を出力記号列に変換するトランスデューサの学習方法およびトランスデューサの学習プログラムを記憶したコンピュータ読み取り可能な記録媒体
JP4084816B2 (ja) 依存構造情報処理装置、そのプログラム及び記録媒体
JP7411149B2 (ja) 学習装置、推定装置、学習方法、推定方法及びプログラム
JP3027553B2 (ja) 構文解析装置
Chatterjee A Trie based model for SMS text normalization
JP2005234800A (ja) 用例機械翻訳装置及び用例翻訳コンピュータプログラム、並びに用例検索装置及び用例検索コンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191213

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191213

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A801

Effective date: 20191218

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20191218

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200929

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200930

R150 Certificate of patent or registration of utility model

Ref document number: 6772393

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150