Совместное использование пошагового языка разметки и объектно ориентированного инструментального средства разработки

Иллюстрации

Показать все

Изобретение относится к системе и способу для комбинирования VoiceXML с инструментальным средством разработки речевого приложения, такого как SALT. Техническим результатом является расширение функциональных возможностей за счет обеспечения возможности управления диалоговым потоком. Машиночитаемый носитель содержит модуль VoiceXML, который включает в себя команды VoiceXML и модуль SALT, который включает в себя языковые тэги речевых приложений для исполнения команд, ассоциированных с модулем VoiceXML. Способ обеспечивает интерактивный пользовательский интерфейс. 3 н. и 32 з.п. ф-лы, 14 ил.

Реферат

Предшествующий уровень техники

Настоящее изобретение относится к программированию речевых приложений. Конкретнее, настоящее изобретение относится к совместному использованию пошагового речевого языка разметки и объектно ориентированных расширений для речевых приложений.

Успехи в компьютерных пользовательских интерфейсах позволили пользователям взаимодействовать с компьютером через речевые команды. Развиты речевые порталы, такие как через использование языка VoiceXML (расширяемый язык разметки для речи), чтобы позволить контенту (информационно значимому содержимому) интернета быть доступным с помощью речевого ввода. В этой архитектуре сервер документов (например, сетевой сервер) обрабатывает запросы от клиента через интерпретатор VoiceXML. Web-сервер может создавать документы VoiceXML и ответы, которые обрабатываются интерпретатором VoiceXML и воспроизводятся в слышимой форме пользователю. С помощью заданных речевых команд при распознавании речи пользователь может перемещаться (осуществлять навигацию) во Всемирной паутине (Web) и прослушивать воспроизводимые в слышимой форме данные.

Язык разработки VoiceXML спроектирован для того, чтобы позволить авторам контролировать диалог между пользователем и речевым приложением. VoiceXML следует пошаговому способу, в котором приложение управляет диалоговым потоком и спрашивает пользователя для того, чтобы заполнить форму или сделать выбор из меню. Приложение VoiceXML выполняет несколько шагов для того, чтобы предоставить данные пользователю или заполнить данные в форме. Конкретнее, VoiceXML следует алгоритму интерпретации формы, который управляет взаимодействием между пользователем и формой или меню VoiceXML. Этот алгоритм продолжается в цикле по форме или меню до тех пор, пока не заполнятся значения, пока не будет сделан выбор или пока не встретится исключение.

Речевые приложения могут также разрабатываться через использование расширения языка разметки, такого как спецификация языковых тэгов (неотображаемых элементов разметки) для речевых приложений (SALT). ДЯРП обеспечивает возможность многорежимного и телефонного доступа к информации, приложениям и Web-услугам от персональных компьютеров, телефонов, персональных цифровых информационных устройств (РДА) и других вычислительных устройств. ДЯРП расширяет существующие языки разметки, такие как HTML, X-HTML и XML. Многорежимный доступ с помощью ДЯРП обеспечивает пользователям возможность взаимодействия с приложением множеством различных путей, например с помощью клавиатуры, речи, мыши и/или пера или их сочетания.

В отличие от VoiceXML, ДЯРП основывается на подходе объектно ориентированного программирования, в котором приложения скомпонованы из различных объектов, автоматически запускаемых процедур или программ (триггеров). Объектно ориентированный подход обеспечивает авторам приложения возможность конфигурировать диалоговые потоки между пользователем и приложением на индивидуальной основе. Когда событие встречается в SALT, основанное на SALT приложение выполняет различные команды на основании этого события. Таким образом, пользователь может управлять диалоговым потоком, что может быть более эффективной и/или естественной формой взаимодействия c компьютером.

Приложения, использующие пошаговый подход VoiceXML, не используют в настоящее время гибкость, обеспечиваемую подходом на основе объектно ориентированного программирования, используемым инструментальными средствами речевых приложений, такими как SALT. В результате приложения VoiceXML сталкивается с трудностями при взаимодействии с ситуациями с перемежающейся инициативой системы и пользователя (в которых пользователь может запросить данные из нескольких различных категорий), внешними сообщениями и усовершенствованным управлением вызовом. Следовательно, были бы полезны система и способ, обеспечивающие программную гибкость SALT в VoiceXML.

