ahmetaa/zemberek-nlp
NLP tools for Turkish.
Zemberek‑NLP – Turkish Natural‑Language Processing Toolkit
What it is – A Java library that bundles a collection of NLP components specifically for Turkish. It covers everything from low‑level text handling (tokenization, spelling correction) up to higher‑level tasks such as morphological analysis, named‑entity recognition, language identification and text classification.
Main modules
| Module | What it does |
|---|---|
| Core | Utility collections, hash functions, and helper classes used by the other modules. |
| Morphology | Turkish morphological parsing, disambiguation and word‑form generation. |
| Tokenization | Sentence boundary detection and tokenisation tuned for Turkish orthography. |
| Normalization | Spell‑checking, word‑suggestion and noisy‑text cleaning. |
| NER | Named‑entity recogniser (model not yet shipped). |
| Classification | Text classification built on a Java port of Facebook’s fastText. |
| Language Identification | Quick detection of the language of a given text. |
| Language Modeling | Compression‑friendly language‑model format and utilities. |
| Applications | Ready‑to‑run console tools (e.g., interactive morphology analyser). |
| gRPC Server | Exposes the library over gRPC so it can be called from other languages. |
| Examples | Small programs showing typical usage patterns. |
How to use it
- Maven – Add the Zemberek Maven repository (
https://raw.github.com/ahmetaa/maven-repo/master) and declare the desired module(s) as dependencies, e.g.zemberek-morphologyversion0.17.1. - Standalone JAR – Download
zemberek-full.jarfrom the linked Google‑Drive folder. Runningjava -jar zemberek-full.jarlists the bundled console applications. - Source – The repository contains a
examplesmodule and a separateturkish-nlp-examplesproject that demonstrates the API.
Current status – The project is in slow maintenance mode; the latest release is 0.17.1 (July 2019). Some components (e.g., NER) lack pretrained models, and the library has limited multi‑threading testing.
License – Apache License 2.0 (permissive, commercial‑friendly).
Who might need it – Researchers, developers, or hobbyists building Turkish‑language applications (chatbots, search, text analytics, etc.) who prefer a pure‑Java solution that can be embedded directly or accessed via gRPC.
Related
- Project
- Project
- Project
- Project