NL-062, The E2E NLG Challenge: A Tale of Two Systems (2018-INLG)

■ Comment

  • 이 논문에서는 두 개의 방법론을 제시한다. (template, seq2seq)
  • template는 당연히 학습 방법이 아니고 적절한 template을 선택해서 거기에 맞게 slot을 채워서 문장을 생성해내는 룰 베이스 방식이다.
    • 테스트세트 MR에서 적절한 템플릿을 뽑기 위해서 학습+dev 데이터세트에서 그 후보를 만들어 놓는 식이다.
    • 근데 데이터가 MR에 있는 attributes가 꼭 ref 문장에 다 있지 않을 수도 있고 추가적인 attributes가 있나보다.
    • 이런 데이터는 버린다.
  • 성능은 당연히 seq2seq가 더 좋게 나왔고 이마저도 baseline보다 성능은 낮다.
    • 특이한점은 여기서 seq2seq을 할 때, MR에서 attribute values을 그대로 사용하지 않고 placeholder으로 사용하고 나중에 value을 집어 넣는 식으로 사용한다고 한다.
    • 이 placeholder로 대체하는 과정을 delexicalization이라고 하는 것!

0. Abstract

  • 이 논문에서는 e2e dataset을 수행할 두 개의 모델을 소개한다.
    • TemplGen, a templated-based system
    • SeqGen, a neural network-based system
  • SeqGen이 TemplGen 보다 좋음을 보여주고 다른 시스템들에 비해서도 비교할만한 시스템임을 보여준다.

1. Introduction 

  • (1) TemplGen, a template-based system that automatically mined templates and (Smiley et al., 2018)
  • (2) SeqGen, a neural network system based on the encoder-decoder architecture (Davoodi et al., 2018)
  • NLG 챌린지는 meaning representation (MR) 입력을 받고 자연어를 출력으로 한다.
  • 기존에 존재하던 많은 NLG 시스템은 template-base인데, 이것이 생성 문장의 정확도와 문법을 컨트롤하기 쉽기 때문이다.
  • 이 대회에서는 두 가지 접근법을 제시한다. (위에서 말한 것)
  • 또한 seq2seq 뉴럴모델이 template-based 시스템보다 더 좋은 결과를 내는지 확인한다.

2. The E2E NLG Challenge

  • E2E 챌린지는 레스토랑 도메인이고 CrowdFlower을 통하여 크라우드소싱이 되었다.
  • The crowdsourced dataset consists of 50,602 instances derived from 5,751 unique MRs.
  • 이전의 BAGEL (Mairesse et al., 2010) and SF Hotels/Restaurants (Wen et al., 2015)의 데이터세트보다 훨씬 크다.
  • 데이터세트를 만들 때, 작업자는 주어진 MR을 기반으로 자연어를 만들게 된다.
  • 그들은 information를 빠뜨려도 되고 그들이 유용한지 알아낼 필요가 없다.
  • 각 MR은 3~8개의 attributes을 가지고 있다.
    • 1) name, 2) eat type, 3) food, 4) price range, 5) customer rating, 6) area, 7) family friendly, and 8) near
  • 인스턴스의 40%중에서 자연어는 omission 혹은 추가 정보를 포함한다.
  • 이 데이터세트는 76.5/8.5/15 비율로 train, develop, test로 나뉜다.

3. Our Two Participating Systems 

  • 많은 NLG 시스템은 templates을 기반으로 하는데 이는 시스템을 쉽게 컨트롤하여 grammatical and semantic의 정확도를 보장할 수 있기 때문이다.
  • 그러나 사용되는 templates의 다양성이 부족하여 이러한 시스템은 언어가 자연스럽고 지 않고 반복적이게 들릴 수 있다.
  • 다른 타입의 NLG 시스템은 뉴럴 네트워크를 기반으로 한다.
  • 이러한 시스템들은 좋은 결과를 보여주지만, 학습 데이터가 많이 필요하다.
  • 게다가 뉴럴네트워크는 문법적으로 같은 문장들을 반복하여 생성할 수 있다.
  • 즉 생성된 문장이 실제로 맞는다는 보장을 할 수 없다.

