Principy řečových služeb. Jakub Doležal

Rozměr: px
Začít zobrazení ze stránky:

Download "Principy řečových služeb. Jakub Doležal"

Transkript

1 Principy řečových služeb Jakub Doležal

2 Autor: Jakub Doležal Název díla: Principy řečových služeb Zpracoval(a): České vysoké učení technické v Praze Fakulta elektrotechnická Kontaktní adresa: Technická 2, Praha 6 Inovace předmětů a studijních materiálů pro e-learningovou výuku v prezenční a kombinované formě studia Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

3 VYSVĚTLIVKY Definice Zajímavost Poznámka Příklad Shrnutí Výhody Nevýhody

4 ANOTACE Význam aplikace technologií pro rozpoznávání řeči je v současné době opomíjen i přes jeho význam pro praktické nasazení v Interactive Voice Response systémech jako další evoluční krok klasické tónové volby, známé z automatizovaných zákaznických linek. Tento modul obsahuje úvod do technologií pro tvorbu takových služeb, které s uživatelem komunikují pomocí řeči podobně, jako živý operátor. Studenti tohoto modulu porozumí základům a praktické aplikaci technologií VoiceXML a MRCP spolu s nejdůležitějšími pravidly návrhu řečových služeb. CÍLE Tento kurz seznamuje studenty s teorií i praktickým vývojem distribuovaných řečových služeb. Po prostudování první teoretické části budou studenti obeznámeni s možnostmi a limity technologií rozpoznávání a syntézy řeči. Druhá číst kurzu je již zcela praktická, obsahuje výklad tvorby skutečných řečových aplikací v jazyce VoiceXML a distribuované nasazení v telekomunikačním prostředí s využitím protokolu MRCP. LITERATURA [1] Sharma Chetan, Kunins Jeff. VoiceXML: Strategies and Techniques for Effective Voice Application Development with VoiceXML 2.0. : John Wiley & Sons, ISBN [2] Juang B. H., Rabiner Lawrence R. Automatic Speech Recognition - A Brief History of the Technology Development. Rutgers University and the University of California (Santa Barbara), [3] Mařík Vladimír, Štěpánková Olga, Lažanský Jiří a kolektiv. Umělá inteligence 5. : Academia Praha, ISBN [4] Harris Randy Allen. Voice Interaction Design: Crafting the New Conversational Speech Systems. : Morgan Kaufmann, ISBN [5] World Wide Web Consortium (W3C). Voice Extensible Markup Language (VoiceXML) Version 2.0. : 2004, [6] Burke David. Speech Processing for IP Networks: Media Resource Control Protocol (MRCP). : Wiley-Blackwell, ISBN [7] Shanmugham S., Monaco P., Eberman B. A Media Resource Control Protocol (MRCP). : 2006,

5 [8] World Wide Web Consortium (W3C). Natural Language Semantics Markup Language for the Speech Interface Framework. : 2000,

6 Obsah 1 Úvod Příležitosti řečových služeb Historie do konce 60. let Historie od 70. let Teoretické základy syntézy a rozpoznávání řeči Syntéza řeči Zpracování přirozeného jazyka Konketace řečových segmentů Rozpoznávání řeči Komponenty rozpoznávače - Akustický procesor Komponenty rozpoznávače Ligvistický dekodér Skryté Markovovy modely Vývoj řečových aplikací v jazyce VoiceXML Úvod Jazyk VoiceXML Stavy a formuláře Navigace mezi stavy a obsluha událostí Syntéza řeči práce s hlasem a tichem Syntéza řeči práce s důrazem Syntéza řeči dodání významu Gramatiky pro rozpoznání řeči Tvorba řečových gramatik Sémantická interpretace gramatik Tvorba gramatik pro tónovou volbu Skriptování Rozšířená práce s výsledky rozpoznání Procházení výsledky rozpoznání Načítání externího obsahu Logování událostí při běhu programu Distribuované nasazení řečových aplikací Protokol MRCP Obsluha sestavení spojení Obsluha syntézy řeči Obsluha rozpoznání řeči Výsledek rozpoznání řeči... 51

7 5 Závěr Shrnutí Test Test... 54

8 1 Úvod 1.1 Příležitosti řečových služeb V Současné době je většina softwarových aplikací založena na grafické interakci i přesto, že první, byť jednoduchý řečový syntetizér byl zkonstruován na konci 18. století a první rozpoznávač v roce Pro uživatele je však přínosnější a přirozenější kombinace hlasové a vizuální interakce, která potlačuje nevýhody a naopak zdůrazňuje výhody každé z obou interakcí. Kombinace interakcí se odborně označuje jako multimodální interakce. Pojem multimodální slouží jako protějšek známějšího označení multimediální, které označuje více způsobů interakce pro předání informací uživateli strojem. Naopak pojem multimodální vyjadřuje použití různých interakcí pro zadání příkazu stroji uživatelem. Cílem multimodální interakce člověka s počítačem je tedy nápodoba interakce člověka s člověkem, která využívá navíc více smyslu. Ideálním klientem multimodálních služeb je mobilní telefon, zařízení s celosvětovou penetrací 60% a celkovým počtem kusu. V některých rozvinutých zemích Evropy dosahuje penetrace nad 100%. V CR se jedná o penetraci 130%, mobilní telefon má téměř každý student a každý druhý důchodce. V rozvojových zemích je penetrace menší, avšak mobilní telefony představují nejdostupnější cestu k informacím. Celkový počet počítačů dosáhl v roce 2008 jedné miliardy, přitom 58% počítačů je používaných ve vyspělých zemích v EU, USA a Japonsku, ve kterých žije 15% světové populace. Uživatelé mají mobilní telefon, na rozdíl od osobních počítačů, většinou stále při sobe. Nové generace mobilních telefonu disponují rychlejším procesorem, vetší paměti, kvalitnější obrazovkou, rychlým připojením na Internet a GPS přijímačem. Tyto a další funkce učiní v budoucnu z mobilního telefonu všudypřítomné klienty s konektivitou, zajištující přístup k multimodálním službám. Současné dělení na vizuální a hlasové služby padne a přijde nová generace služeb, využívajících nejlepších vlastností z vizuální i hlasové interakcí. Služby se stanou vůči uživatelům přátelštější a efektivnější díky zapojení více smyslu. Uživatel bude komunikovat ze softwaru, který bude mluvit jako člověk a možná tak i vypadat. Informace pro uživatele budou pocházet z Internetu, role lidského operátora bude potlačena. Změní se způsob jejich prezentaci uživateli, založený na spolupráci webové stránky, vykreslené v prohlížeči telefonu, s rozpoznáváním a syntézou reci. Uživatelé budou moci zapojit zrak i sluch pro rychlé pochopení informací, používání služby se stane přirozenější a zábavnější. Díky tomu, že mobilní telefony doprovázejí své majitele po celém světě, bude možné vytvořit služby, nabízející správné informace ve správný čas. Znalost polohy uživatele umožní předložit mu jen ty informace, které se vztahují k jeho aktuální poloze. Díky zapojení hlasu se práce s informacemi přiblíží rozhovoru dvou lidí. Tento vývoj umožní většímu poctu lidí přístup k informacím a efektivní práci s nimi.

9 1.2 Historie do konce 60. let Ovládání strojů pomocí řeči je vnímáno jako buď jako rekvizita vědeckofantastických filmů nebo novinka, používaná pro hlasové vytáčení a vyhledávání na mobilních telefonech. První prototypy syntetizéru řeči, napodobující mechanicky lidské řečové ústrojí, však byly sestrojeny před dvěma sty lety a výzkum rozpoznávačů přinesl první výsledky před šedesáti lety v době, kdy dnes nejrozšířenější grafické uživatelské rozhraní neexistovalo. Následuje proto shrnutí významných pokroků až do konce 60. let, následující obrazovka rozšiřuje časovou osu do 90. let Christian G. Kratzenstein, ruský profesor fyziologie v Kodani, zkonstruoval první přístroj schopný vytvářet samohlásky pomocí rezonujících trubic připevněných k vahanům Wolfgang von Kempelen, autor slavného podvrhu hrajícího šachového stroje Turek a Bratislavský rodák, předvedl dvacet let jím vyvíjený přístroj schopný vytvářet celá slova i věty. Své poznatky shrnul v knize Mechanismy lidské řeči, i s popisem mluvícího stroje. Přístroj napodoboval lidské hlasové ústrojí: vzduch proudil z měchu nahrazujícího plíce přes píšťalu a přes úzkou trubici. Ovládal se páčkami a ručním zakrýváním nosních dírek a úst, prst nahrazoval jazyk. Jednalo se tedy v podstatě o hudební nástroj. Mechanický přístup k syntéze hlasu přetrval až do počátku 20. století Sir Charles Wheatstone navazuje na Kempelenovu práci a tím zahajuje další vlnu výzkumu fonetického rozměru řeči Alexander Graham Bell vynalezl telefon. Učinil tak poté, co se jako mladý seznámil s Wheatstonovou prací. Původně chtěl sestrojit fonoautograf, aby pomohl hluchým lidem dorozumět se s okolím Homer Dudley navrhl v Bellových laboratořích elektronický systém Voice Operating Demonstrator (VODER) pro rozpoznání a syntézu řeči. Jedná se o elektronickou variantu Wheatstonova syntetizátoru, pracující na základě poznatků Harveryho Fletchera o hlasovém spektru, které je distribucí síly hlasu přes frekvenci. Navzdory přetrvávajícímu paradigmatu hudebního nástroje je VODER považován za důležitý milník ve vývoji demonstrující význam spektra hlasového signálu pro identifikaci fonémů V Bellových laboratořích stvořen hlasový analyzátor schopný rozpoznat číslice 0 až 9 s pravděpodobností úspěchu 50 až 100 % Pracoval na principu měření formantů, což jsou lokální extrémy frekvenčního spektra vznikající akustickou rezonancí V Lincolnových laboratořích, Forie a Forgie byl stvořen systém rozlišující slova typu b-samohláska-t (bit, boat, byte,... ) s přesností 93 %. 60. léta 20. století Výzkum rozpoznání hlasu v Japonsku. V Tokiu se za účasti společností Suzuki a Nakata zkoumá rozpoznání fonémů. Rozpoznání samohlásek se společně s Kjótskou univerzitou věnují Sakai a Doshita za prvního použití segmentace řeč, která znamená počátek rozpoznání přirozeného jazyka. Laboratoře NEC zkoumají rozpoznání číslic. 9

