Upload
albertina-diana
View
86
Download
5
Embed Size (px)
Citation preview
- Diarizarea vorbirii -
Proiect ASRSV
Coordonator: Prof.dr.ing. Eugen LUPU Student: Alberta Diana RAŢĂ
1
1. Recunoaşterea semnalului vocal
Recunoaşterea semnalului vocal este un subiect amplu care cuprinde diferiţi paşi pentru a ajunge la
rezultatul final. Potrivit lui Reynolds (2002), aceste etape pot fi clasificate în: - dependente de text (în
care vorbitorul poate rosti un anumit text) şi indepentente de text (în care vorbitorul poate rosti orice
doreşte). În mod similar, în funcţie de informaţiile pe care metodei îi este permis să folosească şi în
funcţie de rezultatul aşteptat, recunoaşterea vorbitorului urmareşte anumiţi paşi (Doddington, 1985):
- Identificarea “vorbitorului“: datele de testare sunt prezentate sistemului. În aceasta fază,
sistemul trebuie să decidă cine a rostit datele de testare( acest proces este adesea menţionat ca şi
un set/circuit închis de identificare, pentru a evita confuzia cu sarcina de verificare sau
identificare de vorbitor.)
- Verificarea “vorbitorului”: două seturi de date de testare sunt prezentate sistemului, iar acesta
trebuie să decidă dacă vorbitorul a rostit ambele segmente de vorbire.(acest proces este adesea
denumit ca şi set/circuit deschis de identificare).
Campbell (1997) adaugă urmatoarea sarcină:
- Detectarea “vorbitorului”: Sistemului îi sunt oferite mai multe date de testare, apartinând mai
multor vorbitori, iar acesta este de aşteptat să marcheze în mod corect discursurile vorbitorului
ţintă.
Alte sarcini asemănatoare cu cele legate de recunoaşterea semnalului vocal (Kotti et al, 2008):
2
- Segmentarea vorbitorului: Un număr mare de vorbitori sunt oferiţi sistemului, iar acesta trebuie
să găsească punctele în care se schimbă vorbitorul (turn points). Dacă sistemul are cunoştinţe
anterioare despre vorbitori atunci acesta poate construi modele pentru fiecare dintre vorbitori. În
acest caz, procesul se va numi modelul orb de segmentare a vorbirii (blind speaker segmentation)
sau sistem metric de segmentare.
- Gruparea vorbitorilor: Un numar mare de enunţuri sunt prezentate sistemului şi atunci acesta
trebuie să le grupeze în mod corect în funcţie de sursa de difuzare. (această sarcină este facută de
mai multe ori, alături de un alt sistem, pentru a grupa segmentele aceluiaşi vorbitor)
- Diarizarea vorbitorului : Un semnal audio este prezentat sistemului, iar acesta trebuie să decidă
cine vorbeşte în fiecare perioadă a semnalului dat spre testare. Acest proces este adesea cosiderat
ca şi o combinaţie între procesele de segmentare a semnalului audio urmat de procesul de
grupare (clustering). În mod similar cu sarcina de segmentare, dacă informaţiile despre vorbitori
sunt oferite anterior procesului, atunci se pot construi modele, care ajută pentru o grupare mai
bună a vorbitorilor, în acest caz procesul se va numi diarizare bazată pe modele.
1.1. Caracteristicile semnalului vocal
După cum ştim semnalul vocal conţine mai multe tipuri de informaţii, acestea sunt ascunse într-o serie
de eşantioane de valori, disponibile pentru procesul de digitalizare.În consecinţă, caracteristicile sunt
extrase mai întai din semnal şi mai apoi sunt manipulate în anumite scopuri.În această parte sunt
prezentate funcţiile generice de vorbire, fiecare urmate de o descriere mai amplă a celor mai folosite
dintre ele pentru prelucrarea semnalului vocal.
1.1.1. Caracteristicile fonemelor şi clasificarea lor
O spectogramă a unui fonem arată intensitatea unui anumit set de frecvenţe. Aceste impulsuri sunt
prezente indiferent de vorbitor. Figura de mai jos prezintă fonemele a cinci vocale şi spectogramele lor.
Este clar că fiecare vocală are setul ei de frecvenţe (potenţate de zonele de culoare mai intense). Limitele
vizuale ale acestor frecvenţe (frecvenţa de inversare a intensităţii ) sunt numite formanţi. O fonemă
poate avea pana la cinci formanţi, de la F1 până la F5.Potrivit lui Jurafsky şi Martin (2009) alte
caracteristici ale fonemelor pot ajuta la sinteza vorbirii, cum ar fi poziţia limbii (înaltă, scăzută, faţă,
spate) şi forma buzelor (rotundă sau plată).
Fonemele rostite complet din tractul nazal sunt numite nazale.Pe când, fonemele rostite complet din
tractul bucal sunt numite ocluziv.Un fonem care provoacă frecare în cavitatea bucală sau cea nazală se
numeşte consoană fricativă.
3
1.1.2. Energia
Suma valorilor eşantioanelor dintr-o perioadă de timp (într-o fereastră dreptunghiulară) este numita
fereastră de energie(Coleman, 2005).
În mod evident, energia creşte odata cu dimensiunea cadrului.Prin urmare, nu are nici o moştenire prin
ea însăşi.Pe de alta parte, puterea este media de energie pe lungimea unei ferestre.
1.1.3. Rădăcina media patrată
Rădăcina media patrată reprezintă o masură des utilizată deoarece nu este afectata de semnele de valoare
individuală.
În prelucrarea vorbirii, aceste măsurători au diferite întrebuinţări.De exemplu, atunci când o fereastră are
rădăcina medie patrată aproape de zero, se sugerează faptul că ar trebui să fie un cadru de tăcere. De
asemenea, o schimbare bruscă a rădăcinii medii pătratice pentru o perioadă scurtă de timp sugerează o
neregularitate ce are loc în acea fereastră, cum ar fi: o bătaie la o uşă sau sunetul unui telefon.În plus, în
cazul în care valorile se stabilizează după o schimbare înseamnă o schimbare a vorbitorului.Rata de
trecere prin zero este rata de schimbare a semnului semnalului.Acesta poate fi cu uşurinţă aproximat prin
utilizarea puterii dintr-o fereastră mică consecutivă. Această caracteristică este foarte importantă întrucât
se pot distinge diferitele tipuri de voci (Gouyon si Pachet, 2000).
1.1.4. Analiza de frecvenţă şi estimarea pitch-ului
Faptul că fiecare fonem are anumite caracteristici de frecvenţă influenţate de extinderea semnalului la
domeniul de frecvenţă; aceasta se face prin Trasnformarea Fourier. O buna implementare digitală pentru
Transformata Fourier Discrete (FFT) poate fi facută la lungimi de ferestre de 2N; dacă lungimea nu este
o putere de a lui 2, atunci ferestra este 0. Deoarece rezultatele transformării menţionate sunt în domeniul
complex, se întamplă să se aplice FFT inversă pentru frecvenţa spectrului semnalului. De obicei,
4
fonemele sonore deţin mai multă energie la frecvenţe mici decât cele neexprimate, unde energia este
răspândită peste tot spectrul (Coleman, 2005). Astfel, pot fi utilizate pentru a estima regiunile de voce
sau de liniste. Această metodă are nevoie de un prag pentru a diferenţia regiunile între ele.O altă metodă
pentru estimarea regiunilor este autocorelarea, unde o fereastră a semnalului este autocorelata cu ea
însăşi la un interval de creştere. Intervalul cu cea mai mare autocorelare este declarant perioadă de bază
şi poate fi utilizat pentru a determina frecvenţa de bază. Dacă cea mai mare autocorelare a fost la
perioada 0, atunci cadrul este considerat unul de liniste.Parametrii pentru acestă metodă includ limitele
superioare şi inferioare pentru procesul de autocorelaţie.Pentru vocea umană, valorile bune sunt de 40
Hertzi şi 600 Hertzi (Huang, Acero si Hon 2001). Figura de mai jos prezintă perioada de timp pentru
sunetul /o/ al cuvantului “boy” (baiat) de 90ms incluşi într-un eşantion de 62 Hertzi.Acesta indica foarte
clar natura vocii exprimate de vocala. Spectrul de frecvenţă este prezentat în (b) până la 4096 Hertzi.
- Suprapunerea triunghiulară Mel
1.1.5. Cepstrum / MFCC
Aşa cum este descris în Coleman (2005) spectrul de frecvenţe conţine două tipuri de oscilaţii. 1).Cele
mai mici, sunt numite şi armonici – frecvenţa lor este un multiplu al frecvenţei de bază.De aceea, ele
sunt legate de vorbire. 2).Cele mai mari şi ascunse, unde oscilaţiile sunt amplificate – frecvenţa lor e
afectă de formanţii vorbirii.În cazul unei sarcini legate de vorbire putem fi interesaţi de rata de repetare a
unei armonici, adică frecvenţa ei. De aceea, se aplică FFT pe spectrul de frecvenţe pentru a analiza
oscilaţiile sale. Rezultatul este în domeniul cepstrumului.Axa x reprezintă “quefrency”. Amplitudinea
reflectă suma cu care valoarea contribuie la spectrul de frecvenţe.Cea care are amplitudinea cea mai
mare corespunde frecvenţei armonicii şi de asemeni frecvenţei de bază a semnalului original.
5
Scala Mel se ocupă de frecvenţe sub 1000Hz având un comportament linear.Pentru ca frecvenţele sunt
manipulate logaritmic, se acordă o importanţă mai mare schimbărilor de frecvenţă mai joase.
Manipularea semnalelor pe scala Mel se poate face prin utilizarea unui filtru cu regiuni egale ca
lungime, mai mici decât 1000Hz .Adesea, filtrele folosite sunt de filtre triunghiulare suprapuse. Pentru a
produce aceste filtre MFCC se adaugă şi energia din spectrul de frecvenţă, fiecare producând o valoare
unică denumită valoare Mel.Valorile Mel sunt introduse în Transformata Fourier din nou ( mai exact în
Transformata Cosinus Discretă), care reprezintă FFT în domeniul real. Rezultatul se numeşte coeficienţii
cepstrali de frecvenţă Mel.Figura cu scala Mel conţine informaţii legate de vorbitor.Aceasta reduce
efectele produse de sursă şi păstrează doar efectele produse de filtru. Mai mult decât atât, scala Mel
oferă mai multă importanţă frecvenţelor mici, prin urmare faptul că oamenii sunt mai influenţaţi de
schimbările la frecvenţe mai mici decât la cele mai mari (Jurafsky şi Martin, 2009).
Caracteristicile MFCC au oferit rezultate bune atât în recunoaşterea vorbirii cât şi în identificarea de alte
semnale.Adesea, numai numerele de conducere L sunt păstrate pentru fiecare cadru.De asemenea, delta
MFCC reprezintă diferenţa dintre delta MFCC a doua cadre delta consecutive.Delta MFCC au arătat, de
asemenea, o bună performanţă în sarcinile de recunoaştere.
1.1.6. LPC
O aproximare a eşantionului semnalului de vorbire se poate face printr-o combinaţie liniară a valorilor:
6
Mai mult decât atât, în cazul în care rezidurile sunt salvate atunci semnalul de intrare poate fi extras din primul
calcul şi apoi adăugat rezidurilor.Acest fapt a dezvoltat o tehnică de compresie pentru semnalele vocale cunoscută
ca şi LPC – Linear Predictive Coding. Semnalul de eroare este salvat pentru fiecare cadru de semnal, precum şi a
coeficienţilor. Compresia este realizată deoarece amplitudinea semnalului de eroare e mai mică decât cea a
semnalului original. Cu toate acestea,dacă e mai mic atunci erorile vor fi mai mari şi compresia va eşua. Pe
cealaltă parte,dacă este mai mare, atunci spatiul pentru coeficienţi va fi mai mare şi compresia va eşua de
asemenea.Oricum coeficienţii sunt cel mai bine selectaţi pentru a minimiza valoarea medie de eroare pentru
aproximare. Pentru a face acest lucru, semnalul original este autocorelat cu el însuşi pentru a genera o matrice de
autocorelare, de la care coeficienţii pot fi extraşi. Această metoda este descrisă în detaliu în (Rabiner şi Bing-
Hwang, 1990) şi în (Huang, Acero şi Hon, 2001).
O simplă observaţie a valorilor LPC sugerează că acestea nu se schimbă dramatic cu excepţia cazului în care un
eveniment brusc apare, cum ar fi schimbările de frecvenţă a vorbirii.Utilizarea Transformatei Fourier pe semnalul
de eroare generează linii spectrale de frecvenţa spectrului. Acesta poate indica că ele sunt mult mai stabile decât
alte metode de estimare pentru F0 (Huang, Acero şi Hom, 2001).O altă utilizare a LPC-ului e legata de sursă/
modelul de filtru, în cazul în care erorile pot fi vizualizate ca denaturare a semnalului.Oricare semnal (sursă sau
filtru) poate fi aproximat linear de valorile anterioare ale semnalului original. Această aproximare generează o
listă de perechi de valori (sursă / perechi de filtrare), care pot fi utilizate în continuare pentru analiza semnalului.
Lista de perechi este numită perechile de linii spectrale (LSP).O altă idee interesantă e PLP- Perceptual Linear
Predictive prezentată în Hermansky (1990). PLP efectuează o metrică Mel – Scale pe semnalul de intrare astfel
încat să sporească efectul frecvenţelor mici înainte de extragerea LSF sau LPS.
1.1.7. Caracteristicile specifice vorbirii
O nouă abordare pentru reprezentarea discursului păstrarea a cât mai multor informaţii despre vorbitor, aşa cum
este prezentat de catre Chen şi Salman (2011). O arhitectură de retea (DNA) este folosită pentru a afla
caracteristicile esentiale ale vorbitorului. DNA-ul este instruit cu cadre MFCC etichetate, cu obiectivul de a grupa
cadre rostite de acelaşi vorbitor şi îndepartând pe cat de mult posibil ceilalţi vorbitori. Fără pierderea obiectivului
fundamental, care este să minimizeze diferenţa între straturile de intrare şi ieşire.Unul dintre straturile ascunse se
numeşte stratul de cod, care conţine două tipuri de valori: valori legate de vorbitor şi valori nelegate de vorbitor.
Acestea din urma sunt păstrate pentru a fi utilizate în procesul de reconstrucţie ( restul straturilor). Pentru a fi
capabili să înveţe discriminarea în mod corespunzător, două reţele sunt înmulţite simultan iar diferenţa din stratul
de cod e minimizată dacă acestea aparţin aceluiaşi vorbitor sau maximizate altfel. Această funcţie multi – obiect
poate fi rezumată prin urmatorul text ( 0< a<1 controlează schimbul între reconstrucţia cu pierdere si
discriminarea cu pierdere):
LR este eroarea de reconstrucţie şi poate fi direct calculată:
7
Cu toate acestea, ℒI este pierderea discriminată; aceasta trebuie să fie mică pentru aceeaşi vorbitori şi mare pentru
vorbitori diferiţi. Scriitorii propun următoarele ca şi o măsură de compatibilitate dintre două cadre.
Unde miu este valoarea medie a vectorului de cod, şi suma reprezintă matricea de covarianţă. Este norma şi
reprezintă Frobenius. Prin urmare, pierderea discriminării poate fi exprimată ca şi:
Dacă I =1 atunci cadrele sunt luate de la acelaşi vorbitor, iar pentru I =0 invers.
1.2. Rezumat
În această parte am prezentat un numar de reprezentări ale sunetului; inclusiv reprezentarea specifică vorbitorilor
(DNA). Caracteristicile prezentate sunt generice, adică ele pot fi utilizate în orice aplicaţie ce necesită
identificarea vorbitorului sau diarizarea sa. În mod evident, fiecare reprezentare are avantajele şi dezavantajele
sale.Mai mult decât atât, fiecare reprezentare ar putea avea nevoie de o prelucrare anterioara.
8
2. Diarizarea vorbirii
Următoarele paragrafe se referă la diferite metode şi abordări folosite pentru diarizarea vorbirii.
Informaţia este prezentată într-o ordine logică.În primul rând, este prezentată sarcina diarizării şi diverse
părti vor fi definite.Vor fi prezentate diarizarea single şi multi-canal.Se va discuta despre VAD şi rolul
pe care îl are în diarizare.Modelele utilizate pentru reprezentarea semnalului, modele utilizate pentru
segmentare şi grupare.Secţiunea se incheie cu o tehnică de diarizare care economiseşte timp şi poate fi
mult mai precisă decât altele.
2.1. Diarizarea cu un singur canal
Diarizarea vorbirii răspunde întrebării “cine a vorbit şi cand?”. În conformitate cu Kemp (2000) cele mai
multe sarcini ale procesului de recunoaştere depind de discursurile scurte ale vorbitorului şi ar eşua în
cazul în care mai mult de un vorbitor ar fi prezent. Cu toate acestea, în acest moment un numar mare de
fluxuri de sunet reprezintă şi mai multe surse de sunet/vorbire, cum ar fi întâlnire sau posturile de ştiri.
Sarcina diarizării vorbirii îşi propune să partiţioneze fluxul de intrare în părţi rostite de un singur
vorbitor şi de a determina, de asemenea,regiunile vorbite de fiecare vorbitor în parte(Kotti,2008).Mai
multe aplicaţii beneficiază de pe urma acestui proces, cum ar fi detectarea dialogului, adnotarea
automata a difuzării ştirilor şi indexarea automată a vorbirii în funcţie de vorbitor. Este frecvent întâlnit
să te gândeşti la diarizare ca şi la ceva fără cunoştinţe anterioare cu privire la conţinutul semnalului
audio (Tranter, 2006). Cu toate acestea, acest lucru nu este o constrângere, iar unele cercetări
beneficiază de cunoştinţe despre conţinutul datelor ce urmează a fi analizate. În plus, calitatea fluxului
de intrare poate fi o sursă cu erori în procesul de segmentare şi grupare, cum ar fi semnalul slab datorat
zgomotului, lăţimea de bandă mică de înregistrare şi alte artefacte umane, cum ar fi respiraţia grea
(Almpanidis şi Kotropoulos, 2008).
Diarizarea vorbirii este gândită ca o sarcină ce poate fi realizată în două etape (Kotti et al, 2008):
1). Segmentarea vorbirii: procesul prin care se determină punctele în care are loc o schimbare
majoră in flux; Acela este punctul şi momentul în care se modifică vorbitorul. Rezultatul este
compus din mai multe segmente, fiecare în parte rostite de catre un singur vorbitor şi nu există
două segmente adiacente rostite de acelaşi vorbitor.
2). Gruparea vorbirii: procesul prin care se atribuie fiecărui segment unui vorbitor, astfel încât să
se poată determina ce părti au fost rostite de fiecare vorbitor.
9
O clasificare a sistemelor de diarizare se poate face prin abordarea (Anguera, 2012):
1. Bottom-Up: ieşirea este iniţializată de un numar mare de cluster-e, fiecare reprezentând
vorbitorul unui segment al fluxului întreg de segmente.Când două cluster-e aparţin aceluiaşi
vorbitor, ele sunt combinate.Un exemplu ar fi “cadru pentru metoda de grupare”, unde
fiecare cadru este iniţial gândit ca aparţinând de un alt vorbitor.
2. Top-Down: iesirea este initializată de catre cateva grupuri; fiecare reprezentând un vorbitor al
unui segment din fluxul deja segmentat.Ori de cate ori un cluster include mai mult de un
vorbitor este împartit în două.
2.2. Diarizarea multi-canal
În funcţie de canalul şi datele disponibile, sistemului de diarizare îi poate fi furnizat un singur canal de
sunet sau mai multe pentru diarizare.Un exemplu de înregistrare multi-canal poate fi înregistrarea unei
întalniri care are mai multe microfoane în sala de conferinţă.Mai multe informaţii pot fi extrase din
înregistrările multicanal.Anguera (2006) foloseşte canalele pentru a construi un singur semnal audio,
folosind o tehnică numită Beam Forming. Această tehnică foloseşte o fereastră glisantă şi informaţiile de
întârziere ale fiecărui microfon, având ca referinţă unul singur, iar apoi aliniază diferitele canale la unul
singur.Boakye (2008) utilizează mai multe canale pentru suprapunea de separare.Această separare ajută
la eliminarea efectelor ce apar atunci cand nu există vorbire (cum ar fi: bătaia la uşă, împachetarea unei
hârtii) într-un semnal audio şi la extragerea precisă a mai multor caracteristici. Anliker (2006) utilizează
întârzierea în timp pentru a estima poziţia vorbitorului, cât şi pentru a îmbunătăţii segmentarea.Un
singur canal de diarizare e prezentat în figura de mai jos şi o diarizare multi-canal în figura urmatoare.În
esenţă, diarizarea cu un sigur canal şi cea multi-canal sunt la fel, doar ca cea din urma se foloseste de
mai multe canale sonore.
2.3. Activitatea de detectare a vocii pentru procesul de segmentare a vorbirii
VAD este folosit pentru a separa parţile de vorbire de parţile de linişte (Liu şi Kubala, 1999).Autorii
susţin că 80% din punctele de schimbare apar în cadrele de linişte, de aceea este esenţial să se execute
un VAD corect.Unele cercetări încearcă să se ocupe de non-vorbire ca de un vorbitor suplimentar, şi
elimină nevoia unui proces VAD explicit. Cu toate acestea, experimentele au arătat că având un VAD
separat îmbunătăţeşte performanţa generală a sistemului (Anguera, 2010).
10
2.3.1. Segmentarea vorbirii
Cele mai multe abordări de a găsi puncte de trecere într-un semnal audio poate fi clasificate astfel:
11
Bazat pe metrică: se bazează pe faptul că discursul unui vorbitor urmează o distribuţie normală. Prin
urmare, valorile statistice, divergente şi anume, pot fi folosite pentru a verifica dacă două parţi de
vorbire sunt rostite de către acelaşi difuzor sau nu. Metoda prin care această idee este propusă poate fi
mai departe sub-categorisită în două metode mai mici (Cheng şi Wang, 2010):
- O fereastră de dimensiune fixă: două ferestre de dimensiuni fixe se deplasează cadru cu cadru
prin fluxul audio. Se masoară diferenţa dintre ele, ceea ce conduce la o curbă peste întreg
sistemul. Această curbă poate fi prelucrată ulterior pentru a găsi vârfuri sau puncte
neasemănătoare. Valorile principale utilizate sunt enumerate în Kotti (2006) şi oferă o
comparaţie între cele trei sisteme şi concluzionează ca diferite măsurători pun accentul pe
diferite criterii de evaluare, cum ar fi reducerea ratei alarmelor false a eşecurilor diarizării.Cu
toate acestea, unele dintre cele mai performante sisteme au nevoie de setare manuală a
parametrilor.
- O fereastră în creştere: o fereastră este de aşteptat să conţină un punct de întoarcere sau în caz
contrar, e crescută cu un cadru. Odata ce se hotărăşte ca ferestra să conţină un punct de
întoarcere, atunci procesul e repetat din acel punct. Metrica folosită pentru a lua decizia de punct
de întoarcere e cel mai probabil, deobicei, Criteriul Informatiei Bayesiene (BIC) sau oricare din
variaţiile sale. Acest proces este evaluat în Cettolo, 2005. În mod clar, procesul este unul ce
necesită un calcul exigent. Prin urmare, au fost făcute cercetări în prealabil pentru a evalua
probabilităţile de a conţine puncte de trecere înainte de a se aplica metrica BIC.
Modele: aceste modele sunt pregătite în mod special pentru fiecare vorbitor. Mai apoi vor fi folosite
pentru a estima punctele de întoarcere. În practică, aceasta metodă transformă segmentarea într-o sarcină
de identificare, în cazul în care fiecare fereastră a fost separat identificată ca aparţinând unuia dintre
vorbitori.Potrivit lui Kotti (2008), metoda cea mai comuna este GMM/UBM prezentată în Reynolds,
2000. Şi aceasta la randul ei se bazează pe Modelul Gaussian (GMM) pentru a reprezenta un vorbitor,
urmată de un proces de discriminare (cum ar fi SVM) pentru a diferenţia vorbitorii. Alte modele sunt
mai rar folosite, cum ar fi modele de ancorare, unde vorbitorul nu e reprezentat într-o formă statistică,
dar mai degrabă ca şi un vector de distanţă dintr-un anumit set de vorbitori predefiniţi.Acest vector e
numit vectorul de caracterizare a vorbitorului (SCV) (Anguera şi Bonastre, 2010).
12
2.4. Măsurarea distanţelor
O serie de măsuratori a distanţelor pot fi aplicate pentru ferestre de dimensiuni fixe şi orice metrică
poate fi utilizată (munca statistică este prezentată în Bimbot, 1995). Cu toate acestea, urmatoarea listă
este formată din cele mai uzuale metode de măsurare, conform Kotti (2008):
O – este vectorul mediu al caracteristicilor ferestrei; Σ – este matricea de covarianţă dintre caracteristici
şi reprezintă numarul de cadre dintr-o fereastră; tr – este operatorul de urmărire.
- Divergenţa Kullback (KL2)
- Divergenţa Bhattacharyya (BH)
- Divergenţa Hotelling T2 (H)
- Divergenţa de generalizare a ratei (GLR)
- Divergenţa bazată pe informaţii : Rényi (EL)
13
Aceasta divergenţă este în mod generic cu un parametru B. De obicei, B e considerat ca fiind din intervalul [0,1],
dar nu e considerată o restricţie a valorii. Când B=1 metrica converge la entopia Shannon 1. Când B = 0,5 ecuaţia
va fi identică cu metrica Bhattachryya.
O altă metrică adoptată pe scară largă este Criteriul Informţii Bayesiene (BIC) având ca ecuaţie:
D – este numarul de caracteristici considerate; Z – este un parametru care controlează complexitatea
modelului. Chen şi Gopalakrishnan(1998) au formulat problema schimbărilor de vorbitor ca şi un model
de selecţie folosind Δ; în cazul în care doi vorbitori au contribuit la discursul din fereastră,prin urmare
vom avea două distribuţii normale, care se potrivesc. Sau dacă doar un vorbitor a contribuit la fereastră
şi prin urmare, vom avea doar o distribuţie normală, cea care se potriveşte cel mai bine.Această metodă
este folosită în prezent pentru a selecta una dintre următoarele ipoteze: H0 – nici o schimbare în vorbire
în timpul ferestrei; H1- o schimbare de vorbitor are loc în mijlocul ferestrei. Selecţia necesită, de obicei,
un prag care este setat manual, sau setat la zero şi mai apoi controlat prin parametrul Z.
2.5. Modelarea vorbirii
De obicei, acest proces, de modelare a vorbirii este cercetat în acelaşi context cu identificarea
vorbitorului. Cu toate acestea, abordările bazate pe metrică fac presupunerea: caracteristicile
vorbitorului sunt normal distribuite.De exemplu, nu este foarte uşor de recunoscut, dar Almpanidis şi
Kotropoulos (2008) arată cât de bine se potriveşte gama generalizată cu caracteristicile MFCC, mai bine
decât distribuţia Gaussiană mono. Mai mult decât atât, aceasta a devenit normă în modelarea
vorbitorului, pentru a utiliza HMM cu noduri GMM cu 1024 sau mai multe componente ce folosesc
coeficienţii MFCC sau caracteristicile LPC pentru a codifica informaţia unui vorbitor într-o schemă
(Reynolds,2002).
Din păcate, nu există nici o formulă care să facă acest lucru.Deşi, s-au făcut eforturi considerabile pentru
a elabora o metodă de măsurare a distanţei (Goldberger, Gordon si Greenspan, 2003), ea nu este încă
corectă şi nici foarte extinsă.
În consecinţă, abordările bazate pe modele se ocupă de această problemă diferit.Un numar de modele
sunt instruite a priori.Mai apoi, o fereastră culisează peste semnal şi pentru fiecare fereastră vorbitorul
este identificat ca şi vorbitorul original sau nu.În funcţie de precizia de formare, dimensiunea ferestrei şi
14
efectele produse de mediu pot îngreuna identificarea vorbitorului. O netezire poate fi aplicată ulterior,
pentru a nu rupe discursul vorbitorului.
2.6. Clustering/ Gruparea vorbitorilor
Scopul procesului de clustering este de a grupa toate segmentele rostite de un vorbitor într-o singură
unitate.De preferinţă, sistemul ar produce un cluster pentru fiecare difuzor. Atunci când vorbitorul este
modelat ca o distribuţie modală normală, distanţa poate fi masurată prin oricare dintre metricile
prezentate pentru segmentare, cum ar fi divergenţa KL.
În caz contrar, tehnicile mai complexe pot fi folosite, cum ar fi utilizarea de HMM (un nod pentru
fiecare GMM şi o funcţie de tranziţie deja învăţată) împreuna cu un algoritm de aliniere (de exemplu
Viterbi). Cu toate acestea, o problemă moştenită de clustering este determinarea numărului corect de
clustere. În acest scop, abordarea cea mai răspândită pentru gruparea vorbitorilor este clustering
ierarhică, aglomerativ, de jos în sus (Tranter, 2006). Pentru a face aceasta, un cluster este iniţializat
pentru fiecare segment, după care un numar de iteraţii are loc. Pentru fiecare iteraţie, două cele mai
apropiate clustere sunt grupate.Acest proces este repetat până când cele mai apropiate două clustere sunt
destul de depărtate pentru a descrie doi vorbitori diferiţi şi nu ar trebui să fie unite. În schimb, abordarea
top-down iniţializează modelul cu câteva clustere şi le împarte ori de cate ori este nevoie. Când o
abordare cadru la grup (frame to cluster) se efectuează, se poate întâmpla ca unele cadre să fie atribuite
din greseală unui grup care diferă de grupurile din jurul său.Mai mult, cadrele de graniţă al unui punct de
întoarcere pot fi clasificate incorect. De aceea,este nevoie de un sistem de purificare a clusterelor.
2.7. Diarizarea cu un singur pas
Aceleaşi tipuri de metrici se vor folosi şi pentru procesele de segmentare cât şi grupare.În plus,
acurateţea procesului de clustering este foarte afectată de acurateţea procesului de segmentare.
Acurateţea segmentării poate fi îmbunătăţită prin clustizare(detectarea unui punct de întoarcere ratat sau
scos poate fi efectuată).Astfel, segmentarea şi clustizarea printr-un singur pas se poate realiza.Potrivit lui
Anguera (2012), atât prin modele top-down şi bottom-up.Un vorbitor este, de obicei, modelat de un
GMM şi de tranziţiile HMM. Apoi un algoritm dinamic aliniază cadrele în clustere, cum ar fi abordarea
15
evolutivă HMM (Meignier,2000). Această abordare are avantajul ca informaţiile culese de la procesul de
clustering poate îmbunătăţii segmentarea. Cu toate acestea, calculul este extrem de exigent.
2.8. Rezumat
În această parte, diarizarea vorbirii a fost prezentată în mod oficial.Toate subactivităţile vor fi prezentate
şi discutate. Două abordări principale sunt prezentate, şi anume: sistemul bazat pe metrică şi sistemul
bazat pe modele.Un numar de metrici, divergenţe sunt enumerate pentru o utilizare cât mai uşoară. Pe
parcursul lucrării vor fi specificate doar după nume.
3. Software-uri open source folosite pentru diarizarea vorbirii
ALIZE Speaker Diarization: ALIZE Sistem de diarizare, dezvoltat la Universitatea din Avignon,
versiunea 2.0 este disponibilă
LIUM SpkDiarization: instrumentul LIUM_SpkDiarization
Audioseg: Audioseg este un toolkit dedicat segmentării audio şi clasificarea semnalelor audio
SHoUT: ShoUT este un pachet dezvoltat la Universitatea din Twente pentru a ajuta la cercetarea
sistemelor de recunoaştere a vorbirii. SHoUT – reprezintă acronimul olandez pentru Cercetarea
în domeniul recunoşterii vorbirii de la Universitatea din Twente
3.1. ALIZE proiect - platforma OpenSource pentru autentificarea biometrică
ALIZE o platformă este"libera" (sub licența LGPL) pentru autentificarea biometrică. Scopul lui ALIZE
este de a permite dezvoltarea de cele mai multe aplicații biometrice prin furnizarea unui set de
aplicații. Pentru a permite tuturor să folosească ALIZE în funcție de nevoile sale, ALIZE este compus
din mai multe părți:
O librărie mică Alize: Această bibliotecă include toate funcțiile necesare pentru utilizarea criteriilor
gaussiene.
un nivel de set de instrumente: Toolkit este împărțit în mai multe sub-secțiuni:
LIA_SpkTools: o bibliotecă la nivel înalt
16
LIA_Utils: instrumentele necesare pentru manipularea diferitelor formate de date
folosite în modele GMM ALIZE, parametri, etc.
LIA_SpkDet: un set de instrumente pentru a îndeplini diverse sarcini ale unui
sistem biometric de recunoastere: stiluri de învățare (lume și difuzoare), de
normalizare a parametrilor, de normalizare a scorurilor, etc.
LIA_SpkSeg: un nou pachet de segmentare a vorbitorului.
Această suită a software-ului a fost dezvoltată cu scopul de a fi multiplatformă, principalele sisteme de
operare sunt acceptate:
Linux
MacOSX
Biometria este domeniul ce se ocupă cu verificarea identităţii unei persoane pe baza caracteristicilor
fizice sau comportamentale (amprente genetice, iris, feței, voce). A crescut considerabil în ultimii ani, în
special în contextul aplicațiilor comerciale (accesul securizat la informațiile sensibile transferuri sigure
de date cu caracter personal) sau consolidarea de stare civilă (pașapoarte biometrice, carduri de
identitate ulterioare).Proiectul ALIZE oferă o platformă software gratuită (open source) pentru
autentificare biometrică bazată pe o abordare statistică.Obiectivul principal al acestui proiect este de a
facilita accesul la tehnologii biometrice în mediul academic (cercetare și predare) cât si în lumea
industrială prin furnizarea de platforme software complete, de înaltă performanță, modular, ușor de
controlat și de pus în aplicare, în măsură să gestioneze sarcini diferite în biometrice, în medii
diferite. Unul dintre rezultatele așteptate ale proiectului este facilitarea unei comunităţi puternice de
utilizatori ai platformei ALIZE.
Originalitatea principală al lui ALIZE, tehnologic vorbind, este de a stabili un motor de recunoaștere
unic pentru modalități diferite de recunoaştere (de voce şi faţă, şi medii de operare diferite Linux /
Windows 2000), distribuite și încorporate. Adoptarea unui motor de recunoaștere unică, permite să se
concentreze pe cercetare și dezvoltare privind aspecte specifice ale modalităţilor studiate, mai degrabă
decât pe dezvoltarea și monitorizarea motoarelor de recunoaștere diferite. Devine mai ușor să se
integreze metode noi bazate pe cunoștințele acumulate deja. ALIZE se bazează pe proiectul AGILE
Technolangue / ALIZE , finalizat în ianuarie 2005 și proiectul MISTRAL finalizat în 2009. ALIZE este
acum baza pentru o comunitate de utilizatori academici și industriali foarte activi, care arată că soft-ul
realizat în contextul unei colaborări științifice și de inginerie este de mare interes. Alize a obținut
rezultate foarte bune în conferinţe internaţionale importante de evaluare - NIST SRE, RT - și franceză -
Ester. Performanța MISTRAL, s-a testat, de asemenea, prin participarea regulată la diverse conferinţe
internaţionale de evaluare în cadrul domeniului său de aplicare.
17
3.2. LIUM software-ul open source
LIUM_SpkDiarization este un software dedicat diarizării vorbirii (segmentarea vorbitorului și
clustering). Este scris în Java, și include cele mai recente evoluții în domeniu. LIUM_SpkDiarization
cuprinde un set complet de instrumente pentru a crea un sistem complet pentru diarizarea vorbirii.Aceste
instrumente includ calcul MFCC, detectarea vorbire / non-vorbire, precum și metodele de diarizare a
vorbitorilor. Acest set de instrumente a fost dezvoltat pentru compania franceză de evaluare ESTER2,
care a obținut cele mai bune rezultate pentru procesul de diarizare a vorbitorilor de știri.Setul de
instrumente este optimizat pentru emisiunile de radio sau tv. Totusi, nu trebuie să ne așteptam la același
nivel al performanțelor pentru o conversație telefonică sau întâlniri.
Folosire
Acest set de instrumente poate fi utilizat astfel:
Se execută direct fișierul jar;
Se scriu script-uri pentru a folosi software-ul;
Se scrie în java un program;
Pachete 3rd party
LIUM SpkDiarization este scris în Java, utilizănd 1.6 versiune a limbajului. Este nevoie de un JRE
Sun. În scopul de a compila sau executa Toolkit-ul, următoarele pachete 3rd party sunt necesare:
Pachetul gnu-getopt pentru a gestiona linii de comandă.
Pachetul lapack pentru a gestiona matrici (Blas, f2util și lapack). Metoda de inversiune bazată pe
descompunerea Cholesky este utilizată, pentru inversarea matricelor de covarianță.
Sphinx4 și jsapi pentru a calcula MFCCs.
Aceste pachete 3rd party sunt incluse în versiunea precompilată. Această versiune include,de asemenea,
o UBM, modele de gen, de vorbire / non-vorbire modele, și fișierele de configurare MFCC.
Cum putem optimiza pragul de diarizare
Un set implicit de praguri a fost determinat. Pragurile trebuie să fie adaptate pentru alte fisiere audio.
LIUM_SpkDiarization include un instrument experimental, care efectuează în mod automat tuning prin
încercarea mai multor seturi diferite de praguri. Fiecare segmentare generată este marcată din
segmentarea de referinţă.
java -Xmx2024m -jar ./lib/LIUM_SpkDiarization.jar --help --
thresholds=1.5:2.5,2.5:3.5,250.0:300,0:3.0 --loadInputSegmentation --
fInputMask="./sph/%s.sph" --sInputMask="./sph/%s.uem.seg" --
18
sInput2Mask="./ref/%s.seg" --doTuning=2 --doCEClustering $show &>
out.txt
Parametrii sunt:
- Cu –loadInputSegmentation, sistemul incarcă o segmentare iniţială pentru fiecare fişier din setul
de dezvoltare. Segmentarea iniţială este folosită pentru a elimina notarea.
- Cu –SinputMask = “/SPH. S.uem.seg%” se dă drumul şi se aplică fisierelor segmentarea initială.
( formatul este cel al unui fisier de diarizare ).
- Cu –DoTuning = 2 se setează numarul de fisiere prelucrate în paralel. Avem nevoie de asemenea
de 1.5G de memorie
- Prin comanda –xmx parametrul JVM daca –doTuning = 0, programul nu face corect ajustarea
pragurilor.
- Pragurile = 1.5:2.5, 2.5:3.5, 250:300, 0L3.0
Calculul proceselor durează după cum sunt setate pragurile şi mai depind de numarul de procese şi
rangurile pragurilor pentru testare.
grep "\ * \ *" out.txt
**** TOATE PROGRAMELE ***
l = 1,5 h = 2,5 d = 250.0 THR = 1.98 spk = 67533 fa = 47378 dor =
3552 | refLen = 1364402 hypLen = 1408228 | Eroare = 118463 Rata =
8682 **
l = 1,5 h = 3,0 d = 250.0 THR = 1.96 spk = 62995 fa = 42217 dor =
5118 | refLen = 1364402 hypLen = 1401501 | Eroare = 110330 rata =
8086 **
l = 1,5 h = 3,5 d = 250.0 thr = 1.92 spk = 63686 fa = 42212 dor =
5119 | refLen = 1364402 hypLen = 1401495 | Eroare = 111017 rata =
8137 **
l = 1,5 h = 3,5 d = 250.0 THR = 1.93 spk = 63686 fa = 42212 miss =
5119 | refLen = 1364402 hypLen = 1401495 | Eroare = 111017 rata =
8137 **
l = 1,5 h = 3,5 d = 250.0 THR = 1.94 spk = 63686 fa = 42212 dor =
5119 | refLen = 1364402 hypLen = 1401495 | Eroare = 111017 Rata de
= 8,137 **
l = 2,0 h = 2,5 d = 250.0 THR = 1.94 spk = 60645 fa = 42209 dor =
5110 | refLen = 1364402 hypLen = 1401501 | Eroare = 107964 rata =
7913 **
l = 2,0 h = 3,0 d = 250.0 THR = 1.96 spk = 61760 fa = 42207 dor =
5117 | refLen = 1364402 hypLen = 1401492 | Eroare = 109084 rata =
7995 **
19
l = 2,0 h = 3,5 d = 250.0 THR = 1.93 spk = 62687 fa = 42216 dor =
5117 | refLen = 1364402 hypLen = 1401501 | Eroare = 110020 rata =
8064 **
l = 2,0 h = 3,5 d = 250.0 THR = 1.94 spk = 62687 fa = 42216 dor =
5117 | refLen = 1364402 hypLen = 1401501 | Eroare = 110020 Rata de
= 8064 **
l = 2,5 h = 3,0 d = 250.0 THR = 1.95 spk = 76424 fa = 42210 dor =
5129 | refLen = 1364402 hypLen = 1401483 | Eroare = 123763 rata =
9071 **
l = 2,5 h = 3,0 d = 250.0 thr = 1.96 SPK = 76424 fa = 42210 dor =
5129 | refLen = 1364402 hypLen = 1401483 | Eroare = 123763 rata =
9071 **
l = 2,5 h = 3,5 d = 250.0 THR = 1.95 spk = 77943 fa = 42210 dor =
5129 | refLen = 1364402 hypLen = 1401483 | Eroare = 125282 rata =
9182 **
l = 2,5 h = 3,5 d = 250.0 THR = 1.96 spk = 77943 fa = 42210 dor =
5129 | refLen = 1364402 hypLen = 1401483 | Eroare = 125282 rata = 9
, 182 **
Cum se limitează numarul de vorbitori
Dacă cunoaştem numarul de vorbitori, acest lucru se poate face prin scriptul pentru diariazare şi prin
opţiunea –cMinimumOfCluster = 2 setez vorbitorii.
Cum putem converti un fişier
java -cp LIUM_SpkDiarization.jar
fr.lium.spkDiarization.tools.SPrintSeg \
- Ajutor - sInputMask = % S.seg - sOutputMask = % s.ctl -
sOutputFormat = CTL showname
4. Bibliografie
1. Anguera, X. et al., 2012. Speaker Diarization: A Review of Recent Research. IEEE Transactions
on Audio, Speech, and Language Processing,
2. Coleman, J., 2005. Introducing speech and language processing. Cambridge, UK: Cambridge
University Press
3. Huang, X., Acero, A. and Hon, H., 2001. Spoken Language Processing.
20
4. Kotti, M., Moschou, V. and Kotropoulos, C., 2008. Speaker segmentation and clustering. Signal
Processing,
5. Liu, D. and Kubala, F., 1999. Fast speaker change detection for broadcast news transcription and
indexing. In Sixth European Conference on Speech Communication and Technology.
Budapest,Hungary,
6. Reynolds, D., 1995. Speaker identification and verification using Gaussian mixture speaker
models. Speech communication
7. Reynolds, D. and Rose, R., 1995. Robust text-independent speaker identification using Gaussian
mixture speaker models. IEEE Transactions on Speech and Audio Processing,
8. Sylvain Meignier, Teva Merlin,LIUM_SpkDiarization:An open source toolkit for diarization, Universit´e du Maine, France
9. Marijn Huijbregts,2008,Enschede, The Netherlands, Segmentation, Diarization and Speech
Transcription: Surprise Data Unraveled
10. Jean-Franc¸ois Bonastre1, Nicolas Scheffer1, Driss Matrouf,2008, ALIZE/SpkDet: a state-of-
the-art open source software for speaker recognition, 1Laboratoire d’Informatique d’Avignon
(LIA), UAPV, France, Speech and Image Group, Swansea University, Wales, UK
11. Xavier Anguera, Member, IEEE, Simon Bozonnet,2010, Speaker Diarization: A Review of Recent
Research
12. Xuan Zhu, Claude Barras, Sylvain Meignier and Jean-Luc Gauvain,2005, COMBINING
SPEAKER IDENTIFICATION AND BIC FOR SPEAKER DIARIZATION
13. http://lium3.univ-lemans.fr/diarization/doku.php/welcome
14. http://mistral.univ-avignon.fr/index.html
15. http://cmusphinx.sourceforge.net/wiki/speakerdiarization
16. http://www1.icsi.berkeley.edu/~fractor/parlab/experiments/asrdemo/