텍스트마이닝이란?
텍스트에서 의미있는 정보를 얻는 것
기계가 의미있는 정보를 얻을 수 있도록.
기계가 사람처럼 했으면 좋겠으니까 기계친화적인 데이터로 바꿔줘야겠다.
사람 친화적 -> 기계 친화적 바꾸는 과정에서 한 번의 왜곡이 생긴다. 그 왜곡을 최소화 하기 위해 전처리에 대한 수고를 많이 한다.
텍스트를 정형화된 데이터로 변환하여 의미있는 정보를 얻어내는 것
최대한 얻을 수 있는 빈도수만 살려서 전처리를 하고 그 모델도 빈도수를 기반으로 분석하는 모델을 쓰겠다.
모델을 쓸 때는 순서정보를 반영하는 전처리를 쓰고 순서정보를 반영하는 시퀀스 모델을 쓰면 된다.
데이터 수집 (웹크롤링..? 잘되어있는 데이터를 가져와도 좋다. 주제에 따라서 다르다.)
웹크롤링: 웹(접근가능한 컴퓨터 집단)이라는 공간에서 데이터를 수집하는 행위
Requests, BeautifulSoup
크롤러를 만든다는 것은 브라우저를 대신하는 프로그램을 만든다는 것
원하는 페이지에 접근: get, 원하는 정보에 접근: select
image crawling, iframe crawling, javascript crawling,
요청이 거절당했을 때 = headers 주기
전처리
형태소 분석이 한글 토큰화
형태소: 의미를 가진 가장 작은 단위
정규표현식
-> 문법보다 중요한 것은 용법이다. 정규표현식을 쓸 때 튀어나와야 된다. 내가 원하는 대상을 지정하는 표현 방식, 위치적 특징으로 표현할 것인가 내부적 특징으로 표현할 것인가 두가지 입장에서 바라봐야한다.
노이즈, 불용어 제거
의미가 없는 쓰레기가 노이즈
의미는 있지만 필요없는 것 불용어
노이즈는 정규표현식으로 불용어는 불용어 사전을 만들어서 버린다.
통일화는 어간 추출과 표제어 추출이 있는데 형태소 분석기가 해 준다.
품사태깅은 주요품사를 추출하기 위해 사용한다.
토큰화와 벡터화 사이의 전처리 작업은 한 맥락이다.
벡터화는 Bow, TF-IDF, Embedding(순서 정보를 반영하는 정보)이 있다.
N-gram은 인접한 토큰의 묶음의 개수를 결정하는 것
인접한 토큰들의 묶음을 설정하기 때문에 빈도수 기반에서 유일하게 순서정보를 학습시킬 수 있는 방법론이다.
문서분류
logistic regression 확률적 + 선형적모형, 선형경계선을 찾고 확률적으로 예측하기
다중분류는 경계선을 여러 개 그린다. 분류의 개수만큼이 경계선의 개수.
딥러닝은 비선형, 곡선. 복잡한 문제를 더 잘 찾는다.
Decision Tree 은 스무고개와 다른 점으로는 특정 답 중에서 하나를 찾는 것, 질문도 정해져 있다. 하나의 질문만. 직선이다.
min Entropy 이다.
Question
Decision Tree는 RandomForest 같은 앙상블 모형에서 쓰인다.
Bootstrap : 원본으로부터 복원추출하면서 원본과 다른 샘플 데이터를 추출하는 방법, 서로다른 데이터를 뽑아내면서 서로 다른 모델을 학습시키는 것.
Naive Bayes : 각각이 독립적이란 전제 하에(Naive) Bayes 정리
분류 모델 평가지표: 정확도, FP, TP, FN, FP, 정밀도, F1 score, ROC, AUC
토픽모델링: 사후적 분석
LSA, LDA
'개발' 카테고리의 다른 글
CountVectorizer 를 이용해서 문서에 나온 단어 빈도수 뽑아보기 (0) | 2022.11.19 |
---|---|
2022.11.17 특강 (0) | 2022.11.17 |
python googletrans (0) | 2022.11.10 |
분류모델 평가 (0) | 2022.11.10 |
Naive Bayes (0) | 2022.11.10 |