10 1966 Položeny základy lineárního prediktivního kódování, které slouží k rozpoznávání fonémů na základě statistických pravděpodobnostních metod. V průběhu dalších let výrazně zdokonaleno. Na MIT vyvinut systém analýzy řeči se slovníkem o 50 slovech pracující na principu ohodnocení všech možností. Dosáhl úspěšnosti 86 %, v 96 % se správné slovo umístilo do druhého místa Stanley Kubrick natáčí film 2001: Vesmírná odysea (2001: A Space Odyssey), ve kterém vystupuje myslící a mluvící stroj. Lidstvo začíná být fascinováno představou stroje, který by se mohl chovat a mluvit jako lidé. 10

11 1.3 Historie od 70. let 70. léta 20. století byla bohatá na události: Počítače umožňují simulovat obvody pro generování tónů, což se dříve dělalo s pomocí speciálního hardwaru. Systémy pro rozpoznání mají slovní zásobu čítající stovky slov. Mezi problémy patří nutnost dělat pomlky mezi slovy a závislost na mluvčím. Založena první komerční společnost v oboru rozpoznání řeči Threshold Technology, Inc. Se svým produktem VIP-100 System slaví skromné úspěchy, použito výrobci televizorů a FedExem. Do výzkumu porozumění řeči se dává americká DARPA společně s Carnegie Mellon University. Jejich systém Harpy obsahoval ve svém slovníku 1011 slov, k jejichž rozpoznání používal segmentaci řeči a prohledávání konečného grafu stavů pro výběr nejpravděpodobnějšího slova. Tým IBM, v čele s českým rodákem Fredem Jelínkem, zkoumá hlasem ovládaný psací stroj Tangora, který měl umět převést řeč do textové podoby, a stát se tak historicky prvním Speech-to-text systémem závislým na řečníkovi. Používal gramatiku a n-gramový model. Gramatika byla statistickým souborem syntaktických pravidel říkajících, která slova nebo fonémy po sobě mohou v projevu následovat. N-gramový model slouží k predikci dalšího slova na základě slov již zadaných, až do počtu n. Dnes se využívá zejména pro porozumění přirozenému jazyku. V Bellových laboratořích AT&T se pracuje na systému nezávislém na mluvčím, schopnému obsloužit velký počet zákazníků v oboru telekomunikací. Použito statistické modelování. Systém byl schopen si poradit s přirozenou řečí zákazníků díky vyhledání klíčových slov v projevu, které pak spustily adekvátní reakci. 80. léta 20. století Pokrok ve statistickém modelování řeči, které je základem dnešních systémů. Jednalo se zejména o skryté Markovovy modely, na kterých jsou založeny dnešní systémy rozpoznávání řeči. 90. léta 20. století vznik call center se jeví jako vhodná příležitost k automatizaci hlasové komunikace se zákazníkem. AT&T v roce 1992 zprovozňuje Voice Recognition Call Processing (VRCP), který vyřídí za rok 1,2 miliardy telefonátů za použití technologií rozpoznání i syntézy řeči. Podle AT&T někteří zákazníci vůbec nepoznali, že se jedná o stroj. Některé výše zmíněné technologie (rozpoznání fonémů, segmentování, lineární kódování, statistické metody, gramatiky) jsou dále rozvíjeny a dnes používány. 11

12 2 Teoretické základy syntézy a rozpoznávání řeči 2.1 Syntéza řeči Pojmem syntéza řeči označujeme proces tvorby akustického signálu, který imituje lidskou řeč na základě strojové informace, která má obvykle podoby textu. Proto se syntéza také označuje jako Text-to-speech. Při syntéze dochází ke zřetězení (konketace) segmentů akustického signálu do podoby výsledného sdělení. Na některých českých nádražích se lze setkat s nejjednodušší formou konketace jednotlivých předem nahraných slov pro syntézu informačních hlášení cestujícím. Software pak vybírá nahrávky jednotlivých slov z databáze a zřetězuje je. Takové řešení je velice jednoduché, avšak značně limituje možnosti použití a rozšiřitelnost daného řešení, kdy pro syntézu hlášení je nejprve třeba slova namluvit a zanést do databáze. Tato kapitola pojednává o složitější variantě konketace fonémů - nejmenších akustických jednotek řeči, která umožňuje syntézu prakticky jakékoliv informace. Foném je nejmenším rozlišitelným prvkem akustického vnímání řeči, který má rozlišovací vlastnost. Tedy na základě poslechu fonémů v projevu dokáže mozek určit obsah sdělení. Při syntéze dochází k fonetické transkripci, tj. k převedení posloupnosti znaků abecedy na posloupnost fonémů. Vlastní syntéza se skládá ze dvou procesů, popsaných na následujících stránkách: 1. Zpracování přirozeného jazyka 2. Konketace řečových segmentů Moderní syntetizéry navíc disponují podporou více jazyků v podobě rozšiřitelných softwarových modulů. Je proto možné míchat v jedné řečové službě mnoho jazyků, neboť syntéza řeči nepředstavuje pro dnešní počítače velkou výpočetní zátěž. Se syntézou řeči se můžeme setkat v moderních operačních systémech pro chytré mobilní telefony, kde nabízí alternativu k obrazovce. 12

13 2.2 Zpracování přirozeného jazyka Na předchozí stránce je zmíněna fonetická transkripce pro převod textu na fonémy. Pro správný převod je nutné provést řadu operací nad vstupním textem pro optimální transkripci. Dnešní řečové služby jsou propojeny s řadou graficky orientovaných aplikací, které poskytují informace v textové podobě, která spoléhá na implicitní znalost významu použitého formátování lidským uživatelem. Jedná se o formát zápisu čísel a zkratek a symbolů, interpunkci a další. Tyto psané projevy přirozeného jazyka je třeba analyzovat a dle výsledku upravit vlastní následnou konotaci řečových segmentů. Komponentou syntetizéru, zodpovědnou za toto zpracování přirozeného jazyka, je Morfologicko-syntaktický analyzátor. V případě některých slov jsou však vlastnosti řeči, získané na základě syntaktické analýzy, nepřesné. Např. anglické slovo read může být vysloveno různě na základě časového vyjádření věty. Tyto problémy řeší Morfologicko-syntaktický analyzátor. Ten pracuje podobně jako kontrola pravopisu v některých textových editorech. Udržuje si gramatický kontext, a je proto schopen najít a případně opravit chyby v pravopisu a stylizaci. Jeho použití je logicky možné jen pro jeden konkrétní jazyk. Morfologicko-syntaktický analyzátor se skládá z několika částí, které pracují paralelně: 1. Předzpracování řeči extrahuje vlastní text formátu z požadovaného souboru a stanovuje strukturu textu: odstavce, tabulky, seznamy atp. Je využíváno anotací podkladového formátu (např. HTML značkování). 2. Normalizace převádí prvky textu vyžadující zvláštní interpretaci na lépe zpracovatelnou formu. Jedná se čísla, finanční částky, zkratky atd. 3. Morfologická analýza zpracovává ohebná slova tak, že detekuje jejich kmen a doplní jej o vhodné koncovky. 4. Kontextová analýza zkoumá druhy po sobě následujících slov podle pravděpodobnostního i deterministického modelu. 5. Syntakticko-prozodický rozbor odvozuje dodatečnou prozódii na základě hranic mezi frázemi v textu. K tomu je využíván korpus s anotacemi určujícími hranice frází Morfologicko-syntaktický analyzátor obsahuje pravidla pro gramatický kontext a pravidla výslovnosti slov definované pomocí expertních pravidel či trénovací množiny. Pro jazyky s množstvím odvozenin jako např. čeština je vhodná trénovací množina, vytvořená ze statisticky významného množství příkladů reálného jazyka. Tyto příklady jsou obsažené v tzv. jazykových korpusech, sestavovaných dle určitého zastoupení různých písemných projevů z novin, knih či dalších zdrojů. Naopak expertní pravidla jsou vhodná pro jazyky s jasnými pravidly pro gramatiku a výslovnost. Pravidla jsou pak zapsána jako algoritmus a spouštěna syntetizérem nad textem k analýze. 13

