Method and apparatus for determining a control object of a voice command

By receiving user speech as voice commands and utilizing speech history and a speech recognition module, the problem of unclear control objects caused by overlapping voice commands is solved, realizing a method and device for accurately controlling objects in a multi-device environment, enhancing user convenience and device compatibility.

CN122245305APending Publication Date: 2026-06-19HYUNDAI MOTOR CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HYUNDAI MOTOR CO LTD
Filing Date
2025-07-16
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

In existing technologies, when voice commands overlap across multiple devices, it is difficult to accurately determine the controlled object, leading to device malfunctions or failures. This reduces user convenience and device compatibility, and limits the practicality and scalability of voice command control methods and devices.

Method used

By receiving user speech as voice commands, and based on speech history and the fact that the voice commands are repeated, the system uses a speech recognition module and a database to determine the control object of the voice commands, automatically resolving the problem of overlapping voice commands, thus enhancing user convenience and device compatibility.

🎯Benefits of technology

It enables accurate identification of the controlled object when voice commands overlap, enhances user convenience and device compatibility, and improves the practicality and scalability of voice command control methods and devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122245305A_ABST
    Figure CN122245305A_ABST
Patent Text Reader

Abstract

A method and apparatus for determining the control object of a voice command. The method for determining the control object of a voice command includes: receiving a user's speech as a voice command. The method further includes: when the voice command corresponds to a repetitive command for a controllable device, determining the control object of the voice command within the controllable device based on speech history. The controllable device may include a first device and a second device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to methods and apparatus for determining the control object of a voice command. Background Technology

[0002] The content described in this section provides background information for this disclosure only and does not constitute prior art.

[0003] Various devices can connect to a vehicle via wired and wireless communication. However, apart from personal terminals such as smartphones, other devices have limitations in terms of the flexibility to modify hardware and software like personal terminals. Personal terminals can be controlled via voice commands using built-in voice recognition systems. However, devices other than personal terminals struggle to utilize their own voice recognition systems. Therefore, these devices rely on the vehicle's voice recognition system.

[0004] When using a vehicle's voice recognition system to control multiple devices, voice commands may be repeated on multiple devices. For example, if devices using the same command are connected, the vehicle may be unable to identify the control target or prompt the user for selection. As a result, the target device may fail to function or malfunction, reducing user convenience.

[0005] The problems with conventional methods and apparatuses for determining the control target of voice commands are described below. First, there is a technical problem: when voice commands overlap across multiple devices, it is difficult to accurately determine the control target. As a result, the target device may fail to operate or may malfunction.

[0006] Secondly, there is a technical issue of reduced compatibility between devices connected to the vehicle. This may not be a problem when using unique voice commands recognized by multiple devices connected to the vehicle to control them. However, if repetitive voice commands are used, there is a technical issue of control conflicts between multiple devices.

[0007] Third, there are technical issues that reduce user convenience. As the demand for vehicles to control devices solely through voice commands, without control screens, continues to grow, the inconvenience of having to select the control device or use only a specific device each time becomes apparent.

[0008] Fourth, there are technical issues that reduce practicality and scalability. The inability to resolve the overlap of voice commands makes it difficult to ensure connectivity between the vehicle and various devices, thus limiting the practicality and scalability of voice command control methods and devices. Summary of the Invention

[0009] Therefore, there is a need to improve the methods and apparatus for determining the control object when a voice command is repeated based on the user's speech history.

[0010] The purpose of the disclosed embodiments is to provide a method and apparatus for determining the control object (e.g., a controllable object hardware device or component) of a voice command, which enables accurate determination of the control object when voice commands overlap between devices connected to a vehicle, thereby allowing control of devices in accordance with user intent.

[0011] The disclosed embodiments also provide a method and apparatus for determining the control object of a voice command, which enhances compatibility between devices connected to a vehicle by determining the object to be controlled by a user's voice command (which is a duplicate command).

[0012] The disclosed embodiments also provide a method and apparatus for determining the control object of a voice command, which enhances user convenience by automatically determining the control object of the voice command when the user's voice command is a repetitive command.

[0013] The disclosed embodiments also provide a method and apparatus for determining the control object of a voice command, which enhances the practicality and scalability of the voice command control method and apparatus by solving the problem of overlapping voice commands.

[0014] The purposes of this disclosure are not limited to those described above, and other purposes not expressly mentioned below will be obvious to those skilled in the art.

[0015] According to one aspect of this disclosure, a method for determining a control object of a voice command is provided. The method includes: receiving user speech as a voice command. The method further includes: determining the control object of the voice command within a controllable device based on speech history and based on the fact that the voice command is a repeated command for a controllable device.

[0016] According to another aspect of this disclosure, an apparatus for determining a control object of a voice command is provided. The apparatus includes a memory configured to store computer-executable instructions. The apparatus also includes at least one processor configured to execute the computer-executable instructions to receive user speech as a voice command. The at least one processor is further configured to: determine the control object of the voice command in a controllable device based on speech history and based on the fact that the voice command is a repeated command for a controllable device.

[0017] Embodiments of this disclosure enable accurate identification of the control object when voice commands overlap between devices connected to the vehicle, thereby allowing control of devices that conform to the user's intent.

