WO2020091187A1 - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2020091187A1
WO2020091187A1 PCT/KR2019/008468 KR2019008468W WO2020091187A1 WO 2020091187 A1 WO2020091187 A1 WO 2020091187A1 KR 2019008468 W KR2019008468 W KR 2019008468W WO 2020091187 A1 WO2020091187 A1 WO 2020091187A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
voice
user
completed
electronic device
Prior art date
Application number
PCT/KR2019/008468
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
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/290,147 priority Critical patent/US11893982B2/en
Priority to CN201980070239.7A priority patent/CN112912954B/zh
Priority to EP19879515.5A priority patent/EP3836137A4/en
Publication of WO2020091187A1 publication Critical patent/WO2020091187A1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • 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
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • 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
    • G10L2015/223Execution procedure of a spoken command
    • 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
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Definitions

  • the present disclosure relates to an electronic device and a control method thereof, and more particularly, to an electronic device and a control method for determining whether a received user's voice is completed.
  • An electronic device equipped with a voice recognition technology receives a voice command spoken by the user as an input and performs a function according to the user's voice.
  • the electronic device In order for the electronic device to properly perform a function according to the user's voice, the electronic device must receive the completed user voice.
  • the electronic device may be configured until the user misses the button or is preset. Speech recognition is performed on utterances input for a certain period of time. In this case, since the user has not actually completed the utterance, the voice recognition result is likely to have an error, and the user has the trouble of having to make the same utterance again.
  • the present disclosure has been derived from the above-described problems, and an object of the present disclosure is to provide an electronic device and a control method for determining whether a user's voice is completed based on a meaning of a voice spoken by the user.
  • An electronic device includes: a memory in which a first model and a second model are stored; And a processor that generates a response to the user voice in response to completion of the received user voice determined based on the first model and the second model, wherein the first model includes a plurality of completed sentences It is a trained model using the sentence pattern of the learning data, and the second model is a model trained using a plurality of completed sentences and intents corresponding to the plurality of completed sentences as learning data.
  • the sentence pattern may be determined based on the part of speech of at least one element constituting each of the plurality of completed sentences, and the first model may be determined according to the part of speech of the elements constituting the user voice. It may be a model that is learned based on the part of speech of the at least one element to determine whether the user voice is completed.
  • the second model is based on the part of speech of the elements constituting the sentence completed for each intention to determine whether the user's voice is completed according to the intention of the user's voice and the part of speech of the elements constituting the user's voice. It can be a trained model.
  • first model and the second model may be trained using the learning data according to context, and the processor may use the first model and the second model according to the context according to the user It is possible to judge whether the voice is complete.
  • the processor uses information obtained from the user's voice as input data of the first model and the second model to obtain information on whether the user's voice is a completed sentence from the first model and the second model, respectively. Acquiring and determining whether the user's voice is completed is based on information obtained from the first model and the second model, respectively.
  • the processor if it is determined that the user voice is a completed sentence based on information obtained from the first model and the second model, respectively, and the user voice does not correspond to a preset exception sentence, the user It can be judged that the voice is complete.
  • the processor may convert the user's voice into text, and obtain information about the intention of the user's voice and parts of speech composing the user's voice based on the text.
  • the processor acquires a first output value corresponding to whether or not the sentence of the user voice is completed by using the part of speech of the sentence component constituting the user voice as input data of the first model.
  • a second output value corresponding to whether the user's voice is completed is obtained by using the intention and the part of speech of the sentence component constituting the user's voice as input data of the second model, and the first output value and the second output Based on the value, it may be determined whether the user voice is completed.
  • the processor applies the first weight to the first output value, applies the second weight to the second preset value, and applies the first weight to the first output value and the second to the first weight value.
  • the second output value to which the weight is applied may be summed, and it may be determined whether the user's voice is completed based on the summed value.
  • the processor may determine that the user voice is in a completed form when the summed value is equal to or greater than a preset value and the user voice does not correspond to a preset sentence.
  • a method of controlling an electronic device includes: receiving a user voice; determining whether the user voice is completed using first and second models; And providing a response to the user voice in response to completion of the received user voice determined based on the first model and the second model.
  • the first model is a model using sentence patterns of a plurality of completed sentences as learning data
  • the second model includes a plurality of completed sentences, the plurality of completed sentences, and the plurality of completed sentences. It is a model learned by using the corresponding intent as training data.
  • the sentence pattern may be determined based on the part of speech of at least one element constituting each of the plurality of completed sentences, and the first model may be determined according to the part of speech of the elements constituting the user voice. It may be a model that is learned based on the part of speech of the at least one element to determine whether the user's voice is completed.
  • the second model is based on the part of speech of the elements constituting the sentence completed for each intention to determine whether the user's voice is completed according to the intention of the user's voice and the part of speech of the elements constituting the user's voice. It may be a model to be learned.
  • first model and the second model may be trained using the learning data according to context, and the determining may include, depending on the context using the first model and the second model It may be determined whether the user voice is completed.
  • using the information obtained from the user voice as input data of the first model and the second model to obtain information about whether the user voice is a complete sentence; may further include;
  • the step may determine whether the user's voice is completed based on information obtained from the first model and the second model, respectively.
  • the determining step if it is determined that the user voice is a complete form based on information obtained from the first model and the second model, and the user voice does not correspond to a preset exception sentence, the It can be determined that the user's voice is complete.
  • the control method may further include converting the user's voice into text, and acquiring information on the intention of the user's voice and parts of speech of the component of the user's voice based on the text.
  • the determining step uses the part of speech composing the user voice as input data of the first model to obtain a first output value corresponding to whether the user voice is completed or not, and the user voice
  • the second output value corresponding to whether the user's voice is completed is obtained by using the intention of the sentence and the part of speech of the sentence component constituting the user's voice as input data of the second model, and the first output value and the second Based on the output value, it may be determined whether the user's voice is completed.
  • the determining step may include applying a first weight to the first output value, applying a second weight to the second output value, and applying the first weight to the first output value and the first weight value.
  • the second output value to which the second weight is applied may be summed, and it may be determined whether the user's voice is completed based on the summed value.
  • the determining when the summed value is equal to or greater than a preset value, and the user voice does not correspond to a preset sentence, it may be determined that the user voice is completed.
  • the user by determining that the user's voice has not yet been completed based on the meaning of the voice spoken by the user, the user does not repeat the previously uttered content again so as not to speak Therefore, user convenience is improved.
  • FIG. 1 is a diagram illustrating a system including an electronic device according to various embodiments of the present disclosure
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure
  • FIG. 3 is a block diagram illustrating in detail the configuration of an electronic device according to an embodiment of the present disclosure
  • 4 and 5 are diagrams for describing an electronic device according to an embodiment of the present disclosure.
  • 6 and 7 are flowcharts illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • first and second may be used to describe various components, but the components should not be limited by terms. The terms are used only to distinguish one component from other components.
  • module or “unit” performs at least one function or operation, and may be implemented in hardware or software, or a combination of hardware and software.
  • a plurality of “modules” or a plurality of “parts” are integrated into at least one module except for “modules” or “parts” that need to be implemented with specific hardware to be implemented with at least one processor (not shown). Can be.
  • FIG. 1 is a diagram illustrating a system including an electronic device according to various embodiments of the present disclosure.
  • the system 1000 includes an electronic device 100 and an external device 200.
  • the external electronic device 200 receives a user voice.
  • the external electronic device 200 may include a microphone.
  • the external electronic device 200 transmits the received user voice signal to the electronic device 100 and receives response information on the user voice signal from the electronic device 100.
  • the electronic device 100 may include a dialogue system capable of providing a response to a user's voice using an artificial intelligence model.
  • the electronic device 100 when receiving the user voice signal, the electronic device 100 performs pre-processing on the user voice signal, performs voice recognition on the user voice signal, and converts the user voice into text (Speech to Text, STT). , Based on the result of speech recognition, it is possible to grasp the intent and entity of the user's voice. Then, the electronic device 100 may acquire information for a response to the user's voice based on the result of understanding the natural language, for example, from a web server, and acquire natural language as the response information for the user's voice based on the obtained information. have. Then, the electronic device 100 may transmit response information to the external electronic device 200.
  • the electronic device 100 includes an automatic speech recognition (ASR) module, a natural language understanding (NLU) module, a dialogue management (DM) module, and natural language generation (NLG). ) May include a module.
  • ASR automatic speech recognition
  • NLU natural language understanding
  • DM dialogue management
  • NLG natural language generation
  • the electronic device 100 may include only some of the modules described above.
  • the electronic device 100 may include only an automatic speech recognition module and perform only a function of converting a user's voice into text (Speech to Text, STT).
  • the electronic device 100 may convert the user's voice into text, and then transmit the converted text to another electronic device (not shown) that performs natural language processing or the like.
  • the result of natural language processing may be received from another electronic device (not shown).
  • the electronic device 100 may generate a response to the user's voice and transmit it to the external electronic device 200. Also, the external electronic device 200 may provide a response to the user's voice.
  • the external electronic device 200 converts the received response information into voice through text to speech (TTS), and outputs it through the speaker of the external electronic device 200, or a user interface including the corresponding text ( User interface) may be displayed through the display of the external electronic device 200.
  • TTS text to speech
  • User interface a user interface including the corresponding text
  • the conversation system can provide a response to the user's voice, so that the user can perform a conversation with the external electronic device 200.
  • the electronic device 100 may store an AI agent for operating the conversation system.
  • the electronic device 100 may use an artificial intelligence agent to generate natural language in response to a user's voice.
  • the AI agent is a dedicated program for providing AI (Artificial Intelligence) based services (eg, voice recognition service, secretary service, translation service, search service, etc.), and is a conventional general-purpose processor (for example, CPU). Alternatively, it may be executed by a separate AI-only processor (eg, GPU, etc.).
  • AI agents can control various modules.
  • the external electronic device 200 provides a response to a user's voice, but this is only an example.
  • the external electronic device 200 may provide a response to a user voice through another external electronic device 300 connected to itself.
  • the external electronic device 200 may transmit the received response information to the external electronic device 300.
  • the external electronic device 300 may output the response to the user's voice through the speaker or display of the external electronic device 300 using the received response information.
  • the electronic device 100 is described as being implemented as a server, but this is only an example.
  • the electronic device 100 may receive a user voice and perform voice recognition on the received voice to provide a response to the user voice.
  • the electronic device 100 when the electronic device 100 receives a user voice, the user voice may be pre-processed and converted into a user voice signal. Thereafter, the electronic device 100 converts the user's voice into text using the automatic speech recognition module, analyzes the intention of the user's voice using the natural language understanding module, and generates a response to the user's voice through the natural language generation module can do. Then, the electronic device 100 may output the generated response and provide it to the user.
  • the electronic device 100 is illustrated as a TV in FIG. 1C, this is only an example, and the electronic device 100 may be implemented as various types of electronic devices.
  • the electronic device 100 may be implemented as a smart phone including a display, a speaker, a speaker, a monitor, an air conditioner, and a refrigerator.
  • the user voice is described as being received by the external electronic device 200, but this is only an example.
  • the external electronic device 200 may receive a user voice from a user voice obtained by a remote control device (eg, a remote control).
  • the remote control device (not shown) may include a microphone to receive user voice.
  • the remote control device that receives the user's voice converts the received user's voice (analog signal) to a digital signal, and converts the converted digital signal through wireless communication such as infrared communication, Bluetooth, and Wi-Fi. It can be transmitted to the external electronic device 200. That is, the remote control device (not shown) may include a communication unit (not shown) for performing communication with the external electronic device 200, and the external electronic device 200 also communicates with the remote control device to perform communication. It may be provided. At this time, the external electronic device 200 includes a communication unit (eg, a Bluetooth module) for communicating with a remote control device (not shown) and a communication unit (eg, Ethernet) for communicating with a server (not shown) or another electronic device (not shown).
  • a communication unit eg, a Bluetooth module
  • a communication unit eg, Ethernet
  • the electronic device 100 communicates with the remote control device 200, a server (not shown), and other electronic devices (not shown) using one communication unit including a Wi-Fi module. It might be.
  • the remote control device may be implemented as a remote controller, a mobile device such as a smartphone, a wearable device such as a smart watch, or a pointing device.
  • an application for controlling the external electronic device 200 may be installed on a remote control device (not shown) to control the external electronic device 200.
  • the electronic device 100 in order for the electronic device 100 to generate correct response information for the user's voice in that the degree of understanding of the natural language of the user's voice increases as the user's voice is completed, the user's voice needs to be in the completed form. have.
  • the electronic device 100 may determine whether the received user voice is completed.
  • the electronic device 100 generates a response to the user voice in response to whether the received user voice is determined based on the first model and the second model.
  • the first model is a model in which sentence patterns of a plurality of completed sentences are used as learning data
  • the second model is a model in which a plurality of completed sentences and intents corresponding to a plurality of completed sentences are used as learning data.
  • separate components for example, buttons
  • the first model and the second model using the sentence pattern of the completed sentence, the completed sentence, and the user's intention as learning data are used.
  • FIG. 2 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 includes a memory 110 and a processor 120.
  • the memory 110 is a component for storing various programs and data necessary for the operation of the electronic device 100.
  • the memory 110 may include an automatic speech recognition module, a natural language understanding module, a conversation management module, a natural language generation module, and a TTS module in order to speech-recognize a user voice signal received by the electronic device 100.
  • the memory 110 may store the first model and the second model.
  • the processor 120 may determine whether the first and second models are in a form in which the user's voice is completed. Detailed descriptions of these models will be described later with reference to FIG. 3.
  • the processor 120 may control the overall operation of the electronic device 100.
  • the processor 120 may perform voice recognition for the user voice and generate response information for the user voice based on the voice recognition result.
  • the processor 120 may perform voice recognition for the user voice to convert the user voice into text, and grasp the intention and entity of the user voice based on the voice recognition result. Then, based on the result of understanding the natural language, the processor 120 obtains information for the response of the user's voice, for example, from a web server or a search engine, and acquires natural language as response information for the user's voice based on the obtained information. can do.
  • the processor 120 may control the electronic device 100 to provide a response to the user's voice based on the response information.
  • the processor 120 transmits response information to an external electronic device (eg, the external electronic device 200 of FIGS. 1A and 1C), or transmits a response to a user voice based on the response information to the electronic device 100 ) Can be output through the speaker or display.
  • an external electronic device eg, the external electronic device 200 of FIGS. 1A and 1C
  • a response to a user voice based on the response information to the electronic device 100 Can be output through the speaker or display.
  • the processor 120 may determine whether the user's voice is completed, and generate response information for the user's voice based on the determination result.
  • the processor 120 determines whether the user voice is completed by using the first model and the second model stored in the memory 110, and based on the determination result, responds to the user voice. Can be created.
  • the processor 120 uses the user voice as input data of the first model and the second model to obtain information about whether the user voice is a completed sentence from the first model and the second model, respectively, and Based on the information obtained from the model and the second model, it may be determined whether the user's voice is completed.
  • the processor 120 may generate response information for the user voice, and provide a response for the user voice based on the generated response information.
  • the processor 120 performs voice recognition for the user's voice by using the voice input later with the previously input voice, instead of generating response information for the user voice And provide a response.
  • the processor 120 may provide response information requesting re-occurrence.
  • the electronic device 100 may determine whether the user's voice is completed and provide a response to the user's voice according to the determination result. Accordingly, the user's convenience can be improved in that the user does not have to speak the same sentence multiple times.
  • FIG. 3 is a block diagram illustrating in detail the configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 includes a memory 110, a processor 120, a communication unit 130, a display 140, a microphone 150, an audio output unit 160, and a user input unit 170 ).
  • the memory 110 may store various programs and data necessary for the operation of the electronic device 100.
  • the memory 110 may be implemented as a non-volatile memory, a volatile memory, a flash-memory, a hard disk drive (HDD) or a solid state drive (SSD).
  • the memory 110 is accessed by the processor 120, and data read / write / modify / delete / update may be performed by the processor 120.
  • the term memory is a memory card (not shown) mounted on a memory 110, a ROM (not shown), a RAM (not shown), or an electronic device 100 in the processor 120 (eg, micro SD) Card, memory stick).
  • the memory 110 may include various modules constituting a conversation system.
  • the memory 110 may include an automatic speech recognition module, a natural language understanding module, a conversation management module, a natural language generation module, and a TTS module.
  • the automatic voice recognition module 111 may perform voice recognition for the user's voice. Specifically, the automatic speech recognition module 111 may perform a speech to text (STT) function that converts the voice of the received user into text.
  • STT speech to text
  • the natural language understanding module 112 may grasp the meaning and intention of the user's voice based on the voice recognition result. To this end, the natural language understanding module 112 may convert atypical language data included in the user's voice into formal language data that the electronic device can understand through morpheme analysis, syntax analysis, and semantic understanding analysis.
  • the conversation management module may acquire information for providing a response to the user's voice based on the result of understanding the natural language, for example, from an external server.
  • the natural language generation module may acquire natural language as response information to the user's voice based on the acquired information.
  • the TTS module may convert the acquired natural language into speech.
  • each module is described as being stored in the memory 110 by software, but this is only an example, and it is needless to say that each module can be implemented by a hardware chip.
  • the memory 110 may include a first model 113 and a second model 114.
  • the first model 113 and the second model 114 may be artificial intelligence models learned by using information about the completed sentence as input data.
  • the first model 113 and the second model 114 may be models based on a neural network.
  • the first model 113 and the second model 114 may be designed to simulate a human brain structure on a computer, and may include a plurality of network nodes having weights, which simulate neurons of a human neural network. It can contain.
  • the plurality of network nodes may each form a connection relationship so that neurons simulate synaptic activity of neurons that send and receive signals through synapses.
  • the first model 113 and the second model 114 may include, for example, a neural network model or a deep-learning model developed from a neural network model.
  • a neural network model or a deep-learning model developed from a neural network model.
  • a plurality of network nodes may be located at different depths (or layers) and exchange data according to a convolution connection relationship.
  • the learned artificial intelligence model may include, but are not limited to, Deep Neural Network (DNN), Recurrent Neural Network (RNN), and Bidirectional Recurrent Deep Neural Network (BRDNN).
  • the first model 113 may be a model learned by using sentence patterns of a plurality of completed sentences as learning data.
  • the sentence shape may be determined based on the part of speech of at least one element constituting each of the plurality of completed sentences.
  • an element may include one or more words having a specific meaning in a sentence. For example, when the completed sentence is "Find out a romantic movie", the elements of the sentence may be “Find out", "romantic", or "movie”. In addition, when the completed sentence is "Find out a Tom Cruise's movie.”, The elements of the sentence may be 'Find out', 'Tom Cruise's', or 'movie'.
  • the sentence pattern of the completed sentence may be represented by part-of-speech tagging (POS tagging) for elements constituting the completed sentence.
  • POS tagging part-of-speech tagging
  • the part-of-speech notation means that the sentence is divided into elements, and the part's part-of-speech information, context, named entity, and element semantic information are tagged by considering the element's meaning and context. Can be.
  • the part-of-speech information represents information about the part-of-speech (eg, noun, adjective, verb, etc.) of the element included in the completed sentence
  • the context represents the device status to which the completed sentence including the element is applied
  • the individual name indicates a proper noun such as a person's name, a place name, and an organization name
  • the semantic information indicates the contextual meaning of the element.
  • the first model 113 learns based on the part-of-speech of at least one element constituting each of the plurality of completed sentences so as to determine whether the user's voice is completed according to the part-of-speech of the elements constituting the user's voice. Can be.
  • the first model 113 may be learned through the part-of-speech structure of at least one element constituting the completed sentence.
  • the first model 113 is "Find out a romantic movie.”, “Find out a Tom Cruise's movie.” It is assumed that a case is learned through a sentence in a completed form such as.
  • the first model 113 is "Find out a romantic movie.” You can learn by using "Find out [ADJ: VIDEO: NE: MOOD] [NOUN: VIDEO: NE: GENRE]", which represents the sentence pattern of "Find out a Tom Cruise's movie.”
  • ADJ in [ADJ: VIDEO: NE: MOOD] indicates that the part of speech of the element is an adjective, and 'VIDEO' indicates that the completed sentence containing the element can be used in a video search situation.
  • NOUN in [NOUN: VIDEO: NE: GENRE] indicates that the part's part of speech is a noun
  • VIDEO indicates that a completed sentence containing the element can be used in a video search situation
  • NE May indicate that the element may be an entity name
  • GENRE may indicate that the element may be a genre-related element. That is, in [NOUN: VIDEO: NE: GENRE], the element “movie” is a noun, can be used in a video search situation, can be an object name, and can be regarded as representing an element related to the genre.
  • the first model 113 is a sentence pattern such as "Find out a romantic movie.”, “Find out a Tom Cruise's movie.”, “Find out [ADJ: VIDEO: NE: MOOD] [NOUN: VIDEO: NE: GENRE], it can be learned that "find out” has a part-of-speech structure in which "adjective” and “noun” are sequentially arranged after "Find out”.
  • the first model 113 was described as learning by using a sentence form in which the part-of-speech notation is tagged only for some elements, not all elements of the completed sentence, but this is only an example.
  • the first model 113 may be learned through part-of-speech tagging on all elements of the completed sentence. For example, as in the above example, for “Find out a romantic movie.”, “Find out a Tom Cruise's movie.”, “[VERB: VIDEO: SEARCH] [ADJ: VIDEO: NE: MOOD] [NOUN : VIDEO: NE: GENRE] ". In this case, the first model 113 may learn that the “adjective” and the “noun” after the “verb” in the completed sentence have a part-of-speech structure that is sequentially arranged.
  • the first model 113 may be trained using learning data according to context.
  • the context may refer to a situation of a device to which a user voice is applied.
  • a device here, in the case of FIGS. 1A and 1B, the device may be the external electronic device 200, and in the case of FIG. 1C, the electronic device 100
  • the context When present, that is, when the user searches for video through voice, the context may correspond to a video search context.
  • the context when a user controls a device function (eg, changing a channel of a device or changing a volume, etc.) through voice, the context may include a device control context.
  • the video search context and the device control context are only examples, and it is needless to say that various contexts may exist depending on the situation of the device.
  • the first model 113 may be trained using sentence patterns of a plurality of completed sentences prepared according to context as learning data.
  • the first model 113 is trained on the video search context based on the sentence form of the completed sentence “Find out a romantic movie”. In the case of a video search context, it can be learned that the "adjective" and “noun” after "Find out” in the completed sentence have a part-of-speech structure that is sequentially arranged. In addition, the first model 113 is learned based on the sentence pattern of the completed sentence “turn down volume” for the device control context, and in the case of the device control context, “noun” is placed after “turn down” You can learn that it has a part-of-speech structure.
  • the first model 113 is for each context, and sentence patterns of the completed sentence You can also learn
  • the first model 113 can learn the sentence pattern of the completed sentence based on the part of speech of the elements constituting the various completed sentences.
  • the second model 114 may be a model learned by using a plurality of completed sentences (or corpus) and intentions associated with the plurality of completed sentences as learning data.
  • the second model 114 learns based on the part-of-speech of the elements constituting the completed sentence for each intention to determine whether the user's voice is completed according to the intention of the user's voice and the part of speech of the elements constituting the user's voice. Can be.
  • information on the intention included in the plurality of completed sentences may be obtained through the natural language understanding module 112.
  • the second model 114 uses the natural language understanding module 112, "Find out action movie.” Is an intention to search for action movies, and "Find out hero movie.” Is to search for hero movies. And "Find out Korean drama.” Is an intention to search Korean dramas, and "Find out American drama” is an intention to search American dramas.
  • the second model 114 may use the phrase 'Find out' A 'movie' and learn that an adjective or noun may be located in 'A'. That is, the second model 114 can learn that a sentence having the elements of [verb] [adjective or noun] [noun] can be used when the intention is to search for a movie.
  • the second model 114 may use the phrase 'Find out' A 'drama.', And learn that an adjective may be located at 'A'. That is, the second model 114 can learn that a sentence having elements of [verb] [adjective] [noun] can be used when it is intended to search for a drama.
  • the second model 114 establishes a criterion for determining whether the user's voice is a completed sentence.
  • the second model 114 may be trained using learning data according to context.
  • the second model 114 learns "Find out romantic movie.”, “Find out kids movie.”, “Find out hero movie.” By using it as data, it can be learned to have a criterion for determining whether the user's voice is complete.
  • the completed sentence form used in the 'video search' environment may be statistically '[verb] [adjective] [noun]', '[verb] [noun] [noun]', etc. , You can learn that the intention of the completed sentence is to find a drama or movie.
  • the memory 110 may include learning data 115.
  • the memory 110 may include sentence-type data of a completed sentence indicated by a part-of-speech notation to train the first model 113, and may include a completed sentence form for training the second model 114. It might be.
  • the learning data 115 may include sentence-type data of a sentence completed according to the context or a sentence completed, and the processor 120 determines whether the user's voice is completed according to the context using the first model and the second model. Can judge.
  • the learning data 115 may be updated. Specifically, the learning data 115 may be updated by reflecting the result determined for the input user voice.
  • the second model 114 is a user in the same form as 'Find out a kids animation'.
  • the criteria for determining that the voice is complete may not be established.
  • a criterion for determining that the sentence type 'Find out [NOUN: VIDEO: NE: MOOD] [NOUN: VIDEO: NE: GEMRE] is a completed sentence may be formed.
  • the first model 113 is the user voice It can be judged as complete. And, the learning data 115 may be updated based on the result of this determination. That is, 'Find out a kids animation' determined to be a completed form may be added to the learning data 115.
  • the intention of 'Find out a kids animation' is to search for children's animation, and the context of 'Find out a kids animation' can be determined to correspond to the context of 'video search', and accordingly The phrase 'Find out a kids animation' may be added to the context of 'video search'.
  • the second model 114 may be re-learned using the updated learning data 115.
  • the first model 113 may be retrained using the updated learning data 115.
  • the first model 113 or the second model 114 is re-learned using the updated learning data 115, the first model 113 or the first model 113 or the first model 113 is updated as the learning data 115 is updated.
  • the judgment criteria of the 2 model 114 may be more clear.
  • the learning data is illustrated as being stored in the memory 110, but this is only an example. That is, the learning data may be stored in a separate storage space in the electronic device 100 other than the memory 110, or may be stored in a separate electronic device (not shown) other than the electronic device 100.
  • the processor 120 is electrically connected to the memory 110 to control overall operations and functions of the electronic device 100.
  • the processor 120 may drive an operating system or an application program to control hardware or software components connected to the processor 120, and may perform various data processing and calculations.
  • the processor 120 may load and process instructions or data received from at least one of other components into a volatile memory, and store various data in a non-volatile memory.
  • the processor 120 executes a dedicated processor (eg, embedded processor) or one or more software programs stored in a memory device to perform the corresponding operation, and a general-purpose processor (eg, CPU or application) capable of performing the corresponding operations. processor).
  • a dedicated processor eg, embedded processor
  • a general-purpose processor eg, CPU or application
  • the processor 120 may determine whether the user's voice is completed by using the first model 113 and the second model 114.
  • the processor 120 uses the information obtained from the user's voice as input data of the first model 113 and the second model 114 to obtain information about whether the user's voice is a completed sentence or not. ) And the second model 114, respectively, and based on the information obtained from the first model 113 and the second model 114, it may be determined whether the user's voice is completed.
  • FIG. 4 is a diagram for explaining a method of determining whether the input user voice is completed when the user voice “Find out an action movie.” Is input.
  • the processor 120 may perform voice recognition for the user's voice to convert the user's voice into text, and determine the intention of the user's voice based on the text and the part of speech that constitutes the user's voice. have.
  • the processor 120 uses the automatic speech recognition module 111 and the natural language understanding module 112 to “Find out an action movie.” It can perform voice recognition for. As a result, the processor 120 converts the user voice “Find out an action movie.” Into the text “Find out an action movie.”, And the user voice received based on the text is' [verb] [noun] [noun ] ', And the user voice may obtain information that the intention to search for an action movie is included. In addition, the processor 120 may acquire a point that the context for the user voice is “video search” using the intention included in the user voice.
  • the processor 120 obtains a first output value corresponding to whether or not the sentence of the user's voice is completed by using the part of speech of the sentence component constituting the user's voice as input data of the first model 113, and the user's intention and the user's voice
  • the second output value corresponding to whether the user's voice is completed or not can be obtained by using the speech of the sentence component constituting the voice as input data of the second model. Then, the processor 120 may determine whether the user's voice is completed based on the first output value and the second output value.
  • the processor 120 determines whether the part-of-speech information of the user's voice matches the part-of-speech information included in the sentence pattern of the learned completed sentence by using the first model 113, and accordingly determines whether the user's voice is completed. Can be.
  • the first model 113 compares the result of learning the sentence pattern of the completed sentence with the part of speech of the elements constituting the user's voice, and outputs a first output value corresponding to whether the sentence of the user's voice is completed. .
  • the first model 113 has a criterion for determining that the form of the user voice is completed. Can be.
  • the first model 113 may have a criterion for determining that the user's voice is not completed.
  • the first model 113 has a criterion for determining whether the user's voice is in a completed form by matching the part-of-speech sequence included in the user's voice to the part-of-speech sequence of the learned completed sentence 1: 1. , A value of 1 or 0 may be output for the input user voice.
  • the first model 113 displays the user voice "Find out”
  • An action movie "can have a criterion that judges that the 'Find out [noun] [noun]', which is an arrangement of parts of speech, matches the" Find out [noun] [noun] "of the completed sentence.
  • the processor 120 may obtain a value of 1 indicating that the user's voice is completed from the first model 113.
  • the processor 120 may determine whether the part-of-speech information of the user's voice matches the part-of-speech information of the learned completed sentence using the second model 114, and accordingly may determine whether the user's voice is in a completed form.
  • the second model 114 may compare the result of learning the completed sentence with the part-of-speech of the elements constituting the user's voice, and output a second output value corresponding to whether the user's voice has completed the sentence. Since the second model 114 is a statistically trained model using a plurality of completed sentences as learning data, the second model 114 may output values between 0 and 1.
  • the second model 114 when it is learned that the second model 114 is highly likely to be in the form of a sentence including '[verb] [noun] [noun]' in the context of 'video search', the second model 114 is a user The 'find out' of the voice "Find out an action movie.” May match the [verb], and the 'action' and the 'movie' may have a criterion for determining to match [noun] and [noun], respectively. At this time, the second model 114 may output a value between 0 and 1 according to the determined possibility.
  • the processor 120 may determine whether the user's voice is completed based on the first output value and the second output value obtained from the first model 113 and the second model 114.
  • the processor 120 determines the user's voice as a completed form, and the first model 113 outputs 1 and the second model 114 does Assuming that 0.8 is output, 1.8, which is the sum of the first output value 1 of the first model 113 and the second output value 0.8 of the second model 114, is greater than 1.65. In this case, the processor 120 may determine that the user voice is completed.
  • the processor 120 may additionally perform exception processing after obtaining output values from the first and second models 113 and 114.
  • the processor 120 may determine that the user voice does not correspond to the completed form.
  • the exception sentences may be pre-stored in the memory 110, and the processor 120 may determine whether the user voice is a completed form by determining whether the user voice corresponds to the pre-stored exception sentence.
  • the processor 120 may determine whether the user's voice is completed by assigning different weights to the first model 113 and the second model 114.
  • the processor 120 applies a preset first weight to the first output value and applies a preset second weight to the second output value, so that the first output value and the second weight applied with the first weight are applied.
  • the second output value may be summed, and it may be determined whether the user's voice is completed based on the summed value.
  • the processor 120 may determine that the user voice is completed.
  • the processor 120 determines that the user's voice is completed when the sum of the first output value and the second output value is 1.65 or more, and the first model 113 outputs 1 and the second Assume that the model 114 outputs 0.8 when the bottom surface.
  • the processor 120 assigns a weight of 1.5 to the first model 113 and a weight of 2 to the second model 114 to obtain 1.5 as the first output value of the weighted first model 113
  • 1.6 may be obtained as a weight of the second model 114 to which the weight is applied.
  • the voice completion determination unit 122 may determine that the user's voice is complete.
  • the processor 120 may additionally perform exception processing even when different weights are assigned to the first and second models 113 and 114. That is, when the sum of the first output value by the first model and the second output value by the second model is greater than or equal to a preset threshold, and the user voice does not correspond to the preset exception sentence, the processor 120 It can be determined that the user's voice will be completed.
  • the processor 120 may determine whether the user's voice is completed by assigning different weights between the first model, the second model, and the exception processing rules.
  • the communication unit 130 is a component for the electronic device 100 to communicate with an external electronic device (not shown).
  • the electronic device 100 may receive a user voice signal from an external device through the communication unit 130.
  • the communication unit 130 may include various communication modules such as a wired communication module (not shown), a short-range wireless communication module (not shown), and a wireless communication module (not shown).
  • various communication modules such as a wired communication module (not shown), a short-range wireless communication module (not shown), and a wireless communication module (not shown).
  • the wired communication module is a module for performing communication with an external device (not shown) according to a wired communication method, such as wired Ethernet.
  • the short-range wireless communication module is a module for performing communication with an external device (not shown) located at a short distance according to a short-range wireless communication method such as Bluetooth (Bluetooth, BT), Bluetooth Low Energy (BLE), and ZigBee.
  • the wireless communication module is a module that is connected to an external network according to wireless communication protocols such as WiFi and IEEE to perform communication with an external device (not shown) and a voice recognition server (not shown).
  • the wireless communication module conforms to various mobile communication standards such as 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), and 5G Networks. It may further include a mobile communication module that performs communication by connecting to a mobile communication network.
  • the communication unit 130 may communicate with a remote control device (not shown) for controlling an external electronic device (not shown), as well as an external electronic device (not shown).
  • the communication unit 130 may transmit and receive various data by performing communication with a remote control device (not shown) according to a short range communication method such as Bluetooth or BLE.
  • a short range communication method such as Bluetooth or BLE.
  • the electronic device 100 may include an interface unit (not shown) for connecting with an external device (not shown) to exchange video / audio signals.
  • the interface part is a Display Port (DP), high definition multimedia interface (HDMI), consumer electronics control (HDMI-CEC), Red Green Blue (RGB) cable, Universal Serial Bus (USB), Digital Visual Interface (DVI), Thunderbold ( Thunderbolt), a component (Component), etc. can transmit / receive signals / data according to standards, and include at least one connector or terminal corresponding to each of these standards.
  • DP Display Port
  • HDMI high definition multimedia interface
  • HDMI-CEC consumer electronics control
  • RGB Red Green Blue
  • USB Universal Serial Bus
  • DVI Digital Visual Interface
  • Thunderbold Thunderbolt
  • Component a component
  • the display 140 may display image data processed by an image processing unit (not shown) on a display area (or display).
  • the display area may mean at least a part of the display 140 exposed on one surface of the housing of the electronic device 100. At least a portion of the display 140 may be coupled to at least one of a front region, a side region, and a rear region of the electronic device 100 in the form of a flexible display.
  • the flexible display may be characterized by being able to bend, bend, or roll without damage through a thin and flexible substrate like paper.
  • the microphone 150 may acquire first and second user voices.
  • the microphone 150 may generate a voice or sound received from the outside as an electrical signal.
  • the microphone is a microphone that collects the user voice in analog form, an amplifier circuit that amplifies the collected user voice, an A / D conversion circuit that samples the amplified user voice and converts it into a digital signal, and noise components from the converted digital signal It may include various configurations, such as a filter circuit to remove the.
  • Electrical signals generated by the microphone 150 may be transmitted to the process 120.
  • the processor 120 may perform speech recognition and natural language processing on the electrical voice signal received from the microphone 150 to determine the meaning and intention of the user's voice.
  • the microphone 150 may be provided inside the electronic device 100, but this is only an example, and may be provided externally by being electrically connected to the electronic device 100.
  • the audio output unit 160 is a component that outputs various notification sounds or voice messages as well as various audio data performed by various processing operations such as decoding, amplification, and noise filtering by the audio processing unit (not shown).
  • the configuration for outputting audio may be implemented as a speaker 160, but this is only an example, and may be implemented as an output terminal capable of outputting audio data.
  • the user input unit 170 may receive various user inputs and transmit them to the processor 120.
  • the user input unit 170 may include, for example, a touch panel, a (digital) pen sensor, or a key.
  • the touch panel for example, at least one of capacitive, pressure-sensitive, infrared, and ultrasonic methods may be used.
  • the touch panel may further include a control circuit.
  • the touch panel may further include a tactile layer to provide a tactile reaction to the user.
  • the (digital) pen sensor for example, may be part of the touch panel or may include a separate recognition sheet.
  • the key can include, for example, a physical button, an optical key, or a keypad.
  • the electronic device 100 at least some of the components of the electronic device 100 illustrated in FIG. 3 may be omitted.
  • the external electronic device 200 receives a user voice, and the response to the user voice is also a third external device ( 400, the display 140 of FIG. 3, the microphone 150, and the audio output unit 160 may be omitted.
  • FIG. 5 is a diagram for describing an electronic device according to an embodiment of the present disclosure.
  • FIG. 5 shows that when the electronic device 100 is connected to the external electronic device 200, when the user speaks, the processor 120 determines whether the user's voice is completed, and performs external electronic according to the determined result.
  • FIG. 5 shows that when the electronic device 100 is connected to the external electronic device 200, when the user speaks, the processor 120 determines whether the user's voice is completed, and performs external electronic according to the determined result.
  • the external electronic device 200 may receive a voice from a user.
  • the user voice may be directly input to the external electronic device 200 or may be input to the external electronic device 200 through another external electronic device (for example, a remote control).
  • the external electronic device 200 may display a UI for receiving a user voice. For example, as illustrated in FIG. 5, a text requesting user voice input may be displayed, or a picture such as a microphone may be displayed.
  • the external electronic device 200 receiving the user voice may preprocess the user voice to convert it into a user voice signal, and transmit the user voice signal to the electronic device 100 using a wireless communication module.
  • the electronic device 100 may determine whether the user's voice signal is completed using the first model 113 and the second model 114.
  • the external electronic device 200 may determine whether to perform an operation according to a user voice signal according to the determination result received from the electronic device 100.
  • the electronic device 100 may transmit the determination result to the external electronic device 200.
  • the external electronic device 200 may execute a control command corresponding to the user voice when receiving information indicating that the user voice has been completed from the electronic device 100. For example, the external electronic device 200 may perform a function of searching an action movie according to a user voice command.
  • the electronic device 100 uses the first model 113 and the second model 114 Therefore, it may be determined that the user's voice has not been completed.
  • the electronic device 100 may transmit a signal indicating that the user's voice has not been completed to the external electronic device 200, and the external electronic device 200 may input a user's voice according to the signal received from the electronic device 100.
  • the UI requesting can be continuously displayed. However, this is an embodiment, and the external electronic device 200 receiving the information whose user voice has not been completed from the electronic device 100 may inform the user that the user voice has not been completed.
  • the electronic device 100 determines that the user's voice additionally input after 'Find out' is a sentence connected to 'Find out', and the user input after 'Find out' It is possible to determine whether the user's voice including the voice and 'Find out' is a completed form.
  • the electronic device 100 determines whether the user's voice is completed, and performs an operation on the user's voice only when the user's voice is completed, thereby eliminating the inconvenience of the user having to complete the utterance within a predetermined condition or time. Can be.
  • FIG. 6 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 receives a user voice (S610).
  • the electronic device 100 may receive a user voice signal from the external electronic device 200 or may directly receive a user voice from the user.
  • the electronic device 100 determines whether the user's voice is completed using the first and second models (S620).
  • the first model may be a model using sentence patterns of a plurality of completed sentences as learning data.
  • the sentence pattern may be determined based on the part of speech of at least one element constituting each of the plurality of completed sentences, and the first model determines whether the user's speech is completed according to the part of speech of the elements constituting the user's voice. To determine, it may be a model that is learned based on the part of speech of at least one element.
  • the second model may be a model trained by using a plurality of completed sentences and intents included in the plurality of completed sentences as learning data.
  • the second model may be a model learned based on the part of speech of the elements constituting the sentence completed for each intention to determine whether the user's voice is completed according to the intention of the user's voice and the part of speech of the elements constituting the user's voice. have.
  • the first model and the second model may be learned using learning data according to context.
  • the electronic device 100 may determine whether the user's voice is completed according to the context using the first model and the second model.
  • the electronic device 100 may convert the user's voice into text, and obtain information about the intention of the user's voice and the part of speech included in the user's voice based on the text.
  • the electronic device 100 uses information obtained from the user's voice as input data of the first model and the second model to obtain information on whether the user's voice is a completed sentence from the first model and the second model, respectively. It can be acquired, and it is possible to determine whether the user's voice is completed based on information obtained from the first model and the second model, respectively.
  • the electronic device 100 determines that the user voice is completed based on the information obtained from the first model and the second model, respectively, and if the user voice does not correspond to a preset exception sentence, the user voice is completed. You can judge that.
  • the electronic device 100 generates a response to the user voice in response to the completion of the received user voice determined based on the first model and the second model (S630).
  • FIG. 7 is a flowchart illustrating a process of determining whether a user voice is completed by an electronic device according to an embodiment of the present invention.
  • the electronic device 100 may receive a user voice (S710) and perform voice recognition on the received user voice (S720).
  • the electronic device 100 may convert the user's voice into text, and determine the intention of the user's voice and the part-of-speech of the sentence component constituting the user's voice based on the text.
  • the electronic device 100 may obtain a first output value corresponding to whether the user's voice is completed using the first model 113 (S730). Specifically, the electronic device 100 may obtain a first output value corresponding to whether or not the sentence of the user voice is completed by using the part of speech of the sentence component constituting the user voice as input data of the first model 113.
  • the electronic device 100 may obtain a second output value corresponding to whether the user's voice is completed using the second model 114 (S740). Specifically, the electronic device 100 uses the intention of the user's voice and the part-of-speech of the sentence component constituting the user's voice as input data of the second model 114 to generate a second output value corresponding to whether the user's voice is completed or not. Can be obtained.
  • the electronic device 100 may determine whether the user's voice is completed based on the first output value and the second output value (S750).
  • the electronic device 100 applies a preset first weight to the first output value, applies a preset second weight to the second output value, and a first output value and a second weight to which the first weight is applied are applied.
  • the applied second output value may be summed, and it may be determined whether the user's voice is completed based on the summed value.
  • the electronic device 100 may determine that the user's voice is completed when the summed value is greater than or equal to a preset threshold and the user's voice does not correspond to the preset exception sentence.
  • embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
  • embodiments described in the present disclosure include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs) ), Processors, controllers, micro-controllers, microprocessors, and other electrical units for performing other functions.
  • ASICs application specific integrated circuits
  • DSPs digital signal processors
  • DSPDs digital signal processing devices
  • PLDs programmable logic devices
  • FPGAs field programmable gate arrays
  • Processors controllers, micro-controllers, microprocessors, and other electrical units for performing other functions.
  • the embodiments described herein may be implemented by the processor 120 itself.
  • embodiments such as procedures and functions described herein may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described here
  • computer instructions for performing a processing operation in an electronic device may be stored in a non-transitory computer-readable medium.
  • the computer instructions stored in the non-transitory computer-readable medium allow the specific device to perform processing operations in the electronic device according to the above-described various embodiments when executed by a processor of the specific device.

