
텍스트 기반의 문서 데이터에서 핵심 주제를 찾는 데이터 분석 방법론이다.
예를 들어, 내가 뉴스 기사 3편을 가지고 있다고 해보자.
LDA는 문서 → 주제(Topic)→”단어” 구조로 문서를 설명한다.
문서 1,2는 축구 관련 단어가 많으므로 → 스포츠 토픽
문서 3은 반도체, 투자 단어가 많으므로 → 산업/경제 토픽
토픽 1 (스포츠): {선수, 경기, 골, 리그, 토트넘}
토픽 2 (경제): {반도체, 투자, 삼성, 산업}
문서 1: 토픽1 90%, 토픽2 10%
문서 2: 토픽1 95%, 토픽2 5%
문서 3: 토픽1 5%, 토픽2 95%
LDA는 이런 숨겨진 주제를 찾아내고, 각 문서가 여러 주제를 얼마나 섞어서 가지고 있는지 확률로 표현한다.
가정
사용자는 알고리즘에게 토픽의 개수 K개를 알려주어야 한다.
K개의 주제를 찾으라고 지시받은 LDA는 문서에 K개의 토픽이 있다고 가정한다.
알고리즘 수행
입력 : 문서 집합(텍스트 데이터)
전처리 : 토큰화, 불용어 제거, 단어 빈도 행렬(DTM,BoW) 생성
초기화 : 각 단어를 랜덤하게 토픽 중 하나에 배정
반복
단어 하나를 빼서 “이 단어가 어떤 토픽일 확률”을 계산 (문서 내 토픽 분포 x 토픽 내 단어 분포)
그 확률에 따라 토픽을 재할당
이 과정을 모든 문서,단어에 대해 반복 → 안정적인 분포에 수렴!
사실 LDA 토픽 모델링에서는 수치의 절대적인 값보다는 상대적인 비교, 패턴의 일관성, 해석 가능성이 가장 중요하다.
그럼에도 실제로 연구나 데이터 분석에서 평균적으로 사용하는 판단 기준은 이렇다.
0.65 → very good