[0018] Embodiments of this disclosure enhance compatibility between devices connected to a vehicle by determining the object to be controlled by a user's voice command (which is a repetitive command).

[0019] The embodiments of this disclosure enhance user convenience by automatically determining the control object of a voice command based on whether the voice command is a repetitive command.

[0020] The embodiments of this disclosure enhance the practicality and scalability of voice command control methods and apparatus by addressing the problem of overlapping voice commands.

[0021] The effects of this invention are not limited to those described above. Those skilled in the art should clearly understand other effects not mentioned through the following description. Attached Figure Description

[0022] Figure 1 This is a diagram illustrating the application of a method according to an embodiment of this disclosure.

[0023] Figure 2 This is a functional block diagram of an apparatus for determining a control object of a voice command according to an embodiment of the present disclosure.

[0024] Figure 3 This is a flowchart illustrating a method for determining a control object for a voice command according to an embodiment of the present disclosure.

[0025] Figure 4 This is a flowchart illustrating a method for determining a control object for a voice command according to an embodiment of the present disclosure.

[0026] Figure 5 This is a flowchart illustrating a method for automatically setting sub-commands for a second device according to an embodiment of the present disclosure.

[0027] Figure 6 This is an example diagram illustrating a method for determining a control object for a voice command according to an embodiment of the present disclosure.

[0028] Figure 7 This is a schematic diagram of an exemplary configuration of a computing device that can be used to implement the apparatus and methods described herein. Specific Implementation

[0029] In the following description, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In these drawings, even if an element is shown in different figures, the same reference numerals are always used to denote the same or equivalent elements. Furthermore, in the following description of the various embodiments, detailed descriptions of well-known functions and configurations included are omitted for clarity and brevity.

[0030] Furthermore, terms such as first, second, A, B, (a), (b) are used only to distinguish one component from another and are not intended to imply or suggest the type, order, or sequence of components. In this specification, when a component “comprises” or “includes” a component, unless otherwise expressly stated, it should be understood that the component may include other components. When components, devices, elements, parts, units, modules, etc., of this disclosure are described as having a certain purpose or performing a certain operation, function, etc., that component, device, or element should be considered herein as “configured to” satisfy that purpose or perform that operation or function. Each “component,” “unit,” “module,” “component,” “device,” “element,” etc., may be implemented individually or may be included as part of a device in a processor and memory (e.g., a non-transitory computer-readable medium).

[0031] The following detailed description and accompanying drawings are intended to illustrate various embodiments of the present disclosure, and are not intended to limit the scope of the disclosure to the embodiments described herein.

[0032] In this disclosure, the user's voice commands and the voice commands of the first device and the second device may include a control object name slot or an action command slot that can be controlled by voice commands.

[0033] In this disclosure, "slot" refers to a semantic unit extracted from a user's voice command, such as a control object name slot (e.g., "driver's seat", "car seat heater") or an action command slot (e.g., "turn on", "raise temperature").

[0034] Slot extraction can be performed by the system by analyzing the linguistic structure of voice commands. Voice commands are first transcribed into text by a speech recognition module. The transcribed text can then be tokenized and parsed to identify noun phrases and verb phrases. These linguistic components can be analyzed using part-of-speech tagging and rule-based pattern matching, followed by matching against a predefined database of voice commands stored in non-transient memory. This database includes a first device voice command database, a second device voice command database, and a database storing conflicting and duplicate commands from each device.

[0035] When a control object or action term is associated with multiple devices (e.g., when the term "car seat" can refer to both an internal car seat and an external baby seat), the system can refer to a user utterance history database to determine which device the user has previously controlled using the same expression. If the utterance history does not provide a clear indication, the system can prompt the user for clarification via the user interface or automatically assign a sub-command (e.g., a nickname or alias) to one of the devices to resolve ambiguity. The resolved slot-to-device mapping can be stored in memory and updated to ensure consistency in future voice command processing.

[0036] Through this process, the control object name slot and action command slot are semantically extracted and accurately mapped to the appropriate device. This enables the system to generate corresponding control signals and send these signals to the identified device via a communication interface (e.g., a Controller Area Network (CAN) bus or a wireless protocol module). Even in environments with overlapping command vocabulary, this architecture can use natural voice commands to accurately and context-awarely control multiple devices.

[0037] Figure 1 This is a diagram illustrating the application of a method according to an embodiment of this disclosure.

[0038] The means for determining the controlled object of a voice command may be installed in vehicle 100. Vehicle 100 may include controllable devices. Controllable devices may include hardware components / devices that can be controlled by voice commands. Controllable devices may include a first device 110 (e.g., a first hardware component / device) and a second device 120 (e.g., a second hardware component / device). The vehicle may connect to the second device 120 using wired or wireless communication.

[0039] The first device 110 may be a component / equipment built into the vehicle. For example, the first device 110 may be a driver's seat, a speaker, an air conditioner, etc.

