개요
Q. Out of Vocabulary (OOV) 에러가 발생하면 어떻게 하는가?
A. 서브워드 토크나이저를 사용하거나 어휘를 확장합니다.
내용
Out of Vocabulary (OOV) 에러는 NLP에서 학습된 어휘(vocabulary)에 포함되지 않은 단어가 입력 데이터에 등장할 때 발생하는 문제를 말합니다. 이는 모델이 학습 중에 본 적 없는 단어를 처리하지 못해 성능 저하나 오류를 일으키는 상황을 의미합니다.
OOV 단어는 일반적으로 <UNK>(unknown) 토큰으로 대체되는데, 이는 문맥 이해를 방해할 수 있습니다. 특히, 이전 단어를 기반으로 다음 단어를 예측하는 작업에서 치명적일 수 있습니다. 예를 들어, 중요한 정보가 OOV로 처리되면 모델의 예측 정확도가 크게 떨어질 수 있습니다
OOV 에러의 원인은 아래와 같습니다.
1. 제한된 어휘 크기
NLP 모델은 학습 데이터에서 등장한 단어들로 어휘를 구성합니다. 이 어휘에 포함되지 않은 단어는 처리할 수 없습니다.
2. 새로운 단어 등장
테스트 데이터나 실제 사용 환경에서 학습 데이터에 없던 신조어나 희귀 단어, 오타 등이 나타날 경우 발생합니다.
OOV 에러의 해결 방안은 아래와 같습니다.
1. 서브워드 토크나이저 사용
Byte Pair Encoding(BPE), WordPiece와 같은 서브워드 기반 토크나이저는 단어를 더 작은 의미 단위로 분리하여 처리합니다.
예: "elephant" → "ele" + "phant". 이를 통해 새로운 단어도 기존 서브워드 조합으로 표현 가능합니다.
2. 백오프 기법
OOV 단어를 <UNK>와 같은 특정 토큰으로 대체하여 문맥 기반 처리를 가능하게 합니다.
3. 대규모 어휘 사용
어휘 크기를 늘려 OOV 발생 가능성을 줄입니다. 하지만 이는 메모리 사용량과 계산 복잡성을 증가시킬 수 있습니다.
4. 동적 어휘 확장
모델이 새로운 단어를 학습 중에 동적으로 추가할 수 있도록 설계합니다.
5. 임베딩 일반화
OOV 단어와 유사한 맥락의 기존 단어 임베딩을 활용하여 의미를 추론합니다.
참고사항
서브워드 토크나이저는 자연어 처리에서 희귀 단어나 새로운 단어를 효과적으로 처리하기 위해 단어를 더 작은 의미 단위인 서브워드로 분리하는 방법입니다.
- Byte Pair Encoding(BPE): 빈번한 문자 쌍을 반복적으로 결합하여 서브워드 생성
- WordPiece: 빈도와 의미를 고려하여 서브워드를 선택
- SentencePiece: 비지도 학습 기반으로 서브워드를 생성
'Q&A > AI & GPU' 카테고리의 다른 글
GPU 메모리 부족으로 Out of Memory 에러가 발생하면 어떻게 하는가? (0) | 2025.04.13 |
---|---|
LLM에서 왜 할루시네이션이 발생하는가? (1) | 2025.04.09 |
AI 학습에 인피니밴드가 꼭 필요한가? (2) | 2025.04.08 |
양자화는 AI 모델 성능에 영향을 끼치는가? (0) | 2025.04.07 |
AI 학습에서 NVMe SSD는 무엇인가? (0) | 2025.04.03 |