Представление данных на основе введенных пользователем данных

Иллюстрации

Показать все

Изобретение относится к доступу и воспроизведению информации в компьютерной системе, а более конкретно к представлению данных на основе голосового ввода, осуществляемого пользователем. Техническим результатом является расширение функциональных возможностей. Способ воспроизведения информации из документа пользователю на основе запроса заключается в выполнении этапов: воспроизводят данные в документе для пользователя, идентифицируют первый и второй объекты из запроса, осуществляют доступ к документу для идентификации семантических тэгов, связанных с текстом в документе, связывают первый объект с первым семантическим тэгом, соответствующим первой порции хранящегося текста в документе, и второй объект со вторым семантическим тэгом, соответствующим второй порции хранящегося текста в документе, при этом, по меньшей мере, одна из этих первой и второй порций хранящегося текста связана с данными в документе, которые были воспроизведены, идентифицируют третью порцию хранящегося текста, которая связана как с первой порцией, так и со второй порцией, и выборочно воспроизводят в слышимой форме третью порцию хранящегося текста. 3 н. и 30 з.п. ф-лы, 20 ил.

Реферат

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

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

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

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

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

Соответственно, существует необходимость в более гибком доступе к частям данных и их воспроизведении. Такие система и способ воспроизведения были бы проще в использовании, если бы были более естественными для пользователя.

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

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

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

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

Перечень фигур

Фиг.1 - блок-схема системы представления данных.

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

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

Фиг.4 - вид телефона в плане.

Фиг.5 - блок-схема компьютера общего назначения.

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

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

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

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

Фиг.10А-10С - иллюстративный код, используемый для воспроизведения таблицы по фиг.9.

Фиг.11 - схема таблицы направлений движения и объектов для воспроизведения данных в таблице.

Фиг.12 - схема таблицы данных о продажах и объекты для воспроизведения данных в таблице.

Фиг.13 - абзац текста и объекты для воспроизведения данных в абзаце текста.

Фиг.14А-14D - иллюстративный код, используемый для воспроизведения данных в абзаце по фиг.13.

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

Подробное описание иллюстративных вариантов воплощения изобретения

Фиг.1 представляет собой блок-схему системы 10 представления данных для воспроизведения данных на основе голосового ввода. Система 10 включает в себя модуль 12 речевого интерфейса, модуль 14 распознавания и восприятия речи и модуль 16 воспроизведения данных. Пользователь подает входные данные в форме голосового запроса в модуль 12 речевого интерфейса. Модуль 12 речевого интерфейса собирает речевую информацию от пользователя и выдает сигнал, служащий индикатором выполнения сбора речевой информации. После того как вводимая речь собрана модулем 12 речевого интерфейса, модуль 14 распознавания и восприятия речи распознает речь, используя средство распознавания (распознаватель) речи, и идентифицирует объекты, такие как ключевые слова или ключевые фразы, которые имеют отношение к информации, выбранной пользователем для воспроизведения системой 10. Объекты используются модулем 16 воспроизведения данных для извлечения данных из базы данных 18. Как только релевантная информация идентифицирована в базе данных 18, используя упомянутые объекты, релевантная информация может быть воспроизведена пользователю. Выходные данные модуля 16 воспроизведения данных могут быть различными по форме, включая звуковые и/или визуальные выходные данные.

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

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

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

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

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

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

