• Tidak ada hasil yang ditemukan

Pengenalan Entitas Bernama Bahasa Indonesia untuk Domain Zakat Menggunakan Conditional Random Fields

N/A
N/A
19-071 Anis Satus Sobihah

Academic year: 2024

Membagikan " Pengenalan Entitas Bernama Bahasa Indonesia untuk Domain Zakat Menggunakan Conditional Random Fields"

Copied!
72
0
0

Teks penuh

(1)

INDONESIAN NAMED ENTITY RECOGNITION UNTUK DOMAIN ZAKAT

MENGGUNAKAN CONDITIONAL RANDOM FIELDS

Skripsi

Oleh

Nur Febriana Widiyanti 11160910000004

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA

2022 M / 1443 H

(2)

iv UIN Syarif Hidayatullah Jakarta

PERNYATAAN ORISINALITAS

Dengan ini saya menyatakan bahwa:

1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan memperoleh gelar Strata 1 di UIN Syarif Hidayatullah Jakarta.

2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan sesuai dengan ketentuan yang berlaku di UIN Syarif Hidayatullah Jakarta.

3. Jika di kemudian hari terbukti bahwa karya ini bukan hasil karya asli saya atau merupakan jiplakan dari karya orang lain, maka saya bersedia menerima sanksi yang berlaku di UIN Syarif Hidayatullah Jakarta.

Jakarta, Mei 2022

Nur Febriana Widiyanti 11160910000004

(3)

v UIN Syarif Hidayatullah Jakarta

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI

Sebagai civitas akademik UIN Syarif Hidayatullah Jakarta, saya yang bertanda tangan di bawah ini:

Nama : Nur Febriana Widiyanti

NIM : 11160910000004

Program Studi : Teknik Informatika Fakultas : Sains dan Teknologi Jenis Karya : Skripsi

Dengan pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Islam Negeri Syarif Hidayatullah Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive Royalty Free Right) atas karya ilmiah saya yang berjudul:

INDONESIAN NAMED ENTITY RECOGNITION UNTUK DOMAIN ZAKAT

MENGGUNAKAN CONDITIONAL RANDOM FIELDS

Dengan Hak Bebas Royalti Non ekslusif ini Universitas Islam Negeri Syarif Hidayatullah Jakarta berhak menyimpan, mengalih media/formatkan, mengelola dalam bentuk pangkalan data (database), merawat, dan mempublikasikan tugas akhir saya selama tetap mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.

Demikian pernyataan ini saya buat dengan sebenarnya.

Jakarta, Mei 2022

(Nur Febriana Widiyanti)

(4)

vi UIN Syarif Hidayatullah Jakarta

KATA PENGANTAR

Bismillahirrahmanirrahim…

Puji syukur penulis panjatkan kepada Allah SWT, karena atas nikmat dan rahmat-Nya sehingga penulis dapat menyelesaikan skripsi ini. Penulisan skripsi ini dilakukan dalam rangka memenuhi salah satu syarat untuk mencapai gelar Sarjana Komputer Program Studi Teknik Informatika Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta. Proses penyelesaian skripsi ini tidak lepas dari berbagai bantuan, dukungan, saran dan kritik yang telah penulis dapatkan, oleh karena itu dalam kesempatan ini penulis ingin mengucapkan terimakasih kepada:

1. Ir. Nashrul Hakiem, S.Si., M.T., Ph.D selaku Dekan Fakultas Sains dan Teknologi.

2. Dr. Imam Marzuki Shofi, M.T selaku Ketua Program Studi Teknik Informatika Fakultas Sains dan Teknologi.

3. Dr. Husni Teja Sukmana, S.T., M.Sc dan Khodijah Hulliyah, M.Si selaku Dosen Pembimbing I dan II yang senantiasa membimbing, mengarahkan, dan memotivasi penulis selama penyusunan skripsi.

4. Seluruh Dosen dan Staf Karyawan Fakultas Sains dan Teknologi, khususnya Program Studi Teknik Informatika yang telah memberikan ilmu dan bantuan selama masa perkuliahan.

5. Kedua orang tua, kakak dan adik penulis yang telah memberikan dukungan, selalu mendoakan, selalu memberikan kasih sayang bagaimanapun kondisi penulis.

6. Teman-teman penulis sekaligus teman seperjuangan, Ibnah Tul, Rizky Evita, Etna Syirfa yang selalu nememani penulis dari awal perkuliahan hingga saat ini.

7. Teman-teman seperjuangan Teknik Informatika angkatan 2016 yang telah memotivasi, berjuang bersama dan memberikan kenangan selama masa perkuliahan.

(5)

vii

UIN Syarif Hidayatullah Jakarta

8. Keluarga besar Himpunan Mahasiswa Teknik Informatika (HIMTI) UIN Jakarta khususnya kepengurusan tahun 2018-2020 yang telah memberikan kesempatan untuk berorganisasi dan berproses bersama.

9. Seluruh pihak dan teman-teman yang tidak dapat disebutkan satu persatu yang secara langsung maupun tidak langsung telah membantu penulis dalam menyelesaikan skripsi ini.

Penulis menyadari bahwa dalam penyajian skripsi ini masih jauh dari sempurna. Untuk itu, sangat diperlukan kritik dan saran yang membangun bagi penulis. Penulis memohon maaf atas segala kekurangan ataupun kesalahan baik segi keilmuan atau penulisan. Akhir kata, semoga skripsi ini dapat bermanfaat bagi penulis dan orang lain.

Jakarta, Mei 2022

Nur Febriana Widiyanti

(6)

viii UIN Syarif Hidayatullah Jakarta

Nama : Nur Febriana Widiyanti Program Studi : Teknik Informatika

Judul : Indonesian Named Entity Recognition Untuk Domain Zakat Menggunakan Conditional Random Fields

ABSTRAK

Indonesia mayoritas penduduknya adalah muslim, dimana salah satu kewajiban seorang muslim adalah berzakat. Penting bagi seorang muslim untuk mendapatkan dan mengetahui informasi atau pengetahuan dasar terkait zakat agar mengurangi derajat ketidaktahuan umat muslim mengenai zakat. Maka, untuk membantu mendapatkan informasi atau pengetahuan dasar seputar zakat dibutuhkan ekstraksi informasi. Named Entity Recognition (NER) merupakan langkah awal menuju sebuah ekstraksi informasi yang berupaya mencari dan mengidentifikasi sebuah entitas. Pada penelitian ini penulis mendefinisikan named entity class untuk domain zakat sebanyak 12 class, yaitu rukun islam, zakat, jenis zakat, zakat mal, mustahik, muzzaki, lembaga pengelola zakat, lembaga amil zakat, syariat zakat, nisab zakat, tarif zakat dan person. Penulis menggunakan metode Conditional Random Fields dengan 3 skenario pembagian data latih dan data uji. Hasil yang diperoleh dari penelitian ini dengan hasil rata-rata evaluasi kinerja model Indonesian-NER yaitu precision sebesar 0.902, recall sebesar 0.834 dan f1-score sebesar 0.867.

Kata Kunci: Named Entity Recognition, Conditional Random Fields, Natural Language Processing, Zakat

(7)

ix UIN Syarif Hidayatullah Jakarta

Nama : Nur Febriana Widiyanti Study of Program : Informatics Engineering

Judul : Indonesian Named Entity Recognition For Zakat Domain Using Conditional Random Fields

ABSTRACT

Indonesia's population is Muslim, where one of the obligations of a Muslim is zakat. It is important for a Muslim to get and know basic information or knowledge related to zakat in order to reduce the degree of ignorance of Muslims about zakat. So, to help get information or basic knowledge about zakat, information extraction is needed. Named Entity Recognition (NER) is the first step towards an information extraction that seeks to find and find an entity. In this study, the authors define the entity classes for the zakat domain as many as 12 classes, namely the pillars of Islam, zakat, types of zakat, zakat mal, mustahik, muzzaki, zakat management institutions, amil zakat institutions, sharia zakat, zakat nisab, zakat rates and people. The author uses the Conditional Random Fields method with 3 scenarios for sharing training data and test data. The results obtained from this study with the results of the average performance evaluation of the Indonesia-NER model, namely precision of 0.902, recall of 0.834 and f1-score of 0.867.

