W3C Voice E Irowser Activity
VoiceXML
Standardy W3C Voice Browser Activity
Luděk Bártek
Fakulta informatiky Masarykova univerzita Brno
podzim 2014
Luděk Bártek Standardy W3C Voice Browser Activity
Obsah
W3C Voice Browser Activity VoiceXML
Q W3C Voice Browser Activity
0 VoiceXML
• 1876 - udělen patent na telefon A. G. Bellovi
• WWW
• 1989 - článek HyperText and CERN (Tim Burns Lee) koloval po CERNu k připomínkám
• Vánoce 1990 - demonstrován řádkový webový prohlížeč a editor
• 1991 - všeobecná dostupnost WWW na počítačích v CERNu
• 1994 - první setkání W3 konsorcia (www.w3.org) » W3C Voice Browser Working Group
• založena 1999
• cíl - návrh standardů umožňujících přístup k WWW pomocí hlasu a telefonu
• zastoupeny firmy jako:
• HP
• Nuance Communications
• Lucent Technologies
• Motorola
• ScanSoft
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E irowser Activity 1
VoiceXML
Standardy W3C Voice Browser Activity
• VoiceXML
• Speech Recognition Grammar Specification (SRGS)
• Speech Synthesis Markup Language (SSML)
• Semantic Interpretation for Speech Recognition (SISR)
• Pronunciation Lexicon Specification (PLS)
• slouží k popisu fonetických informací pro rozpoznávání a syntézu řeči
• výslovnost zkratek, místních jmen, ...
• Call Control XML (CCXML)
• State Chart XML (SCXML)
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E Irowser Activity 1
VoiceXML
Základní informace
• Jazyk pro popis dialogových rozhraní
• Cíl - přinést výhody webového vývoje a doručování obsahu do interaktivních hlasových aplikací
• vývoj započat 1995 - AT&T Phone Markup Language
• 1998 - konference hostovaná W3C na téma hlasového procházení WWW - předvedeny jazyky PML, VoxML, SpeechML, TalkML, VoiceHTML, ...
• 1999 - založeno VoiceXML Fórum - spojení sil při vývoji jazyka pro značkování dialogů
• 2000 - VoiceXML 1.0, krátce na to přijato jako standard W3C
• Aktuální verze:
• doporučení 2.1 (červen 2007)
• draft 3.0 (srpen 2010)
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice Browser Activity VoiceXML
Architektura VoiceXML aplikací
Document Server
Request
VoiceXML Interpreter Context
VoiceXML Interpreter
Implementation Platform
Figure : Převzato ze specifikace VoiceXML 2.0
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice Browser Activity VoiceXML
Struktura VoiceXML aplikací
• VoiceXML dokument(y)
• formuláře - konečně stavové automaty.
• Uživatel se nachází v jednom z konverzačních stavů.
• Přechody definovány pomocí URI - odkazují na další krok dialogu.
o URI - Uniform Resource Identifier
• jednoznačná identifikace zdroje (souboru, obrázku, ...) na Internetu
• rozšíření URL (URL je odkaz na soubor, cíl URI nemusí existovat).
o Dialog končí, pokud tento přechod není definován.
• Dva druhy dialogů:
• formuláře - definuje proces pro získání hodnot sady položek o menu - poskytuje uživateli sadu možností a odkazů na
pokračování dialogu
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice Browser Activity VoiceXML
Struktura VoiceXML aplikací
• Subdialogy
• obdoba funkcí
o slouží k opětovnému provádění jisté části dialogu a vrácení získaných hodnot.
• Sezení - začíná v okamžiku, kdy uživatel zahájí interakci se VoiceXML interpretrem a končí, když je ukončena bud uživatelem, VoiceXML dokumentem nebo kontextem dialogu.
• Aplikace - sada dokumentů, které sdílejí kořenový dokument
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E Irowser Activity 1
VoiceXML
VoiceXML formulář
• Základní komponenta VoiceXML dokumentů.
• Obsahuje:
• sadu položek
• deklarace proměnných nepatřících položkám
• ošetření událostí.
• Základní atribut - id
• název formuláře
• lze se pomocí něj na formulář odkazovat
• musí být unikátní.
• Zpracování formuláře - FIA
O Výběr a přebrání jedné nebo více výzev.
O Získání uživatelských odpovědí, které naplní jednu nebo více
položek a nebo vyvolání události (žádost o nápovědu). Q Zpracování sekcí filled u všech zadaných položek.
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E browser Activity 1
VoiceXML
Ukázkový VoiceXML formulář
_
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E Irowser Activity
VoiceXML
Položky formuláře
• Vstupní položky
• field
• record
• transfer
• object
• subdialog.
• Vstupním položkám odpovídají proměnné s názvem, který odpovídá hodnotě atributu name, příslušné vstupní položky.
• Řídící položky
• block
• initial.
• Provádění lze omezit pomocí atributu cond.
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice Browser Activity VoiceXML
Element field
• Představuje vstup od uživatele.
• Atributy:
• name - jméno pole
• přístup k výsledné hodnotě pomocí stínové proměnné s tímto jménem.
• expr - případná počáteční hodnota, lze použít výrazy jazyka ECMAScript
• cond - podmínka nutná pro zpracování vstupu
• vice viz specifikace.
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice Browser Activity VoiceXML
Element field
Dokončení
• Obsah:
• případná výzva s popisem vstupu (element prompt)
• gramatika - popisuje množinu akceptovatelných vstupů
• ošetření událostí
• noinput
• nomatch
• filled
• ...
• ...
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E browser Activity 1
VoiceXML
Ukázka použití elementu field
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice Browser Activity VoiceXML
Element record
• Umožňuje systému nahrát zprávu.
• Lze využít např. pro dialogový záznamník.
• Atributy:
• name
• expr
• cond
• beep - má-li se před začátkem nahrávání přehrát zvukový signál
• maxtime - maximální délka nahrávky
• type - mime-type výsledné nahrávky; musí být podporována VoiceXML platformou
a ...
• Obsah:
• případná výzva s popisem vstupu
• ošetření událostí
• noinput
• connection.disconnect.hangup (použití elementu catch).
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice Browser Activity VoiceXML
Ukázka použití elementu record
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E Irowser Activity
VoiceXML
Element subdialog
• Slouží k vyvolaní dialogu, řešícího dílčí problém.
• Element subdialog.
• Jeden a tentýž subdialog lze volat opakovaně.
• Elementy:
• subdialog - volání dílčího dialogu
• parám - definice hodnoty parametru
• filled - kód, který se má provést po návratu z dílčího dialogu.
• Atributy
• name - jméno volaného dílčího dialogu
• src - URI dokumentu, který obsahuje kód dialogu.
• Kód subdialogu - formulář, ukončený elementem return.
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E Irowser Activity
VoiceXML
Ukázka subdialogu
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E Irowser Activity
VoiceXML
Ukázka subdialogu
Luděk Bártek Standardy W3C Voice Browser Activity
Element block
W3C Voice Browser Activity VoiceXML
• Obsahuje proveditelný obsah.
• Provádí se pokud:
• má hodnotu 'undefineď (nebyl dosud navštíven)
• atribut cond se vyhodnotí jako true.
• Struktura - viz předchozí příklady.
• Atributy:
• name - jméno bloku
• expr - iniciální hodnota proměnné formuláře
• cond - podmínka omezující provádění bloku.
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice Browser Activity VoiceXML
Element initial
• Typické využití - dialogové strategie se smíšenou iniciativou.
• Umožňuje uživateli zadat více informací naráz.
• Na rozdíl od ostatních vstupních elementů nemůže obsahovat:
• gramatiku - využívá se gramatika formuláře (viz ukázka na dalším slidu)
• pokud je uživatelova odpověď gramatikou formuláře rozpoznána, je nutno nastavit hodnotu elementu initial -většinou se používá true
• filled.
• Dceřiné elementy:
• výzvy (prompt)
• ošetření událostí (catch, nomatch, noinput).
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice Browser Activity VoiceXML
Ukázka použití elementu initia 1
Luděk Bártek Standardy W3C Voice Browser Activity
W3C Voice E browser Activity 1
VoiceXML
Další informace o VoiceXML
• Popis na W3C VoiceBrowser Activity (http://www.w3.org/TR/voicexml20/ doplnění změn na http://www.w3.org/TR/voicexml2l)
• www.voicexml.org (http://www.voicexml.org)
• Šimek, Richard - Tutoriál jazyka VoiceXML (bakalářská práce Fl), 2005
• ...
Luděk Bártek Standardy W3C Voice Browser Activity