본문 바로가기
Python/데이터 분석

[Python] Text Analytics 개념

by 빵으니 2020. 7. 21.

텍스트 분석(Text Analytics, TA)

NLP 와 텍스트 분석(TA)

  • NLP : 머신이 인간의 언어를 이해하고 해석하는 데 중점
  • TA : 텍스트 마이닝(Text Mining)이라고 불리우며 비정형 텍스트에서 의미있는 정보를 추출 하는데 중점
  • 머신러닝 기술에 힘입어 크게 발전

NLP

  • 언어를 해석하기 위한 기계 번역
  • 자동으로 질문을 해석하고 답을 해주는 질의응답 시스템
  • NLP는 텍스트 분석을 향상하게 하는 기반 기술

텍스트 분류(Text Classification) - 지도 학습

  • Text Categroization 이라고도 함
  • 문서가 특정 분류 또는 카테고리에 속하는 것을 예측 하는 기법 통칭
  • 예) 특정 기사가 정치/사회/문화/기타 어떤 카테고리에 속하는지 자동 분류
  • 예) 스팸 메일 여부 자동 분류

감성 분석(Sentiment Anlysis) - 지도/비지도 학습

  • 텍스트에 나타나는 감정/판단/믿음/의견/기분 등의 주관적인 요소를 분석하는 기법의 총칭
  • 소셜미디어 감정 분석, 영화나 제품에 대한 긍정 또는 리뷰, 여론조사 의견 분석 등의 다양한 영역에서 활용
  • TA 분야에서 가장 활발하게 사용되고 있음

텍스트 요약(Summarization)

  • 텍스트 내에서 중요한 주제나 중심 사상을 추출하는 기법
  • 대표적으로 '토픽 모델링(Topic Modeling)'이 있음

텍스트 군집화(Clustering) - 비지도 학습

  • 비슷한 유형의 문서에 대해 군집화 수행하는 기법
  • 유사도 측정 역시 문서들간의 유사도를 측정해 비슷한 문서들끼리 모을 수 있는 방법

텍스트 분석의 이해

  • 텍스트 분석은 비정형 데이터인 텍스트를 분석 하는 것
  • 비정형 텍스트 데이터를 어떻게 피처 형태로 추출하고 의미있는 값 부여가 핵심
  • 텍스트를 word 기반의 다수 피처를 추출, 빈도수 부여 => 피처 벡터화(피처 추출)
  • 피처 벡터화 방식 : BOW(Bag of Words), Word2Vec
  • 텍스트를 벡터값을 가지는 피처로 변환하는 것이 머신러닝 모델 적용의 중요 요소

텍스트 분석 수행 프로세스

  • 텍스트 사전 준비 작업(텍스트 전처리)
  • 피처 벡터화 / 추출
  • ML 모델 수립 및 학습/예측/평가

[ 파이썬 기반 NLP, 텍스트 분석 패키지 ]

NLTK(Natural Language Toolkit for Python)

  • 파이썬의 가장 대표적인 NLP 패키지
  • 방대한 데이터 세트와 서브 모듈
  • NLP의 거의 모든 영역 커버

Gensim

  • 토픽 모델링 분야 패키지
  • Word2Vec 구현등 다양한 신기능 제공
  • SpaCy 와 함께 가장 많이 사용되는 NLP 패키지

SpaCy

  • 뛰어난 수행 성능으로 최근 가장 주목을 받는 NLP 패키지

텍스트 사전 준비 작업(텍스트 전처리) - 텍스트 정규화

텍스트 정규화

  • 텍스트를 머신러닝 알고리즘이나 NLP 애플리케이션에 입력 데이터로 사용하기 위해 클렌징, 정제, 토큰화, 어근화 등의 사적전 작업을 수행하는 것

클렌징

  • 텍스트 분석에 방해가 되는 불필요한 문제, 기호등 사전에 제거
  • HTML, XML 등에서 태그나 특정 기호 제거

텍스트 토큰화

  • 문장을 문서에서 분리하는 문장 토큰화
  • 문장에서 단어를 분리하는 단어 토큰화

문장 토큰화

  • punkt : 마침표, 개행 문자등의 데이터 세트

댓글