Connect with us

Разработка

Проблемы распознавания речи: что еще предстоит решить

Аспирант Стэнфордского университета Авни Ханнун написал о том, какие проблемы ещё предстоит решить, чтобы вывести системы автоматического распознавания речи на уровень человека.

Анна Гуляева

Опубликовано

/

     
     

Аспирант Стэнфордского университета Авни Ханнун написал о том, какие проблемы ещё предстоит решить, чтобы вывести системы автоматического распознавания речи на человеческий уровень.

С тех пор, как в распознавании речи появилось глубокое обучение, уровень ошибок сильно снизился. Но несмотря на все, что вы могли читать и видеть, у нас все ещё не существует системы распознавания речи человеческого уровня. В распознавании речи есть множество ошибок. Для продвижения вперед важно знать, когда они происходят, и предпринимать шаги по решению проблем. Только так можно перейти от автоматического распознавания речи (ASR), которое работает для некоторых людей, к ASR, которое работает для всех людей и всегда.

Улучшения в показателе частоты ошибок в тесте распознавания разговорной речи Switchboard. Набор тестов был собран в 2000 году. Он состоит из 40 телефонных разговоров между двумя случайными носителями английского языка.

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

Акценты и шум

Одно из самых заметных различий в распознавании речи – это способность разбираться с акцентами и фоновым шумом. Прямая причина этого заключается в том, что данные для обучения состоят из английской речи с американским акцентом с высоким показателем отношения сигнала к шуму (SNR – signal-to-noise ratio). Например, наборы данных для обучения и тестов Switchboard включают только речь носителей английского языка с небольшим фоновым шумом.

Однако увеличение количества данных для обучения, вероятно, не решит проблему просто так. Существует множество языков с большим количеством диалектов и акцентов. Невозможно собрать достаточно данных для всех случаев. Создание качественной системы распознавания речи только для английского с американским акцентом требует пять тысяч часов транскрибированного аудио.

Сравнение человеческих стенограмм со стенограммами модели Deep Speech 2 от Baidu. Заметьте, что люди хуже распознают неамериканский акцент. Вероятно, это связано с американским происхождением стенографов. Я думаю, что нативные для каждого региона спикеры лучше бы распознавали акценты родных стран.

Что касается фонового шума, в движущемся автомобиле SNR редко бывает на показателе -5 дБ. Люди без проблем понимают друг друга в этой среде. Автоматические системы распознавания речи допускают гораздо больше ошибок с увеличением шума. На диаграмме выше мы видим, как разница между ошибками людей и модели резко возрастает от аудио с низким SNR к аудио с высоким SNR.

Семантические ошибки

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

Пример семантической ошибки: если кто-то сказал “let’s meet up Tuesday” (давайте встретимся во вторник), но система распознала высказывание как “let’s meet up today” (давайте встретимся сегодня). У нас также могут быть ошибки в словах без семантических ошибок: если система отбросила слово up и распознала “let’s meet Tuesday”, то семантика высказывания не изменилась.

Мы должны осторожнее использовать показатель ошибок в словах (WER – word error rate) в качестве основного. Позвольте показать вам худшую ситуацию. WER в 5% соответствует одному пропущенному слову на каждые двадцать. Если в каждом предложении двадцать слов (средний показатель для английского), то показатель ошибок в предложениях составит 100%. Но пропущенные слова вряд ли изменят смысл предложений. В ином случае даже с 5% WER каждое предложение было бы неправильно интерпретировано.

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

Исследователи в Microsoft недавно сравнили ошибки людей и систем распознавания речи с человеческим уровнем ошибок. Они обнаружили, что модель чаще путает междометия “а” и “ага”. У этих двух слов совершенно разная семантика: “а” просто заполняет паузы, а “ага” выступает в качестве подтверждения. Но модель и люди также совершили много похожих ошибок.

Один канал, множество говорящих

Тест от Switchboard проще, потому что каждый говорящий записан на отдельный микрофон. В одном канале аудио не перекрываются разные голоса. Люди же могут понимать нескольких людей, говорящих одновременно.

Хорошая систем распознавания речи должна быть способна сегментировать аудио на основании того, кто говорит (диаризация). Она также должна понимать аудио от нескольких говорящих (разделение источников). Это должно быть возможно без необходимости присутствия микрофона около каждого говорящего.

