Căutarea resurselor Web
-
Upload
sabin-buraga -
Category
Technology
-
view
368 -
download
1
Transcript of Căutarea resurselor Web
Căutarea
resurselor Web
Dr. Sabin BuragaFacultatea de Informatică
UAIC – Iași, Româniaprofs.info.uaic.ro/~busaco/
scop: localizarea resurselor existente pe Webconținut textual
documente Web, știri, comentarii, cod-sursă,însemnări în cadrul aplicațiilor Web sociale etc.
scop: localizarea resurselor existente pe Webconținut multimedia
imagini (fotografii, diagrame, ilustrații), audio, video, prezentări,…
(în formă fizică și/sau electronică – gratuite ori comerciale)
scop: localizarea resurselor existente pe Webentități
persoane, organizații, evenimente, cunoaștere (cărți, software), de interes personal/social
(bunuri reale/digitale – produse și/sau servicii),…
Tipuri de căutări – maniera tradițională:
pe bază de indecși de termeni
explorare a Web-ului (crawling) +prelucrarea conținutului textual (indexing)
Lycos (1994, proiect de cercetare al lui Michael Loren Mauldin,
CMU – Carnegie Mellon University)
AltaVista(1995, Paul Flaherty, Louis Monier & Michael Burrows,
proiect de cercetare la DEC – Digital Equipment Corporation)
Tipuri de căutări – maniera tradițională:
pe baza ierarhiilor de termeni (cuvinte)(servicii de tip catalog – topic directory, taxonomii)
Yahoo! – Yet Another Hierarchical Officious Oracle
fondat în 1994 de Jerry Yang and David Filo (absolvenți Stanford)Jerry and David’s guide to the World Wide Web
Tipuri de căutări – maniera tradițională:
hibrideindecși + taxonomiiportal Web
Excite
inițial Architext, creat în 1994 de Graham Spencer, Joe Kraus, Mark Van Haren, Ryan McIntyre, Ben Lutch, Martin Reinfried
(studenți la Stanford)
Tipuri de căutări – maniera tradițională:
pe baza legăturilor hipertext (hyperlink analysis)
inițial BackRub, o inițiativă demarată în 1996, disponibilă din 1998 Sergey Brin și Larry Page (studenți la doctorat – Stanford)
Un motor de căutare trebuie să satisfacănevoia de informații a utilizatorului
(user information-seeking)
caracteristici ale unui motor de căutare idealdisponibilitate
orice modificare să fie indexată „instantaneu”(în timp-real)
caracteristici ale unui motor de căutare ideal„reamintire” – recall
găsirea tuturor resurselor relevantepentru o cerere dată
caracteristici ale unui motor de căutare idealprecizie
răspunsul oferit conține doar resurse relevante
caracteristici ale unui motor de căutare idealcategorisire eficientă – rankingcele mai relevante resurse Web
sunt plasate primele
Robot Webextrage informații
Index (catalog)stochează – în mod persistent – (meta)date
despre resursele existente pe Web
Mecanism de evaluarepe baza cererii utilizatorului,
oferă răspunsuri – de dorit, utile
Roboți Web
programe ce traversează automat Web-ul,cu scopul de a extrage date
spiders crawlers Web bots
robot Web navigator Web
Roboți Web
pornind de la o adresă Web (URL – Uniform Resource Locator), realizează o conexiune HTTPla un server Web, pentru a întreprinde anumiteacțiuni privitoare la reprezentarea unei resurse– uzual, HTML – și, recursiv, din toate resursele (documentele) desemnate de legăturile existente
în cadrul reprezentării
Roboți Web
pornind de la o adresă Web (URL – Uniform Resource Locator), realizează o conexiune HTTPla un server Web, pentru a întreprinde anumiteacțiuni privitoare la reprezentarea unei resurse– uzual, HTML – și, recursiv, din toate resursele (documentele) desemnate de legăturile existente
în cadrul reprezentării
acțiuni: extrage de date, copiere, agregare de conținut, monitorizare, realizare a unui rezumat etc.
Roboți Web
ai motoarelor de căutare majore
Baiduspider – www.baidu.com/search/spider.html
bingbot – www.bing.com/bingbot.htm
Googlebot – www.google.com/bot.html
Slurp – http://help.yahoo.com/help/us/ysearch/slurp
YandexBot – yandex.com/bots
Roboți Web
specializați
roluri: validarea codului HTML, scurtarea lungimii URL-urilor,
scanare de vulnerabilități, statistici,…
exemple: citeseerxbot, Page2RSS, extensii Nagios, W3C Validator
Roboți Web
personali
rulați de utilizatori
exemplificare: software de „oglindire” (copiere) a conținutului unui (fragment de) sit Web
aplicații notorii disponibile în regim deschis:curl – https://curl.haxx.se/
wget – www.gnu.org/software/wget/
Roboți Web
(potențial) malefici
pot cauza breșe de securitate, exploatând diverse vulnerabilități ale siturilor/aplicațiilor Web
exemple tipice: SQL injections
atacuri XSS – Cross-Site Scripting
Roboți Web
trebuie să respecte standardul de excludere
„inhibă” vizitarea anumitor zone (secțiuni) ale unui sit Web
Roboți Web
în rădăcina unui domeniu Web se poate plasa fișierul robots.txt
www.robotstxt.org/robotstxt.html
# https://developer.mozilla.org/robots.txt
User-agent: *Crawl-delay: 5Sitemap: https://developer.mozilla.org/sitemap.xmlRequest-rate: 1/5
Disallow: /admin/Disallow: /*/dashboards/*Disallow: /*docs/feeds...
exemplu
Index
Necesitatea folosirii sistemelor de baze de datedepozit distribuit de stocare – actualmente, în cloud
aspect important: optimizarea regăsirii
context mai larg: procesarea volumelor mari de date (big data)
Index
utilizarea nu doar a datelor propriu-zise(conținutul textual),
ci și a meta-datelor asociate unei resurse Web
e.g., limbă, cuvinte-cheie, autor, format,data ultimei actualizări, frecvența modificărilor,…
Index
indexare bazată pe cuvinte-cheie (termeni)
relevanță, plasament – e.g., context de apariție –, meta-date, procesarea limbajului natural,
clasificare (semi-)automată via învățare automată (machine learning) sau alte tehnici,...
Index
indexare semantică – recurgând la concepte
clasificare socială via adnotare de resurse – tagging(folksonomy)
+ folosirea tehnologiilor Web-ului semantic
(RDF, RDFa, SKOS, OWL,…)
vezi și Sabin Buraga, „Dezvoltarea aplicațiilor Web”:http://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html
Interfața de interogare
cererile sunt formulate via o interfață Web
unele motoare de căutare acceptăfolosirea unor operatori specifici
o parte dintre operatorii Google
"expresie" ~termen –termen
related: URL cache: URL link: URL
intitle: termen(i) allintitle: termen(i) intext: termen(i) allintext: termen(i)inurl: termen(i) allinurl: termen(i)
site: domeniu info: domeniu
define: termen filetype: extensie
um1 in um2 număr1 .. număr2
www.googleguide.com/advanced_operators_reference.html
digital camera $700 .. 1400~book
intitle:design –intitle:web"burse de merit" site:uaic.ro
inurl:art nouveauallinurl:ES6 library
16 cm in inchrelated:www.w3.org
php mvc inanchor:slidesharedefine:design
cache:http://devdocs.io/map:macea,arad
linux filetype:svg OR filetype:png
exemple
interacțiunea cu motorul de interogare poate fi facilitată și de un agent software conversațional
Apple Siri, Google Now, Microsoft CortanaDragon Go, Sherpa, SpeakToIt Assistant
Evaluarea relevanței
1. Analizarea interogării (tokenizing)2. Căutarea în indecșii termenilor3. Procesarea documentelor4. Evaluarea relevanței paginilor5. Eliminarea duplicatelor + sortarea6. Afișarea primelor N documente relevante
(URL + alte informații)
Evaluarea relevanței
se bazează pe…
informații vizând utilizarea unei resurse
factori: timp de viață, periodicitatea accesului la acea resursă, frecvența actualizării conținutului,
importanța relativă etc.
Evaluarea relevanței
se bazează pe…
conectivitatea cu alte resurse
analiza relațiilor (legăturilor hipertext) cu alte pagini
reputația – e.g., importanța domeniului Internet(sunt luați în calcul factori ca vechimea, localizarea,…)
timp strategie
înaintede 2000
conținut – indexarea textului(titlu, anteturi, URL, descriere via <meta>)
2000—2010conținutautoritate (via legături desemnate de URL-uri)
2010—
prezent
conținutautoritatepersonalizare (social media + profil de utilizator)
2012—
prezent
conținutautoritatepersonalizareconcepte (date structurate + Web of data)context (localizare geo., limbă, timp, dispozitiv,…)
adaptare după (K. Bodnar & J. Hopkins, 2011)de studiat și www.slideshare.net/randfish/presentations
vizând anonimitatea DuckDuckGo, Gibiru, Qwant, Unbubble,…
regionaleBaidu (China), Daum (Coreea), Goo (Japonia),
Guruji (India), MetaGer (Germania) etc.
meta-căutare Dogpile, Excite, Mamma, Searx, Yippy Search
enterprise search ElasticSearch, OpenSearchServer,…
răspunsuri(answer-based)
umane: Stack Overflow, Quora etc.automate: Evi, Wolfram Alpha
căutare de știri Daylife, Topix,…
hărți (maps) Nokia HERE, OpenStreetMap, WikiMapia
cod-sursă Open Hub, Krugle, Searchcode
folosind puterea umană (crowd-search)
Dunno + abordări distribuite (P2P): FAROO, Seeks, YaCy
desktop searchcăutare pe dispozitiv
Dash, DocFetcher,Recoll, Terrier, Tracker
instrumente software open source pentru implementatori: Apache Lucene, Apache Nutch, Apache Solr,
mnoGoSearch, Namazu, Xapian,…
API-uri publice: www.programmableweb.com/category/search
disponibilitatea datelor indexate în regim deschis în vederea analizării ulterioare:
https://commoncrawl.org/
Prezentarea rezultatelor
SERP – Search Engine Result Page
specifică maniera de redare a rezultateloroferite de motorul de căutare
Prezentarea rezultatelor
se includ recomandări pe baza:preferințelor utilizatorului
istoricului căutărilorURL-urilor partajate via rețele sociale
meta-datelor (rich snippets)adnotărilor realizate de utilizatorilocalizării geografice (local search)
exemplu
dezvoltatorii pot participa la DuckDuckHack: duckduckhack.com
motorul de căutareDuckDuckGo este axat
asupra asigurării intimitățiiutilizatorului în ceea ce privește
căutările acestuia pe Web
“At any one time you rank #1 or #8 or #40based on who is searching, where they search,
and what is happening.”
K. Bodnar & J. Hopkins, 2011
SEO – Search Engine Optimization
suită de strategii de redactare a codului HTMLîn vederea obținerii unei relevanțe ridicate
a conținutului, astfel încât pagina/situl să fieregăsite în urma unei căutări specifice efectuate
cu un instrument de căutare
Structurarea…
codului-sursă al paginilor Web
conținutului (textual, grafic,…)
legăturilor cu alte resurse
Se recurge la semnificația logică a marcatorilor HTML
POSH (Plain Old Semantic HTML)
titluri plasate ierarhic via elementele <h1>, <h2>,…
conținut tabelar cu <table>
aranjament vizual (layout) via stiluri CSS și nu tabele (<table>, <tr>,…)
Se recurge la semnificația logică a marcatorilor HTML
POSH (Plain Old Semantic HTML)
divizarea conținutului: <section>, <article>, <header>, <footer>, <aside> etc.
marcajarea elementelor vizând navigabilitatea cu <nav>
liste specificate cu <ul> <ol> <li>…
detalii la HTML5 Doctor: html5doctor.com/element-index/
Se recurge la semnificația logică a marcatorilor HTML
POSH (Plain Old Semantic HTML)
conținut textual alternativ pentru imagini (<img alt="..." />), legături (<a title="...">),
tabele (<table summary="...">), multimedia,…
atașarea de meta-date externe în antetul paginii Web via <head>, <meta /> și <link />https://github.com/joshbuchea/HEAD
Se recurge la semnificația logică a marcatorilor HTML
POSH (Plain Old Semantic HTML)
de evitat elementele învechite – e.g., cadre (frame-uri) –sau proprietare (<blink> ori <marquee>)
documentul trebuie să fie bine-formatatverificarea corectitudinii codului HTML cu instrumentul
oferit de Consorțiul Web – validator.w3.org
a se considera și https://github.com/h5bp/html5-boilerplate
Includerea de meta-date (date privind datele)în cadrul documentelor HTML pentru a „explica”
resursele Web unui program (software – e.g., motor de căutare)
soluții actuale aliniate problematicilor Web-ului semantic – Web of Data
scheme de microdate HTML5 – schema.org
RDFa (standard al Consorțiului Web) – rdfa.info
pentru detalii, de parcurs: S. Buraga, Why 5-Star Data? – www.slideshare.net/busaco/why-5star-data
http://profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html#week6
Conținutul primează – content is king
o importanță majoră o are titlul paginiiUntitled Document – aproape 22 de milioane de rezultate
situl trebuie actualizat periodic, frecvent
numele fișierelor (imagini, stiluri,…) conteazătehnică utilă:
„transformarea” URL-urilor – mod_rewrite la Apache
anumite date pot fi „ascunse” de roboțivia robots.txt
Realizarea legăturilor între pagini (hipermedia)
obligatoriu, de inclus legături spre alte resurse(ale sitului propriu ori ale altor situri)
dorim legături spre/de la situri importanteavând conținut similar cu situl nostru
de verificat și menținut structura hipertextuluiinstrumentul LinkChecker – validator.w3.org/checklink
Realizarea legăturilor între pagini (hipermedia)
tehnici clasice – considerate „demodate”:interschimb de adrese (link-uri) – banner-e, blogroll-uri
marketing bazat pe context – i.e. articole/produse înrudite
Realizarea legăturilor între pagini (hipermedia)
recurgerea la aplicații Web socialeSMO – Social Media Optimization
partajare în rețeaua de „prieteni”,apreciere, comentarii, opinii,…
S. Buraga, Design Patterns for Social (Web/mobile) Interactions, 2016http://profs.info.uaic.ro/~busaco/teach/courses/hci/hci-film.html#week7
Realizarea legăturilor între pagini (hipermedia)
de evitat paginile de eroare – 404 Not Found
orice pagină de eroare poate fi „convertită”într-o resursă folositoare omului/robotului
uzual, se oferă harta sitului (site map), legături relevante, motor intern de căutare,…
http://alistapart.com/article/perfect404
http://alistapart.com/article/amoreuseful404
Realizarea legăturilor între pagini (hipermedia)
a nu se folosi navigarea bazată pe JavaScript ori – mai desuet – pe tehnologii proprietare (Flash/Silverlight)
<p>participanții: <a href="javascript:sari(1);">aici</a></p>
Crearea documentului sitemap.xml pentru a-l expedia la Google Sitemaps
http://sitemaps.org/
complementar fișierului robots.txt
furnizează structura hipertext a unui sit Web
formate acceptate: text obișnuit, XML (Extensible MarkupLanguage), RSS (Really Simple Syndication)
un instrument Web util: www.xml-sitemaps.com
Regăsirea informațiilor disponibile pe Web trebuie considerată într-un context mai larg
accesibilitatea – utilizatorii cu nevoi speciale
Web Accessibility Initiativewww.w3.org/WAI/
Web Accessibility in Mindwebaim.org
Regăsirea informațiilor disponibile pe Web trebuie considerată într-un context mai larg
performanța aplicațiilor Web
aspect important: timpul de încărcare a unei pagini Web
profs.info.uaic.ro/~busaco/teach/courses/cliw/web-film.html#week12
Invisible Web (Deep Web)
acea parte a spațiului WWW care nu este detectată de motoarele de căutare sau
de alte tipuri de aplicații de regăsire a resurselordisponibile pe Web
S. Buraga, Proiectarea siturilor Web (ed. II), Polirom, 2005www.slideshare.net/busaco/sabin-buraga-proiectarea-siturilor-web
Google Webmaster Centralhttps://developers.google.com/webmasters/
Learn SEO and Search Marketinghttps://moz.com/learn/seo
Search Engine Landhttp://searchengineland.com/
Search Engine Watchhttp://searchenginewatch.com/
Search Engines @ VideoLectureshttp://videolectures.net/Top/Computer_Science/Search_Engines