Landscapes

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

Abstract

본 개시에서는 전자 장치 및 그 제어 방법이 제공된다. 본 개시의 전자 장치는, 제1 모델 및 제2 모델이 저장된 메모리 및 사용자 음성이 수신되면, 제1 모델 및 제2 모델을 기초로 판단된 수신된 사용자 음성의 완결 여부에 대응하여 사용자 음성에 대한 응답을 생성하는 프로세서를 포함한다. 여기에서, 제1 모델은, 복수의 완결된 문장의 문형을 학습 데이터로 한 모델이고, 제2 모델은, 복수의 완결된 문장 및 상기 복수의 완결된 문장과 대응된 의도(intent)를 학습 데이터로 한 모델이다. 특히, 제1 모델 및 제2 모델은 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공지능 모델일 수 있다.

Description

전자 장치 및 그 제어 방법
본 개시는 전자 장치 및 그 제어 방법으로, 더욱 상세하게는 수신한 사용자의 음성의 완결 여부를 판단하는 전자 장치 및 그 제어 방법에 관한 발명이다.
음성인식기술이 발전함에 따라, 음성인식기술을 탑재한 전자 장치들이 증가하고 있다. 음성인식기술을 탑재한 전자 장치는 사용자가 발화한 음성명령을 입력으로 받아 사용자의 음성에 따른 기능을 실행한다.
전자 장치가 사용자의 음성에 따른 기능을 제대로 수행하기 위하여, 전자 장치는 완결된 사용자 음성을 수신하여야 한다.
종래에는 완결된 사용자 음성을 수신하기 위하여, 사용자가 전자 장치의 버튼을 누른 상태에서 발화를 하는 버튼 릴리즈(Button Release) 방식, 일정 시간 동안 사용자의 발화가 없으면 발화가 완료된 것으로 판단하는 타임아웃(Timeout) 방식 등이 사용되었다.
이러한 종래 방식의 경우, 사용자가 발화를 하면서 버튼을 놓치거나, 사용자가 잠시 발화를 멈춰 기설정된 일정 시간 동안 완결된 형태의 발화가 입력되지 않은 경우, 전자 장치는 사용자가 버튼을 놓치기 전까지 또는 기설정된 일정 시간 동안 입력된 발화에 대하여 음성 인식을 수행한다. 이러한 경우 실제로 사용자는 완결된 발화를 하지 않았기 때문에 음성 인식 결과는 오류가 날 가능성이 높으며, 사용자는 다시 동일한 발화를 하여야 하는 번거로움이 있다.
본 개시는 상술한 문제점에서 도출된 것으로, 본 개시의 목적은 사용자가 발화한 음성의 의미를 기초로 사용자의 음성이 완결되었는지 판단하는 전자 장치 및 그 제어 방법을 제공함에 있다.
본 개시의 일 실시 예에 따른 전자 장치는, 제1 모델 및 제2 모델이 저장된 메모리; 및 상기 제1 모델 및 제2 모델을 기초로 판단된 수신된 사용자 음성의 완결 여부에 대응하여 상기 사용자 음성에 대한 응답을 생성하는 프로세서;를 포함하며, 상기 제1 모델은, 복수의 완결된 문장의 문형을 학습 데이터로 한 학습된 모델이고, 상기 제2 모델은, 복수의 완결된 문장 및 상기 복수의 완결된 문장과 대응된 의도(intent)를 학습 데이터로 한 이용하여 학습된 모델인, 전자 장치이다.
여기에서, 상기 문형은, 상기 복수의 완결된 문장 각각을 구성하는 적어도 하나의 요소(element)의 품사에 기초하여 결정될 수 있으며, 상기 제1 모델은, 상기 사용자 음성을 구성하는 요소의 품사에 따라 상기 사용자 음성의 완결 여부를 판단하도록, 상기 적어도 하나의 요소의 품사에 기초하여 학습되는 모델일 수 있다.
그리고, 상기 제2 모델은, 상기 사용자 음성의 의도 및 상기 사용자 음성을 구성하는 요소의 품사에 따라 상기 사용자 음성의 완결 여부를 판단하도록, 상기 의도 별로 완결된 문장을 구성하는 요소의 품사에 기초하여 학습되는 모델일 수 있다.
또한, 상기 제1 모델 및 제2 모델은, 컨텍스트(context)에 따라 상기 학습 데이터를 이용하여 학습될 수 있으며, 상기 프로세서는, 상기 제1 모델 및 제2 모델을 이용하여 상기 컨텍스트에 따라 상기 사용자 음성의 완결 여부를 판단할 수 있다.
그리고, 상기 프로세서는, 상기 사용자 음성으로부터 획득한 정보를 상기 제1 모델 및 제2 모델의 입력 데이터로서 이용하여 상기 사용자 음성이 완결된 문장인지에 대한 정보를 상기 제1 모델 및 제2 모델로부터 각각 획득하고, 상기 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 상기 사용자 음성의 완결 여부를 판단할 수 있다.
여기에서, 상기 프로세서는, 상기 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 상기 사용자 음성이 완결된 문장인 것으로 판단되고 상기 사용자 음성이 기설정된 예외 문장에 해당하지 않는 경우, 상기 사용자 음성이 완결된 것으로 판단할 수 있다.
또한, 상기 프로세서는, 상기 사용자 음성을 텍스트로 변환하고, 상기 텍스트에 기초하여 상기 사용자 음성의 의도 및 상기 사용자 음성을 구성하는 요소의 품사에 대한 정보를 획득할 수 있다.
여기에서, 상기 프로세서는, 상기 사용자 음성을 구성하는 문장 성분의 품사를 상기 제1 모델의 입력 데이터로 사용하여 상기 사용자 음성의 문장 완결 여부에 대응되는 제1 출력 값을 획득하고, 상기 사용자 음성의 의도 및 상기 사용자 음성을 구성하는 문장 성분의 품사를 상기 제2 모델의 입력 데이터로 사용하여 상기 사용자 음성의 문장 완결 여부에 대응되는 제2 출력 값을 획득하고, 상기 제1 출력 값 및 제2 출력 값에 기초하여 상기 사용자 음성의 완결 여부를 판단할 수 있다.
그리고, 상기 프로세서는, 상기 제1 출력 값에 기설정된 제1 가중치를 적용하고 상기 제2 출력 값에 기설정된 제2 가중치를 적용하고, 상기 제1 가중치가 적용된 상기 제1 출력 값 및 상기 제2 가중치가 적용된 상기 제2 출력 값을 합산하고, 상기 합산된 값에 기초하여 상기 사용자 음성의 완결 여부를 판단할 수 있다.
또한, 상기 프로세서는, 상기 합산된 값이 기설정된 값 이상이고, 상기 사용자 음성이 기설정된 문장에 미 해당시, 상기 사용자 음성이 완결된 형태인 것으로 판단할 수 있다.
한편, 본 발명의 일 실시예에 따른 전자 장치의 제어 방법은, 사용자 음성을 수신하는 단계;, 제1 및 제2 모델을 이용하여 상기 사용자 음성의 완결 여부를 판단하는 단계; 및 상기 제1 모델 및 제2 모델을 기초로 판단된 수신된 사용자 음성의 완결 여부에 대응하여 상기 사용자 음성에 대한 응답을 제공하는 단계;를 포함한다.
여기에서, 상기 제1 모델은, 복수의 완결된 문장의 문형을 학습 데이터로 한 모델이고, 상기 제2 모델은, 복수의 완결된 문장 및 상기 복수의 완결된 문장 및 상기 복수의 완결된 문장과 대응된 의도(intent)를 학습 데이터로서 이용하여 학습된 모델이다.
그리고, 상기 문형은, 상기 복수의 완결된 문장 각각을 구성하는 적어도 하나의 요소(element)의 품사에 기초하여 결정될 수 있으며, 상기 제1 모델은, 상기 사용자 음성을 구성하는 요소의 품사에 따라 상기 사용자 음성의 완결 여부를 판단하도록, 상기 적어도 하나의 요소의 품사에 기초하여 학습되는 모델일 수 있다.
여기에서, 상기 제2 모델은, 상기 사용자 음성의 의도 및 상기 사용자 음성을 구성하는 요소의 품사에 따라 상기 사용자 음성의 완결 여부를 판단하도록, 상기 의도 별로 완결된 문장을 구성하는 요소의 품사에 기초하여 학습되는 모델일 수 있다.
또한, 상기 제1 모델 및 제2 모델은, 컨텍스트(context)에 따라 상기 학습 데이터를 이용하여 학습될 수 있으며, 상기 판단하는 단계는, 상기 제1 모델 및 제2 모델을 이용하여 상기 컨텍스트에 따라 상기 사용자 음성의 완결 여부를 판단할 수 있다.
그리고, 상기 사용자 음성으로부터 획득한 정보를 상기 제1 모델 및 제2 모델의 입력 데이터로서 이용하여 상기 사용자 음성이 완결된 문장인지에 대한 정보를 획득하는 단계;를 더 포함할 수 있고,상기 판단하는 단계는, 상기 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 상기 사용자 음성의 완결 여부를 판단할 수 있다.
또한, 상기 판단하는 단계는, 상기 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 상기 사용자 음성이 완결된 형태인 것으로 판단되고 상기 사용자 음성이 기설정된 예외 문장에 해당하지 않는 경우, 상기 사용자 음성이 완결된 것으로 판단할 수 있다.
그리고, 상기 제어 방법은 상기 사용자 음성을 텍스트로 변환하고, 상기 텍스트에 기초하여 상기 사용자 음성의 의도 및 상기 사용자 음성의 구성 요소의 품사에 대한 정보를 획득하는 단계를 더 포함할 수 있다.
또한, 상기 판단하는 단계는, 상기 사용자 음성을 구성하는 문장 성분의 품사를 상기 제1 모델의 입력 데이터로 사용하여 상기 사용자 음성의 문장 완결 여부에 대응되는 제1 출력 값을 획득하고, 상기 사용자 음성의 의도 및 상기 사용자 음성을 구성하는 문장 성분의 품사를 상기 제2 모델의 입력 데이터로 사용하여 상기 사용자 음성의 문장 완결 여부에 대응되는 제2 출력 값을 획득하고, 상기 제1 출력 값 및 제2 출력 값에 기초하여 상기 사용자 음성의 완결 여부를 판단할 수 있다.
그리고, 상기 판단하는 단계는, 상기 제1 출력 값에 기설정된 제1 가중치를 적용하고 상기 제2 출력 값에 기설정된 제2 가중치를 적용하고, 상기 제1 가중치가 적용된 상기 제1 출력 값 및 상기 제2 가중치가 적용된 상기 제2 출력 값을 합산하고, 상기 합산된 값에 기초하여 상기 사용자 음성의 완결 여부를 판단할 수 있다.
여기에서, 상기 판단하는 단계는, 상기 합산된 값이 기설정된 값 이상이고, 상기 사용자 음성이 기설정된 문장에 미 해당시, 상기 사용자 음성이 완결된 것으로 판단할 수 있다.
상술한 바와 같은 본 발명의 다양한 실시 예에 의하면, 사용자가 발화한 음성의 의미를 기초로 사용자의 음성이 아직 완료되지 않았음을 판단함으로써, 사용자는 이전에 발화한 내용을 다시 반복하여 발화하지 않게 되며, 따라서 사용자의 편의성이 향상된다.
도 1은 본 개시의 다양한 실시예에 따른 전자 장치를 포함하는 시스템을 도시한 도면,
도 2는 본 개시의 일 실시예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 3은 본 개시의 일 실시예에 따른 전자 장치의 구성을 상세히 설명하기 위한 블록도,
도 4 및 도 5는 본 개시의 일 실시예에 따른 전자 장치를 설명하기 위한 도면 및
도 6 및 도 7은 본 개시의 일 실시예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
-
본 개시에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 도면을 참조하면 본 개시의 다양한 실시 예들에 대하여 구체적으로 설명하도록 한다.
도 1은 본 개시의 다양한 실시 예에 따른 전자 장치를 포함하는 시스템을 도시한 도면이다.
도 1에 도시된 바와 같이, 시스템(1000)은 전자 장치(100) 및 외부 장치(200)를 포함한다.
외부 전자 장치(200)는 사용자 음성을 수신한다. 이를 위하여 외부 전자 장치(200)는 마이크를 포함할 수 있다. 외부 전자 장치(200)는 사용자 음성 신호를 수신하면, 수신된 사용자 음성 신호를 전자 장치(100)에 전송하고, 전자 장치(100)로부터 사용자 음성 신호에 대한 응답 정보를 수신한다.
이를 위하여 전자 장치(100)는 인공지능 모델을 이용하여 사용자 음성에 대한 응답을 제공할 수 있는 대화 시스템(Dialogue System)을 포함할 수 있다.
구체적으로, 전자 장치(100)는 사용자 음성 신호를 수신하면, 사용자 음성 신호에 대한 전처리를 수행하고, 사용자 음성 신호에 대한 음성 인식을 수행하여 사용자 음성을 텍스트로 변환(Speech to Text, STT)하고, 음성 인식 결과에 기초하여 사용자 음성의 의도(intent) 및 엔티티(entity)를 파악할 수 있다. 그리고, 전자 장치(100)는 자연어 이해 결과에 기초하여 사용자 음성에 대한 응답을 위한 정보를 가령, 웹 서버 등으로부터 획득하고, 획득된 정보에 기초하여 사용자 음성에 대한 응답 정보로서 자연어를 획득할 수 있다. 그리고, 전자 장치(100)는 응답 정보를 외부 전자 장치(200)로 전송할 수 있다.
이를 위해, 전자 장치(100)는 자동 음성 인식(Automatic Speech Recognition, ASR) 모듈, 자연어 이해(Natural Language Understanding, NLU) 모듈, 대화 관리(Dialogue Management, DM) 모듈, 자연어 생성(Natural Language Generation, NLG) 모듈 등을 포함할 수 있다.
한편, 전자 장치(100)는 상술한 모듈들 중 일부만을 포함할 수도 있다. 가령, 전자 장치(100)는 자동 음성 인식 모듈만을 포함하여 사용자 음성을 텍스트로 변환(Speech to Text, STT)하는 기능만을 수행할 수 있다. 이 경우, 전자 장치(100)는 사용자 음성을 텍스트로 변환한 후, 변환된 텍스트를 자연어 처리 등을 수행하는 다른 전자 장치(미도시)에 전송할 수 있다. 그리고, 다른 전자 장치(미도시)로부터 자연어 처리 결과를 수신할 수도 있다.
전자 장치(100)는 사용자 음성에 대한 응답을 생성하고, 이를 외부 전자 장치(200)에 전송할 수 있다. 그리고, 외부 전자 장치(200)는 사용자 음성에 대한 응답을 제공할 수 있다.
예를 들어, 외부 전자 장치(200)는 TTS(Text to Speech)를 통해, 수신된 응답 정보를 음성으로 변환하여 외부 전자 장치(200)의 스피커를 통해 출력하거나 또는 해당 텍스트를 포함하는 유저 인터페이스(User interface)를 외부 전자 장치(200)의 디스플레이를 통해 표시할 수 있다.
이에 의해, 대화 시스템은 사용자 음성에 대한 응답을 제공할 수 있게 되어, 사용자는 외부 전자 장치(200)와 대화를 수행할 수 있게 된다.
한편, 전자 장치(100)는 대화 시스템을 동작하기 위한 인공지능 에이전트를 저장할 수 있다. 구체적으로, 전자 장치(100)는 사용자 음성에 대한 응답으로 자연어를 생성하기 위하여 인공지능 에이전트를 이용할 수 있다. 인공지능 에이전트는 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다. 특히, 인공지능 에이전트는 다양한 모듈을 제어할 수 있다.
한편, 도 1a에서는 외부 전자 장치(200)가 사용자 음성에 대한 응답을 제공하는 것으로 설명하였으나, 이는 일 예일 뿐이다.
즉, 도 1b와 같이, 외부 전자 장치(200)는 자신과 연결된 다른 외부 전자 장치(300)를 통해 사용자 음성에 대한 응답을 제공할 수도 있다.
구체적으로, 외부 전자 장치(200)는 전자 장치(100)로부터 응답 정보를 수신하면, 수신된 응답 정보를 외부 전자 장치(300)에 전송할 수 있다.
이에 따라, 외부 전자 장치(300)는 수신된 응답 정보를 이용하여, 사용자 음성에 대한 응답을 외부 전자 장치(300)의 스피커 또는 디스플레이를 통해 출력할 수 있다.
한편, 도 1a 및 도 1b에서는 전자 장치(100)가 서버로 구현되는 것으로 설명하였으나, 이는 일 예에 불과하다.
즉, 도 1c와 같이, 전자 장치(100)는 사용자 음성을 수신하고, 수신된 음성에 대한 음성 인식을 수행하여, 사용자 음성에 대한 응답을 제공할 수도 있다.
즉, 전자 장치(100)가 사용자 음성을 수신하면, 사용자 음성을 전처리 하여 사용자 음성 신호로 변환할 수 있다. 그 후, 전자 장치(100)는 자동 음성 인식 모듈을 이용하여 사용자 음성을 텍스트로 변환하고, 자연어 이해 모듈을 이용하여 사용자 음성의 의도를 분석하며, 자연어 생성 모듈을 통하여 사용자 음성에 대한 응답을 생성할 수 있다. 그리고, 전자 장치(100)는 생성된 응답을 출력하여 사용자에게 제공할 수 있다.
한편, 도 1c에는 전자 장치(100)가 TV인 것으로 도시되어 있으나, 이는 일 예에 불과하고, 전자 장치(100)는 다양한 유형의 전자 장치로 구현될 수 있음은 물론이다. 예를 들어, 전자 장치(100)는 디스플레이, 스피커 등을 포함하는 스마트폰, 스피커, 모니터, 에어컨, 냉장고 등으로 구현될 수 있음은 물론이다.
또한, 도 1a 내지 도 1c에서 사용자 음성은 외부 전자 장치(200)가 수신하는 것으로 설명하였으나, 이는 일 예에 불과하다. 예를 들어, 외부 전자 장치(200)는 원격 제어 장치(가령, 리모컨 등)가 획득한 사용자 음성을 사용자 음성을 수신할 수도 있다. 이 경우, 원격 제어 장치(미도시)는 사용자 음성을 수신하기 위하여 마이크를 포함할 수 있다.
사용자 음성을 수신한 원격 제어 장치(미도시)는 수신된 사용자 음성(아날로그 신호)을 디지털 신호로 변환하고, 변환된 디지털 신호를 적외선 통신, 블루투스(Bluetooth), Wi-Fi 등의 무선 통신을 통하여 외부 전자 장치(200)에 전송할 수 있다. 즉, 원격 제어 장치(미도시)는 외부 전자 장치(200)와 통신을 수행하기 위한 통신부(미도시)를 구비할 수 있으며, 외부 전자 장치(200) 또한 원격 제어 장치와 통신을 수행하기 위하여 통신부를 구비할 수 있다. 이때, 외부 전자 장치(200)는 원격 제어 장치(미도시)와 통신하기 위한 통신부(가령, 블루투스 모듈) 및 서버(미도시)나 다른 전자 장치(미도시)와 통신하기 위한 통신부(가령, 이더넷(Ethernet) 모뎀, Wi-Fi 모듈 등) 등 복수의 통신부를 포함할 수 있다. 다만, 이는 일 실시예이며, 전자 장치(100)는 Wi-Fi 모듈을 포함하는 하나의 통신부를 이용하여 원격 제어 장치(200), 서버(미도시) 및 다른 전자 장치(미도시)와 통신할 수도 있다.
원격 제어 장치(미도시)는 리모트 컨트롤러, 스마트폰과 같은 모바일 디바이스, 스마트 워치와 같은 웨어러블 디바이스, 포인팅 디바이스 등으로 구현될 수 있다. 특히, 원격 제어 장치(미도시)에는 외부 전자 장치(200)를 제어하기 위한 어플리케이션이 설치되어 외부 전자 장치(200)를 제어할 수도 있다.
한편, 사용자 음성이 완결된 형태일수록, 사용자 음성에 대한 자연어 이해 정도가 높아진다는 점에서, 전자 장치(100)가 사용자 음성에 대한 올바른 응답 정보를 생성하기 위해서는, 사용자 음성이 완결된 형태일 필요가 있다.
이를 위해, 본 개시의 일 실시 예에 따른 전자 장치(100)는 수신된 사용자 음성의 완결 여부를 판단할 수 있다.
구체적으로, 전자 장치(100)는 제1 모델 및 제2 모델을 기초로 판단된 수신된 사용자 음성의 완결 여부에 대응하여 사용자 음성에 대한 응답을 생성한다. 이때, 제1 모델은 복수의 완결된 문장의 문형을 학습데이터로 한 모델이고, 제2 모델은 복수의 완결된 문장 및 복수의 완결된 문장과 대응된 의도(intent)를 학습 데이터로 한 모델이다.
이에 따라, 본 개시의 다양한 실시 예에 따르면, 완결된 문장의 문형, 완결된 문장 및 사용자의 의도를 학습데이터로 이용하는 제1 모델 및 제2 모델을 이용한다는 점에서, 별도의 구성요소(가령 버튼, 타이머 등) 없이 사용자의 음성의 문형 또는 사용자 의도만으로 사용자 음성이 완결되었는지 판단할 수 있고, 이에 따라, 사용자 음성에 대한 적절한 응답 정보를 제공할 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 2에 도시된 바와 같이, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터 등을 저장하기 위한 구성요소이다.
메모리(110)는, 전자 장치(100)가 수신한 사용자 음성 신호를 음성 인식 하기 위하여, 자동 음성 인식 모듈, 자연어 이해 모듈, 대화 관리 모듈, 자연어 생성 모듈 및 TTS 모듈 등을 포함할 수 있다.
그리고, 메모리(110)는 제1 모델 및 제2 모델을 저장할 수 있다.
이 경우, 프로세서(120)는 제1 및 제2 모델을 사용자 음성이 완결된 형태인지 여부를 판단할 수 있는데, 이러한 모델에 대한 구체적인 설명은 도 3과 함께 후술하도록 한다.
프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어할 수 있다.
구체적으로, 프로세서(120)는 사용자 음성에 대한 음성 인식을 수행하고, 음성 인식 결과에 기초하여 사용자 음성에 대한 응답 정보를 생성할 수 있다.
이 경우, 프로세서(120)는 사용자 음성이 수신되면, 사용자 음성에 대한 음성 인식을 수행하여 사용자 음성을 텍스트로 변환하고, 음성 인식 결과에 기초하여 사용자 음성의 의도 및 엔티티를 파악할 수 있다. 그리고, 프로세서(120)는 자연어 이해 결과에 기초하여, 사용자 음성의 응답을 위한 정보를 가령, 웹 서버 또는 검색 엔진 등으로부터 획득하고, 획득된 정보에 기초하여 사용자 음성에 대한 응답 정보로서 자연어를 획득할 수 있다.
그리고, 프로세서(120)는 응답 정보에 기초하여 사용자 음성에 대한 응답이 제공되도록 전자 장치(100)를 제어할 수 있다.
구체적으로, 프로세서(120)는 응답 정보를 외부 전자 장치(가령, 도 1a 및 도 1c의 외부 전자 장치(200))로 전송하거나, 또는, 응답 정보에 기초한 사용자 음성에 대한 응답을 전자 장치(100)의 스피커 또는 디스플레이를 통해 출력할 수 있다.
한편, 프로세서(120)는 사용자 음성의 완결 여부를 판단하고, 판단 결과에 기초하여 사용자 음성에 대한 응답 정보를 생성할 수도 있다.
구체적으로, 프로세서(120)는 사용자 음성이 수신되면 메모리(110)에 저장된 제1 모델 및 제2 모델을 이용하여 사용자 음성의 완결 여부를 판단하고, 판단 결과에 기초하여 사용자 음성에 대한 응답 정보를 생성할 수 있다.
이 경우, 프로세서(120)는 사용자 음성을 제1 모델 및 제2 모델의 입력 데이터로서 사용하여, 사용자 음성이 완결된 문장인지에 대한 정보를 제1 모델 및 제2 모델로부터 각각 획득하고, 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 사용자 음성의 완결 여부를 판단할 수 있다.
이에 따라, 프로세서(120)는 사용자 음성이 완결된 경우, 사용자 음성에 대한 응답 정보를 생성하고, 생성된 응답 정보에 기초하여 사용자 음성에 대한 응답을 제공할 수 있다.
그러나, 프로세서(120)는 사용자 음성이 완결되지 않은 경우, 사용자 음성에 대한 응답 정보를 생성하는 대신, 이후에 입력되는 음성을 이전에 입력된 음성과 함께 이용하여, 사용자 음성에 대한 음성 인식을 수행하고, 그에 대한 응답을 제공할 수 있다. 또한, 사용자 음성이 완결된 형태에 해당하지 않는 경우, 프로세서(120)는 재발화를 요청하는 응답 정보를 제공할 수도 있다.
이와 같이, 본 발명의 일 실시 예에 따르면, 전자 장치(100)는 사용자 음성의 완결 여부를 판단하고, 판단 결과에 따라 사용자 음성에 대한 응답을 제공할 수 있다. 이에 따라, 사용자는 동일한 문장을 여러 번 발화하지 않아도 된다는 점에서 사용자의 편의성이 향상될 수 있다.
한편, 이하에서는 도 3을 참조하여, 사용자 음성의 완결 여부를 판단하는 방법에 대해 보다 구체적으로 설명하도록 한다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 상세히 도시한 블록도이다.
도 3에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 프로세서(120), 통신부(130), 디스플레이(140), 마이크(150), 오디오 출력부(160), 사용자 입력부(170)를 포함할 수 있다.
메모리(110)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다.
이를 위해, 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(120) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
구체적으로, 메모리(110)는 대화 시스템을 구성하는 다양한 모듈을 포함할 수 있다. 예를 들어, 메모리(110)는 자동 음성 인식 모듈, 자연어 이해 모듈, 대화 관리 모듈, 자연어 생성 모듈 및 TTS 모듈 등을 포함할 수 있다.
자동 음성 인식 모듈(111)은 사용자의 음성에 대한 음성 인식을 수행할 수 있다. 구체적으로, 자동 음성 인식 모듈(111)은 수신된 사용자의 음성을 텍스트로 변환하는 STT(Speech to Text) 기능을 수행할 수 있다.
자연어 이해 모듈(112)은 음성 인식 결과를 바탕으로 사용자 음성의 의미 및 의도를 파악할 수 있다. 이를 위해, 자연어 이해 모듈(112)은 형태소 분석, 구문 분석, 의미 이해 분석 등을 통하여 사용자 음성에 포함된 비정형적인 언어 데이터를 전자 장치가 이해할 수 있는 정형적인 언어 데이터로 변환할 수 있다.
대화 관리 모듈(미도시)은 자연어 이해 결과를 바탕으로 사용자 음성에 대한 응답을 제공하기 위한 정보를 가령, 외부 서버 등으로부터 획득할 수 있다. 그리고, 자연어 생성 모듈은 획득된 정보에 기초하여 사용자 음성에 대한 응답 정보로서, 자연어를 획득할 수 있다.
그리고, TTS 모듈(미도시)은 획득된 자연어를 음성으로 변환할 수 있다.
한편, 전술한 예에서는 모듈들이 소프트웨어로 메모리(110)에 저장된 것으로 설명하였으나, 이는 일 예에 불과하고, 각 모듈들은 하드웨어 칩으로 구현될 수 있음은 물론이다.
또한, 메모리(110)는 제1 모델(113) 및 제2 모델(114)를 포함할 수 있다. 여기에서, 제1 모델(113) 및 제2 모델(114)은 완결된 문장에 대한 정보를 입력 데이터로 사용하여 학습된 인공지능 모델일 수 있다.
예를 들어, 제1 모델(113) 및 제2 모델(114)는 신경망(Neural Network)을 기반으로 하는 모델일 수 있다.
구체적으로, 제1 모델(113) 및 제2 모델(114)은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 뉴런의 시냅팁(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다.
또한, 제1 모델(113) 및 제2 모델(114)은 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥러닝(deep-learning) 모델을 포함할 수 있다. 딥러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 학습된 인공지능 모델의 예에는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 등이 있을 수 있으나 이에 한정되지 않는다.
먼저, 제1 모델(113)은 복수의 완결된 문장의 문형을 학습 데이터로서 이용하여 학습된 모델일 수 있다. 문형은 복수의 완결된 문장 각각을 구성하는 적어도 하나의 요소의 품사에 기초하여 결정될 수 있다. 여기에서, 요소는 문장에서 특정한 의미를 갖는 하나 또는 그 이상의 단어를 포함할 수 있다. 예를 들어, 완결된 문장이 "Find out a romantic movie"의 경우, 해당 문장의 요소는 "Find out", "romantic", "movie"가 될 수 있다. 또한, 완결된 문장이 "Find out a Tom Cruise's movie."인 경우, 문장의 요소는 'Find out', 'Tom Cruise's', 'movie'가 될 수 있다.
이 경우, 완결된 문장의 문형은 완결된 문장을 구성하는 요소에 대한 품사 표기(Part-of-speech tagging, POS tagging)에 의해 나타낼 수 있다. 즉, 품사 표기는 문장을 요소 단위로 구분하고, 요소의 뜻과 문맥을 고려하여 각 요소의 품사 정보, 컨텍스트(context), 개체명(named entity), 요소의 의미 정보 등을 태깅하는 것을 의미할 수 있다.
이때, 요소의 품사 정보는 완결된 문장에 포함되는 요소의 품사(가령, 명사, 형용사, 동사 등)에 관한 정보를 나타내고, 컨텍스트는 요소를 포함하는 완결된 문장이 적용되는 디바이스의 상황을 나타내며, 개체명은 인명, 지명, 기관명 등과 같은 고유명사를 나타내고, 의미 정보는 요소의 문맥적 의미를 나타낸다.
이 경우, 제1 모델(113)은 사용자 음성을 구성하는 요소의 품사에 따라 사용자 음성의 완결 여부를 판단할 수 있도록, 복수의 완결된 문장 각각을 구성하는 적어도 하나의 요소의 품사에 기초하여 학습될 수 있다.
구체적으로, 제1 모델(113)은 완결된 문장을 구성하는 적어도 하나의 요소의 품사 구조를 통해 학습될 수 있다.
예를 들어, 제1 모델(113)이 "Find out a romantic movie.", "Find out a Tom Cruise's movie." 와 같은 완결된 형태의 문장을 통해 학습되는 경우를 가정하도록 한다.
이 경우, 제1 모델(113)은 "Find out a romantic movie." "Find out a Tom Cruise's movie."의 문형을 나타내는 "Find out [ADJ:VIDEO:NE:MOOD] [NOUN:VIDEO:NE:GENRE]”을 학습 데이터로 이용하여 학습할 수 있다.
이때, [ADJ:VIDEO:NE:MOOD]에서 "ADJ"는 해당 요소의 품사가 형용사임을 나타내고, 'VIDEO'는 해당 요소를 포함하는 완결된 문장이 비디오 검색 상황에서 사용될 수 있음을 나타내고, "NE"는 해당 요소가 개체명일 수 있음을 나타내고, "MOOD"는 해당 요소가 분위기와 관련된 요소일 수 있음을 나타내는 것일 수 있다. 즉, [ADJ:VIDEO:NE:MOOD]는 해당 요소가 형용사이고, VIDEO 검색 상황에서 사용될 수 있으며, 개체명일 수 있고, 분위기와 관련된 요소를 나타낼 수 있는 것으로 볼 수 있다.
또한, [NOUN:VIDEO:NE:GENRE]에서 "NOUN"는 해당 요소의 품사가 명사임을 나타내고, "VIDEO"는 해당 요소를 포함하는 완결된 문장이 비디오 검색 상황에서 사용될 수 있음을 나타내고, "NE"는 해당 요소가 개체명일 수 있음을 나타내고, "GENRE"는 해당 요소가 장르와 관련된 요소일 수 있음을 나타내는 것일 수 있다. 즉, [NOUN:VIDEO:NE:GENRE]는 "movie"라는 요소가 명사이고, VIDEO 검색 상황에서 사용될 수 있으며, 개체명일 수 있고, 장르와 관련된 요소를 나타내는 것으로 볼 수 있다.
이에 따라, 제1 모델(113)은 "Find out a romantic movie.", "Find out a Tom Cruise's movie."등의 문형 "Find out [ADJ:VIDEO:NE:MOOD] [NOUN:VIDEO:NE:GENRE]"을 통해, "Find out"이 포함된 완결된 문장에서는 "Find out"이후에 "형용사" 및 "명사"가 순차적으로 배치되는 품사 구조를 갖는다는 것을 학습할 수 있다.
한편, 전술한 예에서는, 제1 모델(113)이 완결된 문장의 모든 요소가 아닌 일부 요소에만 품사 표기가 태깅된 문형을 이용하여 학습되는 것으로 설명하였으나, 이는 일 예에 불과하다.
즉, 제1 모델(113)은 완결된 문장의 모든 요소에 태깅된 품사 표기를 통해 학습될 수도 있다. 예를 들어, 전술한 예와 같이, "Find out a romantic movie.", "Find out a Tom Cruise's movie."의 경우, "[VERB:VIDEO:SEARCH] [ADJ:VIDEO:NE:MOOD] [NOUN:VIDEO:NE:GENRE]"와 같이 나타낼 수 있다. 이 경우, 제1 모델(113)은 완결된 문장에서 "동사" 이후에 "형용사" 및 "명사"가 순차적으로 배치되는 품사 구조를 갖는다는 것을 학습할 수 있다.
한편, 제1 모델(113)은 컨텍스트(context)에 따라학습 데이터를 이용하여 학습될 수 있다.
여기에서, 컨텍스트는 사용자 음성이 적용되는 디바이스의 상황을 의미할 수 있다.
예를 들어, 디바이스(여기에서, 도 1a 및 도 1b의 경우, 디바이스는 외부 전자 장치(200)가 될 수 있고, 도 1c의 경우, 전자 장치(100)가 될 수 있다)가 비디오 검색 상황에 존재하는 경우, 즉, 사용자가 음성을 통해 비디오를 검색하는 상황인 경우, 컨텍스트는 비디오 검색 컨텍스트에 해당할 수 있다. 또한, 사용자가 음성을 통해 디바이스의 기능(가령, 디바이스의 채널을 변경하거나, 볼륨을 변경하는 등)을 제어하는 경우, 컨텍스트는 장치 제어 컨텍스트를 포함할 수 있다. 다만, 비디오 검색 컨텍스트 및 장치 제어 컨텍스트는 일 예에 불과하고, 디바이스의 상황에 따라 다양한 컨텍스트가 존재할 수 있음은 물론이다.
이 경우, 제1 모델(113)은 컨텍스트에 따라 마련된 복수의 완결된 문장의 문형을 학습 데이터로서 이용하여 학습될 수 있다.
예를 들어, 제1 모델(113)은 비디오 검색 컨텍스트에 대해, 완결된 문장인 "Find out a romantic movie"의 문형에 기초하여 학습된다. 비디오 검색 컨텍스트의 경우, 완결된 문장에서 "Find out" 이후에 "형용사" 및 "명사"가 순차적으로 배치되는 품사 구조를 갖는다는 것을 학습할 수 있다. 또한, 제1 모델(113)은 장치 제어 컨텍스트에 대해, 완결된 문장인 "turn down volume"의 문형에 기초하여 학습되어, 장치 제어 컨텍스트의 경우, "turn down" 이후에 "명사"가 배치되는 품사 구조를 갖는다는 것을 학습할 수 있다.
즉, 컨텍스트 별로 이용되는 완결된 문장이 다를 수 있고, 이에 따른 해당 문장의 문형은 서로 다를 수 있다는 점에서, 본 개시의 일 실시 예에서는 제1 모델(113)은 컨텍스트 별로, 완결된 문장의 문형을 학습할 수도 있다.
이와 같이, 제1 모델(113)은 다양한 완결된 문장을 구성하는 요소의 품사에 기초하여, 완결된 문장의 문형을 학습할 수 있다.
한편, 제2 모델(114)은 복수의 완결된 문장(또는, 말뭉치(corpora)) 및 복수의 완결된 문장과 대응된 의도를 학습 데이터로 이용하여 학습된 모델일 수 있다.
구체적으로, 제2 모델(114)은 사용자 음성의 의도 및 사용자 음성을 구성하는 요소의 품사에 따라 사용자 음성의 완결 여부를 판단하도록, 의도 별로, 완결된 문장을 구성하는 요소의 품사에 기초하여 학습될 수 있다. 이 경우, 복수의 완결된 문장에 포함된 의도에 대한 정보는 자연어 이해 모듈(112)을 통해 획득될 수 있다.
예를 들어, 학습데이터로 이용 가능한 복수의 완결된 문장으로 "Find out an action movie.", "Find out a hero movie.", "Find out American drama", "Find out Korean drama."등이 존재한다고 가정한다.
이 경우, 제2 모델(114)은 자연어 이해 모듈(112)을 이용하여, "Find out action movie."는 액션 영화를 검색하려는 의도이고, "Find out hero movie."는 히어로 영화를 검색하려는 의도이며, "Find out Korean drama."는 한국 드라마를 검색하려는 의도이며, "Find out American drama"는 미국 드라마를 검색하려는 의도임을 학습할 수 있다.
그리고, 제2 모델(114)은 영화를 검색하려는 의도일 때 'Find out 'A' movie'문장이 사용될 수 있으며, 이때, 'A'에는 형용사 또는 명사가 위치할 수 있다는 것을 학습할 수 있다. 즉, 제2 모델(114)은 영화를 검색하려는 의도일 때, [동사][형용사 또는 명사][명사]의 요소를 가지는 문장이 사용될 수 있음을 학습할 수 있다.
마찬가지로, 제2 모델(114)은 드라마를 검색하려는 의도일 때 'Find out 'A' drama.'문장이 사용될 수 있으며, 이때 'A'에는 형용사가 위치할 수 있다는 것을 학습할 수 있다. 즉, 제2 모델(114)은 드라마를 검색하려는 의도일 때, [동사][형용사][명사]의 요소를 가지는 문장이 사용될 수 있음을 학습할 수 있다.
이러한 학습 과정을 통하여, 제2 모델(114)은 사용자 음성이 완결된 문장인지 여부를 판단하는 기준을 구축하게 된다.
한편, 제2 모델(114)은 컨텍스트에 따라 학습 데이터를 이용하여 학습될 수 있다.
예를 들어, 제2 모델(114)은 '비디오 검색' 컨텍스트에 대한 복수의 완결된 문장인 "Find out romantic movie.", "Find out kids movie.", "Find out hero movie."등을 학습 데이터로 이용하여, 사용자 음성의 완결 여부를 판단하는 기준을 갖도록 학습될 수 있다.
제2 모델(114)은 '비디오 검색' 컨텍스트에서 "Find out romantic movie"는 [동사][형용사][명사]의 형태이고, "Find out kids movie." 및 "Find out hero movie."은 [동사][명사][명사]의 형태임을 학습할 수 있다.
제2 모델(114)은'비디오 검색'환경에서 사용되는 완결된 문장 형태가 통계적으로 '[동사] [형용사] [명사]', '[동사] [명사] [명사]'등이 될 수 있으며, 완결된 문장의 의도는 드라마 또는 영화를 찾는 것임을 학습할 수 있다.
이와 같이 제1 및 제2 모델(113,114)를 학습시키기 위하여, 메모리(110)는 학습데이터(115)를 포함할 수 있다.
구체적으로 메모리(110)는 제1 모델(113)을 학습시키기 위하여 품사 표기로 나타낸 완결된 문장의 문형 데이터를 포함할 수 있으며, 제2 모델(114)을 학습시키기 위한 완결된 문장 형태를 포함할 수도 있다.
또한, 학습데이터(115)는 컨텍스트에 따라 완결된 문장의 문형 데이터 또는 완결된 문장을 포함할 수 있으며, 프로세서(120)는 제1 모델 및 제2 모델을 이용하여 컨텍스트에 따라 사용자 음성의 완결 여부를 판단할 수 있다.
한편, 학습데이터(115)는 업데이트 될 수 있다. 구체적으로, 학습데이터(115)는 입력된 사용자 음성에 대해 판단된 결과를 반영하여 업데이트 될 수 있다.
가령, 사용자가 발화한 사용자 음성이 'Find out a kids animation'이고 제2 모델(114)이 충분히 학습되지 않은 상태라면, 제2 모델(114)은 'Find out a kids animation'과 같은 형태의 사용자 음성이 완결되었다고 판단하는 기준이 형성되어 있지 않을 수 있다. 반면, 제1 모델(113)은 문형 'Find out [NOUN:VIDEO:NE:MOOD][NOUN:VIDEO:NE:GEMRE]이 완결된 문장이라고 판단하는 기준이 형성되어 있을 수 있다. 이 경우, 사용자 음성 'Find out kids animation'이 문형 'Find out [NOUN:VIDEO:NE:MOOD][NOUN:VIDEO:NE:GEMRE]에 매칭된다는 점에서, 제1 모델(113)은 사용자 음성이 완결되었다고 판단될 수 있다. 그리고, 학습데이터(115)는 이러한 판단 결과를 기초로 업데이트 될 수 있다. 즉, 완결된 형태라고 판단된'Find out a kids animation'가 학습데이터(115)에 추가될 수 있다.
이 경우, 자연어 이해를 통하여 'Find out a kids animation'의 의도는 어린이 애니메이션을 검색하려는 의도이고, 'Find out a kids animation'의 컨텍스트는'비디오 검색' 컨텍스트에 해당된다고 판단될 수 있으며, 이에 따라 '비디오 검색' 컨텍스트에 'Find out a kids animation'문장이 추가될 수 있다. 그리고, 제2 모델(114)은 업데이트된 학습 데이터(115)를 이용하여 재학습될 수 있다. 한편, 이는 일 실시예이며, 경우에 따라 업데이트된 학습 데이터(115)를 이용하여 제1 모델(113)이 재학습될 수도 있다.
이 경우, 제1 모델(113) 또는 제2 모델(114)은 업데이트된 학습데이터(115)를 이용하여 재학습된다는 점에서, 학습데이터(115)가 업데이트 됨에 따라 제1 모델(113) 또는 제2모델(114)의 판단 기준이 좀 더 명확해질 수 있다.
한편, 도 3에서는 학습 데이터가 메모리(110)에 저장되는 것으로 도시되었으나, 이는 일 실시 예일 뿐이다. 즉, 학습 데이터는 메모리(110)가 아닌 전자 장치(100) 내의 별도의 저장공간에 저장되어 있을 수 있거나, 전자 장치(100)가 아닌 별도의 전자 장치(미도시)에 저장되어 있을 수도 있다.
프로세서(120)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 예를 들어, 프로세서(120)는 운영 체제 또는 응용 프로그램을 구동하여 프로세서(120)에 연결된 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 또한, 프로세서(120)는 다른 구성요소들 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장할 수 있다.
이를 위해, 프로세서(120)는 해당 동작을 수행하기 위한 전용 프로세서(예, 임베디드 프로세서) 또는 메모리 디바이스에 저장된 하나 이상의 소프트웨어 프로그램을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)로 구현될 수 있다.
한편, 프로세서(120)는 제1 모델(113) 및 제2 모델(114)을 이용하여 사용자 음성의 완결 여부를 판단할 수 있다.
구체적으로, 프로세서(120)는 사용자 음성으로부터 획득한 정보를 제1 모델(113) 및 제2 모델(114)의 입력 데이터로서 이용하여 사용자 음성이 완결된 문장인지에 대한 정보를 제1 모델(113) 및 제2 모델(114)로부터 각각 획득하고, 제1 모델(113) 및 제2 모델(114)로부터 각각 획득된 정보에 기초하여 상기 사용자 음성의 완결 여부를 판단할 수 있다.
이와 관련하여, 도 4는 사용자 음성 “Find out an action movie.”가 입력된 경우 입력된 사용자 음성의 완결 여부를 판단하는 방법을 설명하기 위한 도면이다.
사용자 음성이 입력되면, 프로세서(120)는 사용자 음성에 대한 음성 인식을 수행하여 사용자 음성을 텍스트로 변환하고, 텍스트에 기초하여 사용자 음성의 의도 및 사용자 음성을 구성하는 문장 성분의 품사를 판단할 수 있다.
예를 들어, 사용자 음성 “Find out an action movie.”가 입력된 경우, 프로세서(120)는 자동 음성 인식 모듈(111) 및 자연어 이해 모듈(112)을 이용하여, “Find out an action movie.”에 대한 음성 인식을 수행할 수 있다. 그 결과, 프로세서(120)는 사용자 음성 “Find out an action movie.”를 텍스트 “Find out an action movie.”로 변환하고, 텍스트에 기초하여 수신된 사용자 음성은 ‘[동사][명사][명사]’를 포함하며, 사용자 음성에는 액션 영화를 검색하려는 의도가 포함되어 있다는 정보를 획득할 수 있다. 또한, 프로세서(120)는 사용자 음성에 포함된 의도를 이용하여, 사용자 음성에 대한 컨텍스트는 ‘비디오 검색’이라는 점을 획득할 수 있다.
프로세서(120)는 사용자 음성을 구성하는 문장 성분의 품사를 제1 모델(113)의 입력 데이터로 사용하여 사용자 음성의 문장 완결 여부에 대응되는 제1 출력 값을 획득하고, 사용자 음성의 의도 및 사용자 음성을 구성하는 문장 성분의 품사를 제2 모델의 입력 데이터로 사용하여 사용자 음성의 문자 완결 여부에 대응되는 제2 출력 값을 획득할 수 있다. 그리고, 프로세서(120)는 제1 출력 값 및 제2 출력 값에 기초하여 사용자 음성의 완결 여부를 판단할 수 있다.
구체적으로, 프로세서(120)는 제1 모델(113)을 이용하여 사용자 음성의 품사 정보와 학습된 완결된 문장의 문형에 포함된 품사 정보가 일치하는지 판단하고, 그에 따라 사용자 음성이 완결되었는지 판단할 수 있다.
여기에서, 제1 모델(113)은 완결된 문장의 문형을 학습한 결과와 사용자 음성을 구성하는 요소의 품사를 비교하여, 사용자 음성의 문장 완결 여부에 대응되는 제1 출력 값을 출력할 수 있다. 이때, 제1 모델(113)은 완결된 문장의 문형에 기초하여 학습된 완결된 문장이 갖는 품사 배열과 사용자 음성의 품사 배열이 일치하는 경우, 사용자 음성의 형태가 완결된 것으로 판단하는 기준을 가질 수 있다. 반면, 제1 모델(113)은 사용자 음성에 포함된 품사 배열이 학습된 완결된 문장이 갖는 품사 배열과 일치하지 않는 경우, 사용자 음성은 완결되지 않은 것으로 판단하는 기준을 가질 수 있다.
즉, 제1 모델(113)은 사용자 음성에 포함된 품사 배열과 학습된 완결된 문장이 갖는 품사 배열을 1:1로 매칭하여 사용자 음성이 완결된 형태인지 여부를 판단하는 기준을 가진다는 점에서, 입력된 사용자 음성에 대하여 1 또는 0의 값을 출력할 수 있다.
예를 들어, 제1 모델(113)이 ‘Find out’뒤에 ‘명사’및 ‘명사’가 위치하는 형태의 문장은 완결된 문장이라고 학습된 경우, 제1 모델(113)은 사용자 음성 "Find out an action movie"의 품사 배열인‘Find out [명사][명사]’가 학습된 완결된 문장의 “Find out [명사] [명사]”와 일치한다고 판단하는 기준을 가질 수 있다.
이에 따라, 프로세서(120)는 제1 모델(113)로부터 사용자 음성이 완결된 형태임을 나타내는 1의 값을 획득할 수 있다.
그리고, 프로세서(120)는 제2 모델(114)을 이용하여 사용자 음성의 품사 정보와 학습된 완결된 문장의 품사 정보가 일치하는지 판단하고, 그에 따라 사용자 음성이 완결된 형태인지 판단할 수 있다.
제2 모델(114)은 완결된 문장을 학습한 결과와 사용자 음성을 구성하는 요소의 품사를 비교하여, 사용자 음성의 문장 완결 여부에 대응되는 제2 출력 값을 출력할 수 있다. 제2 모델(114)은 복수의 완결된 문장을 학습데이터로 사용하여 통계적으로 학습된 모델이라는 점에서, 제2 모델(114)은 0에서 1 사이의 값을 출력할 수 있다.
가령, 제2 모델(114)이 ‘비디오 검색’ 컨텍스트에서 ‘[동사][명사][명사]’를 포함하는 문장이 완결된 형태일 가능성이 높다고 학습된 경우, 제2 모델(114)은 사용자 음성 "Find out an action movie."의 ‘find out’은 [동사]에 매칭되고, ‘action’ 및 ‘movie’는 각각 [명사] 및 [명사]에 매칭된다고 판단하는 기준을 가질 수 있다. 이때, 제2 모델(114)은 판단된 가능성에 따라 0 내지 1 사이의 값을 출력할 수 있다.
프로세서(120)는 제1 모델(113) 및 제2 모델(114)로부터 획득한 제1 출력값 및 제2 출력값에 기초하여 사용자 음성의 완결 여부를 판단할 수 있다.
가령, 프로세서(120)는 제1 출력값 및 제2 출력값의 합이 1.65를 이상인 경우 사용자 음성을 완결된 형태로 판단하며, 제1 모델(113)은 1을 출력하고 제2 모델(114)는 하면 0.8을 출력하였다고 가정하면, 제1 모델(113)의 제1 출력값 1및 제2 모델(114)의 제2 출력값 0.8의 합인 1.8은 1.65보다 크다. 이 경우, 프로세서(120)는 사용자 음성이 완결되었다고 판단할 수 있다.
한편, 프로세서(120)는 제1 및 제2 모델(113,114)로부터 출력값을 얻은 후 추가적으로 예외 처리를 수행할 수 있다.
구체적으로, 프로세서(120)는 제1 모델 및 제2 모델로부터 획득한 제1 출력값 및 제2 출력 값의 합이 기 설정된 임계 값 이상이고, 사용자 음성이 기설정된 예외 문장에 해당되지 않는다면, 사용자 음성이 완결되었다고 판단할 수 있다. 그러나, 사용자 음성이 기설정된 예외 문장에 해당되는 경우, 프로세서(120)는 사용자 음성이 완결된 형태에 해당하지 않는다고 판단할 수도 있다.
이를 위하여, 예외 문장들은 메모리(110)에 기저장되어 있을 수 있으며, 프로세서(120)는 사용자 음성이 기저장된 예외 문장에 해당되는지 판단하여 사용자 음성이 완결된 형태인지 여부를 판단할 수 있다.
또 다른 실시예로, 프로세서(120)는 제1 모델(113) 및 제2 모델(114)에 서로 다른 가중치를 부여하여, 사용자 음성의 완결 여부를 판단할 수 있다.
구체적으로, 프로세서(120)는 제1 출력 값에 기설정된 제1 가중치를 적용하고 제2 출력 값에 기설정된 제2 가중치를 적용하여, 제1 가중치가 적용된 제1 출력 값 및 제2 가중치가 적용된 제2 출력 값을 합산하고, 합산된 값에 기초하여 사용자 음성의 완결 여부를 판단할 수 있다.
더욱 구체적으로, 프로세서(120)는 합산된 값이 기설정된 임계 값 이상인 경우, 사용자 음성이 완결된 것으로 판단할 수 있다.
가령, 상술한 바와 동일하게, 프로세서(120)는 제1 출력값 및 제2 출력값의 합이 1.65를 이상인 경우 사용자 음성을 완결된 형태로 판단하며, 제1 모델(113)은 1을 출력하고 제2 모델(114)는 하면 0.8을 출력하였다고 가정하자. 프로세서(120)는 제1 모델(113)에 1.5의 가중치를 부여하고, 제2 모델(114)에 2의 가중치를 부여하여, 가중치가 적용된 제1 모델(113)의 제1 출력값으로 1.5를 획득하고, 가중치가 적용된 제2 모델(114)의 가중치로 1.6을 획득할 수 있다. 이 경우 제1 출력값 1.5 및 제2 출력값 1.6의 합인 3.1이 1.65보다 크므로 음성완결 판단부(122)는 사용자 음성이 완결되었다고 판단할 수 있다.
한편, 프로세서(120)는 제1 및 제2 모델(113,114)에 서로 다른 가중치를 부여한 경우에도 추가적으로 예외 처리를 수행할 수 있다. 즉, 프로세서(120)는 제1 모델에 의한 제1 출력값 및 제2 모델에 의한 제2 출력 값이 합산된 값이 기설정된 임계 값 이상이고, 사용자 음성이 기설정된 예외 문장에 해당하지 않는 경우, 사용자 음성이 완결될 것으로 판단할 수 있다.
프로세서(120)는 예외 처리를 수행하는 경우, 제1모델, 제2 모델 및 예외 처리 규칙 간에 서로 다른 가중치를 부여하여 사용자 음성의 완결 여부를 판단할 수 있다.
다시 도 3으로 돌아와서, 통신부(130)는 전자 장치(100)가 외부 전자 장치(미도시)와 통신을 수행하기 위한 구성요소이다. 통신부(130)를 통하여 전자 장치(100)는 외부 장치로부터 사용자 음성 신호를 수신할 수 있다.
이를 위해, 통신부(130)는 유선 통신 모듈(미도시), 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다.
여기에서, 유선 통신 모듈은 유선 이더넷(Ethernet)과 같이 유선 통신 방식에 따라 외부 장치(미도시)와 통신을 수행하기 위한 모듈이다. 그리고, 근거리 무선 통신 모듈이란 블루투스(Bluetooth, BT), BLE(Bluetooth Low Energy), ZigBee 방식 등과 같은 근거리 무선 통신 방식에 따라 근거리에 위치한 외부 장치(미도시)와 통신을 수행하기 위한 모듈이다. 또한, 무선 통신 모듈이란 WiFi, IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 외부 장치(미도시) 및 음성 인식 서버(미도시)와 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 5세대 네트워크(5G Networks) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
한편, 통신부(130)는 외부 전자 장치(미도시)뿐만 아니라, 외부 전자 장치(미도시)을 제어하기 위한 원격 제어 장치 즉, 리모컨(미도시)과 통신을 수행할 수도 있다.
예를 들어, 통신부(130)는 블루투스 또는 BLE 등과 같은 근거리 통신 방식에 따라 원격 제어 장치(미도시)와 통신을 수행하여, 다양한 데이터를 송수신할 수 있다.
한편, 또 다른 실시예로, 전자 장치(100)는 외부 장치(미도시)와 연결되어 비디오/오디오 신호를 주고 받기 위한 인터페이스부(미도시)를 포함할 수도 있다. 인터페이스부는 DP(Display Port), HDMI(high definition multimedia interface), HDMI-CEC(consumer electronics control), RGB(Red Green Blue) cable, USB(Universal Serial Bus), DVI(Digital Visual Interface), 썬더볼드(Thunderbolt), 컴포넌트(Component) 등의 규격에 따른 신호/데이터를 송/수신할 수 있으며, 이들 각각의 규격에 대응하는 적어도 하나 이상의 커넥터 또는 단자를 포함한다.
디스플레이(140)는 영상 처리부(미도시)에서 처리한 영상 데이터를 디스플레이 영역(또는, 디스플레이)에 디스플레이할 수 있다. 디스플레이 영역은 전자 장치(100)의 하우징의 일면에 노출된 디스플레이(140)의 적어도 일부를 의미할 수 있다. 디스플레이(140)의 적어도 일부는 플렉서블 디스플레이(flexible display)의 형태로 전자 장치(100)의 전면 영역 및, 측면 영역 및 후면 영역 중 적어도 하나에 결합될 수도 있다. 플렉서블 디스플레이는 종이처럼 얇고 유연한 기판을 통해 손상 없이 휘거나 구부리거나 말 수 있는 것을 특징으로 할 수 있다.
마이크(150)는 제1 및 제2 사용자 음성을 획득할 수 있다. 마이크(150)는 외부에서부터 수신되는 음성 또는 사운드를 전기적인 신호로 생성할 수 있다.
이를 위하여, 마이크는 아날로그 형태의 사용자 음성을 수집하는 마이크, 수집된 사용자 음성을 증폭하는 앰프 회로, 증폭된 사용자 음성을 샘플링하여 디지털 신호로 변환하는 A/D 변환회로, 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로 등과 같은 다양한 구성을 포함할 수 있다.
마이크(150)에서 생성된 전기적인 신호는 프로세스(120)에 전달될 수 있다. 프로세서(120)는 마이크(150)로부터 수신한 전기적인 음성 신호에 대하여 음성 인식 및 자연어 처리를 수행하여 사용자 음성의 의미 및 의도 등을 판단할 수 있다.
특히, 마이크(150)는 전자 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)와 전기적으로 연결되어 외부에 구비될 수 있다.
오디오 출력부(160)는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 특히, 오디오를 출력하는 구성은 스피커(160)로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 출력 단자로 구현될 수 있다.
사용자 입력부(170)는 다양한 사용자 입력을 수신하여 프로세서(120)로 전달할 수 있다. 사용자 입력부(170)는, 예를 들면, 터치 패널, (디지털) 펜 센서 또는 키를 포함할 수 있다. 터치 패널은, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널은 제어 회로를 더 포함할 수도 있다. 터치 패널은 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다.
한편, 전자 장치(100)의 구현 예에 따라 도 3에 도시된 전자 장치(100)의 구성요소 중 적어도 일부는 생략될 수 있다.
예를 들어, 전자 장치(100)가 도 1a 및 도 1b에 도시된 바와 같이 서버로 구현되는 경우, 외부 전자 장치(200)에서 사용자 음성을 수신하고, 사용자 음성에 대한 응답 역시 제3 외부 장치(400)에서 출력된다는 점에서, 도 3의 디스플레이(140), 마이크(150) 및 오디오 출력부(160)는 생략될 수 있다.
도 5는 본 개시의 일 실시예에 따른 전자 장치를 설명하기 위한 도면이다.
구체적으로 도 5는 전자 장치(100)가 외부 전자 장치(200)와 연결된 상태에서, 사용자가 발화한 경우 프로세서(120)가 사용자 음성의 완결 여부를 판단하고, 판단된 결과에 따라 수행되는 외부 전자 장치(200)의 동작을 설명하기 위한 도면이다.
외부 전자 장치(200)는 사용자로부터 음성을 수신할 수 있다. 이때 사용자 음성은 외부 전자 장치(200)에 직접 입력되거나, 다른 외부 전자 장치(가령, 리모컨 등)를 통하여 외부 전자 장치(200)에 입력될 수도 있다.
외부 전자 장치(200)는 사용자 음성을 수신하기 위한 UI를 디스플레이 할 수 있다. 가령, 도 5에 도시된 바와 같이, 사용자 음성 입력을 요청하는 텍스트를 디스플레이 하거나, 마이크 등의 그림을 디스플레이 할 수 있다.
사용자 음성을 수신한 외부 전자 장치(200)는 사용자 음성을 전처리하여 사용자 음성 신호로 변환하고, 무선 통신 모듈을 이용하여 사용자 음성 신호를 전자 장치(100)에 전송할 수 있다.
전자 장치(100)는 도 4에서 상술한 바와 같이, 제1 모델(113) 및 제2 모델(114)을 사용하여 사용자 음성 신호의 완결 여부를 판단할 수 있다.
외부 전자 장치(200)는 전자 장치(100)로부터 수신한 판단 결과에 따라 사용자 음성 신호에 따른 동작을 수행할지 여부를 판단할 수 있다.
가령, 사용자가 'Find out an action movie”라고 발화하고, 전자 장치(100)가 사용자 음성이 완결되었다고 판단한 경우, 전자 장치(100)는 외부 전자 장치(200)에 판단 결과를 전송할 수 있다.
외부 전자 장치(200)는 전자 장치(100)로부터 사용자 음성이 완결되었다는 정보를 수신하면, 사용자 음성에 대응하는 제어 명령을 실행할 수 있다. 가령, 외부 전자 장치(200)는 사용자 음성 명령에 따라 액션 영화를 검색하는 기능을 수행할 수 있다.
한편, 또 다른 실시 예로 사용자가 'Find out' 라고 발화하고 잠시 발화를 중단한 경우를 가정한다.
이 경우, 외부 전자 장치(200)가 'Find out' 음성 신호를 수신하여 이를 전자 장치(100)에 전송하면, 전자 장치(100)는 제1 모델(113) 및 제2 모델(114)을 사용하여 사용자 음성이 완결되지 않은 것으로 판단할 수 있다.
전자 장치(100)는 사용자 음성이 완결되지 않았음을 나타내는 신호를 외부 전자 장치(200)에 전송할 수 있으며, 외부 전자 장치(200)는 전자 장치(100)로부터 수신된 신호에 따라 사용자의 음성 입력을 요청하는 UI를 계속 디스플레이할 수 있다. 다만, 이는 일 실시 예이며, 전자 장치(100)로부터 사용자 음성이 완결되지 않은 정보를 수신한 외부 전자 장치(200)는 사용자에게 사용자 음성이 완결되지 않았음을 알릴 수도 있다.
그리고, 사용자의 음성 입력이 추가적으로 입력되면, 전자 장치(100)는 'Find out' 이후에 추가적으로 입력되는 사용자 음성이 'Find out'과 연결되는 문장으로 판단하여, 'Find out' 이후에 입력된 사용자 음성과 'Find out'을 포함하는 사용자 음성이 완결된 형태인지 판단할 수 있다.
이와 같이, 전자 장치(100)가 사용자 음성의 완결 여부를 판단하고, 사용자 음성이 완료된 경우에만 사용자 음성에 대한 동작을 수행하게 함으로써 사용자는 일정 조건 또는 일정 시간 내에 발화를 완료하여야 한다는 불편을 해소할 수 있다.
도 6은 본 개시의 일 실시예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
우선 전자 장치(100)는 사용자 음성을 수신한다(S610). 전자 장치(100)는 외부 전자 장치(200)로부터 사용자 음성 신호를 수신할 수 있으며, 사용자로부터 직접 사용자 음성을 수신할 수도 있다.
그리고, 전자 장치(100)는 제1 및 제2 모델을 이용하여 사용자 음성의 완결 여부를 판단한다(S620).
제1 모델은 복수의 완결된 문장의 문형을 학습 데이터로 한 모델일 수 있다.
구체적으로, 문형은 복수의 완결된 문장 각각을 구성하는 적어도 하나의 요소(element)의 품사에 기초하여 결정될 수 있으며, 제1 모델은 사용자 음성을 구성하는 요소의 품사에 따라 사용자 음성의 완결 여부를 판단하도록, 적어도 하나의 요소의 품사에 기초하여 학습되는 모델일 수 있다.
한편, 제2 모델은 복수의 완결된 문장 및 복수의 완결된 문장에 포함된 의도(intent)를 학습 데이터로서 이용하여 학습된 모델이 될 수 있다.
구체적으로, 제2 모델은 사용자 음성의 의도 및 사용자 음성을 구성하는 요소의 품사에 따라 사용자 음성의 완결 여부를 판단하도록, 의도 별로 완결된 문장을 구성하는 요소의 품사에 기초하여 학습되는 모델일 수 있다.
이때, 제1 모델 및 제2 모델은, 컨텍스트에 따라학습 데이터를 이용하여 학습될 수 있다.
전자 장치(100)는 제1 모델 및 제2 모델을 이용하여 컨텍스트에 따라 사용자 음성의 완결 여부를 판단할 수 있다.
한편, 전자 장치(100)는 사용자 음성을 텍스트로 변환하고, 텍스트에 기초하여 사용자 음성의 의도 및 사용자 음성에 포함된 요소의 품사에 대한 정보를 획득할 수 있다.
또한, 전자 장치(100)는 사용자 음성으로부터 획득한 정보를 상기 제1 모델 및 제2 모델의 입력 데이터로서 이용하여 상기 사용자 음성이 완결된 문장인지에 대한 정보를 제1 모델 및 제2 모델로부터 각각 획득할 수 있으며, 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 사용자 음성의 완결 여부를 판단할 수 있다.
이 경우, 전자 장치(100)는 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 사용자 음성이 완결된 것으로 판단되고 사용자 음성이 기설정된 예외 문장에 해당하지 않는 경우, 사용자 음성이 완결된 것으로 판단할 수 있다.
그리고, 전자 장치(100)는 제1 모델 및 제2 모델을 기초로 판단된 수신된 사용자 음성의 완결 여부에 대응하여 사용자 음성에 대한 응답을 생성한다(S630).
도 7은 본 발명의 일 실시예에 따라 전자 장치가 사용자 음성이 완결되었는지 판단하는 과정을 설명하기 위한 흐름도이다.
전자 장치(100)는 사용자 음성을 수신하고(S710), 수신한 사용자 음성에 대하여 음성 인식을 수행할 수 있다(S720). 전자 장치(100)는 사용자 음성을 텍스트로 변환하고, 텍스트에 기초하여 사용자 음성의 의도 및 사용자 음성을 구성하는 문장 성분의 품사를 판단할 수 있다.
전자 장치(100)는 제1 모델(113)을 이용하여 사용자 음성의 문장 완결 여부에 대응되는 제1 출력값을 획득할 수 있다(S730). 구체적으로, 전자 장치(100)는 사용자 음성을 구성하는 문장 성분의 품사를 제1 모델(113)의 입력 데이터로 사용하여 사용자 음성의 문장 완결 여부에 대응되는 제1 출력값을 획득할 수 있다.
또한, 전자 장치(100)는 제2 모델(114)을 이용하여 사용자 음성의 완결 여부에 대응되는 제2 출력값을 획득할 수 있다(S740). 구체적으로, 전자 장치(100)는 사용자 음성의 의도 및 사용자 음성을 구성하는 문장 성분의 품사를 제2 모델(114)의 입력 데이터로 사용하여 사용자 음성의 문장 완결 여부에 대응되는 제2 출력 값을 획득할 수 있다.
전자 장치(100)는 제1 출력 값 및 제2 출력 값에 기초하여 사용자 음성의 완결 여부를 판단할 수 있다(S750).
구체적으로, 전자 장치(100)는 제1 출력 값에 기설정된 제1 가중치를 적용하고 제2 출력 값에 기설정된 제2 가중치를 적용하고, 제1 가중치가 적용된 제1 출력 값 및 제2 가중치가 적용된 제2 출력 값을 합산하고, 합산된 값에 기초하여 사용자 음성의 완결 여부를 판단할 수 있다.
더욱 구체적으로, 전자 장치(100)는 합산된 값이 기설정된 임계 값 이상이고, 사용자 음성이 기설정된 예외 문장에 해당하지 않는 경우, 사용자 음성이 완결된 것으로 판단할 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서(120) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치에서의 처리 동작을 상기 특정 기기가 수행하도록 한다.
-
-

