다시 이음

MATCHSUM 구현하기 - 논문 정리(1) 본문

AI 일별 공부 정리

MATCHSUM 구현하기 - 논문 정리(1)

Taeho(Damon) 2022. 10. 31. 21:30

안녕하세요.

 

올초 1월에 기업 과제 프로젝트로 진행하였던 문서 요약 프로젝트에서 완성하지 못했던 matchsum 모델을 다시 구현해보기 위한 여정을 해보려고 합니다.

 

기존 프로젝트는 라벨링이 되어 있지 않아 TEXTRANK 모델로 라벨링을 하고 koBERTSum 모델 - MatchSum 모델을 모두 거쳐 보다 사람이 읽었을 때 자연스러운 요약문을 추출하는 방식이었습니다.

 

이전에는 koBERTSum까지는 완성했었으나 MatchSum의 경우 한국어 모델에 대한 정보가 없어서 영어 모델을 한국어 모델로 변환하는 무리한 과정을 거쳤었는데 그 뒤 계속 고쳐보려고 했으나 Cuda error가 발생하는 것이 아무래도 변환 부분에서 문제가 있었다고 판단하여 이번에는 직접 논문을 상세하게 파악해보고 구현해보는 프로젝트를 하려고 합니다.

 

MatchSum 구현에 초점에 맞춰져 있다보니 이전 프로젝트와 연결시키지는 않을 것이며 해당 모델만 구현하는 방향으로 진행할 것입니다.

 


 

논문 정리

논문 링크 : https://arxiv.org/abs/2004.08795

Extractive Summarization as Text Matching

 

이 논문은 추출적 요약을 의미론적, 문법적으로 정확한 문장과 더 빠른 계산을 만들기 위해 포커스를 맞추고 있습니다.

 

현재의 대부분 추출적 요약 신경망 모델에서는 원문에서 문장을 하나씩 추출하여 관계를 모델링합니다.

이 중에서 몇가지 문장을 골라 요약을 생성합니다.

 

본 논문에 인용된 2개의 논문은 연속적인 라벨링 문제를 공식화하였고 인코더-디코더 구성의 프레임워크를 사용하여 해결합니다. 이들의 모델들은 독립적인 binary decision(이진분류)를 각각의 높은 중복성을 보이는 sentence마다 생성합니다. 

위의 문제(중복)를 해결하는 자연스러운 방법은 다른 문장에 영향을 미치는 score 작업을 허가하는 auto-regressive decorder를 도입하는 것입니다.

 

최근에 더 자주 사용되는 방법인 Trigram Blocking은 위 방법과 같은 동기를 가지고 있습니다.

요약문에 사용될 sentence를 선택하는 부분에서 trigram이 이전 문장들과 겹치는 부분이 있으면 스킵합니다.

Trigram(3-gram) Blocking

Summarization Task 에서 요약문에 반복적인 단어가 연속해서 등장하는 문제( ex: I like like like like you) 가 있어 Beam Search 과정에서 같은 Trigram이 두번 이상 나오면 Beam 에 들지 못하게 scoring해주는 방법

 

위에 설명된 방법론은 sentence level에서의 추출 모델로 요약문의 전체적인 의미보다 문장간 관계에 집중하고 있습니다.

이 방법들은 여러 문장의 결합을 무시하면서 고도로 일반화된 문장을 선택하는 경향을 띕니다.

 

강화학습을 통해 summary level에서의 요약 모델을 구성하려고 했지만 아직 문제가 많다고 합니다.

 

sentence level과 summary level에 대해서 이점과 한계를 좀더 잘 이해하기 위해 본 논문은 6개의 벤치마크(데이터셋)을 활용하여 두 방법에 대한 특이점을 확인하고자 하였고 확연한 차이점을 찾았습니다.

 

본 논문에서는 MatchSum이라고 하는 summary level의 추출 요약 프레임워크를 제안하며 이 모델은 의미론적 텍스트 일치 문제를개념화 합니다.

핵심 아이디어는 좋은 요약문은 좋지 않은 요약문보다 의미론적으로 원본 문서 전체에 더 유사하다라는 것입니다.

 

Sementic text matching은 informations retrieval(정보검색), question answering(QA), NLI(natural language inference) 등의 분야에서도 적용되는 source와 target 텍스트 파편 사이의 의미론적 유사도를 측정할 중요한 연구 안건 입니다.

 

Sementic text matching의 대중적이고 전통적인 접근 방식은 각각의 텍스트 파편의 vector representation을 학습하는 것과 적절한 유사도 metrics를 적용하여 일치 score를 연산하는 것입니다.

 

추출 요약을 위해서 우리는 Source document(원본)와 candidate summary(후보 요약)사이의 유사도를 연산하는 Siamese-BERT(샴 버트) 구조를 제안합니다.

Siamese-BERT의 이점은 샴 네트워크 구조안에 사전학습된 BERT안에 있습니다. BERT를 사용하여 의미론적으로 더 의미있고 코사인 유사도를 사용하여 비교할 수 있는 텍스트 임베딩을 도출할 수 있기 때문입니다. 좋은 요약문은 후보 요약 세트 중에 높은 유사도를 가집니다.

 

우리는 제안한 매칭 프레임워크를 여러 벤치마크 데이터셋을 활용하여 유의성 테스트를 진행했습니다.

우리 모델은 모든 경우에 상당히 성능이 증가한 모습을 보여줬으며 CNN/DailyMail 데이터셋을 활용한 테스트에서 SOTA를 달성했습니다.

 

서론 정리

1) 이전의 sentence level에서의 추출 요약의 문제점을 대신하기 위해 우리는 summary level의 방법을 제안하고 우리의 방법은 좋은 요약문은 안좋은 요약문보다 의미적으로 더 유사하여야 한다는 가정으로 대조학습을 통해 summary level의 최적화의 어려움을 우회합니다.

2) 우리는 추출 모델이 데이터셋의 속성을 기반으로 summary level의 추출을 수행하는 것이 좋은지 확인하기 위해 sentence level, summary level 방법들 사이에서 차이를 정령화 하여 분석합니다.

3) 우리가 제안한 프레임워크는 6개의 벤치마크 데이터셋에서 상당히 좋은 결과를 이룩하였고 그중 CNN/DailyMail 데이터셋에서는 SOTA를 달성하였습니다.