본문 바로가기

NLP/도서

[Chapter4] N-gram 평가 방법

평가 방식

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