TESIS SISTEM QUESTION ANSWERING SEDERHAN

TESIS

SISTEM QUESTION ANSWERING SEDERHANA BERBASIS

ONTOLOGI SEBAGAI APLIKASI WEB SEMANTIK ONTOLOGY-BASED SIMPLE QUESTION ANSWERING SYSTEM AS A SEMANTIC WEB APPLICATION

Reginaldus Kristoforus Jawa Bendi 07/259608/PPA/2252 PROGRAM STUDI ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2010

TESIS SISTEM QUESTION ANSWERING SEDERHANA BERBASIS ONTOLOGI SEBAGAI APLIKASI WEB SEMANTIK ONTOLOGY-BASED SIMPLE QUESTION ANSWERING SYSTEM AS A SEMANTIC WEB APPLICATION

Diajukan untuk memenuhi salah satu syarat memperoleh derajat Magister Ilmu Komputer

Reginaldus Kristoforus Jawa Bendi 07/259608/PPA/2252 PROGRAM STUDI S2 ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2010

PERNYATAAN

Dengan ini saya menyatakan bahwa dalam tesis ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka.

Yogyakarta, 10 Desember 2009 Yang membuat pernyataan

Reginaldus Kristoforus Jawa Bendi

PRAKATA

Puji syukur penulis haturkan kepada Allah Yang Maha Pengasih, karena atas rahmat dan karuniaNya penulisan tesis ini dapat terselesaikan.

Dalam kesempatan ini, penulis ingin mengucapkan terima kasih kepada Drs. Retantyo Wardoyo, M.Sc., Ph.D., dan Drs. Edi Winarko, M.Sc., Ph.D., selaku pengelola dan wakil pengelola program Pascasarjana Ilmu Komputer. Kepada para dosen program S2 Ilmu Komputer, terima kasih atas kuliah-kuliahnya yang telah memperkaya wawasan penulis. Dan juga kepada para staf administrasi, Bu Rini dan Pak Sugeng, terima kasih atas kesabaran dan pelayanannya yang tulus.

Secara khusus penulis mengucapkan terima kasih yang sangat mendalam dan penghargaan yang yang setinggi-tingginya kepada Dr.techn. Khabib Mustofa, S.Si., M.Kom., atas bimbingannya selama penulisan tesis ini dan terutama atas kuliah-kuliah beliau yang memberikan inspirasi, sehingga penulis memiliki keberanian mengangkat semantic web sebagai topik tesis. Terima kasih banyak pak Khabib.

Kepada Heri Setiawan, S.T., M.T., dan Rm. Yohanes Samiran, ketua STT Musi dan ketua yayasan Musi, terima kasih telah memberikan ijin studi lanjut bagi penulis. Kepada rekan-rekan dosen STT Musi yang telah memberikan dorongan semangat dan doa, terima kasih banyak.

Untuk keluarga tercinta, para orang tuaku, Bapa Eman dan Mama Maxi, Ba’ Abdulah dan Mbo’ Saenah, saudara-saudaraku Rin dan Yoseph, Ayuk-ayukku Mami, Mis, Sus, Erni, Rika, saudaraku Dinnul dan Wiki, sahabatku Titin, terima kasih yang mendalam atas dukungan moril dan materi, kesabaran dan doa yang luar biasa bagiku. Semoga semuanya terbalaskan oleh Allah Yang Maha Kuasa.

Kepada teman-teman seperjuangan, Arie, Tasrif, Hedri, Sariadin, Vincen, Roni, Jo, Parasian, Muliadi, Niken, dan teman-teman lainnya yang tidak dapat disebutkan satu persatu, terima kasih telah menemani penulis dalam suka duka selama kuliah. Tidak lupa kepada Yanie, Wawan dan Rita, atas bantuannya di saat-saat akhir, terima kasih kawan.

Penulis berusaha semampunya untuk memberikan kontribusi terbaik melalui tesis ini. Meskipun demikian masih banyak kekurangan dalam tesis ini. Saran dan kritik sangat diharapkan demi penyempurnaan karya ini. Akhir kata, semoga bermanfaat bagi semua. Terima kasih.

Yogyakarta, 15 Oktober 2009

Penulis

INTISARI

Informasi telah menjadi suatu kebutuhan bagi masyarakat modern. Namun peningkatan volume informasi yang sangat pesat, menyebabkan mesin-mesin pencari yang tersedia saat ini tidak mampu menyediakan informasi yang secara spesifik dibutuhan oleh pengguna. Sistem question answering berbasis ontologi sebagai perpaduan antara teknologi question answering dan semantic web dipandang sebagai salah satu cara untuk mengatasi masalah tersebut.

Penelitian ini bertujuan untuk membangun sebuah sistem question answering sederhana berbasis ontologi sebagai sebuah aplikasi semantic web. Domain dari sistem ini adalah informasi mengenai film. Bahasa alami yang digunakan dalam sistem ini adalah bahasa Indonesia.

Aplikasi semantic web dibangun dengan menggunakan Java Server Pages sebagai antarmuka pengguna dengan sistem, Web Ontology Language sebagai bahasa untuk merepresentasikan basis pengetahuan, JENA ontology API sebagai antarmuka sistem dengan ontologi. Hasil penelitian menunjukkan bahwa 96,7% pertanyaan dapat dijawab dengan tepat oleh sistem.

Kata kunci: question answering, semantic web, ontology

ABSTRACT

Information has became a need for modern society. But, the rapidly increasing of information volume, caused the search engines unable to provide specific information that is needed by user. An ontology-based question answering system as an intersection of question answering technology and semantic web technology is viewed as the one of solution for this problem.

The objective of this research is to build an ontology-based simple question answering as a semantic web application. Domain of this system is informations about movie. The natural language is used in this system is bahasa Indonesia.

Semantic web application is developed by using Java Server Pages as an user interface, Web ontology language for representing knowledge based, JENA ontology API as an ontology interface. The result shows that 96,7% of questions were handled correctly by this system.

Keyword: question answering, semantic web, ontology

BAB I PENDAHULUAN

1.1. Latar Belakang

Informasi telah menjadi bagian terpenting dari berbagai aktivitas masyarakat modern. Perkembangan teknologi Internet dan Web yang demikian pesat mengakibatkan sumber-sumber informasi menjadi semakin banyak dan beragam. Bahkan saat ini Web telah menjadi suatu kebutuhan, baik itu digunakan untuk melakukan transaksi bisnis, komunikasi, penyebaran informasi, maupun pencarian informasi.

