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

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

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

    Проблема

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

    Решение

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


    Как это работает?
    На интернет-странице рядом с полем ввода поискового запроса Вы размещаете нашу фирменную кнопку с изображением микрофона. Далее происходит следующее: на стороне клиента после нажатия на кнопку записывается звуковой файл и пересылается на наш сервер. Сервер в доли секунды распознает голосовой сигнал и передает распознанный текст или номер из списка обратно клиенту или сразу на Ваш сервер.
    Пример: на странице заказа билетов, вместо выбора города из выпадающего меню или поиска текстом, Вы нажимаете на иконку с микрофоном и произносите «из Москвы», а затем «в Санкт-Петербург», затем выбираете дату – «послезавтра» или «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 в секунду.
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 13

      +1
      Распознание речи это конечно хорошо, но не думаю, что взять микрофон, нажать кнопку, нажать «разрешить» во флеше будет быстрее, чем вбить эти данные вручную.
        0
        Вы абсолютно правы. Я не технический специалист, потому мне надо быстрее, нежели чистый эксперимент.))))
          0
          Простите, неверно прочел. Вбить данные традиционно будет неплохо, соглашусь. Однако, когда выбираешь город РФ и надо долго скролить до нужного — неудобно. Кроме того, тот же поиск, скажем, веток форума или тем в перечне документов.
          Хотя, спорить не буду — здесь, понятно, дело а) привычки (и это играет против нас однозначно) и б) желания пробовать новое.
          +1
          Сделайте тест без регистрации. Или демо какое нибудь.
            0
            Не поверите, делали. Но глядя на видео, народ в большинстве говорит — «не верю, насобачились пару фраз понимать и хвастают». Но подумаем еще раз, спасибо.
              0
              Тут ведь дело какое — беда распознавания в том, что все, кому не лень и есть лишние «мильены» оттоптался на этой площадке (первый успех — Google в андроиде). И все провалились. С треском. С одной стороны приятно — у нас работает, а монстры не смогли. С другой же — громкие ляпы так попортили идею распознавания речи, что как не изворачивайся, а первое упоминание о распознавании выводит на лицах собеседников кислые мины — «плавали, знаем».
              И обоснованно, стоит признать. Потому тот же Microsoft, кстати — последнее демо для авто не выводил, а просто сделал ролик.
                +1
                Консультирую знакомого на предмет распознавания речи на сайте. Деньги есть.
                Регистрироваться чтобы попробовать — зло. Я больше не вернусь на ваш сайт…
                  0
                  Жаль. Про неприятие регистрации — принято.
              0
              и сразу куча замечаний:
              1- ссылка на оффсайт в статье, заодно ссылка на копию этой рекламы на оффсайте
              2- API этого чуда, доки, порты под платформы итд
              3- JAVA клиент
              4- какие ещё комментарии про «в флеше говорите тише», и что, клиенты должны на сайте делать малопонятную кнопку, так они ещё и должны объяснять «говорите тише, плз» ???, юзабилити демок тоже стыд
              5- фоновый шум распознаётся как «МКАД 3», я конечно понимаю почему, но всё таки после фильтрации шумов наверное стоит откидывать беззвучные файлы??
              6- поддержка мобилок/кпк? что там с трафиком?
                0
                1. Ссылку на офсайт не делал, по-моему. Укажите, поправлю. На сайте статья без демо на флеше — он сделан специально для хабра, да и тексты разнятся. Хотя, если противоречит правилам — снимем с сайта, конечно.
                2. API готовится и будет выложено в будущем, конечно же.
                3. Java клиент для чего — для мобильных устройств или для браузеров? (возможно наивный вопрос — я не технарь — разъясните, буду благодарен).
                4. «Говорите тише» — это для демо движка, т.е. не для окончательного решения, конечно же. ))))) Чувствительность flash к звуку пока оставили высокой (по-моему 80 из ста, если не ошибаюсь), чтобы с ноута можно было негромко сказать, а не наклоняться к микрофону.
                5. Принято, благодарю, учтем и хорошая идея.
                6. С трафиком еще не считали, но это будет ближе к API, конечно же. С мобилок — единственное требование — silverlight или flash поддержка. У меня в андроиде, скажу честно — не заиграло сегодня — не обновил flash player.
                +1
                «т руб» — это какая-то ваша «местная» валюта? «тыс.», наверное?
                А вообще, имхо, человеку проще при использовании дропбоксов просто ввести начальные буквы слова, для поиска необходимого. Или, например, разработчикам реализовать что-то типа ajax-suggest.
                Но разработка интересная)
                  0
                  Благодарю за отзыв. Да, это удобно — но для более-менее продвинутых пользователей.))))
                  Согласен с Вами всяко. Мы не предлагаем замены, мы добавляем альтернативу.
                • UFO just landed and posted this here

                  Only users with full accounts can post comments. Log in, please.