방대한 양의 텍스트가 존재할 때 누가 이걸 대신 읽고 주제를 파악해줄 수 있을까?
라는 생각에서 기원했다고 한다.
lettier.com/projects/lda-topic-modeling/
Latent Dirichlet Allocation Topic Modeling by David Lettier
lettier.com
ratsgo.github.io/statistics/2017/05/31/gibbs/
Gibbs Sampling · ratsgo's blog
이번 글에서는 깁스 샘플링(Gibbs Sampling)에 대해 간단히 살펴보도록 하겠습니다. 이번 글 역시 고려대 강필성 교수님 강의와 위키피디아, ‘밑바닥부터 시작하는 데이터과학(조엘 그루스 지음, ��
ratsgo.github.io
각 문서별로 토픽에 대한 분포 나타낸다.
>>> 토픽 별로 단어 분포
우선 LDA는 특정 토픽에 특정 단어가 나타날 확률을 내어 줍니다. 예컨대 위 그림에서 노란색 토픽엔 gene이라는 단어가 등장할 확률이 0.04, dna는 0.02, genetic은 0.01입니다. 이 노란색 토픽은 대략 ‘유전자’ 관련 주제라는 걸 알 수 있네요.
이번엔 문서를 보겠습니다. 주어진 문서를 보면 파란색, 빨간색 토픽에 해당하는 단어보다는 노란색 토픽에 해당하는 단어들이 많네요. 따라서 위 문서의 메인 주제는 노란색 토픽(유전자 관련)일 가능성이 큽니다. 이렇듯 문서의 토픽 비중 또한 LDA의 산출 결과물입니다.
위 그림 우측에 있는 ‘Topic proportions & assignments’가 LDA의 핵심 프로세스입니다. LDA는 문서가 생성되는 과정을 확률모형으로 모델링한 것이기 때문인데요. 글쓰기를 예로 들면 이렇습니다.
우선 글감 내지 주제를 정해야 합니다. 이후 실제 글을 작성할 때는 어떤 단어를 써야할지 결정합니다. LDA도 마찬가지입니다. 우선 말뭉치로부터 얻은 토픽 분포로부터 토픽을 뽑습니다. 이후 해당 토픽에 해당하는 단어들을 뽑습니다. 이것이 LDA가 가정하는 문서 생성 과정입니다.
이제 반대 방향으로 생각해보겠습니다. 현재 문서에 등장한 단어들은 어떤 토픽에서 뽑힌 단어들일까요? 이건 명시적으로 알기는 어렵습니다. 말뭉치에 등장하는 단어들 각각에 꼬리표가 달려있는 건 아니니까요.
그런데 LDA는 이렇게 말뭉치 이면에 존재하는 정보를 추론해낼 수 있습니다. LDA에 잠재(Latent)라는 이름이 붙은 이유입니다. LDA의 학습은 바로 이러한 잠재정보를 알아내는 과정입니다.
조건부 확률
lettier.com/projects/lda-topic-modeling/
Latent Dirichlet Allocation Topic Modeling by David Lettier
lettier.com
10000만 개만 돌려봅시다
numpy: 수학적 연산을 할 수 있는 함수들이 들어있는 패키지
[출처] techblog-history-younghunjo1.tistory.com/87
[ML] Topic Modeling(토픽 모델)인 LDA(Latent Dirichlet Allocation)
※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 Clustering의 방법 중 하나이며 비
techblog-history-younghunjo1.tistory.com
'IT Developers > Machine Learning' 카테고리의 다른 글
[Machine Learning] 데이터 사이언스의 활용 분야 및 기계 학습 그리고 절차 (0) | 2020.10.05 |
---|---|
[Machine Learning] 데이터 사이언스 (0) | 2020.10.05 |
[Ucinet] Concor (0) | 2020.09.29 |
[Ucinet6] 다운로드 및 One-mode & two-mode (0) | 2020.09.28 |
[인공지능] Topic Modeling (0) | 2020.09.25 |