PENGEMBANGAN PURWARUPA SEMANTIC SEARCH MENGGUNAKAN SEMANTIC WEB RULE LANGUAGE UNTUK PENCARIAN INFORMASI PRODUK Asih Winantu*1, Azhari SN2 1 Program Studi Manajemen Informatika STMIK EL RAHMA, Jl. Sisingamangaraja 76 Yogyakarta 2 Program Studi S2/S3 Ilmu Komputer, FMIPA UGM Sekip Utara Bulaksumur Yogyakarta e-mail: *1
[email protected],
[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. This research was focused on constructing a handphone ontology and a prototype of Handphones product information search semantic web based, the product information was stored in a knowledge base which is called ontology. Search parameters can include keywords or phrases. Services provided in this system is a search service with sentences in Indonesian language. While the rules are the rules of language processing built with Natural Language Processing with reference to the Tala algorithm, so the system is able to understand the meaning of a keyword or
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 (DARPA Agent Markup Language + Ontology Inference Language). User dapat mengisikan
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 untuk merepresentasikan informasi produk Handphone. 2. Predicate untuk merepresentasikan 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 handphone.
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 Proses tokenizing adalah memisahkan setiap kata yang menyusun suatu kalimat pencarian yang diterima oleh sistem. Umumnya setiap kata dalam suatu kalimat terpisahkan oleh karakter spasi, sehingga proses tokenisasi mengandalkan karakter spasi pada kalimat untuk melakukan pemisahan kata.
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 katakata 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 Setelah proses filtering, tokenizing dan stemming, maka langkah selanjutnya adalah sistem akan mencari kesesuaian kata-kata yang didapat dari proses tersebut kedalam ontology vocabulary.owl. Sistem akan mencocokkan apakah kata-kata yang terbentuk termasuk dalam questionword, Kelas, Object Properties, datatype properties dan value. Setelah proses representasi selesai dilakukan maka langkah selanjutnya adalah menetapkan masing-masing hasil yang didapat kedalam ontology Handphone. Setelah individu berhasil diperoleh, langkah selanjutnya adalah menetapkan kelas yang memuat individu hasil pencarian .
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 Nama Rule Sintaks Keterangan
N o 1.
RuleHandphone
2.
RuleSmartphone
3.
RuleTablet
4.
RulePhablet
5.
RuleOSVersi
Handphone(?x) sqwrl:select(?x) Handphone(?x) ∧ hasOS(?x, ?os) ∧ processor(?x, ?pro) → sqwrl:select(?x) Handphone(?x) ∧ hasOS(?x, ?os) ∧ processorSpeed(?x, ?ps) ∧ Predicate(?p) ∧ name(?p, ?n) ∧ swrlb:containsIgnoreCase(?n, "tablet") ∧ predicateOf(?p, ?x) → sqwrl:select(?x) Handphone(?x) ∧ hasOS(?x, ?os) ∧ processorSpeed(?x, ?ps) ∧ Predicate(?p) ∧ name(?p, ?n) ∧ swrlb:containsIgnoreCase(?n, "phablet") ∧ predicateOf(?p, ?x) → sqwrl:select(?x) OS(?x) ∧ version(?x,?y) name(?x,?y)
Rule untuk menampilkan seluruh koleksi Handphone Rule untuk menampilkan seluruh koleksi smartphone Rule untuk koleksi tablet
menampilkan
Rule untuk menampilkan koleksi phablet
OS x memiliki versi maka y merupakan nama dari OS tersebut.
6.
RulePriceRangeAli as
7.
RulePredicateAlias
8.
RuleCategoryAlias
9.
RuleHpHasPredic ate
10.
RuleHpHasCatego ry
11.
InversRuleHpHas Predicate
12.
InversRuleHp HasCategory
13.
OsOfHp
14.
RuleConnectionO f
15.
RuleHpHasNetwo rk
PriceRange(?x) ∧ alias(?x,?y) Range harga x memiliki alias maka y merupakan nama dari PriceRange tersebut. name(?x,?y) Predicate(?x) ∧ alias(?x,?y) Predicate x memiliki alias maka y merupakan nama dari name(?x,?y) predicate tersebut. Category(?x) ∧ alias(?x,?y) category x memiliki alias maka y merupakan nama dari name(?x,?y) category tersebut. Handphone(?x) ∧ Handphone X memiliki ScreenSize(?y) ∧ Screen Y, dan screen Y hasScreen(?x,?y) ∧ memiliki predicate Z, maka Predicate(?z) ∧ handphone X memiliki hasPredicate(?y,?z) predicate Z hasPredicate(?x,?z) Handphone(?x) ∧ Handphone X memiliki PriceRange(?y) ∧ harga Y, dan harga Y hasPrice(?x,?y) ∧ memiliki category Z, maka Category(?z) ∧ handphone X memiliki hasCategory(?y,?z) category Z hasCategory(?x,?z) Handphone(?x) ∧ Handphone X memiliki ScreenSize(?y) ∧ predicate Z, maka sebaliknya hasScreen(?x,?y) ∧ predicate Z dimiliki oleh Predicate(?z) ∧ Handphone X hasPredicate(?y,?z) ∧ hasPredicate(?x,?z) PredicateOf(?z,?x) Handphone(?x) ∧ Handphone X memiliki PriceRange(?y) ∧ category Z, maka sebaliknya hasPrice(?x,?y) ∧ category Z dimiliki oleh Category(?z) ∧ Handphone X hasCategory(?y,?z) ∧ hasCategory(?x,?z) categoryOf(?z,?x) Handphone(?x) ∧ OS(?y) ∧ Handphone X memiliki OS Y, maka sebaliknya OS Y hasOS(?x,?y) osOf(?y,?x) merupakan OS dari Handphone X Handphone(?x) ∧ Handphone X memiliki Connection(?y) ∧ Connection Y, maka hasConnection(?x,?y) sebaliknya Connection Y merupakan koneksi dari connectionOf(?y,?x) Handphone X Handphone(?x) ∧ Handphone X memiliki Network(?y) ∧ Network Y, maka sebaliknya Network Y merupakan
16.
RuleHpHasPrice
hasNetwork(?x,?y) networkOf(?y,?x) Handphone(?x) ∧ Price(?y) ∧ hasPrice(?x,?y) priceOf(?y,?x)
network dari Handphone 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? 2. Apakah sistem mampu mengenali kunci value dengan tepat? 3. Apakah sistem mampu menentukan statemen query dengan tepat?
4. Apakah sistem mampu menghasilkan informasi yang tepat untuk setiap kalimat pencarian yang dimasukkan? Tabel 2. Pengujian kalimat pencarian pada semantic search Komponen pengujian: apakah sistem mampu Jum Juml Me lah Jumla ah ngh Dok h doku Me asil um doku men Mene Me nge kan Kalimat en men relev ntuk No nge nali info pencarian pad yang an an nali valu rma a dikem yang state kali e si Ont balika dike men mat kun yan olog n mbal query ci g y ikan tepa t 1. Nokia 25 25 25
Pr eci sio n
R ec all
100 100 % % 100 100 % % 100 100 % %
2. Cari hp nokia
25
25
25
3. Tampilkan ponsel nokia 3806 4. Tampilkan ponsel produksi nokia 5. Tampilkan hp dengan kamera 8 mp 6. Tampilkan hp dengan input keyboard 7. Cari Handphone dengan fasilitas radio 8. Cari Handphone dengan processor single core 9. Cari Handphone dengan processor 1.5 GHz 10.Tampilkan hp slot single sim
1
1
1
25
25
25
9
9
9
16
16
16
100 100 % %
31
31
31
100 100 % %
2
2
2
100 100 % %
7
7
7
100 100 % %
34
34
3
100 100 % %
100 100 % %
11.Cari hp yang di rilis tahun 2010 12.Tampilkan handphone dengan memory 1 GB 13.Tampilkan koleksi hp dengan batre liion 14.Tampilkan handphone dengan harga satu jutaan 15.Tampilkan handphone dengan harga 1000.000 16.Tampilkan ponsel dengan jaringan CDMA 17.Cari ponsel dengan predikat wide screen 18.Cari hp dengan koneksi infrared 19.Cari hp dengan sistem android jellybean 20.tampilkan hp dengan kategory low end
1. 2. 3. 4. 5.
3
3
3
100 100 % % 14/1 14/1 5= 4
15
14
14
49
49
49
100 100 % %
18
18
18
100 100 % %
8
8
8
100 100 % %
15
15
15
100 100 % %
31
31
31
100 100 % %
1
1
1
100 100 % %
12
12
12
100 100 % %
32
32
32
100 100 % %
Hasil pengujian menunjukkan bahwa sistem mampu : Mengenali hampir semua kalimat yang diinputkan. Merubah kalimat perintah dan pertanyaan menjadi representasi kalimat sebelum query. Mengenali value kunci yang terdapat pada kalimat pencarian dengan tepat. Menentukan statemen query dengan tepat, dan Menghasilkan informasi yang tepat untuk sejumlah kalimat perintah dan pertanyaan yang diinputkan
Contoh tampilan hasil pengujian ada pada gambar 6, 7 dan 8.
Gambar 6: Contoh hasil pengujian dengan kata kunci “nokia 3806”
Gambar 7: Contoh hasil pengujian dengan kalimat tanya
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. 2. Aplikasi ini belum bisa menjawab pertanyaan pengguna yang berkaitan dengan data kualitatif, contohnya “cari hp yang bagus”,”cari hp dengan kamera terbaik”, “cari hp terbaik” sehingga untuk penelitian selanjutnya perlu ditambahkan rule-
rule dan mekanisme untuk bisa menjawab pertanyaan yang berkaitan dengan data kualitatif.
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.
[10] Zhang, L., Zhu, M., Huang, W., 2009, A Framework for an Ontology-based E-commerce Product Information Retrieval System, Journal of compuTers, Volume 4, Nomor 6, November 2009, halaman 436-443