Rozpoznávání řeči již není pouhým snem

Možnost hovořit s počítačem dokonce po telefonu už není pouhou fikcí. Takové systémy skutečně existují a ve svět...


Možnost hovořit s počítačem dokonce po telefonu už není pouhou fikcí. Takové
systémy skutečně existují a ve světě nacházejí stále širší uplatnění, zejména v
oblastech dopravních, informačních, bankovních a dalších služeb.
Příkladem toho, že i v našich končinách pokročil vývoj moderních hlasových
technologií dostatečně daleko, je systém InfoCity. Již téměř dva roky
nepřetržitě slouží veřejnosti Liberecka a je tak nejstarší službou svého druhu
u nás. Navíc službou, která staví výhradně na výsledcích domácího výzkumu a
vývoje.
Přehled služeb Snahou tvůrců bylo nabídnout uživatelům systému co nejvíce
informací týkajících se života v daném městě. K takovým informacím patří
zejména údaje o dopravním spojení (v případě Liberce jde o autobusovou,
železniční a městskou hromadnou dopravu), o kulturních a sportovních akcích
(divadla, kina, kluby, muzea, galerie, sportovní podniky všeho druhu od fotbalu
až po turistické výlety), otevírací doby institucí (např. bazénu, knihovny,
apod.). Tyto informace jsou sice dostupné v tištěné formě (jízdní řády,
kulturní kalendáře), v elektronické podobě na Webu, či prostřednictvím
telefonického dotazu na příslušné instituci, ne však kdykoliv a za jakékoliv
situace. Hlavní výhoda automatického informačního systému by proto měla
spočívat v tom, že pomocí běžného telefonního přístroje (klasického i
mobilního) lze na jediném čísle získat libovolnou z výše uvedených informací.
Takto je také koncipován systém InfoCity.
Jeho návrh je kompromisem mezi řadou různých, často protichůdných požadavků.
Největším omezením jsou samozřejmě možnosti dostupných technologií zpracování
řeči, především na straně hlasového vstupu. Ani nejmodernější výpočetní
technika zatím neumožňuje porozumět plynulé hovorové řeči vedené na jakékoliv
téma. Z technického hlediska je proto výhodnější použít takovou koncepci
dialogu, v níž je řídicí role svěřena počítači. Ten může uživatele vést a
vhodně volenými otázkami zjistit přesnou specifikaci požadavku (např. u dotazu
na konkrétní dopravní spojení). Nabídky a dotazy ze strany počítače mohou být
sice pro někoho příliš zdlouhavé, pro člověka volajícího poprvé či pouze občas
jsou však důležitým vodítkem. Přímo nezbytné jsou pak u systému, který nabízí
informace různých typů z různých zdrojů. Přesto je žádoucí, aby dialog byl co
nejkratší, neboť hovor stojí čas a peníze. Dále je nutné, aby otázky uživateli
byly jednoznačné, aby se pamatovalo na to, že člověk může s odpovědí příliš
spěchat nebo naopak delší dobu váhat, že systém při rozpoznávání udělá chybu a
uživatel musí mít šanci ji opravit, atd. Podrobnosti o vedení dialogu se
dočtete ve vloženém textu na následující straně.
Modul rozpoznávající odpovědi uživatele není samozřejmě bezchybný. Už také
proto, že jsou na něj kladeny velké nároky: porozumět řeči od osoby, kterou
nikdy předtím neslyšel, navíc v podmínkách nepříliš kvalitního telefonního
signálu obsahujícího často výrazně rušivé pozadí. Explicitně potvrzovat
správnost každé vyhodnocené odpovědi, např. stylem "Řekl jste Praha, ano či
ne?", je však neúnosné. Vzhledem k tomu, že úspěšnost klasifikace je poměrně
vysoká, používá se v systému InfoCity tzv. implicitní potvrzení. Systém vždy
zopakuje slovo, které rozpoznal, a okamžitě pokračuje v takto vybrané větvi
dialogu. V případě nesprávného rozpoznání má uživatel možnost odpovědět na
další otázku slovem "Chyba" a vrátit se na předchozí úroveň. (Někteří volající
využívají tuto možnost také pro zpětné traverzování dialogovým stromem, např.
chtějí-li změnit některý z již zadaných údajů.)
Technické řešení
Signál od vzdáleného účastníka (z pevné či mobilní stanice) přichází přes
ústřednu do počítačové telefonní karty, která provádí AD a DA převod a
zajišťuje obsluhu linky. Vstupní i výstupní signál používá šestnáctibitové
lineární kódování na vzorkovací frekvenci 8 kHz. Vstupní data jdou do modulu
rozpoznávání řeči, kde jsou průběžně parametrizována a klasifikována. Výstupní
hlasový signál je generován systémem TTS (Text-to-Speech), jenž automaticky
převádí psaný text na řeč. (Tento modul jako jediný nebyl vyvinut na libereckém
pracovišti, ale pochází od partnerského vývojového týmu v Ústavu radiotechniky
a elektroniky v Praze.) Činnost systému řídí ústřední jednotka na základě
scénáře, který může mít podobu skriptu ve speciálně navrženém jazyce DDL
(Dialogue Description Language) nebo vývojového diagramu v grafickém prostředí
LOTOS (viz dále). Ústřední jednotka rovněž komunikuje s databázovým procesorem,
který poskytuje data podle aktuálního kontextu. Celý systém pracuje na běžném
PC (Pentium 200 MHz) umístěném v jedné z laboratoří liberecké univerzity. Jeho
provoz je průběžně monitorován a jednou za čas statisticky vyhodnocován.

