Sis ema ASR basa en deep lea ning
in eg a en el se ido Tex Se e
Mem`o ia del T eball Final de G au
Guillem C´o doba Pe a nau
Di ec o : Llu´ıs Pad ´o, depa amen de Ci`encies de la Compu aci´o
Codi ec o : Jos´e Ad i´an Rod ´ıguez, depa amen de Teo ia Senyal i
Comunicacions
Gene de 2017
Especiali a : Compu aci´o
Ti ulaci´o: G au Enginye ia In o m`a ica
Cen e: Facul a d’In o m`a ica de Ba celona (FIB)
Uni e si a : Uni e si a Poli `ecnica de Ca alunya (UPC) - Ba celonaTech
Resum
En aques eball es desc iu la plani icaci´o, disseny i implemen aci´o d’un sis ema ASR
(Au oma ic Speech Recogni ion) com un se ei del se ido Tex Se e . Es ac a d’un
p ojec e o ien a a desen olupado s, pe al que aques s puguin inco po a mol `acilmen
uncionali a s ASR dins de les se es p `opies aplicacions, se in -se del p esen eball.
Pe a aconsegui -ho, es a `a una ece ca sob e qu`e s´on i com uncionen els sis emes de
econeixemen de eu au om`a ics, aix´ı com amb´e es alo a an les di e en s opcions de
disseny i d’implemen aci´o del p ojec e. Tamb´e s’hi inclou, en conc e , un an`alisi sob e
l’eina Kaldi, sob e la qual cons ui em el nos e sis ema.
Es eali za `a una ece ca sob e els ecu sos ling¨u´ıs ics necessa is pe a qu`e un sis ema
d’aques ipus uncioni. To segui s’ob ind an i s’in eg a an en el sis ema, pe a qu`e
sigui capa¸c de descodi ica els senyals audi ius.
Es a `a una p opos a de pa `ame es i con igu aci´o del sis ema, que desp ´es s’hi imple-
men a an. Aques s enen pe inali a pe me e a l’usua i ajus a -se a cada cas d’´us de
l’aplicaci´o que s’es igui desen olupan .
A m´es, s’a alua `a el sis ema ob ingu , an en endimen com en quali a del p ojec e
en s´ı. Es busca un sis ema con igu able, lexible, p ec´ıs i e ica¸c.
2
Resumen
En es e abajo de desc iben la plani icaci´on, dise˜no e implemen aci´on de un sis ema
ASR (Au oma ic Speech Recogni ion) como un se icio den o del se ido Tex Se e .
Se a a de un p oyec o o ien ado a los desa ollado es, pa a que puedan inco po a
muy ´acilmen e uncionalidades ASR den o de sus p opias aplicacions, si i´endose del
p esen e abajo.
Pa a consegui lo, se ha ´a una b´usqueda sob e qu´e son y c´omo uncionan los sis emas de
econocimien o de oz au om´a icos, as´ı como ambi´en se alo a an las di e en es opciones
de dise˜no e implemen aci´on del p oyec o . En conc e o, se incluye una an´alisis sob e la
he amien a Kaldi, sob e la qual cons ui emos nues o sis ema
Se ealiza ´a ambi´en una b´usqueda sob e los ecu sos ling¨u´ıs icos necessa ios pa a que
un sis ema de es e ipo uncione. Despu´es, se ob end an e in eg a an den o del p opio
sis ema, pa a que sea capa¸c de descodi ica las se˜nales audi i as.
Se ha ´a una p opues a de pa ´ame os i con igu aci´on del sis ema, que despu´es imple-
men a emos. Es os ienen po inalidada pe mi i al usua io ajus a se a cada caso de
uso de la aplicaci´on que se es ´e desa ollando.
Adem´as, se e alua ´a el sis ema ob enido, an o en endimien o como en calidad del
p oyec o en s´ı. se busca un sis ema con igu able, lexible, p eciso y e ica¸c.
3
Abs ac
This wo k desc ibes he plani ica ion, design and implemen a ion o an ASR sys em
(Au oma ic Speech Recogni ion) as a se ice inside he Tex Se e se e . I is a p ojec
mean o de elope s, so hey can add e y easily ASR uncionali ies in o hei own
applica ions, using he p esen wo k.
In o de o achie e ha goal, we will do a esea ch abou wha ASR sys ems a e and
how hey wo k. Di e en design and implemen a ion op ions o he p ojec will be
conside ed, as well. Also, we will include an analysis abou he Kaldi oolki , upon
which we will build ou sys em.
We will esea ch abou he necessa y linguis ic esou ces in o de o an ASR sys em o
wo k. A e ha , we will ob ain hem and in eg a e hem in o he sys em, o g an i
he abili y o decode audio signal.
We will discuss a he choice o he pa ame es and con igu a ion o he sys em, and hen
implemen hem on he p ojec . Thei inali y is o allow he use o adjus o e e y use
case o he applica ion he/she is wo king on.
Finally, an e alua ion o he sys em, on he e iciency as well as on he quali y o he
p ojec i sel , will be discussed. Ou aim is o c ea e a con igu able, lexible, p ecise and
e icien ASR sys em.
4
´
Index
1 In oducci´o 8
1.1 Fo mulaci´o del p oblema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 Objec iusdelp ojec e ............................. 9
2 Con ex uali zaci´o 9
2.1 Con ex ..................................... 10
2.2 Agen simplica s ................................ 11
2.2.1 Desen olupado del p ojec e . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 Tu o sdel eball............................ 12
2.2.3 Usua is bene icia s pel p ojec e . . . . . . . . . . . . . . . . . . . . 12
3 Es a de l’a 12
3.1 E oluci´o dels sis emes ASRs . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Es a ac ual de la ece ca . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Eines disponibles pe al desen olupamen de sis emes ASR . . . . . . . . 14
3.4 P incipals aplicacions dels sis emes ASR . . . . . . . . . . . . . . . . . . . 15
3.5 An`alisi d’al e na i es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 De inici´o de l’abas i me odologia 17
4.1 Abas delp ojec e ............................... 18
4.2 Me odologiai igo ............................... 18
4.3 Riscosiobs acles................................ 19
5 Plani icaci´o empo al 19
5.1 Desc ipci´o de les asques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1.1 Pladep ojec e............................. 20
5.1.2 Con igu aci´o inicial del sis ema . . . . . . . . . . . . . . . . . . . . 20
5.1.3 Desen olupamen p incipal del p ojec e . . . . . . . . . . . . . . . 21
5.1.4 Tasca inal ............................... 22
5.2 Taula de emps es imada . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.3 Diag amadeGan ............................... 23
5.4 Recu sosu ili za s ............................... 24
5.4.1 Recu sos de ha dwa e ......................... 24
5.4.2 Recu sos de so wa e .......................... 24
5.4.3 Recu soshumans............................ 24
5.5 Valo aci´o d’al e na i es . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5
6 Ges i´o econ`omica 25
6.1 Es imaci´o del p essupos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.1.1 Recu sos de ha dwa e ......................... 25
6.1.2 Recu sos de so wa e .......................... 26
6.1.3 Recu soshumans............................ 26
6.1.4 Despeses indi ec es . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1.5 P essupos o al ............................ 27
6.1.6 Con ol de des iacions . . . . . . . . . . . . . . . . . . . . . . . . . 28
7 In o me de Sos enibili a 28
7.1 Sos enibili a econ`omica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
7.1.1 Plade iabili a ............................ 29
7.2 Sos enibili a social............................... 30
7.3 Sos enibili a mediambien al . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.3.1 C`alcul dels esidus del p ojec e . . . . . . . . . . . . . . . . . . . . 31
7.4 Taula de la sos enibili a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
8´
Us de Kaldi 32
8.1 Concep esimpo an s ............................. 32
8.2 Decisionsp eses................................. 33
8.3 Reque imen s del sis ema ASR basa en Kaldi ............... 35
9 Desc ipci´o del sis ema ASR implemen a 35
9.1 Reque imen s del senyal d’en ada . . . . . . . . . . . . . . . . . . . . . . 36
9.2 Es uc u a del sis ema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.3 Se ei in eg a dins del se ido Tex Se e . . . . . . . . . . . . . . . . . 37
9.3.1 Pa `ame es de con igu aci´o del se ei . . . . . . . . . . . . . . . . . 38
9.3.2 Ob enci´o de les dades d’en ada i p og ames d’en ada al se ei . . 39
9.3.3 P ocessa de dades . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
9.3.4 Mapping de descodi icado s segons el model u ili za . . . . . . . . 41
9.3.5 Fo ma aci´o dels esul a s . . . . . . . . . . . . . . . . . . . . . . . 42
9.4 M`odul de p ocessamen de la eu . . . . . . . . . . . . . . . . . . . . . . . 42
9.4.1 Con igu aci´o i in e ´ıcie d’´us del m`odul . . . . . . . . . . . . . . . . 43
9.4.2 P oc´es de descodi icaci´o . . . . . . . . . . . . . . . . . . . . . . . . 45
9.4.3 In eg aci´o amb el p ojec e F eeLing ................. 47
9.5 Models de llengua ge in eg a s en el sis ema . . . . . . . . . . . . . . . . . 48
10 A aluaci´o del sis ema 50
10.1 An`alisi del codi ob ingu i de l’ex ensi´o dels pa `ame es . . . . . . . . . . 51
10.2 Rendimen del sis ema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10.3Modelsenangl`es ................................ 53
10.3.1ModeldeApi.Ai ............................ 53
10.3.2 Model Aspi e .............................. 54
10.4Modelencas ell`a................................ 54
6
11 Des iacions i e isi´o de la plani icaci´o inicial 55
11.1 Can is en l’abas del p ojec e . . . . . . . . . . . . . . . . . . . . . . . . . 55
11.2 Can is en la me odologia del eball . . . . . . . . . . . . . . . . . . . . . 56
11.3 Des iacions en la plani icaci´o empo al . . . . . . . . . . . . . . . . . . . . 56
11.3.1 Taula de emps inal . . . . . . . . . . . . . . . . . . . . . . . . . . 57
11.3.2 E ec es en els objec ius del p ojec e . . . . . . . . . . . . . . . . . 58
11.3.3 E ec es en els cos os del p ojec e . . . . . . . . . . . . . . . . . . . 58
12 Cos os inals del p ojec e 59
12.1 Cos os inals elaciona s amb els ecu sos humans . . . . . . . . . . . . . . 59
12.2 Despeses indi ec es eals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
12.3Cos os eals o als ............................... 60
13 Possibles ex ensions 60
13.1 Pa `ame e en i on men (ambien en qu`e es `a g a a el agmen audi iu) 61
13.2 Addici´o de models de llengua ge . . . . . . . . . . . . . . . . . . . . . . . 61
13.3 Supo pe a e sions an e io s de xa xes neu onals de Kaldi ....... 62
13.4 Iden i icado de llengua i de la pe sona que pa la . . . . . . . . . . . . . . 62
14 Conclusions 63
7
1 In oducci´o
El p ocessamen del llengua ge na u al ´es una `a ea de ece ca cada egada m´es ac i a.
Es ac a d’un `ambi mol ex ens dins de la in el·lig`encia a i icial, que inclou un al
nomb e de `ecniques i p ocessos, des del p ocedimen que iden i ica la unci´o que a cada
pa aula en una ase conc e a ins a la se a an`alisi g ama ical.
En els ´ul ims anys, la g an p oli e aci´o dels disposi ius m`obils ha p opicia la ece ca de
no es o mes d’in e acciona amb els o dinado s i in odui -hi in o maci´o, m´es e ec i es
en aques s disposi ius que les adicionals ( a ol´ı i ecla ). Aques a demanda, combinada
amb l’inc emen del po encial compu acional dels o dinado s mode ns i amb l’acc´es a
una base de dades cada egada m´es g an p o inen d’in e ne , es an p o ocan un g an
augmen en la implemen aci´o de sis emes de econeixemen de la pa la, o sis emes Au-
oma ic Speech Recogni ion (ASR). Aques s ipus de sis emes enen mol es aplicacions,
i ´es un `ambi pun e de la ece ca en el camp del p ocessamen del llengua ge.
En aques a mem`o ia es desc iu `a el desen olupamen d’un sis ema ASR in eg a en el
se ido Tex Se e [28], desen olupa pel Cen e de Rece ca TALP [30], de la UPC.
El se ido Tex Se e in eg a di e sos se eis des ina s al p ocessamen del llengua ge,
pe `o li manca un p oc´es de econeixemen de la eu. Amb la in eg aci´o d’aques nou
se ei, el conjun del se ido se `a capa¸c amb´e de p ocessa pe icions de agmen s d’un
discu s pa la pe a ob eni la ansc ipci´o del que s’hi diu. Aix´ı, pos e io men es pod ia
c ida els al es se eis del se ido pe a anali za el ex esul an .
Desen olupa un sis ema ASR des de ze o ´es mol cos ´os, i nom´es a l’abas d’alguns
cen es de ece ca i in es igaci´o [6].
A causa d’aix`o, pe a cons ui el sis ema s’u ili za `a l’eina Kaldi [21]. S’ha escolli
aques p ojec e pe qu`e ´es una eina de codi obe , u ili za el C++ com a llengua ge de
p og amaci´o, es `a ben documen a i u ili za les `ecniques de econeixemen de eu m´es
mode nes.
1.1 Fo mulaci´o del p oblema
El p oblema del econeixemen de la pa la na u al ha es a `ampliamen es udia des
de mi jans del segle passa . Consis eix b`asicamen en con e i un senyal audi iu que
con ingui llengua ge hum`a pa la a ex au om`a icamen .
8
Aques p oblema ´es d’una g an complexi a , ja que en el p oc´es de econeixemen d’una
eu hi in e enen mol s ac o s, com poden se el imb e de eu p opi de cada pe sona o el
so oll de ons que con ingui un senyal audi iu. Aques s ac o s p o oquen que dos senyals
que con inguin el ma eix missa ge puguin di e i en g an mesu a, cosa que di icul a el
seu econeixemen .
D’al a banda, aques a complexi a obliga a cons ui sis emes complexos capa¸cos de
esold e aques s p oblemes, que enen una g an demanda de ecu sos compu acionals i
de mem`o ia. Aix`o impedeix que es puguin in eg a `acilmen en aplicacions i p og ames
que es ulguin se i d’un sis ema de econeixemen de la eu. Aix`o s’accen ua m´es
enca a en el cas dels disposi ius m`obils, que cons i ueixen una g an pa de la demanda
d’aques ipus de sis emes.
El e d’implemen a el sis ema com un se ei dins del se ido Tex Se e esol aques a
di icul a , ja que pe a desen olupa una aplicaci´o que pugui eni la capaci a d’un
sis ema ASR nom´es cald `a e la c ida co esponen al se ido .
1.2 Objec ius del p ojec e
Els objec ius del p ojec e s´on aques s:
•Du a e me una ece ca sob e els p ocessos necessa is pe a esold e el p oblema
del econeixemen de eu plan eja .
•Desen olupa un sis ema ASR amb les seg¨uen s ca ac e ´ıs iques:
–Codi de bona quali a , llegible i ben documen a . El sis ema es a `a desen o-
lupa en C++, el ma eix llengua ge que u ili za el Tex Se e i Kaldi.
–M`axima p ecisi´o possible en el econeixemen del llengua ge.
–Con igu able a ni ell gene al: que o e eixi di e ses opcions de pa ame i zaci´o
pe a qu`e pugui se ´u il en els m`axims casos d’´us d’aplicacions possibles.
•In eg a aques sis ema com un se ei m´es en el se ido Tex Se e , pe a acili a
el seu acc´es als usua is i aplicacions que aix´ı ho eque eixin.
En inali za el eball, es alo a `a enin en comp e la quali a del sis ema de econeixe-
men de eu ( an en codi com en p ecisi´o a l’ho a de econ`eixe el llengua ge) si ´es iable
l’addici´o del so wa e al p ojec e F eeling [32]. Es ac a d’un p ojec e de codi obe
desen olupa amb´e pel cen e de ece ca TALP (amb con ibucions de la comuni a ),
que in eg a mol es de les uncionali a s que o e eixen els se eis del Tex Se e .
9
po eali za un sis ema d’aques ipus s´on p og ama una euni´o, espond e una
p egun a basan -se en el con ex de la pe sona, o eali za una ce ca pe eu.
•Impac e en els ideojocs: l’expe i`encia del jugado po se augmen ada en g an
mesu a si s’in odueixen elemen s de econeixemen del llengua ge. Pe exemple,
ac ualmen alguns jocs de la consola Xbox, de Mic oso , pe me en a l’usua i pa la
di ec amen amb pe sona ges dins del ideojoc.
•In e acci´o en sis emes in eg a s en ehicles o en sales d’es a : es ac a d’una `a ea
inno ado a que ´e una pe spec i a de c eixemen g an en els p `oxims anys. La
possibili a d’in e ac ua nom´es amb la eu amb o dinado s in eg a s en aques s
sis emes cons i ueix una de les peces clau en l’a en¸c d’aques ipus de p oduc es.
3.5 An`alisi d’al e na i es
Exis eixen un ampli ang de possibles solucions o implemen acions pe a esold e el
p oblema del econeixemen de eu au om`a ic. En aques eball, pe `o, olem aconsegui
un sis ema ASR que, a m´es de se p ec´ıs, sigui lexible i es pugui u ili za en un ampli
nomb e de casos d’´us.
Les p incipals al e na i es d’implemen aci´o de sis emes ASR pe a esold e el p oblema
es poden ag upa de la seg¨uen mane a:
16
Al e na i a A an a ges Desa an a ges
Aplicaci´o m`obil que
econeix comandes
•Immedia amen disponible
a l’usua i
•Al a depend`encia de la pla-
a o ma del m`obil
•Minimi za la asca d’im-
plan aci´o del sis ema
•Els esul a s no es pod an
e se i o a de l’`ambi de
l’aplicaci´o
WebApp disponible
online
•Es po e se i des de
qualse ol na egado
•Els esul a s no es pod an
e se i o a de l’`ambi de
•Facili a d’´us pe a l’usua i l’aplicaci´o
Llib e ia pe a in-
clou e en p ojec es de
so wa e
•Flexibili a pe a usa -se en
mol es aplicacions di e en s
•No ´es disponible di ec a-
men a l’usua i, s’ha de c ea
una aplicaci´o que l’usi
•No hi ha depend`encia de
pla a o ma
•S’han de desca ega
g ans quan i a s de dades ne-
cess`a ies pe al sis ema
•No eque eix connexi´o a
in e ne
•T´e una al a depend`encia
de llengua ge de p og amaci´o
Se ei dins d’un se -
ido , al qual pod em
•Flexibili a pe a usa -se en
mol es aplicacions di e en s
•Reque eix connexi´o a in-
e ne
e c ides des de qual-
se ol aplicaci´o
•Poca di icul a en u ili za
les uncionali a s ASR
•No ´es disponible di ec a-
men a l’usua i, s’ha de c ea
•No hi ha depend`encia de
llengua ge de p og amaci´o
una aplicaci´o que l’usi
Donades aques es al e na i es, hem escolli com a objec iu p incipal desen olupa un
se ei dins del se ido Tex Se e , ja que ´es la soluci´o que ens pe me m´es lexibili a a
l’ho a d’u ili za el sis ema en el majo nomb e possible de casos d’´us, a a ´es d’al es
sis emes implemen a s pe desen olupado s que u ili zin aques se ei.
Tanma eix, amb´e olem inclou e la pa del sis ema de econeixemen de eu dins del
p ojec e F eeling, seguin l’al e na i a de llib e ia a inclou e en p ojec es de so wa e.
Aix´ı, el nos e sis ema ind `a una al a lexibili a de dis ibuci´o i implan aci´o, la qual
cosa a a o i ia la se a u ili zaci´o en di e sos `ambi s.
4 De inici´o de l’abas i me odologia
En aques apa a es desc iu `a com s’ha du a e me el eball, aix´ı com amb´e els passos
que s’hi han incl`os, els seus l´ımi s i les possibles des iacions en la eali zaci´o del p ojec e.
17
4.1 Abas del p ojec e
El p esen eball inclou la combinaci´o de di e sos p ocessos pe a aconsegui el esul a
inal olgu .
P ime amen , el desen olupamen del p ojec e es cen a `a en aconsegui la in eg aci´o
del se ei en el Tex Se e . Aques ´e els seus p o ocols de ges i´o d’en ada i so ida de
dades, que s’hau an d’es udia i aplica en el p ojec e.
M´es a d, s’es udia `a a ons l’eina Kaldi i les se es possibili a s, i es de ini an les bases i
les opcions i pa `ame es de con igu aci´o que olem inclou e dins del sis ema ASR, enin
en comp e el emps que hi hem in e i .
Simul `aniamen , es a `a una ece ca de models ac´us ics i de llengua ge adequa s pe al
nos e sis ema de econeixemen de eu, que puguin se ob ingu s `acilmen i a a ´es
d’in e ne , amb llic`encia obe a.
En acaba de cons ui una p ime a e si´o del sis ema a pa i dels dos passos an e io s,
s’ani an modi ican i ajus an les opcions de con igu aci´o i els m`e odes que aconsegueixen
econ`eixe la pa la ins a oba la soluci´o m´es `op ima possible, enin en comp e el emps
disponible i els objec ius que m’he ma ca que ha de eni el p ojec e en inali za -se.
Queda o a de l’abas del p ojec e pode cons ui un p oduc e capa¸c de compe i amb les
millo s implemen acions de sis emes ASR que exis eixen ac ualmen , ja que s´on desen o-
lupades pe emp eses mol impo an s que disposen de mol s m´es ecu sos. Tanma eix,
aques p ojec e pod `a se millo a a pos e io i a a ´es de la comuni a i la p oducci´o
coope a i a de so wa e lliu e.
4.2 Me odologia i igo
Al disposa d’un emps limi a pe al desen olupamen del p ojec e, aques hau `a de
segui una plani icaci´o bas an igo osa. P ime , es di idi `a o el seu p oc´es d’elabo aci´o
en di e ses asques m´es pe i es, que es dis ibui an al lla g del emps.
P ime amen , cald `a e una ece ca pe a en end e el uncionamen de l’eina Kaldi, i
sabe quins p ocessos cal execu a pe a ob eni un endimen `op im del sis ema ASR.
Pe an , sab em quines asques conc e es hau em d’execu a quan h`agim e aques
p oc´es.
Pel que a a la me odologia aplicada en el eball, s’aplica `a la `ecnica de desen olupa-
men `agil sc um [14]. Consis eix en eali za el conjun de asques esmen ades an e io -
men a a ´es d’es o ¸cos cu s, o sp in s, d’una se mana de du aci´o. En inali za aques
pe ´ıode, es a `a una euni´o amb els u o s del eball pe a e una e isi´o dels a en¸cos
p odu¨ı s.
18
D’aques a mane a es ga an eix que el codi s’ajus a a les necessi a s del p ojec e, sob e o
a l’es uc u a del Tex Se e . A m´es, en aques es eunions pod em in e can ia isions
i opinions dels di e sos emes i di icul a s que so geixin en l’elabo aci´o del sis ema ASR.
Pe ga an i que el sis ema compleix amb les condicions desc i es en l’apa a d’objec-
ius, s’es udia an i s’u ili za an les mesu es m´es es eses a l’ho a de mesu a la quali a
d’un sis ema ASR, i s’aplica an al p opi eball. Tamb´e es a `a una an`alisi en inali -
za el p ojec e sob e la quali a del codi, aix´ı com de l’ex ensi´o i con igu abili a dels
pa `ame es inclosos.
Finalmen , pe a comp o a que el codi no ´e e o s, s’elabo a an els es os co esponen s
pe a ga an i que cada uni a del p ojec e unciona co ec amen .
4.3 Riscos i obs acles
Els p incipals iscos que p esen a el desen olupamen del eball s´on de des iacions
empo als, ´es a di , que una i a ixada esul i se mol m´es cos osa en el emps del que
s’ha ia p e is . Conc e amen , les asques que poden p esen a m´es di icul a s d’aques
ipus s´on l’es udi del Kaldi i dels p ocessos i `ecniques que segueix, i l’ajus del sis ema
ASR pe al que sigui su icien men e ica¸c.
Un al e dels obs acles que po so gi ´es en la ce ca de models ac´us ics i de llengua ge
que siguin adequa s pe al nos e sis ema. No podem gene a els nos es p opis models
a pa i de dades p `opies pe qu`e se ia massa cos ´os, pe an depenem de oba bones
on s de dades pe a la implemen aci´o del sis ema.
5 Plani icaci´o empo al
En aques a secci´o, es de alla an les asques conc e es que s’hau an de eali za pe al
desen olupamen del p ojec e, aix´ı com la se a dis ibuci´o en el emps.
Al eni un emps limi a pe a l’elabo aci´o del eball, hau em de segui una plani icaci´o
igo osa pe al d’acaba -lo dins de les da es especi icades i pode assoli els objec ius
del eball. La eali zaci´o del p ojec e a comen¸ca el dia 7 de se emb e de 2016, i la
da a l´ımi pe a la se a en ega ´es el 23 de gene de 2017.
19
5.1 Desc ipci´o de les asques
5.1.1 Pla de p ojec e
´
Es la asca que es em elabo an ac ualmen . Pe a du a e me un p ojec e d’aques es
ca ac e ´ıs iques i amb aques es limi acions, ´es necessa i eali za a l’inici del ma eix
un es udi p e i i una de inici´o de l’abas del p ojec e, aix´ı com amb´e una plani icaci´o
ajus ada de les se es asques.
D’aques a mane a podem de ini de mane a p ecisa el que olem aconsegui amb la
eali zaci´o del eball, i en conseq¨u`encia aques ind `a mol es m´es possibili a s de eni
`exi .
Els apa a s p incipals que con o men el pla del p ojec e s´on els seg¨uen s:
•In oducci´o: o mulaci´o del p oblema i objec ius del eball.
•Con ex uali zaci´o: desc ipci´o de allada dels elemen s i concep es elaciona s
amb l’objec e d’es udi del eball.
•Es a de l’a : b eu in o me sob e la si uaci´o en qu`e es oba el camp de la ece ca
dels sis emes ASR.
•De inici´o de l’abas : desc ipci´o dels l´ımi s del p ojec e, la se a me odologia i els
iscos que compo a.
•Plani icaci´o empo al: de inici´o de les asques necess`a ies pe a du a e me el
eball, i dis ibuci´o d’aques es en el emps.
•Ges i´o econ`omica i sos enibili a : ens assegu a em que el p ojec e sigui sos-
enible i pugui se eali zable a ni ell econ`omic.
5.1.2 Con igu aci´o inicial del sis ema
Pe a pode eballa amb els di e en s elemen s que con o ma an el sis ema, hem hagu
de con igu a el nos e en o n de eball. Vam execu a els seg¨uen s passos desp ´es
d’ins al·la el sis ema ope a iu Linux i el compilado de codi C++ G++:
•Baixada del codi dels exemples de se eis del Tex Se e
•Baixada i ins al·laci´o del so wa e F eeling (que con ´e depend`encies necess`a ies
pe a la compilaci´o dels exemples dona s del Tex Se e )
•Baixada i ins al·laci´o del so wa e Kaldi
•Baixada del codi de Api.Ai
20
5.1.3 Desen olupamen p incipal del p ojec e
Com ja s’ha explici a en l’an e io apa a de me odologia, s’u ili za `a el m`e ode sc um
pe a l’elabo aci´o del eball. En aques apa a de ini em les asques p incipals que es
p e euen necess`a ies pe a la eali zaci´o d’aques . Tanma eix, aques es pod an can ia
si ´es necessa i e un ajus empo al o un al e ipus de asca. Aques es a iacions es
decidi an en la euni´o se manal que a em conjun amen amb els di ec o s del eball,
en les quals discu i em quina ´es la di ecci´o m´es adequada pe al que el p ojec e a anci.
•Implemen aci´o d’un p ime esquele del se ei
A pa i dels exemples p opo ciona s pels di ec o s del eball, s’implemen a `a
una p ime a es uc u a del se ei, capa¸c d’execu a -se en un se ido i de eb e
pe icions en les dues modali a s que o e eix el Tex Se e .
•En end e el uncionamen del codi del so wa e de Api.Ai
Ja hem explica en apa a s an e io s que p end ´ıem aques codi com a pun de
e e `encia a l’ho a de desen olupa la nos a soluci´o. Fa em una ece ca de la
seq¨u`encia que u ili za pe a eali za el p oc´es de econeixemen de eu.
•Ges i´o de les en ades i so ides del sis ema
Com que el nos e se ei ha d’es a in eg a en el se ido Tex Se e , ha de compli
uns equisi s pel que a al ac amen de dades. Aques se ido ´e un p o ocol
espec´ı ic pe a ac a les pe icions, l’en ada i la so ida de dades. Hem d’adap a
el codi de l’esquele ob ingu en el p ime pas pe a qu`e aci se i el ma eix
p o ocol.
D’al a banda, amb´e implemen a em la c`a ega de models de llengua ge i ac´us ics
en el se ei, a pa i d’un model simple p opo ciona pels di ec o s del eball.
Un cop cons u¨ı el sis ema inal, aques p oc´es pe me `a eni al ma eix di e sos
models ca ega s dins del se ei, cosa que augmen a `a la se a e ici`encia.
•Implemen aci´o d’un p ime p o o ip del sis ema
A pa i del esul a dels passos an e io s, ja es a em p epa a s pe a elabo a (a
a ´es d’un p ime disseny, i desp ´es la se a implemen aci´o) una p ime a e si´o
uncional del sis ema, que ind `a mol poques o cap opci´o de pa ame i zaci´o i
unciona `a nom´es en casos conc e s (un sol model ac´us ic, una sola llengua, e c.).
L’objec iu d’aques p o o ip ´es comp o a el uncionamen conjun de o es les
pa s que hem ana eali zan an e io men , aix´ı com anali za si ´es necessa i algun
al e pas que no hem p e is en la plani icaci´o del eball pe al bon uncionamen
del sis ema.
•Ce ca i decisi´o de models i pa `ame es pe a gene ali za el p o o ip
La con igu abili a gene al i l’o e imen d’opcions de pa ame i zaci´o cons i ueixen
un dels objec ius p incipals del p ojec e. Pe a aconsegui -los, cal p ime e una
ece ca de les opcions que ens o e eix Kaldi pe a implemen a -les, i conside a les
que siguin m´es adequades pe al nos e sis ema.
D’al a banda, cal ob eni ecu sos ling¨u´ıs ics ( an ac´us ics com de ocabula i)
21
de di e ses lleng¨ues i si uacions adien s pe al uncionamen mul i-llengua ge del
sis ema ASR amb un bon g au de p ecisi´o. Se’n eali za `a una ece ca i ob enci´o
dels m´es adequa s.
Aques s ecu sos se an u ili za s o segui pe a l’en enamen de models ling¨u´ıs ics,
que se an l’eina b`asica a a ´es de la qual es eali za `a el econeixemen de eu.
En aques a ase amb´e es ce ca an i eali za an els passos necessa is pe a ob eni
models que ens esul in el m´es `op ims possibles pe al nos e sis ema.
Pe a acaba , en aques pun es decidi an quins pa `ame es de con igu aci´o ac-
cep a `a el nos e se ei, ja que amb els passos desc i s en aques apa a es a em
su icien men in o ma s de les opcions de qu`e disposem.
•Implemen aci´o i ajus del sis ema ASR inal
Desp ´es de la implemen aci´o del p o o ip inicial i de la ece ca du a a e me en
l’apa a an e io , es a em p epa a s pe a gene ali za el p o o ip i pode cons-
ui el sis ema ASR inal. Aques pas consis i `a b`asicamen en implemen a en el
p o o ip les modi icacions i ex ensions ob ingudes en l’apa a an e io .
Un cop implemen ada una p ime a e si´o del sis ema inal, s’hi hau an de eali za
ajus amen s pe al d’ob eni un econeixemen de eu el m´es p ec´ıs possible, i que
p odueixi bons esul a s consis en men .
En aques p oc´es d’ajus , s’ani an en les p o es i es s pe inen s, u ili zan les
mesu es de p ecisi´o dels sis emes ASR m´es adequades (de les quals se’n a `a una
ece ca). Desp ´es d’aques p oc´es de es , es o na `a a ajus a el sis ema i a comp o-
a el seu uncionamen , i aques s dos passos s’ani an epe in pe al d’aconsegui
el sis ema m´es e ica¸c possible.
Les depend`encies en e les asques es an desc i es impl´ıci amen en la se a desc ipci´o:
pe a eali za la ges i´o d’en ada i so ida de dades s’ha d’ha e implemen a l’es uc u a
d’un se ei b`asic abans, pe a la implemen aci´o del p o o ip s’ha d’ha e e aques ´ul im
pas esmen a i ha e en `es el codi de Api.Ai, i pe a la implemen aci´o i ajus del sis ema
inal s’ha d’ha e implemen a el p o o ip i amb´e ha e e el p oc´es de ce ca i decisi´o
de models i pa `ame es.
5.1.4 Tasca inal
Pe a inali za el eball, eali za em els ajus os inals necessa is al sis ema, i ens asse-
gu a em que o unciona i que la documen aci´o ´es co ec a. Si ´es aix´ı, es p ocedi `a a la
c`a ega del se ei al se ido Tex Se e .
22
5.2 Taula de emps es imada
Tasca Temps dedica (ho es)
Pla de p ojec e 85
Con igu aci´o inicial 5
Implemen aci´o d’un p ime esquele del se ei 15
En end e el uncionamen del codi de Api.Ai 25
Ges i´o de les en ades i so ides del sis ema 20
Implemen aci´o d’un p ime p o o ip 80
Ce ca i decisi´o de models i pa `ame es 120
Implemen aci´o i ajus del sis ema ASR inal 130
Tasca inal 20
To al 500
Taula 5.1: Temps dedica a cada asca de inida en el pun an e io
5.3 Diag ama de Gan
Figu a 5.1: Diag ama de Gan de les asques del p ojec e
23
5.4 Recu sos u ili za s
5.4.1 Recu sos de ha dwa e
El p ojec e es desen olupa `a ´ın eg amen en un po `a il Leno o Ideapad 100, In el Co e
i5-5200U CPU amb 4 co es a 2.20GHz, 4 GB de mem`o ia RAM. Aques se `a u ili za
en o es les ases del p ojec e.
Tanma eix, pe a la asca inal amb´e es a `a se i el se ido Tex Se e .
5.4.2 Recu sos de so wa e
•Ubun u 16.04 LTS: u ili za en o s els passos del p ojec e.
•Sublime Tex 3: u ili za pe al desen olupamen del p ojec e, en o es les se es
ases.
•Kaldi: u ili za en les asques que eque eixen de uncions de p ocessamen de eu:
implemen aci´o d’un p o o ip del sis ema, ce ca i decisi´o de models i pa `ame es
pe a gene ali za el p o o ip, i implemen aci´o i ajus del sis ema ASR inal.
•L
A
T
EX: u ili za pe a documen a o s els passos del p ojec e.
5.4.3 Recu sos humans
El g up que s’enca ega `a de l’elabo aci´o del p ojec e es a `a o ma pe 3 pe sones. Jo
m’enca ega ´e de o s els passos d’implemen aci´o i eali zaci´o del eball, aix´ı com de
o a la ece ca i es udi p e is desc i s en aques documen .
D’al a banda, els dos di ec o s del p ojec e (Llu´ıs Pad ´o i Jos´e Ad i´an Rod ´ıguez)
ind an la unci´o de supe isa o s els p ocessos, i o e i guia ge i o ien aci´o quan es
obin algunes di icul a s.
5.5 Valo aci´o d’al e na i es
Al lla g del eball poden ana so gin di e ses di icul a s que a an a ia aques a pla-
ni icaci´o empo al inicial.
Un dels p oblemes m´es g ans als quals ens podem en on a a l’ho a de eali za el eball
es oba en els di e sos p ocessos de ece ca (de pa `ame es, de ecu sos ling¨u´ıs ics, e c.).
Exis eix la possibili a de no oba els ecu sos necessa is i que s’adeq¨uin al nos e
p ojec e, degu a que no hagin es a elabo a s.
24
D’al a banda, pod ´ıem eni des iacions empo als en alguns dels p ocessos d’imple-
men aci´o m´es complexos. ´
Es a di , la asca en q¨ues i´o eque eix m´es emps del que
es p e eia en un p incipi. Tamb´e s’hi inclouen les asques de la eali zaci´o dels passos
necessa is pe al p oc´es de econeixemen de eu i les d’ajus amen del sis ema ASR.
En qualse ol dels casos de des iacions de la plani icaci´o, es p io i za `a ob eni una e si´o
del sis ema ASR uncional que pugui se e ica¸c en un cas d’´us conc e pe sob e de la
gene ali zaci´o augmen an els pa `ame es i models u ili za s. Aix´ı, al se un p ojec e
amb na u alesa de codi obe , ja exis i `a en el codi un sis ema p ec´ıs, que se i `a de
e e `encia pe a qu`e pugui se amplia amb al es opcions de con igu aci´o en un u u
pe al es con ibu¨ıdo s.
El p ojec e es eali za `a en un pe ´ıode d’unes 19 se manes. El emps es ima pe a la
se a eali zaci´o ´es de 500 ho es, pe an eque eix ap oximadamen 26 ho es de eina
se manal, cosa que p e eu la eali zaci´o amb `exi del eball en el e mini es able .
6 Ges i´o econ`omica
6.1 Es imaci´o del p essupos
Els ac o s a eni en comp e a l’ho a de calcula l’amo i zaci´o co esponen al nos e
p ojec e de cada p oduc e ´es la ida ´u il d’aquell p oduc e, aix´ı com el ac o que el
nos e eball du a ap oximadamen 5 mesos (del se emb e del 2016 al gene del 2017).
6.1.1 Recu sos de ha dwa e
En la aula 6.1 es mos en les despeses en la o ma habi ual de ecu sos de ha dwa e que
compo a el nos e p ojec e.
P oduc e P eu Vida ´u il Amo i zaci´o
Po `a il Leno o Ideapad 450 e4 anys 46,88 e
To al 450 e46,88 e
Taula 6.1: Despeses elacionades amb els ecu sos de ha dwa e
Aques ecu s es a `a se i en o es les ases del p ojec e.
25
7.4 Taula de la sos enibili a
Al eni en comp e els es aspec es de la sos enibili a d’aques eball que hem comen a
en els pun s an e io s, ob enim la seg¨uen aula 7.1 de la sos enibili a .
Sos enibili a PPP Vida ´u il Riscos
Econ`omica 9 16 -4
Social 7 18 -1
Ambien al 8 18 -2
Rang de sos enibili a 24 52 -7
Taula 7.1: Taula de la sos enibili a de la plani icaci´o del p ojec e
8´
Us de Kaldi
Com ja hem especi ica en la in oducci´o del eball, el nos e sis ema ASR es a `a basa
en Kaldi, un oolki o ien a a la cons ucci´o de sis emes ASR. Es ac a d’una eina mol
mode na, que usa les `ecniques m´es a an¸cades en el camp del econeixemen de eu. A
m´es, es oba en ac iu, i s’hi an p oduin modi icacions eq¨uen s.
Tanma eix, es ac a d’una eina o ien ada a in es igado s en l’`a ea del p ocessamen de
eu [20]. Pe an , no ha es a gens `acil comp end e i aplica els di e sos concep es,
p ocessos i pa `ame es eque i s pe a e ´us del p ojec e. A `es que jo no enia o maci´o
p `e ia en aques camp ja que no es eballa a un ni ell an espec´ı ic al lla g del g au, ce es
ca ac e ´ıs iques del sis ema de i ades de Kaldi han queda o a de l’abas del eball.
En aques s casos, he necessi a assis `encia dels u o s pe a comple a el p ojec e; se
n’explica an els de alls en apa a s pos e io s.
Al se des ina a especialis es en la ma `e ia, Kaldi disposa d’una documen aci´o ex ensa
pe `o d’un al con ingu `ecnic [24], cosa que a complica el p oc´es d’iniciaci´o al seu ´us.
Tanma eix, aques a documen aci´o ha esde ingu mol ´u il com a manual de e e `encia
a l’ho a d’u ili za di ec amen les se es classes dins del meu codi.
8.1 Concep es impo an s
Aques s s´on els concep es m´es impo an s dins de l’eina Kaldi amb els quals ens hem
hagu de amilia i za al lla g del eball:
32
•DNN (Deep Neu al Ne , o “Xa xa Neu onal P o unda”en angl`es): ipus de xa xes
neu onals composades de di e en s capes de nodes. Es ac a de la `ecnica m´es
a an¸cada ac ualmen en el camp del econeixemen de eu, pe `o eque eix de g ans
quan i a s de dades audi i es pe a se en enada. Les u ili za em en el nos e
eball pe a du a e me el p oc´es de descodi icaci´o.
•FST (Fini e S a e T ansduce s): ipus espec´ı ic de FSM (Fini e S a e Machines)
on cada ansici´o implemen a una e ique a d’en ada i de so ida. Kaldi u ili za
WFST (Weigh ed Fini e S a e T ansduce s), on a m´es cada ansici´o amb´e ´e
un pes. Aques a uncionali a la impo a de OpenFST [31], que inclou en el seu
p ojec e com una llib e ia ex e na.
•HMM (Hidden Ma ko Models): ipus de model u ili za en les xa xes neu onals
de Kaldi, que con ´e les dades dels onemes p ocessa s.
•Language Model (Model de llengua ge, en angl`es): ep esen aci´o en o ma de FST
d’un llengua ge. Con ´e in o maci´o sob e la sin axi, sem`an ica, e c., del llengua ge
en q¨ues i´o.
•Decode (descodi icado , en angl`es): una de les pa s m´es impo an s del p ocessa-
men de eu, ja que implemen a l’algo isme cen al de la descodi icaci´o. S’enca -
ega de du a e me aques p oc´es a pa i del model de llengua ge, la DNN i les
dades audi i es d’en ada. En acaba -lo, en podem ex eu e la la ice que con ´e
els esul a s.
•La ice: ep esen aci´o d’al e na i es de ansc ipci´o d’un agmen d’`audio, con-
jun amen amb in o maci´o dels seus cos os. ´
Es el esul a d’un p oc´es de descodi-
icaci´o, a pa i del qual ex au em les se es possibles ansc ipcions.
•Online decoding: ipus de descodi icaci´o “a emps eal”, ´es a di , no s’espe a a
eni el agmen audi iu a descodi ica comple pe a comen¸ca el econeixemen
de la eu, sin´o que es a eali zan des del p ime momen en qu`e l’usua i pa la.
•Adap aci´o iVec o : ca ac e ´ıs iques del senyal audi iu p `opies de la pe sona que
es `a pa lan . S’u ili zen pe a millo a la p ecisi´o del econeixemen , adap an el
p oc´es a les ca ac e ´ıs iques de la eu de la pe sona. Els inco po en alguns models
de xa xes neu onals, o i que des de Kaldi hi ha la olun a de deses ima la se a
u ili zaci´o en p ope es ac uali zacions del p ojec e [22].
8.2 Decisions p eses
Cal des aca que la o ma m´es habi ual d’u ili za aques a eina ´es a a ´es de c ides
als sc ip s esc i s en el llengua ge de p og amaci´o bash que con ´e el seu codi on , amb
les dades i pa `ame es adequa s. Les necessi a s del sis ema que olem implemen a no
pe me en cons ui -lo d’aques a mane a, ja que es `a dissenyada pe a se execu ada des
33
d’un e minal clien . A m´es, el p oc´es pe d ia e ici`encia i s’a egi ia mol a complexi a a
l’es uc u a del p ojec e.
Dins de la ma eixa es uc u a del codi on , Kaldi disposa de mol s exemples d’´us de
l’eina 1, pe `o u ili zan -la de la o ma desc i a en el pa `ag a an e io . Es ac a de
p ocessos comple s d’en enamen de models a pa i de dades audi i es i del llengua ge,
una ase de descodi icaci´o de agmen s audi ius i un p oc´es de es eig del model ob ingu .
Tamb´e s’o e eix en la se a documen aci´o una guia amb p ime s passos pe a inicia -s’hi,
pe `o amb la ma eixa me odologia basada en sc ip s. A causa d’aix`o, no ens hem pogu
se i de cap d’aques s ecu sos com a pun de e e `encia a l’ho a d’implemen a el nos e
sis ema.
Com ja hem esmen a , el nos e sis ema ASR es a `a esc i en C++, u ili zan Kaldi com
una llib e ia din`amica ex e na, i impo an les classes necess`a ies pe a du a e me el
p ocessamen de eu. Aix´ı, enim mol a m´es lexibili a a l’ho a de p og ama que si
´essim se i la me odologia basada en sc ip s.
D’al a banda, dins del p oc´es que el nos e sis ema duu a e me u ili zan Kaldi, una
de les peces m´es impo an s ´es el decode [23]. N’exis eixen di e ses e sions dins de
l’eina, que es poden di e encia segons la se a complexi a , si implemen en uncionali a s
online o si e o nen els seus esul a s en o ma de la ice.
No ´e massa sen i implemen a l’´us de di e en s ipus de decode s dins del sis ema
donan opci´o a l’usua i a escolli quin u ili za , ja que aix`o eque eix un al coneixemen
en aques camp, i el nos e sis ema es `a o ien a a desen olupado s sense expe i`encia
en el econeixemen de eu. A m´es, a egi ia mol a complexi a en el sis ema. Pe an ,
n’escolli em un sol ipus.
Pe a elabo a el nos e p ojec e, hem escolli u ili za el SingleU e anceNne 3Decode ,
un w appe de Kaldi que in e namen usa el La iceFas e OnlineDecode . Les aons pe
les quals l’hem ia s´on que aques decode e o na els esul a s en o ma de la ice, es `a
op imi za pe a una descodi icaci´o e icien i inclou la uncionali a d’online decoding.
La uncionali a d’online decoding no en a dins de l’abas del nos e p ojec e, que ´e
com a objec iu p incipal in eg a el sis ema com a se ei en el Tex Se e , al qual a -
iba an agmen s comple s de dades audi i es. Tanma eix, hem decidi usa aques
decode ja que es po adap a di ec amen al p oc´es que el nos e sis ema po a a e me
i no compo a una p`e dua d’e ici`encia. D’aques a mane a, es pod an implemen a mol
m´es `acilmen uncionali a s online en el codi dins del p ojec e F eeLing, com a ex ensi´o
pos e io al eball. En aques p ojec e s´ı que ´e sen i disposa d’aques ipus de un-
cionali a s, ja que aix´ı els desen olupado s que l’u ili zin pod an c ea aplicacions amb
aques es.
Pe a acaba , hem decidi u ili za models “chain”[22] com el ipus de xa xa neu onal
que supo em en el sis ema. Es ac a d’un ipus de xa xes neu onals DNN-HMM de
l’ac uali zaci´o del model de xa xes neu onals de Kaldi m´es ecen (de inals de 2015),
1Es oben en el di ec o i egs/ del seu eposi o y a Gi Hub[25]
34
que o e eix millo es an en p ecisi´o com en e ici`encia. Tanma eix, aix`o ol di que
no pod em ap o i a mol s dels ecu sos que exis eixen ac ualmen a la xa xa a ni ell
de models de xa xa neu onal p e-cons u¨ı s, ja que es an basa s en implemen acions
de e sions de xa xes neu onals an e io s. A can i, el sis ema es a `a adap a a les
inno acions i millo es que el p ojec e Kaldi i la se a comuni a inguin en els p ope s
anys.
El ipus de “ ea u es”que u ili za em pe a ep esen a els senyals audi ius i pe a qu`e
les xa xes neu onals puguin econ`eixe les pa aules que es oben en el agmen de eu
s´on les MFCC, ja que s´on les m´es usuals en Kaldi. Tamb´e s´on les que an se i la g an
majo ia de models de xa xes neu onals p e-cons u¨ıdes que necessi a em pe al nos e
sis ema.
En esum, aques es s´on les decisions que hem p es pe a u ili za Kaldi:
•Cons ui un sis ema esc i en C++ que inclogui Kaldi com una llib e ia din`amica,
no usan sc ip s.
•U ili za el SingleU e anceNne 3Decode com a decode del nos e sis ema, sense
supo a uncionali a s online pe `o enin en men la se a u u a implemen aci´o
en possibles ex ensions.
•Supo a els models “chain” com a models de xa xes neu onals, amb MFCC com
a “ ea u es”.
8.3 Reque imen s del sis ema ASR basa en Kaldi
El nos e sis ema ASR necessi a ce s ecu sos en o ma de i xe s p e-cons u¨ı s. Aques s
i xe s con enen in o maci´o sob e el llengua ge que desc iuen, necess`a ia a l’ho a de ea-
li za una descodi icaci´o. S’ob enen a a ´es d’un p oc´es d’en enamen cos ´os, a pa i
de ecu sos ling¨u´ıs ics i audi ius. Els i xe s m´es impo an s que s’ob enen u ili zan els
sc ip s de Kaldi s´on els seg¨uen s:
•Model de llengua ge (“HCLG. s ”): con ´e o a la in o maci´o sob e el llengua ge
ela i a a la sem`an ica, sin axi, e c.
•Fi xe DNN-HMM (“ inal.mdl”): con ´e la xa xa neu onal, a m´es del T ansi ion
Model i la opologia HMM.
•Con igu aci´o de la xa xa neu onal (“m cc.con ”): con ´e els pa `ame es de con igu-
aci´o conc e s de la xa xa neu onal en enada.
•Taula de s´ımbols (“wo ds. x ”): con ´e o es les pa aules del llengua ge en q¨ues i´o
elacionades amb un iden i icado , que ´es com ob ind em els esul a s dins de la
la ice.
35
9 Desc ipci´o del sis ema ASR implemen a
En aques apa a de la mem`o ia es desc iu an l’es uc u a del p ojec e i els di e en s
p ocessos que duu a e me. Aix´ı, ga an im que es poden ep odui els esul a s del
p ojec e i queda `a documen a el seu uncionamen .
9.1 Reque imen s del senyal d’en ada
En les p ime es ases del desen olupamen del p ojec e, am decidi accep a senyals
audi ius encapsula s dins de i xe s de ipus WAV (Wa e o m Audio File Fo ma (WA-
VE/WAV)), ja que ´es un dels ipus de i xe s d’`audio m´es es esos en la seu ´us.
Hipo `e icamen , pod ´ıem ha e accep a una g an a ie a de ipus de i xe s audi ius,
pe a gene ali za enca a m´es el sis ema. Aix`o, pe `o, hagu´es compo a un augmen
impo an en la complexi a en la nos a aplicaci´o, ja que hau ´ıem hagu d’implemen a
un ipus de ac amen del i xe di e en pe a cada cas. Con e i el i xe d’en ada
al o ma olgu ampoc hagu´es es a iable, pe qu`e aques a ans o maci´o hau ia e
pe d e una pa de l’e ici`encia empo al del sis ema, ja que no es ac a un p oc´es `apid.
Aix´ı doncs, am decidi cen a -nos en el o ma de i xe WAV, que ´es el o ma en qu`e
eque im a l’usua i que en i¨ı el seu senyal audi iu. D’al a banda, el sis ema accep a
qualse ol alo `alid de bi s pe sample (quan i a de bi s que con ´e cada mos eig del
senyal) que es obin en aques ipus de i xe s, i di e ses eq¨u`encies de mos eig del
senyal; s’explica an els de alls d’aques ´ul im pa `ame e en apa a s seg¨uen s.
9.2 Es uc u a del sis ema
En els objec ius del nos e p ojec e, es plan eja que olem aconsegui un sis ema al amen
con igu able i que pugui eni di e ses o mes de dis ibuci´o (a a ´es del Tex Se e , i
a a ´es del p ojec e F eeLing). En conseq¨u`encia, el codi que implemen em ha de se
lexible, pe a adap a -se a cada cas d’´us i pe a pode -se implan a en sis emes inals
de di e en s mane es. Pe an , un bon disseny de l’es uc u a del sis ema en gene al, i
conc e amen del codi on , ´es essencial.
Fonamen almen , el nos e p ojec e es di ideix en dues pa s es uc u ades amb uncions
di e en s:
•Se ei in eg a dins del se ido Tex Se e : se `a l’enca ega de eb e les
pe icions del se ido , ex eu e i p epa a les dades audi i es i c ida al m`odul de
econeixemen de eu.
36
•M`odul de econeixemen de eu: ep les dades audi i es del se ei i a el
p oc´es de econeixemen de eu. En acaba el eball, aques m`odul s’in eg a `a
dins del p ojec e F eeLing.
En la seg¨uen igu a es p esen a una isi´o simpli icada del p ojec e, on es ep esen en les
classes que l’in eg en i les elacions en e elles1.
Figu a 9.1: Visi´o simpli icada de l’es uc u a del sis ema
9.3 Se ei in eg a dins del se ido Tex Se e
El se ido Tex Se e disposa de mol s se eis ac ius, o s elaciona s amb el p oces-
samen del llengua ge na u al. Pe a implemen a el nos e p opi se ei, ens hem basa
en la ma eixa es uc u a dels se eis ja exis en s, pe a qu`e la se a in eg aci´o dins del
se ido os el m´es senzilla possible.
1El diag ama es `a ep esen a en UML mol simpli ica pe a una millo isi´o gene al del sis ema
37
Tanma eix, hem hagu de e nomb oses modi icacions, ja que al ac a -se d’un sis ema
ASR comple , no es po assimila a cap dels se eis ja implemen a s. Pe exemple,
l’en ada de dades en els se eis ja exis en s ´es una cadena de ex pla, i en el cas del
sis ema ASR aques a ´es un lux de dades bin`a ies, que con enen un i xe de so.
A con inuaci´o es desc iu an les ca ac e ´ıs iques i p ocessos que duu a e me el se ei.
9.3.1 Pa `ame es de con igu aci´o del se ei
Pe a aconsegui un sis ema al amen con igu able, els pa `ame es que accep a el se ei
enen una g an impo `ancia, ja que de e mina an les opcions amb les quals l’usua i po
u ili za -lo. Pe a implemen a l’ex acci´o de pa `ame es, hem u ili za les uncions que
ens o e ien els al es se eis del Tex Se e .
Desp ´es de eali za la ece ca inicial sob e el uncionamen de Kaldi, hem is que no ´e
sen i o e i a l’usua i opcions de con igu aci´o `ecniques sob e el p oc´es de econeixemen
de eu, ja que se’n eque eix un al g au de coneixemen i o maci´o. Pe an , aques es
opcions es a an de inides dins del p opi sis ema, en el m`odul de p ocessamen de eu.
Al lla g de la eali zaci´o del eball, hem ana conside an mol s pa `ame es que pod ien
se in e essan s de ca a a l’usua i. Alguns, pe `o, s’han acaba desca an pe mo ius
di e sos:
•F eq¨u`encia: eq¨u`encia de mos eig del agmen audi iu. Desp ´es de eali za la
nos a ece ca, hem oba la mane a d’accedi a la cap¸cale a del i xe WAV que
ebem en l’en ada de dades (aques p oc´es s’explica `a en apa a s seg¨uen s) pe
a ob eni -la. D’aques a mane a, no demanem a l’usua i que ens la p opo cioni
expl´ıci amen , sin´o que l’ex aiem au om`a icamen .
•Con ian¸ca: dona a l’usua i l’opci´o de e o na la con ian¸ca o no del esul a del
p oc´es de econeixemen . L’hem deses ima en a o de e o na semp e la con-
ian¸ca, ja que el seu c`alcul ´es mol poc cos ´os i no in e e eix nega i amen en el
ac amen que l’usua i po e dels esul a s.
•Mul ipa : econ`eixe el agmen d’`audio a ossos, ´es a di , di idi el senyal
audi iu en agmen s de la ma eixa mida i e el p ocessamen pe sepa a amb
aques s agmen s. L’hem deses ima en a o de p ocessa o el senyal audi iu
sence a la egada, ja que aques a soluci´o e a m´es e icien . A m´es, les dades que
espe em amb aques se ei s´on d’un agmen audi iu acaba , ´es a di , amb o el
con ingu a p ocessa ja incl`os. Tanma eix, aques a opci´o s´ı que s’a egi `a al m`odul
de econeixemen de eu, ja que po se ´u il pe a desen olupado s que ulguin
ap o i a -se’n si inclouen el m`odul a a ´es de F eeLing.
•Dialec e: especi ica el dialec e que s’es `a in en an descodi ica , cosa que com-
po a a con eni els seus models de llengua ge, DNN, e c., espec ius. L’hem
deses ima en obse a du an la ece ca que l’ag egaci´o de dades supe a en p e-
38
cisi´o l’especi ici a del senyal audi iu que es ol econ`eixe [11]. ´
Es a di , que
ob ind ´ıem pi jo s esul a s di idin el p oc´es de econeixemen en e els di e en s
dialec es d’una llengua que si ag upem o s aques s dialec es en una sola llengua i
eali zem el p oc´es de econeixemen a a ´es d’aques ecu s.
Finalmen , els pa `ame es que hem decidi implemen a dins del se ei s´on els seg¨uen s:
•Llengua (obliga o i): llengua en la qual es pa la en el agmen d’`audio. Se’n
eque eix el locale, pe a sabe amb quin model el sis ema ha de eali za la desco-
di icaci´o.
•Domini (opcional): domini de ocabula i emp a en el agmen d’`audio. Es po
u ili za pe a aco a les possibles espos es a un subconjun de pa aules de la
llengua en conc e , i aix´ı p ecisa m´es el econeixemen de la eu. Pe de ec e, es
p en el domini gene al ( o el ocabula i de la llengua).
•NBes (opcional): nomb e de possibles esul a s de la descodi icaci´o que l’usua i
ol que es e o nin. Ha de se un en e posi iu, pe de ec e ´es 1.
•Canal (opcional): canal del agmen d’`audio que el sis ema ha de descodi ica .
Com que Kaldi no po accep a alho a dos luxos de dades supe posades, enca a
que siguin simila s, donem l’opci´o a l’usua i de ia quin dels canals de l’`audio
ol p ocessa . Ha de se un en e no nega iu, majo o igual que 0 pe `o meno al
nomb e de canals que ingui el senyal audi iu. Pe de ec e, es p en el canal 0.
•Ou o ma (opcional): o ma en qu`e l’usua i ol que es e o nin els esul a s.
Po se o b´e “xml”, o b´e “json”. Pe de ec e, es p en el o ma “xml”.
Amb aques a elecci´o de pa `ame es, donem m`axima lexibili a a l’usua i pe a u ili za
al se ei. Amb la majo pa dels pa `ame es opcionals, si el desen olupado ol u ili za
el se ei de la mane a m´es `apida i simple, nom´es cal que especi iqui la llengua en la qual
ol descodi ica la se a pe ici´o. Al ma eix emps, amb´e es po ap o i a de les al es
opcions de con igu aci´o pe a adap a el uncionamen del sis ema al seu cas d’´us.
9.3.2 Ob enci´o de les dades d’en ada i p og ames d’en ada al se ei
Pe al d’ob eni les dades audi i es d’en ada que hem de econ`eixe , s’han c ea dos
p og ames p incipals en el se ei, que co esponen als dos modes d’execuci´o de qu`e
disposa el Tex Se e : el mode in e ac iu i el mode ba ch [17]. Aques s p og ames se an
c ida s pel se ido , que ep i ges iona o es les pe icions que es an als di e en s se eis,
i els hi passa `a la in o maci´o d’aques es pe a e el econeixemen de eu.
El mode in e ac iu es `a dissenya pe a consul es on el emps de espos a ´es impo an :
les pe icions es se eixen immedia amen , execu an -se dins d’un se ei ja ca ega i en
ac iu.
En aques cas, la de inici´o dels pa `ame es espe a s es oba en un a xiu de con igu aci´o
39
on s’hi desc iu el nom de cada pa `ame e, si ´es opcional o no i quin alo pe de ec e
ha de p end e. A l’execu a -se pe p ime a egada el p og ama p incipal, es llegeix
aques i xe , i es ca eguen els pa `ame es espe a s en mem`o ia. To segui s’en a en
un dispa ch loop, en el que s’espe en pe icions de l’usua i. Les pe icions que a iben
al se ei en mode in e ac iu es oben en o ma “xml”, amb o s els pa `ame es de la
pe ici´o dins dels seus co esponen s nodes, i les dades del senyal audi iu es oben en el
node “wa e ile”.
El mode ba ch es `a dissenya pe a p ocessa i xe s g ans, on el emps no ´es un ac o
impo an . S’espe a a que el sis ema ingui els ecu sos necessa is pe a p ocessa la
pe ici´o, momen en qu`e execu a un nou p og ama i hi execu a el p oc´es.
En aques cas, s’espe a que el se ido Tex Se e in oqui el p og ama amb els pa `ame es
com a gumen s en la l´ınia de comandes de la consola. Les dades audi i es a descodi i-
ca a iben a a ´es del s anda d inpu ; es ecullen en o ma bin`a ia i es p ocedeix al
p ocessa de les dades.
En ambd´os casos, els p og ames p incipals comp o en abans de p ocessa les dades si
els pa `ame es NBes , canal i el ou o ma s´on co ec es. Si no ´es aix´ı, es e o na el
missa ge d’e o co esponen a l’usua i.
9.3.3 P ocessa de dades
Al ac a -se d’un sis ema en qu`e en la pe ici´o espe em ob eni l’a xiu de so a pa i de
dades bin`a ies, que a iba an en o ma d’una cadena de ca `ac e s, hem e una ece ca
sob e els p o ocols m´es comuns alho a de ansme e aques ipus de dades a a ´es de
p o ocols com el “xml”. Aques s s´on la ansmissi´o de dades codi icades en base64, i
l’´us de l’e ique a de gua da CDATA.
L’e ique a de gua da CDATA s’u ili za dins dels i xe s en llengua ge “xml”, pe a
indica que la in o maci´o con inguda dins d’aques a e ique a no s’ha de llegi com codi
“xml”, sin´o que s´on dades bin`a ies que no s’han d’in e p e a de cap o ma. S’implemen a
amb la cadena de ca `ac e s “<![CDATA[”al p incipi de la seq¨u`encia bin`a ia, i amb
“]]>”pe al seu ancamen .
La codi icaci´o en base64 es `a dissenyada pe pode ep esen a qualse ol seq¨u`encia
bin`a ia a a ´es de 64 ca `ac e s comuns en la g an majo ia de codi icacions. Aix´ı, es
ga an eix que no es pe d la in o maci´o en q¨ues i´o quan es ansme en les dades pe la
xa xa, a a ´es d’aplicacions o se eis di e sos. En conseq¨u`encia, la mida de la seq¨u`encia
bin`a ia augmen a una mica, ja que es ol ep esen a la ma eixa in o maci´o amb un
conjun de ca `ac e s m´es pe i .
En el nos e sis ema, hem escolli comp o a si les dades audi i es po en associada una
e ique a CDATA, i si ´es aix´ı, desencapsula les dades pe a eni -les disponibles pe al
seu p ocessamen . A m´es, amb´e hem decidi espe a les dades audi i es d’en ada en
40
o ma base64, ja que el sis ema esde ´e m´es obus a possibles e o s en la ansmissi´o
de dades, i segueix els p o ocols es `anda ds d’en iamen de dades bin`a ies.
Pe an , semp e que a ibi una pe ici´o, p ime amen es p epa en les dades amb l’ex-
acci´o de la gua da CDATA i la descodi icaci´o de les dades des de la codi icaci´o base64
a la se a codi icaci´o o iginal. Aques p oc´es el duu a e me an el mode ba ch com el
mode in e ac iu.
9.3.4 Mapping de descodi icado s segons el model u ili za
Un dels eque imen s que imposa Kaldi a l’ho a de p ocessa un senyal audi iu a a ´es
d’un descodi icado ´es que ha de eni la ma eixa eq¨u`encia de mos eig amb la qual
ha es a en enada la xa xa neu onal. Si aques a no coincideix, les “ ea u es”MFCC
que ob ind em a l’ho a de eali za la descodi icaci´o no coincidi an, i es a an o almen
dis o sionades.
Pe a ex eu e la eq¨u`encia del i xe de ipus WAV que ens a iba pe l’en ada de
dades, hem u ili za una de les classes auxilia s de Kaldi, que p ocessa la cap¸cale a
del i xe i n’ex eu la in o maci´o ela i a al ac amen de les dades que con ´e. Aix´ı,
es al iem a l’usua i ha e d’especi ica dades innecess`a ies en la se a pe ici´o.
D’aques a mane a, els models de llengua ge que enim en el nos e sis ema es poden
classi ica pe llengua, eq¨u`encia i domini. Pe a eali za el p oc´es de econeixemen
de eu, ´es imp escindible que hi hagi almenys un model de la llengua especi icada en la
pe ici´o i amb la eq¨u`encia de mos eig del agmen audi iu a econ`eixe . Si no exis eix,
es e o na un missa ge d’e o in o man a l’usua i d’aques a si uaci´o.
Dins del nos e sis ema, olem eni supo pe man eni en uncionamen al ma eix
emps di e sos descodi icado s pe a di e en s lleng¨ues, eq¨u`encies i si uacions comuni-
ca i es. Pe a aconsegui -ho, el se ei con ´e un mapping d’ins `ancies de descodi icado s,
que enen pe iden i icado un hash cons u¨ı a pa i la se a llengua, la se a eq¨u`encia
i el seu domini:
•En eb e una pe ici´o, si el model co esponen a la pe ici´o es `a ca ega en la
mem`o ia del mapping, execu a di ec amen el econeixemen de eu amb aques
model i la pe ici´o.
•Si el model no es `a ca ega en la mem`o ia del mapping, el se ei busca en el
sis ema el model amb llengua, eq¨u`encia i domini co esponen s als de la pe ici´o.
Els models es an decla a s en i xe s de con igu aci´o, de ini s seguin els pa ons
de la classe con ig ile, dins del F eeLing. Aques i xe con ´e o a la in o maci´o
necess`a ia pe a ca ega aquell model en conc e , com s’explica `a en apa a s
pos e io s. Si exis eix el i xe de con igu aci´o de la llengua, eq¨u`encia i domini
olgu , signi ica que exis eix el model en el sis ema, i es ca ega el descodi icado ,
s’iniciali za i s’hi execu a el econeixemen de la eu.
41
En conseq¨u`encia d’aques s dos e s, hem escolli l’al e na i a d’o e i a l’usua i la pos-
sibili a d’ins al·la el m`odul del econeixemen de eu conjun amen amb el F eeLing
quan eali zi el p oc´es d’ins al·laci´o que ja hem explica , especi ican la locali zaci´o del
di ec o i base on es oba Kaldi. Pe de ec e, aques p oc´es no ins al·la `a el nos e m`odul,
ja que aix`o signi ica ia inclou e o s els i xe s de dades en el paque del F eeLing.
Pe a implemen a aques a uncionali a , hem a egi al i xe con igu e.ac (l’a xiu
que desc iu les opcions amb les quals es po con igu a la ins al·laci´o del p og ama, a
l’execu a l’a xiu con igu e) la seg¨uen opci´o:
•–wi h-kaldi-as : aques a opci´o especi ica que es ol ins al·la el m`odul de econei-
xemen de eu dins del conjun del F eeLing. Amb aques a opci´o de con igu aci´o,
s’ha d’especi ica com a a gumen el di ec o i base on es oba.
Pe an , pe a ins al·la el nos e m`odul, l’usua i hau `a d’execu a aques es o d es en
el di ec o i del p ojec e F eeLing:
au o econ −− ins all
./ con i gu e −−wi h−kaldi−as =/pa h/ o / k al di / o l d e
make
sudo make i n s a l l
En u ili za aques es dues opcions de con igu aci´o, el sis ema compila `a i ins al·la `a el co-
di pe anyen al m`odul de econeixemen de eu. Pel que a a les dades del nos e m`odul,
es desca ega an a a ´es d’in e ne , com un a xiu comp imi 3, i es descomp imi an en
el di ec o i de dades del F eeLing, pe a una in eg aci´o comple a.
9.5 Models de llengua ge in eg a s en el sis ema
En aques apa a es desc iu an els models de llengua ge que es an in eg a s en el sis ema
en el momen d’esc iu e aques a mem`o ia. Pe models de llengua ge ens e e im no nom´es
al i xe que desc iu la sin axi i g am`a ica del llengua ge, sin´o a o s els i xe s necessa is
que hem desc i en apa a s an e io s pe a eali za la descodi icaci´o d’un llengua ge,
una eq¨u`encia i un domini conc e s.
P ime amen , cal des aca que en el anscu s del eball am obse a que e a massa
cos ´os en ena els nos es p opis models de econeixemen de eu pe al nos e sis ema
al i com en´ıem p e is en la plani icaci´o del p ojec e, i queda a o a de l’abas del
p ojec e, pe di e ses aons.
Pe comen¸ca , la ase d’en enamen dels models ´es mol cos osa compu acionalmen , ja
que es iguen di e sos dies en comple a -la, depenen del sis ema. Tanma eix, es ac a
3L’a xiu es oba `a a l’ad e¸ca web “nlp.cs.upc.edu/ eeling/ex ada a”, dins de la p`agina web del F e-
eLing
48
d’un incon enien que pod ´ıem ha e supe a , u ili zan o dinado s po en s, dels quals
hagu´essim pogu disposa p obablemen a a ´es de la UPC.
D’al a banda, l’en enamen i cons ucci´o de models de llengua ge eque eix uns conei-
xemen s a an¸ca s en el camp de ece ca del econeixemen de eu au om`a ic. El p oc´es
inclou passos com la p epa aci´o de les dades en conjun s d’en enamen i de es , cons-
ucci´o del i xe FST a pa i dels ecu sos ling¨u´ıs ics conc e s del llengua ge, ex acci´o i
ajus amen de les ca ac e ´ıs iques del senyal audi iu, p ocessos de modela ge ac´us ic, de
opologies HMM i de c eaci´o, ajus amen i op imi zaci´o de xa xes neu onals 4. A m´es,
a l’es a o ien a a in es igado s del camp del econeixemen de eu, Kaldi eballa amb
concep es `ecnics d’una conside able complexi a que necessi en una comp ensi´o i ap e-
nen a ge pe a u ili za l’eina co ec amen . Pe o aix`o, ´es necess`a ia ce a expe i`encia
pe a du a e me el p oc´es.
Pe a acaba , pe a ob eni uns models p ou p ecisos, que s’ap oximin a la p ecisi´o
dels sis emes m´es a an¸ca s en l’es a de l’a , s´on necess`a ies g ans quan i a s de dades
audi i es i les se es ansc ipcions. Aques es dades enen uns eque imen s; pe a ob eni
els millo s esul a s han d’es a g a ades en cen es especiali za s, p eses en un ambien
de e mina d’aco d al conjun de dades que es ol c ea .
A m´es, s´on necess`a ies una g an quan i a d’ho es de g a acions, o a les 1.000 ho es,
pe a elabo a un model d’aques es ca ac e ´ıs iques. Ce can pe la xa xa, no exis eixen
bases de dades audi i es amb llic`encia lliu e amb aques a quan i a de dades (sob e o pe
a llengua ges al e na ius a l’angl`es, del qual ja disposem de models de llengua ge). Pe
exemple, la pla a o ma web Vox o ge 5 ´e di e ses bases de dades de mol s llengua ges,
pe `o no amb les su icien s ho es de g a aci´o pe a ob eni un bon model de llengua ge. Les
pla a o mes de bases de dades audi i es pe a sis emes ASR s´on de llic`encia p opie `a ia,
amb cos oses quo es de memb e, com pe exemple el LDC 6.
En esum, inalmen hem decidi deixa o a de l’abas del p ojec e l’en enamen de
models p opis a causa de limi acions de emps i ecu sos, ja que ens hau ia des ia del
nos e objec iu p incipal. Aques consis eix en aconsegui un sis ema ASR uncional
dins del Tex Se e i amb opcions de con igu aci´o. No hau ´ıem ingu p ou emps en la
eali zaci´o del eball pe a comple a les dues asques.
Tanma eix, amb ce ma ge de emps i amb les eines adequades, es pod ia emp end e
la asca de c eaci´o de models p opis, que pe si ma eix ´es un p ojec e amb una mida i
c`a ega de eball mol conside able. Aix´ı es guanya ia en lexibili a a l’ho a de decidi
quins models de llengua ge s’in eg en dins del nos e sis ema i amb quines condicions.
Finalmen , aques s s´on els models de llengua ge inclosos en el nos e sis ema en el
momen d’esc iu e aques a mem`o ia:
4Resum del p oc´es d’en enamen i descodi icaci´o de Kaldi: “h p://kaldi-
as .o g/doc/ u o ial unning.h ml”
5“h p://www. ox o ge.o g/”
6“h ps://www.ldc.upenn.edu/language- esou ces/da a/ob aining”
49
•Model aspi e:
–Llengua: angl`es
–F eq¨u`encia: 8 kHz
–Domini: gene al
Hem ob ingu aques model p econs u¨ı de la p`agina web p incipal de Kaldi 7. Es ac a
de l’´unic model de ipus chain que es oba en la se a p`agina web, elabo a pels au o s
del ma eix p ojec e, i cons i ueix el model que s’ha ob ingu amb la ecep a d’aspi e que
es oba en el eposi o i base de Kaldi. U ili za les adap acions iVec o s pe al p oc´es
de descodi icaci´o.
•Model de Api.Ai:
–Llengua: angl`es
–F eq¨u`encia: 16 kHz
–Domini: gene al
Hem ob ingu aques model p econs u¨ı a a ´es del p ojec e pe anyen a l’emp esa
Api.Ai que ja hem esmen a en apa a s an e io s. Aques model no u ili za adap acions
iVec o s.8.
•Model de banca de la Caixa:
–Llengua: cas ell`a
–F eq¨u`encia: 16 kHz
–Domini: banca
Hem ob ingu aques model p econs u¨ı g `acies a l’ajuda del codi ec o d’aques eball,
que eballa en un p ojec e de sis emes de econeixemen de eu de la Caixa. Aques
model no u ili za adap acions iVec o s.
7“h p://kaldi-as .o g/models.h ml”
8“h ps://gi hub.com/api-ai/as -se e ”
50
10 A aluaci´o del sis ema
10.1 An`alisi del codi ob ingu i de l’ex ensi´o dels pa `ame es
C eiem que el codi on ob ingu inalmen en el sis ema ´e una g an quali a ; ´es ce -
amen llegible i comp ensible, amb comen a is eq¨uen s i explica ius. Tamb´e ´es cla i
simple, ja que amb una is a gene al als m`e odes de cada classe i la se a es uc u a es
po en end e `acilmen la uncionali a que p opo ciona.
A m´es, c eiem que ´es escalable i ap o i able, ja que la se a es uc u a modula amb
di isi´o de esponsabili a s a a ´es de classes di ideix les asques e ica¸cmen . Aix`o
amb´e acili a `a en g an mesu a el seu man enimen .
En conjun , pensem que hem ob ingu una bona es uc u a i con ingu del codi del
p ojec e, que se `a ´u il an pe als desen olupado s que es ulguin ap o i a del nos e
sis ema pe les se es uncionali a s ASR, com pe aquells que el ulguin millo a o
modi ica .
D’al a banda, com ja hem explica en el seu apa a co esponen , hem aconsegui
implemen a co ec amen en el p ojec e 5 pa `ame es de con igu aci´o, que donen una
lexibili a mol g an a l’usua i a l’ho a de ges iona el compo amen del sis ema en
eb e una pe ici´o. C eiem que aques a o e a ´es m´es que su icien pe a sa is e la majo
pa de possibles pe icions que el nos e sis ema pod `a eb e.
To i aix`o, el sis ema enca a pod ia o e i algunes opcions de con igu aci´o m´es. Algunes
d’aques es es discu i an en l’apa a de “Possibles ex ensions”. S’in en a ia que els
pa `ame es a egi s ossin opcionals, aix´ı, els usua is no ells que olguessin usa el sis ema
en la se a con igu aci´o m´es simple enca a ind ien la possibili a de e -ho, especi ican
nom´es el llengua ge de la descodi icaci´o.
10.2 Rendimen del sis ema
En aques apa a , es desc iu `a la ase de es i a aluaci´o del endimen que s’ha du
a e me un cop hem acaba el nos e sis ema ASR. Cal des aca que els esul a s de
p ecisi´o d’aques s es s depenen gai eb´e en la se a o ali a dels models de llengua ge
que hem pogu ob eni i que hem in eg a dins del sis ema, que hem desc i en l’apa a
an e io .
C eiem que ´es impo an inclou e una ase d’a aluaci´o del endimen del sis ema, pe
a comp o a la se a quali a i pode compa a -la amb la d’al es p ojec es simila s.
Tanma eix, hem escolli no ap o undi an en aques pun com en al es apa a s del
eball, ja que aques endimen pod `a a ia en g an mesu a en un u u , amb l’addici´o
o subs i uci´o de nous models de llengua ge. A m´es, al depend e d’aques s models,
51
que no hem elabo a nosal es, no es a em a aluan els esul a s de la nos a asca,
sin´o mesu an el endimen dels models que es oben in eg a s inicialmen en el nos e
p ojec e.
P ime amen , necessi em de ini els p incipals indicado s que s’u ili zen dins del camp
dels sis emes de econeixemen pe a eali za les a aluacions d’aques ipus de sis emes.
S´on els seg¨uen s [26]:
•WER (Wo ld E o Ra e): ep esen a la m´ınima dis `ancia d’edici´o en pa aules
en e la ansc ipci´o de e e `encia del agmen audi iu i la se a descodi icaci´o
ob inguda del sis ema ASR en q¨ues i´o. Es ac a de la mesu a de quali a m´es
ex esa i u ili zada en les mesu es de quali a dels sis emes ASR. Pe edici´o d’una
pa aula, en enem les ope acions de subs i uci´o, sup essi´o i inse ci´o. Es calcula de
la seg¨uen mane a:
W ER =#de subs i ucions + # d0inse cions + # de sup essions
#de pa aules o als
•SER (Sen ence E o Ra e): ep esen a la p opo ci´o de ases sence es que el
sis ema ASR en q¨ues i´o no ha descodi ica co ec amen . ´
Es una mesu a menys
p ecisa de la quali a dels sis emes que el WER, ja que ´e una al a depend`encia
de la longi ud de les ases que s’u ili zen pe a e l’a aluaci´o. Aix´ı, com m´es
lla ga s´on les ases que s’u ili zin, menys p obabili a hi hau `a de qu`e el sis ema
descodi iqui co ec amen o es les pa aules que s’hi incloguin. Es calcula de la
seg¨uen mane a:
SER =#de ases descodi icades co ec amen
#de ases o als
•RTF (Real Time Fac o ): exp essa la apidesa del p oc´es de descodi icaci´o en
elaci´o al i me amb el qual l’usua i pa la. ´
Es una mesu a que in en a ep esen a
l’e ic`acia empo al del sis ema ASR en q¨ues i´o. Aques a mesu a, pe `o, ´e una al a
depend`encia de la m`aquina en qu`e s’execu a el sis ema. Es calcula de la seg¨uen
mane a:
RT F = emps gas a en la descodi icaci´o
#de pa aules de la ase descodi icada
Pe a eali za els es os, hem ap o i a di e sos ecu sos de ipus audi iu, que e i-
den men depenen de cada llengua ge que olem es eja . Pe la na u alesa del nos e
p ojec e, no podem ob eni una a aluaci´o global del sis ema, ja que la p ecisi´o de les
descodi icacions dep`en gai eb´e en la se a o ali a de cadascun dels models de llengua -
ge in eg a s dins del sis ema. Pe an , nom´es podem ob eni a aluacions segmen ades
pe a cada model; ag upa -les en una alo aci´o global no dona ia una idea `alida de la
quali a del sis ema i no ind ia sen i . Aix´ı doncs, eali za em els es s de o ma a¨ıllada
pe a cada model de llengua ge.
52
Aques es dades audi i es han de compli ce s equisi s: han d’es a p eg a a s d’una
ma eixa mane a pe a se ag egables, sin´o els esul a s se ien mol desiguals. Tamb´e
han d’ana acompanyades pe les se es ansc ipcions, pe a pode -les compa a amb els
esul a s de les descodi icacions.
D’al a banda, l’ambien en el que hem hagu de eali za la ase de es eig no ha es a
l’ideal, ja que l’hem hagu de du a e me en el nos e o dinado pe sonal. Els mo ius
s’explica an en l’apa a de les des iacions de asques empo als. Aques e no a ec a
ni al WER ni al SER, s´ı que a ec a al RTF.
Pe a calcula el WER i el SER, hem u ili za el p og ama auxilia de Kaldi “compu e-
we ”. Pe a ob eni els segons que ha iga el sis ema en e la descodi icaci´o i el nomb e
de pa aules descodi icades en cada ins `ancia del p oc´es, hem u ili za els pa `ame es de
so ida que e o na el nos e sis ema, hem calcula el RTF i hem e una mi jana dels
esul a s.
Finalmen , hem u ili za el llengua ge de sc ip ing bash pe a du a e me el p oc´es de
es . Hem elabo a sc ip s senzills dedica s a cada un dels es s, que i e en sob e o el
conjun de agmen s audi ius que hem selecciona en cada cas i hi execu en el p og ama
as ba ch.
10.3 Models en angl`es
Com a ecu sos pe a la ase de es eig dels models en angl`es, hem u ili za les g a-
acions del p ojec e Lib iSpeech [11]. Es ac a d’un co pus que con ´e dades audi i es
d’audiobooks, que o men pa del p ojec e Lib iVox. Aques s ecu sos es oben dispo-
nibles des de la ecipe que ´e el p ojec e dins del eposi o i base de Kaldi. Compleix
amb els equisi s que hem desc i an e io men , i a m´es ´e l’a an a ge d’es a di idi en
dos pa s: es -clean, que con ´e g a acions ne es, i es -o he , que con ´e ases g a ades
no an cla es, m´es di ´ıcils de descodi ica .
10.3.1 Model de Api.Ai
Subconjun de es # de ases WER (%) SER (%) RTF
es -clean 2620 19,49 85,25 0,08
es -o he 2939 36,03 94,31 0,09
Taula 10.1: Resul a s del es eig del model de Api.Ai
Com podem obse a , ob enim un bon WER (del 19,49 %) en el cas de les g a acions
m´es cla es. Es ac a d’una p ecisi´o p ou al a, que o i no es a a l’al¸cada dels millo s
sis emes ASR de l’es a de l’a , ´es m´es que su icien pe a se ´u il en la majo cas de
53
casos d’´us. Cal des aca la baixada en la p ecisi´o que suposa oba -se amb senyals
audi ius m´es complexos, o en una si uaci´o no an a o able (36,03 %).
En ambd´os casos, pe `o, ens obem amb un ´ındex d’e o de ases sence es mol ele a
(85,25 % i 94,31 %, espec i amen ), que no ens pe me en con ia en una co ec e desco-
di icaci´o de o un agmen d’`audio sence . Tanma eix, hem de eni en comp e que les
ases con ingudes en els ecu sos de Lib iSpeech s´on conside ablemen lla gues, i que el
p oc´es se ia m´es p ec´ıs pe casos d’´us que consis eixin en poques pa aules.
Pe acaba , podem no a que enim un bon RTF, sob e o enin en comp e que el
se ido Tex Se e ´e una po `encia compu acional supe io , i quan hi sigui implan a
pod `a augmen a la e ici`encia empo al del nos e sis ema.
10.3.2 Model Aspi e
Subconjun de es # de ases WER (%) SER (%) RTF
es -clean 2692 34,43 84,95 0,08
es -o he 2939 58,35 95,10 0,15
Taula 10.2: Resul a s del es eig del model Aspi e
En el cas del model Aspi e, els esul a s s´on simila s als del model Api.Ai, o i que
amb una p ecisi´o no ablemen m´es baixa. Obse em ´ındex WERs de 34,43 % i 58,35
%, co esponen s als conjun s de es clean io he , espec i amen . En conseq¨u`encia,
obse em que aques model o e eix un endimen mol in e io a l’an e io .
En can i, l’´ındex SER es man ´e al ma eix ni ell que en l’an e io model, o i eni un
´ındex WER bas an m´es baix. C eiem que aix`o ´es degu a l’´us de les adap acions iVec o ,
a a ´es de les quals s’adap a millo la descodi icaci´o a l’usua i que pa la i econeix amb
m´es acili a ases sence es que amb l’an e io model.
Pel que a a l’´ındex RTF, el conjun clean es `a al ni ell del model an e io , pe `o no em
que amb aques model els senyals audi ius di ´ıcils de descodi ica compo en un ac o
de emps mol majo (gai eb´e el doble) pe a qu`e el sis ema dugui a e me el p oc´es.
10.4 Model en cas ell`a
Pe a eali za els es s en cas ell`a, s’han e se i ecu sos ob ingu s amb l’ajuda del
codi ec o del eball, de la ma eixa mane a que am ob eni el model de llengua ge.
Aques s ecu sos nom´es con enen ocabula i econeixible pel nos e model, ´es a di , del
domini de la banca. D’una al a mane a, hagu´es es a impossible que aques pugu´es
descodi ica ce es ases o pa aules, donan lloc a esul a s esbiaixa s.
54
Model de llengua ge # de ases WER (%) SER (%) RTF
Banca - Cas ell`a 838 22,38 68,85 0,12
Taula 10.3: Resul a s del es eig del model de banca en cas ell`a
Pe a acaba , en aques cas no enim sepa a s els ecu sos audi ius de es eig en conjun s,
sin´o que els enim ag upa s en un sol bloc. Els esul a s mos en un endimen del model
s`olid, amb un bon ´ındex WER (22,38 %), mol a p op del p ime model de Api.Ai.
Seguidamen , ens obem el millo ´ındex SER de o s els nos es models (68,85 %). Aix´ı
doncs, es dona en end e que la sepa aci´o pe dominis po compo a una millo a en el
endimen de les descodi icacions de ases globals. Un es udi m´es de alla sob e aques a
sepa aci´o queda o a de l’abas del eball, pe `o es pod ia explo a com una ex ensi´o de
ca a al u u .
Finalmen , ens obem amb un ´ındex RTF no an bo com en els al es models, pe `o
igualmen compe i iu pe a usa -se en aplicacions on el emps ´es un ac o c ´ı ic (pe
exemple, amb un ´ındex RTF del 0,12 %, una ase mi janamen lla ga de 9 pa aules es
descodi ica amb 1 segon).
11 Des iacions i e isi´o de la plani icaci´o
inicial
11.1 Can is en l’abas del p ojec e
Hi ha hagu dos p incipals can is en l’abas del p ojec e, mo i a s pe imp e is os ja
desc i s al lla g de la mem`o ia del eball.
P ime amen , s’ha deixa o a de l’abas del p ojec e la c eaci´o i en enamen dels nos es
p opis models, ja que s’ha obse a que ´es un p oc´es massa complexe i eque eix una
o maci´o en el camp de la ece ca del econeixemen de eu que no enim, i necessi a ´ıem
mol m´es emps de l’es ima . Tamb´e hem deses ima eali za el p oc´es d’ajus amen
de pa `ame es `ecnics del sis ema ASR, amb un es udi es ad´ıs ic addicional, pe qu`e els
ma eixos pa `ame es inicials uncionen co ec amen en la majo pa de models als quals
donem supo . De e , Kaldi especi ica quins s´on els millo s alo s pe a la descodi icaci´o
u ili zan els models de xa xes neu onals de ipus “chain”[22].
D’al a banda, s’ha incl`os en la eali zaci´o del eball la in eg aci´o del sis ema ASR
dins del p ojec e F eeLing, ja que ens o e eix di e ses a an a ges an de dis ibuci´o,
55
man enimen , e c., com ja hem de alla en apa a s an e io s de la mem`o ia. A m´es, ha
suposa un es o ¸c d’in eg aci´o del p ojec e assumible dins de la eali zaci´o del eball.
11.2 Can is en la me odologia del eball
L’´unic can i que ha pa i la me odologia que s’ha ia p oposa ´es la du aci´o dels sp in s
a a ´es del qual es di idia la eina. Hem adap a la se a du aci´o a la complexi a de la
asca encomanada a aquell es o ¸c, ja que ce es asques e en massa cos oses pe a e -les
en una se mana.
A pa d’aques e , la me odologia amb la qual hem eali za el eball ha segui sen
la que es p oposa a a la plani icaci´o inicial, ja que hem comp o a el seu uncionamen
a l’ho a de comple a les asques assignades a cada se mana. Pe a exempli ica -ho, en
a iba a la i a de seguimen ja s’ha ia comple a o el codi del p ojec e.
Dins d’aques a me odologia, les eunions amb els di ec o s del eball han esde ingu un
pun cen al mol impo an en la eali zaci´o del eball, ja que ambd´os s´on especialis es
en els seus camps (en Llu´ıs, en el se ido Tex se e i el F eeling, i en Jos´e Ad i´an, en
la cons ucci´o de sis emes ASR). Aix´ı, m’han pogu ajuda i o ien a en g an mesu a
quan ha so gi alguna di icul a , o aconsella -me solucions a ce s p oblemes.
11.3 Des iacions en la plani icaci´o empo al
En l´ınies gene als, la eali zaci´o del p ojec e ha segui la plani icaci´o inicial que am
elabo a en el plan ejamen del eball. Tanma eix, s’han hagu de e algunes modi i-
cacions dels e minis de ce es asques, i ees uc u a la pa inal del pla de p ojec e
pe a adequa -la als imp e is os que ens hem oba . Aques s es poden ag upa de la
seg¨uen mane a:
•L’ob enci´o dels ecu sos ling¨u´ıs ics necessa is pe al sis ema ASR (models ac´us ics
i de llengua ge) ha esul a m´es complexa de l’espe a . El p oc´es d’en enamen
de models a pa i de dades ob ingudes a la xa xa ´es un p oc´es mol cos ´os, i que
nom´es es po du a e me amb unes condicions adequades de les dades. Com ja
hem explica en apa a s an e io s, hem decidi deixa aques a asca o a de l’abas
del p ojec e.
•El p oc´es de gene ali zaci´o del p o o ip ha consis i p incipalmen en la ees uc-
u aci´o del codi inicial pe a qu`e con ingui di e sos models de llengua ge, i en
l’accep aci´o dels pa `ame es escolli s. Aques a eina ha compo a m´es eina de
l’espe ada.
•No ha es a necessa i un ajus dels pa `ame es `ecnics del sis ema de econeixemen
de eu pe a cada model i llengua ge, ja que els pa `ame es que s´on usuals pe
56
aques ipus de p ojec es uncionen b´e en o s els descodi icado s i casos d’´us. Kaldi
no o e eix m´es opcions de pa ame i zaci´o pe a ob eni un millo esul a en el
p ocessamen del senyal a banda d’aques s. No ´e massa sen i o e i a l’usua i
modi ica aques s pa `ame es in e ns de Kaldi, degu a qu`e ja se an els `op ims pe
al seu bon uncionamen . A m´es, eque eixen coneixemen s `ecnics d’aques a eina,
que gene almen no ind an els usua is que u ili zin el se ei.
•Ha so gi la necessi a de desen olupa una senzilla demo, que no s’ha ia ingu
en comp e dins de la plani icaci´o inicial.
•La in eg aci´o del sis ema ASR dins del p ojec e F eeling ha es a m´es cos osa de
l’espe a .
Com a conseq¨u`encia d’aques s imp e is os, s’ha ees uc u a la pa inal del eball:
Du an el mes de no emb e, pa al·lelamen a la ece ca de models pe al sis ema, s’ha
e una g an ees uc u aci´o del codi del p o o ip inicial pe a ajus a -lo al sis ema, an
en la in e acci´o amb el se ido Tex Se e com dins del p opi p ocessamen del senyal
audi iu. Tamb´e s’ha ingu en comp e l’encaix que la pa del sis ema que s’enca ega del
econeixemen de eu ind `a en el F eeling. Desp ´es d’aques p oc´es, s’ha desen olupa
la demo esmen ada an e io men , implemen ada en o ma de WebApp.
D’al a banda, s’ha amplia el pe ´ıode d’ob enci´o dels models ling¨u´ıs ics ins al inal del
mes de desemb e, ja que ha cons i u¨ı una asca cos osa. A m´es, el codi esul an de
la ees uc u aci´o que hem explica an e io men ja no ha necessi a m´es ajus os pe a
accep a els models que obem ni pe modi ica -ne els pa `ame es.
Pa al·lelamen a l’ob enci´o dels ecu sos esmen a s, du an el mes de desemb e i g an
pa del mes de gene s’ha in eg a el sis ema dins del F eeling, ajus an el p oc´es de
compilaci´o del sis ema.
Desa o unadamen , en el momen d’esc iu e aques a mem`o ia no s’ha a iba a emps
d’implan a el sis ema en el Tex Se e , ja que s’ha p odu¨ı un e a d d’ap oximadamen
una se mana a l’ho a d’in eg a el nos e sis ema ASR dins del F eeLing. Com que el
Tex Se e eballa ap o i an els m`oduls de NLP del F eeLing, hem aco da amb els
di ec o s del eball acaba aques p oc´es d’in eg aci´o, i anca la implan aci´o del sis ema
en el Tex Se e o segui .
11.3.1 Taula de emps inal
En la aula 11.1 es desc iu an les asques eals que s’han du a e me al lla g de l’elabo-
aci´o del eball, aix´ı com les ho es que ha ocupa la se a eali zaci´o.
57
Bibliog a ia
[1] Kai-Fu Lee. Au oma ic Speech Recogni ion: The De elopmen o he SPHINX Sys-
em. Google-Books-ID: ea68ejhT0KsC. Sp inge Science & Business Media, 31
d’oc . de 1988. isbn: 978-0-89838-296-9.
[2] D.B Paul. Speech Recogni ion Using Hidden Ma ko Models. 1990. u l:h ps:
/ / www . ll . mi . edu / publica ions / jou nal / pd / ol03 _ no1 / 3 . 1 . 3 .
speech ecogni ion.pd (cons. 25-9-2016).
[3] B.H. Juang i L.R Rabine . Hidden Ma ko Models o speech ecogni ion. 1991.
u l:h p : / / www . leonidzhuko . ne / hse / 2012 / s ochmod / pape s / HMMs _
speech_ ecogni ion.pd (cons. 25-9-2016).
[4] Douglas A. Reynolds. Au oma ic Speake Recogni ion: Recen p og ess, Cu en
Aplica ions and Fu u e T ends. 19 de eb. de 2000. u l:h ps://www.ll.mi .
edu/mission/cybe sec/ publica ions / publica ion - iles / ull _ pape s /
aaas00-da -p es.pd (cons. 10-1-2017).
[5] Sadaoki Fu ui. Au oma ic Speech Recogni ion and i s applica ion o in o ma ion
ex ac ion. 2001. u l:h p://www.aclweb.o g/an hology/P99- 1002 (cons.
25-9-2016).
[6] Joseph Keshe i Samy Bengio. Au oma ic Speech and Speake Recogni ion: La ge
Ma gin and Ke nel Me hods. 2009. u l:h p : / / eu . wiley . com / WileyCDA /
WileyTi le/p oduc Cd-0470696834.h ml (cons. 25-9-2016).
[7] Daniel Po ey e al. The Kaldi Speech Recogni ion Toolki . 2011. u l:h p://
publica ions.idiap.ch/downloads/pape s/2012/Po ey_ASRU2011_2011.pd
(cons. 25-9-2016).
[8] Ma in Wol . Channel selec ion and e e be a ion- obus au oma ic speech ecog-
ni ion. 11 de no . de 2013. u l:h p://upcommons.upc.edu/handle/10803/
134806 (cons. 24-9-2016).
[9] Ch is ian Gaida e al. Compa ing open-sou ce speech ecogni ion oolki s. DHBW
S u ga Technical Repo , h p://suende mann. com/su/pd /oasis2014. pd , 2014.
u l:h p://sinaidiagnos ics.com/su/pd /oasis2014.pd (cons. 11-1-2017).
[10] Edua do Liza alde. In o me de igilancia ecnol´ogica - Tendencias en las ecno-
log´ıas m´o iles y sus aplicaciones. 2014. u l:h ps://www.b2ma ch.eu/sys em/
mu cia ic2014/ iles/01_In o me_ endencias_en_las_ ecnolog%5C%C3%5C%
ADas_m%5C%C3%5C%B3 iles.pd ?1409128108 (cons. 22-9-2016).
64
[11] Vassil Panayo o e al. Lib ispeech: an ASR co pus based on public domain audio
books. IEEE, 2015, p`ag. 5206 - 5210. u l:h p://ieeexplo e.ieee.o g/xpls/
abs_all.jsp?a numbe =7178964 (cons. 11-1-2017).
[12] Dong Yu i Li Deng. Au oma ic Speech Recogni ion: A Deep Lea ning App oach.
London: Sp inge London : Imp in : Sp inge , 2015. isbn: 978-1-4471-5779-3.
[13] P o Pisal Ranjee e al. Au oma ic Speech Recogni ion Sys em. 26 de gen. de 2016,
p`ag. 165 - 169. u l:h p://impe ialjou nals.com/index.php/IJIR/a icle/
iew/37 (cons. 25-9-2016).
[14] An Empi ical F amewo k Fo Lea ning (No a Me hodology).u l:h p://sc umme hodology.
com/ (cons. 26-9-2016).
[15] api-ai/as -se e .u l:h ps : / / gi hub . com / api - ai / as - se e (cons.
26-9-2016).
[16] De elopmen wi h CMUSphinx [CMUSphinx Wiki].u l:h p : / / cmusphinx .
sou ce o ge.ne /wiki/de elop (cons. 25-9-2016).
[17] Execu ing Se ices - Tex se e wiki.u l:h p:// ex se e .lsi.upc.edu/
wiki/index.php/Execu ing_Se ices (cons. 4-1-2017).
[18] gnu.o g.u l:h ps://www.gnu.o g/so wa e/au omake/ (cons. 7-1-2017).
[19] HTK Speech Recogni ion Toolki .u l:h p : / / h k . eng . cam . ac . uk/ (cons.
25-9-2016).
[20] Kaldi: Abou he Kaldi p ojec .u l:h p://kaldi-as .o g/doc/abou .h ml
(cons. 2-1-2017).
[21] Kaldi ASR.u l:h p://kaldi-as .o g/index.h ml (cons. 25-9-2016).
[22] Kaldi: ’Chain’ models.u l:h p://kaldi- as .o g/doc/chain.h ml (cons.
3-1-2017).
[23] Kaldi: Decode s used in he Kaldi oolki .u l:h p://kaldi- as .o g/doc/
decode s.h ml (cons. 3-1-2017).
[24] Kaldi: Kaldi.u l:h p://kaldi-as .o g/doc/index.h ml (cons. 2-1-2017).
[25] kaldi-as /kaldi. Gi Hub. u l:h ps://gi hub.com/kaldi- as /kaldi (cons.
3-1-2017).
[26] Rozpozn´a ´an´ı Ondˇ ej Pl´a ek. ?Speech ecogni ion using Kaldi?Mas e Thesis.
u l:h ps://pd s.seman icschola .o g/3aa9/03d9137e 72325 15bc96e7902b79a993299.
pd (cons. 13-1-2017).
[27] Open-Sou ce La ge Vocabula y CSR Engine Julius.u l:h p://julius.osdn.
jp/en_index.php (cons. 25-9-2016).
[28] Llu´ıs Pad ´o i Jo di Tu mo. Tex Se e : Cloud-based Mul ilingual Na u al Language
P ocessing.u l:h p://nlp.lsi.upc.edu/publica ions/pape s/pad o15a.
pd .
65
[29] E Singe . ?Acous ic, Phone ic, and Disc imina i e App oaches o Au oma ic Lan-
guage Iden i ica ion?A: (). u l:h p://llwebp od2.ll.mi .edu/mission/
cybe sec/publica ions/publica ion- iles/ ull_pape s/030901_Singe .
pd (cons. 11-1-2017).
[30] TALP - TALP - UPC Resea ch Cen e .u l:h p://www. alp.upc.edu/ (cons.
26-9-2016).
[31] WebHome ¡ FST ¡ TWiki.u l:h p://www.open s .o g/ wiki/bin/ iew/
FST/WebHome (cons. 3-1-2017).
[32] Welcome F eeLing Home Page.u l:h p://nlp.lsi.upc.edu/ eeling/node/
1(cons. 26-9-2016).
66