fonto: http://www.speech.cs.cmu.edu/sphinxman/scriptman1.html#3g
Maŝin-instruo kun kontinuaj modeloj
- Unue, liston de ĉiuj triphones ebla en la vortprovizo estas generita de la vortaro.
Por atingi ĉi kompleta listo de triphones de la vortaro, ĝi estas unua
necesa por skribi la liston de telefonoj en la jena formato:
phone1 0 0 0 0 phone2 0 0 0 0 phone3 0 0 0 0 phone4 0 0 0 0 ...La phonelist uzata por la CI trejnado devas esti uzata por generi tion, kaj la ordo en kiu la telefonoj estas listigitaj devas esti la sama. Tuj poste, portempa vortaro estas generita, kiu havas ĉiujn vortojn krom la kompletigo vortoj (vortoj enmetitaj en + + () + +). La eniro
SIL SIL
devas esti adiciita al ĉi provizora vortaro, kaj la vortaro devas esti ordo en alfabeta ordo.
La programo "quick_count" provizita kun la sfinkso-III pako povas nun
esti uzata por generi la listo de ĉiuj eblaj triphones de la provizora
vortaro. Ĝi portas la sekvaj argumentoj:FLAG | PRISKRIBO |
-Q | deviga flago diri quick_count konsideri tutan vorton paroj dum konstrui triphone listo |
-P | formatan phonelist |
-B | provizora vortaro |
-O | eligo triphone listo |
AA (AA, AA) s 1 AA (AA, AE) b 1 AA (AA, AO) 1 1 AA (AA, AW) e 1La "1" en AA (AA, AO) 1 indikas ke tiu estas vorto-interna triphone. Tio ĉi estas carry super el Sfinkso-II. La eliro de quick_count devas esti nun skribita en la jena formato:
AA AA AA s AA AA AE b AA AA AO i AA AA AW TTTĈi tiu povas esti farita per simple anstataŭante "(", ",", kaj ")" en la eligo de quick_count de spaco kaj presi nur la unuaj kvar kolumnoj. Dum tio, ĉiuj okazoj de "1" devas esti anstataŭita de "i". Al la supro de la rezultanta dosiero la listo de CI telefonoj devas appened en la jena formato
AA --- AE --- AO --- AW --- .. .. AA AA AA s AA AA AE b AA AA AO i AA AA AW TTT
Ekzemple, se la eligo de la quick_count stokas en dosiero nomata "quick_count.out", la jena perl komando generos la telefono lerta en la dezirata formo. perl-Nae '$ F [0] = ~ s / \ (| \) | \, / / g; $ F [0] = ~ s/1/i/g; print $ F [0]; if ($ F [0] = ~ / \ s + $ /) {print "i"}; print "\ n" 'quick_count.out La supra listo de triphones (kaj poŝtelefonoj) estas konvertita al la modelo difino dosiero listigas ĉiujn eblajn triphones de la vortaro. La programo uzita de ĉi tiu estas "mk_model_def" kun jenaj argumentoj nombro de ŝtatoj por HMM
FLAG | PRISKRIBO |
-Moddeffn | modelo difino dosieron kun ĉiuj eblaj triphones (alltriphones_mdef) esti skribita |
-Phonelstfn | Listo de ĉiuj triphones |
-N_state_pm |
FLAG | PRISKRIBO |
-Moddeffn | modelo difino dosieron kun ĉiuj eblaj triphones (alltriphones_mdef) |
-Ts2cbfn | prenas la valoro ". daŭrigo." se vi konstruas kontinua modeloj |
-Ctlfn | kontroli dosieron responda al via trejnado transskriboj |
-Lsnfn | transskribo dosiero por trejnado |
-Dictfn | trejnado vortaro |
-Fdictfn | plenigita vortaro |
-Paramtype | skribi "telefono" cxi tie, sen la duoblaj citiloj |
-Segdir | / Dev / null |
(Param_cnt [argumentoj]> triphone_count_file)> &! LOGJen ekzemplo de la eligo de ĉi tiu programo
+ + --- Rubo 98 + Ridi + --- 29 SIL --- 31694 AA --- 0 AE --- 0 ... AA AA AA s 1 AA AA AE s 0 AA AA AO s 4La fina nombro en ĉiu vico montras la nombron de fojoj ke aparta triphone (aŭ plenigita telefono) estas okazis en la trejnado korpuso. Ne ke se ĉiuj eblaj triphones de CI telefono estas listigitaj en la all_triphones.mdef la CI telefono havos 0 grafoj ĉar ĉiuj okazoj de gxi estus mapita al triphone. Tiu listo de rakontita triphones uzas por Shortlist la triphones kiuj okazis minimuma nombro (sojlo) de fojoj. La antaŭselektita triphones aperas en la sama formato kiel la dosiero el kiu ili estis selektitaj. La antaŭselektita triphone listo havas la saman formaton kiel la triphone listo uzita por generi la all_triphones.mdef. La formatan liston de CI telefonoj devas esti inkluzivita en tiu kiel antauxe. Do, en la pli frua ekzemplo, se sojlo de 4 estis uzataj, ni akirus la antaŭselektita triphone lerta kiel
AA --- AE --- AO --- AW --- .. .. AA AA AO s ..La sojlo estas ĝustigitaj tia ke la tuta nombro de triphones super la sojlo estas malpli ol la maksimuma nombro de triphones ke la sistemo povas trejni (aŭ ke vi volas trejni). Ĝi estas bona por trejni kiel multaj triphones ebla. La maksimuma nombro da triphones povas tamen esti dependa de la disponebla memoro en via maŝino. La loĝistiko rilataj al ĉi estas priskribitaj en la komenco de ĉi manlibro. Notu ke thresholding estas kutime farita tiel redukti la nombron de triphones, por ke la rezultanta modeloj estos sufiĉe malgranda por havi en la komputilo la memoro. Se ĉi tiu ne estas problemo, tiam la sojlo povas agordi al plej malgranda nombro. Se la triphone okazas tro malmultaj fojoj, tamen, (tio estas, se la sojlo estas tro malgranda), tie estos plu sufiĉe da datumoj por trejni la HMM stato distribuoj konvene. Ĉi tio kondukas al malbone taksita KD deĉenigis modeloj, kiu siavice povas tuŝi la decido arboj kiuj devas esti konstruita uzanta tiuj modeloj en la sekva granda paŝo de la trejnado.
Modelo difino dosiero estas nun kreita por inkluzivi nur tiuj antaŭselektita triphones. Ĉi tiu estas la modelo fino difino dosiero estu uzata por la KD deĉenigis trejnado. La reduktita triphone listo estas tiam la modelo difino dosieron per mk_model_def kun jenaj argumentoj: multaj regnoj por HMM
FLAG | PRISKRIBO |
-Moddeffn | modelo difino dosiero por KD deĉenigis trejnado |
-Phonelstfn | Listo de antaŭselektita triphones |
-N_state_pm |
SIL B AE T
kaj specifi ke vi volas konstrui tri ŝtataj HMMs por ĉiu el tiuj telefonoj, kaj se vi havas parolo listigitaj en via transskribo dosiero:
<s> BAT A TAB </ s> por kiu via vortaro kaj fillerdict elementoj estas:
Fillerdict: <s> SIL </ S> SIL
Vortaro: Al AX BAT B AE T TAB T AE Btiam via KD-deĉenigis modelo difino dosiero aspektos tiel ĉi:
# Generated by / mk_model_def on Tue Mar 10 14:57:15 2000 0.3 5 n_base 7 n_tri 48 n_state_map 36 n_tied_state 15 n_tied_ci_state 5 n_tied_tmat # # Kolumnoj difinoj # Bazo lft rt p ATTRIB tmat ... stato id La ... SIL --- plenigita 0 0 1 2 N AE --- n / a 1 3 4 5 N AX --- n / a 2 6 7 8 N B --- n / a 3 9 10 11 N T --- n / a 4 12 13 14 N AE BT en / a 1 15 16 17 N AE TB en / a 1 18 19 20 N AX TT sn / a 2 21 22 23 N B SIL AE bn / a 3 24 25 26 N B AE SIL eo / de 3 27 28 29 N T AE AX eo / al 4 30 31 32 N T AX AE bn / a 4 33 34 35 N La # linioj estas simple komentojn. La resto de la variabloj signifi la sekvajn: n_base: ne. de CI telefonoj (ankaŭ nomata "bazo" telefonoj), 5 tie n_tri: ne. de triphones, 7 en ĉi tiu kazo n_state_map: Tuta ne. de HMM statoj (emisiaj kaj ne-emisiaj) La Sfinkso appends ekstran fina ne-emisiaj stato al cxiu HMM, de ĉi tie dum 5 +7 telefonoj, ĉiu precizigita per la uzanto esti modelita per 3-stato HMM, ĉi tiu numero estos 12phones * 4states = 48 n_tied_state: ne. de ŝtatoj de ĉiuj telefonoj post stato-interŝanĝo estas farita. Ni ne dividas ŝtatoj en tiu etapo. Sekve ĉi tiu nombro estas la sama kiel la nombro de emisiaj ŝtatoj, 12 * 3 = 36 n_tied_ci_state: ne. de ŝtatoj por via CI telefonoj post stato-interŝanĝo estas farita. La CI ŝtatoj ne estas dividitaj, nun aŭ poste. Ĉi tiu nombro estas tial denove la tuta numero de elsendante CI ŝtatoj, 5 * 3 = 15 n_tied_tmat: La tuta nombro de transiro matricoj estas ĉiam la sama kiel la tuteca nombro de CI telefonoj esti modelita. Ĉiuj triphones por donita telefono dividas la saman traira matrico. Ĉi nombro estas tial 5. Kolumnoj difinoj: La jenaj kolumnoj estas difinita: bazo: nomo de ĉiu telefono lft: maldekstra kadro de la telefono (- se neniu) rt: dekstra kunteksto de la telefono (- se neniu) p: pozicio de triphone. Kvar pozicio markiloj estas subtenataj: b = vorto begining triphone kaj = vorto finas triphone mi = vorto interna triphone s = sola vorto triphone ATTRIB: atributo de telefono. En la telefono listo, se la telefono estas "SIL", aŭ se la telefono estas enfermita per "+", kiel en "+ BANG +", tiuj telefonoj estas interpretitaj kiel ne-parolado okazaĵoj. Tiuj estas ankaŭ nomita "plenigita" telefonoj, kaj la atributo "plenigita" estas atribuita al ĉiu tia telefono. La bazo telefonoj kaj la triphones ne havas specialajn atributoj, kaj do estas etikedita kiel "n / a", staranta por "neniu atributo" tmat: la id de la traira matrico asociita kun la telefono ŝtata id La: la IDS de la HMM ŝtatoj ligita kun ajna telefono. Ĉi tiu listo estas eksigita de la "N", kiu staras por ne-emisiaj ŝtato. Neniu id atribuas al ĝi. Tamen, ekzistas, kaj estas listigita.
Nenhum comentário:
Postar um comentário