NL-108, CGMH: Constrained Sentence Generation by Metropolis-Hastings Sampling (2019-AAAI)
◼️ Comment
- 이 논문을 패러프레이징 비교 논문으로 살펴본건데, 논문에서는 패러프레이징뿐 아니라 keywords-to-sentence, sentece error correction 까지 다룬다.
- 논문의 세세한 부분을 자세히 보지는 않고 어떤 프레임워크로 진행했는지 살펴보았다.
- 또한 기본적으로 뭔가 복잡하게 논문이 쓰여져있는 느낌을 받았다.
- 논문은 크게 문장 생성시 두 가지 제약을 언급한다.
- hard 제약으로 특정 키워드를 포함하도록 하는 것
- soft 제약으로 semnatic이 토픽에 연관되도록 하는 것
- 패러프레이징 문장을 생성할 땐 LM에서 디코딩할 때 (토큰 예측할 때) 여러 후보를 MCMC로 탐색한다.
- 탐색하는 방법은 replacement, insertion, deletion을 이용한다.
- 즉 문장의 특정 토큰을 위 3가지를 이용하여 바꾸는 것이다.
- 바꿨을 때, 탐색된 후보를 선택할지 말지 acceptance rate가 있다고 하는데, 이 rate는 제약을 통해 판단한다.
- 식 7,8,9가 이 acceptance rate을 말하고 식에서 나오는 pi(x)는 다음의 제약으로부터 결정된다.
- 1) keyword matching, 2) word embedding similarity, 3) skip-thoughts similarity
- 실험 부분은 생략했는데
- 실제 코드 돌려보면, 몇 번 탐색?을 할지 정해야한다.
- 즉 테이블 6에 있는 저 5번의 iteration 숫자를 결정해야하는 것이다.
- 이 부분에 의존성이 있다는 것은 단점으로 생각되고, 매 인퍼런스마다 결과가 달라진다는 것도 단점같다. (왜냐하면 탐색을 랜덤으로 replacement, insertion, deletion을 결정하기 때문에)
- 자세한 학습과 테스트 과정이 궁금하면 실험 부분을 읽어보면 될 것 같다.
0 Abstract
- NLG의 실제 세계 어플리케이션에서, fluency와 naturalness 요구외에도 taget 문장들에 대한 제약이 종종있다.
- 기존의 language generation 기술들은 보통 RNNs을 기반으로 한다.
- 그러나, RNNs는 첫 단어부터 마지막까지 순차적으로 생성하기 때문에 (or beam search) RNNs가 generation 퀄리티를 유지하는 것은 사소한 제약이 아니다.
- 이 논문에서, 우리는 문장 생성에 대한 조건으로 Metropolis-Hastings sampling을 사용한 novel 접근법인 CGMH을 제안한다.
- CGMH은 target 문장들에서 multiple keywords의 발생과 같은 복잡한 제약을 허용하여, 이는 전통적인 RNN 기반 접근법으로는 핸들링이 불가능한 것이다.
- 게다가, 인퍼런스 스테이지에서 CGMH는 작동하고 학습에 병렬 코퍼스가 필요하지 않다.
- 우리는 우리의 방법을 다양한 테스크에 대해 평가한다. (keywords-to-sentence 생성, unsupervised sentence paraphrasing, unsupervised sentence error correction)
- CGMH는 문장 생성에서 이전의 supervised 방법들에 비해 높은 성능을 달성한다.
- Our code is released at https://github.com/NingMiao/CGMH
1 Introduction
- Natural language generation은 종종 생성된 문장들에 대한 제약들을 포함한다.
- 제약들은 다음의 타입들로 카테고리화된다.
- (1) Hard constraints, such as the mandatory inclusion of certain keywords in the output sentences; and
- (2) Soft constraints, such as requiring the generated sentences to be semantically related to a certain topic.
- 그림 1은 광고슬로건에 'BMW'와 'sports'가 있어야만 하는 광고 생성의 예시를 보여준다.
- 그래서 'BMW, the sports car of the future'은 광고에 적합한 문장이 된다.
- 기존의 문장 생성 방법들은 대부분 RNNs에 기반하고 왼쪽에서 오른쪽으로 생성된다.
- 그러나, RNNs에서 왼쪽에서 오른쪽으로 생성하는 동안 제약들을 부과하는 것은 사소한 것이 아니다.
- 이전의 연구들은 backwrad-forward 생성 방법으로, 이는 하나의 keyword만으로 문장들을 생성할 수 있는 것이다.
- 추가적으로, 연구자들은 번역에서 제약들을 통합하기 위해 grid beam search을 제안한다.
- 이것은 source와 target이 대부분 aligned되고 번역의 candidate set은 작기 때문에 번역 테스크에서 작동한다.
- 그러나, grid beam search는 일반적인 문장 생성에서 잘 작동하지 않을 수 있고, 이는 너무 많은 candidate 문장들을 가진다.
- 이 논문에서, 우리는 Constrained Generation by Metropolis-Hastings sampling (CGMH)을 제안하고, 이 접근법은 제약들로 문장을 생성하는 것을 설명한다.
- variational latent space에서 작동하는 이전의 문장 샘플러와 다른점은, CGMH는 Metropolis-Hastings (MH) 알고리즘을 사용해서 직접적으로 sentence space에서 샘플링한다.
- MH는 일반적인 Markov chain Monte Carlo (MCMC) sampling의 한 종류이다.
- 이것은 sentence space (예. 단어 교체, 삭제, 삽입)에서 local operations을 정의한다.
- 샘플링동안, 우리는 제안한 transition으로부터 operation와 단어들을 랜덤으로 선택한다.
- 제안은 pre-specified stationary distribution으로부터 acceptace rate을 계산함에따라 accepted 혹은 reject가 결정된다.
- Gibbs sampling (another MCMC method)와 비교하여 MH는 좀 더 다양한 길이들에 대해 flexibile하게 문장을 생성할 수 있다.
- 그런 다음 MH의 stationary distribution를 다루기 위해 matching function (제약이 충족되는 정도를 나타냄)를 도입하여 생성된 문장에 제약을 부과하는 것은 간단합니다.
- hard 제약들인 경우, matching function은 실행 불가능한 문장들의 가능성을 배제하기 위해, binary indicator가 될 수 있다.
- soft constraints인 경우, matching function은 예를 들어, semantic similarity의 측정이 될 수 있다.
- 두 케이스 모두, 우리는 제약들이 있는 문장들을 샘플링할 수 있다.
- Our proposed CGMH can be applied to a variety of tasks.
- 우리는 먼저 keywords-to-sentence 생성을 실험하고, 여기서 keywords는 hard constraints가 된다.
- 이 테스크에서, CGMH는 negative likelihood (fluency)와 사람 평가에서 SoTA constrained generation 모델들보다 좋다.
- 우리는 또한 soft constratins을 가지는 두 가지 생성 테스크인, paraphrase generation와 sentence error correction에 대해 실험한다.
- 결과들은 병렬 코퍼스없이, CGMH가 다른 unsupervised models보다 뛰어남을 보여주고 SoTA supervised 접근법들과 유사한 결과들을 달성한다.
- In summary, our contributions include
- 우리는 CGMH을 제안하고, 이는 문장 샘플링에 대한 general 프레임워크로 hard와 soft 제약들을 다룬다.
- 우리는 3가지 테스크에서 (keywords-to-sentence generation, paraphrase generation, and sentence error correction) MH 문장 샘플링을위한 proposal distribution와 stationary distribution을 설계한다.
- 실험 결과들은 CGMH가 이전의 방법들보다 높은 성능을 달성함을 보여준다.
- 우리는 이전 접근법들에서 필요한 병렬 코퍼스가 필요하지 않은 unsupervised fashion으로 위의 task들이 가능하게 달성한다.
2 Related Work
- 생략...
3 Approach
- In this section, we describe our CGMH model (referring to Constrained Generation by Metropolis-Hastings) in detail.
- We first introduce the general framework of MH sampling, and then we design MH components—including proposal design, stationary distributions, and acceptance decision— in the scenario of constrained sentence generation.
3.1 The Metropolis-Hastings Algorithm
- Metropolis-Hastings (MH) algorithm은 전통적인 Markov chain Monte Carlo (MCMC) sampling 접근법이다.
- MCMC은 하나의 state에서 다른 데까지 반복적으로 jumping하면서 관련있는 samplesd의 시퀀스들을 transition matrix of a Markov chain을 따라서 생성한다.
- 문장 생성에선, Markov chain의 각 state은 특정 문장이다.
- mild 조건들에서, 샘플들의 distribution은 Markov chain의 stationary distribution으로 수렴할 것이다.
- 그래서, 우리는 Markov chain의 stationary distribution이 원하는 문장 distribution이 되도록 설계가 필요하다.
- 그러나, arbitrary stationary distribution을 얻기 위해 Markov chain의 tansition probability을 직접적으로 구체화하는 것은 때때로 어렵습니다.
- MH 샘플러는 이 문제를 두 가지 방법으로 해결한다.
- 첫 번째로 tentaitve transition을 제안하고 acceptatnce rate에 따라 accept할지 reject할지를 결정한다.
- acceptance/rejection rate는 원하는 stationary distribution과 proposal distribution에 의해 계산된다.
- 이것은 detailed balance condition를 보장하며, 이는 차례로 MH가 원하는 분포로 수렴되도록 보장한다.
- 보다 구체적으로, π(x)를 우리가 문장을 샘플링하려는 분포라고 하자.
- (x는 특정 문장을 나타냄).
- MH는 (아마도) 임의의 상태 x0 (초기 문장 또는 키워드 시퀀스)에서 시작합니다.
- 각 단계 t에서 제안 분포 g (x'| xt−1)를 기반으로 새로운 문장 x'이 제안됩니다.
- 여기서 xt-1은 마지막 단계의 문장을 나타냅니다.
- 그런 다음 acceptance rate에 따라 제안을 수락하거나 거부 할 수 있습니다.
- 즉, proposal은 A(x'|xt−1)의 확률로 수용되고 다음 문장 xt=x'가 된다.
- 1-A(x'|xt−1)의 확률로 proposal은 reject되고 xt=xt-1이 된다.
- 이론적으로, sample xn의 분포는 irreducible(되돌릴수없고) and aperiodic(비주기적인) Markov chains에 대해 n → ∞으로 갈수록 π(x)으로 수렴한다.
- 실제로, 초기 여러개의 샘플들은 초기 상태 x0에 종속되기 때문에 버려진다.
- 만약, 샘플이 stationary distribution로 수렴되면 Markov 체인이 혼합되거나 번인한다고 말합니다.
- Readers may refer to Gelman et al. (2013) for details of MH sampling.
- The MH framework is a flexible sampling algorithm because:
- (1) The proposal distribution could be arbitrary, as long as the Markov chain is irreducible and aperiodic;
- (2) The stationary distribution could also be arbitrarily specified, which will be reflected in Equation 2 to correct the proposal distribution; and
- (3) We can safely ignore a normalization factor of the stationary distribution and only specify an unnormalized measure, because π(·) appears in both numerator and denominator of Equation 2.
- All these allow flexible manipulation of the stationary distribution.
- The design of proposal distributions and stationary distributions relies heavily on applications, which will be described in the rest of this section.
3.2 Proposals
- 우리는 word replacement, insertion, and deletion를 포함하여 간단하면서도 효과적인 제안 세트를 설계합니다.
- 즉, 각 단계에서 단어를 무작위로 선택하고 선택한 단어에 대해 우리의 실험에서 [1/3, 1/3, 1/3]의 확률로 설정된 [p_insert, p_delete, p_replace]로 세 가지 작업 중 하나를 무작위로 수행합니다.
- 다음과 같이 작업에 대해 자세히 설명합니다
- Replacement
- 현재 단계의 문장이 x = [w1, · · ·, wm−1, wm, wm + 1, · · ·, wn]이고, 여기서 n은 문장 길이이며, 대체 조치를 제안하기로 결정했다고 가정합니다. (m 번째 단어 wm.)
- 현재 문장의 다른 모든 단어가 주어지면 조건부 확률로 m 번째 위치에 대한 새 단어를 선택해야합니다.
- Insertion and deletion
- 단어 삽입은 2 단계 방식으로 수행됩니다.
- 먼저 현재 작업중인 위치에 특수 토큰 인 placeholder를 삽입 한 다음 (3)을 사용하여 자리 표시자를 대체 할 실제 단어를 샘플링합니다.
- 결과적으로 ginsert는 (3)과 비슷한 형식을 취합니다.
3.3 Stationary Distribution
- 제안 된 CGMH 프레임 워크에서, 우리는 Markov 체인의 고정 분포로 알려진 원하는 분포 π (x)에서 문장을 얻고 싶습니다.
- 제한된 문장 생성을 위해 CGMH는 고정 분포의 유연한 설계를 허용합니다.
- 일반적으로 정상 분포 π (x)는 다음과 같이 정의 할 수 있습니다.
- Sentence generation with keywords
- Unsupervised paraphrase generation
- 의역 생성은 입력 문장과 동일한 의미를 전달하는 문자 그대로 다른 문장을 합성하는 것을 목표로합니다.
- 이는 NLP에서 중요한 작업이며 NLP를위한 데이터 증대와 같은 다운 스트림 애플리케이션의 핵심 구성 요소가 될 수 있습니다.
- 이전의 최신 패러 프레이즈 생성 방법에는 훈련을위한 병렬 데이터가 필요하며 항상 사용할 수있는 것은 아닙니다.
- 우리 논문에서 우리는 문장이 (1) 그 자체로 유창하고 (2) 입력 문장 x *와 의미가 가까운 분포로부터의 샘플링으로 의역 생성을 봅니다.
- 전자 속성은 전통적인 언어 모델로 캡처 할 수있는 반면 후자는 제약 조건으로 모델링 할 수 있습니다.
- 구체적으로 우리는 다음을 따른다.
- Here, pLM(x) is also the probability given by a language model, indicating the fluency of x.
- X_match(x|x∗) is a matching score.
- In our experiments, we have several choices for Xmatch(·|·):
- Keyword matching (KW) as hard constraints
- 의역은 일반적으로 원본 문장과 일부 키워드를 공유합니다. 이 변형에서는 Rake (Rose et al. 2010)를 사용하여 키워드를 추출하고 샘플링 중에 고정 상태를 유지합니다. x와 x∗가 같은 키워드를 공유하면 Xmatch (x|x∗) = 1이고 그렇지 않으면 0입니다.
- Word embedding similarity as a soft constraint.
- 임베딩은 불연속 단어를 실수 값 벡터에 매핑하여 유사성을 측정하는보다 부드러운 방법을 제공합니다. 이 매칭 기능에서는 유사성을 포함하여 키워드 매칭을 강화합니다. 문장 x의 단어 w에 대해 먼저 코사인 유사성을 계산하여 입력 문장 x*에서 가장 가까운 단어를 찾습니다 (Pennington, Socher 및 Manning 2014). 그런 다음 이러한 코사인 측정 값의 최소값 또는 평균이 일치 점수로 간주되어 두 가지 변형 (WVM 및 WVA)이 생성됩니다.
- Skip-thoughts similarity (ST) as a soft constraint.
- Skip-thoughts 접근 방식은 주변 문장을 예측하여 문장 임베딩을 훈련합니다 (Kiros et al. 2015). x와 x*의 스킵-생각 임베딩 간의 코사인 유사성을 계산하고 이를 일치 점수로 사용합니다.
- 이론적으로 말하면 고정 분포가 정의되면 어떤 문장에서든 샘플링을 시작할 수 있습니다.
- 그러나 Markov 체인이 혼합 / 번인하는 데 시간이 너무 오래 걸립니다 (예 : 원하는 분포의 샘플).
- 따라서 원래 문장을 초기 상태, 즉 x0 = x*로 사용합니다. 이것은 대조 발산 추정을위한 Gibbs 샘플링의 웜 스타트와 유사합니다 (Hinton, Osindero 및 Teh 2006).
- Unsupervised sentence error correction.
- 문장 오류 수정의 이전 작업은 병렬 데이터에도 의존합니다 (Felice et al. 2014; Junczys-Dowmunt 및 Grundkiewicz 2016; Sakaguchi, Post 및 Van Durme 2017; Chollampatt, Hoang 및 Ng 2016).
- CGMH 프레임 워크를 사용하면 입력 x*로 잘못된 문장부터 시작하여 올바른 문장 분포에서 샘플을 생성 할 수 있습니다.
- 이 응용 프로그램에서 우리는 감독되지 않은 패러 프레이즈 설정에서와 동일한 고정 분포 (공식 6)를 사용합니다.
- 여기서 pLM은 유창성 (정확성)을 보장하는 일반 말뭉치에서 훈련되고 Xmatch (· | ·)는 문법 오류에 민감하지 않다고 가정합니다.
- 의미론적 관련성의 소프트 제약을 부과합니다.
3.4 Acceptance Rate
- MH에서는 제안과 고정 분포를 모두 지정할 수 있습니다.
- 샘플이 실제로 원하는 분포에서 나온 것인지 확인하는 방법은 방정식 (1) 및 (2)의 수락 률로 주어진 수락 또는 거부 확률로 제안 분포를 수정하는 것입니다.
- 우리의 접근 방식에는 삭제, 삽입 및 교체의 세 가지 유형의 제안이 있습니다.
- 따라서 수락 률 (최소 {1, ·}을 취하기 전)을 다음과 같이 분류합니다.
- 특히, (7)은 단어 대체가 Gibbs 샘플링의 단계로 생각 될 수 있기 때문에 사소한 사실이며, 이는 수용 률이 1로 보장되는 MH 샘플링의 단계입니다.
- (8)과 (9)는 상호 적입니다.
- 삭제와 삽입은 서로 반대의 작업이기 때문입니다.
4. Experiments
5. Conclusion
- 이 논문에서, 우리는 문장 생성에 제약을 Metropolis-Hastings (MH) sampling으로 주는 CGMH을 소개하고, 여기서 우리는 word-level operations을 제안한다.
- operation으로 replacement, insertion, and deletion을 포함하고 여러 stationary distributions을 다른 테스크들에서 고안한다.
- 우리는 우리의 결과들은 keywords-to-sentence generation, paraphrase generation, and error correction에서 평가한다.
- 우리의 CGMH 프레임워크는 이러한 어플리케이션에서 unsupervised learning을 가능할 뿐 아니라, SoTA supervised 접근법와 비슷한 성능을 달성한다.
Reference
댓글
댓글 쓰기