АВТОМАТИЧЕСКОЕ РАСПОЗНАВАНИЕ РЕЧИ Российский патент 2003 года по МПК G10L15/26 

Описание патента на изобретение RU2216052C2

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

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

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

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

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

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

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

Краткое описание чертежей
Фиг.1 изображает блок-схему системы распознавания речи;
Фиг. 2-4 - последовательность операций для системы распознавания речи, изображаемой в фиг.1;
Фиг.5 схематически изображает дисплей компьютера с двумя активными окнами;
Фиг.6 - блок-схему программы в соответствии с одним из вариантов осуществления и
Фиг. 7 - блок-схему аппаратурной системы для использования с системой распознавания речи.

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

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

Прикладная программа 10 осуществляет связь с сервером 12. В объектно ориентированном языке программирования сервер 12 может быть контейнером. В иллюстрируемом осуществлении сервер 12 осуществляет связь со средством 14 управления, которое может быть объектом или элементом управления ActiveX, например. Средство 14 управления также осуществляет непосредственное соединение с прикладной программой 10.

Сервер 12 выполнен с возможностью вызова механизма 16 распознавания речи. При этом кнопочный драйвер 18 может подавать входные данные в сервер 12 и средство 14 управления. Так, в некоторых осуществлениях средство 14 управления может принимать либо произносимые, либо сенсорные входные данные (от кнопочного драйвера 18), и действует, реагируя на каждый тип входных данных, по существу одинаково.

Обращаясь к фиг.2: программа для распознавания речи может предусматривать начало прикладной программы (блок 90), для которой необходимо обслуживание по распознаванию речи. Речевой механизм обеспечивают словарем наборов команд для активного экрана или задачи - указано в блоке 92. Наборы команд могут быть словарем для каждой из различных прикладных программ, которые выполняются определенной компьютерной системой. Набор команд для текущей прикладной программы, выполняемой в данное время, сообщают в сервер 12 или в средство 14 управления (блок 94). Затем речь распознают и принимают соответствующие действия - указано в блоке 96.

Другой вариант осуществления (фиг.3) также начинается тем, что запускают прикладную программу - указано в блоке 98. Подлежащие декодированию речевые единицы соотносят с идентификаторами (блок 100). Затем идентификаторы можно соотнести с определенным действием, предпринимаемым в данной прикладной программе при реагировании на произносимую команду (блок 102). Затем поток определяет идентификатор для определенной произносимой речевой единицы (блок 104). Данный идентификатор подают в такой программный объект, как средство 14 управления - указано в блоке 106. Событие запускают, когда данный объект принимает команду - изображено в блоке 108. Данное событие может быть запущено объектом независимо от того, является ли данная команда результатом произносимой команды или сенсорно-сформированной командой.

Обращаясь к фиг. 4: прикладная программа 10 направляет грамматическую таблицу в сервер 12 (блок 20). В частности, данная прикладная программа инициирует грамматику с помощью речевых идентификаторов, соотнесенных с каждой произносимой командой, используемой в данной прикладной программе. Эти команды составляют все наборы команд для данного механизма. Грамматика является набором команд, которые могут содержать альтернативные фразы. Например, простой грамматикой может быть (запуск/начало)(навигатор). Эта грамматика будет реагировать на произносимые команды "пуск навигатора" и "начало навигатора".

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

При срабатывании сервер 12 инициирует речевой механизм 16 (блок 22). Сервер 12 имеет таблицу 36 фраз и идентификаторов, изображаемую в фиг.1. Прикладная программа 10 также посылает идентификаторы речи, соотнесенные с данными произносимыми командами, в средство 14 управления или сервер 12 (блок 24). При приведении в действие средства 14 управления в контейнере или сервере это средство управления может вызвать способ OnControlInfoChanged в интерфейсе IOleControlSite в осуществлении, использующем средства управления ActiveX. Это предусматривает передачу информации из средства 14 управления в сервер 12 (блок 26). Сервер в свою очередь может вызвать способ GetControlInfo из интерфейса IОleControl, который обеспечивает возможность осуществления сообщения от сервера или контейнера 12 в средство 14 управления (блок 28).

Сервер использует способ GetControlInfo в интерфейсе IOleControl и способ OnMnemonic в IOleControl, чтобы запрашивать идентификаторы у средства управления. Средство управления может подавать эту информацию по интерфейсу IOleControlSite и с помощью способа OnControlInfoChanged, используя, например, методику ActiveX.

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

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

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

В качестве простого примера: данный экран может содержать две кнопки: "ок" или "стереть". Когда прикладная программа вступает в действие, она отправляет грамматику для этого экрана в сервер. Например, грамматика для "ок" может включать в себя: "ок", "правильно" и "верно".

Прикладная программа затем соотносит "ок" с идентификатором, который соответствует определенному средству управления, и делает то же самое с термином "стереть". Идентификатор является просто указателем или описателем объекта, который является особым, в данной прикладной программе, для определенной команды. Таблица 36 содержит фразы "ок" и "стереть", идентификатор для каждой фразы и идентификатор для средства управления, которое обрабатывает данную команду.

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

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

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

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

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

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

Несмотря на то, что данная методология описывается в связи со средством управления ActiveX, можно также использовать прочие технологии ориентированного на объект программирования, включая, например, Javabeans и СОМ. Помимо этого, в будущем могут быть разработаны еще и другие технологии.

Варианты осуществления данного изобретения обеспечивают эффект, сравнимый с эффектом оперативной клавиши. При этом обеспечивается выделение данной команды сообразно конкретному применению. Поэтому речь можно использовать для выделения той или иной из двух рабочих задач. Например, согласно фиг.5: если два окна А и В открыты одновременно на экране 76, то произносимую команду можно распознать как относимую к одному из двух окон или кадров активной задачи. Обращаясь к фиг.6: после распознания команды (блок 78) прикладная программа обеспечивает информацию о том, что именно является первичной, текущей рабочей задачей; и речь можно соотнести с этой определенной задачей, чтобы обеспечить выделение (блок 80). Затем направляют входные данные в одну из задач (и не в другую) - как указано в блоке 82. При этом распознавание речи выполняют таким образом, который фактически незаметен для прикладной программы. С точки зрения прикладной программы это выглядит так, как будто операционная система действительно выполняет функцию распознавания речи. Синхронизация по существу не является необходимой.

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

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

Обращаясь к фиг.7: аппаратурная система для выполнения иллюстрируемого на фиг.1 варианта осуществления может содержать процессор 36, подключенный к мостовой схеме 40 и системной памяти 38. Мостовая схема 40 связана с шиной 42. Шина 42 может содержать интерфейсы 48 и 44, которые осуществляют связь, например, с камерой 50 и визуальным дисплеем или монитором 46 в иллюстрируемом варианте осуществления. Мостовая схема 40 также осуществляет связь с мостовой схемой 52. Мостовая схема 52 может быть обеспечена соединением с дополнительной шиной 56 и с входом 54 системы глобального позиционирования. Шина 56 в свою очередь сообщается с интерфейсом 58 и жестким диском 60. Жесткий диск 60 может содержать прикладные программы 62, 64 и 66, которые могут предназначаться, например, для функции программы-штурмана, быть развлекательным пакетом программ и телевизионным пакетом программ, например, в системе, которая осуществляет автомобильную компьютерную систему. Шина 56 может также осуществлять сообщение по интерфейсу 68 с помощью микрофона 70 для приема произносимых команд. Интерфейс 72 соединяет клавиатуру, которую, как вариант, можно использовать в автомобильной компьютерной системе. Клавиатура 74 может быть сокращенной клавиатурой, которая, например, соотносит данные элементы на дисплее с определенными клавишами, с которыми можно работать. Кроме этого, она может содержать одну или более клавиш специальной функции.

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

Похожие патенты RU2216052C2

