NL-047, Zero-Shot Paraphrase Generation with Multilingual Language Models (2019-Arxiv)

0. Abstract

  • 고품질의 paraphrase corpus가 제한이 있기 때문에 (데이터양이) Leveraging mulitlingual parallel text으로 자동으로 만드는 것은 많은 관심을 받았다.
  • Round-trip 번역 방법 a.k.a pivoting 방법은 전통적인 방법이다.
    • 한 →  영 →  한
  • 그러나 이 방법은 multiple 번역 모델이 있어야 하고 two-step을 거치기 때문에 이 과정에서 semantic이 변할 수가 있다.
  • 이 논문에서는 Transformer-based LM에서 영감을 받아서 simple하고 unified한 paraphrasing model을 제안한다.
  • 이 모델은 multi-lingual parallel data으로 학습하고 one-step zero-shot paraphrase 생성을 한다.
  • pivoting 접근법과 비교해서 이 논문의 모델이 semantic을 더 잘 담아낸다.
  • 또한 GPT-1 모델을 많은 unparallel corpus로 pre-train을 함으로써 fluency을 향상시켰다고 한다. (아마 가져다가 썼을 듯)
  • 추가적으로 DAE (denoising auto-encoder)이 diversitiy와 robustness을 향상시켜준다고 한다.
  • 실험은 pivoting 방법에 비해 relevance, diversity, fluency, efficiency에서 좋다고 한다.

1. Introduction

  • Paraphrasing은 같은 의미를 가지는 다른 표현을 생성하는 것
  • 다음와 같은 곳에서 중요한 역할을 한다.
    • response diversification in dialogue system
    • query reformulation in information retrieval
    • data augmentation in MT(machine translation)
  • 최근 모델들은 seq2seq 학습을 기반으로 하여 SoTA을 달성한다.
    • Prakash et al., 2016
    • Ziqiang Cao, 2017
    • Ankush Gupta, 2018
    • Zichao Li, 2018, 2019
    • paraphrase corpus을 기반으로 하여 생성 (pari 문장들)
  • 그러나 high-quality의 paraphrase는 실제로 얻기 힘들다.
    • (abstract에서 말한 이유 때문인 듯?) 그래서 이 논문에서는 zero-shot paraphrase generation 접근법을 제안한다.
    • 이 방법은 paraphrase corpus가 필요가 없다.
    • 여기서 필요가 없다는게 학습할 때 필요가 없다기보다는 test time에서 말하는 것인 듯
  • 일반적인 선택은 leverage the bilingual or multilingual parallel data으로 MT에 사용하는 것으로 이는 좋은 quantity와 quality을 가진다.
  • 기본적인 가정은 두 개의 다른 언어를 가지는 문장이 번역을 위해 있다는 것이다.
    • 그래서 paraphrasing을 위한 하나의 전통적인 방법은 1개의 언어를 다른 언어로 pivot 시키는 것이다. (번역)
    • 특별히 이러한 방법을 round-trip translation이라고 한다.
    • 즉 영어 → 프랑스 로 보낸다음 다시 프랑스 → 영어로 back-translated 하는 것
    • 이 방법들은 다음의 그림과 같이 있고 두 개의 번역기가 필요하다.
  • Pivoting approach 연구가 일반적이기는 하나 몇 가지 단점이 있다.
    • round-trip은 paraphrasing을 위한 모든 path들을 탐구하는 식이다.
      • 왜냐하면 결과가 번역 시스템의 유한한 중간 출력에 의해 pivot가 되는 식이기 때문이다.
      • (식으로 보면 좀 더 이해가 되는데...)
      • X: 주어진 문장
      • Z: X의 representation
      • Y: 생성해야할 paraphrasing 문장
      • 다음과 같은 식을 따라야 한다.
      • 즉 가능성있는 모든 Z에서 Y가 생성될 수 있는 것이다.
      • 하지만 roun-trip 방법에서는 주어진 P(Z|X), 즉 한 개의 조건에 대해서만 고려하는 것이다.
      • 이것은 부정확한 예측을 이끌 수 있고 이러한 경향의 문제는 sampling variance때문이고 semantic drift라고 부른다.
      • 다시 한번 쉽게 말하면, 문장 X를 encoding후 Y로 decoing할 때, 중간의 representation인 Z가 실제로 여러 개를 가질 수 있는데 한 개에 대해서만 inference 한다는 것이다.
      • 즉 영→한→영 에서 한글로 될 수 있는 문장이 많으니까 semantic dift가 일어난다고 보면 될 것 같다.
    • 이미 존재하는 번역 시스템에의해 결과가 결정되고, 번역 시스템을 end-to-end로 학습시키기 어렵다.
      • 이유는 안 써있는데 아마도 back-translation 학습이 쉽지는 않기 때문인 듯
    • 마지막으로 이 방법은 효율적이지 않다.
      • 왜냐하면 두 개의 round을 (번역을) 통과해야하기 때문이다.
  • 이러한 issue들을 해결하기 위해 single-step zero-shot paraphrase 생성모델을 제안한다.
    • end-to-end fashion으로 MT을 학습한다.
    • 이전의 방법들과 달리 제안한 모델은 multiple languages사이의 정확한 번역을 하지 않는다.
    • 대신에 directly P(Z|X)와 P(Y|Z)로부터 P(Y|X)학습을 한다. (?)
    • 모델은 Transformer + 언language indicators 을 사용하였다.
    • inference할 때는 주어진 언어의 문장과 same langugae로 가이드를 줘서 문장을 생성하는 식이다.
    • 우리의 모델은 simple & compact한 장점이 있고 semantic drift의 위험을 줄일 수 있다.
  • 모델은 monolingual data에서 GPT의 pre-training을 하였고 이는 low-resource langugae에서 생성하는 장점이 있다.
  • 마지막므로 DAE을 이용하여 robustness을 강화하였다.
  • 그 결과 pivoting 접근법보다 automatic 과 human evaluation에서 모두 더 좋은 결과를 보여준다.
    • 반면 pivot-based보다 training과 inference cost는 매우 줄었다.

