기존의 코드
preprocessed_docs = documents['title'].map(preprocess)
지금 몽고DB 에서 가져온 파일을 보면은,
title 이 아니라 papers 가 있지 않나
그러면 아무리 타이틀로 넣어도 당연히 없는 값이라고 오류가 나올 수 밖에 ..
가져온 데이터가 다르면 그에 맞는 인덱스 값도 달라지고, 이를 반영하지 못하였던 게 계속된 오류의 원인이었다
Dictionary
LDA 모델을 학습시키려고 하는데 딕셔너리 형태로 만들어주라고 한다
처음에 이 부분이 계속 오류가 떠서 건너 뛰고 가려고 하였는데,
단어 자체를 사용하여 문서를 표현하면 비효율적이니까 문서 집합에 있는 문서 전체를 읽어가면서 토큰화, 불용어 제거 등의 순서를 진행하여 사전을 구축한다
Corpus
corpus 는 말뭉치를 뜻하는데,
dictionary 형태로 만들어주는 것에서 (unique word, frequency) 형태로 만들어주는 과정을 거친다
Index
진짜 아무리 말로 배워도 직접 코드를 구현하는 것만큼 직접적으로 배우는 건 없는 것 같은 게,
idx 의 갑은 0 으로 시작되니깐, 출력된 처음 줄에 'Topoc: 0' 으로 되어 있고 시각화된 부분에는 1부터 보여주더라. 그래서 팀장에게 물어봤더니, 아주 간단하게 .format(idx+1, ) 1을 추가해주더라..
그러니 출력된 토픽도 1부터 시작, 시각화된 모습도 1부터 시작~ 일치하게 되었다
'2021-1 > Expert' 카테고리의 다른 글
Expert | MongoDB 에 질의 생성 (0) | 2021.10.26 |
---|---|
LDA | 이 결과는 과연 신뢰할 만한 결과인가 (0) | 2021.10.26 |
LDA | Delete Korean Stopword (0) | 2021.10.23 |
LDA | 혼자 구현해보기 (0) | 2021.10.14 |
쥬피터 노트북 | LDA 실습 (0) | 2021.10.14 |