Kata Kunci: Named Entity Recognition, Conditional Random Fields, Natural Language Processing, Zakat

(8)

UIN Syarif Hidayatullah Jakarta

DAFTAR ISI

LEMBAR PERSETUJUAN ... ii

LEMBAR PENGESAHAN ... iii

PERNYATAAN ORISINALITAS ... iv

PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI ... v

KATA PENGANTAR ... vi

ABSTRAK ... viii

ABSTRACT ... ix

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiii

DAFTAR TABEL ... xiv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang... 1

1.2 Rumusan Masalah ... 4

1.3 Tujuan Penelitian ... 4

1.4 Manfaat Penelitian ... 5

1.4.1 Bagi Penulis ... 5

1.4.2 Bagi Universitas ... 5

1.4.3 Bagi Pengguna ... 5

1.5 Batasan Masalah ... 6

1.5.1 Proses ... 6

1.5.2 Metode ... 6

1.5.3 Tools ... 6

1.6 Metodologi Penelitian ... 7

1.6.1 Metode Pengumpulan Data ... 7

1.6.2 Metode Pembangunan Model Indonesian-NER... 7

1.7 Sistematika Penulisan ... 7

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI ... 9

2.1 Web Scraping ... 9

2.2 Pre-Processing ... 10

(9)

xii

UIN Syarif Hidayatullah Jakarta

2.3 Machine Learning ... 11

2.3.1 Klasifikasi Machine Learning ... 11

2.4 Natural Language Processing ... 12

2.5 Named Entity Recognition... 13

2.6 Conditional Random Fields ... 14

2.7 Anotasi manual entitas bernama ... 16

2.8 Scikit-learn ... 17

2.9 Evaluasi Model ... 17

2.10 Google Collaboratory ... 19

2.11 Python ... 19

2.12 Pengertian Zakat ... 19

2.13 Studi Literatur ... 20

2.14 Studi Literatur Sejenis... 21

BAB III METODOLOGI PENELITIAN ... 26

3.1 Metode Pengumpulan Data ... 26

3.1.1 Studi Literatur... 26

3.1.2 Data yang bersumber dari website dan e-book mengenai zakat ... 26

3.2 Metode Pembangunan Indonesian-NER ... 27

3.2.1 Persiapan data ... 27

3.2.2 Mendefinisikan Entitas Class dan Identifikasi Entitas-Entitas ... 29

3.2.3 Anotasi Manual Entitas Bernama ... 30

3.2.4 Persiapan Fitur ... 32

3.2.5 Melatih Model dengan Scikit-learn ... 32

3.2.5.1 Train-test Split ... 32

3.2.6 Pengujian kinerja model Indonesian-NER ... 33

3.3 Alur Penelitian ... 33

BAB IV ANALISIS DAN PERANCANGAN SISTEM ... 34

4.1 Teknik Pengolahan Data ... 34

4.1.1 Scraping Data ... 34

4.1.2 Ekstraksi Data... 37

4.1. Tokenisasi ... 37

4.2. Mendefinisikan Entitas Class dan Identifikasi Entitas-Entitas ... 39

(10)

UIN Syarif Hidayatullah Jakarta

4.4. Anotasi manual entitas bernama ... 44

4.5. Pembuatan model Indonesian-NER ... 45

4.5.1 Persiapan Fitur ... 46

4.5.2 Train-test Split ... 47

4.5.3 Melatih Model ... 48

4.6. Evaluasi model Indonesian-NER ... 49

BAB V HASIL DAN PEMBAHASAN ... 50

5.1 Evaluasi model Indonesian-NER ... 50

BAB VI PENUTUP ... 56

6.1. Kesimpulan... 56

6.2. Saran ... 56

DAFTAR PUSTAKA ... 57

(11)

xiii UIN Syarif Hidayatullah Jakarta

DAFTAR GAMBAR

Gambar 1. 1 Populasi negara dengan jumlah muslim terbesar di dunia ... 3

Gambar 2. 1 Tahap preprocessing ... 10

Gambar 2. 2 Contoh implementasi NER ... 14

Gambar 2. 3 Tahapan proses CRF ... 16

Gambar 2. 4 Blok diagram untuk precision-recall ... 17

Gambar 3. 1 Persiapan data ... 27

Gambar 3. 2 Rancangan dasar untuk mendefinisikan entitas class untuk domain zakat ... 29

Gambar 3. 3 Anotasi manual entitas bernama ... 30

Gambar 3. 4 Alur penelitian ... 33

Gambar 4. 1 Identifikasi gambar website ... 35

Gambar 4. 2 Entitas class dan entitas-entitas untuk domain zakat ... 43

Gambar 5. 1 Hasil evaluasi model Indonesian-NER berdasarkan precision ... 53

Gambar 5. 2 Hasil evaluasi model Indonesian-NER berdasarkan recall ... 54

Gambar 5. 3 Hasil evaluasi model Indonesian-NER berdasarkan f1-score ... 54

Gambar 5. 4 Rekapitulasi evaluasi model Indonesian-NER berdasarkan precision, recall, dan F1-score ... 55

(12)

xiv UIN Syarif Hidayatullah Jakarta

DAFTAR TABEL

Tabel 3. 1 Sumber data website ... 26

Tabel 3. 2 Sumber data e-book ... 27

Tabel 3. 3 Alasan proses pre-processing ... 28

Tabel 3. 4 Contoh anotasi manual entitas bernama ... 31

Tabel 3. 5 Persiapan fitur ... 32

Tabel 4. 1 Jumlah kata dari sumber data ... 37

Tabel 4. 2 Tokenisasi ... 38

Tabel 4. 3 Rancangan dasar untuk mendefinisikan entitas class untuk domain zakat ... 39

Tabel 4. 4 Entitas Class dan entitas-entitas ... 41

Tabel 4. 5 Anotasi manual entitas bernama ... 44

Tabel 5. 1 Hasil performance model CRF dengan 10 skenario ... 50

Tabel 5. 2 Rekapitulasi hasil evaluasi model Indonesian-NER berdasarkan precision, recall dan f1-score ... 52

Tabel 5. 3 Jumlah kata dari hasil evaluasi model Indonesian-NER ... 55

(13)

1 UIN Syarif Hidayatullah Jakarta

BAB I

PENDAHULUAN

1.1 Latar Belakang

Named Entity Recognition (NER) merupakan salah satu komponen penting dalam Natural Language Processing (NLP) (Gunawan et al., 2018). Istilah

Named Etity” telah digunakan secara luas di bidang ekstraksi informasi (IE), menjawab pertanyaan (QA) dan berbagai bidang pemrosesan bahasa alami (NLP) lainnya (Wibawa & Purwarianti, 2016).

Named Entity Recognition (NER) merupakan langkah awal menuju sebuah ekstraksi informasi yang berupaya untuk mengidentifikasi sebuah entitas yang disebutkan dalam sebuah teks ke dalam sebuah kategori yang telah ditentukan sebelumnya. Misalnya nama seseorang, organisasi, lokasi dan sesuatu entitas lain dalam sebuah teks (Rachmad, 2020).

Masalah utama pada Named Entity Recognition (NER) adalah kata atau frasa yang ambigu, sehingga untuk mengurangi ambiguitas tersebut diperlukan format BIO (Beginning, Inside, Outside) saat melakukan pelabelan data dan masalah lain pada Named Entity Recognition (NER) adalah belum jelasnya penentuan batas atau tanda baca frasa (Wibisono & Khodra, 2018).

Named Entity Recognition (NER) merupakan pendekatan yang memiliki aturan dimana memerlukan pendefinisian yang dilakukan secara manual.

Misalnya kata atau frasa setelah “di” kemungkinan besar adalah sebuah lokasi, kecuali pada kasus-kasus tertentu. Namun pendefinisian secara manual lebih memerlukan waktu yang cukup lama dan lebih sulit untuk mencakup semua kasus. Akan tetapi dengan melakukan pendefinisian secara manual dapat memperjelas penentuan batas atau tanda baca frasa tersebut sehingga dapat mengurangi ambiguitas (Wibisono & Khodra, 2018).

Metode yang dikembangkan untuk Named Entity Recognition dengan machine learning diantaranya ialah Hidden Markov Model (HMM), Decision Tree, Maximum Entropy, Support Vector Machine (SVM), Conditional

(14)

