텍스트 처리: 토큰화
ㅁ 텍스트 처리
ㅇ 정의:
텍스트 데이터를 분석 가능한 형태로 변환하는 과정으로, 주로 자연어 처리에서 사용됨.
ㅇ 특징:
텍스트 데이터의 불필요한 부분을 제거하고, 분석에 적합한 구조로 변환함. 예를 들어, 대소문자 통일, 불용어 제거, 토큰화 등을 포함함.
ㅇ 적합한 경우:
자연어 처리(NLP)에서 텍스트 데이터를 전처리할 때, 데이터의 품질을 높이기 위해 사용됨.
ㅇ 시험 함정:
텍스트 처리 과정에서 모든 데이터가 동일한 방식으로 처리될 수 없음을 간과하거나, 불용어 목록이 고정적이라고 오해할 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: 텍스트 처리는 데이터 분석 전처리 과정 중 하나이다.
– X: 텍스트 처리는 항상 동일한 규칙으로 처리된다.
================================
1. 토큰화
ㅇ 정의:
텍스트 데이터를 단어, 문장 등 분석 가능한 최소 단위로 나누는 작업.
ㅇ 특징:
언어별로 다르게 동작하며, 영어는 주로 공백을 기준으로 나누지만, 한국어는 형태소 분석이 필요함.
ㅇ 적합한 경우:
자연어 처리에서 텍스트 데이터를 수치화하거나 모델 입력으로 사용할 때.
ㅇ 시험 함정:
토큰화가 항상 정확한 결과를 보장한다고 생각하거나, 언어별 특성을 고려하지 않는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: 토큰화는 텍스트를 분석 가능한 단위로 나누는 작업이다.
– X: 모든 언어에서 토큰화는 동일한 방식으로 수행된다.
ㅁ 추가 학습 내용
토큰화의 주요 알고리즘과 그 차이점, 그리고 토큰화 후 발생할 수 있는 데이터 손실이나 왜곡 문제를 학습하기 위해 다음과 같이 정리합니다:
1. **토큰화의 주요 알고리즘**
– **BPE (Byte Pair Encoding)**:
– 반복적으로 가장 빈번하게 나타나는 문자 또는 문자 쌍을 병합하여 점진적으로 더 큰 단위의 토큰을 만드는 방식.
– 초기에는 개별 문자로 시작하며, 자주 사용되는 문자 쌍을 병합해 어휘를 확장.
– 단순하면서도 효율적이며, 희귀 단어를 분해하여 처리할 수 있음.
– **WordPiece**:
– BPE와 유사하지만, 병합할 쌍을 선택할 때 “빈도”뿐만 아니라 “언어 모델의 확률”을 고려하여 병합.
– 언어 모델의 성능을 최적화하는 방향으로 병합이 이루어짐.
– 주로 BERT와 같은 모델에서 사용됨.
– 두 알고리즘 모두 희귀 단어를 처리하기 위해 서브워드 단위로 분해하며, 어휘 크기를 제한할 수 있어 메모리 효율적.
2. **BPE와 WordPiece의 차이점**
– 병합 기준:
– BPE는 단순히 빈도 기반으로 병합.
– WordPiece는 빈도와 언어 모델의 확률을 함께 고려하여 병합.
– 사용 목적:
– BPE는 일반적으로 다양한 자연어 처리 모델에서 사용.
– WordPiece는 BERT와 같은 특정 모델에서 최적화된 성능을 위해 설계됨.
– 어휘 생성 방식:
– BPE는 전처리 단계에서 고정된 어휘를 생성.
– WordPiece는 모델 학습 과정에서 어휘를 최적화.
3. **토큰화 후 발생할 수 있는 문제**
– **데이터 손실**:
– 희귀 단어가 서브워드로 분해될 때 원래의 의미가 손실될 가능성.
– 예를 들어, 고유명사나 특정 단어의 철자가 분해되면서 의미가 왜곡될 수 있음.
– **왜곡 문제**:
– 토큰화된 단어가 문맥에 따라 다르게 해석될 가능성.
– 토큰화 과정에서 문맥 정보가 손실될 수 있어 모델의 이해도가 낮아질 수 있음.
– **어휘 크기 제한**:
– 어휘 크기를 제한하면 특정 단어를 표현하기 위해 더 많은 토큰이 필요할 수 있음.
– 이는 모델의 처리 속도를 저하시킬 수 있음.
4. **학습 방향**
– BPE와 WordPiece의 병합 과정과 알고리즘 세부 사항을 이해하고, 실제 토큰화된 결과를 비교 분석.
– 토큰화가 희귀 단어, 고유명사, 복합어 등에 미치는 영향을 분석하여 데이터 손실과 왜곡 문제를 파악.
– 토큰화된 데이터가 모델 성능에 미치는 영향을 실험적으로 확인.