"Siri, яка сьогодні буде погода?" "Окей, Google, зроби музику тихіше!" "Alexa, замов мені ще раз сині кросівки!" Технологія, яка реагує на кожне слово, вже давно стала частиною повсякденного життя з голосовими помічниками. Складні програмні процеси виконуються у фоновому режимі, щоб забезпечити безперебійну роботу голосового керування. Правильна інтерпретація голосових команд вимагає великої підготовчої роботи, високої обчислювальної потужності та, не в останню чергу, штучного інтелекту.
Просте прохання, коротке речення – людський мозок дуже легко інтерпретує те, що мається на увазі, встановлює зв’язок і викликає відповідну реакцію. Для машини це набагато складніше. Якщо ви хочете керувати технічними пристроями за допомогою голосу, потрібно зробити багато окремих кроків.
"Дай мені ручку!" - дуже проста команда, однак вона змушує комп’ютер працювати у фоновому режимі. Спочатку вимовлене речення перетворюється на текст. Програмне забезпечення для розпізнавання мовлення має подолати багато проблем, щоб розпізнати слова, які використовуються за їх частотними моделями: нечітка вимова, схожі за звучанням слова з різними значеннями та різними інтонаціями чи діалектами. Здійснюючи порівняння з великими базами даних, у яких зберігається незліченна кількість прикладів слів та їх частотних моделей, програмне забезпечення визначає, з якими словами має справу.
Наступний крок – зрозуміти зміст речення. Для цього програмне забезпечення надсилає текст до голосового інтерфейсу, який перевіряє його на наявність певних ключових слів. Попередньо програміст повинен зазаначити всі необхідні терміни і команди, які називаються наміри, а також їх синоніми, і визначити, яка дія повинна стояти за ними в кожному випадку. Наприклад, "дай" розпізнається як прохання перенести предмет у певне місце, слово "мені" розуміється як особа або як мета дії.
Після того, як інтерфейс визначив значення речення, він виводить так званий контекстний об'єкт, що є програмним кодом, з яким може працювати система керування пристроєм. Щоб дати машині чіткі інструкції, "штучний інтелект" вступає в гру з додатковим програмним забезпеченням. Це оцінює вміст об’єкта контексту і одночасно отримує інформацію про положення пристрою та його оточення від різних давачів. Програмне забезпечення містить модулі для різних методів вирішення, які призначені для конкретних дій.
Програма використовує всю цю інформацію для створення команди, наприклад, про те, як і куди має рухатися рукоятка захвату, і відправляє її до управління пристроєм. Таким чином, сенсорна технологія розпізнає, де знаходиться ручка на столі та який шлях має пройти машина, щоб підняти її та передати людині. Програмне забезпечення поступово вивчає, яке рішення є найкращим для кожної дії, і застосовує ці знання до наступної дії.
Усі ці складні процеси мають відбуватися за частки секунди, тому що людина очікує від машини швидкої і, перш за все, правильної реакції. Хоча розпізнавання голосових команд працює відносно добре після більш ніж 30 років застосування, є ще багато досліджень та розробок, які потрібно зробити з голосовим керуванням машин – до тих пір, поки в якийсь момент ми не зможемо спілкуватися з машиною так само природно, як і з нашими сусідами.