[0040] The second device 120 can be a component / device capable of sending and receiving data using wired or wireless communication with vehicle 100. For example, the second device 120 may include a baby seat, a mobile phone, a speaker, etc. The wired or wireless communication can be wired communication, such as LAN (Local Area Network) communication or wired communication, or it can be wireless communication, such as cellular communication, short-range wireless communication, or GNSS (Global Navigation Satellite System) communication. Short-range wireless communication can be Bluetooth, Wi-Fi Direct, or IrDA (Infrared Data Association).

[0041] A user riding in vehicle 100 can control controllable devices, including first device 110 and second device 120, by inputting voice commands into a device for determining the controllable object of the voice command. It is possible that the object or action controlled by the user's voice command can include both first device 110 and second device 120. The controllable object can include controllable devices, such as both first device 110 and second device 120, or it can refer to actions applied simultaneously to controllable devices (e.g., both devices). A repeated command refers to a voice command where the controllable object is repeated, or an action controllable object is repeated.

[0042] If a user's voice command is a repetitive command while the vehicle 100 is connected to the second device 120, a technical problem arises because it is difficult to determine which controllable device is being controlled by the voice command. Conventional voice recognition devices in the vehicle 100 have the following inconveniences: when a repetitive command is given, only one controllable device (e.g., the first device 110 or the second device 120) can be controlled, or the user must select the controllable device to be controlled each time. To solve this technical problem, this disclosure provides a method and apparatus for automatically determining, based on the user's speech history, the object to be controlled by the repetitive command, i.e., which controllable hardware component / device, while the second device 120 is connected.

[0043] Figure 2 This is a functional block diagram of an apparatus for determining a control object of a voice command according to an embodiment of the present disclosure.

[0044] like Figure 2 As shown, the apparatus 200 for determining the control object of a voice command according to an embodiment of this disclosure may include all or some of the following: a first device voice command database (DB) 202, a repeating command DB 204, a second device voice command DB 206, a user speech history DB 208, a command determination module 210, and an updated voice command DB 212. The apparatus 200 can extract semantic units (slots) from the transcribed voice commands by performing tokenization, part-of-speech tagging, and pattern matching. These slots may include control object name slots and action command slots, and can be used to determine repeating commands and control objects between the first device and the second device.

[0045] The first device 20 may include a voice command database (DB) for controlling the first device 20. The voice command database included in the first device 20 may include a primary command and secondary commands for the first device 20. The primary and secondary commands for the first device 20 may be predefined voice commands. The primary command for the first device 20 may be a predefined voice command for controlling the first device 20. The secondary commands for the first device 20 may be predefined auxiliary commands used to enhance the recognition accuracy of the voice commands. The secondary commands for the first device 20 may be commands set differently from the primary command for the first device 20. For example, if the primary command for the first device 20 is "driver's seat," then the secondary commands for the first device 20 may include nicknames or aliases, such as "driver's car seat," "car seat," or "seat." In another example, if the primary command for the first device 20 is "turn on heated seat," then the secondary commands for the first device 20 may include other commands, such as "driver's seat heater" or "seat heater." The primary and secondary commands may include object name slots or action command slots that can be controlled based on the primary and secondary commands. The first device 20 can use wired or wireless communication with the means 200 for determining the control object of the voice command to send main commands and sub-commands for the first device 20.

[0046] The second device 22 may include a voice command database (DB) for controlling the second device 22. The voice command database included in the second device 22 may include a main command and sub-commands for the second device 22. The main command and sub-commands for the second device 22 may be predefined voice commands. The main command for the second device 22 may be a predefined voice command for controlling the second device 22. The sub-commands for the second device 22 may be predefined auxiliary commands used to enhance the recognition accuracy of the voice commands. The sub-commands for the second device 22 may be commands that are set differently from the main command for the second device 22. The second device 22 may transmit the main command and sub-commands for the second device 22 using wired or wireless communication with the device 200 for determining the controlled object of the voice command.

[0047] The device 200 for determining the control object of a voice command can receive main and sub-commands for the first device 20 from the first device 20 via wired or wireless communication. The received main and sub-commands from the first device 20 can be stored in the first device voice command DB 202. The device 200 for determining the control object of a voice command can receive main and sub-commands from the second device 22 via wired or wireless communication. The received main and sub-commands from the second device 22 can be stored in the second device voice command DB 206.

[0048] The first device voice command DB 202 may be a database including main commands and sub-commands for the first device 20. The first device voice command DB 202 may store the main commands and sub-commands received by the first device 20 via wired and / or wireless communication.

[0049] The repeat command DB 204 can be a tabular database storing repeat commands. A repeat command can refer to a command from a voice command that controls both the first device 20 and the second device 22, representing a controllable object or action. The means 200 for determining the controllable object of a voice command can determine whether a voice command is a repeat command by checking whether any primary command of the second device 22 overlaps with any primary or secondary command of the first device 20. Specifically, the means 200 for determining the controllable object of a voice command can store identical commands in the repeat command DB 204, depending on whether the controllable object name slot or the action command slot is the same.

