Експериментална система за разпознаване на отделни думи в българския език
1. Експериментална система за разпознаване на отделни думи в българския език Дипломант: Лиляна Шаркова Фак. № ... Научен ръководител: Проф. дмн Георги Тотков Пловдивски университет „Паисий Хилендарски“ Факултет по математика и информатика Катедра „Компютърна информатика“
2. Цел на дипломната работа Целта на дипломната работа е да се проучи състоянието на съвременните системи за разпознаване на реч, да се изберат подходящи алгоритми и да се реализира експериментална система за разпознаване на отделни думи в българския език.
3. Решени са следните задачи: Проучване на състоянието на съвременните системи за разпознаване на реч; Избор на подходящи алгоритми ; Реализиране; Проектиране на структура на системата и програмиране; Експерименти; Анализ.
4. Преглед на проблемната област Алгоритми за разпознаване на реч Динамично програмиране – Dynamic Time Warping ; Невронни мрежи; Скрити модели на Марков;
5. Скрит модел на Марков Модел на цели думи О - възможни наблюдения А - преходни вероятности { b i } - наблюдавани вероятности π – начална вероятност
6. Проектиране на системата Постановка на задачата последователност от входни данни; речник от N на брой думи. Задача на системата: Да разбере на коя дума принадлежат входните данни.
7. Проектиране на системата Избор на алгоритми за: извличане на характеристиките анализ на Фурие, прозорец на Хеминг, MFCC моделите на думите СММ обучение на системата Витерби сегментация разпознаване на дума Възходящ алгоритъм
10. Работа с wav -файл 1. Запис на сигнал в wav - файл 2. Отваряне на wav -файл 3. Извличане на същинските данни от wav - файла Библиотека WaveLib
11. Извличане на спектрални характеристики Времето, за което сигнала се обработва се нарича прозорец, а данните в прозореца се наричат фрейм (кадър).
12. Предварителна обработка на сигнала Премахване на тишина; Прозорец на Хеминг: намаляване на грешките от произволното сегментиране на данни; Повишава стабилността; Подобрява резултатите. Бързо преобразувание на Фурие;
14. Обучение на модели Преди да започне да разпознава думи системата трябва да бъде обучена. Алгоритъм на Баум-Уелч; Алгоритъм за сегментация по К - средна стойност (Витерби сегментация) - изисква много по-малко изчисления.
15. Витерби сегментация Първоначален избор на клъстери – Алгоритъм за групиране по К-средна стойност. Пресмятане на π i и a ij , вектор на средната стойност и ковариантна матрица, b j за всяко състояние.
17. Намираме оптималната поредица състояния - Алгоритъм на Витерби Ако има разместване на вектори с характеристики в Стъпка 3, използвайки новата поредица повтаряме действията от Стъпка 2; иначе, спираме. В текстов файл записваме преизчислените началните вероятности, преходните вероятности и средните стойности. Витерби сегментация
18.
19. Разпознаване. Възходящ алгоритъм Предоставяме наблюдения на модела и той ни връща число; Резултатът е показател, за това доколко модела и данните от wav -файла се доближават; За произнесена дума се смята тази с най-добър резултат.
20. Разпознаване. Експерименти и анализ. Експерименти с множество от думи {‘да’, ’не’} : 6 записа на думата ‘ да ’ 11 записа на думата ‘ не ’ Резултат: Успешно са разпознати 9 от произнесените думи. Извод: За да може системата да дава по-точни резултати при разпознаване е необходимо е да бъдат предоставени по-големи множества от данни за обучение.