Tulisan ini seharusnya mendahului tulisan saya mengenai peringkasan teks (text summarization) karena ini merupakan latar belakangnya tapi biarlah
Riset mengenai pemrosesan teks sebenarnya telah lama dilakukan, untuk peringkasan teks misalnya, telah mulai diteliti sejak tahun 1958 oleh peneliti dari IBM. Meredup di tahun 70-80 dan kembali bergairah di akhir tahun 90-an sampai sekarang. Mengapa pemrosesan teks kembali bangkit menjadi “primadona”?
Jawabannya adalah internet. Jumlah dokumen teks yang ada di internet tumbuh dengan sangat pesat. Menurut riset dari Barkeley, ukuran internet di tahun 2002 mencapai 532,897 Terabytes dengan sekitar 41.7%-nya adalah teks (bayangkan tuh jadi berapa Tera dokumen!, dan ini berupa teks bukan multimedia!). Dokumen teks ini dapat berupa static page, dynamic page, file dokumen, email, forum online dan blog.
Dokumen teks juga semakin berperan sejalan munculnya web 2.0 yang mendorong pengguna internet untuk membuat dan berbagi content (dua yang paling terkenal: blog dan social network). Aliran content segar dengan volume besar per harinya membanjiri internet. Anda dapat membayangkan jumlah posting seluruh blog sedunia dalam sehari? Coba tambahkan dengan berita dari seluruh koran, kantor berita! Berapa ratus atau ribu halaman mungkin (per harinya). Tambahkan lagi email.. huh.
Volume yang besar membuat pengguna internet semakin sulit memperoleh informasi yang sesuai dengan apa yang diinginkan. Untuk kasus blog, penggunaan blog aggregator dapat membantu, tetapi tetap saja ada kemungkinan blog atau posting yang menarik yang terlewat dengan sia-sia (mungkin termasuk blog ini hehe, kasihan deh).
Dibutuhkan teknik tertentu untuk mengolah dokumen teks. Inilah fungsi dari pengolahan teks (text processing).
Pengolahan teks mencakup:
- Information retrieval: pencarian dokumen
- Klasifikasi dokumen: membagi dokumen ke dalam kelas-kelas yang telah ditentukan sebelumnya. Misalnya secara otomatis dapat menentukan apakah dokumen ini masuk ke dalam kategori politik, ekonomi, militer dan lain sebagainya.
- Document Clustering: mirip dengan klasifikasi dokumen, hanya saja kelas dokumen tidak ditentukan sebelumnya. Misalnya berita tentang lalulintas dapat menjadi satu kelas dengan berita tentang kriminal karena didalamnya banyak memuat tentang orang yang tewas, cedera, rumah sakit dsb.
- Peringkasan teks. Menghasilkan ringkasan suatu dokumen secara otomatis.
- Ekstraksi informasi. Mengekstrak informasi yang dianggap penting dari suatu dokumen. Misalnya pada dokumen lowongan, walaupun memiliki format beragam dapat diekstrak secara otomatis job title, tingkat pendidikan, penguasaan bahasa dsb.
Contoh perusahaan yang sukses menerapkan text processing? Tidak lain dan tidak bukan adalah Google
Searching, news.google.com, ad-sense adalah contoh-contoh aplikasi text procssing.
Mengingat pentingnya ilmu text processing, jurusan ilkom di seluruh dunia mulai menawarkan perkuliahan yang khusus membahas tentang hal ini. Saya sendiri setelah lulus merencanakan akan membuka kuliah text processing ini di Ilkom UPI. Tapi saya harus lulus dulu deh hehe.





