일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- rolling retention
- R기초
- 웹크롤링
- 문자열reverse
- R
- 프로그래머스 풀이
- 피처벡터화
- 파이썬
- 데이터프레임조회
- 함컴타자연습
- 문자열함수
- r연습문제
- 구구단
- pandas
- 파이썬예제
- 타자연습파이썬
- 특정값 추출
- java
- 웹크롤링 예제
- 네이버웹툰크롤링
- R실습
- 데이터프레임 정보 조회
- 파이썬 야구게임
- Python
- 조건인덱싱
- requests 모듈
- 웹크롤링 실습
- classic retention
- 야구게임 코드
- range retention
- Today
- Total
서비스 기획자의 성장기록
[ML/텍스트분석] 2. 텍스트 전처리 (정규화) - 클렌징, 텍스트 토큰화 본문
텍스트 데이터에서 피처를 추출하기 위해 텍스트를 정규화하는 작업이 필요하다.
텍스트 정규화 작업에는 크게 클렌징, 텍스트 토큰화, stop word 제거, 어근화 (stemming & lemmatization)이 있다.
클렌징
텍스트 분석에 방해가 되는 불필요한 문자, 기호 등을 제거하는 작업이다. HTML, XML 태그나 기호들을 제거한다.
텍스트 토큰화
텍스트 토큰화는 문서를 문장 단위로 분리하는 문장 토큰화와 문장을 단어 단위로 분리하는 단어 토큰화가 있다.
1) 문장 토큰화 (sentence tokenization) - nltk sent_tokenize()
문장 토큰화는 문장의 끝을 의미하는 기호를 기준으로 문서를 문장 단위로 분리한다. 분리의 기준이 되는 기호는 마침표(.)나 개행문자(\n) 등이 있다.
*nltk.download('punkt'): 마침표, 개행문자 등의 데이터 세트 다운로드
2) 단어 토큰화 (word tokenization) - nltk word_tokenize
단어 토큰화는 공백, 콤마(,), 마침표(.), 개행문자 등으로 문서나 문장을 단어 단위로 분리하는 것이다.
문장 분리 구분자도 분리의 기준에 포함되기 때문에 Bag of Word 처럼 단어의 순서가 중요하지 않은 경우, 문장 토큰화를 거치지 않고 바로 단어 토큰화를 사용해도 무방하다.
*문장 토큰화는 문장이 가지는 시멘틱적 의미가 중요한 요소로 사용될 때 사용함
이 때, 문장을 단어 하나씩 토큰화 할 경우 문맥적인 의미가 사라진다. 이를 방지하고자 사용하는 방법이 n-gram이다.
n-gram은 연속된 n개의 단어를 하나의 토큰 단위로 분리하는 것이다.
ex) n-grame=2
"I woke up at 6am this morning." -> (I, woke), (woke, up), (up, at), (at, 6am), (6am, this), (this, morning)
'머신러닝 (ML) > 텍스트 분석' 카테고리의 다른 글
[ML/텍스트분석] 5. 텍스트 분류 실습: 20 뉴스그룹 분류 (0) | 2024.02.11 |
---|---|
[ML/텍스트분석] 4. 피처 벡터화 - Bag of Words (BOW) (0) | 2024.02.10 |
[ML/텍스트분석] 3. 텍스트 전처리 (정규화) - stopwords 제거, stemming & lemmatization (0) | 2024.02.10 |
[ML / 텍스트분석] 1. 텍스트 분석 개요 (1) | 2023.12.11 |