사용자 사전 우선순위
사용자 사전과 내장 사전의 우선순위
바른은 우리말샘 약 100만 건을 비롯한 풍부한 내장 사전을 갖고 있습니다. 그런데 사용자 사전에
같은 단어를 등록하면 어느 쪽이 적용될까요? 결론부터 말하면, 분석 요청에 지정한 사용자 사전이
우선합니다.
이 문서는 사용자 사전과 내장 사전의 우선순위, 그리고 어느 사전에서 단어가 왔는지 확인하는 방법을 설명합니다.
우선순위 한눈에
형태소의 출처는 out_of_vocab 값으로 구분됩니다. 사용자 사전에서 온 단어는
IN_CUSTOM_DICT로 표시됩니다.
| 출처 | out_of_vocab |
의미 |
|---|---|---|
| 워드 임베딩 | IN_WORD_EMBEDDING |
학습 데이터에 포함된 단어 |
| 미등록단어 | OUT_OF_VOCAB |
자동 추측한, 어디에도 없는 단어 |
| 사용자 사전 | IN_CUSTOM_DICT |
사용자 사전에 등록된 단어 |
| 기본 사전 | IN_BUILTIN_DICT |
내장 기본 사전 |
| 우리말샘 | IN_URIMALSAEM |
국립국어원 우리말샘 |
| 위키백과 | IN_WIKI_DICT |
위키백과 사전 |
| 온용어 | IN_ON_DICT |
전문 용어 사전 |
교정(맞춤법 검사) 빌드에서만 보이는 출처
IN_URIMALSAEM·IN_WIKI_DICT·IN_ON_DICT 세 출처는 맞춤법 검사 빌드에서만
표시됩니다. 형태소 분석기만 단독으로 쓸 때는 이 값이 나타나지 않습니다.
왜 사용자 사전이 우선인가요?
내장 사전은 일반적인 한국어를 폭넓게 다루지만, 특정 회사·도메인의 의도까지 알 수는 없습니다. 사용자가 "이 단어는 이렇게 인식하라"고 명시한 의도가 가장 구체적이므로, 분석 요청에 지정한 사용자 사전을 우선 적용합니다.
같은 단어가 양쪽에 있을 때
바른이 네네치킨을 내장 지식으로는 "네네/NNG + 치킨/NNG"로 쪼개더라도, 사용자 사전에
네네치킨(고유명사)을 등록하고 분석 요청에 그 도메인을 지정하면 네네치킨/NNP 한 덩어리로
인식됩니다.
graph TD
W[입력 단어] --> C{지정한 사용자 사전에<br>있나?};
C -- 예 --> CD[사용자 사전 우선<br>IN_CUSTOM_DICT];
C -- 아니오 --> B[내장 사전·우리말샘 등<br>으로 분석];
사용자 사전은 지정해야 우선됩니다
사용자 사전이 우선이라는 것은, 분석 요청에 그 사전을 지정했을 때의 이야기입니다.
custom_dict_names(또는 set_domain)로 지정하지 않으면 사용자 사전은 적용되지 않고
내장 지식만으로 분석됩니다.
출처 확인하기
등록한 단어가 정말 사용자 사전에서 왔는지는 out_of_vocab과 custom_dict_name으로 확인합니다.
네네치킨의 out_of_vocab이 IN_CUSTOM_DICT이고 custom_dict_name이 brand이므로,
내장 지식 대신 brand 사용자 사전이 우선 적용됐음을 알 수 있습니다.
자주 묻는 질문
Q. 사용자 사전과 내장 사전 중 무엇이 우선인가요?
분석 요청에 지정한 사용자 사전이 우선합니다. 같은 단어가 내장 사전에 다르게 들어 있어도, 지정한 사용자 사전의 등록 내용대로 인식됩니다.
Q. 어느 사전에서 단어가 왔는지 어떻게 아나요?
형태소의 out_of_vocab 값으로 확인합니다. IN_CUSTOM_DICT이면 사용자 사전,
IN_BUILTIN_DICT이면 기본 사전, IN_URIMALSAEM이면 우리말샘에서 온 것입니다.
사용자 사전이면 custom_dict_name에 도메인 이름까지 들어 있습니다.
Q. 등록했는데 내장 사전 결과가 그대로 나옵니다.
분석 요청에 해당 도메인을 지정했는지(custom_dict_names/set_domain) 확인하세요.
지정하지 않으면 사용자 사전이 적용되지 않습니다.
Q. 우리말샘·위키백과·온용어 출처는 항상 표시되나요?
IN_URIMALSAEM·IN_WIKI_DICT·IN_ON_DICT 세 출처는 맞춤법 검사 빌드에서만
표시됩니다. 형태소 분석기만 단독으로 쓸 때는 나타나지 않습니다. 사용자 사전 출처
IN_CUSTOM_DICT와 미등록단어 OUT_OF_VOCAB은 모든 구성에서 확인할 수 있습니다.
도움이 되었나요?