Hlavní navigace

Test inteligence online map potřetí

19. 11. 2007 23:14 (aktualizováno) Tomáš Kapler

Navazuji na svůj příspěvek Test inteligence (debility) online map a jeho malé doplnění resp. prosbu na čtenáře v Testu inteligence online map podruhé. Pro ty kdo nečetli, zkusím malé shrnutí.

Zkusil jsem položit dva jednoduché dotazy s možnou vícenásobnou odpovědí: „anglická“ (tj. příklad dotazu na název ulice bez specifikace města) a „ústí“ (příklad dotazu na název obce s možnými důležitými variantami) a snažil jsem se přijít na to, jak uvažují současné online mapy od Seznamu, Atlasu, Centra a Google.

Hodnocení jsem nechal na uživatelích, rozhodně jsem nechtěl tvrdit, že když se zadá „ústí“, že to nutně musí vrátit nějaké konkrétní ústí. Chtěl jsem ale aby uživatelé uvažovali už pro situaci konkrétního uživatele v konkrétním místě (u mě centrum Prahy).

Jak (asi) nyní mapy fungují

Seznam Mapy

Název ulice zřejmě řadí náhodně, respektive podle nějakého svého identifikátoru. Automaticky přibližuje na první odhadovaný výsledek. Pravděpodobně stejně postupuje v případě obcí, hledá vždy na volnou shodu. Při hledání „obec ústí“ to vrací obce seřazené podle velikosti.

Atlas Mapy

Řadí obojí podle velikosti obce, tj. pro jakoukoliv ulici, která se vyskytuje v Praze, vrátí výsledek z Prahy. U obcí dává nejdříve přednost přesné shodě (obce Ústí) a následně řadí podle velikosti obce. Ovšem nijak si nevšímá aktuální pozice mapy.

Centrum Supermany

U ulic opět řadí nějak pseudonáhodně jako Seznam, u obcí na rozdíl od Seznamu hledá pouze přesnou shodu (tj. Ústí nad Labem nenajde vůbec). Při hledání „obec ústí“ mi to vrátí 2 části obce Tachov a Stará Paka, které se jmenují „Ústí“ a ulici „Petra z Ústí“

Google Maps

Při standardním spuštění je nastaveno USA a dotazy na cokoliv co je přítomno i tam vrací výsledky z Ameriky. Má zjevně problémy s diakritikou, takže „Ústí“ vrátí 1 výsledek a to ještě nesmyslný.

Resumé

55 % lidí odpovědělo v prvním testu, že nejlepší výsledek dává Atlas, zbytek byl rozložen rovnoměrně. Ovšem to bylo pro situaci, kdy hledá někdo z Prahy. Kdybych dal příklad, že hledám třeba z Ostravy, tak by byl výsledek zjevně zcela jiný (i když pravděpodobně by i tak Atlas vyhrál).

Moje analýza

Jako první bych chtěl podotknout, že mě překvapilo, že žádný z vyhledavačů nepočítá s aktuální polohou toho, kdo hledá. To je značná chyba, pro 90 % lidí lze polohu určit relativně přesně (s přesností na obec či alespoň kraj či perimetr) a jak zkusím vysvětlit následně, mělo by to velký význam. Nicméně vše je jen můj subjektivní pocit, názory očekávám v diskusi.