2. Methodology

2.1 Transformer-based Language Model

  • Transformer-based language model을 TLM이라 부르고 이는 다음의 likelihood을 최대화 하는 방향으로 학습한다.
  • X = [x1,...,xn]는 문장이고 각 Transformer은 multi-head self-attention으로 구성되어 있고 다음과 같이 decoding을 하게 된다.
    • 일반적인 auto-regressive Transformer decoder와 같음
    • xi는 token embedding, pi는 positional embedding, hi는 output states of the i-th token이고 We, Wo는 각각 input, output embedding matrics이다.
  • TLM은 monolingual sequences에 보통 사용되었으나 multiple lanugages에 사용하지 말란 법은 없고 실제로 Lample and Conneau(2019)에서 이것을 사용했다고 함.
  • 그래서 다음과 같은 방법으로 Objective function Loss을 설정하였음
    • bilinugal language model은 decoder-only 모델로 이전의 방식인 encoder-decoder과는 다르다.
    • 이것이 monoliungual text-to-text (summarization과 같은) 생성에 효과적인 연구가 이전에 있었다.
  • 이 구조의 장점은 다음과 같이 있다.
    1. model parameters
    2. easier optimization
    3. potential better performance for longer sequences
    4. language models pre-tranining on monolingual corpus을 결합할 수 있다.
  • special tokens은 다음의 것들이 있다.
    • <bos>: beginning of sentence
    • <eos>: end of sentence
    • <delim>: between the sentence
    • Language identifier
      • <en>: English
      • <fr>: French
  • Inference stage에서는 다음과 같이 conventional auto-regressive model처럼 토큰을 예측한다.

2.2 Zero-shot Paraphrase Generation

  • English↔French 혹은 German↔Chinese와 같이 한번 LM을 학습하고나면, zeros-hot paraphrase generation을 수행할 수 있다.
  • 이것은 language identifier 때문인데 그림 2을 보면, <en>과 <fr>이 이 역할을 하는 것이다.
    • 즉 생성할 때, 입력과 같은 identifier을 넣어주면 된다.
  • 학습 과정에서는 입력 문장에 대해 번역할 언어에 대해서 학습을 한다.
    • 이떄는 teacher-forcing을 하고 식 (3)을 참고하면 됨
  • Decoding stage에서는 위에서 말했듯이 영어 입력에 대해 생성할 문장도 <en>으로 guide을 주면 된다.
  • 모델이 기본적으로 번역 corpus에 대해서 학습하였기 때문에 semantic meaning을 유지하려고 학습을 했다.
    • 따라서 입력과 출력문장은 같은 의미를 담는다고 함.
  • 이러한 우리 모델은 parallel paraphrase data에 대해 학습하였고 어떠한 수정이 없었다.
    • 하지만 evaluation할 떄는 zero-shot learning setting을 한 것
    • 이전의 연구들도 zero-shot paraphrawsing을 할 수 있는데 모델이 일정하게 수행되지 않고 가끔은 같은 langugage에 있는 단어를 생성하는데 실패한다.
    • 즉 영어 문장을 생성하라는데 프랑스어 단어가 생성된다는지...
    • 이러한 문제를 degeneracy 문제라고 부른다.
    • zero-shot paraphrase 생성에서 이러한 문제를 해결하기 위해 몇 가지 techniques을 넣어서 quality와 diversity을 향상시키도록 하였다.(뒤에 나옴)

