PENGEMBANGAN PURWARUPA SEMANTIC SEARCH MENGGUNAKAN SEMANTIC WEB RULE LANGUAGE
UNTUK PENCARIAN INFORMASI PRODUK
Asih Winantu*1, Azhari SN2
1Program Studi Manajemen Informatika STMIK EL RAHMA, Jl. Sisingamangaraja 76 Yogyakarta
2Program Studi S2/S3 Ilmu Komputer, FMIPA UGM Sekip Utara Bulaksumur Yogyakarta
e-mail: *1 [email protected],2[email protected] Abstrak
Website yang memiliki mesin pencari informasi seperti Google atau Yahoo kini telah menjadi alternatif utama bagi masyarakat modern dalam mencari berita atau informasi bakan mencari produk.. Fasilitas layanan pencarian yang banyak saat ini menggunakan sintaksis kata, sehingga informasi yang dikembalikan tidak sesuai dengan yang diharapkan pengguna.
Dalam penelitian ini dibangun sebuah prototype aplikasi pencarian informasi produk Handphone berbasis semantik web, informasi produk disimpan dalam sebuah basis pengetahuan yang disebut ontology. Parameter pencarian bisa berupa kata kunci atau kalimat. Layanan yang disediakan dalam sistem ini adalah berupa layanan pencarian dengan kalimat berbahasa Indonesia. Sedangkan aturan yang dibangun adalah aturan pengolahan bahasa dengan Natural Language Processing dengan mengacu pada algoritma Tala [8] agar sistem mampu memahami makna dari keyword ataupun kalimat pencarian yang diinputkan user dan aturan query SWRL untuk proses pencarian informasi yang tersimpan pada basis pengetahuan.
Semantik search yang dibangun dapat memproses keyword atau kalimat. Kalimat yang diinputkan pada kotak pencarian bisa berupa kalimat sederhana, kalimat pertanyaan serta kalimat perintah. Hasil pengujian terhadap sejumlah kalimat perintah pencarian yang diinputkan, mampu memberikan rasio precision sebesar 99,55 % dan rasio recall sebesar 93,67 % .
Kata kunci : semantic web, ontology, SWRL, NLP, Precision, Recall
Abstract
Website which has a search engine such as Google or Yahoo now has become a major alternative to the modern society in seeking news or information even search for products. Search service facilities currently using the word syntax, so the information that is returned does not match users expected.
phrase and SWRL rules for the process of finding information stored in the knowledge base.
Semantic search that had been built can process keyword or sentences. Sentences can be simple sentence, sentence with question word and also imperative sentence. The results of testing on a number of searching phrase, show providing both the precision ratio 99,55 % and recall ratio of 93,67 % .
keyword : semantic web, ontology, SWRL, NLP, Precision, Recall
1. PENDAHULUAN
Website yang memiliki mesin pencari informasi seperti google atau yahoo kini telah menjadi alternatif utama bagi masyarakat modern dalam mencari berita atau informasi bahkan mencari produk. Namun demikian, walaupun mesin-mesin pencari ini sanggup memberikan berbagai informasi yang dibutuhkan, seringkali ketepatan dalam mencari informasi tersebut dipertanyakan [1].
Berners-lee [2] mengatakan bahwa inti dari semantic web adalah mengaplikasikan ontologi untuk merepresentasikan content atau informasi menjadi basis pengetahuan dalam bentuk-bentuk yang dapat dipahami dan diproses oleh mesin. Dengan demikian data-data produk dapat disimpan menjadi sebuah metadata berbasis ontologi. Sedangkan penerapan semantic search memiliki tujuan untuk memunculkan penemuan kembali informasi secara lebih relevan dengan keinginan user.
Semantic search berusaha untuk meningkatkan akurasi pencarian dengan
memahami maksud pencarian dan makna kontektual sehingga menghasilkan hasil yang lebih relevan sesuai keinginan pengguna. Semantic search pada intinya pencarian dibuat cerdas, pencarian yang berusaha meningkatkan akurasi dengan menghilangkan ambiguitas melalui pemahaman konteks [3]. Penelitian ini mengusulkan penerapan semantic search yang dilengkapi dengan aturan-aturan query dari Semantic Web Rule
Language pada sistem pencarian yang digunakan untuk memproduksi suatu informasi
tertentu yang diinginkan. Dengan aturan-aturan yang ditambahkan diharapkan
Semantic Search yang akan dikembangkan dapat membuat sistem pencarian menjadi
lebih relevan dalam pengembalian informasi sesuai dengan yang diinginkan oleh user. Vandic dkk[9] membuat aplikasi pencarian produk multifacet, dimana toko online bisa men-submit informasi RDF website mereka untuk diproses. Aplikasi ini memproses informasi RDF dari file-file HTML dan mengumpulkan informasi produk dari website yang berbeda. Penelitian lainnya tentang pencarian informasi produk dilakukan oleh Zhang dkk [10] yang membuat Framework untuk pencarian data produk. Framework ini menggunakan ontology yang didapat dari mengekstrak halaman-halaman web (html) dari web penjualan yang sudah ada yaitu amazon.com dan dangdang.com. Halaman-halaman web dari kedua situs penjualan tersebut diekstrak, kemudian di konversikan kedalam bentuk OWL. Kemudian dibangunlah framework untuk halaman pencarian. Untuk pencarian digunakan bahasa query SPARQL dan OA_VSM.
Penelitian lainnya tentang pencarian informasi produk adalah yang dilakukan oleh Lee dkk [5] yang melakukan penelitian tentang semantic web service untuk pemesanan produk kamera. Dibangun dengan ontology berbasis DAML+OIL
query pencarian produk, lalu aplikasi akan menghubungkan ke basis ontology dari masing-masing toko, lalu menampilkan hasil sesuai query dari user.
2. METODE PENELITIAN 1. Deskripsi Sistem
Sistem yang dibangun dalam penelitian ini adalah sebuah prototype aplikasi pencarian informasi produk Handphone berbasis semantik web. Layanan yang disediakan dalam sistem ini adalah berupa layanan pencarian dengan kalimat berbahasa Indonesia. Kalimat yang dimasukkan bisa berupa kalimat sederhana, kalimat pertanyaan serta kalimat perintah. Selanjutnya input kalimat dalam kotak pencarian mengalami proses filtering, tokenizing dan stemming lalu disesuaikan dengan pola kalimat yang sudah didefinisikan dalam aturan produksi. Hasil pencarian akan ditampilkan sesuai dengan data yang disimpan dalam ontology Handphone.
2. Perancangan Sistem
Perancangan sistem dibagi dalam beberapa tahap : Perancangan ontology
Ontology pada penelitian ini ada 2, yaitu ontology Handphone dan ontology vocabulary. Ontology Handphone berisi basis pengetahuan produk Handphone, dan ontology vocabulary berisi daftar keyword, stopword dan question word.
Ontology Handphone berisi 8 kelas yaitu :
1. Handphone untukmerepresentasikan informasi produk Handphone.
2. Predicate untukmerepresentasikan informasi predikat Handphone.
3. Os untuk merepresentasikan informasi nama-nama sistem operasi yang digunakan oleh Handphone
4. Connection untukmerepresentasikan informasi tipe koneksi data yang
digunakan oleh Handphone
5. PriceRange untuk merepresentasikan informasi harga Handphone
6. Category untuk merepresentasikan informasi kategori Handphone
7. ScreenSize untuk merepresentasikan informasi ukuran layar Handphone
8. Network untuk merepresentasikan informasi jaringan yang dipakai pada
Gambar 1. Relasi Kelas pada ontology Handphone
Dari gambar 1 dapat dilihat relasi antar kelas yang telah dibentuk, sehingga dapat dilihat hubungan antar kelas tersebut. Handphone memiliki relasi dengan semua kelas. Sedangkan kelas PriceRange memiliki relasi dengan kelas category dengan nama relasi hascategory dan hasprice. Kelas ScreenSize mempunyai relasi dengan predicate, dengan nama relasi hasPredicate
Pengolahan bahasa alami
Proses yang digunakan adalah filtering, tokenizing dan stemming. Proses filtering menggunakan daftar stopword yang disimpan dalam suatu kelas dalam ontology
vocabulary dan digunakan sebagai acuan penghilangan kata.
Gambar 2. Proses filtering
Gambar 3. Proses tokenizing
Stemming adalah proses untuk mencari root atau kata dasar dari suatu kata. Pencarian kata dasar dapat memperkecil hasil indeks tanpa harus menghilangkan makna. Stemming digunakan untuk menghindari ketidakcocokan, dimana kata-kata yang berbeda namun memiliki makna dasar yang sama direduksi menjadi satu bentuk. Pendekatan yang digunakan proses stemming adalah mencari kata dasar suatu kata dari kata-kata yang berimbuhan dengan membuang imbuhan– imbuhan (atau lebih tepatnya awalan dan akhiran) pada kata–kata tersebut (Tala, 2003).
Gambar 4. proses stemming
Representasi kalimat
Proses selanjutnya adalah mencari relasi, relasi disimpan dalam kelas OBP pada ontology vocabulary. Selanjutnya dari OBP akan ditentukan domain dan range masing-masing kelas.
Pembentukan query
Setelah aturan pengolahan kalimat ditentukan, berikutnya adalah proses generate aturan SWRL. Aturan SWRL yang digunakan adalah aturan dasar dalam format query SWRL untuk me-retrieve informasi sesuai dengan parameter yang diberikan.
Perancangan rule atau aturan
SWRL merupakan sekumpulan aturan yang digunakan untuk mendapatkan solusi pada suatu domain permasalahan. Banyaknya rule yang digunakan atau diterapkan pada sebuah model ontology dipengaruhi oleh banyak faktor seperti komplektivitas permasalahan, keragaman data yang digunakan, hubungan antar objek dalam permasalahan, dan lain sebagainya. Rule digunakan untuk mengatur relasi atau hubungan antar elemen-elemen penyusun ontology seperti relasi antar class, relasi class dengan datatype, relasi antar instance dalam suatu class ataupun instance antar class.
Rule-rule yang terdapat pada ontology Handphone secara lengkap dijabarkan pada tabel 1.
Tabel 1. Deskripsi rule pada ontology Handphone N
o Nama Rule Sintaks Keterangan
1. RuleHandphone Handphone(?x)
sqwrl:select(?x) Rule untuk menampilkan seluruh koleksi Handphone 2. RuleSmartphone Handphone(?x) ∧ hasOS(?x,
?os) ∧ processor(?x, ?pro) → sqwrl:select(?x)
Rule untuk menampilkan seluruh koleksi smartphone
3. RuleTablet Handphone(?x) ∧ hasOS(?x, ?os) ∧ processorSpeed(?x, ?ps) ∧ Predicate(?p) ∧
name(?p, ?n) ∧
swrlb:containsIgnoreCase(?n, "tablet") ∧ predicateOf(?p, ?x) →
sqwrl:select(?x)
Rule untuk menampilkan koleksi tablet
4. RulePhablet Handphone(?x) ∧ hasOS(?x, ?os) ∧ processorSpeed(?x, ?ps) ∧ Predicate(?p) ∧
name(?p, ?n) ∧
swrlb:containsIgnoreCase(?n, "phablet") ∧ predicateOf(?p, ?x) →
sqwrl:select(?x)
Rule untuk menampilkan koleksi phablet
5. RuleOSVersi OS(?x) ∧ version(?x,?y) 
6. RulePriceRangeAli
as PriceRange(?x)  ∧ alias(?x,?y) name(?x,?y)
Range harga x memiliki alias maka y merupakan nama dari PriceRange tersebut.
7. RulePredicateAlias Predicate(?x) ∧ alias(?x,?y)
name(?x,?y)
Predicate x memiliki alias maka y merupakan nama dari predicate tersebut.
8. RuleCategoryAlias Category(?x) ∧ alias(?x,?y)
name(?x,?y)
category x memiliki alias maka y merupakan nama dari category tersebut.
9. RuleHpHasPredic
ate Handphone(?x) ScreenSize(?y) ∧∧ hasScreen(?x,?y) ∧
Predicate(?z) ∧
hasPredicate(?y,?z) 
hasPredicate(?x,?z)
Handphone X memiliki Screen Y, dan screen Y memiliki predicate Z, maka handphone X memiliki predicate Z
10. RuleHpHasCatego
ry Handphone(?x) PriceRange(?y) ∧∧ hasPrice(?x,?y) ∧
Category(?z) ∧
hasCategory(?y,?z) 
hasCategory(?x,?z)
Handphone X memiliki harga Y, dan harga Y memiliki category Z, maka handphone X memiliki category Z
11. InversRuleHpHas
Predicate Handphone(?x) ScreenSize(?y) ∧∧ hasScreen(?x,?y) ∧
Predicate(?z) ∧
hasPredicate(?y,?z) ∧
hasPredicate(?x,?z)
PredicateOf(?z,?x)
Handphone X memiliki predicate Z, maka sebaliknya predicate Z dimiliki oleh Handphone X
12. InversRuleHp
HasCategory Handphone(?x) PriceRange(?y) ∧∧ hasPrice(?x,?y) ∧
Category(?z) ∧
hasCategory(?y,?z) ∧
hasCategory(?x,?z)
categoryOf(?z,?x)
Handphone X memiliki category Z, maka sebaliknya category Z dimiliki oleh Handphone X
13. OsOfHp Handphone(?x) ∧ OS(?y) ∧
hasOS(?x,?y)  osOf(?y,?x)
Handphone X memiliki OS Y, maka sebaliknya OS Y merupakan OS dari Handphone X 14. RuleConnectionO
f Handphone(?x) Connection(?y) ∧∧ hasConnection(?x,?y) 
connectionOf(?y,?x)
Handphone X memiliki Connection Y, maka sebaliknya Connection Y merupakan koneksi dari Handphone X
15. RuleHpHasNetwo
hasNetwork(?x,?y) 
networkOf(?y,?x) network dari Handphone X 16. RuleHpHasPrice Handphone(?x) ∧ Price(?y) ∧
hasPrice(?x,?y) 
priceOf(?y,?x)
Handphone X memiliki harga Y, maka sebaliknya harga Y merupakan harga dari Handphone X
3. HASIL DAN PEMBAHASAN
Implementasi dari hasil penelitian ini adalah sebuah protoype aplikasi pencarian informasi produk Handphone berbasis web semantik dengan menggunakan ontology dan rule untuk melakukan pengolahan pada basis pengetahuan. Interface dari prototype aplikasi dibuat sederhana dengan fasilitas pencarian berbasis teks dan menu yang dapat langsung diakses oleh pengguna yaitu Handphone dan Vocabulary.
Gambar 5. Arsitektur sistem
Pengujian sistem menggunakan dua cara, yang pertama adalah pengujian metode pencarian semantic search dengan kalimat, bertujuan untuk mengetahui keberhasilan sistem yang dibangun. Kemudian cara kedua adalah dengan penghitungan informasi yang dikembalikan atau di retrieved oleh sistem. Pengujian ini dilakukan untuk mengukur kemampuan sistem dalam me-retrieve Informasi yang tersimpan dalam ontology. Untuk mengukur efektifitas sistem temu kembali informasi terdapat dua rasio umum yang biasa dipergunakan yaitu precision (ukuran kemampuan sebuah sistem untuk menampilkan hanya dokumen yang relevan) dan recall (ukuran kemampuan sistem untuk menampilkan seluruh dokumen yang relevan).
Menurut Mandala [7] pengujian dilakukan dengan cara memberikan penilaian berdasarkan komponen berikut :
1. Apakah sistem mampu mengenali kalimat dengan tepat dan mampu merubah kalimat pencarian menjadi representasi kalimat sebelum query?
4. Apakah sistem mampu menghasilkan informasi yang tepat untuk setiap kalimat pencarian yang dimasukkan?
Tabel 2. Pengujian kalimat pencarian pada semantic search
No pencarian Kalimat
Komponen pengujian:
apakah sistem mampu Jum lah Dok um en pad a Ont olog y Jumla h doku men yang dikem balika n Juml ah doku men relev an yang dike mbal ikan Pr eci sio n R ec all Me nge nali kali mat Me nge nali valu e kun ci Mene ntuk an state men query Me ngh asil kan info rma si yan g tepa t
1. Nokia     25 25 25 100
% 100% 2. Cari hp nokia     25 25 25 100
% 100% 3. Tampilkan
ponsel nokia 3806
    1 1 1 100
% 100%
4. Tampilkan ponsel produksi nokia
    25 25 25 100
% 100%
5. Tampilkan hp dengan kamera 8 mp
    9 9 9
6. Tampilkan hp dengan input keyboard
    16 16 16 100
% 100%
7. Cari
Handphone dengan fasilitas radio
    31 31 31 100
% 100%
8. Cari
Handphone dengan processor single core
    2 2 2 100
% 100%
9. Cari
Handphone dengan
processor 1.5 GHz
    7 7 7 100
% 100%
10.Tampilkan hp
11.Cari hp yang di
rilis tahun 2010     3 3 3 100% 100% 12.Tampilkan
handphone dengan memory 1 GB
    15 14 14 14/1
5= 14/14
13.Tampilkan koleksi hp dengan batre li-ion
    49 49 49 100
% 100%
14.Tampilkan handphone dengan harga satu jutaan
    18 18 18 100
% 100%
15.Tampilkan handphone dengan harga 1000.000
    8 8 8 100
% 100%
16.Tampilkan ponsel dengan jaringan
CDMA
    15 15 15 100
% 100%
17.Cari ponsel dengan predikat wide screen
    31 31 31 100
% 100%
18.Cari hp dengan koneksi
infrared
    1 1 1 100
% 100%
19.Cari hp dengan sistem android jellybean
    12 12 12 100
