Автор работы: Пользователь скрыл имя, 25 Ноября 2011 в 00:20, курсовая работа
Предшествующая работа показала, как WER может быть явно минимизирована в N-best алгоритме. Такой подход субоптимален, потому что он ограничивает выбор гипотезы довольно маленьким набором по сравнению с областью поиска устройства распознавания. Метод, основанный на решетках слов, не сталкивается с такой проблемой. Этот метод применим к словесным структурам, или частично упорядоченным сетям гипотез слова.
Введение
Цели и задачи
Общее описание проблемы распознавания речи
Алгоритм метода, основанного на решетках слова
Эксперименты по распознаванию речи с использованием основных методов
Детальный анализ экспериментов
Анализ сетей спутывания
Заключение
Приложение
Оптимизированный N-best алгоритм
Алгоритм выравнивания решетки
Алгоритм получения данных из файлов типа «WAV».
Выводы
Список использованной литературы
На Рисунке 6 изображен график зависимости размера решетки (в виде средней плотности связей) от точности решетки для традиционного, основанного на вероятности, отсечения возможных решений и для отсечения возможных решений, основанного на согласии. Видно, что сокращенные согласием решетки в три - четыре раза меньше на эквивалентных уровнях точности.
Рисунок
6: Эффективность метода отсечения возможных
решений, основанного на согласии в сравнении
со стандартным методом отсечения, основанным
на вероятности для различных значений
точности. Решетка имела среднюю плотность
связей, равную 1350, и среднюю плотность
узлов, равную 370. Средняя плотность узлов/связей
это отношение между общим количеством
узлов/связей в решетке и количеством
слов в транскрипции.
8. Заключение
Был
рассмотрены метод минимизации ошибок
слова, основанный на решетках слов, в
отличие от стандартного MAP подхода, который
минимизирует ошибку предложения. Ядром
метода является процедура кластеризации,
которая идентифицирует взаимно поддерживающие
и конкурирующие гипотезы слова в решетке,
образуя упорядоченность всех слов. Вместе
с апостериорными вероятностями слов
метод позволяет эффективно извлекать
гипотезы с минимальным ожидаемым числом
ошибок. Эксперименты на двух речевых
наборах показали, что этот подход приводит
к существенному сокращению WER и существенному
сжатию решетки.
9. Приложения
A. Оптимизированный N-best алгоритм
Здесь описан алгоритм минимизации ошибок слова по N-best методу на псевдокоде, осуществляющий Уравнение 4. N-best гипотезы обозначены . - апостериорные вероятности, оцененные как описано в Разделе 3.7, и функция ошибки слова.
B. Алгоритм выравнивания решетки
Здесь дается описание алгоритма, который приводит к полному выравниванию решетки.
Как показано в Разделе 3, алгоритм имеет 3 стадии.
Связи обозначаются :
Далее выполняется кластеризация внутри слова, то есть, объединение классов, содержащих одинаковые слова, SIM используется из Раздела 3.2:
Конечный
шаг, кластеризация
между словами, использует тот же самый
алгоритм, как и предыдущий шаг, только
нужно использовать SIM из Раздела 3.3.
С. Алгоритм получения данных (открытия) файлов типа «WAV».
Этот алгоритм реализован на языке программирования C++:
Cstring GettingWAVfileData::getData(
{
CString error;
error="";
ifstream file;
file.open(fileName,
if(!file)
{
error="file not found";
return error;
}
//-------------------
char temp[1];
CString riff;
riff="";
for(int i=1;i<=4;i++)
{
file.read(temp,
riff+=temp[0];
}
if(riff!="RIFF")
{
error="invalid block : 'riff'";
return error;
}
file.ignore(4);
//-------------------
CString wave;
wave="";
for(int i=1;i<=4;i++)
{
file.read(temp,
wave+=temp[0];
}
if(wave!="WAVE")
{
error="invalid block : 'wave'";
return error;
}
//-------------------
CString fmt;
fmt="";
for(int i=1;i<=4;i++)
{
file.read(temp,
fmt+=temp[0];
}
if(fmt!="fmt ")
{
error="invalid block : 'fmt'";
return error;
}
long fmtSize=0;
file.read((char*)&
//-------------------
file.read((char*)&
file.ignore(fmtSize-
//-------------------
CString nextBlock;
nextBlock="";
for(int i=1;i<=4;i++)
{
file.read(temp,
nextBlock+=
}
//-------------------
if(nextBlock=="fact")
{
unsigned long factSize=0;
file.read((
file.ignore(
nextBlock="";
for(int i=1;i<=4;i++)
{
file.
nextBlock
}
}
if(nextBlock!="data")
{
error="invalid block : 'data'";
return error;
}
file.read((char*)&
fileData=new char [dataSize];
file.read(fileData,
file.close();
return error;
//-------------------
}
Описание структуры FormatBlock:
struct FormatBlock
{
short wFormatTag;
unsigned short wChannels;
unsigned long dwSamplesPerSec;
unsigned long awAvgBytesPerSec;
unsigned short wBlockAlign;
unsigned short wBitsPerSample;
};
В
метод GettingWAVfileData передается имя
файла (fileName) для доступа к нему; переменная
waveFormat типа FormatBlock, в которую записывается
основная информация о файле; переменная
dataSize, в которую записывается значение
размера данных файла в байтах; переменная
fileData, в которую записываются данные файла.
10. Выводы
2. Метод, основанный на MAP подходе
3. Метод, основанный на N-best списках
11. Список используемой литературы
Информация о работе Методы коррекции ошибок в современных системах распознавания речи