Hlavní navigace

David Beck (Hello Emma): Nechápu, proč Apple dělá s češtinou pro Siri takové drahoty

 Autor: Projekt Hello Emma
David Beck vytvořil Emmu, českou náhradu Siri pro iPhone. Kompletně se mu to podařilo v aplikaci Zkratky.
Jan Sedlák 27. 5. 2020
Doba čtení: 12 minut

Sdílet

David Beck pracuje v rádiu, má rád iPhone a už dlouho se těší na to, že se digitální asistentka Siri naučí česky. Marné čekání ho dovedlo k tomu, že si vytvořil náhradu. Jde o projekt Hello Emma, díky kterému mohou Češi s telefony od Applu komunikovat ve svém rodném jazyce.

Beck se neoznačuje za programátora a Emmu kompletně vytvořil v aplikaci Zkratky, kterou iOS standardně nabízí. V rozhovoru pro Lupu popisuje, jaké to přináší výzvy, co při vývoji musí řešit nebo zda už na něj nějak zareagoval Apple. 

Můžete trochu podrobněji vysvětlit princip Zkratek (Shortcuts), se kterými Emma pracuje?

Zkratky jsou aplikace, která je součástí iOS. Objevily se ve verzi 12, Hello Emma vyžaduje aktuální verzi iOS 13, která funguje na iPhonu 6S a novějších. Apple je představuje jako rychlý způsob, jak s aplikacemi provádět jednu nebo několik úloh. Například si naprogramujete zkratku „Jdu surfovat“, která stáhne zprávu s podmínkami pro surfování, ukáže vám odhadovaný čas příjezdu na pláž a spustí přehrávání playlistu. Začal jsem hodiny a týdny programovat jednu zkratku za druhou. Když jich máte dvacet, třicet a každá má stovky povelů, povede se vám vytvořit náhrada za Siri mluvící třeba česky.

Proč jste zvolil právě řešení Zkratky? Je to kvůli uzavřenosti iOS, kvůli kterému to byl jediný způsob, jak něčeho takového dosáhnout?

Nejsem profesionální programátor, umím jen Visual Basic, všeho všudy jsem naprogramoval deset aplikací. Pracuji v rádiu, takže šlo o programy kolem písniček, různé statistiky historie hraní nebo vysílací systém pro přehrávání písniček a znělek (jinglů). Zkratky jsem dlouho nedokázal ocenit a nenapadalo mě, co s nimi. Ale věděl jsem, že tam jsou příkazy „nadiktuj text“ a „přečti text“, což mi nasadilo brouka do hlavy. Nejdříve jsem spoléhal na to, že se najde někdo, kdo nám naprogramuje Siri v češtině. Když se nic neobjevilo, začal jsem letos pátého ledna programovat Emmu. Zkratky mají velký počet funkcí, můžete si naprogramovat všechno možné. Mě se to povedlo povýšit na jinou úroveň provázáním s hlasovým ovládáním.

Máte nějakou reakci z Applu?

Zatím se mi Apple neozval, ale jsem tuze zvědavý, co na to řeknou. Mimochodem, už teď se dá Emma přepnout do angličtiny. To je nachystané právě až si toho všimnou v Applu, aby si to v Cupertinu mohli sami vyzkoušet.

Co vás k vytvoření Emmy motivovalo? Je to skutečně funkce, která Čechům tolik chybí?

Posledních pět let hned v den vydání instaluji nové ostré i beta verze iOS a jako první hledám v menu nastavení Siri jazyk začínající na „č“, ale pokaždé narazím na čínštinu. Pak ještě zkontroluji, jestli se nedočkali Poláci, Maďaři nebo Slováci a usínám zklamaný, že zase ne. Přitom už v roce 2015 se objevovaly titulky „Siri se naučí brzy česky“. 

Původně jsem chtěl naprogramovat jen pár funkcí, nadiktovat, kdy budu doma, zapsat solamyl a hořické trubičky do nákupního seznamu. Ale nedalo se přestat a byly to nesmírně kreativní týdny programování. Cokoliv mě napadlo, ťuk ťuk, Emma se to naučila. Při vydání první betaverze se mi začali ozývat nevidomí, jak jim to může pomoci. To byla také velká a neplánovaná motivace, aby toho Emma uměla co nejvíce.

