잠재 디리클레 할당(Latent Dirichlet Allocation, LDA): LDA는 토픽(주제)별 단어의 분포, 문서별 토픽의 분포를 추정하는 확률적 모형으로, 토픽모델링의 대표적인 알고리즘이다.

LDA 수행

  1. 토픽 개수 결정

    1. 전체 문서 데이터셋에서 추출할 토픽의 총 개수 설정(하이퍼파라미터)
    2. 토픽 개수: k, 전체 문서의 개수: M
  2. 단어에 도픽 할당(틀린 상태)

    1. M개의 모든 문서 내 모든 단어는 k개의 토픽 중 하나로 임의로 할당됨.
    2. 이 작업을 마치면 모든 문서는 토픽을 갖게되며, 각 토픽은 단어 분포를 갖게됨
  3. 확률분포 기반 토픽 재할당

    1. LDA는 문서 내 어떤 단어가 자신은 잘못된 토픽에 할당된 상태이지만, 다른 모든 단어들은 모두 올바른 토픽에 할당되어 있다고 가정함
    2. 모든 문서의 모든 단어에 대해 토픽을 재할당하기 위해, 모든 할당이 완료될 때까지 아래 두 기준을 참고(결합확률)하여 특정 문서의 특정 단어가 어떤 토픽에 할당할지를 결정

    Untitled

    1) 같은 문서 내 단어의 토픽 분포 비교(문서가 특정 토픽에 속할 확률)

    2) 타 문서 내 같은 단어의 토픽 분포 비교(해당 단어가 특정 토픽에 속할 확률)

수식

LDA모델을 정리하면, $d$번째 문서 $i$번째로 등장하는 단어($z_{d,i}$)가 $j$번째 토픽에 할당될 확률은 다음과 같다.

Untitled

표기 내용
$𝑛_{d,k}$ k번째 토픽에 할당된 d번째 문서의 단어 빈도
$U_{k,w_{d,n}}$ 전체 말뭉치에서 k번째 토픽에 할당된 단어 $W_{d,n}$의 빈도
$W_{d,n}$ d번째 문서에서 n번째로 등장할 단어
$\alpha$ 문서의 토픽 분포 생성을 위한 디리클레 분포 파라미퍼(하이퍼파라미터)
$\beta$ 토픽의 단어 분포 생성을 위한 디리클레 분포 파라미터(하이퍼파라미터)
$K$ 사용자가 지정하는 토픽 수
$V$ 말뭉치에 등장하는 전체 단어 수
$A$ d번쨰 문서가 k번째 토픽과 맺고 있는 연관성 정도
$B$ d번째 문서의 n번째 단어($W_{d,n}$)가 k번째 토픽과 맺고 있는 연관성 정도

https://techblog-history-younghunjo1.tistory.com/87