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

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

Info

Publication number
RU2379745C2
RU2379745C2 RU2004120266/09A RU2004120266A RU2379745C2 RU 2379745 C2 RU2379745 C2 RU 2379745C2 RU 2004120266/09 A RU2004120266/09 A RU 2004120266/09A RU 2004120266 A RU2004120266 A RU 2004120266A RU 2379745 C2 RU2379745 C2 RU 2379745C2
Authority
RU
Russia
Prior art keywords
field
computer
voicexml
module
recognition
Prior art date
Application number
RU2004120266/09A
Other languages
English (en)
Other versions
RU2004120266A (ru
Inventor
Куансан ВАНГ (US)
Куансан ВАНГ
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2004120266A publication Critical patent/RU2004120266A/ru
Application granted granted Critical
Publication of RU2379745C2 publication Critical patent/RU2379745C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

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

Description

Предшествующий уровень техники
Настоящее изобретение относится к программированию речевых приложений. Конкретнее, настоящее изобретение относится к совместному использованию пошагового речевого языка разметки и объектно ориентированных расширений для речевых приложений.
Успехи в компьютерных пользовательских интерфейсах позволили пользователям взаимодействовать с компьютером через речевые команды. Развиты речевые порталы, такие как через использование языка 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, на котором результат распознавания ассоциируют по меньшей мере с одной из множества грамматик. Например, наличие страницы приглашения, которая распознает несколько категорий (например, спорт, погода, биржевые сводки, фильмы, трафик) и несколько подкатегорий (например, баскетбол, бейсбол, футбол, хоккей для категории “спорт”), позволяет пользователю ввести любую из этих категорий либо одну из подкатегорий, подлежащих распознаванию и ассоциированию с конкретной грамматикой. После ассоциирования с конкретной грамматикой введенные пользователем данные могут быть проанализированы и использованы речевым приложением. Например, если пользователь произносит "хоккей", то результаты игр и основные моменты из событий хоккейного дня могут быть воспроизведены пользователю.
VoiceXML только обеспечивает единую грамматику при распознавании. Тем самым пользователь должен перемещаться по множеству категорий и подкатегорий для получения релевантной информации или должна использоваться относительно большая грамматика. С помощью тэга <прослушивание> (<disten>) “SALT”, встроенного в команды VoiceXML, речевые входные сигналы могут быть ассоциированы с конкретной грамматикой и/или ассоциированы с конкретным полем, например, с помощью элемента <связывание> (<bind>).
Фиг.8 иллюстрирует блок-схему результата 320 распознавания и множество грамматик 321-324. Когда используется способ 300, результат 320 распознавания может быть ассоциирован с каждой из грамматик 321-324 и/или конкретным вариантом выбора или заголовком в каждой из грамматик 321 и 324.
Фиг.9 иллюстрирует способ 340 согласно другому варианту выполнения настоящего изобретения. На этапе 342 объявляют первое поле VoiceXML и второе поле VoiceXML. Когда объявляют поле VoiceXML, создается экземпляр класса алгоритма интерпретации формы, который будет продолжаться в цикле по выполняемым командам VoiceXML в форме до тех пор, пока не заполнятся первое и второе поля VoiceXML. После объявления полей на этапе 344 инициализируется событие распознавания SALT для получения речевого сигнала от пользователя. Это событие распознавания может быть инициировано, например, с помощью тэга прослушивания, который включает в себя один или более грамматических элементов. Речевой входной сигнал от пользователя может включать в себя множество частей из одного высказывания. На этапе 346 первое поле VoiceXML заполняется первой частью речевого входного сигнала, а второе поле VoiceXML заполняется второй частью речевого входного сигнала. Например, пользователь может пожелать ввести город отправления и город прибытия для информации о полете или может ввести в тип кухни и местоположение для информации о ресторанах.
Фиг.10 иллюстрирует блок-схему полей и речевых входных данных. Поле 350 и поле 352 объявляются модулем VoiceXML, а результат распознавания 360 распознается на основании речевых входных данных от пользователя. Этот результат 360 включает в себя первую часть 362 и вторую часть 364. С помощью результата 360 первая часть заполняется в поле 350, тогда как вторая часть 364 заполняется в поле 352. В результате автор способен программировать речевое приложение для распознавания множества входных данных от пользователя и располагать их в соответствующих полях на основании результата распознавания.
Фиг.11 иллюстрирует другой способ 380 согласно варианту выполнения настоящего изобретения. Способ 380 начинается с этапа 382, в котором создаются страница разметки с исполняемыми командами VoiceXML. На этапе 384 объявляют первое поле и второе поле. После объявления первого поля и второго поля от пользователя принимается ввод как речи, так и входных данных DTMF. Например, пользователь может произнести: «Пожалуйста, переведите [входные данные DTMF] сумму в долларах с моего чекового счета на мой сберегательный счет». В этом случае вместо устного произнесения суммы перевода, пользователь набирает сумму с помощью клавишной панели. На этапе 388 речевые входные данные распознают с помощью “SALT” и затем ассоциируют с первым полем, а входные данные DTMF распознают с помощью “SALT” и затем ассоциируют со вторым полем. Например, сумма, введенная в качестве входных данных DTMF, может быть введена в поле суммы, а речевые входные данные могут быть ассоциированы с переводом с чекового счета на сберегательный.
Фиг.12 иллюстрирует другой способ 400 согласно варианту выполнения настоящего изобретения. С помощью способа 400 переменная времени выполнения может использоваться для предоставления данных пользователю без необходимости представления формы удаленному серверу или иного доступа к последующей странице разметки. На этапе 402 создают страницу разметки с исполняемыми командами VoiceXML. На этапе 404 результат распознавания речи получают из речевых входных данных пользователя. На этапе 406 по меньшей мере часть результата располагают в поле. Как только результат расположен в поле, способ переходит к этапу 408, на котором страницу разметки используют для предоставления поля пользователю. Например, этап 408 может быть использован для подтверждения одного или более полей, введенных пользователем. Более того, поле может быть использовано как часть приглашения, которая воспроизводится пользователю. При использовании тэга SALT <приглашение> (<promt>) переменная времени выполнения может быть предоставлена без пути к удаленному серверу и от него. В этой ситуации вычислительная мощность клиента используется без необходимости в соединении с удаленным сервером.
Фиг.13 иллюстрирует способ 420 согласно другому варианту выполнения настоящего изобретения. Способ начинается с этапа 422, на котором создают страницу разметки с исполняемыми командами VoiceXML. Далее на этапе 424 от пользователя получают речевые входные данные. На этапе 426 с помощью речевого входного сигнала выполняется соединение с Web-сервером и выполняется событие передачи сообщения. Например, Web-сервер может содержать значения, воспроизведение которых было бы желательно для пользователя. На этапе 428 пользователю воспроизводят результат, который основан на информации, принятой из события передачи сообщения.
Фиг.14 иллюстрирует страницу разметки, которая воспроизводит пользователю почтовый индекс на основании города ввода. Страница 450 разметки включает в себя исполняемые команды VoiceXML, а также тэги SALT, описанные ниже. Заголовок 452 включает в себя схемы, которые относятся к VoiceXML и SALT и дополнительно устанавливают "v:" в качестве ограничителя для тэга VoiceXML и "s:" в качестве тэга SALT. Команда 454 объявляет форму в VoiceXML, которая начинает выполнять алгоритм интерпретации формы. Таким образом, алгоритм интерпретации формы будет исполнять команды в форме (которая включает в себя команды между тэгом <v:form> и тэгом </v:form>), пока не заполнятся значения в форме. Команда 456 объявляет переменную «ответ» (“answer”) и присваивает нулевое значения этой переменной. Алгоритм интерпретации формы затем работает по шагам для того, чтобы выдать пользователю приглашение ввести город и штат, чтобы можно было найти почтовый индекс.
Команда 458 объявляет поле, названное «город» (“city”). В VoiceXML обработчик по умолчанию для этого поля будет заполнять данное поле при событии распознавания. Тэг 460 приглашения (который может быть SALT или VoiceXML) предлагает пользователю назвать город, для которого ищется почтовый индекс. Тэг 462 прослушивания SALT инициирует событие распознавания, имеющее ассоциированную грамматику 464, которая распознает названия городов. Другая ассоциированная грамматика 465 распознает названия штатов в случае, если пользователь желает ввести название штата во время произнесения. Если пользователь вводит речевые входные данные, которые распознаются как город, то событие распознавания заполняет поле «город». Если пользователь вводит речевые входные данные, которые распознаются как штат, то событие распознавания заполняет поле «штат».
Алгоритм интерпретации формы переходит к команде 466, если поле города заполнено. Команда 466 объявляет поле, названное «штат» (“state”), которое будет заполняться событием распознавания, которое ассоциировано с грамматикой штата, что происходит во время события распознавания, инициализированного тэгом 462 прослушивания. Приглашение 468 предлагает пользователю произнести штат, а тэг 470 прослушивания инициализирует событие распознавания грамматиками 472 и 474. Грамматика 472 распознает города, тогда как грамматика 474 распознает штаты. С помощью грамматики 472 пользователь может выбрать другой город, который будет распознан и помещен в поле города. Альтернативно, пользователь может ввести штат, который ассоциирован с грамматикой 474 штата и помещается в поле штата.
Команда 476 является условной командой, которая исполняет команды между тэгами <v:filled> и </v:filled>, если переменные «город» и «штат» действительно заполнены. Тэг 478 прослушивания SALT инициализирует событие отправки сообщения, которое возвратит почтовый индекс на основании города, введенного пользователем. Тэг 478 использовал объект "smex", который сообщается с внешними компонентами. Тэг 480 параметра SALT идентифицирует удаленный сервер, к которому будет осуществлен доступ для извлечения почтового индекса на основании города. Тэг 481 параметра посылает поля города и штата удаленному серверу. Тэг 482 связывания SALT связывает почтовый индекс, принятый от удаленного сервера, с переменной “ответ”, которая была объявлена командой 456. Тэг 484 приглашения SALT обеспечивает выходные данные, которые включают в себя как город, введенный пользователем, так и ответ, определенный из события передачи сообщения.
Хотя настоящее изобретение описано со ссылками на частные варианты его выполнения, специалисты данной области техники поймут, что изменения могут быть сделаны в форме и деталях без отклонения от сущности и объема изобретения.

Claims (35)

1. Машиночитаемый носитель, имеющий команды, которые при их исполнении на компьютере предписывают компьютеру обрабатывать информацию, причем команды содержат:
модуль расширенного языка разметки для речи (VoiceXML), выполняющий алгоритм интерпретации формы, при этом модуль VoiceXML включает в себя команды, исполняемые в определенном порядке на основании алгоритма выполнения, чтобы предписать компьютеру установить интерактивный диалог для взаимодействия с пользователем, причем эти команды обрабатывают диалоговые события, ассоциированные с по меньшей мере одним из событий распознавания, приглашения и отправки сообщения; и модуль спецификации языковых тэгов для речевых приложений (SALT), имеющий языковые тэги речевых приложений, встроенные в модуль VoiceXML, при этом модуль SALT включает в себя по меньшей мере один объект, имеющий временной триггер для инициализации операции, ассоциированной с упомянутыми командами модуля VoiceXML, во время упомянутого взаимодействия, причем данная операция, инициализируемая модулем SALT, содержит по меньшей мере одно, но не все из событий распознавания, приглашения и отправки сообщения, при этом упомянутый алгоритм выполнения автоматически вызывает упомянутый временной триггер для инициализации упомянутой операции, когда встречается упомянутый по меньшей мере один объект.
2. Машиночитаемый носитель по п.1, в котором временной триггер инициализирует событие распознавания речи.
3. Машиночитаемый носитель по п.1, в котором временной триггер инициализирует событие распознавания двухтонального многочастотного набора телефонного номера (DTMF).
4. Машиночитаемый носитель по п.1, в котором временной триггер инициализирует событие отправки сообщения.
5. Машиночитаемый носитель по п.1, в котором модуль VoiceXML объявляет первое поле и второе поле, при этом модуль SALT инициализирует событие распознавания для получения речевых входных данных от пользователя и заполняет первое поле первой частью речевых входных данных и заполняет второе поле второй частью речевых входных данных.
6. Машиночитаемый носитель по п.5, в котором с первым полем ассоциирована первая грамматика, а со вторым полем ассоциирована вторая грамматика.
7. Машиночитаемый носитель по п.1, в котором модуль SALT инициализирует событие распознавания, имеющее множество грамматик, для получения результата распознавания и ассоциирует результат распознавания с по меньшей мере одной из упомянутого множества грамматик.
8. Машиночитаемый носитель по п.1, в котором модуль VoiceXML объявляет первое поле и второе поле, при этом модуль SALT инициализирует событие распознавания для получения входных данных, имеющих речевые входные данные и входные данные DTMF от пользователя, и ассоциирует речевые входные данные с первым полем, а входные данные DTMF - со вторым полем.
9. Машиночитаемый носитель по п.1, в котором модуль VoiceXML объявляет поле, при этом модуль SALT инициализирует событие распознавания для получения результата распознавания от пользователя для заполнения этого поля и выполняет приглашение для воспроизведения данного поля пользователю.
10. Машиночитаемый носитель по п.1, в котором модуль SALT выполняет событие отправки сообщения для соединения с удаленным приложением.
11. Машиночитаемый носитель по п.10, в котором модуль SALT принимает результат на основании события отправки сообщения и воспроизводит этот результат пользователю.
12. Машиночитаемый носитель по п.1, в котором алгоритм выполнения автоматически переходит к последующей команде после завершения упомянутой операции.
13. Машиночитаемый носитель по п.1, в котором триггер представляет собой одно из индикации ошибки, исключения, распознавания и нераспознавания.
14. Машиночитаемый носитель по п.1, в котором триггер представляет собой завершение команды воспроизведения.
15. Машиночитаемый носитель по п.1, в котором триггер представляет собой прием сообщения.
16. Машиночитаемый носитель, имеющий исполняемую компьютером страницу разметки, которая при исполнении предписывает компьютеру обрабатывать информацию, причем страница разметки содержит:
модуль расширяемого языка для речи (VoiceXML), имеющий исполняемые команды VoiceXML, которые устанавливают интерактивный диалог для взаимодействия между компьютером и пользователем, при этом модулем VoiceXML объявляются первое поле VoiceXML и второе поле VoiceXML и обеспечивается реализация алгоритма интерпретации формы для заполнения первого и второго полей VoiceXML, причем данный алгоритм интерпретации формы управляет ходом диалога с пользователем; и модуль спецификации языковых тэгов для речевых приложений (SALT), имеющий языковые тэги речевых приложений для исполнения команд, ассоциированных с модулем VoiceXML, во время упомянутого взаимодействия, при этом модуль SALT инициализирует событие распознавания для получения речевых входных данных от пользователя и заполняет первое поле VoiceXML первой частью речевых входных данных и заполняет второе поле VoiceXML второй частью речевых входных данных.
17. Машиночитаемый носитель по п.16, в котором алгоритм интерпретации формы постоянно выполняется в цикле по упомянутым исполняемым командам VoiceXML до тех пор, пока не заполнятся первое и второе поля VoiceXML.
18. Машиночитаемый носитель по п.17, в котором с первым полем VoiceXML ассоциирована первая грамматика, а со вторым полем VoiceXML ассоциирована вторая грамматика.
19. Машиночитаемый носитель по п.16, в котором модуль SALT инициализирует событие распознавания, имеющее множество грамматик, для получения результата распознавания и ассоциирует результат распознавания с по меньшей мере одной из упомянутого множества грамматик.
20. Машиночитаемый носитель по п.16, в котором модуль SALT инициализирует событие распознавания для получения входных данных, имеющих речевые входные данные и входные данные двухтонального многочастотного набора телефонного номера (DTMF) от пользователя, и ассоциирует речевые входные данные с первым полем, а входные данные DTMF - со вторым полем.
21. Машиночитаемый носитель по п.16, в котором модуль VoiceXML объявляет поле, при этом модуль SALT инициализирует событие распознавания для получения результата распознавания от пользователя для заполнения этого поля и выполняет приглашение в странице разметки для воспроизведения данного поля пользователю.
22. Машиночитаемый носитель по п.16, в котором модуль SALT выполняет событие отправки сообщения для соединения с удаленным приложением.
23. Машиночитаемый носитель по п.22, в котором модуль SALT принимает результат на основании события отправки сообщения и воспроизводит этот результат пользователю.
24. Способ обеспечения интерактивного пользовательского интерфейса, содержащий этапы, на которых
создают пошаговый диалог, исполняющий команды в определенном порядке, причем упомянутые команды включают в себя объекты для обработки событий, ассоциированных с по меньшей мере одним из распознавания, приглашения и отправки сообщения; и
выполняют объектно-ориентированную операцию, когда встречается объект, ассоциированный с упомянутыми командами, для обеспечения по меньшей мере одного, но не всех из событий в диалоге, ассоциированных с распознаванием, приглашением и отправкой сообщения.
25. Способ по п.24, в котором объектно-ориентированная операция является событием распознавания речи.
26. Способ по п.24, в котором объектно-ориентированная операция является событием распознавания двухтонального многочастотного набора телефонного номера (DTMF).
27. Способ по п.24, в котором пошаговый диалог воплощают в модуле расширяемого языка разметки для речи (VoiceXML).
28. Способ по п.24, в котором объектно-ориентированную операцию воплощают в модуле спецификации языковых тэгов речевых приложений (SALT).
29. Способ по п.24, в котором при создании пошагового диалога объявляют первое поле и второе поле, а выполнение объектно-ориентированной операции включает в себя событие распознавания, при котором получают речевые входные данные от пользователя и заполняют первое поле первой частью речевых входных данных и заполняют второе поле второй частью речевых входных данных.
30. Способ по п.29, в котором выполнение упомянутой операции дополнительно инициирует первую грамматику, ассоциированную с первым полем, и вторую грамматику, ассоциированную со вторым полем.
31. Способ по п.24, в котором упомянутая операция инициализирует событие распознавания, имеющее множество грамматик, для получения результата распознавания и ассоциирует результат распознавания с по меньшей мере одной из упомянутого множества грамматик.
32. Способ по п.24, в котором при создании пошагового диалога объявляют первое поле и второе поле, при этом выполнение объектно-ориентированной операции включает в себя инициализацию события распознавания для получения входных данных, имеющих речевые входные данные и входные данные DTMF от пользователя, и ассоциирует речевые входные данные с первым полем, а входные данные DTMF - со вторым полем.
33. Способ по п.24, в котором при создании пошагового диалога объявляют поле, при этом выполнение объектно-ориентированной операции включает в себя инициализацию события распознавания для получения результата распознавания от пользователя для заполнения этого поля и выполнения приглашения для воспроизведения данного поля пользователю.
34. Способ по п.24, в котором упомянутая операция является событием отправки сообщения для соединения с удаленным приложением.
35. Способ по п.34, в котором при упомянутой операции дополнительно принимают результат на основании события отправки сообщения и воспроизводят этот результат пользователю.
RU2004120266/09A 2003-07-03 2004-07-02 Совместное использование пошагового языка разметки и объектно ориентированного инструментального средства разработки RU2379745C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/613,631 2003-07-03
US10/613,631 US7729919B2 (en) 2003-07-03 2003-07-03 Combining use of a stepwise markup language and an object oriented development tool

Publications (2)

Publication Number Publication Date
RU2004120266A RU2004120266A (ru) 2006-01-10
RU2379745C2 true RU2379745C2 (ru) 2010-01-20

Family

ID=33490844

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004120266/09A RU2379745C2 (ru) 2003-07-03 2004-07-02 Совместное использование пошагового языка разметки и объектно ориентированного инструментального средства разработки

Country Status (10)

Country Link
US (1) US7729919B2 (ru)
EP (1) EP1501268A1 (ru)
JP (1) JP2005025760A (ru)
KR (1) KR101098716B1 (ru)
CN (1) CN100576171C (ru)
AU (1) AU2004202630A1 (ru)
BR (1) BRPI0402462A (ru)
CA (1) CA2471292C (ru)
MX (1) MXPA04006532A (ru)
RU (1) RU2379745C2 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9485330B2 (en) 2012-07-30 2016-11-01 Tencent Technology (Shenzhen) Company Limited Web browser operation method and system
RU2603535C2 (ru) * 2012-07-30 2016-11-27 Тенсент Текнолоджи (Шеньчжень) Компани Лимитед СПОСОБ И СИСТЕМА ЭКСПЛУАТАЦИИ Web-БРАУЗЕРА

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8849892B2 (en) * 2004-06-10 2014-09-30 Verizon Patent And Licensing Inc. Method and system for brokering messages in a distributed system
US7986954B1 (en) 2004-06-25 2011-07-26 Nortel Networks Limited Wireless communication network having a broadcast system for information distribution
US7739117B2 (en) * 2004-09-20 2010-06-15 International Business Machines Corporation Method and system for voice-enabled autofill
US7630900B1 (en) * 2004-12-01 2009-12-08 Tellme Networks, Inc. Method and system for selecting grammars based on geographic information associated with a caller
US7805704B2 (en) * 2005-03-08 2010-09-28 Microsoft Corporation Development framework for mixing semantics-driven and state-driven dialog
US20070115920A1 (en) * 2005-10-18 2007-05-24 Microsoft Corporation Dialog authoring and execution framework
US7814501B2 (en) * 2006-03-17 2010-10-12 Microsoft Corporation Application execution in a network based environment
US8632636B1 (en) * 2006-07-18 2014-01-21 Oral Health Technologies, LLC Wet wiper articles and methods for cleaning removable dental appliances
US8417529B2 (en) * 2006-12-27 2013-04-09 Nuance Communications, Inc. System and methods for prompting user speech in multimodal devices
WO2009105652A2 (en) * 2008-02-22 2009-08-27 Vocollect, Inc. Voice-activated emergency medical services communication and documentation system
US8433812B2 (en) * 2008-04-01 2013-04-30 Microsoft Corporation Systems and methods for managing multimedia operations in remote sessions
US8255225B2 (en) 2008-08-07 2012-08-28 Vocollect Healthcare Systems, Inc. Voice assistant system
US20110113352A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Portable electronic device and method of web page rendering
US20110109634A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Portable electronic device and method of information rendering on portable electronic device
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US10199041B2 (en) * 2014-12-30 2019-02-05 Honeywell International Inc. Speech recognition systems and methods for maintenance repair and overhaul
US11520610B2 (en) 2017-05-18 2022-12-06 Peloton Interactive Inc. Crowdsourced on-boarding of digital assistant operations
US11340925B2 (en) 2017-05-18 2022-05-24 Peloton Interactive Inc. Action recipes for a crowdsourced digital assistant system
US11056105B2 (en) * 2017-05-18 2021-07-06 Aiqudo, Inc Talk back from actions in applications
US11043206B2 (en) 2017-05-18 2021-06-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US10838746B2 (en) 2017-05-18 2020-11-17 Aiqudo, Inc. Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations
US10768954B2 (en) 2018-01-30 2020-09-08 Aiqudo, Inc. Personalized digital assistant device and related methods
US10991369B1 (en) * 2018-01-31 2021-04-27 Progress Software Corporation Cognitive flow

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05502539A (ja) 1990-09-19 1993-04-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 主データファイル及び制御ファイルが記録された記録担体、その記録方法及び装置、及びその読取装置
US6119151A (en) 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
WO1997033221A2 (en) * 1996-03-05 1997-09-12 Philips Electronics N.V. Transaction system based on a bidirectional speech channel through status graph building and problem detection for thereupon providing feedback to a human user person
US6236967B1 (en) * 1998-06-19 2001-05-22 At&T Corp. Tone and speech recognition in communications systems
US6246983B1 (en) * 1998-08-05 2001-06-12 Matsushita Electric Corporation Of America Text-to-speech e-mail reader with multi-modal reply processor
US6314402B1 (en) * 1999-04-23 2001-11-06 Nuance Communications Method and apparatus for creating modifiable and combinable speech objects for acquiring information from a speaker in an interactive voice response system
US6510414B1 (en) * 1999-10-05 2003-01-21 Cisco Technology, Inc. Speech recognition assisted data entry system and method
US6922411B1 (en) * 2000-09-29 2005-07-26 Voxeo Corporation Networked computer telephony system driven by web-based applications
US7158935B1 (en) * 2000-11-15 2007-01-02 At&T Corp. Method and system for predicting problematic situations in a automated dialog
AU2002227096A1 (en) * 2000-12-01 2002-06-11 The Trustees Of Columbia University In The City Of New York A method and system for voice activating web pages
US20030149565A1 (en) * 2001-03-09 2003-08-07 Chang Steve S. System, method and computer program product for spelling fallback during large-scale speech recognition
EP1410381A4 (en) 2001-05-04 2005-10-19 Unisys Corp DYNAMIC GENERATION OF VOICE APPLICATION INFORMATION FROM A WEB SERVER
US7610547B2 (en) * 2001-05-04 2009-10-27 Microsoft Corporation Markup language extensions for web enabled recognition
US20030055651A1 (en) * 2001-08-24 2003-03-20 Pfeiffer Ralf I. System, method and computer program product for extended element types to enhance operational characteristics in a voice portal
AR037082A1 (es) * 2001-10-12 2004-10-20 Back Office Service Solutions Procedimiento para determinacion de caudal y corte de fluidos y caudalimetro sensor de corte empleado
US7177814B2 (en) * 2002-02-07 2007-02-13 Sap Aktiengesellschaft Dynamic grammar for voice-enabled applications
US7178149B2 (en) * 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7590542B2 (en) * 2002-05-08 2009-09-15 Douglas Carter Williams Method of generating test scripts using a voice-capable markup language
US7295984B2 (en) * 2002-05-09 2007-11-13 Qwest Communications International Inc. Systems and methods for providing voice and data interfaces to web services-based applications
JP3814566B2 (ja) * 2002-06-20 2006-08-30 キヤノン株式会社 情報処理装置、情報処理方法、制御プログラム
US20040061717A1 (en) * 2002-09-30 2004-04-01 Menon Rama R. Mechanism for voice-enabling legacy internet content for use with multi-modal browsers
US7184523B2 (en) * 2002-10-31 2007-02-27 Comverse, Inc. Voice message based applets
US8001709B2 (en) * 2002-12-31 2011-08-23 Nvoq Incorporated Data device to speech service bridge
US7783475B2 (en) * 2003-01-31 2010-08-24 Comverse, Inc. Menu-based, speech actuated system with speak-ahead capability

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9485330B2 (en) 2012-07-30 2016-11-01 Tencent Technology (Shenzhen) Company Limited Web browser operation method and system
RU2603535C2 (ru) * 2012-07-30 2016-11-27 Тенсент Текнолоджи (Шеньчжень) Компани Лимитед СПОСОБ И СИСТЕМА ЭКСПЛУАТАЦИИ Web-БРАУЗЕРА

Also Published As

Publication number Publication date
CN1577267A (zh) 2005-02-09
MXPA04006532A (es) 2005-04-19
AU2004202630A1 (en) 2005-01-20
KR101098716B1 (ko) 2011-12-23
JP2005025760A (ja) 2005-01-27
US20050004800A1 (en) 2005-01-06
CA2471292A1 (en) 2005-01-03
CA2471292C (en) 2012-05-15
BRPI0402462A (pt) 2005-05-24
US7729919B2 (en) 2010-06-01
CN100576171C (zh) 2009-12-30
RU2004120266A (ru) 2006-01-10
EP1501268A1 (en) 2005-01-26
KR20050004129A (ko) 2005-01-12

Similar Documents

Publication Publication Date Title
RU2379745C2 (ru) Совместное использование пошагового языка разметки и объектно ориентированного инструментального средства разработки
US7650284B2 (en) Enabling voice click in a multimodal page
RU2710984C2 (ru) Совершение задачи без монитора в цифровом персональном помощнике
US9083798B2 (en) Enabling voice selection of user preferences
RU2349969C2 (ru) Синхронное понимание семантических объектов, реализованное с помощью тэгов речевого приложения
RU2355045C2 (ru) Последовательный мультимодальный ввод
US7593854B2 (en) Method and system for collecting user-interest information regarding a picture
US8352908B2 (en) Multi-modal conversion tool for form-type applications
CN100397340C (zh) 以对话为目的的应用抽象
US8024194B2 (en) Dynamic switching between local and remote speech rendering
RU2352979C2 (ru) Синхронное понимание семантических объектов для высокоинтерактивного интерфейса
US7548858B2 (en) System and method for selective audible rendering of data to a user based on user input
US7216351B1 (en) Systems and methods for synchronizing multi-modal interactions
US7890333B2 (en) Using a WIKI editor to create speech-enabled applications
JP5794779B2 (ja) クライアントの入力メソッド
JP2005149484A (ja) 逐次的なマルチモーダル入力
US20050261908A1 (en) Method, system, and apparatus for a voice markup language interpreter and voice browser
US8032825B2 (en) Dynamically creating multimodal markup documents
JP2009500722A (ja) 音声アプリケーションの測定およびロギング
JP2003044093A (ja) ウェブ対応音声認識用サーバの方法および記録媒体
JP2003067177A (ja) ウェブ対応認識アーキテクチャを有するシステムおよびその方法

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20130703