Сущность изобретения

Настоящее изобретение обеспечивает систему и способ для комбинирования алгоритма пошагового исполнения команд и объектно ориентированного модуля. В одном аспекте настоящего изобретения программа, выполняемая компьютером, включает в себя пошаговый модуль, имеющий команды, исполняемые в определенном порядке на основании алгоритма выполнения. Объектно ориентированный модуль включает в себя объекты, имеющие временные триггеры для операций инициализации, ассоциированных с командами.

В другом аспекте настоящего изобретения модуль VoiceXML включает в себя исполняемые команды VoiceXML. Модуль SALT включает в себя языковые тэги речевого приложения для исполнения команд, ассоциированных с модулем VoiceXML. В еще одном варианте выполнения модуль VoiceXML может быть использован для объявления первого и второго полей VoiceXML, а модуль SALT инициализирует событие распознавания для получения речевого входного сигнала от пользователя. Модуль SALT заполняет первое поле VoiceXML первой частью речевого входного сигнала и второе поле VoiceXML второй частью речевого входного сигнала. Дополнительно модуль SALT может включать в себя множество грамматик, которые распознают речевой входной сигнал и ассоциируют входной сигнал с конкретной грамматикой и/или полем.

Еще одним аспектом настоящего изобретения является способ обеспечения интерактивного пользовательского интерфейса. Способ основывается на пошаговом диалоге, исполняющем команды в определенном порядке. Эти команды включают в себя объекты для обработки событий, ассоциированных с по меньшей мере одним из распознавания, приглашения и сообщения. Объектно ориентированная операция выполняется, когда встречается объект, ассоциированный с этими командами. Операция обеспечивает по меньшей мере одно, но не все из событий в диалоге, ассоциированном с распознаванием, приглашением и сообщением.

Перечень чертежей

Фиг.1 - блок-схема системы, использующей пошаговый модуль и объектно ориентированный модуль.

Фиг.2 - вид сверху рабочей среды вычислительного устройства.

Фиг.3 - блок-схема вычислительного устройства по фиг.2.

Фиг.4 - вид сверху телефона.

Фиг.5 - блок-схема универсального компьютера.

Фиг.6 - блок-схема архитектуры для системы “клиент/сервер”.

Фиг.7 - блок-схема способа согласно варианту выполнения настоящего изобретения.

Фиг.8 - блок-схема результата распознавания и множества грамматик.

Фиг.9 - блок-схема способа согласно варианту выполнения настоящего изобретения.

Фиг.10 - блок-схема результата распознавания и множества полей.

Фиг.11 - блок-схема способа согласно варианту выполнения настоящего изобретения.

Фиг.12 - блок-схема способа согласно варианту выполнения настоящего изобретения.

Фиг.13 - блок-схема способа согласно варианту выполнения настоящего изобретения.

Фиг.14 - примерная страница разметки согласно варианту выполнения настоящего изобретения.

Подробное описание предпочтительных вариантов выполнения

Фиг.1 иллюстрирует систему 10 для комбинирования использования пошагового языка, такого как VoiceXML, и инструментального средства разработки объектно ориентированного речевого приложения, такого как SALT. Система 10 включает в себя пошаговый модуль 12, например, модуль VoiceXML, и модуль 14 инструментального средства разработки объектно ориентированного речевого приложения, например, модуль SALT. Пошаговый модуль включает в себя команды, которые исполняются в определенном порядке, установленном алгоритмом выполнения. Модуль инструментального средства разработки объектно ориентированного речевого приложения включает в себя программные объекты, которые выполняют различные операции. В настоящем описании термином “VoiceXML” именуется расширяемый язык разметки для речи, который является возможной рекомендацией (Candidate Recommendation) W3C (консорциума по Всемирной Паутине). Копию описания Версии 2.0 VoiceXML можно найти по адресу www.w3.org/TR/voicexml20. Дополнительно, термином “SALT” именуются языковые тэги для речевых приложений, разработанные Форумом SALT. Копия описания 1.0 “SALT” доступна по адресу www.SALTforum.org. VoiceXML исполняет пошаговые команды на основании алгоритма интерпретации формы.

