Skip to main content

Library untuk stemming kata dalam Bahasa Indonesia menggunakan metode Nondeterministic Context

Project description

Nondeterministic Context (NDETC) Stemmer

This is Kaenova's maintained NDETCStemmer, a fork from the original. I upload the model to Huggingface for model reliability.

Nondeterministic Context (NDETC) Stemmer adalah library yang mengimplementasikan metode stemming nondeterministic berbasis context untuk memecahkan permasalahan kata-kata ambigu (bermakna lebih dari satu) morfologis pada proses stemming kata dalam bahasa Indonesia.

Installation

Untuk menginstall library ini diperlukan pip python yang dapat anda download dengan mengikuti link berikut. Kemudian anda dapat menjalankan kode berikut pada terminal yang anda gunakan

pip install NDETCStemmer-kaenova

Usage

Setelah menginstall library ini, anda dapat menggunakannya dengan membuat file baru di dalam folder yang sama dengan NDETCStemmer_IO.py atau dengan cara mengubah file NDETCStemmer_IO.py dengan mengikuti baris code berikut sebagai percobaan:

#import NDETCStemmer library
from NDETCStemmer import NDETCStemmer

#init stemmer
stemmer=NDETCStemmer()

# stemming process
output=stemmer.stem('boleh saya memerah lembu ini')

print(output)
#boleh saya perah lembu ini

print(stemmer.stem('bibirnya memerah tangannya jadi selengket madu'))
#bibir merah tangan jadi lengket madu

Cititation

@INPROCEEDINGS{9617514,
  author={Bunyamin and Huda, Arief Fatchul and Suryani, Arie Ardiyanti},
  booktitle={2021 International Conference on Data Science and Its Applications (ICoDSA)}, 
  title={Indonesian Stemmer for Ambiguous Word based on Context}, 
  year={2021},
  volume={},
  number={},
  pages={1-9},
  doi={10.1109/ICoDSA53588.2021.9617514}}

Tentang Nondeterministic Context Stemmer

Merupakan stemmer yang dikembangkan oleh Bunyamin et al. yang merupakan penelitian lanjutan dari pendekatan nondeterministic yang diusulkan oleh Purwarianti. Dalam penelitian Purwarianti, setiap kata tidak diperiksa menurut urutan aturan morfologi, tetapi diperiksa menggunakan semua aturan. Kemudian, hasilnya disimpan satu per satu dalam daftar kandidat kata. Kata akhir akan dipilih menggunakan beberapa aturan heuristik, yaitu ketersediaan kosakata dari kata dasar khusus dan panjang kata.

Masalah yang dihadapi oleh metode nondeterministic yang dikembangkan Purwarianti ini dan stemmer deterministic (Andiani et al.) adalah masalah ambiguitas kata yang dihasilkan oleh stemmer. Misalkan kata "memalukan" mempunyai 2 kata dasar, yaitu “malu” dan “palu” , tergantung konteksnya. Pada pernyataan-pernyataan berikut “dia tidak ingin memalukan keluarganya” dan “tukang memalukan paku di tembok” kata ambigu "memalukan" akan menghasilkan kata dasar "malu" secara terus-menerus. Berdasarkan konteksnya, hasilnya seharusnya menjadi "malu" di kalimat pertama dan "palu" di kalimat kedua. Nondeterministic stemmer dari Purwarianti menghasilkan beberapa alternatif kandidat kata dari kata-kata ambigu tersebut, tetapi memiliki kelemahan dalam memilih hasil yang tepat, karena ketiadaan konteks.

Nondeterministic Context Stemmer memperbaiki pendekatan nondeterministik itu dengan menambahkan konteks dalam pemilihan kata terbaik. Dalam menyelesaikan masalah pemilihan kata terbaik untuk setiap masukan kata ambigu, diusulkan penggunaan model word2vec. Dengan cara ini stemmer akan lebih akurat dalam melakukan stemming dibandingkan dengan cara-cara sebelumnya.

Kelebihan

