В январе 2017 утреннее шоу на канале CW6 News в Сан-Диего освещало историю о том, как маленькая девочка из Далласа, штат Техас, случайно заказала кукольный домик за 300 долларов и четыре фунта сахарного печенья, спросив семейную Amazon Alexa, хочет ли она. играть в кукольный домик. Целью шоу было обсудить новый набор проблем, с которыми столкнулись потребители, когда эти голосовые помощники проникли в наши дома.

Однако на этом история не закончилась. Это сделало поворот к худшему и высветило фундаментальную проблему с голосовой технологией в этих цифровых помощниках. Очарованный маленькой девочкой, один из ведущих шоу сделал свое заключительное слово и сказал: «Я люблю маленькую девочку, сказав:« Алекса, закажи мне кукольный домик »». Через несколько минут обычные люди по всей Южной Калифорнии начали сообщать о спонтанных покупках кукольных домиков, сделанных их голосовыми помощниками по «приказу» ведущего.

По мере того, как использование речевых интерфейсов начало расти, все, от ностальгиков по «Джетсонам» до учеников Джорджа Оруэлла, высказали свое мнение о том, как наше общество теперь навсегда изменится в руках этих новых цифровых помощников. Тем не менее, многие ограничения и уязвимости, связанные с голосовыми цифровыми помощниками, такими как Amazon Alexa, с тех пор были омраченной реальностью для большинства из нас, поскольку мы не сталкивались с этими услугами, выходящими за рамки простых командных интерфейсов, которые работают только в идеальных условиях. .

Печальная правда заключается в том, что, хотя нам обещали доступ к превосходящим когнитивным возможностям через голосовые интерфейсы, эти интерфейсы продолжают давать сбой из-за таких проблем, как распознавание динамиков, фоновый шум или одна из многих других сложностей, которые являются естественной частью почти всех наши повседневные взаимодействия. К сожалению, автоматическое распознавание речи (ASR) по-прежнему не оказало заметного влияния на общество, несмотря на то, что можно предположить из заголовков, таких как Siri лучше вас.

Построение ASR в реальном времени, чтобы иметь влияние

Компания Corti нуждается в ASR, чтобы помогать людям, которые помогают нам в самые тяжелые дни нашей жизни. Мы твердо убеждены в том, что речевые технологии помогут медицинским работникам при принятии ими важных решений. Вот почему мы создаем программное обеспечение для поддержки принятия решений в режиме реального времени, которое помогает операторам службы 911 быстрее и точнее диагностировать и распределять пациентов в экстренных ситуациях. В этих сценариях жизни или смерти нет места для ошибочной покупки кукольного домика.

Аудио, с которым мы имеем дело, основано на диалогах; Очень шумно; в нем много говорящих, диалектов и акцентов; и это часто бывает настолько безумным, насколько вы можете представить себе чрезвычайную ситуацию. Мы протестировали множество сервисов ASR и обнаружили, что даже самые большие платформы ASR работают на уровне, непригодном для использования на практике при использовании в разговоре, таком как экстренный вызов.

Поэтому, хотя мы и являемся стартапом с ограниченными ресурсами, чтобы оказать влияние, мы решили построить весь наш конвейер распознавания речи с нуля.

«Мы протестировали множество сервисов ASR и обнаружили, что даже самые большие платформы ASR работают на уровне, который неприменим на практике, когда применяется к разговору, например, к экстренному вызову».

Необходимо было ответить на несколько вопросов: что именно заставляет современные системы ASR так часто выходить из строя? И как же тогда создать платформу ASR, которая действительно сможет повлиять на столь важный разговор, как экстренный вызов?

Как и в случае с любым другим машинным обучением, хорошие данные необходимы для обучения хорошо работающих систем ASR. Данные должны представлять решаемую задачу, и их должно быть достаточно, чтобы модель ASR могла извлечь из нее что-то общее.

