NL-065, A Deep Ensemble Model with Slot Alignment for Sequence-to-Sequence Natural Language Generation (2018-NAACL)
공유 링크 만들기
Facebook
X
Pinterest
이메일
기타 앱
■ Comment
대체적으로 E2E 챌린지에 대해 설명, 분석을 잘한 논문 같다.
모델은 encoder-decoder with attention 기법을 사용하고 이러한 모델 3개를 학습시켜 앙상블 했다.
2모델은 encoder가 LSTM(학습 epoch가 다르다고 함), 1모델은 CNN으로 약간의 차이만 있을 뿐이다.
이렇게 학습시킨 3모델로 각 10개의 beam-search로 여러 문장을 생성하고 reranker로 순서를 매겨 최종 출력을 정한다.
이때 확률 단에서 앙상블 해버리면 성능이 안좋고 생성 문장 단에서 하나를 픽하는 느낌인데, 픽하는 방법이 MR에 있는 value을 얼마나 잘 포함하고 있는지이다.
또한 delexicalization으로 slot value을 placeholder로 치환할 때, 다 치환해버리면 생성 문장의 다양성이 적기 때문에 일부분만 치환하는 방식을 사용한 것 같다.
또한 학습 데이터를 보면, MRs에 주어진 value가 생성 문장에 없는 경우가 많은데, 이것을 휴리스틱한 룰베이스 방법?으로 데이터를 프리프로세싱하여 생성 문장이 value들을 포함하게 한다.
그 외 사용한 프리프로세싱으로는 문장을 split하는 것으로 Utterance/MR Splitting 부분이 있다.
실패한 방법으로는 permutation으로 slot 순서를 바꾸는 것이 있는데, 테스트 샘플들이 어차피 순서가 고정되어 있기 때문에 이것은 오히려 성능을 떨어뜨린다고 한다.
0. Abstract
NLG는 generative dialogue systems과 conversational agents의 핵심에 있다.
우리는 앙상블 뉴럴 language generator을 설명하고 data representation와 agumentation을 위한 여러 개의 참신한 방법으로 모델의 성능을 향상시킨다.
우리는 3가지 데이터세트, restaurant, TV and laptop domains에서 모델을 테스트하고 best 모델에대한 객관적이고 주관적인 evaluation을 리포트한다.
사람의 평가뿐만 아니라 다양한 automatic metrics을 사용하여 같은 데이터세트에서 SoTA을 달성한다.
1 Introduction
최근 Cortana 혹은 Alexa와 같은 personal assistants NLP의 연구가 상당히 발전했다.
이러한 대화형 에이전트의 능력은 아직 한계가 있고 다양한 관점에서 부족하다.
챌린지중 하나는 많은 종류의 content에서 사람과 같은 coherence(일관성)와 naturalness 담화를 생성하는 능력이다.
이것은 NLG의 한 요소이다.
이 논문은 언어 생성자의 입력이 structure MRs인 것에 대해 중점을 한다.
MR은 대화중에 사람유저에게 전달해줘야할 key 컨셉 리스트를 가지고 있는 하나의 dialogue act을 설명한다.
각 정보의 조각은 slot-value 쌍으로 표현이되고 slot은 정보의 type을 말하고 value는 content에 대응이 된다.
Dialogue act (DA) 타입은 dialogue manager에 의존한다.
slot이 없는 goodbye DA와 같은 간단한 것부터 다양한 value 타입을 포함하는 여러 개의 slots을 가지고 있는 DA까지
natural language generator은 주어진 MR에서 syntactically와 semantically가 맞는 담화를 생성해야한다.
담화는 MR에 포함되어 있는 모든 정보를 표현해야하고 자연스럽고 대화가능한 방법이어야 한다.
전통적인 language generator 구조에서 MR에서 발화의 assembling(조립)은 두 가지 단계로 수행된다.
sentence planning, which enforces semantic correctness and determines the structure of the utterance,
surface realization, which enforces syntactic correctness and produces the final utterance form.
statistical NLG 사전 연구는 전통적으로 handcrafted 요소와 statistical 학습 방법의 하이브리드이다.
handcrafted 관점은 그러나 portability(휴대성)을 줄이고 잠재적으로 출력의 다양성을 제한한다.
코퍼스 기반의 새로운 방법은 semantically 데이터에 align하여 LM을 학습하여 담화가 MRs으로부터 바로 출력하게 한다.(Mairesse et al., 2010; Mairesse and Young, 2014).
alignment은 학습하는 동안 가치있는 정보를 제공하나 semantic annotation이 비싸다.
최근 방법들은 aligned data을 요구하지 않고 end-to-end 방법으로 학습을 하여 sentence planning과 surface realization을 동시에 한다. (Konstas and Lapata, 2013)
가장 성공적인 시스템은 unaligned data을 RNNs으로 encoder-decoder 시스템 방식 (Mei et al., 2016; Dusek and Jur ˇ cˇ´ıcek ˇ , 2016)으로 학습될 뿐만 아니라 다른 컨셉들, imitation learning (Lampouras and Vlachos, 2016)과 같은 것도 있다.
이러한 NLG 모델들은 그러나 전형적으로 semantic alignment 부족하기 때문에 학습에 많은 데이터가 필요하다.
그리고 그들은 여전히 syntactically and semantically가 정확한 출력을 생성하는데 문제점이 있고 자연스러움에 대한 한계가 있다 (Nayak et al., 2017).
여기서 우리는 뉴럴 앙상블 natural language generator을 소개하고 우리는 restaurant, television, and laptop 3개의 unaligned dataset에서 학습하고 테스트한다.
우리는 MR 입력을 표현하는 새로운 방법을 탐구한다.
이것은 slots과 그들의 values을 delexicalizing 하는 새로운 방법일 뿐 아니라 semantic reranker을 사용한다.
우리는 automatic evaluation 메트릭을 사용하여 이러한 방법들이 우리의 모델의 성능을 향상시켜주는 것을 보여준다.
가장 큰 데이터세트, 50K 샘플들에 가까운 E2E 데이터세트에서 우리는 우리의 모델이 사람의 평가에서 E2E NLG 챌린지의 베이스라인시스템보다 더 좋은 성능을 보여준 것을 입증한다.
최종적으로 stylistic data selection으로 우리의 모델을 augmenting한 후, 주관적인 평가를 통해 학습 데이터를 크게 줄였음에도 불구하고 전반적으로 더 나은 결과를 얻을 수 있음이 밝혀졌습니다.
내 실험에서도 이것을 고려하면 괜찮을 듯
2 Related Work
지금은 생략이지만 이 논문은 정리를 잘해둔 편이니 읽어보아야 할듯
3. Dataset
우리는 모델을 3가지 다른 도메인에서 평가를 한다.
가장 첫 번째는 최근 릴리즈된 E2E 레스토랑 데이터세트로 48K 샘플들이 있다.
벤치마킹에서는 TV와 랩탑 데이터세트가 각각 7K, 13K 샘플들이 각각 있다.
We evaluated the models on three datasets from
different domains.
Table 2 summarizes the proportions of the
training, validation, and test sets for each dataset.
3.1 E2E Dataset
E2E 데이터세트는 꽤 큰 task-oriented 언어 생성에 사용가능한 레스토랑 데이터세트이다.
human references는 source 정보의 그림에서부터 수집되었고 이것은 informative하고 자연스러운 담화를 일으킨다고 한다.
샌프란시스코 레스토랑 데이터세트보다 10배 정도 더 많은 50K 가까운 샘플들이 있다.
E2E 데이터세트에 있는 reference 담화는 좀 더 복잡한 대화 현상을 포함하여 탁월한 어휘의 풍부함과 syntactic(구문) 변화를 나타낸다.
이것은 end-to-end NLG 시스템에 높은 품질의 학습 데이터를 제공하고 좀 더 자연스러운 담화를 학습하게 한다.
이 데이터세트는 E2E NLG 챌린지의 일부분으로 릴리즈 되었다.
E2E 데이터세트가 많은 수의 샘플을 포함할지라도 각 MR은 평균적으로 8.65개의 다른 reference 담화를 가지고있고 unique MRs가 5K보다 적에 효과적으로 제공하고 있다. (그림 1)
구체적으로 모델에게 여러 개의 ground truths을 제공함으로써, 여러 개의 대안 가능한 담화 구조를 제공하고 모델이 배워서 같은 타입의 MR에 대해 적용하게 하여 모델이 적용을 배울 수 있다.
섹션 5.1에서 말할 delexicalization은 다른 MRs의 컨셉을 공유하도록 모델의 능력을 향상시킨다.
데이터세트는 오직 8개의 slot 타입을 가지고 있고 이것은 거의 균등하게 분배되어 있다.
MR에 주어진 slots의 수는 3개에서 8개 사이다.
그러나 MRs의 대부분은 5 혹은 6개의 slots이다.
대부분의 MRs은 많은 slots을 가지고 있으나 human 담화에 대응하는 대부분은 1개 혹은 2개의 문장들로 구성되어 있고 references에서 문장 복잡성은 높은 레벨을 보여주고 있다.
3.2 TV and Laptop Datasets
생략
4 Ensemble Neural Language Generator
4.1 Encoder-Decoder with Attention
우리의 모델은 기본적인 encoder-decoder with attention 구조를 사용한다. (Bahadanau)
입력을 single vector 대신 context vectors의 sequence으로 인코딩하는 것은 디코더가 입력 시퀀스의 특정 부분을 학습하여 (지금까지 생성된 출력이을 고려하여) 집중할 수 있게 한다.
이러한 attentional encoder-decdoer 구조에서, 각 step의 출력 확률은 별개의 context vector qt에 다음과 같이 의존하게 된다.
이 뒤의 자세한 설명은 사실상 attention encoder-decoder와 비슷한 부분이니 생략을..
4.2 Ensembling
예측하는 담화의 질을 강화하기 위해, 여기서 다른 인코더를 사용하는 3가지 뉴럴 모델을 만들었다.
모델들 중 2가지는 bidirectional LSTM encoder을 사용하고 3번째 모델은 CNN 인코더를 사용한다.
우리는 이러한 모델들을 다른 수의 epochs을 가지고 각각 학습하고 예측할 때 합친다.
처음에, 우리는 각 step에서 log-probability을 평균내서모델의 예측을 합치려고 했고 그 다음 가장 큰 log-probability을 가지는 word을 선택하였다.
우리방법이 담화의 BLEU score뿐만 아니라 퀄리티가 현저히 줄었다는 것을 알았다.
우리는 이것은 다른 모델들이 다른 문장 구조를 학습했기 때문에 확률 레벨의 예측에서 합치는 것은 일관성 없는 담화들을 만들어낸다고 믿는다.
그래서 모델의 log-probability 레벨에서 합치는 것 대신에, 우리는 각 모델 타입에서 beam-search을 사용하여 top 10 예측 담화를 accumulate 하였고 reranker을 사용하여 모든 담화 후보들을 성공적으로 실현한 slots의 비율을 고려하여 랭킹매겼다.
마침내 우리의 시스템은 예측한 담화들에 대해 가장 높은 점수를 얻었다.
4.3 Slot Alignment
우리의 학습 데이터는 본질적으로 unaligned 되어있기 때문에 여러 개의 문장에서 어떤 문장이 주어진 slot을 포함하고 있는지 명확하지 않고 이것은 모델의 robustness을 제한한다.
다음의 예시인 실제 학습 데이터를 보자
그러면 Crowne Plaza Hotel이 생성 문장에 없다.
이것을 수용하기 위해, 우리는 휴리스틱한 방법으로 slot aligner을 만들고 이것으로 자동적으로 데이터를 프리프로세싱한다.
가장 우선시 되는 목표는 text의 chunks(덩어리)를 reference 담화에 MR에 있는 예측되는 value에 align하는 것이다.
우리의 slot aligner의 어플리케이션은 Table 4와 부분 섹션에 설명되어 있다.
우리의 태스크에서는, 우리는 언급된 유한한 slot set을 가지고 있고 이것은 대응되는 담화에서 검출이 되어야 한다.
게다가, 학습 데이터로부터 우리는 대부분 slots들은 담화 안에 구의 특정 set을 삽입함으로써 실현되고 있음을 알 수 있다.
여기서부터 인사이트를 사용하여, 우리는 gazetter을 구축하여 우선적으로 MR과 담화의 각 문장 사이가 겹치는 content 부분을 찾는다.
by 가능한 모든 slot realizations을 적절한 슬롯 유형과 연결하여서 gazetter을 구축한다.
우리는 추가적으로 작은 handcrafted 룰을 사용하여서 gazetteer을 증강시킨다.
handcrafted rules which capture cases not easily encapsulated by the above process
for example, associating the price Range slot with a chunk of text using currency symbols or relevant lexemes, such as “cheap” or “highend”.
이 규칙은 수작업으로 만들어졌지만 도메인이 아닌 슬롯을 대상으로하므로 도메인 전체에서 전송할 수 있으며 대부분 E2E 데이터 세트의 노이즈에 대응합니다.
최종적으로 우리는 WordNet을 사용하여 더욱 gazetteer의 사이즈를 늘리고 동의어와 그들의 의미론적인 관계를 설명한다.
associating “pasta” with the food[Italian] slot와 같은
4.4 Reranker
As discussed in Section 4.2, our model uses beam
search to produce a pool of the most likely utterances for a given MR.
이러한 결과에는 모델이 제공한 확률 점수가 있지만, 이 점수에 전적으로 의존하면 시스템에서 낮은 점수 발화보다 객관적으로 더 나쁜 후보를 선택하는 경우가 종종 있습니다 (예 : 더 많은 슬롯이 누락되거나 슬롯이 잘못 구현 됨) .
We therefore augment that score by
multiplying it by the following score which takes
the slot alignment into consideration:
where N is the number of all slots in the given
MR, and Nu and No represent the number of
unaligned slots (those not observed by our slot
aligner) and over-generated slots (those which
have been realized but were not present in the original MR), respectively.
위에서 말한 3개의 다른 모델을 빔서치로 여러 개의 문장들을 생성해서 얼만큼 MR의 slot이 반영되었는지를 판단해서 선택한다는 의미이다.
5 Data Preprocessing
5.1 Delexicalization
학습 데이터를 delexicalizing을 함으로써 우리의 모델이 학습된 개념을 일반화하여 unseen MRs에 대한 능력을 강화한다.
게다가 이것은 모델이 학습에 필요한 데이터의 양을 줄여준다.
우리는 카테고리컬 slots의 values가 항상 담화에 축어로 전해지는 것을 식별하고 담화에 대응되는 values을 placeholder tokens으로 대체한다.
The placeholders are
eventually replaced in the output utterance in post-processing by copying the values from the input MR.
예시로, E2E 데이터에서는 near 혹은 name과 같은 slot들이 있고 TV와 Laptop 데이터세트에서는 screensize 혹은 processor 등이 있다.
그렇다고 다음과 같이 모든 것을 placeholder로 대체하는 것은 아닌 듯하다.
However, we chose not to delexicalize those categorical slots whose values can be expressed in alternative ways, such as “less than $20” and “cheap”, or “on the riverside” and “by the river”.
더욱 자세한 내용은 생략..
5.2 Data Expansion (feat. 번역기)
Slot Permutation
초기 실험에서 우리는 Nayak et al.에서 제안한 것처럼 MR에서 슬롯 순서를 바꾸어 훈련 세트를 확장하려고 시도했습니다. (2017).
모든 MR의 서로 다른 슬롯 순서에서 (원래 MR 외에) 5 개의 임의 순열을 샘플링하고 동일한 참조 발언으로 새로운 의사 샘플을 만들었습니다.
훈련 세트의 크기는 6 배 증가했습니다.
이러한 강화 된 교육 세트를 사용하면 모델의 견고성이 향상 될 수 있지만 E2E 데이터 세트에는 도움이되지 않습니다. 이 데이터 세트에서 훈련 및 테스트 세트 모두에서 모든 MR에 대해 슬롯 순서가 고정되는 것을 관찰했습니다.
결과적으로 대부분의 시간 동안이 모델은 테스트 세트에서 절대 발생하지 않는 슬롯 순서로 MR에 대해 훈련을 받았고 결과적으로 테스트 세트의 예측 성능이 저하되었습니다.
Utterance/MR Splitting
보다 발성적인 접근 방식을 취함으로써, 우리는 대응하는 MR과 짝을 이루는 단일 문장 발화로 훈련 세트를 보강합니다.
이 새로운 의사 샘플은 기존의 기준 발화를 단일 문장으로 나누고 섹션 4.3에 소개 된 슬롯 정렬기를 사용하여 각 문장에 해당하는 슬롯을 식별하여 생성됩니다.
새로운 샘플의 MR은 슬롯의 해당 서브 세트로 작성되며, 문장에 이름이 (레스토랑 / TV 등) 또는이를 지칭하는 대명사 (예 : "it"또는 "its")가 포함 된 경우, 네임 슬롯도 포함되어 있습니다.
마지막으로, 모든 새로운 MR에 새로운 위치 슬롯이 추가되어 그것이 원래의 발언에서 첫 번째 문장인지 또는 후속 문장인지를 나타냅니다.
이 분할 기법의 예는 표 4에 나와 있습니다.
이 프로세스를 통해 훈련 세트의 크기가 거의 두 배가되었습니다.
Since the slot aligner works heuristically, not
all utterances are successfully aligned with the
MR.
그러나 이러한 경우의 대부분은 잘못되었거나 완전히 누락 된 슬롯 언급이있는 데이터 세트의 참조 발언으로 인해 발생합니다.
그것들의 주목할만한 비율이 있으므로, 우리는 그것들을 훈련 세트에 MR에서 제거 된 정렬되지 않은 슬롯으로 남겨두고 그러한 샘플에서 배울 때 모델을 혼동하지 않도록합니다.
5.3 Sentence Planning via Data Selection
The quality of the training data inherently imposes an upper bound on the quality of the predictions of our model.
따라서 보다 정교한 발언을 생성하기 위해 모델을 가져 오기 위해 각 MR에 대해 가장 자연스러운 소리와 구조적으로 복잡한 발언 만 포함하도록 훈련 데이터를 필터링하는 실험을했습니다.
예를 들어, 우리는 간단한 문장 3 개로 구성된 발화가 아닌 MR에 대한 참조로 어소트먼트가있는 우아하고 단일 한 문장을 선호합니다. 두 문장은 "it"으로 시작합니다 (표 5 참고).
6 Evaluation
7 Conclusion and Future Work
이논문에서는 우리는 앙상블 attentional encoder-decoder 모델로 MR로부터 자연스러운 담화를 생성하는 것을 소개했다.
게다가 우리는 MRs을 표현하는 새로운 방법으로 성능을 향상시켰다.
우리의 결과는 제안한 utterance splitting으로 학습 셋에 적용하였고 뉴럴 모델의 성능과 일반화 능력을 매우 올렸다.
slot alignment을 기반으로하고 reranking이 사용된 앙상블 방법은 생성 담화의 퀄리티를 증가시키고 생성 동안 실현되지 않은 slots의 수를 최소화 시켰다.
이것은 또한 delexicalization을 덜 공격적으로 사용하여 생성되는 utterances의 다양성을 자극시켰다.
여기서 모든 문장에 대해 delexicalization을 안하고 일부분만 했다는 그런 의미인거 같음
우리는 slot alignment을 자동적으로 하여서 학습 데이터을 확장시킬뿐만 아니라 담화 reranking을 하였다.
우리의 alignment는 현재 관찰된 휴리스틱한 부분에 의존하고 더 robust aligner은 새로운 도메인에서 조금 더 유연하게 확장가능할 것이다.
stylistic data selection이 주목할 정도로 우리의 시스템의 출력의 다양성을 증가시켰기 때문에 우리는 이 방법이 미래에 더욱 포텐셜있다고 믿고 조금 더 탐구할 의도이다.
마지막으로 현재 NLG에서 automatic evaluation가 시스템의 성능에 대한 모호한 아이디어를 충분하게 준다는 것이다.
우리는 reference 데이터를 활용하여 classifier을 학습시키는 것이 조금 더 결정적인 automatic evaluation metric의 결과를 낼 것이라고 가정한다.
댓글
댓글 쓰기