콘텐츠로 이동

어절이 NA로 분석될 때

어절이 NA로 분석돼요 — 원인 진단과 해법

형태소 분석 결과에서 어떤 어절이 NA(분석불능)로 나온 적 있으신가요? 이 문서는 바른이 특정 어절을 NA로 내놓는 이유와, 이를 줄이는 방법을 단계별로 정리합니다.

증상

분석 결과의 형태소 태그에 NA가 보입니다. 보통 이런 모습이에요.

듣보잡/NA

NA바른이 그 글자 묶음을 알려진 형태소로 쪼개지 못했을 때 붙이는 "분석불능" 태그입니다. 비슷하게 NF(명사추정), NV(용언추정)도 모델이 확신하지 못할 때 나오는데, NA는 그중에서도 어떤 품사로도 추정하기 어려운 경우예요.

원인

왜 이렇게 나올까요? 대표적인 원인은 세 가지입니다.

원인 설명
미등록단어(OOV) 신조어·은어·고유명사·전문용어처럼 학습 데이터와 사전에 없는 단어
띄어쓰기 깨짐 여러 어절이 붙어 있어 모델이 어절 경계를 잡지 못함
비정상 입력 오타·깨진 문자·외국어·특수기호가 섞인 어절

형태소의 out_of_vocab 값이 OUT_OF_VOCAB(미등록, 자동 추측)이면 첫 번째 원인일 가능성이 큽니다.

해결

다음 순서로 점검하면 대부분 해결됩니다.

  1. 고유명사·전문용어인지 확인하세요. 사람 이름, 회사명, 제품명, 신조어라면 사용자 사전에 등록하는 것이 가장 확실한 해법입니다. CustomDictionaryServiceUpdateCustomDictionarynp_set(고유명사)·cp_set(복합명사) 등에 표제어를 추가하고, 분석 요청 시 custom_dict_names에 그 사전 이름을 지정하면 됩니다.

  2. 띄어쓰기를 점검하세요. 어절이 비정상적으로 길거나 여러 단어가 붙어 있으면 auto_spacing을 켜서 띄어쓰기 보정을 맡겨보세요.

    {
      "document": { "content": "오늘듣보잡신곡나왔대", "language": "ko_KR" },
      "auto_spacing": true
    }
    
  3. 사전 등록 후 재확인하세요. 등록한 단어의 형태소는 out_of_vocabIN_CUSTOM_DICT로 바뀌고, custom_dict_name에 사전 이름이 표시됩니다. NA가 사라졌는지 확인하세요.

체크리스트

  • [ ] out_of_vocab 값이 OUT_OF_VOCAB인가? → 사용자 사전 등록
  • [ ] 어절이 비정상적으로 긴가? → auto_spacing 켜기
  • [ ] 오타·깨진 문자가 섞였는가? → 입력 정제

예방·팁

  • 자주 등장하는 도메인 용어는 미리 사용자 사전으로 보강해두면 NA/UNK가 크게 줄어듭니다.
  • 사용자 사전은 파일 변경을 실시간으로 감지해 갱신되므로, 단어를 추가하면 서버 재시작 없이 반영됩니다.

NA와 UNK는 다른가요?

NA는 품사 태깅 단계에서 "분석불능"으로 분류된 형태소 태그이고, UNK는 어떤 품사로도 분류되지 않은 미분류(tag=0) 상태입니다. 둘 다 미등록단어가 원인인 경우가 많아 해법이 비슷합니다. UNK가 잦다면 UNK 토큰 점검 문서도 함께 보세요.

자주 묻는 질문

Q. NA로 분석되는 이유는 무엇인가요?

바른이 해당 글자 묶음을 알려진 형태소로 분해하지 못했기 때문입니다. 신조어·고유명사 같은 미등록단어, 띄어쓰기가 깨진 입력, 오타나 깨진 문자가 주된 원인입니다.

Q. NA를 없애려면 어떻게 하나요?

해당 단어를 사용자 사전(np_set·cp_set 등)에 등록하고 분석 요청 시 custom_dict_names에 사전 이름을 지정하세요. 띄어쓰기가 원인이면 auto_spacing을 켜보세요.

Q. 사전에 등록했는데도 NA가 그대로예요.

분석 요청에 custom_dict_names를 지정했는지, 사전 이름이 정확한지 확인하세요. 자세한 내용은 사용자 사전이 반영되지 않을 때 문서를 참고하세요.

Q. NA와 UNK는 같은 건가요?

다릅니다. NA는 품사 태깅 단계에서 "분석불능"으로 분류된 형태소 태그이고, UNK는 어떤 품사로도 분류되지 않은 미분류(tag=0) 상태예요. 둘 다 미등록단어가 원인인 경우가 많아 해법이 비슷하니, UNK가 잦다면 UNK 토큰 점검 문서도 함께 보세요.

Q. NA로 분석되는 단어를 사전에 넣으면 즉시 반영되나요?

네. 사용자 사전은 CustomDictionaryService API(UpdateCustomDictionary)로 관리하고, 서버가 사전 디렉토리를 실시간 감시해 무중단으로 즉시 반영합니다. 등록 후 분석 요청에 custom_dict_names만 지정하면 다음 요청부터 NA가 사라지고 out_of_vocabIN_CUSTOM_DICT로 바뀝니다.

도움이 되었나요?