[go: up one dir, main page]

WO2018117608A1 - Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium - Google Patents

Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium Download PDF

Info

Publication number
WO2018117608A1
WO2018117608A1 PCT/KR2017/015041 KR2017015041W WO2018117608A1 WO 2018117608 A1 WO2018117608 A1 WO 2018117608A1 KR 2017015041 W KR2017015041 W KR 2017015041W WO 2018117608 A1 WO2018117608 A1 WO 2018117608A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
speech
data
processor
voice
Prior art date
Application number
PCT/KR2017/015041
Other languages
French (fr)
Korean (ko)
Inventor
이동현
양해훈
양희정
이정섭
전희식
최형탁
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020170145743A external-priority patent/KR102502220B1/en
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US16/467,610 priority Critical patent/US11367434B2/en
Publication of WO2018117608A1 publication Critical patent/WO2018117608A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • 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/04Segmentation; Word boundary detection
    • 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

Definitions

  • the present disclosure relates to an electronic device, a method of determining a user's utterance intention of a user, and a non-transitory computer readable recording medium. More particularly, an electronic device capable of providing response information even before a user completes a utterance, a user's utterance A method of determining intent and a non-transitory computer readable recording medium.
  • AI artificial intelligence
  • VPA virtual personal assistant
  • the existing virtual personal assistant starts the speech recognition of the user after the user speaks.
  • a plurality of voice inputs are required to execute an operation corresponding to a user's intention.
  • the existing virtual personal assistant has been ignored by users because of its slow response time. This is because it is much more convenient for the user to execute the action in a way other than voice.
  • an artificial personal assistant may be implemented as an artificial intelligence system.
  • An artificial intelligence system is a computer system that implements human-level intelligence. Unlike conventional rule-based smart systems, an artificial intelligence system is a machine that learns and judges itself and becomes smart. As the artificial intelligence system is used, the recognition rate is improved and the user's taste can be understood more accurately, and the existing rule-based smart system is gradually replaced by the deep learning-based artificial intelligence system.
  • Machine learning e.g. deep learning
  • machine learning e.g., deep learning
  • Machine learning is an algorithm technology that classifies / learns characteristics of input data by itself
  • element technology is a technology that simulates the functions of human brain cognition and judgment by using machine learning algorithms such as deep learning. It consists of technical areas such as understanding, reasoning / prediction, knowledge representation, and motion control.
  • Linguistic understanding is a technology for recognizing and applying / processing human language / characters and includes natural language processing, machine translation, dialogue system, question and answer, speech recognition / synthesis, and the like.
  • Visual understanding is a technology that recognizes and processes objects as human vision, and includes object recognition, object tracking, image retrieval, person recognition, scene understanding, spatial understanding, and image enhancement.
  • Inference Prediction is a technique for judging, logically inferring, and predicting information. It includes knowledge / probability-based inference, optimization prediction, preference-based planning, and recommendation.
  • Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge construction (data generation / classification) and knowledge management (data utilization).
  • Motion control is a technology for controlling autonomous driving of a vehicle and movement of a robot, and includes motion control (navigation, collision, driving), operation control (action control), and the like.
  • the present disclosure is to solve the above-described problems, and to provide an electronic device capable of providing a virtual personal assistant function corresponding to the user's speech in real time, a method of determining the user's speech intent, and a non-transitory computer-readable recording medium.
  • the purpose is to solve the above-described problems, and to provide an electronic device capable of providing a virtual personal assistant function corresponding to the user's speech in real time, a method of determining the user's speech intent, and a non-transitory computer-readable recording medium.
  • An electronic device to achieve the above object is based on a microphone for receiving a user voice spoken by a user and at least one word included in the user voice while the user voice is input. Determine a speech intent of the speech signal, provide response information corresponding to the determined speech intent, and update the response information based on the additional words spoken after the at least one word is input while the response information is provided. It may include a processor.
  • the processor determines the reliability of a plurality of speech intents based on the input at least one word, and if the speech intent having a reliability equal to or greater than a predetermined value is detected among the plurality of speech intents, the detected speech intent May be determined as the user's intention to speak.
  • the processor may initiate an execution preparation operation of an application for performing an operation corresponding to a speech intent having the highest reliability among the plurality of speech intents.
  • the display device may further include a display, wherein the processor controls the display to display an execution screen of an application for performing an operation corresponding to the detected speech intent when the speech intent having the reliability equal to or greater than the predetermined value is detected. can do.
  • the processor may control the display to display a UI for inducing the user to speak additional information necessary to perform an operation corresponding to the detected speech intent.
  • the display device may further include a display.
  • the processor controls the display to display a list UI including the determined plurality of speech intents.
  • response information corresponding to the selected utterance intention may be provided.
  • the processor may be further configured to provide response information corresponding to the newly determined speech intention when the speech intent newly determined based on the additional word is different from the speech intent determined based on the at least one word.
  • the response information can be updated.
  • the display device may further include a display, and the processor may control the display to display the provided response information.
  • the response information may include the entity name and intention.
  • the response information may be updated based on the spoken additional word.
  • the determining may include determining reliability of a plurality of speech intents based on the input at least one word, detecting speech intents having a reliability greater than or equal to a predetermined value among the plurality of speech intents;
  • the method may include determining the detected speech intent as the speech intent of the user.
  • the method may further include initiating an execution preparation operation of an application for performing an operation corresponding to a speech intent having the highest reliability among the plurality of speech intents.
  • the method may further include displaying an execution screen of an application for performing an operation corresponding to the detected speech intent when the speech intent having the reliability equal to or greater than the preset value is detected.
  • the method may further include displaying a UI for inducing the user to utter additional information necessary to perform an operation corresponding to the detected speech intent.
  • the determining may further include displaying a list UI including the determined plurality of speech intents when the reliability of the determined plurality of speech intents is less than a preset value.
  • response information corresponding to the selected utterance intention may be provided.
  • the updating may include providing response information corresponding to the newly determined utterance intention when the utterance intention newly determined based on the additional word is different from the utterance intention determined based on the at least one word.
  • the provided response information can be updated.
  • a non-transitory computer readable recording medium including a program for executing a method of determining a user utterance intention of an electronic device according to an embodiment of the present disclosure for receiving the above object receives an input of a user voice spoken by a user. Determining a user's speech intent based on at least one word included in the user's voice while the user's voice is input, providing response information corresponding to the determined user's speech intent, and And updating the response information based on the additional words spoken after the at least one word is input while the response information is provided.
  • Providing the response information may include displaying the response information.
  • the response information may include the entity name and intention.
  • the response speed of the virtual personal assistant function may be improved, and an operation corresponding to a user utterance intention may be performed with a minimum conversation pattern.
  • FIG. 1 is a conceptual diagram illustrating a virtual personal assistant system according to an embodiment of the present disclosure
  • FIG. 2 is a schematic block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure
  • FIG. 3 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure
  • FIG. 4 is a block diagram of a processor in accordance with some embodiments of the present disclosure.
  • 5A is a block diagram of a data learning unit according to some embodiments of the present disclosure.
  • 5B is a block diagram of a data recognizer according to some embodiments of the present disclosure.
  • FIG. 6 is a diagram illustrating an embodiment of providing / recognizing response information using reliability of a word representing intention
  • FIG. 7 is a diagram illustrating a screen provided according to the embodiment of FIG. 6;
  • FIG. 8 is a diagram illustrating an embodiment in which response information is changed by recognizing an additional spoken voice of a user.
  • FIG. 9 is a diagram illustrating an embodiment of displaying a UI for selecting a plurality of speech intents corresponding to individual names
  • FIG. 10 is a diagram illustrating a screen provided according to the embodiment of FIG. 9; FIG.
  • FIG. 11 is a diagram illustrating an embodiment of displaying a UI for inducing a user to utter additional information.
  • 12 to 15 are flowcharts illustrating a method for determining user utterance intention of an electronic device according to various embodiments of the present disclosure.
  • 16 is a sequence diagram illustrating a method of building a data recognition model by a system including an electronic device and a server according to an embodiment of the present disclosure.
  • 17 is a sequence diagram illustrating a method of recognizing data by a system including an electronic device and a server according to an embodiment of the present disclosure.
  • first and second may be used to describe various components, but the components are not limited by the terms. The terms are only used to distinguish one component from another.
  • first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
  • the module or unit performs at least one function or operation, and may be implemented by hardware or software or a combination of hardware or software.
  • a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module except for 'modules' or 'units' that need to be implemented by specific hardware, and may be implemented as at least one processor.
  • the virtual personal assistant system 1000 may include an electronic device 100 and a server 200.
  • the electronic device 100 and the server 200 may interwork to provide a virtual personal assistant function to a user.
  • the term 'virtual personal assistant' refers to a software application that understands a user's language and performs instructions desired by a user through a combination of artificial intelligence and voice recognition technology.
  • a virtual personal assistant may perform artificial intelligence functions such as machine learning, deep speech recognition, sentence analysis, and situational awareness, including deep learning.
  • the virtual personal assistant may provide a personalized service for the individual by learning a user's habits or patterns. Examples of virtual personal assistants include S voice and Bixby.
  • the electronic device 100 may be a mobile device such as a smartphone or a tablet PC, but this is only an example, and a voice recognition device, a hub of a home network, an electronic frame, a humanoid robot, an audio device, a navigation device, a smart TV, etc. Any device capable of recognizing a user's voice and performing a corresponding operation may be implemented.
  • the electronic device 100 may recognize a user voice spoken by a user and understand a language. In addition, the electronic device 100 may manage a conversation with a user and generate a response.
  • the server 200 may provide information required when the electronic device 100 manages a conversation with a user and generates a response. In addition, the server 200 may provide and update a language model used by the electronic device 100.
  • the electronic device 100 and the server 200 may provide a virtual personal assistant function in cooperation with each other, but provide a virtual personal assistant function only by the operation of the electronic device 100. It may be implemented as. In addition, the electronic device 100 may merely be implemented as an input / output device for receiving a user's voice and providing response information, and may be implemented in a form in which the server 200 processes most of a virtual personal assistant function.
  • the electronic device 100 may include a microphone 110 and a processor 120.
  • the microphone 110 may receive a user voice spoken by the user.
  • the microphone 110 may be implemented as an integrated body integrated with the upper side, the front side, the side direction, or the like of the electronic device 100, or may be provided as a separate means and connected to the electronic device 100 through a wired or wireless interface. have.
  • the microphone 110 may include a plurality of microphones, and may generate a plurality of voice signals by receiving voices from different locations. Using the plurality of voice signals, the electronic device 100 may generate a single voice signal that is enhanced in a pre-processing process before performing the voice recognition function.
  • the processor 120 may recognize the input user voice.
  • the processor 120 may perform preprocessing on the input user voice before performing the voice recognition function.
  • preprocessing may include operations such as noise removal and feature extraction.
  • the preprocessing process may be performed by the processor 120 or may be performed through a separate component.
  • the processor 120 may perform an operation corresponding to the determined utterance intention when the utterance intention of the user can be determined even in the middle of the utterance of the user.
  • the processor 120 may measure the reliability of the recognition result of the user voice spoken up to now.
  • the processor 120 may provide response information corresponding to the intention of the user having a predetermined reliability or more even before the user's utterance is terminated.
  • the processor 120 may update the response information using the additional voice spoken after the user voice used to provide the response information.
  • the processor 120 may newly determine a user's intention to speak based on the entire user's voice plus the added voice. If it is determined that the intention is the same as the determined intention of the user, the processor 120 may provide more accurate response information. In contrast, if it is determined that the user's intention is different from the determined intention, the processor 120 may replace the response information provided with the response information corresponding to the newly determined intention.
  • the processor 120 may more accurately provide response information corresponding to the determined intention of the user. For example, when the intention of the user who wants to provide a map for 'Seoul-si, Seoul' is determined, the processor 120 recognizes an additional user voice called 'Gangnam-daero' and the resolution is further increased. On the map, you can provide a map (only magnified around Gangnam-daero).
  • the processor 120 may replace the provided response information with response information corresponding to the newly determined user's intention and provide the response information. For example, when it is determined that a user intends to provide a map for Seocho-gu, Seoul, the processor 120 recognizes an additional user voice of 'weather tomorrow' and provides weather information instead of the provided map information.
  • the execution screen of the application may be provided.
  • the processor 120 may induce the user to speak additional information necessary to perform an operation corresponding to the determined speech intent. By allowing the user to utter all the information necessary to perform the operation within a small number of talk turns, the processor 120 may prevent the occurrence of additional talk turns and increase the response speed.
  • the processor 120 may provide a screen for inducing the user's utterance about the alarm setting time, whether or not to repeat the information necessary for setting the alarm.
  • the electronic device 100 may include a microphone 110, a processor 120, a display 130, an input unit 140, a communication unit 150, a memory 160, and a speaker 170. have.
  • the electronic device 100 may include various components such as an image receiving unit (not shown), an image processing unit (not shown), a power supply unit (not shown), and a wired interface (not shown). have.
  • the electronic device 100 is not limited to being implemented to necessarily include all the configurations shown in FIG. 3.
  • the microphone 110 is implemented in various forms to perform a function of receiving a user's voice.
  • the microphone 110 may include various acoustic filters to remove noise.
  • the display 130 may display various image contents, information, UI, etc. provided from the electronic device 100.
  • the display 130 may display a response information providing screen corresponding to a user voice.
  • the display 130 may be implemented as a liquid crystal display (LCD), an organic light emitting diode (OLED), a plasma display panel (PDP), or the like, thereby forming the electronic device 100.
  • LCD liquid crystal display
  • OLED organic light emitting diode
  • PDP plasma display panel
  • Various screens that can be provided can be displayed.
  • the display 130 may display an image corresponding to the voice recognition result of the processor 120.
  • the display 130 may display response information corresponding to a speech intent determined by the user's voice as text or an image.
  • the display 130 may display a UI for guiding additional information required for an operation corresponding to the intention of speaking.
  • the display 130 may display a UI for displaying a plurality of speech intent lists, text indicating a user voice recognized to date, an application execution screen for performing an operation corresponding to speech intent, and the like.
  • the input unit 140 receives various user commands for controlling the electronic device 100.
  • the input unit 140 may receive a user command for selecting one of a plurality of speech intents displayed on the UI.
  • the input unit 140 may be implemented as a button, a motion recognition device, a touch pad, or the like.
  • the microphone 110 performs a voice input function
  • the input unit 140 may perform a function of receiving a user command except for a voice input.
  • the input unit 140 when the input unit 140 is implemented as a touch pad, the input unit 140 may be implemented in the form of a touch screen combined with the display 130 to form a mutual layer structure.
  • the touch screen may detect a touch input position, an area, and a pressure of a tire input.
  • the communicator 150 communicates with an external device.
  • the external device may be implemented as a server 200, a cloud storage, a network, or the like.
  • the communicator 150 may transmit a voice recognition result to an external device and receive corresponding information from the external device.
  • the communicator 150 may receive a language model for speech recognition from an external device.
  • the communication unit 150 may include various communication modules such as a short range wireless communication module (not shown), a wireless communication module (not shown), and the like.
  • the short range wireless communication module is a module for communicating with an external device located in a short range according to a short range wireless communication scheme such as Bluetooth, Zigbee, or the like.
  • the wireless communication module is a module that is connected to an external network and performs communication according to a wireless communication protocol such as WiFi, WiFi direct, or IEEE.
  • the wireless communication module performs communication by connecting to a mobile communication network according to various mobile communication standards such as 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), Long Term Evoloution (LTE), LTE Advanced (LTE-A), etc. It may further include a mobile communication module.
  • the memory 160 may store various modules, software, and data for driving the electronic device 100.
  • the memory 160 may store an acoustic model (AM) and a language model (LM) that may be used to recognize a user's voice.
  • AM acoustic model
  • LM language model
  • the memory 160 is a storage medium that stores various programs necessary for operating the electronic device 100.
  • the memory 160 may be implemented in the form of a flash memory, a hard disk drive (HDD), a solid state drive (SSD), or the like.
  • the memory 160 may include a ROM for storing a program for performing an operation of the electronic device 100 and a RAM for temporarily storing data for performing an operation of the electronic device 100.
  • the memory 160 may store programs and data for configuring various screens to be displayed on the display 130.
  • the memory 160 may store a program, an application, and data for performing a specific service.
  • the memory 160 may store a map application, a transportation reservation application, a music application, a schedule management application, and the like.
  • the memory 160 may previously store various response messages corresponding to the voice of the user as voice or text data.
  • the electronic device 100 may read at least one of voice and text data corresponding to the received user voice (especially, a user control command) from the memory 160 and output the read out voice to the display 130 or the speaker 170.
  • the speaker 170 may output voice.
  • the speaker 170 may output not only various audio data but also a notification sound or a voice message.
  • the electronic device 100 may include a speaker 170 as an output unit for providing an interactive voice recognition function. Through the speaker, the electronic device 100 may provide the user with a user experience that is like talking with the electronic device 100.
  • the speaker 170 may be built in the electronic device 100 or may be implemented in the form of an output port such as a jack.
  • the processor 120 may control the above-described components of the electronic device 100.
  • the processor 120 may control the display 130 to display an execution screen of an application that performs an operation corresponding to the determined speech intent of the user.
  • the processor 120 may be implemented as a single CPU to perform a voice recognition operation, a language understanding operation, a conversation management operation, a response generation operation, or the like, or may be implemented with a plurality of processors and IPs performing specific functions.
  • the processor 120 may perform speech recognition based on a traditional hidden markov model (HMM), or may perform deep learning based speech recognition such as a deep neural network (DNN).
  • HMM hidden markov model
  • DNN deep neural network
  • the processor 120 may use big data and user-specific history data for speech recognition and reliability measurement. In this manner, the processor 120 may use the speech recognition model learned from the big data and personalize the speech recognition model. For example, the processor 120 may determine the reliability of the entity name using the learned acoustic model AM, and determine the reliability of the intention using the learned language model LM.
  • the processor 120 may recognize a user's voice in real time. In addition, the processor 120 may determine the user's intention of speaking using the intermediate recognition result recognized to date. For example, the processor 120 may determine the user's intention of speaking based on at least one word (core word) included in the user's voice.
  • core word a word included in the user's voice.
  • the processor 120 may perform an operation corresponding to the determined speech intent.
  • the processor 120 may provide response information corresponding to the determined speech intent.
  • the processor 120 may execute an application for performing an operation corresponding to the determined speech intent.
  • the processor 120 may update the response information from the spoken user voice after the intermediate recognition process for the user voice is performed. That is, the processor 120 may recognize the additionally input user voice together with the previously input user voice while the operation corresponding to the intention to speak is performed (for example, while the response information is provided). Therefore, the processor 120 may determine whether the user's intention to be determined as the intermediate recognition process is correct.
  • the processor 120 may update the response information based on the additional words spoken after the at least one word is input while the response information is provided.
  • the processor 120 may provide more precise information.
  • the processor 120 may provide response information corresponding to the intention of the user, which is determined based on additional words instead of the existing response information.
  • the processor 120 may recognize the voice of the user in real time and select a plurality of candidate speech intentions from the recognized user voice. If one of the candidate speech intentions has a value equal to or greater than the predetermined reliability, the processor 120 may determine that the intention having a value equal to or greater than the predetermined reliability is the user's intention to speak. By monitoring in real time whether the user's speech intent can be determined using only the recognized user voice, the processor 120 may reduce the time required to respond to the user.
  • the processor 120 may statistically determine what information the user wants to search or what the user wants to execute when a specific word is input, using the big data and the voice data received and stored from the user. Reliability is the quantification of these statistical judgments. For example, the processor 120 may determine the reliability of the entity name using the learned acoustic model AM, and determine the reliability of the intention using the learned language model LM.
  • the processor 120 may prepare an operation corresponding to the intention of speaking the user in advance.
  • the processor 120 may initiate an execution preparation operation of an application for performing an operation corresponding to a speech intent having the highest reliability among the plurality of candidate speech intents. For example, if the intent of uttering the most reliable is to search the map for the location of an office located in Seocho-gu, Seoul, the processor 120 may execute a map application or activate the GPS function of the electronic device 100. have.
  • the processor 120 may determine the speech intention as the user's speech intent. In addition, the processor 120 may control the display 130 to display an execution screen of an application for performing an operation corresponding to the determined speech intent.
  • the processor 120 may control the display 130 to display a UI that prompts the user to speak a voice including the additional information. have. Through this, the processor 120 may prevent the talk turn from occurring further, and may induce the user to speak all the information in this talk turn.
  • the processor 120 may display a UI including the plurality of candidate speech intents so that the user may directly select the speech intents.
  • the processor 120 may perform an operation corresponding to the speech intent selected by the user. Such an embodiment may be more usefully used when only a simple entity name is recognized, not a sentence for intent determination from a user's voice.
  • a processor 120 may include a data learner 121 and a data recognizer 122.
  • the processor 120 may be included in the electronic device 100 or included in the server 200.
  • At least a part of the data learning unit 121 and at least a part of the data recognizing unit 122 may be implemented as a software module or manufactured in the form of a hardware chip and mounted on the electronic device 100 or the server 200. have.
  • the data learner 121 may learn criteria for speech recognition, language understanding, and user's speech intent determination.
  • the processor 120 may analyze the input user voice according to the learned criteria to determine the user's intention to speak, and generate corresponding response information.
  • the data learner 121 may determine what data to use to recognize the user's voice.
  • the data learner 121 may determine what data to use to determine the user's intention by understanding the recognized user's voice.
  • the data learner 121 acquires data to be used for learning, and applies the acquired data to a data recognition model to be described later to learn criteria for determining speech recognition and user speech intent.
  • the data learner 121 may acquire data to be used for learning from another external server or electronic device.
  • the data recognizer 122 recognizes a situation from predetermined data by using the learned data recognition model. can do.
  • the data recognizer 122 may obtain predetermined data according to a predetermined criterion by learning, and use the data recognition model by using the acquired data as an input value. For example, the data recognizer 122 may recognize the input user voice by using the learned acoustic model and the language model. The data recognizer 122 may determine the user's intention to speak based on the recognized user voice.
  • the data recognition unit 122 may update the data recognition model by using the data acquired as the voice recognition and speech intention result values for each user as input values again. As such, the data recognizer 122 may use big data and user-specific history data to measure reliability of speech recognition and speech intent.
  • the processor 120 may personalize the speech recognition model while using the speech recognition model learned from the big data.
  • At least one of the data learner 121 and the data recognizer 122 may be manufactured in the form of one or a plurality of hardware chips and mounted on the electronic device 100.
  • at least one of the data learner 121 and the data recognizer 122 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be a conventional general purpose processor (eg, It may be manufactured as a part of a CPU or an application processor) or a graphics dedicated processor (eg, a GPU) and mounted on the aforementioned various electronic devices 100.
  • AI artificial intelligence
  • a conventional general purpose processor eg, It may be manufactured as a part of a CPU or an application processor
  • a graphics dedicated processor eg, a GPU
  • the dedicated hardware chip for artificial intelligence is a dedicated processor specialized in probability calculation, and has higher parallelism performance than the conventional general-purpose processor, so that it is possible to process arithmetic tasks in the field of artificial intelligence such as machine learning.
  • the data learner 121 and the data recognizer 122 are both mounted on the electronic device 100, but they may be mounted on separate devices.
  • one of the data learner 121 and the data recognizer 122 may be included in the electronic device 100, and the other may be included in the server 200.
  • the data learner 121 and the data recognizer 122 may be connected to each other by wire or wirelessly, so that model information constructed by the data learner 121 may be provided to the data recognizer 122, and the data recognizer 122 may be provided.
  • the data input to 122 may be provided to the data learner 121 as additional learning data.
  • the electronic device 100 may include a data recognizer 122, and the external server 200 may include a data learner 121.
  • the server 120 may learn a criterion for determining the intention of the user, and the electronic device 100 may determine the intention of the voice spoken by the user based on the learning result by the server 200.
  • the data learner 121 of the server 200 may learn a criterion about what data is used to determine the user intention and how to determine the user intention using the data.
  • the data learner 121 acquires data to be used for learning and applies the acquired data to a data recognition model to be described later, thereby learning a criterion for determining user intention.
  • the electronic device 100 may include the data learner 121, and an external device such as a server may include the data recognizer 122.
  • At least one of the data learner 121 and the data recognizer 122 may be implemented as a software module.
  • the software module may be stored in a non-transitory computer readable recording medium.
  • At least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
  • the data learner 121 may include a data acquirer 121-1, a preprocessor 121-2, a training data selector 121-3, and a model learner 121. -4) and the model evaluator 121-5.
  • the data acquirer 121-1 may acquire data necessary for determining a situation.
  • the data acquirer 121-1 may obtain voice data by converting a user voice signal input through the microphone 110 into a digital signal.
  • the data acquirer 121-1 may receive learning voice data from the server 200 or a network such as the Internet.
  • the preprocessor 121-2 may preprocess the acquired data so that the data obtained for learning for the situation determination may be used.
  • the preprocessor 121-2 may process the acquired data in a predetermined format so that the model learner 121-4, which will be described later, uses the acquired data for learning for situation determination.
  • the preprocessor 121-2 may extract a section that is a recognition target for the input user voice.
  • the preprocessor 121-2 may generate voice data by performing noise removal, feature extraction, and the like.
  • the preprocessor 121-2 may generate voice data to be suitable for speech recognition by analyzing a frequency component of an input user voice, reinforcing some frequency components, and suppressing other frequency components.
  • the training data selector 121-3 may select data necessary for learning from the preprocessed data.
  • the selected data may be provided to the model learner 121-4.
  • the training data selector 121-3 may select data required for learning from preprocessed data according to a predetermined criterion for determining a situation.
  • the training data selection unit 121-3 may select data according to a predetermined criterion by learning by the model training unit 121-4 to be described later.
  • the learning data selector 121-3 may remove voice data having high similarity among the preprocessed voice data. That is, for initial learning, the learning data selector 121-3 may select voice data having low similarity so as to learn a criterion that is easy to distinguish.
  • the learning data selector 121-3 may select only voice data spoken in a specific language. Since the speech characteristics are different for each language, by selecting the speech data set spoken in a specific language, the training data selector 121-3 may allow the model learner 121-4 to learn a criterion suitable for the selected specific language. have.
  • the learning data selector 121-3 may select voice data in which characteristics of each language are reflected.
  • the model learner 121-4 may learn a criterion for which language the voice data corresponds to.
  • the training data selector 121-3 selects only voice data of a specific user so that the model learner 121-4 learns a criterion for speaker dependent or speaker adoption recognition. You can do that.
  • the learning data selector 121-3 may select preprocessed voice data that satisfactorily meets one of the preset criteria by learning. In this way, the model learner 121-4 may learn another criterion different from the previously learned criterion.
  • the model learner 121-4 may learn a criterion about how to determine a situation based on the training data. In addition, the model learner 121-4 may learn a criterion about what learning data should be used for situation determination.
  • the model learner 121-4 may learn physical features that distinguish phonemes, syllables, vowels, etc. by comparing the plurality of voice data. In this way, the model learner 121-4 may construct an acoustic model AM for classifying sound units such as phonemes. In addition, the model learner 121-4 may learn a word or lexical use by comparing a plurality of voice data. Through this, the model learning unit 121-4 may build a language model LM.
  • the model learner 121-4 may train the data recognition model used for situation determination using the training data.
  • the data recognition model may be a pre-built model.
  • the data recognition model may be a model built in advance by receiving basic training data (eg, sample voice data).
  • the data recognition model may be an acoustic model AM or a language model LM pre-built using big data.
  • the model learner 121-4 learns the voice data of a specific user and converts the speaker-independent pre-built acoustic model AM or language model LM into a personalized acoustic model AM or language model LM. It can also be developed.
  • the data recognition model may be constructed in consideration of the application field of the recognition model, the purpose of learning, or the computer performance of the device.
  • the data recognition model can be designed to simulate the human brain structure on a computer.
  • the data recognition model may include a plurality of weighted network nodes that simulate neurons in a human neural network.
  • the plurality of network nodes may form a connection relationship so that neurons simulate synaptic activity through which signals are sent and received through synapses.
  • the data recognition model may include, for example, a neural network model or a deep learning model developed from the neural network model. In the deep learning model, a plurality of network nodes may be located at different depths (or layers) and exchange data according to a convolutional connection relationship.
  • the data recognition model may include, for example, a model such as a deep neural network (DNN), a recurrent neural network (RNN), and a bidirectional recurrent deep neural network (BRDNN), and is not particularly limited to the above-described example.
  • the model learner 121-4 may determine a data recognition model having a high correlation between input training data and basic training data as a data recognition model to be trained. .
  • the basic training data may be enjoyed for each type of data, and the data recognition model may be built in advance for each type of data.
  • the basic training data may be mood based on various criteria such as the region where the training data is generated, the time at which the training data is generated, the size of the training data, the genre of the training data, the creator of the training data, the types of objects in the training data, and the like. It may be.
  • model learner 121-4 may train the data recognition model using, for example, a learning algorithm including an error back-propagation method or a gradient descent method. .
  • the model learner 121-4 may train the data recognition model through supervised learning using the training data as an input value.
  • the model learner 121-4 learns a data recognition model through unsupervised learning that discovers a criterion for situation determination by learning a kind of data necessary for situation determination without a separate guidance. I can learn.
  • the model learner 121-4 may train the data recognition model through reinforcement learning using feedback on whether the result of the situation determination according to the learning is correct.
  • the model learner 121-4 may store the trained data recognition model.
  • the model learner 121-4 may store the learned data recognition model in the memory 160 of the electronic device 100.
  • the model learner 121-4 may store the learned data recognition model in a memory of the server 200 connected to the electronic device 100 through a wired or wireless network.
  • the memory 160 in which the learned data recognition model is stored may also store commands or data related to at least one other element of the electronic device 100.
  • the memory 160 may also store software and / or programs.
  • the program may include a kernel, middleware, an application programming interface (API) and / or an application program (or “application”), and the like.
  • the model evaluator 121-5 may input the evaluation data into the data recognition model, and cause the model learner 121-4 to relearn if the recognition result output from the evaluation data does not satisfy a predetermined criterion. have.
  • the evaluation data may be preset data for evaluating the data recognition model.
  • the evaluation data may be speech data including phonemes with different physical characteristics.
  • the evaluation data can then be replaced with a voice data set with increasingly similarities.
  • the model evaluator 121-5 may gradually verify the performance of the data recognition model.
  • the model evaluator 121-5 may determine a predetermined criterion when the number or ratio of the evaluation data that is not accurate among the recognition results of the learned data recognition model for the evaluation data exceeds a preset threshold. It can be evaluated as not satisfied. For example, when a predetermined criterion is defined at a ratio of 2%, the model evaluation unit 121-5 when the trained data recognition model outputs an incorrect recognition result for more than 20 evaluation data out of a total of 1000 evaluation data. Can be judged that the learned data recognition model is not suitable.
  • the model evaluator 121-5 evaluates whether a predetermined criterion is satisfied for each trained speech recognition model, and recognizes the final data for a model satisfying the predetermined criterion. Can be determined as a model. In this case, when there are a plurality of models satisfying a predetermined criterion, the model evaluator 121-5 may determine any one or a predetermined number of models that are preset in the order of the highest evaluation score as the final data recognition model.
  • At least one of -5) may be manufactured in the form of at least one hardware chip and mounted on the electronic device.
  • One may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as an existing general purpose processor (eg, a CPU or an application processor) or part of an IP for a specific function. It may be mounted on the electronic device 100.
  • AI artificial intelligence
  • the data obtaining unit 121-1, the preprocessor 121-2, the training data selecting unit 121-3, the model learning unit 121-4, and the model evaluating unit 121-5 are one electronic components. It may be mounted on the device, or may be mounted on separate electronic devices, respectively.
  • some of the data acquirer 121-1, the preprocessor 121-2, the training data selector 121-3, the model learner 121-4, and the model evaluator 121-5 are provided. May be included in the electronic device 100, and some of them may be included in the server 200.
  • At least one of the data acquirer 121-1, the preprocessor 121-2, the training data selector 121-3, the model learner 121-4, and the model evaluator 121-5 is provided. It may be implemented as a software module. At least one of the data acquirer 121-1, the preprocessor 121-2, the training data selector 121-3, the model learner 121-4, and the model evaluator 121-5 is a software module. (Or, a program module including instructions), the software module may be stored on a non-transitory computer readable recording medium. At least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
  • OS operating system
  • Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
  • 5B is a block diagram of a data recognizer 122 according to some embodiments of the present disclosure.
  • the data recognizer 122 may include a data acquirer 122-1, a preprocessor 122-2, a recognition data selector 122-3, and a recognition result providing unit ( 122-4) and the model updater 122-5.
  • the data acquirer 122-1 may acquire data necessary for situation determination, and the preprocessor 122-2 may preprocess the acquired data so that the acquired data may be used for situation determination.
  • the preprocessing unit 122-2 may process the acquired data into a predetermined format so that the recognition result providing unit 122-4 to be described later can use the obtained data for determining the situation.
  • the recognition data selector 122-3 may select data required for situation determination from among the preprocessed data.
  • the selected data may be provided to the recognition result provider 122-4.
  • the recognition data selector 122-3 may select some or all of the preprocessed data according to a predetermined criterion for determining the situation.
  • the recognition data selector 122-3 may select data according to a predetermined criterion by learning by the model learner 142-4 to be described later.
  • the recognition result provider 122-4 may determine the situation by applying the selected data to the data recognition model.
  • the recognition result providing unit 122-4 may provide a recognition result according to the recognition purpose of the data.
  • the recognition result providing unit 122-4 may apply the selected data to the data recognition model by using the data selected by the recognition data selecting unit 122-3 as an input value.
  • the recognition result may be determined by the data recognition model.
  • the recognition result providing unit 122-4 may recognize the input user utterance according to a division criterion determined in the data recognition model.
  • the processor 120 may determine the user's intention to speak based on the recognized user voice.
  • the recognition result provider 122-4 may recognize a key word from a user speech input using a data recognition model. Based on the recognized key word, the processor 120 may perform an operation corresponding to the user's intention of speaking. In addition, the processor 120 may induce a user to utter a keyword including additional information necessary to perform an operation.
  • the model updater 122-5 may cause the data recognition model to be updated based on the evaluation of the recognition result provided by the recognition result provider 122-4. For example, the model updater 122-5 may provide the model learner 141-4 to the model learner 141-4 by providing the recognition result provided by the recognition result provider 122-4 to the model learner 141-4.
  • the data recognition model can be updated.
  • the data acquisition unit 122-1, the preprocessor 122-2, the recognition data selection unit 122-3, the recognition result providing unit 122-4, and the model updating unit in the data recognition unit 122 may be manufactured in the form of at least one hardware chip and mounted on the electronic device.
  • At least one may be fabricated in the form of a dedicated hardware chip for artificial intelligence (AI), or may be fabricated as part of an existing general purpose processor (e.g., a CPU or application processor) or an IP for a particular function as described above. It may be mounted on various electronic devices 100.
  • AI artificial intelligence
  • an existing general purpose processor e.g., a CPU or application processor
  • IP IP for a particular function as described above. It may be mounted on various electronic devices 100.
  • one data acquisition unit 122-1, the preprocessor 122-2, the recognition data selection unit 122-3, the recognition result providing unit 122-4, and the model updater 122-5 may be mounted on the device, or may be mounted on separate electronic devices, respectively.
  • the preprocessor 122-2, the recognition data selector 122-3, the recognition result provider 122-4, and the model updater 122-5 may be included in the electronic device 100 and others may be included in the server 200.
  • At least one of the data acquirer 122-1, the preprocessor 122-2, the recognition data selector 122-3, the recognition result provider 122-4, and the model updater 122-5 May be implemented as a software module.
  • At least one of the data acquirer 122-1, the preprocessor 122-2, the recognition data selector 122-3, the recognition result provider 122-4, and the model updater 122-5 is software. If implemented as a module (or a program module containing instructions), the software module may be stored on a non-transitory computer readable recording medium.
  • At least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
  • OS operating system
  • Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
  • the processor 120 may determine the user's intention of speaking based on at least one word included in the user voice while the user voice is input.
  • the at least one word included in the user's voice may include a word representing an intent and a word representing a slot.
  • the entity name is a word that knows information such as place, type, time, origin, and destination. For example, a user voice of "I'm hungry. Is there a good steak house near Seoul Station?" May be classified as a word representing intention. Also, words such as 'Seoul Station' and 'steak' may be classified as words representing individual names.
  • the processor 120 may determine an operation corresponding to the user's voice based on the reliability of each word representing the intention and the entity name. For example, if the reliability of the words representing the intention and the entity name are both less than the predetermined value, the processor 120 may wait for additional input of the user's voice.
  • the processor 120 may start preparing for executing an operation corresponding to the specific intention.
  • the processor 120 may control the display 130 to display an object name additionally required to execute an operation.
  • the processor 120 may control the display 130 to display a plurality of candidate intentions related to the specific entity name.
  • the processor 120 may update the response information by using the additional spoken user voice. If there is no change in the reliability value, the processor 120 may maintain the response information currently displayed on the display 130. Conversely, if there is a change in the reliability value, the processor 120 may update the response information currently displayed on the display 130. That is, the processor 120 may control the display 130 to display updated response information.
  • FIG. 6 is a diagram illustrating an embodiment in which a word representing an intention is first recognized, and a word representing an entity name is additionally recognized to update response information.
  • a predetermined value of reliability which is a threshold for displaying response information
  • the threshold value for preparing for the corresponding operation is set to 0.7. As described above, in the embodiment of FIG. 6, two thresholds are set, but only one threshold may be set.
  • the processor 120 may set a plurality of thresholds and use it as a trigger for performing each step.
  • the processor 120 may generate a reliability measurement model for determining reliability based on the big data and the user history data.
  • the data learning unit 121 and the data recognizing unit 122 may be used to generate the reliability measurement model.
  • the processor 120 may extract a plurality of speech intents from a user voice of “doubled now” that the user speaks up to now. For example, the processor 120 may extract the intention (Search.Time) for asking the time from the word "now". In addition, the processor 120 may extract an intention to search for a hospital (Search. Hospital) and an intention to search for a restaurant (Search. Restaurant) from the word "doubled”. The processor 120 may determine the reliability of each of the extracted plurality of speech intents. Since all of the determined reliability is less than the predetermined value of 0.8, the processor 120 may wait until additional user voice is input.
  • the processor 120 may then determine that the user's uttering intent is the closest to the intention to find a restaurant (Search. Restaurant) based on further uttering up to "I'm hungry now.”
  • the processor 120 may determine the reliability from the user voice spoken up to now. Since the determined reliability is 0.7, the processor 120 may start preparation for processing an operation of finding a restaurant. For example, the processor 120 may execute a map application or activate a GPS function.
  • the processor 120 may re-recognize the intermediate speech of the user and the additional speech after the intermediate speech. Based on the re-recognized user voice, the processor 120 may find the intention and the entity name and again determine the reliability of each.
  • the processor 120 Based on the user's voice input up to "Now I'm hungry near Seoul Station", the processor 120 adjusts the reliability of Search.Restaurant to 0.8 to find a restaurant, and extracts the name "Seoul Station” related to the location. Can be.
  • the processor 120 may control the display 130 to display response information corresponding to the determined user speech intent.
  • the processor 120 may execute a map application to find a restaurant, and may set a search area of the map application to 'Seoul station' using the extracted entity name 'Seoul station'.
  • the processor 120 may control the display 130 to display an application execution screen that provides map information near Seoul station.
  • the processor 120 may further extract an 'stake house', which is an entity name related to the type.
  • the processor 120 may update the response information based on the additional spoken word. For example, the processor 120 may update the application execution screen displaying the map information near the Seoul station being provided as response information to the screen in which the arrows are displayed at the positions corresponding to the stake house.
  • the processor 120 determines that there is no additional intention or entity name extracted and that there is no change in the reliability of the previously determined intention or entity name. can do. Since the determined utterance intention of the user is the same and no additional information is input, the processor 120 may maintain the provided response information. As such, the processor 120 may determine the user's intention to speak before the user's speech is completed. Therefore, the processor 120 may reduce the time required to provide response information to the user.
  • FIG. 7 illustrates a screen provided through the display 130 according to the exemplary embodiment of FIG. 6.
  • 6 illustrates an example in which the electronic device 100 is implemented as a smartphone.
  • 7 illustrates the electronic device 100 from left to right in chronological order.
  • the processor 120 controls the display 130 to display the recognized user voice as text on the top of the display 130.
  • the processor 120 controls the display 130 to display an image indicating that the voice recognition function is activated at the bottom of the display 130.
  • the processor 120 controls the display 130 to display the response information in the center of the display 130.
  • all embodiments of the present disclosure are not limited to those having the same configuration and composition as the screen layout of FIG. 7.
  • the electronic device 100 shown on the left side of FIG. 7 is preparing for the corresponding operation processing. Based on the user's voice recognized to date, "I'm hungry," the processor 120 may determine that the intention is to find a restaurant. Since the reliability of the intention of finding a restaurant is determined to be greater than or equal to a threshold for preparing for a corresponding operation, the processor 120 may execute a map application to prepare for providing response information.
  • the electronic device 100 shown second from the left of FIG. 7 determines that there is an intention to speak with a reliability that is greater than or equal to a threshold for displaying response information.
  • a text corresponding to a speech intent and an entity name having a reliability greater than or equal to a preset value may be displayed at the bottom of the map application execution screen.
  • the processor 120 has the effect of receiving feedback from the user.
  • the processor 120 may provide map information around the Seoul station, which is a response screen corresponding to the determined intention and the entity name.
  • the electronic device 100 shown in the third from the left of FIG. 7 updates the response information by using words included in the additional spoken voice of the user.
  • the processor 120 may additionally recognize the spoken user voice and extract type information of a restaurant to be searched.
  • the processor 120 may update and provide map information around the Seoul station, which is being provided, with map information indicating the positions of the stake houses.
  • the electronic device 100 shown at the far right of FIG. 7 recognizes the user's additional spoken voice, there is no change in the reliability and there is no additional recognized entity name. Therefore, the electronic device 100 maintains the previously provided response information screen. . Thus, substantially the response information that the user wants to receive has already been provided at the third time shown from the left of FIG. That is, the electronic device 100 according to an embodiment of the present disclosure may recognize the user's voice in real time even before the user's voice input is completed and provide / update the response information through reliability verification.
  • FIG. 8 is a diagram illustrating an embodiment in which response information is changed by recognizing an additional spoken voice of a user.
  • the processor 120 determines that the intention is to find a restaurant based on a user voice "now hungry" recognized so far. Since the reliability of the intention of finding a restaurant is determined to be greater than or equal to a threshold for preparing for a corresponding operation, the processor 120 may execute a map application to prepare for providing response information.
  • the processor 120 may further detect an entity name 'stake' from a user voice of “stake hungry now”. Since the reliability of the intention to find a restaurant was determined to be greater than or equal to a threshold for providing response information, the processor 120 controls the display 130 to display a map application execution screen for searching for a steak house currently located near the user's location. can do.
  • the processor 120 may confirm that the newly determined speech intention is different from the restaurant search intention, which is the determined speech intent, based on the additionally recognized word.
  • the processor 120 may update the response information screen so that the response information corresponding to the newly determined speech intent is provided.
  • the processor 120 may newly detect an intention of finding a recipe.
  • the processor 120 may determine the reliability of both the intention of finding an existing restaurant and the intention of finding a recipe that is a new intention.
  • the processor 120 Based on the word 'recipe' further uttered after the middle recognized user's voice, the processor 120 indicates that the confidence of the intention of finding a recipe is above a preset value and that the confidence of the intention of finding a restaurant is less than a preset value. You can judge. Accordingly, the processor 120 may control the display 130 to display response information about the steak recipe search result.
  • the processor 120 may maintain a response information screen previously provided. This is because there is no change in reliability and no additional recognized entity name as a result of recognizing the user's additional spoken voice. In fact, the response information that the user wants to receive has already been provided at the third time shown from the left of FIG.
  • FIG. 9 is a diagram illustrating an embodiment in which a word representing an entity name is first recognized and a UI for selecting a plurality of speech intents corresponding to the entity name is displayed.
  • the processor 120 may predict a plurality of speech intents based on words included in a user voice input to date.
  • the processor 120 may determine the reliability of the predicted plurality of speech intents.
  • the processor 120 may control the display 130 to display a list UI including the determined plurality of speech intents.
  • the processor 120 may control the display 130 to display response information corresponding to the selected speech intent.
  • the processor 120 may predict a speech intent from a user voice of “west”. For example, the processor 120 may predict the intention (Search.Time) of asking for time by using history data that a phoneme of “west” is first asked for a time when the phoneme is “first”. However, since the reliability of the predicted intention is low as 0.1, the processor 120 may wait for further utterance of the user without any operation.
  • the processor 120 may predict the intention (Search.Time) of asking for time by using history data that a phoneme of “west” is first asked for a time when the phoneme is “first”. However, since the reliability of the predicted intention is low as 0.1, the processor 120 may wait for further utterance of the user without any operation.
  • the processor 120 may extract 'Seoul', which is the entity name associated with the location.
  • the processor 120 may predict a plurality of speech intents associated with the extracted 'Seoul'. For example, the processor 120 may predict the intention of searching for weather (Search.Weather), the intention of finding a road (Find.Path), and the intention of searching for city information (Search.Cityinfo) as a speech intent.
  • the processor 120 may control the display 130 to list and display the predicted plurality of speech intents. If a user input for selecting one of the displayed utterance intentions is received, the processor 120 may provide response information corresponding to the selected utterance intention. For example, when a user input for selecting an intention of finding a road is received, the processor 120 may control the display 130 to display a navigation execution screen.
  • the processor 120 may wait for a further utterance of the user to be input. In the embodiment of FIG. 9, a case in which there is no user input will be described.
  • the processor 120 may adjust the confidence of the intention to find the route to 0.9.
  • the processor 120 may search for a way to Seoul by executing a navigation application using an intention and an entity name having a reliability that is greater than or equal to a preset value.
  • the processor 120 may determine that there is no change in reliability based on the user's voice input until “tell me the way to Seoul”. Since the determined intention of the user is the same and no additional information is input, the processor 120 may maintain the provided response information. The processor 120 may quickly determine the utterance intention of the user before providing the user's utterance and provide the response information quickly.
  • FIG. 10 illustrates a screen provided through the display 130 according to the exemplary embodiment of FIG. 9. However, FIG. 10 illustrates an embodiment in which there is a user input for selecting a speech intent. 10 illustrates the electronic device 100 from left to right in chronological order.
  • the processor 120 may not determine the intention or the entity name based on the user voice "We" recognized so far, and may wait for the additional speech to be recognized. .
  • the processor 120 may recognize 'Seoul', which is an entity name indicating a location, based on a user's voice input up to "Seoul.”
  • the processor 120 may predict a plurality of speech intents related to 'Seoul'. When the reliability of the predicted plurality of speech intents is determined to be less than a predetermined value, the processor 120 may display the plurality of speech intents and receive a user selection. As shown in the second drawing from the left of FIG. 10, the processor 120 may select a list UI that selects 'weather search', 'navigation', and 'city information' corresponding to a plurality of speech intents associated with the entity name 'Seoul.'
  • the display 130 can be controlled to display.
  • the processor 120 may determine the speech intent by using the additional speech.
  • the processor 120 may provide a response screen corresponding to the selected speech intent. As shown in the third drawing from the left of FIG. 10, the processor 120 may execute a navigation application to search for a route from the current location of the user to Seoul.
  • the processor 120 may know the exact speech intent by the user's selection. Therefore, the processor 120 may use the speech data of the user who has been uttered as learning data for reinforcing the speech recognition model as shown in the rightmost diagram of FIG. 10.
  • FIG. 11 is a diagram illustrating an embodiment of displaying a UI for inducing a user to utter additional information required to perform an operation corresponding to the determined speech intent.
  • the processor 120 may determine an intention of finding a route (Find. Path), a train reservation intention (Book. Train), or the like through a recognized user voice. If the reliability of the determined intentions is less than the predetermined value, the processor 120 may wait for further utterance of the user as shown in FIG. 11.
  • the processor 120 may determine that the user's utterance intention is a train reservation intention. In addition, the processor 120 may perform an operation corresponding to the determined speech intent. The information required for the train reservation operation is 'departure', 'arrival' and 'time'. Based on the user's voice spoken so far, the processor 120 can only determine that the destination is Busan from the necessary information.
  • the electronic device 100 displays a guide UI that indicates what information is required for a corresponding operation and whether necessary information has been input, as shown in the second figure from the left of FIG. 11. can do.
  • the processor 120 may induce a user to speak necessary information without additional interactive turn.
  • the processor 120 may determine whether necessary information is input based on the additional speech spoken by the user. In addition, the processor 120 may control the display 130 to display the content input to the guide UI as necessary information is input. For example, the processor 120 may add an indication of “6 tomorrow” to the “time” field from the user's additional speech of “6 tomorrow”. In addition, the processor 120 may add an indication of 'water source' to the 'origin' field from the additional speech of the user, "starting from the water source”.
  • the electronic device 100 may improve a response speed of the virtual personal assistant.
  • the electronic device 100 may perform an operation intended by the user with a minimum number of conversation turns. This allows the user to acquire a user experience for a fast and accurate virtual personal assistant function.
  • the server 200 may be the center to perform the virtual personal assistant function. That is, the electronic device 100 may perform only an input / output operation and the other functions may be implemented by the server 200.
  • the user speech intent determination method determines the intention by processing the user speech in real time, a fast communication speed between the server 200 and the electronic device 100 is required.
  • a dedicated communication channel may be established with the server 200.
  • the electronic device 100 may transmit the received user voice to the server 200.
  • the server 200 may determine the intention to speak from the user's voice, generate corresponding response information, and transmit the corresponding response information to the electronic device 100.
  • the electronic device 100 may output the received response information and provide it to the user.
  • FIGS. 12 to 15 are diagrams for determining a method of determining a user utterance intention of the electronic device 100 according to various embodiments of the present disclosure.
  • the electronic device 100 may receive a user voice spoken by a user in operation S1210. While the user's voice is received, the electronic device 100 may determine the user's intention of speaking based on at least one word included in the user's voice (S1220). That is, the electronic device 100 may determine the intention to speak in real time based on the user's voice input until now even before the user's speech is completed. In addition, since the verification process of measuring the reliability of the determined speech intent is performed, the electronic device 100 may not provide a result that is completely different from that of the user.
  • the electronic device 100 may provide response information corresponding to the determined speech intent of the user in operation S1230.
  • the electronic device 100 may display a screen of a result of performing an operation corresponding to the intention of speaking.
  • the electronic device 100 may display a screen of a result of searching for today's weather.
  • the electronic device 100 may perform an operation corresponding to the intention of speaking.
  • the electronic device 100 may set an alarm in response to user speech.
  • the electronic device 100 may update the response information (S1240).
  • the electronic device 100 may provide response information based on the recognized user voice, and may subsequently determine the user utterance intention based on the entire user voice including the additionally uttered user voice. Therefore, as the user speaks further, the electronic device 100 may update and provide the response information in real time.
  • the electronic device 100 may provide more accurate and detailed response information based on the contents recognized from the additional speech.
  • the electronic device 100 may recognize that the user's intention of speaking is wrongly determined based on the contents recognized from the additional speech.
  • the electronic device 100 may update and provide response information corresponding to a newly determined user's utterance intention.
  • the electronic device 100 may receive a user voice spoken by a user.
  • the electronic device 100 may recognize a voice of an input user.
  • the electronic device 100 may estimate a plurality of speech intentions based on the user voice recognized to date (S1320). For example, the electronic device 100 may extract a keyword corresponding to an intention or an object name from the user voice recognized to date. The electronic device 100 may estimate a plurality of speech intentions based on the extracted at least one keyword.
  • the electronic device 100 may measure reliability of each of the estimated plurality of speech intents (S1330). If the reliability of all the utterance intentions is lower than a predetermined criterion (S1330-N), the electronic device 100 may wait for an additional utterance of the user to be input. In contrast, when a speech intent having a reliability equal to or greater than a predetermined value is detected among the plurality of speech intents (S1330-Y), the electronic device 100 may determine the detected speech intent as the user's speech intent. In operation S1340, the electronic device 100 may provide response information corresponding to the determined speech intent.
  • the electronic device 100 may determine whether the user's speech has ended (S1350). If there is additionally spoken user voice (S1350-N), the electronic device 100 may estimate the plurality of speech intentions again based on the entire user voice including the additionally spoken user voice. If it is determined that the user's utterance has ended (S1350-Y), the electronic device 100 may maintain the response information provision state and wait until the next user's utterance is input.
  • the electronic device 100 may receive a user voice spoken by a user.
  • the electronic device 100 may recognize a voice of an input user.
  • the electronic device 100 may estimate a plurality of speech intentions based on the recognized user voices (S1420).
  • the electronic device 100 may measure the reliability of each of the estimated utterance intentions. For example, the electronic device 100 may statistically analyze what the intention of the user is when a specific word is input using the big data and the history data of the user. Reliability may be a numerical value representing the result of statistical analysis. For example, reliability can be defined as a value between 0 and 1.
  • the electronic device 100 may prepare for a corresponding operation during the utterance of the user in order to provide a quick response to the user's voice.
  • the electronic device 100 may prepare for an operation corresponding to the highest intention among the plurality of speech intents (S1440).
  • the electronic device 100 may execute an application used to perform an operation corresponding to the intention of speaking in the background.
  • the electronic device 100 may activate a component of the electronic device 100 used to perform an operation corresponding to the intention of speaking.
  • the electronic device 100 may wait for the additional utterance of the user to be input. On the contrary, when a speech intent having a reliability equal to or greater than a predetermined value is detected among the plurality of speech intents (S1450-Y), the electronic device 100 may determine the detected speech intent as the user's speech intent. In operation S1460, the electronic device 100 may execute an application for an operation corresponding to the determined speech intent.
  • the electronic device 100 may check whether all information necessary for performing an operation corresponding to the detected speech intent is determined from the user's voice (S1470). For example, if the intention to ignite a food delivery order, the electronic device 100 needs information such as food type, delivery company, payment means, and the like. As another example, if the intention to ignite is a train reservation, the electronic device 100 needs information such as a departure place, an arrival place, a reservation time, a payment means, and the like.
  • the electronic device 100 may display a UI for inducing the user to utter the additional information (S1480). The electronic device 100 may prevent the user from generating additional talk turns by inducing the user to speak all the information in this talk turn. When all the information for performing the operation is collected (S1470-Y), the electronic device 100 may perform an operation corresponding to the intention of speaking (S1490).
  • the electronic device 100 may receive a user voice spoken by a user.
  • the electronic device 100 may recognize a voice of an input user.
  • the electronic device 100 may estimate a plurality of speech intentions based on the recognized user voices (S1520). In operation S1530, the electronic device 100 may measure reliability of each of the estimated utterance intentions. When there is a speech intent in which the measured reliability is greater than or equal to a preset criterion (S1530-Y), the electronic device 100 may provide response information corresponding to the corresponding speech intent (S1560).
  • the electronic device 100 may display a list UI including the plurality of uttered intentions (S1540). Displaying a speech intent list and receiving a user selection may be particularly useful when only keywords corresponding to an entity name are extracted, instead of extracting keywords corresponding to intent. If the user selection is not input (S1550-N), the electronic device 100 may wait for additional speech of the user.
  • the electronic device 100 may provide response information corresponding to the selected utterance intention (S1560).
  • the electronic device 100 may store the user voice data and the determined speech intent and use the same to learn the data recognition model.
  • the electronic device 100 may determine whether the user's speech is finished (S1570). If there is additionally spoken user voice (S1570-N), the electronic device 100 may estimate a plurality of speech intentions again based on the entire user voice including the additionally spoken user voice. If it is determined that the utterance of the user is ended (S1570-Y), the electronic device 100 may maintain the response information provision state and wait until the next utterance of the user is input.
  • FIG. 16 is a sequence diagram illustrating a method of building a data recognition model by a system including an electronic device and a server according to an embodiment of the present disclosure.
  • the system for building a data recognition model may include a first component 1601 and a second component 1621.
  • the first component 1601 may be the electronic device 100 and the second component 1621 may be the server 200.
  • the first component 1601 may be a general purpose processor, and the second component 1621 may be an artificial intelligence dedicated processor.
  • the first component 1601 may be at least one application, and the second component may be an operating system (OS).
  • OS operating system
  • the second component 1621 is a component that is more integrated, dedicated, has a smaller delay, has a higher performance, or has more resources than the first component 1601.
  • An operation required for generation, update, or application may be a component capable of processing more quickly and effectively than the first component 1601.
  • an interface for transmitting / receiving data (voice data) between the first component 1601 and the second component 1621 may be defined.
  • an application program interface (API) function having training data to be applied to the data recognition model as an argument value (or a parameter value or a transfer value) may be defined.
  • API application program interface
  • the API function 261 1621 applies the voice data as training data to be applied to the data recognition model. Can be delivered to.
  • the first component 1601 may receive a user voice spoken by the user in operation S1603.
  • the first component 1601 may transmit voice data about the user's voice to the second component.
  • the second component 1621 may train the data recognition model using the received voice data (S1605).
  • the second component 1621 may store the learned data recognition model (S1607).
  • the second component 1621 stores the learned data recognition model.
  • the second component 1621 stores the learned data recognition model.
  • the first component 1601 may store the data recognition model by transmitting to the first component 1601.
  • FIG. 17 is a sequence diagram illustrating a method of recognizing data by a system including an electronic device and a server according to an embodiment of the present disclosure.
  • the system for recognizing data using the data recognition model may include a first component and a second component.
  • the first component 1701 may be an electronic device and the second component 1721 may be a server.
  • the first component 1701 may be a general purpose processor, and the second component 1721 may be an artificial intelligence dedicated processor.
  • the first component 1701 may be at least one application, and the second component 1721 may be an operating system.
  • an interface for transmitting / receiving data (eg, a moving image, a composite image, or a moving image recognition result) between the first component 1701 and the second component 1721 may be defined.
  • an API function having recognition data to be applied to the learned data recognition model as an argument value (or, a parameter value or a transfer value), and having a recognition result of the data recognition model as an output value may be defined.
  • the API function may use the first component 1701 as training data to apply the voice data to the data recognition model. Can be delivered to.
  • the first component 1701 may provide response information corresponding to a user's intention to speak as an output value of the API function.
  • the first component 1701 may receive the user's voice spoken by the user (S1703).
  • the first component 1701 may transmit voice data for at least one word included in the voice spoken by the user to the second component 1721 while the user's voice is received.
  • the second component 1721 may determine speech intent of the user by applying the speech data of the received at least one word to the speech recognition model (S1705).
  • the second component 1721 provides response information corresponding to the determined speech intent (S1707), and transmits the response information to the first component 1701.
  • the first component 1701 may display a screen of a result of performing an operation corresponding to the intention of speaking. Also, the first component 1701 may perform an operation corresponding to the intention of speaking.
  • the first component 1701 may update the response information based on the additional words spoken after the at least one word is input while the response information is provided (S1709).
  • the first component 1701 has been described as generating voice data.
  • the second component 1702 receives the input voice to generate at least one voice.
  • Voice data including words can be generated.
  • Some embodiments may be implemented as S / W programs that include instructions stored on computer-readable storage media.
  • a computer may be a device capable of calling stored instructions from a storage medium and operating according to the disclosed embodiments according to the called instructions, and may include a device according to the disclosed embodiments or an external server connected to the device. .
  • the computer readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-temporary' means that the storage medium does not include a signal or a current, and is tangible, but does not distinguish that the data is semi-permanently or temporarily stored in the storage medium.
  • non-transitory storage media may be stored temporarily such as registers, caches, buffers, as well as non-transitory readable recording media such as CD, DVD, hard disk, Blu-ray disc, USB, internal memory, memory card, ROM, or RAM. Media may be included.
  • the method according to the disclosed embodiments may be provided as a computer program product.
  • the computer program product may include a S / W program, a computer readable storage medium on which the S / W program is stored, or a product traded between a seller and a buyer.
  • a computer program product may include a product (eg, a downloadable app) in the form of a S / W program distributed electronically through a device manufacturer or an electronic market (eg, Google Play Store, App Store).
  • a product eg, a downloadable app
  • an electronic market eg, Google Play Store, App Store
  • at least a part of the S / W program may be stored in a storage medium or temporarily generated.
  • the storage medium may be a server of a manufacturer or an electronic market, or a storage medium of a relay server.