2.2.1 Language Embeddings

  • language identifier prior가 항상 생성할 언어에 대해 보장을 해주지 않는다.
  • 언어의 일관성을 유지하기 위해 language embeddings을 제안한다.
    • 이는 언어에 해당하는 specific vector representation이라고 한다.
    • ai가 문장에서 i-th token의 language embedding 이라고 한다.
    • 정확히 어떻게 구하는지는 안나와있음... language identifier vector + position embedding 으로 하는건가?
  • each token의 예측은 다음과 같이 한다.
    • ai을 concat하여서 예측한다.
    • 실험적으로 language embedding을 추가하는것으로 model이 생성해야할 언어에 대한 guide가 효과적임을 보여준다.
    • 이 방법은 단순히 vocab의 space을 제한하는 것은 아니고 output distribution을 배우게 하는 방법이기 때문에 coding switching에 유연하다고 한다.
    • 즉 영어에서 프랑스어로 번역할 때, 프랑스어에 영어 단어가 나올 수 있는 상황에 대해서 대처 가능하다.
    • 즉, 말하고자하는 것은 단순히 embedding matrix을 언어에 따라 두 개를 만들어서 학습하게 하면
      • I do flex --> 나는 flex 했어.
      • 이렇게 번역을 할 수 없다. 이런 느낌.
      • 따라서 이 논문에서는 vocab space을 줄이는 대신, guide을 좀 더 확실히 주자 이런 개념

2.2.2 Pre-Training on Monolingual Corpora

  • LM의 pre-training은 MT, text summarization, generative QA에 효과적임을 이전의 연구에서 알 수 있다.
  • 특별히 low/zero-resource task에 효과적이다.
    • 즉 데이터가 적은 상황에서 large-scale monolinugal corpus으로부터 지식을 배우고(pre-training) downstream task에 fine-tunning하는 것
  • 이 논문의 모델은 LM과 똑같은 구조를 가지고 있기 때문에 방대한 monolingual data로부터 pre-train을 할 수 있다.
  • Pre-training은 monolingual data에서 parallel data을 학습하는 것과 똑같이 진행이 된다.
    • <bos>, <eos>와 language identifier을 포함한 문장 한개로 학습하는 것
    • 즉 <delim>만 없애고 하는 것?
    • language embeddings또한 적용된다.
    • 식 (1)과 같게 objective으로 pre-train한다.
  • 여기서 모델을 monolingual corpora을 다양한 언어에 대해 각각 pre-train을 한다
    • 그리고 나서 parallel corpora에 대해 fine-tune한다.
    • 자세한 과정은 안써있지만, 한 모델에 대해 Eng, Fre의 한 샘플을 번갈아 가면서 LM에 대해 학습하면 될 듯하다.
    • 그러면 special token으로 인해 제대로 학습이 될 거 같음.

2.2.3 Denoising Auto-Encoder

  • DAE는 생성에서 많이 쓰이는 기법인데 여기서도 적용한다.
  • DAE는 입력에 변형을 줘서 representation을 강인하게 학습하는 것에 목적이 있다.
  • 입력: , 변형: 
    • 즉 에서 을 재구성하도록 학습하는 것
    • DAE는 text generation(Freitag and Roy, 2018)과 MT(Yunsu Kim, 2018)에서 효과적임을 알 수 있다.
    • 즉 입력 noise에 강인하고 보지못한 샘플을 일반화하는 representation을 학습 가능하다.
  • Yunsu Kim에서 영감을 받아 입력에 변형을 3가지 방향으로 넣었다고 한다.
    • 근데 보면 BERT와 비슷한 듯. 즉 DAE에서 변형시키는 방법은 다들 고만고만 하지 않을까 생각
    1. Deletion: We randomly delete 1% tokens from source sentences, for example, “cat sat on the mat 7→ cat on the mat.” 
    2. Insertion: We insert a random token into source sentences in 1% random positions, for example, “cat sat on the mat 7→ cat sat on red the mat.” 
    3. Reordering: We randomly swap 1% tokens in source sentences, and keep the distance between tokens being swapped within 5. “cat sat on the mat 7→ mat sat on the cat.”
  • 따라서 training objective with DAE는 다음과 같다.
  • 학습후, inference할 때는 다음과 같다.

3. Experiments

3.1 Datasets

  • MultiUN
    • 463,406 오피셜 문서
    • 6개 언어
    • 각 언어에 300M 단어
  • OpenSubtitles
    • Movie and TV 자막
    • 60개의 언어에서 2.6B 문장
  • 공통된 4개언어를 뽑아서 학습하였다.
    • 영어, 스페인어, 러시안어, 중국어
  • 특징
    • BERT의 wordpiece로 tokenizer
    • 50K 토큰의 multilingual vocab
    • 랜덤으로 validation과 testin으로 10000개 선택, 나머지는 학습으로 사용
    • monolingual으로 pre-training하기 위해 English Wikipedia corpus(2,500M 단어들)으로 학습

3.2 Experimental Settings

  • Tensorflow 사용
  • BERT-base와 모델이 똑같음
  • 12 layers of Transformer blocks
  • token embedding, position embedding, hidden state: 768
  • position-wise feed-forward net: 3072
  • Attention head: 12개
  • Adam optimization: lr: 1e-4, beta1: 0.9, beta2: 0.999
  • L2 weight decay: 0.01
  • top-k truncated random sampling 전략을 사용
    • inference때 말하는 것으로 beam-search 개념인 듯?
  • Bilinugal model과 Multilingual model 두 가지를 제시
  • bilinugal model은 English↔Chinese이고 Multilingual model은 4가지 언어를 다룸
  • Round-trip baseline 모델은 Transformer-based neural translation model을 기반으로 함.

3.3 Automatic Evaluation

  • 입력과 생성된 문장사이의 관계와 diversity을 계산하였다.
  • 관계성을 구하기 위해 cosine similarity을 계산하엿음.
  • Glove-840B e mbeddings을 사용함
  • Generation diversity을 위해서 Distinct-2와 inverse Self-BELU라는 것을 계산함
    • 자세한 건 reference을 봐야할 듯
  • 각 모델에서의 결과는 다음의 그림과 같음.
    • 각 데이터 포인트는 specific sampling temperature에서 구함
    • 모델은 똑같은데 temperature을 통해서 다른 결과를 도출했다는 것 같음
    • 이에 따라 cosine similarity와 distinct-2, inverse self-BLEU값이 달라진 듯

3.3.1 Comparison with Baseline

  • 논문의 모델은 baseline보다 입력과 의미론적으로 더욱 비슷한 문장을 생성한다.
  • 생성된 패러프레이징은 Distinct-2가 0.3보다 높은 레벨일 때, 더 좋은 관계성을 보여준다.
    • 즉 이말은 Distinct-2 diversity가 증가함으로써 bilingual 모델이 의미론적으로 baseline 모델보다 더 빠르게 drifting이 된다.
  • Round-trip은 two-round supervised 번역이지만 zero-shot 패러프레이징은 single-round unsupervised 이다.
  • 논문은 unsupervised 패러프레이징이 좀 더 decoding 전략에 민감하다고 생각한다.
    • 이것은 language-agnostic(언어에 상관없는) representatino이 bilingual에서 잘 학습이 되지 않는 것이다.
  • 반면에 multilingual 모델은 이러한 불충분한점을 감소시키고 이를 분석을 통해 보여준다.

3.3.2 Multilingual Models

  • Bilingual 모델은 잘 학습된 language-agnostic semantic representation의 부족으로 불안정하다.
  • 일반적인 방법은 multilingual corpus을 이용한 학습이다.
    • multilingual corpus는 모델이 language type과 semantic representation을 분리할 수 있도록 해준다.
  • 실험적인 결과로 multilingual model이 bilingual model 보다 의미있게 좋은 결과를 보여준다.

