Review Konsep Dasar IRS/ STI Sistem Temu Kembali Informasi/ Information Retrieval Review Konsep Dasar IRS/ STI
Dokumen
Penyimpanan yang Terorganisasi
Database Database Mahasiswa Buku ID Nama Buku Pengarang 001 Information Retrieval Ricardo baeza 002 Matematika Diskrit Rinaldi Munir 003 Pengenalan Java Abdul Kadir 004 Pengenalan C++ 005 Design Pattern Arnold
Unstructured Siapa pemain dalam novel tersebut ?
Digital Library UPGRIS
Database Retrieval vs IR – Dokumen mana yang mengandung himpunan keyword? – Semantik didefinisikan dengan baik – Error dari suatu obyek mengakibatkan kegagalan! Information retrieval – Informasi mengenai suatu subyek atau topik – Semantik dapat bersifat lepas (longgar) – Error kecil ditoleransi
Pengertian IR Pencarian materi (biasanya dokumen) dari sesuatu yang sifatnya tak-terstruktur (unstructured, biasanya teks) untuk memenuhi kebutuhan informasi dari dalam koleksi besar (biasanya disimpan dalam komputer). Representasi, penyimpanan, organisasi, pencarian dan akses ke item informasi untuk memenuhi kebutuhan informasi pengguna. Penekanan pada proses retrieval informasi (bukan data). Karakterisasi kebutuhan informasi tidaklah mudah. Harus ditranslasi ke dalam suatu query terlebih dahulu.
Information Retrieval Secara teknis: indexing (pembuatan index) dan retrieval (pencarian keterangan) dokumen textual. Pencarian halaman pada WWW adalah aplikasi paling “ngetop” saat ini Fokus pertama: me-retrieve dokumen- dokumen yang relevan dengan query. Fokus kedua: me-retrieve himpunan besar dokumen secara efisien. Tujuan: Me-retrieve semua dokumen yang relevan sekaligus me-retrieve sesedikit mungkin dokumen yang tidak relevan
Relevan Relevansi merupakan suatu judgment (keputusan) subyektif dan dapat didasarkan pada: – Topik yang tepat. – Waktu (informasi terbaru). – Otoritatif (dari suatu sumber terpercaya). – Kebutuhan informasi dari pengguna. Kriteria relevansi utama: suatu sistem IR sebaiknya (harus) memenuhi kebutuhan informasi pengguna.
Sistem IR
Sistem IR
Pencarian Keyword Ide paling sederhana dari relevansi: apakah string query ada di dalam dokumen (kata demi kata, verbatim)? Ide yang lebih fleksibel: Berapa sering kata-kata di dalam query muncul di dalam dokumen, tanpa melihat urutannya (bag of words)?
Masalah dengan Keyword Mungkin tidak me-retrieve dokumen relevan yang menyertakan synonymous terms. – “restaurant” vs. “café” – “NDHU” vs. “National Dong Hwa University” Mungkin me-retrieve dokumen tak-relevan yang menyertakan ambiguous terms. – “bat” (baseball vs. mamalia) – “Apple” (perusahaan vs. buah-buahan) – “bit” (unit data vs. perilaku menggigit)
Bukan Sekedar Keyword Kita akan mendiskusikan dasar-dasar IR berbasis keyword, tetapi… – Fokus pada perluasan dan pengembangan terakhir untuk mendapatkan hasil terbaik. Kita akan membahas dasar-dasar pembangunan sistem IR yang efisien, tetapi… – Fokus pada algoritma dan kemampuan dasar, bukan masalah sistem yang memungkinkan pengembangan ke database ukuran industri.
IR Cerdas Memanfaatkan pengertian atau makna dari kata yang digunakan. Melibatkan urutan kata di dalam query. Beradaptasi dengan pengguna berdasarkan pada feedback, langsung atau tidak langsung. Memperluas pencarian dengan term terkait. Mengerjakan pemeriksaan ejaaan/perbaikan tanda pengenal otomatis. Memanfaatkan Otoritas dari sumber
Perkembangan IR Klasifikasi Dokumen Clustering Dokumen Peringkasan Teks Question Answering System
Portal Jurnal http://www.sciencedirect.com/ : e-jurnal.upgris.ac.id : Prosiding.upgris.ac.id e-jurnal.upgris.ac.id : http://scholar.google.com/
Pemodelan IR
Boolean Retrieval Model Model proses pencarian informasi dari query, yang menggunakan ekspresi boolean. Ekspresi boolean dapat berupa operator logika AND, OR dan NOT. Hasil perhitungannya hanya berupa nilai binary (1 atau 0). Ini menyebabkan di dalam Boolean Retrieval Model (BRM), yang ada hanya dokumen relevan atau tidak sama sekali. Tidak ada pertimbangan dokumen yang ‘mirip’.
Boolean Retrieval Model Dalam pengerjaan operator boolean (AND, NOT, OR) ada urutan pengerjaannya (Operator precedence). Urutannya adalah: () Prioritas yang berada dalam tanda kurung NOT AND OR Jadi kalau ada query sebagai berikut? (Madding OR crow) AND Killed OR slain (Brutus OR Caesar) AND NOT (Antony OR Cleopatra)
Permasalahan IR Misalkan kita ingin mencari dari cerita-cerita karangan shakespeare yang mengandung kata Brutus AND Caesar AND NOT Calpurnia. Salah satu cara adalah: Baca semua teks yang ada dari awal sampai akhir. Komputer juga bisa disuruh melakukan hal ini (menggantikan manusia). Proses ini disebut grepping. Melihat kemajuan komputer jaman sekarang, grepping bisa jadi solusi yang baik.
Permasalahan IR Tapi, kalau sudah bicara soal ribuan dokumen, kita perlu melakukan sesuatu yang lebih baik. Karena ada beberapa tuntutan yang harus dipenuhi : Kecepatan dalam pemrosesan dokumen yang jumlahnya sangat banyak. Fleksibilitas. Perangkingan. Salah satu cara pemecahannya adalah dengan membangun index dari dokumen.
Incidence Matrix Incidence matrix adalah suatu matrix yang terdiri dari kolom (dokumen) dan baris (token/terms/kata). Pembangunan index akan berbeda untuk tiap metode Retrieval. Untuk boolean model, salah satunya kita akan menggunakan Incidence matrix sebagai index dari korpus (kumpulan dokumen) data kita. Dokumen yang ada di kolom adalah semua dokumen yang terdapat pada korpus data kita.
Incidence Matrix Token/Terms/Kata pada baris adalah semua token unik (kata yang berbeda satu dengan yang lainnya) dalam seluruh dokumen yang ada. Saat suatu token(t) ada dalam dokumen(d), maka nilai dari baris dan kolom (t,d) adalah 1. Jika tidak ditemukan, maka nilai kolom (t,d) adalah 0. Dari sudut pandang kolom, kita bisa tahu token apa saja yang ada di satu dokumen (d). Dari sudut pandang barisnya, kita bisa tahu di dokumen mana saja token (t) ada (posting lists).
Case Study A (1 of 3) Perhatikan tabel berikut. (Vektor baris menyatakan keberadaan suatu Token/Terms/Kata unik yang ada dalam semua dokumen. Vektor kolom menyatakan semua nama dokumen yang digunakan). Diketahui 6 dokumen dengan masing-masing kata yang terdapat di dalamnya. Jika kata tersebut berada dalam dokumen, maka Term Frekuensi Biner/ TFbiner = 1, jika tidak TFbiner = 0. Antony & Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth Antony 1 Brutus Caesar Calpurnia Cleopatra Mercy Worser ….
Case Study A (2 of 3) Dengan mengunakan Incidence matrix yang sudah dibangun, kita sudah bisa memecahkan masalah yang pertama dihadapi tadi. Kemudian misalkan mencari hasil Boolean Query Retrieval : Brutus AND Caesar AND NOT Calpurnia Maka dapat diketahui dengan mudah, dokumen mana saja yang mengandung kata Brutus dan Caesar, tetapi tidak mengandung kata Calpurnia.
Case Study A (3 of 3) TFbiner(Brutus) = 110100 TFbiner(Caesar) = 110111 TFbiner(Calpurnia) = 010000 Brutus AND Caesar AND NOT Calpurnia = 110100 AND 110111 AND NOT 010000 = 110100 AND 110111 AND 101111 = 100100 Berarti, jawaban hasil Boolean Query Retrieval : Brutus AND Caesar AND NOT Calpurnia adalah Dokumen “Antony & Cleopatra” dan “Hamlet” 1
Latihan Individu (Today) Buatlah Incidence matrix untuk dokumen-dokumen berikut : Tentukan hasil boolean query retrieval berikut berdasarkan Incidence matrix di atas : Home AND Sales AND NOT July Home AND July AND NOT Sales Dokumen (Doc) Isi (Content) Doc 1 New home sales top forecasts Doc 2 Home sales rise in july Doc 3 Increase in home sales in july Doc 4 July new home sales rise
Inverted Index Inverted index adalah sebuah struktur data index yang dibangun untuk memudahkan query pencarian yang memotong tiap kata (term) yang berbeda dari suatu daftar term dokumen. Tujuan : Meningkatkan kecepatan dan efisiensi dalam melakukan pencarian pada sekumpulan dokumen. Menemukan dokumen-dokumen yang mengandung query user.
Inverted Index Ilustrasi : Brutus 1 2 4 11 31 45 173 174 Caesar 1 2 4 6 16 57 132 … Calpurnia 2 31 54 101 (Dictionary) (Postings) Kumpulan semua kata unik dari semua dokumen Posisi Token/Terms/Kata pada dokumen
Inverted Index Inverted index mempunyai vocabulary, yang berisi seluruh term yang berbeda pada masing-masing dokumennya (unik), dan tiap-tiap term yang berbeda ditempatkan pada inverted list. Notasi : <idj, fij,[O1,O2,…,Ok | fij |]> Keterangan : idj adalah ID dokumen dj yang mengandung term ti fij adalah frekuensi kemunculan term ti didokumen dj Ok adalah posisi term ti di dokumen dj.
Case Study B (1 of 4) Perhatikan beberapa dokumen berikut : (Buatlah Inverted Index-nya) Dokument 1 (Id1): Dokument 2 (Id2) : Dokument 3 (Id3) : Algoritma Genetik dapat digunakan untuk 1 2 3 4 5 Optimasi fuzzy 6 7 Optimasi fungsi keanggotaan pada fuzzy 1 2 3 4 5 Algoritma genetik merupakan algoritma Learning 1 2 3 4 5
Case Study B (2 of 4) Set vocabulary : {algoritma, genetik, dapat, digunakan, untuk, optimasi, fuzzy, fungsi, keanggotaan, pada, merupakan, learning} Inverted Index sederhana : Term Inverted List Algoritma Id1, id3 Dapat Id1 Digunakan Fungsi Id2 Fuzzy Id1, id2 Genetik Keanggotaan Learning Id3 Merupakan Optimasi Pada Untuk id1
Case Study B (3 of 4) Bentuk komplek dari Inverted Index : Kemudian misalkan mencari hasil Boolean Query Retrieval : Fuzzy OR NOT (Genetik AND Learning) Term Inverted List Algoritma <Id1,1,[1]>, <id3,2,[1,4]> Dapat <Id1,1,[3]> Digunakan <Id1,1,[4]> Fungsi <Id2,1,[2]> Fuzzy <Id1,1,[7]>, <id2,1,[5]> Genetik <Id1,1,[2]>, <id3,1,[2]> Keanggotaan <Id2,1,[3]> Learning <Id3,1,[5]> Merupakan <Id3,1,[3]> Optimasi <Id1,1,[6]>, <id2,1,[1]> Pada <Id2,1,[4]> Untuk <Id1,1,[5]>
Case Study B (4 of 4) Kemudian misalkan mencari hasil Boolean Query Retrieval : Fuzzy OR NOT (Genetik AND Learning) TFbiner(Fuzzy) = 110 TFbiner(Genetik) = 101 TFbiner(Learning) = 001 Fuzzy OR NOT (Genetik AND Learning) = 110 OR NOT (101 AND 001) = 110 OR NOT (001) = 110 OR 110 = 110 Jadi hasil Boolean Query Retrieval : Fuzzy OR NOT (Genetik AND Learning) adalah Dokumen “1 dan 2”.
Selesai