WO2023132574A1 - 인공 지능 기기 - Google Patents

인공 지능 기기 Download PDF

Info

Publication number
WO2023132574A1
WO2023132574A1 PCT/KR2022/095006 KR2022095006W WO2023132574A1 WO 2023132574 A1 WO2023132574 A1 WO 2023132574A1 KR 2022095006 W KR2022095006 W KR 2022095006W WO 2023132574 A1 WO2023132574 A1 WO 2023132574A1
Authority
WO
WIPO (PCT)
Prior art keywords
voice
waiting time
artificial intelligence
command
intelligence device
Prior art date
Application number
PCT/KR2022/095006
Other languages
English (en)
French (fr)
Inventor
채종훈
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to PCT/KR2022/095006 priority Critical patent/WO2023132574A1/ko
Publication of WO2023132574A1 publication Critical patent/WO2023132574A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R9/00Transducers of moving-coil, moving-strip, or moving-wire type
    • H04R9/08Microphones

Definitions

  • the present invention relates to an artificial intelligence device, and more particularly, to a device providing a voice recognition service.
  • the device is an artificial intelligence (AI) device that can give commands and have conversations through voice.
  • AI artificial intelligence
  • the voice recognition service has a structure that selects an optimal answer to a user's question by utilizing an enormous amount of database.
  • the voice search function also converts input voice data into text in the cloud server, analyzes it, and retransmits real-time search results based on the result to the device.
  • the cloud server has computing power to classify numerous words into voice data classified by gender, age, and accent, store them, and process them in real time.
  • Voice recognition will become more accurate as more voice data is accumulated, to the level of human parity.
  • Conventional voice agents have a fixed waiting time for recognition of additional voice commands after recognizing the trigger word.
  • the present invention aims to solve the foregoing and other problems.
  • An object of the present invention is to provide an artificial intelligence device for effectively recognizing a user's continuous voice command.
  • An object of the present invention is to provide an artificial intelligence device capable of changing a recognition waiting state for an additional voice command based on analysis of a user's speech command.
  • An object of the present invention is to provide an artificial intelligence device that can change a recognition waiting state for an additional voice command in a user-customized manner based on an analysis of a user's speech command.
  • An artificial intelligence device recognizes a microphone and an activation command received through the microphone, and after recognizing the activation command, receives a first voice command through the microphone, and receives a first voice command.
  • First analysis result information representing an intention analysis result is obtained, and based on the first analysis result information, the artificial intelligence device waits for reception of an additional voice command after recognizing the startup command. Contains a processor to infer time.
  • the user can avoid the inconvenience of having to input the trigger word twice.
  • a waiting time for recognizing a continuous voice command may be changed to suit a user's speech pattern, thereby providing an optimized waiting time for the user.
  • FIG. 1 is a diagram for explaining a voice system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram for explaining the configuration of an artificial intelligence device according to an embodiment of the present disclosure.
  • 3A is a block diagram for explaining the configuration of a voice service server according to an embodiment of the present invention.
  • 3B is a diagram illustrating an example of converting a voice signal into a power spectrum according to an embodiment of the present invention.
  • FIG. 4 is a block diagram illustrating the configuration of a processor for voice recognition and synthesis of an artificial intelligence device according to an embodiment of the present invention.
  • 5 and 6 are diagrams for explaining a problem that occurs when a waiting time for a voice agent to wait for an operation command to be recognized after recognizing a trigger word spoken by a user is fixed.
  • FIG. 7 is a flowchart illustrating a method of operating an artificial intelligence device according to an embodiment of the present disclosure.
  • FIGS. 8 to 10 are diagrams illustrating a process of inferring a waiting time based on command layer information according to an embodiment of the present disclosure.
  • 11 is a diagram illustrating a process of obtaining an association between nodes corresponding to voice commands according to an embodiment of the present disclosure.
  • FIG. 12 is a diagram for explaining a scenario in which waiting time for a voice agent to wait for an operation command to be recognized after recognizing an activation word spoken by a user according to an embodiment of the present disclosure is increased.
  • the artificial intelligence devices described in this specification include mobile phones, smart phones, laptop computers, artificial intelligence devices for digital broadcasting, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, and slate PCs ( slate PC), tablet PC (tablet PC), ultrabook (ultrabook), wearable device (e.g. watch type artificial intelligence device (smartwatch), glass type artificial intelligence device (smart glass), HMD (head mounted) display)) and the like may be included.
  • PDAs personal digital assistants
  • PMPs portable multimedia players
  • navigation devices navigation devices
  • slate PCs slate PC
  • slate PC tablet PC
  • ultrabook ultrabook
  • wearable device e.g. watch type artificial intelligence device (smartwatch), glass type artificial intelligence device (smart glass), HMD (head mounted) display) and the like may be included.
  • the artificial intelligence device 10 may also be applied to stationary artificial intelligence devices such as smart TVs, desktop computers, digital signage, refrigerators, washing machines, air conditioners, and dishwashers.
  • the artificial intelligence device 10 may be applied to a fixed or movable robot.
  • the artificial intelligence device 10 may perform a function of a voice agent.
  • the voice agent may be a program that recognizes a user's voice and outputs a response suitable for the recognized user's voice as a voice.
  • FIG. 1 is a diagram for explaining a voice system according to an embodiment of the present invention.
  • a general speech recognition and synthesis process converts the speaker's voice data into text data, analyzes the speaker's intention based on the converted text data, converts the text data corresponding to the analyzed intention into synthesized voice data, and converts the converted text data into text data.
  • a process of outputting synthesized speech data may be included.
  • a speech recognition system 1 as shown in FIG. 1 may be used.
  • a voice recognition system 1 includes an artificial intelligence device 10, a speech to text (STT) server 20, a natural language processing (NLP) server 30, and a voice It may include a synthesis server 40 and a plurality of AI agent servers 50-1 to 50-3.
  • STT speech to text
  • NLP natural language processing
  • the artificial intelligence device 10 may transmit a voice signal corresponding to the talker's voice received through the microphone 122 to the STT server 210 .
  • the STT server 20 may convert voice data received from the artificial intelligence device 10 into text data.
  • the STT server 20 may increase the accuracy of voice-to-text conversion by using a language model.
  • the language model may refer to a model capable of calculating a probability of a sentence or a probability of a next word given previous words.
  • the language model may include probabilistic language models such as a Unigram model, a Bigram model, and an N-gram model.
  • the unigram model is a model that assumes that the conjugations of all words are completely independent of each other, and calculates the probability of a sequence of words as the product of the probabilities of each word.
  • the bigram model is a model that assumes that the conjugation of a word depends only on one previous word.
  • the N-gram model is a model that assumes that the conjugation of a word depends on the previous (n-1) number of words.
  • the STT server 20 may determine whether text data converted from voice data is appropriately converted using a language model, and through this, accuracy of conversion into text data may be increased.
  • NLP server 230 may receive text data from the STT server (20).
  • the STT server 20 may be included in the NLP server 30.
  • the NLP server 30 may perform intention analysis on the text data based on the received text data.
  • the NLP server 30 may transmit intention analysis information indicating a result of performing the intention analysis to the artificial intelligence device 10 .
  • the NLP server 30 may transmit intent analysis information to the voice synthesis server 40 .
  • the voice synthesis server 40 may generate a synthesized voice based on the intention analysis information and transmit the generated synthesized voice to the artificial intelligence device 10 .
  • the NLP server 30 may generate intention analysis information by sequentially performing a morpheme analysis step, a syntax analysis step, a dialogue act analysis step, and a dialog processing step on text data.
  • the morpheme analysis step is a step of classifying text data corresponding to a voice uttered by a user into morpheme units, which are the smallest units having meaning, and determining what parts of speech each classified morpheme has.
  • the syntactic analysis step is a step of classifying the text data into noun phrases, verb phrases, adjective phrases, etc. using the result of the morpheme analysis step, and determining what kind of relationship exists between the classified phrases.
  • the subject, object, and modifiers of the voice uttered by the user may be determined.
  • the dialogue act analysis step is a step of analyzing the intention of the voice uttered by the user by using the result of the syntax analysis step. Specifically, the dialogue act analysis step is a step of determining the intent of the sentence, such as whether the user asks a question, makes a request, or simply expresses emotion.
  • the dialog processing step is a step of determining whether to respond to the user's utterance, respond to the user's utterance, or ask a question asking for additional information by using the result of the dialogue act analysis step.
  • the NLP server 30 may generate intention analysis information including one or more of an answer, a response, and an inquiry for additional information about the intention uttered by the user.
  • the NLP server 30 may transmit a search request to a search server (not shown) and receive search information corresponding to the search request in order to search for information suitable for the user's speech intention.
  • the search information may include information about the searched content.
  • the NLP server 30 transmits the search information to the artificial intelligence device 10, and the artificial intelligence device 10 may output the search information.
  • the NLP server 30 may receive text data from the artificial intelligence device (10).
  • the artificial intelligence device 10 may convert voice data into text data and transmit the converted text data to the NLP server 30. .
  • the voice synthesis server 40 may generate a synthesized voice by combining pre-stored voice data.
  • the voice synthesis server 40 may record the voice of one person selected as a model and divide the recorded voice into syllables or words.
  • the speech synthesis server 40 may store the divided speech in units of syllables or words in an internal or external database.
  • the speech synthesis server 40 searches a database for syllables or words corresponding to given text data, synthesizes a combination of the searched syllables or words, and generates synthesized speech.
  • a plurality of speech language groups corresponding to each of the languages may be stored.
  • the voice synthesis server 40 may include a first voice language group recorded in Korean and a second voice language group recorded in English.
  • the speech synthesis server 40 may translate text data of the first language into text of the second language and generate synthesized speech corresponding to the translated text of the second language by using the second speech language group.
  • the voice synthesis server 40 may transmit the generated synthesized voice to the artificial intelligence device 10 .
  • the speech synthesis server 40 may receive analysis information from the NLP server 30 .
  • the analysis information may include information obtained by analyzing the intention of the voice spoken by the user.
  • the voice synthesis server 40 may generate a synthesized voice reflecting the user's intention based on the analysis information.
  • the STT server 20, the NLP server 30 and the speech synthesis server 40 may be implemented as one server.
  • each function of the above-described STT server 20, NLP server 30, and voice synthesis server 40 may also be performed by the artificial intelligence device 10.
  • the artificial intelligence device 10 may include one or more processors.
  • Each of the plurality of AI agent servers 50-1 to 50-3 may transmit search information to the NLP server 30 or the artificial intelligence device 10 at the request of the NLP server 30.
  • the NLP server 30 transmits the content search request to one or more of the plurality of AI agent servers 50-1 to 50-3, and , content search results may be received from the corresponding server.
  • NLP server 30 may transmit the received search results to the artificial intelligence device (10).
  • FIG. 2 is a block diagram for explaining the configuration of an artificial intelligence device according to an embodiment of the present disclosure.
  • the artificial intelligence device 10 includes a communication unit 110, an input unit 120, a running processor 130, a sensing unit 140, an output unit 150, a memory ( 170) and a processor 180.
  • the communication unit 110 may transmit/receive data with external devices using wired/wireless communication technology.
  • the communication unit 110 may transmit/receive sensor information, a user input, a learning model, a control signal, and the like with external devices.
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • LTE Long Term Evolution
  • WLAN Wireless LAN
  • Wi-Fi Wireless-Fidelity
  • Bluetooth Radio Frequency Identification
  • IrDA Infrared Data Association
  • ZigBee ZigBee
  • NFC Near Field Communication
  • the input unit 120 may acquire various types of data.
  • the input unit 120 may include a camera for inputting a video signal, a microphone for receiving an audio signal, and a user input unit for receiving information from a user.
  • a camera or microphone may be treated as a sensor, and signals obtained from the camera or microphone may be referred to as sensing data or sensor information.
  • the input unit 120 may obtain learning data for model learning and input data to be used when obtaining an output using the learning model.
  • the input unit 120 may obtain raw input data, and in this case, the processor 180 or the learning processor 130 may extract input features as preprocessing of the input data.
  • the input unit 120 may include a camera 121 for inputting a video signal, a microphone 122 for receiving an audio signal, and a user input unit 123 for receiving information from a user. there is.
  • Voice data or image data collected by the input unit 120 may be analyzed and processed as a user's control command.
  • the input unit 120 is for inputting image information (or signals), audio information (or signals), data, or information input from a user.
  • image information or signals
  • audio information or signals
  • data or information input from a user.
  • one or more artificial intelligence devices 10 are provided.
  • the cameras 121 may be provided.
  • the camera 121 processes an image frame such as a still image or a moving image obtained by an image sensor in a video call mode or a photographing mode.
  • the processed image frame may be displayed on the display unit 151 or stored in the memory 170 .
  • the microphone 122 processes external sound signals into electrical voice data.
  • the processed voice data may be utilized in various ways according to the function (or application program being executed) being performed by the artificial intelligence device 10 . Meanwhile, various noise cancellation algorithms may be applied to the microphone 122 to remove noise generated in the process of receiving an external sound signal.
  • the user input unit 123 is for receiving information from a user.
  • the processor 180 can control the operation of the artificial intelligence device 10 to correspond to the input information. there is.
  • the user input unit 123 is a mechanical input means (or a mechanical key, for example, a button located on the front/rear or side of the terminal 100, a dome switch, a jog wheel, a jog switch, etc.) and A touch input means may be included.
  • the touch input means consists of a virtual key, soft key, or visual key displayed on a touch screen through software processing, or a part other than the touch screen. It can be made of a touch key (touch key) disposed on.
  • the learning processor 130 may learn a model composed of an artificial neural network using training data.
  • the learned artificial neural network may be referred to as a learning model.
  • the learning model may be used to infer a result value for new input data other than learning data, and the inferred value may be used as a basis for a decision to perform a certain operation.
  • the learning processor 130 may include a memory integrated or implemented in the artificial intelligence device 10 .
  • the learning processor 130 may be implemented using the memory 170, an external memory directly coupled to the artificial intelligence device 10, or a memory maintained in an external device.
  • the sensing unit 140 may obtain at least one of internal information of the artificial intelligence device 10, surrounding environment information of the artificial intelligence device 10, and user information by using various sensors.
  • the sensors included in the sensing unit 140 include a proximity sensor, an illuminance sensor, an acceleration sensor, a magnetic sensor, a gyro sensor, an inertial sensor, an RGB sensor, an IR sensor, a fingerprint recognition sensor, an ultrasonic sensor, an optical sensor, a microphone, and a LiDAR sensor. , radar, etc.
  • the output unit 150 may generate an output related to sight, hearing, or touch.
  • the output unit 150 includes at least one of a display unit 151, a sound output unit 152, a haptic module 153, and an optical output unit 154 can do.
  • the display unit 151 displays (outputs) information processed by the artificial intelligence device 10 .
  • the display unit 151 may display execution screen information of an application program driven by the artificial intelligence device 10 or UI (User Interface) and GUI (Graphic User Interface) information according to such execution screen information.
  • UI User Interface
  • GUI Graphic User Interface
  • the display unit 151 may implement a touch screen by forming a mutual layer structure or integrally with the touch sensor.
  • a touch screen may function as a user input unit 123 providing an input interface between the artificial intelligence device 10 and the user, and may provide an output interface between the terminal 100 and the user.
  • the audio output unit 152 may output audio data received from the communication unit 110 or stored in the memory 170 in reception of a call signal, communication mode or recording mode, voice recognition mode, or broadcast reception mode.
  • the sound output unit 152 may include at least one of a receiver, a speaker, and a buzzer.
  • the haptic module 153 generates various tactile effects that a user can feel.
  • a representative example of the tactile effect generated by the haptic module 153 may be vibration.
  • the light output unit 154 outputs a signal for notifying the occurrence of an event using light from a light source of the artificial intelligence device 10 .
  • Examples of events generated by the artificial intelligence device 10 may include message reception, call signal reception, missed calls, alarms, schedule notifications, e-mail reception, and information reception through applications.
  • the memory 170 may store data supporting various functions of the artificial intelligence device 10 .
  • the memory 170 may store input data obtained from the input unit 120, learning data, a learning model, a learning history, and the like.
  • the processor 180 may determine at least one executable operation of the artificial intelligence device 10 based on information determined or generated using a data analysis algorithm or a machine learning algorithm. Also, the processor 180 may perform the determined operation by controlling components of the artificial intelligence device 10 .
  • the processor 180 may request, retrieve, receive, or utilize data from the learning processor 130 or the memory 170, and may perform an artificial operation to execute a predicted operation or an operation determined to be desirable among the at least one executable operation. Components of the intelligent device 10 may be controlled.
  • the processor 180 may generate a control signal for controlling the external device and transmit the generated control signal to the external device when the connection of the external device is required to perform the determined operation.
  • the processor 180 may obtain intention information for a user input and determine a user's requirement based on the acquired intention information.
  • the processor 180 uses at least one of a STT (Speech To Text) engine for converting a voice input into a character string and a Natural Language Processing (NLP) engine for obtaining intention information of a natural language, to generate user input. Corresponding intent information may be obtained.
  • STT Seech To Text
  • NLP Natural Language Processing
  • At least one or more of the STT engine or the NLP engine may include at least a part of an artificial neural network trained according to a machine learning algorithm.
  • at least one or more of the STT engine or the NLP engine is learned by the learning processor 130, learned by the learning processor 240 of the AI server 200, or learned by distributed processing thereof it could be
  • the processor 180 collects history information including user feedback on the operation contents or operation of the artificial intelligence device 10 and stores it in the memory 170 or the learning processor 130, or the AI server 200, etc. can be transmitted to an external device.
  • the collected history information can be used to update the learning model.
  • the processor 180 may control at least some of the components of the artificial intelligence device 10 in order to drive an application program stored in the memory 170 . Furthermore, the processor 180 may combine and operate two or more of the components included in the artificial intelligence device 10 to drive the application program.
  • 3A is a block diagram for explaining the configuration of a voice service server according to an embodiment of the present invention.
  • the voice service server 200 may include one or more of the STT server 20, the NLP server 30, and the voice synthesis server 40 shown in FIG.
  • the voice service server 200 may be referred to as a server system.
  • the voice service server 200 may include a pre-processing unit 220, a controller 230, a communication unit 270, and a database 290.
  • the pre-processing unit 220 may pre-process the voice received through the communication unit 270 or the voice stored in the database 290 .
  • the pre-processing unit 220 may be implemented as a chip separate from the controller 230 or as a chip included in the controller 230 .
  • the pre-processing unit 220 may receive a voice signal (uttered by a user) and filter a noise signal from the voice signal before converting the received voice signal into text data.
  • the pre-processing unit 220 When the pre-processing unit 220 is provided in the artificial intelligence device 10, it may recognize an activation word for activating voice recognition of the artificial intelligence device 10.
  • the pre-processor 220 converts the start word received through the microphone 121 into text data, and when the converted text data is text data corresponding to a pre-stored start word, it may be determined that the start word is recognized. .
  • the pre-processor 220 may convert the noise-removed voice signal into a power spectrum.
  • the power spectrum may be a parameter indicating which frequency components are included in the waveform of the voice signal that fluctuates over time and in what magnitude.
  • the power spectrum shows the distribution of amplitude square values according to the frequency of the waveform of the audio signal. This will be described with reference to FIG. 3B.
  • 3B is a diagram illustrating an example of converting a voice signal into a power spectrum according to an embodiment of the present invention.
  • the voice signal 210 may be received from an external device or may be a signal pre-stored in the memory 170 .
  • the x-axis of the audio signal 310 may represent time, and the y-axis may represent amplitude.
  • the power spectrum processor 225 may convert the audio signal 310, of which the x-axis is the time axis, into the power spectrum 330, the x-axis of which is the frequency axis.
  • the power spectrum processing unit 225 may convert the voice signal 310 into the power spectrum 330 using Fast Fourier Transform (FFT).
  • FFT Fast Fourier Transform
  • the x-axis of the power spectrum 330 represents the frequency, and the y-axis represents the square of the amplitude.
  • the functions of the pre-processing unit 220 and the controller 230 described in FIG. 3a may also be performed by the NLP server 30.
  • the pre-processing unit 220 may include a wave processing unit 221, a frequency processing unit 223, a power spectrum processing unit 225, and a speech to text (STT) conversion unit 227.
  • a wave processing unit 221, a frequency processing unit 223, a power spectrum processing unit 225, and a speech to text (STT) conversion unit 227 may include a wave processing unit 221, a frequency processing unit 223, a power spectrum processing unit 225, and a speech to text (STT) conversion unit 227.
  • STT speech to text
  • the wave processing unit 221 may extract a voice waveform.
  • the frequency processing unit 223 may extract a frequency band of voice.
  • the power spectrum processing unit 225 may extract a power spectrum of voice.
  • the power spectrum may be a parameter indicating which frequency components are included in the waveform and at what magnitude when a temporally varying waveform is given.
  • the speech to text (STT) conversion unit 227 may convert speech into text.
  • the voice-to-text conversion unit 227 may convert voice of a specific language into text of the corresponding language.
  • the controller 230 may control overall operations of the voice service server 200 .
  • the controller 230 may include a voice analysis unit 231 , a text analysis unit 232 , a feature clustering unit 233 , a text mapping unit 234 and a voice synthesis unit 235 .
  • the voice analysis unit 231 may extract characteristic information of the voice by using at least one of a voice waveform, a frequency band of the voice, and a power spectrum of the voice preprocessed by the preprocessor 220 .
  • Voice characteristic information may include one or more of speaker's gender information, speaker's voice (or tone), pitch, tone of voice, speaker's speech speed, and speaker's emotion.
  • the voice characteristic information may further include a speaker's timbre.
  • the text analyzer 232 may extract main expression phrases from the text converted by the voice-to-text converter 227 .
  • the text analyzer 232 When the text analyzer 232 detects a change in tone between phrases from the converted text, it may extract the phrase whose tone changes as the main expression phrase.
  • the text analyzer 232 may determine that the tone has changed when a frequency band between phrases is changed by more than a preset band.
  • the text analyzer 232 may extract main words from phrases of the converted text.
  • the main word may be a noun present in a phrase, but this is only an example.
  • the feature clustering unit 233 may classify the speech type of the speaker using the voice characteristic information extracted by the voice analysis unit 231 .
  • the feature clustering unit 233 may classify the speaker's speech type by assigning a weight to each of the type items constituting the voice feature information.
  • the feature clustering unit 233 may classify a speaker's speech type using an attention technique of a deep learning model.
  • the text mapping unit 234 may translate the text converted into the first language into text in the second language.
  • the text mapping unit 234 may map the text translated into the second language to the text of the first language.
  • the text mapping unit 234 may map the main expression phrase constituting the text of the first language to the corresponding phrase of the second language.
  • the text mapping unit 234 may map an utterance type corresponding to a main expression phrase constituting the text of the first language to a phrase of the second language. This is to apply the classified utterance type to the phrase of the second language.
  • the voice synthesis unit 235 applies the speech type and speaker's timbre classified by the feature clustering unit 233 to the main expression phrases of the text translated into the second language by the text mapping unit 234, and produces a synthesized voice.
  • the controller 230 may determine the speech characteristics of the user using one or more of the transmitted text data or the power spectrum 330 .
  • the user's speech characteristics may include the user's gender, the user's pitch, the user's timbre, the user's speech topic, the user's speech speed, and the user's voice volume.
  • the controller 230 may obtain a frequency of the voice signal 310 and an amplitude corresponding to the frequency using the power spectrum 330 .
  • the controller 230 may use the frequency band of the power spectrum 230 to determine the gender of the user who uttered the voice.
  • the controller 230 may determine the gender of the user as male.
  • the controller 230 may determine the gender of the user as female when the frequency band of the power spectrum 330 is within a preset second frequency band range.
  • the second frequency band range may be larger than the first frequency band range.
  • the controller 230 may determine the pitch of the voice using the frequency band of the power spectrum 330 .
  • the controller 230 may determine the level of pitch of a sound within a specific frequency band range according to the magnitude of the amplitude.
  • the controller 230 may determine a user's tone using a frequency band of the power spectrum 330 .
  • the controller 230 may determine a frequency band having an amplitude greater than or equal to a predetermined level among frequency bands of the power spectrum 330 as the user's main sound range, and determine the determined main sound range as the user's tone color.
  • the controller 230 may determine the user's speech speed from the converted text data through the number of syllables spoken per unit time.
  • the controller 230 may determine the subject of the user's speech using the Bag-Of-Word Model technique with respect to the converted text data.
  • the Bag-Of-Word Model technique is a technique for extracting frequently used words based on the number of word frequencies in a sentence.
  • the Bag-Of-Word Model technique is a technique for determining the characteristics of an utterance subject by extracting a unique word from a sentence and expressing the frequency count of each extracted word as a vector.
  • the subject of the user's speech may be classified as exercise.
  • the controller 230 may determine a user's utterance subject from text data using a known text categorization technique.
  • the controller 230 may extract keywords from text data to determine the subject of the user's speech.
  • the controller 230 may determine the user's voice in consideration of amplitude information in the entire frequency band.
  • the controller 230 may determine the user's voice based on an average or a weighted average of amplitudes in each frequency band of the power spectrum.
  • the communication unit 270 may perform wired or wireless communication with an external server.
  • the database 290 may store audio of the first language included in the content.
  • the database 290 may store synthesized voices obtained by converting voices of the first language into voices of the second language.
  • the database 290 may store first text corresponding to speech in a first language and second text obtained by translating the first text into a second language.
  • the database 290 may store various learning models required for voice recognition.
  • the processor 180 of the artificial intelligence device 10 shown in FIG. 2 may include the preprocessing unit 220 and the controller 230 shown in FIG. 3 .
  • the processor 180 of the artificial intelligence device 10 may perform the function of the pre-processing unit 220 and the function of the controller 230.
  • FIG. 4 is a block diagram illustrating the configuration of a processor for voice recognition and synthesis of an artificial intelligence device according to an embodiment of the present invention.
  • the voice recognition and synthesis process of FIG. 4 may be performed by the learning processor 130 or the processor 180 of the artificial intelligence device 10 without going through a server.
  • the processor 180 of the artificial intelligence device 10 may include an STT engine 410, an NLP engine 430, and a speech synthesis engine 450.
  • Each engine can be either hardware or software.
  • the STT engine 410 may perform the functions of the STT server 20 of FIG. 1 . That is, the STT engine 410 may convert voice data into text data.
  • the NLP engine 430 may perform the functions of the NLP server 30 of FIG. 1 . That is, the NLP engine 430 may obtain intention analysis information representing the speaker's intention from the converted text data.
  • the voice synthesis engine 450 may perform the function of the voice synthesis server 40 of FIG. 1 .
  • the speech synthesis engine 450 may search a database for syllables or words corresponding to given text data, synthesize a combination of the searched syllables or words, and generate synthesized speech.
  • the speech synthesis engine 450 may include a pre-processing engine 451 and a TTS engine 453.
  • the pre-processing engine 451 may pre-process text data before generating synthesized speech.
  • the preprocessing engine 451 performs tokenization by dividing text data into tokens, which are meaningful units.
  • the preprocessing engine 451 may perform a cleansing operation to remove unnecessary characters and symbols to remove noise.
  • the pre-processing engine 451 may combine word tokens having different expression methods to generate the same word token.
  • the pre-processing engine 451 may remove meaningless word tokens (stopwords).
  • the TTS engine 453 may synthesize a voice corresponding to the preprocessed text data and generate a synthesized voice.
  • 5 and 6 are diagrams for explaining a problem that occurs when a waiting time for a voice agent to wait for an operation command to be recognized after recognizing a trigger word spoken by a user is fixed.
  • a voice agent is an electronic device capable of providing a voice recognition service.
  • the waiting time may be a waiting time for a voice agent to recognize an operation command after recognizing an activation command.
  • the voice agent may enter a state of activating the voice recognition service by the start command and may perform a function according to the analysis of the intention of the operation command.
  • the voice agent may enter a non-activation state in which recognition of a trigger word is required again.
  • the waiting time is a fixed time.
  • the user utters a trigger word.
  • the voice agent recognizes the activation word and displays the activation state. After recognizing the activation word, the voice agent waits for recognition of an operation command.
  • the voice agent is in an active state capable of recognizing an operation command for a predetermined fixed waiting time.
  • the user confirms the activation of the voice agent and utters a voice command as an operation command.
  • the voice agent receives a voice command uttered by the user within a fixed waiting time, identifies the intent of the voice command, and then outputs feedback based on the intent.
  • the voice agent cannot perform recognition of the additional voice command because it enters an inactive state.
  • the user has to wake up the voice agent by recognizing the failure of the additional voice command and re-entering the activation word. That is, there is an inconvenience of having to re-enter the start word due to the lapse of the fixed waiting time.
  • the user performs a conversation or call unrelated to the use of a voice agent after receiving feedback on the voice command. Since the fixed waiting time has not elapsed, the voice agent recognizes the conversation or call contents uttered by the user and outputs feedback for it.
  • the standby time is changed according to the analysis of the voice command uttered by the user.
  • FIG. 7 is a flowchart illustrating a method of operating an artificial intelligence device according to an embodiment of the present disclosure.
  • FIG. 7 is an embodiment in which waiting time is changed according to a received voice command after recognizing an activation command.
  • the processor 180 of the artificial intelligence device 10 receives an activation command through the microphone 122 (S701).
  • the startup command may be a voice for activating a voice recognition function of the artificial intelligence device 10 .
  • the processor 180 recognizes the received startup command (S703).
  • the processor 180 may convert voice data corresponding to the activation command into text data, and determine whether the converted text data matches data corresponding to the activation command stored in the memory 170 .
  • the processor 180 may determine that the start command is recognized when the converted text data and the stored data match. Accordingly, the processor 180 may activate the voice recognition function of the artificial intelligence device 10 .
  • the processor 180 may activate the voice recognition function for a fixed waiting time.
  • the fixed standby time may be set by a user or set by default.
  • the processor 180 may wait for reception of a voice corresponding to an operation command upon recognition of the activation command.
  • the processor 180 may output a notification indicating recognition of the activation command as a voice through the audio output unit 152 or display it through the display unit 151 .
  • the processor 180 receives a first voice command as an operation command through the microphone 122 (S705).
  • the first voice command may be received within a waiting time.
  • the processor 180 obtains first analysis result information through analysis of the first voice command (S707).
  • the processor 180 may convert the first voice command into first text using the STT engine 410 .
  • the processor 180 may obtain first analysis result information indicating the intent of the first text through the NLP engine 430 .
  • the processor 180 may transmit a first voice signal corresponding to the first voice command to the NLP server 30 and receive first analysis result information from the NLP server 30.
  • the first analysis result information may include information reflecting the user's intention, such as searching for specific information or performing a specific function of the artificial intelligence device 10 .
  • the processor 180 outputs a first feedback based on the obtained first analysis result information (S709).
  • the first feedback may be feedback that responds to the user's first voice command based on the first analysis result information.
  • the processor 180 infers a first waiting time based on the first analysis result information (S711).
  • the processor 180 may extract the first intention from the first analysis result information and obtain first command layer information from the extracted first intention.
  • the processor 180 may calculate a first probability that an additional voice command is input based on the first command layer information, and infer a first waiting time based on the calculated first probability.
  • FIGS. 8 to 10 are diagrams illustrating a process of inferring a waiting time based on command layer information according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram explaining step S711 of FIG. 7 in detail.
  • the processor 180 of the artificial intelligence device 10 creates a command hierarchy (S801).
  • the processor 180 may create a command hierarchy based on a large-scale usage pattern log and manufacturer command definitions.
  • the artificial intelligence device 10 may receive a command hierarchy from the NLP server 30.
  • the large-scale usage pattern log may include patterns of voice commands used in the voice recognition service of the artificial intelligence device 10 .
  • the manufacturer command definition may refer to a set of voice commands to be used when the manufacturer of the artificial intelligence device 10 provides a voice recognition service for the artificial intelligence device 10 .
  • Command hierarchies can be created by large-scale usage pattern logs and manufacturer command definitions.
  • FIG. 9 is a diagram illustrating a command hierarchy structure according to an embodiment of the present disclosure.
  • a command hierarchy 900 showing a plurality of nodes corresponding to each of a plurality of intentions (or a plurality of voice commands) and a hierarchical relationship between the plurality of nodes is shown.
  • a line connecting nodes may be an edge representing a connection between nodes.
  • Each node may correspond to a specific voice command or the intent of a specific voice command.
  • An upper node may include one or more intermediate nodes and one or more lower nodes.
  • the first upper node 910 may have a first intermediate node 911 and a second intermediate node 912 .
  • the first intermediate node 911 may have a first lower node 911-1 and a second lower node 911-2.
  • the second intermediate node 912 may have a third lower node 911 - 2 and a fourth lower node 930 .
  • the processor 180 allocates the first intent extracted from the first analysis result information to the command hierarchy (S803).
  • the processor 180 may allocate the first intention indicated by the first analysis result information to the command hierarchy 900 .
  • a first intent may be assigned to a first higher node 910 of the command hierarchy 900 .
  • the processor 180 obtains first command layer information based on the allocation result (S805), and calculates a first probability of inputting an additional voice command based on the obtained first command layer information (S807).
  • the processor 180 may obtain first command layer information using depth information of the assigned node and correlation information between lower nodes of the assigned node.
  • the depth information of the first higher node 910 is information representing the depth of the first higher node 910, and the lowest node 931 -1) can be expressed as the number of edges (4).
  • Association between lower nodes of the assigned node may be expressed as an edge weight.
  • the processor 180 may calculate the sum of the weights assigned to each of the edges from the first higher node 910 to the lowermost node 931 - 1 passing through the nodes 912 , 930 , and 931 .
  • a weight of each edge may be set in proportion to a probability that an additional voice command is uttered.
  • the processor 180 may determine the sum of weights assigned to each of the edges up to the lowest node 931-1 with a first probability.
  • the processor 180 processes all the edges up to the lowest node 931-1.
  • the probability of inputting an additional voice command may also decrease.
  • the processor 180 infers the first waiting time based on the calculated first probability (S711).
  • the first waiting time may also increase.
  • the memory 170 may store a lookup table mapping a plurality of waiting times corresponding to each of a plurality of probabilities.
  • the processor 180 may determine the first waiting time corresponding to the first probability by using the lookup table stored in the memory 170 .
  • the processor 180 determines whether the existing waiting time needs to be changed according to the comparison between the inferred first waiting time and the existing waiting time (S713).
  • the existing waiting time may be a time set in the artificial intelligence device 10 before the first waiting time is inferred.
  • the processor 180 changes the existing waiting time to the inferred first waiting time (S715).
  • the processor 180 may change and set the existing waiting time to the inferred first waiting time.
  • the processor 180 receives a second voice command in a state where the waiting time is changed to the first waiting time (S715).
  • the processor 180 receives the second voice command and obtains second analysis result information of the second voice command (S719).
  • the processor 180 may obtain second analysis result information for the second voice command.
  • the processor 180 may obtain second analysis result information by using the first analysis result information and the second voice command.
  • the processor 180 outputs second feedback based on the second analysis result information (S721).
  • the processor 180 may convert the second voice command into second text using the STT engine 410 .
  • the processor 180 may obtain second analysis result information indicating the intent of the second text through the NLP engine 430 .
  • the processor 180 may transmit a second voice signal corresponding to the second voice command to the NLP server 30 and receive second analysis result information from the NLP server 30.
  • the second analysis result information may include information reflecting the user's intention, such as searching for specific information or performing a specific function of the artificial intelligence device 10 .
  • the second analysis result information may be information generated based on the first analysis result information and the second voice command.
  • the waiting time can be increased according to the analysis of the voice command uttered by the user, so that the inconvenience of inputting a trigger word twice can be greatly reduced. .
  • FIG. 10 is a flowchart illustrating a method of determining an optimal waiting time according to an embodiment of the present disclosure.
  • step S721 of FIG. 7 may be an embodiment performed after step S721 of FIG. 7 .
  • Processor 180 obtains the user's voice log information (S1001).
  • the user's voice log information may include the first voice command and the second voice command of FIG. 5 .
  • the user's voice log information may further include information on when the second voice command was received after feedback was output according to the first voice command.
  • the user's voice log information may further include first analysis result information corresponding to the first voice command and second analysis result information corresponding to the second voice command.
  • the user's voice log information may further include information about a node to which a first voice command is assigned and a node to which a second voice command is assigned in the command hierarchy 900 .
  • the processor 180 obtains an interval and a degree of correlation between the preceding and subsequent commands based on the obtained user's voice log information (S1003).
  • the processor 180 may measure an interval between consecutively inputted voice commands.
  • the processor 180 may measure a time taken from output of the first feedback corresponding to the first voice command to input of the second voice command, and obtain the measured time as an interval between the preceding and succeeding commands.
  • the processor 180 may obtain a distance between a first node corresponding to the first voice command assigned to the command hierarchy 900 and a second node corresponding to the second voice command.
  • 11 is a diagram illustrating a process of obtaining an association between nodes corresponding to voice commands according to an embodiment of the present disclosure.
  • the command hierarchy 900 shown in FIG. 11 is the same as the example of FIG. 9 .
  • the processor 180 determines the edges passing from the first node 910 to the second node 903. (1101, 1103, 1105) The sum of each weight can be obtained as a distance between nodes.
  • the processor 180 may obtain a value obtained by dividing the sum of the obtained weights by the number of edges as the degree of correlation between nodes.
  • the processor 180 infers the second waiting time based on the interval between the preceding and following instructions and the degree of correlation (S1005).
  • the processor 180 may calculate a second probability that an additional voice command is input using a first normalization value of an interval between preceding and succeeding commands and a second normalization value of a degree of correlation.
  • the first normalization value may be a value obtained by normalizing an interval between preceding and succeeding commands to a value between 0 and 1
  • the second normalization value may be a value obtained by normalizing a degree of correlation to a value between 0 and 1.
  • the processor 180 may obtain an average of the first normalization value and the second normalization value with a second probability.
  • the processor 180 may extract a second waiting time matching the second probability using a lookup table stored in the memory 170 .
  • the processor 180 determines the final waiting time based on the inferred second waiting time and the first waiting time of step S711 (S1007).
  • the processor 180 may calculate a first time in which a first weight is applied to the first waiting time and a second time in which a second weight is applied to the second waiting time.
  • the processor 180 may determine first and second weights based on a first reliability level for inference of the first waiting time and a second reliability level for inference of the second waiting time.
  • the processor 180 may infer the first reliability based on the position of the node assigned to the first voice command on the command hierarchy 900 . For example, the processor 180 may increase the first reliability as the node assigned to the first voice command is a higher node. As the first reliability increases, the first weight may also increase.
  • the processor 180 may increase the second reliability as the number of acquisitions of the user's voice log information increases. As the second reliability increases, the second weight may also increase.
  • the processor 180 may determine the average of the first time and the second time as the final waiting time.
  • waiting time for recognizing a continuous voice command may be changed to suit a user's speech pattern, thereby providing the user with an optimized waiting time.
  • FIG. 12 is a diagram for explaining a scenario in which waiting time for a voice agent to wait for an operation command to be recognized after recognizing an activation word spoken by a user according to an embodiment of the present disclosure is increased.
  • the user utters a trigger word.
  • the voice agent recognizes the activation word and displays the activation state. After recognizing the activation word, the voice agent waits for recognition of an operation command.
  • the voice agent is in an active state capable of recognizing an operation command for a predetermined fixed waiting time.
  • the user confirms the activation of the voice agent and utters a voice command as an operation command.
  • the voice agent receives a voice command uttered by the user within the waiting time, identifies the intent of the voice command, and outputs feedback based on the intent.
  • the voice agent can increase the existing latency to a latency that matches the analysis of the voice command.
  • the voice agent may recognize the additional voice command with an increased latency and may provide feedback corresponding to the additional voice command to the user.
  • the user does not need to additionally utter a trigger word, and thus the user experience of the voice recognition service can be greatly improved.
  • the above-described present invention can be implemented as computer readable code on a medium on which a program is recorded.
  • the computer-readable medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. there is Also, the computer may include a processor 180 of an artificial intelligence device.

Landscapes

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

Abstract

본 발명의 일 실시 예에 따른 인공 지능 기기는 마이크로폰 및 상기 마이크로폰을 통해 수신된 기동 명령어를 인식하고, 상기 기동 명령어의 인식 후, 상기 마이크로폰을 통해 제1 음성 명령을 수신하고, 제1 음성 명령의 의도 분석 결과를 나타내는 제1 분석 결과 정보를 획득하고, 상기 제1 분석 결과 정보에 기초하여, 상기 인공 지능 기기가 상기 기동 명령어의 인식 후, 추가 음성 명령의 수신을 위해 대기하는 시간인 제1 대기 시간을 추론하는 프로세서를 포함한다.

Description

인공 지능 기기
본 발명은 인공 지능 기기에 관한 것으로, 보다 상세하게는 음성 인식 서비스를 제공하는 기기에 관한 것이다.
스마트폰에 시작된 음성인식 기술 경쟁은 사물인터넷(IoT)의 본격 확산과 맞물려 이제 집 안에서 본격적으로 불붙을 전망이다.
특히, 주목할 만한 점은 그 기기가 음성을 매개로 명령을 내리고, 대화를 나눌 수도 있는 인공지능(AI) 기기라는 점이다.
음성인식 서비스는 막대한 양의 데이터베이스를 활용하여, 사용자의 질문에 최적 답변을 선택하는 구조를 갖고 있다.
음성검색 기능 역시 입력된 음성데이터를 클라우드 서버에서 텍스트로 변환하여 분석하고, 그 결과에 따른 실시간 검색결과를 기기로 재전송하는 방식이다.
클라우드 서버는 수많은 단어들을 성별, 연령별, 억양별로 구분된 음성 데이터로 구분하여, 저장하고 실시간으로 처리할 수 있는 컴퓨팅 능력을 보유하고 있다.
음성 인식은 더 많은 음성데이터가 축적될수록, 인간과 동등한(Human parity) 수준 정도로, 정확해질 것이다.
종래의 음성 Agent는 기동어 인식 후, 추가 음성 명령의 인식을 위한 인식 대기 시간이 고정적이다.
이로 인해, 사용자의 연속 명령을 인식하지 못하거나 필요 없는 음성을 받아들여 분석하는 경우가 있다.
추가 음성 명령의 인식 불가한 경우, 사용자가 추가적으로 음성 명령을 함에도 불구하고 인식 대기 상태 고정으로 음성 에이전트가 비활성화 상태로 전환되는 문제가 있다.
또한, 인식 대기 시간이 크게 늘어나면, 불필요 음성 인식 사용자가 추가적인 음성 명령을 하지 않음에도 불구하고, 불필요 음성 인식에 따른 오작동의 문제가 발생된다.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다.
본 발명은 사용자의 연속 음성 명령을 효과적으로 인식하기 위한 인공 지능 기기의 제공을 목적으로 한다.
본 발명은 사용자의 발화 명령의 분석에 기반하여, 추가 음성 명령을 위한 인식 대기 상태를 변경할 수 있는 인공 지능 기기의 제공을 목적으로 한다.
본 발명은 사용자의 발화 명령의 분석에 기반하여, 추가 음성 명령을 위한 인식 대기 상태를 사용자 맞춤형으로 변경할 수 있는 인공 지능 기기의 제공을 목적으로 한다.
본 발명의 일 실시 예에 따른 인공 지능 기기는 마이크로폰 및 상기 마이크로폰을 통해 수신된 기동 명령어를 인식하고, 상기 기동 명령어의 인식 후, 상기 마이크로폰을 통해 제1 음성 명령을 수신하고, 제1 음성 명령의 의도 분석 결과를 나타내는 제1 분석 결과 정보를 획득하고, 상기 제1 분석 결과 정보에 기초하여, 상기 인공 지능 기기가 상기 기동 명령어의 인식 후, 추가 음성 명령의 수신을 위해 대기하는 시간인 제1 대기 시간을 추론하는 프로세서를 포함한다.
본 발명의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다.
본 발명의 실시 예에 따르면, 사용자는 기동어를 2번 입력해야 하는 불편함에서 벗어날 수 있다.
본 개시의 실시 예에 따르면, 기동어 인식 후, 연속된 음성 명령의 인식을 위한 대기 시간을 사용자의 발화 패턴에 맞게 변경하여, 사용자에게 최적화된 대기 시간을 제공할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 음성 시스템을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 인공 지능 기기의 구성을 설명하기 위한 블록도이다.
도 3a는 본 발명의 일 실시 예에 따른 음성 서비스 서버의 구성을 설명하기 위한 블록도이다.
도 3b는 본 발명의 일 실시 예에 따른 음성 신호를 파워 스펙트럼으로 변환한 예를 설명한 도면이다.
도 4는 본 발명의 일 실시 예에 따라, 인공 지능 기기의 음성 인식 및 합성을 위한 프로세서의 구성을 설명하는 블록도이다.
도 5 및 도 6은 사용자가 발화한 기동어의 인식 후, 음성 에이전트가 동작 명령어를 인식하기 위해 대기하는 대기 시간이 고정된 경우 발생되는 문제를 설명하기 위한 도면들이다.
도 7은 본 개시의 일 실시 예에 따른 인공 지능 기기의 동작 방법을 설명하기 위한 흐름도이다.
도 8 내지 도 10은 본 개시의 일 실시 예에 따라 명령 계층 정보에 기반하여 대기 시간을 추론하는 과정을 설명하는 도면이다.
도 11은 본 개시의 일 실시 예에 따라 음성 명령들에 상응하는 노드 들 간의 연관성을 획득하는 과정을 설명하는 도면이다.
도 12는 본 개시의 실시 예에 따라 사용자가 발화한 기동어의 인식 후, 음성 에이전트가 동작 명령어를 인식하기 위해 대기하는 대기 시간을 증가시킨 시나리오를 설명하는 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 설명되는 인공 지능 기기에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 인공 지능 기기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 인공 지능 기기 (smartwatch), 글래스형 인공 지능 기기 (smart glass), HMD(head mounted display)) 등이 포함될 수 있다.
그러나, 본 명세서에 기재된 실시 예에 따른 인공 지능 기기(10)는 스마트 TV, 데스크탑 컴퓨터, 디지털사이니지, 냉장고, 세탁기, 에어컨, 식기 세척기 등과 같은 고정 인공 지능 기기에도 적용될 수도 있다.
또한, 본 발명의 실시 예에 따른 인공 지능 기기(10)는 고정 또는 이동 가능한 로봇에도 적용될 수 있다.
또한, 본 발명의 실시 예에 따른 인공 지능 기기(10)는 음성 에이전트의 기능을 수행할 수 있다. 음성 에이전트는 사용자의 음성을 인식하고, 인식된 사용자의 음성에 적합한 응답을 음성으로 출력하는 프로그램일 수 있다.
도 1은 본 발명의 일 실시 예에 따른 음성 시스템을 설명하기 위한 도면이다.
일반적인 음성 인식 및 합성 과정은 발화자의 음성 데이터를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터에 기반하여 발화자의 의도를 분석하고, 분석된 의도에 상응하는 텍스트 데이터를 합성 음성 데이터로 변환하고, 변환된 합성 음성 데이터를 출력하는 과정을 포함할 수 있다.음성 인식 및 합성 과정을 위해, 도 1에 도시된 바와 같은, 음성 인식 시스템(1)이 사용될 수 있다.
도 1을 참조하면, 음성 인식 시스템(1)은 인공 지능 기기(10), 음성 텍스트 변환(Speech To Text, STT) 서버(20), 자연어 처리(Natural Language Processing, NLP) 서버(30) 및 음성 합성 서버(40) 및 복수의 AI 에이전트 서버들(50-1 내지 50-3)을 포함할 수 있다.
인공 지능 기기(10)는 마이크로폰(122)을 통해 수신된 발화자의 음성에 상응하는 음성 신호 STT 서버(210)에 전송할 수 있다.
STT 서버(20)는 인공 지능 기기(10)로부터 수신된 음성 데이터를 텍스트 데이터로 변환할 수 있다.
STT 서버(20)는 언어 모델을 이용하여 음성-텍스트 변환의 정확도를 높일 수 있다.
언어 모델은 문장의 확률을 계산하거나, 이전의 단어들이 주어졌을 때 다음 단어가 나올 확률을 계산할 수 있는 모델을 의미할 수 있다.
예컨대, 언어 모델은 유니그램(Unigram) 모델, 바이그램(Bigram) 모델, N-그램(N-gram) 모델 등과 같은 확률론적 언어 모델들을 포함할 수 있다.
유니그램 모델은 모든 단어의 활용이 완전히 서로 독립적이라고 가정하는 모델로, 단어 열의 확률을 각 단어의 확률의 곱으로 계산하는 모델이다.
바이그램 모델은 단어의 활용이 이전 1개의 단어에만 의존한다고 가정하는 모델이다.
N-그램 모델은 단어의 활용이 이전 (n-1)개의 단어에 의존한다고 가정하는 모델이다.
즉, STT 서버(20)는 언어 모델을 이용하여 음성 데이터로부터 변환된 텍스트 데이터가 적합하게 변환된 것인지 판단할 수 있고, 이를 통해 텍스트 데이터로의 변환의 정확도를 높일 수 있다.
NLP 서버(230)는 STT 서버(20)로부터 텍스트 데이터를 수신할 수 있다. STT 서버(20)는 NLP 서버(30)에 포함될 수도 있다.
NLP 서버(30)는 수신된 텍스트 데이터에 기초하여, 텍스트 데이터에 대한 의도 분석을 수행할 수 있다.
NLP 서버(30)는 의도 분석의 수행 결과를 나타내는 의도 분석 정보를 인공 지능 기기(10)에 전송할 수 있다.
또 다른 예로, NLP 서버(30)는 의도 분석 정보를 음성 합성 서버(40)에 전송할 수 있다. 음성 합성 서버(40)는 의도 분석 정보에 기반한 합성 음성을 생성하고, 생성된 합성 음성을 인공 지능 기기(10)에 전송할 수 있다.
NLP 서버(30)는 텍스트 데이터에 대해, 형태소 분석 단계, 구문 분석 단계, 화행 분석 단계, 대화 처리 단계를 순차적으로, 수행하여, 의도 분석 정보를 생성할 수 있다.
형태소 분석 단계는 사용자가 발화한 음성에 대응하는 텍스트 데이터를 의미를 지닌 가장 작은 단위인 형태소 단위로 분류하고, 분류된 각 형태소가 어떤 품사를 가지는지를 결정하는 단계이다.
구문 분석 단계는 형태소 분석 단계의 결과를 이용하여, 텍스트 데이터를 명사구, 동사구, 형용사 구 등으로 구분하고, 구분된 각 구들 사이에, 어떠한 관계가 존재하는지를 결정하는 단계이다.
구문 분석 단계를 통해, 사용자가 발화한 음성의 주어, 목적어, 수식어들이 결정될 수 있다.
화행 분석 단계는 구문 분석 단계의 결과를 이용하여, 사용자가 발화한 음성에 대한 의도를 분석하는 단계이다. 구체적으로, 화행 분석 단계는 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 단순한 감정 표현을 하는 것인지와 같은 문장의 의도를 결정하는 단계이다.
대화 처리 단계는 화행 분석 단계의 결과를 이용하여, 사용자의 발화에 대해 대답을 할지, 호응을 할지, 추가 정보를 문의하는 질문을 할지를 판단하는 단계이다.
NLP 서버(30)는 대화 처리 단계 후, 사용자가 발화한 의도에 대한 답변, 호응, 추가 정보 문의 중 하나 이상을 포함하는 의도 분석 정보를 생성할 수 있다.
NLP 서버(30)는 사용자의 발화 의도에 맞는 정보를 검색하기 위해, 검색 서버(미도시)에 검색 요청을 전송하고, 검색 요청에 상응하는 검색 정보를 수신할 수 있다.
사용자의 발화 의도가 컨텐트의 검색인 경우, 검색 정보는 검색된 컨텐트에 대한 정보를 포함할 수 있다.
NLP 서버(30)는 검색 정보를 인공 지능 기기(10)에 전송하고, 인공 지능 기기(10)는 검색 정보를 출력할 수 있다.
한편, NLP 서버(30)는 인공 지능 기기(10)로부터 텍스트 데이터를 수신할 수도 있다. 예를 들어, 인공 지능 기기(10)가 음성 텍스트 변환 기능을 지원하는 경우, 인공 지능 기기(10)는 음성 데이터를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터를 NLP 서버(30)에 전송할 수 있다.
음성 합성 서버(40)는 기 저장된 음성 데이터들을 조합하여, 합성 음성을 생성할 수 있다.
음성 합성 서버(40)는 모델로 선정된 한 사람의 음성을 녹음하고, 녹음된 음성을 음절 또는 단어 단위로 분할할 수 있다.
음성 합성 서버(40)는 음절 또는 단어 단위로, 분할된 음성을 내부 또는 외부의 데이터 베이스에 저장할 수 있다.
음성 합성 서버(40)는 주어진 텍스트 데이터에 대응하는 음절 또는 단어를 데이터 베이스로부터 검색하고, 검색된 음절 또는 단어들의 조합을 합성하여, 합성 음성을 생성할 수 있다.음성 합성 서버(40)는 복수의 언어들 각각에 대응하는 복수의 음성 언어 그룹들을 저장하고 있을 수 있다.
예를 들어, 음성 합성 서버(40)는 한국어로 녹음된 제1 음성 언어 그룹, 영어로, 녹음된 제2 음성 언어 그룹을 포함할 수 있다.
음성 합성 서버(40)는 제1 언어의 텍스트 데이터를 제2 언어의 텍스트로 번역하고, 제2 음성 언어 그룹을 이용하여, 번역된 제2 언어의 텍스트에 대응하는 합성 음성을 생성할 수 있다.
음성 합성 서버(40)는 생성된 합성 음성을 인공 지능 기기(10)에 전송할 수 있다.
음성 합성 서버(40)는 NLP 서버(30)로부터 분석 정보를 수신할 수 있다. 분석 정보는 사용자가 발화한 음성의 의도를 분석한 정보를 포함할 수 있다.
음성 합성 서버(40)는 분석 정보에 기초하여, 사용자의 의도를 반영한, 합성 음성을 생성할 수 있다.
일 실시 예에서, STT 서버(20), NLP 서버(30) 및 음성 합성 서버(40)는 하나의 서버로 구현될 수 있다.
위에서, 설명된 STT 서버(20), NLP 서버(30) 및 음성 합성 서버(40) 각각의 기능은 인공 지능 기기(10)에서도 수행될 수도 있다. 이를 위해, 인공 지능 기기(10)는 하나 이상의 프로세서들을 포함할 수 있다.
복수의 AI 에이전트 서버들(50-1 내지 50-3) 각각은 NLP 서버(30)의 요청에 따라 검색 정보를 NLP 서버(30) 또는 인공 지능 기기(10)에 전송할 수 있다.
NLP 서버(30)의 의도 분석 결과가 컨텐트의 검색 요청인 경우, NLP 서버(30)는 컨텐트의 검색 요청을 복수의 AI 에이전트 서버들(50-1 내지 50-3) 중 하나 이상의 서버에 전송하고, 컨텐트의 검색 결과를 해당 서버로부터 수신할 수 있다.
NLP 서버(30)는 수신된 검색 결과를 인공 지능 기기(10)에 전송할 수 있다.
도 2는 본 개시의 일 실시 예에 따른 인공 지능 기기의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 인공 지능 기기(10)는 인공 지능 기기(10)는 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 메모리(170) 및 프로세서(180)를 포함할 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth쪠), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
입력부(120)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
입력부(120)는 영상 신호 입력을 위한 카메라(Camera, 121), 오디오 신호를 수신하기 위한 마이크로폰(Microphone, 122), 사용자로부터 정보를 입력 받기 위한 사용자 입력부(User Input Unit, 123)를 포함할 수 있다.
입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어 명령으로 처리될 수 있다.
입력부(120)는 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 영상 정보의 입력을 위하여, 인공 지능 기기(10)는 하나 또는 복수의 카메라(121)들을 구비할 수 있다.
카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(151)에 표시되거나 메모리(170)에 저장될 수 있다.
마이크로폰(122)은 외부의 음향 신호를 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 인공 지능 기기(10)에서 수행 중인 기능(또는 실행 중인 응용 프로그램)에 따라 다양하게 활용될 수 있다. 한편, 마이크로폰(122)에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 적용될 수 있다.
사용자 입력부(123)는 사용자로부터 정보를 입력 받기 위한 것으로서, 사용자 입력부(123)를 통해 정보가 입력되면, 프로세서(180)는 입력된 정보에 대응되도록 인공 지능 기기(10)의 동작을 제어할 수 있다.
사용자 입력부(123)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예컨대, 단말기(100)의 전/후면 또는 측면에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단을 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
러닝 프로세서(130)는 인공 지능 기기(10)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(170), 인공 지능 기기(10)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(140)는 다양한 센서들을 이용하여 인공 지능 기기(10) 내부 정보, 인공 지능 기기(10)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센싱부(140)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
출력부(150)는 디스플레이부(Display Unit, 151), 음향 출력부(Sound Output Unit, 152), 햅틱 모듈(Haptic Module, 153), 광 출력부(Optical Output Unit, 154) 중 적어도 하나를 포함할 수 있다.
디스플레이부(151)는 인공 지능 기기(10)에서 처리되는 정보를 표시(출력)한다. 예컨대, 디스플레이부(151)는 인공 지능 기기(10)에서 구동되는 응용 프로그램의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 인공 지능 기기(10)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 단말기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
음향 출력부(152)는 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 통신부(110)로부터 수신되거나 메모리(170)에 저장된 오디오 데이터를 출력할 수 있다.
음향 출력부(152)는 리시버(receiver), 스피커(speaker), 버저(buzzer) 중 적어도 하나 이상을 포함할 수 있다.
햅틱 모듈(haptic module)(153)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(153)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 될 수 있다.
광출력부(154)는 인공 지능 기기(10)의 광원의 빛을 이용하여 이벤트 발생을 알리기 위한 신호를 출력한다. 인공 지능 기기(10)에서 발생 되는 이벤트의 예로는 메시지 수신, 호 신호 수신, 부재중 전화, 알람, 일정 알림, 이메일 수신, 애플리케이션을 통한 정보 수신 등이 될 수 있다.
메모리(170)는 인공 지능 기기(10)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(170)는 입력부(120)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, 인공 지능 기기(10)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(180)는 인공 지능 기기(10)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
프로세서(180)는 러닝 프로세서(130) 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 인공 지능 기기(10)의 구성 요소들을 제어할 수 있다.
프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
프로세서(180)는 음성 입력을 문자열로 변환하기 위한 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 인공 지능 기기(10)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 인공 지능 기기(10)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, 인공 지능 기기(10)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
도 3a는 본 발명의 일 실시 예에 따른 음성 서비스 서버의 구성을 설명하기 위한 블록도이다.
음성 서비스 서버(200)는 도 1에 도시된, STT 서버(20), NLP 서버(30), 음성 합성 서버(40) 중 하나 이상을 포함할 수 있다. 음성 서비스 서버(200)는 서버 시스템으로 명명될 수 있다.
도 3a를 참고하면, 음성 서비스 서버(200)는 전처리부(220), 컨트롤러(230), 통신부(270) 및 데이터 베이스(290)를 포함할 수 있다.
전처리부(220)는 통신부(270)를 통해 수신된 음성 또는 데이터 베이스(290)에 저장된 음성을 전처리 할 수 있다.
전처리부(220)는 컨트롤러(230)와 별도의 칩으로 구현되거나, 컨트롤러(230)에 포함된 칩으로 구현될 수 있다.
전처리부(220)는 (사용자가 발화한) 음성 신호를 수신하고, 수신된 음성 신호를 텍스트 데이터로 변환하기 전, 음성 신호로부터 잡음 신호를 필터링할 수 있다.
전처리부(220)가 인공 지능 기기(10)에 구비된 경우, 인공 지능 기기(10)의 음성 인식을 활성화시키기 위한 기동어를 인식할 수 있다. 전처리부(220)는 마이크로폰(121)을 통해 수신된 기동어를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터가 기 저장된 기동어에 대응하는 텍스트 데이터인 경우, 기동어를 인식한 것으로 판단할 수 있다.
전처리부(220)는 잡음이 제거된 음성 신호를 파워 스펙트럼으로 변환할 수 있다.
파워 스펙트럼은 시간적으로 변동하는 음성 신호의 파형에 어떠한 주파수 성분이 어떠한 크기로 포함되어 있는지를 나타내는 파라미터일 수 있다.
파워 스펙트럼은 음성 신호의 파형의 주파수에 따른 진폭 제곱 값의 분포를 보여준다.이에 대해서는, 도 3b를 참조하여 설명한다.
도 3b는 본 발명의 일 실시 예에 따른 음성 신호를 파워 스펙트럼으로 변환한 예를 설명한 도면이다.
도 3b를 참조하면, 음성 신호(310)가 도시되어 있다. 음성 신호(210)는 외부 기기로부터 수신되거나, 메모리(170)에 미리 저장된 신호일 수 있다.
음성 신호(310)의 x축은 시간이고, y축은 진폭의 크기를 나타낼 수 있다.
파워 스펙트럼 처리부(225)는 x축이 시간 축인 음성 신호(310)를 x축이 주파수 축인 파워 스펙트럼(330)으로 변환할 수 있다.
파워 스펙트럼 처리부(225)는 고속 퓨리에 변환(Fast Fourier Transform, FFT)을 이용하여, 음성 신호(310)를 파워 스펙트럼(330)으로 변환할 수 있다.
파워 스펙트럼(330)의 x축은 주파수, y축은 진폭의 제곱 값을 나타낸다.
다시 도 3a를 설명한다.
도 3a에서 설명된 전처리부(220) 및 컨트롤러(230)의 기능은 NLP 서버(30) 에서도 수행될 수 있다.
전처리부(220)는 웨이브 처리부(221), 주파수 처리부(223), 파워 스펙트럼 처리부(225), 음성 텍스트(Speech To Text, STT) 변환부(227)를 포함할 수 있다.
웨이브 처리부(221)는 음성의 파형을 추출할 수 있다.
주파수 처리부(223)는 음성의 주파수 대역을 추출할 수 있다.
파워 스펙트럼 처리부(225)는 음성의 파워 스펙트럼을 추출할 수 있다.
파워 스펙트럼은 시간적으로 변동하는 파형이 주어졌을 때, 그 파형에 어떠한 주파수 성분이 어떠한 크기로 포함되고 있는지를 나타내는 파라미터일 수 있다.
음성 텍스트(Speech To Text, STT) 변환부(227)는 음성을 텍스트로 변환할 수 있다.
음성 텍스트 변환부(227)는 특정 언어의 음성을 해당 언어의 텍스트로 변환할 수 있다.
컨트롤러(230)는 음성 서비스 서버(200)의 전반적인 동작을 제어할 수 있다.
컨트롤러(230)는 음성 분석부(231), 텍스트 분석부(232), 특징 클러스터링부(233), 텍스트 매핑부(234) 및 음성 합성부(235)를 포함할 수 있다.
음성 분석부(231)는 전처리부(220)에서 전처리된, 음성의 파형, 음성의 주파수 대역 및 음성의 파워 스펙트럼 중 하나 이상을 이용하여, 음성의 특성 정보를 추출할 수 있다.
음성의 특성 정보는 화자의 성별 정보, 화자의 목소리(또는 음색, tone), 음의 높낮이, 화자의 말투, 화자의 발화 속도, 화자의 감정 중 하나 이상을 포함할 수 있다.
또한, 음성의 특성 정보는 화자의 음색을 더 포함할 수도 있다.
텍스트 분석부(232)는 음성 텍스트 변환부(227)에서 변환된 텍스트로부터, 주요 표현 어구를 추출할 수 있다.
텍스트 분석부(232)는 변환된 텍스트로부터 어구와 어구 간의 어조가 달라짐을 감지한 경우, 어조가 달라지는 어구를 주요 표현 어구로 추출할 수 있다.
텍스트 분석부(232)는 어구와 어구 간의 주파수 대역이 기 설정된 대역 이상 변경된 경우, 어조가 달라진 것으로 판단할 수 있다.
텍스트 분석부(232)는 변환된 텍스트의 어구 내에, 주요 단어를 추출할 수도 있다. 주요 단어란 어구 내에 존재하는 명사일 수 있으나, 이는 예시에 불과하다.
특징 클러스터링부(233)는 음성 분석부(231)에서 추출된 음성의 특성 정보를 이용하여, 화자의 발화 유형을 분류할 수 있다.
특징 클러스터링부(233)는 음성의 특성 정보를 구성하는 유형 항목들 각각에, 가중치를 두어, 화자의 발화 유형을 분류할 수 있다.
특징 클러스터링부(233)는 딥러닝 모델의 어텐션(attention) 기법을 이용하여, 화자의 발화 유형을 분류할 수 있다.
텍스트 매핑부(234)는 제1 언어로 변환된 텍스트를 제2 언어의 텍스트로 번역할 수 있다.
텍스트 매핑부(234)는 제2 언어로 번역된 텍스트를 제1 언어의 텍스트와 매핑 시킬 수 있다.
텍스트 매핑부(234)는 제1 언어의 텍스트를 구성하는 주요 표현 어구를 이에 대응하는 제2 언어의 어구에 매핑 시킬 수 있다.
텍스트 매핑부(234)는 제1 언어의 텍스트를 구성하는 주요 표현 어구에 대응하는 발화 유형을 제2 언어의 어구에 매핑시킬 수 있다. 이는, 제2 언어의 어구에 분류된 발화 유형을 적용시키기 위함이다.
음성 합성부(235)는 텍스트 매핑부(234)에서 제2 언어로 번역된 텍스트의 주요 표현 어구에, 특징 클러스터링부(233)에서 분류된 발화 유형 및 화자의 음색을 적용하여, 합성된 음성을 생성할 수 있다.
컨트롤러(230)는 전달된 텍스트 데이터 또는 파워 스펙트럼(330) 중 하나 이상을 이용하여, 사용자의 발화 특징을 결정할 수 있다.
사용자의 발화 특징은 사용자의 성별, 사용자의 음의 높낮이, 사용자의 음색, 사용자의 발화 주제, 사용자의 발화 속도, 사용자의 성량등을 포함할 수 있다.
컨트롤러(230)는 파워 스펙트럼(330)을 이용하여, 음성 신호(310)의 주파수 및 주파수에 대응하는 진폭을 획득할 수 있다.
컨트롤러(230)는 파워 스펙트럼(230)의 주파수 대역을 이용하여, 음성을 발화한 사용자의 성별을 결정할 수 있다.
예를 들어, 컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역이 기 설정된 제1 주파수 대역 범위 내인 경우, 사용자의 성별을 남자로 결정할 수 있다.
컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역이 기 설정된 제2 주파수 대역 범위 내인 경우, 사용자의 성별을 여자로 결정할 수 있다. 여기서, 제2 주파수 대역 범위는 제1 주파수 대역 범위보다 클 수 있다.
컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역을 이용하여, 음성의 높낮이를 결정할 수 있다.
예를 들어, 컨트롤러(230)는 특정 주파수 대역 범위 내에서, 진폭의 크기에 따라 음의 높낮이 정도를 결정할 수 있다.
컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역을 이용하여, 사용자의 음색(tone)을 결정할 수 있다. 예를 들어, 컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역들 중, 진폭의 크기가 일정 크기 이상인 주파수 대역을 사용자의 주요 음역대로 결정하고, 결정된 주요 음역대를 사용자의 음색으로 결정할 수 있다.
컨트롤러(230)는 변환된 텍스트 데이터로부터, 단위 시간 당 발화된 음절 수를 통해, 사용자의 발화 속도를 결정할 수 있다.
컨트롤러(230) 변환된 텍스트 데이터에 대해, Bag-Of-Word Model 기법을 이용하여, 사용자의 발화 주제를 결정할 수 있다.
Bag-Of-Word Model 기법은 문장 내 단어 빈도 수 기반으로, 주로 사용하는 단어를 추출하는 기법이다. 구체적으로, Bag-Of-Word Model 기법은 문장 내에서, 유니크한 단어를 추출하고, 추출된 각 단어의 빈도 수를 벡터로 표현하여, 발화 주제를 특징을 결정하는 기법이다.
예를 들어, 컨트롤러(230) 텍스트 데이터에 <달리기>, <체력> 등과 같은 단어가 자주 등장하면, 사용자의 발화 주제를 운동으로 분류할 수 있다.
컨트롤러(230) 공지된 텍스트 카테고리화(Text Categorization) 기법을 이용하여, 텍스트 데이터로부터 사용자의 발화 주제를 결정할 수 있다. 컨트롤러(230) 텍스트 데이터로부터 키워드를 추출하여, 사용자의 발화 주제를 결정할 수 있다.
컨트롤러(230) 전체 주파수 대역에서의 진폭 정보를 고려하여 사용자의 성량을 결정할 수 있다.
예컨대, 컨트롤러(230) 파워 스펙트럼의 각 주파수 대역에서의 진폭의 평균 또는 가중치 평균을 기준으로 사용자의 성량을 결정할 수 있다.
통신부(270)는 외부 서버와 유선 또는 무선으로 통신을 수행할 수 있다.
데이터 베이스(290)는 컨텐트에 포함된 제1 언어의 음성을 저장할 수 있다.
데이터 베이스(290)는 제1 언어의 음성이 제2 언어의 음성으로 변환된 합성 음성을 저장할 수 있다.
데이터 베이스(290)는 제1 언어의 음성에 대응하는 제1 텍스트, 제1 텍스트가 제2 언어로 번역된 제2 텍스트를 저장할 수 있다.
데이터 베이스(290)는 음성 인식에 필요한 다양한 학습 모델을 저장하고 있을 수 있다.
한편, 도 2에 도시된 인공 지능 기기(10)의 프로세서(180)는 도 3에 도시된 전처리부(220) 및 컨트롤러(230)를 구비할 수 있다.
즉, 인공 지능 기기(10)의 프로세서(180)는 전처리부(220)의 기능 및 컨트롤러(230)의 기능을 수행할 수도 있다.
도 4는 본 발명의 일 실시 예에 따라, 인공 지능 기기의 음성 인식 및 합성을 위한 프로세서의 구성을 설명하는 블록도이다.
즉, 도 4의 음성 인식 및 합성 과정은 서버를 거치지 않고, 인공 지능 기기(10)의 러닝 프로세서(130) 또는 프로세서(180)에 의해 수행될 수도 있다.
도 4를 참조하면, 인공 지능 기기(10)의 프로세서(180)는 STT 엔진(410), NLP 엔진(430), 음성 합성 엔진(450)를 포함할 수 있다.
각 엔진은 하드웨어 또는 소프트웨어 중 어느 하나일 수 있다.
STT 엔진(410)은 도 1의 STT 서버(20)의 기능을 수행할 수 있다. 즉, STT 엔진(410)은 음성 데이터를 텍스트 데이터로 변환할 수 있다.
NLP 엔진(430)은 도 1의 NLP 서버(30)의 기능을 수행할 수 있다. 즉, NLP 엔진(430)은 변환된 텍스트 데이터로부터 발화자의 의도를 나타내는 의도 분석 정보를 획득할 수 있다.
음성 합성 엔진(450)은 도 1의 음성 합성 서버(40)의 기능을 수행할 수 있다.
음성 합성 엔진(450)은 주어진 텍스트 데이터에 대응하는 음절 또는 단어를 데이터 베이스로부터 검색하고, 검색된 음절 또는 단어들의 조합을 합성하여, 합성 음성을 생성할 수 있다.
음성 합성 엔진(450)은 전처리 엔진(451) 및 TTS 엔진(453)을 포함할 수 있다.
전처리 엔진(451)은 합성 음성을 생성하기 전, 텍스트 데이터를 전처리할 수 있다.
구체적으로, 전처리 엔진(451)은 텍스트 데이터를 의미 있는 단위인 토큰으로 나누는 토큰화를 수행한다.
토큰화 수행 후, 전처리 엔진(451)은 노이즈 제거를 위해 불필요한 문자, 기호를 제거하는 클렌징 작업을 수행할 수 있다.
그 후, 전처리 엔진(451)는 표현 방법이 다른 단어 토큰들을 통합시켜, 같은 단어 토큰을 생성할 수 있다.
그 후, 전처리 엔진(451)는 의미 없는 단어 토큰(불용어, stopword)을 제거할 수 있다.
TTS 엔진(453)은 전처리된 텍스트 데이터에 상응하는 음성을 합성하고, 합성 음성을 생성할 수 있다.
도 5 및 도 6은 사용자가 발화한 기동어의 인식 후, 음성 에이전트가 동작 명령어를 인식하기 위해 대기하는 대기 시간이 고정된 경우 발생되는 문제를 설명하기 위한 도면들이다.
음성 에이전트는 음성 인식 서비스를 제공할 수 있는 전자 기기이다.
이하에서 대기 시간은 음성 에이전트가 기동 명령어 인식 후, 동작 명령어를 인식하기 위해 대기하는 시간일 수 있다.
음성 에이전트는 기동 명령어에 의해 음성 인식 서비스를 활성화시키는 상태로 진입할 수 있고, 동작 명령어의 의도 분석에 따른 기능을 수행할 수 있다.
대기 시간의 경과 후에 음성 에이전트는 다시, 기동어의 인식이 필요한 비 활성화 상태로 진입할 수 있다.
도 5 및 도 6에서 대기 시간은 고정된 시간이다.
도 5를 참조하면, 사용자는 기동어를 발화한다. 음성 에이전트는 기동어를 인식하고, 기동 상태를 표시한다. 음성 에이전트는 기동어를 인식한 후, 동작 명령의 인식을 대기한다.
음성 에이전트는 미리 정해진 고정 대기 시간 동안 동작 명령어를 인식할수 있는 활성화 상태에 있다.
사용자는 음성 에이전트의 기동을 확인하고, 동작 명령인 음성 명령을 발화한다.
음성 에이전트는 고정 대기 시간 내에 사용자가 발화한 음성 명령을 수신하고, 음성 명령의 의도를 파악한 후, 파악한 의도에 기반하여 피드백을 출력한다.
만약, 고정 대기 시간이 경과한 후, 사용자가 추가 음성 명령을 발화한 경우, 음성 에이전트는 비 활성화 상태로 진입했기 때문에 추가 음성 명령에 대한 인식을 수행할 수 없다.
이 경우, 사용자는 추가 음성 명령의 실패를 인식하고, 기동어를 재 입력해서 음성 에이전트를 깨워야 하는 불편함이 있다. 즉, 고정 대기 시간의 경과로 인해 기동어를 재 입력해야 하는 불편함이 존재한다.
만약, 도 6의 예와 같이, 고정 대기 시간을 도 5의 예보다 증가시키는 경우를 고려해 본다.
이 경우, 사용자는 음성 명령에 대한 피드백을 제공받은 후, 음성 에이전트의 활용과는 관계없는 대화나 통화를 수행한다. 음성 에이전트는 고정 대기 시간이 경과하지 않았기 때문에 사용자가 발화한 대화나 통화 내용을 인식하고 그에 대한 피드백을 출력한다.
즉, 도 5의 문제를 해결하기 위해 고정 대기 시간을 증가시키는 경우, 음성 에이전트와는 관계없는 대화나 통화 내용에 대한 피드백을 제공하게 되어, 사용자의 대화나 통화에 방해가 되는 문제가 있다.
본 개시의 실시 예에서는 사용자가 발화한 음성 명령의 분석에 맞추어 대기 시간을 변경하고자 한다.
도 7은 본 개시의 일 실시 예에 따른 인공 지능 기기의 동작 방법을 설명하기 위한 흐름도이다.
특히, 도 7은 기동 명령어의 인식 후, 수신되는 음성 명령에 따라 대기 시간을 변경하는 실시 예이다.
도 7을 참조하면, 인공 지능 기기(10)의 프로세서(180)는 마이크로폰(122)을 통해 기동 명령을 수신한다(S701).
기동 명령은 인공 지능 기기(10)의 음성 인식 기능을 활성화시키기 위한 음성일 수 있다.
프로세서(180)는 수신된 기동 명령을 인식한다(S703).
프로세서(180)는 기동 명령에 상응하는 음성 데이터를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터가 메모리(170)에 저장된 기동 명령에 대응하는 데이터와 일치하는지를 판단할 수 있다.
프로세서(180)는 변환된 텍스트 데이터와 저장된 데이터가 일치하는 경우, 기동 명령을 인식하는 것으로 결정할 수 있다. 이에 따라, 프로세서(180)는 인공 지능 기기(10)의 음성 인식 기능을 활성화시킬 수 있다.
프로세서(180)는 고정된 대기 시간 동안 음성 인식 기능을 활성화시킬 수 있다. 고정된 대기 시간은 사용자의 설정 또는 디폴트로 설정된 시간일 수 있다.
프로세서(180)는 기동 명령의 인식에 따라 동작 명령에 상응하는 음성의 수신을 대기할 수 있다.
프로세서(180)는 기동 명령의 인식 후, 기동 명령의 인식을 알리는 알림을 음향 출력부(152)를 통해 음성으로 출력하거나, 디스플레이부(151)를 통해 표시할 수 있다.
그 후, 프로세서(180)는 마이크로폰(122)을 통해 동작 명령인 제1 음성 명령을 수신한다(S705).
제1 음성 명령은 대기 시간 내에 수신될 수 있다.
프로세서(180)는 제1 음성 명령의 분석을 통해 제1 분석 결과 정보를 획득한다(S707).
일 실시 예에서, 프로세서(180)는 STT 엔진(410)을 이용하여 제1 음성 명령을 제1 텍스트로 변환할 수 있다. 프로세서(180)는 NLP 엔진(430)을 통해 제1 텍스트의 의도를 나타내는 제1 분석 결과 정보를 획득할 수 있다.
또 다른 실시 예에서, 프로세서(180)는 제1 음성 명령에 상응하는 제1 음성 신호를 NLP 서버(30)에 전송하고, NLP 서버(30)로부터 제1 분석 결과 정보를 수신할 수도 있다.
제1 분석 결과 정보는 특정 정보의 검색, 인공 지능 기기(10)의 특정 기능의 수행 등 사용자의 의도가 반영된 정보를 포함할 수 있다.
프로세서(180)는 획득된 제1 분석 결과 정보에 기초하여 제1 피드백을 출력한다(S709).
제1 피드백은 제1 분석 결과 정보에 기초하여, 사용자의 제1 음성 명령에 응답하는 피드백일 수 있다.
프로세서(180)는 제1 분석 결과 정보에 기초하여 제1 대기 시간을 추론한다(S711).
일 실시 예에서 프로세서(180)는 제1 분석 결과 정보로부터 제1 의도를 추출하고, 추출된 제1 의도로부터 제1 명령 계층 정보를 획득할 수 있다.
프로세서(180)는 제1 명령 계층 정보로부터 추가 음성 명령이 입력될 제1 확률을 계산하고, 계산된 제1 확률에 기반하여, 제1 대기 시간을 추론할 수 있다.
이에 대해서는, 도 8을 참조하여 설명한다.
도 8 내지 도 10은 본 개시의 일 실시 예에 따라 명령 계층 정보에 기반하여 대기 시간을 추론하는 과정을 설명하는 도면이다.
특히, 도 8은 도 7의 단계 S711을 상세히 설명하는 도면이다.
인공 지능 기기(10)의 프로세서(180)는 명령 계층 구조를 생성한다(S801).
일 실시 예에서 프로세서(180)는 대규모 사용 패턴 로그 및 제조사 명령 정의에 기반하여 명령 계층 구조를 생성할 수 있다.
또 다른 실시 예에서 인공 지능 기기(10)는 NLP 서버(30)로부터 명령 계층 구조를 수신할 수도 있다.
대규모 사용 패턴 로그는 인공 지능 기기(10)의 음성 인식 서비스에서 사용되었던 음성 명령의 패턴들을 포함할 수 있다.
제조사 명령 정의는 인공 지능 기기(10)의 제조사가 인공 지능 기기(10)의 음성 인식 서비스 제공 시 사용될 음성 명령들의 집합을 의미할 수 있다.
대규모 사용 패턴 로그 및 제조사 명령 정의에 의해 명령 계층 구조가 생성될 수 있다.
도 9는 본 개시의 일 실시 예에 따른 명령 계층 구조를 설명하는 도면이다.
도 9를 참조하면, 복수의 의도들(또는 복수의 음성 명령들) 각각에 상응하는 복수의 노드들 및 복수의 노드들 간의 계층 관계를 나타내는 명령 계층 구조(900)가 도시되어 있다.
노드들 간을 연결하는 선은 노드와 노드 간의 연관성을 나타내는 엣지일 수 있다.
각 노드는 특정 음성 명령 또는 특정 음성 명령의 의도에 대응될 수 있다.
상위 노드는 하나 이상의 중간 노드 및 하나 이상의 하위 노드를 포함할 수 있다.
예를 들어, 제1 상위 노드(910)는 제1 중간 노드(911) 및 제2 중간 노드(912)를 가질 수 있다.
제1 중간 노드(911)는 제1 하위 노드(911-1) 및 제2 하위 노드(911-2)를 가질 수 있다.
제2 중간 노드(912)는 제3 하위 노드(911-2) 및 제4 하위 노드(930)를 가질 수 있다.
다시, 도 8을 설명한다.
프로세서(180)는 제1 분석 결과 정보로부터 추출된 제1 의도를 명령 계층 구조에 할당한다(S803).
프로세서(180)는 제1 분석 결과 정보가 나타내는 제1 의도를 명령 계층 구조(900)에 할당할 수 있다.
예를 들어, 제1 의도는 명령 계층 구조(900)의 제1 상위 노드(910)에 할당될 수 있다.
프로세서(180)는 할당 결과에 기초하여 제1 명령 계층 정보를 획득하고(S805), 획득된 제1 명령 계층 정보에 기반하여 추가 음성 명령이 입력될 제1 확률을 계산한다(S807).
프로세서(180)는 할당된 노드의 뎁스 정보 및 할당된 노드의 하위 노드 간의 연관성 정보를 이용하여 제1 명령 계층 정보를 획득할 수 있다.
예를 들어, 제1 상위 노드(910)에 제1 의도가 할당된 경우, 제1 상위 노드(910)의 뎁스 정보는 제1 상위 노드(910)의 깊이를 나타내는 정보로, 최 하위 노드(931-1) 까지의 엣지의 수(4)로 표현될 수 있다.
할당된 노드의 하위 노드 간의 연관성은 엣지의 가중치로 표현될 수 있다.
프로세서(180)는 제1 상위 노드(910)를 기준으로 노드들(912, 930, 931)을 거치는 최 하위 노드(931-1)까지의 엣지들 각각에 할당된 가중치들의 합을 계산할 수 있다. 각 엣지의 가중치는 추가 음성 명령이 발화될 확률에 비례하여 설정될 수 있다.
프로세서(180)는 최 하위 노드(931-1)까지의 엣지들 각각에 할당된 가중치들의 합을 제1 확률로 결정할 수 있다.
즉, 최 하위 노드(931-1)까지의 엣지들 각각에 할당된 가중치들의 합이 커질수록 추가 음성 명령이 입력될 확률도 증가되고, 프로세서(180)는 최 하위 노드(931-1)까지의 엣지들 각각에 할당된 가중치들의 합이 작아질수록 추가 음성 명령이 입력될 확률도 감소될 수 있다.
프로세서(180)는 계산된 제1 확률에 기반하여 제1 대기 시간을 추론한다(S711).
추가 음성 명령이 발화될 제1 확률이 증가될수록 제1 대기 시간도 증가될 수 있다.
메모리(170)는 복수의 확률들 각각에 상응하는 복수의 대기 시간들을 매핑한 룩업 테이블을 저장하고 있을 수 있다.
프로세서(180)는 메모리(170)에 저장된 룩업 테이블을 이용하여, 제1 확률에 상응하는 제1 대기 시간을 결정할 수 있다.
다시, 도 7을 설명한다.
프로세서(180)는 추론된 제1 대기 시간과 기존의 대기 시간의 비교에 따라 기존의 대기 시간의 변경이 필요한지를 판단한다(S713).
기존의 대기 시간은 제1 대기 시간이 추론되기 전 인공 지능 기기(10)에 설정된 시간일 수 있다.
프로세서(180)는 기존의 대기 시간의 변경이 필요한 경우, 기존의 대기 시간을 추론된 제1 대기 시간으로 변경한다(S715).
프로세서(180)는 기존의 대기 시간보다 추론된 제1 대기 시간이 더 큰 경우, 기존의 대기 시간을 추론된 제1 대기 시간으로 변경 및 설정할 수 있다.
프로세서(180)는 대기 시간이 제1 대기 시간으로 변경된 상태에서 제2 음성 명령을 수신한다(S715).
프로세서(180)는 제2 음성 명령을 수신하고, 제2 음성 명령의 제2 분석 결과 정보를 획득한다(S719).
제1 대기 시간 내에 제2 음성 명령이 수신된 경우, 프로세서(180)는 제2 음성 명령에 대한 제2 분석 결과 정보를 획득할 수 있다.
프로세서(180)는 제1 분석 결과 정보 및 제2 음성 명령을 이용하여 제2 분석 결과 정보를 획득할 수 있다.
이는 제1 음성 명령과 제2 음성 명령이 서로 연관된 명령이기 때문이다.
프로세서(180)는 제2 분석 결과 정보에 기초하여 제2 피드백을 출력한다(S721).
일 실시 예에서, 프로세서(180)는 STT 엔진(410)을 이용하여 제2 음성 명령을 제2 텍스트로 변환할 수 있다. 프로세서(180)는 NLP 엔진(430)을 통해 제2 텍스트의 의도를 나타내는 제2 분석 결과 정보를 획득할 수 있다.
또 다른 실시 예에서, 프로세서(180)는 제2 음성 명령에 상응하는 제2 음성 신호를 NLP 서버(30)에 전송하고, NLP 서버(30)로부터 제2 분석 결과 정보를 수신할 수도 있다.
제2 분석 결과 정보는 특정 정보의 검색, 인공 지능 기기(10)의 특정 기능의 수행 등 사용자의 의도가 반영된 정보를 포함할 수 있다.
제2 분석 결과 정보는 제1 분석 결과 정보 및 제2 음성 명령에 기반하여 생성된 정보일 수 있다.
이와 같이, 본 개시의 실시 예에 따르면, 고정된 대기 시간과는 달리, 사용자가 발화한 음성 명령의 분석에 따라 대기 시간을 늘릴 수 있어, 기동어를 두번 입력하는 불편함이 크게 감소될 수 있다.
다음으로, 도 10을 설명한다.
도 10은 본 개시의 실시 예에 따라 최적의 대기 시간을 결정하는 방법을 설명하는 흐름도이다.
도 10은 도 7의 단계 S721 이후에 수행되는 실시 예일 수 있다.
프로세서(180)는 사용자의 음성 로그 정보를 획득한다(S1001).
사용자의 음성 로그 정보는 도 5의 제1 음성 명령 및 제2 음성 명령을 포함할 수 있다.
사용자의 음성 로그 정보는 제1 음성 명령에 따른 피드백 출력 후, 제2 음성 명령이 수신된 시점 정보를 더 포함할 수 있다.
사용자의 음성 로그 정보는 제1 음성 명령에 상응하는 제1 분석 결과 정보, 제2 음성 명령에 상응하는 제2 분석 결과 정보를 더 포함할 수 있다.
사용자의 음성 로그 정보는 명령 계층 구조(900)에서 제1 음성 명령이 할당된 노드, 제2 음성 명령이 할당된 노드에 대한 정보를 더 포함할 수 있다.
프로세서(180)는 획득된 사용자의 음성 로그 정보에 기반하여 선후 명령들 간 인터벌 및 연관성 정도를 획득한다(S1003).
일 실시 예에서 프로세서(180)는 선후 연속적으로 입력된 음성 명령들 간 인터벌을 측정할 수 있다.
프로세서(180)는 제1 음성 명령에 상응하는 제1 피드백의 출력 후, 제2 음성 명령이 입력되기까지, 걸린 시간을 측정하고, 측정된 시간을 선후 명령들 간 인터벌로 획득할 수 있다.
프로세서(180)는 명령 계층 구조(900)에 할당된 제1 음성 명령에 상응하는 제1 노드와 제2 음성 명령에 상응하는 제2 노드 간 거리를 획득할 수 있다.
이에 대해서는 도 11을 참조하여 설명한다.
도 11은 본 개시의 일 실시 예에 따라 음성 명령들에 상응하는 노드 들 간의 연관성을 획득하는 과정을 설명하는 도면이다.
도 11에 도시된 명령 계층 구조(900)는 도 9의 예와 동일한다.
만약, 제1 음성 명령에 제1 노드(910)가 할당되고, 제2 노드(903)가 할당된 경우, 프로세서(180)는 제1 노드(910)에서 제2 노드(903)로 거치는 엣지들(1101, 1103, 1105) 각각의 가중치의 합을 노드들 간의 거리로 획득할 수 있다.
프로세서(180)는 획득된 가중치의 합을 엣지의 수로 나눈 값을 노드들 간의 연관성 정도로 획득할 수 있다.
다시, 도 10을 설명한다.
프로세서(180)는 선후 명령들 간 인터벌 및 연관성 정도에 기반하여 제2 대기 시간을 추론한다(S1005).
프로세서(180)는 선후 명령들 간 인터벌의 제1 정규화 값 및 연관성 정도의 제2 정규화 값을 이용하여 추가 음성 명령이 입력될 제2 확률을 계산할 수 있다.
제1 정규화 값은 선후 명령들 간 인터벌을 0~1 사이의 값으로 정규화 한 값이고, 제2 정규화 값은 연관성 정도를 0~1 사이의 값으로 정규화한 값일 수 있다.
프로세서(180)는 제1 정규화 값과 제2 정규화 값의 평균을 제2 확률로 획득할 수 있다.
프로세서(180)는 메모리(170)에 저장된 룩업 테이블을 이용하여 제2 확률에 매칭되는 제2 대기 시간을 추출할 수 있다.
프로세서(180)는 추론된 제2 대기 시간 및 단계 S711의 제1 대기 시간에 기반하여 최종 대기 시간을 결정한다(S1007).
프로세서(180)는 제1 대기 시간에 제1 가중치를 적용한 제1 시간 및 제2 대기 시간에 제2 가중치를 적용한 제2 시간을 계산할 수 있다.
프로세서(180)는 제1 대기 시간의 추론에 대한 제1 신뢰도, 제2 대기 시간의 추론에 대한 제2 신뢰도를 기반으로 제1,2 가중치들을 결정할 수 있다.
프로세서(180)는 명령 계층 구조(900) 상에서 제1 음성 명령에 할당된 노드의 위치에 기반하여 제1 신뢰도를 추론할 수 있다. 예를 들어, 프로세서(180)는 제1 음성 명령에 할당된 노드가 상위 노드일수록 제1 신뢰도를 증가시킬 수 있다. 제1 신뢰도가 증가됨에 따라 제1 가중치도 증가될 수 있다.
프로세서(180)는 사용자의 음성 로그 정보의 획득 횟수가 증가될 수록 제2 신뢰도를 증가시킬 수 있다. 제2 신뢰도가 증가됨에 따라 제2 가중치도 증가될 수 있다.
프로세서(180)는 제1 시간 및 제2 시간의 평균을 최종 대기 시간으로 결정할 수 있다.
이와 같이, 본 개시의 실시 예에 따르면, 기동어 인식 후, 연속된 음성 명령의 인식을 위한 대기 시간을 사용자의 발화 패턴에 맞게 변경하여, 사용자에게 최적화된 대기 시간을 제공할 수 있다.
도 12는 본 개시의 실시 예에 따라 사용자가 발화한 기동어의 인식 후, 음성 에이전트가 동작 명령어를 인식하기 위해 대기하는 대기 시간을 증가시킨 시나리오를 설명하는 도면이다.
사용자는 기동어를 발화한다. 음성 에이전트는 기동어를 인식하고, 기동 상태를 표시한다. 음성 에이전트는 기동어를 인식한 후, 동작 명령의 인식을 대기한다.
음성 에이전트는 미리 정해진 고정 대기 시간 동안 동작 명령어를 인식할수 있는 활성화 상태에 있다.
사용자는 음성 에이전트의 기동을 확인하고, 동작 명령인 음성 명령을 발화한다.
음성 에이전트는 대기 시간 내에 사용자가 발화한 음성 명령을 수신하고, 음성 명령의 의도를 파악한 후, 파악한 의도에 기반하여 피드백을 출력한다.
동시에, 음성 에이전트는 기존의 대기 시간을 음성 명령의 분석에 맞는 대기 시간으로 증가시킬 수 있다.
음성 에이전트는 늘어난 대기 시간으로 추가 음성 명령을 인식할 수 있고, 추가 음성 명령에 대응하는 피드백을 사용자에게 제공할 수 있다.
이에 따라, 사용자는 추가적으로 기동어를 발화해야 할 필요가 없게 되어, 음성 인식 서비스의 사용자 경험이 크게 향상될 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 상기 컴퓨터는 인공 지능 기기의 프로세서(180)를 포함할 수도 있다.

