잠재 의미 분석(Latent Semantic Analysis, LSA)
**잠재 의미 분석(Latent Semantic Analysis, LSA)**은 자연어 처리 분야에서 문서와 단어 간의 숨겨진 의미 관계를 발견하기 위한 통계적 기법이다. 이는 주어진 문서 집합에서 단어들의 공동 발생 패턴을 분석하여, 단어와 문서 간의 잠재된 의미 구조를 파악하는 데 사용된다.
LSA의 기본 개념
LSA는 다음과 같은 절차를 따른다:
-
문서-단어 행렬(DTM) 생성: 문서 집합에서 각 문서와 단어의 발생 빈도를 나타내는 행렬을 만든다.
-
특이값 분해(Singular Value Decomposition, SVD): DTM에 SVD를 적용하여 세 개의 행렬로 분해한다. 이를 통해 데이터의 차원을 축소하고 노이즈를 제거하여 숨겨진 의미를 추출한다.
-
차원 축소: 특이값 중 상위 t개만 남기고 나머지를 제거하여 데이터의 차원을 축소한다. 이를 통해 중요한 의미를 가진 정보만을 남기고, 불필요한 정보를 제거한다.
LSA의 수행 과정
LSA의 수행 과정은 다음과 같다:
-
문서-단어 행렬(DTM) 생성: 문서 집합에서 각 문서와 단어의 발생 빈도를 나타내는 행렬을 만든다.
-
특이값 분해(SVD) 수행: DTM에 SVD를 적용하여 U, Σ, V^T 행렬로 분해한다.
-
차원 축소: Σ 행렬의 상위 t개의 특이값만 남기고 나머지를 제거하여 차원을 축소한다.
-
잠재 의미 공간 구성: 축소된 U, Σ, V^T 행렬을 이용하여 단어와 문서를 잠재 의미 공간에 매핑한다.
-
유사도 계산: 잠재 의미 공간에서 단어와 문서 간의 유사도를 계산하여 의미적 관계를 파악한다.
잠재 디리클레 할당(Latent Dirichlet Allocation, LDA)
토픽 모델링은 문서 집합에서 주제를 추출하는 과정으로, 검색 엔진이나 고객 민원 시스템 등에서 문서의 주제를 파악하는 데 유용하게 사용된다. 그 중에서도 **잠재 디리클레 할당(Latent Dirichlet Allocation, LDA)**은 대표적인 토픽 모델링 알고리즘이다.
LDA의 기본 개념
LDA는 다음과 같은 가정을 기반으로 한다:
- 문서들은 여러 토픽의 혼합으로 구성되어 있다.
- 각 토픽은 특정 단어들이 나타날 확률 분포를 가진다.
이러한 가정 하에, LDA는 주어진 문서 집합에서 다음을 추정한다:
- 각 문서가 어떤 토픽들로 이루어져 있는지에 대한 분포
- 각 토픽이 어떤 단어들로 이루어져 있는지에 대한 분포
LDA의 수행 과정
LDA의 수행 과정은 다음과 같다:
-
토픽의 개수(k)를 설정한다.
- 사용자가 알고리즘에 몇 개의 토픽을 찾을지 지정해야 한다.
- 이 값은 경험이나 사전 지식을 통해 결정된다.
-
모든 단어를 무작위로 k개의 토픽 중 하나에 할당한다.
- 초기에는 각 단어를 임의의 토픽에 할당하여 시작한다.
-
반복(iterative) 과정:
- 각 단어에 대해 다음을 수행한다:
- 현재 단어를 제외한 다른 단어들의 토픽 할당이 모두 올바르다고 가정한다.
- 두 가지 기준에 따라 현재 단어의 토픽을 재할당한다:
- 해당 문서에서 특정 토픽이 할당된 단어들의 비율
- 특정 토픽에서 해당 단어가 나타날 확률
- 각 단어에 대해 다음을 수행한다:
이러한 과정을 여러 번 반복하여 토픽 할당이 수렴되면, 최종적으로 각 문서의 토픽 분포와 각 토픽의 단어 분포를 얻을 수 있다.
LDA와 잠재 의미 분석(LSA)의 차이
- LSA: DTM(Document-Term Matrix)을 차원 축소하여 근접한 단어들을 토픽으로 묶는다.
- LDA: 단어가 특정 토픽에 존재할 확률과 문서에 특정 토픽이 존재할 확률을 추정하여 토픽을 추출한다.