평가 방식
1. Extrinsic Evaluation (in vivo) 방식
end-to-end 방식으로 적용하려는 어플리케이션에서 각 모델을 수행함으로 성능 비교를 한다. 높은 정확도를 얻을 수 있지만 시간 비용이 높을 수 있다.
2. Intrinsic Evaluation 방식
어플리케이션에 독립적으로 모델의 성능을 평가할 수 있는 방식이다. 일반적으로 Extrinsic Evaluation 평가보다 속도가 빠르다. 일반적으로 많이 쓰이는 방식은 Perplexity 값을 구해 모델의 성능을 비교하는 것이다.
Perplexity ?
Perplexity는 언어 모델과 Test-Set을 통해 확률을 구해 단어 개수로 정규화한 값이다. Perplexity는 두 확률 모델이 주어졌을 때, Test-Data에서 예측을 잘하는 모델을 더 성능이 좋은 모델로 평가한다. 언어모델과 테스트 집합을 통해 구한 확률을 정규화한 값이다. Test-Set이 [ W = $w_{1}w_{2}...w_{N}$ ]일 때 Perplexity 값을 구하는 확률 함수는 아래와 같다.
- Perplexity 확률 함수 [ Text Set ]
PP(W) = $P(w_{1}w_{2}...w_{N})^{-\frac{1}{N}} = \sqrt[N]{\frac{1}{P(w_{1}w_{2}...w_{N})}}$
- Perplexity 확률 함수 With Chain Rule
PP(W) = $\sqrt[N]{\prod_{i=1}^{N}\frac{1}{P(w_{i}|w_{1}...w_{i-1})}}$
확률 함수를 보면 Perplexity는 단어 조건부 확률의 역 값을 사용한다는 것을 알 수 있다. 이것은 Perplexity와 단어 조건부 확률의 크기의 반비례를 나타낸다. Test-Set의 전체 단어의 sequence를 사용하기 때문에 문장의 경계를 나타낼 수 있는 시작과 끝을 나타내는 기호 <s>, </s>를 포함하여 Perplexity를 계산할 필요가 있다.
N-gram 모델의 Perplexity의 경우 사전 지식 없이 구축해야 한다. 사전 지식을 통해 인위적으로 Perplexity 값을 낮추는 일이 발생할 수 있기 때문이다. 사전 지식을 사용하려면 비교하고자 하는 모델 모두에 적용할 필요가 있다.
TODO 검색 및 공부
1. brancing factor란?
2. 일정한 brancing factor를 가질 경우 Perplexity와 Weighted average brancing factor를 더 낮출 수 있는 방법?
'NLP > 도서' 카테고리의 다른 글
[Chapter 6] Hidden Markov Model (0) | 2022.08.14 |
---|---|
[Chapter 6] Markov Chains (0) | 2022.08.07 |
[Chapter 5] Part Of Speech Tagging (2) (0) | 2022.07.17 |
[Chapter 5] Part Of Speech Tagging (1) (0) | 2022.06.11 |
[Chapter 4 ] N-gram 공부 정리 (0) | 2022.05.15 |