Спросить человеческим языком: говорите
Несколько десятилетий назад о том, что люди будут общаться с электронными системами с помощью устной речи, писали только фантасты — в романах о далеком светлом будущем. Сегодня такую возможность имеет любой обладатель более-менее современного смартфона.
Современные смартфоны такие маленькие, что работать с их виртуальной клавиатурой совсем непросто, а набрать более-менее сложный запрос в поисковой системе- так просто замучишься. Но на самом деле для поиска вовсе не нужно вызывать экранную клавиатуру.
Просто нажимаете на кнопку и говорите, что хотите найти. Система голосового поиска Google сделает все остальное. О том, как работает эта система, производящая неизгладимое впечатление даже на опытных пользователей, «TechInsider» рассказал один из создателей ее русской версии, старший инженер по разработке программного обеспечения научно-исследовательской лаборатории компании Google Евгений Вайнштейн.
Спроси у облака
Конечно, голосовые интерфейсы существовали и раньше — достаточно вспомнить голосовые меню в некоторых автомобилях или голосовой набор в телефонах. Однако, как правило, такие системы либо требуют предварительного обучения, либо оперируют очень ограниченным словарем в несколько десятков слов (либо и то и другое). Поэтому, когда Google в 2008 году объявила о запуске голосового поиска для мобильных устройств (прежде всего смартфонов на платформе Google Android) на самом обычном английском языке, многие восприняли это скептически. Однако оказалось, что система работает и работает на удивление хорошо. А спустя два года Голосовой поиск Google стал распознавать и русский язык.
«Командные системы используют очень ограниченные словари, а при поиске запросы бывают самые разнообразные, так что словарь может достигать миллионов слов, — объясняет Евгений. — Автономная система распознавания речи с таким словарем должна иметь высочайшую производительность, с этим не справится не только смартфон, но и мощный полноразмерный компьютер, да и стоимость такой системы я даже боюсь себе представить. Поэтому Голосовой поиск Google стало возможным реализовать только сейчас, когда получили развитие так называемые облачные сервисы. На мобильном устройстве выполняется только оцифровка и упаковка речи, после этого смартфон отсылает эти данные на сервер, где и проводятся все ресурсоемкие вычисления, то есть распознавание речи. После этого на смартфон пересылаются уже готовые результаты поиска».
Железный собеседник
Для распознавания речи используются сложные компьютерные алгоритмы, базирующиеся на трех основных моделях речи. Но для того чтобы компьютер начал ассоциировать речь со словами, необходимо дать ему прослушать настоящие человеческие голоса — много голосов, зачитывающих определенный текст. «Чтобы запустить первоначальную версию голосового поиска, нужно несколько тысяч голосов, — говорит Евгений. — Это, конечно, не дает высокой точности распознавания, но по мере эксплуатации накапливаются все новые голоса, и точность значительно повышается. Чем больше людей пользуется системой, тем выше становится точность распознавания. Например, английская версия сервиса сейчас, через три года после запуска, допускает при транскрипции около 17% ошибок. Для сравнения: уровень ошибок, которые делает человек, в среднем составляет порядка 10%. Можно ли довести уровень распознавания нашей системы до уровня живого человека? Это очень сложно. Такое можно сделать для систем с ограниченным словарем — скажем, состоящим только из цифр, как в некоторых банках».
Читаю со словарем
После того как компьютер, подобно человеку, сложит из звуков слово, он должен «понять» его — то есть найти его в словаре. Чем больше словарь, тем выше точность системы, но тем больше времени занимает процесс распознавания. «Приходится, — объясняет Евгений, — идти на компромисс, так что оптимальный размер словаря составляет порядка миллиона слов. Причем в это количество входят не только сами слова, но и все словоформы, собственные имена, названия компаний
После того как система примерно определила слова, входящие в запрос, она анализирует их с помощью языковой модели. Это тоже очень сложная задача, которая требует своего словаря. В данном случае языковая модель базируется на статистике запросов поисковой системы Google и содержании страниц интернета, а это даже не миллионы, а миллиарды слов и их сочетаний. Правда, с точки зрения компьютерного анализа эта задача более простая, поскольку данные текстовые.
Далее везде
Однако круг задач, для которых необходимо распознавание голоса, не ограничивается только голосовым поиском. А как насчет других применений? «Технически это вполне реализуемо, во всяком случае в некоторых областях, — говорит Евгений. — Скажем, сервис Google Voice (доступный пока только в США) — это голосовая почта, сообщения которой транскрибируются и отправляются владельцу на e-mail. Или Google Voice Actions, позволяющий управлять телефоном на базе операционной системы Android — звонить, набирать сообщения, делать записи, прокладывать маршрут — и все с помощью одного только голоса, правда, пока только на английском языке. Можно даже диктовать документы, но точность распознавания при этом ниже, поскольку языковая модель Google базируется на статистике именно поисковых запросов. Сейчас мы также тестируем систему транскрибирования речи в виде субтитров в видеоклипах, размещенных на портале Youtube. Ну а совместно с технологией синтеза речи распознавание голоса уже можно использовать как систему перевода с одного языка на другой».