3. 1. 2013

Jiří Materna: Miloval literaturu, jazyk a programování. Dnes vede výzkum největšího českého vyhledávače

Jiřího Maternu, vedoucího výzkumu vyhledávání v Seznam.cz, vždy zajímal jazyk, literatura a programování. Dlouho kvůli této různorodé kombinaci žánrů nevěděl, jakým směrem upřít svou pozornost. Nejprve se pustil do studia informatiky, avšak postupně si nalezl cestičku vedoucí mezi všemi jeho zálibami. Dnes kromě plného úvazku jakožto vedoucí výzkumu studuje počítačovou lingvistiku v rámci doktorského studia na Masarykově univerzitě v Brně.

Jiří Materna

Vím o tobě, že kromě své pozice vedoucího výzkumu v Seznam.cz ještě také zvládáš doktorské studium. Jak k tomu došlo?

Studoval jsem fakultu informatiky na Masarykově univerzitě v Brně. Nejprve teoretickou informatiku na bakalářském studiu a pak jsem se zaměřil na zpracování přirozeného jazyka v kombinaci se strojovým učením na magisterském studiu. Teď pokračuju v doktorském studiu a snažím se to nějak zkoordinovat s prací a dokončit dizertaci. Došlo k tomu tak, že mě zkrátka můj obor zajímá a baví. To je asi hlavní motivace, kterou člověk musí mít, protože titul Ph.D. není pro kvalitní uplatnění v oblasti informatiky až tak důležitý.

Jak náročné je skloubit dohromady zaměstnání v Seznam.cz a školu?

Velice. Malinko pomáhá, že u nás lze chodit do práce až na desátou hodinu. Přijdu v šest odpoledne domů z práce, podívám se na zprávy a zrelaxuju se. Od jedenácti do třetí hodiny ranní pak pracuju na dizertaci. A samozřejmě taky o víkendu.

Jaké je téma tvé dizertace?

Snažím se navrhnout určitou metodu pro automatickou identifikaci sémantických struktur v textu. Konkrétně jde o identifikaci sémantických rámců.

To zní dost odborně, dokázal bys popsat, k čemu by se to dalo využít?

Když máš někde v textu víceznačné slovo, tak pomocí sémantických rámců je například možné přiřadit danému slovu jeho konkrétní lexikální význam. Odborně se tomu říká disambiguace. Při určování významu se většinou vychází z okolí, ve kterém se to slovo vyskytuje. Vezmi si příklad slovesa trávit. Můžeš trávit jídlo, čas nebo třeba nějakého člověka. Jsou to tři odlišné kontexty, z nichž poznáš, o který význam se jedná. Problém je, že se dnes sémantické rámce vytvářejí převážně ručně. Já bych to chtěl zautomatizovat.

A ve vyhledávání by šlo tuto automatizaci nějak využít?

To bych strašně rád. Pro fulltextový vyhledávač je samozřejmě správné pochopení významu klíčové. Zatím se to však, alespoň u nás v Seznamu, řeší jednoduššími metodami. Na praktické použití mé metody pro vyhledávání je ještě brzo, ale věřím, že to půjde.

Máš o tom nějakou představu?

Nemám to zatím rozmyšlené do detailů. Pomocí automatického rozeznání významu by se daly označkovat významy v dokumentech a my bychom poté mohli lépe poznat, o čem daný dokument pojednává. Ale je v tom dost technických problémů, které by se musely vyřešit.

Ty jsi nejprve začal studovat pouze informatiku. Až postupně ses uchyloval spíše ke vztahu počítačů a jazyka. Co tě k tomu vedlo?

Vždycky jsem měl rád informatiku, literaturu a jazyk. Dlouho jsem hledal, co studovat na vysoké škole, protože kombinace formálních a humanitních věd není úplně obvyklá. Nejprve jsem se rozhodl pro informatiku a pak jsem se nějak přirozeně začal věnovat počítačové lingvistice a umělé inteligenci. Podařilo se mi skvěle skloubit své záliby pro jazyk a umělou inteligenci.

Zajímáš se tedy i o literaturu? Tam si umíš představit využití umělé inteligence a počítačové lingvistiky?

Určitě. Stroje asi nebudou psát kvalitní romány nebo básně, ale existuje velmi rozsáhlé odvětví počítačové lingvistiky, které se zabývá sumarizací textů. To je v současné době strašně důležitý obor.  Zejména na internetu existují nepředstavitelná kvanta textů bez jakékoliv formální struktury a lidé potřebují velmi rychle zjistit, jestli pro ně má cenu věnovat čas jejich čtení. Obyčejně si přečteme titulek, v rychlosti prohlédneme text, zachytíme nějaká klíčová slova a rozhodneme se, jestli má cenu číst článek detailně. Nástroj, který by automaticky dokázal vytvořit nějaký obsahový abstrakt, případně dokumenty správně tematicky označkoval, by byl velmi užitečný.

Umím si představit, že tohle by dokázalo využít i vyhledávání. Lepší rozeznání obsahu dokumentů by bylo přínosné…

Samozřejmě. My už něco takového i děláme ve snippetech, což jsou ukázky z vyhledané stránky, které se zobrazují mezi titulkem a URL. V podstatě je to také taková sumarizace textu z webových stránek, která text sice kompletně nereformuluje, ale místo toho hledá nejdůležitější úryvky.

Téma tvé diplomové práce bylo automatické určení domény a klíčových slov stránky. To mi zní jako téma ušité na míru budoucímu vývojáři vyhledávání. Směřoval už jsi tehdy nějak ke své budoucí profesi?

