Дослідження ефективності застосування марковських прихованих моделей для побудови голосових компонент інтерфейсу користувача з програмними додатками


Дипломна робота

Дослідження ефективності застосування марковських прихованих моделей для побудови голосових компонент інтерфейсу користувача з програмними додатками


Вступ

голосовий програма інтерфейс

Актуальність проблеми. На даний час найбільш поширений інтерфейс користувача з програмними додатками включає в себе використання маніпулятора «миша» та клавіатури. Однак очевидними є зайві затрати часу на виконання окремих операцій за рахунок використання цих пристроїв. Таким чином актуальною є тема підвищення ефективності використання традиційних інтерфейсів користувача з програмними додатками за рахунок включення до його складу голосової взаємодії. Дана робота присвячена дослідженню ефективності застосування марківських прихованих моделей для побудови голосових компонент інтерфейсу користувача з програмними додатками.

В історії розвитку 1952 рік можна вважати роком народження систем розпізнавання мови. Компанія Bell Laboratories розробила систему названу Одрі, яка розпізнавала цифри, сказані одним голосом. Через 10 років компанія IBM представила комп'ютер Shoebox зі здатністю розпізнавати 16 слів англійською мовою.

Голосові технології міцно увійшли в наше повсякденне життя. В наш час системи голосового інтерфейсу отримують практичне застосування в телекомунікація, мобільних пристроях, побутових пристроях, автомобілях, освіті, комп'ютерних системах, інтернеті, системах доступу, аерокосмосі, військовому комплексі, іграх.

Створення інтерфейсу користувача має бути націлене на показники ефективності людино-машинної системи, які можна виміряти кількісно і об'єктивно:

-продуктивність праці;

-точність роботи (кількість помилок);

-функціональна повнота;

-завершеність роботи;

-простота освоєння.

Найбільш поширені інтерфейси, з використанням клавіатури та миші, не відповідають усім заявленим вимогам. Сучасні комп'ютерні програми все більшою мірою стають орієнтованими на користувача, і як альтернатива пропонується голосовий інтерфейс. На сьогоднішній день найбільш поширеним алгоритмом розпізнавання мови є приховані марківські моделі. Він використовується в різних програмних додатках, але ефективність застосування марковських прихованих моделей для побудови голосових компонент інтерфейсу користувача з програмними додатками потребує досліджень.

Проблема розробки голосового інтерфейсу є досить складною і комплексною, що вимагає від розробника знань у різних предметних областях, таких як комп'ютерні науки, лінгвістика та психологія поведінки людини. Навіть при наявності просунутих засобів проектування, розробка ефективного голосового інтерфейсу вимагає від його творців детального розуміння як задач, виконуваних системою, так і психології користувачів системи.

Обєктом дослідження є голосовий інтерфейс.

Предмет дослідження - моделі та методи побудови голосового інтерфейсу.

Робота складається з вступу, пятьох розділів і висновку. В першому розділі наведені проведений огляд літератури, описані критерії та оцінка ефективності інтерфейсу, розлянено практичнее використання голосового інтерфейсу, системи розпізнавання мови та програмне забезпечення для реалізації данної технології. У другому розділі розглянуто методику побудови та оцінювання ефективності голосового інтерфейсу. У третьому розділі розроблена структурно-функціональна схема та архітектура програмної реалізації голосового інтерфейсу, представлений опис програм. У четвертому розділі представлені результати експериментальних дослідженнь у програмах з голосовим інтерфейсом, які використовують приховані марківські моделі для розпізнавання голосових команд. У пятому розділі розглянуто охорону праці у відділі інформаційних технологій.


1. Аналіз шляхів налагодження інтерфейсу користувача з програмними додатками


.1 Існуючі технології інтерфейсів, критерії та оцінка їх ефективності


Інтерфейс (від англ. interface - поверхня розділу, перегородка) - сукупність засобів і методів взаємодії між елементами однієї системи. Засіб сполучення пристроїв обчислювальної техніки (апаратний інтерфейс); організація взаємодії людини і комп'ютерної програми (програмний інтерфейс) [23, C.12].

Основне завдання інтерфейсу - сховати від користувача технічні деталі й складності, що стосуються внутрішньої роботи системи, зробити спілкування із системою простим і зрозумілим навіть для непідготовленого користувача [9].

Інтерфейс користувача (user interface) - різновид інтерфейсів, в якому одна сторона представлена людиною (користувачем), інша - машиною (пристроєм). Він являє собою сукупність засобів і методів, за допомогою яких користувач взаємодіє з різними машинами і пристроями. Це програмне середовище, яке представлене користувачеві з ціллю ефективного управління апаратними засобами комп'ютера, реалізації технічних можливостей комп'ютера або комп'ютерної мережі [23, C.12].

Інтерфейс користувача комп'ютерного додатка включає:

-засоби відображення інформації, що відображається інформацію, формати і коди;

-командні режими, мова «користувач-інтерфейс»;

-пристрої та технології введення даних;

-діалоги, взаємодія і транзакції між користувачем і комп'ютером, зворотний зв'язок з користувачем;

-підтримку прийняття рішень у конкретній предметній області;

-порядок використання програми і документацію на неї[29].

Набір прийомів взаємодії користувача з додатком називають інтерфейсом користувача. Під додатком розуміється пакет прикладних програм для певної області застосування і споживання інформації.

Інтерфейс користувача включає три поняття:

-спілкування додатка з користувачем;

-спілкування користувача з додатком;

-мову спілкування, яка визначається розробником програмного додатка [6, 288c].

Виділяють наступні види інтерфейсів:

) Текстовий інтерфейс користувача, зокрема інтерфейс командного рядка.

При технології командного рядка як способу введення інформації зазвичай служить клавіатура, а дисплей засобом виведення. Команди набираються в командному рядку.

При пакетній технології спочатку накопичуються дані, і формується пакет даних, а потім пакет послідовно обробляється низкою програм. Недоліки цього режиму - низька оперативність прийняття рішень і відособленість користувача від системи.

) Графічний інтерфейс. В цьому інтерфейсі машині подаються команди через графічні образи, використовуючи для введення інформації клавіатуру та мишку.

На сьогоднішній день існують наступні інтерфейси цього виду:

A.Простий графічний інтерфейс;

B.Віконний інтерфейс;.WIMP-інтерфейс;.Веб-орієнтований інтерфейс;.Масштабований інтерфейс користувача.

) SILK-інтерфейс (Speech - мова, Image - образ, Language - мова, Knowlege - знання). Комп'ютер знаходить для себе команди, аналізуючи людську поведінку.

При голосовій технології команди подаються голосом шляхом проголошення спеціальних зарезервованих слів - команд.

При біометричній технологіії людина постає як сукупність ознак поведінки. Картинка зчитується з цифрової відеокамери, а потім за допомогою спеціальних програм розпізнавання образів з цього зображення виділяються команди.

Про технологію семантичного інтерфейсу відомо вкрай мало. Схоже, що вона тісно пов'язана з штучним інтелектом і подібна зі всіма підвидами SILK та іншими видами теж. Можливо, що у зв'язку з важливим військовим значенням цих розробок ці напрямки були засекречені. (4)

На сьогоднішній день існують наступні інтерфейси цього виду:.Жестовий інтерфейс.Голосовий інтерфейс.Матеріальний інтерфейс користувача.Сензитивні інтерфейси.Тактильні інтерфейси

Далі більш детально їх розглянемо.

.Текстовий інтерфейс користувача