Kehadiran mesin-mesin pencari (search engines) seperti Google (www.google.com), Yahoo (www.yahoo.com), Altavista (www.altavista.com) dan sebagainya, memberikan kemudahan untuk mencari dan menemukan informasi di Web. Namun seiring perkembangannya yang sangat pesat, saat ini terdapat milyaran dokumen Web. Peningkatan volume informasi yang sangat besar ini justru menambah kesulitan untuk menemukan, mengelola, mengakses dan memelihara informasi yang dibutuhkan. Penyebab utama timbulnya kesulitan tersebut terutama karena makna informasi yang terdapat dalam dokumen web (web content), hanya dapat dipahami oleh manusia namun tidak dapat dipahami oleh mesin, sehingga mesin tidak mampu menginterpretasikan informasi apa yang dibutuhkan atau dicari oleh manusia. Hal ini mengakibatkan dokumen-dokumen yang tidak relevan pun disertakan sebagai hasil pencarian (search result). Dan seringkali terjadi bahwa dokumen-dokumen yang relevan justru tidak terindeks Kehadiran mesin-mesin pencari (search engines) seperti Google (www.google.com), Yahoo (www.yahoo.com), Altavista (www.altavista.com) dan sebagainya, memberikan kemudahan untuk mencari dan menemukan informasi di Web. Namun seiring perkembangannya yang sangat pesat, saat ini terdapat milyaran dokumen Web. Peningkatan volume informasi yang sangat besar ini justru menambah kesulitan untuk menemukan, mengelola, mengakses dan memelihara informasi yang dibutuhkan. Penyebab utama timbulnya kesulitan tersebut terutama karena makna informasi yang terdapat dalam dokumen web (web content), hanya dapat dipahami oleh manusia namun tidak dapat dipahami oleh mesin, sehingga mesin tidak mampu menginterpretasikan informasi apa yang dibutuhkan atau dicari oleh manusia. Hal ini mengakibatkan dokumen-dokumen yang tidak relevan pun disertakan sebagai hasil pencarian (search result). Dan seringkali terjadi bahwa dokumen-dokumen yang relevan justru tidak terindeks

Untuk mengatasi kesulitan tersebut, dibutuhkan suatu mekanisme yang memampukan komputer memahami makna informasi yang dicari. Dengan kata lain, dibutuhkan suatu cara agar informasi dalam suatu dokumen Web dapat dibaca dan dipahami oleh mesin (machine understandable). Web dengan kemampuan demikian, seolah-olah memiliki kecerdasan yang sanggup memberikan jawaban yang tepat terhadap pertanyaan atau kebutuhan para penggunanya.

Semantic web (SW) yang dipelopori oleh Tim Berners-Lee, merupakan suatu cara untuk merepresentasikan web content dalam bentuk yang dapat dipahami dan diproses oleh mesin. Dengan kata lain, SW mengindikasikan bahwa makna data (the meaning of data) pada web dapat dipahami, baik oleh manusia maupun oleh komputer.

Inti dari sebuah aplikasi SW adalah pemanfaatan ontologi untuk merepresentasikan basis pengetahuan dan sumberdaya web. Ontologi menghubungkan simbol-simbol yang dipahami manusia dengan bentuknya yang dapat diproses oleh mesin, dengan demikian ontologi menjembatani kesenjangan antara manusia dan mesin.

Salah satu cara untuk menemukan informasi yang diinginkan adalah dengan memanfaatkan sistem Question Answering (QA). Sebuah sistem QA, menerima query dalam bentuk pertanyaan dengan bahasa alami, mencari jawaban pada sekumpulan dokumen atau pada basis pengetahuan dari sebuah domain, Salah satu cara untuk menemukan informasi yang diinginkan adalah dengan memanfaatkan sistem Question Answering (QA). Sebuah sistem QA, menerima query dalam bentuk pertanyaan dengan bahasa alami, mencari jawaban pada sekumpulan dokumen atau pada basis pengetahuan dari sebuah domain,

1.2. Rumusan Masalah

Berdasarkan latar belakang yang telah dikemukakan, permasalahan yang menjadi fokus penelitian ini adalah bagaimana membangun sebuah sistem QA sederhana berbasis ontologi sebagai sebuah aplikasi SW.

1.3. Batasan Masalah

Mengingat adanya berbagai keterbatasan dan untuk menghindari kompleksitas yang mungkin timbul selama penelitian berlangsung, diberikan batasan-batasan dalam penelitian ini, yakni:

1. Domain masalah dalam penelitian ini dibatasi pada informasi film.

2. Informasi film yang dimaksud adalah artibut-atribut yang terkait dengan sebuah film, misalnya judul film, sudtradara, aktor, dan sebagainya

3. Informasi film yang digunakan bersumber pada Internet Movie Database (IMDB, www.imdb.com).

4. Model ontologi informasi film dibangun dengan menggunakan bahasa OWL (Web Ontology Language) dan Protégé (ontology editor).

5. Sistem QA sederhana dibangun untuk memroses kalimat pertanyaan dalam bahasa Indonesia.

6. Klasifikasi kalimat pertanyaan dibatasi pada pertanyaan-pertanyaan yang bersifat faktual.

7. Aplikasi SW yang dikembang berupa aplikasi pencarian menggunakan teknologi Java Server Pages (JSP), Jena Ontology API dan SPARQL.

1.4. Tujuan Penelitian

Penelitian ini bertujuan untuk menjawab permasalahan yang telah dikemukakan pada rumusan masalah, yakni membangun sebuah sistem QA sederhana berbasis ontologi sebagai sebuah aplikasi SW.

1.5. Manfaat Penelitian

Beberapa manfaat yang diharapkan dari hasil penelitian ini adalah sebagai berikut.

1. Bagi perkembangan ilmu, khususnya di bidang teknologi SW dan teknologi QA, penelitian ini diharapkan dapat memberikan kontribusi empiris mengenai bagaimana membangun dan mengembangkan sistem QA sederhana dan ontologi untuk sebuah domain tertentu, dan bagaimana membangun sebuah aplikasi pencarian berbasis SW.

2. Bagi para pengembang web dan pengembang sistem, penelitian ini diharapkan memberikan wawasan tentang pemanfaatan teknologi SW dan teknologi QA untuk mengembangkan sebuah sistem berbasis web.

3. Bagi para peneliti di bidang SW dan teknologi QA, penelitian ini diharapkan dapat menjadi acuan bagi penelitian lanjutan yang lebih kompleks.

1.6. Tinjauan Pustaka

Sebuah sistem QA, menerima query dalam bentuk pertanyaan dengan bahasa alami, mencari jawaban pada sekumpulan dokumen atau pada sebuah basis pengetahuan, mengekstraknya dan kemudian memformulasikan jawaban yang

ringkas (Moldovan & Surdeanu, 2003). Umumnya sistem QA terdiri atas tiga modul utama, yakni question processing, document retrieval dan answer processing . Kebanyakan sistem QA mengelompokan pertanyaan berdasarkan jenis pertanyaannya (Cooper & Ruger, 2000; Moldovan & Surdeanu, 2003; Perez- Coutino et al, 2004; Gunawan & Lovina, 2006; Wijono et al, 2006; August, 2007; Kangavari et al, 2008; Cheng-Lung et al, 2008). Jika jenis pertanyaan dapat ditentukan maka jenis jawabannya dapat ditentukan pula. Dimisalkan, jenis pertanyaannya adalah ”Siapa…” , maka jawaban yang diinginkan adalah orang atau organisasi. Jika pertanyaannya “Kapan…” jawaban yang diinginkan adalah waktu atau tanggal.

