Simple Entity Extraction from News Article in Bahasa Indonesia

Tulisan kali ini membahas cara mengekstrak informasi dari teks berita menggunakan python. Entitas yang dimaksud adalah entitas berupa tempat, orang, organisasi atau entitas lain yang diketahui dalam basis pengetahuan. Basis pengetahuan yang dipakai dalam tulisan ini adalah dbpedia bahasa Indonesia. Sebetulnya DBPedia sudah menyediakan layanan semacam ini yaitu Spotlight namun sayangnya belum tersedia dalam bahasa Indonesia.
Read More

Memilih secara acak

Selamat tahun baru 2011!. tahun lalu sepertinya blog ini agak terabaikan. sangat sedikit tulisan yang saya buat di blog ini yang ketika saya baca kembali memberikan kesan bahwa tidak banyak yang saya kerjakan di tahun 2010. Padahal justru di tahun 2010 ada banyak hal luar biasa yang terjadi diantaranya : saya dan istri lulus S2 dan saya lulus seleksi cpns dosen di lingkungan informatika itb. Ada yang bilang bahwa saya sangat beruntung tapi yang pasti saya sangat bersyukur bisa mengalami itu semua. mengawali tahun yang baru ada banyak keinginan yang ingin saya capai salah satunya adalah kembali mengurusi dan menghidupkan kembali blog ini dan kalau bisa menulis tiap bulan, tiap minggu, atau bahkan tiap hari.

Kembali ke topik tulisan, kali ini saya akan bercerita tentang pemilihan secara acak. Topik ini terkait dengan keterlibatan saya selama S2 yang mempelajari teknik-teknik yang berbasis stokastik(acak) dalam persoalan optimasi diskret dan kontinu seperti Genetic Algorithm, Ant Colony Optimization dan Particle Swarm Optimization. Teknik-teknik tersebut umumnya memanfaatkan fungsi pembangkitan bilangan acak dengan distribusi merata(uniform/iid) atau berbasis pemodelan densitas peluang tertentu.

Read More

Bereksperimen dengan Particle Swarm Optimization

Salah satu pepatah hidup yang pernah disampaikan ke saya adalah dalam hidup ini tidak ada yang ideal. kita hanya bisa melakukan yang terbaik hari ini dengan segala keterbatasan. Hal yang abstrak namun dapat diterjemahkan menjadi persoalan yang selalu dihadapi manusia adalah optimasi dengan harapan hari ini lebih baik dari hari kemarin dan hari esok lebih baik dari hari ini.

Suatu persoalan optimasi pada dasarnya dapat dideskripsikan sebagai pengaturan atau pengisian nilai sekumpulan variabel pada suatu fungsi sedemikian rupa sehingga keluaran fungsi tersebut mendekati nilai yang diharapkan (minimum atau maksimum). Fungsi tersebut dinamakan dengan fungsi objektif atau kriteria dan jika fungsi objektif dapat didekomposisi menjadi beberapa fungsi objektif yang lebih spesifik dan maka persoalan optimasi diberi label sebagai persoalan optimasi multiobjektif atau persoalan optimasi multikriteria.

Dari perkuliahan semester yang lalu ada salah satu mata kuliah yaitu intelejensia kolektif yang mengkaji tentang swarm intelligence untuk melakukan penyelesaian persoalan secara tersebar. Topik pembahasan kuliah ini secara umum membahas teknik optimasi yang berbasis pada populasi objek atau agen dan interaksinya dalam menyelesaikan persoalan bersama. beberapa teknik yang diceritakan mulai dari algoritma evolusioner seperti algoritma genetik dan pemrograman genetik, memetic algorithm, hingga ACO (Ant Colony Optimization) dan PSO (Particle Swarm Optimization). Kedua topik terakhir merupakan topik yang dibahas secara lebih mendalam lewat review (dan atau implementasi) makalah tentang topik tersebut yang kemudian dipresentasikan di depan kelas oleh masing-masing peserta. Topik tentang ACO sebelumnya sempat saya ceritakan secara umum sehingga sekarang saya akan bercerita tentang PSO.

Read More

sleep++ : an old-school sci-fi

Semasa SMA dulu saya sangat tertarik dengan euphoria dunia sains dan teknologi. Masa-masa yang sangat indah ketika bisa bebas bermimpi tentang teknologi tanpa terbebani dengan bagaimana mewujudkannya menjadi sebuah benda nyata yang fungsional. Pada suatu ketika saya ditugaskan untuk membuat sebuah brosur produk. Waktu itu saya terpikir untuk sebuah produk khayalan yang bisa membantu menyerap informasi dari buku tanpa perlu menghabiskan waktu untuk membaca melainkan bisa dilakukan sambil tidur. Ide ini didasari dari kebiasaan saya menghabiskan waktu istirahat untuk membaca buku-buku di perpustakaan sekolah dan kebiasaan tidur di kelas (biarpun duduk paling depan) pada saat jam pelajaran.

