RU2672000C2 - Устранение неоднозначности динамических команд - Google Patents

Устранение неоднозначности динамических команд Download PDF

Info

Publication number
RU2672000C2
RU2672000C2 RU2015106668A RU2015106668A RU2672000C2 RU 2672000 C2 RU2672000 C2 RU 2672000C2 RU 2015106668 A RU2015106668 A RU 2015106668A RU 2015106668 A RU2015106668 A RU 2015106668A RU 2672000 C2 RU2672000 C2 RU 2672000C2
Authority
RU
Russia
Prior art keywords
computer
application
command
grammar
grammars
Prior art date
Application number
RU2015106668A
Other languages
English (en)
Other versions
RU2015106668A (ru
Inventor
Элизабет ХЕЙЛЕШ
Стефан БАНКОВСКИ
Луис Винсент БЕЛЛЭНКА
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 RU2015106668A publication Critical patent/RU2015106668A/ru
Application granted granted Critical
Publication of RU2672000C2 publication Critical patent/RU2672000C2/ru

Links

Images

Classifications

    • 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
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • 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
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • 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
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Devices For Executing Special Programs (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

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

Description

УРОВЕНЬ ТЕХНИКИ
Первое вычислительное устройство может быть выполнено с возможностью принимать входные данные, включающие в себя команды, которые должны выполняться вычислительным устройством и/или одним или более вторых вычислительных устройств. Однако, команды, которые могут приниматься первым вычислительным устройством и одним или более вторых вычислительных устройств, могут вступать в противоречие или конфликт. К сожалению, механизмы лишены умения обращаться с такими конфликтами. В самом деле, механизмы в целом лишены умения обращения, например, приоритезации конфликтующих грамматик.
ЧЕРТЕЖИ
Фиг. 1 - структурная схема примерной системы для управления многочисленными устройствами.
Фиг. 2 - схема примерной последовательности операций для устранения неоднозначности команд, принятых в центральном вычислительном устройстве.
Фиг. 3 - схема примерной последовательности операций для регистрации грамматики приложения в центральном компьютере, который выполнен с возможностью управлять многочисленными устройствами.
Фиг. 4 - схема примерной последовательности операций для выбора устройства для выполнения команды, принятой в центральном компьютере, который выполнен с возможностью управлять многочисленными устройствами.
Фиг. 5 - схема примерной последовательности операций для выбора экземпляра приложения для выполнения команды, принятой в центральном компьютере, который выполнен с возможностью управлять многочисленными устройствами.
ПОДРОБНОЕ ОПИСАНИЕ
ОБЗОР СИСТЕМЫ
Предлагается система, содержащая компьютер, причем компьютер содержит процессор и память, при этом, компьютер выполнен с возможностью принимать входные данные, включающие в себя по меньшей мере одно слово; определять, что входные данные заданы в качестве команды в множестве грамматик, каждая из двух или более грамматик является ассоциативно связанной с соответственным приложением из множества приложений; выбирать одно из приложений, к которому следует применить команду, согласно состоянию приложения в отношении человеко-машинного интерфейса, ассоциативно связанного с приложением; и выдавать команду в выбранное одно из приложений. Причем каждое из приложений включено в вычисленное устройство, которое является отдельным от компьютера. Компьютер дополнительно выполнен с возможностью выбирать одно из компьютера и одного из отдельных устройств для приема команды на основании пользовательского ввода. При этом входные данные являются речевыми входными данными. Компьютер может находиться в транспортном средстве. Компьютер дополнительно выполнен с возможностью регистрировать каждую из множества грамматик приложения, а кроме того, в которой регистрация грамматики приложения включает в себя определение, вступает ли команда в грамматике приложения в конфликт с командой в другой грамматике, зарегистрированной в компьютере. При этом компьютер дополнительно выполнен с возможностью отклонять команду, включенную в грамматику приложения, когда команда в грамматике приложения зарезервирована грамматикой системы.
Предлагается также система, содержащая первое вычислительное устройство, первое вычислительное устройство содержит процессор и память, при этом, первое вычислительное устройство выполнено с возможностью регистрировать первую грамматику, которая хранится в постоянной памяти первого вычислительного устройства, и которое является грамматикой системы первого вычислительного устройства; регистрировать по меньшей мере одну вторую грамматику, ассоциативно связанную с приложением, хранимым в по меньшей мере одном втором вычислительном устройстве; принимать входные данные, включающие в себя по меньшей мере одно слово; выбирать первую грамматику для команды по определению, что входные данные заданы в качестве команды в каждой из первой грамматики и второй грамматики. Причем вычислительное устройство дополнительно выполнено с возможностью регистрировать множество вторых грамматик, каждая ассоциативно связана с приложением, хранимым в по меньшей мере одном втором вычислительном устройстве. Регистрация каждой из вторых грамматик включает в себя определение, вступает ли команда в регистрируемой грамматике в конфликт с командой в первой грамматике или другой второй грамматике, зарегистрированных в первом вычислительном устройстве. При этом вычислительное устройство дополнительно выполнено с возможностью выбирать одно из приложений, к которому следует применить команду, согласно состоянию приложения в отношении человеко-машинного интерфейса, ассоциативно связанного с приложением; и выдавать команду в выбранное одно из приложений. Причем входные данные являются речевыми входными данными. Причем компьютер находится в транспортном средстве.
В еще одном воплощении предлагается способ, реализованный в компьютере, состоящий в том, что принимают входные данные, включающие в себя по меньшей мере одно слово; определяют, что входные данные заданы в качестве команды в множестве грамматик, каждая из двух или более грамматик является ассоциативно связанной с соответственным приложением из множества приложений; выбирают одно из приложений, к которому следует применить команду, согласно состоянию приложения в отношении человеко-машинного интерфейса, ассоциативно связанного с приложением; и выдают команду в выбранное одно из приложений. Причем каждое из приложений включено в вычисленное устройство, которое является отдельным от компьютера. Компьютер дополнительно выполнен с возможностью выбирать одно из компьютера и одного из отдельных устройств для приема команды на основании пользовательского ввода. Входные данные являются речевыми входными данными. Компьютер может находиться в транспортном средстве. Дополнительно регистрируют каждую из множества грамматик приложения, при этом, регистрация грамматики приложения заключается в том, что определяют, вступает ли команда в грамматике приложения в конфликт с командой в другой грамматике, зарегистрированной в компьютере. Отклоняют команду, включенную в грамматику приложения, когда команда в грамматике приложения зарезервирована грамматикой системы.
Фиг. 1 - структурная схема примерной системы 100 для управления многочисленными устройствами 150, которые присоединены с возможностью поддержания связи к центральному компьютеру 105. Устройства 150 в целом близки друг к другу, например, заключены в общем местоположении, таком как помещение в здании или, в одной из примерных реализаций, транспортное средство 101. Например, в одной из примерных реализаций, устройства 150 все достаточно близки к центральному компьютеру 105, так чтобы беспроводная связь малой мощности, например, с использованием известной технологии, такой как Bluetooth или тому подобное, была возможна между устройствами 150 и компьютером 105.
Компьютер 105 в целом включает в себя человеко-машинный интерфейс 110 (HMI) для выдачи выходных данных, например, текста, сообщений, звука, и т.д., пользователю, а также для приема пользовательского ввода, например, посредством речевой команды, выбора на устройстве ввода, таком как сенсорный экран, и т.д. В одной из примерных реализаций, пользователь выдает словесные, то есть, звуковые входные данные в компьютер 105 через HMI 110. Приложение 115 речевого управления (VCA), выполняемое процессором компьютера 105, обнаруживает и интерпретирует словесные входные данные согласно грамматике 120 системы и/или одной или более грамматик 125 приложения.
Однако, различные грамматики 120, 125 могут включать в себя подобные или идентичные слова и/или фразы, используемые для выдачи команд в компьютер 105, одно или более устройств 150 и/или одно или более приложений, работающих на вычислительном устройстве 105 или 150. Соответственно, компьютер 105 может быть выполнен с возможностью, как подробно описано ниже, идентифицировать грамматики 125 приложения и разрешать конфликты между грамматикой 120 системы и одной или более грамматик 125 приложения компьютера 105, а также конфликты, которые могут возникать между грамматиками 125 приложения. Кроме того, компьютер 105 может быть выполнен, в случае, где команда включена в многочисленные грамматики 120, 125, с возможностью идентифицировать устройство 150, в которое должна быть направлена команда.
ПРИМЕРНЫЕ ЭЛЕМЕНТЫ СИСТЕМЫ
Центральный компьютер 105, например, включенный в транспортное средство 101, в целом включает в себя процессор и память, память включает в себя одну или более форм машинно-читаемых носителей, в целом включающих в себя энергозависимую и энергонезависимую память, и хранящих инструкции, выполняемые процессором для выполнения различных операций, в том числе, как раскрытые в материалах настоящей заявки. Память компьютера 105 обычно дополнительно хранит инструкции, выполняемые процессором компьютера 105, содержащие VCA 115. В дополнение, память компьютера 105 в целом включает в себя грамматику 120 системы, а также одну или более грамматик 125 приложения для одного или более приложений, заключенных в компьютере 105. В дополнение, память компьютера 105, например, энергозависимая или непостоянная, или недолговременная память может хранить одну или более грамматик 125 приложения, принятых из одного или более устройств 150.
Соответственно, компьютер 105 выполнен с возможностью, как дополнительно описано ниже, принимать одну или более грамматик 125 приложения, чтобы определять, вступают ли грамматики 120, 125 в конфликт, и/или разрешать конфликты, возникающие, когда компьютер 105 принимает команду, например, через HMI 110, интерпретированную VCA 115, где команда может интерпретироваться согласно более чем одной из грамматик 120, 125.
Компьютер 105 в целом сконфигурирован для поддержания связи по шине локальной сети контроллеров (CAN) или тому подобному. В дополнение, компьютер 105 может быть сконфигурирован для поддержания связи с одним или более устройств 150, например, с помощью различных проводных и/или беспроводных сетевых технологий, таких как Bluetooth, универсальная последовательная шина (USB) или кабель micro-USB, и т.д. Кроме того, компьютер 105 может включать в себя или может быть присоединен к HMI 110.
Вообще, HMI 110 принимает входные данные, выданные в компьютер 105, и отображает выходные данные. HMI 110 может включать в себя многообразие механизмов, например, устройство ввода, такое как сенсорный экран, клавиатура, кнопочная панель, микрофон, и т.д. Кроме того, HMI 110 в целом включает в себя механизмы вывода, такие как дисплейный экран, громкоговорители, и т.д.
VCA 115 могут использоваться для интерпретации или декодирования звуков, чтобы идентифицировать фонемы, или тому подобное, и слова из них, которые могут быть командой или командами для программного приложения, выполняемого на компьютере 105 и/или одном или более пользовательских устройств 150. Вообще, VCA 115, наряду с монитором событий, или тому подобным, для обнаружения и приема входных аудиоданных, выполняются, в качестве непрерывной ли фоновой последовательности операций в компьютере 105. То есть, известны механизмы для обнаружения и синтаксического разбора, интерпретации или декодирования входных аудиоданных.
Как только VCA 115 определило слово или слова, выданные в качестве команды в компьютер 105, грамматика 120, 125 может использоваться для определения действия, которое должно быть предпринято на основании команды. Примерные данные, которые могут быть включены в грамматику 120, 125, соответственно показаны ниже в таблицах 1 и 2. Примеры грамматики 120, 125, используемой для интерпретации команды, включают в себя команду, интерпретируемую, чтобы вызывать выполнение конкретного приложения на конкретном устройстве 150, чтобы предпринимать действие с помощью компьютера 105, например, чтобы устанавливать телефонный вызов, изменять радиостанцию, настраивать автоматическую систему кондиционирования транспортного средства 101, приписывать значение приложению, и т.д. Кроме того, как обсуждено выше, команда может дублироваться в многочисленных грамматиках 120, 125, в которых компьютер 105 выполнен с возможностью определять, какую из возможных грамматик 120, 125 следует применять для определения действия, которое должно предприниматься, на основании команды.
Вообще, термин «грамматика», в качестве используемого в материалах настоящей заявки, включает в себя определение набора допустимых команд для программного приложения, такого как приложение, выполняемое на устройстве 150, или фоновое или контролирующее приложение, выполняемое на компьютере 105, например, которое принимает входные данные, например, речевые команды через HMI 110 и интерпретируемые посредством VCA 115. Соответственно, грамматика 120, 125 может включать в себя набор правил для синтаксического разбора речевых команд и для назначения речевой команды на действие в компьютерном программном обеспечении, например, чтобы приписывать значение приложению, чтобы предпринимать действие, например, в музыкальном приложении для воспроизведения, осуществления паузы, возобновления, и т.д. В некоторых случаях, правила в грамматике 120 могут просто идентифицировать набор команд, например, одиночные слова или фразы, и соответственные действия, ассоциативно связанные с каждой из команд. Возможны более сложные грамматики, например, где правило задает, что первое слово обозначает первое значение, например, ассоциативно связано с первым действием, если сопровождается вторым словом, и второе значение, например, ассоциативно связано с вторым действием, если сопровождается третьим словом.
Грамматика 120 системы в целом хранится в постоянной и/или энергонезависимой памяти компьютера 105. Грамматика 120 системы используется для определения действия или действий, которые должны предприниматься в или компьютером 105, на основании определенных команд, как задано в грамматике 120. Грамматика 120 указывается ссылкой как грамматика 120 системы, или «уровень системы», так как она применяется к командам, применяемым к операционной системе, фоновому обработчику событий, или тому подобному, работающим на компьютере 105, в противоположность приложению или приложениям, работающим на компьютере 105 и/или одном или более устройств 150. Некоторые из команд в грамматике 120 могут быть зарезервированы для грамматики 120. То есть, если команда в грамматике 120 зарезервирована, даже если такая команда появляется в грамматике 125 для приложения, команда будет интерпретирована в качестве команды уровня системы для компьютера 105.
Грамматика 125 приложения может быть включена в команды и/или данные, которые содержат приложение, хранимое в и выполняемое на устройстве 150 или компьютере 105. Соответственно, грамматика 125 приложения относится к одиночному приложению, выполняемому на компьютере 105 или устройстве 150. Грамматика 125 приложения или ее часть могут выдаваться в компьютер 105, в силу чего, компьютер 105 может определять, когда вызваны команды в грамматике 125 приложения, и может разрешать конфликты, которые могут возникать между грамматикой 120 системы и грамматикой 125 приложения, или между первой грамматикой 125 приложения и одной или более вторых грамматик 125 приложения.
Соответственно, в дополнение к хранению грамматик 120, 125, память компьютера 105 в целом хранит правила для выбора устройства и/или приложения для приема команды, и для приоритезации и/или разрешения конфликтов между устройствами, приложениями и/или грамматиками 120, 125. Примеры данных, используемых для задания таких правил, предусмотрены ниже в Таблицах 14.
Пользовательское устройство 150 может быть любым одним из многообразия вычислительных устройств, включающих в себя процессор и память, а также возможности связи. Например, пользовательское устройство 150 может быть портативным компьютером, планшетным компьютером, смартфоном, и т.д., например, который включает в себя возможности для проводной или беспроводной связи с использованием протоколов IEEE 802.11, Bluetooth, и/или протоколов сотовой связи, USB (универсальной последовательной шины), micro-USB, и т.д. Кроме того, пользовательское устройство 150 может использовать такие возможности связи для поддержания связи через сеть 120 и, к тому же, непосредственно с компьютером 105 транспортного средства, например, с использованием Bluetooth.
ПРИМЕРНЫЕ ДАННЫЕ
Как упомянуто выше, один или более машинно-читаемых носителей, например, энергозависимых и/или энергонезависимых, постоянных и/или непостоянных, и т.д., могут использоваться компьютером 105 для хранения различных данных. Например, компьютер 105 может хранить грамматики 120, 125, в том числе.
Часть примерной грамматики 120 приведена ниже в Таблице 1.
Таблица 1
ID команды Команда Пояснение
1 «Набрать номер <10-значный номер телефона>» Набрать запрошенный номер телефона с использованием телефонного устройства 150, присоединенного к компьютеру 105
2 «Выключить радиоприемник» Выключить радиоприемник, управляемый компьютером 105
3 «Найти оптимальный маршрут до <уличный адрес>» Определить маршрут до заданного уличного адреса в модуле навигации, включенном в компьютере 105
4 «<Наименование приложения>» Активировать приложение, имеющее заданное наименование
5 «Завершить сеанс <наименование приложения>» Завершить выполнение приложения, имеющего заданное наименование
Часть примерной грамматики 125 приведена ниже в Таблице 2.
Таблица 2
ID команды Команда Пояснение
10 «Воспроизводить <название песни>» Воспроизвести песню, имеющую запрошенное название
11 «Сделать паузу» Приостановить воспроизведение аудиоконтента
12 «Последняя дорожка звукозаписи» Перевести воспроизведение на предыдущую дорожку записи
13 «Следующая дорожка звукозаписи» Осуществить переход воспроизведения на следующую дорожку звукозаписи
Компьютер 105 может отслеживать приложения, которые могут выполняться в компьютере 105 и/или одном или более устройств 150. Таблица, приведенная ниже, дает пример данных, которые могут поддерживаться компьютером 105 для идентификации и отслеживания приложений.
Таблица 3
AppID (идентификатор приложения) AppName (наименование приложения) AppState (состояние приложения) GrammarID (идентификатор грамматики) Название устройства
175 Поток обмена 1 17 Телефон Лу
245 Pandora 1 231 iPOD Стефана
242 Slacker 2 323 USB Боба
239 Weather 1 6543 iPOD Эда
240 Stitcher 2 2314 Мое устройство
241 BioCycle 2 пусто Мое устройство
246 Pandora 1 231 Центральный компьютер
Столбец AppID предусматривает идентификатор для каждого зарегистрированного приложения столбец AppName предусматривает наименование каждого соответственного приложения. Отметим, что наименование приложения может повторяться, так как одно и то же приложение может быть включено в более чем одно устройство 150 и/или центральный компьютер 105 и одно или более устройств 150. GrammarID, то есть, идентификатор грамматики, дает идентификатор для грамматики 120 системы или грамматики 125 приложения. Соответственно, еще одна таблица или структура данных в компьютере 105 могла бы ассоциативно связывать соответственные идентификаторы грамматики с таблицами или другими структурами данных, хранящими соответственные грамматики 120, 125. Вообще, данные, такие как показанные в Таблице 3, могут соответствующим образом использоваться для идентификации возможных грамматик 120, 125, которые должны вызываться, когда принята команда, например, чтобы приписывать значение приложению, или чтобы выполнять некоторую операцию в компьютере 105 или устройстве 150, например, с помощью приложения.
Компьютер 105 дополнительно может хранить данные, отражающие состояние приложения в отношении пользовательского интерфейса, например, HMI 110. Например, компьютер 105 мог бы поддерживать в памяти таблицу, имеющую столбец AppID, например, AppID, показанный в Таблице 3, приведенной выше, тем самым, компьютер 105 может ассоциативно связывать состояние приложения, показанное в таблице или структуре данных приложений с приложением, о которых данные поддерживаются в таблице или структуре данных, такой как показанная в Таблице 3. Кроме того, компьютер 105 мог бы включать в себя столбец, указывающий «Уровень HMI» или «Состояние HMI», или тому подобное, то есть, ассоциативное связывание AppID с Уровнем HMI. Таблица 4, приведенная ниже, дает пример таблицы уровня HMI.
Таблица 4
AppID (идентификатор приложения) Уровень HMI
175 3
245 2
242 0
239 1
240 1
241 0
Вообще, уровень или состояние HMI могли бы иметь любое одно из многообразия значений, например, в одной из реализаций, значение 0, или не обладать значениям, что приложение не было запущено или конкретизировано, например, вообще не работает в компьютере 105 или устройстве 150. Значение 1 могло бы означать, что приложение является работающим в фоновом режиме, то есть, было запущено, но не принимает входные данные и не выдает выходные данные через HMI 110. Значение 2 могло бы означать, что приложение имеет ограниченное состояние, например, выдает ограниченные выходные данные, такие как аудио, но не выводит на дисплейный экран HMI 110, или предусмотрены ли выходные данные на дисплейном экране HMI 110, выходные данные ограничены строкой текущего состояния, пиктограммой или тому подобным. Значение 3 могло бы означать, что приложение имеет полное или высокоуровневое состояние, например, выдает выходные данные с помощью многочисленных механизмов HMI 110, например, видео и аудио. В одной из реализаций, только одно приложение одновременно может находиться на «полном» уровне и, подобным образом, только одно приложение может всегда находиться на «ограниченном» уровне, в то время как многочисленные приложения могли бы находиться на «фоновом» уровне. Однако, также можно, чтобы многочисленные приложения находились на ограниченном уровне в одно время, или даже чтобы многочисленные приложения находились на полном уровне в одно время.
ПРИМЕРНЫЕ ПОТОКИ ПОСЛЕДОВАТЕЛЬНОСТИ ОПЕРАЦИЙ
Фиг. 1 - схема примерной последовательности 200 операций для устранения неоднозначности команд, принятых в центральном вычислительном устройстве. Последовательность 200 операций начинается на вершине 205 блок-схемы, на которой компьютер 105, например, по включению питания, определяет, обнаружены ли одно или более устройств 150. Например, как упомянуто выше, соединение USB, или тому подобное, могут обнаруживаться, и/или устройство 150 могут быть физически присоединены, например, через соединение USB или micro-USB, или тому подобное, к компьютеру 105. Если устройства 150 не обнаружены, то последовательность 200 операций заканчивается. Иначе, последовательность 200 операций переходит на вершину 210 блок-схемы.
На вершине 210 блок-схемы, компьютер 105 регистрирует каждое из устройств, обнаруженных на вершине 205 блок-схемы. Например, компьютер 105 может поддерживать таблицу или другую структуру данных, идентифицирующую обнаруженные устройства 150, с использованием идентификатора устройства, такого как название устройства, как показано в Таблице 3, приведенной выше, и т.д. Кроме того, компьютер 105 в целом определяет приложение или приложения, работающие и/или имеющиеся в распоряжении для выполнения на каждом устройстве 150. Такое определение в целом включает в себя получение наименования приложения, которое может храниться, наряду с уникальным или по существу уникальным идентификатором, сформированным компьютером 105, например, как показано выше в Таблице 3. Последовательность 200 операций затем переходит на вершину 215 блок-схемы.
На вершине 215 блок-схемы, компьютер 105 хранит данные, относящиеся к устройствам и/или приложениям, зарегистрированным, как обсуждено выше в отношении вершин 205, 210 блок-схемы. Например, грамматика 120 постоянно хранится в компьютере 105, как обсуждено выше, но одна или более грамматик 125 могут выдаваться на компьютер 105, например, на вершине 210 блок-схемы, по меньшей мере частично на основании устройства или устройств 150, идентифицированных на вершине 205 блок-схемы. Соответственно, одна или более грамматик 125 могут быть зарегистрированы и по меньшей мере временно сохраняться в памяти компьютера 105 на основании устройства или устройств 150 и/или приложений на соответственном устройстве 150. Кроме того, компьютер 105 может соответственно хранить данные касательно устройств 150, приложений на них, грамматик 120, 125, применимых к приложениям на компьютере 105 или устройстве 150, и т.д., например, как проиллюстрировано выше в Таблице 3. Фиг. 3, подробно обсужденная ниже, иллюстрирует примерную последовательность 300 операций, посредством которой элементы грамматики 125 могут регистрироваться компьютером 105.
На вершине 220 блок-схемы, компьютер 105 ожидает команду через HMI 110, например, речевую команду. VCA 115 может работать в качестве фоновой последовательности операций в компьютере 105, осуществляя проверку, чтобы определять, принята ли речевая команда, и интерпретируя команду, например, с использованием известных технологий распознавания речи, как описано выше. Соответственно, на вершине 225 блок-схемы, компьютер 105 определяет, была ли принята команда. Если нет, последовательность операций 200 переходит на вершину 230 блок-схемы. Если так, последовательность операций 200 переходит на вершину 235 блок-схемы.
На вершине 230 блок-схемы, компьютер 105 определяет, должна ли продолжаться последовательность 200 операций. Например, последовательность 200 операций могла бы завершаться, так как компьютер 105 выключается, так как устройства 150 не обнаружены, и т.д. Если последовательность 200 операций не должна продолжаться, то последовательность 200 операций заканчивается. Иначе, последовательность 200 операций возвращается на вершину 220 блок-схемы. Должно быть отмечено, что компьютер 105 мог бы обнаруживать дополнительное устройство 150, в каком случае, хотя и не показано на фиг. 2, последовательность 200 операций могла бы возвращаться на вершину 210 блок-схемы. Кроме того, компьютер 105 мог бы обнаруживать, что обнаруженное ранее устройство 150 больше не обнаруживается, в каком случае, компьютер 105 мог бы удалять больше не обнаруживаемое устройство 150, а также записи о приложениях на нем и ассоциативно связанных грамматиках 125 из данных, которые хранились, как описано выше.
Вершина 235 блок-схемы может следовать за вершиной 225 блок-схемы. На вершине 235 блок-схемы, компьютер 105 определяет, существует ли неоднозначность, например, неоднозначность, в отношении принятой команды. Например, принятая команда может запрашивать выполнение приложения, найденного на более чем одном устройстве 150 или на компьютере 105 и по меньшей мере одном устройстве 150. Кроме того, например, принятая команда может быть найдена в более чем одной грамматике 120, 125. Соответственно, до того, как принятая команда может быть выполнена, компьютер 105 должен определять устройство 150, на котором должна выполняться команда, и/или грамматику 120, 125, согласно которой должна выполняться команда. Отметим, что, в некоторых реализациях, определенные команды могут быть зарезервированы грамматикой 120 компьютера 105, тем самым, даже если такая команда дает неоднозначность, неоднозначность может игнорироваться компьютером 105, и будет придерживаться грамматика 120. В любом случае, если неоднозначность существует в отношении принятой команды, то вершина 240 блок-схемы выполняется следующей. Иначе, последовательность 200 операций переходит на вершину 245 блок-схемы.
На вершине 240 блок-схемы, которая может сопровождать вершину 235 блок-схемы, компьютер 105 устраняет неоднозначность принятой команды. Примерные последовательности операций, посредством которых команда может подвергаться устранению неоднозначности, обсуждены ниже со ссылкой на фиг. 3, 4 и 5.
Вслед за вершиной 235 блок-схемы или вершиной 240 блок-схемы, на вершине 245 блок-схемы, компьютер 105 вызывает выполнение принятой команды. Например, команда может выдаваться для выполнения надлежащим устройством 154 в приложении, например, для конкретизации приложения, и т.д. В качестве альтернативы, команда может выдаваться в приложение процессора в компьютере 105. Вслед за вершиной 245 блок-схемы, последовательность 200 операций возвращается на вершину 230 блок-схемы.
Фиг. 3 - схема примерной последовательности 300 операций для регистрации грамматики приложения в центральном компьютере 105, который выполнен с возможностью управлять многочисленными устройствами 105. Последовательность 300 операций начинается на вершине 305 блок-схемы, в которой элемент грамматики 125 проверяется на соответствие грамматике системы компьютера 105 и одной или более грамматикам 125 из других устройств 105, если это имеет место.
Затем, на вершине 310 блок-схемы, компьютер 105 определяет, существует ли какой-нибудь конфликт или неоднозначность между элементом проверки грамматики 125 на вершине 305 блок-схемы или любой другой грамматикой 120, 125. Например, элемент может быть командой, которая также оказывается в другой грамматике 120, 125, может быть наименованием приложения на многочисленных устройствах 125, и т.д. В любом случае, если конфликт не обнаружен, то последовательность 300 операций переходит на вершину 325 блок-схемы, обсужденную ниже. Однако, если конфликт или неоднозначность обнаружены, то вершина 315 выполняется следующей.
На вершине 315 блок-схемы, компьютер 105 определяет, может ли быть разрешен обнаруженный конфликт. Например, если слово или фраза в грамматике 125 вступает в конфликт с зарезервированным словом или фразой в грамматике 120 системы компьютера 105, конфликт не может быть разрешен. Иными словами, слово или фраза в грамматике 125, которые соответствуют слову или фразе в грамматике 120 системы, не разрешены и не могут быть рассмотрены компьютером 105, когда принимаются входные данные, например, с помощью VCA 115. Если конфликт не может быть разрешен, то вершина 320 блок-схемы выполняется следующей. Иначе, следующей приводится в исполнение вершина 330 блок-схемы.
На вершине 320 блок-схемы, компьютер 105 отвергает конфликтную команду из грамматики 125. Например, компьютер 105 может просто не регистрировать и не распознавать команду. Вслед за вершиной 320 блок-схемы, последовательность 300 операций переходит на вершину 325 блок-схемы.
На вершине 325 блок-схемы, компьютер 105 определяет, имеет ли проверяемая грамматика 125 дополнительные элементы, например, слова или фразы, используемые для команд, которые должны быть проверены. Если так, последовательность 300 операций возвращается на вершину 305 блок-схемы. Иначе, последовательность 300 операций заканчивается вслед за вершиной 325 блок-схемы.
На вершине 330 блок-схемы, которая может следовать за вершиной 315 блок-схемы, как описано выше, компьютер 105, определивший на вершине 315 блок-схемы, что конфликт, который был обнаружен на вершине 310 блок схемы, мог бы быть разрешен, регистрирует команду. Например, команда могла бы быть сохранена в памяти компьютера 105, как описано со ссылкой на одну или более таблиц, приведенных выше. Вслед за вершиной 330 блок-схемы, последовательность 300 операций переходит на вершину 325 блок-схемы.
Фиг. 4 - схема примерной последовательности 400 операций для выбора устройства для выполнения команды, принятой в центральном компьютере, который выполнен с возможностью управлять многочисленными устройствами. Последовательность 400 операций начинается на вершине 405 блок-схемы, когда компьютер 105 принимает команду, которая определена для запроса доступа к приложению, имеющему экземпляры на многочисленных соответственных устройствах 150 и/или компьютере 105. Например, компьютер 105 мог бы принимать команду для «Pandora», где приложение с таким наименованием включено в состав на компьютере 105, а также устройстве 150. Подобным образом, приложение «Pandora» могло бы быть включено в состав на двух, трех, и т.д., устройствах 150.
Затем, на вершине 410 блок-схемы, компьютер 105 запрашивает пользовательский ввод, относительно которого экземпляр запрошенного приложения должен быть подвергнут доступу, в общем смысле, какое вычислительное устройство 105, 150 должно подвергаться доступу. Например, компьютер 105 мог бы выдавать звуковое сообщение, просящее пользователя произнести название устройства, произнести номер для соответственных устройств, и т.д. В качестве альтернативы или дополнительно, компьютер 105 мог бы отображать список устройств на сенсорном экране, или тому подобном, для выбора пользователем, например, как показано в Таблице 5; такой выбор мог бы происходить посредством произнесения названия или номера устройства, как пояснено выше, или посредством касания названия или номера требуемого устройства.
Номер устройства Название
1 Компьютер транспортного средства
2 iPod Боба
3 Телефон Мери на платформе
4 iPad Джила
Вслед за вершиной 410 блок-схемы, на вершине 415 блок-схемы, компьютер 105 определяет, были ли приняты входные данные, запрошенные на вершине 410 блок-схемы, например, компьютер 105 может быть сконфигурирован таймаутом. Или тому подобным, например, 15 секунд, 30 секунд, одна минута, и т.д., в течение которых ожидается, что пользователь должен выдать входные данные. Если входные данные не приняты, например, с каким-нибудь периодом таймаута, то последовательность 400 операций переходит на вершину 420 блок-схемы. Иначе, входные данные, задающие устройство, на котором должен быть осуществлен доступ к приложению, принимаются, и последовательность 400 операций переходит на вершину 425 блок-схемы.
На вершине 420 блок-схемы, компьютер 105 делает выбор по умолчанию вычислительного устройства 105, 150, на котором должен быть осуществлен доступ к приложению. Например, компьютер 105 может использовать сам себя в качестве выбора по умолчанию. В качестве альтернативы или дополнительно, пользователь может задавать устройство 150, которое должно использоваться по умолчанию. В любом случае, вслед за вершиной 420 блок-схемы, последовательность 400 операций переходит на вершину 425 блок-схемы.
На вершине 425 блок-схемы, компьютер 105 выдает команду для доступа к запрошенному приложению на устройство, заданное на одной из вершин 415, 420 блок-схемы, как описано выше. Вслед за вершиной 425 блок-схемы последовательность 400 операций заканчивается.
Фиг. 5 - схема примерной последовательности 500 операций для выбора экземпляра приложения для выполнения команды, принятой в центральном компьютере, который выполнен с возможностью управлять многочисленными устройствами. Последовательность 500 операций начинается на вершине 505 блок-схемы, на которой компьютер 105 принимает команду, например, через HMI 110 в VCA 115, как описано выше.
Затем, на вершине 510 блок-схемы, компьютер 105 определяет, зарегистрирована ли команда, принятая на вершине 505 блок-схемы у многочисленных приложений на одном или более вычислительных устройств 105, 150. Если нет, последовательность 500 операций заканчивается. Иначе, управление переходит на вершину 515 блок-схемы.
На вершине 515 блок-схемы, компьютер 105 идентифицирует приложение для приема команды. Например, компьютер 105 может использовать таблицу или другую структуру данных, подобную проиллюстрированной выше в отношении Таблицы 4. То есть, компьютер 105, имеющий идентифицированные два или более приложений, ассоциативно связанных с грамматиками 120, 125, в том числе, запрошенной командой, затем приоритезирует два или более приложений. Например, состояние или уровень HMI, или тому подобное, такие как обсужденные выше касательно Таблицы 4, могут быть идентифицированы для такого приложения. Приложение, имеющее уровень HMI с наивысшим приоритетом, в таком случае, может выбираться для приема команды.
Затем, на вершине 520 блок-схемы, компьютер 105 отправляет команду, запрошенную на вершине 505 блок-схемы, в приложение, определенное на вершине 510 блок-схемы, например, в компьютере 105 или устройстве 150. Вслед за вершиной 520 блок-схемы последовательность 500 операций заканчивается.
ЗАКЛЮЧЕНИЕ
Вычислительные устройства, такие как обсужденные в материалах настоящей заявки, каждое, как правило, включает в себя инструкции, исполняемые одним или более вычислительных устройств, такими как идентифицированные выше, и для выполнения вершин блок-схем или этапов последовательностей операций, описанных выше. Например, вершины блок-схем последовательностей операций, обсужденные выше, могут быть воплощены в качестве машинно-исполняемых инструкций.
Машинно-исполняемые инструкции могут компилироваться или интерпретироваться из компьютерных программ, созданных с использованием многообразия языков и/или технологий программирования, в том числе, но не в качестве ограничения, и в одиночку или в комбинации, Java™, C, C++, Visual Basic, Java Script, Perl, HTML, и т.д. Вообще, процессор (например, микропроцессор) принимает инструкции, например, из памяти, машинно-читаемого носителя, и т.д., и исполняет эти инструкции, тем самым, выполняя одну или более последовательностей операций, в том числе, одну или более из последовательностей операций, описанных в материалах настоящей заявки. Такие инструкции и другие данные могут храниться и передаваться с использованием многообразия машинно-читаемых носителей. Файл в вычислительном устройстве, как правило является совокупностью данных, хранимых на машинно-читаемом носителе, таком как запоминающий носитель, оперативное запоминающее устройство, и т.д.
Машинно-читаемый носитель включает в себя любой носитель, который принимает участие в предоставлении данных (например, инструкций), которые могут читаться компьютером. Такой носитель может принимать многие формы, в том числе, но не в качестве ограничения, энергонезависимые носители, энергозависимые носители, и т.д. Энергонезависимые носители, например, включают в себя оптические или магнитные диски и другую постоянную память. Энергозависимые носители включают в себя динамическое оперативное запоминающее устройство (DRAM), которое типично составляет основную память. Обычные формы машинно-читаемых носителей, например, включают в себя дискету, гибкий диск, жесткий диск, магнитную ленту, любой другой магнитный носитель, CD-ROM (постоянное запоминающее устройство (ПЗУ) на компакт-диске), DVD (цифровой многофункциональный диск), любой другой оптический носитель, перфокарты, бумажную ленту, любой другой физический носитель со схемой расположения отверстий, ОЗУ (оперативное запоминающее устройство, RAM), ППЗУ (программируемое ПЗУ, PROM), СППЗУ (стираемое программируемое ПЗУ, EPROM), флэш-память/ЭСППЗУ (FLASH-EEPROM (электрически стираемое программируемое ПЗУ)), любые другие микросхему или картридж памяти, или любой другой носитель, с которого компьютер может осуществлять считывание.
На чертежах, одинаковые номера ссылок указывают идентичные элементы. Кроме того, некоторые или все из этих элементов могли бы быть изменены. Что касается сред, последовательностей операций, систем, способов, и т.д., описанных в материалах настоящей заявки, должно быть понятно, что, хотя этапы таких последовательностей операций, и т.д., были описаны в качестве происходящих согласно определенной упорядоченной последовательности, такие последовательности операций могли бы быть осуществлены на практике с описанными этапами, выполняемыми в порядке, ином, чем порядок, описанный в материалах настоящей заявки. Кроме того, должно быть понятно, что некоторые этапы могли бы выполняться одновременно, что могли бы быть добавлены другие этапы, или что некоторые этапы, описанные в материалах настоящей заявки, могли бы быть опущены. Другими словами, описания способов в материалах настоящей заявки предоставлены с целью иллюстрации некоторых вариантов осуществления и никоим образом не должны толковаться, с тем чтобы ограничивать заявленное изобретение.
Соответственно, должно быть понятно, что вышеприведенное описание подразумевается иллюстративным, а не ограничивающим. Многие варианты осуществления и применения, иные чем предоставленные примеры, были бы очевидны специалистам в материалах настоящей заявки по прочтению вышеприведенного описания. Объем изобретения не должен определяться со ссылкой на вышеприведенное описание, но взамен, должен определяться со ссылкой на прилагаемую формулу изобретения наряду с полным объемом эквивалентов, на которые дано право такой формуле изобретения. Ожидается и подразумевается, что будущие совершенствования будут происходить в областях техники, обсужденных в материалах настоящей заявки, и что раскрытые системы и способы будут заключены в таких будущих вариантах осуществления. Подводя итог вышесказанному, должно быть понятно, что изобретение является допускающим модификацию и изменение, и ограничено исключительно следующей формулой изобретения.
Все термины, используемые в формуле изобретения, подразумеваются обусловленными своими наиболее свободными расширительными толкованиями и своими обычными значениями в качестве понятных специалистам в данной области техники, если в материалах настоящей заявки не приведено явное указание на иное. В частности, использование форм единственного числа, «упомянутый», и т.д., должно читаться излагающим один или более из указанных элементов, если пункт формулы изобретения не передает явное ограничение иным.

Claims (24)

1. Система управления множеством устройств, содержащая компьютер, причем компьютер содержит процессор и память, при этом компьютер выполнен с возможностью:
регистрировать каждую из множества грамматик приложения, и дополнительно при этом регистрация грамматики приложения включает в себя определение того, вступает ли команда в грамматике приложения в конфликт с командой в другой грамматике, зарегистрированной в компьютере;
принимать входные данные, включающие в себя по меньшей мере одно слово;
определять, что входные данные заданы в качестве команды во множестве грамматик, причем каждая из грамматик является ассоциированной с соответствующим экземпляром одного приложения во множестве экземпляров приложения, каждый из которых выполняется на текущий момент на одном из множества устройств;
выбирать один из выполняющихся на текущий момент экземпляров приложения, к которому будет применяться команда, в соответствии с указанным статусом выбранного экземпляра приложения; и
выдавать команду в выбранное одно из приложений.
2. Система по п. 1, в которой каждое из множества устройств является вычислительным устройством, которое является отдельным от компьютера.
3. Система по п. 2, в которой компьютер дополнительно выполнен с возможностью выбирать одно из: компьютера и одного из отдельных устройств для приема команды на основании пользовательского ввода.
4. Система по п. 1, в которой входные данные являются речевыми входными данными.
5. Система по п. 1, в которой компьютер находится в транспортном средстве.
6. Система по п. 1, в которой компьютер дополнительно выполнен с возможностью отвергать команду, включенную в грамматику приложения, когда команда в грамматике приложения зарезервирована грамматикой системы.
7. Система по п. 1, в которой компьютер дополнительно выполнен с возможностью задавать статус на основе устройства, ассоциированного с выполняющимся на текущий момент экземпляром.
8. Способ управления множеством устройств, реализованный в компьютере, содержащий этапы, на которых:
регистрируют каждую из множества грамматик приложения, при этом регистрация грамматики приложения включает в себя определение того, вступает ли команда в грамматике приложения в конфликт с командой в другой грамматике, зарегистрированной в компьютере;
принимают входные данные, включающие в себя по меньшей мере одно слово;
определяют, что входные данные заданы в качестве команды в множестве грамматик, причем каждая из грамматик является ассоциированной с соответствующим экземпляром одного приложения во множестве экземпляров приложения, каждый из которых выполняется на текущий момент на одном из множества устройств;
выбирают один из выполняющихся на текущий момент экземпляров приложения, к которому будет применяться команда, в соответствии с указанным статусом выбранного экземпляра приложения; и
выдают команду в выбранное одно из приложений.
9. Способ по п. 8, в котором каждое из множества устройств является вычислительным устройством, которое является отдельным от компьютера.
10. Способ по п. 9, в котором компьютер дополнительно выполнен с возможностью выбирать одно из компьютера и одного из отдельных устройств для приема команды на основании пользовательского ввода.
11. Способ по п. 8, в котором входные данные являются речевыми входными данными.
12. Способ по п. 8, в котором компьютер находится в транспортном средстве.
13. Способ по п. 8, дополнительно содержащий этап, на котором отвергают команду, включенную в грамматику приложения, когда команда в грамматике приложения зарезервирована в грамматике системы.
14. Способ по п. 8, в котором статус задается на основе устройства, ассоциированного с выполняющимся на текущий момент экземпляром.
RU2015106668A 2014-02-27 2015-02-26 Устранение неоднозначности динамических команд RU2672000C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/191,833 US9495959B2 (en) 2014-02-27 2014-02-27 Disambiguation of dynamic commands
US14/191,833 2014-02-27

Publications (2)

Publication Number Publication Date
RU2015106668A RU2015106668A (ru) 2016-09-20
RU2672000C2 true RU2672000C2 (ru) 2018-11-08

Family

ID=52876152

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015106668A RU2672000C2 (ru) 2014-02-27 2015-02-26 Устранение неоднозначности динамических команд

Country Status (6)

Country Link
US (1) US9495959B2 (ru)
CN (1) CN104881276B (ru)
DE (1) DE102015203372A1 (ru)
GB (1) GB2524882A (ru)
MX (1) MX347136B (ru)
RU (1) RU2672000C2 (ru)

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8731939B1 (en) 2010-08-06 2014-05-20 Google Inc. Routing queries based on carrier phrase registration
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US20240046928A1 (en) * 2012-04-13 2024-02-08 View, Inc. Controlling optically-switchable devices
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US9536528B2 (en) 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability
EP3809407A1 (en) 2013-02-07 2021-04-21 Apple Inc. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US20160133255A1 (en) * 2014-11-12 2016-05-12 Dsp Group Ltd. Voice trigger sensor
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10379808B1 (en) * 2015-09-29 2019-08-13 Amazon Technologies, Inc. Audio associating of computing devices
US11587559B2 (en) * 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10264358B2 (en) 2017-02-15 2019-04-16 Amazon Technologies, Inc. Selection of master device for synchronized audio
US10839795B2 (en) * 2017-02-15 2020-11-17 Amazon Technologies, Inc. Implicit target selection for multiple audio playback devices in an environment
US10431217B2 (en) 2017-02-15 2019-10-01 Amazon Technologies, Inc. Audio playback device that dynamically switches between receiving audio data from a soft access point and receiving audio data from a local access point
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
TWI651714B (zh) * 2017-12-22 2019-02-21 隆宸星股份有限公司 語音選項選擇系統與方法以及使用其之智慧型機器人
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US10672392B2 (en) * 2018-07-23 2020-06-02 Motorola Solutions, Inc. Device, system and method for causing an output device to provide information for voice command functionality
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005174A1 (en) * 2001-06-29 2003-01-02 Coffman Daniel M. System and method for providing dialog management and arbitration in a multi-modal environment
US20040260562A1 (en) * 2003-01-30 2004-12-23 Toshihiro Kujirai Speech interaction type arrangements
US6985865B1 (en) * 2001-09-26 2006-01-10 Sprint Spectrum L.P. Method and system for enhanced response to voice commands in a voice command platform
US7302392B1 (en) * 2003-10-07 2007-11-27 Sprint Spectrum L.P. Voice browser with weighting of browser-level grammar to enhance usability
US20080046250A1 (en) * 2006-07-26 2008-02-21 International Business Machines Corporation Performing a safety analysis for user-defined voice commands to ensure that the voice commands do not cause speech recognition ambiguities
US20080059195A1 (en) * 2006-08-09 2008-03-06 Microsoft Corporation Automatic pruning of grammars in a multi-application speech recognition interface
RU2439716C2 (ru) * 2006-07-12 2012-01-10 Майкрософт Корпорейшн Детектирование автоответчика путем распознавания речи
US8165886B1 (en) * 2007-10-04 2012-04-24 Great Northern Research LLC Speech interface system and method for control and interaction with applications on a computing system
WO2013101051A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Speech recognition utilizing a dynamic set of grammar elements

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139049A1 (en) * 1996-08-22 2004-07-15 Wgrs Licensing Company, Llc Unified geographic database and method of creating, maintaining and using the same
US6230138B1 (en) 2000-06-28 2001-05-08 Visteon Global Technologies, Inc. Method and apparatus for controlling multiple speech engines in an in-vehicle speech recognition system
US8942985B2 (en) * 2004-11-16 2015-01-27 Microsoft Corporation Centralized method and system for clarifying voice commands
US7904300B2 (en) 2005-08-10 2011-03-08 Nuance Communications, Inc. Supporting multiple speech enabled user interface consoles within a motor vehicle
US9123341B2 (en) 2009-03-18 2015-09-01 Robert Bosch Gmbh System and method for multi-modal input synchronization and disambiguation
CN102243889B (zh) * 2010-05-13 2014-12-17 北京三星通信技术研究有限公司 基于用户输入来执行应用程序的移动终端及其方法
US20140358553A1 (en) * 2013-06-04 2014-12-04 Richard John Helmke Voice command for control of automation systems

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005174A1 (en) * 2001-06-29 2003-01-02 Coffman Daniel M. System and method for providing dialog management and arbitration in a multi-modal environment
US6985865B1 (en) * 2001-09-26 2006-01-10 Sprint Spectrum L.P. Method and system for enhanced response to voice commands in a voice command platform
US20040260562A1 (en) * 2003-01-30 2004-12-23 Toshihiro Kujirai Speech interaction type arrangements
US7302392B1 (en) * 2003-10-07 2007-11-27 Sprint Spectrum L.P. Voice browser with weighting of browser-level grammar to enhance usability
RU2439716C2 (ru) * 2006-07-12 2012-01-10 Майкрософт Корпорейшн Детектирование автоответчика путем распознавания речи
US20080046250A1 (en) * 2006-07-26 2008-02-21 International Business Machines Corporation Performing a safety analysis for user-defined voice commands to ensure that the voice commands do not cause speech recognition ambiguities
US20080059195A1 (en) * 2006-08-09 2008-03-06 Microsoft Corporation Automatic pruning of grammars in a multi-application speech recognition interface
US8165886B1 (en) * 2007-10-04 2012-04-24 Great Northern Research LLC Speech interface system and method for control and interaction with applications on a computing system
WO2013101051A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Speech recognition utilizing a dynamic set of grammar elements

Also Published As

Publication number Publication date
GB2524882A (en) 2015-10-07
CN104881276B (zh) 2020-09-01
MX2015002413A (es) 2015-08-26
GB201503219D0 (en) 2015-04-15
RU2015106668A (ru) 2016-09-20
US20150243283A1 (en) 2015-08-27
DE102015203372A1 (de) 2015-08-27
CN104881276A (zh) 2015-09-02
MX347136B (es) 2017-04-17
US9495959B2 (en) 2016-11-15

Similar Documents

Publication Publication Date Title
RU2672000C2 (ru) Устранение неоднозначности динамических команд
US9940929B2 (en) Extending the period of voice recognition
US9741343B1 (en) Voice interaction application selection
CN104284257B (zh) 用于口头对话服务仲裁的系统和方法
US9454964B2 (en) Interfacing device and method for supporting speech dialogue service
US7899673B2 (en) Automatic pruning of grammars in a multi-application speech recognition interface
EP3584787A1 (en) Headless task completion within digital personal assistants
TW201826112A (zh) 基於語音的互動方法、裝置、電子設備及操作系統
US20050203740A1 (en) Speech recognition using categories and speech prefixing
JP2007249200A (ja) ヘルプを音声使用可能アプリケーションに供給する方法及びシステム、並びに音声文法
EP3195310A1 (en) Keyword detection using speaker-independent keyword models for user-designated keywords
CN104282305A (zh) 语音对话系统中用于结果仲裁的系统和方法
US20200219503A1 (en) Method and apparatus for filtering out voice instruction
KR20140047633A (ko) 컨텍스트 정보를 이용한 음성 인식 복구
US11176934B1 (en) Language switching on a speech interface device
CN106976434B (zh) 用于车辆中的语音识别设备的装置及方法
CN107624177B (zh) 用于提高用户效率和交互性能的可听呈现的选项的自动视觉显示
WO2013190956A1 (ja) 機能実行指示システム、機能実行指示方法及び機能実行指示プログラム
CN103324409A (zh) 在电子装置中提供快捷服务的设备和方法
KR20170053127A (ko) 필드 기재사항의 오디오 입력
KR101584887B1 (ko) 통신 단말기에서 음성 인식 서비스의 멀티태스킹을 지원하는 방법 및 시스템
JP6689953B2 (ja) 通訳サービスシステム、通訳サービス方法及び通訳サービスプログラム
CN111612482A (zh) 对话管理方法、装置和设备
JP2018200452A (ja) 音声認識装置および音声認識方法
JP2009176200A (ja) データ処理装置及び論理ドライブのマウント方法