Web dengan milyaran informasi yang sangat beragam dan tak terstruktur dipandang sebagai sumber informasi yang bernilai. Walaupun saat ini tersedia banyak mesin pencari, namun mereka tidak mampu memberikan informasi yang spesifik yang diinginkan pengguna. Pemanfaatan teknologi QA pada web bertujuan untuk mengatasi masalah tersebut. Teknologi QA diharapkan dapat menjadi antarmuka yang lebih intuitif untuk memformulasikan pertanyaan dan memberikan jawaban dalam bahasa alami daripada mengembalikan sekumpulan dokumen web yang terurut berdasarkan ranking (Moldovan & Surdeanu, 2003; Perez-Coutino et al, 2004; McGuinness, 2004; Lopez et al, 2005).

Penelitian-pelitian yang terkait dengan sistem QA pada SW telah banyak dilakukan. Katz et al (2002) menyebutkan bahwa terdapat peluang sinerjik antara teknologi bahasa alami dan SW, yakni sebuah sistem QA yang mampu memberikan informasi yang relevan dari sebuah basis pengetahuan berbasis Penelitian-pelitian yang terkait dengan sistem QA pada SW telah banyak dilakukan. Katz et al (2002) menyebutkan bahwa terdapat peluang sinerjik antara teknologi bahasa alami dan SW, yakni sebuah sistem QA yang mampu memberikan informasi yang relevan dari sebuah basis pengetahuan berbasis

Ide ini diwujudkan dengan mengadopsi triple-based data model (misalnya RDF) sebagai basis pengetahuan pada sistem QA (Katz et al, 2002; Lopez et al, 2005; Lopez, et al, 2006; Litkowski, 2003). Hal ini didasarkan pada pertimbangan bahwa terdapat kemungkinan untuk merepresentasikan sebuah query berbasis bahasa alami ke dalam bentuk triple, yang dalam hal ini berbentuk subyek, predikat dan obyek dari sebuah kalimat. Sementara pemodelan data dalam SW dengan menggunakan RDF (Resource Description Framework) juga menyatakan sebuah statement dalam bentuk triple: resources, properties,dan value.

Untuk mentransformasikan pertanyaan bahasa alami ke sebuah bentuk query formal digunakan metoda-metoda yang diadopsi dari teknologi Natural Language Processing (NLP), Information Retrieval (IR) dan Information Extraction (IE). Beberapa metoda yang sering digunakan adalah named-entity recognition dan entity relation recognition. Dalam kaitannya dengan representasi pengetahuan dalam sebuah ontologi, named-entity dapat dipandang sebagai sebuah instance atau kelas atau value dari sebuah properti dan entity relation dapat dipandang sebagai sebuah properti.

Kecenderungan penelitian-penelitan QA yang dilakukan saat ini mengarah pada open domain QA yang berbasis pada sejumlah besar dokumen pada web. Berbeda dengan kecenderungan tersebut, beberapa penelitian berfokus pada restricted domain (Lopez et al, 2005; Frank et al, 2004; Atzeni et al, 2004; Litkowski, 2003; Gunawan & Lovina, 2006; August, 2007; Cooper & Ruger,

2000; Kangavari et al, 2008). Pemilihan restricted domain didasarkan pada beberapa alasan, antara lain, pertama, eksploitasi informasi pada dokumen web sering dihadapkan pada masalah reliabilitas informasi tersebut. Dapat saja terjadi bahwa informasi yang diberikan telah kedaluwarsa atau bahkan sepenuhnya salah. Kedua , pemanfaatan pengetahuan formal pada restricted domain dapat meningkatkan keakuratan sistem QA, karena baik pertanyaan maupun jawabannya dianalisis berdasarkan basis pengetahuan tersebut. Ketiga, sangat dimungkinkan bahwa sebuah institusi memiliki dan mengelola basis pengetahuan yang sifatnya terbatas dan hanya dipergunakan dalam lingkup institusi tersebut.

McGuinness (2004) menyebutkan bahwa penggunaan teknologi SW dapat meningkatkan kinerja sebuah sistem QA. Hal itu dapat dilakukan dengan cara memanipulasi konten (basis pengetahuan), memanipulasi query atau memanipulasi jawaban. Pada umumnya sistem QA pada web, mengekstrak jawaban dari sekumpulan dokumen yang tidak terstruktur. Pada restricted domain, penggunaan basis pengetahuan yang terstruktur sangat dimungkinkan karena ukuran basis pengetahuannya yang cenderung lebih kecil dan stabil (Frank et al, 2004) dibandingkan dengan basis pengetahuan pada open domain. Dengan basis pengetahuan yang terstruktur (misalnya ontologi), sistem dapat menurunkan lebih banyak makna dan dapat memanfaatkan domain dan range pada slot untuk mengecek konsistensi informasi (McGuinness, 2004).

Sejauh ini terdapat sejumlah penelitian mengenai sistem QA yang menggunakan bahasa Indonesia (Wijono et al, 2006; Larasati & Manurung, 2007; August, 2007; Mahendra et al, 2008). Sebagai bahasa kenegaraan yang resmi, Sejauh ini terdapat sejumlah penelitian mengenai sistem QA yang menggunakan bahasa Indonesia (Wijono et al, 2006; Larasati & Manurung, 2007; August, 2007; Mahendra et al, 2008). Sebagai bahasa kenegaraan yang resmi,

Tabel 1.1 Penelitian-penelitian yang terkait

Bahasa alami No.

Domain yang

digunakan 1 Lopez et al , 2005 QA & SW

pengetahuan

Ontology Resricted: Inggris

academic life

2 Frank et al , 2005 QA & SW

nobel prize winner 3 Atzeni et al ,

Database

Ontology Restricted: academic Italia, 2004

QA & SW

Denmark 4 Litkowski, 2003

life

QA & SW

Ontology Restricted: Inggris english news text

5 Katz et al , 2002

Inggris 6 Perez-Coutino et QA & SW

QA & SW

Ontology Open

Spanyol al , 2004

Ontology Open

7 Lopez et al , 2006 QA & SW

free text

8 Gunawan &

Inggris Lovina, 2006

QA

Free text

Restricted:

World english bible 9 Cooper & Ruger, QA

Inggris 2000

Free text

Restricted:

financial news

10 Wijono et al ,

Indonesia 2006

QA

Free text

Open

11 Larasati &

Indonesia Manurung, 2007

QA

Free text

Open

12 Mahendra et al ,

Indonesia 2008

QA

Free text

Open

13 Kangavari et al ,

Inggris 2008

QA & SW

Free text &

Restricted:

weather information 14 Damljanovic et

Ontology

Inggris al , 2008

QA & SW

Ontology Open

15 Hoojung et al ,

Database Restricted: Inggris 2004

QA & DBMS

weather information 16 Cheng-Lung et

Inggris, Cina al , 2008

QA

Free text

Free text

Rerstricted: Alkitab Indonesia

Tabel 1.1 memperlihatkan penelitian-penelitian sebelumnya yang terkait dengan penelitian yang akan dilakukan. Kesamaannya terletak pada pemanfaatan teknologi QA dan SW serta cara merepresentasikan basis pengetahuan (ontology), sedangkan perbedaannya terletak pada domain penelitian dan bahasa alami yang digunakan pada sistem QA. Apabila dibandingkan dengan penelitian-penelitian sistem QA yang menggunakan bahasa Indonesia, perbedaan utamanya terletak pada pemanfaatan teknologi SW, cara merepresentasikan basis pengetahuan dan domain penelitian.