Claims (11)

  1. 인공 지능 기기에 있어서,
    마이크로폰; 및
    상기 마이크로폰을 통해 수신된 기동 명령어를 인식하고, 상기 기동 명령어의 인식 후, 상기 마이크로폰을 통해 제1 음성 명령을 수신하고, 제1 음성 명령의 의도 분석 결과를 나타내는 제1 분석 결과 정보를 획득하고, 상기 제1 분석 결과 정보에 기초하여, 상기 인공 지능 기기가 상기 기동 명령어의 인식 후, 추가 음성 명령의 수신을 위해 대기하는 시간인 제1 대기 시간을 추론하는 프로세서를 포함하는
    인공 지능 기기.
  2. 제1항에 있어서,
    상기 프로세서는
    기 설정된 대기 시간과 상기 추론된 제1 대기 시간을 비교하고, 상기 제1 대기 시간이 더 큰 경우, 상기 기 설정된 대기 시간을 상기 제1 대기 시간으로 변경하는
    인공 지능 기기.
  3. 제2항에 있어서,
    상기 프로세서는
    상기 제1 대기 시간 내에 상기 마이크로폰을 통해 제2 음성 명령을 수신하고, 수신된 제2 음성 명령의 의도 분석 결과를 나타내는 제2 분석 결과 정보를 획득하는
    인공 지능 기기.
  4. 제3항에 있어서,
    상기 프로세서는
    복수의 의도들 각각에 상응하는 복수의 노드들 및 상기 복수의 노들 간의 계층 관계를 나타내는 명령 계층 구조에 상기 제1 분석 결과 정보에 상응하는 제1 의도를 할당하고,
    할당 결과에 기반하여, 추가 음성 명령이 입력될 제1 확률을 계산하고, 계산된 제1 확률에 상응하는 시간을 상기 제1 대기 시간으로 결정하는
    인공 지능 기기.
  5. 제4항에 있어서,
    복수의 확률들 및 복수의 확률들 각각에 상응하는 복수의 대기 시간들 간의 대응 관계를 나타내는 룩업 테이블을 저장하는 메모리를 더 포함하고,
    상기 프로세서는 상기 룩업 테이블을 이용하여, 상기 제1 확률에 매칭된 제2 대기 시간을 결정하는
    인공 지능 기기.
  6. 제4항에 있어서,
    상기 프로세서는
    상기 제1 음성 명령 및 상기 제2 음성 명령을 포함하는 사용자의 음성 로그 정보에 기반하여 명령들 간 인터벌 및 연관성 정도를 획득하고,
    획득된 인터벌 및 연관성 정도에 기반하여 제2 대기 시간을 추론하는
    인공 지능 기기.
  7. 제6항에 있어서,
    상기 인터벌은
    상기 제1 음성 명령에 상응하는 제1 피드백의 출력 후, 상기 제2 음성 명령이 입력되기까지, 걸린 시간이고,
    상기 연관성 정도는
    상기 명령 계층 구조에서 상기 제1 음성 명령에 상응하는 제1 노드 및 상기 제2 음성 명령에 상응하는 제2 노드 간의 거리를 나타내는
    인공 지능 기기.
  8. 제6항에 있어서,
    상기 프로세서는
    상기 제1 대기 시간 및 상기 제2 대기 시간에 기반하여 최종 대기 시간을 결정하는
    인공 지능 기기.
  9. 제8항에 있어서,
    상기 프로세서는
    상기 제1 대기 시간 및 상기 제2 대기 시간 각각에 가중치를 적용하여, 가중치 적용의 결과에 따라 상기 최종 대기 시간을 결정하는
    인공 지능 기기.
  10. 인공 지능 기기의 동작 방법에 있어서,
    기동 명령어를 수신하는 단계;
    상기 기동 명령어의 인식 후, 제1 음성 명령을 수신하는 단계;
    제1 음성 명령의 의도 분석 결과를 나타내는 제1 분석 결과 정보를 획득하는 단계; 및
    상기 제1 분석 결과 정보에 기초하여, 상기 인공 지능 기기가 상기 기동 명령어의 인식 후, 추가 음성 명령의 수신을 위해 대기하는 시간인 제1 대기 시간을 추론하는 단계를 포함하는
    인공 지능 기기의 동작 방법.
  11. 인공 지능 기기의 동작 방법을 수행하기 위한 컴퓨터로 읽을 수 있는 프로그램이 저장된 비활성 기록 매체에 있어서,
    상기 동작 방법은
    기동 명령어를 수신하는 단계;
    상기 기동 명령어의 인식 후, 제1 음성 명령을 수신하는 단계;
    제1 음성 명령의 의도 분석 결과를 나타내는 제1 분석 결과 정보를 획득하는 단계; 및
    상기 제1 분석 결과 정보에 기초하여, 상기 인공 지능 기기가 상기 기동 명령어의 인식 후, 추가 음성 명령의 수신을 위해 대기하는 시간인 제1 대기 시간을 추론하는 단계를 포함하는
    비 활성 기록매체.
