우연과 필연은 어떻게 구분할 수 있을까? 필연을 숫자로 계산할 수 있을까? 여기에 도움을 줄 수 있는 식이 PMI (Pointwise Mutual Information)이다.
PMI는 “새빨간 거짓말”, “김칫국 마시다”와 같은 연어(collocation)를 찾는 데 많이 활용된다. PMI 값이 클수록 두 단어가 함께 등장할 확률이 높은 것이고, 작을수록 두 단어가 함께 등장할 확률이 낮은 것이다.
예를 들어, “새빨간 거짓말”은 많이 사용되는 구이므로, 아무런 정보 없이 “거짓말”이라는 단어가 등장할 확률보다, 단어 “새빨간”이 앞에 쓰였다는 정보가 있을 때 그 뒤에 “거짓말”이라는 단어가 등장할 확률이 더 높다고 판단할 수 있다. 반면, 단어 “새파란”이 앞에 쓰였다는 정보가 있다고 해서 그 뒤에 “거짓말”이 등장할 확률이 높아진다고 보긴 어렵다. “새파란 거짓말”이라는 말은 거의 사용되지 않기 때문이다. 이때 단어 “새파란”이 등장할 사건과 단어 “거짓말”이 등장할 사건은 독립이라고 볼 수 있다.
아래 수식에서 x를 단어 “거짓말”이 등장할 사건, y를 “새파란”이 등장할 사건이라고 하자. 단어 “거짓말”이 등장할 확률은 단어 “새파란”이 등장하든 말든 똑같으므로 두 사건은 독립이다. 그런데 조건부 확률은 두 번째 수식처럼 풀어쓸 수 있고, 두 번째 수식의 양변에 P(y)를 곱해 정리하면 세 번째 수식이 된다. 따라서 두 사건이 독립이라면, 두 사건이 함께 일어날 확률은 각 사건이 일어날 확률의 곱으로 나타낼 수 있다.
PMI를 계산하는 수식은 다음과 같다. 두 단어가 등장할 사건이 독립이면, 분모와 분자의 값이 같아 분수 부분이 1이 되고, 로그를 씌우면 전체 PMI 값은 0이 된다. 각 단어가 등장할 확률의 곱보다 두 단어가 함께 등장할 확률이 더 높다면, PMI 값도 0보다 커질 것이다. 정리하자면 PMI는 두 사건이 독립일 때보다, 즉 우연히 같이 등장하는 것보다 더 자주 같이 등장하면 값이 커진다. 두 단어가 함께 등장할 확률이 아무리 높아도, 각 단어가 따로 등장할 확률이 더 높다면 PMI는 작아진다.
PMI는 언어 데이터에만 적용할 수 있는 건 아니다. 어떠한 동시 출현(co-occurrence)이 우연에 의한 것인지, 필연적인지 판단하는 데 도움을 준다. 예를 들어, ‘파리바게뜨’는 횡단보도 앞에 있는 경우가 많고, ‘올리브영’은 ‘스타벅스’ 옆에 있는 경우가 많다고 한다. 이 현상이 우연인지 필연인지 판단하기 위해 PMI를 활용할 수 있다. 전국에 ‘파리바게뜨’ 지점도 많고 횡단보도는 더 많기 때문에, 우연히 횡단보도 앞에 있는 ‘파리바게뜨’를 많이 본 것이라면 PMI는 0에 가까운 작은 값이 나올 것이다. 하지만 브랜드의 전략에 따른 필연적 결과라면 PMI 값이 크게 나올 것이다.
노력으로 얻은 결과를 우연으로, 요행으로 얻은 결과를 필연으로 착각하기 전에, PMI를 계산해 보자. 필연은 필연으로, 우연은 우연으로 받아들일 수 있을 것이다.
Thumbnail Image by Vardan Papikyan on Unsplash