Pull to refresh

Распознавание речи на собственном сайте: тестовый стенд распознавания Speereo

Reading time 5 min
Views 8.9K
Здравствуйте хабравчане! Мы рады появиться на Хабре и надеемся, что мы здесь надолго и будем полезны как Вам, так и для себя извлечем пользу.

Итак, с трепетом к первому посту!

Проблема

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

Решение

Мы предлагаем альтернативное решение подобных проблем с помощью собственного «облачного» распознавания слитной речи, внедренного в Ваш сайт.


Как это работает?
На интернет-странице рядом с полем ввода поискового запроса Вы размещаете нашу фирменную кнопку с изображением микрофона. Далее происходит следующее: на стороне клиента после нажатия на кнопку записывается звуковой файл и пересылается на наш сервер. Сервер в доли секунды распознает голосовой сигнал и передает распознанный текст или номер из списка обратно клиенту или сразу на Ваш сервер.
Пример: на странице заказа билетов, вместо выбора города из выпадающего меню или поиска текстом, Вы нажимаете на иконку с микрофоном и произносите «из Москвы», а затем «в Санкт-Петербург», затем выбираете дату – «послезавтра» или «9 мая». Обратно Вы получаете тот же результат, что при традиционном поиске.


В чем разница?

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

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

Второй вопрос с качеством распознавания. И это первостепенная задача! Чем больше ошибок при голосовом вводе, тем меньше удобства пользования продуктом (usability). Если распознавание опускается ниже 90% — это катастрофа. И здесь мы выигрываем, и вот почему: теория и здравый смысл. Объясним: чем уже выборка возможных команд, тем меньше вероятность ошибки. Речевой сигнал сам по себе не несет достаточно информации для распознавания, 10–15 а иногда и 90 процентов смысла (или качества звукового сигнала) мозг человека «добирает» за счет понимания, отбрасывая акустически похожие, но явно неверные варианты распознанной фразы. Доказать это просто – попробуйте записать фразу на незнакомом языке по слуху.

Изначально система распознавания речи Google создавалась под web-поиск и уровень «понимания» в ней выполняет поисковый индекс. Google не распознает то, что кто-либо не искал до Вас уже раз сто; возможные ошибки нивелируются тем, что нужный вам запрос даже при неверном распознавании окажется на первых строчках поисковой выдачи, и, следовательно, Вы не воспримете это как ошибку.

В случае с вводом в формы этот подход не работает. Можете убедиться – ошибок слишком много.
Почему же у нас ошибок меньше? В нашей технологии роль «понимания» выполняет список возможных в данном конкретном контексте фраз. Этот список создает непосредственно разработчик — администратор сайта. Глупо нагружать систему перебором миллионов альтернатив, если Вам нужно всего лишь распознать станцию назначения при заказе билета на поезд. Станций всего-то около пяти тысяч, и система распознавания Speereo с ними прекрасно справляется.

Со временем мы избавим Вас в большинстве стандартных случаев даже от составления списков. Они уже будут лежать в общедоступном месте нашего сервера как плод коллективных усилий. Наборы будут примерно такие «да-нет во всех возможных не матерных вариантах», " все улицы города N", «названия всех лекарственных препаратов в РФ», «все имена», «все фамилии», «все музыкальные группы по жанрам», «все фильмы по жанрам» и тому подобное. Кстати о фамилиях: часто используемое поле ввода, не так ли? Так вот – моей фамилии в словаре Google нет и ввести ее никак я не могу. В случае использования Speereo, единожды введенная руками фамилия попадает в список речевых команд. Так что если нужных Вам слов нет в словаре Google, то их движок Вам не подходит. А наш подходит. Еще приятная мелочь – мы работаем с любыми браузерами и платформами, хоть и не бесплатно (бойся данайцев дары приносящих).

Как протестировать наше облачное решение и качество распознавания:

Для теста мы предлагаем три варианта тестовых стендов, настроенных на распознавание всех московских улиц и номеров домов с 1 по 300:
— стенд с загрузкой файлов и стенд с технологией Silverlight;
— стенд с загрузкой файлов на Flash;
— стенд для «чистого эксперимента» — с загрузкой файлов, записанных на Вашем ПК.

Чтобы проверить работу системы распознавания Speereo, зарегистрируйтесь — это необходимо для распределения нагрузки на сервер (попытка борьбы с хаброэффектом). В связи с недовольством — регистрация снята! Пробуйте на здоровье!
Два варианта тестов различаются следующим: страница с загрузкой файлов — это наиболее чистый эксперимент, позволяющий протестировать систему, соблюдая все предпочтительные для нас условия (качество звукового сигнала, пр.); страница с Silverlight – экспресс-способ тестирования, где для активации микрофона требуется установка Silverlight; страница с Flash — наибыстрейший способ с наиболее чувствительным вводом звука (не кричите в микрофон, понизьте уровень записи). Стоит отметить, что второй и третий способы, хотя и быстрее, не гарантируют полного соблюдения условий распознавания, так как работают с Вашими системными настройками звука, что может снизить качество записанного и переданного системе сигнала.

NB: Сразу скажем, что чувствительность flash к записанному сигналу гораздо выше, чем у Silverlight и, следовательно, не повышайте голос при тестах или понизьте уровень записи. От себя скажу — уровень записи на flash у меня в ноутбуке на 30-40% ниже, чем я выставляю для Silverlight. Исправлено, спасибо всем за комментарии.

Как подключить «облако распознавания» к своему сайту

Ознакомьтесь с техническими деталями подключения:
а) Пришлите нам списки команд для каждой кнопки в текстовых файлах столбиком. Укажите номера или имена форм кнопок в названии файлов.
б) Протестируйте работу распознавателя в течение нескольких дней по адресу в ответном письме.
в) Выберите тариф, оплатите минимальный платеж и пользуйтесь!

Тарифы

Тариф «один к одному»
4 распознавания в секунду*, 1 месяц — 99 т руб. Минимальный аванс — 99 т руб.

Тариф «один к десяти»
4 распознавания в 10 секунд*, 1 месяц — 9,9 т руб. Минимальный аванс — 9,9 т руб.

Тариф «один к ста»
4 распознавания в 100 секунд*, 1 месяц — 990 руб. Минимальный аванс — 4500 руб.

Тариф «веб-царь»
1 распознавание за 10 копеек**, Минимальный аванс — 10 т руб.

Тариф «с сиропом»
Темп распознавания по заявке. 1 распознавание за 3 копейки. — звоните.

Тариф «облако в штанах»
Размещение распознавателя на сервере клиента.
Годовой платеж — звоните.

* — гарантированный темп выдачи результатов распознавания облаком с задержкой на распознавание не более секунды. Скорость подключения сервера достаточна для приема соответствующего объема звуковых файлов.

** — гарантированный темп выдачи результатов распознавания облаком с задержкой на распознавание не более секунды — 4 в секунду.
Tags:
Hubs:
+1
Comments 13
Comments Comments 13

Articles

Information

Website
www.speereo.com
Registered
Founded
1998
Employees
2–10 employees
Location
Россия