3.1 TemplGen : a Template-based System

  • 먼저, attribute name의 MR에 있는 attribute value을 자동적으로 구분지었다. (parsing 했다는 의미인 듯)
  • attribute values들은 대체적으로 일관적이나 추가적인 적용범위를 위해 몇 가지 fuzzy 매칭 룰을 추가하여 Crwon vs Crowne와 같은 variants을 설명한다.
  • 넓은 범위의 포텐셜의 실현이 가능한(e.g., positive: children are welcome, kid friendly, or negative: adult only, not for kids) family friendly을 제외한 모든 attributes에 대해 수행했다.
  • 그래서 우리는 binary로 yes/no 값을 attribte에 사용했다.
  • 각각의 delexicalized 문장에서 우리는 MR에 있는 모든 attributes들이 delexicalization process 동안 캡쳐되었던 것인지 확인한다.
  • MR에 있는 attributes의 수와 성공적으로 delexicalized된 수와 차이가 있다면 그 instance는 버린다.
  • 토탈, 45%의 학습 문장을 러프하게 버린다.
    • 이는 omission 혹은 additions을 포함하는 데이터안의 인스턴스의 40%보다 약간 많다.
  • We then use the delexicalized templates to create a dictionary look-up of the MRs. 
  • 템플릿이 있고, 우리는 다양한 문장과 문장 바운더리에 따라 나뉜 템플릿을 식별한다.
  • 독자적인 문장은 템플릿에서 reverse 엔지니어링된 partial 템플릿을 저장한다.
  • Table 1은 기존 템플릿을 설명하고 이는 2개의 문장을 포함하고 여기서 각 하나의 문장에 맞는 partial 템플릿을 추출한다.
  • 이러한 프로세스를 통해서 우리는 8개의 attributes을 각각 포함하고 2~8개의 조합으로 이루어진 템플릿을 수집한다.
  • 각 attribute에 맞는 독단적인 템플릿을 추출함으로써 우리는 어떠한 attribute의 조합도 커버할 수 있다고 개런티한다.
    • 하지만 생성하는 8개의 분리된 문장이 자연스럽진 않을 수는 있다.
  • 테스트할 때는, 보지 못한 attributes으로 구성된 MR이 주어진다.
  • 우리는 MR의 attributes을 다뤄서 안맞는 템플릿을 선택하는 알고리즘을 사용하여 템플릿에 filling을 하는 식으로 한다.
  • 즉 학습 데이터를 사용하여 여러 상황에 대한 템플릿 셋을 구축해놓고 테스트할 때는 샘플에 대해 이 셋에서 가장 적절한 것들을 선택하여 filling하는 식의 방법인 듯
  • 후보 세트의 템플릿들은 현재 MR로 재구성된다.
  • VADER의 NLTK1을 이용한 기본적인 sentiment 분석을 통하여 후보들을 필터링한다.
    • sentiment가 일치하지 않으면 삭제한다. (e.g., great restaurant described as having low rating). 
  • 이것을 결정하기 위해, positive, negative 양쪽에 중립적이지 않는 스코어를 가지는 문장들이 있지만, reversal을 가리키는 단어가 없는 것을 찾는다. (무슨말이지?)
  • 최종 출력은 후보자 탬플릿에서 랜덤으로 선택된다.

3.2 The sequence-to-sequence system

  • 이 논문의 시스템은 3가지 구성 요소가 있다.
    • Delexicalization
    • Seq-toSeq model
    • Relexicalization
  • Delexicalization
    • NLG에서 하나의 챌린지는 semantically, grammatically하게 정확한 text을 생성하는 것이다.
    • 이런 조건을 만족하는 seq2seq 모델을 위해서는 병렬 코퍼스가 많이 필요하다.
    • 하지만. E2E 데이터의 속성들 사이에서 많은 non-categorical attributes들이 sparse하기 때문에 학습 과정을 어렵게 한다.
    • 따라서 MR을 기반으로 정확한 문장을 생성하기 위해서 we delexicalized the values of some of the attributes to avoid data sparsity (Mairesse et al., 2010; Wen et al., 2015).
    • delexicalization 과정은 attributes의 값을 placeholders으로 바꾼다.
    • E2E attributes 사이에서 우리는 attributes의 값을 delexicalize 하여서 values의 open set의 value form으로 바꾼다.
    • These include name, price range, customer rating and near. 
    • 대체할 때 MR 부분과 대응되는 자연어 문장모두 delexicalize한 것이다.
    • price range와 customer rating에 해당하는 delexicalizing 은 다른 것보다 좀 더 여운 부분이다.
      • 왜냐하면 이 두 속성들은 MR과 자연어 문장에서 좀 더 많은 value variation을 가지기 때문이다.
    • 그래서 학습 task는 MR template와 NL template 사이를 학습하는 것이다.
    • delexicalized MR은 seq2seq 모델의 입력으로 사용되고 delexicalized 자연어가 모델의 타겟 출력이 된다.
  • Seq-to-Seq Model
    • NMT에서 많이 사용되는 모델이고 입력 문장은 먼저 encoder을 통과하고 그 뒤에 decoder을 통하여 생성이 되는 모델이다.
    • 이 챌린지에서는, 번역 문제를 고려하여 SoTA NMT 모델을 사용한다.
  • Relexicalization
    • 마지막 스텝에서는 자동적으로 placeholders가 delexicalized 문장에서 생성이 된다.
    • placeholders은 actual values으로 바뀌어야 한다.
    • 그래서 development set의 학습에서는 attributes의 values을 유지하고 이 값을 기존 문장에서 이 값들로 placeholder을 relexicalized (재구성) 하였다.
    • test sets에서의 MR과 일치하는 경우가 없을 때 기존 MR에서 나타난 placeholders의 value을 사용하였다.
    • 이것은 아마도 퀄리티와 자연성에서 부정적인 영향을 미쳤을 것이다.

4 Results and Discussion

4.1 Results

  • E2E의 평가는 automatic metrics와 human scoring을 통하여 수행된다.
  • 이것들 결과는 table 4에 있고 section 4.2, 4.3에서 automatic, huam 점수 매기는 법에 대해 설명한다.

