Як розпізнавання мови трансформує обслуговування клієнтів та повсякденні робочі процеси

1

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

Це не тільки для колл-центрів. Ви можете використовувати його вдома або в офісі. Широкий спектр продуктів дозволяє диктувати текст безпосередньо в текстові процесори або поштові клієнти. Ваш голос перетворюється на набрані слова. Деякі інструменти дозволяють навіть керувати комп’ютером голосом. Відкривати файли. Натискати меню. Виконувати команди. Існують програми, орієнтовані вузькі ніші. Медична транскрипція. Юридичне документування. Вони працюють із професійним жаргоном.

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

Сучасні програми розпізнавання мови зазвичай поділяються на дві категорії.

Малий словник / Багато користувачів

Ці системи створені для масштабування. Вони забезпечують роботу тих самих автоматизованих телефонних меню. Вони обробляють величезний обсяг дзвінків від людей з різними акцентами і особливостями мови. Система вгадує правильно у більшості випадків. Але є нюанс. Використання обмежене. Ви обмежені наперед визначеними командами. Базовими опціями меню. Числами. Тут не можна вести вільну розмову. Словниковий запас малий. База користувачів величезна.

Великий словник / Обмежена кількість користувачів

Ця установка відрізняється. Вона створена для конкретних людей у ​​конкретних місцях. Подумайте про ділове середовище. Невелика група користувачів працює із програмою. Точність висока. Досвідчені користувачі досягають точності 85 відсотків та вище. Словниковий запас? Десятки тисяч слів. Але вам потрібно її навчити. Програмне забезпечення вивчає ваш голос. Воно найкраще працює для цих основних користувачів. Якщо хтось інший спробує скористатися ним? Точність різко знижується. Значно. Система не призначена для незнайомців.

Старіші системи, що з’явилися понад десятиліття тому, стикалися з вибором між дискретною і безперервною промовою. Дискретне мовлення простіше. Ви вимовляєте слова окремо. Ви робите паузу між кожним словом. Комп’ютер обробляє це чисто. Але ніхто не хоче так говорити. Це неприродно. Користувачі надають перевагу нормальному розмовному темпу. Безперервне мовлення. Майже всі сучасні системи тепер із цим справляються. Вони розуміють потік діалогу. Вони фільтрують паузи.

Ми поговорили з Джоном Гарофоло, менеджером групи розпізнавання мови у Лабораторії інформаційних технологій Національного інституту стандартів та технологій, щоб отримати технічну перспективу. Joshua Senecal також допоміг зібрати цей матеріал.

Від промови до даних

Від тиску повітря до двійкового коду

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

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

Розбиття на фонеми

Як тільки сигнал стає чистим і вирівняним у часі, він розрізається на частини. Крихітні сегменти. Йдеться про частки секунди. Іноді всього про кілька сотих. Ще швидше при роботі з вибуховими приголосними звуками. Уявіть різкий викид повітря у звуках “п” або “т”. Вони вимагають точності, оскільки потік повітря переривається та відновлюється раптово.

Тут лінгвістика зустрічається із кодом. Програма зіставляє ці крихітні аудіокліпи з відомими фонемами. Фонема — мінімальна одиниця звуку, яка змінює значення слова в мові. Це не буква. Це саме звук. В англійській мові приблизно 40 фонем. В інших мовах їх більше. У деяких – менше. Ці відмінності мають значення.

“Фонема – це мінімальний елемент мови – уявлення звуків, які ми видаємо та об’єднуємо для формування осмислених виразів”.

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

Перехід від сирих звукових хвиль до рядка символів, що читається – це те місце, де виникає основний опір. Це здається очевидним. Насправді, це не так. Саме на цей крок йде більша частина сучасних досліджень у галузі розпізнавання мови, і на те є причини. Система не просто слухає один ізольований звук. Вона розглядає фонеми — найменші одиниці звуку — у тих сусідів. Контекст – це все. Звук, який в ізоляції звучить як «cat» (кіт), може бути «bat» (кажан), якщо попереднім словом було «I» (я).

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

Механіка за магією

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

