Skip to main content

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:
    • 4l4yalay
    • @ngk4angka
    • 3mpatempat
  • Mengembangkan singkatan menjadi bentuk lengkap berdasarkan daftar kata umum, contohnya:
    • blmbelum
    • ygyang
    • dlldan lain-lain
  • Memperbaiki kata tidak baku atau slang menjadi kata baku menggunakan blacklist dictionary, contohnya:
    • belombelum
    • telortelur
    • gwgua
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

indo_normalizer-1.2.0.tar.gz (89.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

indo_normalizer-1.2.0-py3-none-any.whl (87.2 kB view details)

Uploaded Python 3

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

Hashes for indo_normalizer-1.2.0.tar.gz
Algorithm Hash digest
SHA256 c8e6af6f4928abd66aeef7d6550df7e62838a5ee33801a98df757e182e18d546
MD5 d08f2dcd13487ff526dfb85a3a421543
BLAKE2b-256 7c6301daf5fafdddb22469f265ce0d15df1325dba8ef06b5f0c63c06c16683f3

See more details on using hashes here.

File details

Details for the file indo_normalizer-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for indo_normalizer-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dbb79ffaf78a0a53739c49008494af04c8f58c1990b5f6a015b669958278c873
MD5 a598145dde4c573481eae4095ac063ff
BLAKE2b-256 bd0c9fa0ceba453e1d2b3e4fae34aba7f6b9a790c62a3dca3c5cbbcf43c74ad3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page