% 100%
20.tampilkan hp dengan
kategory low end
    32 32 32 100
% 100%
Hasil pengujian menunjukkan bahwa sistem mampu : 1. Mengenali hampir semua kalimat yang diinputkan.
2. Merubah kalimat perintah dan pertanyaan menjadi representasi kalimat sebelum query.
3. Mengenali value kunci yang terdapat pada kalimat pencarian dengan tepat. 4. Menentukan statemen query dengan tepat, dan
Contoh tampilan hasil pengujian ada pada gambar 6, 7 dan 8.
Gambar 6: Contoh hasil pengujian dengan kata kunci “nokia 3806”
Gambar 8: Contoh hasil pengujian dengan kalimat
4. KESIMPULAN
Berdasarkan penelitian yang telah dilakukan dapat disimpulkan beberapa hal sebagai berikut:
1. Penelitian ini menghasilkan ontology produk handphone berbasis OWL dan aplikasi semantic search dengan menggunakan aturan SWRL.
2. Untuk dapat memproses kalimat pencarian, maka ontology vocabulary dibuat untuk menyimpan data kosakata-kosakata yang digunakan dalam proses pencarian informasi. Ontology vocabulary berisi informasi Keyword, Stopword dan QuestionWord.
3. Kalimat-kalimat yang dapat diproses oleh sistem ini adalah kalimat berbahasa Indonesia yang mengandung kata-kata yang tersimpan pada ontology vocabulary. 4. Hasil pengujian dengan menginputkan sejumlah perintah pencarian, sistem
semantic search ini mampu mengenali kata kunci, kalimat perintah dan pertanyaan
yang diiinputkan dan memberikan informasi yang cukup relevan terhadap sejumlah perintah dan pertanyaan, dan memberikan rasio precision sebesar 99,55 % dan rasio recall sebesar 93,67 % .
5. Sistem juga mampu memproses kalimat-kalimat yang memiliki makna sama contohnya adalah : “apa sistem operasi dari ZTE fantasy” dan kalimat “sistem operasi dari ZTE fantasy namanya apa” akan menghasilkan informasi yang sama, yaitu menampilkan nama sistem operasi yang dipakai oleh ponsel ZTE fantasy.
5. SARAN
Dari pembahasan serta kesimpulan penelitian ini, ada beberapa saran yang dapat diberikan untuk penelitian selanjutnya :
1. Aplikasi ini didesign untuk melakukan pencarian informasi produk handphone yang diinputkan kedalam ontology. Kedepannya perlu ditambahkan mekanisme penambahan data secara otomatis kedalam ontology, yang diambil dari website yang sudah ada.
DAFTAR PUSTAKA
[1] Antoniou, G., dan Van Harmelen, F., 2008, A Semantic Web Primer, MIT Press, Massachusetts.
[2] Berners-Lee T., Hendler J., dan Lassila O., 2001, The Semantic Web. Technical report, Scientific American.
[3] Grimes, S., 2010, Two + Nine Types of Semantic Search, http://www.informationweek.com/news/software/bi/222400100, diakses 9 September 2011.
[4] Horrocks, I., Patel-Scheneider, P., Boley H., Tabet S., Grosof, B., dan Dean, M., SWRL: A semantic Web Rule Language Combining OWL and RuleML.
http://www.w3.org/Submission/SWRL/, diakses pada tanggal 12 Februari
2012.
[5] Lee, HK., Yu, YH., dan Jo, GS., No Date, Comparison Shopping System Based On Semantic Web: A Case Study Purchasing Cameras, Inha University, Korea.
[6] Liu, Z., dan Zhang, Y., 2010, Research and Design of E-commerce Semantic Search, IEEE Journal, Volume 4, Halaman 332-334.
[7] Mandala, R., 1999, Temu Kembali Informasi dengan Bantuan Analisis Linguistik, Proceeding of Information Processing and Management.
[8] Tala, Z, 2003, A Study of Stemming Effect on Information Retrieval in Bahasa
Indonesia, Institute for Logic, Language and Computation, Universiteit van
Amsterdam, The Netherlands.
[9] Vandic, D., van Dam, JW., dan Frasincar, F., 2011, Faceted Product Search
Powered by the Semantic Web, Erasmus University, Rotterdam.