[NLP] 텍스트 데이터 전처리와 표현 방법 [기초]
자연어 처리
텍스트 데이터 전처리 과정에서는 불필요한 노이즈를 제거하고, 텍스트를 일관된 형태로 정규화하는 작업이 이루어집니다. 특수 문자 제거, 오타 수정, 결측치 및 이상치 제거 등의 과정을 거쳐 텍스트 데이터를 깔끔하게 정리합니다.
또한, 텍스트 토큰화는 문장을 의미 있는 단위로 분리하는 작업으로, 문장 토큰화와 단어 토큰화가 포함됩니다. 이러한 토큰화 과정은 자연어 처리의 중요한 기반을 이루는 작업입니다.
텍스트 표현 방법으로는 Bag of Words
텍스트 데이터 전처리 과정은 자연어 처리
1. 텍스트 클리닝
- 비정형 데이터 제거: HTML 태그, XML 태그, JSON 문자열 등을 제거합니다.
- 특수 문자 제거: &, #, @ 같은 특수 문자나 이모티콘 등을 제거합니다.
- 오타 수정: 오타나 문법 오류를 수정합니다.
- 결측치
2. 텍스트 정규화
- 대소문자 통일: 모든 문자를 소문자나 대문자로 변환하여 일관성을 유지합니다.
- 어간 추출
- 표제어 추출
- 동의어 처리: 동의어를 통일된 표현으로 변환합니다. 예를 들어, "automobile"은 "car"로 변환됩니다.
3. 토큰화
- 문장을 의미 있는 단위
- 문장 토큰화: 문단을 개별 문장으로 나눕니다.
- 단어 토큰화: 문장을 개별 단어로 나눕니다.
4. 불용어 제거
- 분석에 큰 의미가 없는 일반적인 단어
5. 텍스트 표현
- 텍스트 데이터를 숫자 벡터로 변환하는 과정입니다.
- 대표적인 방법으로는 Bag of Words
Tokenization은 텍스트를 의미 있는 단위로 분리하는 과정으로, 단순한 띄어쓰기 기반이나 문자 단위로 토큰화하는 방법의 문제점을 극복하기 위해 다양한 Tokenizer가 필요합니다. 언어의 특성, 작업의 특성, 모델의 구조에 따라 최적화된 Tokenizer를 선택하여 사용합니다.
Encoding
텍스트 데이터의 표현 방식으로는 Bag of Words
단어 빈도 tf
the raw count itself
Boolean "frequencies"
logarithmically scaled frequency
augmented frequency
역문서 빈도는 한 단어가 문서 집합 전체에서 얼마나 공통적으로 나타나는지를 나타내는 값이다. 전체 문서의 수를 해당 단어를 포함한 문서의 수로 나눈 뒤 로그를 취하여 얻을 수 있다.
|D|: 문서 집합 D의 크기, 또는 전체 문서의 수
TF-IDF는 다음과 같이 표현된다.
특정 문서 내에서 단어 빈도가 높을 수록, 그리고 전체 문서들 중 그 단어를 포함한 문서가 적을 수록 TF-IDF값이 높아진다. 따라서 이 값을 이용하면 모든 문서에 흔하게 나타나는 단어를 걸러내는 효과를 얻을 수 있다. IDF의 로그 함수 안의 값은 항상 1 이상이므로, IDF값과 TF-IDF값은 항상 0 이상이 된다. 특정 단어를 포함하는 문서들이 많을 수록 로그 함수 안의 값이 1에 가까워지게 되고, 이 경우 IDF값과 TF-IDF값은 0에 가까워지게 된다.