Skip to main content

khmer_nlp_toolkits

Khmer NLP Toolkits is an open-source Python library that provides practical utilities, text processing functions, and NLP components for the Khmer language.

The project is designed to make Khmer NLP easier for:

  • Researchers
  • Students
  • Developers
  • Production systems
  • AI applications

It aims to provide a unified, lightweight, and extensible toolkit for common Khmer language processing tasks.

📖 Documentation | 💻 GitHub | 📦 PyPI


Installation

Requirements

  • Python 3.10+

Install from PyPI

pip install khmer_nlp_toolkits

Quick Start

from khmer_nlp_toolkits.text import *
from khmer_nlp_toolkits.number import num2text

print(num2text(2026))
# ពីរពាន់ម្ភៃប្រាំមួយ

print(anonymizer(("You can contact us by phone at +855 12 345 678, email us at support@example.com, "
"or visit our website at https://www.example.com anytime.")))
# You can contact us by phone at [TEL], email us at [EML], or visit our website at [URL] anytime.

print(text_cleaner(
    "\u200b Hello\u2014\u2014World!!!??      ខ្មែរ   123\u200b "
))
# "Hello - World !? ខ្មែរ 123"

Features

Khmer NLP Toolkits provides modular utilities and NLP components for Khmer language processing.

Commoncrawl 🔗

  • Content Quality Warning
  • Document Quality Filtering
  • Adult Content Filtering

Text Processing 🔗

  • Text Anonymization
  • Text Normalization
  • Text Cleaning
  • Segmentation

Number Processing 🔗

  • number conversion to text

Deduplication 🔗

  • URL deduplication
  • Content Deduplication

Utilities 🔗

  • End2End Pipeline
  • File Utilities Features

Vision

The long-term goal of Khmer NLP Toolkits is to help build a comprehensive open-source ecosystem for Khmer Natural Language Processing and accelerate Khmer AI/NLP research and development.

We hope this project can contribute to:

  • Better Khmer language tooling
  • Educational resources
  • NLP research accessibility
  • Open-source AI infrastructure for Khmer

Contributing

Contributions, issues, and feature requests are welcome. Feel free to open a pull request or discussion.

Planned Features

  • Khmerize
  • NER
  • Semantic Similarity
  • Text2Num
  • etc.

Contributors


License

This project is licensed under the MIT License.


References

[1] Hour Kaing, Raj Dabre, Haiyue Song, Van-Hien Tran, Hideki Tanaka, and Masao Utiyama. 2025. PrahokBART: A Pre-trained Sequence-to-Sequence Model for Khmer Natural Language Generation. In Proceedings of the 31st International Conference on Computational Linguistics, pages 1309–1322, Abu Dhabi, UAE. Association for Computational Linguistics.

[2] Martin Hosken, Norbert Lindenberg, and Makara Sok. 2022. Khmer encoding structure. Technical report, The Unicode Technical Committee.

[3] Hoang, P. V. (2020). Khmer Natural Language Processing Toolkit. GitHub repository. https://github.com/VietHoang1512/khmer-nltk

[4] Vichet Chea, Ye Kyaw Thu, Chenchen Ding, Masao Utiyama, Andrew Finch, and Eiichiro Sumita. Khmer word segmentation using conditional random fields. Khmer Natural Language Processing, 2015

Metadata

Release files for khmer-nlp-toolkits 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for khmer-nlp-toolkits 0.2.2
File Size Uploaded
khmer_nlp_toolkits-0.2.2.tar.gz 4.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for khmer-nlp-toolkits 0.2.2
File Interpreter ABI Platform
khmer_nlp_toolkits-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 9.4 MB

Release files / khmer_nlp_toolkits-0.2.2.tar.gz

Download URL khmer_nlp_toolkits-0.2.2.tar.gz
Size 4.7 MB
Tags Source
SHA-256 checksum
How to use checksums
4f0dc95a2ca79cc12349d9744dcd6ea543472ec9d3ed2951ec5ecc6c72e52093
BLAKE2b-256 checksum
How to use checksums
ccb111f289c4512842ca4b4ce608547940f1f56e6f95b7af6cd62e451a0806a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release files / khmer_nlp_toolkits-0.2.2-py3-none-any.whl

Download URL khmer_nlp_toolkits-0.2.2-py3-none-any.whl
Size 4.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e4f25b5b62cfc8da65fcc76ca6774de95a4ace3e709ed01459b30baac5fce48c
BLAKE2b-256 checksum
How to use checksums
8ce94b53feb0d194845c734db0df37b345150031b83dc01b5b258894c2b39f18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page