Модели ASR, с которыми мы взаимодействуем сегодня, часто обучаются на наборах данных, состоящих из аудиозаписей одного говорящего, читающего вслух письменный текст; будь то новостные репортажи, например, в наборе данных Wall Street Journal (WSJ), или аудиокниги, например, в LibriSpeech. Это означает, что мы тренируем наши системы ASR, чтобы понимать голосовой обмен людьми как игру для одного игрока, проводимую в оптимальных акустических условиях. Другие наборы данных, такие как Fisher и Switchboard, основаны на телефонных разговорах, в которых два незнакомца спокойно обсуждают заранее заданную тему, например, домашние животные или политика. Эти наборы данных никоим образом не похожи на естественные транзакции людей, которые действительно взаимодействуют аутентичными способами, поэтому мы продолжаем видеть сбой ASR.

Когда мы видим, что системы ASR, такие как голосовые помощники, не работают в любых ситуациях, кроме самых простых и хорошо обусловленных, это можно понимать как случай неспособности обобщать. Идея здесь в том, что когда модель ASR обучается, она учится преобразовывать речь в текст. После обучения именно способность модели обобщать знания из обучающих данных до новых и ранее невидимых данных определяет ее удобство использования. Когда модели не поддаются обобщению, это часто сводится к так называемому переобучению: модель выучила обучающие данные наизусть, а не понимала общие особенности, которые определяют отношения между речью и текстом, как предполагалось.

Современные модели ASR часто учатся всему, что они знают, в процессе обучения на данных, которые обычно не являются репрезентативными для естественной разговорной речи. Таким образом, модели ASR совершенно не осознают многие естественные условия речи. Представьте себе обучение беспилотных автомобилей таким же образом: никаких препятствий, пешеходов или плохих погодных условий, только открытые дороги.

«Представьте себе обучение беспилотных автомобилей таким же образом: никаких препятствий, пешеходов или плохих погодных условий, только открытые дороги».

Чтобы показать вам пример невозможности обобщения, давайте посмотрим на современную систему ASR с открытым исходным кодом и на то, как она справляется с реальной задачей транскрипции.

Современное состояние и глубокая речь Mozilla

Первоначально выпущенный в ноябре 2017 года, Mozilla Deep Speech представляет собой проект с открытым исходным кодом, реализующий одноименные исследовательские работы Baidu: Deep Speech и Deep Speech 2. Проект является результатом кропотливых усилий блестящих специалистов Mozilla и обеспечивает доступ к высокопроизводительной предварительно обученной нейронной модели ASR, которую можно использовать для преобразования текста из речи в аудио. Помимо всех технических проблем, связанных с реализацией, производительность модели во многом определяется ее обучающими данными и обширным процессом настройки.

Как и многие голосовые помощники, Mozilla Deep Speech обучается на комбинации речевых корпусов, включая TED-LIUM, LibriSpeech, Fisher и Switchboard. В таблице 1 дается краткий обзор этих наборов данных, но вкратце, данные состоят из тысяч часов аудио, записанных в хорошей акустической среде с использованием только одного или двух четко определенных динамиков и высокого отношения сигнал / шум.

В результате моделирования, данных и настройки Deep Speech достигает коэффициента ошибок по словам (WER) около 6,5% в LibriSpeech. Хотя это и не безупречно, в ASR это самое современное состояние, и мы будем использовать эту модель в качестве примера.

Введите: шум

Таким образом, процедура обучения модели Mozilla Deep Speech в значительной степени соответствует текущей парадигме ASR и хорошо работает с четкой речью. Однако, как только мы вводим некоторые нарушения, которые возникают в человеческих разговорах, производительность значительно падает.

Чтобы продемонстрировать влияние шума, мы в партнерстве с одной из ведущих в мире пожарных служб, Seattle Fire Department, проверили производительность ASR на анонимном наборе данных из 600 часов реальных данных о вызовах службы экстренной помощи. Эти данные состоят из реальных людей, которые звонят в диспетчерский центр 911, чтобы сообщить о реальных чрезвычайных ситуациях. Затем мы сравнили результаты с записями Wall Street Journal, более или менее бесшумным набором данных, который часто используется для обучения моделей ASR2.