Beberapa waktu terakhir tampaknya mimpi waktu itu datang kembali, hanya saja kali ini sepertinya ada kesempatan untuk menyelidiki lebih lanjut apakah ide tersebut bisa diwujudkan atau tidak. Saya sendiri menganggap ide saya waktu sma tersebut masih mungkin diwujudkan setelah mempelajari beberapa informasi mulai dari model-model kemampuan berpikir dari bidang artificial intelligence, fisiologi otak dari perkembangan ilmu biomedik dan neuroscience, serta sedikit pengetahuan mengenai fisika (elektromagnetik) -kimia (organik dan molekuler).

Pada dasarnya untuk mewujudkan ide di atas adalah dengan membuat model kognitif manusia sebagai mesin komputasi atau dengan kata lain mensimplifikasi otak manusia sebagai komputer konvensional (von neumann). Alur proses yang terjadi antara lain :
– akuisisi informasi dari sumber fisik (buku)
– transfer informasi tersebut menjadi informasi yang disimpan dalam filesystem otak pada lokasi yang sesuai.
proses di atas diasumsikan representasi informasi yang digunakan di otak, fungsi untuk mentransformasi representasi informasi dan mentransfer informasi ke dalam otak, dan pemetaan organisasi informasi di otak sudah diketahui. Ketiga asumsi tersebut sudah ada beberapa teori serta studi yang dilakukan tetapi mungkin masih jauh dari cukup.

Otak manusia bisa didekomposisi berdasarkan fungsi dan anatominya. Sesuai dengan konteks di atas, Fungsi untuk pembelajaran dan memori dipercaya berada pada bagian hippocampus, cerebral cortex, cerebellum, dan amygdala. hippocampus merupakan bagian yang banyak dipelajari terkait dengan fungsi ingatan. cerebellum atau otak kecil dipercaya berfungsi mengendalikan sistem motorik. amygdala dipercaya mengendalikan informasi yang terkait ingatan respon emosional. cerebral cortex, di lain pihak mengendalikan ingatan-ingatan yang terkait dengan informasi sensorik, dan ingatan lainnya. cortex, kalau tidak salah ingat juga banyak menginspirasi teknik-teknik dalam computer vision.

Dari keempat bagian dari otak tersebut, yang banyak dipelajari khususnya mengenai ingatan adalah hippocampus dan neocortex. Hebb menganjurkan sebuah teori mengenai pembentukan ingatan sebagai hubungan antara dua buah sel syaraf (sinapsis) yang diberi rangsangan secara simultan yang menjadi pedoman dalam perkembangan teknik artificial neural network (Hebbian learning). Berdasarkan teori ini, ingatan (baik jangka pendek maupun jangka panjang) dianggap sebagai struktur keterhubungan antar sel. Ternyata, ada mekanisme lain yang juga berperan dalam ingatan khususnya ingatan jangka panjang. Todd Sacktor – Profesor neurologi dari amerika – mengungkap mekanisme molekuler yang mengelola “data center” tersebut yaitu enzim isoform protein kinase C bernama protein kinase MZeta (PKMZeta). Studi lebih lanjut menunjukkan dengan menggunakan obat untuk menghambat kerja protein tersebut berdampak pada kehilangan ingatan terhadap hal yang telah dipelajari selama satu hari, dan bahkan sebulan sebelumnya. obat penghambat tersebut tidak berdampak permanen atau menimbulkan kerusakan pada otak. Beberapa publikasi lanjutan dari Dr. Sacktor menjabarkan tentang jaringan regulatori enzim tersebut yang diharapkan dapat membantu usaha pengobatan penyakit seperti alzheimer.[1]

Untuk mewujudkan rekayasa otak diperlukan hal-hal seperti : pemahaman mengenai mekanisme kerja otak dari tataran molekuler hingga fenomena abstrak seperti ingatan dan perilaku, instrumentasi untuk pengukuran aktivitas yang terjadi di otak, dan instrumen untuk memanipulasi aktivitas otak. Ada berbagai macam teknik yang saat ini diketahui untuk melakukan stimulasi aktivitas di otak baik berupa implantasi perangkat yang berfungsi sebagai “pacu otak” (deep brain stimulation) maupun perangkat yang hanya perlu dikenakan (wearable) yang berbasis pada gelombang elektromagnetik (transcranial magnetic stimulation). Ada juga gosip yang beredar tentang pengembangan alat untuk komunikasi telepati buatan untuk kepentingan militer[2].

Mudah-mudahan di masa depan kita sempat merasakan teknologi ini.

Introducing PEBCLIPS