3.3.3 Denosing Auto-Encoder

  • DAE에서 Deletion과 Reordering이 잘 작동하는 비율은 0.01으로 찾아냈다.
  • Bilingual과 multilingual 모델에서 성능이 좋음을 실험 그림 3에서 보여준다.
  • multilingual 모델에서는 큰 효과가 없지만, bilingual에서는 성능이 의미있게 좋아짐을 알 수 있다.
    • 이것은 DAE가 모델이 robust representaion을 잘 배우게 도와줌을 알 수 있다고 한다.
    • multilingual은 이미 representation을 잘 학습했다고 논문에서는 주장하기 때문에 비교적 학습이 덜 된 bilingual에서 더 큰 효과가 있다고 말하는 것
  • Deletion은 모델이 word-level meaning 보다는 sentence-level semantics 학습에 집중을 하게 함.
  • Reordering은 모델이 position에 대한 기억보다는 meaning 학습에 징중을 하게 함.
  • 이것이 모델이 단순히 shortcuts(e.g. copy words)을 학습하는 것보다 어려운 것
  • 다른말로 DAE가 extracting deep semantic representation에 대한 모델 능력을 향상시켜준다.
    • 이 효과는 multilingual corpus으로 학습하는 것과 비슷하다.

3.3.4 Monolingual Pre-Training

  • 그림 3에서 보면 pre-training은 큰 효과가 없다.
  • 하지만 fluency에서는 큰효과가 있다.
  • fluency을 평가하기 위해 14k public domain books에 대해 n-grams LM을 학습하여 평가를 해보았다.
  • fluency 평가 결과를 보면 pre-training을 이용하는 것이 더 좋음을 알 수 있다.
    • 하지만 이것이 큰 차이인가는 사실 의문임

3.4 Human Evaluation

  • Zichao Li, 2018에서 말한대로 따라서 human evaluation을 진행하되 스코어를 [1, 5]에서 [1, 4]로 압축시켜서 했다. (왜인지는 안써있음)
  • 다섯 사람을 고영해서 진행하였고 semantic relevance와 fluency에 대해 평가를 하였다.
  • (입력문장, baseline 생성문장, 논문모델 생성문장)을 샘플마다 순서를 섞어서 평가를 하게 하였고 한 샘플당 2명의 annotators가 평가를 하였다.
  • 결과를 보면 논문 모델이 더 좋았고 fluency는 살짝 좋으나 relevance는 큰 차이로 좋음을 보여준다.
  • 실제 샘플들을 보면, round-trip은 노이즈가 많이 낀 것을 알 수 가 있다.

3.5 Case Studies


  • Round-trip은 의미론적으로 심각하게 drift가 된 것을 확인할 수 있다.
  • 논문의 모델은 relevance가 더욱 좋음을 보여주고 두 번째 case에서는 guide 라는 명사는 바뀌지 않고 source 문장은 바뀌고 reordering 되지만, 의미는 그대로 담아내는 것을 볼 수가 있다.
    • 이것은 DAE에 대한 feature가 robusteness하고 diversity 함을 보여준다.

4. Related Work

  • Paraphrasing corpora의 high-quality을 가지는 quality와 diversity을 향상시키기 위한 연구
    • Prakash et al. (2016)
      • stacked residual LSTM으로 시작
    • Ziqiang Cao (2017)
      • word constraint model 제안
      • quality와 diversity을 둘다 향상시킴
    • Ankush Gupta (2018)
      • VAE을 적용하여 diversity을 향상 시킴
    • Zichao Li (2018)
      • reinforcement learning과 adversarial training을 통하여 generation quality을 향상 시킴
    • Zichao Li (2019)
      • 패러프레이징 생서을 phrase-level과 sentence-level로 구분함.
  • Monolingual non-parallel 혹은 translation corpora 데이터로 연구가 있다.
    • Lilin Zhang (2016)
      • Markov Network을 사용하여 monolingual corpus로부터 패러프레이징
    • Quirk (2004) / Wubben (2010) / Wubben (2014)
      • paraphrase corpus을 만들었다.
      • parallel translation corpora을 통하여 pivoting 방법으로 (=round-trip 와 back-translation) 연구하였다.
  • 그러나 우리가 아는한 single-round end-to-end model과 같이 parallel translation corpora으로부터 직접 학습하는 방법은 없었다.

5. Conclusions

  • off-the-shelf (상용) 번역 코퍼스의 방대한 양을 leverage을 함으로써 zero-shot paraphrase generation을 하였다.
  • pre-training을 통하여 fluency을 향상시켰다.
  • automatic과 human evaluation을 실험적으로 이전의 pivoting 접근법들보다 좋음을 보여준다. (diversity, fluency, efficiency)
  • 앞으로 더 해볼 연구로는 generation diversity은 향상시키되 relevance은 해치지 않는 latent semantic represenation을 얻는 방법이다.
Reference

댓글