WO2002073603A1 - A method for integrating processes with a multi-faceted human centered interface - Google Patents

A method for integrating processes with a multi-faceted human centered interface Download PDF

Info

Publication number
WO2002073603A1
WO2002073603A1 PCT/US2001/009574 US0109574W WO02073603A1 WO 2002073603 A1 WO2002073603 A1 WO 2002073603A1 US 0109574 W US0109574 W US 0109574W WO 02073603 A1 WO02073603 A1 WO 02073603A1
Authority
WO
WIPO (PCT)
Prior art keywords
grammar
processes
searching
valid command
command statement
Prior art date
Application number
PCT/US2001/009574
Other languages
French (fr)
Inventor
Richard Grant
Peter Mcgregor
Original Assignee
Totally Voice, Inc.
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 Totally Voice, Inc. filed Critical Totally Voice, Inc.
Publication of WO2002073603A1 publication Critical patent/WO2002073603A1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G10L15/193Formal grammars, e.g. finite state automata, context free grammars or word networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Definitions

  • the present invention relates to a method for controlling a series of processes with a human centered interface. More precisely, the present invention relates to integrating a plurality of processes into a common user interface which is controlled by voice activated commands .
  • the method further includes a common framework which allows hands-free control of each process within the framework. A multitude of processes can be easily integrated into the common framework. All processes which are controlled in the common framework can be executed in a multitasking environment.
  • CORBA Common Request Broker Architecture
  • ORB Object Request Broker
  • each object based programming model it is common for each executing object to "pop-up" a “window” when any type of input or output (I/O) access is required by the user.
  • focus an active attention within its window
  • Object oriented systems running on personal computers are generally limited to a single active focus to a single object (within it's window) at any given time.
  • Object based programming architectures like CORBA provide very complex standards with which to work. A programmer must adhere to very stringent programming requirements in order to follow the CORBA standard. In order to allow multiple objects to be used together, CORBA uses a scripting language which queues objects in a sequence. A CORBA architecture does not permit parameter passing directly between oojects and requires all parameters to pass through the common request broker.
  • One program which was designed by the present inventor, allows for voice activated commands to control a user interface.
  • This program (sold under the name VOICE PILOTTM) contains a voice interface which allows for voice initiated execution of programs as well as recording dictation.
  • the overall architecture of this program requires the use of child/parent windows as previously discussed. Every voice initiated application maintains its own operating window as a "child window" of the parent process. The child window has to be satiated before releasing control (active focus) and returning I/O access back to the main program.
  • the child/parent window configuration does not allow for complex command processing.
  • a complex command requires more than one process be performed in a specific order based on a single spoken command phrase.
  • the spoken command phrase "add Bob to address book” is a multiple-step/multiple-process command.
  • the appropriate commands required by the prior art are "open address book", "new entry” and "name Bob".
  • each operation is required to be completed one by one in a sequential order.
  • this methodology works to a minimum satisfaction level, it does not use natural language speech.
  • the prior art is not capable of performing multiple step operations with a single spoken command phrase.
  • the prior art does not provide that a single spoken command phrase causes multiple processes to be executed at the same time.
  • the spoken command phrase "Write a letter to Bob” requires multiple processes to be executed in order to effectuate the command.
  • the prior art would have to do the following: "open address book”, “select Bob”, “copy address”, “open editor”, “new letter” and “paste address”.
  • the address book and text editor/word processor are generally different applications. Since these programs require the data to be organized in a specific order, the voice commands must be performed in a specific order to achieve the desired result.
  • the prior art is not capable of performing operations simultaneously across multiple applications with a single spoken command phrase.
  • the present invention provides a method for integrating processes with a multi-faceted human centered interface is provided.
  • the interface is facilitated to implement a hands free, voice driven environment to control processes and applications.
  • a natural language model is used to parse voice initiated commands and data, and to route those voice initiated inputs to the required applications or processes.
  • the use of an intelligent context based parser allows the system to intelligently determine what processes are required to complete a task which is initiated using natural language.
  • a single window environment provides an interface which is comfortable to the user by preventing the occurrence of distracting windows from appearing.
  • the single window has a plurality of facets which allow distinct viewing areas.
  • Each facet has an independent process routing its outputs thereto. As other processes are activated, each facet can reshape itself to bring a new process into one of the viewing areas. All activated processes are executed simultaneously to provide true multitasking.
  • a method for controlling a plurality of processes by voice actuated grammars initiated by a user each grammar having at least one phoneme, the steps comprising: receiving an initial grammar from a process in response to the user initiating an utterance, setting a command mode of operation when the initial grammar from the step of receiving is determined to be a command activation statement, cycling through a first loop when in the command mode of operation, under control of the first loop receiving a data stream from the process, the data stream containing at least one grammar, storing the data stream in a data storage location such that each the at least one grammar is in a separate location of the data storage location, searching the data storage location for a valid command statement, setting an error condition when the step of searching does not find the valid command statement, processing the valid command statement when the step of searching finds the valid command statement, the valid command statement corresponding to at least one of the plurality of processes, and setting the mode of operation to a wait mode of operation when the step of processing the valid command statement is completed.
  • a method for controlling a plurality of processes by voice actuated grammars initiated by a user each grammar having at least one phoneme, the steps comprising: receiving an initial grammar from a process in response to the user initiating an utterance, the process including a speech- to-text processor, setting a command mode of operation when the initial grammar from the step of receiving is determined to be a command activation statement, cycling through a first loop when in the command mode of operation, under control of the first loop receiving a data stream from the process, the data stream containing at least one grammar, storing the data stream in a data storage location such that each the at least one grammar is in a separate location of the data storage location, searching the data storage location for a valid command statement, the step of searching includes comparing each the at least one grammar to a known vocabulary table, the vocabulary table containing a list of system commands and application commands which are registered in a process registration database, setting an error condition when the step of searching does not find the valid command statement, processing the valid
  • Fig. 1 is a general block diagram showing the flow of processes in a Multi-Faceted Human Centered Graphical Interface system according to the present invention.
  • Fig. 2 is a flow diagram showing a detail of the Initialize System step from Fig. 1.
  • Fig. 3 is a flow diagram showing a detail of the Activate Systems step from Fig. 1.
  • Fig. 4 is a flow diagram showing a detail of the Process User Input step from Fig. 3.
  • Fig. 5 is a flow diagram showing a detail of the Parse Mode step from Fig. 4.
  • Fig. 6 is a flow diagram showing a detail of the Process Stream Step from Fig. 5.
  • Fig. 7 is a flow diagram showing a detail of the Process Command step from Fig. 4.
  • Fig. 8 is a flow diagram showing a detail of the Speech Activate Current Command Process step from Fig. 7.
  • Fig. 9 is a flow diagram showing a detail of the Parse Complex step from Fig. 8.
  • Figs. 1-9 contain a detailed flow chart for a multi-faceted human centered interface (MFHCI) designed according to the present invention.
  • MFHCI multi-faceted human centered interface
  • every process step is designated with a process step identifier containing a letter ' S ' followed by a three digit number (i.e. S300) .
  • Each process step (“Sxyz”) uses a numbering convention where the three digit code (“xyz”) corresponds to the figure with which the process step relates.
  • the "x" digit corresponds to the figure number in which the detail of the procedure is shown.
  • MFHCI multifaceted human centered interface
  • hands free voice initiated commands control the execution of processes, facilitate managing multiple tasks simultaneously and allows voice control of all applications.
  • the MFHCI is started by initiating a start command.
  • the start command can be generated by speaking an utterance into a voice input device, striking a key on a keyboard, clicking a mouse input device on an icon, or any other known method of initiating execution of a sequence of instructions.
  • a main process (S101, Fig. 1 ) is executed by the MFHCI.
  • the main process initializes a series of parameters (S200, Fig.
  • a detail of the MFHCI initialization sequence (S200) is shown. This includes setting up a display screen area (S201) , opening a series of previously designated default applications (S202), loading a speech to text (STT) translation engine into the system (S203), loading a text to speech (TTS) translation engine into the system (S204), loading an active application dictionary (AAD) into a memory table (S205) and initializing the default applications to the default viewing areas of the display (S206) .
  • STT speech to text
  • TTS text to speech
  • AAD active application dictionary
  • the above initialization sequence sets the display screen area to multiple active viewing areas (called facets) .
  • Each default application corresponds to one facet of the display area.
  • the output of the processes used by the application are directed to each application's corresponding facet.
  • the display screen contains three active facets corresponding to left, top and bottom portions of the display screen.
  • any number of facets can be utilized, it is preferred to use three facets at a time.
  • the human brain can easily handle three facets at a time without taxing the users. An excessive number of facets creates a cluttered confusion to the user.
  • each screen portion corresponds to one of the active facets, which are all part of a single "windowed" environment.
  • the system verifies that the speech mode is active (S102-104) . This can be done, for example, by checking to see if a microphone is present on the system and recognizable, and if no microphone can be found then the system disables the speech interface.
  • the system prompts the user (S106, Fig. 1) and goes into an active mode (S300, Fig. 3) .
  • the prompt can be any graphical/audio/visual prompt that is desired.
  • the TTS engine can be used by the system to announce a greeting.
  • the MFHCI system is active.
  • the MFHCI system is running at all times.
  • the voice/primary interface is actively monitored for possible commands, requests or data input. Even when the system is in the middle of doing another process, the primary interface is being polled continuously for commands.
  • Fig. 3 shows a flow chart depicting the process flow where the system has been activated by a user (S300) .
  • the user is prompted for input (S301) .
  • This prompting is not a general greeting as in step S106 but instead is a request for user input.
  • This request can be in the form of any graphical, audio or visual cue which is necessary to alert the user that the system expects an input.
  • the system waits for the user to generate an input (S302) .
  • the user generated input can be derived from any acceptable input process including, but not limited to an STT engine, a keyboard, a mouse or the like.
  • the MFHCI system processes the input (S400, see Fig. 4 for details) and checks to see if the input is a command to exit the system (S303) .
  • the main process terminates (S130) and control returns back to the main process in Fig. 1. Having received a request to exit, the main process is subsequently terminated (S109) .
  • an input is processed (S400) by acquiring the data out of a data stream (S401) and parsing that data elements to determine what operating mode the data stream requires for that data to be acted upon (S500, Fig. 5) .
  • the data stream can be found in a memory queue, a memory address, a register, an operating system pipe, a shared memory area, on a hard disk drive or any other means of passing data from an outside resource into a program.
  • the data stream can be passed directly into the MFHCI as an internal resource.
  • the data elements which are received from the input data stream correspond to the data which is being supplied by the primary interface (i.e. the microphone driving the STT engine piping data out in text) .
  • the data is parsed to determine the mode of operation (S402) .
  • the command mode is initiated (S403)
  • the system processes the data stream (S600, details found in Fig 6)
  • the system checks to see if the data stream was successfully processed (S404), and if unsuccessful the system prompts the user for more information (S405).
  • the system terminates the processing of user input (S340) and returns to the Wait mode (S302, Fig 3) or possibly exits the process (S303) as in Fig 3.
  • Fig 5 shows a flow chart depicting the parsing of an input data stream in order to determine if the system needs to be in the command mode (S500) .
  • the stream is first divided into a series of grammars which place the phrases in a context based data structure (S501) which is stored in a data store memory.
  • the data store is searched for a Command Activation Statement (CAS) .
  • CAS Command Activation Statement
  • S503 When a CAS is found in the data store (S503) , the system is set into command mode (S504), otherwise the system defaults into a non-command mode.
  • a CAS is a unique word/phrase/keystroke or the like which alerts the system that a user has an instruction waiting for service.
  • the user speaks a unique word into the computer microphone which alerts the computer that commands will follow hereafter.
  • the computer can be named, when the name of the computer is spoken in a context which is unique (i.e. a pause, followed by "HAL", followed by a pause) then in that context, the system knows that it has been alerted of the CAS.
  • a unique phrase can indicate a CAS (i.e. the spoken phrase "Activate Voice") . Once the CAS is uttered, the system goes into an active mode.
  • CAS can be contained in a dialog where notes are being recorded that are unrelated to the activation of the system (i.e. "Hal needs a new modem") .
  • the computer will not mistake this for a CAS.
  • context is determined and an appropriate action is taken.
  • the system processes the incoming data stream (S600) as shown in Fig. 6.
  • the vocabulary table which was loaded during initialization, is compared to the data stream which is continually sent into the data store (S601) . If the element in the data store is a valid command which is found in the vocabulary table (S602-603) then the system processes the command (S700) . If the element was not in the vocabulary table then it is deemed to be an invalid command statement, and the system sets the "success" flag to false (S604) .
  • control is returned (S460) back to the Process User Input sequence shown in Fig. 4.
  • a valid command is contained in the data stream (S603, Fig 6) the command must be processed.
  • S700 the system must perform a series of tasks as shown in Fig 7.
  • the system compares the current command (CC) to a process registration table (not shown) in order to determine if the CC is part of a registered process (S701-702). All tasks (i.e. Application programs on a computer) that are controlled by the MFHCI must be registered in the system in order to be useable by the MFHCI. After an application is registered in the system, the application is "known" to the MFHCI.
  • a registered application is an application in which each and every functional element has been described to the MFHCI.
  • the MFHCI When an application is registered, the MFHCI amends the Known Vocabulary Table to contain a complete vocabulary for each functional aspect of the RAP.
  • the process registration also amends a known process table which cross-references applications/processes with known vocabularies in the table.
  • a dictionary of all the vocabulary required for all "known" applications is constructed, and a relational database or table allows the MFHCI to identify the vocabularies with the corresponding processes, messages, events and methods.
  • Example one application which lends itself to voice commands is a telephone dialer program.
  • the MFHCI amends the vocabulary table to contain the required vocabulary relevant to the telephone dialer program. Examples of the required vocabulary could be keywords and phrases such as "dial”, “call”, “connect”, “hang-up”, “disconnect”, “hold”, “transfer”, “forward”, “redial” and the like.
  • the MFHCI will construct a relational table to identify those vocabularies with the telephone dialer program and all its functional features.
  • the system determines if the CC is associated with a process which is already activated (S703-S704) .
  • the active process is set to one of the facets of the display and the facet is speech activated (S800) .
  • S800 speech activated
  • the process is loaded into memory, the process is associated with the selected facet and the facet is speech activated (S705, S706, S800) .
  • an application or process Once an application or process is loaded into memory, it is active even though it may or may not be attached to one of the facets. All applications that are activated remain active until terminated. Since the user dictates to the system, and the system locates the processes for the user, it is not necessary for the active process to be in the viewing area for it to be active. As the context of the user input changes from one process to another, the system dynamically "morphs" the facets of the display to accommodate what is needed to accomplish the task. By morphing the facet (dynamically changing the contents of the viewing area without affecting the surrounding viewing areas) the user's concentration does not get broken up with a series of keystrokes, moving windows to free up space and the like.
  • the present invention grants a focus (an active attention) to the current facet which corresponds to the CCP when speech is activated with respect to this process.
  • This is known as granting SPOCKUS (Speech Operational Control Kernal User Service) to the CCP.
  • the CCP is enabled to interact with the Speech Aware Interface (SWI) . All speech data that is streamed into the system is analyzed within the context of CCP (the SPOCKUS which has been directed to the CCP) .
  • SPOCKUS Speech Operational Control Kernal User Service
  • All speech data that is streamed into the system is analyzed within the context of CCP (the SPOCKUS which has been directed to the CCP) .
  • the CCP is granted SPOCKUS, all facets and all processes are still known to the system to be active. Since all processes are still active, the SWI can "pipe" data to any one of the active processes if it is determined that the incoming data stream should be routed into a particular process.
  • the speech activated process receives streamed data (S801) , parses the stream in Parse Complex process (S900) and determines if the streamed data is a CCP Command (S802) .
  • a CCP Command is a command that is known to the CCP that has been granted SPOCKUS. If the system doesn't identify a CCP command (S803-S804) then the system places the incoming stream in a buffer to be either discarded or placed in a data field of the current CCP, based on the context of the data.
  • the system determines (S805) if the command requires the process to terminate the process (i.e.
  • the system continuously processes the incoming data until it is instructed to terminate.
  • the analysis and parsing of the incoming data stream is related to the current command process.
  • a contact management program might be activated by uttering "Open the calendar and show me today's appointments”. This utterance is parsed (divided up into application/computer related pieces) as a command to "open calendar” which initiates a CCP (the calendar process), and a command to "show appointments" which is a CCP command.
  • “Today” is parsed as a data field for the CCP command.
  • the incoming data stream is analyzed to determine which process the stream should be routed to, opening the required application program if it is not currently active, and initiating a command which is recognizable by the contact manager which is now the current command process.
  • the SWI can "pipe" data to any one of the active processes.
  • the system branches into other CPs without losing the current CP (CCP) .
  • CCP current CP
  • the system can receive a command which is outside of the CCP.
  • the ' system activates another CCP, granting SPOCKUS to the new CCP, and executes the other process.
  • the system returns SPOCKUS back to the previous CCP.
  • the system can perform this recursive type of behavior over a plurality of CCPs.
  • each utterance received from the stream is parsed to determine the context and to refine the data elements using the Parse Complex (S900) procedure.
  • the CCP is a Dictation Active Command (DAC) then we must determine the context of the stream (i.e. a note taking program is active which receives dictation as its data elements) .
  • the incoming stream is parsed by checking the context of the adjacent words to the possible command word.
  • a natural linguistic model is used to determine if the possible command word is within the scope of the adjacent words.
  • the linguistic model is used to break apart verbs, nouns, adjectives etc.
  • the command word is within the scope of those words, then the command word is within the context of the dictation and the words are passed through as data elements (S905) . If the possible command word is outside the scope of those words, then the command word is in fact a new command. We check the new command to determine if it relevant within the CCP. If the new command is authenticated then the new command is passed back to the Speech Activate CC Process (S890) . Similarly, when we are not in the Dictation state (a non DAC Command is the CCP) , the system authenticates the command as a new command, and passes it back to the Speech Activation process if it is valid (S902, S906- S908, S890) .

Abstract

A method for integrating computer processes with a multi-faceted human centered interface is provided (Fig. 8). The interface is facilitated to implement a hands free, voice driven environment to control processes and applications. A natural language model is used to parse voice initiated commands and data (S900), and to route those voice initiated inputs to the required applications or processes. The use of an intelligent context based parser allows the system to intelligently determine what processes are required to complete a task which is initiated using natural language (S805).

Description

Method for Integrating Computer Processes with an Interface Controlled by Voice Actuated Grammars
BACKGROUND OF THE INVENTION 1. Field of the Invention
The present invention relates to a method for controlling a series of processes with a human centered interface. More precisely, the present invention relates to integrating a plurality of processes into a common user interface which is controlled by voice activated commands . The method further includes a common framework which allows hands-free control of each process within the framework. A multitude of processes can be easily integrated into the common framework. All processes which are controlled in the common framework can be executed in a multitasking environment. 2. Description of the Related Art
Recent advances in computer technology has prompted an expansion in the use of personal computers for both business and home use. The widespread use of personal computers has lead to a migration away from central based computing on mainframes to distributed computing on personal computers. Business applications often share common databases and system utilities across an interoffice network With the growth in the use of the internet, distributed computing models have become increasingly important. By distributing the resources necessary to accomplish a given task, the amount of data required to be transferred across a network can be reduced.
The desire to distribute processing and databases has produced an industry of object based programming architectures and languages . The proliferation of programming architectures/languages such as Java, Active X, C++, COM, OpenDoc and CORBA are a testament to this increased interest in- distributed computing. Many prior art software designs have been implemented on personal computers based on these object oriented programming models.
The Common Request Broker Architecture (CORBA) provides an object based programming architecture which operates under a client/server topology. In a CORBA based application program, every task is handled as an object which is a self contained program. An Object Request Broker (ORB) serves as a mechanism for communicating client requests to target objects. Client requests appear as local procedure calls. When a client invokes an operation, the ORB finds the object, sends a request to the object and once the object completes the request returns any responses to the client. Each object operates independent of one another within the system.
In each object based programming model it is common for each executing object to "pop-up" a "window" when any type of input or output (I/O) access is required by the user. When an object is executing a request, focus (an active attention within its window) is granted to the object. Object oriented systems running on personal computers are generally limited to a single active focus to a single object (within it's window) at any given time.
Object based programming architectures like CORBA provide very complex standards with which to work. A programmer must adhere to very stringent programming requirements in order to follow the CORBA standard. In order to allow multiple objects to be used together, CORBA uses a scripting language which queues objects in a sequence. A CORBA architecture does not permit parameter passing directly between oojects and requires all parameters to pass through the common request broker.
Current computer technology allows application programs to execute their procedures within individual process oriented graphical user interfaces (i.e. a "window") . Each process is encapsulated in such a manner that all services required by the process are generally contained within the encapsulated process. Thus each object is an entity unto itself. Each process generally contains all of its own I/O within its own operating window. When a process requires I/O, such as a keyboard input, mouse input or the like, the operating system passes the input data to the application or object. It is conventionally known that a process window (a parent window) spawns a child window when the application calls for specific data entry (I/O) . This presents certain problems in that the child window does not release focus from the child window until the child window is terminated. When a keyboard and mouse are used as the primary interface, the keyboard and mouse control will maintain focus in the child window as long as the child window is active. The viewing area becomes cluttered with child windows and it is difficult to read and parse all the information on the computer screen.
Current voice driven software technology is useful for little more than a dictation system which types what is spoken on a display screen. Although many programs have attempted to initiate command sequences, this involves an extensive training session to teach the computer how to handle specific words. Since those words are not maintained in a context based model that is intelligent, it is easy to confuse such voice command systems. In addition, the systems are limited in capability to the few applications that support the voice interface.
One program, which was designed by the present inventor, allows for voice activated commands to control a user interface. This program (sold under the name VOICE PILOT™) contains a voice interface which allows for voice initiated execution of programs as well as recording dictation. However, the overall architecture of this program requires the use of child/parent windows as previously discussed. Every voice initiated application maintains its own operating window as a "child window" of the parent process. The child window has to be satiated before releasing control (active focus) and returning I/O access back to the main program.
The child/parent window configuration does not allow for complex command processing. A complex command requires more than one process be performed in a specific order based on a single spoken command phrase. For example, the spoken command phrase "add Bob to address book" is a multiple-step/multiple-process command. The appropriate commands required by the prior art are "open address book", "new entry" and "name Bob". In the prior art, each operation is required to be completed one by one in a sequential order. Although this methodology works to a minimum satisfaction level, it does not use natural language speech. The prior art is not capable of performing multiple step operations with a single spoken command phrase. In addition, the prior art does not provide that a single spoken command phrase causes multiple processes to be executed at the same time. For example, the spoken command phrase "Write a letter to Bob" requires multiple processes to be executed in order to effectuate the command. The prior art would have to do the following: "open address book", "select Bob", "copy address", "open editor", "new letter" and "paste address". The address book and text editor/word processor are generally different applications. Since these programs require the data to be organized in a specific order, the voice commands must be performed in a specific order to achieve the desired result. The prior art is not capable of performing operations simultaneously across multiple applications with a single spoken command phrase.
Current computer technologies are not well suited for use with a voice driven interface. The use of parent and child windows creates a multitude of problems since natural language modeling is best handled with complex command processing. Since child windows receive active focus as a single window, they tend to sequentially process simple (single process) voice commands . The current invention seeks to overcome these limitations by providing a uniform speech aware interface that is optimized for a hands free, voice driven environment. This is especially useful for contact management, business professionals and anyone looking to eliminate the time wasting procedure of pushing and shoving windows around a video screen to find the' useful data buried therein. By utilizing a voice interface, an innovative natural language processor and a unique graphical user interface which supports true multi-tasking, and I/O access which eliminates the use of "child" windows, the limitations of the prior art are overcome. SUMMARY OF THE INVENTION
It is an object of the present invention to overcome the drawbacks in the prior art.
It is an object of the present invention to provide a method of processing information using a hands free voice activated environment.
It is a further object of the present invention to provide a universal access method to enable processes to connect to a common user interface. It is yet a further object of the present invention to provide a voice driven environment to control access to multiple processes.
It is another object of the present invention to provide a method of parsing voice initiated utterances to establish context based decision making.
It is another object of the present invention to provide a method of processing voice entered information by determining if command and data elements are present within a phrase of the information. Briefly stated the present invention provides a method for integrating processes with a multi-faceted human centered interface is provided. The interface is facilitated to implement a hands free, voice driven environment to control processes and applications. A natural language model is used to parse voice initiated commands and data, and to route those voice initiated inputs to the required applications or processes. The use of an intelligent context based parser allows the system to intelligently determine what processes are required to complete a task which is initiated using natural language. A single window environment provides an interface which is comfortable to the user by preventing the occurrence of distracting windows from appearing. The single window has a plurality of facets which allow distinct viewing areas. Each facet has an independent process routing its outputs thereto. As other processes are activated, each facet can reshape itself to bring a new process into one of the viewing areas. All activated processes are executed simultaneously to provide true multitasking.
According to an aspect of the invention, there is provided for a method for controlling a plurality of processes by voice actuated grammars initiated by a user, each grammar having at least one phoneme, the steps comprising: receiving an initial grammar from a process in response to the user initiating an utterance, setting a command mode of operation when the initial grammar from the step of receiving is determined to be a command activation statement, cycling through a first loop when in the command mode of operation, under control of the first loop receiving a data stream from the process, the data stream containing at least one grammar, storing the data stream in a data storage location such that each the at least one grammar is in a separate location of the data storage location, searching the data storage location for a valid command statement, setting an error condition when the step of searching does not find the valid command statement, processing the valid command statement when the step of searching finds the valid command statement, the valid command statement corresponding to at least one of the plurality of processes, and setting the mode of operation to a wait mode of operation when the step of processing the valid command statement is completed.
According to another aspect of the invention, there is provided for a method for controlling a plurality of processes by voice actuated grammars initiated by a user, each grammar having at least one phoneme, the steps comprising: receiving an initial grammar from a process in response to the user initiating an utterance, the process including a speech- to-text processor, setting a command mode of operation when the initial grammar from the step of receiving is determined to be a command activation statement, cycling through a first loop when in the command mode of operation, under control of the first loop receiving a data stream from the process, the data stream containing at least one grammar, storing the data stream in a data storage location such that each the at least one grammar is in a separate location of the data storage location, searching the data storage location for a valid command statement, the step of searching includes comparing each the at least one grammar to a known vocabulary table, the vocabulary table containing a list of system commands and application commands which are registered in a process registration database, setting an error condition when the step of searching does not find the valid command statement, processing the valid command statement when the step of searching finds the valid command statement, the valid command statement corresponding to at least one of the plurality of processes, and setting the mode of operation to a wait mode of operation when the step of processing the valid command statement is completed.
The above, and other objects, features and advantages of the present invention will become apparent from the following description read in conjunction with the accompanying drawings, in which like reference numerals designate the same elements. BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a general block diagram showing the flow of processes in a Multi-Faceted Human Centered Graphical Interface system according to the present invention.
Fig. 2 is a flow diagram showing a detail of the Initialize System step from Fig. 1.
Fig. 3 is a flow diagram showing a detail of the Activate Systems step from Fig. 1. Fig. 4 is a flow diagram showing a detail of the Process User Input step from Fig. 3.
Fig. 5 is a flow diagram showing a detail of the Parse Mode step from Fig. 4.
Fig. 6 is a flow diagram showing a detail of the Process Stream Step from Fig. 5.
Fig. 7 is a flow diagram showing a detail of the Process Command step from Fig. 4.
Fig. 8 is a flow diagram showing a detail of the Speech Activate Current Command Process step from Fig. 7.
Fig. 9 is a flow diagram showing a detail of the Parse Complex step from Fig. 8.
DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS Figs. 1-9 contain a detailed flow chart for a multi-faceted human centered interface (MFHCI) designed according to the present invention. For convenience, every process step is designated with a process step identifier containing a letter ' S ' followed by a three digit number (i.e. S300) . Each process step ("Sxyz") uses a numbering convention where the three digit code ("xyz") corresponds to the figure with which the process step relates. In every process step designated as "SxOO", the "x" digit corresponds to the figure number in which the detail of the procedure is shown. In each figure there is an end of process block which is designated as a "return" statement Every "return" process step is designated as "SxyO", where "x" refers to which figure number to return to, and "y" refers to the current figure number. In all other process steps, the "x" refers to the current figure, and "yz" refers to a unique process step number which is none zero. The convention used to designate process steps will become apparent from the discussion which follows. n Referring to Fig 1, there is shown a general block diagram for a multifaceted human centered interface (MFHCI) . The MFHCI functions as a universal human interface to allow enhanced access and usability to task management. By parsing a series of voice initiated utterances, a series of command sequences are identified and tasks are queued from the MFHCI. The voice initiated utterances can be any type of phonemne
(the smallest unit of speech that distinguishes one sound from another), word or phrase in any language. In an alternative embodiment, a series of keyboard inputs can be used to initiate the command sequence. In a preferred embodiment of the invention, hands free voice initiated commands control the execution of processes, facilitate managing multiple tasks simultaneously and allows voice control of all applications.
The MFHCI is started by initiating a start command. The start command can be generated by speaking an utterance into a voice input device, striking a key on a keyboard, clicking a mouse input device on an icon, or any other known method of initiating execution of a sequence of instructions. Once the start command is initiated, a main process (S101, Fig. 1 ) is executed by the MFHCI. The main process: initializes a series of parameters (S200, Fig. 2), verifies the speech engine is active (S102-103) and sets the primary interface to be speech or defaults to keyboard and mouse based upon the speech engine being active (S104, S105), prompts the user that the system is active (S106) and activates the system to accept all data I/O through the system (S300) .
Referring to Fig 2, a detail of the MFHCI initialization sequence (S200) is shown. This includes setting up a display screen area (S201) , opening a series of previously designated default applications (S202), loading a speech to text (STT) translation engine into the system (S203), loading a text to speech (TTS) translation engine into the system (S204), loading an active application dictionary (AAD) into a memory table (S205) and initializing the default applications to the default viewing areas of the display (S206) . Once the initialization sequence ends (S120), program control is returned back to the Main process in Fig 1.
It is important to note that there is only one "windowed" area of the display. The active viewing areas are all maintained within the confines of the single display area. Even when applications/processes are activated subsequently, the viewing changes but no additional window areas ever appear. Moreover, once an application is activated it remains active even when subsequent applications are activated. This permits a true multitasking environment that is optimized for voice applications .
The above initialization sequence (S200-S206) sets the display screen area to multiple active viewing areas (called facets) . Each default application corresponds to one facet of the display area. The output of the processes used by the application are directed to each application's corresponding facet. In a preferred embodiment of the invention, the display screen contains three active facets corresponding to left, top and bottom portions of the display screen. Although it is understood that any number of facets (display portions of the view screen) can be utilized, it is preferred to use three facets at a time. The human brain can easily handle three facets at a time without taxing the users. An excessive number of facets creates a cluttered confusion to the user. Likewise, the prior art methods are difficult for users to deal with because parent/child screens appear one on top of another, creating an obscured, cluttered look to the screens . In the present invention, each screen portion corresponds to one of the active facets, which are all part of a single "windowed" environment.
Referring again to Fig 1 after the system is initialized in step S200, the system verifies that the speech mode is active (S102-104) . This can be done, for example, by checking to see if a microphone is present on the system and recognizable, and if no microphone can be found then the system disables the speech interface.
When the speech engine is disabled the keyboard and mouse function as the primary input device to the MFHCI
(S105) . The keyboard and mouse are always active as secondary input devices when the speech interface is the primary interface.
Once all the initialization parameters are set in place, the system prompts the user (S106, Fig. 1) and goes into an active mode (S300, Fig. 3) . The prompt can be any graphical/audio/visual prompt that is desired. For example, the TTS engine can be used by the system to announce a greeting. After the greeting/prompting has been made, the MFHCI system is active. The MFHCI system is running at all times. The voice/primary interface is actively monitored for possible commands, requests or data input. Even when the system is in the middle of doing another process, the primary interface is being polled continuously for commands. Fig. 3 shows a flow chart depicting the process flow where the system has been activated by a user (S300) . First, the user is prompted for input (S301) . This prompting is not a general greeting as in step S106 but instead is a request for user input. This request can be in the form of any graphical, audio or visual cue which is necessary to alert the user that the system expects an input. The system waits for the user to generate an input (S302) . The user generated input can be derived from any acceptable input process including, but not limited to an STT engine, a keyboard, a mouse or the like. Once an input is supplied, the MFHCI system processes the input (S400, see Fig. 4 for details) and checks to see if the input is a command to exit the system (S303) . When the input is a request to exit the system (i.e. "Quit"), the main process terminates (S130) and control returns back to the main process in Fig. 1. Having received a request to exit, the main process is subsequently terminated (S109) .
The general manner in which user input is processed is depicted in the flow chart found in Fig. 4. As shown in Fig 4, an input is processed (S400) by acquiring the data out of a data stream (S401) and parsing that data elements to determine what operating mode the data stream requires for that data to be acted upon (S500, Fig. 5) . The data stream can be found in a memory queue, a memory address, a register, an operating system pipe, a shared memory area, on a hard disk drive or any other means of passing data from an outside resource into a program. In instances where the system has been integrated together with the input stream processing program (i.e. a voice to text driver) the data stream can be passed directly into the MFHCI as an internal resource. In any case, the data elements which are received from the input data stream correspond to the data which is being supplied by the primary interface (i.e. the microphone driving the STT engine piping data out in text) . The data is parsed to determine the mode of operation (S402) . When it is determined that the data stream requires a command mode in order to be processed: the command mode is initiated (S403) , the system processes the data stream (S600, details found in Fig 6) , the system checks to see if the data stream was successfully processed (S404), and if unsuccessful the system prompts the user for more information (S405). When no command mode was initiated (S403) or upon completion of processing the data stream, the system terminates the processing of user input (S340) and returns to the Wait mode (S302, Fig 3) or possibly exits the process (S303) as in Fig 3.
Fig 5 shows a flow chart depicting the parsing of an input data stream in order to determine if the system needs to be in the command mode (S500) . The stream is first divided into a series of grammars which place the phrases in a context based data structure (S501) which is stored in a data store memory. The data store is searched for a Command Activation Statement (CAS) . When a CAS is found in the data store (S503) , the system is set into command mode (S504), otherwise the system defaults into a non-command mode.
A CAS is a unique word/phrase/keystroke or the like which alerts the system that a user has an instruction waiting for service. In a preferred embodiment the user speaks a unique word into the computer microphone which alerts the computer that commands will follow hereafter. For example, the computer can be named, when the name of the computer is spoken in a context which is unique (i.e. a pause, followed by "HAL", followed by a pause) then in that context, the system knows that it has been alerted of the CAS. Similarly, a unique phrase can indicate a CAS (i.e. the spoken phrase "Activate Voice") . Once the CAS is uttered, the system goes into an active mode. It is important to note that the CAS can be contained in a dialog where notes are being recorded that are unrelated to the activation of the system (i.e. "Hal needs a new modem") . In instances where the context is unrelated to the activation command, the computer will not mistake this for a CAS. By reviewing the locus of words around a possible CAS, context is determined and an appropriate action is taken.
Once the system enters the command mode (S403 in Fig. 4), the system processes the incoming data stream (S600) as shown in Fig. 6. The vocabulary table, which was loaded during initialization, is compared to the data stream which is continually sent into the data store (S601) . If the element in the data store is a valid command which is found in the vocabulary table (S602-603) then the system processes the command (S700) . If the element was not in the vocabulary table then it is deemed to be an invalid command statement, and the system sets the "success" flag to false (S604) . Upon completion of the processing of the data stream, control is returned (S460) back to the Process User Input sequence shown in Fig. 4.
Once the system has determined that a valid command is contained in the data stream (S603, Fig 6) the command must be processed. In order to process a command (S700) the system must perform a series of tasks as shown in Fig 7. The system compares the current command (CC) to a process registration table (not shown) in order to determine if the CC is part of a registered process (S701-702). All tasks (i.e. Application programs on a computer) that are controlled by the MFHCI must be registered in the system in order to be useable by the MFHCI. After an application is registered in the system, the application is "known" to the MFHCI. A registered application (RAP) is an application in which each and every functional element has been described to the MFHCI. When an application is registered, the MFHCI amends the Known Vocabulary Table to contain a complete vocabulary for each functional aspect of the RAP. The process registration also amends a known process table which cross-references applications/processes with known vocabularies in the table. Thus, a dictionary of all the vocabulary required for all "known" applications is constructed, and a relational database or table allows the MFHCI to identify the vocabularies with the corresponding processes, messages, events and methods.
For Example, one application which lends itself to voice commands is a telephone dialer program. During registration of the telephone dialer program, a series of words or phrases are registered with the MFHCI . The MFHCI amends the vocabulary table to contain the required vocabulary relevant to the telephone dialer program. Examples of the required vocabulary could be keywords and phrases such as "dial", "call", "connect", "hang-up", "disconnect", "hold", "transfer", "forward", "redial" and the like. Once the vocabulary is contained in the table, the MFHCI will construct a relational table to identify those vocabularies with the telephone dialer program and all its functional features. As shown in Fig 7, after the CC has been determined to be a known vocabulary corresponding to a registered process, then the system determines if the CC is associated with a process which is already activated (S703-S704) . When a CC is associated with an active process, the active process is set to one of the facets of the display and the facet is speech activated (S800) . If a CC is associated with a process that is not active, the user is prompted to select a facet (viewing area within the single "window"), the process is loaded into memory, the process is associated with the selected facet and the facet is speech activated (S705, S706, S800) . Once an application or process is loaded into memory, it is active even though it may or may not be attached to one of the facets. All applications that are activated remain active until terminated. Since the user dictates to the system, and the system locates the processes for the user, it is not necessary for the active process to be in the viewing area for it to be active. As the context of the user input changes from one process to another, the system dynamically "morphs" the facets of the display to accommodate what is needed to accomplish the task. By morphing the facet (dynamically changing the contents of the viewing area without affecting the surrounding viewing areas) the user's concentration does not get broken up with a series of keystrokes, moving windows to free up space and the like.
The present invention grants a focus (an active attention) to the current facet which corresponds to the CCP when speech is activated with respect to this process. This is known as granting SPOCKUS (Speech Operational Control Kernal User Service) to the CCP. The CCP is enabled to interact with the Speech Aware Interface (SWI) . All speech data that is streamed into the system is analyzed within the context of CCP (the SPOCKUS which has been directed to the CCP) . Although the CCP is granted SPOCKUS, all facets and all processes are still known to the system to be active. Since all processes are still active, the SWI can "pipe" data to any one of the active processes if it is determined that the incoming data stream should be routed into a particular process. As shown in Fig 8, the speech activated process receives streamed data (S801) , parses the stream in Parse Complex process (S900) and determines if the streamed data is a CCP Command (S802) . A CCP Command is a command that is known to the CCP that has been granted SPOCKUS. If the system doesn't identify a CCP command (S803-S804) then the system places the incoming stream in a buffer to be either discarded or placed in a data field of the current CCP, based on the context of the data. When a CCP command is identified by the system, the system determines (S805) if the command requires the process to terminate the process (i.e. "Done" or "Close File") or to execute a command in the CCP (S806) . The system continuously processes the incoming data until it is instructed to terminate. The analysis and parsing of the incoming data stream is related to the current command process. For example, a contact management program might be activated by uttering "Open the calendar and show me today's appointments". This utterance is parsed (divided up into application/computer related pieces) as a command to "open calendar" which initiates a CCP (the calendar process), and a command to "show appointments" which is a CCP command. "Today" is parsed as a data field for the CCP command. As described above, the incoming data stream is analyzed to determine which process the stream should be routed to, opening the required application program if it is not currently active, and initiating a command which is recognizable by the contact manager which is now the current command process.
As discussed above, since all processes are still active, the SWI can "pipe" data to any one of the active processes. Thus, the system branches into other CPs without losing the current CP (CCP) . Since the SWI is always active and monitoring the input data stream, the system can receive a command which is outside of the CCP. Upon receiving this command, the 'system activates another CCP, granting SPOCKUS to the new CCP, and executes the other process. When the subsequent process is terminated, the system returns SPOCKUS back to the previous CCP. The system can perform this recursive type of behavior over a plurality of CCPs.
Referring to Figs 8 and 9, each utterance received from the stream is parsed to determine the context and to refine the data elements using the Parse Complex (S900) procedure. If the CCP is a Dictation Active Command (DAC) then we must determine the context of the stream (i.e. a note taking program is active which receives dictation as its data elements) . As shown in steps S901-S904, the incoming stream is parsed by checking the context of the adjacent words to the possible command word. A natural linguistic model is used to determine if the possible command word is within the scope of the adjacent words. The linguistic model is used to break apart verbs, nouns, adjectives etc. If the possible command word is within the scope of those words, then the command word is within the context of the dictation and the words are passed through as data elements (S905) . If the possible command word is outside the scope of those words, then the command word is in fact a new command. We check the new command to determine if it relevant within the CCP. If the new command is authenticated then the new command is passed back to the Speech Activate CC Process (S890) . Similarly, when we are not in the Dictation state (a non DAC Command is the CCP) , the system authenticates the command as a new command, and passes it back to the Speech Activation process if it is valid (S902, S906- S908, S890) .
Having described preferred embodiments of the invention with reference to the accompanying drawings, it is to be understood that the invention is not limited to those precise embodiments, and that various changes and modifications may be effected therein by one skilled in the art without departing from the scope or spirit of the invention as defined in the appended claims.
SUBSTITUTE SHEET (RULE-26)

Claims

1. A method for controlling a plurality of processes by voice actuated grammars initiated by a user, each grammar having at least one phoneme, the steps comprising: receiving an initial grammar from a process in response to said user initiating an utterance; setting a command mode of operation when said initial grammar from said step of receiving is determined to be a command activation statement; cycling through a first loop when in said command mode of operation; under control of said first loop, receiving a data stream from said process, said data stream containing at least one grammar, storing said data stream in a data storage location such that each said at least one grammar is in a separate location of said data storage location; searching said data storage location for a valid command statement; setting an error condition when said step of searching does not find said valid command statement; processing said valid command statement when said step of searching finds said valid command statement, said valid command statement corresponding to at least one of said plurality of processes; and setting said mode of operation to a wait mode of operation when said step of processing said valid command statement is completed.
2. A method for controlling a plurality of processes as in claim 1, wherein said step of receiving a grammar from a process is a step of receiving a grammar from a speech-to-text processor.
3. A method for controlling a plurality of processes as in claim 1, wherein said step of searching said data storage location for a valid command statement is a step of comparing each said at least one grammar to a known vocabulary table.
4. A method for controlling a plurality of processes as in claim 1, wherein said step of searching said data storage location for a valid command statement is a step of comparing each said at least one grammar to a known vocabulary table, said vocabulary table containing a list of system commands and application commands .
5. A method for controlling a plurality of processes as in claim 1, wherein said step of searching said data storage location for a valid command statement is a step of comparing each said at least one grammar to a known vocabulary table, said vocabulary table containing a list of system commands and application commands which are registered in a process registration database .
6. A method for controlling a plurality of processes as in claim 2, wherein said step of searching said data storage location for a valid command statement is a step of comparing each said at least one grammar to a known vocabulary table.
7. A method for controlling a plurality of processes as in claim 2, wherein said step of searching said data storage location for a valid command statement is a step of comparing each said at least one grammar to a known vocabulary table.
8. A method for controlling a plurality of' processes as in claim 2, wherein said step of searching said data storage location for a valid command statement is a step of comparing each said at least one grammar to a known vocabulary table, said vocabulary table containing a list of system commands and application commands which are registered in a process registration database.
9. A method for controlling a plurality of processes as in claim 3, wherein said step of searching said data storage location for a valid command statement is a step of comparing each said at least one grammar to a known vocabulary table, said vocabulary table containing a list of system commands and application commands .
10. A method for controlling a plurality of processes as in claim 3, wherein said step of searching said data storage location for a valid command statement is a step of comparing each said at least one grammar to a known vocabulary table, said vocabulary table containing a list of system commands and application commands which are registered in a process registration database .
11. A method for controlling a plurality of processes as in claim 9, wherein said step of searching said data storage location for a valid command statement is a step of comparing each said at least one grammar to a known vocabulary table, said vocabulary table containing a list of system
Figure imgf000025_0001
application commands .
12. A method for controlling a plurality of processes by voice actuated grammars initiated by a user, each grammar having at least one phoneme, the steps comprising: receiving an initial grammar from a process in response to said user initiating an utterance, said process including a speech-to-text processor; setting a command mode of operation when said initial grammar from said step of receiving is determined to be a command activation statement; cycling through a first loop when in said command mode of operation; under control of said first loop; receiving a data stream from said process, said data stream containing at least one grammar; storing said data stream in a data storage location such that each said at least one grammar in a separate location of said data storage location searching said data storage location for a valid command statement, said step of searching includes comparing each said at least one grammar to a known vocabulary table, said vocabulary table containing a list of system commands and application commands which are registered in a process registration database; setting an error condition when said step of searching does not find said valid command statement; processing said valid command statement when said step of searching finds said valid command statement; said valid command statement corresponding to at least one of said plurality of processes; and setting said mode of operation to a wait mode of operation when said step of processing said valid command statement is completed.
PCT/US2001/009574 2001-03-12 2001-03-26 A method for integrating processes with a multi-faceted human centered interface WO2002073603A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/804,164 2001-03-12
US09/804,164 US6606599B2 (en) 1998-12-23 2001-03-12 Method for integrating computing processes with an interface controlled by voice actuated grammars

Publications (1)

Publication Number Publication Date
WO2002073603A1 true WO2002073603A1 (en) 2002-09-19

Family

ID=25188330

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/009574 WO2002073603A1 (en) 2001-03-12 2001-03-26 A method for integrating processes with a multi-faceted human centered interface

Country Status (2)

Country Link
US (2) US6606599B2 (en)
WO (1) WO2002073603A1 (en)

Cited By (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2472482A (en) * 2009-06-05 2011-02-09 Apple Inc Contextual voice command control of a device
US8660849B2 (en) 2010-01-18 2014-02-25 Apple Inc. Prioritizing selection criteria by automated assistant
US8670985B2 (en) 2010-01-13 2014-03-11 Apple Inc. Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8682649B2 (en) 2009-11-12 2014-03-25 Apple Inc. Sentiment prediction from textual data
US8688446B2 (en) 2008-02-22 2014-04-01 Apple Inc. Providing text input using speech data and non-speech data
US8706472B2 (en) 2011-08-11 2014-04-22 Apple Inc. Method for disambiguating multiple readings in language conversion
US8712776B2 (en) 2008-09-29 2014-04-29 Apple Inc. Systems and methods for selective text to speech synthesis
US8713021B2 (en) 2010-07-07 2014-04-29 Apple Inc. Unsupervised document clustering using latent semantic density analysis
US8719006B2 (en) 2010-08-27 2014-05-06 Apple Inc. Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis
US8719014B2 (en) 2010-09-27 2014-05-06 Apple Inc. Electronic device with text error correction based on voice recognition data
US8718047B2 (en) 2001-10-22 2014-05-06 Apple Inc. Text to speech conversion of text messages from mobile communication devices
US8751238B2 (en) 2009-03-09 2014-06-10 Apple Inc. Systems and methods for determining the language to use for speech generated by a text to speech engine
US8762156B2 (en) 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
US8768702B2 (en) 2008-09-05 2014-07-01 Apple Inc. Multi-tiered voice feedback in an electronic device
US8775442B2 (en) 2012-05-15 2014-07-08 Apple Inc. Semantic search using a single-source semantic model
US8781836B2 (en) 2011-02-22 2014-07-15 Apple Inc. Hearing assistance system for providing consistent human speech
US8812294B2 (en) 2011-06-21 2014-08-19 Apple Inc. Translating phrases from one language into another using an order-based set of declarative rules
US8862252B2 (en) 2009-01-30 2014-10-14 Apple Inc. Audio user interface for displayless electronic device
US8898568B2 (en) 2008-09-09 2014-11-25 Apple Inc. Audio user interface
US8935167B2 (en) 2012-09-25 2015-01-13 Apple Inc. Exemplar-based latent perceptual modeling for automatic speech recognition
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US9053089B2 (en) 2007-10-02 2015-06-09 Apple Inc. Part-of-speech tagging using latent analogy
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9300784B2 (en) 2013-06-13 2016-03-29 Apple Inc. System and method for emergency calls initiated by voice command
US9311043B2 (en) 2010-01-13 2016-04-12 Apple Inc. Adaptive audio feedback system and method
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9535906B2 (en) 2008-07-31 2017-01-03 Apple Inc. Mobile device having human language translation capability with positional feedback
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
US9620104B2 (en) 2013-06-07 2017-04-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US9633674B2 (en) 2013-06-07 2017-04-25 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9646614B2 (en) 2000-03-16 2017-05-09 Apple Inc. Fast, language-independent method for user authentication by voice
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9697822B1 (en) 2013-03-15 2017-07-04 Apple Inc. System and method for updating an adaptive speech recognition model
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9733821B2 (en) 2013-03-14 2017-08-15 Apple Inc. Voice control to diagnose inadvertent activation of accessibility features
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9798393B2 (en) 2011-08-29 2017-10-24 Apple Inc. Text correction processing
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9922642B2 (en) 2013-03-15 2018-03-20 Apple Inc. Training an at least partial voice command system
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9946706B2 (en) 2008-06-07 2018-04-17 Apple Inc. Automatic language identification for dynamic text processing
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US9966068B2 (en) 2013-06-08 2018-05-08 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US9977779B2 (en) 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US10019994B2 (en) 2012-06-08 2018-07-10 Apple Inc. Systems and methods for recognizing textual identifiers within a plurality of words
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US10078487B2 (en) 2013-03-15 2018-09-18 Apple Inc. Context-sensitive handling of interruptions
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10089072B2 (en) 2016-06-11 2018-10-02 Apple Inc. Intelligent device arbitration and control
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10185542B2 (en) 2013-06-09 2019-01-22 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10269345B2 (en) 2016-06-11 2019-04-23 Apple Inc. Intelligent task discovery
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US10297253B2 (en) 2016-06-11 2019-05-21 Apple Inc. Application integration with a digital assistant
US10354011B2 (en) 2016-06-09 2019-07-16 Apple Inc. Intelligent automated assistant in a home environment
US10356243B2 (en) 2015-06-05 2019-07-16 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US10410637B2 (en) 2017-05-12 2019-09-10 Apple Inc. User-specific acoustic models
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US10482874B2 (en) 2017-05-15 2019-11-19 Apple Inc. Hierarchical belief states for digital assistants
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10515147B2 (en) 2010-12-22 2019-12-24 Apple Inc. Using statistical language models for contextual lookup
US10521466B2 (en) 2016-06-11 2019-12-31 Apple Inc. Data driven natural language event detection and classification
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10572476B2 (en) 2013-03-14 2020-02-25 Apple Inc. Refining a search based on schedule items
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10607140B2 (en) 2010-01-25 2020-03-31 Newvaluexchange Ltd. Apparatuses, methods and systems for a digital conversation management platform
US10642574B2 (en) 2013-03-14 2020-05-05 Apple Inc. Device, method, and graphical user interface for outputting captions
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US10672399B2 (en) 2011-06-03 2020-06-02 Apple Inc. Switching between text data and audio data based on a mapping
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10755703B2 (en) 2017-05-11 2020-08-25 Apple Inc. Offline personal assistant
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US10791216B2 (en) 2013-08-06 2020-09-29 Apple Inc. Auto-activating smart responses based on activities from remote devices
US10791176B2 (en) 2017-05-12 2020-09-29 Apple Inc. Synchronization and task delegation of a digital assistant
US10810274B2 (en) 2017-05-15 2020-10-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US11151899B2 (en) 2013-03-15 2021-10-19 Apple Inc. User training by intelligent digital assistant
US11217255B2 (en) 2017-05-16 2022-01-04 Apple Inc. Far-field extension for digital assistant services
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606599B2 (en) * 1998-12-23 2003-08-12 Interactive Speech Technologies, Llc Method for integrating computing processes with an interface controlled by voice actuated grammars
US7447637B1 (en) 1998-12-23 2008-11-04 Eastern Investments, Llc System and method of processing speech within a graphic user interface
US7216351B1 (en) * 1999-04-07 2007-05-08 International Business Machines Corporation Systems and methods for synchronizing multi-modal interactions
US7099829B2 (en) * 2001-11-06 2006-08-29 International Business Machines Corporation Method of dynamically displaying speech recognition system information
GB2402507A (en) * 2003-06-03 2004-12-08 Canon Kk A user input interpreter and a method of interpreting user input
US9083798B2 (en) * 2004-12-22 2015-07-14 Nuance Communications, Inc. Enabling voice selection of user preferences
US7917365B2 (en) * 2005-06-16 2011-03-29 Nuance Communications, Inc. Synchronizing visual and speech events in a multimodal application
US20060287865A1 (en) * 2005-06-16 2006-12-21 Cross Charles W Jr Establishing a multimodal application voice
US20060287858A1 (en) * 2005-06-16 2006-12-21 Cross Charles W Jr Modifying a grammar of a hierarchical multimodal menu with keywords sold to customers
US8090584B2 (en) 2005-06-16 2012-01-03 Nuance Communications, Inc. Modifying a grammar of a hierarchical multimodal menu in dependence upon speech command frequency
US8073700B2 (en) 2005-09-12 2011-12-06 Nuance Communications, Inc. Retrieval and presentation of network service results for mobile device using a multimodal browser
US8719034B2 (en) * 2005-09-13 2014-05-06 Nuance Communications, Inc. Displaying speech command input state information in a multimodal browser
US9208785B2 (en) * 2006-05-10 2015-12-08 Nuance Communications, Inc. Synchronizing distributed speech recognition
US20070274297A1 (en) * 2006-05-10 2007-11-29 Cross Charles W Jr Streaming audio from a full-duplex network through a half-duplex device
US7848314B2 (en) * 2006-05-10 2010-12-07 Nuance Communications, Inc. VOIP barge-in support for half-duplex DSR client on a full-duplex network
US8332218B2 (en) * 2006-06-13 2012-12-11 Nuance Communications, Inc. Context-based grammars for automated speech recognition
US7676371B2 (en) * 2006-06-13 2010-03-09 Nuance Communications, Inc. Oral modification of an ASR lexicon of an ASR engine
US8589869B2 (en) 2006-09-07 2013-11-19 Wolfram Alpha Llc Methods and systems for determining a formula
US8145493B2 (en) 2006-09-11 2012-03-27 Nuance Communications, Inc. Establishing a preferred mode of interaction between a user and a multimodal application
US8374874B2 (en) 2006-09-11 2013-02-12 Nuance Communications, Inc. Establishing a multimodal personality for a multimodal application in dependence upon attributes of user interaction
US8086463B2 (en) 2006-09-12 2011-12-27 Nuance Communications, Inc. Dynamically generating a vocal help prompt in a multimodal application
US7957976B2 (en) * 2006-09-12 2011-06-07 Nuance Communications, Inc. Establishing a multimodal advertising personality for a sponsor of a multimodal application
US8073697B2 (en) 2006-09-12 2011-12-06 International Business Machines Corporation Establishing a multimodal personality for a multimodal application
US7827033B2 (en) 2006-12-06 2010-11-02 Nuance Communications, Inc. Enabling grammars in web page frames
US8069047B2 (en) * 2007-02-12 2011-11-29 Nuance Communications, Inc. Dynamically defining a VoiceXML grammar in an X+V page of a multimodal application
US8150698B2 (en) * 2007-02-26 2012-04-03 Nuance Communications, Inc. Invoking tapered prompts in a multimodal application
US7801728B2 (en) 2007-02-26 2010-09-21 Nuance Communications, Inc. Document session replay for multimodal applications
US7822608B2 (en) * 2007-02-27 2010-10-26 Nuance Communications, Inc. Disambiguating a speech recognition grammar in a multimodal application
US8938392B2 (en) * 2007-02-27 2015-01-20 Nuance Communications, Inc. Configuring a speech engine for a multimodal application based on location
US20080208586A1 (en) * 2007-02-27 2008-08-28 Soonthorn Ativanichayaphong Enabling Natural Language Understanding In An X+V Page Of A Multimodal Application
US8713542B2 (en) * 2007-02-27 2014-04-29 Nuance Communications, Inc. Pausing a VoiceXML dialog of a multimodal application
US9208783B2 (en) * 2007-02-27 2015-12-08 Nuance Communications, Inc. Altering behavior of a multimodal application based on location
US20080208589A1 (en) * 2007-02-27 2008-08-28 Cross Charles W Presenting Supplemental Content For Digital Media Using A Multimodal Application
US7809575B2 (en) * 2007-02-27 2010-10-05 Nuance Communications, Inc. Enabling global grammars for a particular multimodal application
US7840409B2 (en) * 2007-02-27 2010-11-23 Nuance Communications, Inc. Ordering recognition results produced by an automatic speech recognition engine for a multimodal application
US8843376B2 (en) 2007-03-13 2014-09-23 Nuance Communications, Inc. Speech-enabled web content searching using a multimodal browser
US7945851B2 (en) * 2007-03-14 2011-05-17 Nuance Communications, Inc. Enabling dynamic voiceXML in an X+V page of a multimodal application
US8515757B2 (en) 2007-03-20 2013-08-20 Nuance Communications, Inc. Indexing digitized speech with words represented in the digitized speech
US8670987B2 (en) * 2007-03-20 2014-03-11 Nuance Communications, Inc. Automatic speech recognition with dynamic grammar rules
US20080235029A1 (en) * 2007-03-23 2008-09-25 Cross Charles W Speech-Enabled Predictive Text Selection For A Multimodal Application
US8909532B2 (en) * 2007-03-23 2014-12-09 Nuance Communications, Inc. Supporting multi-lingual user interaction with a multimodal application
US8788620B2 (en) * 2007-04-04 2014-07-22 International Business Machines Corporation Web service support for a multimodal client processing a multimodal application
US8862475B2 (en) * 2007-04-12 2014-10-14 Nuance Communications, Inc. Speech-enabled content navigation and control of a distributed multimodal browser
US8725513B2 (en) * 2007-04-12 2014-05-13 Nuance Communications, Inc. Providing expressive user interaction with a multimodal application
US9794348B2 (en) 2007-06-04 2017-10-17 Todd R. Smith Using voice commands from a mobile device to remotely access and control a computer
US8595642B1 (en) 2007-10-04 2013-11-26 Great Northern Research, LLC Multiple shell multi faceted graphical user 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
US8700385B2 (en) * 2008-04-04 2014-04-15 Microsoft Corporation Providing a task description name space map for the information worker
US9349367B2 (en) * 2008-04-24 2016-05-24 Nuance Communications, Inc. Records disambiguation in a multimodal application operating on a multimodal device
US8229081B2 (en) * 2008-04-24 2012-07-24 International Business Machines Corporation Dynamically publishing directory information for a plurality of interactive voice response systems
US8082148B2 (en) 2008-04-24 2011-12-20 Nuance Communications, Inc. Testing a grammar used in speech recognition for reliability in a plurality of operating environments having different background noise
US8214242B2 (en) * 2008-04-24 2012-07-03 International Business Machines Corporation Signaling correspondence between a meeting agenda and a meeting discussion
US8121837B2 (en) * 2008-04-24 2012-02-21 Nuance Communications, Inc. Adjusting a speech engine for a mobile computing device based on background noise
JP4973722B2 (en) * 2009-02-03 2012-07-11 株式会社デンソー Voice recognition apparatus, voice recognition method, and navigation apparatus
US8380513B2 (en) * 2009-05-19 2013-02-19 International Business Machines Corporation Improving speech capabilities of a multimodal application
US9002713B2 (en) 2009-06-09 2015-04-07 At&T Intellectual Property I, L.P. System and method for speech personalization by need
US8290780B2 (en) 2009-06-24 2012-10-16 International Business Machines Corporation Dynamically extending the speech prompts of a multimodal application
US8510117B2 (en) * 2009-07-09 2013-08-13 Nuance Communications, Inc. Speech enabled media sharing in a multimodal application
US8416714B2 (en) * 2009-08-05 2013-04-09 International Business Machines Corporation Multimodal teleconferencing
US9111538B2 (en) * 2009-09-30 2015-08-18 T-Mobile Usa, Inc. Genius button secondary commands
US8995625B2 (en) * 2009-09-30 2015-03-31 T-Mobile Usa, Inc. Unified interface and routing module for handling audio input
EP2531999A4 (en) * 2010-02-05 2017-03-29 Nuance Communications, Inc. Language context sensitive command system and method
US8370157B2 (en) 2010-07-08 2013-02-05 Honeywell International Inc. Aircraft speech recognition and voice training data storage and retrieval methods and apparatus
US9183835B2 (en) * 2011-10-18 2015-11-10 GM Global Technology Operations LLC Speech-based user interface for a mobile device
US9159322B2 (en) * 2011-10-18 2015-10-13 GM Global Technology Operations LLC Services identification and initiation for a speech-based interface to a mobile device
US9851950B2 (en) 2011-11-15 2017-12-26 Wolfram Alpha Llc Programming in a precise syntax using natural language
US8954330B2 (en) * 2011-11-28 2015-02-10 Microsoft Corporation Context-aware interaction system using a semantic model
WO2013102892A1 (en) * 2012-01-06 2013-07-11 Technologies Of Voice Interface Ltd A system and method for generating personalized sensor-based activation of software
US20130294617A1 (en) * 2012-05-03 2013-11-07 Motorola Mobility Llc Coupling an Electronic Skin Tattoo to a Mobile Communication Device
US20130297301A1 (en) * 2012-05-03 2013-11-07 Motorola Mobility, Inc. Coupling an electronic skin tattoo to a mobile communication device
KR20130133629A (en) 2012-05-29 2013-12-09 삼성전자주식회사 Method and apparatus for executing voice command in electronic device
US9582498B2 (en) * 2014-09-12 2017-02-28 Microsoft Technology Licensing, Llc Actions on digital document elements from voice
US20160124937A1 (en) * 2014-11-03 2016-05-05 Service Paradigm Pty Ltd Natural language execution system, method and computer readable medium
US20160372112A1 (en) * 2015-06-18 2016-12-22 Amgine Technologies (Us), Inc. Managing Interactions between Users and Applications
US10339481B2 (en) * 2016-01-29 2019-07-02 Liquid Analytics, Inc. Systems and methods for generating user interface-based service workflows utilizing voice data
JP2019057123A (en) * 2017-09-21 2019-04-11 株式会社東芝 Dialog system, method, and program
US20190102484A1 (en) * 2017-10-04 2019-04-04 Gamalon, Inc. Interaction personalization system and method
US11955120B1 (en) * 2019-01-31 2024-04-09 Alan AI, Inc. Systems and methods for integrating voice controls into applications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648249A (en) * 1970-12-08 1972-03-07 Ibm Audio-responsive visual display system incorporating audio and digital information segmentation and coordination
US5895447A (en) * 1996-02-02 1999-04-20 International Business Machines Corporation Speech recognition using thresholded speaker class model selection or model adaptation
US5970457A (en) * 1995-10-25 1999-10-19 Johns Hopkins University Voice command and control medical care system
US6088669A (en) * 1997-01-28 2000-07-11 International Business Machines, Corporation Speech recognition with attempted speaker recognition for speaker model prefetching or alternative speech modeling

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827520A (en) * 1987-01-16 1989-05-02 Prince Corporation Voice actuated control system for use in a vehicle
US5774859A (en) * 1995-01-03 1998-06-30 Scientific-Atlanta, Inc. Information system having a speech interface
US5864819A (en) * 1996-11-08 1999-01-26 International Business Machines Corporation Internal window object tree method for representing graphical user interface applications for speech navigation
US6208971B1 (en) * 1998-10-30 2001-03-27 Apple Computer, Inc. Method and apparatus for command recognition using data-driven semantic inference
US6208972B1 (en) * 1998-12-23 2001-03-27 Richard Grant Method for integrating computer processes with an interface controlled by voice actuated grammars
US6606599B2 (en) * 1998-12-23 2003-08-12 Interactive Speech Technologies, Llc Method for integrating computing processes with an interface controlled by voice actuated grammars

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648249A (en) * 1970-12-08 1972-03-07 Ibm Audio-responsive visual display system incorporating audio and digital information segmentation and coordination
US5970457A (en) * 1995-10-25 1999-10-19 Johns Hopkins University Voice command and control medical care system
US5895447A (en) * 1996-02-02 1999-04-20 International Business Machines Corporation Speech recognition using thresholded speaker class model selection or model adaptation
US6088669A (en) * 1997-01-28 2000-07-11 International Business Machines, Corporation Speech recognition with attempted speaker recognition for speaker model prefetching or alternative speech modeling

Cited By (221)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646614B2 (en) 2000-03-16 2017-05-09 Apple Inc. Fast, language-independent method for user authentication by voice
US8718047B2 (en) 2001-10-22 2014-05-06 Apple Inc. Text to speech conversion of text messages from mobile communication devices
US9501741B2 (en) 2005-09-08 2016-11-22 Apple Inc. Method and apparatus for building an intelligent automated assistant
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US10318871B2 (en) 2005-09-08 2019-06-11 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9117447B2 (en) 2006-09-08 2015-08-25 Apple Inc. Using event alert text as input to an automated assistant
US8942986B2 (en) 2006-09-08 2015-01-27 Apple Inc. Determining user intent based on ontologies of domains
US8930191B2 (en) 2006-09-08 2015-01-06 Apple Inc. Paraphrasing of user requests and results by automated digital assistant
US10568032B2 (en) 2007-04-03 2020-02-18 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US9053089B2 (en) 2007-10-02 2015-06-09 Apple Inc. Part-of-speech tagging using latent analogy
US11023513B2 (en) 2007-12-20 2021-06-01 Apple Inc. Method and apparatus for searching using an active ontology
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US10381016B2 (en) 2008-01-03 2019-08-13 Apple Inc. Methods and apparatus for altering audio output signals
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8688446B2 (en) 2008-02-22 2014-04-01 Apple Inc. Providing text input using speech data and non-speech data
US9361886B2 (en) 2008-02-22 2016-06-07 Apple Inc. Providing text input using speech data and non-speech data
US9865248B2 (en) 2008-04-05 2018-01-09 Apple Inc. Intelligent text-to-speech conversion
US9626955B2 (en) 2008-04-05 2017-04-18 Apple Inc. Intelligent text-to-speech conversion
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US9946706B2 (en) 2008-06-07 2018-04-17 Apple Inc. Automatic language identification for dynamic text processing
US9535906B2 (en) 2008-07-31 2017-01-03 Apple Inc. Mobile device having human language translation capability with positional feedback
US10108612B2 (en) 2008-07-31 2018-10-23 Apple Inc. Mobile device having human language translation capability with positional feedback
US9691383B2 (en) 2008-09-05 2017-06-27 Apple Inc. Multi-tiered voice feedback in an electronic device
US8768702B2 (en) 2008-09-05 2014-07-01 Apple Inc. Multi-tiered voice feedback in an electronic device
US8898568B2 (en) 2008-09-09 2014-11-25 Apple Inc. Audio user interface
US8712776B2 (en) 2008-09-29 2014-04-29 Apple Inc. Systems and methods for selective text to speech synthesis
US8762469B2 (en) 2008-10-02 2014-06-24 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10643611B2 (en) 2008-10-02 2020-05-05 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8713119B2 (en) 2008-10-02 2014-04-29 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11900936B2 (en) 2008-10-02 2024-02-13 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8862252B2 (en) 2009-01-30 2014-10-14 Apple Inc. Audio user interface for displayless electronic device
US8751238B2 (en) 2009-03-09 2014-06-10 Apple Inc. Systems and methods for determining the language to use for speech generated by a text to speech engine
US10540976B2 (en) 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US10795541B2 (en) 2009-06-05 2020-10-06 Apple Inc. Intelligent organization of tasks items
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10475446B2 (en) 2009-06-05 2019-11-12 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US11080012B2 (en) 2009-06-05 2021-08-03 Apple Inc. Interface for a virtual digital assistant
GB2472482A (en) * 2009-06-05 2011-02-09 Apple Inc Contextual voice command control of a device
GB2472482B (en) * 2009-06-05 2011-09-21 Apple Inc Contextual voice commands
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US10283110B2 (en) 2009-07-02 2019-05-07 Apple Inc. Methods and apparatuses for automatic speech recognition
US8682649B2 (en) 2009-11-12 2014-03-25 Apple Inc. Sentiment prediction from textual data
US9311043B2 (en) 2010-01-13 2016-04-12 Apple Inc. Adaptive audio feedback system and method
US8670985B2 (en) 2010-01-13 2014-03-11 Apple Inc. Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8799000B2 (en) 2010-01-18 2014-08-05 Apple Inc. Disambiguation based on active input elicitation by intelligent automated assistant
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8660849B2 (en) 2010-01-18 2014-02-25 Apple Inc. Prioritizing selection criteria by automated assistant
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US8670979B2 (en) 2010-01-18 2014-03-11 Apple Inc. Active input elicitation by intelligent automated assistant
US9548050B2 (en) 2010-01-18 2017-01-17 Apple Inc. Intelligent automated assistant
US8731942B2 (en) 2010-01-18 2014-05-20 Apple Inc. Maintaining context information between user interactions with a voice assistant
US10706841B2 (en) 2010-01-18 2020-07-07 Apple Inc. Task flow identification based on user intent
US8892446B2 (en) 2010-01-18 2014-11-18 Apple Inc. Service orchestration for intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8706503B2 (en) 2010-01-18 2014-04-22 Apple Inc. Intent deduction based on previous user interactions with voice assistant
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US8903716B2 (en) 2010-01-18 2014-12-02 Apple Inc. Personalized vocabulary for digital assistant
US11410053B2 (en) 2010-01-25 2022-08-09 Newvaluexchange Ltd. Apparatuses, methods and systems for a digital conversation management platform
US10607141B2 (en) 2010-01-25 2020-03-31 Newvaluexchange Ltd. Apparatuses, methods and systems for a digital conversation management platform
US10607140B2 (en) 2010-01-25 2020-03-31 Newvaluexchange Ltd. Apparatuses, methods and systems for a digital conversation management platform
US10984327B2 (en) 2010-01-25 2021-04-20 New Valuexchange Ltd. Apparatuses, methods and systems for a digital conversation management platform
US10984326B2 (en) 2010-01-25 2021-04-20 Newvaluexchange Ltd. Apparatuses, methods and systems for a digital conversation management platform
US9633660B2 (en) 2010-02-25 2017-04-25 Apple Inc. User profiling for voice input processing
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9190062B2 (en) 2010-02-25 2015-11-17 Apple Inc. User profiling for voice input processing
US10049675B2 (en) 2010-02-25 2018-08-14 Apple Inc. User profiling for voice input processing
US8713021B2 (en) 2010-07-07 2014-04-29 Apple Inc. Unsupervised document clustering using latent semantic density analysis
US8719006B2 (en) 2010-08-27 2014-05-06 Apple Inc. Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis
US9075783B2 (en) 2010-09-27 2015-07-07 Apple Inc. Electronic device with text error correction based on voice recognition data
US8719014B2 (en) 2010-09-27 2014-05-06 Apple Inc. Electronic device with text error correction based on voice recognition data
US10515147B2 (en) 2010-12-22 2019-12-24 Apple Inc. Using statistical language models for contextual lookup
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US8781836B2 (en) 2011-02-22 2014-07-15 Apple Inc. Hearing assistance system for providing consistent human speech
US10102359B2 (en) 2011-03-21 2018-10-16 Apple Inc. Device access using voice authentication
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10672399B2 (en) 2011-06-03 2020-06-02 Apple Inc. Switching between text data and audio data based on a mapping
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US8812294B2 (en) 2011-06-21 2014-08-19 Apple Inc. Translating phrases from one language into another using an order-based set of declarative rules
US8706472B2 (en) 2011-08-11 2014-04-22 Apple Inc. Method for disambiguating multiple readings in language conversion
US9798393B2 (en) 2011-08-29 2017-10-24 Apple Inc. Text correction processing
US8762156B2 (en) 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9953088B2 (en) 2012-05-14 2018-04-24 Apple Inc. Crowd sourcing information to fulfill user requests
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US8775442B2 (en) 2012-05-15 2014-07-08 Apple Inc. Semantic search using a single-source semantic model
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US10079014B2 (en) 2012-06-08 2018-09-18 Apple Inc. Name recognition system
US10019994B2 (en) 2012-06-08 2018-07-10 Apple Inc. Systems and methods for recognizing textual identifiers within a plurality of words
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9971774B2 (en) 2012-09-19 2018-05-15 Apple Inc. Voice-based media searching
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US8935167B2 (en) 2012-09-25 2015-01-13 Apple Inc. Exemplar-based latent perceptual modeling for automatic speech recognition
US10978090B2 (en) 2013-02-07 2021-04-13 Apple Inc. Voice trigger for a digital assistant
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9733821B2 (en) 2013-03-14 2017-08-15 Apple Inc. Voice control to diagnose inadvertent activation of accessibility features
US9977779B2 (en) 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
US10572476B2 (en) 2013-03-14 2020-02-25 Apple Inc. Refining a search based on schedule items
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US10642574B2 (en) 2013-03-14 2020-05-05 Apple Inc. Device, method, and graphical user interface for outputting captions
US10078487B2 (en) 2013-03-15 2018-09-18 Apple Inc. Context-sensitive handling of interruptions
US11151899B2 (en) 2013-03-15 2021-10-19 Apple Inc. User training by intelligent digital assistant
US9922642B2 (en) 2013-03-15 2018-03-20 Apple Inc. Training an at least partial voice command system
US9697822B1 (en) 2013-03-15 2017-07-04 Apple Inc. System and method for updating an adaptive speech recognition model
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
US9966060B2 (en) 2013-06-07 2018-05-08 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9620104B2 (en) 2013-06-07 2017-04-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9633674B2 (en) 2013-06-07 2017-04-25 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US10657961B2 (en) 2013-06-08 2020-05-19 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US9966068B2 (en) 2013-06-08 2018-05-08 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
US10185542B2 (en) 2013-06-09 2019-01-22 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9300784B2 (en) 2013-06-13 2016-03-29 Apple Inc. System and method for emergency calls initiated by voice command
US10791216B2 (en) 2013-08-06 2020-09-29 Apple Inc. Auto-activating smart responses based on activities from remote devices
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10497365B2 (en) 2014-05-30 2019-12-03 Apple Inc. Multi-command single utterance input method
US11257504B2 (en) 2014-05-30 2022-02-22 Apple Inc. Intelligent assistant for home automation
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US10083690B2 (en) 2014-05-30 2018-09-25 Apple Inc. Better resolution when referencing to concepts
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10169329B2 (en) 2014-05-30 2019-01-01 Apple Inc. Exemplar-based natural language processing
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US10904611B2 (en) 2014-06-30 2021-01-26 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9668024B2 (en) 2014-06-30 2017-05-30 Apple Inc. Intelligent automated assistant for TV user interactions
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
US10431204B2 (en) 2014-09-11 2019-10-01 Apple Inc. Method and apparatus for discovering trending terms in speech requests
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
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9986419B2 (en) 2014-09-30 2018-05-29 Apple Inc. Social reminders
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US11556230B2 (en) 2014-12-02 2023-01-17 Apple Inc. Data detection
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10311871B2 (en) 2015-03-08 2019-06-04 Apple Inc. Competing devices responding to voice triggers
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
US11087759B2 (en) 2015-03-08 2021-08-10 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10356243B2 (en) 2015-06-05 2019-07-16 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
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
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
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
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US11069347B2 (en) 2016-06-08 2021-07-20 Apple Inc. Intelligent automated assistant for media exploration
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10354011B2 (en) 2016-06-09 2019-07-16 Apple Inc. Intelligent automated assistant in a home environment
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10733993B2 (en) 2016-06-10 2020-08-04 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10297253B2 (en) 2016-06-11 2019-05-21 Apple Inc. Application integration with a digital assistant
US11152002B2 (en) 2016-06-11 2021-10-19 Apple Inc. Application integration with a digital assistant
US10521466B2 (en) 2016-06-11 2019-12-31 Apple Inc. Data driven natural language event detection and classification
US10089072B2 (en) 2016-06-11 2018-10-02 Apple Inc. Intelligent device arbitration and control
US10269345B2 (en) 2016-06-11 2019-04-23 Apple Inc. Intelligent task discovery
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10553215B2 (en) 2016-09-23 2020-02-04 Apple Inc. Intelligent automated assistant
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10755703B2 (en) 2017-05-11 2020-08-25 Apple Inc. Offline personal assistant
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US10791176B2 (en) 2017-05-12 2020-09-29 Apple Inc. Synchronization and task delegation of a digital assistant
US10410637B2 (en) 2017-05-12 2019-09-10 Apple Inc. User-specific acoustic models
US10810274B2 (en) 2017-05-15 2020-10-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10482874B2 (en) 2017-05-15 2019-11-19 Apple Inc. Hierarchical belief states for digital assistants
US11217255B2 (en) 2017-05-16 2022-01-04 Apple Inc. Far-field extension for digital assistant services

Also Published As

Publication number Publication date
US20040249640A1 (en) 2004-12-09
US20020065654A1 (en) 2002-05-30
US7188067B2 (en) 2007-03-06
US6606599B2 (en) 2003-08-12

Similar Documents

Publication Publication Date Title
US6208972B1 (en) Method for integrating computer processes with an interface controlled by voice actuated grammars
US6606599B2 (en) Method for integrating computing processes with an interface controlled by voice actuated grammars
US8630858B2 (en) Methods and apparatus for initiating actions using a voice-controlled interface
US11599332B1 (en) Multiple shell multi faceted graphical user interface
US8996375B1 (en) Speech interface system and method for control and interaction with applications on a computing system
US9805723B1 (en) Method for processing the output of a speech recognizer
EP1076288B1 (en) Method and system for multi-client access to a dialog system
US7085723B2 (en) System and method for determining utterance context in a multi-context speech application
CA2618547C (en) Use of multiple speech recognition software instances
KR101066741B1 (en) Semantic object synchronous understanding for highly interactive interface
KR101042119B1 (en) Semantic object synchronous understanding implemented with speech application language tags
MX2007013017A (en) System and method for providing remote automatic speech recognition and text to speech services via a packet network.
US7433823B1 (en) Speech input disambiguation computing system
KR102429407B1 (en) User-configured and customized interactive dialog application
JP7465124B2 (en) Audio processing system, audio processing method, and audio processing program
KR20230118940A (en) Transferring conversational data from an initial on-call automated assistant to a subsequent on-call automated assistant
Paraiso et al. Voice Activated Information Entry: Technical Aspects

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP