автоматическое распознавание речи

Классы МПК:G10L15/26 речь для текстовых систем
Автор(ы):
Патентообладатель(и):ИНТЕЛ КОРПОРЕЙШН (US)
Приоритеты:
подача заявки:
1999-06-17
публикация патента:

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

Формула изобретения

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

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

Описание изобретения к патенту

Уровень техники

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

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

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

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

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

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

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

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

Краткое описание чертежей

Фиг.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 может быть сокращенной клавиатурой, которая, например, соотносит данные элементы на дисплее с определенными клавишами, с которыми можно работать. Кроме этого, она может содержать одну или более клавиш специальной функции.

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

Класс G10L15/26 речь для текстовых систем

способ и система для предоставления речевого интерфейса -  патент 2494476 (27.09.2013)
способ ввода текста -  патент 2377664 (27.12.2009)
последовательный мультимодальный ввод -  патент 2355045 (10.05.2009)
последовательный мультимодальный ввод -  патент 2355044 (10.05.2009)
система запросов на естественном языке для доступа к информационной системе -  патент 2269164 (27.01.2006)
Наверх