NL-042, Domain Adaptive Text Style Transfer (2019-EMNLP)

0. Abstract

  • Parallel data없이 Text style transfer은 꽤나 성공적이었다.
  • 그러나 만약 이용 가능한 데이터가 적다면 poor performance을 보여준다.
  • 이 논문에서는, 다른 도메인에서 방대한 사용가능한 데이터를 이용하여 text style transfer에 domain adaptation을 하려고 한다.
  • 제안된 방법은 source domain에서 다음의 것들을 배울 것이다.(짐작)
    • distinguish stylized information and generic content information
    • maximally preserve content information
    • adaptively transfer the styles in a domain-aware manner.
  • 이 논문에서는 limited non-parallel 데이터를 사용할 때 sentiment and formality 두 가지 style 변화에 대한 실험을 평가한다.
    • 즉 domain adaptation을 통한 적은 데이터로 style transfer을 해보는게 핵심인듯!

1. Introduction

  • Text style transfer은 입력문장에서 style과 문관한 내용은 보존하고 style만 바꾸는 것이다.
  • 이러한 연구는 다음과 같은 곳에 적용된다.
    • stylized image captioning (Gan et al., 2017)
    • personalized conversational response generation (Zhang et al., 2018a)
    • formalized writing (Rao and Tetreault, 2018)
    • offensive to nonoffensive language transfer (dos Santos et al., 2018)
    • other stylized text generation tasks (Akama et al., 2017; Zhang et al., 2019)
  • Text style transfer의 처음은 parallel dataset을 seq2seq 기법으로 시작
    • 그러나 이러한 데이터는 항상 이용 가능하지 않고 비싸다.
    • non-parallel을 이용한 딥러닝 기법으로는 최근 다음과 같이 있다.
    • Hu et al., 2017:  Toward controlled generation of text. (이전 포스팅)
    • Shen et al., 2017: Style transfer from non-parallel text by cross-alignment (이전 포스팅)
    • Fu et al., 2018: Style transfer in text: Exploration and evaluation (이전 포스팅)
    • Li et al., 2018: Delete, retrieve, generate: a simple approach to sentiment and style transfer (아직 안읽음)
    • Prabhumoye et al., 2018: Style transfer through back-translation (아직 안읽었으나 NL-035와 비슷)
    • 하지만 이러한 방법 모두 데이터가 많이 필요하고, 만약 limited data 시나리오에 대해선 성능이 떨어진다.
    • 이 논문에서는 적은 데이터의 non-parallel으로도 해결하려고 한다는 듯
  • 일반적으로 데이터 부족 현상은 데이터가 많은 다른 도메인을 이용하는 방법이 일반적이다.
    • 하지만 바로 다른 도메인 데이터를 사용하는 것은 도메인간의 data distribution의 discrepancies 문제가 발생한다.
    • 예를 들어서, 식달 리뷰에서 감성적인 형용사인 "delicious", "tasty", "disgusting"와 같은 단어들은 영화리뷰에서 "imaginative", "hilarious", "dramatic"과 같은 것과 다르다는 것이다.
    • 따라서 domain shift를 하여 feature misalignment가 필요하다.
  • 이 연구에서는 misaligned의 source domain을 이용하여 target domain 데이터의 부족함을 해결한다.
    • 즉 목표는 source domain와 target domain 문장 사이의 관련있는 특성을 transfer하는 것으로부터 도움을 받아 target domain에서의 style transfer 을 성공적으로 하자!
  • 이 논문은 domain adaptive text style transfer 모델을 제안하고 이것이 source와 target domain간의 정보 변환을 용이하게 한다.
    • 즉 generic content information(일반적인 정보)와 domain-specific information(도메인 특화 정보) 모델이 효과적으로 배운다고 한다.
    • 일반적인 정보는 source domain의 많은 corpus로부터 배울 수 있고 이것이 target domain의 content preservation을 용이하게 한다.
    • 반면 domain-specific information은 domain vectors와 domain-specific style classifier로 배우고 문장 생성시 target-domain에 특화된 lexical terms을 생성한다고 한다.
  • 정리하면)
    • 많은 source corpus로부터 일반적인 정보를 배우고 이를 이용하여 content preservation에 사용가능
    • 그리고 target domain의 corpus을 classifier등을 통하여 그에 해당하는 lexical terms을 생성하는데에 쓰이도록 하겠다?
  • 이 논문의 contribution은 다음과 같이 3가지가 있다.
    1. text style transfer에 domain adaptation problem을 적용하였다. (다른 도메인을 이하여)
    2. text의 preserve content을 하고 target-domain에 특화된 용어를 사용하는 text style transfer을 하는 모델을 소개
    3. 여러 실험을 통하여 데이터가 부족환 상황의 non-parallel data에 style transfer tasks(sentiment and formality)에 강인함을 보여준다.