4.2 Automatic Scoring

  • Table 4는 베이스라인 시스템과 비교하여 우리의 시스템을 보여주는 결과이다.
  • 시스템은 BLEU, NIST, METEOR, ROUGE_L, CIDer로 평가가 된다.
  • 첫 번째 칼럼은 베이스라인 시스템이고 attention과 함께 seq2seq model이다.
  • 다른 두 개의 칼럼은 우리의 시스템의 automatic scores으로 TemplGen은 training과 development을 기반으로 구성되어있고 SeqGen은 seq2seq with beam search (size: 5 ) decoder이다.
  • 우리는 다양한 beam size을 가지는 beam search decoder을 시도했고 size가 5인 decoder가 가장 좋은 결과를 보여줌을 발견했다.
  • automatic metrics 중에서 우리의 시스템들은 어떤 것도 베이스라인보다 좋지는 않다.
  • 하지만 SeqGen 시스템은 TemplGen보다 성능이 좋으며, 베이스라인 시스템과 비슷한 성능을 보여준다.

4.3 Human Evaluation

  • 5명의 사람이 생성 문장에 대해 평가를 한다.
  • quality and naturalness에 대해 생성 순위를 매긴다.
  • 그들은 grammatical correctness, fluency, adequacy 등을 기반으로 랭크를 매긴다.
  • Raters were not given the MR for the naturalness evaluation. 
  • Thus, this metric does not take into account faithfulness to the MR. 
  • For quality, TemplGen out scored SeqGen ranking 3rd and 4th, respectively, out of 5 clusters of systems. 
  • The results are reversed for naturalness, with SeqGen performing better than TemplGen ranking 3rd and 5th, respectively, out of 5 clusters. 
  • Systems within each cluster are considered statistically indistinguishable.

4.4 Discussion

  • 여기서는 문법과 같은 faithfulness 의 metric이 평가하는데 가장 중요한다고 한다.
  • Because a variety of features are encompassed within the metric of quality (e.g., fluency and adequacy), it is difficult to determine where our algorithm succeeds and fails. 
  • 그래서 이를 결정하기 위해 이 논문에서 제공한 두 가지 모델의 25 문장들을 뽑아서 살펴본다.
  • 또한 SeqGen은 end-to-end 방법이고 한계가 없다.
  • 첫 번쨰로 우리는 decoder을 컨트롤 하지 않고 MR에서 나타내는 모든 속성을 생성할 수 있다.
  • 그래서 모델은 all the attributes or generating extra attributes에 고통받을 필요가 없다.
  • In both cases, the relexicalization component either cannot relexicalize all the placeholders or there are extra placeholders that cannot be relexicalized. 
  • Table 5의 첫 번째 행은 SeqGen의 예시이며 MR에 있는 모든 attributes에 일치하는 문장을 생성하지 않는다.
  • SeqGen 모델에서 생성되는 문장의 다른 이슈는 문법적인 정확도의 퀄리티와 관련되어 있다.
  • 이 이슈는 delexicalization 때문이다.
  • Table 5의 2번째 행은 문법적으로 틀리다.
  • In this example, the issue is caused by less than £20ly priced. 
  • TemplGen에서는 전체적으로 automatic metrics에서 좋은 성능을 내지 못한다.
  • 이것은 TemplGen이 특별히 이러한 automatic metrics을 위해 최적화 하지 않았기 때문이다.
  • 반면에, TemplGen 모델로 생성된 모든 문장 분석은 다음을 보여준다.
    • 생성 문장이 MR의 모든 속성을 포함하고 하나는 추가 정보를 포함한다는 것을 보여줍니다.
  • 그러나 우리는 fluency와 같은 몇 가지 이슈가 퀄리티 점수를 낮춘다는 것을 발견했다.
  • 생성의 suboptimal은 아마 fluent가 낮다.
    • 왜냐하면 MR을 만족하는 attributes의 일부분을 랜덤으로 선택하는 전략이기 때문에 다양한 문장으로 구성되어 있다.
    • 즉 TemplGen에서 적절한 후보가 너무 많다보니 랜덤으로 선택하면 성능이 안좋아질 수 밖에 없다.
  • 더 많은 attributes을 포함하는 파티션의 우선 순위를 지정하는 것은 간단한 해결책일 수 있다.
  • 최종적으로 다른 생성은 disfluent처럼 보인다.
    • 왜냐하면 template의 부분 선택 처럼 단어 선택 이슈가 있기 때문이다.
    • table 5의 마지막 행이 이 묹제라고 함.
  • future work에서는 decoder가 반복적인 tokens을 (placeholders을 포함한) 생성하지 못하도록 제한을 걸 것이다.
  • We also plan to use the released data set for generating semantically similar sentences for the meaning representations

5 Conclusions

  • In this paper, we described our two systems for the 2017 E2E challenge: a rule-based system and a sequence-to-sequence neural network system
  • 룰 베이스 시스템은 automatic 점수에서 높지는 않지만, MR에 충실한 문장을 생성해낸다.
  • 반면에 seq2seq은 다른 시스템들과 비교할만한 성능을 낸다.

Reference

댓글