ahmetaa/zemberek-nlp
NLP tools for Turkish.
Zemberek-NLP – 터키어 자연어 처리 툴킷
개요 – 터키어에 특화된 NLP 구성 요소를 모아놓은 Java 라이브러리입니다. 저수준 텍스트 처리(토큰화, 맞춤법 교정)부터 형태소 분석, 개체명 인식, 언어 식별, 텍스트 분류와 같은 고수준 작업까지 모두 다룹니다.
주요 모듈
| 모듈 | 기능 |
|---|---|
| Core | 다른 모듈에서 사용하는 유틸리티 컬렉션, 해시 함수 및 헬퍼 클래스. |
| Morphology | 터키어 형태소 분석, 중의성 해소 및 어형 생성. |
| Tokenization | 터키어 정서법에 최적화된 문장 경계 탐지 및 토큰화. |
| Normalization | 맞춤법 검사, 단어 제안 및 노이즈 텍스트 정리. |
| NER | 개체명 인식기(모델은 미포함). |
| Classification | Facebook의 fastText Java 포팅 버전을 기반으로 한 텍스트 분류. |
| Language Identification | 주어진 텍스트의 언어를 빠르게 탐지. |
| Language Modeling | 압축 친화적인 언어 모델 형식 및 유틸리티. |
| Applications | 즉시 실행 가능한 콘솔 도구(예: 대화형 형태소 분석기). |
| gRPC Server | 다른 언어에서 호출할 수 있도록 gRPC를 통해 라이브러리 노출. |
| Examples | 일반적인 사용 패턴을 보여주는 작은 프로그램들. |
사용 방법
- Maven – Zemberek Maven 저장소 (
https://raw.github.com/ahmetaa/maven-repo/master)를 추가하고 필요한 모듈(예:zemberek-morphology버전0.17.1)을 의존성으로 선언합니다. - Standalone JAR – 링크된 Google-Drive 폴더에서
zemberek-full.jar를 다운로드합니다.java -jar zemberek-full.jar를 실행하면 포함된 콘솔 애플리케이션 목록이 표시됩니다. - Source – 저장소에는
examples모듈과 API 사용법을 보여주는 별도의turkish-nlp-examples프로젝트가 포함되어 있습니다.
현재 상태 – 프로젝트는 저빈도 유지보수 모드입니다. 최신 릴리스는 0.17.1 (2019년 7월)입니다. 일부 구성 요소(예: NER)는 사전 학습된 모델이 없으며, 멀티스레드 테스트가 제한적입니다.
라이선스 – Apache License 2.0 (허용적이며 상업적 이용 가능).
대상 사용자 – 터키어 애플리케이션(챗봇, 검색, 텍스트 분석 등)을 구축하는 연구자, 개발자 또는 취미 개발자로, 직접 임베드하거나 gRPC를 통해 액세스할 수 있는 순수 Java 솔루션을 선호하는 분들.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트