이번에는 자연어처리(NLP)에서 토픽 모델링 방법 중 하나인 LDA에 대해서 알아보도록 하겠습니다.
1. LDA란? (Latent Dirichlet Allocation이란?)
- LDA란 Latenet Dirichlet Allocation의 약자로, 문서 집합에서 숨겨진 주제(Latent Topic)을 찾아내는데 사용되는 토픽 모델링(Topic Modeling) 기법을 말합니다.
- 이는 문서 내 단어들이 특정 주제에 속해있으며, 문서들이 여러 주제를 혼합한 형태로 구성된다는 확률적 가정에 기반하고 있습니다.
- 이러한 LDA는 검색엔진 최적화(SEO), 콘텐츠 분석, 추천 시스템, 그리고 문서 요약과 같은 분야에서 널리 활용되고 있는 방법입니다.
- LDA에 핵심 메커니즘은 아래와 같이 요약해볼 수 있습니다.
1) 문서 - 토픽 분포
* 각 문서는 여러 토픽의 혼합으로 구성됩니다. 예를 들어, 한 문서가 "기술"과 "경제" 토픽을 각각 60%, 40% 포함할 수 있는 것입니다.
2) 토픽 - 단어 분포
* 각 토픽은 특정 단어 집합으로 나타납니다. 예를 들어, 기술 이라는 토픽은 인공지능, 알고리즘, 데이터와 같은 단어를 높은 확률로 포함할 수 있습니다.
- LDA에 활용되는 주요 개념을 정리하면 다음과 같습니다.
이를 바탕으로 LDA의 기본 과정을 단계별로 예시와 함께 표현하면 아래와 같습니다.
이를 최종적으로 수식으로 요약하면 아래와 같습니다.
*LDA의 최종 목표는 문서 집합 D의 생성확률인 P(D)를 추정하는 것입니다.
위 과정을 예시로 이해해보면
- 입력 데이터
a) 문서 1: "인공지능은 기술의 미래입니다"
b) 문서 2: "축구는 전 세계적으로 사랑받는 스포츠입니다"
- 1단계 : 문서의 주제 분포인 Theta (d) 샘플링
a) 문서 1의 Theta (d) = [0.8, 0.2] (기술 주제 80%, 스포츠 주제 20%)
b) 문서 2의 Theta (d) = [0.1, 0.9] (기술 주제 10%, 스포츠 주제 90%)
- 2단계 : 각 단어의 주제 z 샘플링
a) 문서 1의 "인공지능" : z = 기술
b) 문서 2의 "축구" : z = 스포츠
- 3단계 : 주제어서 단어 w 생성
a) "기술" 주제에서 "인공지능" 생성확률 P(인공지능 l beta(기술) ) = 0.15
b) "스포츠" 주제어서 "축구" 생성확률 P(축구 l beat(축구) = 0.25
'머신러닝 with Python' 카테고리의 다른 글
[머신러닝 with Python] 유전 알고리즘이란? TPOT에서 최적화 활용(AutoML) (0) | 2024.12.11 |
---|---|
[머신러닝 with Python] AutoML이란? (AutoML의 정의, 종류 등) (0) | 2024.12.10 |
[머신러닝 with Python] Bag of Words란? (BoW) (0) | 2024.12.01 |
[머신러닝 with Python] TF-IDF를 활용한 Text Regression(텍스트 회귀) - "청와대 국민청원" 데이터 활용 (1) | 2024.11.30 |
[머신러닝 with Python] TF-IDF를 활용한 텍스트 분류 (0) | 2024.11.29 |
댓글