Модель Deep Speech обучается на аудио с частотой дискретизации 16 кГц, тогда как экстренные вызовы Сиэтла записываются с частотой 8 кГц. Это означает, что для обеспечения совместимости с моделью набор данных Сиэтла необходимо будет повысить дискретизацию, что может отрицательно повлиять на результаты. Поэтому, чтобы уравновесить игровое поле, мы передискретизировали звук WSJ с исходных 16 кГц до 8 кГц и обратно до 16 кГц.

Чтобы еще больше смягчить эффект повышения частоты дискретизации, мы использовали два разных метода дискретизации. Первый метод прост: передискретизация звука путем прямого копирования каждого значения амплитуды один раз, чтобы эффективно удвоить количество отсчетов. На слух (да, это действительно слово) проверка аудио с повышением частоты дискретизации подтверждает, что речь понятна, хотя звучит немного "металлический". Второй метод использует библиотеку SoX для выполнения высококачественной понижающей и повышающей дискретизации, что дает более качественные сэмплы, чем простой метод.

Тестирование модели на зашумленных данных вызова службы экстренной помощи в Сиэтле и данных WSJ с использованием различных подходов передискретизации, описанных выше, приводит к WER, показанным в таблице 2.

Производительность Mozilla Deep Speech для данных экстренного вызова в Сиэтле более чем в восемь раз превышает WER исходных данных WSJ с частотой 16 кГц и почти в пять раз выше, чем у WSJ после передискретизации путем прямого копирования.

По данным вызова службы экстренной помощи в Сиэтле высококачественный ресамплер SoX дает WER, который на 3,2 процентных пункта ниже, чем при копировании. На WSJ SoX дает WER, который на 3 процентных пункта ниже, чем при копировании. Кроме того, мы можем наблюдать, что это на 3,6 процентных пункта выше, чем для исходных образцов.

Можно только предположить, будет ли WER в данных экстренного вызова в Сиэтле на 3 процентных пункта ниже для исходных данных с частотой 8 кГц, чем для версии с повышенной частотой дискретизации, как и для WSJ. Однако с базовым уровнем WSJ более чем вероятно, что низкая производительность данных экстренных вызовов Сиэтла лишь в небольшой части связана с передискретизацией, в то время как большая часть падения производительности связана с гораздо более сложной областью данных.

«Эффективность Deep Speech по диспетчерским данным Сиэтла более чем в восемь раз превышает WER исходных данных WSJ 16 кГц […]»

Чтобы лучше понять, что этот плохой WER означает на практике, мы можем взглянуть на несколько расшифровок стенограммы. Для сравнения, вот несколько расшифровок исходных данных WSJ. Попытайтесь понять, можете ли вы понять расшифровку стенограммы, прежде чем смотреть стенограмму справки.

Расшифровки стенограммы довольно хороши, хотя и с некоторыми ошибками, которые часто тесно связаны с расшифровкой справки. Обратите внимание, как небольшая ошибка в заключительной части третьего примера начинает изменять весь смысл предложения. Это одна из неотъемлемых опасностей ASR: небольшие ошибки могут непреднамеренно иметь значительные последствия. Теперь рассмотрим несколько примеров из данных об отправке. Посмотрите, сможете ли вы понять расшифровку стенограммы модели.

Модель изо всех сил пытается построить читаемые и понятные расшифровки стенограммы из данных вызова службы экстренной помощи. Имейте в виду, что мы используем этот вид стенограммы, чтобы помочь диспетчерам с диагностикой и сортировкой, и, как и в случае с цепочкой, система не может быть сильнее своего самого слабого звена. Важно, чтобы эти расшифровки были легко понятными.

Как мы создаем ASR для реального мира?

Хотя современная модель Deep Speech ASR хорошо работает на тестовых данных, WER выше 60% для шумных, сильно нагруженных разговорных данных делает ее практически непригодной для использования. Это показывает, что ASR не может быть обобщен на реальный разговорный ввод. Иногда ошибки в транскрипции могут даже придать предложению совершенно другое значение, как это было в одном из приведенных выше примеров транскрипции. Нетрудно представить, как такая ошибка при вызове службы экстренной помощи могла иметь неприемлемые последствия.

