Hello It's good to be back ^_^
파이썬 머신러닝 스터디 8주차 (ch08 텍스트 분석) 본문
교재: 파이썬 머신러닝 완벽 가이드
공부한 페이지: pp. 488-
실습한 내용: https://github.com/HongYeonLee/Pylot_MachineLearningStudy
목차
01. 텍스트 분석 이해
02. 텍스트 사전 준비 작업 (텍스트 전처리) - 텍스트 정규화
03. Bag of Words - BOW
04. 텍스트 분류 실습 - 20 뉴스그룹 분류
05. 감성 분석
06. 토픽 모델링 (Topic Modeling) - 20 뉴스그룹
07. 문서 군집화 소개와 실습 (Opinion Review 데이터 세트)
08. 문서 유사도
09. 한글 텍스트 처리 - 네이버 영화 평점 감성 분석
10. 텍스트 분석 실습 - 캐글 Mercari Price Suggestion Challenge
NLP (National Language Processing)
- 머신이 인간의 언어를 이해하는 데 중점을 둔 것
- 기계 번역, 질의응답 분야에서 사용
텍스트 분석 (Text Analytics)
- 비정형 텍스트에서 의미 있는 정보를 추출하는 것에 중점을 둔 것
- 롤 기반 시스템 분야에서 사용
텍스트 분석의 분류
종류 | 사용 예시 | 학습 방법 |
텍스트 분류 (Text Classification) | 신문기사 카테고리 판별, 스팸메일 검출 | 지도 학습 |
감성 분석 (Sentiment Analysis) | SNS 감정 분석, 리뷰 분석 | 지도 학습 & 비지도 학습 |
텍스트 요약 (Summarization) | 토픽 모델링 (Topic Modeling) | |
텍스트 군집화 (Clustering) | 비슷한 유형의 문서에 군집화 수행 | 비지도 학습 |
유사도 측정 | 문사들간의 유사도 측정 |
01 텍스트 분석 이해
텍스트 분석
- 비정형 데이터인 텍스트를 분석하는 것
- 텍스트에 머신러닝을 적용하기 위해서는 비정형 데이터를 어떻게 피처 형태로 추출하고, 추출된 피처에 의미 있는 값을 부여하는지 중요하다
텍스트 변환
- 텍스트를 word 기반의 다수의 피처로 추출하고 이 피처에 단어 빈도수와 같은 숫자 값을 부여하면 벡터값으로 변환할 수 있다
- 이를 피처 벡터화 (Feature Vectorization) 또는 피처 추출 (Feature Extraction)이라고 한다
피처 벡터화의 종류
- BOW (Bag of Words) - Count 기반과 TF-IDF 기반 벡터화가 있다
- Word2Vec
텍스트 분석 수행 과정
01. 텍스트 전처리
- 클렌징, 대/소문자 변경, 특수문자 삭제, 단어 토큰화 작업, 의미 없는 단어 (Stop word) 제거, 어근 추출(Stemming/Lemmatization)등의 작업 수행
02. 피처 벡터화/추출
- 가공된 텍스트에서 피처 추출 후 벡터 값 할당 (BOW와 Word2Vec 이용)
03. ML 모델 수립 및 학습/예측/평가
파이썬 라이브러리
NLTK (Natural Language Toolkit for Phytho) - 파이썬의 가장 대표적인 NLP 패키지, 수행 속도에서 아쉬운 능력 Gensim - 토픽 모델링 분야에서 많이 활용, Word2Vec 구현 SpaCY - 뛰어난 성능 수행으로 최근 가장 주목 받는 NLP 패키지 |
02 텍스트 사전 준비 작업 (텍스트 전처리) - 텍스트 정규화
텍스트 정규화
- 텍스트를 머신러닝 알고리즘이나 NLP 애플리케이션에 입력 데이터로 사용하기 위해 클린젱, 정제, 토큰화, 어근화 등의 텍스트 데이터 사전 작업을 수행하는 것을 의미함
텍스트 정규화의 분류
- 클렌징 (Cleansing)
- 토큰화 (Tokenization)
- 필터링/스톱 워드 제거/철자 수정
- Stemming
- Lemmatization
클렌징
불필요한 문자, 기호 등을 사전에 제거하는 작업을 의미한다. ex) HTML, XML 태그나 특정 기호 등
텍스트 토큰화
문서에서 문장을 분리하는 문장 토큰화
문장에서 단어를 분리하는 단어 토큰화
NLTK 패키지가 토큰화에 대한 다양한 API 제공
문장 토큰화
마침표(.), 개행문자(\n) 등을 따라 문장을 분리하는 것이 일반적
'Study > 파이썬 머신러닝' 카테고리의 다른 글
파이썬 머신러닝 스터디 7주차 (ch07 차원 축소) (0) | 2024.05.14 |
---|---|
파이썬 머신러닝 스터디 6주차 (ch06 차원 축소) (0) | 2024.05.08 |
파이썬 머신러닝 스터디 5주차 (ch05 회귀) (0) | 2024.05.04 |
파이썬 머신러닝 스터디 4주차 (ch04-2 분류) (0) | 2024.04.11 |
파이썬 머신러닝 스터디 3주차 (ch04-1 분류) (2) | 2024.04.04 |