UIN Syarif Hidayatullah Jakarta

Random Fields (CRF) dan Association rules mining (Wibawa & Purwarianti, 2016).

Named Entity Recognition (NER) dalam bahasa Inggris sudah banyak dilakukan, karena bahasa dunia yang paling banyak digunakan adalah bahasa Inggris. Selain itu, ketersedian dataset dalam bahasa Inggris sangat tinggi untuk memfasilitasi penelitian Named Entity Recognition (NER) yang umumnya membutuhkan dataset besar (Wibawa & Purwarianti, 2016).

Penelitian Named Entity Recognition (NER) dalam bahasa Inggris salah satunya telah dilakukan (Ji et al., 2020) oleh dengan menggunakan metode Conditional Random Fields dengan hasil evaluasi presisi 82,33%, recall 81,86% dan f1-score 82,58%.

Untuk penelitian Named Entity Recognition (NER) dalam bahasa Indonesia, pencapaian akurasinya masih belum maksimal (Aryoyudanta et al., 2017), mungkin disebabkan oleh sifat bahasa Indonesia karena bahasa Indonesia memiliki karakteristik kontekstual ortografi, morfologi dan lokal yang unik, baik formal maupun informal (Gunawan et al., 2018). Dengan melihat fakta-fakta yang disebutkan di atas, ini merupakan tantangan dan bukan upaya yang mudah untuk mengelola Named Entity Recognition (NER) untuk bahasa Indonesia.

Penelitian Named Entity Recognition (NER) dengan bahasa Indonesia sudah pernah dilakukan oleh (Gunawan et al., 2018) dengan menggunakan pendekatan Convolutional Neural Network (CNN) dengan hasil eksperimen menyatakan bahwa penggunaan model BiLSTM+CNN menghasilkan evaluasi precision sebesar 79,72%, recall 79,61% dan f-score 79,43. Adapun penelitian yang dilakukan oleh (Rifani et al., 2019) dalam bahasa Indonesia dengan menggunakan pendekatan Multinomial Naïve Bayes Classifier dengan hasil evaluasi precision 85%, recall 80% dan f-1 80%.

Selain penelitian Named Entity Recognition (NER) dalam bahasa Indonesia dan bahasa Inggris, penelitian Named Entity Recognition (NER) dalam bahasa Marath/India juga sudah dilakukan (Patil et al., 2020) dengan

(15)

3

UIN Syarif Hidayatullah Jakarta

menggunakan pendekatan conditional random fields dengan hasil evaluasi precision 82,33%, recall 70,68% dan f1-score 75,51%.

Pada penelitian ini, peneliti mengangkat kasus pada teks bahasa Indonesia berupa domain zakat. Penelitian terkait dengan Named Entity Recognition (NER) berbahasa Indonesia untuk domain zakat sudah dilakukan oleh (Sukmana et al., 2021) dengan menggunakan pendekatan stanfor-NER dengan hasil pengujian model NER dengan precision sebesar 0.7641, recall sebesar 0.4544 dan f1-score sebesar 0.5655.

Berdasarkan laporan The Royal Islamic Strategic Studies Center (RISSC) 2021, populasi muslim terbesar di dunia adalah negara Indonesia, dengan jumlah penduduk yang beragama Islam sebesar 231.06 juta.

Gambar 1. 1 Populasi negara dengan jumlah muslim terbesar di dunia

(Sumber : RISSC 2021)

Pada penelitian sebelumnya terkait dengan zakat, hasil evaluasi model belum maksimal sehingga peneliti ingin mengembangkan model tersebut.

Pada penelitian ini, peneliti pengembangkan model Named Entity Recognition berbahasa Indonesia untuk domain zakat dengan menggunakan metode yang berbeda yaitu dengan metode Conditional Random Fields (CRF), karena berdasarkan hasil dari penelitian terdahulu, terbukti bahwa dengan metode

(16)

UIN Syarif Hidayatullah Jakarta

Conditional Random Fields (CRF) dalam bahasa Inggris memiliki tingkat evaluasi model yang terbaik. Oleh karena itu, peneliti ingin mengetahui seberapa baik performa model dengan menggunakan Conditional Random Fields (CRF) dalam mengenali entitas untuk domain zakat berbahasa Indonesia.

Dengan Indonesian-NER untuk domain zakat diharapkan dapat memberikan pengetahuan dasar atau infomasi tentang zakat di Indonesia, agar dapat mengurangi derajat ketidaktahuan umat Islam terkait zakat (Wahyudin, 2018).

Berdasarkan uraian di atas, penelitian ini berjudul “Indonesian Named Entity Recognition untuk Domain Zakat menggunakan Conditional Random Fields”.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan sebelumnya, diperlukan sebuah model yang dapat mengekstraksi informasi dari sebuah dokumen teks dengan mengidentifikasi dan mengenali suatu entitas untuk domain zakat.

Pertanyaan penelitian ini adalah sebagai berikut:

1. Bagaimana proses Indonesian-NER untuk domain zakat?

2. Bagaimana hasil evaluasi model Indonesian-NER untuk domain zakat berdasarkan precision, recall dan f1-score?

1.3 Tujuan Penelitian

Maka tujuan penelitian ini adalah sebagai berikut:

1. Mengekstrak informasi dari sebuah website dan e-book sehingga menghasilkan informasi untuk domain zakat

2. Mengetahui entitas dan named entity class untuk domain zakat

3. Mengetahui hasil evaluasi model Indonesian-NER untuk domain zakat berdasarkan precision, recall dan f1-score

(17)

5

UIN Syarif Hidayatullah Jakarta

1.4 Manfaat Penelitian 1.4.1 Bagi Penulis

1. Dapat menerapkan dan menambah ilmu pengetahuan yang diperoleh selama masa perkuliahan

2. Untuk memenuhi salah satu syarat dalam meraih gelar sarjana jurusan Teknik Informatika dalam Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta

3. Untuk memenuhi salah satu syarat dalam meraih gelar sarjana dalam Fakultas Sains dan Teknologi jurusan Teknik Informatika Universitas Islam Negeri Syarif Hidayatullah Jakarta

4. Dapat memahami model Indonesian-NER dengan metode conditional random fields

5. Mendapatkan informasi atau pengetahuan dasar mengenai domain zakat terkait dengan rukun silam, jenis zakat, zakat mal, mustahik, muzzaki, lembaga pengelola zakat, lembaga amil zakat, syariat zakat, nisab zakat, tarif zakat dan person

1.4.2 Bagi Universitas

1. Dapat menambah sebuah koleksi karya ilmiah Universitas mengenai Indonesian-NER untuk domain zakat menggunakan conditional random fields

2. Penelitian ini dapat dijadikan sebagai referensi untuk penelitian sebelumnya

1.4.3 Bagi Pengguna

1. Penelitian ini dapat dijadikan sebagai salah satu referensi untuk penelitian sejenis

2. Sebagai model atau tahap awal dalam pembangunan aplikasi information extraction berbahasa Indonesia untuk domain zakat

(18)

UIN Syarif Hidayatullah Jakarta

1.5 Batasan Masalah

Berdasarkan uraian latar belakang masalah di atas, perlu adanya batasan masalah agar penelitian yang dilakukan tetap fokus dan dapat menyelesaikan permasalahan yang ada. Maka ruang lingkup batasan masalah pada penelitian ini yakni:

1.5.1 Proses

1. Pengambilan dataset melalui teknik web scraping, dimana dataset bersumber dari website baznas, website dompet dhuafa, website rumah zakat dan e-book yang bersumber dari Kementerian Agama Republik Indonesia yang berjudul “Hukum Zakat dan Wakaf”

2. Penelitian ini mengklasifikasikan 12 named entity class untuk domain zakat

3. Jumlah dataset pada penelitian ini sebanyak 23.196 kata

4. Pada preprocessing data, tahap yang dilakukan adalah tokenisasi 5. Penelitian ini sampai evaluasi kinerja model Indonesian-NER 1.5.2 Metode

1. Metode untuk pembuatan model Indonesian-NER untuk domain zakat adalah conditional random fields

2. Metode evaluasi untuk model Indonesian-NER untuk domain zakat adalah precision, recall dan f1-score

3. Metode untuk persebaran data menggunakan train test split 1.5.3 Tools

