Prečo hlasom ovládané služby?

V súčasnosti takmer každý prevádzkovateľ telekomunikačných služieb ponúka prístup k informáciám prostredníctvom tzv. kontaktných centier (call centre). Tieto centrá ponúkajú informácie z lokálnej databázy, najčastejšie súvisiace s prevádzkovanými službami. Typickými príkladmi sú informácie o spotrebe, resp. cenníku služieb, nastavenie odkazovej schránky, vypočutie si odkazov a pod. Po dovolaní sa do kontaktného centra komunikuje užívateľ väčšinou so „živým“ operátorom. Nevýhodou takéhoto riešenia je, že operátor v danom čase dokáže obslúžiť len jedného zákazníka a nasadenie niekoľkých operátorov v 24-hodinovej prevádzke 7 dní v týždni je pre prevádzkovateľa služby finančne náročné. Riešenie ponúkajú automatizované systémy, ktoré dokážu aspoň čiastočne nahradiť operátora a obslúžiť niekoľko základných požiadaviek užívateľa. Postupný nárast kvality a prepracovanosť systémov rozpoznávania ľudskej reči podnietil myšlienku vzniku informačných centier, v ktorých by úlohu živého operátora prevzal na seba počítačový systém. Tento počítačový systém by mal byť schopný užívateľovi na požiadanie poskytnúť určité informácie. Bežné sú už systémy IVR (Interactive Voice Response) využívajúce na interakciu tlačidlá telefónneho prístroja. Inteligentne navrhnutý automatizovaný systém môže obslúžiť požiadavky volajúceho rýchlo a kvalitne.

Aké komponenty obsahuje hlasom ovládaný systém?

Všetky komponenty takéhoto systému môžu byť súčasťou jedného počítača, realizované programovými a technickými prostriedkami. Klientom môže byť akékoľvek zariadenie umožňujúce telefonické spojenie, napríklad aj počítač so zvukovým vstupom a výstupom využívajúci technológiu prenosu hlasu po Internete (Voice over IP).

Požiadavka na telefónne spojenie je na strane systému ošetrená modulom pre telefónne rozhranie, ktorý má na starosti zriadenie, udržiavanie a ukončenie telefónneho spojenia s užívateľom, v prípade potreby sa stará o detekciu DTMF signálov. Odpovede užívateľa sú vyhodnotené systémom rozpoznávania reči (textová forma reči) a modulom pre porozumenie prirodzene hovorenej reči (význam slov). Možné odpovede užívateľa sú zahrnuté v tzv. gramatike (grammar), ich výslovnosť definuje prostredníctvom fonetickej transkripcie slovník (dictionary).

Úlohou gramatiky je zúžiť priestor prehľadávania všetkých možných slov daného jazyka v procese rozpoznávania na vopred definované slová. Čím je gramatika jednoduchšia, tým je rozpoznávanie rýchlejšie a kvalitnejšie, na druhej strane však obmedzuje používateľa služby pri možných odpovediach. Vo všeobecnosti by gramatika mala obsahovať všetky možné odpovede používateľa v danej fáze dialógu, pričom počet možných odpovedí je možné redukovať dobre naformulovanou výzvou systému. V každej fáze dialógu je podľa potreby aktívna vždy príslušná časť gramatiky. Priebeh dialógu môže byť zapísaný v niektorom z jazykov navrhnutých špeciálne pre tvorbu hlasových dialógov (VoiceXML, SALT, atď.). Výzvy a odpovede systému môžu byť vo forme vopred zaznamenaných zvukových súborov alebo vo forme syntetickej reči. Výhodou syntetickej reči je flexibilita pri zmene a doplňovaní informácií, nevýhodou je horšia zrozumiteľnosť a nutnosť dodatočnej implementácie systému syntézy reči z textu (TTS – Text To Speech).

Ako funguje rozpoznávanie reči?

