On Big Data and me

Beberapa tahun yang lalu, Saya mendengar pertama kali istilah “Big Data”. Kala itu istilah ini bagi saya masih terasa seperti jargon marketing, ‘buzzword’, ‘hype’, atau euforia yang membuat definisinya terdengar menarik namun maknanya sulit dipahami. Teknologi pada waktu itu juga memang sedang ramai-ramainya dengan media sosial dan mungkin awal dari revolusi penyampaian ide dari yang konyol sampai yang luar biasa (konyol, eh maksudnya) serius.

Sekarang mungkin masih banyak ekspresi yang terdengar hiperbola namun setidaknya potongan puzzle-nya sudah semakin jelas. Dalam bidang informatika, topik yang saya pelajari lebih banyak menitikberatkan pada proses algoritmik untuk menganalisis data yang pada dasarnya kompleks seperti multimedia (misal peta, gambar, dan video). Istilah ‘big data’ sendiri saya dengar pertama kali dari area yang lebih banyak penekanan pada data dan bagaimana penanganannya. Sekarang Saya cenderung memahami istilah big data sebagai sebuah konvergensi teknologi.

Read More

Iklan

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

Converting XML Schema to OWL in Python

Beberapa minggu terakhir saya dapat mainan baru setelah bermain-main dengan scraping (ini bukannya serius belajar malah main-main terus). Persoalannya adalah mengonversi skema data dari bentuk XML Schema ke Ontologi (dalam OWL). XML Schema adalah dokumen XML yang berisi spesifikasi komposisi sebuah dokumen XML.

XML Schema
Pada dasarnya dokumen XML Schema berisi tag-tag “element” yang mengacu pada tag di dokumen yang dispesifikasikan. Untuk mempermudah spesifikasi, jenis dari element ini dibagi menjadi dua tipe yaitu simpleType dan complexType. simpleType adalah tag yang hanya berisi data (numerik/string) sedangkan complexType adalah tipe tag yang memiliki paling tidak atribut tag atau child tag (tag di dalam tag). Komposisi tag di dalam tag dapat berupa komposisi sederhana seperti simpleType tapi memiliki atribut, hanya berisi tag, atau berisi campuran antara teks dengan tag (seperti pada tag body dalam HTML). simpleType dan complexType dapat dideklarasikan tersendiri dan diberi nama. Untuk alasan reusability, maka type dibuat memiliki sifat inheritance dan polymorphism. yaitu suatu tipe dapat dideklarasikan sebagai turunan dari tipe lain yang lalu dispesialisasi/dibatasi atau diperluas.

Web Ontology Language (OWL)
Ontologi merupakan deskripsi formal pengetahuan tentang konsep2 dan hubungan antar konsep. Pada kasus pendefinisian skema basis data, hal yang biasanya dilakukan adalah membuat representasi konseptual (conceptual data model) dari pengetahuan yang dimiliki oleh pengembang sistem. Adanya formalisasi pengetahuan dalam bentuk ontologi bertujuan agar mesin juga dapat ‘mengerti’ sehingga proses integrasi data dapat berlangsung secara otomatis.

Sekian dulu bahasan abstraknya, selanjutnya adalah bagaimana menyelesaikan persoaln konversi XML Schema ke OWL. Sayangnya saya tidak menemukan ada tool konversi yang ditulis dalam python sehingga saya membuat dari awal. Saya menggunakan dua pustaka pembantu yaitu lxml untuk mengurai data dari dokumen XML dan RDFLib untuk membangkitkan ontologi. Sayangnya RDFLib belum memiliki serializer untuk OWL sehingga saya tidak bisa menggunakan format OWL (XML) sebagai keluaran dan sebagai gantinya saya menggunakan format Turtle yang sepertinya juga lebih mudah dibaca oleh manusia.

Sebetulnya makalah yang berisi cara melakukan konversi ini lumayan banyak jadi saya pakai yang paling banyak dikutip dan posisi teratas dari pencarian di google scholar saja:

Bohring, Hannes, and Sören Auer. “Mapping xml to owl ontologies.” Leipziger Informatik-Tage 72 (2005): 147-156.

Read More