Hlasové ovládání a různé databanky mě zajímají dávno. Možná je to právě tím, že 28 let pracuji v rádiu, kde je alfou a omegou právě hlas. V 90. letech jsem si za první vydělané peníze na brigádě koupil databanku Casio na pár telefonních čísel. V dobách telefonní budek jsem měl malého asistenta do kapsy, již tehdy zcela bez klávesnice. Jmenovalo se to IQ Voice Organizer a ovládání bylo možné jen hlasem. Před prvním použitím bylo nutné vyslovit všechna čísla od nuly do devítky a pak bylo možné „diktovat“ telefonní čísla. Jako jméno a příjmení si to nahrálo váš nadiktovaný text, který se vám při hledání zpětně přehrál, a na displeji se zobrazilo telefonní číslo.

Jak sleduji úspěchy Alexy od Amazonu, kde je jednou z nejpoužívanějších činností poslech rádia, je jen otázkou času, až tohle bude fungovat i v češtině – je to nesmírně návykové. Co se týká Emmy, nejraději mám diktování krátkých SMS, poznámek jako tipy na výlety nebo nápady a samozřejmě budík a nákupní seznam. Dokonce můžete nadiktovat „chci se dívat na YouTube“ a automaticky se vám začne přehrávat požadované video – tohle v češtině neumějí ani chytré televize, ale spousta lidí by to ocenila.

Na práci jednoho člověka působí Emma dost schopně. Co myslíte, že stojí za tím, že Apple stále nepřinesl Siri na náš a další trhy, když to technicky evidentně jde? Velikost trhu?

Jak jsem přidával další a další funkce, stále méně jsem chápal, proč s tím technologické firmy dělají takové drahoty. Siri není dostupná v celé východní Evropě. Každého hned napadne, jaká musí být provázanost na datové zdroje, ale my nutně nepotřebujeme funkce jako rezervace stolu v restauraci, sledovat akciové trhy a hledat ve všech encyklopediích světa. Pro každodenní věci jako diktování SMS, vytáčení jmen z adresáře nebo plánování schůzek v kalendáři stačí diktování, které v češtině funguje léta.

Siri se poslední tři jazyky naučila v roce 2016 a od té doby nic. Já si chybějící Siri a vůbec horší user experience pro české uživatele vysvětluji buď tím, že v Applu neměli volnou kancelář na patře „Evropa“, nebo nějaký manažer má na stole malý globus a tam naše republika není vůbec vidět. Vždyť od iOS 6 navigace v češtině neumí skloňovat „za x metrů zahni doprava“. Když chcete napsat slovo „trojúhelník“ a napíšete „u“, tak se klávesnice změní a nabídne vám kroužek pro „ů“, ale ne čárku pro „ú“ a svítí tam v tu chvíli zbytečný háček.

Nebude Emma spíše pro technicky pokročilejší uživatele? Přeci jenom zprovoznění není triviální, jak se obecně od zařízení od Applu očekává, což může být pro některé uživatele odrazující.

Tak trochu spoléhám na osvětu od zkušenějších uživatelů, kteří Emmu budou používat a chlubit se, co jejich iPhone umí. Podle zpětné vazby uživatelů také sepisuji nejčastější komplikace a chyby při instalaci a časem budou dostupné na webu včetně návodu instalace krok za krokem i s obrázky. Ale je to něco za něco, buď čekat a čekat, nebo to zkusit trochu klikatou cestu, která ale za ten pocit stojí.

Používáte při programování ještě něco jiného než Zkratky?

Primárně Zkratky. Jsou to jen jednoduché skripty, které ale mohou využívat velké množství aplikací v iOS. Musím si vystačit s pár povely typu „nadiktuj text“, „přečti text“ a tak dále. Když jsem chtěl hezky zobrazit výsledek, musel jsem se ještě naučit základy HTML 5. Znal jsem jen tag pro tučné písmo a mě se tak zalíbily zakulacené rohy. Také jsem objevil fintu, že pro zobrazení obrázku nebo přehrání zvuku nemusíte stahovat MP3 nebo JPEG soubory, ale dá se to zakódovat jako HTML text.

Jaké byly a jsou největší technické limitace?

Zkratky jsou myšleny pro pár jednoduchých povelů, tak deset, dvacet. Emma jich má v každé kolem tří stovek, zkratka Kontakty pro volání a diktování zpráv dokonce 1400. Celkově je to sedm tisíc akcí a všechno jsem musel napsat na klávesnici iPhone, nic se nedalo zkopírovat. Když jsem nějakou část kódu potřeboval předělat, tak jsem ji smazal a začal nanovo.

Nevýhodou je způsob instalace pro uživatele. Není to aplikace na jedno kliknutí. Každou zkratku si musíte stáhnout, srolovat celým textem, přidat do sbírky a potvrdit všemožné dotazy na povolení přístupů. Je to dost klikání, ale rád to srovnávám s řazením oblíbených programů na chytré televizi, což je časově stejně náročná činnost. Ale pak to pokoukání na filmy nebo sport. Když těch deset až dvacet minut srovnáte s roky čekání na českou Siri, dá se to vydržet.

