ZEMBEREK-PYTHON
Python implementation of Natural Language Processing library for Turkish, zemberek-nlp. It is based on zemberek 0.17.1 and is completely written in Python meaning there is no need to setup a Java development environment to run it.
Source Code
https://github.com/Loodos/zemberek-python
Dependencies
- antlr4-python3-runtime==4.8
- numpy>=1.19.0
Supported Modules
Currently, following modules are supported.
-
Core (Partially)
-
TurkishMorphology (Partially)
- Single Word Analysis
- Diacritics Ignored Analysis
- Word Generation
- Sentence Analysis
- Ambiguity Resolution
-
Tokenization
- Sentence Boundary Detection
- Tokenization
-
Normalization (Partially)
- Spelling Suggestion
- Noisy Text Normalization
Installation
You can install the package with pip
pip install zemberek-python
Examples
Example usages can be found in examples.py
Notes
There are some minor changes in codes where original contains some Java specific functionality and data structures. We used Python equivalents as much as we could but sometimes we needed to change them. And it affects the performance and accuracy a bit.
In MultiLevelMphf class, in the original Java implementation, there are some integer multiplication operations which I tried to reimplement using vanilla Python 'int', but the results were not the same. Then I tried it with numpy.int32 and numpy.float32, since default java int and float types are 4 byte. The results were the same with Java, however, oftenly these operations produced RuntimeWarning as the multiplication caused overflow. In Java there were no overflow warnings whatsoever. I could not find a reasonable explanation to this situation, nor I could find a better way to implement it. So I suppressed overflow warnings for MultiLevelMphf. Therefore, please be aware that, this is not a healthy behaviour, and you should be careful using this code.
Credits
This project is Python port of zemberek-nlp.
Metadata
Release files for zemberek-python 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zemberek-python-0.2.3.tar.gz | 95.1 MB | Without provenance | Details for zemberek-python-0.2.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zemberek_python-0.2.3-py3-none-any.whl | Python 3 | none | any | Details for zemberek_python-0.2.3-py3-none-any.whl |
Total release size: 190.2 MB
Release files / zemberek-python-0.2.3.tar.gz
| Download URL | zemberek-python-0.2.3.tar.gz |
|---|---|
| Size | 95.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9638941e9a50907779a70479b94913cf6bb904bb1decb132a55d0fb5b6fe7a5
|
|
BLAKE2b-256 checksum How to use checksums |
bb623d15fcd07414636b3a684e648c4246774098ee49064799797d0ae22363ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.10
|
Release files / zemberek_python-0.2.3-py3-none-any.whl
| Download URL | zemberek_python-0.2.3-py3-none-any.whl |
|---|---|
| Size | 95.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
65c2cf482c2401ddf832be3ba6a4c202df36d1af2e1c5a31a77564e4f3b18785
|
|
BLAKE2b-256 checksum How to use checksums |
399ae7bc329bbe0625681d95891db72492d9825dfa095154c9677664474e0a31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.10
|
Security for zemberek-python 0.2.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.