바른 vs Kiwi
바른 vs Kiwi — 접근 방식·운영·정확도 비교
바른과 Kiwi(파이썬 패키지 kiwipiepy)는 모두 한국어 형태소 분석에 널리 쓰이지만, 분석을 풀어내는 접근 방식이 다릅니다.
Kiwi는 사전(지식 기반)과 통계 언어모델을 결합해 가장 그럴듯한 분석 경로를 찾는 분석기로, C++ 코어 기반의 빠른 속도와
오픈소스라는 강점이 있습니다. 바른은 트랜스포머 기반의 분절(Segmenter) → 품사 태깅(PosTagger) 모델로 학습된
신경망 분석기이며, 서버 형태로 제공되고 맞춤법 검사 기능까지 함께 제공합니다.
Kiwi의 강점도 분명합니다
Kiwi는 빠르고 가벼우며 오픈소스로 무료입니다. 띄어쓰기 교정·간단한 오타 교정·문장 분리·사용자 단어 추가 등
실무에 유용한 기능을 내장하고 있어 파이썬 환경에서 손쉽게 쓸 수 있습니다. 이 문서는 우열을 가리기보다
바른과 Kiwi가 어떤 점에서 다른지를 정리하는 데 목적이 있습니다.
한눈에 보는 비교
| 항목 | 바른 | Kiwi(kiwipiepy) |
|---|---|---|
| 분석 방식 | 트랜스포머 학습 모델(분절 → 태깅 → 후처리) | 사전(지식 기반) + 통계 언어모델 |
| 미등록단어(OOV) | 모델이 문맥으로 추측, out_of_vocab로 출처 표시 |
미등록어 추출 기능 보유(통계 기반) |
| 구어·신조어 | 구어형·축약형을 학습 단계에서 다룸 | 사전·언어모델 기반, 사용자 사전으로 보강 |
| 사용자 사전 | 무중단 실시간 갱신(파일 변경 감지), 서버에서 공유 | 사용자 단어 추가 지원(일반적으로 초기화 시 로드) |
| 품사 체계 | 국립국어원 기준 47품사 + 8대 단위 | 세종 태그셋 기반 |
| 띄어쓰기·오타 보정 | auto_spacing·auto_jointing + 맞춤법 검사(검사 빌드) |
띄어쓰기·간단한 오타 교정 내장 |
| 제공 형태 | 서버(gRPC/REST/connect-web) + 다국어 클라이언트 | 파이썬 패키지(C++ 코어), 로컬 임베드 |
| 라이선스 | 형태소 분석 연구·비상업 무료(상용 유료), 맞춤법 검사기 유료 | 오픈소스(무료) |
어디서 갈리나요
두 분석기의 차이는 "사전·언어모델로 푸느냐, 학습된 신경망으로 푸느냐"에서 시작됩니다. 이 근본 차이는 사전 방식 vs 트랜스포머에서 더 깊이 다룹니다.
- 미등록단어·구어체:
바른은 분절 단계를 따로 두고 트랜스포머 모델로 문맥을 보기 때문에, 사전에 없는 신조어·축약형도 형태와 문맥으로 추측합니다. 분절 모델은 공백 처리 규칙을 포함해 116개 레이블(그중 14개는 오류 탐지용)을 쓰고, 형태정보를 포함한 임베딩으로 표면형이 같아도 형태가 다른 단어 12,175개를 구분합니다. 추측 결과에는out_of_vocab값으로 출처를 함께 표시합니다. - 운영·배포:
Kiwi는 파이썬 프로세스에 임베드되어 로컬에서 빠르게 동작합니다.바른은 서버로 동작하여 하나의 모델을 여러 사용자·여러 언어 클라이언트(파이썬·자바·자바스크립트·R)가 공유합니다. - 사전 갱신:
Kiwi는 사용자 단어를 추가한 뒤 분석기를 다시 초기화하는 방식이 일반적입니다.바른은 사용자 사전 디렉토리의 파일 변경을 실시간으로 감지해 파일이 바뀌면 서버를 멈추지 않고 즉시 반영합니다. - 맞춤법 검사:
바른은 형태소 분석을 토대로 한 맞춤법 검사를 함께 제공하며, 교정마다 이유와 규정 근거를 돌려줍니다. 검사기 동작과 다른 맞춤법 검사기와의 차이는 맞춤법 검사기 비교에서 다룹니다.
미등록단어 출처 표시
바른은 사전에 없는 단어를 만나도 깨지지 않고, 각 형태소가 학습 임베딩·자동 추측·사용자 사전 등
어디에서 왔는지를 out_of_vocab 값으로 함께 표시합니다.
추측인지 사전 근거인지 바로 구분할 수 있어, 응답 결과를 처리하는 쪽에서 신뢰도를 판단하기 좋습니다.
수치 비교는 환경에 따라 달라집니다
바른의 정확도(품사 태깅 99.6%, 어절 분리/복원 99.7%)는 자체 평가셋 기준 측정값입니다.
Kiwi를 비롯한 다른 분석기의 정확도·속도는 모델 버전, 사전, 평가셋, 하드웨어, 측정 방법에 따라 달라지므로
절대 수치 비교는 같은 환경에서 다시 측정하는 것을 권장합니다.
관련 문서
- 바른 vs Mecab-ko — 또 다른 사전 기반 분석기와의 비교
- 구어·신조어 적응력 — 미등록단어와 구어체에 강한 이유
자주 묻는 질문
Q. Kiwi가 더 빠르지 않나요?
Kiwi는 C++ 코어 기반이라 가볍고 빠른 편입니다. 바른은 신경망 추론을 하므로 단건 지연만 보면 다를 수 있지만,
executionProvider(CPU/GPU) 선택과 배치 처리로 처리량을 높일 수 있습니다. 속도는 측정 환경에 크게 좌우되므로
같은 입력·하드웨어에서 비교하시길 권합니다.
Q. 둘 다 띄어쓰기 교정이 되는데 무엇이 다른가요?
Kiwi는 띄어쓰기·간단한 오타 교정을 내장하고 있습니다. 바른은 띄어쓰기 보정(auto_spacing·auto_jointing)에
더해, 별도의 맞춤법 검사에서 비표준어·외래어·혼동어까지 다루고 교정 이유와 규정 근거를 함께 제공합니다.
Q. 어떤 경우에 바른이 유리한가요?
신조어·구어체가 많은 텍스트, 사전을 자주 갱신해야 하는 운영 환경, 여러 언어 클라이언트가 하나의 서버를
공유해야 하는 경우, 맞춤법 검사가 함께 필요한 경우에 유리합니다. 반대로 파이썬 단일 환경에서 가볍게
형태소 분석만 빠르게 하려는 경우라면 Kiwi 같은 임베드형 분석기도 좋은 선택입니다.
Q. 바른은 같은 표면형의 중의성을 어떻게 다루나요?
바른은 형태정보를 포함한 임베딩으로 표면형이 같아도 형태가 다른 단어를 각각 다른 토큰으로 다룹니다. 이렇게 구별이
필요한 단어를 12,175개 찾아냈고, 35,396 문장 / 8,285 표면형 규모의 모호성 평가셋으로 해소 정확도를 평가합니다.
사전·언어모델 경로로 푸는 방식과 달리, 모델이 문맥에서 직접 형태를 구분합니다.
이 평가셋의 구성은 중의성 평가 데이터셋에서 확인할 수 있습니다.
도움이 되었나요?