ahmetaa/zemberek-nlp

NLP tools for Turkish.

Java

1,366

1,390 commits

updated Sep 27, 2026

See the code

README

Zemberek-NLP

This project is now in slow maintenance mode.

Zemberek-NLP provides Natural Language Processing tools for Turkish.

Latest version is 0.17.1 (July 23th 2019). Change Log

Please read the FAQ for common questions.

Modules

ModuleMaven Id
Corezemberek-coreSpecial Collections, Hash functions and helpers.
Morphologyzemberek-morphologyTurkish morphological analysis, disambiguation and word generation.
Tokenizationzemberek-tokenizationTurkish Tokenization and sentence boundary detection.
Normalizationzemberek-normalizationBasic spell checker, word suggestion. Noisy text normalization.
NERzemberek-nerTurkish Named Entity Recognition.
Classificationzemberek-classificationText classification based on Java port of fastText project.
Language Identificationzemberek-lang-idFast identification of text language.
Language Modelingzemberek-lmProvides a language model compression algorithm.
Applicationszemberek-appsConsole applications
gRPC Serverzemberek-grpcgRPC server for access from other languages.
Exampleszemberek-examplesUsage examples.

Usage

Maven

Add this to pom.xml file

    <repositories>
        <repository>
            <id>zemberek-repo</id>
            <name>zemberek Maven Repo on Github</name>
            <url>https://raw.github.com/ahmetaa/maven-repo/master</url>
        </repository>
    </repositories>

And dependencies (For example morphology):

    <dependencies>
        <dependency>
            <groupId>zemberek-nlp</groupId>
            <artifactId>zemberek-morphology</artifactId>
            <version>0.17.1</version>
        </dependency>
    </dependencies>

Jar distributions

Google drive page contains jar files for different versions.

[zemberek-full.jar] is a single jar that contains all modules and dependencies. When it is run directly with

  java -jar zemberek-full.jar

It will list available console applications.

For Developers

Here information about how to compile the code and generate jar files from the project is explained.

Examples

There is an examples module in the code for usage examples.

Also, there is a separate project with same examples that uses Zemberek-NLP as maven modules: Turkish-nlp-examples

Known Issues and Limitations

  • NER module does not provide a model yet.
  • Library is not well-tested for multi-threaded usage.

Please see issues section for further issues and feel free to create new ones.

License

Code is licensed under Apache License, Version 2.0

Citing

If you use this project in an academic publication, please refer to this site.

Acknowledgements

Please refer to contributors.txt file.

language
morphology
nlp
turkish
zemberek-nlp

Significant stargazers

Emir SARI

31 followers · starred Mar 2019

Georgii Dolzhykov

92 followers · starred Apr 2019

Boray Saygılıer

50 followers · starred Jul 2021

M. Efe Çetin

231 followers · starred Apr 2025

ahmetaa/zemberek-nlp

NLP tools for Turkish.

Java

1,366

1,390 commits

updated Sep 27, 2026

See the code

README

Zemberek-NLP

This project is now in slow maintenance mode.

Zemberek-NLP provides Natural Language Processing tools for Turkish.

Latest version is 0.17.1 (July 23th 2019). Change Log

Please read the FAQ for common questions.

Modules

ModuleMaven Id
Corezemberek-coreSpecial Collections, Hash functions and helpers.
Morphologyzemberek-morphologyTurkish morphological analysis, disambiguation and word generation.
Tokenizationzemberek-tokenizationTurkish Tokenization and sentence boundary detection.
Normalizationzemberek-normalizationBasic spell checker, word suggestion. Noisy text normalization.
NERzemberek-nerTurkish Named Entity Recognition.
Classificationzemberek-classificationText classification based on Java port of fastText project.
Language Identificationzemberek-lang-idFast identification of text language.
Language Modelingzemberek-lmProvides a language model compression algorithm.
Applicationszemberek-appsConsole applications
gRPC Serverzemberek-grpcgRPC server for access from other languages.
Exampleszemberek-examplesUsage examples.

Usage

Maven

Add this to pom.xml file

    <repositories>
        <repository>
            <id>zemberek-repo</id>
            <name>zemberek Maven Repo on Github</name>
            <url>https://raw.github.com/ahmetaa/maven-repo/master</url>
        </repository>
    </repositories>

And dependencies (For example morphology):

    <dependencies>
        <dependency>
            <groupId>zemberek-nlp</groupId>
            <artifactId>zemberek-morphology</artifactId>
            <version>0.17.1</version>
        </dependency>
    </dependencies>

Jar distributions

Google drive page contains jar files for different versions.

[zemberek-full.jar] is a single jar that contains all modules and dependencies. When it is run directly with

  java -jar zemberek-full.jar

It will list available console applications.

For Developers

Here information about how to compile the code and generate jar files from the project is explained.

Examples

There is an examples module in the code for usage examples.

Also, there is a separate project with same examples that uses Zemberek-NLP as maven modules: Turkish-nlp-examples

Known Issues and Limitations

  • NER module does not provide a model yet.
  • Library is not well-tested for multi-threaded usage.

Please see issues section for further issues and feel free to create new ones.

License

Code is licensed under Apache License, Version 2.0

Citing

If you use this project in an academic publication, please refer to this site.

Acknowledgements

Please refer to contributors.txt file.

language
morphology
nlp
turkish
zemberek-nlp

Significant stargazers

Emir SARI

31 followers · starred Mar 2019

Georgii Dolzhykov

92 followers · starred Apr 2019

Boray Saygılıer

50 followers · starred Jul 2021

M. Efe Çetin

231 followers · starred Apr 2025

Languages

Java

93.4%

Python

6.3%