공부하다가 토픽모델링 코드작성 등이 너무 잘 정리되어 있어서 참고하라고 남겨놓는다.
하나하나 코드의 의미를 알려주는 것부터 코드작성하는 순서를 상세하게 다루고 있어 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 |