1.7. Keaslian Penelitian

Penelitian-penelitian yang terkait dengan teknologi SW dan teknologi QA telah banyak dilakukan. Untuk memastikan keaslian penelitian ini, telah dilakukan serangkaian penelusuran terhadap penelitian-penelitian sebelumnya yang terkait dengan topik penelitian ini. Penelusuran secara manual dilakukan pada perpustakaan Magister Ilmu Komputer UGM dan perpustakaan S1 Ilmu Komputer UGM. Penelusuran secara online dilakukan melalui Google (www.google.com), Google Scholar (scholar.google.com), CiteSeer (citeseerx.ist.psu.edu) dan IEEE Computing Society (www.computer.org). Dari hasil penelusuran ditemukan beberapa penelitian yang terkait dengan topik penelitian ini (Tabel 1.1).

Penelitian ini menggunakan ontologi untuk merepresentasikan basis pengetahuan dari sistem QA berbahasa Indonesia pada sebuah domain yang terbatas (informasi film). Dengan membandingkan penelitian-penelitian Penelitian ini menggunakan ontologi untuk merepresentasikan basis pengetahuan dari sistem QA berbahasa Indonesia pada sebuah domain yang terbatas (informasi film). Dengan membandingkan penelitian-penelitian

1.8. Metoda Penelitian

Metoda yang digunakan untuk pengembangan sistem ini adalah waterfall model atau Classic Life Cycle model. Model ini mengusulkan sebuah pendekatan yang sistematik dan sekuensial dalam mengembangkan sistem. Model ini membagi pengembangan sistem dalam lima tahap, yakni: tahap analisis, tahap desain, tahap pengkodean, tahap pengujian, dan tahap pemeliharaan (Pressman, 2001; McLeod & Schell, 2004). Sementara (Whitten et al, 2004) menyebutnya sebagai strategi pengembangan model-driven. Strategi ini terbagi atas delapan fase pengembangan, yakni: fase definisi lingkup, fase analisis masalah, fase analisis persyaratan, fase desain logis, fase analisis keputusan, fase desain dan integrasi fisik, fase konstruksi dan pengujian, dan terakhir adalah fase instalasi dan delivery.

Berdasarkan uraian di atas, tahapan-tahapan penelitian ini terbagi atas:

a. Tahap Definisi Lingkup Sistem Pada tahapan ini, seluruh masalah, kesempatan dan arahan yang mendasari pengembangan sistem ini didefinisikan. Termasuk di dalammya adalah mendefinisikan batasan sistem dan strategi pengembangan yang digunakan.

b. Tahap Analisis Persyaratan Pada tahapan ini, seluruh informasi yang terkait dengan pengembangan sistem dikumpulkan dan dianalisis. Informasi-informasi tersebut merupakan dasar untuk menetapkan persyaratan bisnis dari sistem yang akan dikembangkan. Penemuan fakta dilakukan dengan cara studi literatur dan site visit.

c. Tahap Analisis Pada tahapan ini, sistem dimodelkan secara logis berdasarkan persyaratan- persyaratan bisnis yang telah ditentukan.

d. Tahap Desain Pada tahapan ini persyaratan-persyaratan bisnis yang telah dimodelkan dalam tahap analisis ditransformasikan dalam spesifikasi desain fisik yang akan menjadi dasar konstruksi sistem.

e. Tahap Konstruksi dan Pengujian Pada tahapan ini, sistem dibangun dengan menggunakan bahasa pemrograman

dan tools yang telah ditentukan sebelumnya. Setelah itu akan dilakukan pengujian terhadap komponen-komponen sistem.

1.9. Sistematika Penulisan

Penulisan laporan penelitian ini terbagi dalam enam bab sebagai berikut. Bab I Pendahuluan; pada bagian ini diuraikan mengenai latar belakang topik penelitian, rumusan dan batasan masalah, tujuan dan manfaat penelitian, metoda yang digunakan dalam penelitian ini, serta tinjauan pustaka yang menjadi dasar acuan bagi penelitian ini.

Bab II Landasan teori; pada bagian ini akan dibahas teori-teori yang mendasari penelitian ini. Di antaranya teori mengenai sistem question answering, semantic web , dan ontologi.

Bab III Analisis dan Rancangan Sistem; pada bagian ini akan dibahas mengenai hasil analisis dan rancangan model sistem yang akan dibangun.

Bab IV Implementasi Sistem; pada bagian ini akan dibahas mengenai bagaimana membangun sistem question answering berbasis ontologi Bab V Hasil Evaluasi dan Pembahasan; pada bagian ini akan dibahas hasil dan evaluasi dari sistem yang telah dibangun Bab VI Kesimpulan; pada bagian ini dipaparkan simpulan dari hasil penelitian dan saran pengembangannya.

BAB II LANDASAN TEORI

2.1 Teknologi Semantic Web

Konten web saat ini direpresentasikan dalam bentuk yang dapat dipahami oleh manusia. Dengan jumlah konten web yang sangat besar, penggunaan search engine berbasis keyword untuk mencari dan menemukan informasi tertentu yang diinginkan menjadi tidak efektif. Hal ini terjadi karena hasil pencarian search engine berupa sejumlah link ke konten web yang mengandung keyword. Diperlukan waktu untuk memilah dan menemukan informasi yang diinginkan dari sejumlah konten yang diberikan oleh search engine (Antoniou & van Harmelen, 2003).

Semantic web (SW) yang dipelopori oleh Tim Berners-Lee, merupakan suatu cara untuk merepresentasikan web content dalam bentuk yang dapat dipahami dan diproses oleh mesin (Antoniou & van Harmelen, 2003). Dengan kata lain, SW mengindikasikan bahwa makna data (the meaning of data) pada web dapat dipahami, baik oleh manusia maupun oleh komputer (Passin, 2004). Agar dapat diproses oleh mesin, dokumen web dianotasikan dengan meta- information (metadata). Meta-information mendefinisikan informasi mengenai sebuah dokumen web atau entitas-entitas dalam dokumen tersebut dalam suatu cara yang dapat diproses oleh mesin (Davies et al, 2003; Davies et al, 2006). Dengan demikian proses pencarian informasi pada dokumen web yang semantis mampu memberikan hasil yang diharapkan oleh pengguna.

Sampai saat ini teknologi SW masih terus dikembangkan secara bertahap. Setiap tahapannya menjadi lapisan di atas tahapan sebelumnya. Hal ini dilakukan untuk mempermudah mendapatkan konsensus dari berbagai pihak bagi setiap tahapannya. Gambar 2.1 menunjukkan arsitektur SW.

Gambar 2.1 Arsitektur semantic web (Alesso & Smith, 2006)

