Text generation은 NLP 분야에서 다양하게 사용되고 있다.
그 예시로는
1) Machine Translation
2) Open-Ended Generation
3) Summarization
4) Dialogue System
5) Q&A
그 중
Document Summarization 에는 두 종류로 나눠서 볼 수 있다.
1) Extractive Summarization
추출적 요약은 주어진 원문 내에서 단어들을 뽑아 문장을 구성해 요약하는 방법이다.
중요한 단어들을 뽑을 수 있지만 자연스러운 연결이 힘들 때도 있다.
2) Abstractive Summarization
추상적 요약은 주어진 원문을 기반으로 요약한 새로운 문장을 생성하는 방법이다.
요즘엔 Extractive Summarization이 더 각광받는 추세라고 한다.
Generation model 중 가장 유명한 것은 저번에 배웠던 seq2seq model이다.
이 과정에서 새로 등장하는 개념으로 Teacher Forcing이 있는데
Teacher Forcing은 t 시점의 출력이 t+1 시점의 입력으로 사용되는 훈련 기법이다.
주어진 sequence를 전체적으로 배울 수 있도록 하는 것이 핵심이고
좀 더 빠르고 안정적이며 학습에 효율적이다.
하지만 학습단계와 테스트 단계의 차이 때문에 (테스트 단계에서는 teacher forcing으로 교정이 불가)
잘못 된 예측을 통해 뒤 sequence까지 잘못된 추론에 영향을 주는 exposure bias 문제가 발생할 수 있다.
이제 인코더로부터 결과값을 받아 처리하는
Decoding Strategy엔
Likelihood base decoding과 Sampling-based Decoding이 있다.
먼저 Likelihood base Decoding에는
1) Greedy decoding
Fully connected Layer를 통과한 결과에 Softmax를 취한 가장 높은 확률값을 선택하는 방법
2) Beam search
하나가 아닌 k 개의 beam size 만큼의 가능성을 두어 다양성을 주고
후에 가장 합리적인 sequence를 판단하는 방법
Beam search의 장
점은 high recall value를 가질 수 있다는 점이지만
단점은 연산량이 늘어나면 생성 속도가 줄어들고 문장이 길어져 Underflow해질 가능성이 있다.
또한 이런 LIikelihood base Decoding 방법은
지루하다는, 결과값이 예측 가능하고 뻔함하여 다양한 변수를 생성할 수 없다는 단점이 있다.
그래서 이에 대한 솔루션으로 Sampling-based decoding strategy가 있는데 이는
Randomness를 추가하여 너무 generic하지 않게끔 해준다.
1) Pure sampling
해당 시점에 확률분포로부터 랜덤하게 sampling 방법
2) Top-k sampling
해당 시점에 가장 확률값이 높은 Top -k개 안에서만 추출하는 방법
3) Top-p sampling (nucleus sampling)
확률값 p를 임의로 정한 후 높은 순서대로 확률값이 p가 될 경우 까지만 k개를 추출하는 방법
Text generation 평가 지표에서는
Word-level similarity의
BLEU, ROUGE, METEOR
Embedding Similarity의
BERTScore, Word Average 등이 존재하며
마지막으로
수없이 들어온 PPL(Perplexity)가 있다.
평가지표에 대해서는 차후에 더 설명할 예정이다.
오늘은 여기서 꿑
'자연어처리 > 개념 정리' 카테고리의 다른 글
NLP 평가지표(PPL, BLEU) 간단 개념 정리 (0) | 2022.11.19 |
---|---|
Levenshtein distance (편집거리) 간단 개념 정리 (0) | 2022.10.12 |
NLP Roadmap 및 평가지표 간단 개념 정리 (0) | 2022.09.20 |
GPTs 간단 개념 정리 (0) | 2022.09.19 |
Transformer 간단 개념 정리 (0) | 2022.09.14 |
댓글