Pencarian Semantik Web Menggunakan Swoogle

1. Pendahuluan

Perkembangan dan pengaruh dari World Wide Web (WWW) yang terus meningkat, membuat mesin pencari memainkan peran penting dalam infrastruktur web. Mesin pencari seperti Google menjadi acuan utama dari pengakses web untuk mendapatkan informasi yang diinginkan. Teknik dan metode pengolahan ini terus berkembang yang tujuan akhirnya membuat proses pencarian semakin cepat dan efisien.

Selain isi dari situs web yang menjadi target pencarian, kini berkembang pula mekanisme baru untuk pencarian informasi, yang dikenal dengan Semantic Web (SW). SW adalah perluasan dari WWW, yaitu isi dari situs web tidak hanya dalam bentuk bahasa alami (materi yang ditujukan untuk manusia), tapi juga disediakan data tambahan yang berguna bagi mesin dan perangkat lunak untuk pengolahan lebih lanjut. Dengan demikian suatu situs tidak hanya berupa isi tersurat tapi juga memiliki arti (semantik) yang menjelaskan situs tersebut. Hal yang luput dari struktur HTML yang selama ini digunakan.

Sebagai contoh situs jualbeli.com yang merupakan toko online untuk penjualan dan pembelian barang tertentu. Manusia dapat mengenali situs tersebut dengan mudah, namun tidak untuk mesin. Dengan SW maka penjelasan tambahan, seperti siapa apa yang dilakukan, siapa pemiliknya, di mana alamatnya, masuk kategori apa, dan seterusnya, sehingga situs tersebut dapat dikenali oleh mesin sebagai tempat jual beli barang.

Format data yang digunakan utamanya adalah OWL (Web Ontology Language) dan RDF (Resource Description Language). Struktur RDF berbentuk XML (Extensible Markup Language), contohnya:

<rdf:RDF

xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#&#8221;

xmlns:dc=”http://purl.org/dc/elements/1.1/”&gt;

<rdf:Description rdf:about=”http://en.wikipedia.org/wiki/Tony_Benn”&gt;

<dc:title>Tony Benn</dc:title>

<dc:publisher>Wikipedia</dc:publisher>

</rdf:Description>

</rdf:RDF>

2. Swoogle

Untuk melakukan pencarian berdasarkan data-data semantik web, dibuatlah suatu mesin pencari yang diberi nama Swoogle. Swoogle dirancang sebagai suatu sistem yang secara otomatis menemukan Semantic Web Document, mengindeks metadata yang ada di dalamnya, dan menjawab pertanyaan (query) yang diajukan.

Semantic Web Document (SWD) adalah dokumen yang berisikan data-data semantik web dalam format RDF.

2.1. Arsitektur Swoogle

Swoogle terdiri dari bagian-bagian berikut:

  • Web Crawler, yang tugasnya menelusuri situs-situs yang ada atau terdaftar untuk menemukan SWD.
  • Metadata Generator, yaitu untuk membuat metadata dari SWD.
  • Database, yaitu sebagai tempat penyimpan metadata.
  • Semantic Relationship Extractor, yaitu mencari keterkaitan semantik dari SWD yang ada.
  • N-Gram Indexing and Retrieval Engine, yaitu perangkat pembuat indeks berdasarkan N-Gram dan pencariannya kembali.
  • Query Interface, yaitu antarmuka untuk melakukan query terhadap sistem.
  • Web Service API, yaitu seperangkat antarmuka untuk keperluan pemrograman.

N-Gram adalah segmen teks yang terdiri dari n-karakter, termasuk pemisah antar kata (biasanya berupa spasi atau tanda baca). Pendekatan N-Gram yaitu dengan melakukan pergeseran bingkai (sliding window) dan mengambil contoh tiap-tiap pergeseran karakter. Penggunaan N-Gram dapat menghasilkan kamus yang lebih besar, karena tiap-tiap kata dapat mengandung sejumlah N-Gram. Satu keuntungan dari pendekatan ini adalah hubungan antar-kata dapat dijaga, yang biasanya tidak tercakup bila dilakukan pendekatan per kata.