Pada lapisan terbawah terdapat unicode sebagai skema untuk mendefinisikan penggunaan sekumpulan karakter yang sesuai dengan kesepakatan internasional dan URI (Uniform Resource Indentifier) sebagai mekanisme untuk mengidentifikasi sebuah sumberdaya abstrak atau sumberdaya fisik pada web. Pada lapisan berikutnya terdapat XML (Extensible Markup Language) sebagai sebuah bahasa yang memungkinkan penulisan dokumen web secara terstruktur. XML dapat digunakan sebagai standard pertukaran dokumen. XML Schema menggambarkan struktur dan batasan dari isi dokumen XML, dan namespace (NS) sebagai standard untuk menentukan label unik kepada sekumpulan nama elemen yang didefinisikan oleh XML Schema. Lapisan ketiga mengakomodasi RDF dan RDF Schema sebagai mekanisme untuk mendeskripsikan sumberdaya web. Lapisan keempat terdapat ontology language yang merupakan perluasan dari Pada lapisan terbawah terdapat unicode sebagai skema untuk mendefinisikan penggunaan sekumpulan karakter yang sesuai dengan kesepakatan internasional dan URI (Uniform Resource Indentifier) sebagai mekanisme untuk mengidentifikasi sebuah sumberdaya abstrak atau sumberdaya fisik pada web. Pada lapisan berikutnya terdapat XML (Extensible Markup Language) sebagai sebuah bahasa yang memungkinkan penulisan dokumen web secara terstruktur. XML dapat digunakan sebagai standard pertukaran dokumen. XML Schema menggambarkan struktur dan batasan dari isi dokumen XML, dan namespace (NS) sebagai standard untuk menentukan label unik kepada sekumpulan nama elemen yang didefinisikan oleh XML Schema. Lapisan ketiga mengakomodasi RDF dan RDF Schema sebagai mekanisme untuk mendeskripsikan sumberdaya web. Lapisan keempat terdapat ontology language yang merupakan perluasan dari

2.2 Ontologi

Inti dari sebuah aplikasi SW adalah pemanfaatan ontologi untuk merepresentasikan basis pengetahuan dan sumberdaya web. Ontologi menghubungkan simbol-simbol yang dipahami manusia dengan bentuknya yang dapat diproses oleh mesin, dengan demikian ontologi menjembatani kesenjangan antara manusia dan mesin (Davies et al, 2003; Breitman et al, 2007). Dalam kaitannya dengan pencarian informasi pada web, ontologi bermanfaat untuk meningkatkan akurasi pencarian. Mesin pencari dapat mencari halaman yang merujuk pada konsep yang tepat dalam sebuah ontologi. Mesin pencari dapat mengeksploitasi informasi secara umum atau spesifik. Jika sebuah query gagal menemukan dokumen yang relevan, mesin pencari dapat menyarankan pengguna untuk memberikan query yang lebih umum. Jika terlalu banyak dokumen yang ditemukan, mesin pencari dapat menyarankan query yang lebih spesifik (Antoniou & van Harmelen, 2003).

2.2.1 Konsep Ontologi

Terdapat beragam definisi yang menjelaskan konsep ontologi. Sebuah definisi yang sering dirujuk dalam penelitian-penelitian mengenai ontologi adalah yang dikemukakan oleh Gruber dalam Antoniou & van Harmelen (2003), dimana sebuah ontologi didefinisikan sebagai sebuah spesifikasi formal dan eksplisit dari sebuah konseptual (conceptualization). Makna konseptual merujuk pada model abstrak dari sesuatu hal. Ekplisit mengindikasikan bahwa elemen-elemen konseptual harus didefinisikan dengan jelas, dan formal berarti bahwa spesifikasi tersebut harus dapat diproses oleh mesin. Lebih lanjut, dalam pandangan Gruber ontologi merupakan representasi pengetahuan dari sebuah domain, dengan sekumpulan objek dan relasi dideskripsikan oleh sebuah vocabulary.

Dengan cara yang berbeda, Maedche dalam Breitman et al (2007) mengusulkan bahwa sebuah ontologi terdiri atas lima tupel: O = {C, R, CH, rel, OA } dengan:

• C dan R adalah dua himpunan disjoint yang mewakili himpunan konsep (concepts) dan himpunan relasi (relations)

• CH ⊆ C x C adalah hirarki konsep (concept hierarchy) atau taksonomi, dengan CH(C 1 ,C 2 ) mengindikasikan bahwa C 1 adalah subkonsep dari C 2 • rel: R → C x C merupakan fungsi yang merelasikan konsep-konsep yang tidak berada dalam sebuah hirarki yang sama (nontaxonomically) • OA merupakan himpunan aksioma ontologi (ontology axiom) yang diekspresikan dalam sebuah bahasa logika yang sesuai.

Menurutnya, bahasa-bahasa untuk merepresentasikan ontologi seperti RDF, RDF Schema dan OWL konsisten dengan definisi tersebut.

Staab dan Studer dalam Davies et al (2006) mendefinisikan ontologi terdiri atas empat tupel (C, R, I, A) dimana C adalah himpunan konsep, R adalah himpunan relasi, I adalah himpunan instance dan A adalah himpunan aksioma. Aksioma digunakan untuk menyediakan informasi mengenai kelas dan properti, misalnya untuk menentukan ekuivalensi dari dua kelas atau menentukan range dari sebuah properti.

W3C menyebutkan bahwa ontologi adalah sebuah istilah yang diambil dari ilmu filsafat yang merujuk pada bidang ilmu yang mendekripsikan berbagai entitas dalam dunia dan bagaimana entitas-entitas tersebut saling berelasi (McGuinness & van Harmelen, 2004). Ontologi menyediakan deskripsi untuk elemen kelas-kelas (classes) dalam berbagai domain, relasi antar kelas-kelas, dan properti (property) yang dimiliki oleh kelas-kelas tersebut.

Ontologi telah digunakan dalam berbagai bidang ilmu komputer, seperti kecerdasan buatan, representasi pengetahuan, pemrosesan bahasa alami, web semantik, rekayasa perangkat lunak, dan banyak bidang lainnya. Karena itu, cukup beralasan jika terjadi perbedaan definisi ontologi antara satu dengan yang lainnya. Meskipun demikian, Uschold dan Jasper dalam Breitman et al (2007) mengindikasikan bahwa meskipun terjadi perbedaan definisi mengenai sebuah ontologi, terdapat kesamaan yakni sebuah ontologi memiliki sebuah vocabulary dari term-term, spesifikasi dari masing-masing term dan sebuah indikasi Ontologi telah digunakan dalam berbagai bidang ilmu komputer, seperti kecerdasan buatan, representasi pengetahuan, pemrosesan bahasa alami, web semantik, rekayasa perangkat lunak, dan banyak bidang lainnya. Karena itu, cukup beralasan jika terjadi perbedaan definisi ontologi antara satu dengan yang lainnya. Meskipun demikian, Uschold dan Jasper dalam Breitman et al (2007) mengindikasikan bahwa meskipun terjadi perbedaan definisi mengenai sebuah ontologi, terdapat kesamaan yakni sebuah ontologi memiliki sebuah vocabulary dari term-term, spesifikasi dari masing-masing term dan sebuah indikasi

2.2.2 Komponen Ontologi

Ontologi menggunakan banyak variasi struktur, tergantung dari penggunaan bahasa ontologi termasuk sintaksis yang digunakan. Secara umum ontologi terdiri atas beberapa komponen: • Kelas (Class)