[0050] Whether a device belongs to the same control object name slot can be determined by whether the function controllable by the voice command is the same for both the first device 20 and the second device 22. For example, "driver's seat heater" may include two components: "driver's seat" and "heater." "Driver's seat" refers to the seat position, while "heater" indicates the heating function. Another expression, such as "driver's seat heater," may consist of three functional terms: "driver's seat," "seat," and "heater." Here, "driver's seat" refers to the position, "seat" refers to the component, and "heater" refers to the function. Although the expressions "driver's seat heater" and "driver's seat heater" are not exactly the same in naming, they both represent the same control function—controlling the heater of the driver's seat. Therefore, "driver's seat heater" and "driver's seat heater" can be determined to belong to the same control object name slot.

[0051] Whether a slot contains the same action command name can be determined by whether the function controllable by the voice command is the same for both the first device 20 and the second device 22. For example, the action command slot "Power Off" can perform the same function of shutting down the device in both the first device 20 and the second device 22. Since the controllable function is the same, it can be determined to be the same action command slot.

[0052] The second device voice command database 206 can be a database including main commands and sub-commands for the second device 22. The second device voice command database 206 can store main commands and sub-commands for the second device 22 received via wired or wireless communication. When the vehicle 100 and the second device 22 are connected using wired or wireless communication (e.g., Bluetooth), the vehicle 100 can receive the main commands and sub-commands for the second device 22 using a protocol. The vehicle 100 can interpret and process the main commands and sub-commands for the second device 22 according to the protocol rules and store them in the second device voice command database 206.

[0053] The user speech history database 208 can store speech history, including voice commands that the vehicle 100 has successfully used to control any of the controllable devices (e.g., the first device 20 or the second device 22) by receiving voice commands from the user. The user speech history database 208 can include a list of control object name slots and action command slots for the voice commands. Using the user speech history database 208, it is possible to check whether the user has used a primary or secondary command for the first device 20 or the second device 22.

[0054] The command determination module 210 can determine the voice commands that can control the first device 20 and the second device 22 based on the repeated command DB 204 and the user speech history DB 208. The command determination module 210 can store the determined voice commands in the updated voice command DB 212. The voice commands stored in the user speech history DB 208 can be commands previously used by the user to control the first device 20 or the second device 22. Based on the user's language habits, the voice commands in the user speech history DB 208 can be determined as commands for controlling the first device 20 or the second device 22.

[0055] Command determination module 210 can determine whether any commands included in the repeating command DB 204 also appear in the user speech history DB 208. If a voice command found in the user speech history DB 208 also exists in the repeating command DB 204, then command determination module 210 can determine that the controlled object of the same voice command is the device associated with that command in the user speech history DB 208.

[0056] In some cases, the voice commands in the user speech history DB 208 may correspond to the main command of the first device 20, and the main command of the first device 20 may be the same as the main command of the second device 22. The commands in the repeat command DB 204 may be voice commands shared by the main commands of the first device 20 and the second device 22. When the main command of the first device 20 is the same as the main command of the second device 22, the command determination module 210 may retain the main command of the first device 20 and determine that the control object associated with that command is the first device 20. In this case, the command determination module 210 may exclude the use of the main command of the second device 22 to control the second device 22. If a secondary command for the second device 22 is available, the command determination module 210 may use it as a command to control the second device 22. If no such secondary command exists, a new secondary command may be automatically assigned to the second device 22 so that it does not overlap with the main command of the first device 20.

[0057] For example, the first device 20 could be a driver's seat in a vehicle, and the second device 22 could be a baby seat. In this example, the primary command for both the first device 20 and the second device 22 could be "car seat" as a recurring command. If the user utterance history DB 208 includes a history of using the command "car seat" to control the first device 20, then the command determination module 210 can determine that the controlled object of the command "car seat" is the first device 20. Therefore, the command determination module 210 can exclude the use of the primary command "car seat" to control the second device 22. If the secondary command for the second device 22 is "baby seat," then the command determination module 210 can assign "baby seat" as the command to control the second device 22.

[0058] The user speech history DB 208 can store both the main commands and sub-commands of the first device 20, and in some cases, the main commands and sub-commands of the first device 20 may be the same as those of the second device 22. In this case, the commands stored in the duplicate command DB 204 may include commands extracted from the main commands and sub-commands of the first device 20 and the second device 22. The command determination module 210 can exclude the use of the main commands and sub-commands of the second device 22 to control the second device 22. New commands can be automatically assigned to the second device 22 so that they do not overlap with the main commands or sub-commands of the first device 20.

[0059] In another scenario, the voice commands stored in the user speech history DB 208 may correspond to secondary commands of the first device 20, while the primary commands of both the first device 20 and the second device 22 are the same. Commands included in the repeat command DB 204 may be commands extracted from the primary commands of the first device 20 and the second device 22. The command determination module 210 may exclude the use of the primary command of the first device 20 to control the first device 20. The command determination module 210 may determine that the secondary commands of the first device 20 correspond to commands used to control the first device 20. The command determination module 210 may set commands capable of controlling the second device 22 as the primary commands of the second device 22.

[0060] For example, the first device 20 could be a driver's seat in a vehicle, while the second device 22 could be a baby car seat. In this example, the sub-command of the first device 20 and the primary command of the second device 22 could both be "car seat". The command "car seat" is used as a repetitive command, and the user utterance history DB 208 can include the history of using the command "car seat" to control the first device 20. The command determination module 210 can exclude the use of the primary command "car seat" of the first device 20 to control the first device 20. The command determination module 210 can determine that the controlled object of the sub-command "car seat" is the first device 20. The command determination module 210 can set the primary command "car seat" for the second device 22 to be a command capable of controlling the second device 22.