Claims (15)

  1. 제1 모델 및 제2 모델이 저장된 메모리; 및
    상기 제1 모델 및 제2 모델을 기초로 판단된 수신된 사용자 음성의 완결 여부에 대응하여 상기 사용자 음성에 대한 응답을 생성하는 프로세서;를 포함하며,
    상기 제1 모델은,
    복수의 완결된 문장의 문형을 학습 데이터로 한 모델이고,
    상기 제2 모델은,
    복수의 완결된 문장 및 상기 복수의 완결된 문장과 대응된 의도(intent)를 학습 데이터로 한 모델인, 전자 장치.
  2. 제1항에 있어서,
    상기 문형은,
    상기 복수의 완결된 문장 각각을 구성하는 적어도 하나의 요소(element)의 품사에 기초하여 결정되며,
    상기 제1 모델은,
    상기 사용자 음성을 구성하는 요소의 품사에 따라 상기 사용자 음성의 완결 여부를 판단하도록, 상기 적어도 하나의 요소의 품사에 기초하여 학습되는 모델인, 전자 장치.
  3. 제1항에 있어서,
    상기 제2 모델은,
    상기 사용자 음성의 의도 및 상기 사용자 음성을 구성하는 요소의 품사에 따라 상기 사용자 음성의 완결 여부를 판단하도록, 상기 의도 별로 완결된 문장을 구성하는 요소의 품사에 기초하여 학습되는 모델인, 전자 장치.
  4. 제1항에 있어서,
    상기 제1 모델 및 제2 모델은, 컨텍스트(context)에 따라 상기 학습 데이터를 이용하여 학습되며,
    상기 프로세서는,
    상기 제1 모델 및 제2 모델을 이용하여 상기 컨텍스트에 따라 상기 사용자 음성의 완결 여부를 판단하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자 음성으로부터 획득한 정보를 상기 제1 모델 및 제2 모델의 입력 데이터로서 이용하여 상기 사용자 음성이 완결된 문장인지에 대한 정보를 상기 제1 모델 및 제2 모델로부터 각각 획득하고, 상기 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 상기 사용자 음성의 완결 여부를 판단하는, 전자 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 상기 사용자 음성이 완결된 문장인 것으로 판단되고 상기 사용자 음성이 기설정된 예외 문장에 미 해당 시, 상기 사용자 음성이 완결된 것으로 판단하는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자 음성을 텍스트로 변환하고, 상기 텍스트에 기초하여 상기 사용자 음성의 의도 및 상기 사용자 음성을 구성하는 요소의 품사에 대한 정보를 획득하는, 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 사용자 음성을 구성하는 문장 성분의 품사를 상기 제1 모델의 입력 데이터로 사용하여 상기 사용자 음성의 문장 완결 여부에 대응되는 제1 출력 값을 획득하고, 상기 사용자 음성의 의도 및 상기 사용자 음성을 구성하는 문장 성분의 품사를 상기 제2 모델의 입력 데이터로 사용하여 상기 사용자 음성의 문장 완결 여부에 대응되는 제2 출력 값을 획득하고, 상기 제1 출력 값 및 제2 출력 값에 기초하여 상기 사용자 음성의 완결 여부를 판단하는, 전자 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 제1 출력 값에 기설정된 제1 가중치를 적용하고 상기 제2 출력 값에 기설정된 제2 가중치를 적용하고, 상기 제1 가중치가 적용된 상기 제1 출력 값 및 상기 제2 가중치가 적용된 상기 제2 출력 값을 합산하고, 상기 합산된 값에 기초하여 상기 사용자 음성의 완결 여부를 판단하는, 전자 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 합산된 값이 기설정된 값 이상이고, 상기 사용자 음성이 기설정된 문장에 미 해당시, 상기 사용자 음성이 완결된 것으로 판단하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    사용자 음성을 수신하는 단계;
    제1 및 제2 모델을 이용하여 상기 사용자 음성의 완결 여부를 판단하는 단계; 및
    상기 제1 모델 및 제2 모델을 기초로 판단된 수신된 사용자 음성의 완결 여부에 대응하여 상기 사용자 음성에 대한 응답을 생성하는 단계;를 포함하며,
    상기 제1 모델은,
    복수의 완결된 문장의 문형을 학습 데이터로 한 모델이고,
    상기 제2 모델은,
    복수의 완결된 문장 및 상기 복수의 완결된 문장과 대응된 의도(intent)를 학습 데이터로 한, 제어 방법.
  12. 제11항에 있어서,
    상기 제1 모델 및 제2 모델은, 컨텍스트(context)에 따라 상기 학습 데이터를 이용하여 학습되며,
    상기 판단하는 단계는,
    상기 제1 모델 및 제2 모델을 이용하여 상기 컨텍스트에 따라 상기 사용자 음성의 완결 여부를 판단하는, 제어 방법.
  13. 제11항에 있어서,
    상기 사용자 음성으로부터 획득한 정보를 상기 제1 모델 및 제2 모델의 입력 데이터로서 이용하여 상기 사용자 음성이 완결된 문장인지에 대한 정보를 상기 제1 모델 및 제2 모델로부터 각각 획득하는 단계;를 더 포함하고,
    상기 판단하는 단계는,
    상기 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 상기 사용자 음성의 완결 여부를 판단하는, 제어 방법.
  14. 제13항에 있어서,
    상기 판단하는 단계는,
    상기 제1 모델 및 제2 모델로부터 각각 획득된 정보에 기초하여 상기 사용자 음성이 완결된 형태인 것으로 판단되고 상기 사용자 음성이 기설정된 예외 문장에 해당하지 않는 경우, 상기 사용자 음성이 완결된 것으로 판단하는, 제어 방법.
  15. 제11항에 있어서,
    상기 사용자 음성을 텍스트로 변환하고, 상기 텍스트에 기초하여 상기 사용자 음성의 의도 및 상기 사용자 음성에 포함된 요소의 품사에 대한 정보를 획득하는 단계;를 더 포함하는, 제어 방법.