1. Tools yang digunakan untuk scraping data, tokenisasi data menggunakan anaconda prompt dengan bahasa pemrograman python

2. Tools yang digunakan untuk pembuatan model Indonesian-NER menggunakan google collaboratory

3. Tools yang digunakan untuk mentransformasikan bentuk data (pdf) menjadi bentuk txt menggunakan https://pdftotext.com/

(19)

7

UIN Syarif Hidayatullah Jakarta

1.6 Metodologi Penelitian

Untuk mencapai tujuan penelitian ini, maka dalam penelitian ini penulis menggunakan metode-metode berikut ini:

1.6.1 Metode Pengumpulan Data

Pada metode pengumpulan data penulis melakukan studi pustaka.

Studi pustaka dilakukan dengan cara mencari informasi melalui e-book, jurnal dan sebuah website yang bersangkutan terhadap pembahasan penelitian ini. Hal ini ditujukan untuk data pada latar belakang, landasan teori, literatur sejenis dan pembelajaran dalam pembahasan penelitian.

1.6.2 Metode Pembangunan Model Indonesian-NER

Metode yang digunakan untuk membuat model Indonesian-NER untuk domain zakat dalam penelitian ini mengacu terhadap jurnal (Sukmana et al., 2021), tahapannya sebagai berikut:

1. Persiapan data 2. Tokenisasi data

3. Mendefinisikan named entity class dan identifikasi entitas-entitas 4. Anotasi manual entitas bernama (labeling)

5. Pembuatan model Indoensian-NER 6. Evaluasi model Indonesian-NER 1.7 Sistematika Penulisan

Sistematika penulisan yang dijadikan acuan oleh penulis, yaitu:

BAB I PENDAHULUAN

Bab ini membahas mengenai latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan yang merupakan gambaran menyeluruh dari penulisan skripsi ini.

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

Bab ini menjelaskan tentang teori-teori relevan yang dijadikan acuan dalam penyusunan penelitian.

(20)

UIN Syarif Hidayatullah Jakarta

BAB III METODE PENELITIAN

Bab ini menjelaskan mengenai metode yang akan digunakan dalam penelitian yaitu metode pengumpulan data dan metode pembuatan model

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas pembuatan model dan evaluasi model sesuai dengan metode yang digunakan.

BAB V HASIL DAN PEMBAHASAN

Bab ini menjelaskan mengenai hasil dari penelitian beserta penjelasan dari pembuatan model.

BAB VI PENUTUP

Pada bab ini berisikan kesimpulan dari hasil pembahasan keseluruhan bab serta saran-saran yang sekiranya dapat diperhatikan serta dipertimbangkan untuk pengembangan penelitian di masa mendatang.

(21)

9 UIN Syarif Hidayatullah Jakarta

BAB II

TINJAUAN PUSTAKA DAN LANDASAN TEORI

2.1 Web Scraping

Web scraping adalah sebuah teknik yang digunakan untuk mendapatkan informasi yang berasal dari website, web scraping akan melakukan ekstraksi data yang dilakukan secara otomatis tanpa harus menyalinnya secara manual (A. Yani et al., 2019).

Web scraping berfokus dalam mendapatkan data dengan cara pengambilan sebuah dokumen semi-terstruktur dari internet, umumnya berupa halaman-halaman web seperti HTML atau XHTML, kemudian menganalisis dokumen tersebut untuk diambil data tertentu dari halaman tersebut yang digunakan untuk kepentingan lain (Syaifudin et al., 2018).

Penggunaan web scraping secara umum terdapat 4 langkah untuk pengambilan dan ekstraksi data secara otomatis dari sebuah halaman web, sebagai berikut (Ma’arif, 2016):

1. Untuk mengambil informasi dari sebuah website perlu mempelajari dokumen HTML, yaitu tag HTML yang mengapit informasi yang akan diambil

2. Menelusuri mekanisme navigasi pada sebuah website yang akan diambil formasinya

3. Berdasarkan langkah 1 dan 2 di atas, dengan web scraping dapat digunakan untuk mengotomatisasi pengambilan informasi dari website yang ditentukan

4. Informasi yang sudah didapat tersebut disimpan dalam format data tertentu

Web scraping berbeda dengan web crawler, web scraping hanya mengunjungi sebuah situs atau website yang ingin dituju dan mengambil data tertentu sesuai keinginan dan kebutuhan pengguna atau lebih terfokus, sedangkan web crawler yaitu mengunjungi semua situs atau website yang

(22)

UIN Syarif Hidayatullah Jakarta

berhubungan dengan situs atau website utama yang dijadikan sebagai patokan untuk melakukan web crawler (Setiawan et al., 2020).

2.2 Pre-Processing

Dokumen pada umumnya tidak terstruktur. Oleh karena itu, diharapkan suatu proses yang dapat memperbaharui atau mengubah bentuk kata yang sebelumnya tidak terstruktur ke dalam bentuk data yang terstruktur.

Proses tersebut dikenal dengan istilah text preprocessing (Jumeilah, 2017).

Gambar 2. 1 Tahap preprocessing

(Sumber: Akromunnisa & Hidayat, 2019)

Menurut (Jumeilah, 2017), ada 4 tahapan preprocessing yaitu case folding, tokenisasi, filtering/stopword removal dan stemming:

1. Case Folding

Case folding merupakan tahap untuk mengubah seluruh teks yang awalnya huruf besar menjadi huruf kecil, menghilangkan karakter-karakter tanda baca dan angka.

2. Tokenisasi

Tokenisasi merupakan tahap pemotongan string masukan berdasarkan kata-kata yang menyusunnya atau dengan kata lain pemecahan kalimat menjadi kata.

(23)

11

UIN Syarif Hidayatullah Jakarta

3. Filtering atau Stop Word Removal

Filtering atau stopword removal merupakan tahap menghapus kata-kata yang sangat umum atau tidak relevan. Bisa dikatakan filtering atau stopword removal merupakan proses mengambil kata-kata yang penting dari hasil token.

4. Stemming

Stemming merupakan tahapan yang bertujuan untuk mengubah term ke bentuk akar katanya, untuk membuang imbuhan awalan atau akhiran suatu kata menjadi kata dasar.

2.3 Machine Learning

Machine Learning atau pembelajaran mesin merupakan salah satu bagian inti dari kecerdasan buatan yang memungkingkan sistem atau mesin dibuat menjadi seperti manusia pada umumnya. Namun, kecerdasan dibuat dengan cara proses pembelajaran dan pelatihan terlebih dahulu. Dengan demikian, segala aktivitasnya akan mudah dikenali, dipahami dan dikerjakan dengan baik, efektif dan efisien sebelum sistem tersebut melakukannya pada dunia nyata (Rachmad, 2020)

2.3.1 Klasifikasi Machine Learning

Klasifikasi machine learning dibagi menjadi 3 jenis, yaitu:

1. Supervised Learning

Supervised learning merupakan pembelajaran terarah atau terawasi yang bertujuan untuk membangun fungsi input-output berdasarkan data yang tersedia atau algoritma yang belajar berdasarkan data latih yang sudah diberi label, dengan kata lain komputer atau mesin akan mempelajari data latih yang sudah diberi label.

Label kata sebagai parameter input ke fungsi dari dataset pelatihan dan memprediksi tagging NE yang paling sesuai untuk sebuah kata atau frasa dalam sebuah kalimat (Patil et al., 2020).

(24)

UIN Syarif Hidayatullah Jakarta

2. Unsupervised learning

Unsupervised learning merupakan pemroses tidak memerlukan data sebelumnya sebagai input. Dataset input tersebut tidak memerlukan label atau tujuan. Unsupervised learning membantu model dalam membentuk klaster dari jenis data yang serupa.

3. Semi-supervised learning

Mesin diharapkan pada lingkungan dimana ia mengambil keputusan atas dasar coba-coba dan belajar dari tindakannya sendiri dan dari pengalaman masa lalu. Bisa juga dikatakan bahwa jika mesin membutuhkan sejumlah kecil dari contoh yang ditandai dan mencoba untuk meningkatkan performa dengan menggunakan teks yang belum ditandai, maka itu menggunakan semi-supervised learning.

2.4 Natural Language Processing

