Analisisis dan Rancangan Proses Sistem
3.5 Analisisis dan Rancangan Proses Sistem
Gambar 3.9 memperlihatkan diagram konteks sistem QA. Pengguna memberikan pertanyaan kepada sistem QA dan mendapatkan jawaban dari sistem. Sistem QA yang akan dibangun terdiri atas dua modul utama, yakni modul Question Processing (QP) dan modul Query Retrieval (QR). Modul QP bertugas menentukan validitas kalimat dan kata kunci berdasarkan pertanyaan yang dimasukkan pengguna. Modul QR bertugas menentukan variabel query, statement query dan melakukan query jawaban ke ontologi serta memberikan jawaban kepada pengguna. Gambar 3.10 memperlihatkan Diagram Alir Data (DAD) Tingkat 1 untuk sistem QA.
Gambar 3.9 Diagram Konteks Sistem QA
Gambar 3.10 DAD Sistem QA Tingkat 1
3.5.1 Analisis dan Rancangan Modul QP
Modul QP melakukan dua tugas utama yakni menentukan validitas kalimat pertanyaan, dan menentukan kata kunci yang terdapat dalam kalimat pertanyaan yang dimasukkan pengguna. Gambar 3.11 memperlihatkan DAD tingkat 2 untuk subsistem QP.
Gambar 3.11 DAD Tingkat 2 untuk subsistem QP
Untuk menentukan validitas pertanyaan, hal pertama yang dilakukan adalah menghilangkan semua kata-kata yang termasuk dalam stopwords dari kalimat pertanyaan. Tabel 3.11. memperlihatkan kata-kata yang tergolong sebagai stopwords. Setelah itu kalimat pertanyaan akan dibagi (parsing) dalam satuan- satuan kata. Kemudian akan dilakukan pengecekan dari kata pertama. Kata pertama harus berupa kata tanya. Kata tanya yang dapat dikenali oleh sistem adalah kata: siapa, apa, bagaimana, kapan, dimana dan berapa. Kata berikutnya ditentukan berdasarkan kata tanya yang telah ditemukan. Gambar 3.12 merupakan flowchart untuk menentukan validitas kalimat pertanyaan.
Tabel 3.11 Kata-kata stopwords
yang film oleh pada tahun dalam skenario utama menjadi syuting di
sebagai orang jalan tentang dimulai mulai termasuk sering saja asli
Gambar 3.12 Flowchart untuk menentukan validitas kalimat
Gambar 3.12 Flowchart untuk menentukan validitas kalimat (lanjutan)
Setelah kalimat pertanyaan dinyatakan valid, langkah selanjutnya adalah menentukan kata-kata kunci, termasuk kata kunci tambahan. Kata-kata kunci tersebut akan digunakan pada modul QR untuk menentukan variabel query dan statement -statement query. Apa bila kata tanya yang ditemukan adalah siapa dan apakah, dibutuhkan tiga buah kata kunci. Dua kata kunci mewakili datatype property (dp1 dan dp2) dan satu kata kunci mewakili object property (op). Sedangkan untuk kata tanya lainnya dibutuhkan dua buah kata kunci yang mewakili datatype property.
Untuk kalimat pertanyaan yang sesuai dengan pola I dan pola V, kata-kata kunci telah ditentukan pada saat menentukan validitas kalimat. Namun untuk pola
II, III, IV dan VI perlu ditambahkan kata kunci yang bersesuaian. Gambar 3.13 merupakan flowchart untuk menambahkan kata kunci yang bersesuaian.
3.5.2 Analisis dan Rancangan Modul QR
Modul QR melakukan tiga tugas utama yakni, menentukan variabel query, menentukan statement-statement query dan melakukan query jawaban. Gambar
3.14 memperlihatkan DAD tingkat 2 untuk susbsistem QR. Variabel query berfungsi untuk menampung jawaban pertanyaan yang diperoleh dari ontologi untuk kemudian diteruskan ke pengguna. Variabel query ditentukan berdasarkan kata kunci yang mewakili datatype property.
Gambar 3.13 Flowchart untuk menentukan kata kunci tambahan
2.1P
Kata kunci yang sesuai
Menentukan
Variabel query
variabel
query
Data variabel query
2.3P
1 jawaban Data
jawaban Pengguna
ontologi
Menentukan
jawaban Data statement query
2.2P
Kata kunci yang sesuai
Menentukan
Statement query
statement
query
Gambar 3.14 DAD Tingkat 2 untuk subsistem QR
Statement-statement query ditentukan berdasarkan kata-kata kunci yang diperoleh dari modul QP. Sebuah statement terdiri atas tiga bagian yakni subject, predicate dan object (S, P, O). Setiap kata kunci mewakili properti tertentu dalam ontologi. Properti mewakili predicate sebuah statement, sedangkan domain dan range dari properti tersebut mewakili subject dan object sebuah statement. Tabel
3.12 memperlihatkan daftar kata kunci dan statement yang bersesuaian. Terdapat dua jenis properti yakni datatypeproperty dan objectproperty. Objectproperty merelasikan kelas-kelas dalam ontologi, sedangkan datatypeproperty merupakan atribut dari kelas-kelas domainnya. Untuk setiap object dari statement-statement yang bertipe datatypeproperty akan dikenakan operasi ekspresi reguler, kecuali pada object yang menjadi variabel query. Operasi ekspresi reguler dilakukan untuk mengetahui apakah nilai dari properti yang terkait terdapat dalam kalimat.
Tabel 3.12 Kata kunci dan statement query
no kata kunci
tipe properti
1 aktor
’pria’ datatypeproperty 2 aktris
?person gender
?person gender
’wanita’ datatypeproperty
3 nama
?person name
?pname datatypeproperty
4 judul
?movie title
?mtitle datatypeproperty
5 durasi, lama
?movie duration
?duration datatypeproperty
6 genre, jenis, kategori
?movie genres
?genre datatypeproperty
7 lokasi, tempat, kawasan
8 sinopsis, cerita, ceritera
9 perilisan, penayangan, ?movie releasedate
?mtime datatypeproperty
pemutaran 10 pembuatan
?movie year
?mtime datatypeproperty
11 bintang, membintangi,
?person objectproperty pemain, main bermain, artis, dibintangi, dimainkan
?movie cast
12 sutradara, menyutradarai, ?movie director
?person objectproperty
disutradarai 13 produser, memroduseri, ?movie producer
?person objectproperty
memroduksi, diproduseri 14 penulis, menulis, ditulis
15 meraih, memenangkan,
?movie movieaward ?award objectproperty
mendapat, memperoleh,
?award winner
?person objectproperty
peraih, pemenang, diraih dimenangkan, didapat, diperoleh
16 memiliki, terdapat
objectproperty 17 tokoh, karakter
?movie character
?role
?rname datatypeproperty 18 pemeran, berperan,
?role rolename
?role acted
?person objectproperty
memerankan, diperankan 19 peraih
?award winner
?person objectproperty
20 kategori penghargaan
?award awardcategory ?awcat datatypeproperty
21 penghargaan
?award awardname ?awname datatypeproperty
Misalnya pada pertanyaan ”siapa sutradara film yang berjudul Titanic?”, akan ditemukan kata tanya siapa(KT), kata kunci yang mewakili object property sutradara (OP) dan kata kunci yang mewakili datatype property judul (DP2) sehingga pola kalimat tersebut adalah KTOPDP2. Kalimat tersebut dinyatakan valid. Selanjutnya ditambahkan kata kunci nama (DP1). Berdasarkan kata kunci yang mewakili datatype property, variabel query yang ditemukan adalah ?pname dan ?mtitle. Kata kunci nama membentuk statement <?person<name><?pname>, Misalnya pada pertanyaan ”siapa sutradara film yang berjudul Titanic?”, akan ditemukan kata tanya siapa(KT), kata kunci yang mewakili object property sutradara (OP) dan kata kunci yang mewakili datatype property judul (DP2) sehingga pola kalimat tersebut adalah KTOPDP2. Kalimat tersebut dinyatakan valid. Selanjutnya ditambahkan kata kunci nama (DP1). Berdasarkan kata kunci yang mewakili datatype property, variabel query yang ditemukan adalah ?pname dan ?mtitle. Kata kunci nama membentuk statement <?person<name><?pname>,
Proses selanjutnya pada modul QR adalah melakukan query jawaban. Query jawaban membutuhan dua variabel query, sejumlah statement query dan sejumlah operasi ekspresi untuk menyaring (filter) informasi dalam ontologi. Query akan diterapkan menggunakan bahasa query SPARQL. Untuk penyederhanaan, dibentuk sebuah query yang bersifat umum dan berlaku untuk semua jenis pertanyaan. Bentuk umum query sebagai berikut
SELECT DISTINCT variabel query WHERE {
(Daftar statement)
<subject 1 ><predicate 1 ><object 1 >. <subject 2 ><predicate 2 ><object 2 >. dst...
(Daftar filter)
filter regex (pertanyaan, pola 1 ). filter regex (pertanyaan, pola 2 ). dst... }