[0061] In some cases, the voice commands included in the user speech history DB 208 may be the main commands of the first device 20, and the secondary commands of the first device 20 may be the same as the main commands of the second device 22. The repeat command DB 204 may include commands extracted from the secondary commands of the first device 20 and the main commands of the second device 22. The command determination module 210 may exclude the use of the secondary commands of the first device 20 to control the first device 20. The command determination module 210 may determine that the control object of the main command of the first device 20 is the first device 20. The command determination module 210 may set the command capable of controlling the second device 22 as the main command of the second device 22.

[0062] In another scenario, the main command of the first device 20 and the main command of the second device 22 can be the same, while the user speech history DB 208 does not include either the main command of the first device 20 or the main command of the second device 22. The repeat command DB 204 can include commands extracted from the main commands of both the first device 20 and the second device 22. In the absence of a user speech history, the command determination module 210 can determine the control object of the repeat command based on the user's selection. If a sub-command exists for a device that the user has not selected, the command determination module 210 can designate that sub-command as the command for controlling the unselected device. If no such sub-command exists, the command determination module 210 can automatically assign the sub-command for the unselected device in a manner that does not overlap with the main commands of the first device 20 and the second device 22.

[0063] For example, the first device 20 could be a driver's seat in a vehicle, and the second device 22 could be a baby seat. The primary command for both the first device 20 and the second device 22 could be "car seat". The "car seat" command is a recurring command, and the user's speech history DB 208 may not contain a history of using the "car seat" command to control the first device 20. The command determination module 210 can determine the control object of "car seat" based on the user's selection. If the user selects the first device 20 as the control object for "car seat", the command determination module 210 can exclude using the primary command "car seat" to control the second device 22. When the secondary command for the second device 22 is "baby seat", the command determination module 210 can set the command capable of controlling the second device 22 to "baby seat". If there is no secondary command for the second device 22, the command determination module 210 can automatically assign a secondary command for the second device 22, such as "second car seat", in a manner that does not overlap with the primary commands of the first device 20 and the second device 22.

[0064] The updated voice command DB 212 is a database of voice commands that the command determination module 210 updates based on the first device voice command DB 202 and the second device voice command DB 206 to control the first device 20 and the second device 22. The updated voice command DB 212 may be a database where voice commands for the first device 20 and voice commands for controlling the second device 22 are configured separately. The updated voice command DB 212 may be in the form of a user dictionary. For example, the updated voice command DB 212 may be a user dictionary in the form of key-value pairs, CSV (comma-separated values), JSON (JavaScript Object Notation), text files, and XML (Extensible Markup Language).

[0065] Figure 2Not all of the modules shown are essential components. In other embodiments, various modules included in the means 200 for determining the object controlled by the voice command may be added, modified, or removed. Figure 2 The components shown represent functionally different elements, and at least one of these components can be implemented as integrated with each other in a real physical environment.

[0066] Those skilled in the art will understand that one or more modules, such as the command determination module 210 or the speech recognition module described herein, can be implemented using a tangible computer-readable medium or non-transitory memory that includes computer-executable instructions (e.g., executable software code), said computer-executable instructions being implemented by specially configured hardware or a processor (e.g., for...). Figure 7 One or more processors 720 may be used for execution (described in more detail). It should be understood that the disclosed embodiments may be implemented as different or separate modules of device 200, or as a separate computer system coupled to device 200.

[0067] Figure 3 This is a flowchart illustrating a method for determining a control object for a voice command according to an embodiment of the present disclosure.

[0068] In step S300, the means 200 for determining the controlled object of the voice command receives user utterance in the form of a voice command as input, such as a user's speech or a voice command. A microphone (e.g., a voice recognition microphone) may be installed, for example, in a vehicle, to acquire or capture the input utterance (e.g., the user's speech or voice command) and convert the input utterance into a speech signal. A voice recognition module (not shown) may receive the speech signal and transcribe and convert the speech signal representing the voice command from the microphone into a waveform of the voice command, text data of the voice command, or multiple words. In other words, the waveform, text data, or multiple words represent the transcription of the voice command into text.

[0069] In step S302, device 200 determines whether the user's voice command is a repetitive command. This determination may be based on whether a controllable object or action associated with the user's voice command can control both the first device 20 and the second device 22. In other words, device 200 can determine whether the voice command is included in the repetitive command DB 204. Step S302 can be implemented using a processor included in device 200, for example, for Figure 7 The processor 720 is described in more detail.

[0070] In step S304, when the user's voice command is a repeated command for the first device 20 and the second device 22 ("yes" in S302), the means 200 for determining the control object of the voice command determines the control object of the voice command based on the user's speech history DB 208. Specifically, the command determination module 210 can determine the control object of the voice command. Step S304 can be implemented using a processor included in the means 200 for determining the control object of the voice command.