Текстовий інтерфейс користувача (англ. text user interface, TUI; також Character User Interface, CUI) - різновид інтерфейсу користувача, що використовує при введенні-виведенні і представлені інформації виключно набір букво-цифрових символів і символів псевдографіки. Характеризується малою вимогливістю до ресурсів апаратури введення-виведення (зокрема, пам'яті) і високою швидкістю відображення інформації, тому широко використовувався на початковому етапі розвитку обчислювальної техніки. Також, його різновид -інтерфейс командного рядка, має окремі переваги перед графічним інтерфейсом. Тому програми, засновані на текстовому інтерфейсі користувача, мають деяке поширення до цього часу, особливо в специфічних сферах і на малопотужному обладнанні.

У простому випадку текстовий інтерфейс користувача використовує інтерфейс командного рядка, однак багато програм за допомогою інтерактивних елементів створюють більш дружній інтерфейс, що наближається по зручності до графічного. У текстовому інтерфейсі реалізовані всі базові елементи інтерфейсу, пізніше перенесені в графічний інтерфейс - меню (як список, так і випадні), кнопки, радіо-кнопки, чек-бокси, смуги прокрутки і т.д. Багато програм реалізовували розвинену віконну систему, деякі мали змінні скіни (наприклад, DOS Navigator) і підтримували різні пристрої інтерактивної взаємодії, такі як миша, джойстик, світлове перо.

Командний інтерфейс називається так тому, що в цьому виді інтерфейсу людина подає «команди» комп'ютеру, а комп'ютер їх виконує і видає результат людині. Командний інтерфейс реалізований у вигляді пакетної технології та технології командного рядка[11].

На пристрої-консолі, яке друкувало текст на папері, інтерфейс командного рядка був єдиним можливим. На відеотерміналах інтерфейс командного рядка застосовується з таких причин:

-невеликий витрата пам'яті в порівнянні з системою меню;

-у сучасному програмному забезпеченні є велика кількість команд, багато з яких потрібні вкрай рідко. Тому, навіть в деяких програмах з графічним інтерфейсом застосовується командний рядок: набір команди (за умови, що користувач знає цю команду) здійснюється набагато швидше, ніж, наприклад, навігація по меню;

-природне розширення інтерфейсу командного рядка - пакетний інтерфейс. Його суть в тому, що в файл звичайного текстового формату записується послідовність команд, після чого цей файл можна запустити в програмі, що здобуде такий же (не менший) ефект, як якби ці команди були по-черзі введені в командний рядок. Приклади - .bat-файли в DOS і Windows. Якщо програма повністю або майже повністю може управлятися командами інтерфейсу командної строки і підтримує пакетний інтерфейс, вміле поєднання інтерфейсу командного рядка з графічним надає користувачеві дуже потужні можливості[29].

.Графічний інтерфейс

Графічний інтерфейс користувача (ГІК), графічний користувацький інтерфейс (ГКІ) (англ. Graphical user interface, GUI) - різновид інтерфейсу користувача, в якому елементи інтерфейсу (меню, кнопки, значки, списки і т. п.), представлені користувачеві на дисплеї, виконані у вигляді графічних зображень. На відміну від інтерфейсу командного рядка, в ГКІ користувач має довільний доступ, за допомогою пристроїв введення (клавіатури, миші і т. п.), до всіх видимих екранних об'єктів (елементів інтерфейсу) і здійснює безпосереднє маніпулювання ними. Найчастіше елементи інтерфейсу в ГКІ реалізовані на основі метафор та відображають їх призначення і властивості, що полегшує розуміння й освоєння програм користувачами.

Далі представлені підвиди цього виду інтерфейсу.

А. Простий графічний інтерфейс, який на першому етапі дуже був схожий на технологію командного рядка з наступними відмінностями:

-при відображенні символів з ??метою підвищення виразності зображення допускалося виділення частини символів кольором, інверсним зображенням, підкресленням і мерехтінням;

-курсор міг бути представлений деякою областю, виділеної кольором, і охоплювати кілька символів, навіть частину екрану;

-реакція на натискання будь-якої клавіші стала залежати від того, в якій частині екрану знаходиться курсор;

-крім часто використовуваних клавіш, для управління курсором стали використовуватися маніпулятори типу миші і т. п., які дозволяли швидко виділяти потрібну область екрану і переміщувати курсор;

-широке використання кольорових моніторів.

Поява простого графічного інтерфейсу збігається з широким розповсюдженням операційної системи MS DOS. Типовим прикладом його використання є файлова оболочка Нортон Командир і текстові редактори MaltiEdit, ChiWriter, Microsoft Word для DOS та ін.

В. Віконний інтерфейс

Віконний інтерфейс - спосіб організації повноекранного інтерфейсу програми, в якому кожна інтегральна частина розташовується у вікні, власному суб-екранному просторі, що знаходиться в довільному місці «над» основним екраном. Кілька вікон, одночасно розташованих на екрані, можуть перекриватися, перебуваючи «вище» або «нижче» один від одного. Незважаючи на те, що найбільш природним для віконного інтерфейсу є графічний режим, основні його елементи можна застосувати й у текстовому режимі, де він застосовується в рівній мірі. Процедури підтримки віконного інтерфейсу покликані відмальовувати екран з розташованими «поверх нього» вікнами і розподіляти введення інформації користувачем між ними (при існуванні кількох рівноправних вікон введення інформації користувачем здійснюється в те, яке в даний момент є активним). Вікно зазвичай має прямокутну форму, з обрамленням та / або кольором фону, відмінним від кольору основного екрану. При необхідності вікно має заголовок і органи управління[29].

С. WIMP-інтерфейс (Window - вікно, Image - образ, Menu - меню, Pointer - покажчик). Хоча і в цьому інтерфейсі машині подаються команди, але це робиться «безпосередньо», через графічні образи.інтерфейс, з'явився другим етапом розвитку графічного інтерфейсу, який характеризується такими особливостями:

-вся робота з програмами, файлами і документами відбувається у вікнах;

-програми, файли, документи, пристрої та інші об'єкти представляються у вигляді значків (іконок), які при відкритті перетворюються на вікна;

-всі дії з об'єктами здійснюються за допомогою меню, яке стає основним елементом управління;

-маніпулятор виступає в якості головного засобу керування [6, 288 c.].

Однією з вимог до хорошого графічному інтерфейсу програмної системи є концепція «роби те, що я маю на увазі» або DWIM (англ. Do What I Mean). DWIM вимагає, щоб система працювала передбачувано, щоб користувач заздалегідь інтуїтивно розумів, яку дію виконає програма після отримання його команди[2]..Веб-орієнтований інтерфейс

Веб-додаток - клієнт-серверний додаток, в якому клієнтом виступає браузер, а сервером - веб-сервер. Логіка веб-додатків розподілена між сервером та клієнтом. Зберігання данних здійснюється, переважно, на сервері, обмін інформацією відбувається по мережі. Одним із переваг такого підходу є той факт, що клієнти не залежать від конкретної операційної системи користувача, тому веб-додатки є міжплатформенними сервісамі.

Істотна перевага побудови веб-додатків для підтримки стандартних функцій браузера заключається в тому, що функції повинні виконуватися незалежно від операційної системи даного кліента. Замість того щоб писати різні версії для Microsoft Windows, Mac OS X, GNU / Linux і інших операційних систем, додаток створюється один раз для довільно обраної платформи і на ній розвертається. Однак різна реалізація HTML, CSS, DOM і інших специфікацій в браузерах може викликати проблеми при розробці веб-додатків і подальшій підтримці. Крім того, можливість користувача налаштовувати багато параметрів браузера (наприклад, розмір шрифту, кольору, відключення підтримки сценаріїв) може перешкоджати коректній роботі додатку. Інший (менш універсальний) підхід полягає у використанні Adobe Flash або Java-аплетів для повної або часткової реалізації інтерфейсу користувача. Оскільки більшість браузерів підтримують ці технології (як правило, за допомогою плагінів), Flash або Java-додатки можуть виконуватись з легкістю. Так як вони надають програмісту більший контроль над інтерфейсом, вони способні обходити багато несумісностей в конфігураціях браузерів, хоча несумісність між Java чи Flash реалізаціями на стороні клієнта може призводити до різних ускладнень.

Веб-додаток отримує запит від клієнта і виконує обчислення, після цього формує веб-сторінку та відправляє її клієнту по мережі з використанням протоколу HTTP. Сам веб-додаток може виступати в ролі клієнта інших служб, наприклад, бази даних або іншого веб-додатку, розташованого на сервері.. Масштабований інтерфейс користувача(англ. Zooming User Interface або Zoomable User Interface - масштабований інтерфейс користувача) - графічний інтерфейс користувача, де робочий простір являє собою більшу чи необмежену площину, на якій розташовані основні елементи, властивості і вміст яких стають доступні у міру їх «наближення» шляхом збільшення. Подальше наближення вмісту робить доступним більш глибокі рівні. Таким чином, наприклад, маленька кнопка може мати на собі, крім основного надпису або значка, ще й цілу інструкцію по використанню, яку може бути не видно при розмірі кнопки в 1 сантиметр, але яку можна з легкістю прочитати, якщо збільшити зображення кнопки [6, 288 c.].

.SILK-інтерфейс (Speech - голос, Image - образ, Language - мова, Knowlege - знання). Команди у цьому виді інтерфейсу подаються за допомогою голосу, жестів і т. п.

Цей вид інтерфейсу включає наступні підвиди:.Жестовий інтерфейс

Жестовий інтерфейс - підмножина системи введення інформації для графічного інтерфейсу користувача, в якій використовується спеціальне обладнання, або пристрої введення, відмінні від клавіатури, або використовуються сенсорні екрани і дозволяє емулювати клавіатурні команди (або поєднання клавіш) за допомогою жестів. Основною мотивацією розробки таких інтерфейсів є поліпшення ергономічності керування, з відмовою від звичного для комп'ютерних програм меню програми.

Подібний інтерфейс може бути реалізований як за допомогою пристроїв координатного введення з можливістю зчитування координати однієї точки дотику (миша або графічний планшет), так і таких, в яких є можливість зчитування координат більш ніж однієї точки (наприклад, мультидотик, мультитач) - сенсорні екрани і панелі. Останні стали широко застосовуватися в інтерфейсах безлічі сучасних смартфонів з сенсорним екраном (наприклад, iPhone) і ноутбуків (як з тачпадом, так з сенсорним екраном) і інших мобільних пристроїв.

У разі для пристроїв з великим розміром екрана, наприклад, планшетних ПК, жести є стандартними функціями інтерфейсу управління та пір'яного введення. У кишенькових пристроїв, на відміну від класичних графічних інтерфейсів користувача, малі фізичні розміри екрану, і тому потрібна менша точність позиціонування, ніж для доступу до традиційних елементів графічного інтерфейсу - натискання «кнопки» або вибору пункту меню.. Голосовий інтерфейс

З технологічної точки зору весь інформаційний процес тут розділяється на декілька послідовних етапів, на кожному з яких використовується своя базова технологія. Такими етапами в даному випадку є:

-Аналого-цифрове перетворення мовного сигналу і введення отриманої цифрової інформації в пам'ять компютера. Базовою технологією тут є аналого-цифрове перетворення, а реалізується ця технологія, як правило, апаратним способом за допомогою спеціальних електронних пристроїв, характеристики яких заздалегідь оптимізовані і добре відомі проектувальникам.

-Виділення в складі цифрової мовної інформації окремих фонем тієї мови, на якому проголошувалася мова, і ототожнення їх з типовими «образами» цих фонем, що зберігаються в пам'яті обчислювальної системи. Базовою технологією тут є технологія розпізнавання.

-Перетворення голосової інформації в текстову форму і здійснення процедур її морфологічного та синтаксичного контролю. Базовими технологіями тут є процедури морфологічного та синтаксичного контролю тексту, сформованого на основі аналізу мовної інформації, та внесення в нього необхідного коректування, пов'язаного з виправленням помилок[23].. Матеріальний інтерфейс користувача

Матеріальний інтерфейс користувача - це різновидність інтерфейсу користувача, в якому взаємодія з цифровою інформацією відбувається за допомогою матеріальної конструкції. Матеріальні інтерфейси користувача, такі як матеріальні біти - це спроба надати цифровій інформації фізичний облік, роблячи біти відчутними і тому доступними безпосередньо. При цьому переслідується мета нерозривно звязати такі різні сутності, як світи бітів і атомів. Прикладом матеріального інтерфейсу користувача можна назвати кульовий автовідповідач Дюрелла Бішопа. Кожна кулька відповідає повідомленням, залишеному на автовідповідачі. Переміщення кульки в спеціальну виїмку відтворює пов'язане з ним повідомлення або викликає того хто дзвонив. Інший приклад - система Топобо. Блоки її нагадують елементи конструктора LEGO, які можуть з'єднуватися разом, але, в той же час, переміщатися самостійно за рахунок моторчиків. Можна тягнути, штовхати або повертати ці елементи; вони запам'ятають ці дії і здатні їх відтворити. Інша реалізація дозволяє користувачеві матеріальним пером намалювати малюнок на столі системи. Використовуючи попередньо запрограмовані «жести», можна клонувати картинку або розтягувати по двох осях, як у програмі малювання[29]..Сензитивні інтерфейси

Сензитивний інтерфейс - тип інтерфейсу, що дозволяє користувачеві управляти пристроєм, завдяки натисненню на екран пальцем або ручкою-стилусом.

У цьому інтерфейсі використовується популярна технологія Multi-Touch, її можна застосовувати до таких пристроїв як сенсорні панелі та екрани, що розпізнають кілька торкань одночасно.

Дотик по екрану пальцем або ручкою-стилусом - є тач, а дотик декількома пальцями одночасно - мульти-тач. На сьогоднішній день з технічної точки зору існує безліч абсолютно різних підходів до реалізації сенсорних поверхонь.

Є два види екранів: резистивний і ємнісний.

Резистивна технологія відносно стара, яка стає вже неактуальною. Вони використовуються в тач-скронях, КПК і т. п. У цій технології користувач може використовувати стилус для більш точного натискання або будь-який предмет, що нагадує стилус. Ця технології має безліч недоліків, таких як невисока чутливість, механічний знос, відносно великі фізичні розміри, схильність до випадкових дотиків.

Ємкісна технологія набагато ефективніше резистивної. Ємнісний підхід більш точний і більш довговічний. Так само технологія дозволяє розпізнавати кілька торкань одночасно, але реагує тільки на людські пальці (та інші об'єкти з подібними електричними характеристиками).

Використання класичних стилусів, або підручних засобів в їх якості - неможливо, але на ринку присутні спеціальні стилуси, по суті, імітують властивості людського пальця.

До інших менш поширеним технологій відносяться інфрачервоне позиціонування, розпізнавання поверхневих акустичних хвиль, оптичне розпізнавання, дисперсія сигналу.. Тактильні інтерфейси

Тактильний інтерфейс користувача - це спосіб користувачеві тактильно відчути те, що зображено на екрані. Замість вібрації, часто застосовується в апаратах з сенсорним управлінням, для створення ілюзії змін на поверхні екрана. В останні роки тактильні технології стали популярні в дослідженнях, присвячених проблемам штучного інтелекту і віртуальної реальності. Почуття дотику виявляється найважливішим компонентом для відтворення віртуального середовища, який повинна викликати повну ілюзію реальності.

На даний час існує три тактильні технології:

-обертовий ексцентричний маховик;

-лінійний резонансний привід;

-п'єзоприводи.

Обертовий ексцентричний маховик - найстаріша тактильна технологія на ринку. Пристрій з тактильною функцією складається з маховика зі зміщеною віссю, що при обертанні створює всенаправлені вібрації. Ці коливання виникають в стільниковому телефоні в режимі вібродзвоника.

Для реалізації більш сучасної тактильної технології використовується лінійний резонансний привід. Він являє собою електромагніт з обмоткою і прикріпленою до нього пружиною.

П'єзоелектричні приводи складаються з плівки - датчика, який перетворює електричну напругу в механічні коливання. Ці датчики застосовуються також у системах збору енергії і в динаміках[8].

Далі розглянемо цілі та критерії оцінки ефективності інтерфейсу користувача.

З точки зору ергономіки (науку про ефективну взаємодію людини і техніки), найважливіше в додатку - створити такий користувацький інтерфейс, який зробить роботу ефективною і продуктивною, а також забезпечить задоволеність користувача від роботи з програмою.

Ефективність роботи означає забезпечення точності, функціональної повноти і завершеності при виконанні виробничих завдань на робочому місці користувача. Ефективність роботи відображає обсяг витрачених ресурсів при виконанні завдання, як обчислювальних, так і психофізіологічних.

Створення інтерфейсу користувача має бути націлене на показники ефективності людино-машинної системи, які можна виміряти кількісно і об'єктивно:

-продуктивність праці - визначається середньою кількістю вирішених завдань, отриманими за результатами роботи групи користувачів;

-точність роботи (кількість помилок) - показник точності включає відсоток помилок, які зробив користувач (число помилок набору, варіанти помилкових шляхів або відгалужень, число неправильних звернень до даних, запитів тощо);

-функціональна повнота визначається тим, якою мірою вироблений користувачем продукт (результат роботи), відповідає пред'явленим до нього вимогам; відображає ступінь використання первинних і оброблених даних, списку необхідних процедур обробки або звітів, число пропущених технологічних операцій або етапів при виконанні поставленої задачі для користувача. Цей показник може визначатися через відсоток застосування окремих функцій в роботі;

-завершеність роботи - описує ступінь виконання виробничого завдання середнім користувачем за певний термін або період, частку (або довжину черги) незадоволених (необроблених) заявок, відсоток продукції, що знаходиться на проміжній стадії готовності, а також число користувачів, які виконали завдання у фіксовані терміни;

-простота освоєння - визначається часом освоєння інтерфейсу, виходу на продуктивний рівень.

Задоволеність користувача можна оцінити шляхом проведення опитування (експертної оцінки) користувачів і за ступенем стресу, втоми, емоційного стану - по фізіологічним і психологічним показниками.

Задоволеність користувача від роботи тісно пов'язана з комфортністю його взаємодії з додатком, і сприяє збереженню професійних кадрів на підприємстві «Замовника» за рахунок привабливості роботи на даному робочому місці.

Вимоги до зручності та комфортності інтерфейсу зростають зі збільшенням складності робіт і відповідальності користувача за кінцевий результат. Висока задоволеність від роботи досягається в разі:

-прозорої для користувача навігації і цільової орієнтації в програмі. Головне, щоб було зрозуміло, куди йдемо, і яку операцію програма після цього кроку зробить;

-ясності і чіткості розуміння користувачем текстів та значення ікон. У програмі повинні бути ті слова і графічні образи, які користувач знає чи зобов'язаний знати за характером його роботи або займаної посади;

-швидкості навчання при роботі з програмою, для чого необхідно використовувати переважно стандартні елементи взаємодії, їх традиційне або загальноприйняте розташування;

-наявності допоміжних засобів підтримки користувача (пошукових, довідкових, нормативних), в тому числі і для прийняття рішення у невизначеній ситуації (введення за замовчуванням, обхід «зависання» процесів тощо).

Зручний інтерфейс допомагає користувачеві впоратись з втомою і напругою при роботі в умовах високої відповідальності за результат[17].


.2 Голосовий інтерфейс та його практичне застосування


Використання голосового інтерфейсу є найбільш природною і зручною формою взаємодії людини з технічною системою. В даний час вже існує ряд систем, які використовують голосовий інтерфейс, забезпечуючи тим самим більш ефективне рішення деяких задач. Перш ніж перейти до розгляду прикладів практичного використання голосового інтерфейсу, порівняємо його з найбільш поширеними в даний час засобами взаємодії користувача з комп'ютером: клавіатурою і дисплеєм. Слід зазначити принаймні три принципові відмінності голосового інтерфейсу:

) явний недолік клавіатури і дисплея полягає в тому, що для спілкування з комп'ютером людині потрібно пройти спеціальну підготовку. У той же час мова - це природний інтерфейс для будь-якої, навіть непідготовленої людини. Мова знижує в різкій ступені психологічну відстань між людиною і комп'ютером. Якщо з'являється голосовий інтерфейс, то коло користувачів комп'ютером може стати необмеженим;

) голос сам по собі ніяк механічно не прив'язаний до комп'ютера і може бути пов'язаний з ним через системи комунікації, наприклад, телефон. Голосовий інтерфейс скорочує фізичну відстань між людиною і комп'ютером. Це додатково розширює коло потенційних користувачів комп'ютерів і робить голосовий інтерфейс ідеальним засобом для створення систем масового інформаційного обслуговування;

) можна спілкуватися з комп'ютером в повній темряві, з закритими очима, в умовах зайнятості рук важелями управління, з зав'язаними руками і в іншій екстремальній обстановці. Ця властивість дає оперативність і мобільність спілкування, звільнення рук і розвантаження зорового каналу сприйняття при отриманні інформації. Це винятково важливо, наприклад, для диспетчера великий енергетичної системи або пілота літака і водія автомобіля. Крім того, комп'ютерні системи стають більш доступними людям з порушенням зору. В даний час голосові комп'ютерні технології вже досить широко поширені і розвиваються в декількох напрямках[2].

Це, однак, не означає, що голосовий спосіб людино-машинного спілкування цілком замінить традиційні способи введення-виведення інформації. Поряд з іншими засобами він активно сприяє подальшій інтелектуалізації людино-машинних систем. Результати, отримані в галузі розробки голосового інтерфейсу, стають доступні широким верстам населення. В даний час нам уже відомі приклади широкого використання голосового інтерфейсу, наприклад, в області телефонії, побутової техніки та ін [8, 210 c.].

Голосовий інтерфейс розглядається, як додатковий, що розширює можливості існуючих інтерфейсів. Таким чином, разом повинні будуть співіснувати миша, клавіатура і мікрофон. Вони повинні працювати в одній зв'язці, не створюючи перешкод один одному (біда багатьох програм для управління комп'ютером по голосу). Людина повинна мати можливість вибору найбільш зручного інтерфейсу в кожен конкретний момент часу. Наприклад, почати команду, використовуючи мишу, продовжити голосовим вводом і підтвердити натисканням кнопки на клавіатурі. У сучасних операційних системах вже закладалися можливості використання голосового інтерфейсу (нові ОС фірми Microsoft) [8, C. 209].

Практичне використання голосового інтерфейсу:

-телекомунікації

Голосові технології надають можливість цілодобового доступу для користувачів call центрів до послуг:)отримання довідкової інформації;)доступу до персональних даних та управління сервісами;)замовлення по телефону продуктів або послуг;)автоматичної переадресації дзвінка на потрібного абонента.

-мобільні пристрої

Дозволяє організувати можливість голосового управління будь-якими додатками мобільної платформи, а також реалізувати можливість введення числової і / або текстової інформації за допомогою голосу.

-побутові пристрої

За допомогою інтелектуального пульта дистанційного можна реалізувати голосове управління будь-якими побутовими та промисловими пристроями.

Наприклад, при управлінні телевізором, це:)голосове керування перемиканням каналів;)голосове управління настройками та програмування телевізора і засобів відтворення відео;)голосове формування запитів для інтелектуального пошуку необхідних відеосюжетів.

Голосові технології можуть знайти найширше застосування в інтелектуальних телевізійних системах нового покоління: за рахунок їх використання значно розшириться пакет сервісів для споживачів ТВ послуг. Наприклад, інтелектуальна приставка з можливостями індексації відеофрагментів дозволить:)Записувати і оцифровувати телевізійні програми;)Індексувати вироблені записи по категоріям (фільми, спортивні програми, новинні сюжети);)Знаходити ключові фрази і вирази в аудіопотоках (для формування вибірки новин з цікавої теми);)Знаходити музичні фрагменти, що відповідають певним критеріям пошуку;)Знаходити конкретних особистостей по голосовим фрагментам (для формування вибірки програм, в яких брали участь дані люди);)Очищати записи від небажаних фрагментів (реклами, заставки).

В свою чергу інформаційні сервери ТВ мереж дозволять організувати сервіси:

a)«Відео за заявкою» (відео на замовлення), коли абонент має можливість дивитися будь-яку передачу або картину в зручний для себе час.)Вибір сюжетів для перегляду, наприклад, у випуску новин можна подивитися звичайний сюжет або більш докладну розповідь, повторити спортивний блок ще раз;)Індексація та інтелектуальний пошук у базі даних відео фрагментів;)Інтерактивні розваги, що передбачають участь глядачів у вікторинах, конкурсах, іграх, спортивних змаганнях і т.д.;)Різноманітні сервісно-комерційні служби для абонентів, наприклад, можливість робити покупки не виходячи з дому.

-автомобілі

Аудіосистеми не тільки контролю, а й управління вже застосовуються в деяких марках автомобілів. Наприклад, водій називає вулицю, до якої йому потрібно дістатися, і система надає маршрут до місця призначення. Крім того, механізм розпізнавання голосових команд дозволить водію зв'язуватися з абонентами по телефону або отримувати доступ до своєї персоніфікованої інформації під час руху. Плюси такої системи в тому, що вона не знижує увагу водія за кермом, адже йому не потрібно відводити погляд від дороги і руки від керма, для того, щоб ввести інформацію з клавіатури. Використання звичайного (тактильного) способу набору за кермом не тільки незручно, але й небезпечно. Головною проблемою в такій ситуації є високий рівень шуму (шум вулиці, шум двигуна та ін.). Проте і ця проблема вже має варіанти вирішення.

-освіта

Завдяки голосовим технологіям можливе вивчення іноземних мов з постановкою правильної вимови. Також вони допоможуть школам і університетам підтримувати своїх споживачів на більш високому рівні, забезпечити новими напрямками для навчання, і покращити інформаційну доступність.

-комп'ютерні системи

В інформаційно-довідкових терміналах для управління меню використовують голосові команди (для введення цифр, окремих слів і фраз).

Системи голосової технології можуть використовуватися в системі інтеллектуальної автоматизації «розумний дім» для:)голосового управління сервером (технологія розпізнавання мови);)системи контролю доступу (технологія ідентифікації голосу диктора по пральний фразі);)автоінформатор (система синтезу мови).

-інтернет

В сервісах голосових порталів і пошукових системах реалізована можливість використання «природного інтерфейсу» спілкування користувачів при роботі з додатками. Також система розпізнавання мови використовується для голосової навігації і голосового управління додатками.

-системи доступу

Системи ідентифікації диктора по голосовому фрагменту знаходять широке застосування у складі комплексних систем обмеження доступу.

-аерокосмос

Передача розмов екіпажу в реальному часі у вигляді текстової інформації в «чорний ящик», або «на землю» в диспетчерські служби.

Система ідентифікації дикторів по голосовому фрагменту може застосовуватись в складі комплексних систем безпеки для ідентифікації співробітників, що мають доступ в закриті зони аеропорту, а також в системах забезпечення безпеки доступу в кабіни пілотів.

-військовий комплекс

Голосове управління дасть можливість зупинки бойової техніки при її пошкодженні або пораненні оператора.

Системи ідентифікації дикторів по звуковим фрагментам може застосовуватись для ідентифікації персоналу, що має доступ в закриті зони охороняємого об'єкта.

-ігри

Системи розпізнавання мови можуть використовуватися в абсолютно будь-яких комп'ютерних іграх і додатках, будь-яких жанрів і напрямів: від невеликих логічних ігор до онлайнових рольових проектів[27].


.3 Системи розпізнавання мови


Розпізнавання мови - технологія, що дозволяє використовувати природний для людини голосовий інтерфейс для взаємодії з електронною технікою [6, С. 112].