Мобильное устройство 30 включает в себя микрофон 29, аналогово-цифровой (А/Ц) преобразователь (АЦП) 37 и, в необязательном порядке, программу распознавания (речи, двухтонального многочастотного набора (DTMF), почерка, жестов или программу машинного зрения), хранящуюся в памяти 54. Например, в ответ на звуковую информацию, инструкции или команды от пользователя устройства 30 микрофон 29 выдает речевые сигналы, которые оцифровываются А/Ц преобразователем 37. Программа распознавания речи может осуществлять функции нормализации и/или извлечения признаков в отношении оцифрованных речевых сигналов для получения промежуточных результатов распознавания речи. Используя беспроводной приемопередатчик 52 или интерфейс 60 связи, речевые данные могут быть переданы к удаленному серверу 204 распознавания, описанному ниже и показанному на фиг.6. Результаты распознавания затем возвращаются на мобильное устройство 30 для их воспроизведения (например, зрительного и/или звукового) и окончательной передачи к web-серверу 202 (фиг.6), причем web-сервер 202 и мобильное устройство 30 функционируют в отношении клиент/сервер. Похожая обработка может использоваться и для других форм ввода. Например, рукописный ввод может быть оцифрован с предварительной обработкой на устройстве 30 или без нее. Как и речевые данные, такая форма ввода может быть передана к серверу 204 распознавания для распознавания, причем результаты распознавания возвращаются либо устройству 30, либо к web-серверу 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), усовершенствованную шину ISA (EISA), локальную шину стандарта ассоциации по стандартам видеоэлектроники (VESA) и шину межсоединения периферийных компонентов (PCI), также известную как шину Mezzanine. Компьютер 120 обычно включает в себя различные машиночитаемые носители. Машиночитаемый носитель может быть любым доступным носителем, к которому компьютер 120 может осуществить доступ, и включает в себя как энергозависимый, так и энергонезависимый носитель, как съемный, так и несъемный носитель. В качестве примера, но не ограничения, машиночитаемые носители могут содержать компьютерные носители данных и среды передачи. Компьютерные носители данных включают в себя как энергозависимые, так и энергонезависимые носители, как съемные, так и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные. Компьютерный носитель данных включает в себя, но не в ограничительном смысле, ОЗУ, ПЗУ, электрически стираемое перепрограммируемое ПЗУ (EEPROM), флеш-память или другой тип памяти, CD-ROM, цифровые универсальные диски (DVD) или другие оптические дисковые носители, магнитные кассеты, магнитную ленту, магнитные дисковые носители, или другие магнитные запоминающие устройства, или любые другие носители, которые могут быть использованы для хранения необходимой информации и к которым компьютер 120 может осуществить доступ.

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

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

Компьютер 120 может также включать в себя другие съемные/несъемные энергозависимые/энергонезависимые компьютерные носители данных. Только для примера на фиг.5 показан накопитель 161 на жестких магнитных дисках, считывающий с несъемного энергонезависимого магнитного носителя или записывающий на него, привод 171 магнитного диска, считывающий со съемного энергонезависимого магнитного диска 172 или записывающий на него, и привод 175 оптического диска, считывающий со съемного энергонезависимого оптического диска 176, такого как CD-ROM или другой оптический носитель, или записывающий на него. Другие съемные/несъемные энергозависимые/энергонезависимые компьютерные носители данных, которые могут быть использованы в иллюстративной операционной среде, включают в себя, но не в ограничительном смысле, кассеты с магнитной пленкой, платы флеш-памяти, цифровые универсальные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и т.п. Накопитель 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 и указывающее устройство, такое как мышь, трекбол или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя джойстик, игровую клавиатуру, спутниковую параболическую антенну, сканер и т.п. Эти и другие устройства ввода, как правило, соединяются с блоком 140 обработки через интерфейс 180 пользовательского ввода, соединенный с системной шиной, но могут быть соединены и посредством других интерфейсов и структур шин, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 184 или устройство отображения другого типа также соединены с системной шиной 141 через интерфейс, такой как видеоинтерфейс 185. Кроме монитора, компьютер может также включать в себя другие периферийные устройства вывода, такие как громкоговорители 187 и принтер 186, которые могут быть соединены через выходной периферийный интерфейс 188.

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

При использовании в сетевой среде LAN компьютер 120 соединен с LAN 191 через сетевой интерфейс или адаптер 190. При использовании в сетевой среде WAN компьютер 120 обычно включает в себя модем 192 или другие средства для установления связи через WAN 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 распознавания могут быть объединены на одной машине.

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

Описав различные среды и архитектуры, функционирующие в системе 10, приводим более подробное описание различных компонентов и функций системы 10. Фиг.7 показывает блок-схему модуля 14 распознавания и восприятия речи. Входные речевые данные, принятые от модуля 12 речевого интерфейса, посылаются на модуль 14 распознавания и восприятия речи. Модуль 14 распознавания и восприятия речи включает в себя средство 306 распознавания, которое имеет связанную с ним языковую модель 310. Средство 306 распознавания использует языковую модель 310 для идентификации возможных поверхностно-семантических структур для представления соответствующих входных данных. Средство 306 распознавания обеспечивает, по меньшей мере, один поверхностно-семантический объект, основанный на вводимых речевых данных. В некоторых вариантах воплощения средство 306 распознавания может обеспечить более чем один альтернативный поверхностно-семантический объект для каждой альтернативной структуры.

Хотя на фиг.7 представлен ввод речевых данных, настоящее изобретение может быть использовано с распознаванием почерка, распознаванием жестов или с графическим интерфейсом пользователя (где пользователь взаимодействует с клавиатурой или другим устройством ввода). В этих отличных от предыдущих вариантах воплощения средство 306 распознавания речи заменяется подходящим средством распознавания, что известно из данного уровня техники. Для графических интерфейсов пользователя грамматика (имеющая языковую модель) связывается с пользовательским вводом данных, например, осуществляемым через окно ввода. Соответственно, вводимые пользователем данные обрабатываются согласованным путем без значительного изменения, основанного на способе ввода.

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

Языковая модель 310 может генерировать иерархическую поверхностно-семантическую структуру на основе информации, необходимой для модуля 16 воспроизведения данных для воспроизведения релевантной информации как функции предоставляемых объектов. В одном варианте воплощения вводимая речь анализируется на предмет идентификации различных семантических лексем или объектов внутри вводимого текста. Объекты идентифицируются на основе набора объектов, найденных в языковой модели 310. В общем случае объекты представляют информацию, используемую модулем 16 воспроизведения данных для воспроизведения информации. Как описано ниже, объекты могут включать в себя объекты запроса, объекты навигации и/или объекты команд. Объекты запроса содержат информацию, относящуюся к данным, хранящимся в базе данных 18. Объекты навигации содержат информацию, используемую при перемещении (навигации) по хранящейся информации, в то время как объекты команд могут осуществлять различные команды на основе хранящейся информации.

Модуль 14 распознания и восприятия речи может также использовать контроль 312 стиля для распознавания альтернативных фраз для идентификации объектов во вводимой речи. Контроль 312 стиля связан с языковой моделью 310 для помощи в предоставлении релевантных объектов для модуля 16 воспроизведения данных. В среде, показанной на фиг.6, информация, относящаяся к контролю 312 стиля, может быть воплощена автором приложения на web-сервере 202, используя средства авторской разработки, такие как ASP.NET, разработанные Microsoft Corporation, Redmond, Washington. Как вариант, могут использоваться и другие средства авторской разработки, такие как JSP, J2EE, J2SE, J2ME и т.п. Например, фраза "Каково расстояние до моего следующего поворота?" может быть "стилизована" во фразу "Как далеко до моего следующего поворота?". Кроме того, "Каково направление моего следующего поворота?" может быть перефразировано как "В какую сторону мой следующий поворот?" или "В каком направлении мой следующий поворот?". Таким образом, контроль 312 стиля может быть использован для идентификации релевантных данных в базе данных 18 и также для идентификации подходящих ответов для предоставления пользователю.

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

Фиг.8 подробно показывает блок-схему модуля 16 воспроизведения данных. Модуль 16 воспроизведения данных включает в себя модуль 602 командного оператора, модуль 604 анализатор