modul ii ir 2010

Upload: linardilie

Post on 15-Jul-2015

90 views

Category:

Documents


0 download

TRANSCRIPT

shw1

Modul II

Model Information Retrieval - 1

Sri Hartati [email protected]

Slide 1 shw1Sri Hartati Wijono, 9/1/2008

TujuanMampu mendefinisikan tugas dasar IR Mampu mendefinisikan model IR Mampu menyelesaikan problem IR menggunakan Boolean Retrieval Model

Basic IR Process

RetrievalClassical IRMerupakan tugas yang adalah pusat dari IR Memberikan umpan balik untuk memperbaiki kueri

Modern IRMerupakan bagian dari Big Picture Tool yang penting Digunakan dalam search, filtering, and browsing

Kueri UserTujuan pencarianMemprediksi dokumen yang relevan dengan kebutuhan user Rank-ing dokumen sesuai dengan urutan kemungkinan tingkat relevansi

Diperlukan menangani :Dokumen Kueri Fungsi ranking

model

yang

mampu

Apa itu Retrieval Model ? Model adalah abstraksi dari proses real / nyata. Model matematika digunakan untuk mempelajari sifat proses, membuat kesimpulan, membuat prediksi. Kualitas hasil tergantung pada seberapa dekat model dapat merepresentasikan realitas. Model statistik menyatakan proses perulangan, membuat prediksi tentang frekuensi kejadian, menggunakan probabilitas sebagai tool mendasar.

Retrieval model dapat mendeskripsikan proses komputasi Contoh : bagaimana dokumen diranking ? Catatan: Bagaimana dokumen atau indeks disimpan adalah bagian dari implementasi

Retrieval model dapat mendeskripsikan proses yang terjadi pada manusia Contoh : kebutuhan informasi seseorang, interaksi

Variabel retrieval : kueri, dokumen, kata, relevance judgement, user, kebutuhan informasi

Model RetrievalSuatu model retrieval berisi detail :Representasi dokumen Representasi Query Fungsi Retrieval Fungsi Ranking

Menentukan makna relevan Makna relevan bisa biner atau kontinu (mis. Ranked retrieval)

Retrieval Models: Exact Match vs. Best Match Retrieval Exact matchKueri mempunyai kriteria pemerolehan yang tepat. Setiap dokumen sesuai atau tidak dengan kueri yang diberikan. Hasil berupa sekumpulan dokumen. Biasanya tidak dalam urutan tingkat relevan

Best matchKueri mendeskripsikan kriteria pencarian untuk pemerolehan dokumen yang paling cocok. Setiap dokumen memiliki tingkat kesesuaian/kecocokan dengan kueri. Hasil berupa daftar dokumen dalam urutan ranking, biasanya yang terbaik adalah yang paling awal.

+ / - Exact Match KelebihanEfisien dalam implementasi Dapat diprediksi, mudah untuk dijelaskan Kueri terstruktur yang merujuk ke dokumen yang tepat Bekerja dengan baik jika mengetahui secara tepat / hampir tepat isi dari dokumen

KekuranganFormula kueri sulit untuk user kebanyakan Kesulitan bertambah seiring dengan bertambahnya jumlah dokumen Perbendaraan kata pada indeks sama dengan perbendaharaankata pada query Ketepatan yang ada biasanya berarti tidak menghasilkan perolehan yang baik

+ / - Best Match KelebihanHasil lebih akurat / efektif Ketidakpastian adalah model yang lebih baik daripada kepastian Lebih mudah digunakan (mendukung query teks utuh) Efisiensi yang sama (berdasarkan pada implementasi inverted file)

KekuranganLebih sulit untuk mengikuti model kognitif yang sesuai Teks utuh tidak berarti mengerti bahasa alami Efisiensi selalu kurang daripada pencocokan secara tepat (tidak dapat menolak dokumen lebih awal) Dokumen sering tidak tepat dengan kueri Kueri terlalu strict Dokumen tidak sesuai dengan harapan user

IR ModelRetrieval Classic ModelBooleanFuzzy Extended boolean model

VectorBasic vector space Latent semantic indexing (LSI) Neural Network

Browsing Flat Structure Guided Hypertext

ProbabilistikBasic probabilistic model Bayesian inference Belief Network

IR ModelRetrieval Structured ModelNon-Overlapping Lists Proximal Nodes

Browsing

Citation analysis modelsHubs & authorities PageRank

Usage analysis modelsDirect Hit Ranking SVM

Boolean Model

Boolean Retrieval Model Dokumen direpresentasikan sebagai kumpulan kata kunci.Kata kunci dinyatakan sebagai 1(ada) atau 0(tidak ada)

Kueri merupakan ekspresi Boolean dari kata kunci dan memiliki operator AND, OR, dan NOT. Fungsi berupa aljabar boolean dari sekumpulan kata kunci dan dokumen. Output: Dokumen relevan atau tidak. Tidak ada ranking.

