Program Rainbow biasanya memklasifikasi data menurut atribut yang dimiliki data
tersebut dan dikategorikan ke dalam kelas yang sesuai dengan data tersebut. Dengan adanya
program ini maka tidak perlu lagi membaca dokumen satu per satu dan mengklasifikasinya.
Program rainbow dapat mengklasifikasi ribuan dokumen hanya dalam hitungan detik.
Program ini bertujuan untuk mendukung perkembangan di bidang Information Retrieval
dengan menyajikan sarana untuk mengklasifikasikan dokumen agar kecepatan pada proses
retrieval dapat ditingkatkan lagi.
Program Rainbow merupakan Program yang bersifat Open Source. Ini berarti program
ini tersedia dalam bentuk source code dan diizinkan untuk mempelajari, mengubah dan
memperbaik program ini sesuai keperluan dengan hukum yang berlaku. Bahasa Pemrograman
yang digunakan untuk membuat Program Rainbow adalah bahasa Pemrograman C.
Program Rainbow dapat dijalankan pada sebagian besar sistem UNIX, termasuk Linux,
Solaris, SunOS, Irix dan HPUX. Program Rainbow juga terbukti dapat berjalan diatas
WindowsNT (dengan GNU Enviroment). Pada pembuatan Laporan ini, penulis menjalankan
program Rainbow pada Sistem Operasi Ubuntu versi Karmic Koala dengan no. Versi 9.10.
1
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
3 . Penggunaan Rainbow
Documen yang digunakan dalam Rainbow adalah data teks yang dalam bentuk file
teks biasa, satu file per dokumen seperti gambar 3.1.1 dan 3.1.2. Tidak diperlukan tag khusus
di awal atau di akhir dokumen. Jadi dalam mengklasifikasi artikel apapun tidak diperlukan
preprosesing apapun. Bagi pemula disarankan menggunakan artikel 20_newsgroups untuk
kemudahan dalam contoh yang ada dalam laporan ini. Untuk mendapatkan file
20_newsgroups dapat didownload dari http://www.cs.cmu.edu/afs/cs/project/theo-
11/www/naive-bayes/20_newsgroups.tar.gz .
Gambar 3.1.1. Salah satu contoh dokumen dari file 20 Gambar 3.1.2. Salah satu contoh dokumen dari file 20
newgroup header newsgroup content
File harus disimpan di dalam direktori (disarankan agar direktori tersebut terletak di
home direktori untuk kemudahan sewaktu menggunakannya), dimana semua dokumen
dengan label kelas yang sama terdapat di dalam direktori yang sama. Pada Rainbow tidak
langsung mendukung tugas-tugas klasifikasi dimana dokumen individu memiliki beberapa
label.
Cara installasi untuk program Rainbow pada Operasi Sistem Ubuntu dapat dilakukan
dengan menggunakan fasilitas yang terdapat di Ubuntu. Fasilitas tersebut adalah Synaptic
Packet Manager yang berfungsi sebagai aplikasi untuk mendownload, menginstall serta
2
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
menghapus aplikasi. Cara untuk membuka aplikasi tersebut adalah pilih System >
Administration > Sypnatic Package Manager, seperti gambar 3.2.1.
Gambar 3.2.1. Contoh tampilan untuk menjalankan aplikasi Sysnaptic Package Manager
Setelah
aplikasi dijalankan, repositories harus disetting ulang agar dapat mendownload software
rainbow. Caranya adalah pilih Setting > Repositories, seperti gambar 3.2.2.
3
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Setelah pilihan repositories dipilih maka akan muncul sebuah tampilan, pada tampilan
tersebut pilih Other Software > ADD, dan akan muncul sebuah dialog box untuk mengisi link
sumber. Pada dialog box diisi deb http://ubuntu.mithril-linux.org/archives dapper universe
tekan Add Source, seperti gambar 4.2.3
Jika selesai
menambah repository maka selanjutnya tekan tombol reload yang akan berproses selama
beberapa menit. Setelah aplikasi selesai reload maka rainbow dapat dicari dengan mengetik
libbow (rainbow merupakan bagian dari libbow) pada Quick Search dan tekan enter. Setelah
program libbow ditemukan maka pindahkan kursor ke libbow dan klik kanan pilih Mark For
4
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Installation dan klik Apply dan tunggu beberapa saat dan akan muncul teks yang menyatakan
bahwa program telah selesai di install, seperti gambar 3.2.4
Pada perintah diatas, huruf yang berwarna biru menandakan direktori untuk
menyimpan yang telah dibuat model. Bila tidak terdapat direktori model, maka rainbow akan
membuat direktori yang baru. Kata yang berwarna hijau merupakan perintah untuk
5
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
melakukan indeks pada dokumen. Kata yang berwarna merah menandakan direktori yang
menyimpan dokumen yang ingin diklasifikasi.
Sebagai contoh, bila ingin mengindeks dokumen yang terdapat pada direktori
20_newsgroups dan menyimpan hasilnya di dalam direktori yang bernama model maka
perintahnya ialah
Setelah perintah diatas dijalankan, maka pada terminal akan muncul tulisan tentang
proses indeks dan pada home direktori akan muncul sebuah folder yang bernama model yang
didalamnya terdapat 5 file yang berisi hasil indeks dari dokumen seperti gambar 4.3.2 dan
4.3.3.
6
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Perintah Deskripsi
7
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
akan menentukan parameter classifier, klasifikasi satu set dokumen pengujian akan menjadi
output. Perintah untuk melakukan klasifikasi dokumen dalam setiap pengujian untuk standar
ouput adalah
Kata --test merupakan kata kunci untuk melakukan klasifikasi dokumen. Kata yang
berwarna biru menandakan (0.4) 40 persen dari dokumen digunakan untuk pengujian dan
sisanya digunakan untuk pelatihan. Kata yang berwarna hijau menandakan pengujian
dilakukan sebanyak 3 kali. Hasil klasifikasi berbentuk serangkaian teks yang berbentuk seperti:
/home/ubuntu/20_newsgroups/talk.politics.misc/17839 talk.politics.misc
talk.politics.misc:0.98 talk.politics.mideast:0.015 talk.politics.guns:0.005
Script perl rainbow-stats yang tersedia di dalam libbow membaca dan memberikan
output tentang akurasi rata-rata, kesalahan standar dan confuse matriks seperti gambar 4.3.4
denga perintah
8
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Dalam kasus dimana dokumen yang diuji telah di tokenisasi sebagai bagian dari model,
dokumen pengujian ditentukan dengan --test-set. Misalnya perintah
akan menggunakan generator bilangan acak untuk memilih setengah dari dokumen yang ada
pada model dan menempatkan mereka pada set pengujian, kemudian sisanya akan
ditempatkan di set pelatihan.
Ketika argumen –test-set tidak mengandung nilai desimal, jumlah ini ditafsirkan sebagai
jumlah pasti dokumen. Misalnya perintah
akan menempatkan 30 dokumen di set pengujian dan mencoba untuk memilih sejumlah
dokumen dari setiap kelas sehingga proporsi setiap kelas dalam set pengujian secara kasar
dapat sepadan dengan keseluruhan model.
Jika argumen tersebut diikuti kata pc, maka argumen menunjukkan jumlah dokumen
dari tiap kelas. Misalnya perintah
akan menempatkan 200 dokumen secara acak dari tiap kelas yang ada didalam model.
Misalnya terdapat 600 dokumen, jika model menggunakan 3 buah kelas.
Jika argumen –test-set berisi karakter non numerik, itu dianggap sebagai nama file,
yang didalamnya harus berisi spasi untuk memisahkan dokumen yang telah diindeks dalam
model. Misalnya
akan membuka file ~/filelist1 dan mengambil dari sana daftar nama file yang akan menjadi
dokumen pengujian.
Daftar nama file harus dinamai sesuai model yang telah dibuat. Daftar semua nama
file dari dokumen yang terisi didalam model rainbow dapat diperoleh melalui perintah
Nilai default untuk --test-set adalah 0, ini menunjukan tidak ada dokumen yang
ditempatkan pada set uji. Jadi, ketika menggunakan opsi –test harus juga disertai opsi –test-
set untuk memberikan beberapa dokumen kepada rainbow untuk diklasifikasi.
Set Pelatihan
Set pelatihan dapat dispesifikasikan dengan menggunakan opsi --train –set dengan
tipe yang sama pada argumen yang dijelaskan diatas. Misalnya
akan mengambil semua dokumen dari daftar ~/filelist1 untuk dijadikan sebagai dokumen
pengujian dan mengambil semua dokumen dari daftar ~/filelist2 untuk dijadikan sebagai
dokumen pelatihan. Merupakan sebuah kesalahan apabila sebuah dokumen dijadikan sebagai
dokumen pengujian sekaligus juga sebagai dokumen pelatihan.
Nilai default untuk kata kunci --train-set adalah dokumen yang tersisa, ini maksudnya
semua dokumen yang tidak ditempatkan pada set pengujian akan ditempatkan pada set
pelatihan. Kata kunci “remaining” juga dapat digunakan untuk set pengujian. Misalnya
akan menempatkan satu dokumen dari tiap kelas menjadi set pelatihan dan sisanya
ditempatkan pada set pengujian.
Rainbow dapat mengelompokkan file-file yang tidak diindeks dalam model dengan
cara mengganti opsi –test-file. Misalnya,
akan menggunakan semua file dalam model sebagai training set, dan output klasifikasi untuk
semua file yang terdapat pada sub direktori dari ~/more-talk.politics/. Perhatikan bahwa
jumlah dan basenames dari direktori yang didaftarkan harus sesuai dengan yang diberipkan
kepada --index saat model dibangun
Rainbow dapat mengklasifikasikan sebuah file tunggal (membaca dari input standar
atau dari nama file yang ditentukan) menggunakan opsi –query.
10
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Dalam mode ini, Rainbow mulai membaca model dalam disk, kemudian menunggu
query dokumen dari soket jaringan. Untuk melakukan ini, jalankan Rainbow dengan perintah
--query-server=PORT ( PORT adalah nomor port yang lebih besar dari 1000). Contohnya
Untuk menguji server, telnet ke port apapun yang telah ditentukan (misalnya "telnet
localhost 1821"), ketik dokumen yang ingin di klasifikasi, kemudian ketik “.” pada perintah dan
diikuti oleh return. kemudian Rainbow akan mencetak kembali soket (pada layar) dari daftar
kelas dan nilainya.
11
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
4. Metode Klasifikasi
Tergantung pada sifat yang tepat dari model probabilitas, Classifier naive Bayes dapat
dilatih secara efisien dalam suasana yang terawasi. Dalam aplikasi praktis, parameter estimasi
untuk model naive Bayes menggunakan metode maksimum likelihood, dengan kata lain,
seseorang dapat bekerja dengan model Bayes naive tanpa percaya pada probabilitas Bayesian
atau menggunakan metode Bayesian.
Sebuah keuntungan dari classifier naive Bayes adalah bahwa ia memerlukan jumlah
data pelatihan yang kecil untuk mengestimasi parameter (sarana dan varians dari variabel)
yang diperlukan untuk klasifikasi. Tidak semua kovarian matriks harus ditentukan, hanya
varians dari variabel-variabel untuk setiap kebutuhan kelas yang akan ditentukan dan pada
variabel bebas nilainya hanya diasumsikan.
Theorema Bayes
P ( D|h ) P (h)
P ( h|D )=
P (D)
12
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Sebelum Klasifikasi dokumen dimulai, Rainbow akan mengindeks semua set pelatihan
dengan proses tokenisasi dan hasil dari indeks disimpan didalam file yang bernama
vocabulary. Dalam vocabulary berisi semua token dalam set pelatihan. Pada proses klasifikasi,
petama-tama dikumpulkan semua token yang ada didalam vocabulary dan hitung P(V i) dan
P(Wk|Vi). Selanjutnya dilakukan perhitungan Naive Bayes dari dokumen yang ingin
diklasifikasi.
Dimisalkan bahwa terdapat dua buah kelas untuk set pelatihan. Kelas pertama berisi email
yang berupa spam. Kelas kedua berisi email yang berupa non-spam. Kita ingin program
Rainbow untuk mengklasifikasi email yang masuk apakah berupa spam atau tidak. Maka
pertama-tama Rainbow akan membuat sebuah model hasil indeks dari 2 buah kelas yang ada.
Contoh berikut merupakan email yang berupa spam dan Non-Spam.
From : Manntyw@aol.com
To : anlibra25@gmail.com
Hanya sebuah klik, anda bisa mendapatkan uang tunai Rp. 500000,-. Klik link dibawah
ini!!
http://easymoney.com
13
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
From : FreeCash@Yahoo.com
To : anlibra25@gmail.com
http://www.cashonline.com
From : voidsoul@yahoo.com
To : anlibra25@gmail.com
Subject : AI
From : kimochi_sizie@yahoo.com
To : anlibra25@gmail.com
Subject : DDK
Ti, ini g udah ganti ringkasan eksekutifnya. Coba cek lagi ya..
14
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Dari 4 email diatas, selanjutnya akan diindeks dengan men-tokenisasi dan hasil token
disimpan didalam vocabulary dan dibuat word vector dari tiap kelas. Berikut ini adalah contoh
hasil indeks di dalam vocabulary
Vocabulary : { “hanya”, ”sebuah”, ”klik”, ”anda”, ”bisa”, ”mendapatkan”, ”uang”, ”tunai”, ”rp”,
”link”, ”dibawah”, ”ini”,“Kesempatan”, ”untuk”, ”memenangkan”,
”dengan”,“menjawab”,”pertanyaan”,“info“,“lebih”,“lanjut”,“silakan”, ”ai”, ”ti”, ”tolong”,
”donk”, ”kirimin”, ”file”, ”g”, ”udah”, ”ganti”, ”ringkasan”, ”eksekutifnya”, ”coba”, ”cek”,
”lagi”, ”ya”}
Spam : [2,2,3,1,1,1,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Non-Spam : [0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1]
Setelah indeksing selesai maka rainbow siap untuk melakukan klasifikasi email.
Caranya adalah menghitung P(Vj) untuk tiap kelas dan P(Wk|Vj),
P ( V j ) =¿ Docs j ∨ ¿ ¿
¿ Examples∨¿ ¿
nk +1
P ( W k|V j )=
n+¿ Vocabulary∨¿ ¿
15
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Kelas Spam
n = 32
Vocabulary = 37
Kelas Non-Spam
n = 16
Vocabulary = 37
16
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Sekarang terdapat sebuah email yang ingin ditentukan kelasnya. Berikut merupakan isi dari
email tersebut.
From : voidsoul@yahoo.com
To: anlibra25@gmail.com
Subject : AI
17
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
argmax P(v j )
V NB= ∏ P( ai∨v j )
v j ∈V i ∈ positions
Dimana :
Dari semua token yang terdapat pada dokumen pengujian, akan dicari token yang ada pada
vocabulary dan hasilnya adalah “ti”, “ai” dan “udah”.
KarenaVNonSpam > VSpam maka email itu termasuk kedalam kelas Non Spam
18
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
19
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Neigbor didapatkan dari sebuah set objek untuk klasifikasi yang benar. Ini bisa
diibaratkan dengan set pelatihan untuk algoritma, meskipun tidak ada langkah pelatihan
eksplisit yang diperlukan. Algoritma k-Nearest Neigbors sangat sensitif terhadap struktur lokal
data.
Aturan Nearest Neigbors yang berlaku menghitung batas keputusan secara implisit.
Terdapat kemungkinan untuk menghitung batas keputusan secara eksplisit, apabila
melakukannya dengan cara efisien maka kompleksitas perhitungan adalah fungsi dari batas
kompleksitas.
Contoh Soal
Kita mempunyai data dari survey kuesioner dengan pengujian objektif dua atribut (Ketahanan
Terhadap Asam dan Strength) untuk mengklasifikasi apakah sebuah tisu itu Bagus atau Jelek.
Terdapat 4 sampel latihan
7 7 Jelek
7 4 Jelek
3 4 Bagus
1 5 Bagus
Dan jika sebuah pabrik menproduksi tisu yang mempunyai tes laboratorium dengan
X1 = 3 dan X2 = 7. Tanpa survey yang lain, apakah pabrik tersebut bisa menebak kategori
apakah tisu ini berada?
Koordinasi dari query adalah (3,7), daripada menghitung Perbedaan kita menghitung
Perbedaan kuadrat dimana akan lebih cepat (tanpa akar kuadrat).
7 7 (7-3)2+(7-7)2 = 16
20
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
7 4 (7-3)2+(4-7)2=25
3 4 (3-3)2+(4-7)2=9
Apakah
Perbedaan
X1 = Ketahanan Peringkat termasuk ke
X2 = Kuadrat
Terhadap Asam Perbedaan dalam tiga
Strength(kg/m2) Terhadap
(detik) Minimum Nearest
Query(3,7)
Neigbors
7 7 16 3 yes
7 4 25 1 no
3 4 9 1 yes
1 4 13 2 yes
4. Kumpulkan kategori Y dari Nearest Neigbors. Perhatikan baris kedua kolom terakhir
dari kategori Nearest Neigbors tidak dimasukkan karena peringkat dari data ini lebih
dari 3(=k)
apakah
X1 = Perbedaan
peringkat termasuk ke Y = kategori
Ketahanan X2=Strength Kuadrat
minimum dalam tiga dari Nearest
Terhadap (kg/m2) Terhadap
Perbedaan Nearest Neigbors
Asam(detik) Query(3,7)
Neigbors
7 7 16 3 yes Jelek
7 4 25 4 no -
3 4 9 1 yes Bagus
1 4 13 2 yes Bagus
21
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
5. Gunakan mayoritas dari kategori Nearest Neigbors sebagai nilai prediksi dari query.
Kita mempunyai 2 buah bagus dan 1 buah jelek, karena 2 >1 maka kita bisa
menyimpulkan bahwa tisu baru dengan tes laboratori X1=3 dan X2=7 termasuk ke
dalam kategori bagus.
Buat suatu model sebanyak n dimensi untuk setiap kelas. Klasifikasi dokumen berdasarkan k-
Nearest point.
Tf-idf merupakan sebuah metode yang sering digunakan dalam information retrieval
dan text mining. Berat ini merupakan sebuah ukuran statistik yang digunakan untuk
mengevaluasi seberapa penting sebuah kata untuk sebuah dokumen dalam sebuah koleksi.
Kepentingan meningkat secara proporsional dengan frekuensi sebuah kata muncul di dalam
sebuah dokumen tetapi diimbangi dengan frekuensi kata dalam koleksi. Variasi dari tf-idf
sering digunakan oleh mesin pencari sebagai alat sentral untuk memberi nilai relevansi pada
dokumen dari query user.
Istilah “term count” dalam dokumen yang diberikan adalah berupa frekuensi “term”
muncul didalam dokumen tersebut. “count” ini biasanya dinormalisasi untuk mencegah
ketidakadilan terhadap dokumen yang lebih panjang (dimana memiliki term count yang lebih
tinggi tanpa memeduli kepentingan dari term sebenarnya dalam dokumen tersebut) untuk
memberi nilai dari kepentingan term ti dalam suatu dokumen dj. Jadi kita mendapatkan term
frequency, yang didefinisikan sebagai berikut
22
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
ni , j
tf i , j =
∑ nk , j
k
Dimana ni,j adalah jumlah kemunculan term (ti) dalam dokumen dj dan denominator adalah
jumlah kemunculan dari semua term didalam dokumen dj.
Inverse document frequency adalah ukuran kepentingan umum dari term (didapatkan
dari pembagian jumlah dokumen dalam koleksi dengan jumlah dokumen yang mengandung
term, dan diambil logaritma dari quotient tersebut)
idf i=log ¿ D∨ ¿ ¿¿
¿ { d : t i ∈d } ∨¿
Dengan :
|{d:tt Є d}| : jumlah dokumen dumana term t i muncul. Jika term tidak terdapat
didalam corpus, maka akan terjadi pembagian terhadap nol. Oleh karena itu biasanya
digunakan 1 + |{d:tt Є d}|
Kemudian
Nilai weight yang tinggi dalam tf-idf dicapai dengan frekuensi term yang tinggi
(dalam dokumen tersebut) dan frekuensi term dokumen yang rendah dalam seluruh koleksi
dokumen. Nilai Tf-idf terhadap sebuah term selalu lebih besar atau sama dengan nol.
(1 )
⃗
d=(d , … .. , d (|F|) )
Nilai dari d(i) merupakan hasil perkalian tfi,j dan idfi (tf-idf) . Dokumen yang berdekatan
di dalam vector space selalu membahas tentang hal yang sama. Jarak vector antara tiap
23
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
dokumen didapatkan dari sudut cosine x yang berada diantaranya (perhatikan ini merupakan
kemiripan, bukan jarak). Jadi kemiripan dari dua buah vektor dapat ditulis dengan
d .⃗
⃗ d
sin ( d j , d k ) = ⃗j ⃗k
|d j||d k|
24
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
cos ( ⃗
d j¿ ,⃗
d k )= ⃗
d j. ⃗
dk ¿
Contoh Soal
Bila sebuah dokumen mengandung 100 kata dimana kata Cow muncul sebanyak tiga
kali. Dengan rumus yang telah dibahas diatas maka TF untuk kata cow adalah (3/100) = 0.03.
sekarang diasumsikan terdapat 10 juta dokumen dan kata cow muncul sebanyak 1000 kali.
Maka inverse document frequency dapat dihitung dengan log(10000000/1000) = 4. Maka nilai
dari tf-idf untuk kata cow adalah : 0.03 * 4 = 0.12.
Pada Rainbow dibuat sebuah prototipe dari set vector. Satu vector untuk masing-
masing kelas dan vektor ini dijadikan sebagai model. Model tersebut digunakan untuk
memklasifikasi dokumen baru D. D dimasukkan ke dalam kelas yang memiliki kemiripan yang
paling besar.
Ide dasar dari penggunaan metode probabilistic Indexing adalah Model kuantitatif
untuk indexing otomatis berdasarkan beberapa asumsi statistik tentang distribusi kata.
Terdapat dua jenis kata antara lain:
1) Function Words : Kata yang tidak berperan penting dalam penentuan kelas
Untuk Function Word, distribusinya selalu mengikuti distribusi Poisson pada semua
set dokumen. Sedangkan Distribusi pada Specialty Word tidak mengikuti distribusi Poisson dan
Specialty words dapat membedakan lebih dari satu kelas dalam dokumen.
25
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Jika term t muncul dalam dokumen d dan terdapat term descriptor dari t ke s ( s
adalah indexing term) maka bangkitkan descriptor indictor. Sebuah set term yang
dibangkitkan descriptor bisa dievaluasi dan kemungkinan/probability dokumen d termasuk ke
dalam kelas C dapat dihitung.
BIODATA
NIM : 535080061
No. Hp : 085714716561
Pengalaman :
26
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
Aplikasi database untuk Hotel dengan Bahasa Java dan Microsoft Access.
DAFTAR REFERENSI
2. http://www.cs.cmu.edu/~mccallum/bow/
3. http://www.cs.cmu.edu/~mccallum/bow/rainbow/
4. http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm
5. http://en.wikipedia.org/wiki/Naive_Bayes_classifier
27
Laporan Tugas Information Retrieval “Document Classification in Rainbow”
6. http://en.wikipedia.org/wiki/Tf–idf
7. http://people.revoledu.com/kardi/tutorial/KNN/KNN_Numerical-example.html
8. http://www.cs.put.poznan.pl/mkomosinski/umsn/bayes/Rainbow.ppt
9. http://packages.ubuntu.com/dapper/libbow
10. http://select.cs.cmu.edu/class/10701-F09/slides/naivebayes.pdf
11. http://lingpipe-blog.com/2009/01/12/naive-bayes-binomial-bags-of-words/
12. http://en.wikipedia.org/wiki/Bag_of_words_model_in_computer_vision#Generative_Mod
els
13. http://en.wikipedia.org/wiki/Bag_of_words_model
14. http://www.cs.cmu.edu/afs/cs.cmu.edu/project/theo-20/www/mlc/2002/cotraining-11-
02.pdf
28