NDETC stemmer mampu menstemming kata ambigu, kata reduplikasi, dan kata majemuk dengan imbuhan. Namun, kualitas stemmer tergantung pada pemeriksa aturan afiks, model kata, kamus kata dasar, dan konteksnya. Berikut beberapa contoh kelebihan nondeterministc context stemmer (NDETC) dibandingkan deterministic stemmer (DET):

  • Input: kalau pandai menggulai, badar jadi tenggiri, output (NDETC): kalau pandai gulai badar jadi tenggiri. Output (DET): kalau pandai gulai badar jadi tenggiri
  • Input: ibu menggulai kopi. Output (NDETC): ibu gula kopi. Output (DET): ibu gulai kopi
  • Input: Selangkah lagi, Pedrosa jadi pembalap tes KTM. Output (NDETC): langkah lagi pedrosa jadi balap tes ktm. Output (DET): selang lagi pedrosa jadi balap tes ktm
  • Input: Indonesia memiliki beribu-ribu pulau. Output (NDETC): indonesia milik ribu pulau. Output (DET): indonesia milik beribu-ribu pulau
  • Input: Kita harus mempertanggungjawabkannya. Output (NDETC): kita harus tanggung jawab. Output (DET): kita harus mempertanggungjawabkannya
  • Input: pengampun. Output (NDETC): ampun. Output (DET): kam
  • Input: membantah. Output (NDETC): bantah. Output (DET): ban
  • Input: pemakalah. Output (NDETC): makalah. Output (DET): maka
  • Input: berimanlah. Output (NDETC): iman. Output (DET): rim
  • Input: berantai. Output (NDETC): rantai. Output (DET): beranta
  • Input: berduri. Output (NDETC): duri. Output (DET): dur
  • Input: peperangan. Output (NDETC): perang. Output (DET): peperangan

Kekurangan

  • Aturan infiks -el-, -em-, -er-, dan -in- tidak digunakan dalam stemmer ini karena memiliki dampak signifikan terhadap semua proses stemmer.
  • Konteks kata sebelum dan sesudah kata-kata ambigu morfologis seringkali tidak mendukung pemilihan kata-kata terbaik.

Penting

  • Kualitas model kata hasil pelatihan word2vec mempengaruhi pemilihan kata-kata terbaik dalam kata-kata ambigu. Model kata dibuat menggunakan pelatihan word2vec dengan beberapa parameter. Beberapa parameter dalam membuat model harus dipilih dengan cermat dan hasilnya harus dibandingkan dari satu model ke model lainnya. Dalam stemmer ini terdapat model yang telah dilatih dengan menggunakan corpus wikipedia berbahasa Indonesia yang diunduh tanggal 2 November 2021.
  • Kualitas kamus kata dasar mempengaruhi kualitas stemmer. Kamus kata dasar harus bebas dari kata berimbuhan.

License

MIT

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

NDETCStemmer_kaenova-1.4.3.tar.gz (127.8 kB view details)

Uploaded Source

Built Distribution

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

NDETCStemmer_kaenova-1.4.3-py3-none-any.whl (141.8 kB view details)

Uploaded Python 3

File details

Details for the file NDETCStemmer_kaenova-1.4.3.tar.gz.

File metadata

  • Download URL: NDETCStemmer_kaenova-1.4.3.tar.gz
  • Upload date:
  • Size: 127.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for NDETCStemmer_kaenova-1.4.3.tar.gz
Algorithm Hash digest
SHA256 00a94467c560aed84dd2dfc6dde6f90bac0d5aa281bfe626c619a026148543ff
MD5 d83550520c11776549871c887b1fd74d
BLAKE2b-256 e757984c809219215b5fb5b47e4123a62a7801b984123d3563b0d6caced2df42

See more details on using hashes here.

File details

Details for the file NDETCStemmer_kaenova-1.4.3-py3-none-any.whl.

File metadata

File hashes

Hashes for NDETCStemmer_kaenova-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 483386aa39b0517530ec12485b2043dc278a2ff5d8a54d8fd329c7e2030c9037
MD5 ab0a20ca53a695ec871b520846abc5be
BLAKE2b-256 56947e41ca3e212a04501ead7546e6123e68995bc7a16f32690b412dbc130b53

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