24 Oktober 2007 pada 6:15 pm
pak text prosesing itu masih berkaitan dengan data mining?
oiya pak, kalau saya ngambil TA yang dari usulan bapak tea, tentang bayes dan email (semacam pendeteksi spam), apakah bisa (maksudnya apakah terlalu berat buat saya?).
terimakasih pak.
24 Oktober 2007 pada 7:53 pm
Sering disebut text mining sebenarnya. Teknik pada text processing sering digunakan dalam text mining.
Untuk TA, bisalah tidak terlalu susah kok. Coba cari di situs saya, ada paper yang membahas secara detil algoritma naive bayes. Cuma karena anda mahasiswa matematik, mungkin bisa lebih diperdalam aspek matematiknya.
6 November 2007 pada 10:27 am
terimakasih pak. saya sudah donlod paper bapak.
26 November 2007 pada 1:55 pm
pak Yudi, boleh minta source code dari klasifikasi dokumen berita berbahasa indonesia menggunakan naive bayes classifier..
terima kasih pak
26 November 2007 pada 2:38 pm
@endhy,
Coba kirim email ke saya, kita ngobrol dulu deh
Prinsipnya saya sih tidak masalah men-share source. Tapi jangan sampai hanya digunakan begitu saja untuk skripsi atau tugas kuliah. Harus ada nilai tambahnya, misalnya Anda akan menambahkan fitur xxx, atau Anda akan membuat fitur yyyy jadi lebih baik atau sofware ini menjadi bagian dari sistem yang lebih besar dst.
27 November 2007 pada 11:43 am
ok pak, yang pasti saya ingin tahu metodenya saja soalnya yang dipakai datanya pakai dokumen berbahasa inggris
28 November 2007 pada 6:07 am
@endhy, IMO, metodenya lebih jelas dilihat di paper saya (bisa didownload di fpmipa.upi.edu/staff/yudi). Source kode-nya masih acak-acakan soalnya hehe.
Untuk dokumen berbahasa Inggris, hanya perlu diubah di tahap preprocessing, yaitu bagian stopwords removal.
28 November 2007 pada 8:19 am
terima kasih pak, tapi saya juga perlu source codenya pak, nanti mau saya convert ke java dan nanti mungkin bisa disempurnakan yang sebagai data bukan txt tapi doc
28 November 2007 pada 8:48 am
oh ya pak kira kira data 600 artikel sudah bisa untuk klasifikasi 5 -6 kategori?
28 November 2007 pada 4:26 pm
@endhy, ini maksudnya tahap training ya? Jawabannya menurut saya tergantung dokumennya. Nanti kan diukur kinerjanya, dari sana ketahuan apakah corpusnya dapat digunakan atau tidak.
BTW naive bayes adalah metode yang kinerjanya tidak terlalu bagus, biasanya hanya berperan sebagai baseline method. Yang paling bagus setahu saya adalah SVM.
22 Desember 2007 pada 7:43 pm
assalamualaikum. maaf mengganggu pk, kira-kira bapak punya referensi kata-kata apa saja dalam bahasa inggris yang masuk ke dalam stopwords removal?
terimakasih pak.
22 Desember 2007 pada 11:59 pm
Untuk bahasa Inggris banyak, googling saja dengan keyword “English stopwords”. Kalau yang bahasa Indonesia memang jauh lebih sedikit.
7 Januari 2008 pada 11:55 am
Assalamualaikum.
mengganggu skali lagi, ada masalah lagi…
Pas saya buat scriptnya di localhost waktu ditampilkan di browser lancar2 saja , sewaktu saya upload di hostingan kenapa muncul error di browser
“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 1″
Apa memang karena beda versi Mysql nya ? jika iya bagaimana agar script tsb bisa jalan di hostingan , apa yg hrs saya rubah ?
7 Januari 2008 pada 1:47 pm
Coba ditulis SQL-nya yang mana. Kemudian versi mysql localhost berapa? dan versi mysql di hosting berapa?
8 Januari 2008 pada 10:10 am
CREATE TABLE `category` (
`ID` int(5) NOT NULL default ‘0′,
`PV` int(50) default ‘0′,
`N` int(5) default ‘0′,
`PW` varchar(100) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
CREATE TABLE `doc` (
`id` int(5) NOT NULL auto_increment,
`content` longtext,
`clean_content` longtext,
`frek` longtext,
`kategori` int(2) default ‘0′,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=51 ;
software yang digunakan apache2triad_1.5.2
updated MySQL to 4.1.11
updated PHP to 5.0.4
kira kira apa yang salah dengan type tabel diatas….
8 Januari 2008 pada 10:35 am
Error saat create tabelnya ya? Wah nggak tahu tuh, sepertinya normal-normal saja. Tapi bukannya sekarang MySQL biasanya versi 5? Saya pernah kena masalah kompatibilitas saat MySQL 4 diupgrade ke 5.
BTW ati-ati menggunakan huruf besar dan kecil di field MySQL+PHP, bisa jadi masalah.
8 Januari 2008 pada 10:44 am
untuk simpan data paragraf text dalam database type longtext itu yang buat jadi error
8 Januari 2008 pada 1:03 pm
untuk upgrade mysql 4 to mysql 5 apakah phpmyadmin di apache 2triad1.5.2 masih bisa berfungsi
8 Januari 2008 pada 1:26 pm
apa phpmyadmin juga ikut diupgrade??
8 Januari 2008 pada 2:35 pm
Baca saja manual phpmyadminnya, biasanya ada versi minimal MySQL yang harus digunakan. Tapi seharusnya tidak terlalu masalah, phpmyadmin hanya interface saja kok.
9 Januari 2008 pada 10:42 am
pak
Query was empty
penyebabnya apa???
11 Januari 2008 pada 2:29 pm
@endny: saya tidak tahu.
Itulah mengapa saya rekomendasikan anda lebih baik buat sendiri dari nol. Kode saya itu versi awal yang masuk dalam kategori prototype. Undocumented dan terlalu rapuh untuk diutak-atik, kecuali mungkin oleh saya sendiri. Kalau masih mau pakai ya resiko tanggung sendiri
IMO, sayang waktu anda terlalu banyak dihabiskan untuk kode saya yang masih berantakan, kalau anda buat sendiri mungkin malah lebih cepat.
15 Januari 2008 pada 11:57 am
ya ku coba bwat sendiri
tapi pak di web bapak juga error bagian learn bayesnya tapi kenapa kok bisa jalan…
hatur nuwun
27 Februari 2008 pada 8:36 pm
tooolonnnnggg……
ada yang bisa bantu saya dalam memahami apa itu text mining??
contoh kasus di dunia nyata seperti apa si??
thx
1 Maret 2008 pada 9:24 pm
^
IMO text mining adalah proses pencarian informasi berharga yang sebelumnya tidak diketahui dari kumpulan dokumen teks.
Aplikasinya banyak, mulai dari google adsense sampai machine translation.
Dulu saya pernah coba membuat sinonim untuk bahasa Indonesia, sumbernya berita dari Kompas (tapi tidak terlalu banyak). Waktu itu muncul kumpulan sinonim yang aneh yang mengaitkan kematian, cedera, rumah sakit dan PJKA. Ternyata di dokumen yang saya gunakan ada beberapa berita tentang kecelakaan kereta api. Dipikir-pikir mungkin program saya bisa digunakan untuk humas sebuah perusahaan. Berdasarkan berita pada rentang tertentu, apa sinonim dari sebuah merk atau nama perusahaan? hal positif atau negatif?
26 Maret 2008 pada 4:45 pm
Pak… tanya nih…
dari Klasifikasi Berita Berbahasa Indonesia menggunakan Naïve Bayes Classifier itu kalo ada document baru yang telah melalui proses klasifikasi… apakah document baru tersebut ikut dimasukkan ke dalam database..??
mohon penjelasannya…
thx before…
27 Maret 2008 pada 5:13 am
@indah, sudah saya balas emailnya
27 Maret 2008 pada 11:13 am
Selamat Pagi Pak Yudi, saya ada tugas Machine Learning dan topik saya adalah Klasifikasi Berita berbahasa Indonesia Menggunakan Teknik Support Vector Machine (SVM), rencananya saya menggunakan SVM Light (joachim 1998). saya masih bingung bagaimana penerapan SVM ke aplikasi untuk klasifikasi dokumen.
kalau boleh saya minta source code dari klasifikasi dokumen berita berbahasa indonesia menggunakan naive bayes classifier..untuk perbandingan saja.
terimakasih sebelumnya pak
27 Maret 2008 pada 8:04 pm
Source codenya belum siap untuk orang lain
Masih berantakan dan tidak dapat langsung digunakan, coba baca comment sebelum ini, kasihan jadinya malah menghabiskan waktu.
21 September 2008 pada 2:31 am
haloo mas makasi banget ilmunya. btw blh minta ilmu lagi g…. hehehe berhubung TA saya ada hubungannya ama ini tapi ditambah sama backpropagation.kira-kira ada saran gak mas buat masukan hasil bayes ke neural networkna
21 September 2008 pada 2:38 am
Untuk apa neural netnya?
Saya pikir neural net tidak cocok untuk text processing. Masalahnya text processing melibatkan dimensi yang sangat besar (jumlah dimensi = jumlah kata yang unik), yang tidak cocok untuk neural net.
Dulu saya pernah mendapat tugas klasifikasi dengan neural net. Dimensinya harus dikurangi 90% dulu baru sistem dapat feasible dijalankan (30 menit). Hasilnya jelas jadi jelek.
13 Januari 2009 pada 7:06 pm
Aww.
Pak, kira-kira untuk skripsi boleh tidak melakukan analisis text mining pada blog sendiri ?
Trims
14 Januari 2009 pada 4:43 pm
Salah satu karakteristik data mining, termasuk text mining adalah analisis terhadap data yang sangat besar. Kalau blog sendiri, kemungkinan kurang banyak datanya.
13 April 2009 pada 1:19 am
mas yudi, saya tertarik belajar klasifikasi teks.biasanya saya menggunakan software rapidminer, tetapi saya kesulitan untuk mengetahui tingkat akurasi per dokumen.kebanyakan software hanya menampilkan tingkat akurasi per kelasnya.Mungkin mas yudi bisa bantu saya beri informasi.
trims..
14 April 2009 pada 5:13 am
@atok
Untuk task klasifikasi? setahu saya memang akurasi diukur berdasarkan kelas. Cuma memang penting kita mengetahui dokumen mana yang “nyasar” ke kelas lain.
19 Mei 2009 pada 1:58 pm
Salam kenal..
pak sy skr sdg mengerjakan TA ttg text Summarization dg menambahkan faktor Keyphrase Extraction. Kalo Keyphrase Extraction lebih bagus mana ya pak KEA (nzdl.org/Kea) atau Turney (extractorlive). Sy coding dg php awalnya ingin pakai KEA tp terhalang di vocabulary nya. Kalau boleh share ttg keyphrase ya pak. thx
9 Juni 2009 pada 10:49 am
maap pak,saya ingin bertanya tentang text processing. selain dengan klasifikasi, cara melakukan keyphrase extraction yang lainnya apa ya pak? apa bisa hanya dengan parameter IR saja, seperti TF/IDF saja, tanpa melakukan klasifikasi?
23 Juli 2009 pada 5:05 pm
Salam kenal,
Pak saya mau curhat nih.Saya ibu rumah tangga. Baru2 ini saya iseng ikut ujian S2 UI. Saya bingung menentukan jurusan. Akhirnya pas detik2 terakhir saya pilih jur Ilmu Komputer. Ternyata saya lulus (tahap1 ). Tapi saya bingung, mengingat pengalaman ( jam terbang ) sy di bidang pemrograman tidak banyak, dan sudah tidak aktif sejak lama. Tapi saya punya ketertarikan unk belajar lagi, dan berharap mendapat skill yang cukup untuk kelak berwirausaha dlm bid. komputer.Menurut bapak apakah saya masih layak ikut kuliah ilmu komputer dan kira2 apa bentuk usaha yang mungkin selain mengajar ilmu komputer? Terima kasih atas waktu & jwbnya
26 Juli 2009 pada 7:30 pm
Kalau layak saya pikir semua orang layak bu . Lagipula bidang ini cocok untuk orang yang ingin bekerja fleksibel dari sisi waktu dan tempat.
27 Juli 2009 pada 12:17 am
mas saya mau nanya ada ga langkah step2 untuk teks classification dengan SVM sampe menjadi suatu implementasi? dalam artian ada cntohnya begitu…….klo ada boleh dunks….kirim ke emailku dunks…..asmara@rapid-solution.com butuh buat skripsi nih mas
8 Agustus 2009 pada 3:51 pm
salam kenal…
bapak… saya tertarik pada klasifikasi Berita berbahasa Indonesia dengan naive bayes bapak dan rencana saya untuk TA…
bisa saya minta konsep perhitungannya pada tahap..learn dan klasifikasinya pak….
soalnya pada tahap klasifikasi saya agak bingung pada perhitungan rumus naivenya… boleh nanti saya nanti kirim sampel learn dan klasifikasinya pada bapak lewat email…dan saya minta bimbingannya…
4 September 2009 pada 10:55 am
pak, klo buu pemrosesan teks apa yahh ?
kok saya cari referensinya sulit
-thanks-