Natural Language Processing merupakan suatu pengembangan teknik komputasi bahasa alami dalam menganalisis dan merepresentasikan teks ataupun lisan untuk mencapai pemrosesan bahasa seperti Bahasa manusia (Ramadhanti et al., 2019). Natural Language Processing berkaitan dengan interaksi antara komputer dan bahasa manusia (alami), Natural Language Processing menjadi populer dalam aplikasi seperti sistem pencarian informasi dengan tujuan utamanya adalah untuk mendapatkan informasi yang disediakan dalam teks/dokumen untuk diproses oleh mesin (Gani, 2020).

Selain itu, contoh pada aplikasi Natural Language Processing memiliki banyak manfaat seperti information extraction, question answering, parsing, machine translation, metadata untuk Semantic Web menandai informasi yang penting (Gunawan et al., 2018) (Aryoyudanta et al., 2017).

(25)

13

UIN Syarif Hidayatullah Jakarta

2.5 Named Entity Recognition

Named Entity Recognition (NER) adalah salah satu komponen penting dalam Natural Language Processing (NLP). Tujuan utama Named Entity Recognition (NER) adalah untuk menemukan dan mengklasifikasi entitas bernama dalam teks tertulis dalam kategori yang telah ditentukan sebelumnya mulai dari nama seseorang, organisasi, tanggal dan seringkali merupakan kunci informasi pada teks (Gunawan et al., 2018).

Named Entity Recognition (NER) dapat digunakan dalam beraneka ragam pekerjaan, contohnya dapat digunakan sebagai alat untuk pencarian dan penyaringan full-text (Gunawan et al., 2018). Named Entity Recognition (NER) juga dapat memberikan pengguna yang mencari nama orang dan organisasi dengan singkat. Seringkali, sistem NER digunakan pada area identifikasi entitas di biologi molekuler, bioinformatika, dan komunitas NLP medikal. Saat ini, sistem Named Entity Recognition (NER) digunakan ekstraksi primer dari artikel jurnal dan kemudian evaluasi Automatic Content Extraction (ACE) juga mengikutsertakan banyak tipe dari gaya teks informal, seperti web blog dan transkrip teks dari pidato percakapan telepon (Aryoyudanta et al., 2017).

Named Entity Recognition (NER) merupakan tugas ekstraksi informasi penting yang harus dikembangkan untuk semua bahasa di dunia karena digunakan untuk mengekstraksi informasi dari dokumen untuk membantu mengenali entitas dari setiap kata atau kalimat, misalnya pengindentifikasian entitas nama orang, organisasi, lokasi dan entitas domain yang spesifik (Patil et al., 2020).

Pada awalnya, inggris merupakan bahasa yang populer dalam penelitian Named Entity Recognition (NER), namun seiring dengan perkembangan penelitian pada area tersebut, semakin banyak macam bahasa yang telah diteliti misalnya Bahasa jerman, spanyol, belanda, jepang, mandarin, perancis, yunani dan Italia dan arab (Aryoyudanta et al., 2017).

Named Entity umumnya mengacu pada entitas dengan arti tertentu atau referensi kuat dalam teks, umumnya named entity dapat diklasifikasikan

(26)

UIN Syarif Hidayatullah Jakarta

berdasarkan nama orang, tempat, organisasi, tanggal, waktu, dan kata benda.

Entitas ini diekstraksi dari teks input tidak terstruktur dan named entity recognition dilakukan untuk mengidentifikasi lebih banyak kategori entitas berdasarkan kebutuhan (Ji et al., 2020).

Named Entity Recognition bermanfaat dalam berbagai aplikasi analisis teks misalnya pencarian sistem, tanya jawab, peringkasan teks dan mesin penerjemah (Wibisono & Khodra, 2018). Named Entity Recognition memiliki peranan penting dalam pencarian informasi yang digunakan mesin pencari seperti google. Named Entity Recognition juga bermanfaat dalam sistem tanya-jawab otomatis atau chatbot (Ji et al., 2020).

Contoh implementasi ekstraksi informasi Named Entity Recognition dalam melakukan identifikasi pada kata atau kalimat yang diinginkan dengan mengenali entitas yang telah disimpan di dalam model (Ananda Rahmasari, 2021):

Gambar 2. 2 Contoh implementasi NER

2.6 Conditional Random Fields

Conditional Random Fields (CRF) adalah model probabilistik untuk mengatasi pelabelan suatu data. Conditional Random Fields (CRF) merupakan teknik terbaik yang digunakan untuk labeling sebelum teknik deep learning. Conditional Random Fields (CRF) memperhitungkan label

(27)

15

UIN Syarif Hidayatullah Jakarta

yang muncul sebelumnya dan setiap fitur diberikan bobot untuk menghitung probabilitas label berikutnya (Wibisono & Khodra, 2018).

Conditional Random Fields (CRF) merupakan metode pencampuran antara Hidden Markov Model dan Maximum Entropy. Pendekatan ini dapat menghasilkan hasil yang memuaskan saat menandai urutan pemrosesan bahasa alami seperti penandaan bagian dari kalimat dan pengenalan entitas (Ji et al., 2020).

Conditional Random Fields (CRF) mengatasi permasalahan ketergantungan asumsi yang tinggi pada Hidden Markov Model. Hal ini karena Conditional Random Fields (CRF) dapat menentukan sendiri seberapa banyak fitur yang diinginkan untuk membangun sebuah model. Conditional Random Fields (CRF) dapat mempunyai bobot yang bebas sedangkan Hidden Markov Model (HMM) harus memenuhi bobot tertentu (Jaariyah & Rainarli, 2017).

Conditional Random Fields (CRF) juga mengatasi permasalahan label bias pada Maximum Entropy karena Conditional Random Fields (CRF) memformulasikan distribusi kondisional label untuk sekuen data secara keseluruhan dibandingkan Maximum Entropy yang memformulasikan distribusi kondisional label untuk setiap elemen data (Akbar et al., 2015).

Conditional Random Fields (CRF) digunakan untuk melatih model supervised learning (Kolya et al., 2007), dengan supervised learning umumnya merupakan pendekatan dimana kita mengelompokkan data berdasarkan variabel dan training data yang sudah ditetapkan. Supervised Learning berarti entitas yang perlu dikenali (data berlabel) sudah ditentukan, dan data yang akan dilatih juga sudah tersedia. Data berlabel sebagai parameter input ke fungsi dari dataset pelatihan dan memprediksi tag NE yang paling sesuai untuk sebuah kata dalam kalimat (Patil et al., 2020).

(28)

UIN Syarif Hidayatullah Jakarta

Secara umum tahapan proses CRF ditunjukkan pada gambar 2.2.

Gambar 2. 3 Tahapan proses CRF

Ekstraksi Fitur merupakan tahapan paling penting dalam pembuatan model. Fitur yang tepat dapat meningkatkan nilai akurasi dari sebuah model yang akan dibangun, fungsi fitur adalah sebuah fungsi yang mengkombinasi sebuah fitur dengan labelnya yang bersesuaian dan antara label yang berdekatan (Akbar et al., 2015).

Penaksiran parameter adalah proses untuk memperoleh nilai optimal parameter fungsi fitur. Nilai optimal parameter fungsi dihitung menggunakan prosedur maksimum likelihood. Prosedur maksimum likelihood merupakan nilai yang menunjukkan seberapa banyaknya parameter yang terdapat pada data pelatih. Prosedur maksimum likelihood dapat memaksimalkan kemiripan ciri dari kumpulan data pelatih yang telah dimodelkan dengan Conditional Random Field . Proses berikutnya setelah mendapatkan nilai dari parameter fitur dari proses pelatihan yakni melakukan pengimplementasikan nilai parameter tersebut pada data penguji (Jaariyah & Rainarli, 2017).

2.7 Anotasi manual entitas bernama

Proses yang akan dilakukan setelah melakukan tokenisasi yaitu melakukan anotasi manual entitas bernama atau pelabelan data. Untuk melakukan pelabelan tersebut menggunakan format BIO (Beginning, Inside, Outside). Pada format pemberian anotasi yang umum untuk menandai suatu entitas, pada format BIO dimana “B” merupakan awal dari entitas, “I”

merupakan entitas perantara atau masih berhubungan dengan entitas, dan “O”

merupakan kata yang tidak termasuk entitas bernama (Irfan & Hidayatullah, 2019).

(29)

17

UIN Syarif Hidayatullah Jakarta