[0071] Figure 4 This is a flowchart illustrating a method for determining a control object for a voice command according to an embodiment of the present disclosure.

[0072] In step S400, the device 200 for determining the control object of the voice command receives the user's voice command in the form of a speech.

[0073] In step S402, the means 200 for determining the control object of the voice command determines whether the user's voice command is a repetitive command. This determination may be based on whether the controllable object or action associated with the user's voice command can control both the first device 20 and the second device 22. In other words, the means 200 may determine whether the voice command is included in the repetitive command DB204. Step S402 can be implemented using a processor included in the means 200 for determining the control object of the voice command, for example, referring to... Figure 7 A more detailed description of the processor 720.

[0074] In step S404, when the user's voice command is a repeated command and there is no voice history of that voice command in the user's speech history DB 208 ("Yes" in S402), the device 200 for determining the control object of the voice command determines the control object of the voice command among the first device 20 and the second device 22 based on the user's selection. Specifically, the command determination module 210 can determine the control object of the voice command. Step S404 can be implemented using a processor included in the device 200 for determining the control object of the voice command, for example, referring to... Figure 7 A more detailed description of the processor 720.

[0075] Figure 5 This is a flowchart illustrating a method for automatically setting a second device sub-command according to an embodiment of the present disclosure.

[0076] In step S500, the device 200 for determining the control object of the voice command determines whether the main command and sub-command of the first device 20 are included in the user speech history DB 208.

[0077] In step S502, the device 200 for determining the control object of the voice command determines whether the main command and sub-command of the second device 22 are the same as the main command and sub-command of the first device 20, respectively. In other words, the device 200 can determine whether the command extracted from the main command and sub-command of both the first device 20 and the second device 22 is included in the repetitive command DB204.

[0078] In step S504, when the user's speech history includes both the main command and the sub-command of the first device 20, and the main command and the sub-command of the second device 22 are the same as those of the first device 20 ("Yes" in S502), the device 200 for determining the control object of the voice command automatically sets a new sub-command for the second device 22 so that it does not overlap with the main command and the sub-command of the first device 20. Thus, the device 200 determines that the control object of the main command and the sub-command of the first device 20 is the first device 20.

[0079] Figure 6 This is an example diagram illustrating a method for determining a control object for a voice command according to an embodiment of the present disclosure.

[0080] As a first example, the following situation may exist: the user's voice command is "A", the secondary command of the first device 20 is "a", the secondary command of the second device 22 is "b", the voice command included in the user's speech history DB 208 is the primary command "A" of the first device 20, and the primary command "A" of the first device 20 is the same as the primary command "A" of the second device 22. The command determination module 210 can maintain the primary command "A" of the first device 20 included in the user's speech history DB 208 as a command that can control the first device 20. The command determination module 210 can exclude the primary command "A" of the second device 22 from the commands that can control the second device 22. The command determination module 210 can set the command that can control the second device 22 as the secondary command "b" of the second device 22. The command determination module 210 can determine the object controlled by the user's voice command "A" as the first device 20.

[0081] As a second example, the following situation may exist: the user's voice command is "A", the secondary command of the first device 20 is "a", the secondary command of the second device 22 is "b", the voice command included in the user's speech history DB 208 is the primary command "A" of the second device 22, and the primary command "A" of the first device 20 is the same as the primary command "A" of the second device 22. The command determination module 210 can maintain the primary command "A" of the second device 22 included in the user's speech history DB 208 as a command that can control the second device 22. The command determination module 210 can exclude the primary command "A" of the first device 20 from the commands that can control the first device 20. The command determination module 210 can set the command that can control the first device 20 as the secondary command "a" of the first device 20. The command determination module 210 can determine the object controlled by the user's voice command "A" as the second device 22.

[0082] As a third example, the following situation may exist: the user's voice command is "a", the primary command of the first device 20 is "a", the secondary command of the second device 22 is "b", the voice command included in the user's speech history DB 208 is the primary command "a" of the first device 20, and the secondary command "A" of the first device 20 is the same as the primary command "A" of the second device 22. The command determination module 210 can maintain the primary command "a" of the first device 20 included in the user's speech history DB 208 as a command that can control the first device 20. The command determination module 210 can exclude the secondary command "A" of the first device 20 from the commands that can control the first device 20. The command determination module 210 can set the command that can control the second device 22 as the secondary command "b" of the second device 22. The command determination module 210 can determine the object controlled by the user's voice command "a" as the first device 20.

[0083] As a fourth example, the following situation may exist: the user's voice command is "B", the primary command of the first device 20 is "B", the secondary command of the second device 22 is "c", the secondary command "b" of the first device 20 is the same as the primary command "b" of the second device 22, and the user's speech history DB 208 does not include the primary command "B" of the first device 20, the secondary command "b" of the first device 20, the primary command "b" of the second device 22, or the secondary command "c" of the second device 22. The command determination module 210 can maintain the primary command "B" of the first device 20 as a command that can control the first device 20. The command determination module 210 can exclude the primary command "b" of the first device 20 from the commands that can control the first device 20. The command determination module 210 can set the command that can control the second device 22 as the primary command "b" of the second device 22. The command determination module 210 can determine the object controlled by the user's voice command "B" as the first device 20.

