본문 바로가기

파이썬 머신러닝

[파이썬 머신러닝 완벽 가이드] 8. 텍스트 분석

텍스트 분석 기술 영역

  • 텍스트 분류: 특정 문서의 분류를 학습 데이터를 통해 학습해 모델을 생성한 뒤, 이 학습 모델을 이용해 다른 문서의 분류를 예측하는 작업입니다.
  • 감성 분석: 문서 내 텍스트의 주관적인 감정을 분석하는 기술로, 긍정적인 감정과 부정적인 감정을 구분하여 분석합니다. 이를 위해 학습 데이터와 타깃 레이블 값을 활용하여 지도 학습을 하거나, 감성 어휘 사전을 이용하여 비지도 학습을 수행합니다.
  • 텍스트 요약: 텍스트 내에서 중요한 주제나 중심 사상을 추출하는 기법을 의미합니다.
  • 텍스트 군집화와 유사도 측정: 비지도 학습을 기반으로, 비슷한 특성을 가진 문서들을 군집화하거나 문서 간 유사도를 측정합니다.

 

텍스트 분석 수행 프로세스

  1. 데이터 사전 준비작업(텍스트 전처리): 클렌징, 토큰화, 정제, 어근화, 스톱 워드 제거 등의 텍스트 정규화 작업을 수행하는 것을 통칭합니다.
  2. 피처 벡터화/추출: 가공된 텍스트에서 피처를 추출하고 여기에 벡터 값을 할당합니다.
  3. ML 모델 수립 및 학습/예측/평가: 피처 벡터화된 데이터 세트에 ML 모델을 적용해 학습/예측 및 평가를 수행합니다.

 

BOW(bag of Words) 피처 벡터화

BOW(Bag of Words)는 텍스트 데이터를 처리하는 방법 중 하나로, 문서가 가지는 모든 단어를 단순히 빈도로 표현하는 모델입니다.

BOW 피처 벡터화는 모든 문서에서 모든 단어를 칼럼 형태로 나열하고, 각 문서에서 해당 단어의 빈도를 값으로 부여하여 데이터를 변환합니다.

이렇게 만들어진 벡터 데이터 세트는 희소 행렬이며, 머신러닝 모델은 이러한 희소 행렬 기반에서 최적화되어야 합니다.

 

BOW의 피처 벡터화 방식

1. Count 기반 피처 벡터화 (지도학습)

단어 피처에 값을 부여할 때 해당 단어가 나타나는 횟수를 부여하는 경우를 의미합니다.

카운트 값이 높을수록 중요한 단어로 인식됩니다.

 

2. TF-IDF 기반 피처 벡터화 (비지도학습)

개별 문서에서 자주 나타나는 단어에 높은 가중치를 주되,

모든 문서에서 전반적으로 나타나는 단어에는 패널티를 부여하여 가중치를 균형있게 조절합니다.

 

문서마다 텍스트 길이가 길고 문서의 개수가 많은 경우 카운트 방식보다는 TF-IDF 방식을 사용하는 것이

더 좋은 예측 성능을 보장할 수 있씁니다.

 

 

 

파이프라인(Pipeline) 사용 및 GridSearchCV와의 결합

머신러닝에서 Pipeline이란 데이터의 가공, 변화 등의 전처리와 알고리즘을 마치 '수도관(pipe)에서

물이 흐르듯' 한꺼번에 스트림 기반으로 처리한다는 의미입니다.

피처 벡터화와 ML 알고리즘 학습/예측을 위한 코드 작성을 한 번에 처리하는 도구로, 코드를 간결하게 유지하고 실행 순서를 보다 명확하게 관리할 수 있습니다.

 

 

 

감사합니다.