Процес спирається на два основні типи ймовірності: акустичне моделювання та мовне моделювання.

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

Коли ви кажете “I want to eat pizza” (Я хочу їсти піцу), акустична модель чує звуки. Мовна модель перевіряє можливість цієї послідовності. Слово “eat” (є) більш імовірно після “want to” (хочу), ніж “hate” (ненавидіти). Система комбінує ці ймовірності, щоб зробити своє найкраще припущення.

Розпізнавання мови — це менше про слух і про прогноз на основі контексту.

Чому контекст змінює все

Розглянемо слово “read” (читати/читав). У минулому часі воно звучить як “red” (червоний). В даний час воно звучить як «reed» (тросник). Без контексту система не може знати, яке значення ви мали на увазі. Із контекстом це тривіально. Якщо попереднім словом було «yesterday» (вчора), вона передбачає час, що минув. Якщо пропозиція звучить як “I like to read” (Мені подобається читати), вона передбачає теперішній час.

Ось тому великі мовні моделі змінили правила гри. Старі системи спиралися на тверді граматичні правила. Нові системи використовують нейронні мережі, навчені на мільярди пропозицій. Вони розуміють нюанси. Вони розуміють сленг. Вони розуміють, що “let’s eat grandma” (давай з’їмо бабусю) граматично правильно, але семантично жахливо в порівнянні з “let’s eat, grandma” (давай поїмо, бабуся).

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

Проблема бібліотеки

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

Якщо модель не чула, як конкретне слово вимовляється конкретним

Системи розпізнавання мови, засновані на правилах, пішли у минуле, тому що людська мова не підкоряється суворим правилам.

Ранні системи намагалися порівняти сказані слова зі строгими граматичними структурами. Якщо ви чітко вимовляли слова, використовували певний діалект і не було шуму фону, система могла спрацювати. Але спробуйте говорити, як бостонець. Ви опускаєте букву «r» у слові «barn» (комора). Воно звучить як “bawn”. Спробуйте сказати “I’m going to see the ocean” (Я збираюся побачити океан) без паузи на вдих. Це перетворюється на “I’m goin’ da see tha ocean”. Слова зливаються одне з одним. Пауз немає.

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

Як статистичне моделювання виправляє хаос

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

За словами Джона Гарофоло, керівника групи розпізнавання мови в Лабораторії інформаційних технологій Національного інституту стандартів і технологій (NIST), у цій галузі домінують дві моделі: прихована марківська модель та нейронні мережі.

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

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

Пояснення прихованої марківської моделі

Прихована марківська модель є галузевим стандартом. Давайте розберемо її.

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

З фразами справа ще гірша. Система має вгадати, де закінчується одне слово і починається інше.

Візьмемо фразу “recognize speech” (розпізнати мову). Скажіть її швидко. Вона звучить як “wreck a nice beach” (розбийте чудовий пляж).

Подивіться на фонеми:

«recognize speech»
r eh k ao g n ay z s p iy ch

«wreck a nice beach»
r eh k ay n ay s b iy ch

Різниця тонка. Система використовує контекст — фразу, яка йшла раніше — щоб ухвалити рішення. Чому це важливо?

Якщо словник програми містить 60 000 слів, то трислівне речення має 216 трильйонів можливих комбінацій.

Жоден комп’ютер не може виконати такий пошук так швидко без допомоги.

Ціна точності: Навчальні дані

Ця допомога надходить із даних. Величезної їхньої кількості.

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

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

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

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

Але навіть із усіма цими даними системи все одно дають збої.

Розпізнавання мови: Слабкі місця та недоліки

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

Проблема шуму

Програмне забезпечення для розпізнавання мови має чути вас. Чітко. Якщо ваш голос переплітається з шумом фону, точність різко падає. Йдеться не лише про те, що хтось голосно розмовляє поряд із вами. Важливою є також апаратура, що передає сигнал на ваш комп’ютер.

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

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

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

Накладення голосів – це кошмар

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

“Якщо ви спробуєте використовувати технології розпізнавання в розмовах або на нарадах, де люди часто перебивають один одного або говорять одночасно, ви, швидше за все, отримаєте вкрай погані результати”, – каже Джон Гарофоло.

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

