Speereo Software 2012 Распознавание Speereo (SSE) История Speereo Основание компании – 1998 г. 2002: мобильные приложения с SSE разработаны и продаются в мире. 2002-2011: ежегодные призы и награды. 2011: Добавлен русский язык. 2011: Резиденты Сколково. Грант Microsoft/SK. 2012: Разработка концепций; IPO. Назад ПО Speereo Voice Translator Voice Launcher Voice Reader Voice Browser Назад Проекты и концепции Speereo Автомобили Аэрокосмическая отрасль Пульт ДУ с речью Voice Admiral Назад Распознавание слитной речи Больше 10 лет исследований и разработки в области! Независимость от говорящего. Высокая точность распознавания (до 99%). Шумоустойчивость (успех до 98% в автошумах). Поддержка языков (русский, английский). Малый размер. Работа на клиенте(ARM, SHx, MIPS). SSE: Общая структура Первичная обработка • Система признаков, 41 коэффициент; • Оценка параметров окружающей среды; • Специальные алгоритмы по определению типа микрофона и устранению искажений канала передачи; • Специальные алгоритмы для устойчивой работы системы в автомобиле. Декодер • Непрерывные скрытые марковские модели (точность повышается); • Дискретные скрытые марковские модели (увеличивается скорость работы); • Для английского языка 63 модели, которые включают 2446 компоненты; • Параметры моделей определяются статистически; • Высокооптимизированный алгоритм декодера для работы в реальном масштабе времени. От идеала к реальности Жизнь диктует свои условия системам распознавания речи: • Офисные шумы; • Мобильные устройства требуют большей устойчивости по шуму (могут использоваться на улице); • Автомобильные шумы; • Распознавание речи на фоне посторонних голосов; • Дистанционное распознавание и пр. Облачные сервисы Облака дают преимущества и, одновременно, налагают ограничения: • Дают возможность использовать большие вычислительные ресурсы; • Дают легкую интеграцию со стороны разработчиков устройств; • Обязывают иметь связь с сервером (оплата трафика, доступно не везде); • Время ожидания пересылки речевого сообщения заметно для пользователя. Распознавание на устройстве • Высокая эффективность алгоритмов (увеличение быстродействия и автономной работы для мобильных устройств); • Кроссплатформенность, поддержка большой линейки актуальных процессоров (ARM, SHx, Atom и т.д.); • Сравнительно небольшие объемы доступной памяти (5-10 MB). Требования к SSE • Высокое качество распознавания (свыше 98%); • Дикторонезависимость – система понимает всех и не требует обучения голосу; • Поддержка большого словаря с расширением«на ходу». • Шумоустойчивость к различному окружению – к автомобильным, уличным и пр. шумам; • Устойчивость к вариациям произношения, в том числе акцентам; • Эффективность вычислений. SSE: Точность распознавания Тест 1: Распознавание длинных фраз Условия: 600 фраз. Язык английский. Точность распознавания – 99.9%. Тест 2: Распознавание коротких слов Условия: числовой словарь (включая невнятно произнесенные слова), 11 уникальных слов. Английский: уровень распознавания – 99.2%. Русский: уровень распознавания – 98.5%. SSE: Шумоустойчивость Тест 3: точность распознавания в зависимости от окружающих шумов: SSE демонстрирует высокую устойчивость. SNR (dB) 0 5 10 15 20 >50 Точность (%) 98,2 98,4 98,3 98,6 98,7 99,2 SSE: Распознавание в авто Тест 4: длинные фразы в шумной среде Условия: 600 фраз. Среда – движущаяся машина с открытыми окнами. Язык английский. Уровень распознавания – 97,6%. Специально разработанные алгоритмы обеспечивают высокий уровень распознавания речи в движущемся авто. SSE: аппаратные требования • Компактность: минимальные требования по памяти 1-2 MB; • Система распознавания речи Speereo работает с процессорами, производительностью от 100 MIPS; • Поддержка широкого класса процессоров (SHx, TMPR39XX, NEC VR4122, MIPS, ARM, x86 и т.д.). SSE: инструменты интеграции • Интуитивно понятные и простые инструменты разработки, доступные для неспециалистов в сфере речевых разработок. • Масштабируемость ПО. • Возможность использования технологии в различных операционных системах или в устройствах без OC. SSE: версия для WinCE Список речевых команд Команды, произнесенные пользователем SSE: использование Использование SSE можно разбить на две стадии: 1. Приложение определяет активность SSE и, если необходимо, передает список речевых команд. 2. Пользователь произносит фразу (команду), SSE определяет наиболее близкую фразу из полученного списка и передает идентификатор команды в приложение. Разработчику не требуется определять момент произнесения фразы. Все, что нужно – обработать команду, основываясь на переданном SSE ID. SSE: модели распознавания На сегодняшний день реализовано две модели: 1.Распознавание фраз со словами, известными SSЕ – включенными в словарь. 2.Распознавание фраз с неизвестными SSЕ словами (имена, пр.). В этом случае неизвестные слова автоматически транскрибируются. SSE: инициализация Дабы использовать речевой интерфейс в ПО, разработчик регистрирует ПО в системе распознавания Speereo (SSE); для этого необходимо вызвать функцию AddRegisterApplication. Прототип функции: UINT AddRegisterApplication (HWND hWnd), где hWnd – это окно ПО разработчика, что получает ответ от SSE. SE: создание списка команд Список команд создается вызовом функции AddPhrase для каждой речевой команды. void AddPhrase (LPCTSTR pszText, DWORD dwId), где: pszText – это речевая команда в орфографической форме; dwId – целый (integer) идентификатор речевой команды, что будет возвращен SSE, если речевая команда произнесена. Пример назначения команды AddPhrase (_T(“Open Window”), ID_OPEN_WINDOW); AddPhrase (_T(“Close Window”), ID_CLOSE_WINDOW); В этом примере две речевые команды (“ Open Window ” и “ Close Window ”) переданы в SSE с идентификаторами ID_OPEN_WINDOW и ID_CLOSE_WINDOW соответственно. Ответ от SE Сообщение WM_SRT_ACCEPTHYPO идентифицирует распознанную команду с параметром wPARAM. К окну ПО идет ответ от SE, hWnd которого использован в функции AddRegisterApplication как его параметр. Пример: case WM_SRT_ACCEPTHYPO: MakeHypo (wParam); return TRUE; MakeHypo – это функция разработчика по внедрению речевого функционала. SSE: сама простота Дабы внедрить речевой интерфейс Speereo, необходимо всего три шага: 1. Инициализация системы распознавания речи Speereo. 2. Определение списка речевых команд. 3. Определение реакции ПО на список речевых команд. SE: доп. элементы 1. Управление микрофоном и динамиком. 2. Возможность обращения с несколькими программами одновременно. 3. Возможность записывать звук и голос с немедленным сжатием сигнала. 4. Возможность проигрывания звука обратно пользователю. 5. Возможность выбора определения момента произнесения команды (постоянное слежение или запуск по нажатию кнопки). TTS: типы синтезаторов речи TTS полных слов Фонематический TTS База фон Просодия Фоны Речь TTS: требуемые ресурсы TTS полных слов Предопределенный словарь (до 2-3 тыс. слов) на стадии разработки системы. CPU от 40 MIPS, RAM от 0.5 Mb Требуется произнесение всех слов словаря диктором. Фонематический TTS Возможно использовать большие словари (более 100 тыс. слов). CPU от 80 MIPS, RAM от 2 MB. Словарь не требует настройки. TTS: требуемые ресурсы ТТS полных слов Может быть использован для любого языка. Для набора базы слов необходим диктор. Разработка (1-2 недели) зависит от требуемого словаря. Фонематический TTS На данный момент поддерживаются английский, русский, французский и испанский языки. Немецкий и итальянский в разработке. Каждый новый язык потребует 3 месяцев разработки. Вывод Система распознавания речи Speereo для встройки в устройство: • Дикторонезависимое распознавание речи: от 100 MIPS, от 1 MB памяти; • Синтезатор речи: от 80 MIPS, от 2Mb памяти; • Сжатие звука: от 40 MIPS, от 200 KB памяти. Назад Команда Олег Малеев, к.т.н., CTO Исследования и разработка – руководство. Даниил Ищенко, CMO Развитие бизнеса. Константин Ламин, CEO Идеология, общее руководство. Назад Контакты Даниил Ищенко [email protected] Моб.: +7 950 000 88 22 WWW.SPEEREO.COM