Системи розпізнавання мови - це системи, що аналізують акустичний сигнал алгоритмами, заснованими на різноманітних теоріях, що припускають, які характеристики мовного сигналу створюють відчуття звуків даної мови, і математичних методах, з тією чи іншою точністю, що виділяють значущі параметри акустичного сигналу і перетворюють його в різній повноті в необхідну форму.

Практично всі відомі методи розпізнавання мови мають ряд основних загальних властивостей:

)Для розпізнавання використовується метод порівняння з еталонами;

)Сигнал може бути представлений або у вигляді безперервної функції часу, або у вигляді слова в деякому кінцевому алфавіті;

)Для скорочення обсягу обчислень використовуються методи динамічного програмування. Динамічне програмування (ДП) - метод вирішення завдань шляхом складання послідовності з підзадач таким чином, що:

)Перший елемент послідовності (можливо кілька елементів) має тривіальне рішення

)Останній елемент цієї послідовності - це вихідна задача

)Кожна задача цієї послідовності може бути вирішена з використанням рішення підзадач з меншими номерами.

Методи розпізнавання мови можна розділити на дві великі групи: непараметричні - з використанням непараметричних мір близькості до еталонів (до них можна віднести методи на основі формальних граматик і методи на основі метрик на безлічі мовних сигналів) - і параметричні (ймовірнісні - на основі методу прихованих моделей Маркова, нейромережеві).

Непараметричні методи, засновані на заходи близькості на безлічі голосових сигналів. Метод Вінцюка [3], заснований на методі динамічного програмування (Беллман Р. [1], Ітакура Ф. [11] та іншими) дозволив скоротити час обчислення значень функції близькості до еталонних сигналів, з експоненціального (від довжини сигналу) до квадратичного. В силу того, що основною специфікою методу є нелінійне спотворення тимчасової осі однієї з порівнюваних функцій, метод отримав назву «динамічна деформації часу». До достоїнств відносяться простота його реалізації та навчання. До недоліків можна віднести складність обчислення міри близькості, яка пропорційна квадрату довжини сигналу, і великий обсяг пам'яті, необхідний для зберігання еталонів команд - пропорційний довжині сигналу та кількістю команд в словнику.

Параметричні - методи, застосовувані до задачі розпізнавання мови в даний час, були вперше запропоновані низкою американських дослідників (Бейкер [9] і Джелінек [4]) в 1970-ті роки минулого століття. В них застосовується теорія прихованих моделей Маркова - двічі стохастичні процеси та ланцюга Маркова по переходах між станами і безлічі стаціонарних процесів в кожному стані ланцюга.

Класифікацію систем розпізнавання мови слід почати з визначення основних аспектів цих систем. До таких аспектів можна віднести:

Розмір словника. Чим більший розмір словника, з яким працює система розпізнавання мови, тим більше частота появи помилок при розпізнаванні слів. Для порівняння, словник, складається тільки з цифр, може бути розпізнаний практично безпомилково, тоді як частота появи помилок при розпізнаванні словника в сто тисяч слів може досягати 45%, але потрібно також враховувати унікальність слів у словнику. Якщо слова дуже схожі один на одного, то похибка розпізнавання збільшується.

Дикторозалежність. Існують дикторозалежні і дикторонезалежні системи розпізнавання мови. Дикторозалежна система призначена для роботи тільки з одним користувачем (людиною, яка навчала цю систему), в той час як дикторонезалежна система призначена для роботи з будь-яким диктором. Але створення по-справжньому дикторонезалежної системи - дуже трудомістке завдання. На поточному етапі розвитку систем розпізнавання мови, частота появи помилок в дикторонезалежних системах в 3-5 разів більше, ніж в дикторозалежних.

Злита або роздільна мова. Мову диктора умовно можна розділити на злиту і роздільну. Роздільна - це мова, в якій слова відокремлюються одне від одного спеціальною паузою (проміжком тиші). Злита мова - це природно вимовлені речення. Розпізнавання злитого мовлення складніше, так як у вимовлених слів немає чітких границь.

Структурні одиниці. В якості структурних одиниць можуть виступати фрази, слова, фонеми, дифони, алофони. Системи, які розпізнають мову, використовуючи цілі слова або фрази, називаються системами розпізнавання мови за шаблоном. Вони, як правило, дикторозалежні і їх створення менш трудомістке, ніж створення систем, які розпізнають мову на базі виділення лексичних елементів. В таких системах структурними одиницями мови є лексичні елементи (фонеми, дифони, Алофон).

Принцип виділення структурних одиниць. У сучасних системах розпізнавання мови використовується кілька підходів для виділення з потоку мови структурних одиниць. Найпоширеніший підхід заснований на перетворенні Фур'є, яке переводить вихідний сигнал з амплітудно-часового простору в частотно-часове, а тимчасову область визначає лінійне передбачення промови, яке описує голосовий сигнал за допомогою моделі авторегресії. Однак, аналіз Фур'є має цілу низку недоліків, в результаті яких відбувається втрата інформації про тимчасові характеристики сигналів, які обробляються. У зв'язку з цим, для задачі виділення структурних одиниць мовлення виправдано використання вейвлет-аналізу. Фур'є-аналіз припускає розкладання вихідної періодичної функції в ряд, в результаті чого початкова функція може бути представлена ??в вигляді суперпозиції синусоїдальних хвиль різної частоти. В свою чергу вейвлет-аналіз розкладає вхідний сигнал в базис функцій, що характеризують як частоту, так і час. Тому, за допомогою вейвлетів, можна аналізувати властивості сигналу одночасно і в фізичному просторі, і в частотному. Також, на відміну від традиційного перетворення Фур'є, вейвлет-перетворення визначено неоднозначно: кожному вейвлету відповідає своє перетворення. Це дозволяє ретельніше підібрати вейвлет-функцію з хорошими властивостями частотно-часової локалізації. Крім вейвлет- і Фур'є-аналізу в системах розпізнавання мови використовується кепстральних аналіз, але створення таких систем дуже трудомістке і вимагає дуже високої кваліфікації розробника.

Алгоритми розпізнавання. Після того як голосовий сигнал розбивається на частини, відбувається ймовірнісна оцінка приналежності цих частин до того чи іншого розпізнаваного елементу словника. Це здійснюється за допомогою одного з алгоритмів розпізнавання. Найбільшого поширення набули системи розпізнавання мови на базі прихованих Марковських моделей (ПММ). ПММ називається модель, яка складається з N станів, в кожному з яких деяка система може приймати одне з M значень якого-небудь параметра. Ймовірності переходів між станами задається матрицею ймовірностей

= {aij},


де aij - ймовірність переходу з i-го в j-й стан. Ймовірності випадання кожного з M значень параметра в кожному з N станів задається вектором B = {bj (k)}, де bj (k) - ймовірність випадання k-го значення параметра в j-му стані. Ймовірність настання початкового стану задається вектором р = {рi}, де рi - ймовірність того, що в початковий момент система опиниться в i-му стані. Таким чином, прихованою марковською моделлю називається трійка л = {A, B, р}.

Використання прихованих марковських моделей для розпізнавання мови засноване на двох наближеннях: мова може бути розбита на фрагменти, відповідати станам в ПММ, параметри мовлення в межах кожного фрагмента вважаються постійними; ймовірність кожного фрагмента залежить тільки від поточного стану системи і не залежить від попередніх станів. Крім ПММ, в системах розпізнавання використовуються динамічне програмування та нейронні мережі.

Призначення системи визначає необхідний рівень абстракції, на якому відбуватиметься розпізнавання мови. Наприклад, в системі голосового набору

мобільного телефону буде здійснюватися розпізнавання за шаблоном (словом або фразою). Такі системи називаються командними. На відміну від них, система диктування вимагає більш точного розпізнавання (розпізнавання на базі виділення лексичних елементів) і при інтерпретації оголошених фраз, вона буде покладатися не тільки на те, що було вимовлено в поточний момент, але і на те, як співвідноситься з тим, що було вимовлено до цього. Також, в таку систему повинен бути вбудований набір граматичних правил. Чим суворіші ці правила, тим простіше реалізовувати систему розпізнавання, і тим обмеженим буде набір пропозицій, які вона зможе розпізнати[17].

В системах розпізнавання завчасно формується база фонем мови, що містить шаблони базового набору слів при «усередненій» промові, тобто незалежній від диктора. Мова переводиться в фонемний опис і надходить у файл опису фонем, звідки цей опис надходить до блоку розпізнавання, який проводить порівняння інформації, яка надійшла, з тією, яка зберігається в базі. Формуються розпізнані слова, які перетворюються в текстові дані або команду.

Системи розпізнавання мови складаються з двох частин - акустичної та лінгвістичної. У загальному випадку можуть включати в себе фонетичну, фонологічну, морфологічну, лексичну, синтаксичну та семантичну моделі мови.

Акустична - відповідає за подання мовного сигналу, за його перетворення в деяку форму, в якій вона представляє зміст мовного повідомлення у більш явному вигляді.

Лінгвістична - інтерпретує інформацію, що отримується від акустичної моделі, і відповідає за представлення результату розпізнавання споживачеві.

Структура стандартної системи розпізнавання мови:

Необроблена мова. Зазвичай, потік звукових даних, записаний з високою дискретизацією (20 КГц при запису з мікрофона або 8 КГц при запису з телефонної лінії).

Аналіз сигналу. Вхідний сигнал повинен бути спочатку трансформований і стиснутий, для полегшення подальшої обробки. Є різні методи для вилучення корисних параметрів і стиснення вихідних даних в десятки разів без втрати корисної інформації. Найбільш використовувані методи:

-аналіз Фур'є;

-лінійне передбачення мовлення;

-кепстральних аналіз.

Мовні кадри. Результатом аналізу сигналу є послідовність мовних кадрів. Зазвичай, кожен мовної кадр - це результат аналізу сигналу на невеликому відрізку часу (порядку 10 мс.), що містить інформацію про цю ділянку (порядку 20 коефіцієнтів).

Акустичні моделі. Для аналізу складу мовних кадрів потрібний набір акустичних моделей. Розглянемо дві найбільш поширені з них.

-Шаблонна модель. В якості акустичної моделі виступає якимось чином збережений приклад розпізнаваної структурної одиниці (слова, команди).

-Модель станів. Кожне слово моделюється як послідовність станів вказуючи набір звуків, які можливо почути в даній ділянці слова, грунтуючись при цьому на ймовірнісних правилах.

Акустичний аналіз. Полягає у зіставленні різних акустичних моделей до кожного кадру мови і видає матрицю зіставлення послідовності кадрів і безлічі акустичних моделей.

Корекція часу. Використовується для обробки тимчасової варіативності, що виникає при вимові слів (наприклад, «розтягування» або «з'їдання» звуків).

Послідовність слів. В результаті роботи, система розпізнавання мови видає послідовність (або кілька можливих послідовностей) слів, яка найбільш ймовірно відповідає вхідному потоку мови[17].


.4 Огляд продуктів, які використовують технології голосового інтерфейсу


)Sphinx-4 - найвідоміший і найбільш працездатний з відкритих програмних продуктів для розпізнавання мови на сьогоднішній день. Розробка ведеться в університеті Карнегі-Меллона, поширюється на умовах ліцензії Berkley Software Distribution (BSD) і доступний як для комерційного, так і для некомерційного використання.

Характеристики:

-Дикторонезалежність;

-Розпізнавання злитого мовлення;

-Навчання;

-Наявність версії для вбудованих систем[28].

Існують три основних модулі структури Sphinx-4: модуль попереднього аналізу (Frontend), декодер (Decoder) і модуль лінгвістичного аналізу (Linguist). Модуль попереднього аналізу приймає один або більше вхідних сигналів і перетворює їх в послідовність ознак. Модуль лінгвістичного аналізу переводить будь-який тип стандартної моделі мови, разом з транскрипціями зі словника та інформацією про структуру однієї або декількох акустичних моделей, в граф пошуку. Модуль пошуку в декодері використовує ознаки з модуля попереднього аналізу та графа пошуку з модуля лінгвістичного аналізу для виконання фактичного декодування, генеруючи результати. В будь-який момент до або під час процесу розпізнавання, додаток може передавати управління кожному з модулів, які можуть допомогти процесу розпізнавання.

Кожен елемент на являє собою модуль, який може бути легко замінений, що дозволяє дослідникам експериментувати з різними реалізаціями модуля без необхідності зміни інших частин системи.

Система Sphinx-4, як і більшість систем розпізнавання мови, має велику кількість параметрів, що настроюються, такі як розмір променя пошуку для поліпшення продуктивності системи. Для настройки таких параметрів в Sphinx-4 використовується модуль управління конфігурацією. На відміну від інших систем управління конфігурацією в Sphinx-4 дозволяє динамічно завантажувати і налаштовувати модулі під час виконання, що робить систему гнучкою і легко підключається. Наприклад, Sphinx-4, як правило, налаштований на попередній аналіз, який виділяє Мел-кепстральні коефіцієнти (MFCC). Використовуючи управління конфігурацією можна переналаштувати Sphinx-4 на побудову іншого аналізу, який виділяє перцептуальние коефіцієнти лінійного передбачення без необхідності змінювати вихідний код або перекомпілювати систему.

Щоб дати розробникам додатків можливість відслідковувати статистику декодера, таку як частота помилок слово, швидкість виконання, і використання пам'яті, Sphinx-4 надає ряд інструментів. Як і в решті частини системи, інструменти є налаштованим, що дозволяє користувачам виконувати широкий спектр системного аналізу. Крім того, інструменти також забезпечують інтерактивну середу виконання, що дозволяє користувачам змінювати параметри системи під час її роботи, роблячи доступним швидке експериментування з різними параметрами налаштування.також підтримує утиліти, які обробляють результати розпізнавання на рівні додатків. Наприклад, ці утиліти отримують результати решітки, коефіцієнти впевненості, і ступінь розуміння природної мови[32].

)Google Voice Search (компанія «Google»). Раніше пошук застосовувався виключно в мобільних пристроях. З недавнього часу голосовий пошук від Google вбудований в браузер Google Chrome, що дозволяє використовувати цей сервіс на різних платформах.

Характеристики:

-Підтримка російської мови;

-Можливість вбудовувати розпізнавання мови на веб-ресурси;

-Голосові команди, словосполучення;

-Для роботи необхідно постійне підключення до мережі Інтернет.

)Горинич ПРОФ 3.0 - перша російськомовна система автоматичного розпізнавання мови для диктування і голосового управління комп'ютером з підтримкою російської мови для операційної системи Windows XP.

Характеристики:

-Дикторозалежність;

-Мовна залежність (російська мова та англійська мова);

-Точність розпізнавання залежить від ядра системи американської програми «Дракон диктат»;

-Надає засоби голосового управління окремими функціями операційної системи, текстових редакторів і прикладних програм;

-Вимагає навчання.

)VoiceNavigator (компанія «Центр мовних технологій») високотехнологічне рішення для контакт-центрів, призначене для побудови систем голосового самообслуговування. VoiceNavigator дозволяє автоматично обробляти виклики за допомогою технологій синтезу і розпізнавання мови. VoiceNavigator - це веб-навігація по веб-ресурсам за допомогою голосу. Розробка дозволяє управляти навігацією сайту за допомогою мовних команд.

Характеристики:

-Дикторонезалежність;

-Стійкість до оточуючих шумів і перешкод в телефонному каналі;

-Розпізнавання російської мови працює з надійністю 97% (словник 100 слів).

)Speereo розпізнавання мови (російська ІТ компанія «Speereo Software»). Програмний продукт для розробки додатків в індустрії мобільних пристроїв і персональних комп'ютерів. Розпізнавання мови відбувається безпосередньо на пристрої, а не на сервері, що є ключовою перевагою, на думку розробників.

Характеристики:

-Розпізнавання російської мови працює з надійністю близько 95%;

-Дикторонезалежність;

-Словниковий запас близько 150 тис. слів;

-Одночасна підтримка декількох мов;

-Компактний розмір двигуна.

)Sakrament ASR Engine (розробка компанії «Сакрамент») - технологія розпізнавання мови використовується при створенні засобів голосового управління - програм, керуючих діями комп'ютера або іншого електронного пристрою за допомогою голосових команд, а також при організації телефонних, довідкових та інформаційних служб.

Характеристики:

-Дикторонезалежність;

-Мовна незалежність;

-Точність розпізнавання досягає 95-98%;

-Розпізнавання мови у вигляді виразів і невеликих пропозицій;

-Немає можливості навчання.

)Dragon NaturallySpeaking (компанія «Nuance») - світовий лідер у програмному забезпеченні по розпізнаванню людської мови. Можливість створювати нові документи, відправляти електронну пошту, управляти популярними браузерами та різноманітними додатками за допомогою голосових команд.

Характеристики:

-Відсутня підтримка російської мови;

-Точність розпізнавання до 99%.

)ViaVoice (компанія «IBM») являє собою програмний продукт для апаратних реалізацій. Компанія Provox технології на основі цього ядра створила систему для диктування звітів лікарів-радіологів VoxReports.

Характеристики:

-Точність розпізнавання досягає 95-98%;

-Дикторонезалежність;

-Словник системи обмежений набором специфічних термінів.


1.5 Реалізація голосового інтерфейсу в AutoCAD


Було проведено тестування впровадження голосового інтерфейсу в системі автоматичного проектування фірми Autodesk AutoCAD. Ця програма оснащена розвиненим графічним Windows інтерфейсом і програмним інтерфейсом для розробки різних додаткових модулів, за допомогою яких можна повністю управляти процесом в система автоматичного проектування. Знання принципів роботи проектувальника в AutoCAD дало можливість виявити недоліки розглянутої система автоматичного проектування, які можна поліпшити, застосувавши голосовий інтерфейс. Такі функції, як включення прив'язок, виклик і робота з видами, робота з шарами, відміна команд, не мають прямого відношення до проектування, і при їх викликах традиційними методами відбувається уповільнення процесу проектування, так як порушується семантичний зв'язок дій людини через певний інтерфейс управління комп'ютером і оптимальним є перенесення виклику цих дій на інший інформаційний канал. Дуже зручною буде організація відповідності між звуковим і візуальним символом (іконки з панелі інструментів). А найголовніше ці поліпшення можуть бути потрібні людям, які працюють з цією системою автоматичного проектування. Чому «можуть бути»? Та тому що голосовий інтерфейс розглядається як додатковий, і людина буде вибирати, чим користуватися.

В AutoCAD існує рядок введення команд. Він є центральною ланкою в схемі управління системи автоматичного проектування. Через нього проходять на обробку усі команди фахівців, що надходять в AutoCAD, незалежно від того були вони введені з клавіатури, миші або через діалогове вікно. У цьому рядку також зберігається поточний стан системи (поточна команда). Якщо голосовий інтерфейс буде використовувати для спілкування з системою автоматичного проектування цей рядок, то він не буде створювати перешкоди в роботі іншим інтерфейсам. Таким чином, ми отримали багатомодульний інтерфейс. За попередніми результатами досліджень запропонована концепція використання голосового інтерфейсу в системі автоматичного проектування AutoCAD повністю себе виправдала, ведуться роботи з подальшого вдосконалення програмного забезпечення та принципів застосування голосового інтерфейсу [8, C. 209].


2. Методика побудови та оцінювання ефективності голосового інтерфейсу


.1 Попередній аналіз сигналу


Голосовий сигнал, що надійшов з мікрофона, оцифровується і являє собою набір безлічі значень, число яких, як правило, коливається від 8000 до 22050 в секунду в залежності від частоти дискретизації сигналу. Отриманий масив даних із-за високої розмірності не придатний для подальшого використання в незмінному вигляді, і тому необхідно провести параметричне представлення цих даних. Параметричне перетворення повинне задовольняти не тільки вимогам щодо скорочення розмірності даних, а й зберігати при цьому істотну для розпізнавання інформацію про мови. Крім того, обчислювані на основі аудіоданих параметри повинні бути максимально інваріантні до особливостей вимови дикторів, гучності мови і наявності шумів. Це дозволить подальшим етапам аналізу промови працювати з даними, які є компактними, що містять ключові особливості мови і властивості яких залишаються незмінними при зміні диктора або акустичної обстановки.

Ключовим у багатьох системах розпізнавання мови є підхід до обчислення параметрів голосового сигналу, заснований на кепстральному аналізі. Кепстральний аналіз можна розглядати як спосіб розділення вихідної акустичної хвилі, утвореної в голосовій щілині, і дії голосового тракту, який за своїми властивостями являє собою фільтр. Найбільш корисною є інформація саме про фільтр, тобто про форму голосового тракту в даний момент. Передбачається, що за цією формою можна визначити те, який звук був вимовлений. Отже, саме цю частину даних і слід використовувати в якості складових вектора ознак.

Мел-частотні кепстральні коефіцієнти MFCC (Mel-frequency cepstral coefficients) - це своєрідне уявлення енергії спектра сигналу. Плюси його використання полягають у наступному:

)використовується спектр сигналу (тобто розкладання по базису ортогональних синусоїдальних функцій), що дозволяє враховувати хвильову «природу» сигналу при подальшому аналізі;

2)спектр проектується на спеціальну mel-шкалу <#"justify">Спосіб обчислення кепстральних коефіцієнтів являє собою послідовність з кількох етапів, представлених на рис. 2.1.


Рисунок 2.1 - Процес обчислення Мел-частотних кепстральних коефіцієнтів


В якості першого кроку обчислення кепстра розглядається процедура збільшення енергії в високочастотних сегментах. Необхідність цього кроку продиктована тим, що вокалізовані сегменти, такі як, наприклад, голосні, мають меншу частоту і містять більше енергії, ніж високочастотні сегменти. Така нерівномірність у розподілі енергії по різним частотам пояснюється будовою мовного апарату людини. Подолання цього «Спектрального нахилу» (spectral tilt) за допомогою збільшення енергії не вокалізірованних сегментів дозволяє збільшити їх вагу при розпізнаванні.

Збільшення енергії в цих сегментах досягається шляхом застосування фільтра, який відсікає постійну складову сигналу:


y[n] = x[n]?бx [n ?1]


де б ? [0,9; 1], вектори x і y представляють значення сигналу до і після застосування фільтра.

Наступним етапом обчислення є розбиття сигналу на фрагменти довжиною N відліків і з кроком K відліків. В якості віконної функції використовується вікна Хеммінга. Результатом такого перетворення на i-ой ітерації буде добуток значень сигналу y [n] і значень функції вікна Хемминга w[n]:


y [n] = y [n] w [n],


До отриманих фрагментів сигналу застосовується швидке перетворення Фур'є:



Далі формується набір фільтрів, які перекриваються, розташованих згідно Mel-шкалі, перетворення частот який описується наступним рівнянням:



Відліки, включені в кожен фільтр, перераховуються з урахуванням трикутного вікна, визначається енергія на виході кожного фільтра S(n) і робиться логарифмуванння виходу кожного фільтра.

Зрештою, описані вище перетворення можна записати в наступному вигляді:



Поряд з коефіцієнтами даного вектора прийнято використовувати значення «Дельт», що відбивають швидкість і прискорення, з якими змінюються значення даних векторів MFCC при переході від одного сегмента промови до іншого [34, 936 c.].


.2 Приховані марківські моделі


В якості математичного апарату, який застосовується для розпізнавання голосових команд, пропонується використати приховані марківскі моделі (ПММ) які являють собою універсальний інструмент опису стохастичних процесів. Для роботи з ними не існує точних математичних моделей, а їх властивості міняються з плином часу відповідно до деяких статистичних законів [24].

Достоїнствами методу прихованих моделей Маркова є:

-швидкий спосіб обчислення значень функцій відстані (ймовірності);

-істотно менший обсяг пам'яті, в порівнянні з методом «динамічної деформації часу», необхідний для зберігання еталонів команд.

Основними недоліками:

-велика складність його реалізації;

-необхідність використання великих фонетично збалансованих мовних корпусів для навчання параметрів.

При практичній роботі з прихованими марківськими моделями доводиться вирішувати ряд ключових завдань:

) вибір системи параметричних векторів, наприклад, для розпізнавання мовлення використовуються кепстральні коефіцієнти (MFCC), коефіцієнти лінійного передбачення (LPC??) і ряд інших;

) розробка алгоритму нормалізації параметричних векторів;

) вибір кількості станів моделі N і числа компонент гаусом суміші M;

) первісна сегментація навчальних векторів для знаходження наближених значень математичних очікувань гаусівських сумішей на початковому кроці навчання і т.д.

Необхідно зауважити, що немає універсального алгоритму визначення вищеперелічених параметрів і в кожному конкретному випадку, в залежності від розв'язуваної задачі, може знадобитися проведеня величезної кількості експериментів, перш ніж будуть досягнуті необхідні результати точності розпізнавання [26].

В основі прихованої марківської моделі лежить кінцевий автомат, що складається з N-станів, які називаються прихованими. Переходи між станами в кожен дискретний момент часу t не являються детермінованими, а відбуваються у відповідності з ймовірнісним законом і описуються матрицею ймовірностей переходів.

Схематичне зображення діаграми переходів між станами ПММ приведено на рис. 2.2.


Рисунок 2.2 - Діаграма переходів між станами прихованої марківської моделі


Знаходження моделі в деякому стані i відповідність певній стаціонарності сигналу спостерігається на обмеженому часовому інтервалі. З'являється проста фізична інтерпретація ПММ: розглядається процес, який іноді стрибкоподібно змінює свої характеристики.

При здійсненні чергового переходу в стан i в момент часу t відбувається генерація вихідного вектора xt, який називають параметричним вектором, відповідно до багатомірної функції розподілу ймовірностей fj (x).

Результатом роботи прихованої марківської моделі є послідовність векторів (спостережень) {x1, x2,…, xT} довжиною T. Перевагою ПММ є можливість обробки послідовностей і сигналів різної довжини, що утруднено при роботі з штучними нейронними мережами, зокрема.

Функція щільності ймовірностей fj (x) для стану j описується, як правило, виваженою гаусівською сумішшю:



де M - кількість компонент суміші;

wi - вага компонента суміші;

pi (x) - нормальний розподіл для D-мірного випадку. Функція pi (x) описується наступним вираженням:



де D - розмірність вектора;

мi - вектор математичного очікування;

уi - матриця коваріації [24].

Робота з прихованими марковскими моделями, як і з будь-якою іншою адаптивною експертною системою, здійснюється в два етапи:

) навчання - визначення параметрів моделі - алгоритм Баума-Велч

) визначення - яка ймовірність того, що спостережувана послідовність векторів {x1, x2,…, xT} була згенерована даною моделлю - алгоритм максимуму правдоподібності (Вітербі). Далі наводиться короткий опис вищеперелічених чисельних алгоритмів.

Навчання прихованої марківської моделі. Процес навчання прихованої марківської моделі полягає у визначенні за допомогою набору навчаємих зразків наступних параметрів:

матриці ймовірностей переходів між станами;

параметрів гаусівських сумішей (математичне очікування, матриця коваріації і ваги) для кожного стану[26].

Для вирішення цих задач спільно застосовуються два ітераційних алгоритми: forward-backward і Baum-Welch re-estemation.

В алгоритмі forward-backward вводяться дві функції: прямого поширення ймовірності aj (t) і зворотнього вj (t). Значення величини aj (t) являє собою ймовірність спостереження послідовності векторів {x1, x2,…, xt} і знаходження ПММ в стані j в момент часу t:



Величини aj (t) і aj (t -1) пов'язані ітераційним виразом:



де Aij - ймовірність переходу зі стану i в стані j;

fj (xt) - ймовірність спостереження вектора xt в стані j.

Зворотня функція вj (t) являє собою ймовірність знаходження ПММ в стані j в момент часу t з подальшим спостереженням послідовності {x t+1, xt +2,…, xT}:



Величини вj (t) і вj (t + 1) пов'язані аналогічним чином:



Величини aj (t) і вj (t) дозволяють визначити ймовірність знаходження ПММ в стані j в момент часу t при спостереженні послідовності {x1, x2,…, xt}:



де P = aN (T) - загальна ймовірність спостереження послідовності {x1, x2,…, xt} даної ПММ.

Алгоритм Баума-Велч на черговому кроці навчання дозволяє, використовуючи вищенаведені вирази, зробити переоцінку параметрів моделі[24].

Нехай є R навчальних зразків, тоді ймовірність переходу зі стану i в стан j визначається як:



Для кожного стану j і для кожної компоненти гаусовської суміші m математичне сподівання, матриця коваріації і вага визначаються наступними виразами:



Для якісного навчання прихованої марківської моделі потрібно множину зразків сигналу: від декількох десятків до декількох сотень екземплярів. Також необхідно дотримуватися умова лінійної незалежності навчальних зразків, в іншому випадку, в процесі навчання відбувається виродження матриці коваріації, наслідком чого є повна непрацездатність моделі [26].

У процесі навчання може виникнути ситуація, коли значення ймовірностей в знаменнику вищенаведених виразів матимуть дуже маленькі значення (близькі до нуля), що призведе до переповнення регістрів процесора і виключно ситуацій. Тому в практичній роботі застосовується логарифмічна арифметика (використовуються логарифми ймовірностей, а не їх безпосередні значення) [24].


2.3 Алгоритм Вітербі


Алгоритм Вітербі - алгоритм <#"justify">-спостережувані і приховані події повинні бути послідовністю. Послідовність найчастіше впорядкована за часом;

-дві послідовності повинні бути вирівняні: кожна спостережувана подія має відповідати рівно одній прихованій події;

-обчислення найбільш вірогідної прихованої послідовності до моменту t повинно залежати тільки від спостережуваної події в момент часу t, і найбільш вірогідної послідовності до моменту t - 1.

Є набір спостережуваних величин (власне, звук) та ймовірнісна модель, які співвідносяться прихованому стану (фонеми) і спостережуваним величинам. Алгоритм Вітербі дозволяє відновити найбільш ймовірну послідовність прихованих станів.

Для реалізації алгоритму Вітербі необхідно вибрати послідовність станів Q = {q1, q2,… qф}, яка з найбільшою ймовірністю породжує зазначену послідовність.

Вводяться змінні:


дt (i) = max P (qt = Si | q1q2… qt-1, o1o2… ot, л),


тобто максимальну ймовірність того, що при заданних спостереженнях до моменту t послідовність станів завершиться в момент часу t в стані Si, а також введемо змінну шt (i) для зберігання аргументів, що максимізує дt (i).

Отже, алгоритм Вітербі:

крок. Для всіх i від 1 до N:


д1(i)=рibi(o1)

ш1(i)=0


крок. Для всіх j від 1 до N і t від 2 до T:

крок. Отримуємо найбільшу ймовірність спостереження послідовності o1o2… oT, яка досягається при проходженні якоїсь оптимальної послідовності станів Q* = {q*1, q*2,… q*T}, для якої на цей момент відомо тільки останній стан:

крок. Відновлюємо оптимальну послідовність станів (зворотній прохід). Для всіх t від T-1 до 1 (крок =-1):


q*t = шt+1(q*t+1)


Алгоритм Вітербі досить простий у реалізації (використовується динамічне програмування) і працює за час, пропорційний добутку кількості станів ПMM на число фреймів. Однак не завжди нам досить знати найвірогідніший шлях; наприклад, при тренуванні акустичної моделі потрібна оцінка ймовірності кожного стану на кожному фреймі. Для цього використовується алгоритм Forward-Backward.

Однак акустична модель - це всього лише одна зі складових системи. Що робити, якщо словник розпізнавання складається не з двох слів, як в розглянутому вище прикладі, а з сотень тисяч або навіть мільйонів? Багато хто з них будуть дуже схожі за вимовою або навіть збігатися. Разом з тим, при наявності контексту роль акустики падає: невиразно вимовлені, зашумлені або неоднозначні слова можна відновити «за змістом». Для обліку контексту знову-таки використовуються ймовірнісні моделі. Наявність фіксованого контексту задає розподіл ймовірностей для наступного слова, яке відображає як семантику, так і морфологію. Такий тип мовних моделей називається n-gram language models.


2.4 Методика GOMS


При взаємодії людини з системою виникає необхідність оцінки ефективності такої взаємодії з метою подальшого його поліпшення. Для практичних потреб оцінку ефективності такої взаємодії можна ототожнити з оцінкою ефективності його інтерфейсу.

Ефективність відноситься до основних критеріїв якості інтерфейсу людини з системою. Цей критерій цілком піддається кількісній оцінці, що дозволяє дати рекомендації щодо поліпшення інтерфейсу.

Ефективність - це вплив інтерфейсу на швидкість, повноту і точність досягнення користувачем цільових результатів.

Для оцінки ефективності інтерфейсу людини з системою, що реалізований у вигляді комп'ютерної програми можна виділити два показники:

)Час виконання операцій для досягнення цілей користувача;

)Символьна ефективність інтерфейсу.

Отримання значень цих показників і розрахунок цих значень для деяких ідеальних інтерфейсів дозволяє визначити можливість і шляхи подальшого поліпшення існуючого інтерфейсу.

У методиці GOMS (модель цілей, обєктів, методів і правил відбору) розрахунок ефективності інтерфейсу ґрунтується на понятті ментальних операцій та їх послідовній розстановці.(мета або завдання) - те, чого хоче досягти користувач. Вони можуть бути визначені на різних рівнях абстракції, від цілей високого рівня (наприклад, написати наукову статтю) до цілей низького рівня (наприклад, видалити слово). Мети вищого рівня можна розкласти на підцілі і розташувати ієрархічно.(оператори) - елементарні моторні, пізнавальні дії, які використовуються для досягнення цілей (наприклад, «клікнути» маніпулятором «Миша», натиснути клавішу Insert). Оператори не розкладені. Передбачається, що користувачеві потрібно певну кількість часу, щоб виконати кожен оператор.(методи) - це опис процедури для досягнення цілей. По суті, метод є алгоритмом, щоб користувач запам'ятав послідовність під цілей і операторів, необхідних для досягнення бажаної мети. Наприклад, один із способів досягнення мети «Видалити слово» це поставити курсор в початок слова за допомогою миші і натиснути комбінацію клавіш Ctrl + Delete. Інший спосіб досягти тієї ж мети - за допомогою клавіш зі стрілками поставити курсор в початок слово і натиснути комбінацію клавіш.Rules (правила вибору) - визначають, які методи повинні бути використані для досягнення даної мети, в залежності від контексту. Правила вибору звичайно приймають форму умовного оператора, наприклад, «якщо слово буде розташовано менш ніж на три лінії від поточного положення курсору, тоді використовуємо метод» видалення слова-використання клавіш зі стрілками», інакше використовуємо метод» видалення слова - використання миші».

Розробники методики GOMS під час її створення помітили, що час, потрібний для виконання якоїсь задачі системою «користувач - комп'ютер», є сумою всіх тимчасових інтервалів, які потрібні були системі на виконання послідовності елементарних жестів, що складають дану задачу. Хоча для різних користувачів час виконання того чи іншого жесту може сильно відрізнятися, дослідники виявили, що для більшої частини порівняльного аналізу задач, що включають використання клавіатури і графічного пристрою введення, замість проведення вимірювань для кожного окремого користувача можна застосувати набір стандартних інтервалів. За допомогою ретельних лабораторних досліджень був отриманий набір тимчасових інтервалів, необхідних для виконання різних жестів. Нижче, у табл..2.1, наводиться оригінальна номенклатура, в якій кожен інтервал позначений однією буквою (Card, Moran і Newell, 1983).


Таблиця 2.1 - Набір тимчасових інтервалів, необхідних для виконання різних жестів

ЖестОписК=0,28сНатискання клавіші. Час необхідний, щоб нажати на клавішу.Р=1,1сВказівка. Час, необхідний користувачу, щоб вказати на якусь позицію на екрані монітору.Н=0,4сПереміщення. Час, необхідний користувачу, щоб перемістити руку з клавіатури на мишу, або навпаки.М=1,35сМентальна підготовка, тобто це час, який необхідний користувачу, щоб психологічно підготовитись до наступної дії.RВідгук комп'ютера. Час очікування користувача відгуку від компютера.

На практиці вказані значення можуть варіюватися в широких межах. Для досвідченого користувача, здатного друкувати зі швидкістю 135 слів / хв., Значення K може становити 0.08 с, для звичайного користувача, що має швидкість 55 слів / хв., - 0.2 с, для середнього недосвідченого користувача, що має швидкість 40 слів / хв., - 0.28 с, а для початківця - 1.2 с. Не можна сказати, що швидкість набору не залежить від того, що саме набирається. Для того щоб набрати одну букву з групи випадково взятих букв, більшості людей потрібно близько 0,5 с. Якщо ж це якийсь заплутаний код (наприклад, адреса електронної пошти), то у більшості людей швидкість набору складе близько 0.75 символів в секунду. Значення K включає в себе і той час, який необхідно користувачеві для виправлення відразу помічених помилок. Клавіша <Shift> вважається за окреме натискання.

За допомогою типових значень ми можемо зробити правильну порівняльну оцінку між якимись двома інтерфейсами за рівнем ефективності їх використання.

Обчислення часу, необхідного на виконання тієї чи іншої дії (наприклад, «перемістити руку з графічного пристрою введення на клавіатуру і набрати букву»), за допомогою моделі GOMS починаються з перерахування операцій зі списку жестів моделі GOMS (табл. 2.1), які складають цю дію. Перерахування рухів (K, P і H) - це досить проста частина моделі GOMS. Складнішим, в моделі швидкості друку GOMS, є визначення точок, в яких користувач зупиниться, щоб виконати несвідому ментальну операцію, - інтервали ментальної підготовки, які позначаються символом M. Основні правила, що дозволяють визначити, в які моменти будуть проходити ментальні операції, представлені в табл. 2.2

Правила розстановки ментальних операцій представлена далі у табл. 2.2.


Таблиця 2.2 - Правила розстановки ментальних операцій

ПравилоОписПравило 0. Початкова розстановка операторів МОператори M слід встановлювати перед усіма операторами K (натискання клавіші), а також перед усіма операторами P (вказівка ??за допомогою ГУВ), призначеними для вибору команд; але перед операторами P, призначеними для вказівки на аргументи цих команд, ставити оператор M не слід.Правило 1. Видалення очікуваних операторів МЯкщо оператор, наступний за оператором М, є повністю очікуваним з точки зору оператора, що передує М, то цей оператор М може бути видалений.Правило 2. Видалення операторів M всередині когнітивних одиницьЯкщо рядок виду MKMKM К… належить когнітивної одиниці, то слід видалити всі оператори М, крім першого. Когнітивної одиницею є безперервна послідовність символів, що вводять, які можуть утворювати назва команди або аргумент.Правило 3. Видалення операторів M перед послідовними роздільникамиЯкщо оператор K означає зайвий роздільник, що стоїть в кінці когнітивної одиниці (наприклад, роздільник команди, наступний відразу за роздільником аргументу цієї команди), то слід видалити оператор M, що стоїть перед ним.Правило 4. Видалення операторів М, які є переривниками командЯкщо оператор K є роздільником, вартим після постійної рядка), то слід видалити оператор M, що стоїть перед ним. (Додавання роздільника стане звичним дією, і тому роздільник стане частиною рядка і не вимагатиме спеціального оператора М.) Але якщо оператор K є роздільником для рядка аргументів чи будь-який інший змінною рядка, то оператор М слід зберегти перед ним.Правило 5. Видалення перекривають операторів МБудь-яку частину оператора М, яка перекриває оператор R, що означає затримку, пов'язану з очікуванням відповіді комп'ютера враховувати не слід.

Крім того, відзначимо, що в цих правилах під рядком буде розумітися деяка послідовність символів. Роздільником вважатиметься символ, яким позначено початок або кінець значимого фрагмента тексту, такого як, наприклад, слово природної мови або телефонний номер. Наприклад, прогалини є роздільниками для більшості слів. Точка є найбільш поширеним роздільником, який використовується в кінці речень. Дужки використовуються для обмеження пояснень і зауважень і т.д. Операторами є K, P і H. Якщо для виконання команди потрібна додаткова інформація (як, наприклад, у випадку коли для установки будильника користувачеві потрібно вказати час його включення), ця інформація називається аргументом даної команди.

Щоб зробити правильну оцінку часу, необхідного на виконання завдання за допомогою конкретного інтерфейсу, перш за все слід визначити мінімальну кількість інформації, яку користувач повинен ввести. Ця мінімальна кількість не залежить від виду інтерфейсу [5, 272 c.].


3. Розробка програм з голосовим інтерфейсом


.1 Вибір інструментальної платформи


Для програмної реалізації голосового інтерфейсу використовуються:

)JDK (J2SE);

)Eclipse;

)Sphinx-4;

)JSAPI (Included in Sphinx);

)Apache Ant.

Далі більш детально розглянемо:

)JDK - Java Development Kit (засіб розробки на Java). Java дозволяє створювати самодостатні програми для різних операційних систем як то Windows, Linux тощо. Крім того, в даний час Java широко застосовується для програмування різних пристроїв, наприклад, мобільних телефонів, на ній також пишуться комп'ютерні ігри для них, створюють також програми для інтернету - аплети і програми для серверів - сервлети та JSP (Java Server Pages).

Мова значно запозичила синтаксис із <#"justify">Обєктно-орієнтована

Термін «обєктно-орієнтована мова» для програміста означає, що при розробці додатків він оперує, головним чином, даними і засобами їхньої обробки, а не мислить на мові процедур (як робиться це в Pasсal і С).

Інтерпретована

Java - мова, що інтерпретується. Компилятор Java створює байт-код для віртуальної машини Java (JVM - Java Virtual Machine), а не «нинішній» машинний код для машини, на якій працює програма. Щоб запустити програму на Java, необхідно використати інтепретатор Java, що буде виконувати інструкції відкомпільованого байт-коду.

Архітектурно-нейтральна і переносима

Програми на Java компілюється в байт-код архітектурно-нейтрального формату, тому додатки на Java можуть працювати на будь-якій платформі, для якої реалізована виртуальна машина Java. Це особливо важливо для додатків, що функціонують в мережі Internet або інших неоднорідних мережах. Архітектурно-нейтральний підхід також корисний і поза сферою діяльності мережевих додатків. Для розробника додатків на сучасному ринку програмного забезпечення, виникає потреба створювати свої додатки таким чином, щоб вони працювали на комп'ютерах PC, Mac і робочих станціях UNIX. З урахуванням відмінностей в роботі UNIX, Windows95 і Windows NT на платформі PC і нових PowerPC Macintosh стає все важче виробляти програмне забезпечення для всіх можливих платформ. Однак якщо додаток написаний на Java, він може працювати на всіх платформах.

Той факт, що Java є інтерпретованою мовою, підтримує стандартний архітектурно-незалежний формат байт-коду, - це одна наважливіша частина забезпечення перенесення.

Динамічна і розподілена

Java - це динамічна мова. Кожний клас Java може бути завантажений працюючим інтерпретатором Java в будь-який момент часу. Внутрішні бібліотеки теж завантажуються динамічно.є так званою розподіленою мовою. Це означає, що він забезпечує широку підтримку роботи в мережі на високому рівні. Наприклад, клас URL разом з відповідними класами пакету java.net дозволяє читати інформацію з віддаленого файлу також легко, як з локального.

Розподілена природа Java виявляється особливо яскраво в поєднанні з можливостями динамічного завантаження класів. Саме сполучення цих двох властивостей дозволяють інтепретатору Java завантажувати і запускати на виконання програми з Internet.

Проста

Java - проста мова. Розробники Java поставили перед собою мета створити мову, легку для вивчення, тому число мовних конструкцій в ній порівняно невелике. Іншою метою було зробити мову, що здавалася б знайомим більшості програмістів, що полегшило б їх міграцію.

Стійка

Мова Java служить для написання дуже надійного або стійкого програмного забезпечення. Java строго типізована мова, що допускає достатньо простору перевірку можливої невідповідності типів на етапі компіляції. Автоматичний «збір сміття» в Java відвертає втрати блоків в пам'яті і інші фатальні помилки, пов'язані з її виділенням і вивільненням.

Безпечна

Одна з найбільш розрекламованих рис Java - безпека. Вона має дуже велике значення, оскільки Java використовується в мережах. Java розроблась з урахуванням вимог безпеки і в ній реалізовано декілька рівнів безпеки, призначених для захисту користувачевої системи від зловмисних програм.

Високоефективна

Java - інтерпретована мова, тому вона ніколи не буде такою швидкою, як компільовані мови. Ефективність байт-коду, що інтерпретувався Java значно вище, ніж у мов сценаріїв високого рівня, і в той самий час Java забезпечує простоту і переносність.

Багатопотокова

Java - багатопотокова мова. Вона забезпечує підтримку багатьох потоків виконання, що одночасно розвязують різноманітні задачі. Одна з переваг багатопоточності полягає в поліпшенні інтерактивності графічних додатків[22].

Технологія Java™ складається з двох елементів: мови програмування - Java та програмної платформи підтримки мови Java. Однією з таких платформ є Eclipse.

)Eclipse - спільнота розробників відкритого вихідного коду, чиї проекти націлені на побудову відкритої платформи для розробки, що складається з розширюваного середовища розробки, інструментарію та бібліотек для побудови, розгортання та управління програмним забезпеченням в період його життєвого циклу[21].

)Sphinx-4 - це модульна і переносна система, яка об'єднує шаблони проектування з існуючих проектів, з достатньою гнучкістю, щоб підтримувати області інтересів дослідників, які розвиваються. Система модульна, тому що вона включає в себе роздільні системи, присвячені специфічним задачам, і вона переносимо, тому що модулі можуть бути легко замінені під час виконання. Щоб застосувати цю систему і забезпечити дослідників робочою системою, Sphinx-4 включає в себе безліч модулів, які реалізовують сучасні методи розпізнавання мови.

)JSAPI (Included in Sphinx) - це програма, яка дозволяє безлічі програм використовувати одні й ті ж функції[31].

)Apache Ant - це заснований на Java набір інструментів для зборки додатків.- це тегова мова. Він обробляє XML-файли, організовані особливим чином. Кожен тег по суті є Java-класом, і є можливість створювати свої теги або розширювати можливості вже наявних.- це багатоплатформний, заснований на використанні командного рядка продукт, і тому, можлива інтеграція з іншими операційними системами.

Замість того щоб наслідувати функції командного рядка, Ant заснований на Java-класах. Конфігураційний файл влаштований у вигляді XML, з якого можна викликати розгалужену систему цілей, що складається з безлічі дрібних завдань.

Кожна задача є об'єктом, який успадковує відповідний інтерфейс класу Task. Все це дає можливість переносити програму з платформи на платформу. І якщо дійсно необхідно викликати який-небудь процес у Ant є задача <exec>, яка дозволяє це зробити в залежності від платформи[30].


3.2 Вимоги до програм та інструкція користувача


Розроблені програми відповідають наступним вимогам:

відповідність призначенню та структурі інтерфейсу;

мінімізація витрат ресурсів користувача;

гнучкість;

максимальна концентрація користувача на задачі;

врахування професійних навичок користувача;

легкість користування і простота навчання;

надійність.

Для коректної роботи програми «Голосовий калькулятор» необхідно:

.якщо на компютері користувача не встановлено програмне забезпечення Java, необхідно завантажити та виконати інсталяцію поточної версії Java з сайту Oracle;

.необхідно підключити мікрофон, та впевнитись, що він працює;

.після запуску програми зачекати 10-15 с. розпочати введення даних за допомогою голосових команд, клавіатури та мишки.


3.3 Опис розроблених програм з голосовим інтерфейсом


Для дослідження та визначення ефективності голосового інтерфейсу, було розроблено 4 програми з впровадженим в них голосовим інтерфейсом:

)«Голосовий калькулятор», який включає в себе, окрім стандартних методів вводу та редагування інформації, аналогічні голосові команди;

)«Голосовий калькулятор - 2», який включає в себе, окрім стандартних методів вводу та редагування інформації, службові голосові команди;

)«Голосовий блокнот», який включає в себе, окрім стандартних методів редагування інформації, службові голосові команди;

)«Голосовий знімок екрану», який включає в себе, окрім стандартних методів управління програмою, службові голосові команди.

В якості математичного апарату, що застосовується для розпізнавання голосових команд в Sphinx-4, застосовуються приховані марківскі моделі та алгоритм Вітербі.

Далі більш детально розглянемо розроблені програми з впровадженим в них голосовим інтерфейсом:

)Програма «Голосовий калькулятор-1» включає в себе, окрім стандартних методів вводу та редагування інформації, 27 голосових команд: plus, minus, clear, a back, b back, a clear, b clear, a One, a Two, a Three, a Four, a Five, Six, a Seven, a Eight, a Nine, a Zero, b One, b Two, b Three, b Four, b Five, b Six, b Seven, b Eight, b Nine, b Zero. Зовнішній вигляд програми зображено на рис. 3.1.


Рисунок 3.1 - Зовнішній вигляд програми «Голосовий калькулятор»


В процесі роботи програми «Голосовий калькулятор» будуть одержані наступні результати:

.за допомогою голосових команд та клавіатури вводяться дані;

.команда «Plus» або «Minus» проводить розрахунки та на екран виводиться результат.

Код програми представлений у додатку К.

Архітектуру та функціональну структуру програми «Голосовий калькулятор» зображено на рис. 3.2 та рис. 3.3.


Рисунок 3.2 - Архітектура програми «Голосовий калькулятор»


Рисунок 3.3 - Функціональна структура програми «Голосовий калькулятор»


2)Програма «Голосовий калькулятор - 2» включає в себе, окрім стандартних методів вводу та редагування інформації, 9 голосових команд: one, two, one back, two back, plus, minus, clear, one clear, two clear. Зовнішній вигляд програми зображено на рис. 3.4.


Рисунок 3.4 - Зовнішній вигляд програми «Голосовий калькулятор - 2»


В процесі роботи програми «Голосовий калькулятор» будуть одержані наступні результати:

.за допомогою голосових команд та клавіатури вводяться дані;

.команда «Plus» або «Minus» проводить розрахунки та на екран виводиться результат.

Код програми представлений у додатку Л.

Архітектуру та функціональну структуру програми «Голосовий калькулятор - 2» зображено на рис. 3.5 та рис. 3.6.


Рисунок 3.5 - Архітектура програми «Голосовий калькулятор - 2»

)Програма «Голосовий блокнот» включає в себе, окрім стандартних методів редагування інформації, 5 голосових команд: select, copy, past, cut, time. Ці голосові команди є службовими і призначені для більш ефективної роботи з програмою. Зовнішній вигляд програми зображено на рис. 3.6.


Рисунок 3.6 - Зовнішній вигляд програми «Голосовий блокнот»


В процесі роботи програми «Голосовий блокнот», використовуючи голосові команди, клавіатуру та мишку, будуть одержані наступні результати:

.виділяється текст;

.копіюється або вирізається текст;

.вставляється текст.

Код програми представлений у додатку М.

)Програма «Голосовий знімок екрану» включає в себе, окрім стандартних методів управління, 2 голосові команди: save, clip. Зовнішній вигляд програми зображено на рис. 3.7.


Рисунок 3.7 - Зовнішній вигляд програми «Голосовий знімок екрану»


В процесі роботи програми «Голосовий знімок екрану», використовуючи голосові команди та мишку, будуть одержані наступні результати:

.зроблено знімок екрану;

.зберігання зображення.

Код програми представлений у додатку Н.


Висновки і перспективи подальших досліджень


Робота присвячена актуальній темі дослідження ефективності застосування марківських прихованих моделей для побудови голосових компонент інтерфейсу користувача з програмними додатками.

Ефективність розраховано з використанням модифікованої методики GOMS на прикладах 4 програмних додатків, розроблених для данної дипломної роботи, в яких для розпізнавання голосових команд використовуються приховані марківські моделі.

В результаті досліджень були отримані наступні наукові результати:

)виявлено, що межі ефективності інтерфейсу користувача з програмними додатками залежать від засобів взаємодії користувача з програмою. У дослідженні розглядались наступні засоби:

-клавіатура;

-маніпулятор «миша»;

-голосові команди;

-змішані варіанти вищеперерахованих засобів.

)визначено, що використання голосової складової з кількістю команд більше ніж 9 не підвищує ефективність використання інтерфейсу користувача з операційною системою;

)використання голосової складової з кількістю команд менше за 9 підвищує ефективність використання традиційного інтерфейсу на 4%;

)приховані марківські моделі можуть бути використані для побудови голосової складової інтерфейсу людини з програмними додатками.

В подальших дослідженнях на обрану тему важливо було б зробити порівняльний аналіз ефективності ПММ для побудови голосового інтерфейсу користувача з програмними додатками.


Перелік посилань


1)Беллман Р.Э. Динамическое программирование и уравнения в частных производных / Р. Беллман, Э. Энджел. - М.: ИЛ, 1960. - 400 с.

)Бідюк П.І. Проектування компютерних інформаційних систем: Навчальний посібник / П.І. Бідюк, Л.О. Коршевнюк. - К.: НТУУ «КПІ», 2011. - 340 с.

)Винцюк Т.К. Анализ, распознавание и интерпретация речевых сигналов / Т.К. Винцюк. - К.: Наукова думка, 1987. - 264 с.

4)Джелинек Ф. Распознавание непрерывной речи с помощью статистических методов / Джелинек Ф. // Статистическая теория распознования речи. - 1976. - Т. 64, №4. - С. 131-160.

5)Раскин Д. Интерфейс: новые направления в проектировании компьютерных систем / Д. Раскин. - СПб: Символ-Плюс, 2004. - 272 с.

)Сидорова Е.В. Используем сервисы Google: электронный кабинет преподавателя / Е.В. Сидорова. - БХВ-Петербург: Росийская академия образования. Институт педагогического образования. Лаборатория информатизации непрерывного педагогического образования, 2010. - 288 с.

)Федотова Е.Л. Интерактивный голосовой интерфейс. Технологии и системы: учеб. пособие / Е.Л. Федотова. - М.: ИНФРА-М, 2009. - 352 с.

)Фролов К.Ф. Основные тенденции развития речевого интерфейса / К.Ф. Фролов. - СПб.: СПИИРАН, 2004. - 210 с.

9)Baker J.K. Stochastic modeling for automatic speech understanding/ J.K. Baker. - New York: Academic Press, 1975. - P. 521-542.

)Hinton G. Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. Signal Processing Magazine / [Hinton G., Deng, L., Yu D. et al.]. - USA: IEEE, 2012. - P. 82-97.

)Itakura F. Minimum prediction residual principle applied to speechrecognition / F. Itakura. - USA: IEEE, 1975. - P. 67-72.

12)Mohri M., Pereira F., Riley, M. (2008). Speech recognition with weighted finite-state transducers / Mohri M., Pereira F., Riley M. - Springer Berlin Heidelberg: Springer Handbook of Speech Processing, 2008. - P. 559-584.

)Reidhammer K. Revisiting Semi-continuous Hidden Markov Models / Reidhammer K., Bocklet T., Ghoshal A., Povey D. - USA: Proc. IEEE Int'l Conference on Acoustics, Speech, and Signal Processing (ICASSP), 2012. - P. 4721-4724.

)Vaseghi Saeed Advanced digital signal processing and noise reduction / Vaseghi Saeed. - Chichester: IEEE Transactions on Audio, 2006. - P. 1556-1572.

)Виды и типы пользовательского интерфейса [Електронний ресурс]. - Режим доступу: http://interfyeis.blogspot.com/2012/03/blog-post_07.html.

)Интерфейс и его виды [Електронний ресурс]. - Режим доступу: http://fim.mdpu.org.ua.

)Класификация систем распознования речи [Електронний ресурс]. - Режим доступу: http://fetmag.mrsu.ru/2010-2/pdf/SpeechRecognition.pdf

)Лекции по интерфейсам пользователя. [Електронний ресурс]. - Режим доступу: http://www.studfiles.ru/dir/cat32/subj1173/file9485/view99700.html.

19)Методи і критерії оцінки ІК [Електронний ресурс]. - Режим доступу: http://www.simulation.kiev.ua/dbis/lection17.html#05.

)Основные задачи и ключевые понятия речового интерфейса [Електронний ресурс]. - Режим доступу: http://www.bsu.by/Cache/pdf/180353.pdf.

)Офіційний сайт Eclipse [Електронний ресурс]. - Режим доступу: http://eclipse.org.

)Офіційний сайт Oracle [Електронний ресурс]. - Режим доступу: http://www.oracle.com.

23)Понятие пользовательского интерфейса. Типы пользовательских интерфейсов [Електронний ресурс]. - Режим доступу: http://bricks.narod.ru/tp/31_pon.htm.

)Применение скрытых марковских моделей для распознавания звуковых последовательностей [Електронний ресурс]. - Режим доступу: http://izvestia.asu.ru/2012/1-2/info-comp/TheNewsOfASU-2012-1-2-info-comp-03.pdf.

)Разработка и программная реализация модульной интегрируемой системы предоставления средств голосового интерфейса для разработки программного обеспечения [Електронний ресурс]. - Режим доступу: http://www.hse.ru/data/2013/06/02/1285462387/MS_Ilskiy_Andrey.doc.

26)Распознавание речи от Яндекса [Електронний ресурс]. - Режим доступу: http://habrahabr.ru/company/yandex/blog/198556.

)Речевые технологии [Електронний ресурс]. - Режим доступу: http://speech2b.ru/rus/applications.

)Центр речевых технологии [Електронний ресурс]. - Режим доступу: http://www.speechpro.ru.

)Юзабилити. Кратко о фактах. [Електронний ресурс]. - Режим доступу: http://ru.scribd.com/doc/28794871.

30)ANT [Електронний ресурс]. - Режим доступу: http://www.bsu.by/sm.aspx? guid=87873.

)CMU Sphinx. Open Source Toolkit For Speech Recognition [Електронний ресурс]. - Режим доступу: http://cmusphinx.sourceforge.net.

)Sphinx-4 - гибкая система с открытым кодом для распознавания речи [Електронний ресурс]. - Режим доступу: http://masters.donntu.edu.ua/2013/fknt/savkova/library/translation.htm.


Теги: Дослідження ефективності застосування марковських прихованих моделей для побудови голосових компонент інтерфейсу користувача з програмними додатками  Диплом  Информационное обеспечение, программирование
Просмотров: 27302
Найти в Wikkipedia статьи с фразой: Дослідження ефективності застосування марковських прихованих моделей для побудови голосових компонент інтерфейсу користувача з програмними додатками
Назад