NL-048, A Deep Generative Framework for Paraphrase Generation (2018-AAAI)

0. Abstract

  • Paraphrase generation은 question answering, information retrieval, information extraction, conversation systems와 같은 곳에서 쓰이는 중요한 것이다.
  • 이 논문에서는 seq2seq LSTM의 구조를 가지는 VAE의 방법이다.
  • 전통적인 VAE는 free text을 생성할 수 있으나 paraphrase generation을 하는데 적합하지 않는다.
  • 따라서 이 논문에서는 VAE의 encoder와 decoder을 둘 다 사용하는 것으로 문제를 해결하였다.
  • 이전의 연구들과는 다르게 simple, modular 하나 여러 개의 paraphrase가 가능하다.
    • VAE을 사용했으니 ㅇㅇ..
  • 정량적인 evaluation과 human evaluation에서 모두 좋게 평가가 되었다고 한다.
  • 게다가 (이 당시) 새로운 question paraphrase dataset에 대해 평가를 하였다고 한다.

1. Introduction

  • Paraphrase generation가 NLP에서 QA, IR, IE, summarization에서 사용된다.
  • QA systems은 question을 받는 방법에 대해 민감한데, knowledge-based (KB) QA인 경우 question paraphrasing은 KB assertions와 유저로부터 받은 질문의 gap을 채우는데 매우 중요하다.
  • open QA system 파이프라인에서는 question analysis와 paraphrasing이 중요한 first step이다.
    • question은 다양한 의도의 paraphrase을 통하여 확대한다.
    • 이를 통해 recall을 향상시키는 목적이다.
      • recall: true positive/total positive
  • 유사하게 paraphrasing은 1. IR에서 query 변형이나, 2. 번역, 3. automatic evaluation을 위한 변형된 summarization을 생성하는 것으로 적용점을 찾게 된다.
  • paraphrase generation은 QA 시스템에는 직접적으로 유용하다고 하다
  • question type classification, paraphrase detection과 같은 것에는 다양하게 학습할 때 사용이 가능하다.
    • question type classification은 conversation system에 적용되고
    • paraphrase detection은 translation, summarization, social QA (이미 질문받은 question에서 가장 유사한 question으로 FAQ하는 것) 에 중요하다.
    • 본질적으로 이러한 task에는 학습 데이터의 부족으로부터 고통을 받는데 paraphrase generation task이는 이를 해결할 수 있다.
  • Paraphrase generation 문제가 중요함에도 불구하고 이전의 연구들은 별로 없고 paraphrase detection problem에 대한 연구가 많다.
    • 언어 생성은 어렵기 때문에 전통적으로 paraphrase generation은 rule-based 접근법을 사용해왔다. (~2009)
    • 최근에는 딥러닝이 발전하면서 data-driven 접근법으로 text을 생성한다.
  • 이 논문의 모델 framework는 LSTM + VAE을 이욯나 딥러닝 모델로 end-to-end 학습이다.
  • 기존 VAE 사용과는 다르게 이 논문에서는 original sentence을 paraphrasing을 하는 것이다.
    • 따라서 original sentence의 essence(본질, 포인트)를 잡아내야 한다.
    • 그래서 unconditional sentence generation model는 이 task에 적합하지 안흔다.
    • 이러한 한계점을 해결하기 위해, VAE에 condition을 집어넣는다.
    • 이전 영상에서 사용되는 conditioned VAE은 class label을 준다.
    • 즉 유한한 class을 사용하는 것인데 여기서는 encoder와 decoder 모두 intermediate representation of the input question obtained through LSTM을 이용한다.
  • 이 당시 SOTA는 stacked seq2seq residual LSTM 구조였다.
  • 그러나 stacked residual LSTM은 생성에 원칙적으로 생성 framework을 표현하기에는 부족하다고 하다.
  • 이와는 반대로 이 논문 모델은 simple, modular 구조이며 multiple paraphrase 문장을 생성할 수 있다고 한다.
    • VAE 구조니까 그럴 듯
  • 이 논문에서 본인들의 모델은 multiple paraphrase가 된다고 강조한다.
    • 이전의 seq2seq 모델에서는 여러 개의 paraphrase을 하기 위해 beam-search을 사용하디만, 이렇게 하는 것은 품질이 떨어진다.
    • 즉 tok-k variation을 주면 first variation(top-1)보다 품질이 떨어질 것은 당연하다.
    • 하지만 본인 모델은 훨씬 더 품질이 좋고 이는 latent space에서 latent sample z을 뽑기 때문에 품질이 괜찮다.(VAE 특성)
    • 이것을 QQP로 평가도하고 human evaluation 등 다양하게 평가해서 품질이 좋음을 보여준다.

