Методы коррекции ошибок в современных системах распознавания речи

Автор работы: Пользователь скрыл имя, 25 Ноября 2011 в 00:20, курсовая работа

Краткое описание

Предшествующая работа показала, как WER может быть явно минимизирована в N-best алгоритме. Такой подход субоптимален, потому что он ограничивает выбор гипотезы довольно маленьким набором по сравнению с областью поиска устройства распознавания. Метод, основанный на решетках слов, не сталкивается с такой проблемой. Этот метод применим к словесным структурам, или частично упорядоченным сетям гипотез слова.

Содержание работы

Введение
Цели и задачи
Общее описание проблемы распознавания речи
Алгоритм метода, основанного на решетках слова
Эксперименты по распознаванию речи с использованием основных методов
Детальный анализ экспериментов
Анализ сетей спутывания
Заключение
Приложение
Оптимизированный N-best алгоритм
Алгоритм выравнивания решетки
Алгоритм получения данных из файлов типа «WAV».
Выводы
Список использованной литературы

Содержимое работы - 1 файл

Курсовая работа. Методы коррекции ошибок в соверменных системах распознавания речи.doc

— 514.00 Кб (Скачать файл)

   На  Рисунке 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 fileName, GettingWAVfileData::FormatBlock   &waveFormat, unsigned long &dataSize, char* &fileData)

   {

         CString error;

         error="";

         ifstream file;

         file.open(fileName,ios_base::binary);

         if(!file)

         {

               error="file not found";

               return error;

         } 

         //---------------------------RIFF--------------------

         char temp[1]; 

         CString riff;

         riff="";

         for(int i=1;i<=4;i++)

         {

               file.read(temp,1);

               riff+=temp[0];

         }

         if(riff!="RIFF")

         {

               error="invalid block : 'riff'";

               return error;

         }

         file.ignore(4); 

         //--------------------------WAVE----------------------

         CString wave;

         wave="";

         for(int i=1;i<=4;i++)

         {

               file.read(temp,1);

               wave+=temp[0];

         }

         if(wave!="WAVE")

         {

               error="invalid block : 'wave'";

               return error;

         } 

         //--------------------------fmt ----------------------

         CString fmt;

         fmt="";

         for(int i=1;i<=4;i++)

         {

               file.read(temp,1);

               fmt+=temp[0];

         }

         if(fmt!="fmt ")

         {

               error="invalid block : 'fmt'";

               return error;

         } 

         long fmtSize=0;

         file.read((char*)&fmtSize,4); 

         //-------------------------wavefarmatex----------------

         file.read((char*)&waveFormat,16);

         file.ignore(fmtSize-16); 

         //-------------------------fact------------------------

         CString nextBlock;

         nextBlock="";

         for(int i=1;i<=4;i++)

         {

               file.read(temp,1);

               nextBlock+=temp[0];

         } 

         //-------------------------data-------------------------

         if(nextBlock=="fact")

         {

               unsigned long factSize=0;

               file.read((char*)&factSize,4);

               file.ignore(factSize); 

               nextBlock="";

               for(int i=1;i<=4;i++)

               {

                     file.read(temp,1);

                     nextBlock+=temp[0];

               }

         }

         if(nextBlock!="data")

         {

               error="invalid block : 'data'";

               return error;

         } 

         file.read((char*)&dataSize,4); 

         fileData=new char [dataSize]; 

         file.read(fileData,dataSize); 

         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. Выводы

  • Были рассмотрены основные методы коррекции ошибок для систем распознавания речи: 1. Метод, основанный на решетках слов

                                 2. Метод, основанный на MAP подходе

                                3. Метод, основанный на N-best списках

  • Определили, что наилучшим методом является метод, основанный на решетках слова.
  • Был спроектирован и реализован алгоритм получения данных из файлов типа «WAV».
 
 
 
 
 
 
 
 
 
 

11. Список используемой литературы

  • L. Mangu, E. Brill, A. Stolcke: Finding consensus in speech recgnition: word error minimization and other applications of confusion networks.2000.
  • G. Evermann, P. Woodland: Posterior Probability decoding, Confidence Estimation Using Word Posterior Probabilities. 2000.
  • F. Jelinek: Large Vocabulary Continuous Speech Recognition Summer Research Workshop Technical Reports.1998.
  • L. Mangu, E. Brill: Lattice Conpression in the Consensual Post-Processing Framework.1999.
  • A. Stolcke, Y. Ronig, M. Weintraub: Explicit Word Error Minimization in N-best List Rescoring.1997.
  • F. Wesel, K. Macherey, H. Ney: A comparison of word grapg and N-best list based confidence measures.1999.
  • M. Weintraub, F. Beaufays, Z. Rivlin: Neural-Nerwork Based Measures of Confidence for Word Recognition.1997.
  • J. Godfrey, E. Holliman, J. McDaniel: SWITCHBOARD: Telephone speech corpus for research and development.1992.
  • V. Goel, W. Byrne: Minimum Bayes-Risk Automatic Speech Recognition.2000.

Информация о работе Методы коррекции ошибок в современных системах распознавания речи