logo

잠재 의미 분석(LSA)

잠재 의미 분석 Latent Semantic Analysis

  • 문서 단어 행렬을 여러 행렬의 곱으로 분해하는 방법
  • 문서-토픽 행렬: 문서별 토픽
  • 토픽-단어 행렬: 단어별 토픽
  • 토픽이 연속 변수라고 가정
  • 여러 토픽들에 가중치를 곱하여 더하면 문서 단어 행렬이 된다고 가정
  • 토픽들은 단어 빈도의 분산을 설명
  • 수학적으로는 주성분분석과 거의 비슷

행렬의 곱셈

  • 행렬(matrix): 수를 사각형 형태로 배열한 것. 간단히 생각하면 표
  • 예) 문서 단어 "행렬"
  • 행렬은 일반적인 수와 비슷하게 더하거나, 곱할 수 있음
  • m×n 크기의 행렬은 m×k 크기의 행렬과 k×n 크기의 행렬의 곱으로 표현 가능

LSA의 기본 아이디어

  • 문서 단어 행렬을 문서 토픽 행렬과 토픽 단어 행렬의 곱 형태로 표현
  • 문서 단어 행렬: m개의 문서에서 n개의 단어가 각각 몇 개씩 나왔는가
  • 문서 토픽 행렬: m개의 문서에서 k개의 토픽이 각각 얼마나 나왔는가
  • 토픽 단어 행렬: k개의 토픽에서 n개의 단어가 각각 얼마나 나오는가
  • 차원 축소: 단어보다 토픽의 수가 적음 (n ≫ k)

LSA의 특징

  • 계산이 비교적 단순
  • 통계학에서 매우 많이 사용하는 기법
  • 토픽의 해석이 어려움
  • 차원의 수를 정하기 어려움
  • 해가 무수히 많음

행렬 분해 Matrix Decomposition

  • 하나의 행렬을 여러 개의 행렬의 곱 형태로 나타내는 것
  • LU 분해
  • QR 분해
  • 촐레스키 분해
  • 고유값 분해(eigen decomposition)
  • 특이값 분해(Singular Value Decomposition)

특이값 분해 Singular Value Decomposition

  • m×n 크기의 문서단어행렬 M을 𝑈𝛴𝑉𝑇와 같이 행렬의 곱으로 분해
  • 𝑈와 𝑉는 직교행렬
  • 𝛴는 대각행렬

Truncated SVD

  • SVD에서 U, Σ, VT에서 k개의 행 또는 열만 남김

차원 축소 dimensionality reduction

  • TDM은 m개의 문서를 표현하기 위해 n가지 단어로 표현
  • U*는 m개의 문서를 k가지 토픽으로 표현
  • n ≫ k이므로 문서를 나타내는 차원이 축소되었다고 이해할 수 있음
  • 차원 축소를 하는 이유:
    • 문서들이 단어가 아닌 의미상으로 재배치
    • 동음이의어, 오탈자 등이 (어느 정도) 처리됨
    • 문서에 존재하는 noise가 줄어 더 잘 분류됨

주성분분석 Principal Component Analysis

  • 통계에서 많이 사용하는 차원 축소 방법
  • 다수의 변수로 구성된 자료가 있을 때 PCA를 통해 소수의 주성분으로 변환할 수 있음
  • PCA도 LSA와 비슷하게 Truncated SVD를 이용할 수 있음
  • PCA와 LSA의 차이: PCA는 원자료를 센터링(centering: X-평균)
  • PCA에서 센터링을 하는 이유: 일반적인 자료는 평균 근처에 값들이 많이 분포
  • LSA에서 센터링을 안하는 이유: 문서단어행렬은 평균이 아닌 0 근처에 값들이 많이 분포
Previous
임베딩