2. Related Work

  • Text Style Transfer
    • (중략..) 최근 대세는 Prabhumoye을 이용한 back-translation 을 이용하는게 대세이다.
    • 이전 연구들은 target domain의 style-labelled 샘플들이 많은 상황이나 이 논문과의 차이는 target domain data가 한계가 있는 상황이다.
    • (Our work differs from the above in that we leverage domain adaptation to deal with limited target domain data, whereas previous methods require massive target domain style-labelled samples.)
  • Domain Adaptation
    • sentiment classification (Qu et al., 2019)
    • dialogue system (Wen et al., 2016)
    • abstractive summarization (Hua and Wang, 2017; Zhang et al., 2018b)
    • machine translation (Koehn and Schroeder, 2007; Axelrod et al., 2011; Sennrich et al., 2016b; Michel and Neubig, 2018)
    • 이 논문이 데이터 한계가 있는 non-parallel data의 text style transfer model에 처음으로 적용한 것이라고 함.
    • 이 방법은 domain-specific 생성과 target domain 생성 두 가지 모두 style transfer을 요구하는 방법이다.
    • Our model uses learnable domain vectors combining domain-specific style classifiers, which force the model to learn distinct stylized information in each domain.

3. Preliminary

  • (기존의 연구처럼) 먼저 non-parallel data만 가능한 상황에서 target domain만을 고려한 standard text style transfer 방법을 설명한다.
  • (target-domain) Style-labelled sentences:  
  • 입력 sentence: , style: 
  • 목적:  with another style 
    • target domain 
  • 일반적으로 encoder은 을 semantic representation 으로 encode을 하고 이를 style 와 함께 으로 decode을 하는 과정을 거친다.
    • 즉 E, D 을 encoder, decoder라고 했을 때, =E()가 된다.
    • Decoder은 다음의 식 1을 만족시키도록 학습이 된다.
  • 의 parallel data가 부족하기 때문에 식 (1)을 바로 학습하는 것은 비효율적이다.
  • 대안으로 는 높은 확률을 가져야 하기 때문에 auto-reconstruction loss는 식 (2)을 따른다.
  • 식 (2)로 학습해서 style transfer에 적용하기에는 다음과 같은 가정을 하게 된다.
    • D가 기존 문장의 encoding representation에 style 속성을 주어서 복원을 최대한 정확하게 한다.
    • 이를 이용하여 encoding representation에 다른 스타일을 줘서 문장을 잘 생성할 수 있을 것이다.
  • 하지만 식 (2)를 바로 optimizing하게 되면 encoder-decoder 모델은 style labels을 무시하는 경향이 생기고 재구성하는데 collapse 문제가 생긴다.
    • collapse 문제란 입력 문장을 단순히 복사해서 style을 바꾸는데 실패하는 것이다.
    • 생각해보면, 식 (2)는 단순히 autoencoder 방식이므로 style label의 개념을 살릴 수 가 없으니까 당연한 문제점이다.
  • 따라서 Hu 논문에서는 style classifier을 이용하여 style regularization을 하는데 사용하였고 그에 대한 추가적인 loss는 식 (3)과 같다.
  • 는 target domain에서 pre-trained된 style classifier이고 최종 training objective는 식 (4)를 따른다.

4. Domain Adaptive Text Style Transfer

  • DAST (Domain Adaptive Style Transfer) 모델은 source domain의 강점을 가져와 target domain에 이용하여 style transfer을 잘하게끔 하는 것이다