2. Methodology

  • Framework는 VAE로 standard VAE와는 다르게 encoder와 decoder에 condition을 넣는다.
  • 이것이 paraphrase을 specific하게 생성하는데 도움을 준다고 한다.

2.1 Variational Autoencoder (VAE)

  • VAE 설명 생략..

2.2 Model Architecture

  • N개의 데이터 쌍:
    • original sentence: 
    • paraphrase sentence: 
  • 간단히 다음과 같이 표기를 하자.
  • 각 문장에 대한 vector space representation
  • 일반적인 VAE와 여기서는 다음과 같이 가 condition으로 추가된다.
    • 그림 1 참조
    • three LSTM encoder와 one LSTM decoder로 구성되어 있다.
    • VAE Input (Encoder) Side
      • 첫 번째 LSTM: 을 으로 표현을 한다.
      • 와 을 두 번째 LSTM에 넣는다.
      • 그 결과로 mean과 variance을 생성한다.
    • VAE Output (Decoder) Side
      • 세 번째 LSTM: 을 으로 표현을 한다.
        • 첫 번째와 똑같
        • 같은 parameter인지는?
      • 네 번째 LSTM에 latent code z와 세 번째 LSTM 출력 을 넣는다.
        • 는 LSTM decoder의 초기 세팅을 위해 넣는 것이고 z는 decoder의 each stage에 넣는 것이라고 함.
  • standard VAE와 마찬가지로 여기서 제안한 것도 lower-bound가 있다고 한다.
    • 수식적으로보면 이 값을 키우면 된다.
    • 앞의 term
      • 왜냐하면 확률 값이 0~1이 가능한데 1에 가까워져야 한다.
      • 즉 log0에서 log1로 가야하므로 커진다는 의미
      • reconstruction의 의미
    • 뒤의 term
      • KL은 distance을 의미하므로 KL자체는 작아져야함
      • -가 붙었으니 -KL은 커지는 방향으로 가야함.
      • 다양한 sample을 뽑기 위한 의미
    • 즉 앞과 뒤의 term은 trade-off 관계기이긴 함.
    • inference할 때 생각해보면, 이렇게 학습된 z에서 sampling해서 (결국은 N(0,1)이겠지) original sentence와 decoding stage에 넣어서 문장을 생성하겠다는 말.
    • Training 과정은 https://arxiv.org/pdf/1511.06349.pdf을 따랐다고 함.

3. Related Work

  • 생략

4. Experiments

4.1 Datasets

  • 두 개 데이터사용해서 평가를 하였음.
  • MSCOCO
  • Quora

4.2 Baselines

  • MSCOCO는 baseline으로 Table 1의 앞의 4개를 삼았다.
  • Quora 데이터세트에서는 baseline으로 삼을만한 실험이 없어서 Unsupervised와 VAE-s을 baseline으로 삼았다.
  • Unsupervised은 standard VAE을 의미한다고 보면 됨
  • VAE-S에서 S는 supervised임
    • vareinat VAE이고 제안한 모델에서 2번째 encoder가 빠진 것이다.
    • 즉 pair 데이터로 학습하는 것은 아니고 문장을 reconstruction을 하는 것으로 학습을 하는데 구조는 제안 모델의 1,3,4 LSTM만을 이용해서 학습하는 것이다.

