ってことで、ACL 2019より以下の論文を紹介。著者のサイトにスライドが公開されていたのでそちらも載せておく。
多言語BERTは言語間の転移で優秀な性能を発揮するが、それがなぜなのかを固有表現認識と品詞タグ付けで検証した論文。具体的には、以下の4つの質問に答えることを目指している。
- 転移は語彙の重なりに依存するか? → NO
- 転移は類型学的類似性に依存するか? → YES
- 複数言語が混在してたり音訳されている場合に転移できるか? → 混在はOK。
- 翻訳は似たベクトルになるか → YES
検証方法として、BERTをある言語に対してファインチューニングして、別の言語でテストするということを行っている。タスクとしては、品詞タグ付けと固有表現認識を対象にしている。品詞タグ付けは41言語を対象とし、固有表現認識は16言語を対象としている。以下の表は固有表現認識と品詞タグ付けの言語間転移性能を示している。
転移は語彙の重なりに依存するかを検証した結果は以下の図の通り。以下の図では語彙の重なりを横軸、固有表現認識の性能を縦軸にとってグラフを描いている。この結果を見ると、英語だけで事前学習した場合は、語彙の重なりに性能が依存しているのに対し、多言語で事前学習した場合は、語彙の重なりに性能が依存していないことが示されている。具体的な事例として、ウルドゥー語で学習したPOSタガーをヒンディー語に転移したところ、語彙の重なりが無いにも関わらず、91%の正解率となった。
転移は類型学的類似性に依存するかを検証した結果は以下の通り。言語の類似性を比較するために、WALSという世界の様々な言語の特徴を集めたデータベースを使っている。以下の結果を見ると、zero-shotの転移学習は語順が共通する言語に対しては非常に上手く動作していることがわかる。つまり、BERTはどうやら言語ごとの順序の異なりに対応した学習は行っていない。具体的な事例として、英語と日本語の品詞タグ付けの転移性能は正解率で49.4%となっており非常に低いことが示されている。
次に、複数言語が混在してたり音訳されている場合に転移できるかを調べている。そもそも、これらがどのような状況なのかを知るためには例を見るのが早い。スライド中に示されていた例を示す。以下の1番目の例では、複数言語が混在している場合を示している。これは英語とヒンディー語のテキストが混在している場合の例となっている。2番目が音訳されている場合の例となっている。これはつまり、「मौसम」を「mosam」、「होगा बस」を「hoga bas」というラテン文字に書き直した場合を指している。
- Code-mixing: I thought मौसम different होगा बस fog है
- Code-mixing + transliteration: I thought mosam different hoga bas fog hy
以上を踏まえると、BERTは複数言語が混在している場合には上手く動作する。言語が混在している場合の品詞タグ付けにおいて、混在したデータセットを使って事前学習した場合と、していないデータセットを使って事前学習した場合で性能は90.56% ⇒ 86.59%とあまり低下していない。一方、音訳した場合については性能が85.64% ⇒ 50.41%と大きく低下している。
翻訳は似たベクトルになるかの検証結果は以下の図の通り。5000の翻訳ペアを多言語BERTに与えて、各層ごとに平均ベクトルを計算している。検証方法としては、まず各層ごとの平均ベクトルを使って平均的な変換のベクトルを求める。その後、その変換ベクトルを使って、ある文のベクトルを変換したときに、対応する文のベクトルが最近傍になるか否かで評価している。低い層を除けば、正解率が70%を超えるところもあるので、隠れ層のベクトルは似たベクトルになっているだろうとのこと。
以上より、まとめると最初の質問に対する回答は以下のようになる。
- 転移は語彙の重なりに依存するか? → NO
- 転移は類型学的類似性に依存するか? → YES
- 複数言語が混在してたり音訳されている場合に転移できるか? → 混在はOK。
- 翻訳は似たベクトルになるか → YES
なかなか興味深い論文であった。日本語のタスクに対してzero-shotの転移学習を行うときに、どの言語を使えばいいのかという指標になるのではないか。語順が重要という結果を見ると、データセットが充実している英語から日本語へのBERTでの転移があまり上手くいかなさそうというのは、日本人的にはちょっと残念ではある。