[파머완] ch8.1 텍스트 분석의 이해

­반소희·2022년 7월 22일
1

ch8.1 NLP 와 Text Mining

8장에서는 텍스트 분류, 감정 분석, 텍스트 요약, 텍스트 군집화/유사도에 대해 다루고 있다.

  1. NLP
  • 목적
    머신이 인간의 언어를 이해하고 해석하는 데 더 중점을 두고 기술이 발전

    • 언어를 해석하기 위한 기계 번역
    • 자동으로 질문을 해석하고 답을 해주는 질의응답 시스템
  1. Text Mining
  • 목적
    비정형 텍스트에서 의미 있는 정보를 추출하는 것에 좀 더 중점을 두고 기술이 발전

    • 텍스트 분류 (Text Classification)
      문서가 특정 분류 또는 카테고리에 속하는 것을 예측
      스펨 메일 검출
      지도 학습 적용

    • 감정 분석 (Sentiment Analysis)
      텍스트에서 나타나는 감정/판단/믿음/의견/기분 등의 주관적인 요소를 분석하는 기법
      소셜 미디어의 감정 분석, 영화나 제품에 대한 긍부정 리뷰, 여론조사 의견 분석
      지도 학습 및 비지도 학습 모두 적용 가능

    • 텍스트 요약 (Summarization)
      텍스트 내의 주제를 추출하는 기법
      대표적으로 Topic Modeling 이 있음

    • 텍스트 군집화 (Clustering) 와 유사도 측정
      비슷한 유형의 문서에 대해 군집화를 수행하는 기법
      텍스트 분류를 비지도 학습으로 수행하는 방법의 일환으로 사용될 수 있음

ch8.1 텍스트 분석의 이해

  1. 텍스트 분석이란 ?
    비정형 데이터인 텍스트를 분석하는 것

  2. 피처 벡터화 (Feature Vectorization) 또는 피처 추출 (Feature Extraction)
    머신러닝 알고리즘은 숫자형 피처 기반 데이터만 입력받을 수 있음

    텍스트를 머신러닝에 적용하기 위해서는
    1) 비정형 텍스트 데이터를 어떻게 피처 형태로 추출하고,
    2) 추출된 피처에 의미 있는 값을 부여하는 가
    하는 것은 매우 중요한 요소임

    따라서 머신러닝 모델을 적용하기 전 수행하는 단계의 중요 요소 예시는 다음과 같음
    1) 텍스트 문장을 word 기반의 다수의 피처로 추출
    2) 이 피처에 단어 빈도수와 같은 숫자 값을 부여
    3) 그 결과, 텍스트는 단어의 조합인 벡터 값으로 표현이 가능
    이렇게 텍스트를 벡터 값으로 변환하는 과정을 피처 벡터화 또는 피처 추출이라 함

  3. 텍스트피처 벡터화해서 변환하는 방법

  • BOW (Bag of Words)
    • Count 기반 벡터화
    • TF-IDF 기반 벡터화
  • Word2Vec

ch8.1 텍스트 분석 프로세스

  1. 텍스트 전처리
  • 텍스트를 피처로 만들기 전 단계
  • 텍스트 전처리 예시
    • 대/소문자 변경, 특수문자 삭제 등의 클렌징 작업
    • 단어 (Word) 등의 토큰화 작업
    • 의미 없는 단어 (Stop Word) 제거 작업
    • 어근 추출 (Stemming/Lemmatization) 등의 텍스트 정규화 작업
  1. 피처 벡터화/추출
  • 사전 준비 작업으로, 가공된 텍스트에서 피처를 추출하고 벡터 값을 할당하는 작업
  • 대표적인 방법은 BOW, Word2Vec 이 있으며, BOW는 대표적으로 Count 기반과 TF-IDF 기반 벡터화가 있음
  1. ML 모델 수립 및 학습/예측/평가
  • 피처 벡터화된 데이터셋에 ML 모델을 적용하여 학습/예측/평가를 수행함

ch8.1 파이썬 기반의 NLP, 텍스트 분석 패키지

파이썬 기반의 NLP와 텍스트 분석을 위해 텍스트 사전 정제 작업, 피처 벡터화/추출 작업, ML 모델 등을 지원해주는 대표적인 라이브러리는 다음과 같다.

  • NLTK
  • Gensim
  • SpaCy

사이킷런은 머신러닝 위주의 라이브러리여서 '어근 처리'와 같은 NLP를 위한 다양한 라이브러리를 제공하지는 않는다. 하지만 텍스트를 일정 수준으로 가공하고, 텍스트 데이터를 피처로 처리하기 위한 편리한 기능들을 제공하고 있어 사이킷런으로도 충분히 텍스트 분석 기능을 수행할 수 있다.

하지만 다양한 텍스트 분석이 수행되어야 하는 경우, 일반적으로 NLTK/Gensim/SpaCy 와 같은 NLP 전용 패키지와 함께 결합하여 작성하는 경우가 많다.

profile
행복한 소히의 이것저것

0개의 댓글

관련 채용 정보