14 2.3 Konketace řečových segmentů Konketace je závěrečný proces syntézy řeči, skládající akustické segmenty řeči za sebe, tvoříce tak výsledný akustický signál řeči. Segmenty jsou uloženy v akustickém modelu - zvláštní databázi, která je součástí syntetizéru. Starší syntetizéry produkovaly zvukově plochý strojově znějící řečový signál, který neobsahoval změny prozódie, typické pro skutečnou řeč. Důvodem jsou odlišné charakteristiky fonému ovlivněné fonémem předchozím s následujícím v projevu. Pro lepší kvalitu syntézy je tak každý foném uložen v akustickém modelu v podobě několika reprezentantů, kteří s sebou nesou informaci o předchozím a následném fonému. Příklady trifónů a difónů Tvorba akustického modelu je náročná práce, která začíná pořízením nahrávek řádově desítek lidí s odlišným řečovým projevem, každý přečte text o minimální délce několika stránek formátu A4. Následně 14

15 2.4 Rozpoznávání řeči Strojové rozpoznávání řeči je proces, při němž je vstupní akustický signál převáděn do digitální podoby a ta pak dále do posloupnosti slov. Výsledná posloupnost je dále analyzována za účelem získání potřebné informace. Žádoucí vlastností je nezávislost procesu rozpoznávání na konkrétním mluvčím, což zjednodušuje práci se systémem. Jsou používány systémy pro porozumění řeči na různých úrovních složitosti. Určující proměnnou je přitom velikost domény, nad níž má systém pracovat. Od ní se odvíjí velikost slovníku, se kterým bude systém pracovat. Velké slovníky (velikost řádově desítky tisíc slov) představují nemalou výpočetní zátěž, nehledě na zvýšenou chybovost. Dále je třeba z projevu získat potřebné informace. Zde záleží na povaze řešené úloze: obvykle je cílem buď převést diktovaný obsah do textové podoby, nebo si pomocí hlasového dialogu vyžádat od uživatele potřebné informace. Zatímco v prvním případě diktafonů proces rozpoznávání se získáním slova končí, v případě druhém je nutno zpracovat celou větu a tu podrobit sémantické analýze. Zatímco primitivní systémy obvykle reagují na přítomnost dané fráze, v případě rozsáhlejších domén je nutno použít vlastní gramatiky. Rozpoznávání řeči samo osobě negarantuje porozumění projevu uživatele. V případě rozpoznávání přirozené řeči je výsledkem nijak nestrukturovaný text, který je nutně analyzovat pomocí specializovaného software tzv. chatbotu, který dokáže na základě modelů jazyka a gramatiky z textu extrahovat podmět, přísudek, předmět a další informace. Chatbot obvykle má definována synonyma podstatných jmen a ekvivalentní slovesa, a proto se dokáže vypořádat s různými projevy odlišných uživatelů se stejným obsahem projevu. 15

16 2.5 Komponenty rozpoznávače - Akustický procesor Akustický procesor mění spojitý signál hlasu, pocházející ze vstupního zařízení (nejčastěji mikrofonu), do posloupnosti vektorů příznak. Využívá lineární prediktivní analýzu (LPC) pro odvození parametrů (např. intensity a frekvence) hlasového signálu na základě krátkodobého měření jeho diskrétních hodnot. Pro získání čistých parametrů signálu jsou reverzním filtrováním pomocí číslicových obvodů ze signálu odstraněny formanty, což jsou lokální extrémy frekvenčního spektra vznikající akustickou rezonancí. Akustické procesory se snaží věrně napodobovat způsob, jak lidé slyší. K tomu využívají psychoakustický model podobně jako MP3 kódování. Ten pracuje s frekvenčním a časovým maskováním: Frekvenční maskování V případě vnímání signálu s vysokou frekvencí není lidské ucho schopné vnímat též jiné signály s frekvencí nižší. Jedná se tedy o posun prahu slyšitelnosti zvuků. Časové maskování Při výskytu příliš hlasitého zvukového signálu chrání lidské ucho člověka tím, že daný signál prostě potlačí. Přitom snížená citlivost sluchu bude patrná nejen několik milisekund po vypnutí signálu, ale i těsně před jeho spuštěním. 16

