UNK 토큰이 자주 나올 때
UNK 토큰이 자주 나올 때 점검할 5가지
분석 결과에 UNK가 자꾸 보이나요? UNK는 바른이 형태소를 어떤 품사로도 분류하지 못한
미분류(tag=0) 상태를 뜻합니다. 이 문서는 UNK가 잦을 때 차례로 점검할 다섯 가지를 정리합니다.
증상
형태소 태그가 UNK로 나오거나, 형태소의 out_of_vocab 값이 OUT_OF_VOCAB(미등록, 자동 추측)으로
표시됩니다. 특히 도메인 특화 텍스트(의학·법률·게임·신조어)에서 자주 나타나요.
원인
바른은 형태소마다 그 단어가 어디에서 왔는지를 out_of_vocab 값으로 알려줍니다.
| 값 | 의미 |
|---|---|
IN_WORD_EMBEDDING |
학습된 워드 임베딩에 포함 |
OUT_OF_VOCAB |
미등록단어, 자동 추측 |
IN_CUSTOM_DICT |
사용자 사전에 등록됨 |
IN_BUILTIN_DICT |
기본 사전에 포함 |
IN_URIMALSAEM |
우리말샘 |
IN_WIKI_DICT |
위키백과 사전 |
IN_ON_DICT |
온용어 사전 |
UNK가 잦다는 건 OUT_OF_VOCAB 형태소가 많다는 뜻이고, 곧 학습 데이터와 내장 사전에 없는
단어가 입력에 많다는 의미예요.
해결 — 점검할 5가지
-
out_of_vocab값을 먼저 확인하세요.OUT_OF_VOCAB이면 미등록단어,IN_*이면 사전에서 온 정상 단어입니다. 정상 단어인데 태그만 어색하다면 기대와 다른 결과 문서를 보세요. -
고유명사·전문용어를 사용자 사전에 등록하세요. 가장 효과가 큰 방법입니다.
UpdateCustomDictionary로 표제어를 추가하면 해당 형태소가IN_CUSTOM_DICT로 바뀝니다. -
복합명사는
cp_set/cp_caret_set을 쓰세요. 여러 명사가 붙은 긴 단어는 복합명사 사전에 넣고, 분리 지점을^로 표시하는cp_caret_set을 활용하면 분해가 정확해집니다. -
띄어쓰기를 점검하세요. 어절 경계가 깨지면 멀쩡한 단어도
UNK가 됩니다.auto_spacing을 켜서 보정을 맡겨보세요. -
입력 인코딩·정제를 확인하세요. 깨진 문자, 제어문자, 섞인 외국어가 있으면
UNK가 늘어납니다.encoding_type(UTF8/UTF16/UTF32)을 입력과 맞췄는지도 확인하세요.
한눈에 보는 점검표
- [ ]
out_of_vocab가OUT_OF_VOCAB인가 - [ ] 고유명사/전문용어를 사전에 등록했는가
- [ ] 복합명사를
cp_set/cp_caret_set으로 넣었는가 - [ ] 띄어쓰기(
auto_spacing)를 점검했는가 - [ ] 인코딩·입력 정제를 확인했는가
예방·팁
- 도메인 사전을 미리 구축해두면
UNK비율이 눈에 띄게 떨어집니다. 사전은 여러 개를 두고custom_dict_names에 우선순위 순서대로 지정할 수 있어요(먼저 지정한 사전이 우선). - 사용자 사전은 파일 변경을 실시간으로 감지해 무중단 갱신됩니다. 운영 중에도 단어를 보강할 수 있어요.
자주 묻는 질문
Q. UNK와 OUT_OF_VOCAB는 어떻게 다른가요?
UNK는 형태소가 어떤 품사로도 분류되지 않은 태그(tag=0)이고, OUT_OF_VOCAB는 그 단어의
출처가 "미등록·자동 추측"이라는 표시(out_of_vocab 값)입니다. 둘 다 미등록단어에서 비롯되는
경우가 많습니다.
Q. UNK를 가장 빨리 줄이는 방법은 무엇인가요?
자주 나오는 고유명사·전문용어를 사용자 사전에 등록하는 것입니다. 등록 후 분석 요청에
custom_dict_names를 지정하면 해당 단어가 IN_CUSTOM_DICT로 인식됩니다.
Q. 도메인 용어가 자꾸 UNK로 떠요, 어떻게 하나요?
의학·법률·게임 같은 도메인 특화 텍스트는 학습 데이터·내장 사전에 없는 미등록단어가 많아 UNK가
잦습니다. 해당 용어를 사용자 사전(np_set, 복합명사면 cp_set/cp_caret_set)에 등록하고
custom_dict_names로 지정하세요. 사전은 여러 개를 우선순위 순으로 줄 수 있어요.
Q. UNK 단어를 사전에 넣으면 서버를 재시작해야 하나요?
아니요. 사용자 사전은 CustomDictionaryService API로 관리하며 바른이 사전 디렉토리의 파일 변경을
실시간으로 감지해 무중단으로 즉시 반영합니다. 운영 중에도 단어를 보강하면 다음 요청부터 적용됩니다.
도움이 되었나요?