21
- Diarizarea vorbirii - Proiect ASRSV Coordonator: Prof.dr.ing. Eugen LUPU Student: Alberta Diana RAŢĂ

Diarizare ASRSV - proiect

Embed Size (px)

Citation preview

Page 1: Diarizare ASRSV - proiect

- Diarizarea vorbirii -

Proiect ASRSV

Coordonator: Prof.dr.ing. Eugen LUPU Student: Alberta Diana RAŢĂ

Page 2: Diarizare ASRSV - proiect

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):

Page 3: Diarizare ASRSV - proiect

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ă.

Page 4: Diarizare ASRSV - proiect

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,

Page 5: Diarizare ASRSV - proiect

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.

Page 6: Diarizare ASRSV - proiect

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:

Page 7: Diarizare ASRSV - proiect

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ă:

Page 8: Diarizare ASRSV - proiect

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.

Page 9: Diarizare ASRSV - proiect

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.

Page 10: Diarizare ASRSV - proiect

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).

Page 11: Diarizare ASRSV - proiect

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:

Page 12: Diarizare ASRSV - proiect

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).

Page 13: Diarizare ASRSV - proiect

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)

Page 14: Diarizare ASRSV - proiect

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

Page 15: Diarizare ASRSV - proiect

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

Page 16: Diarizare ASRSV - proiect

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

Page 17: Diarizare ASRSV - proiect

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.

Page 18: Diarizare ASRSV - proiect

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" --

Page 19: Diarizare ASRSV - proiect

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 **

Page 20: Diarizare ASRSV - proiect

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.

Page 21: Diarizare ASRSV - proiect

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/