2.8 Scikit-learn

Scikit-Learn merupakan library yang digunakan untuk melakukan pembuatan model machine learning. Scikit-Learn sangat mudah untuk digunakan dan diimplementasikan banyak algoritma machine learning untuk masalah yang diawasi dan tidak diawasi skala menengah secara efisien (Munawar & Silitonga, 2019).

2.9 Evaluasi Model

Named Entity Recognition hanya menggunakan satu standar dalam metode pengujian/pengukuran model secara umum, yaitu menggunakan tiga metrik untuk menjelaskan kinerja/performa dari model Named Entity Recognition. Matriks tersebut disebut precision, recall dan f1-score (Jaariyah & Rainarli, 2017).

Blok diagram untuk precision-recall ditunjukkan pada gambar 2.3 berikut:

Gambar 2. 4 Blok diagram untuk precision-recall

Sumber: (Younas et al., 2019) Penjelasan blok diagram di atas adalah sebagai berikut

1. True Positive (TP) adalah prediksi dimana sistem bisa mendeteksi suatu kata ke suatu kelas entitas dan deteksi tersebut benar. Sehingga semakin tinggi proporsi True Positive (TP) maka kinerja akan semakin baik

(30)

UIN Syarif Hidayatullah Jakarta

2. False Positive (FP) adalah prediksi dimana suatu kata dideteksi ke suatu kelas tapi kenyataannya deteksi tersebut salah

3. False Negative (FN) adalah prediksi dimana suatu kata yang seharusnya dideteksi ke kelas entitas tertentu ternyata tidak dideteksi.

Sehingga, rumusnya adalah sebagai berikut:

1. Precision adalah perbandingan antara data yang terdeteksi benar dengan seluruh data prediksi pada suatu kelas atau tingkat ketepatan antara informasi yang diminta oleh pengguna dengan jawaban yang diberikan oleh system. Dengan kata lain Precission merupakan pengukuran dari kehandalan, bahwa objek yang ditandai sebagai positif adalah benar dan sesungguhnya positif.

2. Recall adalah perbandingan hasil klasifikasi dengan kelas sesungguhnya atau tingkat keberhasilan sistem dalam menemukan kembali sebuah informasi. Dengan kata lain Recall merupakan pengukuran seberapa meyakinkannya, bahwa semua objek yang positif telah ditandai.

3. F1-Score atau F-Measure merupakan keselarasan antara precission dan recall, dimana dapat dikatakan sudut pandang keseluruhan.

(31)

19

UIN Syarif Hidayatullah Jakarta

2.10 Google Collaboratory

Google collaboratory atau Google collab merupakan tools yang dikeluarkan oleh Google Internal Research. Tools ini membantu para peneliti atau orang yang ingin mempelajari dan mengolah data menggunakan machine learning. Penggunaan tools ini hampir sama dengan Jupyter Notebook dimana tools ini dibuat diatas environment Jupyter, hanya saja berbeda dalam hal media penyimpanannya.

Penyimpanan pada Google Collab adalah Google Drive dan tools ini berjalan pada sistem Cloud (Rahma et al., 2021).

2.11 Python

Python adalah bahasa pemrograman yang dikembangkan secara khusus untuk membuat source code yang mudah dibaca. Python juga memiliki library yang lengkap sehingga memungkinkan dan memudahkan programmer untuk membuat aplikasi dengan menggunakan source code yang lebih sederhana (Ananda Dwi et al., 2018) dan trend saat ini penggunaan bahasa pemrograman python juga sangat tinggi (Handayanto

& Herlawati, 2020).

2.12 Pengertian Zakat

Secara istilah, zakat berasal dari bahasa Arab, (zakah atau zakat), yang mengandung arti harta tertentu yang wajib dikeluarkan oleh orang yang beragama Islam dan diberikan kepada golongan yang berhak menerimanya (fakir miskin dan sebagainya). Dari segi bahasa, zakat berarti bersih, suci, subur, berkat, dan berkembang. Menurut syariat Islam, zakat merupakan rukun ketiga dari rukun Islam (Rosadi, 2019).

Perlu digaris bawahi bahwa zakat bukan hanya sekedar bagian dari rukun Islam yang menjadi suatu kewajiban seorang muslim, namun jika dipahami dari segi konsep filosofis bahwa zakat mampu mensejahterakan masyarakat secara umum, karena dengan berzakat akan menciptakan

(32)

UIN Syarif Hidayatullah Jakarta

suasana yang harmonis dan mempunyai rasa sikap saling peduli terhadap sesama yang lebih membutuhkan (Hafriza et al., 2018)

Bila seorang Muslim tidak mengeluarkan zakat dan mengingkari kewajibannya, status keislamannya bisa gugur (Sarwat, 2019). Sementara menurut syariat, zakat adalah sebagian harta yang wajib kita keluarkan dari harta yang Allah berikan kepada kita, yang telah mencukupi nisab dan haulnya untuk orang yang berhak menerimanya (Rosadi, 2019).

Suatu keistimewaan yang Allah berikan kepada orang-orang beriman yang menunaikan zakat adalah akan menjadi penolong, sebagaimana firman Allah dalam QS. Al-Maidah ayat 55:

Sesungguhnya penolong kamu hanyalah Allah, Rasul-Nya, dan orang-orang yang beriman, yang mendirikan salat dan menunaikan zakat, seraya mereka tunduk (kepada Allah)”.

2.13 Studi Literatur

Studi literatur merupakan metode dalam pengumpulan data yang dapat menyelesaikan persoalan dengan menelusuri sumber-sumber tulisan yang pernah dibuat sebelumnya. Sumber-sumber yang didapat dijadikan sebagai bahan Studi Literatur dan disusun menurut kaidah penulisan ilmiah (Nuryana et al., 2019).

(33)

21

UIN Syarif Hidayatullah Jakarta

2.14 Studi Literatur Sejenis

Judul Metode Dataset Ukuran

Dataset

Bahasa Dataset

Label Class

Entitas BIO Hasil Evaluasi Named Entity

Recognition using Conditional Random Fields

(Patil et al., 2020)

Conditional Random Field

Diambil dari teks berita Marathi (bahasa India) dan dari korpus FIRE-2010

27.177 kalimat

Marathi Dua Belas class label entitas:

orang, lokasi, organisasi,

bermacam-macam, jumlah, jumlah, ukuran,

tanggal, waktu, hari kerja, bulan, dan tahun

Presisi 82,33%, Recall 70,68%, F1-Score 75,51%

Pengenalan Entitas Bernama Otomatis untuk Bahasa Indonesia dengan Pendekatan

Pembelajaran Mesin (Wibisono & Khodra, 2018)

LSTM-CRF (Long Short Term Memory – Conditional Random Field)

Data wikipedia Bahasa Indonesia

- Indonesia Empat label class entitas:

nama orang, organisasi, lokasi, entitas lain/ MISC

F-measure 72%

(34)

UIN Syarif Hidayatullah Jakarta

Judul Metode Dataset

Dataset Dataset Entitas BIO Hasil Evaluasi Power entity

recognition based on bidirectional long short-term memory and conditional random fields (Ji et al., 2020)

CRF dan BLSTM

Diambil dari makalah ilmu pengetahuan dan teknologi tenaga dibidang daya

19.469 kalimat

Bahasa Inggris

Enam label class entitas:

Nama, organisasi, geografi, alat, cabang, line

CRF:

Accuracy 83,23%, Recall 81,86%

dan F-value 82,58%

BLSTM:

Accuracy 75,48%, Recall 82,56%

dan F-value 78,86%

Named Entity Recognition for an Indonesia Based Language Tweet using Multinomial Naïve Bayes Classifier

(Rifani et al., 2019)

Multinomial Naive Bayes Classifier

Tweet bahasa Indonesia dengan jumlah kata setiap tweet dibatasi yaitu 280 karakter

1.300 tweet

Indonesia Tiga label class entitas:

Person,

Organization, dan Location

✓ presisi 85%, recall 80%, F-1 80%

(35)

23

UIN Syarif Hidayatullah Jakarta

Judul Metode Dataset Ukuran

Dataset

Bahasa Dataset

Label Class

Entitas BIO Hasil Evaluasi Named-Entity

Recognition for Indonesia Language using Bidirectional LSTM-CNNs (Gunawan et al., 2018)