4.1 Problem Definition

  • Source 데이터: 
  • Target 데이터: 
  • 즉 Source 데이터는 N'개가 있고 Target 데이터는 N개가 있는 상황이다.
  • Source 레이블 l'는 으로 positive.negative와 같은 것이다.
  • 는 사용가능할 수도 안알려져 있을 수도 있다.
  • 마찬가지로 으로 (xi, li)로 표현된다.
  • 여기서는 두 가지 상황에 대해 domain adaptation을 해본다.
    1. source style 을 모르는 경우(야후 답변과 같이 대량의 corpus에 대해 샘플들은 있지만  개개인의 style은 모르는 경우)
    2. source style이 사용가능하고 target style과 같은 경우(=)
      • 예를 들어서 IMDB 영화리뷰와 Yelp 음식점리뷰는 같은 style classes을 가진다(긍부정)
  • transferred 문장인 은 다음과 같은 특성을 가져야 한다.
    1. 와 같은 main content
    2. style이 에서 으로 바뀜
    3. target data 분포 T의 domain-specific 특성을 가져야 한다.
    • 즉 기존의 연구들과 다른 점은 3번이라고 보면 될 듯

4.2 DAST with unknown-stylized source data

  • 여기서 source style 는 unknown라고 생각한다.
  • Target data가 limited 상황에서 식 4을 이용하면 다음과 같은 단점이 있다.
    • 식 4는 원하지 않는 transferred text 결과를 도출하는데 이 text는 discriminative words을 이용해서 target style이 좋아할 문장들로 생성한다는 것이다. (contet는 무시한 채)
    • 이는 classifier 가 (E,D)로 일반적으로 autoencoder 학습하는 것에 비해 학습하기 적은 데이터를 가지고 있기 때문이다.
    • 은 식 4에서 생성 문장에 기여하게 되는데 preserving content보다는 most representative styled words을 사용하게끔 문장에 bias을 걸어준다는 것이다.
    • table 5에서 확인해볼 수 있다고 함.
    • 즉 데이터가 limited 상황이면, content preserving을 할 수 있을 만큼 데이터가 있는 것이 아니다.
    • 따라서 style에 영향을 주는 words들이 식 4를 따르면서 문장 생성에 영향을 크게 미치게 되는 것이다.
    • 결과로, content preserving이 잘 안되고 stylized words들 위주로만 문장이 생성되는 문제점이 있다.
  • 즉, 이 논문에서는 source domain의 style은 unknown이지만, 이를 이용하여 content-preserving 능력을 향상시키려고 한다.
    • 당연히 source domain은 많은 상태일 것이고 jointly training an auto-encoder을 source와 target domain 모두에서 학습하는 식이다.
  • Source data을 사용할 때, special unknown-style label이라고 하여 을 에 넣어서 생각한다.
    • 이 때, =E()가 된다. (: source data)
    • 이걸 이용한 auto-encoder의 loss 식은 다음과 같이 구성된다.
  • 즉 (E, D)는 두 개의 (source, target) 도메인에서 공유하는 것이고 최종 objective는 다음과 같다.
    • 즉 이는, source data을 학습에 이용하여 encoder-decoder 프레임워크를 좀 더 좋게 만드는 것이다.
    • target specific 정보는 으로만 학습 하는 식
  • 즉 을 이용하여 generic content information을 배울 수 있고 을 가지는 target sentence을 생성할 수 있다.
  • Figure 1의 왼쪽이 Domain Adaptive Style Transfer with generic Content preservation (DAST-C) 을 의미한다.
  • 여기서 한 가지 생각할 점은) content preserving을 위해 adversarial term을 설정안했다는 것이다. 이는 앞에서 리뷰한 NL-035 논문처럼 이게 꼭 필수가 아님을 밝혔기 때문인 것 같은데.. (MS에서 나온 논문인 것으로 보아)

