A presentation regarding search engines, Web robots and related technologies prepared to be delivered during "Computer Science at the Castle" Summer School (Macea, Arad, Romania, 2016).
O prezentare referitoare la motoare de căutare, roboți Web și alte tehnologii înrudite pregătită pentru Școala de vară "Informatica la Castel" (Macea, Arad, România, 2016): http://informaticalacastel.ro/
4. scop: localizarea resurselor existente pe Web
conținut textual
documente Web, știri, comentarii, cod-sursă,
însemnări în cadrul aplicațiilor Web sociale etc.
5. scop: localizarea resurselor existente pe Web
conținut multimedia
imagini (fotografii, diagrame, ilustrații),
audio, video, prezentări,…
(în formă fizică și/sau electronică – gratuite ori comerciale)
6. scop: localizarea resurselor existente pe Web
entități
persoane, organizații, evenimente, cunoaștere
(cărți, software), de interes personal/social
(bunuri reale/digitale – produse și/sau servicii),…
7. 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)
8.
9. 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
10.
11. Tipuri de căutări – maniera tradițională:
hibride
indecș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)
12.
13. Tipuri de căutări – maniera tradițională:
pe baza legăturilor hipertext (hyperlink analysis)
Google
inițial BackRub, o inițiativă demarată în 1996, disponibilă din 1998
Sergey Brin și Larry Page (studenți la doctorat – Stanford)
14.
15. Un motor de căutare trebuie să satisfacă
nevoia de informații a utilizatorului
(user information-seeking)
23. Robot Web
extrage informații
Index (catalog)
stochează – în mod persistent – (meta)date
despre resursele existente pe Web
Mecanism de evaluare
pe baza cererii utilizatorului,
oferă răspunsuri – de dorit, utile
26. Roboți Web
programe ce traversează automat Web-ul,
cu scopul de a extrage date
spiders crawlers Web bots
robot Web navigator Web
27. Roboți Web
pornind de la o adresă Web (URL – Uniform
Resource Locator), realizează o conexiune HTTP
la un server Web, pentru a întreprinde anumite
acțiuni privitoare la reprezentarea unei resurse
– uzual, HTML – și, recursiv, din toate resursele
(documentele) desemnate de legăturile existente
în cadrul reprezentării
28. Roboți Web
pornind de la o adresă Web (URL – Uniform
Resource Locator), realizează o conexiune HTTP
la un server Web, pentru a întreprinde anumite
acț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.
29. 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
31. 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/
32. 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
38. Index
Necesitatea folosirii sistemelor de baze de date
depozit distribuit de stocare – actualmente, în cloud
aspect important: optimizarea regăsirii
context mai larg:
procesarea volumelor mari de date (big data)
39. 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,…
40. 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,...
41. 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
43. Interfața de interogare
cererile sunt formulate via o interfață Web
unele motoare de căutare acceptă
folosirea unor operatori specifici
44. 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
45. digital camera $700 .. 1400
~book
intitle:design –intitle:web
"burse de merit" site:uaic.ro
inurl:art nouveau
allinurl:ES6 library
16 cm in inch
related:www.w3.org
php mvc inanchor:slideshare
define:design
cache:http://devdocs.io/
map:macea,arad
linux filetype:svg OR filetype:png
exemple
47. interacțiunea cu motorul de interogare poate fi
facilitată și de un agent software conversațional
Apple Siri, Google Now, Microsoft Cortana
Dragon Go, Sherpa, SpeakToIt Assistant
51. 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.
52. 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,…)
53. timp strategie
înainte
de 2000
conținut – indexarea textului
(titlu, anteturi, URL, descriere via <meta>)
2000—2010
conținut
autoritate (via legături desemnate de URL-uri)
2010
—
prezent
conținut
autoritate
personalizare (social media + profil de utilizator)
2012
—
prezent
conținut
autoritate
personalizare
concepte (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
58. Prezentarea rezultatelor
SERP – Search Engine Result Page
specifică maniera de redare a rezultatelor
oferite de motorul de căutare
59. Prezentarea rezultatelor
se includ recomandări pe baza:
preferințelor utilizatorului
istoricului căutărilor
URL-urilor partajate via rețele sociale
meta-datelor (rich snippets)
adnotărilor realizate de utilizatori
localizării geografice (local search)
60. exemplu
dezvoltatorii pot participa la DuckDuckHack: duckduckhack.com
motorul de căutare
DuckDuckGo este axat
asupra asigurării intimității
utilizatorului în ceea ce privește
căutările acestuia pe Web
64. 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ă fie
regăsite în urma unei căutări specifice efectuate
cu un instrument de căutare
66. 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>,…)
67. 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/
69. 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
70. 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-formatat
verificarea corectitudinii codului HTML cu instrumentul
oferit de Consorțiul Web – validator.w3.org
a se considera și https://github.com/h5bp/html5-boilerplate
71. 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
72. Conținutul primează – content is king
o importanță majoră o are titlul paginii
Untitled 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ți
via robots.txt
73. 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 importante
având conținut similar cu situl nostru
de verificat și menținut structura hipertextului
instrumentul LinkChecker – validator.w3.org/checklink
74. 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
75. Realizarea legăturilor între pagini (hipermedia)
recurgerea la aplicații Web sociale
SMO – Social Media Optimization
partajare în rețeaua de „prieteni”,
apreciere, comentarii, opinii,…
S. Buraga, Design Patterns for Social (Web/mobile) Interactions, 2016
http://profs.info.uaic.ro/~busaco/teach/courses/hci/hci-film.html#week7
77. 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
78. 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>
80. 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 Markup
Language), RSS (Really Simple Syndication)
un instrument Web util:
www.xml-sitemaps.com
81. Regăsirea informațiilor disponibile pe Web
trebuie considerată într-un context mai larg
accesibilitatea – utilizatorii cu nevoi speciale
Web Accessibility Initiative
www.w3.org/WAI/
Web Accessibility in Mind
webaim.org
82. 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
83. 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 resurselor
disponibile pe Web
84. S. Buraga, Proiectarea siturilor Web (ed. II), Polirom, 2005
www.slideshare.net/busaco/sabin-buraga-proiectarea-siturilor-web
Google Webmaster Central
https://developers.google.com/webmasters/
Learn SEO and Search Marketing
https://moz.com/learn/seo
Search Engine Land
http://searchengineland.com/
Search Engine Watch
http://searchenginewatch.com/
Search Engines @ VideoLectures
http://videolectures.net/Top/Computer_Science/Search_Engines
85. Căutarea resurselor Web
de la roboți Web și motoare de căutare la SEO
Dr. Sabin Buraga
Facultatea de Informatică, UAIC – Iași, România
http://profs.info.uaic.ro/~busaco/
ilustrații:
tango2010weibo.tumblr.com/