Розпізнавання мови
Що таке розпізнавання мови, як працює, кому допомагає і як зробити інтерфейси доступними для керування голосом.
Час читання: більше 15 хв
Оновлено 17 червня 2024
Сайтами та додатками користуються різні люди. Хтось може це робити з будь-якого пристрою, а іншим потрібні допоміжні технології (assistive technology). Це такі програми та пристрої, які спрощують взаємодію користувачів з особливими потребами із вмістом сайтів.
У статті розберемося про те, що таке технології розпізнавання мови. Швидше за все, ви вже знаєте чи користувалися ними у повсякденному житті та не сприймали їх як особливі допоміжні технології. Насправді, розпізнавання мови усуває бар'єри для людей, які не можуть взаємодіяти з інтерфейсами руками через фізичний стан або зовнішні чинники.
Коротко
Скопіювати посилання "Кратко" Скопійовано
Технології розпізнавання мовлення (speech recognition technology) — це загальний термін для програм та програм, які слухають людську мову і перетворюють її на цифровий текст або виконують голосові команди на різних пристроях. Такі технології ще називають автоматичним або комп'ютерним розпізнаванням мови 🗣️
Не плутайте розпізнавання мови з розпізнавання голосу (voice recognition). Технології для аналізу голосу визначають, хто говорить, і не враховують змісту сказаного.
Програми та програми для розпізнавання мови потрібні кільком групам користувачів.
- Люди із моторними особливостями. Наприклад, з ампутацією рук, паралічем чи артритом.
- Користувачі з особливостями зору: слабозорі, зі сліпотою, світлобоязню тощо.
- Користувачі з когнітивними особливостями, яким складно писати та читати.Наприклад, з дислексією, дисграфією чи тим, хто погано знає мову.
- Люди з тимчасовими обмеженнями: переломами, травмою навантажень, що повторюються, і схожими станами.
Звичайно, іншим людям також зручно керувати інтерфейсами голосом. Ми не завжди можемо взяти в руки телефон або сісти за комп'ютер через зовнішні обмеження. Наприклад, у цей момент ведемо машину, готуємо вечерю або тримаємо на руках кота 🐈
Технології розпізнавання мовлення часто поєднують з іншими допоміжними технологіями - скріндрідерами, екранними лупами, комп'ютерними кнопками і ергономічними клавіатурами.
Види технологій
Скопіювати посилання "Види технологій" Скопійовано
Виділяють кілька видів технологій розпізнавання мови залежно від завдань та пристроїв. Вони бувають уже вбудованими в операційну систему або встановлюються окремо.
Перетворення мови на текст (Speech-to-text, коротко STT). Розшифровують сказані слова і перетворюють їх у цифровий текст, яким можна переміщатися і редагувати голосом. Інша важлива функція – розпізнавання та виконання голосових команд. Приклади - клік по кнопці, запуск програми, перехід за посиланням або навігація по сторінці.
Технологія перетворення тексту на мовлення (text-to-speech technology, коротко TTS) протилежна розпізнаванню мови. Її практична реалізація - скрінрідери та синтезатори мови.
Функція перетворення тексту на мовлення за промовчанням є у всіх операційних системах. Це голосовий доступ на Windows та Android, голосовий контроль на macOS та iOS. Інші програми, що вже завантажуються, — Dragon і e-Speaking Voice.
Диктування. Допомагає людям набирати та редагувати текст голосом, а також записує аудіо.
Програми та програми для диктування теж є в операційних системах.Наприклад, на macOS і iOS це функція диктування тексту, а в Android - Gboard. Ця функція зустрічається і в різних програмах та веб-сервісах. Наприклад, голосовий набір у Google Документах або диктування у Windows Word. Ви можете знайти і окремі сервіси для запису текстів і голосових нотаток. Приклади - Otter.ai та Speechnotes.
Розшифровка. Аналізує аудіо, відео та перетворює мову на текст. Тексти бувають з тимчасовими позначками, якщо це субтитри, або як суцільного тексту, коли це розшифровка. Приклади - Amazon Transcribe і Whisperer.
Віртуальні співрозмовники (conversational artificial intelligence). Розпізнають людську мову та відповідають на запити текстовими повідомленнями або голосом, схожим на людську. Вони роблять письмові нотатки, встановлюють таймери, нагадують про події у календарі, шукають інформацію по сайтах та консультують, прокладають маршрути на картах і не лише.
До віртуальних співрозмовників належать голосові помічники Alexa, Siri, Google Assistant, Cortana, Аліса або Ultifi для автомобілів General Motors. Інший різновид таких інтерфейсів - чат-боти. Їх можна зустріти у багатьох веб-сервісах та на сайтах. Наприклад, Manychat та Woebot.
Як працюють
Скопіювати посилання "Як працюють" Скопійовано
Технології розпізнавання мови знаходяться на стику інформатики та лінгвістики. Вони вирішують проблему взаємодії людей із комп'ютерами та іншими пристроями за допомогою голосу.
Сучасне розпізнавання мовлення ґрунтується на нейронних мережах. Такі мережі збудовані на математичних моделях. Це послідовний набір пов'язаних математичних операцій, які обробляють або розраховують вхідні дані. У разі розпізнавання мови це аудіосигнал, який може бути, наприклад, аналоговим аудіо.Така модель допомагає швидше та ефективніше вирішувати завдання, а ще точніше підбирати способи їх вирішення (наближені функції).
Тепер уявімо, що ви використовуєте Dragon та керуєте інтерфейсом сайту голосом. Що саме відбувається у цей момент?
Спочатку програма записує ваш голос і знаходить сторонні звуки, перешкоди та спотворення. Після аналоговий запис та інформація про її якість передається в модуль, який її оцифровує. Додатково він забирає шуми, вирівнює гучність, підлаштовується під темп та інші особливості мови. На наступному етапі виділяються невеликі шматочки слів (фонеми), а також визначається мова та її правила. Дані про мову та її особливості беруться з акустичної та мовної моделей. На останньому кроці відбувається головне - оброблений запис перетворюється на зрозумілі команди для пристроїв або перетворюється на текст природною мовою. Наприклад, англійською, японською або норвезькою.
Програми та програми для розпізнавання мови не завжди розуміють, що говорить людина. Наприклад, через сильний акцент, заїкуватість та інші особливості вимови. Щоб вирішити цю проблему, технологічні компанії об'єднали зусилля у проекті Speech Accessibility Project. Його мета — зібрати якнайбільше зразків мови людей з різними особливостями та навчити акустичні та мовні моделі розуміти їх. Тобто зробити їх персоналізованими.
Особливості навігації
Скопіювати посилання "Особливості навігації" Скопійовано
Крім диктування текстів, заповнення форм, відкриття та закриття вкладок у браузері, можна переглядати сайти та керувати ними за допомогою голосових команд. Вони відрізняються один від одного в різних програмах та додатках, а ще їх можна налаштовувати під себе.Ось кілька списків з командами у різних програмах та додатках:
Навігація голосом по сайтам схожа на навігацію з клавіатури або торканням. Наприклад, сторінки прокручують командами "Стрілка вгору", "Стрілка вниз" або "Скролити в кінець". Для переходу від одного інтерактивного елемента до іншого говорять "Натиснути Tab", для повернення до попереднього - "Натиснути Shift Tab". У мобільних версіях сайтів для переміщення між елементами використовують команди «Свайпнути вперед» та «Свайпнути назад». Щоб натиснути кнопку або посилання, читають назву елемента і називають команду «Натиснути», «Перейти» або «Тап».
Програми розпізнавання мови навіть імітують рухи мишки. Щоб керувати таким чином сторінкою, використовують команди "Перемістити мишу вниз", "Перемістити мишу вгору" та "Стоп". Голосом регулюють швидкість переміщення курсору миші. Звучить зручно, але користувачі розпізнавання мовлення найчастіше використовують імітацію клавіатури. Управління курсором за допомогою голосу забирає багато часу та потребує точності.
Також елементи активуються не тільки на ім'я, а ще й за порядковим номером на сторінці. Якщо меню не так багато пунктів, достатньо сказати «Перейти два» і так відкрити друге посилання з чотирьох.
Інша важлива команда - "Показати сітку". Сітка (grid або mouse grid) візуально поділяє інтерфейс сайту на кілька пронумерованих осередків. На зображенні показано, як вона приблизно виглядає. Сторінка розділена на дев'ять осередків за допомогою вертикальних та горизонтальних ліній. У кутку кожного осередку підписано її номер: 1, 2, 3, 4, 5, 6, 7, 8 та 9.
Сітки включають, коли на сайті є кнопки із графікою або кілька однакових посилань. Припустимо, на сторінці три кнопки з іконкою грошової купюри, шестернею та кошиком.Користувач хоче перейти до налаштувань, але команда «Натиснути налаштування» не працює. Щоб вирішити проблему, він використовує команду «Показати сітку», називає номер комірки з потрібною кнопкою та команду «Натиснути».
У багатьох програмах сітка включається автоматично, якщо у різних посилань одна й та сама назва. У цьому випадку елементи з текстом, що повторюється, візуально пронумеруються. Користувачеві залишиться лише сказати номер потрібного посилання та команду «Перейти».
Якщо складно все це уявити, перегляньте відео з прикладом навігації по сайту голосом.
Як зробити доступно
Скопіювати посилання "Як зробити доступно" Скопійовано
Доступність графічних інтерфейсів сайтів та додатків може як спростити, так і ускладнити життя користувачам програм перетворення мови в текст і голосового управління. Є навіть окремі голосові інтерфейси користувача (voice-user interface, коротко VUI) та спеціальне Web Speech API.
Розберемо основні поради, як зробити графічний інтерфейс сайту доступнішим для управління голосом.
Семантика. Так-так, знову семантика. Ми вже згадували, що голосове керування схоже на навігацію з клавіатури. Якщо використовуємо замість старого доброго, користувачі не зможуть натиснути її ні голосом, ні з клавіатури. Це ж не справжня кнопка з участю button.
Звичайно, явна ARIA-роль кнопки зробить доступним для голосового керування, але це погана практика. Так порушуєте одне з базових правил ARIA – не використовувати ARIA. Ще в тезі вже за умовчанням є і роль, і потрібна поведінка. Вам не доведеться писати зайвий код.
Поганий приклад: з role = "button" і подією onclick .
role="button"
onclick="clickOnButton()">
Сплатити доставку
div
class="button"
role="button"
onclick="clickOnButton()"
> Сплатити доставку div>
Хороший приклад: для кнопки використовуємо .
Сплатити доставку
button> Сплатити доставку button>
Часто кнопки виглядають як посилання, а посилання як кнопки. Ця візуальна плутанина впливає на голосове керування. Користувач може прийняти один елемент за іншим та використовувати неправильну команду. Наприклад, "Перейти" замість "Натиснути".
Очевидне ім'я. Імена – це те, як називаються посилання, кнопки та інші елементи. Вони можуть бути видимими всім або лише скріндрідерам. Атрибут aria - label і візуально прихований CSS-стилями текст - два поширені способи додати невидиме ім'я.
Здавалося б все добре, елемент якось називається, в чому проблема? Користувачі голосового керування дивляться на інтерфейса не слухають його. Коли елемент не має видимого імені, з ним не можна взаємодіяти голосовими командами. Через це доводиться відкривати сітку, а це триває більше часу. Також не всі люди знають, що така функція взагалі є у програмах розпізнавання мови.
Називайте інтерактивні елементи так, щоб їхні імена не лише чули, а й бачили.
Поганий приклад: полю заданий aria - label, який візуально прихований.
input
type="text"
aria-label="Прізвисько собаки">
Хороший приклад: поле пов'язане з видимим підписом у .
label
for="dog-name">Прізвисько собакиlabel>
input
type="text"
id="dog-name">
Що робити, якщо не замінити картинки та іконки на текст? У цьому випадку придумайте просте та очевидне ім'я. Мало хто вгадає, що посилання з іконкою шестерні називається «Налаштування особистого кабінету нашого дорогого користувача».Текст «Налаштування» має більше шансів, що його вгадають.
Поганий приклад: довге та неочевидне ім'я посилання, яке береться з aria-label.
href="#"
aria-label block-code__original-line"> нашого дорогого користувача">
⚙️
a
href="#"
aria-label="Налаштування особистого кабінету нашого дорогого користувача"
> ⚙️ a>
Приклад краще: посилання з коротким і очевидним ім'ям в ARIA-атрибуті.
⚙️
a
href="#"
aria-label="Налаштування"> ⚙️ a>
Інтерактивні елементи. Користувачі голосового керування взаємодіють із посиланнями, кнопками, полями та схожими елементами так само, як користувачі клавіатури. Це означає, що на них встановлюється клавіатурний фокус за допомогою кнопок Tab або Shift Tab.
Поганий приклад: кнопка на з явно заданою роллю button , подією onclick і з нульовим значенням tabindex .
role="button"
onclick="clickOnButton()"
tabindex="0">
Сплатити доставку
div
class="button"
role="button"
onclick="clickOnButton()"
tabindex="0"
> Сплатити доставку div>
Хороший приклад: немає нічого кращого.
Сплатити доставку
button> Сплатити доставку button>
Не прибирайте елементи з порядку фокусу атрибутом tabindex = "- 1" , коли вони вже у ньому. Виняток — тимчасово приховані інтерактивні елементи як у модальних вікнах або меню.
Поганий приклад: кнопка прибрана з порядку фокусу за допомогою tabindex = "-1".
Підписатися на розсилку
button
tabindex="-1"> Підписатися на розсилку button>
Гарний приклад: просто кнопка та нічого зайвого.
Підписатися на розсилку
button> Підписатися на розсилку button>
Зрештою, не видаляйте стилі фокусу. Без них користувачі не дізнаються на якому елементі знаходяться.
Одне ім'я. На сайтах часто зустрічаються кнопки, поля та інші інтерактивні елементи з видимим ім'ям та атрибутом aria - label одночасно.
Скасувати
button
aria-label="Видалити"> Скасувати button>
Візуально кнопка називається "Скасувати". Для допоміжних технологій вона стане "Видалити", тому що aria - label перезаписує видиме ім'я. Користувач голосового керування не скасує дію командою "Натиснути скасувати", тому що для браузера та програми розпізнавання мовлення на сторінці немає такого елемента.
Проблему з перезаписуванням імені легко вирішити просто не використовуйте aria - label для елемента, у якого вже є видиме ім'я.
Скасувати
button> Скасувати button>
Унікальне ім'я. Усі хоч раз у житті зустрічали легендарні посилання «читати далі» та «тут». Буває, що на одній сторінці їх декілька. Коли бачите інтерфейс, покладаєтеся на контекст. Наприклад, посилання "тут" після пропозиції "багети на замовлення" веде на сторінку про умови та ціни на багети.
Контекст не допоможе користувачам голосового керування, коли на сторінці одні тут. Показ сітки, навіть автоматично, також забирає час.
Найкращий вихід із ситуації з неунікальними посиланнями — називати їх по-різному. Це не тільки спростить голосове управління, але порадує користувачів скринридерів та пошукових роботів.
Поганий приклад: лаконічне посилання з текстом тут.
Розповідаємо про багети на замовлення.
p> Розповідаємо про багети на замовлення a
href="#">тутa>. p>
Хороший приклад: більш описове посилання «багети на замовлення».
Розповідаємо про персональні рішення ваших проблем
у розділі про багети на замовлення.
p> Розповідаємо про персональні рішення ваших проблем у розділі про a
href="#">багети на замовленняa>. p>
Все важливе – не приховувати. Не перекривайте важливий вміст та елементи іншими блоками. Наприклад, немодальне вікно з пасткою фокусу або велике по висоті плаваюче меню загороджують кнопки, посилання, важливі тексти та інші деталі на сторінці. Що стосується елементів на кшталт тултипів, то їх навряд чи знайдуть усі категорії користувачів.
Дизайн. Не вдаватимемося в дизайнерські подробиці. Просто нагадаємо, що варто використовувати великі і шрифти, що читаються, великі за розмірами інтерактивні елементи і контрастні тексти.
Тестування
Скопіювати посилання "Тестування" Скопійовано
Доступність інтерфейсів для технологій перетворення мови в текст тестується автоматично, вручну та з користувачами. Автоматичні тести знаходять самі базові помилки в коді та дизайні, а ручне та користувальницьке – інші, складніші проблеми.
Для автоматичного тестування підійдуть будь-які інструменти, які перевіряють код та окремі частини інтерфейсу. Наприклад, браузерні Google Lighthouse і axe DevTools, консольні Pa11y і @axe-core/cli, що вбудовуються в робочі процеси AccessLint і багато інших програм, розширень і пакетів. Тільки подивіться на повний перелік інструментів від W3C!
Ручне тестування — непросте завдання, якщо взагалі не користувалися програмами для перетворення мови в текст. Його перевага в тому, що вона знаходить баги, про які навіть не здогадувалися.На що варто звертати увагу насамперед, коли тестуєте сайти вручну:
- чи активуються голосом інтерактивні елементи: кнопки, посилання, вкладки, списки та інші;
- чи скроляться блоки з вертикальною смугою прокручування, наприклад, каруселі;
- чи працюють як слід поля форм: фокус, введення тексту та редагування, відправка на сервер та інше.
Детальні посібники з ручного тестування мають команду доступності BBC.
Користувальницьке тестування розкриває проблеми з UX (user experience) та юзабіліті. Зазвичай, його проводять компанії, які розробляють голосові інтерфейси.
UX зосереджений на взаємодії користувачів із сайтами та іншими цифровими продуктами. Юзабіліті - ступінь ефективності, результативності продукту та задоволеності від нього.
Що таке розпізнавання мови та чи потрібне воно бізнесу
Технологія розпізнавання мови полегшує взаємодію користувача з багатьма сервісами. Більшість із нас стикається з нею щодня. Ми використовуємо голосовий пошук у Google та «Яндексі», просимо «Алісу» включити музику в колонці або прокласти найкоротший маршрут від дому до роботи, записуємося онлайн до лікаря або перукаря, спілкуємося з голосовим помічником у техпідтримці або на гарячій лінії.
Готове рішення голосового бота Voicebox
Поговоримо про те, як працює розпізнавання мови, що це таке, де застосовується, і розповімо про сучасні сервіси для бізнесу, які використовують цю технологію.
Що являє собою розпізнавання мови
Основа технології Speech-to-Text - нейромережа, яка вміє переводити голос у текст за допомогою складного механізму обробки та аналізу аудіоконтента.Штучний інтелект допомагає перетворити звуки людської мови на літери та слова, а потім будувати на їх основі фрази та речення, які в результаті складаються у зв'язковий текст.
Принципи роботи Speech-to-Text
Головне завдання нейромережі, що перетворює людську мову на текст, — встановити відповідність між буквою та картинкою на спектрограмі аудіозапису. Щоб штучний інтелект міг ототожнювати звуки та літери, нейромережу навчають на первинному датасеті, що складається з голосових аудіозаписів у поєднанні з розміченим текстом. На вході вона отримує пару з тексту та аудіо, що допомагає встановити відповідність між аудіотреком та набором літер. На етапі навчання нейромережі ІІ розбиває аудіозапис на відрізки зі звуків і передбачає можливість відповідності їх різним буквам. Після цих обчислень машина намагається зрозуміти слово, порівнюючи набори з можливих літер зі словами у словнику. Розпізнані слова, у свою чергу, складаються в речення і обробляються за змістом з урахуванням контексту та розділових знаків. Чим більше зразків людської мови (від людей різної статі, віку з різними особливостями вимови та інтонаціями) зібрано в датасеті, тим точніше вона може розпізнавати сказане. Якщо ІІ навчали однією мовою, замість розпізнавання мови іншою вийде незрозумілий набір слів. Щоб вирішити цю проблему, нейромережа потрібно додатково перенавчити на даних іншої мови.
Застосування технологій розпізнавання мовлення
- голосовий пошук (пошукові системи, карти, навігатори, сервіси виклику таксі та каршерингу);
- голосові помічники (у банківських додатках, у технічній підтримці, на телефонних лініях);
- системи розумного будинку (управління побутовою технікою, світлом, домофоном за допомогою голосового помічника);
- голосове введення текстів та повідомлень, у тому числі зі розділовими знаками та розділенням на пропозиції (зручний людям з порушеннями зору та рухливості, а також тим, хто проводить багато часу за кермом, перебуває в дорозі або працює руками).
Мовні технології у бізнесі
Технології розпізнавання голосу широко використовуються на телефонних лініях для взаємодії з клієнтами: у банках, медичних установах, державних інстанціях, інтернет-магазинах, техпідтримці мобільних та інтернет-провайдерів. Але цим їх використання у бізнесі не обмежується. Наведемо ще низку прикладів практичного застосування сервісів Speech-to-Text для прикладних завдань.
- Голосове меню. Людина дзвонить телефоном і спілкується замість оператора з голосовим помічником, періодично натискаючи потрібні цифри. Робот легко замінює на цьому етапі адміністратора чи співробітника техпідтримки. Він може визначити питання клієнта, коли той натискає на цифру необхідного пункту. Сучасні голосові помічники вже здатні більше і можуть працювати голосом з клієнтськими запитами. Нейросеть фіксує слова клієнта, потім швидко розпізнає їх і шукає найрелевантнішу відповідь за ключовими словами в базі. Якщо нічого немає або клієнта не задовольняє відповідь, робот переключає запит на оператора.
- Соціологічні дослідження та опитування. Стандартний набір запитань і варіанти відповідей для опитування по телефону можна заздалегідь наговорити і проводити дзвінки без участі живої людини. Відповіді респондентів також будуть записані автоматично.
- Аналіз та оцінка роботи телефонних операторів та менеджерів.Роботу людей, які спілкуються з клієнтами по телефону, додатково оцінюють супервізори. Вони перевіряють відповідність розмов скрипту та працюють зі списком обов'язкових для роботи менеджера або оператора складових: вітанням та поданням, поясненням мети дзвінка, що наводять питаннями. Штучний інтелект здатний обробити текст автоматично та визначити наявність усіх пунктів. Також оброблена інформація про дзвінки може стати наочним матеріалом, що дозволяє вдосконалювати скрипти продажу.
- Автоматизація введення інформації у CRM. Телефонні оператори чи роботи часто збирають особисті дані клієнтів. Технологія розпізнавання мовлення дозволяє автоматизувати цей процес.
- Особисті пропозиції. Штучний інтелект може ідентифікувати голос клієнта під час обдзвону, визначити його підлогу та персоналізувати пропозиції товарів та послуг на основі цієї інформації.
Взаємозв'язок між розпізнаванням та синтезом мови
В основі технологій синтезу та розпізнавання мови лежить той самий механізм: співвідношення слів і звуків за допомогою нейромережі. А ось порядок дій при навчанні та нюанси різняться.
Щоб штучний інтелект зміг навчитися «говорити», потрібно підказати нейромережі механізми правильного перекладу тексту в аудіо. У ході навчання модель освоює вимову різних текстів та намагається самостійно повторювати схожі поєднання звуків.
Технологія синтезу дещо складніша: від робота потрібно як розпізнавання звуків, а й точна імітація людської промови. Мало просто прочитати текст: потрібно розставити наголоси, вимовити кожне слово з потрібною інтонацією, витримати паузи, обробити розділові знаки, розрізняти омоніми та пароніми.
У поширених в сучасному світі голосових помічниках технології розпізнавання та синтезу мови взаємопов'язані один з одним та працюють у парі. Обмін запитами відбувається миттєво. В результаті виходить імітація живого діалогу.
Voicebox МТТ: розпізнавання мови для кол-центрів
Сервіс розпізнавання мовлення Voicebox від компанії МТТ призначений для покращення якості роботи кол-центрів, інтернет-магазинів, медичних закладів, служб доставки – всіх організацій, де робота з клієнтами пов'язана з постійними телефонними дзвінками. Вона допомагає отримувати інформацію від клієнтів за допомогою робота без участі живого оператора, що значно скорочує витрати на персонал.
Завдяки використанню штучного інтелекту, система дозволяє отримати інформацію, яку неможливо отримати при використанні стандартних телефонних кнопок: наприклад, розклад громадського транспорту або календар заходів.
За допомогою технології Yandex SpeechKit нейромережа легко підлаштовується під розмову з людиною в режимі реального часу. Якщо людина продовжує говорити чи перебиває, робот здатний на якийсь час замовкнути і відновити діалог, вислухавши співрозмовника.
Сервіс може працювати за заздалегідь записаними звуковими файлами або синтезувати живу людську мову за готовим скриптом, використовуючи 8 голосів від SpeechKit, інтегруватися з CRM і робити дії при зміні статусу. Крім того, фахівці компанії MTT допоможуть своїм клієнтам написати або відредагувати скрипт продажу, зібрати сценарії та проаналізувати ефективність рекламних кампаній.
