Data Analysis

카테고리 없음

LDA 기본 과정

Holy_Water 2024. 2. 29. 22:30

내용

1. LDA 기본 과정

2. LDA 알고리즘

 

LDA 기본 과정

LDA의 기본 가정

• LDA란, 문서에 내재되어 있는 토픽을 찾아가는 알고리즘 


• 전체 문서는 여러 개별적인 문서들의 집합으로 구성되며, 
• 하나의 개별 문서는 여러 개의 주제로 구성되고, 
• 하나의 주제는 여러 단어들로 구성된다는 가정! 

LDA 예시 문장으로 확인하기

• 아래와 같은 예시 문장 

문서 1 : 우리 부모님은 건강을 위해 아침마다 수영을 하시고 저녁에는 산책을 합니다. 
문서 2 : 나와 동생은 햄버거를 좋아합니다. 특히 치킨이 들어간 햄버거를 좋아하고, 어제는 피자를 먹었습니다. 
문서 3 : 오늘은 나의 생일이라 햄버거를 먹었습니다. 그런데 살이 너무 많이 쪄서 산책과 수영을 시작했습니다. 

• 문서 내에 몇 개의 토픽이 있을지는 사용자가 정의 
     • 위 예에서는 편의상 2개의 토픽(A, B)가 있다고 가정 

• LDA를 진행하면 
      • 문서 1은 A 토픽이 존재하며, 그 단어는 빨간색으로 표시 
      • 문서 2는 B 토픽이 존재하고, 파란색으로 표시 
      • 문서 3은 A와 B 토픽이 둘 다 존재 
      • 할당된 단어를 확인할 결과 A는 ʻ운동’ B는 ʻ먹거리’로 토픽의 이름을 정할 수 있음 

 

LDA 조금 더 구체적으로

문서 1 : 우리 부모님은 건강을 위해 아침마다 수영을 하시고 저녁에는 산책을 합니다. 
문서 2 : 나와 동생은 햄버거를 좋아합니다. 특히 치킨이 들어간 햄버거를 좋아하고, 어제는 피자를 먹었습니다. 
문서 3 : 오늘은 나의 생일이라 햄버거를 먹었습니다. 그런데 살이 너무 많이 쪄서 산책과 수영을 시작했습니다. 


• 각 문서를 구성하는 토픽의 구성을 보면 
   • 문서 1 : 100% 토픽 A / 문서 2 : 100% 토픽 B / 문서 3 : 67% 토픽 A & 33% 토픽 B


• 또한, 각 토픽을 구성하는 단어를 보면 
   • 토픽 A : 건강 (20%) / 수영 (40%) / 산책 (40%)
   • 토픽 B : 햄버거 (60%) / 치킨 (20%) / 피자 (20%)


• 이렇듯 확률이나 비율의 집합을 분포로 표현한 것을 Dirichlet 분포라고 함 
• LDA는 문서 표면에 드러나지 않은 숨어있는 토픽의 확률 분포(Latent Dirichlet)를 가정하고 각 단어를 토픽에 할당(Allocation)하는 분석 방법 
• LDA : Latent Dirichlet Allocation