[0084] As a fifth example, the following situation may exist: the user's voice command is "b", the primary command of the first device 20 is "B", the secondary command of the second device 22 is "c", the secondary command "b" of the first device 20 is the same as the primary command "b" of the second device 22, and the user's speech history DB 208 does not include the primary command "B" of the first device 20, the secondary command "b" of the first device 20, the primary command "b" of the second device 22, and the secondary command "c" of the second device 22. The command determination module 210 can determine the object controlled by the voice command based on the user's selection. If the user selects the first device 20 as the object controlled by the voice command "b", the command determination module 210 can maintain the secondary command "b" of the first device 20 as a command that can control the first device 20. The command determination module 210 can exclude the primary command "b" of the second device 22 from the commands that can control the second device 22. The command determination module 210 can set the command that can control the second device 22 as the secondary command "c" of the second device 22. The command determination module 210 can determine the object controlled by the user's voice command "b" as the first device 20.

[0085] Figure 7 This is a schematic diagram of an exemplary configuration of a computing device that can be used to implement the apparatus and methods described herein.

[0086] The computing device 70 may include some or all of the following: non-transient memory 700, processor 720, storage device 740, input / output (I / O) interface 760, and communication interface 780. The computing device 70 may structurally and / or functionally include at least a portion of means 200 for determining the controlled object of a voice command. The computing device 70 may be a fixed computing device, such as a desktop computer, server, or AI accelerator, or a mobile computing device, such as a laptop or smartphone. The computing device 70 may include any dedicated hardware accelerator capable of efficiently processing artificial intelligence model operations. For example, the computing device 70 may include a graphics processing unit (GPU), a tensor processing unit (TPU), or a neural processing unit (NPU).

[0087] The memory 700 may store programs that allow the processor 720 to perform the methods or operations of various embodiments of the present disclosure. For example, the program may include a plurality of computer-executable instructions stored in the memory 700 that can be executed by the processor 720. The above-described methods or operations may be performed by the processor 720 executing a plurality of commands or computer-executable instructions. The first device voice command DB 202, the repeat command DB 204, the second device voice command DB 206, the user speech history DB 208, and the updated voice command DB 212 may all be implemented using the memory 700. Specifically, the first device voice command DB 202, the repeat command DB 204, the second device voice command DB 206, the user speech history DB 208 storing speech history, and the updated voice command DB 212 may all be stored in the memory 700.

[0088] The memory 700 may be a single memory or multiple memories. In this case, the information required to perform the methods or operations of the embodiments of this disclosure may be stored in a single memory, or it may be split and stored in multiple memories. When the memory 700 consists of multiple memories, these memories may be physically separate.

[0089] The memory 700 may include at least one of volatile memory and non-volatile memory. The volatile memory includes SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory), and the non-volatile memory includes flash memory.

[0090] Processor 720 may include at least one core capable of executing at least one command. Processor 720 may execute commands or computer-executable instructions stored in memory 700. Processor 720 may be a single processor or multiple processors. The function of determining whether a voice command is a repeated command and the function of command determination module 210 may be implemented by processor 720. In addition, the function of controlling controllable devices (including the first device and the second device) may be implemented by processor 720 based on voice commands. Specifically, vehicle 100, device 200, or processor 720 may be configured to control controllable devices based on voice commands.

[0091] Even if the power to the computing device 70 is cut off, the storage device 740 can retain the stored data. For example, the storage device 740 may include non-volatile memory and may include storage media such as magnetic tape, optical disc, or magnetic disk.

[0092] The program stored in storage device 740 can be loaded into memory 700 before being executed by processor 720. Storage device 740 can store source files written in a programming language, and programs compiled from source files, such as compilers, can be loaded into memory 700. Storage device 740 can store data to be processed by processor 720 and / or data processed by processor 720. First device voice command DB 202, repeat command DB 204, second device voice command DB 206, user speech history DB 208, and updated voice command DB 212 can be implemented using storage device 740.

[0093] The input / output interface 760 can provide an interface with input devices (e.g., a keyboard or mouse) and / or output devices (e.g., a display device or a printer). The user can trigger the processor 720 to execute a program via the input device and / or check the processing results of the processor 720 via the output device. The receiving of user speech in the form of voice commands in steps S300 and S400 can be achieved through the input / output interface 760.

[0094] The communication interface 780 can provide access to an external network. For example, the computing device 70 can communicate with other devices through the communication interface 780. For example, other devices may include the first device 20 and the second device 22.

[0095] Each element of the apparatus or method according to this disclosure can be implemented in hardware, software, or a combination of hardware and software. The function of each element can be implemented in software. A microprocessor can be implemented to execute the software functions corresponding to each element.

[0096] Various embodiments of the systems and techniques described herein can be implemented using digital electronic circuits, integrated circuits, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), computer hardware, firmware, software, and / or combinations thereof. Various embodiments may include implementation using one or more computer programs executable on a programmable system. The programmable system includes at least one specially configured programmable processor, which may be a dedicated or specially configured processor, coupled to receive data and instructions from and send data and instructions to a storage system; at least one input device; and at least one output device. The computer program (also referred to as a program, software, software application, or code) includes instructions for the programmable processor and is stored in a computer-readable recording medium.

