티스토리 뷰
안녕하세요. 은행 IT운영부 이지성과장입니다.
오늘은 토픽모델링에 대해서 알아보려 합니다. 토픽모델링 (topic modeling)이란 대량의 텍스트로 이루어진 어떤 문서에서 주제를 컴퓨터가 스스로 알아내는 것입니다.

토픽모델링을 통해서 대량의 문서가 어떤 주제로 이야기를 하고 있는지 요약할 수 있습니다.
신문기사, 논문, 상품평 등등 텍스트로 이루어진 데이터 입력하면 해당 주제를 출력하는 것입니다.
토픽모델링 기법 중에서 대표적인 기법인 "LDA"에 대해서 조금더 말씀드리면...
LDA (잠재 디리클레 할당이라고도 합니다) 는 확률적 생성모형(Generative model)을 가정합니다. 간단히 말씀드리면, 문서에서 많이 등장하는 단어가 그 문서의 주제가 될 가능성이 크다는 것입니다.

위 이미지는 LDA를 설명할 때 주로 사용되는 이미지인데, 해당 문서에서 노란색 단어들 (gene, dna 등) 이 자주 등장하므로 이 문서의 주제는 "유전"과 관련된 주제일 가능성이 높다는 모형이 바로 LDA 입니다.
이렇게 설명드리면, 감이 안오실 테니 조금더 간단한 예제로 설명을 드리겠습니다.
아래와 같이 3개의 문서가 있다고 가정해 보겠습니다.
문서1 : 저는 사과랑 바나나를 먹어요
문서2 : 우리는 귀여운 강아지가 좋아요
문서3 : 저의 깜찍하고 귀여운 강아지가 바나나를 먹어요
그리고 주제는 2개가 있다고 가정하고, LDA로 주제 분류를 시키면 아래와 같은 결과를 도출합니다.
(사실 주제의 개수 2는 사용자가 지정해주는 값, 하이퍼 파라미터 라고도 하며, 이 주제의 수에 대한 최적의 수를 찾아내는 과정에 대해서는 별도의 포스팅에서 다루어 보도록 하겠습니다.)
<각 문서의 토픽 분포>
문서1 : 토픽 A 100%
문서2 : 토픽 B 100%
문서3 : 토픽 B 60% / 토픽 A 40%
<각 토픽의 단어 분포>
토픽A : 사과 20%, 바나나 40%, 먹어요 40%, 귀여운 0%, 강아지 0%, 깜찍하고 0%, 좋아요 0%
토픽B : 사과 0%, 바나나 0%, 먹어요 0%, 귀여운 33%, 강아지 33%, 깜찍하고 16%, 좋아요 16%
결과를 해석해보면,
토픽A는 바나나, 사과, 먹다와 같이 과일과 관련된 주제일 가능성이 높습니다.
토픽B는 강아지, 귀여운 등 애완동물과 관련된 주제일 가능성이 높겠죠.
흥미로운 사실은 문서 3에서는 토픽A에 대한 확률을 40%, B에 대한 확률을 60%로 반환하였습니다. 이렇게 LDA는 문서의 주제를 어떤 주제가 더 확률이 높을 지 확률적으로도 표현을 해줍니다.
LDA의 이론적인 배경은 통계전공자도 이해하기 힘들 정도로 여러 이론들을 배경이 두고 있습니다.
베이즈 추론, 깁스 샘플링 등 LDA와 관련 이론에 대해서 더 궁금하신 분은 아래 링크를 참고하시기 바랍니다!
[LDA참고링크] : https://byeongkijeong.github.io/Latent-dirichlet-allocation-in-R/

날씨가 많이 선선해졌습니다. 다가오는 추석 명절도 뜻깊게 보내시기 바랍니다!
감사합니다.
'NLP' 카테고리의 다른 글
| 나이브베이즈 분류를 이용한 스팸 필터링 알아보기 (0) | 2020.11.23 |
|---|---|
| 형태소 분석기 알아보기 (0) | 2020.10.08 |
| TF-IDF 기법 이해하기 (0) | 2020.08.21 |
| [데이터 시각화] word cloud (0) | 2020.02.28 |
| 나이브 베이즈를 이용한 스팸 필터링 (0) | 2020.02.26 |
- Total
- Today
- Yesterday
- 정보관리기술사독학
- s3
- r
- wfastcgi
- 기술사학원
- 추천시스템
- hackerrank
- 12207
- lambda
- 밀키트
- 콘도챗봇
- ISO 12207
- 정보관리기술사
- 밀키트요리
- IIS
- pytorch
- 정보관리
- 기술사
- 정보관리기술사합격
- AWS
- 자기계발
- iso12207
- gpt3.5
- 추천도서
- 챗봇
- 로블록스
- 인조기프
- 머신러닝
- 131회정보관리기술사
- FLASK
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |