i VOT 74074 AN INTELLIGENT DATA MAPPING FOR HYDROLOGICAL INFORMATION SISTEM (HIS) USING CUBE DATABASES TO CATER FROM VARIOUS DATA TYPE ( PENGEKSTRAKAN DATA PINTAR UNTUK SISTEM MAKLUMAT HIDROLOGI (SMH) MENGGUNAKAN PANGKALAN DATA KIUB UNTUK PEMETAAN DATA YANG MEMPUNYAI PELBAGAI FORMAT) HARIHODIN BIN SELAMAT MOHD SHAFRY BIN MOHD RAHIM DAUT BIN DAMAN RESEARCH VOTE NO: 74074 Fakulti Sains Komputer Dan Sistem Maklumat Universiti Teknologi Malaysia 2005
116
Embed
VOT 74074 AN INTELLIGENT DATA MAPPING FOR …eprints.utm.my/id/eprint/4119/1/74074.pdf · AN INTELLIGENT DATA MAPPING FOR HYDROLOGICAL INFORMATION SISTEM (HIS) USING CUBE DATABASES
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
i
VOT 74074
AN INTELLIGENT DATA MAPPING FOR HYDROLOGICAL
INFORMATION SISTEM (HIS) USING CUBE DATABASES TO CATER
FROM VARIOUS DATA TYPE
( PENGEKSTRAKAN DATA PINTAR UNTUK SISTEM MAKLUMAT
HIDROLOGI (SMH) MENGGUNAKAN PANGKALAN DATA KIUB UNTUK
PEMETAAN DATA YANG MEMPUNYAI PELBAGAI FORMAT)
HARIHODIN BIN SELAMAT MOHD SHAFRY BIN MOHD RAHIM
DAUT BIN DAMAN
RESEARCH VOTE NO: 74074
Fakulti Sains Komputer Dan Sistem Maklumat Universiti Teknologi Malaysia
2005
UTM/RMC/F/0024(1998)
UNIVERSITI TEKNOLOGI MALAYSIA
BORANG PENGESAHAN LAPORAN AKHIR PENYELIDIKAN
TAJUK PROJEK : An Intelligent Data Mapping For Hydrological
Information System (HIS) Using Cube Database to Cater from Various Data Types
Saya ______________PROF MADYA_DR HARIHODDIN SELAMAT___________ ( HURUF BESAR)
Mengaku membenarkan Laporan Akhir Penyelidikan ini disimpan di Perpustakaan Universiti Teknologi Malaysia dengan syarat-syarat kegunaan seperti berikut : 1. Tesis adalah hakmilik Universiti Teknologi Malaysia. 2. Perpustakaan Universiti Malaysia dibenarkan membuat salinan untuk tujuan rujukan sahaja.
3. Perpustakaan dibenarkan membuat penjualan salinan Laporan Akhir Penyelidikan ini bagi
kategori TIDAK TERHAD.
4. *Sila tandakan ( )
SULIT ( Mengandungi maklumat yang berdarjah keselamatan atau kepentingan Malaysia seperti yang termaktub di dalam
AKTA RAHSIA RASMI 1972 )
TERHAD ( Mengandungi maklumat TERHAD yang telah ditentukan oleh organisasi/badan di mana penyelidikan dibuat )
TIDAK TERHAD
___________________________________ (TANDATANGAN KETUA PENYELIDIK)
______________________________________ Nama & Cop Ketua Penyelidik
Tarikh:___________________
CATATAN: * Jika Laporan Akhir Penyelidikan ini SULIT atau TERHAD, Sila Lampirkan surat daripada pihak berkuasa/ organisasi berkenaan dengan menyatakan sekali sebab dan tempoh laporan ini perlu dikelaskan sebagai SULIT dan TERHAD
ABSTRACT
Information Extraction is a process that extracts information from existing
system source and stores into a database. Previous researchers had focus on information
extraction for HTML data using wrapper approach. The drawback from this approach is
resiliency where wrapper fails to function when the file of interest’s structure changes.
Ontology based information extraction is an alternative solution for this problem. In this
research, ontology based information extraction used hydrological data from Jabatan
Pengairan dan Saliran (JPS) as the case study. Ontology based information extraction
for hydrology domain or also known as ‘EkstrakPro’ is divided into three main
processes; which are ontology parser process, keyword and sequences recognition
process, and a data mapping process. ‘EkstrakPro’ used two inputs; the hydrology data
and ontology extraction. An important feature in ‘EkstrakPro’ is that ontology extraction,
where unit object is introduced to simplify the ontology maintenance. The sequential
recognition algorithm is to solve the time consuming issues for extracting sequential
data. Five types of hydrological data are used in the experiment. These data are divided
into three categories; (i) original data taken from gauging machine, (ii) the altered data
and (iii) the different sizes of data. Based on these categories, the information extraction
resiliency and time taken have been measured using a precise equation and O-notation.
The results show that prototype ‘EkstrakPro’ can extract different structure hydrology
data correctly by using only one algorithm. Using sequential recognition algorithm can
also further reduce the time required for extraction of information. The result of the
research proves that information extraction can be solved using ontology approach.
ABSTRAK
Pengekstrakan maklumat merupakan satu proses yang mengekstrak maklumat
daripada sumber sistem sedia ada dan menyimpannya ke dalam pangkalan data.
Penyelidikan terdahulu tertumpu kepada pengekstrakan maklumat data HTML
menggunakan pendekatan wrapper. Kelemahan pendekatan ini adalah dari segi
ketahanan di mana wrapper gagal berfungsi dengan baik jika terdapat perubahan pada
struktur fail yang ingin di ekstrak. Pengekstrakan maklumat berasaskan ontologi
merupakan penyelesaian alternatif kepada masalah ketahanan. Di dalam penyelidikan
ini, pengekstrakan maklumat berasaskan ontologi menggunakan data hidrologi dari
Jabatan Pengairan dan Saliran (JPS) sebagai kajian kes. Pengekstrakan maklumat
ontologi bagi domain hidrologi dikenali sebagai ‘EkstrakPro’ terbahagi kepada tiga
proses utama; iaitu proses penghuraian ontologi, proses pengecam jujukan dan kata
kunci serta proses pemetaan data. ‘EkstrakPro’ menggunakan dua input; data hidrologi
dan ontologi pengekstrakan. Ciri penting ‘EkstrakPro’ adalah ontologi pengekstrakan, di
mana unit objek diperkenalkan bagi memudahkan selenggara ontologi. Algoritma
pengecam jujukan menyelesaikan isu penggunaan masa dalam mengekstrak data
berjujukan. Lima jenis data hidrologi digunakan di dalam eksperimen. Data-data ini
dibahagikan kepada tiga kategori; (i) Data asal daripada mesin bacaan, (ii) data yang
diubahsuai dan (iii) perbezaan saiz data. Berdasarkan kategori tersebut, ketahanan
pengekstrakan maklumat dan masa yang digunakan dapat diukur menggunakan rumusan
ketepatan dan notasi-O. Keputusan menunjukkan prototaip ‘EkstrakPro’ boleh
mengekstrak data hidrologi dengan struktur yang berbeza dengan tepat dan
menggunakan hanya satu algoritma. Algoritma pengecam jujukan boleh juga
mengurangkan masa yang diperlukan oleh pengekstrakan maklumat. Hasil penyelidikan
ini membuktikan masalah pengekstrakan maklumat dapat diselesaikan dengan
pendekatan ontologi.
ii
“Kami akui karya ini adalah hasil kerja kami sendiri kecuali nukilan dan
ringkasan yang tiap-tiap satunya jelaskan sumbernya”
Salah satu pendekatan terawal yang digunakan untuk menghasilkan penjana
wrapper adalah pembangunan bahasa yang direka khusus untuk membantu
pengguna menghasilkan wrapper. Bahasa ini digunakan sebagai alternatif kepada
bahasa umum seperti Java dan Perl. Beberapa pengekstrakan yang menggunakan
teknik ini adalah Minerva (Crescenzi dan Mecca, 1998), TIMMIS (Hammer et.al,
1997) dan Web-OQL (Arocena dan Mendelzon, 1998).
Pendekatan HTML
Pendekatan pengekstrakan ini bergantung kepada ciri struktur yang diwarisi
daripada dokumen HTML untuk melakukan pengekstrakan maklumat. Ia
mengesan data berdasarkan lokasi yang telah dihasilkan daripada pohon huraian.
Pohon ini adalah perwakilan tag HTML secara hierarki. Pengekstrakan dapat
dilakukan secara semi-automatik sekiranya diberi satu contoh, dan automatik
sekiranya diberi banyak contoh halaman daripada satu sumber. Antara
pengekstrak yang menggunakan pendekatan ini adalah W4F (Sahuguet and
Azavant, 2001) dan RoadRunner (Mecca et al., 1998).
Pendekatan Induksi
Pengekstrakan induksi mengenal pasti corak yang terdapat di dalam satu set
halaman latihan yang telah dilabel. Perbezaan utama pengekstrakan induksi
dengan pengekstrakan yang berasaskan NPL adalah induksi tidak bergantung
kepada kekangan linguistik. Malah ianya bergantung kepada format struktur yang
11
akan menekankan struktur di mana akan ditemui. Ini membuatkan pengekstrakan
berasaskan induksi lebih sesuai untuk halaman HTML berbanding teknik
sebelum ini. Di antara pengekstrakan yang terdapat di pasaran adalah WIEN
(Kushmerick, 2000), SoftMealy (Hsu and Dung, 1998) dan STALKER (Muslea
et al., 2001).
Pendekatan Model
Pendekatan ini menggunakan kaedah yang hampir serupa seperti kaedah
pendekatan induksi untuk memadankan struktur data yang diberikan oleh
pengguna. Pengekstrakan yang menggunakan pendekatan ini adalah NoDoSE
(Adelberg, 1998).
Pendekatan NPL
Natural Language Processing (NPL) merupakan satu pendekatan yang
digunakan dalam pengekstrakan untuk belajar peraturan pengekstrakan yang
dapat mengekstrak maklumat yang dikehendaki dalam dokumen bebas.
Pengekstrakan yang berasaskan NPL ini adalah bersesuaian untuk halaman web
yang mengandungi teks bertatabahasa, stail telegrafi seperti senarai pekerjaan,
iklan sewa rumah, pengumuman seminar dan sebagainya. Antara pengekstrakan
yang menggunakan pendekatan ini adalah RAPIER (Calif and Mooney, 1999),
SRV (Freitag, 2000) dan WHISK (Sonderlan,1999).
Pendekatan ontologi
Pendekatan ontologi bergantung kepada model konseptual data yang ingin di
ekstrak. Ontologi yang diperkenalkan oleh BYU di Universiti Brigham Yoong
merupakan perintis bagi kaedah ini (Embley et al., 1998). Kelebihan utama
pendekatan ini adalah ianya mudah disesuaikan dalam pelbagai situasi dan juga
tahan lasak.
12
Wrapper yang dihasilkan dari tiga pendekatan pertama (HTML, Induksi dan
Model) yang tersenarai di atas hanya dapat mengekstrak data dari halaman serupa
dengan halaman latihan. Ia hanya dapat dilaksanakan pada halaman yang sama dari
segi formatnya. Ia bermakna latihan perlu dilakukan pada setiap sumber data. Oleh
kerana matlamat kajian adalah mengekstrak data hidrologi daripada format data input
yang berbeza-beza, maka pendekatan adalah merugikan. Tambahan pula, sekiranya
terdapatnya data hidrologi yang baru (dari segi formatnya), maka latihan baru
terpaksa dilaksanakan. Pendekatan-pendekatan ini memberi masalah ketika proses
penghasilan dan proses penyenggaraannya.
Pendekatan NPL turut tidak sesuai untuk digunakan ke atas data hidrologi
kajian kes. Ini kerana pendekatan NPL menggunakan tanda dari struktur ayat yang
telah dihuraikan untuk mengenal pasti data yang diperlukan. Data hidrologi tidak
mempunyai ayat yang lengkap.
Pendekatan berasaskan ontologi pula amat fleksibel. Ini kerana, ia dapat
mengekstrak data tanpa memerlukan set latihan bagi format-format yang berbeza.
Berbeza dengan penggunaan wrapper di mana setiap format yang berkaitan ke atas
sesebuah domain aplikasi, ontologi digunakan bagi merangkumi kesemua data yang
berbeza format ke atas satu domain. Oleh kerana ontologi menerangkan domain
sebuah subjek berbanding sebuah dokumen. IE berasaskan ontologi adalah tegar ke
atas perubahan format data dan dapat mengendalikan data daripada pelbagai sumber
tanpa mengganggu gugat ketepatan pengekstrakan. Namun begitu, pendekatan
ontologi kurang digunakan berbanding pendekatan wrapper yang lain adalah kerana
proses penghasilannya yang memerlukan usaha lebih. Pendekatan ontologi adalah
pendekatan yang paling sesuai untuk kajian kes kerana menangani pelbagai jenis
struktur data teks selain daripada data berstruktur HTML.
13
2.3 Pengekstrakan berasaskan Ontologi
Rangka kerja sistem yang mengekstrak maklumat struktur daripada dokumen
tidak berstruktur berasaskan ontologi mula diperkenalkan oleh Embley et.al (1998).
Proses di dalam rangka kerja ini tidak memerlukan campur tangan pengguna dan
beroperasi secara automatik. Akan tetapi proses menghasilkan ontologi dibuat secara
manual. Dengan menggunakan fail HTML, ujian yang dilaksanakan menunjukkan
keputusan dengan ketepatan 99.999%. Ralat di dalam pengujian hanya disebabkan
ontologi yang tidak lengkap.
Rajah 2.1: Rangka kerja Pengekstrakan Maklumat berasaskan Ontologi
Rajah 2.1 di atas adalah rangka kerja yang dihasilkan oleh Embley et.al
(1998) bagi mengekstrak maklumat daripada data tidak berstruktur. Di dalam rajah
tersebut, objek berbentuk kotak mewakili fail manakala bentuk ovul mewakili
proses. Input bagi rangka kerja ini adalah ontologi pengekstrakan (application
ontology) dan dokumen tidak berstruktur (unstructured document), dan outputnya
adalah dokumen berstruktur (structured document). Terdapat tiga proses iaitu
penghuraian ontologi (ontology parser), pengecam kata kunci (constant/keyword
recognizer) dan penjana teks berstruktur (structured text generator).
14
Ontologi pengekstrakan adalah ekspresi setiap konteks kata kunci bagi
domain yang dikehendaki. Model data Object-oriented System Model (OSM)
digunakan bagi membina ontologi pengekstrakan. Proses pertama adalah menghurai
ontologi pengekstrakan yang akan menghasilkan skema SQL sebagai createtable
statement. Nama set objek daripada ontologi mewakili atribut jadual SQL yang
dijana. Jenis data (datatype) varchar digunakan bagi setiap atribut bentuk leksikal
manakala jenis integer bagi objek bukan leksikal. Maklumat hubungan antara objek
digunakan dalam deklarasi dan kekangan kardinal skema SQL yang menentukan
setiap hubungan sama ada one to many, many to many dan sebagainya. Akhir sekali
penghuraian menghasilkan set peraturan kata kunci.
Proses kedua seterusnya adalah pengecam kata kunci yang menerima input
peraturan set kata kunci dan dokumen tidak berstruktur seperti Rajah 2.2. Pengecam
mengguna setiap ekspresi kata kunci bagi membandingkan setiap perkataan di dalam
dokumen tidak berstruktur. Apabila pengecaman suatu perkataan S berdasarkan
ekspresi E dengan nama T. T akan dianggap sebagai nama dan S sebagai perkataan,
set ini dikenali sebagai jadual struktur data. Proses perbandingan setiap perkataan
akan menggunakan masa yang banyak jika terdapat rekod sehingga 1000 baris
seperti data hidrologi JPS. Sedikit pembaikan perlu dibuat agar masa proses
perbandingan kata kunci menggunakan data hidrologi tidak terlalu lama.
Rajah 2.2: Contoh Dokumen tidak Berstruktur
15
Bagi proses ketiga, penjanaan teks berstruktur dilaksanakan menggunakan
input skema SQL dan senarai objek/hubungan dan kekangan bagi memadankan
objek dengan jadual struktur data. Pemadanan dilaksanakan secara heuristik:
• Persamaan kata kunci
Jika kekangan dalam ontologi memerlukan sekurang-kurang satu constan
bagi satu set objek, dan jika terdapat konteks kata kunci bagi set objek di
dalam jadual struktur data, sistem akan menyingkirkan semua constan kecuali
ia sama nama dengan nama set objek.
• Mengumpul dan Pertindihan constan
Pengecam kata kunci akan menggabungkan perkataan tunggal di dalam
sumber dengan lebih nama set objek. Tetapi bagi perkataan yang diberi
daripada teks mungkin hanya menghasilkan constan tunggal. Oleh itu jika
terdapat pertindihan constan, sistem akan menyingkir semua kecuali satu
constan. Penyingkiran constan bermula dengan constan yang tidak berkait
dengan kata kunci.
• Fungsi hubungan
Jika ontologi menetapkan pangkalan data boleh menerima banyak
constan bagi satu objek, O dan terdapat satu constan bagi O, simpan constan
ke dalam pangkalan data.
• Bukan fungsi hubungan
Jika ontologi menetapkan pangkalan data boleh menerima banyak
constan bagi satu objek dan jika terdapat satu atau lebih constan, simpan
semua ke dalam pangkalan data.
16
• Pertama kali tanpa kekangan
Jika ontologi menetapkan pangkalan data boleh menerima sekurang-
kurangnya satu constan bagi satu objek, O, tetapi jika terdapat beberapa
constan, simpan constan pertama daripada senarai. 2.4 Ontologi Pengekstrakan
Walaupun terdapat ontologi berskala besar, pengkaji ontologi masih perlu
membina ontologi bagi domain tertentu, di samping melakukan pengemaskinian
terhadap ontologi berkenaan. Pembinaan ontologi secara manual merupakan satu
proses memakan masa dan tenaga yang membebankan. Tambahan pula, proses
pengemaskinian yang kadang kala dilakukan dengan kadar perlahan, akan
menyebabkan masalah terhadap perkembangan aplikasi ontologi berkenaan.
Permulaan bagi penghasilan ontologi berasal dari situasi yang berbeza.
Sesebuah ontologi mungkin dibina dari asas, atau sambungan ke atas ontologi sedia
ada, atau dari satu sumber informasi bertulis ataupun gabungan kedua-duanya sekali.
Pembinaan ontologi turut bervariasi mengikut tahap pengautomasian, antaranya
adalah secara manual sepenuhnya, semi-automatik sehingga automatik sepenuhnya.
Namun sehingga kini, penghasilan ontologi secara automatik sepenuhnya hanya
berkesan ke atas ontologi yang mudah dengan syarat-syarat yang terhad.
Lazimnya, kaedah untuk membina ontologi dapat diringkaskan sebagai :
bawah ke atas iaitu dari pengkhususan ke penyeluruhan, atau atas ke bawah iaitu dari
penyeluruhan ke pengkhususan; dan tengah keluar (middle-out) iaitu dari konsep-
konsep penting ke penyeluruhan dan pengkhususan sebagai contoh Ontologi
Enterprise dan metodologi ontologi yang dicadangkan oleh Lopez (1999). Terdapat
beberapa reka bentuk ontologi yang telah dicadangkan oleh beberapa pengkaji
ontologi, di antaranya adalah seperti berikut:
• Guarino (1998) memperkenalkan satu metodologi dalam reka bentuk
ontologi yang diinspirasikan dari penyelidikan fisiologi yang dikenali
17
sebagai ‘Formal Ontology’ oleh Cocchiarella (1991). Reka bentuk ini
mengandungi teori ke atas keseluruhan, teori ke atas bahagian, teori ke atas
identiti, teori ke atas kebergantungan, dan teori ke atas universal. Beliau
meringkaskan reka bentuk asas perlulah merangkumi :
1. Jelas mengenai domain
2. Menitik beratkan identiti
3. Mengasingkan struktur taksonomi asas
4. Mengenal pasti peranan dengan tepat
• Uschold dan Gruninger (1996) pula memperkenalkan satu rangka
metodologi untuk pembinaan ontologi yang dilakukan secara manual
sepenuhnya.
1. Kenal pasti tujuan dan skop
2. Bina ontologi dalam tiga langkah mudah iaitu
Pengenalpastian Ontologi (Ontology capture)
Pengenalpastian konsep asas dan hubungan serta usaha
menyediakan definisi bagi objek dan hubungannya.
Pengekodan Ontologi (Ontology coding)
Melakukan terma asas untuk ontologi seperti kelas, entiti dan
hubungan; memilih bahasa perwakilan dan seterusnya
melakukan pengekodan.
Pengintegrasian ke atas ontologi sedia ada
3. Penilaian dan tafsiran
4. Dokumentasi
5. Garis panduan untuk setiap langkah sebelumnya
• Ontological Design Pattern (ODP) oleh Reich(1999) digunakan untuk
mengabstrakkan dan pengenalpastian struktur reka bentuk ontologi, terma,
ekspresi dan konteks semantik. Teknik ini dapat dibahagi kepada pembinaan
dan pendefinisian ekspresi yang kompleks dari perwakilan asasnya kepada
perubahan secara ketidakbergantungan. Teknik ini telah dibuktikan
berkesan ketika di aplikasi ke atas informasi molekular biologi.
18
Hwang (1999) mencadangkan beberapa kriteria yang perlu ada pada sesebuah
ontologi yang telah dibina iaitu :
1. Terbuka dan dinamik – baik dari segi algoritma ataupun strukturnya bagi
memudahkan pembinaan dan mengemasi.
2. Dapat diukur
3. mudah untuk dikemaskinikan
4. ketidakbergantungan konteks
Daripada teknik yang dibincangkan di atas, teknik oleh Uschold dan
Gruninger (1996) adalah sesuai bagi penyelidikan ini. Ini kerana matlamat
penyelidikan yang lebih menjurus kepada mengkaji keberkesanan pengekstrakan
maklumat ke atas data teks hidrologi. Penghasilan ontologi secara manual akan
mengurangkan risiko kegagalan dalam mencapai matlamat tersebut di mana ekspresi
ontologi dapat dinyatakan dengan lengkap. Selain itu, ontologi secara manual masih
memenuhi objektif pertama penyelidikan.
2.5 Kajian Kes ke atas Data Hidrologi JPS
JPS memperoleh data hidrologi daripada 2405 stesen cerapan yang dipasang
di seluruh Malaysia. Terdapat 5 jenis data hidrologi yang digunakan di dalam MHIS
iaitu data taburan hujan, penyejatan, aras air sungai, enapan terapung sungai dan
kualiti air sungai. Maklumat yang ingin di ekstrak daripada setiap data-data ini
adalah maklumat id stesen, tarikh, masa catatan serta nilainya bacaannya. Format
data hidrologi pula adalah berbeza mengikut jenis cerapannya. Secara asasnya
terdapat tiga format yang sedang digunakan bagi penyelidikan iaitu SRM, MIT dan
CSV.
2.5.1 SRM
Data format SRM digunakan di dalam menyimpan data perakam taburan
hujan elektronik model RF14. Menggunakan kad ingatan (kad SRM) sebagai storan,
19
format ini akan dibaca oleh program yang dinamakan hydro reader dan menyimpan
data tersebut ke dalam fail SRM seperti ditunjukkan di dalam Rajah 2.3.
Rajah 2.3 : Contoh keratan format SRM
Sebagaimana yang ditunjukkan dalam rajah 2.1, data yang disimpan di dalam
format SRM mengandungi kepala (header) dan badan (body). Kepala mengandungi
enam baris yang akan menyimpan maklumat seperti berikut :
Baris pertama : Nama fail Baris kedua : Nombor stesen Baris ketiga : Masa dan tarikh bermula (data diambil) Baris keempat : Masa dan tarikh berakhir (data berhenti diambil) Baris kelima : Jumlah bilangan data Baris keenam : Nilai (iaitu pertambahan nilai untuk setiap masa yang diambil)
Untuk bahagian badan pula, tata susunannya adalah berterusan tanpa tab atau
pun koma. Perbezaan data diwakili daripada huruf pertama sebelum angka iaitu N
(bilangan data ke-n), D (tarikh) dan T (masa). Sebagai contoh, keratan data SRM di
Rajah 2.3 akan menghasilkan jujukan maklumat seperti yang ditunjukkan dalam
Rajah 2.4 di bawah.
20
Rajah 2.4 : Penyusunan format SRM
2.5.2 MIT
Data yang dicerap menggunakan perakam carta perlu ditukar kepada format
digital dengan menggunakan program Box Car. Box Car akan menghasilkan data di
dalam fail MIT, iaitu satu format yang boleh dibaca oleh komputer peribadi (PC)
atau UNIX. Penyusunan data MIT adalah lebih mudah berbanding SRM. Ini kerana
data MIT telah dibahagikan mengikut lajur-lajur yang terdiri daripada nilai, tarikh
dan masa yang dijarakkan melalui tab. Rajah 2.5 berikut adalah contoh keratan data
Comma-delimited format atau CSV adalah data format data yang umum
diguna pakai oleh kebanyakan aplikasi komputer. Format ini digunakan bagi
menyimpan data yang dikutip secara manual atau elektronik oleh juruteknik JPS.
Dengan menggunakan borang-borang yang disediakan oleh pihak JPS (JPS6 Pin.
3/83, JPT IIB – Pin 2/83, JPT 11C – Pin 1/2000), Maklumat dianalisis dan disimpan
di dalam bentuk CSV. Data CSV mengandungi tiga lajur iaitu nilai, tarikh dan masa.
Berbeza dengan data MIT, data CSV menggunakan (“) pada mula dan (”) pada akhir
maklumat. Setiap lajur dibezakan dengan tanda koma (,). Rajah 2.6 menunjukkan
contoh data format CSV.
Rajah 2.6 : Contoh keratan format CSV
2.6 Kesimpulan
Secara keseluruhannya, dapat disimpulkan IE berasaskan ontologi adalah
paling sesuai untuk masalah kajian kes yang telah dibincangkan di dalam Bab 1. Ini
kerana format data hidrologi itu sendiri yang berbeza dengan format-format data
penyelidikan terdahulu iaitu data teks berjujukan sebagaimana yang telah
dibincangkan dalam bahagian 2.5. Pemilihan metodologi bagi IE berasaskan ontologi
dan ontologi pengekstrakan adalah berdasarkan garis panduan yang dicadangkan
oleh Embley et al.(1998) dan Ushold dan Gruininger (1996) kerana pengekstrakan
ontologi dilakukan secara manual sepenuhnya. Ini bersesuaian dengan matlamat
penyelidikan yang lebih menjurus kepada mengkaji keberkesanan pengekstrakan
maklumat berasaskan ontologi ke atas data teks hidrologi.
22
BAB 3
METODOLOGI PENYELIDIKAN 3.1 Pendahuluan
Satu reka bentuk prototaip IE berasaskan ontologi bagi domain kajian kes
data hidrologi dikenali sebagai EkstrakPro akan dibincangkan di dalam bab ini. Asas
reka bentuk EkstrakPro diambil daripada Embley et al. (1998). EkstrakPro terdiri
daripada tiga proses iaitu proses penghuraian ontologi, proses pengecam jujukan dan
kata kunci serta proses pemetaan data sebagaimana yang ditunjukkan dalam Rajah
3.1 mukasurat sebelah. Proses pengecam jujukan adalah penambahan yang
dihasilkan daripada penyelidikan ini. EkstrakPro menerima dua input iaitu ontologi
pengekstrakan dan data hidrologi.
Proses penghuraian ontologi akan membaca input ontologi pengekstrakan
bagi menghasilkan set peraturan kata kunci dan skema pangkalan data. Manakala
proses pengecam jujukan dan kata kunci akan menerima input data hidrologi. Set
peraturan kata kunci yang dikehendaki akan di ekstrak dari data hidrologi
berdasarkan set peraturan kata kunci berkenaan dan seterusnya maklumat-maklumat
berkenaan disusun semula ke dalam jadual data berstruktur.
Berikut, proses pemetaan jadual data berstruktur ke dalam pangkalan data.
Proses pemetaan data ini menghasilkan pernyataan SQL berdasarkan skema
pangkalan data yang diperoleh dari proses penghuraian ontologi dan jadual data
berstruktur agar dapat difahami oleh Sistem Pengurusan Pangkalan Data (DBMS).
DBMS akan menyimpan data-data ke dalam medan-medan yang telah ditentukan.
23
Penerangan lanjut mengenai bagaimana membina ontologi pengekstrakan berserta
proses-proses di dalam EkstrakPro akan dibincangkan dengan lebih terperinci di
dalam bab ini.
Rajah 3.1: Reka Bentuk Embley et al.(1998) Dengan Penambahan Proses
Pengecam Jujukan
Ontologi pengekstrakan
Peraturan katakunci
Skema pangkalan
Data
Fail teks
Jadual Data berstruktur
Pemetaan Data
Penghurai Ontologi
Pengecam
katakunci Pengecam
jujukan
*
*
* - Penambahan yang dilakukan di dalam penyelidikan
24
3.2 Ontologi pengekstrakan
Untuk membina ontologi pengekstrakan, kajian ke atas data hidrologi
berserta maklumat yang ingin di ekstrak dari data berkenaan perlu dikaji dengan
teliti. Di dalam penyelidikan ini, data hidrologi yang digunakan terdapat dalam tiga
format iaitu SRM, MIT dan CSV, sebagaimana yang telah dibincangkan di dalam
bahagian 2.5. Manakala maklumat yang ingin di ekstrak daripada data-data hidrologi
ini adalah id stesen serta nama di mana data dicerap, jenis cerapan yang dibuat,
tarikh serta masa cerapan dan nilai bacaan cerapan. Seterusnya, langkah-langkah
pembinaan ontologi pengekstrakan dilakukan secara manual. Berikut adalah langkah-
langkah dalam menghasilkan ontologi pengekstrakan yang diringkas dari metodologi
yang di cadangkan oleh Ushold dan Gruininger (1996) :
1. Mendapatkan maklumat yang ingin di ekstrak daripada objek dan
hubungan di antaranya dengan menggunakan OSM
2. Menghasilkan unit objek bagi mengenal pasti corak pada maklumat yang
ingin di ekstrak.
3.2.1 Penggunaan OSM
Model sistem berorientasikan objek (Object-oriented System Model –OSM)
digunakan untuk memberi ontologi pengekstrakan bagi domain data hidrologi. OSM
diperkenalkan oleh Embley et al. (1992), mempunyai dua perwakilan grafik dan teks
yang saling berkait. Ini membolehkan kita mewakilkan ontologi pengekstrakan bagi
data hidrologi dalam bentuk grafik (Rajah 3.2) dan menghuraikannya ke dalam
bentuk teks (Rajah 3.3).
Di dalam OSM, segi empat mewakili satu set objek. Segi empat dengan garis
putus-putus mewakili set bagi objek bersifat leksikal seperti stesen_Id dan masa
cerapan yang mana objek adalah perkataan yang mewakili dirinya sendiri. Manakala
segi empat tanpa garis putus pula mewakili set bagi objek tidak bersifat leksikal
25
seperti stesen dan cerapan yang mana objek adalah pengenalpastian objek yang
mewakili entiti dunia sebenar. Garis yang menghubungkan segi empat mewakili satu
set hubungan. Di dalam OSM, kolon (:) selepas nama objek seperti tarikh cerapan :
tarikh, menunjukkan bahawa objek set berkenaan adalah spesialisasi.
Rajah 3.2 : Ontologi data hidrologi JPS secara grafik
Stesen
Id
mempunyai mempunyai
0:1 0:*
1:*
1
Tarikh cerapan : t ikh
Masa cerapan : masa
Nilai cerapan
Cerapan
mempunyai
0:*
1:*
mempunyai
0:*
1:*
mempunyai
0:*
1:*
Nama
mempunyai
0:1
1:*
Jenis cerapan 1:*
0:1
mempunyai
26
Oleh kerana bahasa persamaan untuk model telah didefinisikan untuk OSM
oleh Liddle et al. (1995), dengan mudahnya model OSM secara grafik ditukarkan
kepada bentuk ayat sebagaimana yang ditunjukkan dalam Rajah 3.3.
Rajah 3.3 : Ontologi data hidrologi JPS secara teks
3.2.2 Unit Objek
Setelah mengenal pasti objek-objek dan hubungan di antara objek bagi
domain hidrologi, langkah seterusnya adalah mengenal pasti corak ke atas maklumat
yang ingin di ekstrak. Beberapa contoh data hidrologi dikaji dan corak bagi setiap
maklumat dikenal pasti. Untuk memudahkan proses penghuraian ontologi, unit objek
(UO) diperkenalkan untuk mewakili setiap corak. Rajah 3.4 di bawah menunjukkan
sintek bagi rangka UO. Ciri-ciri penting dalam corak akan diguna menghasilkan
deskripsi dalam sintek berkenaan. Setiap rangka UO mempunyai nombor UO,
bilangan leksikal berserta satu set sub-rangka. Nombor UO akan mewakili bilangan
corak dalam satu jenis maklumat dan bilangan leksikal akan mewakili bilangan sub-
rangka. Sub-rangka akan digunakan untuk memberi deskripsi kepada corak. Setiap
sub-rangka boleh diwakilkan antara 2 hingga 9 deskripsi.
Stesen [0:1] mempunyai Stesen_Id [1:*];
Stesen [0:1] mempunyai Nama [1:*];
Stesen [0:1] mempunyai Cerapan [1];
…
Cerapan [0:1] mempunyai Jenis_cerapan [1:*];
Cerapan [0:*] mempunyai Tarikh_cerapan [1:*]
…
Tarikh cerapan [0:*] mempunyai Masa_cerapan[1:*];
…
Masa_cerapan [0:*] mempunyai Nilai_cerapan [1:*];
27
Rajah 3.4 : Sintek Rangka UO
Deskripsi kelima di dalam sub-rangka bagi rangka OU iaitu nombor corak
akan mempunyai fungsi corak. Terdapat lima fungsi corak yang dikenal pasti iaitu:
• Sebarang_string merujuk kepada apa-apa sahaja (termasuk abjad, nombor
dan simbol)
• Sebarang_digit merujuk kepada sebarang digit
• Sebarang_delimiter merujuk kepada sebarang karakter khusus seperti
“space bar” ataupun “tab”
• Sebarang_tag merujuk kepada apa yang berada di antara “< ” dan “ > ”
seperti < ; >
• Sebarang_char merujuk kepada sebarang karakter
Langkah seterusnya adalah mengenal pasti rangka UO bagi maklumat dalam
data hidrologi. Penulis telah mengambil beberapa contoh daripada tujuh jenis data
hidrologi JPS untuk mengenal pasti corak bagi setiap objek yang digunakan.
Terdapat sebanyak 6 jenis objek iaitu Stesen_Id, Nama_stesen, Jenis_cerapan,
Tarikh_cerapan, Masa_cerapan dan Nilai_cerapan.
Nombor Unit Objek : integer A. Bilangan item leksikal : integer B. Nombor sub-rangka : integer 1. Nilai : Nilai yang ditetapkan atau nilai default 2. Stail : {tag, char, frasa, ayat, digit, nombor, string} 3. Instances : senarai string 4. Pengecualian : senarai string 5. Nombor corak : integer Fungsi corak : fungsi 6. Panjang Mak : integer 7. Panjang Min : integer 8. Mak : integer 9. Min : integer
28
3.2.2.1 Stesen_Id
Daripada contoh-contoh data hidrologi yang digunakan, dapat disimpulkan
bahawa stesen-Id diwakilkan oleh 7 digit sahaja. Di antara corak yang dikenal pasti
adalah sebelum 7 digit bermula, adanya perkataan ‘SA-R’ ataupun ‘site’ seperti yang
ditunjukkan di dalam Rajah 3.5. Rangka UO untuk Stesen_Id dijana sebagaimana
yang ditunjukkan dalam Lampiran A.
Rajah 3.5: Contoh Stesen_Id daripada data hidrologi JPS
3.2.2.2 Nama_stesen
Berdasarkan contoh data hidrologi yang telah dipilih, data yang mempunyai
corak stesen_Id ‘site 1234567’ sahaja mempunyai nama_stesen. Oleh itu untuk
data hidrologi yang tidak mempunyai nama stesen, nama_stesen akan dirujuk dalam
pangkalan data berdasarkan maklumat stesen_Id yang telah diperoleh.
3.2.2.3 Jenis_cerapan
Jenis cerapan juga mengalami kes yang sama iaitu tiada jenis cerapan
dinyatakan di dalam data hidrologi. Maka, stesen_Id turut memainkan peranan dalam
memberikan jenis cerapan dengan merujuk pangkalan data sedia ada.
1632301 1334108 2324032
site 1732001 site 1732501 site 4815001
SA-R4815001 SA-R6915111 SA-R4815001
29
3.2.2.4 Tarikh_cerapan
Corak untuk tarikh adalah berbeza-beza sebagai contoh untuk 14 hari bulan
Jun tahun 2004, mungkin boleh ditulis seperti ‘14/06/2004’ atau ‘04/06/14’ atau
‘14.6.2004’ dan sebagainya. Merujuk kepada contoh data hidrologi sekali lagi
beberapa corak tarikh dikenal pasti dan dinyatakan di dalam rajah 3.6.
Rajah 3.6 : Contoh Tarikh_cerapan daripada data hidrologi JPS
Untuk menjadikan sistem lebih tegar, maka setiap corak tarikh sama ada
untuk data hidrologi ataupun bukan telah dikenal pasti. Rangka UO untuk tarikh
cerapan telah dibina sebagaimana di dalam Lampiran B.
3.2.2.5 Masa_cerapan
Lazimnya, corak untuk masa akan melibatkan jam, minit dan saat. Ianya juga
boleh ditulis dalam format 12 jam atau 24 jam. Berdasarkan contoh data, beberapa
corak untuk masa cerapan telah dikenal pasti seperti yang ditunjukkan di dalam rajah
3.7. adalah unit objek yang dihasilkan berdasarkan contoh masa cerapan yang
digunakan di dalam data hidrologi. Lampiran C boleh dirujuk untuk mendapatkan
rangka UO bagi masa cerapan.
R
Rajah 3.7: Contoh Masa_cerapan daripada data hidrologi JPS
09:25 22:45 00:11
8:00:00am 3:45:10pm
SRT-14:30:15 ERT-16:21:52
122504 151722
20000104 20020227
SRD-10/01/2002 ERD-27/03/2002
31-DEC-2003 1-JAN-2001
30
3.2.2.6 Nilai_cerapan
Nilai cerapan berbeza mengikut jenis cerapan yang dilakukan. Sebagai
contoh data hidrologi bagi hujan mempunyai nilai ratus bersama dua titik
perpuluhan, manakala nilai untuk data hidrologi bagi aras air mempunyai nilai angka
tanpa titik perpuluhan. Variasi nilai cerapan ini menyukarkan menentukan corak
nilai_cerapan secara tepat. Oleh itu, pengekstrakan untuk nilai cerapan tidak dapat
diwakili melalui spesifikasi objek. Nilai_cerapan boleh dikenali melalui nilai integer
yang berturutan dalam julat semasa data jujukan.
3.3 Proses Penghuraian Ontologi
Di dalam proses ini, ontologi pengekstrakan akan di hurai bagi menghasilkan
set peraturan kata kunci dan skema pangkalan data. Rangka unit objek yang
dihasilkan semasa ontologi pengekstrakan dibina akan menyumbang kepada set
peraturan kata kunci. Setiap rangka unit objek akan menghasilkan satu kata kunci.
Jika satu objek, sebagai contoh stesen_Id, mempunyai tiga rangka unit objek, maka
tiga kata kunci akan dihasilkan ke dalam satu peraturan stesen_Id.
Skema pangkalan data adalah satu pernyataan SQL yang hasilkan daripada
senarai nama set objek, hubungan antara objek dan kekangan. Maklumat objek-objek
dan hubungannya digunakan dalam merangka struktur pangkalan data. Objek yang
bersifat bukan leksikal akan mewakili jadual di dalam pangkalan data dan nama
jadual akan diberi berdasarkan nama set objek tersebut. Manakala objek bersifat
leksikal pula mewakili medan di dalam jadual yang mempunyai hubungan.
Penormalan jadual dapat dihasilkan dengan menggunakan hubungan di antara objek
bukan leksikal.
Sebagai contoh di dalam Rajah 3.8, objek root iaitu “stesen” mewakili satu
jadual utama (primary table) . Objek leksikal yang mempunyai hubungan dengannya
iaitu “id”dan “nama” dijadikan sebagai medan bagi jadual tersebut. Hubungan di
31
antara objek “stesen” dan “cerapan” menentukan “cerapan” adalah jadual kedua
(secondary table). Seterusnya objek bukan leksikal seperti “jenis”, “tarikh”,
“masa”,”nilai” menjadi medan bagi jadual “cerapan”. Oleh kerana jadual cerapan
adalah jadual kedua, ia harus mempunyai satu medan yang akan menyimpan
hubungan dengan kekunci di dalam jadual utama. Oleh itu “id” daripada jadual
stesen akan menjadi medan di dalam jadual cerapan. Penghuraian ontologi
pengekstrakan dalam menghasilkan skema pangkalan data diringkaskan di dalam
Rajah 3.8.
Rajah 3.8 : Skema pangkalan data daripada ontologi pengekstrakan
Proses penghuraian ontologi akan menggunakan ontologi pengekstrakan
untuk menghasilkan set peraturan kata kunci dan skema pangkalan data. Set
peraturan kata kunci diperoleh daripada nama U, manakala peraturan pemadanan
kata kunci akan merujuk kepada sub-rangka di dalam unit objek.
Stesen
Id Nama
Cerapan
Id Jenis cerapan Tarikh Masa Nilai
Stesen
Id
mempunyai 0:
0
1:
1
Tarikh
Masa
Nilai
Cerapan
mempunyai0
1
Nama
mempunyai
0:
1
Jenis cerapan1:
0:mempunyai
mempunyai 0
1
mempunyai 0
1
Skema Pangkalan Data
Kekunci utama
32
3.4 Proses Pengecam Jujukan
Pendekatan ontologi sebagaimana yang dicadangkan oleh BYU, akan
membuat perbandingan antara data-data di dalam fail dengan kata kunci. Sekiranya
data menepati kata kunci yang diperoleh, maka data tersebut akan dimasukkan ke
dalam jadual yang telah ditetapkan di dalam pangkalan data. Rajah 3.9 menunjukkan
algoritma pengekstrakan data bagi EkstrakPro sebagaimana yang dicadangkan oleh
BYU.
Rajah 3.9 : Algoritma EkstrakPro
Baris pertama adalah proses membaca fail input yang ingin di ekstrak. Baris
kedua adalah proses pengulangan sehingga akhir fail input terbabit. Baris keempat
pula merupakan bacaan ke atas data secara baris ke baris. Baris kelima dalam
algoritma tersebut iaitu pengecaman data menggunakan kata kunci yang mana kata
kunci dihasilkan daripada penghuraian ontologi. Manakala baris keenam dan ketujuh
akan memasukkan data yang telah dikenal pasti ke dalam jadual pangkalan data yang
telah ditetapkan semasa proses penguraian ontologi.
1. Baca fail input 2. WHILE not EOF DO
{ 3. Baca Baris & Dapatkan current.data 4. For Bil_KataKunci = 1 to MaxKataKunci 5. { 6. Bandingkan KataKunci 7. IF current.data = KataKunci
A Stesen_id B Barisan Kosong C Tarikh Masa Nilai D Tarikh Masa Nilai E Tarikh Masa Nilai B ≠ A – bukan data jujukan C ≠ B – bukan data jujukan D = C – Mungkin data jujukan, semak baris seterusnya E = D – corak jujukan telah dikenal pasti.
35
Rajah 3.12 : Algoritma pengecam jujukan
Baca fail Input While not EOF { Baca baris ; Kenalpasti dengan peraturan kata kunci;
Simpan nilai kata kunci dalam fail new.keyword; Buat perbandingan dengan previous.keyword; If true { i = i +1; } If i > 3 then { Simpan nilai new.keyword ke dalam PeraturanJujukan.keyword; } else if {
new.keyword diumpukan kepada previous.keyword;
} }
36
1. Baca fail input
2. WHILE not EOF DO {
3. Baca Baris & Dapatkan current.data 4. Panggil Algoritma jujukan 5. IF jujukan dikenalpasti == TRUE
6. { 7. Masukkan current.data ke DB
8. } 9. ELSE
10. { 11. For Bil_KataKunci = 1 to MaxKataKunci
12. { 13. Bandingkan KataKunci
14. IF current.data = KataKunci
15. { 16. Masukkan nilai current.data ke DB
17. Bil_KataKunci = MaxKataKunci
18. } 19. ELSE
20. Bil_KataKunci = Bil_KataKunci +1
21. } 22. } 23. }
Rajah 3.13 : Algoritma EkstrakPro dengan Algoritma jujukan
3.5 Proses Pemetaan
Di dalam proses pemetaan, kata kunci yang di ekstrak akan dipadankan
dengan skema SQL untuk memplotkan rekod di dalam skema pangkalan data. Proses
ini menghubungkan jadual data berstruktur dengan skema pangkalan data sebelum
disimpan ke dalam pangkalan data. Sebagaimana yang telah ditunjukkan dalam
Rajah 3.8 di atas, skema pangkalan data iaitu skema SQL mengandungi dua jadual
Penambahan Algoritma pengecaman jujukan di dalam algoritma pengekstrakan data
37
iaitu “stesen” dan “cerapan”. Pemetaan ini akan menghasilkan skrip insert statement,
standard database query language (SQL).
3.6 Pengujian
Pengujian dilaksanakan untuk menguji ketahanan pengekstrakan dan
kebolehan algoritma pengecam jujukan mengurangkan masa pengekstrakan.
Pengekstrakan diuji dengan data hidrologi JPS iaitu data taburan hujan, penyejatan,
ketinggian air sungai, enapan terapung dan kualiti air. Bagi menguji ketahanan
pengekstrakan, sampel data ujian di ekstrak menggunakan Sistem EkstrakPro.
Ketepatan data diplotkan ke dalam pangkalan data menjadi ukuran ketahanan di
dalam pengujian ini. Selain menggunakan sampel data ujian, Sistem EkstrakPro juga
diuji dengan data yang diubah struktur data.
Pengujian kedua yang dilaksanakan adalah untuk melihat keupayaan
algoritma pengecam jujukan rekod mengurangkan masa pengekstrakan. Ini dapat
dilihat dengan membandingkan masa pemprosesan pengekstrakan yang
menggunakan algoritma pengecam jujukan dengan pengekstrakan tanpa algoritma
pengecam jujukan.
3.7 Kesimpulan
Secara kesimpulannya, metodologi penyelidikan merangkumi proses-proses
iaitu membina ontologi pengekstrakan, penghuraian ontologi, pengecam jujukan
rekod dan pengujian. Jadual 3.1 menunjukkan input, teknik, output dan sumbangan
daripada proses metodologi penyelidikan. Selain daripada itu, reka bentuk asas
prototaip EkstrakPro turut dibincangkan bagi membolehkan proses
pengimplimentasian dilakukan dengan mudah. EkstrakPro terdiri daripada tiga
proses utama iaitu proses penghuraian ontologi, proses pengecam jujukan dan kata
kunci serta proses pemetaan data.
38
Jadual 3.1 : Ringkasan metodologi penyelidikan
INPUT
TEKNIK
OUTPUT
SUMBANGAN
ILMIAH
1.Membina ontologi pengekstrakan
Data hidrologi JPS
OSM, (Embley et al.,1992)
Ontologi pengekstrakan data hidrologi
Ontologi pengekstrakan bidang data hidrologi JPS + Unit Objek
2.Membina penghuraian ontologi
Ontologi pengekstrakan
Algoritma (Embley et al., 1998)
Set peraturan kata kunci
+ Skema pangkalan data
3.Membina algoritma pengecam jujukan rekod
Set peraturan kata kunci
Cadangan Penyelidikan
Jadual data berstruktur
Algoritma Pengecaman Jujukan rekod
4.Pengujian
Data hidrologi JPS
Empirikal
- Hasil data yang diplotkan ke dalam pangkalan data -Perbandingan masa pemprosesan
39
BAB 4
IMPLIMENTASI
4.1 Pendahuluan
Bagi menguji keberkesanan pengekstrakan maklumat berasaskan ontologi
bagi domain hidrologi, satu prototaip pengekstrakan data iaitu EkstrakPro telah
dibangunkan. Tujuan utama prototaip EkstrakPro dibina adalah untuk melakukan
proses pengujian dan sekali gus membukti ketahanan sistem pengekstrakan data
berasakan ontologi dalam domain hidrologi. Antara muka pengguna dibina bagi
memudahkan pengguna dalam memanipulasi sistem prototaip berkenaan.
4.2 Spesifikasi Sistem
Pembangunan prototaip EkstrakPro dilakukan dengan spesifikasi berikut :
Sistem OS : Microsoft Window XP
Bahasa Pengaturcaraan : Visual Basic & SQL
Pangkalan Data : Microsoft Access
40
4.3 Antara Muka Sistem
Satu antara muka pengguna telah dibangunkan bagi memudahkan pengguna
memasukkan kedua-dua input iaitu ontologi pengekstrakan dan data hidrologi. Selain
itu, antara muka membenarkan maklumat data dan senarai kata kunci dipaparkan.
Pengguna juga boleh melaksanakan proses pengekstrakan dengan mengendalikan
butang-butang yang telah disediakan. Rajah 4.1 berikut menunjukkan antara muka
EkstrakPro bersama fungsi butang-butang di dalamnya. Manakala, saling kaitan di
antara reka bentuk prototaip EkstrakPro dengan antara muka yang telah direka dapat
dilihat dengan jelas di dalam Rajah 4.2.
Rajah 4.1 : Antara muka EkstrakPro
Ringkasan penerangan bagi setiap butang yang di label pada Rajah 4.1 adalah
seperti berikut:
A Kontrol Dialog - Input lokasi dan nama ontologi pengekstrakan.
B Kontrol Dialog - Input lokasi dan nama data teks.
C Paparan maklumat data – Memaparkan kandungan fail yang dibaca.
D F G
E
A
B
C
41
D Penghuraian Ontologi – Proses menghasilkan kata kunci dan
hubungan kata kunci daripada ontologi pengekstrakan.
E Paparan kata kunci – Senarai kata kunci dipaparkan di dalam
ruangan ini apabila penghuraian ontologi di laksanakan.
F Mengekstrak maklumat – Proses memadankan kata kunci dengan
data dan perlaksanaan pengecaman jujukan rekod.
G Butang pemetaan data - Memetakan data yang telah di ekstrak ke
dalam pangkalan data.
(b) Reka bentuk Algoritma Pengekstrakan Data
Rajah 4.2 : Reka Bentuk Sistem dan Antara Muka Prototaip EkstrakPro
(a) Antara muka EkstrakPro
42
4.3 Implementasi Proses Penghuraian Ontologi
Fungsi penghuraian ontologi adalah untuk menghasilkan kata kunci dan
skema pangkalan data daripada maklumat fail input ontologi pengekstrakan. Fail
input bagi ontologi pengekstrakan dihasilkan daripada objek dan hubungan di
antaranya bersama-sama senarai UO yang dikenal pasti. Rajah 4.3 memberikan satu
contoh fail input ontologi pengekstrakan bagi maklumat Tarikh cerapan.
Rajah 4.3 : Input Ontologi pengekstrakan bagi Tarikh Cerapan
Atur cara dimulakan dengan membaca fail ontologi pengekstrakan yang bagi
setiap maklumat yang ingin di ekstrak. Bilangan corak bergantung pada bilangan UO
yang telah dihasilkan. Setiap baris (bermula dari baris ketiga) dalam fail input
ontologi pengekstrakan akan mewakili satu jenis corak. Sekiranya terdapat corak
yang baru, pengguna perlu membina UO bagi corak berkenan dan memasukkannya
ke dalam fail input sebagai baris yang baru. Rajah 4.4 di sebelah menunjukkan
keratan atur cara yang membaca fail input ontologi pengekstrakan dan
menyimpannya sebagai satu set kata kunci.
Maklumat Tarikh cerapan
Bilangan corak 3
####[1960 to 2111]##[01 to 12]##[01 to 31]
“SRD” | “ERD””-“##[01 to 31]”/”##[01 to 12]”/”####[1960 to 2111]
Rajah 4.4 : Keratan Atur Cara Penghuraian ontologi bagi menghasilkan
peraturan kata kunci
Selain set peraturan kata kunci, penghuraian ontologi juga menghasilkan
skema pangkalan data dengan menggunakan objek utama sebagai nama jadual dan
objek inheren menjadi medan di dalam jadual. Skema struktur pangkalan data ini
dibina menggunakan bahasa SQL. Rajah 4.5 di sebelah menunjukkan keratan atur
cara bagi skema struktur pangkalan data yang dijana daripada ontologi
pengekstrakan.
Open txtFileName.Text For Input As FP1 Set DB1 = OpenDatabase(DBName, False, False) Set RS1 = DB1.OpenRecordset("dt_real") 'this opens the whole table d = 1 FP1 = FreeFile 'On Local Error GoTo ER1 Open txtFileName.Text For Input As FP1 Do Until EOF(FP1) ' Line Input #FP1, s 'RS1.AddNew MyPos = InStr(s, "site") If MyPos > 0 Then s1 = Mid$(s, MyPos + 5, 6) ' txtResults.Text = txtResults.Text & s1 & CRLF ' RS1.AddNew ' RS1.Fields(0).Value = s1 ' RS1.Update End If MyPos1 = InStr(s, "Year") If MyPos > 0 Then s2 = Mid$(s, MyPos1 + 5, 4) RS1.AddNew ' txtResults.Text = txtResults.Text & s2 & CRLF 'txtResults.Text = txtResults.Text & sArray(i) & CRLF ' RS1.AddNew ' RS1.Fields(1).Value = sArray(i) 'RS1.Update End If sArray = Split(s) m = 0 Dim nm For i = LBound(sArray) To UBound(sArray) MyCheck = sArray(i) Like "*[.]##" If MyCheck = True Then RS1.AddNew RS1.Fields(0).Value = s1 m = m + 1 If Not m = 13 Then RS1.Fields(2).Value = d & "/" & m & "/" & s2 RS1.Fields(6).Value = sArray(i) RS1.Update End If If m = 12 Then d = d + 1 End If
44
Rajah 4.5 : Contoh Skema Pangkalan Data
4.4 Implementasi bagi Proses Pengecaman Jujukan dan Kata Kunci
Set kata kunci yang dihasilkan oleh penghuraian ontologi akan digunakan
dalam proses pengekstrakan maklumat daripada data input. Pemadanan set kata
kunci dilaksanakan ke atas setiap aksara di dalam data input. Aksara yang telah
dikenal pasti sebagai kata kunci akan di ekstrak dan disimpan di dalam jadual data
berstruktur. Jadual ini mengandungi data yang di ekstrak dan maklumat
pemetaannya. Rajah 4.6 adalah keratan atur cara pengekstrakan maklumat.
Rajah 4.6 : Keratan Atur Cara Pengekstrakan Kata kunci
Create table Stesen ( Stesen_ID integer Nama varchar (80), Jenis_bacaan (50), ) Create table Cerapan ( Stesen_ID integer Tarikh varchar(10), Masa varchar(10), Bacaan real (10) )
For i = LBound(sArray) To UBound(sArray) MyCheck = sArray(i) Like "*[.]##" If MyCheck = True Then RS1.AddNew RS1.Fields(0).Value = s1 m = m + 1 If Not m = 13 Then RS1.Fields(2).Value = d & "/" & m & "/" & s2 RS1.Fields(6).Value = sArray(i) RS1.Update End If If m = 12 Then d = d + 1 End If End If Next
45
4.5 Implementasi bagi Proses Pemetaan Data
Data daripada jadual berstruktur akan dipetakan ke dalam pangkalan data
menggunakan yang pemetaan data jadual berstruktur dan skema pangkalan data.
Maklumat pemetaan akan dipadankan dengan nama medan di dalam skema.
Pernyataan insert akan dihasilkan untuk dilarikan di dalam sistem pangkalan data
Microsoft Access. Rajah 4.7 menunjukkan kenyataan insert yang telah dihasilkan.
Rajah 4.7 : Keratan Pernyataan Insert
4.6 Kesimpulan
Implementasi rangka kerja IE berasaskan ontologi telah dilaksanakan. Setiap
proses rangka kerja, telah diprogramkan dan hasilnya prototaip EkstrakPro. Dengan
input data teks hidrologi JPS dan ontologi pengekstrakan, maklumat yang telah di
ekstrak akan dipetakan ke dalam sistem pangkalan data Microsoft Access. Sistem
prototaip ini membolehkan penyelidikan menjalankan pengujian keberkesanan IE
berasaskan ontologi mengekstrak data teks hidrologi.
Insert into dt_integer (fid,tid,did,mcode,qcode,val) values (“1222352”, “20030204113000”, “”, “101”,”201”,”50080”) Insert into dt_integer (fid,tid,did,mcode,qcode,val) values (“1222352”, “20030204160611”, “”, “101”,”201”,”50083”) Insert into dt_integer (fid,tid,did,mcode,qcode,val) values (“1222352”, “20030204180316”, “”, “101”,”201”,”50085”) Insert into dt_integer (fid,tid,did,mcode,qcode,val) values (“1222352”, “20030205135505”, “”, “101”,”201”,”50078”)
46
BAB 5
PENGUJIAN
5.1 Pendahuluan
Proses pengujian merupakan proses kritikal dalam membuktikan
penyelesaian yang dipilih adalah bersesuaian dengan masalah penyelidikan. Di
dalam bab ini, dua pengujian dijalankan ke atas sistem EkstrakPro, yang pertama
adalah untuk menguji ketahanan pengekstrakan maklumat dan kedua adalah untuk
menguji masa pengekstrakan. Ketahanan sesebuah IE ditentukan melalui
keupayaannya mengekstrak maklumat dari pelbagai jenis data dan menyimpannya ke
dalam pangkalan data dengan tepat. Masa pengekstrakan maklumat pula ditentukan
bermula dari perbandingan kata kunci sehingga pemetaan maklumat ke dalam
pangkalan data.
5.2 Penyediaan Data Ujian
Data ujian terbahagi kepada tiga set data hidrologi. Pertama adalah data
hidrologi yang diperoleh dari JPS. Ia merangkumi data-data cerapan bagi taburan
hujan, penyejatan, aras air sungai, enapan terapung sungai dan kualiti air sungai.
Sebanyak 100 data hidrologi diambil secara rawak daripada 20 stesen cerapan di
seluruh Malaysia. Format bagi data-data ini adalah SRM, MIT dan CSV. Beberapa
47
contoh keratan data hidrologi yang digunakan bagi kategori pertama boleh didapati
di dalam Lampiran D.
Manakala kategori kedua adalah data hidrologi rekaan. Set data ini diperoleh
dengan melakukan perubahan ke atas data JPS sedia ada bagi mendapat format data
yang baru. Beberapa perubahan mudah dilakukan seperti mengubah kedudukan
jujukan data, menambah dan membuang jujukan data serta menambah maklumat-
maklumat tambahan dalam header. Selain daripada itu, data-data baru juga diperoleh
daripada kutipan dari internet dan juga dihasilkan sendiri oleh penulis. Sebanyak 30
set data baru telah dihasilkan. Contoh keratan data hidrologi yang digunakan bagi
kategori kedua boleh didapati di dalam Lampiran E.
Set data ujian ketiga merupakan data hidrologi yang berlainan saiz namun
terdiri daripada satu format iaitu CSV sahaja disediakan. Julat baris yang terkandung
dalam fail input adalah di antara 200 hingga ke 1800 baris data. Beberapa keratan
contoh data hidrologi daripada set ketiga disertakan di dalam Lampiran F.
5.3 Ujian Ketahanan Pengekstrakan maklumat
Pengujian ketahanan pengekstrakan maklumat bagi sistem EkstrakPro
dilakukan dalam dua peringkat. Peringkat pertama adalah perbandingan sistem
EkstrakPro dengan sistem MHIS Dataload. Perbandingan ini bertujuan untuk
membuktikan keupayaan sistem EkstrakPro mengekstrak data adalah setara dengan
sistem MHIS Dataload. Pengujian dilakukan ke atas set data ujian pertama dan
ketepatan pengekstrakan maklumat bagi kedua-dua sistem berkenaan dikenal pasti.
Peratus ketepatan diukur berdasarkan rumus di bawah.
Peratus ketepatan = Bil. maklumat tepat yang telah diekstrak X 100
Bil. Maklumat tepat sebenar
48
Jadual 5.1 di sebelah menunjukkan keputusan pengujian ketahanan
pengekstrakan maklumat peringkat pertama. Daripada pengujian ini, didapati
keputusan kedua-dua sistem pengekstrakan maklumat secara puratanya hampir
mencapai ketepatan 100 %. Namun dengan hanya menggunakan satu algoritma,
EkstrakPro berasaskan ontologi dapat mengekstrak maklumat dari pelbagai jenis
data hidrologi. Berbeza dengan sistem MHIS Dataload yang memerlukan algoritma
berbeza untuk setiap jenis data.
Jadual 5.1 : Peratus ketepatan bagi algoritma MHIS Dataload dan
algoritma EkstrakPro
Satu lagi kelebihan utama menggunakan pengekstrakan maklumat berasaskan
ontologi adalah ianya mampu mengekstrak format data baru tanpa perlu melibatkan
proses pengaturcaraan semula. Untuk membuktikannya, pengujian ketahanan
peringkat kedua dilaksanakan. Pengujian dilakukan ke atas set data ujian kedua yang
melibatkan data hidrologi rekaan. Rajah 5.1 menunjukkan keputusan ujian peringkat
kedua.
Rajah 5.1 menunjukkan sebanyak 70% data hidrologi rekaan dapat di ekstrak
dengan tepat. Baki sebanyak 30% tidak dapat di ekstrak dengan tepat kerana
kekurangan dari segi perbandingan kata kunci. Sebagai contoh, untuk data input
nombor 21 mempunyai nilai tarikh yang disusun dalam kedudukan Januari, 23, 1999.
Oleh kerana tiada unit objek yang menerangkan corak bagi tarikh ini, maka semasa
perbandingan kata kunci dilakukan, data ini tidak akan dikenal pasti sebagai tarikh.
Peratus ketepatan Peratus ketepatan
Taburan hujan Algo. Taburan Hujan MHIS
~ 100%
Algo. Ontologi
~ 100%
Penyejatan Algo. Penyejatan
~ 100%
Algo. Ontologi
~ 100%
Ketinggian Air Sungai Algo. Ketinggian air sungai
~ 100%
Algo. Ontologi
~ 100%
Enapan Terapung Algo. enapan terapung
~ 100%
Algo. Ontologi
~ 100%
Kualiti Air Algo Kualiti air
~ 100%
Algo. Ontologi
~ 100%
49
Ini menyebabkan data yang di ekstrak tidak tepat. Cara terbaik untuk mengurangkan
ralat seperti ini berlaku adalah dengan memastikan unit objek untuk setiap objek
yang ingin di ekstrak adalah lengkap.
Rajah 5.1 : Peratus ketepatan pengekstrakan maklumat
terhadap jenis data
5.4 Ujian Masa Pengekstrakan maklumat
Tujuan utama pengujian ini dilakukan adalah untuk membuktikan algoritma
pengecaman jujukan yang dihasilkan dapat mengurangkan masa pengekstrakan.
Pengujian masa pemprosesan ini turut dilakukan dalam dua ukuran. Ukuran pertama
menggunakan notasi-O untuk mengira masa algoritma pengekstrakan dalam sistem
EkstrakPro. Ukuran kedua akan menggunakan masa pengekstrakan yang dilakukan
ke atas set data ketiga.
Peratus (%)
50
Notasi-O digunakan untuk menilai sesebuah algoritma yang dibina dari segi
masa dan saiz ruang pelaksanaannya. Pengujian kali ini menggunakan notasi-O
untuk membandingkan antara algoritma EkstrakPro (Rajah 3.9) dengan algoritma
EkstrakPro bersama algoritma jujukan (Rajah 3.13). Dengan beranggapan panjang
fail data hidrologi sebagai n dan bilangan kata kunci sebagai m, masa pengekstrakan
untuk algoritma EkstrakPro adalah O(mn). Manakala untuk algoritma EkstrakPro
bersama algoritma jujukan pula, masa pengekstrakan bergantung pada tiga kes
seperti berikut :
1. Kes ideal
Kes ideal diperoleh sekiranya data hidrologi yang di ekstrak mempunyai
data-data jujukan dari permulaan fail. Ini bermakna proses perbandingan kata
kunci hanya akan dilakukan pada tiga baris pertama sahaja, manakala baris-baris
seterusnya akan dilakukan tanpa melakukan perbandingan. Notasi-O bagi kes
ideal adalah O(n).
2. Kes sederhana
Kes sederhanaan terjadi apabila data input yang digunakan mempunyai
header di permulaan fail. Ini menyebabkan proses perbandingan kata kunci
dilaksanakan pada setiap baris dan data dalam header sehingga algoritma
menjumpai data jujukan. Dengan beranggapan saiz header sebagai h, notasi-O
bagi kes sederhana adalah O(n)+h. Ini bermakna semakin besar saiz header
semakin lama proses pengekstrakan. Namun, sekiranya data jujukan adalah
bersaiz besar, maka penggunaan algoritma pengecaman jujukan akan membantu
mengurangkan masa pemprosesan walaupun fail input mempunyai data header.
3. Kes tidak ideal
Kes tidak ideal berlaku sekiranya algoritma tidak menjumpai sebarang data
jujukan dalam fail input. Ini menyebabkan masa pengekstrakan meningkat
kerana penambahan semakan daripada algoritma jujukan. Namun untuk
penyelidikan kali ini, sebagaimana yang telah dinyatakan dalam skop bahawa
51
data input yang digunakan adalah data hidrologi berjujukan, maka kes tidak ideal
tidak akan berlaku.
Ujian kedua menggunakan masa pengekstrakan maklumat, yang mana masa
pengekstrakan dikira bermula dari perbandingan kata kunci sehingga pemetaan
maklumat ke dalam pangkalan data. Set data ujian ketiga digunakan untuk tujuan
berbandingan. Daripada Rajah 5.2 didapati algoritma EkstrakPro yang menggunakan
penambahan algoritma pengecaman jujukan dapat mempercepatkan lagi masa
pengekstrakan. Untuk data yang bersaiz kecil iaitu kurang daripada 600 baris,
didapati masa pemprosesan tidak menunjukkan jurang yang besar. Namun untuk data
yang melebihi 1000 baris, jelas menunjukkan bahawa algoritma jujukan dapat
mempercepatkan masa pengekstrakan di antara 20% hingga 60%.
Rajah 5.2 : Perbandingan masa pengekstrakan dengan algoritma pengecam
jujukan dan tanpa algoritma pengecam jujukan
Dengan merujuk kepada Rajah 6.2 di atas, peningkatan masa pemprosesan
untuk algoritma EkstrakPro adalah secara eksponen. Ini kerana proses pengecaman
Masa (saat)
52
kata kunci perlu dilakukan untuk setiap data dalam fail input. Tetapi sekiranya
menggunakan algoritma pengekstrakan maklumat bersama algoritma pengecaman
jujukan, kadar penambahan masa dapat dipendekkan kerana data-data tidak perlu
dibandingkan dengan kata kunci setelah mengetahui corak jujukan fail input.
Pengujian ini dapat membuktikan penggunaan algoritma pengecaman jujukan
mampu mempercepatkan masa pengekstrakan terutamanya bagi data jujukan yang
bersaiz besar.
5.5 Kesimpulan
Daripada kedua-dua pengujian yang telah dijalankan, dapat disimpulkan
bahawa sistem EkstrakPro dapat meningkatkan ketahanan dan kepantasan proses
pengekstrakan maklumat hidrologi JPS. Ketahanan sistem EkstrakPro berjaya
membuktikan bahawa dengan penghasilan algoritma EkstrakPro yang berasaskan
ontologi dapat mengekstrak format data hidrologi yang berlainan (sama ada format
baru ataupun lama) dengan jayanya.
Apabila algoritma EkstrakPro digunakan bersama algoritma pengecaman
jujukan, masa pengekstrakan maklumat dapat dikurangkan sebanyak 20% hingga
60% bagi data yang bersaiz besar. Manakala bagi perbandingan dengan
menggunakan ukuran notasi-O pula adalah seperti berikut :
1. Algoritma EkstrakPro O(nm)
2. Algoritma EkstrakPro dengan algoritma
pengecaman jujukan bagi
o Kes Ideal O(n)
o Kes Sederhana O(n) + h
o Kes Tidak Ideal O(nm) + O(b)
53
Pengukuran notasi-O bagi kedua-dua algoritma ini jelas menunjukkan bahawa
algoritma EkstrakPro menggunakan algoritma pengecaman jujukan mempunyai
kiraan masa yang lebih rendah apabila keadaan kes adalah ideal dan sederhana.
54
BAB 6
KESIMPULAN
6.1 Pendahuluan
Penyelidikan ini telah membangunkan satu IE berasaskan ontologi bagi
domain hidrologi yang telah mengambil kira masalah di JPS sebagai kajian kes.
Kelemahan yang terdapat di dalam MHIS Dataload telah berjaya diselesaikan
dengan menggunakan IE berasaskan ontologi yang dikenali sebagai EkstrakPro.
Reka bentuk prototaip EkstrakPro yang diambil daripada kumpulan BYU telah
disesuaikan dengan domain hidrologi. Penambahbaikan yang dilakukan adalah
penyediaan ontologi pengekstrakan yang lebih sistematik dengan penggunaan UO.
Pengenalan algoritma pengecaman jujukan telah memberi impak yang besar ke atas
data hidrologi berjujukan, terutamanya bagi saiz data yang besar. Bab ini seterusnya
akan membincangkan kelebihan dan kelemahan ke atas penambahbaikan sistem
EkstrakPro yang telah dilakukan. Penambahbaikan untuk penyelidikan akan datang
turut disertakan.
6.2 Rumusan Keseluruhan Penyelidikan
IE berasaskan ontologi telah dibuktikan dapat mengekstrak data hidrologi
dengan baik. Jika sebelum ini IE berasaskan ontologi sering digunakan untuk
mengekstrak halaman web pelbagai domain, penyelidikan kali ini telah membuka
ruang bagi penggunaan IE berasaskan ontologi bagi domain hidrologi khusus untuk
data hidrologi berjujukan.
55
Ontologi pengekstrakan dibina secara manual dan dengan adanya UO,
pembinaan ontologi pengekstrakan akan lebih teratur. UO dapat membantu sekiranya
terdapat maklumat baru yang ingin di ekstrak. Rangka UO boleh ditambah bila-bil
masa ketika diperlukan tanpa mengkompil pengaturcaraan semula.
Ketepatan pengekstrakan juga berjaya dicapai kesan daripada algoritma
EkstrakPro yang tegar. Set kata kunci yang lengkap dan terperinci juga menyumbang
kepada ketepatan pengekstrakan data. Set kata kunci ini hanya dapat dihasilkan
daripada ontologi pengekstrakan yang lengkap. Spesifikasi yang tidak lengkap akan
menyebabkan pengekstrakan data yang tidak tepat. Penggunaan UO memudahkan
penyenggaraan kata kunci dilakukan dari masa ke semasa.
Algoritma EkstrakPro turut mempunyai ketahanan terhadap perubahan
struktur data. Ini kerana ianya menggunakan maklumat kata kunci dan tidak
menggunakan maklumat lajur, jarak dan baris. Pengenalan data yang hendak di
ekstrak adalah berdasarkan perkataan yang padan dengan kata kunci. Dengan
kelebihan ini, data yang di ekstrak tidak perlu melalui proses pre-cleaning yang
menyiah ralat struktur data.
Umumnya, perbandingan setiap perkataan di dalam data dengan kata kunci
akan menyebabkan masa pemprosesan yang perlahan. Bagi mendapatkan masa
pengekstrakan yang pantas, penulis telah menghasilkan algoritma pengecaman
jujukan. Algoritma ini akan mengecam corak rekod di dalam data. Jika data
mempunyai rekod yang berjujukan, langkah perbandingan perkataan dan kata kunci
tidak dilaksanakan di dalam setiap baris rekod. Perkataan yang sedia dikenal pasti
sebagai kata kunci daripada baris-baris sebelum akan di ekstrak tanpa memerlukan
perbandingan dengan kata kunci. Ini terbukti dengan pengujian yang dijalankan.
Pengekstrakan data dengan pengecam rekod jujukan menunjukkan masa
pemprosesan yang lebih baik berbanding pengekstrakan tanpa pengecam rekod
jujukan. Secara keseluruhannya, IE berasaskan ontologi bagi domain hidrologi telah
berjaya dihasilkan
56
6.3 Kebaikan dan kelemahan Kajian
Algoritma EkstrakPro yang dihasilkan mempunyai kelebihan berbanding
MHIS Dataload. Algoritma adalah lebih tahan atau tegar terhadap perubahan struktur
data. Ketahanan dapat dicapai dengan menggunakan pendekatan ontologi. IE
berasaskan ontologi menghasilkan set peraturan pengekstrakan daripada ontologi
pengekstrakan. Objek dan hubungan di dalam spesifikasi digunakan sebagai set
peraturan pengekstrakan. Set kata kunci yang dihasilkan daripada ontologi
pengekstrakan adalah faktor utama ketahanan algoritma.
Set kata kunci ini dihasilkan secara automatik dapat memansuhkan beban
pengguna mengemas kini peraturan pengekstrakan. Di samping mengendalikan
setiap jenis data hidrologi, algoritma juga dapat mengendalikan setiap jenis format
yang digunakan di JPS. Ini bermakna hanya satu algoritma digunakan bagi kerja
pengekstrakan data hidrologi JPS. Algoritma lebih praktikal digunakan berbanding
MHIS Dataload yang terdiri daripada 5 algoritma.
Oleh peraturan pengekstrakan berdasarkan set kata kunci dan bukan
berdasarkan maklumat struktur seperti baris dan lajur data. Masa pemprosesan
menjadi perlahan disebabkan algoritma melakukan perbandingan setiap perkataan di
dalam baris data. Berbeza dengan MHIS Dataload yang melakukan kerja
berdasarkan lajur yang dibaca. Melihat kepada langkah pengekstrakan, masa
pemprosesan MHIS Dataload ternyata lebih pantas daripada algoritma EkstrakPro.
Namun penyelidikan ini telah menghasilkan algoritma tambahan yang
dinamakan algoritma pengecaman jujukan bagi mengatasi masalah di atas. Hasil
pengujian di dalam Bahagian 5.4 telah menunjukkan penggunaan bersama
EkstrakPro dan algoritma pengecaman jujukan berjaya mengurangkan masa
pemprosesan algoritma EkstrakPro.
Algoritma EkstrakPro memerlukan ontologi pengekstrakan berlainan
sekiranya digunakan ke atas bidang yang berbeza. Ini adalah satu kelemahan di
57
dalam IE berasaskan ontologi. Sebagai contoh, algoritma yang menggunakan
ontologi pengekstrakan bidang data hidrologi tidak dapat mengekstrak data daripada
bidang jualan kereta kerana kata kunci yang digunakan berbeza.
6.4 Penambahbaikan
Penyelidikan telah mencapai matlamat di dalam menyelesaikan beban
penyenggaraan pengekstrakan data MHIS dengan menghasilkan IE berasaskan
ontologi. Walaupun EkstrakPro menunjukkan hasil yang memuaskan, namun masih
terdapat ruang pembaikan yang boleh dilaksanakan. Pendekatan berasaskan ontologi
memerlukan ontologi pengekstrakan yang dihasilkan secara manual. Kerja-kerja
manual memerlukan seseorang yang mahir di dalam bidang tumpuan dan risiko ke
atas kerja manual adalah kesilapan individu. Oleh kerana ketepatan pengekstrakan
berkait langsung dengan terperincinya ontologi pengekstrakan, maka kerja ini wajar
dilakukan secara automatik.
6.5 Penutup
Secara keseluruhannya laporan ini telah mengkaji kaedah pengekstrakan data
daripada fail teks. Berdasarkan keputusan pengujian ke atas algoritma, pendekatan
berasaskan ontologi yang diperkenalkan oleh kumpulan BYU, sesuai digunakan di
dalam menyelesaikan masalah beban penyenggaraan pengekstrakan data MHIS
dengan penambahan UO dan algoritma pengecaman jujukan. Secara keseluruhannya,
penyelidikan telah berjaya mencapai matlamat dan juga objektif kajian.
58
BIBLIOGRAFI
Abiteboul, S. (1997). Querying semi-structured data. In Database Theory, 6th
International Conference. January 8-10. Greece. 1-18.
Adelberg, B.(1998). NoDoSE: A Tool for Semi-Automatically Extracting Structured
and Semi-Structured Data from Text Documents. SIGMOD Record 21(2): 283-294.
Arocena, G.O. and Mendelzon, A, O. (1998). WebOQL: Restructuring Documents,
Databases and Webs. In Proceedings of the 14th IEEE International Conference on
Data Engineering. Florida. 24-33.
Azmi Jafri (2002). Arahan Kerja: Pemungutan data Hidrologi. Technical Report.
UPMBH-PK(AK)-01
Baumgartner, R., Sergio, F., Georg G. (2001). Visual Web information extraction
with Lixto. In Proceedings of the 26th International Conference on Very Large
Database Systems.119-128.
Brian, S., Rajeev M., Lawrence P., Terry W. (1998). What can you do with a Web in
your pocket? Data Engineering Bulletin 21(2): 27-47.
Buneman, P. (1997). Semi structure Data. In Proceedings of the 16th ACM SIGACT-
SIGMOD-SIGART Symposium on Principles of Database Systems. Arizona. 117-
121.
Califf, M. E. and Mooney, R. J.(1999). Relational learning of Pattern-Match Rules
for
Information Extraction. In Proceedings of 16th National Conference on Artificial
Intelligence and 11th Conference on Innovative Applications of Artificial
Intelligence.
. 328-334.
59
Cocchiarella, N.B. (1991). Formal Ontology. Handbook of Metaphysics and
Ontology. Munich.
Crescenzi, V. and Mecca, G. (1998) Grammars Have Exceptions. Information System
23(8). 539-565.
Crescenzi, V., Giansalvatore, M., Paolo, M. (2001). RoadRunner: Towards
Automatic Data Extraction from Large Web Sites. In Proceedings of the 26th
International Conference. Italy. 109-118.
Embley D. W., Barry D. K, Scott N. W. (1992). Object oriented Systems Analysis: A
Model-Driven Approach. Prentice Hall, Englewood, New Jersey.
Embley D. W., Douglas M. C., Stephen W. L., Randy D. S.(1998). Ontology-based
extraction and structuring of information from data-rich unstructured documents. In
Proceedings of the 7th International Conference on Information and Knowledge
Management (CIKM’98), pages 52–59.
Florescu, D., Alon Levy, Alberto Mendelzon (1998). Database techniques for the
World-Wide Web: A Survey. SIGMOD Record: 27(3). 59-74.
Freitag, D. (2000). Machine learning for information in Informal Domains. Machine
Learning 2/3. 162-2002.
Golgher, P. B., Altigran S. da Silva., Alberto H. F. Laender, Berthier Ribeiro-Neto
(2001). Bootstrapping for Example-Based Data Extraction. In Proceedingof the 10th
ACM International Conference on Information and Knowledge Management.
Georgia.
Guarino, N. (1998). Some Ontological Principles for Designing upper level lexical
resources. Proceeding of the first Iternational conference on lexical resources and
evaluation. Granada.
60
Hammer, J., H. Garcia, M., S. N., R. Yerneni, M. M. Breunig, and V. V. (1997).
Template-Based Wrappers in the TSMMIS System. SIGMOD Record:
26(2). 532-535.
Hammer, J. (1997). The TSIMMIS Experience. In Proceedings of the First East-
European Symposium on Advances in Databases and Information Systems. Rusia. 1-
8.
Hsu, C. n. and Dung, M. T. (1998). Generating Finite-State Transducers for Semi-
Structured Data Extraction from the web. Information Systems 23(8). 521-538.
Huck, G., Peter F., Karl A., Erich N. (1998). jedi: Extracting and Synthesizing
Information from the web. In Proceeding of the 3rd IFCIS International Conference
on cooperative Information Systems. New York. 32-43.
Hwang, C.H. (1999). Incompletely and Imprecisely Speaking: Using Dynamic
Ontologies for representing and retrieving information. Proceeding of 6th
international workshop on knowledge representation meets databases,
KRDB’99.Sweden.
Jabatan Pengairan dan Saliran Malaysia. (2001a). Malaysian Hydrological
Information System, Final Report. Vol 1. Technical Report
Jabatan Pengairan dan Saliran Malaysia. (2001b). Malaysian Hydrological
Information System, Final Report. Vol 2. Technical Report
Jabatan Pengairan dan Saliran Malaysia. (2001c). Malaysian Hydrological
Information System, Final Report. Vol 3. Technical Report
Jabatan Pengairan dan Saliran Malaysia. (2001d). Malaysian Hydrological
Information System, Final Report. Vol 4. Technical Report
Kushmerick, N. (2000). Wrapper Induction: Efficiency and Expressiveness. Artificial
Intelligence Journal 118(1/2): 15-68.
61
Laender, A.H.F, Berthier, A, Ribeiro-Neto, da Silva, Altigran Soares (2001). DEByE
– data Extraction by Example. Data and Knowledge Engineering.
Laender, A. H. F (2000). Representing Wed Data as Complex Objects. In Electronic
Commerce and Web technologies. Berlin. 216-228.
Lopez, F. M.(1999). Overview of Methodologies for Building Ontologies. Proceeding
of IJCAI-99 Workshop on Ontologies and Problem Solving Method. Stockholm.
Mecca, G., Atzeni, P., Masci, A., Merialdo, P., Sindoni, G (1998). The ARANEUS
Web-base management System. SIGMOD
Record: 27(2). 544-546.
Muslea, I. (1999). Extraction Pattern for Information Extraction tasks: A survey. In
Proceeding of the AAAI-99 Workshop on Machine Learning for Information
Extraction. Florida. 1-6.
Muslea, I., Steven Minton, Craig A. Knoblock (2001). Hierarchical Wrapper
Induction for Semi-structured Information Sources. Autonomous Agents and Multi-
Agent. 4(1/2).
Ribeiro-Neto, B. A. (1999). Extracting Semi-Structured Data Through Examples. In
Proceeding of the 8th ACM International Conference on Information and Knowledge
management. Missouri. 94-101.
Reich, J.R.(1999). Ontological Design Patterns for The Integration of Molecular
Biological Information. Proceeding of German Conference on Bioinformatic
GCB’99.October Hannover. 156-166.
Sahuguet, A. and Azavant F. (2001). Building Intelligent Web Application using
Lightweight wrappers. Data and Knowledge Engineering 36(3): 283-316.
62
Soderlan, S. (1999). Learning Information Extraction Rules for Semi-Structure and
Free Text. Machine Learning 24 (1/3): 233-272.
Uschold, M., Gruninger, M.(1996). Ontologies: Principles, Method and Application.
Knowledge Engineering Review 11(2). 93-155.
Xiaoying, G. and Mengjie, Z. (2004). A Knowledge Learning Approach
toInformation Extraction From Multiple Text Based Web Site. International Jurnal
On Artificial Intelligence Tools. Vol.13, No.3:721-738.
Youn, C.(1992) .Data Migration. Proceedings of the IEEE International Conference
on Systems, Man, and Cybernetics, Chicago, Illinois, USA, Volume 2, pages 1255-
1258.
62
LAMPIRAN A
Contoh rangka unit objek bagi stesen ID
Rangka : Stesen_Id
Nombor Unit Objek :1
Bilangan item leksikel : 1
No. Sub-rangka : 1
Style : number
Pattern No: 1
Fungsi corak : Sebarang_digit
Mak : 9999999
Min : 0000000
Contoh unit objek stesen_id jenis “1632301”
Rangka : Stesen_Id
Nombor Unit Objek :2
Bilangan item leksikel : 3
No. Sub-rangka : 1
Style : number
Pattern No: 1
Fungsi corak : Sebarang_digit
Mak : 9999999
Min : 0000000
No. Sub-rangka : 2
Style : frasa
Intances : [ “site” ]
No. Sub-rangka : 3
Style : char
Intances : [ “ ” ]
Contoh unit objek stesen_id jenis “site 1732001”
Rangka : Stesen_Id
Nombor Unit Objek :3
Bilangan item leksikel : 2
No. Sub-rangka : 1 No. Sub-rangka : 2
63
Style : number
Pattern No: 1
Fungsi corak : Sebarang_digit
Mak : 9999999
Min : 0000000
Style : frasa
Intances : [ “SA”, “-R” ]
Contoh unit objek stesen_id jenis “SA-R4815001”
64
LAMPIRAN B
Contoh rangka unit objek bagi tarikh cerapan
Rangka : Tarikh_cerapan
Nombor Unit Objek : 1
Bilangan item leksikel : 5
No. Sub-rangka : 1
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 2111
Min : 1960
No. Sub-rangka : 2
Style : char
Intances : [ “”]
No. Sub-rangka : 3
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 12
Min : 01
No. Sub-rangka : 4
Style : char
Intances : [ “”]
No. Sub-rangka : 5
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 31 Min : 01
Contoh unit objek tarikh_cerapan jenis “20000104”
Rangka : Tarikh_cerapan
Nombor Unit Objek : 2
Bilangan item leksikel : 6
No. Sub-rangka : 1
Style : frasa
Intances : [ “SRD-” , “ERD-”]
No. Sub-rangka : 2
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
65
Max : 31
Min : 01
No. Sub-rangka : 3
Style : char
Intances : [ “/”]
No. Sub-rangka : 4
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 12
Min : 01
No. Sub-rangka : 5
Style : char
Intances : [ “/”]
No. Sub-rangka : 6
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 2111
Min : 1960
Contoh unit objek tarikh_cerapan jenis “SRD-10/01/2002” dan “ERD-27/03/2002”
Rangka : Tarikh_cerapan
Nombor Unit Objek : 1
Bilangan item leksikel : 5
No. Sub-rangka : 1
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 31
Min : 01
No. Sub-rangka : 2
Style : char
Intances : [ “-”]
No. Sub-rangka : 3
Style : frasa
Intances : [ “JAN” , “FEB” , “MAR” ,
“APR” , “MAY” , “JUN” , “JUL” ,
“AUG” , “SEP” , “OCT” , “NOV” ,
“DEC” ]
No. Sub-rangka : 4
Style : char
Intances : [ “-”]
66
No. Sub-rangka : 5
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 2111
Min : 1960
Contoh unit objek tarikh_cerapan jenis “31-DEC-2003” dan “1-JAN-2001”
67
LAMPIRAN C
Contoh rangka unit objek bagi masa cerapan
Rangka : Masa_cerapan
Nombor Unit Objek : 1
Bilangan item leksikel : 3
No. Sub-rangka : 1
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 23
Min : 00
No. Sub-rangka : 2
Style : char
Intances : [ “:”]
No. Sub-rangka : 3
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 59
Min : 00
Contoh unit objek masa_cerapan jenis “09:25”, “22:45”,”00:11”
Rangka : Masa_cerapan
Nombor Unit Objek : 1
Bilangan item leksikel : 4
No. Sub-rangka : 1
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 12
Min : 00
No. Sub-rangka : 2
Style : char
Intances : [ “:”]
No. Sub-rangka : 3
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
No. Sub-rangka : 4
Style : frasa
Intances : [ “am” , “pm”]
68
Max : 59
Min : 00
Contoh unit objek masa_cerapan jenis “8:00:00am”,”3:45:10pm”
Rangka : Masa_cerapan
Nombor Unit Objek : 3
Bilangan item leksikel : 3
No. Sub-rangka : 1
Style : frasa
Intances : [ “SRT-” , “ERT-”]
No. Sub-rangka : 2
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 23
Min : 00
No. Sub-rangka : 3
Style : char
Intances : [ “:”]
No. Sub-rangka : 4
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 59
Min : 00
No. Sub-rangka : 5
Style : char
Intances : [ “:”]
No. Sub-rangka : 6
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 59
Min : 00
Contoh unit objek masa_cerapan jenis “SRT-14:30:15”,”ERT-16:21:52”
Rangka : Masa_cerapan
Nombor Unit Objek : 4
Bilangan item leksikel : 5
No. Sub-rangka : 1
Style : digit
Pattern No: 1
No. Sub-rangka : 2
Style : char
Intances : [ “”]
69
Fungsi corak : sebarang_digit
Max : 23
Min : 00
No. Sub-rangka : 3
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 59
Min : 00
No. Sub-rangka : 4
Style : char
Intances : [ “”]
No. Sub-rangka : 5
Style : digit
Pattern No: 1
Fungsi corak : sebarang_digit
Max : 59
Min : 00
Contoh unit objek masa_cerapan jenis “122504”, “151722”
~~~ NIWA Tideda ~~~ JPS Hydrology and Water Resources Division 22-MAY-2003 12:30 ~~~ LIST ~~~ Source is Selangor.mtd Site 3516424 Sg. Selangor at Empang Pecah, Selangor 1 Item INSTANT From 20030204 113000 to 20030305 130000 Stage Date Time mm. *** GAP *** 113000 50080 20030204 160611 50083 20030204 180316 50085 20030204 135505 50078 20030205 170112 50078 20030205
~~~ NIWA Tideda ~~~ JPS Hydrology and Water Resources Division 22-MAY-2003 12:30 ~~~ LIST ~~~ Source is Selangor.mtd Site 3516424 Sg. Selangor at Empang Pecah, Selangor 1 Item INSTANT From 20030204 113000 to 20030305 130000 Stage Date Time mm. *** GAP *** 113000 50080 160611 50083 180316 50085 135505 50078 170112 50078 22235 50075
~~~ NIWA Tideda ~~~ JPS Hydrology and Water Resources Division 22-MAY-2003 12:30 ~~~ LIST ~~~ Source is Selangor.mtd Site 3516424 Sg. Selangor at Empang Pecah, Selangor 1 Item INSTANT From 20030204 113000 to 20030305 130000 Stage Date Time mm. *** GAP *** 50080 113000 20030204 50083 160611 20030204 50085 180316 20030204 50078 135505 20030205 50078 170112 20030205 50075 22235 20030206 50075 205320 20030206