Za poslední roky se tým Seznam.cz Vyhledávání rozšířil více než dvojnásobně. Konkrétněji z 25 lidí v roce 2008 na aktuálních 67. Tento nárůst přinesl nejen mnoho nápadů a možnost pracovat na kvalitnějším vyhledávání, ale zároveň i řadu velmi zajímavých lidí. Právě ti totiž stojí za oním složitým, komplexním, ale především neuvěřitelně rozmanitým pozadím vývoje nástroje, který každý den využívají statisíce lidí. Rozhodli jsme se představit šest z nich v krátkých rozhovorech. Kudy vedla jejich cesta, než zakotvili v Seznam.cz? A jaké jsou jejich záliby vedle programování?
V prvním rozhovoru jsme si popovídali s Vladimírem Kadlecem. Od dubna 2011 vede jednu ze skupin výzkumníků, kteří pracují ve fulltextovém vyhledávání společnosti Seznam.cz. Jeho tým se věnuje například expandování stránek či detekci pornodotazů. Dříve se věnoval převážně výzkumné činnosti v rámci doktorského studia na Masarykově univerzitě v Brně. Mimo to pracoval pro Nortel a testoval letecké simulátory. Vladimír Kadlec ale není pouze výzkumník a programátor, ale také sportovec. Každé ráno se při cestě do práce prohání po Brně na kole.
Nortel byl v roce 1997 velká firma. Jak ses k té práci dostal?
Dohodila mi ji dcera bratra mé babičky. Ani nevím, jak se tomu v rodinné hierarchii říká. Bydlela v paneláku s jedním ze spolumajitelů firmy, která dostala od Nortelu zakázku. Přes ni se nějak dostali ke mně a nabídli mi spolupráci na tomto poměrně velkém projektu, a to hned po prváku na vysoké škole. Jednalo se pro mě o velký zlom – první full-time práce v mém životě, i když z domova.
Co bylo tvým úkolem?
Vytvořit překladač z jednoho programovacího jazyka do druhého, takové výukové prostředí pro jejich lidi, které jsem měl naprogramovat. Jel jsem tehdy do Severní Karolíny na školení jejich programovacího jazyka a zároveň Smalltalku, v němž to probíhalo.
To se v prváku zas tak často někomu nepovede. Co ti utkvělo v paměti z Nortelu?
Byla to tehdy jedna z největších telekomunikačních společností. Pro mě byl především zážitek podívat se do kanceláře, kde sedělo naráz 4000 programátorů.
Studoval jsi informatiku na Masarykově univerzitě. Jak jsi řešil propojení práce a studia? Jak dlouho to trvalo?
V průběhu druhého a třetího ročníku na vysoké kole. Potom byl projekt hotov. Propojení práce a školy nebyl až takový problém, jelikož jsem pracoval z domova. Dostal jsem domů pracovní stanici a obrovský monitor, což bylo k programování ve Smalltalku potřeba.
Jak velký monitor?
Dvacet palců. V roce 1997! Byla to velká atrakce, kamarádi se na něj chodili dívat.
Co přišlo po skončení práce na projektu pro Nortel?
Přišel čas na studium. Po dokončení magisterského studia jsem se přihlásil na doktorské. I když jsme měli grant, tak jsem střídal různé brigády. Jedna z nich byla testování leteckého simulátoru L-159. Teda ne jako pilot, ale jako tester softwaru. Ale s piloty jsem se potkával – oni věděli, jak se to má chovat, a já zase, jak to udělat. To mě doopravdy bavilo.
Čím ses zabýval během doktorského studia?
Zpracováním přirozeného jazyka na počítačích, především syntaktickou analýzou. Musím říct, že mě to bavilo, ale po sedmi letech už jsem cítil potřebu změny.
Pak přišel Seznam.cz? Jak ses tam dostal?
Zareagoval jsem na inzerát, kde hledali výzkumníka. Zaujalo mě to. Baví mě programovat a navíc se fulltext dost týká toho, co jsem dělal předtím na doktorátu.
Čemu ses věnoval po nástupu do Seznam.cz?
Pokud si dobře vzpomínám, tak expandování zkratek v dotazu.
Co všechno se skrývá za pojmem expandování zkratek?
Když někdo zadá dotaz na „NFS Shift“, tak vyhledávač má hledat „Need for Speed Shift“ a zároveň nehledat „Network File Systém Shift“. Zdá se to jako triviální úloha řešitelná třeba slovníkem, ale je spousta zkratek, které jsou mimo jiné také reálná slova. U těch se musí nějak obecně vymyslet, jak přijít na to, kdy danou zkratku rozvíjet, a kdy ne, aby nedošlo k nějakým absurdním chybám. Navíc lidé moc nedodržují správnou velikost písmen nebo diakritiku. To pak dělá problémy. Třeba ODA a óda zadaná bez diakritiky.
Jak vyhledávání pozná, kterou zkratku měl uživatel na mysli? Vypadá to, že zkratka může mít obrovské množství významů.
Podle ostatních slov v dotazu a taky podle kontextu, v němž se zkratka nachází v dokumentech. My disponujeme velmi širokým korpusem textů, téměř celým českým internet, a můžeme si tím pádem vytvořit jakýsi slovník nejčastějšího kontextu, v němž se dané zkratky nacházejí. V okolí významu „NFS“ jako „Need for Speed“ se tak budou vyskytovat slova jako „hra“, „game“, „auta“. Tato slova se v kontextu významu „Network File System“ vyskytovat nebudou.
A když se bude „NFS“ vyskytovat v dotazu osamoceně, jak se vyhledávač rozhodne uspořádat výsledky?
Jednoslovné dotazy jsou při expandování zkratek obecně problematické. Dá se to řešit minimálně dvěma způsoby. Zkratku nerozvíjet, nebo použít každý rozvoj, který dává smysl. Záleží na okolnostech.
Tohle všechno řešíš sám?
Ne, to ne. Mám v týmu ještě 3 výzkumníky.
A co dalšího tedy tvůj tým řeší?
Je toho víc. Třeba reformulaci dotazů a nahrazení synonymy, závislostmi významu slov na velikosti písmen, pochopením významu interpunkce a třeba detekcí pornostránek.
Detekcí pornostránek?
Děláme to proto, abychom na dotaz, který nemá porno charakteristiku, nedávali ve výsledcích vyhledávání pornostránky. Je to pro uživatele nepříjemné. Na dotaz „medvídek Pů“ lidé asi nechtějí porno, ale přitom takové stránky existují. Platí to ale také naopak – pokud je dotaz směřovaný k pornostránkám, relevantní je vrátit uživateli právě porno.
To si musíte prohlížet pornostránky v pracovní době?
Ano, ale zajímá nás především jejich text a chybně rozpoznané stránky. Koukání na video nás v detekci nikam neposune…
Takové stránky se tedy posuzují pouze podle textu?
Je to nejpřímočařejší přístup. Ale u spousty webů to může být problém, jelikož na spoustě pornostránek text moc není. Takové stránky zase nikdo nedohledá ve vyhledávači, jelikož bez slov nejsou zaindexované.
Změňme nyní téma. Dozvěděl jsem se, že navrhuješ ve fulltextu novou analýzu, jak měřit, že nová úprava hledání pomohla kvalitě hledání. Můžeš mi k tomu říci něco bližšího?
Jmenuje se to Ceiling analysis. Jde o obecnou metodu analýzy, jak zjišťovat potenciál stávajícího systému. Každý systém se skládá z určitých komponent a ceiling analysis nám pomůže vytipovat, na které části hledání se máme soustředit, aby to mělo největší efekt.
Jak jsi se o ceiling analysis dozvěděl? Na Wikipedii asi ne…
Dozvěděl jsem se o tom v kurzu ze Stanfordu. Začalo to kurzem umělé inteligence a strojového učení, o kterých přednáší kapacity v oboru. Ale je to hodně zásadní změna v přístupu.
Jak se v týmu vyhledávání staví k takovým novinkám?
Budu o tom mluvit na workbuilding fulltextu, kde prodiskutujeme výhody a nevýhody. Docela se na to těším, protože sám si nejsem úplně jistý, jestli by stálo za to tu metodu využívat. Ceiling analysis vyžaduje totiž mnoho ruční práce a má to mnoho dalších aspektů, které se budou muset vyjasnit. Každopádně se Seznam staví k inovacím pozitivně a na Ceiling analysis jsem dostal i prostor v rámci pracovní doby k samostudiu.
Co je to workbuilding?
Přes den workshop a v noci teambuilding (směje se). Jednou za čas celé oddělení vyhledávání: programátoři, výzkumníci, produkťáci, administrátoři vyjedou z Brna, Prahy a Budějovic na jedno místo, kde se všichni setkají, přednáší se, diskutuje se, řeší se aktuální témata i plány a nápady do budoucna. A taky se jednou za čas vidíme všichni naživo.