Sebuah kelas mewakili konsep tertentu pada sebuah domain.Misalnya dalam domain ontologi universitas, mahasiswa dan dosen adalah 2 kelas.

• Hubungan (Relation) Relasi menggambarkan sebuah tipe interaksi diantara konsep-konsep pada domain. Misalnya mengajar adalah relasi antara dosen dan mahasiswa.

• Fungsi (Function)

Sebuah kasus khusus yang menghubungkan sebuah n elemen pada relasi yang unik untuk n-1 sebagai elemen pendahulunya.

• Aksioma (Axiom) Sebuah model kalimat yang selalu bernilai true. Misalnya, jika seorang mahasiswa mengikuti 2 mata kuliah A dan mata kuliah B, maka mahasiswa tersebut haruslah mahasiswa di semester kedua.

• Contoh (Instance) Sebagai gambaran elemen yang lebih khusus atau spesifik.

2.2.3 Bahasa Ontologi

2.2.3.1 XML dan XML Schema

Extensible Markup Language (XML) merupakan sebuah bahasa markup yang didesain untuk mendeskripsikan dokumen secara terstruktur. Berbeda dengan HTML, XML memungkinkan penggunanya untuk mendefinisikan custom tag (Breitman et al, 2007). Selain itu XML memungkinkan representasi informasi dalam bentuk yang mudah dipahami oleh manusia sekaligus dapat diproses oleh mesin. Kelebihan lainnya adalah XML memisahkan antara konten (content) dan cara konten tersebut dipresentasikan (presentation) (Antoniou & van Harmelen, 2003).

XML Schema merupakan bahasa yang digunakan untuk mendefinisikan sekumpulan aturan (schema) atau struktur yang harus dipatuhi oleh dokumen XML. Struktur dari dokumen XML yang dibuat harus sesuai dengan skema yang telah didefinisikan untuk menjaga validitas dokumen tersebut. Sebuah dokumen XML dapat menggunakan beberapa schema. Jika schema-schema tersebut mendefinisikan sebuah tipe elemen dengan cara yang berbeda, dibutuhkan suatu cara untuk mengetahui schema mana yang digunakan untuk mendefisinisikan elemen tersebut dalam dokumen XML. Solusinya adalah dengan menggunakan XML namespace. XML namespace merupakan sebuah koleksi yang berisi nama- nama elemen beserta tipe dan atributnya pada sebuah skema (Dykes & Tittel, 2005). Sebuah namespace didefinisikan dalam bentuk: xmlns:prefix=”location” .

2.2.3.2 RDF dan RDF Schema

Resource Description Framework (RDF) merupakan sebuah model data yang sederhana dan fleksibel untuk mendeskripsikan hubungan antara sumberdaya-sumberdaya web dalam bentuk RDF statement (Breitman et al, 2007). Sebuah RDF statement merupakan sebuah triple (S, P, O). S merupakan subyek dari statement, O adalah obyek statement, P adalah properti atau predikat statement , yang menunjukkan relasi biner antar S dan O.

RDF statement dapat ditulis dalam bentuk notasi RDF triples atau dalam bentuk notasi RDF graph. Dalam notasi RDF triples, RDF statement (S, P, O) dapat ditulis sebagai rangkaian string <S> <P> <O> atau <S> <P> “O”. Dalam notasi graf, node pada graf merujuk pada subyek atau obyek statement, dan panah merujuk pada predikat atau properti.

Dalam RDF Schema, sebuah kelas (class) merupakan sebarang sumberdaya dengan properti rdf:type bernilai rdfs:Class . Sebuah kelas C didefinisikan sebagai subclass D menggunakan properti rdfs:subClassOf . Properti ini bersifat transitif dalam RDF Schema.

Sebuah properti (property) pada RDF Schema merupakan sebarang instance dari kelas rdf:Property . Properti rdfs:domain digunakan untuk mengindikasikan bahwa sebuah properti tertentu diaplikasikan pada kelas yang ditunjuk. Properti rdfs:range mengindikasikan nilai dari proprerti tertentu adalah instance dari kelas yang ditunjuk atau instance dari tipe data XML Schema. Untuk mendefinisikan bahwa sebuah instance I dari sebuah kelas memiliki sebuah properti P dengan nilai V, secara sederhana dapat ditulis sebagai sebuah

RDF statement (I, P, V). Instance dari sebuah kelas C adalah sebuah sumberdaya dengan properti rdf:type bernilai C.

2.2.3.3 OWL

OWL (Web Ontology Language) mendeskripsikan kelas-kelas, properti- properti dan relasi antar objek-objek tersebut dalam suatu cara yang dapat diinterpretasi oleh mesin (Breitman et al, 2007). Seperti halnya RDF dan RDF Schema , OWL juga merupakan sebuah vocabulary namun dengan tingkatan semantik yang lebih tinggi. OWL menyediakan tiga sub bahasa yang berbeda tingkatan bahasanya yang dirancang untuk berbagai kebutuhan tertentu dari pengguna, antara lain (Breitman et al, 2007 ; Antoniou & van Harmelen, 2003): • OWL Lite menyediakan pendefinisian hirarki kelas dan properti dengan

batasan-batasan (constraints) yang sederhana. • OWL DL (Description Logic) mendukung pengguna yang menginginkan ekspresi maksimum tanpa kehilangan perhitungan yang lengkap (semua kesimpulan dijamin menjadi dapat diperhitungkan) dan ketepatan (semua perhitungan akan diselesaikan dalam waktu tertentu). OWL DL meliputi semua bahasa konstruksi dalam OWL dengan batasan tertentu

• OWL Full berguna untuk pengguna yang menginginkan ekspresi maksimum dan kebebasan sintaksis dari RDF tanpa ada jaminan perhitungan. OWL Full memperbolehkan ontologi untuk meningkatkan arti dari kosakata yang belum digambarkan (RDF atau OWL).

OWL menyediakan dua jenis properti, datatype property dan object property . Datatype property merelasikan himpunan instance dari sebuah kelas dan OWL menyediakan dua jenis properti, datatype property dan object property . Datatype property merelasikan himpunan instance dari sebuah kelas dan

OWL tetap menggunakan vocabulary dari RDF Schema, rdfs:domain dan rdfs:range untuk mendefinisikan domain dan range dari sebuah properti. Properti-properti dalam OWL dapat juga memiliki properti, atau dengan kata lain, properti-properti tersebut dapat memiliki karakteristik tertentu. Tabel 2.1 mendeskripsikan karakteristik yang dapat dimiliki oleh sebuah properti.

Tabel 2.1 Karakteristik Properti (Breitman et al, 2007)

Term Definition owl:TransitiveProperty

R is transitive iff, for any x, y and z, if R(x,y) and R(y,z) then R(x,z)

owl:SymmetricProperty

R is symmetric iff, for any x, y, R(x,y) iff R(y,x)

owl:FunctionalProperty

R is functional iff, for any x, y and z, if R(x,y) and R(x,z) then y=z

owl:InverseFunctionalProperty

R is inverse functional iff, for any x, y and z, if R(y,x) and R(z,x) then y=z