Kueri Booleanrestaurants AND (Mideastern OR vegetarian) AND inexpensive dinner AND sports AND symphony 4 OF (Pentium, printer, cache, PC, monitor, computer, personal)

Menggunakan kata. Menggunakan AND, OR, NOT, dan tanda kurung.

TransformasiHukum De Morgan :NOT (A AND B) = (NOT A) OR (NOT B) NOT (A OR B) = (NOT A) AND (NOT B) A = NOT(NOT A)

CNF atau DNF?Mengapa conjunctive lebih disukai ?

Boolean RetrievalDalam satu dokumen, set kata-kata menjadi 1 jika ada dan 0 jika tidak ada dalam dokumen. Kombinasikan kemunculan kata dengan operator Boolean berdasarkan kueri. Hasil adalah dokumen yang bernilai 1.

Kemunculan Kata Dalam DokumenAntony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth

Antony Brutus Caesar Calpurnia Cleopatra mercy worser

1 1 1 0 1 1 1

1 1 1 1 0 0 0

0 0 0 0 0 1 1

0 1 1 0 0 1 1

0 0 1 0 0 1 1

1 0 1 0 0 1 0

Brutus AND Caesar but NOT Calpurnia

1 jika berisi data, dan 0 jika tidak.

Vektor KemunculanUntuk setiap kata, dipunyai nilai 0 atau 1. Untuk menjawab kueri, ambil nilai untuk Brutus, Caesar dan Calpurnia. 110100 AND 110111 AND 101111 = 100100.

Jawaban Kueri

Antony and Cleopatra, Act III, Scene iiAgrippa [Aside to DOMITIUS ENOBARBUS]: Why, Enobarbus, When Antony found Julius Caesar dead, He cried almost to roaring; and he wept When at Philippi he found Brutus slain.

Hamlet, Act III, Scene iiLord Polonius: I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me.

Contoh Retrieval

Latihan 1D1 = computer information retrieval D2 = computer retrieval D3 = information D4 = computer information Q1 = information retrieval Q2 = information computer

Latihan 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Chaucer Chaucer Chaucer Chaucer Chaucer Chaucer Chaucer Chaucer Milton Milton Milton Milton Shakespeare Shakespeare Swift Swift Shakespeare Shakespeare Swift Swift Milton Milton Milton Milton Shakespeare Shakespeare Swift Swift Shakespeare Shakespeare Swift Swift

((chaucer OR milton) AND (NOT swift)) OR ((NOT chaucer) AND (swift OR shakespeare))

Mengapa Boolean Retrieval Berhasil ? Kueri sederhana, mudah dimengerti Relatif mudah untuk diimplementasikan Operator Boolean bisa mendekati language AND dapat konsepgood party

natural

Cari dokumen tentang a good party that is not over

menemukan

hubungan

antara

OR dapat menemukan terminologi alternatifexcellent party

NOT dapat menemukan arti alternatifDemocratic party

Mengapa Boolean Retrieval Gagal ? Natural language sangat kompleksShe saw the man on the hill with a telescope

AND menemukan hubungan yang tidak adaKata-kata di paragraf yang berbeda, bab,

Menebak terminologi OR sangat sukargood, nice, excellent, outstanding, awesome,

Menebak kata-kata yang tidak termasuk topik bahkan lebih sukar!Democratic party,

Boolean Models Problem Sulit jika permintaan user kompleks. Kadang memilih kata yang tepat sangat sukar Sangat kaku : AND berarti semua; OR berarti beberapa. Kadang-kadang menemukan hubungan yang tidak ada Sulit untuk mengontrol jumlah dokumen yang terretrieve. Semua dokumen yang sesuai akan di -return. Sering menghasilkan terlalu banyak dokumen

Boolean Models ProblemSulit untuk menampilkan hasil output secara terurut.Semua dokumen yang sesuai secara logikal dianggap cocok dengan kueri.

Sulit untuk membuat relevance feedback.Jika dokumen dianggap relevan atau tidak relevan, bagaimana kueri dapat dimodifikasi ?

Operator Proximity Boolean retrieval dapat diperluas dengan memperhatikan kedekatan kemunculan kata query dalam dokumen. Versi lebih tepat dari AND NEAR n membolehkan paling banyak n-1 kata diantaranya WITH mengharuskan kata-kata bersebelahan dan berurutan

Mudah di-implementasikan, tetapi kurang efisien Simpan daftar posisi untuk setiap kata di tiap dokumen Stopwords menjadi sangat penting!

Lakukan komputasi Boolean biasa Perlakukan WITH dan NEAR seperti AND dengan suatu syarat tambahan.

Contoh Menggunakan Proximity

Membangun IndexPada slide sebelum menggunakan matrix untuk melakukan retrieval dan kata yang ada pada query. Jika kata dan dokumen yang digunakan banyak, maka akan menghasilkan matrix dengan ukuran besar. Hal ini membutuhkan proses komputasi yang lama. Dibuatlah Inverted Index