Penggunaan N-Gram semakin penting terutama untuk istilah-istilah yang berupa referensi URI (Uniform Resource Identifier), URIrefs. Misalnya kata kunci pencarian adalah “time temporal interval point before after during day month year eventually calendar clock durations end begin zone”, maka ini akan mencakup dokumen-dokumen dengan URIrefs berikut:

Bila menggunakan pencocokan kata per kata, maka dokumen-dokumen tersebut akan luput dari pencarian.

clip_image001

Gambar 1: Arsitektur dari Swoogle

Dalam gambar di atas terlihat 4 komponen utama: pencarian SWD, pembuatan metadata, analisa data, dan antarmuka. Arsitektur ini bersifat data-centris dan dapat diperluas. Tiap-tiap komponen bekerja secara independen dan berinteraksi antara satu dengan lainnya melalui database.

  1. Pencarian SWD, yaitu menemukan SWD yang potensial melalui jaringan web, dan menjaga informasi tentang SWD tersebut agar selalu terkini (up-to-date). Terdapat 4 mekanisme penentuan lokasi situs, yaitu (i) URL yang dikirim, (ii) Menelusuri web untuk menemukan situs-situs yang menjanjikan, (iii) Menelusuri web dari URL yang didapatkan dari mesin pencari (seperti Google), dan (iv) Melalui SwoogleBot yang memeriksa dan menganalisa SWD untuk menghasilkan kandidat baru.
  2. Pembuatan metadata, yaitu menyimpan gambaran dari suatu SWD dan membangkitkan metadata yang obyektif baik pada tingkat sintaks maupun semantik. Metadata yang dihasilkan tidak hanya karakterisasi dari masing-masing SWD, namun juga mencatat keterkaitan antar mereka.
  3. Analisa data, yaitu melakukan analisa dari metadata dan SWD yang ada dan menghasilkan laporan yang bersifat analitik, misalnya penggolongan dari SWD, mekanisme peringkat dari SWD, dan membuat indeks.
  4. Antarmuka, yaitu menyediakan layanan pencarian data bagi tiap agen (baik manusia ataupun perangkat lunak), melakukan akses terhadap metadata dan menelusuri semantik web yang ada. Saat ini telah tersedia antarmuka web di http://www.Swoogle.org, dan sedang dikerjakan antarmuka untuk agen perangkat lunak.
3. Menemukan SWD

Menemukan URL dari SWD merupakan tantangan tersendiri. Pendekatan yang mudah yaitu melalui mesin pencari konvensional, seperti Google. Hingga Agustus 2004 Google telah mengindeks 4,2 milyar dokumen web. Tidaklah mungkin bagi Swoogle untuk menguraikan seluruh dokumen yang ada untuk melihat apakah mereka adalah SWD. Untuk keperluan penelusuran ini dibangunlah perayap (crawler) dengan menggunakan sejumlah teknik heuristik.

Pertama, telah dibangun Google Crawler untuk mencari URL menggunakan Google Web Service. Dimulai dengan mencari file berekstensi seperti “.rdf”, “.owl”, “.daml” dan “.n3”. Meskipun bukan penanda yang baik suatu SWD, tetapi cukup memadai dan memiliki ketepatan yang lumayan. Untuk mengatasi keterbatasan Google yang mengembalikan hanya 1000 dokumen untuk tiap query, ditambahkan beberapa kata kunci hingga query yang dihasilkan lebih spesifik dan kemudian menggabungkan hasil yang ada (lihat tabel). Mengingat Google mengganti peringkat halaman (PageRanks) setiap hari, maka pencarian SWD yang baru (menggunakan query yang sama) diharapkan berjalan setiap minggu.

Ekstensi

Banyak Ditemukan

Banyak SWD

rdf

184.992

111,350 (60%)

rss

8.359

7.712 (92%)

owl

4.669

3.138 (67%)

n3

4.326

1.523 (35%)

daml

3.669

2.256 (61%)

n/a

154.591

7.258 (5%)

Tabel 1: Ekstensi dari SWD (per 30 Agustus 2004)

String Query

Jumlah Halaman

rdf

5.230.000

