AI

[텍스트 생성 요약] Pointer Generator 모델에 대해 알아보기

Bingli 2023. 4. 25. 23:27

Pointer Generator

  • Get To The Point: Summarization with Pointer-Generator Networks(2017, ACL, Google)
  • Seq2seq RNN 기반 모델의 발전된 형태
    • Hybrid pointer-generator network: Pointing 메커니즘을 통해 새로운 단어를 생성
    • Coverage : 요약문을 생성하는 시점을 기준으로 포함된 정보에 대해서는 그 다음 단계에서 token의 생성 확률을 낮춤에 따라 새로운 token을 포함하게 함

  • Seq2seq RNN
    • Encoder, Decoder, attention distribution와 context vector, vocabulary distrubution으로 구성
      1. RNN Encoder : source의 단어를 input으로 받음
      2. RNN Decoder : target에 들어갈 단어를 순서대로 생성
      3. Attention : Decoder에서 단어를 생성할 때마다 source에 등장한 모든 단어와의 관계를 고려하여 더 연관된 단어를 선택하도록 함
    • Attention distribution와 Encoder의 hidden state를 가중합하여 현재 시점에서 source로부터 어떤 token을 받았는지에 대한 vector인 context vector 생성
    • Context vector와 Decoder의 hidden state와 합쳐 classification 수행
    • Prediction 시 vocabulary distribution에서 가장 등장 확률이 높은 단어 선택
    • Corpus에 등장하지 않는 단어를 사용했을 때 out-of-vocabulary 문제 발생
  • Pointer-generator network
    • Seq2seq RNN 모델의 OOV 문제를 해결하고자 attention distribution을 prediction 단계에서도 사용 (copy distribution)
    • 즉 단어를 예측할 때 source 단어를 참조할 확률을 사용함으로써 OOV의 문제가 있을 경우 source에서 단어를 가져오게 됨

  • Coverage mechanism
    • Seq2seq RNN에서 흔히 겪는 문제점 중 하나인 중요한 단어를 반복하는 현상을 해결
    • 요약문 생성 시점 이전까지의 attention distribution을 누적한 coverage vector를 정의
    • 기존의 attention mechanism에 coverage vector를 추가한 다음, penalty를 반영하는 loss 함수 정의
  • 성능 : pointer generator network + coverage mechanism > pointer generator network > seq2seq + attention baseline
  • Abstractive model의 성능 증가폭이 extractive model의 성능 증가폭보다 컸음
  • Pointer-generator + coverage이 reference에서 가져온 단어의 비율이 적고 실제 label과 비슷

Pointer Generator

  • Get To The Point: Summarization with Pointer-Generator Networks(2017, ACL, Google)
  • Seq2seq RNN 기반 모델의 발전된 형태
    • Hybrid pointer-generator network: Pointing 메커니즘을 통해 새로운 단어를 생성
    • Coverage : 요약문을 생성하는 시점을 기준으로 포함된 정보에 대해서는 그 다음 단계에서 token의 생성 확률을 낮춤에 따라 새로운 token을 포함하게 함
  • Seq2seq RNN
    • Encoder, Decoder, attention distribution와 context vector, vocabulary distrubution으로 구성
      1. RNN Encoder : source의 단어를 input으로 받음
      2. RNN Decoder : target에 들어갈 단어를 순서대로 생성
      3. Attention : Decoder에서 단어를 생성할 때마다 source에 등장한 모든 단어와의 관계를 고려하여 더 연관된 단어를 선택하도록 함
    • Attention distribution와 Encoder의 hidden state를 가중합하여 현재 시점에서 source로부터 어떤 token을 받았는지에 대한 vector인 context vector 생성
    • Context vector와 Decoder의 hidden state와 합쳐 classification 수행
    • Prediction 시 vocabulary distribution에서 가장 등장 확률이 높은 단어 선택
    • Corpus에 등장하지 않는 단어를 사용했을 때 out-of-vocabulary 문제 발생
  • Pointer-generator network
    • Seq2seq RNN 모델의 OOV 문제를 해결하고자 attention distribution을 prediction 단계에서도 사용 (copy distribution)
    • 즉 단어를 예측할 때 source 단어를 참조할 확률을 사용함으로써 OOV의 문제가 있을 경우 source에서 단어를 가져오게 됨
  • Coverage mechanism
    • Seq2seq RNN에서 흔히 겪는 문제점 중 하나인 중요한 단어를 반복하는 현상을 해결
    • 요약문 생성 시점 이전까지의 attention distribution을 누적한 coverage vector를 정의
    • 기존의 attention mechanism에 coverage vector를 추가한 다음, penalty를 반영하는 loss 함수 정의
  • 성능 : pointer generator network + coverage mechanism > pointer generator network > seq2seq + attention baseline
  • Abstractive model의 성능 증가폭이 extractive model의 성능 증가폭보다 컸음

  • Pointer-generator + coverage이 reference에서 가져온 단어의 비율이 적고 실제 label과 비슷