Užívateľ komunikuje so systémom prirodzenou rečou. Systém najprv privíta užívateľa a vyzve ho k zadaniu názvu fakulty, katedry a následne mena zamestnanca. Aby mohol systém spoľahlivo rozpoznať meno zamestnanca, musí užívateľ povedať minimálne priezvisko. Prvé meno a oslovenie, resp. titul sú nepovinné, ale v niektorých prípadoch môžu zvýšiť spoľahlivosť rozpoznania. Akceptovateľné slová sú definované v gramatike (otáznikom sú označené nepovinné položky): 

( ?pán ?františek ?fero botta ) { <choice botta>}
( ?pán ?profesor ?anton ?tóno čižmár ) { <choice cizmar>}
( ?pán ?docent ?ľubomír ?ľubo doboš ) { <choice dobos>}
( ?pán ?inžinier ?pavol ?pali ?paľo galajda ) { <choice galajda>}
( ?pani ?inžinierka ?mária ?maja gamcová ) { <choice gamcova>}
( ?pani ?inžinierka ?iveta gladišová ) { <choice gladisova>}
( ?pani ?pavlína chocholová ) { <choice chocholova>}
( ?pán ?docent ?jozef ?jožo juhár ) { <choice juhar>}
( ?pani ?inžinierka ?zita ?zitka klenovičová ) { <choice klenovicova>}

                                               
. . .

Každé slovo zahrnuté v gramatike má definovanú svoju výslovnosť prostredníctvom elementárnych zvukových jednotiek - foném v slovníku. Systém rozpoznávania reči je "natrénovaný" na rozpoznanie kombinácií určitých foném, spojením ktorých vznikne rozpoznané slovo (rozpoznané slovo je akceptované systémom len ak je zahrnuté v gramatike). 

inžinier            
marchevský    
špány              
šumáková       
čižmár             
klenovičová

I n Z I N j E r
m A r x E f s k i
S p A: N I
S u m A: k o v A:
tS I Z m A: r
k l E n o v I tS o v A:

Systém pre každé spracovávané slovo vypočítava pravdepodobnosť správneho rozpoznania. Pokiaľ táto nedosahuje vopred nastavenú prahovú hodnotu, dané slovo je klasifikované ako nerozpoznané a systém vyzve užívateľa k opakovanému zadaniu mena zamestnanca. Pri rozpoznaní mena systém informuje užívateľa o telefónnom čísle, a následne sa pýta či si praje pokračovať. Ak užívateľ povie áno, systém ho znovu vyzve k zadaniu mena zamestnanca, v opačnom prípade systém poďakuje a dochádza k prerušeniu spojenia medzi užívateľom a systémom.

Ako vyzerá jazyk VoiceXML?

Celý priebeh dialógu je zapísaný v jazyku VoiceXML, ktorý svojou štruktúrou značne pripomína jazyk HTML. Viac sa dozviete na www.voicexml.org.

<?xml version="1.0" encoding="ISO-8859-2"?>
<vxml version="1.0">
    <form id="uvitanie">
        <block name="block1">
           <audio src="../prompts/uvitanie.wav" />
           <goto next="#vyber_meno" />
        </block>
    </form>
    <form id="vyber_meno" scope="dialog">
        <field modal="false" hotword="false" name="meno" slot="choice">
           <audio src="../prompts/zadaj_meno.wav" />
           <grammar src="static:Name"/>
           <nomatch>
             <audio src="../prompts/nerozpoznane.wav" />
             <audio src="../prompts/zadaj_meno.wav" />
           </nomatch>
           <noinput>
             <audio src="../prompts/skontroluj_mikrofon.wav" />
             <audio src="../prompts/zadaj_meno.wav" />
           </noinput>
        </field>
        <block name="botta" cond="meno= ='botta'">
           <audio src="../prompts/botta.wav" />
        </block>
        <block name="cizmar" cond="meno= ='cizmar'">
           <audio src="../prompts/cizmar.wav" />
        </block>

            ...

Späť