
- •Н аціональний технічний університет України «Київський політехнічний інститут»
- •Завдання на дипломний проект (роботу) студенту
- •Р еферат
- •Перелік прийнятих скорочень
- •Постановка задачі
- •Розділ 1 аналіз шляхів налагодження інтерфейсу користувача з програмними додатками
- •1.1 Існуючі технології інтерфейсів, критерії та оцінка їх ефективності
- •1.2 Голосовий інтерфейс та його практичне застосування
- •1.3 Системи розпізнавання мови
- •1.4 Огляд продуктів, які використовують технології голосового інтерфейсу
- •1.5 Реалізація голосового інтерфейсу в AutoCad
- •Розділ 2 методика побудови та оцінювання ефективності голосового інтерфейсу
- •2.1 Попередній аналіз сигналу
- •2.2 Приховані марківські моделі
- •2.3 Алгоритм Вітербі
- •2.3 Методика goms
- •Розділ 3 розробка програм з голосовим інтерфейсом
- •3.1 Вибір інструментальної платформи
- •3.2 Вимоги до програм та інструкція користувача
- •3.3 Опис розроблених програм з голосовим інтерфейсом
- •Розділ 4 експериментальні дослідження ефективності голосового інтерфейсу у програмах
- •4.1 Програма «Голосовий калькулятор – 1»
- •4.2 Програма «Голосовий калькулятор-2»
- •4.3 Програма «Голосовий блокнот»
- •4.4 Програма «Голосовий знімок екрану»
- •Розділ 5 охорона праці
- •5.1 Загальні положення
- •5.2 Гігієна праці і санітарія
- •Висновки і перспективи подальших досліджень
- •Перелік посилань
2.3 Алгоритм Вітербі
Алгоритм Вітербі — алгоритм пошуку найбільш відповідного списку станів (званого шляхом Вітербі), який в контексті ланцюгів Маркова отримує найбільш ймовірну послідовність подій, що відбулися.
Він є алгоритмом динамічного програмування. Алгоритм використовується в CDMA і GSM цифрового зв'язку, в модемах і космічних комунікаціях. Він знайшов застосування в розпізнаванні мови та письма, комп'ютерній лінгвістиці та біоінформатиці, а також в алгоритмі згорткового декодування Вітербі.
Алгоритм робить кілька припущень:
спостережувані і приховані події повинні бути послідовністю. Послідовність найчастіше впорядкована за часом;
дві послідовності повинні бути вирівняні: кожна спостережувана подія має відповідати рівно одній прихованій події;
обчислення найбільш вірогідної прихованої послідовності до моменту t повинно залежати тільки від спостережуваної події в момент часу t, і найбільш вірогідної послідовності до моменту t - 1.
Є набір спостережуваних величин (власне, звук) та ймовірнісна модель, які співвідносяться прихованому стану (фонеми) і спостережуваним величинам. Алгоритм Вітербі дозволяє відновити найбільш ймовірну послідовність прихованих станів.
Для реалізації алгоритму Вітербі необхідно вибрати послідовність станів Q = {q1, q2, ... qτ}, яка з найбільшою ймовірністю породжує зазначену послідовність.
Вводяться змінні:
(2.17)
δt (i) = max P (qt = Si | q1q2 ... qt-1, o1o2 ... ot, λ),
тобто максимальну ймовірність того, що при заданних спостереженнях до моменту t послідовність станів завершиться в момент часу t в стані Si, а також введемо змінну ψt (i) для зберігання аргументів, що максимізує δt (i).
Отже, алгоритм Вітербі:
1 крок. Для всіх i від 1 до N:
(2.18)
δ1(i)=πibi(o1)
ψ1(i)=0
2 крок. Для всіх j від 1 до N і t від 2 до T:
(2.19)
(2.20)
δt(j)= |
max |
|δt-1(i)aij|bj(ot) |
|
i=1..N |
|
ψt(j)= |
arg max |
|δt-1(i)aij| |
|
i=1..N |
|
3
(2.21)
(2.22)
крок. Отримуємо найбільшу ймовірність спостереження послідовності o1o2 ... oT, яка досягається при проходженні якоїсь оптимальної послідовності станів Q* = {q*1, q*2, ... q*T}, для якої на цей момент відомо тільки останній стан:
P*= |
max |
|δT(i)| |
|
i=1..N |
|
q*T,= |
arg max |
|δT(i)| |
|
i=1..N |
|
4 крок. Відновлюємо оптимальну послідовність станів (зворотній прохід). Для всіх t від T-1 до 1 ( крок =-1):
q
(2.23)
*t = ψt+1(q*t+1)Алгоритм Вітербі досить простий у реалізації (використовується динамічне програмування) і працює за час, пропорційний добутку кількості станів ПMM на число фреймів. Однак не завжди нам досить знати найвірогідніший шлях; наприклад, при тренуванні акустичної моделі потрібна оцінка ймовірності кожного стану на кожному фреймі. Для цього використовується алгоритм Forward-Backward.
Однак акустична модель - це всього лише одна зі складових системи. Що робити, якщо словник розпізнавання складається не з двох слів, як в розглянутому вище прикладі, а з сотень тисяч або навіть мільйонів? Багато хто з них будуть дуже схожі за вимовою або навіть збігатися. Разом з тим, при наявності контексту роль акустики падає: невиразно вимовлені, зашумлені або неоднозначні слова можна відновити «за змістом». Для обліку контексту знову-таки використовуються ймовірнісні моделі. Наявність фіксованого контексту задає розподіл ймовірностей для наступного слова, яке відображає як семантику, так і морфологію. Такий тип мовних моделей називається n-gram language models.