Emmě můžete diktovat SMS, stručné e-maily a vytáčet jména z adresáře. Zkratky ale nemají přístup k doručeným zprávám a mailům ani historii volání, takže Emma nezjistí, kdo vám volal ani nepřečte poslední přijatou zprávu.

Tohle omezení jsem se rozhodl vykompenzovat věcmi, které zase neumí Siri. Té řeknete jeden úkol a dost. Jak Emmu oslovíte, pokračuje s vámi v konverzaci – není to jako mluvení do vysílačky. Můžete si nechat přečíst počasí a pak třeba nadiktovat SMS. Můžete diktovat emoji, překládat z a do cizích jazyků anebo přepnout na diktování v jiném jazyce – to když chcete slovenskou nebo španělskou písničku nebo si do poznámky nadiktovat název anglického filmu.

Můžete více rozebrat, jak Emma funguje na pozadí?

Této otázky jsem se bál. Až se to dozvědí v Applu… Všechno jede na jejich serverech, to oni platí veškerý provoz. Všechno jsou standardní funkce Zkratek. Všechno se odehrává jen ve vašem telefonu, případně se nadiktovaný text posílá na servery Applu. Emma mi neposílá žádná data. Neznám ani počet uživatelů, ani počet stažení. Odkazy ke stažení vedou na iCloud, takže o tom nemám přehled.

Častý je pocit, že nějak překládám odpovědi Siri do češtiny, ale Siri potřebuji jen pro probuzení telefonu na povel Hey Siri. Jinak je Emma samostatně myslící robot nezávislý na Siri.

Když uživatel nadiktuje text „zapni budík na 8 hodin“, zkratka Emma CML – centrální mozek lidstva – hledá postupně klíčová slova. Jako první najde „zapni“ a spustí zkratku Vypínač, protože si myslí, že budete chtít zapnout žárovku (svítilnu), Bluetooth nebo tak něco. Ale nic z toho se nestane, takže CML hledá další slovo „budík“ a spustí zkratku s tímto názvem. Ta najde v textu časový údaj a vy zítra ráno nezaspíte.

Pro hlasové funkce používáte rovněž standardní nabídku iOS?

Vyžívám standardní funkce iPhone a iOS. Pro každý jazyk existuje několik systémových hlasů pro předčítání textu v sekci Zpřístupnění. Pro češtinu jsem zvolil Zuzana vylepšená verze, pro slovenštinu Laura vylepšená verze

Co při rozpoznávání mluveného slova v češtině přineslo za největší problémy?

Emma má několik systémových zkratek, které jí pomáhají porozumět nadiktovanému textu a zajišťují větší spolehlivost. Například ve větě „budík na 8“ Zkratky nepoznají, že jde o čas. Zkratka „Emma 23:59“ zjistí, že „8“ budou nejspíše hodiny a předají informaci dále. Když vám iPhone opakovaně něco nerozumí (právě větu „nastav budík“ rád interpretuje jako „na stavbu dík“), můžete Emmu naučit nejčastější nedorozumění a napsat si je do slovníku oprav. Když diktujete čísla, iPhone je přepisuje jako text „jedna, dva“, zatímco pro nastavení minutky nebo telefonního čísla potřebujete „1, 2“.

Zkratky se původně ptaly na každou věc jednotlivě – „Emma Kalendář: zadej čas a datum, pak zadej název schůzky, zadej místo schůzky“. Ale bylo to zdlouhavé a poznal jsem, že pro přirozenější diktování musí být vše rychlejší. Emma se tak popasuje s tím, když vše řeknete najednou: „naplánuj na sobotu 1. června patnáct hodin koupit novou pohovku místo IKEA Praha“.

Jak řešíte skloňování?

Ve Zkratkách je vše bez jakéhokoliv napojení na jiné servery nebo možnosti mít rozsáhlé databáze slov, takže to řeším ukusováním písmenek. Funguje to nad očekávání.

Zkratka CML zná klíčová slova jako „vypoč…“ anebo „schůzk…“, takže Emma bere všechny varianty „vypočti, vypočítej, schůzka, schůzku, schůzky“. Když máte zadanou oblíbenou adresu „škola“, v Připomínkách zkusí zase jen ukousnutím posledního znaku porozumět „až dorazím ke škole“ nebo „až opustím školu“.

Při hledání v kontaktech a povelu „zavolej Štěpánce Růžičkové“ ukousnu nejprve jeden znak na konci („Štěpánc…“), ale v kontaktech nic nenajdu. Až když ukousnu dva („Štěpán Růžičko“), povede se mi najít „Štěpánka Růžičková“. Samozřejmě je zde riziko, když má někdo v kontaktech i mužské jméno „Štěpán Růžička“, ale na toho bych narazil v prvním kole.

