Electronic device performing speech recognition and method for controlling same
By using context data to recognize voice commands in voice recognition electronic devices, the problem of users needing to repeatedly enter call keywords is solved, and the user experience and device response capabilities are improved.
Patent Information
- Application Number
- CN202380057989.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-20
- Filing Date
- 2023-09-04
- Publication Date
- 2025-03-18
AI Technical Summary
When executing simple voice commands, existing voice recognition electronic devices require users to repeatedly enter call keywords, resulting in inconvenient user experience.
By using context data to identify voice commands, even performing corresponding operations without entering separate call keywords. The specific implementation includes: obtaining text data of voice commands, comparing the similarity with multiple commands, identifying corresponding context data, obtaining control signals and performing operations.
It improves user convenience, reduces the number of times you enter call keywords, and enhances the response capabilities of voice recognition electronic devices.
Smart Images

Figure CN119654673A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to an electronic device that performs voice recognition and a method for controlling the electronic device, and more particularly, to an electronic device that performs voice recognition by using context data and a method for controlling the electronic device. Background Art
[0002] Various types of electronic devices have been developed according to the development of electronic technology and are widely used. In recent years, electronic devices that analyze a user's voice using voice recognition technology and provide services to the user based on the analyzed voice have been actively developed.
[0003] In general, in order for an electronic device to perform voice recognition, a user needs to utter a voice (or a wake-up signal) including a call keyword, and then the electronic device can perform an operation for voice recognition by recognizing the above-mentioned call keyword. However, even in the case where a user gives a simple command at home (e.g., "turn on the TV" or "turn on the light"), the user needs to say the call keyword and then say the simple command, which may be inconvenient. Summary of the invention
[0004] According to one aspect of the present disclosure, an electronic device is provided, comprising: at least one sensor; a memory storing multiple context data, each context data corresponding to one of multiple commands; a microphone; and at least one processor configured to: acquire text data corresponding to a voice command received through the microphone, identify a first command among the multiple commands based on a comparison between the acquired text data and the multiple commands, identify first context data corresponding to the identified first command among the multiple context data, acquire a control signal corresponding to the identified first command based on a comparison between the first context data corresponding to the identified first command and second context data corresponding to the voice command acquired through the at least one sensor, and perform an operation based on the control signal.
[0005] According to another aspect of the present disclosure, a method for controlling an electronic device that performs voice recognition is provided, the method comprising: acquiring text data corresponding to a voice command; identifying a first command among multiple commands based on a comparison between the acquired text data and multiple commands; identifying first context data corresponding to the recognized first command among multiple context data, wherein each of the multiple contexts corresponds to one command among the multiple commands; acquiring a control signal corresponding to the recognized first command based on a comparison between the first context data corresponding to the recognized first command and second context data corresponding to the voice command acquired through at least one sensor; and performing an operation based on the control signal. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figure 1 is a diagram for explaining a method for controlling an electronic device according to one or more embodiments.
[0007] Figure 2 is a block diagram illustrating a configuration of an electronic device according to one or more embodiments.
[0008] Figure 3 is a flowchart for explaining a method for controlling an electronic device according to one or more embodiments.
[0009] Figure 4 is a flowchart for explaining a method of acquiring a control signal corresponding to a command according to one or more embodiments.
[0010] Figure 5 is a diagram for explaining commands and context data according to one or more embodiments.
[0011] Figure 6 is a diagram for explaining a method of identifying similarity of context data according to one or more embodiments.
[0012] Figure 7a is a flowchart for explaining a method for identifying contextual data based on intent data according to one or more embodiments.
[0013] Figure 7b is a diagram for explaining a method of identifying context data based on intent data according to one or more embodiments.
[0014] Figure 8 is a diagram for explaining a method of recognizing a command based on intention data for each word according to one or more embodiments.
[0015] Fig. 9 is a block diagram for explaining a first speech recognition module according to one or more embodiments.
[0016] Fig.10 is a block diagram for explaining a second speech recognition module according to one or more embodiments.
[0017] Fig.11 is a flowchart for explaining a method of identifying similarity in consideration of weights corresponding to data types according to one or more embodiments.
[0018] Fig.12 is a block diagram illustrating a detailed configuration of an electronic device according to one or more embodiments. DETAILED DESCRIPTION
[0019] Hereinafter, the present disclosure is described in detail with reference to the accompanying drawings.
[0020] The terms used in the specification are briefly described, and then the present disclosure is described in detail.
[0021] The currently widely used common terms are selected as the terms used in the embodiments of the present disclosure in consideration of their functions in the present disclosure, and may be changed based on the intention of a person skilled in the art or the emergence of judicial precedents, new technologies, etc. In addition, in certain cases, there may be terms arbitrarily selected by the applicant. In this case, the meanings of these terms are mentioned in detail in the corresponding description of the present disclosure. Therefore, the terms used in the embodiments of the present disclosure need to be defined based on the meanings of the terms and the content throughout the present disclosure rather than the simple names of the terms.
[0022] In the present disclosure, expressions “having”, “may have”, “including”, “may include”, etc. indicate the existence of corresponding features (eg, values, functions, operations, or components such as parts), and do not exclude the existence of additional features.
[0023] The expression “at least one of A or / and B” may mean “A or B” or “both A and B”.
[0024] The expressions "first", "second", etc. used in the present disclosure may indicate various components regardless of the order or importance of the components. These expressions are only used to distinguish one component from another component and do not limit the corresponding components.
[0025] In the case where it is mentioned that any component (e.g., a first component) is "(operably or communicatively) coupled" to another component (e.g., a second component) / "(operably or communicatively) coupled to" another component (e.g., a second component) or "connected to" another component (e.g., a second component), it should be understood that any component may be directly coupled to another component or may be coupled to another component through yet another component (e.g., a third component).
[0026] Unless the context clearly indicates otherwise, a singular term may include its plural form. It should be understood that the terms "comprising", "formed by" and the like used in this application specify the presence of the features, numbers, steps, operations, components, parts or combinations thereof mentioned in the specification, and do not exclude the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof.
[0027] In an embodiment, a "module", "unit", "interface" or "device" may perform at least one function or operation and may be implemented by hardware or software, or by a combination of hardware and software. In addition, in addition to a "module" or "device" that needs to be implemented by specific hardware, multiple "modules" or multiple "devices" may be integrated into at least one module and may be implemented by at least one processor (not shown).
[0028] Figure 1 is a diagram for explaining a method for controlling an electronic device according to one or more embodiments.
[0029] refer to Figure 1 According to one or more embodiments, the electronic device 10 may perform an operation corresponding to a voice command received from the user 20. For example, in the case where the user 20 issues a voice command, the electronic device 10 may perform an operation corresponding to the voice command issued by the user 20.
[0030] Here, according to one or more embodiments, the electronic device 10 may be implemented as different types of electronic devices that can perform voice recognition. For example, the electronic device 10 may be implemented as a mobile robot and travel in a driving space. However, the present disclosure is not limited thereto, and the electronic device 10 may be implemented, for example, as various devices such as a smart TV (TV), a tablet personal computer (PC), a monitor, a smart phone, a desktop computer, and a laptop computer. The electronic device 100 according to one or more embodiments of the present disclosure is not limited to the above-mentioned devices, and the electronic device 100 may be implemented as an electronic device 100 having two or more functions of the above-mentioned devices.
[0031] According to one or more embodiments, the electronic device 10 may receive a voice command from the user 20. For example, the voice command may be a phrase: "Hi, Robot. Turn on the light". In the case of receiving a voice command including a calling keyword "Hi, Robot", the electronic device 10 may run a voice recognition mode of the electronic device 10 based on the calling keyword and may perform an operation corresponding to the received voice command.
[0032] In addition, in the case of a specific context, the user 20 may repeatedly input the same user command to the electronic device 10. For example, the electronic device 10 may repeatedly receive a voice command corresponding to "turn on the TV" at 8 pm. In another example, the electronic device 10 may repeatedly receive a voice command corresponding to "turn off the lights" at 11 pm. In yet another example, when the electronic device 10 is located in the kitchen of the home, the electronic device 10 may repeatedly receive a voice command corresponding to "recommend a recipe". Even in the case of receiving a simple voice command as in the above example, the electronic device 10 may perform the corresponding operation only when a call keyword is received. In this way, even in the case of requesting such a simple command, it may be inconvenient for the user to repeatedly input the call keywords one by one.
[0033] Therefore, hereinafter, the present disclosure provides various embodiments for performing a corresponding operation by using context data of an electronic device and a user in case a voice command is received although a separate call keyword is not input.
[0034] Figure 2 is a block diagram illustrating a configuration of an electronic device according to one or more embodiments.
[0035] refer to Figure 2 , the electronic device 100 may include at least one sensor 110 , a memory 120 , a microphone 130 , and at least one processor 140 .
[0036] At least one sensor 110 (hereinafter referred to as a sensor) may include a plurality of sensors of various types. The sensor 110 may measure a physical quantity or detect an operating state of the electronic device 100, and convert the measured or detected information into an electrical signal. The sensor 110 may include a camera, and the camera may include a lens that focuses visible light and other optical signals received after being reflected by an object to an image sensor, and the image sensor may detect the visible light and other optical signals. Here, the image sensor may include a two-dimensional (2D) pixel array divided into a plurality of pixels.
[0037] According to one or more embodiments, the camera may be implemented as a depth camera. In addition, according to one or more embodiments, the sensor 110 may include a thermal image sensor that reads a shape and a distance sensor such as a light detection and ranging (LiDAR) sensor or a time of flight (TOF) sensor.
[0038] According to one or more embodiments, the sensor 110 may detect the operating state of the electronic device 100 and / or the external environmental state of the electronic device 100. For example, the sensor 110 may include one or more sensors configured to detect the operating state (e.g., power or temperature) of the electronic device 100 and / or the external environmental state (e.g., ambient temperature, humidity, or user state) of the electronic device 100. According to one or more embodiments, the sensor 110 may include at least one of a temperature sensor capable of acquiring temperature data, a humidity sensor capable of acquiring humidity data, a gesture sensor, a gyroscope sensor, a pressure sensor, a proximity sensor, a biosensor, an illumination sensor, and a dust sensor capable of calculating the dust concentration around the electronic device 100. In addition, according to one or more embodiments, the sensor 110 may include a motion sensor that detects the motion of the electronic device 100.
[0039] According to an embodiment, the memory 120 may store data. For example, the memory 120 may store data required by the electronic device 100 according to various embodiments of the present disclosure. Based on the data storage purpose, the memory 120 may be implemented in the form of a memory embedded in the electronic device 100, or may be implemented in the form of a memory that can be removed from the electronic device 100. For example, data for driving the electronic device 100 may be stored in a memory embedded in the electronic device 100, and data for extended functions of the electronic device 100 may be stored in a memory that can be removed from the electronic device 100.
[0040] According to an embodiment, the memory embedded in the electronic device 100 may be implemented as at least one of a volatile memory (e.g., a dynamic random access memory (DRAM), a static RAM (SRAM), or a synchronous dynamic RAM (SDRAM)), a nonvolatile memory (e.g., a one-time programmable read-only memory (OTPROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a mask ROM, or a flash ROM), a flash memory (e.g., a NAND flash memory or a NOR flash memory), a hard disk drive, or a solid-state drive (SSD). In addition, the memory removable from the electronic device 100 may be implemented in the form of a memory card (e.g., a compact flash (CF), a secure digital (SD), a micro secure digital (Micro-SD), a mini secure digital (Mini-SD), an extreme digital (xD), or a multimedia card (MMC)) or an external memory (e.g., a USB memory) connectable to a universal serial bus (USB) port.
[0041] According to one or more embodiments, the memory 120 may store context data corresponding to a plurality of commands. According to an embodiment, the memory 120 may store a plurality of context data, each of which corresponds to one of a plurality of commands. That is, each of the plurality of commands may be associated with the corresponding context data in the memory 120. For example, a first command of the plurality of commands may be associated with a first context data stored in the memory 120, and a second command of the plurality of commands may be associated with a second context data stored in the memory 120. Here, the command may indicate data of a text corresponding to a user's request (or intention), and the user's request may indicate a command requesting execution of a specific service. For example, the user may input "Turn on TV". In this case, the command may be a text corresponding to "Turn on TV", and the user's request corresponding to "Turn on TV" may be a control command to turn on a television (TV) in one or more electronic devices. However, such classification is an example and may be implemented in various ways based on a system implementation method.
[0042] According to one or more embodiments, the context data may include not only the context data of the electronic device 100 but also the context data of the user. Figure 5 Describe this configuration in detail.
[0043] According to one or more embodiments, the microphone 130 may indicate a module that acquires audio and converts the audio into an electrical signal. For example, the microphone 130 may be a condenser microphone, a ribbon microphone, a dynamic microphone, a piezoelectric element microphone, a carbon microphone, or a micro-electromechanical system (MEMS) microphone. In addition, the microphone may be implemented using an omnidirectional method, a bidirectional method, a unidirectional method, a subcardioid method, a supercardioid method, or a super-strong cardioid method.
[0044] According to one or more embodiments, the microphone 130 may receive a voice command. According to one or more embodiments, the microphone 130 may acquire audio corresponding to the voice command and convert it into an audio signal.
[0045] According to one or more embodiments, the processor 140 may be electrically connected to the sensor 110, the memory 120, and the microphone 130 to control the overall operation of the electronic device 100. The processor 140 may include one or more processors. In detail, the processor 140 may perform the operation of the electronic device 100 according to various embodiments of the present disclosure by executing at least one command stored in the memory 120.
[0046] According to one or more embodiments, the processor 140 may be implemented as a digital signal processor (DSP), a microprocessor, a graphics processing unit (GPU), an artificial intelligence (AI) processor, a neural processing unit (NPU), or a timing controller (T-CON) that processes a digital video signal. However, the present disclosure is not limited thereto, and the processor may include at least one of a central processing unit (CPU), a microcontroller unit (MCU), a microprocessing unit (MPU), a controller, an application processor (AP), a communication processor (CP), or an advanced RISC machine (ARM) processor, or may be defined by this term. In addition, the processor 140 may be implemented in a system on chip (SoC) or a large-scale integration (LSI) embedded with a processing algorithm, or may be implemented in the form of an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA).
[0047] According to one or more embodiments, the processor 140 may be implemented as a digital signal processor (DSP), a microprocessor, or a timing controller (T-CON). However, the present disclosure is not limited thereto, and the processor may include at least one of a central processing unit (CPU), a microcontroller unit (MCU), a microprocessing unit (MPU), a controller, an application processor (AP), a communication processor (CP), or an advanced RISC machine (ARM) processor, or may be defined by this term. In addition, the processor 140 may be implemented in a system on chip (SoC) or a large-scale integration (LSI) in which a processing algorithm is embedded, or may be implemented in the form of a field programmable gate array (FPGA).
[0048] According to one or more embodiments, the processor 140 may acquire text corresponding to the voice command. According to one or more embodiments, when a voice command is received through the microphone 130, the processor 140 may acquire text corresponding to the received voice command. For example, in the case where a voice command corresponding to "turn on the light" is received from the user through the microphone 130, the processor 140 may acquire text corresponding to the received "turn on the light".
[0049] According to one or more embodiments, the processor 140 may recognize a command based on the acquired text. According to one or more embodiments, the processor 140 may identify whether the acquired text is similar to any one of a plurality of commands stored in the memory 120. According to one or more embodiments, the processor 140 may identify whether there is a command in a plurality of commands that has a similarity satisfying a first threshold or greater with the acquired text. For example, in the case of receiving text corresponding to "turn on the light" (acquired text), the processor 140 may compare the acquired text with texts corresponding to a plurality of commands stored in the memory 120, and acquire the similarity between the acquired text and the texts corresponding to the plurality of commands based on the comparison. Subsequently, the processor 140 may identify at least one command having a similarity satisfying a first threshold or greater in the similarity between the acquired text and the text corresponding to each of the plurality of commands.
[0050] According to one or more embodiments, the similarity between the acquired text and the text corresponding to the multiple commands stored in the memory 120 may be the similarity between the acquired text and the phonemes included in each of the texts corresponding to the multiple commands stored in the memory 120. For example, the processor 140 may recognize the acquired text and the multiple commands in units of phonemes, and compare the phonemes in the acquired text with the phonemes in the texts corresponding to the multiple commands stored in the memory 120. The processor 140 may calculate the similarity between each of the multiple commands and the acquired text based on the ratio of the number of phonemes included in the respective commands that match the phonemes in the acquired text. According to one or more embodiments, referring to Figure 4 Describe this configuration in detail.
[0051] According to one or more embodiments, processor 140 may identify context data corresponding to the recognized command based on data stored in memory 120 .
[0052] According to one or more embodiments, the context data may include location data of the electronic device 100, state data of the electronic device 100, environmental data of the electronic device 100, or context data of the user. Therefore, different types of context data each corresponding to a plurality of commands may be stored in the memory. In the event that any one of the plurality of commands is recognized, the processor 140 may recognize the context data corresponding to the recognized command based on the data stored in the memory 120. According to one or more embodiments, reference is made to Figure 5 Describe this configuration in detail.
[0053] According to one or more embodiments, the processor 140 may acquire current context data. Here, according to one or more embodiments, the current context data may be context data at the time when the voice command is received. For example, the context data may include, but is not limited to, the user's speaking time. In addition, according to one or more embodiments, the processor 140 may acquire current context data through at least one sensor 110. However, the present disclosure is not limited thereto, and therefore, the processor 140 may acquire current context data based on the received voice command. That is, the current context data may include context data acquired through at least one sensor 110, and context data acquired based on the received voice command.
[0054] According to one or more embodiments, the electronic device 100 may be implemented as a robot that travels in a driving space or a driven area. In this case, the processor 140 may obtain data about the position of the electronic device 100 in the driving space through a motion sensor or a global positioning system (GPS) sensor. Optionally, the processor 140 may obtain status data of the electronic device 100 through at least one sensor 110, for example, data about the remaining battery power of the electronic device 100. Optionally, according to one or more embodiments, the processor 140 may obtain environmental data of the electronic device 100 through at least one sensor 110. For example, the processor 140 may obtain data about at least one of temperature, humidity, illumination, dust concentration, or current time. Optionally, according to one or more embodiments, the processor 140 may obtain contextual data of the user, for example, gender data of the user or location data of the user. Reference Figure 5 Describe this configuration in detail.
[0055] According to one or more embodiments, the processor 140 may identify a similarity between the acquired current context data and context data corresponding to the recognized command.
[0056] According to one or more embodiments, in the case of acquiring at least one of the acquired location data, state data, or environment data of the electronic device 100 or the user's context data, the processor 140 may compare multiple data of different types included in the acquired context data with each of multiple data of different types included in the context data corresponding to the recognized command for each corresponding type, and acquire the similarity of the context data corresponding to the recognized command based on the comparison. Here, the type included in the context data may be, for example, the location, state, or environment of the electronic device 100, or the user's context, but is not limited thereto. Reference Figure 6 A method for obtaining the similarity of context data is described in detail.
[0057] According to one or more embodiments, the processor 140 may acquire a control signal corresponding to the recognized command based on the recognized similarity, and perform an operation based on the recognized command.
[0058] According to one or more embodiments, the processor 140 may compare the context data (referred to as "current context data") acquired through the sensor 110 and the context data corresponding to the recognized command (referred to as "command context data") from the memory 120 for each type, and acquire the similarity between the current context data and the command context data corresponding to the recognized command. In the case where the similarity between the current context data and the command context data corresponding to the recognized command satisfies the second threshold or more, the processor 140 may acquire a control signal corresponding to the recognized command and perform an operation corresponding to the control signal.
[0059] Figure 3 is a flowchart for explaining a method for controlling an electronic device according to one or more embodiments.
[0060] according to Figure 3 , the method may include acquiring text corresponding to the received voice command (S310). For example, in a case where a voice command corresponding to the phrase "What time is it?" is received from a user through the microphone 130 as a voice command without including a separate call keyword (or wake-up sound), the processor 140 may acquire text corresponding to the phrase "What time is it?"
[0061] Next, according to one or more embodiments, the method may include identifying a command among a plurality of commands stored in the memory 120 that has a similarity with the acquired text that satisfies a first threshold value or greater (S320). According to one or more embodiments, the processor 140 may acquire a plurality of similarities (e.g., a plurality of similarity values), each of which corresponds to a plurality of commands. For example, each of the plurality of similarity values may be acquired by comparing the acquired text corresponding to the phrase "What time is it?" with the stored text corresponding to each of the plurality of commands stored in the memory 120. Next, the processor 140 may identify the text corresponding to "What time is it?" and "What time is it?" based on the acquired similarity, wherein "What time is it?" and "What time is it?" are commands having a similarity with each other that is a first critical value or greater.
[0062] Next, according to one or more embodiments, the method may include identifying context data corresponding to the recognized command (S330). According to one or more embodiments, the processor 140 may identify context data corresponding to the recognized command “What time is it?” based on data stored in the memory 120.
[0063] For example, the context data corresponding to the recognized command may be context data of the electronic device 100 and / or context data of the user at the time when the voice command corresponding to “What time is it?” was previously received from the user. That is, the commands stored in the memory 120 and the context data corresponding to the stored commands may be historical data of commands and contexts previously acquired from the user. The context data corresponding to the stored commands may be referred to as “stored context data”. Fig. 9 and Fig.10 A method of updating data stored in the memory 120 based on such user history is described in detail.
[0064] Next, according to one or more embodiments, the method may include identifying whether the current context data corresponding to the received voice command is similar to the stored context data corresponding to the recognized command (S340). For example, the method may include identifying whether the similarity (e.g., similarity value) between the current context data and the stored context data satisfies a second threshold or greater. That is, the method may include identifying whether the similarity value based on the comparison between the current context data and the stored context data is equal to or greater than the second threshold. According to one or more embodiments, the processor 140 may compare multiple data of different types included in the context data acquired through the sensor 110 or the voice command (including the current context data of the context data acquired using the voice command) with multiple data of different types included in the context data corresponding to the recognized command for each corresponding type to identify whether the context data corresponding to the recognized command has a similarity that satisfies the second threshold or greater.
[0065] For example, the acquired current context data may include current time data, temperature data, location data of the electronic device 100, and location data of the user acquired by the sensor 110. In this case, the processor 140 may acquire similarity by comparing data on each of the current time, temperature, location of the electronic device 100, and location of the user included in the acquired current context data with data on each of the current time, temperature, location of the electronic device 100, and location of the user included in the context data corresponding to the recognized command for each type.
[0066] In this case, the processor 140 may obtain the similarity by performing comparison based on only at least some types of data among a plurality of different types of data included in the context data. In addition, according to one or more embodiments, a weight value corresponding to each type of the plurality of data may be stored in the memory 120, and the weight value may have different values based on the type. According to one or more embodiments, referring to Figure 6 Describe this configuration in detail.
[0067] Next, according to one or more embodiments, the method may include, in a case where the current context data is identified as having a similarity satisfying a second threshold or greater with the stored context data corresponding to the identified command, acquiring a control signal corresponding to the identified command (S350). According to one or more embodiments, in a case where the current context data is identified as having a similarity satisfying a second threshold or greater with the stored context data corresponding to the identified command “What time is it?”, the processor 140 may acquire a control signal corresponding to the current time search command as a control signal corresponding to the identified “What time is it?”.
[0068] Next, according to one or more embodiments, the method may include performing an operation based on the control signal (S360). According to one or more embodiments, the processor 140 may search for the current time based on the control signal corresponding to the acquired current time search command, and provide data about the searched current time to the user.
[0069] Therefore, even when a separate call keyword is not received, the electronic device 100 can recognize a command corresponding to a voice command by using context data and perform an operation corresponding thereto. As a result, user convenience can be improved.
[0070] Figure 4 is a flowchart illustrating a method of acquiring a control signal corresponding to a command according to one or more embodiments.
[0071] refer to Figure 4 According to one or more embodiments, the method may include recognizing the acquired text as first data in units of phonemes (S410). According to one or more embodiments, in the case where a text corresponding to “What is a time?” is acquired, the processor 140 may recognize the acquired “What is a time?” as first data in units of phonemes. The first data may be data about phonemes included in the text. Here, the data about phonemes may also include data about the order of the respective phonemes included in the text.
[0072] Next, according to one or more embodiments, the method may include identifying a similarity in terms of phonemes by comparing the identified first data with a plurality of second data in units of phonemes, each of the plurality of second data corresponding to a plurality of commands (S420). According to one or more embodiments, the second data in units of phonemes, each corresponding to a plurality of commands, may be stored in the memory 120. The processor 140 may compare the first data corresponding to the obtained text "What is Sijian?" with the second data in units of phonemes, each corresponding to a plurality of commands, stored in the memory 120.
[0073] According to one or more embodiments, the processor 140 may identify a similarity by comparing the identified first data in units of phonemes with a plurality of second data in units of phonemes stored in the memory 120 (each of the plurality of second data corresponding to a plurality of commands), based on the number of phonemes that match the phonemes of the first data among the total number of phonemes corresponding to the plurality of commands. In this case, the processor 140 may compare the corresponding phonemes with each other based on the order of the phonemes. For example, the processor 140 may obtain a similarity by comparing a plurality of phonemes including "s", "i", "j", "i", "a", and "n" included in the obtained text with at least one phoneme included in each of the plurality of commands.
[0074] Next, according to one or more embodiments, the method may include identifying at least one command having a similarity in terms of phonemes equal to or greater than a first threshold value (S430). For example, the method may include identifying a similarity value in terms of phonemes between at least one command and the obtained text that is greater than or equal to the first threshold value. According to one or more embodiments, the processor 140 may compare the phonemes included in the text with the phonemes included in each of the plurality of commands to identify a similarity in units of phonemes corresponding to the plurality of commands, and identify at least one command among the plurality of commands having the identified similarity equal to or greater than the first threshold value. For example, the processor 140 may identify "What time is it?" as a command having a similarity in terms of phonemes that satisfies the first threshold value or greater with the obtained text "What time is it?". However, the present disclosure is not limited to the above example, and a plurality of commands each having the first threshold value or greater may be provided.
[0075] Next, according to one or more embodiments, the method may include identifying context data corresponding to at least one command (S440). According to one or more embodiments, the processor 140 may obtain context data corresponding to the identified command "What time is it?" based on the data stored in the memory 120. For example, the state data of the electronic device 100, the location data of the electronic device 100, the gender data of the speaker, and the location data of the user.
[0076] Next, according to one or more embodiments, the method may include identifying context data having a similarity satisfying a second threshold or greater with the acquired current context data among the context data corresponding to the at least one command (S450). According to one or more embodiments, the processor 140 may obtain the similarity by comparing the state data of the electronic device 100, the position data of the electronic device 100, the gender data of the speaker, and the position data of the user acquired through the sensor 110 with the state data of the electronic device 100, the position data of the electronic device 100, the gender data of the speaker, and the position data of the user corresponding to the command “What time is it?” for each corresponding type. Next, the processor 140 may identify the acquired context data having a similarity of the second critical value or greater.
[0077] Next, according to one or more embodiments, the method may include identifying a command corresponding to the identified context data (S460). According to one or more embodiments, in the case where the context data corresponding to the command “What time is it?” including the state data of the electronic device 100, the location data of the electronic device 100, the gender data of the speaker, and the location data of the user is identified as having a similarity satisfying a second critical value or greater with the context data including the acquired state data of the electronic device 100, the location data of the electronic device 100, the gender data of the speaker, and the location data of the user, the processor 140 may identify the command corresponding to “What time is it?” from at least one command.
[0078] Next, according to one or more embodiments, the method may include acquiring a control signal corresponding to the recognized command (S470). According to one or more embodiments, the processor 140 may acquire a control signal corresponding to the current time search command as a control signal corresponding to the recognized “what time?”.
[0079] According to the above example, the electronic device 100 can analyze the acquired text in phoneme units to recognize a control signal corresponding to a voice command, and then perform an operation based thereon. Therefore, the electronic device 100 can provide a service with high accuracy.
[0080] Figure 5 is a diagram for explaining commands and context data according to one or more embodiments.
[0081] According to one or more embodiments, a plurality of commands and context data corresponding thereto may be stored in memory 120 .
[0082] According to one or more embodiments, the context data corresponding to each command may include location data of the electronic device 100, state data of the electronic device 100, environment data of the electronic device 100, and context data of the user. However, the present disclosure is not limited thereto, and may include intent data and priority data corresponding to the command. The state data of the electronic device may include the operating state of the electronic device.
[0083] According to one or more embodiments, in the case of receiving a voice command, the processor 140 may recognize a command corresponding to the received voice command, and the processor 140 may recognize context data corresponding to the recognized command based on the time when the voice command is received. The processor 140 may store the recognized command and the context data corresponding thereto in the memory 120.
[0084] In the case where a voice command is input to the electronic device 100 by a user or the like, the processor 140 may acquire a command and context data corresponding to the voice command and store them in the memory 120, thereby updating the command and context data stored in the memory 120. However, the present disclosure is not limited thereto, and therefore, according to another embodiment, the processor 140 may acquire a voice command following a call keyword and context data corresponding to the voice command and store the command and context data in the memory 120.
[0085] According to one or more embodiments, the position data of the electronic device 100 may be data about the relative position of the electronic device 100 in the driving space. Optionally, the position data of the electronic device 100 may be data about a subspace (e.g., an area or range) in which the electronic device 100 is located among a plurality of subspaces (e.g., a room) included in the driving space. The status data of the electronic device 100 may be data about the remaining battery power of the electronic device 100. The environmental data of the electronic device 100 may include temperature data, humidity data, and dust concentration data obtained from the sensor 110 included in the electronic device 100, without being limited thereto, and may include time data. In this case, the time data may indicate time data other than date data, for example, time data such as 6:00pm or 8:30am.
[0086] According to one or more embodiments, the user's context data may include at least one of the user's gender data, data about the user's movement path, or data about the number of times the same command is used in a specific context corresponding to the input voice command in the case of inputting a voice command.
[0087] In addition, according to one or more embodiments, the context data of the user may include the intent data of the command and the priority data corresponding thereto. For example, the intent of the command may be any one of a control command, an unknown intent, or a small talk (or a simple conversation), but is not limited thereto. The priority data corresponding to the intent data may be, for example, a first priority for the intent of a control command, a second priority for an unknown intent, and a third priority for a small talk, but is not limited thereto.
[0088] In addition, refer to Figure 5 According to one or more embodiments, a plurality of commands and context data corresponding thereto including a plurality of data of different types may be stored in the memory 120 .
[0089] here, Figure 5 is a diagram showing data stored in the memory 120 for convenience of description. Figure 5 It is shown that the context data including a plurality of data of different types are sequentially listed, which is provided for convenience of description, and the order of the plurality of data may be different based on user settings and the like.
[0090] According to one or more embodiments, a lookup table 500 in which multiple commands and context data corresponding to the multiple commands are mapped may be stored in the memory 120. However, the present disclosure is not limited to the lookup table, and therefore, according to another embodiment, multiple commands and context data may be stored in another manner. For example, according to another embodiment, multiple commands and context data may be associated with each other in various data storage methods based on memory. According to one or more embodiments, the command "What time is it?" and the context data 510 corresponding thereto including multiple data of different types may be stored in the lookup table 500.
[0091] For example, based on the left side of the drawing, context data 510 including commands and multiple data of different types corresponding to the commands may include data about the number of uses, the type of subspace in which the electronic device is located, classification based on the voice characteristics of the speaker (e.g., the gender of the speaker), speaking time, the user's moving path, temperature, humidity, dust, intention, priority, remaining battery power, and commands. Here, "90" may indicate that the command "What time is it?" is used 90 times in the corresponding context. "All" may indicate that the command is received in all subspaces of the driving space. "Male" may indicate that the gender of the speaker is male. "12:00" may indicate the time corresponding to the speaking time.
[0092] In addition, "T201" may indicate the user's moving path. "30°" may indicate the temperature corresponding to the speaking time, where the temperature may be a Celsius scale or a Fahrenheit scale. "60%" may indicate the humidity corresponding to the speaking time, and "H" may indicate the relative concentration of dust corresponding to the speaking time (e.g., at least one of high (H), medium (M), or low (L)). "Intent-Chat" may indicate that the intent corresponding to the command is "chat". "P10" may indicate a priority. According to one or more embodiments, "P10" may correspond to the third priority, and is not limited thereto. "B50%" may indicate that the remaining battery power of the electronic device 100 corresponding to the speaking time is 50%.
[0093] According to one or more embodiments, context data including a plurality of commands and a plurality of data of different types corresponding thereto may be mapped in the lookup table 500. The command "What time is it?" and the context data 510 corresponding thereto may be stored in the lookup table, and the command "Recommend a recipe" and the context data 520 therefor may also be stored in the lookup table.
[0094] According to one or more embodiments, in a case where multiple data of different types are included in the acquired current context data, the processor 140 can identify the similarity of the context data by comparing each of the multiple data with each of the multiple data included in the context data corresponding to the command.
[0095] According to one or more embodiments, in the case where a voice command corresponding to the “recommended recipe” is received through the microphone 130, the processor 140 may obtain a text corresponding to the “recommended recipe”. The processor 140 may obtain a command corresponding to the “recommended recipe” and context data 520 corresponding thereto by comparing the text corresponding to the “recommended recipe” with a plurality of commands included in the lookup table 500 stored in the memory 120.
[0096] Next, according to one or more embodiments, the processor 140 may obtain similarity by comparing the context data obtained by the sensor 110 with the context data 520 corresponding to the command “recommend recipe”. However, the present disclosure is not limited thereto, and according to one or more embodiments, the processor 140 may obtain context data by using a received voice command. Figure 6 A method for obtaining the similarity of context data is described in detail.
[0097] Figure 6 is a diagram for explaining a method of identifying similarity of context data according to one or more embodiments.
[0098] refer to Figure 6According to one or more embodiments, the processor 140 may acquire current context data and identify similarity of stored context data stored in the memory 120 based on the acquired current context data. According to one or more embodiments, the processor 140 may acquire context data through the sensor 110, but is not limited thereto, and may acquire context data by using a received voice command.
[0099] According to one or more embodiments, a voice command corresponding to “turn on the light” may be received, and based thereon, the command “turn on the light” and context data 620 corresponding thereto may be recognized.
[0100] According to one or more embodiments, the processor 140 may first acquire context data 610 at the time when the voice command is received through the sensor 110. For example, a voice command corresponding to "turn on the light" may be received. The processor 140 may recognize through the sensor 110 that the electronic device 100 is located in the subspace "R2", recognize the speaking time as "18:00", recognize the user's moving path as "T21", recognize the temperature corresponding to the speaking time as "21°", and recognize the humidity corresponding to the speaking time as "60%"; recognize the relative concentration of dust corresponding to the speaking time as "L", and recognize the data about the remaining battery power as "B20%" because the remaining battery power of the electronic device 100 corresponding to the speaking time is 20%. In addition, the processor 140 may obtain "Male" as gender data by recognizing that the gender of the speaker is male through the use of the received voice command, and recognize "intention-command" as intention data by recognizing the user's intention as a control command based on the text corresponding to the voice command. In addition, the processor may recognize "P0" as the priority corresponding to the recognized intention data. According to one or more embodiments, “P0” may correspond to a first priority, and is not limited thereto.
[0101] Next, according to one or more embodiments, the processor 140 may obtain similarity by comparing multiple data of different types included in the acquired current context data 610 and multiple data of different types included in the context data 620 corresponding to the command “turn on the light” for each corresponding type.
[0102] For example, the processor 140 may compare multiple data of different types included in the context data with each other, and obtain the similarity corresponding to each of the multiple data of the different types, and identify the average value of the similarities corresponding to each of the obtained different types as the similarity of the context data corresponding to the command "turn on the light".
[0103] Optionally, according to one or more embodiments, the processor 140 may identify a weight corresponding to each type of the plurality of data, and identify the similarity of the context data based on the identified weight. For example, the weight value corresponding to each type of the plurality of data may be pre-stored in the memory 120. The processor 140 may compare the plurality of data of different types included in the current context data 610 and the plurality of data of different types included in the context data 620 corresponding to the command “turn on the light”, respectively, to obtain the similarity corresponding to each of the plurality of data of different types (e.g., the position of the subspace, the gender of the user, or the time), and then obtain the similarity of the context data 620 corresponding to “turn on the light” by multiplying the similarity corresponding to each of the obtained plurality of data by the weight value corresponding to each similarity.
[0104] Figure 7a is used to explain a method for identifying context data based on intent data according to one or more embodiments, and Figure 7b is a diagram for explaining a method of identifying context data based on intent data according to one or more embodiments.
[0105] refer to Figure 7a and Figure 7b According to one or more embodiments, the method may include identifying whether there is at least one command having a similarity of a first critical value or greater (S710). Figure 7b , a plurality of context data corresponding to commands of the same text may be stored in the memory 120. For example, a plurality of context data 720 and 730 having different values corresponding to the command “What time is it now?” may be stored. According to one or more embodiments, in the case of receiving a voice command 710 corresponding to “What time is it?”, the processor 140 may identify a first command and a second command having a similarity of a first threshold or more to the text corresponding to the voice command based on the lookup table 700 stored in the memory 120.
[0106] Next, according to one or more embodiments, in the case where at least one command having a similarity that satisfies a first threshold or greater is identified (yes), the method may include identifying intent data corresponding to each of the at least one command (S720). According to one or more embodiments, the intent of the command may be any one of a control command, an unknown intent, or small talk (or a simple conversation), and is not limited thereto. The priority data corresponding to the intent data may be, for example, a first priority (or "P0") for the intent of a control command, a second priority (or "P5") for an unknown intent, and a third priority (or "P10") for small talk, and is not limited thereto.
[0107] According to one or more embodiments, the processor 140 may identify the intent data corresponding to the recognized first command and the second command, respectively, based on the context data corresponding to the commands stored in the memory 120. For example, the processor 140 may identify the context data 720 (or first context data) corresponding to the recognized first command and the context data 730 (or second context data) corresponding to the second command from the context data corresponding to the plurality of commands mapped in the lookup table 700 stored in the memory 120. Next, the processor 140 may identify "intent-chatting" and "intent-unknown" respectively through the intent data included in the context data 720 corresponding to the recognized first command and the context data 730 corresponding to the second command.
[0108] Next, according to one or more embodiments, the method may include identifying one of the at least one command based on each priority of the identified intent data (S730). According to one or more embodiments, the processor 140 may identify the priority data corresponding to "intent-chatting" and "intent-unknown" as "P5" and "P10", respectively, and identify a second command corresponding to the second context data 730 having a higher priority among the commands, wherein "intent-chatting" and "intent-unknown" are intent data included in the first context data 720 corresponding to the identified first command and the second context data 730 corresponding to the identified second command.
[0109] Next, according to one or more embodiments, the control method may include identifying context data corresponding to the identified command (S740). According to one or more embodiments, the processor 140 may identify second context data 730 corresponding to the second command.
[0110] Figure 8 is a diagram for explaining a method of recognizing a command based on intent data for each phrase according to one or more embodiments.
[0111] refer to Figure 8 According to one or more embodiments, the processor 140 may recognize one of the commands stored in the memory 120 based on a phrase (or text) corresponding to the voice command and its intention data.
[0112] According to one or more embodiments, context data including phrases included in each of the plurality of commands and intent data of each phrase may be stored in the memory 120. For example, first context data 820 including a phrase (or text) corresponding to “What day of the week is it?” and “intent-chat” as first intent data corresponding thereto may be stored in the memory 120. In addition, second context data 820 including a phrase (or text) corresponding to “What time is it?” and “intent-command” as second intent data corresponding thereto may be stored in the memory 120.
[0113] According to one or more embodiments, in a case where the acquired current context data is identified as having a similarity satisfying a second threshold or greater with stored context data corresponding to at least one command, processor 140 may acquire a phrase and intent data corresponding to the voice command.
[0114] For example, the processor 140 may first identify the acquired text "What is it?" and the commands "What day of the week is it?" and "What time is it?", each having a similarity that satisfies a first threshold or more. Next, the processor 140 may identify context data in the recognized command that has a similarity that satisfies a second threshold or more with the acquired current context data based on the data stored in the memory 120. In this case, the processor 140 may identify that each of the first context data 820 and the second context data 830 has a similarity that satisfies a second threshold or more. Next, when multiple context data 820 and 830 having a similarity that satisfies a second threshold or more with the current context data are identified, the processor 140 may acquire a phrase corresponding to the voice command "What is it?" and "Intent-Command" as the intent data corresponding thereto. In addition, the processor 140 may also acquire intent data including priority data "P0" corresponding to the intent data "Intent-Command". That is, the processor 140 may acquire multiple data 810 including intent data and priority data corresponding to the intent data.
[0115] Next, according to one or more embodiments, the processor 140 may identify one of the at least one command by comparing the acquired phrase and intention data with the intention data of each phrase corresponding to each of the plurality of commands stored in the memory 120. For example, the processor 140 may compare the "intention-command" which is the intention data corresponding to the acquired "what is it?" with the intention data included in each of the first context data 820 and the second context data 830 to identify the "intention-command", wherein the "intention-command" is the intention data corresponding to the phrase "what is it?" and the phrase "what time?" in the acquired text from the voice command, wherein "what time?" is a command corresponding to the second context data including the same intention data.
[0116] Therefore, in the case where a command can be interpreted as multiple commands such as "What is it?", the electronic device 100 can recognize the user command by using the user's intention included in the voice command. Therefore, the electronic device 100 can therefore provide a response with higher accuracy.
[0117] In addition, return to Figure 2 According to one or more embodiments, the processor 140 may delete at least one of the plurality of commands from the memory 120 based on at least one of the usage history or the priority of the plurality of commands stored in the memory 120. According to one or more embodiments, in the case where the number of usages is identified as being less than a predetermined value based on the usage history of any one of the plurality of commands, the processor 140 may delete any one of the identified commands and the context data corresponding thereto from the memory 120. Alternatively, the processor 140 may delete the command having the lowest priority and the context data corresponding thereto based on the data on the priorities of the plurality of commands.
[0118] Fig. 9 is a block diagram for explaining a first speech recognition module according to one or more embodiments.
[0119] According to one or more embodiments, the processor 140 may recognize a command corresponding to the acquired text among a plurality of commands stored in the memory 120 by using the first voice recognition module.
[0120] according to Fig. 9 According to one or more embodiments, the first speech recognition module 900 may include a first text acquisition module 901, a command recognition module 902, and a misrecognition pattern detection module 903. Here, the first speech recognition module 900 may be implemented as a learning neural network model and pre-stored in the memory 120. In addition, according to one or more embodiments, the first speech recognition module 900 may be a module that acquires text corresponding to speech in units of words.
[0121] According to one or more embodiments, in the case where a voice command is received through the microphone 130 (910), the processor 140 may input the received voice command to the first voice recognition module 900. The first voice recognition module 900 may obtain a text corresponding to the voice command by inputting the input voice command to the first text acquisition module 901.
[0122] In addition, according to one or more embodiments, the command recognition module 902 may recognize a command corresponding to the acquired text (930) based on a plurality of commands stored in the memory 120 and context data (920) corresponding thereto. For example, the command recognition module 902 may recognize the context data corresponding to the recognized command in the case where a command having a similarity of a first threshold or more is recognized among the plurality of commands stored in the memory 120 with the acquired text, and recognize the current context data as a command corresponding to the acquired text in the case where the acquired current context data is recognized as having a similarity of a second threshold or more with the context data corresponding to the recognized command.
[0123] In addition, the misrecognition pattern detection module 903 may be a module that recognizes text having a similarity of a predetermined value or greater with each of the plurality of commands stored in the memory 120 or detects (or recognizes) text that is recognized as a command identical to the command. According to one or more embodiments, in the case of inputting a text “what time is it?” similar to “what time is it?”, the misrecognition pattern detection module 903 may recognize it as “what time is it?”. Alternatively, in the case of inputting “tell me the current time” that is recognized as a command identical to “what time is it?”, the misrecognition pattern detection module may recognize it as “tell me the current time”.
[0124] In addition, according to one or more embodiments, in a case where a command corresponding to text having a similarity of a predetermined value or greater with each of a plurality of stored commands or text that is the same command as each of a plurality of commands is identified by the misrecognition pattern detection module 903, the processor 140 may update the memory 120 to include data about the recognized text.
[0125] For example, a command corresponding to a text having a similarity of a predetermined value or greater with the text of the first command may be identified. Here, when the identified command is received, the processor 140 may store data for identifying the identified command as the first command in the memory 120. Alternatively, according to one or more embodiments, the processor 140 may identify a command including text that is identified as the same command as the first command, and update the memory 120 to include data about the identified command in the data about the first command. In the case of receiving the identified command, the processor 140 may identify the identified command as the first command.
[0126] Fig.10 is a block diagram for explaining a second speech recognition module according to one or more embodiments.
[0127] According to one or more embodiments, the processor 140 may acquire a command corresponding to a user voice command by using the second voice recognition module to store the acquired command and context data corresponding to the acquired command in the memory 120. That is, the second voice recognition module may update the context data stored in the memory 120.
[0128] according to Fig.10 According to one or more embodiments, the processor 140 may first receive a voice command (1010). Next, according to one or more embodiments, the processor 140 may recognize a call keyword when the voice command includes the call keyword (1020).
[0129] In addition, according to one or more embodiments, the second speech recognition module 1000 may include a second text acquisition module 1002 and a natural language understanding module 1001. Here, the second text acquisition module 1002 may be a module that outputs text corresponding to the acquired voice command, and is implemented as a learning neural network model. In addition, according to one or more embodiments, the second text acquisition module 1002 may be a module different from the first text acquisition module 901, and the second text acquisition module 1002 may receive speech in units of dialogue and acquire it as text.
[0130] In addition, the natural language understanding module 1001 may identify a user request including a user's intention by applying the acquired text to a natural language understanding algorithm. In the case of identifying a user request including the acquired text and the user's intention data corresponding thereto, the second voice recognition module 1000 may store the identified user request in the memory 120. In addition, according to one or more embodiments, the processor 140 may acquire the text and the corresponding context data acquired by the second voice recognition module 1000 and the user's request corresponding thereto, and store them in the memory 120. For example, in the case of receiving a voice command, the processor 140 may acquire context data based on the sensor 110 or the received voice command, and acquire the text corresponding to the voice command and the user's corresponding intention data received by the second voice recognition module 1000. The processor 140 may store the acquired context data, the acquired text, and the user's corresponding intention data (1030) in the memory 120.
[0131] In addition, according to one or more embodiments, in the case where a command having a similarity satisfying a first threshold or greater with the acquired text is not recognized using the first voice recognition module, the processor 140 may perform voice recognition on the voice command by using the second voice recognition module. According to one or more embodiments, in the case where a command having a similarity satisfying a first threshold or greater is not recognized although the first voice recognition module 900 is used to recognize the similarity between the acquired text and a plurality of commands stored in the memory 120, the processor 140 may acquire the text corresponding to the voice command by performing voice recognition on the voice command using the second voice recognition module 1000. Next, according to one or more embodiments, the processor 140 may identify a command having a similarity satisfying a first threshold or greater by comparing the acquired text with the data stored in the memory 120 using the second voice recognition module 1000.
[0132] Fig.11 is a flowchart for explaining a method of identifying similarity in consideration of weights corresponding to data types according to one or more embodiments.
[0133] according to Fig.11 According to one or more embodiments, the method may first include identifying whether a plurality of data of different types are included in the acquired current context data ( S1110 ).
[0134] Next, according to one or more embodiments, the method may include: in the case where multiple data of different types are included in the acquired current context data (yes), identifying a weight corresponding to each type of the multiple data (S1120). According to one or more embodiments, the processor 140 may acquire state data of the electronic device 100 through the sensor 110, for example, data about the remaining battery power of the electronic device 100. Optionally, according to one or more embodiments, the processor 140 may acquire environmental data of the electronic device 100 through the sensor 110, for example, data about at least one of temperature, humidity, illumination, dust concentration, or current time. Optionally, according to one or more embodiments, the processor 140 may acquire context data of the user, for example, data about the user's gender or the user's location. In this case, the processor 140 may identify a weight corresponding to each type of the multiple data based on the data stored in the memory 120.
[0135] Next, according to one or more embodiments, the method may include identifying the similarity of the context data based on the identified weight (S1130). According to one or more embodiments, the processor 140 may identify the weight corresponding to each of the multiple data based on the data stored in the memory 120. In this case, the processor 140 may compare the multiple data of different types included in the current context data and the multiple data of different types included in the context data corresponding to the command, respectively, to identify the similarity corresponding to each of the multiple data of different types (e.g., the position of the subspace, the gender of the speaker, or the time corresponding to the speaking time), and identify the similarity of the context data corresponding to each of the multiple commands by multiplying the similarity corresponding to each of the multiple identified data by the weight value corresponding to each similarity.
[0136] Fig.12 is a block diagram illustrating a detailed configuration of an electronic device according to one or more embodiments.
[0137] refer to Fig.12 , the electronic device 100' may include a sensor 110, a memory 120, a microphone 130, a processor 140, a speaker 150, a display 160, a user interface 170, and a communication interface 180. Description omitted Fig.12 The components shown are Figure 2 The components shown repeat the detailed description of the components.
[0138] The speaker 150 may include a tweeter for high-pitched audio playback, a mid-range speaker for mid-range audio playback, a woofer for low-pitched audio playback, a subwoofer for extreme bass audio playback, an enclosure for controlling resonance, a crossover network for dividing the frequency of an electrical signal input to the speaker for each frequency band, and the like.
[0139] The speaker 150 may output an audio signal to the outside of the electronic device 100'. The speaker 150 may output multimedia playback, recording playback, various notification sounds, voice messages, etc. The electronic device 100' may include an audio output device such as the speaker 150 or an output device such as an audio output terminal. Specifically, the speaker 150 may provide acquired data, information processed / generated based on the acquired data, a response result to a user's voice, an operation result to a user's voice, etc. in the form of voice.
[0140] The display 160 may be implemented as a display including a self-luminous element or a display including a non-self-luminous element and a backlight. For example, the display may be implemented as various types of displays such as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a light emitting diode (LED) display, a micro light emitting diode (microLED) display, a mini LED display, a plasma display panel (PDP), a quantum dot (QD) display, a quantum dot light emitting diode (QLED) display. The display 160 may also include a driving circuit, a backlight unit, etc., which may be implemented in the form of a-si thin film transistor (TFT), a low temperature polycrystalline silicon (LTPS) TFT, or an organic TFT (OTFT). In addition, the display 160 may be implemented as a touch screen combined with a touch sensor, a flexible display, a rollable display, a three-dimensional (3D) display, a display in which a plurality of display modules are physically connected to each other, etc. According to the various embodiments described above, the processor 140 may control the display 160 to output the acquired output image. Here, the output image may be a high-resolution image of 4K, 8K or higher.
[0141] The user interface 170 is a component for the electronic device 100' to perform interaction with a user. For example, the user interface 170 may include at least one of a touch sensor, a motion sensor, a button, a jog dial, a switch, a microphone, or a speaker, and is not limited thereto.
[0142] The communication interface 180 may input and output various types of data. For example, the communication interface 180 may receive and transmit various types of data from an external device (e.g., a source device), an external storage medium (e.g., a universal serial bus (USB) memory), an external server (e.g., a network hard disk), etc. by using a communication method such as wireless fidelity (Wi-Fi, i.e., wireless local area network (LAN)) based on an access point (AP), Bluetooth, Zigbee, wired / wireless local area network (LAN), wide area network (WAN), Ethernet, IEEE 1394, high-definition multimedia interface (HDMI), USB, mobile high-definition link (MHL), audio engineering society / European broadcasting union (AES / EBU) communication, optical communication or coaxial communication, etc.
[0143] According to the various embodiments described above, even if a separate call keyword is not received in the case of receiving a voice command, the electronic device can recognize a command corresponding to the voice command by using context data and perform an operation corresponding thereto. Therefore, the electronic device can provide timely services in response to a user's request to perform a simple operation.
[0144] In addition, the methods according to the various embodiments of the present disclosure described above can be implemented in the form of an application that can be installed in an electronic device. Optionally, a learning neural network (or deep learning neural network) based on deep learning (i.e., a learning network model) can be used to perform the methods according to the various embodiments of the present disclosure described above. In addition, the methods according to the various embodiments of the present disclosure described above can be implemented only by software upgrades or hardware upgrades of the electronic device. In addition, the various embodiments of the present disclosure described above can be performed by an embedded server set in the electronic device or a server set outside the electronic device.
[0145] In addition, according to one or more embodiments of the present disclosure, the various embodiments described above may be implemented by software including instructions stored in a machine-readable storage medium (according to one or more embodiments, a computer-readable storage medium). The machine may be a device that calls the stored instructions from the storage medium and can operate based on the called instructions, and may include a display device (e.g., display device A) according to an embodiment of the present disclosure. In the case where the instructions are executed by a processor, the processor may directly execute the functions corresponding to the instructions, or other components may execute the functions corresponding to the instructions under the control of the processor. The instructions may include code provided or executed by a compiler or interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, the term "non-transitory" indicates that the storage medium is tangible and does not include signals, and does not distinguish whether the data is stored semi-permanently or temporarily in the storage medium.
[0146] In addition, according to one or more embodiments, the methods according to the various embodiments described above may be included and provided in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a machine-readable storage medium (according to one or more embodiments, a compact disk read-only memory (CD-ROM)) or distributed online through an application store (according to one or more embodiments, PlayStoreTM). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily provided in a storage medium (such as a memory of a manufacturer's server, an application store's server, or a relay server).
[0147] In addition, each of the components (according to one or more embodiments, modules or programs) according to the various embodiments described above may include a single entity or multiple entities, and some of the corresponding subcomponents described above may be omitted, or other subcomponents may be further included in various embodiments. Optionally or additionally, some components (according to one or more embodiments, modules or programs) may be integrated into one entity, and the functions performed by the respective corresponding components before being integrated may be performed in the same or similar manner. The operations performed by the modules, programs or other components according to various embodiments may be performed in a sequential manner, in a parallel manner, in an iterative manner or in a heuristic manner, and at least some operations may be performed in a different order or omitted, or other operations may be added.
[0148] Although the embodiments of the present disclosure are shown and described above, the present disclosure is not limited to the above specific embodiments, and various modifications may be made by those skilled in the art to which the present disclosure belongs without departing from the scope and spirit of the present disclosure disclosed in the appended claims. These modifications also need to be understood to fall within the scope of the present disclosure.
Claims
1. An electronic device, comprising: at least one sensor; a memory storing a plurality of context data, each context data corresponding to one of the plurality of commands; as well as microphone; as well as At least one processor configured to: acquiring text data corresponding to a voice command received through the microphone, identifying a first command of the plurality of commands based on a comparison between the acquired text data and the plurality of commands, identifying first context data of the plurality of context data corresponding to the identified first command, acquiring a control signal corresponding to the recognized first command based on a comparison between the first context data corresponding to the recognized first command and second context data corresponding to the voice command acquired by the at least one sensor, and An operation is performed based on the control signal.
2. The device according to claim 1, wherein: The at least one processor is further configured to: recognizing the acquired text data as first data in units of phonemes, identifying a plurality of similarity values by comparing the recognized first data with second data in units of phonemes corresponding to each of the plurality of commands, wherein each similarity value corresponds to a level of similarity between the acquired text data and a corresponding one of the plurality of commands, and The first command is identified based on a first similarity value corresponding to a similarity level between the acquired text data and the first command being greater than or equal to a first threshold.
3. The device of claim 2, wherein: The at least one processor is configured to: The first context data is identified based on the first context data having a second similarity value that is greater than or equal to a second threshold, wherein the second similarity value corresponds to a level of similarity between the first context data and the second context data.
4. The device of claim 1, wherein: The first context data and the second context data include multiple types of data, wherein the multiple types of data include at least one of location data of the electronic device, state data of the electronic device, environment data of the electronic device, or context data of a user, and Wherein, the at least one processor is further configured to identify similarity between the first context data and the second context data by comparing each of the plurality of data included in the first context data with each of the plurality of data included in the second context data.
5. The device of claim 1, wherein: The at least one processor is further configured to: identifying intent data corresponding to each of the plurality of commands, and The first command is identified based on a comparison between the acquired text data and the plurality of commands and based on a priority associated with each of the intent data corresponding to each of the plurality of commands.
6. The device of claim 3, wherein: The memory stores text information of each of the plurality of commands and intent data corresponding to the plurality of commands, and Wherein, the at least one processor is further configured to: When the second context data is identified as having a similarity satisfying the second threshold or greater with the first context data corresponding to the first command, acquiring intention data corresponding to the voice command, and The first command is identified by comparing the acquired intention data with the intention data of each text corresponding to each of the plurality of commands stored in the memory.
7. The device of claim 2, wherein: The at least one processor is further configured to: recognizing the first command corresponding to the acquired text data among the plurality of commands stored in the memory based on a first voice recognition module, and A second command corresponding to the voice command is acquired based on a second voice recognition module, so as to store the acquired second command and context data corresponding to the acquired second command in the memory.
8. The device of claim 7, wherein: The at least one processor is further configured to perform voice recognition on the voice command based on the second voice recognition module if the first voice recognition module does not recognize a command having a similarity with the acquired text that satisfies the first threshold or more.
9. The device of claim 1, wherein: The at least one processor is further configured to delete at least one command of the plurality of commands from the memory based on at least one of a usage history or a priority of the plurality of commands stored in the memory.
10. The device of claim 1, wherein: The at least one processor is further configured to: identifying a weight corresponding to each type of a plurality of data of different types included in the second context data, and A similarity between the first context data and the second context data is identified based on the identified weight.
11. A method for controlling an electronic device that performs voice recognition, the method comprising: Obtaining text data corresponding to the voice command; identifying a first command of the plurality of commands based on a comparison between the acquired text data and the plurality of commands, identifying first context data from a plurality of context data corresponding to the identified first command, wherein each of the plurality of context data corresponds to a command from the plurality of commands; acquiring a control signal corresponding to the recognized first command based on a comparison between the first context data corresponding to the recognized first command and second context data corresponding to the voice command acquired through at least one sensor; and An operation is performed based on the control signal.
12. The method of claim 11, wherein: Identifying the first command includes: Recognize the acquired text data as first data with phonemes as units; identifying a plurality of similarity values by comparing the recognized first data with second data in phoneme units corresponding to each of the plurality of commands, wherein each similarity value corresponds to a similarity level between the acquired text data and a corresponding one of the plurality of commands, and The first command is identified based on a first similarity value corresponding to a similarity level between the acquired text data and the first command being greater than or equal to a first threshold.
13. The method of claim 12, wherein: Acquiring the first context data includes: The first context data is identified based on the first context data having a second similarity value that is greater than or equal to a second threshold, wherein the second similarity value corresponds to a level of similarity between the first context data and the second context data.
14. The method of claim 11, wherein: The first context data and the second context data include multiple types of data, the multiple types of data include at least one of location data of the electronic device, state data of the electronic device, environment data of the electronic device, or context data of a user, and Wherein, the method further comprises: A similarity between the first context data and the second context data is identified by comparing each of the plurality of data included in the first context data with each of the plurality of data included in the second context data.
15. The method of claim 11, wherein: Identifying the first command includes: identifying intent data corresponding to each of the plurality of commands, and The first command is identified based on a comparison between the acquired text data and the plurality of commands and based on a priority associated with each of the intent data corresponding to each of the plurality of commands.