WO2015116151A1 - Voice input command - Google Patents
Voice input command Download PDFInfo
- Publication number
- WO2015116151A1 WO2015116151A1 PCT/US2014/014091 US2014014091W WO2015116151A1 WO 2015116151 A1 WO2015116151 A1 WO 2015116151A1 US 2014014091 W US2014014091 W US 2014014091W WO 2015116151 A1 WO2015116151 A1 WO 2015116151A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- command
- electronic device
- voice input
- text structure
- new
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Definitions
- Figure 1 is a schematic illustration of an example of an electronic device in accordance with an implementation of the present disclosure.
- Figure 2 illustrates a flow chart showing an example of a method for controlling the operations of an elecironic device with voice commands in accordance with an implementation of the present disclosure.
- Figure 3 illustrates a flow chart showing an example of a method for comparing a text structure from a users voice input to a plurality of existing text structures in accordance with an implementation of the present disclosure.
- Figures 4 illustrates a flow chart showing an example of a context perception method for connecting at least two sequential voice inputs from a user to identify a command in accordance with an implementation of the present disclosure.
- Figure 5 illustrates a flow chart showing an example of a method for identifying a command to correspond to at least one voice input from a user when there is no direct match with an existing command in accordance with an implementation of the present disclosure.
- Figure 6 illustrates a flow chart showing an example of an alternative method for controlling the operations of an electronic device with voice commands in
- Figure 7 itiustrates a flow chart showing an example of a method for creating a new voice command for an electronic device in accordance with an impiemeniation of the present disclosure.
- Figure 8 illustrates a flow chart showing an example of an alternative method for creating a new voice command for an electronic device in accordance with an implementation of the present disclosure.
- Many of the electronic devices include a touchscreen that enables a user to interact with the electronic device and the content displayed on the display screen directly, rattier than indirectly by using an externa! input device (e.g., a mouse).
- the user can utilize the touchscreen to control operations on the eiectronic device, to respond to any displayed content (e.g., messages, emails, etc.), and to control how the content is displayed on the screen (e.g., by zooming the text or image size).
- touchscreen technology does not always perform as intended and it cannot be used in ail occasions. For example, when the user's hands are busy, dirty, or wet, a user may not use his or her fingers to interact with the eiectronic device. In addition, when the user is away from the display touching the display becomes an impossible task.
- Controlling electronic devices via speech provides a great alternative to touchscreen control and allows a fast and easy way for users to interact with the device.
- voice commands to control the eiectronic device allows a user to perform different tasks on the device while his or her hands are still free to perform other activities.
- the present description is directed to systems, methods, and computer readable media for controlling all operations of an eiectronic device with voice commands.
- the present description proposes an approach for voice control of an eiectronic device based on the current context scope (e.g., running application, etc.) of the device and the received voice command(s) from the user.
- the present description ailows navigating and operating the operating system ("OS") of an electronic device with voice by using, creating user commands, and editing user commands. Therefore, the present description does not require a personal assistant application to control specific functions of the electronic device, but spreads voice control functionality through the entire OS of the electronic device so a user may provide commands anytime and anywhere without going back to a specific application.
- OS operating system
- the disclosed systems, methods, and computer readable media detect voice input from the user of the electronic device and transform it to a text structure. Based on the identified context scope (application, process, etc.) running on the electronic device, the systems, methods, and computer readable media attempt to match the identified text structure with an existing command for the particular context scope. If a matching command is identified, the disclosed systems, methods, and computer readable media perform an action on the electronic device based on the command. Thus, the disclosed systems, methods, and computer readable media may perform various operations on the electronic device that are currently performed with different input devices (e.g., mouse, keyboard, touch input, etc.). Complete navigation through the OS of the device is possible with the proposed systems, methods, and computer readable media.
- input devices e.g., mouse, keyboard, touch input, etc.
- the proposed voice control solution uses various techniques to identify sequential voice inputs from the user and to identify a command based on the relationship of these sequential voice inputs. Further, the techniques described herein may detect a command even when the received voice input from the user is not clearly matched to an existing command by the electronic device. These techniques help a user to better control the operations of the electronic device via voice input.
- the proposed solution also offers a unique process for creating new commands and for editing of existing commands for the electronic device.
- the new commands may be associated with the context scope of the electronic device and may include different actions to be performed on the electronic device at that specific context.
- the disclosure also described techniques for training the electronic device to perform various operations based on voice commands identified by the specific user of the device.
- the techniques described in this description allow a user to operate an electronic device by using voice commands that are identified based on the specific context scope of the electronic device.
- the proposed voice control solution may utilize natural language processing technologies to improve command recognition accuracy.
- the solution offers a concept that can achieve much higher command recognition accuracy and may be easily controlled. Every user may supplement the offered services be creating and editing his or her commands and personalizing the described system to their own needs. This creates a great flexibility to all users and makes the proposed voice control technology very attractive to consumers.
- the proposed voice control solution is applicable to all type of electronic devices but may be especially helpful in interaction with devices that have a large display.
- a method for constructing market segments of consumers is provided.
- the method can be performed by a processor of the electronic device.
- a non- transitory machine-readable storage medium may store computer programs or modules, which when executed by the electronic device cause the method to be performed.
- the method includes detecting at least one voice input from a user of an electronic device, transforming the at least one voice input into a text structure including at least one word, and determining a current context scope of the electronic device.
- the method also includes comparing the text structure to a plurality of existing text structures, where each of the existing text structure is associated with a command for an action on the electronic device.
- the method further includes identifying, when the text structure matches with at least one of the existing text structures, a command to correspond to the at least one voice input from the user, and performing an action on the electronic device based on the identified command.
- a system for constructing market segments of consumers includes an electronsc device having at least one processing device.
- the processing device includes a control unit to create a new command for the electronic device, where the new command is associated with a context scope of the electronic device and includes an action on the electronic device.
- the control unit is also to detect at least one voice input from a user of an electronic device, transform the at least one voice input into a text structure including at least one word, and determine the current context scope of the electronic device.
- the control unit is further to compare the text structure to a plurality of existing text structures and to identify a command when the text structure matches with at least one of the existing text structures.
- a non-transitory machine-readable storage medium encoded with instructions executable by at least one processing device comprises instructions to process at least one voice input received from a user of the electronic device, transform the at least one voice input into a text structure including at least one word, and determine the current context scope of the electronic device.
- the machine-readable storage medium further comprises instructions to determine whether the text structure matches with at least one existing text structure from a plurality of existing text structures that are associated with the current context, and to determine whether the text structure matches with at least one existing text structure from a plurality of existing text structures that are not associated with the current context.
- the machine-readable storage medium also comprises instructions to identify, when the text structure matches with at least one of the existing text structures, a command to correspond to the at least one voice input from the user, and create a new command for the electronic device when the when the text structure does not match with at least one of the existing text structures.
- the new command is associated with the current context scope.
- the term "electronic device” refers to any one of various smartphones, display screens, cellular telephones, tablets, personal data assistants (PDA's), laptops, computers, servers, and other similar electronic devices that include a display, a processor, and are capable of displaying images on the display and are capable of communicating with other electronic devices via wireless or wired
- context scope refers to the context of an electronic device.
- context scope refers to the application, process, or activity that is currently running on the electronic device (e.g., video-sharing application, game, browser, home screen, etc.).
- FIG. 1 is a schematic illustration of an example of an electronic device 10 capable of carrying out the techniques described below.
- the electronic device 10 may be a mobile electronic device (e.g., a smartphone), a stationary electronic device (e.g., a desktop computer, a display screen etc.), a convertible electronic device (e.g., a convertible laptop), or any other type of electronic device.
- a mobile electronic device e.g., a smartphone
- a stationary electronic device e.g., a desktop computer, a display screen etc.
- a convertible electronic device e.g., a convertible laptop
- the electronic device 10 may be a tablet, a laptop, a personal computer, an all in one computing device, a gaming console, a server, a smartphone, a music player, a visual player, a personal digital assistant (PDA), a cellular telephone, an electronic notepad, a plurality of distributed computing devices, or any other suitable electronic device that includes a display and a processor.
- the electronic device 10 includes at least one processing device 30 (also called a processor), a display 32, a memory resource 35, input interface(s) 45, and communication interface 50.
- the electronic device 10 includes additional, fewer, or different components for carrying out the functionality described herein.
- the electronic device 10 includes software, hardware, or a suitable combination thereof configured to enable functionality of the electronic device 10 and to allow it to carry the techniques described below and to interact with the one or more external systems/devices.
- the electronic device 10 includes communication interfaces (e.g., a Wi-Fi® interface, a Bluetooth® interface, a 3G interface, a 4G interface, a near filed communication (NFC) interface, etc.) that are used to connect with external devices/systems and/or to a network (not shown).
- the network may include any suitable type or configuration of network to allow for communication between the electronic device 10 and any external devices/systems.
- the electronic device 10 can communicate with at least one electronic device 15 (e.g., a smartphone, a computing device, a server, a plurality of distributed computing devices, etc.) for remote voice control of the electronic device 10.
- the electronic device 10 may also communicate with an externa! database 20 to retrieve data related " to operating commands for the device 10 or related to other processes described herein, ft is to be understood that the operations described as being performed by the electronic device 10 that are related to this description may, in some implementations, be performed or distributed between the electronic device 10 and other computing devices (not shown).
- the processing device 30 of the electronic device 10 e.g., a central processing unit, a group of distributed processors, a microprocessor, a microcontroller, an application-specific integrated circuit (ASiC), a graphics processor, a multiprocessor, a virtual processor, a cloud processing system, or another suitable controller or
- a central processing unit e.g., a central processing unit, a group of distributed processors, a microprocessor, a microcontroller, an application-specific integrated circuit (ASiC), a graphics processor, a multiprocessor, a virtual processor, a cloud processing system, or another suitable controller or
- the memory resource 35 the input interfaces 45, and the communication interface 50 are operativeiy coupled to a bus 55.
- the display 32 provides visual information to a user, such as various display windows, icons, tabs, video images, pictures, etc.
- the display 32 may also display content from different applications running on the electronic device 10 on a window shown on the display screen.
- the display 32 may be a transparent liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display, or any other suitable display.
- the display 32 may be part of the electronic device 10 (e.g., when the electronic device 10 is tablet or all in one device), may be a separated component that is in electronic communication with the electronic device 10 (e.g., when the electronic device is a desktop computer with a separate monitor), and may be a detachable component that may also be used as a handheld device (e.g., when the electronic device 10 is a convertible computing device).
- the display 32 may be of different sizes and may support various types of display resolution.
- the communication interface 50 allows the electronic device 10 to
- the input interfaces 45 can receive information from any internal or external devices/systems in communication with the electronic device 10.
- the input interfaces 45 include at least a data interface 80.
- the input interfaces 45 can include additional interfaces.
- the data interface 60 may receive voice inputs (e.g., from the user of the electronic device or form an external electronic device 15 ⁇ or communications from the external database 20.
- the processor 30 includes a controller 33 (aiso called a control unit) and may be implemented using any suitable type of processing system where at least one processor executes computer-readable instructions stored in the memory 35.
- the memory resource 35 includes any suitable type, number, and configuration of volatile or non-transitory machine-readable storage media 37 to store instructions and data.
- Examples of machine-readable storage media 37 in the memory 35 include read-only memory (“ROM” ⁇ , random access memory (“RAM”) (e.g., dynamic RAM (“DRAM”), synchronous DRAM ["SDRAM”], etc.), electrically erasable programmable read-only memory (“EEPROM”), flash memory, an SD card, and other suitable magnetic, optical, physical, or electronic memory devices.
- ROM read-only memory
- RAM random access memory
- EEPROM electrically erasable programmable read-only memory
- flash memory an SD card, and other suitable magnetic, optical, physical, or electronic memory devices.
- the memory resource 35 may aiso be used for storing temporary variables or other intermediate information during execution of instructions to by the processor 30.
- the memory 35 may also store an operating system 70 and network applications 75.
- the operating system 70 can be multi-user, multiprocessing, multitasking, multithreading, and real-time.
- the operating system 70 can also perform basic tasks such as recognizing input from input devices, such as a keyboard, a keypad, a mouse, a voice input from a user, etc.; sending output to a projector and a camera; keeping track of files and directories on memory 35; controlling peripheral devices, such as printers, image capture device; and managing traffic on the bus 55.
- the network applications 75 include various components for establishing and
- Software stored on the non-transitory machine-readable storage media 37 and executed by the processor 30 includes, for example, firmware, applications, program data, filters, rules, program modules, and other executable instructions.
- the control unit 33 retrieves from the machine-readable storage media 37 and executes, among other things, instructions related to the control processes and methods
- the instructions stored in the non-transitory machine- readable storage media 37 implement a context scope determination module 39, a command identification module 40, a command creation module 41 , and a command execution module 42.
- the instructions can implement more or fewer modules (e.g., various other modules related to the operation of the device 10).
- modules 39-42 may be implemented with electronic circuitry used to carry out the functionality described below.
- modules 39- 42 may be implemented as a series of instructions encoded on a machine- readable storage medium and executable by a processor.
- modules 39-42 may be pre-snstailed on the device 10 as a part of the OS of the device.
- modules 39-41 may be downloaded to the device 10 (e.g., from a cloud).
- the processes implemented by modules 39-42 may be executed on the device 10 or in remote processing devices in communication with the device 10.
- context scope determination module 39 determines the current context scope of the electronic device after a new voice input is received at the device 10.
- the command identification module 40 identifies a command for the electronic device based on the received voice input (which is converted to text) and the context scope of the device 10.
- the command creation module 41 creates new commands for the electronic device based on the received voice input and the context scope of the device 10.
- the command execution module 42 performs at least one action on the electronic device 10 based on the identified command.
- the memory 35 may include at least one database 80.
- the electronic device 10 may access externa! database ⁇ e.g., database 20) that may be stored remotely of the eiecironic device 10 (e.g., can be accessed via a network, or a cloud).
- Figure 2 illustrates a flow chart showing an example of a method 100 for controiiing the operations of an eiecironic device with voice commands.
- the operations may invofve performing at least one action on the electronic device 10 based on the voice input command, in one example, the method 100 can be executed by the control unit 33 of the processor 30 of the electronic device 10.
- Various elements or blocks described herein with respect to the method 100 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution.
- the method 100 is also capable of being executed using additional or fewer elements than are shown in the illustrated examples.
- the method 100 may be executed in the form of instructions encoded on a non-transitory machine-readable storage medium 37 executable by the processor 30 of the electronic device 10.
- the instructions for the method 100 implement the context scope determination module 39, the command identification module 40, the command creation module 41 , and the command execution module 42.
- the execution of the method 100 may be distributed between the processing device 30 and other processing devices in communication with the processing device 30.
- the method 100 begins at block 110, where the processor 30 detects at least one voice input from a user of an electronic device 10.
- the user may directly provide the voice input to the device (e.g., by speaking at the device 10).
- the voice input may be provided remotely.
- a user may utilize another device (e.g., the electronic device 15 ⁇ that is in communication with the device 10 to provide voice input to the device 10.
- the user may provide voice input to the device 15 that transmits the voice input to the electronic device 10 (e.g., via a communication interface). That allows the user to perform remote voice control of the device 10.
- the contra! unit 33 of the processor 30 uses existing voice recognition tools and/or applications to detect the at least one input from the user.
- speech recognition fools may be provided by one of t e modules 39- 42.
- the voice input from the user may include at least one word or a phrase that is intended to control the operation of the device 10 and to perform an action on the device 10.
- Voice inputs by the user may include: "open notification,” “open quick settings,” scroll down,” scroll up,” “take a screenshot,” “close dialog,” and other inputs.
- the control unit 33 transforms the at least one voice input into a text structure that includes at least one word.
- the control unit 33 uses the existing voice recognition tool or application on the device 10 to transform the voice input to a text structure.
- the control unit 33 determines a current context scope of the electronic device. This may be performed by the context scope determination module 39.
- the current coniext scope of the electronic device is the application, process, or activity that is currently running on the device or is being performed by the device. For example, if the user is browsing the Internet with the device 10, the current context scope is the browser. If the user is watching a video on a video-sharing website, the current context scope is that video-sharing website. When the user is at the home screen of the device 10, the current context scope is the home screen of the device. Determining the current context scope of the device 10 benefits the described process because the processor 30 may analyze the voice input much more accurately based on the context scope of the device. As explained in additional details below, every voice command may be associated to a distinct action depending on the context scope of the device 10.
- the control unit 33 compares the text structure from the user's voice input to a plurality of existing text structures (at 140). Steps 140 and 150 may be performed by the command identification module 39.
- Each of the existing text structures may be associated with a command for an action on the electronic device.
- the plurality of existing text structures are local," and they are associated with a specific context scope of the electronic device 10 (e.g., home screen, application, browser, etc.).
- a plurality of predetermined text structures may be associated with each of the possible context scopes of the electronic device.
- these existing text structures represent commands that may be performed on!y at the specific context space (i;e., application, etc.).
- existing text structures i.e., commands
- existing text structures may include: “move down, scroll down, scroll to the bottom, scroll up, move up, up, down, more, go to the top, go to the bottom, go to the top of the page, go to, forward, go forward, move forsvard, refresh, reload, refresh the page, refresh page, reload the page, reioad page, page reload, stop loading, etc.”
- existing text structures for a camera appiication may include: “shoot, photos, print, share, etc.”
- Other context scopes of the device 10 may have a different plurality of existing text struciures assodated with them.
- existing text structures may not be associated with a current context scope of the electronic devsce 10.
- These existing text structures may be "global" text structures that represent commands that may be performed on a system level and may not only available for a specific application.
- Such "global” text structures may include: "open notifications, open notification, clear notifications, clear notification, close notifications, close notification, close, back, return, go back, come back, home, home screen, go to home screen, press home button, type "a, b, c...
- some existing text structure may both "local” and “global.”
- the existing text structures may be stored in a database. That may be the be the database 80 of the device 10, the external database 20, or any other externa! database where text structures may be accessed by the processor 30 during the operation of modules 39-42.
- Each of the existing text structures is associated with a command ⁇ also stored in a database) that includes at feast one action for the electronic device ⁇ e.g., open a new tab, etc.).
- a user may perform voice control of the operations of the device 10.
- Figure 3 illustrates a method 200 for comparing the text structure from the user's voice input to a plurality of existing text structures.
- the method 200 can be executed by the control unit 33 of the processor 30.
- Various elements or blocks described herein with respect to the method 200 are capable of being executed simultaneously, in parallel, or i an order that differs from the illustrated serial manner of execution.
- the method 200 is also capable of being executed using additional or fewer eiements than are shown in the illustrated examples.
- the method 200 may be executed in the form of instructions encoded on a non-transitory machine-readable storage medium 37 executable by the processor 30 of the electronic device 10.
- the instructions for the method 100 implement the command identification module 39.
- the method 200 begins at 210, where the control unit 33 compares the text structure from the user s voice input to a plurality of existing text structures associated with the current context scope. For example, if the identified current context scope is a game application, the control unit 33 compares the text structure with existing text structures that are associated with that game application.
- the control unit 33 compares the text structure from the user s voice input to a plurality of existing text structures associated with the current context scope. For example, if the identified current context scope is a game application, the control unit 33 compares the text structure with existing text structures that are associated with that game application.
- control unit 33 determines whether a match exists between the text structure from the user's voice and the existing text structures for the context scope (at 220). if the identified text structure matches to at least one of the plurality of existing text structures associated with the current context scope, the control unit 33 proceeds to step 150 of the method 100.
- the control unit 33 compares the text structure to a plurality of existing text structures that are not associated with the current context scope of the electronic device, when the text structure does not match the existing text structures that are associated with the current context scope of the electronic device 10 (at 230). Thus, the control unit has identified that no existing "local" command matches the user's voice input and moves to analyze the "global" commands. The control unit 33 then
- control unit 33 determines whether a match exists (at 240 ⁇ between the text structure and the existing "global" text structures. If the identified text structure matches to at least one of the plurality of existing text structures that are not associated with the current context scope, the control unit 33 proceeds to step 150 of the method 100. If no match is found, the control unit 33 executes a matching process ⁇ step B) based on a possibility score of the command and a tolerance threshold (described below in relation to Figure 5). Further, if the control unit is unsuccessful with the matching process based on the possibility score of the command and the tolerance threshold, the control unit may create a new command for the electronic device (step C) 5 which is described below in relation to Figures 7 and 8,
- the contra! unit 33 identifies a command to correspond to the at ieast one voice input from the user when the text structure matches with at ieast one of the existing text structures (at 150).
- each of the existing text structures is associated with a command that includes at ieast one action for the electronic device.
- the existing text structures and the associated commands are stored in a database (20, 80, etc.). These databases may be updated with new commands created by a user or supplied by a third party that may offer the described system and processes as a service.
- the commands and the actions associated with the commands are organized as Extensible Markup Language ("XML") files.
- the control unit identifies a command that corresponds to that text structure and, consequently, to the voice input of the user.
- the control unit identifies a command that corresponds to that text structure and, consequently, to the voice input.
- the control unit 33 performs an action on the electronic device 10 based on the identified command. This may be performed with the command execution module 42.
- each command may be associated with a software code ruie that communicates with the OS of the device 10 to execute the command.
- the software rule describes the action (s) that are to be performed by the OS.
- the OS of the device 10 may expose Application Programming interfaces ("APIs") for third-party software, allowing communication with the OS.
- APIs Application Programming interfaces
- the command execution module 42 may send an abstract description of an action or operation to be performed on the device 10 to the OS for launching another application. That abstract description may include the name of the desired application.
- the OS may perform the action of launching the specified application.
- command execution module 42 may directiy communicate with the desired application (e.g., the browser application) to send an abstract description of an action to be performed.
- the application determines what the request is and performs the action (e.g., scroll down).
- the control unit 33 controls the operations of the electronic device 10 based on the user's voice inputs.
- the user may provide a voice input to the device 10, pause for a period of time ⁇ e.g., 5, 10, 15 seconds, etc.), and then provide a sequential voice input that may or may not be related to the first voice input.
- a period of time e.g., 5, 10, 15 seconds, etc.
- this disclosure proposes a method of connecting at least two sequential voice inputs from a user and performing an action based on the connected sequential voice inputs.
- Figure 4 illustrates a context perception method 300 for connecting at least two sequential voice inputs from a user to identify a command.
- the method interprets the relationship between a series (e.g., at least two) consecutive commands by the user.
- the method 300 can be executed by the control unit 33 of the processor 30.
- the method 300 may be executed in the form of instructions encoded on a non-transitory machine-readable storage medium 37 executable by the processor 30 of the electronic device 10.
- the method 300 begins at 305, where the control unit 33 identifies a first command from a first of the at least two sequential voice inputs. Then, the control unit 33 identifies a second command from a second of the at least two sequential voice inputs ⁇ at 310). For instance, the first and the second commands are identified as described is steps 1 10-150 of the method 100. Next, at 315, the control unit 33 determines whether the time between the first voice input and the second voice input exceed a predetermined threshold. That threshold may be set by the user of the device or may be predetermined. In some examples, the threshold may be 5, 10, 15 seconds, or any other reasonable threshold. The purpose of the threshold is determine whether the user has completed inputting (i.e., speaking) the first command and the second command is a new command, or whether the second command is a continuation of the first command.
- a predetermined threshold may be set by the user of the device or may be predetermined. In some examples, the threshold may be 5, 10, 15 seconds, or any other reasonable threshold. The purpose of the threshold is
- control unit 33 determines that time between the first voice input and the second voice input exceed the predetermined threshold, the control unit ends the process, in that situation, the control unit determines that the two commands are not reiated since the second command was received after the predetermined threshold time and, therefore, it is probably a new command by the user.
- the control unit 33 determines whether the second command is a semantic continuation of the first command or it is a new command that is not reiated to the first command ⁇ at 320). If the second command is not a semantic continuation of the first command, the control unit ends the process.
- a first command may be a semantic continuation of a second command, when the second command is a predefined sub command related to the second command.
- Each of the existing commands may include a list of reiated subcommands. Other methods for identifying a semantic continuation between the commands may also be used.
- the control unit determines that the second command is a is a semantic continuation of the first command.
- the "more” command may be identified as a sub command of the "volume down” command. In other words, it is likely that the user would want to execute the "volume down” command again to further lower the volume. In that case, the control unit performs the action associated with the "volume down” command.
- control unit 33 may not be able to directly match the user's voice input to an existing text structure associated with a command. This may due to thai fact that most users prefer to provide unstructured voice commands (i.e., in different forms) instead of memorizing specific preexisting commands.
- the control unit 33 executes a matching process based on a possibility score of the command and a tolerance threshold.
- Figure 5 illustrates a method 400 for identifying a command to correspond to the at least one voice input from the user when there is no direct match with an existing command.
- the method interprets the relationship between a series (e.g., at least two) consecutive commands by the user.
- the method 400 can be executed by the control unit 33 of the processor 30.
- the method 400 may be executed in the form of instructions encoded on a non-transitory machine-readable storage medium 37 executable by the processor 30 of the electronic device 10.
- the method 400 begins at 410, where the control unit 33 computes a possibility score for a target command based on the at least one voice input when the text structure of the at least one voice input does not match with at least one of the existing text structures.
- the control unit 33 identifies a target command and calculates a possibility score for that target command.
- the target command represents a potential match of the text structure with an existing text structure associated with a command.
- the possibility score indicates that possibility that the target command is equivalent to the actual existing command.
- the control unit 33 may use various techniques to identify a target command and to calculate a possibility score for that target command. For example, the control unit 33 may use a keyword match tolerance method, where the target command is very similar to at least one of the existing commands (e.g., the target command is "make a scree nshof where the actual existing command is "take a screenshof and the word "screenshof is a keyword), in another example, the control unit may use a synonym tolerance method to identify the target command (e.g., the target command is "look for x, y, z' : and the actual existing command is "find x, y, z"). The control unit may use a dictionary APi or a word library to find a synonym in an existing text structure in the received text structure.
- control unit 33 may use a spelling mode tolerance method, where a user may activate a "speiP : mode in order to spell a provided
- the control unit 33 maps any homophonic words with single Setters (e.g., “see” to “c,” “you” to “u,” “are” to “r,” etc.)
- a user may speii a command after entering "speii” mode (e.g., by speaking "spell c," “c : “ etc.).
- the control unit may use a pronunciation-alike word tolerance method, where the target command may be pronounced similariy to at least one existing commands (e.g., the target command is "go to command tap” where the actua! existing command is "go to command tab :: ).
- the control unit 33 may select the target command with the highest possibility score to match to an existing command.
- the control unit 33 compares the possibility score of the identified target command to a predetermined tolerance threshold associated with the target command (at 420).
- the control unit determines whether the possibility score of the target command exceeds the tolerance threshoid associated with the target command.
- the controi unit 33 identifies a command from the existing text structures/commands (at 440). Since the control unit already identified the current context scope in 410, only existing text structures in that context or "global" text structures are considered, if, on the other hand, the possibility score of the target command does not exceed the tolerance threshold associated with the target
- control unit 33 ends the process.
- the control unit 33 may make a suggestion to the user of the device 10 regarding the target command. For example, if the text structure from the user's voice input is "create a tab" and the target command is "open a new tab," the control unit may display a message box on the screen 32. The message box may display a message to the user (e.g., B do you want to open a new tab?"), if the user rejects the suggestion, the control unit may propose the command that has the next higher
- the control unit 33 may also propose to create a new command (at 450 ⁇ that includes an action on the electronic device. For example, in the message box, the control unit 33 may display a new command suggestion message ⁇ e.g., "Add "create a tab” command?” ⁇ and present the user with an option to approve the suggested command. Thus, the new command may perform the same action as the target command.
- the controi unit also receives a conformation from the user regarding the validity of the new command ⁇ at 460). That way, the new command is associated with an existing text structure and includes an action on the electronic device (e.g., the action associated with the existing text structure of the target command).
- control unit 33 may implement learning techniques to improve the possibility score for the target command.
- the controi unit applies the learning techniques and calculates a higher possibility score for the "new" voice input command.
- FIG. 6 illustrates a flow chart showing an example of an alternative method 500 for controlling the operations of an electronic device with voice commands.
- the method 500 may be executed with the context scope determination module 39, the command identification module 40, the command creation module 41 , and the command execution module 42.
- These modules may be implemented with electronic circuitry used to carry out the functionality described below.
- modules 39- 42 may be implemented in the form of instructions encoded on a non-transitory machine-readabie storage medium 37 executable by the processor 30 of the electronic device 10.
- the method 500 begins at block 510, where the control unit 33 creates a new command for the electronic device.
- the new command is associated with a context scope of the electronic device and includes an action on the electronic device.
- the new command is saved by the control unit ⁇ e.g., in the database 20, 80, or another database accessible by the processor 30). The specific processes for creating the new command are described below in relation to Figures 7 and 8.
- FIG. 7 iiiustrates a flow chart showing an example of a method 600 for creating a new voice command for the electronic device 10.
- the method 600 may be performed with the command creation module 41.
- the method allows a user quickly navigate through the OS and to create new dynamic commands for specific context scopes of the device 10.
- the method 600 begins at 610, where the control unit 33 receives a new voice input from a user.
- a user may provide a new voice input when he or she intentionally wants to create a new command. In that situation, the user may first provide an initial command to the device 10 to initiate creating a new command (e.g., "new command,” "create a command,” etc.).
- the new voice input may be provided when a user intends to provide a command to the device and such command does not exist in the "local” or the "global" commands available to the processor (see Figure 3).
- the control unit transforms the new voice input into a new text structure. This step is similar to step 120 of the method 100.
- the control unit determines the current context scope of the electronic device (similarly to step 130 of the method 100).
- the control unit 33 identifies a number of occurrences of the new text structure in the current context scope, in other words, the control unit 33 unit determines whether the new text structure matches with a text structure in the current context. For example, if the context is a news website and the new text structure is "sports," the control unit identifies the number of occurrences of "sports" on the displayed website (if "sports" is not identified as one of the existing text structures associated with commands). In that situation, "sports" may be identified a tab on the news website that ieads to the sports webpage.
- the control unit may retrieve text information and the position data for the text information of the context scope (i.e., the displayed news website) directly from the framework of the OS. Alternatively, the control unit may use Optical Character Recognition (OCR”) technology to convert an image of the context scope to text information and position data. That text information and position data is then searched to identify t e number of occurrences of the new text structure
- OCR Optical Character Recognition
- the control unit may identify that the new text structure appears at one location or at multiple location of the context scope.
- the control unit 33 associates the new text structure to the new command for the electronic device when the text structure is identified only once in the current context scope. For example, when the text structure "sports" is identified only once on the news website, the control unit records an action of clicking on the "sports" link in the context space and that action is Iinked with a software code rule associated with the specific command (i.e., "sports").
- the text structure, the command, and the associated software code ruie are stored (e.g., in databases 20, 80, etc.). However, this new dynamic command is only associated with the very specific context scope that was recorded.
- control unit may display a "new command" box that includes the name/text of the command (e.g., "sports"), the action associated with the command, etc. before creating the new command.
- the user may confirm or cancel the new command.
- the control unit creates a trigger between the text structure, the command, and the software code rule Iinked with the action, so when a user speaks the command again in this context scope the action is reproduced.
- This process may be repeated for any inexpressible object (e.g., icons, links, images, etc.) that includes text structure and can be identified by the control unit in the context scope of the device.
- control unit 33 identifies the new text structure more than once in the current context scope
- the control unit 33 identifies a command text structure from the multiple text structures (at 660). For example, when the text structure "sports" is identified at multiple locations on the news website, the control unit 33 may highlight and number all locations of the text structure. The user may then select the preferred location of the new text structure (e.g., by speaking the desired number, etc.). The seiected preferred location is the command text structure.
- the control unit associates the command text structure to the new command. This process is similar to the process described in step 650.
- Figure 8 illustrates a flow chart showing an example of an alternative method 700 for creating a new voice command for the electronic device 10.
- This method may applicabie to creating commands for both actions that may include an act (e.g., tap, swipe, pinch, etc.) on the device 10 and to actions that cover inexpressible objects (e.g., icons, links, images, etc.).
- the method 700 may be performed wit the command creation module 41.
- the method 700 begins at 710, where the control unit 33 transitions the electronic device into a command training mode.
- the user may first provide an initial command to the device 0 to initiate training mode (e.g., "training,” “training mode,” “create new command,” etc.).
- the control unit 33 determines the current context scope of the electronic device 10 (similarly to step 130 of the method 100).
- the control unit identifies an action on the electronic device performed in the current context scope of the device 10. For example, the control unit records an action (e.g., tapping, swiping, pinching, etc.) in the context space that is performed by the user.
- an action e.g., tapping, swiping, pinching, etc.
- the control unit receives a new voice input from the user directed to the performed action (at 740).
- the user may open a browser (i.e., context scope), click on the refresh button (i.e., performs an action identified by the control unit), and provide a voice input to the control unit ("refresh,” "refresh the page, etc.).
- control unit 33 may then display a "new command" message box that includes the name/text of the command ⁇ e.g., "refresh”), the action associated with the command, etc. The user may confirm or cancel the new command.
- control unit associates the action in the current context scope to the voice input to create the new command for the electronic device. For example, the action identified by the control unit is linked with a software code rule associated with the specific command (i.e., "refresh").
- the text structure, the command, and the associate software code rule linked with the action are stored (e.g., in databases 20, 80, etc.).
- the user may apply similar techniques to edit existing commands at any time. For example, the user may provide an initial command to the device 10 to initiate editing mode ⁇ e.g., "edit command,” "change command,” etc.).
- the control unit 33 may then display an "edit command” message box that may prompt the user to provide the desired command. After the user provides the command, the message box may prompt the user to provide the new command or the new action(s) associated with the command.
- the user may confirm or cancel the edits in the command by providing instructions to the control unit.
- the proposed method 700 may be app!icab!e to creating new commands for any inexpressible or abstract objects (e.g., icons, images, button, etc.) displayed on the display 32.
- a user may initiate training mode by providing a command (e.g., "training,” “training mode,” “create new command,” etc.).
- the control unit determines the current context scope of the device (similarly to 720).
- the control unit identifies an action on the electronic device performed in the current context scope, !n that example, the action may be creating a voice active area ⁇ e.g., touch/dick macro) around the abstract object that may be performed with a voice command.
- the user may draw a polygon (e.g., using a touch or a mouse input) around the abstract object on the display to create a voice active area (e.g., a macro).
- the control unit receives a new voice input from the user directed to the performed action (similarly to steps 740).
- the new command may be recorded as a hyperlink or a clickable action and it will be saved in a database.
- the control unit will execute the macro to perform a click or touch on that object.
- the same abstract object on the display may be assigned multiple voice
- the control unit 33 detects at least one voice input from a user of an electronic device (at 520). That step is similar to step 1 10 of the method 100. At 530, the control unit transforms the at least one voice input into a text structure including at least one word (similarly to step 120 of the method 100). At 540, the control unit determines the current context scope of the electronic device. This step is similar to step 130 of the method 00. Next, the control unit 33 compares the text structure to a plurality of existing text structures. These existing text structures include the new commands created by the user. This step is similar to step 140 of the method 100. Finally, the control unit identifies a command when the text structure maiclies with at least one of the existing text structures. This step is simiiar to step 150 of the method 100.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A method is provided in accordance with an aspect of the present disclosure. The method includes detecting at least one voice input from a user of an electronic device, transforming the at least one voice input into a text structure including at least one word, and determining a current context scope of the electronic device. The method also includes comparing the text structure to a plurality of existing text structures, where each of the existing text structure is associated with a command for an action on the electronic device. The method further includes identifying, when the text structure matches with at least one of the existing text structures, a command to correspond to the at least one voice input from the user, and performing an action on the electronic device based on the identified command.
Description
VOICE !NPUT COMMAND
Background
[00013 increasing number of today's users carry or operate one or more electronic devices that are equipped with a diverse set of functions. These devices can communicate with each other, reach the Internet, perform different tasks, or access various data services through networks. Various devices such as personal compuiers, ail in one computing devices, Internet-enabled tablets, smart phones, laptops,
televisions, and gaming consoles have become essential personal accessories, connecting users to friends, work, and entertainment. Users now have more choices and expect to efficiently access programs, data, and other content on all types of devices at ail times. The large number of users that utilize different type of electronic devices stimulates providers to offer devices that can meet the increase in user demand, support the broad array of available services, and provide reliable
communication.
Brief Description of the Drawings
[0002] Figure 1 is a schematic illustration of an example of an electronic device in accordance with an implementation of the present disclosure.
[0003] Figure 2 illustrates a flow chart showing an example of a method for controlling the operations of an elecironic device with voice commands in accordance with an implementation of the present disclosure.
[0004] Figure 3 illustrates a flow chart showing an example of a method for comparing a text structure from a users voice input to a plurality of existing text structures in accordance with an implementation of the present disclosure.
[0005] Figures 4 illustrates a flow chart showing an example of a context perception method for connecting at least two sequential voice inputs from a user to identify a command in accordance with an implementation of the present disclosure.
[0006] Figure 5 illustrates a flow chart showing an example of a method for identifying a command to correspond to at least one voice input from a user when there is no direct match with an existing command in accordance with an implementation of the present disclosure.
[0007] Figure 6 illustrates a flow chart showing an example of an alternative method for controlling the operations of an electronic device with voice commands in
accordance with an impiemeniation of the present disclosure.
[0008] Figure 7 itiustrates a flow chart showing an example of a method for creating a new voice command for an electronic device in accordance with an impiemeniation of the present disclosure.
[0009] Figure 8 illustrates a flow chart showing an example of an alternative method for creating a new voice command for an electronic device in accordance with an implementation of the present disclosure.
Detailed Description
[0010] With the recent improvements in technology, electronic devices (e.g., tablets, iaptops, display screens, smartphones, etc.) continue to piay an increasing role in people s life. Different users rely on different type of electronic devices for many day-today activities and work related tasks. The large number of users that utilize different type of electronic devices stimulates providers to offer devices that can meet the increase in user demand, support the broad array of available services, and provide reliable communication.
[001 1] Electronic devices come in different sizes, forms, and may include different technical features. Due to the proliferation of electronic devices, their technological capabilities are continuously increasing. Consequently, these devices also offer expanded services to their users. These electronic devices are often used to access the Internet, purchase various goods and services, and perform various personal and business related functions.
[0012] Many of the electronic devices include a touchscreen that enables a user to interact with the electronic device and the content displayed on the display screen
directly, rattier than indirectly by using an externa! input device (e.g., a mouse). The user can utilize the touchscreen to control operations on the eiectronic device, to respond to any displayed content (e.g., messages, emails, etc.), and to control how the content is displayed on the screen (e.g., by zooming the text or image size).
[0013] However, touchscreen technology does not always perform as intended and it cannot be used in ail occasions. For example, when the user's hands are busy, dirty, or wet, a user may not use his or her fingers to interact with the eiectronic device. In addition, when the user is away from the display touching the display becomes an impossible task.
[0014] Therefore, users are always looking for alternative and more effective ways to control their electronic devices. Controlling electronic devices via speech provides a great alternative to touchscreen control and allows a fast and easy way for users to interact with the device. Using voice commands to control the eiectronic device allows a user to perform different tasks on the device while his or her hands are still free to perform other activities.
[0015] The present description is directed to systems, methods, and computer readable media for controlling all operations of an eiectronic device with voice commands. The present description proposes an approach for voice control of an eiectronic device based on the current context scope (e.g., running application, etc.) of the device and the received voice command(s) from the user. The present description ailows navigating and operating the operating system ("OS") of an electronic device with voice by using, creating user commands, and editing user commands. Therefore, the present description does not require a personal assistant application to control specific functions of the electronic device, but spreads voice control functionality through the entire OS of the electronic device so a user may provide commands anytime and anywhere without going back to a specific application.
[0016] The disclosed systems, methods, and computer readable media detect voice input from the user of the electronic device and transform it to a text structure. Based on the identified context scope (application, process, etc.) running on the electronic device, the systems, methods, and computer readable media attempt to match the
identified text structure with an existing command for the particular context scope. If a matching command is identified, the disclosed systems, methods, and computer readable media perform an action on the electronic device based on the command. Thus, the disclosed systems, methods, and computer readable media may perform various operations on the electronic device that are currently performed with different input devices (e.g., mouse, keyboard, touch input, etc.). Complete navigation through the OS of the device is possible with the proposed systems, methods, and computer readable media.
[0017] In addition, the proposed voice control solution uses various techniques to identify sequential voice inputs from the user and to identify a command based on the relationship of these sequential voice inputs. Further, the techniques described herein may detect a command even when the received voice input from the user is not clearly matched to an existing command by the electronic device. These techniques help a user to better control the operations of the electronic device via voice input.
[0018] The proposed solution also offers a unique process for creating new commands and for editing of existing commands for the electronic device. The new commands may be associated with the context scope of the electronic device and may include different actions to be performed on the electronic device at that specific context. The disclosure also described techniques for training the electronic device to perform various operations based on voice commands identified by the specific user of the device.
[0019] Thus, the techniques described in this description allow a user to operate an electronic device by using voice commands that are identified based on the specific context scope of the electronic device. The proposed voice control solution may utilize natural language processing technologies to improve command recognition accuracy. The solution offers a concept that can achieve much higher command recognition accuracy and may be easily controlled. Every user may supplement the offered services be creating and editing his or her commands and personalizing the described system to their own needs. This creates a great flexibility to all users and makes the proposed voice control technology very attractive to consumers. The proposed voice
control solution is applicable to all type of electronic devices but may be especially helpful in interaction with devices that have a large display.
[0020] In an example implementation, a method for constructing market segments of consumers is provided. As with other methods described in this disclosure, the method can be performed by a processor of the electronic device. For instance, a non- transitory machine-readable storage medium may store computer programs or modules, which when executed by the electronic device cause the method to be performed. The method includes detecting at least one voice input from a user of an electronic device, transforming the at least one voice input into a text structure including at least one word, and determining a current context scope of the electronic device. The method also includes comparing the text structure to a plurality of existing text structures, where each of the existing text structure is associated with a command for an action on the electronic device. The method further includes identifying, when the text structure matches with at least one of the existing text structures, a command to correspond to the at least one voice input from the user, and performing an action on the electronic device based on the identified command.
[0021 ] In another example implementation, a system for constructing market segments of consumers is provided. The system includes an electronsc device having at least one processing device. The processing device includes a control unit to create a new command for the electronic device, where the new command is associated with a context scope of the electronic device and includes an action on the electronic device. The control unit is also to detect at least one voice input from a user of an electronic device, transform the at least one voice input into a text structure including at least one word, and determine the current context scope of the electronic device. The control unit is further to compare the text structure to a plurality of existing text structures and to identify a command when the text structure matches with at least one of the existing text structures.
[0022] In yet another example implementation, a non-transitory machine-readable storage medium encoded with instructions executable by at feast one processing device is provided. The machine-readable storage medium comprises instructions to process
at least one voice input received from a user of the electronic device, transform the at least one voice input into a text structure including at least one word, and determine the current context scope of the electronic device. The machine-readable storage medium further comprises instructions to determine whether the text structure matches with at least one existing text structure from a plurality of existing text structures that are associated with the current context, and to determine whether the text structure matches with at least one existing text structure from a plurality of existing text structures that are not associated with the current context. The machine-readable storage medium also comprises instructions to identify, when the text structure matches with at least one of the existing text structures, a command to correspond to the at least one voice input from the user, and create a new command for the electronic device when the when the text structure does not match with at least one of the existing text structures. The new command is associated with the current context scope.
[0023] As used herein, the term "electronic device" refers to any one of various smartphones, display screens, cellular telephones, tablets, personal data assistants (PDA's), laptops, computers, servers, and other similar electronic devices that include a display, a processor, and are capable of displaying images on the display and are capable of communicating with other electronic devices via wireless or wired
communication networks.
[0024] As used herein the terms "context scope" refers to the context of an electronic device. In other words, context scope refers to the application, process, or activity that is currently running on the electronic device (e.g., video-sharing application, game, browser, home screen, etc.).
[0025] In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific examples in which the disclosed subject matter may be practiced, it is to be understood that other examples may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims. Also, it is to be understood that
the 'phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of "including," "comprising" or "having" and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. It should also be noted that a plurality of hardware and software based devices, as well as a plurality of different structural components may be used to implement the disclosed methods and systems.
[0026] Figure 1 is a schematic illustration of an example of an electronic device 10 capable of carrying out the techniques described below. The electronic device 10 may be a mobile electronic device (e.g., a smartphone), a stationary electronic device (e.g., a desktop computer, a display screen etc.), a convertible electronic device (e.g., a convertible laptop), or any other type of electronic device. For example, the electronic device 10 may be a tablet, a laptop, a personal computer, an all in one computing device, a gaming console, a server, a smartphone, a music player, a visual player, a personal digital assistant (PDA), a cellular telephone, an electronic notepad, a plurality of distributed computing devices, or any other suitable electronic device that includes a display and a processor. In the illustrated example, the electronic device 10 includes at least one processing device 30 (also called a processor), a display 32, a memory resource 35, input interface(s) 45, and communication interface 50. In other examples, the electronic device 10 includes additional, fewer, or different components for carrying out the functionality described herein.
[0027] As explained in additional detail below, the electronic device 10 includes software, hardware, or a suitable combination thereof configured to enable functionality of the electronic device 10 and to allow it to carry the techniques described below and to interact with the one or more external systems/devices. For example, the electronic device 10 includes communication interfaces (e.g., a Wi-Fi® interface, a Bluetooth® interface, a 3G interface, a 4G interface, a near filed communication (NFC) interface, etc.) that are used to connect with external devices/systems and/or to a network (not shown). The network may include any suitable type or configuration of network to allow for communication between the electronic device 10 and any external devices/systems.
[0028] As described in additional details below, in one example, the electronic device 10 can communicate with at least one electronic device 15 (e.g., a smartphone, a computing device, a server, a plurality of distributed computing devices, etc.) for remote voice control of the electronic device 10. !n addition, the electronic device 10 may also communicate with an externa! database 20 to retrieve data related "to operating commands for the device 10 or related to other processes described herein, ft is to be understood that the operations described as being performed by the electronic device 10 that are related to this description may, in some implementations, be performed or distributed between the electronic device 10 and other computing devices (not shown).
[0029] The processing device 30 of the electronic device 10 (e.g., a central processing unit, a group of distributed processors, a microprocessor, a microcontroller, an application-specific integrated circuit (ASiC), a graphics processor, a multiprocessor, a virtual processor, a cloud processing system, or another suitable controller or
programmable device), the memory resource 35, the input interfaces 45, and the communication interface 50 are operativeiy coupled to a bus 55.
[0030] The display 32 provides visual information to a user, such as various display windows, icons, tabs, video images, pictures, etc. The display 32 may also display content from different applications running on the electronic device 10 on a window shown on the display screen. The display 32 may be a transparent liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display, or any other suitable display. The display 32 may be part of the electronic device 10 (e.g., when the electronic device 10 is tablet or all in one device), may be a separated component that is in electronic communication with the electronic device 10 (e.g., when the electronic device is a desktop computer with a separate monitor), and may be a detachable component that may also be used as a handheld device (e.g., when the electronic device 10 is a convertible computing device). The display 32 may be of different sizes and may support various types of display resolution.
[0031 ] The communication interface 50 allows the electronic device 10 to
communicate with plurality of networks, communication links, and external devices. The input interfaces 45 can receive information from any internal or external
devices/systems in communication with the electronic device 10. in one example, the input interfaces 45 include at least a data interface 80. In other examples, the input interfaces 45 can include additional interfaces. In one implementation, the data interface 60 may receive voice inputs (e.g., from the user of the electronic device or form an external electronic device 15} or communications from the external database 20.
[0032] The processor 30 includes a controller 33 (aiso called a control unit) and may be implemented using any suitable type of processing system where at least one processor executes computer-readable instructions stored in the memory 35. The memory resource 35 includes any suitable type, number, and configuration of volatile or non-transitory machine-readable storage media 37 to store instructions and data.
Examples of machine-readable storage media 37 in the memory 35 include read-only memory ("ROM"}, random access memory ("RAM") (e.g., dynamic RAM ("DRAM"), synchronous DRAM ["SDRAM"], etc.), electrically erasable programmable read-only memory ("EEPROM"), flash memory, an SD card, and other suitable magnetic, optical, physical, or electronic memory devices. The memory resource 35 may aiso be used for storing temporary variables or other intermediate information during execution of instructions to by the processor 30.
[0033] The memory 35 may also store an operating system 70 and network applications 75. The operating system 70 can be multi-user, multiprocessing, multitasking, multithreading, and real-time. The operating system 70 can also perform basic tasks such as recognizing input from input devices, such as a keyboard, a keypad, a mouse, a voice input from a user, etc.; sending output to a projector and a camera; keeping track of files and directories on memory 35; controlling peripheral devices, such as printers, image capture device; and managing traffic on the bus 55. The network applications 75 include various components for establishing and
maintaining network connections, such as computer-readable instructions for implementing communication protocols including TCP/IP, HTTP, Ethernet®, USB®, and FireWire®.
[0034] Software stored on the non-transitory machine-readable storage media 37 and executed by the processor 30 includes, for example, firmware, applications, program data, filters, rules, program modules, and other executable instructions. The control unit 33 retrieves from the machine-readable storage media 37 and executes, among other things, instructions related to the control processes and methods
described herein, in one example, the instructions stored in the non-transitory machine- readable storage media 37 implement a context scope determination module 39, a command identification module 40, a command creation module 41 , and a command execution module 42. In other examples, the instructions can implement more or fewer modules (e.g., various other modules related to the operation of the device 10). In one example, modules 39-42 may be implemented with electronic circuitry used to carry out the functionality described below. As mentioned above, in addition or as an alternative, modules 39- 42 may be implemented as a series of instructions encoded on a machine- readable storage medium and executable by a processor.
[0035] In one example implementation, modules 39-42 may be pre-snstailed on the device 10 as a part of the OS of the device. In another example implementation, modules 39-41 may be downloaded to the device 10 (e.g., from a cloud). Thus, the processes implemented by modules 39-42 may be executed on the device 10 or in remote processing devices in communication with the device 10. As explained in additional detail below, context scope determination module 39 determines the current context scope of the electronic device after a new voice input is received at the device 10. The command identification module 40 identifies a command for the electronic device based on the received voice input (which is converted to text) and the context scope of the device 10. The command creation module 41 creates new commands for the electronic device based on the received voice input and the context scope of the device 10. The command execution module 42 performs at least one action on the electronic device 10 based on the identified command.
[0036] Information and data associated with the electronic device 10 and other systems/devices can be stored, logged, processed, and analyzed to implement the control methods and processes described herein. For example, the memory 35 may include at least one database 80. In other example implementations, the electronic
device 10 may access externa! database {e.g., database 20) that may be stored remotely of the eiecironic device 10 (e.g., can be accessed via a network, or a cloud).
[0037] Figure 2 illustrates a flow chart showing an example of a method 100 for controiiing the operations of an eiecironic device with voice commands. As explained in additional details beiow, the operations may invofve performing at feast one action on the electronic device 10 based on the voice input command, in one example, the method 100 can be executed by the control unit 33 of the processor 30 of the electronic device 10. Various elements or blocks described herein with respect to the method 100 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution. The method 100 is also capable of being executed using additional or fewer elements than are shown in the illustrated examples.
[0038] The method 100 may be executed in the form of instructions encoded on a non-transitory machine-readable storage medium 37 executable by the processor 30 of the electronic device 10. in one example, the instructions for the method 100 implement the context scope determination module 39, the command identification module 40, the command creation module 41 , and the command execution module 42. In other examples, the execution of the method 100 may be distributed between the processing device 30 and other processing devices in communication with the processing device 30.
[0039] The method 100 begins at block 110, where the processor 30 detects at least one voice input from a user of an electronic device 10. The user may directly provide the voice input to the device (e.g., by speaking at the device 10). Alternatively, the voice input may be provided remotely. For instance, a user may utilize another device (e.g., the electronic device 15} that is in communication with the device 10 to provide voice input to the device 10. The user may provide voice input to the device 15 that transmits the voice input to the electronic device 10 (e.g., via a communication interface). That allows the user to perform remote voice control of the device 10. That may be very helpful for devices 10 that have large display (e.g., advertising displays in public areas), where the microphone of the device may not be able to detect direct voice communication from a user.
[0040] in some examples, the contra! unit 33 of the processor 30 uses existing voice recognition tools and/or applications to detect the at least one input from the user. In other examples, speech recognition fools may be provided by one of t e modules 39- 42. The voice input from the user may include at least one word or a phrase that is intended to control the operation of the device 10 and to perform an action on the device 10. Voice inputs by the user may include: "open notification," "open quick settings," scroll down," scroll up," "take a screenshot," "close dialog," and other inputs. Next, at 20, the control unit 33 transforms the at least one voice input into a text structure that includes at least one word. For example, the control unit 33 uses the existing voice recognition tool or application on the device 10 to transform the voice input to a text structure.
[0041] At 130, the control unit 33 determines a current context scope of the electronic device. This may be performed by the context scope determination module 39. The current coniext scope of the electronic device is the application, process, or activity that is currently running on the device or is being performed by the device. For example, if the user is browsing the Internet with the device 10, the current context scope is the browser. If the user is watching a video on a video-sharing website, the current context scope is that video-sharing website. When the user is at the home screen of the device 10, the current context scope is the home screen of the device. Determining the current context scope of the device 10 benefits the described process because the processor 30 may analyze the voice input much more accurately based on the context scope of the device. As explained in additional details below, every voice command may be associated to a distinct action depending on the context scope of the device 10.
[0042] With continued reference to Figure 2, the control unit 33 compares the text structure from the user's voice input to a plurality of existing text structures (at 140). Steps 140 and 150 may be performed by the command identification module 39. Each of the existing text structures may be associated with a command for an action on the electronic device. In one example, the plurality of existing text structures are local," and they are associated with a specific context scope of the electronic device 10 (e.g., home screen, application, browser, etc.). For instance, a plurality of predetermined text
structures may be associated with each of the possible context scopes of the electronic device. In other words, these existing text structures represent commands that may be performed on!y at the specific context space (i;e., application, etc.). When the current context scope of the electronic device 10 is the browser, existing text structures (i.e., commands) for the browser may include: "move down, scroll down, scroll to the bottom, scroll up, move up, up, down, more, go to the top, go to the bottom, go to the top of the page, go to, forward, go forward, move forsvard, refresh, reload, refresh the page, refresh page, reload the page, reioad page, page reload, stop loading, etc." in addition, existing text structures for a camera appiication may include: "shoot, photos, print, share, etc." Other context scopes of the device 10 may have a different plurality of existing text struciures assodated with them.
[0043] In addition, a different piurality of existing text structures may not be associated with a current context scope of the electronic devsce 10. These existing text structures may be "global" text structures that represent commands that may be performed on a system level and may not only available for a specific application. Such "global" text structures may include: "open notifications, open notification, clear notifications, clear notification, close notifications, close notification, close, back, return, go back, come back, home, home screen, go to home screen, press home button, type "a, b, c... ," spell, recent app, running tasks, caps lock, turn n caps lock, turn off caps lock, type space, back space, sleep, lock screen, go, enter, wake up, take a screenshot, etc." in some example implementations, some existing text structure may both "local" and "global."
[0044] In one example, the existing text structures (both "local" and "global") may be stored in a database. That may be the be the database 80 of the device 10, the external database 20, or any other externa! database where text structures may be accessed by the processor 30 during the operation of modules 39-42. Each of the existing text structures is associated with a command {also stored in a database) that includes at feast one action for the electronic device {e.g., open a new tab, etc.). By performing the actions based on the user's voice input, a user may perform voice control of the operations of the device 10.
[0045] Figure 3 illustrates a method 200 for comparing the text structure from the user's voice input to a plurality of existing text structures. In one example, the method 200 can be executed by the control unit 33 of the processor 30. Various elements or blocks described herein with respect to the method 200 are capable of being executed simultaneously, in parallel, or i an order that differs from the illustrated serial manner of execution. The method 200 is also capable of being executed using additional or fewer eiements than are shown in the illustrated examples. The method 200 may be executed in the form of instructions encoded on a non-transitory machine-readable storage medium 37 executable by the processor 30 of the electronic device 10. In one example, the instructions for the method 100 implement the command identification module 39.
[0046] The method 200 begins at 210, where the control unit 33 compares the text structure from the user s voice input to a plurality of existing text structures associated with the current context scope. For example, if the identified current context scope is a game application, the control unit 33 compares the text structure with existing text structures that are associated with that game application. The control unit 33
determines whether a match exists between the text structure from the user's voice and the existing text structures for the context scope (at 220). if the identified text structure matches to at least one of the plurality of existing text structures associated with the current context scope, the control unit 33 proceeds to step 150 of the method 100.
[0047] The control unit 33 compares the text structure to a plurality of existing text structures that are not associated with the current context scope of the electronic device, when the text structure does not match the existing text structures that are associated with the current context scope of the electronic device 10 (at 230). Thus, the control unit has identified that no existing "local" command matches the user's voice input and moves to analyze the "global" commands. The control unit 33 then
determines whether a match exists (at 240} between the text structure and the existing "global" text structures. If the identified text structure matches to at least one of the plurality of existing text structures that are not associated with the current context scope, the control unit 33 proceeds to step 150 of the method 100. If no match is found, the control unit 33 executes a matching process {step B) based on a possibility score of the command and a tolerance threshold (described below in relation to Figure 5).
Further, if the control unit is unsuccessful with the matching process based on the possibility score of the command and the tolerance threshold, the control unit may create a new command for the electronic device (step C)5 which is described below in relation to Figures 7 and 8,
[0048] With continued reference to Figure 2, the contra! unit 33 identifies a command to correspond to the at ieast one voice input from the user when the text structure matches with at ieast one of the existing text structures (at 150). As noted above, each of the existing text structures is associated with a command that includes at ieast one action for the electronic device. The existing text structures and the associated commands are stored in a database (20, 80, etc.). These databases may be updated with new commands created by a user or supplied by a third party that may offer the described system and processes as a service. In one example, the commands and the actions associated with the commands are organized as Extensible Markup Language ("XML") files. Thus, when the text structure of the voice input matches with an existing text structure associated with the current context space, the control unit identifies a command that corresponds to that text structure and, consequently, to the voice input of the user. Alternatively, when the text structure of the voice input matches with an existing "global" text structure not associated with the current context space, the control unit identifies a command that corresponds to that text structure and, consequently, to the voice input.
[0049] At 160, the control unit 33 performs an action on the electronic device 10 based on the identified command. This may be performed with the command execution module 42. For instance, each command may be associated with a software code ruie that communicates with the OS of the device 10 to execute the command. The software rule describes the action (s) that are to be performed by the OS. The OS of the device 10 may expose Application Programming interfaces ("APIs") for third-party software, allowing communication with the OS. For example, the command execution module 42 may send an abstract description of an action or operation to be performed on the device 10 to the OS for launching another application. That abstract description may include the name of the desired application. The OS may perform the action of launching the specified application. In alternative, the command execution module 42
may directiy communicate with the desired application (e.g., the browser application) to send an abstract description of an action to be performed. The application then determines what the request is and performs the action (e.g., scroll down). Thus, the control unit 33 controls the operations of the electronic device 10 based on the user's voice inputs.
[0050] In some situations, the user may provide a voice input to the device 10, pause for a period of time {e.g., 5, 10, 15 seconds, etc.), and then provide a sequential voice input that may or may not be related to the first voice input. In such situations, it may be difficult for the control unit 33 to analyze the two sequential voice inputs and to compare them to existing text structures to identify a command that corresponds to the two sequential voice inputs. Thus, this disclosure proposes a method of connecting at least two sequential voice inputs from a user and performing an action based on the connected sequential voice inputs.
[0051] Figure 4 illustrates a context perception method 300 for connecting at least two sequential voice inputs from a user to identify a command. The method interprets the relationship between a series (e.g., at least two) consecutive commands by the user. In one example, the method 300 can be executed by the control unit 33 of the processor 30. The method 300 may be executed in the form of instructions encoded on a non-transitory machine-readable storage medium 37 executable by the processor 30 of the electronic device 10.
[0052] The method 300 begins at 305, where the control unit 33 identifies a first command from a first of the at least two sequential voice inputs. Then, the control unit 33 identifies a second command from a second of the at least two sequential voice inputs {at 310). For instance, the first and the second commands are identified as described is steps 1 10-150 of the method 100. Next, at 315, the control unit 33 determines whether the time between the first voice input and the second voice input exceed a predetermined threshold. That threshold may be set by the user of the device or may be predetermined. In some examples, the threshold may be 5, 10, 15 seconds, or any other reasonable threshold. The purpose of the threshold is determine whether the user has completed inputting (i.e., speaking) the first command and the second
command is a new command, or whether the second command is a continuation of the first command.
[0053] When the control unit 33 determines that time between the first voice input and the second voice input exceed the predetermined threshold, the control unit ends the process, in that situation, the control unit determines that the two commands are not reiated since the second command was received after the predetermined threshold time and, therefore, it is probably a new command by the user. Alternatively, when the control unit 33 determines that time between the first voice input and the second voice input does not exceed the predetermined threshold, the control determines whether the second command is a semantic continuation of the first command or it is a new command that is not reiated to the first command {at 320). If the second command is not a semantic continuation of the first command, the control unit ends the process. If, on the other hand, the second command is a semantic continuation of the first command, the control unit 33 correiates the second command with the first command to perform an action on the electronic device (at 325). In one example, a first command may be a semantic continuation of a second command, when the second command is a predefined sub command related to the second command. Each of the existing commands may include a list of reiated subcommands. Other methods for identifying a semantic continuation between the commands may also be used.
[0054] For example, if the first command is "volume down," the second command is "more," and the second command does not exceed the threshold, the control unit determines that the second command is a is a semantic continuation of the first command. The "more" command may be identified as a sub command of the "volume down" command. In other words, it is likely that the user would want to execute the "volume down" command again to further lower the volume. In that case, the control unit performs the action associated with the "volume down" command. By applying the method 300, the proposed solution is more accurate in recognizing the user's commands and intentions.
[0055] Many times, the control unit 33 may not be able to directly match the user's voice input to an existing text structure associated with a command. This may due to
thai fact that most users prefer to provide unstructured voice commands (i.e., in different forms) instead of memorizing specific preexisting commands. In order to improve the process of identifying a command to correspond to the at least one voice input from the user, the control unit 33 executes a matching process based on a possibility score of the command and a tolerance threshold.
[0056] Figure 5 illustrates a method 400 for identifying a command to correspond to the at least one voice input from the user when there is no direct match with an existing command. The method interprets the relationship between a series (e.g., at least two) consecutive commands by the user. In one example, the method 400 can be executed by the control unit 33 of the processor 30. The method 400 may be executed in the form of instructions encoded on a non-transitory machine-readable storage medium 37 executable by the processor 30 of the electronic device 10.
[0057] The method 400 begins at 410, where the control unit 33 computes a possibility score for a target command based on the at least one voice input when the text structure of the at least one voice input does not match with at least one of the existing text structures. In other words, when the text structure of the voice input does not directly match with the existing "locai" or the "global" text structures, the control unit 33 identifies a target command and calculates a possibility score for that target command. The target command represents a potential match of the text structure with an existing text structure associated with a command. The possibility score indicates that possibility that the target command is equivalent to the actual existing command.
[0058] The control unit 33 may use various techniques to identify a target command and to calculate a possibility score for that target command. For example, the control unit 33 may use a keyword match tolerance method, where the target command is very similar to at least one of the existing commands (e.g., the target command is "make a scree nshof where the actual existing command is "take a screenshof and the word "screenshof is a keyword), in another example, the control unit may use a synonym tolerance method to identify the target command (e.g., the target command is "look for x, y, z': and the actual existing command is "find x, y, z"). The control unit may use a
dictionary APi or a word library to find a synonym in an existing text structure in the received text structure.
[0059] in yet another example, the control unit 33 may use a spelling mode tolerance method, where a user may activate a "speiP: mode in order to spell a provided
command. In the "spell" mode, the control unit 33 maps any homophonic words with single Setters (e.g., "see" to "c," "you" to "u," "are" to "r," etc.) A user may speii a command after entering "speii" mode (e.g., by speaking "spell c," "c:" etc.). This is helpfui when voice recognition applications fail to detect ietters/words spelled by the user, in another example, the control unit may use a pronunciation-alike word tolerance method, where the target command may be pronounced similariy to at least one existing commands (e.g., the target command is "go to command tap" where the actua! existing command is "go to command tab::).
[0060] In one example, if the controi unit 33 identifies more than one possible target command based on the text structure, the control unit may select the target command with the highest possibility score to match to an existing command. In another example, the control unit 33 compares the possibility score of the identified target command to a predetermined tolerance threshold associated with the target command (at 420). At 430, the control unit determines whether the possibility score of the target command exceeds the tolerance threshoid associated with the target command. When the possibility score of the target command exceeds the tolerance threshold associated with the target command, the controi unit 33 identifies a command from the existing text structures/commands (at 440). Since the control unit already identified the current context scope in 410, only existing text structures in that context or "global" text structures are considered, if, on the other hand, the possibility score of the target command does not exceed the tolerance threshold associated with the target
command, the control unit 33 ends the process.
[0061] At 440, if an ambiguity still exists about the potential command based on the user's voice input, the control unit 33 may make a suggestion to the user of the device 10 regarding the target command. For example, if the text structure from the user's voice input is "create a tab" and the target command is "open a new tab," the control
unit may display a message box on the screen 32. The message box may display a message to the user (e.g., Bdo you want to open a new tab?"), if the user rejects the suggestion, the control unit may propose the command that has the next higher
possibility score in the same manner, !n addition, the control unit 33 may also propose to create a new command (at 450} that includes an action on the electronic device. For example, in the message box, the control unit 33 may display a new command suggestion message {e.g., "Add "create a tab" command?"} and present the user with an option to approve the suggested command. Thus, the new command may perform the same action as the target command. The controi unit also receives a conformation from the user regarding the validity of the new command {at 460). That way, the new command is associated with an existing text structure and includes an action on the electronic device (e.g., the action associated with the existing text structure of the target command).
[0062] If the user does not want to create a new command based on the target command but he or she identifies a command from the existing command, the control unit 33 may implement learning techniques to improve the possibility score for the target command. Thus, when the user provides the same voice input/command in the same context scope, the controi unit applies the learning techniques and calculates a higher possibility score for the "new" voice input command.
[0063] Figure 6 illustrates a flow chart showing an example of an alternative method 500 for controlling the operations of an electronic device with voice commands. The method 500 may be executed with the context scope determination module 39, the command identification module 40, the command creation module 41 , and the command execution module 42. These modules may be implemented with electronic circuitry used to carry out the functionality described below. Alternatively, modules 39- 42 may be implemented in the form of instructions encoded on a non-transitory machine-readabie storage medium 37 executable by the processor 30 of the electronic device 10.
[0064] The method 500 begins at block 510, where the control unit 33 creates a new command for the electronic device. In one example, the new command is associated
with a context scope of the electronic device and includes an action on the electronic device. As described in additions! details beiow, the new command is saved by the control unit {e.g., in the database 20, 80, or another database accessible by the processor 30). The specific processes for creating the new command are described below in relation to Figures 7 and 8.
[0065] Figure 7 iiiustrates a flow chart showing an example of a method 600 for creating a new voice command for the electronic device 10. The method 600 may be performed with the command creation module 41. The method allows a user quickly navigate through the OS and to create new dynamic commands for specific context scopes of the device 10. The method 600 begins at 610, where the control unit 33 receives a new voice input from a user. For example, a user may provide a new voice input when he or she intentionally wants to create a new command. In that situation, the user may first provide an initial command to the device 10 to initiate creating a new command (e.g., "new command," "create a command," etc.). Alternatively, the new voice input may be provided when a user intends to provide a command to the device and such command does not exist in the "local" or the "global" commands available to the processor (see Figure 3). At 620, the control unit transforms the new voice input into a new text structure. This step is similar to step 120 of the method 100. Next, at 630, the control unit determines the current context scope of the electronic device (similarly to step 130 of the method 100).
[0066] At 640, the control unit 33 identifies a number of occurrences of the new text structure in the current context scope, in other words, the control unit 33 unit determines whether the new text structure matches with a text structure in the current context. For example, if the context is a news website and the new text structure is "sports," the control unit identifies the number of occurrences of "sports" on the displayed website (if "sports" is not identified as one of the existing text structures associated with commands). In that situation, "sports" may be identified a tab on the news website that ieads to the sports webpage. The control unit may retrieve text information and the position data for the text information of the context scope (i.e., the displayed news website) directly from the framework of the OS. Alternatively, the control unit may use Optical Character Recognition (OCR") technology to convert an
image of the context scope to text information and position data. That text information and position data is then searched to identify t e number of occurrences of the new text structure
[0067] The control unit may identify that the new text structure appears at one location or at multiple location of the context scope. At 850, the control unit 33 associates the new text structure to the new command for the electronic device when the text structure is identified only once in the current context scope. For example, when the text structure "sports" is identified only once on the news website, the control unit records an action of clicking on the "sports" link in the context space and that action is Iinked with a software code rule associated with the specific command (i.e., "sports"). As with the existing commands, the text structure, the command, and the associated software code ruie are stored (e.g., in databases 20, 80, etc.). However, this new dynamic command is only associated with the very specific context scope that was recorded. In one implementation, the control unit may display a "new command" box that includes the name/text of the command (e.g., "sports"), the action associated with the command, etc. before creating the new command. The user may confirm or cancel the new command. Thus, the control unit creates a trigger between the text structure, the command, and the software code rule Iinked with the action, so when a user speaks the command again in this context scope the action is reproduced. This process may be repeated for any inexpressible object (e.g., icons, links, images, etc.) that includes text structure and can be identified by the control unit in the context scope of the device.
[0068] Alternatively, when the control unit 33 identifies the new text structure more than once in the current context scope, the control unit identifies a command text structure from the multiple text structures (at 660). For example, when the text structure "sports" is identified at multiple locations on the news website, the control unit 33 may highlight and number all locations of the text structure. The user may then select the preferred location of the new text structure (e.g., by speaking the desired number, etc.). The seiected preferred location is the command text structure. At 670, the control unit associates the command text structure to the new command. This process is similar to the process described in step 650.
[0069] Figure 8 illustrates a flow chart showing an example of an alternative method 700 for creating a new voice command for the electronic device 10. This method may applicabie to creating commands for both actions that may include an act (e.g., tap, swipe, pinch, etc.) on the device 10 and to actions that cover inexpressible objects (e.g., icons, links, images, etc.). The method 700 may be performed wit the command creation module 41.
[0070] The method 700 begins at 710, where the control unit 33 transitions the electronic device into a command training mode. For example, the user may first provide an initial command to the device 0 to initiate training mode (e.g., "training," "training mode," "create new command," etc.). At 720, the control unit 33 determines the current context scope of the electronic device 10 (similarly to step 130 of the method 100). Then, at 730, the control unit identifies an action on the electronic device performed in the current context scope of the device 10. For example, the control unit records an action (e.g., tapping, swiping, pinching, etc.) in the context space that is performed by the user. Next, the control unit receives a new voice input from the user directed to the performed action (at 740). For example, the user may open a browser (i.e., context scope), click on the refresh button (i.e., performs an action identified by the control unit), and provide a voice input to the control unit ("refresh," "refresh the page, etc.).
[0071] In one implementation, the control unit 33 may then display a "new command" message box that includes the name/text of the command {e.g., "refresh"), the action associated with the command, etc. The user may confirm or cancel the new command. At 750, the control unit associates the action in the current context scope to the voice input to create the new command for the electronic device. For example, the action identified by the control unit is linked with a software code rule associated with the specific command (i.e., "refresh"). The text structure, the command, and the associate software code rule linked with the action are stored (e.g., in databases 20, 80, etc.).
[0072] The user may apply similar techniques to edit existing commands at any time. For example, the user may provide an initial command to the device 10 to initiate editing mode {e.g., "edit command," "change command," etc.). The control unit 33 may then
display an "edit command" message box that may prompt the user to provide the desired command. After the user provides the command, the message box may prompt the user to provide the new command or the new action(s) associated with the command. The user may confirm or cancel the edits in the command by providing instructions to the control unit.
[0073] !n addition, the proposed method 700 may be app!icab!e to creating new commands for any inexpressible or abstract objects (e.g., icons, images, button, etc.) displayed on the display 32. For example, a user may initiate training mode by providing a command (e.g., "training," "training mode," "create new command," etc.). Next, the control unit determines the current context scope of the device (similarly to 720). Simiiarly to 730, the control unit identifies an action on the electronic device performed in the current context scope, !n that example, the action may be creating a voice active area {e.g., touch/dick macro) around the abstract object that may be performed with a voice command. For instance, the user may draw a polygon (e.g., using a touch or a mouse input) around the abstract object on the display to create a voice active area (e.g., a macro). The control unit then receives a new voice input from the user directed to the performed action (similarly to steps 740). The new command may be recorded as a hyperlink or a clickable action and it will be saved in a database. Thus, the next time the control unit identifies that context scope and receives the related command, the control unit will execute the macro to perform a click or touch on that object. The same abstract object on the display may be assigned multiple voice
commands.
[0074] With continued reference to Figure 6, the control unit 33 detects at least one voice input from a user of an electronic device (at 520). That step is similar to step 1 10 of the method 100. At 530, the control unit transforms the at least one voice input into a text structure including at least one word (similarly to step 120 of the method 100). At 540, the control unit determines the current context scope of the electronic device. This step is similar to step 130 of the method 00. Next, the control unit 33 compares the text structure to a plurality of existing text structures. These existing text structures include the new commands created by the user. This step is similar to step 140 of the method 100. Finally, the control unit identifies a command when the text structure
maiclies with at least one of the existing text structures. This step is simiiar to step 150 of the method 100.
Claims
1. A method, comprising:
detecting at least one voice input from a user of an electronic device;
transforming the at least one voice input into a text structure including at least one word;
determining a current context scope of the electronic device;
comparing the text structure to a plurality of existing text structures, wherein each of the existing text structure is associated with a command for an action on the electronic device;
identifying, when the text structure matches with at least one of the existing text structures, a command to correspond to the at ieast one voice input from the user; and performing an action on the electronic device based on the identified command.
2. The method of claim 1 , wherein the plurality of existing text structures are associated with the current context scope of the electronic device.
3. The method of claim 2, further comprising comparing the text structure to a plurality of existing text structures that are not associated with the current context scope of the electronic device, when the text structure does not match the existing text structures that are associated with the current context scope of the electronic device.
4. The method of claim 1 , further comprising connecting at Ieast two sequential voice inputs from a user and performing an action based on the connected sequential voice inputs.
5. The method of claim 4, further comprising:
identifying a first command from a first of the at Ieast two sequential voice inputs; identifying a second command from a second of the at least two sequential voice inputs;
determining whether a time between the first voice input and the second voice input exceeds a predetermined threshold;
determining whether the second command is a semantic continuation of the first command; and
correiating the second command with the first command to perform an action on the electronic device when the time between the first voice input and the second voice input does not exceed a predetermined threshold and when the second command is a semantic continuation of the first command.
6. The method of ciaim 1 ; wherein identifying a command to correspond to the at least one voice input further includes:
computing a possibility score for a target command based on the at least one voice input, when the text structure of the at least one voice input does not match with at least one of the existing text structures;
comparing the possibility score of the target command to a predetermined tolerance threshold associated with the target command;
identifying a command when the possibility score of the target command exceeds the threshold;
proposing to create a new command, wherein the new command includes an action on the electronic device; and
receiving a conformation from the user regarding the validity of the new command.
7. The method of claim 1 , further comprising:
creating a new command based on voice input from the user, wherein the new command is associated with the current context scope;
associating the new command with at ieast one action on the electronic device; and
saving the new command.
8. A system comprising:
an electronic device having at !east one processing device with a control unit to create a new command for the electronic device, wherein the new command is associated with a context scope of the electronic device and includes an action on the electronic device,
detect at least one voice input from a user of an electronic device, transform the at least one voice input into a text structure including at least one word,
determine the current context scope of the electronic device, compare the text structure to a plurality of existing text structures, identify a command when the text structure matches with at least one of the existing text structures.
9. The system of claim 8, wherein the control unit is to:
receive a new voice input from the user;
transform the new voice input into a new text structure;
determine the current context scope of the electronic device;
identify a number of occurrences of the new text structure in the current context scope;
associate the new text structure to the new command for the electronic device when the text structure is identified only once in the current context scope;
identify a command text structure when the text structure is identified more than once in the current context scope; and
associate the command text structure with the new command.
10. The system of claim 8, wherein the control unit is to:
transition the electronic device into a command training mode;
determine the current context scope of the electronic device;
identify an action on the electronic device performed in the current context scope; receive a new voice input from the user directed to the performed action; and associate the action in the current context scope to the new voice input to create the new command for the electronic device.
11. The system of ciaim 8, wherein the control unit is to compare the text structure to a piurality of existing text structures that are associated with the current context scope of the electronic device, and wherein the control unit is to compare the text structure to a plurality of existing text structures that are not associated with the current context scope of the electronic device when the text structure does not match the existing text structures that are associated with the current context scope of the electronic device.
12. A non-transitory machine-readable storage medium encoded with instructions executable by at least one processing device of an electronic device, the machine-readable storage medium comprising instructions to:
process at least one voice input received from a user of the electronic device; transform the at least one voice input into a text structure including at least one word;
determine the current context scope of the electronic device;
determine whether the text structure matches with at least one existing text structure from a plurality of existing text structures that are associated with the current context;
determine whether the text structure matches with at least one existing text structure from a plurality of existing text structures that are not associated with the current context;
identify, when the text structure matches with at ieast one of the existing text structures, a command to correspond to the at least one voice input from the user; and create a new command for the electronic device when the when the text structure does not match with at least one of the existing text structures, wherein the new command is associated with the current context scope.
13. The non-transitory machine-readable storage medium of claim 12, further comprising instructions to connect at least two sequential voice inputs from a user to perform an action based on the connected sequential voice inputs.
14. The non-transitory machine-readable storage medium of c!airn 13, further comprising instructions to:
identify a first command from a first of the at least two sequential voice inputs; identify a second command from a second of the at ieast two sequential voice inputs;
determine whether a time between the first voice input and the second voice input exceeds a predetermined threshold;
determine whether the second command is a semantic continuation of the first command; and
correlate the second command with the first command to perform an action on the electronic device when the time between the first voice input and the second voice input does not exceed a predetermined threshold and when the second command is a semantic continuation of the first command.
15. The non-transitory machine-readable storage medium of claim 12, further comprising instructions to:
compute a possibility score for a target command based on the at least one voice input, when the text structure of the at Ieast one voice input does not match with at ieast one of the existing text structures;
compare the possibility score of the target command to a predetermined tolerance threshold associated with the target command;
identify a command when the possibility score of the target command exceeds the tolerance threshold;
propose to create a new command, wherein the new command includes an action on the electronic device; and
receiving a conformation from the user regarding the validity of the new command.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP14880444.6A EP3100259A4 (en) | 2014-01-31 | 2014-01-31 | Voice input command |
| US15/114,386 US10978060B2 (en) | 2014-01-31 | 2014-01-31 | Voice input command |
| PCT/US2014/014091 WO2015116151A1 (en) | 2014-01-31 | 2014-01-31 | Voice input command |
| CN201480074511.6A CN105934791B (en) | 2014-01-31 | 2014-01-31 | voice input command |
| TW104102702A TWI544366B (en) | 2014-01-31 | 2015-01-27 | Voice input command |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2014/014091 WO2015116151A1 (en) | 2014-01-31 | 2014-01-31 | Voice input command |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015116151A1 true WO2015116151A1 (en) | 2015-08-06 |
Family
ID=53757546
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2014/014091 Ceased WO2015116151A1 (en) | 2014-01-31 | 2014-01-31 | Voice input command |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10978060B2 (en) |
| EP (1) | EP3100259A4 (en) |
| CN (1) | CN105934791B (en) |
| TW (1) | TWI544366B (en) |
| WO (1) | WO2015116151A1 (en) |
Cited By (127)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DK201770036A1 (en) * | 2016-06-10 | 2018-01-15 | Apple Inc | Intelligent digital assistant in a multi-tasking environment |
| EP3301598A1 (en) * | 2016-09-30 | 2018-04-04 | Sap Se | Method and system for control of an electromechanical medical device |
| US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
| US10079014B2 (en) | 2012-06-08 | 2018-09-18 | Apple Inc. | Name recognition system |
| US10083690B2 (en) | 2014-05-30 | 2018-09-25 | Apple Inc. | Better resolution when referencing to concepts |
| US10108612B2 (en) | 2008-07-31 | 2018-10-23 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
| US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
| US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
| US10311871B2 (en) | 2015-03-08 | 2019-06-04 | Apple Inc. | Competing devices responding to voice triggers |
| US10332628B2 (en) | 2016-09-30 | 2019-06-25 | Sap Se | Method and system for control of an electromechanical medical device |
| US10332518B2 (en) | 2017-05-09 | 2019-06-25 | Apple Inc. | User interface for correcting recognition errors |
| US10356243B2 (en) | 2015-06-05 | 2019-07-16 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
| US10354652B2 (en) | 2015-12-02 | 2019-07-16 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
| US10381016B2 (en) | 2008-01-03 | 2019-08-13 | Apple Inc. | Methods and apparatus for altering audio output signals |
| US10390213B2 (en) | 2014-09-30 | 2019-08-20 | Apple Inc. | Social reminders |
| US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
| US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
| US10403283B1 (en) | 2018-06-01 | 2019-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US10410637B2 (en) | 2017-05-12 | 2019-09-10 | Apple Inc. | User-specific acoustic models |
| US10417405B2 (en) | 2011-03-21 | 2019-09-17 | Apple Inc. | Device access using voice authentication |
| US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
| US10417344B2 (en) | 2014-05-30 | 2019-09-17 | Apple Inc. | Exemplar-based natural language processing |
| US10431204B2 (en) | 2014-09-11 | 2019-10-01 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
| US10438595B2 (en) | 2014-09-30 | 2019-10-08 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
| US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
| US10453443B2 (en) | 2014-09-30 | 2019-10-22 | Apple Inc. | Providing an indication of the suitability of speech recognition |
| US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
| US10482874B2 (en) | 2017-05-15 | 2019-11-19 | Apple Inc. | Hierarchical belief states for digital assistants |
| US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
| US10497365B2 (en) | 2014-05-30 | 2019-12-03 | Apple Inc. | Multi-command single utterance input method |
| US10529332B2 (en) | 2015-03-08 | 2020-01-07 | Apple Inc. | Virtual assistant activation |
| US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
| US10580409B2 (en) | 2016-06-11 | 2020-03-03 | Apple Inc. | Application integration with a digital assistant |
| US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
| US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
| US10643611B2 (en) | 2008-10-02 | 2020-05-05 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
| US10657961B2 (en) | 2013-06-08 | 2020-05-19 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
| US10684703B2 (en) | 2018-06-01 | 2020-06-16 | Apple Inc. | Attention aware virtual assistant dismissal |
| US10692504B2 (en) | 2010-02-25 | 2020-06-23 | Apple Inc. | User profiling for voice input processing |
| US10699717B2 (en) | 2014-05-30 | 2020-06-30 | Apple Inc. | Intelligent assistant for home automation |
| US10714117B2 (en) | 2013-02-07 | 2020-07-14 | Apple Inc. | Voice trigger for a digital assistant |
| US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
| US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
| US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
| US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
| US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
| US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
| US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
| US10769385B2 (en) | 2013-06-09 | 2020-09-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
| US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
| US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
| US10789945B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Low-latency intelligent automated assistant |
| US10810274B2 (en) | 2017-05-15 | 2020-10-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
| US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
| US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
| US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
| US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
| US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
| US10942702B2 (en) | 2016-06-11 | 2021-03-09 | Apple Inc. | Intelligent device arbitration and control |
| US10942703B2 (en) | 2015-12-23 | 2021-03-09 | Apple Inc. | Proactive assistance based on dialog communication between devices |
| US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
| US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
| US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
| US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
| US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
| US11023513B2 (en) | 2007-12-20 | 2021-06-01 | Apple Inc. | Method and apparatus for searching using an active ontology |
| US11048473B2 (en) | 2013-06-09 | 2021-06-29 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
| US11069347B2 (en) | 2016-06-08 | 2021-07-20 | Apple Inc. | Intelligent automated assistant for media exploration |
| US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
| US11069336B2 (en) | 2012-03-02 | 2021-07-20 | Apple Inc. | Systems and methods for name pronunciation |
| US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
| US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
| US11127397B2 (en) | 2015-05-27 | 2021-09-21 | Apple Inc. | Device voice control |
| US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
| US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
| US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
| US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
| US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
| US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
| US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
| US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
| US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
| US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
| US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
| US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
| US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
| US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
| US11350253B2 (en) | 2011-06-03 | 2022-05-31 | Apple Inc. | Active transport based notifications |
| US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
| US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
| US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
| US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
| US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
| US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
| US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
| US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
| US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
| US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
| US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
| US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
| US11495218B2 (en) | 2018-06-01 | 2022-11-08 | Apple Inc. | Virtual assistant operation in multi-device environments |
| US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
| US11516537B2 (en) | 2014-06-30 | 2022-11-29 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
| US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
| US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
| US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
| US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
| US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
| US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
| US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
| US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
| US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
| US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
| US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
| US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
| US11928604B2 (en) | 2005-09-08 | 2024-03-12 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
| US12010262B2 (en) | 2013-08-06 | 2024-06-11 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
| US12014118B2 (en) | 2017-05-15 | 2024-06-18 | Apple Inc. | Multi-modal interfaces having selection disambiguation and text modification capability |
| US12051413B2 (en) | 2015-09-30 | 2024-07-30 | Apple Inc. | Intelligent device identification |
| US12197817B2 (en) | 2016-06-11 | 2025-01-14 | Apple Inc. | Intelligent device arbitration and control |
| US12223282B2 (en) | 2016-06-09 | 2025-02-11 | Apple Inc. | Intelligent automated assistant in a home environment |
| US12301635B2 (en) | 2020-05-11 | 2025-05-13 | Apple Inc. | Digital assistant hardware abstraction |
| US12619452B2 (en) | 2023-07-20 | 2026-05-05 | Apple Inc. | Intelligent automated assistant in a messaging environment |
Families Citing this family (107)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11592723B2 (en) | 2009-12-22 | 2023-02-28 | View, Inc. | Automated commissioning of controllers in a window network |
| US11054792B2 (en) | 2012-04-13 | 2021-07-06 | View, Inc. | Monitoring sites containing switchable optical devices and controllers |
| US9557885B2 (en) | 2011-08-09 | 2017-01-31 | Gopro, Inc. | Digital media editing |
| US12400651B2 (en) * | 2012-04-13 | 2025-08-26 | View Operating Corporation | Controlling optically-switchable devices |
| US10964320B2 (en) * | 2012-04-13 | 2021-03-30 | View, Inc. | Controlling optically-switchable devices |
| US10776375B2 (en) * | 2013-07-15 | 2020-09-15 | Microsoft Technology Licensing, Llc | Retrieval of attribute values based upon identified entities |
| WO2015030474A1 (en) | 2013-08-26 | 2015-03-05 | 삼성전자 주식회사 | Electronic device and method for voice recognition |
| US9698999B2 (en) * | 2013-12-02 | 2017-07-04 | Amazon Technologies, Inc. | Natural language control of secondary device |
| US10978060B2 (en) * | 2014-01-31 | 2021-04-13 | Hewlett-Packard Development Company, L.P. | Voice input command |
| US9754159B2 (en) | 2014-03-04 | 2017-09-05 | Gopro, Inc. | Automatic generation of video from spherical content using location-based metadata |
| CN112627704A (en) | 2014-03-05 | 2021-04-09 | 唯景公司 | Monitoring a site containing a switchable optical device and a controller |
| US9685194B2 (en) | 2014-07-23 | 2017-06-20 | Gopro, Inc. | Voice-based video tagging |
| US20160026874A1 (en) | 2014-07-23 | 2016-01-28 | Gopro, Inc. | Activity identification in video |
| KR102245747B1 (en) * | 2014-11-20 | 2021-04-28 | 삼성전자주식회사 | Apparatus and method for registration of user command |
| US9734870B2 (en) | 2015-01-05 | 2017-08-15 | Gopro, Inc. | Media identifier generation for camera-captured media |
| US9679605B2 (en) | 2015-01-29 | 2017-06-13 | Gopro, Inc. | Variable playback speed template for video editing application |
| US20160225369A1 (en) * | 2015-01-30 | 2016-08-04 | Google Technology Holdings LLC | Dynamic inference of voice command for software operation from user manipulation of electronic device |
| BR112017021673B1 (en) * | 2015-04-10 | 2023-02-14 | Honor Device Co., Ltd | VOICE CONTROL METHOD, COMPUTER READABLE NON-TRANSITORY MEDIUM AND TERMINAL |
| WO2016187235A1 (en) | 2015-05-20 | 2016-11-24 | Gopro, Inc. | Virtual lens simulation for video and photo cropping |
| US9894393B2 (en) | 2015-08-31 | 2018-02-13 | Gopro, Inc. | Video encoding for reduced streaming latency |
| US9721611B2 (en) | 2015-10-20 | 2017-08-01 | Gopro, Inc. | System and method of generating video from video clips based on moments of interest within the video clips |
| US10204273B2 (en) | 2015-10-20 | 2019-02-12 | Gopro, Inc. | System and method of providing recommendations of moments of interest within video clips post capture |
| TWI639153B (en) | 2015-11-03 | 2018-10-21 | 絡達科技股份有限公司 | Electronic apparatus and voice trigger method therefor |
| CN106653010B (en) | 2015-11-03 | 2020-07-24 | 络达科技股份有限公司 | Electronic device and method for waking up through voice recognition |
| CN106814639A (en) * | 2015-11-27 | 2017-06-09 | 富泰华工业(深圳)有限公司 | Speech control system and method |
| TWI562000B (en) * | 2015-12-09 | 2016-12-11 | Ind Tech Res Inst | Internet question answering system and method, and computer readable recording media |
| US10095696B1 (en) | 2016-01-04 | 2018-10-09 | Gopro, Inc. | Systems and methods for generating recommendations of post-capture users to edit digital media content field |
| US10109319B2 (en) | 2016-01-08 | 2018-10-23 | Gopro, Inc. | Digital media editing |
| US9812175B2 (en) | 2016-02-04 | 2017-11-07 | Gopro, Inc. | Systems and methods for annotating a video |
| US10409550B2 (en) | 2016-03-04 | 2019-09-10 | Ricoh Company, Ltd. | Voice control of interactive whiteboard appliances |
| US10417021B2 (en) * | 2016-03-04 | 2019-09-17 | Ricoh Company, Ltd. | Interactive command assistant for an interactive whiteboard appliance |
| US9972066B1 (en) | 2016-03-16 | 2018-05-15 | Gopro, Inc. | Systems and methods for providing variable image projection for spherical visual content |
| US10402938B1 (en) | 2016-03-31 | 2019-09-03 | Gopro, Inc. | Systems and methods for modifying image distortion (curvature) for viewing distance in post capture |
| US9838731B1 (en) | 2016-04-07 | 2017-12-05 | Gopro, Inc. | Systems and methods for audio track selection in video editing with audio mixing option |
| US9838730B1 (en) | 2016-04-07 | 2017-12-05 | Gopro, Inc. | Systems and methods for audio track selection in video editing |
| US9794632B1 (en) | 2016-04-07 | 2017-10-17 | Gopro, Inc. | Systems and methods for synchronization based on audio track changes in video editing |
| EP4632734A3 (en) * | 2016-04-26 | 2025-12-10 | View, Inc. | Controlling optically-switchable devices |
| US10250894B1 (en) | 2016-06-15 | 2019-04-02 | Gopro, Inc. | Systems and methods for providing transcoded portions of a video |
| US9922682B1 (en) | 2016-06-15 | 2018-03-20 | Gopro, Inc. | Systems and methods for organizing video files |
| US9998769B1 (en) | 2016-06-15 | 2018-06-12 | Gopro, Inc. | Systems and methods for transcoding media files |
| US10045120B2 (en) | 2016-06-20 | 2018-08-07 | Gopro, Inc. | Associating audio with three-dimensional objects in videos |
| US10185891B1 (en) | 2016-07-08 | 2019-01-22 | Gopro, Inc. | Systems and methods for compact convolutional neural networks |
| US10469909B1 (en) | 2016-07-14 | 2019-11-05 | Gopro, Inc. | Systems and methods for providing access to still images derived from a video |
| US10395119B1 (en) | 2016-08-10 | 2019-08-27 | Gopro, Inc. | Systems and methods for determining activities performed during video capture |
| US9836853B1 (en) | 2016-09-06 | 2017-12-05 | Gopro, Inc. | Three-dimensional convolutional neural networks for video highlight detection |
| US10282632B1 (en) | 2016-09-21 | 2019-05-07 | Gopro, Inc. | Systems and methods for determining a sample frame order for analyzing a video |
| US10268898B1 (en) | 2016-09-21 | 2019-04-23 | Gopro, Inc. | Systems and methods for determining a sample frame order for analyzing a video via segments |
| US10002641B1 (en) | 2016-10-17 | 2018-06-19 | Gopro, Inc. | Systems and methods for determining highlight segment sets |
| US10284809B1 (en) | 2016-11-07 | 2019-05-07 | Gopro, Inc. | Systems and methods for intelligently synchronizing events in visual content with musical features in audio content |
| US10262639B1 (en) | 2016-11-08 | 2019-04-16 | Gopro, Inc. | Systems and methods for detecting musical features in audio content |
| US10572591B2 (en) * | 2016-11-18 | 2020-02-25 | Lenovo (Singapore) Pte. Ltd. | Input interpretation based upon a context |
| KR20180084392A (en) * | 2017-01-17 | 2018-07-25 | 삼성전자주식회사 | Electronic device and operating method thereof |
| US10534966B1 (en) | 2017-02-02 | 2020-01-14 | Gopro, Inc. | Systems and methods for identifying activities and/or events represented in a video |
| US10339443B1 (en) | 2017-02-24 | 2019-07-02 | Gopro, Inc. | Systems and methods for processing convolutional neural network operations using textures |
| US10127943B1 (en) | 2017-03-02 | 2018-11-13 | Gopro, Inc. | Systems and methods for modifying videos based on music |
| US10185895B1 (en) | 2017-03-23 | 2019-01-22 | Gopro, Inc. | Systems and methods for classifying activities captured within images |
| US10083718B1 (en) | 2017-03-24 | 2018-09-25 | Gopro, Inc. | Systems and methods for editing videos based on motion |
| US10187690B1 (en) | 2017-04-24 | 2019-01-22 | Gopro, Inc. | Systems and methods to detect and correlate user responses to media content |
| US10395122B1 (en) | 2017-05-12 | 2019-08-27 | Gopro, Inc. | Systems and methods for identifying moments in videos |
| US20180366108A1 (en) * | 2017-05-18 | 2018-12-20 | Aiqudo, Inc. | Crowdsourced training for commands matching |
| EP3635578B1 (en) * | 2017-05-18 | 2025-10-15 | Peloton Interactive, Inc. | Systems and methods for crowdsourced actions and commands |
| US11340925B2 (en) | 2017-05-18 | 2022-05-24 | Peloton Interactive Inc. | Action recipes for a crowdsourced digital assistant system |
| US10698654B2 (en) * | 2017-05-18 | 2020-06-30 | Aiqudo, Inc. | Ranking and boosting relevant distributable digital assistant operations |
| US11056105B2 (en) | 2017-05-18 | 2021-07-06 | Aiqudo, Inc | Talk back from actions in applications |
| US11043206B2 (en) | 2017-05-18 | 2021-06-22 | Aiqudo, Inc. | Systems and methods for crowdsourced actions and commands |
| US10838746B2 (en) | 2017-05-18 | 2020-11-17 | Aiqudo, Inc. | Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations |
| US10334415B2 (en) * | 2017-06-16 | 2019-06-25 | T-Mobile Usa, Inc. | Voice user interface for device and component control |
| US10496363B2 (en) | 2017-06-16 | 2019-12-03 | T-Mobile Usa, Inc. | Voice user interface for data access control |
| US10614114B1 (en) | 2017-07-10 | 2020-04-07 | Gopro, Inc. | Systems and methods for creating compilations based on hierarchical clustering |
| US10402698B1 (en) | 2017-07-10 | 2019-09-03 | Gopro, Inc. | Systems and methods for identifying interesting moments within videos |
| US10402656B1 (en) | 2017-07-13 | 2019-09-03 | Gopro, Inc. | Systems and methods for accelerating video analysis |
| US11024305B2 (en) * | 2017-08-07 | 2021-06-01 | Dolbey & Company, Inc. | Systems and methods for using image searching with voice recognition commands |
| KR102441067B1 (en) * | 2017-10-12 | 2022-09-06 | 현대자동차주식회사 | Vehicle user input processing device and user input processing method |
| KR102455067B1 (en) | 2017-11-24 | 2022-10-17 | 삼성전자주식회사 | Electronic apparatus and control method thereof |
| US11182122B2 (en) * | 2017-12-08 | 2021-11-23 | Amazon Technologies, Inc. | Voice control of computing devices |
| US10503468B2 (en) | 2017-12-08 | 2019-12-10 | Amazon Technologies, Inc. | Voice enabling applications |
| TWI651714B (en) * | 2017-12-22 | 2019-02-21 | 隆宸星股份有限公司 | Voice option selection system and method and smart robot using the same |
| US10963499B2 (en) | 2017-12-29 | 2021-03-30 | Aiqudo, Inc. | Generating command-specific language model discourses for digital assistant interpretation |
| WO2019152511A1 (en) | 2018-01-30 | 2019-08-08 | Aiqudo, Inc. | Personalized digital assistant device and related methods |
| CN108363557B (en) | 2018-02-02 | 2020-06-12 | 刘国华 | Human-computer interaction method and device, computer equipment and storage medium |
| DE102018103548A1 (en) * | 2018-02-16 | 2019-08-22 | Technisat Digital Gmbh | Device for remote control as well as similar method |
| US11195530B1 (en) | 2018-02-19 | 2021-12-07 | State Farm Mutual Automobile Insurance Company | Voice analysis systems and methods for processing digital sound data over a communications network |
| US11100146B1 (en) * | 2018-03-23 | 2021-08-24 | Amazon Technologies, Inc. | System management using natural language statements |
| US11094316B2 (en) * | 2018-05-04 | 2021-08-17 | Qualcomm Incorporated | Audio analytics for natural language processing |
| KR20190134107A (en) * | 2018-05-24 | 2019-12-04 | 삼성전자주식회사 | Electronic device which is processing user's voice and method for providing voice recognition control thereof |
| US10832010B2 (en) * | 2018-06-05 | 2020-11-10 | International Business Machines Corporation | Training of conversational agent using natural language |
| CN110874201B (en) | 2018-08-29 | 2023-06-23 | 斑马智行网络(香港)有限公司 | Interactive method, device, storage medium and operating system |
| KR102748336B1 (en) * | 2018-09-05 | 2024-12-31 | 삼성전자주식회사 | Electronic Device and the Method for Operating Task corresponding to Shortened Command |
| US10885912B2 (en) * | 2018-11-13 | 2021-01-05 | Motorola Solutions, Inc. | Methods and systems for providing a corrected voice command |
| US10984791B2 (en) | 2018-11-29 | 2021-04-20 | Hughes Network Systems, Llc | Spoken language interface for network management |
| WO2020139121A1 (en) | 2018-12-28 | 2020-07-02 | Ringcentral, Inc., (A Delaware Corporation) | Systems and methods for recognizing a speech of a speaker |
| KR102229562B1 (en) * | 2019-07-25 | 2021-03-18 | 엘지전자 주식회사 | Artificial intelligence device for providing voice recognition service and operating mewthod thereof |
| CN110619873A (en) * | 2019-08-16 | 2019-12-27 | 北京小米移动软件有限公司 | Audio processing method, device and storage medium |
| US11593067B1 (en) | 2019-11-27 | 2023-02-28 | United Services Automobile Association (Usaa) | Voice interaction scripts |
| CN111048115A (en) * | 2019-12-13 | 2020-04-21 | 集奥聚合(北京)人工智能科技有限公司 | Voice recognition method and device |
| CN111459451A (en) * | 2020-03-31 | 2020-07-28 | 北京市商汤科技开发有限公司 | Interactive object driving method, device, equipment and storage medium |
| WO2022047214A2 (en) | 2020-08-27 | 2022-03-03 | Carnelian Laboratories Llc | Digital assistant control of applications |
| US12002458B1 (en) * | 2020-09-04 | 2024-06-04 | Amazon Technologies, Inc. | Autonomously motile device with command processing |
| US11620993B2 (en) * | 2021-06-09 | 2023-04-04 | Merlyn Mind, Inc. | Multimodal intent entity resolver |
| JPWO2022259498A1 (en) * | 2021-06-10 | 2022-12-15 | ||
| US12014727B2 (en) * | 2021-07-14 | 2024-06-18 | Google Llc | Hotwording by degree |
| TWI789891B (en) * | 2021-09-03 | 2023-01-11 | 中華大學學校財團法人中華大學 | Condition-triggered feedback system and method thereof |
| US12387721B2 (en) * | 2021-09-22 | 2025-08-12 | International Business Machines Corporation | Multiuser voice command visualization |
| US12518092B2 (en) | 2021-10-15 | 2026-01-06 | Adeia Guides Inc. | Systems and methods to generate contextual based actions |
| US12262115B2 (en) | 2022-01-28 | 2025-03-25 | Gopro, Inc. | Methods and apparatus for electronic image stabilization based on a lens polynomial |
| US11978436B2 (en) * | 2022-06-03 | 2024-05-07 | Apple Inc. | Application vocabulary integration with a digital assistant |
| US12287826B1 (en) | 2022-06-29 | 2025-04-29 | Gopro, Inc. | Systems and methods for sharing media items capturing subjects |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1073036A2 (en) * | 1999-07-30 | 2001-01-31 | Canon Kabushiki Kaisha | Parsing of downloaded documents for a speech synthesis enabled browser |
| US20040117189A1 (en) | 1999-11-12 | 2004-06-17 | Bennett Ian M. | Query engine for processing voice based queries including semantic decoding |
| US20080010071A1 (en) * | 2006-07-07 | 2008-01-10 | Michael Callahan | Neural translator |
| US20080133230A1 (en) * | 2006-07-10 | 2008-06-05 | Mirko Herforth | Transmission of text messages by navigation systems |
| WO2012090196A1 (en) * | 2010-12-30 | 2012-07-05 | Melamed Gal | Method and system for processing content |
| US20120323557A1 (en) * | 2011-06-19 | 2012-12-20 | Detlef Koll | Speech Recognition Using Context-Aware Recognition Models |
| EP2575128A2 (en) | 2011-09-30 | 2013-04-03 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
| US8452602B1 (en) | 2011-09-30 | 2013-05-28 | Google Inc. | Structuring verbal commands to allow concatenation in a voice interface in a mobile device |
Family Cites Families (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW323364B (en) * | 1993-11-24 | 1997-12-21 | At & T Corp | |
| US6157705A (en) * | 1997-12-05 | 2000-12-05 | E*Trade Group, Inc. | Voice control of a server |
| US6499013B1 (en) * | 1998-09-09 | 2002-12-24 | One Voice Technologies, Inc. | Interactive user interface using speech recognition and natural language processing |
| US7069220B2 (en) * | 1999-08-13 | 2006-06-27 | International Business Machines Corporation | Method for determining and maintaining dialog focus in a conversational speech system |
| US7188066B2 (en) * | 2002-02-04 | 2007-03-06 | Microsoft Corporation | Speech controls for use with a speech system |
| TW200506709A (en) | 2003-08-08 | 2005-02-16 | Mitac Technology Corp | Fast voice control device for computer device and method thereof |
| US7356472B2 (en) * | 2003-12-11 | 2008-04-08 | International Business Machines Corporation | Enabling speech within a multimodal program using markup |
| US20060074658A1 (en) * | 2004-10-01 | 2006-04-06 | Siemens Information And Communication Mobile, Llc | Systems and methods for hands-free voice-activated devices |
| US7624019B2 (en) * | 2005-10-17 | 2009-11-24 | Microsoft Corporation | Raising the visibility of a voice-activated user interface |
| ES2302640B1 (en) * | 2006-12-21 | 2009-05-21 | Juan Jose Bermudez Perez | SYSTEM FOR INTERACTION THROUGH VOICE ON WEB PAGES. |
| US8219406B2 (en) | 2007-03-15 | 2012-07-10 | Microsoft Corporation | Speech-centric multimodal user interface design in mobile technology |
| US20090018830A1 (en) | 2007-07-11 | 2009-01-15 | Vandinburg Gmbh | Speech control of computing devices |
| 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 |
| TWM343204U (en) | 2008-04-22 | 2008-10-21 | Darfon Electronics Corp | Input apparatus |
| WO2010096191A2 (en) * | 2009-02-18 | 2010-08-26 | Exbiblio B.V. | Automatically capturing information, such as capturing information using a document-aware device |
| US9858925B2 (en) * | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
| US8412531B2 (en) | 2009-06-10 | 2013-04-02 | Microsoft Corporation | Touch anywhere to speak |
| EP2606437A4 (en) | 2010-08-16 | 2015-04-01 | Nokia Corp | METHOD AND APPARATUS FOR PERFORMING ACTIONS OF DEVICES BASED ON CONTEXT KNOWLEDGE |
| US20130219277A1 (en) * | 2012-02-21 | 2013-08-22 | Mobotap Inc. | Gesture and Voice Controlled Browser |
| EP2639792A1 (en) * | 2012-03-16 | 2013-09-18 | France Télécom | Voice control of applications by associating user input with action-context idendifier pairs |
| US20130317827A1 (en) | 2012-05-23 | 2013-11-28 | Tsung-Chun Fu | Voice control method and computer-implemented system for data management and protection |
| TWM453219U (en) | 2012-11-05 | 2013-05-11 | Chung Han Interlingua Knowledge Co Ltd | Semantic identification device |
| US9384732B2 (en) * | 2013-03-14 | 2016-07-05 | Microsoft Technology Licensing, Llc | Voice command definitions used in launching application with a command |
| WO2014144949A2 (en) * | 2013-03-15 | 2014-09-18 | Apple Inc. | Training an at least partial voice command system |
| US9792546B2 (en) * | 2013-06-14 | 2017-10-17 | Brain Corporation | Hierarchical robotic controller apparatus and methods |
| US9343068B2 (en) * | 2013-09-16 | 2016-05-17 | Qualcomm Incorporated | Method and apparatus for controlling access to applications having different security levels |
| US20170200455A1 (en) * | 2014-01-23 | 2017-07-13 | Google Inc. | Suggested query constructor for voice actions |
| US9858039B2 (en) * | 2014-01-28 | 2018-01-02 | Oracle International Corporation | Voice recognition of commands extracted from user interface screen devices |
| US10978060B2 (en) * | 2014-01-31 | 2021-04-13 | Hewlett-Packard Development Company, L.P. | Voice input command |
-
2014
- 2014-01-31 US US15/114,386 patent/US10978060B2/en not_active Expired - Fee Related
- 2014-01-31 CN CN201480074511.6A patent/CN105934791B/en not_active Expired - Fee Related
- 2014-01-31 WO PCT/US2014/014091 patent/WO2015116151A1/en not_active Ceased
- 2014-01-31 EP EP14880444.6A patent/EP3100259A4/en not_active Ceased
-
2015
- 2015-01-27 TW TW104102702A patent/TWI544366B/en not_active IP Right Cessation
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1073036A2 (en) * | 1999-07-30 | 2001-01-31 | Canon Kabushiki Kaisha | Parsing of downloaded documents for a speech synthesis enabled browser |
| US20040117189A1 (en) | 1999-11-12 | 2004-06-17 | Bennett Ian M. | Query engine for processing voice based queries including semantic decoding |
| US20080010071A1 (en) * | 2006-07-07 | 2008-01-10 | Michael Callahan | Neural translator |
| US20080133230A1 (en) * | 2006-07-10 | 2008-06-05 | Mirko Herforth | Transmission of text messages by navigation systems |
| WO2012090196A1 (en) * | 2010-12-30 | 2012-07-05 | Melamed Gal | Method and system for processing content |
| US20120323557A1 (en) * | 2011-06-19 | 2012-12-20 | Detlef Koll | Speech Recognition Using Context-Aware Recognition Models |
| EP2575128A2 (en) | 2011-09-30 | 2013-04-03 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
| US8452602B1 (en) | 2011-09-30 | 2013-05-28 | Google Inc. | Structuring verbal commands to allow concatenation in a voice interface in a mobile device |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP3100259A4 |
Cited By (233)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11928604B2 (en) | 2005-09-08 | 2024-03-12 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
| US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
| US12477470B2 (en) | 2007-04-03 | 2025-11-18 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
| US11979836B2 (en) | 2007-04-03 | 2024-05-07 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
| US11023513B2 (en) | 2007-12-20 | 2021-06-01 | 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 |
| US10108612B2 (en) | 2008-07-31 | 2018-10-23 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
| US11900936B2 (en) | 2008-10-02 | 2024-02-13 | 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 |
| US12361943B2 (en) | 2008-10-02 | 2025-07-15 | 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 |
| US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
| US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
| US12087308B2 (en) | 2010-01-18 | 2024-09-10 | Apple Inc. | Intelligent automated assistant |
| US12165635B2 (en) | 2010-01-18 | 2024-12-10 | Apple Inc. | Intelligent automated assistant |
| US12431128B2 (en) | 2010-01-18 | 2025-09-30 | Apple Inc. | Task flow identification based on user intent |
| US10692504B2 (en) | 2010-02-25 | 2020-06-23 | Apple Inc. | User profiling for voice input processing |
| US10417405B2 (en) | 2011-03-21 | 2019-09-17 | Apple Inc. | Device access using voice authentication |
| US11350253B2 (en) | 2011-06-03 | 2022-05-31 | Apple Inc. | Active transport based notifications |
| US12556890B2 (en) | 2011-06-03 | 2026-02-17 | Apple Inc. | Active transport based notifications |
| US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
| US11069336B2 (en) | 2012-03-02 | 2021-07-20 | Apple Inc. | Systems and methods for name pronunciation |
| US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
| US11321116B2 (en) | 2012-05-15 | 2022-05-03 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
| US12613730B2 (en) | 2012-05-15 | 2026-04-28 | 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 |
| US10978090B2 (en) | 2013-02-07 | 2021-04-13 | Apple Inc. | Voice trigger for a digital assistant |
| US11636869B2 (en) | 2013-02-07 | 2023-04-25 | Apple Inc. | Voice trigger for a digital assistant |
| US11862186B2 (en) | 2013-02-07 | 2024-01-02 | Apple Inc. | Voice trigger for a digital assistant |
| US12277954B2 (en) | 2013-02-07 | 2025-04-15 | Apple Inc. | Voice trigger for a digital assistant |
| US12009007B2 (en) | 2013-02-07 | 2024-06-11 | Apple Inc. | Voice trigger for a digital assistant |
| US10714117B2 (en) | 2013-02-07 | 2020-07-14 | Apple Inc. | Voice trigger for a digital assistant |
| US11557310B2 (en) | 2013-02-07 | 2023-01-17 | Apple Inc. | Voice trigger for a digital assistant |
| US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
| US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use 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 |
| US10769385B2 (en) | 2013-06-09 | 2020-09-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
| US11048473B2 (en) | 2013-06-09 | 2021-06-29 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
| US11727219B2 (en) | 2013-06-09 | 2023-08-15 | Apple Inc. | System and method for inferring user intent from speech inputs |
| US12073147B2 (en) | 2013-06-09 | 2024-08-27 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
| US12010262B2 (en) | 2013-08-06 | 2024-06-11 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
| US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
| US12067990B2 (en) | 2014-05-30 | 2024-08-20 | Apple Inc. | Intelligent assistant for home automation |
| US11699448B2 (en) | 2014-05-30 | 2023-07-11 | Apple Inc. | Intelligent assistant for home automation |
| US10497365B2 (en) | 2014-05-30 | 2019-12-03 | Apple Inc. | Multi-command single utterance input method |
| US10657966B2 (en) | 2014-05-30 | 2020-05-19 | Apple Inc. | Better resolution when referencing to concepts |
| US10699717B2 (en) | 2014-05-30 | 2020-06-30 | Apple Inc. | Intelligent assistant for home automation |
| US10714095B2 (en) | 2014-05-30 | 2020-07-14 | Apple Inc. | Intelligent assistant for home automation |
| US10083690B2 (en) | 2014-05-30 | 2018-09-25 | Apple Inc. | Better resolution when referencing to concepts |
| US12118999B2 (en) | 2014-05-30 | 2024-10-15 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US11670289B2 (en) | 2014-05-30 | 2023-06-06 | Apple Inc. | Multi-command single utterance input method |
| US10878809B2 (en) | 2014-05-30 | 2020-12-29 | Apple Inc. | Multi-command single utterance input method |
| US11257504B2 (en) | 2014-05-30 | 2022-02-22 | Apple Inc. | Intelligent assistant for home automation |
| US11810562B2 (en) | 2014-05-30 | 2023-11-07 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US10417344B2 (en) | 2014-05-30 | 2019-09-17 | Apple Inc. | Exemplar-based natural language processing |
| US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US11838579B2 (en) | 2014-06-30 | 2023-12-05 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US12200297B2 (en) | 2014-06-30 | 2025-01-14 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US11516537B2 (en) | 2014-06-30 | 2022-11-29 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US10431204B2 (en) | 2014-09-11 | 2019-10-01 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
| US10390213B2 (en) | 2014-09-30 | 2019-08-20 | Apple Inc. | Social reminders |
| US10453443B2 (en) | 2014-09-30 | 2019-10-22 | Apple Inc. | Providing an indication of the suitability of speech recognition |
| US10438595B2 (en) | 2014-09-30 | 2019-10-08 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
| US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
| US12236952B2 (en) | 2015-03-08 | 2025-02-25 | Apple Inc. | Virtual assistant activation |
| US10529332B2 (en) | 2015-03-08 | 2020-01-07 | Apple Inc. | Virtual assistant activation |
| US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
| US11087759B2 (en) | 2015-03-08 | 2021-08-10 | Apple Inc. | Virtual assistant activation |
| US10930282B2 (en) | 2015-03-08 | 2021-02-23 | Apple Inc. | Competing devices responding to voice triggers |
| US11842734B2 (en) | 2015-03-08 | 2023-12-12 | Apple Inc. | Virtual assistant activation |
| US10311871B2 (en) | 2015-03-08 | 2019-06-04 | Apple Inc. | Competing devices responding to voice triggers |
| US12001933B2 (en) | 2015-05-15 | 2024-06-04 | Apple Inc. | Virtual assistant in a communication session |
| US12154016B2 (en) | 2015-05-15 | 2024-11-26 | Apple Inc. | Virtual assistant in a communication session |
| US12333404B2 (en) | 2015-05-15 | 2025-06-17 | Apple Inc. | Virtual assistant in a communication session |
| US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
| US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
| US11127397B2 (en) | 2015-05-27 | 2021-09-21 | Apple Inc. | Device voice control |
| US10681212B2 (en) | 2015-06-05 | 2020-06-09 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
| US10356243B2 (en) | 2015-06-05 | 2019-07-16 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
| US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
| US11947873B2 (en) | 2015-06-29 | 2024-04-02 | Apple Inc. | Virtual assistant for media playback |
| US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
| US12386491B2 (en) | 2015-09-08 | 2025-08-12 | Apple Inc. | Intelligent automated assistant in a media environment |
| US12608171B2 (en) | 2015-09-08 | 2026-04-21 | Apple Inc. | Zero latency digital assistant |
| US11550542B2 (en) | 2015-09-08 | 2023-01-10 | Apple Inc. | Zero latency digital assistant |
| US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
| US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
| US11954405B2 (en) | 2015-09-08 | 2024-04-09 | Apple Inc. | Zero latency digital assistant |
| US12204932B2 (en) | 2015-09-08 | 2025-01-21 | Apple Inc. | Distributed personal assistant |
| US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
| US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
| US12051413B2 (en) | 2015-09-30 | 2024-07-30 | Apple Inc. | Intelligent device identification |
| US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
| US11809886B2 (en) | 2015-11-06 | 2023-11-07 | Apple Inc. | Intelligent automated assistant in a messaging environment |
| US11886805B2 (en) | 2015-11-09 | 2024-01-30 | Apple Inc. | Unconventional virtual assistant interactions |
| US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
| US10354652B2 (en) | 2015-12-02 | 2019-07-16 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
| US10942703B2 (en) | 2015-12-23 | 2021-03-09 | Apple Inc. | Proactive assistance based on dialog communication between devices |
| US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
| US11069347B2 (en) | 2016-06-08 | 2021-07-20 | Apple Inc. | Intelligent automated assistant for media exploration |
| US12223282B2 (en) | 2016-06-09 | 2025-02-11 | Apple Inc. | Intelligent automated assistant in a home environment |
| AU2016409890B2 (en) * | 2016-06-10 | 2018-07-19 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US11657820B2 (en) | 2016-06-10 | 2023-05-23 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| DK201770036A1 (en) * | 2016-06-10 | 2018-01-15 | Apple Inc | Intelligent digital assistant in a multi-tasking environment |
| US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US11037565B2 (en) | 2016-06-10 | 2021-06-15 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US12175977B2 (en) | 2016-06-10 | 2024-12-24 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US10733993B2 (en) | 2016-06-10 | 2020-08-04 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US11152002B2 (en) | 2016-06-11 | 2021-10-19 | Apple Inc. | Application integration with a digital assistant |
| US11809783B2 (en) | 2016-06-11 | 2023-11-07 | Apple Inc. | Intelligent device arbitration and control |
| US10942702B2 (en) | 2016-06-11 | 2021-03-09 | Apple Inc. | Intelligent device arbitration and control |
| US12293763B2 (en) | 2016-06-11 | 2025-05-06 | Apple Inc. | Application integration with a digital assistant |
| US11749275B2 (en) | 2016-06-11 | 2023-09-05 | Apple Inc. | Application integration with a digital assistant |
| US10580409B2 (en) | 2016-06-11 | 2020-03-03 | Apple Inc. | Application integration with a digital assistant |
| US12197817B2 (en) | 2016-06-11 | 2025-01-14 | Apple Inc. | Intelligent device arbitration and control |
| US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
| US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
| US10553215B2 (en) | 2016-09-23 | 2020-02-04 | Apple Inc. | Intelligent automated assistant |
| US10332628B2 (en) | 2016-09-30 | 2019-06-25 | Sap Se | Method and system for control of an electromechanical medical device |
| EP3301598A1 (en) * | 2016-09-30 | 2018-04-04 | Sap Se | Method and system for control of an electromechanical medical device |
| US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
| US11656884B2 (en) | 2017-01-09 | 2023-05-23 | Apple Inc. | Application integration with a digital assistant |
| US12260234B2 (en) | 2017-01-09 | 2025-03-25 | Apple Inc. | Application integration with a digital assistant |
| US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
| US10332518B2 (en) | 2017-05-09 | 2019-06-25 | Apple Inc. | User interface for correcting recognition errors |
| US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
| US10741181B2 (en) | 2017-05-09 | 2020-08-11 | Apple Inc. | User interface for correcting recognition errors |
| US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
| US10847142B2 (en) | 2017-05-11 | 2020-11-24 | Apple Inc. | Maintaining privacy of personal information |
| US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
| US11599331B2 (en) | 2017-05-11 | 2023-03-07 | Apple Inc. | Maintaining privacy of personal information |
| US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
| US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
| US11538469B2 (en) | 2017-05-12 | 2022-12-27 | Apple Inc. | Low-latency intelligent automated assistant |
| US10410637B2 (en) | 2017-05-12 | 2019-09-10 | Apple Inc. | User-specific acoustic models |
| US11405466B2 (en) | 2017-05-12 | 2022-08-02 | Apple Inc. | Synchronization and task delegation of a digital assistant |
| US10789945B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Low-latency intelligent automated assistant |
| US11837237B2 (en) | 2017-05-12 | 2023-12-05 | Apple Inc. | User-specific acoustic models |
| US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
| US11380310B2 (en) | 2017-05-12 | 2022-07-05 | Apple Inc. | Low-latency intelligent automated assistant |
| US11580990B2 (en) | 2017-05-12 | 2023-02-14 | Apple Inc. | User-specific acoustic models |
| US11862151B2 (en) | 2017-05-12 | 2024-01-02 | Apple Inc. | Low-latency intelligent automated assistant |
| US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
| US12014118B2 (en) | 2017-05-15 | 2024-06-18 | Apple Inc. | Multi-modal interfaces having selection disambiguation and text modification capability |
| 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 |
| US12026197B2 (en) | 2017-05-16 | 2024-07-02 | Apple Inc. | Intelligent automated assistant for media exploration |
| US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
| US11217255B2 (en) | 2017-05-16 | 2022-01-04 | Apple Inc. | Far-field extension for digital assistant services |
| US10909171B2 (en) | 2017-05-16 | 2021-02-02 | Apple Inc. | Intelligent automated assistant for media exploration |
| US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
| US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
| US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
| US11675829B2 (en) | 2017-05-16 | 2023-06-13 | Apple Inc. | Intelligent automated assistant for media exploration |
| US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
| US12254887B2 (en) | 2017-05-16 | 2025-03-18 | Apple Inc. | Far-field extension of digital assistant services for providing a notification of an event to a user |
| US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
| US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
| US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
| US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
| US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
| US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
| US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
| US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
| US11710482B2 (en) | 2018-03-26 | 2023-07-25 | Apple Inc. | Natural assistant interaction |
| US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
| US12211502B2 (en) | 2018-03-26 | 2025-01-28 | Apple Inc. | Natural assistant interaction |
| US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
| US11854539B2 (en) | 2018-05-07 | 2023-12-26 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US11169616B2 (en) | 2018-05-07 | 2021-11-09 | Apple Inc. | Raise to speak |
| US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
| US11907436B2 (en) | 2018-05-07 | 2024-02-20 | Apple Inc. | Raise to speak |
| US11900923B2 (en) | 2018-05-07 | 2024-02-13 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US11487364B2 (en) | 2018-05-07 | 2022-11-01 | Apple Inc. | Raise to speak |
| US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
| US10684703B2 (en) | 2018-06-01 | 2020-06-16 | Apple Inc. | Attention aware virtual assistant dismissal |
| US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
| US10403283B1 (en) | 2018-06-01 | 2019-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US12067985B2 (en) | 2018-06-01 | 2024-08-20 | Apple Inc. | Virtual assistant operations in multi-device environments |
| US11495218B2 (en) | 2018-06-01 | 2022-11-08 | Apple Inc. | Virtual assistant operation in multi-device environments |
| US12080287B2 (en) | 2018-06-01 | 2024-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US11360577B2 (en) | 2018-06-01 | 2022-06-14 | Apple Inc. | Attention aware virtual assistant dismissal |
| US11431642B2 (en) | 2018-06-01 | 2022-08-30 | Apple Inc. | Variable latency device coordination |
| US10984798B2 (en) | 2018-06-01 | 2021-04-20 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
| US12386434B2 (en) | 2018-06-01 | 2025-08-12 | Apple Inc. | Attention aware virtual assistant dismissal |
| US11630525B2 (en) | 2018-06-01 | 2023-04-18 | Apple Inc. | Attention aware virtual assistant dismissal |
| US12061752B2 (en) | 2018-06-01 | 2024-08-13 | Apple Inc. | Attention aware virtual assistant dismissal |
| US11009970B2 (en) | 2018-06-01 | 2021-05-18 | Apple Inc. | Attention aware virtual assistant dismissal |
| US10720160B2 (en) | 2018-06-01 | 2020-07-21 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
| US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
| US10504518B1 (en) | 2018-06-03 | 2019-12-10 | Apple Inc. | Accelerated task performance |
| US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
| US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
| US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
| US11893992B2 (en) | 2018-09-28 | 2024-02-06 | Apple Inc. | Multi-modal inputs for voice commands |
| US12367879B2 (en) | 2018-09-28 | 2025-07-22 | Apple Inc. | Multi-modal inputs for voice commands |
| US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
| US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
| US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
| US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
| US12136419B2 (en) | 2019-03-18 | 2024-11-05 | Apple Inc. | Multimodality in digital assistant systems |
| US11783815B2 (en) | 2019-03-18 | 2023-10-10 | Apple Inc. | Multimodality in digital assistant systems |
| US12216894B2 (en) | 2019-05-06 | 2025-02-04 | Apple Inc. | User configurable task triggers |
| US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
| US11675491B2 (en) | 2019-05-06 | 2023-06-13 | Apple Inc. | User configurable task triggers |
| US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
| US12154571B2 (en) | 2019-05-06 | 2024-11-26 | Apple Inc. | Spoken notifications |
| US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
| US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
| US11705130B2 (en) | 2019-05-06 | 2023-07-18 | Apple Inc. | Spoken notifications |
| US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
| US11888791B2 (en) | 2019-05-21 | 2024-01-30 | Apple Inc. | Providing message response suggestions |
| US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
| US11360739B2 (en) | 2019-05-31 | 2022-06-14 | Apple Inc. | User activity shortcut suggestions |
| US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
| US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
| US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
| US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
| US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
| US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
| US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
| US12301635B2 (en) | 2020-05-11 | 2025-05-13 | Apple Inc. | Digital assistant hardware abstraction |
| US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
| US11924254B2 (en) | 2020-05-11 | 2024-03-05 | Apple Inc. | Digital assistant hardware abstraction |
| US12197712B2 (en) | 2020-05-11 | 2025-01-14 | Apple Inc. | Providing relevant data items based on context |
| US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
| US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
| US11750962B2 (en) | 2020-07-21 | 2023-09-05 | Apple Inc. | User identification using headphones |
| US12219314B2 (en) | 2020-07-21 | 2025-02-04 | Apple Inc. | User identification using headphones |
| US12619452B2 (en) | 2023-07-20 | 2026-05-05 | Apple Inc. | Intelligent automated assistant in a messaging environment |
Also Published As
| Publication number | Publication date |
|---|---|
| EP3100259A4 (en) | 2017-08-30 |
| CN105934791B (en) | 2019-11-22 |
| EP3100259A1 (en) | 2016-12-07 |
| US10978060B2 (en) | 2021-04-13 |
| US20160358603A1 (en) | 2016-12-08 |
| TWI544366B (en) | 2016-08-01 |
| CN105934791A (en) | 2016-09-07 |
| TW201535157A (en) | 2015-09-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10978060B2 (en) | Voice input command | |
| EP3871403B1 (en) | Apparatus for vision and language-assisted smartphone task automation and method thereof | |
| AU2018212531B2 (en) | Data content filter | |
| US10423691B1 (en) | Rule and filter-based deeplinking between applications | |
| US20170177600A1 (en) | Method, system, and device for processing data in connection with an application | |
| JP6169590B2 (en) | Adaptive input language switching | |
| CN111354360A (en) | Voice interaction processing method, device and electronic device | |
| US20190079665A1 (en) | Data processing method, apparatus, and smart terminal | |
| US20160275194A1 (en) | Query formulation via task continuum | |
| EP2713255A1 (en) | Method and electronic device for prompting character input | |
| US20140380375A1 (en) | Page turning method, page turning apparatus and terminal as well as computer readable medium | |
| US10521249B1 (en) | Gesture Fingerprinting | |
| CN105320736A (en) | Apparatus and method for providing information | |
| TWI682290B (en) | Device and method receiving service from service providing server using application | |
| EP3260998A1 (en) | Method and device for setting profile picture | |
| US10013595B2 (en) | Correlating fingerprints to pointing input device actions | |
| US20140237589A1 (en) | Personalization Data of an Active Application | |
| US10229443B1 (en) | Price filtering based on a user specified single price filtering value | |
| US9189158B2 (en) | Methods, devices and systems for entering textual representations of words into a computing device by processing user physical and verbal interactions with the computing device | |
| WO2017100357A1 (en) | Method, system, and device for processing data in connection with an application | |
| CN113010061A (en) | Desktop display control method and device of terminal, storage medium and terminal | |
| CN106197394A (en) | Air navigation aid and device | |
| US9679076B2 (en) | Method and device for controlling page rollback | |
| US20260105090A1 (en) | Conversational computing device assistant | |
| CN108255365A (en) | Electronic equipment, the system and method for setting operation instruction |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14880444 Country of ref document: EP Kind code of ref document: A1 |
|
| REEP | Request for entry into the european phase |
Ref document number: 2014880444 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2014880444 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15114386 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |