WO2024058474A1 - 음성 인식을 수행하는 전자 장치 및 이의 제어 방법 - Google Patents

음성 인식을 수행하는 전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
WO2024058474A1
WO2024058474A1 PCT/KR2023/013137 KR2023013137W WO2024058474A1 WO 2024058474 A1 WO2024058474 A1 WO 2024058474A1 KR 2023013137 W KR2023013137 W KR 2023013137W WO 2024058474 A1 WO2024058474 A1 WO 2024058474A1
Authority
WO
WIPO (PCT)
Prior art keywords
context information
information
command
electronic device
identified
Prior art date
Application number
PCT/KR2023/013137
Other languages
English (en)
French (fr)
Inventor
김세영
김용국
김중회
임현택
문보석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220135926A external-priority patent/KR20240037791A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/384,607 priority Critical patent/US20240096322A1/en
Publication of WO2024058474A1 publication Critical patent/WO2024058474A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Definitions

  • This disclosure relates to an electronic device that performs voice recognition and a control method thereof, and more specifically, to an embodiment of performing voice recognition using context information.
  • An electronic device includes at least one sensor, a memory storing a plurality of context information each corresponding to one of a plurality of commands, a microphone, and a voice command received through the microphone.
  • Obtain text data corresponding to identify a first command among the plurality of commands based on comparison between the obtained text data and the plurality of commands, and correspond to the identified first command among the plurality of context information.
  • a control method of an electronic device includes obtaining text data corresponding to a received voice command, the plurality of commands based on comparison between the obtained text data and a plurality of commands. Identifying a first instruction among instructions, identifying first context information corresponding to the identified first instruction among a plurality of context information, first context information corresponding to the identified first instruction, and at least one Comprising a step of obtaining a control signal corresponding to the identified first command and corresponding to the voice command based on comparison between the second context information obtained through the sensor and performing an operation based on the control signal. can do.
  • FIG. 1 is a diagram schematically illustrating a control method of an electronic device according to an embodiment.
  • Figure 2 is a block diagram showing the configuration of an electronic device according to an embodiment.
  • Figure 3 is a flowchart explaining a control method of an electronic device according to an embodiment.
  • Figure 4 is a flowchart illustrating a method of obtaining a control signal corresponding to a command according to an embodiment.
  • Figure 5 is a diagram for explaining commands and context information according to an embodiment.
  • FIG. 6 is a diagram illustrating a method of identifying similarity of context information according to an embodiment.
  • FIG. 7A is a diagram illustrating a method of identifying context information based on intent information according to an embodiment.
  • FIG. 7B is a diagram illustrating a method of identifying context information based on intent information according to an embodiment.
  • FIG. 8 is a diagram illustrating a method of identifying a command based on intent information for each word, according to an embodiment.
  • Figure 9 is a block diagram for explaining a first voice recognition module according to an embodiment.
  • Figure 10 is a block diagram for explaining a second voice recognition module according to an embodiment.
  • Figure 11 is a flowchart illustrating a method of identifying similarity by considering a weight corresponding to the type of information according to an embodiment.
  • Figure 12 is a block diagram showing the detailed configuration of an electronic device according to an embodiment.
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
  • a or/and B should be understood as referring to either “A” or “B” or “A and B”.
  • expressions such as “first,” “second,” “first,” or “second,” can modify various components regardless of order and/or importance, and can refer to one component. It is only used to distinguish from other components and does not limit the components.
  • a component e.g., a first component
  • another component e.g., a second component
  • connection to it should be understood that a certain component can be connected directly to another component or connected through another component (e.g., a third component).
  • a “module,” “unit,” “interface,” or “unit” performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Additionally, a plurality of “modules” or a plurality of “units” are integrated into at least one module and implemented by at least one processor (not shown), except for “modules” or “units” that need to be implemented with specific hardware. It can be.
  • FIG. 1 is a diagram schematically illustrating a control method of an electronic device according to an embodiment.
  • the electronic device 10 may perform an operation corresponding to a voice command received from the user 20. For example, when the user 20 utters a voice command, the electronic device 10 may perform an operation corresponding to the voice command uttered by the user 20.
  • the electronic device 10 may be implemented as a different type of electronic device capable of performing voice recognition, according to one example.
  • the electronic device 10 may be implemented as a mobile robot and travel in a travel space.
  • the electronic device 10 may be implemented as various devices such as a smart TV, tablet, monitor, smart phone, desktop computer, laptop computer, etc.
  • the electronic device 100 according to an embodiment 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.
  • the electronic device 10 may receive a voice command from the user 20. For example, assume that a voice command corresponding to “Hi robot, turn on the lights” is received. When a voice command containing the call keyword “Hi Robot” is received, the electronic device 10 operates the voice recognition mode of the electronic device 10 based on the call keyword and performs an operation corresponding to the received voice command. can do.
  • the user 20 may continuously input the same user command into the electronic device 10 in a specific context.
  • the electronic device 10 may repeatedly receive a voice command corresponding to “Turn on TV” at 8 PM.
  • the electronic device 10 may repeatedly receive a voice command corresponding to “Turn off the lights” at 11 PM.
  • the electronic device 10 if the electronic device 10 is located in your kitchen, it may repeatedly receive voice commands corresponding to “Recommend a recipe.” Even when a simple voice command is received as in the above example, the electronic device 10 can perform the corresponding operation only when the call keyword is received, and the user has to enter the call keyword one by one even when requesting a simple command. There is a feeling.
  • Figure 2 is a block diagram showing the configuration of an electronic device according to an embodiment.
  • the electronic device 100 may include at least one sensor 110, a memory 120, a microphone 130, and one or more processors 140.
  • At least one sensor 110 may include a plurality of sensors of various types.
  • the sensor 110 may measure a physical quantity or detect the operating state of the electronic device 100 and convert the measured or sensed 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 reflected by an object and received into an image sensor, and an image sensor that can detect visible light and other optical signals.
  • the image sensor may include a 2D pixel array divided into a plurality of pixels.
  • the camera may be implemented as a depth camera.
  • the sensor 110 may include a thermal imaging sensor that reads the shape as well as a distance sensor such as a LIDAR (Light Detection And Ranging) sensor and a TOF (Time of Flight) sensor.
  • LIDAR Light Detection And Ranging
  • TOF Time of Flight
  • At least one sensor 110 may detect not only the operating state of the electronic device 100 but also the external environmental state of the electronic device 100.
  • the sensor 110 may detect the operating state of the electronic device 100 (e.g., power or temperature) and/or the external environmental state of the electronic device 100 (e.g., ambient temperature, humidity, or user status). It may include one or more sensors for
  • at least one sensor 110 may include a temperature sensor capable of obtaining temperature information, a humidity sensor capable of obtaining humidity information, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a proximity sensor, a biometric sensor, and an illumination sensor. and at least one of a fine dust sensor capable of calculating the concentration of fine dust around the electronic device 100.
  • at least one sensor 110 may include a motion sensor for detecting movement of the electronic device 100.
  • the memory 120 may store data necessary for the electronic device 100 according to various embodiments.
  • the memory 120 may be implemented as a memory embedded in the electronic device 100 or as a memory detachable from the electronic device 100 depending on the data storage purpose. For example, in the case of data for driving the electronic device 100, it is stored in the memory embedded in the electronic device 100, and in the case of data for the expansion function of the electronic device 100, it is attached and detachable to the electronic device 100. This can be stored in available memory.
  • volatile memory e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.
  • non-volatile memory non-volatile memory
  • Memory e.g. one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g. NAND flash or NOR flash, etc.), a hard drive, or a solid state drive (SSD).
  • OTPROM one time programmable ROM
  • PROM programmable ROM
  • EPROM erasable and programmable ROM
  • EEPROM electrically erasable and programmable ROM
  • mask ROM mask ROM
  • flash ROM e.g. NAND flash or NOR flash, etc.
  • hard drive e.g. NAND flash or NOR flash, etc.
  • SSD solid state drive
  • a memory card e.g., CF (compact flash), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.
  • CF compact flash
  • SD secure digital
  • Micro-SD micro secure digital
  • Mini-SD mini secure digital
  • xD extreme digital
  • MMC multi-media card
  • context information corresponding to each of a plurality of instructions may be stored in the memory 120.
  • the memory 120 may store a plurality of context data corresponding to one of the plurality of commands. That is, each of the plurality of commands may be associated with corresponding context data in the memory 120.
  • the first command among the plurality of commands may be associated with first context data stored in the memory 120
  • the command may be associated with second context data stored in the memory 120 among the plurality of commands.
  • a command may mean information about text corresponding to a user request (Intent), and a user request may mean a command requesting performance of a specific service.
  • the command is text corresponding to “Turn on TV”
  • the user request corresponding to “Turn on TV” is to turn on the TV among at least one electronic device. It may be a control command to turn it on.
  • this division is an example and can be implemented in various ways depending on the system implementation method.
  • the context information may include not only context information of the electronic device 100 but also context information of the user. This will be explained in detail with reference to Figure 5.
  • the microphone 130 may refer to a module that acquires sound and converts it into an electrical signal.
  • the microphone 130 may be a condenser microphone, a ribbon microphone, a moving coil microphone, a piezoelectric element microphone, a carbon microphone, or a MEMS (Micro Electro Mechanical System) microphone. Additionally, it can be implemented in omni-directional, bi-directional, uni-directional, sub-cardioid, super-cardioid, and hyper-cardioid ways.
  • the microphone 130 may receive voice commands. According to one example, the microphone 130 may acquire a sound corresponding to a voice command and convert it into an audio signal.
  • processors 140 are electrically connected to at least one sensor 110, memory 120, and microphone 130 to control the overall operation of the electronic device 100.
  • the processor 140 may be comprised of one or multiple processors. Specifically, 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 instruction stored in the memory 120.
  • the processor 140 may include a digital signal processor (DSP), a microprocessor, a graphics processing unit (GPU), an artificial intelligence (AI) processor, and a neural processor (NPU) that process digital image signals.
  • DSP digital signal processor
  • GPU graphics processing unit
  • AI artificial intelligence
  • NPU neural processor
  • Processing Unit TCON (Time controller).
  • CPU central processing unit
  • MCU Micro Controller Unit
  • MPU micro processing unit
  • controller It may include one or more of a (controller), an application processor (AP), a communication processor (CP), or an ARM processor, or may be defined by the corresponding term.
  • the processor 140 may be implemented as a System on Chip (SoC) with a built-in processing algorithm, large scale integration (LSI), or in the form of an application specific integrated circuit (ASIC) or a Field Programmable Gate Array (FPGA).
  • SoC System on Chip
  • LSI large scale integration
  • ASIC application specific integrated circuit
  • FPGA Field Programmable Gate Array
  • the processor 140 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON). However, it is not limited to this, and the central processing unit ( central processing unit (CPU), micro controller unit (MCU), micro processing unit (MPU), controller, application processor (AP), or communication processor (CP), ARM processor It may include one or more of the following, or may be defined by the corresponding term.
  • the processor 140 may be implemented as a System on Chip (SoC) with a built-in processing algorithm, a large scale integration (LSI), or an FPGA (FPGA). It can also be implemented in the form of a Field Programmable gate array.
  • SoC System on Chip
  • LSI large scale integration
  • FPGA field Programmable gate array
  • the processor 140 may obtain text corresponding to a voice command. According to one example, when a voice command is received through the microphone 130, the processor 140 may obtain text corresponding to the received voice command. For example, when a voice command corresponding to “turn on the lights” is received from the user through the microphone 130, the processor 140 may obtain text corresponding to the received “turn on the lights”.
  • the processor 140 may identify an instruction based on the obtained text. According to some embodiments, the processor 140 may check whether the acquired text is similar to any one of a plurality of commands stored in the memory 120. According to one example, the processor 140 may identify whether there is an instruction that has a similarity of more than a first threshold value to the obtained text among the plurality of instructions. For example, when a text corresponding to “Turn on the lights” is received, the processor 140 may compare it with a plurality of commands stored in the memory 120 and obtain similarity between texts based on this. Afterwards, the processor 140 may identify at least one instruction having a first threshold value or more among the similarities corresponding to each of the plurality of instructions obtained.
  • the similarity between the acquired text and the text according to the plurality of commands stored in the memory 120 is the similarity between the phonemes included in each of the acquired text and the text according to the plurality of commands stored in the memory 120. It can be.
  • the processor 140 may identify the acquired text and a plurality of commands on a phoneme basis and compare the phonemes of the acquired text with the phonemes of the plurality of commands stored in the memory 120 .
  • the processor 140 may calculate the similarity of each of the plurality of commands based on the ratio of the number of phonemes included in the command that matches the identified text. According to one or more embodiments, this will be described in detail with reference to FIG. 4.
  • the processor 140 may identify context information corresponding to the identified instruction based on information stored in the memory 120.
  • the context information may include location information of the electronic device 100, status information of the electronic device 100, environment information of the electronic device 100, and user context information. Accordingly, different types of context information corresponding to each of the plurality of instructions stored in the memory may be stored. When one of the plurality of instructions is identified, the processor 140 may identify context information corresponding to the identified instruction based on information stored in the memory 120. According to one or more embodiments, this will be described in detail with reference to FIG. 5.
  • the processor 140 may obtain current context information.
  • the current context information may be context information at the time a voice command is received.
  • the context information is not limited to this and may be context information at the time of the user's utterance.
  • the processor 140 may obtain current context information through at least one sensor 110.
  • the present invention is not limited to this and the processor 140 may obtain current context information based on the received voice command. That is, the current context information may include context information acquired through at least one sensor 110 and context information obtained based on a received voice command.
  • the processor 140 when the electronic device 100 is implemented as a robot traveling in a driving space or driving area, the processor 140 provides information about the location of the electronic device 100 in the driving space through a motion sensor or a GPS sensor. can be obtained. Alternatively, the processor 140 may obtain status information of the electronic device 100, for example, information about the remaining battery capacity of the electronic device 100, through at least one sensor 110. Alternatively, according to one example, the processor 140 may provide environmental information of the electronic device 100, for example, information about at least one of temperature, humidity, illuminance, fine dust concentration, or current time, through the at least one sensor 110. You can also obtain . Alternatively, according to one example, the processor 140 may obtain information about the user's context information, for example, the user's gender and the user's location. This will be explained in detail with reference to Figure 5.
  • the processor 140 may identify the similarity between the acquired current context information and the context information corresponding to the identified instruction.
  • the processor 140 selects a plurality of different types of information included in the acquired context information.
  • Each of a plurality of different types of information included in the context information corresponding to the information and the identified command may be compared for each corresponding type, and based on this, the similarity of the context information corresponding to the identified command may be obtained.
  • the type included in the context information may be, for example, the location, state, environment, or user context of the electronic device 100, but is not limited thereto. The method of obtaining the similarity of context information will be described in detail with reference to FIG. 6.
  • the processor 140 may obtain a control signal corresponding to an identified instruction based on the identified similarity and perform an operation based on the identified instruction.
  • the processor 140 provides context information (e.g., current context information) acquired through at least one sensor 110 and context information (e.g., command context information) corresponding to the identified instruction. By comparing by type, the similarity between the command context information corresponding to the identified command and the current context information can be obtained. When the similarity between the instruction context information corresponding to the identified instruction and the current context information is identified as having a second threshold value or more, the processor 140 obtains a control signal corresponding to the identified instruction and performs the corresponding operation. It can be done.
  • context information e.g., current context information
  • context information e.g., command context information
  • Figure 3 is a flowchart explaining a control method of an electronic device according to an embodiment.
  • the control method can obtain text corresponding to the received voice command (S310).
  • the processor 140 receives a voice command corresponding to “What time is it now?” as a voice command that does not include a separate call keyword (or wake up sound) from the user through the microphone 130, the processor 140 receives a voice command corresponding to “What time is it now?” , Based on this, text corresponding to “What time is it now?” can be obtained.
  • the control method may identify a command that has a similarity of more than a first threshold value to the obtained text among a plurality of commands stored in the memory 120 (S320).
  • the processor 140 compares the obtained text corresponding to “What time is it now?” with a plurality of instructions stored in the memory 120, and determines a plurality of similarities corresponding to each of the plurality of instructions (e.g., Multiple similarity values) can be obtained.
  • each of the plurality of similarity values may be obtained by comparing the stored text corresponding to each of the plurality of commands stored in the memory 120 with the obtained text corresponding to the phrase “What time is it?” Subsequently, the processor 140 may identify the text corresponding to “What time is it?” and the command “What time is it?”, which has a similarity greater than or equal to the first threshold, based on the obtained similarity.
  • control method may identify context information corresponding to the identified command (S330).
  • the processor 140 may identify context information corresponding to the identified command “What time is it?” based on information stored in the memory 120.
  • the context information corresponding to the identified command may be context information of the electronic device 100 and the user at the time of previously receiving a voice command corresponding to “What time is it?” from the user. That is, the command and the corresponding context information stored in the memory 120 may be history information about the command and context previously obtained from the user. Context information corresponding to a stored command may be referred to as 'saved context information'. A method of updating information stored in the memory 120 based on such user history will be described in detail with reference to FIGS. 9 and 10.
  • the control method may identify whether the current context information corresponding to the received voice command is similar to the stored context information (S340). For example, it may include identifying whether the similarity (eg, similarity value) between the current context data and the stored context data satisfies a second threshold value or more. That is, it may include checking whether the similarity value based on comparison between the current context data and the stored context data is greater than or equal to the second threshold value.
  • the processor 140 may configure a plurality of different types of information included in the context information obtained through at least one sensor 110 or a voice command and a current context including the context information obtained using the voice command.
  • the processor 140 Information on each of the current time, temperature, location of the electronic device 100, and user's location included in the acquired current context information is provided. )'s location and the user's location can be compared by type to obtain similarity.
  • the processor 140 may obtain similarity by comparing only at least some types of information among a plurality of different types of information included in the context information.
  • the memory 120 may store weight values corresponding to each type of a plurality of information, and of course, the weight values may have different values depending on the type. Meanwhile, this will be explained in detail with reference to FIG. 6.
  • the control method obtains a control signal corresponding to the identified command when the acquired current context information is identified as having a similarity of more than a second threshold value to the context information corresponding to the identified command (Y). can do.
  • the processor 140 may use the identified command “What time is it now?” As a control signal corresponding to ”, a control signal corresponding to the current time search command can be obtained.
  • control method may perform an operation based on the control signal (S360).
  • the processor 140 may search the current time based on a control signal corresponding to the obtained current time search command and provide information about the searched current time to the user.
  • the electronic device 100 can identify a command corresponding to a voice command using context information and perform a corresponding operation even if a separate call keyword is not received. Accordingly, user convenience can be increased.
  • Figure 4 is a flowchart illustrating a method of obtaining a control signal corresponding to a command according to an embodiment.
  • the control method may identify the acquired text as first information in phoneme units (S410).
  • the processor 140 may identify the acquired “What time is it?” as first information in phoneme units.
  • the first information is information about phonemes included in the text, and here, the information about the phonemes may also include information about the order of each phoneme included in the text.
  • the control method may compare the identified first information with second information in phoneme units corresponding to each of the plurality of commands to identify similarity in phoneme units (S420).
  • the memory 120 may store second information in phoneme units corresponding to each of a plurality of commands.
  • the processor 140 compares the first information corresponding to the acquired text “What time is it now?” with the second information in phoneme units corresponding to each of the plurality of commands stored in the memory 120. The similarity of phoneme units corresponding to each command can be identified.
  • the processor 140 compares the identified first information in phoneme units with the second information in phoneme units corresponding to each of the plurality of instructions stored in the memory 120, and compares the total number of information corresponding to each of the plurality of instructions. Similarity can be identified based on the number of phonemes that match the phonemes of the first information among the number of phonemes. In this case, the processor 140 may compare corresponding phonemes based on the order of the phonemes. For example, the processor 140 compares a plurality of phonemes including “ ⁇ ”, “ ⁇ ”, and “ ⁇ ” included in the acquired text with at least one phoneme included in each of a plurality of commands to determine the similarity. It can be obtained.
  • the control method may identify at least one command whose phoneme-unit similarity is greater than or equal to the first threshold (S430). For example, the method may include confirming that a phoneme-unit similarity value between the at least one command and the obtained text is greater than or equal to the first threshold.
  • the processor 140 may compare the phoneme included in the text with the phoneme included in each of the plurality of commands to identify the similarity of the phoneme unit corresponding to each of the plurality of commands, and identify the phoneme unit identified among the plurality of commands. At least one instruction whose similarity is greater than or equal to a first threshold may be identified.
  • the processor 140 may identify “What time is it now?” as a command that has phoneme-level similarity between the acquired text “What time is it?” and a first threshold value.
  • a first threshold value For example, it is not limited to the above-described example, and of course, there may be multiple instructions equal to or greater than the first threshold.
  • the control method may identify context information corresponding to at least one command (S440).
  • the processor 140 based on the information stored in the memory 120, the processor 140 provides context information corresponding to the identified command “What time is it?”, for example, status information of the electronic device 100, electronic device Location information of (100), speaker gender information, and user location information can be obtained.
  • the control method may identify context information whose similarity to the obtained current context information is greater than or equal to a second threshold among context information corresponding to at least one command (S450).
  • the processor 140 may include status information of the electronic device 100 acquired through at least one sensor 110, location information of the electronic device 100, speaker gender information, user location information, and the command “now.” Similarity can be obtained by comparing the status information of the electronic device 100, location information of the electronic device 100, speaker gender information, and user location information corresponding to “What time is it?” by corresponding type. Afterwards, the processor 140 may identify context information whose obtained similarity is greater than or equal to the second threshold.
  • the control method may identify a command corresponding to the identified context information (S460).
  • the processor 140 provides context information including status information of the electronic device 100, location information of the electronic device 100, speaker gender information, and user location information corresponding to the command “What time is it now?” If the similarity with the acquired state information of the electronic device 100, location information of the electronic device 100, context information including speaker gender information, and user location information is identified as being equal to or greater than a second threshold, at least one command You can identify the command corresponding to “What time is it now?”
  • the control method may obtain a control signal corresponding to the identified command (S470).
  • the processor 140 may obtain a control signal corresponding to a current time search command as a control signal corresponding to the identified “What time is it now?”
  • the electronic device 100 analyzes the acquired text in units of phonemes, identifies a control signal corresponding to the voice command, and performs an operation based on this. Accordingly, the electronic device 100 can provide services with high accuracy.
  • Figure 5 is a diagram for explaining commands and context information according to an embodiment.
  • a plurality of instructions and corresponding context information may be stored in the memory 120.
  • the context information corresponding to each command may include location information of the electronic device 100, status information of the electronic device 100, environment information of the electronic device 100, and user context information. It is not limited to this, and intent information and priority information corresponding to the command may be included.
  • State data of the electronic device may include the operating state of the electronic device.
  • the processor 140 when a voice command is received, the processor 140 identifies a command corresponding to the received voice command, and identifies context information corresponding to the identified command based on the time when the voice command was received. .
  • the processor 140 may store the identified instruction and the corresponding context information in the memory 120 .
  • the processor 140 obtains the command and context information for the voice command and stores them in the memory 120, thereby obtaining the command and context information stored in the memory 120. can be updated.
  • the present invention is not limited to this, and according to another embodiment, the processor 140 may obtain 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 .
  • the location information of the electronic device 100 may be information about the relative position of the electronic device 100 within the driving space.
  • the location information of the electronic device 100 is information about the subspace in which the electronic device 100 is located among a plurality of subspaces (e.g., rooms) included in the driving space (e.g., area or region). It may be.
  • the status information of the electronic device 100 may be information about the remaining battery capacity of the electronic device 100.
  • the environmental information of the electronic device 100 may include, but is not limited to, temperature information, humidity information, and fine dust concentration information obtained from at least one sensor 110 included in the electronic device 100. It may also contain information.
  • time information may mean time information excluding date information, for example, 6 PM or 8:30 AM.
  • the user context information may include at least one of user gender information corresponding to the input voice command, user movement path information, and information about the number of times the same command is used within a specific context. You can.
  • user context information may include command intention information and corresponding priority information.
  • intent of the command may be one of a control command, unknown, or simple conversation, but is not limited thereto.
  • Priority information corresponding to intent information may be, for example, first priority in the case of a control command intent, second priority in the case of indistinguishable intent, and third priority in the case of a simple conversation, but is not limited thereto. no.
  • context information including a plurality of commands and a plurality of different types of information corresponding thereto may be stored in the memory 120.
  • FIG. 5 is a diagram schematizing the information stored in the memory 120 for convenience of explanation.
  • context information including a plurality of different types of information is shown as being listed sequentially. However, this is for convenience of explanation, and of course, the order of the plurality of information may be different depending on user settings, etc.
  • the memory 120 may store a lookup table 500 in which a plurality of instructions and corresponding context information are mapped.
  • the present invention is not limited to the lookup table, and the plurality of commands and context data may be stored in different ways according to different embodiments.
  • a plurality of instructions and context data may be associated with each other in memory based on various data storage methods.
  • the lookup table 500 contains the command “What time is it?” and context information 510 including a plurality of different types of information corresponding thereto may be stored.
  • the context information 510 which includes a command and a plurality of different types of information corresponding to the command, is classified based on the number of uses, the type of subspace where the electronic device is located, and the voice characteristics of the speaker based on the left side of the drawing. It may include information about (for example, gender of the speaker), time of utterance, user's movement path, temperature, humidity, fine dust, intention, priority, remaining battery level, and command.
  • “90” means the command “What time is it?” This means that has been used 90 times within the corresponding context.
  • ALL means that the command was received from all subspaces within the driving space.
  • “Male” may mean that the gender of the speaker is male.
  • “12:00” refers to the time corresponding to the point of utterance.
  • T201 refers to the user’s movement path.
  • 30° refers to the temperature corresponding to the point of ignition, where the temperature may be in Celsius scale or Fahrenheit scale.
  • 60% refers to the humidity corresponding to the point of ignition, and
  • H refers to the relative concentration of fine dust corresponding to the point of ignition (e.g., at least one of H(High), M(Medium), and L(Low)). means one).
  • Intent-chitchat means that the intention corresponding to the command is “simple conversation.”
  • P10 means priority. According to one example, P10 may correspond to the third priority, but is not limited to this.
  • B50% means that the remaining battery capacity of the electronic device 100 corresponding to the time of ignition is 50%.
  • context information including a plurality of commands and a plurality of different types of information corresponding thereto may be mapped to the lookup table 500.
  • Command “What time is it?” and the corresponding context information 510 may be stored, and the command “recipe recommendation” and the corresponding context information 520 may also be stored.
  • the processor 140 compares each of the plurality of information with each of the plurality of information included in the context information corresponding to the command to obtain the context information. The similarity can be identified.
  • the processor 140 may obtain text corresponding to “recipe recommendation.”
  • the processor 140 compares the text corresponding to “recipe recommendation” with a plurality of instructions included in the lookup table 500 stored in the memory 120 to generate the command “recipe recommendation” and the corresponding context information 520. It can be obtained.
  • the processor 140 may obtain similarity by comparing context information acquired through at least one sensor 110 with context information 520 corresponding to the command “recipe recommendation.”
  • the processor 140 may obtain context information using a received voice command. Meanwhile, the specific method for obtaining similarity will be explained in detail with reference to FIG. 6 below.
  • FIG. 6 is a diagram illustrating a method of identifying similarity of context information according to an embodiment.
  • the processor 140 may obtain current context information and identify the similarity of the context information stored in the memory 120 based on this.
  • the processor 140 may obtain context information through at least one sensor 110, but the present invention is not limited thereto, and may also obtain context information using a received voice command.
  • the processor 140 may first obtain context information 610 at the time a voice command is received through at least one sensor 110. For example, assume that a voice command corresponding to “Turn on the lights” is received. The processor 140 identifies that the electronic device 100 is located in subspace “R2” through at least one sensor 110, identifies the utterance time as “18:00”, and determines the user’s movement path as “18:00.” T21”, the temperature corresponding to the point of ignition is identified as 21°, the humidity corresponding to the point of ignition is identified as “60%”, and the relative concentration of fine dust corresponding to the point of ignition is identified as “L”.
  • the remaining battery information can be identified as “B20%.”
  • the processor 140 can use the received voice command to identify the speaker's gender as male and obtain “Male” as gender information, and convert the user's intention into a control command based on the text corresponding to the voice command.
  • intent-command can be identified as intent information.
  • P0 can be identified as the priority corresponding to the identified intent information. According to one example, “P0” may correspond to the first priority, but is not limited to this.
  • the processor 140 combines a plurality of different types of information included in the acquired current context information 610 into a plurality of different types of information included in the context information 620 corresponding to the command “Turn on the lights.” Similarity can be obtained by comparing information and corresponding types.
  • the processor 140 compares a plurality of different types of information included in the context information, obtains a similarity corresponding to each of the different types of information, and calculates the similarity corresponding to each of the obtained different types.
  • the average value can be identified as the similarity of context information corresponding to the command “Turn on the lights.”
  • the processor 140 may identify a weight corresponding to each type of a plurality of information and identify the degree of similarity of context information based on the identified weight.
  • the memory 120 may already have weight values corresponding to each type of a plurality of information stored therein.
  • the processor 140 compares a plurality of different types of information 610 included in the current context information and a plurality of different types of information 620 included in the context information corresponding to the command “Turn on the lights”, respectively, to determine the different types.
  • FIGS. 7A and 7B are diagrams for explaining a method of identifying context information based on intent information according to an embodiment.
  • the control method may identify whether at least one instruction whose similarity is greater than or equal to a first threshold exists (S710).
  • a plurality of context information corresponding to commands of the same text may be stored in the memory 120.
  • a plurality of context information 720 and 730 with different values corresponding to the command “What time is it?” may be stored.
  • the processor 140 when a voice command 710 corresponding to “What time is it now?” is received, the processor 140 generates text corresponding to the voice command based on the lookup table 700 stored in the memory 120.
  • a first instruction and a second instruction whose similarity is greater than or equal to a first threshold may be identified.
  • the control method may identify intent information corresponding to each of the at least one command (S720).
  • the intent of the command may be one of a control command, an unknown, or a simple conversation, but is not limited thereto.
  • Priority information corresponding to intention information is, for example, first priority (or P0) in the case of a control command intention, second priority (or P5) in the case of an indistinguishable intention, and third priority in the case of a simple conversation. It may be a ranking (or P10), but is not limited thereto.
  • the processor 140 may identify intent information corresponding to each of the identified first and second instructions based on context information corresponding to each instruction stored in the memory 120. For example, the processor 140 may generate context information 720, or a first context, corresponding to the identified first instruction among the context information corresponding to each of the plurality of instructions mapped to the lookup table 700 stored in the memory 120. information) and context information (730, or second context information) corresponding to the second command can be identified. Subsequently, the processor 140 uses “Intent-chitchat” and “Intent-unknown” as intent information included in the context information 720 corresponding to the identified first instruction and the context information 730 corresponding to the second instruction, respectively. can be identified.
  • the control method may identify one of at least one command based on the priority of each identified intent information (S730).
  • the processor 140 displays “Intent-chitchat”, which is intent information included in the first context information 720 corresponding to the identified first instruction and the second context information 730 corresponding to the second instruction. and “Intent-unknown”, respectively, are identified as “P5” and “P10”, and among these, the second command corresponding to the second context information 730 with a relatively high priority can be identified. there is.
  • control method may identify context information corresponding to the identified command (S740).
  • processor 140 may identify second context information 730 corresponding to the second instruction.
  • FIG. 8 is a diagram illustrating a method of identifying a command based on intent information for each word, according to an embodiment.
  • the processor 140 may identify one of the commands stored in the memory 120 based on the word (or text) and intent information corresponding to the voice command.
  • the memory 120 may store context information including words included in each of a plurality of instructions and intent information for each word.
  • the memory 120 includes first context information 820 including a word (or text) corresponding to “What day is it?” and “Intent-chitchat,” which is the corresponding first intent information. It may be stored.
  • the memory 120 may store second context information 820 including a word (or text) corresponding to “What time is it?” and “Intent-command,” which is second intent information corresponding thereto. You can.
  • the processor 140 acquires the word and intention information corresponding to the voice command. You can.
  • the processor 140 may generate an instruction “What day is it now?” that has a similarity greater than or equal to a first threshold value with the previously obtained text “What day is it?” and “What time is it?” Subsequently, based on the information stored in the memory 120, the processor 140 may identify context information that has a similarity of more than a second threshold value to the obtained current context information among the identified instructions. In this case, the processor 140 may identify each of the first context information 820 and the second context information 830 as having a similarity greater than or equal to the second threshold value.
  • the processor 140 may also obtain intent information 910 including priority information “P0” corresponding to intent information “Intent-command”. That is, the processor 140 may obtain a plurality of pieces of information 810 that include priority information corresponding to the intent information along with the intent information.
  • the processor 140 may compare the obtained word and intent information with intent information for each word corresponding to each of the plurality of instructions stored in the memory 120 to identify one of the at least one instruction. .
  • the processor 140 combines the intent information “Intent-command” corresponding to the acquired “What time is it now?” with the intent information included in each of the first context information 820 and the second context information 830.
  • the intent information “Intent-command” corresponding to the text “What time is it now?” obtained from the voice command and the command “What time is it now?” corresponding to the second context information containing the same intent information are identified. can do.
  • the electronic device 100 can identify the user's command using the user's intention included in the voice command. Accordingly, the response accuracy of the electronic device 100 may be improved.
  • the processor 140 selects at least one of the plurality of instructions from the memory 120 based on at least one of the usage history or priority of the plurality of instructions stored in the memory 120. You can also delete it.
  • the processor 140 identifies that the number of uses is less than a preset value based on the usage history of one of a plurality of instructions
  • the processor 140 stores one of the identified instructions and the corresponding context information in the memory ( 120).
  • the processor 140 may delete the instruction with the relatively lowest priority and the context information corresponding thereto, based on information about the priorities of a plurality of instructions.
  • Figure 9 is a block diagram for explaining a first voice recognition module according to an embodiment.
  • the processor 140 may identify a command corresponding to the obtained text among a plurality of commands stored in the memory 120 using the first voice recognition module.
  • the first voice recognition module 900 may include a first text acquisition module 901, a command identification module 902, and a misrecognition pattern detection module 903.
  • the first voice recognition module 900 may be implemented as a learned neural network model and may be pre-stored in the memory 120.
  • the first voice recognition module 900 may be a module that acquires text corresponding to voice in word units.
  • the processor 140 may input the received voice command into the first voice recognition module 900.
  • the first voice recognition module 900 may acquire text corresponding to the voice command by inputting the input voice command to the first text acquisition module 901.
  • the command identification module 902 may identify (930) a command corresponding to the acquired text based on a plurality of commands stored in the memory 120 and the corresponding context information (920). For example, when a command having a similarity of more than a first threshold value to the obtained text is identified among the plurality of commands stored in the memory 120, the command identification module 902 identifies context information corresponding to the identified command, If the acquired current context information is identified as having a similarity of more than a second threshold value to the context information corresponding to the identified command, it can be identified as a command corresponding to the acquired text.
  • the misrecognition pattern detection module 903 is a module that identifies text that has a similarity of more than a preset value to each of a plurality of commands stored in the memory 120 or detects (or identifies) text identified by the same command as the command. .
  • the misidentification pattern detection module 90 may identify it as “What time is it now?”
  • the misidentification pattern detection module 90 may identify it as “What time is it now?”
  • “Tell me the current time” which is identified as the same command as “What time is it?”, is input, this may be identified as “Tell me the current time.”
  • the processor 140 identifies an instruction corresponding to a text having a similarity of more than a preset value to each of the plurality of instructions stored through the misrecognition pattern detection module 903 or a text that is the same instruction as each of the plurality of instructions. Once done, the memory 120 can be updated to include information about the identified text.
  • the processor 140 when an instruction having text having a similarity of more than a preset value to the text of the first instruction is identified, the processor 140 stores information that identifies the identified instruction as a first instruction when it is received in the memory 120. ) can be saved in . Alternatively, according to one example, the processor 140 identifies an instruction including text identified as the same instruction as the first instruction, and configures the memory 120 so that information about the identified instruction is included in the information about the first instruction. It can be updated. When an identified instruction is received, the processor 140 can identify the first instruction.
  • Figure 10 is a block diagram for explaining a second voice recognition module according to an embodiment.
  • the processor 140 may acquire a command corresponding to the user's voice command using the second voice recognition module and store the obtained command and context information corresponding to the obtained command in the memory 120. there is. That is, the second voice recognition module can update the context information stored in the memory 120.
  • the processor 140 may first receive a voice command (1010). Next, according to one embodiment, if the voice command includes a paging keyword, the processor 140 may identify the paging keyword (1020).
  • the second voice recognition module 1000 may include a second text acquisition module 1002 and a natural language understanding module 1001.
  • the second text acquisition module 1002 is a module that outputs text corresponding to the acquired voice command, and may be implemented with a learned neural network model.
  • the second text acquisition module 1002 may be a different module from the first text acquisition module 901, and the second text acquisition module 1002 receives the voice of a conversation unit and acquires it as text. can do.
  • the natural language understanding module 1001 may identify a user request including the user's intent by applying the obtained text to a natural language understanding algorithm.
  • the second voice recognition module 1000 may store it in the memory 120 .
  • the processor 140 may acquire the text obtained through the second voice recognition module 1000 and the corresponding context information along with the corresponding user request and store them in the memory 120.
  • the processor 140 acquires context information based on the at least one sensor 110 or the received voice command, and recognizes the voice command received through the second voice recognition module 1000.
  • the text corresponding to and the corresponding user intention information can be obtained.
  • the processor 140 may store the acquired context information, the acquired text, and the user intent information corresponding thereto in the memory 120 .
  • the processor 140 uses the second voice recognition module to respond to the voice command.
  • Voice recognition can be performed.
  • the processor 140 identifies the similarity between the text obtained using the first voice recognition module 900 and a plurality of commands stored in the memory 120 and identifies commands having a similarity greater than or equal to a first threshold value. If not, text corresponding to the voice command can be obtained by performing voice recognition on the voice command using the second voice recognition module 1000. Subsequently, according to one example, the processor 140 may compare the text obtained using the second voice recognition module 1000 with information stored in the memory 120 to identify a command having a similarity greater than or equal to a first threshold value. .
  • FIG. 11 is a diagram illustrating a method of identifying similarity by considering a weight corresponding to the type of information according to an embodiment.
  • control method may first identify whether the acquired current context information includes a plurality of different types of information (S1110).
  • the control method may identify a weight corresponding to each type of the plurality of information (S1120).
  • the processor 140 may obtain status information of the electronic device 100, for example, information about the remaining battery capacity of the electronic device 100, through at least one sensor 110.
  • the processor 140 may provide environmental information of the electronic device 100 through at least one sensor 110, for example, information on at least one of temperature, humidity, illuminance, fine dust concentration, and current time. You can also obtain .
  • the processor 140 may obtain information about the user's context information, for example, the user's gender and the user's location. In this case, the processor 140 may identify a weight corresponding to each type of a plurality of information based on the information stored in the memory 120.
  • control method may identify the similarity of context information based on the identified weight (S1130).
  • the processor 140 determines the context corresponding to the plurality of different types of information and instructions included in the current context information.
  • the similarity of the context information corresponding to each of the plurality of instructions can be identified by multiplying the similarity corresponding to each of the identified plurality of pieces of information by the weight value corresponding to each similarity.
  • Figure 12 is a block diagram showing the detailed configuration of an electronic device according to an embodiment.
  • the electronic device 100' includes at least one sensor 110, a memory 120, a microphone 130, one or more processors 140, a speaker 150, a display 160, and a user interface ( 170), and may include a communication interface 180.
  • a communication interface 180 may include a communication interface 180.
  • FIG. 13 detailed descriptions of configurations that overlap with those shown in FIG. 2 will be omitted.
  • the speaker 150 includes a tweeter for reproducing high-pitched sounds, a midrange for reproducing mid-range sounds, a woofer for reproducing low-pitched sounds, a subwoofer for reproducing extremely low-pitched sounds, an enclosure for controlling resonance, and an input to the speaker. It may be composed of a crossover network that divides the electrical signal frequencies into bands.
  • the speaker 150 may output an acoustic signal to the outside of the electronic device 100'.
  • the speaker 150 can 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 may include an output device such as an audio output terminal.
  • the speaker 150 can provide acquired information, information processed and produced based on the acquired information, response results to the user's voice, or operation results, etc. in voice form.
  • the display 160 may be implemented as a display including a self-emitting device or a display including a non-emitting device and a backlight.
  • a display including a self-emitting device or a display including a non-emitting device and a backlight.
  • LCD Liquid Crystal Display
  • OLED Organic Light Emitting Diodes
  • LED Light Emitting Diodes
  • micro LED micro LED
  • Mini LED Plasma Display Panel
  • QD Quantum dot
  • QLED Quantum dot light-emitting diodes
  • the display 160 may also include a driving circuit and a backlight unit that may be implemented in the form of a-si TFT, low temperature poly silicon (LTPS) TFT, or organic TFT (OTFT).
  • LTPS low temperature poly silicon
  • OFT organic TFT
  • the display 160 is implemented as a touch screen combined with a touch sensor, a flexible display, a rollable display, a 3D display, a display in which a plurality of display modules are physically connected, etc. It can be.
  • the processor 140 may control the display 160 to output the output image obtained according to the various embodiments described above.
  • the output image may be a high-resolution image of 4K or 8K or higher.
  • the user interface 170 is a configuration that allows the electronic device 100' to interact with a user.
  • 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, but is not limited thereto.
  • the communication interface 180 can input and output various types of data.
  • the communication interface 180 includes AP-based Wi-Fi (Wireless LAN network), Bluetooth, Zigbee, wired/wireless LAN (Local Area Network), WAN (Wide Area Network), Ethernet, IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES/EBU (Audio Engineering Society/ European Broadcasting Union), Optical , external devices (e.g., source devices), external storage media (e.g., USB memory), and external servers (e.g., web hard drives) and various types of data through communication methods such as coaxial, etc. Can send and receive.
  • the electronic device when a voice command is received, can use context information to identify a command corresponding to the voice command and perform a corresponding operation even if a separate call keyword is not received. . Accordingly, the electronic device can provide rapid service in response to user requests to perform simple operations.
  • the methods according to various embodiments of the present disclosure described above may be implemented in the form of an application that can be installed on an existing robot.
  • the methods according to various embodiments of the present disclosure described above may be performed using a deep learning-based learned neural network (or deep learned neural network), that is, a learning network model.
  • the methods according to various embodiments of the present disclosure described above may be implemented only by upgrading software or hardware for an existing robot.
  • the various embodiments of the present disclosure described above can also be performed through an embedded server provided in the robot or an external server of the robot.
  • the various embodiments described above may be implemented as software including instructions stored in a machine-readable storage media (e.g., a computer).
  • the device is a device capable of calling instructions stored from a storage medium and operating according to the called instructions, and may include a display device (eg, display device A) according to the disclosed embodiments.
  • the processor may perform the function corresponding to the instruction directly or using other components under the control of the processor.
  • Instructions may contain code generated or executed by a compiler or interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium does not contain signals and is tangible, and does not distinguish whether the data is stored semi-permanently or temporarily in the storage medium.
  • the methods according to various embodiments described above may be provided and included in a computer program product.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed on a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or online through an application store (e.g. Play StoreTM).
  • an application store e.g. Play StoreTM
  • at least a portion of the computer program product may be at least temporarily stored or created temporarily in a storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • each component e.g., module or program
  • each component may be composed of a single or multiple entities, and some of the sub-components described above may be omitted, or other sub-components may be omitted. Additional components may be included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity and perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added. You can.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