4.3 DAST with stylized source data

  • 4.3절에서는 =인 경우를 다루는 것이다.
  • 즉 음식점 리뷰와 영화 리뷰의 차이 정도인데...
    • 이 경우에는 "fantastic", "terrible"와 같은 단어는 그대로 sentiment 의미가 transfer가 되고 이용할 수 있다.
    • 따라서 두 개의 generic content와 style information을 공유할 수 있다.
  • 쉽게 도메인을 합치는 방법은 식 4을 두 도메인 모두에 대해서 학습을 시키는 것이다.
    • 예를 들어, IMDB(영화리뷰)와 Yelp(음식점 리뷰)는 모두 class가 긍부정이기 때문에 긍부정 style transfer 하도록 식 4를 두 데이터에 대해 학습을 시키는 것이다.
    • 하지만 이러면 "The pizza is dramatic!"과 같은 문장이 생성되는 문제점이 있다.
  • 즉, class는 같지만 domain은 다르기 때문에 domain vectors을 넣어서 이 문제를 해결하려고 했다고 한다.
    • 사실 아이디어는 매우 간단하고 그림 1의 오른쪽과 같 진행이 된다.
    • 이에 따 auto-encoding loss는 다음의 식 7과 같다.
    • encoder-decoder 모델 (E, D)는 domains을 공유하는 식이다.
  • 여기서 domain vectors라 표기 와 는 모델로 부터 학습하는 것이다.
    • 이전의 논문에서 방법들을 떠올리면, one-hot encoding(두 개의 domain인 경우는 [1,0], [0,1]이 되겠지)에 domain matrix을 곱해서 하나의 vector로 만들고 이 때 domain matrix을 학습하는 식으로 진행할 것 같은데?
  • 와 는 공유한다
    • = 인 상황이기 때문이다.
    • 즉 음식점-긍정 style과 영화-긍정 style은 같은 style vector을 가짐
    • 따라서 모델 generic style information을 각각의 domain에서부터 학습은 가능하게 된다.
  • Decoder에 domain vector 또한 들가기 때문에 기존의 도 S, T 별로 학습을 하게 된다.
    • domain-specific한 style을 생성하기 위한 loss의 역할을 하게 되고 식 8을 따르게 된다.
    • Source입장에서 설명을 하자면
      •  = 입력 문장 을 encode한 것 = E()
      • 에 와 을 넣어서 으로 style이 바뀐 문장 생성 = D()
      • 이것을 source classifier 을 통과시켜 style을 구분하도록 (E, D)을 학습
      • 물론 이때 은 이미 source domain에서 분리되어서 학습이 되어진 것이다.
    • Target domain에서도 마찬가지로 진행이 된다.
    • 생각해보면 (E, D)와 ()는 공유를 하는 상황이고 domain vector인 ()만 공유가 안된다.
      • 즉 domain vector가 domain-specific한 style transfer을 하는 문장을 생성 하도록 classifier가 학습을 도와주는 식으로 진행이 된다.
  • 최종 DAST model의 loss는 다음과 같다.
  • 즉 다시 한번 정리하면 식 4와 같이 진행을 할 때, 단순히 domain이 다른 데이터를 같이 학습하면 문제가 발생한다(위의 예시 참고).
    • source domain의 style label을 모르면 DAST-C을 방법을 사용하고 source domain = target domain이면 DAST을 사용한다.
    • DAST에서는 domain vector라는 것을 넣어줘서 domain을 분리하여 학습을 따로 하지만, (E,D)와 style vector는 공유를 하는 식이다.
    • 그래서 AE loss는 domain과 style 특성을 배우는 역할을 한다. (재구성 하는)
    • 일반적으로 AE로만 했을 때는, style transfer을 하는 힘이 약하기 때문에 style loss라는 것을 추가한다.
    • style loss는 style을 변화시키도록 classifier을 이용한 loss이다. 
    • 여기서도 마찬가지로 domain vector을 추가하여 domain별 style을 변화시키는 방식으로 학습이 된다.
    • 따라서 모델은 domain-specific 특징을 구별할 수 있고 domain에 맞는 style transfer에 적용할 수 있다.

5. Experiments

  • 간단하게만 요약하겠음

5.1 Dataset

5.1.1 Sentiment Transfer

  • Source domain
    • IMDB movie 리뷰
    • Shen 방식의 preprocessing과 filtering 사용
  • Target domain
    • Yelp와 Amazone 데이터 세트는 Li 논문과 같이 사용
    • Yahoo 데이세트는 Zhang 논과 같이 사용

5.1.2 Formality Transfer

  • Source domain
    • Grammarly's Yahoo Answers Formality Corpus (GYAFC) 데이터
    • Two topics
      • Entertainment & Music and Family & Relationships
  • Target data
    • Enron email conversation 데이터세트
    • Business, Politics, Daily Life, etc

5.2 Evaluation

5.2.1 Automatic Metrics

  • Content Preservation
    • BLEU scores
    • human BLEU (hBLEU)
      • 생성 문장과 human reference간의 BLEU을 측정하는 것.
      • Yahoo와 같이 사람의 reference가 없는 경우는 입력 문장에 관한 BLEU socres을 계산하였다고 한다. (self-BLEU을 말하는 것인가?)
  • Style Control
    • Pre-trained 된 classifier로 style accuracy(S-acc) 측정
  • Domain Control
    • Style과 마찬가지로 pre-trained domain classifier로 D-acc 측정
  • Pre-trained classifier은 TextCNN을 이용하였다고 한다.
    • 자세한건 Appendix A.1에 있음
  • G-Score이란 score을 제시했는데
    • 이는 style accuracy와 hBLEU을 기하 평균을 낸 값이라고 한다.
    • 이것으로 all methods을 single로 통합하여 결과내는 metric이라고 정의하였다.
    • D-acc는 다른 알고리즘에서는 존재하지 않는 개념이기 때문에 G-score에 반영을 할 수 없었던 듯하다.
5.2.2 Human Evaluation

  • 실험 결과 (Appendix A.3)
  • content preservation, style control, fluency 관점에서 측정을 하였다.
  • We provide a “No Preference” option to choose when the workers think the qualities of the two sentences are indistinguishable. 
  • Appendix A.3에 자세한 내용이 첨부되어 있다.

5.3 Experimental Setup

  • Encoder: 1-layer GRU (hidden dim: 500)
  • Decoder: 1-layer GRU (hidden dim: 700)
  • domain-vector dim: 50
  • Style label vector dim: 150
    • domain-vector을 안쓴 실험인 경우는 style label dim: 200
  • 비교 방법
    • CrossAlign (Shen et al., 2017)
    • Delete&Retrieve (Li et al., 2018)
    • CycleRL (Xu et al., 2018)
    • SMAE (Zhang et al., 2018c)
    • ControlGen (Hu et al., 2018)
    • Finetune (baseline)
      • Source에서 학습하고 나서 target domain에서 식 4로 finetune을 했다고 하는데... (단순 기본 finetune 개념)
      • 안써있지만, 이 논문 모델(GRU 1-layer)로 한 실험이겠지? 
      • 또한 D-acc을 구하려면 출력 문장의 domain을 알아야 하는데
      • DAST-C 모델은 입력의 domain이 출력의 domain이라 생각하고 평가했을 것 같고
      • DAST은 중간에 domain vector을 가지고 출력 domain의 label ground truth을 생각할 수 있고 (물론 이때도 입력=출력 domain으로 했을 듯)
      • Finetune은 source domain의 문장을 생성할 때는 finetune 전의 모델로 생성했다는 것인가?

5.4 Results

5.4.1 Model Comparisons

  • Appendix A.2

5.4.2 Limiting the Target Domain Data

5.4.3 Ablation Study

5.4.4 Non-parallel Style Transfer with Parallel Source Data

  • Enron 데이터로 실험한 내용을 설명하는 부분이다.
  • 위에서 말한 것처럼
    • Source: Grammarly's Yahoo Answers Formality Corpus (GYAFC) 
    • Target: Enron (formality transfer taks)
    • 즉 source와 target은 another domain이다.
    • 또한 source은 parallel 데이고 target은 non-parallel data이다.
  • DAST-C와 DAST로 이것을 학습할 때에는 식 6와 식 9에 을 추가하여 다음과 같이 loss을 구성하였다.
    • 식 6 → 
    • 식 9 →  
    • 만약 source가 parallel이 아니면, 을 빼고 하면 될 듯!
  • 실험의 automatic metric은 Table 7에 나와있고 human evaluation은 Table 3에, 예시는 Table 5에 나와있다.

6. Conclusion

  • 두 가지 효과적인 domain adaptive text style transfer model은 다른 도메인에의 사용 가능한 많은 데이터를 사용하였다.
  • 제안한 모델은 source domain으로부터 generic information을 잘배워서 content preservation을 더 좋게 달성하였다.
  • domain-specific 정보를 구별하여 모델이 domain-adaptive한 방식으로 transfer text을 할 수 있다.
  • 실험에 없어서 아쉬웠던 부분은, source와 target domain이 다르고 source data가 non-parallel인 상황에선 실험을 안했다는 점이다.
    • 즉 5.4.4에서 을 뺀 실험 부분이 없다는 점;
    • 사실 도메인이 완전다르면, 큰 의미는 없을 것 같기도 하지만..?
  • 만약 내가 원하는 style transfer을 하고 싶을 때, 데이터가 소량이면 한 번 떠올려서 다시 보면 좋을 것 같은 논문이였음
Reference

댓글