일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- pygame
- 글쓰기
- 사법부
- 정치
- 타인의
- 맵
- 응답하는
- 고통에
- 사법
- 파이게임
- 사회이슈
- 공부
- 지금다시헌법
- 파이썬
- LDA
- 횡스크롤
- python
- 파이썬 기초
- Latent Dirichlet Allocation
- 과학의과학
- 헌법
- 주요일간지
- 네트워크
- 공간밀도
- 연구하며
- 점프
- 사회
- 사회면
- 지금 다시
- 부산광역시
- Today
- Total
RoNS 님의 블로그
[LDA 이해하기] 2. Latent Dirichlet Allocation 본문
* 본 글은 David M. Blei - "Probabilistic Topic Models" 논문을 기반으로 작성되었습니다.
지난 글에서 확률적 토픽 모델링의 기초를 다뤘다면, 이번 글에서는 LDA(Latent Dirichlet Allocation) 모델에 대해 좀 더 구체적으로 살펴보겠습니다.
🔎. LDA의 직관적 개념
LDA의 핵심 개념은 하나의 문서가 여러 주제를 포함하고 있다는 것입니다. 이를 좀 더 쉽게 이해할 수 있는 예시를 들어보겠습니다.
위의 논문은 "Seeking Life's Bare (Genetic) Necessities"라는 제목으로, 데이터 분석을 활용하여 진화적 관점에서 생물이 생존하는데 필요한 유전사 수를 결정하는 내용을 다룹니다.
그림에서는 논문에서 사용된 단어들을 주제별로 색깔을 달리하여 강조하였습니다. 각 주제는 다음과 같은 색으로 구분됩니다 :
- 파란색 : 데이터 분석과 관련된 단어
- 핑크색 : 진화 생물학과 관련된 단어
- 노란색 : 유전학과 관련된 단어
이렇게 각 단어를 색으로 구분하면, 해당 논문이 유전학, 데이터 분석, 진화 생물학이라는 세가지 주제가 각각 다른 비율로 혼합되어 있다는 것을 쉽게 알 수 있고, 이를 통해 우리는 이 논문이 과학 논문 데이터셋에서 어떤 연구 분야에 속하는지 이해할 수 있을 것입니다.
🔎 LDA 모델의 생성 과정
LDA는 문서가 여러 주제의 혼합으로 구성된다는 직관을 반영한 확률 모델입니다. 이 모델은 문서가 생성되는 과정을 두 단계로 나누어 설명합니다.
1. 문서별 주제 분포 설정
먼저, 전체 문서 컬렉션에서 주제가 생성된다고 가정합니다. 문서가 작성되기 전에 주제들은 이미 존재하며, 각 주제는 특정 단어들의 확률 분포를 가집니다. 그 후, 각 문서마다 해당 문서에 포함될 주제들의 비율을 결정하는 주제 분포를 랜덤하게 설정합니다. 이때 사용되는 확률 분포가 바로 디리클레 분포(Dirichlet distribution)입니다.
2. 단어 생성 과정
각 문서에 대해 단어를 생성하는 과정은 다음과 같습니다:
1️⃣ 먼저, 해당 단어가 속할 주제를 랜덤하게 선택합니다.
2️⃣ 선택된 주제의 단어 분포에서 단어 하나를 선택합니다.
이렇게 각 문서는 여러 주제로 구성되며, 각 단어는 특정 주제에 할당됩니다.
📌 "Latent Dirichlet Allocation"의 의미
LDA라는 이름에서 "Dirichlet"은 문서별 주제 분포를 결정하는 데 사용되는 확률 분포인 디리클레 분포에서 유래한 것입니다. 이를 통해 각 문서의 주제 비율을 결정하고, 그에 따라 문서 내 단어들이 특정 주제에 할당됩니다.
그렇다면 "Latent"이라는 단어는 왜 포함되었을까요?
이는 주제가 직접적으로 관측되지 않는 변수(hidden variable)이기 때문입니다. 문서 내 단어들이 특정 주제에서 생성되지만, 그 주제 자체는 직접적으로 관측할 수 없고, LDA는 단어들의 출현 패턴을 분석하여 잠재적인 주제를 추론하는 모델입니다.
🔎 LDA 모델을 활용한 주제 추론
LDA는 모든 문서가 동일한 주제 집합을 공유하지만, 각 문서에서는 주제들이 다른 비율로 나타난다는 특징을 가지고있습니다.
예를 들어, 하나의 문서가 유전학, 데이터 분석, 진화 생물학에 대한 내용을 포함할 수도 있지만, 다른 문서는 데이터 분석과 신경과학을 중심으로 다룰 수 있습니다.
이와 같은 특성 덕분에 LDA는 주제 모델링에 유용하며, 문서 컬렉션에서 자동으로 주제를 추출할 수 있습니다. 이를 통해 정보 검색, 문서 분류, 대규모 문서 집합의 탐색 등 다양한 작업에 활용될 수 있습니다.
'Crawling' 카테고리의 다른 글
[Python] 1-1. 자료형과 문자열 (4) | 2025.04.19 |
---|---|
[Python] 입문 전 꼭 알아야 할 것들 (0) | 2025.04.15 |
[LDA 이해하기] Dirichlet Allocation (2) | 2025.04.12 |
[Web Crawling with Python] 파이썬을 이용한 정적 웹 페이지 크롤링 하기(네이버 뉴스) (4) | 2025.03.03 |
[LDA 이해하기] 1. 확률적 토픽 모델링의 기초 (0) | 2025.02.06 |