Deep Learning/Natural Language Processing

[NLP] Pointwise Mutual Information (PMI)

언킴 2023. 4. 3. 11:50
반응형

 

 

전통적인 자연어처리 방식에서는 동시발생 행렬(Co-occurrence Matrix), 즉, 각 단어가 동시에 출현한 빈도를 측정한 행렬을 사용하였다. 그러나, 발생 횟수를 기반으로 하기 때문에 많이 출현하는 The, A, An 등과 같은 단어로 인해 해당 단어와의 유사도가 높게 측정될 수 있다. 이와 같은 문제를 해결하고자 점별 상호정보량(Pointwise Mutual Information, PMI)이라는 척도가 도입된다.

PMI(x,y)=log2P(x,y)P(x)P(y)

P(x)는 x가 발생할 확률, P(y)는 y가 발생할 확률, P(x,y)=P(xy)는 x와 y가 동시에 발생할 확률을 의미한다. 이때 PMI 값이 높으면 높을수록 관련성이 높다는 것을 의미한다. P(x)의 확률이 높다는 것은 많이 등장한다는 것을 의미하고, 많이 등장하는 경우 P(x)가 커지고, 이는 분모에 위치해 있기 때문에 PMI 값이 낮아진다. 

 

그러나 PMI의 분자가 0이 되어 버리면 log20=inf가 되어 버린다. 이와 같은 경우 계산이 불가한 문제를 해결하고자 Positive PMI (PPMI) 방식을 주로 사용한다.

PPMI(x,y)=max(0,PMI(x,y))

0보다 작은 값, 즉, inf 값을 가지게 되면 0이 반환되고, P(x,y)가 0보다 큰 값을 가지게 되면 PMI 값을 반환하는 것이다. 

'Deep Learning > Natural Language Processing' 카테고리의 다른 글

[NLP] BERT의 종류  (2) 2022.08.15
Sequence-to-Sequence (Seq2Seq)  (0) 2022.05.12
[NLP] Stemming and Lemmatization  (0) 2022.01.18
[NLP] Tokenization  (0) 2022.01.18
[NLP] Transformer  (0) 2021.10.21