Pengalaman pertama saya menggunakan CLIPS [1] adalah ketika saya mengambil mata kuliah sistem berbasis pengetahuan sewaktu S1. Waktu itu saya membuat tugas besar dengan topik sistem untuk penyusun playlist lagu otomatis (sistem pakar music director radio siaran atau ESMooD ~ Expert System for Music Director) yang pakarnya merupakan teman-teman kru di Radio Kampus ITB yang memang pekerjaan hariannya menyusun playlist lagu untuk keperluan siaran.

CLIPS yang saya ketahui waktu itu antarmuka dengan penggunanya kalau tidak berbasis console (CLIPS.exe) atau WebCLIPS sedangkan aplikasi sistem pakar yang ingin saya buat adalah program berbasis desktop GUI supaya bisa langsung digunakan (:D). Akhirnya saya menemukan komponen VCL yang membungkus CLIPS.dll sehingga bisa digunakan dalam lingkungan Delphi (:victory:). Karena keterbatasan waktu pengerjaan tugas dan pengetahuan waktu itu, programnya pun dibuat ala kadarnya saja. Mekanisme yang digunakan di dalamnya hanya melakukan load basis kaidah, fakta awal yang merupakan preference dari seorang music director (MD) dan daftar lagu yang dianggarkan untuk minggu tertentu, lalu menjalankan mesin inferensi tanpa proses interaksi dan hasil playlist didapat dari melakukan dump working memory.

Beberapa waktu (lebih tepatnya bulan) yang lalu saya mengembangkan aplikasi Desktop GUI sebagai perantara antarmuka untuk CLIPS menggunakan delphi. Aplikasi ini cara kerjanya mirip dengen WEBCLIPS hanya saja untuk mengaksesnya langsung pada desktop. Fasilitas yang sudah tercapai antara lain MessageBox ,Status Message, dan Multi text untuk menampilkan teks, Radio Group, Checkbox, dan InputBox untuk mendapatkan masukan, Fasilitas untuk menyimpan dan membuka session, serta menampilkan daftar fakta dalam bentuk pohon. Kode dan binary sudah saya simpan di Google tapi dokumentasinya belum ada dan contoh aplikasinya juga (sebetulnya sudah ada aplikasi yang menggunakan pebclips, namun aplikasi itu milik orang lain dan mungkin diniatkan menjadi produk komersil sehingga tidak bisa disertakan). Semoga saja aplikasi ini bisa bermanfaat dan bisa terus dikembangkan. 😀

tampilan pebclips

tampilan pebclips

Naruto, Blogging, dan Soft-Computing

Kemarin saya baru menonton naruto shipuuden episode 56. Ceritanya adalah metode belajar dari kakashi yang menggunakan karakteristik dari Kage Bunshin no Jutsu yang menggabungkan experience yang didapat dari masing-masing clone untuk mempercepat proses belajar.

come to think of it, sifat ini mirip dengan yang saya alami di blogosphere. Dalam kondisi ideal jika sekumpulan blogger melakukan eksplorasi di bidang yang sama dengan daerah yang dieksplor berbeda, hal ini dapat mempercepat proses belajar (tentunya dengan asumsi tidak ada yang berbohong).

Mungkin ini ya yang dipercaya oleh para peneliti di bidang Multi-Agent Intelligence. Bahwa interaksi antar agent dapat mempercepat konvergensi suatu proses pembelajaran. Adakah yang memiliki paper tentang hubungan ini (fusion of learning experience to speed up convergence in learning multi-agent system)?

saya sendiri belum cukup banyak menjelajahi daerah multi-agent system dalam bidang AI. Tapi kemarin sempat baca-baca sekilas tentang monte-carlo simulation dan markov random field. Sepertinya ada kemiripan dengan proses fusi pembelajaran yang barusan.

*bongkar-bongkar koleksi pustaka*

NB: kok ujung-ujungnya malah ke soft-computing yah? hehe.. biarin ah!

Document Image Recognition System : Framework and Applications

Iping Supriana Suwardi1, Peb Ruswono Aryan1, Bugi Wibowo1
1Bandung Institute of Technology, Jalan Ganesa 10, Bandung 40132, Indonesia

Abstract—Document image recognition (DIR) is a part of document image understanding (DIU) or intelligent document processing (IDP) system. The objectives of document image recognition is data extraction either textual or graphical data which exist within the document, or structural information such as document layout or document style which will resulting in exact reconstruction of document. Data extracted from this system will be used in further application forming document image understanding system or automatic document processing system. Document image recognition and understanding has been studied over three decades. Many commercial or free software are available, However these software primarily being spesific application. This paper will discuss on the development of a flexible framework of a DIR system which can be applied to many field of document image recognition applications. The paper will also discuss the classification of document complexity that are being used, methods used, and some application prototypes of a DIR system built with this framework.

This paper is published in Proceedings of International Conference on Rural Information and Communication Technology 2007, Bandung, Indonesia.

This research has been funded by Center for ICT research of ITB for competitive research category with funding code RU/PPTIK/004.

Read More