개념 및 실천: Tokenization
ㅁ 개념 및 실천
ㅇ 정의:
데이터 중심 설계의 개념과 실천 방법을 다루며, 데이터의 구조와 품질을 최적화하는 데 중점을 둔다.
ㅇ 특징:
데이터 분석 및 머신러닝 모델의 성능을 높이기 위해 데이터를 정리, 변환, 및 구조화하는 과정 포함.
ㅇ 적합한 경우:
데이터 품질이 낮거나, 분석 및 모델링에 적합하지 않은 원시 데이터를 처리해야 할 때.
ㅇ 시험 함정:
데이터 중심 설계와 데이터 중심 접근법의 차이를 혼동하거나, 실천 방법론의 세부 단계에 대한 이해 부족.
ㅇ 시험 대비 “패턴 보기” 예시:
1. 데이터 중심 설계는 데이터 품질 평가를 포함한다. (O)
2. 데이터 중심 설계는 데이터 시각화 기법의 일부이다. (X)
================================
1. Tokenization
ㅇ 정의:
텍스트 데이터를 작은 단위(토큰)로 나누는 과정으로, 주로 단어 또는 문장 단위로 나뉜다.
ㅇ 특징:
자연어 처리(NLP)에서 필수적인 전처리 단계이며, 언어별로 토큰화 방식이 다를 수 있다.
ㅇ 적합한 경우:
텍스트 데이터를 분석하거나 머신러닝 모델에 입력하기 전에 텍스트를 구조화해야 할 때.
ㅇ 시험 함정:
토큰화와 어간 추출 또는 표제어 추출의 차이를 혼동하거나, 언어별 토큰화 차이를 간과.
ㅇ 시험 대비 “패턴 보기” 예시:
1. 토큰화는 텍스트 데이터를 분석 가능한 숫자 데이터로 변환하는 과정이다. (X)
2. 토큰화는 문장을 단어 단위로 나누는 과정을 포함한다. (O)
ㅁ 추가 학습 내용
1. Tokenization 과정에서 발생할 수 있는 문제점:
– 언어별 특수성: 언어마다 단어 구조와 문법이 다르기 때문에, 토큰화 과정에서 어려움이 발생할 수 있습니다. 예를 들어, 영어는 공백을 기준으로 단어를 구분하기 쉽지만, 한국어나 중국어는 공백이 명확하지 않아 단어 경계를 식별하기 어렵습니다.
– 다의어 처리: 동일한 단어가 문맥에 따라 다른 의미를 가질 수 있어, 토큰화만으로는 의미를 정확히 파악하기 어렵습니다.
– 신조어 및 미등록어 처리: 사전에 없는 새로운 단어나 외래어가 등장할 경우, 이를 적절히 분리하거나 처리하는 데 한계가 있을 수 있습니다.
2. Tokenization 문제 해결을 위한 기법:
– BPE(Byte Pair Encoding): 자주 등장하는 문자 쌍을 병합하여 서브워드 단위로 단어를 분리하는 방법입니다. 이를 통해 신조어나 희귀 단어를 처리할 수 있습니다.
– WordPiece: BPE와 유사하게 서브워드 단위로 단어를 나누는 기법으로, 주로 BERT 모델에서 사용됩니다. 자주 등장하는 서브워드를 우선적으로 병합하며, 어휘 크기를 제한하는 데 효과적입니다.
– Unigram Language Model: 특정 서브워드 집합에서 가장 적합한 서브워드 분할을 선택하는 기법으로, 서브워드의 확률 분포를 학습합니다.
3. 어간 추출과 표제어 추출의 차이점 및 활용 사례:
– 어간 추출(Stemming): 단어의 어미를 단순히 제거하여 기본 형태의 어간을 추출하는 과정입니다. 규칙 기반으로 동작하며, 정확도가 낮을 수 있지만 속도가 빠릅니다. 예: “running” → “run”.
– 표제어 추출(Lemmatization): 단어의 품사와 문맥을 고려하여 사전에 있는 기본 형태(표제어)를 찾아내는 과정입니다. 언어적 지식을 활용하므로 정확도가 높지만, 계산 비용이 더 큽니다. 예: “better” → “good”.
4. 활용 사례:
– 어간 추출: 검색 엔진에서 유사한 단어를 포함한 검색 결과를 제공할 때 사용됩니다.
– 표제어 추출: 자연어 처리에서 문맥을 고려한 정확한 분석이 필요한 경우, 예를 들어 문법 분석이나 감정 분석에서 활용됩니다.