Bidirectional LSTM-CNN

Dataset diambil dari Indonesian news articles Indonesian dan wikipedia dump

81.173 kata

Indonesia Empat label class entitas:

Orang, Organisasi, Lokasi, Event

✓ BiLSTM+CNN

precision 79.72%, recall 79.61%, dan F-score 79.43%

Building the

Knowledge Graph for Zakat (KGZ) in Indonesia Language (Sukmana et al., 2021)

Stanfor-NER Diambil dari website, buku dan peraturan tentang pengelolaan zakat

3.438 kalimat

Indonesia Dua puluh satu label class entitas:

Azas pengelolaan zakat, binatang ternak, harta, mengangkut, lembaga amil zakat, lembaga pengelola zakat, lokasi, logam mulia, makanan pokok, mustahik, muzakki, nisab, organisasi, pekerjaan,

✓ Presisi 0.7641, recall 0.4544, dan f1-score 0.5655

(36)

UIN Syarif Hidayatullah Jakarta

Judul Metode Dataset

Dataset Dataset Entitas BIO Hasil Evaluasi pengelolaan zakat,

orang, regulasi, tarif zakat, waktu, zakat, zakat maal Indonesian Named

Entity Recognition untuk Domain Zakat menggunakan Conditional Random Fields

Conditional Random Fields (CRF)

Diambil dari website baznas, dompet dhuafa, rumah zakat dan e-book hukum zakat dan wakaf

23.196 kata

Indonesia Dua belas label class entitas:

rukun islam, zakat, jenis zakat, zakat mal, mustahik, muzzaki, lembaga pengelola zakat, lembaga amil zakat, syariat zakat, nisab zakat, tarif zakat, person

✓ presisi 90%

recall 83%

F-1 Score 86%

(37)

25

UIN Syarif Hidayatullah Jakarta

Penelitian yang dilakukan peneliti adalah Indonesian-NER untuk domain zakat dengan menggunakan metode Conditional Random Field (CRF). CRF dipilih karena berdasarkan penelitian sejenis, penelitian yang dilakukan oleh (Ji et al., 2020) dengan menggunakan metode CRF dengan dataset berbahasa Inggris mampu menghasilkan evaluasi kinerja model paling baik diantara metode yang lain.

Penelitian yang dilakukan oleh (Patil et al., 2020), (Ji et al., 2020) dan (Sukmana et al., 2021) sudah mampu mengidentifikasi entitas spesifik, sedangkan penelitian yang dilakukan oleh (Wibisono & Khodra, 2018), (Rifani et al., 2019) dan (Gunawan et al., 2018) hanya mengidentifikasi entitas umum.

Dengan demikian penelitian ini menggunakan metode Conditional Random Field (CRF) dengan dataset berbahasa Indonesia yang diharapkan dapat mengidentifikasi entitas spesifik yaitu domain zakat dan dengan melakukan pelabelan menggunakan format BIO (Beginning, Inside, Outside) diharapkan dapat menghasilkan evaluasi model Indonesian-NER yang lebih baik.

(38)

26 UIN Syarif Hidayatullah Jakarta

BAB III

METODOLOGI PENELITIAN

3.1 Metode Pengumpulan Data

Dalam menyusun penelitian ini, peneliti memerlukan data dan informasi yang digunakan sebagai latar belakang masalah, teori dan sebagai dataset yang berkaitan dengan metode untuk memecahkan masalah tersebut.

3.1.1 Studi Literatur

Peneliti menggunakan studi literatur untuk mengumpulkan referensi-referensi yang relevan dengan penelitian peneliti. Teori dalam penelitian ini bersumber dari 31 jurnal dan 1 skripsi. Serta data dalam penelitian ini bersumber dari e-book berjumlah 1 e-book dan 9 website.

3.1.2 Data yang bersumber dari website dan e-book mengenai zakat 1. Data yang bersumber dari internet diperoleh melalui teknik web

scraping. Situs website yang dilakukan untuk web scraping pada penelitian ini, dapat dilihat pada tabel 3.1.

Tabel 3. 1 Sumber data website

No Sumber Data

1 Website BAZNAS

www.baznas.go.id/panduanzak at

Dokumen 1 www.baznas.go.id/zakat Dokumen 2 2

Website Dompet Dhuafa

www.dompetdhuafa.org/id/lay anan/detail/faq

Dokumen 3

3

Website Rumah Zakat

www.rumahzakat.org/en/zakat/

zakat-emas-dan-perak/

Dokumen 4 www.rumahzakat.org/en/zakat/

zakat-penghasilan/

Dokumen 5 www.rumahzakat.org/en/zakat/

zakat-perdagangan/

Dokumen 6 www.rumahzakat.org/en/zakat/

zakat-pertanian/

Dokumen 7

(39)

27

UIN Syarif Hidayatullah Jakarta

No Sumber Data

www.rumahzakat.org/en/zakat/

zakat-hadiah/

Dokumen 8 www.rumahzakat.org/en/zakat/

zakat-simpanan/

Dokumen 9

2. E-book dengan judul Hukum Zakat dan Wakaf bersumber dari Kementerian Agama Republik Indonesia

Tabel 3. 2 Sumber data e-book

3.2 Metode Pembangunan Indonesian-NER

Metode yang penulis gunakan untuk pembuatan model Indonesian- NER untuk domain zakat ini adalah dengan tahapan sebagai berikut:

3.2.1 Persiapan data

Gambar 3. 1 Persiapan data

Pada persiapan data dilakukan proses sebagai berikut:

1. Data teks didapat dari hasil web scraping atau penelusuran data di web mengenai zakat dan melakukan dokumen analisis yang didapat dari e-book yang berjudul Hukum Zakat dan Wakaf bersumber dari Kementerian Agama Republik Indonesia.

No Sumber Data

1

Bab 1: Pendahuluan Dokumen 10

Bab 2: Zakat Dokumen 11

Bab 3: Hukum Zakat Dokumen 12

Bab 4: Harta Wajib Zakat Dokumen 13

Bab 5: Hubungan Antara Zakat dan Pajak Dokumen 14

(40)

UIN Syarif Hidayatullah Jakarta 2. Melakukan ekstraksi data

A. Web scraping

Merupakan teknik yang digunakan untuk mengekstraksi sejumlah data dari suatu website. Pada tahap ini, peneliti menjalankan script menggunakan anaconda prompt, selanjutnya menjalankan script tersebut dan mengembalikan data yang berhasil di scraper dalam bentuk txt yang disimpan di lokal komputer.

B. Mengekstraksi data e-book yang berjudul Hukum Zakat dan Wakaf bersumber dari Kementerian Agama Republik Indonesia dengan mentransformasikan bentuk data (pdf) menjadi bentuk txt, penulis menggunakan tools online yaitu https://pdftotext.com/

3. Tokenisasi

Tokenisasi merupakan tahap pemisah teks yang di dapat dari sebuah kalimat, paragraf atau sebuah dokumen, kemudian dijadikan token-token tertentu. Proses ini dilakukan menggunakan anaconda prompt.

Pada penelitian ini hanya menggunakan tokenisasi tidak menggunakan preprocessing yang lainnya, seperti case folding, filtering dan stemming.

Tabel 3. 3 Alasan proses pre-processing

Pre-Processing Alasan

Case Folding  Sudah menggunakan fitur lower

Case folding juga

menghilangkan angka dan karakter, sedangkan pada penelitian ini angka dan karakter dibutuhkan

Tokenisasi ✓ Dipecah menjadi token-token agar mudah dipahami struktur kalimatnya saat dilakukan anotasi manual

(41)

29

UIN Syarif Hidayatullah Jakarta

Filtering  Jika filtering di lakukan akan lebih sulit untuk memahami struktur kalimatnya, karena anotasi dilakukan secara

manual, kata yang tidak relevan dapat di anotasi menjadi O (outside)

Stemming  Pada penelitian ini imbuhan kata diperlukan. Sebagai contoh zakat perdagangan.

Jika kita ambil kata dasarnya yakni menjadi zakat dagang, sedangkan zakat perdagangan merupakan entitas pada penelitian ini