Rozpoznávání řeči
Klíčovým a zároveň také nejkritičtějším uzlem v celé sestavě je modul
rozpoznávání řeči. V současné verzi systému InfoCity je použit modul, který je
schopen rychle a přesně klasifikovat slova či slovní spojení (např. typu "Nové
Město pod Smrkem") z předem daného lexikonu. Ten může obsahovat i několik tisíc
položek. Každá z nich je reprezentována významovou, textovou a fonetickou
formou (viz obr. na následující straně). Významová forma hraje roli při
interpretaci rozpoznaného slova, neboť umožňuje přiřadit stejný význam několika
různým položkám lišícím se v textové a fonetické podobě. (Např. slova "České
Budějovice", "Budějovice" či "Budějice" nesou shodný sémantický obsah.) Pro
vlastní rozpoznávání je nejdůležitější fonetická forma, neboť ta popisuje slovo
tak, jak je skutečně řečeno, tj. pomocí symbolů jednotlivých českých hlásek.
Systém InfoCity používá inventář složený ze 40 hlásek, k nimž je přidán symbol
pauzy (ticha). Fonetická transkripce je automaticky odvozována z textové formy
s využitím téměř stovky pravidel české výslovnosti a rozsáhlého seznamu
výjimek. Rozpoznávací modul je hláskově orientovaný. Pro každou hlásku je k
dispozici statistický popis typu HMM (Hidden Markov Model skrytý markovský
model), reprezentovaný třemi stavy propojenými ve směru zleva doprava.
Struktura modelů všech hlásek je stejná, liší se pouze parametry
charakterizujícími jednotlivé stavy a přechody mezi nimi. Tyto parametry se
určují předem ve fázi tzv. "trénování", které se musí provést na co
nejrozsáhlejším a nejreprezentativnějším souboru záznamů řeči. (Např. modely
používané nyní v systému InfoCity byly trénovány na databázi obsahující více
než 15 hodin foneticky anotovaných telefonních promluv získaných od více než 70
mužů a žen.) Jsou-li k dispozici modely hlásek, lze z nich vytvořit modely slov
jednoduchým zřetězením, jak ukazuje již zmíněný obrázek. Proces probíhající
během rozpoznávání řečového signálu přibližuje další obrázek na této straně.
Digitalizovaná data vycházející z telefonní karty jsou zpracovávána po úsecích
dlouhých 20 ms. V každém úseku je spočítán vektor příznaků postihujících
významné spektrální vlastnosti signálu. V případě InfoCity jde o 20 parametrů
tzv. signálového kepstra. Pro účely rozpoznávání jsou tyto příznaky mnohem
vhodnější než např. původní vzorky nebo běžné spektrum. Některé z nich lze
navíc využít pro určení začátku a konce promluvy. Sekvence příznakových vektorů
odpovídající takto ohraničenému úseku řeči je pak porovnávána s modely
jednotlivých slov prostřednictvím Viterbiho algoritmu. Jeho úkolem je najít
optimální přiřazení mezi vektory a modelovými stavy a vyčíslit míru
věrohodnosti, že daný signál přísluší určitému slovu. Vítězem klasifikace se
stává položka slovníku s nejvyšším věrohodnostním skóre.
Na podobném základě by mohlo probíhat i zpracování souvislých promluv, které se
však v systému InfoCity zatím nepoužívá. Úlohu rozpoznávání souvislé řeči totiž
značně komplikuje neexistence zřetelných hranic mezi slovy v signálu. Je to asi
jako kdybychom v psaném textu, v němž se navíc může vyskytovat řada chyb,
vynechali všechny mezery a snažili se jej rozluštit. Samozřejmě to jde, ale
je-li slovník rozsáhlý, počet možných slovních kombinací a větných hypotéz
narůstá dramatickým způsobem.

Provoz systému
Systém InfoCity funguje v plném provozu již téměř dva roky. Za tu dobu
zodpověděl více než 11 000 dotazů. Zatím nejvíce volání (1 080) bylo
zaznamenáno v březnu roku 2000 po odvysílání rozhlasového pořadu, v němž byl
systém poprvé představen v celostátním měřítku. V posledním období se průměrný
měsíční počet hovorů pohybuje okolo šesti set. Podstatně ubylo "testovacích
volání", která v prvních měsících tvořila téměř 20 procent a jejichž hlavním
motivem byla spíše zvědavost nebo snaha prověřit, co systém zvládne a jaké jsou
jeho slabiny.
V současné době na linku InfoCity volají především lidé, kteří potřebují
zjistit odjezdy autobusů, vlaků a MHD anebo se zajímají o aktuální programy
divadel, kin a klubů. Tato témata představují více než 80 % všech dotazů.
Statistické zpracování provozu umožňuje monitorovací jednotka, která kromě
jiného zaznamenává i všechny hlasové vstupy a podrobné výsledky jejich
klasifikace. Porovnáním akustických záznamů a reportů klasifikátoru lze získat
údaje o úspěšnosti rozpoznávacího modulu i o nejčastějších příčinách jeho
selhání. V současné době se průměrné dlouhodobé skóre pohybuje kolem 92 %
správně klasifikovaných odpovědí. V této souvislosti je třeba dodat, že ve
slovníku rozpoznávacího systému je nyní cca 400 slov, z nichž se podle průběhu
dialogu vyčleňuje vždy jen určitá část momentálně vybraných položek. Např. při
otázce "Ano-ne?" jsou aktivována pouze slova "ano", "ne", "chyba", "nápověda",
případně jejich synonyma, a dále modely šumu a hluku. Naopak, tam kde má
uživatel zadat číslo (např. autobusové linky) nebo název města, musí systém
rozlišovat mezi několika desítkami možných odpovědí, mezi nimiž se nacházejí i
akusticky velmi podobná slova (např. "Trutnov" "Turnov", "Děčín" "Jičín",
apod.). Dosavadní analýzy ukazují, že většina chybných rozhodnutí
rozpoznávacího modulu má několik společných příčin: 1. uživatel použil slovo,
které není ve slovníku či v jeho aktuálně platné části, nebo odpověděl celou
větou, 2. uživatel zahájil svou odpověď dříve, než byl aktivován rozpoznávací
modul, tj. ještě v době, kdy "mluvil" počítač, 3. systém chybně detekoval
začátek nebo konec odpovědi, např. kvůli silnému hluku pozadí, zakašlání, jiné
hovořící osobě v okolí, apod. Řešení všech těchto problémů je mnohem
složitější, než se na první pohled zdá, intenzivně se však na něm pracuje. K
důležitým parametrům patří i doba trvání hovoru. Autoři systému se samozřejmě
snažili o to, aby byla co nejkratší a náklady na jedno volání co nejmenší.
Délka dialogu je dána zejména počtem otázek, které musí volající zodpovědět, a
trváním těchto otázek. U jednodušších dotazů lze vystačit se třemi či čtyřmi
dialogovými "výměnami". Nejvíce jich je třeba u dotazů na MHD celkem devět.
Všechny otázky a nápovědy systému byly konstruovány jako maximálně stručné,
avšak s vědomím toho, že musí být jasné a srozumitelné i pro toho, kdo systém
používá pouze příležitostně. Minimální délka hovoru se proto pohybuje v rozmezí
30 sekund u jednoduchých dotazů až po 1,5 minuty u dotazů složitějších. Podle
dlouhodobých provozních statistik trvá průměrný hovor o něco déle 95 sekund.
Delší trvání bývá způsobeno např. požadavkem na přehrání úvodní nápovědy, více
dotazy v jednom volání, či nutností napravit chybu způsobenou rozpoznávacím
modulem. Příští vývoj
Nynější výzkum na libereckém pracovišti je zaměřen na tři hlavní oblasti
související s dalším vývojem hlasových systémů:
lPrvním úkolem je zvýšení spolehlivosti rozpoznávání. Toho lze dosáhnout
účinnějšími metodami předzpracování telefonního signálu, přechodem k
detailnějšímu hláskovému inventáři, získáváním dalších nahrávek použitelných
pro trénování dostatečně robustních hláskových modelů a v neposlední řadě i
zrychlením klasifikačních algoritmů, což zároveň dovolí používání rozsáhlejších
slovníků a začlenění různých variant výslovnosti téhož slova. K dispozici je
nyní rozpoznávací modul, který je schopen v reálném čase (tj. v čase kratším
než 1 sekunda) pracovat s aktivním slovníkem o několika tisících položkách. V
testech, v nichž různé osoby po telefonu zadávaly název libovolné z 5 360
českých obcí, vykazoval úspěšnost klasifikace vyšší než 87 %.
lDruhým cílem je dát uživateli mnohem větší svobodu v komunikaci s počítačem.
Osvobodit jej od nutnosti odpovídat přesně specifikovaným způsobem na předem
dané otázky. Ideální informační systém by se měl uvést pouze stručným "Co si
přejete, prosím?" a být připraven zodpovědět libovolně zformulovaný dotaz.
Cesta k takovému systému je zatím velice složitá. A to zvláště pro jazyky, jako
jsou čeština, která má ve srovnání s angličtinou více než desetkrát více
slovních tvarů a mnohem složitější gramatickou strukturu. Za jistý pokrok však
můžeme považovat i možnost zadávat např. dotaz na dopravní spojení větou typu:
"Potřeboval bych vědět, kdy jede zítra kolem třinácté hodiny nějaký autobus z
Prahy do Liberce." Klíčovými v této větě jsou slova "zítra", "třináct",
"autobus", "z Prahy", "do Liberce". Zbytek věty nenese relevantní informaci a
není tudíž třeba jej nijak pečlivě analyzovat. Strategie založená na této
myšlence se nazývá Word/Phrase Spotting (vyhledávání slov či frází). Využívá
jednak slovník klíčových slov a přípustných slovních spojení a dále malý soubor
speciálních modelů (filler, garbage model), jejichž účelem je pokrýt (ne však
klasifikovat) jakékoliv další části promluvy. Výše uvedená věta by tedy mohla
být dekódována jako: "Filler zítra filler třináct filler autobus filler z
Liberce do Prahy." Na uvedeném pracovišti již byl takový modul vyvinut a
otestován např. v úloze zadávání data a času, jmen a příjmení osob apod.
Čeština je však natolik bohatým jazykem, že totéž sdělení je možné říci mnoha,
často velmi odlišnými způsoby. Klíčová slova se navíc mohou objevit v jiné,
morfologicky i akusticky se lišící podobě (například "Praze" místo očekávaného
"Praha" či "Prahy"). Uvedený přístup proto zatím v praxi často selhává.
Další cíle Velká pozornost je věnována také požadavku na rychlý a efektivní
vývoj nových aplikací hlasových technologií. Návrh systému InfoCity a jeho
pozdější modifikace spočívaly v psaní a úpravě skriptu scénáře, podle něhož
probíhá dialog mezi počítačem a uživatelem. Protože scénář musí pamatovat na
mnoho různých kombinací a možností větvení, je jeho struktura velmi složitá a
nepříliš přehledná. Proto byl navržen nový způsob tvorby aplikací, který je
založen na vlastní grafické platformě nazvané LOTOS (viz obr.). Ta umožňuje
rychlou a přehlednou výstavbu dialogu přidáváním a propojováním několika
základních stavebních kamenů, kterými jsou řečový syntetizér, rozpoznávač,
kombinovaný dotazovací objekt, prvek pro přiřazení proměnné, větvení, časování
nebo styk s databází. Jednotlivé objekty lze vybírat prostřednictvím ikon na
panelu nástrojů a přikládat je na plochu k dosud vytvořené struktuře. Kliknutím
na vybraný objekt se otevře okno vlastností, v němž lze zadat např. text
dotazu, seznam aktuálních položek klasifikátoru, název proměnné, do níž se má
uložit výsledek rozpoznání, cíl případného skoku a řadu dalších parametrů. Aby
byla zachována přehlednost i u velmi rozsáhlých scénářů, je při jejich editaci
plně zobrazována pouze vybraná větev, zatímco ostatní větve zůstávají skryty
oku návrháře. Grafický systém LOTOS se nyní nachází ve fázi prototypu a jeho
ověřování. Věříme, že jeho prostřednictvím se podaří značně zefektivnit návrh a
testování nových aplikací založených na hlasové komunikaci mezi člověkem a
počítačem. Není pochyb o tom, že prostor pro využití tohoto typu informačních
technologií je skutečně rozsáhlý. Historie systému InfoCity
Systém InfoCity vznikl na půdě Technické univerzity v Liberci, v Laboratoři
počítačového zpracování řeči, organizačně spadající pod katedru elektroniky a
zpracování signálů na fakultě mechatroniky. Je produktem dlouhodobé výzkumné
práce zaměřené zejména na oblast automatického rozpoznávání mluveného jazyka.
Jeho přímým předchůdcem byl demonstrační, hlasem ovládaný systém InfoBus,
představený odborné veřejnosti již v roce 1995. Program běžící tehdy na PC
486/60 nabízel informace o odjezdech vybraných autobusových spojů. Vzhledem k
omezenému okruhu dotazů v něm bylo možné vystačit s poměrně malým souborem
rozpoznávaných slov (120) a na straně výstupu se dalo využít předem
zaznamenaných fragmentů vět, z nichž počítač podle daného scénáře sestavoval
příslušné otázky a odpovědi.
Současný systém je mnohem komplexnější. Pracuje s rozsáhlými databázemi údajů
pocházejících z různorodých zdrojů (jízdní řády autobusů, vlaků, MHD, kulturní
a sportovní přehledy, oznámení, atd.). Informace se často mění, a tak počítač
musí být schopen vygenerovat prakticky libovolnou hlasovou zprávu. Také vstupní
modul musí být připraven pracovat s mnohem rozsáhlejším slovníkem, do něhož lze
podle potřeby vkládat nová slova a slovní spojení. Z praktického hlediska je
však nejdůležitějším rysem systému jeho schopnost pracovat po telefonu a být
tak k dispozici nejširší veřejnosti. V roce 1998, když byl poprvé uveden do
zkušebního provozu, šlo jeho tvůrcům hlavně o vyzkoušení funkčnosti systému
skutečnými uživateli v reálných podmínkách. Ty odhalily řadu nedostatků
původního návrhu a zároveň pomohly udělat si konkrétní představy o chování
lidí, kteří často poprvé v životě musejí komunikovat s počítačem. Plně veřejný
chod systému provozovaného v Liberci pod jménem InfoCity se datuje od března
roku 1999.

Dialog se systémem z hlediska uživatele
V popisovaném systému InfoCity vypadá dialog s uživatelem následovně: Po
vytočení čísla (048) 53 53 100 se ozve počítač, který se stručně představí a
nabídne volajícímu možnost vyslechnout podrobný návod k použití. Poté následuje
nabídka čtyř hlavních okruhů: kultura, doprava, sport a další. Vyslovením
příslušného slova se člověk dostává o úroveň níže a může volit: v oblasti
kultury z programů kin, divadel, klubů, apod., v okruhu dopravy z jízdních řádů
týkajících se autobusů a vlaků odjíždějících z Liberce či linek MHD, v oblasti
sportu z akcí podle jednotlivých odvětví. V kategorii označené slovem "Další"
se v současné době nacházejí informace o otevíracích dobách bazénu, knihovny a
některých institucí. Další fáze dialogu se pak odehrávají v závislosti na
vybraném okruhu. Nejvíce otázek čeká volajícího při dotazu na dopravní spojení.
Např. u dotazu na MHD musí postupně zadat číslo linky, směr, nástupní zastávku,
den a čas, a teprve pak se dozví odjezdy příslušného spoje. Tato strategie má
však i své výhody, neboť systém může využívat předchozích odpovědí k postupnému
zúžení výběru a k přesnějšímu kladení otázek. Přístup k jednotlivým položkám
databáze má podobu rozvětveného stromu, jak ukazuje obrázek.
0 3330 / pen









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.