filetype:rdf rdf

246.000

filetype:rss rdf

13.800

filetype:daml rdf

4.360

filetype:n3 rdf

2.630

filetype:owl rdf

1.310

filetype:rdfs rdf

304

Tabel 2: Hasil pencarian Google (per 25 Mei 2004)

Kedua, dibangun pula Focused Crawler, yang merayapi dokumen dalam sebuah situs web. Dalam rangka menekan kerumitan pencarian dan meningkatkan ketepatan, teknik heuristik sederhana digunakan, seperti batasan ekstensi (misal dokumen .jpg atau .html jarang berupa SWD) dan batasan fokus (misal hanya menelusuri URL relatif dari dokumen). Disediakan antarmuka web di mana pengguna terdaftar dapat mengirimkan URL baik berupa SWD ataupun direktori tempat SWD tersebut berada. Pada tahap awal, URL dari berbagai SW yang banyak dikenal telah dimasukkan, dan secara aktif mengundang pula komunitas SW untuk membantu memperkaya daftar URL.

Ketiga, dibangun pula JENA2 Crawler yang menganalisa isi dari SWD dan menemukan SWD yang baru. Pertama, dengan mengecek apakah suatu dokumen SWD atau tidak, dan mengunjungi URL yang telah ditemukan agar selalu terkini. Kedua, menggunakan teknik heuristik melalui hubungan semantik berikut:

  • URIref kemungkinan besar merupakan URL dari SWD.
  • owl:imports merujuk pada eksternal ontologi, yang merupakan SWD.
  • Semantik dari FOAF (Friend of A Friend) yang merujuk pada rdfs:see dan rdfs:person, dan seringkali terkait dengan dokumen FOAF yang lain, yang biasanya adalah SWD.
4. SWD Metadata

SWD metadata dibuat untuk membuat pencarian SWD lebih efisien dan efektif. Data ini didapat dari isi SWD termasuk pula hubungan antar SWD. Swoogle mengenali 3 kategori dari metadata:

  1. Metadata dasar, yaitu dilihat pada segi sintaktik dan semantik dari SWD.
  2. Hubungan / kaitan, yaitu menurut arti yang jelas dari masing-masing SWD.
  3. Hasil penelitian, yaitu berupa penggolongan dan pemberian peringkat.
4.1. Metadata Dasar

Metadata dasar dari SWD digolongkan dalam 3 kategori:

  1. Keistimewaan bahasa, merujuk pada sifat-sifat yang menjelaskan sintak maupun semantik dari SWD. Swoogle mengenali sifat-sifat berikut:
    1. Pengkodean (Encoding), dikenal 3 pengkodean yang ada, yaitu RDF/XML, N-TRIPLE, dan N3.
    2. Bahasa (Language), dikenal 4 macam bahasa, yaitu OWL, DAML, RDFS (Schema), dan RDF.
    3. Rumpun (Species) OWL, dikenal 3 macam, yaitu OWL-LITE, OWL-DL, dan OWL-FULL.
  2. Statistik RDF, merujuk pada sifat-sifat dari pengambilan kesimpulan dari distribusi simpul grafik RDF dari sebuah SWD. Simpul dilihat dari rdf:Class, rdf:Property, maupun individu (tidak masuk class ataupun property).
  3. Catatan Ontologi, merujuk pada sifat-sifat yang menunjukkan SWD sebagai suatu ontologi (bagian dari OWL:Ontology). Swoogle mencatatnya sebagai label (misal rdfs:label), komentar (misal rdfs:comment) dan keterangan versi (misal owl:versioninfo dan daml:versionifo).
4.2. Hubungan Antar SWD

Dalam menganalisa keterkaitan dari tiap-tiap SWD, Swoogle mencatat tingkat hubungan berikut:

  • TM/IN, menunjukkan referensi istilah atau individu dari dua SWD.
  • IM, menunjukkan suatu ontologi mengimpor ontologi yang lain.
  • EX, menunjukkan suatu ontologi memperluas yang lain.
  • PV, menunjukkan suatu ontologi versi sebelum yang lain.
  • CPV, menunjukkan suatu ontologi versi sebelum dan bersesuaian dengan yang lain.
  • IPV, menunjukkan suatu ontologi versi sebelum tapi tidak sesuai dengan yang lain.

 