Inverted indexUntuk setiap kata T, harus disimpan daftar semua dokumen yang berisi T. Apa yang kita gunakan ? array atau list ?Brutus Calpurnia Caesar 2 1 4 2 8 3 16 32 64 128 5 8 13 21 34

13 16 Bagaimana jika kata Caesar ditambahkan ke dokumen 14?

Inverted indexLinked list biasanya lebih disukai daripada arrayPosting Alokasi ruang dinamis Penyisipan kata kedalam dokumen lebih mudah

Brutus Calpurnia Caesar Dictionary

2 1 13

4 2 16

8 3

16 5

32 8

64 13 21

128 34

Postings lists Diurutkan berdasar docID.

Membuat Inverted IndexDokumen yang Akan di indeks.

Friends, Romans, countrymen. Tokenizer

Token stream.

Friends Romans Linguistic modules

Countrymen

Modified tokens.

friend Indexer friend

roman

countryman 2 1 13 4 2 16

Inverted index.

roman countryman

Langkah Indeks Sederetan pasangan (Modified token, Document ID).

Doc 1 I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me.

Doc 2 So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious

Term I did enact julius caesar I was killed i' the capitol brutus killed me so let it be with caesar the noble brutus hath told you

Doc # 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2

caesarwas ambitious

22 2

Urutkan berdasar kata.Core indexing step.

Term Doc # I did enact julius caesar I was killed i' the capitol brutus killed me so let it be with caesar the noble brutus hath told you caesar was ambitious

1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

Term Doc # ambitious 2 be 2 brutus 1 brutus 2 capitol 1 caesar 1 caesar 2 caesar 2 did 1 enact 1 hath 1 I 1 I 1 i' 1 it 2 julius 1 killed 1 killed 1 let 2 me 1 noble 2 so 2 the 1 the 2 told 2 you 2 was 1 was 2 with 2

Sec. 1.2

Kata yang sama dalam satu dokumen digabung. Frekuensi ditambahkan Pisahkan dalam kamus dan Posting Tambahkan informasi frekuensi dok.

Setelah Indeks Dibuat Bagaimana memproses kueri ?Setelah itu Jenis kueri seperti apa yang dapat diproses ?

Proses Kueri : ANDProses kueri Brutus AND CaesarAmbil lokasi Brutus dalam kamus;Dapatkan dalam posting.

Ambil lokasi Caesar dalam kamus;Dapatkan dalam postings.

Gabung 2 posting :2 1 4 2 8 3 16 5 32 8 13 64 21 128 Brutus 34 Caesar

Gabung PostingLakukan sepanjang 2 posting secara linear2 2 8 1 4 2 8 3 16 5 32 8 13 64 21 128 Brutus

34 Caesar

Jika panjang list x dan y, operasi menggabung membutuhkan O(x+y) Penting: postings diurutkan berdasar docID.

Optimisasi KueriUrutan manakah yang terbaik dalam memproses kueri ? Cari kueri yang merupakan AND dari t kata-kata. Untuk setiap t kata, cari postings, kemudian lakukan AND bersama-sama.Brutus Calpurnia Caesar 2 1 4 2 8 3 16 32 64 128 5 8 16 21 34

13 16

Kueri: Brutus AND Calpurnia AND Caesar Menghasilkan dokumen 16

Contoh Optimisasi KueriProses dengan urutan frek naik :Mulai dengan himpunan terkecil.This is why we kept freq in dictionary

Brutus Calpurnia Caesar

2 1

4 2

8 3

16 32 64 128 5 8 13 21 34

13 16

Jalankan kueri (Caesar AND Brutus) AND Calpurnia.

Latihan (1) Doc 1 : breakthrough drug for schizophrenia Doc 2 : new schizophrenia drug Doc 3 : new approach for treatment of schizophrenia Doc 4 : new hopes for schizophrenia patients

a. Buat matrik untuk 4 dokumen tsb. b. Buat inverted index untuk koleksi tsb.

Latihan (2)Lakukan retrieval untuk query : a. schizophrenia AND drug b. for AND NOT(drug OR approach)

LatihanDoc 1: Computers have brought the world to our fingertips. We will try to understand at a basic level the science -- old and new -- underlying this new Computational Universe. Our quest takes us on a broad sweep of scientific knowledge and related technologies Ultimately, this study makes us look anew at ourselves -- our genome; language; music; "knowledge"; and, above all, the mystery of our intelligence. (cos 116 description) Doc 2: An introduction to computer science in the context of scientific, engineering, and commercial applications. The goal of the course is to teach basic principles and practical issues, while at the same time preparing students to use computers effectively for applications in computer science (cos 126 description) Query: (principles AND knowledge) OR (science AND engineering)

PRBuat ber-2. Buat daftar token diikuti nomor dokumen kemudian simpan ke dalam file teks sehingga seperti pada slide halaman 34. Lakukan untuk n dokumen.