Arsip untuk ‘Document Classification’ Kategori

Penggunaan Teorema Bayes Untuk Mengklasifikasikan Dokumen (2)

Maret 1, 2008

Tulisan ini merupakan lanjutan dari tulisan sebelumnya,

penggunaan-teorema-bayes-untuk-mengklasifikasikan-dokumen-1

Fakta berikutnya adalah probabilitas suatu sms apakah ditujukan untuk Dinas Pendidikan atau untuk Satpol PP. berdasarkan data sms yang kita punyai sebelumnya terlihat bahwa dari:

  • 2 dari 4 sms yang masuk adalah ditujukan untuk Dinas Pendidikan, dengan demikian probabilitas suatu sms yang masuk ditujukan kepada Dinas Pendidikan adalah 2/4 = 0.5 (50 persen).

  • 2 dari 4 sms yang masuk adalah ditujukan untuk Satpol PP, dengan demikian pobabilitas suatu sms yang masuk ditujukan kepada Satpol PP adalah 2/4 = 0.5 (50 persen).

Dari fakta tersebut diatas diketahui bahwa bahwa sebuah sms yang masuk adalah ditujukan untuk Dinas Pendidikan adalah P(S) = 0.5, sedangkan probabilitas untuk Satpol PP adalah P(~S)= 0.5. Fakta ini merupakan probabilitas awal (prior probability) dari suatu sms yang masuk.

Langkah selanjutnya adalah mengambil salah satu sms yang akan digunakan sebagai sample untuk ditentukan klasifikasinya.

Sms Sampel 1

Pak, di SD Tarumanegara masih ada pungutan, padahal sudah ada dana BOS.

Sms Sampel 2

PKL di alun-alun sudah mengganggu lalu lintas, tolong ditertibkan.

Uji Sms Sampel 1

Buat matriks kata-kata dengan probabilitas sesuai dengan corpus. Untuk kata-kata yang baru (tidak ada dalam corpus) probabilitas bernilai 0,50. hal ini merupakan nilai pertengahan (dalam arti kata tersebut memiliki peluang yang sama besar apakah Dinas Pendidikan atau Satpol PP), sehingga kata baru ini dinilai mempunyai probabilitas yang sama besar apakah termasuk corpus yang dimaksud atau tidak. Probilitas dibandingkan dengan probabilitas total.

No

Kata

Prob

DInas Pendidikan

Prob

Satpol PP

1

Pak

0,01

0,99

2

Di

0,50

0,01

3

SD

0,99

0,01

4

Tarumanegara

0,50

0,50

5

Masih

0,50

0,01

6

Ada

0,99

0,01

7

Pungutan

0,50

0,01

8

Padahal

0,50

0,50

9

Sudah

0,50

0,50

10

Dana

0,50

0,01

11

Bos

0,99

0,01

¶p(wi|C)

7.58046E-05

1.2E-15

Bandingkan kata-kata yang ada dalam SMS tersebut dengan teorema bayes, sesuai dengan probabilitas yang ada dalam matriks probabilitas corpus.

Pertama kita bandingkan kata-kata yang ada dengan probabilitas di corpus Dinas Pendidikan.

Hasilnya adalah =

= 7.58046E-05

dan

= 1.2E-15

Dari hasil tersebut dapat kita tuliskan

= (0.5 / 1) * 7.58046E-05

= 3.79023E-05

Dan

= (0.5 / 1) * 1.2E-15

= 6.1875E-16

Selanjutnya hasil tersebut kita masukkan kedalam rumus NBC, yaitu

Atau

Ln (3.79023E-05 / 6.1875E-16) = 24.83833172

Karena 24.83833172 > 0, maka sms yang kita uji tersebut dapat kita nyatakan sebagai sms yang ditujukan untuk Dinas Pendidikan.

Dari hasil tersebut terlihat bahwa probabilitas sebelumnya (prior probability) menunjukan bahwa sms yang masuk memiliki peluang yang kurang dapat ditentukan (masing-masing 50 persen), sehingga perlu direvisi kembali untuk melihat kemungkinan lain dari sms tersebut (posterior probability). Melalui NBC posterior probability tersebut dimanfaatkan untuk menentukan sms tersebut secara matematis.

 

Masih belum jelas, anda dapat berlatih dengan menggunakan sample sms yang kedua.

 

 

Penggunaan Teorema Bayes Untuk Mengklasifikasikan Dokumen (1)

Januari 10, 2008

Berikut salah satu contoh penggunaan teorema bayes untuk menentukan klasifikasi suatu dokumen.

Permasalahan:

Suatu program SMS Gateway dikelola oleh Pemerintah Daerah apakah merupakan sebuah spam atau bukan. SMS Gateway ini menerima sms-sms dari masyarakat mengenai kebijakan Pemerintah Daerah. Pemerintah Daerah kemudian akan meneruskan sms-sms tersebut dinas/instansi terkait yang bertanggungjawab terhadap isi sms tersebut. Dalam kasus ini kita akan mengambil contoh dari 2 instansi, yaitu sms yang ditujukan untuk Dinas Pendidikan dan untuk Satuan Polisi Pamong Praja (Satpol PP)

Pertama-tama kita mulai dengan mengumpulkan (mengklasifikasikan secara manual) data sms yang ditujukan kepada Dinas Pendidikan dan Satpol PP. Dengan demikian kita memiliki dua buah corpus (kumpulan dokumen) dimana satu merupakan kumpulan sms untuk Dinas Pendidikan dan Satpol PP. Sms dari masing-masing corpus tersebut akan dijadikan sebagai training data (data latihan) pengklasifikasi dokumen yang akan dibuat.

Selanjutnya kita hitung jumlah kata-kata yang ada di masing-masing corpus tersebut. jumlah banyaknya kata yang muncul dalam masing-masing corpus tersebut akan menjadi dasar penentuan probabilitas awal (prior probability) dari suatu kata di masing-masing corpus.

3.jpg, dimana Wi merupakan kata ke-i dalam corpus C.

Sebagai contoh, untuk lebih memudahkan, saya ambil masing-masing dua buah sms Dinas Pendidikan dan Satpol PP sebagai ilustrasi untuk dijadikan corpus. (corpus sendiri seharusnya berisi lebih banyak sms atau bahkan ribuan sms untuk meningkatkan ketepatan kemampuan pengklasifikasian dokumen).

Sms Dinas Pendidikan 1

Kepada bapak bupati tolong di tinjau terutama pengunaan dana BOS. karna kami wali murid merasa terbebani dengan banyaknya pungutan biaya.

Sms Dinas Pendidikan 2

Bagaimana tentang Bos buku di SD ada atau tidak? msh ada SD yang mewajibkan muridnya beli buku.

Sms Satpol PP 1

Pak bupati, mohon PKL untuk ditertibkan/bongkar tanpa pilih kasih.

Sms Satpol PP 2

Pak bupati,coba ditertibkan PKL yang dipinggir Jalan Johar/Kertabumi.

Selanjutnya, kita ambil masing-masing kata dengan jumlah kemunculannya untuk mmbuat tabel probabilitas.

Catatan:

Banyak cara membuat probabilitas. Disini probabilitas suatu kata dihitung dengan membagi banyaknya kata dengan banyaknya dokumen dalam corpus yang bersangkutan. Dalam hal ini adalah 2 karena setiap corpus berisi 2 dokumen sms.

Probabilitas sendiri tidak dapat bernilai lebih dari satu. Oleh karena itu, sebagaimana yang dilakukan oleh Paul Graham (dalam tulisannya Plan for Spam), hasil pembagian yang menghasilkan angka >= 1, maka probalitasnya adalah 0,99. sedangkan hasil pembagian yang menghasilkan angka <= 0, probabilitasnya adalah 0,01


No

Kata

Dinas Pendidikan

Satpol PP

Jml Kata

Probabilitas

Jml Kata

Probabilitas

1

Ada

2

0,99

0

0,01

2

Atau

1

0.50

0

0,01

3

Bagaimana

1

0.50

0

0,01

4

Banyaknya

1

0.50

0

0,01

5

Bapak

1

0.50

0

0,01

6

Beli

1

0.50

0

0,01

7

Biaya

1

0.50

0

0,01

8

Bongkar

0

0.00

1

0.50

9

Bos

2

0,99

0

0,01

10

Buku

2

0,99

0

0,01

11

Bupati

1

0.50

2

0,99

12

Coba

0

0,01

1

0.50

13

Dana

1

0.50

0

0,01

14

Dengan

1

0.50

0

0,01

15

Di

1

0.50

0

0,01

16

Dipinggir

0

0,01

1

0.50

17

Ditertibkan

0

0,01

2

0,99

18

Ditinjau

1

0.50

0

0,01

19

Jalan

0

0,01

1

0.50

20

Johar

0

0,01

1

0.50

21

Kami

1

0.50

0

0,01

22

Karena

1

0.50

0

0,01

23

Kasih

0

0,01

1

0.50

24

Kepada

1

0.50

0

0,01

25

Kertabumi

0

0,01

1

0.50

26

Masih

1

0.50

0

0,01

27

Merasa

1

0.50

0

0,01

28

Mewajibkan

1

0.50

0

0,01

29

Mohon

0

0,01

1

0.50

30

Murid

1

0.50

0

0,01

31

Muridnya

1

0.50

0

0,01

32

Pak

0

0,01

2

0,99

33

Penggunaan

1

0.50

0

0,01

34

Pilih

0

0,01