Jenis

Kelas dan Sifat

IM

owl:imports, daml:imports

EX

rdfs:subClassOf, rdfs:subPropertyOf, owl:disjointWith, owl:equivalentClass,

owl:equivalentProperty, owl:complementOf, owl:inverseOf, owl:intersectionOf, owl:unionOf daml:sameClassAs, daml:samePropertyAs, daml:inverseOf, daml:disjoinWith, daml:complementOf, daml:unionOf, daml:disjointUnionOf, daml:intersectionOf

PV

owl:priorVersion

CPV

owl:DeprecatedProperty, owl:DeprecatedClass, owl:backwardCompatibleWith

IPV

owl:incompatibleWith

Tabel 3: indikator hubungan antar ontologi

5. Peringkat, Indeks dan Pencarian SWD

clip_image003

Gambar 2: Rational Random Surfer

Swoogle mengembangkan teknik pembuat peringkat dokumen bernama OntoRank. Teknik ini didasarkan pada Rational Surfer Model (RRS) yang menirukan langkah-langkah navigasi dari suatu agen pada tingkat dokumen. Pada model ini, suatu agen bisa mengikuti suatu kaitan (link) dalam SWD atau melompat secara acak.

OntoRank dihitung dalam 2 langkah: (i) secara berulang menghitung peringkat dari tiap SWD hingga menyatu; dan (ii) secara bertahap mengirimkan peringkat SWD ke seluruh ontologi yang diimpor.

Masalah utama dalam mesin pencarian semantik web adalah proses pembuatan indeks dan pencarian SWD. Pada hal ini kecepatan adalah hal yang utama, meskipun hasil yang diharapkan memiliki ketepatan yang rendah. Proses indeks dengan metode N-Gram dapat membantu pencarian tidak hanya per kata namun juga mencakup antar-kata.

6. Status Saat Ini

Saat ini Swoogle dapat digunakan secara online di http://Swoogle.umbc.edu/. Pengguna dapat memasukkan kata kunci yang ingin dicari untuk kemudian SWD yang sesuai akan ditampilkan menurut peringkat. Disediakan pula pencarian mode lanjut (advanced) sehingga user dapat memasukkan sejumlah batasan yang akan ditambahkan ke dalam SQL query untuk database.

Dikembangkan pula Swoogle2 yang memiliki 3 komponen utama: pencarian, kamus ontologi, dan pengukuran statistik dari koleksi SWD yang ada.

clip_image005

Gambar 3: Tampilan situs Swoogle

7. Kesimpulan

Mesin pencari yang populer saat ini, seperti Google, tidak bekerja dengan baik untuk SWD, karena dirancang untuk bahasa alami dan memperlakukan dokumen sebagai kumpulan dari kata-kata. Akibatnya terjadi kegagalan dalam memahami struktur dan semantik dari SWD sehingga tidak dapat mengambil keuntungan dari dokumen-dokumen tersebut. Swoogle berupaya untuk mengatasi kebutuhan tersebut .

Swoogle mendukung dua hal utama: (i) membantu periset data untuk menemukan ontologi dan istilah-istilah, dan (ii) melayani agen-agen (perangkat lunak) dalam mencari data dan pengetahuan. Pengembangan lebih lanjut Swoogle, seperti memperbesar dataset dan meningkatkan algoritma rangking, akan membuat Swoogle semakin diminati sebagai mesin pencari untuk semantik web.

8. Referensi
  1. Ding, L., Finin, T., Joshi, A., Pan, R., Cost, R.S., Peng, Y., Reddivari, P., Doshi, V.C., Sachs, J.: Swoogle: A search and metadata engine for the semantic web. In: CIKM’04, 2004.
  2. Li Ding, Rong Pan, Tim Finin, Anupam Joshi, Yun Peng, and Pranam Kolari: Finding and Ranking Knowledge on the Semantic Web. In: Proceedings of the 4th International Semantic Web Conference, Galway IE, November 2005.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s