A Python library for normalizing Indonesian informal text (slang, leet, repetitions, typos).
Project description
indo-normalizer
Indo-Normalizer adalah library Python untuk normalisasi kata-kata dalam Bahasa Indonesia.
Library ini mampu mengubah leetspeak menjadi kata asli, mengembangkan singkatan, dan memperbaiki kata tidak baku secara cerdas.
Fitur
- Mengubah angka dan simbol dalam kata (leetspeak) ke bentuk huruf yang sesuai, contohnya:
4l4y→alay@ngk4→angka3mpat→empat
- Mengembangkan singkatan menjadi bentuk lengkap berdasarkan daftar kata umum, contohnya:
blm→belumyg→yangdll→dan lain-lain
- Memperbaiki kata tidak baku atau slang menjadi kata baku menggunakan blacklist dictionary, contohnya:
belom→belumtelor→telurgw→gua
- Mempertahankan kapitalisasi sesuai konteks kalimat (awalan kalimat kapital, sisanya lowercase).
Instalasi
pip install indo-normalizer
Usage
# usage_example.py
# Contoh Penggunaan Library Indo-Normalizer
# Mengimpor kelas Normalizer dari paket indo_normalizer.
# Pastikan Anda telah menginstal paket ini (pip install indo-normalizer)
# atau menjalankan skrip dari direktori root proyek Anda (python -m nama_paket.nama_modul).
from indo_normalizer import Normalizer
print("--- Memulai Demo Penggunaan Indo-Normalizer ---")
# 1. Inisialisasi Normalizer
# Objek Normalizer akan secara otomatis memuat data korpus dari folder 'corpus/'
# yang ada di dalam paket 'indo_normalizer' itu sendiri.
print("\n[Langkah 1] Menginisialisasi Normalizer...")
normalizer = Normalizer()
print("Normalizer berhasil diinisialisasi dan korpus telah dimuat.")
# 2. Contoh Teks untuk Normalisasi
# Kita akan menggunakan kalimat yang mengandung berbagai jenis anomali (slang, alay, pengulangan, singkatan, typo).
teks_asli = "H4loooo, akU k3ren bgt! g4j3 kyknya btw ini masssaaa aku s4raninnn kamu n4nti JEMpyUt aku yaa. pusinggg bgt!"
print(f"\n[Langkah 2] Teks Asli:\n'{teks_asli}'")
# 3. Normalisasi Teks
# Memanggil metode normalize_text untuk mengubah teks ke bentuk yang lebih standar.
# Metode ini juga mengembalikan jumlah perubahan yang terjadi untuk setiap kategori.
print("\n[Langkah 3] Melakukan Normalisasi Teks...")
teks_dinormalisasi, jumlah_perubahan = normalizer.normalize_text(teks_asli)
print(f"\n[Hasil Normalisasi] Teks Dinormalisasi:\n'{teks_dinormalisasi}'")
print("\n[Detail Perubahan] Jumlah Normalisasi Berdasarkan Kategori:")
for kategori, jumlah in jumlah_perubahan.items():
print(f"- {kategori}: {jumlah} kali")
# 4. Menghitung Jumlah Kata Alay dan Slang
# Menggunakan fungsi count_alays dan count_slangs untuk mendapatkan total spesifik.
print("\n[Langkah 4] Menghitung Kata Alay dan Slang...")
total_alay = normalizer.count_alays(teks_asli)
total_slang = normalizer.count_slangs(teks_asli)
print(f"\n[Total Statistik] Total Kata Alay Terdeteksi: {total_alay}")
print(f"Total Kata Slang Terdeteksi: {total_slang}")
print("\n--- Demo Penggunaan Selesai ---")
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file indo_normalizer-1.2.0.tar.gz.
File metadata
- Download URL: indo_normalizer-1.2.0.tar.gz
- Upload date:
- Size: 89.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8e6af6f4928abd66aeef7d6550df7e62838a5ee33801a98df757e182e18d546
|
|
| MD5 |
d08f2dcd13487ff526dfb85a3a421543
|
|
| BLAKE2b-256 |
7c6301daf5fafdddb22469f265ce0d15df1325dba8ef06b5f0c63c06c16683f3
|
File details
Details for the file indo_normalizer-1.2.0-py3-none-any.whl.
File metadata
- Download URL: indo_normalizer-1.2.0-py3-none-any.whl
- Upload date:
- Size: 87.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbb79ffaf78a0a53739c49008494af04c8f58c1990b5f6a015b669958278c873
|
|
| MD5 |
a598145dde4c573481eae4095ac063ff
|
|
| BLAKE2b-256 |
bd0c9fa0ceba453e1d2b3e4fae34aba7f6b9a790c62a3dca3c5cbbcf43c74ad3
|