PCT/KR2019/008468 2018-10-31 2019-07-10 전자 장치 및 그 제어 방법 WO2020091187A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/290,147 US11893982B2 (en) 2018-10-31 2019-07-10 Electronic apparatus and controlling method therefor
CN201980070239.7A CN112912954B (zh) 2018-10-31 2019-07-10 电子装置及其控制方法
EP19879515.5A EP3836137A4 (en) 2018-10-31 2019-07-10 ELECTRONIC DEVICE AND CONTROL PROCEDURE FOR IT

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0131689 2018-10-31
KR1020180131689A KR20200048976A (ko) 2018-10-31 2018-10-31 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
WO2020091187A1 true WO2020091187A1 (ko) 2020-05-07

Family

ID=70462268

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/008468 WO2020091187A1 (ko) 2018-10-31 2019-07-10 전자 장치 및 그 제어 방법

Country Status (5)

Country Link
US (1) US11893982B2 (ko)
EP (1) EP3836137A4 (ko)
KR (1) KR20200048976A (ko)
CN (1) CN112912954B (ko)
WO (1) WO2020091187A1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101235694B1 (ko) * 2012-08-14 2013-03-05 다이알로이드(주) 음성인식 시스템 및 그 음성인식 방법
KR20130134620A (ko) * 2012-05-31 2013-12-10 한국전자통신연구원 디코딩 정보를 이용한 끝점 검출 장치 및 그 방법
KR20150015703A (ko) * 2013-08-01 2015-02-11 엘지전자 주식회사 음성 인식 장치 및 그 방법
KR20170071564A (ko) * 2015-09-03 2017-06-23 구글 인코포레이티드 강화된 스피치 엔드포인팅
US20180090127A1 (en) * 2016-09-27 2018-03-29 Intel Corporation Adaptive speech endpoint detector
KR20180084394A (ko) * 2017-01-17 2018-07-25 삼성전자주식회사 발화 완료 감지 방법 및 이를 구현한 전자 장치

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0242743B1 (en) * 1986-04-25 1993-08-04 Texas Instruments Incorporated Speech recognition system
JPH05197389A (ja) * 1991-08-13 1993-08-06 Toshiba Corp 音声認識装置
JP2004226505A (ja) 2003-01-20 2004-08-12 Toshiba Corp ピッチパタン生成方法、音声合成方法とシステム及びプログラム
JP4425055B2 (ja) 2004-05-18 2010-03-03 日本電信電話株式会社 クライアント・サーバ音声認識方法、これに用いる装置、そのプログラム及び記録媒体
CN101075435B (zh) 2007-04-19 2011-05-18 深圳先进技术研究院 一种智能聊天系统及其实现方法
KR100930584B1 (ko) 2007-09-19 2009-12-09 한국전자통신연구원 인간 음성의 유성음 특징을 이용한 음성 판별 방법 및 장치
CN101604204B (zh) * 2009-07-09 2011-01-05 北京科技大学 智能情感机器人分布式认知系统
JP2011248140A (ja) 2010-05-27 2011-12-08 Fujitsu Toshiba Mobile Communications Ltd 音声認識装置
KR20120132337A (ko) 2011-05-25 2012-12-05 삼성전자주식회사 음성 인식을 이용하는 사용자 인터페이스 제어 장치 및 방법
TWI608367B (zh) * 2012-01-11 2017-12-11 國立臺灣師範大學 中文文本可讀性計量系統及其方法
US10832005B1 (en) * 2013-11-21 2020-11-10 Soundhound, Inc. Parsing to determine interruptible state in an utterance by detecting pause duration and complete sentences
KR20150086086A (ko) 2014-01-17 2015-07-27 삼성전자주식회사 서버 및 이의 음성 인식 결과에 대한 오류 수정 방법
KR102301880B1 (ko) * 2014-10-14 2021-09-14 삼성전자 주식회사 전자 장치 및 이의 음성 대화 방법
US10339917B2 (en) 2015-09-03 2019-07-02 Google Llc Enhanced speech endpointing
US9837069B2 (en) * 2015-12-22 2017-12-05 Intel Corporation Technologies for end-of-sentence detection using syntactic coherence
US10192550B2 (en) * 2016-03-01 2019-01-29 Microsoft Technology Licensing, Llc Conversational software agent
US10319250B2 (en) * 2016-12-29 2019-06-11 Soundhound, Inc. Pronunciation guided by automatic speech recognition
CN107679033B (zh) 2017-09-11 2021-12-14 百度在线网络技术(北京)有限公司 文本断句位置识别方法和装置
KR20190084789A (ko) * 2018-01-09 2019-07-17 엘지전자 주식회사 전자 장치 및 그 제어 방법
WO2020060151A1 (en) * 2018-09-19 2020-03-26 Samsung Electronics Co., Ltd. System and method for providing voice assistant service
US11151332B2 (en) * 2019-03-07 2021-10-19 International Business Machines Business Dialog based speech recognition

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130134620A (ko) * 2012-05-31 2013-12-10 한국전자통신연구원 디코딩 정보를 이용한 끝점 검출 장치 및 그 방법
KR101235694B1 (ko) * 2012-08-14 2013-03-05 다이알로이드(주) 음성인식 시스템 및 그 음성인식 방법
KR20150015703A (ko) * 2013-08-01 2015-02-11 엘지전자 주식회사 음성 인식 장치 및 그 방법
KR20170071564A (ko) * 2015-09-03 2017-06-23 구글 인코포레이티드 강화된 스피치 엔드포인팅
US20180090127A1 (en) * 2016-09-27 2018-03-29 Intel Corporation Adaptive speech endpoint detector
KR20180084394A (ko) * 2017-01-17 2018-07-25 삼성전자주식회사 발화 완료 감지 방법 및 이를 구현한 전자 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3836137A4 *

