Anda di halaman 1dari 46

shw1

Modul II

Model Information Retrieval - 1

Sri Hartati Wijono


tatik@staff.usd.ac.id

Slide 1 shw1
Sri Hartati Wijono, 9/1/2008

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

Basic IR Process

Retrieval
Classical IR
Merupakan tugas yang adalah pusat dari IR Memberikan umpan balik untuk memperbaiki kueri

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

Kueri User
Tujuan pencarian
Memprediksi 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 Retrieval
Suatu 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 match
Kueri 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 match
Kueri 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
 Kelebihan
Efisien 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

 Kekurangan
Formula 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
 Kelebihan
Hasil 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)

 Kekurangan
Lebih 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 Model
Retrieval Classic Model
Boolean
Fuzzy Extended boolean model

Vector
Basic vector space Latent semantic indexing (LSI) Neural Network

Browsing Flat Structure Guided Hypertext

Probabilistik
Basic probabilistic model Bayesian inference Belief Network

IR Model
Retrieval Structured Model
Non-Overlapping Lists Proximal Nodes

Browsing

Citation analysis models


Hubs & authorities PageRank

Usage analysis models


Direct 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 Boolean
restaurants 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.

Transformasi
Hukum 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 Retrieval
Dalam 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 Dokumen


Antony 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 Kemunculan
Untuk 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 ii


Agrippa [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 ii


Lord Polonius: I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me.

Contoh Retrieval

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

Latihan 2
0 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 konsep
good party

natural

Cari dokumen tentang a good party that is not over

menemukan

hubungan

antara

 OR dapat menemukan terminologi alternatif


excellent party

 NOT dapat menemukan arti alternatif


Democratic party

Mengapa Boolean Retrieval Gagal ?


 Natural language sangat kompleks
She saw the man on the hill with a telescope

 AND menemukan hubungan yang tidak ada


Kata-kata di paragraf yang berbeda, bab,

 Menebak terminologi OR sangat sukar


good, 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  Problem


Sulit 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 Index
Pada 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 index
Untuk 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 index
Linked list biasanya lebih disukai daripada array
Posting 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 Index


Dokumen 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

caesar
was ambitious

2
2 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 : AND


Proses kueri Brutus AND Caesar
Ambil 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 Posting
Lakukan sepanjang 2 posting secara linear
2 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 Kueri
Urutan 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 Kueri


Proses 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)

Latihan
Doc 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)

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

Anda mungkin juga menyukai