Путь:

Блог НовостиУправление голосом

29 0

Новости

HAL 9000

Самым известным «говорящим» компьютером из кинофантастики является, наверное, бортовой компьютер HAL 9000 из «Космической одиссеи». Этот персонаж Артура Кларка блестяще экранизирован Стэнли Кубриком и вошел в список 100 самых известных кинозлодеев. Фрагмент классического диалога: «Ореn the pod bay doors, HAL. I’m sorry, Dave. I’m afraid I can’t do that» — стал частью лексикона «виртуального помощника» Siri от Apple. Современным системам, правда, до HAL еще расти и расти, ведь фантастический компьютер мог не только поддерживать диалог голосом, но и опознавать эмоции астронавтов и даже читать по губам. Интересно, что аббревиатура HAL, смещенная на одну букву, дает IBM. Правда, Кубрик утверждает, что это случайное совпадение, а правильная расшифровка — Heuristic Algorithmic (эвристический алгоритмический).

hal9000_driod

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

Для компьютера (или смартфона) задача распознавания голоса выглядит так: фонограмму, записанную микрофоном, нужно превратить в текст. С текстом компьютер умеет работать прекрасно, а вот человеческая речь является для него мешаниной звуков и трудноотличима от обычного шума. Первым делом возникает сложная задача очистки записи от фоновых шумов и посторонних голосов. Для этого в ход идут самые разные трюки, например использование микрофонов, направленных в разные стороны. Сличая звук с них, можно «вычесть» шумы из записи. Но далее все тоже непросто — нужно различить в фонограмме отдельные фонемы, получив фонетическую запись речи.

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

И уже полученный текст можно «скармливать» анализатору команд.

Технические трудности

Уже задача подавления шумов является сложной, еще 10 лет назад в реальном времени (без задержки) ее не могли решать даже большие компьютеры. Далее вступают в дело распознавание фонем, учет акцента и дикции. Здесь все упирается в чистую математику — «чистых» фонем около 60, их часто встречающихся комбинаций — тысячи. Чтобы превратить фонограмму в фонетическую запись текста, комбинации фонем нужно сравнить с обширной базой данных (БД), которая получается при статистическом анализе 100 тысяч часов звукозаписи. Размер у БД огромный, нужен суперкомпьютер. Поскольку обычно такового нет, раньше использовались упрощенные версии БД. Самая простая применялась в телефонах, которые умели записать два десятка голосовых команд конкретного диктора и сравнивали фонограммы только с этой записью. Такой вариант работает надежно, но его возможности скудны.

siri

«Облачный» ответ


Решение проблемы пришло с развитием Интернета и каналов связи. Современные сложные системы голосового управления работают на мощных серверных фермах, по сути, тех же суперкомпьютерах. На смартфоне, если команды принимает он, стоит крошечное приложение, которое записывает голос и отсылает фонограмму по Интернету. Сервер прогоняет его через «молотилку» и возвращает на смартфон текстовую расшифровку фонограммы. Быстро и качественно, но требует постоянного доступа к Сети. Сервер без проблем хранит гигабайты баз данных, к тому же может подключить к распознаванию статистический анализ. Например, голосовой поиск Google в распознавании учитывает частоту тех или иных поисковых запросов. Если вы спросили у смартфона, как проехать в кафе «*ушкин» (на месте звездочки — неразборчивый звук), то по другим поисковым запросам можно предположить, что речь шла о кафе «Пушкин», и выдать соответствующий результат. По сути, это имитирует сложный процесс распознавания речи человеческим мозгом, в нем тоже важную роль играет угадывание того, что плохо расслышано.

hal9000

Интеллект в действии

Что делать с распознанным текстом, зависит от фантазии разработчиков приложения. Базовые варианты — это исполнение простых команд вроде запустить календарь" и «написать SMS Наташе», а также запись текстов (например, SMS) под диктовку. Дальше идут создатели псевдочеловечных помощников, среди которых наиболее известен Siri от Apple. Такому помощнику можно дать приказ на естественном языке. Например, «запланировать визит к зубному завтра в 9» или «какая погода будет в субботу?». Чтобы решить, как реагировать на тот или иной запрос, Siri сравнивает слова запроса с обширной таблицей возможных действий, и если найдено значимое пересечение слов (например, «запланировать» и «завтра»), то можно уверенно судить, что владельцу требуется внести что-то в органайзер. Если есть догадка, что нужно сделать, но нет уверенности, помощник переспрашивает владельца, так же как это сделал бы живой ассистент. Например: «пойти к врачу» — «внести встречу в органайзер?» — «да» — «когда?». Все действия Siri запрограммированы, поэтому спровоцировать ее на что-то новенькое не удастся. Запасных вариантов у компьютера два — просто скормить запрос в поисковую машину, показав результаты веб-поиска, а также отшутиться. Шутки тоже запрограммированы, чтоб не нарушать зону комфорта.

Практические трудности

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

Во-первых, писать с клавиатуры быстрее. Если нужно помногу вводить в компьютер текст, полноценная клавиатура и некоторая тренировка помогают делать это точнее и лучше, чем с голоса. Во-вторых, при диктовке трудно удержаться от посторонних фраз и оговорок. В-третьих (и это основное), далеко не всегда люди готовы произносить вслух свои запросы к компьютеру. Ну и на закуску представьте себе комнату, в которой с компьютером работают хотя бы пять человек и все диктуют. Представляете себе этот гвалт? Решения этих проблем пока никто не нашел. Поэтому управление голосом еще долго останется в ряде специфических ниш, где оно незаменимо. Например, управление смартфоном без помощи рук во время вождения автомобиля. Или звонки в различные автоматизированные службы, где сегодня нужно нажимать цифры для переходов по голосовому меню. Но в подобных применениях компьютер перестанет уступать живому человеку уже очень скоро, через 3-4 года.

Не стоит держать это в себе!