-
텍스트 분석Python Machine Learning/텍스트 분석 2020. 10. 20. 12:07
지금까지 머신러닝 알고리즘은 숫자형의 피처 기반 데이터만 입력받을 수 있기 때문에 텍스트를 머신러닝에 적용하기
위해서는 비정형 텍스트 데이터를 어떻게 피처 형태로 추출하고 추출된피처에 의미 있는 값을 부여하는가 하는 것이
중요하며, 텍스트를 word 기반의 다수의 피처로 추출하고 이 피처에 단어 빈도수와 같은 숫자 값을 부여하면 텍스트는 단어의 조합인 벡터값으로 표현될 수 있는데, 이렇게 텍스트를 변환하는 것을 피처 벡터화, 피처 추출이라 한다
[ 텍스트 분석 수행 프로세스 ]
1. 텍스트 전처리 :
텍스트를 피처로 만들기 전에 사전에 클렌징, 대/소문자 변경, 특수문자 삭제등의 클렌징 작업, 단어등의 토큰화 작업,
의미없는 단어 제거 작업, 어근 추출등의 텍스트 정규화 작업을 수행
2. 피처 벡터화/추출 :
전처리를 통해 가공된 텍스트에서 피처를 추출하고 여기에 벡터 값을 할당.
대표적인 방법 BOW( Count, TF-IDF ), Word2Vec
3. ML 모델 수립 및 학습/ 예측/ 평가 :
피처 벡터화된 데이터 세트에 ML 모델을 적용해 학습/예측 및 평가를 수행
[ NLP, 텍스트 분석 패키지 ]
NLTK( national language toolkit for python )
- 파이썬 기반 패키지로 방대한 데이터 세트와 서브 모듈을 가지고 있으며 NLP의 거의 모든 영역을 커버
- 많은 NLP 패키지가 NLTK의 영향을 받아 작성
- 수행 속도 측면에서 아쉬운 부분이 있어 실제 대량의 데이터 기반에서는 제대로 활용되지 못함
Gensim
- 토픽 모델링 분야에서 가장 두각을 나타내는 패키지
- Word2Vec 구현등의 다양한 기능 제공
- SpaCy와 함께 가장 많이 사용되는 NLP 패키지
Spacy
- 뛰어난 수행 성능으로 최근 가장 주목받는 패키지
'Python Machine Learning > 텍스트 분석' 카테고리의 다른 글
감성 분석 - IMDB 영화평 (0) 2020.12.24 텍스트 분류 실습 - 뉴스그룹 분류(2) (0) 2020.12.23 텍스트 분류 실습 - 뉴스그룹 분류 (0) 2020.11.27 Bag of Words - BOW (0) 2020.11.14 텍스트 사전 준비 작업( 텍스트 전처리 ) - 텍스트 정규화 (0) 2020.11.14