Information Retrieval Selayang Pandang - Komputasi · ij = g(k i, d j) •Pilihan berbeda terhadap...
Transcript of Information Retrieval Selayang Pandang - Komputasi · ij = g(k i, d j) •Pilihan berbeda terhadap...
Bagian I
Internet (Web) Mutakhir
Apa itu Information Retrieval
Representasi Teks dalam IR
Model Temu-Kembali Boolean
Model Ruang Vektor
Retrieval dan Search
• Temu-Kembali dan Pencarian
• Hal apa yang terpikirkan saat mendengar “information retrieval”?
• Hal apa yang paling dekat dipikiran saat membahas kata “search” atau“search engine”?
6,586,013,574 Pencarian per-Hari...
Search Engine Pencarian per-Hari
Google 4,464,000,000
Bing 873,964,000
Baidu 583,520,803
Yahoo 536,101,505
Other (AOL, Ask dll.) 128,427,264
Information Retrieval
• Information retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies an information needfrom within large collections (usually stored on computers) [Manning, 2008].
• Information retrieval (IR) is the activity of obtaining informationresources relevant to an information need from a collection of information resources [Wikipedia].
IR itu…
Arsitektur Search Engine…
Inverted Index
Crawler
Halaman Tersimpan
Statistika Situs & Halaman
Internet
Pembangkit Index
Pengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan
Pages
Sisi Offline
Sisi Online
User Interface
Caching
Kemiripan & Ranking
Query
Ranking Halaman
Hal
aman
Taut
an &
An
chor
s
Kata
Web Crawler
Inverted Index
Crawler
Halaman Tersimpan
Statistika Situs & Halaman
Internet
Pembangkit Index
Pengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan
Pages
Sisi Offline
Sisi Online
User Interface
Caching
Indexing & Ranking
Query
Ranking Halaman
Hal
aman
Taut
an &
An
chor
s
Kata
➢ Fungsi▪ Mengambil (Fetch) halaman web dengan
mengikuti hyperlink▪ Me-refresh halaman secara periodik
➢Masalah Inti▪ Bandwidth & storage terbatas vs. volume
data sangat besar▪ Frekuensi update halaman
➢ Solusi▪ Prioritaskan crawling berdasarkan pada
ranking halaman dan statistik lain
Page Parser: Pengurai Halaman Web
Inverted Index
Crawler
Halaman Tersimpan
Statistika Situs & Halaman
Internet
Pembangkit Index
Pengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan
Pages
Sisi Offline
Sisi Online
User Interface
Caching
Indexing & Ranking
Query
Ranking Halaman
Hal
aman
Taut
an &
An
chor
sKata
➢ Fungsi▪ Mengekstrak aliran data untuk indexing
a. Title: kata-kata dalam <title>…</title>b. URLc. Body
▪ Teks Anchor▪ Teks Plain▪ H1…6▪ Bold, Italic, etc▪ Large, Medium, Small
▪ Membangun peta link parsial▪ Mengirim hyperlink yang ditemukan ke
crawler
➢Masalah Inti▪ Fitur apa yang akan diekstrak?
Pembangkit Index
Inverted Index
Crawler
Halaman Tersimpan
Statistika Situs & Halaman
Internet
Pembangkit Index
Pengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan
Pages
Sisi Offline
Sisi Online
User Interface
Caching
Indexing & Ranking
Query
Ranking Halaman
Hal
aman
Taut
an &
An
chor
s
Kata
➢ Fungsi▪ Membangun inverted index berdasarkan
pada data halaman yang telah diparse
➢ Masalah Inti▪ Efisiensi vs. memory terbatas & terdistribusi
➢ Solusi▪ Indexing terdistribusi▪ Partisi berdasarkan dokumen, bukan partisi
berdasarkan term
Relevansi & Ranking
Inverted Index
Crawler
Halaman Tersimpan
Statistika Situs & Halaman
Internet
Pembangkit Index
Pengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan
Pages
Sisi Offline
Sisi Online
User Interface
Caching
Indexing & Ranking
Query
Ranking Halaman
Hal
aman
Taut
an &
An
chor
sKata
➢ Masalah utama dalam IR dan telah dikajipuluhan tahun
➢ Fungsi▪ Indexing: dengan cepat menemukan halaman yang
mengandung term query▪ Ranking: mengurutkan halaman sesuai dengan
relevansi terhadap query
➢ Masalah Inti▪ Kinerja: inverted list untuk suatu term hot mungkin
ratusan megabyte.▪ Akurasi: fungsi ranking dengan ratusan parameter:
▪ Teks Anchor▪ Ranking halaman▪ Term proximity▪ TF*IDF▪ …
➢ Solusi▪ Kinerja: Top-K query & index pruning▪ Akurasi: Tuning atau learning?
Caching
Inverted Index
Crawler
Halaman Tersimpan
Statistika Situs & Halaman
Internet
Pembangkit Index
Pengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan
Pages
Sisi Offline
Sisi Online
User Interface
Caching
Indexing & Ranking
Query
Ranking Halaman
Hal
aman
Taut
an &
An
chor
sKata
➢ Fungsi▪ Men-cache hasil dari query yang sering
untuk menjawab ribuan query per detikdengan waktu respon interaktif
➢Masalah Inti▪ Apa yang dicache?
➢ Solusi▪ Cahing banyak level
▪ Level Query▪ Level Term
Tentang Saya
• Husni• Web site : Husni.trunojoyo.ac.id
• Email : [email protected]
• Ruang kerja: • Lab. SisTer, Teknik Informatika, UTM.
• Bidang Keahlian:• Networking
• Web Application Development
• (Web) Text Mining (Retrieval) & Searching
Setelah Tutorial ini, Anda akan…
1. Memahami pentingnya information retrieval
2. Memperoleh pengetahuan mengenai prinsip-prinsip dari darissistem temu-kembali informasi
3. Memahami proses pembangunan search engine sederhana, mulaidari pre-processing s.d penanganan query pengguna
4. Memperoleh pemahaman dasar dari tiga paradigm IR• Wajib: Model Boolean dan Ruang Vektor
Outline
• Apa itu IR?
• Representasi teks dalam sistem IR
• Model temu-kembali Boolean
• Model ruang vektor
• Temu-kembali Probabilitas klasik
• Pemodelan Bahasa untuk Sistem Temu-Kembali
• Perangkat (tools) IR
Referensi
• C. Manning, P. Raghavan and H. Schutze (2008) Introduction to Information Retrieval, Cambridge University Press• Versi gratis tersedia di: https://nlp.stanford.edu/IR-book/
• Bruce Croft, Donald Metzler, Trevor Strohman (2010) Search Engines: Information Retrieval in Practice, Addison Wesley• Edisi revisi (2015) tersedia gratis di: ciir.cs.umass.edu/downloads/SEIRiP.pdf
• Husni.trunojoyo.ac.id
What is IR?
• Information retrieval (Wikipedia)• The activity of obtaining information resources relevant to a user’s
information need from a collection of information resources.
• Elemen dari suatu sistem information retrieval:• Kebutuhan informasi (need, diekspresikan oleh pengguna dalam bentuk
query)
• Sumber daya informasi (resources, biasanya tak terstruktur (unstructured): text, images, video, audio, dll.
• Komponen untuk retrieval sumber daya relevan secara efisien terhadapkebutuhan informasi pengguna, biasanya dari koleksi besar sumber informasi.
Kebutuhan Informasi
• Kebutuhan informasi tersebut diekspreskan melalui query• Kata atau frasa dalam text information retrieval (misal: “serangan ISIS”)
• Citra (image) dalam image content retrieval
Kebutuan informasi adalah kemauan individu atau kelompok untuk mencari dan mendapatkan informasi untuk memenuhi kebutuhan sadar atau bawah sadar. Kebutuhan dan ketertarikan terhadap informasi.(Robert S. Taylor: “The process of asking questions”, 2007)
Mengapa Text Information Retrieval?
• Repositori besar sumber informasi tak-terstruktur• Perusahaan: dokumen teknis, kontrak bisnis
• Pemerintah: dokumentasi, regulasi , undang-undang
• Materi ilmiah: naskah penelitian (seperti di Google Scholar)
• Personal: buku, blog, email, file-file
• World Wide Web: paling membutuhakan IR karena skala terbesar dari semua
Text Information Retrieval
• Sistem yang memerlukan analisis teks fokus pada text information retrieval dimana model-model berlainan:• Dalam merepresetasikan daftar dokumen dan query
• Dalam cara menetapkan relevansi dari dokumen terhadap query• Relevansi dari dokumen adalah skor yang paling sering dijadikan
acuan (bukan keputusan biner)
• Daftar dokumen diranking sesuai dengan skor kedekatan (kemiripan) terhadap query
• Skor relevansi biasanya melibatkan elemen ketidakpastian
Area Kajian Disiplin IR
• Web Crawling: menghimpun data dari Web
• Esktraksi Data: mengambil informasi dan URL dari halaman web
• Preprocessing: menerapkan aturan bahasa untuk memudahkan proses IRdan meningkatkan kualitas relevansi
• Indexing: membuat index (pemetaan term ke daftar dokumen)
• Penanganan Query: mendapatkan dokumen yang relevan dengan Query (kebutuhan informasi pengguna)
• Klasifikasi dan Klasterisasi: kategorisasi secara terpandu dan tidak
• Rekomendasi: memberikan dokumen yang sesuai dengan kebutuhan/profil pengguna, berdasarkan kemiripan dokumen atau kemiripan pengguna
• Evaluasi sistem IR: Presisi, Recall, F-Measure
Representasi Teks dalam IR
• Representasi Tak-Terstruktur (unstructured)• Teks diwujudkan sebagai suatu himpunan term tak-berurut (sehingga disebut
representasi bag-of-words)• Cukup banyak penyederhanaan: mengabaikan sintaks dan semantik
• Meskipun terlalu sederhana, kinerja retrieval dapat memuaskan
• Representasi Semi Terstruktur• Beberapa term tertentu dianggap lebih penting (term lain diturunkan atau
diabaikan)• Frasa benda (NP), entitas bernama (named entities), dll.
• Representasi Terstruktur• Hampir tidak digunakan dalam konteks IR• Teknik Information extraction (IE) tidak cukup akurat• Model IE dapat makan banyak waktu - tidak dapat diterima di IR
Representasi Dokumen Tak-Terstruktur
One evening Frodo and Sam were walking together in the cool twilight.Both of them felt restless again. On Frodo suddenly the shadow of parting had falling: the time to leave Lothlorien was near.
Potongan dokumen
{(One, 1), (evening, 1), (Frodo, 2), (and, 2), (Sam, 1) (were, 1), (walking, 1), (together, 1), (in, 1), (the, 3), (cool, 1), (twilight, 1), (Both, 1), (of, 2), (them, 1), (felt, 1), (restless, 1), (again, 1), (On, 1), (suddenly, 1), (shadow, 1), (parting, 1), (had, 1), (falling, 1), (time, 1), (to, 1), (leave, 1), (Lothlorien, 1), (was, 1), (near,1)}
Bag of words
Representasi Dokumen Semi-Terstruktur
1. yOne evening Frodo and Sam were walking together in the cool twilight.Both of them felt restless again. On Frodo suddenly the shadow of parting had falling: the time to leave Lothlorien was near.
Potongan dokumen
{(Frodo, 2), (Sam, 1), (Lothlorien, 1)}
Bag of named entity terms
{(evening, 1), (Frodo, 2), (Sam, 1), (twilight, 1), (shadow, 1), (parting,1), (time, 1), (Lothlorien, 1)}
Bag of nouns
Preprocessing
• Dua langkah preprocessing paling umum• Normalisasi morfologis: stemming atau lemmatization• Penghapusan stop-word
• Normalisasi morfologis• Mengubah berbagai bentuk kata yang sama ke bentuk umum• Penting bagi Bahasa yang kaya morfologi, termasuk Indonesia• Stemming (misal automation automat) lebih sering digunakan daripada
lemmatization (misal automation automate). Bahasa lebih sering lemmatization, bukan stemming.
• Penghapusan stop words• Penghapusan term-term yang miskin maknaseperti articles, prepositions,
conjunctions, pronouns, dll.• Cukup menyimpan kata berisi: nouns, verbs, adjectives, adverbs• English stop words: http://www.ranks.nl/resources/stopwords.html
• Kedua metode mereduksi kardinalitas dari himpunan dokumen berbentukbag-of-words dan secara umum meningkatkan kinerja IR
Formalisasi dari Model IR
• Model Retrieval Dasar adalah triple (fd , fq , r) dimana:1. fd adalah fungsi yang memetakan dokumen ke representasi untuk retrieval,
yaitu fd(d) = xd, dimana xd adalah representsi retrieval dari dokumen d,
2. fq adalah fungsi yang memetakan query ke representasi retrievalnya, yaitufq(q) = xq, dimana xq adalah wujud retrieval dari query q,
3. r adalah fungsi ranking (pemeringkatan)
• Melibatkan representasi dokumen pd dan query pq
• Menghitung bilangan real untuk menunjukkan relevansi potensial dari dokumen d untuk query q berdasarkan pd dan pq
relevansi(d, q) = r(fd(d), fq(q))
= r(xd, xq)
Term di Indeks & Bobotnya
• Index term adalah semua term dalam koleksi (atau kamus)
• Himpunan semua term K = {k1, k2, … , kt} , dimana t adalah jumlahdari term
• Untuk setiap dokumen dj , setiap term ki diberikan suatu bobot wij
• Bobot dari term yang tidak muncul dalam dokumen adalah 0
• Dokumen dj direpresentasikan oleh vektor term [w1j ,w2j , : : : ,wtj ]
• Misalnya g adalah fungsi yang menghitung bobot, yaitu wij = g(ki, dj)
• Pilihan berbeda terhadap fungsi komputasi bobot g dan fungsiranking r mendefinisikan model IR berbeda
IndexingDokumen Asli yang di-Index
Aliran Token
Token hasil perubahan
Inverted Index
Tokenizer
Modul-modul
Linguistik
Indexer
Friends, Romans, About, You,
Caesar, Countrymen
Friends
You
AboutRomans
Caesar Countrymen
friend roman
caesar countryman
friend
roman
caesar
countryman
2
13
3
21
94
2316
17
Perubahan ke huruf kecil
Penghapusan stop-word
sinonimisasi
stemming
Hapus tanda baca
Ambil kata (term)
Petakan setiap term ke
nomor dokumen
Paradigma IR
• Model Information retrieval secara garis besar dibagi ke dalam 3 paradigma:• Model teori himpunan
• Boolean model• Extended Boolean model
• Model aljabar• Vector space model• Latent semantic indexing
• Model probabilistik• Classic probabilistic model• Language model
• Selain itu, ada model IR yang memanfaatkan algoritma analisis tautan(misalnya PageRank, HITS di Google)• Biasanya digunakan dalam web retrieval yang dokumennya di (hyper)linked
Model Retrieval Boolean
• Dokumen direpresentasikan sebagai bags of words
• Bobot term semuanya biner - wij {0, 1}• wij = 1 iff term ki dapat ditemukan di dalam bag of words dari dokumen dj
• Query q diberikan sebagai formula logika proporsional terhadap term• Term-term dihubungkan oleh operator Boolean (, ), dapat dinegasikan ()
• Setiap query q dapat diubah menjadi disjunctive normal form (DNF), q = qc1 qc2 … qcn, dimana qcl adalah komponen ke-l dari DNF q
• Relevansi dokumen dj terhadap query q dihitung dengan rumus
Contoh Temu-Kembali Boolean
• Perhatikan himpunan term berikut:• K = {Frodo, Sam, blue, sword, orc, Mord}
• Seandainya kita mempunyai dokumen berikut:• d1: “Frodo stabbed the orc with the red sword"
• d2: “Frodo and Sam used the blue lamp to locate orcs"
• d3: “Sam killed many orcs in Mordor with the blue sword"
• Dokumen mana yang relevan dengan query berikut?• q1: (Frodo orc sword) (Frodo blue) {d1, d2}
• q2: (Sam blue) (Sam orc Mordor) {d2, d3}
Boolean Retrieval - Inverted Index
• Struktur data untuk komputasi retrieval yang efisien
• Inverted file berisi daftar rujukan ke dokumen untuk semua term
• Untuk koleksi D berisi dokumen berikut:• d1: “Frodo and Sam stabbed orcs."• d2: “Frodo stabbed the orc with the sword."• d3: “Sam stole Frodo's sword."
• Kita mempunyai inverted index berikut:• L(“Frodo") = {d1, d2, d3}• L(“Sam") = {d1, d3}• L(“orc") = {d1, d2}• L(“stab") = {d1, d2}• L(“sword") = {d2, d3}• L(“stole") = {d3}
Boolean Retrieval - Inverted Index
• Full inverted index juga menyimpan posisi setiap term dalam suatudokumen• Contoh “Frodo": {(d1, 1), (d2, 1), (d3, 3)}
• Inverted index memungkinkan penanganan query Boolean via irisandan gabungan himpunan
• q: (Frodo stab) (Sam orc)• Hasilnya diperoleh dengan kpmputasi:
rel (D, q) = (L(“Frodo") L(“stab")) (L(“Sam") L(“orc"))
= ({d1, d2, d3} {d1, d2}) ({d1, d3} {d1, d2})
= {d1, d2} {d1}
= {d1, d2}
Model Temu-Kembali Boolean
• Kelebihan• Hanya satu: kesederhanaan (efisiensi komputasi)
• Popular di awal sistem IR komersil (seperti Westlaw)
• Kekurangan• Mewujudkan kebutuhan informasi sebagai ekspresi bolean tidak intuitif
• Model murni (asli)
• No ranking: dokumen dihukumi relevan atau tak-relevan
• Kepentingan relative dari term diabaikan
• Model Extended Boolean: varian model Boolean yang melibatkan pengerjaanparsial dari ekspresi Boolean
Model Ruang Vektor
• Dokumen dan query direpresentasikan sebagai vektor dari term-term
• Bobot adalah bilangan pecahan > 0dj = [w1j, w2j, …, wtj ]
q = [w1q, w2q,, …, wtq]
• Relevansi dari dokumen terhadap query diestimasi denganmenghitung jarak atau kemiripan antara dua vektor• Metrik jarak: Euclidean, Manhattan, dll.
• Lebih relevan saat jarak semakin kecil
• Metrik kemiripan: Cosine, Dice, dll.
• Lebih relevan ketika kemiripan makin besar
Model Ruang Vektor: Pembobotan Term
• Berapa bobot wij dari term-term untuk dokumen yang dihitung?
• Dua asumsi intuitif:1. Relevansi dari suatu term terhadap dokumen adalah sebanding
dengan frekuensinya dalam dokumen tersebut (komponen term frequency = tf)• Lebih sering lebih relevan
2. Relevansi suatu term terhadap suatu dokumen berbandingterbalik dengan jumlah dokumen dalam koleksi yang dirinyahadir (komponen inverse document frequency = idf)• Makin umum di lintas dokumen makin kurang relevan (contoh stopwords
seperti “the")
VSM: Skema Pembobotan
• Skema pembobotan Biner• Tidak benar-benar sekema pembobotan
• Mengabaikan dua asumsi tersebut
• wij = 1 iff dokumen dj mengandung term ki
• Skema pembobotan TF-IDF• Bobot dihitung sebagai perkalian dari komponen term frequency dan inverse
document frequency-nya
• Salah satu skema popular:
Latihan: Perhitungan Kemiripan dalam SVM
• Koleksi terdiri dari N=3 dokumen:
• d1: “new york times”
• d2: “new york post”
• d3: “los angeles times”
• Suatu saat, ada query: “new new times”.
• Dokumen mana yang paling relevan dengan query tersebut? Rankingkan!
otherwise 0,
0 tfif, tflog 1
10 t,dt,d
t,dw
tt N/df log idf 10
Gunakan Skema Popular
• Pembobotan term:
• Normalisasi panjang:
• Kemiripan query q dengan dokumen d, dalam model ruang vektor, menggunakan cosine similarity:
i ixx 2
2
tdt Ndt
df/log)tflog1(w ,,
••
V
i i
V
i i
V
i ii
dq
dq
d
d
q
q
dq
dqdq
1
2
1
2
1),cos(
Contoh Pencarian Dokumen Relevan
Koleksi dokumen (corpus):
d1 = “Three quarks for Master Mark”
d2 = “The strange history of quark cheese”
d3 = “Strange quark plasmas”
d4 = “Strange Quark XPress problem”
Terbentuk Inverted Index Sederhana
Lexicon dan inverted index:three → {d1}quark → {d1, d2, d3, d4}master → {d1}mark → {d1}strange → {d2, d3, d4}history → {d2}cheese → {d2}plasma → {d3}xpress → {d4}problem → {d4}
Dokumen Mana Paling Relevan
• Jika terdapat Query:
“strange” AND “quark” AND NOT “cheese”
• Himpunan hasil:
{D2, D3, D4} ∩ {D1, D2, D3, D4} ∩ {D1, D3, D4} = {D3, D4}
Latihan Menghitung Bobot Term: tf.idf
• Jika terdapat koleksi 8 dokumen berikut:
d1 = “Introduction to Expert Systems”d2 = “Expert System Software: Engineering and Applications”d3 = “Expert Systems: Principles and Programming”d4 = “The Essence of Expert Systems”d5 = “Knowledge Representation and Reasoning”d6 = “Reasoning About Uncertainty”d7 = “Handbook of Knowledge Representation”d8 = “Expert Python Programming”
• Berapa bobot term “knowledge” dalam dokumen d5?
Contoh VSM: Cosine Similarity
• Q: “gold silver truck”
• D1: “Shipment of gold damaged in a fire”
• D2: “Delivery of silver arrived in a silver truck”
• D3: “Shipment of gold arrived in a truck”