название год авторы номер документа
СИНХРОННОЕ ПОНИМАНИЕ СЕМАНТИЧЕСКИХ ОБЪЕКТОВ, РЕАЛИЗОВАННОЕ С ПОМОЩЬЮ ТЭГОВ РЕЧЕВОГО ПРИЛОЖЕНИЯ 2004
  • Ванг Куансан
RU2349969C2
СИНХРОННОЕ ПОНИМАНИЕ СЕМАНТИЧЕСКИХ ОБЪЕКТОВ ДЛЯ ВЫСОКОИНТЕРАКТИВНОГО ИНТЕРФЕЙСА 2004
  • Ванг Куансан
RU2352979C2
ПРЕДСТАВЛЕНИЕ ДАННЫХ НА ОСНОВЕ ВВЕДЕННЫХ ПОЛЬЗОВАТЕЛЕМ ДАННЫХ 2004
  • Ванг Куансан
RU2360281C2
ПОСЛЕДОВАТЕЛЬНЫЙ МУЛЬТИМОДАЛЬНЫЙ ВВОД 2004
  • Хон Хсиао-Вуен
  • Ванг Куансан
RU2355045C2
СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ ПОШАГОВОГО ЯЗЫКА РАЗМЕТКИ И ОБЪЕКТНО ОРИЕНТИРОВАННОГО ИНСТРУМЕНТАЛЬНОГО СРЕДСТВА РАЗРАБОТКИ 2004
  • Ванг Куансан
RU2379745C2
УСОВЕРШЕНСТВОВАННАЯ ИДЕНТИФИКАЦИЯ ВЫЗЫВАЮЩЕГО АБОНЕНТА НА ОСНОВЕ РАСПОЗНАВАНИЯ РЕЧИ 2004
  • Дзу Юн-Ченг
  • Олласон Дэвид Дж.
RU2383938C2
ПОСЛЕДОВАТЕЛЬНЫЙ МУЛЬТИМОДАЛЬНЫЙ ВВОД 2004
  • Хонь Сяо-Уэнь
  • Ван Куаньсань
RU2355044C2
СИСТЕМА ДОСТУПА И ПРЕДСТАВЛЕНИЯ ОПЕРАТИВНОГО ОПЕРАЦИОННОГО ОБСЛУЖИВАНИЯ 1996
  • Аджит Пендс
  • Патрик Гелсингер
RU2141131C1
УНИВЕРСАЛЬНЫЕ ОРФОГРАФИЧЕСКИЕ МНЕМОСХЕМЫ 2005
  • Кельба Чиприан И.
  • Чамберс Роберт Л.
  • Моватт Давид
  • У Цян
RU2441287C2
СИСТЕМА И СПОСОБ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ПРЕДОСТАВЛЕНИЯ УСЛУГ, СООТВЕТСТВУЮЩИХ МЕСТОПОЛОЖЕНИЮ, С ИСПОЛЬЗОВАНИЕМ СОХРАНЕННОЙ ИНФОРМАЦИИ О МЕСТОПОЛОЖЕНИИ 2002
  • Рангараджан Джаянти
  • Баласурия Сенака
  • Гулати Стив
RU2292089C2

Иллюстрации к изобретению RU 2 216 052 C2

Реферат патента 2003 года АВТОМАТИЧЕСКОЕ РАСПОЗНАВАНИЕ РЕЧИ

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

Формула изобретения RU 2 216 052 C2

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

Документы, цитированные в отчете о поиске Патент 2003 года RU2216052C2

US 5664061 А, 02.09.1997
Способ регулирования угла зажигания двигателя внутреннего сгорания 1978
  • Баканов Геннадий Львович
SU785540A1
СПОСОБ ДИКТОРОНЕЗАВИСИМОГО РАСПОЗНАВАНИЯ ИЗОЛИРОВАННЫХ РЕЧЕВЫХ КОМАНД 1997
  • Малеев Олег Геннадьевич
  • Козлов Юлен Маркович
RU2103753C1
US 5425128 А, 13.06.1995.

RU 2 216 052 C2

Авторы

Меррилл Джон

Даты

2003-11-10Публикация

1999-06-17Подача