WO2019078588A1 - 전자 장치 및 그의 동작 방법 - Google Patents

전자 장치 및 그의 동작 방법 Download PDF

Info

Publication number
WO2019078588A1
WO2019078588A1 PCT/KR2018/012202 KR2018012202W WO2019078588A1 WO 2019078588 A1 WO2019078588 A1 WO 2019078588A1 KR 2018012202 W KR2018012202 W KR 2018012202W WO 2019078588 A1 WO2019078588 A1 WO 2019078588A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
electronic device
command
wake
processor
Prior art date
Application number
PCT/KR2018/012202
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 US16/756,894 priority Critical patent/US11551683B2/en
Publication of WO2019078588A1 publication Critical patent/WO2019078588A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3231Monitoring the presence, absence or movement of users
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/60Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for measuring the quality of voice signals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • Various embodiments of the present invention are directed to an electronic device and method of operation thereof, and more particularly to an apparatus and method for providing a voice recognition service.
  • the electronic device can provide various services in order to increase the convenience of the user.
  • the electronic device can provide various multimedia services such as a broadcasting service, a wireless Internet service, a camera service, and a voice reproduction service.
  • the electronic device may provide various information (such as weather, news, and the like) according to the user's voice command, or a specific function (e.g., music playback, memo, telephone connection, etc.) Can be performed.
  • various information such as weather, news, and the like
  • a specific function e.g., music playback, memo, telephone connection, etc.
  • the quality of the voice recognition service may be limited due to the limitation of the performance of an audio output device (e.g., a speaker) provided in the electronic device. Further, as the electronic device has to have a speaker, there is a problem that the volume of the electronic device becomes large, the production cost increases, and the electric power consumed by the electronic device also increases.
  • an audio output device e.g., a speaker
  • Various embodiments of the present invention disclose methods for providing speech recognition services through an electronic device that can be coupled to a separate audio output device.
  • an electronic device includes a circular top surface comprising a plurality of openings of a selected pattern, a flat circular bottom surface, and a side surface surrounding the space between the top surface and the bottom surface
  • An audio output interface formed on the side surface, a power input interface formed on the side surface, a microphone located inside the housing and facing the openings, a wireless communication circuit, an audio output interface, a power input interface, a microphone,
  • a memory operably coupled to the processor, wherein the memory is operable to cause the processor to perform a wake-up command via the microphone when the processor is in operation.
  • the wake-up command recognizes the wake-up command, and transmits the wake-up command to the wake- Receive a response from the server via the communication circuit, generate a first audio signal based on the response, and transmit the audio signal through the audio output interface while the microphone is available And may store instructions to cause the first audio signal to be output, and the audio signal may be a non-language sound.
  • a server includes a communication circuit, a processor operatively coupled to the communication circuit, and a memory operably coupled to the processor, wherein the memory, in execution, Up command from each of a plurality of electronic devices via the communication circuit, and to receive a first electronic device of the plurality of electronic devices based on the information, Wherein the information is indicative of the wake-up command being received and the wake-up command is received by the first electronic device, wherein the wake- And information indicating the quality of the up command.
  • a method of operating an electronic device comprises: receiving a wake-up command through a microphone of the electronic device; recognizing the wake-up command; The method comprising: transmitting information associated with receipt of the wake-up command through a communication circuit of the electronic device to a server; receiving a response from the server via the communication circuit; And outputting the first audio signal through the audio output interface of the electronic device while the microphone is available, the audio signal being a non-language sound, Lt; / RTI >
  • a method of operating a server includes receiving information associated with receiving a wake-up command from each of a plurality of electronic devices via a communication circuit of the server, Determining a first one of the plurality of electronic devices as an input / output device based on the information, generating a response to the information, and transmitting the response via the communication circuit to the first electronic device
  • the information may include information indicating that the wake-up command is received and information indicating the quality of the wake-up command.
  • the various embodiments of the present invention can provide a voice recognition service of a quality suitable for a user's taste by providing a voice recognition service through an electronic device that can be connected to a separate audio output device.
  • FIG. 1 is a diagram of an integrated intelligence system in accordance with various embodiments of the present invention.
  • FIG. 2 is a block diagram illustrating a user terminal of an integrated intelligent system according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating execution of an intelligent app of a user terminal according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating the context module of the intelligent service module collecting current status according to an embodiment of the present invention.
  • FIG. 5 is a block diagram illustrating a proposal module of an intelligent service module according to an embodiment of the present invention.
  • FIG. 6 is a block diagram illustrating an intelligent server of an integrated intelligent system according to an embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a method of generating a path rule by a natural language understanding (NLU) module according to an embodiment of the present invention.
  • NLU natural language understanding
  • FIG. 8 is a diagram illustrating that a persona module of an intelligent service module manages information of a user according to an exemplary embodiment of the present invention.
  • FIG. 9 is a conceptual diagram illustrating a system for processing voice commands in accordance with various embodiments of the present invention.
  • FIG. 10 is a block diagram of an electronic device in accordance with various embodiments of the present invention.
  • FIG. 11 is a block diagram of a server in accordance with various embodiments of the present invention.
  • Figure 12 is a flow chart illustrating a method of waking up an electronic device in accordance with various embodiments of the present invention.
  • Figure 13 is a flow chart illustrating a method for determining the state of an audio output device coupled to an electronic device in accordance with various embodiments of the present invention.
  • FIG. 14 is a flow chart illustrating a method of processing voice commands in an electronic device woken up according to various embodiments of the present invention.
  • 15 is a flow chart illustrating a method for requesting a change of an input / output device in an electronic device according to various embodiments of the present invention.
  • 16 is a flowchart illustrating a method for determining an input / output device to process a voice command in a server according to various embodiments of the present invention.
  • 17 is a flow chart illustrating a method of processing voice commands at a server in accordance with various embodiments of the present invention.
  • FIG. 18 is a flowchart illustrating a method for changing an input / output device for processing a voice command in a server according to various embodiments of the present invention.
  • 19 is an illustration of an example of a system for processing voice commands in accordance with various embodiments of the present invention.
  • 20 is a diagram for explaining another example of a system for processing voice commands according to various embodiments of the present invention.
  • FIG. 1 is a diagram of an integrated intelligence system in accordance with various embodiments of the present invention.
  • the integrated intelligent system 10 may include a user terminal 100, an intelligent server 200, a personalization information server 300, or a proposal server 400.
  • the user terminal 100 can receive a service required by the user through an app stored in the user terminal 100 (or an application program) (e.g., an alarm app, a message app, a photo (gallery) Can be provided.
  • the user terminal 100 may execute and operate another application through an intelligent app (or a voice recognition app) stored in the user terminal 100.
  • the user terminal 100 can receive the user input for executing the other application and executing the operation through the intelligent app.
  • the user input may be received via, for example, a physical button, a touchpad, a voice input, a remote input, or the like.
  • the user terminal 100 may correspond to various terminal devices (or electronic devices) such as a mobile phone, a smart phone, a personal digital assistant (PDA), or a notebook computer.
  • PDA personal digital assistant
  • the user terminal 100 may receive the user's utterance as a user input.
  • the user terminal 100 may receive a user's utterance and generate an instruction to operate the app based on the utterance of the user. Accordingly, the user terminal 100 can operate the application using the command.
  • the intelligent server 200 can receive user voice input from the user terminal 100 through a communication network and change the text data into text data.
  • the intelligent server 200 may generate (or select) a path rule based on the text data.
  • the pass rule may include information about an action (or an operation) for performing the function of the app or information about a parameter necessary for executing the action.
  • the pass rule may include a sequence of the actions of the app.
  • the user terminal 100 may receive the pass rule, select an app according to the pass rule, and execute the action included in the pass rule in the selected app.
  • path rule in this document may generally refer to a sequence of states for an electronic device to perform a task requested by a user, but is not limited thereto.
  • the pass rule may include information about a sequence of states.
  • the task may be, for example, any action an intelligent app can provide.
  • the task may include creating a schedule, sending a photo to a desired party, or providing weather information.
  • the user terminal 100 can perform the task by sequentially having at least one state (e.g., an operating state of the user terminal 100).
  • the pass rules may be provided or generated by an artificial intelligent (AI) system.
  • the artificial intelligence system may be a rule-based system, a neural network-based system such as a feedforward neural network (FNN), a recurrent neural network (RNN) ))). Or a combination of the foregoing or any other artificial intelligence system.
  • a path rule may be selected from a set of predefined path rules, or may be generated in real time in response to a user request.
  • the artificial intelligence system can select at least a path rule out of a plurality of predefined path rules, or generate a pass rule in a dynamic (or real time) manner.
  • the user terminal 100 may use a hybrid system to provide path rules.
  • the user terminal 100 may execute the operation and display a screen corresponding to the state of the user terminal 100 that performed the operation on the display.
  • the user terminal 100 may execute the operation and may not display the result of performing the operation on the display.
  • the user terminal 100 may, for example, execute a plurality of operations and display only some of the results of the operations on the display.
  • the user terminal 100 can display, for example, only the result of executing the last sequence of operations on the display.
  • the user terminal 100 may receive a user's input and display the result of performing the operation on the display.
  • the personalization information server 300 may include a database storing user information.
  • the personalization information server 300 may receive user information (e.g., context information, application execution, etc.) from the user terminal 100 and store the information in the database.
  • the intelligent server 200 can be used when receiving the user information from the personalization information server 300 through a communication network and generating a pass rule for user input.
  • the user terminal 100 can receive user information from the personalization information server 300 via a communication network and use the information as information for managing the database.
  • the proposal server 400 may include a database in which information about an introduction of a function or an application or a function to be provided is stored in the terminal.
  • the proposal server 400 may receive a user information of the user terminal 100 from the personalization information server 300 and include a database of functions that the user can use.
  • the user terminal 100 may receive information on the function to be provided from the proposal server 400 through a communication network and provide information to the user.
  • FIG. 2 is a block diagram illustrating a user terminal of an integrated intelligent system according to an embodiment of the present invention.
  • a user terminal 100 may include an input module 110, a display 120, a speaker 130, a memory 140, or a processor 150.
  • the user terminal 100 may further include a housing, and the configurations of the user terminal 100 may be placed on the inside of the housing or on the housing.
  • the user terminal 100 may further include a communication circuit located inside the housing.
  • the user terminal 100 can exchange data (or information) with an external server (e.g., the intelligent server 200) through the communication circuit.
  • input module 110 may receive user input from a user.
  • input module 110 may receive user input from a connected external device (e.g., keyboard, headset).
  • input module 110 may include a touch screen (e.g., a touch screen display) coupled with display 120.
  • the input module 110 may include a hardware key (or physical key) located at the user terminal 100 (or the housing of the user terminal 100).
  • the input module 110 may include a microphone capable of receiving a user's utterance as a speech signal.
  • the input module 110 may include a speech input system, and may receive a speech of a user via the speech input system.
  • the microphone may be exposed, for example, through a portion (e.g., a first portion) of the housing.
  • the display 120 may display an image of an image, video, and / or application executable.
  • the display 120 may display a graphical user interface (GUI) of the app.
  • GUI graphical user interface
  • the display 120 may be exposed through a portion (e.g., a second portion) of the housing.
  • the speaker 130 may output a voice signal.
  • the speaker 130 may output a voice signal generated inside the user terminal 100 to the outside.
  • the speaker 130 may be exposed through a portion (e.g., a third portion) of the housing.
  • the memory 140 may store a plurality of applications (or application program application programs) 141 and 143.
  • the plurality of apps 141 and 143 may be, for example, a program for performing a function corresponding to a user input.
  • the memory 140 may store the intelligent agent 145, the execution manager module 147, or the intelligent service module 149.
  • the intelligent agent 145, the execution manager module 147 and the intelligent service module 149 may be implemented as a framework for processing received user input (e.g., user utterances) (application framework).
  • the memory 140 may include a database capable of storing information necessary to recognize user input.
  • the memory 140 may include a log database capable of storing log information.
  • the memory 140 may include a persona database capable of storing user information.
  • the memory 140 stores a plurality of apps 141 and 143, and a plurality of apps 141 and 143 can be loaded and operated.
  • a plurality of applications 141 and 143 stored in the memory 140 can be loaded and operated by the execution manager module 147.
  • the plurality of apps 141 and 143 may include execution service modules 141a and 143a that perform functions.
  • a plurality of apps 141, 143 may execute a plurality of actions (e.g., sequences of states) 141b, 143b through execution service modules 141a, 143a to perform a function.
  • the execution service modules 141a and 143a are activated by the execution manager module 147 and can execute a plurality of operations 141b and 143b.
  • the execution status screen when the operations 141b and 143b of the applications 141 and 143 are executed, the execution status screen according to the execution of the operations 141b and 143b may be displayed on the display 120.
  • the execution status screen may be, for example, a screen in which operations 141b and 143b are completed.
  • the execution status screen may be, for example, a screen in which partial execution of operations 141b and 143b is stopped (e.g., when parameters necessary for operations 141b and 143b are not input) .
  • the execution service module 141a, 143a may execute operations 141b, 143b in accordance with a path rule.
  • the execution service module 141a, 143a is activated by the execution manager module 147, receives an execution request according to the pass rule from the execution manager module 147, And 143b, the functions of the apps 141 and 143 can be executed.
  • the execution service modules 141a and 143a may transmit the completion information to the execution manager module 147 when the operations 141b and 143b are completed.
  • the plurality of operations 141b and 143b can be executed sequentially.
  • the execution service modules 141a and 143a perform the following operations (for example, the first application 141 and the second application 143) when execution of one operation (for example, operation 1 of the first application 141 and operation 1 of the second application 143) (Operation 2 of the second application 143 and operation 2 of the second application 143) and transmits the completion information to the execution manager module 147.
  • opening an arbitrary operation can be understood as transitioning an arbitrary operation to an executable state or preparing for execution of an arbitrary operation. In other words, if an operation is not opened, the operation can not be executed.
  • the execution manager module 147 can transmit an execution request for the next operation (for example, operation 2 of the first application 141 and operation 2 of the second application 143) to the execution service module when the completion information is received .
  • a plurality of apps 141 and 143 can be sequentially executed. For example, when the execution of the last operation of the first application 141 (for example, operation 3 of the first application 141) is completed and the completion information is received, the execution manager module 147 transmits the completion information to the second application 143, (E.g., operation 1 of the second application 143) to the execution service 143a.
  • a result screen corresponding to execution of each of the plurality of executed operations 141b and 143b is displayed on the display 120 Can be displayed.
  • only a part of a plurality of result screens resulting from the execution of the plurality of executed operations 141b and 143b may be displayed on the display 120.
  • the memory 140 may store an intelligent app (e.g., a voice recognition app) associated with the intelligent agent 145.
  • An application associated with the intelligent agent 145 can receive and process a user's utterance as a voice signal.
  • an application associated with the intelligent agent 145 is operated by a particular input (e.g., input via a hardware key, input via a touch screen, specific voice input) input via the input module 110 .
  • the intelligent agent 145, execution manager module 147, or intelligent service module 149 stored in the memory 140 may be executed by the processor 150.
  • the functions of the intelligent agent 145, execution manager module 147, or intelligent service module 149 may be implemented by the processor 150.
  • the functions of the intelligent agent 145, the execution manager module 147 and the intelligent service module 149 will be described by the operation of the processor 150.
  • the intelligent agent 145, execution manager module 147, or intelligent service module 149 stored in the memory 140 may be implemented in hardware as well as software.
  • the processor 150 may control the overall operation of the user terminal 100.
  • the processor 150 may control the input module 110 to receive user input.
  • the processor 150 may control the display 120 to display an image.
  • the processor 150 may control the speaker 130 to output a voice signal.
  • the processor 150 may control the memory 140 to execute the program and retrieve or store the necessary information.
  • the processor 150 may execute the intelligent agent 145, the execution manager module 147, or the intelligent service module 149 stored in the memory 140. Accordingly, the processor 150 may implement the functions of the intelligent agent 145, the execution manager module 147, or the intelligent service module 149.
  • the processor 150 may execute the intelligent agent 145 to generate an instruction to operate the app based on the voice signal received at the user input.
  • the processor 150 may execute the execution manager module 147 to execute the apps 141 and 143 stored in the memory 140 according to the generated command.
  • the processor 150 may execute the intelligent service module 149 to manage user information and process user input using the information of the user.
  • Processor 150 may execute intelligent agent 145 to send user input received via input module 110 to intelligent server 200 and process the user input through intelligent server 200.
  • the processor 150 may execute the intelligent agent 145 to pre-process the user input before transmitting the user input to the intelligent server 200.
  • the intelligent agent 145 may include an adaptive echo canceller (AEC) module, a noise suppression (NS) module, an end-point detection (EPD) module or an automatic gain control (AGC) module.
  • the adaptive echo canceller may remove an echo included in the user input.
  • the noise suppression module may suppress background noise included in the user input.
  • the end point detection module detects the end point of the user voice included in the user input and can use the detected end point to find the portion where the user's voice exists.
  • the automatic gain control module may recognize the user input and adjust the volume of the user input to be suitable for processing the recognized user input.
  • the processor 150 may execute all of the preprocessing configurations for performance, while in other embodiments, the processor 150 may execute some of the preprocessing configurations to operate at low power.
  • the intelligent agent 145 may execute a wake up recognition module stored in the memory 140 to recognize the user's call. Accordingly, the processor 150 can recognize the wake-up command of the user via the wake-up recognition module and execute the intelligent agent 145 to receive the user input when the wakeup command is received .
  • the wake-up recognition module may be implemented with a low-power processor (e.g., a processor included in an audio codec).
  • the processor 150 may execute the intelligent agent 145 when it receives user input via a hardware key.
  • an intelligent app e.g., a voice recognition app associated with the intelligent agent 145 may be executed.
  • the intelligent agent 145 may include a speech recognition module for performing user input.
  • the processor 150 may recognize a user input to cause the application to perform an action through the speech recognition module.
  • the processor 150 may receive a limited user (voice) input (e.g., a photographing operation when the camera app is running) that performs an action, such as the wake-up command, Such as " click "
  • the processor 150 may assist the intelligent server 200 and recognize the user command that can be processed in the user terminal 100 through the voice recognition module and perform quick processing.
  • the voice recognition module of the intelligent agent 145 for executing user input may be implemented in an app processor.
  • the voice recognition module of the intelligent agent 145 may recognize the user input using an algorithm for voice recognition.
  • the algorithm used to recognize the speech may be at least one of, for example, a hidden markov model (HMM) algorithm, an artificial neural network (ANN) algorithm, or a dynamic time warping (DTW) algorithm.
  • HMM hidden markov model
  • ANN artificial neural network
  • DTW dynamic time warping
  • the processor 150 may execute the intelligent agent 145 to convert the user's speech input into text data. For example, the processor 150 may transmit the user's voice to the intelligent server 200 via the intelligent agent 145 and may receive the textual data corresponding to the user's voice from the intelligent server 200. [ Accordingly, the processor 150 may display the converted text data on the display 120. [
  • the processor 150 may execute the intelligent agent 145 to receive path rules from the intelligent server 200. According to one embodiment, the processor 150 may communicate the pass rule to the execution manager module 147 via the intelligent agent 145.
  • the processor 150 executes the intelligent agent 145 to pass an execution result log according to the path rules received from the intelligent server 200 to the intelligence service module 149 And the delivered execution result log may be accumulated and managed in the preference information of the user of the persona manager 149b.
  • the processor 150 executes the execution manager module 147 to receive the path rules from the intelligent agent 145 to execute the apps 141 and 143, It is possible to execute the operations 141b and 143b included in the rule. For example, the processor 150 can transmit command information (e.g., path rule information) for executing operations 141b and 143b to the apps 141 and 143 via the execution manager module 147, The completion information of the operations 141b and 143b can be received from the apps 141 and 143.
  • command information e.g., path rule information
  • the processor 150 executes the execution manager module 147 to execute the operations 141b and 143b of the applications 141 and 143 between the intelligent agent 145 and the applications 141 and 143 (E.g., path rule information) to be transmitted.
  • the processor 150 binds the applications 141 and 143 to be executed according to the path rule through the execution manager module 147 and sets the command information of the operations 141b and 143b included in the path rule Path rule information) to the apps 141 and 143.
  • the processor 150 sequentially transmits the actions 141b and 143b included in the pass rule to the apps 141 and 143 through the execution manager module 147, (141b, 143b) can be sequentially executed in accordance with the path rule.
  • the processor 150 may execute the execution manager module 147 to manage the execution states of the operations 141b and 143b of the applications 141 and 143.
  • the processor 150 may receive information on the execution status of the operations 141b and 143b from the apps 141 and 143 via the execution manager module 147.
  • the processor 150 executes
  • the manager module 147 may pass information about the suspended state to the intelligent agent 145.
  • the processor 150 may request the user to input necessary information (e.g., parameter information) using the received information through the intelligent agent 145.
  • the processor 150 may receive speech from the user via the intelligent agent 145 if the execution state of the actions 141b and 143b is another, for example, an operational state.
  • the processor 150 may communicate information about the execution status of the applications 141 and 143 and the applications 141 and 143 to the intelligent agent 145 through the execution manager module 147.
  • the processor 150 may send the user utterance to the intelligent server 200 via the intelligent agent 145.
  • the processor 150 may receive parameter information of the user's utterance from the intelligent server 200 via the intelligent agent 145.
  • the processor 150 may communicate the received parameter information to the execution manager module 147 via the intelligent agent 145.
  • the execution manager module 147 can change the parameters of the operations 141b and 143b to new parameters using the received parameter information.
  • the processor 150 may execute the execution manager module 147 to transfer the parameter information contained in the path rule to the apps 141 and 143.
  • the execution manager module 147 can transmit parameter information included in the path rule from one application to another.
  • the processor 150 may execute the execution manager module 147 to receive a plurality of pass rules.
  • the processor 150 may select a plurality of pass rules based on the user's utterance via the execution manager module 147.
  • the processor 150 may determine that the user's utterance via the execution manager module 147 specifies some apps 141 that will perform some actions 141a, but other apps 143 that will execute the remaining actions 143b If not specified, a different app 143 (e.g., a message app, a telegram app) that can execute the same app 141 (e.g., a gallery app) ) Can be received, respectively.
  • a different app 143 e.g., a message app, a telegram app
  • the same app 141 e.g., a gallery app
  • the processor 150 may execute the same operations 141b and 143b (e.g., the same successive operations 141b and 143b) of the plurality of pass rules via the execution manager module 147, for example.
  • the processor 150 displays a status screen on the display 120 through which the different applications 141 and 143 included in the plurality of path rules can be selected through the execution manager module 147 Can be displayed.
  • the intelligent service module 149 may include a context module 149a, a persona module 149b, or a suggestion module 149c.
  • the processor 150 may execute the context module 149a to collect the current status of the apps 141 and 143 from the apps 141 and 143.
  • the processor 150 executes the context module 149a to receive the context information indicating the current status of the apps 141 and 143, and displays the current status of the apps 141 and 143 Can be collected.
  • the processor 150 may execute the persona module 149b to manage the personal information of the user using the user terminal 100.
  • the processor 150 executes the persona module 149b to collect usage information and performance results of the user terminal 100, and collects usage information and performance results of the user terminal 100, The personal information of the user can be managed.
  • the processor 150 may execute the proposal module 149c to predict the user's intention and recommend the command to the user based on the intention of the user.
  • the processor 150 may run the suggestion module 149c to recommend commands to the user based on the user's current state (e.g., time, location, context, app).
  • FIG. 3 is a diagram illustrating execution of an intelligent app of a user terminal according to an embodiment of the present invention.
  • the user terminal 100 receives user input and executes an intelligent application (e.g., a voice recognition application) associated with the intelligent agent 145.
  • an intelligent application e.g., a voice recognition application
  • the user terminal 100 may execute an intelligent app for voice recognition via the hardware key 112.
  • the user terminal 100 may display the user interface (UI) 121 of the intelligent app on the display 120 when the user input is received via the hardware key 112.
  • the user can touch the voice recognition button 121a to the UI 121 of the intelligent app to input (111b) voice, for example, while the UI 121 of the intelligent app is displayed on the display 120 .
  • the user may, for example, continue to press the hardware key 112 to enter voice 120b to enter voice 120b.
  • the user terminal 100 may execute an intelligent app for recognizing voice through the microphone 111.
  • the user terminal 100 displays the UI 121 of the intelligent app on the display 120 when a voice (e.g., wake up!) Designated via the microphone 111 is input 111a can do.
  • FIG. 4 is a diagram illustrating the context module of the intelligent service module collecting current status according to an embodiment of the present invention.
  • the processor 150 when the context request is received from the intelligent agent 145 (1), the processor 150 requests the context information indicating the current status of the applications 141 and 143 through the context module 149a )can do. According to one embodiment, the processor 150 may receive (3) the context information from the applications 141 and 143 via the context module 149a and transmit (4) it to the intelligent agent 145.
  • the processor 150 may receive a plurality of context information from the applications 141 and 143 via the context module 149a.
  • the context information may be, for example, information on the most recently executed apps 141 and 143.
  • the context information may, for example, be information about the current state in the apps 141 and 143 (e.g., information about the photo if the user is viewing the photo in the gallery).
  • the processor 150 can receive context information indicating the current state of the user terminal 100 from the device platform as well as the applications 141 and 143 via the context module 149a have.
  • the context information may include general context information, user context information, or device context information.
  • the general context information may include general information of the user terminal 100.
  • the general context information may be received through the sensor hub of the device platform or the like and may be confirmed through an internal algorithm.
  • the general context information may include current time and space information.
  • the information on the current time and space may include information on the current time or the current position of the user terminal 100, for example.
  • the current time can be confirmed through time on the user terminal 100, and information on the current position can be confirmed through a global positioning system (GPS).
  • GPS global positioning system
  • the general context information may include information about physical motion.
  • the information on the physical movement may include information on, for example, walking, running, driving, and the like.
  • the physical motion information may be identified through a motion sensor.
  • the information on the driving operation can be confirmed not only through the motion sensor but also through the Bluetooth connection in the vehicle to confirm boarding and parking.
  • the general context information may include user activity information.
  • the user activity information may include information on commute, shopping, trip, and the like, for example.
  • the user activity information can be confirmed using information about a place where a user or an application registers in the database.
  • the user context information may include information about a user.
  • the user context information may include information on a user's emotional state.
  • the information on the emotional state may include, for example, information about a user's happiness, sadness, anger, etc.
  • the user context information may include information on the current state of the user.
  • the information on the current state may include information on, for example, interest, intention, etc. (e.g., shopping).
  • the device context information may include information on the status of the user terminal 100.
  • the device context information may include information about a path rule executed by the execution manager module 147.
  • the device information may include information about the battery. The information on the battery can be confirmed through, for example, the state of charge and discharge of the battery.
  • the device information may include information about connected devices and networks. Information about the connected device can be ascertained, for example, via a communication interface to which the device is connected.
  • FIG. 5 is a block diagram illustrating a proposal module of an intelligent service module according to an embodiment of the present invention.
  • the proposal module 149c includes a hint providing module 149c_1, a context hint generating module 149c_2, a condition checking module 149c_3, a condition model module 149c_4, a reuse hint generating module 149c_5, And a hint generation module 149c_6.
  • the processor 150 may execute a hint providing module 149c_1 to provide a hint to the user.
  • the processor 150 receives a hint generated from the context hint generation module 149c_2, the reuse hint generation module 149c_5 or the introduction hint generation module 149c_6 via the hint providing module 149c_1, Can be provided.
  • the processor 150 may execute the condition checking module 149c_3 or the condition model module 149c_4 to generate a hint that may be recommended according to the current state.
  • the processor 150 executes the condition checking module 149c_3 to receive the information corresponding to the current state, executes the condition model module 149c_4, and sets a condition model using the received information .
  • the processor 150 executes the condition model module 149c_4 to identify a time, a location, an application in use, and the like at the time of providing a hint to the user, Can be provided to the user in descending order.
  • the processor 150 may execute a reuse hint generation module 149c_5 to generate a hint that can be recommended according to frequency of use.
  • the processor 150 may execute a reuse hint generation module 149c_5 to generate a hint based on the usage pattern of the user.
  • the introductory hint generation module 149c_6 may generate a hint that introduces the user to a new feature or a feature often used by another user.
  • hints to introduce the new functionality may include an introduction to the intelligent agent 145 (e.g., how it works).
  • the context hint generation module 149c_2, the condition checking module 149c_3, the condition model module 149c_4, the reuse hint generation module 149c_5 or the introduction hint generation module 149c_6 of the proposal module 149c And may be included in the personalization information server 300.
  • the processor 150 may generate the context hint generation module 149c_2, the reuse hint generation module 149c_5, or the introduction hint generation module 149c_5 of the user personalization information server 300 through the hint providing module 149c_1 of the proposal module 149c May receive a hint from module 149c_6 and provide the received hint to the user.
  • the user terminal 100 may provide hints in accordance with the following sequence of processes. For example, when the processor 150 receives a request for providing a hint from the intelligent agent 145, the processor 150 may transmit the request for hint generation to the context hint generation module 149c_2 via the hint providing module 149c_1. Upon reception of the hint generation request, the processor 150 may receive information corresponding to the current state from the context module 149a and the persona module 149b through the condition checking module 149c_3.
  • the processor 150 transfers the received information to the condition model module 149c_4 through the condition checking module 149c_3 and notifies the condition model module 149c_4 of the hints provided to the user using the information through the condition model module 149c_4 Hints can be prioritized in order of high availability.
  • the processor 150 may check the condition through the context hint generation module 149c_2 and generate a hint corresponding to the current state.
  • the processor 150 may forward the generated hint to the hint providing module 149c_1 via the context hint generation module 149c_2.
  • the processor 150 may arrange the hint according to the rules specified via the hint providing module 149c_1 and forward the hint to the intelligent agent 145.
  • the processor 150 may generate a plurality of context hints through the hint providing module 149c_1, and may assign a priority to a plurality of context hints according to a specified rule. According to one embodiment, the processor 150 may first provide the user with a higher priority among the plurality of context hints via the hint providing module 149c_1.
  • the user terminal 100 may suggest hints based on frequency of use. For example, when the processor 150 receives the hint providing request from the intelligent agent 145, the processor 150 can transmit the hint creation request to the reuse hint generating module 149c_5 via the hint providing module 149c_1. Upon reception of the hint creation request, the processor 150 may receive user information from the persona module 149b through the reuse hint creation module 149c_5. For example, the processor 150 accesses the path rule included in the user's preference information of the persona module 149b via the reuse hint generation module 149c_5, the parameters included in the path rule, the frequency of execution of the application, Space-time information can be received.
  • the processor 150 may generate a hint corresponding to the received user information through the reuse hint generation module 149c_5.
  • the processor 150 may transmit the generated hint to the hint providing module 149c_1 through the reuse hint generating module 149c_5.
  • the processor 150 may arrange the hint via the hint providing module 149c_1 and forward the hint to the intelligent agent 145.
  • the user terminal 100 may propose a hint for a new function.
  • the processor 150 can transmit the request for hint generation to the introduction hint generation module 149c_6 via the hint providing module 149c_1.
  • the processor 150 may receive the introduction hint providing request from the proposal server 400 through the introduction hint generation module 149c_6 and receive the information on the function to be introduced from the proposal server 400.
  • the proposal server 400 may, for example, store information about a function to be introduced, and the hint list for the function to be introduced may be updated by a service operator.
  • the processor 150 may forward the generated hint to the hint providing module 149c_1 through the introduction hint generation module 149c_6.
  • the processor 150 may arrange the hint via the hint providing module 149c_1 and send () the hint to the intelligent agent 145.
  • the processor 150 may provide the user with the hints generated by the context hint generation module 149c_2, the reuse hint generation module 149c_5, or the introduction hint generation module 149c_6 through the proposal module 149c.
  • the processor 150 may display the generated hint through the proposal module 149c on an app that operates the intelligent agent 145 and receive an input from the user to select the hint from the user can do.
  • FIG. 6 is a block diagram illustrating an intelligent server of an integrated intelligent system according to an embodiment of the present invention.
  • the intelligent server 200 includes an automatic speech recognition (ASR) module 210, a natural language understanding (NLU) module 220, a path planner module 220, A dialogue manager (DM) module 240, a natural language generator (NLG) module 250 or a text to speech (TTS) module 260 can do.
  • the intelligent server 200 may include a communication circuit, a memory, and a processor.
  • the processor executes the instructions stored in the memory and generates an automatic speech recognition module 210, a natural language understanding module 220, a path planner module 230, a dialogue manager module 240, a natural language creation module 250,
  • the module 260 can be driven.
  • the intelligent server 200 can send and receive data (or information) with an external electronic device (e.g., the user terminal 100) through the communication circuit.
  • the natural language understanding module 220 or the path planner module 230 of the intelligent server 200 may generate a path rule.
  • an automatic speech recognition (ASR) module 210 may convert user input received from the user terminal 100 into text data.
  • ASR automatic speech recognition
  • the automatic speech recognition module 210 may convert user input received from the user terminal 100 into text data.
  • the automatic speech recognition module 210 may include a speech recognition module.
  • the speech recognition module may include an acoustic model and a language model.
  • the acoustic model may include information related to speech
  • the language model may include information on a combination of unit phoneme information and unit phoneme information.
  • the speech recognition module may convert user speech into text data using information on vocalization and information on unit phonemic information.
  • the information about the acoustic model and the language model may be stored in, for example, an automatic speech recognition database (ASR DB)
  • ASR DB automatic speech recognition database
  • the natural language understanding module 220 can perform a syntactic analysis or a semantic analysis to grasp a user's intention.
  • the grammatical analysis can divide the user input into grammatical units (e.g., words, phrases, morphemes, etc.) and determine what grammatical elements the divided units have.
  • the semantic analysis can be performed using semantic matching, rule matching, formula matching, or the like. Accordingly, the natural language understanding module 220 may obtain a domain (domain), an intent, or a parameter (or a slot) necessary for expressing the intention.
  • the one domain e.g., an alarm
  • the plurality of rules may include, for example, one or more mandatory element parameters.
  • the matching rule may be stored in a natural language understanding database (NLU DB)
  • the natural language understanding module 220 grasps the meaning of words extracted from user input using linguistic features (e.g., grammatical elements) such as morphemes, phrases, and the like, And the intention of the user. For example, the natural language understanding module 220 can determine the user intention by calculating how many words extracted from user input are included in each domain and intention. According to one embodiment, the natural language understanding module 220 may determine the parameters of the user input using words that are the basis for grasping the intent. According to one embodiment, the natural language understanding module 220 can determine the intention of the user using the natural language recognition database 221 in which the linguistic characteristic for grasping the intention of the user input is stored.
  • linguistic features e.g., grammatical elements
  • the natural language understanding module 220 may determine the parameters of the user input using words that are the basis for grasping the intent.
  • the natural language understanding module 220 can determine the intention of the user using the natural language recognition database 221 in which the linguistic characteristic for grasping the intention of the user input is stored.
  • the natural language understanding module 220 can determine a user's intention using a personalized language model (PLM).
  • PLM personalized language model
  • the natural language understanding module 220 may determine a user's intention using personalized information (e.g., a contact list, a music list).
  • personalized language model may be stored in the natural language recognition database 221, for example.
  • not only the natural language understanding module 220 but also the automatic speech recognition module 210 can recognize the user's voice by referring to the personalized language model stored in the natural language recognition database 221.
  • the natural language understanding module 220 may generate a pass rule based on the intent and parameters of the user input. For example, the natural language understanding module 220 may select an app to be executed based on an intention of a user input, and determine an operation to be performed in the selected app. The box salmon understanding module 220 may determine a parameter corresponding to the determined operation to generate a pass rule. According to one embodiment, the pass rule generated by the natural language understanding module 220 includes information about an app to be executed, an action to be performed in the app (e.g., at least one or more states) .
  • the natural language understanding module 220 may generate one pass rule, or a plurality of pass rules, based on the intent and parameters of the user input. For example, the natural language understanding module 220 receives the path rule set corresponding to the user terminal 100 from the path planner module 230, maps the intention and parameters of the user input to the received path rule set, The rules can be determined.
  • the natural language understanding module 220 determines an app to be executed, an action to be performed in the app, and parameters necessary to perform the action based on the intention and parameters of the user input, You can create a rule.
  • the natural language understanding module 220 may use the information of the user terminal 100 to describe an operation to be executed in the app to be executed and an application in an ontology or a graph model You can create path rules by arranging them.
  • the generated path rule may be stored in a path rule database (PR DB) 231 via the path planner module 230, for example.
  • the generated path rule may be added to the path rule set of the database 231.
  • the natural language understanding module 220 may select at least one of the generated plurality of pass rules. For example, the natural language understanding module 220 may select an optimal path rule for the plurality of pass rules. As another example, the natural language understanding module 220 may select a plurality of pass rules if only some actions are specified based on user utterances. The natural language understanding module 220 may determine one of the plurality of pass rules by a user's further input.
  • the natural language understanding module 220 may send a pass rule to the user terminal 100 in response to a user input.
  • the natural language understanding module 220 may transmit one pass rule corresponding to user input to the user terminal 100.
  • the natural language understanding module 220 may transmit a plurality of pass rules corresponding to user input to the user terminal 100.
  • the plurality of pass rules may be generated by the natural language understanding module 220 if, for example, only some actions are specified based on user utterances.
  • the path planner module 230 may select at least one of the plurality of path rules.
  • the path planner module 230 may deliver a set of path rules that includes a plurality of pass rules to the natural language understanding module 220.
  • the plurality of path rules of the path rule set may be stored in a form of a table in the path rule database 231 connected to the path planner module 230.
  • the path planner module 230 transmits a path rule set corresponding to information (e.g., OS information, app information) of the user terminal 100 received from the intelligent agent 145 to the natural language understanding module 220 .
  • the table stored in the path rule database 231 may be stored, for example, for each domain or domain version.
  • the path planner module 230 may select one pass rule or a plurality of pass rules from a pass rule set and transmit the selected pass rules to the natural language understanding module 220. For example, the path planner module 230 selects one pass rule or a plurality of pass rules by matching a user's intention and parameters with the path rule set corresponding to the user terminal 100, .
  • the path planner module 230 may generate one pass rule or a plurality of pass rules using the user intent and parameters. For example, the path planner module 230 may generate one pass rule or a plurality of pass rules by determining an app to be executed and an action to be executed in the app based on the user's intention and parameters. According to one embodiment, the path planner module 230 may store the generated path rule in the path rule database 231.
  • the path planner module 230 may store the pass rules generated in the natural language understanding module 220 in the pass rule database 231. [ The generated path rule may be added to the path rule set stored in the path rule database 231. [
  • the table stored in the path rule database 231 may include a plurality of path rules or a plurality of path rule sets.
  • the plurality of path rules or the plurality of path rule sets may reflect the type, version, type, or characteristic of the device that executes each pass rule.
  • the conversation manager module 240 may determine whether the intention of the user identified by the natural language understanding module 220 is clear. For example, the conversation manager module 240 may determine whether the intention of the user is clear based on whether or not the information of the parameter is sufficient. The conversation manager module 240 may determine whether the parameter identified in the natural language understanding module 220 is sufficient to perform the task. According to one embodiment, the conversation manager module 240 may perform feedback requesting the user for the necessary information if the intention of the user is not clear. For example, the conversation manager module 240 may perform feedback requesting information about a parameter for grasping a user's intention.
  • the conversation manager module 240 may include a content provider module. If the content providing module can perform an operation based on the intention and parameters recognized in the natural language understanding module 220, the content providing module may generate a result of performing a task corresponding to a user input. According to one embodiment, the conversation manager module 240 may send the results generated in the content provision module to the user terminal 100 in response to user input.
  • the natural language generation module (NLG) 250 may change the specified information into a text form.
  • the information changed in the text form may be in the form of a natural language utterance.
  • the specified information may be, for example, information about additional inputs, information to guide completion of an operation corresponding to the user input, or information (e.g., feedback information on user input) that directs additional input of the user.
  • the information changed in the text form may be transmitted to the user terminal 100 and displayed on the display 120 or transmitted to the text-to-speech conversion module 260 to be changed to a voice form.
  • the text-to-speech module 260 may change textual information to speech-like information.
  • the text-to-speech conversion module 260 receives the information of the text form from the natural language generation module 250, converts the information of the text form into the information of the voice form, and transmits the information to the user terminal 100.
  • the user terminal 100 may output the voice information to the speaker 130.
  • the natural language understanding module 220, the path planner module 230, and the conversation manager module 240 may be implemented as a single module.
  • the natural language understanding module 220, the path planner module 230, and the conversation manager module 240 may be implemented as a module to determine a user's intention and parameters, You can create a response (eg, a path rule). Accordingly, the generated response can be transmitted to the user terminal 100.
  • FIG. 7 is a diagram illustrating a method of generating a path rule of a path planner module according to an embodiment of the present invention.
  • the natural language understanding module 220 may divide a function of an app into an action (for example, a state A to a state F) and store the function in the pass rule database 231.
  • the natural language understanding module 220 includes a plurality of path rules A-B1-C1, A-B1-C2, A-B1-C3-DF, B1-C3-DEF) may be stored in the path rule database 231.
  • the path rule database 231 of the path planner module 230 may store a set of path rules for performing the function of the app.
  • the set of path rules may include a plurality of pass rules including a plurality of actions (e.g., a sequence of states).
  • the plurality of path rules may be sequentially arranged in accordance with the parameters inputted to each of the plurality of operations.
  • the plurality of pass rules may be configured in an ontology or graph model form and stored in the pass rule database 231.
  • the natural language understanding module 220 includes a plurality of pass rules A-B1-C1, A-B1-C2, A-B1-C3-DF, (A-B1-C3-DF) can be selected among the optimum path rules (B1-C3-DEF).
  • the natural language understanding module 220 may pass a plurality of rules to the user terminal 100 in the absence of a path rule that perfectly matches the user input. For example, the natural language understanding module 220 may select a pass rule (e.g., A-B1) that is partially corresponding to the user input.
  • the natural language understanding module 220 includes one or more pass rules (e.g., A-B1-C1, A-B1-C2, A-B1-C3 -DF, A-B1-C3-DEF) to the user terminal 100.
  • the natural language understanding module 220 may select one of a plurality of pass rules based on the further input of the user terminal 100 and forward the selected one pass rule to the user terminal 100 have. For example, the natural language understanding module 220 may generate a plurality of pass rules (e.g., A-B1-C1, A-B1, etc.) according to a user input (e.g., (For example, A-B1-C3-DF) among the A-B1-C3-DF and the A-B1-C3-DEF.
  • a user input e.g., (For example, A-B1-C3-DF) among the A-B1-C3-DF and the A-B1-C3-DEF.
  • the natural language understanding module 220 may include a user's intention corresponding to a user input (e.g., an input to select C3) further input to the user terminal 100 via the natural language understanding module 220 and / And may transmit the determined user's intention or parameter to the user terminal 100.
  • a user's intention corresponding to a user input e.g., an input to select C3
  • the natural language understanding module 220 may transmit the determined user's intention or parameter to the user terminal 100.
  • A-B1-C3-DF, A-B1-C3-DF, and A-B1-C3-DF based on the transmitted intention or the parameter. DEF) for example, A-B1-C3-DF.
  • the user terminal 100 can complete the operation of the applications 141 and 143 by the selected one pass rule.
  • the natural language understanding module 220 may generate a pass rule that partially corresponds to the received user input, when the intelligent server 200 receives user input that lacks information. For example, the natural language understanding module 220 may send the partially-matched path rule to the intelligent agent 145.
  • Processor 150 may execute intelligent agent 145 to receive the pass rules and pass the partially matched pass rules to execution manager module 147. [ The processor 150 may execute the first application 141 according to the path rule through the execution manager module 147. [ The processor 150 may execute the first app 141 via the execution manager module 147 and send information on the missing parameters to the intelligent agent 145. [ The processor 150 may request additional input to the user using the information on the missing parameter via the intelligent agent 145.
  • the processor 150 may send and process user input to the intelligent server 200 when additional input is received by the user via the intelligent agent 145.
  • the natural language understanding module 220 may generate the added path rule based on the intention and parameter information of the further input user input and transmit the generated path rule to the intelligent agent 145.
  • the processor 150 may execute the second app 143 by sending the pass rule to the execution manager module 147 via the intelligent agent 145.
  • the natural language understanding module 220 may send a user information request to the personalization information server 300 when user input with some information missing is received by the intelligent server 200.
  • the personalization information server 300 may transmit the information of the user who inputs the user input stored in the persona database to the natural language understanding module 220.
  • the natural language understanding module 220 may use the user information to select a path rule corresponding to a user input that is missing some operation. Accordingly, the natural language understanding module 220 may request the missing information to receive the additional input even when the user input with some information is missing, even if it is received by the intelligent server 200, Can be determined.
  • Table 1 may illustrate an exemplary form of a pass rule associated with a task requested by a user according to an embodiment.
  • a pass rule generated or selected in an intelligent server (intelligent server 200 in FIG. 1) according to a user utterance includes at least one state 25, 26 , 27, 28, 29 or 30).
  • the at least one state includes a photo application execution view (PicturesView) 25, a photo search function execution (SearchView) 26, a search result display screen output (SearchViewResult) (SearchEmptySelectedView) 28, a SearchSelectedView 29 on which at least one picture is selected, or a shared application selection screen output (CrossShare) 30 ).
  • the parameter information of the pass rule may correspond to at least one state.
  • the at least one photo may be included in the selected search result display screen output 29 state.
  • a task requested by the user as a result of the execution of the path rule including the sequence of states 25, 26, 27, 28, 29 (e.g., " share photo!
  • FIG. 8 is a diagram illustrating that a persona module of an intelligent service module manages information of a user according to an exemplary embodiment of the present invention.
  • the processor 150 may receive information of the user terminal 100 from the applications 141 and 143, the execution manager module 147, or the context module 149a via the persona module 149b .
  • the processor 150 may store the result information obtained by executing the operations 141b and 143b of the app through the apps 141 and 143 and the execution manager module 147 in the action log database.
  • the processor 150 may store information on the current state of the user terminal 100 in the context database through the context module 149a.
  • the processor 150 may receive the stored information from the action log database or the context database via the persona module 149b.
  • the data stored in the action log database and the context database may be analyzed by, for example, an analysis engine and passed to the persona module 149b.
  • the processor 150 transmits information received from the applications 141 and 143, the execution manager module 147 or the context module 149a to the proposal module 149c via the persona module 149b .
  • the processor 150 may forward the data stored in the action log database or the context database to the proposal module 149c via the persona module 149b.
  • the processor 150 transmits information received from the applications 141 and 143, the execution manager module 147 or the context module 149a to the personalization information server 300 via the persona module 149b can do.
  • the processor 150 may periodically transmit data stored in the action log database or the context database to the personalization information server 300 via the persona module 149b.
  • the processor 150 may communicate the activity log database or the data stored in the context database to the proposal module 149c via the persona module 149b.
  • the user information generated through the persona module 149b may be stored in the persona database.
  • the persona module 149b may periodically transmit the user information stored in the persona database to the personalization information server 300.
  • information sent to the personalization information server 300 via the persona module 149b may be stored in a persona database.
  • the personalization information server 300 can deduce user information necessary for generating a pass rule of the intelligent server 200 using the information stored in the persona database.
  • the inferred user information using information transmitted via the persona module 149b may include profile information or preference information.
  • the profile information or the preference information may be deduced from the user's account and accumulated information.
  • the profile information may include personal information of a user.
  • the profile information may include demographic information of a user.
  • the demographic information may include, for example, a user's gender, age, and the like.
  • the profile information may include life event information.
  • the life event information may be inferred by comparing log information with a life event model, for example, and may be reinforced by analyzing a behavior patter.
  • the profile information may include interest information.
  • the interest information may include, for example, a shopping item of interest, an area of interest (e.g., sports, politics, etc.).
  • the profile information may include activity area information.
  • the activity area information may include information on, for example, a house, a work place, and the like.
  • the information on the active area may include information on the place where the priority is recorded based on the cumulative stay time and the number of visits as well as information on the location of the place.
  • the profile information may include activity time information.
  • the activity time information may include information on, for example, a weather time, a commute time, a sleep time, and the like.
  • the information on the commute time can be inferred using the activity area information (e.g., information on the house and work place). Information about the sleeping time can be inferred through the unused time of the user terminal 100.
  • the preference information may include user preference information.
  • the preference information may include information about an app preference.
  • the app preference can be deduced, for example, through the usage history of the app (e.g., time and place usage records).
  • the preference of the app may be used to determine an app to be executed according to a user's current state (e.g., time, place).
  • the preference information may include information about contact preferences.
  • the contact preference can be inferred by analyzing information on the frequency of contact (e.g., frequency of contact by hour or place) of a contact, for example.
  • the contact preference can be used to determine the contact to contact according to the current state of the user (e.g., contact for duplicate names).
  • the preference information may include setting information.
  • the setting information may be inferred by analyzing information on a setting frequency of a specific setting value (for example, a frequency of setting the setting value by time or place).
  • the setting information may be used to set a specific setting value according to a user's current state (e.g., time, place, situation).
  • the preference information may include location preference.
  • the place preference can be deduced, for example, through a visit record (for example, an hourly visit record) of a specific place.
  • the location preference can be used to determine a visited location according to the user's current state (e.g., time).
  • the preference information may include a command preference.
  • the command preference may be inferred through, for example, the frequency of command usage (e.g., time, frequency of use per location).
  • the command preference may be used to determine a command pattern to be used according to the user's current state (e.g., time, location).
  • the command preference may include information about the menu most frequently selected by the user in the current state of the app being executed by analyzing the log information.
  • the server 920 may include at least one of the intelligent server 200, the personalization information server 300, and the proposal server 400 of FIG.
  • a system for processing voice commands may include an electronic device 910, a server 920, and an audio output device 930. [ According to one embodiment, a system for processing voice commands may further comprise a plurality of electronic devices (not shown).
  • the electronic device 910 includes a housing having a circular top surface comprising a plurality of openings 911, a flat circular bottom surface, and a side surface surrounding a space between the top surface and the bottom surface, . ≪ / RTI >
  • the housing may comprise a top surface of the polygon, a bottom surface of the flat polygon, and a side surface surrounding the space between the top surface and the bottom surface.
  • the plurality of openings 911 may be located on the lower end surface or the side surface of the housing, or may be located on at least two of the upper end surface, the lower end surface, and the side surface of the housing.
  • the electronic device 910 can include an audio signal (e.g., audio signal of the user 940, audio signal output via the audio output device 930, etc.) that occurs in the vicinity of the electronic device 910 And may include a microphone for receiving.
  • the microphone is located inside the housing and may be positioned to face a plurality of openings 911 of the top surface of the housing. However, it is not limited thereto.
  • the electronic device 910 may include an audio output interface 913 for wired or wireless connection to the audio output device 903.
  • the audio output interface 913 may be disposed on a side of the housing of the electronic device 910. [ However, it is not limited thereto.
  • the electronic device 910 may include a power input interface 915 for powering the battery of the electronic device 910.
  • the power input interface 915 may be disposed on a side of the housing of the electronic device 910. [ But is not limited thereto.
  • the electronic device 910 may provide a speech recognition service to the user 940.
  • the electronic device 910 may provide speech recognition services based on speech signals uttered by the user 940 via a microphone.
  • the electronic device 910 may communicate with the server 920.
  • the electronic device 910 may provide the user's voice signal received via the microphone to the server 920 and receive a response to the voice signal from the server 920.
  • the electronic device 910 may be coupled to the audio output device 930.
  • the electronic device 910 may be wired or wirelessly connected to the audio output device 930.
  • the electronic device 910 can provide the voice recognition service to the user 940 by outputting an audio signal to the audio output device 930 connected by wire or wirelessly.
  • the server 920 may perform a communication connection with the electronic device 910.
  • the server 920 is in communication with the user 940 from the electronic device 910 to which it is connected.
  • the server 920 may generate a response to the received voice signal and then send the generated response to the electronic device 910.
  • the response to the audio signal may be sent directly to the electronic device 910 or may be sent to the electronic device 910 via at least one other electronic device (not shown).
  • the audio output device 930 is coupled to the electronic device 910 and can output the audio signal transmitted from the electronic device 910.
  • the audio output device 930 may communicate information about the audio output device 930 (e.g., information about the performance of the audio output device 930) at a point of connection with the electronic device 910, To the electronic device 910, or to provide information about the audio output device 910 to the electronic device 910 when an information request is received from the electronic device 910.
  • a system for processing voice commands includes at least one other electronic device (not shown) having the same or similar capability, characteristic, or attribute as the electronic device 910, As shown in FIG.
  • the at least one other electronic device may be a desktop computer, a television, a refrigerator, a washing machine, an air conditioner, a smart light, an LFD large format display, digital sinage, or mirror display smartphone, tablet computer, laptop computer, portable game machine, portable music player, or And a vacuum cleaner.
  • the electronic device 910 may perform bidirectional communication with or perform unidirectional communication with at least one other electronic device.
  • FIG. 10 is a block diagram of an electronic device in accordance with various embodiments of the present invention.
  • the electronic device 910 may include a processor 1001, a microphone 1003, an audio output interface 1005, and a communication circuit 1007. [ According to one embodiment, the electronic device 910 may further include additional components in addition to the components included in FIG. For example, the electronic device 910 may further include at least one component of a memory (not shown), a display (not shown), and a power input interface (not shown).
  • the processor 1001 may control the overall operation of the electronic device 910.
  • the processor 1001 is operatively coupled to other components, such as a microphone 1003, an audio output interface 1005, a communication circuit 1007, a memory (not shown), etc., for controlling the overall operation of the electronic device 910 Can be combined.
  • the processor 1001 may comprise one processor core or may comprise a plurality of processor cores.
  • the processor 1001 may include a multi-core such as a dual-core, a quad-core, or a hexa-core.
  • the processor 1001 may further include a cache memory located inside or outside of the processor 1001.
  • the processor 1001 may receive instructions from other components of the electronic device 910, interpret the received instructions, perform calculations in accordance with the interpreted instructions, .
  • the processor 1001 may process data or signals caused within the electronic device 910. [ For example, the processor 1001 may request an instruction (or data, or signal) from a memory (not shown). Processor 1001 may write (or store) or update instructions (or data, or signals) in memory to control electronic device 910 or other components within electronic device 910.
  • the processor 1001 can interpret data, commands, or signals received from a microphone 1003, an audio output interface 1005, a communication circuit 1007, a memory (not shown) Can be processed.
  • the processor 1001 may provide the received data, command, or signal to the microphone 1003, the audio output interface 1005, the communication circuit 1007, and the like.
  • the processor 1001 may include at least one processor.
  • the processor 1001 may include an application processor (AP) that controls a program in a layer such as an application, a communication processor (CP) that controls functions related to communication, And an audio codec chip for controlling related encoding and decoding.
  • AP application processor
  • CP communication processor
  • an audio codec chip for controlling related encoding and decoding may be disposed separately from the processor 1001 as a separate component.
  • the processor 1001 may receive an audio signal via the microphone 1003.
  • the processor 1001 may receive a speech signal uttered by a user (e.g., user 940) via the microphone 1003.
  • the voice signal may include a wake-up command (or a wake word) (e.g., "Hex XXX", "High XXX”).
  • the wake-up command may be used as an instruction to wake-up the electronic device 910 operating in the sleep mode.
  • the sleep mode may be a mode in which at least one component of the electronic device 910 is deactivated.
  • the voice signal may include a voice command (e.g., "What is the weather today?", "What time is it now?").
  • the voice command may relate to the purpose or reason for which the voice signal is caused by the user.
  • the voice command may include information about a service that the user desires to receive through the electronic device 910.
  • the voice signal may include a voice-up command and a wake-up command.
  • a voice signal may include a wake-up command and a voice command together, such as " High XXX Today's weather? &Quot;.
  • the processor 1001 may recognize (or identify) a wake-up command from an audio signal received via the microphone 1003.
  • the processor 1001 can recognize the wake-up command by comparing the audio signal received via the microphone 1003 with the wake-up command already stored in the memory (not shown).
  • the processor 1001 may generate information associated with receiving a wake-up command if the wake-up command is recognized.
  • the information associated with the reception of the wake-up command may include information indicating that the wake-up command is received and information about the quality of the wake-up command.
  • Information about the quality of the wake-up command includes information about the volume of the wake-up command received via the microphone 1003, information about the wake-up command received via the microphone 1003 and the memory of the electronic device 910 Up command received via the microphone 1003 for a designated time before or after the reception of the wake-up command and the wake-up command received via the microphone 1003, And information on a signal-to-noise ratio between audio signals (audio signals regarded as noise).
  • the information associated with receiving the wake-up command includes identification information of the electronic device 910, registration account information of the electronic device 910, registration location information of the electronic device 910 (e.g., Information on the performance of the audio output device), information on whether or not the audio output device is connected (for example, information on the performance of the audio output device), information on the audio output device connected to the electronic device 910 May further include at least one piece of information.
  • the processor 1001 may send information related to the wake-up command to the server (e.g., server 920) via the communication circuit 1007.
  • the server may generate and provide a response to the received information to the electronic device 910 if the information associated with receiving the wake-up command is received.
  • the response to the received information may include a non-language sound (e.g., a beep) (or a language sound) indicating that the electronic device 910 has been determined to be an input / output device 1 < / RTI > audio signal.
  • the server receives the information associated with the receipt of the wake-up command from the electronic device 910, and then, within a designated time, If the information associated with the receipt of the wake-up command from the device is additionally received, the device 910 and any one of the other electronic devices are determined to be input / output devices based on the information received from each electronic device .
  • the server may send a response to the information associated with the receipt of the wake-up command to the determined input / output device.
  • the processor 1001 may receive a response to information associated with the receipt of a wake-up command from a server (e.g., server 920) via a communication circuit 1007.
  • the processor 1009 may generate a first audio signal indicating that the electronic device 910 is determined to be an input / output device (or indicating that the electronic device 910 is woken up) based on the response received from the server.
  • the processor 1009 may output the first audio signal generated through the audio output interface 1005.
  • the first audio signal outputted through the audio output interface 1005 may be provided to an audio output device (e.g., an audio output device 930) connected to the electronic device 910 and output as sound.
  • the processor 1001 may send voice commands received via the microphone 1003 via the communication circuit 1007 to a server (e.g., server 920).
  • a server e.g., server 920
  • the processor 1001 may send a voice command to the server via the communication circuit 1007, such as " What about today's weather? &Quot;.
  • the server may generate a response to the voice command received from electronic device 910.
  • the server may obtain information (e. G., Clear) about today's weather from other electronic devices and then generate a response to be provided to the electronic device 910 based on the obtained information.
  • processor 1001 may receive a response to a voice command from a server (e.g., server 920) via communication circuitry 1007.
  • Processor 1009 may generate a second audio signal (e.g., " Today's weather is fine ") based on the received response.
  • the processor 1009 may output the second audio signal through the audio output interface 1005.
  • the second audio signal output via the audio output interface 1005 may be provided to and output from an audio output device (e.g., audio output device 930).
  • the processor 1001 when the electronic device 910 can not provide speech recognition services to the user, the processor 1001 sends a signal requesting the change of the input / output device through the communication circuit 1007 to the server (e.g., : Server 920).
  • a state in which the speech recognition service can not be provided to the user is a state in which an audio output device (e.g., the audio output device 930) connected to the electronic device 210 outputs an audio signal at a volume that is not audible by a person A state where the power of the audio output device connected to the electronic device is turned off, or a state where the electronic device and the audio output device are disconnected from each other.
  • the processor 1001 may switch the operation mode of the electronic device to the sleep mode when transmitting a signal requesting the change of the input / output device to the server.
  • the microphone 1003 may be used to receive an audio signal that is caused outside the electronic device 910.
  • the microphone 1003 may be connected to an audio output device (e.g., an audio output device 930) coupled to a voice signal or an electronic device 910 that is uttered by a user (e.g., user 940)
  • an audio signal output from the speaker For example, an audio signal output from the speaker.
  • the microphone 1003 can provide the received audio signal to the processor 1001.
  • the audio output interface 1005 can be used for wired or wireless connection to an audio output device (e.g., audio output device 930).
  • the audio output interface 1005 may include circuitry for at least one of a bluetooth communication technique, a bluetooth low energy (BLE) communication technique, or a wi-fi (wireless fidelity) Lt; / RTI >
  • communication circuit 1007 can be used to create or establish a communication path between a server (e.g., server 920) or other electronic device.
  • the communication circuit 1007 may be a Bluetooth communication method, a Bluetooth low energy (BLE) communication method, a Wi-Fi (wireless fidelity) communication method, a cellular (cellular or mobile) And a circuit for at least one of the communication techniques.
  • the communication circuit 1007 may provide the processor 1001 with signals, information, data, or messages received from the other electronic device.
  • the communication interface 1007 may transmit signals, information, data, or messages provided from the processor 1001 to a server or other electronic device.
  • FIG. 11 is a block diagram of a server in accordance with various embodiments of the present invention.
  • the server 920 may include a processor 1101 and a communication circuit 1103. [ According to one embodiment, the server 920 may further include additional components in addition to the components included in FIG. For example, the server 920 may further include components such as memory (not shown).
  • the processor 1101 may control the overall operation of the server 920.
  • the processor 1101 may be operatively coupled to components such as a communication circuit 1103 and memory (not shown) to control the overall operation of the server 920.
  • the processor 1101 may comprise one processor core or may comprise a plurality of processor cores.
  • the processor 1101 may include a multi-core such as a dual-core, a quad-core, or a hexa-core.
  • the processor 1101 may further include a cache memory located internal or external to the processor 1101.
  • the processor 1101 may receive instructions from other components of the server 920, interpret the received instructions, perform calculations in accordance with the interpreted instructions, have.
  • the processor 1101 may process instructions, data, or signals caused within the server 920.
  • the processor 1101 may request an instruction, data, or signal from a memory (not shown).
  • the processor 1101 may write (or store) or update instructions, data, or signals in memory to control the server 920 or other components within the server 920.
  • the processor 1101 may interpret and process instructions, data, or signals received from the communications circuitry 1103, memory (not shown), and the like.
  • the processor 1101 may generate new instructions, data, or signals based on received instructions, data, or signals.
  • Processor 1101 may provide processed or generated instructions, data, or signals to communication circuitry 1103, memory, and so on.
  • the processor 1101 may receive information associated with the receipt of a wake-up command from the electronic device via the communication circuitry 1103.
  • Processor 1101 may generate a response to information associated with receiving a wake-up command in response to receiving information associated with receipt of a wake-up command from an electronic device.
  • the processor 1101 may generate a response including information for generating a non-linguistic first audio signal indicating that the electronic device is determined as an input / output device.
  • the processor 1101 may receive information associated with the receipt of a wake-up command from each of a plurality of electronic devices registered with the same registration account information via the communication circuitry 1103.
  • the processor 1101 may determine any one of a plurality of electronic devices as an input / output device based on information received from each of the plurality of electronic devices. For example, processor 1101 may determine the quality (e.g., volume, match, etc.) of the wake-up command received by each electronic device based on information received from each of the plurality of electronic devices. The processor 1101 may determine any one of the plurality of electronic devices that has received the wake-up command of the best quality as an input / output device. The processor 1101 may generate a response to the information received from the electronic device determined as the input / output device, and then transmit the information generated through the communication circuit 1103 to the electronic device determined as the input / output device.
  • the quality e.g., volume, match, etc.
  • processor 1101 may receive a voice command (e.g., "What time is it?") From an electronic device (eg, electronic device 910) via communication circuitry 1103.
  • Processor 1101 may generate a response to the voice command in response to receipt of the voice command.
  • the processor 1101 may obtain information (e.g., 10:00 AM) related to a voice command from another electronic device.
  • the processor 1101 may generate a response to the voice command based on the obtained information and may transmit the response generated by the communication circuit 1103 to the electronic device.
  • processor 1101 may receive a signal requesting a change of the input / output device from an electronic device (e.g., electronic device 910) determined as an input / output device via communication circuitry 1103.
  • the processor 1101 may be any other electronic device other than the electronic device that transmitted the signal requesting the change of the input / output device among the plurality of electronic devices that transmitted the information related to the reception of the wake-up command to the input / Device.
  • the processor 1101 may change other electronic devices that have received the best quality wake-up command among the remaining electronic devices to the input / output device.
  • the processor 1101 may send a response to the voice command to another electronic device that has changed to the input / output device via the communication circuit 1103.
  • communication circuit 1103 may be utilized to create or establish a communication path between server 920 and at least one electronic device (e.g., electronic device 920).
  • communication circuitry 1103 may include circuitry for at least one of a wireless fidelity (Wi-Fi) communication scheme, a cellular or mobile communication scheme, or a wired communication scheme.
  • Wi-Fi wireless fidelity
  • the communication circuitry 1103 may provide signals, information, data, or messages received from the electronic device to the processor 1101.
  • the communication circuit 1103 may transmit signals, information, data, or messages provided from the processor 1101 to the electronic device.
  • an electronic device e.g., electronic device 910 includes a circular top surface including a plurality of openings (e.g., openings 911) of a selected pattern, An audio output interface (e.g., an audio output interface 913 or 1005) formed on the side surface, and a power input (not shown) formed on the side surface, A microphone, a wireless communication circuit (e.g., a communication circuit 1007), a power input interface, a microphone (not shown), and a microphone (E.g., microphone 1003), and a processor operatively coupled to the communication circuit, and a memory operably coupled to the processor, the memory being operatively coupled to the processor Up command via the microphone, to recognize the wake-up command, to transmit information associated with receipt of the wake-up command via the communication circuit to the server, Receive instructions via the communication circuit to receive a response from the server, generate a first audio signal based on the response, and output the first audio signal via the audio output interface while the microphone is available And the audio
  • the instructions are such that the processor is configured to receive non-verbal sounds through the microphone after the first audio signal is output and to determine whether at least a portion of the non- And to transmit information about the determination to the server via the communication circuit.
  • the information associated with receipt of the wake-up command may include information indicating that the wake-up command is received and information about the quality of the wake-up command.
  • the information on the quality of the wake-up command may include at least one of a volume of the wake-up command received via the microphone, a volume of the wake-up command received via the microphone, To-noise ratio between the audio signal received via the microphone before or after the reception of the wake-up command and the wake-up command received via the microphone And may include at least one.
  • the information associated with the receipt of the wake-up command may include identification information of the electronic device, registration account information of the electronic device, registration location information of the electronic device, And information on the connected audio output apparatus.
  • the instructions are for causing the processor to receive a voice command via the microphone, transmit the voice command to the server via the communication circuit, And generate a second audio signal based on the response and output the second audio signal through the audio output interface when the response to the voice command is received, A language sound or a language sound.
  • the instructions may further comprise instructions that, when the processor is not receiving a response to the voice command from the server, notify the server via the audio output interface that it can not provide information related to the voice command
  • the third audio signal may be an audio signal previously stored in the memory.
  • the electronic device is connected to the audio output device via the audio output interface, and the instructions cause the processor to, when the electronic device and the audio output device are disconnected, The information indicating that the connection with the audio output apparatus is disconnected, and the signal requesting the change of the input / output apparatus to the server, so that the operation mode of the electronic apparatus is switched to the sleep mode.
  • E. G., Processor 1101 operatively coupled to the communication circuitry
  • a processor e. G., Processor 1102 operatively coupled to the communication circuitry
  • a memory operably coupled to the processor, wherein the processor is configured to, upon execution, cause the processor to receive a wake-up command from each of the plurality of electronic devices via the communication circuit Determining a first one of the plurality of electronic devices as an input / output device based on the information, generating a response to the information, and transmitting the response via the communication circuit to the first
  • the information may include information indicating that the wake-up command is received and information indicating the quality of the wake-up command.
  • the information indicative of the quality of the wake-up command may include a volume of a wake-up command received via a microphone of the electronic device, a wake-up command received via a microphone of the electronic device, A match degree of the stored wake-up command, a signal-to-noise ratio between the wake-up command received via the microphone of the electronic device and the audio signal received before or after the wake-up command reception One can be included.
  • Figure 12 is a flow chart illustrating a method of waking up an electronic device in accordance with various embodiments of the present invention.
  • a processor e.g., processor 1001 of an electronic device (e.g., electronic device 910) may receive a wake-up command.
  • the processor may use a microphone (e.g., microphone 1003) provided in the electronic device while the electronic device is operating in a sleep mode to enable the wakeup by the user (e.g., user 940) - You can receive up commands (eg, "Hey XXX", "High XXX”, etc.).
  • the sleep mode may include a mode for deactivating at least some components of the electronic device to reduce the power consumed by the electronic device.
  • the wake-up command is a predefined voice command that wakes-up an electronic device operating in the sleep mode, pre-set by the product vendor, developer, or can be set and changed by the user.
  • the processor can recognize the wake-up command. For example, the processor can check the agreement between the two wake-up commands by comparing the wake-up command received via the microphone with the wake-up command already stored in the memory of the electronic device. The processor can determine that the wake-up command is recognized when the degree of agreement between the two wake-up commands is equal to or greater than the first threshold value.
  • the first threshold value may be set or changed by a manufacturer, a developer, or a user as a reference value for determining whether or not a wake-up command is received.
  • the processor may wake-up the electronic device (e.g., activate components of the deactivated electronic device in the sleep mode) if the wake-up command is recognized.
  • the processor may generate information indicating that a wake-up command is received and information about the quality of the wake-up command when the wake-up command is recognized.
  • Information on the quality of the wake-up command includes information on the volume of the wake-up command received via the microphone, information on the volume of the wake-up command received via the microphone, To-noise ratio between an audio signal received through a microphone (an audio signal regarded as noise) for a specified time before or after reception of a wake-up command and a wake-up command received via a microphone, and information on the noise ratio.
  • the processor may send information associated with receipt of the wake-up command to a server (e.g., server 920).
  • the processor may send at least one of information indicating that the wake-up command is received or information about the quality of the wake-up command to the server via a communication circuit (e.g., communication circuit 1007).
  • the information associated with receipt of the wake-up command may include identification information of the electronic device, registration account information of the electronic device, registration location information of the electronic device (e.g., living room, kitchen, Information on the performance of the audio output apparatus), information on whether or not the audio output apparatus is connected, and the like, and information on the connected audio output apparatus (e.g., audio output apparatus 930) (e.g.
  • the information of the audio output device can be received from the audio output device via the audio output interface (e.g., audio output interface 1005) when the electronic device and the audio output device are connected through a communication interface.
  • the processor may receive a response from the server via a communications circuit.
  • the processor may receive information from the server via the communication circuit indicating that the electronic device is selected as an input / output device (or indicating that the electronic device is woken up).
  • the information indicating that the device has been selected as an input / output device may include information used to generate a first audio signal to inform the user of the electronic device that the device is selected as the input / output device.
  • the processor may generate a first audio signal based on a response received from the server. For example, when a processor receives information indicating that an electronic device is selected as an input / output device through a communication circuit, the processor generates (or identifies) a non-language sound based on the received information )can do. In another example, the processor may generate (or identify) a language sound (e.g., " Hello ”) based on the received information when receiving information indicating that the electronic device has been selected as an input / )can do.
  • a language sound e.g., " Hello
  • the processor may output the first audio signal via the audio output interface.
  • the first audio signal output via the audio output interface may be provided to an audio output device connected to the electronic device via the audio output interface.
  • the first audio signal provided to the audio output device can be output as sound through the audio output device.
  • the user of the electronic device can recognize that the electronic device connected to the audio output device has been woken up by listening to the first audio signal outputted through the audio output device.
  • an electronic device connected to the audio output device from which the first audio signal of the plurality of electronic devices is output is connected to the input / It can be recognized that it is selected.
  • the processor may provide additional notification to the user by lighting an LED on the electronic device, while outputting the first audio signal, if the electronic device includes an LED (light emitting diode) .
  • the electronic device can be configured such that the wake- It may receive an audio signal.
  • the electronic device can identify the wake-up command portion and the voice command portion, respectively, by comparing the audio signal with the pre-stored wake-up command in the memory.
  • the processor may store the identified voice command portion in memory.
  • the processor may transmit the voice command stored in the memory to the server via the communication circuit when the first audio signal is normally output from the audio output apparatus connected to the electronic apparatus.
  • the electronic device may not be selected as the input / output device. For example, if there is an external electronic device that has received a wake-up command of better quality than the wake-up command received at the electronic device, the electronic device receives a signal requesting switching from the server to the sleep mode It is possible. The electronic device may switch to the sleep mode in response to receiving the signal requesting the switching of the sleep mode.
  • Figure 13 is a flow chart illustrating a method for determining the state of an audio output device coupled to an electronic device in accordance with various embodiments of the present invention.
  • a processor e.g., processor 1001 of an electronic device (e.g., electronic device 910) may receive an audio signal via a microphone (e.g., microphone 1003) .
  • a microphone e.g., microphone 1003
  • the processor may receive an audio signal caused by the surroundings of the electronic device for a designated time using a microphone.
  • the processor may determine whether the audio signal received via the microphone matches at least a portion of the first audio signal.
  • the first audio signal can not be recognized by the user if the power of the audio output device connected to the electronic device is turned off or if the volume size is set so small that the user can not recognize it according to the setting of the user. Accordingly, the processor can check the degree of agreement between the audio signal received through the microphone and the first audio signal so as to determine whether the audio output apparatus can normally output the first audio signal.
  • the processor may determine that the first audio signal is normally output through the audio output device if the determined match degree is equal to or greater than the second threshold value.
  • the processor may determine that the first audio signal is not normally output through the audio output device if the determined match degree is less than the second threshold value.
  • the second threshold value is a reference value for determining whether or not the first audio signal is normally output, and may be set or changed by a manufacturer, a developer, or a user.
  • the processor may send information about the decision to the server via the communications circuitry. For example, the processor may transmit information indicating that the match degree of the first audio signal with the audio signal received via the microphone through the communication circuit (e.g., communication circuit 1007) is equal to or greater than the second threshold value, )). In this case, the server can determine that the first audio signal is normally output from the audio output device connected to the electronic device. In another example, the processor may transmit information indicating that the degree of matching between the audio signal received through the microphone and the first audio signal is less than the second threshold value to the server and switch to the sleep mode. In this case, the server may determine that the first audio signal is not normally output from the audio output device connected to the electronic device.
  • the processor may transmit information indicating that the match degree of the first audio signal with the audio signal received via the microphone through the communication circuit (e.g., communication circuit 1007) is equal to or greater than the second threshold value, )).
  • the server can determine that the first audio signal is normally output from the audio output device connected to the electronic device.
  • the server changes one of the other electronic apparatuses receiving the wake-up command issued by the user of the electronic apparatus to the input / output apparatus when the first audio signal is not normally output from the audio output apparatus connected to the electronic apparatus And transmit a signal indicating that the changed electronic device is selected as the input / output device.
  • the related information when the degree of agreement between the audio signal received through the microphone and the first audio signal is equal to or greater than the second threshold value, the related information is transmitted to the server.
  • the electronic device may transmit information related to the first audio signal to the server only when the degree of matching of the first audio signal is less than the second threshold value.
  • FIG. 14 is a flow chart illustrating a method of processing voice commands in an electronic device woken up according to various embodiments of the present invention.
  • a processor e.g., processor 1001 of an electronic device (e.g., electronic device 910) may receive voice commands via a microphone (e.g., microphone 1003) .
  • the processor transmits to the server (e.g., server 930) information indicating that the degree of matching between the audio signal received through the microphone and the first audio signal is greater than or equal to a second threshold value , A voice command that the user uttered through the microphone (eg, "what is the weather today?", “What time is it now?"), " play classical music ", etc.).
  • the processor may send a voice command to a server (e.g., server 920) via a communication circuit (e.g., communication circuit 1007).
  • a server e.g., server 920
  • a communication circuit e.g., communication circuit 1007
  • the processor may determine whether a response to the voice command is received from the server via the communications circuitry. For example, the processor may determine whether a response to a voice command is received within a specified time after transmitting the voice command to the server.
  • the processor may generate a second audio signal based on the received response at operation 1407 if a response to the voice command is received from the server via the communications circuit at operation 1405.
  • the second audio signal may be a non-linguistic sound or a language sound.
  • the second audio signal may include a response to the user's voice command (e.g., "it is sunny", “it is 10 am”), Etc.).
  • the processor may output the second audio signal via an audio output interface (e.g., audio output interface 1005).
  • the second audio signal may be provided to an audio output device (e.g., audio output device 930) coupled to the electronic device via the audio output interface.
  • the second audio signal provided to the audio output device can be output as sound. Accordingly, the user of the electronic device can listen to the response to the uttered voice command.
  • the second audio signal may include a specific audio signal (e.g., an audio signal in the non-audible frequency band) that can be used to verify that the second audio signal is normally output through the audio output device .
  • the processor can receive the audio signal caused by the surroundings of the electronic device periodically or aperiodically through the microphone while the second audio signal is being output.
  • the processor can determine that the second audio signal is normally output when the received audio signal contains a specific audio signal.
  • the processor may determine that the second audio signal is not normally output when the specific audio signal is not included in the second audio signal, and may transmit a signal requesting the change of the input / output device to the server through the communication circuit.
  • the processor may output a third audio signal previously stored in the memory of the electronic device at operation 1411 if no voice command is received from the server via the communication circuit at operation 1405.
  • the third audio signal may be a non-verbal sound (or linguistic sound), which may be an audio signal different from the first audio signal, and may be output as sound through the audio output device. Accordingly, the user of the electronic device can recognize that the electronic device will switch to the sleep mode without providing the voice recognition service by listening to the third audio signal outputted through the audio output device.
  • the processor may transition to the sleep mode.
  • the processor may switch the operating mode of the electronic device to the sleep mode.
  • the electronic device performs an operation 1407 or an operation 1411 according to whether a response to a voice command is received within a designated time after the voice command is transmitted to the server in operation 1405,
  • the electronic device may perform operation 1407 if a response to the voice command is received from the server and perform operation 1411 if a sleep mode change request is received from the server.
  • the response to the voice command includes information for generating the second audio signal
  • the response to the voice command may include notifications of different formats As shown in FIG.
  • the electronic device includes a display
  • the response to the voice command may include information for generating visual notification information.
  • 15 is a flow chart illustrating a method for requesting a change of an input / output device in an electronic device according to various embodiments of the present invention.
  • a processor e.g., processor 1001 of an electronic device (e.g., electronic device 910) is coupled to an audio output interface (e.g., audio output interface 1005)
  • an audio output interface e.g., audio output interface 1005
  • a signal can be output.
  • the processor may output a response to a voice command uttered by a user (e.g., user 940) via an audio output device (e.g., audio output device 920), such as operation 1409 in FIG. 14 have.
  • the processor may detect the disconnection of the audio output device. For example, the processor may detect that the audio output device connected wired or wirelessly via the audio output interface is disconnected while outputting the second audio signal through the audio output interface or after outputting the second audio signal have.
  • the processor may send a signal to the server requesting a change in the input / output device.
  • the server in response to receipt of a signal requesting a change of the input / output device from the electronic device, the server transmits, to the electronic device, one of a plurality of electronic devices that have received the wake- The electronic device can be changed to an input / output device.
  • the server may transmit information indicating that the input / output device is selected as an input / output device to another electronic device changed to the input / output device, or may transmit a response to the user's voice command. Accordingly, even when the user of the electronic device can not use the service because the electronic device can not process the voice command, the user can use the voice recognition service through the other electronic device.
  • the processor may transition to the sleep mode.
  • the processor may deactivate at least some components of the electronic device.
  • each of the plurality of electronic devices may include electronic devices similar or similar to the electronic device 910 of FIG.
  • a processor e.g., processor 1101 of a server (e.g., server 920) is coupled to a plurality of electronic devices via a communication circuit (e.g., communication circuit 1103) May receive information associated with the receipt of a wake-up command.
  • the processor may receive information associated with receipt of a wake-up command from a first electronic device via a communication circuit.
  • the processor is operable to receive, from the first electronic device, at least one electronic device registered with the same registration account as the registration account of the first electronic device , A third electronic device) in response to receiving the wake-up command.
  • the processor may verify the registration account information of the first electronic device based on information associated with receipt of the wake-up command received from the first electronic device. After receiving the information associated with the receipt of the wake-up command from the first electronic device, the processor may additionally receive information associated with receipt of the wake-up command from the at least one electronic device for a designated time via the communication circuitry. The processor further identifies the information transmitted from the at least one electronic device registered with the same registration account as the registration account of the first electronic device among the received information, by further checking the registration account information of the electronic device included in the received information .
  • the information associated with the reception of the wake-up command may include information indicating that the wake-up command is received, information about the quality of the wake-up command, and registration account information of the electronic device.
  • the information associated with receiving the wake-up command may include identification information of the electronic device or registration location information of the electronic device instead of the registration account information of the electronic device.
  • the processor can obtain the registration account information of the electronic device based on the identification information of the electronic device or the registration position information of the electronic device.
  • the processor may determine a first one of a plurality of electronic devices (e.g., a first electronic device, a second electronic device, and a third electronic device) as an input / output device based on the received information. For example, the processor may determine information about the quality of the wake-up command received by each of the electronic devices from information associated with receiving the wake-up command transmitted from each of the plurality of electronic devices. The processor may determine the first electronic device as an input / output device that has received the highest quality wake-up command among the plurality of electronic devices based on the identified information.
  • a first electronic device e.g., a first electronic device, a second electronic device, and a third electronic device
  • the processor may determine the input / output device based on the information about the audio output device. For example, the processor may determine from the information associated with the reception of the wake-up command transmitted from each of the plurality of electronic devices information about the audio output device associated with each of the electronic devices (e.g., Information, information on whether or not the audio output apparatus is connected). The processor can determine the first electronic device as the input / output device having the best audio output performance among the plurality of electronic devices based on the identified information. In another example, the processor can identify information about an audio output device associated with each electronic device from information associated with receiving a wake-up command sent from each of the plurality of electronic devices.
  • the processor may determine the input / output device based on the information about the audio output device. For example, the processor may determine from the information associated with the reception of the wake-up command transmitted from each of the plurality of electronic devices information about the audio output device associated with each of the electronic devices (e.g., Information, information on whether or not the audio output apparatus is connected). The processor can determine the first electronic device
  • the processor may determine the first electronic device, which is the only one of the plurality of electronic devices, to be connected to the audio output device, as the input / output device. According to one embodiment, when the information associated with the reception of the wake-up command includes the registration position information of the electronic device, the processor determines, based on the number of electronic devices by registration position at the time of input / output device determination, Some electronic devices may be excluded. For example, the server may exclude the third electronic device at the time of input / output device determination if the registration location of the first electronic device and the second electronic device is the living room and the registration location of the third electronic device is the kitchen.
  • the processor may generate a response to information received from the first electronic device.
  • the response to information received from the first electronic device may include information that may be used to generate a first audio signal to inform the user that the first electronic device is determined to be an input / output device.
  • the first audio signal may be an audio signal of a non-verbal sound (e.g., a beep).
  • the response to information received from the first electronic device may additionally include information that can be used to generate notification information in a different format other than information that can be used to generate the first audio signal .
  • the response to information received from the first electronic device may be displayed on a display of the first electronic device or on a display device associated with the first electronic device (E.g., textual information, image information, etc.) that can be used to generate the information.
  • a display device associated with the first electronic device E.g., textual information, image information, etc.
  • the processor may send the generated response to the first electronic device via a communication circuit.
  • the first electronic device may generate the first audio signal based on the response received from the server, and then output the first audio signal through the audio output device connected to the first electronic device.
  • the user e.g., user 910
  • the user may listen to the first audio signal output from the first one of the plurality of electronic devices to determine whether the first electronic device has been determined to be an input / output device can do.
  • the server performs the operation 1605 after performing the operation 1603, but according to various embodiments of the present invention, the server simultaneously performs the operations 1603 and 1605, or after performing the operation 1605, . ≪ / RTI > For example, if information associated with receipt of a wake-up command from each of a plurality of electronic devices including the same registration account information is received, the server generates a response to the first received information, May be performed. In another example, if information associated with receipt of a wake-up command is received from each of a plurality of electronic devices including the same registration account information, the server generates a response to the first received information, May be performed.
  • 17 is a flow chart illustrating a method of processing voice commands at a server in accordance with various embodiments of the present invention.
  • a processor e.g., processor 1101 of a server (e.g., server 920) receives a voice command from an electronic device via a communications circuit (e.g., communications circuitry 1103)
  • a communications circuit e.g., communications circuitry 1103
  • the first electronic device can receive a voice command uttered by the user.
  • the processor may generate a response to the voice command. For example, when the processor receives a voice command (such as "What is today's weather?") Asking for today's weather from the first electronic device, information related to today's weather (eg, sunny) The processor may generate a response to be sent to the first electronic device based on the acquired information (e.g., today's weather is fine). (E.g., " play the latest song ") requesting playback of specific media information from the external device, the processor may obtain specific media information from the external electronic device via the communication circuit. (E.g., specific media information) to be transmitted to the first electronic device based on the received media information.
  • a voice command such as "What is today's weather?"
  • the processor may generate a response to be sent to the first electronic device based on the acquired information (e.g., today's weather is fine).
  • the processor may obtain specific media information from the external electronic device via the communication circuit. (E.g., specific media information) to be
  • the processor when it receives a voice command that requests playback of specific media information , it may transmit a signal requesting to transmit the specific media information to the first electronic device via the communication circuit to the external electronic device storing the specific media beam.
  • the processor may send the generated response to the electronic device via the communication circuitry.
  • the electronic device may generate a response to the voice command (e.g., a second audio signal) based on the response received from the server and output through an audio output interface coupled to the electronic device. Accordingly, the user of the electronic device can be provided with voice command service.
  • FIG. 18 is a flowchart illustrating a method for changing an input / output device for processing a voice command in a server according to various embodiments of the present invention.
  • a processor e.g., processor 1101 of a server (e.g., server 920) is coupled to a first electronic device (e. G., Processor 1101) via a communication circuit Electronic device 910) of the input / output device.
  • the processor may receive a signal requesting a change of the input / output device from the first electronic device via the communication circuit when the first electronic device is in a state where it can not provide the speech recognition service to the user.
  • the state in which the speech recognition service can not be provided to the user is a state in which the audio output device connected to the first electronic device outputs an audio signal at a volume that is not audible to a human being, A state in which the power is turned off, or a state in which the first electronic device and the audio output device are disconnected from each other.
  • the first electronic device can be switched to the sleep mode when the change request of the input / output device is transmitted to the server.
  • the processor may change the second electronic device to an input / output device.
  • the processor may change any other electronic device of the plurality of electronic devices that has transmitted the information associated with the wake-up command to the input / output device, except for the first electronic device.
  • the plurality of electronic devices may be electronic devices registered with the same registration account.
  • the processor may change the second electronic device that has received the wake-up command of the best quality (e.g., volume, match, etc.) among a plurality of electronic devices other than the first electronic device to an input / output device .
  • the processor may change the second electronic device connected to the best performing audio output device among a plurality of electronic devices other than the first electronic device to an input / output device.
  • the processor may obtain information about the audio output device associated with each electronic device from information associated with the wake-up command received from each of the plurality of electronic devices.
  • the processor may change the second electronic device to an input / output device based on information about the audio output device.
  • the processor may send a response to the voice command to the second electronic device via the communication circuitry.
  • the second electronic device generates a second audio signal based on the response to the voice command, and outputs the generated second audio signal to the audio output device connected to the second electronic device or to the audio output Can be output through the device. Accordingly, even when the user can not use the voice recognition service through the first electronic device, the user can use the voice recognition service through the second electronic device.
  • 19 is an illustration of an example of a system for processing voice commands in accordance with various embodiments of the present invention.
  • the first electronic device 1901 and the second electronic device 1903 may each receive a wake-up command via a microphone in a state of operating in a sleep mode. In this case, the first electronic device 1901 and the second electronic device 1903 can recognize and wake up the received wake-up command. The first electronic device 1901 and the second electronic device 1903 may, after waking up, generate information associated with receiving a wake-up command, respectively.
  • the first electronic device 1901 and the second electronic device 1905 may be electronic devices registered with the same registration account.
  • the first electronic device 1901 may send the first information associated with the receipt of the wake-up command to the server 1905.
  • the first information associated with the reception of the wake-up command includes information indicating that the wake-up command is received, information about the quality of the wake-up command received at the first electronic device 1901, Registration information, registration location information of the first electronic device 1901, and information about the audio output device 1907 connected to the first electronic device 1901.
  • the second electronic device 1903 may send to the server 1905 the second information associated with the receipt of the wake-up command.
  • the second information associated with the reception of the wake-up command includes information indicating that the wake-up command is received, information about the quality of the wake-up command received at the second electronic device 1903, At least some of the registration account information, the registration location information of the second electronic device 1903, and the information about the audio output device (or audio output device included in the second electronic device 1903) connected to the second electronic device 1903 .
  • operation 1913 may be performed prior to performing operation 1911, or may be performed at the same time as operation 1911.
  • the server 1905 may determine the first electronic device 1901 as an input / output device based on the first information and the second information. For example, the server 1901 may determine the quality (e.g., loudness, match, signal to noise ratio) of the wake-up command received by the first electronic device 1901 via the microphone based on the first information and the second information, And the quality of the wake-up command received by the second electronic device 1903 via the microphone can be confirmed. The server 1901 can determine the first electronic device 1901 that has received the wake-up command of better quality as the input / output device.
  • the server 1901 may determine the quality (e.g., loudness, match, signal to noise ratio) of the wake-up command received by the first electronic device 1901 via the microphone based on the first information and the second information.
  • the server 1901 can determine the first electronic device 1901 that has received the wake-up command of better quality as the input / output device.
  • the server 1905 sends a response to the first information (e.g., information indicating that it is selected as an input / output device) to the first electronic device 1901, and in operation 1919, To the second electronic device 1903.
  • the first information e.g., information indicating that it is selected as an input / output device
  • operation 1919 may be performed prior to performing operation 1917, or may be performed at the same time as operation 1917.
  • the first electronic device 1901 may generate a first audio signal based on the response received from the server 1905.
  • the first audio signal may be a non-linguistic (or linguistic) audio signal.
  • the second electronic device 1903 may transition to the sleep mode based on a signal requesting a sleep mode transition received from the server 1905.
  • the second electronic device 1903 may receive signals transmitted from the server by activating the communication circuit while operating in the sleep mode.
  • the first electronic device 1901 may transmit the generated first audio signal to the audio output device 1907 connected to the first electronic device 1901.
  • the audio output device 1907 may be connected to the first electronic device 1901 in a wired or wireless manner, and may transmit information about the audio output device 1907 to the first electronic device 1901.
  • the first electronic device 1901 includes an LED, it may light the LED simultaneously with the transmission of the first audio signal.
  • the audio output device 1907 may output the first audio signal transmitted from the first electronic device 1901.
  • the user e.g., user 910
  • the user can listen to the first audio signal output from the audio output device connected to the first electronic device 1901, thereby allowing the first electronic device 1901 to provide a voice recognition service .
  • the first electronic device 1901 compares the generated first audio signal with the audio signal received via the microphone for a designated time after transmitting the first audio signal, thereby generating an audio signal It can be confirmed that at least a part of the first audio signal is identical. According to one embodiment, if the first electronic device 1901 includes at least a portion of the first audio signal generated in the audio signal received via the microphone, the information (or the first electronic device 1901) Information to the server).
  • the first electronic device 1901 may receive a voice command via the microphone.
  • the first electronic device 1901 may receive voice commands such as "What is today's weather?" That the user has uttered via the microphone.
  • the first electronic device 1901 may send a voice command received via the microphone to the server 1905.
  • the server 1905 may generate a response to the voice command received from the first electronic device 1901.
  • the server 1905 may obtain information about today's weather from an external electronic device.
  • the server 1905 can generate a response to the voice command based on the obtained information.
  • the response to the voice command may be generated in various formats. For example, if the first electronic device 1901 has a display or is connected to a separate display device other than the audio output device 1907, it may be generated in the form of a notification message.
  • the first electronic device 1901 may generate a second audio signal based on a response to the voice command received from the server 1905.
  • the first electronic device 1901 may generate an audio signal of a linguistic tone such as " Today's weather is fine ", based on the response to the voice command received from the server 1901.
  • the first electronic device 1901 may generate a non-linguistic audio signal, such as classical music, based on a response to a voice command received from the server 1901.
  • the first electronic device 1901 may transmit the generated second audio signal to the audio output device 1907 connected to the first electronic device 1901.
  • the audio output device 1907 may output the second audio signal received from the first electronic device 1901.
  • the audio output device 1907 may output " Today's weather is fine ". Accordingly, the user can listen to the weather information of today with a sound.
  • 20 is a diagram for explaining another example of a system for processing voice commands according to various embodiments of the present invention.
  • the first electronic device 2001 and the second electronic device 2003 may each receive a wake-up command via a microphone while operating in a sleep mode.
  • the first electronic device 2001 and the second electronic device 2003 may each wake up in response to receipt of a wake-up command.
  • the first electronic device 2001 and the second electronic device 2003 may, after wake-up, generate information associated with reception of a wake-up command, respectively.
  • the first electronic device 2001 and the second electronic device 2003 may be electronic devices registered with the same registered account.
  • the first electronic device 2001 may send the first information associated with the receipt of the wake-up command to the server 2005.
  • the first electronic device 2001 may include information indicating that the wake-up command is received, information about the quality of the wake-up command received at the first electronic device 2001, At least some of the registration account information, the registration location information of the first electronic device 2001, and the information about the audio output device 2007 connected to the first electronic device 2001 can be transmitted to the server 2005.
  • the second electronic device 2003 may send to the server 2005 second information associated with the receipt of the wake-up command.
  • the second electronic device 2003 may include information indicating that a wake-up command is received, information about the quality of the wake-up command received at the second electronic device 2003, At least some of the registration account information, the registration location information of the second electronic device 2003, and the information about the audio output device 2007 connected to the second electronic device 2003, to the server 2005.
  • action 2013 may be performed prior to performing action 2011, or may be performed at the same time as action 2011.
  • the server 2005 may determine the first electronic device 2001 as an input / output device based on the first information and the second information.
  • the server 2001 may receive information about the audio output device 1907 connected to the first electronic device 1901 based on the first information and the second information and information about the audio output device 1907 connected to the second electronic device 1901, (Or an audio output device provided in the second electronic device 1901) (not shown).
  • the server 1901 can determine the input / output device as the first electronic device 1901 connected to the audio output device of higher performance based on the confirmed information.
  • the server 2005 may send a response to the first information to the first electronic device 2001 and, in operation 2019, send a signal for a sleep mode change request to the second electronic device.
  • the response to the first information may include information indicating that the first electronic device 2001 is selected as an input / output device.
  • operation 2019 may be performed prior to performing operation 2017, or may be performed at the same time as operation 2017.
  • the first electronic device 2001 may generate a first audio signal based on the response received from the server 2005.
  • the first electronic device 2001 may generate an audio signal of a non-verbal sound (or linguistic tone) indicating that the first electronic device 2001 is selected as an input / output device.
  • the second electronic device 2003 may switch to the sleep mode based on the signal requesting the sleep mode switch from the server 2005. [ The second electronic device 2003 may receive a signal from the server while operating in the sleep mode.
  • the first electronic device 2001 may transmit the generated first audio signal to the audio output device 2007 coupled to the first electronic device 2001.
  • the audio output device 2007 may be connected to the first electronic device 2001 by wire or wirelessly.
  • the audio output device 2007 may include information about the audio output device 2007 (e.g., the performance of the audio output device 2007) when it is wired or wirelessly connected to the first electronic device 2001 May be provided to the first electronic device 2001.
  • the first electronic device 2001 includes an LED, it may light the LED simultaneously with the transmission of the first audio signal.
  • the audio output device 2007 may output the first audio signal.
  • the first electronic device 2001 compares the generated first audio signal with an audio signal received via the microphone for a designated time after transmitting the first audio signal, and generates an audio signal It can be confirmed that the first audio signals are inconsistent.
  • the first electronic device 2001 may send a signal requesting the change of the input / output device to the server 2005, and in operation 2033, enter the sleep mode.
  • the server 2005 changes the second electronic device to an input / output device as it receives a signal requesting a change of the input / output device from the first electronic device 2001, and in operation 2037, 2003) to the second information.
  • the response to the second information may be the same information as the response to the first information.
  • the second electronic device 2003 may generate a first audio signal based on the response to the second information from the server 2007. [ For example, the second electronic device 2003 may wake-up if a response to the second information is received from the server 2007. [ The second electronic device 2003 may generate a first audio signal of non-linguistic sounds (or linguistic sounds) based on the received response.
  • the second electronic device 2003 may output the generated first audio signal.
  • the second electronic device 2003 outputs a first audio signal through an audio output device (not shown) connected to the second electronic device 2003 or an audio output device included in the second electronic device 2003 can do.
  • the second electronic device 2003 performs an operation 2039 of outputting a first audio signal and then performs an operation (e.g., operations 1931 to 1939 of FIG. 19) of receiving and processing a user's voice command in connection with the server
  • the voice recognition service can be provided to the user. Accordingly, even when the user does not receive the voice recognition service from the first electronic device 2001 determined as the input / output device, the user can be provided with the voice recognition service through the second electronic device 2003.
  • a method of operation of an electronic device includes receiving a wake-up command through a microphone of the electronic device, - an operation of recognizing an up command and transmitting information associated with the reception of the wake-up command via a communication circuit of the electronic device to a server; receiving a response from the server via the communication circuit; Generating a first audio signal based on the response and outputting the first audio signal through the audio output interface of the electronic device while the microphone is available, And may be a non-language sound.
  • the method of operating the electronic device further comprises: receiving non-verbal sounds through the microphone after the first audio signal is output; and receiving at least a portion of the non- Determining whether a match is found, and transmitting the information about the determination to the server via the communication circuit.
  • the information associated with receipt of the wake-up command may include information indicating that the wake-up command is received and information about the quality of the wake-up command.
  • the information about the quality of the wake-up command may include information about the volume of the wake-up command received via the microphone, the wake-up command received via the microphone and the memory of the electronic device Up command and a signal-to-noise ratio between the audio signal received via the microphone before or after the reception of the wake-up command and the wake-up command received via the microphone ratio).
  • the information associated with the receipt of the wake-up command may include identification information of the electronic device, registration account information of the electronic device, registration location information of the electronic device, And information on the connected audio output apparatus.
  • a method of operating the electronic device includes receiving an voice command via the microphone, transmitting the voice command to the server via the communication circuit, Generating a second audio signal based on the response when receiving a response to the voice command from the server through the audio output interface and outputting the second audio signal through the audio output interface
  • the second audio signal may be a non-linguistic sound or a language sound.
  • the method of operation of the electronic device further comprises, when a response to the voice command from the server is not received, transmitting, via the audio output interface, Outputting an audio signal, and the third audio signal may be an audio signal previously stored in a memory of the electronic device.
  • the electronic device may be connected to the audio output device through the audio output interface, and the method of operation of the electronic device may further include, when the electronic device is disconnected from the audio output device, To the server, information indicating that the connection with the audio output apparatus is disconnected through the electronic device, and switching the operation mode of the electronic apparatus to the sleep mode.
  • a method of operating a server includes receiving information associated with receiving a wake-up command from each of a plurality of electronic devices via a communication circuit of the server, Determining a first one of the plurality of electronic devices as an input / output device based on the information, generating a response to the information, and transmitting the response via the communication circuit to the first electronic device
  • the information may include information indicating that the wake-up command is received and information indicating the quality of the wake-up command.
  • the information indicative of the quality of the wake-up command may include a volume of a wake-up command received via a microphone of the electronic device, a wake-up command received via a microphone of the electronic device, A match degree of the stored wake-up command, a signal-to-noise ratio between the wake-up command received via the microphone of the electronic device and the audio signal received before or after the wake-up command reception One can be included.
  • a computer-readable storage medium storing one or more programs (software modules) may be provided.
  • One or more programs stored on a computer-readable storage medium are configured for execution by one or more processors in an electronic device.
  • the one or more programs include instructions that cause the electronic device to perform the methods in accordance with the embodiments of the present disclosure or the claims of the present disclosure.
  • Such programs may be stored in a computer readable medium such as a random access memory, a non-volatile memory including a flash memory, a read only memory (ROM), an electrically erasable programmable ROM (EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), digital versatile discs (DVDs) An optical storage device, or a magnetic cassette. Or a combination of some or all of these. In addition, a plurality of constituent memories may be included.
  • a computer readable medium such as a random access memory, a non-volatile memory including a flash memory, a read only memory (ROM), an electrically erasable programmable ROM (EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), digital versatile discs (DVDs) An optical storage device, or a magnetic cassette. Or a combination of some or all of these.
  • a plurality of constituent memories may be included.
  • the program may also be stored on a communication network, such as the Internet, an intranet, a local area network (LAN), a communication network such as a wide area network (WLAN) And can be stored in an attachable storage device that can be accessed.
  • a storage device may be connected to an apparatus performing an embodiment of the present disclosure via an external port. Further, a separate storage device on the communication network may be connected to an apparatus performing the embodiments of the present disclosure.

Landscapes

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

Abstract

본 발명의 다양한 실시 예들은 전자 장치 및 그의 동작 방법에 관한 것으로서, 전자 장치는, 선택된 패턴의 다수 개의 개구들을 포함하는 원형의 상단면, 평평한 원형의 하단면, 및 상기 상단면과 상기 하단면 사이의 공간을 둘러싸는 측면을 포함하는 하우징과, 상기 측면에 형성된 오디오 출력 인터페이스와, 상기 측면에 형성된 전원 입력 인터페이스와, 상기 하우징 내부에 위치하고 상기 개구들을 향하는 마이크와, 무선 통신 회로와, 상기 오디오 출력 인터페이스, 전원 입력 인터페이스, 마이크, 및 통신 회로와 작동적으로 연결된 프로세서, 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 마이크를 통해 웨이크-업 커맨드(wake-up command)를 수신하고, 상기 웨이크-업 커맨드를 인식하고, 상기 통신 회로를 통해 상기 웨이크-업 커맨드의 수신과 연관된 정보를 서버로 전송하고, 상기 통신 회로를 통해 상기 서버로부터 응답을 수신하고, 상기 응답에 기반하여 제1 오디오 신호를 생성하고, 상기 마이크가 이용 가능한 동안 상기 오디오 출력 인터페이스를 통해 상기 제1 오디오 신호를 출력하도록 하는 인스트럭션들을 저장할 수 있으며, 상기 오디오 신호는, 비 언어 음(non-language sound)일 수 있다. 다양한 실시 예들도 가능하다.

Description

전자 장치 및 그의 동작 방법
본 발명의 다양한 실시 예들은 전자 장치 및 그의 동작 방법에 관한 것으로서, 특히, 음성 인식 서비스를 제공하는 장치 및 방법에 관한 것이다.
전자 장치는 사용자의 편의성을 증대시키기 위해 다양한 서비스를 제공할 수 있다. 예를 들어, 전자 장치는 방송 서비스, 무선 인터넷 서비스, 카메라 서비스, 및 음성 재생 서비스 등의 다양한 멀티미디어 서비스를 제공할 수 있다.
최근에는, 멀티미디어 서비스뿐만 아니라 음성 인식 기술을 바탕으로 한 다양한 음성 인식 서비스도 전자 장치에서 제공되고 있다. 예를 들어, 전자 장치는 사용자의 음성 명령에 따라 다양한 정보(예: 날씨, 뉴스 등의 정보)를 제공하거나 또는 사용자의 음성 명령에 따라 특정 기능(예: 음악 재생, 메모, 전화 연결 등)을 수행할 수 있다.
음성 인식 서비스를 제공하는 전자 장치의 경우, 전자 장치에 구비된 오디오 출력 장치(예: 스피커)의 성능의 한계로 인해 음성 인식 서비스의 품질이 제한될 수 있다. 또한, 전자 장치가 스피커를 구비해야 함에 따라, 전자 장치의 부피가 커지게 되고, 생산 단가가 증가하게 되며, 전자 장치가 소모하는 전력 또한 증가하는 문제가 있다.
본 발명의 다양한 실시 예들은, 별도의 오디오 출력 장치와 연결될 수 있는 전자 장치를 통해 음성 인식 서비스를 제공하는 방법에 관하여 개시한다.
본 발명의 다양한 실시 예들에 따르면, 전자 장치는, 선택된 패턴의 다수 개의 개구들을 포함하는 원형의 상단면, 평평한 원형의 하단면, 및 상기 상단면과 상기 하단면 사이의 공간을 둘러싸는 측면을 포함하는 하우징과, 상기 측면에 형성된 오디오 출력 인터페이스와, 상기 측면에 형성된 전원 입력 인터페이스와, 상기 하우징 내부에 위치하고 상기 개구들을 향하는 마이크와, 무선 통신 회로와, 상기 오디오 출력 인터페이스, 전원 입력 인터페이스, 마이크, 및 통신 회로와 작동적으로 연결된 프로세서, 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 마이크를 통해 웨이크-업 커맨드(wake-up command)를 수신하고, 상기 웨이크-업 커맨드를 인식하고, 상기 통신 회로를 통해 상기 웨이크-업 커맨드의 수신과 연관된 정보를 서버로 전송하고, 상기 통신 회로를 통해 상기 서버로부터 응답을 수신하고, 상기 응답에 기반하여 제1 오디오 신호를 생성하고, 상기 마이크가 이용 가능한 동안 상기 오디오 출력 인터페이스를 통해 상기 제1 오디오 신호를 출력하도록 하는 인스트럭션들을 저장할 수 있으며, 상기 오디오 신호는, 비 언어 음(non-language sound)일 수 있다.
본 발명의 다양한 실시 예들에 따르면, 서버는, 통신 회로와, 상기 통신 회로와 작동적으로 연결된 프로세서, 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 통신 회로를 통해 다수 개의 전자 장치들 각각으로부터 웨이크-업 커맨드(wake-up command)의 수신과 연관된 정보를 수신하고, 상기 정보에 기반하여 상기 다수 개의 전자 장치들 중 제1 전자 장치를 입출력 장치로 결정하고, 상기 정보에 대한 응답을 생성하고, 상기 통신 회로를 통해 상기 응답을 상기 제1 전자 장치로 전송할 수 있으며, 상기 정보는, 상기 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 상기 웨이크-업 커맨드의 품질을 나타내는 정보를 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 전자 장치의 동작 방법은, 상기 전자 장치의 마이크를 통해 웨이크-업 커맨드(wake-up command)를 수신하는 동작과, 상기 웨이크-업 커맨드를 인식하는 동작과, 상기 전자 장치의 통신 회로를 통해 상기 웨이크-업 커맨드의 수신과 연관된 정보를 서버로 전송하는 동작과, 상기 통신 회로를 통해 상기 서버로부터 응답을 수신하는 동작과, 상기 응답에 기반하여 제1 오디오 신호를 생성하는 동작과, 상기 마이크가 이용 가능한 동안 상기 전자 장치의 오디오 출력 인터페이스를 통해 상기 제1 오디오 신호를 출력하는 동작을 포함할 수 있으며, 상기 오디오 신호는, 비 언어 음(non-language sound)일 수 있다.
본 발명의 다양한 실시 예들에 따르면, 서버의 동작 방법은, 상기 서버의 통신 회로를 통해 다수 개의 전자 장치들 각각으로부터 웨이크-업 커맨드(wake-up command)의 수신과 연관된 정보를 수신하는 동작과, 상기 정보에 기반하여 상기 다수 개의 전자 장치들 중 제1 전자 장치를 입출력 장치로 결정하는 동작과, 상기 정보에 대한 응답을 생성하는 동작과, 상기 통신 회로를 통해 상기 응답을 상기 제1 전자 장치로 전송하는 동작을 포함할 수 있으며, 상기 정보는, 상기 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 상기 웨이크-업 커맨드의 품질을 나타내는 정보를 포함할 수 있다.
본 발명의 다양한 실시 예들은, 별도의 오디오 출력 장치와 연결될 수 있는 전자 장치를 통해 음성 인식 서비스를 제공함으로써, 사용자의 기호에 맞는 품질의 음성 인식 서비스를 제공할 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른 통합 지능화 시스템을 나타낸 도면이다.
도 2는 본 발명의 일 실시 예에 따른 통합 지능화 시스템의 사용자 단말을 나타낸 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 사용자 단말의 지능형 앱을 실행시키는 것을 나타낸 도면이다.
도 4는 본 발명의 일 실시 예에 따른 지능형 서비스 모듈의 컨텍스트 모듈이 현재 상태를 수집하는 것을 나타낸 도면이다.
도 5는 본 발명의 일 실시 예에 따른 지능형 서비스 모듈의 제안 모듈을 나타낸 블록도이다.
도 6은 본 발명의 일 실시 예에 따른 통합 지능화 시스템의 지능형 서버를 나타낸 블록도이다.
도 7은 본 발명의 일 실시 예에 따른 패스 자연어 이해 모듈(natural language understanding)(NLU)이 패스 룰(path rule)을 생성하는 방법을 나타낸 도면이다.
도 8은 본 발명의 일 실시 예에 따른 지능형 서비스 모듈의 페르소나 모듈(persona module)이 사용자의 정보를 관리하는 것을 나타낸 도면이다.
도 9는 본 발명의 다양한 실시 예들에 따라 음성 명령을 처리하기 위한 시스템을 설명하기 위한 개념도이다.
도 10은 본 발명의 다양한 실시 예들에 따른 전자 장치의 블록도이다.
도 11은 본 발명의 다양한 실시 예들에 따른 서버의 블록도이다.
도 12는 본 발명의 다양한 실시 예들에 따라 전자 장치가 웨이크 업 하는 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 다양한 실시 예들에 따라 전자 장치와 연결된 오디오 출력 장치의 상태를 판단하는 방법을 설명하기 위한 흐름도이다.
도 14는 본 발명의 다양한 실시 예들에 따라 웨이크 업된 전자 장치에서 음성 명령을 처리하는 방법을 설명하기 위한 흐름도이다.
도 15는 본 발명의 다양한 실시 예들에 따라 전자 장치에서 입출력 장치의 변경을 요청하는 방법을 설명하기 위한 흐름도이다.
도 16은 본 발명의 다양한 실시 예들에 따라 서버에서 음성 명령을 처리할 입출력 장치를 결정하는 방법을 설명하기 위한 흐름도이다.
도 17은 본 발명의 다양한 실시 예에 따라 서버에서 음성 명령을 처리하는 방법을 설명하기 위한 흐름도이다.
도 18은 본 발명의 다양한 실시 예들에 따라 서버에서 음성 명령을 처리할 입출력 장치를 변경하는 방법을 설명하기 위한 흐름도이다.
도 19는 본 발명의 다양한 실시 예들에 따라 음성 명령을 처리하기 위한 시스템의 일 예를 설명하기 위한 도면이다.
도 20은 본 발명의 다양한 실시 예들에 따라 음성 명령을 처리하기 위한 시스템의 다른 예를 설명하기 위한 도면이다.
본 발명의 일 실시 예를 서술하기에 앞서, 본 발명의 일 실시 예가 적용될 수 있는 통합 지능화 시스템에 대해 설명한다.
도 1은 본 발명의 다양한 실시 예에 따른 통합 지능화 시스템을 나타낸 도면이다.
도 1을 참조하면, 통합 지능화 시스템(10)은 사용자 단말(100), 지능형 서버(200), 개인화 정보 서버(300) 또는 제안 서버(400)를 포함할 수 있다.
사용자 단말(100)은 사용자 단말(100) 내부에 저장된 앱(app)(또는, 어플리케이션 프로그램(application program))(예: 알람 앱, 메시지 앱, 사진(갤러리) 앱 등)을 통해 사용자에게 필요한 서비스를 제공할 수 있다. 예를 들어, 사용자 단말(100)은 사용자 단말(100) 내부에 저장된 지능형 앱(또는, 음성 인식 앱)을 통해 다른 앱을 실행하고 동작시킬 수 있다. 사용자 단말(100)의 상기 지능형 앱을 통해 상기 다른 앱의 실행하고 동작을 실행시키기 위한 사용자 입력을 수신할 수 있다. 상기 사용자 입력은, 예를 들어, 물리적 버튼, 터치 패드, 음성 입력, 원격 입력 등을 통해 수신될 수 있다. 일 실시 예에 따르면, 사용자 단말(100)은 휴대폰, 스마트폰, PDA(personal digital assistant) 또는 노트북 컴퓨터 등 인터넷에 연결 가능한 각종 단말 장치(또는, 전자 장치)가 이에 해당될 수 있다.
일 실시 예에 따르면, 사용자 단말(100)은 사용자의 발화를 사용자 입력으로 수신할 수 있다. 사용자 단말(100)은 사용자의 발화를 수신하고, 상기 사용자의 발화에 기초하여 앱을 동작시키는 명령을 생성할 수 있다. 이에 따라, 사용자 단말(100)은 상기 명령을 이용하여 상기 앱을 동작시킬 수 있다.
지능형 서버(200)는 통신망을 통해 사용자 단말(100)로부터 사용자 음성 입력(voice input)을 수신하여 텍스트 데이터(text data)로 변경할 수 있다. 다른 실시 예에서는, 지능형 서버(200)는 상기 텍스트 데이터에 기초하여 패스 룰(path rule)을 생성(또는, 선택)할 수 있다. 상기 패스 룰은 앱의 기능을 수행하기 위한 동작(action)(또는, 오퍼레이션(operation))에 대한 정보 또는 상기 동작을 실행하기 위해 필요한 파라미터에 대한 정보를 포함할 수 있다. 또한, 상기 패스 룰은 상기 앱의 상기 동작의 순서를 포함할 수 있다. 사용자 단말(100)은 상기 패스 룰을 수신하고, 상기 패스 룰에 따라 앱을 선택하고, 상기 선택된 앱에서 상기 패스 룰에 포함된 동작을 실행시킬 수 있다.
본 문서의 "패스 룰(path rule)" 이라는 용어는 일반적으로, 전자 장치가 사용자에 의해 요청된 태스크를 수행하기 위한 상태들의 시퀀스를 의미할 수 있지만, 이에 제한되지 않는다. 다시 말해, 패스 룰은 상태들의 시퀀스에 대한 정보를 포함할 수 있다. 상기 태스크는, 예를 들어, 지능형 앱이 제공할 수 있는 어떠한 동작(action)일 수 있다. 상기 태스크는 일정을 생성하거나, 원하는 상대방에게 사진을 전송하거나, 날씨 정보를 제공하는 것을 포함 할 수 있다. 사용자 단말(100)은 적어도 하나 이상의 상태(예: 사용자 단말(100)의 동작 상태)를 순차적으로 갖음으로써, 상기 태스크를 수행할 수 있다.
일 실시 예에 따르면, 패스 룰은 인공 지능(artificial intelligent)(AI) 시스템에 의해 제공되거나, 생성될 수 있다. 인공지능 시스템은 룰 베이스 시스템(rule-based system) 일 수도 있고, 신경망 베이스 시스템(neual network-based system)(예: 피드포워드 신경망(feedforward neural network(FNN)), 순환 신경망(recurrent neural network(RNN))) 일 수도 있다. 또는 전술한 것의 조합 또는 이와 다른 인공지능 시스템일 수도 있다. 일 실시 예에 따르면, 패스 룰은 미리 정의된 패스 룰들의 집합에서 선택될 수 있거나, 사용자 요청에 응답하여 실시간으로 생성될 수 있다. 예를 들어, 인공지능 시스템은 미리 정의 된 복수의 패스 룰 중 적어도 패스 룰을 선택하거나, 동적(또는, 실시간)으로 패스 룰을 생성할 수 있다. 또한, 사용자 단말(100)은 패스 룰을 제공하기 위해 하이브리드 시스템을 사용할 수 있다.
일 실시 예에 따르면, 사용자 단말(100)은 상기 동작을 실행하고, 동작을 실행한 사용자 단말(100)의 상태에 대응되는 화면을 디스플레이에 표시할 수 있다. 다른 예를 들어, 사용자 단말(100)은 상기 동작을 실행하고, 동작을 수행한 결과를 디스플레이에 표시하지 않을 수 있다. 사용자 단말(100)은, 예를 들어, 복수의 동작을 실행하고, 상기 복수의 동작의 일부 결과 만을 디스플레이에 표시할 수 있다. 사용자 단말(100)은, 예를 들어, 마지막 순서의 동작을 실행한 결과만을 디스플레이에 표시할 수 있다. 또 다른 예를 들어, 사용자 단말(100)은 사용자의 입력을 수신하여 상기 동작을 실행한 결과를 디스플레이에 표시할 수 있다.
개인화 정보 서버(300)는 사용자 정보가 저장된 데이터베이스를 포함할 수 있다. 예를 들어, 개인화 정보 서버(300)는 사용자 단말(100)로부터 사용자 정보(예: 컨텍스트 정보, 앱 실행 등)를 수신하여 상기 데이터베이스에 저장할 수 있다. 지능형 서버(200)는 통신망을 통해 개인화 정보 서버(300)로부터 상기 사용자 정보를 수신하여 사용자 입력에 대한 패스 룰을 생성하는 경우에 이용할 수 있다. 일 실시 예에 따르면, 사용자 단말(100)은 통신망을 통해 개인화 정보 서버(300)로부터 사용자 정보를 수신하여 데이터베이스를 관리하기 위한 정보로 이용할 수 있다.
제안 서버(400)는 단말 내에 기능 혹은 어플리케이션의 소개 또는 제공될 기능에 대한 정보가 저장된 데이터베이스를 포함할 수 있다. 예를 들어, 제안 서버(400)는 개인화 정보 서버(300)로부터 사용자 단말기(100)의 사용자 정보를 수신하여 사용자가 사용 할 수 있는 기능에 대한 데이터베이스를 포함 할 수 있다. 사용자 단말(100)은 통신망을 통해 제안 서버(400)로부터 상기 제공될 기능에 대한 정보를 수신하여 사용자에게 정보를 제공할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 통합 지능화 시스템의 사용자 단말을 나타낸 블록도이다.
도 2를 참조하면, 사용자 단말(100)은 입력 모듈(110), 디스플레이(120), 스피커(130), 메모리(140) 또는 프로세서(150)을 포함할 수 있다. 사용자 단말(100)은 하우징을 더 포함할 수 있고, 상기 사용자 단말(100)의 구성들은 상기 하우징의 내부에 안착되거나 하우징 상에(on the housing) 위치할 수 있다. 사용자 단말(100)은 상기 하우징의 내부에 위치한 통신 회로를 더 포함할 수 있다. 사용자 단말(100)은 상기 통신 회로를 통해 외부 서버(예: 지능형 서버(200))와 데이터(또는, 정보)를 송수신할 수 있다.
일 실시 예에 따른, 입력 모듈(110)은 사용자로부터 사용자 입력을 수신할 수 있다. 예를 들어, 입력 모듈(110)은 연결된 외부 장치(예: 키보드, 헤드셋)로부터 사용자 입력을 수신할 수 있다. 다른 예를 들어, 입력 모듈(110)은 디스플레이(120)와 결합된 터치 스크린(예: 터치 스크린 디스플레이)을 포함할 수 있다. 또 다른 예를 들어, 입력 모듈(110)은 사용자 단말(100)(또는, 사용자 단말(100)의 하우징)에 위치한 하드웨어 키(또는, 물리적 키)를 포함할 수 있다.
일 실시 예에 따르면, 입력 모듈(110)은 사용자의 발화를 음성 신호로 수신할 수 있는 마이크를 포함할 수 있다. 예를 들어, 입력 모듈(110)은 발화 입력 시스템(speech input system)을 포함하고, 상기 발화 입력 시스템을 통해 사용자의 발화를 음성 신호로 수신할 수 있다. 상기 마이크는, 예를 들어, 하우징의 일부분(예: 제1 부분)을 통해 노출될 수 있다.
일 실시 예에 따른, 디스플레이(120)는 이미지나 비디오, 및/또는 어플리케이션의 실행 화면을 표시할 수 있다. 예를 들어, 디스플레이(120)는 앱의 그래픽 사용자 인터페이스(graphic user interface)(GUI)를 표시할 수 있다. 일 실시 예에 따르면, 디스플레이(120)는 하우징의 일부분(예: 제2 부분)을 통해 노출될 수 있다.
일 실시 예에 따르면, 스피커(130)는 음성 신호를 출력할 수 있다. 예를 들어, 스피커(130)는 사용자 단말(100) 내부에서 생성된 음성 신호를 외부로 출력할 수 있다. 일 실시 예에 따르면, 스피커(130)는 하우징의 일부분(예: 제3 부분)을 통해 노출될 수 있다.
일 실시 예에 따르면, 메모리(140)는 복수의 앱(또는, 어플리케이션 프로그램 application program))(141, 143)을 저장할 수 있다. 복수의 앱(141, 143)은, 예를 들어, 사용자 입력에 대응되는 기능을 수행하기 위한 프로그램(program)일 수 있다. 일 실시 예에 따르면, 메모리(140)는 지능형 에이전트(145), 실행 매니저 모듈(147) 또는 지능형 서비스 모듈(149)을 저장할 수 있다. 지능형 에이전트(145), 실행 매니저 모듈(147) 및 지능형 서비스 모듈(149)은, 예를 들어, 수신된 사용자 입력(예: 사용자 발화)을 처리하기 위한 프레임워크(framework)(또는, 어플리케이션 프레임워크(application framework))일 수 있다.
일 실시 예에 따르면, 메모리(140)는 사용자 입력을 인식하는데 필요한 정보를 저장할 수 있는 데이터베이스를 포함할 수 있다. 예를 들어, 메모리(140)은 로그(log) 정보를 저장할 수 있는 로그 데이터베이스를 포함할 수 있다. 다른 예를 들어, 메모리(140)는 사용자 정보를 저장할 수 있는 페르소나 데이터베이스를 포함할 수 있다.
일 실시 예에 따르면, 메모리(140)는 복수의 앱(141, 143)을 저장하고, 복수의 앱(141, 143)은 로드되어 동작할 수 있다. 예를 들어, 메모리(140)에 저장된 복수의 앱(141,143)은 실행 매니저 모듈(147)에 의해 로드되어 동작할 수 있다. 복수의 앱(141, 143)은 기능을 수행하는 실행 서비스 모듈(141a, 143a)을 포함할 수 있다. 일 실시 예에서, 복수의 앱(141,143)은 기능을 수행하기 위해서 실행 서비스 모듈(141a, 143a)를 통해 복수의 동작(예: 상태 들의 시퀀스)(141b, 143b)을 실행할 수 있다. 다시 말해, 실행 서비스 모듈(141a, 143a)는 실행 매니저 모듈(147)에 의해 활성화되고, 복수의 동작 (141b, 143b)을 실행할 수 있다.
일 실시 예에 따르면, 앱(141, 143)의 동작(141b, 143b)이 실행되었을 때, 동작(141b, 143b)의 실행에 따른 실행 상태 화면은 디스플레이(120)에 표시될 수 있다. 상기 실행 상태 화면은, 예를 들어, 동작(141b, 143b)이 완료된 상태의 화면일 수 있다. 상기 실행 상태 화면은, 다른 예를 들어, 동작(141b, 143b)의 실행이 정지된 상태(partial landing)(예: 동작(141b, 143b)에 필요한 파라미터가 입력되지 않은 경우)의 화면일 수 있다.
일 실시 예에 따른, 실행 서비스 모듈(141a, 143a)은 패스 룰에 따라 동작(141b, 143b)을 실행할 수 있다. 예를 들어, 실행 서비스 모듈(141a, 143a)은 실행 매니저 모듈(147)에 의해 활성화되고, 실행 매니저 모듈(147)로부터 상기 패스 룰에 따라 실행 요청을 전달 받고, 상기 실행 요청에 따라 동작(141b, 143b)을 함으로써, 앱(141, 143)의 기능을 실행할 수 있다. 실행 서비스 모듈(141a, 143a)는 상기 동작(141b, 143b)의 수행이 완료되면 완료 정보를 실행 매니저 모듈(147)로 전달할 수 있다.
일 실시 예에 따르면, 앱(141, 143)에서 복수의 동작(141b, 143b)이 실행되는 경우, 복수의 동작(141b, 143b)은 순차적으로 실행될 수 있다. 실행 서비스 모듈(141a, 143a)은 하나의 동작(예: 제1 앱(141)의 동작 1, 제2 앱(143)의 동작 1)의 실행이 완료되면 다음 동작(예: 제1 앱(141)의 동작 2, 제2 앱(143)의 동작 2)을 오픈하고 완료 정보를 실행 매니저 모듈(147)로 송신할 수 있다. 여기서 임의의 동작을 오픈한다는 것은, 임의의 동작을 실행 가능한 상태로 천이시키거나, 임의의 동작의 실행을 준비하는 것으로 이해될 수 있다. 다시 말해서, 임의의 동작이 오픈되지 않으면, 해당 동작은 실행될 수 없다. 실행 매니저 모듈(147)은 상기 완료 정보가 수신되면 다음 동작(예: 제1 앱(141)의 동작 2, 제2 앱(143)의 동작 2)에 대한 실행 요청을 실행 서비스 모듈로 전달할 수 있다. 일 실시 예에 따르면, 복수의 앱(141, 143)이 실행되는 경우, 복수의 앱(141, 143)은 순차적으로 실행될 수 있다. 예를 들어, 제1 앱(141)의 마지막 동작(예: 제1 앱(141)의 동작 3)의 실행이 완료되어 완료 정보를 수신하면, 실행 매니저 모듈(147)은 제2 앱(143)의 첫번째 동작(예: 제2 앱(143)의 동작 1)의 실행 요청을 실행 서비스(143a)로 송신할 수 있다.
일 실시 예에 따르면, 앱(141, 143)에서 복수의 동작(141b, 143b)이 실행된 경우, 상기 실행된 복수의 동작(141b, 143b) 각각의 실행에 따른 결과 화면은 디스플레이(120)에 표시될 수 있다. 일 실시 예에 따르면, 상기 실행된 복수의 동작(141b, 143b)의 실행에 따른 복수의 결과 화면 중 일부만 디스플레이(120)에 표시될 수 있다.
일 실시 예에 따르면, 메모리(140)는 지능형 에이전트(145)와 연동된 지능형 앱(예: 음성 인식 앱)을 저장할 수 있다. 지능형 에이전트(145)와 연동된 앱은 사용자의 발화를 음성 신호로 수신하여 처리할 수 있다. 일 실시 예에 따르면, 지능형 에이전트(145)와 연동된 앱은 입력 모듈(110)을 통해 입력되는 특정 입력(예: 하드웨어 키를 통한 입력, 터치 스크린을 통한 입력, 특정 음성 입력)에 의해 동작될 수 있다.
일 실시 예에 따르면, 메모리(140)에 저장된 지능형 에이전트(145), 실행 매니저 모듈(147) 또는 지능형 서비스 모듈(149)이 프로세서(150)에 의해 실행될 수 있다. 지능형 에이전트(145), 실행 매니저 모듈(147) 또는 지능형 서비스 모듈(149)의 기능은 프로세서(150)에 의해 구현될 수 있다. 상기 지능형 에이전트(145), 실행 매니저 모듈(147) 및 지능형 서비스 모듈(149)의 기능에 대해 프로세서(150)의 동작으로 설명하겠다. 일 실시 예에 따르면, 메모리(140)에 저장된 지능형 에이전트(145), 실행 매니저 모듈(147) 또는 지능형 서비스 모듈(149)는 소프트웨어뿐만 아니라 하드웨어로 구현될 수 있다.
일 실시 예에 따르면, 프로세서(150)는 사용자 단말(100)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(150)는 입력 모듈(110)을 제어하여 사용자 입력을 수신할 수 있다. 프로세서(150)는 디스플레이(120)를 제어하여 이미지를 표시할 수 있다. 프로세서(150)는 스피커(130)를 제어하여 음성 신호를 출력할 수 있다. 프로세서(150)는 메모리(140)를 제어하여 프로그램을 실행시키고, 필요한 정보를 불러오거나 저장할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 메모리(140)에 저장된 지능형 에이전트(145), 실행 매니저 모듈(147) 또는 지능형 서비스 모듈(149)을 실행시킬 수 있다. 이에 따라, 프로세서(150)는 지능형 에이전트(145), 실행 매니저 모듈(147) 또는 지능형 서비스 모듈(149)의 기능을 구현할 수 있다.
일 실시 예에 따른, 프로세서(150)는 지능형 에이전트(145)를 실행하여 사용자 입력으로 수신된 음성 신호에 기초하여 앱을 동작시키는 명령을 생성할 수 있다. 일 실시 예에 따른, 프로세서(150)는 실행 매니저 모듈(147)을 실행하여 상기 생성된 명령에 따라 메모리(140)에 저장된 앱(141, 143)을 실행시킬 수 있다. 일 실시 예에 따르면, 프로세서(150)는 지능형 서비스 모듈(149)을 실행하여 사용자의 정보를 관리하 고, 상기 사용자의 정보를 이용하여 사용자 입력을 처리할 수 있다.
프로세서(150)는 지능형 에이전트(145)를 실행하여 입력 모듈(110)을 통해 수신된 사용자 입력을 지능형 서버(200)로 송신하고, 지능형 서버(200)를 통해 상기 사용자 입력을 처리할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 지능형 에이전트(145)를 실행하여 상기 사용자 입력을 지능형 서버(200)로 송신하기 전에 상기 사용자 입력을 전처리할 수 있다. 일 실시 예에 따르면, 지능형 에이전트(145)는 상기 사용자 입력을 전처리하기 위하여, 적응 반향 제거(adaptive echo canceller)(AEC) 모듈, 노이즈 억제(noise suppression)(NS) 모듈, 종점 검출(end-point detection)(EPD) 모듈 또는 자동 이득 제어(automatic gain control)(AGC) 모듈을 포함할 수 있다. 상기 적응 반향 제거부는 상기 사용자 입력에 포함된 에코(echo)를 제거할 수 있다. 상기 노이즈 억제 모듈은 상기 사용자 입력에 포함된 배경 잡음을 억제할 수 있다. 상기 종점 검출 모듈은 상기 사용자 입력에 포함된 사용자 음성의 종점을 검출하 고, 상기 검출된 종점을 이용하여 사용자의 음성이 존재하는 부분을 찾을 수 있다. 상기 자동 이득 제어 모듈은 상기 사용자 입력을 인식하고, 상기 인식된 사용자 입력을 처리하기 적합하도록 상기 사용자 입력의 음량을 조절할 수 있다. 일 실시 예에 따르면, 프로세서(150)는 성능을 위하여 상기 전처리 구성을 전부 실행시킬 수 있지만, 다른 실시 예에서 프로세서(150)는 저전력으로 동작하기 위해 상기 전처리 구성 중 일부를 실행시킬 수 있다.
일 실시 예에 따르면, 지능형 에이전트(145)는 사용자의 호출을 인식하기 위해 메모리(140)에 저장된 웨이크 업(wake up) 인식 모듈을 실행시킬 수 있다. 이에 따라, 프로세서(150)는 상기 웨이크 업 인식 모듈을 통해 사용자의 웨이크 업 명령을 인식할 수 있고, 상기 웨이크 업 명령을 수신한 경우 사용자 입력을 수신하기 위한 지능형 에이전트(145)를 실행시킬 수 있다. 상기 웨이크 업 인식 모듈은 저전력 프로세서(예: 오디오 코덱에 포함된 프로세서)로 구현될 수 있다. 일 실시 예에 따르면, 프로세서(150)는 하드웨어 키를 통한 사용자 입력 을 수신하였을 때 지능형 에이전트(145)를 실행시킬 수 있다. 지능형 에이전트(145)가 실행된 경우, 지능형 에이전트(145)와 연동된 지능형 앱(예: 음성 인식 앱)이 실행될 수 있다.
일 실시 예에 따르면, 지능형 에이전트(145)는 사용자 입력을 실행하기 위한 음성 인식 모듈을 포함할 수 있다. 프로세서(150)는 상기 음성 인식 모듈을 통해 앱에서 동작을 실행하도록 하기 위한 사용자 입력을 인식할 수 있다. 예를 들어, 프로세서(150)는 상기 음성 인식 모듈을 통해 앱(141, 143)에서 상기 웨이크 업 명령과 같은 동작을 실행하는 제한된 사용자 (음성) 입력(예: 카메라 앱이 실행 중일 때 촬영 동작을 실행시키는 "찰칵"과 같은 발화 등)을 인식할 수 있다. 프로세서(150)는 상기 지능형 서버(200)를 보조하여 상기 음성 인식 모듈을 통해 사용자 단말(100)내에서 처리할 수 있는 사용자 명령을 인식하여 빠르게 처리할 수 있다. 일 실시 예에 따르면, 사용자 입력을 실행하기 위한 지능형 에이전트(145)의 음성 인식 모듈은 앱 프로세서에서 구현될 수 있다.
일 실시 예에 따르면, 지능형 에이전트(145)의 음성 인식 모듈(웨이크 업 모듈의 음성 인식 모듈을 포함)은 음성을 인식하기 위한 알고리즘을 이용하여 사용자 입력을 인식할 수 있다. 상기 음성을 인식하기 위해 사용되는 알고리즘은, 예를 들어, HMM(hidden markov model) 알고리즘, ANN(artificial neural network) 알고리즘 또는 DTW(dynamic time warping) 알고리즘 중 적어도 하나일 수 있다.
일 실시 예에 따르면, 프로세서(150)는 지능형 에이전트(145)를 실행하여 사용자의 음성 입력을 텍스트 데이터로 변환할 수 있다. 예를 들어, 프로세서(150)는 지능형 에이전트(145)를 통해 사용자의 음성을 지능형 서버(200)로 송신하고, 지능형 서버(200)로부터 사용자의 음성에 대응되는 텍스트 데이터를 수신할 수 있다. 이에 따라, 프로세서(150) 는 상기 변환된 텍스트 데이터를 디스플레이(120)에 표시할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 지능형 에이전트(145)를 실행하여 지능형 서버(200)로부터 패스 룰을 수신할 수 있다. 일 실시 예에 따르면, 프로세서(150)는 지능형 에이전트(145)를 통해 상기 패스 룰을 실행 매니저 모듈(147)로 전달할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 지능형 에이전트(145) 를 실행하여 지능형 서버(200)로부터 수신된 패스 룰에 따른 실행 결과 로그(log)를 지능형 서비스(intelligence service) 모듈(149)로 전달하고, 상기 전달된 실행 결과 로그는 페르소나 모듈(persona manager)(149b)의 사용자의 선호(preference) 정보에 누적되어 관리될 수 있다.
일 실시 예에 따른, 프로세서(150)는 실행 매니저 모듈(147)을 실행하여 지능형 에이전트(145)로부터 패스 룰을 전달받아 앱(141, 143)을 실행시키고, 앱(141, 143)이 상기 패스 룰에 포함된 동작(141b, 143b)을 실행하도록 할 수 있다. 예를 들어, 프로세서(150)는 실행 매니저 모듈(147)을 통해 앱(141, 143)으로 동작(141b, 143b)을 실행하기 위한 명령 정보(예: 패스 룰 정보)를 송신할 수 있고, 상기 앱(141, 143)로부터 동작(141b, 143b)의 완료 정보를 전달 받을 수 있다.
일 실시 예에 따르면, 프로세서(150)는 실행 매니저 모듈(147)을 실행하여 지능형 에이전트(145)와 앱(141, 143)의 사이에서 앱(141, 143)의 동작(141b, 143b)을 실행하기 위한 명령 정보(예: 패스 룰 정보)를 전달할 수 있다. 프로세서(150)는 실행 매니저 모듈(147)을 통해 상기 패스 룰에 따라 실행할 앱(141, 143)을 바인딩(binding)하고, 상기 패스 룰에 포함된 동작(141b, 143b)의 명령 정보(예: 패스 룰 정보)를 앱(141, 143)으로 전달할 수 있다. 예를 들어, 프로세서(150)는 실행 매니저 모듈(147)을 통해 상기 패스 룰에 포함된 동작(141b, 143b)을 순차적으로 앱(141, 143)으로 전달하여, 앱(141, 143)의 동작(141b, 143b)을 상기 패스 룰에 따라 순차적으로 실행시킬 수 있다.
일 실시 예에 따르면, 프로세서(150)는 실행 매니저 모듈(147)을 실행하여 앱(141, 143)의 동작(141b, 143b)의 실행 상태를 관리할 수 있다. 예를 들어, 프로세서(150)는 실행 매니저 모듈(147)을 통해 앱(141, 143)으로부터 상기 동작(141b, 143b)의 실행 상태에 대한 정보를 전달 받을 수 있다. 상기 동작(141b, 143b)의 실행 상태가, 예를 들어, 정지된 상태(partial landing)인 경우(예: 동작(141b, 143b)에 필요한 파라미터가 입력되지 않은 경우), 프로세서(150)는 실행 매니저 모듈(147)을 통해 상기 정지된 상태에 대한 정보를 지능형 에이전트(145)로 전달할 수 있다. 프로세서(150)는 지능형 에이전트(145)를 통해 상기 전달 받은 정보를 이용하여, 사용자에게 필요한 정보(예: 파라미터 정보)의 입력을 요청할 수 있다. 상기 동작(141b, 143b)의 실행 상태가, 다른 예를 들어, 동작 상태인 경우, 프로세서(150)는 지능형 에이전트(145)를 통해 사용자로부터 발화를 수신할 수 있 다. 프로세서(150)는 실행 매니저 모듈(147)를 통해 상기 실행되고 있는 앱(141, 143) 및 앱(141, 143)의 실행 상태에 대한 정보를 지능형 에이전트(145)로 전달할 수 있다. 프로세서(150)는 지능형 에이전트(145)를 통해 상기 사용자 발화를 지능형 서버(200)로 송신할 수 있다. 프로세서(150)는 지능형 에이전트(145)를 통해 지능형 서버(200)로부터 상기 사용자의 발화의 파라미터 정보를 수신할 수 있 다. 프로세서(150)는 지능형 에이전트(145)를 통해 상기 수신된 파라미터 정보를 실행 매니저 모듈(147)로 전달할 수 있다. 실행 매니저 모듈(147)은 상기 수신한 파라미터 정보를 이용하여 동작(141b, 143b)의 파라미터를 새로운 파라미터로 변경할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 실행 매니저 모듈(147)을 실행하여 패스 룰에 포함된 파라미터 정보를 앱(141, 143)로 전달할 수 있다. 상기 패스 룰에 따라 복수의 앱(141, 143)이 순차적으로 실행되는 경우, 실행 매니저 모듈(147)은 하나의 앱에서 다른 앱으로 패스 룰에 포함된 파라미터 정보를 전달할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 실행 매니저 모듈(147)을 실행하여 복수의 패스 룰을 수신할 수 있다. 프로세서(150)는 실행 매니저 모듈(147)을 통해 사용자의 발화에 기초하여 복수의 패스 룰이 선택될 수 있다. 예를 들어, 프로세서(150)는 실행 매니저 모듈(147)을 통해 사용자의 발화가 일부 동작(141a)을 실행할 일부 앱(141)을 특정하였지만, 나머지 동작(143b)을 실행할 다른 앱(143)을 특정하지 않은 경우, 일부 동작(141a)를 실행할 동일한 앱(141)(예: 갤러리 앱)이 실행되고 나머지 동작(143b)를 실행할 수 있는 서로 다른 앱(143)(예: 메시지 앱, 텔레그램 앱)이 각각 실행되는 서로 다른 복수의 패스 룰을 수신할 수 있다. 프로세서(150)는, 예를 들어, 실행 매니저 모듈(147)을 통해 상기 복수의 패스 룰의 동일한 동작(141b, 143b)(예: 연속된 동일한 동작(141b, 143b))을 실행할 수 있다. 프로세서(150)는 상기 동일한 동작까지 실행한 경우, 실행 매니저 모듈(147)을 통해 상기 복수의 패스 룰에 각각 포함된 서로 다른 앱(141, 143)을 선택할 수 있는 상태 화면을 디스플레이(120)에 표시할 수 있다.
일 실시 예에 따르면, 지능형 서비스 모듈(149)은 컨텍스트 모듈(149a), 페르소나 모듈(149b) 또는 제안 모듈(149c)을 포함할 수 있다.
프로세서(150)는 컨텍스트 모듈(149a)을 실행하여 앱(141, 143)으로부터 앱(141, 143)의 현재 상태를 수집할 수 있다. 예를 들어, 프로세서(150)는 컨텍스트 모듈(149a)을 실행하여 앱(141, 143)의 현재 상태를 나타내는 컨텍스트 정보를 수신하고, 상기 수신된 컨텍스트 정보를 통해 앱(141, 143)의 현재 상태를 수집할 수 있다.
프로세서(150)는 페르소나 모듈(149b)을 실행하여 사용자 단말(100)을 사용하는 사용자의 개인 정보를 관리할 수 있다. 예를 들어, 프로세서(150)는 페르소나 모듈(149b)을 실행하여 사용자 단말(100)의 사용 정보 및 수행 결과를 수집하고, 상기 수집된 사용자 단말(100)의 사용 정보 및 수행 결과를 이용하여 사용자의 개인 정보를 관리할 수 있다.
프로세서(150)는 제안 모듈(149c)을 실행하여 사용자의 의도를 예측하고, 상기 사용자의 의도에 기초하여 사용자에게 명령을 추천해줄 수 있다. 예를 들어, 프로세서(150)는 제안 모듈(149c)을 실행하여 사용자의 현재 상태(예: 시간, 장소, 상황, 앱)에 따라 사용자에게 명령을 추천해줄 수 있다.
도 3은 본 발명의 일 실시 예에 따른 사용자 단말의 지능형 앱을 실행시키는 것을 나타낸 도면이다.
도 3을 참조하면, 사용자 단말(100)이 사용자 입력을 수신하여 지능형 에이전트(145)와 연동된 지능형 앱(예: 음성 인식 앱)을 실행시키는 것을 나타낸 것이다.
일 실시 예에 따르면, 사용자 단말(100)은 하드웨어 키(112)를 통해 음성을 인식하기 위한 지능형 앱을 실행시킬 수 있다. 예를 들어, 사용자 단말(100)은 하드웨어 키(112)를 통해 사용자 입력을 수신한 경우 디스플레이(120)에 지능형 앱의 UI(user interface)(121)를 표시할 수 있다. 사용자는, 예를 들어, 지능형 앱의 UI(121)가 디스플레이(120)에 표시된 상태에서 음성을 입력(111b)하기 위해 지능형 앱의 UI(121)에 음성인식 버튼(121a)를 터치할 수 있다. 사용자는, 다른 예를 들어, 음성을 입력(120b)하기 위해 상기 하드웨어 키(112)를 지속적으로 눌러서 음성을 입력(120b)을 할 수 있다.
일 실시 예에 따르면, 사용자 단말(100)은 마이크(111)를 통해 음성을 인식하기 위한 지능형 앱을 실행시킬 수 있다. 예를 들어, 사용자 단말(100)은 마이크(111)를 통해 지정된 음성(예: 일어나!(wake up!))이 입력(111a)된 경우 디스플레이(120)에 지능형 앱의 UI(121)를 표시할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 지능형 서비스 모듈의 컨텍스트 모듈이 현재 상태를 수집하는 것을 나타낸 도면이다.
도 4를 참조하면, 프로세서(150)는 지능형 에이전트(145)로부터 컨텍스트 요청을 수신(①)하면, 컨텍스트 모듈(149a)을 통해 앱(141, 143)의 현재 상태를 나타내는 컨텍스트 정보를 요청(②)할 수 있다. 일 실시 예에 따르면, 프로세서(150)는 컨텍스트 모듈(149a)을 통해 앱(141, 143)으로부터 상기 컨텍스트 정보를 수신(③)하여 지능형 에이전트(145)로 송신(④)할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 컨텍스트 모듈(149a)을 통해 앱(141, 143)으로부터 복수의 컨텍스트 정보를 전달 받을 수 있다. 상기 컨텍스트 정보는, 예를 들어, 가장 최근 실행된 앱(141, 143)에 대한 정보일 수 있다. 상기 컨텍스트 정보는, 다른 예를 들어, 앱(141, 143) 내의 현재 상태에 대한 정보(예: 갤러리에서 사진을 보고 있는 경우, 해당 사진에 대한 정보)일 수 있다.
일 실시 예에 따르면, 프로세서(150)는 컨텍스트 모듈(149a)을 통해 앱(141, 143)뿐만 아니라, 디바이스 플랫폼(device platform)으로부터 사용자 단말(100)의 현재 상태를 나타내는 컨텍스트 정보를 수신할 수 있다. 상기 컨텍스트 정보는 일반적 컨텍스트 정보, 사용자 컨텍스트 정보 또는 장치 컨텍스트 정보를 포함할 수 있다.
상기 일반적 컨텍스트 정보는 사용자 단말(100)의 일반적인 정보를 포함할 수 있다. 상기 일반적 컨텍스트 정보는 디바이스 플랫폼의 센서 허브 등을 통해 데이터를 전달 받아서 내부 알고리즘을 통해 확인될 수 있다. 예를 들어, 상기 일반적 컨텍스트 정보는 현재 시공간에 대한 정보를 포함할 수 있다. 상기 현재 시공간에 대한 정보는, 예를 들어, 현재 시간 또는 사용자 단말(100)의 현재 위치에 대한 정보를 포함할 수 있다. 상기 현재 시간은 사용자 단말(100) 상에서의 시간을 통해 확인될 수 있고, 상기 현재 위치에 대한 정보는 GPS(global positioning system)를 통해 확인될 수 있다. 다른 예를 들어, 상기 일반적 컨텍스트 정보는 물리적 움직임에 대한 정보를 포함할 수 있다. 상기 물리적 움직임에 대한 정보는, 예를 들어, 걷기, 뛰기, 운전 중 등에 대한 정보를 포함할 수 있다. 상기 물리적 움직임 정보는 모션 센서(motion sensor)를 통해 확인될 수 있다. 상기 운전 중에 대한 정보는 상기 모션 센서를 통해 운행을 확인할 수 있을 뿐만 아니라, 차량 내의 블루투스 연결을 감지하여 탑승 및 주차를 확인할 수 있다. 또 다른 예를 들어, 상기 일반적 컨텍스트 정보는 사용자 활동 정보를 포함할 수 있다. 상기 사용자 활동 정보는, 예를 들어, 출퇴근, 쇼핑, 여행 등에 대한 정보를 포함할 수 있다. 상기 사용자 활동 정보는 사용자 또는 앱이 데이터베이스에 등록한 장소에 대한 정보를 이용하여 확인될 수 있다.
상기 사용자 컨텍스트 정보는 사용자에 대한 정보를 포함할 수 있다. 예를 들어, 상기 사용자 컨텍스트 정보는 사용자의 감정적 상태에 대한 정보를 포함할 수 있다. 상기 감정적 상태에 대한 정보는, 예를 들어, 사용자의 행복, 슬픔, 화남 등에 대한 정보를 포함할 수 있다. 다른 예를 들어, 상기 사용자 컨텍스트 정보는 사용자의 현재 상태에 대한 정보를 포함할 수 있다. 상기 현재 상태에 대한 정보는, 예를 들어, 관심, 의도 등(예: 쇼핑)에 대한 정보를 포함할 수 있다.
상기 장치 컨텍스트 정보는 사용자 단말(100)의 상태에 대한 정보를 포함할 수 있다. 예를 들어, 상기 장치 컨텍스트 정보는 실행 매니저 모듈(147)이 실행한 패스 룰에 대한 정보를 포함할 수 있다. 다른 예를 들어, 상기 디바이스 정보는 배터리에 대한 정보를 포함할 수 있다. 상기 배터리에 대한 정보는, 예를 들어, 상기 배터리의 충전 및 방전 상태를 통해 확인될 수 있다. 또 다른 예를 들어, 상기 디바이스 정보는 연결된 장치 및 네트워크에 대한 정보를 포함할 수 있다. 상기 연결된 장치에 대한 정보는, 예를 들어, 상기 장치가 연결된 통신 인터페이스를 통해 확인될 수 있다.
도 5는 본 발명의 일 실시 예에 따른 지능형 서비스 모듈의 제안 모듈을 나타낸 블록도이다.
도 5를 참조하면, 제안 모듈(149c)은 힌트 제공 모듈(149c_1), 컨텍스트 힌트 생성 모듈(149c_2), 조건 체킹 모듈(149c_3), 조건 모델 모듈(149c_4), 재사용 힌트 생성 모듈(149c_5) 또는 소개 힌트 생성 모듈(149c_6)을 포함할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 힌트 제공 모듈(149c_1)을 실행하여 사용자에게 힌트(hint)를 제공할 수 있다. 예를 들어, 프로세서(150)는 힌트 제공 모듈(149c_1)을 통해 컨텍스트 힌트 생성 모듈(149c_2), 재사용 힌트 생성 모듈(149c_5) 또는 소개 힌트 생성 모듈(149c_6)로부터 생성된 힌트를 전달 받아 사용자에게 힌트를 제공할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 조건 체킹 모듈(149c_3) 또는 조건 모델 모듈(149c_4)을 실행하여 현재 상태에 따라 추천될 수 있는 힌트를 생성할 수 있다. 프로세서(150)는 조건 체킹 모듈(149c_3)을 실행하여 현재 상태에 대응되는 정보를 전달 받을 수 있고, 조건 모델 모듈(149c_4)을 실행하여 상기 전달 받은 정보를 이용하여 조건 모델(condition model)을 설정할 수 있다. 예를 들어, 프로세서(150)는 조건 모델 모듈은(149c_4)을 실행하여 사용자에게 힌트를 제공하는 시점의 시간, 위치, 상황 사용중인 앱 등을 파악하여 해당 조건에서 사용할 가능성이 높은 힌트를 우선 순위가 높은 순으로 사용자에게 제공할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 재사용 힌트 생성 모듈(149c_5)을 실행하여 사용 빈도에 따라 추천될 수 있는 힌트를 생성할 수 있다. 예를 들어, 프로세서(150)는 재사용 힌트 생성 모듈(149c_5)을 실행하여 사용자의 사용 패턴에 기초한 힌트를 생성할 수 있다.
일 실시 예에 따르면, 소개 힌트 생성 모듈(149c_6)은 사용자에게 신규 기능 또는 다른 사용자가 많이 쓰는 기능을 소개하는 힌트를 생성할 수 있다. 예를 들어, 상기 신규 기능을 소개하는 힌트에는 지능형 에이전트(145)에 대한 소개(예: 작동 방법)를 포함할 수 있다.
다른 실시 예에 따르면, 제안 모듈(149c)의 컨텍스트 힌트 생성 모듈(149c_2), 조건 체킹 모듈(149c_3), 조건 모델 모듈(149c_4), 재사용 힌트 생성 모듈(149c_5) 또는 소개 힌트 생성 모듈(149c_6)은 개인화 정보 서버(300)에 포함될 수 있다. 예를 들어, 프로세서(150)는 제안 모듈(149c)의 힌트 제공 모듈(149c_1)을 통해 사용자 개인화 정보 서버(300)의 컨텍스트 힌트 생성 모듈(149c_2), 재사용 힌트 생성 모듈(149c_5) 또는 소개 힌트 생성 모듈(149c_6)로부터 힌트를 수신하여 사용자에게 상기 수신된 힌트를 제공할 수 있다.
일 실시 예에 따르면, 사용자 단말(100)은 다음의 일련의 프로세스에 따라 힌트를 제공할 수 있다. 예를 들어, 프로세서(150)는 지능형 에이전트(145)로부터 힌트 제공 요청을 수신하면, 힌트 제공 모듈(149c_1)을 통해 컨텍스트 힌트 생성 모듈(149c_2)로 힌트 생성 요청을 전달할 수 있다. 프로세서(150)는 상기 힌트 생성 요청을 전달 받으면, 조건 체킹 모듈(149c_3)을 통해 컨텍스트 모듈(149a) 및 페르소나 모듈(149b)로부터 현재 상태에 대응되는 정보를 전달 받을 수 있다. 프로세서(150)는 조건 체킹 모듈(149c_3)을 통해 상기 전달 받은 정보를 조건 모델 모듈(149c_4)로 전달하고, 조건 모델 모듈(149c_4)을 통해 상기 정보를 이용하여 사용자에게 제공되는 힌트 중 상기 조건에 사용 가능성이 높은 순서로 힌트에 대해 우선순위를 부여 할 수 있다. 프로세서(150)는 컨텍스트 힌트 생성 모듈(149c_2)을 통해 상기 조건을 확인하고, 상기 현재 상태에 대응되는 힌트를 생성할 수 있다. 프로세서(150)는 컨텍스트 힌트 생성 모듈(149c_2)을 통해 상기 생성된 힌트를 힌트 제공 모듈(149c_1)로 전달할 수 있다. 프로세서(150)는 힌트 제공 모듈(149c_1)을 통해 지정된 규칙에 따라 상기 힌트를 정렬하고, 상기 힌트를 지능형 에이전트(145)로 전달할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 힌트 제공 모듈(149c_1)을 통해 복수의 컨텍스트 힌트를 생성할 수 있고, 지정된 규칙에 따라 복수의 컨텍스트 힌트에 우선 순위를 지정할 수 있다. 일 실시 예에 따르면, 프로세서(150)는 힌트 제공 모듈(149c_1)을 통해 상기 복수의 컨텍스트 힌트 중에서 우선 순위가 높은 것을 사용자에게 먼저 제공할 수 있다.
일 실시 예에 따르면, 사용자 단말(100)은 사용 빈도에 따른 힌트를 제안할 수 있다. 예를 들어, 프로세서(150)는 지능형 에이전트(145)로부터 힌트 제공 요청을 전달 받으면, 힌트 제공 모듈(149c_1)을 통해 재사용 힌트 생성 모듈(149c_5)로 힌트 생성 요청을 전달할 수 있다. 프로세서(150)는 상기 힌트 생성 요청을 전달 받으면, 재사용 힌트 생성 모듈(149c_5)를 통해 페르소나 모듈(149b)로부터 사용자 정보를 전달 받을 수 있다. 예를 들어, 프로세서(150)는 재사용 힌트 생성 모듈(149c_5)을 통해 페르소나 모듈(149b)의 사용자의 프리퍼런스 정보에 포함된 패스 룰, 패스 룰에 포함된 파라미터, 앱의 실행 빈도, 앱이 사용된 시공간 정보를 전달 받을 수 있다. 프로세서(150)는 재사용 힌트 생성 모듈(149c_5)을 통해 상기 전달 받은 사용자 정보에 대응되는 힌트를 생성할 수 있다. 프로세서(150)는 재사용 힌트 생성 모듈(149c_5)을 통해 상기 생성된 힌트를 힌트 제공 모듈(149c_1)로 전달할 수 있다. 프로세서(150)는 힌트 제공 모듈(149c_1)을 통해 상기 힌트를 정렬하고, 상기 힌트를 지능형 에이전트(145)로 전달할 수 있다.
일 실시 예에 따르면, 사용자 단말(100)은 새로운 기능에 대한 힌트를 제안할 수 있다. 예를 들어, 프로세서(150)는 지능형 에이전트(145)로부터 힌트 제공 요청을 전달 받으면, 힌트 제공 모듈(149c_1)을 통해 소개 힌트 생성 모듈(149c_6)로 힌트 생성 요청을 전달할 수 있다. 프로세서(150)는 소개 힌트 생성 모듈(149c_6)을 통해 제안 서버(400)로부터 소개 힌트 제공 요청을 전달하여 제안 서버(400)로부터 소개될 기능에 대한 정보를 수신할 수 있다. 제안 서버(400)는, 예를 들어, 소개될 기능에 대한 정보를 저장할 수 있고, 상기 소개될 기능에 대한 힌트 리스트(hint list)는 서비스 운영자에 의해 업데이트될 수 있다. 프로세서(150)는 소개 힌트 생성 모듈(149c_6)을 통해 상기 생성된 힌트를 힌트 제공 모듈(149c_1)로 전달할 수 있다. 프로세서(150)는 힌트 제공 모듈(149c_1)을 통해 상기 힌트를 정렬하고, 상기 힌트를 지능형 에이전트(145)로 전송()할 수 있다.
이에 따라, 프로세서(150)는 제안 모듈(149c)을 통해 컨텍스트 힌트 생성 모듈(149c_2), 재사용 힌트 생성 모듈(149c_5) 또는 소개 힌트 생성 모듈(149c_6)에서 생성된 힌트를 사용자에게 제공할 수 있다. 예를 들어, 프로세서(150)는 제안 모듈(149c)을 통해 상기 생성된 힌트를 지능형 에이전트(145)을 동작시키는 앱에 표시할 수 있고, 상기 앱을 통해 사용자로부터 상기 힌트를 선택하는 입력을 수신할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 통합 지능화 시스템의 지능형 서버를 나타낸 블록도이다.
도 6을 참조하면, 지능형 서버(200)는 자동 음성 인식(automatic speech recognition)(ASR) 모듈(210), 자연어 이해(natural language understanding)(NLU) 모듈(220), 패스 플래너(path planner) 모듈(230), 대화 매니저(dialogue manager)(DM) 모듈(240), 자연어 생성(natural language generator)(NLG) 모듈(250) 또는 텍스트 음성 변환(text to speech)(TTS) 모듈(260)을 포함할 수 있다. 일 실시 예에 따르면, 지능형 서버(200)는 통신 회로, 메모리 및 프로세서를 포함할 수 있다. 상기 프로세서는 상기 메모리에 저장된 명령어를 실행하여 자동 음성 인식 모듈(210), 자연어 이해 모듈(220), 패스 플래너 모듈(230), 대화 매니저 모듈(240), 자연어 생성 모듈(250) 및 텍스트 음성 변환 모듈(260)을 구동시킬 수 있다. 지능형 서버(200)는 상기 통신 회로를 통해 외부 전자 장치(예: 사용자 단말(100))와 데이터(또는, 정보)를 송수신할 수 있다.
지능형 서버(200)의 자연어 이해 모듈(220) 또는 패스 플래너 모듈(230)은 패스 룰(path rule)을 생성할 수 있다.
일 실시 예에 따르면, 자동 음성 인식(automatic speech recognition)(ASR) 모듈(210)은 사용자 단말(100)로부터 수신된 사용자 입력을 텍스트 데이터로 변환할 수 있다.
일 실시 예에 따르면, 자동 음성 인식 모듈(210)은 사용자 단말(100)로부터 수신된 사용자 입력을 텍스트 데이터로 변환할 수 있다. 예를 들어, 자동 음성 인식 모듈(210)은 발화 인식 모듈을 포함할 수 있다. 상기 발화 인식 모듈은 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 예를 들어, 상기 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 상기 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 상기 발화 인식 모듈은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자 발화를 텍스트 데이터로 변환할 수 있다. 상기 음향 모델 및 언어 모델에 대한 정보는, 예를 들어, 자동 음성 인식 데이터베이스(automatic speech recognition database)(ASR DB)(211)에 저장될 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 상기 문법적 분석은 사용자 입력을 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 상기 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 상기 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 이에 따라, 자연어 이해 모듈(220)은 사용자 입력이 어느 도메인(domain), 의도(intent) 또는 상기 의도를 표현하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))를 얻을 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 도메인(domain), 의도(intend) 및 상기 의도를 파악하는데 필요한 파라미터(parameter)(또는, 슬롯(slot))로 나누어진 매칭 규칙을 이용하여 사용자의 의도 및 파라미터를 결정할 수 있다. 예를 들어, 상기 하나의 도메인(예: 알람)은 복수의 의도(예: 알람 설정, 알람 해제 등)를 포함할 수 있고, 하나의 의도는 복수의 파라미터(예: 시간, 반복 횟수, 알람음 등)을 포함할 수 있다. 복수의 룰은, 예를 들어, 하나 이상의 필수 요소 파라미터를 포함할 수 있다. 상기 매칭 규칙은 자연어 인식 데이터베이스(natural language understanding database)(NLU DB)(221)에 저장될 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 형태소, 구 등의 언어적 특징(예: 문법적 요소)을 이용하여 사용자 입력으로부터 추출된 단어의 의미를 파악하고, 상기 파악된 단어의 의미를 도메인 및 의도에 매칭시켜 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 각각의 도메인 및 의도에 사용자 입력에서 추출된 단어가 얼마나 포함되어 있는 지를 계산하여 사용자 의도를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(220)은 상기 의도를 파악하는데 기초가 된 단어를 이용하여 사용자 입력의 파라미터를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(220)은 사용자 입력의 의도를 파악하기 위한 언어적 특징이 저장된 자연어 인식 데이터베이스(221)를 이용하여 사용자의 의도를 결정할 수 있다. 다른 실시 예에 따르면, 자연어 이해 모듈(220)은 개인화 언어 모델(personal language model)(PLM)을 이용하여 사용자의 의도를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 개인화된 정보(예: 연락처 리스트, 음악 리스트)를 이용하여 사용자의 의도를 결정할 수 있다. 상기 개인화 언어 모델은, 예를 들어, 자연어 인식 데이터베이스(221)에 저장될 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(220)뿐만 아니라 자동 음성 인식 모듈(210)도 자연어 인식 데이터베이스(221)에 저장된 개인화 언어 모델을 참고하여 사용자의 음성을 인식할 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 사용자 입력의 의도 및 파라미터에 기초하여 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 사용자 입력의 의도에 기초하여 실행될 앱을 선택하고, 상기 선택된 앱에서 수행될 동작을 결정할 수 있다. 상자연어 이해 모듈(220)은 상기 결정된 동작에 대응되는 파라미터를 결정하여 패스 룰을 생성할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(220)에 의해 생성된 패스 룰은 실행될 앱, 상기 앱에서 실행될 동작(예: 적어도 하나 이상의 상태(state)) 및 상기 동작을 실행하는데 필요한 파라미터에 대한 정보를 포함할 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 사용자 입력의 의도 및 파라미터를 기반으로 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 패스 플래너 모듈(230)로부터 사용자 단말(100)에 대응되는 패스 룰 셋을 수신하고, 사용자 입력의 의도 및 파라미터를 상기 수신된 패스 룰 셋에 매핑하여 패스 룰을 결정할 수 있다.
다른 실시 예에 따르면, 자연어 이해 모듈(220)은 사용자 입력의 의도 및 파라미터에 기초하여 실행될 앱, 상기 앱에서 실행될 동작 및 상기 동작을 실행하는데 필요한 파라미터를 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 사용자 단말(100)의 정보를 이용하여 상기 실행될 앱 및 상기 앱에서 실행될 동작을 사용자 입력의 의도에 따라 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 배열하여 패스 룰을 생성할 수 있다. 상기 생성된 패스 룰은, 예를 들어, 패스 플래너 모듈(230)를 통해 패스 룰 데이터베이스(path rule database)(PR DB)(231)에 저장될 수 있다. 상기 생성된 패스 룰은 데이터베이스(231)의 패스 룰 셋에 추가될 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 생성된 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 상기 복수의 패스 룰 최적의 패스 룰을 선택할 수 있다. 다른 예를 들어, 자연어 이해 모듈(220)은 사용자 발화에 기초하여 일부 동작만이 특정된 경우 복수의 패스 룰을 선택할 수 있다. 자연어 이해 모듈(220)은 사용자의 추가 입력에 의해 상기 복수의 패스 룰 중 하나의 패스 룰을 결정할 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 사용자 입력에 대한 요청으로 패스 룰을 사용자 단말(100)로 송신할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 사용자 입력에 대응되는 하나의 패스 룰을 사용자 단말(100)로 송신할 수 있다. 다른 예를 들어, 자연어 이해 모듈(220)은 사용자 입력에 대응되는 복수의 패스 룰을 사용자 단말(100)로 송신할 수 있다. 상기 복수의 패스 룰은, 예를 들어, 사용자 발화에 기초하여 일부 동작만이 특정된 경우 자연어 이해 모듈(220)에 의해 생성될 수 있다.
일 실시 예에 따르면, 패스 플래너 모듈(230)은 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다.
일 실시 예에 따르면, 패스 플래너 모듈(230)은 자연어 이해 모듈(220)로 복수의 패스 룰을 포함하는 패스 룰 셋을 전달할 수 있다. 상기 패스 룰 셋의 복수의 패스 룰은 패스 플래너 모듈(230)에 연결된 패스 룰 데이터베이스(231)에 테이블 형태로 저장될 수 있다. 예를 들어, 패스 플래너 모듈(230)은 지능형 에이전트(145)로부터 수신된 사용자 단말(100)의 정보(예: OS 정보, 앱 정보)에 대응되는 패스 룰 셋을 자연어 이해 모듈(220)로 전달할 수 있다. 상기 패스 룰 데이터베이스(231)에 저장된 테이블은, 예를 들어, 도메인 또는 도메인의 버전 별로 저장될 수 있다.
일 실시 예에 따르면, 패스 플래너 모듈(230)은 패스 룰 셋에서 하나의 패스 룰, 또는 복수의 패스 룰을 선택하여 자연어 이해 모듈(220)로 전달할 수 있다. 예를 들어, 패스 플래너 모듈(230)은 사용자의 의도 및 파라미터를 사용자 단말(100) 에 대응되는 패스 룰 셋에 매칭하여 하나의 패스 룰, 또는 복수의 패스 룰을 선택하여 자연어 이해 모듈(220)로 전달할 수 있다.
일 실시 예에 따르면, 패스 플래너 모듈(230)은 사용자 의도 및 파라미터를 이용하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 패스 플래너 모듈(230)은 사용자 의도 및 파라미터에 기초하여 실행될 앱 및 상기 앱에서 실행될 동작을 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 일 실시 예에 따르면, 패스 플래너 모듈(230)은 상기 생성된 패스 룰을 패스 룰 데이터베이스(231)에 저장할 수 있다.
일 실시 예에 따르면, 패스 플래너 모듈(230)은 자연어 이해 모듈(220)에서 생성된 패스 룰을 패스 룰 데이터베이스(231)에 저장할 수 있다. 상기 생성된 패스 룰은 패스 룰 데이터베이스(231)에 저장된 패스 룰 셋에 추가될 수 있다.
일 실시 예에 따르면, 패스 룰 데이터베이스(231)에 저장된 테이블에는 복수의 패스 룰 또는 복수의 패스 룰 셋을 포함할 수 있다. 복수의 패스 룰 또는 복수의 패스 룰 셋은 각 패스 룰을 수행하는 장치의 종류, 버전, 타입, 또는 특성을 반영할 수 있다.
일 실시 예에 따르면, 대화 매니저 모듈(240)은 자연어 이해 모듈(220)에 의해 파악된 사용자의 의도가 명확한지 여부를 판단할 수 있다. 예를 들어, 대화 매니저 모듈(240)은 파라미터의 정보가 충분하지 여부에 기초하여 사용자의 의도가 명확한지 여부를 판단할 수 있다. 대화 매니저 모듈(240)은 자연어 이해 모듈(220)에서 파악된 파라미터가 태스크를 수행하는데 충분한지 여부를 판단할 수 있다. 일 실시 예에 따르면, 대화 매니저 모듈(240)은 사용자의 의도가 명확하지 않은 경우 사용자에게 필요한 정보를 요청하는 피드백을 수행할 수 있다. 예를 들어, 대화 매니저 모듈(240)은 사용자의 의도를 파악하기 위한 파라미터에 대한 정보를 요청하는 피드백을 수행할 수 있다.
일 실시 예에 따르면, 대화 매니저 모듈(240)은 컨텐츠 제공(content provider) 모듈을 포함할 수 있다. 상기 컨텐츠 제공 모듈은 자연어 이해 모듈(220)에서 파악된 의도 및 파라미터에 기초하여 동작을 수행할 수 있는 경우, 사용자 입력에 대응되는 태스크를 수행한 결과를 생성할 수 있다. 일 실시 예에 따르면, 대화 매니저 모듈(240)은 사용자 입력에 대한 응답으로 상기 컨텐츠 제공 모듈에서 생성된 상기 결과를 사용자 단말(100)로 송신할 수 있다.
일 실시 예에 따르면, 자연어 생성 모듈(NLG)(250)은 지정된 정보를 텍스트 형태로 변경할 수 있다. 상기 텍스트 형태로 변경된 정보는 자연어 발화의 형태일 수 있다. 상기 지정된 정보는, 예를 들어, 추가 입력에 대한 정보, 사용자 입력에 대응되는 동작의 완료를 안내하는 정보 또는 사용자의 추가 입력을 안내하는 정보(예: 사용자 입력에 대한 피드백 정보)일 수 있다. 상기 텍스트 형태로 변경된 정보는 사용자 단말(100)로 송신되어 디스플레이(120)에 표시되거나, 텍스트 음성 변환 모듈(260)로 송신되어 음성 형태로 변경될 수 있다.
일 실시 예에 따르면, 텍스트 음성 변환 모듈(260)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다. 텍스트 음성 변환 모듈(260)은 자연어 생성 모듈(250)로부터 텍스트 형태의 정보를 수신하고, 상기 텍스트 형태의 정보를 음성 형태의 정보로 변경하여 사용자 단말(100)로 송신할 수 있다. 사용자 단말(100)은 상기 음성 형태의 정보를 스피커(130)로 출력할 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220), 패스 플래너 모듈(230) 및 대화 매니저 모듈(240)은 하나의 모듈로 구현될 수 있다. 예를 들어, 자연어 이해 모듈(220), 패스 플래너 모듈(230) 및 대화 매니저 모듈(240)은 하나의 모듈로 구현되어 사용자의 의도 및 파라미터를 결정하고, 상기 결정된 사용자의 의도 및 파라미터에 대응되는 응답(예: 패스 룰)을 생성할 수 있다. 이에 따라, 생성된 응답은 사용자 단말(100)로 송신될 수 있다.
도 7은 본 발명의 일 실시 예에 따른 패스 플래너 모듈(path planner module)의 패스 룰(path rule)을 생성하는 방법을 나타낸 도면이다.
도 7은 참조하면, 일 실시 예에 따른, 자연어 이해 모듈(220)은 앱의 기능을 어느 하나 동작(예: 상태 A 내지 상태 F)으로 구분하여 패스 룰 데이터베이스(231)에 저장할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 어느 하나의 동작(예: 상태)으로 구분된 복수의 패스 룰(A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F)을 포함하는 패스 룰 셋을 패스 룰 데이터베이스(231)에 저장할 수 있다.
일 실시 예에 따르면, 패스 플래너 모듈(230)의 패스 룰 데이터베이스(231)는 앱의 기능을 수행하기 위한 패스 룰 셋을 저장할 수 있다. 상기 패스 룰 셋은 복수의 동작(예: 상태들의 시퀀스)을 포함하는 복수의 패스 룰을 포함할 수 있다. 상기 복수의 패스 룰은 복수의 동작 각각에 입력되는 파라미터에 따라 실행되는 동작이 순차적으로 배열될 수 있다. 일 실시 예에 따르면, 상기 복수의 패스 룰은 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 구성되어 패스 룰 데이터베이스(231)에 저장될 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 사용자 입력의 의도 및 파라미터에 대응되는 상기 복수의 패스 룰(A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F) 중에 최적의 패스 룰(A-B1-C3-D-F)을 선택할 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 사용자 입력에 완벽히 매칭되는 패스 룰이 없는 경우 사용자 단말(100)에 복수의 룰을 전달할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 사용자 입력에 부분적으로 대응된 패스 룰(예: A-B1)을 선택할 수 있다. 자연어 이해 모듈(220)은 사용자 입력에 부분적으로 대응된 패스 룰(예: A-B1)을 포함하는 하나 이상의 패스 룰(예: A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F)을 선택하여 사용자 단말(100)에 전달할 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 사용자 단말(100)의 추가 입력에 기초하여 복수의 패스 룰 중 하나를 선택하고, 상기 선택된 하나의 패스 룰을 사용자 단말(100)에 전달 할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 사용자 단말(100)에서 추가로 입력된 사용자 입력(예: C3를 선택하는 입력)에 따라 복수의 패스 룰(예: A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F) 중 하나의 패스 룰(예: A-B1-C3-D-F)을 선택하여 사용자 단말(100)에 송신할 수 있다.
또 다른 실시 예에 따르면, 자연어 이해 모듈(220)은 자연어 이해 모듈(220)을 통해 사용자 단말(100)에 추가로 입력된 사용자 입력(예: C3를 선택하는 입력)에 대응되는 사용자의 의도 및 파라미터를 결정할 수 있고, 상기 결정된 사용자의 의도 또는 파라미터를 사용자 단말(100)로 송신할 수 있다. 사용자 단말(100)은 상기 송신된 의도 또는 상기 파라미터에 기초하여, 복수의 패스 룰(예: A-B1-C1, A-B1-C2, A-B1-C3-D-F, A-B1-C3-D-E-F) 중 하나의 패스 룰(예: A-B1-C3-D-F)을 선택할 수 있다.
이에 따라, 사용자 단말(100)은 상기 선택된 하나의 패스 룰에 의해 앱(141, 143)의 동작을 완료시킬 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 정보가 부족한 사용자 입력이 지능형 서버(200)에 수신된 경우, 상기 수신한 사용자 입력에 부분적으로 대응되는 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(220)은 상기 부분적으로 대응된 패스 룰을 지능형 에이전트(145)로 송신할 수 있다. 프로세서(150)는 지능형 에이전트(145)를 실행하여 상기 패스 룰을 수신하고, 실행 매니저 모듈(147)로 상기 부분적으로 대응된 패스 룰을 전달할 수 있다. 프로세서(150)는 실행 매니저 모듈(147)를 통해 상기 패스 룰에 따라 제1 앱(141)을 실행시킬 수 있다. 프로세서(150)는 실행 매니저 모듈(147)을 통해 제1 앱(141)을 실행하면서 부족한 파라미터에 대한 정보를 지능형 에이전트(145)로 송신할 수 있다. 프로세서(150)는 지능형 에이전트(145)를 통해 상기 부족한 파라미터에 대한 정보를 이용하여 사용자에게 추가 입력을 요청할 수 있다. 프로세서(150)는 지능형 에이전트(145)를 통해 사용자에 의해 추가 입력이 수신되면 사용자 입력을 지능형 서버(200)로 송신하여 처리할 수 있다. 자연어 이해 모듈(220)은 상기 추가로 입력된 사용자 입력의 의도 및 파라미터 정보에 기초하여 추가된 패스 룰을 생성하여 지능형 에이전트(145)로 송신할 수 있다. 프로세서(150)는 지능형 에이전트(145)를 통해 실행 매니저 모듈(147)로 상기 패스 룰을 송신하여 제2 앱(143)을 실행할 수 있다.
일 실시 예에 따르면, 자연어 이해 모듈(220)은 일부 정보가 누락된 사용자 입력이 지능형 서버(200)에 수신된 경우, 개인화 정보 서버(300)로 사용자 정보 요청을 송신할 수 있다. 개인화 정보 서버(300)는 페르소나 데이터베이스에 저장된 사용자 입력을 입력한 사용자의 정보를 자연어 이해 모듈(220)로 송신할 수 있다. 자연어 이해 모듈(220)은 상기 사용자 정보를 이용하여 일부 동작이 누락된 사용자 입력에 대응되는 패스 룰을 선택할 수 있다. 이에 따라, 자연어 이해 모듈(220)은 일부 정보가 누락된 사용자 입력이 지능형 서버(200)에 수신되더라도, 누락된 정보를 요청하여 추가 입력을 받거나 사용자 정보를 이용하여 상기 사용자 입력에 대응되는 패스 룰을 결정할 수 있다.
하기에 첨부된 표 1은 일 실시 예에 따른 사용자가 요청한 태스크와 관련한 패스 룰의 예시적 형태를 나타낼 수 있다.
Figure PCTKR2018012202-appb-I000001
표 1을 참조하면, 사용자 발화(예: "사진 공유해줘")에 따라 지능형 서버(도 1의 지능형 서버(200))에서 생성 또는 선택되는 패스 룰은 적어도 하나의 상태(state)(25, 26, 27, 28, 29 또는 30)를 포함할 수 있다. 예를 들어, 상기 적어도 하나의 상태 (예: 단말의 어느 한 동작 상태)는 사진 어플리케이션 실행(PicturesView)(25), 사진 검색 기능 실행(SearchView)(26), 검색 결과 표시 화면 출력(SearchViewResult)(27), 사진이 미(non)선택된 검색 결과 표시 화면 출력(SearchEmptySelectedView)(28), 적어도 하나의 사진이 선택된 검색 결과 표시 화면 출력(SearchSelectedView)(29) 또는 공유 어플리케이션 선택 화면 출력(CrossShare)(30) 중 적어도 하나에 해당될 수 있다.
일 실시 예에서, 상기 패스 룰의 파라미터 정보는 적어도 하나의 상태(state)에 대응될 수 있다. 예를 들어, 상기 적어도 하나의 사진이 선택된 검색 결과 표시 화면 출력(29) 상태에 포함될 수 있다.
상기 상태(25, 26, 27, 28, 29)들의 시퀀스를 포함한 패스 룰의 수행 결과 사용자가 요청한 태스크 (예: "사진 공유해줘!")가 수행될 수 있다.
도 8은 본 발명의 일 실시 예에 따른 지능형 서비스 모듈의 페르소나 모듈(persona module)이 사용자의 정보를 관리하는 것을 나타낸 도면이다.
도 8을 참조하면, 프로세서(150)는 페르소나 모듈(149b)을 통해 앱(141, 143), 실행 매니저 모듈(147) 또는 컨텍스트 모듈(149a)로부터 사용자 단말(100)의 정보를 전달 받을 수 있다. 프로세서(150)는 앱(141, 143) 및 실행 매니저 모듈(147)을 통해 앱의 동작(141b, 143b)을 실행한 결과 정보를 동작 로그 데이터베이스에 저장할 수 있다. 프로세서(150)는 컨텍스트 모듈(149a)을 통해 사용자 단말(100)의 현재 상태에 대한 정보를 컨텍스트 데이터베이스에 저장할 수 있다. 프로세서(150)는 페르소나 모듈(149b)을 통해 상기 동작 로그 데이터베이스 또는 상기 컨텍스트 데이터베이스로부터 상기 저장된 정보를 전달 받을 수 있다. 상기 동작 로그 데이터베이스 및 상기 컨텍스트 데이터베이스에 저장된 데이터는, 예를 들어, 분석 엔진(analysis engine)에 의해 분석되어 페르소나 모듈(149b)로 전달될 수 있다.
일 실시 예에 따르면, 프로세서(150)는 페르소나 모듈(149b)을 통해 앱(141, 143), 실행 매니저 모듈(147) 또는 컨텍스트 모듈(149a)로부터 수신한 정보를 제안 모듈(149c)로 송신할 수 있다. 예를 들어, 프로세서(150)는 페르소나 모듈(149b)을 통해 상기 동작 로그 데이터베이스 또는 상기 컨텍스트 데이터베이스에 저장된 데이터를 제안 모듈(149c)로 전달할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 페르소나 모듈(149b)을 통해 앱(141, 143), 실행 매니저 모듈(147) 또는 컨텍스트 모듈(149a)로부터 전달 받은 정보를 개인화 정보 서버(300)로 송신할 수 있다. 예를 들어, 프로세서(150)는 페르소나 모듈(149b)을 통해 상기 동작 로그 데이터베이스 또는 상기 컨텍스트 데이터베이스에 누적되어 저장된 데이터를 주기적으로 개인화 정보 서버(300)에 송신할 수 있다.
일 실시 예에 따르면, 프로세서(150)는 페르소나 모듈(149b)을 통해 상기 동작 로그 데이터베이스 또는 상기 컨텍스트 데이터베이스에 저장된 데이터를 제안 모듈(149c)로 전달할 수 있다. 페르소나 모듈(149b)통해 생성된 사용자 정보는 페르소나 데이터베이스에 저장될 수 있다. 페르소나 모듈(149b)는 상기 페르소나 데이터베이스에 저장된 사용자 정보를 주기적으로 개인화 정보 서버(300)로 송신할 수 있다. 일 실시 예에 따르면, 페르소나 모듈(149b)을 통해 개인화 정보 서버(300)로 송신된 정보는 페르소나 데이터베이스에 저장될 수 있다. 개인화 정보 서버(300)는 상기 페르소나 데이터베이스에 저장된 정보를 이용하여 지능형 서버(200)의 패스 룰 생성에 필요한 사용자 정보를 추론할 수 있다.
일 실시 예에 따르면, 페르소나 모듈(149b)을 통해 송신된 정보를 이용하여 추론된 사용자 정보는 프로파일(profile) 정보 또는 프리퍼런스(preference) 정보를 포함할 수 있다. 상기 프로파일 정보 또는 프리퍼런스 정보는 사용자의 계정(account) 및 누적된 정보를 통해 추론될 수 있다.
상기 프로파일 정보는 사용자의 신상 정보를 포함할 수 있다. 예를 들어, 상기 프로파일 정보는 사용자의 인구 통계 정보를 포함할 수 있다. 상기 인구 통계 정보는, 예를 들어, 사용자의 성(gender), 나이 등을 포함할 수 있다. 다른 예를 들어, 상기 프로파일 정보는 라이프 이벤트(life event) 정보를 포함할 수 있다. 상기 라이프 이벤트 정보는, 예를 들어, 로그 정보를 라이프 이벤트 모델(life event model)과 비교하여 추론되고, 행동 패턴(behavior patter)을 분석하여 보강될 수 있다. 또 다른 예를 들어, 상기 프로파일 정보는 관심(interest) 정보를 포함할 수 있다. 상기 관심 정보는, 예를 들어, 관심 쇼핑 물품, 관심 분야(예: 스포츠, 정치 등) 등을 포함할 수 있다. 또 다른 예를 들어, 상기 프로파일 정보는 활동 지역 정보를 포함할 수 있다. 상기 활동 지역 정보는, 예를 들어, 집, 일하는 곳 등에 대한 정보를 포함할 수 있다. 상기 활동 지역에 대한 정보는 장소의 위치에 대한 정보뿐만 아니라 누적 체류 시간 및 방문 횟수를 기준으로 우선 순위가 기록된 지역에 대한 정보를 포함할 수 있다. 또 다른 예를 들어, 상기 프로파일 정보는 활동 시간 정보를 포함할 수 있다. 상기 활동 시간 정보는, 예를 들어, 기상 시간, 출퇴근 시간, 수면 시간 등에 대한 정보을 포함할 수 있다. 상기 출퇴근 시간에 대한 정보는 상기 활동 지역 정보(예: 집 및 일하는 곳에 대한 정보)를 이용하여 추론될 수 있다. 상기 수면 시간에 대한 정보는 사용자 단말(100)의 미사용 시간을 통해 추론될 수 있다.
상기 프리퍼런스 정보는 사용자의 선호도 정보를 포함할 수 있다. 예를 들어, 상기 프리퍼런스 정보는 앱 선호도에 대한 정보를 포함할 수 있다. 상기 앱 선호도는, 예를 들어, 앱의 사용 기록(예: 시간별, 장소별 사용 기록)을 통해 추론될 수 있다. 상기 앱의 선호도는 사용자의 현재 상태(예: 시간, 장소)에 따라 실행될 앱을 결정하기 위해 이용될 수 있다. 다른 예를 들어, 상기 프리퍼런스 정보는 연락처 선호도에 대한 정보를 포함할 수 있다. 상기 연락처 선호도는, 예를 들어, 연락처의 연락 빈도(예: 시간별, 장소별 연락하는 빈도) 정보를 분석하여 추론될 수 있다. 상기 연락처 선호도는 사용자의 현재 상태(예: 중복된 이름에 대한 연락)에 따라 연락할 연락처를 결정하기 위해 이용될 수 있다. 또 다른 예를 들어, 상기 프리퍼런스 정보는 세팅(setting) 정보를 포함할 수 있다. 상기 세팅 정보는, 예를 들어, 특정 세팅 값의 설정 빈도(예: 시간별, 장소별 세팅 값으로 설정하는 빈도) 정보를 분석하여 추론될 수 있다. 상기 세팅 정보는 사용자의 현재 상태(예: 시간, 장소, 상황)에 따라 특정 세팅 값을 설정하기 위해 이용될 수 있다. 또 다른 예를 들어, 상기 프리퍼런스 정보는 장소 선호도를 포함할 수 있다. 상기 장소 선호도는, 예를 들어, 특정 장소의 방문 기록(예: 시간별 방문 기록)을 통해 추론될 수 있다. 상기 장소 선호도는 사용자의 현재 상태(예: 시간)에 따라 방문하고 있는 장소를 결정하기 위하여 이용될 수 있다. 또 다른 예를 들어, 상기 프리퍼런스 정보는 명령 선호도를 포함할 수 있다. 상기 명령 선호도는, 예를 들어, 명령 사용 빈도(예: 시간별, 장소별 사용 빈도)를 통해 추론될 수 있다. 상기 명령 선호도는 사용자의 현재 상태(예: 시간, 장소)에 따라 사용될 명령어 패턴을 결정하기 위해 이용될 수 있다. 특히, 상기 명령 선호도는 로그 정보를 분석하여 실행되고 있는 앱의 현재 상태에서 사용자가 가장 많이 선택한 메뉴에 대한 정보를 포함할 수 있다.
도 9는 본 발명의 다양한 실시 예들에 따라 음성 명령을 처리하기 위한 시스템을 설명하기 위한 개념도이다. 이하 설명에서, 서버(920)는 도 1의 지능형 서버(200), 개인화 정보 서버(300), 및 제안 서버(400) 중 적어도 하나를 포함할 수 있다.
도 9를 참조하면, 음성 명령을 처리하기 위한 시스템은, 전자 장치(910), 서버(920), 및 오디오 출력 장치(930)를 포함할 수 있다. 일 실시 예에 따르면, 음성 명령을 처리하기 위한 시스템은 다수 개의 전자 장치들(미도시)를 더 포함할 수도 있다.
다양한 실시 예들에 따르면, 전자 장치(910)는 다수 개의 개구들(911)을 포함하는 원형의 상단면, 평평한 원형의 하단면, 및 상단면과 하단면 사이의 공간을 둘러싸는 측면을 포함하는 하우징을 포함할 수 있다. 다만, 이에 제한되지 않는다. 예를 들어, 하우징은 다각형의 상단면, 평평한 다각형의 하단면, 및 상단면과 하단면 사이의 공간을 둘러싸는 측면으로 구성될 수도 있다. 또한, 다수 개의 개구들(911)은 하우징의 하단면 또는 측면에 위치하거나 하우징의 상단면, 하단면, 및 측면 중 둘 이상의 면에 위치할 수도 있다.
다양한 실시 예들에 따르면, 전자 장치(910)는 전자 장치(910)의 주변에서 발생하는 오디오 신호(예: 사용자(940)의 음성 신호, 오디오 출력 장치(930)를 통해 출력되는 오디오 신호 등)를 수신하기 위한 마이크를 포함할 수 있다. 일 실시 예에 따르면, 마이크는 하우징 내부에 위치하고, 하우징의 상단면의 다수 개의 개구들(911)을 향하도록 배치될 수 있다. 다만, 이에 제한되지 않는다.
다양한 실시 예들에 따르면, 전자 장치(910)는 오디오 출력 장치(903)와 유선 또는 무선으로 연결하기 위한 오디오 출력 인터페이스(913)를 포함할 수 있다. 일 실시 예에 따르면, 오디오 출력 인터페이스(913)는 전자 장치(910)의 하우징의 측면에 배치될 수 있다. 다만, 이에 제한되지 않는다.
다양한 실시 예들에 따르면, 전자 장치(910)는 전자 장치(910)의 배터리에 전원을 공급하기 위한 전원 입력 인터페이스(915)를 포함할 수 있다. 일 실시 예에 따르면, 전원 입력 인터페이스(915)는 전자 장치(910)의 하우징의 측면에 배치될 수 있다. 다만 이에 제한되지 않는다.
다양한 실시 예들에 따르면, 전자 장치(910)는 음성 인식 서비스를 사용자(940)에게 제공할 수 있다. 예를 들어, 전자 장치(910)는 마이크를 통해 사용자(940)가 발화한 음성 신호에 기반하여 음성 인식 서비스를 제공할 수 있다.
다양한 실시 예들에 따르면, 전자 장치(910)는 서버(920)와 통신할 수 있다. 예를 들어, 전자 장치(910)는 마이크를 통해 수신된 사용자의 음성 신호를 서버(920)로 제공하고, 음성 신호에 대한 응답을 서버(920)로부터 수신할 수 있다.
다양한 실시 예들에 따르면, 전자 장치(910)는 오디오 출력 장치(930)와 연결될 수 있다. 예를 들어, 전자 장치(910)는 오디오 출력 장치(930)와 유선 또는 무선으로 연결될 수 있다. 전자 장치(910)는 유선 또는 무선으로 연결된 오디오 출력 장치(930)로 오디오 신호를 출력함으로써, 사용자(940)에게 음성 인식 서비스를 제공할 수 있다.
다양한 실시 예들에 따르면, 서버(920)는 전자 장치(910)와 통신 연결을 수행할 수 있다. 서버(920)는 통신 연결된 전자 장치(910)로부터 사용자(940)가 발화환 음성 신호를 수신할 있다. 서버(920)는 수신된 음성 신호에 대한 응답을 생성한 후, 생성된 응답을 전자 장치(910)로 전송할 수 있다. 일 실시 예에 따르면, 오디오 신호에 대한 응답은 전자 장치(910)로 직접적으로 전송되거나 또는 적어도 하나의 다른 전자 장치(미도시)를 통해 전자 장치(910)로 전송될 수 있다.
다양한 실시 예들에 따르면, 오디오 출력 장치(930)는 전자 장치(910)와 연결되며, 전자 장치(910)로부터 전송된 오디오 신호를 출력할 수 있다. 일 실시 예에 따르면, 오디오 출력 장치(930)는 전자 장치(910)와 연결되는 시점에 오디오 출력 장치(930)에 대한 정보(예: 오디오 출력 장치(930)의 성능에 대한 정보)를 전자 장치(910)로 제공하거나, 또는 전자 장치(910)로부터 정보 요청이 수신된 경우, 오디오 출력 장치(910)에 대한 정보를 전자 장치(910)로 제공할 수 있다.
다양한 실시 예들에 따르면, 음성 명령을 처리하기 위한 시스템은 전자 장치(910)와 동일 또는 유사한 능력(capability), 특성(characteristic), 또는 속성(attribute)을 갖는 적어도 하나의 다른 전자 장치(미도시)를 더 포함할 수 있다. 일 실시 예에 따르면, 적어도 하나의 다른 전자 장치는 데스크톱 컴퓨터(desktop computer), TV(television), 냉장고(refrigerator), 세탁기(washing machine), 에어컨(air conditioner), 스마트 전등(light), LFD(large format display), 디지털 사이너지(digital sinage), 또는 미러 디스플레이(mirror display) 스마트폰(smartphone), 테블릿(tablet) 컴퓨터, 랩탑(laptop) 컴퓨터, 휴대용(portable) 게임기, 휴대용 음악 재생기, 또는 청소기(vacuum cleaner) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예들에 따르면, 전자 장치(910)는 적어도 하나의 다른 전자 장치와 양방향 통신을 수행하거나 또는 단방향 통신을 수행할 수 있다.
도 10은 본 발명의 다양한 실시 예들에 따른 전자 장치의 블록도이다.
도 10을 참조하면, 전자 장치(910)는 프로세서(1001), 마이크(1003), 오디오 출력 인터페이스(1005), 및 통신 회로(1007)를 포함할 수 있다. 일 실시 예에 따르면, 전자 장치(910)는 도10에 포함된 구성 요소들 이외에 추가적인 구성 요소를 더 포함할 수도 있다. 예를 들어, 전자 장치(910)는 메모리(미도시), 디스플레이(미도시), 전원 입력 인터페이스(미도시) 중 적어도 하나의 구성 요소를 더 포함할 수도 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 전자 장치(910)의 전반적인 동작을 제어할 수 있다. 프로세서(1001)는 전자 장치(910)의 전반적인 동작을 제어하기 위해, 마이크(1003), 오디오 출력 인터페이스(1005), 통신 회로(1007), 메모리(미도시)와 같은 다른 구성 요소와 작동적으로 결합될 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 하나의 프로세서 코어(core)를 포함하거나, 복수의 프로세서 코어들을 포함할 수 있다. 예를 들어, 프로세서(1001)는 듀얼 코어(dual-core), 쿼드 코어(quad-core), 헥사 코어(hexa-core) 등의 멀티 코어(multi-core)를 포함할 수 있다. 일 실시 예에 따르면, 프로세서(1001)는 프로세서(1001)의 내부 또는 외부에 위치된 캐시 메모리(cache memory)를 더 포함할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 전자 장치(910)의 다른 구성 요소들의 명령을 수신할 수 있고, 수신된 명령을 해석할 수 있으며, 해석된 명령에 따라 계산을 수행하거나 데이터를 처리할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 전자 장치(910) 내에서 야기되는 데이터 또는 신호를 처리할 수 있다. 예를 들어, 프로세서(1001)는 메모리(미도시)에게 명령어(또는 데이터, 또는 신호)를 요청할 수 있다. 프로세서(1001)는 전자 장치(910)의 제어 또는 전자 장치(910) 내의 다른 구성 요소를 제어하기 위해 메모리 내에 명령어(또는 데이터, 또는 신호)를 기록(또는 저장)하거나 갱신할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 마이크(1003), 오디오 출력 인터페이스(1005), 통신 회로(1007), 메모리(미도시) 등으로부터 수신되는 데이터, 명령어, 또는 신호를 해석할 수 있고, 가공할 수 있다. 프로세서(1001)는 수신된 데이터, 명령어, 또는 신호를 마이크(1003), 오디오 출력 인터페이스(1005), 통신 회로(1007) 등에게 제공할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 적어도 하나의 프로세서를 포함할 수 있다. 예를 들어, 프로세서(1001)는 어플리케이션 등과 같은 사이 계층의 프로그램을 제어하는 어플리케이션 프로세서(AP(application processor)), 통신과 관련된 기능을 제어하는 통신 프로세서(CP(communication processor)), 또는 오디오 신호와 관련된 인코딩과 디코딩을 제어하는 오디오 코덱 칩(audio codec chip) 중 하나 이상을 포함할 수 있다. 일 실시 예에 따르면, 오디오 신호와 관련된 인코딩과 디코딩을 제어하는 오디오 코덱 칩은 프로세서(1001)와 분리되어 별도의 구성 요소로 배치될 수도 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 마이크(1003)를 통해 오디오 신호를 수신할 수 있다. 예를 들어, 프로세서(1001)는 마이크(1003)를 통해 사용자(예: 사용자(940))가 발화한 음성 신호를 수신할 수 있다. 일 실시 예에 따르면, 음성 신호는 웨이크-업 커맨드(wake-up command)(또는 웨이크 워드(wake word))(예: "헤이 XXX", "하이 XXX")를 포함할 수 있다. 웨이크-업 커맨드는 슬립 모드로 동작하는 전자 장치(910)를 웨이크-업시키는 명령어로 이용될 수 있다. 슬립 모드는 전자 장치(910)의 구성 요소들 중 적어도 하나의 구성 요소가 비활성화되는 모드일 수 있다. 일 실시 예에 따르면, 음성 신호는 음성 명령(예: "오늘 날씨는 어때?", "지금 몇 시야?" 등)을 포함할 수 있다. 음성 명령은 음성 신호가 사용자의 의해 야기되는 목적 또는 이유와 관련될 수 있다. 예를 들어, 음성 명령은 사용자가 전자 장치(910)를 통해 제공받길 원하는 서비스에 대한 정보를 포함할 수 있다. 일 실시 예에 따르면, 음성 신호는 웨이크-업 커맨드와 음성 명령을 함께 포함할 수 있다. 예를 들어, 음성 신호는 "하이 XXX 오늘 날씨는 어때?"와 같이, 웨이크-업 커맨드와 음성 명령을 함께 포함할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 마이크(1003)를 통해 수신된 오디오 신호에서 웨이크-업 커맨드를 인식(또는 식별)할 수 있다. 프로세서(1001)는 마이크(1003)를 통해 수신된 오디오 신호와 메모리(미도시)에 기 저장된 웨이크-업 커맨드를 비교함으로써, 웨이크-업 커맨드를 인식할 수 있다. 프로세서(1001)는 웨이크-업 커맨드가 인식된 경우, 웨이크-업 커맨드의 수신과 연관된 정보를 생성할 수 있다. 웨이크-업 커맨드의 수신과 연관된 정보는 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 웨이크-업 커맨드의 품질에 대한 정보를 포함할 수 있다. 웨이크-업 커맨드의 품질에 대한 정보는 마이크(1003)를 통해 수신된 웨이크-업 커맨드의 음량에 대한 정보, 마이크(1003)를 통해 수신된 웨이크-업 커맨드와 전자 장치(910)의 메모리(미도시)에 기 저장된 웨이크-업 커맨드의 일치도에 대한 정보, 또는 마이크(1003)를 통해 수신된 웨이크-업 커맨드와 웨이크-업 커맨드의 수신 이전 또는 이후에 지정된 시간 동안 마이크(1003)를 통해 수신된 오디오 신호(잡음으로 간주되는 오디오 신호) 간의 신호 대 잡음비(signal-to-noise ratio)에 대한 정보 중 적어도 하나의 정보를 포함할 수 있다. 일 실시 예에 따르면, 웨이크-업 커맨드의 수신과 연관된 정보는 전자 장치(910)의 식별 정보, 전자 장치(910)의 등록 계정 정보, 전자 장치(910)의 등록 위치 정보(예: 거실, 주방, 안방 등), 또는 전자 장치(910)와 연결된 오디오 출력 장치(예: 오디오 출력 장치(930))의 정보(예: 오디오 출력 장치의 성능에 대한 정보), 오디오 출력 장치의 연결 여부에 대한 정보 중 적어도 하나의 정보를 추가적으로 포함할 수 있다.
다양한 실시 예들에 다르면, 프로세서(1001)는 통신 회로(1007)를 통해 서버(예: 서버(920))로 웨이크-업 커맨드와 관련된 정보를 전송할 수 있다. 서버는 웨이크-업 커맨드의 수신과 연관된 정보가 수신된 경우, 수신된 정보에 대한 응답을 생성하여 전자 장치(910)로 제공할 수 있다. 수신된 정보에 대한 응답은 전자 장치(910)가 입출력 장치로 결정되었음을 나타내는(또는 활성화되었음을 나타내는) 비 언어 음(non-language sound)(예: 신호음)(또는 언어 음(language sound))의 제1 오디오 신호를 생성하기 위한 정보를 포함할 수 있다. 일 실시 예에 따르면, 서버는 전자 장치(910)로부터 웨이크-업 커맨드의 수신과 연관된 정보를 수신한 이후 지정된 시간 내에 전자 장치(910)의 등록 계정과 동일한 등록 계정으로 등록된 적어도 하나의 다른 전자 장치로부터 웨이크-업 커맨드의 수신과 연관된 정보가 추가적으로 수신된 경우, 각각의 전자 장치로부터 수신된 정보에 기반하여 전자 장치(910) 및 적어도 하나의 다른 전자 장치 중 어느 하나의 장치를 입출력 장치로 결정할 수 있다. 서버는 결정된 입출력 장치로 웨이크-업 커맨드의 수신과 연관된 정보에 대한 응답을 전송할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 통신 회로(1007)를 통해 서버(예: 서버(920))로부터 웨이크-업 커맨드의 수신과 연관된 정보에 대한 응답을 수신할 수 있다. 프로세서(1009)는 서버로부터 수신된 응답에 기반하여 전자 장치(910)가 입출력 장치로 결정됨을 나타내는(또는 전자 장치(910)가 웨이크-업 됨을 나타내는) 제1 오디오 신호를 생성할 수 있다. 프로세서(1009)는 오디오 출력 인터페이스(1005)를 통해 생성된 제1 오디오 신호를 출력할 수 있다. 오디오 출력 인터페이스(1005)를 통해 출력된 제1 오디오 신호는 전자 장치(910)와 연결된 오디오 출력 장치(예: 오디오 출력 장치(930))로 제공되어 소리로 출력될 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 통신 회로(1007)를 통해 마이크(1003)를 통해 수신한 음성 명령을 서버(예: 서버(920))로 전송할 수 있다. 예를 들어, 프로세서(1001)는 통신 회로(1007)를 통해 "오늘 날씨 어때?"와 같은 음성 명령을 서버로 전송할 수 있다. 이 경우, 서버는 전자 장치(910)로부터 수신된 음성 명령에 대한 응답을 생성할 수 있다. 예를 들어, 서버는 다른 전자 장치로부터 오늘의 날씨에 대한 정보(예: 맑음)를 획득한 후, 획득된 정보에 기반하여 전자 장치(910)에 제공될 응답을 생성할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 통신 회로(1007)를 통해 서버(예: 서버(920))로부터 음성 명령에 대한 응답을 수신할 수 있다. 프로세서(1009)는 수신된 응답에 기반하여 제2 오디오 신호(예: "오늘 날씨는 맑음입니다")를 생성할 수 있다. 프로세서(1009)는 오디오 출력 인터페이스(1005)를 통해 제2 오디오 신호를 출력할 수 있다. 오디오 출력 인터페이스(1005)를 통해 출력된 제2 오디오 신호는 오디오 출력 장치(예: 오디오 출력 장치(930))로 제공되어 출력될 수 있다.
다양한 실시 예들에 따르면, 프로세서(1001)는 전자 장치(910)가 음성 인식 서비스를 사용자에게 제공할 수 없는 상태인 경우, 통신 회로(1007)를 통해 입출력 장치의 변경을 요청하는 신호를 서버(예: 서버(920))로 전송할 수 있다. 음성 인식 서비스를 사용자에게 제공할 수 없는 상태는, 전자 장치(210)와 연결된 오디오 출력 장치(예: 오디오 출력 장치(930))가 사람이 청취할 수 없는 정도의 음량으로 오디오 신호를 출력하는 상태, 전자 장치와 연결된 오디오 출력 장치의 전원이 오프(off)된 상태, 또는 전자 장치와 오디오 출력 장치의 연결이 해제된 상태 중 적어도 하나의 상태를 포함할 수 있다. 프로세서(1001)는 입출력 장치의 변경을 요청하는 신호를 서버로 전송한 경우, 전자 장치의 동작 모드를 슬립 모드로 전환할 수 있다.
다양한 실시 예들에 따르면, 마이크(1003)는 전자 장치(910)의 외부에서 야기되는 오디오 신호를 수신하기 위해 이용될 수 있다. 예를 들어, 마이크(1003)는 전자 장치(910)와 관련된 사용자(예: 사용자(940))가 발화한 음성 신호 또는 전자 장치(910)와 연결된 오디오 출력 장치(예: 오디오 출력 장치(930))에서 출력되는 오디오 신호 등을 수신할 수 있다. 마이크(1003)는 수신된 오디오 신호를 프로세서(1001)에 제공할 수 있다.
다양한 실시 예들에 따르면, 오디오 출력 인터페이스(1005)는 오디오 출력 장치(예: 오디오 출력 장치(930))와 유선 또는 무선으로 연결하기 위해 이용될 수 있다. 예를 들어, 오디오 출력 인터페이스(1005)는 블루투스(bluetooth) 통신 기법, BLE (bluetooth low energy) 통신 기법, 또는 Wi-Fi(wireless fidelity) 통신 기법 중 적어도 하나를 위한 회로를 포함하거나 또는 유선 통신 기법을 위한 회로를 포함할 수 있다.
다양한 실시 예들에 따르면, 통신 회로(1007)는 서버(예: 서버(920)) 또는 다른 전자 장치 사이의 통신 경로를 생성하거나 수립하기 위해 이용될 수 있다. 예를 들어, 통신 회로(1007)는 블루투스(bluetooth) 통신 기법, BLE(bluetooth low energy) 통신 기법, Wi-Fi(wireless fidelity) 통신 기법, 셀룰러(cellular 또는 모바일(mobile)) 통신 기법, 또는 유선 통신 기법 중 적어도 하나를 위한 회로를 포함할 수 있다. 통신 회로(1007)는 상기 다른 전자 장치로부터 수신되는 신호, 정보, 데이터, 또는 메시지를 프로세서(1001)로 제공할 수 있다. 통신 인터페이스(1007)는 프로세서(1001)로부터 제공되는 신호, 정보, 데이터, 또는 메시지를 서버 또는 다른 전자 장치로 전송할 수 있다.
도 11은 본 발명의 다양한 실시 예들에 따른 서버의 블록도이다.
도 11을 참조하면, 서버(920)는 프로세서(1101) 및 통신 회로(1103)를 포함할 수 있다. 일 실시 예에 따르면, 서버(920)는 도 11에 포함된 구성 요소들 이외에 추가적인 구성 요소를 더 포함할 수 있다. 예를 들어, 서버(920)는 메모리(미도시) 등의 구성 요소를 더 포함할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1101)는 서버(920)의 전반적인 동작을 제어할 수 있다. 프로세서(1101)는 서버(920)의 전반적인 동작을 제어하기 위해, 통신 회로(1103) 및 메모리(미도시) 등의 구성 요소와 작동적으로 결합될 수 있다.
다양한 실시 예들에 따르면, 프로세서(1101)는 하나의 프로세서 코어(core)를 포함하거나, 복수의 프로세서 코어들을 포함할 수 있다. 예를 들어, 프로세서(1101)는 듀얼 코어(dual-core), 쿼드 코어(quad-core), 헥사 코어(hexa-core) 등의 멀티 코어(multi-core)를 포함할 수 있다. 일 실시 예에 따르면, 프로세서(1101)는 프로세서(1101)의 내부 또는 외부에 위치된 캐시 메모리(cache memory)를 더 포함할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1101)는 서버(920)의 다른 구성 요소들의 명령을 수신할 수 있고, 수신된 명령을 해석할 수 있으며, 해석된 명령에 따라 계산을 수행하거나 데이터를 처리할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1101)는 서버(920) 내에서 야기되는 명령어, 데이터, 또는 신호를 처리할 수 있다. 예를 들어, 프로세서(1101)는 메모리(미도시)에게 명령어, 데이터, 또는 신호를 요청할 수 있다. 프로세서(1101)는 서버(920)의 제어 또는 서버(920) 내의 다른 구성 요소를 제어하기 위해 메모리 내에 명령어, 데이터, 또는 신호를 기록(또는 저장)하거나 갱신할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1101)는 통신 회로(1103), 메모리(미도시) 등으로부터 수신되는 명령어, 데이터, 또는 신호를 해석할 수 있고, 가공할 수 있다. 프로세서(1101)는 수신된 명령어, 데이터, 또는 신호에 기반하여 새로운 명령어, 데이터, 또는 신호를 생성할 수 있다. 프로세서(1101)는 가공되거나 생성된 명령어, 데이터, 또는 신호를 통신 회로(1103), 메모리 등에게 제공할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1101)는 통신 회로(1103)를 통해 전자 장치로부터 웨이크-업 커맨드의 수신과 연관된 정보를 수신할 수 있다. 프로세서(1101)는 전자 장치로부터 웨이크-업 커맨드의 수신과 연관된 정보를 수신한 것에 대응하여 웨이크-업 커맨드의 수신과 연관된 정보에 대한 응답을 생성할 수 있다. 예를 들어, 프로세서(1101)는 전자 장치가 입출력 장치로 결정되었음을 나타내는 비 언어 음의 제1 오디오 신호를 생성하기 위한 정보를 포함하는 응답을 생성할 수 있다. 일 실시 예에 따르면, 프로세서(1101)는 통신 회로(1103)를 통해 동일한 등록 계정 정보로 등록된 다수 개의 전자 장치 각각으로부터 웨이크-업 커맨드의 수신과 연관된 정보를 수신할 수 있다. 프로세서(1101)는 다수 개의 전자 장치들로부터 각각 수신된 정보에 기반하여 다수 개의 전자 장치들 어느 하나의 전자 장치를 입출력 장치로 결정할 수 있다. 예를 들어, 프로세서(1101)는 다수 개의 전자 장치들 각각으로부터 수신된 정보에 기반하여 각각의 전자 장치가 수신한 웨이크-업 커맨드의 품질(예: 음량, 일치도 등)을 확인할 수 있다. 프로세서(1101)는 다수 개의 전자 장치들 중 가장 좋은 품질의 웨이크-업 커맨드를 수신한 어느 하나의 전자 장치를 입출력 장치로 결정할 수 있다. 프로세서(1101)는 입출력 장치로 결정된 전자 장치로부터 수신된 정보에 대한 응답을 생성한 후, 통신 회로(1103)를 통해 생성된 정보를 입출력 장치로 결정된 전자 장치로 전송할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1101)는 통신 회로(1103)를 통해 전자 장치(예: 전자 장치(910))로부터 음성 명령(예: "지금 몇 시야?")을 수신할 수 있다. 프로세서(1101)는 음성 명령의 수신에 대응하여 음성 명령에 대한 응답을 생성할 수 있다. 예를 들어, 프로세서(1101)는 다른 전자 장치로부터 음성 명령과 관련된 정보(예: 오전 10시)를 획득할 수 있다. 프로세서(1101)는 획득된 정보에 기반하여 음성 명령에 대한 응답을 생성하고, 통신 회로(1103)를 통해 생성된 응답을 전자 장치로 전송할 수 있다.
다양한 실시 예들에 따르면, 프로세서(1101)는 통신 회로(1103)를 통해 입출력 장치로 결정된 전자 장치(예: 전자 장치(910))로부터 입출력 장치의 변경을 요청하는 신호를 수신할 수 있다. 프로세서(1101)는 웨이크-업 커맨드의 수신과 관련된 정보를 전송한 다수 개의 전자 장치들 중 입출력 장치의 변경을 요청하는 신호를 전송한 전자 장치를 제외한 나머지 전자 장치에서 어느 하나의 다른 전자 장치를 입출력 장치로 변경할 수 있다. 예를 들어, 프로세서(1101)는 나머지 전자 장치 중 가장 좋은 품질의 웨이크-업 커맨드를 수신한 다른 전자 장치를 입출력 장치로 변경할 수 있다. 프로세서(1101)는 통신 회로(1103)를 통해 입출력 장치로 변경된 다른 전자 장치로 음성 명령에 대한 응답을 전송할 수 있다.
다양한 실시 예들에 따르면, 통신 회로(1103)는 서버(920)와 적어도 하나의 전자 장치(예: 전자 장치(920)) 사이의 통신 경로를 생성하거나 수립하기 위해 이용될 수 있다. 예를 들어, 통신 회로(1103)는 Wi-Fi(wireless fidelity) 통신 기법, 셀룰러(cellular) 또는 모바일(mobile) 통신 기법, 또는 유선 통신 기법 중 적어도 하나를 위한 회로를 포함할 수 있다. 통신 회로(1103)는 전자 장치로부터 수신되는 신호, 정보, 데이터, 또는 메시지를 프로세서(1101)로 제공할 수 있다. 통신 회로(1103)는 프로세서(1101)로부터 제공되는 신호, 정보, 데이터, 또는 메시지를 전자 장치로 송신할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 전자 장치(예: 전자 장치(910))는, 선택된 패턴의 다수 개의 개구들(예: 개구들(911))을 포함하는 원형의 상단면, 평평한 원형의 하단면, 및 상기 상단면과 상기 하단면 사이의 공간을 둘러싸는 측면을 포함하는 하우징과, 상기 측면에 형성된 오디오 출력 인터페이스(예: 오디오 출력 인터페이스(913 또는 1005))와, 상기 측면에 형성된 전원 입력 인터페이스(예: 전원 입력 인터페이스(915))와, 상기 하우징 내부에 위치하고 상기 개구들을 향하는 마이크와, 무선 통신 회로(예: 통신 회로(1007))와, 상기 오디오 출력 인터페이스, 전원 입력 인터페이스, 마이크(예: 마이크(1003)), 및 통신 회로와 작동적으로 연결된 프로세서, 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 마이크를 통해 웨이크-업 커맨드(wake-up command)를 수신하고, 상기 웨이크-업 커맨드를 인식하고, 상기 통신 회로를 통해 상기 웨이크-업 커맨드의 수신과 연관된 정보를 서버로 전송하고, 상기 통신 회로를 통해 상기 서버로부터 응답을 수신하고, 상기 응답에 기반하여 제1 오디오 신호를 생성하고, 상기 마이크가 이용 가능한 동안 상기 오디오 출력 인터페이스를 통해 상기 제1 오디오 신호를 출력하도록 하는 인스트럭션들을 저장할 수 있으며, 상기 오디오 신호는, 비 언어 음(non-language sound)일 수 있다.
다양한 실시 예들에 따르면, 상기 인스트럭션들은, 상기 프로세서가, 상기 제1 오디오 신호가 출력된 후 상기 마이크를 통해 비 언어 음을 수신하고, 상기 비 언어 음과 상기 제1 오디오 신호와 적어도 일부가 일치하는지 여부를 결정하고, 상기 통신 회로를 통해 상기 결정에 대한 정보를 상기 서버로 전송하도록 할 수 있다.
다양한 실시 예들에 따르면, 상기 웨이크-업 커맨드의 수신과 연관된 정보는, 상기 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 상기 웨이크-업 커맨드의 품질에 대한 정보를 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 웨이크-업 커맨드의 품질에 대한 정보는, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드의 음량, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드와 상기 메모리에 기 저장된 웨이크-업 커맨드의 일치도, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드와 상기 웨이크-업 커맨드의 수신 이전 또는 이후에 상기 마이크를 통해 수신된 오디오 신호 간의 신호 대 잡음비(signal-to-noise ratio) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 웨이크-업 커맨드의 수신과 연관된 정보는, 상기 통신 회로를 통해 상기 전자 장치의 식별 정보, 상기 전자 장치의 등록 계정 정보, 상기 전자 장치의 등록 위치 정보, 상기 전자 장치와 연결된 오디오 출력 장치에 대한 정보 중 적어도 하나의 정보를 더 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 인스트럭션들은, 상기 프로세서가, 상기 마이크를 통해 음성 명령(voice command)을 수신하고, 상기 통신 회로를 통해 상기 음성 명령을 상기 서버로 전송하고, 상기 통신 회로를 통해 상기 서버로부터 상기 음성 명령에 대한 응답을 수신한 경우, 상기 응답에 기반하여 제2 오디오 신호를 생성하고, 상기 오디오 출력 인터페이스를 통해 상기 제2 오디오 신호를 출력하도록 할 수 있으며, 상기 제2 오디오 신호는 비 언어 음 또는 언어 음(language sound)일 수 있다.
다양한 실시 예들에 따르면, 상기 인스트럭션들은, 상기 프로세서가, 상기 서버로부터 상기 음성 명령에 대한 응답이 수신되지 않는 경우, 상기 오디오 출력 인터페이스를 통해 상기 음성 명령과 관련된 정보를 제공할 수 없음을 알리는 제3 오디오 신호를 출력할 수 있으며, 상기 제3 오디오 신호는, 상기 메모리에 기 저장된 오디오 신호일 수 있다.
다양한 실시 예들에 따르면, 상기 전자 장치는 상기 오디오 출력 인터페이스를 통해 오디오 출력 장치와 연결되고, 상기 인스트럭션들은, 상기 프로세서가, 상기 전자 장치와 상기 오디오 출력 장치의 연결이 해제된 경우, 상기 통신 회로를 통해 상기 오디오 출력 장치와의 연결 해제됨을 나타내는 정보 및 입출력 장치의 변경을 요청하는 신호를 상기 서버로 전송하고, 상기 전자 장치의 동작 모드를 슬립 모드로 전환하도록 할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 서버(예: 서버(920))는, 통신 회로(예: 통신 회로(1103))와, 상기 통신 회로와 작동적으로 연결된 프로세서(예: 프로세서(1101)), 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 통신 회로를 통해 다수 개의 전자 장치들 각각으로부터 웨이크-업 커맨드(wake-up command)의 수신과 연관된 정보를 수신하고, 상기 정보에 기반하여 상기 다수 개의 전자 장치들 중 제1 전자 장치를 입출력 장치로 결정하고, 상기 정보에 대한 응답을 생성하고, 상기 통신 회로를 통해 상기 응답을 상기 제1 전자 장치로 전송할 수 있으며, 상기 정보는, 상기 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 상기 웨이크-업 커맨드의 품질을 나타내는 정보를 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 웨이크-업 커맨드의 품질을 나타내는 정보는, 전자 장치의 마이크를 통해 수신된 웨이크-업 커맨드의 음량, 전자 장치의 마이크를 통해 수신된 웨이크-업 커맨드와 전자 장치에 기 저장된 웨이크-업 커맨드의 일치도, 전자 장치의 마이크를 통해 수신된 웨이크-업 커맨드와 상기 웨이크-업 커맨드의 수신 이전 또는 이후에 수신된 오디오 신호 간의 신호 대 잡음비(signal-to-noise ratio) 중 적어도 하나를 포함할 수 있다.
도 12는 본 발명의 다양한 실시 예들에 따라 전자 장치가 웨이크 업 하는 방법을 설명하기 위한 흐름도이다.
도 12를 참조하면, 동작 1201에서, 전자 장치(예: 전자 장치(910))의 프로세서(예: 프로세서(1001))는 웨이크-업 커맨드(wake-up command)를 수신할 수 있다. 예를 들어, 프로세서는, 전자 장치가 슬립 모드(sleep mode)로 동작하는 동안 전자 장치에 구비된 마이크(예: 마이크(1003))를 이용하여 사용자(예: 사용자(940))가 발화한 웨이크-업 커맨드(예: "헤이 XXX", "하이 XXX" 등)를 수신할 수 있다. 여기서, 슬립 모드는 전자 장치가 소비하는 전력을 줄이기 위해 전자 장치의 적어도 일부 구성 요소를 비활성화시키는 모드를 포함할 수 있다. 웨이크-업 커맨드는 슬립 모드로 동작하는 전자 장치를 웨이크 업(wake-up)시키는 기 정의된 음성 명령으로, 제품 판매자, 개발자에 의해 기 설정되거나, 또는 사용자에 의해 설정 및 변경될 수 있다.
동작 1203에서, 프로세서는 웨이크-업 커맨드를 인식할 수 있다. 예를 들어, 프로세서는 마이크를 통해 수신된 웨이크-업 커맨드와 전자 장치의 메모리에 기 저장된 웨이크-업 커맨드를 비교함으로써, 두 웨이크-업 커맨드 간의 일치도를 확인할 수 있다. 프로세서는 두 웨이크-업 커맨드 간의 일치도가 제1 임계값 이상인 경우, 웨이크-업 커맨드가 인식된 것으로 판단할 수 있다. 여기서, 제1 임계값은 웨이크-업 커맨드가 수신되는지 여부를 판단하기 위한 기준값으로서, 제조사, 개발자, 또는 사용자에 의해 설정 또는 변경될 수 있다. 프로세서는 웨이크-업 커맨드가 인식된 경우, 전자 장치를 웨이크-업(wake-up)(예: 슬립 모드에서 비활성화된 전자 장치의 구성 요소들을 활성화)시킬 수 있다. 일 실시 예에 따르면, 프로세서는 웨이크-업 커맨드가 인식된 경우, 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 웨이크-업 커맨드의 품질에 대한 정보를 생성할 수 있다. 웨이크-업 커맨드의 품질에 대한 정보는 마이크를 통해 수신된 웨이크-업 커맨드의 음량에 대한 정보, 마이크를 통해 수신된 웨이크-업 커맨드와 전자 장치의 메모리에 기 저장된 웨이크-업 커맨드의 일치도에 대한 정보, 또는 마이크를 통해 수신된 웨이크-업 커맨드와 웨이크-업 커맨드의 수신 이전 또는 이후에 지정된 시간 동안 마이크를 통해 수신된 오디오 신호(잡음으로 간주되는 오디오 신호) 간의 신호 대 잡음비(signal-to-noise ratio)에 대한 정보 중 적어도 하나의 정보를 포함할 수 있다.
동작 1205에서, 프로세서는 웨이크-업 커맨드의 수신과 연관된 정보를 서버(예: 서버(920))로 전송할 수 있다. 예를 들어, 프로세서는 통신 회로(예: 통신 회로(1007))를 통해 웨이크-업 커맨드가 수신됨을 나타내는 정보 또는 웨이크-업 커맨드의 품질에 대한 정보 중 적어도 하나의 정보를 서버로 전송할 수 있다. 일 실시 예에 따르면, 웨이크-업 커맨드의 수신과 연관된 정보는 전자 장치의 식별 정보, 전자 장치의 등록 계정 정보, 전자 장치의 등록 위치 정보(예: 거실, 주방, 안방 등), 또는 전자 장치와 연결된 오디오 출력 장치(예: 오디오 출력 장치(930))의 정보(예: 오디오 출력 장치의 성능에 대한 정보), 오디오 출력 장치의 연결 여부에 대한 정보 중 적어도 하나의 정보를 추가적으로 포함할 수 있다. 오디오 출력 장치의 정보는 전자 장치와 오디오 출력 장치가 통신 인터페이스를 통해 연결된 경우, 오디오 출력 인터페이스(예: 오디오 출력 인터페이스(1005))를 통해 오디오 출력 장치로부터 수신될 수 있다.
동작 1207에서, 프로세서는 통신 회로를 통해 서버로부터 응답을 수신할 수 있다. 예를 들어, 프로세서는 통신 회로를 통해 전자 장치가 입출력 장치로 선택되었음을 나타내는(또는 전자 장치가 웨이크-업되었음을 나타내는) 정보를 서버로부터 수신할 수 있다. 입출력 장치로 선택되었음을 나타내는 정보는, 전자 장치의 사용자에게 전자 장치가 입출력 장치로 선택되었음을 알리기 위한 제1 오디오 신호를 생성하는데 이용되는 정보를 포함할 수 있다.
동작 1209에서, 프로세서는 서버로부터 수신된 응답에 기반하여 제1 오디오 신호를 생성할 수 있다. 예를 들어, 프로세서는 통신 회로를 통해 전자 장치가 입출력 장치로 선택되었음을 나타내는 정보를 수신한 경우, 수신된 정보에 기반하여 비 언어 음(non-language sound)(예: 신호음)을 생성(또는 식별)할 수 있다. 다른 예를 들어, 프로세서는 통신 회로를 통해 전자 장치가 입출력 장치로 선택되었음을 나타내는 정보를 수신한 경우, 수신된 정보에 기반하여 언어 음(language sound)(예: "안녕하세요")을 생성(또는 식별)할 수 있다.
동작 1211에서, 프로세서는 오디오 출력 인터페이스를 통해 제1 오디오 신호를 출력할 수 있다. 오디오 출력 인터페이스를 통해 출력된 제1 오디오 신호는 오디오 출력 인터페이스를 통해 전자 장치와 연결된 오디오 출력 장치로 제공될 수 있다. 오디오 출력 장치로 제공된 제1 오디오 신호는 오디오 출력 장치를 통해 소리로 출력될 수 있다. 이에 따라, 전자 장치의 사용자는 오디오 출력 장치를 통해 출력되는 제1 오디오 신호를 청취함으로써, 오디오 출력 장치와 연결된 전자 장치가 웨이크-업 되었음을 인지할 수 있다. 또한, 전자 장치의 사용자는 사용자의 주위에 음성 명령을 처리할 수 있는 다수 개의 전자 장치가 존재하는 경우, 다수 개의 전자 장치 중 제1 오디오 신호가 출력되는 오디오 출력 장치와 연결된 전자 장치가 입출력 장치로 선택되었음을 인지할 수 있다. 일 실시 예에 따르면, 프로세서는 전자 장치가 LED(light emitting diode)를 구비하는 경우, 제1 오디오 신호를 출력함과 동시에 전자 장치에 구비된 LED를 점등시킴으로써, 사용자에게 추가적인 알림을 제공할 수도 있다.
이상에서는, 전자 장치가 마이크를 통해 웨이크-업 커맨드만 수신되는 경우의 동작에 대하여 설명하였으나, 본 발명의 다양한 실시 예들에 따르면, 전자 장치는 마이크를 통해 웨이크-업 커맨드와 음성 명령이 함께 포함된 오디오 신호를 수신할 수도 있다. 이 경우, 전자 장치는 오디오 신호와 메모리에 기 저장된 웨이크-업 커맨드를 비교함으로써, 웨이크-업 커맨드 부분과 음성 명령 부분을 각각 식별할 수 있다. 프로세서는 식별된 음성 명령 부분을 메모리에 저장할 수 있다. 프로세서는 전자 장치와 연결된 오디오 출력 장치에서 제1 오디오 신호가 정상적으로 출력되는 경우, 통신 회로를 통해 메모리에 저장된 음성 명령을 서버로 전송할 수 있다.
이상에서는, 전자 장치가 입출력 장치로 선택된 경우의 동작(예: 동작 1207 내지 동작 1211)에 대하여 설명하였으나, 본 발명의 다양한 실시 예들에 따르면, 전자 장치는 입출력 장치로 선택되지 않을 수도 있다. 예를 들어, 전자 장치에서 수신한 웨이크-업 커맨드에 품질보다 더 좋은 품질의 웨이크-업 커맨드를 수신한 외부 전자 장치가 존재할 경우, 전자 장치는 서버로부터 슬립 모드로 전환을 요청하는 신호를 수신할 수도 있다. 전자 장치는 슬립 모드의 전환을 요청하는 신호의 수신에 대한 응답으로 슬립 모드로 전환할 수 있다.
도 13은 본 발명의 다양한 실시 예들에 따라 전자 장치와 연결된 오디오 출력 장치의 상태를 판단하는 방법을 설명하기 위한 흐름도이다.
도 13을 참조하면, 동작 1301에서, 전자 장치(예: 전자 장치(910))의 프로세서(예: 프로세서(1001))는 마이크(예: 마이크(1003))를 통해 오디오 신호를 수신할 수 있다. 예를 들어, 프로세서는 도 12의 동작 1211과 같이, 오디오 출력 인터페이스를 통해 제1 오디오 신호를 출력한 경우, 마이크를 이용하여 지정된 시간 동안 전자 장치의 주변에서 야기되는 오디오 신호를 수신할 수 있다.
동작 1303에서, 프로세서는 마이크를 통해 수신된 오디오 신호가 제1 오디오 신호의 적어도 일부가 일치하는지 여부를 결정할 수 있다. 제1 오디오 신호는 전자 장치와 연결된 오디오 출력 장치의 전원이 오프(off)된 상태이거나 또는 사용자의 설정에 따라 볼륨 크기가 사용자가 인지할 수 없을 정도로 작게 설정된 경우, 사용자에게 인식될 수 없다. 이에 따라, 프로세서는 오디오 출력 장치가 제1 오디오 신호를 정상적으로 출력할 수 있는 상태인지 판단하기 위해 마이크를 통해 수신된 오디오 신호와 제1 오디오 신호의 일치도를 확인할 수 있다. 프로세서는 확인된 일치도가 제2 임계값 이상인 경우, 오디오 출력 장치를 통해 제1 오디오 신호가 정상적으로 출력되는 것으로 판단할 수 있다. 프로세서는 확인된 일치도가 제2 임계값 미만인 경우, 오디오 출력 장치를 통해 제1 오디오 신호가 정상적으로 출력되지 않는 것으로 판단할 수 있다. 여기서, 제2 임계값은, 제1 오디오 신호가 정상적으로 출력되는지 여부를 판단하기 위한 기준값으로서, 제조사, 개발자, 또는 사용자에 의해 설정 또는 변경될 수 있다.
동작 1305에서, 프로세서는 통신 회로를 통해 결정에 대한 정보를 서버로 전송할 수 있다. 예를 들어, 프로세서는 통신 회로(예: 통신 회로(1007))를 통해 마이크를 통해 수신된 오디오 신호와 제1 오디오 신호의 일치도가 제2 임계값 이상임을 나타내는 정보를 서버(예: 서버(930))로 전송할 수 있다. 이 경우, 서버는 전자 장치와 연결된 오디오 출력 장치에서 제1 오디오 신호가 정상적으로 출력되고 있는 것으로 판단할 수 있다. 다른 예를 들어, 프로세서는 마이크를 통해 수신된 오디오 신호와 제1 오디오 신호의 일치도가 제2 임계값 미만임을 나타내는 정보를 서버로 전송하고, 슬립 모드로 전환할 수 있다. 이 경우, 서버는 전자 장치와 연결된 오디오 출력 장치에서 제1 오디오 신호가 정상적으로 출력되지 않는 것으로 판단할 수 있다. 서버는 전자 장치와 연결된 오디오 출력 장치에서 제1 오디오 신호가 정상적으로 출력되지 않는 경우, 전자 장치의 사용자가 발화한 웨이크-업 커맨드를 수신한 다른 전자 장치들 중 어느 하나의 전자 장치를 입출력 장치로 변경하고, 변경된 전자 장치로 입출력 장치로 선택됨을 나타내는 신호를 전송할 수 있다.
이상에서는, 전자 장치가 마이크를 통해 수신된 오디오 신호와 제1 오디오 신호의 일치도가 제2 임계값 이상 또는 미만인 경우, 이와 관련된 정보를 서버로 전송하는 것으로 설명하였으나, 본 발명의 다양한 실시 예들에 따르면, 전자 장치는 제1 오디오 신호의 일치도가 제2 임계값 미만인 경우에만 이와 관련된 정보를 서버로 전송할 수도 있다.
도 14는 본 발명의 다양한 실시 예들에 따라 웨이크 업된 전자 장치에서 음성 명령을 처리하는 방법을 설명하기 위한 흐름도이다.
도 14를 참조하면, 동작 1401에서, 전자 장치(예: 전자 장치(910))의 프로세서(예: 프로세서(1001))는 마이크(예: 마이크(1003))를 통해 음성 명령을 수신할 수 있다. 예를 들어, 프로세서는 도 12의 동작 1205에서, 마이크를 통해 수신된 오디오 신호와 제1 오디오 신호의 일치도가 제2 임계값 이상임을 나타내는 정보를 서버(예: 서버(930))로 전송한 이후, 마이크를 통해 사용자가 발화한 음성 명령(예: "오늘 날씨는 어때? (how is the weather today?)", "지금 몇 시야? (what time is it now?)", "클래식 음악을 재생시켜줘 (play classical music)" 등)을 수신할 수 있다.
동작 1403에서, 프로세서는 통신 회로(예: 통신 회로(1007))를 통해 음성 명령을 서버(예: 서버(920))로 전송할 수 있다.
동작 1405에서, 프로세서는 통신 회로를 통해 서버로부터 음성 명령에 대한 응답이 수신되는지 여부를 판단할 수 있다. 예를 들어, 프로세서는 음성 명령을 서버로 전송한 이후, 지정된 시간 내에 음성 명령에 대한 응답이 수신되는지 여부를 판단할 수 있다.
프로세서는 동작 1405에서 통신 회로를 통해 서버로부터 음성 명령에 대한 응답이 수신된 경우, 동작 1407에서, 수신된 응답에 기반하여 제2 오디오 신호를 생성할 수 있다. 여기서, 제2 오디오 신호는 비 언어 음이거나 또는 언어 음(language sound)일 수 있다. 예를 들어, 제2 오디오 신호는 사용자의 음성 명령에 대한 응답(예: "오늘 날씨는 맑음입니다 (it is sunny)", "지금 시간은 오전 10시 입니다 (it is 10 AM)", 클래식 음악 등)을 포함할 수 있다.
동작 1409에서, 프로세서는 오디오 출력 인터페이스(예: 오디오 출력 인터페이스(1005))를 통해 제2 오디오 신호를 출력할 수 있다. 제2 오디오 신호는 오디오 출력 인터페이스를 통해 전자 장치와 연결된 오디오 출력 장치(예: 오디오 출력 장치(930))로 제공될 수 있다. 오디오 출력 장치로 제공된 제2 오디오 신호는 소리로 출력될 수 있다. 이에 따라, 전자 장치의 사용자는 발화한 음성 명령에 대한 응답을 청취할 수 있다. 일 실시 예에 따르면, 제2 오디오 신호에는 제2 오디오 신호가 오디오 출력 장치를 통해 정상적으로 출력되고 있는지 확인하기 위해 이용될 수 있는 특정 오디오 신호(예: 비가청 주파수 대역의 오디오 신호)가 포함될 수 있다. 이 경우, 프로세서는 제2 오디오 신호가 출력되고 있는 동안 마이크를 통해 주기적으로 또는 비주기적으로 전자 장치의 주변에서 야기되는 오디오 신호를 수신할 수 있다. 프로세서는 수신된 오디오 신호에 특정 오디오 신호가 포함되어 있는 경우, 제2 오디오 신호가 정상적으로 출력되고 있는 것으로 판단할 수 있다. 프로세서는 제2 오디오 신호에 특정 오디오 신호가 포함되어 있지 않은 경우, 제2 오디오 신호가 정상적으로 출력되고 있지 않은 것으로 판단하여 통신 회로를 통해 입출력 장치의 변경을 요청하는 신호를 서버로 전송할 수 있다.
프로세서는 동작 1405에서 통신 회로를 통해 서버로부터 음성 명령이 수신되지 않는 경우, 동작 1411에서, 전자 장치의 메모리에 기 저장된 제3 오디오 신호를 출력할 수 있다. 제3 오디오 신호는 비 언어 음(또는 언어 음)으로서, 제1 오디오 신호와 상이한 오디오 신호일 수 있으며, 오디오 출력 장치를 통해 소리로 출력될 수 있다. 이에 따라, 전자 장치의 사용자는 오디오 출력 장치를 통해 출력되는 제3 오디오 신호를 청취함으로써, 전자 장치가 음성 인식 서비스를 제공하지 않고 슬립 모드로 전환될 것임을 인지할 수 있다.
동작 1413에서, 프로세서는 슬립 모드로 전환할 수 있다. 예를 들어, 프로세서는 전자 장치의 동작 모드를 슬립 모드로 전환할 수 있다.
이상에서는, 전자 장치가 동작 1405에서, 음성 명령을 서버로 전송한 이후 지정된 시간 내에 음성 명령에 대한 응답이 수신되는지 여부에 따라 동작 1407 또는 동작 1411을 수행하는 것으로 설명하였으나, 본 발명의 다양한 실시 예들에 따르면, 전자 장치는 서버로부터 음성 명령에 대한 응답이 수신된 경우, 동작 1407을 수행하고, 서버로부터 슬립 모드 전환 요청이 수신된 경우, 동작 1411을 수행할 수도 있다.
이상에서는 음성 명령에 대한 응답이 제2 오디오 신호를 생성하기 위한 정보를 포함하는 것으로 설명하였으나, 본 발명의 다양한 실시 예들에 따르면, 음성 명령에 대한 응답은 전자 장치의 구성 요소에 따라 다른 포맷의 알림을 생성하기 위한 정보를 포함할 수도 있다. 예를 들어, 전자 장치가 디스플레이를 포함할 경우, 음성 명령에 대한 응답은 시각적 알림 정보를 생성하기 위한 정보를 포함할 수도 있다.
도 15는 본 발명의 다양한 실시 예들에 따라 전자 장치에서 입출력 장치의 변경을 요청하는 방법을 설명하기 위한 흐름도이다.
도 15를 참조하면, 동작 1501에서, 전자 장치(예: 전자 장치(910))의 프로세서(예: 프로세서(1001))는 오디오 출력 인터페이스(예: 오디오 출력 인터페이스(1005))를 통해 제2 오디오 신호를 출력할 수 있다. 예를 들어, 프로세서는 도 14의 동작 1409와 같이, 사용자(예: 사용자(940))가 발화한 음성 명령에 대한 응답을 오디오 출력 장치(예: 오디오 출력 장치(920))를 통해 출력할 수 있다.
동작 1503에서, 프로세서는 오디오 출력 장치의 연결 해제를 검출할 수 있다. 예를 들어, 프로세서는 오디오 출력 인터페이스를 통해 제2 오디오 신호를 출력하는 동안 또는 제2 오디오 신호를 출력한 이후, 오디오 출력 인터페이스를 통해 유선 또는 무선으로 연결된 오디오 출력 장치의 연결이 해제됨을 검출할 수 있다.
동작 1505에서, 프로세서는 입출력 장치의 변경을 요청하는 신호를 서버로 전송할 수 있다. 이 경우, 서버는 전자 장치로부터 입출력 장치의 변경을 요청하는 신호의 수신에 대한 응답으로, 전자 장치의 사용자가 발화한 웨이크-업 커맨드를 수신한 다수 개의 전자 장치들 중 전자 장치와 다른 어느 하나의 전자 장치를 입출력 장치로 변경할 수 있다. 서버는 입출력 장치로 변경된 다른 전자 장치로 입출력 장치로 선택됨을 나타내는 정보를 전송하거나 또는 사용자의 음성 명령에 대한 응답을 전송할 수 있다. 이에 따라, 전자 장치의 사용자는 전자 장치에서 음성 명령을 처리하지 못하여 서비스를 이용할 수 없는 경우에도, 다른 전자 장치를 통해 음성 인식 서비스를 이용할 수 있다.
동작 1507에서, 프로세서는 슬립 모드로 전환할 수 있다. 예를 들어, 프로세서는 전자 장치의 적어도 일부 구성 요소를 비활성화시킬 수 있다.
도 16은 본 발명의 다양한 실시 예들에 따라 서버에서 음성 명령을 처리할 입출력 장치를 결정하는 방법을 설명하기 위한 흐름도이다. 이하 설명에서, 다수 개의 전자 장치들 각각은 도 9의 전자 장치(910)와 동일 또는 유사한 전자 장치를 포함할 수 있다.
도 16을 참조하면, 동작 1601에서, 서버(예: 서버(920))의 프로세서(예: 프로세서(1101))는 통신 회로(예: 통신 회로(1103))를 통해 다수 개의 전자 장치들 각각으로부터 웨이크-업 커맨드의 수신과 연관된 정보를 수신할 수 있다. 예를 들어, 프로세서는 통신 회로를 통해 제1 전자 장치로부터 웨이크-업 커맨드의 수신과 연관된 정보를 수신할 수 있다. 프로세서는 제1 전자 장치로부터 웨이크-업 커맨드의 수신과 연관된 정보를 수신한 이후, 지정된 시간 동안 제1 전자 장치의 등록 계정과 동일한 등록 계정으로 등록된 적어도 하나의 전자 장치(예: 제2 전자 장치, 제3 전자 장치)로부터 웨이크-업 커맨드의 수신과 연관된 정보를 추가적으로 수신할 수 있다. 예를 들어, 프로세서는 제1 전자 장치로부터 수신된 웨이크-업 커맨드의 수신과 연관된 정보에 기반하여 제1 전자 장치의 등록 계정 정보를 확인할 수 있다. 프로세서는 제1 전자 장치로부터 웨이크-업 커맨드의 수신과 연관된 정보를 수신한 이후, 통신 회로를 통해 지정된 시간 동안 적어도 하나의 전자 장치로부터 웨이크-업 커맨드의 수신과 연관된 정보를 추가적으로 수신할 수 있다. 프로세서는 추가적으로 수신된 정보에 포함된 전자 장치의 등록 계정 정보를 확인함으로써, 추가적으로 수신된 정보 중 제1 전자 장치의 등록 계정과 동일한 등록 계정으로 등록된 적어도 하나의 전자 장치로부터 전송된 정보를 식별할 수 있다. 여기서, 웨이크-업 커맨드의 수신과 연관된 정보는 웨이크-업 커맨드가 수신됨을 나타내는 정보, 웨이크-업 커맨드의 품질에 대한 정보, 전자 장치의 등록 계정 정보를 포함할 수 있다. 일 실시 예에 따르면, 웨이크-업 커맨드의 수신과 연관된 정보는 전자 장치의 등록 계정 정보 대신 전자 장치의 식별 정보 또는 전자 장치의 등록 위치 정보를 포함할 수 있다. 이 경우, 프로세서는, 전자 장치의 식별 정보 또는 전자 장치의 등록 위치 정보에 기반하여 전자 장치의 등록 계정 정보를 획득할 수 있다, 일 실시 예에 따르면, 웨이크-업 커맨드의 수신과 연관된 정보는 상술한 정보들 이외에 전자 장치와 연결된 오디오 출력 장치에 대한 정보, 또는 오디오 출력 장치의 연결 여부에 대한 정보 중 적어도 일부 정보를 추가적으로 포함할 수 있다.
동작 1603에서, 프로세서는 수신된 정보에 기반하여 다수 개의 전자 장치(예: 제1 전자 장치, 제2 전자 장치, 및 제3 전자 장치)들 중 제1 전자 장치를 입출력 장치로 결정할 수 있다. 예를 들어, 프로세서는 다수 개의 전자 장치들 각각으로부터 전송된 웨이크-업 커맨드의 수신과 연관된 정보로부터 각각의 전자 장치들이 수신한 웨이크-업 커맨드의 품질에 대한 정보를 확인할 수 있다. 프로세서는 확인된 정보에 기반하여 다수 개의 전자 장치들 중 가장 높은 품질의 웨이크-업 커맨드를 수신한 제1 전자 장치를 입출력 장치로 결정할 수 있다. 일 실시 예에 따르면, 웨이크-업 커맨드의 수신과 연관된 정보에 전자 장치와 연결된 오디오 출력 장치에 대한 정보가 포함된 경우, 프로세서는 오디오 출력 장치에 대한 정보에 기반하여 입출력 장치를 결정할 수 있다. 예를 들어, 프로세서는 다수 개의 전자 장치들 각각으로부터 전송된 웨이크-업 커맨드의 수신과 연관된 정보로부터 각각의 전자 장치들과 연결된 오디오 출력 장치에 대한 정보(예: 오디오 출력 장치의 오디오 출력 성능에 대한 정보, 오디오 출력 장치의 연결 여부에 대한 정보)를 확인할 수 있다. 프로세서는 확인된 정보에 기반하여 다수 개의 전자 장치들 중 오디오 출력 장치의 오디오 출력 성능이 가장 좋은 제1 전자 장치를 입출력 장치로 결정할 수 있다. 다른 예를 들어, 프로세서는 다수 개의 전자 장치들 각각으로부터 전송된 웨이크-업 커맨드의 수신과 연관된 정보로부터 각각의 전자 장치들과 연결된 오디오 출력 장치에 대한 정보를 확인할 수 있다. 프로세서는 다수 개의 전자 장치들 중 유일하게 오디오 출력 장치와 연결된 제1 전자 장치를 입출력 장치로 결정할 수 있다. 일 실시 예에 따르면, 프로세서는 웨이크-업 커맨드의 수신과 연관된 정보에 전자 장치의 등록 위치 정보가 포함되어 있는 경우, 입출력 장치 결정 시 등록 위치별 전자 장치의 수에 기반하여 다수 개의 전자 장치들 중 일부 전자 장치를 제외시킬 수 있다. 예를 들어, 서버는 제1 전자 장치 및 제2 전자 장치의 등록 위치가 거실이고, 제3 전자 장치의 등록 위치가 주방인 경우, 입출력 장치 결정 시 제3 전자 장치는 제외시킬 수 있다.
동작 1605에서, 프로세서는 제1 전자 장치로부터 수신된 정보에 대한 응답을 생성할 수 있다. 제1 전자 장치로부터 수신된 정보에 대한 응답은 제1 전자 장치가 입출력 장치로 결정됨을 사용자에게 알리기 위한 제1 오디오 신호를 생성하는데 이용될 수 있는 정보를 포함할 수 있다. 제1 오디오 신호는 비 언어 음(예: 신호음)의 오디오 신호일 수 있다. 일 실시 예에 따르면, 제1 전자 장치로부터 수신된 정보에 대한 응답은 제1 오디오 신호를 생성하는데 이용될 수 있는 정보 이외에 다른 포맷의 알림 정보를 생성하는데 이용될 수 있는 정보를 추가적으로 포함할 수 있다. 예를 들어, 제1 전자 장치가 디스플레이를 포함하거나 디스플레이 장치와 연결되어 있는 경우, 제1 전자 장치로부터 수신된 정보에 대한 응답은 제1 전자 장치의 디스플레이 또는 제1 전자 장치와 연결된 디스플레이 장치에 표시될 수 있는 형태의 정보(예: 텍스트 정보, 이미지 정보 등)를 생성하는데 이용될 수 있는 정보를 추가적으로 포함할 수 있다.
동작 1607에서, 프로세서는 생성된 응답을 통신 회로를 통해 제1 전자 장치로 전송할 수 있다. 이 경우, 제1 전자 장치는 서버로부터 수신된 응답에 기반하여 제1 오디오 신호를 생성한 후, 제1 전자 장치와 연결된 오디오 출력 장치를 통해 제1 오디오 신호를 출력할 수 있다. 이에 따라, 사용자(예: 사용자(910))는 다수 개의 전자 장치들 중 제1 전자 장치에서 출력된 제1 오디오 신호를 청취함으로써, 제1 전자 장치가 음성 명령을 처리할 입출력 장치로 결정되었음을 인지할 수 있다.
이상에서는, 서버가 동작 1603을 수행한 이후에 동작 1605를 수행하는 것으로 설명하였으나, 본 발명의 다양한 실시 예들에 따르면, 서버는 동작 1603과 동작 1605를 동시에 수행하거나 또는 동작 1605를 수행한 이후 동작 1603을 수행할 수도 있다. 예를 들어, 서버는 동일한 등록 계정 정보를 포함하는 다수 개의 전자 장치들 각각으로부터 웨이크-업 커맨드의 수신과 연관된 정보가 수신된 경우, 가장 먼저 수신된 정보에 대한 응답을 생성함과 동시에 입출력 장치를 결정하는 동작을 수행할 수도 있다. 다른 예를 들어, 서버는 동일한 등록 계정 정보를 포함하는 다수 개의 전자 장치들 각각으로부터 웨이크-업 커맨드의 수신과 연관된 정보가 수신된 경우, 가장 먼저 수신된 정보에 대한 응답을 생성한 후 입출력 장치를 결정하는 동작을 수행할 수도 있다.
도 17은 본 발명의 다양한 실시 예에 따라 서버에서 음성 명령을 처리하는 방법을 설명하기 위한 흐름도이다.
도 17을 참조하면, 동작 1601에서, 서버(예: 서버(920))의 프로세서(예: 프로세서(1101)는 통신 회로(예: 통신 회로(1103))를 통해 전자 장치로부터 음성 명령을 수신할 수 있다. 예를 들어, 도 15와 같이, 다수 개의 전자 장치들 중 제1 전자 장치가 입출력 장치로 결정된 경우, 제1 전자 장치로부터 사용자가 발화한 음성 명령을 수신할 수 있다.
동작 1703에서, 프로세서는 음성 명령에 대한 응답을 생성할 수 있다. 예를 들어, 프로세서는 제1 전자 장치로부터 오늘의 날씨를 묻는 음성 명령(예: "오늘 날씨 어때?)을 수신한 경우, 통신 회로를 통해 오늘의 날씨와 관련된 정보(예: 맑음)를 외부 전자 장치로부터 획득할 수 있다. 프로세서는 획득된 정보에 기반하여 제1 전자 장치로 전송될 응답(예: 오늘의 날씨는 맑음입니다)을 생성할 수 있다. 다른 예를 들어, 프로세서는 제1 전자 장치로부터 특정 미디어 정보의 재생을 요청하는 음성 명령(예: "최신 가요를 재생시켜줘")을 수신한 경우, 통신 회로를 통해 외부 전자 장치로부터 특정 미디어 정보를 획득할 수 있다. 프로세서는 획득된 정보에 기반하여 제1 전자 장치로 전송될 응답(예: 특정 미디어 정보)을 생성할 수 있다. 일 실시 예에 따르면, 프로세서는 특정 미디어 정보의 재생을 요청하는 음성 명령을 수신한 경우, 제1 전자 장치로 전송될 응답을 생성하는 대신, 통신 회로를 통해 특정 미디어 정보를 제1 전자 장치로 전송할 것을 요청하는 신호를 특정 미디어 보를 저장한 외부 전자 장치로 전송할 수도 있다.
동작 1705에서, 프로세서는 생성된 응답을 통신 회로를 통해 전자 장치로 전송할 수 있다. 이 경우, 전자 장치는 서버로부터 수신된 응답에 기반하여 음성 명령에 대한 응답(예: 제2 오디오 신호)를 생성하여 전자 장치와 연결된 오디오 출력 인터페이스를 통해 출력할 수 있다. 이에 따라, 전자 장치의 사용자는 음성 명령 서비스를 제공받을 수 있다.
도 18은 본 발명의 다양한 실시 예들에 따라 서버에서 음성 명령을 처리할 입출력 장치를 변경하는 방법을 설명하기 위한 흐름도이다.
도 18을 참조하면, 동작 1801에서, 서버(예: 서버(920))의 프로세서(예: 프로세서(1101))는 통신 회로(예: 통신 회로(1103))를 통해 제1 전자 장치(예: 전자 장치(910))로부터 입출력 장치의 변경 요청을 수신할 수 있다. 예를 들어, 프로세서는 제1 전자 장치가 음성 인식 서비스를 사용자에게 제공할 수 없는 상태인 경우, 통신 회로를 통해 제1 전자 장치로부터 입출력 장치의 변경을 요청하는 신호를 수신할 수 있다. 음성 인식 서비스를 사용자에게 제공할 수 없는 상태는, 제1 전자 장치와 연결된 오디오 출력 장치가 사람이 청취할 수 없는 정도의 음량으로 오디오 신호를 출력하는 상태, 제1 전자 장치와 연결된 오디오 출력 장치의 전원이 오프된 상태, 또는 제1 전자 장치와 오디오 출력 장치의 연결이 해제된 상태 중 적어도 하나의 상태를 포함할 수 있다. 제1 전자 장치는 입출력 장치의 변경 요청을 서버로 송신한 경우, 슬립 모드로 전환될 수 있다.
동작 1803에서, 프로세서는 제2 전자 장치를 입출력 장치로 변경할 수 있다. 예를 들어, 프로세서는 웨이크-업 커맨드와 관련된 정보를 전송한 다수 개의 전자 장치들 중 제1 전자 장치를 제외한 어느 하나의 다른 전자 장치를 입출력 장치로 변경할 수 있다. 여기서, 다수 개의 전자 장치들은 동일한 등록 계정으로 등록된 전자 장치일 수 있다. 일 실시 예에 따르면, 프로세서는 제1 전자 장치를 제외한 다수 개의 전자 장치들 중 가장 좋은 품질(예: 음량, 일치도 등)의 웨이크-업 커맨드를 수신한 제2 전자 장치를 입출력 장치로 변경할 수 있다. 일 실시 예에 따르면, 프로세서는 제1 전자 장치를 제외한 다수 개의 전자 장치들 중 가장 성능이 좋은 오디오 출력 장치와 연결된 제2 전자 장치를 입출력 장치로 변경할 수 있다. 예를 들어, 프로세서는 다수 개의 전자 장치들 각각으로부터 수신된 웨이크-업 커맨드와 관련된 정보로부터 각각의 전자 장치와 연결된 오디오 출력 장치에 대한 정보를 획득할 수 있다. 프로세서는 오디오 출력 장치에 대한 정보에 기반하여 제2 전자 장치를 입출력 장치로 변경할 수 있다.
동작 1805에서, 프로세서는 통신 회로를 통해 음성 명령에 대한 응답을 제2 전자 장치로 전송할 수 있다. 이 경우, 제2 전자 장치는 음성 명령에 대한 응답에 기반하여 제2 오디오 신호를 생성하고, 생성된 제2 오디오 신호를 제2 전자 장치와 연결된 오디오 출력 장치 또는 제2 전자 장치에 포함된 오디오 출력 장치를 통해 출력할 수 있다. 이에 따라, 사용자는 제1 전자 장치를 통해 음성 인식 서비스를 이용할 수 없는 경우에도, 제2 전자 장치를 통해 음성 인식 서비스를 이용할 수 있다.
도 19는 본 발명의 다양한 실시 예들에 따라 음성 명령을 처리하기 위한 시스템의 일 예를 설명하기 위한 도면이다.
도 19를 참조하면, 동작 1909에서, 제1 전자 장치(1901) 및 제2 전자 장치(1903)는 각각 슬립 모드로 동작하는 상태에서 마이크를 통해 웨이크-업 커맨드를 수신할 수 있다. 이 경우, 제1 전자 장치(1901) 및 제2 전자 장치(1903)는 수신된 웨이크-업 커맨드를 인식하여 웨이크-업할 수 있다. 제1 전자 장치(1901) 및 제2 전자 장치(1903)는 웨이크-업한 이후, 각각 웨이크-업 커맨드의 수신과 연관된 정보를 생성할 수 있다. 여기서, 제1 전자 장치(1901) 및 제2 전자 장치(1905)는 동일한 등록 계정으로 등록된 전자 장치일 수 있다.
동작 1911에서, 제1 전자 장치(1901)는 웨이크-업 커맨드의 수신과 연관된 제1 정보를 서버(1905)로 전송할 수 있다. 웨이크-업 커맨드의 수신과 연관된 제1 정보는 웨이크-업 커맨드가 수신됨을 나타내는 정보, 제1 전자 장치(1901)에서 수신한 웨이크-업 커맨드의 품질에 대한 정보, 제1 전자 장치(1901)의 등록 계정 정보, 제1 전자 장치(1901)의 등록 위치 정보, 제1 전자 장치(1901)와 연결된 오디오 출력 장치(1907)에 대한 정보 중 적어도 일부를 포함할 수 있다.
동작 1913에서, 제2 전자 장치(1903)는 웨이크-업 커맨드의 수신과 연관된 제2 정보를 서버(1905)로 전송할 수 있다. 웨이크-업 커맨드의 수신과 연관된 제2 정보는 웨이크-업 커맨드가 수신됨을 나타내는 정보, 제2 전자 장치(1903)에서 수신한 웨이크-업 커맨드의 품질에 대한 정보, 제2 전자 장치(1903)의 등록 계정 정보, 제2 전자 장치(1903)의 등록 위치 정보, 제2 전자 장치(1903)와 연결된 오디오 출력 장치(또는 제2 전자 장치(1903)에 구비된 오디오 출력 장치)에 대한 정보 중 적어도 일부를 포함할 수 있다.
다양한 실시 예들에 따르면, 동작 1913은 동작 1911을 수행하기 이전에 수행되거나 또는 동작 1911과 동일한 시점에 수행될 수도 있다.
동작 1915에서, 서버(1905)는 제1 정보 및 제2 정보에 기반하여 제1 전자 장치(1901)를 입출력 장치로 결정할 수 있다. 예를 들어, 서버(1901)는 제1 정보 및 제2 정보에 기반하여 제1 전자 장치(1901)가 마이크를 통해 수신한 웨이크-업 커맨드의 품질(예: 음량, 일치도, 신호 대 잡음비 등)과 제2 전자 장치(1903)가 마이크를 통해 수신한 웨이크-업 커맨드의 품질을 확인할 수 있다. 서버(1901)는 더 좋은 품질의 웨이크-업 커맨드를 수신한 제1 전자 장치(1901)를 입출력 장치로 결정할 수 있다.
동작 1917에서, 서버(1905)는 제1 정보에 대한 응답(예: 입출력 장치로 선택됨을 나타내는 정보)을 제1 전자 장치(1901)로 전송하고, 동작 1919에서, 슬립 모드 전환을 요청하는 신호를 제2 전자 장치(1903)로 전송할 수 있다.
다양한 실시 예들에 따르면, 동작 1919는 동작 1917을 수행하기 이전에 수행되거나 또는 동작 1917과 동일한 시점에 수행될 수 있다.
동작 1921에서, 제1 전자 장치(1901)는 서버(1905)로부터 수신된 응답에 기반하여 제1 오디오 신호를 생성할 수 있다. 제1 오디오 신호는 비 언어 음(또는 언어 음)의 오디오 신호일 수 있다.
동작 1923에서, 제2 전자 장치(1903)는 서버(1905)로부터 수신된 슬립 모드 전환을 요청하는 신호에 기반하여 슬립 모드로 전환될 수 있다. 일 실시 예에 따르면, 제2 전자 장치(1903)는 슬립 모드로 동작하는 동안에도 통신 회로를 활성화시킴으로써, 서버로부터 전송되는 신호들을 수신할 수 있다.
동작 1925에서, 제1 전자 장치(1901)는 생성된 제1 오디오 신호를 제1 전자 장치(1901)와 연결된 오디오 출력 장치(1907)로 전송할 수 있다. 여기서, 오디오 출력 장치(1907)는 제1 전자 장치(1901)와 유선 또는 무선으로 연결될 수 있으며, 제1 전자 장치(1901)로 오디오 출력 장치(1907)에 대한 정보를 전송할 수 있다. 일 실시 예에 따르면, 제1 전자 장치(1901)는 LED를 포함하는 경우, 제1 오디오 신호의 전송과 동시에 LED를 점등시킬 수도 있다.
동작 1927에서, 오디오 출력 장치(1907)는 제1 전자 장치(1901)로부터 전송된 제1 오디오 신호를 출력할 수 있다. 이 경우, 사용자(예: 사용자(910))는 제1 전자 장치(1901)와 연결된 오디오 출력 장치에서 출력되는 제1 오디오 신호를 청취함으로써, 제1 전자 장치(1901)가 음성 인식 서비스를 제공할 것임을 인지할 수 있다.
동작 1929에서, 제1 전자 장치(1901)는 제1 오디오 신호를 전송한 이후 지정된 시간 동안 마이크를 통해 수신되는 오디오 신호와 생성된 제1 오디오 신호를 비교함으로써, 마이크를 통해 수신되는 오디오 신호와 생성된 제1 오디오 신호의 적어도 일부가 일치함을 확인할 수 있다. 일 실시 예에 따르면, 제1 전자 장치(1901)는 마이크를 통해 수신되는 오디오 신호에 생성된 제1 오디오 신호의 적어도 일부가 포함된 경우, 이에 대한 정보(또는 제1 전자 장치(1901)가 활성화되었음을 나타내는 정보)를 서버로 전송할 수 있다.
동작 1931에서, 제1 전자 장치(1901)는 마이크를 통해 음성 명령을 수신할 수 있다. 예를 들어, 제1 전자 장치(1901)는 마이크를 통해 사용자가 발화한 "오늘 날씨 어때?"와 같은 음성 명령을 수신할 수 있다.
동작 1933에서, 제1 전자 장치(1901)는 마이크를 통해 수신된 음성 명령을 서버(1905)로 전송할 수 있다.
동작 1935에서, 서버(1905)는 제1 전자 장치(1901)로부터 수신된 음성 명령에 대한 응답을 생성할 수 있다. 예를 들어, 서버(1905)는 외부 전자 장치로부터 오늘 날씨에 대한 정보를 획득할 수 있다. 서버(1905)는 획득된 정보에 기반하여 음성 명령에 대한 응답을 생성할 수 있다. 일 실시 예에 따르면, 음성 명령에 대한 응답은 다양한 포맷(format)으로 생성될 수 있다. 예를 들어, 제1 전자 장치(1901)가 디스플레이를 구비하거나 오디오 출력 장치(1907) 이외에 별도의 디스플레이 장치와 연결된 경우, 알림 메시지의 형태로 생성될 수도 있다.
동작 1937에서, 제1 전자 장치(1901)는 서버(1905)로부터 수신된 음성 명령에 대한 응답에 기반하여 제2 오디오 신호를 생성할 수 있다. 예를 들어, 제1 전자 장치(1901)는 서버(1901)로부터 수신된 음성 명령에 대한 응답에 기반하여 "오늘 날씨는 맑음입니다"와 같은 언어 음의 오디오 신호를 생성할 수 있다. 다른 예를 들어, 제1 전자 장치(1901)는 서버(1901)로부터 수신된 음성 명령에 대한 응답에 기반하여 클래식 음악과 같은 비 언어 음의 오디오 신호를 생성할 수 있다.
동작 1939에서, 제1 전자 장치(1901)는 생성된 제2 오디오 신호를 제1 전자 장치(1901)와 연결된 오디오 출력 장치(1907)로 전송할 수 있다.
동작 1941에서, 오디오 출력 장치(1907)는 제1 전자 장치(1901)로부터 수신된 제2 오디오 신호를 출력할 수 있다. 예를 들어, 오디오 출력 장치(1907)는 "오늘 날씨는 맑음입니다"를 출력할 수 있다. 이에 따라, 사용자는 오늘의 날씨 대한 정보를 소리로 청취할 수 있다.
도 20은 본 발명의 다양한 실시 예들에 따라 음성 명령을 처리하기 위한 시스템의 다른 예를 설명하기 위한 도면이다.
도 20을 참조하면, 동작 2009에서, 제1 전자 장치(2001) 및 제2 전자 장치(2003)는 각각 슬립 모드로 동작하는 상태에서 마이크를 통해 웨이크-업 커맨드를 수신할 수 있다. 제1 전자 장치(2001) 및 제2 전자 장치(2003)는 각각 웨이크-업 커맨드의 수신에 대한 응답으로 웨이크-업할 수 있다. 제1 전자 장치(2001) 및 제2 전자 장치(2003)는 웨이크-업 이후, 각각 웨이크-업 커맨드의 수신과 연관된 정보를 생성할 수 있다. 여기서, 제1 전자 장치(2001) 및 제2 전자 장치(2003)는 동일한 등록 계정으로 등록된 전자 장치일 수 있다.
동작 2011에서, 제1 전자 장치(2001)는 웨이크-업 커맨드의 수신과 연관된 제1 정보를 서버(2005)로 전송할 수 있다. 예를 들어, 제1 전자 장치(2001)는 웨이크-업 커맨드가 수신됨을 나타내는 정보, 제1 전자 장치(2001)에서 수신한 웨이크-업 커맨드의 품질에 대한 정보, 제1 전자 장치(2001)의 등록 계정 정보, 제1 전자 장치(2001)의 등록 위치 정보, 제1 전자 장치(2001)와 연결된 오디오 출력 장치(2007)에 대한 정보 중 적어도 일부 정보를 서버(2005)로 전송할 수 있다.
동작 2013에서, 제2 전자 장치(2003)는 웨이크-업 커맨드의 수신과 연관된 제2 정보를 서버(2005)로 전송할 수 있다. 예를 들어, 제2 전자 장치(2003)는 웨이크-업 커맨드가 수신됨을 나타내는 정보, 제2 전자 장치(2003)에서 수신한 웨이크-업 커맨드의 품질에 대한 정보, 제2 전자 장치(2003)의 등록 계정 정보, 제2 전자 장치(2003)의 등록 위치 정보, 제2 전자 장치(2003)와 연결된 오디오 출력 장치(2007)에 대한 정보 중 적어도 일부 정보를 서버(2005)로 전송할 수 있다.
다양한 실시 예들에 따르면, 동작 2013은 동작 2011을 수행하기 이전에 수행되거나 또는 동작 2011과 동일한 시점에 수행될 수도 있다.
동작 2015에서, 서버(2005)는 제1 정보 및 제2 정보에 기반하여 제1 전자 장치(2001)를 입출력 장치로 결정할 수 있다. 예를 들어, 서버(2001)는 제1 정보 및 제2 정보에 기반하여 제1 전자 장치(1901)와 연결된 오디오 출력 장치(1907)에 대한 정보 및 제2 전자 장치(1901)와 연결된 오디오 출력 장치(미도시)(또는 제2 전자 장치(1901)에 구비된 오디오 출력 장치)에 대한 정보를 확인할 수 있다. 서버(1901)는 확인된 정보에 기반하여 더 좋은 성능의 오디오 출력 장치와 연결된 제1 전자 장치(1901)를 입출력 장치로 결정할 수 있다.
동작 2017에서, 서버(2005)는 제1 정보에 대한 응답을 제1 전자 장치(2001)로 전송하고, 동작 2019에서, 슬립 모드 전환 요청에 대한 신호를 제2 전자 장치로 전송할 수 있다. 제1 정보에 대한 응답은, 제1 전자 장치(2001)가 입출력 장치로 선택됨을 나타내는 정보를 포함할 수 있다.
다양한 실시 예들에 따르면, 동작 2019는 동작 2017을 수행하기 이전에 수행되거나 또는 동작 2017과 동일한 시점에 수행될 수 있다.
동작 2021에서, 제1 전자 장치(2001)는 서버(2005)로부터 수신된 응답에 기반하여 제1 오디오 신호를 생성할 수 있다. 예를 들어, 제1 전자 장치(2001)는 제1 전자 장치(2001)가 입출력 장치로 선택됨을 나타내는 비 언어 음(또는 언어 음)의 오디오 신호를 생성할 수 있다.
동작 2023에서, 제2 전자 장치(2003)는 서버(2005)로부터 수신된 슬립 모드 전환을 요청하는 신호에 기반하여 슬립 모드로 전환할 수 있다. 제2 전자 장치(2003)는 슬립 모드로 동작하는 동안에도 서버로부터 신호를 수신할 수 있다.
동작 2025에서, 제1 전자 장치(2001)는 생성된 제1 오디오 신호를 제1 전자 장치(2001)와 연결된 오디오 출력 장치(2007)로 전송할 수 있다. 여기서, 오디오 출력 장치(2007)는 제1 전자 장치(2001)와 유선으로 연결되거나 또는 무선으로 연결될 수 있다. 일 실시 예에 따르면, 오디오 출력 장치(2007)는 제1 전자 장치(2001)와 유선 또는 무선으로 연결되는 경우, 오디오 출력 장치(2007)에 대한 정보(예: 오디오 출력 장치(2007)의 성능에 대한 정보)를 제1 전자 장치(2001)로 제공할 수 있다. 일 실시 예에 따르면, 제1 전자 장치(2001)는 LED를 포함하는 경우, 제1 오디오 신호의 전송과 동시에 LED를 점등시킬 수도 있다.
동작 2027에서, 오디오 출력 장치(2007)는 제1 오디오 신호를 출력할 수 있다.
동작 2029에서, 제1 전자 장치(2001)는 제1 오디오 신호를 전송한 이후 지정된 시간 동안 마이크를 통해 수신되는 오디오 신호와 생성된 제1 오디오 신호를 비교함으로써, 마이크를 통해 수신되는 오디오 신호와 생성된 제1 오디오 신호가 불일치함을 확인할 수 있다.
동작 2031에서, 제1 전자 장치(2001)는 입출력 장치의 변경을 요청하는 신호를 서버(2005)로 전송하고, 동작 2033에서, 슬립 모드로 전환할 수 있다.
동작 2035에서, 서버(2005)는 제1 전자 장치(2001)로부터 입출력 장치의 변경을 요청하는 신호를 수신함에 따라, 제2 전자 장치를 입출력 장치로 변경하고, 동작 2037에서, 제2 전자 장치(2003)로 제2 정보에 대한 응답을 전송할 수 있다. 여기서, 제2 정보에 대한 응답은 제1 정보에 대한 응답과 동일한 정보일 수 있다.
동작 2039에서, 제2 전자 장치(2003)는 서버(2007)로부터 제2 정보에 대한 응답 기반하여 제1 오디오 신호를 생성할 수 있다. 예를 들어, 제2 전자 장치(2003)는 서버(2007)로부터 제2 정보에 대한 응답이 수신된 경우, 웨이크-업할 수 있다. 제2 전자 장치(2003)는 수신된 응답에 기반하여 비 언어 음(또는 언어 음)의 제1 오디오 신호를 생성할 수 있다.
동작 2041에서, 제2 전자 장치(2003)는 생성된 제1 오디오 신호를 출력할 수 있다. 예를 들어, 제2 전자 장치(2003)는 제2 전자 장치(2003)와 연결된 오디오 출력 장치(미도시) 또는 제2 전자 장치(2003)에 구비된 오디오 출력 장치를 통해 제1 오디오 신호를 출력할 수 있다. 제2 전자 장치(2003)는 제1 오디오 신호를 출력하는 동작 2039를 수행한 이후, 서버와 연계하여 사용자의 음성 명령을 수신 및 처리하는 동작(예: 도 19의 동작 1931 내지 동작 1939)을 수행함으로써, 음성 인식 서비스를 사용자에게 제공할 수 있다. 이에 따라, 사용자는 입출력 장치로 결정된 제1 전자 장치(2001)로부터 음성 인식 서비스를 제공받지 못하는 경우에도, 제2 전자 장치(2003)를 통해 음성 인식 서비스를 제공받을 수 있다.
본 발명의 다양한 실시 예들에 따르면, 전자 장치(예: 전자 장치(910))의 동작 방법은, 상기 전자 장치의 마이크를 통해 웨이크-업 커맨드(wake-up command)를 수신하는 동작과, 상기 웨이크-업 커맨드를 인식하는 동작과, 상기 전자 장치의 통신 회로를 통해 상기 웨이크-업 커맨드의 수신과 연관된 정보를 서버로 전송하는 동작과, 상기 통신 회로를 통해 상기 서버로부터 응답을 수신하는 동작과, 상기 응답에 기반하여 제1 오디오 신호를 생성하는 동작과, 상기 마이크가 이용 가능한 동안 상기 전자 장치의 오디오 출력 인터페이스를 통해 상기 제1 오디오 신호를 출력하는 동작을 포함할 수 있으며, 상기 오디오 신호는, 비 언어 음(non-language sound)일 수 있다.
다양한 실시 예들에 따르면, 상기 전자 장치의 동작 방법은, 상기 제1 오디오 신호가 출력된 후 상기 마이크를 통해 비 언어 음을 수신하는 동작과, 상기 비 언어 음과 상기 제1 오디오 신호와 적어도 일부가 일치하는지 여부를 결정하는 동작과, 상기 통신 회로를 통해 상기 결정에 대한 정보를 상기 서버로 전송하는 동작을 더 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 웨이크-업 커맨드의 수신과 연관된 정보는, 상기 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 상기 웨이크-업 커맨드의 품질에 대한 정보를 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 웨이크-업 커맨드의 품질에 대한 정보는, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드의 음량, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드와 상기 전자 장치의 메모리에 기 저장된 웨이크-업 커맨드의 일치도, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드와 상기 웨이크-업 커맨드의 수신 이전 또는 이후에 상기 마이크를 통해 수신된 오디오 신호 간의 신호 대 잡음비(signal-to-noise ratio) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 웨이크-업 커맨드의 수신과 연관된 정보는, 상기 통신 회로를 통해 상기 전자 장치의 식별 정보, 상기 전자 장치의 등록 계정 정보, 상기 전자 장치의 등록 위치 정보, 상기 전자 장치와 연결된 오디오 출력 장치에 대한 정보 중 적어도 하나의 정보를 더 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 전자 장치의 동작 방법은, 상기 마이크를 통해 음성 명령(voice command)을 수신하는 동작과, 상기 통신 회로를 통해 상기 음성 명령을 상기 서버로 전송하는 동작과, 상기 통신 회로를 통해 상기 서버로부터 상기 음성 명령에 대한 응답을 수신한 경우, 상기 응답에 기반하여 제2 오디오 신호를 생성하는 동작과, 상기 오디오 출력 인터페이스를 통해 상기 제2 오디오 신호를 출력하는 동작을 더 포함할 수 있으며, 상기 제2 오디오 신호는 비 언어 음 또는 언어 음(language sound)일 수 있다.
다양한 실시 예들에 따르면, 상기 전자 장치의 동작 방법은, 상기 서버로부터 상기 음성 명령에 대한 응답이 수신되지 않는 경우, 상기 오디오 출력 인터페이스를 통해 상기 음성 명령과 관련된 정보를 제공할 수 없음을 알리는 제3 오디오 신호를 출력하는 동작을 더 포함할 수 있으며, 상기 제3 오디오 신호는, 상기 전자 장치의 메모리에 기 저장된 오디오 신호일 수 있다.
다양한 실시 예들에 따르면, 상기 전자 장치는 상기 오디오 출력 인터페이스를 통해 오디오 출력 장치와 연결될 수 있으며, 상기 전자 장치의 동작 방법은, 상기 전자 장치와 상기 오디오 출력 장치의 연결이 해제된 경우, 상기 통신 회로를 통해 상기 오디오 출력 장치와의 연결 해제됨을 나타내는 정보를 상기 서버로 전송하는 동작과, 상기 전자 장치의 동작 모드를 슬립 모드로 전환하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 서버의 동작 방법은, 상기 서버의 통신 회로를 통해 다수 개의 전자 장치들 각각으로부터 웨이크-업 커맨드(wake-up command)의 수신과 연관된 정보를 수신하는 동작과, 상기 정보에 기반하여 상기 다수 개의 전자 장치들 중 제1 전자 장치를 입출력 장치로 결정하는 동작과, 상기 정보에 대한 응답을 생성하는 동작과, 상기 통신 회로를 통해 상기 응답을 상기 제1 전자 장치로 전송하는 동작을 포함할 수 있으며, 상기 정보는, 상기 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 상기 웨이크-업 커맨드의 품질을 나타내는 정보를 포함할 수 있다.
다양한 실시 예들에 따르면, 상기 웨이크-업 커맨드의 품질을 나타내는 정보는, 전자 장치의 마이크를 통해 수신된 웨이크-업 커맨드의 음량, 전자 장치의 마이크를 통해 수신된 웨이크-업 커맨드와 전자 장치에 기 저장된 웨이크-업 커맨드의 일치도, 전자 장치의 마이크를 통해 수신된 웨이크-업 커맨드와 상기 웨이크-업 커맨드의 수신 이전 또는 이후에 수신된 오디오 신호 간의 신호 대 잡음비(signal-to-noise ratio) 중 적어도 하나를 포함할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: read only memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: electrically erasable programmable read only memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: compact disc-ROM), 디지털 다목적 디스크(DVDs: digital versatile discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 상기 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(local area network), WLAN(wide LAN), 또는 SAN(storage area network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 개시에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편, 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (15)

  1. 전자 장치에 있어서,
    선택된 패턴의 다수 개의 개구들을 포함하는 원형의 상단면, 평평한 원형의 하단면, 및 상기 상단면과 상기 하단면 사이의 공간을 둘러싸는 측면을 포함하는 하우징;
    상기 측면에 형성된 오디오 출력 인터페이스;
    상기 측면에 형성된 전원 입력 인터페이스;
    상기 하우징 내부에 위치하고 상기 개구들을 향하는 마이크;
    무선 통신 회로;
    상기 오디오 출력 인터페이스, 전원 입력 인터페이스, 마이크, 및 통신 회로와 작동적으로 연결된 프로세서; 및
    상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 마이크를 통해 웨이크-업 커맨드(wake-up command)를 수신하고,
    상기 웨이크-업 커맨드를 인식하고,
    상기 통신 회로를 통해 상기 웨이크-업 커맨드의 수신과 연관된 정보를 서버로 전송하고,
    상기 통신 회로를 통해 상기 서버로부터 응답을 수신하고,
    상기 응답에 기반하여 제1 오디오 신호를 생성하고,
    상기 마이크가 이용 가능한 동안 상기 오디오 출력 인터페이스를 통해 상기 제1 오디오 신호를 출력하도록 하는 인스트럭션들을 저장하며,
    상기 오디오 신호는, 비 언어 음(non-language sound)인 전자 장치.
  2. 제 1항에 있어서,
    상기 인스트럭션들은, 상기 프로세서가,
    상기 제1 오디오 신호가 출력된 후 상기 마이크를 통해 비 언어 음을 수신하고,
    상기 비 언어 음과 상기 제1 오디오 신호와 적어도 일부가 일치하는지 여부를 결정하고,
    상기 통신 회로를 통해 상기 결정에 대한 정보를 상기 서버로 전송하도록 하는 전자 장치.
  3. 제 1항에 있어서,
    상기 웨이크-업 커맨드의 수신과 연관된 정보는,
    상기 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 상기 웨이크-업 커맨드의 품질에 대한 정보를 포함하는 전자 장치.
  4. 제 3항에 있어서,
    상기 웨이크-업 커맨드의 품질에 대한 정보는,
    상기 마이크를 통해 수신된 상기 웨이크-업 커맨드의 음량, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드와 상기 메모리에 기 저장된 웨이크-업 커맨드의 일치도, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드와 상기 웨이크-업 커맨드의 수신 이전 또는 이후에 상기 마이크를 통해 수신된 오디오 신호 간의 신호 대 잡음비(signal-to-noise ratio) 중 적어도 하나를 포함하는 전자 장치.
  5. 제 3항에 있어서,
    상기 웨이크-업 커맨드의 수신과 연관된 정보는,
    상기 통신 회로를 통해 상기 전자 장치의 식별 정보, 상기 전자 장치의 등록 계정 정보, 상기 전자 장치의 등록 위치 정보, 상기 전자 장치와 연결된 오디오 출력 장치에 대한 정보 중 적어도 하나의 정보를 더 포함하는 전자 장치.
  6. 제 1항에 있어서,
    상기 인스트럭션들은, 상기 프로세서가,
    상기 마이크를 통해 음성 명령(voice command)을 수신하고,
    상기 통신 회로를 통해 상기 음성 명령을 상기 서버로 전송하고,
    상기 통신 회로를 통해 상기 서버로부터 상기 음성 명령에 대한 응답을 수신한 경우, 상기 응답에 기반하여 제2 오디오 신호를 생성하고,
    상기 오디오 출력 인터페이스를 통해 상기 제2 오디오 신호를 출력하도록 하며,
    상기 제2 오디오 신호는 비 언어 음 또는 언어 음(language sound)인 전자 장치.
  7. 제 6항에 있어서,
    상기 인스트럭션들은, 상기 프로세서가,
    상기 서버로부터 상기 음성 명령에 대한 응답이 수신되지 않는 경우, 상기 오디오 출력 인터페이스를 통해 상기 음성 명령과 관련된 정보를 제공할 수 없음을 알리는 제3 오디오 신호를 출력하도록 하며,
    상기 제3 오디오 신호는, 상기 메모리에 기 저장된 오디오 신호인 전자 장치.
  8. 제 6항에 있어서,
    상기 전자 장치는 상기 오디오 출력 인터페이스를 통해 오디오 출력 장치와 연결되고,
    상기 인스트럭션들은, 상기 프로세서가,
    상기 전자 장치와 상기 오디오 출력 장치의 연결이 해제된 경우, 상기 통신 회로를 통해 상기 오디오 출력 장치와의 연결 해제됨을 나타내는 정보 및 입출력 장치의 변경을 요청하는 신호를 상기 서버로 전송하고,
    상기 전자 장치의 동작 모드를 슬립 모드로 전환하도록 하는 전자 장치.
  9. 서버에 있어서,
    통신 회로;
    상기 통신 회로와 작동적으로 연결된 프로세서; 및
    상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 통신 회로를 통해 다수 개의 전자 장치들 각각으로부터 웨이크-업 커맨드(wake-up command)의 수신과 연관된 정보를 수신하고,
    상기 정보에 기반하여 상기 다수 개의 전자 장치들 중 제1 전자 장치를 입출력 장치로 결정하고,
    상기 정보에 대한 응답을 생성하고,
    상기 통신 회로를 통해 상기 응답을 상기 제1 전자 장치로 전송하며,
    상기 정보는, 상기 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 상기 웨이크-업 커맨드의 품질을 나타내는 정보를 포함하는 전자 장치.
  10. 제 9항에 있어서,
    상기 웨이크-업 커맨드의 품질을 나타내는 정보는,
    전자 장치의 마이크를 통해 수신된 웨이크-업 커맨드의 음량, 전자 장치의 마이크를 통해 수신된 웨이크-업 커맨드와 전자 장치에 기 저장된 웨이크-업 커맨드의 일치도, 전자 장치의 마이크를 통해 수신된 웨이크-업 커맨드와 상기 웨이크-업 커맨드의 수신 이전 또는 이후에 수신된 오디오 신호 간의 신호 대 잡음비(signal-to-noise ratio) 중 적어도 하나를 포함하는 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치의 마이크를 통해 웨이크-업 커맨드(wake-up command)를 수신하는 동작;
    상기 웨이크-업 커맨드를 인식하는 동작;
    상기 전자 장치의 통신 회로를 통해 상기 웨이크-업 커맨드의 수신과 연관된 정보를 서버로 전송하는 동작;
    상기 통신 회로를 통해 상기 서버로부터 응답을 수신하는 동작;
    상기 응답에 기반하여 제1 오디오 신호를 생성하는 동작; 및
    상기 마이크가 이용 가능한 동안 상기 전자 장치의 오디오 출력 인터페이스를 통해 상기 제1 오디오 신호를 출력하는 동작을 포함하며,
    상기 오디오 신호는, 비 언어 음(non-language sound)인 방법.
  12. 제 11항에 있어서,
    상기 제1 오디오 신호가 출력된 후 상기 마이크를 통해 비 언어 음을 수신하는 동작;
    상기 비 언어 음과 상기 제1 오디오 신호와 적어도 일부가 일치하는지 여부를 결정하는 동작; 및
    상기 통신 회로를 통해 상기 결정에 대한 정보를 상기 서버로 전송하는 동작을 더 포함하는 방법.
  13. 제 11항에 있어서,
    상기 웨이크-업 커맨드의 수신과 연관된 정보는,
    상기 웨이크-업 커맨드가 수신됨을 나타내는 정보 및 상기 웨이크-업 커맨드의 품질에 대한 정보를 포함하는 방법.
  14. 제 13항에 있어서,
    상기 웨이크-업 커맨드의 품질에 대한 정보는,
    상기 마이크를 통해 수신된 상기 웨이크-업 커맨드의 음량, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드와 상기 전자 장치의 메모리에 기 저장된 웨이크-업 커맨드의 일치도, 상기 마이크를 통해 수신된 상기 웨이크-업 커맨드와 상기 웨이크-업 커맨드의 수신 이전 또는 이후에 상기 마이크를 통해 수신된 오디오 신호 간의 신호 대 잡음비(signal-to-noise ratio) 중 적어도 하나를 포함하는 방법.
  15. 제 13항에 있어서,
    상기 웨이크-업 커맨드의 수신과 연관된 정보는,
    상기 통신 회로를 통해 상기 전자 장치의 식별 정보, 상기 전자 장치의 등록 계정 정보, 상기 전자 장치의 등록 위치 정보, 상기 전자 장치와 연결된 오디오 출력 장치에 대한 정보 중 적어도 하나의 정보를 더 포함하는 방법.
PCT/KR2018/012202 2017-10-17 2018-10-16 전자 장치 및 그의 동작 방법 WO2019078588A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/756,894 US11551683B2 (en) 2017-10-17 2018-10-16 Electronic device and operation method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0134571 2017-10-17
KR1020170134571A KR102543693B1 (ko) 2017-10-17 2017-10-17 전자 장치 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
WO2019078588A1 true WO2019078588A1 (ko) 2019-04-25

Family

ID=66174109

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/012202 WO2019078588A1 (ko) 2017-10-17 2018-10-16 전자 장치 및 그의 동작 방법

Country Status (3)

Country Link
US (1) US11551683B2 (ko)
KR (1) KR102543693B1 (ko)
WO (1) WO2019078588A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112820273A (zh) * 2020-12-31 2021-05-18 青岛海尔科技有限公司 唤醒判别方法和装置、存储介质及电子设备
US11730726B2 (en) 2018-07-11 2023-08-22 H. Lee Moffitt Cancer Center And Research Institute, Inc. Dimeric immuno-modulatory compounds against cereblon-based mechanisms

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9820039B2 (en) 2016-02-22 2017-11-14 Sonos, Inc. Default playback devices
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10531157B1 (en) * 2017-09-21 2020-01-07 Amazon Technologies, Inc. Presentation and management of audio and visual content across devices
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US10600408B1 (en) * 2018-03-23 2020-03-24 Amazon Technologies, Inc. Content output management based on speech quality
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US11315553B2 (en) * 2018-09-20 2022-04-26 Samsung Electronics Co., Ltd. Electronic device and method for providing or obtaining data for training thereof
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
EP3654249A1 (en) 2018-11-15 2020-05-20 Snips Dilated convolutions and gating for efficient keyword spotting
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
EP3709194A1 (en) 2019-03-15 2020-09-16 Spotify AB Ensemble-based data comparison
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
CN112712803B (zh) * 2019-07-15 2022-02-25 华为技术有限公司 一种语音唤醒的方法和电子设备
KR20210009596A (ko) * 2019-07-17 2021-01-27 엘지전자 주식회사 지능적 음성 인식 방법, 음성 인식 장치 및 지능형 컴퓨팅 디바이스
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11094319B2 (en) 2019-08-30 2021-08-17 Spotify Ab Systems and methods for generating a cleaned version of ambient sound
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11308959B2 (en) 2020-02-11 2022-04-19 Spotify Ab Dynamic adjustment of wake word acceptance tolerance thresholds in voice-controlled devices
US11328722B2 (en) * 2020-02-11 2022-05-10 Spotify Ab Systems and methods for generating a singular voice audio stream
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11308962B2 (en) * 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
CN112420043A (zh) * 2020-12-03 2021-02-26 深圳市欧瑞博科技股份有限公司 基于语音的智能唤醒方法、装置、电子设备及存储介质
KR20220102492A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 오디오 데이터를 처리하기 위한 오디오 장치 및 그의 동작 방법
KR20220118224A (ko) * 2021-02-18 2022-08-25 삼성전자주식회사 오디오 데이터 처리 방법 및 이를 지원하는 전자 장치
CN113689857B (zh) * 2021-08-20 2024-04-26 北京小米移动软件有限公司 语音协同唤醒方法、装置、电子设备及存储介质
CN114584933B (zh) * 2022-03-03 2023-05-02 极米科技股份有限公司 无线传输中降低延迟的方法、装置、设备及存储介质
CN117409779B (zh) * 2023-12-14 2024-02-23 四川蜀天信息技术有限公司 一种语音唤醒方法、装置、系统及可读介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101116487B1 (ko) * 2007-06-28 2012-03-07 애플 인크. 다수의 오디오 장치들 사이의 오디오의 동적인 라우팅
US20150245154A1 (en) * 2013-07-11 2015-08-27 Intel Corporation Mechanism and apparatus for seamless voice wake and speaker verification
KR20160100765A (ko) * 2015-02-16 2016-08-24 삼성전자주식회사 전자 장치 및 음성 인식 기능 운용 방법
US20160253997A1 (en) * 2015-02-27 2016-09-01 Imagination Technologies Limited Low power detection of a voice control activation phrase
US9558758B1 (en) * 2015-05-15 2017-01-31 Amazon Technologies, Inc. User feedback on microphone placement

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040042242A (ko) 2002-11-13 2004-05-20 삼성전자주식회사 홈서버를 이용하는 홈로봇 및 이를 포함하는 홈네트워크시스템
US20100020983A1 (en) 2008-07-11 2010-01-28 Nigel Waites Wireless speaker dongle with auxiliary audio output
US9735751B1 (en) * 2012-01-09 2017-08-15 Skullcandy, Inc. Audio reproduction device target sound signature
US9466286B1 (en) * 2013-01-16 2016-10-11 Amazong Technologies, Inc. Transitioning an electronic device between device states
KR102003546B1 (ko) 2014-06-24 2019-07-24 구글 엘엘씨 사용자 디바이스와 스트리밍 미디어 콘텐츠 디바이스 간의 연결을 인증하기 위한 방법들, 시스템들, 및 매체들
US9812128B2 (en) * 2014-10-09 2017-11-07 Google Inc. Device leadership negotiation among voice interface devices
KR102585228B1 (ko) * 2015-03-13 2023-10-05 삼성전자주식회사 음성 인식 시스템 및 방법
KR102549689B1 (ko) * 2015-12-24 2023-06-30 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 제어 방법
KR102642666B1 (ko) * 2016-02-05 2024-03-05 삼성전자주식회사 음성인식 장치 및 방법, 음성인식시스템
US10339934B2 (en) * 2016-06-27 2019-07-02 Google Llc Asynchronous processing of user requests
US10931999B1 (en) * 2016-06-27 2021-02-23 Amazon Technologies, Inc. Systems and methods for routing content to an associated output device
US10783883B2 (en) * 2016-11-03 2020-09-22 Google Llc Focus session at a voice interface device
US10083689B2 (en) * 2016-12-23 2018-09-25 Intel Corporation Linear scoring for low power wake on voice

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101116487B1 (ko) * 2007-06-28 2012-03-07 애플 인크. 다수의 오디오 장치들 사이의 오디오의 동적인 라우팅
US20150245154A1 (en) * 2013-07-11 2015-08-27 Intel Corporation Mechanism and apparatus for seamless voice wake and speaker verification
KR20160100765A (ko) * 2015-02-16 2016-08-24 삼성전자주식회사 전자 장치 및 음성 인식 기능 운용 방법
US20160253997A1 (en) * 2015-02-27 2016-09-01 Imagination Technologies Limited Low power detection of a voice control activation phrase
US9558758B1 (en) * 2015-05-15 2017-01-31 Amazon Technologies, Inc. User feedback on microphone placement

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11730726B2 (en) 2018-07-11 2023-08-22 H. Lee Moffitt Cancer Center And Research Institute, Inc. Dimeric immuno-modulatory compounds against cereblon-based mechanisms
CN112820273A (zh) * 2020-12-31 2021-05-18 青岛海尔科技有限公司 唤醒判别方法和装置、存储介质及电子设备
CN112820273B (zh) * 2020-12-31 2022-12-02 青岛海尔科技有限公司 唤醒判别方法和装置、存储介质及电子设备

Also Published As

Publication number Publication date
US11551683B2 (en) 2023-01-10
KR20190042918A (ko) 2019-04-25
KR102543693B1 (ko) 2023-06-16
US20200265838A1 (en) 2020-08-20

Similar Documents

Publication Publication Date Title
WO2019078588A1 (ko) 전자 장치 및 그의 동작 방법
WO2019182226A1 (en) System for processing sound data and method of controlling system
WO2019078576A1 (ko) 음성 신호를 제어하기 위한 전자 장치 및 방법
WO2019182325A1 (ko) 전자 장치 및 전자 장치의 음성 인식 제어 방법
WO2020017849A1 (en) Electronic device and method for providing artificial intelligence services based on pre-gathered conversations
WO2019039834A1 (en) METHOD FOR PROCESSING VOICE DATA AND ELECTRONIC DEVICE SUPPORTING SAID METHOD
WO2019013510A1 (en) VOICE PROCESSING METHOD AND ELECTRONIC DEVICE SUPPORTING IT
WO2020197166A1 (en) Electronic device providing response and method of operating same
WO2019190097A1 (ko) 챗봇을 이용한 서비스 제공 방법 및 그 장치
WO2020032563A1 (en) System for processing user voice utterance and method for operating same
WO2018199483A1 (ko) 지능형 에이전트 관리 방법 및 장치
WO2019017715A1 (en) ELECTRONIC DEVICE AND SYSTEM FOR DETERMINING SPEECH INPUT RECEIVING TIME BASED ON CONTEXTUAL INFORMATION
WO2019172627A1 (en) System for processing user utterance and controlling method thereof
AU2019319322B2 (en) Electronic device for performing task including call in response to user utterance and operation method thereof
WO2019182252A1 (en) Electronic device and server for processing data received from electronic device
WO2019212213A1 (en) Electronic device and method of executing function of electronic device
WO2019078608A1 (ko) 외부 장치를 이용하여 음성 기반 서비스를 제공하기 위한 전자 장치, 외부 장치 및 그의 동작 방법
WO2019221440A1 (ko) 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
WO2019059642A1 (ko) 자연어 표현 제공 방법 및 이를 지원하는 전자 장치
WO2019112181A1 (ko) 오디오 데이터에 포함된 음소 정보를 이용하여 어플리케이션을 실행하기 위한 전자 장치 및 그의 동작 방법
WO2020263016A1 (ko) 사용자 발화를 처리하는 전자 장치와 그 동작 방법
WO2018174445A1 (ko) 파셜 랜딩 후 사용자 입력에 따른 동작을 수행하는 전자 장치
WO2019039873A1 (ko) Tts 모델을 생성하는 시스템 및 전자 장치
WO2019235878A1 (ko) 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
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: 18868460

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

Country of ref document: EP

Kind code of ref document: A1