4.3 Experimental Setup

  • External word embedding, 예로 Glove와 같은 것 사용안함
  • Embedding vector: 300
  • encoder와 decoder의 dimension: 600
  • latent space dimension: 1100
  • encoder, decoder의 layer 수: 1, 2
  • SGD로 lr: 5x10-5로 학습
  • dropout rate: 30%
  • Batch size: 32
  • fixed epoch가 아닌, fixed iteration으로 학습
    • 이는 데이터세트의 크기에 따라 학습의 시간이 고정되는 효과
    • 따라서 데이터가 많으면 그 만큼 한 데이터 샘플을 학습하는 횟수가 줄어드는거
    • 근데 굳이 이럴 필요가 뭐지..?
  • LSTM의 units수는 학습 데이터의 maximum length으로 설정
    • 즉 학습할 때 길이를 중간에 잘라서 하지 않음
    • 근데 만약 test때 입력 문장 길이가 더 길다면 이것은 짤라서 진행할 듯

4.4 Evaluation

4.4.1 Quantitative Evaluation Metrics

  • 번역 도메인에서 쓰이던 metric들을 사용하였다.
  • BLEU
  • METEOR
    • 형태소 분석(stemming)과 동의어를 사용한 score 계산
    • unigram-precision, unigram-recall을 이용
  • TER (Translation Error Rate)
    • 사람이 만약 시스템의 출력을 reference paraphrase로 바꾸려는데 드는 과정에 쓰이는 insertion, deletions, substitutions, shifts의 수

4.4.2 Qualitative Evaluation Metrics

  • automatic evaluation으로 설명되지 않는 관점을 해결하기 위해 human evaluation이 필요하다.
  • MSCOCO와 Quora 데이터세트 둘 다 100개의 입력을 랜덤으로 골라 사람에게 평가를 하라고 했다.
  • Relevance와 Readability 2개의 관점에서 평가를 하게 하였고 각각 데이터세트에 3명씩 총 6명의 사람이 평가를 하였다.
  • 점수는 1점~5점이며 5점이 best이다.
  • 요즘엔 Amazon Turk을 사용하는데 이 당시엔 활성화가 안되었던 것일까? 이렇게 사람을 뽑아서 하면 신뢰도가 떨어지는 것 같은데..

4.4.3 Model Variations

  • Encoder와 decoder side에 모두 original sentence의 LSTM encoder을 포함하고 있다.
    • 즉 1, 3번째의 LSTM을 같게 하는 모델을 VAE-SVG-eq라고 부른다.
    • 여기서 SVG는 Stands for sentence variant generation을 의미함
    • eq의 효과는 model parameters을 줄여서 학습에 효과적이기를 기대하는 것이다.

4.4.4 Results

  • 빨강과 파랑 색이 흥미로운 phrase 부분으로 ground truth와 다른 점이라고 볼 수 있다.
  • 생성되는 문장이 대부분 문법이 잘 맞는다고 주장을 한다.
  • VAE-SVG-eq가 VAE-SVG 보다 살짝 좋다고 한다.
  • table2, 3을 보면 모델에 변형을 줘서 다양하게 결과를 측정하고 이에 대한 분석은 논문 참고..
  • 제안한 모델이 GT와 크게 차이가 안난다고 주장
  • 그림 3을 보면, 오른쪽으로 갈수록 변형이 더 많이 가는 경우다.
  • recall을 10으로 낮추면 모델의 automatic evaluation이 증가하는 것을 보여준다.
  • 즉 변형을 덜 주면 되는 데 이걸 어떻게 컨트롤 한거지? 아니면 그냥 여러 샘플중에 이렇게 된 것을 뽑은 것인가?

5. Conclusion

  • In this paper we have proposed a deep generative framework, in particular, a Variational Autoencoders based architecture, augmented with sequence-to-sequence models, for generating paraphrases.
  • Unlike traditional VAE and unconditional sentence generation model, our model conditions the encoder and decoder sides of the VAE on the input sentence, and therefore can generate multiple paraphrases for a given sentence in a principled way. 
  • We evaluate the proposed method on a general paraphrase generation dataset, and show that it outperforms the state-of-the-art by a significant margin, without any hyper-parameter tuning. We also evaluate our approach on a recently released question paraphrase dataset, and demonstrate its remarkable performance. 
  • The generated paraphrases are not just semantically similar to the original input sentence, but also able to capture new concepts related to the original sentence.
Reference

댓글