3.2.2 Mendefinisikan Entitas Class dan Identifikasi Entitas-Entitas Pada penelitian ini penulis melakukan pemetaan entitas class dan entitas-entitas untuk domain zakat berdasarkan analisis yang dilakukan oleh peneliti yang didapat dari hasil web scraping pada website baznas, website dompet dhuafa, website rumah zakat dan mengekstraksi e-book yang berjudul Hukum Zakat dan Wakaf bersumber dari Kementerian Agama Republik Indonesia.

Rancangan dasar untuk mendefinisikan entitas class untuk domain zakat dapat dilihat pada gambar 3.2, berikut.

Gambar 3. 2 Rancangan dasar untuk mendefinisikan entitas class untuk domain zakat

(42)

UIN Syarif Hidayatullah Jakarta

Pada gambar rancangan dasar untuk mendefinisikan entitas class untuk domain zakat di atas, dapat diilustrasikan bahwa zakat merupakan salah satu rukun islam, kemudian jenis zakat terdiri dari zakat fitrah dan zakat mal. Zakat itu sendiri memiliki tarif dan nisab. Zakat dikelola oleh lembaga pengelola zakat, yang terdiri dari BAZNAS dan LAZ, selain mengelola zakat, lembaga pengelola zakat juga mengelola muzaki dan mustahik. Muzakki merupakan seorang muslim atau badan usaha yang berkewajiban menunaikan zakat, dimana proses pembayaran tersebut melalui lembaga pengelola zakat dan mustahik adalah seorang atau kelompok yang berhak menerima zakat, dimana proses tersebut akan dilakukan oleh lembaga pengelola zakat.

Pada penelitian ini, mendefinisikan 12 entitas class untuk domain zakat,yaitu rukun islam, zakat, jenis zakat, zakat mal, mustahik, muzzaki, lembaga pengelola zakat, lembaga amil zakat, syariat zakat, nisab zakat, tarif zakat dan person.

3.2.3 Anotasi Manual Entitas Bernama

Gambar 3. 3 Anotasi manual entitas bernama

Pada penelitian ini, jumlah dataset sebanyak 14 dokumen yang terdiri dari 23.196 kata yang akan dianotasi secara manual.

(43)

31

UIN Syarif Hidayatullah Jakarta

Dalam anotasi dokumen melakukan pelabelan kata yakni dengan menggunakan format BIO yang merupakan singkatan dari Beginning (B), Inside (I) dan Outside (O).

Tabel 3. 4 Contoh anotasi manual entitas bernama

Entitas Anotasi manual entitas bernama

Badan B-LPZ

Amil I-LPZ

Zakat I-LPZ

Nasional I-LPZ

Memberikan O

Zakat B-JZT

Fitrah I-JZT

Diberikan O

Kepada O

Fakir B-MUS

Miskin B-MUS

Dari contoh di atas, mengidentifikasi 4 entitas pada kalimat tersebut yakni badan amil zakat nasional, zakat fitrah, fakir dan miskin. Badan amil zakat nasional merupakan sebuah frasa yang dimana terdapat 4 suku kata yang ditandai dengan B-LPZ dan I-LPZ. Zakat fitrah merupakan sebuah frasa dimana terdapat 2 suku kata yang ditandai dengan B-JZT dan I-JZT, dengan pelabelan tersebut kita dapat melihat apakah itu sebuah kata atau frasa.

Dengan format BIO dapat mengurangi kata atau frasa yang ambigu, sebagai contoh dari kalimat badan amil zakat nasional dan zakat fitrah, kedua kalimat tersebut sama-sama memiliki kata

“zakat” yang sama namun memiliki class yang berbeda.

(44)

UIN Syarif Hidayatullah Jakarta

3.2.4 Persiapan Fitur

Fitur yang digunakan pada penelitian ini dapat dilihat pada tabel 3.5.

3.2.5 Melatih Model dengan Scikit-learn

Melatih model dengan implementasi conditional random fields yang disediakan oleh sklearn-crfsuite. Pembagian data berupa sampel ke dalam data latih dan data uji pada penelitian ini menggunakan library scikit-learn.

3.2.5.1 Train-test Split

Pada penelitian ini membagi porsi dataset ke dalam 2 bagian yaitu data latih dan data uji menggunakan metode train-test split pada library python. Tujuan dalam skenario ini adalah untuk menguji sebuah model dalam keadaan dataset yang berbeda. Dalam penelitian ini menggunakan 3 skenario yakni 20% data uji dan 80% data latih, 30%

data uji dan 70% data latih, dan 40% data uji dan 60%

data latih.

Tabel 3. 5 Persiapan fitur

(45)

33

UIN Syarif Hidayatullah Jakarta

3.2.6 Pengujian kinerja model Indonesian-NER

Pengujian kinerja model Indonesian-NER pada penelitian ini, dengan mengukur nilai precision, recall dan f1-score.

3.3 Alur Penelitian

Gambar 3. 4 Alur penelitian

(46)

34 UIN Syarif Hidayatullah Jakarta

BAB IV

ANALISIS DAN PERANCANGAN SISTEM

4.1 Teknik Pengolahan Data 4.1.1 Scraping Data

Scraping data merupakan teknik untuk mengambil data yang ada pada sebuah website tertentu sesuai dengan keperluan. Dalam domain zakat pada penelitian ini yang diperlukan adalah data-data dari sebuah website yang menampilkan informasi seputar zakat, mulai dari pengetahuan dasar zakat, definisi zakat, aturan zakat, ketentuan zakat dan lain sebagainya. Untuk kebutuhan penelitian ini, informasi data berupa teks dari sebuah website yang memiliki informasi tentang zakat yang ditentukan melalui tahapan berikut:

1. Penentuan website yang akan diambil informasinya - BAZNAS

- Rumah Zakat - Dompet Dhuafa 2. Identifikasi struktur website

Dalam mengidentifikasi struktur website yang akan di scraping, peneliti menggunakan teknik identifikasi secara langsung menggunakan tools yang ada pada browser, yaitu tools inspect element. Misalkan ketika akan meng-scraping data dari website BAZNAS, di sana akan ada tampilan atau page yang berkaitan dengan zakat. Halaman yang akan diambil datanya yaitu https://baznas.go.id/zakat, lalu kita lihat strukturnya dengan menggunakan inspect element (klik kanan – inspect).

(47)

35

UIN Syarif Hidayatullah Jakarta Gambar 4. 1 Identifikasi gambar website

Dari satu page atau halaman akan ada berbagai element, dan yang kita lihat adalah class element yang mengandung teks tentang Zakat. Setelah itu class element tersebut kita copy dan kita masukan kedalam script scraping yang kita persiapkan menggunakan anaconda prompt. Asumsi dalam scraping ini bahwa teks yang akan diambil mempunyai class yang sama. Bila pada page yang lain, classnya berbeda, maka pada script scraping ditambahkan lagi dengan class yang baru.

3. Membuat tools scraping menggunakan anaconda

Scraping tools menggunakan anaconda prompt, untuk masing-masing website memiliki masing-masing script, karena masing-masing web mempunyai struktur class yang berbeda- beda.

4. Implementasi tools scraping

Pada tahap implementasi, peneliti menjalankan script menggunakan anaconda prompt, selanjutnya menjalankan script tersebut dan mengembalikan data yang berhasil di scraper dalam bentuk txt. Berikut adalah contoh script proses scraping pada halaman website https://baznas.go.id/zakat.

(48)

UIN Syarif Hidayatullah Jakarta import scrapy

class BasnaszakatSpider(scrapy.Spider):

name = 'basnaszakat'

allowed_domains = ['www.baznas.go.id/zakat']

start_urls = ['https://baznas.go.id/zakat/']

custom_settings = {

'FEED_URI' : 'tmp/baznaszakat.txt' }

def parse(self, response):

#Extracting the content using css selectors judul = response.css('h3::text').extract() isi = response.css('.mb20::text').extract()

#Give the extracted content row wise for item in zip(judul,isi):

#create a dictionary to store the scraped info

scraped_info = {

'judul' : item[0], 'isi' : item[1], }

#yield or give the scraped info to scrapy yield scraped_info

Gambar

Gambar 1. 1 Populasi negara dengan jumlah muslim terbesar di dunia
Gambar 2. 1 Tahap preprocessing
Gambar 2. 2 Contoh implementasi NER
Gambar 2. 4 Blok diagram untuk precision-recall
+7

Referensi

Dokumen terkait