owl:InverseOf

S is the inverse of R iff, for any x, y, R(x,y) iff S(y,x)

OWL menyediakan konsep untuk mendefinisikan kelas beserta dengan batasan-batasan (constraints) dan aksiomanya (class axiom). Sebuah kelas dalam OWL didefinisikan dengan owl:Class . Setiap kelas dalam OWL merupakan subkelas dari owl:Thing dan merupakan superkelas dari owl:Nothing . OWL DL mengijinkan pendefinisian sebuah kelas dengan enumerasi menggunakan owl:oneOf .

Dalam OWL Lite, sebuah kelas dapat menyertakan batasan-batasan (constraints) tertentu pada kelas tersebut. Batasan diberikan berdasarkan pada properti kelas tersebut.

Batasan yang dideklarasikan dapat berupa quantified restriction, cardinality restriction atau value restriction. Quantified restriction dapat berupa existensial restriction atau universal restriction yang didefinisikan dengan owl:someValueFrom atau owl:allValueFrom . Cardinality restriction menentukan batasan jumlah sebuah properti yang harus dimiliki oleh sebuah instance. Cardinality restriction dapat didefinisikan dengan owl:cardinality untuk menentukan sebuah nilai kardinalitas yang tetap, owl:minCardinality untuk menentukan nilai kardinalitas minimum dan owl:maxCardinality untuk menentukan nilai kardinalitas maksimum. Value restriction menentukan nilai tertentu bagi sebuah properti.

OWL juga mengijinkan penggunaan kombinasi Boolean pada kelas. Kombinasi Boolean yang dapat digunakan antara lain operasi penggabungan menggunakan owl:unionOf , interseksi menggunakan owl:intersectionOf , dan operasi komplemen menggunakan owl:complementOf . Selain itu OWL juga mendefinisikan penggunaan aksioma pada kelas seperti owl:disjointWith untuk menentukan kelas-kelas yang saling disjoint dan owl:equivalentClass untuk mendefinisikan kelas-kelas yang ekuivalen.

2.2.4 Metoda Pengembangan Ontologi

Ontologi sebagaimana yang didefinisikan oleh Gruber sebagai spesifikasi eksplisit dari sebuah konseptualisasi, dipandang dapat memberikan gambaran tentang maksud dan tujuan ontologi (Breitman et al, 2007). Alasan utama membangun sebuah ontologi adalah information sharing dan reusing knowledge dari sebuah domain tertentu. Namun memahami maksud dan tujuan ontologi saja Ontologi sebagaimana yang didefinisikan oleh Gruber sebagai spesifikasi eksplisit dari sebuah konseptualisasi, dipandang dapat memberikan gambaran tentang maksud dan tujuan ontologi (Breitman et al, 2007). Alasan utama membangun sebuah ontologi adalah information sharing dan reusing knowledge dari sebuah domain tertentu. Namun memahami maksud dan tujuan ontologi saja

Saat ini terdapat beberapa metoda pengembangan ontologi yang umum digunakan, antara lain (Breitman et al, 2007): • Skeletal method. Metoda yang dikembangkan oleh Uschold dan King tahun

1995 ini terdiri atas empat fase yakni, (1) mendefinisikan tujuan dan cakupan dari ontologi, (2) membangun ontologi dengan cara capture, code dan integrate , (3) evaluasi ontologi, dan (4) dokumentasi.

• Toronto Virtual Enterprise (TOVE) method. Metoda ini dikembangkan oleh Gruninger dan Fox tahun 1995. Enam tahapan dalam metoda ini adalah: motivating scenario , informal competency question, formal terminology, formal competency question , formal axiom, dan completeness theorems.

• Methontology. Metoda ini dikembangkan oleh Laboratorium Artificial Intelligence pada Politeknik Madrid. Methontology menyediakan framework yang mendukung otomasi pengembangan ontologi yang didasarkan pada standard IEEE bagi pengembangan perangkat lunak. Proses pengembangan ontologi dengan metoda ini terbagi atas sembilan fase yakni: plan, specification , conceptualization, formalization, integration, implementation, evaluation , documentation dan maintenance.

• KACTUS. Metoda ini terbagi atas tiga fase: specification of application, preliminary ontology design , dan refinement and structuring.

• On-To-Knowledge (OTK). Dikembangkan dalam EU project OTK, metoda ini terbagi atas lima fase utama: feasibility study, kickoff, refinement, evaluation , dan application and evolution.

Selain metoda-metoda tersebut, terdapat sebuah metoda yang lebih sederhana dan dapat dijadikan sebagai panduan bagi pengembang pemula untuk membangun sebuah ontologi (Noy & McGuinness, 2001). Proses pengembangan ontologi dengan metoda ini terdiri atas tujuh fase utama sebagai berikut.

1. Menentukan batasan domain dan lingkup ontologi

Pada fase ini, pengguna dapat memulai dengan menjawab pertanyaan- pertanyan:

• Domain apa yang akan dicakup dalam ontologi? • Untuk tujuan apa ontologi tersebut akan digunakan? • Jenis pertanyaan-pertanyaan apakah yang membutuhkan jawaban

berdasarkan informasi yang terkandung dalam ontologi tersebut? • Siapa yang akan menggunakan dan memelihara ontologi tersebut?

Jawaban atas pertanyaan-pertanyaan tersebut mungkin akan selalu berubah selama proses rancangan ontologi berjalan. Jawaban-jawaban tersebut membantu pengembang untuk membatasi lingkup ontologi yang akan dibangun.

Gruninger dan Fox dalam Noy dan McGuinness (2001) mengusulkan cara untuk menentukan lingkup ontologi adalah dengan menjawab sejumlah pertanyaan kompentesi (competency questions). Pertanyaan-pertanyaan ini Gruninger dan Fox dalam Noy dan McGuinness (2001) mengusulkan cara untuk menentukan lingkup ontologi adalah dengan menjawab sejumlah pertanyaan kompentesi (competency questions). Pertanyaan-pertanyaan ini

2. Mempertimbangkan penggunaan ontologi yang telah ada

Ada kemungkinan bahwa sebelumnya telah ada ontologi dengan domain yang sama dengan ontologi yang akan dibangun. Karena itu, perlu dipertimbangkan apakah ontologi sudah ada tersebut akan ditambahkan pada ontologi yang akan dibangun atau adakah kemungkinan bahwa ontologi yang akan dibangun akan berkaitan dengan ontologi lainnya yang telah ada.

3. Membuat daftar term-term penting untuk ontologi

Diperlukan suatu daftar term-term yang akan digunakan dalam ontologi. Setiap term disertai dengan definisi atau penjelasannya. Hal ini akan memudahkan pengguna memahami ontologi.

4. Mendefinisikan kelas-kelas dan hirarkinya

Pada fase ini, kelas-kelas dalam ontologi didefinisikan dan distrukturkan dalam sebuah hirarki. Proses pembetukan hirarki dapat dilakukan dengan tiga cara: • Pendekatan top-down yang dimulai dengan mendefinisikan kelas yang

paling umum kemudian berlanjut ke kelas-kelas yang lebih spesifik di bawahnya.

