2021. 8. 16. 11:16ㆍAI/Machine learning
- 목차
- 문서들을 보고,
- 단어들을 topic 별로 clustering 수행
- 이후, 각 문서들이 어느 topic에 더 유사한지를 계산하여 문서의 topic을 결정
문서의 주제를 알아내는 일이 중요한 곳에서 사용
검색 엔진, 고객 민원 시스템
여러 topic들이 혼재되어 있으며,
topic들은 확률 분포에 기반하여 단어를 생성한다고 가정
LDA는 각 문서의 토픽 분포와 각 토픽 내의 단어 분포를 추정
토픽A : 사과 20%, 바나나 40%, 먹어요 40%, 귀여운 0%, 강아지 0%, 깜찍하고 0%, 좋아요 0%
토픽B : 사과 0%, 바나나 0%, 먹어요 0%, 귀여운 33%, 강아지 33%, 깜찍하고 16%, 좋아요 16%
LDA는 토픽의 이름을 지정하지 않으나, 위 토픽 내 단어 분포를 보면,
토픽A는 과일에 대한 토픽
토픽B는 강아지에 대한 토픽
즉, 문서가 어떤 토픽에 해당하는지 분류 (%로)
LDA의 가정
LDA는 문서의 집합에 어떤 토픽이 존재하는지를 알아내기 위한 알고리즘
LDA 입력
- DTM
- TF-IDF matrix
문서 별 주제가 있고, 이 주제에 연관된 단어들이 있음
문서에 사용할 토픽의 혼합을 확률 분포에 기반하여 결정
토픽이 2개라고 하였을 때
강아지 토픽을 60%, 과일 토픽을 40%와 같이 선택할 수 있음
문서에 사용할 각 단어를 (아래와 같이) 정함
1. 토픽 분포에서 토픽 T를 확률적으로 선택
2. 선택한 토픽 T에서 단어의 출현 확률 분포에 기반해 문서에 사용할 단어를 선택
3. 1~2 반복
이러한 과정을 통해 문서가 작성되었다는 가정 하에 LDA는 토픽을 뽑아내기 위하여 위 과정을 역으로 추적하는 역공학
모든 문서에 대해
단어 w는 두 가지 기준에 따라서 토픽 재할당
p(topic t | document d)
문서 d의 단어들 중 토픽 t에 해당하는 단어들의 비율
p(word w | topic t)
단어 w를 갖고 있는 모든 문서들 중 토픽 t가 할당된 비율
이를 반복하면 모든 할당이 완료된 수렴 상태가 됨
각 문서의 단어를 어느 topic에 할당할지를 결정
1) 각 문서 내 단어들의 topic 중 가장 높은 topic에 현재 단어를 할당
2) 모든 문서 내 해당 단어의 topic ratio를 보고 가장 높은 topic에 할당
잠재 디리클레 할당과 잠재 의미 분석의 차이
LSA: DTM을 차원 축소 하여 축소 차원에서 근접 단어들을 토픽으로 묶음
LDA:
단어가 어떤 topic에 존재할 확률
문서에 어떤 topic이 존재할 확률
이를 결합확률로 추정하여 topic을 추출
'AI > Machine learning' 카테고리의 다른 글
K-means clustering (0) | 2021.08.16 |
---|---|
kNN (0) | 2021.08.16 |
LSA Latent Semantic Analysis (0) | 2021.08.16 |
특징 생성 (0) | 2021.08.14 |
모델 평가 지표 (0) | 2021.08.14 |