Využití algoritmu DTW pro vyhodnocování vad řeči dětí postižených Landau-Kleffnerovým syndromem (LKS) Petr Zlatník České vysoké učení technické v Praze, Fakulta elektrotechnická
[email protected] Abstrakt: Tento článek pojednává o jedné z možností klasifikace LandauKleffnerova syndromu, který zřídka postihuje malé přeškolní děti. Problém je řešen ve spolupráci s Fakultní nemocnicí v Motole. Tento syndrom je obvykle lékaři klasifikován a sledován pomocí signálů mozkové aktivity (EEG). Zde je využito testování a porovnávání promluv se zdravými dětmi za využití algoritmu (DTW) a více různých charakteristik řeči. Předpokládá se nalezení metody, která bude schopna objektivně určit jednak stupeň postižení daného dítěte a dále by měla být schopna rozpoznat, zda se stav dítěte lepší v průběhu léčby nebo ne. Byly testovány další algoritmy jako např.: využití fonémového rozpoznávače na principu skrytých Markovových modelů (software HTK), ty pracovaly s nedostatečnou přesností a spolehlivostí především v důsledku nedostatku dat pro trénování.
1.
Úvod
Landau-Kleffnerův syndrom (občas je lékaři nazýván vývojová epileptická afázie) je zřídka se objevující nemoc u dětí, které jsou staré mezi 3 až 10 roky. Projevuje se abnormálními stavy v EEG signálu a jeho diagnóza může být obtížná. Děti mají problémy s opakováním slov, která jsou jim řečena, podle stupně postižení vynechávají nebo natahují hlásky v daných slovech. Nemoc se může jevit jako mentální opoždění, porucha sluchu a schopnosti se učit, dítě může mít problémy soustředit se na určitou věc, může trpět depresí.
2.
Vyhodnocování vad v řeči
Pro vyhodnocení vad v řeči je využit algoritmus DTW, který je aplikován na konkrétní promluvy jak od zdravých tak od nemocných dětí a jsou vyhodnoceny rozdíly. Aby posouzení bylo co nejvíc objektivní, je využito více vstupních charakteristik řeči a výsledky jsou průměrovány. Algoritmus DTW byl již testován dříve [6], ale byl zkoušen jen jeden typ parametrizačních koeficientů (kepstrální) a databáze jak zdravých tak i nemocných dětí byla v té době ve špatném technickém stavu. Z těchto důvodů algoritmus pracoval nespolehlivě, docházelo k časté záměně zdravých dětí s nemocnými.
2.1.
Popis algoritmu DTW
Algoritmus DTW (Dynamic Time Warping) [4] byl popsán již v mnoha publikacích a je využíván pro rozpoznávání izolovaných slov. Byla provedena modifikace tak, aby ho bylo možno využít pro porovnávání slov od zdravých a nemocných dětí. Všechna zpracovávaná slova mají vzorkovací frekvenci 16kHz. Jsou segmentována s krokem segmentace 20ms a každý segment je váhován Hammingovým oknem [5]. Dále je proveden popis každého segmentu jednotlivými parametrizacemi, které jsou popsány dále. Potom je vypočítána matice vzdáleností di,j využitím Euklidovských vzdáleností z parametrických vektorů W1 (testovací) a W2 (referenční) z obou slov, kde W1 = w11 , w12 , ..., w1I aW2 = w21 , w22 , ..., w2I kde I je počet segmentů prvního slova a J je počet segmentů druhého slova, které jsou porovnávány. Euklidova vzdálenost di,j dvou vektorů w1i a w2j kde i = 1, 2, ..., I, j = 1, 2, ..., J je definována jako di,j
v u N uX (un − vn )2 , =t
(1)
n=1
kde w1i = u1 , u2 , ..., uN a w2j = v1 , v2 , ..., vN , kde v and u jsou složky parametrických vektorů w1i a w2j , které popisují každé slovo. N je počet parametrů, které popisují segment. Matice vzdáleností je potom procházena z počátečního rohu do koncového ve směru nejmenších vzdáleností a je vypočítán součet minimálních vzdáleností S. Cesta průchodu není po přímce, ale po obecné křivce. V počátečním rohu S = d1,1 . Následující hodnota součtu minimálních vzdáleností S = S + min(S1, S2, S3), kde S1 = di+1,j , S2 = di+1,j+1 a S3 = di,j+1 , kde i je index řádků a j je index sloupců matice vzdáleností. Tento výpočet je prováděn tak dlouho, dokud se nedosáhne protějšího rohu matice. Tato matice (pokud není provedeno normování na stejný počet segmentů obou slov) nemá stejný počet řádků a sloupců. Je to dáno tím, že každé dítě řekne stejné slovo s různou délkou promluvy. Velikost celkového součtu akumulované vzdálenosti S je mírou podobnosti obou porovnávaných slov. Pokud jsou porovnány dvě totožná slova, potom S = 0. 2.2.
Vybranéř řečové charakteristiky
Bylo zjištěno, že každá charakteristika je jinak citlivá například na záměnu hlásky ve slově nebo její nevyslovení. Proto je zvoleno více charakteristik a výsledky jsou porovnávány a průměrovány. 2.2.1.
Koeficienty odrazu (RC)
Každý segment je reprezentován koeficienty odrazu [5], které jsou počítány z Burgova algoritmu [5]. Jedná se o jeden z rychlých algoritmů pro výpočet parametrů autoregresního modelu. Jeho výhodou je zaručená stabilita řešení, protože pro koeficicienty odrazu km lze psát km < 1, (2) což je podmínka, která stačí pro zajištění stability syntetizujícího filtru. Pro výpočet koeficientů lze psát následující rovnice. −1 (m−1) 2· N [n] · g (m−1) [n − 1]) n=m (e , km = − PN −1 (m−1) P −1 (m−1) [n])2 + N [n − 1])2 n=m (e n=m (g
(3)
e(0) [n] = g (0) [n] = s[n]
(4)
P
kde
pro n = 0, ..., N − 1, kde N je počet vzorků na segment a s[n] je označení vzorků v segmentu. e(m) [n] = e(m−1) [n] + km · g (m−1) [n − 1] (5) pro n = m, ..., N − 1 g (m) [n] = g (m−1) [n − 1] + km · e(m−1) [n]
(6)
pro n = m, ..., N − 1 kde e(m) [n] je dopředná predikce a g (m) [n] je zpětná predikce. 2.2.2.
Koeficienty lineární predikce (LPC) (m)
Koeficienty lineární predikce ak lze vypočítat z koeficientů odrazu km pomocí přímé Levinsonovy rekurze [5]. Tu lze popsat následujícími vztahy. V počátku, m = 1 (1) a1 = k 1 (7) kde m = 2, 3, ..., p (m)
ak (m) ak
=
= km
(m−1) ak
+
(m−1) km ak−1
(8) (9)
pro k = 1, ..., m − 1, kde p je řád analyzujícího filtru autoregresního modelu. 2.2.3.
Kepstrálnáíkoeficienty (CC)
Kepstrální koeficienty [5] by měly být robustnější než LPC koeficienty, protože lépe modelují vokální trakt. Můžou být odvozené z diskrétní Fourierovy transformace, ale zde je (m) proveden jejich výpočet z LPC koeficientů ak z následujících vztahů [5], protože tyto koeficienty již byly k dispozici v předchozím kroku. 1 c[0] = ln(α) 2 c[n] = −an −
X 1 n−1 (n − k)ak c[n − k] n k=1
(10) (11)
pro n > 0, an = 0 pro n > p, α je výkon chyby predikce, p je řád autoregresního modelu, an jsou LPC koeficienty a c[n] jsou počítané kepstrální koeficienty. 2.2.4.
1. LPC koeficient (1.LPC)
Dále je využíván a testován 1. LPC koeficient. 0. LPC koeficient využít nelze, protože jeho hodnota je vždy 1. 2.2.5.
0., 1., a 2. kepstrální koeficienty (0.CC, 1.CC a 2. CC)
Jako další ze zvolených parametrizací jsou zvoleny jednotlivě tyto koeficienty a jejich robustnost a využitelnost bude dále zjišťována. 2.2.6.
Energie chyby predikce (Ep)
Energii chyby predikce [5] každého segmentu lze obdržet například při výpočtu autoregresních koeficientů při využití autokorelační metody, kde se ve výpočtu uplatní jednotlivé autokorelační koeficienty a parametry autoregresního modelu. Pro tyto účely bylo testováno, že je Ep nutno využít v dB podle následujícího vztahu. Potom se jedná o jednouchou, velice efektivní a spolehlivou parametrizaci. Ep (dB) = 10 · log10 Ep
(12)
2.2.7.
Energie segmentu (En)
Dále byla zvolena energie každého segmentu En [5] jako další parametrizace. Pro efektivnější využití je ji nutno opět převést do dB jako chybu predikce podle již uvedeného vztahu. En =
N −1 X
x2 [n],
(13)
n=0
kde N je počet vzorků na segment a x[n] jsou jednotlivé vzorky. 2.2.8.
Počet průchodů signálu nulou (ZCR)
Tato parametrizace [7] může být efektivní pro případ, kdy dítě vynechá ve slově neznělou hlásku jako např.: ”s” nebo ”š”. Počet průchodů nulou pro neznělé hlásky je totiž podstatně vyšší než pro znělé. Funkce pro výpočet průchodu signálu nulou Z(n) může být definována jako N −1 X |sgn(x[n]) − sgn(x[n − 1])| , (14) Z(n) = 2 n=0 kde N je počet vzorků na segment a x[n] jsou jednotlivé vzorky. 2.2.9.
Mel frekvenční kepstrální koeficienty (MFCC)
Tyto a následující koeficienty byly převzaty z parametrizací, které využívá software HTK [1,3], který je využíván především pro rozpoznávání řeči a jiné aplikace, využívá skrytých Markovových modelů (HMM). MFCC koeficienty by měly patřit mezi jedny z nejvíce robustních parametrzací, jsou navrženy tak, aby co nejvíce respektovaly parametry vokálního traktu. Nejprve je lineární frekvenční osa převedena na nelineární Mel frekvenční využitím vztahu M el(f ) = 2595 · log10 (1 +
f ). 700
(15)
Dále je využita speciální banka filtrů která má 26 kanálů. Šířka pásma jednotlivých kanálů (dvojnásobek mj ) je zvětšována v souladu s následujícími rovnicemi a každý kanál je váhován trojúhelníkovým oknem s příslušnou šířkou dvojnásobku mj . Okno je posouváno s překryvem kanálů vždy z jednoho bodu mj−1 do následujícího mj+1 , kde bod mj je vrchol příslušejícího vrcholu okna. mmin = M el(300)
(16)
mmax = M el(8000) mmax − mmin d= P +1 mj = mmin + j · d,
(17) (18) (19)
kde j = 1, 2, ..., P , P = 26 (počet kanálů banky), čísla 300 a 8000 znamenají minimální a maximální frekvence v Hz. Nejprve je každý segment popsán amplitudovými spektrálními koeficienty (FFT). Dále jsou tyto koeficienty v jednotlivých frekvenčních pásmech váhovány výše popisovanými trojúhelníkovými okny a v každém oknu je proveden součet amplitud spektrálních koeficientů. Na všech 26 součtů ja potom aplikována Diskrétní kosínová transformace definovaná ve vztahu níže a jsou vypočítány uvažované mel frekvenční kepstrální koeficienty ci . s
ci =
N 2 X πi mj cos( (j − 0, 5)), N j=1 N
(20)
Obrázek 1: Součet sum pořadí pro slova různobarevný a mateřídouška, tmavý průběh je pro nemocné děti kde N = 26 je počet kanálů banky filtrů. 2.2.10.
Delta koeficienty (DC)
Delta koeficienty di [1,3] byly zkoušeny zvlášť i jako pomocné s logaritmickou energií segmentu a akceleračními koeficienty (popis dále) v jednom parametrizačním vektoru. Používají se jako doplněk k mel frekvenčním kepstrálním, mel frekvenčním spektrálním koeficientům a dalším, doplňují tyto základní vektory pro lepší vlastnosti parametrizace. Z těchto základních koeficientů jsou počítány rozdílem podle di =
ci+1 − ci−1 , 2
(21)
kde di jsou počítané delta koeficienty a ci+1 jsou koeficienty základní, z kterých je vycházeno. 2.2.11.
Akcelerační koeficienty (ACC )
Akcelerační koeficienty ai [1,3] jsou počítány z delta koeficientů di opět rozdílem z následující rovnice, použity byly opět zvlášť i jako doplňující k zvolené parametrizaci spolu s delta koeficienty a logaritmickou energií segmentu. ai = 2.2.12.
di+1 − di−1 2
(22)
Koeficienty z lineární mel frekvenční banky filtrů (MELSPEC+)
Koeficienty MELSPEC [1] jsou použity jako možná další parametrizace, přidány pomocné delta a akcelerační koeficienty a logaritmus energie segmentu (proto ”+” v názvu) 2.2.13.
Koeficienty z logaritmické mel frekvenční banky filtrů (FBANK+)
Další možná parametrizace [1], opět přidány pomocné delta a akcelerační koeficienty a logaritmus energie segmentu (proto ”+” v názvu)
Obrázek 2: Součet sum pořadí pro slova televize, popelnice a motovidlo, tmavý průběh je pro nemocné děti
3.
Výsledky
Všechny parametrizace jsou využity následujícím způsobem [7]. Bylo testováno 9 slov od dvou do pětislabičných. Různobarevný, mateřídouška, televize, popelnice, motovidlo, pohádka, květina, pivo a papír.Pro každé slovo bylo vybráno 18 promluv od zdravých a 6 promluv od nemocných dětí. Nejprve byly porovnány pomocí algoritmu DTW všechna slova od zdravých dětí navzájem a byla vypočítána průměrná akumulovaná vzdálenost každého slova zdravého dítěte od všech ostatních. Dále byly porovnány všechny promluvy od nemocných dětí se všemi od zdravých a opět byla vypočítána průměrná akumulovaná vzdálenost každého slova nemocného dítěte od všech zdravých. Potom byla slova seřazena podle průměrné akumulované vzdálenosti a pokud algoritmus správně pracuje, tak posledních 6 pozicí by mělo patřit nemocným dětem. Tento krok byl proveden pro všech 16 uvažovaných parametrizací. Na konec byly provedeny součty všech pořadí pro všechny děti a posledních 6 sum pořadí od nemocných dětí by mělo podstatně převýšit sumy pořadí od zdravých dětí. Pokud dojde k úspěšné léčbě dítěte a vyslovené slovo se začne blížit k průměrným hodnotám akumulovaných vzdáleností zdravých dětí, suma pořadí by měla klesat a promluva by měla splynout se zdravými. Když dojde k tomu že některá z parametrizací selže a zařadí slovo od nemocného dítěte do pořadí zdravých a naopak, nahradí ho ostatní parametrizace které pracují správně a v celkovém součtu by algoritmus měl slovo klasifikovat správně. Z těchto důvodů je využito více vstupních charakteristik řeči, slova jsou hodnocena z více akustických hledisek. Tento postup je proveden pro všech 9 uvažovaných slov. Dále je proveden součet sum pořadí pro dvou, tří, čtyř a pětislabičná slova a tím by mělo dojít ke zvýraznění rozdílu mezi zdravýma a nemocnýma dětma. Výsledek součtu sum pro pětislabičná slova různobarevný a mateřídouška je na obrázku 1. Z obrázku je zřetelně vidět, že dochází k oddělení nemocných dětí od zdravých, sumy pořadí jsou normovány k ”1”, která tvoří hranici nemocných dětí. Na obrázku 2 je součet sum pořadí pro čtyřslabičná slova televize, popelnice a motovidlo. Opět je vidět odstup slov nemocných dětí od zdravých.
Obrázek 3: Součet sum pořadí pro slova pohádka a květina, tmavý průběh je pro nemocné děti U tří a méněslabičných slov dochází k tomu, že je již některé děti vysloví buďto jako zdravé nebo téměř jako zdravé a v celkovém průměru dochází u některých nemocných dětí z pořadí 19 až 24 ke splynutí se zdravými. Testovat tyto méněslabičná slova má význam jen tehdy, pokud je dítě postiženo natolik, že i tyto slova špatně vyslovuje. Výsledek je vidět na obrázku 3, kde je proveden součet sum pořadí pro tříslabičná slova pohádka a květina. V tabulce 1 je vypočítána průměrná úspěšnost rozlišení zdravý-nemocný všech parametrizací v % počítaná pro čtyř a pětislabičná slova. Pro méněslabičná slova výpočet nemá smysl, protože některé z nich již splývají se zdravými. V tabulce 2 je pořadí přesnosti jednotlivých parametrizací pro rozlišení zdravý-nemocný. Z ní je vidět, že jako nejspolehlivější parametrizace se jeví kepstrální koeficienty, logaritmus energie chyby predikce a koeficienty z logaritmické mel frekvenční banky filtrů. Jako nejméně spolehlivá parametrizace se jeví 1. kepstrální koeficient. CC
LPC
RC
logEp
ZCR
logEn
1.LPC
0.CC
100
89
92
100
87
97
90
97
1.CC
2.CC
MFCC
delta
ACC
MFCC+
MELSPEC+
FBANK+
85
90
98
97
92
98
92
100
Tabulka 1: Průměrná úspěšnost rozlišení zdravý-nemocný všech parametrizací v % počítaná pro čtyř a pětislabičná slova
pořadí
1.-3.
4.-5.
6.-8.
9.-11.
12.-13.
14.
15.
16.
parametrizace
CC,logEp,FBANK
MFCC,MFCC+
logEn,0.CC,delta
RC,ACC,MELSPEC+
1.LPC,2.CC
LPC
ZCR
1.CC
Tabulka 2: Pořadí přesnosti jednotlivých parametrizací pro rozlišení zdravý-nemocný
4.
Závěry
Na závěr lze říci, že byl navržen algoritmus, který je schopen rozlišovat zdravé a nemocné děti. Předpokládá se, že pokud se nemocné dítě začne léčit a promluva od něho se začne přibližovat průměru od zdravých dětí, tak začne celkové průměrné pořadí postupně splývat se zdravýma dětma, až bude dítě klasifikováno jako zdravé. Tento předpoklad bude možno testovat později, až budou k dispozici pozdější nahrávky od těchto samých nemocných dětí po několika měsících léčby. Dále budou testovány další parametrizační koeficienty (např.: PLP), budou se hledat korelace mezi jednotlivými parametrizacemi, ty parametrizace které budou vytvářet nejvíce chyb při rozlišení zdravý-nemocný budou pravděpodobně po dalším rozboru vynechány, bude testována robustnost jednotlivých parametrizací na šum. Jako nejvhodnější parametrizace se zatím jeví kepstrální koeficienty, logaritmus energie chyby predikce a koeficienty z logaritmické mel frekvenční banky filtrů. Nejvíce chyb vytváří první kepstrální koeficient. Bude proveden pokus o optimalizace DTW algoritmu z hlediska směru průchodu maticí vzdáleností pro zmenšení chyb a chystá se automatická detekce slov dětí v databázi, pro ulehčení práce s databází.
Poděkování Tato práce byla podporována grantem GA ČR - 102/03/H085 ”Modelování biologických a řečových signálů”, IGA MZ ČR - NR 8287-3/2005 ”Počítačová analýza řečového projevu a celonočních EEG záznamů u dětí” a MSM6840770012 ”Transdisciplinární výzkum v biomedicínckém inženýrství 2”.
Reference [1] hkt domovská stránka. http://htk.eng.cam.ac.uk. [2] DAVÍDEK, V. SOVKA, P. Číslicové zpracování signálu a implementace. Ediční středisko ČVUT, Praha, 2002. [3] NOVOTNÝ, J. Trénování a využití kontextově závislých HMM modelů fonémů. katedra Teorie obvodů, Praha, 2002. [4] PSUTKA, J. Komunikace s počítačem mluvenou řečí. Vydala Academia Praha, tisk CENTA, spol. s. r. o., Veveří 39, Brno, 1995. [5] SOVKA, P. POLLÁK, P. Vybrané metody číslicového zpracování signálů. Ediční středisko ČVUT, Praha, 2001. [6] ZLATNÍK, P. Classification of Landau-Kleffner syndrome. Digital Technologies 2004. Žilina, vol. 1, s. 136-139, Technical University of Žilina, 2004. [7] ČMEJLA, R. Vyhodnocování výslovnosti využitím dtw algoritmu. Výzkumná zpráva LK01/2005, Praha, srpen 2005.