Information Retrieval
Selayang Pandang
Husni.Trunojoyo.ac.idBagian I
Internet (Web) Mutakhir Apa itu Information Retrieval
Representasi Teks dalam IR Model Temu-Kembali Boolean
Retrieval dan Search
• Temu-Kembali
danPencarian
• Hal apa yang terpikirkan saat mendengar “information retrieval”?
• Hal apa yang paling dekat dipikiran saat membahas kata “search” atau “search engine”?
Retrieval and Search
Ukuran Internet (per 27 Agustus 2017)
Update
Internet
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
Search Engine:
Information Retrieval
• Information retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies an information need from within large collections (usually stored on computers) [Manning, 2008].
• Information retrieval (IR) is the activity of obtaining information
resources relevant to an information need from a collection of information resources [Wikipedia].
Information Retrieval (IR)
=
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 H al am an Ta ut an & An chor s Kata
Web Crawler
Inverted Index Crawler Halaman Tersimpan Statistika Situs & Halaman Internet Pembangkit IndexPengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan Pages Sisi Offline Sisi Online User Interface Caching
Indexing & Ranking
Query Ranking Halaman H al am an Ta ut 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 IndexPengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan Pages Sisi Offline Sisi Online User Interface Caching
Indexing & Ranking
Query Ranking Halaman H al am an Ta ut an & An chor s Kata ➢ Fungsi
▪ Mengekstrak aliran data untuk indexing
a. Title: kata-kata dalam <title>…</title> b. URL
c. 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
Pembangkit Index
Inverted Index Crawler Halaman Tersimpan Statistika Situs & Halaman Internet Pembangkit IndexPengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan Pages Sisi Offline Sisi Online User Interface Caching
Indexing & Ranking
Query Ranking Halaman H al am an Ta ut 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 IndexPengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan Pages Sisi Offline Sisi Online User Interface Caching
Indexing & Ranking Query Ranking Halaman H al am an Ta ut an & An chor s Kata
➢ Masalah utama dalam IR dan telah dikaji puluhan 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 IndexPengurai Halaman Pembangkit Graf Web Graf Web
Analisa Tautan Pages Sisi Offline Sisi Online User Interface Caching
Indexing & Ranking
Query Ranking Halaman H al am an Ta ut an & An chor s Kata ➢ Fungsi
▪ Men-cache hasil dari query yang sering untuk menjawab ribuan query per detik dengan waktu respon interaktif
➢ Masalah Inti
▪ Apa yang dicache?
➢ Solusi
▪ Cahing banyak level ▪ Level Query
Tentang Saya
• Husni
• Web site : Husni.trunojoyo.ac.id • Email : husni@trunojoyo.ac.id • Ruang kerja:
• Lab. SisTer, Teknik Informatika, UTM. • Bidang Keahlian:
• Networking
• Web Application Development
Setelah Tutorial ini, Anda akan…
1. Memahami pentingnya information retrieval
2. Memperoleh pengetahuan mengenai prinsip-prinsip dari daris sistem temu-kembali informasi
3. Memahami proses pembangunan search engine sederhana, mulai dari pre-processing s.d penanganan query pengguna
4. Memperoleh pemahaman dasar dari tiga paradigm IR
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
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 terhadap
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.
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
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 IR
dan 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
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
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)}
Representasi Dokumen Semi-Terstruktur
1. y
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
{(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)}
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 berbentuk bag-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, yaitu
fq(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 jumlah dari 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 fungsi
Cara Kerja Sistem IR
C
ar
a
Ke
rj
a
Si
st
em
IR
Indexing
Dokumen Asli yang di-Index Aliran TokenToken hasil perubahan
Inverted Index
Tokenizer
Modul-modul Linguistik
Indexer
Friends, Romans, About, You, Caesar, Countrymen Friends You About Romans Caesar Countrymen friend roman caesar countryman friend roman caesar countryman 2 13 3 2 1 9 4 23 16 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)
Model Retrieval Boolean
• Dokumen direpresentasikan sebagai bags of words
• Bobot term semuanya biner - wij {0, 1}
• wij = 1 iff term kidapat 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
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}
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 suatu dokumen
• Contoh “Frodo": {(d1, 1), (d2, 1), (d3, 3)}
• Inverted index memungkinkan penanganan query Boolean via irisan dan 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 pengerjaan parsial dari ekspresi Boolean
Model Ruang Vektor
Model Ruang Vektor
• Dokumen dan query direpresentasikan sebagai vektor dari term-term • Bobot adalah bilangan pecahan > 0
dj = [w1j, w2j, …, wtj ] q = [w1q, w2q,, …, wtq]
• Relevansi dari dokumen terhadap query diestimasi dengan menghitung jarak atau kemiripan antara dua vektor
• Metrik jarak: Euclidean, Manhattan, dll.
• Lebih relevan saat jarak semakin kecil
• Metrik kemiripan: Cosine, Dice, dll.
Model Ruang Vektor: Metrik Jarak
1. Euclidean distance
Model Ruang Vektor: Metrik Kemiripan
3. Cosine similarity
Model Ruang Vektor: Pembobotan Term
• Berapa bobot w
ijdari 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 berbanding terbalik dengan jumlah dokumen dalam koleksi yang dirinya hadir (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
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 tf if , tf log 1 10 t,d t,d t,d w t t log N/df idf 10
Gunakan Skema Popular
• Pembobotan term: • Normalisasi panjang:
• Kemiripan query q dengan dokumen d, dalam model ruang vektor, menggunakan cosine similarity:
i ix x 2 2 t d tN
d t(
1
log
tf
)
log
/
df
w
, ,
•
•
V i i V i i V i i id
q
d
q
d
d
q
q
d
q
d
q
d
q
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”
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:
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”
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”