pengenalan enjin gelintar pengenalan maksud enjin gelintar tiga jenis enjin gelintar senibina enjin...
Post on 21-Dec-2015
352 views
TRANSCRIPT
Pengenalan Enjin Gelintar
Pengenalan Maksud Enjin Gelintar
Tiga Jenis Enjin Gelintar Senibina Enjin Gelintar
Komponen Asas Enjin Gelintar
2
Pengenalan Enjin Gelintar
• 2003 16.5 bil Laman web
• 3 bil laman / 59GB teks dimuat setiap hari
• Hayat 44 hari
• 10MB/s teks : connection capable to downloading
3
Pengenalan Enjin Gelintar
• Nov 97 : AltaVista handle 20 bil queries per day
4
Apa itu enjin gelintar ?
Enjin gelintar ialah suatu program yang digunakan untuk mencari dan mencapai maklumat berdasarkan kepada sebutan gelintaran (search terms) yang diberi oleh pengguna. Ia membenarkan pengguna menjelajah pangkalan data yang mengandungi teks terdiri daripada berjuta-juta di laman web. Apabila perisian enjin gelintar dapat padankan maklumat yang dicari (hits), ia akan menerangkan dimana pautan maklumat terdapat dan seterusnya pengguna akan terus menjelajah.
search engine -- (a computer program that retrieves documents or files or data from a database or from a computer network (especially from the internet))
5
Query String
IRSystem
RankedDocuments
1. Page12. Page23. Page3 . .
Documentcorpus
Web Spider
6
Pengenalan Enjin Gelintar
7
Pengenalan Enjin Gelintar
8
Pelayan Google
Pelayan UKM
FTSMURL
URL
9
How SE Works Crawl entire Intranet Compute the shortest hyperlink path from a
certain root page to every web page Index and compute metadata for the pages
• Using Cheshire II
• Run a user query.
• Gather all the hits
• Create a “directory” based on combining the shortest paths
• Special graph algorithm removes redundant links and internal nodes
10
SE System Architecture
crawl theweb
store the
documents
11
SE System Architecture
crawl theweb
store the
documents
create files of
metadata
Cheshire II
12
SE Metadata
Information about web pages• Title
• Length
• Inlinks
• Outlinks
• Shortest Paths from a root home page
Used to provide innovative search interface
13
SE System Architecture
crawl theweb
store the
documents
create files of
metadata
Cheshire II
14
SE System Architecture
crawl theweb
create a keyword
index
store the
documents
create files of
metadata
Cheshire II
15
Creating a Keyword Index
For each document• Tokenize the document
• Break it up into tokens: words, stems, punctuation
• There are many variations on this
• Record which tokens occurred in this document
• Called an Inverted Index
• Dictionary: a record of all the tokens in the collection and their overall frequency
• Postings File: a list recording for each token, which document it occurs in and how often it occurs
16
SE System Architecture
Cheshire II
userquery
17
Responding to the User Query
User searches on “pam samuelson” Search Engine looks up documents
indexed with one or both terms in its inverted index
Search Engine looks up titles and shortest paths in the metadata index
User Interface combines the information and presents the results as HTML
18
SE System Architecture
Cheshire II
userquery
19
SE System Architecture
Cheshire II
server accesses the
databases
20
SE System Architecture
Cheshire II
results shownto user
21
SE System Architecture
Cheshire II
results shownto user
server accesses the
databases
userquery
22
What hasn’t been explained here?
How documents are ranked How queries are formed How shortest paths are computed How the system is built
• … among other things!
• This is just an introduction! Much more later.
23
Dua kaedah mendapatkan maklumat yang menarik Kueri
• Carian berasaskan keyword : EG jana kueri kepada indeks katakunci dan pulangkan dokumen terpangkat
• Sesuai untuk pengguna yang mempunyai matlamat jelas Gelintar
• Navigasi melalui set jalinan (link) seperti hieraki bagi mendapatkan topik sasaran
• Pengguna pilih link yang ia rasakan akan membawa kepada dokumen yang relevan.
• Sesuai bagi pengguna yang tidak dapatkan menyatakan matlamat dengan jelas melalui kombinasi katakunci berasaskan boolean
Kaedah padanan berdasarkan katakunci memulangkan banyak hasil yang kurang berkualiti Bahasa Tabie (NL) lebih baik
Pengenalan Enjin Gelintar
24
Masalah berkaitan katakunci
Kemungkinan tidak mencapai dokumen yang relevan bila mana terdapat term sinonim
• “restaurant” vs. “café”
• Aku, saya, patik, hamba Kemungkinan capai dokumen yang tidak berkaitan bilamana
terdapat term yang ada kesamaran (ambiguous)
• “bat” (baseball vs. mammal)
• “Apple” (company vs. fruit)
• “bit” (unit of data vs. act of eating)
• Perang (perbuatan vs warna)
25
1. Web crawlers
2. Web portals
3. Meta-Search engines
Pengenalan Enjin Gelintar
Terdapat 3 bentuk enjin gelintar
26
Enjin Gelintar
1. Web Crawlers Dikenali juga : robots, spiders, worms, walkers, wanderer
Jelajahi internet bagi mendapat laman kepada indeks
Mula dengan satu alamat web yang dikenalpasti dan muat turun laman tersebut. (berdasarkan URL kaedah cth breath-first search)
Indeks semua perkataan dan frasa dan hubungan perkataan
Pengguna akan buat carian berdasarkan indeks tersebut
Contoh : AltaVista, Excite, Google, Hotbot, Lycos , Northen Light ……
27
Alirankerja bagi web crawlers
28
AltaVista mempunyai spider bernama Scooter yang mengedari (traverse) WWW dan Usenet mewsgroup.
Pengindeksan ialah berdasarkan teks penuh dokumen tersebut
Index di dalam pangkalan data AltaVista diupdatekan sekurang-kurangnya sekali sehari.
Scooter melawat laman web berdasarkan kekerapan laman web tersebut diupdatekan. Laman yang statik untuk beberapa bulan akan lebih kurang dilawati.
Web Crawlers : AltaVista
29
AltaVista menyokong operasi penuh Boolean, phrase, dan case-sensistive searches.
AltaVista memangkat dokumen berdasarkan kerelevanan, memberikan pemberat yang lebih tinggi pada dokumen yang mengandungi sebutan query pada baris pertama dokumen.
Hasil query termasuklah tajuk, abstrak yang ringkas, saiz, dan tarikh terakhir dimodifikasi.
Web Crawlers : AltaVista
30
Excite juga mempunyai spider dan pengindeks (indexer) untuk teks penuh sesuatu dokumen.
Spider hanya mencapai maklumat dalam bentuk dokumen web dan Usenet newsgroup.
Pengguna boleh hantar URL untuk pengindeksan. Pengindeks menghasilkan sebutan indeks dan ringkasan
dokumen. Excite menyokong pengoperasi Boolean AND. OR, dan
NOT, dan ekspresi query Boolean.
Web Crawlers : Excite
31
HotBot mencapai dan mengindeks dokumen dengan menggunakan robot bernama Slurp.
Slurp mengeluarkan semua URL daripada document yang dicapai dan meletakkannya di dalam struktur data berjadual, yang menunjukkan setiap URL kepada CPU yang berbeza berdasarkan kriteria seperti bilakah masa terkini hos diakses.
HotBot menyokong penggelintaran berasakan case-sensitive dan operasi Boolean.
HotBot memberikan tarikh terakhir sesuatu laman web diupdate dan abstrak ringkas mengandungi beberapa baris pertama sesuatu dokumen.
Web Crawlers : HotBot
32
Enjin gelintar yang mencapai dokumen dalam bentuk HTML dan PDF, mengindeks teks penuh dan menghasilkan ringkasan pendek tentang sesuatu dokumen.
InfoSeek membenarkan penggelintaran dalam Web, Usenet groups, dan Web FAQs.
InfoSeek menyokong “case sensitivity” dan juga penggelintaran untuk simbol, rangkai-kata dan nama.
Ia juga membenarkan penggelintaran imej berdasarkan kata sebutan yang terdapat pada imej.
Web Crawlers : InfoSeek
33
InfoSeek memangkat outputnya, mengira RSV dengan memberikan pemberat yang lebih untuk dokumen yang kata sebutan query terdapat pada awalan dokumen tersebut.
Ia memberi ringkasan pendek, markah kerelevanan, dan saiz dokumen.
Web Crawlers : InfoSeek
34
Lycos mempunyai robot yang menggunakan heuristik untuk berjalan dalam web dan membina indeks yang boleh digelintari.
Untuk setiap dokumen yang diindeks, robot akan menyimpan maklumat tentang “outgoing links” (anchor text atau link tags) dalam susunan (queue) dan memilih URL daripa susunan. Satu contoh heuristik umpamanya mengarah robot untuk memilih URL yang menunjukkan laman web pelayan (server).
Web Crawlers : Lycos
35
Lycos mengindeks tajuk, headings, dan subheadings untuk dokumen HTML, FTP dan Gopher.
Bila bilangan dokumen terindeks melebihi 100, hanya 100 sebutan yang berpemberat tinggi akan akan disimpan.
Pengindeks juga menyimpan 20 baris pertama dokumen, saiznya, dan bilangan perkataan.
Web Crawlers : Lycos
36
OpenText mempunyai robot yang melayari laman web dengan memilih satu-satu URL daripada sekumpulan URL, mencapai dokumen dari URL tersebut, dan mengindeks dokumen tersebut.
Ia juga mengeluarkan semual URL daripada dokumen yang dicapai dan meletakkannya di kumpulan URL (URL pool).
Pengguna boleh menghantar URL untuk diindeks.
Web Crawlers : OpenText
37
OpenText mengindeks teks penuh sesuatu dokumen HTML dan berterusan mengupadate indeksnya.
Pengindeks (indexer) akan menghasilkan 100 perkataan pertama sesuatu dokumen sebagai ringkasan pendek.
Ia menyokong sepenuhnya pengoperasi Boolean.
Web Crawlers : OpenText
38
Enjin gelintar daripada kumpulan ini menyusun katalog atau direktori subjek bagi laman web yang boleh di gunakan oleh pengguna.
Web Crawlers : Direktori/Katalog
39
Yahoo secara semi-otomatik mengorganisasikan subjek laman web.
Link ke beberapa sumber dikumpul dalam 2 cara: (i) daripada pengguna yang menghantar laman web untuk diindeks; (ii) daripads robot yang mencapai link baru daripada laman web terkemuka seperti NCSA/GNN’s What’s New Page.
Yahoo mengindeks Web, Usenet news, dan alamat e-mel. Output daripada query ialah senarai dokumen dan
kategori yang diberikan oleh Yahoo, berserta beberapa baris pertama dokumen.
Web Crawlers : Yahoo
40
Enjin Gelintar
2. Portals
● Laman yabg diorganisasi maklumat mengikut topik bagi memudah pengguna menavigasi dan mendapatkan maklumat yang dicari
● Juga dikenali web direktori
● Kebanyakan portal merupakan “human maintained”
● Carian kebanyakan berdasarkan ringkasan (summaries) atau tajuk bukan pada kandungan
41
Alirankerja portal
42
3. Meta-Search Engines
● Merupakan site yang mengambil kueri (katakunci atau kueri NL) dan hantar ianya ke banyak enjin gelintar dan pulangkan hasil kepada pengguna.
● Tiga kaedah gelintaran
i. Senarai penuh enjin gelintar
ii. Penggelintaran secara jujukan (sequential)
iii. Penggelintaran secara concurrent
Enjin Gelintar
43
Aliran kerja meta-search engines
44
Pembahagian Sistem Enjin Gelintar
Enjin Gelintar
Enjin Gelintar bagi tujuan Umum
(General-purpose Search Engine)
Enjin Gelintar bagi Domain Tertentu (Domain Specific Search Engine)
Fokus pada jenis dokumen tertentu
Fokus pada topik tertentu
45
Pelayan Google
• Crawling the web
• Building an index
• Ranking
• Serving search result
• User interface and design
• Google infrastructure
akan dibincang semasa tutorial
46
klien
Enjin kueri pemangkatan
Modul Himpunan Analisis
Repositori laman
Indeks: kemudahan struktur teks
Modul Kawalan Lelabah
WWW
Lelabah
Modul Indeks
Maklumbalas pengguna
kuerikeputusan
Senibina Enjin Carian (Arasu et.al 2001)
47
klien
Enjin kueri pemangkatan
Modul Himpunan Analisis
Repositori laman
Indeks: kemudahan struktur teks
Modul Kawalan Lelabah
WWW
Lelabah
Modul Indeks
Maklumbalas pengguna
kuerikeputusan
Senibina Enjin Carian (Arasu et.al 2001)
48
Modul Kawalan Lelabah
WWW
Lelabah
Sumber dari WWW dimuat turun oleh lelabah (agen)
Aktiviti penjelajahan dikawal oleh Modul Kawalan Lelabah (MKL)
MKL tentu URL akan dilawat dan beri URL kepada lelabah
Tugas lelabah sebenarnya ditentu oleh pembangun
URL: http:\\www.mol.com.my <Title>: Search Engine <BODY> <H1>Welcome to Search Engine Page ……………………….. ……………………….. ……………………….
49
klien
Enjin kueri pemangkatan
Modul Himpunan Analisis
Repositori laman
Indeks: kemudahan struktur teks
Modul Kawalan Lelabah
WWW
Lelabah
Modul Indeks
Maklumbalas pengguna
kuerikeputusan
Modul Indeks• Modul Indeks berperanan mendapatkan
semua perkataan dalam laman web yang dimuat turun oleh lelabah
• Merekod URL bagi perkataan berkaitan (URL halaman berkaitan)
50
klien
Enjin kueri pemangkatan
Modul Himpunan Analisis
Repositori laman
Indeks: kemudahan struktur teks
Modul Kawalan Lelabah
WWW
Lelabah
Modul Indeks
Maklumbalas pengguna
kuerikeputusan
51
klien
Enjin kueri pemangkatan
Modul Himpunan Analisis
Repositori laman
Indeks: kemudahan struktur teks
Modul Kawalan Lelabah
WWW
Lelabah
Modul Indeks
Maklumbalas pengguna
kuerikeputusan
Modul Kueri
Terima kueri dari pengguna dan cari maklumat dari indeks dan kadang2 dari repositori laman
52
klien
Enjin kueri pemangkatan
Modul Himpunan Analisis
Repositori laman
Indeks: kemudahan struktur teks
Modul Kawalan Lelabah
WWW
Lelabah
Modul Indeks
Maklumbalas pengguna
kuerikeputusan
Modul Pemangkatan
Menyusun keputusan berdasar enjin kueri kepada maklumat paling hampir dengan pengguna.
53
Enjin Gelintar
Empat komponen Asas
• Pangkalan data rujukan kepada laman web
• Robot pengindeksan yang mejelajah WWW
• Antaramuka
• Membolehkan pengguna untuk hantar kueri
• Memaparkan hasil yang diperolehi
• Sistem Capaian Maklumat
54
Pangkalan Data Pangkalan data ialah koleksi maklumat yang terindeks yang
dikumpul oleh robot. Robot akan merekodkan semua maklumat yang diindekskan dalam pangkalan data yang mungkin merangkumi alamat laman web, tajuk, header, sebutan, saiz atau mungkin keseluruhan teks.
Pangkalan data boleh menyimpan sehingga berjuta maklumat dalam laman web. Sesetengah enjin gelintar mempunyai lebih daripada satu pangkalan data.
Enjin gelintar berbeza dari segi kekerapan dan metod dalam mengemaskini pangkalan data.
55
Robot
Juga dipanggil “web wanderers”, “web crawlers”, dan “spider” Robot yang menjejaki laman menerusi hiperlink untuk mencari,
mengumpul, mengindeks, dan memeriksa dokumen dan dimasukkan ke dalam pangkalan data
Merekod data yang dijumpai
• Perkataan pada laman web
• Metadata
• Atribut ALT pada IMG tags Program ini berinteraksi berdasarkan HyperText Transfer Protocol
(HTTP) untuk mencapai dokumen daripada pelayan-pelayan (servers) Robot Exclusion Protocol
http://www.robotstxt.org/wc/exclusion.html
56
Robots Exclusion Sometimes people find they have been indexed by an indexing
robot, or that a resource discovery robot has visited part of a site that for some reason shouldn't be visited by robots. In recognition of this problem, many Web Robots offer facilities for Web site administrators and content providers to limit what the robot does. This is achieved through two mechanisms:
The Robots Exclusion Protocol A Web site administrator can indicate which parts of the site should not be vistsed by a robot, by providing a specially formatted file on their site, in http://.../robots.txt.
The Robots META tag A Web author can indicate if a page may or may not be indexed, or analysed for links, through the use of a special HTML META tag.
57
Robot Robot akan sentiasa meneliti internet, secara otomatik akan
menjejaki dokumen baru atau yang diupdate dan menyingkirkan dokumen yang bertindih, yang tidak aktif atau yang telah dimansuhkan.
Strategi yang dilakukan oleh robot ketika “berjalan” dalam WWW menentukan kuantiti dan kualiti maklumat yang dicapai untuk pangkalan data.
58
Antaramuka Enjin Gelintar
Menghimpun input dari pengguna Memaparkan keputusan dari sistem IR
• Kebiasaan dalam bentuk pangkatan
Input
• Keperluan pengguna
• Ungkapan penggelintaran, had penggelintaran
• Bentuk “Presentation”
• Format “presentation” , Jenis penggelintaran
59
Output
• Keputusan / hasil
• Descriptions
• Clusters
Antaramuka Enjin Gelintar
60
Pemadanan Term Gelintaran
Cuba mendapatkan padanan pada pangkalan data Dua kaedah utama
• Gelintar menggunakan katakunci
• Padanan satu term, menggunakan “cosine”
• Gelintar berasaskan konsep (concept-based)
• Menilai gugusan perkataan (clusters of words)
• Cuba tentukan maksud kueri dan dapatkan rekod berdasarkan maksud tersebut.
61
Asas Ciri-ciri IR
Operator Boolean
• AND, OR, NOT, grouping
Extended operators
• NEAR, ADJACENT (")
Analisa Leksikal Pembuangan katahenti Cantasan Pengindeksan Maklumbalas berkaitan
62
Pemangkatan Output
Kebanyakan SE memangkat senarai menggunakan peraturan :
• Perkataan awal lebih penting
• Tajuk sangat penting
• Kekerapan keujudan term
• Perkataan tak kerap ujud kadang2 lebih penting
• Tarikh pengubahsuaian
Google berbeza:
• Kaedah PageRankTM berdasarkan kepada kemashuran (popularity)
63
Sistem Capaian Maklumat
Pengumpulan Dokumen
Pengindeksan Pencarian Pengurusan
Dokumen dan Kueri
64
Perbezaan enjin gelintar untuk internet dan sistem capaian maklumat
a) Pemangkatan output (ranking output)
Kaedah memberati sebutan yang unik.
Enjin gelintar sentiasa memeriksa (keep track) bilangan kekerapan sebutan dalam setiap laman web, dan kedudukan sebutan dalam dokumen juga dipertimbangkan dalam proses pemangkatan.
65
b) Keluasan pangkalan data
Pangkalan data internet terdiri daripada pelbagai sumber maklumat (cth. http, ftp, gopher dll) yang biasanya diterbitkan tanpa sebarang pengadilan, tapisan. Oleh itu maklumat yang dicapai tidak dijamin kualitinya.
Sebaliknya, dokumen yang terkandung di dalam pangkalan data secara on-line (on-line database), CD-ROM adalah lebih tinggi kualitinya dan lebih tersusun.
66
c) Medan yang diindeks Kebanyakan maklumat yang disimpan di dalam on-line
database dan CD-ROM diindeks berdasarkan kepada set perbendaharan kata (controlled vocabularies) atau thesauri. Medan yang diindeks seperti subjek, katakunci, penulis, tajuk atau organisasi ditentu atau dipilih oleh manusia.
Sebaliknya, dokumen web dilokasikan dan diindekskan oleh robot tanpa sebarang keterlibatan daripada manusia. Medan yang diindekskan mengandungi elemen yang berbeza termasuk juga: URL, title, header, tarikh dan saiz. Setiap robot mempunyai strategi tersendiri dalam pengindeksan.
67
d) Teknik Penggelintaran
Capaian maklumat dalam internet ialah berdasarkan grafik dan penunjuk tetikus, berbeza dengan sistem capaian maklumat biasa yang berorientasi teknik query.
Penggelintaran dalam laman web melibatkan penyusuran melalui penunjuk (link) antara hiperteks yang menggalakkan browsing tetapi boleh menimbulkan kekeliruan.
Pengoperasi untuk menaksirkan query atau sintaks juga berbeza.
68
e) Antaramuka dan Pilihan Output Enjin gelintar untuk internet menawarkan berbagai
antaramuka. Contoh: AltaVista menawarkan 2 antaramuka: penggelintaran mudah atau query lanjutan.
69
Sistem Maklumat Klasikal
Enjin Gelintar Web
Kelajuan Masa tindakbalas yang interaktif
Precision (Kejituan) Kejituan hasil yang dipaparkan pada laman pertama
Recall (panggil semula) Dapat sebanyak mungkin laman kaya maklumat, called authority dan hub pages
Perbandingan pengukuran pencapaian diantara sistem maklumat klasikal dan enjin gelintar web
Perbezaan enjin gelintar untuk internet dan sistem capaian maklumat (samb…)