Реферат: Приховані марківські процеси

--PAGE_BREAK--5. Розподіл ймовірностей початкового стану <shape id="_x0000_i1051" type="#_x0000_t75" o:ole=""><imagedata src=«70184.files/image050.wmz» o:><img border=«0» width=«57» height=«24» src=«dopb276636.zip» v:shapes="_x0000_i1051">, где, де
<shape id="_x0000_i1052" type="#_x0000_t75" o:ole=""><imagedata src=«70184.files/image052.wmz» o:><img border=«0» width=«103» height=«24» src=«dopb276637.zip» v:shapes="_x0000_i1052">, <shape id="_x0000_i1053" type="#_x0000_t75" o:ole=""><imagedata src=«70184.files/image054.wmz» o:><img border=«0» width=«61» height=«19» src=«dopb276619.zip» v:shapes="_x0000_i1053">, (9)

тобто ймовірність того, Si — це початковий стан моделі.
Сукупність значень N, M, A, B і π — це прихована марківська модель, яка може згенерувати послідовність
<shape id="_x0000_i1054" type="#_x0000_t75" o:ole=""><imagedata src=«70184.files/image055.wmz» o:><img border=«0» width=«95» height=«23» src=«dopb276638.zip» v:shapes="_x0000_i1054"> (10)
(де O t — один з символів алфавіту V, а T — це кількість елементів в послідовності.
ПММ будує спостережувану послідовність по наступному алгоритмі
1.                Вибираємо початковий стан q 1 = S i відповідно до розподілу π
2.                Встановлюємо t = 1.
3.                Вибираємо O t = v k відповідно до розподілу b j ( k ) у стані ( S i ).
4.                Переводимо модель у новий стан q t + 1 = S j відповідно до матриці переходів a i j з урахуванням поточного стану S i.
5.                Встановлюємо час t = t + 1; вертаємося до кроку 3, якщо t < T; інакше — закінчуємо виконання.
Підбиваючи підсумок, можливо помітити, що повний опис ПММ складається із двох параметрів моделі ( N і M ), опису символів спостережуваної послідовності й трьох масивів ймовірностей — A, B, і π. Для зручності ми використаємо наступний запис
<shape id="_x0000_i1055" type="#_x0000_t75" o:ole=""><imagedata src=«70184.files/image057.wmz» o:><img border=«0» width=«84» height=«21» src=«dopb276639.zip» v:shapes="_x0000_i1055"> (11)
для позначення достатнього опису параметрів моделі.

5. Основні результати, які отримані в результаті вирішення задачі
Відповідно до опису схованої марківської моделі, викладеному в попередньому розділі, існує три основних задачі, які повинні бути вирішені для того, щоб модель могла успішно вирішувати поставлені перед нею задачі.
Задача 1
Дано: спостережувана послідовність і модель λ = ( A, B ,π). Необхідно обчислити ймовірність P ( O | λ) — імовірність того, що дана спостережувана послідовність побудована саме для даної моделі.
Задача 2
Дано: спостережувана послідовність і модель λ = ( A, B ,π). Необхідно підібрати послідовність станів системи, що найкраще відповідає спостережуваній послідовності, тобто «пояснює» спостережувану послідовність.
Задача 3
Підібрати параметри моделі λ = ( A, B ,π) таким чином, щоб максимізувати P ( O | λ).
Задача 1 — це задача оцінки моделі, що полягає в обчисленні ймовірності того, що модель відповідає заданій спостережуваній послідовності. До суті цієї задачі можна підійти й з іншої сторони: наскільки обрана ПММ відповідає заданій спостережуваній послідовності. Такий підхід має більшу практичну цінність. Наприклад, якщо в нас коштує питання вибору найкращої моделі з набору вже існуючих, то рішення першої задачі дає нам відповідь на це питання.
Задача 2 — це задача, у якій ми намагаємося зрозуміти, що ж відбувається в прихованій частині моделі, тобто знайти «правильну» послідовність, що проходить модель. Зовсім ясно, що абсолютно точно не можна визначити цю послідовність. Тут можна говорити лише про припущення з відповідним ступенем вірогідності. Проте для наближеного рішення цієї проблеми ми звичайно будемо користуватися деякими оптимальними показниками, критеріями. Далі ми побачимо, що, на жаль, не існує єдиного критерію оцінки для визначення послідовності станів. При рішенні другої задачі необхідно кожний раз ухвалювати рішення щодо того, які показники використати. Дані, отримані при рішенні цієї задачі використаються для вивчення поводження побудованої моделі, знаходження оптимальної послідовності її станів, для статистики й т.п. [6]
Рішення задачі 3 складається в оптимізації моделі таким чином, щоб вона якнайкраще описувала реальну спостережувану послідовність. Спостережувана послідовність, по якій оптимізується ПММ, прийнято називати навчальною послідовністю, оскільки за допомогою її ми «навчаємо» модель. Задача навчання ПММ — це найважливіша задача для більшості проектованих ПММ, оскільки вона полягає в оптимізації параметрів ПММ на основі навчальної спостережуваної послідовності, тобто створюється модель, що щонайкраще описує реальні процеси.
Для кращого розуміння розглянемо все вищесказане на прикладі системи, призначеної для розпізнавання мови. Для кожного слова зі словника W ми спроектуємо ПММ із N станами. Кожне слово зокрема ми представимо як послідовність спектральних векторів. Навчання ми будемо вважати завершеним, коли модель із високою точністю буде відтворювати ту саму послідовність спектральних векторів, що використалася для навчання моделі. У такий спосіб кожна окрема ПММ буде навчатися відтворювати яке-небудь одне слово, але навчати цю модель треба на декількох варіантах проголошення цього слова; тобто наприклад три чоловіки (кожний по-своєму) проговорюють слово «собака», а потім кожне сказане слово конвертується в упорядкований за часом набір спектральних векторів, і модель навчається на основі цих трьох наборів. Для кожного окремого слова проектуються відповідні моделі. Спершу вирішується 3-я задача ПММ: кожна модель настроюється на «проголошення» певного слова зі словника W, відповідно до заданої точності. Для того щоб інтерпретувати кожний стан спроектованих моделей ми вирішуємо 2-ую задачу, а потім виділяємо ті властивості спектральних векторів, які мають найбільша вага для певного стану. Це момент тонкого настроювання моделі. А вже після того, як набір моделей буде спроектований, оптимізований і навчений, варто оцінити модель на предмет її здатності розпізнавати слова в реальному житті. Тут ми вже вирішуємо 1-ую задачу ПММ. Нам дається тестове слово, представлене, зрозуміло, у вигляді спостережуваної послідовності спектральних векторів. Далі ми обчислюємо функцію відповідності цього тестового слова для кожної моделі. Модель, для якої ця функція буде мати найбільше значення, буде вважатися моделлю названого слова.
6. Місце і спосіб застосування отриманих результатів
Для розпізнавання мовлення із великих словників для ізольовано (або дискретно) вимовлених слів на початку 90-х років було розроблено декілька систем з достатньо гарними показниками. Потім увага дослідників перенеслася на розпізнавання злитого мовлення, де використовувалися статистичні залежності в порядку слів, що дозволяло передбачити поточне розпізнаване слово на основі кількох попередніх слів. Розроблені статистичні методи прогнозу дозволили значно зменшити кількість альтернатив при розпізнаванні, що у свою чергу дозволило розробляти системи розпізнавання з сумарним обсягом у десятки тисяч слів, хоча на кожному кроці розпізнавання розглядалося декілька сотень альтернатив.
Проте, існує необхідність побудови систем розпізнавання мови з великою кількістю альтернатив і за умови, що немає яких-небудь обмежень на порядок розпізнаваних слів.
Наприклад, при керуванні комп'ютера голосом неможливо передбачити наступне слово на основі декількох попередніх, оскільки це визначається логікою керування комп'ютера, а не властивостями тексту. З іншого боку існує необхідність значного збільшення обсягу словника для того, щоб охопити всі синоніми однієї і тієї ж команди, оскільки користувачу, звичайно, важко запам'ятати тільки один варіант назви команди.
Другий приклад пов'язаний з диктуванням текстів. Використання таких систем, звичайно, обмежено такими текстами, що аналогічні тим текстам, для яких накопичувалися статистики. Крім іншого, додаткове редагування набраного тексту вимагає наявності всіх слів в активному словнику.
Таким чином, існують додатки, де бажано мати словник максимально великого розміру, щоб у майбутньому охопити всі слова даної мови.
Додаткова інформація для обмеження числа альтернатив може бути одержана безпосередньо з мовного сигналу. Для цього пропонується виконати пробне розпізнавання за допомогою фонетичного стенографа. Одержана послідовність фонем формує потік запитів до бази даних для отримання невеликої кількості слів, які могли б входити в словник розпізнавання, що дозволяє значно скоротити кількість альтернатив для розпізнавання.[3]
Наступні розділи описують новий двопрохідний алгоритм. Спочатку представлена базова система для порівняння із запропонованою системою розпізнавання мови. Потім описані два варіанти алгоритму для ізольованих слів та злитого мовлення. Виконані експерименти показують ефективність запропонованих методів.
Запропонований метод можна застосувати в будь-якій системі розпізнавання мовлення, де представлені фонеми, і можна сформувати процедуру фонетичного стенографа. У даній роботі як базова система використовується інструментарій на основі прихованих Марківських моделей (Hidden Markov Model — HMM)
Попередня обробка мовленнєвого сигналу
Мовний сигнал перетвориться в послідовність векторів ознак з інтервалом аналізу 25 мс і кроком аналізу 10 мс. Спочатку мовний сигнал фільтрується фільтром високих частот з характеристикою P(z) =1-0.97z-1 та застосовується вікно Хемінга. Швидке перетворення Фурьє переводити часовий сигнал у спектральний вигляд. Спектральні коефіцієнти усереднюються з використанням 26 трикутних вікон, розташованими в мел-шкалі. 12 кепстральних коефіцієнтів обчислюються за допомогою зворотного косинусного перетворення.
Логарифм енергії додається як 13-й коефіцієнт. Ці 13 коефіцієнтів розширюються до 39-мірного вектора параметрів шляхом дописування першої та другої різниць від коефіцієнтів сусідніх за часом. Для обліку впливу каналу застосовується віднімання середнього кепстра.
Акустична модель
Акустичні моделі відображають характеристики основних одиниць розпізнавання. Для акустичних моделей використовуються приховані Марківські моделі з 64 сумішами Гауссівських функцій щільності імовірності. 47 російських контекстно-незалежних фонем моделюються трьома станами Марківського ланцюга з пропусками. Словник транскрипцій створюється автоматично з орфографічного словника з використанням множини контекстно-залежних правил.[3]
Показники базової системи
Акустичні моделі навчалися на вибірці з 12 тис. звукових записів із словника в 2037 слів, вимовлених одним диктором. Розпізнавання проводилося на комп'ютері P-IV 2.4 ГГц.
Для перевірки надійності розпізнавання мови було накопичено 1000 окремо вимовлених слів тим же диктором. Послівна надійність розпізнавання і середній час розпізнавання однієї секунди мови для різних розмірів словника приведені в таблиці 1. Оскільки час розпізнавання лінійно залежить від розміру словника, то для словника в 1987 тис. слів його можна оцінити приблизно в 2300 секунд.

Таблиця 1: Результати розпізнавання окремо вимовлених слів базовою системою
Об'єм словника, тис.
1
15
95
Надійність, %
99.9
97.9
94.7
Час, сек.
1
16
115
Для перевірки надійності розпізнавання злитого мовлення було додатково накопичено 1000 фраз з числами від 0 до 999. Послівна надійність розпізнавання і середній час розпізнавання однієї секунди мови для різних розмірів словника приведені в таблиці 2.
Таблиця 2: Результати розпізнавання злитого мовлення базовою системою
Об'єм словника, тис.
1
15
95
Надійність, %
98.0
96.5
92.6
Час, сек.
2.1
36
205

7. Програмна реалізація завдання, виконаного у курсовій роботі
7.1 Алгоритм ELVIRS для окремо вимовлених слів
Архітектура
Архітектура системи розпізнавання ELVIRS (Extra Large Vocabulary Speech recognition based on the Information Retrieval) показана на мал. 4. Такі блоки з базової системи як обчислення ознак і акустичних моделей використовуються перед першим проходом алгоритму.
<shape id="_x0000_i1056" type="#_x0000_t75" o:allowincell=«f»><imagedata src=«70184.files/image059.png» o:><img border=«0» width=«509» height=«229» src=«dopb276640.zip» hspace=«672» v:shapes="_x0000_i1056">
Також на другому проході використовується звичайне порівняння образів в умовах обмеженого словника
Зміни торкаються введення першого проходу алгоритму, де фонетичний стенограф використовується для отримання послідовності фонем. Потім процедура вибірки інформації створює обмежений словник (підсловник) для другого проходу алгоритму.
Фонетичний стенограф
Алгоритм фонетичного стенографа[2] створює фонетичну послідовність для мовного сигналу незалежно від словника. Для цього будується деякий автомат породження фонем, який може синтезувати всі можливі моделі мовних сигналів для послідовності фонем. Потім використовується пофонемне розпізнавання для невідомого мовного сигналу.
Використовуються ті ж контекстно-незалежні моделі фонем, що і в базовій системі розпізнавання.
Процедура отримання підсловника з бази даних
Заздалегідь в процесі навчання із словника транскрипцій створюється індекс від трійок фонем до транскрипцій. Ключем індексу є трійка фонем. Таким чином, таблиця індексу складається з M3 входжень, де M є число фонем в системі. Кожне входження в таблицю містить список транскрипцій, в які входить трійка фонем ключа входження.
Процес отримання підсловника ілюструється. Вихід фонетичного стенографа ділиться на трійки фонем із зрушенням на одну фонему. Трійка фонем стає запитом до бази даних. Зараз використовується простий запит, коли він в точності співпадає з трійкою фонем. В майбутньому пропонується використовувати відстань Levensteine для врахування вставок, видалень та замін в послідовності фонем. Таким чином, послідовність фонем продукує потік запитів до бази даних.
Відповідь на один запит складається із списку транскрипцій, в які дана трійка фонем входить. Цей список копіюється в підсловник для другого проходу алгоритму. Наступний запит з потоку додає нову порцію транскрипцій, при цьому підраховується кількість повторень для того, щоб можна було обчислити ранг слова в підсловнику.
Всі транскрипції в одержаному підсловнику упорядковуються згідно рангу слова (лічильнику повторень). Перші N транскрипцій заносяться в остаточний підсловник для другого проходу алгоритму. Таким чином, підсловник для розпізнавання містить транскрипції з найвищими рангами і число транскрипцій не перевищує фіксованого числа N.

Алгоритм ELVIRS
Алгоритм ELVIRS складається з двох частин. Підготовчий етап:
•        Підготувати словник для розпізнавання.
•        Вибрати множину фонем і створити транскрипції слів із словника за допомогою правил.
•        Створити індекс бази даних від трійок фонем до транскрипцій.
•        Навчити акустичні моделі по накопичених мовних сигналах.
Етап розпізнавання:
•        Застосувати фонетичний стенограф до вхідного сигналу для отримання послідовності фонем.
•        Поділити послідовність фонем на трійки фонем із зрушенням в одну фонему.
•        Створити запити до БД з трійок фонем
•        Одержати списки транскрипцій за допомогою запитів до індексу бази даних.
•        Упорядкувати транскрипції до їх рангу.
•        Вибрати перші N транскрипцій з найвищими рангами як підсловник для розпізнавання.
•        Розпізнати вхідний мовний сигнал в умовах обмеженого підсловника.[5]
Інформаційна оцінка імовірності правильного формування підсловника
Відповідь розпізнавання фонетичного стенографа може розглядатися як правильна послідовність фонем, пропущена через канал з шумом. Позначимо у відповіді фонетичного стенографа правильну фонему як 1, а зіпсовану шумом як 0. Нехай імовірність появи 1 в двійковому наборі дорівнює u. Імовірність P знайти в двійковому наборі довжини n підряд k одиниць і більше можна обчислити за допомогою наступного рекурентного виразу:
<shape id="_x0000_i1057" type="#_x0000_t75" o:ole=""><imagedata src=«70184.files/image061.wmz» o:><img border=«0» width=«265» height=«77» src=«dopb276641.zip» v:shapes="_x0000_i1057"> (12)
В таблиці показана імовірність P знайти в двійкових наборах підряд три і більше 1 при деяких довжинах n та імовірності u. Середня довжина транскрипцій дорівнює приблизно 8 і імовірність правильного знаходження фонеми у відомих реалізацій приблизно дорівнює 85%. При таких значеннях імовірність знайти правильне слово в підсловнику дорівнює 0.953.
Таблиця 3: Імовірність знайти підряд три і більше 1 в двійковому наборі довжини n
                              
0.75
0.8
0.85
0.9
6
0.738
0.819
0.890
0.948
7
0.799
0.869
0.926
0.967
8
0.849
0.908
0.953
0.982
9
0.887
0.937
0.971
0.991
10
0.915
0.956
0.981
0.995
    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по информатике