Это служит демонстрацией того, что текущие модели ASR с функцией plug-and-play нежизнеспособны в реальных настройках диалогов, что, в свою очередь, подчеркивает, что общее восприятие производительности технологий ASR часто далеко от реальности. При нынешних методологиях машинного обучения применение ASR в критически важных условиях требует гораздо более целенаправленного подхода.

«Это служит демонстрацией того, что текущие plug-and-play модели ASR нежизнеспособны в реальных настройках диалогов, что, в свою очередь, подчеркивает, что общее восприятие производительности технологий ASR часто далеко от реальности».

Вы можете возразить, что ожидать, что модели, обученные практически бесшумной речи, хорошо обобщаются на вызовы службы экстренной помощи, неразумно. В конце концов, откуда им лучше знать? Но это как раз моя точка зрения. Невозможно добиться эффективного ASR для естественной речи с помощью моделей, обученных на «хороших» наборах данных. Мир естественной речи не играет хорошо.

Вместо этого нам нужно изменить то, как мы думаем об ASR. ASR точно не решена. Хотя некоторые результаты сопоставимы с человеческим уровнем, в зависимости от того, как вы их измеряете, они получены прямо из лаборатории. Лаборатории прекрасны, но в конечном итоге имеет значение именно практическое применение этих технологий. И, как мы видели, этот шаг может быть более чем сложным, если парадигмы лаборатории расходятся с реальным миром. В нынешнем виде текущее состояние техники не применимо к реальным проблемам, которые так требуют ASR, который действительно работает.

Так как же создать эффективные системы ASR? Нам нужно создать диалоговые интерфейсы, в которых вы можете беспрепятственно взаимодействовать с технологиями, вместо того, чтобы настраиваться на свой «голос Alexa». Однако методы машинного обучения, на которых основаны эти системы, не готовы к такого рода сложности. Они не в состоянии решить широкий спектр различных разговорных ситуаций, которые могут возникнуть.

В Corti мы считаем, что разные типы разговоров необходимо решать один за другим, подобно тому, что Google так великолепно продемонстрировал с помощью Duplex. Но разве это не то, чего пытаются достичь системы на основе команд, такие как Alexa? Ответ - да, однако эти системы не могут быть уверены в том, что вводимые ими данные на самом деле ограничиваются простыми командами, которых они ожидают. Тем не менее, они часто реагируют так, как будто они есть. Вероятно, именно поэтому нам придется подождать некоторое время, прежде чем станет доступен успешный и цельный диалоговый интерфейс Google Duplex, по крайней мере, помимо простого бронирования ресторанов.

Фактически, существуют методики машинного обучения, которые могут помочь определить, находится ли образец в зоне комфорта диалогового интерфейса или нет. Компания Corti знает об этих методах и активно исследует их. Мы хотим знать, когда система неуверенна или, по крайней мере, когда это должно быть. Мы постоянно исследуем новаторские подходы к созданию лучших и более надежных систем ASR, которые не сталкиваются с оговорками, которые мы видим в этом посте.

Если вы хотите узнать больше о нашей работе с ASR и другими темами в области обработки естественного языка и машинного обучения, ознакомьтесь с некоторыми другими нашими сообщениями в блоге на странице Corti's Medium или публикациями на нашей собственной странице исследований.

Сноски

  1. В последнее время Microsoft и IBM конкурируют за уровень развития технологий, и WER закрываются на 5% на Switchboard (среди прочих). Эффективность транскрипции на уровне человека, вероятно, находится где-то между 4% и 5,9% WER для« тщательной транскрипции и около 9,6% для быстрой транскрипции » в зависимости от типа речи и того, как устроен эксперимент.
  2. Модель оценивается на подмножестве dev93 WSJ в соответствии с рецептом Калди.