PCT/KR2022/095006 2022-01-10 2022-01-10 인공 지능 기기 WO2023132574A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/095006 WO2023132574A1 (ko) 2022-01-10 2022-01-10 인공 지능 기기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2022/095006 WO2023132574A1 (ko) 2022-01-10 2022-01-10 인공 지능 기기

Publications (1)

Publication Number Publication Date
WO2023132574A1 true WO2023132574A1 (ko) 2023-07-13

Family

ID=87073829

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/095006 WO2023132574A1 (ko) 2022-01-10 2022-01-10 인공 지능 기기

Country Status (1)

Country Link
WO (1) WO2023132574A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110072847A (ko) * 2009-12-23 2011-06-29 삼성전자주식회사 열려진 사용자 의도 처리를 위한 대화관리 시스템 및 방법
KR20180084392A (ko) * 2017-01-17 2018-07-25 삼성전자주식회사 전자 장치 및 그의 동작 방법
KR20190022109A (ko) * 2017-08-25 2019-03-06 삼성전자주식회사 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치
US20190387314A1 (en) * 2017-08-01 2019-12-19 Eaton Intelligent Power Limited Lighting System With Remote Microphone
CN111583926A (zh) * 2020-05-07 2020-08-25 珠海格力电器股份有限公司 基于烹饪设备的连续语音交互方法、装置和烹饪设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110072847A (ko) * 2009-12-23 2011-06-29 삼성전자주식회사 열려진 사용자 의도 처리를 위한 대화관리 시스템 및 방법
KR20180084392A (ko) * 2017-01-17 2018-07-25 삼성전자주식회사 전자 장치 및 그의 동작 방법
US20190387314A1 (en) * 2017-08-01 2019-12-19 Eaton Intelligent Power Limited Lighting System With Remote Microphone
KR20190022109A (ko) * 2017-08-25 2019-03-06 삼성전자주식회사 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치
CN111583926A (zh) * 2020-05-07 2020-08-25 珠海格力电器股份有限公司 基于烹饪设备的连续语音交互方法、装置和烹饪设备

