Vardų garsyno atpažinimo su Kaldi ir TensorFlow paketais sistemos sukūrimas ir tyrimas

Autor: Norkus, Gediminas
Přispěvatelé: Ratkevičius, Kastytis
Jazyk: litevština
Rok vydání: 2020
Předmět:
Popis: Darbo tikslas - ištirti Kaldi ir TensorFlow paketų pritaikymo ir funkcijų galimybes automatinio kalbos atpažinimo sistemose. Tyrimams buvo pasirinktas lietuviškų vardų garso įrašų rinkinys VARDAI_18_3 – 21 diktoriaus balso įrašai su 22 lietuviškais vardais ir 4 daiktavardžiais, kiekvieno diktoriaus ištartais po 20 kartų. Bendras garso įrašų skaičius 10920. 18 diktorių įrašai naudojami apmokymui, o likusių 3 diktorių – testavimui. Vėliau atliktas kryžminis garsyno patikrinimas su užtriukšmintais balso įrašais, (signalo/triukšmo) lygis 5 dB. Baigiamąjame darbe palyginami to paties vardų garsyno rezultatai gauti su Kaldi ir TensorFlow programiniais paketais. Nagrinėjami Kaldi paketo atpažinimo metodai – monofoninis, trifoninis, LDA+MLLT, SAT, SGMM2, TDNN-pnorm, TDNN-tanh ir ieškoma, kuris metodas turi mažiausią žodžių atpažinimo paklaidą. Pasiruošimas tyrimams prasideda nuo aprašomųjų Kaldi garsyno failų: spk2gender.txt, utt2spk.txt, text.txt, wav.scp, corpus.txt, kurie aprašo diktoriaus lytį, įrašų sąsajas su diktoriais, su tekstine transkripcija, realiu garso įrašu. Taip pat aprašomi užduoties failai: cmd.sh, path.sh ir run.sh, kuris yra pagrindinis programos paleidimo failas. TensorFlow paketui paruošiami 6 programiniai failai: generate_test_vrd.py, generate_train_eval_new.py, deep_speech.py, deep_speech_model.py, decoder.py, get_predictions.py. Šie failai skirti duomenų paruošimui, kalbos modelio sudarymui, apmokymui, dekodavimui ir rezultatų gavimui. Atlikus tyrimus su vardų garsynu ir Kaldi paketu, pastebėta, kad vardų atpažinimo paklaida tiriant neužtriukšmintus balso įrašus yra labai panaši, atsižvelgiant į skirtingus tyrimo metodus. To pasekoje, vardų garsyno įrašai užtriukšminti 5 dB lygio baltu triukšmu. Geriausias tyrimų rezultatas pasiektas TDNN-tanh metodu, atpažinimo tikslumas siekia 98,53 %. Tyrimai su Tensorflow paketu remiasi DeepSpeech2 modelio algoritmu ir neuroninių tinklų atpažinimo metodu. Geriausias atpažinimo tikslumas - 87,24 %. Darbo pabaigoje palyginami Kaldi ir TensorFlow programinių paketų atpažinimo rezultatai.
The aim of this work is to investigate the possibilities of application and functions of Kaldi and TensorFlow packages in automatic speech recognition systems. The collection of audio recordings of Lithuanian names VARDAI_18_3 was selected for the research - 21 voice recordings of the narrator with 22 Lithuanian names and 4 nouns, uttered by each narrator 20 times. The total number of audio recordings is 10920. The recordings of 18 narrators are used for training and the remaining 3 narrators for testing. This was followed by a cross-check of the sound with voice recordings, (signal / noise) level 5 dB. The final work compares the results of speech recognition of the same names obtained with the Kaldi and TensorFlow software packages. Kaldi package recognition methods are analyzed - monophone, triphonone, LDA + MLLT, SAT, SGMM2, TDNN-pnorm, TDNN-tanh and it is researched which method has the lowest word recognition error. Preparation for the research begins with describing Kaldi descriptive sound files: spk2gender.txt, utt2spk.txt, text.txt, wav.scp, corpus.txt, who describe the gender of the narrator, the interfaces of the recordings with the narrators, with textual transcription and real audio recording. The task files are also described: cmd.sh, path.sh, and run.sh, which is the main program startup file. 6 software files are prepared for the TensorFlow package: generate_test_vrd.py, generate_train_eval_new.py, deep_speech.py, deep_speech_model.py, decoder.py, get_predictions.py. These files are used for data preparation, language modeling, training, decoding, and getting recognition results. Studies with the name recordings and the Kaldi package have shown that the error of name recognition without any adittional noise is very similar given the different research methods. As a result, the sound recordings of the names were injected 5 dB of white noise. The best test result was obtained by TDNN-tanh method, the recognition accuracy is 98.53%. The studies with the Tensorflow package are based on the DeepSpeech2 model algorithm and the neural network recognition method. The best recognition accuracy is 87,24 %. At the end of the work, recognition results of Kaldi and TensorFlow are compared.
Databáze: OpenAIRE