한국어 형태소 분석기 비교
한국어 형태소 분석기 비교 — 무엇을 골라야 하나 (바른 · Kiwi · KoNLPy · Mecab-ko)
결론부터: 파이썬에서 가볍게 형태소만 뽑을 거면 Kiwi, 논문·실습으로 여러 분석기를 갈아 끼워 보려면
KoNLPy, 사전에 등재된 표현을 빠르게 처리하려면 Mecab-ko, 신조어·구어체가 섞인 실제 서비스 텍스트를
운영 환경에서 다루고 맞춤법 검사까지 한 곳에서 해결하려면 바른입니다.
이 문서는 네 가지를 한 표에 놓고, 어떤 상황에서 무엇이 유리한지 고르는 기준을 정리합니다. 개별 비교는 바른 vs Kiwi · 바른 vs Mecab-ko · 바른 vs KoNLPy · 바른 vs Khaiii에서 더 자세히 다룹니다.
한눈에 보는 비교
| 항목 | 바른(bareunpy) | Kiwi(kiwipiepy) | KoNLPy | Mecab-ko |
|---|---|---|---|---|
| 분석 방식 | 트랜스포머 학습 모델(분절 → 태깅 → 후처리) | 사전 + 통계 언어모델 | 여러 분석기를 감싼 파이썬 래퍼 | 사전 + 비용 기반 통계 탐색 |
| 파이썬 패키지 | bareunpy |
kiwipiepy |
konlpy |
mecab-python3(또는 KoNLPy 경유) |
| 제공 형태 | 서버(gRPC/REST/connect-web) + 다국어 클라이언트 | 파이썬 패키지(C++ 코어), 로컬 임베드 | 파이썬 라이브러리(백엔드 별도 설치) | 라이브러리/바이너리 |
| 미등록단어(OOV) | 문맥으로 추측하고 out_of_vocab로 출처 표시 |
미등록어 추출 기능 보유(통계 기반) | 감싼 분석기의 성격을 따름 | 사전에 없으면 처리 한계 |
| 사용자 사전 | 무중단 실시간 갱신, 서버에서 공유 | 사용자 단어 추가(초기화 시 로드) | 백엔드별로 다름 | 사전 재컴파일 필요 |
| 품사 체계 | 국립국어원 기준 47품사 + 8대 단위 | 세종 태그셋 기반 | 백엔드별로 다름 | 세종 태그셋 기반 |
| 동형이의어 의미 구분(WSD) | 어깨번호로 제공(베타) | 없음 | 없음 | 없음 |
| 맞춤법 검사 | 같은 제품에서 제공(교정 이유·규정 근거 포함) | 띄어쓰기·간단한 오타 교정 | 없음 | 없음 |
| AI 에이전트 연동 | MCP 서버 제공 | 없음 | 없음 | 없음 |
| 라이선스 | 형태소 분석 연구·비상업 무료(상용 유료), 맞춤법 검사기 유료 | 오픈소스(무료) | 오픈소스(무료) | 오픈소스(무료) |
오픈소스 분석기의 강점은 분명합니다
Kiwi·KoNLPy·Mecab-ko는 무료이고 설치가 간단하며, 파이썬 프로세스 안에서 바로 돌아갑니다.
연구·실습·소규모 배치 처리라면 이것으로 충분한 경우가 많습니다. 이 문서는 우열을 가리기보다
어떤 조건에서 선택이 달라지는지를 정리하는 데 목적이 있습니다.
목적별 선택 기준
1. 연구·실습, 여러 분석기를 비교해야 한다 → KoNLPy
KoNLPy는 Okt·Komoran·Hannanum·Kkma·Mecab을 같은 인터페이스로 감싸 줍니다.
분석기를 바꿔 가며 결과를 견줘 보는 실습·논문 작업에 편합니다. 다만 감싼 백엔드마다
설치 방법·품사 체계·정확도가 달라, 서비스에 그대로 올릴 때는 백엔드를 하나로 정해야 합니다.
2. 파이썬 한 프로세스에서 빠르게 → Kiwi
kiwipiepy는 pip install 한 번으로 끝나고 C++ 코어라 가볍습니다.
띄어쓰기 교정·문장 분리·사용자 단어 추가가 내장돼 있어 전처리 파이프라인에 바로 넣기 좋습니다.
3. 사전에 등재된 표현을 대량으로 → Mecab-ko
사전과 비용표가 잘 맞는 정형 문서라면 빠르고 안정적입니다. 대신 사전에 없는 신조어가 들어오면 분석이 어긋나고, 사용자 사전을 넣으려면 재컴파일이 필요합니다.
4. 서비스 운영·신조어·맞춤법까지 → 바른
아래 네 가지 중 하나라도 해당하면 바른이 유리합니다.
- 신조어·구어체가 섞인 텍스트: 리뷰·상담·SNS처럼 사전에 없는 표현이 계속 들어오는 데이터입니다.
바른은 분절 단계를 따로 두고 트랜스포머로 문맥을 보기 때문에 사전에 없는 단어도 형태와 문맥으로 추측하고, 그 결과가 추측인지 사전 근거인지out_of_vocab값으로 표시합니다. - 사전을 자주 갱신해야 하는 운영: 고유명사·전문용어가 수시로 늘어나는 환경입니다.
바른은 사용자 사전 변경을 실시간으로 감지해 서버를 멈추지 않고 반영합니다 (무중단 사용자 사전의 가치). - 여러 언어의 클라이언트가 하나의 모델을 공유: 파이썬·자바·자바스크립트·R에서 같은 서버를 호출합니다.
- 맞춤법 검사가 함께 필요: 형태소 분석과 교정을 서로 다른 두 제품으로 붙이지 않아도 됩니다.
파이썬 코드로 보는 차이
같은 문장을 분석할 때 세 라이브러리의 호출 모양입니다.
바른만 서버 호출이라 API 키가 필요합니다. 대신 모델 파일을 각 개발자 PC에 배포할 필요가 없고,
사용자 사전과 모델 버전이 서버 한 곳에서 관리됩니다. 폐쇄망에서는 서버를 직접 설치해
같은 코드를 그대로 씁니다(설치 개요).
바른만 제공하는 것
- 동형이의어 의미 구분(WSD, 베타):
말이 [말/馬]인지 [말/言]인지 어깨번호로 구분해 돌려줍니다. 다른 분석기에는 이 기능이 없습니다(동형이의어 분석 자원 비교). - 교정 근거가 붙는 맞춤법 검사: 무엇을 왜 고쳤는지 분류·이유·규정 출처를 함께 돌려줍니다 (맞춤법 검사기 비교).
- MCP 서버: Claude·VS Code·Cursor 같은 AI 에이전트가 형태소 분석과 교정을 도구로 호출합니다 (MCP 서버로 사용하기).
수치 비교는 환경에 따라 달라집니다
바른의 정확도(품사 태깅 99.6%, 어절 분리/복원 99.7%)는 자체 평가셋 기준 측정값입니다
(정확도 측정 방법). 다른 분석기의 정확도·속도는 버전·사전·평가셋·하드웨어에
따라 달라지므로, 절대 수치 비교는 같은 환경에서 다시 측정하시길 권합니다.
관련 문서
- 바른 vs Kiwi · 바른 vs Mecab-ko · 바른 vs KoNLPy · 바른 vs Khaiii
- 처리 속도 벤치마크 · 구어·신조어 적응력
- 파이썬 클라이언트(bareunpy) — 설치와 첫 호출
자주 묻는 질문
Q. 한국어 형태소 분석기, 무엇을 추천하나요?
쓰임새에 따라 답이 다릅니다. 파이썬 한 프로세스에서 가볍게 쓰려면 Kiwi, 여러 분석기를 비교하는 연구·실습이면
KoNLPy, 사전에 등재된 정형 문서를 대량 처리하려면 Mecab-ko가 무난합니다. 신조어·구어체가 섞인 서비스
텍스트를 다루거나 사용자 사전을 자주 갱신해야 하거나 맞춤법 검사가 함께 필요하면 바른이 유리합니다.
Q. 파이썬 한국어 형태소 분석 라이브러리는 어떤 것이 있나요?
bareunpy(바른), kiwipiepy(Kiwi), konlpy(Okt·Komoran·Kkma·Hannanum·Mecab 래퍼),
mecab-python3(Mecab-ko)가 대표적입니다. bareunpy만 서버를 호출하는 방식이고 나머지는 로컬 임베드입니다.
Q. 무료로 쓸 수 있나요?
Kiwi·KoNLPy·Mecab-ko는 오픈소스로 무료입니다. 바른의 형태소 분석은 연구·비상업 용도로 무료이며
상업적 사용은 유료, 맞춤법 검사기는 유료입니다. 자세한 조건은 라이선스 정책을 보세요.
Q. 동형이의어(같은 글자, 다른 뜻)를 구분하는 분석기가 있나요?
바른은 동형이의어 의미 구분(WSD)을 어깨번호로 제공합니다(베타). Kiwi·KoNLPy·Mecab-ko에는
이 기능이 없어, 필요하면 별도 모델을 직접 붙여야 합니다.
Q. 오픈소스 분석기에서 바른으로 옮기기 어렵나요?
품사 체계와 호출 방식이 다르므로 태그 매핑과 클라이언트 코드 수정이 필요합니다. 다만 bareunpy는
pip install bareunpy 후 API 키만 넣으면 되고, 폐쇄망에서는 서버를 설치해 host만 바꾸면 같은 코드가 돕니다.
도움이 되었나요?