Google alespoň zobrazuje u hledání „make this my default location“, po čemž vrací alespoň trochu smysluplné výsledky, bez vybrání České Republiky je ovšem zcela nepoužitelný (a i potom je velmi omezený kvůli problémům s češtinou a to jej bude naprosto diskriminovat, jeho jedinou výhodou tak zůstává i pro našince dobré API (byť jej to na Seznamu a zejména Atlasu v mnohém překonává, chybí jim ale živá komunita).

Přístup Seznamu a Centra, tedy zobrazení výsledku řazeného podle jejich vnitřní struktury je zcela nesmyslný, je to jak řadit výsledky fulltextu podle ID v databázi, nijak to uživateli nepomůže. U Seznamu je to o to horší, že vás na první takto nesmyslný odkaz rovnou přiblíží a vy tak nemáte přehled, kde jsou ty ostatní. U Centra je zase pitomé, že to hledá jen podle přesné shody, což opět značně eliminuje použitelnost.

Výsledky Atlasu byly při prvním testu skvělé, když by je ovšem viděl člověk třeba z Plzně, Brna či Ostravy, tak by se bezpochyby urazil, označil by Amapy za pragocentrické a měl by de-facto pravdu. Výsledky u hledání obcí ale byly téměř dokonalé – na prvním místě vrátil obce, které se jmenují přesně „Ústí“ seřazené podle velikosti či počtu obyvatel, na dalších místech pak obce na volnou shodu s termínem „ústí“ opět seřazené podle velikosti. Když mám navíc vybranou oblast např. Brno a okolí, tak je nesmysl, aby mi vracel Prahu.

Optimální výsledky

Pod druhým článkem produktová manažerka map Atlasu Veronika Vajdiaková vyjádřila pochybnost, jestli mi podaří najít nějaké optimální řešeni všech situací:

…pokud se vám podaří opravdu najít optimální řešení všech situací ve vyhledávání, tak klobouk dolů. A se slovy „celkem jednoduše“ bych byla opatrnější…

Moje odpověď je taková, že se nesnažím najít optimální řešení všech situací, ale optimálnější řešení než používají současné online mapy, a to myslím „celkem jednoduše“ lze. Zkusím nyní trochu uvažovat jak robot.

  1. co uživatel hledá

První je třeba rozlišit, co asi uživatel hledá (obec, ulice, zájmový bod), to se podařilo asi všem vyhledavačům (nejsem si jist u Google), ty dotazy také byly celkem jasné, ovšem zřejmě si to nějak neuvědomují, pakliže člověk nehledá vyloženě s nějakým klíčovým slovem typu „ulice“ či „obec“ a nijak nečlení podle těchto skupin. Co mně chybělo je nějaké rozčlenění výsledků podle těchto skupin, tj. hledám-li „Ústí“, mohly by být výsledky rozdělené zvlášť na obce, části názvů obce, atp. a odkaz typu „dalších xxx obcí Ústí“, „dalších xxx ulic Anglická“

  1. odkud to uživatel hledá a jaké území má vybrané

Geolocation funguje pro značnou část lidí velmi dobře, a proto mě velmi překvapuje, že ji nikdo nevyužívá. Zkuste si třeba tuto službu a zjistíte, kam by vás mohl vyhledavač automaticky zařadit. Jsem snad sám, kdo si myslí, že když někdo bude hledat jen „název ulice“, že předpokládá název ulice v tom městě, ve kterém právě je a kdo by možná uvítal u obcí či dalších objektů řazení podle vzdálenosti od místa, kde právě jsem. Zejména je to patrné u zájmových bodů. Když si dám vyhledat restaurace, a jsem ve Zlíně, tak mi je restaurace z Prahy či Plzně k ničemu. Navíc je to krásný prodejní argument pro případný placený zápis.

Nicméně toto funguje dobře „jen“ pro 90 % obyvatel, je třeba tedy jednoduché (one click) řešení pro nastavení místa „kde jsem“. Nefunguje to také pro uživatele mobilních typů připojení, kteří se ale dají relativně snadno rozpoznat podle svých IP adres.

Rozhodně by ale měl fungovat filtr na výběr oblasti. Tj. když mám vybráno Brno a okolí, budu chtít hledat ulici v Brně a okolí. Až poté by měla následovat lokace podle IP.

  1. jak se uživatel strefil

Určitě by se neměla apriori předpokládat tupost uživatele, ovšem zas nepředpokládat, že by uživatel znal vyhledávací zkratky a nebo znal přesně název. V tomto se mi líbil přístup Atlasu, který řadí výsledky podle přesné shody, pak podle volné shody, naopak zcela nelíbil přístup Centra, které hledá jen na přesnou shodu, nezná klíčová slova typu „obec“ a výsledky nijak neslučuje.

  1. jak výsledky zobrazit

Mám zazoomovat na výsledek? Určitě, ale pouze když jsem si s velkou jistotou jist, že výsledek bude to pravé ořechové. Už se mi stalo, že jsem hledal ulici, minutu se nemohl zorientovat, kde je, načež jsem zjistil, že jsem v jiném městě. Největší problém pak je, když se neukazuje minimalizovaná mapka zobrazující náhled republiky s vyznačenou polohou zazoomované části. Při více nejistých výsledcích je myslím optimální zoom na výběr všech možných výsledků.

  1. jak řadit alternativní výsledky

Jak řadit další možné výsledky? Podle mého názoru lidé nejčastěji hledají něco, co je jim nejblíž, a nebo dají bližší určení. Asi když budu v Praze a budu chtít hledat ulici Londýnská v Chebu, tak nebudu mít problém zadat třeba „londýnská, cheb“, ale proč to po mně chtít i když chci tu co je 1000 metrů ode mě? Ovšem tohle bude platit jen v nebližším perimetru, či obecně perimetru obce, ve které se nacházím. Budu-li zadávat ulici, která v Praze není, ale má více alternativ v různých dalších obcích, tak bych možná preferoval řazení podle velikosti té které obce (a/nebo ulice?) a nebo podle umístění (viz dále). Určitě by stálo za to rozdělit v okně výsledků jednotlivé výsledky podle typu Obce / Ulice / Zájmové body atp.

  1. jak zobrazovat puntíky na mapě

Už jsem tu naznačil jednu kacířskou myšlenku – rozdělit v okně výsledků jednotlivé výsledky podle typu co je rozdělit i barevně aby bylo jasně poznat, co je který typ. Navíc – když už služba nebude vůbec tušit co že jsem to vlastně chtěl hledat, a podle čeho tedy řadit. mohla by místo nějakého pseudonáhodného číslování na přeskáčku prostě číslovat výsledky zleva doprava (či přesněji ze severozápadu na jihovýchod. Takhle nevím který bod je který.

Takže …

Takže když bych byl robot, tak bych si pro první dotaz „anglická“ řekl: „hmm, všechny výsledky na dotazy "anglická“ jsou ulice, takže uživatel hledá asi ulici. Je v Praze, takže bych mu ukázal výsledky z Prahy, protože to zadal bez názvu obce, tak asi bude chtít hledat v obci která je, takže nazoomuju a zobrazím minimapku, aby věděl kde je. Ostatní výsledky seřadím podle velikosti obce.

Když bych ten stejný dotaz položil ve Františkových lázních, tak bych asi vrátil jako nejbližší výsledky z Františkových lázní, ovšem asi bych vždy nezoomoval na takový detail, kde by nebylo poznat, v jaké jsem obci. Když by navíc v okolí řekněme 30 km byla další taková ulice, tak bych nazoomoval na obě (všechny) v tomto rozsahu. To samé, kdybych hledal z obce, kde tato ulice není.

Hledání pro Ústí je možná jednodušší. Tady mi přijde nejlogičtější přístup Atlasu – tedy řazení podle přesné shody a následně řazení podle velikosti obce. Možná bych to jen vylepšil o to funkční rozdělení, tedy např. 3 nejdůležitější výsledky na přesnou shodu a následně napsat „všechny obce s názvem Ústí“, poté např. 3 výsledky z volné shody a „všechny obce obsahující ‚ústí‘“ a podobně. Rozhodně bych si ale netroufl při takto nejasném dotazu zazoomovat na jednu obec a když, tak bych rozhodně ukázal mapku ČR s vyznačením polohy výřezu.

Jak to ještě vylepšit

Myslím, že skvělým vylepšením přesnosti map je našeptávač. Na seznamáckých mapách byl, teď už tam není, vím, že osobně mě občas velmi inspiroval. Na rozdíl od klasického našeptávače, který řadí podle četnosti hledání, by ovšem bylo zajímavé předjímat výsledky.

Tj. když bych napsal „ústí“ a našeptávač mi rovnou napověděl

  • obec Ústí (okres Vsetín)
  • obec Ústí (okres Přerov)
  • obec Ústí (okres Jihlava)
  • obec Ústí nad Labem
  • obec Ústí nad Orlicí
  • obec Sezimovo Ústí

tak bych asi s největší pravděpodobností využil jeho služeb a pak by veškerá další přidaná inteligence byla méně důležitá, při hledání z našeptávače by také mapa rovnou mohla nazoomovat (a nemusela mi mimochodem přidávat tu otravnou vlaječku zabírající velkou část obce).

Optimální pak samozřejmě je, když si server (respektive nějaká moje cookie) pamatuje mé dotazy a snaží se odhadnout výsledek podle kontextu dalších hledání, ale to už je hudba budoucnosti.

Zároveň by automaticky měla být nabídnuta na jedno kliknutí cesta na dotyčné místo z místa, kde právě jsem (buď přes IP geolocation a nebo když už jsem předtím zaklikl svou „základnu“).

Samozřejmě otázka je, jak moc náročné by to bylo – počítat by se muselo výrazně častěji. Ovšem podle mého by to bylo vždy výrazně rychlejší a méně náročné, než když musí server poslat několikrát celé mapy (několik set kB podle rozlišení displeje).

Což mi připomíná ještě jedno technické vylepšení – když hledám na kterýchkoli mapách odjinud než z jejich vlastní stránky (např. homepage Seznamu/Atlasu/Cen­tra), pak se nejdříve načte mapa ČR a až následně mapa dané lokality. Například na mém monitoru to znamená načíst zbytečně zhruba 80 kostek 256×256 px, z nichž každá má cca. 12–16 kB. Tj. přibližně 1 MB dat naprosto k ničemu. Budete-li mít nejčastější linku s propustností na mapový server okolo 1 Mb/s, pak vám jen toto způsobí 8 sekundový rozdíl v rychlosti načítání.

Když bych si měl ještě k mapám vymýšlet, tak bych uvítal černobílou verzi map (zejména pro API), kde by lépe vynikly body, a bylo by to jistě mnohem více.

Co vy na to

Jak se vám líbí můj návrh, uvítali byste takové vylepšení hledání? Co byste hledali či preferovali jinak? Je ještě něco co vám u map chybí?

Sdílet