/zemberek-nlp

NLP tools for Turkish.

Primary LanguageJavaOtherNOASSERTION

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

Module Maven Id
Core zemberek-core Special Collections, Hash functions and helpers.
Morphology zemberek-morphology Turkish morphological analysis, disambiguation and word generation.
Tokenization zemberek-tokenization Turkish Tokenization and sentence boundary detection.
Normalization zemberek-normalization Basic spell checker, word suggestion. Noisy text normalization.
NER zemberek-ner Turkish Named Entity Recognition.
Classification zemberek-classification Text classification based on Java port of fastText project.
Language Identification zemberek-lang-id Fast identification of text language.
Language Modeling zemberek-lm Provides a language model compression algorithm.
Applications zemberek-apps Console applications
gRPC Server zemberek-grpc gRPC server for access from other languages.
Examples zemberek-examples Usage 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.