To jsi odhadl dobře. Vybral jsem si totiž tehdy z témat, která vypsal Seznam.cz. Mělo to být především o klasifikaci webových stránek do různých tematických kategorií. Já už v té době uvažoval o tom, že by se mi líbilo po škole pracovat v Seznamu. Když jsem diplomovou práci dokončoval, tak vznikla pobočka Seznam.cz v Brně, kde byla vývojová část sekce vyhledávání. Přihlásil jsem se a nastoupil. Plynule to navázalo na moji diplomku.

Spolupracoval jsi na diplomové práci s někým z firmy? Přeci jen jsi mohl potřebovat nějaké informace, které se jinde těžko shánějí.

Asi dvakrát jsem si telefonoval se Štěpánem Škrobem. Ze strany Seznamu šlo spíše jen o formální zadání tématu, ale spolupráce příliš intenzivně neprobíhala. Konkrétně pro moji diplomovou práci to ale nebylo ani nijak potřeba.

A informace o vyhledávání sis zjišťoval jak?

Moje diplomová práce nebyla nijak zvlášť závislá na vyhledávání, takže to ani nebylo třeba. V podstatě jsem si vytvořil svého robota, který postahoval několik desítek tisíc webových stránek a automaticky je klasifikoval do hierarchie tematických kategorií. Žádné vyhledávání v těchto stránkách jsem neřešil.

Vytvořil jsi vlastně zmenšenou verzi původního katalogu stránek, jaký byl na Seznam.cz v roce 1996?

Vlastně ano. Naprogramoval jsem něco, co ten katalog vytvářelo automaticky, respektive automaticky zařazovalo webové stránky do tehdejších kategorií katalogu Seznam.cz.

Za jakým účelem jsi to dělal, teda pominu-li to, že jsi psal diplomovou práci?

Chtěl jsem vytvořit nástroj na automatickou kategorizaci stránek a poté program na detekování klíčových slov v závislosti na dané kategorii. Věřím totiž, že by výběr vhodných klíčových slov měl být mimo jiné závislý na kategorii stránky.

V rámci doktorského studia jsi také učil, je to tak?

Ano, učil jsem Úvod do programování. To je takový předmět hlavně pro neinformatiky, kteří si čas od času potřebují něco naprogramovat, takže to z odborného hlediska nebylo příliš zajímavé.

Využíváš znalosti z počítačové lingvistiky i v rámci výzkumu vyhledávače Seznam.cz? Do jaké míry?

Jirka Materna 2Stoprocentně. Jazyk je ve vyhledávání stále přítomný, i když v dotazu se lidi často ptají dost specifickým způsobem, většinou jen výčtem klíčových slov. My ve výzkumu pracujeme minimálně na dvou velkých oblastech – jedna je strojové učení a druhá počítačová lingvistika. Takže to využívám velmi intenzivně.

 

Dokázal bys uvést nějaký konkrétní příklad?

Typickou komponentou, kde využíváme zpracování přirozeného jazyka, je oprava překlepů. Jiným příkladem mohou být situace, kdy uživatel zadá dotaz např. stomatolog Brno. Nechceme hledat pouze stránky, kde se vyskytují slova „stomatolog“ a „Brno“. Chceme hledat i různé morfologické varianty obou slov, tedy bez ohledu na pád, číslo apod., nebo třeba místo slova „stomatolog“ slovo „zubař“. Konkrétně hledání synonym je obrovský problém, především kvůli jejich víceznačnosti.

Říkal jsi, že tě lákalo pracovat v Seznam.cz už během studií. Proč?

Bral jsem práci tady jako výzvu, jelikož vyhledávání se tehdy rozjíždělo. Lákalo mě být u zrodu něčeho takového. Kromě toho se jedná o jednu z mála českých firem, kde se dělá výzkum, a ještě navíc v oblasti, kterou se já zabývám. Proto byl Seznam jasná volba.

Jak se tu vyvíjela tvoje kariéra?

Nastoupil jsem jako programátor do týmu vyhledávání, kde jsem nejprve pracoval na generátoru screenshotů, což je zjednodušeně řečeno komponenta, která dělá náhledy indexovaných stránek. Už tehdy existoval výzkumný tým, kde ale byli jenom tři lidi. Protože bylo obecně známo, že se zabývám lingvistikou a umělou inteligencí, tak se mnou často výzkumníci něco konzultovali. Později jsem plynule přešel k tomu, že jsem začal dělat více lingvistické věci. No a nakonec jsem se ucházel o uvolněné místo vedoucího výzkumu. A dostal ho.

V čem spočívá vedení výzkumu? Co vše leží na tvých bedrech?

V poslední době, kdy už mám v týmu 12 lidí, se musím především soustředit na jejich vedení a koordinaci, aby tým fungoval. Méně už mi poté zbývá čas na samotný výzkum a programování.

A když už se aktivně podílíš na výzkumu, na kterém typu věcí děláš nejvíc?

Samozřejmě se do hloubky věnuji věcem, kterým rozumím nejlépe. Snažím se podílet na věcech spíše teoretičtějších a méně technologických, což je mi mnohem bližší. Ona ta práce funguje tak, že produktový manažer přijde s nějakým nápadem – dejme tomu, že chce udělat automatickou klasifikaci stránek. Předá nám svůj návrh a my vymyslíme, jak ho provést. Spolu s  produktovým manažerem poté specifikujeme konkrétní zadání a předáme ho vývojářům. Ti nápad zpracují.  Nutno říci, že při počtu projektů, které řešíme, je moje pozice poněkud schizofrenní.