Один аспект настоящего изобретения включает в себя включение одного или более объектно ориентированных модулей 14 в исполняемые команды пошагового модуля 12. Объектно ориентированные модули 14 включают в себя временные триггеры, которые инициируют операции, когда триггер встречается в алгоритме выполнения пошагового модуля 12. Триггеры могут включать в себя различные события, такие как ошибка, исключение, прием сообщения, распознавание и/или нераспознавание или вышеперечисленного сочетания. Операции, которые выполняются, включают в себя такие операции, как распознавание речи, распознавание DTMF (двухтонального многочастотного набора телефонного номера), сбор аудиоданных, воспроизведение аудиоданных и т.п.

Когда при работе пошагового модуля 12 (например, модуля VoiceXML) встречается объектно ориентированный модуль 14 (например, тэг SALT), взаимодействие между тэгом SALT и модулем 12 VoiceXML определяется таким образом, чтобы разрешить использование SALT в VoiceXML. Например, при инициировании распознавание речи на основании множества грамматик с помощью тэга SALT команды, относящиеся к размещению каждого из блоков в отдельные поля, позволяют модулю SALT встраиваться в модуль VoiceXML. При использовании возможностей посылки сообщений SALT, команды посылки сообщений встраиваются в циклы алгоритма интерпретации формы. Путем встраивания объектно ориентированного модуля 14 в пошаговый модуль 12, функции и гибкость результирующего приложения могут быть расширены по сравнению с теми, которые доступны с помощью простого пошагового языка, такого как VoiceXML.

Способ обеспечения интерактивного пользовательского интерфейса является другим аспектом настоящего изобретения, который может воплощаться в системе 10. Пошаговый модуль 12 может устанавливать пошаговый диалог с пользователем, который выполняет команды в определенной последовательности, например, через форму или меню VoiceXML. Эти команды обрабатывают диалоговые события, ассоциированные с приглашением к распознаванию и/или сообщением распознавания. Объектно ориентированный модуль 14 выполняет объектно ориентированные операции (например, посредством выполнения тэгов SALT), когда они встречаются в диалоге для по меньшей мере одного, но не всех, из распознавания, приглашения или сообщения. В одном варианте выполнения пошаговый диалог включает в себя VoiceXML, который выполняет команды и тэги, которые выполняют объектно ориентированные операции.

Принимая во внимание полное описание системы для разработки речевых приложений, может быть полезно описать в общем виде вычислительные устройства, которые могут функционировать в системе 10, описанной выше. Специалистам в данной области техники должно быть понятно, что компоненты системы 10 могут быть расположены в отдельном компьютере или распределены по распределенной вычислительной среде с помощью соединений и протоколов.

