상세 컨텐츠

본문 제목

[NLP 스터디] 7회차. 토픽 모델링

가짜 연구소_NLP 스터디

by Noong_yoon 2022. 10. 16. 21:52

본문

토픽 모델링

: 주제를 파악할 때 쓰는 방법( 문서 분류 - 예측, 토픽 모델링 - 내용 분석)  --> LDA

  함께 사용되는 단어의 집합으로 문서에 담긴 주제를 표현하면 더 구체적, 명확하게 의미를 보여줄 수 있음

  '내재된 주제의 분석'을 가능하게 하는 기법

    --> (ex. 청와대 국민청원 토픽 모델링 결과 - 외교, 육아 등 주제 세분화, 구체화 가능)

 

LDA 모형

 : 토픽 모델링에 가장 널리쓰이는 기본적인 알고리즘으로, 기본 가정은 문서들이 쓰여질 때 그 문서를 구성하는 몇 개의 토픽이 존재하며 각 토픽은 단어의 집합으로 구성됐다는 것.

   즉 "내재한 토픽들을 유추하고자 하는 통계적인 방법론"

 

- 토픽 모델링의 목적

1. 문서에 따른 토픽의 확률분포를 추정  --> 디리클레 분포 이용

  *디리클레 분포: k차원의 실수 벡터에서 각 벡터 값이 양수고 모든 값을 더하면 1이 되는 경우에 대해 확률값이 정의되는 대표적인 연속 확률분포

    --> 토픽에 대한 확률은 모두 양수이고 값을 모두 합하면 1이 된다는 점에서 디리클레 분포 이용

    --> 즉 문서의 토픽 분포가 디리클레 분포를 따른다고 가정하는 것 

2. 각 토픽의 단어분포를 알아내는 것 

    * LDA의 확률적 가정: 문서의 토픽분포와 각 토픽의 단어분포가 결합됨으로써 문서의 단어분포 결정

    토픽은 단어의 분포이므로 이것들이 결합되어 문서에 사용된 단어의 분포가 된다는 것

 

 

결론적으로, LDA를 이용한 토픽 모델링:

   각 문서에 사용된 단어들의 빈도를 측정하고, 이로부터 역으로 모든 문서의 토픽분포와 각 토픽의 단어분포를 추정하는 것 

    토픽의 개수 K와 a, B -->  하이퍼 파라미터 --> 조절해 토픽 모델링 성능 높일 수! --> 척도: 혼란도(perplexity), 토픽 응집도(topic coherence)

 

- 척도

1. Perplexity(혼란도, 혼잡도): 특정 확률 모형이 실제로 관측되는 값을 얼마나 유사하게 예측해내는지 평가 

                                               즉 우리가 추정한 디리클레 모형이 주어진 문서 집합을 얼마나 유사하게 생성할 수 있는가!

                                               값이 작을수록 토픽 모델이 문서집합을 잘 반영

 

2. coherence(토픽 응집도): 상위 비중을 차지하는 단어들이 의미적으로 유사한가!

                                            값이 클수록 좋다

 

------- 실제 토픽 모델링시 척도에 따라 모형을 바로 선택 최적값 근처에서 몇 개 값을 선택해 모델링 수행, 사람이 직접 비교------

 

- 사이킷런(혼란도 계산 o , 토픽 응집도 x), Gensim(혼란도, 토픽 응집도 둘다 o) 이용!

 

 

(패널토의 - 질의응답)

Q. 토픽 모델링에서는 분류 모델의 성능 평가를 사용하지 않은지/사용하지 않는다면 그 이유는 무엇일지

A. 토픽 모델링은 비지도 학습이기에 지도학습에서의 정확도 등의 척도를 사용하지 x 대신 혼잡도, 토픽응집도 사용

흔히 비지도 학습으로 수행되는 과정이 그렇듯, 이렇게 자동으로 처리된 결과가 과연 사람이 바라는 결과와 얼마나 일치할지는 모름. 

관련글 더보기