• Pendekatan bottom-up, dimulai dengan mendefisinikan kelas-kelas yang paling spesifik, kemudian mengelompokkan kelas-kelas tersebut ke dalam kelas yang lebih umum sifatnya.

• Pendekatan kombinasi, yang menggunakan kombinasi pendekatan top- down dan bottom-up.

5. Mendefinisikan properti-properti kelas

Apabila dalam ontologi hanya berisi kelas-kelas yang didefinisikan pada langkah sebelumnya, maka informasi dalam ontologi tersebut tidak cukup untuk menjawab competency questions pada fase 1. Setiap kelas harus dideskripsikan struktur internalnya, berupa atribut-atribut yang menjadi karakteristik kelas tersebut. Selain itu relasi antar kelas-kelas dalam ontologi juga harus didefinisikan.

6. Mendefinisikan batasan-batasan bagi properti

Setiap properti memiliki karakteristik yang berbeda. Baik mengenai tipe data, nilai-nilai yang diijinkan maupun tingkat kardinalitasnya. Beberapa karakteristik properti yang biasanya dideskripsikan adalah kardinalitas properti, tipe data properti,dan domain dan range properti

7. Membuat instance

Langkah terakhir dari metoda ini adalah menciptakan individual instance untuk kelas-kelas. Langkah ini meliputi: (1) memilih sebuah kelas, (2) menciptakan individual instance pada kelas tersebut, dan (3) memberikan nilai-nilai pada properti.

2.3 Sistem Question Answering

2.3.1 Konsep Sistem Question Answering

Seperti halnya IR dan IE, sistem QA juga merupakan salah satu teknologi untuk mengekstrak informasi dari sekumpulan dokumen. Sebuah sistem QA Seperti halnya IR dan IE, sistem QA juga merupakan salah satu teknologi untuk mengekstrak informasi dari sekumpulan dokumen. Sebuah sistem QA

Sistem QA dikelompokkan dalam dua jenis, open domain QA (ODQA) dan restricted domain QA (RDQA) (Kangavari et al, 2008). ODQA menerima pertanyaan mengenai berbagai hal dan mengekstrak jawaban dari sejumlah data yang sangat besar. RDQA menerima pertanyaan yang terkait dengan domain tertentu (misalnya domain kesehatan, pendidikan dan sebagainya). Sebuah sistem QA juga dapat digolongkan sebagai RDQA, merujuk pada situasi di mana hanya jenis pertanyaan-pertanyan tertentu yang dapat diterima dan diproses oleh sistem (misalnya hanya pertanyaan-pertanyaan faktual seperti: siapa, dimana, kapan, dsb).

2.3.2 Komponen Sistem Question Answering

Ada tiga modul utama dalam sistem QA, question processing (query formulation ), document retrieval dan answer extraction and formulation. Gambar

2.2 menyajikan arsitektur umum dari sebuah sistem QA.

Gambar 2.2 Arsitektur umum sistem QA (Moldovan & Surdeanu, 2003)

Modul question processing

Menganalisa bahasa alami yang diberikan sebagai input pada sistem merupakan langkah pertama untuk menemukan jawaban. Pertanyaan yang dijadikan input oleh pengguna harus memenuhi beberapa persyaratan tertentu, seperti terbatas pada penggunaan kosa kata dan sintaks tertentu. Fungsi utama dari modul ini adalah untuk memahami tujuan pertanyaan dan menterjemahkannya ke dalam bentuk query. Modul ini memiliki dua komponen penting, clasification dan reformulation (Kangavari et al, 2008). Komponen clasification bertugas untuk menentukan jenis pertanyaan dan jenis jawaban. Berdasarkan jenis pertanyaan tersebut dapat ditentukan jenis informasi atau jawaban yang diinginkan. Jenis pertanyaan dapat ditentukan dengan melihat kata tanya yang ada dalam pertanyaan. Misalnya kata tanya “kapan” menginginkan jawaban berupa tanggal atau waktu, ”siapa” menginginkan jawaban berupa nama orang dan ”di mana” menginginkan jawaban berupa nama tempat.

Tidak semua jenis jawaban dapat ditentukan hanya dengan melihat kata tanya yang terkandung dalam pertanyaan. Kata tanya ’apa’ dan ’berapa’ misalnya, tidak secara spesifik menentukan jawaban yang diinginkan. Perlu diperhatikan entitas yang terkait dengan kata tanya tersebut. Misalnya ”Film apa...” mengarah pada jawaban berupa judul film.

Komponen reformulation bertugas untuk menterjemahkan sebuah pertanyaan menjadi sejumlah kata kunci query. Kata kunci dapat berupa nama entitas dan relasi antar entitas.

Modul document retrieval dan modul answer extraction

Modul document retrieval bertugas untuk membentuk sebuah query formal berdasarkan sejumlah kata kunci yang telah ditentukan pada modul question processing . Setelah query terbentuk, akan dilakukan query ke basis pengetahuan untuk menemukan jawaban yang sesuai. Berdasarkan hasil query dari modul document retrieval, modul answer extraction & formulation bertugas untuk menyajikan jawaban kepada pengguna.

2.3.3 Kelas-kelas Sistem Question Answering

Moldovan dan Surdeanu (2003) mengelompokkan sistem QA berdasarkan pada beberapa kriteria. Kriteria-kriteria tersebut adalah: (1) metoda linguistik dan sumbedaya pengetahuan, (2) pengolahan bahasa alami, (3) pemrosesan dokumen, (4) metoda reasoning yang digunakan, (5) terdapatnya jawaban secara eksplisit dalam dokumen, dan (6) perlunya kebutuhan untuk memadukan jawaban dari beberapa dokumen. Berdasarkan kriteria-kriteria tersebut sistem QA terbagi dalam lima kelas.

Kelas 1. Sistem QA yang mampu memroses pertanyaan-pertanyaan faktual

Sistem ini mengekstrak jawaban sebagai potongan-potongan teks dari satu atau lebih dokumen. Sering kali jawaban ditemukan secara eksplisit pada dokumen berdasarkan morfologi kalimat. Jawaban biasanya diekstrak dengan metoda- metoda empiris yang berdasarkan pada manipulasi keyword.

Kelas 2. Sistem QA yang memiliki mekanisme reasoning sederhana

Karakteristik kelas ini adalah bahwa jawaban ditemukan dalam potongan- potongan teks, namun dibutuhkan inferensi sederhana untuk merelasikan Karakteristik kelas ini adalah bahwa jawaban ditemukan dalam potongan- potongan teks, namun dibutuhkan inferensi sederhana untuk merelasikan

Kelas 3. Sistem QA yang mampu memadukan jawaban dari berbagai dokumen

Pada kelas ini, bagian-bagian jawaban ditemukan secara terpisah pada beberapa dokumen, dan dibutuhkan cara untuk memadukan bagian-bagian tersebut menjadi sebuah jawaban.

Kelas 4. Sistem QA yang interaktif

Sistem pada kelas ini mampu menjawab pertanyaan secara interaktif. Misalnya dalam bentuk dialog antara sistem dan pengguna.

Kelas 5. Sistem QA yang mampu menjawab pertanyaan-pertanyaan spekulatif