VoiceXML ( VXML ) — это стандарт цифровых документов для определения интерактивных медиа и голосовых диалогов между людьми и компьютерами. Он используется для разработки аудио- и голосовых приложений, таких как банковские системы и автоматизированные порталы обслуживания клиентов. Приложения VoiceXML разрабатываются и развертываются аналогично тому, как веб-браузер интерпретирует и визуально отображает язык гипертекстовой разметки (HTML), который он получает с веб-сервера . Документы VoiceXML интерпретируются голосовым браузером , и в общих архитектурах развертывания пользователи взаимодействуют с голосовыми браузерами через телефонную сеть общего пользования (PSTN).
Формат документа VoiceXML основан на языке Extensible Markup Language (XML). Это стандарт, разработанный Консорциумом Всемирной паутины (W3C).
Приложения VoiceXML обычно используются во многих отраслях и сегментах торговли. Эти приложения включают в себя запросы заказов, отслеживание посылок, направления движения, экстренные уведомления, пробуждение, отслеживание рейсов, голосовой доступ к электронной почте, управление взаимоотношениями с клиентами, повторное получение рецептов, аудиожурналы новостей, голосовой набор, информацию о недвижимости и национальные приложения для справочной службы . [ необходима цитата ]
VoiceXML имеет теги, которые предписывают голосовому браузеру обеспечить синтез речи , автоматическое распознавание речи , управление диалогами и воспроизведение звука. Ниже приведен пример документа VoiceXML:
<vxml version= "2.0" xmlns= "http://www.w3.org/2001/vxml" > <form> <block> <prompt> Привет, мир! </prompt> </block> </form> </vxml>
При интерпретации интерпретатором VoiceXML это выведет «Hello world» с синтезированной речью.
Обычно HTTP используется в качестве транспортного протокола для извлечения страниц VoiceXML. Некоторые приложения могут использовать статические страницы VoiceXML, в то время как другие полагаются на динамическую генерацию страниц VoiceXML с использованием сервера приложений , такого как Tomcat , Weblogic , IIS или WebSphere .
Исторически поставщики платформ VoiceXML реализовывали стандарт по-разному и добавляли фирменные функции. Но стандарт VoiceXML 2.0, принятый в качестве Рекомендации W3C 16 марта 2004 года, прояснил большинство областей различий. Форум VoiceXML, отраслевая группа, продвигающая использование стандарта, предоставляет процесс тестирования соответствия , который сертифицирует реализации поставщиков как соответствующие.
Корпорация AT&T , IBM , Lucent и Motorola сформировали VoiceXML Forum в марте 1999 года с целью разработки стандартного языка разметки для указания голосовых диалогов. К сентябрю 1999 года Форум выпустил VoiceXML 0.9 для комментариев участников, а в марте 2000 года они опубликовали VoiceXML 1.0. Вскоре после этого Форум передал контроль над стандартом W3C. [1] W3C выпустил несколько промежуточных версий VoiceXML 2.0, которые достигли финальной стадии «Рекомендации» в марте 2004 года. [2]
VoiceXML 2.1 добавил относительно небольшой набор дополнительных функций к VoiceXML 2.0, основанных на отзывах от реализаций стандарта 2.0. Он обратно совместим с VoiceXML 2.0 и достиг статуса рекомендации W3C в июне 2007 года. [3]
VoiceXML 3.0 должен был стать следующим крупным релизом VoiceXML с новыми крупными функциями. Однако с роспуском VoiceXML Forum в мае 2022 года [4] разработка нового стандарта была прекращена.
По состоянию на декабрь 2022 года предлагается мало реализаций платформы VoiceXML 2.0/2.1.
Структура речевого интерфейса W3C также определяет другие стандарты, тесно связанные с VoiceXML.
Спецификация грамматики распознавания речи (SRGS) используется для указания распознавателю речи, какие шаблоны предложений он должен ожидать услышать: эти шаблоны называются грамматиками. Как только распознаватель речи определяет наиболее вероятное предложение, которое он услышал, ему необходимо извлечь семантическое значение из этого предложения и вернуть его интерпретатору VoiceXML. Эта семантическая интерпретация указывается через стандарт семантической интерпретации для распознавания речи (SISR). SISR используется внутри SRGS для указания семантических результатов, связанных с грамматиками, т. е. набора назначений ECMAScript, которые создают семантическую структуру, возвращаемую распознавателем речи.
Язык разметки синтеза речи (SSML) используется для дополнения текстовых подсказок информацией о том, как лучше всего их преобразовать в синтетическую речь, например, какой голос синтезатора речи использовать или когда говорить громче или тише.
Спецификация лексикона произношения (PLS) используется для определения того, как произносятся слова. Сгенерированная информация о произношении предназначена для использования как распознавателями речи, так и синтезаторами речи в приложениях голосового просмотра.
Call Control eXtensible Markup Language (CCXML) — это дополнительный стандарт W3C. Интерпретатор CCXML используется на некоторых платформах VoiceXML для обработки первоначальной настройки вызова между вызывающим абонентом и голосовым браузером, а также для предоставления услуг телефонии, таких как перевод вызова и отключение голосового браузера. CCXML также может использоваться в не-VoiceXML-контекстах.
В приложениях медиасервера часто необходимо, чтобы несколько этапов вызова взаимодействовали друг с другом, например, в многосторонней конференции. В VoiceXML для этого приложения были выявлены некоторые недостатки, поэтому компании разработали специальные языки сценариев для работы в этой среде. Язык разметки медиасервера (MSML) был решением Convedia, а язык разметки управления медиасервером (MSCML) был решением Snowshore. Snowshore теперь принадлежит Dialogic, а Convedia теперь принадлежит Radisys. Эти языки также содержат «хуки», так что внешние скрипты (например, VoiceXML) могут работать на этапах вызова, где требуется функциональность IVR .
Была рабочая группа IETF под названием mediactrl («управление медиа»), которая работала над преемником этих систем сценариев, который, как надеются, станет открытым и широко принятым стандартом. [5] Рабочая группа mediactrl завершила свою работу в 2013 году. [6]