Landscapes

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

Abstract

An electronic device, a method for determining an utterance intention of a user thereof, and a non-transitory computer-readable recording medium are provided. An electronic device according to an embodiment of the present disclosure may comprise: a microphone for receiving a user voice uttered by a user; and a processor for determining an utterance intention of a user on the basis of at least one word included in a user voice while the user voice is being input, providing response information corresponding to the determined utterance intention, and updating the response information while providing the response information, on the basis of an additional word uttered after the at least one word is input.

Description

전자 장치, 그의 사용자 발화 의도 판단 방법 및 비일시적 컴퓨터 판독가능 기록매체Electronic device, method for determining user utterance intention and non-transitory computer readable recording medium
본 개시는 전자 장치, 그의 사용자 발화 의도 판단 방법 및 비일시적 컴퓨터 판독가능 기록매체에 관한 것으로, 더욱 구체적으로는, 사용자가 발화가 완료되기 이전에도 응답 정보를 제공할 수 있는 전자 장치, 그의 사용자 발화 의도 판단 방법 및 비일시적 컴퓨터 판독가능 기록매체에 관한 것이다.The present disclosure relates to an electronic device, a method of determining a user's utterance intention of a user, and a non-transitory computer readable recording medium. More particularly, an electronic device capable of providing response information even before a user completes a utterance, a user's utterance A method of determining intent and a non-transitory computer readable recording medium.
또한, 본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.In addition, the present disclosure relates to an artificial intelligence (AI) system that simulates functions such as cognition and judgment of the human brain by using a machine learning algorithm such as deep learning, and an application thereof.
최근 모바일 장치, 음성 인식 장치, 홈네트워크 허브 장치 등의 기능이 향상됨에 따라, 이들 장치를 이용하는 사용자의 수가 증가하고 있다. 특히, 이와 같은 전자 장치는 사용자의 음성을 인식하고 그에 대응되는 정보를 제공하거나 동작을 수행하는 가상 개인 비서(Virtual Personal Assistant, VPA) 기능을 제공한다.Recently, as functions of mobile devices, voice recognition devices, home network hub devices, and the like have been improved, the number of users using these devices has increased. In particular, such an electronic device provides a function of a virtual personal assistant (VPA) that recognizes a user's voice and provides corresponding information or performs an operation.
기존의 가상 개인 비서는 사용자의 발화가 끝난 이후에 사용자의 발화 음성 인식을 시작한다. 또한, 사용자의 의도에 대응되는 동작을 실행시키기 위해서는 여러 번의 음성 입력이 필요하다. 이에 따라 기존의 가상 개인 비서는 응답 속도가 느리기 때문에 사용자들의 외면을 받아왔다. 사용자가 음성이 아닌 다른 방법으로 동작을 실행시키는 것이 훨씬 편리했기 때문이다.The existing virtual personal assistant starts the speech recognition of the user after the user speaks. In addition, a plurality of voice inputs are required to execute an operation corresponding to a user's intention. Accordingly, the existing virtual personal assistant has been ignored by users because of its slow response time. This is because it is much more convenient for the user to execute the action in a way other than voice.
한편 이러한 가상 개인 비서는 인공 지능 시스템으로 구현될 수 있다. 인공 지능 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.Meanwhile, such a virtual personal assistant may be implemented as an artificial intelligence system. An artificial intelligence system is a computer system that implements human-level intelligence. Unlike conventional rule-based smart systems, an artificial intelligence system is a machine that learns and judges itself and becomes smart. As the artificial intelligence system is used, the recognition rate is improved and the user's taste can be understood more accurately, and the existing rule-based smart system is gradually replaced by the deep learning-based artificial intelligence system.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.Artificial intelligence technology consists of elementary technologies that utilize machine learning (eg, deep learning) and machine learning.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.Machine learning is an algorithm technology that classifies / learns characteristics of input data by itself, and element technology is a technology that simulates the functions of human brain cognition and judgment by using machine learning algorithms such as deep learning. It consists of technical areas such as understanding, reasoning / prediction, knowledge representation, and motion control.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.The various fields in which artificial intelligence technology is applied are as follows. Linguistic understanding is a technology for recognizing and applying / processing human language / characters and includes natural language processing, machine translation, dialogue system, question and answer, speech recognition / synthesis, and the like. Visual understanding is a technology that recognizes and processes objects as human vision, and includes object recognition, object tracking, image retrieval, person recognition, scene understanding, spatial understanding, and image enhancement. Inference Prediction is a technique for judging, logically inferring, and predicting information. It includes knowledge / probability-based inference, optimization prediction, preference-based planning, and recommendation. Knowledge expression is a technology that automatically processes human experience information into knowledge data, and includes knowledge construction (data generation / classification) and knowledge management (data utilization). Motion control is a technology for controlling autonomous driving of a vehicle and movement of a robot, and includes motion control (navigation, collision, driving), operation control (action control), and the like.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 사용자의 발화 중간에 실시간으로 대응하는 가상 개인 비서 기능을 제공할 수 있는 전자 장치, 그의 사용자 발화 의도 판단 방법 및 비일시적 컴퓨터 판독가능 기록매체를 제공함을 목적으로 한다.The present disclosure is to solve the above-described problems, and to provide an electronic device capable of providing a virtual personal assistant function corresponding to the user's speech in real time, a method of determining the user's speech intent, and a non-transitory computer-readable recording medium. The purpose.
상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 사용자가 발화한 사용자 음성을 입력받는 마이크 및 상기 사용자 음성이 입력되는 동안 상기 사용자 음성에 포함된 적어도 하나의 단어를 바탕으로 사용자의 발화 의도를 판단하고, 상기 판단된 발화 의도에 대응하는 응답 정보를 제공하며, 상기 응답 정보가 제공되는 동안 상기 적어도 하나의 단어가 입력된 이후 발화된 추가 단어를 바탕으로 상기 응답 정보를 갱신하는 프로세서를 포함할 수 있다.An electronic device according to an embodiment of the present disclosure to achieve the above object is based on a microphone for receiving a user voice spoken by a user and at least one word included in the user voice while the user voice is input. Determine a speech intent of the speech signal, provide response information corresponding to the determined speech intent, and update the response information based on the additional words spoken after the at least one word is input while the response information is provided. It may include a processor.
그리고, 상기 프로세서는, 상기 입력된 적어도 하나의 단어를 바탕으로 복수의 발화 의도의 신뢰도를 판단하고, 상기 복수의 발화 의도 중 기설정된 값 이상의 신뢰도를 갖는 발화 의도가 검출되면, 상기 검출된 발화 의도를 상기 사용자의 발화 의도로 판단할 수 있다.The processor determines the reliability of a plurality of speech intents based on the input at least one word, and if the speech intent having a reliability equal to or greater than a predetermined value is detected among the plurality of speech intents, the detected speech intent May be determined as the user's intention to speak.
또한, 상기 프로세서는, 상기 복수의 발화 의도 중 신뢰도가 가장 높은 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 준비 동작을 개시할 수 있다.The processor may initiate an execution preparation operation of an application for performing an operation corresponding to a speech intent having the highest reliability among the plurality of speech intents.
그리고, 디스플레이를 더 포함하고, 상기 프로세서는, 상기 기설정된 값 이상의 신뢰도를 갖는 발화 의도가 검출되면, 상기 검출된 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 화면을 표시하도록 상기 디스플레이를 제어할 수 있다.The display device may further include a display, wherein the processor controls the display to display an execution screen of an application for performing an operation corresponding to the detected speech intent when the speech intent having the reliability equal to or greater than the predetermined value is detected. can do.
또한, 상기 프로세서는, 상기 검출된 발화 의도에 대응되는 동작을 수행하는데 필요한 추가 정보를 상기 사용자가 발화하도록 유도하는 UI를 표시하도록 상기 디스플레이를 제어할 수 있다.In addition, the processor may control the display to display a UI for inducing the user to speak additional information necessary to perform an operation corresponding to the detected speech intent.
그리고, 디스플레이를 더 포함하고, 상기 프로세서는, 상기 판단된 복수의 발화 의도의 신뢰도가 기설정된 값 미만이면, 상기 판단된 복수의 발화 의도를 포함하는 리스트 UI를 표시하도록 상기 디스플레이를 제어하고, 상기 표시된 복수의 발화 의도 중 하나의 발화 의도를 선택하는 사용자 입력이 수신되면, 상기 선택된 발화 의도에 대응하는 응답 정보를 제공할 수 있다.The display device may further include a display. When the reliability of the determined plurality of speech intentions is less than a preset value, the processor controls the display to display a list UI including the determined plurality of speech intents. When a user input for selecting one of the displayed utterance intentions is received, response information corresponding to the selected utterance intention may be provided.
또한, 상기 프로세서는, 상기 추가 단어를 바탕으로 새로이 판단된 발화 의도가 상기 적어도 하나의 단어를 바탕으로 판단된 발화 의도와 상이하면, 상기 새로이 판단된 발화 의도에 대응하는 응답 정보가 제공되도록 상기 제공된 응답 정보를 갱신할 수 있다.The processor may be further configured to provide response information corresponding to the newly determined speech intention when the speech intent newly determined based on the additional word is different from the speech intent determined based on the at least one word. The response information can be updated.
그리고, 디스플레이를 더 포함하고, 상기 프로세서는 상기 제공된 응답 정보를 표시하도록 상기 디스플레이를 제어할 수 있다. 상기 응답 정보는 개체명 및 의도를 포함할 수 있다.The display device may further include a display, and the processor may control the display to display the provided response information. The response information may include the entity name and intention.
한편, 상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치의 사용자 발화 의도 판단 방법은, 사용자가 발화한 사용자 음성을 입력받는 단계, 상기 사용자의 음성이 입력되는 동안 상기 사용자 음성에 포함된 적어도 하나의 단어를 바탕으로 사용자의 발화 의도를 판단하는 단계, 상기 판단된 사용자의 발화 의도에 대응하는 응답 정보를 제공하는 단계 및 상기 응답 정보가 제공되는 동안 상기 적어도 하나의 단어가 입력된 이후 발화된 추가 단어를 바탕으로 상기 응답 정보를 갱신하는 단계를 포함할 수 있다.Meanwhile, a method of determining a user utterance intention of an electronic device according to an embodiment of the present disclosure for achieving the above object comprises: receiving a user voice spoken by a user, included in the user voice while the user voice is input; Determining a speech intent of the user based on the at least one word, providing response information corresponding to the determined speech intent of the user, and after the at least one word is input while the response information is provided. The response information may be updated based on the spoken additional word.
그리고, 상기 판단하는 단계는, 상기 입력된 적어도 하나의 단어를 바탕으로 복수의 발화 의도의 신뢰도를 판단하는 단계, 상기 복수의 발화 의도 중 기설정된 값 이상의 신뢰도를 갖는 발화 의도를 검출하는 단계 및 상기 검출된 발화 의도를 상기 사용자의 발화 의도로 판단하는 단계를 포함할 수 있다.The determining may include determining reliability of a plurality of speech intents based on the input at least one word, detecting speech intents having a reliability greater than or equal to a predetermined value among the plurality of speech intents; The method may include determining the detected speech intent as the speech intent of the user.
또한, 상기 복수의 발화 의도 중 신뢰도가 가장 높은 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 준비 동작을 개시하는 단계를 더 포함할 수 있다.The method may further include initiating an execution preparation operation of an application for performing an operation corresponding to a speech intent having the highest reliability among the plurality of speech intents.
그리고, 상기 기설정된 값 이상의 신뢰도를 갖는 발화 의도가 검출되면, 상기 검출된 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 화면을 표시하는 단계를 더 포함할 수 있다.The method may further include displaying an execution screen of an application for performing an operation corresponding to the detected speech intent when the speech intent having the reliability equal to or greater than the preset value is detected.
또한, 상기 검출된 발화 의도에 대응되는 동작을 수행하는데 필요한 추가 정보를 상기 사용자가 발화하도록 유도하는 UI를 표시하는 단계를 더 포함할 수 있다.The method may further include displaying a UI for inducing the user to utter additional information necessary to perform an operation corresponding to the detected speech intent.
그리고, 상기 판단하는 단계는, 상기 판단된 복수의 발화 의도의 신뢰도가 기설정된 값 미만이면, 상기 판단된 복수의 발화 의도를 포함하는 리스트 UI를 표시하는 단계를 더 포함하고, 상기 제공하는 단계는, 상기 표시된 복수의 발화 의도 중 하나의 발화 의도를 선택하는 사용자 입력이 수신되면, 상기 선택된 발화 의도에 대응하는 응답 정보를 제공할 수 있다.The determining may further include displaying a list UI including the determined plurality of speech intents when the reliability of the determined plurality of speech intents is less than a preset value. When a user input for selecting one of the displayed utterance intentions is received, response information corresponding to the selected utterance intention may be provided.
또한, 상기 갱신하는 단계는, 상기 추가 단어를 바탕으로 새로이 판단된 발화 의도가 상기 적어도 하나의 단어를 바탕으로 판단된 발화 의도와 상이하면, 상기 새로이 판단된 발화 의도에 대응되는 응답 정보가 제공되도록 상기 제공된 응답 정보를 갱신할 수 있다.The updating may include providing response information corresponding to the newly determined utterance intention when the utterance intention newly determined based on the additional word is different from the utterance intention determined based on the at least one word. The provided response information can be updated.
한편, 상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치의 사용자 발화 의도 판단 방법을 실행하기 위한 프로그램을 포함하는 비일시적 컴퓨터 판독가능 기록매체는, 사용자가 발화한 사용자 음성을 입력받는 단계, 상기 사용자의 음성이 입력되는 동안 상기 사용자 음성에 포함된 적어도 하나의 단어를 바탕으로 사용자의 발화 의도를 판단하는 단계, 상기 판단된 사용자의 발화 의도에 대응하는 응답 정보를 제공하는 단계 및 상기 응답 정보가 제공되는 동안 상기 적어도 하나의 단어가 입력된 이후 발화된 추가 단어를 바탕으로 상기 응답 정보를 갱신하는 단계를 포함하는 사용자 발화 의도 판단 방법을 포함할 수 있다.Meanwhile, a non-transitory computer readable recording medium including a program for executing a method of determining a user utterance intention of an electronic device according to an embodiment of the present disclosure for receiving the above object receives an input of a user voice spoken by a user. Determining a user's speech intent based on at least one word included in the user's voice while the user's voice is input, providing response information corresponding to the determined user's speech intent, and And updating the response information based on the additional words spoken after the at least one word is input while the response information is provided.
상기 응답 정보를 제공하는 단계는, 상기 응답 정보를 표시하는 것을 포함할 수 있다. 상기 응답 정보는 개체명 및 의도를 포함할 수 있다.Providing the response information may include displaying the response information. The response information may include the entity name and intention.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 가상 개인 비서 기능의 응답 속도가 향상되고, 최소의 대화 패턴으로 사용자 발화 의도에 대응되는 동작이 수행될 수 있다.According to various embodiments of the present disclosure as described above, the response speed of the virtual personal assistant function may be improved, and an operation corresponding to a user utterance intention may be performed with a minimum conversation pattern.
도 1은 본 개시의 일 실시 예에 따른 가상 개인 비서 시스템을 도시한 개념도,1 is a conceptual diagram illustrating a virtual personal assistant system according to an embodiment of the present disclosure;
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 개략적인 블록도,2 is a schematic block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure;
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 상세히 설명하기 위한 블록도,3 is a block diagram illustrating a configuration of an electronic device according to an embodiment of the present disclosure;
도 4는 본 개시의 일부 실시 예에 따른 프로세서의 블록도,4 is a block diagram of a processor in accordance with some embodiments of the present disclosure;
도 5a는 본 개시의 일부 실시 예에 따른 데이터 학습부의 블록도,5A is a block diagram of a data learning unit according to some embodiments of the present disclosure;
도 5b는 본 개시의 일부 실시 예에 따른 데이터 인식부의 블록도,5B is a block diagram of a data recognizer according to some embodiments of the present disclosure;
도 6은 의도를 나타내는 단어의 신뢰도를 이용하여 응답 정보를 제공/인식하는 실시 예를 도시한 도면,FIG. 6 is a diagram illustrating an embodiment of providing / recognizing response information using reliability of a word representing intention;
도 7은 도 6의 실시 예에 따라 제공되는 화면을 도시한 도면,7 is a diagram illustrating a screen provided according to the embodiment of FIG. 6;
도 8은 사용자의 추가 발화 음성을 인식하여 응답 정보를 변경하는 실시 예를 도시한 도면8 is a diagram illustrating an embodiment in which response information is changed by recognizing an additional spoken voice of a user.
도 9는 개체명에 대응되는 복수의 발화 의도를 선택할 수 있는 UI를 표시하는 실시 예를 도시한 도면,FIG. 9 is a diagram illustrating an embodiment of displaying a UI for selecting a plurality of speech intents corresponding to individual names; FIG.
도 10은 도 9의 실시 예에 따라 제공되는 화면을 도시한 도면,FIG. 10 is a diagram illustrating a screen provided according to the embodiment of FIG. 9; FIG.
도 11은 추가 정보를 사용자가 발화하도록 유도하는 UI를 표시하는 실시 예를 도시한 도면, 그리고,FIG. 11 is a diagram illustrating an embodiment of displaying a UI for inducing a user to utter additional information; and
도 12 내지 도 15는 본 개시의 다양한 실시 예에 따른 전자 장치의 사용자 발화 의도 판단 방법을 설명하기 위한 흐름도이다.12 to 15 are flowcharts illustrating a method for determining user utterance intention of an electronic device according to various embodiments of the present disclosure.
도 16은 본 개시의 실시예에 따른, 전자 장치와 서버를 포함하는 시스템이 데이터 인식 모델을 구축하는 방법을 나타내는 시퀀스도이다.16 is a sequence diagram illustrating a method of building a data recognition model by a system including an electronic device and a server according to an embodiment of the present disclosure.
도 17은 본 개시의 실시예에 따른, 전자 장치와 서버를 포함하는 시스템이 데이터를 인식하는 방법을 나타내는 시퀀스도이다.17 is a sequence diagram illustrating a method of recognizing data by a system including an electronic device and a server according to an embodiment of the present disclosure.
이하에서는 본 개시의 바람직한 실시 예가 첨부된 도면을 참조하여 상세히 설명한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In describing the present disclosure, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present disclosure, the detailed description thereof will be omitted. The terms to be described below are terms defined in consideration of functions in the present disclosure, and may vary according to a user, an operator, or a custom. Therefore, the definition should be made based on the contents throughout the specification.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.Terms including ordinal numbers such as first and second may be used to describe various components, but the components are not limited by the terms. The terms are only used to distinguish one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes any one of a plurality of related items or a combination of a plurality of related items.
본 명세서에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 숫자, 동작, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting and / or limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms including or having are intended to indicate that there is a feature, number, operation, operation, component, part, or a combination thereof described in the specification, one or more other features or numbers, operation It is to be understood that the present invention does not exclude in advance the possibility of the presence or the addition of operations, components, components, or a combination thereof.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 또는 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In an embodiment, the module or unit performs at least one function or operation, and may be implemented by hardware or software or a combination of hardware or software. In addition, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module except for 'modules' or 'units' that need to be implemented by specific hardware, and may be implemented as at least one processor.
이하에서는 첨부된 도면을 이용하여 본 개시에 대하여 구체적으로 설명한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 일 실시 예에 따른 가상 개인 비서 시스템(1000)을 도시한 개념도이다. 도 1에 도시된 바와 같이, 가상 개인 비서 시스템(1000)은 전자 장치(100) 및 서버(200)를 포함할 수 있다. 전자 장치(100)와 서버(200)는 연동하여 사용자에게 가상 개인 비서 기능을 제공할 수 있다.1 is a conceptual diagram illustrating a virtual personal assistant system 1000 according to an embodiment of the present disclosure. As shown in FIG. 1, the virtual personal assistant system 1000 may include an electronic device 100 and a server 200. The electronic device 100 and the server 200 may interwork to provide a virtual personal assistant function to a user.
본 명세서에서 사용되는 용어 '가상 개인 비서'는, 인공지능 기술과 음성 인식 기술의 결합으로 사용자의 언어를 이해하고 사용자가 원하는 지시사항을 수행하는 소프트웨어 어플리케이션을 말한다. 예를 들어, 가상 개인 비서는 딥러닝을 포함하는 머신러닝, 음성 인식, 문장 분석, 상황 인지와 같은 인공지능 기능을 수행할 수 있다. 가상 개인 비서는 사용자의 습관 또는 패턴을 학습하여 개인에 필요한 맞춤형 서비스를 제공할 수 있다. 가상 개인 비서의 예로는 S voice, Bixby를 들 수 있다.As used herein, the term 'virtual personal assistant' refers to a software application that understands a user's language and performs instructions desired by a user through a combination of artificial intelligence and voice recognition technology. For example, a virtual personal assistant may perform artificial intelligence functions such as machine learning, deep speech recognition, sentence analysis, and situational awareness, including deep learning. The virtual personal assistant may provide a personalized service for the individual by learning a user's habits or patterns. Examples of virtual personal assistants include S voice and Bixby.
전자 장치(100)는 스마트폰, 타블렛 PC와 같은 모바일 장치일 수 있으나, 이는 일 실시 예에 불과할 뿐, 음성 인식 장치, 홈네트워크의 허브, 전자 액자, 인간형 로봇, 오디오 장치, 네비게이션, 스마트 TV 등 사용자의 음성을 인식하고 대응되는 동작을 수행할 수 있는 모든 장치로 구현될 수 있다.The electronic device 100 may be a mobile device such as a smartphone or a tablet PC, but this is only an example, and a voice recognition device, a hub of a home network, an electronic frame, a humanoid robot, an audio device, a navigation device, a smart TV, etc. Any device capable of recognizing a user's voice and performing a corresponding operation may be implemented.
전자 장치(100)는 사용자가 발화한 사용자 음성을 인식하고, 언어를 이해할 수 있다. 또한, 전자 장치(100)는 사용자와의 대화를 관리하고, 응답을 생성할 수 있다.The electronic device 100 may recognize a user voice spoken by a user and understand a language. In addition, the electronic device 100 may manage a conversation with a user and generate a response.
서버(200)는 전자 장치(100)가 사용자와의 대화를 관리하고 응답을 생성할 때 필요한 정보를 제공할 수 있다. 또한, 서버(200)는 전자 장치(100)에서 이용하는 언어 모델을 제공하고, 갱신할 수 있다.The server 200 may provide information required when the electronic device 100 manages a conversation with a user and generates a response. In addition, the server 200 may provide and update a language model used by the electronic device 100.
도 1의 실시 예에서 도시된 것과 같이, 전자 장치(100)와 서버(200)가 연동하여 가상 개인 비서 기능을 제공할 수도 있으나, 전자 장치(100)만의 동작으로 가상 개인 비서 기능을 제공하는 형태로 구현될 수도 있다. 또한, 전자 장치(100)는 단순히 사용자의 음성을 수신하고 응답 정보를 제공하는 입출력장치로서의 역할만을 수행하고, 서버(200)가 가상 개인 비서 기능의 대부분을 처리하는 형태로 구현될 수도 있다.As shown in the embodiment of FIG. 1, the electronic device 100 and the server 200 may provide a virtual personal assistant function in cooperation with each other, but provide a virtual personal assistant function only by the operation of the electronic device 100. It may be implemented as. In addition, the electronic device 100 may merely be implemented as an input / output device for receiving a user's voice and providing response information, and may be implemented in a form in which the server 200 processes most of a virtual personal assistant function.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 개략적인 블록도이다. 도 2를 참조하면, 전자 장치(100)는 마이크(110) 및 프로세서(120)를 포함할 수 있다.2 is a schematic block diagram illustrating a configuration of an electronic device 100 according to an embodiment of the present disclosure. Referring to FIG. 2, the electronic device 100 may include a microphone 110 and a processor 120.
마이크(110)는 사용자가 발화한 사용자 음성을 입력받을 수 있다. 예를 들어, 마이크(110)는 전자 장치(100)의 상측이나 전면 방향, 측면 방향 등에 일체화된 일체형으로 구현될 수도 있고, 별도의 수단으로 마련되어 전자 장치(100)와 유선 또는 무선 인터페이스로 연결될 수도 있다.The microphone 110 may receive a user voice spoken by the user. For example, the microphone 110 may be implemented as an integrated body integrated with the upper side, the front side, the side direction, or the like of the electronic device 100, or may be provided as a separate means and connected to the electronic device 100 through a wired or wireless interface. have.
또한, 마이크(110)는 복수 개로 구성되어, 서로 다른 위치에서 음성을 입력 받아 복수의 음성 신호를 생성할 수 있다. 복수의 음성 신호를 이용하여, 전자 장치(100)는 음성 인식 기능 수행 이전의 전처리(pre-processing) 과정에서 강화된 단일 음성 신호를 생성할 수 있다.In addition, the microphone 110 may include a plurality of microphones, and may generate a plurality of voice signals by receiving voices from different locations. Using the plurality of voice signals, the electronic device 100 may generate a single voice signal that is enhanced in a pre-processing process before performing the voice recognition function.
프로세서(120)는 입력된 사용자 음성을 인식할 수 있다. 프로세서(120)는 음성 인식 기능 수행 전에 입력된 사용자 음성에 대해 전처리를 수행할 수도 있다. 예를 들어, 전처리에는 잡음 제거, 특징 추출과 같은 동작이 포함될 수 있다. 전처리 과정은 프로세서(120)에서 수행될 수도 있고, 별도로 마련된 구성요소를 통해 수행될 수도 있다.The processor 120 may recognize the input user voice. The processor 120 may perform preprocessing on the input user voice before performing the voice recognition function. For example, preprocessing may include operations such as noise removal and feature extraction. The preprocessing process may be performed by the processor 120 or may be performed through a separate component.
프로세서(120)는 사용자의 발화 중간에도 사용자의 발화 의도를 판단할 수 있는 경우에는 판단된 발화 의도에 대응되는 동작을 수행할 수 있다. 구체적으로, 프로세서(120)는 현재까지 발화된 사용자 음성의 인식 결과에 대한 신뢰도를 측정할 수 있다. 그리고 프로세서(120)는 사용자의 발화가 종료되기 전이라도 기설정된 신뢰도 이상을 갖는 사용자의 의도가 판단되면, 그에 대응한 응답 정보를 제공할 수 있다.The processor 120 may perform an operation corresponding to the determined utterance intention when the utterance intention of the user can be determined even in the middle of the utterance of the user. In detail, the processor 120 may measure the reliability of the recognition result of the user voice spoken up to now. The processor 120 may provide response information corresponding to the intention of the user having a predetermined reliability or more even before the user's utterance is terminated.
또한, 프로세서(120)는 응답 정보를 제공하는데 이용된 사용자 음성 이후에 발화된 추가 음성을 이용하여 응답 정보를 갱신할 수 있다. 프로세서(120)는 추가된 음성을 더한 전체 사용자 음성을 기초로 사용자의 발화 의도를 새로이 판단할 수 있다. 만일 판단된 사용자의 발화 의도와 동일한 의도인 것으로 판단되면, 프로세서(120)는 더욱 정확한 응답 정보를 제공할 수 있다. 반대로 판단된 사용자의 발화 의도와 상이한 의도인 것으로 판단되면, 프로세서(120)는 새로이 판단된 발화 의도에 대응되는 응답 정보로 제공된 응답 정보를 교체할 수 있다.In addition, the processor 120 may update the response information using the additional voice spoken after the user voice used to provide the response information. The processor 120 may newly determine a user's intention to speak based on the entire user's voice plus the added voice. If it is determined that the intention is the same as the determined intention of the user, the processor 120 may provide more accurate response information. In contrast, if it is determined that the user's intention is different from the determined intention, the processor 120 may replace the response information provided with the response information corresponding to the newly determined intention.
예를 들어, 추가 음성을 인식한 결과를 이용하여, 프로세서(120)는 판단된 사용자의 의도에 대응되는 응답 정보를 더욱 정확하게 제공할 수 있다. '서울특별시 서초구'에 대한 지도를 제공해주길 원하는 사용자의 의도가 판단된 경우를 예로 들면, '강남대로'라는 추가 사용자 음성을 인식하여 프로세서(120)는 더욱 해상도가 높아진(즉, 서울특별시 서초구의 지도에서 강남대로 주변만을 확대한) 지도를 제공할 수 있다.For example, by using the result of recognizing the additional voice, the processor 120 may more accurately provide response information corresponding to the determined intention of the user. For example, when the intention of the user who wants to provide a map for 'Seoul-si, Seoul' is determined, the processor 120 recognizes an additional user voice called 'Gangnam-daero' and the resolution is further increased. On the map, you can provide a map (only magnified around Gangnam-daero).
다른 예로, 추가 음성을 인식한 결과를 이용하여, 프로세서(120)는 제공된 응답 정보를 새로이 판단된 사용자의 의도에 대응되는 응답 정보로 대체하여 제공할 수 있다. '서울특별시 서초구'에 대한 지도를 제공해주길 원하는 사용자의 의도가 판단된 경우를 예로 들면, '내일 날씨'라는 추가 사용자 음성을 인식하여 프로세서(120)는 제공하였던 지도 정보 대신에 날씨 정보를 제공하는 어플리케이션의 실행 화면을 제공할 수 있다.As another example, using the result of recognizing the additional voice, the processor 120 may replace the provided response information with response information corresponding to the newly determined user's intention and provide the response information. For example, when it is determined that a user intends to provide a map for Seocho-gu, Seoul, the processor 120 recognizes an additional user voice of 'weather tomorrow' and provides weather information instead of the provided map information. The execution screen of the application may be provided.
프로세서(120)는 판단된 발화 의도에 대응하는 동작을 수행하는데 필요한 추가 정보를 사용자가 발화하도록 유도할 수 있다. 적은 횟수의 대화턴 안에 동작 수행에 필요한 모든 정보를 사용자가 발화하도록 함으로써, 프로세서(120)는 추가적인 대화턴 발생을 방지하고 응답 속도를 높일 수 있다.The processor 120 may induce the user to speak additional information necessary to perform an operation corresponding to the determined speech intent. By allowing the user to utter all the information necessary to perform the operation within a small number of talk turns, the processor 120 may prevent the occurrence of additional talk turns and increase the response speed.
예를 들어, 알람을 설정해달라는 사용자의 발화 의도가 판단된 경우, 프로세서(120)는 알람 설정에 필요한 정보인 알람 설정 시간, 반복 여부 등에 대한 사용자 발화를 유도하는 화면을 제공할 수 있다.For example, when it is determined that the user's utterance intention to set an alarm is determined, the processor 120 may provide a screen for inducing the user's utterance about the alarm setting time, whether or not to repeat the information necessary for setting the alarm.
도 3은 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 상세히 설명하기 위한 블록도이다. 도 3을 참조하면, 전자 장치(100)는 마이크(110), 프로세서(120), 디스플레이(130), 입력부(140), 통신부(150), 메모리(160) 및 스피커(170)를 포함할 수 있다. 도 3의 실시 예에 도시된 구성 요소 이외에도 전자 장치(100)는 영상 수신부(미도시), 영상 처리부(미도시), 전원부(미도시), 유선 인터페이스(미도시) 등 다양한 구성을 포함할 수 있다. 또한 전자 장치(100)가 반드시 도 3에 도시된 구성을 모두 포함하도록 구현되는 것으로 한정되지 않음은 물론이다.3 is a block diagram illustrating in detail a configuration of an electronic device 100 according to an exemplary embodiment. Referring to FIG. 3, the electronic device 100 may include a microphone 110, a processor 120, a display 130, an input unit 140, a communication unit 150, a memory 160, and a speaker 170. have. In addition to the components illustrated in the embodiment of FIG. 3, the electronic device 100 may include various components such as an image receiving unit (not shown), an image processing unit (not shown), a power supply unit (not shown), and a wired interface (not shown). have. In addition, the electronic device 100 is not limited to being implemented to necessarily include all the configurations shown in FIG. 3.
마이크(110)는 다양한 형태로 구현되어 사용자의 음성을 입력받는 기능을 수행한다. 마이크(110)는 잡음 제거를 위하여 다양한 음향 필터(Acoustic Filter)를 포함할 수도 있다.The microphone 110 is implemented in various forms to perform a function of receiving a user's voice. The microphone 110 may include various acoustic filters to remove noise.
디스플레이(130)는 전자 장치(100)에서 제공되는 각종 영상 컨텐츠, 정보, UI 등을 표시할 수 있다. 예를 들어, 디스플레이(130)는 사용자 음성에 대응한 응답 정보 제공 화면을 표시할 수 있다.The display 130 may display various image contents, information, UI, etc. provided from the electronic device 100. For example, the display 130 may display a response information providing screen corresponding to a user voice.
디스플레이(130)는 액정 표시 장치(Liquid Crystal Display, LCD), 유기 전기 발광 다이오드(Organic Light Emitting Display, OLED) 또는 플라즈마 표시 패널(Plasma Display Panel, PDP) 등으로 구현되어, 전자 장치(100)를 통해 제공 가능한 다양한 화면을 표시할 수 있다.The display 130 may be implemented as a liquid crystal display (LCD), an organic light emitting diode (OLED), a plasma display panel (PDP), or the like, thereby forming the electronic device 100. Various screens that can be provided can be displayed.
디스플레이(130)는 프로세서(120)의 음성 인식 결과에 대응되는 영상을 표시할 수 있다. 예를 들어, 디스플레이(130)는 사용자의 음성을 통해 판단된 발화 의도에 대응되는 응답 정보를 텍스트 또는 이미지로 표시할 수 있다. 다른 예로, 디스플레이(130)는 발화 의도에 대응되는 동작에 필요한 추가 정보를 안내하는 UI를 표시할 수 있다. 그 밖에, 디스플레이(130)는 복수의 발화 의도 목록을 표시하는 UI, 현재까지 인식된 사용자 음성을 나타내는 텍스트, 발화 의도에 대응되는 동작 수행을 위한 어플리케이션 실행 화면 등을 표시할 수 있다.The display 130 may display an image corresponding to the voice recognition result of the processor 120. For example, the display 130 may display response information corresponding to a speech intent determined by the user's voice as text or an image. As another example, the display 130 may display a UI for guiding additional information required for an operation corresponding to the intention of speaking. In addition, the display 130 may display a UI for displaying a plurality of speech intent lists, text indicating a user voice recognized to date, an application execution screen for performing an operation corresponding to speech intent, and the like.
입력부(140)는 전자 장치(100)를 제어하기 위한 다양한 사용자 명령을 입력받는다. 예를 들어, 입력부(140)는 UI에 표시된 복수의 발화 의도 중 하나를 선택하는 사용자 명령을 입력받을 수 있다. 입력부(140)는 버튼, 모션 인식 장치, 터치 패드 등으로 구현될 수 있다. 도 3의 실시 예에서, 마이크(110)가 음성 입력 기능을 수행하고 있는바, 입력부(140)에서는 음성 입력을 제외한 나머지 사용자 명령을 입력받는 기능을 수행할 수 있다. 또한, 입력부(140)가 터치 패드로 구현되는 경우, 디스플레이(130)와 결합하여 상호 레이어 구조를 이루는 터치 스크린의 형태로 구현될 수 있다. 터치 스크린은 터치 입력 위치, 면적, 터이 입력의 압력 등을 검출할 수 있다.The input unit 140 receives various user commands for controlling the electronic device 100. For example, the input unit 140 may receive a user command for selecting one of a plurality of speech intents displayed on the UI. The input unit 140 may be implemented as a button, a motion recognition device, a touch pad, or the like. In the embodiment of FIG. 3, the microphone 110 performs a voice input function, and the input unit 140 may perform a function of receiving a user command except for a voice input. In addition, when the input unit 140 is implemented as a touch pad, the input unit 140 may be implemented in the form of a touch screen combined with the display 130 to form a mutual layer structure. The touch screen may detect a touch input position, an area, and a pressure of a tire input.
통신부(150)는 외부 장치와 통신을 수행한다. 예를 들어, 외부 장치는 서버(200), 클라우드 저장소, 네트워크 등으로 구현될 수 있다. 통신부(150)는 외부 장치에 음성 인식 결과를 송신하고, 대응되는 정보를 외부 장치로부터 수신할 수 있다. 통신부(150)는 음성 인식을 위한 언어 모델을 외부 장치로부터 수신할 수도 있다.The communicator 150 communicates with an external device. For example, the external device may be implemented as a server 200, a cloud storage, a network, or the like. The communicator 150 may transmit a voice recognition result to an external device and receive corresponding information from the external device. The communicator 150 may receive a language model for speech recognition from an external device.
이를 위해, 통신부(150)는 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다. 여기에서, 근거리 무선 통신 모듈이란 블루투스(Bluetooth), 지그비(Zigbee) 등과 같은 근거리 무선 통신 방식에 따라, 근거리에 위치한 외부 기기와 통신을 수행하기 위한 모듈이다. 또한, 무선 통신 모듈이란 WiFi, WiFi direct, IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution), LTE-A(LTE Advanced) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.To this end, the communication unit 150 may include various communication modules such as a short range wireless communication module (not shown), a wireless communication module (not shown), and the like. Here, the short range wireless communication module is a module for communicating with an external device located in a short range according to a short range wireless communication scheme such as Bluetooth, Zigbee, or the like. In addition, the wireless communication module is a module that is connected to an external network and performs communication according to a wireless communication protocol such as WiFi, WiFi direct, or IEEE. In addition, the wireless communication module performs communication by connecting to a mobile communication network according to various mobile communication standards such as 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), Long Term Evoloution (LTE), LTE Advanced (LTE-A), etc. It may further include a mobile communication module.
메모리(160)는 전자 장치(100)를 구동하기 위한 다양한 모듈, 소프트웨어, 데이터를 저장할 수 있다. 예를 들어, 메모리(160)에는 사용자의 음성을 인식하는데 이용될 수 있는 음향 모델(Acoustic Model, AM) 및 언어 모델(Language Model, LM)이 저장될 수 있다.The memory 160 may store various modules, software, and data for driving the electronic device 100. For example, the memory 160 may store an acoustic model (AM) and a language model (LM) that may be used to recognize a user's voice.
메모리(160)는 전자 장치(100)를 동작시키기 위해 필요한 각종 프로그램 등이 저장되는 저장매체로서, 플래쉬 메모리, HDD(Hard Disk Drive), SSD (Solid State Drive) 등의 형태로 구현 가능하다. 예를 들어, 메모리(160)는 전자 장치(100)의 동작 수행을 위한 프로그램을 저장하기 위한 ROM, 전자 장치(100)의 동작 수행에 따른 데이터를 일시적으로 저장하기 위한 RAM을 구비할 수 있다.The memory 160 is a storage medium that stores various programs necessary for operating the electronic device 100. The memory 160 may be implemented in the form of a flash memory, a hard disk drive (HDD), a solid state drive (SSD), or the like. For example, the memory 160 may include a ROM for storing a program for performing an operation of the electronic device 100 and a RAM for temporarily storing data for performing an operation of the electronic device 100.
메모리(160)에는 디스플레이(130)에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터가 저장될 수 있다. 또한, 메모리(160)에는 특정 서비스를 수행하기 위한 프로그램, 어플리케이션 및 데이터가 저장될 수 있다. 예를 들어, 메모리(160)에는 지도 어플리케이션, 교통편 예약 어플리케이션, 음악 어플리케이션, 스케줄 관리 어플리케이션 등이 저장될 수 있다.The memory 160 may store programs and data for configuring various screens to be displayed on the display 130. In addition, the memory 160 may store a program, an application, and data for performing a specific service. For example, the memory 160 may store a map application, a transportation reservation application, a music application, a schedule management application, and the like.
메모리(160)는 사용자의 음성에 대응되는 각종 응답 메시지를 음성 또는 텍스트 데이터로 기저장하고 있을 수 있다. 전자 장치(100)는 수신된 사용자 음성(특히, 사용자 제어 명령)에 대응되는 음성 및 텍스트 데이터 중 적어도 하나를 메모리(160)로부터 독출하여 디스플레이(130) 또는 스피커(170)로 출력할 수도 있다.The memory 160 may previously store various response messages corresponding to the voice of the user as voice or text data. The electronic device 100 may read at least one of voice and text data corresponding to the received user voice (especially, a user control command) from the memory 160 and output the read out voice to the display 130 or the speaker 170.
스피커(170)는 음성을 출력할 수 있다. 예를 들어, 스피커(170)는 각종 오디오 데이터뿐만 아니라 알림 음이나 음성 메시지를 출력할 수 있다. 본 발명의 일 실시 예에 따른 전자 장치(100)는 대화형 음성 인식 기능을 제공하기 위한 출력부의 하나로 스피커(170)를 포함할 수 있다. 스피커를 통해 전자 장치(100)는 사용자에게 전자 장치(100)와 대화하는 듯한 사용자 경험을 제공할 수 있다. 스피커(170)는 전자 장치(100)에 내장될 수도 있으며, 잭 등과 같은 출력 포트의 형태로 구현될 수도 있다.The speaker 170 may output voice. For example, the speaker 170 may output not only various audio data but also a notification sound or a voice message. The electronic device 100 according to an embodiment of the present disclosure may include a speaker 170 as an output unit for providing an interactive voice recognition function. Through the speaker, the electronic device 100 may provide the user with a user experience that is like talking with the electronic device 100. The speaker 170 may be built in the electronic device 100 or may be implemented in the form of an output port such as a jack.
프로세서(120)는 전자 장치(100)의 상술한 구성들을 제어할 수 있다. 예를 들어, 프로세서(120)는 판단된 사용자의 발화 의도에 대응되는 동작을 수행하는 어플리케이션의 실행 화면을 표시하도록 디스플레이(130)를 제어할 수 있다.The processor 120 may control the above-described components of the electronic device 100. For example, the processor 120 may control the display 130 to display an execution screen of an application that performs an operation corresponding to the determined speech intent of the user.
프로세서(120)는 단일 CPU로 구현되어 음성 인식 동작, 언어 이해 동작, 대화 관리 동작, 응답 생성 동작 등을 수행할 수도 있고, 복수의 프로세서 및 특정 기능을 수행하는 IP로 구현될 수도 있다. 프로세서(120)는 전통적인 은닉 마코프 모델(Hidden Markov Model, HMM) 기반의 음성 인식을 수행할 수도 있고, 딥 신경망(Deep Neural Network, DNN)과 같은 딥러닝 기반의 음성 인식을 수행할 수도 있다.The processor 120 may be implemented as a single CPU to perform a voice recognition operation, a language understanding operation, a conversation management operation, a response generation operation, or the like, or may be implemented with a plurality of processors and IPs performing specific functions. The processor 120 may perform speech recognition based on a traditional hidden markov model (HMM), or may perform deep learning based speech recognition such as a deep neural network (DNN).
또한, 프로세서(120)는 음성 인식 및 신뢰도 측정에 빅데이터 및 사용자별 히스토리 데이터를 이용할 수 있다. 이를 통해, 프로세서(120)는 빅데이터로 학습된 음성 인식 모델을 사용함과 동시에 음성 인식 모델을 개인화시킬 수 있다. 예를 들어, 프로세서(120)는 학습된 음향 모델(AM)을 이용하여 개체명의 신뢰도를 판단할 수 있고, 학습된 언어 모델(LM)을 이용하여 의도의 신뢰도를 판단할 수 있다.In addition, the processor 120 may use big data and user-specific history data for speech recognition and reliability measurement. In this manner, the processor 120 may use the speech recognition model learned from the big data and personalize the speech recognition model. For example, the processor 120 may determine the reliability of the entity name using the learned acoustic model AM, and determine the reliability of the intention using the learned language model LM.
프로세서(120)는 사용자 음성을 실시간으로 인식할 수 있다. 그리고 프로세서(120)는 현재까지 인식된 중간 인식 결과를 이용하여 사용자의 발화 의도를 판단할 수 있다. 예를 들어, 프로세서(120)는 사용자 음성에 포함된 적어도 하나의 단어(핵심어)를 바탕으로 사용자의 발화 의도를 판단할 수 있다.The processor 120 may recognize a user's voice in real time. In addition, the processor 120 may determine the user's intention of speaking using the intermediate recognition result recognized to date. For example, the processor 120 may determine the user's intention of speaking based on at least one word (core word) included in the user's voice.
이어서, 프로세서(120) 판단된 발화 의도에 대응되는 동작을 수행할 수 있다. 예를 들어, 프로세서(120)는 판단된 발화 의도에 대응되는 응답 정보를 제공할 수 있다. 다른 예로, 프로세서(120)는 판단된 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션을 실행시킬 수 있다.Subsequently, the processor 120 may perform an operation corresponding to the determined speech intent. For example, the processor 120 may provide response information corresponding to the determined speech intent. As another example, the processor 120 may execute an application for performing an operation corresponding to the determined speech intent.
그리고, 프로세서(120)는 사용자 음성에 대한 중간 인식 처리가 진행된 이후에 추가로 발화된 사용자 음성으로부터 응답 정보를 갱신할 수 있다. 즉, 프로세서(120)는 발화 의도에 대응되는 동작이 수행되는 동안(예를 들어, 응답 정보가 제공되는 동안) 추가로 입력된 사용자 음성을 기존에 입력된 사용자 음성과 함께 재인식할 수 있다. 따라서, 프로세서(120)는 중간 인식 처리로 판단된 사용자의 발화 의도가 맞는지 판단할 수 있다. In addition, the processor 120 may update the response information from the spoken user voice after the intermediate recognition process for the user voice is performed. That is, the processor 120 may recognize the additionally input user voice together with the previously input user voice while the operation corresponding to the intention to speak is performed (for example, while the response information is provided). Therefore, the processor 120 may determine whether the user's intention to be determined as the intermediate recognition process is correct.
예를 들어, 프로세서(120)는 응답 정보가 제공되는 동안 적어도 하나의 단어가 입력된 이후 발화된 추가 단어를 바탕으로 응답 정보를 갱신할 수 있다. 추가 단어를 바탕으로 판단한 사용자의 발화 의도가 기판단된 발화 의도와 일치할 경우, 프로세서(120)는 더욱 정밀한 정보를 제공할 수 있다. 반대로 발화 의도가 일치하지 않을 경우에, 프로세서(120)는 기존 응답 정보 대신에 추가 단어를 바탕으로 판단한 사용자의 발화 의도에 대응되는 응답 정보를 제공할 수 있다.For example, the processor 120 may update the response information based on the additional words spoken after the at least one word is input while the response information is provided. When the user's speech intent determined based on the additional word matches the determined speech intent, the processor 120 may provide more precise information. On the contrary, when the intention of speech does not match, the processor 120 may provide response information corresponding to the intention of the user, which is determined based on additional words instead of the existing response information.
프로세서(120)는 실시간으로 사용자의 음성을 인식하고, 인식된 사용자 음성으로부터 복수의 후보 발화 의도를 선정할 수 있다. 복수의 후보 발화 의도 중 하나가 기설정된 신뢰도 이상의 값을 가지면, 프로세서(120)는 기설정된 신뢰도 이상의 값을 갖는 발화 의도를 사용자의 발화 의도로 판단할 수 있다. 현재까지 인식된 사용자 음성만으로도 사용자의 발화 의도를 판단할 수 있는지를 실시간으로 모니터함으로써, 프로세서(120)는 사용자에게 응답하는데 소요되는 시간을 줄일 수 있다.The processor 120 may recognize the voice of the user in real time and select a plurality of candidate speech intentions from the recognized user voice. If one of the candidate speech intentions has a value equal to or greater than the predetermined reliability, the processor 120 may determine that the intention having a value equal to or greater than the predetermined reliability is the user's intention to speak. By monitoring in real time whether the user's speech intent can be determined using only the recognized user voice, the processor 120 may reduce the time required to respond to the user.
프로세서(120)는 빅데이터 및 사용자로부터 입력받아 저장한 음성 데이터를 이용하여, 특정 단어가 입력된 경우 사용자가 검색하고자 하는 정보 또는 실행하고자 하는 동작이 무엇인지 통계적으로 판단할 수 있다. 이러한 통계적 판단이 수치화된 것이 신뢰도이다. 예를 들어, 프로세서(120)는 학습된 음향 모델(AM)을 이용하여 개체명의 신뢰도를 판단할 수 있고, 학습된 언어 모델(LM)을 이용하여 의도의 신뢰도를 판단할 수 있다.The processor 120 may statistically determine what information the user wants to search or what the user wants to execute when a specific word is input, using the big data and the voice data received and stored from the user. Reliability is the quantification of these statistical judgments. For example, the processor 120 may determine the reliability of the entity name using the learned acoustic model AM, and determine the reliability of the intention using the learned language model LM.
빠른 응답을 제공하기 위하여 프로세서(120)는 미리 사용자 발화 의도에 대응되는 동작을 준비할 수 있다. 프로세서(120)는 복수의 후보 발화 의도 중 신뢰도가 가장 높은 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 준비 동작을 개시할 수 있다. 예를 들어, 신뢰도가 가장 높은 발화 의도가 서울특별시 서초구에 소재한 사무실의 위치를 지도에서 검색하고자 하는 것이라면, 프로세서(120)는 지도 어플리케이션을 실행하거나, 전자 장치(100)의 GPS 기능을 활성화할 수 있다.In order to provide a quick response, the processor 120 may prepare an operation corresponding to the intention of speaking the user in advance. The processor 120 may initiate an execution preparation operation of an application for performing an operation corresponding to a speech intent having the highest reliability among the plurality of candidate speech intents. For example, if the intent of uttering the most reliable is to search the map for the location of an office located in Seocho-gu, Seoul, the processor 120 may execute a map application or activate the GPS function of the electronic device 100. have.
복수의 후보 발화 의도 중 하나의 신뢰도가 기설정된 값 이상이면, 프로세서(120)는 해당 발화 의도를 사용자의 발화 의도로 판단할 수 있다. 그리고, 프로세서(120)는 판단된 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 화면을 표시하도록 디스플레이(130)를 제어할 수 있다.If the reliability of one of the candidate speech intentions is greater than or equal to a predetermined value, the processor 120 may determine the speech intention as the user's speech intent. In addition, the processor 120 may control the display 130 to display an execution screen of an application for performing an operation corresponding to the determined speech intent.
또한, 프로세서(120)는 판단된 발화 의도에 대응되는 동작을 수행하는데 필요한 추가 정보가 존재하면, 사용자가 추가 정보가 포함된 음성을 발화하도록 유도하는 UI를 표시하도록 디스플레이(130)를 제어할 수 있다. 이를 통해 프로세서(120)는 대화턴이 추가로 발생하는 것을 방지하고, 이번 대화턴에 사용자가 모든 정보를 발화하도록 유도할 수 있다.In addition, when there is additional information necessary to perform an operation corresponding to the determined speech intent, the processor 120 may control the display 130 to display a UI that prompts the user to speak a voice including the additional information. have. Through this, the processor 120 may prevent the talk turn from occurring further, and may induce the user to speak all the information in this talk turn.
복수의 후보 발화 의도 모두의 신뢰도가 기설정된 값 미만이면, 프로세서(120)는 복수의 후보 발화 의도를 포함하는 UI를 표시하여 사용자가 직접 발화 의도를 선택하도록 할 수도 있다. 그리고 프로세서(120)는 사용자에 의해 선택된 발화 의도에 대응되는 동작을 수행할 수 있다. 이러한 실시 예는 사용자 음성으로부터 의도 판단을 할 수 있는 문장이 아닌 단순 개체명만이 인식된 경우에 보다 유용하게 사용될 수 있다.If the reliability of all of the plurality of candidate speech intents is less than a predetermined value, the processor 120 may display a UI including the plurality of candidate speech intents so that the user may directly select the speech intents. In addition, the processor 120 may perform an operation corresponding to the speech intent selected by the user. Such an embodiment may be more usefully used when only a simple entity name is recognized, not a sentence for intent determination from a user's voice.
더욱 구체적인 프로세서(120)의 동작에 대해서는 이하에서 예시 도면과 함께 다시 설명하기로 한다.More specific operation of the processor 120 will be described below with reference to the accompanying drawings.
도 4는 본 개시의 일부 실시 예에 따른 프로세서(120)의 블록도이다. 도 4를 참조하면, 일부 실시 예에 따른 프로세서(120)는 데이터 학습부(121) 및 데이터 인식부(122)를 포함할 수 있다. 프로세서(120)는 전자장치(100)에 포함되거나 또는 서버(200)에 포함될 수 있다.4 is a block diagram of a processor 120 in accordance with some embodiments of the present disclosure. Referring to FIG. 4, a processor 120 according to some embodiments may include a data learner 121 and a data recognizer 122. The processor 120 may be included in the electronic device 100 or included in the server 200.
실시 형태에 따라 데이터 학습부(121)의 적어도 일부 및 데이터 인식부(122)의 적어도 일부는 소프트웨어 모듈로 구현되거나 또는 하드웨어 칩 형태로 제작되어 전자장치(100) 또는 서버(200)에 탑재될 수 있다.According to an exemplary embodiment, at least a part of the data learning unit 121 and at least a part of the data recognizing unit 122 may be implemented as a software module or manufactured in the form of a hardware chip and mounted on the electronic device 100 or the server 200. have.
데이터 학습부(121)는 음성 인식, 언어 이해, 사용자의 발화 의도 판단을 위한 기준을 학습할 수 있다. 프로세서(120)는 학습된 기준에 따라 입력된 사용자 음성을 분석하여 사용자의 발화 의도를 판단하고, 대응되는 응답 정보를 생성할 수 있다. 데이터 학습부(121)는 사용자 음성을 인식하기 위하여 어떠한 데이터를 이용할 것인지 결정할 수 있다. 또한, 데이터 학습부(121)는 인식된 사용자 음성을 이해하여 사용자의 발화 의도를 판단하기 위해 어떠한 데이터를 이용할 것인지 결정할 수 있다. 데이터 학습부(121)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써 음성 인식, 사용자 발화 의도 판단을 위한 기준을 학습할 수 있다. 구체적으로 데이터 학습부(121)는 학습에 이용될 데이터를 다른 외부 서버 또는 전자장치로부터 획득할 수 있다.데이터 인식부(122)는 학습된 데이터 인식 모델을 이용하여, 소정의 데이터로부터 상황을 인식할 수 있다. 데이터 인식부(122)는 학습에 의한 기설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 인식 모델을 이용할 수 있다. 예를 들어, 학습된 음향 모델 및 언어 모델을 이용하여, 데이터 인식부(122)는 입력된 사용자 음성을 인식할 수 있다. 그리고 인식된 사용자 음성에 기초하여 데이터 인식부(122)는 사용자의 발화 의도를 판단할 수 있다. 각 사용자에 대한 음성 인식 및 발화 의도 결과 값으로 획득된 데이터를 재차 입력 값으로 이용하여, 데이터 인식부(122)는 데이터 인식 모델을 갱신할 수 있다. 이와 같이, 데이터 인식부(122)는 음성 인식 및 발화 의도에 대한 신뢰도 측정 등에 빅데이터 및 사용자별 히스토리 데이터를 이용할 수 있다. 프로세서(120)는 빅데이터로 학습된 음성 인식 모델을 사용함과 동시에 음성 인식 모델을 개인화시킬 수 있다.The data learner 121 may learn criteria for speech recognition, language understanding, and user's speech intent determination. The processor 120 may analyze the input user voice according to the learned criteria to determine the user's intention to speak, and generate corresponding response information. The data learner 121 may determine what data to use to recognize the user's voice. In addition, the data learner 121 may determine what data to use to determine the user's intention by understanding the recognized user's voice. The data learner 121 acquires data to be used for learning, and applies the acquired data to a data recognition model to be described later to learn criteria for determining speech recognition and user speech intent. In more detail, the data learner 121 may acquire data to be used for learning from another external server or electronic device. The data recognizer 122 recognizes a situation from predetermined data by using the learned data recognition model. can do. The data recognizer 122 may obtain predetermined data according to a predetermined criterion by learning, and use the data recognition model by using the acquired data as an input value. For example, the data recognizer 122 may recognize the input user voice by using the learned acoustic model and the language model. The data recognizer 122 may determine the user's intention to speak based on the recognized user voice. The data recognition unit 122 may update the data recognition model by using the data acquired as the voice recognition and speech intention result values for each user as input values again. As such, the data recognizer 122 may use big data and user-specific history data to measure reliability of speech recognition and speech intent. The processor 120 may personalize the speech recognition model while using the speech recognition model learned from the big data.
데이터 학습부(121) 및 데이터 인식부(122) 중 적어도 하나는, 하나 또는 복수의 하드웨어 칩 형태로 제작되어 전자 장치(100)에 탑재될 수 있다. 예를 들어, 데이터 학습부(121) 및 데이터 인식부(122) 중 적어도 하나는 인공 지능(Artifical Intelligence, AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 기존의 범용 프로세서(예를 들어, CPU 또는 application processor) 또는 그래픽 전용 프로세서(예 : GPU)의 일부로 제작되어 전술한 각종 전자장치(100)에 탑재될 수도 있다. 이 때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 머신러닝과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 도 4의 실시 예에서는 데이터 학습부(121) 및 데이터 인식부(122)가 모두 전자 장치(100)에 탑재된 경우를 도시하였으나, 이들은 각각 별개의 장치에 탑재될 수도 있다. 예를 들어, 데이터 학습부(121) 및 데이터 인식부(122) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 서버(200)에 포함될 수 있다. 또한 데이터 학습부(121) 및 데이터 인식부(122)는 서로 유선 또는 무선으로 연결되어, 데이터 학습부(121)가 구축한 모델 정보가 데이터 인식부(122)로 제공될 수 있고, 데이터 인식부(122)로 입력된 데이터가 추가 학습 데이터로 데이터 학습부(121)로 제공될 수도 있다.At least one of the data learner 121 and the data recognizer 122 may be manufactured in the form of one or a plurality of hardware chips and mounted on the electronic device 100. For example, at least one of the data learner 121 and the data recognizer 122 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be a conventional general purpose processor (eg, It may be manufactured as a part of a CPU or an application processor) or a graphics dedicated processor (eg, a GPU) and mounted on the aforementioned various electronic devices 100. At this time, the dedicated hardware chip for artificial intelligence is a dedicated processor specialized in probability calculation, and has higher parallelism performance than the conventional general-purpose processor, so that it is possible to process arithmetic tasks in the field of artificial intelligence such as machine learning. In the embodiment of FIG. 4, the data learner 121 and the data recognizer 122 are both mounted on the electronic device 100, but they may be mounted on separate devices. For example, one of the data learner 121 and the data recognizer 122 may be included in the electronic device 100, and the other may be included in the server 200. In addition, the data learner 121 and the data recognizer 122 may be connected to each other by wire or wirelessly, so that model information constructed by the data learner 121 may be provided to the data recognizer 122, and the data recognizer 122 may be provided. The data input to 122 may be provided to the data learner 121 as additional learning data.
예를 들면 전자장치(100)는 데이터 인식부(122)를 포함하며, 외부의 서버(200)가 데이터 학습부(121)를 포함할 수 있다. 서버(120)는 사용자의 의도를 판단하기 위한 기준을 학습할 수 있으며, 전자장치(100)는 서버(200)에 의한 학습 결과에 기초하여 사용자가 발화한 음성의 의도를 판단할 수 있다.For example, the electronic device 100 may include a data recognizer 122, and the external server 200 may include a data learner 121. The server 120 may learn a criterion for determining the intention of the user, and the electronic device 100 may determine the intention of the voice spoken by the user based on the learning result by the server 200.
서버(200)의 데이터 학습부(121)는 사용자 의도를 판단하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 사용자 의도를 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(121)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 인식 모델에 적용함으로써, 사용자 의도를 판단하기 위한 기준을 학습할 수 있다.The data learner 121 of the server 200 may learn a criterion about what data is used to determine the user intention and how to determine the user intention using the data. The data learner 121 acquires data to be used for learning and applies the acquired data to a data recognition model to be described later, thereby learning a criterion for determining user intention.
그러나, 이는 일 실시예에 불과할 뿐, 전자장치(100)가 데이터 학습부(121)를 포함할 수 있으며, 서버와 같은 외부 장치가 데이터 인식부(122)를 포함할 수 있다.However, this is only an example, and the electronic device 100 may include the data learner 121, and an external device such as a server may include the data recognizer 122.
한편, 데이터 학습부(121) 및 데이터 인식부(122) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(121) 및 데이터 인식부(122) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 비일시적 컴퓨터 판독가능 기록매체에 저장될 수 있다. 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는 적어도 하나의 소프트웨어 모듈 중 일부는 OS에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수도 있다.Meanwhile, at least one of the data learner 121 and the data recognizer 122 may be implemented as a software module. When at least one of the data learner 121 and the data recognizer 122 is implemented as a software module (or a program module including instructions), the software module may be stored in a non-transitory computer readable recording medium. At least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
도 5a는 본 개시의 일부 실시 예에 따른 데이터 학습부(121)의 블록도이다. 도 5a를 참조하면, 일부 실시 예에 따른 데이터 학습부(121)는 데이터 획득부(121-1), 전처리부(121-2), 학습 데이터 선택부(121-3), 모델 학습부(121-4) 및 모델 평가부(121-5)를 포함할 수 있다.5A is a block diagram of a data learner 121 according to some embodiments of the present disclosure. Referring to FIG. 5A, the data learner 121 according to an exemplary embodiment may include a data acquirer 121-1, a preprocessor 121-2, a training data selector 121-3, and a model learner 121. -4) and the model evaluator 121-5.
데이터 획득부(121-1)는 상황 판단에 필요한 데이터를 획득할 수 있다. 예를 들어, 데이터 획득부(121-1)는 마이크(110)를 통해 입력된 사용자 음성 신호를 디지털 신호로 변환하여 음성 데이터를 획득할 수 있다. 그리고, 데이터 획득부(121-1)는 서버(200) 또는 인터넷과 같은 네트워크에서 학습용 음성 데이터를 수신할 수도 있다.The data acquirer 121-1 may acquire data necessary for determining a situation. For example, the data acquirer 121-1 may obtain voice data by converting a user voice signal input through the microphone 110 into a digital signal. The data acquirer 121-1 may receive learning voice data from the server 200 or a network such as the Internet.
전처리부(121-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(121-2)는 후술할 모델 학습부(121-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다.The preprocessor 121-2 may preprocess the acquired data so that the data obtained for learning for the situation determination may be used. The preprocessor 121-2 may process the acquired data in a predetermined format so that the model learner 121-4, which will be described later, uses the acquired data for learning for situation determination.
예를 들어, 전처리부(121-2)는 입력된 사용자 음성에 대해 인식 대상이 되는 구간을 추출할 수 있다. 그리고, 전처리부(121-2)는 잡음 제거, 특징 추출 등을 수행하여 음성 데이터를 생성할 수 있다.For example, the preprocessor 121-2 may extract a section that is a recognition target for the input user voice. The preprocessor 121-2 may generate voice data by performing noise removal, feature extraction, and the like.
다른 예로, 전처리부(121-2)는 입력된 사용자 음성의 주파수 성분을 분석하여 일부 주파수 성분을 강화하고, 나머지 주파수 성분을 억제하는 방식으로 음성 인식에 적합하도록 음성 데이터를 생성할 수도 있다.As another example, the preprocessor 121-2 may generate voice data to be suitable for speech recognition by analyzing a frequency component of an input user voice, reinforcing some frequency components, and suppressing other frequency components.
학습 데이터 선택부(121-3)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(121-4)에 제공될 수 있다. 학습 데이터 선택부(121-3)는 상황 판단을 위한 기설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(121-3)는 후술할 모델 학습부(121-4)에 의한 학습에 의해 기설정된 기준에 따라 데이터를 선택할 수도 있다.The training data selector 121-3 may select data necessary for learning from the preprocessed data. The selected data may be provided to the model learner 121-4. The training data selector 121-3 may select data required for learning from preprocessed data according to a predetermined criterion for determining a situation. In addition, the training data selection unit 121-3 may select data according to a predetermined criterion by learning by the model training unit 121-4 to be described later.
예를 들어, 학습 초기에는 학습 데이터 선택부(121-3)가 전처리된 음성 데이터들 중 유사도가 높은 음성 데이터를 제거할 수 있다. 즉, 초기 학습을 위하여 학습 데이터 선택부(121-3)는 구분하기 쉬운 기준을 학습하도록 유사도가 낮은 음성 데이터들을 선택할 수 있다.For example, in the early stage of learning, the learning data selector 121-3 may remove voice data having high similarity among the preprocessed voice data. That is, for initial learning, the learning data selector 121-3 may select voice data having low similarity so as to learn a criterion that is easy to distinguish.
다른 예로, 학습 데이터 선택부(121-3)는 특정 언어로 발화된 음성 데이터만을 선택할 수 있다. 언어별로 발화 특성이 상이하기 때문에 특정 언어로 발화된 음성 데이터 세트를 선택함으로써, 학습 데이터 선택부(121-3)는 모델 학습부(121-4)가 선택된 특정 언어에 적합한 기준을 학습하도록 할 수 있다.As another example, the learning data selector 121-3 may select only voice data spoken in a specific language. Since the speech characteristics are different for each language, by selecting the speech data set spoken in a specific language, the training data selector 121-3 may allow the model learner 121-4 to learn a criterion suitable for the selected specific language. have.
반대로, 학습 데이터 선택부(121-3)는 각 언어의 특징이 반영된 음성 데이터를 선택할 수도 있다. 이를 통해, 모델 학습부(121-4)는 음성 데이터가 어떠한 언어에 해당하는지에 대한 기준을 학습할 수 있다.On the contrary, the learning data selector 121-3 may select voice data in which characteristics of each language are reflected. Through this, the model learner 121-4 may learn a criterion for which language the voice data corresponds to.
예를 들어, 학습 데이터 선택부(121-3)는 특정 사용자의 음성 데이터만을 선택하여 화자 종속(speaker dependent) 또는 화자 적응(speaker adoption) 인식을 위한 기준을 모델 학습부(121-4)가 학습하도록 할 수 있다.For example, the training data selector 121-3 selects only voice data of a specific user so that the model learner 121-4 learns a criterion for speaker dependent or speaker adoption recognition. You can do that.
그리고, 학습 데이터 선택부(121-3)는 학습에 의해 기설정된 기준 중 하나를 공통으로 만족하는 전처리된 음성 데이터들을 선택할 수 있다. 이를 통해, 모델 학습부(121-4)는 이미 학습된 기준과는 상이한 다른 기준을 학습할 수 있다.In addition, the learning data selector 121-3 may select preprocessed voice data that satisfactorily meets one of the preset criteria by learning. In this way, the model learner 121-4 may learn another criterion different from the previously learned criterion.
모델 학습부(121-4)는 학습 데이터에 기초하여 상황을 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(121-4)는 상황 판단을 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.The model learner 121-4 may learn a criterion about how to determine a situation based on the training data. In addition, the model learner 121-4 may learn a criterion about what learning data should be used for situation determination.
예를 들어, 모델 학습부(121-4)는 복수의 음성 데이터들을 비교하여 음소, 음절, 모음 등을 구분하는 물리적인 특징들을 학습할 수 있다. 이를 통해 모델 학습부(121-4)는 음소와 같은 소리 단위를 구분하는 음향 모델(AM)을 구축할 수 있다. 또한, 모델 학습부(121-4)는 복수의 음성 데이터들을 비교하여 단어나 어휘적 쓰임새를 학습할 수 있다. 이를 통해 모델 학습부(121-4)는 언어 모델(LM)을 구축할 수 있다.For example, the model learner 121-4 may learn physical features that distinguish phonemes, syllables, vowels, etc. by comparing the plurality of voice data. In this way, the model learner 121-4 may construct an acoustic model AM for classifying sound units such as phonemes. In addition, the model learner 121-4 may learn a word or lexical use by comparing a plurality of voice data. Through this, the model learning unit 121-4 may build a language model LM.
모델 학습부(121-4)는 상황 판단에 이용되는 데이터 인식 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 인식 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 인식 모델은 기본 학습 데이터(예를 들어, 샘플 음성 데이터 등)을 입력 받아 미리 구축된 모델일 수 있다. 다른 예로, 데이터 인식 모델은 빅데이터를 이용하여 미리 구축된 음향 모델(AM) 또는 언어 모델(LM)일 수 있다. 모델 학습부(121-4)는 특정 사용자의 음성 데이터를 학습하여, 화자 독립적인 미리 구축된 음향 모델(AM) 또는 언어 모델(LM)을 개인화된 음향 모델(AM) 또는 언어 모델(LM)로 발전시킬 수도 있다.The model learner 121-4 may train the data recognition model used for situation determination using the training data. In this case, the data recognition model may be a pre-built model. For example, the data recognition model may be a model built in advance by receiving basic training data (eg, sample voice data). As another example, the data recognition model may be an acoustic model AM or a language model LM pre-built using big data. The model learner 121-4 learns the voice data of a specific user and converts the speaker-independent pre-built acoustic model AM or language model LM into a personalized acoustic model AM or language model LM. It can also be developed.
데이터 인식 모델은, 인식 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 인식 모델은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있다. 데이터 인식 모델은 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고 받는 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 데이터 인식 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 데이터 인식 모델에는, 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델 들이 포함될 수 있으며, 전술한 예에 특별히 한정되지는 않는다.다양한 실시 예에 따르면, 모델 학습부(121-4)는 미리 구축된 데이터 인식 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 인식 모델을 학습할 데이터 인식 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입별로 기분류되어 있을 수 있으며, 데이터 인식 모델은 데이터의 타입별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기분류되어 있을 수 있다. The data recognition model may be constructed in consideration of the application field of the recognition model, the purpose of learning, or the computer performance of the device. The data recognition model can be designed to simulate the human brain structure on a computer. The data recognition model may include a plurality of weighted network nodes that simulate neurons in a human neural network. The plurality of network nodes may form a connection relationship so that neurons simulate synaptic activity through which signals are sent and received through synapses. The data recognition model may include, for example, a neural network model or a deep learning model developed from the neural network model. In the deep learning model, a plurality of network nodes may be located at different depths (or layers) and exchange data according to a convolutional connection relationship. The data recognition model may include, for example, a model such as a deep neural network (DNN), a recurrent neural network (RNN), and a bidirectional recurrent deep neural network (BRDNN), and is not particularly limited to the above-described example. According to the present invention, when there are a plurality of pre-built data recognition models, the model learner 121-4 may determine a data recognition model having a high correlation between input training data and basic training data as a data recognition model to be trained. . In this case, the basic training data may be enjoyed for each type of data, and the data recognition model may be built in advance for each type of data. For example, the basic training data may be mood based on various criteria such as the region where the training data is generated, the time at which the training data is generated, the size of the training data, the genre of the training data, the creator of the training data, the types of objects in the training data, and the like. It may be.
또한, 모델 학습부(121-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 인식 모델을 학습시킬 수 있다.In addition, the model learner 121-4 may train the data recognition model using, for example, a learning algorithm including an error back-propagation method or a gradient descent method. .
예를 들어, 모델 학습부(121-4)는 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여 데이터 인식 모델을 학습시킬 수 있다. 다른 예로, 모델 학습부(121-4)는 별도의 지도 없이 상황 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써 상황 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다. 또 다른 예로, 모델 학습부(121-4)는 학습에 따른 상황 판단의 결과가 올바른지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 인식 모델을 학습시킬 수 있다.For example, the model learner 121-4 may train the data recognition model through supervised learning using the training data as an input value. As another example, the model learner 121-4 learns a data recognition model through unsupervised learning that discovers a criterion for situation determination by learning a kind of data necessary for situation determination without a separate guidance. I can learn. As another example, the model learner 121-4 may train the data recognition model through reinforcement learning using feedback on whether the result of the situation determination according to the learning is correct.
또한, 데이터 인식 모델이 학습되면, 모델 학습부(121-4)는 학습된 데이터 인식 모델을 저장할 수 있다. 이 경우, 모델 학습부(121-4)는 학습된 데이터 인식 모델을 전자 장치(100)의 메모리(160)에 저장할 수 있다. 또는, 모델 학습부(121-4)는 학습된 데이터 인식 모델을 전자 장치(100)와 유선 또는 무선 네트워크로 연결되는 서버(200)의 메모리에 저장할 수도 있다.In addition, when the data recognition model is trained, the model learner 121-4 may store the trained data recognition model. In this case, the model learner 121-4 may store the learned data recognition model in the memory 160 of the electronic device 100. Alternatively, the model learner 121-4 may store the learned data recognition model in a memory of the server 200 connected to the electronic device 100 through a wired or wireless network.
이 경우, 학습된 데이터 인식 모델이 저장되는 메모리(160)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리(160)는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 예를 들어, 프로그램은 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.In this case, the memory 160 in which the learned data recognition model is stored may also store commands or data related to at least one other element of the electronic device 100. The memory 160 may also store software and / or programs. For example, the program may include a kernel, middleware, an application programming interface (API) and / or an application program (or “application”), and the like.
모델 평가부(121-5)는 데이터 인식 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(121-4)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 인식 모델을 평가하기 위한 기설정된 데이터일 수 있다. The model evaluator 121-5 may input the evaluation data into the data recognition model, and cause the model learner 121-4 to relearn if the recognition result output from the evaluation data does not satisfy a predetermined criterion. have. In this case, the evaluation data may be preset data for evaluating the data recognition model.
초기 인식 모델 구성 단계에서, 평가 데이터는 물리적 특징이 상이한 음소를 포함하는 음성 데이터일 수 있다. 이후에 평가 데이터는 유사도가 점점 일치하는 음성 데이터 세트로 대체될 수 있다. 이를 통해 모델 평가부(121-5)는 데이터 인식 모델의 성능을 점차적으로 검증할 수 있다.In the initial recognition model construction step, the evaluation data may be speech data including phonemes with different physical characteristics. The evaluation data can then be replaced with a voice data set with increasingly similarities. Through this, the model evaluator 121-5 may gradually verify the performance of the data recognition model.
예를 들어, 모델 평가부(121-5)는 평가 데이터에 대한 학습된 데이터 인식 모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 인식 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부(121-5)는 학습된 데이터 인식 모델이 적합하지 않은 것으로 평가할 수 있다.For example, the model evaluator 121-5 may determine a predetermined criterion when the number or ratio of the evaluation data that is not accurate among the recognition results of the learned data recognition model for the evaluation data exceeds a preset threshold. It can be evaluated as not satisfied. For example, when a predetermined criterion is defined at a ratio of 2%, the model evaluation unit 121-5 when the trained data recognition model outputs an incorrect recognition result for more than 20 evaluation data out of a total of 1000 evaluation data. Can be judged that the learned data recognition model is not suitable.
한편, 학습된 데이터 인식 모델이 복수 개가 존재하는 경우, 모델 평가부(121-5)는 각각의 학습된 음성 인식 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 인식 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(121-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 인식 모델로서 결정할 수 있다.On the other hand, when there are a plurality of trained data recognition models, the model evaluator 121-5 evaluates whether a predetermined criterion is satisfied for each trained speech recognition model, and recognizes the final data for a model satisfying the predetermined criterion. Can be determined as a model. In this case, when there are a plurality of models satisfying a predetermined criterion, the model evaluator 121-5 may determine any one or a predetermined number of models that are preset in the order of the highest evaluation score as the final data recognition model.
한편, 데이터 학습부(121) 내의 데이터 획득부(121-1), 전처리부(121-2), 학습 데이터 선택부(121-3), 모델 학습부(121-4) 및 모델 평가부(121-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(121-1), 전처리부(121-2), 학습 데이터 선택부(121-3), 모델 학습부(121-4) 및 모델 평가부(121-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예를 들어, CPU 또는 application processor) 또는 특정 기능을 위한 IP의 일부로 제작되어 전술한 각종 전자 장치(100)에 탑재될 수도 있다.Meanwhile, the data acquisition unit 121-1, the preprocessor 121-2, the training data selection unit 121-3, the model training unit 121-4, and the model evaluation unit 121 in the data learning unit 121. At least one of -5) may be manufactured in the form of at least one hardware chip and mounted on the electronic device. For example, at least one of the data acquirer 121-1, the preprocessor 121-2, the training data selector 121-3, the model learner 121-4, and the model evaluator 121-5. One may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or may be manufactured as an existing general purpose processor (eg, a CPU or an application processor) or part of an IP for a specific function. It may be mounted on the electronic device 100.
또한, 데이터 획득부(121-1), 전처리부(121-2), 학습 데이터 선택부(121-3), 모델 학습부(121-4) 및 모델 평가부(121-5)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(121-1), 전처리부(121-2), 학습 데이터 선택부(121-3), 모델 학습부(121-4) 및 모델 평가부(121-5) 중 일부는 전자 장치(100)에 포함되고, 나머지 일부는 서버(200)에 포함될 수 있다.In addition, the data obtaining unit 121-1, the preprocessor 121-2, the training data selecting unit 121-3, the model learning unit 121-4, and the model evaluating unit 121-5 are one electronic components. It may be mounted on the device, or may be mounted on separate electronic devices, respectively. For example, some of the data acquirer 121-1, the preprocessor 121-2, the training data selector 121-3, the model learner 121-4, and the model evaluator 121-5 are provided. May be included in the electronic device 100, and some of them may be included in the server 200.
한편, 데이터 획득부(121-1), 전처리부(121-2), 학습 데이터 선택부(121-3), 모델 학습부(121-4) 및 모델 평가부(121-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(121-1), 전처리부(121-2), 학습 데이터 선택부(121-3), 모델 학습부(121-4) 및 모델 평가부(121-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 비일시적 컴퓨터 판독가능 기록매체에 저장될 수 있다. 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는 적어도 하나의 소프트웨어 모듈 중 일부는 OS에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수도 있다.Meanwhile, at least one of the data acquirer 121-1, the preprocessor 121-2, the training data selector 121-3, the model learner 121-4, and the model evaluator 121-5 is provided. It may be implemented as a software module. At least one of the data acquirer 121-1, the preprocessor 121-2, the training data selector 121-3, the model learner 121-4, and the model evaluator 121-5 is a software module. (Or, a program module including instructions), the software module may be stored on a non-transitory computer readable recording medium. At least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
도 5b는 본 개시의 일부 실시 예에 따른 데이터 인식부(122)의 블록도이다. 5B is a block diagram of a data recognizer 122 according to some embodiments of the present disclosure.
도 5b를 참조하면, 일부 실시예에 따른 데이터 인식부(122)는 데이터 획득부(122-1), 전처리부(122-2), 인식 데이터 선택부(122-3), 인식 결과 제공부(122-4) 및 모델 갱신부(122-5)를 포함할 수 있다Referring to FIG. 5B, the data recognizer 122 according to some embodiments may include a data acquirer 122-1, a preprocessor 122-2, a recognition data selector 122-3, and a recognition result providing unit ( 122-4) and the model updater 122-5.
데이터 획득부(122-1)는 상황 판단에 필요한 데이터를 획득할 수 있으며, 전처리부(122-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(122-2)는 후술할 인식 결과 제공부(122-4)가 상황 판단을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기설정된 포맷으로 가공할 수 있다. The data acquirer 122-1 may acquire data necessary for situation determination, and the preprocessor 122-2 may preprocess the acquired data so that the acquired data may be used for situation determination. The preprocessing unit 122-2 may process the acquired data into a predetermined format so that the recognition result providing unit 122-4 to be described later can use the obtained data for determining the situation.
인식 데이터 선택부(122-3)는 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 인식 결과 제공부(122-4)에게 제공될 수 있다. 인식 데이터 선택부(122-3)는 상황 판단을 위한 기설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부(122-3)는 후술할 모델 학습부(142-4)에 의한 학습에 의해 기설정된 기준에 따라 데이터를 선택할 수도 있다.The recognition data selector 122-3 may select data required for situation determination from among the preprocessed data. The selected data may be provided to the recognition result provider 122-4. The recognition data selector 122-3 may select some or all of the preprocessed data according to a predetermined criterion for determining the situation. In addition, the recognition data selector 122-3 may select data according to a predetermined criterion by learning by the model learner 142-4 to be described later.
인식 결과 제공부(122-4)는 선택된 데이터를 데이터 인식 모델에 적용하여 상황을 판단할 수 있다. 인식 결과 제공부(122-4)는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부(122-4)는 인식 데이터 선택부(122-3)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 인식 모델에 적용할 수 있다. 또한, 인식 결과는 데이터 인식 모델에 의해 결정될 수 있다.The recognition result provider 122-4 may determine the situation by applying the selected data to the data recognition model. The recognition result providing unit 122-4 may provide a recognition result according to the recognition purpose of the data. The recognition result providing unit 122-4 may apply the selected data to the data recognition model by using the data selected by the recognition data selecting unit 122-3 as an input value. In addition, the recognition result may be determined by the data recognition model.
예를 들어, 인식 결과 제공부(122-4)는 입력된 사용자 발화를 데이터 인식 모델에서 결정된 구분 기준에 따라 인식할 수 있다. 그리고 인식된 사용자 음성을 기초로 프로세서(120)가 사용자의 발화 의도를 판단할 수 있도록 한다. 다른 예로, 인식 결과 제공부(122-4)는 데이터 인식 모델을 이용하여 입력된 사용자 발화에서 핵심어를 인식할 수 있다. 인식된 핵심어를 기초로 프로세서(120)는 사용자의 발화 의도에 대응되는 동작을 수행할 수 있다. 그리고 프로세서(120)는 동작 수행에 필요한 추가 정보가 포함된 핵심어를 사용자가 발화하도록 유도할 수 있다.For example, the recognition result providing unit 122-4 may recognize the input user utterance according to a division criterion determined in the data recognition model. The processor 120 may determine the user's intention to speak based on the recognized user voice. As another example, the recognition result provider 122-4 may recognize a key word from a user speech input using a data recognition model. Based on the recognized key word, the processor 120 may perform an operation corresponding to the user's intention of speaking. In addition, the processor 120 may induce a user to utter a keyword including additional information necessary to perform an operation.
모델 갱신부(122-5)는 인식 결과 제공부(122-4)에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 인식 모델이 갱신되도록할 수 있다. 예를 들어, 모델 갱신부(122-5)는 인식 결과 제공부(122-4)에 의해 제공되는 인식 결과를 모델 학습부(141-4)에게 제공함으로써, 모델 학습부(141-4)가 데이터 인식 모델을 갱신하도록 할 수 있다.The model updater 122-5 may cause the data recognition model to be updated based on the evaluation of the recognition result provided by the recognition result provider 122-4. For example, the model updater 122-5 may provide the model learner 141-4 to the model learner 141-4 by providing the recognition result provided by the recognition result provider 122-4 to the model learner 141-4. The data recognition model can be updated.
한편, 데이터 인식부(122) 내의 데이터 획득부(122-1), 전처리부(122-2), 인식 데이터 선택부(122-3), 인식 결과 제공부(122-4) 및 모델 갱신부(122-5) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(122-1), 전처리부(122-2), 인식 데이터 선택부(122-3), 인식 결과 제공부(122-4) 및 모델 갱신부(122-5) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예를 들어, CPU 또는 application processor) 또는 특정 기능을 위한 IP의 일부로 제작되어 전술한 각종 전자 장치(100)에 탑재될 수도 있다.Meanwhile, the data acquisition unit 122-1, the preprocessor 122-2, the recognition data selection unit 122-3, the recognition result providing unit 122-4, and the model updating unit in the data recognition unit 122 ( At least one of 122-5) may be manufactured in the form of at least one hardware chip and mounted on the electronic device. For example, among the data acquirer 122-1, the preprocessor 122-2, the recognition data selector 122-3, the recognition result provider 122-4, and the model updater 122-5. At least one may be fabricated in the form of a dedicated hardware chip for artificial intelligence (AI), or may be fabricated as part of an existing general purpose processor (e.g., a CPU or application processor) or an IP for a particular function as described above. It may be mounted on various electronic devices 100.
또한, 데이터 획득부(122-1), 전처리부(122-2), 인식 데이터 선택부(122-3), 인식 결과 제공부(122-4) 및 모델 갱신부(122-5) 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(122-1), 전처리부(122-2), 인식 데이터 선택부(122-3), 인식 결과 제공부(122-4) 및 모델 갱신부(122-5) 중 일부는 전자 장치(100)에 포함되고, 나머지 일부는 서버(200)에 포함될 수 있다.In addition, one data acquisition unit 122-1, the preprocessor 122-2, the recognition data selection unit 122-3, the recognition result providing unit 122-4, and the model updater 122-5 It may be mounted on the device, or may be mounted on separate electronic devices, respectively. For example, among the data acquirer 122-1, the preprocessor 122-2, the recognition data selector 122-3, the recognition result provider 122-4, and the model updater 122-5. Some may be included in the electronic device 100 and others may be included in the server 200.
한편, 데이터 획득부(122-1), 전처리부(122-2), 인식 데이터 선택부(122-3), 인식 결과 제공부(122-4) 및 모델 갱신부(122-5) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(122-1), 전처리부(122-2), 인식 데이터 선택부(122-3), 인식 결과 제공부(122-4) 및 모델 갱신부(122-5) 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 비일시적 컴퓨터 판독가능 기록매체에 저장될 수 있다. 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 어플리케이션에 의해 제공될 수 있다. 또는 적어도 하나의 소프트웨어 모듈 중 일부는 OS에 의해 제공되고, 나머지 일부는 소정의 어플리케이션에 의해 제공될 수도 있다.Meanwhile, at least one of the data acquirer 122-1, the preprocessor 122-2, the recognition data selector 122-3, the recognition result provider 122-4, and the model updater 122-5. May be implemented as a software module. At least one of the data acquirer 122-1, the preprocessor 122-2, the recognition data selector 122-3, the recognition result provider 122-4, and the model updater 122-5 is software. If implemented as a module (or a program module containing instructions), the software module may be stored on a non-transitory computer readable recording medium. At least one software module may be provided by an operating system (OS) or by a predetermined application. Alternatively, some of the at least one software module may be provided by the OS, and some of the at least one software module may be provided by a predetermined application.
이하에서는 도면을 참조하여 프로세서(120)의 동작에 대해 보다 구체적으로 설명하기로 한다.Hereinafter, the operation of the processor 120 will be described in more detail with reference to the accompanying drawings.
본 개시의 일 실시 예에 따르면, 프로세서(120)는 사용자 음성이 입력되는 동안 사용자 음성에 포함된 적어도 하나의 단어를 바탕으로 사용자의 발화 의도를 판단할 수 있다. 구체적으로, 사용자 음성에 포함된 적어도 하나의 단어에는 의도(intent)를 나타내는 단어와 개체명(slot)을 나타내는 단어가 포함될 수 있다. 개체명은 장소, 타입, 시간, 출발지, 목적지와 같은 정보를 알 수 있는 단어를 말한다. "I'm hungry. Is there a good steak house near Seoul Station?"이라는 사용자 음성을 예를 들면, 'hungry'는 의도를 나타내는 단어로 분류될 수 있다. 그리고, 'Seoul Station', 'steak'와 같은 단어는 개체명을 나타내는 단어로 분류될 수 있다.According to an embodiment of the present disclosure, the processor 120 may determine the user's intention of speaking based on at least one word included in the user voice while the user voice is input. In detail, the at least one word included in the user's voice may include a word representing an intent and a word representing a slot. The entity name is a word that knows information such as place, type, time, origin, and destination. For example, a user voice of "I'm hungry. Is there a good steak house near Seoul Station?" May be classified as a word representing intention. Also, words such as 'Seoul Station' and 'steak' may be classified as words representing individual names.
프로세서(120)는 의도 및 개체명을 나타내는 각각의 단어들의 신뢰도에 기반하여 사용자 음성에 대응되는 동작을 결정할 수 있다. 예를 들어, 의도 및 개체명을 나타내는 단어들의 신뢰도가 모두 기설정된 값 미만일 경우, 프로세서(120)는 사용자 음성이 추가로 입력되기를 기다릴 수 있다.The processor 120 may determine an operation corresponding to the user's voice based on the reliability of each word representing the intention and the entity name. For example, if the reliability of the words representing the intention and the entity name are both less than the predetermined value, the processor 120 may wait for additional input of the user's voice.
만일 특정 의도에 대한 신뢰도가 기설정된 값 이상이 되면, 프로세서(120)는 특정 의도에 대응되는 동작 실행을 위한 준비에 착수할 수 있다. 그리고 프로세서(120)는 동작 실행에 추가로 필요한 개체명을 표시하도록 디스플레이(130)를 제어할 수 있다.If the confidence level for a particular intention is greater than or equal to a predetermined value, the processor 120 may start preparing for executing an operation corresponding to the specific intention. In addition, the processor 120 may control the display 130 to display an object name additionally required to execute an operation.
만일 특정 개체명에 대한 신뢰도가 기설정된 값 이상이 되면, 프로세서(120)는 특정 개체명과 관련된 복수의 후보 발화 의도를 표시하도록 디스플레이(130)를 제어할 수 있다.If the confidence level for the specific entity name is greater than or equal to a preset value, the processor 120 may control the display 130 to display a plurality of candidate intentions related to the specific entity name.
의도 및 개체명에 대한 신뢰도가 기설정된 값 이상이어서 디스플레이(130)에 응답 정보가 표시된 경우, 프로세서(120)는 추가 발화된 사용자 음성을 이용하여 응답 정보를 갱신할 수 있다. 신뢰도 값에 변화가 없다면, 프로세서(120)는 현재 디스플레이(130)에 표시된 응답 정보를 유지할 수 있다. 반대로 신뢰도 값에 변화가 있다면, 프로세서(120)는 현재 디스플레이(130)에 표시된 응답 정보를 갱신할 수 있다. 즉, 프로세서(120)는 갱신된 응답 정보를 표시하도록 디스플레이(130)를 제어할 수 있다.When the response information is displayed on the display 130 because the reliability of the intention and the entity name is greater than or equal to a predetermined value, the processor 120 may update the response information by using the additional spoken user voice. If there is no change in the reliability value, the processor 120 may maintain the response information currently displayed on the display 130. Conversely, if there is a change in the reliability value, the processor 120 may update the response information currently displayed on the display 130. That is, the processor 120 may control the display 130 to display updated response information.
도 6은 의도를 나타내는 단어가 먼저 인식되고, 개체명을 나타내는 단어가 추가적으로 인식되어 응답 정보를 갱신하는 실시 예를 도시한 도면이다. 도 6의 실시 예에서 응답 정보가 표시되기 위한 임계값인 신뢰도의 기설정된 값은 0.8로 가정하여 설명하기로 한다. 또한, 대응 동작 준비를 위한 임계값을 0.7로 설정한 경우를 가정하기로 한다. 이와 같이, 도 6의 실시 예에서는 2개의 임계값이 설정된 것을 예시하였으나, 하나의 임계값만이 설정될 수도 있다. 또한, 대응 동작이 여러 단계에 걸쳐 준비될 수 있는 경우, 프로세서(120)는 복수의 임계값을 설정하고, 각 단계를 진행하기 위한 트리거로 이용할 수도 있다.6 is a diagram illustrating an embodiment in which a word representing an intention is first recognized, and a word representing an entity name is additionally recognized to update response information. In the embodiment of FIG. 6, a predetermined value of reliability, which is a threshold for displaying response information, is assumed to be 0.8. In addition, it is assumed that the threshold value for preparing for the corresponding operation is set to 0.7. As described above, in the embodiment of FIG. 6, two thresholds are set, but only one threshold may be set. In addition, when the corresponding operation may be prepared in several steps, the processor 120 may set a plurality of thresholds and use it as a trigger for performing each step.
프로세서(120)는 빅데이터 및 사용자 히스토리 데이터를 기초로 신뢰도 판단을 위한 신뢰도 측정 모델을 생성할 수 있다. 예를 들어, 신뢰도 측정 모델 생성에는 상술한 데이터 학습부(121) 및 데이터 인식부(122)가 이용될 수 있다.The processor 120 may generate a reliability measurement model for determining reliability based on the big data and the user history data. For example, the data learning unit 121 and the data recognizing unit 122 may be used to generate the reliability measurement model.
도 6을 참조하면, 프로세서(120)는 사용자가 현재까지 발화한 "지금 배가"라는 사용자 음성으로부터 복수의 발화 의도를 추출할 수 있다. 예를 들어, 프로세서(120)는 "지금"이라는 단어로부터 시간을 물어보는 의도(Search.Time)를 추출할 수 있다. 또한, 프로세서(120)는 "배가"라는 단어로부터 병원을 찾는 의도(Search.Hospital) 및 식당을 찾는 의도(Search.Restaurant)를 추출할 수 있다. 프로세서(120)는 추출된 복수의 발화 의도의 신뢰도를 각각 판단할 수 있다. 판단된 신뢰도가 모두 기설정된 값인 0.8 미만이기 때문에, 프로세서(120)는 추가적인 사용자 음성이 입력되기까지 대기할 수 있다.Referring to FIG. 6, the processor 120 may extract a plurality of speech intents from a user voice of “doubled now” that the user speaks up to now. For example, the processor 120 may extract the intention (Search.Time) for asking the time from the word "now". In addition, the processor 120 may extract an intention to search for a hospital (Search. Hospital) and an intention to search for a restaurant (Search. Restaurant) from the word "doubled". The processor 120 may determine the reliability of each of the extracted plurality of speech intents. Since all of the determined reliability is less than the predetermined value of 0.8, the processor 120 may wait until additional user voice is input.
이어서 사용자가 "지금 배가 고픈데"까지 추가로 발화한 것을 기초로, 프로세서(120)는 사용자의 발화 의도가 식당을 찾는 의도(Search.Restaurant)에 가장 가깝다는 것을 판단할 수 있다. 프로세서(120)는 현재까지 발화된 사용자 음성으로부터 신뢰도를 판단할 수 있다. 판단된 신뢰도가 0.7이기 때문에 프로세서(120)는 식당을 찾는 동작을 처리하기 위한 준비를 개시할 수 있다. 예를 들어, 프로세서(120)는 지도 어플리케이션을 실행시키거나, GPS 기능을 활성화 시킬 수 있다.The processor 120 may then determine that the user's uttering intent is the closest to the intention to find a restaurant (Search. Restaurant) based on further uttering up to "I'm hungry now." The processor 120 may determine the reliability from the user voice spoken up to now. Since the determined reliability is 0.7, the processor 120 may start preparation for processing an operation of finding a restaurant. For example, the processor 120 may execute a map application or activate a GPS function.
사용자의 발화가 종료되기 전까지, 프로세서(120)는 중간 인식된 사용자 음성과 중간 인식 이후 추가 발화된 사용자 음성을 함께 재인식할 수 있다. 재인식된 사용자 음성을 기초로 프로세서(120)는 의도 및 개체명을 찾고 각각의 신뢰도를 재차 판단할 수 있다.Before the user's speech is terminated, the processor 120 may re-recognize the intermediate speech of the user and the additional speech after the intermediate speech. Based on the re-recognized user voice, the processor 120 may find the intention and the entity name and again determine the reliability of each.
"지금 배가 고픈데 서울역 근처에"까지 입력된 사용자 음성을 기초로, 프로세서(120)는 식당을 찾는 의도(Search.Restaurant)의 신뢰도를 0.8로 조정하고, 위치에 관련된 개체명인 '서울역'을 추출할 수 있다. 도 6의 실시 예에서는 의도의 신뢰도가 0.8 이상이면 응답 정보를 제공하는 것으로 설정되었기 때문에, 프로세서(120)는 판단된 사용자 발화 의도에 대응되는 응답 정보를 표시하도록 디스플레이(130)를 제어할 수 있다. 예를 들어, 프로세서(120)는 식당을 찾기 위하여 지도 어플리케이션을 실행할 수 있으며, 추출된 '서울역'이라는 개체명을 이용하여 지도 어플리케이션의 검색 지역을 '서울역'으로 설정할 수 있다. 그리고 프로세서(120)는 서울역 근처의 지도 정보를 제공하는 어플리케이션 실행 화면을 표시하도록 디스플레이(130)를 제어할 수 있다.Based on the user's voice input up to "Now I'm hungry near Seoul Station", the processor 120 adjusts the reliability of Search.Restaurant to 0.8 to find a restaurant, and extracts the name "Seoul Station" related to the location. Can be. In the embodiment of FIG. 6, since the response reliability is set to provide response information when the reliability of the intention is 0.8 or more, the processor 120 may control the display 130 to display response information corresponding to the determined user speech intent. . For example, the processor 120 may execute a map application to find a restaurant, and may set a search area of the map application to 'Seoul station' using the extracted entity name 'Seoul station'. In addition, the processor 120 may control the display 130 to display an application execution screen that provides map information near Seoul station.
"지금 배가 고픈데 서울역 근처에 스테이크 집"까지 입력된 사용자 음성을 기초로, 프로세서(120)는 추가로 타입에 관련된 개체명인 '스테이크 집'을 추출할 수 있다. 프로세서(120)는 추가 발화된 단어를 기초로 응답 정보를 갱신할 수 있다. 예를 들어, 프로세서(120)는 응답 정보로 제공중인 서울역 근처의 지도 정보가 표시된 어플리케이션 실행 화면을 스테이크 집에 해당하는 위치들에 화살표가 표시된 화면으로 갱신할 수 있다.Based on the user's voice input up to "a steak house near Seoul station, which is hungry now," the processor 120 may further extract an 'stake house', which is an entity name related to the type. The processor 120 may update the response information based on the additional spoken word. For example, the processor 120 may update the application execution screen displaying the map information near the Seoul station being provided as response information to the screen in which the arrows are displayed at the positions corresponding to the stake house.
"지금 배가 고픈데 서울역 근처에 스테이크 집 없을까"까지 입력된 사용자 음성을 기초로, 프로세서(120)는 추가로 추출된 의도나 개체명이 없으며, 기존에 판단된 의도나 개체명의 신뢰도에도 변화가 없음을 판단할 수 있다. 판단된 사용자의 발화 의도가 동일하며 추가 정보가 입력되지 않았기 때문에, 프로세서(120)는 제공한 응답 정보를 유지할 수 있다. 이와 같이, 프로세서(120)는 사용자의 발화가 완료되기 전에 이미 사용자의 발화 의도를 판단할 수 있다. 따라서, 프로세서(120)는 사용자에게 응답 정보를 제공하는데 소요되는 시간을 줄일 수 있다.Based on the user's voice input up to "I'm hungry but is there a steak house near Seoul Station," the processor 120 determines that there is no additional intention or entity name extracted and that there is no change in the reliability of the previously determined intention or entity name. can do. Since the determined utterance intention of the user is the same and no additional information is input, the processor 120 may maintain the provided response information. As such, the processor 120 may determine the user's intention to speak before the user's speech is completed. Therefore, the processor 120 may reduce the time required to provide response information to the user.
도 7은 도 6의 실시 예에 따라 디스플레이(130)를 통해 제공되는 화면을 도시한 도면이다. 도 6에서 전자 장치(100)는 스마트폰으로 구현된 예를 도시하였다. 도 7은 전자 장치(100)를 시간 순서에 따라 왼쪽에서 오른쪽으로 도시하였다.FIG. 7 illustrates a screen provided through the display 130 according to the exemplary embodiment of FIG. 6. 6 illustrates an example in which the electronic device 100 is implemented as a smartphone. 7 illustrates the electronic device 100 from left to right in chronological order.
도 7의 실시 예에서, 프로세서(120)는 현재까지 인식된 사용자 음성을 디스플레이(130) 상단에 텍스트로 표시하도록 디스플레이(130)를 제어한다. 또한, 프로세서(120)는 음성 인식 기능이 활성화되었음을 알리는 이미지를 디스플레이(130) 하단에 표시하도록 디스플레이(130)를 제어한다. 그리고, 프로세서(120)는 응답 정보를 디스플레이(130) 중앙에 표시하도록 디스플레이(130)를 제어한다. 본 개시의 모든 실시 예가 도 7의 화면 배치와 동일한 구성 및 구도를 갖는 것으로 한정되지 않음은 물론이다.In the embodiment of FIG. 7, the processor 120 controls the display 130 to display the recognized user voice as text on the top of the display 130. In addition, the processor 120 controls the display 130 to display an image indicating that the voice recognition function is activated at the bottom of the display 130. The processor 120 controls the display 130 to display the response information in the center of the display 130. Of course, all embodiments of the present disclosure are not limited to those having the same configuration and composition as the screen layout of FIG. 7.
도 7의 가장 왼쪽에 도시된 전자 장치(100)는 대응 동작 처리를 위한 준비를 하고 있다. 현재까지 인식된 "지금 배가 고픈데"라는 사용자 음성을 기초로, 프로세서(120)는 식당을 찾는 의도임을 판단할 수 있다. 식당을 찾는 의도의 신뢰도가 대응 동작 준비를 위한 임계값 이상으로 판단되었기 때문에, 프로세서(120)는 응답 정보 제공을 준비하기 위하여 지도 어플리케이션을 실행시킬 수 있다.The electronic device 100 shown on the left side of FIG. 7 is preparing for the corresponding operation processing. Based on the user's voice recognized to date, "I'm hungry," the processor 120 may determine that the intention is to find a restaurant. Since the reliability of the intention of finding a restaurant is determined to be greater than or equal to a threshold for preparing for a corresponding operation, the processor 120 may execute a map application to prepare for providing response information.
도 7의 왼쪽에서 두 번째로 도시된 전자 장치(100)는 응답 정보가 표시되기 위한 임계값 이상의 신뢰도를 갖는 발화 의도가 존재하는 것으로 판단하였다. 신뢰도가 기설정된 값 이상인 발화 의도 및 개체명에 해당하는 텍스트가 지도 어플리케이션 실행 화면 하단에 표시될 수 있다. 판단된 의도 및 개체명을 사용자에게 보여줌으로써, 프로세서(120)는 사용자의 피드백을 받을 수 있는 효과를 갖는다. 프로세서(120)는 판단된 의도 및 개체명에 대응되는 응답 화면인 서울역 주변의 지도 정보를 제공할 수 있다.The electronic device 100 shown second from the left of FIG. 7 determines that there is an intention to speak with a reliability that is greater than or equal to a threshold for displaying response information. A text corresponding to a speech intent and an entity name having a reliability greater than or equal to a preset value may be displayed at the bottom of the map application execution screen. By showing the determined intention and the entity name to the user, the processor 120 has the effect of receiving feedback from the user. The processor 120 may provide map information around the Seoul station, which is a response screen corresponding to the determined intention and the entity name.
도 7의 왼쪽에서 세 번째로 도시된 전자 장치(100)는 사용자의 추가 발화된 음성에 포함된 단어를 이용하여 응답 정보를 갱신하였다. 프로세서(120)는 추가로 발화된 사용자 음성을 인식하여, 검색하고자 하는 식당의 타입 정보를 추출할 수 있다. 프로세서(120)는 제공 중이던 서울역 주변의 지도 정보를 스테이크 집들의 위치가 표시된 지도 정보로 갱신하여 제공할 수 있다.The electronic device 100 shown in the third from the left of FIG. 7 updates the response information by using words included in the additional spoken voice of the user. The processor 120 may additionally recognize the spoken user voice and extract type information of a restaurant to be searched. The processor 120 may update and provide map information around the Seoul station, which is being provided, with map information indicating the positions of the stake houses.
도 7의 가장 오른쪽에 도시된 전자 장치(100)는 사용자의 추가 발화된 음성을 인식하였으나, 신뢰도에 변화가 없고 추가로 인식된 개체명 등이 없기 때문에, 이전에 제공하였던 응답 정보 화면을 유지한다. 따라서, 실질적으로 사용자가 받기를 원하는 응답 정보는 도 7의 왼쪽에서 세 번째로 도시된 시점에 이미 제공되었다. 즉, 본 개시의 일 실시 예에 따른 전자 장치(100)는 사용자 음성 입력이 완료되기 전에도 실시간으로 사용자의 음성을 인식하고, 신뢰도 검증을 통해 응답 정보를 제공/갱신할 수 있다.Although the electronic device 100 shown at the far right of FIG. 7 recognizes the user's additional spoken voice, there is no change in the reliability and there is no additional recognized entity name. Therefore, the electronic device 100 maintains the previously provided response information screen. . Thus, substantially the response information that the user wants to receive has already been provided at the third time shown from the left of FIG. That is, the electronic device 100 according to an embodiment of the present disclosure may recognize the user's voice in real time even before the user's voice input is completed and provide / update the response information through reliability verification.
도 8은 사용자의 추가 발화 음성을 인식하여 응답 정보를 변경하는 실시 예를 도시한 도면이다. 도 8의 가장 왼쪽의 도면에서, 프로세서(120)는 현재까지 인식된 "지금 배가 고픈데"라는 사용자 음성을 기초로 식당을 찾는 의도로 판단했다. 식당을 찾는 의도의 신뢰도가 대응 동작 준비를 위한 임계값 이상으로 판단되었기 때문에, 프로세서(120)는 응답 정보 제공을 준비하기 위하여 지도 어플리케이션을 실행시킬 수 있다.FIG. 8 is a diagram illustrating an embodiment in which response information is changed by recognizing an additional spoken voice of a user. In the leftmost diagram of FIG. 8, the processor 120 determines that the intention is to find a restaurant based on a user voice "now hungry" recognized so far. Since the reliability of the intention of finding a restaurant is determined to be greater than or equal to a threshold for preparing for a corresponding operation, the processor 120 may execute a map application to prepare for providing response information.
도 8의 왼쪽에서 두 번째 도면을 참조하면, 프로세서(120)는 "지금 배가 고픈데 스테이크"라는 사용자 음성으로부터 '스테이크'라는 개체명을 추가로 검출할 수 있다. 식당을 찾는 의도의 신뢰도가 응답 정보 제공을 위한 임계값 이상으로 판단되었기 때문에, 프로세서(120)는 현재 사용자의 위치 근처에 존재하는 스테이크 집을 검색한 지도 어플리케이션 실행 화면이 표시되도록 디스플레이(130)를 제어할 수 있다.Referring to the second figure from the left of FIG. 8, the processor 120 may further detect an entity name 'stake' from a user voice of “stake hungry now”. Since the reliability of the intention to find a restaurant was determined to be greater than or equal to a threshold for providing response information, the processor 120 controls the display 130 to display a map application execution screen for searching for a steak house currently located near the user's location. can do.
프로세서(120)는 추가로 인식된 단어를 바탕으로 새로이 판단된 발화 의도가 기판단된 발화 의도인 식당 검색 의도와 상이함을 확인할 수 있다. 프로세서(120)는 새로이 판단된 발화 의도에 대응하는 응답 정보가 제공되도록 응답 정보 화면을 교체하는 방식으로 갱신할 수 있다.The processor 120 may confirm that the newly determined speech intention is different from the restaurant search intention, which is the determined speech intent, based on the additionally recognized word. The processor 120 may update the response information screen so that the response information corresponding to the newly determined speech intent is provided.
도 8의 왼쪽에서 세 번째 도면을 참조하면, "지금 배가 고픈데 스테이크 레시피"라는 사용자 음성을 기초로, 프로세서(120)는 레시피를 찾는 의도를 새로이 검출할 수 있다. 그리고 프로세서(120)는 기존의 식당을 찾는 의도와 새로운 의도인 레시피를 찾는 의도 모두의 신뢰도를 다시 판단할 수 있다. 중간 인식된 사용자 음성 이후에 추가로 발화된 '레시피'라는 단어를 기초로, 프로세서(120)는 레시피를 찾는 의도의 신뢰도가 기설정된 값 이상이며, 식당을 찾는 의도의 신뢰도가 기설정된 값 미만임을 판단할 수 있다. 따라서, 프로세서(120)는 스테이크 레시피 검색 결과에 대한 응답 정보를 표시하도록 디스플레이(130)를 제어할 수 있다.Referring to the third figure from the left of FIG. 8, based on a user voice of “I'm hungry now, a steak recipe,” the processor 120 may newly detect an intention of finding a recipe. The processor 120 may determine the reliability of both the intention of finding an existing restaurant and the intention of finding a recipe that is a new intention. Based on the word 'recipe' further uttered after the middle recognized user's voice, the processor 120 indicates that the confidence of the intention of finding a recipe is above a preset value and that the confidence of the intention of finding a restaurant is less than a preset value. You can judge. Accordingly, the processor 120 may control the display 130 to display response information about the steak recipe search result.
도 8의 가장 오른쪽에 도면을 참조하면, 프로세서(120)는 이전에 제공하였던 응답 정보 화면을 유지할 수 있다. 사용자의 추가 발화된 음성을 인식한 결과 신뢰도에 변화가 없고 추가로 인식된 개체명 등이 없기 때문이다. 실질적으로 사용자가 받기를 원하는 응답 정보는 도 8의 왼쪽에서 세 번째로 도시된 시점에 이미 제공되었다.Referring to the drawing on the far right of FIG. 8, the processor 120 may maintain a response information screen previously provided. This is because there is no change in reliability and no additional recognized entity name as a result of recognizing the user's additional spoken voice. In fact, the response information that the user wants to receive has already been provided at the third time shown from the left of FIG.
도 9는 개체명을 나타내는 단어가 먼저 인식되고, 개체명에 대응되는 복수의 발화 의도를 선택할 수 있는 UI를 표시하는 실시 예를 도시한 도면이다.FIG. 9 is a diagram illustrating an embodiment in which a word representing an entity name is first recognized and a UI for selecting a plurality of speech intents corresponding to the entity name is displayed.
프로세서(120)는 현재까지 입력된 사용자 음성에 포함된 단어를 바탕으로 복수의 발화 의도를 예측할 수 있다. 그리고 프로세서(120)는 예측된 복수의 발화 의도의 신뢰도를 판단할 수 있다.The processor 120 may predict a plurality of speech intents based on words included in a user voice input to date. The processor 120 may determine the reliability of the predicted plurality of speech intents.
판단된 복수의 발화 의도의 신뢰도가 기설정된 값 미만이면, 프로세서(120)는 판단된 복수의 발화 의도를 포함하는 리스트 UI를 표시하도록 디스플레이(130)를 제어할 수 있다. 그리고 표시된 복수의 발화 의도 중 하나의 발화 의도를 선택하는 사용자 입력이 수신되면, 프로세서(120)는 선택된 발화 의도에 대응되는 응답 정보를 표시하도록 디스플레이(130)를 제어할 수 있다.If the reliability of the determined plurality of speech intents is less than a preset value, the processor 120 may control the display 130 to display a list UI including the determined plurality of speech intents. When a user input for selecting one of the displayed speech intents is received, the processor 120 may control the display 130 to display response information corresponding to the selected speech intent.
도 9를 참조하면, 프로세서(120)는 "서"라는 사용자 음성으로부터 발화 의도를 예측할 수 있다. 예를 들어, 프로세서(120)는 "서"라는 음소가 가장 먼저 입력된 경우 시간을 물어보는 경우가 많았다는 히스토리 데이터를 이용하여, 시간을 물어보는 의도(Search.Time)를 예측할 수 있다. 하지만, 예측된 의도의 신뢰도가 0.1로 낮기 때문에 프로세서(120)는 아무런 동작 없이 사용자의 추가 발화를 대기할 수 있다.Referring to FIG. 9, the processor 120 may predict a speech intent from a user voice of “west”. For example, the processor 120 may predict the intention (Search.Time) of asking for time by using history data that a phoneme of “west” is first asked for a time when the phoneme is “first”. However, since the reliability of the predicted intention is low as 0.1, the processor 120 may wait for further utterance of the user without any operation.
이어서, 사용자가 "서울"까지 추가로 발화한 것을 기초로, 프로세서(120)는 위치에 관련된 개체명인 '서울'을 추출할 수 있다. 프로세서(120)는 추출된 '서울'과 관련된 복수의 발화 의도를 예측할 수 있다. 예를 들어, 프로세서(120)는 날씨를 검색하는 의도(Search.Weather), 길을 찾는 의도(Find.Path), 도시 정보를 검색하는 의도(Search.Cityinfo)를 발화 의도로 예측할 수 있다.Subsequently, based on the user's additional speech up to "Seoul", the processor 120 may extract 'Seoul', which is the entity name associated with the location. The processor 120 may predict a plurality of speech intents associated with the extracted 'Seoul'. For example, the processor 120 may predict the intention of searching for weather (Search.Weather), the intention of finding a road (Find.Path), and the intention of searching for city information (Search.Cityinfo) as a speech intent.
예측된 복수의 발화 의도들의 신뢰도가 모두 기설정된 값 미만이기 때문에. 프로세서(120)는 예측된 복수의 발화 의도들을 나열하여 표시하도록 디스플레이(130)를 제어할 수 있다. 만일 표시된 복수의 발화 의도 중 하나를 선택하는 사용자 입력이 수신되면, 프로세서(120)는 선택된 발화 의도에 대응되는 응답 정보를 제공할 수 있다. 예를 들어, 길을 찾는 의도를 선택하는 사용자 입력이 수신되면, 프로세서(120)는 네비게이션 실행 화면을 표시하도록 디스플레이(130)를 제어할 수 있다. Because the reliability of the predicted plurality of speech intents is all less than a preset value. The processor 120 may control the display 130 to list and display the predicted plurality of speech intents. If a user input for selecting one of the displayed utterance intentions is received, the processor 120 may provide response information corresponding to the selected utterance intention. For example, when a user input for selecting an intention of finding a road is received, the processor 120 may control the display 130 to display a navigation execution screen.
반대로 표시된 복수의 발화 의도 중 하나를 선택하는 사용자 입력이 수신되지 않으면, 프로세서(120)는 사용자의 추가 발화가 입력되기를 기다릴 수 있다. 도 9의 실시 예에서는 사용자 입력이 없던 경우를 예시하기로 한다.In contrast, if a user input for selecting one of the plurality of utterance intentions displayed is not received, the processor 120 may wait for a further utterance of the user to be input. In the embodiment of FIG. 9, a case in which there is no user input will be described.
"서울로 가는"까지 입력된 사용자 음성을 기초로, 프로세서(120)는 길을 찾는 의도의 신뢰도를 0.9로 조정할 수 있다. 그리고 프로세서(120)는 기설정된 값 이상인 신뢰도를 갖는 의도 및 개체명을 이용하여 네비게이션 어플리케이션을 실행시켜 서울로 가는 길을 검색할 수 있다.Based on the user's voice input up to "going to Seoul," the processor 120 may adjust the confidence of the intention to find the route to 0.9. In addition, the processor 120 may search for a way to Seoul by executing a navigation application using an intention and an entity name having a reliability that is greater than or equal to a preset value.
이후에 "서울로 가는 길 알려줘"까지 입력된 사용자 음성을 바탕으로, 프로세서(120)는 신뢰도에 변화가 없음을 판단할 수 있다. 판단된 사용자의 발화 의도가 동일하며 추가 정보가 입력되지 않았는바, 프로세서(120)는 제공한 응답 정보를 유지할 수 있다. 프로세서(120)는 사용자의 발화가 완료되기 전에 이미 사용자의 발화 의도를 판단하여 빠르게 응답 정보를 제공할 수 있다.The processor 120 may determine that there is no change in reliability based on the user's voice input until “tell me the way to Seoul”. Since the determined intention of the user is the same and no additional information is input, the processor 120 may maintain the provided response information. The processor 120 may quickly determine the utterance intention of the user before providing the user's utterance and provide the response information quickly.
도 10은 도 9의 실시 예에 따라 디스플레이(130)를 통해 제공되는 화면을 도시한 도면이다. 다만, 도 10에서는 발화 의도를 선택하는 사용자 입력이 존재하는 경우의 실시 예를 도시하였다. 도 10은 전자 장치(100)를 시간 순서에 따라 왼쪽에서 오른쪽으로 도시하였다.FIG. 10 illustrates a screen provided through the display 130 according to the exemplary embodiment of FIG. 9. However, FIG. 10 illustrates an embodiment in which there is a user input for selecting a speech intent. 10 illustrates the electronic device 100 from left to right in chronological order.
도 10의 가장 왼쪽 도면을 참조하면, 프로세서(120)는 현재까지 인식된 "서"라는 사용자 음성을 기초로는 의도나 개체명을 판단할 수 없는 바, 추가 발화된 음성이 인식되기를 기다릴 수 있다. Referring to the leftmost diagram of FIG. 10, the processor 120 may not determine the intention or the entity name based on the user voice "We" recognized so far, and may wait for the additional speech to be recognized. .
프로세서(120)는 "서울"까지 입력된 사용자 음성을 기초로 위치를 나타내는 개체명인 '서울'을 인식할 수 있다. 그리고 프로세서(120)는 '서울'과 관련된 복수의 발화 의도를 예측할 수 있다. 예측된 복수의 발화 의도들의 신뢰도가 기설정된 값 미만으로 판단되면, 프로세서(120)는 복수의 발화 의도를 표시하여 사용자 선택을 받을 수 있다. 도 10의 왼쪽에서 두 번째 도면과 같이, 프로세서(120)는 '서울'이라는 개체명과 관련된 복수의 발화 의도에 해당하는 '날씨 검색', '네비게이션', '도시 정보'를 선택할 수 있는 리스트 UI를 표시하도록 디스플레이(130)를 제어할 수 있다.The processor 120 may recognize 'Seoul', which is an entity name indicating a location, based on a user's voice input up to "Seoul." The processor 120 may predict a plurality of speech intents related to 'Seoul'. When the reliability of the predicted plurality of speech intents is determined to be less than a predetermined value, the processor 120 may display the plurality of speech intents and receive a user selection. As shown in the second drawing from the left of FIG. 10, the processor 120 may select a list UI that selects 'weather search', 'navigation', and 'city information' corresponding to a plurality of speech intents associated with the entity name 'Seoul.' The display 130 can be controlled to display.
도 10의 실시 예에서는 사용자가 '네비게이션'을 발화 의도에 대응된다고 선택한 경우를 가정하여 설명하기로 한다. 물론 도 9에서 설명한 것과 같이, 프로세서(120)는 추가 발화된 음성을 이용하여 발화 의도를 결정할 수도 있다.In the embodiment of FIG. 10, it will be described on the assumption that the user selects 'navigation' corresponding to the intention of speaking. Of course, as described with reference to FIG. 9, the processor 120 may determine the speech intent by using the additional speech.
프로세서(120)는 선택된 발화 의도에 대응되는 응답 화면을 제공할 수 있다. 도 10의 왼쪽에서 세 번째 도면과 같이, 프로세서(120)는 네비게이션 어플리케이션을 실행하여, 사용자의 현재 위치에서 서울까지의 경로를 검색할 수 있다.The processor 120 may provide a response screen corresponding to the selected speech intent. As shown in the third drawing from the left of FIG. 10, the processor 120 may execute a navigation application to search for a route from the current location of the user to Seoul.
프로세서(120)는 사용자의 선택에 의해 정확한 발화 의도를 알 수 있다. 따라서, 프로세서(120)는 도 10의 가장 오른쪽 도면과 같이 발화 완료된 사용자의 음성 데이터를 음성 인식 모델을 강화하기 위한 학습 데이터로 이용할 수 있다.The processor 120 may know the exact speech intent by the user's selection. Therefore, the processor 120 may use the speech data of the user who has been uttered as learning data for reinforcing the speech recognition model as shown in the rightmost diagram of FIG. 10.
도 11은 판단된 발화 의도에 대응되는 동작을 수행하는데 필요한 추가 정보를 사용자가 발화하도록 유도하는 UI를 표시하는 실시 예를 도시한 도면이다.FIG. 11 is a diagram illustrating an embodiment of displaying a UI for inducing a user to utter additional information required to perform an operation corresponding to the determined speech intent.
도 11의 가장 왼쪽 도면을 참조하면, 현재까지 입력된 사용자의 음성은 "부산 가는"임을 알 수 있다. 프로세서(120)는 현재까지 인식된 사용자 음성을 통해 길을 찾는 의도(Find.Path), 기차 예약 의도(Book.Train) 등의 의도를 판단할 수 있다. 판단된 의도들의 신뢰도가 기설정된 값 미만이면, 프로세서(120)는 도 11과 같이 사용자의 추가 발화를 대기할 수 있다.Referring to the leftmost drawing of FIG. 11, it can be seen that the voice of the user input so far is “going to Busan”. The processor 120 may determine an intention of finding a route (Find. Path), a train reservation intention (Book. Train), or the like through a recognized user voice. If the reliability of the determined intentions is less than the predetermined value, the processor 120 may wait for further utterance of the user as shown in FIG. 11.
"부산 가는 기차 예약해줘."라는 사용자의 음성을 기초로, 프로세서(120)는 사용자의 발화 의도가 기차 예약 의도임을 판단할 수 있다. 그리고, 프로세서(120)는 판단된 발화 의도에 대응되는 동작을 수행할 수 있다. 기차 예약 동작을 위해서 필요한 정보는 '출발지', '도착지', '시간'이다. 현재까지 발화된 사용자 음성을 기초로, 프로세서(120)는 필요한 정보 중 도착지가 부산이라는 것만을 판단할 수 있을 뿐이다.Based on the voice of the user, "Reserving a train going to Busan," the processor 120 may determine that the user's utterance intention is a train reservation intention. In addition, the processor 120 may perform an operation corresponding to the determined speech intent. The information required for the train reservation operation is 'departure', 'arrival' and 'time'. Based on the user's voice spoken so far, the processor 120 can only determine that the destination is Busan from the necessary information.
종래의 가상 개인 비서 기능에서는 추가 정보가 필요한 경우, 사용자에게 각각의 필요한 정보에 대해 질문을 하여 답변을 받았다. 따라서, 필요한 추가 정보의 수만큼 추가 대화턴이 발생하는 문제점이 존재하였다.In the conventional virtual personal assistant function, when additional information is needed, the user is asked about each necessary information and received an answer. Thus, there has been a problem that additional conversation turns occur as many as the necessary additional information.
본 개시의 일 실시 예에 따른 전자 장치(100)는 도 11의 왼쪽에서 두 번째 도면에 도시된 것과 같이, 대응되는 동작에 필요한 정보가 무엇인지, 필요한 정보가 입력되었는지를 알려주는 가이드 UI를 표시할 수 있다. 가이드 UI를 표시함으로써 프로세서(120)는 추가 대화턴 없이도 필요한 정보를 사용자가 발화하도록 유도할 수 있다.The electronic device 100 according to an embodiment of the present disclosure displays a guide UI that indicates what information is required for a corresponding operation and whether necessary information has been input, as shown in the second figure from the left of FIG. 11. can do. By displaying the guide UI, the processor 120 may induce a user to speak necessary information without additional interactive turn.
도 11에 도시된 바와 같이, 프로세서(120)는 사용자가 추가 발화한 내용을 기초로 필요한 정보가 입력되었는지 판단할 수 있다. 그리고 프로세서(120)는 필요한 정보가 입력되는 대로 가이드 UI에 입력된 내용을 표시하도록 디스플레이(130)를 제어할 수 있다. 예를 들어, 프로세서(120)는 "내일 6시"라는 사용자의 추가 발화로부터 '시간' 필드에 '내일 6시'라는 표시를 추가할 수 있다. 또한, 프로세서(120)는 "수원에서 출발해"라는 사용자의 추가 발화로부터 '출발지' 필드에 '수원'이라는 표시를 추가할 수 있다.As illustrated in FIG. 11, the processor 120 may determine whether necessary information is input based on the additional speech spoken by the user. In addition, the processor 120 may control the display 130 to display the content input to the guide UI as necessary information is input. For example, the processor 120 may add an indication of “6 tomorrow” to the “time” field from the user's additional speech of “6 tomorrow”. In addition, the processor 120 may add an indication of 'water source' to the 'origin' field from the additional speech of the user, "starting from the water source".
상술한 바와 같은 본 개시의 다양한 실시 예에 따른 전자 장치(100)는 가상 개인 비서의 응답 속도를 향상시킬 수 있다. 또한, 전자 장치(100)는 최소한의 대화턴으로 사용자가 의도한 동작을 수행할 수 있다. 이를 통해 사용자는 빠르면서도 정확한 가상 개인 비서 기능에 대한 사용자 경험을 획득할 수 있다.As described above, the electronic device 100 according to various embodiments of the present disclosure may improve a response speed of the virtual personal assistant. In addition, the electronic device 100 may perform an operation intended by the user with a minimum number of conversation turns. This allows the user to acquire a user experience for a fast and accurate virtual personal assistant function.
상술한 바와 같이 전자 장치(100)가 사용자의 발화 의도를 판단하고, 대응되는 응답 정보를 생성하는 동작을 모두 수행할 수도 있으나, 서버(200)가 중심이 되어 가상 개인 비서 기능을 수행할 수도 있다. 즉, 전자 장치(100)는 입출력 동작만을 수행하고, 나머지 기능은 서버(200)가 수행하도록 구현될 수도 있다. As described above, although the electronic device 100 may determine the user's intention to speak and generate the corresponding response information, the server 200 may be the center to perform the virtual personal assistant function. . That is, the electronic device 100 may perform only an input / output operation and the other functions may be implemented by the server 200.
본 개시의 일 실시 예에 따른 사용자 발화 의도 판단 방법은 실시간으로 사용자 발화를 처리하여 의도를 판단하기 때문에, 서버(200)와 전자 장치(100) 사이의 빠른 통신 속도가 요구된다. 예를 들어, 전자 장치(100)에서 가상 개인 비서 기능이 실행되면 서버(200)와의 사이에 전용 통신 채널이 개설될 수 있다. 전자 장치(100)는 수신된 사용자 음성을 서버(200)로 전달할 수 있다. 서버(200)는 사용자 음성으로부터 발화 의도를 판단하고, 대응되는 응답 정보를 생성하여 전자 장치(100)로 전송할 수 있다. 전자 장치(100)는 수신한 응답 정보를 출력하여 사용자에게 제공할 수 있다.Since the user speech intent determination method according to an embodiment of the present disclosure determines the intention by processing the user speech in real time, a fast communication speed between the server 200 and the electronic device 100 is required. For example, when the virtual personal assistant function is executed in the electronic device 100, a dedicated communication channel may be established with the server 200. The electronic device 100 may transmit the received user voice to the server 200. The server 200 may determine the intention to speak from the user's voice, generate corresponding response information, and transmit the corresponding response information to the electronic device 100. The electronic device 100 may output the received response information and provide it to the user.
도 12 내지 도 15는 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 사용자 발화 의도 판단 방법을 판단하기 위한 도면이다.12 to 15 are diagrams for determining a method of determining a user utterance intention of the electronic device 100 according to various embodiments of the present disclosure.
도 12를 참조하면, 전자 장치(100)는 사용자가 발화한 사용자 음성을 입력받을 수 있다(S1210). 그리고 사용자의 음성이 수신되는 동안, 전자 장치(100)는 사용자 음성에 포함된 적어도 하나의 단어를 바탕으로 사용자의 발화 의도를 판단할 수 있다(S1220). 즉, 전자 장치(100)는 사용자의 발화가 완료되기 전에도 현재까지 입력된 사용자 음성을 기초로 실시간으로 발화 의도를 판단할 수 있다. 또한 판단된 발화 의도의 신뢰도를 측정하는 검증 과정을 거치기 때문에, 전자 장치(100)는 사용자의 발화 의도와 전혀 상이한 결과를 제공하지 않을 수 있다.Referring to FIG. 12, the electronic device 100 may receive a user voice spoken by a user in operation S1210. While the user's voice is received, the electronic device 100 may determine the user's intention of speaking based on at least one word included in the user's voice (S1220). That is, the electronic device 100 may determine the intention to speak in real time based on the user's voice input until now even before the user's speech is completed. In addition, since the verification process of measuring the reliability of the determined speech intent is performed, the electronic device 100 may not provide a result that is completely different from that of the user.
전자 장치(100)는 판단된 사용자의 발화 의도에 대응되는 응답 정보를 제공할 수 있다(S1230). 전자 장치(100)는 발화 의도에 대응되는 동작 수행 결과의 화면을 표시할 수 있다. 예를 들어, 전자 장치(100)는 오늘 날씨를 검색한 결과의 화면을 표시할 수 있다. 또한, 전자 장치(100)는 발화 의도에 대응되는 동작을 수행할 수도 있다. 예를 들어, 전자 장치(100)는 사용자 발화에 대응하여 알람을 설정할 수도 있다.The electronic device 100 may provide response information corresponding to the determined speech intent of the user in operation S1230. The electronic device 100 may display a screen of a result of performing an operation corresponding to the intention of speaking. For example, the electronic device 100 may display a screen of a result of searching for today's weather. Also, the electronic device 100 may perform an operation corresponding to the intention of speaking. For example, the electronic device 100 may set an alarm in response to user speech.
응답 정보가 제공되는 동안 적어도 하나의 단어가 입력된 이후에 발화된 추가 단어를 바탕으로, 전자 장치(100)는 응답 정보를 갱신할 수 있다(S1240). 전자 장치(100)는 현재까지 인식된 사용자 음성을 바탕으로 응답 정보를 제공하고, 이후에 추가 발화된 사용자 음성을 포함한 전체 사용자 음성을 바탕으로 사용자 발화 의도를 재차 판단할 수 있다. 따라서, 사용자의 발화가 추가로 이루어짐에 따라 전자 장치(100)는 실시간으로 응답 정보를 갱신하여 제공할 수 있다.Based on the additional words spoken after the at least one word is input while the response information is provided, the electronic device 100 may update the response information (S1240). The electronic device 100 may provide response information based on the recognized user voice, and may subsequently determine the user utterance intention based on the entire user voice including the additionally uttered user voice. Therefore, as the user speaks further, the electronic device 100 may update and provide the response information in real time.
예를 들어, 사용자의 발화 의도를 정확히 판단한 경우라면, 전자 장치(100)는 추가 발화로부터 인식된 내용을 바탕으로 더욱 정확하고 상세한 응답 정보를 제공할 수 있다. 반대로, 전자 장치(100)는 추가 발화로부터 인식된 내용을 바탕으로 사용자의 발화 의도가 잘못 판단되었음을 인식할 수 있다. 그리고 전자 장치(100)는 새로이 판단된 사용자의 발화 의도에 대응되는 응답 정보로 갱신하여 제공할 수 있다.For example, if the user's speech intention is correctly determined, the electronic device 100 may provide more accurate and detailed response information based on the contents recognized from the additional speech. On the contrary, the electronic device 100 may recognize that the user's intention of speaking is wrongly determined based on the contents recognized from the additional speech. In addition, the electronic device 100 may update and provide response information corresponding to a newly determined user's utterance intention.
도 13은 사용자의 발화 의도를 신뢰도 측정이라는 검증 과정을 통해 판단하는 실시 예를 도시한 흐름도이다. 도 13을 참조하면, 전자 장치(100)는 사용자가 발화한 사용자 음성을 입력받을 수 있다. 그리고 전자 장치(100)는 입력된 사용자의 음성을 인식할 수 있다(S1310).13 is a flowchart illustrating an embodiment in which a user's speech intent is determined through a verification process called a reliability measurement. Referring to FIG. 13, the electronic device 100 may receive a user voice spoken by a user. In operation S1310, the electronic device 100 may recognize a voice of an input user.
전자 장치(100)는 현재까지 인식된 사용자 음성을 바탕으로 복수의 발화 의도를 추정할 수 있다(S1320). 예를 들어, 전자 장치(100)는 현재까지 인식된 사용자 음성으로부터 의도나 개체명에 해당하는 핵심어를 추출할 수 있다. 그리고 전자 장치(100)는 추출된 적어도 하나의 핵심어를 바탕으로 복수의 발화 의도를 추정할 수 있다.The electronic device 100 may estimate a plurality of speech intentions based on the user voice recognized to date (S1320). For example, the electronic device 100 may extract a keyword corresponding to an intention or an object name from the user voice recognized to date. The electronic device 100 may estimate a plurality of speech intentions based on the extracted at least one keyword.
이어서 전자 장치(100)는 추정된 복수의 발화 의도 각각의 신뢰도를 측정할 수 있다(S1330). 만일 복수의 발화 의도 모두의 신뢰도가 기설정된 기준 미만이면(S1330-N), 전자 장치(100)는 사용자의 추가 발화가 입력되기를 대기할 수 있다. 반대로 복수의 발화 의도 중 기설정된 값 이상의 신뢰도를 갖는 발화 의도가 검출되면(S1330-Y), 전자 장치(100)는 검출된 발화 의도를 사용자의 발화 의도로 판단할 수 있다. 그리고 전자 장치(100)는 판단된 발화 의도에 대응하는 응답 정보를 제공할 수 있다(S1340).Subsequently, the electronic device 100 may measure reliability of each of the estimated plurality of speech intents (S1330). If the reliability of all the utterance intentions is lower than a predetermined criterion (S1330-N), the electronic device 100 may wait for an additional utterance of the user to be input. In contrast, when a speech intent having a reliability equal to or greater than a predetermined value is detected among the plurality of speech intents (S1330-Y), the electronic device 100 may determine the detected speech intent as the user's speech intent. In operation S1340, the electronic device 100 may provide response information corresponding to the determined speech intent.
이어서 전자 장치(100)는 사용자의 발화가 종료되었는지 판단할 수 있다(S1350). 만일 추가로 발화되는 사용자 음성이 존재하면(S1350-N), 전자 장치(100)는 추가 발화된 사용자 음성을 포함하는 전체 사용자 음성을 기초로 복수의 발화 의도를 재차 추정할 수 있다. 사용자의 발화가 종료된 것으로 판단되면(S1350-Y), 전자 장치(100)는 응답 정보 제공 상태를 유지하며 다음 사용자의 발화가 입력될 때까지 대기할 수 있다.Subsequently, the electronic device 100 may determine whether the user's speech has ended (S1350). If there is additionally spoken user voice (S1350-N), the electronic device 100 may estimate the plurality of speech intentions again based on the entire user voice including the additionally spoken user voice. If it is determined that the user's utterance has ended (S1350-Y), the electronic device 100 may maintain the response information provision state and wait until the next user's utterance is input.
도 14는 본 개시의 일 실시 예에 따른 전자 장치(100)의 사용자 발화 의도 판단 방법을 더욱 구체적으로 도시한 흐름도이다. 도 14를 참조하면, 전자 장치(100)는 사용자가 발화한 사용자 음성을 입력받을 수 있다. 그리고 전자 장치(100)는 입력된 사용자의 음성을 인식할 수 있다(S1410).14 is a flowchart illustrating a method of determining a user utterance intention of the electronic device 100 according to an embodiment of the present disclosure in more detail. Referring to FIG. 14, the electronic device 100 may receive a user voice spoken by a user. In operation S1410, the electronic device 100 may recognize a voice of an input user.
전자 장치(100)는 현재까지 인식된 사용자 음성을 바탕으로 복수의 발화 의도를 추정할 수 있다(S1420). 그리고 전자 장치(100)는 추정된 복수의 발화 의도 각각의 신뢰도를 측정할 수 있다(S1430). 예를 들어, 전자 장치(100)는 빅데이터 및 사용자의 히스토리 데이터를 이용하여 특정 단어가 입력된 경우 사용자의 발화 의도는 어떠했는지를 통계적으로 분석할 수 있다. 신뢰도는 통계적 분석 결과를 수치로 표현한 값일 수 있다. 예를 들어, 신뢰도는 0에서 1 사이의 값으로 정의될 수 있다.The electronic device 100 may estimate a plurality of speech intentions based on the recognized user voices (S1420). In operation S1430, the electronic device 100 may measure the reliability of each of the estimated utterance intentions. For example, the electronic device 100 may statistically analyze what the intention of the user is when a specific word is input using the big data and the history data of the user. Reliability may be a numerical value representing the result of statistical analysis. For example, reliability can be defined as a value between 0 and 1.
전자 장치(100)는 사용자 음성에 대해 빠른 응답을 제공하기 위하여, 사용자의 발화 도중에 대응 동작 준비를 할 수 있다. 전자 장치(100)는 복수의 발화 의도 중 신뢰도가 가장 높은 발화 의도에 대응되는 동작을 준비할 수 있다(S1440). 예를 들어, 전자 장치(100)는 백그라운드로 발화 의도에 대응되는 동작 수행에 이용되는 어플리케이션을 실행할 수 있다. 다른 예로, 전자 장치(100)는 발화 의도에 대응되는 동작 수행에 이용되는 전자 장치(100)의 구성 요소를 활성화할 수 있다.The electronic device 100 may prepare for a corresponding operation during the utterance of the user in order to provide a quick response to the user's voice. The electronic device 100 may prepare for an operation corresponding to the highest intention among the plurality of speech intents (S1440). For example, the electronic device 100 may execute an application used to perform an operation corresponding to the intention of speaking in the background. As another example, the electronic device 100 may activate a component of the electronic device 100 used to perform an operation corresponding to the intention of speaking.
만일 복수의 발화 의도 모두의 신뢰도가 기설정된 기준 미만이면(S1450-N), 전자 장치(100)는 사용자의 추가 발화가 입력되기를 대기할 수 있다. 반대로 복수의 발화 의도 중 기설정된 값 이상의 신뢰도를 갖는 발화 의도가 검출되면(S1450-Y), 전자 장치(100)는 검출된 발화 의도를 사용자의 발화 의도로 판단할 수 있다. 그리고 전자 장치(100)는 판단된 발화 의도에 대응하는 동작을 위한 어플리케이션을 실행시킬 수 있다(S1460).If the reliability of all the utterance intentions is lower than the predetermined criterion (S1450-N), the electronic device 100 may wait for the additional utterance of the user to be input. On the contrary, when a speech intent having a reliability equal to or greater than a predetermined value is detected among the plurality of speech intents (S1450-Y), the electronic device 100 may determine the detected speech intent as the user's speech intent. In operation S1460, the electronic device 100 may execute an application for an operation corresponding to the determined speech intent.
이어서 전자 장치(100)는 검출된 발화 의도에 대응되는 동작을 수행하는데 필요한 정보가 모두 사용자 음성으로부터 판단되었는지 확인할 수 있다(S1470). 예를 들어, 발화 의도가 음식 배달 주문이라면, 전자 장치(100)는 음식 종류, 배달 업체, 결재 수단 등의 정보가 필요하다. 다른 예로, 발화 의도가 기차 예매라면, 전자 장치(100)는 출발지, 도착지, 예매 시간, 결재 수단 등의 정보가 필요하다.Subsequently, the electronic device 100 may check whether all information necessary for performing an operation corresponding to the detected speech intent is determined from the user's voice (S1470). For example, if the intention to ignite a food delivery order, the electronic device 100 needs information such as food type, delivery company, payment means, and the like. As another example, if the intention to ignite is a train reservation, the electronic device 100 needs information such as a departure place, an arrival place, a reservation time, a payment means, and the like.
만일 동작 수행을 위하여 추가 정보가 필요하면(S1470-N), 전자 장치(100)는 추가 정보를 사용자가 발화하도록 유도하는 UI를 표시할 수 있다(S1480). 전자 장치(100)는 이번 대화턴에 사용자가 모든 정보를 발화하도록 유도함으로써 추가 대화턴 발생을 방지할 수 있다. 동작 수행을 위한 모든 정보가 수집된 경우(S1470-Y), 전자 장치(100)는 발화 의도에 대응된 동작을 수행할 수 있다(S1490).If additional information is needed to perform the operation (S1470-N), the electronic device 100 may display a UI for inducing the user to utter the additional information (S1480). The electronic device 100 may prevent the user from generating additional talk turns by inducing the user to speak all the information in this talk turn. When all the information for performing the operation is collected (S1470-Y), the electronic device 100 may perform an operation corresponding to the intention of speaking (S1490).
도 15는 본 개시의 다른 실시 예에 따른 전자 장치(100)의 사용자 발화 의도 판단 방법을 구체적으로 도시한 흐름도이다. 도 15를 참조하면, 전자 장치(100)는 사용자가 발화한 사용자 음성을 입력받을 수 있다. 그리고 전자 장치(100)는 입력된 사용자의 음성을 인식할 수 있다(S1510).15 is a flowchart illustrating a method of determining a user utterance intention of the electronic device 100 according to another embodiment of the present disclosure. Referring to FIG. 15, the electronic device 100 may receive a user voice spoken by a user. In operation S1510, the electronic device 100 may recognize a voice of an input user.
전자 장치(100)는 현재까지 인식된 사용자 음성을 바탕으로 복수의 발화 의도를 추정할 수 있다(S1520). 그리고 전자 장치(100)는 추정된 복수의 발화 의도 각각의 신뢰도를 측정할 수 있다(S1530). 측정된 신뢰도가 기설정된 기준 이상인 발화 의도가 존재하는 경우(S1530-Y), 전자 장치(100)는 해당 발화 의도에 대응되는 응답 정보를 제공할 수 있다(S1560).The electronic device 100 may estimate a plurality of speech intentions based on the recognized user voices (S1520). In operation S1530, the electronic device 100 may measure reliability of each of the estimated utterance intentions. When there is a speech intent in which the measured reliability is greater than or equal to a preset criterion (S1530-Y), the electronic device 100 may provide response information corresponding to the corresponding speech intent (S1560).
만일 복수의 발화 의도 모두의 신뢰도가 기설정된 기준 미만이면(S1530-N), 전자 장치(100)는 추청된 복수의 발화 의도를 포함하는 리스트 UI를 표시할 수 있다(S1540). 발화 의도 리스트를 표시하여 사용자 선택을 받는 것은 특히 의도에 해당하는 핵심어가 추출되지 않고, 개체명에 해당하는 핵심어만이 추출된 경우에 유용하게 이용될 수 있다. 사용자 선택이 입력되지 않으면(S1550-N), 전자 장치(100)는 사용자의 추가 발화를 기다릴 수 있다.If the reliability of all the utterance intentions is less than the predetermined criterion (S1530-N), the electronic device 100 may display a list UI including the plurality of uttered intentions (S1540). Displaying a speech intent list and receiving a user selection may be particularly useful when only keywords corresponding to an entity name are extracted, instead of extracting keywords corresponding to intent. If the user selection is not input (S1550-N), the electronic device 100 may wait for additional speech of the user.
표시된 복수의 발화 의도 중 하나의 발화 의도를 선택하는 사용자 입력이 수신되면(S1550-Y), 전자 장치(100)는 선택된 발화 의도에 대응되는 응답 정보를 제공할 수 있다(S1560). 사용자 입력을 통해 사용자의 발화 의도가 결정된 경우, 전자 장치(100)는 사용자 음성 데이터와 결정된 발화 의도를 저장하여 데이터 인식 모델을 학습하는데 이용할 수 있다.When a user input for selecting one of the displayed utterance intentions is received (S1550-Y), the electronic device 100 may provide response information corresponding to the selected utterance intention (S1560). When the user's speech intent is determined through the user input, the electronic device 100 may store the user voice data and the determined speech intent and use the same to learn the data recognition model.
이어서 전자 장치(100)는 사용자의 발화가 종료되었는지 판단할 수 있다(S1570). 만일 추가로 발화되는 사용자 음성이 존재하면(S1570-N), 전자 장치(100)는 추가 발화된 사용자 음성을 포함하는 전체 사용자 음성을 기초로 복수의 발화 의도를 재차 추정할 수 있다. 사용자의 발화가 종료된 것으로 판단되면(S1570-Y), 전자 장치(100)는 응답 정보 제공 상태를 유지하며 다음 사용자의 발화가 입력될 때까지 대기할 수 있다.Subsequently, the electronic device 100 may determine whether the user's speech is finished (S1570). If there is additionally spoken user voice (S1570-N), the electronic device 100 may estimate a plurality of speech intentions again based on the entire user voice including the additionally spoken user voice. If it is determined that the utterance of the user is ended (S1570-Y), the electronic device 100 may maintain the response information provision state and wait until the next utterance of the user is input.
도 16은 본 개시의 실시예에 따른, 전자 장치와 서버를 포함하는 시스템이 데이터 인식 모델을 구축하는 방법을 나타내는 시퀀스도이다. 이 때, 데이터 인식 모델을 구축하기 위한 시스템은 제1 구성 요소(1601) 및 제2 구성 요소(1621)를 포함할 수 있다.16 is a sequence diagram illustrating a method of building a data recognition model by a system including an electronic device and a server according to an embodiment of the present disclosure. In this case, the system for building a data recognition model may include a first component 1601 and a second component 1621.
일 예로, 제1 구성 요소(1601)는 전자 장치(100)이고, 제2 구성 요소(1621)는 서버(200)가 될 수 있다. 또는, 제1 구성 요소(1601)는 범용 프로세서이고, 제2 구성 요소(1621)는 인공 지능 전용 프로세서가 될 수 있다. 또는, 제1 구성 요소(1601)는 적어도 하나의 어플리케이션이 될 수 있고, 제2 구성 요소는 운영 체제(operating system, OS)가 될 수 있다. For example, the first component 1601 may be the electronic device 100 and the second component 1621 may be the server 200. Alternatively, the first component 1601 may be a general purpose processor, and the second component 1621 may be an artificial intelligence dedicated processor. Alternatively, the first component 1601 may be at least one application, and the second component may be an operating system (OS).
즉, 제2 구성 요소(1621)는 제1 구성 요소(1601)보다 더 집적화되거나, 전용화되거나, 딜레이(delay)가 작거나, 성능이 우세하거나 또는 많은 리소스를 가진 구성 요소로서 데이터 인식 모델의 생성, 갱신 또는 적용 시에 요구되는 연산을 제1 구성 요소(1601)보다 신속하고 효과적으로 처리 가능한 구성 요소가 될 수 있다.That is, the second component 1621 is a component that is more integrated, dedicated, has a smaller delay, has a higher performance, or has more resources than the first component 1601. An operation required for generation, update, or application may be a component capable of processing more quickly and effectively than the first component 1601.
이 경우, 제1 구성 요소(1601) 및 제2 구성 요소(1621) 간에 데이터(음성 데이터)를 송/수신하기 위한 인터페이스가 정의될 수 있다. In this case, an interface for transmitting / receiving data (voice data) between the first component 1601 and the second component 1621 may be defined.
예로, 데이터 인식 모델에 적용할 학습 데이터를 인자 값(또는, 매개 값 또는 전달 값)으로 갖는 API(application program interface) 함수가 정의될 수 있다. 이 경우, 제1 구성 요소(1601)가 상기 API 함수를 호출하여 데이터 인자 값으로 음성 데이터를 입력하면, 상기 API 함수는 음성 데이터를 데이터 인식 모델에 적용할 학습 데이터로서 제2 구성 요소(1621)로 전달할 수 있다.For example, an application program interface (API) function having training data to be applied to the data recognition model as an argument value (or a parameter value or a transfer value) may be defined. In this case, when the first component 1601 calls the API function and inputs voice data as a data parameter value, the API function 261 1621 applies the voice data as training data to be applied to the data recognition model. Can be delivered to.
제1 구성 요소(1601)는 사용자가 발화한 사용자 음성을 입력 받을 수 있다(S1603). 제1 구성 요소(1601)는 사용자 음성에 대한 음성 데이터를 제 2 구성 요소로 전송할 수 있다.The first component 1601 may receive a user voice spoken by the user in operation S1603. The first component 1601 may transmit voice data about the user's voice to the second component.
제 2 구성 요소(1621)는 수신된 음성 데이터를 이용하여 데이터 인식 모델을 학습시킬 수 있다(S1605).The second component 1621 may train the data recognition model using the received voice data (S1605).
제2 구성 요소(1621)는 학습된 데이터 인식 모델을 저장할 수 있다(S1607).The second component 1621 may store the learned data recognition model (S1607).
한편, 상술한 실시예에서는 제2 구성 요소(1621)가 학습된 데이터 인식 모델을 저장하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 제2 구성 요소(1621)가 학습된 데이터 인식 모델을 제1 구성 요소(1601)로 전송하여 제1 구성 요소(1601)가 데이터 인식 모델을 저장할 수도 있다.Meanwhile, in the above-described embodiment, the second component 1621 stores the learned data recognition model. However, this is only an example, and the second component 1621 stores the learned data recognition model. The first component 1601 may store the data recognition model by transmitting to the first component 1601.
도 17은 본 개시의 실시예에 따른, 전자 장치와 서버를 포함하는 시스템이 데이터를 인식하는 방법을 나타내는 시퀀스도이다. 이 때, 데이터 인식 모델을 이용하여 데이터를 인식하기 위한 시스템은 제1 구성요소 및 제 2 구성요소를 포함할 수 있다.17 is a sequence diagram illustrating a method of recognizing data by a system including an electronic device and a server according to an embodiment of the present disclosure. In this case, the system for recognizing data using the data recognition model may include a first component and a second component.
일 예로, 제1 구성 요소(1701)는 전자 장치이고, 제2 구성 요소(1721)는 서버가 될 수 있다. 또는, 제1 구성 요소(1701)는 범용 프로세서이고, 제2 구성 요소(1721)는 인공 지능 전용 프로세서가 될 수 있다. 또는, 제1 구성 요소(1701)는 적어도 하나의 어플리케이션이 될 수 있고, 제2 구성 요소(1721)는 운영 체제가 될 수 있다.As an example, the first component 1701 may be an electronic device and the second component 1721 may be a server. Alternatively, the first component 1701 may be a general purpose processor, and the second component 1721 may be an artificial intelligence dedicated processor. Alternatively, the first component 1701 may be at least one application, and the second component 1721 may be an operating system.
이 경우, 제1 구성 요소(1701) 및 제2 구성 요소(1721) 간에 데이터(예로, 동영상, 합성 이미지 또는 동영상 인식 결과)를 송/수신하기 위한 인터페이스가 정의될 수 있다. In this case, an interface for transmitting / receiving data (eg, a moving image, a composite image, or a moving image recognition result) between the first component 1701 and the second component 1721 may be defined.
예로, 학습된 데이터 인식 모델에 적용할 인식 데이터를 인자 값(또는, 매개 값 또는 전달 값)으로 갖고, 출력 값으로 데이터 인식 모델의 인식 결과를 갖는 API 함수가 정의될 수 있다. 이 경우, 제1 구성 요소(1701)가 상기 API 함수를 호출하여 데이터 인자 값으로 음성 데이터를 입력하면, 상기 API 함수는 음성 데이터를 데이터 인식 모델에 적용할 학습 데이터로서 제1 구성 요소(1701)로 전달할 수 있다. 그리고, 제2 구성 요소(1721)으로부터 동영상 인식 결과가 수신되면, 제1 구성 요소(1701)는 상기 API 함수의 출력 값으로 사용자의 발화 의도에 대응하는 응답 정보를 제공할 수 있다.For example, an API function having recognition data to be applied to the learned data recognition model as an argument value (or, a parameter value or a transfer value), and having a recognition result of the data recognition model as an output value may be defined. In this case, when the first component 1701 calls the API function and inputs voice data as a data parameter value, the API function may use the first component 1701 as training data to apply the voice data to the data recognition model. Can be delivered to. When a video recognition result is received from the second component 1721, the first component 1701 may provide response information corresponding to a user's intention to speak as an output value of the API function.
제1 구성 요소(1701)는 사용자가 발화한 사용자 음성을 수신할 수 있다(S1703). 제1 구성 요소(1701)는 사용자의 음성이 수신되는 동안 사용자가 발화한 음성에 포함된 적어도 하나의 단어에 대한 음성 데이터를 제 2 구성요소(1721)로 전송할 수 있다.The first component 1701 may receive the user's voice spoken by the user (S1703). The first component 1701 may transmit voice data for at least one word included in the voice spoken by the user to the second component 1721 while the user's voice is received.
제2 구성 요소(1721)는 수신된 적어도 하나의 단어에 대한 음성 데이터를 음성 인식 모델에 적용하여 사용자의 발화 의도를 판단할 수 있다(S1705).The second component 1721 may determine speech intent of the user by applying the speech data of the received at least one word to the speech recognition model (S1705).
제2 구성 요소(1721)는 판단된 발화 의도에 대응하는 응답 정보를 제공하고( S1707), 응답 정보를 제 1 구성요소(1701)로 전송한다.The second component 1721 provides response information corresponding to the determined speech intent (S1707), and transmits the response information to the first component 1701.
제1 구성 요소(1701)는 발화 의도에 대응되는 동작 수행 결과의 화면을 표시할 수 있다. 또한 제1 구성 요소(1701)는 발화 의도에 대응되는 동작을 수행할 수도 있다.The first component 1701 may display a screen of a result of performing an operation corresponding to the intention of speaking. Also, the first component 1701 may perform an operation corresponding to the intention of speaking.
제1 구성 요소(1701)는 응답 정보가 제공되는 동안 적어도 하나의 단어가 입력된 이후에 발화된 추가 단어를 바탕으로 응답 정보를 갱신할 수 있다(S1709).The first component 1701 may update the response information based on the additional words spoken after the at least one word is input while the response information is provided (S1709).
한편, 상술한 실시예에서는 제1 구성 요소(1701)가 음성 데이터를 생성하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 제2 구성 요소(1702)가 입력된 음성을 수신하여, 적어도 하나의 단어를 포함하는 음성 데이터를 생성할 수 있다.Meanwhile, in the above-described embodiment, the first component 1701 has been described as generating voice data. However, this is only an example, and the second component 1702 receives the input voice to generate at least one voice. Voice data including words can be generated.
일부 실시예는 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어들을 포함하는 S/W 프로그램으로 구현될 수 있다. Some embodiments may be implemented as S / W programs that include instructions stored on computer-readable storage media.
예로, 컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시예에 따른 동작이 가능한 장치로서, 개시된 실시예들에 따른 디바이스 또는 디바이스와 통신 연결된 외부의 서버를 포함할 수 있다.For example, a computer may be a device capable of calling stored instructions from a storage medium and operating according to the disclosed embodiments according to the called instructions, and may include a device according to the disclosed embodiments or an external server connected to the device. .
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal), 전류(current)를 포함하지 않으며, 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 예로, 비일시적 저장 매체는 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 내장 메모리, 메모리 카드, ROM 또는 RAM 등과 같은 비일시적 판독가능 기록매뿐만 아니라 레지스터, 캐쉬, 버퍼 등과 같이 임시적으로 저장되는 매체를 포함할 수 있다.The computer readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' means that the storage medium does not include a signal or a current, and is tangible, but does not distinguish that the data is semi-permanently or temporarily stored in the storage medium. For example, non-transitory storage media may be stored temporarily such as registers, caches, buffers, as well as non-transitory readable recording media such as CD, DVD, hard disk, Blu-ray disc, USB, internal memory, memory card, ROM, or RAM. Media may be included.
또한, 개시된 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)으로 제공될 수 있다. In addition, the method according to the disclosed embodiments may be provided as a computer program product.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체 또는 판매자 및 구매자 간에 거래되는 상품을 포함할 수 있다. The computer program product may include a S / W program, a computer readable storage medium on which the S / W program is stored, or a product traded between a seller and a buyer.
예를 들어, 컴퓨터 프로그램 제품은 디바이스 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사 또는 전자 마켓의 서버, 또는 중계 서버의 저장매체가 될 수 있다.For example, a computer program product may include a product (eg, a downloadable app) in the form of a S / W program distributed electronically through a device manufacturer or an electronic market (eg, Google Play Store, App Store). For electronic distribution, at least a part of the S / W program may be stored in a storage medium or temporarily generated. In this case, the storage medium may be a server of a manufacturer or an electronic market, or a storage medium of a relay server.
이상과 같이 본 개시는 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 개시는 상기의 실시 예에 한정되는 것은 아니며, 본 개시가 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the present disclosure has been described with reference to the limited embodiments and the drawings, the present disclosure is not limited to the above embodiments, and those skilled in the art to which the present disclosure pertains may make various modifications and variations from such descriptions. This is possible. Therefore, the scope of the present disclosure should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

Claims (15)

  1. 사용자가 발화한 사용자 음성을 입력받는 마이크; 및A microphone for receiving a user voice spoken by the user; And
    상기 사용자 음성이 입력되는 동안 상기 사용자 음성에 포함된 적어도 하나의 단어를 바탕으로 사용자의 발화 의도를 판단하고, 상기 판단된 발화 의도에 대응하는 응답 정보를 제공하며, 상기 응답 정보가 제공되는 동안 상기 적어도 하나의 단어가 입력된 이후 발화된 추가 단어를 바탕으로 상기 응답 정보를 갱신하는 프로세서;를 포함하는 전자 장치.While the user's voice is input, the user's speech intent is determined based on at least one word included in the user's voice, the response information corresponding to the determined speech intention is provided, and the response information is provided while the response information is provided. And a processor for updating the response information based on the additional words spoken after the at least one word is input.
  2. 제1항에 있어서,The method of claim 1,
    상기 프로세서는,The processor,
    상기 입력된 적어도 하나의 단어를 바탕으로 복수의 발화 의도의 신뢰도를 판단하고, 상기 복수의 발화 의도 중 기설정된 값 이상의 신뢰도를 갖는 발화 의도가 검출되면, 상기 검출된 발화 의도를 상기 사용자의 발화 의도로 판단하는 전자 장치.The reliability of a plurality of speech intents is determined based on the input at least one word, and when a speech intent having a reliability higher than or equal to a predetermined value is detected among the plurality of speech intents, the detected speech intent is determined by the user's speech intent. Electronic device judged to be.
  3. 제2항에 있어서,The method of claim 2,
    상기 프로세서는,The processor,
    상기 복수의 발화 의도 중 신뢰도가 가장 높은 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 준비 동작을 개시하는 전자 장치.And an execution preparation operation of an application for performing an operation corresponding to a speech intent having the highest reliability among the plurality of speech intents.
  4. 제2항에 있어서,The method of claim 2,
    디스플레이;를 더 포함하고,The display further includes;
    상기 프로세서는,The processor,
    상기 기설정된 값 이상의 신뢰도를 갖는 발화 의도가 검출되면, 상기 검출된 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 화면을 표시하도록 상기 디스플레이를 제어하는 전자 장치.The electronic device controls the display to display an execution screen of an application for performing an operation corresponding to the detected speech intent when the speech intent having the reliability equal to or greater than the predetermined value is detected.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 프로세서는,The processor,
    상기 검출된 발화 의도에 대응되는 동작을 수행하는데 필요한 추가 정보를 상기 사용자가 발화하도록 유도하는 UI를 표시하도록 상기 디스플레이를 제어하는 전자 장치.And control the display to display a UI for causing the user to utter additional information necessary to perform an operation corresponding to the detected utterance intention.
  6. 제2항에 있어서,The method of claim 2,
    디스플레이;를 더 포함하고,The display further includes;
    상기 프로세서는,The processor,
    상기 판단된 복수의 발화 의도의 신뢰도가 기설정된 값 미만이면, 상기 판단된 복수의 발화 의도를 포함하는 리스트 UI를 표시하도록 상기 디스플레이를 제어하고, 상기 표시된 복수의 발화 의도 중 하나의 발화 의도를 선택하는 사용자 입력이 수신되면, 상기 선택된 발화 의도에 대응하는 응답 정보를 제공하는 전자 장치.If the reliability of the determined plurality of speech intents is less than a predetermined value, the display is controlled to display a list UI including the determined plurality of speech intents, and one of the displayed plurality of speech intents is selected. And, when a user input is received, providing response information corresponding to the selected speech intent.
  7. 제1항에 있어서,The method of claim 1,
    상기 프로세서는,The processor,
    상기 추가 단어를 바탕으로 새로이 판단된 발화 의도가 상기 적어도 하나의 단어를 바탕으로 판단된 발화 의도와 상이하면, 상기 새로이 판단된 발화 의도에 대응하는 응답 정보가 제공되도록 상기 제공된 응답 정보를 갱신하는 전자 장치.If the newly determined speech intention based on the additional word is different from the speech intent determined based on the at least one word, updating the provided response information to provide response information corresponding to the newly determined speech intent. Device.
  8. 제1항에 있어서,The method of claim 1,
    상기 전자 장치는,The electronic device,
    디스플레이;를 더 포함하고,The display further includes;
    상기 프로세서는,The processor,
    상기 제공된 응답 정보를 표시하도록 상기 디스플레이를 제어하는 전자 장치.And control the display to display the provided response information.
  9. 제8항에 있어서,The method of claim 8,
    상기 응답 정보는 개체명 및 의도를 포함하는, 전자 장치.The response information includes the entity name and intent.
  10. 전자 장치의 사용자 발화 의도 판단 방법에 있어서,In the method of determining the user utterance intention of the electronic device,
    사용자가 발화한 사용자 음성을 입력받는 단계;Receiving a user voice spoken by the user;
    상기 사용자의 음성이 입력되는 동안 상기 사용자 음성에 포함된 적어도 하나의 단어를 바탕으로 사용자의 발화 의도를 판단하는 단계;Determining a speech intent of the user based on at least one word included in the user voice while the voice of the user is input;
    상기 판단된 사용자의 발화 의도에 대응하는 응답 정보를 제공하는 단계; 및Providing response information corresponding to the determined speech intent of the user; And
    상기 응답 정보가 제공되는 동안 상기 적어도 하나의 단어가 입력된 이후 발화된 추가 단어를 바탕으로 상기 응답 정보를 갱신하는 단계;를 포함하는 판단 방법.And updating the response information based on the additional words spoken after the at least one word is input while the response information is provided.
  11. 제10항에 있어서,The method of claim 10,
    상기 판단하는 단계는,The determining step,
    상기 입력된 적어도 하나의 단어를 바탕으로 복수의 발화 의도의 신뢰도를 판단하는 단계;Determining reliability of a plurality of speech intents based on the input at least one word;
    상기 복수의 발화 의도 중 기설정된 값 이상의 신뢰도를 갖는 발화 의도를 검출하는 단계; 및Detecting a speech intent having a reliability equal to or greater than a predetermined value among the plurality of speech intents; And
    상기 검출된 발화 의도를 상기 사용자의 발화 의도로 판단하는 단계;를 포함하는 판단 방법.And determining the detected speech intent as the speech intent of the user.
  12. 제11항에 있어서,The method of claim 11,
    상기 복수의 발화 의도 중 신뢰도가 가장 높은 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 준비 동작을 개시하는 단계;를 더 포함하는 판단 방법.And initiating an execution preparation operation of an application to perform an operation corresponding to a speech intent having the highest reliability among the plurality of speech intents.
  13. 제11항에 있어서,The method of claim 11,
    상기 기설정된 값 이상의 신뢰도를 갖는 발화 의도가 검출되면, 상기 검출된 발화 의도에 대응되는 동작을 수행하기 위한 어플리케이션의 실행 화면을 표시하는 단계;를 더 포함하는 판단 방법.And displaying an execution screen of an application for performing an operation corresponding to the detected speech intent, when the speech intent having a reliability equal to or greater than the preset value is detected.
  14. 제13항에 있어서,The method of claim 13,
    상기 검출된 발화 의도에 대응되는 동작을 수행하는데 필요한 추가 정보를 상기 사용자가 발화하도록 유도하는 UI를 표시하는 단계;를 더 포함하는 판단 방법.And displaying a UI for inducing the user to utter additional information necessary to perform an operation corresponding to the detected utterance intention.
  15. 제11항에 있어서,The method of claim 11,
    상기 판단하는 단계는,The determining step,
    상기 판단된 복수의 발화 의도의 신뢰도가 기설정된 값 미만이면, 상기 판단된 복수의 발화 의도를 포함하는 리스트 UI를 표시하는 단계;를 더 포함하고,If the reliability of the plurality of determined speech intents is less than a predetermined value, displaying a list UI including the determined plurality of speech intents;
    상기 제공하는 단계는,The providing step,
    상기 표시된 복수의 발화 의도 중 하나의 발화 의도를 선택하는 사용자 입력이 수신되면, 상기 선택된 발화 의도에 대응하는 응답 정보를 제공하는 판단 방법.And when the user input for selecting one of the displayed utterance intentions is received, providing response information corresponding to the selected utterance intention.
PCT/KR2017/015041 2016-12-20 2017-12-19 Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium WO2018117608A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/467,610 US11367434B2 (en) 2016-12-20 2017-12-19 Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2016-0174640 2016-12-20
KR20160174640 2016-12-20
KR1020170145743A KR102502220B1 (en) 2016-12-20 2017-11-03 Electronic apparatus, method for determining user utterance intention of thereof, and non-transitory computer readable recording medium
KR10-2017-0145743 2017-11-03

Publications (1)

Publication Number Publication Date
WO2018117608A1 true WO2018117608A1 (en) 2018-06-28

Family

ID=62627498

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/015041 WO2018117608A1 (en) 2016-12-20 2017-12-19 Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium

Country Status (1)

Country Link
WO (1) WO2018117608A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020222384A1 (en) * 2019-04-30 2020-11-05 삼성전자주식회사 Electronic device and control method therefor
CN111916073A (en) * 2020-06-22 2020-11-10 深圳追一科技有限公司 Robot outbound control method and device, server and computer readable storage medium
CN112542170A (en) * 2019-09-20 2021-03-23 现代自动车株式会社 Dialogue system, dialogue processing method, and electronic device
CN115994207A (en) * 2021-10-18 2023-04-21 上海博泰悦臻网络技术服务有限公司 Instruction generation method, device, computing equipment, storage medium and vehicle-mounted system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110066357A (en) * 2009-12-11 2011-06-17 삼성전자주식회사 Dialog system and his method of conversation
KR20120012919A (en) * 2010-08-03 2012-02-13 삼성전자주식회사 Voice command recognition device and voice command recognition method
KR20140001711A (en) * 2012-06-28 2014-01-07 엘지전자 주식회사 Mobile terminal and method for recognizing voice thereof
KR20150103326A (en) * 2008-07-02 2015-09-09 구글 인코포레이티드 Speech recognition with parallel recognition tasks
WO2016054230A1 (en) * 2014-10-01 2016-04-07 XBrain, Inc. Voice and connection platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150103326A (en) * 2008-07-02 2015-09-09 구글 인코포레이티드 Speech recognition with parallel recognition tasks
KR20110066357A (en) * 2009-12-11 2011-06-17 삼성전자주식회사 Dialog system and his method of conversation
KR20120012919A (en) * 2010-08-03 2012-02-13 삼성전자주식회사 Voice command recognition device and voice command recognition method
KR20140001711A (en) * 2012-06-28 2014-01-07 엘지전자 주식회사 Mobile terminal and method for recognizing voice thereof
WO2016054230A1 (en) * 2014-10-01 2016-04-07 XBrain, Inc. Voice and connection platform

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020222384A1 (en) * 2019-04-30 2020-11-05 삼성전자주식회사 Electronic device and control method therefor
CN112542170A (en) * 2019-09-20 2021-03-23 现代自动车株式会社 Dialogue system, dialogue processing method, and electronic device
CN111916073A (en) * 2020-06-22 2020-11-10 深圳追一科技有限公司 Robot outbound control method and device, server and computer readable storage medium
CN111916073B (en) * 2020-06-22 2023-10-24 深圳追一科技有限公司 Robot outbound control method and device, server, and computer-readable storage medium
CN115994207A (en) * 2021-10-18 2023-04-21 上海博泰悦臻网络技术服务有限公司 Instruction generation method, device, computing equipment, storage medium and vehicle-mounted system

Similar Documents

Publication Publication Date Title
WO2019194451A1 (en) Voice conversation analysis method and apparatus using artificial intelligence
WO2020067633A1 (en) Electronic device and method of obtaining emotion information
WO2019098573A1 (en) Electronic device and method for changing chatbot
WO2018124620A1 (en) Method and device for transmitting and receiving audio data
WO2020080834A1 (en) Electronic device and method for controlling the electronic device
WO2021015308A1 (en) Robot and trigger word recognition method therefor
WO2019203488A1 (en) Electronic device and method for controlling the electronic device thereof
WO2020091503A1 (en) Electronic apparatus and control method thereof
WO2018117608A1 (en) Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium
EP3545487A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2018174397A1 (en) Electronic device and control method
KR20180071931A (en) Electronic apparatus, method for determining user utterance intention of thereof, and non-transitory computer readable recording medium
EP3523710A1 (en) Apparatus and method for providing sentence based on user input
EP3820369A1 (en) Electronic device and method of obtaining emotion information
WO2018174443A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2019164120A1 (en) Electronic device and control method thereof
WO2021029643A1 (en) System and method for modifying speech recognition result
WO2021085661A1 (en) Intelligent voice recognition method and apparatus
WO2018182201A1 (en) Method and device for providing response to voice input of user
WO2022102937A1 (en) Methods and systems for predicting non-default actions against unstructured utterances
WO2019182252A1 (en) Electronic device and server for processing data received from electronic device
WO2018101671A1 (en) Apparatus and method for providing sentence based on user input
WO2021107390A1 (en) Electronic device and method for controlling the electronic device
WO2023048359A1 (en) Speech recognition device and operation method therefor
WO2021010617A1 (en) Method and apparatus for detecting voice end point by using acoustic and language modeling information to accomplish strong voice recognition

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: 17882708

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17882708

Country of ref document: EP

Kind code of ref document: A1