Pro vyhledávání na českém internetu už léta používám
českou jedničku,
nicméně poslední dobou nelze přehlédnout, že se o náš rybníček
zajímá i jistý světový vyhledávač, a tak jsem začal přemýšlet,
nestačil-li by všem mým dotazům
jeden.
Obrázek z Daily Mail
Problém samozřejmě je, že jakkoli existují i tygři, kterým by
se ryby (úplně jedno jak dravé) měly ve vlastním zájmu vyhnout, ne
všem velkým šelmám voda vyhovuje. Méně metaforicky, je pro dotazy
v češtině lepší používat vyhledávač obecný, nebo specializovaný?
Na takovou otázku pochopitelně existuje řada odpovědí (včetně
"42"); níže je pouze jeden skromný pokus konkretizovat ji pro mé
potřeby a tím pádem v jistém smyslu částečně možná i zodpovědět.
Pro začátek budeme potřebovat nějakou množinu dotazů, kterou
předhodíme testovaným vyhledávačům. Nejjednodušší mi připadalo
(poté co jsem prozkoumal několik slepých uliček - celý tento popis
je velmi souhrnný) získat jí z "našeptávače",
navrhujícího populární dotazy začínající specifikovanými
písmeny. Aby to bylo spravedlivé, nevezmeme našeptávač žádného z
porovnávaných vyhledávačů (taky bysme mohli vzít oba, ale to je
víc práce), ale nějaký jiný (co se
nabízí) a zeptáme se ho, jaké dotazy navrhuje pro všechna
písmena abecedy.
| autorita | počet dotazů |
| centrum.cz |
479 |
To bude tak akorát počet pro malý experiment, a je to množina s
fascinujícím rozsahem (upřímně řečeno pro mé potřeby až
příliš velkým - neumím si představit že bych hledal řekněme
"operní árie dante" - ale já stejně česky moc nevyhledávám, takže
se spokojím s populárním výběrem).
Získat HTML stránky s odpověďmi na zpracovávané dotazy není tak
těžké - většinu technických detailů můžeme vynechat. Google se
trochu cukal, ale stačilo mu podstrčit
Referer a
User Agent,
aby se s mým klientem začal bavit - ani nevím jestli se mě
snažil přesvědčit abych používal
Google API a nebo to
mají prostě špatně naprogramované. Co se týče API,
má ho i Seznam, ale
zjevně ne pro obecné dotazy, a i kdyby oba vyhledávače měly API
vyhovující mým nápadům, určitě nebudou stejná. Nebudeme se párat
s hledáním vchodu pro dodavatele a použijeme brutální sílu.
Na výsledcích dotazů nás zajímají hlavně linky. Dostat z HTML
hodnoty atributu href elementu a je opět
standardní úloha, ale problém je, že ne všechny linky jsou pro
nás zajímavé. Rozeznat interní linky (do téže domény) je snadné,
ale pak jsou tam inzeráty, které chceme taky ignorovat - naším
cílem je zjistit kdo má lepší vyhledávač, ne kdo má víc
inzerentů. Stránky každého vyhledávače mají nicméně docela
pravidelnou strukturu, takže v zásadě je možné
napsat skript,
který vybere pouze "opravdové" linky (s přijatelným počtem
chyb). Knihovna interpretující seznamy linků dokonce ani nemusí
být specifická pro pouze jeden vyhledávač - abych se přiznal,
nejdůležitější motivací tohoto projektu bylo, že jsem si jednu
takovou napsal a chtěl ji vyzkoušet. Je veřejně přístupná, ale
v tomto textu ji nebudu rozvádět - jsme koneckonců na blogu
o .NET, takže pouze poznamenám, že by koneckonců bylo
docela dobře možné napsat ji třeba v C#... :-)
Řekněme tedy že máme linky odpovídající jednotlivým dotazům jak
na Google, tak na Seznam:
| autorita | počet linků |
| google.cz | 4762 |
| seznam.cz | 4672 |
A dál? No, pro začátek můžeme zjistit, jsou-li stejné. Zběžný
pohled nás přesvědčí, že nejsou úplně stejné (kdyby byly, dal
bych se do hledání chyby v mém programu), takže se budeme muset
rozhodnout, jak vypadá "skoro stejný" výsledek a vůbec jak
kvantifikovat podobnost. Po zralé úvaze (a hodu mincí) jsem se
rozhodl porovnávat nikoli celá URL, ale pouze jejich hosty -
jestli Seznam a Google doporučují pro tentýž dotaz různé
příspěvky v jednom blogu, je to vpodstatě totéž...
| autorita | počet různých hostů |
| google.cz | 2886 |
| seznam.cz | 3313 |
...a pořád to nevypadá nijak zvlášť zajímavě (že má Google víc
linků na hosta než Seznam je nejspíš artefakt toho, že jsem se
dotazoval jen na první stránku - Google na ní má košatější
stromy)...
Zajímavější je, že většina hostů je jiná pro Seznam než pro
Google - společných je jich pouze 508, tj. v zhruba jeden host
na dotaz. A samozřejmě se nemusíme ptát pouze na průměr, ale
můžeme se podívat na jednotlivé dotazy:
- Doporučují někdy Google a Seznam úplně stejnou množinu hostů?
- Doporučují někdy překrývající se množiny?
- Existují dotazy, na které Google a Seznam odpovídají zcela jinak?
Na první otázku je odpověď negativní - maximální shoda je 6 hostů
(z maximálně 10 na první stránce) na jeden dotaz. Interpretoval
bych to tak, že Internet je prostě plný šuntu, a i když ho
vyhledávače spoustu odfiltrují, pořád ho ve výsledcích dost
zbývá. Četnost dalších možností je v tabulce:
| výsledek | počet dotazů |
| částečná shoda | 419 |
| úplně jinde | 60 |
Google a Seznam vidí ten samý český rybníček dost jinak, aby
bylo možné, že jeden z nich ho vidí líp - ale který? I kdybych
chtěl ručně zkontrolovat statisticky významný zlomek těch linků
(jako že mě to ani nehne), kvalitu linků na (např.) "účesy pro
polodlouhé vlasy" obávám se neposoudím...
Dáme hlasovat. Zeptáme se jiných vyhledávačů (Centra a
ještě jednoho) a zjistíme, na
kterých dotazech se shodnou (na 197). Hosty společné těmto
dotazům prohlásíme za konsensuální realitu a spočteme, kolikrát
se do ní Seznam a Google trefí:
| autorita | počet úspěchů |
| google.cz | 138 |
| seznam.cz | 125 |
No, moc výrazný rozdíl to není... Co takhle podívat se jen na ty
dotazy, na kterých se Seznam s Googlem vůbec neshodnou?
| autorita | počet úspěchů |
| google.cz | 11 |
| seznam.cz | 5 |
To už je relativně větší rozdíl, ovšem dostáváme se nepříjemně
blízko k nule... Možná jsou ty vyhledávače přece jen všechny na
jedno brdo...