Similar Documents

Publication Publication Date Title
WO2020060325A1 (ko) 전자 장치, 시스템 및 음성 인식 서비스 이용 방법
WO2019182226A1 (en) System for processing sound data and method of controlling system
WO2019039834A1 (en) METHOD FOR PROCESSING VOICE DATA AND ELECTRONIC DEVICE SUPPORTING SAID METHOD
WO2019078588A1 (ko) 전자 장치 및 그의 동작 방법
WO2020246634A1 (ko) 다른 기기의 동작을 제어할 수 있는 인공 지능 기기 및 그의 동작 방법
WO2018043991A1 (en) Speech recognition method and apparatus based on speaker recognition
WO2020197166A1 (en) Electronic device providing response and method of operating same
WO2020196955A1 (ko) 인공 지능 기기 및 인공 지능 기기의 동작 방법
WO2020230926A1 (ko) 인공 지능을 이용하여, 합성 음성의 품질을 평가하는 음성 합성 장치 및 그의 동작 방법
WO2020218650A1 (ko) 전자기기
WO2020085794A1 (en) Electronic device and method for controlling the same
WO2020105856A1 (en) Electronic apparatus for processing user utterance and controlling method thereof
WO2019172627A1 (en) System for processing user utterance and controlling method thereof
WO2020226213A1 (ko) 음성 인식 기능을 제공하는 인공 지능 기기, 인공 지능 기기의 동작 방법
WO2019017715A1 (en) ELECTRONIC DEVICE AND SYSTEM FOR DETERMINING SPEECH INPUT RECEIVING TIME BASED ON CONTEXTUAL INFORMATION
AU2019319322B2 (en) Electronic device for performing task including call in response to user utterance and operation method thereof
WO2021225403A1 (en) Electronic device for speech recognition and method of speech recognition using thereof
WO2020263016A1 (ko) 사용자 발화를 처리하는 전자 장치와 그 동작 방법
EP3766232A1 (en) Electronic device and method of executing function of electronic device
WO2018174445A1 (ko) 파셜 랜딩 후 사용자 입력에 따른 동작을 수행하는 전자 장치
WO2020218635A1 (ko) 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 및 컴퓨터로 판독 가능한 기록 매체
EP3841460A1 (en) Electronic device and method for controlling the same
WO2019039873A1 (ko) Tts 모델을 생성하는 시스템 및 전자 장치
WO2023085584A1 (en) Speech synthesis device and speech synthesis method
WO2020076089A1 (en) Electronic device processing user utterance and control method thereof

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

Country of ref document: EP

Kind code of ref document: A1