Вона «з’їдає» процесор

Запуск статистичних моделей, що лежать в основі розпізнавання промови, – це важке завдання. Процесору доводиться працювати на межі. Чому? Йому потрібно відстежувати кожен етап пошуку слова, що розпізнається. Якщо система помиляється, їй доводиться повертатись назад. Це потребує пам’яті. Це потребує часу.

Навіть найшвидші сучасні персональні комп’ютери можуть «захлинутися» під час обробки складних команд. Час відгуку значно сповільнюється. А словники? Вони посідають місце на жорсткому диску.

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

Омофони: однаковий звук, різне значення

Омофони — це слова, які звучать однаково, але мають різне написання та значення. “Там” (there) проти “їх” (their). “Повітря” (air) проти “спадкоємця” (heir). “Бути” (be) проти “бджоли” (bee).

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

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

Шлях до універсального перекладача

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

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

Зараз? Ми дивимось на щось, ближче до Зоряного шляху (Star Trek).

Агентство передових дослідницьких проектів Міністерства оборони США (DARPA) фінансує дві великі ініціативи. Перша – Global Autonomous Language Exploitation (GALE). Ця система поглинає потоки іноземних трансляцій новин і газет. Вона перекладає їх. Ціль — миттєвий переклад між двома мовами з точністю не менше 90 відсотків.

Друга – TRANSTAC. Вона допомагає солдатам спілкуватися з цивільним населенням у країнах, де розмовляють не англійською мовою. Гарофоло зазначає, що ця технологія неминуче знайде застосування у цивільних галузях. Універсальний перекладач.

Чому це так складно?

Універсальний перекладач ще далеко. Поєднання автоматичного перекладу із голосовим управлінням неймовірно складно. Нещодавня стаття в CNN описала проект GALE як “DARPA hard” (надскладне завдання за стандартами DARPA). Це означає, що це складно навіть за екстремальними стандартами DARPA.

Чому? Змінних безліч.

  • Сленг швидко змінюється.
    – Діалекти варіюються залежно від регіону.
  • Акценти різняться у різних, хто говорить.
  • Фоновий шум заважає.

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

Від розпізнавання до розуміння

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

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

Зараз ми говоримо із нашими комп’ютерами. Через 25 років вони можуть заговорити з нами у відповідь.

Катастрофа з демонстрацією у Vista

Все це теоретичне майбутнє не має значення, якщо сьогодення не працює. Чи пам’ятаєте демонстрацію розпізнавання мовлення у Windows Vista? Це був провал у галузі громадських зв’язків.

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

Імовірна причина? Місце проведення. Великий аудиторіум із публікою. Фоновий шум. Відлуння. Мікрофон уловлював усе, крім чіткого сигналу від доповідача.

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

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

За межами модних слівець

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

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

Прихована інфраструктура

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

  • Шумопридушення – це перший фільтр. Воно усуває фоновий гул, щоб двигун міг зосередитись на голосовому тракті.
  • Обробка природної мови (NLP) керує граматикою. Вона перетворює фразу «Встановити будильник на сім» на структуровану команду.
  • Ідентифікація промовця намагається визначити, хто говорить. Це важливо для персоналізованих відповідей, але вона далека від досконалості.

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

Чому це важливо зараз

Ініціативи DARPA щодо досліджень перетворення мови у мову середини 2000-х років підготували ґрунт для сучасних інструментів перекладу в реальному часі. Мета завжди була зрозуміла: усунути мову як бар’єр. Виклик DARPA у листопаді 2006 року був не просто змаганням. Це був доказ концепції. Воно показало, що мовленнєвий переклад може працювати в обмежених умовах.

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

Спадщина помилок

Реймонд Курцвейл поставив правильне питання ще в 1998 році: * Коли ХАЛ зрозуміє, що ми говоримо? * Відповідь полягає не тільки в найкращих мікрофонах. Йдеться про контекстуальну поінформованість.

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

Куди ми йдемо далі?

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

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

Машина не знає, що ви сказали. Вона знає тільки те, що, на її думку, ви могли сказати.

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