본문 바로가기
2021-1/Expert

LDA | DTM, TF-IDF

by 이망고_ 2021. 10. 13.

https://conanmoon.medium.com/%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B3%BC%ED%95%99-%EC%9C%A0%EB%A7%9D%EC%A3%BC%EC%9D%98-%EB%A7%A4%EC%9D%BC-%EA%B8%80%EC%93%B0%EA%B8%B0-58-8f05f611d783 

 

데이터과학 유망주의 매일 글쓰기 — 58

Topic Modelling

conanmoon.medium.com

공부하다가 토픽모델링 코드작성 등이 너무 잘 정리되어 있어서 참고하라고 남겨놓는다.

하나하나 코드의 의미를 알려주는 것부터 코드작성하는 순서를 상세하게 다루고 있어 LDA 실습하는 데 큰 도움이 되었다. 

 

Topic Modeling 

추상적인 의미(Topic)를 찾을 수 있는 통계적 모델링 기법으로써, 문서(documents)에 적용할 수 있다. 

LDA(Latent Dirichlet Allocation)는 의미 모델의 예로써, 특정한 의미에 따라 문서의 텍스트를 구분하는 데 사용된다.

data의 일부를 보는 방법이었다.

print(len(documents))

print(documents[:5]) 

다큐먼트count 할 수 있고, 인덱스 5번까지 확인 가능한 방법이다~

 

데이터 전처리

1. 토큰화 : 텍스트를 문장으로 나누고, 문장을 단어로 나눈다. (단어는 모조리 소문자화하고, 특수문자는 제거함)

2. 철자가 3개 이하인 단어들은 제거한다. : len(token) > 3:

3. 모든 불용어(stopwords)는 제거한다.

4. 단어들의 표제어를 추출(lemmatization)한다. (3인칭 단어는 1인칭으로, 동사의 과거형과 미래형은 모두 현재형으로 대체한다.)

5. 단어들의 어간을 추출(stemming)한다. 모든 단어들이 공유하는 철자로 이루어진 단어를 추출한다. 

 

DTM

*DTM(Document-Term Matrix) 이란? DTM 은 BOW 를 행렬 형태로 표현한 방법이다

token = okt.morphs(sentence) # 형태소 추출 : 형태(morph)

token = okt.nouns(sentence)   # 명사 추출

token = okt.pos(sentence)      # 품사 부착

 

TF-IDF

TF-IDF(Term Frequency-Inverse Document Frequency) 모델이란? 

단어의 빈도와 역 문서 빈도를 사용하여 DTM 내의 각 단어들마다 중요한 정도를 가중치로 주는 방법

 

TF와 IDF 의 합성어이다

사용목적은 DTM 으로 각 단어의 빈도수를 구했다면 해당 단어가 문서에서 얼머나 중요한지 측정해주는 척도이다.

 

* TF(d, t) : TF는 d(문장)에 t(단어, 토큰)의 등장횟수 => DTM

* DF(t) : DF는 t(단어, 토큰)이 등장한 문서 수

* IDF(d,t) : IDF는 DF(t)에 반비례하는 수

'2021-1 > Expert' 카테고리의 다른 글

LDA | 실습하기  (0) 2021.10.14
LDA | 실습하기  (0) 2021.10.13
LDA | Topic Modeling  (0) 2021.10.13
LDA | 실습하기  (0) 2021.10.11
Vue.js | 뷰 기본 및 다운로드 방법  (0) 2021.10.04