NLG
언어를 생성한다 : 주어진 정보를 기반으로 정보 축약, 보강, 재구성
축약 ( Abbreviation ) : 핵심만
보강, 확장 ( Expansion ): 부족한 정보 추가
재구성 ( Rewrite ) : 기존 정보의 형태를 변형, 추론을 통해 변형
Text Abbreviation ( 축약 )
- Text Summarization ( 요약 )
- text가 주어졌을 때 주요 정보를 포함하는 요약문을 generate하는 task
- 종류
- Single-document summarization : 한 document를 요약
- Multi-document summarization : 여러 document의 정보를 통합해 하나로 요약
- 방식 ( How to generate summary )
- Extractive : 주어진 문장을 추출하여 요약 생성. 주로 pre-neural 시대에 사용. Restrictive ( no paraphrasing ). Easier
- Abstractive : 새로운 요약 문장 생성. More Flexivle ( 사람과 비슷하게 ). More difficult
- Application : 뉴스 요약
- Question generation : 문서에 대한 질문을 생성 ( SQaRD처럼 )
- Application : online 학습 도구, 데이터 증강
- Distractor generation : QA에서 객관식 문제, 오지선다에서 오답을 생성, 데이터 증강
Text Expansion
- 부족한 정보 추가
- Short text expansion
- Storytelling
- 종류
- 주어진 image로 story 생성
- keywords나 짧은 paragraph로 story 생성 ( Topic to essay generation )
- 주어진 이전 story로 다음 story 생성 ( Continuation )
- 문제점 : story보다는 단순한 묘사가 대부분 ( 의미없음, 줄거리 없음, 일관성 없음 )
- Appication : "가족", "장난감", "크리스마스" -> 케빈은 크리스마스에 혼자 집에서.. story 생성
Text Rewrite
기존 문서 형태 변형, 추론을 통해 정답 생성
- Style Transfer
- 긍정 <-> 부정
- Application : 데이터 증강, 말투 변화, 사투리
- Dialogue Generation
- 페르소나를 갖는 참여자의 대화를 생성
- 발전
- 이전 ( Pre-neural 시대 ) : 미리 정의된 응답 template를 사용하거나 적절한 반응들을 retrieve(검색)하여 추출 후 사용
- seq2seq + attention 기반 모델들을 사용하는 시스템이 연구, open-ended한 반응을 generate
- 종류
- Task-oriented dialogue system
- Assistive : 고객 service, 추천, QA
- Co-operative : 2 agents가 함께 dialogue를 통해서 task 해결 ( ex. Negotiation dialog, Conversational question answering(CoQA) )
- Adversarial : 2 agents가 dialogue를 통해 task 경쟁
- Open-domain dialogue system
( = Social dialogue system = Open-ended dialogue system )
- task 기반 대화 시스템보다 더 일반적인 많은 topic을 다룸
- Application : Chit-chat ( various topic ), Human mental care
- 문제점 ( Deficiency )
- 포괄적이거나 따분한 응답 ( Generic or boring responses )
- 해결 방법 : Test-time fixes, Conditioning fixes
- 상관없는 응답 ( Irrelevant responses )
- 반복 ( Repetition )
- 구성된 페르소나의 결함 ( Lack of consisten persona )
- 문맥의 결함 ( Lack of context ) : 대화문 기록을 기억하지 못함
- Application : 챗봇
Models
NLG SOTA 모델을 구성하는 주요 아키텍처
- Encoder decoder
- Copy and poiinting
- GAN ( Generative Adversarial Network )
- Memory network
- GNN ( Graph Neural Network )
- External Knowledge
benchmark
2021년 NLG benchmark가 생기긴 했지만 다양하지 않다.
GEM
참조
Dialogue Generation, Summarization, Storytelling