На Фиг.2 примерная форма мобильного устройства, такого как устройство управления данными (электронная записная книжка (PIM, РДА и другие), показана позицией 30. Однако предполагается, что настоящее изобретение может быть осуществлено с помощью других вычислительных устройств, описанных ниже. Например, телефоны и/или устройства управления данными также получат выгоду от настоящего изобретения. Такие устройства будут иметь расширенную применимость по сравнению с существующими портативными персональными устройствами управления информацией и другими портативными электронными устройствами.

Примерная форма мобильного устройства 30 управления данными показана на Фиг.2. Мобильное устройство 30 включает в себя корпус 32 и имеет пользовательский интерфейс, включающий в себя дисплей 34, который использует сенсорный экран в сочетании с пишущим элементом 33. Пишущий элемент 33 используется для нажатия или контакта с дисплеем 34 в определенных координатах для выбора поля, для выборочного передвижения начальной позиции курсора или для иного обеспечения командной информации, такой как через жесты или письмо от руки. В качестве альтернативы или дополнения одна или более кнопок 35 могут быть включены в устройство 30 для управления перемещением. Кроме этого, могут также быть предусмотрены другие средства ввода данных, такие как вращающиеся колеса, роллеры и тому подобное. Однако следует отметить, что не подразумевается ограничение изобретения этими формами средств ввода данных. Например, другие формы ввода данных могут включать в себя визуальный ввод данных, например, посредством компьютерного зрения.

На Фиг.3 блок-схема иллюстрирует функциональные компоненты, составляющие мобильное устройство 30. Центральный процессор 50 (ЦПУ, CPU) реализует функции программного управления. ЦПУ 50 связан с дисплеем 34 таким образом, что текст и графические пиктограммы (иконки), сгенерированные в соответствии с программой управления, появляются на дисплее 34. Динамик 43 может быть связан с ЦПУ 50 обычно с помощью цифроаналогового преобразователя 59, чтобы обеспечить звуковой вывод. Данные, которые загружаются или вводятся пользователем в мобильное устройство 30, хранятся в энергонезависимом запоминающем устройстве 54 с произвольным доступом для считывания/записи, связанном в двух направлениях с ЦПУ 50. Оперативное запоминающее устройство 54 (ОЗУ, RAM) обеспечивает энергозависимое хранение для команд, которые исполняются процессором 50, и хранение для временных данных, таких как значения регистров. Значения по умолчанию для опций конфигурации и другие переменные хранятся в постоянном запоминающем устройстве 58 (ПЗУ, ROM). ПЗУ 58 может также использоваться для хранения программного обеспечения операционной системы для устройства, которое управляет основными функциями мобильного устройства 30, и других функций ядра операционной системы (например, обеспечивающих загрузку программных компонентов в ОЗУ 54).

ОЗУ 54 также работает как хранилище для кода аналогично функциям накопителя на жестких магнитных дисках в персональном компьютере (ПК, PC), который используется для хранения прикладных программ. Следует отметить, что хотя энергонезависимая память используется для хранения кода, он альтернативно может быть сохранен в энергозависимой памяти, которая не используется для исполнения этого кода.

Беспроводные сигналы могут передаваться/приниматься мобильным устройством через беспроводной приемопередатчик 52, который связан с ЦПУ 50. Необязательный интерфейс 50 связи может также быть предусмотрен для загрузки данных прямо из компьютера (например, персонального компьютера) или из проводной сети, если это необходимо. Соответственно, интерфейс 60 может содержать различные формы устройств связи, например, инфракрасную линию связи, модем, сетевую карту или тому подобное.

Мобильное устройство 30 включает в себя микрофон 29 и аналого-цифровой преобразователь 37 (АЦП) и в необязательном порядке, программу распознавания (речи, DTMF, рукописного текста, жестов или компьютерного зрения), хранимую в хранилище 54. К примеру, в ответ на звуковую информацию или команды от пользователя устройства 30 микрофон 29 обеспечивает речевые сигналы, которые оцифровываются в АЦП 37. Программа распознавания речи может выполнять функции нормализации и/или извлечения признаков в отношении оцифрованных речевых сигналов для получения промежуточных результатов распознавания речи. С помощью беспроводного приемопередатчика 52 или интерфейса 60 связи речевые данные могут быть переданы к удаленному серверу 204 распознавания, описанному ниже и показанному в архитектуре по Фиг.6. Результаты распознавания затем возвращаются в мобильное устройство 30 для их воспроизведения (например, визуального или звукового) на нем и возможной передачи к сетевому серверу 202 (Фиг.6), причем сетевой сервер 202 и мобильное устройство 30 работают во взаимоотношении “клиент/сервер”. Аналогичная обработка может быть использована для других форм ввода данных. Например, рукописный ввод может быть оцифрован с предварительной обработкой или без нее в устройстве 30. Как и речевые данные, эта форма ввода данных может быть передана к серверу 204 распознавания для распознавания, причем результаты распознавания возвращаются по меньшей мере к одному из устройства 30 и/или сетевого сервера 202. Таким же образом данные DTMF, данные жестов и визуальные данные могут быть обработаны аналогично. В зависимости от формы ввода данных устройство 30 (и другие формы клиентов, описанные ниже) может включать в себя необходимое аппаратное обеспечение, такое, как камера для визуального ввода.

Фиг.4 является видом сверху примерного варианта выполнения портативного телефона 80. Телефон 80 включает в себя дисплей 82 и клавиатуру 84. В общем случае блок-схема по Фиг.3 применима к телефону Фиг.4, хотя может потребоваться дополнительная схема, необходимая для выполнения других функций. Например, приемопередатчик, необходимый для работы в качестве телефона, потребуется для варианта выполнения Фиг.3; однако такая схема не относится к настоящему изобретению.

В дополнение к переносному или мобильному вычислительным устройствам, описанным выше, следует также понимать, что настоящее изобретение может быть использовано со множеством других вычислительных устройств, таких как универсальный настольный компьютер. Например, настоящее изобретение позволит пользователю с ограниченными физическими способностями вводить текст в компьютер или в другое вычислительное устройство, когда другие традиционные устройства ввода, такие как полная алфавитно-цифровая клавиатура, слишком сложны для работы.

Изобретение работает также со множеством других вычислительных систем, сред или конфигураций общего или специального назначения. Примеры общеизвестных вычислительных систем, сред и/или конфигураций, которые могут подходить для использования с изобретением, включают в себя, но не в ограничительном смысле обычные телефоны (без каких либо экранов), персональные компьютеры, серверные компьютеры, карманные или переносные устройства, планшетные компьютеры, многопроцессорные системы, системы, основанные на микропроцессорах, телевизионные приставки, программируемую бытовую электронику, сетевые ПК, мини-компьютеры, универсальные компьютеры, распределенные вычислительные среды, которые включают в себя любые из описанных выше системы или устройства и тому подобное.

Нижеследующее является кратким описанием универсального компьютера 120, показанного на Фиг.5. Однако компьютер 120 опять-таки является только одним примером соответствующей вычислительной среды и не предназначен для наложения каких-либо ограничений как на объем использования, так и на функции изобретения. Не следует и интерпретировать компьютер 120 как имеющий какую-либо зависимость либо требование, относящееся к любому или к комбинации компонентов, показанных здесь.

Изобретение может быть описано в общем контексте машиноисполняемых команд, таких как программные модули, выполняемые компьютером. В общем случае программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют конкретные задания или реализуют определенные абстрактные типы данных. Изобретение может также применяться в распределенных вычислительных средах, где задания выполняются удаленными устройствами обработки, которые связаны через сеть связи. В описанной вычислительной среде программные модули могут быть расположены как на локальных, так и на удаленных компьютерных носителях данных, включающих в себя запоминающие устройства. Задания, выполняемые программами и модулями, описаны ниже с помощью чертежей. Специалисты в данной области техники могут реализовать описание и чертежи как исполняемые процессором команды, которые могут быть записаны на любом виде машиночитаемого носителя.

На Фиг.5 компоненты компьютера 120 могут включать в себя, но не в ограничительном смысле, блок 140 обработки данных, системную память 150 и системную шину 141, которая связывает различные системные компоненты, в числе и системную память, с блоком 140 обработки данных. Системная шина 141 может относиться к любому из нескольких видов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующие любые из множества шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину архитектуры промышленного стандарта (шину ISA), универсальную последовательную шину (шину USB), шину микроканальной архитектуры (шину MCA), шину расширенной архитектуры промышленного стандарта (шину EISA), локальную шину ассоциации стандартов видеоэлектроники (шину VESA) и шину межсоединения периферийных компонентов (шину PCI), также известную как мезонинная шина. Компьютер 120 обычно включает в себя разнообразные машиночитаемые носители. Машиночитаемые носители могут быть любыми из доступных носителей, к которым компьютер 120 может осуществить доступ, и включают в себя энергозависимые или энергонезависимые носители, сменные или несменные носители. В качестве примера, а не ограничения, машиночитаемые носители могут содержать компьютерный носитель данных и среды передачи. Компьютерные носители данных включают в себя как энергозависимые, так и энергонезависимые, как сменные, так и несменные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Компьютерный носитель данных включает в себя, но не в ограничительном смысле, ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ (EEPROM), флэш-память или память другой технологии, компакт-диск, цифровой универсальный диск (DVD) или другие оптические дисковые носители, магнитные кассеты, магнитную ленту, магнитные дисковые носители или другие магнитные запоминающие устройства, или любые другие носители, которые могут быть использованы для хранения требуемой информации и к которым компьютер 120 может осуществить доступ.

Среды передачи обычно воплощают машиночитаемые команды, структуры данных, программные модули или другие данные в сигнале, модулированном данными, таком как сигнал несущей или иной механизм переноса, и включают в себя любые среды доставки информации. Термин "сигнал, модулированный данными" означает сигнал, который имеет одну или более своих характеристик, установленных и измененных таким образом, чтобы обеспечить кодирование информации в этом сигнале. В качестве примера, а не ограничения, среды передачи включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустическая, радиочастотная (RF), инфракрасная и другие беспроводные среды. Сочетания любых описанных выше сред также охватываются понятием “машиночитаемый носитель”.

Системная память 150 включает в себя компьютерный носитель данных в форме энергозависимой или энергонезависимой памяти, такой как ПЗУ 151 и ОЗУ 152. Базовая система ввода/вывода (BIOS), содержащая основные процедуры, которые помогают передавать информацию между элементами в компьютере 120, например при запуске, обычно хранится в ПЗУ 151. ОЗУ 152 обычно содержит информацию и/или программные модули, которые оперативно доступны для блока 140 обработки данных и/или выполняются в настоящее время блоком 140 обработки данных. В качестве примера, а не ограничения, Фиг.5 иллюстрирует вычислительную систему 154, прикладные программы 155, другие программные модули 156 и данные 157 программ.

Компьютер 120 может также включать в себя другие сменные/несменные энергозависимые/энергонезависимые компьютерные носители информации. Только в качестве примера Фиг.5 показывает накопитель 161 на жестких магнитных дисках, который считывает с несменных энергонезависимых магнитных носителей или записывает на них, дисковод 171 магнитного диска, который считывает со сменного энергонезависимого магнитного диска 172 или записывает на него, и дисковод 175 оптического диска, который считывает со сменного энергонезависимого оптического диска 176, такого как компакт-диск или другой оптический носитель, и записывает на него. Другие сменные/несменные энергозависимые/энергонезависимые компьютерные носители данных, которые могут быть использованы в примерной операционной среде, включает в себя, и но не в ограничительном смысле, кассеты магнитной ленты, карточки флэш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и тому подобное. Накопитель 161 на жестких магнитных дисках обычно соединен с системной шиной 141 через интерфейс несменной памяти, такой как интерфейс 160, а дисковод 171 магнитного диска и дисковод 175 оптического диска обычно соединены с системной шиной 141 интерфейсом сменной памяти, таким как интерфейс 170.

Дисководы и накопители и связанные с ними компьютерные носители данных, описанные выше и показанные на Фиг.5, обеспечивают хранение машиночитаемых команд, структур данных, программных модулей и других данных для компьютера 120. На Фиг.5, например, накопитель 161 на жестких магнитных дисках показан как хранящий операционную систему 164, прикладные программы 165, другие программные модули 166 и данные 167 программ. Отметим, что эти компоненты могут либо быть теми же самыми, либо отличаться от операционной системы 154, прикладных программ 155, других программных модулей 156 и программных данных 157. Операционной системе 164, прикладным программам 165, другим программным модулям 166 и данным 167 программ присвоены здесь другие номера, чтобы показать, что, как минимум, они являются другими копиями.

Пользователь может вводить команды или информацию в компьютер 120 через устройства ввода, такие как клавиатура 182, микрофон 183 и координатное устройство 181, такое как мышь, трекбол или сенсорный планшет. Другие устройства ввода (не показаны) могут включать в себя джойстик, игровой планшет, спутниковую антенну, сканнер и тому подобное. Эти и другие устройства ввода часто соединены с блоком 140 обработки данных через интерфейс 180 пользовательского ввода, который связан с системной шиной, но могут быть соединены с другими структурами интерфейсов и шин, такими как параллельный порт, игровой порт или универсальная последовательная шина USB. Монитор 184 или другие типы устройств отображения также соединены с системной шиной 141 через интерфейс, такой как видеоинтерфейс 185. В дополнение к монитору, компьютеры могут также включать в себя другие периферийные устройства вывода, такие как громкоговорители 187 и принтер 186, которые могут быть подсоединены через выходной периферийный интерфейс 188.

Компьютер 120 может работать в сетевой среде с помощью логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 194. Удаленный компьютер 194 может быть персональным компьютером, карманным устройством, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим сетевым узлом и обычно включает в себя многие или все элементы, описанные выше в отношении компьютера 120. Логические соединения, изображенные на Фиг.5, включают в себя локальную сеть 191 (ЛС, LAN) и глобальную сеть 193 (ГВС, WAN), но могут также включать в себя и другие сети. Такие сетевые среды распространены в офисах, компьютерных сетях масштаба предприятия, интрасетях и Интернете.

При использовании в сетевой среде ЛС компьютер 120 соединяется с ЛВС 191 через сетевой интерфейс или адаптер 190. При использовании в сетевой среде ГС компьютер 120 обычно включает в себя модем 192 или другое средство для установления соединений через ГС 193, такую как Интернет. Модем 192, который может быть внутренним и внешним, может быть соединен с системной шиной 141 через интерфейс 180 пользовательского ввода или другой соответствующий механизм. В сетевой среде программные модули, изображенные относящимися к компьютеру 120, или их части могут храниться в удаленном запоминающем устройстве. В качестве примера, а не ограничения, Фиг.5 иллюстрирует удаленные прикладные программы 195 как находящиеся на удаленном компьютере 194. Ясно, что показанные сетевые соединения являются примерными, и могут быть использованы другие средства установления связи между компьютерами.

Фиг.6 иллюстрирует архитектуру 200 для распознавания и воспроизведения данных на основе Web, которая является одной примерной средой для настоящего изобретения. Обычно к информации, хранящейся в Web-сервере 202, можно осуществить доступ через клиента 100, такого как мобильное устройство 30 или компьютер 120 (который здесь представляет другие формы вычислительных устройств, имеющих экран дисплея, микрофон, камеру, сенсорную панель и т.д., в соответствии с требованиями формы ввода данных), или через телефон 80, в котором информация запрашивается в слышимой форме, или тональным сигналом, генерируемым телефоном 80 в ответ на нажатие клавиш, и при этом информация от Web-сервера 202 предоставляется пользователю только в слышимой форме.

В этом варианте выполнения архитектура 200 унифицирована в том, что независимо от того, получена ли информация через клиента 100 или телефон 80 с помощью распознавания речи, единственный сервер 204 распознавания может поддерживать любой режим работы. В дополнение к этому, архитектура 200 работает с помощью расширения общеизвестных языков разметки (например, HTML, XHTML, cHTML, XML, WML и другие). Таким образом, к информации, хранящейся на Web-сервере 202, можно осуществить доступ с помощью общеизвестных методов графического пользовательского интерфейса (GUI), имеющихся в этих языках разметки. С помощью расширения общеизвестных языков разметки облегчается авторская разработка на Web-сервере 202, а уже существующие приложения можно также легко модифицировать для включения распознавания речи.

Обычно клиент 100 исполняет страницы HTML, скрипты (программы на макроязыке) и др., что обозначено в общем позицией 206, предоставляемые Web-сервером 202 с помощью браузера. Когда требуется распознавание речи, в виде примера, речевые данные, которые могут быть оцифрованными аудиосигналами или речевыми признаками, в которых аудиосигналы предварительно обработаны клиентом 100, как описано выше, подаются на сервер 204 распознавания с индикацией грамматики или языковой модели 220 для использования во время распознавания речи, которое может быть обеспечено клиентом 100. Альтернативно, речевой сервер 204 может включать в себя языковую модель 220. Реализация сервера 204 распознавания может принимать много форм, одна из которых показана, но в общем случае включает в себя средство распознавания или распознаватель 211. Результаты распознавания возвращаются к клиенту 100 для локального воспроизведения, если это необходимо или уместно. Если необходимо, то модуль 222 преобразования текста в речь может быть использован для обеспечения озвученного текста для клиента 100. После компиляции информации через распознавание и любой графический пользовательский интерфейс, если он используется, клиент 100 посылает эту информацию к Web-серверу 202 для дальнейшей обработки и приема дальнейших страниц/скриптов HTML, если это необходимо.

Как показано на Фиг.6, клиент 100, Web-сервер 202 и сервер 204 распознавания обычно соединены и имеют раздельную адресацию через сеть 205, в рассматриваемом случае здесь через глобальную сеть, такую как Интернет. По этой причине нет необходимости в том, чтобы любое из этих устройств физически располагалось рядом друг с другом. В частности, нет необходимости, чтобы Web-сервер 202 включал в себя сервер 204 распознавания. В этом случае авторская разработка на Web-сервере 202 может быть сфокусирована на приложении, на которое она направлена, без необходимости для авторов знать сложную структуру сервера 204 распознавания. Вместо этого сервер 204 распознавания может быть независимо разработан и соединен с сетью 205, и, тем самым, может быть обновлен и усовершенствован без дальнейших изменений, требуемых на Web-сервере 202. Web-сервер 202 может также включать в себя авторскую разработку средства, которое может динамически генерировать разметку и скрипты на стороне клиента. В дальнейшем варианте выполнения Web-сервер 202, сервер 204 распознавания и клиент 100 могут быть объединены в зависимости от функциональных возможностей реализующих их машин. Например, если клиент 100 содержит компьютер общего назначения, например персональный компьютер, то клиент может включать в себя сервер 204 распознавания. Таким же образом, если необходимо, Web-сервер 202 и сервер 204 распознавания могут быть включены в состав одной машины.

Доступ к сетевому серверу 202 через телефон 80 включает в себя соединение телефона 80 с проводной или беспроводной телефонной сетью 208, которое, в свою очередь, соединяет телефон 80 со шлюзом 210 третьей стороны. Шлюз 210 соединяет телефон 80 с телефонным речевым браузером 212. Телефонный речевой браузер 212 включает в себя медиа-сервер 214, который обеспечивает телефонный интерфейс и речевой браузер 216. Как и клиент 100, телефонный речевой браузер 212 принимает страницы/скрипты HTML или тому подобное от Web-сервера 202. В одном варианте выполнения, страницы/скрипты HTML имеют форму, аналогичную страницам/скриптам HTML, предоставленным клиенту 100. Таким образом, сетевому серверу 202 нет необходимости раздельно поддерживать клиента 100 и телефон 80, или даже раздельно поддерживать клиентов стандартного GUI. Вместо этого может использоваться общий язык разметки. В дополнение, как и в случае клиента 100, при распознавании речи из звуковых сигналов, передаваемых телефоном 80, эти сигналы передаются из речевого браузера 216 в сервер 204 распознавания либо через сеть 205, либо через выделенную линию 207, например, с помощью TCP/IP (протокола управления передачей/Интернет-протокола). Сетевой сервер 202, сервер 204 распознавания и телефонный речевой браузер 212 могут быть воплощены в любой соответствующей вычислительной среде, такой как настольный компьютер общего назначения, показанный на Фиг.5.

При использовании инструментальных средств разработки речевых приложений, включенных в VoiceXML, можно расширить функциональные возможности страницы разметки VoiceXML. Хотя алгоритм интерпретации формы VoiceXML разработан для взаимодействующих приложений с речевым ответом, использование других инструментальных средств в VoiceXML обеспечивает более дружественное к пользователю и устойчивое к сбоям приложение. Для того чтобы встроить инструментальные средства разработки речевого приложения в VoiceXML, обеспечивается взаимодействие между командами VoiceXML и командами инструментального средства разработки.

Фиг.7 иллюстрирует способ 300 согласно варианту выполнения настоящего изобретения. Способ начинается с этапа 302, в котором инициализируют пошаговый алгоритм VoiceXML. Например, алгоритм может быть инициализирован при объявлении показа формы или меню в странице разметки VoiceXML с помощью тэга <форма> (<forma>) или тэга <меню> (<menu>), соответственно. После того, как алгоритм инициализирован, этапы на странице VoiceXML будут непрерывно повторяться в цикле, пока не будут удовлетворены определенные условия. После этапа 302 способ переходит к этапу 304, на котором инициализируют событие распознавания SALT, имеющее множество ассоциированных грамматик. Это событие распознавания может быть инициировано с помощью тэга прослушивания. Вместе со множеством грамматик используется множество грамматических тэгов для инициирования использования каждой из этих грамматик. Например, одна грамматика может быть использована для распознавания города, а другая грамматика может быть использована для распознания штата в приложении, запрашивающем адрес у пользователя. Альтернативно, одна грамматика может распознавать категории классы, а последующие грамматики могу распознавать подкатегории, ассоциированные с этими категориями.

Когда произнесение речи и/или входной сигнал DTMF подан пользователем, способ переходит к этапу 306, на котором результат распознавания ассоциируют по меньшей мере с одной из множества грамматик. Например, наличие страницы приглашения, которая распознает несколько категорий (например, спорт, погода, биржевые сводки, фильмы, трафик) и несколько подкатегорий (например, баскетбол, бейсбол, футбол, хоккей для категории “спорт”), позволяет пользователю ввести любую из этих кат