본문 바로가기
머신러닝 with Python

[머신러닝 with Python] LDA란?(Latent Dirichlet Allocation란?) / 토픽 모델링을 위한 기법

by CodeCrafter 2024. 12. 2.
반응형

 

이번에는 자연어처리(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

 

반응형

댓글