콘텐츠로 이동

기본 사전 한눈에

바른에 포함된 기본 사전 한눈에 — 종류·역할·우선순위

바른은 학습된 모델만으로 한국어를 분석하지 않습니다. 모델이 미처 다루지 못하는 고유명사·전문용어·외래어·한자어·비표준어를 여러 개의 내장 사전으로 보완해서, 형태소 분석과 맞춤법 검사의 정확도를 함께 끌어올립니다.

이 글은 바른에 들어 있는 기본 사전들이 각각 무엇을 담고, 분석·교정 과정에서 어떤 역할을 하며, 형태소가 어느 사전에서 왔는지를 어떻게 추적하는지를 한눈에 정리합니다. 각 사전의 자세한 동작 원리는 이어지는 개별 문서에서 다룹니다.

내장 사전 한눈에

사전 파일 내용 주요 역할 빌드 포함
dict.res 학습 기반 기본 빌트인 어휘집(토큰 색인) 모델이 참조하는 기본 어휘 색인 모든 빌드
ext-dict.pb 성씨·열거형·단위성 의존명사·행위성 명사·위키 인명/수량 인식, 복합명사 분리 모든 빌드
urimal-dict.fb 우리말샘(국립국어원) 어휘 표준어·비표준어 판별, 접두/접미 검사 검사 빌드
onterm-dict.fb 온용어 전문용어 사전 신조어·전문용어 보충 검사 빌드
non-std-dict.pb 비표준어 → 표준어 매핑 비표준어 교정 검사 빌드
foreign-exam-dict.pb 외래어 표기 용례 외래어 표기 일관성 검사 빌드
hanja-dict.pb 한자 음독·한자어 표기 한자/한글 변환, 한자어 검색 검사 빌드
word-freq.gob 말뭉치 단어 빈도 오타 교정 후보 순위 평가 검사 빌드

맞춤법 검사 빌드란

바른의 맞춤법 검사 기능은 맞춤법 검사 기능이 포함된 빌드에서 제공됩니다. 형태소 분석만 쓰는 기본 빌드에는 dict.resext-dict.pb가 들어가고, 교정용 사전(urimal-dict.fb·onterm-dict.fb·non-std-dict.pb 등)은 맞춤법 검사 기능이 포함된 빌드에 함께 담깁니다.

사전은 분석의 어느 단계에서 쓰이나요

형태소 분석 단계에서는 dict.res·ext-dict.pb가 모델 추론과 복합명사 분리를 돕고, 맞춤법 검사 단계에서는 우리말샘·비표준어·외래어·한자·빈도 사전이 차례로 동원됩니다.

graph TD
  IN[입력 문장] --> SEG[분절·품사 태깅];
  SEG --> EXT[ext-dict.pb<br/>복합명사 분리·인명·수량];
  SEG --> RES[dict.res<br/>토큰 색인];
  SEG --> REV[맞춤법 검사];
  REV --> URI[urimal-dict.fb<br/>표준어 판별];
  REV --> NSD[non-std-dict.pb<br/>비표준어 교정];
  REV --> FOR[foreign-exam-dict.pb<br/>외래어 표기];
  REV --> WF[word-freq.gob<br/>오타 후보 순위];

형태소의 출처 추적 — OutOfVocab

형태소 분석 결과의 각 형태소에는 out_of_vocab 필드가 붙어, 그 형태소를 어디에서 인식했는지를 알려줍니다. 사용자 사전에서 왔다면 custom_dict_name으로 어떤 사전인지까지 확인할 수 있습니다.

OutOfVocab 값 의미 관련 사전
IN_WORD_EMBEDDING 워드 임베딩(학습)에 포함된 단어 학습 어휘
OUT_OF_VOCAB 미등록단어(자동 추측) 어느 사전에도 없음
IN_CUSTOM_DICT 사용자 사전에 등록된 단어 사용자 사전
IN_BUILTIN_DICT 기본 빌트인 사전 dict.res
IN_URIMALSAEM 우리말샘 urimal-dict.fb
IN_WIKI_DICT 위키백과 사전 ext-dict.pb(KoWiki)
IN_ON_DICT 온용어 사전 onterm-dict.fb

왜 출처를 표시하나요

같은 단어라도 학습된 어휘에서 인식했는지, 사용자가 등록해서 인식했는지, 추측한 미등록단어인지에 따라 신뢰도가 다릅니다. 바른은 출처를 함께 돌려주어 분석 결과를 검토하거나 사용자 사전 보강 지점을 찾을 때 근거로 쓸 수 있게 합니다.

자주 묻는 질문

Q. 형태소 분석만 쓰는데도 사전이 들어 있나요?

네. 기본 빌드에도 dict.res(토큰 색인)와 ext-dict.pb(성씨·수량·복합명사 분리)가 포함됩니다. 교정용 사전들은 맞춤법 검사 기능이 포함된 빌드에 추가로 담깁니다.

Q. 어떤 사전에서 단어를 인식했는지 알 수 있나요?

각 형태소의 out_of_vocab 값으로 출처를 구별할 수 있습니다. 우리말샘은 IN_URIMALSAEM, 온용어는 IN_ON_DICT, 위키는 IN_WIKI_DICT처럼 값이 나뉘며, 사용자 사전은 IN_CUSTOM_DICTcustom_dict_name으로 확인합니다.

Q. 사용자 사전과 내장 사전이 충돌하면 어떻게 되나요?

custom_dict_names로 여러 사전을 지정할 수 있으며, 먼저 지정한 사전이 우선합니다. 자세한 결합 정책은 사전 간 우선순위 문서를 참고하세요.

Q. 교정용 사전과 형태소 분석용 사전은 어떻게 다른가요?

기본 빌드에는 형태소 분석에 쓰이는 dict.res(토큰 색인)와 ext-dict.pb(성씨·수량·복합명사)만 들어갑니다. 우리말샘 사전·비표준어·외래어·한자·온용어·빈도 사전은 모두 맞춤법 검사기를 포함하는 빌드에만 담깁니다. 그래서 IN_URIMALSAEM·IN_WIKI_DICT·IN_ON_DICT 같은 출처 값은 형태소 분석만 쓸 때는 나타나지 않고, 맞춤법 검사 기능이 포함된 빌드에서만 표시됩니다.

Q. 맞춤법 검사에서 사전은 어떤 형식으로 검색되나요?

맞춤법 검사기는 사전을 음소(초성·중성·종성) 단위로 분해한 NFD 색인으로도 검색해, 음운 규칙에 해당하는 단어 집합을 정밀하게 찾습니다. 음소 기반 사전 검색의 자세한 원리는 맞춤법 규정 문서에서 다룹니다.

도움이 되었나요?