Setelah sekian lama tidak menulis karena mengurus urusan kantor yang bejibun, lalu mengingat banyak nya email masuk terkait penggunaan Python Sastrawi mau tak mau saya sempatkan jugalah untuk menulis kembali. Pertanyaan ini sudah beberapa kali masuk ke email saya tentang cara menambahkan Stoplists pada python sastrawi.
Untuk penggunaan stopword pada python dengan menggunakan library sastrawi bisa dilihat pada tulisan saya sebelumnya tentang Stopword Removal Bahasa Indonesia dengan Python Sastrawi
Pada dasarnya kamus stopword pada python sastrawi dikumpulkan dalam dan disimpan ke dalam list, silahkan lihat disini . Untuk menambah list storpword baru pun cukup mudah, ya kita tinggal mengubah saja file StopWordRemoverFactory.py dan masalah pun selesai 😀
Tapi tentu saja cara lain yang setidaknya sedikit lebih elegan, anggap saja kita punya kasus dimana stopword diambil dari resource data yang berbeda dan kita diharuskan menambah stopword tersebut secara dinamik atau apalah kasus sejenis lainnya.
Seperti yang sudah saya jelaskan sebelumnya, bahwa stopword tergabung dalam sebuah list, jadi kita cukup menambah kata baru kedalam list tersebut. Lihat kode dibawah :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Import Stopword Factory class from Sastrawi.StopWordRemover.StopWordRemoverFactory import StopWordRemoverFactory s = 'Aku pernah mendengar Aisya bercerita bahwa sebenarnya ia tidak terlalu senang dengan kabar perjodohan yang diatur oleh orang tuanya.' #Create factory stop_factory = StopWordRemoverFactory() more_stopword = ['dengan', 'ia','bahwa','oleh'] # Tambahkan Stopword Baru data = stop_factory.get_stop_words()+more_stopword stopword = stop_factory.create_stop_word_remover() print(stopword.remove(s)) # Aku pernah mendengar Aisya bercerita sebenarnya tidak terlalu senang kabar perjodohan diatur orang tuanya |
Intinya hanya menambah list yang sudah ada dengan list baru yang berisi stopword tambahan stop_factory.get_stop_words()+more_stopword Cukup mudah bukan ? Untuk kasus lainnya kita bisa menambah sumber stopword yang berbeda, misalnya dari file csv, database atau apalah namanya 🙂 Oh iya, untuk pengolahan file csv, silahkan cek tulisan saya tentang Manipulasi file csv dengan Python.
Update Python Sastrawi v 1.2.0 !
Pada versi 1.2.0 terdapat perubahan kode [changelog] agar pemrosesan lebih cepat, yaitu merubah bentuk yang sebelumnya list menjadi dict. Untuk penambahan stopword bisa dilakukan dengan cara dibawah:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
from Sastrawi.StopWordRemover.StopWordRemoverFactory import StopWordRemoverFactory, StopWordRemover, ArrayDictionary s = 'Aku pernah mendengar Aisya bercerita bahwa sebenarnya ia tidak terlalu senang dengan kabar perjodohan yang diatur oleh orang tuanya.' # Ambil Stopword bawaan stop_factory = StopWordRemoverFactory().get_stop_words() more_stopword = ['diatur', 'perjodohan'] # Merge stopword data = stop_factory + more_stopword dictionary = ArrayDictionary(data) str = StopWordRemover(dictionary) print(str.remove(s)) # Aku mendengar Aisya bercerita senang kabar tuanya. |
Incoming Terms
- Stop Stopwordremoverfactory
- Stopword Python Code With File
- Menambah Stopword Pada Sastrawi Python
- Stop Words Removal Kamus
- Csv Python Sastrawi