1

0.50

35

PKL

0

0,01

2

0,99

36

Pungutan

1

0.50

0

0,01

37

Sd

2

0,99

0

0,01

38

Tanpa

0

0,01

1

0.50

39

Tentang

1

0.50

0

0,01

40

Terbebani

1

0.50

0

0,01

41

Terutama

1

0.50

0

0,01

42

Tidak

1

0.50

0

0,01

43

Tolong

1

0.50

0

0,01

44

Untuk

0

0,01

1

0.50

45

Wali

1

0.50

0

0,01

46

Yang

1

0.50

1

0.50

* Tunggu bahasan selanjutnya!

Naïve Bayes Classifier

Desember 13, 2007

Naïve Bayes Classifier

Naïve Bayes Classifier (NBC) merupakan sebuah pengklasifikasi probabilitas sederhana yang mengaplikasikan Teorema Bayes dengan asumsi ketidaktergantungan (independent) yang tinggi.

Keuntungan penggunan NBC adalah bahwa metoda ini hanya membutuhkan jumlah data pelatihan (training data) yang kecil untuk menentukan estimasi parameter yang diperlukan dalam proses pengklasifikasian.

Karena yang diasumsikan sebagai variable independent, maka hanya varians dari suatu variable dalam sebuah kelas yang dibutuhkan untuk menentukan klasifikasi, bukan keseluruhan dari matriks kovarians.

Model Naïve Bayes Classifier

Secara garis besar model NBC adalah sebagai berikut:

1.jpg

Atau dengan kata lain persamaan diatas dapat digambarkan sebagai:

2.jpg

Dalam penggunaannya dalam proses pengklasifikasian dokumen, maka model NBC dapat digambarkan sebagai berikut:

Permasalahan:

Kita akan mengklasifikasikan suatu dokumen berdasarkan isi atau kata-kata yang ada dalam dokumen tersebut. Sebagai contoh adalah apakah sebuah dokumen tersebut merupakan dokumen terkait bidang pendidikan atau tidak.

Untuk itu, kita bayangkan bahwa sebuah dokumen-dokumen diambil dari suatu kelas dokumen (class of document) yang dapat dimodelkan sebagai sebuah himpunan kata-kata, dimana probabilitas (independen) bahwa suatu kata ke-i dalam suatu dokumen terdapat dalam sebuah dokumen yang berasal dari class C. Hal tersebut dapat digambarkan dengan:

3.jpg

(Atau untuk memudahkannya dapat kita asumsikan bahwa probabilitas suatu kata dalam suatu dokumen adalah independen terhadap ukuran suatu dokumen, atau dengan kata lain semua dokumen diasumsikan berukuran sama.)

Selanjutnya probabilitas bahwa sebuah dokumen D, terhadap class C adalah:

4.jpg

Pertanyaannya adalah “Berapa probabilitas suatu dokumen D merupakan milik suatu class C?” atau dengan kata lain adalah berapa nilai probabilitas 51.jpg?

Berdasarkan aksioma probabilitas:

61.jpg

Dan

71.jpg

Selanjutnya Teorema Bayes digunakan untuk memanipulasi pernyataan probabilitas tersebut diatas menjadi sebuah terminologi likelihood / kemiripan:

81.jpg

Untuk menjawab permasalahan sebelumnya diatas, maka kita asumsikan bahwa hanya terdapat dua kelas, yaitu kelas Spam (S) dan Bukan Spam (~S). Dengan demikian model dapat digambarkan menjadi:

91.jpg

Dan

101.jpg

Dari Teorema Bayes tersebut diatas, dapat kita tuliskan menjadi:

111.jpg

121.jpg

Dengan membagi satu dengan yang lainnya dapat kita gambarkan menjadi:

131.jpg

Model tersebut dapat di-refactor-kan menjadi:

141.jpg

Akhirnya, rasio probabilitas dari p(S | D) / p(¬S | D) dapat diekspresikan dalam suatu terminologi series of likelihood-ratio / rasio kemiripan beruntun.

Selanjutnya, probabilitas aktual dari p(S | D) dapat dengan mudah dihitung melalui log (p(S | D) / p(¬S | D)), berdasarkan pernyataan bahwa p(S | D) + p(¬S | D) = 1.

Dengan mengambil logaritma dari keseluruhan rasio tersebut, maka kita dapatkan:

151.jpg

(tehnik menggunakan log likehood / kemiripan logariitma ini sangat umum digunakan digunakan dalam statistik).

Akhirnya, dokumen dapat diklasifikasikan sebagai berikut.

Dokumen tersebut merupakan Spam apabila :

161.jpg

Dan sebaliknya apabila < 0, maka dokumen tersebut Bukan Spam.

 

Susah dimengerti, tunggu bahasan selanjutnya

*Derived from wikipedia.org