
- •Н аціональний технічний університет України «Київський політехнічний інститут»
- •Завдання на дипломний проект (роботу) студенту
- •Р еферат
- •Перелік прийнятих скорочень
- •Постановка задачі
- •Розділ 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 Гігієна праці і санітарія
- •Висновки і перспективи подальших досліджень
- •Перелік посилань
1.3 Системи розпізнавання мови
Розпізнавання мови – технологія, що дозволяє використовувати природний для людини голосовий інтерфейс для взаємодії з електронною технікою [6, С.112].
Системи розпізнавання мови – це системи, що аналізують акустичний сигнал алгоритмами, заснованими на різноманітних теоріях, що припускають, які характеристики мовного сигналу створюють відчуття звуків даної мови, і математичних методах, з тією чи іншою точністю, що виділяють значущі параметри акустичного сигналу і перетворюють його в різній повноті в необхідну форму.
Практично всі відомі методи розпізнавання мови мають ряд основних загальних властивостей:
Для розпізнавання використовується метод порівняння з еталонами;
Сигнал може бути представлений або у вигляді безперервної функції часу, або у вигляді слова в деякому кінцевому алфавіті;
Для скорочення обсягу обчислень використовуються методи динамічного програмування. Динамічне програмування (ДП) – метод вирішення завдань шляхом складання послідовності з підзадач таким чином, що:
Перший елемент послідовності (можливо кілька елементів) має тривіальне рішення
Останній елемент цієї послідовності – це вихідна задача
Кожна задача цієї послідовності може бути вирішена з використанням рішення підзадач з меншими номерами.
Методи розпізнавання мови можна розділити на дві великі групи: непараметричні – з використанням непараметричних мір близькості до еталонів (до них можна віднести методи на основі формальних граматик і методи на основі метрик на безлічі мовних сигналів) – і параметричні (ймовірнісні – на основі методу прихованих моделей Маркова, нейромережеві).
Непараметричні методи, засновані на заходи близькості на безлічі голосових сигналів. Метод Вінцюка [3], заснований на методі динамічного програмування (Беллман Р.[1], Ітакура Ф.[11] та іншими) дозволив скоротити час обчислення значень функції близькості до еталонних сигналів, з експоненціального (від довжини сигналу) до квадратичного. В силу того, що основною специфікою методу є нелінійне спотворення тимчасової осі однієї з порівнюваних функцій, метод отримав назву «динамічна деформації часу». До достоїнств відносяться простота його реалізації та навчання. До недоліків можна віднести складність обчислення міри близькості, яка пропорційна квадрату довжини сигналу, і великий обсяг пам'яті, необхідний для зберігання еталонів команд – пропорційний довжині сигналу та кількістю команд в словнику.
Параметричні – методи, застосовувані до задачі розпізнавання мови в даний час, були вперше запропоновані низкою американських дослідників (Бейкер [9] і Джелінек [4]) в 1970-ті роки минулого століття. В них застосовується теорія прихованих моделей Маркова – двічі стохастичні процеси та ланцюга Маркова по переходах між станами і безлічі стаціонарних процесів в кожному стані ланцюга.
Класифікацію систем розпізнавання мови слід почати з визначення основних аспектів цих систем. До таких аспектів можна віднести:
Розмір словника. Чим більший розмір словника, з яким працює система розпізнавання мови, тим більше частота появи помилок при розпізнаванні слів. Для порівняння, словник, складається тільки з цифр, може бути розпізнаний практично безпомилково, тоді як частота появи помилок при розпізнаванні словника в сто тисяч слів може досягати 45%, але потрібно також враховувати унікальність слів у словнику. Якщо слова дуже схожі один на одного, то похибка розпізнавання збільшується.
Дикторозалежність. Існують дикторозалежні і дикторонезалежні системи розпізнавання мови. Дикторозалежна система призначена для роботи тільки з одним користувачем (людиною, яка навчала цю систему), в той час як дикторонезалежна система призначена для роботи з будь-яким диктором. Але створення по-справжньому дикторонезалежної системи – дуже трудомістке завдання. На поточному етапі розвитку систем розпізнавання мови, частота появи помилок в дикторонезалежних системах в 3-5 разів більше, ніж в дикторозалежних.
Злита або роздільна мова. Мову диктора умовно можна розділити на злиту і роздільну. Роздільна – це мова, в якій слова відокремлюються одне від одного спеціальною паузою (проміжком тиші). Злита мова – це природно вимовлені речення. Розпізнавання злитого мовлення складніше, так як у вимовлених слів немає чітких границь.
Структурні одиниці. В якості структурних одиниць можуть виступати фрази, слова, фонеми, дифони, алофони. Системи, які розпізнають мову, використовуючи цілі слова або фрази, називаються системами розпізнавання мови за шаблоном. Вони, як правило, дикторозалежні і їх створення менш трудомістке, ніж створення систем, які розпізнають мову на базі виділення лексичних елементів. В таких системах структурними одиницями мови є лексичні елементи (фонеми, дифони, Алофон).
Принцип виділення структурних одиниць. У сучасних системах розпізнавання мови використовується кілька підходів для виділення з потоку мови структурних одиниць. Найпоширеніший підхід заснований на перетворенні Фур'є, яке переводить вихідний сигнал з амплітудно-часового простору в частотно-часове, а тимчасову область визначає лінійне передбачення промови, яке описує голосовий сигнал за допомогою моделі авторегресії. Однак, аналіз Фур'є має цілу низку недоліків, в результаті яких відбувається втрата інформації про тимчасові характеристики сигналів, які обробляються. У зв'язку з цим, для задачі виділення структурних одиниць мовлення виправдано використання вейвлет-аналізу. Фур'є-аналіз припускає розкладання вихідної періодичної функції в ряд, в результаті чого початкова функція може бути представлена в вигляді суперпозиції синусоїдальних хвиль різної частоти. В свою чергу вейвлет-аналіз розкладає вхідний сигнал в базис функцій, що характеризують як частоту, так і час. Тому, за допомогою вейвлетів, можна аналізувати властивості сигналу одночасно і в фізичному просторі, і в частотному. Також, на відміну від традиційного перетворення Фур'є, вейвлет-перетворення визначено неоднозначно: кожному вейвлету відповідає своє перетворення. Це дозволяє ретельніше підібрати вейвлет-функцію з хорошими властивостями частотно-часової локалізації. Крім вейвлет- і Фур'є-аналізу в системах розпізнавання мови використовується кепстральних аналіз, але створення таких систем дуже трудомістке і вимагає дуже високої кваліфікації розробника.
А
(2.1)
лгоритми розпізнавання. Після того як голосовий сигнал розбивається на частини, відбувається ймовірнісна оцінка приналежності цих частин до того чи іншого розпізнаваного елементу словника. Це здійснюється за допомогою одного з алгоритмів розпізнавання. Найбільшого поширення набули системи розпізнавання мови на базі прихованих Марковських моделей (ПММ). ПММ називається модель, яка складається з N станів, в кожному з яких деяка система може приймати одне з M значень якого-небудь параметра. Ймовірності переходів між станами задається матрицею ймовірностейA = {aij},
де aij – ймовірність переходу з i-го в j-й стан. Ймовірності випадання кожного з M значень параметра в кожному з N станів задається вектором B = {bj (k)}, де bj (k) – ймовірність випадання k-го значення параметра в j-му стані. Ймовірність настання початкового стану задається вектором π = {πi}, де πi - ймовірність того, що в початковий момент система опиниться в i-му стані. Таким чином, прихованою марковською моделлю називається трійка λ = {A, B, π}.
Використання прихованих марковських моделей для розпізнавання мови засноване на двох наближеннях: мова може бути розбита на фрагменти, відповідати станам в ПММ, параметри мовлення в межах кожного фрагмента вважаються постійними; ймовірність кожного фрагмента залежить тільки від поточного стану системи і не залежить від попередніх станів. Крім ПММ, в системах розпізнавання використовуються динамічне програмування та нейронні мережі.
Призначення системи визначає необхідний рівень абстракції, на якому відбуватиметься розпізнавання мови. Наприклад, в системі голосового набору
мобільного телефону буде здійснюватися розпізнавання за шаблоном (словом або фразою). Такі системи називаються командними. На відміну від них, система диктування вимагає більш точного розпізнавання (розпізнавання на базі виділення лексичних елементів) і при інтерпретації оголошених фраз, вона буде покладатися не тільки на те, що було вимовлено в поточний момент, але і на те, як співвідноситься з тим, що було вимовлено до цього. Також, в таку систему повинен бути вбудований набір граматичних правил. Чим суворіші ці правила, тим простіше реалізовувати систему розпізнавання, і тим обмеженим буде набір пропозицій, які вона зможе розпізнати[17].
На рис. 1.1 представлена вищеописана класифікація систем розпізнавання мови.
Розпізнавання мови
Дикторозалені
Дикторонезалежні

По споживчим
якостям

Обмежений набір слів
Словник великого розміру
По розміру словника
Роздільна мова
Злита мова
По типу мови
По призначенню
Командні системи
Системи диктування
Системи розпізнавання
По типу структурної одиниці
Алофон
Фонема
Дифон, трифон
Слово, фраза
Спектральний аналіз перетворення Фур’є
Коєфіціент лінійного передбачення
Кепстральний аналіз
Вейвлет аналіз
По виділенню структурних одиниць
По алгоритму розпізнавання
Найпростіші детектори
Експертні системи
Ймовірнісно-мережні моделі
Обернена задача знаходження артикулярних параметрів
Приховані марківські моделі
Нейронні мережі
Рисунок 1.1 - Класифікація систем розпізнавання мови
В системах розпізнавання завчасно формується база фонем мови, що містить шаблони базового набору слів при «усередненій» промові, тобто незалежній від диктора. Мова переводиться в фонемний опис і надходить у файл опису фонем, звідки цей опис надходить до блоку розпізнавання, який проводить порівняння інформації, яка надійшла, з тією, яка зберігається в базі. Формуються розпізнані слова, які перетворюються в текстові дані або команду.
Системи розпізнавання мови складаються з двох частин – акустичної та лінгвістичної. У загальному випадку можуть включати в себе фонетичну, фонологічну, морфологічну, лексичну, синтаксичну та семантичну моделі мови.
Акустична – відповідає за подання мовного сигналу, за його перетворення в деяку форму, в якій вона представляє зміст мовного повідомлення у більш явному вигляді.
Лінгвістична – інтерпретує інформацію, що отримується від акустичної моделі, і відповідає за представлення результату розпізнавання споживачеві.
На рис.1.2 схематично представлений процес розпізнавання голосового сигналу.
Рисунок 1.2 – Процес розпізнавання голосового сигналу
Структура стандартної системи розпізнавання мови:
Необроблена мова. Зазвичай, потік звукових даних, записаний з високою дискретизацією (20 КГц при запису з мікрофона або 8 КГц при запису з телефонної лінії).
Аналіз сигналу. Вхідний сигнал повинен бути спочатку трансформований і стиснутий, для полегшення подальшої обробки. Є різні методи для вилучення корисних параметрів і стиснення вихідних даних в десятки разів без втрати корисної інформації. Найбільш використовувані методи:
аналіз Фур'є;
лінійне передбачення мовлення;
кепстральних аналіз.
Мовні кадри. Результатом аналізу сигналу є послідовність мовних кадрів. Зазвичай, кожен мовної кадр – це результат аналізу сигналу на невеликому відрізку часу (порядку 10 мс.), що містить інформацію про цю ділянку (порядку 20 коефіцієнтів).
Акустичні моделі. Для аналізу складу мовних кадрів потрібний набір акустичних моделей. Розглянемо дві найбільш поширені з них.
Шаблонна модель. В якості акустичної моделі виступає якимось чином збережений приклад розпізнаваної структурної одиниці (слова, команди).
Модель станів. Кожне слово моделюється як послідовність станів вказуючи набір звуків, які можливо почути в даній ділянці слова, грунтуючись при цьому на ймовірнісних правилах.
Акустичний аналіз. Полягає у зіставленні різних акустичних моделей до кожного кадру мови і видає матрицю зіставлення послідовності кадрів і безлічі акустичних моделей.
Корекція часу. Використовується для обробки тимчасової варіативності, що виникає при вимові слів (наприклад, "розтягування" або "з'їдання" звуків).
Послідовність слів. В результаті роботи, система розпізнавання мови видає послідовність (або кілька можливих послідовностей) слів, яка найбільш ймовірно відповідає вхідному потоку мови[17].
Далі на рис.1.3 зображено структуру стандартної системи розпізнавання мови.
Рисунок 1.3 – Структура стандартної системи розпізнавання мови