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).
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.
Ř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.
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í“
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ý.
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).
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.
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.
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á“
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.
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.
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ů.
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.
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 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.
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
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/Centra), 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.
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í?
Co se tyka slova 'anglicka', nechapu smysl to resit. Obcas se mi sice stane, ze zapomenu na ktere ulici mam schuzku, ale ze bych si pamatoval ulici a zapomnel mesto, se mi jeste nestalo.
A nejaka vetsi ynteligence je taky trosku kontraproduktivni, rekneme ze ve svem rodnem meste vim, kde se dana ulice nachazi a potrebuju ji najit jinde.
Nejak porad nechapu co tim testem sledujete, vase dotazy jsou s odpustenim naprosto nesmyslné. Spis by chtelo posoudit inteligenci sedici pred klavesnici.
Co je spravna inteligence? Nechapu, proc bych hledal ulici ve svem meste, dovolim si odhadnout ze ve svem rodnem meste znam 95 procent ulic a ve mestech kam sem se prestehoval se taky po par dnech clovek dokaze v pohode orientovat.
Naopak po mapach chci najit ulice mest kam jedu poprve na nejakou schuzku nebo jednani a pokud Masarykova ulice ci namesti se nachazi v kazdem druhem meste republiky co mi "Vas inteligentni system" asi tak vrati za výsledek :-)
Shrnuto - Vasi predstavu inteligentních map nepotřebuji a pravděpodobně ji nepotřebuje ani nikdo jiný. Maximálně bych chápal začínat ve vyhledávání dotazu nad aktuálním výřezem mapy ale to je asi tak vsechno, pokud by to bylo jak rikate vy, tak chudaci kdo maji UPC a pripojeni se tvari jako z Amstru ? :-D
[1], [2] - to je smutné, že inteligentní jedinci za jaké se považujete vy, si nedokáží uvědomit, že ne každý je jako vy a nebydlí ve vesnici s 10 ulicemi. Neznám nikoho, kdo by znal 95% ulic Prahy, Brna, Ostravy, Opavy, Plzně ... či jiného svého rodného města. Navíc zcela jasně říkám, že by to bylo jen pro dotazy, kde dotyčný nezadá název obce. Když bych byl v Praze, zadal "anglická" a myslel ulici ve františkových lázních, tak bych asi opravdu debil byl.
[3] co nechápete? Řazení podle počtu obyvatel? Myslíte si, že to nelze? Naopak, je to velmi primitivní - Český Statistický Úřad eviduje o každé z cca 6300 obcí v České Republice (dokonce o každé z cca. 13 000 obcí a správních oblastí) nejenom počet obyvatel, ale i jejich věk, pohlaví, náboženství atd. plus údaje typu počet škol, nemocnic atd. Tyto údaje jsou k dispozici pro každého zdarma, můžete se třeba kouknout co všechno evidují v okrese frýdek místek http://www.czso.cz/kraje/ov/publika/2003/812003/start.htm je tam toho ale více a v mnohem přehlednějších formách
[4] dneska se tu teda sešla squadra - představte si, že slovo "optimálnější" i "nejoptimálnější" jsou z hlediska českého pravopisu naprosto v pořádku. Byl jsem zvědav, jestli se opět nějaký trumbera ozve a předvede svou neschopnost. Doporučuji hledat na stránkách Ústavu pro jazyk český.
[5] řazení podle počtu obyvatel je asi tak užitečné jako řazení podle toho kde zrovna svítí sluníčko
[6] co jiného chceš od pražáka ;-) Praha je přece pupek světa a všude jinde je zaostalý venkov...
Dneska je tady ale fakt psina. Jeden co nemůže pochopit, že pokud hledá název ulice a nezadá město tak prostě nemůže dostat správnou odpověď, druhý co neměl dvě stovky na doménu a teď tu brečí že byl někdo jiný rychlejší.
> pokud hledá název ulice a nezadá město tak prostě
> nemůže dostat správnou odpověď
Takže znovu. Co je přesně špatného na vrácení ulice ve městě, ve kterém se nacházím (za předpokladu, že je zjistitelné)? To pro mne správný výsledek a ten, co většinou hledám (a ne, nejsem pražák). Pokud chci ulici někde jinde, tak to někde jinde samozřejmě musím upřesnit.
[8] špatného na tom je to, že takový výsledek by byl pro 99% lidí (to číslo je úplně stejně přesné jako to tvoje kde si myslíš opak) naprosto k ničemu. Ale ty to stejně asi nepochopíš...
Dobře, ať ja na mapách zaškrtávátko pro pražáky - hledej v lokalitě kterou mám zobrazenou, případně hledej podle lokality kde teoreticky podle mého providera jsem.
My ostatní se spokojíme s tím, že víme jakou ulici máme za rohem a mapy budeme používat k hledání neznámých lokalit. A při tom samozřejmě zadám město a ulici.
mapy.cz radi obecne vysledky podle poctu budov a k tomu je prirazena vaha podle zobrazeneho vyrezu mapy.
Proto v pripade testu zvitezila Anglicka ve Frantiskovych laznich, ktera je z nabizenych ulic rozhodne nejvetsi i kdyz pro Prahu urcite neni nejdulezitejsi. :-))
Radit vysledky dle lokality kde uzivatel sedi je totiz jinak dosti osidne. Preci jenom databaze geoip funguje spis tak kde sedi proxy pres kterou uzivatel surfuje. Coz by v pripade mobilniho internetu mohlo davat zajimave vysledky ;-))
Samozrejme popisovat algoritmus na 2 vysledcich je snadne, ale zkuste si zhruba 100-200 prikladu z cele CR i se zohlednenim urcitych zajimavych nazvu lokalit. ;-)) idealni reseni neexistuje. Obzvlast v pripade kdy je dotaz dosti vagne zadany.
[10] řazení podle počtu budov je fajn, ale opravdu si myslíte, že když někdo hledá pouze název ulice, že bude hledat tu ve františkových lázních, i když hledá z druhého konce republiky? Nicméně je to fakt skvělý způsob, ovšem jen pro výsledky z jedné obce či z near oblastí.
mobilní uživatelé se dají snadno filtrovat
Samozřejmě jsem to velmi zjednodušil, jen jsem chtěl poukázat na to, že prostě současný algoritmus pro spousty dotazů není optimální. To že mi prostě na dotaz "anglická" nazoomuje františkovy lázně, je imho jasná chyba
[13] V tom pripade zkuste si predstavit ze misto neobvykle ulice Anglicka by v testu byla pouzita ulice Zahradni, Skolni apod.
Dale si predstavte ze mate internet s transparentni proxy a ne ze by to nebylo neobvykle.
V pripade hledani pouze nazvu ulice je opravdu pravdou na blbou otazku blba odpoved.
Pokud se zacnete chytat GeoIP, jak zajistite konzistentni podobu vysledku, kdyz se napr. meni souradnice proxyny proste jen tim, ze poskytovatel internetu zmeni strukturu nebo uzivatel zmeni poskytovatele?
Samozrejme zni to hezky tvorit vysledky podle lokality uzivatele, ale presna data pro to nejsou a uzivatel ve vice jak 90% spolupracovat nebude. V zasade jde v uvozovkach idealni algoritmus stvorit jen pro zarizeni s GPSkou.
[14] viděl jsem někde statistiky přesnosti geoip lokace a byly překvapivě přesné (pro cca 90% lidí). Jasně, existují poskytovatelé, kteří mají blbě registrované IP, ale prostě je to naprostá menšina a dá se to všechno filtrovat právě na základě informací od těch 10%, kteří budou měnit svou výchozí adresu.
co se týče představy typu "zahradní", "školní" apod, tak v tom nevidím rozdíl. Pakliže budu v Praze, pak by mi to mělo vrátit největší ulici "zahradní" či "školní" v Praze, když budu v Brně tak tu brněnskou. Nějaký problém? Když zadám "zahradní, brno" a budu v tramtárii, tak mi to vrátí největší brňenskou. Také nějaký problém? Ale nazoomovat mě do bystřice pod pernštejnem je prostě kravina.
To že neznáte nikoho kdo zná všechny ulice v Praze, Brně Plzni neboLiberci neznamená, že takový člověk neexistuje :-)
Mimo jiné jsem nějaký čas předtím, než jsem se odstěhoval do vesnice s deseti ulicemi :-) Bydlel v Liberci, Plzni a v Praze, ale to přes whois nezjistíte ;-)
Ale to nic nemění na tom, že Váš test je blbost na ntou, pokud někdo vyhledává jak vy, tak si ty nesmyslné výsledky zaslouží.
A taky pro Vaši statistiku, patřík k těm cca 10 procentům, co maji na geoIP spatný výsledek ;-)
Dodatek k Vašim uvaham:
" Pakliže budu v Praze, pak by mi to mělo vrátit největší ulici "zahradní" či "školní" v Praze, když budu v Brně tak tu brněnskou. Nějaký problém? "
Jenom malý problémek, hledat nejvetsi skolni ulici v nejakem konkretnim meste je s odpustenim volovina, pro prehlednost je jeden kazdy nazev ulice v jednom meste pouzit pouze jednou, ale to by fakt mohlo být jasné každému. (dokonce to platí i pro tak vyjímečné město jako je Praha)
[18] Unikatnost ulic co do presneho nazvu v ramci mesta plati. Jsou ovsem problemy napr v Kladne kde jsou vyznamove duplicity mezi starym Kladnem a Kladno-Svermovo, kdy je pak vysledek nabouran pokud se uzivaji aliasy.
Dale prosim vemte v uvahu to ze mapy uz nejsou jen o hledani adres,a le i o hledani neceho na danych mistech. Jak pak idealne namichat vysledk v pripade kdy nekdo udela tak zakerny dotaz jako je napr "mexicka restaurace"? Co uzivatel chtel? Mexicke restaurace nebo restaurace v ulicich mexicka? :-))
Nechci celou problematiku zlehcovat, ale cela tahle kauza s dotazy do hledani je znacne neobjektivni a zjednodusujici. Na dvou dotazech testovat aplikace ktere jen pro CR musi obsahovat ~6 500k obci a vice jak 70 tisic ulic. :-)) a pokud se k tomu pridava hledani v katalogu mame jeste dalsich ~300-400 tisic zaznamu, ktere se musi hledat ve vztahu k nalezenym adresam a vysledek idealne vratit do 3 sekund. ;-)))
A co na to ma oblibena obec Okna, ulice Socialni pece, cast obce Parnik apod.? Existuje totiz tolik ruznych zakernych nazvu a kombinaci regionu, ktere doslova likviduji jinak na pohled krasne a ciste algoritmy.
Tomáš Kapler, specialista v oblasti internetového marketingu, konzultant v oblasti datových sítí a připojení k internetu
Přečteno 144 352×
Přečteno 84 602×
Přečteno 48 139×
Přečteno 38 274×
Přečteno 31 791×