WO2023167399A1 - 전자 장치 및 그 제어 방법 - Google Patents
전자 장치 및 그 제어 방법 Download PDFInfo
- Publication number
- WO2023167399A1 WO2023167399A1 PCT/KR2022/020489 KR2022020489W WO2023167399A1 WO 2023167399 A1 WO2023167399 A1 WO 2023167399A1 KR 2022020489 W KR2022020489 W KR 2022020489W WO 2023167399 A1 WO2023167399 A1 WO 2023167399A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- candidate
- suitability
- electronic device
- word
- identified
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000001914 filtration Methods 0.000 claims description 17
- 238000013473 artificial intelligence Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000011156 evaluation Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000007257 malfunction Effects 0.000 description 8
- 241000238366 Cephalopoda Species 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech 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
- the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device operating by recognizing a command utterance without a call word and a control method thereof.
- Electronic devices including various functions are being developed.
- One such function is voice recognition.
- An electronic device that recognizes voice recognizes a specific call word and operates in a voice recognition mode. By receiving a call word and operating in a voice recognition mode, malfunction caused by a user's speech unrelated to the function of the electronic device can be prevented.
- the user has the inconvenience of having to utter a call word every time to use the voice recognition function of the electronic device.
- a technology for operating an electronic device by recognizing a user's speech without a call word has been developed, but when the electronic device recognizes a user's speech without a call word, a malfunction in which an operation is performed even for the user's speech unrelated to the function of the electronic device. This is happening
- An electronic device and a control method thereof are provided to reduce malfunction by identifying utterances related to an electronic device operation among utterances of a user without a call word.
- a method for controlling an electronic device includes identifying a dedicated language model related to displayed content, receiving a user's speech, recognizing the input speech, and generating candidate text for the recognized speech. Identifying a similarity between the recognized utterance and the identified candidate text, based on the identified dedicated language model and a predetermined threshold, among the candidate texts, a predetermined number of candidate texts having a high degree of similarity Identifying the suitability of the text, and ignoring the recognized user's utterance if the identified suitability is outside the preset suitability range, and if the identified suitability is within the preset suitability range, one of the candidate texts having the highest suitability and performing a corresponding operation by identifying the candidate text of the recognized user's utterance.
- the identifying of the dedicated language model may include identifying the dedicated language model based on at least one of a type of displayed content, a displayed menu, and a type of displayed input command.
- the identifying of the candidate text of the recognized utterance may include identifying at least one of a candidate word, a candidate word, and a candidate root based on at least one of a word, a word, and a root included in the input utterance, and the identified candidate word.
- candidate words or candidate roots may be combined to identify the candidate text.
- the identifying of the degree of similarity may include identifying the degree of similarity based on a general-purpose text database, and identifying the predetermined number of candidate texts having a high degree of similarity identified.
- a geometric average of entropy for each word in which a word included in the candidate text appears may be calculated for each of the predetermined number of candidate texts based on the identified dedicated language model.
- the step of identifying the suitability may include determining whether the preset number of candidate texts are within the preset suitability range based on the preset threshold value and a geometric average for each word calculated for each of the preset number of candidate texts, fit can be identified.
- one candidate text having the lowest calculated geometric mean of each word may be identified.
- control method of the electronic device includes generating a filtering language model including the ignored recognized utterance, and ignoring the recognized utterance when the recognized utterance is included in the utterance included in the filtering language model. Further steps may be included.
- an electronic device includes a display for displaying content, a microphone for receiving a user's speech, a memory, and a processor, wherein the processor identifies a dedicated language model related to the displayed content, and Recognize utterances to identify candidate texts of the recognized utterances, identify similarities between the recognized utterances and the identified candidate texts, and identify among the candidate texts based on the identified dedicated language model and a preset threshold.
- the processor may identify the dedicated language model based on at least one of a type of displayed content, a displayed menu, and a type of displayed input command.
- the processor identifies at least one of a candidate word, a candidate word, and a candidate root based on at least one of a word, a word, and a root included in the input utterance, and combines the identified candidate word, candidate word, or candidate root, The candidate text can be identified.
- the processor may identify the degree of similarity based on a general-purpose text database, and may identify the predetermined number of candidate texts having a high degree of similarity.
- the processor may calculate a geometric average of entropy for each word in which a word included in the candidate text appears for each of the predetermined number of candidate texts based on the identified dedicated language model.
- the processor determines whether the predetermined number of candidate texts are within the predetermined suitability range based on the predetermined threshold value and the geometric mean of each word calculated for each of the predetermined number of candidate texts to identify the suitability.
- the processor may identify one candidate text having the lowest calculated geometric mean of each word.
- a non-transitory computer-readable storage medium in which a program for performing a control method of an electronic device is recorded identifies a dedicated language model related to displayed content, receives a user's speech, the Recognizing an input utterance and identifying a candidate text of the recognized utterance, identifying a degree of similarity between the recognized utterance and the identified candidate text, and using the identified dedicated language model and a predetermined threshold to determine the candidate text of the recognized utterance.
- the identifying of the dedicated language model may include identifying the dedicated language model based on at least one of a type of displayed content, a displayed menu, and a type of displayed input command.
- the identifying of the candidate text of the recognized utterance may include identifying at least one of a candidate word, a candidate word, and a candidate root based on at least one of a word, a word, and a root included in the input utterance, and the identified candidate word.
- candidate words or candidate roots may be combined to identify the candidate text.
- the identifying of the degree of similarity may include identifying the degree of similarity based on a general-purpose text database, and identifying the predetermined number of candidate texts having a high degree of similarity identified.
- a geometric average of entropy for each word in which a word included in the candidate text appears may be calculated for each of the predetermined number of candidate texts based on the identified dedicated language model.
- FIG. 1 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
- FIG. 2 is a block diagram illustrating a specific configuration of an electronic device according to an embodiment of the present disclosure.
- FIG. 3 is a diagram illustrating a process of determining whether to perform an operation based on a user's speech according to an embodiment of the present disclosure.
- FIG. 4 is a diagram illustrating a process of determining whether to perform an operation based on a user's speech according to an embodiment of the present disclosure.
- 5A is a diagram for explaining an example of a malfunction of an electronic device in related art.
- 5B is a diagram for explaining an electronic device that performs a normal operation based on a user's speech according to an embodiment of the present disclosure.
- FIG. 6 is a flowchart illustrating a control method of an electronic device according to an embodiment of the present disclosure.
- a “module” or “unit” for a component used in this specification performs at least one function or operation.
- a “module” or “unit” may perform a function or operation by hardware, software, or a combination of hardware and software.
- a plurality of “modules” or “units” other than “modules” or “units” to be executed in specific hardware or to be executed in at least one processor may be integrated into at least one module. Singular expressions include plural expressions unless the context clearly dictates otherwise.
- each step should be understood as non-limiting, unless the preceding step must logically and temporally necessarily precede the succeeding step. That is, except for the above exceptional cases, even if the process described as the following step is performed before the process described as the preceding step, the nature of the disclosure is not affected, and the scope of rights must also be defined regardless of the order or operation of the steps.
- “A or B” is defined to mean not only selectively indicating either one of A and B, but also including both A and B.
- the term “including” has a meaning encompassing further including other components in addition to the elements listed as included.
- FIG. 1 is a block diagram illustrating the configuration of an electronic device according to an embodiment of the present disclosure.
- an electronic device 100 may include a microphone 110, a processor 120, and a display 130.
- the microphone 110 may receive a user's speech input.
- the electronic device 100 may include one microphone 110 or may include a plurality of microphones 110 .
- the microphone 110 may include a general microphone, a surround microphone, a directional microphone, and the like.
- the processor 120 may control each component of the electronic device 100 .
- the processor 120 may control the microphone 110 to receive a user's speech and control the display 130 to output content.
- Processor 120 may identify a dedicated language model associated with displayed content.
- the processor 120 may identify a dedicated language model based on the type of displayed content, displayed menu, type of displayed input command, and the like.
- the processor 120 may identify a dedicated language model for advertisement content capable of recognizing skipping of an advertisement or interruption of advertisement playback.
- the processor 120 may identify a dedicated language model for a menu of content capable of recognizing a content name, a selection command, a content category, and the like.
- the processor 120 may use a dedicated language model for input commands capable of recognizing play, pause, forwarding, and redirection. can identify.
- the electronic device 100 may receive speech from a user as an input while playing content.
- the input user's utterance may be one or more words, one or more phrases, or sentences.
- the processor 120 may recognize input utterances and identify candidate texts of the recognized utterances. For example, the processor 120 may convert input speech voice into text and identify candidate texts of the converted speech.
- the processor 120 may identify candidate words, candidate words, and candidate roots based on words, phrases, and roots included in input utterances. Also, the processor 120 may identify candidate text by combining the identified candidate words, candidate words, or candidate roots.
- the processor 120 may identify a degree of similarity between the recognized utterance and the identified candidate text. For example, the processor 120 may identify a similarity based on a general-purpose text database and identify a preset number of candidate texts having a high similarity. Also, the processor 120 may identify relevance of a preset number of candidate texts having a high degree of similarity among candidate texts based on the identified dedicated language model and a preset threshold. As an embodiment, the processor 120 may calculate a geometric mean of each word of entropy in which a word included in the candidate text appears for each of a predetermined number of candidate texts based on the identified dedicated language model.
- the processor 120 may identify the suitability by determining whether a preset number of candidate texts are included in a suitable range based on a preset threshold value and a geometric mean for each word calculated for each of the preset number of candidate texts. In addition, the processor 120 may identify one candidate text having the lowest calculated geometric mean for each word.
- Processor 120 may be composed of one or a plurality of processors.
- the one or more processors may include a general-purpose processor such as a CPU, an AP, or a digital signal processor (DSP), a graphics-only processor such as a GPU or a vision processing unit (VPU), or an artificial intelligence-only processor such as an NPU.
- DSP digital signal processor
- the processor 120 controls input data to be processed according to predefined operation rules or artificial intelligence models stored in the memory.
- the processor 120 may include one or more artificial intelligence processors designed as a hardware structure specialized for processing a specific artificial intelligence model.
- Predefined action rules or artificial intelligence models may be characterized as being created through learning.
- a basic artificial intelligence model learned by a learning algorithm using a plurality of learning data may be a predefined action rule or an artificial intelligence model set to perform a desired characteristic (or purpose).
- Such learning may be performed in a device (eg, the electronic device 100) where artificial intelligence according to the present disclosure is performed, or through a separate server and/or system.
- the learning algorithm may include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the above examples.
- An artificial intelligence model may be composed of a plurality of neural network layers.
- Each of the plurality of neural network layers has a plurality of weight values, and a neural network operation is performed in a current layer based on an operation result of a previous layer and the plurality of weight values.
- a plurality of weights possessed by a plurality of neural network layers may be optimized by a learning result of an artificial intelligence model. For example, a plurality of weights may be updated so that a loss value or a cost value obtained from an artificial intelligence model is reduced or minimized during a learning process.
- CNN Convolutional Neural Network
- DNN Deep Neural Network
- RNN Recurrent Neural Network
- RBM Restricted Boltzmann Machine
- DBN Deep Belief Network
- BRDNN Bidirectional Recurrent Deep Neural Network
- the processor 120 may ignore the input user's utterance when the identified suitability is out of a preset suitability range. Alternatively, when the identified suitability is within a preset suitability range, the processor 120 may identify one candidate text having the highest suitability as the input user's utterance and perform a corresponding operation. Also, the processor 120 may generate a separate language model based on the ignored utterance. Processor 120 may create a filtering language model that includes ignored utterances. For example, the dedicated language model described above may be a positive language model (PLM), and the filtering language model may be a negative language model (NLM). When the received utterance is recognized and the recognized utterance is included in the filtering language model, the processor 120 may ignore the recognized utterance. Further, the processor 120 may continuously update the filtering language model based on ignored user utterances. A detailed process of processing the input utterance by the processor 120 using the positive language model and the negative language model will be described later.
- PLM positive language model
- NLM negative language model
- the display 130 may output data processed as an image by the processor 120 .
- the display 130 may display content and output a screen corresponding to the recognized utterance.
- the display 130 may be implemented as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flexible display, a touch screen, or the like.
- the electronic device 100 may receive an input (eg, a control command) through the touch screen.
- FIG. 2 is a block diagram illustrating a specific configuration of an electronic device according to an embodiment of the present disclosure.
- the electronic device 100 includes a microphone 110, a processor 120, a display 130, an input interface 140, a communication interface 150, a camera 160, a memory 170, and a speaker. 180 and sensor 190.
- the microphone 110 and the display 130 may be the same as those described in FIG. 1 .
- the input interface 140 may receive a control command from a user.
- the input interface 140 may include a key pad, a touch pad, or a touch screen.
- the input interface 140 may include an input/output port to receive data.
- the input interface 140 may receive a moving picture including sound and image.
- Input/output ports may include ports such as High-Definition Multimedia Interface (HDMI), DisplayPort (DP), RGB, Digital Visual Interface (DVI), Universal Serial Bus (USB), Thunderbolt, LAN, and AUX.
- HDMI High-Definition Multimedia Interface
- DP DisplayPort
- RGB RGB
- DVI Digital Visual Interface
- USB Universal Serial Bus
- Thunderbolt Thunderbolt
- LAN Universal Serial Bus
- AUX Thunderbolt
- the input interface 140 may also be called an input device, an input unit, an input module, or the like.
- the input interface 140 performs an input/output function, it may also be called an input/output device, an input/output unit, an input/output
- the communication interface 150 may perform communication with an external device.
- the communication interface 150 uses at least one of Wi-Fi, Wi-Fi Direct, Bluetooth, ZigBee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), and Long Term Evolution (LTE) communication schemes.
- Communication with an external device may be performed in a communication method.
- the communication interface 150 may receive data about content, menus related to the content, and input commands from an external device.
- the communication interface 150 may be referred to as a communication device, a communication unit, a communication module, a transceiver, and the like.
- the camera 160 may capture (photograph) an image of at least a part of the environment of the electronic device 100 .
- the camera 160 may capture images of the user's expression and motion.
- the processor 120 may obtain information about the environment based on an image captured by the camera 160 .
- the processor 120 may perform an operation based on the user's expression, motion, and the like.
- the camera 160 may include various types of cameras performing different functions.
- the camera 160 may include the same type of camera 110 .
- the camera 160 may include a CCD sensor or a CMOS sensor.
- the camera 160 may include an RGB camera, a depth camera, a wide-angle camera, a telephoto camera, and the like.
- the memory 170 may store data and algorithms that perform functions of the electronic device 100 . Also, the memory 170 may store programs and commands executed by the processor 120 that controls the operation of the electronic device 100 . For example, the memory 170 may store artificial intelligence algorithms for voice recognition. The processor 120 may recognize a user's speech as an input using an artificial intelligence algorithm for voice recognition and determine whether the speech corresponds to a control command or not related to the control command. The algorithm stored in the memory 170 may perform object identification or sound processing by the processor 120 .
- the memory 170 may be implemented as a type of ROM, RAM, HDD, SSD, memory card, or the like.
- the speaker 180 may output a sound signal such as a voice or a notification sound.
- a sound signal such as a voice or a notification sound.
- the speaker 180 may output information about a user's utterance recognized as an input command, state-related information or operation-related information of the electronic device 100 .
- the sensor 190 may detect an object around the electronic device 100 .
- the processor 120 may recognize a control command based on the sensed object and perform a control operation corresponding to the recognized control command.
- the sensor 190 may detect environmental information of the electronic device 100, and the processor 120 may perform a control operation based on the detected environmental information.
- the sensor 190 may include an acceleration sensor, a gravity sensor, a gyro sensor, a geomagnetic sensor, a direction sensor, a motion recognition sensor, a proximity sensor, a voltmeter, an ammeter, a barometer, a hygrometer, a thermometer, an illuminance sensor, a heat sensor, and a touch sensor. , an infrared sensor, an ultrasonic sensor, and the like.
- 3 and 4 are diagrams illustrating a process of determining whether to perform an operation based on a user's speech according to an embodiment of the present disclosure.
- the electronic device 100 may recognize a user's speech (spoken voice) input through an Automatic Speech Recognition (ASR) function (S310 and S410). For example, as shown in FIG. 4 , when the user utters “Show me the squid game,” the electronic device 100 may recognize the uttered voice and identify candidate texts for the recognized utterance. As an embodiment, the electronic device 100 may identify candidate words, candidate words, and candidate roots based on words, phrases, and roots included in input utterances. In addition, the electronic device 100 may generate a plurality of candidate texts by combining the identified candidate words, candidate words, and candidate roots.
- ASR Automatic Speech Recognition
- the above-described candidate texts for the user's spoken voice may include texts such as “show me the speed game”, “show me the speed game”, and “show me the squid game”.
- the electronic device 100 recognizes the uttered voice, “what is interesting?”, “what is interesting”, “what is funny?” ” can be included.
- the electronic device 100 may identify a similarity (probability of matching a spoken voice) based on a general-purpose text database (or a general-purpose language model) and identify a preset number of candidate texts having a high similarity.
- a general-purpose text database is not a database (or model) for a specific purpose, but a database that can judge all general languages.
- the electronic device 100 may receive a spoken voice and decode the input spoken voice.
- the electronic device 100 assumes that the appearance probability p(x) of the voice signal x is the same, and may identify the similarity of the spoken voice based on Bayesian theorem.
- the electronic device 100 may use a general-purpose text database (or a general-purpose language model) to identify similarities between spoken voices. That is, the electronic device 100 identifies words (or syllables, words, etc.) that are likely to be recognized from the uttered voice (or syllables, words, etc.), and has a probability of matching the identified words among words included in the general-purpose text database. These higher words can be identified as words of spoken speech.
- the electronic device 100 may identify similarities between spoken voices by using the learned artificial intelligence neural network model and a general-purpose text database. That is, the electronic device 100 identifies words with a high similarity from the spoken speech based on the learned artificial intelligence neural network, and selects a word with a high probability of matching the identified word among words included in the general-purpose text database as the word of the spoken speech. It can be identified as, the electronic device 100 can identify a candidate text having a high degree of similarity through the above-described process.
- the electronic device 100 may use an n-best method when identifying the similarity of spoken voices. That is, the electronic device 100 may determine n candidate texts having a high similarity. Since each candidate text has a different probability of matching the spoken voice, candidate texts may be identified in an order of high probability. Since the degree of similarity is determined based on a universal text database, there may be a difference between the candidate text identified as having the highest degree of similarity and the recognized speech voice.
- the electronic device 100 may perform a rescoring process as a post-processing process (S320).
- the electronic device 100 may recalculate the similarity of the candidate texts by performing a rescoring process on n candidate texts.
- the electronic device 100 can perform post-processing without a long delay because scores are calculated only n times.
- the electronic device 100 may evaluate suitability for m pre-set candidate texts having a high similarity among the n candidate texts having a high similarity based on the identified dedicated language model and a preset threshold (S330 and S420).
- the suitability evaluation may be evaluated using a perplexity (PPL) method.
- PPL means the word-by-word geometric mean of the entropy of each word, and the lower the value, the better the fit.
- the electronic device 100 calculates entropy H for m candidate texts, that is, [w1, w2,.., wm]. At this time, since it is impossible for the electronic device 100 to know the population, an approximate value calculated as follows in the sampled text can be used.
- PPL appears as a positive real value, and a smaller value means that it is suitable for a dedicated language model.
- the electronic device 100 may determine whether or not it is an utterance to be processed.
- the electronic device 100 may determine whether the determined fitness level is within the fitness range based on the set threshold (S430). Since the total sum of the PPLs is 4.5, which is lower than the threshold value of 10, the electronic device 100 may determine that the identified suitability is within the set suitability range. In addition, the electronic device 100 may perform a corresponding operation by identifying the candidate text of “Show me a squid game” having the lowest PPL as the input user's utterance.
- the electronic device 100 may evaluate fitness based on a probability of matching text included in the language model. In the above example, the total sum of the evaluated fitness values is compared with the threshold value, but the average evaluated fitness values may be compared with the threshold value. Alternatively, in the above example, if the evaluated fitness is smaller than the threshold value, the electronic device 100 determines the fitness range, but if the fitness evaluated according to the fitness evaluation method is greater than the threshold value, the electronic device 100 It may be judged as a suitable range.
- a dedicated language model may be a positive language model. That is, the electronic device 100 may determine the suitability of the candidate text using only the positive language model.
- the electronic device 100 may evaluate the suitability of the candidate text using a dedicated language model and a filtering language model.
- the dedicated language model may be a positive language model
- the filtering language model may be a negative language model.
- the electronic device 100 may evaluate the suitability of the candidate text based on the dedicated language model.
- the electronic device 100 may evaluate the fitness by adding or subtracting an evaluation value according to a matching probability based on the language model.
- the electronic device 100 may evaluate the degree of non-conformity based on the filtering language model simultaneously or sequentially with the above-described process.
- the electronic device 100 may calculate a conformance evaluation value for the candidate text to be evaluated according to whether it matches text included in the dedicated language model, and calculate an unsuitable evaluation value according to whether the candidate text to be evaluated matches text included in the filtering language model. there is.
- the electronic device 100 may evaluate the suitability of the candidate text based on the calculated suitability evaluation value and unsuitable evaluation value. As an embodiment, when the suitability is evaluated in a positive manner, the electronic device 100 may evaluate the suitability of the candidate text by adding a suitability evaluation value and subtracting an unsuitable evaluation value. Alternatively, when the suitability is evaluated in a negative manner, the electronic device 100 may evaluate the suitability of the candidate text by subtracting the suitability evaluation value and adding the unsuitable evaluation value.
- FIG. 5A is a diagram for explaining an example of a malfunction of an electronic device in related art
- FIG. 5B is a diagram for explaining an electronic device that normally operates according to a user's speech according to an embodiment of the present disclosure. A description will be made with reference to FIGS. 5A and 5B together.
- the electronic device 100 displays advertisement content.
- the electronic device 100 may select a dedicated language model LM1 related to displayed advertisement content.
- the LM1 may recognize utterances such as skipping advertisements, skipping, skipping, and the like.
- the user may utter "I'm hungry" unrelated to the control command.
- the electronic device 100 may determine that the user's uttered voice "I'm hungry” is most similar to the text "Skip advertisement”. Accordingly, the electronic device 100 performed an erroneous operation of skipping advertisements in response to the user's spoken voice.
- the electronic device 100 may identify candidate text and similarity based on a general-purpose text database (or model). And, based on the identified similarity, the suitability may be identified based on m candidate texts and a dedicated language model. The electronic device 100 may determine that the suitability of the user's spoken voice "I'm hungry" is low, ignore the input user's spoken voice, and end the recognition. Accordingly, the electronic device 100 may continue to play the currently playing advertisement.
- the electronic device 100 of the present disclosure performs a re-recognition process using a dedicated language model, it is possible to increase the accuracy of the recognition rate of the user's uttered voice and reduce malfunction in a voice recognition environment in which a call word is not input. It works.
- the electronic device 100 may generate a filtering language model including the ignored user's utterance.
- the electronic device 100 may ignore the input user's speech.
- the electronic device 100 may update the filtering language model as the ignored utterances of the user increase. Accordingly, the electronic device 100 of the present disclosure may more accurately determine a user's utterance unrelated to an operation.
- FIG. 6 is a flowchart illustrating a control method of the electronic device 100 according to an embodiment of the present disclosure.
- the electronic device 100 identifies a dedicated language model related to the displayed content (S610). For example, the electronic device 100 may identify a dedicated language model based on the type of displayed content, displayed menu, type of displayed input command, and the like.
- the electronic device 100 When the electronic device 100 receives a user's speech (S620), the electronic device 100 recognizes the input speech and identifies candidate text for the recognized speech (S630). For example, the electronic device 100 may identify candidate words, candidate words, and candidate roots based on words, phrases, and roots included in input utterances. Then, the electronic device 100 may identify candidate text by combining the identified candidate words, candidate words, or candidate roots.
- the electronic device 100 identifies a degree of similarity between the recognized utterance and the identified candidate text (S640). For example, the electronic device 100 may identify a similarity based on a universal text database (universal language model) and identify a preset number of candidate texts having a high similarity.
- a universal text database universal language model
- the electronic device 100 identifies suitability of a preset number of candidate texts having a high degree of similarity among candidate texts based on the identified dedicated language model and a preset threshold (S650). For example, the electronic device 100 may calculate a geometric average of entropy for each word in which words included in the candidate text appear, for each of a predetermined number of candidate texts based on the identified dedicated language model. The electronic device 100 may determine whether the preset number of candidate texts are included in the suitable range based on a preset threshold value and a geometric average for each word calculated for each preset number of candidate texts. As an example, the electronic device 100 may identify one candidate text having the lowest calculated geometric mean for each word.
- the electronic device 100 ignores the input user's utterance when the identified suitability is outside the preset suitability range. Then, when the identified suitability is within the preset suitability range, the electronic device 100 identifies one candidate text having the highest suitability among the candidate texts as the input user's utterance and performs a corresponding operation (S660).
- the electronic device 100 may generate a filtering language model including the ignored user's utterance.
- the electronic device 100 may ignore the recognized utterance.
- the method for controlling an electronic device may be provided as a computer program product.
- the computer program product may include a S/W program itself or a non-transitory computer readable medium in which the S/W program is stored.
- a non-transitory readable medium is not a medium that stores data for a short moment, such as a register, cache, or memory, but a medium that stores data semi-permanently and can be read by a device.
- the various applications or programs described above may be stored and provided in non-transitory readable media such as CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
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)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
Abstract
호출어없이 사용자의 명령 발화의 인식에 기초하여 동작을 수행하는 전자 장치 및 방법이 개시된다. 방법은 디스플레이된 컨텐츠와 관련된 전용 언어 모델을 식별하는 단계, 사용자의 발화를 입력받는 단계, 입력된 발화를 인식하여 인식된 발화의 후보 텍스트를 식별하는 단계, 인식된 발화와 식별된 후보 텍스트 간의 유사도를 식별하는 단계, 식별된 전용 언어 모델 및 기 설정된 임계값에 기초하여 후보 텍스트 중 식별된 유사도가 높은 기 설정된 개수의 후보 텍스트의 적합도를 식별하는 단계 및 식별된 적합도가 기 설정된 적합 범위 외인 경우 인식된 사용자의 발화를 무시하고, 식별된 적합도가 기 설정된 적합 범위 내에 포함되는 경우 후보 텍스트 중 적합도가 가장 높은 하나의 후보 텍스트를 인식된 사용자의 발화로 식별하여 대응되는 동작을 수행하는 단계를 포함한다.
Description
본 개시는 전자 장치 및 그 제어 방법에 관한 것으로, 구체적으로, 호출어 없이 명령 발화를 인식하여 동작하는 전자 장치 및 그 제어 방법에 관한 것이다.
다양한 기능을 포함하는 전자 장치가 개발되고 있다. 그러한 기능 중 하나는 음성 인식 기능이다. 음성을 인식하는 전자 장치는 특정한 호출어를 인식하여 음성 인식 모드로 동작한다. 호출어를 수신하고 음성 인식 모드로 동작함으로써 전자 장치의 기능과 관련없는 사용자의 발화에 의한 오동작이 방지될 수 있다.
그러나, 사용자는 전자 장치의 음성 인식 기능을 사용하기 위해서 매번 호출어를 발화해야 하는 불편함이 존재한다. 호출어 없이 사용자의 발화를 인식하여 전자 장치가 동작하는 기술이 개발되었으나, 전자 장치가 호출어 없이 사용자의 발화를 인식하는 경우, 전자 장치의 기능과 관련없는 사용자의 발화에 대해서도 동작을 수행하는 오동작이 발생되고 있다.
따라서, 호출어 없는 사용자의 발화 중에서 전자 장치의 기능과 관련된 발화를 구별하여 오동작을 줄이는 기술에 대한 필요성이 존재한다.
호출어 없는 사용자의 발화 중에서 전자 장치의 동작과 관련된 발화를 식별하여 오동작을 줄이는 전자 장치 및 그 제어 방법이 제공된다.
본 개시의 일 양태에 따르면, 전자 장치의 제어 방법은 디스플레이된 컨텐츠와 관련된 전용 언어 모델을 식별하는 단계, 사용자의 발화를 입력받는 단계, 상기 입력된 발화를 인식하여 상기 인식된 발화의 후보 텍스트를 식별하는 단계, 상기 인식된 발화와 상기 식별된 후보 텍스트 간의 유사도를 식별하는 단계, 상기 식별된 전용 언어 모델 및 기 설정된 임계값에 기초하여 상기 후보 텍스트 중 식별된 유사도가 높은 기 설정된 개수의 후보 텍스트의 적합도를 식별하는 단계 및 상기 식별된 적합도가 기 설정된 적합 범위 외인 경우 상기 인식된 사용자의 발화를 무시하고, 상기 식별된 적합도가 기 설정된 적합 범위 내에 포함되는 경우 상기 후보 텍스트 중 적합도가 가장 높은 하나의 후보 텍스트를 상기 인식된 사용자의 발화로 식별하여 대응되는 동작을 수행하는 단계를 포함한다.
상기 전용 언어 모델을 식별하는 단계는 디스플레이된 컨텐츠의 종류, 디스플레이된 메뉴 및 디스플레이된 입력 명령의 종류 중 적어도 하나에 기초하여 상기 전용 언어 모델을 식별할 수 있다.
상기 인식된 발화의 후보 텍스트를 식별하는 단계는 상기 입력된 발화에 포함된 단어, 어절 및 어근 중 적어도 하나에 기초하여 후보 단어, 후보 어절 및 후보 어근 중 적어도 하나를 식별하고, 상기 식별된 후보 단어, 후보 어절 또는 후보 어근을 조합하여 상기 후보 텍스트를 식별할 수 있다.
상기 유사도를 식별하는 단계는 범용 텍스트 데이터베이스에 기초하여 상기 유사도를 식별하고, 상기 식별된 유사도가 높은 상기 기 설정된 개수의 후보 텍스트를 식별할 수 있다.
상기 적합도를 식별하는 단계는 상기 식별된 전용 언어 모델에 기초하여 상기 기 설정된 개수의 후보 텍스트 각각에 대해 상기 후보 텍스트에 포함된 단어가 나타날 엔트로피의 단어별 기하 평균을 산출할 수 있다.
상기 적합도를 식별하는 단계는 상기 기 설정된 임계값과 상기 기 설정된 개수의 후보 텍스트 각각에 대해 산출된 단어별 기하 평균에 기초하여 상기 기 설정된 개수의 후보 텍스트가 상기 기 설정된 적합 범위 내인지 판단하여 상기 적합도를 식별할 수 있다.
상기 적합도를 식별하는 단계는 상기 산출된 단어별 기하 평균이 가장 낮은 하나의 후보 텍스트를 식별할 수 있다.
그리고, 전자 장치의 제어 방법은 상기 무시된 인식된 발화를 포함하는 필터링 언어 모델을 생성하는 단계 및 상기 인식된 발화가 상기 필터링 언어 모델에 포함된 발화에 포함되는 경우, 상기 인식된 발화를 무시하는 단계를 더 포함할 수 있다.
본 개시의 일 양태에 따르면, 전자 장치는 컨텐츠를 표시하는 디스플레이, 사용자의 발화를 입력받는 마이크, 메모리 및 프로세서를 포함하고, 상기 프로세서는 디스플레이된 컨텐츠와 관련된 전용 언어 모델을 식별하고, 상기 입력된 발화를 인식하여 상기 인식된 발화의 후보 텍스트를 식별하며, 상기 인식된 발화와 상기 식별된 후보 텍스트 간의 유사도를 식별하고, 상기 식별된 전용 언어 모델 및 기 설정된 임계값에 기초하여 상기 후보 텍스트 중 식별된 유사도가 높은 기 설정된 개수의 후보 텍스트의 적합도를 식별하며, 상기 식별된 적합도가 기 설정된 적합 범위 외인 경우 상기 인식된 사용자의 발화를 무시하고, 상기 식별된 적합도가 기 설정된 적합 범위 내에 포함되는 경우 상기 후보 텍스트 중 적합도가 가장 높은 하나의 후보 텍스트를 상기 인식된 사용자의 발화로 식별하여 대응되는 동작을 수행한다.
상기 프로세서는 디스플레이된 컨텐츠의 종류, 디스플레이된 메뉴 및 디스플레이된 입력 명령의 종류 중 적어도 하나에 기초하여 상기 전용 언어 모델을 식별할 수 있다.
상기 프로세서는 상기 입력된 발화에 포함된 단어, 어절 및 어근 중 적어도 하나에 기초하여 후보 단어, 후보 어절 및 후보 어근 중 적어도 하나를 식별하고, 상기 식별된 후보 단어, 후보 어절 또는 후보 어근을 조합하여 상기 후보 텍스트를 식별할 수 있다.
상기 프로세서는 범용 텍스트 데이터베이스에 기초하여 상기 유사도를 식별하고, 상기 식별된 유사도가 높은 상기 기 설정된 개수의 후보 텍스트를 식별할 수 있다.
상기 프로세서는 상기 식별된 전용 언어 모델에 기초하여 상기 기 설정된 개수의 후보 텍스트 각각에 대해 상기 후보 텍스트에 포함된 단어가 나타날 엔트로피의 단어별 기하 평균을 산출할 수 있다.
상기 프로세서는 상기 기 설정된 임계값과 상기 기 설정된 개수의 후보 텍스트 각각에 대해 산출된 단어별 기하 평균에 기초하여 상기 기 설정된 개수의 후보 텍스트가 상기 기 설정된 적합 범위 내인지 판단하여 상기 적합도를 식별할 수 있다.
상기 프로세서는 상기 산출된 단어별 기하 평균이 가장 낮은 하나의 후보 텍스트를 식별할 수 있다.
본 개시의 일 양태에 따르면, 전자 장치의 제어 방법을 수행하는 프로그램이 기록된 비일시적 컴퓨터 판독 가능 저장 매체는 디스플레이된 컨텐츠와 관련된 전용 언어 모델을 식별하는 단계, 사용자의 발화를 입력받는 단계, 상기 입력된 발화를 인식하여 상기 인식된 발화의 후보 텍스트를 식별하는 단계, 상기 인식된 발화와 상기 식별된 후보 텍스트 간의 유사도를 식별하는 단계, 상기 식별된 전용 언어 모델 및 기 설정된 임계값에 기초하여 상기 후보 텍스트 중 식별된 유사도가 높은 기 설정된 개수의 후보 텍스트의 적합도를 식별하는 단계 및 상기 식별된 적합도가 기 설정된 적합 범위 외인 경우 상기 인식된 사용자의 발화를 무시하고, 상기 식별된 적합도가 기 설정된 적합 범위 내에 포함되는 경우 상기 후보 텍스트 중 적합도가 가장 높은 하나의 후보 텍스트를 상기 인식된 사용자의 발화로 식별하여 대응되는 동작을 수행하는 단계를 포함한다.
상기 전용 언어 모델을 식별하는 단계는 디스플레이된 컨텐츠의 종류, 디스플레이된 메뉴 및 디스플레이된 입력 명령의 종류 중 적어도 하나에 기초하여 상기 전용 언어 모델을 식별할 수 있다.
상기 인식된 발화의 후보 텍스트를 식별하는 단계는 상기 입력된 발화에 포함된 단어, 어절 및 어근 중 적어도 하나에 기초하여 후보 단어, 후보 어절 및 후보 어근 중 적어도 하나를 식별하고, 상기 식별된 후보 단어, 후보 어절 또는 후보 어근을 조합하여 상기 후보 텍스트를 식별할 수 있다.
상기 유사도를 식별하는 단계는 범용 텍스트 데이터베이스에 기초하여 상기 유사도를 식별하고, 상기 식별된 유사도가 높은 상기 기 설정된 개수의 후보 텍스트를 식별할 수 있다.
상기 적합도를 식별하는 단계는 상기 식별된 전용 언어 모델에 기초하여 상기 기 설정된 개수의 후보 텍스트 각각에 대해 상기 후보 텍스트에 포함된 단어가 나타날 엔트로피의 단어별 기하 평균을 산출할 수 있다.
본 개시의 상기 및 다른 양태, 특징 및 장점은 첨부 도면과 함께 아래의 설명으로부터 더 명확해질 것이며, 여기서:
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하는 블록도이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 설명하는 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 사용자의 발화를 기초로 동작 수행 여부를 판단하는 과정을 설명하는 도면이다.
도 4는 본 개시의 일 실시 예에 따른 사용자의 발화를 기초로 동작 수행 여부를 판단하는 과정을 설명하는 도면이다.
도 5a는 관련 기술에서 전자 장치의 오동작의 예를 설명하는 도면이다.
도 5b는 본 개시의 일 실시 예에 따른 사용자의 발화에 기초하여 정상적인 동작을 수행하는 전자 장치를 설명하는 도면이다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하는 흐름도이다.
이하에서는 첨부된 도면을 참조하여 다양한 실시 예를 보다 상세하게 설명한다. 본 명세서에 기재된 실시 예는 다양하게 변형될 수 있다. 특정한 실시 예가 도면에서 묘사되고 상세한 설명에서 자세하게 설명될 수 있다. 그러나, 첨부된 도면에 개시된 특정한 실시 예는 다양한 실시 예를 쉽게 이해하도록 하기 위한 것일 뿐이다. 따라서, 첨부된 도면에 개시된 특정 실시 예에 의해 기술적 사상이 제한되는 것은 아니며, 개시의 사상 및 기술 범위에 포함되는 모든 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이러한 구성요소들은 상술한 용어에 의해 한정되지는 않는다. 상술한 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
한편, 본 명세서에서 사용되는 구성요소에 대한 "모듈" 또는 "부"는 적어도 하나의 기능 또는 동작을 수행한다. 그리고, "모듈" 또는 "부"는 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합에 의해 기능 또는 동작을 수행할 수 있다. 또한, 특정 하드웨어에서 수행되어야 하거나 적어도 하나의 프로세서에서 수행되는 "모듈" 또는 "부"를 제외한 복수의 "모듈들" 또는 복수의 "부들"은 적어도 하나의 모듈로 통합될 수도 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시의 설명에 있어서 각 단계의 순서 또는 동작은 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서 또는 동작은 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서 또는 동작에 관계없이 정의되어야 한다. 그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서는 본 개시의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 개시의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
그 밖에도, 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다. 각 실시 예는 독립적으로 구현되거나 동작될 수도 있지만, 각 실시 예는 조합되어 구현되거나 동작될 수도 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하는 블록도이다.
도 1을 참조하면, 전자 장치(100)는 마이크(110), 프로세서(120) 및 디스플레이(130)를 포함할 수 있다.
마이크(110)는 사용자의 발화를 입력받을 수 있다. 전자 장치(100)에 한 개의 마이크(110)를 포함할 수 있고, 복수의 마이크(110)를 포함할 수 있다. 예를 들어, 마이크(110)는 일반 마이크, 서라운드 마이크, 지향성 마이크 등을 포함할 수 있다.
프로세서(120)는 전자 장치(100)의 각 구성을 제어할 수 있다. 예를 들어, 프로세서(120)는 사용자의 발화를 입력받도록 마이크(110)를 제어할 수 있고, 컨텐츠를 출력하도록 디스플레이(130)를 제어할 수 있다. 프로세서(120)는 디스플레이된 컨텐츠와 관련된 전용 언어 모델을 식별할 수 있다. 예를 들어, 프로세서(120)는 디스플레이된 컨텐츠의 종류, 디스플레이된 메뉴, 디스플레이된 입력 명령의 종류 등에 기초하여 전용 언어 모델을 식별할 수 있다. 일 실시 예로서, 디스플레이된 컨텐츠가 광고 컨텐츠인 경우, 프로세서(120)는 광고의 스킵, 광고 재생 중단 등을 인식할 수 있는 광고 컨텐츠를 위한 전용 언어 모델을 식별할 수 있다. 또는, 디스플레이된 컨텐츠가 컨텐츠의 리스트를 포함하는 경우, 프로세서(120)는 컨텐츠 이름, 선택 명령, 컨텐츠의 카테고리 등을 인식할 수 있는 컨텐츠의 메뉴를 위한 전용 언어 모델을 식별할 수 있다. 또는, 디스플레이된 컨텐츠에 재생, 일시 정지, 포워딩, 리워딩 등의 메뉴를 포함하는 경우, 프로세서(120)는 재생, 일시 정지, 포워딩, 리워딩 등을 인식할 수 있는 입력 명령을 위한 전용 언어 모델을 식별할 수 있다.
전자 장치(100)는 컨텐츠를 재생하는 중에 입력으로서 사용자로부터 발화를 수신할 수 있다. 입력되는 사용자의 발화는 하나 이상의 단어, 하나 이상의 어절 또는 문장일 수 있다. 프로세서(120)는 입력된 발화를 인식하여 인식된 발화의 후보 텍스트를 식별할 수 있다. 예를 들어, 프로세서(120)는 입력된 발화 음성을 텍스트로 변환하고, 변환된 발화의 후보 텍스트를 식별할 수 있다. 프로세서(120)는 입력된 발화에 포함된 단어, 어절, 어근 등에 기초하여 후보 단어, 후보 어절, 후보 어근을 식별할 수 있다. 그리고, 프로세서(120)는 식별된 후보 단어, 후보 어절 또는 후보 어근을 조합하여 후보 텍스트를 식별할 수 있다.
프로세서(120)는 인식된 발화와 식별된 후보 텍스트 간의 유사도를 식별할 수 있다. 예를 들어, 프로세서(120)는 범용 텍스트 데이터베이스에 기초하여 유사도를 식별하고, 유사도가 높은 기 설정된 개수의 후보 텍스트를 식별할 수 있다. 그리고, 프로세서(120)는 식별된 전용 언어 모델 및 기 설정된 임계값에 기초하여 후보 텍스트 중 식별된 유사도가 높은 기 설정된 개수의 후보 텍스트의 적합도를 식별할 수 있다. 일 실시 예로서, 프로세서(120)는 식별된 전용 언어 모델에 기초하여 기 설정된 개수의 후보 텍스트 각각에 대해 후보 텍스트에 포함된 단어가 나타날 엔트로피의 단어별 기하 평균을 산출할 수 있다. 프로세서(120)는 기 설정된 임계값과 기 설정된 개수의 후보 텍스트 각각에 대해 산출된 단어별 기하 평균에 기초하여 기 설정된 개수의 후보 텍스트가 적합 범위에 포함되는지 판단하여 적합도를 식별할 수 있다. 그리고, 프로세서(120)는 산출된 단어별 기하 평균이 가장 낮은 하나의 후보 텍스트를 식별할 수 있다.
일 실시 예로서, 식별된 후보 텍스트에 대한 유사도 및 적합도는 학습된 인공지능 모델에 기초하여 식별될 수 있다. 프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서를 포함할 수 있다. 프로세서(120)는 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 일 실시 예로서, 프로세서(120)는 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 하나 이상의 인공지능 프로세서를 포함할 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 할 수 있다. 예를 들어, 다수의 학습 데이터들을 이용하여 학습 알고리즘에 의해 학습된 기본 인공지능 모델은 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어질 수 있다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기(예, 전자 장치(100))에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘은 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치에 기초하여 현재 레이어에서 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다. 프로세서(120)가 유사도 및 적합도를 식별하는 구체적인 과정은 후술한다.
프로세서(120)는 식별된 적합도가 기 설정된 적합 범위 외인 경우, 입력된 사용자의 발화를 무시할 수 있다. 또는, 프로세서(120)는 식별된 적합도가 기 설정된 적합 범위 내에 포함되는 경우, 적합도가 가장 높은 하나의 후보 텍스트를 입력된 사용자의 발화로 식별하고 대응되는 동작을 수행할 수 있다. 또한, 프로세서(120)는 무시된 발화에 기초하여 별도의 언어 모델을 생성할 수 있다. 프로세서(120)는 무시된 발화를 포함하는 필터링 언어 모델을 생성할 수 있다. 예를 들어, 상술한 전용 언어 모델은 포지티브 언어 모델(positive Language Model(PLM))일 수 있고, 필터링 언어 모델은 네거티브 언어 모델(negative Language Model(NLM))일 수 있다. 프로세서(120)는 수신된 발화가 인식되고, 인식된 발화가 필터링 언어 모델에 포함되는 경우, 인식된 발화를 무시할 수 있다. 또한, 프로세서(120)는 계속적으로 무시된 사용자의 발화에 기초하여 필터링 언어 모델을 업데이트할 수 있다. 프로세서(120)가 포지티브 언어 모델 및 네거티브 언어 모델을 이용하여 입력된 발화를 처리하는 구체적인 과정은 후술한다.
디스플레이(130)는 프로세서(120)에서 영상으로 처리된 데이터를 출력할 수 있다. 디스플레이(130)는 컨텐츠를 표시할 수 있고, 인식된 발화에 대응되는 화면을 출력할 수 있다. 예를 들어, 디스플레이(130)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diode), 플렉서블 디스플레이, 터치 스크린 등으로 구현될 수 있다. 디스플레이(130)가 터치 스크린으로 구현되는 경우, 전자 장치(100)는 터치 스크린을 통해 입력(예, 제어 명령)을 수신할 수도 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 설명하는 블록도이다.
도 2를 참조하면, 전자 장치(100)는 마이크(110), 프로세서(120), 디스플레이(130), 입력 인터페이스(140), 통신 인터페이스(150), 카메라(160), 메모리(170), 스피커(180) 및 센서(190)를 포함할 수 있다. 마이크(110) 및 디스플레이(130)는 도 1에서 설명한 바와 동일할 수 있다.
입력 인터페이스(140)는 사용자로부터 제어 명령을 입력받을 수 있다. 예를 들어, 입력 인터페이스(140)는 키 패드, 터치 패드, 터치 스크린 등을 포함할 수 있다. 일 실시 예로서, 입력 인터페이스(140)는 입출력 포트를 포함하여 데이터를 입력받을 수 있다. 예를 들면, 입력 인터페이스(140)는 사운드와 이미지를 포함하는 동영상을 입력받을 수 있다. 입출력 포트는 HDMI(High-Definition Multimedia Interface), DP(DisplayPort), RGB, DVI(Digital Visual Interface), USB(Universal Serial Bus), 썬더볼트, LAN, AUX 등의 포트를 포함할 수 있다. 입력 인터페이스(140)는 입력 장치, 입력부, 입력 모듈 등으로 불릴 수도 있다. 입력 인터페이스(140)가 입출력 기능을 수행하는 경우, 입출력 장치, 입출력부, 입출력 모듈 등으로 불릴 수도 있다.
통신 인터페이스(150)는 외부 장치와 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스(150)는 Wi-Fi, Wi-Fi 다이렉트, 블루투스, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project) 및 LTE(Long Term Evoloution)의 통신 방식 중 적어도 하나 이상의 통신 방식으로 외부 장치와 통신을 수행할 수 있다. 통신 인터페이스(150)는 외부 장치로부터 컨텐츠 및 컨텐츠와 관련된 메뉴, 입력 명령 등에 대한 데이터 등을 수신할 수 있다. 통신 인터페이스(150)는 통신 장치, 통신부, 통신 모듈, 송수신부 등으로 지칭될 수 있다.
카메라(160)는 전자 장치(100)의 환경의 적어도 일부의 이미지를 캡쳐(촬영)할 수 있다. 일 실시 예로서, 카메라(160)는 사용자의 표정, 동작 등의 이미지를 캡쳐할 수 있다. 프로세서(120)는 카메라(160)에서 촬영된 이미지에 기초하여 환경에 대한 정보를 획득할 수 있다. 프로세서(120)는 사용자의 표정, 동작 등에 기초하여 동작을 수행할 수 있다. 일 실시 예로서, 카메라(160)는 서로 다른 기능을 수행하는 다양한 종류의 카메라를 포함할 수 있다. 일 실시 예로서, 카메라(160)는 동일한 종류의 카메라(110)를 포함할 수 있다. 예를 들어, 카메라(160)는 CCD 센서, CMOS 센서를 포함할 수 있다. 또한, 카메라(160)는 RGB 카메라, 뎁스 카메라, 광각 카메라, 망원 카메라 등을 포함할 수 있다.
메모리(170)는 전자 장치(100)의 기능을 수행하는 데이터, 알고리즘 등을 저장할 수 있다. 또한, 메모리(170)는 전자 장치(100)의 동작을 제어하는 프로세서(120)에 의해 실행되는 프로그램, 명령어 등을 저장할 수 있다. 예를 들어, 메모리(170)는 음성 인식을 위한 인공지능 알고리즘 등을 저장할 수 있다. 프로세서(120)는 음성 인식을 위한 인공지능 알고리즘을 이용하여 입력으로서 사용자의 발화를 인식하고 제어 명령에 대응되는 발화인지 또는 제어 명령과 관련없는 발화인지 판단할 수 있다. 메모리(170)에 저장된 알고리즘은 프로세서(120)에 의해 오브젝트 식별 또는 사운드 처리를 수행할 수 있다. 예를 들어, 메모리(170)는 롬, 램, HDD, SSD, 메모리 카드 등의 타입으로 구현될 수 있다.
스피커(180)는 음성 또는 알림음과 같은 사운드 신호를 출력할 수 있다. 예를 들어, 스피커(180)는 입력 명령으로서 인식된 사용자의 발화에 대한 정보, 전자 장치(100)의 상태 관련 정보 또는 동작 관련 정보 등을 출력할 수 있다.
센서(190)는 전자 장치(100) 주변의 물체를 감지할 수 있다. 프로세서(120)는 감지된 물체에 기초하여 제어 명령을 인식하고, 인식된 제어 명령에 대응되는 제어 동작을 수행할 수 있다. 일 실시 예로서, 센서(190)는 전자 장치(100)의 환경 정보를 감지할 수 있고, 프로세서(120)는 감지된 환경 정보에 기초하여 제어 동작을 수행할 수 있다. 예를 들어, 센서(190)는 가속도 센서, 중력 센서, 자이로 센서, 지자기 센서, 방향 센서, 모션 인식 센서, 근접 센서, 전압계, 전류계, 기압계, 습도계, 온도계, 조도 센서, 열 감지 센서, 터치 센서, 적외선 센서, 초음파 센서 등을 포함할 수 있다.
도 3 및 도 4는 본 개시의 일 실시 예에 따른 사용자의 발화에 기초하여 동작 수행 여부를 판단하는 과정을 설명하는 도면이다.
도 3 및 도 4를 참조하면, 전자 장치(100)는 자동 음성 인식(Automatic Speech Recognition, ASR) 기능을 통해 입력된 사용자의 발화(발화된 음성)을 인식할 수 있다(S310, S410). 예를 들어, 도 4에 도시된 바와 같이, 사용자가 “스퀴드 게임 보여줘”라고 발화한 경우, 전자 장치(100)는 발화 음성을 인식하여 인식된 발화의 후보 텍스트를 식별할 수 있다. 일 실시 예로서, 전자 장치(100)는 입력된 발화에 포함된 단어, 어절, 어근 등에 기초하여 후보 단어, 후보 어절, 후보 어근 등을 식별할 수 있다. 그리고, 전자 장치(100)는 식별된 후보 단어, 후보 어절, 후보 어근 등을 조합하여 복수 개의 후보 텍스트를 생성할 수 있다. 예를 들어, 상술한 사용자의 발화 음성의 후보 텍스트는 “스피드 게임 보여줘”, “스피드 겜 보여줘”, “스퀴드 게임 보여줘” 등의 텍스트를 포함할 수 있다. 일 실시 예로서, 사용자가 “재미있는게 뭐가 있지”라고 발화한 경우, 전자 장치(100)는 발화 음성을 인식하고, “재미있는게 뭐가 있지?”, “재밌는게 뭐가 있지”, “재민는게 뭐가 이찌” 등의 텍스트를 포함할 수 있다.
전자 장치(100)는 범용 텍스트 데이터베이스(또는, 범용 언어 모델)에 기초하여 유사도(발화 음성과 일치 확률)를 식별하고, 유사도가 높은 기 설정된 개수의 후보 텍스트를 식별할 수 있다. 범용 텍스트 데이터베이스는 특정 목적을 위한 데이터베이스(또는, 모델)가 아니라 일반적인 모든 언어를 판단할 수 있는 데이터베이스를 의미한다.
일 실시 예로서, 전자 장치(100)는 발화 음성을 입력받고, 입력된 발화 음성을 디코딩할 수 있다. 전자 장치(100)는 음성 신호 x의 출현 확률 p(x)가 동일하다고 가정하고, 베이즈 정리(bayesian theorem)에 기초하여 발화 음성의 유사도를 식별할 수 있다. 전자 장치(100)는 발화 음성의 유사도를 식별하기 위해 범용 텍스트 데이터베이스(또는, 범용 언어 모델)를 이용할 수 있다. 즉, 전자 장치(100)는 발화된 음성으로부터 인식되는 가능성이 높은(확률이 높은) 단어(또는, 음절, 어절 등) 등을 식별하고, 범용 텍스트 데이터베이스에 포함된 단어 중 식별된 단어와 일치 확률이 높은 단어를 발화 음성의 단어로 식별할 수 있다. 일 실시 예로서, 전자 장치(100)는 학습된 인공 지능 신경망 모델 및 범용 텍스트 데이터베이스를 이용하여 발화 음성의 유사도를 식별할 수도 있다. 즉, 전자 장치(100)는 학습된 인공 지능 신경망에 기초하여 발화 음성으로부터 유사도가 높은 단어 등을 식별하고, 범용 텍스트 데이터베이스에 포함된 단어 중 식별된 단어와 일치 확률이 높은 단어를 발화 음성의 단어로 식별할 수 있다, 전자 장치(100)는 상술한 과정을 통해 유사도가 높은 후보 텍스트를 식별할 수 있다.
일 실시 예로서, 전자 장치(100)는 발화 음성의 유사도를 식별할 때, n-best 방식을 이용할 수 있다. 즉, 전자 장치(100)는 유사도가 높은 n개의 후보 텍스트를 판단할 수 있다. 각각의 후보 텍스트는 발화 음성과 일치 확률이 다르므로 확률이 높은 순서로 후보 텍스트를 식별할 수 있다. 유사도는 범용 텍스트 데이터베이스를 기초로 판단되었기 때문에 유사도가 가장 높다고 식별된 후보 텍스트와 인식된 발화 음성과는 차이가 있을 수 있다.
전자 장치(100)는 n 개의 후보 텍스트를 식별한 후 후처리 과정으로 리스코어링(rescoring) 과정을 수행할 수 있다(S320). 전자 장치(100)는 n 개의 후보 텍스트에 대해서 리스코어링 과정을 수행하여 후보 텍스트의 유사도를 다시 계산할 수 있다. 전자 장치(100)는 n 번의 점수 만이 계산되므로 긴 지연 시간없이 후처리 과정을 수행할 수 있다.
전자 장치(100)는 유사도가 높은 n 개의 후보 텍스트 중 유사도가 높은 m 개의 기 설정된 후보 텍스트에 대하여 식별된 전용 언어 모델 및 기 설정된 임계 값에 기초하여 적합도를 평가할 수 있다(S330, S420). 일 실시 예로서, 적합도 평가는 PPL(Perplexity) 방식으로 평가될 수 있다. PPL은 각 단어가 등장할 엔트로피의 단어별 기하 평균을 의미하며, 낮을수록 더 적합하다는 것을 의미한다. 전자 장치(100)는 m 개의 후보 텍스트, 즉, [w1, w2,.., wm] 에 대해 Entropy H를 산출 한다. 이때, 전자 장치(100)는 모집단을 아는 것은 불가능하므로 샘플링된 텍스트 내에서 아래와 같이 산출한 근사 값 을 사용할 수 있다.
적합도는 PPL = 2H와 같이 산출될 수 있다. PPL은 양의 실수 값으로 나타나며, 작은 값일수록 전용 언어 모델에 적합하다는 것을 의미한다. 그리고, 기 설정된 임계 값에 기초하여 전자 장치(100)가 처리해야 할 발화인지 여부를 판단할 수 있다.
일 실시 예로서, 상술한 “스퀴드 게임 보여줘”라는 사용자의 발화와 관련하여, 전자 장치(100)는 PPL(“스피드 게임 보여줘”) = 1.5, PPL(“스피드 겜 보여줘”) = 2, PPL(“스퀴드 게임 보여줘”) = 1 과 같이 판단할 수 있다. 그리고 설정된 임계 값은 적절한 값으로 설정될 수 있다(예, 10).
전자 장치(100)는 설정된 임계 값에 기초하여 판단된 적합도가 적합 범위 내인지 판단할 수 있다(S430). PPL의 총 합은 4.5로서 임계 값 10보다 낮으므로 전자 장치(100)는 식별된 적합도가 설정된 적합 범위 내에 포함되는 것으로 판단할 수 있다. 그리고, 전자 장치(100)는 PPL이 가장 낮은 “스퀴드 게임 보여줘”의 후보 텍스트를 입력된 사용자의 발화로 식별하여 대응되는 동작을 수행할 수 있다.
또는, “재미있는게 뭐가 있지”라는 사용자의 발화와 관련하여, 전자 장치(100)는 PPL(“재미있는게 뭐가 있지”) = 10, PPL(“재밌는게 뭐가 있지”) = 10, PPL(“재민는게 뭐가 이찌”) = 10 과 같이 판단할 수 있다. PPL의 총 합은 30으로서 임계 값 10보다 높으므로 전자 장치(100)는 식별된 적합도가 설정된 적합 범위 외라고 판단할 수 있다. 따라서, 전자 장치(100)는 입력된 사용자의 발화를 무시하고 인식을 종료할 수 있다.
상술한 적합도 판단 방법은 일 실시 예이며, 다양한 방식으로 후보 텍스트의 적합도를 평가할 수 있다. 예를 들어, 전자 장치(100)는 언어 모델에 포함된 텍스트와 일치 확률에 기초하여 적합도를 평가할 수도 있다. 상술한 예에서는 평가된 적합도의 총 합을 기준으로 임계 값과 비교하였으나, 평가된 적합도의 평균을 기준으로 임계 값과 비교할 수 있다. 또는, 상술한 예에서, 평가된 적합도가 임계 값보다 작은 경우, 전자 장치(100)가 적합 범위로 판단하였으나, 적합도 평가 방식에 따라 평가된 적합도가 임계 값보다 큰 경우, 전자 장치(100)는 적합 범위로 판단될 수도 있다.
상술한 실시 예는 전용 언어 모델을 이용하여 후보 텍스트를 판단하는 과정을 설명하였다. 전용 언어 모델은 포지티브 언어 모델일 수 있다. 즉, 전자 장치(100)는 포지티브 언어 모델만을 이용하여 후보 텍스트의 적합도를 판단할 수 있다.
또는, 전자 장치(100)는 전용 언어 모델 및 필터링 언어 모델을 이용하여 후보 텍스트의 적합도를 평가할 수 있다. 전용 언어 모델은 포지티브 언어 모델이고, 필터링 언어 모델은 네거티브 언어 모델일 수 있다. 예를 들어, 전자 장치(100)는 전용 언어 모델에 기초하여 후보 텍스트의 적합도를 평가할 수 있다. 전자 장치(100)는 언어 모델에 기초하여 일치 확률에 따라 평가 값을 더하거나 빼는 방식으로 적합도를 평가할 수 있다.
전자 장치(100)는 상술한 과정과 동시에 또는 순차적으로 필터링 언어 모델에 기초하여 부적합도를 평가할 수 있다. 전자 장치(100)는 평가 대상 후보 텍스트에 대해 전용 언어 모델에 포함된 텍스트와 일치 여부에 따라 적합 평가 값을 산출하고, 필터링 언어 모델에 포함된 텍스트와 일치 여부에 따라 부적합 평가 값을 산출할 수 있다. 전자 장치(100)는 산출된 적합 평가 값 및 부적합 평가 값에 기초하여 후보 텍스트의 적합도를 평가할 수 있다. 일 실시 예로서, 적합도가 포지티브 방식으로 평가되는 경우, 전자 장치(100)는 적합 평가 값을 더하고 부적합 평가 값을 빼는 방식으로 후보 텍스트의 적합도를 평가할 수 있다. 또는, 적합도가 네거티브 방식으로 평가되는 경우, 전자 장치(100)는 적합 평가 값을 빼고 부적합 평가 값을 더하는 방식으로 후보 텍스트의 적합도를 평가할 수 있다.
도 5a는 관련 기술에서 전자 장치의 오동작의 예를 설명하는 도면이고, 도 5b는 본 개시의 일 실시 예에 따른 사용자의 발화에 따라 정상적은 동작을 수행하는 전자 장치를 설명하는 도면이다. 도 5a 및 도 5b를 함께 참조하여 설명한다.
도 5a 및 도 5b를 참조하면, 전자 장치(100)는 광고 컨텐츠를 표시하고 있다. 전자 장치(100)는 표시된 광고 컨텐츠와 관련된 전용 언어 모델(LM1)을 선택할 수 있다. 예를 들어, LM1은 광고 건너뛰기, 스킵, 넘어가기 등의 발화를 인식할 수 있다. 사용자는 제어 명령과 관련없는 “배고파”라는 발화를 할 수 있다.
도 5a에 도시된 관련 기술의 경우, 음성 인식 모델에 기초하여 사용자가 발화한 “배고파”라는 발화 음성과 가장 유사한 텍스트를 인식하였다. 일 실시 예로서, 전자 장치(100)는 “배고파”라는 사용자의 발화 음성이 “광고 스킵”이라는 텍스트와 가장 유사하다고 판단할 수 있다. 따라서, 전자 장치(100)는 사용자의 발화 음성에 대응하여 광고를 스킵하는 오동작을 수행하였다.
그러나, 도 5b에 도시된 본 개시의 경우, 상술한 바와 같이, 전자 장치(100)는 범용 텍스트 데이터베이스(또는, 모델)에 기초하여 후보 텍스트 및 유사도를 식별할 수 있다. 그리고, 식별된 유사도에 기초하여 m 개의 후보 텍스트 및 전용 언어 모델에 기초하여 적합도를 식별할 수 있다. 전자 장치(100)는 “배고파”라는 사용자의 발화 음성의 적합도가 낮다고 판단하여 입력된 사용자의 발화 음성을 무시하고 인식을 종료할 수 있다. 따라서, 전자 장치(100)는 재생 중인 광고를 계속 재생할 수 있다. 즉, 본 개시의 전자 장치(100)는 전용 언어 모델을 이용하여 재인식 과정을 수행하므로 사용자의 발화 음성의 인식률의 정확도를 높일 수 있고, 호출어를 입력하지 않는 음성 인식 환경에서 오동작을 줄일 수 있는 효과가 있다.
전자 장치(100)는 무시된 사용자의 발화를 포함하는 필터링 언어 모델을 생성할 수 있다. 전자 장치(100)는 입력된 사용자의 발화가 필터링 언어 모델에 포함된 발화라고 판단하는 경우, 입력된 사용자의 발화를 무시할 수 있다. 또한, 전자 장치(100)는 무시된 사용자의 발화가 많아질수록 필터링 언어 모델을 업데이트할 수 있다. 따라서, 본 개시의 전자 장치(100)는 동작과 관련없는 사용자의 발화를 더욱 정확히 판단할 수 있다.
지금까지 사용자의 발화를 정확하게 인식하여 오동작을 줄이는 다양한 실시 예를 설명하였다. 아래에서는 전자 장치(100)의 제어 방법을 설명한다.
도 6은 본 개시의 일 실시 예에 따른 전자 장치(100)의 제어 방법을 설명하는 흐름도이다.
도 6을 참조하면, 전자 장치(100)는 디스플레이된 컨텐츠와 관련된 전용 언어 모델을 식별한다(S610). 예를 들어, 전자 장치(100)는 디스플레이된 컨텐츠의 종류, 디스플레이된 메뉴, 디스플레이된 입력 명령의 종류 등에 기초하여 전용 언어 모델을 식별할 수 있다.
전자 장치(100)가 사용자의 발화를 입력받으면(S620), 전자 장치(100)는 입력된 발화를 인식하여 인식된 발화의 후보 텍스트를 식별한다(S630). 예를 들어, 전자 장치(100)는 입력된 발화에 포함된 단어, 어절, 어근 등에 기초하여 후보 단어, 후보 어절, 후보 어근 등을 식별할 수 있다. 그리고, 전자 장치(100)는 식별된 후보 단어, 후보 어절 또는 후보 어근을 조합하여 후보 텍스트를 식별할 수 있다.
전자 장치(100)는 인식된 발화와 식별된 후보 텍스트 간의 유사도를 식별한다(S640). 예를 들어, 전자 장치(100)는 범용 텍스트 데이터베이스(범용 언어 모델)에 기초하여 유사도를 식별하고, 유사도가 높은 기 설정된 개수의 후보 텍스트를 식별할 수 있다.
전자 장치(100)는 식별된 전용 언어 모델 및 기 설정된 임계값에 기초하여 후보 텍스트 중 식별된 유사도가 높은 기 설정된 개수의 후보 텍스트의 적합도를 식별한다(S650). 예를 들어, 전자 장치(100)는 식별된 전용 언어 모델에 기초하여 기 설정된 개수의 후보 텍스트 각각에 대해 후보 텍스트에 포함된 단어가 나타날 엔트로피의 단어별 기하 평균을 산출할 수 있다. 전자 장치(100)는 기 설정된 임계값과 기 설정된 개수의 후보 텍스트 각각에 대해 산출된 단어별 기하 평균에 기초하여 기 설정된 개수의 후보 텍스트가 적합 범위에 포함되는지 판단할 수 있다. 일 실시 예로서, 전자 장치(100)는 산출된 단어별 기하 평균이 가장 낮은 하나의 후보 텍스트를 식별할 수 있다.
전자 장치(100)는 식별된 적합도가 기 설정된 적합 범위 외인 경우 입력된 사용자의 발화를 무시한다. 그리고, 전자 장치(100)는 식별된 적합도가 기 설정된 적합 범위 내에 포함되는 경우 후보 텍스트 중 적합도가 가장 높은 하나의 후보 텍스트를 입력된 사용자의 발화로 식별하여 대응되는 동작을 수행한다(S660).
또한, 전자 장치(100)는 무시된 사용자의 발화를 포함하는 필터링 언어 모델을 생성할 수 있다. 전자 장치(100)는 인식된 발화가 필터링 언어 모델에 포함된 발화에 포함되는 경우, 인식된 발화를 무시할 수 있다.
상술한 다양한 실시 예에 따른 전자 장치의 제어 방법은 컴퓨터 프로그램 제품으로 제공될 수도 있다. 컴퓨터 프로그램 제품은 S/W 프로그램 자체 또는 S/W 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)를 포함할 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
Claims (15)
- 디스플레이된 컨텐츠와 관련된 전용 언어 모델을 식별하는 단계;사용자의 발화를 입력받는 단계;상기 입력된 발화를 인식하여 상기 인식된 발화의 후보 텍스트를 식별하는 단계;상기 인식된 발화와 상기 식별된 후보 텍스트 간의 유사도를 식별하는 단계;상기 식별된 전용 언어 모델 및 기 설정된 임계값에 기초하여 상기 후보 텍스트 중 식별된 유사도가 높은 기 설정된 개수의 후보 텍스트의 적합도를 식별하는 단계; 및상기 식별된 적합도가 기 설정된 적합 범위 외인 경우 상기 인식된 사용자의 발화를 무시하고, 상기 식별된 적합도가 기 설정된 적합 범위 내에 포함되는 경우 상기 후보 텍스트 중 적합도가 가장 높은 하나의 후보 텍스트를 상기 인식된 사용자의 발화로 식별하여 대응되는 동작을 수행하는 단계;를 포함하는 전자 장치의 제어 방법.
- 제1항에 있어서,상기 전용 언어 모델을 식별하는 단계는,디스플레이된 컨텐츠의 종류, 디스플레이된 메뉴 및 디스플레이된 입력 명령의 종류 중 적어도 하나에 기초하여 상기 전용 언어 모델을 식별하는, 전자 장치의 제어 방법.
- 제1항에 있어서,상기 인식된 발화의 후보 텍스트를 식별하는 단계는,상기 입력된 발화에 포함된 단어, 어절 및 어근 중 적어도 하나에 기초하여 후보 단어, 후보 어절 및 후보 어근 중 적어도 하나를 식별하고, 상기 식별된 후보 단어, 후보 어절 또는 후보 어근을 조합하여 상기 후보 텍스트를 식별하는, 전자 장치의 제어 방법.
- 제1항에 있어서,상기 유사도를 식별하는 단계는,범용 텍스트 데이터베이스에 기초하여 상기 유사도를 식별하고, 상기 식별된 유사도가 높은 상기 기 설정된 개수의 후보 텍스트를 식별하는, 전자 장치의 제어 방법.
- 제1항에 있어서,상기 적합도를 식별하는 단계는,상기 식별된 전용 언어 모델에 기초하여 상기 기 설정된 개수의 후보 텍스트 각각에 대해 상기 후보 텍스트에 포함된 단어가 나타날 엔트로피의 단어별 기하 평균을 산출하는, 전자 장치의 제어 방법.
- 제5항에 있어서,상기 적합도를 식별하는 단계는,상기 기 설정된 임계값과 상기 기 설정된 개수의 후보 텍스트 각각에 대해 산출된 단어별 기하 평균에 기초하여 상기 기 설정된 개수의 후보 텍스트가 상기 기 설정된 적합 범위 내인지 판단하여 상기 적합도를 식별하는, 전자 장치의 제어 방법.
- 제6항에 있어서,상기 적합도를 식별하는 단계는,상기 산출된 단어별 기하 평균이 가장 낮은 하나의 후보 텍스트를 식별하는, 전자 장치의 제어 방법.
- 제1항에 있어서,상기 무시된 인식된 발화를 포함하는 필터링 언어 모델을 생성하는 단계; 및상기 인식된 발화가 상기 필터링 언어 모델에 포함된 발화에 포함되는 경우, 상기 인식된 발화를 무시하는 단계;를 더 포함하는 전자 장치의 제어 방법.
- 컨텐츠를 표시하는 디스플레이;사용자의 발화를 입력받는 마이크;메모리; 및프로세서;를 포함하고,상기 프로세서는,디스플레이된 컨텐츠와 관련된 전용 언어 모델을 식별하고,상기 입력된 발화를 인식하여 상기 인식된 발화의 후보 텍스트를 식별하며,상기 인식된 발화와 상기 식별된 후보 텍스트 간의 유사도를 식별하고,상기 식별된 전용 언어 모델 및 기 설정된 임계값에 기초하여 상기 후보 텍스트 중 식별된 유사도가 높은 기 설정된 개수의 후보 텍스트의 적합도를 식별하며,상기 식별된 적합도가 기 설정된 적합 범위 외인 경우 상기 인식된 사용자의 발화를 무시하고, 상기 식별된 적합도가 기 설정된 적합 범위 내에 포함되는 경우 상기 후보 텍스트 중 적합도가 가장 높은 하나의 후보 텍스트를 상기 인식된 사용자의 발화로 식별하여 대응되는 동작을 수행하는, 전자 장치.
- 제9항에 있어서,상기 프로세서는,디스플레이된 컨텐츠의 종류, 디스플레이된 메뉴 및 디스플레이된 입력 명령의 종류 중 적어도 하나에 기초하여 상기 전용 언어 모델을 식별하는, 전자 장치.
- 제9항에 있어서,상기 프로세서는,상기 입력된 발화에 포함된 단어, 어절 및 어근 중 적어도 하나에 기초하여 후보 단어, 후보 어절 및 후보 어근 중 적어도 하나를 식별하고, 상기 식별된 후보 단어, 후보 어절 또는 후보 어근을 조합하여 상기 후보 텍스트를 식별하는, 전자 장치.
- 제9항에 있어서,상기 프로세서는,범용 텍스트 데이터베이스에 기초하여 상기 유사도를 식별하고, 상기 식별된 유사도가 높은 상기 기 설정된 개수의 후보 텍스트를 식별하는, 전자 장치.
- 제9항에 있어서,상기 프로세서는,상기 식별된 전용 언어 모델에 기초하여 상기 기 설정된 개수의 후보 텍스트 각각에 대해 상기 후보 텍스트에 포함된 단어가 나타날 엔트로피의 단어별 기하 평균을 산출하는, 전자 장치.
- 제13항에 있어서,상기 프로세서는,상기 기 설정된 임계값과 상기 기 설정된 개수의 후보 텍스트 각각에 대해 산출된 단어별 기하 평균에 기초하여 상기 기 설정된 개수의 후보 텍스트가 상기 기 설정된 적합 범위 내인지 판단하여 상기 적합도를 식별하는, 전자 장치.
- 제14항에 있어서,상기 프로세서는,상기 산출된 단어별 기하 평균이 가장 낮은 하나의 후보 텍스트를 식별하는, 전자 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/119,007 US20230282208A1 (en) | 2022-03-04 | 2023-03-08 | Electronic apparatus and controlling method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0028350 | 2022-03-04 | ||
KR1020220028350A KR20230131015A (ko) | 2022-03-04 | 2022-03-04 | 전자 장치 및 그 제어 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/119,007 Continuation US20230282208A1 (en) | 2022-03-04 | 2023-03-08 | Electronic apparatus and controlling method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023167399A1 true WO2023167399A1 (ko) | 2023-09-07 |
Family
ID=87883931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/020489 WO2023167399A1 (ko) | 2022-03-04 | 2022-12-15 | 전자 장치 및 그 제어 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20230131015A (ko) |
WO (1) | WO2023167399A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100848148B1 (ko) * | 2007-02-20 | 2008-07-28 | 고려대학교 산학협력단 | 음절 단위의 음성 인식 장치, 음절 단위의 음성 인식을이용한 문자 입력 장치, 그 방법 및 기록 매체 |
KR20140022320A (ko) * | 2012-08-14 | 2014-02-24 | 엘지전자 주식회사 | 영상표시장치와 서버의 동작 방법 |
KR20200097993A (ko) * | 2019-02-11 | 2020-08-20 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
US20210118446A1 (en) * | 2019-10-22 | 2021-04-22 | Samsung Electronics Co., Ltd. | Speech recognition method and speech recognition apparatus |
KR20210130494A (ko) * | 2020-04-22 | 2021-11-01 | 한국외국어대학교 연구산학협력단 | 다중 디바이스의 음성인식 제어를 위한 다채널 보이스 트리거 시스템 및 그 제어 방법 |
-
2022
- 2022-03-04 KR KR1020220028350A patent/KR20230131015A/ko unknown
- 2022-12-15 WO PCT/KR2022/020489 patent/WO2023167399A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100848148B1 (ko) * | 2007-02-20 | 2008-07-28 | 고려대학교 산학협력단 | 음절 단위의 음성 인식 장치, 음절 단위의 음성 인식을이용한 문자 입력 장치, 그 방법 및 기록 매체 |
KR20140022320A (ko) * | 2012-08-14 | 2014-02-24 | 엘지전자 주식회사 | 영상표시장치와 서버의 동작 방법 |
KR20200097993A (ko) * | 2019-02-11 | 2020-08-20 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
US20210118446A1 (en) * | 2019-10-22 | 2021-04-22 | Samsung Electronics Co., Ltd. | Speech recognition method and speech recognition apparatus |
KR20210130494A (ko) * | 2020-04-22 | 2021-11-01 | 한국외국어대학교 연구산학협력단 | 다중 디바이스의 음성인식 제어를 위한 다채널 보이스 트리거 시스템 및 그 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20230131015A (ko) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020145678A1 (en) | System and method for multi-spoken language detection | |
WO2014035061A1 (en) | Display device and speech search method | |
WO2020204655A1 (en) | System and method for context-enriched attentive memory network with global and local encoding for dialogue breakdown detection | |
WO2021091145A1 (en) | Electronic apparatus and method thereof | |
WO2024000867A1 (zh) | 情绪识别方法、装置、设备及存储介质 | |
WO2021029523A1 (en) | Techniques for learning effective musical features for generative and retrieval-based applications | |
WO2020054980A1 (ko) | 음소기반 화자모델 적응 방법 및 장치 | |
WO2020159140A1 (ko) | 전자 장치 및 이의 제어 방법 | |
WO2018169276A1 (ko) | 언어 정보를 처리하기 위한 방법 및 그 전자 장치 | |
US10923123B2 (en) | Two-person automatic speech recognition training to interpret unknown voice inputs | |
US20200402498A1 (en) | Information processing apparatus, information processing method, and program | |
WO2023167399A1 (ko) | 전자 장치 및 그 제어 방법 | |
US20220084522A1 (en) | Method and apparatus for recognizing silent speech | |
WO2021045503A1 (en) | Electronic apparatus and control method thereof | |
WO2017203764A1 (ja) | 情報処理装置および情報処理方法 | |
WO2022191366A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2021045434A1 (ko) | 전자 장치 및 이의 제어 방법 | |
WO2021125550A1 (en) | Electronic device and method for controlling the electronic device. | |
JP7468360B2 (ja) | 情報処理装置および情報処理方法 | |
WO2023085699A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2023068495A1 (ko) | 전자 장치 및 그 제어 방법 | |
WO2023003072A1 (ko) | 인공 지능 모델을 이용하여 음성 인식 서비스를 제공하는 장치 및 방법 | |
WO2014178491A1 (ko) | 발화 인식 방법 및 장치 | |
WO2023068480A1 (ko) | 전자 장치, 단말 장치 및 그 제어 방법 | |
WO2021251780A1 (en) | Systems and methods for live conversation using hearing devices |
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: 22930041 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022930041 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2022930041 Country of ref document: EP Effective date: 20240529 |