Also Published As

Publication number Publication date
CN112912954A (zh) 2021-06-04
EP3836137A1 (en) 2021-06-16
US11893982B2 (en) 2024-02-06
EP3836137A4 (en) 2021-11-17
KR20200048976A (ko) 2020-05-08
US20220005467A1 (en) 2022-01-06
CN112912954B (zh) 2024-05-24

Similar Documents

Publication Publication Date Title
WO2019164140A1 (en) System for processing user utterance and controlling method thereof
WO2020105856A1 (en) Electronic apparatus for processing user utterance and controlling method thereof
WO2019182252A1 (en) Electronic device and server for processing data received from electronic device
WO2019112181A1 (ko) 오디오 데이터에 포함된 음소 정보를 이용하여 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법
WO2022010157A1 (ko) 인공지능 가상 비서 서비스에서의 화면 제공 방법 및 이를 지원하는 사용자 단말 장치 및 서버
WO2021060728A1 (ko) 사용자 발화를 처리하는 전자 장치 및 그 작동 방법
WO2020101178A1 (en) Electronic apparatus and wifi connecting method thereof
WO2020101389A1 (ko) 음성 인식 기반 이미지를 표시하는 전자 장치
WO2020076086A1 (en) System for processing user utterance and operating method thereof
WO2022131566A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2022177224A1 (ko) 전자 장치 및 전자 장치의 동작 방법
WO2022055107A1 (ko) 음성 인식을 위한 전자장치 및 그 제어방법
WO2022163963A1 (ko) 전자 장치 및 전자 장치의 단축 명령어 수행 방법
WO2021096281A1 (en) Voice input processing method and electronic device supporting same
WO2020091187A1 (ko) 전자 장치 및 그 제어 방법
WO2021075820A1 (en) Method of generating wakeup model and electronic device therefor
WO2020171545A1 (en) Electronic device and system for processing user input and method thereof
WO2020075998A1 (ko) 전자 장치 및 그 제어 방법
WO2018194267A1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
WO2024080745A1 (ko) 발화 캐시에 기반하여 사용자 발화를 분석하기 위한 방법 및 이를 지원하는 전자 장치
WO2024043670A1 (ko) 사용자 발화를 분석하기 위한 방법 및 이를 지원하는 전자 장치
WO2022234919A1 (ko) 오호출을 식별하는 서버 및 이의 제어 방법
WO2022220559A1 (en) Electronic device for processing user utterance and control method thereof
WO2023158076A1 (ko) 전자 장치 및 전자 장치의 발화 처리 방법
WO2023113502A1 (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: 19879515

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019879515

Country of ref document: EP

Effective date: 20210308

NENP Non-entry into the national phase

Ref country code: DE