Векторное квантование в обработке речи Объяснение
-
20-09-2019 - |
Вопрос
У меня возникли проблемы с определением по эта исследовательская работа точно, как я могу воспроизвести стандартный алгоритм векторного квантования для определения языка неопознанного речевого ввода на основе обучающего набора данных.Вот некоторая основная информация:
Абстрактная информация Распознавание языка (например,Японский, английский, немецкий и т. д.) с использованием акустических характеристик является важной, но сложной проблемой для нынешней речи технология....База речевых данных, используемая в данной статье, содержит 20 языков:16 предложения, произнесенные дважды 4 мужчинами и 4 женщинами.Продолжительность каждого предложения составляет около 8 секунд.Первый алгоритм основан на стандарте Векторное квантование (VQ) метод.Каждый язык характеризуется своей собственной кодовой книгой VQ, .
Алгоритмы распознавания
Первый алгоритм основан на методе стандартного векторного квантования (VQ).На всех языках, k
, характеризуется собственной кодовой книгой VQ, .На этапе распознавания входная речь квантуется с помощью и вычисляется накопленное искажение квантования, d_k.Язык, который распознается с минимальными искажениями.Для вычисления искажения VQ используются несколько мер спектрального искажения LPC applied...in в данном случае WLR - взвешенное наименьшее отношение - расстояние: http://tinyurl.com/yc52gcl.
Стандартный алгоритм VQ: Кодовая книга, альтернативный текст http://tinyurl.com/y8csx6e, для каждого языка генерируется с использованием обучающих предложений.Накопленное расстояние для входного вектора в предложении, , определяется как: альтернативный текст http://tinyurl.com/ybynjc2
Расстояние d
может быть любое расстояние, соответствующее акустическим характеристикам, и оно должно быть таким же, как то, которое используется для генерации кодовой книги.Каждый язык характеризуется своей кодовой книгой VQ, .
Мой вопрос в том, как именно мне это сделать?У меня есть набор из 50 предложений на английском языке.В MATLAB я могу легко вычислить WLR для любого заданного сигнала.Но как мне сформулировать кодовую книгу, поскольку я должен использовать WLR для "генерации кодовой книги" для английского языка?Мне также любопытно, как сравнить кодовую книгу VQ размером 16 (которая была признана лучшим размером) с заданным входным сигналом.Если бы кто-нибудь мог помочь мне переработать этот документ, я был бы вам очень признателен.
Спасибо!
Решение
Второй вопрос (сравните кодовую книгу с заданным сигналом) более прост:для каждой записи в кодовой книге V_k_j вы должны рассчитать расстояние d с помощью входного сигнала.Буква "j" с наименьшим расстоянием "d" соответствует наиболее подходящей записи в кодовой книге.В качестве функции определения расстояния вы можете использовать WLR
Создание кодовой книги (trainig) немного сложнее.Вы должны разделить свои предложения на векторы длиной N (16), а затем использовать некоторый алгоритм кластеризации (например, k-means) для кластеризации этих векторов.Затем найдите среднее значение в каждом кластере.Это означает и будет являться записью в кодовой книге.Это первая вещь, которая приходит на ум.
Можно найти другой алгоритм (я считаю, он будет лучше) здесь.Кроме того, два простых алгоритма обучения описаны в Википедия