17 2.6 Komponenty rozpoznávače Ligvistický dekodér Lingvistický dekodér překládá vektory příznaků na konkrétní slova. Přitom si musí umět poradit s různými typy hlasů a zkomoleninami. Nechť: W = {w(1), w(2),, w(n) je posloupnost N slov. O = {o(1), o(2),, o(t) je akustická informace v podobě posloupnosti vektorů odpovídajícímu t-tému mikrosegmentu hlasového signálu. P(W O) představuje podmíněnou pravděpodobnost, že při zjištěné akustické informaci O bude detekována posloupnost slov W. P(O W) je podmíněná pravděpodobnost, že při vyřčení posloupnosti slov W bude zjištěna akustická informace O. P(W) vyjadřuje apriorní pravděpodobnost vyřčení posloupnosti slov W. P(O) značí apriorní pravděpodobnost výskytu akustické informace O. Pak lze rozpoznání vyjádřit jako dekódování s maximální aposteriorní pravděpodobností nalezením takové posloupnosti slov W, která maximalizuje podmíněnou pravděpodobnost P(W O). S využitím Bayesova pravidla tak dostaneme: Bayesovo pravidlo Vzhledem k tomu, že P(O) není závislá na W, ji lze z rovnice 3.1 vynechat, čímž dostaneme: Upravené Bayesovo pravidlo 17

18 2.7 Skryté Markovovy modely Skrytý Markovův model (Hidden Markov Model - HMM) je konečným stochastickým automatem, jehož aktuální stav je nezávislý na stavech předchozích. Slovo skrytý značí, že pozorovateli je aktuální stav automatu neznámý. Cílem je aktuální stav odvodit na základě pozorovaných parametrů, které automat generuje v diskrétním čase pro každý stav. Nechť automat generuje parametry v podobě vektorů příznaků O = o(1), o (2)},, o(t). Nechť aktuální stav s(i) je v diskrétních časových okamžicích změněn na s(j) tak, že i j (jedná se o levo-pravé Markovovy modely) podle předem daných, v čase konstantních, podmíněných pravděpodobností přechodu a(i,j) mezi stavy i a j: Vyjádření Markovova modely Kde s (t) je stav modelu v čase t. Po každém přechodu je vytvořen vektor příznaku o(t) též podle předem daného pravděpodobnostního rozdělení b(j, o(t)) vztahujícího se k novému stavu v čase. Lidské hlasové ústrojí je vlastně považováno za Markovovův proces, jehož každý jeden stav reprezentuje konkrétní konfiguraci hlasivek, jazyka, zubů atp., která vytváří zvuk, a tedy i zachycenou akustickou informaci o. 18

19 3 Vývoj řečových aplikací v jazyce VoiceXML 3.1 Úvod Řečové služby mohou být realizovány na bázi monolitické i distribuované architektury. Tento materiál cílí na distribuovanou architekturu z důvodů její standardizace a četnější využití v telekomunikačním prostředí. Nicméně obě architektury mají své přednosti. Výhodou monolitické architektury je na rozdíl od distribuovaného možnost úzkého propojení s existujícími technologiemi knihovnami pro syntézu a rozpoznávání řeči. Díky tomu je možné využít specifické vlastnosti a funkce knihoven, jinak nedosažitelné z používaných standardů, které tvoří minimální podmnožinu funkcí, nabízených napříč spektrem různých dodavatelů. Další výhodou může v některých případech být možnost implementovat logiku aplikace ve zvolené technologii, např. jazyce Java, PHP nebo na platformě.net. Výhodou distribuované architektury je modularita všech komponent: interpretu, rozpoznávače, syntetizéru a úložiště logiky vlastní služby, které může být realizováno jako aplikace v jazyce Java, PHP nebo na platformě.net. Díky nezávislosti na konkrétním produktu a dodavateli je možné měnit různé komponenty bez negativních dopadů a nekompatibilit. Další výhodou je snazší škálovatelnost při velkém počtu uživatelských požadavků a snazší školení odborníků díky jedné standardizované technologii. 19

20 3.2 Jazyk VoiceXML VoiceXML je jednak značkovací jazyk, založený na jazyce XML (Extensible Markup Language), spravovaný konsorciem W3C a podporovaný různými dodavateli řečových technologii. Po stránce syntaxe je VoiceXML velice podobný HTML (Hypertext Markup Language), avšak odlišuje se ve způsobu řízení vlastní řečové služby vzhledem k velkým odlišnostem mezi grafickou a akustickou interakcí člověka s počítačem. Zároveň se jedná o standard, zastřešující různé dílčí technologie pro řečové služby: 1. Syntéza řeči 2. Rozpoznávání řeči 3. Sémantická interpretace rozpoznané řeči 4. Logika služby, která spojuje výše uvedené Každá distribuovaná architektura vyžaduje protokol, definující způsob komunikace jednotlivých částí interpret VoiceXML potřebuje sdělit rozpoznávači nejprve gramatiky, které se mají použít, později rozpoznávači sdělit, že má být zahájeno rozpoznávání řeči a nakonec od něj přijmou výsledky. Takovým protokolem je MRCP (Media Resource Control Protocol), který definuje obsah a formu zpráv, vyměňovaných si VoiceXML interpretrem, rozpoznávačem a syntetizérem. Ačkoliv znalost tohoto jazyka není pro samotnou tvorvu řečových služeb vyžadována, jeho znalost je výhodou. 20

21 3.3 Stavy a formuláře Aplikace jsou v jazyce VoiceXML modelovány jako množina stavů s definovanými podstavy. Stav je reprezentován elementem form, který má podobnou funkci jako stejnojmenný element v jazyce HTML načíst uživatelský vstup. Nicméně vzhledem ke složitosti definice gramatik pro rozpoznání řeči následnému zpracování výsledků včetně zotavení se z případných chyb, je definice formu ve VoiceXML složitější. Každý formulář se proto skládá z nejméně jednoho podstavu, který načítá vstup. Formulář pak slouží jako jakýsi kontejner pro seskupování více podstavů pro obsluhu událostí (viz následující část 4) a navigaci mezi stavy. Podstav může být realizován elementem field nebo block. Element field obsahuje trojici vnořených elementů: 1. Element prompt pro zprávu, která má být syntetizována uživateli. 2. Element grammar s gramatikou, definující možné volby řečového povelu. 3. Elemnt filled s obsluhou události úspěšného rozpoznání. 4. Element catch s obsluhou událostí chyby rozpoznání nebo vykonávání samotné služby Element block může obsahovat pouze syntézu řeči nebo logiku služby, např. větvení a vykonávání skriptů. Příklady elementů field a block v jednom formuláři: <vxml> <form id="welcome_form"> <block> <prompt> Vítejte v aplikaci vtipů. </prompt> </block> <field name="category"> <prompt> Řekněte kategorii. </prompt> <grammar type="application/srgs+xml" version="1.0" mode="voice" root="main"> <rule id="main" scope="public"> <one-of> <item>zvířata</item> <item>škola</item> <item>matematické</item> </one-of> </rule> 21

22 </grammar> <catch event="nomatch noinput"> <prompt> Řekněte prosím kategorii vtipu, například škola. </prompt> </catch> <filled> <prompt> Výběr akceptován. </prompt> </filled> </field> </form> </vxml> 22

23 3.4 Navigace mezi stavy a obsluha událostí Běh spuštěné VoiceXML služby se skládá z opakovaných změn stavu, typicky dle řečové volby uživatele, kdy se průběh služby větví. Přechod mezi stavy lze iniciovat explicitně pomocí elementu goto, který jako atribut přebírá název nového formu. Do elementu field či block lze takto přejít pouze v rámci stejného formu. Důvodem pro takové chování je myšlenka zapouzdření, kdy podstavy jednotlivých stavů jsou neviditelné z vnějších stavů. Příklady elementu goto: <vxml> <form id="welcome_form"> <block> <prompt>vítejte v aplikaci vtipů.</prompt> <goto next="#category_form"/> <block> </form> <form id="category_form"> <field name="category"> <filled> <prompt> Výběr akceptován. </prompt> <goto expr= # + category /> </filled> <field> </form> </vxml> Po přechodu do nového stavu skokem do elementu form je interpretem standardně vykonán první podstav, kterým může být element block nebo field. Po jeho dokončení je vykonán podstav další. Jestliže je nutné, aby po přechodu do formu byl vykonán jiný než první podstav, pak je vhodné zavést tzv. rozcestník první podstav v podobě bloku s logikou vyhodnocení situace a explicitním přechodem na požadovaný podstav. Pro větvení přechodů je vhodné použít elementy if, elseif a else, které tvoří podmíněné podmínky vykonání určených vnořených elementů, v následujícím případě tedy syntézy textu a přechodu na form. Příklady větvení logiky: <vxml> <form id="category_form"> <field name="category"> <filled> <prompt> Výběr akceptován. </prompt> 23

24 <if cond="category == 'Zvířata'"> <goto next="#vtipy_medvedi"/> <elseif cond="category == 'Škola' category == 'Matematika'" /> <goto next="#vtipy_vyuka_matematiky" /> <else /> <prompt>neznámá kategorie</prompt> </if> </filled> </field> </form> </vxml> Implicitním přechodem je potom zachycení událostí, které jsou typicky generovány v případě nespěšného rozpoznávání. Zachycení takových událostí pomocí elementu catch dává možnost zotavit se z chyby, např. syntézou přesnějších pokynů uživateli. Příklad zachycení chybové události pomocí elementů catch, umístěných na různých úrovních aplikace. První element catch je zanořený do elementu form s atributem, a speciálně uzpůsoben k obsluze chyb, které se vyskytly při vykonávání logiky tohoto formuláře. Případné chyby mimo formulář jsou zachyceny druhým elementem catch, vnořeným přímo do hlavního elementu vxml, a jejich obslouha po syntéze obecného popisu ukončí aplikaci: <vxml> <form id="vtipy_medvedi"> <catch event="error"> <prompt> Promiňte, medvědi jsou nemocní. </prompt> <goto next="#category_form" /> </catch> </form> <catch event="error"> <prompt> Promiňte, došlo k vážné chybě. </prompt> <exit /> </catch> </vxml> Elementy catch mohou být na úrovni podstavu, stavu i celé služby. V takovém případě je vykonán pouze ten element catch, který je nejblíže výskytu události od nejbližšího podstavu po nejvzdálenější službu. 24

25 3.5 Syntéza řeči práce s hlasem a tichem VoiceXML obsahuje elementy umožňující ovlivnit syntézu reci. Následující výpis obsahuje formulář z identifikátorem welcome, obsahující pouze syntézu v elementu prompt. Po syntéze úvodní hlášky následuje krátká pomlka, jejíž trvání je možné zadat v sekundách nebo milisekundách. Formulář uzavírá přechod do jiného formuláře s identifikátorem IBM. Identifikátoru formuláře v elementu goto musí vždy předcházet znak #. Příklad syntézy s použitím elementu voice, který umožňuje definovat hlas syntézy daného textu. V níže uvedeném příkladu vystupuje vypravěč s hlasem Jan, muž a žena coby protagonisté, s hlasy definovanými dle pohlaví a věku. Každý syntetizér je obvykle dodáván s jedním až s několika hlasy, které mohou pokrývat obě pohlaví a různé věky a dokonce i varianty. Avšak tato podpora je rozdílná dle dodavatele syntetizéru a uvedený příklad nemusí fungovat s jinými syntetizéry. <vxml> <form id="medvedi"> <block> <prompt> <voice name="jan"> Eskymak se pta eskymacky: </voice> <break time="500ms" /> <voice gender="male" age="40"> Čím jsi zabila toho medvěda, co leží před iglů? </voice> <break time="250ms" /> <voice gender= female age= 35 > Tím bumerangem, co ti ležel na posteli. </voice> <break time="100ms" /> </prompt> </block> </form> </vxml> <voice gender="male" age="40"> Ještě jednou mi sáhneš na ponožky a zlomím ti deku! </voice> 25

26 3.6 Syntéza řeči práce s důrazem V řeči se používají způsoby doplnění významu informací změnou rychlosti či hlasitosti, Jazyk VoiceXML stejné vlastnosti řeči umožňuje dodat pomocí elementu prosody s atributem rate pro změny rychlosti a atributem volume pro změnu hlasitosti. Jak ukazuje příklad níže, oba atributy je možné kombinovat pro vtvoření požadovaného efektu. <vxml> <form id="kone"> <block> <prompt> Kovboj vlítne do saloonu a <emphasis>zařve</emphasis>: to, <prosody rate="fast" volume="loud"> Kdo mi ukradl koně?! Ať se okamžitě přizná, nebo udělám co udělal můj strýc před padesáti lety! </prosody> Chvíli je ticho a potom pomalu jeden zvedá ruku. <prosody rate="slow" volume="silent"> Promiň, máš ho za rohem. </prosody> Po chvíli se kovboje ostatní bojácně ptají, co že to udělal jeho strýc. Kovboj jim odpoví: <prosody rate="x-slow" volume="silent"> Šel domů pěšky! <prosody >. </block> </form> </vxml> Výčet všech možných hodnot pro oba atributy jsou uvedeny v následující tabulce: Basic table table caption Atribut Hodnoty Atribut Hodnoty rate x-slow volume x-silent slow medium fast x-fast silent medium loud x-loud 26

27 3.7 Syntéza řeči dodání významu Často se vyskytne nutnost syntetizovat posloupnost znaků se sémantickým význam, který je jasný člověku z kontextu, avšak nikoliv syntetizéru. Příkladem mohou být datum a čas, finanční částky, telefonní číslo a další. Následující příklad obsahuje element say-as, který je používán k vyznačení významu zanořeného obsahu pomocí atributu format pro definicí typu obsahu k syntéze a interpret-as s použitou konvencí zápisu. V následujícím příkladě tak první element say-as dává syntetizéru na srozuměnou, že posloupnost čísel se datumem a druhý element stejným způsobem ošetřuje srývnost syntézy času 22:22. <vxml> <form id="medvedi"> <block> <prompt> Dle nejnovějšího výzkumu byl Jára Cimrman narozen dne <say-as format="date" interpretas="dd.mm.yyy"> </prompt> v <say-as format="time" interpret-as="hh:mm">22:22</prompt>. </prompt> </block> </form> </vxml> Podpora různých typů obsahu i konvencí se liší dle dodavatele syntetizéru o od rozsáhlé podpory různých významů až po prosté ignorování celého elementu sayas. Další formou významu textu je použitý jazyk. Element prompt je proto možné doplnit elementem xml:lang se zkratkou jazyka dle ISO 866, např. cs-cz pro češtinu. Následující příklad doplňuje aplikaci vtipů o dva nové vtipy v anglickém a německé jazyce: <vxml> <form id="family"> <block> <prompt xml:lang="en-us"> Son asks difference between Confidence and Confidential. Dad says, you are my son, I am Confident. Your friend is also my son, thats Confidential. </prompt> </block> </form> <form id="other"> <block> <prompt xml:lang="de-at"> Terffen sich ein Stein und ein Brett. 27

28 Der Stein: "Ich bin ein Stein". Das Brett: "Wenn du Einstein bist, bin ich Brett Pitt." </prompt> </block> </form> </vxml> Pro řadu volně dostupných syntetizérů je možné stáhnout balíčky s podporou dalších jazyků, mezi kterými nechybí ani čeština. Podpora jazyků komerčních syntetizéru je pak závislá na technických možnostech a strategii výrobce. 28

29 3.8 Gramatiky pro rozpoznání řeči Tvorba gramatik představuje základní a nejdůležitější prvek návrhu řečové služby. VoiceXML umožňuje pouze tvorby gramatik na základě výčtu všech voleb včetně opakování a větvení. S těmito možnostmi lze dosáhnout složitých a bohatých gramatik. Výhodou gramatik je snadná definice s možností začít malou gramatikou a postupným rozšiřováním pokračovat ke složitějším verzím. Dále gramatiky doplněné sémantickou interpretací jsou výborné pro zadávání strukturovaných objednávek s mnoha volbami, např. dvě velké pizzy se sýrem, parmskou šunkou a olivami a láhev Infinitus Tempranillo. Výsledkem rozpoznání dle dobře, avšak snadno napsané gramatiky s interpretací bude datová struktura s vlastnostmi: počet kusů, oddělené ingredience, nápoj. Nevýhodou je nutnost gramatiku navrhovat, testovat a udržovat. Je třeba pamatovat a ošetřit situace, kdy uživatel zadá volbu jinak, než očekával návrhář gramatiky. Následné testování je velmi pracné i pro člověka, který má kvalifikaci v oboru návrhu uživatelských rozhraní. Pro porozumění řeči převedené na text existují speciální nástroje, v případě jejichž rozšíření bude návrh gramatik umenšen. 29

30 3.9 Tvorba řečových gramatik Základní gramatika představuje použití seskupujícího elementu rule a elementu item pro definici textu, který se má rozpoznat. Gramatiku jej dále možné vylepšit větvením, kdy uživatel má na výběr jednu ze tří voleb pomocí elementu one-of: <vxml> <form id="category_form"> <field name="category"> <grammar type="application/srgs+xml" version="1.0" mode="voice" root="main"> <rule id="main" scope="public"> <one-of repeat="1-3"> <item>zvířata</item> <item>škola</item> <item>matematické</item> </one-of> </rule> </grammar> </field> </form> </vxml> Gramatiku lze vylepši přidáním opakování pomocí atributu repeat elementu item, který v tomto případě slouží jen jako kontejner pro další elementy one-of a item. Různý zápis hodnot atributu je přípustný: repeat="3" učiní volbu opakovatelnou přesně třikrát. Jestliže budde volba zopakována pouze dvakrát, skončí rozpoznávání neúspěchem repeat="1-3" umožní volbu zopakovat jednou, dvakrát nebo třikrát repeat="0-1" učiní volbu volitelnou repeat="1-" volba může být zadána jednou až vícekrát, limit není stanoven Jestliže hrozí, že uživatelé řeknou daný povel s příliš mnoha variantami, je možné použití elementu garbage, jako doplňku klasických elementů gramatik. Element garbage přijme každou část povelu bez nutnosti vypisování všech variant. Nevýhodou je, že část povelu, přijatá elementem garbage se neobjeví ve výsledku rozpoznávání. Jedná se tedy o vhodný způsob vypořádání se s variantami povely typu chci se odhlásit odhlásit se odhlásit, prosím a další na základě klasického elementu item doplněného před sebou i za sebou elementem garbage. 30

31 3.10 Sémantická interpretace gramatik Gramatiky lze doplnit elementy tag, obsahující výraz v ECMAScriptu, který se vykoná vždy, pokud uživate vybere příslušnou volbu. Elementy tag jsou obvykle vnořeny do elementů item, např. pro náhradu uživatelem řečeného příkazu univerzálním tokenem. Následující příklad obsahuje : <vxml> <form id="category_form"> <field name="category"> <grammar type="application/srgs+xml" version="1.0" mode="voice" root="main"> <rule id="main" scope="public"> <one-of> <item>zvířata <tag>$ = 'zvirata';</tag></item> <item>medvědi <tag>$ = 'zvirata';</tag></item> <item>škola <tag>$ = 'Matematické';</tag></item> <item>matematické </item> <item>nepochopitelné <tag>$ = 'Matematické';</tag></item> </one-of> </rule> </grammar> </field> </form> </vxml> Uvedený příklad zobrazuje, jak umožnit definici více řečových povelů, které se vztahují ke stejnému tématu. Bez ohledu na to, zda uživatel řekne Zvířata nebo Medvědi, výsledek bude v následném zpracování v elementu filled zpracován stejně, v tomto případě skokem do formuláře s id atributem zvirata, který obsahuje vtipy o medvědech i dalších zvířatech. V gramatikách je možné použít dokonce skriptování včetně definice vlastních metod, které se používá pro průběžné zpracování dílčích výsledků rozpoznání ve složitých gramatikách. Tato problematika je však již nad rámec kurzu. 31

32 3.11 Tvorba gramatik pro tónovou volbu Řečová může být nevhodná v případě limitů, pramenících z nároků na rozpoznávání řeči. Typickým příkladem je prostřední s hlukem na pozadí nebo nutnost rozpoznat krátké volby, které obsahují příliš málo písmen, respektive fonémů, a je tedy vysoké riziko špatného rozpoznání. V extrémních případech může dokonce dojít k aktivování rozpoznání a vykonání volby na základě náhodného hluku na pozadí. V těchto případech je vhodné použít tónovou volbu, anglicky označovanou jako Dual-tone multi-frequency (DTMF). Tónová volba představuje výhodu prakticky 100% úspěšnosti rozpoznání v případě, že uživatel stiskne správné tlačítko. Na rozdíl od rozpoznání řeči není třeba třeba zabývat se při návrhu gramatiky situací chybného rozpoznání z důvodů neznalosti či zmatení uživatele ani z důvodu rušného prostředí. Nevýhodou tónové volby je nutnost sdělit uživatel význam každé klávesy, přesněji čísla, na klávesnici mobilních telefonů. Při větším počtu dostupných voleb a v případě víceúrovňových menu s volbami může být tento způsob interakce těžkopádný. Dalším limitem je omezený počet takto definovaných volbe v jedné gramatice na 10 číslic plus klávesy hvězdičky a mřížky. S tónovou volbou tak standardně nelze tvořit rozsáhlé gramatiky. Následující příklad ukazuje definici gramatiky se třemi číselnými hodnotami. Povšimněte si použití sémantické interpretace pro přiřazení významu jednotlivým číselným volbám. Takto lze dokonce mít v jednom fieldu definovány gramatiky pro ovládání řečí i tónovou volbou: <vxml> <form id="category_form"> <field name="category"> <grammar type="application/srgs+xml" version="1.0" mode="dtmf" root="main"> <rule id="main" scope="public"> <one-of> <item> 1 <tag>$ = 'zvirata';</tag></item> <item> 2 <tag>$ = 'skola';</tag></item> <item> 3 <tag>$ = 'matematika';</tag></item> </one-of> </rule> </grammar> </field> </form> </vxml> 32

33 Je možné a užitečné kombinovat obě modality řečovou i tónovou volby v podobě dvou gramatik, přiřazených jednomu elementu field. Uživatel si tak může vybrat, který způsob zadání voly použije. 33

34 3.12 Skriptování Samotný kód VoiceXML je možné doplnit ECMAScriptem pro dodání dalších funkcí. Klíčovými elementy jsou skript pro definici skriptových funkcí, var pro přiřazení volání funkce proměnné a value pro syntézu proměnné. ECMAScript je podmnožinou JavaScriptu, používaného pro tvorby webových aplikací, běžících na straně klienta. To je velký rozdíl v případě VoiceXML služeb, které jsou celé včetně případného skriptování vykonávány vždy na straně serveru. Navíc nejsou v ECMAScriptu k dispozici proměnné, specifické pro webové stránky, a naopak k dispozici jsou jiné proměnné, specifické pro možnosti VoiceXML služeb. Následující příklad vylepšuje přivítání uživatele o pozdrav dle aktuálního času. V elementu block představen nový element var, který definuje novou ECMAScript proměnnou jménem greeting s hodnotou určenou výrazem v atributu expr. Atribut může obsahovat jakýkoliv správný výraz ECMAScriptu, v uvedeném příkladu se jedná o volání funkce, jejíž návratová hodnota je přiřazena proměnné. <vxml> <form id="welcome"> <block> <var name="greeting" expr="hello();"/> <prompt> <value expr="greeting" />, vítejte v aplikaci vtipů. </prompt> </block> </form> <script><![cdata[ function hello() { var now = new Date(); var hour = now.gethours(); var message = ""; if (hour < 9) { message = "Dobré ráno"; } else if (hour < 12) { message = "Pěkné dopoledne"; } else if (hour == 12) { message = "Doborou chuť"; } else if (hour < 19) { message = "Hezké odpoledne"; } else if (hour < 22) { message = "Pěkný večer"; } else { message = "Dobrou noc"; } return message; } 34

35 ]]></script> </vxml> V element se syntézou prompt je přitomen element value, který vloží aktuální hodnotu atributu expr do syntézy. Jako v případě elementu var i zde může atribut expr obsahovat libovolný výraz ECMAScriptu, u tomto případě se jedná o dříve definovanou proměnnou. Vlastní funkce hello je pak zapsána v jazyce ECMAScript jako obsah elementu skript. Výhodou skriptování pomocí ECMAScriptu je efektivní zápis vlastních algoritmů pro načtení externího obsahu nebo pokročilejší zpracování výsledků rozpoznání. Bohužel výuka programování v jazyce ECMAScript je mimo rozsah tohoto kurzu. Nevýhodou skriptování je nepřehledné ladění. Častým zdrojem chyb ze strany vývojářů, znalých webových aplikací, je pak použití metod, které fungují v prohlížečích jako rozšíření základního standardu ECMAScript, avšak VoiceXML interpretem podporovány nejsou. 35

36 3.13 Rozšířená práce s výsledky rozpoznání Při rozpoznávání řeči často dochází k situacím, kdy je namísto skutečného příkazu uživatel mylně rozpoznána jiná volba. K tomu dochází zejména při velkém počtu položek v gramatice nebo při výskytu příliš krátkých položek, v jejich případě má rozpoznávač příliš málo dat ke správnému rozpoznávání V takovém případě je vhodné analyzovat dodatečné informace o výsledku rozpoznání pomocí proměnné application.lastresult$, za jejíž definici a obsah zodpovídá VoiceXML interpret. Jedná se o datovou strukturu s vlastnostmi, které poskytují detailní informace o výsledku: utterance je textová reprezentace řečové volby uživatele, může být vhodná pro dotaz na uživatele, zda je hypotéza správná. inputmode rozlišuje způsob zadání: nabývá hodnot voice pro řečový povel a dtmf pro tónovou volbu s použitím klávesnice. intepretation je textová interpretace volby uživatele, je použita pro přechod na další stavy. confidence je číselné vyjádření míry pravděpodobnosti hypotézy v intervalu 1 až 100, nicméně rozpoznávač hypotézy s pravděpodobností menší než 50 standardně zahazuje. Následující příklad představuje doplnění formuláře s výběrem kategorie vtipů o úplný výčet informací o výsledku rozpoznání: <vxml> <property name="maxnbest" value="1" /> <form id="category_form"> <field name="category"> <filled> <prompt> Vaše volba <value expr="application.lastresult$.utterance"/> zadaná pomocí </prompt> <if cond="application.lastresult$.inputmode== 'voice'"> <prompt>řeči<prompt> <else> <prompt>tónové volby<prompt> </if> <prompt> bude zpracována jako <value expr="application.lastresult$.interpretation"/> </prompt> </filled> </field> </form> </vxml> 36

37 Element property slouží k zadání speciálních vlastností rozpoznávače, které ovlivňují výsledky. Vlastnost maxnbest říká, že pro jednoduchost si přejeme pouze jediného kandidáta výsledku rozpoznání. Na základě hodnoty confidence je vhodné se rozhodnout, zda existujíc pochybnosti o nejpravděpodobnější hypotéze a na základě ní přejít přímo na další stav nebo provést ověření. V případě, že existuje více hypotéz s nízkou pravděpodobností 37

38 3.14 Procházení výsledky rozpoznání V reálných aplikacích se vhodné nelimitovat se na navrácení jediného kandidáta, nýbrž požádat rozpoznávač o vrácení pole N kandidátů, kterému se odborně říká N-Best-List. V dalším příkladu je pomocí elementu property požadována maximálně 5 kandidátů. Proměnná application.lastresult$ je pak pole s délou k < N, neboť rozpoznávač se může rozhodnout, že skutečný počet hypotéz je menší než počet vyžádaných hypotéz. Každá položka v poli je pak struktura objekt s vlastnostmi, uvedenými výše. Následuj příklad načtení více hypotéz výsledku rozpoznávání: <vxml> <property name="maxnbest" value="5" /> <form id="category_form"> <field name="category"> <filled> <var name="candidates" expr="application.lastresult$" /> <prompt> Nalezeno <value expr="candidates.length" /> kandidátů rozpoznání. </prompt> <foreach array="candidates" item="candidate"> <prompt> <value expr="candidate.utterance"/> <break time="300ms" /> </prompt> </foreach> </filled> </field> </form> </vxml> Příklad nejprve přiřadí proměnnou application.lastresult$ do vlastní kratší proměnné candidates. Následně je syntetizována zpráva s celkovým počtem nalezených kandidátů pomocí výrazu ECMAScript, vloženého do elementu value. Jádro příkladu je pak představování uvedením nového elementu foreach, který postupně vykonává vnořené elementy (v tomto případě syntézu textu) pro všechny prvky datového pole, zadaného atributem array s nalezenými kandidáty. V vnořených elementech (jmenovitě v elementu value) se lze odkázat na aktuálně zpracovávaného kandidáta pomocí proměnné, specifikované v elementu item. Uvedené informace jsou velice užitečné pro diagnostiky řečově aplikace a zkoumání výstup rozpoznávače může mnohé napovědět o potenciálních problémech, kdy se aplikace chová neočekávaně. Dle počtu kandidátů a jejich hodnoty confidence se lze během vykonání aplikace rozhodnout, zda a jak provést ověření výsledku rozpoznání. 38

39 Hodnota N by měla být rovna 5. Bylo zjištěno, že lidé si v krátkodobé paměti udrží 5 až 7 voleb. Vzhledem k tomu, že řeč je sekvenční médium uživatelé jsou spíše zvyklí na grafická rozhraní, je v tomto případě doporučeno zůstat na spodní hranici pěti voleb. Dalším důvodem je úspornost tónového výběru ve druhém kole, který by s větším počtem voleb trval příliš dlouho. 39

40 3.15 Načítání externího obsahu Během vykonávání VoiceXML služby je často nutné vyžádat si obsah z externího zdroje a jeho obsah syntetizovat uživateli. K tomu slouží element data, který přijímá URL s externím obsahem ve formátu XML dokumentu, který je nezávislý na programovacím jazyce či operačním systému. Předpokládejme řečovou službu, která uživateli na přání sdělí aktuální počasí na daném místě. Taková aplikace bude zřejmě propojena s online databází, obsahující všechna známá místa v zemi. Z důvodu rozsáhlosti databáze nemůže naše služba načítat všechny informace o počasí při generování VoiceXML dokumentu, a proto je zaslán požadavek pro dané místo až po volbě uživatele. V online prostřední se používá k výměně informací mezi službami značkovací jazyk XML, v případě počasí může mín např. následující strukturu: <pocasi> <místo nazev="praha"> <teplota>15</teplota> <oblasnost>zataženo</oblasnost> </misto> </pocasi> Po načtení obsahu z externího XML dokumentu mohou být zajímavé informace syntetizovány uživatel pomoví elementů value, které jsou při syntéze nahrazeny aktuální hodnotou proměnné v ECMAScriptu. Načtený XML dokument je nutné parsovat, tj. získat obsah na základě dotazů na existující elementy a atributy načtěného dokumentu. K tomu slouží rozhraní Document Object Model (DOM), používané v mnoha programovacích jazycích. DOM je dostupná jako součást ECMAScriptu, následující kód uvádí příklad parsování XML dokumentu pomocí DOM: <vxml> <form id="weather"> <block> <data name="response" src= /> <var name="weather" expr="getweather(response)" /> <prompt> V městě <value expr="weather.place"/> je <value expr="weather.temperature"/> stupňů <value expr="weather.cloudiness"/>. <break time="500ms"/> </prompt> </block> </form> <script><![cdata[ function getweather(response) { var answer = struct; var root = response.documentelement; 40

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 7.4 13/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 13 0:40 Implementace Umělá inteligence (UI) Umělá inteligence

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

Internet - základní pojmy

Internet - základní pojmy Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_07_INTERNET_P2 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

jaro 2015 Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno VoiceXML informace Struktura aplikace pomocí VoiceXML

jaro 2015 Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno VoiceXML informace Struktura aplikace pomocí VoiceXML Laboratoř vyhledávání a dialogu, Fakulta Informatiky Masarykovy Univerzity, Brno jaro 2015 Zkouškové termíny V ISu jsou vypsány zkouškové termíny: 11.5. 2015, 16:00 A220-6 studentů 18.5. 2015, 11:00 A217-13

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

Software602 Form Designer

Software602 Form Designer Software602 Form Designer Javascriptový vyhodnocovací mechanismus výrazů Aktualizováno: 17. 3. 2017 Software602 a.s. Hornokrčská 15 140 00 Praha 4 tel: 222 011 602 web: www.602.cz e-mail: info@602.cz ID

Více

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka Metody tvorby ontologií a sémantický web Martin Malčík, Rostislav Miarka Obsah Reprezentace znalostí Ontologie a sémantický web Tvorba ontologií Hierarchie znalostí (D.R.Tobin) Data jakékoliv znakové řetězce

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA 5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA 5. 15. 1 Charakteristika předmětu A. Obsahové vymezení: IVT se na naší škole vyučuje od tercie, kdy je cílem zvládnutí základů hardwaru, softwaru a operačního systému,

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

Úvod do praxe stínového řečníka. Úvod

Úvod do praxe stínového řečníka. Úvod Úvod do praxe stínového řečníka Úvod 1 Ukázka Kdo je to stínový řečník? Simultánní tlumočník z daného jazyka do téhož jazyka Jeho úkolem je přemlouvat televizní pořady tak, aby výsledná promluva byla vhodná

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky

Více

Odontologie a sémantická interoperabilita ve stomatologii

Odontologie a sémantická interoperabilita ve stomatologii Odontologie a sémantická interoperabilita ve stomatologii Karel Chleborád¹, Taťjana Dostálová¹, Karel Zvára², Michaela Seydlová¹, Jana Zvárová², Radek Hippmann¹ ¹Stomatologická klinika dětí a dospělých,

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Programování II. Modularita 2017/18

Programování II. Modularita 2017/18 Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích

Více

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové

Více

Pavel Cenek, Aleš Horák

Pavel Cenek, Aleš Horák Syntéza a rozpoznávání řeči Pavel Cenek, Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/poc_lingv/ Obsah: Rozpoznávání řeči Související technologie Úvod do počítačové lingvistiky 3/11 1 / 20

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Programovací jazyky Přehled a vývoj

Programovací jazyky Přehled a vývoj Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování

Více

EXTRAKT z české technické normy

EXTRAKT z české technické normy EXTRAKT z české technické normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním 03.220.01, 35.240.60 materiálem o normě. Dopravní a cestovní informace (TTI) TTI ČSN P CEN předávané

Více

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal Aplikační vrstva Úvod do Php Ing. Martin Dostal Co to je PHP? php soubory se nekompilují, interpret je spouští přímo bez překladu php běží na serveru php soubor je.txt soubor obsahující php kód: Zkrácený

Více

INFORMATIKA. Charakteristika vyučovacího předmětu:

INFORMATIKA. Charakteristika vyučovacího předmětu: 1 z 6 Čtyřleté gymnázium INFORMATIKA Charakteristika vyučovacího předmětu: Obsahové vymezení: Předmět pokrývá oblast Informační a komunikační technologie podle požadavků uvedených v RVP GV. Časové a organizační

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

Více

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

Více

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3.1 Tenký a tlustý klient Klientské aplikace nad XML dokumenty v prostředí internetu se dají rozdělit na dvě skupiny: tenký klient a tlustý klient.

Více

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Soubor kurzů XHTML, CSS, PHP a MySQL Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Jeden blok se skládá

Více

Překladač a jeho struktura

Překladač a jeho struktura Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

Normalizace textu. Text to Speech, TTS Konverze textu do mluvené podoby. Pavel Cenek, Aleš Horák. Obsah: Související technologie

Normalizace textu. Text to Speech, TTS Konverze textu do mluvené podoby. Pavel Cenek, Aleš Horák. Obsah: Související technologie Syntéza a rozpoznávání řeči Obsah: Související technologie Pavel Cenek, Aleš Horák E-mail: hales@fi.muni.cz http://nlp.fi.muni.cz/poc_lingv/ Text to Speech, TTS Konverze textu do mluvené podoby V ideálním

Více

Práce v textovém editoru

Práce v textovém editoru Práce v textovém editoru 0) Otevřete NOTEPAD a okopírujte celý tento článek do NOTEPADu. [Můžete použít zkratky Ctrl-A (označit vše) Ctrl+C(kopírovat), Ctrl+V (vložit)] 1) Najděte v tomto textu slovo "myš"

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Úvod. Programovací paradigmata

Úvod. Programovací paradigmata .. Úvod. Programovací paradigmata Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Cíl: programování efektivně a bezpečně Programovací techniky

Více

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Web Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Technologické trendy v AV tvorbě, Web 2 DNS Domain Name Systém

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Charakteristika předmětu Anglický jazyk

Charakteristika předmětu Anglický jazyk Charakteristika předmětu Anglický jazyk Vyučovací předmět Anglický jazyk se vyučuje jako samostatný předmět s časovou dotací: Ve 3. 5. ročníku 3 hodiny týdně Výuka je vedena od počátečního vybudování si

Více

1 Strukturované programování

1 Strukturované programování Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK Registrační číslo: CZ.1.07/2.2.00/28.0118 1 Cíl Seznámení s principy strukturovaného programování, s blokovou strukturou programů,

Více

Struktura e-learningových výukových programù a možnosti jejího využití

Struktura e-learningových výukových programù a možnosti jejího využití Struktura e-learningových výukových programù a možnosti jejího využití Jana Šarmanová Klíčová slova: e-learning, programovaná výuka, režimy učení Abstrakt: Autorská tvorba výukových studijních opor je

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Software pro vzdálenou laboratoř

Software pro vzdálenou laboratoř Software pro vzdálenou laboratoř Autor: Vladimír Hamada, Petr Sadovský Typ: Software Rok: 2012 Samostatnou část vzdálených laboratoří tvoří programové vybavené, které je oživuje HW část vzdáleného experimentu

Více

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 05. Turbopascal, prostředí TP6, struktura programu v TP Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Filozofická fakulta. Compiled Jan 21, :48:06 PM by Document Globe 1

Filozofická fakulta. Compiled Jan 21, :48:06 PM by Document Globe 1 Filozofická fakulta Na této stránce najdete kompletní nabídku Filozofické fakulty Univerzity Karlovy. Pokud máte zájem o kompletní nabídku, navštivte hlavní stránku. Přehled vědeckých týmů Centrum pro

Více

10. Techniky formální verifikace a validace

10. Techniky formální verifikace a validace Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt EVROPSKÝ SOCIÁLNÍ FOND PRAHA & EU: INVESTUJENE DO VAŠÍ BUDOUCNOSTI 10. Techniky formální verifikace a validace 1 Simulace není

Více

IntraVUE 2.0.3 Co je nového

IntraVUE 2.0.3 Co je nového IntraVUE 2.0.3 Co je nového Michal Tauchman Pantek (CS) s.r.o. Červen 2008 Strana 2/8 Úvod IntraVUE je diagnostický a podpůrný softwarový nástroj pro řešení komunikačních problémů, vizualizaci a dokumentaci

Více

Úvod do tvorby internetových aplikací

Úvod do tvorby internetových aplikací CVT6 01a Úvod do tvorby internetových aplikací Osnova předmětu (X)HTML a tvorba webu pomocí přímého zápisu kódu Tvorba web designu a skládání stránek z kousků Skriptovací jazyky na webu Návrh software

Více

ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Zvuková karta. Zvuk a zvuková zařízení. Vývoj, typy, vlastnosti

Zvuková karta. Zvuk a zvuková zařízení. Vývoj, typy, vlastnosti Zvuk a zvuková zařízení. Vývoj, typy, vlastnosti Zvuková karta Počítač řady PC je ve své standardní konfiguraci vybaven malým reproduktorem označovaným jako PC speaker. Tento reproduktor je součástí skříně

Více

Softwarové komponenty a Internet

Softwarové komponenty a Internet Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty

Více

Stonožka jak se z výsledků dozvědět co nejvíce

Stonožka jak se z výsledků dozvědět co nejvíce Stonožka jak se z výsledků dozvědět co nejvíce Vytvoření Map učebního pokroku umožňuje vyhodnotit v testování Stonožka i dílčí oblasti učiva. Mapy učebního pokroku sledují individuální pokrok žáka a nabízejí

Více

VISUAL BASIC. Přehled témat

VISUAL BASIC. Přehled témat VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Formuláře. Internetové publikování. Formuláře - příklad

Formuláře. Internetové publikování. Formuláře - příklad Formuláře Internetové publikování Formuláře - příklad 1 Formuláře - použití Odeslání dat od uživatele Možnosti zpracování dat Webová aplikace na serveru (ASP, PHP) Odeslání e-mailem Lokální script Formuláře

Více

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV 003 49.01

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV 003 49.01 PROGRAMOVATELNÉ AUTOMATY Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV 003 49.01 KNIHOVNA RecDBXLib DATABÁZE V DATABOXU 2. vydání řijen 2008 OBSAH 1. ÚVOD...3 2. KNIHOVNA RecDBXLib DATABÁZE V DATABOXU...4

Více

6.1 I.stupeň. Vzdělávací oblast: Cizí jazyk 6.1.2. Vyučovací předmět: ANGLICKÝ JAZYK. Charakteristika vyučovacího předmětu 1.

6.1 I.stupeň. Vzdělávací oblast: Cizí jazyk 6.1.2. Vyučovací předmět: ANGLICKÝ JAZYK. Charakteristika vyučovacího předmětu 1. 6.1 I.stupeň Vzdělávací oblast: Cizí jazyk 6.1.2. Vyučovací předmět: ANGLICKÝ JAZYK Charakteristika vyučovacího předmětu 1. stupeň Anglický jazyk je důležitý cizí jazyk. Přispívá k chápání a objevování

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

Více

Tvorba webu. Úvod a základní principy. Martin Urza

Tvorba webu. Úvod a základní principy. Martin Urza Tvorba webu Úvod a základní principy Martin Urza World Wide Web (WWW) World Wide Web (doslova celosvětová pavučina ) je označení pro mnoho dokumentů rozmístěných na různých serverech po celém světě. Tyto

Více

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní

Více

Zpráva o zhotoveném plnění

Zpráva o zhotoveném plnění Zpráva o zhotoveném plnění Aplikace byla vytvořena v souladu se Smlouvou a na základě průběžných konzultací s pověřenými pracovníky referátu Manuscriptorium. Toto je zpráva o zhotoveném plnění. Autor:

Více

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina 5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.

Více

Pokročilé typové úlohy a scénáře 2006 UOMO 71

Pokročilé typové úlohy a scénáře 2006 UOMO 71 Pokročilé typové úlohy a scénáře 2006 UOMO 71 Osnova Interní model typové úlohy Vazby include a extend Provázanost typových úloh na firemní procesy a objekty Nejčastější chyby 2006 UOMO 72 Interní model

Více

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 11 METODY VERIFIKACE SYSTÉMŮ NA ČIPU Hana Kubátov vá doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta 1 informačních

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Ontologie. Otakar Trunda

Ontologie. Otakar Trunda Ontologie Otakar Trunda Definice Mnoho různých definic: Formální specifikace sdílené konceptualizace Hierarchicky strukturovaná množina termínů popisujících určitou věcnou oblast Strukturovaná slovní zásoba

Více

Vzdělávací obsah předmětu

Vzdělávací obsah předmětu Vzdělávací obsah předmětu 1. správně se přihlašuje ve školní síti využívá dostupné školní informační zdroje a techniku pracuje s informacemi a softwarovým vybavením ve školní síti v souladu se školním

Více

5.3.1. Informatika pro 2. stupeň

5.3.1. Informatika pro 2. stupeň 5.3.1. Informatika pro 2. stupeň Charakteristika vzdělávací oblasti Vzdělávací oblast Informační a komunikační technologie umožňuje všem žákům dosáhnout základní úrovně informační gramotnosti - získat

Více

7 Další. úlohy analýzy řeči i a metody

7 Další. úlohy analýzy řeči i a metody Pokročilé metody rozpoznávánířeči Přednáška 7 Další úlohy analýzy řeči i a metody jejich řešení Výsledky rozpoznávání (slovník k 413k) frantisek_vlas 91.92( 90.18) [H= 796, D= 10, S= 60, I= 15, N=866,

Více

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti.

Inženýrská statistika pak představuje soubor postupů a aplikací teoretických principů v oblasti inženýrské činnosti. Přednáška č. 1 Úvod do statistiky a počtu pravděpodobnosti Statistika Statistika je věda a postup jak rozvíjet lidské znalosti použitím empirických dat. Je založena na matematické statistice, která je

Více

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy

Úloha 1. Úloha 2. Úloha 3. Text úlohy. Text úlohy. Text úlohy Úloha 1 Zkratka ERP jako celopodniková transakční aplikace znamená: a. Enterprise Route Planning b. Enterprise Resource Planning c. Enterprise Re-implementation Planning d. Enterprise Resource Processing

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

Příprava dat v softwaru Statistica

Příprava dat v softwaru Statistica Příprava dat v softwaru Statistica Software Statistica obsahuje pokročilé nástroje pro přípravu dat a tvorbu nových proměnných. Tyto funkcionality přinášejí značnou úsporu času při přípravě datového souboru,

Více

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný Load Balancer RNDr. Václav Petříček Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný 1.4.2005 Co je Load Balancer Nástroj pro zvýšení výkonnosti serverů Virtuální server skrývající farmu skutečných

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvod do aplikací internetu a přehled možností při tvorbě webu CVT6 01a Úvod do aplikací internetu a přehled možností při tvorbě webu Internet a www Internet? Služby www ftp e-mail telnet NetNews konference IM komunikace Chaty Remote Access P2P aplikace Online games

Více

xrays optimalizační nástroj

xrays optimalizační nástroj xrays optimalizační nástroj Optimalizační nástroj xoptimizer je součástí webového spedičního systému a využívá mnoho z jeho stavebních bloků. xoptimizer lze nicméně provozovat i samostatně. Cílem tohoto

Více

7.6 Další diagramy UML

7.6 Další diagramy UML 7.6 Další diagramy UML 7.6.1 Moduly (balíčky - package) a kolaborace (collaboration) Jak rozložit rozsáhlý systém na menší? - seskupování tříd (prvků modelu) do jednotek vyšší úrovně (package v UML). UI

Více

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů Kapitola 1 Signály a systémy 1.1 Klasifikace signálů Signál představuje fyzikální vyjádření informace, obvykle ve formě okamžitých hodnot určité fyzikální veličiny, která je funkcí jedné nebo více nezávisle

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

EXTRAKT z mezinárodní normy

EXTRAKT z mezinárodní normy EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě ICS: 03.220.01; 35.240.60 CALM Systém managementu hlášení sond dat ISO 25114 37 stran

Více

Uživatelská příručka pro respondenty

Uživatelská příručka pro respondenty Uživatelská příručka pro respondenty Statistický informační systém Českého statistického úřadu Subsystém DANTE WEB Funkční blok Objednavatel: Český statistický úřad Na padesátém 81, 100 82 Praha 10 Dodavatel:

Více

Jazyky pro popis dat

Jazyky pro popis dat Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 Jazyky pro popis dat Pavel

Více