YodaQA

Tohle bude takové menší neoficiální povídání o mém působení v summer campu eClubu, kam jsem se letos přihlásil. To je taková brigáda, kdy vám dají 8000,- měsíčně za to, že spolupracujete na všemožných projektech souvisejících s big data, machine learningem, domácí automatizací, cloudem či mobilních aplikací. Přiznám se, že můj vstupní pohovor dopadl příšerně. Přišel jsem fakt nepřipravený a asociální a hned při první otázce jsem zamrzl. Bylo to "Co vás baví?" Ach jo. Tohle musím natrénovat. Každopádně ze mě vypáčil, že vím, co je to quicksort a linked list a rovnou mě přiřadil. Nevím, jestli mě tím odbyl, ale tvářil se, že to je dobrá nabídka. Doteď nevím, jestli se ke mně Big Boss chová ironický, nebo ne.

Každopádně můj projekt je (zatím..) YodaQA, neboli "Yet anOther Deep Answering pipeline", což je ve zkratce (open source!) systém, kterému dáte nějakou konkrétní otázku, jako například "Who wrote Neuromancer" a ono to tu otázku analyzuje a dá vám konkrétní odpověď - v tomhle případě William Gibson. Přišlo mi to docela hustý (zvláště pak část s pochopením otázky), ale když jsem o tom vyprávěl holkám, tak to poměrně rychle sestřelily s "A proč nemůžu prostě zadat otázku do googlu a nekliknout na první odkaz?"

A to je velmi dobrá otázka. Člověk by ji mohl odbýt s tím, že to jsou prostě holky, co se aktivně nezajímají o věci, které nevyužijí (říkám tomu selektivní luddita), ale ten argument mě docela vykolejil. Mé chabé pokusy s osobním asistentem byly zakázány faktem, že už je Siri, a vysvětlit výhody systému, co je schopen autonomně porozumět a odpovědět na otázky, bylo v ten okamžik nad mé síly. Zkusil jsem to tedy znova s tradičním videem Watsona od IBM a zajímavostí, že Watson už teď pomáhá lékařům v Americe.
Přitom je už ve videu jasné, že nestačí pouze googlit a dát první článek, ale musíte vědět na co se odpovídá!

Z toho se jenom vyklubala "diskuse" o tom, že by ty znalosti měli lékaři mít všechny v hlavě, protože to přece studují, takže ten argument se rovněž extra neosvědčil. A vysvětlovat proč je dobré mít intiutivní  přístup ke všem nejnovějším vědeckým článkům a informacím s tím, že se to nemusí "googlit" (rozumí to otázkám a je to schopno na ně precizně odpovědět.. už chodíme v kruhu)..

Řekněme, že v tom okamžiku jsem mé snažení vzdal. Možná jsem vyzněl jako arogantní programátor, co chce nahradit chudáky doktory, ale mně to prostě přišlo jako dobrý pomocník, co vyrovná nějaký ten občasný nedostatek/výpadek. Být zoufalejší, tak googlím statistiku špatných diagnóz.

Holky Question Answeringem holt neoslníte.

V blízkém horizontu je v plánu aplikovat YodaQA na filmovou databázi (což je právě neoslnilo kvůli všemocné síle Googlu) a několik dalších projektů.

Já zatím dělám docela houby. Začal jsem implementací cache na zrychlení, což bylo nakonec poměrně snadné. Moc mě potěšilo, že to ten projekt skutečně o nějakých 30% zrychlilo. Spíš jsem se musel naučit s Gitem a pročítat si všechen ten kód. Jako další jsem dělal filtr tkz. stopwords, ale po dvou hodinách jsme s mým mentorem zjistili, že takovou kostru už někde napsal a to stačilo upravit. Poměrně zábavně iteroval polem Stringů a pokaždé to porovnával s daným heslem, nahradil jsem to HashSetem, díky čemuž to mělo konstantní přístup místo lineárního, a pak si hrál s výpisy, natěšen na další zrychlení. To bohužel nedošlo, přestože to filtrovalo všechno, co mělo, ale prý to sníží šum, tak snad to k něčemu bude.

To byl teprv první týden, zbývá mi jich 7 a doufám, že tam nezjistím/nezjistí, že jsem vlastně vypatlaný a netuším, co dělám. Z toho mám trochu strach celou vysokou školu. V blízké době se pokusím YodaQA blíže popsat a přidat i nějaké moje experimenty.

Komentáře

Populární příspěvky z tohoto blogu

Creating my own Point of Sale system, Part 0: Start

Creating my own Point of Sale system, Part 1: Design

Asian Squad