Другие области

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

  • Реверберация от изменения акустической среды.
  • Артефакты аппаратного обеспечения.
  • Кодек, используемый для артефактов звука и сжатия.
  • Частота выборки.
  • Возраст оратора.

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

Контекст

Вы можете заметить, что показатель ошибок людей в тестах вроде Switchboard довольно высок. Если бы вы общались с другом, и они не понимали 1 из 20 сказанных вами слов, вам было бы сложно общаться.

Одна из причин этого – оценка совершается независимо от контекста. В реальной жизни мы используем много других подсказок, чтобы понять, что говорит собеседник. Несколько примеров контекста, который используеют люди:

  • Прошлые разговоры и тема обсуждения.
  • Визуальные подсказки, например, выражения лица и движения губ.
  • Знания о человеке, с которым мы общаемся.

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

Реализация

Недавние улучшения в распознавании разговорной речи нельзя быстро развернуть. Когда мы рассуждаем о том, что делает новый алгоритм распознавания речи реализуемым, мы обращаемся к показателям задержки и мощности. Они связаны, и алгоритмы, уменьшающие время задержки, повышают показатель мощности. Разберем каждый отдельно.

Задержка: Это время от момента завершения речи до завершения транскрибирования. Низкое время задержки – распространенное требование в системах распознавания речи. Это может сильно повлияет на опыт пользователя, и задержка часто измеряется в десятках миллисекунд. Это может показаться чрезмерным, но помните, что создание транскрипции – это первый шаг в серии вычислений. Например, в голосовом поиске сам поиск совершается после распознавания речи.

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

При использовании одного направления мы можем начать транскрипцию мгновенно

С двунаправленным повторением мы вынуждены ждать окончания речи.

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

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

Классическим примером улучшения, которое не реализуется, является ансамблевое обучение. Сокращение показателя ошибок на 1-2% не стоит увеличение вычислительной мощности от 2 до 8 раз. Современные модели на основе рекуррентных нейронных сетей обычно также относятся к этой категории, потому что их очень дорого использовать в лучевом поиске, хотя я ожидаю, что в будущем это изменится.

Я не считаю, что исследования, связанные с улучшением точности и большой вычислительной мощностью, бессмысленны. Мы уже видели модель “сначала медленно, но точно, затем быстро” до этого. Смысл в том, что пока улучшение не станет достаточно быстрым, его нельзя использовать.

Следующие пять лет

В распознавании речи существует много открытых и сложных проблем. Среди них:

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

 

Комментарии
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Медиа

Podlodka #43: Профессия – архитектор

Продолжаем разбираться, что ждет разработчика после достижения сеньорности.

AppTractor

Опубликовано

/

Автор:

Podlodka

Переход в менеджмент мы уже обсудили, и в этот раз на очереди другой популярный вариант – карьера архитектора. Сергей Орлов, архитектор из Avito, помогает нам вникнуть в суть этой роли, определить её область ответственности и требуемый багаж знаний.

Комментарии
Продолжить чтение

Дизайн и прототипирование

Создание шрифта с нуля за 24 часа

Графический дизайнер Джеймс Барнард бросил себе вызов – он захотел за 24 часа создать шрифт и отправить его в Google Fonts. Как он это сделал и что узнал в процессе — в нашем переводе статьи Джеймса.

Анна Гуляева

Опубликовано

/

Я большой фанат One Day Builds Адама Сэвиджа. В начале дня у него есть только материалы, а в конце он становится обладателем чего-то, что он хотел.

Поэтому я бросил себе вызов: создать с нуля абсолютно новый шрифт и отправить его в Google Fonts за 24 часа.

В старом блокноте у меня были эскизы нескольких букв. Я хотел создать узкий шрифт без засечек, который можно будет использовать на постерах или на других больших изображениях. Во время работы в Men’s Health я использовал шрифты вроде Tungsten или Heron, которые выглядят ужасно в тексте, но отлично смотрятся в заголовках или промоматериалах (которые и были моей основной работой). Это был стиль, который я и хотел создать.

Очень грубые наброски

13:00, среда

Я отправился в Adobe Illistrator с двумя-тремя буквами, которые были у меня в эскизах. Я создал сетку из пяти строк – для линии нижних выносных, базовой линии, линии строчных, линии прописных и линии верхних выносных букв. Затем я определил ширину прописных букв и толщину основного штриха.

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

  • Линия строчных = 2 × высота линии верхних выносных / высота линии нижних выносных
  • Ширина основного штриха = ¼ ширины прописной буквы
  • Ширина строчной буквы = ¾ ширины прописной буквы

Вот как это выглядит на иллюстрации

Сначала я создал буквы O и B. Я решил, что эти буквы будут иметь не форму овала, а форму скругленного угла. Многие буквы будут выглядеть, как высокий прямоугольник, но O, B и D будут иметь скругленные углы вместо овалов.

Внешний угол имеет радиус 12 мм, а внутренний — 6 мм. С этими правилами я начал создавать прописные буквы.

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

Затем я приступил к строчным буквам. Это было сложнее, но с установленными правилами работать было проще. Я использовал больше «украшений», особенно в верхних выносных и нижних выносных элементах. Самыми сложными стали буквы f, g, a и e, так как они были абсолютно новыми.

21:00, среда

Я перешёл к другим символам, таким как восклицательный и вопросительный знаки. Я стал работать быстрее и успел создать около 35 знаков.

Утро четверга

Утром я довольно быстро закончил цифры от 0 до 9 и начал создавать файл с шрифтом. Это было совершенно новым опытом. Мой знакомый каллиграф Иэн Барнард посоветовал для этого программу Glyphs. Я скачал программу, посмотрел несколько обучающих видео и понял, что неверно создал файл в Illustrator. Поэтому мне пришлось вставлять каждый символ вручную и подгонять его под правила программы.

10:00, четверг

Я начал заниматься интервалами и кернингом. Это было ужасно долго. Прежде чем заняться этим, нужно освоить множество сочетаний клавиш в программе. И перед кернингом вам нужно сделать интервал как можно ближе к тому, что вы хотите видеть в итоге. Для этого нужно измерить ширину отверстия в букве О и разделить ее на три. Такой интервал стоит поместить слева и справа от буквы.

11:00, четверг

С расставленными интервалами я приступил к кернингу. Это стало очень болезненным процессом. Сначала я зашёл на этот сайт и вставил в их текст для кернинга свой шрифт.

Используя сочетания клавиш, я изменил каждое расстояние между буквами, которое меня не устраивало. Самым очевидным является сочетание V и A, но в этом тексте есть и такие сочетания, о которых я и подумать не мог.

Затем я конвертировал текст в прописные буквы и сделал то же самое для них.

12:59, четверг

Я экспортировал шрифт и конвертировал его в файл .ttf, чтобы отправить в Google. Несколько символов отсутствовали (квадратные скобки и символ копирайта), и я был уверен, что шрифт не примут. У меня также не было времени добавить различные знаки для поддержки разных языков.

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

Название шрифта? Odibee Sans (произносится как oh-dee-bee), то есть, One Day Build — ODB.

Заключение

Я отправил Odibee Sans в Google в мае 2017, и он все ещё находится в очереди на добавление. Команда предложила мне пока уделить время дизайну шрифта, хотя они признали, что это противоречит духу проекта.

Я поработал над шрифтом ещё один день. Я добавил все нужные знаки, а также внёс изменения примерно в 30 символов.

Более того, сейчас в шрифте существует более 1500 кернинговых пар, что стало значительным улучшением шрифта. А также я создал сайт: odibeesans.com.

Комментарии
Продолжить чтение

Разработка

Как сделать собственный VR-шлем за $100

Максим Кутте, 16-летний разработчик, создал свой open source шлем виртуальной реальности.

Леонид Боголюбов

Опубликовано

/

Меня зовут Максим Кутте. Мне 16 лет и я со своими друзьями, Йонасом Сессоном и Габриелем Комбе, сделал свой собственный шлем виртуальной реальности. Он стоил нам всего 100 долларов.

Благодаря моему учителю, я начал программировать в 13. Каждый понедельник и вторник вместо кафе я с друзьями ходил в его класс.

Я потратил один год на создание простой 8-битной операционной системы и участие в конкурсе роботов.

Затем я заинтересовался виртуальной реальностью. И мы с друзьями решили, что неплохо было бы создать собственный мир в VR, в котором мы могли бы проводить время после школы. Но Oculus  тогда стоил 700 долларов, и мы решили создать собственный шлем.

VR для всех

Напечатанная на 3D принтере запчасть

Причиной всего стало аниме под названием Sword Art Online. Его главный герой находится в ролевой виртуальной реальности – и так я влюбился в VR. Я хотел понять все ее аспекты.

Я купил самые дешевые компоненты, которые мог, и начал, изучая основы физики и математики виртуальной реальности (правильное ускорение, первообразные, кватернионы…) А потом мы заново изобрели VR. Я написал WRMHL, а затем с Габриелем FastVR. Объединив все это вместе, мы получили гарнитуру стоимостью $100.

Полностью открытая гарнитура для VR и комплект для разработки

Чтобы ускорить время разработки, мы сделали FastVR – SDK с открытым исходным кодом для разработчиков, который легко понять и кастомизировать. Он работает следующим образом:

  • Главный компьютер шлема вычисляет его позицию в пространстве
  • Позиция из шлема отправляется в WRMHL и часть вычислительной мощности процессора тратится на обработку этого сообщения
  • Затем FastVR извлекает данные и использует их для рендеринга VR-игры

Все, что вам надо – сделать на основе открытых исходников шлем.

Почему open source

Я хочу сделать VR мейнстримом. Поэтому я обратился к Уссаме Аммару, одному из соучредителей The Family. Я обсудил с ним создание компании и запуск на Kickstarter.

Но он убедил меня, что на данный момент лучше подождать начинать бизнес, продолжать встречаться с теми, кто имеет те же цели, продолжать учиться.

Мы отправились в Кремниевую долину, и Уссама познакомил меня с главным архитектором в Oculus, Атманом Бринштоком. И они дали мне ценный совет: сделай все это open source.

Следующий шаг

Есть еще много технических моментов, которые мы хотим улучшить.

Сейчас мы работаем над автономной VR-гарнитурой –  у нас уже есть как упрощенная версия с более дешевым 3D-трекингом.

Все это мы скоро выпустим.

Как начать

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

 

Комментарии
Продолжить чтение

Дизайн и прототипирование

Ультрафиолет стал цветом 2018 года: что он значит?

В конце каждого года институт цвета Pantone выбирает цвет, который будет определять наступающий год. В 2018 году таким цветом стал Ultra Violet — ультрафиолетовый. Какую символику несет в себе этот цвет и универсальны ли цветовые коды для людей по всему миру?

Анна Гуляева

Опубликовано

/

В конце каждого года институт цвета Pantone выбирает цвет, который будет определять наступающий год. Этот цвет не является отражением модных тенденций, а символизирует изменения в обществе. В 2018 году таким цветом стал Ultra Violet — ультрафиолетовый. Какую символику несет в себе этот цвет и универсальны ли цветовые коды для людей по всему миру?

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

Более того, сами базовые цвета, которые кажутся нам очевидными, могут не иметь названия в других языках. Если в русском языке для обозначения цветов используется 12 слов, а в английском — 11, то для других языков это число может составлять шесть, четыре или даже три слова. Самыми базовыми цветами в разных человеческих культурах являются черный, белый и красный. Если черный и белый цвет являются важными для обозначения цвета и тьмы, то красный цвет — это знак для привлечения внимания. Он может означать опасность, как в случае крови или ядовитых растений, так и обозначать жизнь и источник пищи, например, спелые фрукты.

Фиолетовый цвет, избранный Pantone в этом году, является одним из последних базовых цветов, который получает название в процессе развития языка. Ультрафиолетовый, согласно презентации на сайте института, символизирует безграничность космоса, побуждает нас к духовным размышлениям и раскрытию своего изобретательного потенциала и воображения, которые так необходимы в наше время. Этот цвет показывает оригинальность и творческую гениальность, благодаря чему часто привлекает неординарных людей, например, Принса или Дэвида Боуи.

Но это не единственное значение ультрафиолетового. Он имеет большое значение в качестве цвета, который использовался в символике движения суфражисток, для которых он символизировал преданность и упорную верность своей цели. Помимо этого, ультрафиолетовый является важным символом борьбы за права ЛГБТК-людей. Фиолетовый — это смесь голубого и розового цветов, несущих гендерную окраску, и он отражает размытие границ гендеров. Ультрафиолет позволяет нам увидеть вещи, невидимые в обычном освещении, и этот смысл действительно важен для 2018 года, как в стремлении к многообразию и равноправию разных групп общества, так и в напоминании о творческом потенциале людей и возможностях человеческого мышления.

Комментарии
Продолжить чтение

Наша рассылка

Каждому подписавшемуся - "1 час на UI аудит": бесплатный ускоренный курс для разработчиков!

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Вакансии

Популярное

X

Спасибо!

Теперь редакторы в курсе.