Emma aktuálně umí sedm tisíc povelů. Plánujete další rozšiřování?

Chtěl jsem, aby si co nejdříve všichni mohli česky povídat s iPhonem. V první verzi jsem prvního května představil většinu funkcí, teď čekám hlavně na zpětnou odezvu a chci přidat cizí jazyky. Když vaše čtenáře napadne, co ještě ovládat hlasem, rád to naprogramuji. Nějaké malé vylepšení chystám na léto a také se uvidí, kdy se dočkáme Siri. Zda to bude letos, nebo s Emmou budeme trávit i Vánoce a příští Velikonoce.

Systém jsem navrhnul jako otevřený, aby si každý mohl doprogramovat svoje vlastní zkratky a doplnit vlastní povely na ovládání domácnosti. Za zmínku stojí určitě možnost nahrazování textu – můžete diktovat emoji (vložit smajlík) nebo texty jako vložit adresu domů, vložit schránku a podobně. Při diktování SMS stačí říci „vložit kdy budu doma“ a do textu se podle navigace doplní reálný čas příjezdu domů.

Chtělo by to také dodat, že si vše můžete stáhnout zcela zdarma na www.HelloEmma.cz, a pokud se vám Emma bude líbit a budete ji používat, jako ocenění nápadu a hodin a hodin programování mě můžete virtuálně pozvat na kávu.

Když Emma čte česká slova a v textu se objeví třeba nějaké anglické, vysloví ho česky – například u slova „states“ místo „stejts“ řekne „s-t-a-t-e-s“. Je to něco, s čím si půjde do budoucna pohrát?

Jak už jsem řekl, využívám standardní funkci čtení v iOS. Zejména u cizích jmen může někoho zlobit nesprávná výslovnost. Ta se dá zadat do slovníku, aby Emma, ale i iPhone, věděli, jak co číst. Je to v nastavení výslovnosti (předčítání obsahu).

Chcete zpracovat variantu s mužským hlasem?

Emma využívá hlasy dostupné v iOS. Zrovna v době programování se objevily zprávy o plánované funkci v iOS 14, že si vývojáři budou moci přidat svůj hlas, tak jsem Emmu na to rovnou připravil a v kódu se přidají tři řádky a bude moci mluvit i jiným hlasem.

Zmiňujete, že Emma v budoucnu zvládne polštinu a maďarštinu a možná další jazyky. Můžete být konkrétnější, jak a s kým na takových jazykových mutacích pracujete, jak budete udržovat překlady a fráze pro více jazyků a jaké jsou časové představy o vydávání?

Emma měla umět jen česky. Vůbec mě ani ve snu nenapadlo, co všechno se mi povede. Ale když rozuměla obstojně česky, proč by nezvládla i slovenštinu. Když chcete naplánovat schůzku do kalendáře, jde o 600 akcí, ale to samotné mluvení je jen deset vět a deset řádků kódu. Když dalo takovou práci vymyslet všechny algoritmy, pak už je drobnost, jakou řečí Emma mluví. Naučit se může jakýmkoliv jazykem, pro který iPhone podporuje diktování a čtení.

Aktuálně dokončuji polštinu. Přes kamarády jsem získal kontakty na dva rodilé Poláky, kteří mluví česky. Všechny texty mají ve Wordu patnáct stran, tohle stačí přeložit, doplnit do Zkratek, přeložit návody, domyslet, jaká klíčová slova v běžné řeči lidé používají. V cizině ale potřebuji získat podobné nadšence jako já, aby pomohli dělat osvětu a dávat technické rady. Další je na řadě maďarština a mohu a plánuji přidat ještě dva jazyky – řečtinu a rumunštinu. Důvod je upozornit na to, že východní Evropa hraje v hlasovém ovládání druhé housle a je to výzva technologickým firmám, ať se ukážou, když já Emmu naučím sedm jazyků během pár měsíců.

EBF20-tip-temata

Když jsem se pak dočetl, že Evropský parlament přijal před dvěma lety zprávu o rovnosti jazyků v digitálním věku, právě aby se nezapomínalo s hlasovým ovládáním na jazyky pro pár milionů lidí, napadlo mě, že projekt Hello Emma by mohl tuto debatu trochu oživit právě i v Bruselu.

Jedna ze zkratek se jmenuje Made in the Czech Republic – v té si volíte, jakou řečí má Emma mluvit. Bez této Emma nefunguje. Chtěl jsem to využít jako netradiční reklamu na naši zemičku.