잠재 의미 분석
직교 행렬
- n*n 행렬 A가 있을 때 A * A^T = I 와 A^T * A = I 가 만족하는 행렬
대각 행렬
- 주대각선을 제외한 곳의 원소가 모두 0인 행렬
특이 값 분해 (SVD)
절단된 SVD
- 절단된 SVD는 대각 행렬 Σ의 대각 원소의 값 중에서 상위 값 t개만 남게 된다.
- 절단된 SVD를 수행하면 값의 손실이 일어나므로 기존의 행렬 A를 복구할 수 없음
- 장 : full SVD를 하였을 때보다 직관적으로 계산 비용이 낮아지는 효과를 얻을 수 있음절단된 SVD
잠재 의미 분석
- 기존의 문제점 : 기존의 DTM이나 DTM에 단어의 중요도에 따른 가중치를 주었던 TF-IDF 행렬은 단어의 의미를 전혀 고려하지 못한다는 단점
- LSA : 기본적으로 DTM이나 TF-IDF 행렬에 절단된 SVD를 사용하여 차원을 축소시키고, 단어들의 잠재적인 의미를 끌어낸다는 아이디어
잠재 디리클레 할당
- 토픽 모델링 : 문서의 집합에서 토픽을 찾아내는 프로세스 → 검색 엔진, 고객 민원 시스템 등과 같이 문서의 주제를 알아내는 일에 사용
- LDA의 가정
- 문서에 사용할 단어의 개수 N을 정한다.
- 문서에 사용할 토픽의 혼합을 확률 분포에 기반하여 결정한다.
- 문서에 사용할 각 단어를 정한다.
- 토픽 분포에서 토픽 T를 확률적으로 고른다.
- 선택한 토픽 T에서 단어의 출현 확률 분포에 기반해 문서에 사용할 단어를 고른다.
- LDA의 수행 과정
- 사용자는 알고리즘에게 토픽의 개수 K를 알려준다.
- K개의 토픽이 M개의 전체 문서에 걸쳐 분포되어 있다고 가정
- 모든 단어를 K개 중 하나의 토픽에 할당한다.
- 랜덤으로 할당하였기에 아직 결과는 전부 틀린 상태 → 만약 한 단어가 한 문서에서 2회 이상 등장하였다면 각 단어는 서로 다른 토픽에 할당 가능성 O
- 모든 문서의 모든 단어에 대해 아래와 같은 과정을 반복한다.
- 어떤 문서의 각 단어 W는 자신은 잘못된 토픽에 할당되어져 있지만, 다른 단어들은 전부 올바른 토픽에 할당되어져 있는 상태라고 가정 → 이에 따라 W는 2가지 기준에 따라 토픽이 재할당 된다.
- p(topic t | document d) : 문서 d의 단어들 중 토픽 t에 해당하는 단어들의 비율
- p(word w | topic t) : 각 토픽들 t에서 해당 단어 w의 분포
- 어떤 문서의 각 단어 W는 자신은 잘못된 토픽에 할당되어져 있지만, 다른 단어들은 전부 올바른 토픽에 할당되어져 있는 상태라고 가정 → 이에 따라 W는 2가지 기준에 따라 토픽이 재할당 된다.
- 사용자는 알고리즘에게 토픽의 개수 K를 알려준다.
- 잠재 디리클레 할당과 잠재 의미 분석의 차이
- LSA : DTM을 차원 축소 하여 축소 차원에서 근접 단어들을 토픽으로 묶는다.
- LDA : 단어가 특정 토픽에 존재할 확률과 문서에 특정 토픽이 존재할 확률을 결합확률로 추정하여 토픽을 추출한다.
BERTopic
→ BERTopic 은 BERT embeddings 과 클래스 기반 (class‑based) TF‑IDF 를 활용하여 주제 설명에서 중요한 단어를 유지하면서도 쉽게 해석할 수 있는 조밀한 클러스터를 만드는 토픽 모델링 기술
- 과정
- 텍스트 데이터를 SBERT로 임베딩
- 문서를 군집화
- UMAP 을 사용하여 임베딩의 차원을 줄이고 HDBSCAN 기술을 사용하여 차원 축소된 임베딩을 클러스터링하고 의미적으로 유사한 문서 클러스터를 생성
- 토픽 표현을 생성
- 클래스 기반 TF-IDF로 토픽 추출
'AI.ML' 카테고리의 다른 글
[NLP 스터디] 6주차 퀴즈 (0) | 2023.11.07 |
---|---|
[NLP 스터디] 6주차 스터디 - 20. 텍스트 요약 (0) | 2023.11.07 |
[NLP 스터디] 5주차 BERT (1) | 2023.10.15 |
[NLP 스터디] 5주차 NLP에서의 사전 훈련 (0) | 2023.10.15 |
[NLP 스터디] 4주차 Paper Review, Attention is all you need (1) | 2023.10.03 |