-
A Review of Text Style Transfer using Deep Learning, TAI, 2021 논문 요약논문 리딩 2022. 1. 26. 11:32
Section 1 : Introduction
Text Style Transfer란?
- 의미 내용은 유지하면서 원래 문장을 새로운 스타일로 다시 작성하여 문장의 스타일을 조정하는 작업
Style Transfer 작업 성능 평가의 2가지 목표
- 생성된 문장의 의미적 내용이 얼마나 잘 보존되었는가 평가
- 생성된 문장의 새로운 스타일로의 품질 평가
Text Style Transfer의 2개의 key stages
- represantation learning
- sentence generation
아웃풋 센텐스 3가지 생성 기법
- 간단하게 입력문을 재구성하여 생성하는 모델
- 인코더-디코더 아키텍처에 추가 스타일 분류기를 통합하는 모델
- adversial learning을 채택한 모델
Section 2 : 다양한 텍스트 스타일 소개
1. Personal Style
- text만으로 저자의 성별/연령 식별이80% 정도의로 가능하다. -> 성격/성별/연령별 텍스트 스타일이 다르다.
2. Formality
- text의 공식성과 형식성. 속어 및 문법적 오류, 사회적 거리, 청중과의 지식 공유 정도 등을 척도로 한다.
3. Politeness
- text의 공손함.
4. Offensiveness
- text의 공격성. 해당 text가 공격적인지 아닌지의 여부를 판단하는 것이 중요하다.
5. Genre
- text의 목적과 대상에 따른 장르(뉴스, 광고, 리포트 등). 문서의 장르를 파악하면 검색 시스템 기능 향상에 도움이 될 수 있다. (e.g. 검색자가 무언가를 사려고 한다면 광고가 리포트보다 적합하다.)
6. Sentiment
- text에 담긴 감정. 톤이 다운된 negative emotion으로 글을 바꾸는 것이 바람직한 경우가 많으며, text의 긍/부정 분류는 꽤 선행되었다.
Section 3 : Text Style Transfer Tasks와 Public Dataset 소개
A. Tasks
위의 section 2에서 소개한 텍스트 스타일들을 바꾸는 task들이며, 아래 표와 같다.
B. Datasets
1) Parallel Datasets
- Shakespeare : 16개의 셰익스피어 희곡의 2만 개 문장 쌍과 현대 언어로의 줄 단위 의역이 포함된 데이터셋
- GYAFC : formal/informal한 문장 쌍 데이터셋
- Enron corpus : 60만 개 이메일 메시지의 informal한 버전을 포함하는 데이터셋
- Captions : 7000개의 이미지 각각에 대하여 사실적/로맨틱/유머러스한 캡션이 달려있는 데이터셋으로, 3가지 문체 스타일이 서로 대체 가능한 것으로 만들어졌다.
2) Non-parallel Datasets
- Yelp : 5-star 등급 시스템에 따라 긍/부정으로 분류된 860만 비즈니스 리뷰 모음으로, 감정 스타일 전송에 적합하다.
- Gender : Yelp에서 이름으로 작성자의 성별을 유추해 만든 데이터셋으로, 성별 style transfer에 적합하다.
- Amazon : 제품 리뷰 데이터셋
- SST, IMDB : 영화 리뷰 데이터셋
- Paper-News Titles : 뉴스 기사 제목과 학술지 제목의 두 개의 레이블로 구성된 데이터셋
- Gigaword dataset : 7개의 각기 다른 publisher에 따른 기사 헤드라인 데이터셋
- Political slant : 미국 상원 및 하원 412명의 페이스북 게시물 댓글 데이터셋으로, 민주당과 공화당으로 레이블링 된다.
- Politeness : Enron corpus를 사용해 예의 바름 여부를 레이블링한 데이터셋
- Expertise : 13만 개의 전문 의료 언어 스타일의 글과 11만 개의 평서문으로 된 의료 언어 레이블 데이터셋.
C. Evaluation
1) 생성된 문장에서 원래 문장의 의미 보존 정도 평가
1. METEOR & BLEU
- 단어 중첩 기반 메트릭
- 시스템 출력과 한 명 이상의 사람이 작성한 텍스트 간의 유사성을 점수화하여 기계 번역을 평가한다.
- METEOR : 유니그램 정밀도와 재현율의 조화 평균으로 계산되며, 재현율에 더 높은 가중치를 부여한다.
- BLEU : 평가 문장의 n-gram과 정답 문장 간의 일치를 기반으로 점수를 계산한다.
- NIST : BLUE 메트릭에서 덜 빈번한 n-gram에 더 많은 가치를 부여하는 버전이다.
2. BERTScore
- 평가 문장의 contextualized BERT word embeddings과 정답 문장 간의 코사인 유사도를 계산한다.
3. ROUGE-L
- 텍스트 요약 평가를 위해 LCS(Longest Common Subsequence)의 개념을 적용한 recall-oriented 메트릭
- LCS가 길수록 유사도가 더 크다
- 두 문장이 같을 때의 점수는 1, 아예 다르면 점수는 0이다.
4. SARI
- 텍스트 단순화를 위해 추가와 삭제 횟수를 고려한 메트릭
- 시스템에 의해 추가, 삭제, 유지되는 단어의 우수성 측정
- 각 연산(추가, 삭제, 유지)에 대한 정밀도와 재현율을 구하고 이를 평균 내어 계산한다.
5. PINC
- 의역 평가를 위해 개발된 메트릭
- 평가 문장이 정답 문장과 몇 개의 n-gram이 다른지 계산한다.
2) 스타일의 품질 평가
사전 훈련된 분류기를 주로 사용하며 Precision, Recall, F-1 measure 등을 사용한다.
Section 4 : Deep Neural Network 소개
A. RNN
- sequential data를 이용한 모델링을 위한 딥러닝 네트워크
- 기본적인 RNN은 입력 시퀀스를 처음부터 끝까지 순방향 처리한다.
- Bidirectional Recurrent Neural Networks (BiRNNs)는 각각 정방향과 역방향으로 작동하는 2개의 단방향 RNN으로 구성된다.
- Long Short-Term Memory Networks (LSTM)는 long-range dependencies를 올리고 vanishing and exploding gradients 문제를 해결하기 위해 고안되었다.
- Gated Recurrent Units (GRU)는 LSTM과 같은 목적으로 고안되었으며 더욱 심플하고 학습에 보다 적은 시간이 걸린다.
B. CNN
- spatial feature를 나타내기 위해 개발된 딥러닝 네트워크
- CNN은 이미지 처리에 가장 많이 사용되지만 최근에는 1차원 컨볼루션을 이용해 sequential data를 모델링하는 데에도 이용되고 있다.
C. Attenttion Mechanism
- 기계번역을 개선하기 위해 도입된 딥러닝 기술
- attention score의 가중 합을 계산함으로써 디코더가 입력이 특정 요소에 참여하도록 한다.
D. Encoder-decoder
- 텍스트 생성을 위한 딥러닝 네트워크
- 인코더는 입력 문장의 고정된 길이의 latent representation을 생성하는 방법을 학습하고, 디코더는 이를 디코딩해 출력 문장을 생성하는 방법을 배운다.
E. Generative Adversarial Networks (GAN)
- generator와 discriminator의 두 개의 네트워크로 구성된 딥러닝 네트워크
- generator는 학습 데이터의 분포를 학습하고 학습된 분포에서 샘플을 생성하는 것을 목표로 한다.
- discriminator는 생성된 데이터와 학습 데이터의 샘플을 올바르게 라벨링할 확률을 최대화하여 샘플이 data 분포에서 온 것인지 model 분포에서 온 것인지를 결정한다.
Section 5 : 최신 방법론 소개 및 사례
크게 인코더-디코더를 사용한 방법론과 GAN을 사용한 방법론으로 나뉜다.
A. Representation Learning
Text Style Transfer는 shared encoder와 private encoder의 2가지 encoder 중 하나를 사용하거나 모두 사용한다.
- Shared encoder
- parameter가 전제 데이터셋의 문장 간에 공유됨 -> 전체 데이터셋의 스타일 특성을 학습
- Private encoder
- parameter가 특정 스타일의 문장 간에만 공유됨 -> style-specific characteristics를 학습
Zhao et al. :
StyIns 모델을 제안하였다. 이 모델은 두 개의 GRU encoder를 사용해 각 문장을 2개의 latent representation으로 분해한다. 개별 문장에서 style embeddings를 학습하지 않고 같은 스타일을 공유하는 일련의 문장에서 스타일 속성을 학습한다. attention 기반의 decoder와 결합하여 좋은 성능을 보여주었다.
Prabhumoye et al. :
machine translation을 위한 아키텍처는 문장의 의미론적 의미는 보존하는 반면 문체적 특성은 보존하지 못한다는 특징을 가지고 있었다.
따라서 저자들은 입력 문장의 표현 학습을 위해 Text Style Transfer의 첫 번째 과정에서 machine translation 기반 모델을 통합했다.
1) Detecting Style Markers
*주의* 스타일 마커를 탐지하고 지우는 것은 sentiment modification에 대해서만 논의할 수 있음
Style Markers : 문장의 스타일을 결정짓는 결정적인 단어
1. n-gram salience measure
- 특정 스타일의 문장에서 n-gram의 상대 빈도를 계산한 후, 그 중요성(sainence)이 임계값 이상인 경우 스타일 마커로 간주한다.
2. using attention weights
- attention weight가 평균 attention value보다 큰 경우 스타일 마커로 정의된다.
3. monitoring the change in probabilities of style classifier (IS)
- IS : Importance Score
- 토큰의 IS는 전체 문장을 조건으로 하는 스타일의 확률과 해당 토큰이 없는 문장을 조건으로 하는 스타일의 확률 차로 정의된다.
- 가장 큰 IS를 가진 토큰을 스타일 마커로 사용하게 된다.
B. Sentence Generation
1) Simple Recognition Model
1. DeleteOnly & DeleteAndRetrieve
- DeleteOnly : 디코더가 입력 문장의 인코딩과 대상 스타일을 기반으로 출력 문장을 생성
- DeleteAndRetrieve : 검색을 기반으로 찾은 입력 문장과 가장 유사한 문장의 스타일이 인코딩됨.
2. B-GST & G-GST
- B-GST : Blind Generative Style Transformer
- G-GST : Guided Generative Style Transformer
- 각각 DeleteOnly와 DeleteAndRetrieve와 같은 모델링 접근을 사용했지만 transformer 기반 decoder를 사용한다.
3. MultipleAttrTransfer
- adversarial training 대신 back-translation을 적용해 생성된 출력이 인코더의 training input으로 사용된다.
4. SHAPED
- SHAPED : Shared-Private Encoder-Decoder
- general characteristics와 style-specific characteristics를 모두 학습하기 위해 multiple GRU encoders와 multiple GRU decoders로 구성된다.
- 개별 인코더와 디코더는 각 스타일에 대한 전용 인코더와 디코더 외에도 모든 스타일에서 공유된다.
- private and shared encoder-decoders의 출력은 concat되어 multi-layer feed-forward network를 거쳐 출력 문장을 생성한다.
- 입력 문장의 스타일을 알 수 없는 경우엔 해당 문장이 모든 private encoder에 입력되며, 출력은 concat되어 입력 문장의 스타일을 결정하는 스타일 분류기로 공급된다.
5. SMAE
- SMAE : Sentiment-Memory based autoencoder
- 감정이 없는 단어와 감정을 분리하여 "sentiment memories"라는 긍/부정 단어 임베딩의 가중 행렬을 만든다.
- decoding시, 입력 문장의 context는 sentiment memories 행렬로부터 밀접한 sentiment entriy를 추출하는 데에 사용돼 출력될 문장의 생성에 관여한다.
2) Models with Style Classifier
1. ControllableAttrTransfer
- Transformer 인코더와 디코더를 사용한다.
- 인코딩된 representation은 2개 층의 linear classifier에 추가로 들어가며, 대상 스타일에 부합하는 latent representation을 편집하게 된다.
2. BST
- BST : Back-translation for Style Transfer
- 영어-프랑스어 번역 모델을 사용하며, 원래의 스타일 영향을 줄여 문장을 바꾸는 방법을 학습한다.
- latent representation의 스타일을 식별하는 데에 style classifier가 사용된다.
- 각 스타일마다 한 개씩의 multiple BiLSTM style-specific decoders를 가진다.
3. M-BST
- M-BST : Multi-lingual Back-translated Style Transfer
- BST는 단일 언어 기계번역 모델을 활용해 latent sentence representation을 생성하는 반면, M-BST는 다국어 기계번역 모델을 활용한다.
4. M-BST+F
- M-BST+F : Multi-lingual Back-translated Style Transfer + Feedback
- decoder 개선을 위해 feedback-based loss function을 적용하였다.
5. NTST & StableStyleTransformer
- NTST : Neural Text Style Transfer
- 생성 문장의 스타일을 분류하기 위해 CNN classifier를 활용한다.
- BST와 달리 단일 디코더로 구성되므로 디코더에 대한 입력으로 스타일 임베딩을 포함하여 원하는 스타일의 문장을 생성해야 한다.
6. StyleTransformer
- 다른 Transformer 인코더를 사용해 문장의 스타일을 구별한다.
- 훈련은 2개의 단계를 거치게 되는데, 첫 번째는 스타일 판별자를 훈련하고 두 번째는 StyleTransformer 네트워크를 훈련하는 것이다.
- 본래의 스타일을 더욱 잘 보존하기 위한 목적으로, 생성된 출력 문장이 네트워크에 제공되어 원래 입력 문장을 생성하도록 모델을 훈련할 때 cycle reconstruction loss가 objective function으로 사용된다.
7. CAST
- CAST : Context-aware Style Transfer
- 인접한 context나 동일한 단락의 문장과의 일관성을 보장하기 위해 각 문장에 대해 2개의 개별 디코더를 훈련한다.
8. HybridST
- parallel dataset을 사용하기 위해 bi-directional translation loss를 도입하였다.
- 위의 loss는 입력 문장이 주어졌을 때의 출력 문장 생성 loss와 출력 문장이 주어졌을 때 입력 문장 생성 loss를 결합한 것이다.
9. FineGrainedCTGen
- FineGrainedCTGen : Fine-Grained Controlled Text Generation
- Bag of Words component를 추가하여 출력 문장에 대한 BOW feature 생성의 negative log probability를 최소로 하여 특정 단어의 생성을 향상하고 내용을 보존한다.
10. POS-LM
- POS tagger와 Language Model을 추가해 사용한다.
- POS tagger는 출력 문장의 이전에 결정된 명사를 생성하는 것을 돕고, Language Model은 생성된 문장의 복잡성을 제어한다.
11. CP-LM
- 재구성 및 분류 손실이 있는 훈련 모델은 스타일을 잘 맞추더라도 의미를 보존하는 데에는 실패할 가능성이 큰 극히 짧은 문장을 생성할 수 있는 문제점을 제기했다.
- CP-LM은 HybridST처럼 2개의 loss를 합쳐 사용한다.
- 1) 임베딩 표현의 차이를 최소화하여 입력 및 출력 문장의 단어 임베딩 표현을 가깝게 하는 content preservation loss
- 2) 생성 단어의 negative log probability를 최소로 하여 출력 문장이 유창함을 보장하는 fluency modeling loss
12. AdaptiveStyleEmbedding
- 단일 task에서 문장 재구성과 스타일 control을 수행하면 모델의 복잡성이 증가하는 문제점을 제기했다.
- AdaptiveStyleEmbedding은 아래의 2개 모듈로 구성된다.
- 1) style classifier를 사용하여 스타일 임베딩을 학습하는 style module
- 2) 입력 문장의 latent representation과 학습된 스타일 임베딩의 결합 벡터를 조건으로 출력 문장을 생성하는 autoencoder
C. Adversarial Models
1. AttrControl
- 현실적이고 style compatible한 문장을 생성하기 위해 Projection discriminator를 사용하는 인코더-디코더 기반 모델.
- Discriminator는 GRU decoder에서 얻은 style embedding 및 출력 문장을 바탕으로 생생된 문장이 진짜인지 가짜인지를 판단한다.
2. CTGen
- CTGen : Controlled Text Generation
- VAE를 기반으로 하며, CNN discriminator를 추가하여 생성을 돕는다.
- generator와 discriminator는 wake-sleep procedure를 통해 상호 피드백을 제공한다.
3. AAE
- AAE : Aligned Autoencoder
- 각 input과 target 스타일에 대한 인코더로 학습된 사후 확률 분포를 모두 정렬하기 위해 feedforward discriminator를 사용한다.
4. CAAE
- CAAE : Cross-Aligned Autoencoder
- 위와 동일한 목적을 위해 두 개의 CNN discriminator를 사용한다.
5. MultiDecoder & StyleEmbedding
- GRU 인코더에 의해 학습된 표현이 주어지면 입력 문장의 스타일을 분류하기 위해 두 개의 multi-layer classifiers를 사용한다.
- 스타일 레이블을 올바르게 예측할 확률을 최대화하고 예측된 스타일 레이블의 엔트로피를 최대화한다.
- StyleEmbedding은 출력문을 생성하기 위해 GRU decoder에 대한 target style의 추가 임베딩된 representation을 사용한다.
- MultiDecoder는 target style의 문장을 생성하기 위해 각 스타일 당 하나씩 multiple GRU decoder를 사용한다.
6. DAE & VAE
- latent space의 분리를 위해 content-oriented and style-oriented reconstruction과 adversarial losses가 제안되었다.
- bag-of words features로 content 및 style 정보를 근사하였다.
- style 감지와 BOW contents vocab에 대한 두 가지 분류기를 사용하였다.
7. CAE
- CAE : Cycle-consistent Adversarial Autoencoder
- 아래 3개의 구성요소로 이루어진 네트워크이다.
- 1) 서로 다른 스타일의 문장을 표현하기 위한 LSTM autoencoder
- 2) adversarial style transfer network
- 3) novel cycle-consistent constraint
8. DGST
- DGST : Dual-Generator Network for Text Style Transfer
- CAE와 비슷한 방식으로 cyclic process에서 target style의 문장을 생성하는 방법을 학습한다.
- 이 모델은 discriminator에 의존하지 않는 특징이 있다.
- 그 대신, neighborhood sampling을 적용해 각 문장에 노이즈를 준다.
9. FM-GAN
- adversarial 학습을 위한 traditional loss를 이용하지 않고 Feature Mover’s Distance를 이용하여 학습한다.
10. StyleDiscrepancy
- adversarial loss와 reconstruction만을 포함하는 objective function으로 훈련하여 문장을 생성하는 것이 목표 스타일을 제대로 잡아낼 수 없는 문제를 제기했다.
- 이 모델은 주어진 문장에 target style이 있는지를 판별하기 위해 StyleDiscrepancy라는 loss function을 이용하는 추가 discriminator를 사용한다.
- StyleTransformer와 CAST처럼 cycle consistency를 적용하였다.
11. StyIns
- 생성 과정에서 더 나은 style supervision을 보장하기 위해 adversarial style loss를 사용한다.
- StyleTransformer와 유사하게 생성된 문장의 스타일을 결정하기 위해 multi-class discriminator가 적용된다.
12. PPVAE
- PPVAE : Pre-train and Plug-in Variational Autoencoder
- 새로운 스타일을 배워야 할 때마다 처음부터 다시 시작하는 문제를 완화하는 시스템을 염두에 두었다.
- 이 프레임워크는 아래 2가지 variational autoencoder로 구성된다.
- 1) PretrainVAE : 문장을 원래 스타일로 표현하고 재구성하는 법을 배우는 autoencoder.
- 2) PluginVAE : 각 스타일에 대한 conditional latent space을 배우는 autoencoder.
Section 6 : 직면한 과제 및 향후 발전 방향
딥러닝 관점
- 연구의 초점은 feature etraction에서 model-free machine learning으로 넘어가고 있다.
- 많은 양의 데이터에 대한 의존성과 신경 모델의 복잡성은 훈련 데이터로부터의 과적합과 일반화의 어려움과 연관이 있다.
Deep Style Transfer
1) Style-content Disentanglement
- 스타일은 구어, 문어와 뗄 수 없는 관계에 있다.
- latent space를 content and style subspaces로 partitioning, style marker 제거, 스타일의 영향을 줄이기 위한 back-translation 사용하는 방식들이 기존에 제안되었다.
- 최근 연구에서는 스타일에서 컨텐츠를 분리해야할 필요성을 거부한다.
- back-translation 사용, latent representation editing, 스타일 제어 및 문장 재구성을 위한 독립 모듈, cycle-consistent reconstruction 등의 방법론들이 새롭게 제안되었다.
2) Content와 Style 간의 trade-off
- style과 content간 정확한 상호의존성이 명확하지 않아 문제가 된다.
- 일부 기술적 구제책은 상충되어 신뢰가 떨어진다.
3) Interpretability
- 때로 딥러닝 모델은 원인과 결과를 연관하여 이해하기 어려운 구조를 가지고 있어 비판받는다.
- GAN을 분석하여 딥러닝 네트워크가 어떻게 수행되는지 이해하려는 시도 중에 있다.
4) Transfer Learning
- 현재 style transfer를 위해 transfer learning을 사용한 연구 수는 아직 제한적이다.
- 그러나 transfer learning에 대한 관심이 높아짐에 따라 pre-training, multi-task training, fine-tuning 등의 아이디어를 적용하는 것이 유용할 수 있을 것이다.
5) Ethical Considerations
- social network에서 데이터를 가져오는 횟수가 더 많아지는 만큼 많은 커뮤니티에서 윤리적인 토론을 이어나가야 한다.
6) Deep Reinforcement Learning
- 경험을 통해 사람처럼 학습하는 강화학습은 아직 충분한 성능에 도달하지는 못하였다.
- 그러나 이 분야 또한 몇몇 연구자가 재조명하고 있다.
Section 7 : 결론
- 추가 레이어나 구성 요소 등에 의해 예상되는 성능 이득과 모델 복잡성의 trade-off를 맞추는 것이 현재 연구자들이 직면한 과제이다.
- Style transfer 작업 전반에 걸쳐서 결과를 일반화한 성공적인 사례는 거의 보고되지 않았다.
- Transfer learning과 Multotask learning 학습 연구는 더 많은 발전을 가능하게 할 수 있는 기회이다.