음성 인식을 수행하는 전자 장치가 개시된다. 전자 장치는, 적어도 하나의 센서, 복수의 명령어 각각에 대응되는 컨텍스트 정보가 저장된 메모리, 마이크 및 마이크를 통해 음성 명령이 수신되면, 음성 명령에 대응되는 텍스트를 획득하고, 메모리에 저장된 복수의 명령어 중 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되면, 식별된 명령어에 대응되는 컨텍스트 정보를 식별하고, 적어도 하나의 센서를 통해 획득된 컨텍스트 정보를 포함하는 현재 컨텍스트 정보가 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 식별된 명령어에 대응되는 제어 신호를 획득하고, 제어 신호에 기초하여 동작을 수행하는 하나 이상의 프로세서를 포함한다.

Description

음성 인식을 수행하는 전자 장치 및 이의 제어 방법
본 개시는 음성 인식을 수행하는 전자 장치 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 컨텍스트 정보를 이용하여 음성 인식을 수행하는 실시 예에 관한 것이다.
전자 기술의 발달에 힘입어 다양한 유형의 전자 기기가 개발되고 널리 사용되고 있다. 최근에는, 음성 인식 기술을 이용하여 사용자의 음성을 분석하고, 분석된 음성에 기초하여 사용자에게 서비스를 제공하는 전자 장치의 개발이 활발해지고 있다.
일반적으로 전자 장치가 음성 인식을 수행하기 위하여는, 사용자가 호출 키워드(또는, Wake-Up 신호)를 포함하는 음성을 발화해야 하며, 전자 장치는 상술한 호출 키워드를 인식함으로써 음성 인식을 위한 동작을 수행할 수 있다. 다만, 댁 내에서 사용자가 간단한 명령을 내리는 경우(예를 들어, TV 켜줘 또는 전등 켜줘 등)에도 사용자는 간단한 명령에 대응되는 발화 및 음성에 이어서 호출 키워드를 발화해야 하는 불편함이 있다.
이상과 같은 목적을 달성하기 위한 일 실시 예에 따른 전자 장치는, 적어도 하나의 센서, 복수의 명령어 중 어느 하나에 각각 대응되는 복수의 컨텍스트 정보가 저장된 메모리, 마이크 및 상기 마이크를 통해 수신된 음성 명령에 대응되는 텍스트 데이터를 획득하고, 상기 획득된 텍스트 데이터 및 상기 복수의 명령어 간 비교에 기초하여 상기 복수의 명령어 중 제1 명령어를 식별하고, 상기 복수의 컨텍스트 정보 중 상기 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보를 식별하고, 상기 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보 및 상기 적어도 하나의 센서를 통해 획득된 제2 컨텍스트 정보 간 비교에 기초하여 상기 식별된 제1 명령어에 대응되고 상기 음성 명령에 대응되는 제어 신호를 획득하고, 상기 제어 신호에 기초하여 동작을 수행하는 하나 이상의 프로세서를 포함할 수 있다.
이상과 같은 목적을 달성하기 위한 일 실시 예에 따른 전자 장치의 제어 방법은, 수신된 음성 명령에 대응되는 텍스트 데이터를 획득하는 단계, 상기 획득된 텍스트 데이터 및 복수의 명령어 간 비교에 기초하여 상기 복수의 명령어 중 제1 명령어를 식별하는 단계, 복수의 컨텍스트 정보 중 상기 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보를 식별하는 단계, 상기 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보 및 적어도 하나의 센서를 통해 획득된 제2 컨텍스트 정보 간 비교에 기초하여 상기 식별된 제1 명령어에 대응되고 상기 음성 명령에 대응되는 제어 신호를 획득하는 단계 및 상기 제어 신호에 기초하여 동작을 수행하는 단계를 포함할 수 있다.
도 1은 일 실시 예에 따른 전자 장치의 제어 방법을 개략적으로 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3은 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시 예에 따른 명령어에 대응되는 제어 신호를 획득하는 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시 예에 따른 명령어 및 컨텍스트 정보를 설명하기 위한 도면이다.
도 6은 일 실시 예에 따른 컨텍스트 정보의 유사도를 식별하는 방법을 설명하기 위한 도면이다.
도 7a는 일 실시 예에 따른 의도 정보에 기초하여 컨텍스트 정보를 식별하는 방법을 설명하기 위한 도면이다.
도 7b는 일 실시 예에 따른 의도 정보에 기초하여 컨텍스트 정보를 식별하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 워드 별 의도 정보에 기초하여 명령어를 식별하는 방법을 설명하기 위한 도면이다.
도 9는 일 실시 예에 따른 제1 음성 인식 모듈을 설명하기 위한 블록도이다.
도 10은 일 실시 예에 따른 제2 음성 인식 모듈을 설명하기 위한 블록도이다.
도 11은 일 실시 예에 따른 정보의 타입에 대응되는 가중치를 고려하여 유사도를 식별하는 방법을 설명하기 위한 흐름도이다.
도 12는 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블록도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈", “유닛”, “인터페이스” 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
도 1은 일 실시 예에 따른 전자 장치의 제어 방법을 개략적으로 설명하기 위한 도면이다.
도 1에 따르면, 일 실시 예에 따라 전자 장치(10)는 사용자(20)로부터 수신된 음성 명령에 대응되는 동작을 수행할 수 있다. 예를 들어, 사용자(20)가 음성 명령을 발화한 경우, 전자 장치(10)는 사용자(20)가 발화한 음성 명령에 대응하는 동작을 수행할 수 있다.
여기서, 전자 장치(10)는 일 예에 따라 음성 인식을 수행할 수 있는 상이한 타입의전자 장치로 구현될 수 있다. 한편, 일 예에 따라 전자 장치(10)는 이동형 로봇으로 구현되어 주행 공간을 주행할 수 있다. 예를 들어, 이에 한정되지 않으며 전자 장치(10)는 스마트 TV, 태블릿, 모니터, 스마트 폰, 데스크톱 컴퓨터, 랩톱 컴퓨터 등과 같은 다양한 장치로 구현될 수 있다. 본 개시의 일 실시 예에 따른 전자 장치(100)는 상술한 기기에 한정되지 않으며, 전자 장치(100)는 상술한 기기들의 둘 이상의 기능을 갖춘 전자 장치(100)로 구현될 수 있다.
일 예에 따라 전자 장치(10)는 사용자(20)로부터 음성 명령을 수신할 수 있다. 예를 들어, “하이 로봇, 전등 켜줘”에 대응되는 음성 명령이 수신되는 경우를 상정한다. 호출 키워드인 “하이 로봇”를 포함하는 음성 명령이 수신되면, 전자 장치(10)는 호출 키워드에 기초하여 전자 장치(10)의 음성 인식 모드를 동작하고, 수신된 음성 명령에 대응되는 동작을 수행할 수 있다.
한편, 사용자(20)는 특정 컨텍스트의 경우 동일한 사용자 명령을 지속적으로 전자 장치(10)에 입력할 수 있다. 예를 들어, 전자 장치(10)는 오후 8시가 되면 “TV 틀어줘”에 대응되는 음성 명령을 반복적으로 수신할 수 있다. 다른 예로, 전자 장치(10)는 오후 11시가 되면 “전등 꺼줘”에 대응되는 음성 명령을 반복적으로 수신할 수도 있다. 또 다른 예로, 전자 장치(10)가 댁 내 주방에 위치하는 경우 “레시피 추천해줘”에 대응되는 음성 명령을 반복적으로 수신할 수도 있다. 상술한 예와 같이 간단한 음성 명령이 수신되는 경우에도 전자 장치(10)는 호출 키워드가 수신되어야 대응되는 동작을 수행할 수 있으며, 사용자는 간단한 명령을 요청하는 경우에도 일일이 호출 키워드를 입력해야 하는 번거로움이 있다.
이에 따라, 이하에서는 전자 장치 및 사용자 컨텍스트 정보를 이용하여, 별도의 호출 키워드가 입력되지 않은 경우에도 음성 명령이 수신되면 이에 대응되는 동작을 수행하는 다양한 실시 예를 제공하도록 한다.
도 2는 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 2에 따르면, 전자 장치(100)는 적어도 하나의 센서(110), 메모리(120), 마이크(130) 및 하나 이상의 프로세서(140)를 포함할 수 있다.
실시 예에 따르면, 적어도 하나의 센서(110, 이하 센서)는 다양한 타입의 복수의 센서를 포함할 수 있다. 센서(110)는 물리량을 계측하거나 전자 장치(100)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서(110)는 카메라를 포함할 수 있으며, 카메라는 오브젝트에 의해 반사되어 수신되는 가시광 기타 광학 신호를 이미지 센서로 포커싱하는 렌즈 및 가시광 기타 광학 신호를 감지할 수 있는 이미지 센서를 포함할 수 있다. 여기서, 이미지 센서는 복수의 픽셀로 구분되는 2D의 픽셀 어레이를 포함할 수 있다.
일 예에 따른 카메라는 뎁스 카메라(Depth Camera)로 구현될 수 있다. 또한, 일 예에 따라 센서(110)는 라이더(LIDAR, Light Detection And Ranging) 센서 및 TOF(Time of flight) 센서와 같은 거리 센서뿐 아니라 형태를 판독하는 열 화상 센서를 포함할 수 있다.
일 실시 예에 따라 적어도 하나의 센서(110)는 전자 장치(100)의 작동 상태뿐 아니라 전자 장치(100)의 외부 환경 상태를 감지할 수 있다. 예를 들어, 센서(110)는 전자 장치(100)의 동작 상태(예: 전원 또는 온도) 및/또는 전자 장치(100)의 외부 환경 상태(예: 주변 온도, 습도 또는 사용자 상태)를 감지하기 위한 하나 이상의 센서를 포함할 수 있다. 일 예에 따라, 적어도 하나의 센서(110)는 온도 정보를 획득할 수 있는 온도 센서, 습도 정보를 획득할 수 있는 습도 센서, 제스처 센서, 자이로 센서, 기압 센서, 근접 센서, 생체 센서, 조도 센서 및 전자 장치(100) 주변의 미세 먼지 농도를 산출할 수 있는 미세먼지 센서 중 적어도 하나를 포함할 수 있다. 또한, 일 실시 예에 따라 적어도 하나의 센서(110)는 전자 장치(100)의 움직임을 감지하기 위한 움직임 센서를 포함할 수도 있다.
실시 예에 따르면, 메모리(120)는 다양한 실시 예에 따른 전자 장치(100)를 위해 필요한 데이터를 저장할 수 있다. 메모리(120)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위 한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.
실시 예에 따르면, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 실시 예에 따라, 메모리(120)에는 복수의 명령어 각각에 대응되는 컨텍스트 정보가 저장되어 있을 수 있다. 일 실시예에 따르면, 메모리(120)는 복수의 커맨드 중 하나에 대응하는 복수의 컨텍스트 데이터를 저장할 수 있다. 즉, 복수의 커맨드 각각은 메모리(120)에서 해당 컨텍스트 데이터와 연관될 수 있다. 예를 들어, 복수의 커맨드 중 첫 번째 커맨드는 메모리(120)에 저장된 제1 컨텍스트 데이터와 연관될 수 있고, 명령은 복수의 명령 중 메모리(120)에 저장된 제2 컨텍스트 데이터와 연관될 수 있다.여기서, 명령어는 사용자 요청(Intent)에 대응되는 텍스트에 대한 정보를 의미할 수 있으며, 사용자 요청은 사용자 요청은 특정 서비스의 수행을 요청하는 명령을 의미할 수 있다. 예를 들어, 사용자가 “TV 틀어줘”를 입력한 경우, 명령어는 “TV 틀어줘”에 대응되는 텍스트이며, “TV 틀어줘”에 대응되는 사용자 요청은 적어도 하나의 전자 장치 중 TV를 턴-온 시키도록 하는 제어 명령일 수 있다. 다만, 이와 같은 구분은 일 예이며, 시스템 구현 방식에 따라 다양하게 구현될 수 있다.
하나 이상의 실시 예에 따르면, 컨텍스트 정보는 전자 장치(100)의 컨텍스트 정보뿐 아니라 사용자의 컨텍스트 정보 역시 포함할 수 있다. 이에 대하여는 도 5를 통해 자세히 설명하도록 한다.
하나 이상의 실시 예에 따르면, 마이크(130)는 소리를 획득하여 전기 신호로 변환하는 모듈을 의미할 수 있다. 예를 들어, 마이크(130)는 콘덴서 마이크, 리본 마이크, 무빙코일 마이크, 압전소자 마이크, 카본 마이크, MEMS(Micro Electro Mechanical System) 마이크일 수 있다. 또한, 무지향성, 양지향성, 단일지향성, 서브 카디오이드(Sub Cardioid), 슈퍼 카디오이드(Super Cardioid), 하이퍼 카디오이드(Hyper Cardioid)의 방식으로 구현될 수 있다.
일 실시 예에 따라 마이크(130)는 음성 명령을 수신할 수 있다. 일 예에 따라 마이크(130)는 음성 명령에 대응되는 소리를 획득하여 이를 오디오 신호로 변환할 수 있다.
하나 이상의 프로세서(140)(이하, 프로세서)는 적어도 하나의 센서(110), 메모리(120) 및 마이크(130)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작을 제어한다. 프로세서(140)는 하나 또는 복수의 프로세서로 구성될 수 있다. 구체적으로, 프로세서(140)는 메모리(120)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 동작을 수행할 수 있다.
일 실시 예에 따라 프로세서(140)는 디지털 영상 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), GPU(Graphics Processing Unit), AI(Artificial Intelligence) 프로세서, NPU (Neural Processing Unit), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, ASIC(application specific integrated circuit), FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
일 실시 예에 따라 프로세서(140)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
일 실시 예에 따라, 프로세서(140)는 음성 명령에 대응되는 텍스트를 획득할 수 있다. 일 예에 따라, 프로세서(140)는 마이크(130)를 통해 음성 명령이 수신되면, 수신된 음성 명령에 대응되는 텍스트를 획득할 수 있다. 예를 들어, 프로세서(140)는 사용자로부터 마이크(130)를 통해 “전등 켜줘”에 대응되는 음성 명령이 수신되면, 수신된 “전등 켜줘”에 대응되는 텍스트를 획득할 수 있다.
일 실시 예에 따라, 프로세서(140)는 획득된 텍스트에 기초하여 명령어를 식별할 수 있다. 일부 실시예에 따르면, 프로세서(140)는 획득한 텍스트가 메모리(120)에 저장된 복수의 명령 중 어느 하나와 유사한지 여부를 확인할 수 있다. 일 예에 따라, 프로세서(140)는 복수의 명령어 중 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 존재하는지 식별할 수 있다. 예를 들어, 프로세서(140)는 “전등 켜줘”에 대응되는 텍스트가 수신되면, 이를 메모리(120)에 저장된 복수의 명령어와 비교하고, 이에 기초하여 텍스트 간 유사도를 획득할 수 있다. 이 후, 프로세서(140)는 획득된 복수의 명령어 각각에 대응되는 유사도 중 제1 임계 값 이상을 갖는 적어도 하나의 명령어를 식별할 수 있다.
일 예에 따라, 획득된 텍스트 및 메모리(120)에 저장된 복수의 명령어에 따른 텍스트 간 유사도는 획득된 텍스트 및 메모리(120)에 저장된 복수의 명령어에 따른 텍스트 각각에 포함된 음소(Phoneme) 간 유사도일 수 있다. 예를 들어, 프로세서(140)는 획득된 텍스트 및 복수의 명령어를 음소 단위로 식별하고, 획득된 텍스트의 음소를 메모리(120)에 저장된 복수의 명령어의 음소와 비교할 수 있다. 프로세서(140)는 명령어에 포함되는 음소 중 식별된 텍스트와 일치하는 음소의 개수의 비율에 기초하여 복수의 명령어 각각의 유사도를 산출할 수 있다. 하나 이상의 실시 예에 따르면, 이에 대하여는 도 4를 통해 자세히 설명하도록 한다.
일 실시 예에 따라, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여 식별된 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다.
일 예에 따라, 컨텍스트 정보는 전자 장치(100)의 위치 정보, 전자 장치(100)의 상태 정보, 전자 장치(100)의 환경 정보 및 사용자의 컨텍스트 정보를 포함할 수 있다. 이에 따라, 메모리에 저장된 복수의 명령어 각각에 대응되는 상이한 타입의 컨텍스트 정보가 저장되어 있을 수 있다. 프로세서(140)는 복수의 명령어 중 어느 하나가 식별되면, 식별된 명령어에 대응되는 컨텍스트 정보를 메모리(120)에 저장된 정보에 기초하여 식별할 수 있다. 하나 이상의 실시 예에 따르면, 이에 대하여는 도 5를 통해 자세히 설명하도록 한다.
일 실시 예에 따라, 프로세서(140)는 현재 컨텍스트 정보를 획득할 수 있다. 여기서, 일 예에 따라 현재 컨텍스트 정보는 음성 명령이 수신된 시점의 컨텍스트 정보일 수 있다. 예를 들어, 이에 한정되는 것은 아니며 컨텍스트 정보는 사용자 발화 시점에서의 컨텍스트 정보일 수도 있다. 한편, 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 현재 컨텍스트 정보를 획득할 수 있다. 다만, 이에 한정되는 것은 아니며 프로세서(140)는 수신된 음성 명령에 기초하여 현재 컨텍스트 정보를 획득할 수도 있다. 즉, 현재 컨텍스트 정보는 적어도 하나의 센서(110)를 통해 획득된 컨텍스트 정보와 수신된 음성 명령에 기초하여 획득된 컨텍스트 정보를 포함할 수 있다.
일 예에 따라, 전자 장치(100)가 주행 공간 또는 구동 영역을 주행하는 로봇으로 구현되는 경우, 프로세서(140)는 움직임 센서 또는 GPS 센서를 통해 전자 장치(100)의 주행 공간 내 위치에 대한 정보를 획득할 수 있다. 또는, 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)의 상태 정보, 예를 들어 전자 장치(100)의 배터리 잔량에 대한 정보를 획득할 수 있다. 또는, 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)의 환경 정보, 예를 들어 온도, 습도, 조도, 미세먼지 농도 또는 현재 시간 중 적어도 하나에 대한 정보를 획득할 수도 있다. 또는, 일 예에 따라 프로세서(140)는 사용자의 컨텍스트 정보, 예를 들어 사용자 성별, 사용자의 위치에 대한 정보를 획득할 수도 있다. 이에 대하여는 도 5를 통해 자세히 설명하도록 한다.
일 실시 예에 따라, 프로세서(140)는 획득된 현재 컨텍스트 정보와 식별된 명령어에 대응되는 컨텍스트 정보 간 유사도를 식별할 수 있다.
일 예에 따라, 프로세서(140)는 획득된 전자 장치(100)의 위치 정보, 상태 정보, 환경 정보 또는 사용자의 컨텍스트 정보 중 적어도 하나가 획득되면, 획득된 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보와 식별된 명령어에 대응되는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보 각각을 대응되는 타입 별로 비교하고, 이에 기초하여 식별된 명령어에 대응되는 컨텍스트 정보의 유사도를 획득할 수 있다. 여기서, 컨텍스트 정보에 포함된 타입은 예를 들어 전자 장치(100)의 위치, 상태, 환경 또는 사용자 컨텍스트가 될 수 있으나, 다만 이에 한정되는 것은 아니다. 컨텍스트 정보의 유사도를 획득하는 방법에 대하여는 도 6을 통해 자세히 설명하도록 한다.
일 실시 예에 따라, 프로세서(140)는 식별된 유사도에 기초하여 식별된 명령어에 대응되는 제어 신호를 획득하고, 식별된 명령어에 기초하여 동작을 수행할 수 있다.
일 예에 따라, 프로세서(140)는 적어도 하나의 센서(110)를 통해 획득된 컨텍스트 정보(예를 들어, 현재 컨텍스트 정보)와 식별된 명령어에 대응되는 컨텍스트 정보(예를 들어, 명령 컨텍스트 정보)를 타입 별로 비교하여 식별된 명령어에 대응되는 명령 컨텍스트 정보 및 현재 컨텍스트 정보 사이의 유사도를 획득할 수 있다. 프로세서(140)는 식별된 명령어에 대응되는 명령 컨텍스트 정보 및 현재 컨텍스트 정보 사이의 유사도가 제2 임계 값 이상을 가지는 것으로 식별되면, 식별된 명령어에 대응되는 제어 신호를 획득하고, 이에 대응되는 동작을 수행할 수 있다.
도 3은 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 3에 따르면, 제어 방법은 수신된 음성 명령에 대응되는 텍스트를 획득할 수 있다(S310). 일 예에 따라, 프로세서(140)는 마이크(130)를 통해 사용자로부터 별도의 호출 키워드(또는, Wake up 사운드)가 포함되지 않은 음성 명령으로서 “지금 몇 시야?”에 대응되는 음성 명령이 수신되면, 이에 기초하여 “지금 몇 시야?”에 대응되는 텍스트를 획득할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 메모리(120)에 저장된 복수의 명령어 중 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어를 식별할 수 있다(S320). 일 예에 따라 프로세서(140)는 획득된 “지금 몇 시야?”에 대응되는 텍스트와 메모리(120)에 저장된 복수의 명령어를 비교하여, 복수의 명령어 각각에 대응되는 복수의 유사도(예를 들어, 복수의 유사도 값)를 획득할 수 있다. 예를 들어, 복수의 유사도 값 각각은 메모리(120)에 저장된 복수의 명령 각각에 대응하는 저장된 텍스트와 "지금 몇시야?"이라는 문구에 대응하는 획득된 텍스트를 비교하여 획득될 수 있다. 이어서, 프로세서(140)는 획득된 유사도에 기초하여 “지금 몇 시야?”에 대응되는 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어인 “지금 몇 시야?”를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다(S330). 일 예에 따라, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여 식별된 명령어 “지금 몇 시야?”에 대응되는 컨텍스트 정보를 식별할 수 있다.
예를 들어, 식별된 명령어에 대응되는 컨텍스트 정보는 이전에 사용자로부터 “지금 몇 시야?”에 대응되는 음성 명령을 수신한 시점의 전자 장치(100) 및 사용자의 컨텍스트 정보일 수 있다. 즉, 메모리(120)에 저장된 명령어 및 이에 대응되는 컨텍스트 정보는 이전에 사용자로부터 획득된 명령어 및 컨텍스트에 대한 히스토리 정보일 수 있다. 저장된 명령어에 대응되는 컨텍스트 정보는 '저장된 컨텍스트 정보'로 지칭될 수 있다. 이와 같은 사용자 히스토리에 기초하여 메모리(120)에 저장된 정보를 업데이트하는 방법에 대하여는 도 9 및 도 10을 통해 자세히 설명하도록 한다.
이어서, 일 실시 예에 따라 제어 방법은 수신된 음성 명령에 대응되는 현재 컨텍스트 정보가 저장된 컨텍스트 정보와 유사한지 여부를 식별할 수 있다(S340). 예를 들어, 현재 컨텍스트 데이터와 저장된 컨텍스트 데이터 간의 유사도(예: 유사도 값)가 제2 임계 값 이상을 만족하는지 여부를 식별하는 단계를 포함할 수 있다. 즉, 현재 컨텍스트 데이터와 저장된 컨텍스트 데이터의 비교에 기초한 유사도 값이 제2 임계 값 이상인지 여부를 확인하는 단계를 포함할 수 있다. 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(110) 또는 음성 명령을 통해 획득된 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보 및 음성 명령을 이용하여 획득된 컨텍스트 정보를 포함하는 현재 컨텍스트 정보와, 식별된 명령어에 대응되는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보를 대응되는 타입 별로 비교하여, 식별된 명령어에 대응되는 컨텍스트 정보가 제2 임계 값 이상의 유사도를 갖는지 여부를 식별할 수 있다.
예를 들어, 획득된 현재 컨텍스트 정보가 적어도 하나의 센서(110)를 통해 획득된 현재 시간 정보, 온도 정보, 전자 장치(100)의 위치 정보 및 사용자의 위치 정보를 포함하는 경우, 프로세서(140)는 획득된 현재 컨텍스트 정보에 포함된 현재 시간, 온도, 전자 장치(100)의 위치 및 사용자의 위치 각각에 대한 정보를 식별된 명령어에 대응되는 컨텍스트 정보에 포함된 현재 시간, 온도, 전자 장치(100)의 위치 및 사용자의 위치 각각에 대한 정보와 타입 별로 비교하여 유사도를 획득할 수 있다.
이 경우, 프로세서(140)는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보 중 적어도 일부의 타입의 정보만을 비교하여 유사도를 획득할 수 있다. 일 예에 따라 메모리(120)에는 복수의 정보 각각의 타입에 대응되는 가중치 값이 저장되어 있을 수 있으며, 가중치 값은 타입에 따라 상이한 값을 가질 수 있음은 물론이다. 한편, 이에 대하여는 도 6을 통해 자세히 설명하도록 한다.
이어서, 일 실시 예에 따라 제어 방법은 획득된 현재 컨텍스트 정보가 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면(Y), 식별된 명령어에 대응되는 제어 신호를 획득할 수 있다. 일 예에 따라, 프로세서(140)는 획득된 현재 컨텍스트 정보가 식별된 명령어 “지금 몇 시야?”에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 식별된 “지금 몇 시야?”에 대응되는 제어 신호로서 현재 시간 검색 명령에 대응되는 제어 신호를 획득할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 제어 신호에 기초하여 동작을 수행할 수 있다(S360). 일 예에 따라, 프로세서(140)는 획득된 현재 시간 검색 명령에 대응되는 제어 신호에 기초하여 현재 시간을 검색하고, 검색된 현재 시간에 대한 정보를 사용자에게 제공할 수 있다.
이에 따라, 전자 장치(100)는 별도의 호출 키워드가 수신되지 않아도 컨텍스트 정보를 이용하여 음성 명령에 대응되는 명령어를 식별하고, 이에 대응되는 동작을 수행할 수 있다. 이에 따라 사용자의 사용 편의성이 증대될 수 있다.
도 4는 일 실시 예에 따른 명령어에 대응되는 제어 신호를 획득하는 방법을 설명하기 위한 흐름도이다.
도 4에 따르면, 먼저 일 실시 예에 따라 제어 방법은 획득된 텍스트를 음소 단위의 제1 정보로 식별할 수 있다(S410). 일 예에 따라 프로세서(140)는 “이금 몇 시야?”에 대응되는 텍스트가 획득되면, 획득된 “이금 몇 시야?”를 음소 단위의 제1 정보로 식별할 수 있다. 제1 정보는 텍스트에 포함된 음소에 대한 정보이며, 여기서 음소에 대한 정보는 텍스트 내 포함된 음소 각각의 순서에 대한 정보 또한 포함될 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 제1 정보를 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보와 비교하여 음소 단위의 유사도를 식별할 수 있다(S420). 일 예에 따라, 메모리(120)에는 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보가 저장되어 있을 수 있다. 프로세서(140)는 획득된 텍스트 “이금 몇 시야?”에 대응되는 제1 정보와 메모리(120)에 저장된 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보를 비교하여, 메모리(120)에 저장된 명령어 각각에 대응되는 음소 단위의 유사도를 식별할 수 있다.
일 예에 따라, 프로세서(140)는 식별된 음소 단위의 제1 정보와 메모리(120)에 저장된 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보를 비교하여, 복수의 명령어 각각에 대응되는 총 음소 개수 중 제1 정보의 음소와 일치하는 음소의 개수에 기초하여 유사도를 식별할 수 있다. 이 경우, 프로세서(140)는 음소의 순서에 기초하여 대응되는 음소를 비교할 수 있다. 예를 들어, 프로세서(140)는 획득된 텍스트에 포함된 “ㅇ”, “ㅣ”, “ㄱ”를 포함하는 복수 개의 음소와 복수의 명령어 각각에 포함된 적어도 하나의 음소를 비교하여, 유사도를 획득할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 음소 단위의 유사도가 제1 임계 값 이상인 적어도 하나의 명령어를 식별할 수 있다(S430). 예를 들어, 상기 방법은 상기 적어도 하나의 명령과 상기 획득된 텍스트의 음소 단위 유사도 값이 상기 제1 임계값 이상임을 확인하는 단계를 포함할 수 있다. 일 예에 따라, 프로세서(140)는 텍스트에 포함된 음소와 복수의 명령어 각각에 포함된 음소를 비교하여 복수의 명령어 각각에 대응되는 음소 단위의 유사도를 식별할 수 있으며, 복수의 명령어 중 식별된 유사도가 제1 임계 값 이상인 적어도 하나의 명령어를 식별할 수 있다. 예를 들어, 프로세서(140)는 획득된 텍스트 “이금 몇 시야?”와 제1 임계 값 이상의 음소 단위의 유사도를 갖는 명령어로서 “지금 몇 시야?”를 식별할 수 있다. 다만, 상술한 예에 한정되지 않으며 제1 임계 값 이상인 명령어는 복수 개가 될 수 있음은 물론이다.
이어서, 일 실시 예에 따라 제어 방법은 적어도 하나의 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다(S440). 일 예에 따라, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여, 식별된 명령어 “지금 몇 시야?”에 대응되는 컨텍스트 정보, 예를 들어 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보를 획득할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 적어도 하나의 명령어에 대응되는 컨텍스트 정보 중 획득된 현재 컨텍스트 정보와의 유사도가 제2 임계 값 이상인 컨텍스트 정보를 식별할 수 있다(S450). 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(110)를 통해 획득된 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보와 명령어 “지금 몇 시야?”에 대응되는 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보를 대응되는 타입 별로 비교하여 유사도를 획득할 수 있다. 이 후, 프로세서(140)는 획득된 유사도가 제2 임계 값 이상인 컨텍스트 정보를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 컨텍스트 정보에 대응되는 명령어를 식별할 수 있다(S460). 일 예에 따라, 프로세서(140)는 명령어 “지금 몇 시야?”에 대응되는 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보를 포함하는 컨텍스트 정보가 획득된 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보를 포함하는 컨텍스트 정보와의 유사도가 제2 임계 값 이상인 것으로 식별되면, 적어도 하나의 명령어 중 “지금 몇 시야?”에 대응되는 명령어를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 명령어에 대응되는 제어 신호를 획득할 수 있다(S470). 일 예에 따라, 프로세서(140)는 식별된 “지금 몇 시야?”에 대응되는 제어 신호로서 현재 시간 검색 명령에 대응되는 제어 신호를 획득할 수 있다.
상술한 예에 따르면, 전자 장치(100)는 획득된 텍스트를 음소 단위로 분석하여 음성 명령에 대응되는 제어 신호를 식별하고, 이에 기초하여 동작을 수행할 수 있게 된다. 이에 따라 전자 장치(100)는 정확도 높은 서비스를 제공할 수 있게 된다.
도 5는 일 실시 예에 따른 명령어 및 컨텍스트 정보를 설명하기 위한 도면이다.
일 실시 예에 따라 메모리(120)에는 복수의 명령어 및 이에 대응되는 컨텍스트 정보가 저장되어 있을 수 있다.
일 예에 따라, 명령어 각각에 대응되는 컨텍스트 정보에는 전자 장치(100)의 위치 정보, 전자 장치(100)의 상태 정보, 전자 장치(100)의 환경 정보 및 사용자의 컨텍스트 정보를 포함할 수 있으나, 이에 한정되는 것은 아니며 명령어에 대응되는 의도 정보 및 우선 순위 정보가 포함될 수도 있다. 전자 장치의 상태 데이터는 전자 장치의 동작 상태를 포함할 수 있다.
실시 예에 따르면, 프로세서(140)는 음성 명령이 수신되면, 수신된 음성 명령에 대응되는 명령어를 식별하고, 음성 명령이 수신된 시점을 기준으로 식별된 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다. 프로세서(140)는 식별된 명령어 및 이에 대응되는 컨텍스트 정보를 메모리(120)에 저장할 수 있다.
사용자 등을 통해 전자 장치(100)로 음성 명령이 입력되면, 프로세서(140)는 음성 명령에 대한 명령어 및 컨텍스트 정보를 획득하여 이를 메모리(120)에 저장함으로써 메모리(120)에 저장된 명령어 및 컨텍스트 정보를 업데이트할 수 있게 된다. 그러나 이에 한정되는 것은 아니며, 다른 실시예에 따라 프로세서(140)는 통화 키워드 이후의 음성 명령 및 음성 명령에 대응되는 컨텍스트 데이터를 획득하고, 메모리(120)에 명령 및 컨텍스트 데이터를 저장할 수 있다.
일 예에 따라 전자 장치(100)의 위치 정보는 주행 공간 내 전자 장치(100)의 상대적인 위치에 대한 정보일 수 있다. 또는, 전자 장치(100)의 위치 정보는 주행 공간(예: 지역 또는 지역)에 포함된 복수의 서브 공간(예를 들어, 방(Room)) 중 전자 장치(100)가 위치한 서브 공간에 대한 정보일 수도 있다. 전자 장치(100)의 상태 정보는 전자 장치(100)의 배터리 잔량에 대한 정보일 수 있다. 전자 장치(100)의 환경 정보는 전자 장치(100)에 포함된 적어도 하나의 센서(110)로부터 획득된 온도 정보, 습도 정보, 미세 먼지 농도 정보를 포함할 수 있으나 다만 이에 한정되는 것은 아니며, 시간 정보를 포함할 수도 있다. 이 경우, 시간 정보는 날짜 정보를 제외한 시각 정보, 예를 들어 오후 6시, 오전 8시 30분과 같은 시각 정보를 의미할 수 있다.
일 예에 따라 사용자 컨텍스트 정보는 음성 명령이 입력된 경우 입력된 음성 명령에 대응되는 사용자 성별 정보, 사용자의 이동 경로 정보 및 동일한 명령어의 특정 컨텍스트 내에서의 사용 횟수에 대한 정보 중 적어도 하나를 포함할 수 있다.
또한, 일 예에 따라 사용자 컨텍스트 정보는 명령어의 의도 정보 및 이에 대응되는 우선 순위 정보를 포함할 수도 있다. 예를 들어, 명령어의 의도는 제어 명령(command), 구분 불가(unknown) 또는 단순 대화(chitchat) 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다. 의도 정보에 대응되는 우선 순위 정보는 예를 들어, 제어 명령 의도인 경우 제1 우선 순위, 구분 불가 의도인 경우 제2 우선 순위, 단순 대화인 경우 제3 우선 순위가 될 수 있으나, 이에 한정되는 것은 아니다.
한편, 도 5에 따르면, 일 실시 예에 따라 메모리(120)에는 복수의 명령어 및 이에 대응되는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보가 저장되어 있을 수 있다.
여기서, 도 5는 메모리(120)에 저장된 정보를 설명의 편의를 위하여 도식화 한 도면이다. 도 5에서는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보가 순차적으로 나열된 것으로 도시되어 있으나, 이는 설명의 편의를 위한 것으로서 복수의 정보의 순서는 사용자 설정 등에 따라 상이할 수 있음은 물론이다.
일 예에 따라, 메모리(120)에는 복수의 명령어 및 이에 대응되는 컨텍스트 정보가 맵핑된 룩업 테이블(500)이 저장되어 있을 수 있다. 그러나, 본 발명은 룩업 테이블에 한정되지 않으며, 이와 같이 다른 실시예에 따라 복수의 명령 및 컨텍스트 데이터는 다른 방식으로 저장될 수 있다. 예를 들어, 다른 실시예에 따르면, 복수의 명령 및 컨텍스트 데이터는 다양한 데이터 저장 방법에 기반하여 메모리에서 서로 연관될 수 있다. 일 예에 따라, 룩업 테이블(500)에는 명령어 “지금 몇 시야?” 및 이에 대응되는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보(510)가 저장되어 있을 수 있다.
예를 들어, 명령어 및 명령어에 대응되는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보(510)는 도면의 좌측을 기준으로 사용 횟수, 전자 장치가 위치한 서브 공간의 타입, 발화자의 음성 특성에 따른 분류(예를 들어, 발화자의 성별), 발화 시각, 사용자의 이동 경로, 온도, 습도, 미세 먼지, 의도, 우선 순위, 배터리 잔량 및 명령어에 대한 정보를 포함할 수 있다. 여기서 “90”은 명령어 “지금 몇 시야?” 가 대응되는 컨텍스트 내에서 90회 사용되었음을 의미한다. “ALL”은 주행 공간 내 모든 서브 공간에서 명령어가 수신되었음을 의미한다. “Male”은 발화자의 성별이 남성임을 의미할 수 있다. “12:00”은 발화 시점에 대응되는 시간을 의미한다.
한편, “T201”은 사용자의 이동 경로를 의미한다. 30°는 발화 시점에 대응되는 온도를 의미하며, 여기서 온도는 섭씨 단위(Celsius scale) 또는 화씨 단위(Fahrenheit scale)일 수 있다. “60%”는 발화 시점에 대응되는 습도를 의미하며, “H”는 발화 시점에 대응되는 미세 먼지의 상대적인 농도(예를 들어, H(High), M(Medium) 및 L(Low) 중 적어도 하나)를 의미한다. “Intent-chitchat”은 명령어에 대응되는 의도가 “단순 대화”임을 의미한다. “P10”은 우선 순위를 의미한다. 일 예에 따라 P10은 제3 우선 순위에 대응될 수 있으나, 이에 한정되는 것은 아니다. “B50%”는 발화 시점에 대응되는 전자 장치(100)의 배터리 잔량이 50%임을 의미한다.
일 예에 따라, 룩업 테이블(500)에는 복수의 명령어 및 이에 대응되는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보가 맵핑되어 있을 수 있다. 명령어 “지금 몇 시야?” 및 이에 대응되는 컨텍스트 정보(510)가 저장되어 있을 수 있으며, 명령어 “레시피 추천” 및 이에 대응되는 컨텍스트 정보(520) 또한 저장되어 있을 수 있다.
일 실시 예에 따라, 프로세서(140)는 획득된 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되면, 복수의 정보 각각을 명령어에 대응되는 컨텍스트 정보에 포함된 복수의 정보 각각과 비교하여 컨텍스트 정보의 유사도를 식별할 수 있다.
일 예에 따라 프로세서(140)는 먼저 마이크(130)를 통해 “데시피 추천”에 대응되는 음성 명령이 수신되면, “데시피 추천”에 대응되는 텍스트를 획득할 수 있다. 프로세서(140)는 “데시피 추천”에 대응되는 텍스트와 메모리(120)에 저장된 룩업 테이블(500)에 포함된 복수의 명령어를 비교하여 명령어 “레시피 추천” 및 이에 대응되는 컨텍스트 정보(520)를 획득할 수 있다.
이어서, 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 획득된 컨텍스트 정보와 명령어 “레시피 추천”에 대응되는 컨텍스트 정보(520)를 비교하여 유사도를 획득할 수 있다. 다만, 이에 한정되는 것은 아니며 일 예에 따라 프로세서(140)는 수신된 음성 명령을 이용하여 컨텍스트 정보를 획득할 수도 있음은 물론이다. 한편, 유사도를 획득하는 구체적인 방법에 대하여는 하기의 도 6을 통해 자세히 설명하도록 한다.
도 6은 일 실시 예에 따른 컨텍스트 정보의 유사도를 식별하는 방법을 설명하기 위한 도면이다.
도 6에 따르면, 일 실시 예에 따라 프로세서(140)는 현재 컨텍스트 정보를 획득하고, 이에 기초하여 메모리(120)에 저장된 컨텍스트 정보의 유사도를 식별할 수 있다. 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 컨텍스트 정보를 획득할 수 있으나, 이에 한정되는 것은 아니며, 수신된 음성 명령을 이용하여 컨텍스트 정보를 획득할 수도 있다.
일 예에 따라, “전등 켜줘”에 대응되는 음성 명령이 수신되고, 이에 기초하여 명령어 “전등 켜줘” 및 이에 대응되는 컨텍스트 정보(620)가 식별된 경우를 상정한다.
일 예에 따라, 먼저 프로세서(140)는 적어도 하나의 센서(110)를 통해 음성 명령이 수신된 시점의 컨텍스트 정보(610)를 획득할 수 있다. 예를 들어, “전등 켜줘”에 대응되는 음성 명령이 수신된 경우를 상정한다. 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)가 서브 공간 “R2”에 위치함을 식별하고, 발화 시각을 “18:00”로 식별하고, 사용자의 이동 경로를 “T21”로 식별하고, 발화 시점에 대응되는 온도를 21°로 식별하고, 발화 시점에 대응되는 습도를 “60%”로 식별하고, 발화 시점에 대응되는 미세 먼지의 상대적인 농도를 “L”로 식별하고, 발화 시점에 대응되는 전자 장치(100)의 배터리 잔량이 50%임에 따라 배터리 잔량 정보를 “B20%”로 식별할 수 있다. 또한, 프로세서(140)는 수신된 음성 명령을 이용하여 발화자의 성별이 남성임을 식별하여 성별 정보로 “Male”을 획득할 수 있고, 음성 명령에 대응되는 텍스트에 기초하여 사용자의 의도를 제어 명령으로 식별하여 의도 정보로 “Intent-command”를 식별할 수 있다. 또한, 식별된 의도 정보에 대응되는 우선 순위로 “P0”를 식별할 수 있다. 일 예에 따라 “P0”는 제1 우선 순위에 대응될 수 있으나, 이에 한정되는 것은 아니다.
이어서, 일 예에 따라 프로세서(140)는 획득된 현재 컨텍스트 정보(610)에 포함된 상이한 타입의 복수의 정보를 명령어 “전등 켜줘”에 대응되는 컨텍스트 정보(620)에 포함된 상이한 타입의 복수의 정보와 대응되는 타입 별로 비교하여, 유사도를 획득할 수 있다.
예를 들어, 프로세서(140)는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보를 각각 비교하여, 상이한 타입의 복수의 정보 각각에 대응되는 유사도를 획득하고, 획득된 상이한 타입 각각에 대응되는 유사도에 대한 평균 값을 명령어“전등 켜줘”에 대응되는 컨텍스트 정보의 유사도로 식별할 수 있다.
또는, 일 예에 따라 프로세서(140)는 복수의 정보 각각의 타입에 대응되는 가중치를 식별하고, 식별된 가중치에 기초하여 컨텍스트 정보의 유사도를 식별할 수도 있다. 예를 들어, 메모리(120)에는 복수의 정보 각각의 타입에 대응되는 가중치 값이 기 저장되어 있을 수 있다. 프로세서(140)는 현재 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보(610) 및 명령어 “전등 켜줘”에 대응되는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보(620)를 각각 비교하여, 상이한 타입의 복수의 정보(예를 들어, 서브 공간의 위치, 성별, 시각 등) 각각에 대응되는 유사도를 획득하고, 획득된 복수의 정보 각각에 대응되는 유사도에 유사도 각각에 대응되는 가중치 값을 곱하여 “전등 켜줘”에 대응되는 컨텍스트 정보(620)의 유사도를 획득할 수 있다.
도 7a 및 7b는 일 실시 예에 따른 의도 정보에 기초하여 컨텍스트 정보를 식별하는 방법을 설명하기 위한 도면이다.
도 7a 및 7b에 따르면, 일 실시 예에 따라 제어 방법은 유사도가 제1 임계 값 이상인 적어도 하나의 명령어가 존재하는지 식별할 수 있다(S710). 도 7B에 따르면, 메모리(120)에는 동일한 텍스트의 명령어에 대응되는 복수의 컨텍스트 정보가 저장되어 있을 수 있다. 예를 들어, 명령어 “지금 몇 시야?”에 대응되는 상이한 값을 가지는 복수의 컨텍스트 정보(720 및 730)가 저장되어 있을 수 있다. 일 예에 따라, 프로세서(140)는 “지금 몇 시야?”에 대응되는 음성 명령(710)이 수신된 경우, 메모리(120)에 저장된 룩업 테이블(700)에 기초하여 음성 명령에 대응되는 텍스트와 유사도가 제1 임계 값 이상인 제1 명령어 및 제2 명령어를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 유사도가 제1 임계 값 이상인 적어도 하나의 명령어가 식별되면(Y), 적어도 하나의 명령어 각각에 대응되는 의도 정보를 식별할 수 있다(S720). 일 예에 따라 명령어의 의도는 제어 명령(command), 구분 불가(unknown) 또는 단순 대화(chitchat) 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다. 의도 정보에 대응되는 우선 순위 정보는 예를 들어, 제어 명령 의도인 경우 제1 우선 순위(또는, P0), 구분 불가 의도인 경우 제2 우선 순위(또는, P5), 단순 대화인 경우 제3 우선 순위(또는, P10)가 될 수 있으나, 이에 한정되는 것은 아니다.
일 예에 따라, 프로세서(140)는 메모리(120)에 저장된 명령어 각각에 대응되는 컨텍스트 정보에 기초하여 식별된 제1 명령어 및 제2 명령어 각각에 대응되는 의도 정보를 식별할 수 있다. 예를 들어, 프로세서(140)는 메모리(120)에 저장된 룩업 테이블(700)에 맵핑된 복수의 명령어 각각에 대응되는 컨텍스트 정보 중 식별된 제1 명령어에 대응되는 컨텍스트 정보(720, 또는 제1 컨텍스트 정보) 및 제2 명령어에 대응되는 컨텍스트 정보(730, 또는 제2 컨텍스트 정보)를 식별할 수 있다. 이어서, 프로세서(140)는 식별된 제1 명령어에 대응되는 컨텍스트 정보(720) 및 제2 명령어에 대응되는 컨텍스트 정보(730)에 포함된 의도 정보로 각각 “Intent-chitchat” 및 “Intent-unknown”을 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 의도 정보 각각의 우선 순위에 기초하여 적어도 하나의 명령어 중 하나를 식별할 수 있다(S730). 일 예에 따라, 프로세서(140)는 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보(720) 및 제2 명령어에 대응되는 제2 컨텍스트 정보(730)에 포함된 의도 정보인 “Intent-chitchat” 및 “Intent-unknown” 각각에 대응되는 우선 순위 정보를 “P5” 및 “P10”으로 식별하고, 이 중 우선 순위가 상대적으로 높은 제2 컨텍스트 정보(730)에 대응되는 제2 명령어를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다(S740). 일 예에 따라, 프로세서(140)는 제2 명령어에 대응되는 제2 컨텍스트 정보(730)를 식별할 수 있다.
도 8은 일 실시 예에 따른 워드 별 의도 정보에 기초하여 명령어를 식별하는 방법을 설명하기 위한 도면이다.
도 8에 따르면, 일 실시 예에 따라 프로세서(140)는 음성 명령에 대응되는 워드(또는, 텍스트) 및 의도 정보에 기초하여 메모리(120)에 저장된 명령어 중 어느 하나를 식별할 수 있다.
일 예에 따라, 메모리(120)에는 복수의 명령어 각각에 포함된 워드 및 워드 별 의도 정보가 포함된 컨텍스트 정보가 저장되어 있을 수 있다. 예를 들어, 메모리(120)에는 “지금 몇 일이야?”에 대응되는 워드(또는, 텍스트) 및 이에 대응되는 제1 의도 정보인 “Intent-chitchat”이 포함된 제1 컨텍스트 정보(820)가 저장되어 있을 수 있다. 또한, 메모리(120)에는 “지금 몇 시야?”에 대응되는 워드(또는, 텍스트) 및 이에 대응되는 제2 의도 정보인 “Intent-command”가 포함된 제2 컨텍스트 정보(820)가 저장되어 있을 수 있다.
일 예에 따라, 프로세서(140)는 획득된 현재 컨텍스트 정보가 적어도 하나의 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 음성 명령에 대응되는 워드 및 의도 정보를 획득할 수 있다.
예를 들어, 프로세서(140)는 먼저 획득된 텍스트 “지금 몇이야?”와 제1 임계 값 이상의 유사도를 가지는 명령어 “지금 몇 일이야?” 및 “지금 몇 시야?”를 식별할 수 있다. 이어서, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여, 식별된 명령어 중 획득된 현재 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 컨텍스트 정보를 식별할 수 있다. 이 경우, 프로세서(140)는 제1 컨텍스트 정보(820) 및 제2 컨텍스트 정보(830) 각각이 제2 임계 값 이상의 유사도를 갖는 것으로 식별할 수 있다. 이어서, 프로세서(140)는 현재 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 복수의 컨텍스트 정보(820 및 830)가 식별됨에 따라, 음성 명령 “지금 몇시야?”에 대응되는 워드 및 이에 대응되는 의도 정보 “Intent-command”를 획득할 수 있다. 한편, 프로세서(140)는 이와 함께 의도 정보 “Intent-command” 에 대응되는 우선 순위 정보 “P0” 를 포함하는 의도 정보(910)를 획득할 수도 있다. 즉, 프로세서(140)는 의도 정보와 함께 의도 정보에 대응되는 우선 순위 정보가 포함된 복수의 정보(810)를 획득할 수도 있다.
이어서, 일 예에 따라 프로세서(140)는 획득된 워드 및 의도 정보를 메모리(120)에 저장된 복수의 명령어 각각에 대응되는 워드 별 의도 정보와 비교하여 적어도 하나의 명령어 중 어느 하나를 식별할 수 있다. 예를 들어, 프로세서(140)는 획득된 “지금 몇이야?”에 대응되는 의도 정보 “Intent-command”를 제1 컨텍스트 정보(820) 및 제2 컨텍스트 정보(830) 각각에 포함된 의도 정보와 비교하여, 이 중 음성 명령으로부터 획득된 텍스트 “지금 몇시야?”에 대응되는 의도 정보 “Intent-command”와 동일한 의도 정보가 포함된 제2 컨텍스트 정보에 대응되는 명령어 “지금 몇 시야?”를 식별할 수 있다.
이에 따라, “지금 몇이야?”와 같이 복수의 명령으로 해석될 수 있는 경우, 전자 장치(100)는 음성 명령에 포함된 사용자의 의도를 이용하여 사용자의 명령을 식별할 수 있게 된다. 이에 따라 전자 장치(100)의 응답 정확도가 향상될 수 있다.
한편, 도 2로 돌아와서, 일 실시 예에 따라 프로세서(140)는 메모리(120)에 저장된 복수의 명령어의 사용 히스토리 또는 우선 순위 중 적어도 하나에 기초하여 복수의 명령어 중 적어도 하나를 메모리(120)에서 삭제할 수도 있다. 일 예에 따라, 프로세서(140)는 복수의 명령어 중 어느 하나의 명령어의 사용 히스토리에 기초하여 사용 횟수가 기 설정된 값 미만인 것으로 식별되면, 식별된 어느 하나의 명령어 및 이에 대응되는 컨텍스트 정보를 메모리(120)에서 삭제할 수 있다. 또는, 프로세서(140)는 복수의 명령어의 우선 순위에 대한 정보에 기초하여, 우선 순위가 상대적으로 가장 낮은 명령어 및 이에 대응되는 컨텍스트 정보를 삭제할 수도 있다.
도 9는 일 실시 예에 따른 제1 음성 인식 모듈을 설명하기 위한 블록도이다.
일 실시 예에 따라 프로세서(140)는 제1 음성 인식 모듈을 이용하여 메모리(120)에 저장된 복수의 명령어 중 획득된 텍스트에 대응되는 명령어를 식별할 수 있다.
도 9에 따르면, 일 실시 예에 따라 제1 음성 인식 모듈(900)은 제1 텍스트 획득 모듈(901), 명령어 식별 모듈(902) 및 오인식 패턴 검출 모듈(903)을 포함할 수 있다. 여기서, 제1 음성 인식 모듈(900)은 학습된 신경망 모델로 구현되어 메모리(120)에 기 저장되어 있을 수 있다. 한편, 일 예에 따라 제1 음성 인식 모듈(900)은 워드 단위의 음성에 대응되는 텍스트를 획득하는 모듈일 수 있다.
일 예에 따라, 프로세서(140)는 마이크(130)를 통해 음성 명령이 수신되면(99), 제1 음성 인식 모듈(900)로 수신된 음성 명령을 입력할 수 있다. 제1 음성 인식 모듈(900)은 입력된 음성 명령을 제1 텍스트 획득 모듈(901)로 입력하여 음성 명령에 대응되는 텍스트를 획득할 수 있다.
한편, 일 예에 따라 명령어 식별 모듈(902)은 메모리(120)에 저장된 복수의 명령어 및 이에 대응되는 컨텍스트 정보(920)에 기초하여 획득된 텍스트에 대응되는 명령어를 식별(930)할 수 있다. 예를 들어, 명령어 식별 모듈(902)은 메모리(120)에 저장된 복수의 명령어 중 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되면, 식별된 명령어에 대응되는 컨텍스트 정보를 식별하고, 획득된 현재 컨텍스트 정보가 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 이를 획득된 텍스트에 대응되는 명령어로 식별할 수 있다.
한편, 오인식 패턴 검출 모듈(903)은 메모리(120)에 저장된 복수의 명령어 각각과 기 설정된 값 이상의 유사도를 가지는 텍스트를 식별하거나 명령어와 동일한 명령으로 식별되는 텍스트를 검출(또는, 식별)하는 모듈이다. 일 예에 따라, 오인식 패턴 검출 모듈(90)은 “지금 몇 시야?”와 유사한 텍스트 “지금 몇 기야?”가 입력된 경우, 이를 “지금 몇 시야?”로 식별할 수 있다. 또는, “지금 몇 시야?”와 동일한 명령으로 식별되는 “현재 시간 알려줘”가 입력된 경우, 이를 “현재 시간 알려줘”로 식별할 수도 있다.
한편, 일 예에 따라 프로세서(140)는 오인식 패턴 검출 모듈(903)을 통해 저장된 복수의 명령어 각각과 기 설정된 값 이상의 유사도를 가지는 텍스트에 대응되는 명령어 또는 복수의 명령어 각각과 동일한 명령인 텍스트가 식별되면, 식별된 텍스트에 대한 정보가 포함되도록 메모리(120)를 업데이트할 수 있다.
예를 들어, 프로세서(140)는 제1 명령어의 텍스트와 기 설정된 값 이상의 유사도를 가지는 텍스트를 가지는 명령어가 식별되면, 식별된 명령어가 수신되는 경우 이를 제1 명령어로 식별되도록 하는 정보를 메모리(120)에 저장할 수 있다. 또는, 일 예에 따라 프로세서(140)는 제1 명령어와 동일한 명령으로 식별되는 텍스트를 포함하는 명령어를 식별하고, 식별된 명령어에 대한 정보가 제1 명령어에 대한 정보에 포함되도록 메모리(120)를 업데이트할 수 있다. 프로세서(140)는 식별된 명령어가 수신된 경우, 이를 제1 명령어를 식별할 수 있게 된다.
도 10은 일 실시 예에 따른 제2 음성 인식 모듈을 설명하기 위한 블록도이다.
일 실시 예에 따르면, 프로세서(140)는 제2 음성 인식 모듈을 이용하여 사용자의 음성 명령에 대응되는 명령어를 획득하고 획득된 명령어 및 획득된 명령어에 대응되는 컨텍스트 정보를 메모리(120)에 저장할 수 있다. 즉, 제2 음성 인식 모듈은 메모리(120)에 저장된 컨텍스트 정보를 업데이트할 수 있다.
도 10에 따르면, 일 실시 예에 따라 먼저 프로세서(140)는 음성 명령을 수신할 수 있다(1010). 이어서, 일 실시 예에 따라 프로세서(140)는 음성 명령에 호출 키워드가 포함된 경우, 호출 키워드를 식별할 수 있다(1020).
한편, 일 실시 예에 따라 제2 음성 인식 모듈(1000)은 제2 텍스트 획득 모듈(1002) 및 자연어 이해 모듈(1001)을 포함할 수 있다. 여기서, 제2 텍스트 획득 모듈(1002)은 획득된 음성 명령에 대응되는 텍스트를 출력하는 모듈로서, 학습된 신경망 모델로 구현될 수 있다. 한편, 일 예에 따라 제2 텍스트 획득 모듈(1002)은 제1 텍스트 획득 모듈(901)과 상이한 모듈일 수 있으며, 제2 텍스트 획득 모듈(1002)는 대화 단위의 음성을 입력받아 이를 텍스트로 획득할 수 있다.
한편, 자연어 이해 모듈(1001)은 획득된 텍스트를 자연어 이해 알고리즘에 적용하여 사용자의 의도를 포함하는 사용자 요청을 식별할 수 있다. 제2 음성 인식 모듈(1000)은 획득된 텍스트 및 이에 대응되는 사용자의 의도 정보를 포함하는 사용자 요청이 식별되면, 이를 메모리(120)에 저장할 수 있다. 한편, 일 예에 따라 프로세서(140)는 제2 음성 인식 모듈(1000)을 통해 획득된 텍스트 및 이에 대응되는 사용자의 요청과 함께 이에 대응되는 컨텍스트 정보를 획득하여 메모리(120)에 저장할 수 있다. 예를 들어, 프로세서(140)는 음성 명령이 수신되면, 적어도 하나의 센서(110) 또는 수신된 음성 명령에 기초하여 컨텍스트 정보를 획득하고, 제2 음성 인식 모듈(1000)을 통해 수신된 음성 명령에 대응되는 텍스트 및 이에 대응되는 사용자 의도 정보를 획득할 수 있다. 프로세서(140)는 획득된 컨텍스트 정보와 획득된 텍스트 및 이에 대응되는 사용자 의도 정보를 메모리(120)에 저장할 수 있다.
한편, 일 실시 예에 따라 프로세서(140)는 제1 음성 인식 모듈을 이용하여 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되지 않으면, 제2 음성 인식 모듈을 이용하여 음성 명령에 대한 음성 인식을 수행할 수 있다. 일 예에 따라, 프로세서(140)는 제1 음성 인식 모듈(900)을 이용하여 획득된 텍스트와 메모리(120)에 저장된 복수의 명령어 간 유사도를 식별하여 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되지 않으면, 제2 음성 인식 모듈(1000)을 이용하여 음성 명령에 대한 음성 인식을 수행하여 음성 명령에 대응되는 텍스트를 획득할 수 있다. 이어서, 일 예에 따라 프로세서(140)는 제2 음성 인식 모듈(1000)을 이용하여 획득된 텍스트를 메모리(120)에 저장된 정보와 비교하여 제1 임계 값 이상의 유사도를 가지는 명령어를 식별할 수 있다.
도 11은 일 실시 예에 따른 정보의 타입에 대응되는 가중치를 고려하여 유사도를 식별하는 방법을 설명하기 위한 도면이다.
도 11에 따르면, 일 실시 예에 따라 제어 방법은 먼저 획득된 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되는지 여부를 식별할 수 있다(S1110).
이어서, 일 실시 예에 따라 제어 방법은 획득된 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되면(Y), 복수의 정보 각각의 타입에 대응되는 가중치를 식별할 수 있다(S1120). 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)의 상태 정보, 예를 들어 전자 장치(100)의 배터리 잔량에 대한 정보를 획득할 수 있다. 또는, 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)의 환경 정보, 예를 들어 온도, 습도, 조도, 미세먼지 농도, 현재 시간 중 적어도 하나에 대한 정보를 획득할 수도 있다. 또는, 일 예에 따라 프로세서(140)는 사용자의 컨텍스트 정보, 예를 들어 사용자 성별, 사용자의 위치에 대한 정보를 획득할 수도 있다. 이 경우, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여 복수의 정보 각각의 타입에 대응되는 가중치를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 가중치에 기초하여 컨텍스트 정보의 유사도를 식별할 수 있다(S1130). 일 예에 따라, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여 복수의 정보 각각에 대응되는 가중치가 식별되면, 현재 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보 및 명령어에 대응되는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보를 각각 비교하여, 상이한 타입의 복수의 정보(예를 들어, 서브 공간의 위치, 발화자 성별, 발화 시점에 대응되는 시간 등) 각각에 대응되는 유사도를 식별하고, 식별된 복수의 정보 각각에 대응되는 유사도에 유사도 각각에 대응되는 가중치 값을 곱하여 복수의 명령어에 각각에 대응되는 컨텍스트 정보의 유사도를 각각 식별할 수 있다.
도 12는 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블록도이다.
도 12에 따르면, 전자 장치(100')는 적어도 하나의 센서(110), 메모리(120), 마이크(130), 하나 이상의 프로세서(140), 스피커(150), 디스플레이(160), 사용자 인터페이스(170), 통신 인터페이스(180)를 포함할 수 있다. 도 13에 도시된 구성 중 도 2에 도시된 구성과 중복된 구성에 대해서는 자세한 설명을 생략하도록 한다.
스피커(150)는, 고음역대 소리 재생을 위한 트위터, 중음역대 소리 재생을 위한 미드레인지, 저음역대 소리 재생을 위한 우퍼, 극저음역대 소리 재생을 위한 서브우퍼, 공진을 제어하기 위한 인클로저, 스피커에 입력되는 전기 신호 주파수를 대역 별로 나누는 크로스오버 네트워크 등으로 이루어질 수 있다.
스피커(150)는, 음향 신호를 전자 장치(100')의 외부로 출력할 수 있다. 스피커(150)는 멀티미디어 재생, 녹음 재생, 각종 알림음, 음성 메시지 등을 출력할 수 있다. 전자 장치(100')는 스피커(150)와 같은 오디오 출력 장치를 포함할 수 있으나, 오디오 출력 단자와 같은 출력 장치를 포함할 수 있다. 특히, 스피커(150)는 획득한 정보, 획득한 정보에 기초하여 가공·생산한 정보, 사용자 음성에 대한 응답 결과 또는 동작 결과 등을 음성 형태로 제공할 수 있다.
디스플레이(160)는 자발광 소자를 포함하는 디스플레이 또는, 비자발광 소자 및 백라이트를 포함하는 디스플레이로 구현될 수 있다. 예를 들어, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, LED(Light Emitting Diodes), 마이크로 LED(micro LED), Mini LED, PDP(Plasma Display Panel), QD(Quantum dot) 디스플레이, QLED(Quantum dot light-emitting diodes) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(160) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(160)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 롤러블 디스플레이(rollable display), 3차원 디스플레이(3D display), 복수의 디스플레이 모듈이 물리적으로 연결된 디스플레이 등으로 구현될 수 있다. 프로세서(140)는 상술한 다양한 실시 예에 따라 획득된 출력 영상을 출력하도록 디스플레이(160)를 제어할 수 있다. 여기서, 출력 영상은, 4K 또는 8K 이상의 고해상도 영상일 수 있다.
사용자 인터페이스(170)는 전자 장치(100')가 사용자와 인터렉션(Interaction)을 수행하기 위한 구성이다. 예를 들어 사용자 인터페이스(170)는 터치 센서, 모션 센서, 버튼, 조그(Jog) 다이얼, 스위치, 마이크 또는 스피커 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니다.
통신 인터페이스(180)는 다양한 타입의 데이터를 입력 및 출력할 수 있다. 예를 들어 통신 인터페이스(180)는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치(예를 들어, 소스 장치), 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드)와 다양한 타입의 데이터를 송수신할 수 있다.
상술한 다양한 실시 예에 따르면, 전자 장치는 음성 명령이 수신되는 경우, 별도의 호출 키워드가 수신되지 않아도 컨텍스트 정보를 이용하여 음성 명령에 대응되는 명령어를 식별하고, 이에 대응되는 동작을 수행할 수 있다. 이에 따라, 전자 장치는 간단한 동작을 수행하기 위한 사용자 요청에 대응하여 신속한 서비스를 제공할 수 있게 된다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 설치 가능한 어플리케이션 형태로 구현될 수 있다. 또는 상술한 본 개시의 다양한 실시 예들에 따른 방법들은 딥 러닝 기반의 학습된 신경망(또는 심층 학습된 신경망) 즉, 학습 네트워크 모델을 이용하여 수행될 수 있다. 또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다. 또한, 상술한 본 개시의 다양한 실시 예들은 로봇에 구비된 임베디드 서버, 또는 로봇의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 디스플레이 장치(예: 디스플레이 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    적어도 하나의 센서;
    복수의 명령어 중 어느 하나에 각각 대응되는 복수의 컨텍스트 정보가 저장된 메모리;
    마이크; 및
    상기 마이크를 통해 수신된 음성 명령에 대응되는 텍스트 데이터를 획득하고,
    상기 획득된 텍스트 데이터 및 상기 복수의 명령어 간 비교에 기초하여 상기 복수의 명령어 중 제1 명령어를 식별하고,
    상기 복수의 컨텍스트 정보 중 상기 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보를 식별하고,
    상기 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보 및 상기 적어도 하나의 센서를 통해 획득된 제2 컨텍스트 정보 간 비교에 기초하여 상기 식별된 제1 명령어에 대응되고 상기 음성 명령에 대응되는 제어 신호를 획득하고,
    상기 제어 신호에 기초하여 동작을 수행하는 하나 이상의 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 획득된 텍스트 데이터를 음소 단위의 제1 정보로 식별하고,
    상기 식별된 제1 정보를 상기 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보와 비교하여, 상기 획득된 텍스트 데이터와 상기 복수의 명령어 각각에 대응되는 유사도 레벨에 대응되는 복수의 유사도 값을 식별하고,
    상기 획득된 텍스트 데이터와 상기 제1 명령어 사이의 유사도 레벨에 대응되는, 유사도 값의 크기가 제1 임계 값 이상인, 제1 유사도 값에 기초하여 상기 제1 명령어를 식별하는, 전자 장치.
  3. 제2항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 제1 컨텍스트 정보와 상기 제2 컨텍스트 정보 사이의 유사도 레벨에 대응되는 제2 유사도 값이 제2 임계 값 이상인 제1 컨텍스트 정보에 기초하여 상기 제1 컨텍스트 정보를 식별하는, 전자 장치.
  4. 제1항에 있어서,
    상기 제1 컨텍스트 정보 및 상기 제2 컨텍스트 정보는,
    상기 전자 장치의 위치 정보, 상기 전자 장치의 상태 정보, 상기 전자 장치의 환경 정보 및 사용자의 컨텍스트 정보 중 적어도 하나로 구성되는 복수의 타입의 데이터로 구성되며,
    상기 하나 이상의 프로세서는,
    상기 제1 컨텍스트 정보에 포함된 복수의 데이터와 상기 제2 컨텍스트 정보에 포함된 복수의 데이터각각을 비교하여 상기 제1 컨텍스트 정보 및 상기 제2 컨텍스트 정보 사이의 유사도를 식별하는, 전자 장치.
  5. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 복수의 명령어 각각에 대응되는 의도 정보를 식별하고,
    상기 획득된 텍스트 데이터 및 상기 복수의 명령어 사이의 비교 및 상기 복수의 명령어 각각에 대응되는 의도 정보와 관련된 우선 순위에 기초하여 상기 제1 명령어를 식별하는, 전자 장치.
  6. 제3항에 있어서,
    상기 메모리는,
    상기 복수의 명령어 각각에 대한 텍스트 정보 및 상기 복수의 명령어 각각에 대응되는 의도 정보를 저장하며,
    상기 하나 이상의 프로세서는,
    상기 제2 컨텍스트 정보가 상기 제1 명령어에 대응되는 상기 제1 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 상기 음성 명령에 대응되는 의도 정보를 획득하고,
    상기 획득된 의도 정보를 상기 메모리에 저장된 상기 복수의 명령어 각각에 대응되는 텍스트에 대응되는 의도 정보와 비교하여 상기 제1 명령어를 식별하는, 전자 장치.
  7. 제2항에 있어서,
    상기 하나 이상의 프로세서는,
    제1 음성 인식 모듈에 기초하여 상기 메모리에 저장된 상기 복수의 명령어 중 상기 획득된 텍스트 데이터에 대응되는 상기 제1 명령어를 식별하고,
    제2 음성 인식 모듈에 기초하여 상기 음성 명령에 대응되는 제2 명령어를 획득하고 상기 획득된 제2 명령어 및 상기 획득된 제2 명령어에 대응되는 컨텍스트 정보를 상기 메모리에 저장하는, 전자 장치.
  8. 제7항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 제1 음성 인식 모듈에 기초하여 상기 획득된 텍스트와 상기 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되지 않으면, 상기 제2 음성 인식 모듈에 기초하여 상기 음성 명령에 대한 음성 인식을 수행하는, 전자 장치.
  9. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 메모리에 저장된 상기 복수의 명령어의 사용 히스토리 또는 우선 순위 중 적어도 하나에 기초하여 상기 복수의 명령어 중 적어도 하나를 상기 메모리에서 삭제하는, 전자 장치.
  10. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 제2 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보 각각의 타입에 대응되는 가중치를 식별하고,
    상기 식별된 가중치에 기초하여 상기 제1 컨텍스트 정보 및 상기 제2 컨텍스트 정보 사이의 유사도를 식별하는, 전자 장치.
  11. 음성 인식을 수행하는 전자 장치의 제어 방법에 있어서,
    수신된 음성 명령에 대응되는 텍스트 데이터를 획득하는 단계;
    상기 획득된 텍스트 데이터 및 복수의 명령어 간 비교에 기초하여 상기 복수의 명령어 중 제1 명령어를 식별하는 단계;
    복수의 컨텍스트 정보 중 상기 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보를 식별하는 단계;
    상기 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보 및 적어도 하나의 센서를 통해 획득된 제2 컨텍스트 정보 간 비교에 기초하여 상기 식별된 제1 명령어에 대응되고 상기 음성 명령에 대응되는 제어 신호를 획득하는 단계; 및
    상기 제어 신호에 기초하여 동작을 수행하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 제1 명령어를 식별하는 단계는,
    상기 획득된 텍스트 데이터를 음소 단위의 제1 정보로 식별하는 단계;
    상기 식별된 제1 정보를 상기 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보와 비교하여, 상기 획득된 텍스트 데이터와 상기 복수의 명령어 각각에 대응되는 유사도 레벨에 대응되는 복수의 유사도 값을 식별하는 단계;
    상기 획득된 텍스트 데이터와 상기 제1 명령어 사이의 유사도 레벨에 대응되는, 유사도 값의 크기가 제1 임계 값 이상인, 제1 유사도 값에 기초하여 상기 제1 명령어를 식별하는 단계;를 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제1 컨텍스트 정보를 획득하는 단계는,
    상기 제1 컨텍스트 정보와 상기 제2 컨텍스트 정보 사이의 유사도 레벨에 대응되는 제2 유사도 값이 제2 임계 값 이상인 제1 컨텍스트 정보에 기초하여 상기 제1 컨텍스트 정보를 식별하는 단계;를 포함하는, 제어 방법.
  14. 제11항에 있어서,
    상기 제1 컨텍스트 정보 및 상기 제2 컨텍스트 정보는,
    상기 전자 장치의 위치 정보, 상기 전자 장치의 상태 정보, 상기 전자 장치의 환경 정보 및 사용자의 컨텍스트 정보 중 적어도 하나로 구성되는 복수의 타입의 데이터로 구성되며,
    상기 제어 방법은,
    상기 제1 컨텍스트 정보에 포함된 복수의 데이터와 상기 제2 컨텍스트 정보에 포함된 복수의 데이터각각을 비교하여 상기 제1 컨텍스트 정보 및 상기 제2 컨텍스트 정보 사이의 유사도를 식별하는 단계;를 더 포함하는, 제어 방법.
  15. 제11항에 있어서,
    상기 제1 컨텍스트 정보를 식별하는 단계는,
    상기 복수의 명령어 각각에 대응되는 의도 정보를 식별하는 단계;
    상기 획득된 텍스트 데이터 및 상기 복수의 명령어 사이의 비교 및 상기 복수의 명령어 각각에 대응되는 의도 정보와 관련된 우선 순위에 기초하여 상기 제1 명령어를 식별하는 단계;를 포함하는, 제어 방법.
PCT/KR2023/013137 2022-09-15 2023-09-04 음성 인식을 수행하는 전자 장치 및 이의 제어 방법 WO2024058474A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/384,607 US20240096322A1 (en) 2022-09-15 2023-10-27 Electronic apparatus performing speech recognition and method for controlling thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0116473 2022-09-15
KR20220116473 2022-09-15
KR10-2022-0135926 2022-10-20
KR1020220135926A KR20240037791A (ko) 2022-09-15 2022-10-20 음성 인식을 수행하는 전자 장치 및 이의 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/384,607 Continuation US20240096322A1 (en) 2022-09-15 2023-10-27 Electronic apparatus performing speech recognition and method for controlling thereof

Publications (1)

Publication Number Publication Date
WO2024058474A1 true WO2024058474A1 (ko) 2024-03-21

Family

ID=90275220

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/013137 WO2024058474A1 (ko) 2022-09-15 2023-09-04 음성 인식을 수행하는 전자 장치 및 이의 제어 방법

Country Status (1)

Country Link
WO (1) WO2024058474A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160010961A (ko) * 2014-07-21 2016-01-29 삼성전자주식회사 컨텍스트 정보를 이용하는 음성 인식 방법 및 장치
KR20160052727A (ko) * 2013-11-15 2016-05-12 인텔 코포레이션 음성 인식 동적 사전을 유지하기 위한 시스템 및 방법
KR20180121758A (ko) * 2017-04-30 2018-11-08 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 이 전자 장치의 제어 방법
US20190318759A1 (en) * 2018-04-12 2019-10-17 Qualcomm Incorporated Context-based detection of end-point of utterance
KR20210122755A (ko) * 2011-09-30 2021-10-12 애플 인크. 가상 비서에서 커맨드 처리를 용이하게 하기 위한 컨텍스트 정보의 이용

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210122755A (ko) * 2011-09-30 2021-10-12 애플 인크. 가상 비서에서 커맨드 처리를 용이하게 하기 위한 컨텍스트 정보의 이용
KR20160052727A (ko) * 2013-11-15 2016-05-12 인텔 코포레이션 음성 인식 동적 사전을 유지하기 위한 시스템 및 방법
KR20160010961A (ko) * 2014-07-21 2016-01-29 삼성전자주식회사 컨텍스트 정보를 이용하는 음성 인식 방법 및 장치
KR20180121758A (ko) * 2017-04-30 2018-11-08 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 이 전자 장치의 제어 방법
US20190318759A1 (en) * 2018-04-12 2019-10-17 Qualcomm Incorporated Context-based detection of end-point of utterance

Similar Documents

Publication Publication Date Title
WO2016060480A1 (en) Electronic device and method for spoken interaction thereof
WO2015167160A1 (en) Command displaying method and command displaying device
EP3552201A1 (en) Electronic device and controlling method thereof
WO2018074681A1 (ko) 전자 장치 및 그 제어 방법
WO2020080635A1 (ko) 동작 상태에 기반하여 선택한 마이크를 이용하여 음성 인식을 수행하는 전자 장치 및 그의 동작 방법
WO2019190096A1 (ko) 사용자 음성 입력을 처리하는 장치
WO2015199430A1 (en) Method and apparatus for managing data
WO2022108192A1 (ko) 전자 장치 및 전자 장치의 멀티윈도우 제어방법
WO2021118229A1 (en) Information providing method and electronic device for supporting the same
WO2024058474A1 (ko) 음성 인식을 수행하는 전자 장치 및 이의 제어 방법
WO2019164196A1 (ko) 문자를 인식하기 위한 전자 장치 및 방법
WO2019216484A1 (ko) 전자 장치 및 그 동작방법
WO2022191395A1 (ko) 사용자 명령을 처리하는 장치 및 그 동작 방법
WO2022086045A1 (ko) 전자 장치 및 이의 제어 방법
WO2021125507A1 (ko) 전자 장치 및 이의 제어 방법
WO2022030998A1 (ko) 디스플레이를 포함하는 전자 장치 및 그의 동작 방법
WO2021256760A1 (ko) 이동 가능한 전자장치 및 그 제어방법
WO2020138943A1 (ko) 음성을 인식하는 장치 및 방법
WO2020159032A1 (ko) 복수의 어플리케이션에 카메라에서 획득한 이미지를 제공하는 전자 장치 및 그의 동작 방법
WO2021230421A1 (ko) 외부 장치로부터 획득된 정보를 바탕으로 통신 그룹의 장치에게 신호를 송신 또는 수신하는 전자 장치 및 이의 제어 방법
KR20240037791A (ko) 음성 인식을 수행하는 전자 장치 및 이의 제어 방법
WO2024010217A1 (ko) 특정 서비스를 수행하는 로봇 및 그 제어 방법
US20240096322A1 (en) Electronic apparatus performing speech recognition and method for controlling thereof
WO2024101679A1 (ko) 전자 장치 및 이의 제어 방법
WO2023113250A1 (ko) 디스플레이 장치 및 그 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23865772

Country of ref document: EP

Kind code of ref document: A1