[0097] Computer-readable recording media can include all types of storage devices on which computer-readable data can be stored. Computer-readable recording media can be non-volatile or non-transitory media, such as read-only memory (ROM), random access memory (RAM), optical disc ROM (CD-ROM), magnetic tape, floppy disk, or optical data storage devices. Furthermore, computer-readable recording media can also include transient media, such as data transmission media. Moreover, computer-readable recording media can be distributed across computer systems connected via a network, and computer-readable program code can be stored and executed in a distributed manner.

[0098] Although the operations in the flowcharts / timing diagrams of this specification are shown to be executed sequentially, this is merely a description of the technical concept of one embodiment of this disclosure. In other words, those skilled in the art to which the various embodiments of this disclosure pertain will understand that various modifications and changes can be made without departing from the basic characteristics of the embodiments of this disclosure. In other words, the order shown in the flowcharts / timing diagrams can be changed, and one or more operations can be executed in parallel. Therefore, the flowcharts / timing diagrams are not limited to a chronological order.

[0099] Although various embodiments of this disclosure have been described for illustrative purposes, those skilled in the art will understand that various modifications, additions, and substitutions can be made without departing from the concept and scope of the claimed disclosure. Therefore, various embodiments of this disclosure have been described for brevity and clarity. The scope of the technical concept of these embodiments is not limited by the illustrations. Therefore, those skilled in the art will understand that the scope of the claimed disclosure is not limited to the embodiments explicitly described above, but is defined by the claims and their equivalents.

Claims

1. A method for determining the control object of a voice command, the method comprising the following steps: Receive user speech as voice commands; as well as When the voice command is a repetitive command for a controllable device, the control object of the voice command in the controllable device is determined based on the speech history.

2. The method according to claim 1, wherein, The steps for determining the controlled object include: When the voice command is a repetitive command and there is no corresponding speech history available, the control object of the voice command in the controllable device is determined based on the user's selection.

3. The method according to claim 1, wherein, The steps for determining the controlled object include: Whether the voice command is a repetitive command is determined based on whether the voice command is associated with the controllable device or the common action of the controllable device.

4. The method according to claim 1, wherein, The steps for determining the controlled object include: Identify one of the controllable devices that control repeated commands stored in the speech history as the control object of the voice command.

5. The method according to claim 1, in, The controllable device includes a first device and a second device, and The step of determining the controlled object based on the discourse history, which includes the main and sub-commands of the first device, and based on the fact that the main and sub-commands of the second device are the same as those of the first device, includes: Automatically set the secondary command of the second device to a new command that does not overlap with the secondary command of the first device; and The control object of the main command and sub-command of the first device is determined to be the first device. The main and secondary commands of the first and second devices are predefined voice commands.

6. The method according to claim 1, wherein, The discourse history is stored in a non-transient memory, and The speech history includes previous voice commands that have been successfully used to control any of the controllable devices by receiving the voice command.

7. The method according to claim 1, wherein, The discourse history is stored in a non-transient memory, and The user speech history includes a list of control object name slots and action command slots for the voice commands.

8. The method according to claim 1, further comprising the following step: The controlled object is controlled based on the voice command.

9. An apparatus for determining the control object of a voice command, the apparatus comprising: Non-transitory memory, configured to store computer-executable instructions; and At least one processor is configured to execute the computer-executable commands to: Receive user speech as voice commands; as well as When the voice command is a repetitive command for a controllable device, the control object of the voice command in the controllable device is determined based on the speech history.

10. The apparatus according to claim 9, wherein, To determine the controlled object, the processor is further configured to: When the voice command is a repetitive command and there is no corresponding speech history available, the control object of the voice command in the controllable device is determined based on the user's selection.

11. The apparatus according to claim 9, wherein, To determine the controlled object, the processor is further configured to: Whether the voice command is a repetitive command is determined based on whether the voice command is associated with the controllable device or the common action of the controllable device.

12. The apparatus according to claim 9, wherein, To determine the controlled object, the processor is further configured to: Identify one of the controllable devices that control repeated commands stored in the speech history as the control object of the voice command.

13. The apparatus according to claim 9, in, The controllable device includes a first device and a second device, and Wherein, based on the discourse history including the main commands and sub-commands of the first device, and based on the main commands and sub-commands of the second device being the same as the main commands and sub-commands of the first device, in order to determine the controlled object, the processor is further configured to: Automatically set the secondary command of the second device to a new command that does not overlap with the secondary command of the first device; and The control object of the main command and sub-command of the first device is determined as the first device, wherein the main command and sub-command of the first device and the second device are predefined voice commands.

14. The apparatus according to claim 9, in, The discourse history is stored in a non-transient memory, and The speech history includes previous voice commands that have been successfully used to control any of the controllable devices by receiving the voice command.

15. The apparatus according to claim 9, in, The discourse history is stored in a non-transient memory, and The user speech history includes a list of control object name slots and action command slots for the voice commands.

16. The apparatus according to claim 9, wherein, The processor is configured to: The controlled object is controlled based on the voice command.