百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
K

Kiwi

> 编程语言
开源

Kiwi(智能韩语词素分析器)

760 stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Kiwi(智能韩语词素分析器)

Kiwi : 지능형 한국어 형태소 분석기(Korean Intelligent Word Identifier)

x86_64: Other: Kiwi는 빠른 속도와 범용적인 성능을 지향하는 한국어 형태소 분석기 라이브러리입니다. 한국어 처리에 관심 있는 사람이면 누구나 쉽게 사용할 수 있도록 오픈 소스로 공개 중이며, C++로 구현된 코어 라이브러리를 래핑하여 다양한 프로그래밍 언어에 사용할 수 있도록 준비 중입니다.

형태소 분석은 세종 품사 태그 체계를 기반으로 하고 있으며 모델 학습에는 세종계획 말뭉치와 모두의 말뭉치를 사용하고 있습니다. 웹 텍스트의 경우 약 87%, 문어 텍스트의 경우 약 94% 정도의 정확도로 한국어 문장의 형태소를 분석해 낼 수 있습니다. 또한 간단한 오타의 경우 모델 스스로 교정하는 기능을 지원합니다(0.13.0버전 이후).

아직 부족한 부분이 많기에 개발자분들의 많은 관심과 기여 부탁드립니다.

특징

텍스트 분석 속도가 다른 한국어 형태소분석기들과 비교하여 꽤 빠른 편입니다. 자세한 벤치마크 결과는 이 문서에서 확인 가능합니다.

또한 자체적으로 경량 언어모델을 탑재하여 모호성이 있는 경우에도 제법 정확하게 형태소를 분석해냅니다. CoNg 모델에서부터는 모호성 해소 성능이 더욱 크게 향상되었습니다. (모호성 해소 성능 평가는 이 페이지에서 수행가능합니다. )

문장 분리 기능을 비롯한 다양한 편의기능을 제공합니다. (문장 분리 성능 평가는 이 페이지에서 수행가능합니다. )

라이브러리 차원에서 멀티스레딩을 지원하기 때문에 대량의 텍스트를 분석해야할 경우 멀티코어를 활용하여 빠른 분석이 가능합니다.

웹 데모 페이지

최신 버전의 Kiwi를 사용해볼 수 있는 웹 데모 페이지를 제공하고 있습니다. 간단하게 테스트를 해보실 경우 웹 데모 페이지를 사용하시고 대량의 텍스트 처리가 필요한 경우 아래 설명된 방법으로 Kiwi를 설치하셔서 로컬에서 구동하시는 걸 권장해드립니다.

설치

C++

컴파일된 바이너리 다운로드

https://github.com/bab2min/Kiwi/releases 에서 Windows, Linux, macOS, Android 버전으로 컴파일된 Library 파일과 모델 파일을 다운로드 받을 수 있습니다.

Windows

Visual Studio 2019 이상을 사용하여 Kiwi.sln 파일을 실행하여 컴파일할 수 있습니다.

Linux

이 레포지토리를 clone한 뒤 cmake>=3.12를 사용하여 컴파일합니다. 모델 파일은 용량이 큰 관계로 Git LFS를 통해 공유됩니다. 따라서 git clone에 앞서 Git LFS가 설치되어있는지 확인해주세요.

gcc >= 7 이상 혹은 기타 c++17 호환 컴파일러 사용가능 환경
$ git clone https://github.com/bab2min/Kiwi
$ cd Kiwi
$ git lfs pull
$ git submodule sync
$ git submodule update --init --recursive
$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ../
$ make
$ make install
$ ldconfig

설치가 잘 됐는지 확인하기 위해서는 kiwi-evaluator를 실행해봅니다.

…

0.13.0 버전부터 추가된 오타 교정 기능이 잘 작동하는지 확인하기 위해서는 다음과 같이 실행합니다.

…

C API

include/kiwi/capi.h 를 참조하세요.

컴파일된 바이너리 다운로드

https://github.com/bab2min/Kiwi/releases 에서 Windows, Linux, macOS, Android 버전으로 컴파일된 Library 파일과 모델 파일을 다운로드 받을 수 있습니다.

C# Wrapper

https://github.com/bab2min/kiwi-gui 에서 공식 GUI 툴에 사용되는 C# Wrapper를 찾으실 수 있습니다.

또한 EX3님께서 기여해주신 wrapper인 NetKiwi가 있습니다.

Python3 Wrapper

또한 Python3용 API인 Kiwipiepy가 제공됩니다. 이에 대해서는 https://github.com/bab2min/kiwipiepy 를 참조하시길 바랍니다.

Java Wrapper

Java 1.8 이상에서 사용 가능한 KiwiJava가 Java binding으로 제공됩니다. 이에 대해서는 bindings/java를 참조하시길 바랍니다.

Android Library

Android NDK를 통해 Android 앱에서 사용할 수 있는 AAR 라이브러리가 제공됩니다. GitHub Releases에서 kiwi-android-VERSION.aar 파일을 다운로드하여 Android 프로젝트에 추가하면 됩니다.

  • 최소 요구사항: Android API Level 21+, ARM64 아키텍처
  • 사용법: bindings/java의 README 참조
  • 패키지: AAR 형태로 제공되어 Gradle 프로젝트에 쉽게 통합 가능

Swift Wrapper

iOS 12.0 이상 및 macOS 10.14 이상에서 사용 가능한 Swift binding이 제공 예정입니다. 조금만 기다려주세요.

  • 최소 요구사항: iOS 12.0+ / macOS 10.14+, Swift 5.7+
  • 사용법: bindings/swift의 README 참조
  • 설치: Swift Package Manager 지원

R Wrapper

mrchypark님께서 기여해주신 R언어용 wrapper인 elbird가 있습니다.

GO Wrapper

codingpot 커뮤니티가 작업해주신 go언어용 wrapper인 kiwigo가 있습니다.

Web Assembly (Javascript/Typescript)

RicBent님께서 기여해주신 Web Assembly binding이 있습니다. 이에 대해서는 bindings/wasm를 참조하시길 바랍니다.

Rust Wrapper

JAICHANGPARK님께서 개발하신 Rust용 wrapper인 kiwi-rs가 있습니다.

Flutter Wrapper

JAICHANGPARK님께서 개발하신 Rust용 wrapper인 flutter_kiwi_nlp가 있습니다.

응용 프로그램

Kiwi는 C# 기반의 GUI 형태로도 제공됩니다. 형태소 분석기는 사용해야하지만 별도의 프로그래밍 지식이 없는 경우 이 프로그램을 사용하시면 됩니다. 다음 프로그램은 Windows에서만 구동 가능합니다. https://github.com/bab2min/kiwi-gui 에서 다운받을 수 있습니다.

업데이트 내역

업데이트 내역은 릴리즈 노트를 참고해주세요.

품사 태그

세종 품사 태그를 기초로 하되, 일부 품사 태그를 추가/수정하여 사용하고 있습니다.

대분류태그설명

체언(N)NNG일반 명사

NNP고유 명사

NNB의존 명사

NR수사

NP대명사

용언(V)VV동사

VA형용사

VX보조 용언

VCP긍정 지정사(이다)

VCN부정 지정사(아니다)

관형사MM관형사

부사(MA)MAG일반 부사

MAJ접속 부사

감탄사IC감탄사

조사(J)JKS주격 조사

JKC보격 조사

JKG관형격 조사

JKO목적격 조사

JKB부사격 조사

JKV호격 조사

JKQ인용격 조사

JX보조사

JC접속 조사

어미(E)EP선어말 어미

EF종결 어미

EC연결 어미

ETN명사형 전성 어미

ETM관형형 전성 어미

접두사XPN체언 접두사

접미사(XS)XSN명사 파생 접미사

XSV동사 파생 접미사

XSA형용사 파생 접미사

XSM부사 파생 접미사*

어근XR어근

부호, 외국어, 특수문자(S)SF종결 부호(. ! ?)

SP구분 부호(, / : ;)

SS인용 부호 및 괄호(' " ( ) [ ] { } ― ‘ ’ “ ” ≪ ≫ 등)

SSOSS 중 여는 부호*

SSCSS 중 닫는 부호*

SE줄임표(…)

SO붙임표(- ~)

SW기타 특수 문자

SL알파벳(A-Z a-z)

SH한자

SN숫자(0-9)

SB순서 있는 글머리(가. 나. 1. 2. 가) 나) 등)*

분석 불능UN분석 불능*

웹(W)W_URLURL 주소*

W_EMAIL이메일 주소*

W_HASHTAG해시태그(#abcd)*

W_MENTION멘션(@abcd)*

W_SERIAL일련번호(전화번호, 통장번호, IP주소 등)*

W_EMOJI이모지*

기타Z_CODA덧붙은 받침*

Z_SIOT사이시옷*

USER0~4사용자 정의 태그*

  • 세종 품사 태그와 다른 독자적인 태그입니다.

0.12.0 버전부터 VV, VA, VX, XSA 태그에 불규칙 활용여부를 명시하는 접미사 -R와 -I이 덧붙을 수 있습니다. -R은 규칙 활용, -I은 불규칙 활용을 나타냅니다.

성능

결과 예시

…

데모

https://lab.bab2min.pe.kr/kiwi 에서 데모를 실행해 볼 수 있습니다.

라이센스

Kiwi는 Apache License 2.0 라이센스로 배포됩니다. 자세한 내용은 LICENSE를 참고해주세요.

학습된 모델 파일 또한 동일한 라이센스로 배포됩니다. 모델 학습에는 국립국어원의 21세기 세종계획 말뭉치와 모두의 말뭉치를 사용했으며, 원본 말뭉치 자체는 Kiwi와 함께 배포되지 않습니다. 자세한 내용은 NOTICE를 참고해주세요.

기존에 배포된 0.23.2 이하 버전은 LGPL 라이센스로 배포되었으며, 해당 버전에는 계속 LGPL이 적용됩니다.

이메일: [email protected]

블로그: http://bab2min.tistory.com/560

기여하기

자세한 내용은 CONTRIBUTING.md 에서 확인해주세요.

인용하기

DOI 혹은 아래의 BibTex를 이용해 인용해주세요.

…
…

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C++cppkoreankorean-nlpkorean-text-processing

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言