PMI 행렬을 만드는 기법을 하나 소개하겠다.
기존의 단어-단어 행렬 등을 A라 하자
PMI행렬을 만들겠다는 것은
행에 해당하는 단어, 열에 해당하는 단어가 교차하는 부분의 원소자리에
그 두 단어간의 PMI값들로 채워넣고 싶은 것이다.
우리는 행에 해당하는 단어들에 대해 각각 전체 말뭉치에서 그 단어들이 등장할 확률을 미리 계산하여 (벡터)행렬로 나타낼 수 있다.(열에 해당하는 단어도 마찬가지)
단어 두개의 동시등장 '확률' 행렬은 기본 동시등장행렬에 말뭉치 개수(=중복을 허용한 전체 단어 등장수)로 나누어 주기만 하면 된다.
PMI행렬은
에 로그를 취한 값으로 나타낼 수 있고,
행에 해당하는 단어들의 등장 확률 행렬과 열에 해당하는 단어들의 등장 확률 행렬을
대각행렬로 변환한다음
여기서 행렬간의 나눗셈을 곱셈으로 변환하여 계산하면
PMI행렬이 완성된다.
'Tensorflow 2 NLP(자연어처리) > 단어 임베딩' 카테고리의 다른 글
[3-9] 단어 임베딩 평가 방법 (0) | 2021.11.13 |
---|---|
[3-8] Swivel이란? (0) | 2021.11.13 |
[3-6] Glove란? (0) | 2021.11.13 |
[3-5] Matrix Factorization이란? (0) | 2021.11.13 |
[3-4] 잠재 의미 분석(LSA,Latent Semantic Analysis) 이란? (0) | 2021.11.13 |