Векторное квантование в обработке речи - PullRequest
5 голосов
/ 16 февраля 2010

Мне трудно из этой исследовательской работы определить, как именно я могу воспроизвести алгоритм стандартного векторного квантования для определения языка неопознанного речевого ввода на основе обучающего набора данных. Вот некоторая основная информация:

Абстрактная информация Распознавание языка (например, японский, английский, немецкий и т. Д.) С использованием акустических функций является важной, но трудной проблемой для современной речи технология. ... База речевых данных, используемая в этой статье, содержит 20 языков: 16 приговоры, вынесенные дважды 4 мужчинами и 4 женщинами. Продолжительность каждого предложение составляет около 8 секунд. Первый алгоритм основан на стандарте Метод векторного квантования (VQ). Каждый язык характеризуется по собственной кодовой книге VQ, alt text.

Алгоритмы распознавания Первый алгоритм основан на стандартной методике векторного квантования (VQ). Каждый язык, k, характеризуется своей собственной кодовой книгой VQ, alt text. На этапе распознавания входная речь квантуется с помощью alt text и вычисляется накопленное искажение квантования, d_k. Язык, который в качестве минимального искажения признается. При расчете искажения VQ применяются несколько мер спектрального искажения LPC ... в этом случае WLR - взвешенное наименьшее отношение - расстояние: http://tinyurl.com/yc52gcl.

Стандартный алгоритм VQ: Кодовая книга альтернативный текст http://tinyurl.com/y8csx6e, для каждого языка генерируется с использованием предложений обучения. Накопленное расстояние для входного вектора в предложении, alt text, определяется как: альтернативный текст http://tinyurl.com/ybynjc2

Расстояние d может быть любым расстоянием, которое соответствует акустическим характеристикам, и оно должно совпадать с расстоянием, используемым для генерации кодовой книги. Каждый язык характеризуется своей кодовой книгой VQ alt text.

У меня вопрос, как именно я это делаю? У меня есть набор из 50 предложений на английском языке. В MATLAB я могу легко рассчитать WLR для любого заданного сигнала. Но как мне сформулировать кодовую книгу, поскольку я должен использовать WLR для «генерации кодовой книги» для английского языка. Мне также любопытно, как сравнить кодовую книгу VQ размера 16 (который был признан лучшим размером) с данным входным сигналом. Если бы кто-нибудь мог помочь мне раздать эту бумагу, я был бы очень признателен.

Спасибо!

1 Ответ

1 голос
/ 16 февраля 2010

Второй вопрос (сравните кодовую книгу с данным сигналом) более прост: для каждой записи кодовой книги V_k_j вы должны вычислить расстояние d с входным сигналом. Буква «j» с наименьшим расстоянием «d» будет соответствовать наилучшей записи в кодовой книге. В качестве функции расстояния вы можете использовать WLR

Построить кодовую книгу (trainig) немного сложнее. Вы должны разделить ваши предложения на векторы с длиной N (16), а затем использовать некоторый алгоритм кластеризации (например, k-средних) для кластеризации этих векторов. Затем найдите среднее значение в каждом кластере. Это значит и будет запись в кодовой книге. Это первое, что приходит на ум.

Другой алгоритм (я полагаю, он будет лучше) можно найти здесь . Кроме того, два простых алгоритма обучения описаны в Wikipedia

...