WO2022059883A1 - 음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법 - Google Patents

음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
WO2022059883A1
WO2022059883A1 PCT/KR2021/006103 KR2021006103W WO2022059883A1 WO 2022059883 A1 WO2022059883 A1 WO 2022059883A1 KR 2021006103 W KR2021006103 W KR 2021006103W WO 2022059883 A1 WO2022059883 A1 WO 2022059883A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
electronic device
external electronic
wake
electronic devices
Prior art date
Application number
PCT/KR2021/006103
Other languages
English (en)
French (fr)
Inventor
정라미
심규성
정준식
최우제
김혁중
박대동
조재홍
조제현
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to US17/298,355 priority Critical patent/US20220319507A1/en
Publication of WO2022059883A1 publication Critical patent/WO2022059883A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • 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
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • 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
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/18Artificial neural networks; Connectionist approaches
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • 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/78Detection of presence or absence of voice signals
    • G10L25/84Detection of presence or absence of voice signals for discriminating voice from noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0229Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • H04W52/028Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof switching on or off only a part of the equipment circuit blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • the present disclosure relates to an electronic device for identifying an electronic device for performing voice recognition, and an operating method thereof.
  • Various types of electronic devices may provide an intelligent voice service by performing voice recognition and performing various operations based on the performed voice recognition.
  • IoT Internet of Things
  • Various types of electronic devices capable of providing an intelligent service may be provided in various environments.
  • a user utterance eg, wake-up utterance
  • the electronic devices recognize the user's utterance (eg, control utterance) to It is possible to enter (ie, wake-up) into a state (eg, a listening state) in which at least one operation corresponding to the recognized utterance is performed.
  • a number of electronic devices different from the user's intention among electronic devices provided in the environment may enter the listening state (ie, wake-up).
  • an electronic device and an operating method thereof receive information related to a wake-up utterance from other external electronic devices when a wake-up utterance occurs, and wake-up based on the received information (that is, By identifying the optimal device (to be switched to the listening state), it is possible to alleviate the operational burden and inconvenience caused by waking up of numerous other electronic devices.
  • an electronic device and an operating method thereof include information generated in an environment (eg, information on a reception time of information received during one session obtained when an operation of identifying a wake-up device is performed; Alternatively, by setting or changing a value (eg, time-out, priority) used when an operation for identifying a device to be woken-up is performed based on information on a device re-identified as a device to be woke-up, the optimal Allow the device to wake-up.
  • an environment eg, information on a reception time of information received during one session obtained when an operation of identifying a wake-up device is performed.
  • a value eg, time-out, priority
  • an electronic device comprising: a communication circuit; Memory; and at least one processor, wherein when the instructions stored in the memory are executed, the at least one processor establishes a communication connection with a plurality of external electronic devices for providing an intelligent voice service, Receive at least one piece of information related to a user's utterance including a specific word from at least a portion of the plurality of external electronic devices, and based on at least one piece of first information received during a time period for identifying the wake-up device , identify a wake-up device among at least some of the plurality of external electronic devices, and when at least one piece of second information is received after the time period, based on a reception time of the at least one piece of second information, the An electronic device may be provided to change the time period to a first time period longer than the time period.
  • a method of operating an electronic device comprising: establishing a communication connection with a plurality of external electronic devices for providing an intelligent voice service; receiving at least one piece of information related to a user's utterance including a specific word from at least some of the plurality of external electronic devices; identifying a wake-up device among at least some of the plurality of external electronic devices based on at least one piece of first information received during a time period for identifying the wake-up device; and when at least one piece of second information is received after the time period, changing the time period to a first time period longer than the time period based on the reception time of the at least one piece of second information.
  • a method of operation may be provided.
  • an electronic device comprising: a communication circuit; Memory; and at least one processor, wherein when the instructions stored in the memory are executed, the at least one processor forms a network with a plurality of external electronic devices for providing an intelligent voice service, and While performing an operation for waking up some of the plurality of external electronic devices forming a network, information related to the plurality of external electronic devices is accumulated, and based on the accumulated information, information related to the user voice At least one piece of information related to a user's utterance including a specific word for waking up from at least a portion of the plurality of external electronic devices and setting a time period for acquiring information and priorities of each of the plurality of external electronic devices and, based on the at least one piece of information and at least one of the set time period or the priority, identify a device to be woken up from among at least some of the plurality of external electronic devices can be
  • the means for solving the problem are not limited to the above-described solutions, and the solutions not mentioned are to those of ordinary skill in the art to which the present invention belongs from the present specification and the accompanying drawings. can be clearly understood.
  • an optimal device when a wake-up utterance occurs, an optimal device to receive information related to a wake-up utterance from other external electronic devices and to be woken up (ie, switched to a listening state) based on the received information
  • information generated in the environment eg, information about a reception time of information received during one session obtained when an operation for identifying a wake-up device is performed, or information about a wake-up device
  • a value eg, time-out, priority
  • the optimal device wakes up An electronic device and an operating method thereof may be provided.
  • IoT internet of things
  • FIG. 2 is a block diagram illustrating an integrated intelligence system, according to various embodiments.
  • FIG. 3 is a diagram illustrating a form in which relation information between a concept and an operation is stored in a database, according to various embodiments of the present disclosure
  • FIG. 4 is a diagram illustrating a screen in which a user terminal processes a voice input received through an intelligent app, according to various embodiments of the present disclosure
  • 5A is a diagram illustrating examples of devices included in an IOT system according to various embodiments of the present disclosure
  • 5B is a diagram for explaining an environment in which an IOT system according to various embodiments is implemented.
  • FIG. 6 is a diagram illustrating an example of a configuration of an electronic device included in an IOT system according to various embodiments of the present disclosure
  • FIG. 7 is a diagram for describing an example of an operation of setting values used in a wake-up operation of an electronic device according to various embodiments of the present disclosure
  • FIG. 8 is a flowchart illustrating an example of operations of electronic devices included in an IOT system according to various embodiments of the present disclosure
  • 9A is a diagram for describing an example of an operation in which a main device receives information about a user's utterance from sub-devices according to various embodiments of the present disclosure
  • 9B is a diagram for describing an example of an operation in which a sub-device provides a voice service according to various embodiments of the present disclosure
  • FIG. 10 is a flowchart illustrating an example of an operation of an electronic device according to various embodiments of the present disclosure
  • FIG. 11 is a diagram for describing an example of an operation of identifying a wake-up device of an electronic device according to various embodiments of the present disclosure
  • FIG. 12 is a diagram for describing an example of an operation of processing information related to a user's utterance of an electronic device according to various embodiments of the present disclosure
  • FIG. 13 is a flowchart illustrating an example of an operation of an electronic device according to various embodiments of the present disclosure
  • FIG. 14 is a diagram for describing an example of an operation of extending a specified time period of an electronic device according to various embodiments of the present disclosure
  • 15 is a diagram for describing an example of an operation of shortening a specified time period of an electronic device according to various embodiments of the present disclosure
  • 16 is a flowchart illustrating an example of an operation of an electronic device according to various embodiments of the present disclosure
  • 17 is a diagram for explaining an example of an operation of identifying a device to be finally woken up of an electronic device according to various embodiments of the present disclosure
  • FIG. 18 is a diagram for describing an example of an operation of changing a priority of a plurality of external electronic devices of an electronic device according to various embodiments of the present disclosure
  • FIG. 19 is a flowchart illustrating an example of an operation of an electronic device according to various embodiments of the present disclosure.
  • 20A is a diagram for describing an example of an operation of generating an artificial intelligence model based on various information accumulated when an operation of identifying a wake-up device of an electronic device is performed, according to various embodiments of the present disclosure
  • 20B is a diagram for describing an example of an operation of identifying a wake-up device based on a generated artificial intelligence model of an electronic device according to various embodiments of the present disclosure
  • 21 is a flowchart illustrating an example of an operation of a set electronic device according to various embodiments of the present disclosure
  • 22 is a diagram for explaining an example of an operation of generating an artificial intelligence model based on various information accumulated when an operation of identifying a wake-up device of an electronic device is performed according to various embodiments of the present disclosure
  • FIG. 23 is a diagram for describing an example of an operation of identifying a wake-up device based on a generated artificial intelligence model of an electronic device according to various embodiments of the present disclosure
  • 24 is a flowchart illustrating an example of an operation of a set electronic device according to various embodiments of the present disclosure
  • 25 is a diagram for explaining an example of an operation of generating an artificial intelligence model based on various information accumulated when an operation of identifying a wake-up device of an electronic device is performed according to various embodiments of the present disclosure
  • 26 is a block diagram of an electronic device in a network environment, according to various embodiments of the present disclosure.
  • FIG. 1 illustrates an internet of things (IoT) system 100 according to an embodiment. Meanwhile, at least some of the components of FIG. 1 may be omitted, and components not shown may be further included.
  • IoT internet of things
  • an IoT system 100 includes a plurality of electronic devices connectable to a data network 116 or 146 .
  • the IoT system 100 includes a first IoT server 110 , a first node 120 , a voice assistance server 130 , a second IoT server 140 , and a second node 150 , or at least one of devices 121 , 122 , 123 , 124 , 125 , 136 , 137 , 151 , 152 and 153 .
  • the first IoT server 110 may include at least one of a communication interface 111 , a processor 112 , and a storage unit 113 .
  • the second IoT server 140 may include at least one of a communication interface 141 , a processor 142 , and a storage unit 143 .
  • "IoT server" in this document for example, based on a data network (eg, data network 116 or data network 146), a relay device (eg, the first node 120 or the second node ( 150)), or directly without a relay device, one or more devices (eg, devices 121,122,123,124,125,151,152,153) may be remotely controlled and/or monitored.
  • a “device” herein means a sensor, home appliance, office electronic device, or A device for performing a process, the type is not limited.
  • a device that receives the control command and performs an operation corresponding to the control command may be referred to as a “target device”.
  • the IoT server may be referred to as a central server in that it selects a target device from among a plurality of devices and provides a control command.
  • the first IoT server 110 may communicate with the devices 121 , 122 , and 123 through the data network 116 .
  • the data network 116 may refer to a network for long-distance communication, such as, for example, the Internet, or a computer network (eg, a local area network (LAN) or a wide area network (WAN)), or includes a cellular network. You may.
  • the first IoT server 110 may be connected to the data network 116 through the communication interface 111 .
  • the communication interface 111 may include a communication device (or communication module) for supporting communication of the data network 116 , and may be integrated into one component (eg, a single chip), or a plurality of separate components. It can be implemented with components (eg, a plurality of chips).
  • the first IoT server 110 may communicate with the devices 121 , 122 , and 123 through the first node 120 .
  • the first node 120 may receive data from the first IoT server 110 through the data network 116 and transmit the received data to at least some of the devices 121 , 122 , and 123 .
  • the first node 120 may receive data from at least some of the devices 121 , 122 , and 123 , and transmit the received data to the first IoT server 110 through the data network 116 .
  • the first node 120 may serve as a bridge between the data network 116 and the devices 121 , 122 , 123 .
  • the first node 120 is illustrated as one, but this is merely exemplary, and the number is not limited.
  • a “node” in this document may be an edge computing system, or may be a hub device.
  • the first node 120 may support wired and/or wireless communication of the data network 116 , and may also support wired and/or wireless communication with the devices 121 , 122 , and 123 .
  • the first node 120 is a short-range communication network such as at least one of Bluetooth, Wi-Fi, Wi-Fi direct, Z-wave, Zig-bee, INSETEON, X10, etc.) or IrDA (infrared data association).
  • the devices 121 , 122 , and 123 may be monitored and/or controlled by the service provided by the first IoT server 110 , and the devices 121 , 122 , 123 may It may not be required to have the capability of a complete network communication (eg, Internet communication) for direct connection to the first IoT server 110.
  • the devices 121 , 122 , and 123 may include, for example, a light switch, proximity Although shown as implemented as an electronic device in a home environment as a sensor, a temperature sensor, etc., this is illustrative and not limited.
  • the first IoT server 110 may support direct communication with the devices 124 and 125 .
  • direct communication may refer to communication not through a relay device such as the first node 120 , for example, communication through a cellular communication network and/or a data network.
  • the first IoT server 110 may transmit a control command to at least some of the devices 121 , 122 , 123 , 124 and 125 .
  • the “control command” may mean data that causes a controllable device to perform a specific operation, and the specific operation is an operation performed by the device, including output of information, sensing of information, reporting of information, It may include management (eg, deletion, or creation) of information, and there are no restrictions on the type.
  • the processor 112 generates a control command from an external (eg, at least some of the voice assistant server 130 , the second IoT server 140 , the external system 126 , or the devices 121 , 122 , 123 , 124 , 125 ).
  • the processor 112 may generate a control command based on a result of monitoring at least some of the devices 121 , 122 , 123 , 124 and 125 satisfying a specified condition.
  • the processor 112 may control the communication interface 111 to transmit a control command to the target device.
  • the processor 112 may include a central processing unit (CPU), a digital signal processor (DSP), an application processor (AP), a communication processor (CP), or the like. It may be implemented as a combination of one or more of a general-purpose processor, a graphics-only processor such as a graphic processing unit (GPU), a vision processing unit (VPU), or an artificial intelligence-only processor such as a neural processing unit (NPU).
  • a general-purpose processor such as a graphic processing unit (GPU), a vision processing unit (VPU), or an artificial intelligence-only processor such as a neural processing unit (NPU).
  • GPU graphic processing unit
  • VPU vision processing unit
  • NPU neural processing unit
  • the processor 112 configures a web-based interface based on an application programming interface (API) 114 or externally accesses a resource managed by the first IoT server 110 .
  • API application programming interface
  • the web-based interface may support communication between the first IoT server 110 and an external web service, for example.
  • the processor 112 may, for example, allow an external system 126 to control and/or access the devices 121 , 122 , 123 .
  • External system 126 may be, for example, an independent system that is not associated with, or is not part of, system 100 .
  • the external system 126 may be, for example, an external server, or a web site.
  • the processor 112 may expose the automation application to an API endpoint (eg, a universal resource locator (URL)) based on the API 114 to the outside.
  • the first IoT server 110 may transmit a control command to a target device among the devices 121 , 122 , and 123 .
  • the description of the communication interface 141 of the second IoT server 140 , the processor 142 , the API 144 of the storage unit 143 , and the database 145 is the communication of the first IoT server 110 .
  • the description of the interface 111 , the processor 112 , the API 114 of the storage unit 113 , and the database 115 may be substantially the same.
  • the description of the second node 150 may be substantially the same as the description of the first node 120 .
  • the second IoT server 140 may transmit a control command to a target device among the devices 151 , 152 , and 153 .
  • the first IoT server 110 and the second IoT server 140 may be operated by the same service provider in one embodiment, but may be operated by different service providers in another embodiment.
  • the voice assistant server 130 may transmit/receive data to and from the first IoT server 110 through the data network 116 .
  • the voice assistant server 130 may include at least one of a communication interface 131 , a processor 132 , and a storage unit 133 .
  • the communication interface 131 may communicate with the smart phone 136 or the AI speaker 137 through a data network (not shown) and/or a cellular network (not shown).
  • the smart phone 136 or the AI speaker 137 may include a microphone, obtain a user voice, convert it into a voice signal, and transmit the voice signal to the voice assistant server 130 .
  • the processor 132 may receive a voice signal from the smart phone 136 or the AI speaker 137 through the communication interface 131 .
  • the processor 132 may process the received voice signal based on the stored model 134 .
  • the processor 132 may generate (or confirm) a control command using the processing result based on information stored in the database 135 .
  • the storage units 113 , 133 , and 143 may include a flash memory type, a hard disk type, a multimedia card micro type, and a card type memory (eg, SD or XD memory, etc.), RAM (Random Access Memory) SRAM (Static Random Access Memory), ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) Memory), a magnetic memory, a magnetic disk, and an optical disk may include at least one type of non-transitory storage medium, and the type is not limited.
  • FIG. 2 is a block diagram illustrating an integrated intelligence system, according to various embodiments.
  • the description of the integrated intelligent system 10 described below may be applied mutatis mutandis to the description of the IOT system described above in FIG. 1 .
  • the integrated intelligent system 10 may include a user terminal 160 , an intelligent server 200 , and a service server 300 .
  • the user terminal 160 may be a terminal device (or electronic device) connectable to the Internet, for example, the user terminal 160 may be a mobile phone, a smart phone, a personal digital assistant (PDA), or a notebook computer. , TV, white goods, wearable device, head-mounted display (HMD), or smart speaker.
  • a terminal device or electronic device connectable to the Internet
  • the user terminal 160 may be a mobile phone, a smart phone, a personal digital assistant (PDA), or a notebook computer.
  • TV white goods, wearable device, head-mounted display (HMD), or smart speaker.
  • HMD head-mounted display
  • the user terminal 160 may include a communication interface 161 , a processor 162 , a display 163 , a speaker 164 , a microphone 165 , or a memory 170 .
  • the components listed above may be operatively or electrically connected to each other.
  • the communication interface 161 may be configured to transmit/receive data by being connected to an external device.
  • the microphone 165 may receive a sound (eg, a user's utterance) and convert it into an electrical signal.
  • the speaker 164 according to an exemplary embodiment may output an electrical signal as a sound (eg, voice).
  • Display 163 of an embodiment may be configured to display an image or video.
  • the display 163 according to an embodiment may also display a graphic user interface (GUI) of an executed app (or an application program).
  • GUI graphic user interface
  • the memory 170 may store a client module 171 , a software development kit (SDK) 173 , and a plurality of apps 175_1 and 175_2 .
  • the client module 171 and the SDK 173 may constitute a framework (or a solution program) for performing general functions.
  • the client module 171 or the SDK 173 may configure a framework for processing a voice input.
  • the memory 170 may be a program for performing a specified function of the plurality of apps 175_1 and 175_2.
  • the plurality of apps 175_1 and 175_2 may include a first app 175_1 and a second app 175_2.
  • each of the plurality of apps 175_1 and 175_2 may include a plurality of operations for performing a specified function.
  • the apps may include an alarm app, a message app, and/or a schedule app.
  • the plurality of apps 175_1 and 175_2 may be executed by the processor 162 to sequentially execute at least some of the plurality of operations.
  • the processor 162 may control the overall operation of the user terminal 160 .
  • the processor 162 may be electrically connected to the communication interface 161 , the microphone 165 , the speaker 164 , and the display 163 to perform a specified operation.
  • the processor 162 may also execute a program stored in the memory 170 to perform a designated function.
  • the processor 162 may execute at least one of the client module 171 and the SDK 173 to perform the following operation for processing a voice input.
  • the processor 162 may, for example, control the operations of the plurality of apps 175_1 and 175_2 through the SDK 173 .
  • the following operations described as operations of the client module 171 or the SDK 173 may be operations by the execution of the processor 162 .
  • the client module 171 may receive a voice input.
  • the client module 171 may receive a voice signal corresponding to the user's utterance sensed through the microphone 165 .
  • the client module 171 may transmit the received voice input to the intelligent server 200 .
  • the client module 171 may transmit the state information of the user terminal 160 to the intelligent server 200 together with the received voice input.
  • the state information may be, for example, execution state information of an app.
  • the client module 171 may receive a result corresponding to the received voice input. For example, when the intelligent server 200 can calculate a result corresponding to the received voice input, the client module 171 may receive a result corresponding to the received voice input. The client module 171 may display the received result on the display 163 .
  • the client module 171 may receive a plan corresponding to the received voice input.
  • the client module 171 may display a result of executing a plurality of operations of the app according to the plan on the display 163 .
  • the client module 171 may, for example, sequentially display execution results of a plurality of operations on the display.
  • the user terminal 160 may display only some results of executing a plurality of operations (eg, results of the last operation) on the display.
  • the client module 171 may receive a request for obtaining information necessary for calculating a result corresponding to a voice input from the intelligent server 200 . According to an embodiment, the client module 151 may transmit the necessary information to the intelligent server 200 in response to the request.
  • the client module 171 may transmit result information of executing a plurality of operations according to the plan to the intelligent server 200 .
  • the intelligent server 200 may confirm that the received voice input has been correctly processed using the result information.
  • the client module 171 may include a voice recognition module. According to an embodiment, the client module 171 may recognize a voice input performing a limited function through the voice recognition module. For example, the client module 171 may perform an intelligent app for processing a voice input for performing an organic operation through a specified input (eg, wake up!).
  • a voice recognition module may recognize a voice input performing a limited function through the voice recognition module. For example, the client module 171 may perform an intelligent app for processing a voice input for performing an organic operation through a specified input (eg, wake up!).
  • the intelligent server 200 may receive information related to a user's voice input from the user terminal 160 through a communication network. According to an embodiment, the intelligent server 200 may change data related to the received voice input into text data. According to an embodiment, the intelligent server 200 may generate a plan for performing a task corresponding to a user's voice input based on the text data.
  • the plan may be generated by an artificial intelligent (AI) system.
  • the artificial intelligence system may be a rule-based system, a neural network-based system (eg, a feedforward neural network (FNN)), a recurrent neural network (RNN) ))) can also be Alternatively, it may be a combination of the above or other artificial intelligence systems.
  • the plan may be selected from a set of predefined plans or may be generated in real time in response to a user request. For example, the artificial intelligence system may select at least one plan from among a plurality of predefined plans.
  • the intelligent server 200 of an embodiment may transmit a result according to the generated plan to the user terminal 160 or transmit the generated plan to the user terminal 160 .
  • the user terminal 160 may display a result according to the plan on the display.
  • the user terminal 160 may display the result of executing the operation according to the plan on the display.
  • the intelligent server 200 of an embodiment includes a front end 210, a natural language platform 220, a capsule DB 230, an execution engine 240, It may include an end user interface 250 , a management platform 260 , a big data platform 270 , or an analytics platform 280 .
  • the front end 210 may receive a voice input received from the user terminal 160 .
  • the front end 210 may transmit a response corresponding to the voice input.
  • the natural language platform 220 includes an automatic speech recognition module (ASR module) 221 , a natural language understanding module (NLU module) 223 , a planner module ( planner module 225 , a natural language generator module (NLG module) 227 , or a text to speech module (TTS module) 229 .
  • ASR module automatic speech recognition module
  • NLU module natural language understanding module
  • planner module planner module 225
  • NLG module natural language generator module
  • TTS module text to speech module
  • the automatic voice recognition module 221 may convert a voice input received from the user terminal 160 into text data.
  • the natural language understanding module 223 may determine the user's intention by using text data of the voice input. For example, the natural language understanding module 223 may determine the user's intention by performing syntactic analysis or semantic analysis.
  • the natural language understanding module 223 according to an embodiment recognizes the meaning of a word extracted from a voice input using a linguistic feature (eg, a grammatical element) of a morpheme or phrase, and matches the meaning of the identified word to the intention of the user. You can decide your intentions.
  • the planner module 225 may generate a plan using the intention and parameters determined by the natural language understanding module 223 .
  • the planner module 225 may determine a plurality of domains required to perform a task based on the determined intention.
  • the planner module 225 may determine a plurality of operations included in each of the plurality of domains determined based on the intention.
  • the planner module 225 may determine parameters necessary to execute the determined plurality of operations or result values output by the execution of the plurality of operations.
  • the parameter and the result value may be defined as a concept of a specified format (or class).
  • the plan may include a plurality of actions and a plurality of concepts determined by the user's intention.
  • the planner module 225 may determine the relationship between the plurality of operations and the plurality of concepts in stages (or hierarchically). For example, the planner module 225 may determine the execution order of the plurality of operations determined based on the user's intention based on the plurality of concepts. In other words, the planner module 225 may determine the execution order of the plurality of operations based on parameters required for execution of the plurality of operations and results output by the execution of the plurality of operations. Accordingly, the planner module 225 may generate a plan including a plurality of operations and related information (eg, ontology) between a plurality of concepts. The planner module 225 may generate a plan using information stored in the capsule database 230 in which a set of relationships between concepts and operations is stored.
  • the planner module 225 may generate a plan using information stored in the capsule database 230 in which a set of relationships between concepts and operations is stored.
  • the natural language generation module 227 may change the specified information into a text form.
  • the information changed to the text form may be in the form of natural language utterance.
  • the text-to-speech conversion module 229 may change information in a text format into information in a voice format.
  • some or all of the functions of the natural language platform 220 may be implemented in the user terminal 160 .
  • the capsule database 230 may store information on relationships between a plurality of concepts and operations corresponding to a plurality of domains.
  • a capsule may include a plurality of action objects (action objects or action information) and concept objects (concept objects or concept information) included in the plan.
  • the capsule database 230 may store a plurality of capsules in the form of a concept action network (CAN).
  • the plurality of capsules may be stored in a function registry included in the capsule database 230 .
  • the capsule database 230 may include a strategy registry in which strategy information necessary for determining a plan corresponding to a voice input is stored.
  • the strategy information may include reference information for determining one plan when there are a plurality of plans corresponding to the voice input.
  • the capsule database 230 may include a follow up registry in which information on a subsequent operation for suggesting a subsequent operation to the user in a specified situation is stored.
  • the subsequent operation may include, for example, a subsequent utterance.
  • the capsule database 230 may include a layout registry that stores layout information of information output through the user terminal 160 .
  • the capsule database 230 may include a vocabulary registry in which vocabulary information included in the capsule information is stored.
  • the capsule database 230 may include a dialog registry (dialog registry) in which dialog (or interaction) information with the user is stored.
  • the capsule database 230 may update a stored object through a developer tool.
  • the developer tool may include, for example, a function editor for updating an action object or a concept object.
  • the developer tool may include a vocabulary editor for updating the vocabulary.
  • the developer tool may include a strategy editor for creating and registering strategies for determining plans.
  • the developer tool may include a dialog editor that creates a dialog with the user.
  • the developer tool can include a follow up editor that can edit subsequent utterances that activate follow-up goals and provide hints. The subsequent goal may be determined based on a currently set goal, a user's preference, or an environmental condition.
  • the capsule database 230 may be implemented in the user terminal 160 .
  • the execution engine 240 may calculate a result using the generated plan.
  • the end user interface 250 may transmit the calculated result to the user terminal 160 . Accordingly, the user terminal 160 may receive the result and provide the received result to the user.
  • the management platform 260 may manage information used in the intelligent server 200 .
  • the big data platform 270 according to an embodiment may collect user data.
  • the analysis platform 280 of an embodiment may manage the quality of service (QoS) of the intelligent server 200 . For example, the analysis platform 280 may manage the components and processing speed (or efficiency) of the intelligent server 200 .
  • QoS quality of service
  • the service server 300 may provide a specified service (eg, food order or hotel reservation) to the user terminal 160 .
  • the service server 300 may be a server operated by a third party.
  • the service server 300 may provide information for generating a plan corresponding to the received voice input to the intelligent server 200 .
  • the provided information may be stored in the capsule database 230 .
  • the service server 300 may provide result information according to the plan to the intelligent server 200 .
  • the service server 300 may include CP services (eg, CP service (A) 301 and CP service (B) 302).
  • the user terminal 160 may provide various intelligent services to the user in response to a user input.
  • the user input may include, for example, an input through a physical button, a touch input, or a voice input.
  • the user terminal 160 may provide a voice recognition service through an intelligent app (or a voice recognition app) stored therein.
  • the user terminal 160 may recognize a user utterance or a voice input received through the microphone, and provide a service corresponding to the recognized voice input to the user. .
  • the user terminal 160 may perform a specified operation alone or together with the intelligent server and/or the service server, based on the received voice input. For example, the user terminal 160 may execute an app corresponding to the received voice input and perform a specified operation through the executed app.
  • the user terminal 160 when the user terminal 160 provides a service together with the intelligent server 200 and/or the service server, the user terminal detects a user's utterance using the microphone 165, A signal (or voice data) corresponding to the sensed user's utterance may be generated. The user terminal may transmit the voice data to the intelligent server 200 using the communication interface 161 .
  • the intelligent server 200 In response to the voice input received from the user terminal 160, the intelligent server 200 according to an embodiment performs a plan for performing a task corresponding to the voice input, or performs an operation according to the plan. results can be generated.
  • the plan may include, for example, a plurality of actions for performing a task corresponding to a user's voice input, and a plurality of concepts related to the plurality of actions.
  • the concept may define parameters input to the execution of the plurality of operations or result values output by the execution of the plurality of operations.
  • the plan may include a plurality of actions and association information between a plurality of concepts.
  • the user terminal 160 may receive the response using the communication interface 161 .
  • the user terminal 160 outputs a voice signal generated inside the user terminal 160 using the speaker 164 to the outside, or an image generated inside the user terminal 160 using the display 163 to the outside. can be output as
  • FIG. 3 is a diagram illustrating a form in which relation information between a concept and an operation is stored in a database, according to various embodiments of the present disclosure
  • the capsule database (eg, the capsule database 230 ) of the intelligent server 200 may store the capsule in the form of a concept action network (CAN) 400 .
  • the capsule database may store an operation for processing a task corresponding to a user's voice input and parameters necessary for the operation in the form of a concept action network (CAN) 400 .
  • the capsule database may store a plurality of capsules (capsule(A) 401, capsule(B) 404) corresponding to each of a plurality of domains (eg, applications).
  • one capsule eg, capsule(A) 401
  • one domain eg, location (geo), application.
  • at least one service provider for performing a function for a domain related to the capsule eg, CP 1 402 , CP 2 403 , CP 3 406 , or CP 4 405
  • one capsule may include at least one operation 410 and at least one concept 420 for performing a specified function.
  • the natural language platform 220 may generate a plan for performing a task corresponding to the received voice input using the capsule stored in the capsule database.
  • the planner module 225 of the natural language platform may generate a plan using a capsule stored in a capsule database.
  • operations 4011 , 4013 and concepts 4012 , 4014 of capsule A 410 and operations 4041 and concept 4042 of capsule B 404 are used to generate plan 407 . can do.
  • FIG. 4 is a diagram illustrating a screen in which a user terminal processes a voice input received through an intelligent app, according to various embodiments of the present disclosure
  • the user terminal 160 may execute an intelligent app to process a user input through the intelligent server 200 .
  • the user terminal 160 processes the voice input.
  • You can run intelligent apps for The user terminal 160 may, for example, run an intelligent app in a state in which the schedule app is running.
  • the user terminal 160 may display an object (eg, an icon) 311 corresponding to an intelligent app on the display 163 .
  • the user terminal 160 may receive a voice input by the user's utterance.
  • the user terminal 160 may receive a voice input saying "Tell me about this week's schedule!
  • the user terminal 160 may display a user interface (UI) 313 (eg, an input window) of an intelligent app on which text data of the received voice input is displayed on the display.
  • UI user interface
  • the user terminal 160 may display a result corresponding to the received voice input on the display.
  • the user terminal 160 may receive a plan corresponding to the received user input, and display 'this week's schedule' on the display according to the plan.
  • FIGS. 5A to 5B an example of devices included in the IOT system will be described with reference to FIGS. 5A to 5B at 932 .
  • the description of the IOT system described in FIG. 1 and the integrated intelligent system described in FIGS. 2 to 3 may be applied mutatis mutandis, and thus a redundant description will be omitted.
  • FIG. 5A is a diagram illustrating examples of devices included in an IOT system according to various embodiments of the present disclosure; According to various embodiments, without being limited to the devices shown in FIG. 5 , the IOT system may be implemented to include more or fewer devices.
  • 5B is a diagram for explaining an environment in which an IOT system according to various embodiments is implemented.
  • the IOT system is implemented in a specific environment 500 , and may include a plurality of electronic devices 510 and an intelligent server 530 .
  • the IOT system may be implemented in a house as shown in FIG. 5A, or may be implemented in various environments (eg, offices, factories, buildings, interiors of transportation means, outdoor environments) without being limited to the illustrated ones.
  • the plurality of electronic devices 510 may include various types of electronic devices that may be provided in the environment 500 in which the IOT system is implemented.
  • the plurality of electronic devices 510 are electronic devices (eg, the refrigerator 501 , the air conditioner 502 , the speaker 503 , and the TV 504 shown in FIG. 5A ) provided at a fixed location. ), as well as electronic devices (movables M (M), such as the smart phone 505 and the wearable device 506 shown in FIG.
  • the plurality of electronic devices 510 may further include various types of devices (eg, robot cleaners, smart windows, smart lights, various products) that can be provided in the environment 500 in which the IOT system is implemented. can do.
  • each of the plurality of electronic devices 510 may establish a communication connection with each other.
  • the plurality of electronic devices 510 use an access point (AP) 540 or a wireless communication scheme (eg, Wi-Fi) using a repeater to establish a communication connection 511, 512, 513, 514, 515, 516) can be set.
  • AP access point
  • Wi-Fi wireless communication scheme
  • each of the plurality of electronic devices 510 may establish a communication connection using a wireless communication scheme (eg, Bluetooth) for directly connecting to each other.
  • a wireless communication scheme eg, Bluetooth
  • some of the plurality of electronic devices 510 may be separated from the formed communication network, or another electronic device may participate in the formed communication network. For example, some of the plurality of electronic devices 510 are moved to be located in a location where communication connection with other electronic devices is impossible (or a location outside the environment 500 in which the IOT system is implemented). In this case, a communication connection of some of the plurality of electronic devices 510 may be released and the plurality of electronic devices 510 may be separated from the communication network.
  • the other external electronic device may establish a communication connection with the plurality of electronic devices 510 and participate in the communication network.
  • Each of the plurality of electronic devices 510 may transmit information (eg, information related to a user's utterance, information on the state of the electronic device) to another electronic device included in one communication network based on the communication connection. This will be described later.
  • At least some of the plurality of electronic devices 510 may provide various intelligent services (eg, a voice recognition service).
  • at least some of the plurality of electronic devices 510 may include a program for providing an intelligent service (eg, an intelligent service providing module 613 to be described later).
  • At least some of the plurality of electronic devices 510 receive a user utterance based on execution and/or driving of the program, process the received user utterance, and a voice corresponding to the user utterance according to the processing result Recognition service can be provided.
  • at least some of the plurality of electronic devices 510 include a first word (or startup word) for executing the voice recognition service (or executing a program for providing an intelligent voice service).
  • an operation of identifying a wake-up device may be performed.
  • the meaning that the electronic device is “wake-up” means that the state of the electronic device is a state in which a user's utterance for control can be acquired and processed (that is, a state in which voice recognition and a service based on voice recognition can be provided, or control is performed) It may mean switching to a listening state (listening state) for recognizing and processing user utterances.
  • a wake-up electronic device among the plurality of electronic devices 510 may receive a second user utterance for control and transmit the second user utterance to an intelligent server 530 to be described later.
  • Some of the plurality of electronic devices 510 receive information on a result of processing the second user's utterance by the intelligent server 530, and provide a service corresponding to the second user's utterance based on the received information. It may provide (eg, perform a specific function of the electronic device). Since the operation of providing a voice recognition service of at least some of the plurality of electronic devices 510 may be performed as described with reference to FIGS. 2 to 4 , a redundant description will be omitted. In this case, at least some of the other electronic devices 510 included in the IOT system may not be able to provide the intelligent service. For example, a program for providing the intelligent service may not be installed in at least some other parts of the plurality of electronic devices 510 .
  • a role of each of the plurality of electronic devices 510 in the IOT system may be set.
  • at least one device (eg, 503 ) among the plurality of electronic devices 510 is set as a “main device” 520 (or a master device), and the other devices are “sub devices” (or , slave devices).
  • the electronic device (eg, 503 ) configured as the main device 520 receives and receives information (eg, information related to user utterance) from other sub-devices (eg, 501 , 502 , 504 , 505 , 506 ). Based on the received information, the intelligent service provision operation of the plurality of electronic devices 510 may be generally controlled.
  • the main device 520 provides information related to the user utterance (eg, user utterance) from at least some of the sub-devices. information on the strength of ), and a device to be woken up from among sub-devices may be identified based on the received information.
  • the main device 520 includes information acquired while performing an operation of identifying a wake-up device among the sub-devices (eg, reception time information to be described later, a device re-identified as a wake-up device) accumulating information, device-specific status information, SNR information, and priority information), and values (eg, a time period to be described later) priority) can be changed.
  • identifying a wake-up device among the sub-devices eg, reception time information to be described later, a device re-identified as a wake-up device
  • accumulating information eg, device-specific status information, SNR information, and priority information
  • values eg, a time period to be described later
  • the main device 520 may transmit some of the accumulated information to the intelligent server 530 to be accumulated in the intelligent server 530 .
  • the setting of the “main device” and the “sub device” may be performed automatically or manually.
  • the intelligent server 53003 provides information about the plurality of electronic devices (eg, information on processing capability, priority to be identified as a wake-up device). information), the main device 520 may be automatically set.
  • the intelligent server 53003 may set a device having the highest processing capability as the main device 520 .
  • the intelligent server 53003 may set a device having the lowest (or highest) priority to be identified as a wake-up device as the main device 520 .
  • one of the plurality of electronic devices 510 may be set as the main device 520 .
  • the main device 520 among the plurality of electronic devices 510 is set, the remaining devices among the plurality of electronic devices may be automatically set as sub-devices.
  • the intelligent server 530 may store information on roles (a main device and a sub device) set for each of the plurality of electronic devices 510 , and transmit the stored information to the main device 520 .
  • the intelligent server 530 may have to process all voice information transmitted from the plurality of electronic devices 510 .
  • the load of the intelligent server 530 may increase, and the time required for the intelligent server 530 to process the voice information may increase. there is.
  • the load on the intelligent server 530 may be reduced by identifying a device (eg, a wake-up device) to which the electronic device set as the “main device” 520 will provide a voice recognition service.
  • devices that have not been woken up may not provide a voice recognition service (eg, do not enter a listening state).
  • the intelligent server 530 may receive information on a user's utterance from a plurality of electronic devices 510 , process the received user's utterance, and generate information for providing a service. For example, the intelligent server 530 converts user speech into text based on a text conversion algorithm (eg, auto speech recognition (ASR) algorithm), and uses a natural language understanding algorithm (eg, natural language understanding (NLU) algorithm). Based on this, the meaning of the converted text can be analyzed. The intelligent server 530 may identify information for providing a service corresponding to the analyzed meaning (eg, a plan for performing a plurality of operations), and transmit the identified information to the plurality of electronic devices 510 . .
  • ASR auto speech recognition
  • NLU natural language understanding
  • the plan may include a plurality of operations for performing a task corresponding to a user's voice input, and a plurality of concepts related to the plurality of operations. Accordingly, the plurality of electronic devices 510 may sequentially provide at least one function based on the identified information.
  • the intelligent server 530 the description of the intelligent server 200 described above with reference to FIGS. 2 to 4 may be applied mutatis mutandis, and thus a redundant description will be omitted.
  • the intelligent server 530 may register a plurality of electronic devices 510 .
  • the intelligent server 530 may include identification information (eg, international mobile equipment identity (IMEI), MAC address) for automatically identifying the electronic device from each electronic device. (media access control address) and IP address (internet protocol address) may be received, and each electronic device may be registered based on the received identification information.
  • IMEI international mobile equipment identity
  • MAC address media access control address
  • IP address internet protocol address
  • the intelligent server 530 receives identification information for a plurality of electronic devices 510 from a user terminal (eg, a smart phone) used by a user (eg, a user using an IOT system), and uses the received identification information Based on this, the electronic devices may be registered.
  • a user terminal eg, a smart phone
  • a user eg, a user using an IOT system
  • the intelligent server 530 may classify and register and/or manage the plurality of electronic devices 510 by location.
  • the plurality of electronic devices 510 may be configured by location (eg, rooms 551, 554, 555) in an environment (eg, home) in which an IOT system is implemented (eg, rooms 551, 554, 555), kitchen 552, It may be provided as a living room 553).
  • the intelligent server 530 requests information on locations where the plurality of electronic devices 510 are provided from the plurality of electronic devices 510, and based on the request to receive location information.
  • the plurality of electronic devices 510 receives and stores information on the locations of the plurality of electronic devices 510 by a user, and the intelligent server 530 uses the plurality of electronic devices ( 510) may each request information about a location to receive location information. Also, for example, the plurality of electronic devices 510 requests information on locations of the plurality of electronic devices 510 from a user terminal used by the user, and a plurality of electronic devices 510 input by the user on the user terminal. Information on the locations of the electronic devices 510 may be received from the user terminal.
  • the intelligent server 530 classifies or groups the plurality of electronic devices 510 by location (eg, bedroom, living room) of the plurality of electronic devices 510 , and the plurality of electronic devices Information on the 510 may be registered and/or managed for each location.
  • location eg, bedroom, living room
  • the plurality of electronic devices Information on the 510 may be registered and/or managed for each location.
  • the intelligent server 530 may transmit information on a plurality of registered electronic devices 510 to the main device 520 so that the main device 520 identifies the registered sub-devices. there is.
  • the main device 520 does not receive information on the plurality of electronic devices 510 from the intelligent server 530, and directly receives identification information for the sub-devices from other sub-devices. It can also receive and store.
  • components included in the electronic device 510 included in the IOT system will be described. Meanwhile, in addition to the components included in the electronic device 510 illustrated in FIG. 6 , components of the electronic device 101 illustrated in FIG. 25 may be further included.
  • FIG. 6 is a diagram illustrating an example of a configuration of an electronic device included in an IOT system according to various embodiments of the present disclosure; According to various embodiments, it is not limited to the devices illustrated in FIG. 6 , and the electronic device may be implemented to include more or fewer components.
  • FIG. 6 will be further described with reference to FIG. 7 .
  • the electronic device 510 may be implemented so as not to include at least one component (eg, the microphone 601 and the wake-up device identification module 611 ) depending on the implementation purpose.
  • the electronic device 510 may be implemented not to include the wake-up device identification module 611 .
  • FIG. 7 is a diagram for describing an example of an operation of setting values used in a wake-up operation of an electronic device set as a “main device” according to various embodiments of the present disclosure
  • the electronic device 510 is a processor including a microphone 601 , a speaker 603 , a communication circuit 605 , a wake-up device identification module 611 , and an intelligent service providing module 613 . 610 , and a memory 620 .
  • the electronic device 510 may receive a user's utterance using the microphone 601 .
  • the electronic device 510 may output sound using the speaker 603 .
  • the electronic device 510 may output a sound for notifying the wake-up through the speaker 603 .
  • the electronic device 510 may output sound through the speaker 603 based on the received sound information. there is.
  • the plurality of electronic devices 510 establish a communication connection with other electronic devices 510 included in the IOT system using the communication circuit 605 , and information (eg, information related to user utterance) ) may be transmitted and/or received.
  • the information related to the user's utterance may include information indicating the strength of the user's utterance.
  • the information indicating the intensity of the user's utterance may include information on a signal to noise ratio (SNR) of the user's utterance or information on the quality of the user's utterance.
  • SNR signal to noise ratio
  • the quality of the user's utterance may indicate a degree of intelligibility of the user's utterance.
  • the modules included in each of the plurality of electronic devices 510 include the electronic device 510 .
  • the modules include the electronic device 510 .
  • the modules in the form of an application, program, computer code or instructions, routine, or process executable by the processor 610 of the electronic device 510 (eg, the memory 620).
  • the modules may cause the processor 610 to perform an operation associated with the module.
  • each configuration included in the processor 610 will be described.
  • the wake-up device identification module 611 and the intelligent service providing module 613 described below may be implemented as at least a part of the above-described client module 171 .
  • the wake-up device identification module 611 may identify a wake-up device among sub-devices included in the IOT system.
  • the wake-up device identification module 611 may include information (eg, information related to a user's utterance) received from the external electronic devices 510 and values 710 used in an operation to identify a wake-up device. Based on , a device to be woken up among the external electronic devices 510 may be identified.
  • the values 710 used in the operation of identifying the wake-up device are pre-stored in the memory 620 as shown in FIG. 7 , and time information 711 and priorities of a plurality of electronic devices information 712 .
  • the information 711 about the time includes a session, a first time-out for identifying a wake-up device included in the session, or a first time-out period other than the first time-out period. Information on at least one of the remaining second time period (guard time) may be included.
  • the priority information 712 indicates a preference to be identified as a wake-up device for each of a plurality of external electronic devices, and as the priority level is relatively high, a possibility of identification as a wake-up device may be higher.
  • the external electronic device Based on information (eg, information related to user utterance) received from the external electronic devices 510 of the wake-up device identification module and the values 710 used in the operation of identifying the wake-up device, the external electronic device Specific examples of an operation of identifying a wake-up device among the devices 510 will be described later.
  • the wake-up device identification module 611 provides values 710 for identifying a wake-up device based on the accumulated information 720 (eg, information on a time period 7101, priority). information 712) may be set and/or changed.
  • the accumulated information 720 includes information on a reception time of information received from external electronic devices (not shown) obtained while performing operations for identifying a wake-up device, and state information for each device.
  • the wake-up device identification module 611 may set the information 710 on the time period and the information 712 on the priority based on the accumulated information 720 , which will be described later.
  • the accumulated information 720 may be as shown in [Table 1] below.
  • the intelligent service providing module 613 may be implemented to provide a voice recognition service.
  • the intelligent service providing module 613 When the intelligent service providing module 613 is implemented and executed in the form of a program or an application, it may perform an operation of providing a voice recognition service. Since the voice recognition service is the same as described above, a redundant description will be omitted.
  • an example of operations of electronic devices included in the IOT system according to various embodiments will be described.
  • the main device 520 (shown in FIG. 8 ) of electronic devices included in the IOT system receives information about user utterance from other sub-devices 521 and based on the received information to identify a device to be woken up, and transmit a message (or signal) for waking up the identified device to the identified device.
  • the wake-up device may provide an intelligent service based on receiving a user utterance for control from the user and transmitting the received user utterance to the intelligent server 530 .
  • the electronic device 901 described below is the “main device 520”, and external electronic devices (eg, the first external electronic device 902 , the second external electronic device 903 , and the third external electronic device ( 904)) is described as an “sub device 521” as an example.
  • external electronic devices eg, the first external electronic device 902 , the second external electronic device 903 , and the third external electronic device ( 904)
  • FIG. 8 is a flowchart illustrating an example of operations of electronic devices included in an IOT system according to various embodiments of the present disclosure; According to various embodiments, the operations illustrated in FIG. 8 are not limited to the illustrated order and may be performed in various orders. In addition, according to various embodiments, more operations than those illustrated in FIG. 8 or at least one fewer operations may be performed. Hereinafter, FIG. 8 will be described with reference to FIGS. 9A to 9B.
  • 9A is a diagram for describing an example of an operation in which a main device receives information about a user's utterance from sub-devices according to various embodiments of the present disclosure
  • 9B is a diagram for describing an example of an operation in which a sub-device provides a voice service according to various embodiments of the present disclosure
  • the electronic device 901 (eg, the main device 520 ) performs other external electronic devices (eg, the sub device 521 , the first to third external electronic devices 902 and 903 ) in operation 801 . , 904)) and can establish a communication connection.
  • a plurality of electronic devices 901 , 902 , 903. 904 may be provided in an environment 500 (eg, home).
  • one electronic device eg, 901
  • the other electronic devices eg, 902, 903, 904 are “ sub-devices 521”.
  • the operation of setting one electronic device as the “main device 520” and the operation of setting the remaining electronic devices as “sub-device 521” are automatically performed , or may be performed manually, as described in the description of FIG. 5B , and thus a redundant description will be omitted.
  • the “primary device 520” may establish a communication connection with other “sub-devices 521”.
  • external electronic devices eg, the first external electronic device 902 , the second external electronic device 903 , and the third external electronic device 904 .
  • Information eg, first information, second information, and third information
  • a user selects a plurality of electronic devices (eg, an electronic device 901 , a first external electronic device 902 , a second external electronic device 903 , and a third external electronic device 904 ).
  • a specific word eg, a starting word
  • the plurality of external electronic devices 902 , 903 , and 904 may receive a user's utterance including the specific word (eg, a starting word) using a microphone.
  • the plurality of external electronic devices convert the acquired user utterance into text, recognize a specific word (eg, start word), and execute a program (eg, the aforementioned intelligent service providing module 613) for providing a voice service, and /or can be run.
  • a program eg, the aforementioned intelligent service providing module 613
  • the plurality of external electronic devices 902 , 903 , and 904 may receive the user's utterance while continuously executing the program for providing the voice service.
  • the plurality of external electronic devices 902 , 903 , and 904 may generate information related to the acquired user utterance based on the acquired user utterance including the specific word.
  • the information related to the user's utterance may include information indicating the strength of the user's utterance.
  • the information indicating the intensity of the user's utterance may include information on a signal to noise ratio (SNR) of the user's utterance, and/or information on the quality of the user's utterance, but the types include no limits.
  • SNR signal to noise ratio
  • the quality of the user's utterance may indicate a degree of intelligibility of the user's utterance.
  • the electronic device performs a plurality of external electronic devices (eg, the first external electronic device 902 , the second external electronic device 903 , and the second external electronic device 903 ).
  • Information eg, first information, second information, and third information
  • the electronic device 901 receives information related to a user's utterance from one of the plurality of external electronic devices 902 , 903 , and 904 (eg, a user from the first external electronic device 902 ).
  • the program may be executed based on the first reception of information related to the utterance).
  • the electronic device 901 may also recognize a specific word included in the user's utterance and execute a program for providing a voice service. . Based on the execution of the program, the state of the electronic device 901 may be set and/or switched to a state for processing information related to user utterance received from other external electronic devices 902 , 903 , and 904 . there is. For example, the electronic device 901 may establish and/or initiate a session for processing information related to the user's utterance of the electronic device 901 .
  • the electronic device 901 establishes a session from the time when information related to the user's utterance is first received from the external electronic device (the first external electronic device 902 ) or the time when the user's utterance is received using a microphone. and/or initiate.
  • the one session means a time for processing one user's utterance, and information received after the one session may be identified as information related to a user's utterance other than the one user's utterance.
  • the electronic device 901 receives information on user utterance (eg, first information, second information, and third information) during one session, and information on user utterance (eg, first information and second information) information, and the third information) may initiate an operation of identifying a device to be woken up from among the external electronic devices 902 , 903 , and 904 corresponding to the third information.
  • the electronic device 901 classifies and/or manages the external electronic devices 902 , 903 , and 904 corresponding to the information received during the one session into a group for one user's utterance, and the group It is possible to identify a device to be woken up by the user's utterance from among external electronic devices classified as .
  • the electronic device may identify a wake-up device based only on information received during the one session, excluding information received after the one session.
  • the electronic device may identify a device to be woken up in another session based on information received after one session (eg, information received during another session).
  • the session includes a time-out and a guard time, and the time-out and the guard time are acquired and/or accumulated during the operation of identifying a device to be woken up previously performed in the electronic device 901 . It may be changed based on information, which will be described later with reference to FIGS. 13 to 15 .
  • the electronic device 901 provides not only information related to the user's utterance, but also information related to the external electronic devices 902 , 903 , and 904 from the external electronic devices 902 , 903 , and 904 (eg, an external electronic device).
  • Device identification information and external electronic device status information may be received and a wake-up device may be identified based on this, which will be described later with reference to FIGS. 21 to 23 .
  • the electronic device 901 wakes based on a plurality of pieces of information (eg, first information, second information, and third information) related to a user's utterance in operation 808 .
  • the device to be upgraded can be identified.
  • the electronic device 901 includes a plurality of external electronic devices (eg, a first external electronic device 902 , a second external electronic device 903 , and a third external electronic device 904) of each SNR value (eg, a first value, a second value, a third value), and the magnitude of the identified SNR value as shown in 920 of FIG. 9A . You can compare the magnitude relationship.
  • the electronic device 901 may identify a device (eg, the first external electronic device 902 ) with the largest SNR value (eg, a first value) as a device to be woken up. Meanwhile, the electronic device 901 may A device to be woken up may be identified based on information on priorities of the plurality of external electronic devices 902 , 903 , and 904 as well as the magnitude relationship of the SNR values, and the plurality of external electronic devices ( The priorities of 902 , 903 , and 904 may be changed based on information acquired and/or accumulated in the operation of identifying a wake-up to-be-wake-up device previously performed in the electronic device 901 , which is shown in FIGS. 16 to 16 . 18 will be described later.
  • the electronic device performs a plurality of external electronic devices (eg, a first external electronic device 902 , a second external electronic device, and a third external electronic device).
  • Result information obtained as a result of performing an operation of identifying a wake-up device may be transmitted to the electronic device 904 .
  • the result information may include information for identifying a wake-up device.
  • the plurality of external electronic devices identifies a wake-up device based on the result information, and the external electronic device identified as the wake-up device (eg, the first external electronic device 902) is a user for control It can be woken up to handle the utterance.
  • the remaining devices eg, 903 and 904 ) that are not identified as devices to be woke-up may end execution of a program for providing an executed voice service or may switch to a state in which they do not process a user's utterance.
  • the wake-up external electronic device 902 may provide information for notifying that the "wake-up” has occurred.
  • the first external electronic device 902 may display a message for notifying that the “wake-up” has been performed on the display or output a sound for notifying the “wake-up” through a speaker.
  • the wake-up external electronic device may provide an intelligent service (eg, an intelligent voice service) together with the intelligent server 530 in operation 812 .
  • an intelligent service eg, an intelligent voice service
  • the wake-up electronic device uses a microphone to control the wake-up electronic device ( 902 ) using a user utterance (eg, “turn up the volume”). ) may be received, and information 931 on the received user's utterance may be transmitted to the intelligent server 530 .
  • the wake-up electronic device receives information 932 for providing a specific service obtained as a result of processing the user's utterance from the intelligent server 530 , and based on the received information 932 . Accordingly, at least one operation (eg, an operation of increasing the volume) may be performed (or, a function of the wake-up electronic device (eg, 901 ) may be performed).
  • the information 932 for providing a specific service includes a plan including a plurality of actions for performing a task corresponding to a user's voice input as described above, and a plurality of concepts related to the plurality of actions can do.
  • the wake-up electronic device receives information 932 for providing a specific service obtained as a result of processing the user's utterance from the intelligent server 530 , and the received information ( 932), a screen including specific information may be displayed or sound may be output through a speaker.
  • the electronic device set as the “main device 520” selects an optimal device from among a plurality of other external electronic devices set as the “sub device 521” as the device to be woken up, so that the A problem in which two or more external electronic devices are woken up may be solved. Accordingly, as the operation of providing a voice service of the external electronic devices unnecessary for the voice service among the two or more wake-up external electronic devices is terminated, the burden of unnecessary operation of the external electronic devices may be reduced.
  • an optimal device to be woken up may be identified from among a plurality of external electronic devices based on used values (eg, time-out, priority).
  • the values are information about a time period (eg, time-out) for processing information related to a user's utterance received from a plurality of external electronic devices, or a wake-up device of a plurality of external electronic devices.
  • Information on the priority to be selected may be included.
  • the electronic device sets the values based on the information obtained in the previously performed operation of identifying the wake-up device, and identifies the optimal electronic device as the wake-up device in the environment in which the IOT system is provided. can make it happen
  • FIG. 10 is a flowchart 1000 for explaining an example of an operation of an electronic device according to various embodiments of the present disclosure. According to various embodiments, the operations illustrated in FIG. 10 are not limited to the illustrated order and may be performed in various orders. In addition, according to various embodiments, more operations than those illustrated in FIG. 10 or at least one fewer operations may be performed. Hereinafter, FIG. 10 will be described with reference to FIGS. 11 to 12 .
  • 11 is a diagram for describing an example of an operation of identifying a wake-up device of an electronic device set as a “main device” according to various embodiments of the present disclosure
  • 12 is a view for explaining an example of an operation of processing information related to a user's utterance of an electronic device set as a “main device” according to various embodiments of the present disclosure
  • the electronic device communicates with a plurality of external electronic devices (eg, the external electronic devices 1102 , 1103 , and 1104 ) for providing an intelligent voice service in operation 1001 .
  • a communication connection can be established.
  • the electronic device 1101 set as the “main device” establishes a communication connection with other external electronic devices 1102 , 1103 , and 1104 provided in an environment (eg, home). can be set. Since operation 1001 of the electronic device 1101 may be performed like operation 801 of the above-described electronic device 1101 , a redundant description will be omitted.
  • the electronic device receives a specific word (eg, starter word) for wake-up from at least some of the plurality of external electronic devices (eg, 1102 , 1103 , 1104 ) in operation 1002 .
  • a specific word eg, starter word
  • At least one piece of information related to the user's utterance may be received.
  • the electronic device 1101 may display other external electronic devices 1102 or 1102 based on the communication connection.
  • Information related to the user's utterance (eg, information about the intensity of the user's utterance) obtained by the other external electronic devices 1102 , 1103 , and 1104 may be received from 1103 and 1104 .
  • Operations 1002 of the electronic device 1101 may be performed in the same manner as operations 805 to 807 of the electronic device 1101 described above, and thus a redundant description will be omitted.
  • the electronic device performs the at least one piece of information in operation 1003 and information obtained in each of the previously performed operations for identifying a wake-up device based on based on the set value, a device to be woken-up may be identified among at least some of the plurality of external electronic devices (eg, external electronic devices 1102 , 1103 , and 1104 ).
  • the value is a value used when an operation of identifying a wake-up device is performed, and information related to a user utterance received from a plurality of external electronic devices 1102 , 1103 , 1104 is processed to be wake-up.
  • Information on a designated time period (eg, time-out) for identifying the device, and information on a priority to be selected as a wake-up device of the plurality of external electronic devices 1102 , 1103 , 1104 may be included. there is.
  • identifying a wake-up device of the electronic device 1101 based on information on each time period or priority information will be described.
  • the electronic device 1101 may include at least one piece of information ( For example, 1201, 1202, 1203) can be processed to identify the device to be woke-up.
  • the electronic device 1101 is the first user from among the plurality of external electronic devices 1102 , 1103 , and 1104 (eg, the first external electronic device 1102 ).
  • Information related to a user's utterance may be received from the plurality of external electronic devices 1102 , 1103 , and 1104 during one session from a point in time when the utterance-related information (eg, 1201 ) is received.
  • the electronic device 1101 receives a user's utterance, and the plurality of external electronic devices 1102 and 1103 during one session based on a program for providing a voice service from the time the user's utterance is received. , 1104) may receive information related to the user's utterance.
  • the one session means a time for processing one user utterance, and information received after the one session may be identified as information related to a user utterance other than the one user utterance. Since the session is the same as described above with reference to FIGS. 8 to 9 , a redundant description will be omitted. In the one session, as shown in FIG.
  • the electronic device 1101 processes the information (eg, identifies SNR values, SNR When information related to a user's utterance is received from a first time-out set to identify a wake-up device by comparing the magnitude relationship between values, and the external electronic device 1101, the electronic device 1101 A second guard time set not to process the information may be included. As shown in FIG. 12 , the electronic device 1101 includes the external electronic devices 1102 , 1103 , and 1104 (eg, the first external electronic device 1102 and the second external electronic device 1102 ) received during a first time-out period.
  • the external electronic devices 1102 , 1103 , and 1104 eg, the first external electronic device 1102 and the second external electronic device 1102
  • An operation for identifying a wake-up device may be performed based on information 1201 , 1202 , and 1203 (eg, an SNR value) related to a user's utterance of the external electronic device 1103 .
  • the first information 1201 is received from the first external electronic device 1102
  • the second information 1202 is received from the second external electronic device 1103
  • the third information 1203 is the third external electronic device 1102 .
  • the electronic device 1101 wakes up the external electronic devices 1102 , 1103 , and 1104 corresponding to the information 1201 , 1202 , and 1203 received during a first time-out by a user's speech.
  • the device may be identified as a candidate group, and a device to be woken up may be identified from among the external electronic devices 1102 , 1103 , and 1104 included in the candidate group based on each piece of information.
  • the electronic device 1101 may transmit result information of the operation of identifying the wake-up device to the external electronic devices 1102 , 1103 , and 1104 .
  • the plurality of external electronic devices 1102 , 1103 , and 1104 execute a program for providing a voice service from a point in time when a user utterance is received, and as shown in FIG. 12 , the state of the external electronic device 1101 (eg: device state) may be set to an idle state for receiving result information.
  • the external electronic device to be woken up (eg, the first external electronic device 1102 ) is configured to control an idle state. After receiving the user's utterance and switching to a listening state for providing a voice recognition service, the remaining external electronic device 1101 may end execution of the program.
  • the electronic device 1101 sets and stores information about a time period in advance, and based on the information on the time period, the above-described session for identifying a wake-up device. can be initiated and/or set.
  • the information on the time period includes information indicating the length of one session, information indicating the length of a first time-out included in the one session, or a second time period (guard time). may include at least one of information indicating the length of .
  • the information on the length of the time period includes information on the length of one session and a ratio of a first time-out to a second time period (guard-time) during one session. may indicate
  • the electronic device 1101 set as the “main device” may dynamically change the length of the first time-out as shown in FIG. 12 .
  • the electronic device 1101 and the plurality of external electronic devices receive information 1201 , 1202 , and 1203 . It may vary according to a communication connection state between the devices 1102 , 1103 , and 1104 , or performance (eg, communication performance) of the external electronic device 1101 .
  • the external electronic devices are connected after the first time-out period.
  • Information may be received from ( 1102 , 1103 , 1104 ) to the electronic device 1101 .
  • the electronic device 1101 is based on a point in time when information about a user's utterance is received from the external electronic devices 1102 , 1103 , and 1104 during a previous session (eg, a session before the current session or a session before the current time). Accordingly, information on the length of the first time-out may be set and/or changed and stored.
  • the electronic device 1101 may perform an existing first time-out based on a point in time when information on a user's utterance is received from the external electronic devices 1102 , 1103 , and 1104 during a previous session. It can be lengthened or shortened. In other words, the current first time-out for the electronic device 1101 to identify the wake-up device may be set by changing the existing first time-out. Meanwhile, a first time-out when the electronic device 1101 initially identifies a wake-up device may be a value preset in the electronic device 1101 . Specific examples of the operation of changing the length of the first time-out of the electronic device 1101 will be described later with reference to FIGS. 13 to 15 .
  • the second guard time may be automatically changed to the remaining time length other than the set length of the first time-out.
  • the length of the second guard time may be maintained and the length of the session may be changed as much as the length of the first time-out is changed.
  • the number of candidate devices for identifying a wake-up device may be appropriately controlled, or the timing of switching the idle state of the external electronic device 1101 to the listening state may be appropriately controlled.
  • the electronic device 1101 provides not only information on user utterance received from the external electronic devices 1102, 1103, and 1104, but also the priority ( priority) information (eg, a fourth value, a fifth value, and a sixth value), it is possible to identify a wake-up device from among the plurality of external electronic devices 1102 , 1103 , and 1104 .
  • the electronic device 1101 receives a high-intensity user utterance among the plurality of external electronic devices 1102 , 1103 , and 1104 , and sets the external electronic device 1101 having a high priority as a wake-up device. can be identified. For example, as shown in 1111 of FIG.
  • the electronic device 1101 includes external electronic devices 1102 , 1103 , and 1104 (eg, a first external electronic device 1102 , a second external electronic device 1103 , and information on SNR values (eg, first values, second values, and third values) of the user's utterance from the third external electronic device 1104 ), and as shown in 1112 of FIG. 11 , the SNR value It is possible to perform an operation to compare the magnitude relationship of .
  • the SNR values (eg, the first value, the second value, and the third value) of the user's utterance may be values received during the first time-out described above.
  • the electronic device 1101 has the highest SNR value (eg, a first value) and an SNR value similar to the highest SNR value (eg, a second value) as shown in 1113 of FIG. 11 . ) can be identified.
  • the meaning that the one value and the other value are similar may mean that the one value is a value included within a specified range (eg, within a specific ratio of the other value) from the other value.
  • the electronic device 1101 connects with the external electronic devices 1102, 1103, and 1104 (eg, the first external electronic device 1102) corresponding to the identified similar SNR values (eg, the first value and the second value).
  • the electronic device 1101 Based on the identification of priorities, the electronic device 1101 has a higher (or highest) priority (or the highest) among the identified external electronic devices 1102 , 1103 , 1104 as shown in 1114 of FIG. 11 . For example, an external electronic device (eg, the first external electronic device 1102 ) having a fourth value) may be identified as a wake-up device. Meanwhile, when there is no SNR value similar to the highest SNR value, the electronic device 1101 identifies an external electronic device (eg, the first external electronic device 1102 ) corresponding to the highest SNR value as a wake-up device. can do.
  • priorities eg, a fourth value and a fifth value
  • the electronic device 1101 set as the “main device” sets and stores information on priorities of the plurality of external electronic devices 1102 , 1103 , and 1104 in advance, and information on priorities An operation for identifying a wake-up device may be performed based on .
  • the electronic device 1101 may initially receive information on the priority set in each of the plurality of external electronic devices 1102 , 1103 , and 1104 , and store the received information on the priority.
  • the electronic device 1101 may receive information on the priority of the external electronic device 1101 from an external server (eg, the intelligent server 530 ).
  • the electronic device 1101 may receive information on a priority set in the external electronic device 1101 from each of the external electronic devices 1102 , 1103 , and 1104 .
  • the electronic device 1101 may have already stored the information on priorities of the external electronic devices 1102 , 1103 , and 1104 without receiving the information.
  • the electronic device 1101 set as the “main device” changes priorities for the plurality of external electronic devices 1102 , 1103 , and 1104 to control the wake-up of an optimal device that meets the user’s intention.
  • the electronic device 1101 may select a plurality of external electronic devices based on information that the external electronic device 1101 is selected as a wake-up device during previous sessions (eg, the current session or sessions before the current time). You can change the priorities for (1102, 1103, 1104).
  • priorities (eg, fourth value, fifth value, sixth value) of the plurality of external electronic devices 1102 , 1103 , 1104 for identifying a device to be woken up by the electronic device 1101 may be set by changing existing priorities. Specific examples of an operation of changing priorities of the external electronic devices 1102 , 1103 , and 1104 of the electronic device 1101 will be described later with reference to FIGS. 16 to 18 .
  • the electronic device (eg, the electronic device 1410 ) set as the “main device” may be woken up based on a reception time of information (eg, information related to a user's utterance) received during one session. You can change the time period (eg time-out) for identifying the device.
  • a reception time of information eg, information related to a user's utterance
  • FIG. 13 is a flowchart 1300 for explaining an example of an operation of an electronic device according to various embodiments of the present disclosure. According to various embodiments, the operations illustrated in FIG. 13 are not limited to the illustrated order and may be performed in various orders. In addition, according to various embodiments, more operations than those illustrated in FIG. 13 or at least one fewer operations may be performed. Hereinafter, FIG. 13 will be described with reference to FIGS. 14 to 15 .
  • 14 is a diagram for describing an example of an operation of extending a specified time period of an electronic device according to various embodiments of the present disclosure
  • 15 is a diagram for describing an example of an operation of shortening a specified time period of an electronic device according to various embodiments of the present disclosure
  • the electronic device (eg, the electronic device 1410 ) establishes a communication connection with a plurality of external electronic devices for providing an intelligent voice service in operation 1301 , and at least some of the external electronic devices in operation 1302 .
  • Information related to a user's utterance including a specific word may be received from the .
  • the electronic device 1410 set as the “main device” may establish a communication connection with other external electronic devices provided in an environment (eg, home).
  • a specific word eg, a startup word
  • the electronic device 1410 acquires other external electronic devices from other external electronic devices based on the communication connection.
  • Operations 1301 to 1302 of the electronic device 1410 may be performed in the same manner as operations 801 and 805 to 807 of the electronic device 1410 described above, and thus overlapping descriptions will be omitted.
  • the electronic device (eg, the electronic device 1410 ) performs a list of a plurality of external electronic devices based on at least one piece of first information received during a time period for identifying a wake-up device in operation 1303 . At least some of the wake-up devices may be identified. For example, as shown in FIGS. 14 and 15 , the electronic device 1410 executes and/or drives a program for providing an intelligent voice service when receiving a user utterance including a specific word through a microphone can do. The electronic device 1410 starts at the time when information related to the user's utterance (eg, 1401 of FIG. 14 or 1501 of FIG.
  • information related to the user's utterance eg, 1401 of FIG. 14 or 1501 of FIG.
  • a session may be established and/or started, and information related to a user's utterance (eg, information about an SNR value) may be received from other external electronic devices during the set session.
  • the electronic device 1410 may identify a wake-up device based on information related to a user utterance received during a specified first time period (eg, time-out) of a session.
  • the electronic device 1410 identifies the wake-up device based on a result of comparing the magnitude relationship of the SNR values (eg, an external electronic device corresponding to the highest SNR value (eg, transmitting information)) can be identified as the device to be woke-up). Also, for example, when similar SNR values are identified, the electronic device 1410 may identify the wake-up device based on priorities of external electronic devices. Since operation 1303 of the electronic device 1410 may be performed as described in operation 808 of the electronic device 1410 and operation 1003 of the electronic device 1410, a redundant description will be omitted.
  • the electronic device may identify whether information (eg, information related to a user's utterance) is received after a time period (eg, time-out) in operation 1304 .
  • the electronic device 1410 receives information related to a user's utterance from at least some of a plurality of external electronic devices during the remaining time period (eg, guard time) after a specified time period (eg, time-out) of one session It can be identified whether or not
  • the electronic device 1410 receives information (eg, 1401 , 1402 , 1403 , 1501 , 1502 , 1503 ) from a plurality of external electronic devices and a time zone of time-out, guard time.
  • the electronic device 1410 calculates a first time period from a session start time to a first time point after a specified time-out, and after the remaining guard-time from the first time point It is possible to identify the second time zone up to the second time point of .
  • the electronic device 1410 identifies a time point at which information such as 1401, 1402, 1403, 1501, 1502, 1503 is received from a plurality of external electronic devices, and the identified time point is in the first time zone or the second time zone. Whether or not it is included can be identified.
  • the electronic device 1410 identifies in real time a time point at which information (eg, 1401 , 1402 , 1403 , 1501 , 1502 , 1503 ) is received from a plurality of external electronic devices, and a time period in which the identified time point is designated. After that, it can be identified whether or not it is included in the remaining time period.
  • the electronic device 1410 may identify the lapse of time by setting a timer from a time when the session is started (eg, a time when a user utterance is received).
  • the electronic device 1410 When information is received from the external electronic device while identifying the passage of time, the electronic device 1410 identifies a time point at which information is received, and a time period (eg, time-out, or guard time) including the identified time point. ) can be identified. Meanwhile, without being limited thereto, the electronic device 1410 identifies a time point at which each piece of information is transmitted from a plurality of external electronic devices instead of a time point at which each piece of information is received by the electronic device 1410 , It may also be identified whether the transmission time is included in the time zone.
  • a time period eg, time-out, or guard time
  • the electronic device 1410 identifies a time point at which each piece of information is transmitted from a plurality of external electronic devices instead of a time point at which each piece of information is received by the electronic device 1410 , It may also be identified whether the transmission time is included in the time zone.
  • the electronic device when information is received after a time period (eg, time-out), the electronic device (eg, 1410 ) receives the first change phrase based on the reception time of the information received after the time period in operation 1305 . Intervals (eg, a time period having a length longer than the time-out) may be identified. For example, as shown in FIG. 14 , the electronic device 1410 includes a reception time of information 1403 received during a second guard-time after the first time-out. It is possible to identify a first length of a first time-out to be achieved.
  • Intervals eg, a time period having a length longer than the time-out
  • the electronic device 1410 identifies a time point at which a first time-out elapses from a time point when the session is started (eg, a time point when a user utterance is received), and from the identified time point A new first time period is calculated by calculating the difference until the reception time of the information 1403 received during the second guard time, and adding the calculated difference to the current first time period (eg, time-out). can be identified.
  • the electronic device 1410 sets the length of time from a time when the session is started (eg, a time when a user utterance is received) to a time when the information 1403 is received in the first time period to be changed ( Example: time-out).
  • the electronic device 1410 identifies a time length obtained by adding a predetermined time length to the identified time length as a first time out to be changed, so that even if the reception of information is delayed, the reception of the information 1403 .
  • a viewpoint may be included in the first time period (time out). If the number of pieces of information received during the second guard time after the first time out is plural, the electronic device 1410 performs the most information among the pieces of information received during the second guard time.
  • the first time out to be changed may be identified based on the reception time of the late received information. Alternatively, the electronic device 1410 may calculate a designated time point based on reception times of information received during the second guard time, and change the time period based on the calculated time point.
  • the calculated time point may include a time point that is an average of the reception time points, a time point that is the latest among the remaining time points of the reception time points excluding time points higher or lower than a specified ratio, and a time point that is an average of the remaining time points.
  • the electronic device 1410 when a specified condition is satisfied, the electronic device 1410 identifies a first change time period based on a reception time of information (eg, 1403 ) received after the time-out. can be performed. In other words, the electronic device 1410 identifies reception times of information identified as satisfying a specified condition among information received after a time-out, and the first change phrase based on the identified reception times. An operation to identify the liver may be performed.
  • the satisfaction of the specified condition may include identification of an external electronic device corresponding to information (eg, 1403 ) received after the time-out as a wake-up device.
  • the electronic device 1410 identifies the information received during the first time period (eg, time-out) as well as information received during the second time period (eg, guard-time), and wakes based on the information -
  • the device to be upgraded can be identified.
  • the electronic device 1410 Unlike an operation in which the electronic device 1410 identifies a wake-up device in operation 1303 and then controls the identified device to wake-up, the device to be woken up is identified based on the information (eg, 1403 ) After the operation, the electronic device 1410 may not control the identified device to wake up.
  • the electronic device 1410 identifies the external electronic device corresponding to the information received during the second guard time as the wake-up device (eg: A case in which the SNR value of the external electronic device is the highest) may be identified. Based on the identification result, the electronic device 1410 may perform an operation of changing the length of the above-described first time period (eg, time-out) based on the reception time of the information. When the external electronic device corresponding to the information received during the second time period is not identified as a wake-up device, the electronic device 1410 may not perform the operation of changing the length of the first time period.
  • the electronic device 1410 identifies information identified as a wake-up device among the plurality of pieces of information, and based on a reception time of the identified information, the second An operation for changing the length of one time period (eg, time-out) may be performed.
  • the satisfaction of the specified condition includes a location (eg, living room) associated with information received after the specified time period (eg, time-out) and a location (eg, living room) associated with information received during the specified time period. ) may include those identified as corresponding.
  • the adjustment operation based on the position will be described later with reference to FIGS. 19 to 20 .
  • the electronic device when information is not received after a time period (eg, time-out), the electronic device (eg, 1410 ) makes a second change based on a reception time of information received within the time period ( 1306 )
  • a time period eg, a time period shorter than the time-out
  • the electronic device 1410 receives the latest reception time (eg, An operation of changing the length of the first time-out may be performed based on the reception time of the information 1503).
  • the electronic device 1410 has a length of time from the time when the session is started (eg, when a user utterance is received) to the latest reception (eg, when the information 1503 is received),
  • the length of the first time-out may be changed.
  • the electronic device 1410 sets a predetermined length of time from the time when the session is started (eg, when a user utterance is received) to the latest reception (eg, when the information 1503 is received).
  • the reception time of the information may be included in the first time interval.
  • the electronic device 1410 when a specified condition is satisfied, changes a time period based on a reception time of information received during the time-out (eg, a reception time of the information 1503 ).
  • time-out change operation can be performed.
  • the satisfaction of the specified condition is a location (eg, living room) associated with the latest received information among information received during the specified time period (eg, time-out) and a location (eg, living room) associated with other information. may include those identified as corresponding.
  • the adjustment operation based on the position will be described later with reference to FIGS. 19 to 20 .
  • the electronic device may change the time period (eg, time-out) based on the first change time period or the second change time period in operation 1307 .
  • the electronic device 1410 may immediately change the length of the time-out to change and/or set the currently set time-out and store it.
  • the electronic device 1410 performs the operation (operations 1305 and 1306) of identifying a time-out a specified number of times (eg, 100 times), and the specified number of times.
  • the time-out may be changed based on the identified time lengths based on the operations for identifying the time-out performed.
  • the electronic device 1410 may calculate an average value of the time lengths and change the first time-out to the calculated average value.
  • the electronic device 1410 may identify the remaining time lengths excluding the upper or lower time lengths of a specified ratio among the time lengths, and may calculate an average value of the remaining time lengths.
  • the electronic device (eg, the electronic device 1711 ) set as the “main device” provides information on the finally identified wake-up device according to the result of performing the operation of identifying the wake-up device. Based on the information, the priority of at least some of the plurality of external electronic devices (eg, the external electronic devices 1712 and 1713 ) may be changed.
  • FIG. 16 is a flowchart 1600 illustrating an example of an operation of an electronic device according to various embodiments of the present disclosure. According to various embodiments, the operations illustrated in FIG. 16 are not limited to the illustrated order and may be performed in various orders. In addition, according to various embodiments, more operations than those illustrated in FIG. 16 or at least one fewer operations may be performed. Hereinafter, FIG. 16 will be described with reference to FIGS. 17 to 18 .
  • 17 is a diagram for explaining an example of an operation of identifying a device to be finally woken up of an electronic device according to various embodiments of the present disclosure
  • 18 is a diagram for describing an example of an operation of changing a priority of a plurality of external electronic devices of an electronic device according to various embodiments of the present disclosure
  • the electronic device eg, the electronic device 1711
  • communicates with a plurality of external electronic devices eg, the external electronic devices 1712 and 1713 ) for providing an intelligent voice service in operation 1601 .
  • information related to a user's utterance including a specific word may be received from at least some of the plurality of external electronic devices.
  • the electronic device 1711 set as the “main device” establishes a communication connection with other external electronic devices 1712 and 1713 provided in an environment (eg, home). can be set.
  • the electronic device 1711 When the user utters a specific word within an environment (eg, the first user utterance), the electronic device 1711 communicates with other external electronic devices 1712 and 1713 from other external electronic devices 1712 and 1713 based on the communication connection. 1712 and 1713 may receive information related to the acquired user's utterance (eg, information about the intensity of the user's utterance). Operations 1601 to 1602 of the electronic device 1711 may be performed in the same manner as operations 801 and 805 to 807 of the electronic device 1711 described above, and thus overlapping descriptions will be omitted.
  • the electronic device prioritizes at least one piece of information received in operation 1603 and a plurality of external electronic devices (eg, the external electronic devices 1712 and 1713 ). Based on the information on , a first external electronic device (eg, 1712 ) among the plurality of external electronic devices may be identified as a wake-up device.
  • the electronic device 1711 includes a plurality of SNR values (eg, 170db and 160db) received from a plurality of external electronic devices 1712 and 1713 and a plurality of external electronic devices.
  • a device to be woken up among the plurality of external electronic devices 1712 and 1713 may be identified based on the priority (eg, 0.8, 0.7) of the devices 1712 and 1713 .
  • the received SNR values may be values received during a specified time period (eg, time-out) of one session.
  • the electronic device 1711 identifies a highest SNR value (eg, a first value) according to a comparison result of a plurality of SNR values and an external electronic device 1711 having the identified highest SNR value (eg: The first external electronic device 1712) may be identified as a wake-up device.
  • the electronic device 1711 identifies the highest SNR value (eg, 170 db) and a similar SNR value (eg, 160 db) according to the comparison result of the plurality of SNR values, and corresponds to the identified similar SNR values.
  • the external electronic devices 1712 and 1713 eg, the first external electronic device 1712 and the second external electronic device 1713
  • the electronic device 1711 identifies priorities (eg, 0.8, 0.7) corresponding (or set) to the identified external electronic devices 1712 and 1713 , and has a higher priority (eg, 0.8).
  • the external electronic device 1711 (eg, the first external electronic device 1712 ) may be identified as a wake-up device. Since operation 1603 of the electronic device 1711 may be performed as described in operation 808 of the electronic device 1711 and operation 1003 of the electronic device 1711, a redundant description will be omitted.
  • the electronic device may identify whether a wake-up device is reselected in operation 1604 .
  • the other external electronic device 1711 may be re-identified as a wake-up device.
  • examples of operations of re-identifying another external electronic device 1711 of the electronic device 1711 as a wake-up device will be described.
  • the electronic device 1711 re-identifies another external electronic device (eg, the external electronic device 1713 ) as a wake-up device based on receiving a second user utterance different from the first user utterance can do.
  • a user moves from an existing location (eg, a location far from the second external electronic device 1713 ) to another external electronic device 1711 (eg, the second external electronic device 1713 ). ))) to utter a specific word (eg, starting word) (eg, second user utterance).
  • a specific word eg, starting word
  • the electronic device 1711 Based on the reception of the second user utterance, the electronic device 1711 initiates a session different from the one started based on the reception of the first user utterance and re-identifies the wake-up device. can do. As illustrated in 1702 of FIG. 17 , the electronic device 1711 compares the SNR values received during a specified time period (eg, time-out) of different sessions to obtain the highest SNR value (eg, 220 db). The second external electronic device 1713 having , may be re-identified as a wake-up device.
  • a specified time period eg, time-out
  • the second external electronic device 1713 having may be re-identified as a wake-up device.
  • the electronic device 1711 sets the time difference between the one session and the other session (or the time difference between the time when the wake-up device is initially identified and the time when the other external electronic device 1711 is re-identified, or the second (a time difference between the time when the first user utterance is received and the time when the second user utterance is received), and when the identified time difference is less than or equal to a preset value, changing the priority of the external electronic devices 1712 and 1713
  • An operation 1721 eg, change 0.7 to 0.9
  • the electronic device 1711 may perform an operation of changing the priorities of the external electronic devices 1712 and 1713 without discriminating a time difference between one session and another session.
  • the electronic device 1711 sets another external electronic device (eg, 1713 ) as a wake-up device. can be re-identified.
  • the other external electronic device 1713 receives a user input for waking up (eg, receiving an input for selecting a device to be woken up as a wake-up device on an interface provided on a display of the device), and the electronic device ( 1711 ) may receive, from the other external electronic device 1711 , a message or a signal informing that the other external electronic device 1713 is awake-up.
  • the electronic device 1711 receives a user input for waking up another external electronic device 1713 directly from the user (eg, a device to be woken up on an interface provided on the display of the electronic device 1711 ). to receive input for selection).
  • the user wakes up another external electronic device 1713 through the user terminal, and the electronic device 1711 wakes up another external electronic device 1711 from the user terminal and/or the intelligent server 530 - You may receive a message or a signal notifying that it is up.
  • the electronic device 1711 when it is identified that the external electronic device 1711 is reselected, the electronic device 1711 changes the priority of the second external electronic device 1713 re-identified as a wake-up device in operation 1605 .
  • the electronic device 1711 may set a higher priority of the second external electronic device 1713 re-identified as a wake-up device.
  • the electronic device 1711 sets the priority level of the second external electronic device 1713 higher than the priority level of the first external electronic device 1712 identified as the device to be initially woken up. can be set. Accordingly, as shown in FIG.
  • the electronic device 1711 performs the 2 Based on the priority (eg, 0.9) of the external electronic device 1713 being higher than that of the first external electronic device 1712 (eg, 0.8), 2
  • the external electronic device 1713 may be identified as a wake-up device.
  • the electronic device (eg, 2010) set as the “main device” may receive information on the locations of other external electronic devices (eg, 2013, 2014, 2015, 2016) set as the “sub device”. Based on this, values (eg, time-out, priority) used in the operation of identifying a wake-up device may be set.
  • FIG. 19 is a flowchart 1900 for explaining an example of an operation of an electronic device according to various embodiments of the present disclosure. According to various embodiments, the operations illustrated in FIG. 19 are not limited to the illustrated order and may be performed in various orders. In addition, according to various embodiments, more operations than those illustrated in FIG. 19 or at least one fewer operations may be performed. Hereinafter, FIG. 19 will be described with reference to FIGS. 20A to 20B .
  • 20A is a diagram for describing an example of an operation of generating an artificial intelligence model based on various information accumulated when an operation of identifying a wake-up device of an electronic device is performed, according to various embodiments of the present disclosure
  • 20B is a diagram for describing an example of an operation of identifying a wake-up device based on a generated artificial intelligence model of an electronic device according to various embodiments of the present disclosure
  • the electronic device includes a plurality of external electronic devices (eg, external electronic devices 2013, 2014, 2015, 2016) for providing an intelligent voice service in operation 1901 . ) and at least one piece of information related to a user's utterance including a specific word for wake-up from at least some of the plurality of external electronic devices 2013, 2014, 2015, and 2016 in operation 1902 can receive
  • the electronic device 2010 set as the “main device” is connected to other external electronic devices 2013, 2014, 2015, and 2016 provided in an environment (eg, home) shown in FIGS. 20A to 20B .
  • a communication connection can be established.
  • the electronic device 2010 When a user (eg, 2011) utters a specific word (eg, start-up word) within an environment (eg, first user utterance), the electronic device 2010 connects to other external electronic devices 2013 based on the communication connection. , 2014, 2015, and 2016) may receive information related to the user's utterance (eg, information on the intensity of the user's utterance) acquired by the other external electronic devices 2013, 2014, 2015, and 2016. Operations 1901 to 1902 of the electronic device 2010 may be performed in the same manner as operations 801 and 805 to 807 of the electronic device 2010 described above, and thus overlapping descriptions will be omitted.
  • a specific word eg, start-up word
  • the electronic device 2010 connects to other external electronic devices 2013 based on the communication connection. , 2014, 2015, and 2016
  • information related to the user's utterance eg, information on the intensity of the user's utterance
  • the electronic device locates at least a portion of the plurality of external electronic devices (eg, the external electronic devices 2013, 2014, 2015, 2016). may be identified, and at least one of information on a time period or information on priority may be set based on the information on the location identified in operation 1904 .
  • external electronic devices 2013, 2014, 2015, and 2016 are to be registered for each location in the environment (eg, a room 2012, a kitchen 2021, and a living room 2022).
  • the electronic device 2010 can When the electronic device 2010 receives information related to a user's utterance from at least some of the external electronic devices 2013, 2014, 2015, and 2016, the external electronic devices 2013, 2014, 2015, and 2016 are registered. The locations of at least some of the external electronic devices 2013, 2014, 2015, and 2016 may be identified based on the determined locations.
  • setting values eg, timeout, priority
  • the electronic device 2010 sets and manages values (eg, time-out, priority) for each location (eg, the room 2012, the kitchen 2021, the living room 2022) within the environment. can do.
  • the electronic device 2010 may set information on time-out and priority for each specific location. For example, as shown in 2001 of FIG. 20A , when the user 2011 performs a wake-up utterance at a specific location (eg, a room 2012) within an environment, the electronic device 2010 may display a wake-up speech at a specific location (eg, a room). (2012)) may receive information related to a user's utterance (eg, a wake-up utterance) from at least one external electronic device 2013 located in the location.
  • a user's utterance eg, a wake-up utterance
  • External electronic devices 2014, 2015, and 2016 located in other locations within the environment may not receive the user's utterance or receive the user's utterance with an intensity less than a threshold. Accordingly, information related to the user's utterance may not be transmitted to the electronic device 2010 set as the “main device”.
  • the electronic device 2010 is a device to be woken up based on receiving information related to the user's 2011 utterance from at least one external electronic device 2012 located in a specific location (eg, a room 2012). It is possible to perform an operation to identify While the electronic device 2010 performs an operation of identifying a wake-up device, information on a reception time of information received during one session described above with reference to FIGS.
  • At least one of information on a device re-identified as a device to be upgraded may be acquired, and based on the acquired information, at least one of time-out and priority may be set and/or changed.
  • the operation of setting and/or changing at least one of time-out and priority of the electronic device 2010 may be performed as described with reference to FIGS. 13 to 18 , and thus a redundant description will be omitted.
  • the electronic device 2010 may store and manage information on a set time-out or a set priority to be associated with the specific location (eg, a room 2012).
  • the electronic device 2010 receives information related to a user's utterance from at least one external electronic device 2010 registered as a specific location (eg, room 2012), the specific location (eg, room 2012) )), based on the stored time-out and priority information, an operation for identifying a wake-up device may be performed.
  • external electronic devices 2014, 2015, and electronic device 2010 are located in at least two or more locations (eg, kitchen 2021 and living room 2022). 2016), set and/or change at least one of a time-out or priority, and associate it with the at least two or more locations (eg, the kitchen 2021 and the living room 2022) You can also save as much as possible.
  • the electronic device 2010 manages priorities and time-outs for each location in the environment, when the user 2011 wakes up at different locations in the environment, different location-specific situations (eg, location) An operation of identifying a device to be optimally woken up based on a time-out suitable for each external electronic device (2013, 2014, 2015, 2016)) and a priority (eg, an unnecessarily long time-out is not maintained) not) can be performed.
  • values eg, : time-out, priority
  • the preset number may be a number corresponding to a certain ratio of the number of registered external electronic devices 2014, 2015, and 2016.
  • the electronic device (eg, the electronic device 2301 ) set as the “main device” accumulates various pieces of information while performing each of the operations of identifying the wake-up device, and collects the accumulated various pieces of information.
  • An artificial intelligence model may be generated based on (eg, state information of external electronic devices (eg, 2302, 2303, 2304), information on SNRs of external electronic devices, information on initially selected devices).
  • the electronic device may input various pieces of information obtained when an operation of identifying a wake-up device is performed into an artificial intelligence model generated by the user to identify the output external electronic device as a wake-up device.
  • FIG. 21 is a flowchart 2100 for explaining an example of an operation of a set electronic device according to various embodiments of the present disclosure. According to various embodiments, the operations illustrated in FIG. 21 are not limited to the illustrated order and may be performed in various orders. In addition, according to various embodiments, more operations than those illustrated in FIG. 21 or at least one fewer operations may be performed. Hereinafter, FIG. 21 will be described with reference to FIGS. 22 to 23 .
  • 22 is a diagram for explaining an example of an operation of generating an artificial intelligence model based on various information accumulated when an operation of identifying a wake-up device of an electronic device is performed according to various embodiments of the present disclosure
  • 23 is a diagram for describing an example of an operation of identifying a wake-up device based on a generated artificial intelligence model of an electronic device according to various embodiments of the present disclosure
  • the electronic device (eg, 2301 of FIG. 23 , the electronic device 2301 of FIG. 23 ) performs operations of identifying a wake-up device in operation 2101 , and identifies each wake-up device
  • Various information can be stored when performing these tasks.
  • an electronic device set as a “main device” eg, the electronic device 2301 of FIG. 23
  • external electronic devices set as a “sub device” eg, an electronic device 2301 of FIG. 23 .
  • operations for identifying a wake-up device may be performed a plurality of times.
  • the electronic device eg, 2301 of FIG. 23 , the electronic device 2301 of FIG. 23
  • the electronic device may establish and/or initiate sessions for identifying the wake-up device, and accumulate various pieces of information obtained during the sessions.
  • the various information includes information about the states of external electronic devices (eg, external electronic devices 20322302 , 2303 , and 2304 of FIG. 23 ) as shown in 2201 of FIG. 22 (status information for each device) , information on the SNR value of the external electronic device (SNR information for each device), information on the priority of the external electronic devices (eg, the external electronic devices 23022032, 2303, 2304 of FIG.
  • Information on the external electronic device initially identified as the device to be woke-up eg, initial selection information
  • information on the external electronic device finally identified as the device to be woke-up after the device to be woke-up is initially identified (e.g. final selection information).
  • an electronic device eg, the electronic device 2301 of FIG. 23
  • a plurality of external electronic devices eg, the external electronic devices 23022032 and 2303 of FIG. 23 ) 2304
  • information related to a user's utterance eg, information about an SNR value
  • the external electronic device When the external electronic device receives the user's utterance, based on the reception of the user's utterance, the external electronic device identifies information about the state of the external electronic device together with information related to the user's utterance, and transmits the identified information to the electronic device (eg, FIG. 23 ). of the electronic device 2301).
  • the information on the state includes the type of each external electronic device (eg, the external electronic devices 23022032, 2303, 2304 of FIG. 23) (eg, TV, mobile phone, air conditioner, wearable watch, refrigerator, robot cleaner, speaker, etc.). ) may include information on the state of an external electronic device that can be sensed and/or identified for each. For example, as shown in 2201 of FIG.
  • the information on the state includes information on the charging state, information on the application execution state (eg, information indicating the application running in the foreground mode), and the current temperature. information, and information on a currently set mode may be included.
  • the state information is not limited to the description, and may include various types of information that can be sensed for each type of device.
  • the electronic device may generate an artificial intelligence model by performing learning based on information accumulated in operation 2102 .
  • the electronic device eg, the electronic device 2301 of FIG. 23
  • an artificial intelligence learning algorithm eg, a machine learning algorithm, a deep learning algorithm
  • learning algorithm in addition to the artificial intelligence run algorithm such as a general ensemble, various types of machine learning or deep learning algorithms may be used, and thus a description thereof will be omitted.
  • the electronic device eg, the electronic device 2301 of FIG.
  • output data of an artificial intelligence model to generate final selection information (ie, information on an external electronic device finally identified as a wake-up device) among the above-described various information.
  • output data information (status information) about the status of the remaining pieces of information (eg, external electronic devices (eg, external electronic devices 23022032 , 2303 , 2304 of FIG. 23 )), information of the external electronic device information on the SNR value (SNR information), information on the priority of external electronic devices (eg, external electronic devices 23022032, 2303, 2304 of FIG. 23) (priority information), and initial selection information)
  • Running can be performed by setting it as input data of the artificial intelligence model to be created.
  • the electronic device eg, the electronic device 2301 of FIG. 23
  • the electronic device has information set as input data as shown in 2202 of FIG. 22 (eg, the state as shown in 2202 of FIG. 22 )
  • External electronic devices eg, external electronic devices 23022032 and 2303 of FIG. 23
  • the artificial intelligence model 2231 eg, a machine learning model, a deep learning model
  • the artificial intelligence model 2231 may be generated by performing an operation for assigning a weight.
  • the generated artificial intelligence model 2231 outputs the finally identified external electronic device in response to receiving input of state information, SNR information, priority information, and initial selection information. can be set to
  • the finally identified external electronic device may be identified as a device to be woken up in the current session.
  • the electronic device may perform an operation of identifying a wake-up device based on the artificial intelligence model generated in operation 2103 .
  • the electronic device 2301 when receiving a user utterance including a specific word for initiating provision of an intelligent voice service, the electronic device 2301 establishes and/or initiates one session and performs one session During operation, the state information 2311 , 2312 , and 2313 may be acquired from the external electronic devices 23022032 , 2303 , and 2304 along with information on the intensity (eg, SNR value) of the user's utterance.
  • the electronic device the electronic device 2301 of FIG.
  • the electronic device may identify information on priorities of the external electronic devices 23022032 , 2303 , and 2304 that have transmitted information during one session. Also, the electronic device (eg, 2301 of FIG. 23 , the electronic device 2301 of FIG. 23 ) may identify a device to be woken up (ie, acquire initial selection information) based on SNR information or priority information. . The electronic device (eg, 2301 of FIG. 23 , the electronic device 2301 of FIG. 23 ) inputs the acquired state information, SNR information, priority information, and initial selection information to the generated artificial intelligence model 2231 , and , information on the finally selected device 2304 output from the artificial intelligence model 2231 may be acquired. The electronic device (eg, the electronic device 2301 of FIG.
  • the finally selected device 2304 identifies the finally selected device 2304 as a device to be woken up, and controls the corresponding device 2304 to wake up (eg, the corresponding device 2304 ). ) may transmit result information indicating that it is identified as a wake-up device to the corresponding device 2304).
  • the artificial intelligence model 2231 may be generated to output information on priority or time-out information.
  • the electronic device eg, the electronic devices 2301 and 2301 of FIG. 23
  • sets priority information or time-out information among the accumulated information as output data, and sets the priority Running can be performed by setting at least one (eg, at least one of status information, SNR information, initial selection information, or final selection information) of information other than information on or time-out as input data. there is.
  • the artificial intelligence model 2231 generated according to the execution of the running information on priority or time-out information can be printed out.
  • the electronic device eg, the electronic devices 2301 and 2301 of FIG. 23
  • the electronic device (eg, 2510 ) set as the “main device” includes values (eg: time-out, and priority).
  • FIG. 24 is a flowchart 2400 for explaining an example of an operation of a set electronic device according to various embodiments of the present disclosure. According to various embodiments, the operations illustrated in FIG. 24 are not limited to the illustrated order and may be performed in various orders. In addition, according to various embodiments, more operations than those illustrated in FIG. 24 or at least one fewer operations may be performed. Hereinafter, FIG. 24 will be described with reference to FIG. 25 .
  • 25 is a diagram for explaining an example of an operation of generating an artificial intelligence model based on various information accumulated when an operation of identifying a wake-up device of an electronic device is performed according to various embodiments of the present disclosure
  • the electronic device may include a plurality of external electronic devices (eg, 2511, 2512, 2513, 2514, 2515: external electronic devices 2511, 2512, 2513, 2514, 2515)) and can establish a communication connection.
  • the electronic device 2510 is, for example, the electronic device 2510 set as “the main device” is another external electronic device 2511 provided in an environment (eg, home) shown in 2501 of FIG. 25 . , 2512, 2513, 2514, 2515) and may establish a communication connection (eg, establish a communication connection through a repeater). Since operation 2401 of the electronic device 2510 may be performed like operation 801 of the electronic device 2510 , a redundant description will be omitted.
  • the electronic device (eg, 2510, for example, the electronic device 2510) establishes the communication connection in operation 2402 by the plurality of external electronic devices (eg, 2511, 2512, 2513, 2514, 2515, for example:
  • the first information may be accumulated while an operation for waking up some of the external electronic devices 2511 , 2512 , 2513 , 2514 , and 2515 is performed.
  • the electronic device 2510 may accumulate information obtained while performing an operation of identifying a wake-up device based on a wake-up utterance of a user generated in the environment.
  • the information is the reception time of the information received from the plurality of external electronic devices 2511, 2512, 2513, 2514, and 2515 during the one session described above with reference to FIGS. 13 to 15 , and the wake-up to be described with reference to FIGS. 16 to 18 .
  • Information on the external electronic devices 2511, 2512, 2513, 2514, and 2515 re-identified as devices, or various information described above in FIGS. 21 to 23 (eg, the external electronic devices 2511, 2512, 2513, 2514, 2515). ) of state information, SNR information, initial selection information, and final selection information).
  • the electronic device may set at least one of a time period and a priority based on the accumulated first information in operation 2403 .
  • the electronic device 2510 receives information received from the plurality of external electronic devices 2511 , 2512 , 2513 , 2514 , and 2515 received during one session at the time of reception. Based on this, time-outs can be set (eg extended or shortened).
  • the electronic device 2510 may include the external electronic devices 2511 , 2512 , and 2513 re-identified based on information on the external electronic device re-identified as a wake-up device as described above with reference to FIGS. 16 to 18 . , 2514, 2515) can be changed. Also, for example, the electronic device 2510 may generate the artificial intelligence model described above with reference to FIGS. 21 to 23 and set a time-out or priority based on the generated artificial intelligence model. Since operation 2403 of the electronic device 2510 may be performed as described in FIGS. 13 to 15 , 16 to 18 , and 21 to 23 , a redundant description will be omitted.
  • the electronic device (eg, 2510 , for example, the electronic device 2510 ) performs the plurality of external electronic devices (eg, 2511 , 2512 , 2513 , 2514 , 2515 eg external electronic devices 2511 ) in operation 2404 .
  • the plurality of external electronic devices eg, 2511 , 2512 , 2513 , 2514 , 2515
  • other first external electronic devices eg, 2521
  • a new device (eg, the first external electronic device 2521 ) is provided in the environment, and the newly provided device is other external electronic devices 2511 , 2512 , 2513 , 2514 and 2515 ) and a communication connection (eg, communication connection through the AP 540 ) may be established and registered in the intelligent server 530 .
  • the electronic device 2510 set as the “main device” may identify information (eg, identification information and priority information) about the registered first external electronic device 2521 . .
  • the electronic device may 2515)) and the first external electronic device (eg, 2521), the second information may be stored while an operation for waking up is performed.
  • the electronic device 2510 displays the newly equipped device 2521 ) and the previously provided external electronic devices 2511, 2512, 2513, 2514, and 2515 receive information related to the user's utterance (eg, information on the intensity of the user's utterance) to identify the wake-up device.
  • the electronic device 2510 performs the operation of identifying the wake-up device, the above-described information (eg, the information on the reception time described in FIGS. 13 to 15 , the wakeup described in FIGS. 15 to 18 ) is performed. -Information on the external electronic device re-identified as the device to be upgraded, various information accumulated in FIGS. 21 to 23) may be acquired.
  • the electronic device 2510 may reset at least one of a time period and a priority based on the stored second information in operation 2406 .
  • the electronic device 2510 may shorten or extend a preset time-out based on a reception time of information received from the newly equipped device 2321 as described with reference to FIGS. 13 to 15 . there is.
  • the external electronic device 2511, 2512, 2513, 2514, 2515 can be changed. Also, for example, as described with reference to FIGS.
  • the electronic device 2510 updates information such as state information and SNR information of the newly equipped device to various pieces of information accumulated in advance, and provides the updated various information. It can also create a new artificial intelligence model based on it, and reset time-outs or priorities based on the generated model.
  • 26 is a block diagram of an electronic device 2601 in a network environment 2600, according to various embodiments.
  • the description of the electronic device 2601 in the network environment 2600 to be described below may be applied mutatis mutandis to the description of the electronic devices included in the above-described IOT system, and thus a redundant description will be omitted.
  • the electronic device 2601 communicates with the electronic device 2602 through a first network 2698 (eg, a short-range wireless communication network) or a second network 2699 . It may communicate with the electronic device 2604 or the server 2608 through (eg, a remote wireless communication network). According to an embodiment, the electronic device 2601 may communicate with the electronic device 2604 through the server 2608 .
  • the electronic device 2601 includes a processor 2620 , a memory 2630 , an input device 2650 , a sound output device 2655 , a display device 2660 , an audio module 2670 , and a sensor module ( 2676 , interface 2677 , haptic module 2679 , camera module 2680 , power management module 2688 , battery 2689 , communication module 2690 , subscriber identification module 2696 , or antenna module 2697 . ) may be included. In some embodiments, at least one of these components (eg, the display device 2660 or the camera module 2680 ) may be omitted or one or more other components may be added to the electronic device 2601 . In some embodiments, some of these components may be implemented as one integrated circuit. For example, the sensor module 2676 (eg, a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented while being embedded in the display device 2660 (eg, a display).
  • the sensor module 2676 eg, a fingerprint sensor, an
  • the processor 2620 executes software (eg, a program 2640) to execute at least one other component (eg, hardware or software component) of the electronic device 2601 connected to the processor 2620 . It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or computation, the processor 2620 converts commands or data received from other components (eg, the sensor module 2676 or the communication module 2690) to the volatile memory 2632 . may be loaded into , process commands or data stored in volatile memory 2632 , and store the resulting data in non-volatile memory 2634 .
  • software eg, a program 2640
  • the processor 2620 converts commands or data received from other components (eg, the sensor module 2676 or the communication module 2690) to the volatile memory 2632 . may be loaded into , process commands or data stored in volatile memory 2632 , and store the resulting data in non-volatile memory 2634 .
  • the processor 2620 includes a main processor 2621 (eg, a central processing unit or an application processor), and a coprocessor 2623 (eg, a graphics processing unit or an image signal processor) that can operate independently or in conjunction with the main processor 2621 (eg, a graphics processing unit or an image signal processor). , a sensor hub processor, or a communication processor). Additionally or alternatively, the auxiliary processor 2623 may be configured to use less power than the main processor 2621 or to be specialized for a designated function.
  • the coprocessor 2623 may be implemented separately from or as part of the main processor 2621 .
  • the coprocessor 2623 may, for example, act on behalf of the main processor 2621 while the main processor 2621 is in an inactive (eg, sleep) state, or when the main processor 2621 is active (eg, executing an application). ), together with the main processor 2621, at least one of the components of the electronic device 2601 (eg, the display device 2660, the sensor module 2676, or the communication module 2690) It is possible to control at least some of the related functions or states.
  • coprocessor 2623 eg, image signal processor or communication processor
  • may be implemented as part of another functionally related component eg, camera module 2680 or communication module 2690. there is.
  • the memory 2630 may store various data used by at least one component (eg, the processor 2620 or the sensor module 2676 ) of the electronic device 2601 .
  • the data may include, for example, input data or output data for software (eg, the program 2640 ) and instructions related thereto.
  • the memory 2630 may include a volatile memory 2632 or a non-volatile memory 2634 .
  • the program 2640 may be stored as software in the memory 2630 , and may include, for example, an operating system 2642 , middleware 2644 , or an application 2646 .
  • the input device 2650 may receive a command or data to be used by a component (eg, the processor 2620 ) of the electronic device 2601 from the outside (eg, a user) of the electronic device 2601 .
  • the input device 2650 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
  • the sound output device 2655 may output a sound signal to the outside of the electronic device 2601 .
  • the sound output device 2655 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display device 2660 may visually provide information to the outside (eg, a user) of the electronic device 2601 .
  • the display device 2660 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the corresponding device.
  • the display device 2660 may include a touch circuitry configured to sense a touch or a sensor circuit (eg, a pressure sensor) configured to measure the intensity of a force generated by the touch. there is.
  • the audio module 2670 may convert a sound into an electrical signal or, conversely, convert an electrical signal into a sound. According to an embodiment, the audio module 2670 obtains a sound through the input device 2650 or an external electronic device (eg, a sound output device 2655 ) directly or wirelessly connected to the electronic device 2601 . A sound may be output through the electronic device 2602) (eg, a speaker or a headphone).
  • an external electronic device eg, a sound output device 2655
  • a sound may be output through the electronic device 2602) (eg, a speaker or a headphone).
  • the sensor module 2676 detects an operating state (eg, power or temperature) of the electronic device 2601 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 2676 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 2677 may support one or more specified protocols that may be used for the electronic device 2601 to directly or wirelessly connect with an external electronic device (eg, the electronic device 2602).
  • the interface 2677 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card
  • connection terminal 2678 may include a connector through which the electronic device 2601 can be physically connected to an external electronic device (eg, the electronic device 2602 ).
  • the connection terminal 2678 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 2679 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 2679 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 2680 may capture still images and moving images. According to one embodiment, the camera module 2680 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 2688 may manage power supplied to the electronic device 2601 .
  • the power management module 2688 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 2689 may supply power to at least one component of the electronic device 2601 .
  • battery 2689 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 2690 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 2601 and an external electronic device (eg, the electronic device 2602, the electronic device 2604, or the server 2608). It can support establishment and communication performance through the established communication channel.
  • the communication module 2690 may include one or more communication processors that operate independently of the processor 2620 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 2690 is a wireless communication module 2692 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 2694 (eg, : It may include a LAN (local area network) communication module, or a power line communication module).
  • a corresponding communication module among these communication modules is a first network 2698 (eg, a short-range communication network such as Bluetooth, WiFi direct, or infrared data association (IrDA)) or a second network 2699 (eg, a cellular network, the Internet, or It can communicate with an external electronic device through a computer network (eg, a telecommunication network such as a LAN or WAN).
  • a computer network eg, a telecommunication network such as a LAN or WAN.
  • the wireless communication module 2692 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 2696 within a communication network, such as the first network 2698 or the second network 2699 .
  • subscriber information eg, International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the electronic device 2601 may be identified and authenticated.
  • the antenna module 2697 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module may include one antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (eg, a printed circuit board (PCB)).
  • the antenna module 2697 may include a plurality of antennas. In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 2698 or the second network 2699 is connected from the plurality of antennas by, for example, the communication module 2690 . can be selected. A signal or power may be transmitted or received between the communication module 2690 and the external electronic device through the selected at least one antenna.
  • other components eg, RFIC
  • other than the radiator may be additionally formed as a part of the antenna module 2697 .
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 2601 and the external electronic device 2604 through the server 2608 connected to the second network 2699 .
  • Each of the electronic devices 2602 and 2604 may be the same or a different type of device as the electronic device 2601 .
  • all or a part of operations executed by the electronic device 2601 may be executed by one or more of the external electronic devices 2602 , 2604 , or 2608 .
  • the electronic device 2601 may perform the function or service itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • the one or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 2601 .
  • the electronic device 2601 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • the electronic device may have various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • a home appliance device e.g., a home appliance
  • first, second, or first or second may be used simply to distinguish the element from other elements in question, and may refer to elements in other aspects (e.g., importance or order) is not limited. that one (eg first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively” When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • Various embodiments of the present document include one or more instructions stored in a storage medium (eg, internal memory 2636 or external memory 2638) readable by a machine (eg, electronic device 2601). may be implemented as software (eg, the program 2640) including For example, a processor (eg, processor 2620 ) of a device (eg, electronic device 2601 ) may call at least one command among one or more commands stored from a storage medium and execute it. This makes it possible for the device to be operated to perform at least one function according to the called at least one command.
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the method according to various embodiments disclosed in this document may be provided as included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices (eg, It can be distributed (eg downloaded or uploaded) directly or online between smartphones (eg: smartphones).
  • a part of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • each component eg, a module or a program of the above-described components may include a singular or a plurality of entities.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations are executed in a different order, or omitted. or one or more other operations may be added.
  • an electronic device (eg, 503 of FIG. 5A ) includes: a communication circuit; Memory; and at least one processor, wherein when the instructions stored in the memory are executed, the at least one processor includes: a plurality of external electronic devices for providing an intelligent voice service (eg, 501 in FIG. 5A ) , 502, 404504, 505, 506) establishes a communication connection, and a user utterance including a specific word from at least a portion of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG.
  • an intelligent voice service eg, 501 in FIG. 5A
  • the at least one processor includes: a plurality of external electronic devices for providing an intelligent voice service (eg, 501 in FIG. 5A ) , 502, 404504, 505, 506) establishes a communication connection, and a user utterance including a specific word from at least a portion of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 50
  • the plurality of external electronic devices eg, : Identifies a wake-up device among at least some of 501, 502, 404504, 505, and 506 of FIG. 5A, and when at least one piece of second information is received after the time period (eg, time-out), the to change the time period (eg, time-out) to a first time period (eg, time-out) longer than the time period (eg, time-out) based on the reception time of at least one piece of second information
  • An electronic device eg, 503 of FIG. 5A ) may be provided.
  • the electronic device (eg, 503 of FIG. 5A ) is set as a main device, and the plurality of external electronic devices (eg, 501 , 502 , 404504 , 505 , 506 of FIG. 5A ) are sub-devices.
  • An electronic device (eg, 503 in FIG. 5A ) configured as devices and configured to identify the wake-up device among the sub-devices may be provided.
  • the wake-up device is a first external electronic device
  • the instructions cause the at least one processor to: control the first external electronic device to wake-up
  • An electronic device eg, 503 of FIG. 5A ) capable of receiving and processing the first user utterance for controlling the first external electronic device may be provided.
  • the device to be woken up is a first external electronic device
  • the at least one processor is configured to: based on the at least one first information and the received at least one second information
  • at least one second external electronic device corresponding to the at least one piece of second information different from the first external electronic device is identified as the wake-up device and the wake-up device is identified.
  • An electronic device eg, to change the time period (eg, time-out) to the first time period (eg, time-out) based on the identification of the at least one second external electronic device as a device to be upgraded : 503 in FIG. 5A) may be provided.
  • the instructions are performed by the at least one processor:
  • the at least one second information is based on the latest reception time among at least one reception time of the at least one piece of second information
  • an electronic device eg, 503 of FIG. 5A
  • the instructions enable the at least one processor to: when at least one piece of second information is not received after the time period (eg, time-out), the time period (eg, time-out) Identifies the latest received third information among the at least one piece of first information received during the period, and sets the time period (eg time-out) to the time period (eg: time-out), an electronic device (eg, 503 of FIG. 5A ) to change to a second time period (eg, time-out) shorter than the time-out may be provided.
  • the time period eg, time-out
  • the instructions enable the at least one processor to: calculate an average value of the first time period (eg, time-out) and the second time period (eg, time-out), and An electronic device (eg, 503 of FIG. 5A ) that changes a time period (eg, time-out) to the calculated average value may be provided.
  • the at least one piece of first information is an intensity associated with the user's utterance identified in at least some of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A ). information on the at least one processor; ), an electronic device (eg, 503 in FIG. 5A ) configured to identify the first external electronic device that has transmitted information on the highest intensity associated with the user's utterance among at least a portion of the utterance.
  • the memory stores information on the priority of the plurality of external electronic devices (eg, 501 , 502 , 404504 , 505 , 506 of FIG. 5A ) to be identified as the wake-up device. and, the instructions are performed by the at least one processor: Based on the at least one piece of first information, the plurality of external electronic devices (eg, 501 , 502 , 404504 , 505 , 506 in FIG. The first external electronic device and the second external electronic device are identified as the wake-up device, and the priority of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 in FIG. 5A) is added. an electronic device that identifies the first external electronic device having a higher priority among the first external electronic device and the second external electronic device as the wake-up device based on the information about 503).
  • the plurality of external electronic devices eg, 501 , 502 , 404504 , 505 , 506 of FIG. 5A
  • the instructions include: the at least one processor identifies the first external electronic device as the wake-up device, and then re-identifies the second external electronic device as the wake-up device and to change the priority of the second external electronic device to a higher priority than that of the first external electronic device based on the re-identification of the second external electronic device as the wake-up device , an electronic device (eg, 503 of FIG. 5A ) may be provided.
  • the instructions cause the at least one processor to: accumulate information obtained in at least one operation of identifying a device to be woken-up performed before receiving the at least one information, the accumulated information of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A ) obtained in each of the wake-up operations performed before receiving the at least one piece of information SNR information, information on when information is received from each of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A), and information on the plurality of external electronic devices (eg, FIG.
  • 5A 501, 502, 404504, 505, 506 of 5a) comprising at least one of information associated with each state, information about a device identified as being initially woke-up, and information about a device that finally woke-up,
  • An electronic device eg, 503 of FIG. 5A .
  • the instructions indicate that the at least one processor: to be woken up based on information associated with the plurality of external electronic devices (eg, 501 , 502 , 404504 , 505 , 506 of FIG. 5A ).
  • Set a value used in the operation of identifying a device wherein the value is the time period (eg, time-out) for obtaining information related to the user's voice to be processed for the wake-up, or the plurality of external
  • An electronic device eg, 503 in FIG. 5A ) including at least one of priorities for identifying each of the electronic devices (eg, 501, 502, 404504, 505, 506 in FIG. 5A ) as a wake-up device can be provided.
  • the instructions are configured by the at least one processor: the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A ).
  • the artificial intelligence model is the plurality of external Information on the SNR of each of the electronic devices (eg, 501, 502, 404504, 505, and 506 of FIG. 5A ), and each of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A )
  • An electronic device configured to output information on a device to be finally woken up in response to input of information related to the state of 503) may be provided.
  • the instructions include: at least one information received by the at least one processor from at least some of the plurality of external electronic devices (eg, 501 , 502 , 404504 , 505 , 506 of FIG. 5A ). from, first information about each SNR of at least some of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A ), and the plurality of external electronic devices (eg, FIG.
  • the device 501, 502, 404504, 505, 506 of at least a portion of the device identifies second information associated with the state, and the device identified as being woken-up determined based on the at least one information third information and input the first information, the second information, and the third information into the artificial intelligence model to identify the device to be woken-up output from the artificial intelligence model (eg : 503 in FIG. 5A) may be provided.
  • a plurality of external electronic devices eg, 501 , 502 , 404504, 505 of FIG. 5A , 506 and establishing a communication connection; receiving at least one piece of information related to a user's utterance including a specific word from at least some of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A ); Based on at least one piece of first information received during a time period (eg, time-out) for identifying the wake-up device, the plurality of external electronic devices (eg, 501, 502, 404504 of FIG.
  • a time period eg, time-out
  • 5A identifying a device to be woken-up from among at least a portion of 505, 506; and when at least one piece of second information is received after the time period (eg, time-out), the time period (eg, time-out) is set to the phrase based on the reception time of the at least one piece of second information.
  • An operation method including; changing to a first time period (eg, time-out) longer than the interval (eg, time-out) may be provided.
  • the electronic device (eg, 503 of FIG. 5A ) is set as a main device, and the plurality of external electronic devices (eg, 501 , 502 , 404504 , 505 , 506 of FIG. 5A ) are sub-devices. and the main device is configured to identify the wake-up device among the sub-devices.
  • the method further includes: the device to be woken up is a first external electronic device, and controlling the first external electronic device to wake up, wherein the wake-up first external electronic device includes: An operating method for receiving and processing a first user utterance for controlling the first external electronic device may be provided.
  • the device to be woken up is a first external electronic device
  • the device to be woken up is re-identified based on the at least one first information and the received at least one second information , identifying at least one second external electronic device corresponding to the at least one piece of second information different from the first external electronic device as the wake-up device; and changing the time period (eg, time-out) to the first time period (eg, time-out) based on the identification of the at least one second external electronic device as the wake-up device.
  • a method of operation may be provided.
  • the time period (eg, time-out) is based on the latest reception time among at least one reception time of the at least one piece of second information. ) to the first time period (eg, time-out); further comprising, an operating method may be provided.
  • an electronic device (eg, 503 of FIG. 5A ) includes: a communication circuit; Memory; and at least one processor, wherein when the instructions stored in the memory are executed, the at least one processor includes: a plurality of external electronic devices for providing an intelligent voice service (eg, 501 in FIG. 5A ) , 502, 404504, 505, and 506), and wake-up some of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A ) forming the network. information associated with the plurality of external electronic devices (eg, 501, 502, 404504, 505, and 506 of FIG.
  • an intelligent voice service eg, 501 in FIG. 5A
  • the at least one processor includes: a plurality of external electronic devices for providing an intelligent voice service (eg, 501 in FIG. 5A ) , 502, 404504, 505, and 506), and wake-up some of the plurality of external electronic devices (eg, 501, 502, 404504, 505,
  • a time period for acquisition e.g, time-out
  • priorities of each of the plurality of external electronic devices e.g, 501, 502, 404504, 505, 506 of FIG. 5A
  • the plurality of external electronic devices Receive at least one piece of information associated with a user utterance including a specific word for wake-up from at least some of the devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A ), the at least one information; and at least a portion of the plurality of external electronic devices (eg, 501, 502, 404504, 505, 506 of FIG. 5A ) based on at least one of the set time period (eg, time-out) or the priority.
  • An electronic device eg, 503 in FIG. 5A

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)

Abstract

다양한 실시예들에 따르면, 전자 장치에 있어서, 통신 회로; 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 메모리에 저장된 인스트럭션들이 실행되는 경우, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들과 통신 연결을 설정하고, 상기 복수의 외부 전자 장치들의 적어도 일부로부터 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신하고, 상기 웨이크-업될 장치를 식별하기 위한 시구간 동안 수신된 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들의 적어도 일부 중 웨이크-업 될 장치를 식별하고, 상기 시구간 이후 적어도 하나의 제 2 정보가 수신되는 경우, 상기 적어도 하나의 제 2 정보의 수신 시점에 기반하여, 상기 시구간을 상기 시구간 보다 긴 제 1 시구간으로 변경하도록 하는, 전자 장치가 제공될 수 있다. 그 밖의 다양한 실시예가 가능하다.

Description

음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법
본 개시는 음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법에 관한 것이다.
현대를 살아가는 소비자들에게 다양한 종류의 전자 장치들이 보급되고 있다.
다양한 종류의 전자 장치들은 음성 인식을 수행하고 수행된 음성 인식에 기반하여 다양한 동작을 수행함으로써 지능형 음성 서비스를 제공할 수 있다. 더 나아가, 다양한 환경 내에 구비되는 전자 장치들을 유무선 네트워크로 연결하는 사물 인터넷에 기반하여, 전자 장치들이 전자 장치들 간에 정보 공유에 기반하여 지능형 음성 서비스를 제공할 수 있는 환경이 갖추어 지고 있다.
최근 지능형 음성 서비스를 제공 가능한 전자 장치들의 수가 증가됨에 따라서, 사용자의 의도에 부합하는 지능형 음성 서비스를 제공할 장치가 선택되기 어려워지고 있다. 따라서 다양한 전자 장치들 중 사용자의 의도에 부합하는 지능형 음성 서비스를 제공할 장치를 선택하기 위한 기술의 구현이 필요하다.
상술한 사항은 본 개시의 내용의 이해를 돕기 위한 배경 정보로서만 제공될 수 있다. 상술한 사항 중 어느 것이 본 개시와 관련하여 선행 기술로서 적용될 수 있는지 여부에 대해 어떠한 결정도 이루어지지 않았고, 어떠한 주장도 이루어지지 않았다.
다양한 환경 내에는 지능형 서비스(예: 지능형 음성 서비스)를 제공 가능한 다양한 종류의 전자 장치들이 구비될 수 있다. 상기 전자 장치들은 사용자로부터 지능형 음성 서비스의 제공을 개시하기 위한 특정 단어를 포함하는 사용자 발화(예: 웨이크-업 발화)를 수신하는 경우, 사용자의 제어를 위한 발화(예: 제어 발화)를 인식하여 인식된 발화에 대응하는 적어도 하나의 동작을 수행하는 상태(예: 리스닝 상태)로 진입(즉, 웨이크-업 됨)할 수 있게 된다. 그러나 웨이크-업 발화에 의해, 환경 내에 구비된 전자 장치들 중에서 사용자의 의도와는 다른 수많은 전자 장치들이 리스닝 상태로 진입(즉, 웨이크-업 됨)하게 될 수 있다. 이에 따라, 불필요하게 다른 수많은 전자 장치들이 리스닝 상태로 진입되게 되는 운용 부담이 발생될 수 있다. 또, 사용자가 다른 전자 장치들의 리스닝 상태를 해제하고 다시 웨이크-업 발화를 하여 다시 사용자 의도에 부합하는 전자 장치를 리스닝 상태로 전환시켜야 하는 번거로움이 발생될 수 있다.
다양한 실시예들은 상술한 문제점 및/또는 단점을 해결하고, 아래에서 기술되는 이점의 적어도 일부를 제공할 수 있다.
따라서, 다양한 실시예들에 따르면, 전자 장치 및 그 동작 방법은 웨이크-업 발화 발생 시 다른 외부 전자 장치들로부터 웨이크-업 발화와 연관된 정보를 수신하고 수신된 정보를 기반으로 웨이크-업될(즉, 리스닝 상태로 전환될) 최적의 장치를 식별함으로써, 다른 수많은 전자 장치들이 웨이크-업됨에 따라 발생하는 운용 부담과 번거로움을 경감할 수 있다. 또 다양한 실시예들에 따르면, 전자 장치 및 그 동작 방법은 환경 내에서 발생되는 정보(예: 웨이크-업될 장치를 식별하는 동작의 수행 시 획득되는 일 세션 동안 수신된 정보의 수신 시점에 대한 정보, 또는 웨이크-업될 장치로 재식별된 장치에 대한 정보)에 기반하여 웨이크-업 될 장치를 식별하는 동작의 수행 시 이용되는 값(예: 타임-아웃, 우선 순위)를 설정 또는 변경함으로써, 최적의 장치가 웨이크-업되도록 할 수 있다.
그 외 추가적인 이점은 이하에서 기술되는 다양한 실시예들로부터 명백할 것이며, 이해될 수 있다.
다양한 실시예들에 따르면, 전자 장치에 있어서, 통신 회로; 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 메모리에 저장된 인스트럭션들이 실행되는 경우, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들과 통신 연결을 설정하고, 상기 복수의 외부 전자 장치들의 적어도 일부로부터 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신하고, 상기 웨이크-업될 장치를 식별하기 위한 시구간 동안 수신된 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들의 적어도 일부 중 웨이크-업 될 장치를 식별하고, 상기 시구간 이후 적어도 하나의 제 2 정보가 수신되는 경우, 상기 적어도 하나의 제 2 정보의 수신 시점에 기반하여, 상기 시구간을 상기 시구간 보다 긴 제 1 시구간으로 변경하도록 하는, 전자 장치가 제공될 수 있다.
다양한 실시예들에 따르면, 전자 장치의 동작 방법에 있어서, 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들과 통신 연결을 설정하는 단계; 상기 복수의 외부 전자 장치들의 적어도 일부로부터 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신하는 단계; 상기 웨이크-업될 장치를 식별하기 위한 시구간 동안 수신된 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들의 적어도 일부 중 웨이크-업 될 장치를 식별하는 단계; 및 상기 시구간 이후 적어도 하나의 제 2 정보가 수신되는 경우, 상기 적어도 하나의 제 2 정보의 수신 시점에 기반하여, 상기 시구간을 상기 시구간 보다 긴 제 1 시구간으로 변경하는 단계;를 포함하는, 동작 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 전자 장치에 있어서, 통신 회로; 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 메모리에 저장된 인스트럭션들이 실행되는 경우, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들과 네트워크를 형성하고, 상기 네트워크를 형성한 상기 복수의 외부 전자 장치들 중 일부를 웨이크-업 시키기 위한 동작을 수행하는 동안 상기 복수의 외부 전자 장치들과 연관된 정보를 축적하고, 상기 축적된 정보에 기반하여 상기 사용자 음성과 연관된 정보를 획득하기 위한 시구간과 상기 복수의 외부 전자 장치들의 각각의 우선 순위를 설정하고, 상기 복수의 외부 전자 장치들의 적어도 일부로부터 웨이크-업을 위한 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신하고, 상기 적어도 하나의 정보, 및 상기 설정된 시구간 또는 상기 우선 순위 중 적어도 하나에 기반하여, 상기 복수의 외부 전자 장치들의 적어도 일부 중 웨이크-업 될 장치를 식별하도록 하는, 전자 장치가 제공될 수 있다.
다양한 실시예들에 따른, 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 실시예들에 따르면, 웨이크-업 발화 발생 시 다른 외부 전자 장치들로부터 웨이크-업 발화와 연관된 정보를 수신하고 수신된 정보를 기반으로 웨이크-업될(즉, 리스닝 상태로 전환될) 최적의 장치를 식별함으로써, 다른 수많은 전자 장치들이 웨이크-업됨에 따라 발생하는 운용 부담과 번거로움을 경감시키는 전자 장치 및 그 동작 방법이 제공될 수 있다.
또 다양한 실시예들에 따르면, 환경 내에서 발생되는 정보(예: 웨이크-업될 장치를 식별하는 동작의 수행 시 획득되는 일 세션 동안 수신된 정보의 수신 시점에 대한 정보, 또는 웨이크-업될 장치로 재식별된 장치에 대한 정보)에 기반하여 웨이크-업 될 장치를 식별하는 동작의 수행 시 이용되는 값(예: 타임-아웃, 우선 순위)를 설정 또는 변경함으로써, 최적의 장치가 웨이크-업되도록 하는 전자 장치 및 그 동작 방법이 제공될 수 있다.
다양한 실시예들의 다른 측면, 이점, 및 특징은 첨부된 도면과 함께 다양한 실시예들을 개시하는 발명의 실시를 위한 형태로부터 당업자에게 명백해질 수 있다.
다양한 실시예들의 특징 및 이점은 첨부된 도면과 함께 기술되는 설명들로부터 더 명백해질 것이다.
도 1은 다양한 실시예들에 따른 IoT(internet of things) 시스템을 도시한다.
도 2는 다양한 실시예들에 따른, 통합 지능 (integrated intelligence) 시스템을 나타낸 블록도이다.
도 3은 다양한 실시예들에 따른, 컨셉과 동작의 관계 정보가 데이터베이스에 저장된 형태를 나타낸 도면이다.
도 4는 다양한 실시예들에 따른, 사용자 단말이 지능형 앱을 통해 수신된 음성 입력을 처리하는 화면을 나타낸 도면이다.
도 5a는 다양한 실시예들에 따른 IOT 시스템에 포함된 장치들의 예를 나타내는 도면이다.
도 5b는 다양한 실시예들에 따른 IOT 시스템이 구현되는 환경을 설명하기 위한 도면이다.
도 6은 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치의 구성의 일 예를 나타내는 도면이다.
도 7은 다양한 실시예들에 따른 전자 장치의 웨이크-업 동작에서 이용되는 값들을 설정하는 동작의 일 예를 설명하기 위한 도면이다.
도 8은 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치들의 동작의 일 예를 설명하기 위한 흐름도이다.
도 9a는 다양한 실시예들에 따른 주 장치가 서브 장치들로부터 사용자 발화에 대한 정보를 수신하는 동작의 일 예를 설명하기 위한 도면이다.
도 9b는 다양한 실시예들에 따른 서브 장치가 음성 서비스를 제공하는 동작의 일 예를 설명하기 위한 도면이다.
도 10은 다양한 실시예들에 따른 전자 장치의 동작의 일 예를 설명하기 위한 흐름도이다.
도 11은 다양한 실시예들에 따른 전자 장치의 웨이크-업될 장치를 식별하는 동작의 일 예를 설명하기 위한 도면이다.
도 12는 다양한 실시예들에 따른 전자 장치의 사용자 발화와 연관된 정보들을 처리하는 동작의 일 예를 설명하기 위한 도면이다.
도 13은 다양한 실시예들에 따른 전자 장치의 동작의 일 예를 설명하기 위한 흐름도이다.
도 14는 다양한 실시예들에 따른 전자 장치의 지정된 시구간을 연장하는 동작의 일 예를 설명하기 위한 도면이다.
도 15는 다양한 실시예들에 따른 전자 장치의 지정된 시구간을 단축하는 동작의 일 예를 설명하기 위한 도면이다.
도 16은 다양한 실시예들에 따른 전자 장치의 동작의 일 예를 설명하기 위한 흐름도이다.
도 17은 다양한 실시예들에 따른 전자 장치의 최종적으로 웨이크-업될 장치를 식별하는 동작의 일 예를 설명하기 위한 도면이다.
도 18은 다양한 실시예들에 따른 전자 장치의 복수의 외부 전자 장치들의 우선 순위를 변경하는 동작의 일 예를 설명하기 위한 도면이다.
도 19는 다양한 실시예들에 따른 전자 장치의 동작의 일 예를 설명하기 위한 흐름도이다.
도 20a는 다양한 실시예들에 따른 전자 장치의 웨이크-업될 장치를 식별하는 동작의 수행 시 축적되는 다양한 정보에 기반하여 인공 지능 모델을 생성하는 동작의 일 예를 설명하기 위한 도면이다.
도 20b은 다양한 실시예들에 따른 전자 장치의 생성된 인공 지능 모델을 기반으로 웨이크-업될 장치를 식별하는 동작의 일 예를 설명하기 위한 도면이다.
도 21은 다양한 실시예들에 따른 설정된 전자 장치의 동작의 일 예를 설명하기 위한 흐름도이다.
도 22는 다양한 실시예들에 따른 전자 장치의 웨이크-업될 장치를 식별하는 동작의 수행 시 축적되는 다양한 정보에 기반하여 인공 지능 모델을 생성하는 동작의 일 예를 설명하기 위한 도면이다.
도 23은 다양한 실시예들에 따른 전자 장치의 생성된 인공 지능 모델을 기반으로 웨이크-업될 장치를 식별하는 동작의 일 예를 설명하기 위한 도면이다.
도 24는 다양한 실시예들에 따른 설정된 전자 장치의 동작의 일 예를 설명하기 위한 흐름도이다.
도 25는 다양한 실시예들에 따른 전자 장치의 웨이크-업될 장치를 식별하는 동작의 수행 시 축적되는 다양한 정보에 기반하여 인공 지능 모델을 생성하는 동작의 일 예를 설명하기 위한 도면이다.
도 26은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
도면 전체에 걸쳐, 유사한 또는 관련된 부품, 구성요소, 구조에 대해서는 유사한 참조 부호가 사용될 수 있다.
첨부된 도면을 참조한 이하의 설명들은 청구 범위 및 그 균등물에 의해 정의 된 다양한 실시예들의 포괄적인 이해를 돕기 위해 제공된다. 이하의 설명들은 이해를 돕기 위해 다양한 특정 세부 설명을 포함하지만, 이는 단지 예시적인 것으로 간주될 수 있다. 따라서, 당업자는 이하에서 기술되는 다양한 실시예들에 대한 다양한 변경 및 수정이 다양한 실시예들의 범위 및 사상을 벗어나지 않고 이루어질 수 있음을 인식할 수 있다. 또한, 주지의 기능 및 구성에 대한 설명은 명확성과 간결성을 위해 생략될 수 있다.
이하의 설명 및 청구 범위에서 사용되는 용어 및 단어는 서지적 의미에 제한되지 않고, 다양한 실시예들의 내용의 명확하고 일관된 이해를 가능하게 하기 위해 발명자에 의해 사용될 뿐이다. 따라서, 다양한 실시예들에 대한 이하의 설명은 첨부 된 청구 범위 및 그 균등물에 의해 정의 된 개시 내용을 제한 할 목적이 아니라 단지 예시 목적으로 제공된다는 것이 당업자에게 명백할 수 있다.
단수 형태의 기재는 문맥 상 명백하게 달리 지시하지 않는 한 복수의 지시 대상을 포함하는 것으로 이해될 수도 있다.
도 1은 일 실시예에 따른 IoT(internet of things) 시스템(100)을 도시한다. 한편, 도 1의 구성 요소 중 적어도 일부는 생략될 수도 있으며, 도시되지 않은 구성 요소가 더 포함되도록 구현될 수도 있다.
도 1을 참조하면, 일 실시예에 따른 IoT 시스템(100)은, 데이터 네트워크(116 또는 146)에 연결 가능한 복수의 전자 장치들을 포함한다. 예를 들어, IoT 시스템(100)은 제 1 IoT 서버(110), 제 1 노드(node)(120), 보이스 어시스턴트(voice assistance) 서버(130), 제 2 IoT 서버(140), 제 2 노드(150), 또는 디바이스들(121,122,123,124,125,136,137,151,152,153) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 통신 인터페이스(111), 프로세서(112), 또는 저장부(113) 중 적어도 하나를 포함할 수 있다. 제 2 IoT 서버(140)는, 통신 인터페이스(141), 프로세서(142), 또는 저장부(143) 중 적어도 하나를 포함할 수 있다. 본 문서에서의 "IoT 서버"는, 예를 들어 데이터 네트워크(예: 데이터 네트워크(116) 또는 데이터 네트워크(146))에 기반하여, 중계 디바이스(예: 제 1 노드(120) 또는 제 2 노드(150))를 통하거나, 또는 중계 디바이스 없이 직접적으로(directly), 하나 또는 그 이상의 디바이스들(예: 디바이스들(121,122,123,124,125,151,152,153))을 원격으로 제어 및/또는 모니터링할 수 있다. 여기에서의 "디바이스"는, 예를 들어 가택, 사무실, 공장, 빌딩, 외부 지점, 또는 다른 타입의 부지들과 같은 로컬 환경 내에 배치되는(또는, 위치하는) 센서, 가전, 사무용 전자 디바이스, 또는 공정 수행을 위한 디바이스로, 그 종류에는 제한이 없다. 제어 명령을 수신하여 제어 명령에 대응하는 동작을 수행하는 디바이스를 "타겟 디바이스"로 명명할 수 있다. IoT 서버는, 복수의 디바이스들 중 타겟 디바이스를 선택하고 제어 명령을 제공하는 점에서, 중앙 서버(central server)로 명명될 수도 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 데이터 네트워크(116)를 통하여 디바이스들(121,122,123)과 통신을 수행할 수 있다. 데이터 네트워크(116)는, 예를 들어 인터넷, 또는 컴퓨터 네트워크(예: LAN(local area network) 또는 WAN(wide area network))와 같은 원거리 통신을 위한 네트워크를 의미할 수 있으며, 또는 셀룰러 네트워크를 포함할 수도 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 통신 인터페이스(111)를 통하여 데이터 네트워크(116)에 연결될 수 있다. 통신 인터페이스(111)는, 데이터 네트워크(116)의 통신을 지원하기 위한 통신 디바이스(또는, 통신 모듈)를 포함할 수 있으며, 하나의 구성 요소(예: 단일 칩)로 통합되거나, 또는 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 제 1 IoT 서버(110)는, 제 1 노드(120)를 통하여 디바이스들(121,122,123)와 통신을 수행할 수 있다. 제 1 노드(120)는, 제 1 IoT 서버(110)로부터의 데이터를 데이터 네트워크(116)를 통하여 수신하고, 수신한 데이터를 디바이스들(121,122,123) 중 적어도 일부로 송신할 수 있다. 또는, 제 1 노드(120)는, 디바이스들(121,122,123) 중 적어도 일부로부터 데이터를 수신하고, 수신한 데이터를 데이터 네트워크(116)를 통하여 제 1 IoT 서버(110)로 송신할 수 있다. 제 1 노드(120)는, 데이터 네트워크(116) 및 디바이스들(121,122,123) 사이의 브릿지(bridge)로서 기능할 수 있다. 한편, 도 1에서는 제 1 노드(120)가 하나인 것과 같이 도시되어 있지만 이는 단순히 예시적인 것으로, 그 숫자에는 제한이 없다.
본 문서에서의 "노드"는, 엣지 컴퓨팅 시스템(edge computing system)일 수 있거나, 또는 허브(hub) 디바이스일 수 있다. 일 실시예에 따라서, 제 1 노드(120)는, 데이터 네트워크(116)의 유선 및/또는 무선의 통신을 지원하며, 아울러 디바이스들(121,122,123)과의 유선 및/또는 무선의 통신을 지원할 수 있다. 예를 들어, 제 1 노드(120)는, 블루투스, Wi-Fi, Wi-Fi direct, Z-wave, Zig-bee, INSETEON, X10 등) 또는 IrDA(infrared data association 중 적어도 하나와 같은 근거리 통신 네트워크를 통하여 디바이스들(121,122,123)과 연결될 수 있으나, 통신 종류에는 제한이 없다. 제 1 노드(120)는, 예를 들어 가택, 사무실, 공장, 빌딩, 외부 지점, 또는 다른 타입의 부지들과 같은 환경 내에 배치(또는, 위치)될 수 있다. 이에 따라, 디바이스들(121,122,123)은, 제 1 IoT 서버(110)에 의하여 제공되는 서비스에 의하여 모니터링 및/또는 제어될 수 있으며, 디바이스들(121,122,123)은 제 1 IoT 서버(110)로의 직접 연결을 위한 완전한 네트워크 통신(예: 인터넷 통신)의 캐퍼빌리티(capability)를 갖출 것이 요구되지 않을 수 있다. 디바이스들(121,122,123)은, 예를 들어 전등 스위치, 근접 센서, 온도 센서 등으로 가택 환경 내의 전자 장치로 구현된 것과 같이 도시되었지만, 이는 예시적인 것으로 제한은 없다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 디바이스들(124,125)과의 직접 통신(direct communication)을 지원할 수도 있다. 여기에서, "직접 통신"은, 예를 들어 제 1 노드(120)와 같은 중계 디바이스를 통하지 않은 통신으로, 예를 들어 셀룰러 통신 네트워크 및/또는 데이터 네트워크를 통한 통신을 의미할 수 있다.
일 실시예에 따라서, 제 1 IoT 서버(110)는, 디바이스들(121,122,123,124,125) 중 적어도 일부로 제어 명령을 송신할 수 있다. 여기에서, "제어 명령"은, 제어 가능한 디바이스가 특정 동작을 수행하도록 야기하는 데이터를 의미할 수 있으며, 특정 동작은 디바이스에 의하여 수행되는 동작으로, 정보의 출력, 정보의 센싱, 정보의 보고, 정보의 관리(예: 삭제, 또는 생성)를 포함할 수 있으며, 그 종류에는 제한이 없다. 예를 들어, 프로세서(112)는, 외부(예: 보이스 어시스턴트 서버(130), 제 2 IoT 서버(140), 외부 시스템(126), 또는 디바이스들(121,122,123,124,125) 중 적어도 일부)로부터 제어 명령을 생성하기 위한 정보(또는, 요청)를 획득하고, 획득한 정보에 기반하여 제어 명령을 생성할 수 있다. 또는, 프로세서(112)는, 디바이스들(121,122,123,124,125) 중 적어도 일부의 모니터링 결과가 지정된 조건을 만족함에 기반하여 제어 명령을 생성할 수 있다. 프로세서(112)는, 제어 명령을, 타겟 디바이스로 송신하도록 통신 인터페이스(111)를 제어할 수 있다.
일 실시예에 따라서, 프로세서(112), 또는 프로세서(132), 프로세서(142)는, CPU(central processing unit), DSP(digital signal processor), AP(application processor), CP(communication processor) 등과 같은 범용 프로세서, GPU(graphical processing unit), VPU(vision processing Unit)와 같은 그래픽 전용 프로세서 또는 및 NPU(neural processing unit)와 같은 인공 지능 전용 프로세서 중 하나 이상의 조합으로 구현될 수 있다. 상술한 처리 유닛은 단순히 예시적인 것으로, 프로세서(112)는, 예를 들어 메모리(113)에 저장된 인스트럭션을 실행하여, 실행된 결과를 출력할 수 있는 연산 수단이라면 제한이 없음을 당업자는 이해할 것이다.
일 실시예에 따라서, 프로세서(112)는, API(application programming interface)(114)에 기반하여 웹-기반 인터페이스를 구성하거나, 또는 제 1 IoT 서버(110)에 의하여 관리되는 리소스(resource)를 외부에 노출시킬 수 있다. 웹-기반 인터페이스는, 예를 들어 제 1 IoT 서버(110) 및 외부 웹 서비스 사이의 통신을 지원할 수 있다. 프로세서(112)는, 예를 들어 외부 시스템(126)으로 하여금 디바이스들(121,122,123)의 제어 및/또는 억세스를 허용할 수도 있다. 외부 시스템(126)은, 예를 들어 시스템(100)과 연관이 없거나, 또는 일부가 아닌 독립적인 시스템일 수 있다. 외부 시스템(126)은, 예를 들어 외부 서버이거나, 또는 웹 사이트일 수 있다. 하지만, 외부 시스템(126)으로부터의 디바이스들(121,122,123), 또는 제 1 IoT 서버(110)의 리소스로의 억세스에 대한 보안이 요구된다. 일 실시예에 따라서, 프로세서(112)는, 자동화 어플리케이션은 API(114)에 기반한 API 엔드 포인트(예: URL(universal resource locator))을 외부에 노출할 수 있다. 상술한 바에 따라서, 제 1 IoT 서버(110)는, 제어 명령을 디바이스들(121,122,123) 중 타겟 디바이스에게 전달할 수 있다. 한편, 제 2 IoT 서버(140)의 통신 인터페이스(141), 프로세서(142), 저장부(143)의 API(144), 데이터베이스(145)에 대한 설명은, 제 1 IoT 서버(110)의 통신 인터페이스(111), 프로세서(112), 저장부(113)의 API(114), 데이터베이스(115)에 대한 설명과 실질적으로 동일할 수 있다. 아울러, 제 2 노드(150)에 대한 설명은, 제 1 노드(120)에 대한 설명과 실질적으로 동일할 수 있다. 제 2 IoT 서버(140)는, 제어 명령을 디바이스들(151,152,153) 중 타겟 디바이스에게 전달할 수 있다. 제 1 IoT 서버(110) 및 제 2 IoT 서버(140)는, 하나의 실시예에서는 동일한 서비스 제공자에 의하여 운영될 수 있으나, 다른 실시예에서는 상이한 서비스 제공자들에 의하여 각각 운영될 수도 있다.
일 실시예에 따라서, 보이스 어시스턴트 서버(130)는, 데이터 네트워크(116)를 통하여 제 1 IoT 서버(110)와 데이터를 송수신할 수 있다. 일 실시예에 따른 보이스 어시스턴트 서버(130)는, 통신 인터페이스(131), 프로세서(132), 또는 저장부(133) 중 적어도 하나를 포함할 수 있다. 통신 인터페이스(131)는, 데이터 네트워크(미도시) 및/또는 셀룰러 네트워크(미도시)를 통하여 스마트 폰(136) 또는 AI 스피커(137)와 통신을 수행할 수 있다. 스마트 폰(136) 또는 AI 스피커(137)는 마이크를 포함할 수 있으며, 사용자 음성(user voice)을 획득하여 음성 신호로 변환하여, 음성 신호를 보이스 어시스턴트 서버(130)로 송신할 수 있다. 프로세서(132)는, 통신 인터페이스(131)를 통하여 스마트 폰(136) 또는 AI 스피커(137)로부터 음성 신호를 수신할 수 있다. 프로세서(132)는, 수신한 음성 신호를 저장된 모델(134)에 기반하여 처리할 수 있다. 프로세서(132)는, 데이터베이스(135)에 저장된 정보에 기반하여, 처리 결과를 이용하여 제어 명령을 생성(또는, 확인)할 수 있다. 일 실시예에 따라서, 저장부(113,133,143)는, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 비 일시적(non-transitory) 저장매체를 포함할 수 있으며, 그 종류에는 제한이 없다.
도 2는 다양한 실시예들에 따른, 통합 지능 (integrated intelligence) 시스템을 나타낸 블록도이다. 이하에서 기술되는 통합 지능 시스템(10)에 대한 설명은, 도 1에서 상술한 IOT 시스템에 대한 설명에 준용될 수 있다.
도 2를 참조하면, 일 실시예의 통합 지능 시스템(10)은 사용자 단말(160), 지능형 서버(200), 및 서비스 서버(300)를 포함할 수 있다.
일 실시 예의 사용자 단말(160)은, 인터넷에 연결 가능한 단말 장치(또는, 전자 장치)일 수 있으며, 예를 들어, 사용자 단말(160)은 휴대폰, 스마트폰, PDA(personal digital assistant), 노트북 컴퓨터, TV, 백색 가전, 웨어러블 장치, HMD(head-mounted display), 또는 스마트 스피커일 수 있다.
도시된 실시 예에 따르면, 사용자 단말(160)은 통신 인터페이스(161), 프로세서(162), 디스플레이(163), 스피커(164), 마이크(165), 또는 메모리(170)를 포함할 수 있다. 상기 열거된 구성요소들은 서로 작동적으로 또는 전기적으로 연결될 수 있다.
일 실시 예의 통신 인터페이스(161)는 외부 장치와 연결되어 데이터를 송수신하도록 구성될 수 있다. 일 실시 예의 마이크(165)는 소리(예: 사용자 발화)를 수신하여, 전기적 신호로 변환할 수 있다. 일 실시예의 스피커(164)는 전기적 신호를 소리(예: 음성)으로 출력할 수 있다. 일 실시 예의 디스플레이(163)는 이미지 또는 비디오를 표시하도록 구성될 수 있다. 일 실시 예의 디스플레이(163)는 또한 실행되는 앱(app)(또는, 어플리케이션 프로그램(application program))의 그래픽 사용자 인터페이스(graphic user interface)(GUI)를 표시할 수 있다.
일 실시 예의 메모리(170)는 클라이언트 모듈(171), SDK(software development kit)(173), 및 복수의 앱들(175_1, 175_2)을 저장할 수 있다. 상기 클라이언트 모듈(171), 및 SDK(173)는 범용적인 기능을 수행하기 위한 프레임워크(framework)(또는, 솔루션 프로그램)를 구성할 수 있다. 또한, 클라이언트 모듈(171) 또는 SDK(173)는 음성 입력을 처리하기 위한 프레임워크를 구성할 수 있다.
일 실시 예의 메모리(170)는 상기 복수의 앱들(175_1, 175_2)은 지정된 기능을 수행하기 위한 프로그램일 수 있다. 일 실시 예에 따르면, 복수의 앱(175_1, 175_2)은 제1 앱(175_1), 제2 앱(175_2)을 포함할 수 있다. 일 실시 예에 따르면, 복수의 앱(175_1, 175_2) 각각은 지정된 기능을 수행하기 위한 복수의 동작들을 포함할 수 있다. 예를 들어, 상기 앱들은, 알람 앱, 메시지 앱, 및/또는 스케줄 앱을 포함할 수 있다. 일 실시 예에 따르면, 복수의 앱들(175_1, 175_2)은 프로세서(162)에 의해 실행되어 상기 복수의 동작들 중 적어도 일부를 순차적으로 실행할 수 있다.
일 실시 예의 프로세서(162)는 사용자 단말(160)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(162)는 통신 인터페이스(161), 마이크(165), 스피커(164), 및 디스플레이(163)와 전기적으로 연결되어 연결되어 지정된 동작을 수행할 수 있다.
일 실시 예의 프로세서(162)는 또한 상기 메모리(170)에 저장된 프로그램을 실행시켜 지정된 기능을 수행할 수 있다. 예를 들어, 프로세서(162)는 클라이언트 모듈(171) 또는 SDK(173) 중 적어도 하나를 실행하여, 음성 입력을 처리하기 위한 이하의 동작을 수행할 수 있다. 프로세서(162)는, 예를 들어, SDK(173)를 통해 복수의 앱(175_1, 175_2)의 동작을 제어할 수 있다. 클라이언트 모듈(171) 또는 SDK(173)의 동작으로 설명된 이하의 동작은 프로세서(162)의 실행에 의한 동작일 수 있다.
일 실시 예의 클라이언트 모듈(171)은 음성 입력을 수신할 수 있다. 예를 들어, 클라이언트 모듈(171)은 마이크(165)를 통해 감지된 사용자 발화에 대응되는 음성 신호를 수신할 수 있다. 상기 클라이언트 모듈(171)은 수신된 음성 입력을 지능형 서버(200)로 송신할 수 있다. 클라이언트 모듈(171)은 수신된 음성 입력과 함께, 사용자 단말(160)의 상태 정보를 지능형 서버(200)로 송신할 수 있다. 상기 상태 정보는, 예를 들어, 앱의 실행 상태 정보일 수 있다.
일 실시 예의 클라이언트 모듈(171)은 수신된 음성 입력에 대응되는 결과를 수신할 수 있다. 예를 들어, 클라이언트 모듈(171)은 지능형 서버(200)에서 상기 수신된 음성 입력에 대응되는 결과를 산출할 수 있는 경우, 수신된 음성 입력에 대응되는 결과를 수신할 수 있다. 클라이언트 모듈(171)은 상기 수신된 결과를 디스플레이(163)에 표시할 수 있다.
일 실시 예의 클라이언트 모듈(171)은 수신된 음성 입력에 대응되는 플랜을 수신할 수 있다. 클라이언트 모듈(171)은 플랜에 따라 앱의 복수의 동작을 실행한 결과를 디스플레이(163)에 표시할 수 있다. 클라이언트 모듈(171)은, 예를 들어, 복수의 동작의 실행 결과를 순차적으로 디스플레이에 표시할 수 있다. 사용자 단말(160)은, 다른 예를 들어, 복수의 동작을 실행한 일부 결과(예: 마지막 동작의 결과)만을 디스플레이에 표시할 수 있다.
일 실시 예에 따르면, 클라이언트 모듈(171)은 지능형 서버(200)로부터 음성 입력에 대응되는 결과를 산출하기 위해 필요한 정보를 획득하기 위한 요청을 수신할 수 있다. 일 실시 예에 따르면, 클라이언트 모듈(151)은 상기 요청에 대응하여 상기 필요한 정보를 지능형 서버(200)로 송신할 수 있다.
일 실시 예의 클라이언트 모듈(171)은 플랜에 따라 복수의 동작을 실행한 결과 정보를 지능형 서버(200)로 송신할 수 있다. 지능형 서버(200)는 상기 결과 정보를 이용하여 수신된 음성 입력이 올바르게 처리된 것을 확인할 수 있다.
일 실시 예의 클라이언트 모듈(171)은 음성 인식 모듈을 포함할 수 있다. 일 실시 예에 따르면, 클라이언트 모듈(171)은 상기 음성 인식 모듈을 통해 제한된 기능을 수행하는 음성 입력을 인식할 수 있다. 예를 들어, 클라이언트 모듈(171)은 지정된 입력(예: 웨이크 업!)을 통해 유기적인 동작을 수행하기 위한 음성 입력을 처리하기 위한 지능형 앱을 수행할 수 있다.
일 실시 예의 지능형 서버(200)는 통신 망을 통해 사용자 단말(160)로부터 사용자 음성 입력과 관련된 정보를 수신할 수 있다. 일 실시 예에 따르면, 지능형 서버(200)는 수신된 음성 입력과 관련된 데이터를 텍스트 데이터(text data)로 변경할 수 있다. 일 실시 예에 따르면, 지능형 서버(200)는 상기 텍스트 데이터에 기초하여 사용자 음성 입력과 대응되는 태스크(task)를 수행하기 위한 플랜(plan)을 생성할 수 있다
일 실시 예에 따르면, 플랜은 인공 지능(artificial intelligent)(AI) 시스템에 의해 생성될 수 있다. 인공지능 시스템은 룰 베이스 시스템(rule-based system) 일 수도 있고, 신경망 베이스 시스템(neual network-based system)(예: 피드포워드 신경망(feedforward neural network(FNN)), 순환 신경망(recurrent neural network(RNN))) 일 수도 있다. 또는, 전술한 것의 조합 또는 이와 다른 인공지능 시스템일 수도 있다. 일 실시 예에 따르면, 플랜은 미리 정의된 플랜의 집합에서 선택될 수 있거나, 사용자 요청에 응답하여 실시간으로 생성될 수 있다. 예를 들어, 인공지능 시스템은 미리 정의 된 복수의 플랜 중 적어도 하나의 플랜을 선택할 수 있다.
일 실시 예의 지능형 서버(200)는 생성된 플랜에 따른 결과를 사용자 단말(160)로 송신하거나, 생성된 플랜을 사용자 단말(160)로 송신할 수 있다. 일 실시 예에 따르면, 사용자 단말(160)은 플랜에 따른 결과를 디스플레이에 표시할 수 있다. 일 실시 예에 따르면, 사용자 단말(160)은 플랜에 따른 동작을 실행한 결과를 디스플레이에 표시할 수 있다.
일 실시 예의 지능형 서버(200)는 프론트 엔드(front end)(210), 자연어 플랫폼(natual language platform)(220), 캡슐 데이터베이스(capsule DB)(230), 실행 엔진(execution engine)(240), 엔드 유저 인터페이스(end user interface)(250), 매니지먼트 플랫폼(management platform)(260), 빅 데이터 플랫폼(big data platform)(270), 또는 분석 플랫폼(analytic platform)(280)을 포함할 수 있다.
일 실시 예의 프론트 엔드(210)는 사용자 단말(160)로부터 수신된 음성 입력을 수신할 수 있다. 프론트 엔드(210)는 상기 음성 입력에 대응되는 응답을 송신할 수 있다.
일 실시 예에 따르면, 자연어 플랫폼(220)은 자동 음성 인식 모듈(automatic speech recognition module)(ASR module)(221), 자연어 이해 모듈(natural language understanding module)(NLU module)(223), 플래너 모듈(planner module)(225), 자연어 생성 모듈(natural language generator module)(NLG module)(227)또는 텍스트 음성 변환 모듈(text to speech module)(TTS module)(229)를 포함할 수 있다.
일 실시 예의 자동 음성 인식 모듈(221)은 사용자 단말(160)로부터 수신된 음성 입력을 텍스트 데이터로 변환할 수 있다. 일 실시 예의 자연어 이해 모듈(223)은 음성 입력의 텍스트 데이터를 이용하여 사용자의 의도를 파악할 수 있다. 예를 들어, 자연어 이해 모듈(223)은 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자의 의도를 파악할 수 있다. 일 실시 예의 자연어 이해 모듈(223)은 형태소 또는 구의 언어적 특징(예: 문법적 요소)을 이용하여 음성 입력으로부터 추출된 단어의 의미를 파악하고, 상기 파악된 단어의 의미를 의도에 매칭시켜 사용자의 의도를 결정할 수 있다.
일 실시 예의 플래너 모듈(225)은 자연어 이해 모듈(223)에서 결정된 의도 및 파라미터를 이용하여 플랜을 생성할 수 있다. 일 실시 예에 따르면, 플래너 모듈(225)은 상기 결정된 의도에 기초하여 태스크를 수행하기 위해 필요한 복수의 도메인을 결정할 수 있다. 플래너 모듈(225)은 상기 의도에 기초하여 결정된 복수의 도메인 각각에 포함된 복수의 동작을 결정할 수 있다. 일 실시 예에 따르면, 플래너 모듈(225)은 상기 결정된 복수의 동작을 실행하는데 필요한 파라미터나, 상기 복수의 동작의 실행에 의해 출력되는 결과 값을 결정할 수 있다. 상기 파라미터, 및 상기 결과 값은 지정된 형식(또는, 클래스)의 컨셉으로 정의될 수 있다. 이에 따라, 플랜은 사용자의 의도에 의해 결정된 복수의 동작, 및 복수의 컨셉을 포함할 수 있다. 상기 플래너 모듈(225)은 상기 복수의 동작, 및 상기 복수의 컨셉 사이의 관계를 단계적(또는, 계층적)으로 결정할 수 있다. 예를 들어, 플래너 모듈(225)은 복수의 컨셉에 기초하여 사용자의 의도에 기초하여 결정된 복수의 동작의 실행 순서를 결정할 수 있다. 다시 말해, 플래너 모듈(225)은 복수의 동작의 실행에 필요한 파라미터, 및 복수의 동작의 실행에 의해 출력되는 결과에 기초하여, 복수의 동작의 실행 순서를 결정할 수 있다. 이에 따라, 플래너 모듈(225)는 복수의 동작, 및 복수의 컨셉 사이의 연관 정보(예: 온톨로지(ontology))가 포함된 플랜을 생성할 수 있다. 상기 플래너 모듈(225)은 컨셉과 동작의 관계들의 집합이 저장된 캡슐 데이터베이스(230)에 저장된 정보를 이용하여 플랜을 생성할 수 있다.
일 실시 예의 자연어 생성 모듈(227)은 지정된 정보를 텍스트 형태로 변경할 수 있다. 상기 텍스트 형태로 변경된 정보는 자연어 발화의 형태일 수 있다. 일 실시 예의 텍스트 음성 변환 모듈(229)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다.
일 실시 예에 따르면, 자연어 플랫폼(220)의 기능의 일부 기능 또는 전체 기능은 사용자 단말(160)에서도 구현가능 할 수 있다.
상기 캡슐 데이터베이스(230)는 복수의 도메인에 대응되는 복수의 컨셉과 동작들의 관계에 대한 정보를 저장할 수 있다. 일 실시예에 따른 캡슐은 플랜에 포함된 복수의 동작 오브젝트(action object 또는, 동작 정보) 및 컨셉 오브젝트(concept object 또는 컨셉 정보)를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 CAN(concept action network)의 형태로 복수의 캡슐을 저장할 수 있다. 일 실시 예에 따르면, 복수의 캡슐은 캡슐 데이터베이스(230)에 포함된 기능 저장소(function registry)에 저장될 수 있다.
상기 캡슐 데이터베이스(230)는 음성 입력에 대응되는 플랜을 결정할 때 필요한 전략 정보가 저장된 전략 레지스트리(strategy registry)를 포함할 수 있다. 상기 전략 정보는 음성 입력에 대응되는 복수의 플랜이 있는 경우, 하나의 플랜을 결정하기 위한 기준 정보를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 지정된 상황에서 사용자에게 후속 동작을 제안하기 위한 후속 동작의 정보가 저장된 후속 동작 레지스트리(follow up registry)를 포함할 수 있다. 상기 후속 동작은, 예를 들어, 후속 발화를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 사용자 단말(160)을 통해 출력되는 정보의 레이아웃(layout) 정보를 저장하는 레이아웃 레지스트리(layout registry)를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 캡슐 정보에 포함된 어휘(vocabulary) 정보가 저장된 어휘 레지스트리(vocabulary registry)를 포함할 수 있다. 일 실시 예에 따르면, 캡슐 데이터베이스(230)는 사용자와의 대화(dialog)(또는, 인터렉션(interaction)) 정보가 저장된 대화 레지스트리(dialog registry)를 포함할 수 있다. 상기 캡슐 데이터베이스(230)는 개발자 툴(developer tool)을 통해 저장된 오브젝트를 업데이트(update)할 수 있다. 상기 개발자 툴은, 예를 들어, 동작 오브젝트 또는 컨셉 오브젝트를 업데이트하기 위한 기능 에디터(function editor)를 포함할 수 있다. 상기 개발자 툴은 어휘를 업데이트하기 위한 어휘 에디터(vocabulary editor)를 포함할 수 있다. 상기 개발자 툴은 플랜을 결정하는 전략을 생성 및 등록 하는 전략 에디터(strategy editor)를 포함할 수 있다. 상기 개발자 툴은 사용자와의 대화를 생성하는 대화 에디터(dialog editor)를 포함할 수 있다. 상기 개발자 툴은 후속 목표를 활성화하고, 힌트를 제공하는 후속 발화를 편집할 수 있는 후속 동작 에디터(follow up editor)를 포함할 수 있다. 상기 후속 목표는 현재 설정된 목표, 사용자의 선호도 또는 환경 조건에 기초하여 결정될 수 있다. 일 실시 예에서는 캡슐 데이터베이스(230) 은 사용자 단말(160) 내에도 구현이 가능할 수 있다.
일 실시 예의 실행 엔진(240)은 상기 생성된 플랜을 이용하여 결과를 산출할 수 있다. 엔드 유저 인터페이스(250)는 산출된 결과를 사용자 단말(160)로 송신할 수 있다. 이에 따라, 사용자 단말(160)은 상기 결과를 수신하고, 상기 수신된 결과를 사용자에게 제공할 수 있다. 일 실시 예의 매니지먼트 플랫폼(260)은 지능형 서버(200)에서 이용되는 정보를 관리할 수 있다. 일 실시 예의 빅 데이터 플랫폼(270)은 사용자의 데이터를 수집할 수 있다. 일 실시 예의 분석 플랫폼(280)을 지능형 서버(200)의 QoS(quality of service)를 관리할 수 있다. 예를 들어, 분석 플랫폼(280)은 지능형 서버(200)의 구성 요소 및 처리 속도(또는, 효율성)를 관리할 수 있다.
일 실시 예의 서비스 서버(300)는 사용자 단말(160)에 지정된 서비스(예: 음식 주문 또는 호텔 예약)를 제공할 수 있다. 일 실시 예에 따르면, 서비스 서버(300)는 제3 자에 의해 운영되는 서버일 수 있다. 일 실시 예의 서비스 서버(300)는 수신된 음성 입력에 대응되는 플랜을 생성하기 위한 정보를 지능형 서버(200)에 제공할 수 있다. 상기 제공된 정보는 캡슐 데이터베이스(230)에 저장될 수 있다. 또한, 서비스 서버(300)는 플랜에 따른 결과 정보를 지능형 서버(200)에 제공할 수 있다. 상기 서비스 서버(300)는 CP 서비스들(예: CP 서비스(A)(301) 및 CP 서비스(B)(302))을 포함할 수 있다.
위에 기술된 통합 지능 시스템(10)에서, 상기 사용자 단말(160)은, 사용자 입력에 응답하여 사용자에게 다양한 인텔리전트 서비스를 제공할 수 있다. 상기 사용자 입력은, 예를 들어, 물리적 버튼을 통한 입력, 터치 입력 또는 음성 입력을 포함할 수 있다.
일 실시 예에서, 상기 사용자 단말(160)은 내부에 저장된 지능형 앱(또는, 음성 인식 앱)을 통해 음성 인식 서비스를 제공할 수 있다. 이 경우, 예를 들어, 사용자 단말(160)은 상기 마이크를 통해 수신된 사용자 발화(utterance) 또는 음성 입력(voice input)를 인식하고, 인식된 음성 입력에 대응되는 서비스를 사용자에게 제공할 수 있다.
일 실시 예에서, 사용자 단말(160)은 수신된 음성 입력에 기초하여, 단독으로 또는 상기 지능형 서버 및/또는 서비스 서버와 함께 지정된 동작을 수행할 수 있다. 예를 들어, 사용자 단말(160)은 수신된 음성 입력에 대응되는 앱을 실행시키고, 실행된 앱을 통해 지정된 동작을 수행할 수 있다.
일 실시 예에서, 사용자 단말(160)이 지능형 서버(200) 및/또는 서비스 서버와 함께 서비스를 제공하는 경우에는, 상기 사용자 단말은, 상기 마이크(165)를 이용하여 사용자 발화를 감지하고, 상기 감지된 사용자 발화에 대응되는 신호(또는, 음성 데이터)를 생성할 수 있다. 상기 사용자 단말은, 상기 음성 데이터를 통신 인터페이스(161)를 이용하여 지능형 서버(200)로 송신할 수 있다.
일 실시 예에 따른 지능형 서버(200)는 사용자 단말(160)로부터 수신된 음성 입력에 대한 응답으로써, 음성 입력에 대응되는 태스크(task)를 수행하기 위한 플랜, 또는 상기 플랜에 따라 동작을 수행한 결과를 생성할 수 있다. 상기 플랜은, 예를 들어, 사용자의 음성 입력에 대응되는 태스크(task)를 수행하기 위한 복수의 동작, 및 상기 복수의 동작과 관련된 복수의 컨셉을 포함할 수 있다. 상기 컨셉은 상기 복수의 동작의 실행에 입력되는 파라미터나, 복수의 동작의 실행에 의해 출력되는 결과 값을 정의한 것일 수 있다. 상기 플랜은 복수의 동작, 및 복수의 컨셉 사이의 연관 정보를 포함할 수 있다.
일 실시 예의 사용자 단말(160)은, 통신 인터페이스(161)를 이용하여 상기 응답을 수신할 수 있다. 사용자 단말(160)은 상기 스피커(164)를 이용하여 사용자 단말(160) 내부에서 생성된 음성 신호를 외부로 출력하거나, 디스플레이(163)를 이용하여 사용자 단말(160) 내부에서 생성된 이미지를 외부로 출력할 수 있다.
도 3은 다양한 실시예들에 따른, 컨셉과 동작의 관계 정보가 데이터베이스에 저장된 형태를 나타낸 도면이다.
도 3을 참조하면, 상기 지능형 서버(200)의 캡슐 데이터베이스(예: 캡슐 데이터베이스(230))는 CAN(concept action network)(400) 형태로 캡슐을 저장할 수 있다. 상기 캡슐 데이터베이스는 사용자의 음성 입력에 대응되는 태스크를 처리하기 위한 동작, 및 상기 동작을 위해 필요한 파라미터를 CAN(concept action network)(400) 형태로 저장될 수 있다.
상기 캡슐 데이터베이스는 복수의 도메인(예: 어플리케이션) 각각에 대응되는 복수의 캡슐(capsule(A)(401), capsule(B)(404))을 저장할 수 있다. 일 실시 예에 따르면, 하나의 캡슐(예:capsule(A)(401))은 하나의 도메인(예: 위치(geo), 어플리케이션)에 대응될 수 있다. 또한, 하나의 캡슐에는 캡슐과 관련된 도메인에 대한 기능을 수행하기 위한 적어도 하나의 서비스 제공자(예: CP 1(402), CP 2(403), CP 3(406), 또는 CP 4(405))가 대응될 수 있다. 일 실시 예에 따르면, 하나의 캡슐은 지정된 기능을 수행하기 위한 적어도 하나 이상의 동작(410) 및 적어도 하나 이상의 컨셉(420)을 포함할 수 있다.
상기, 자연어 플랫폼(220)은 캡슐 데이터베이스에 저장된 캡슐을 이용하여 수신된 음성 입력에 대응하는 태스크를 수행하기 위한 플랜을 생성할 수 있다. 예를 들어, 자연어 플랫폼의 플래너 모듈(225)은 캡슐 데이터베이스에 저장된 캡슐을 이용하여 플랜을 생성할 수 있다. 예를 들어, 캡슐 A (410)의 동작들(4011,4013) 과 컨셉들(4012,4014) 및 캡슐 B(404)의 동작(4041)과 컨셉(4042)을 이용하여 플랜(407)을 생성할 수 있다.
도 4는 다양한 실시예들에 따른, 사용자 단말이 지능형 앱을 통해 수신된 음성 입력을 처리하는 화면을 나타낸 도면이다.
도 4를 참조하면, 사용자 단말(160)은 지능형 서버(200)를 통해 사용자 입력을 처리하기 위해 지능형 앱을 실행할 수 있다.
일 실시 예에 따르면, 310 화면에서, 사용자 단말(160)은 지정된 음성 입력(예: 웨이크 업!)를 인식하거나 하드웨어 키(예: 전용 하드웨어 키)를 통한 입력을 수신하면, 음성 입력을 처리하기 위한 지능형 앱을 실행할 수 있다. 사용자 단말(160)은, 예를 들어, 스케줄 앱을 실행한 상태에서 지능형 앱을 실행할 수 있다. 일 실시 예에 따르면, 사용자 단말(160)은 지능형 앱에 대응되는 오브젝트(예: 아이콘)(311)를 디스플레이(163)에 표시할 수 있다. 일 실시 예에 따르면, 사용자 단말(160)은 사용자 발화에 의한 음성 입력을 수신할 수 있다. 예를 들어, 사용자 단말(160)은 "이번주 일정 알려줘!"라는 음성 입력을 수신할 수 있다. 일 실시 예에 따르면, 사용자 단말(160)은 수신된 음성 입력의 텍스트 데이터가 표시된 지능형 앱의 UI(user interface)(313)(예: 입력창)를 디스플레이에 표시할 수 있다.
일 실시 예에 따르면, 320 화면에서, 사용자 단말(160)은 수신된 음성 입력에 대응되는 결과를 디스플레이에 표시할 수 있다. 예를 들어, 사용자 단말(160)은 수신된 사용자 입력에 대응되는 플랜을 수신하고, 플랜에 따라 '이번주 일정'을 디스플레이에 표시할 수 있다.
이하에서는 (932)도 5a 내지 도 5b를 참조하여, IOT 시스템에 포함된 장치들의 일 예에 대해서 설명한다. 이하의 IOT 시스템에 대해서는, 도 1에서 기술된 IOT 시스템, 그리고 도 2 내지 도 3에서 기술된 통합 지능 시스템에 대한 설명이 준용될 수 있으므로, 중복되는 설명은 생략한다.
도 5a는 다양한 실시예들에 따른 IOT 시스템에 포함된 장치들의 예를 나타내는 도면이다. 다양한 실시예들에 따르면, 도 5에 도시된 장치들에 국한되지 않고, IOT 시스템은 더 많은 장치들을 포함하거나 더 적은 장치들을 포함하도록 구현될 수도 있다.
도 5b는 다양한 실시예들에 따른 IOT 시스템이 구현되는 환경을 설명하기 위한 도면이다.
다양한 실시예들에 따르면 IOT 시스템은 특정 환경(500)에 구현되며, 복수의 전자 장치들(510), 및 지능형 서버(530)를 포함할 수 있다. 상기 IOT 시스템은 도 5a에 도시된 바와 같이 가택에 구현되거나, 또는 도시된 바에 국한되지 않고 다양한 환경(예: 사무실, 공장, 빌딩, 교통 수단의 내부, 야외 환경)에 구현될 수 있다.
이하에서는 먼저 복수의 전자 장치들(510)에 대해서 설명한다.
다양한 실시예들에 따르면, 복수의 전자 장치들(510)은 IOT 시스템이 구현되는 환경(500) 내에 구비 가능한 다양한 종류의 전자 장치를 포함할 수 있다. 예를 들어, 복수의 전자 장치들(510)은 고정된 위치에 구비되는 종류의 전자 장치(예: 도 5a에 도시된 냉장고(501), 에어컨(502), 스피커(503), TV(504))뿐만 아니라, 위치가 상시로 변경되는 종류의 전자 장치(M(movable), 예: 도 5a에 도시된 스마트 폰(505), 웨어러블 장치(506))를 포함할 수 있다. 기재된 바에 국한되지 않고, 상기 복수의 전자 장치들(510)은 IOT 시스템이 구현되는 환경(500) 내에 구비 가능한 다양한 종류의 장치(예: 로봇 청소기, 스마트 윈도우, 스마트 조명, 각종 제품)를 더 포함할 수 있다.
다양한 실시예들에 따르면, 복수의 전자 장치들(510) 각각은 서로 통신 연결을 설정할 수 있다. 예를 들어, 복수의 전자 장치들(510)은 도 5a에 도시된 바와 같이 액세스 포인트(AP)(540) 또는 중계기를 이용하는 무선 통신 스킴(예: Wi-Fi)을 이용하여 통신 연결(511, 512, 513, 514, 515, 516)을 설정할 수 있다. 기재된 바에 국한되지 않고, 복수의 전자 장치들(510) 각각은 서로 다이렉트로 연결하기 위한 무선 통신 스킴(예: Bluetooth)을 이용하여 통신 연결을 설정할 수도 있다. 서로 통신 연결을 설정한 복수의 전자 장치들(510)은 적어도 하나의 통신 네트워크를 형성할 수 있다. 이때, 상기 형성된 통신 네트워크로부터 복수의 전자 장치들(510) 중 일부가 이탈되거나, 또는 다른 전자 장치가 상기 형성된 통신 네트워크로 참가할 수 있다. 예를 들어, 상기 복수의 전자 장치들(510) 중 일부가 이동되어 다른 나머지 전자 장치와 통신 연결의 형성이 불가능한 위치(또는, 상기 IOT 시스템이 구현되는 환경(500) 바깥의 위치)에 위치되는 경우, 상기 복수의 전자 장치들(510) 중 일부의 통신 연결이 해제되고 상기 복수의 전자 장치들(510)은 상기 통신 네트워크로부터 이탈될 수 있다. 또, 다른 외부 전자 장치가 상기 복수의 전자 장치들(510)과 통신 연결을 형성 가능한 위치(또는, 상기 IOT 시스템이 구현되는 환경 내의 위치)에 위치(또는, 구비)되는 경우, 상기 다른 외부 전자 장치는 상기 복수의 전자 장치들(510)과 통신 연결을 설정하고 상기 통신 네트워크에 참가할 수 있다. 상기 복수의 전자 장치들(510) 각각은 상기 통신 연결을 기반으로, 일 통신 네트워크에 포함된 다른 전자 장치로 정보(예: 사용자 발화와 연관된 정보, 전자 장치의 상태에 대한 정보)를 전송할 수 있는데 이에 대해서는 후술한다.
다양한 실시예들에 따르면 상기 복수의 전자 장치들(510) 중 적어도 일부는 다양한 인텔리전트 서비스(예: 음성 인식 서비스)를 제공할 수 있다. 예를 들어, 복수의 전자 장치들(510) 중 적어도 일부는 인텔리전트 서비스를 제공하기 위한 프로그램(예: 이후 후술될 지능형 서비스 제공 모듈(613))을 포함할 수 있다. 상기 복수의 전자 장치들(510) 중 적어도 일부는 상기 프로그램의 실행 및/또는 구동에 기반하여 사용자 발화를 수신하고, 상기 수신된 사용자 발화를 처리하여 상기 처리 결과에 따라서 상기 사용자 발화에 대응하는 음성 인식 서비스를 제공할 수 있다. 예를 들어, 상기 복수의 전자 장치들(510) 중 적어도 일부는 상기 음성 인식 서비스를 실행(또는, 지능형 음성 서비스를 제공하기 위한 프로그램을 실행)하기 위한 특정 단어(또는 시동어)를 포함하는 제 1 사용자 발화를 수신하는 경우 웨이크-업될 장치를 식별하는 동작을 수행할 수 있다. 상기 전자 장치가 “웨이크-업”된다는 의미는, 상기 전자 장치의 상태가 제어를 위한 사용자의 발화를 획득하고 처리 가능한 상태(다시 말해 음성 인식 및 음성 인식에 기반한 서비스를 제공 가능한 상태, 또는 제어를 위한 사용자 발화를 인식하고 처리하기 위한 리스닝 상태(listening state))로 전환됨을 의미할 수 있다. 또 예를 들어, 상기 복수의 전자 장치들(510) 중 웨이크-업된 전자 장치는 제어를 위한 제 2 사용자 발화를 수신하고 상기 제 2 사용자 발화를 후술될 지능형 서버(530)로 전송할 수 있다. 상기 복수의 전자 장치들(510) 중 일부는 상기 지능형 서버(530)에서 상기 제 2 사용자 발화를 처리한 결과에 대한 정보를 수신하고, 수신된 정보를 기반으로 제 2 사용자 발화에 대응하는 서비스를 제공(예: 전자 장치의 특정 기능을 수행)할 수 있다. 상기 복수의 전자 장치들(510) 중 적어도 일부의 음성 인식 서비스 제공 동작은, 도 2 내지 도 4에서 기술된 바와 같이 수행될 수 있으므로 중복되는 설명은 생략한다. 이 때, 상기 IOT 시스템에 구비되는 상기 복수의 전자 장치들(510) 중 다른 적어도 나머지 일부는 상기 인텔리전트 서비스를 제공하지 못할 수도 있다. 예를 들어, 상기 복수의 전자 장치들(510) 중 다른 적어도 나머지 일부에는 상기 인텔리전트 서비스를 제공하기 위한 프로그램이 설치되지 않을 수 있다.
다양한 실시예들에 따르면 IOT 시스템 내에서 복수의 전자 장치들(510)의 각각의 역할이 설정될 수 있다. 예를 들어, 복수의 전자 장치들(510) 중 적어도 하나의 장치(예: 503)가 “주 장치”(520)(또는, 마스터 장치)로 설정되고, 다른 나머지 장치들은 “서브 장치”(또는, 슬레이브 장치)들로 설정될 수 있다. 상기 주 장치(520)로 설정된 전자 장치(예: 503)는, 다른 나머지 서브 장치들(예: 501, 502, 504, 505, 506)로부터 정보(예: 사용자 발화와 연관된 정보)를 수신하고 수신된 정보를 기반으로 복수의 전자 장치들(510)의 인텔리전트 서비스 제공 동작을 전반적으로 제어할 수 있다. 예를 들어, 상기 주 장치(520)는, 사용자 발화의 발생(예: IOT 시스템이 구현된 환경 내에서 사용자가 발화) 시, 서브 장치들 중 적어도 일부로부터 사용자 발화와 연관된 정보(예: 사용자 발화의 세기에 대한 정보)를 수신하고, 수신된 정보를 기반으로 서브 장치들 중에서 웨이크-업 될 장치를 식별할 수 있다. 또 예를 들어, 상기 주 장치(520)는 상기 서브 장치들 중 웨이크-업 될 장치를 식별하는 동작의 수행 중에 획득되는 정보(예: 후술될 수신 시점 정보, 웨이크-업될 장치로 재식별된 장치에 대한 정보, 장치별 상태 정보, SNR 정보, 우선 순위 정보)를 축적하고, 축적된 정보를 기반으로 상기 웨이크-업 될 장치를 식별하는 동작의 수행 시 이용되는 값들(예: 후술될 시구간, 우선 순위)을 변경할 수 있다. 상기 축적되는 정보의 각각에 대해서는 후술한다. 상기 주 장치(520)는 상기 축적된 정보 중 일부를 지능형 서버(530)로 전달하여, 지능형 서버(530)에 축적되도록 할 수도 있다.
다양한 실시예들에 따르면 상기 “주 장치”와 상기 “서브 장치”의 설정은 자동으로, 또는 수동으로 수행될 수 있다. 예를 들어, 복수의 전자 장치들(510)의 등록 시, 지능형 서버(53003)는 상기 복수의 전자 장치들에 대한 정보(예: 처리 능력에 대한 정보, 웨이크-업될 장치로 식별될 우선 순위에 대한 정보)에 기반하여 자동으로 주 장치(520)를 설정할 수 있다. 일 예로, 지능형 서버(53003)는 처리 능력이 가장 높은 장치를 주 장치(520)로 설정할 수 있다. 다른 예로, 지능형 서버(53003)는 웨이크-업될 장치로 식별될 우선 순위가 가장 낮은(또는, 가장 높은) 장치를 주 장치(520)로 설정할 수도 있다. 또 예를 들어, 사용자가 복수의 전자 장치들(510)의 등록 시, 복수의 전자 장치들(510) 중 일 장치를 주 장치(520)로 설정할 수도 있다. 상기 복수의 전자 장치들(510) 중 주 장치(520)가 설정되는 경우, 자동으로 복수의 전자 장치들 중 나머지 장치들은 서브 장치로 설정될 수 있다. 지능형 서버(530)는 상기 복수의 전자 장치들(510) 별로 설정된 역할(주 장치, 및 서브 장치)에 대한 정보를 저장하고, 저장된 정보를 주 장치(520)로 전송할 수 있다.
웨이크업 발화를 수신한 전자 장치의 수가 복수 개인 경우, 지능형 서버(530)가 복수의 전자 장치들(510)이 전송한 음성 정보를 모두 처리해야 하는 상황이 발생될 수 있다. 복수의 전자 장치들(510)이 전송한 음성 정보를 모두 처리하는 경우, 지능형 서버(530)의 부하가 증가할 수 있고, 지능형 서버(530)가 음성 정보를 처리하는데 소요되는 시간이 증가할 수 있다. 상술한 바와 같이 상기 “주 장치”(520)로 설정된 전자 장치가 음성 인식 서비스를 제공할 장치(예: 웨이크-업될 장치)를 식별함으로써, 지능형 서버(530)의 부하를 감소시킬 수 있다. 그 외에, 웨이크-업되지 않은 장치들은 음성 인식 서비스를 제공하지 않을 수 있다(예: 리스닝 상태로 전환하지 않음).
이하에서는 지능형 서버(530)에 대해서 설명한다.
다양한 실시예들에 따르면 지능형 서버(530)는 복수의 전자 장치들(510)로부터 사용자 발화에 대한 정보를 수신하고, 수신된 사용자 발화를 처리하여 서비스를 제공하기 위한 정보를 생성할 수 있다. 예를 들어, 지능형 서버(530)는 텍스트 변환 알고리즘(예: ASR(auto speech recognition) 알고리즘)을 기반으로 사용자 발화를 텍스트로 변환하고, 자연어 이해 알고리즘(예: NLU(natural language understanding) 알고리즘)을 기반으로 변환된 텍스트에 대한 의미를 분석할 수 있다. 지능형 서버(530)는 분석된 의미에 대응하는 서비스를 제공하기 위한 정보(예: 복수의 동작을 수행하기 위한 플랜)를 식별하고, 식별된 정보를 복수의 전자 장치들(510)로 전송할 수 있다. 예를 들어, 상술한 바와 같이 상기 플랜은, 사용자의 음성 입력에 대응되는 태스크(task)를 수행하기 위한 복수의 동작, 및 상기 복수의 동작과 관련된 복수의 컨셉을 포함할 수 있다. 이에 따라, 상기 복수의 전자 장치들(510)은 상기 식별된 정보에 기반하여, 적어도 하나의 기능을 순차적으로 제공할 수 있다. 상기 지능형 서버(530)는 도 2 내지 도 4에서 상술한 지능형 서버(200)에 대한 설명이 준용될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면, 지능형 서버(530)는 복수의 전자 장치들(510)을 등록할 수 있다. 예를 들어, 지능형 서버(530)는 각각의 전자 장치가 통신 연결을 설정하는 경우, 자동으로 각각의 전자 장치로부터 전자 장치를 식별하기 위한 식별 정보(예: IMEI(international mobile equipment identity), MAC 어드레스(media access control address), IP 어드레스(internet protocol address))를 수신하고, 수신된 식별 정보를 기반으로 각각의 전자 장치를 등록할 수 있다. 또는, 지능형 서버(530)는 사용자(예: IOT 시스템을 이용하는 사용자)가 이용하는 사용자 단말(예: 스마트 폰)로부터 복수의 전자 장치들(510)에 대한 식별 정보를 수신하고, 수신된 식별 정보를 기반으로 상기 전자 장치들을 등록할 수도 있다.
이때, 지능형 서버(530)는 복수의 전자 장치들(510)을 위치 별로 분류하여 등록 및/또는 관리할 수 있다. 예를 들어, 복수의 전자 장치들(510)은 도 5b에 도시된 바와 같이 IOT 시스템이 구현되는 환경(예: 가내)의 위치 별(예: 방들(551, 554, 555) 주방(552), 거실(553))로 구비될 수 있다. 상기 지능형 서버(530)는 복수의 전자 장치들(510)의 등록 시, 복수의 전자 장치들(510)로 복수의 전자 장치들(510)이 구비되는 위치에 대한 정보를 요청하고, 요청에 기반하여 위치에 대한 정보를 수신할 수 있다. 예를 들어, 상기 복수의 전자 장치들(510)은 사용자에 의해 상기 복수의 전자 장치들(510)의 위치에 대한 정보를 입력 받아 저장하고, 지능형 서버(530)는 상기 복수의 전자 장치들(510) 각각으로 위치에 대한 정보를 요청하여 위치에 대한 정보를 수신할 수 있다. 또 예를 들어, 상기 복수의 전자 장치들(510)은 사용자가 이용하는 사용자 단말로 복수의 전자 장치들(510)의 위치에 대한 정보를 요청하고, 상기 사용자 단말 상에 사용자에 의해 입력되는 복수의 전자 장치들(510)의 위치에 대한 정보를 상기 사용자 단말로부터 수신할 수도 있다. 이에 따라, 지능형 서버(530)는 상기 복수의 전자 장치들(510)의 위치 별(예: 안방, 거실)로 상기 복수의 전자 장치들(510)을 분류 또는 그룹화하여, 상기 복수의 전자 장치들(510)에 대한 정보를 위치 별로 등록(enroll) 및/또는 관리할 수 있다.
다양한 실시예들에 따르면 지능형 서버(530)는 등록된 복수의 전자 장치들(510)에 대한 정보를 주 장치(520)로 전달하여, 주 장치(520)가 등록된 서브 장치들을 식별하도록 할 수 있다. 또는, 기재된 바에 국한되지 않고, 주 장치(520)는 지능형 서버(530)로부터 복수의 전자 장치들(510)에 대한 정보를 수신하지 않고, 다른 서브 장치들로부터 직접 서브 장치들에 대한 식별 정보를 수신하고 저장할 수도 있다.
이하에서는 IOT 시스템에 포함되는 전자 장치(510)에 포함되는 구성들의 일 예에 대해서 설명한다. 한편, 도 6에서 기술되는 전자 장치(510)에 포함되는 구성들 외에, 도 25에서 기술되는 전자 장치(101)의 구성들도 더 포함될 수 있다.
도 6은 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치의 구성의 일 예를 나타내는 도면이다. 다양한 실시예들에 따르면, 도 6에 도시된 장치들에 국한되지 않고, 전자 장치은 더 많은 구성들을 포함하거나 더 적은 구성들을 포함하도록 구현될 수도 있다. 이하에서는 도 7을 참조하여 도 6에 대해서 더 설명한다. 예를 들어, 상기 전자 장치(510)는 구현 목적에 따라서, 적어도 하나의 구성(예: 마이크(601), 웨이크-업 장치 식별 모듈(611))을 포함하지 않도록 구현될 수 있다. 일 예로, 전자 장치(510)는 웨이크-업 장치 식별 모듈(611)을 포함하지 않도록 구현될 수 있다.
도 7은 다양한 실시예들에 따른 “주 장치”로 설정된 전자 장치의 웨이크-업 동작에서 이용되는 값들을 설정하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면, 전자 장치(510)는 마이크(601), 스피커(603), 통신 회로(605), 웨이크-업 장치 식별 모듈(611)과 지능형 서비스 제공 모듈(613)을 포함하는 프로세서(610), 및 메모리(620)를 포함할 수 있다.
다양한 실시예들에 따르면 전자 장치(510)는 상기 마이크(601)를 이용하여 사용자 발화를 수신할 수 있다.
다양한 실시예들에 따르면 전자 장치(510)는 상기 스피커(603)를 이용하여 사운드를 출력할 수 있다. 예를 들어, 전자 장치(510)는 웨이크-업되는 경우 상기 웨이크-업을 알리기 위한 사운드를 상기 스피커(603)를 통해서 출력할 수 있다. 또 예를 들어, 전자 장치(510)는 지능형 서버(530)로부터 사용자 발화의 처리 결과에 따라서 사운드 정보를 수신하는 경우, 수신된 사운드 정보에 기반하여 사운드를 상기 스피커(603)를 통해서 출력할 수 있다.
다양한 실시예들에 따르면 복수의 전자 장치(510)들은 통신 회로(605)를 이용하여 IOT 시스템에 포함된 다른 전자 장치(510)들과 통신 연결을 설정하고, 정보(예: 사용자 발화와 연관된 정보)를 송신 및/또는 수신할 수 있다. 상기 사용자 발화와 연관된 정보는 사용자 발화의 세기를 나타내는 정보를 포함할 수 있다. 예를 들어, 상기 사용자 발화의 세기를 나타내는 정보는 사용자 발화의 신호 대 잡음비(SNR, signal to noise ratio)에 대한 정보, 또는 사용자 발화의 품질에 대한 정보를 포함할 수 있다. 사용자 발화의 품질은 사용자 발화의 명료한 정도를 나타낼 수 있다.
이하에서는 복수의 전자 장치(510)들 각각에 포함되는 프로세서(610)에 대해서 설명한다. 다양한 실시예들에 따르면 복수의 전자 장치(510)들의 프로세서(610)에 포함되는 모듈들(예: 웨이크-업 장치 식별 모듈(611) 및 지능형 서비스 제공 모듈(613))은 상기 전자 장치(510)의 프로세서(610)에 의해 실행 가능한 어플리케이션, 프로그램, 컴퓨터 코드 내지는 인스트럭션들(instructions), 루틴, 내지는 프로세스의 형태로 전자 장치(510)에 저장(예: 메모리(620))에 저장될 수 있다. 상기 모듈들이 상기 프로세서(610)에 의해 실행되는 경우, 상기 모듈들은 상기 프로세서(610)가 상기 모듈과 연관된 동작을 수행하도록 야기할 수 있다. 이하에서는 프로세서(610)에 포함된 각각의 구성에 대해서 설명한다.
이하에서 설명되는 웨이크-업 장치 식별 모듈(611)과 지능형 서비스 제공 모듈(613)은 상술한 클라이언트 모듈(171)의 적어도 일부로 구현될 수 있다.
다양한 실시예들에 따르면 웨이크-업 장치 식별 모듈(611)은 IOT 시스템에 포함되는 서브 장치들 중 웨이크-업될 장치를 식별할 수 있다. 예를 들어, 웨이크-업 장치 식별 모듈(611)은 외부 전자 장치(510)들로부터 수신되는 정보(예: 사용자 발화와 연관된 정보) 및 웨이크-업될 장치를 식별하는 동작에서 이용되는 값들(710)을 기반으로, 외부 전자 장치(510)들 중 웨이크-업될 장치를 식별할 수 있다. 상기 웨이크-업될 장치를 식별하는 동작에서 이용되는 값들(710)은 도 7에 도시된 바와 같이 메모리(620)에 기저장되며, 시간에 대한 정보(711)와 복수의 전자 장치들의 우선 순위에 대한 정보(712)를 포함할 수 있다. 상기 시간에 대한 정보(711)는 일 세션(session), 일 세션에 포함되는 웨이크-업될 장치를 식별하기 위한 제 1 시구간(time-out), 또는 제 1 시구간(time-out) 이외의 나머지 제 2 시구간(guard time) 중 적어도 하나에 대한 정보를 포함할 수 있다. 상기 우선 순위에 대한 정보(712)는 복수의 외부 전자 장치들 별로 웨이크-업될 장치로 식별될 선호도를 나타내며, 상기 우선 순위가 상대적으로 높을수록 웨이크-업될 장치로 식별될 가능성이 높을 수 있다. 상기 웨이크-업 장치 식별 모듈의 외부 전자 장치(510)들로부터 수신되는 정보(예: 사용자 발화와 연관된 정보) 및 웨이크-업될 장치를 식별하는 동작에서 이용되는 값들(710)을 기반으로, 외부 전자 장치(510)들 중 웨이크-업될 장치를 식별하는 동작의 구체적인 예들에 대해서는 후술한다.
다양한 실시예들에 따르면 웨이크-업 장치 식별 모듈(611)은 축적된 정보(720)를 기반으로 웨이크-업될 장치를 식별하기 위한 값들(710)(예: 시구간에 대한 정보(7101), 우선 순위에 대한 정보(712))을 설정 및/또는 변경할 수 있다. 도 7을 참조하면, 상기 축적된 정보(720)는 웨이크-업 장치를 식별하는 동작들의 수행 중에 획득되는 외부 전자 장치들로부터 수신되는 정보의 수신 시점에 대한 정보(미도시), 기기별 상태 정보(예: 전원 상태, 배터리 상태, 온도 상태, 앱 실행 상태), SNR 정보, 우선 순위에 대한 정보, 최초 선정 정보(예: 웨이크-업될 장치를 식별하는 동작에서 최초에 웨이크-업될 장치로 식별된 장치), 및 최종 선정 정보(예: 웨이크-업될 장치를 식별하는 동작에서 최종적으로 웨이크-업될 장치로 식별된 장치)를 포함할 수 있다. 웨이크-업 장치 식별 모듈(611)은 상기 축적된 정보(720)를 기반으로 시구간에 대한 정보(710), 우선 순위에 대한 정보(712)를 설정할 수 있는데 이에 대해서는 후술한다.
일 예를 들어, 상기 축적된 정보(720)는 아래의 [표 1]과 같을 수 있다.
Wake-up operation
number
TV 핸드폰 에어컨 최초
선정
장치
최종
선정
장치
power vol SNR priority app_state SNR priority 현재
온도
설정
온도
SNR priority
#1 on 10 -10db 0.3 Youtube -98db 0.8 20 20 -48db 0.4 Speaker Speaker
#2 off N/A -98db 0.3 sleep -10db 0.8 30 18 -105db 0.4 에어컨 에어컨
다양한 실시예들에 따르면 지능형 서비스 제공 모듈(613)은 음성 인식 서비스를 제공하도록 구현될 수 있다. 상기 지능형 서비스 제공 모듈(613)은 프로그램, 또는 어플리케이션의 형태로 구현되어 실행되는 경우, 음성 인식 서비스를 제공하는 동작을 수행할 수 있다. 상기 음성 인식 서비스에 대해서는 상술한 바와 같으므로, 중복되는 설명은 생략한다.이하에서는 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치들의 동작의 일 예에 대해서 설명한다.
다양한 실시예들에 따르면 IOT 시스템에 포함된 전자 장치들 중 주 장치(520)(도 8에 도시됨)는 다른 서브 장치(521)들로부터 사용자 발화에 대한 정보를 수신하고, 수신된 정보에 기반하여 웨이크-업 될 장치를 식별하여, 식별된 장치를 웨이크-업하기 위한 메시지(또는, 신호)를 상기 식별된 장치로 전송할 수 있다. 웨이크-업 된 장치는 사용자로부터 제어를 위한 사용자 발화를 수신하고, 수신된 사용자 발화를 지능형 서버(530)로 전송함에 기반하여 인텔리전트 서비스를 제공할 수 있다. 이하에서 기술되는 전자 장치(901)는 “주 장치(520)”이며, 외부 전자 장치들(예: 제 1 외부 전자 장치(902), 제 2 외부 전자 장치(903), 제 3 외부 전자 장치(904))은 “서브 장치(521)”인 것으로 예를 들어 설명한다.
도 8은 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치들의 동작의 일 예를 설명하기 위한 흐름도이다. 다양한 실시예들에 따르면, 도 8에 도시되는 동작들은 도시되는 순서에 국한되지 않고 다양한 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면 도 8에 도시되는 동작들 보다 더 많은 동작들이 수행되거나, 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는, 도 9a 내지 도 9b를 참조하여 도 8에 대해서 설명한다.
도 9a는 다양한 실시예들에 따른 주 장치가 서브 장치들로부터 사용자 발화에 대한 정보를 수신하는 동작의 일 예를 설명하기 위한 도면이다. 도 9b는 다양한 실시예들에 따른 서브 장치가 음성 서비스를 제공하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면 전자 장치(901)(예: 주 장치(520))는 801 동작에서 다른 외부 전자 장치들(예: 서브 장치(521), 제 1 내지 제 3 외부 전자 장치(902, 903, 904))과 통신 연결을 설정할 수 있다. 예를 들어 도 9a를 참조하면, 일 환경(500) 내(예: 가내)에는 복수의 전자 장치들(901, 902, 903. 904)이 구비될 수 있다. 복수의 전자 장치들(901, 902, 903. 904) 중 일 전자 장치(예: 901)는 "주 장치(520)"로 설정되고 다른 나머지 전자 장치들(예: 902, 903, 904)은 "서브 장치(521)"들로 설정될 수 있다. 상기 복수의 전자 장치들(901, 902, 903. 904) 중 일 전자 장치를 "주 장치(520)"로 설정하는 동작과 나머지 전자 장치들을 "서브 장치(521)"로 설정하는 동작은 자동으로, 또는 수동으로 수행될 수 있으며, 도 5b에 대한 설명에서 기술된 바와 같으므로 중복되는 설명은 생략한다. "주 장치(520)"는 다른 나머지 "서브 장치(521)"들과 통신 연결을 설정할 수 있다.
다양한 실시예들에 따르면 외부 전자 장치들(예: 제 1 외부 전자 장치(902), 제 2 외부 전자 장치(903), 및 제 3 외부 전자 장치(904))은 802 동작, 803 동작, 및 804 동작 각각에서 사용자 발화와 연관된 정보(예: 제 1 정보, 제 2 정보, 및 제 3 정보)를 획득할 수 있다. 예를 들어 도 9a를 참조하면, 사용자는 복수의 전자 장치들(예: 전자 장치(901), 제 1 외부 전자 장치(902), 제 2 외부 전자 장치(903), 제 3 외부 전자 장치(904))이 구비되는 환경(500) 내에서 특정 단어(예: 시동어)를 발화할 수 있다. 복수의 외부 전자 장치들(902, 903, 904)은 마이크를 이용하여, 상기 특정 단어(예: 시동어)를 포함하는 사용자 발화를 수신할 수 있다. 상기 복수의 외부 전자 장치들은 획득된 사용자 발화를 텍스트로 변환하여, 특정 단어(예: 시동어)를 인식하고 음성 서비스를 제공하기 위한 프로그램(예: 상술한 지능형 서비스 제공 모듈(613))를 실행 및/또는 구동할 수 있다. 또는, 기재된 바에 국한되지 않고 복수의 외부 전자 장치들(902, 903, 904)은 상기 음성 서비스를 제공하기 위한 프로그램을 계속 실행하는 중에 상기 사용자 발화를 수신할 수도 있다. 복수의 외부 전자 장치들(902, 903, 904)은, 상기 특정 단어를 포함하는 사용자 발화를 획득한 것에 기반하여, 획득된 사용자 발화와 연관된 정보를 생성할 수 있다. 상기 사용자 발화와 연관된 정보는 사용자 발화의 세기를 나타내는 정보를 포함할 수 있다. 예를 들어, 상기 사용자 발화의 세기를 나타내는 정보는 사용자 발화의 신호 대 잡음비(SNR, signal to noise ratio)에 대한 정보, 및/또는 사용자 발화의 품질에 대한 정보를 포함할 수 있으나, 그 종류에는 제한이 없다. 사용자 발화의 품질은 사용자 발화의 명료한 정도를 나타낼 수 있다.
다양한 실시예들에 따르면, 전자 장치는 805 동작, 806 동작, 및 807 동작 각각에서 복수의 외부 전자 장치들(예: 제 1 외부 전자 장치(902), 제 2 외부 전자 장치(903), 및 제 3 외부 전자 장치(904))의 각각으로부터 사용자 발화와 연관된 정보(예: 제 1 정보, 제 2 정보, 및 제 3 정보)를 수신할 수 있다. 예를 들어, 상기 전자 장치(901)는 복수의 외부 전자 장치들(902, 903, 904) 중 일 외부 전자 장치로부터 사용자 발화와 연관된 정보를 수신(예: 제 1 외부 전자 장치(902)로부터 사용자 발화와 연관된 정보를 최초로 수신)함에 기반하여 프로그램을 실행할 수 있다. 또 예를 들어, 예를 들어, 전자 장치(901) 또한 마이크를 이용하여 상기 사용자 발화를 수신함에 기반하여, 상기 사용자 발화에 포함된 특정 단어를 인식하고 음성 서비스를 제공하기 위한 프로그램을 실행할 수 있다. 상기 프로그램의 실행에 기반하여, 상기 전자 장치(901)의 상태는 다른 외부 전자 장치들(902, 903, 904)로부터 수신되는 사용자 발화와 연관된 정보를 처리하기 위한 상태로 설정 및/또는 전환될 수 있다. 예를 들어, 전자 장치(901)는 전자 장치(901)의 상기 사용자 발화와 연관된 정보를 처리하기 위한 세션(session)을 설정 및/또는 개시할 수 있다. 즉, 전자 장치(901)는 외부 전자 장치(제 1 외부 전자 장치(902))로부터 사용자 발화와 연관된 정보를 최초로 수신한 시점 또는 마이크를 이용하여 사용자 발화를 수신한 시점부터 세션(session)을 설정 및/또는 개시할 수 있다. 상기 일 세션은 일 사용자 발화를 처리하기 위한 시간을 의미하며, 상기 일 세션 이후에 수신된 정보는 상기 일 사용자 발화가 아닌 다른 사용자 발화와 연관된 정보로 식별될 수 있다. 전자 장치(901)는 일 세션 동안 사용자 발화에 대한 정보들(예: 제 1 정보, 제 2 정보, 및 제 3 정보)을 수신하고, 사용자 발화에 대한 정보들(예: 제 1 정보, 제 2 정보, 및 제 3 정보)에 대응하는 외부 전자 장치들(902, 903, 904) 중에서 웨이크-업될 장치를 식별하는 동작을 개시할 수 있다. 예를 들어, 상기 전자 장치(901)는 상기 일 세션 동안 수신된 정보들에 대응하는 외부 전자 장치들(902, 903, 904)을 일 사용자 발화에 대한 그룹으로 분류 및/또는 관리하고, 상기 그룹으로 분류된 외부 전자 장치들 중에서 상기 사용자 발화에 의해 웨이크-업될 장치를 식별할 수 있다. 다시 말해, 전자 장치는 일 세션 이후에 정보들을 수신하는 경우, 상기 일 세션 이후에 수신된 정보들을 제외하고 상기 일 세션 동안 수신된 정보들만을 기반으로 웨이크-업될 장치를 식별할 수 있다. 전자 장치는 일 세션 이후에 수신된 정보들(예: 다른 세션 동안 수신된 정보들)을 기반으로 다른 세션에서 웨이크-업될 장치를 식별할 수도 있다. 상기 세션은 time-out과 guard time을 포함하며, 상기 time-out과 상기 guard time은 전자 장치(901)에서 이전에 수행된 웨이크-업될 장치를 식별하는 동작의 수행 중에 획득된 및/또는 축적된 정보를 기반으로 변경될 수 있는데, 이에 대해서는 도 13 내지 도 15에서 후술한다. 한편, 전자 장치(901)는 상기 사용자 발화와 연관된 정보들뿐만 아니라, 외부 전자 장치들(902, 903, 904)로부터 외부 전자 장치들(902, 903, 904)과 연관된 정보들(예: 외부 전자 장치의 식별 정보, 외부 전자 장치의 상태 정보)을 수신하고 이를 기반으로 웨이크-업될 장치를 식별할 수 있는데, 이에 대해서는 도 21 내지 도 23에서 후술한다.
다양한 실시예들에 따르면 다양한 실시예들에 따르면, 전자 장치(901)는 808 동작에서 사용자 발화와 연관된 복수의 정보들(예: 제 1 정보, 제 2 정보, 및 제 3 정보)을 기반으로 웨이크-업 될 장치를 식별할 수 있다. 예를 들어, 전자 장치(901)는 도 9a의 910에 도시된 바와 같이 사용자 발화에 대한 복수의 외부 전자 장치들(예: 제 1 외부 전자 장치(902), 제 2 외부 전자 장치(903), 및 제 3 외부 전자 장치(904))의 각각의 SNR 값(예: 제 1 값, 제 2 값, 제 3 값)을 식별하고, 도 9a의 920에 도시된 바와 같이 식별된 SNR 값의 크기의 대소 관계를 비교할 수 있다. 전자 장치(901)는 SNR 값(예: 제 1 값)가장 큰 장치(예: 제 1 외부 전자 장치(902))를, 웨이크-업 될 장치로 식별할 수 있다 한편, 전자 장치(901)는 상기 SNR 값의 대소 관계 뿐만 아니라, 복수의 외부 전자 장치들(902, 903, 904)의 우선 순위에 대한 정보를 기반으로 웨이크-업 될 장치를 식별할 수 있으며, 상기 복수의 외부 전자 장치들(902, 903, 904)의 우선 순위는 전자 장치(901)에서 이전에 수행된 웨이크-업될 장치를 식별하는 동작에서 획득된 및/또는 축적된 정보를 기반으로 변경될 수 있는데, 이는 도 16 내지 도 18에서 후술한다.
다양한 실시예들에 따르면, 전자 장치는 809 동작, 810 동작, 및 811 동작 각각에서 복수의 외부 전자 장치들(예: 제 1 외부 전자 장치(902), 제 2 외 부 전자 장치, 및 제 3 외부 전자 장치(904))로 웨이크-업될 장치를 식별하는 동작의 수행의 결과로서 획득된 결과 정보를 전송할 수 있다. 예를 들어, 상기 결과 정보는 웨이크-업될 장치를 식별하기 위한 정보를 포함할 수 있다. 이에 따라 상기 복수의 외부 전자 장치들은 상기 결과 정보에 기반하여 웨이크-업될 장치를 식별하고, 웨이크-업될 장치로 식별된 외부 전자 장치(예: 제 1 외부 전자 장치(902))는 제어를 위한 사용자 발화를 처리하기 위해 웨이크-업될 수 있다. 또, 웨이크-업될 장치로 식별되지 않은 나머지 장치들(예: 903, 904)은 실행된 음성 서비스를 제공하기 위한 프로그램의 실행을 종료하거나, 또는 사용자 발화를 처리하지 않는 상태로 전환할 수 있다. 상기 웨이크-업된 외부 전자 장치(902)는 "웨이크-업"되었음을 알리기 위한 정보를 제공할 수 있다. 예를 들어, 상기 제 1 외부 전자 장치(902)는 디스플레이 상에 "웨이크-업"되었음을 알리기 위한 메시지를 표시하거나, 스피커를 통해서 "웨이크-업"되었음을 알리기 위한 사운드를 출력할 수 있다.
다양한 실시예들에 따르면, 웨이크-업된 외부 전자 장치(예: 제 1 외부 전자 장치(902))는 812 동작에서 상기 지능형 서버(530)와 함께 지능형 서비스(예: 지능형 음성 서비스)를 제공할 수 있다. 예를 들어, 상기 웨이크-업된 전자 장치(예: 902)는, 도 9b에 도시된 바와 같이, 마이크를 이용하여 웨이크-업된 전자 장치(902)의 제어를 위한 사용자 발화(예: "볼륨 높여줘")를 수신하고, 수신된 사용자 발화에 대한 정보(931)를 지능형 서버(530)로 송신할 수 있다. 상기 웨이크-업된 전자 장치(예: 902)는 지능형 서버(530)로부터 상기 사용자 발화를 처리한 결과로서 획득된 특정 서비스를 제공하기 위한 정보(932)를 수신하고, 수신된 정보(932)에 기반하여 적어도 하나의 동작(예: 볼륨을 크게하는 동작)을 수행(또는, 웨이크-업된 전자 장치(예: 901)의 기능을 수행)할 수 있다. 특정 서비스를 제공하기 위한 정보(932)는 상술한 바와 같이 사용자의 음성 입력에 대응되는 태스크(task)를 수행하기 위한 복수의 동작, 및 상기 복수의 동작과 관련된 복수의 컨셉을 포함하는 플랜을 포함할 수 있다. 또 예를 들어, 상기 웨이크-업된 전자 장치(예: 902)는 지능형 서버(530)로부터 상기 사용자 발화를 처리한 결과 획득된 특정 서비스를 제공하기 위한 정보(932)를 수신하고, 수신된 정보(932)에 기반하여 특정 정보를 포함하는 화면을 표시하거나, 스피커를 통해 사운드를 출력할 수도 있다.
상술한 바와 같이, "주 장치(520)"로 설정된 전자 장치가 "서브 장치(521)"로 설정된 다른 복수의 외부 전자 장치들 중 최적의 장치를 웨이크-업될 장치로 선택함으로써, 사용자 발화에 의해 두 개 이상의 외부 전자 장치가 웨이크-업 되는 문제가 해결될 수 있다. 이에 따라 웨이크-업된 두 개 이상의 외부 전자 장치들 중 음성 서비스에 불필요한 외부 전자 장치들의 음성 서비스 제공 동작을 종료시킴에 따라 불필요하게 소요되는 외부 전자 장치들의 운용 부담이 저감될 수 있다.
이하에서는 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치의 동작의 다른 예에 대해서 설명한다.
다양한 실시예들에 따르면, "주 장치"로 설정되는 전자 장치는 복수의 외부 전자 장치들로부터 사용자 발화와 연관된 정보를 수신하는 경우, 사용자 발화와 연관된 정보뿐만 아니라 웨이크-업될 장치를 식별하는 동작에서 이용되는 값들(예: time-out, 우선 순위)을 기반으로 복수의 외부 전자 장치들 중 웨이크-업 될 최적의 장치를 식별할 수 있다. 예를 들어, 상기 값들은 복수의 외부 전자 장치들로부터 수신되는 사용자 발화와 연관된 정보를 처리하기 위한 시구간(예: time-out)에 대한 정보, 또는 복수의 외부 전자 장치들의 웨이크-업될 장치로 선택될 우선 순위에 대한 정보를 포함할 수 있다. 또, 전자 장치는 이전에 수행된 웨이크-업 될 장치를 식별하는 동작에서 획득된 정보를 기반으로 상기 값들을 설정하여, IOT 시스템이 구비되는 환경 내에서 최적의 전자 장치가 웨이크-업될 장치로 식별되도록 할 수 있다.
도 10은 다양한 실시예들에 따른 전자 장치의 동작의 일 예를 설명하기 위한 흐름도(1000)이다. 다양한 실시예들에 따르면, 도 10에 도시되는 동작들은 도시되는 순서에 국한되지 않고 다양한 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면 도 10에 도시되는 동작들 보다 더 많은 동작들이 수행되거나, 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는, 도 11 내지 도 12를 참조하여 도 10에 대해서 설명한다.
도 11은 다양한 실시예들에 따른 "주 장치"로 설정된 전자 장치의 웨이크-업될 장치를 식별하는 동작의 일 예를 설명하기 위한 도면이다. 도 12는 다양한 실시예들에 따른 "주 장치"로 설정된 전자 장치의 사용자 발화와 연관된 정보들을 처리하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(1101))는 1001 동작에서 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들(예: 외부 전자 장치들(1102, 1103, 1104))과 통신 연결을 설정할 수 있다. 예를 들어, "주 장치"로 설정된 전자 장치(1101)는 도 11에 도시된 바와 같이 일 환경 내(예: 가내)에 구비되는 다른 외부 전자 장치들(1102, 1103, 1104)과 통신 연결을 설정할 수 있다. 상기 전자 장치(1101)의 1001 동작은 상술한 전자 장치(1101)의 801 동작과 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자 장치(예: 1101)는 1002 동작에서 상기 복수의 외부 전자 장치들(예: 1102, 1103, 1104)의 적어도 일부로부터 웨이크-업을 위한 특정 단어(예: 시동어)를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신할 수 있다. 예를 들어, 도 11에 도시된 바와 같이 사용자가 특정 단어의 발화(예: 웨이크-업 발화)를 수행하는 경우, 전자 장치(1101)는 상기 통신 연결에 기반하여 다른 외부 전자 장치들(1102, 1103, 1104)로부터 다른 외부 전자 장치들(1102, 1103, 1104)이 획득한 사용자 발화와 연관된 정보(예: 사용자 발화의 세기에 대한 정보)를 수신할 수 있다. 상기 전자 장치(1101)의 1002 동작은, 상술한 전자 장치(1101)의 805 동작 내지 807 동작과 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(1101))는 1003 동작에서 상기 적어도 하나의 정보, 및 이전에 수행된 웨이크-업 될 장치를 식별하기 위한 동작들 각각에서 획득된 정보에 기반하여 설정된 값에 기반하여, 상기 복수의 외부 전자 장치들(예: 외부 전자 장치들(1102, 1103, 1104))의 적어도 일부 중 웨이크-업 될 장치를 식별할 수 있다. 예를 들어, 상기 값은 웨이크-업될 장치를 식별하는 동작의 수행 시 이용되는 값으로서, 복수의 외부 전자 장치들(1102, 1103, 1104)로부터 수신되는 사용자 발화와 연관된 정보를 처리하여 웨이크-업될 장치를 식별하기 위한 지정된 시구간(예: time-out)에 대한 정보, 또 복수의 외부 전자 장치들(1102, 1103, 1104)의 웨이크-업될 장치로 선택될 우선 순위에 대한 정보를 포함할 수 있다. 이하에서는, 각각의 시구간에 대한 정보, 또는 우선 순위에 대한 정보에 기반한 전자 장치(1101)의 웨이크-업될 장치를 식별하는 동작에 대해서 설명한다.
먼저 이하에서는 전자 장치(1101)의 복수의 외부 전자 장치들(1102, 1103, 1104)로부터 수신되는 사용자 발화와 연관된 정보를 처리하기 위한 지정된 시구간을 기반으로, 웨이크-업될 장치를 식별하는 동작의 예에 대해서 설명한다.
다양한 실시예들에 따르면 전자 장치(1101)는 외부 전자 장치들(1102, 1103, 1104)로부터 수신되는 사용자 발화와 연관된 정보들 중, 지정된 시구간(time-out) 동안 수신되는 적어도 하나의 정보(예: 1201, 1202, 1203)를 처리하여 웨이크-업될 장치를 식별할 수 있다. 예를 들어, 전자 장치(1101)는 도 12에 도시된 바와 같이 복수의 외부 전자 장치들(1102, 1103, 1104) 중 일 외부 전자 장치(예: 제 1 외부 전자 장치(1102))로부터 최초로 사용자 발화와 연관된 정보(예: 1201)를 수신한 시점부터 일 세션(session) 동안 복수의 외부 전자 장치들(1102, 1103, 1104)로부터 사용자 발화와 연관된 정보를 수신할 수 있다. 또 예를 들어, 전자 장치(1101)는 사용자 발화를 수신하고, 사용자 발화가 수신된 시점부터 음성 서비스를 제공하기 위한 프로그램을 기반으로 일 세션(session) 동안 복수의 외부 전자 장치들(1102, 1103, 1104)로부터 사용자 발화와 연관된 정보를 수신할 수 있다. 상기 일 세션(session)은 일 사용자 발화를 처리하기 위한 시간을 의미하며, 상기 일 세션(session) 이후에 수신된 정보는 상기 일 사용자 발화가 아닌 다른 사용자 발화와 연관된 정보로 식별될 수 있다. 상기 세션(session)에 대해서는 도 8 내지 도 9에서 상술한 바와 같으므로 중복되는 설명은 생략한다. 상기 일 세션(session)은 도 12에 도시된 바와 같이 외부 전자 장치(1101)로부터 사용자 발화와 연관된 정보가 수신되는 경우 전자 장치(1101)가 상기 정보를 처리(예: SNR 값들을 식별하고, SNR 값들 간의 대소 관계를 비교)하여 웨이크-업 될 장치를 식별하도록 설정된 제 1 시구간(time-out), 및 외부 전자 장치(1101)로부터 사용자 발화와 연관된 정보가 수신되는 경우 전자 장치(1101)가 상기 정보를 처리하지 않도록 설정된 제 2 시구간(guard time)을 포함할 수 있다. 전자 장치(1101)는 도 12에 도시된 바와 같이 제 1 시구간(time-out) 동안 수신된 외부 전자 장치들(1102, 1103, 1104)(예: 제 1 외부 전자 장치(1102)와 제 2 외부 전자 장치(1103))의 사용자 발화와 연관된 정보(1201, 1202, 1203)(예: SNR 값)를 기반으로 웨이크-업될 장치를 식별하는 동작을 수행할 수 있다. 여기서 제 1 정보(1201)은 제 1 외부 전자 장치(1102)로부터 수신되고, 제 2 정보(1202)는 제 2 외부 전자 장치(1103)로부터 수신되고, 제 3 정보(1203)는 제 3 외부 전자 장치(1104)로부터 수신될 수 있다. 상기 전자 장치(1101)는 제 1 시구간(time-out) 동안 수신된 정보들(1201, 1202, 1203)에 대응하는 외부 전자 장치들(1102, 1103, 1104)을 사용자 발화에 의해 웨이크-업될 장치의 후보 그룹으로 식별하고, 각 정보들에 기반하여 상기 후보 그룹 내에 포함된 외부 전자 장치들(1102, 1103, 1104) 중 웨이크-업될 장치를 식별할 수 있다. 전자 장치(1101)는, 상기 웨이크-업 될 장치를 식별하는 동작의 결과 정보를 외부 전자 장치들(1102, 1103, 1104)로 전송할 수 있다. 복수의 외부 전자 장치들(1102, 1103, 1104)은 사용자 발화를 수신한 시점부터 음성 서비스를 제공하기 위한 프로그램을 실행하고, 도 12에 도시된 바와 같이 외부 전자 장치(1101)의 상태(예: device state)를 결과 정보의 수신을 위한 유휴 상태(Idle)로 설정할 수 있다. 복수의 외부 전자 장치들(1102, 1103, 1104)이 결과 정보를 수신하는 경우, 웨이크-업될 외부 전자 장치(예: 제 1 외부 전자 장치(1102))는 유휴 상태(idle state)를 제어를 위한 사용자의 발화를 수신하여 음성 인식 서비스를 제공하기 위한 리스닝 상태(listening)로 전환하고, 나머지 외부 전자 장치(1101)는 프로그램의 실행을 종료할 수 있다.
다양한 실시예들에 따르면 전자 장치(1101)는 시구간에 대한 정보를 미리 설정하고 저장하여, 상기 시구간에 대한 정보를 기반으로, 웨이크-업될 장치를 식별하는 동작을 수행하기 위한 상술한 세션(session)을 개시 및/또는 설정할 수 있다. 상기 시구간에 대한 정보는 일 세션(session)의 길이를 나타내는 정보, 상기 일 세션(session)에 포함된 제 1 시구간(time-out)의 길이를 나타내는 정보, 또는 제 2 시구간(guard time)의 길이를 나타내는 정보 중 적어도 하나를 포함할 수 있다. 기재된 바에 국한되지 않고, 상기 시구간의 길이에 대한 정보는 일 세션(session)의 길이에 대한 정보 및 일 세션 동안의 제 1 시구간(time-out)과 제 2 시구간(guard-time)의 비율을 나타낼 수도 있다.
이때, "주 장치"로 설정된 전자 장치(1101)는 도 12에 도시된 바와 같이 상기 제 1 시구간(time-out)의 길이를 동적으로 변경할 수 있다. 상기 주 장치로 설정된 전자 장치(1101)에 복수의 외부 전자 장치들(1102, 1103, 1104)로부터 정보들(1201, 1202, 1203)이 수신되는 시점은, 전자 장치(1101)와 복수의 외부 전자 장치들(1102, 1103, 1104) 사이의 통신 연결 상태 또는 외부 전자 장치(1101)의 성능(예: 통신 성능)에 따라서 달라질 수 있다. 예를 들어 상기 통신 연결 상태가 불량 및/또는 혼잡하거나 외부 전자 장치들(1102, 1103, 1104)의 성능이 현저한 성능인 경우, 상기 제 1 시구간(time-out) 이후에 상기 외부 전자 장치들(1102, 1103, 1104)로부터 전자 장치(1101)로 정보가 수신될 수도 있다. 따라서, 전자 장치(1101)는 이전 세션 동안(예: 현재 세션의 이전의 세션 또는 현재 시점 이전의 세션) 외부 전자 장치들(1102, 1103, 1104)로부터 사용자 발화에 대한 정보가 수신된 시점에 기반하여, 상기 제 1 시구간(time-out)의 길이에 대한 정보를 설정 및/또는 변경하여 저장해둘 수 있다. 예를 들어, 전자 장치(1101)는 이전 세션 동안 외부 전자 장치들(1102, 1103, 1104)로부터 사용자 발화에 대한 정보가 수신되는 시점에 기반하여, 기존의 제 1 시구간(time-out)의 길이를 연장하거나 단축할 수 있다. 다시 말해, 전자 장치(1101)가 웨이크-업될 장치를 식별하기 위한 현재의 제 1 시구간(time-out)은 기존의 제 1 시구간(time-out)이 변경되어 설정되는 것일 수 있다. 한편, 전자 장치(1101)가 최초에 웨이크-업될 장치를 식별하는 동작을 수행하는 경우의 제 1 시구간(time-out)은 전자 장치(1101)에 기설정된 값일 수 있다. 상기 전자 장치(1101)의 제 1 시구간(time-out)의 길이를 변경하는 동작의 구체적인 예들에 대해서는 도 13 내지 도 15에서 후술한다. 이때, 세션(session)의 길이가 유지되는 경우 상기 설정된 제 1 시구간(time-out)의 길이의 이외의 나머지 시간 길이로 제 2 시구간(guard time)이 자동으로 변경될 수 있다. 또는, 세션의 길이가 가변 가능한 경우, 제 2 시구간(guard time)의 길이가 유지되며 상기 제 1 시구간(time-out)의 길이가 변경된 만큼 상기 세션의 길이가 변경될 수 있다.
상기 time-out의 동적인 변경에 따라서 웨이크-업될 장치를 식별하기 위한 후보 장치들의 수가 적절하게 제어되거나, 외부 전자 장치(1101)의 유휴 상태를 리스닝 상태로 전환하는 시점이 적절하게 제어될 수 있다.
이하에서는 전자 장치(1101)의 복수의 외부 전자 장치들(1102, 1103, 1104)로부터 수신되는 사용자 발화와 연관된 정보를 처리하기 위한 지정된 시구간을 기반으로, 웨이크-업될 장치를 식별하는 동작의 예에 대해서 설명한다.
다양한 실시예들에 따르면 전자 장치(1101)는 외부 전자 장치들(1102, 1103, 1104)로부터 수신된 사용자 발화에 대한 정보 뿐만 아니라, 외부 전자 장치들(1102, 1103, 1104) 각각의 우선 순위(priority)에 대한 정보(예: 제 4 값, 제 5 값, 제 6 값)에 기반하여, 복수의 외부 전자 장치들(1102, 1103, 1104) 중 웨이크-업될 장치를 식별할 수 있다. 예를 들어, 전자 장치(1101)는 복수의 외부 전자 장치들(1102, 1103, 1104) 중 높은 세기의 사용자 발화를 수신하고, 높은 우선 순위를 가지는 외부 전자 장치(1101)를 웨이크-업될 장치로 식별할 수 있다. 일 예로, 전자 장치(1101)는 도 11의 1111에 도시된 바와 같이 외부 전자 장치들(1102, 1103, 1104)(예: 제 1 외부 전자 장치(1102), 제 2 외부 전자 장치(1103), 및 제 3 외부 전자 장치(1104))로부터 사용자 발화의 SNR 값(예: 제 1 값, 제 2 값, 및 제 3 값)에 대한 정보를 식별하고, 도 11의 1112에 도시된 바와 같이 SNR 값의 대소 관계를 비교하는 동작을 수행할 수 있다. 이때, 상기 사용자 발화의 SNR 값들(예: 제 1 값, 제 2 값, 및 제 3 값)은 상술한 제 1 시구간(time-out) 동안 수신된 값일 수 있다. 전자 장치(1101)는 SNR 값들의 비교 결과에 따라서, 도 11의 1113에 도시된 바와 같이 가장 높은 SNR 값(예: 제 1 값)과 상기 가장 높은 SNR 값과 유사한 SNR 값(예: 제 2 값)을 식별할 수 있다. 상기 일 값과 다른 값이 유사하다는 의미는, 일 값이 다른 값으로부터 지정된 범위 이내(예: 다른 값의 특정 비율 이내)에 포함되는 값임을 의미할 수 있다. 전자 장치(1101)는 상기 식별된 유사한 SNR 값들(예: 제 1 값, 제 2 값)에 대응하는 외부 전자 장치들(1102, 1103, 1104)(예: 제 1 외부 전자 장치(1102)와 제 2 외부 전자 장치(1103))을 식별하고, 식별된 외부 전자 장치들에 대응하는(또는, 설정된) 우선 순위들(예: 제 4 값, 제 5 값)을 식별할 수 있다. 전자 장치(1101)는 우선 순위들을 식별한 것에 기반하여, 도 11의 1114에 도시된 바와 같이 상기 식별된 외부 전자 장치들(1102, 1103, 1104) 중 더 높은(또는, 가장 높은) 우선 순위(예: 제 4 값)를 가지는 외부 전자 장치(예: 제 1 외부 전자 장치(1102))를 웨이크-업 될 장치로 식별할 수 있다. 한편, 전자 장치(1101)는 가장 높은 SNR 값과 유사한 SNR 값이 없는 경우, 상기 가장 높은 SNR 값에 대응하는 외부 전자 장치(예: 제 1 외부 전자 장치(1102))를 웨이크-업될 장치로 식별할 수 있다.
다양한 실시예들에 따르면 "주 장치"로 설정된 전자 장치(1101)는 복수의 외부 전자 장치들(1102, 1103, 1104)에 대한 우선 순위에 대한 정보를 미리 설정하여 저장해두고, 우선 순위에 대한 정보를 기반으로 웨이크-업될 장치를 식별하는 동작을 수행할 수 있다.
먼저, 최초에 전자 장치(1101)는 복수의 외부 전자 장치들(1102, 1103, 1104) 각각에 설정된 우선 순위에 대한 정보를 수신하여, 수신된 우선 순위에 대한 정보를 저장해둘 수 있다. 일 예로, 전자 장치(1101)는 외부 서버(예: 지능형 서버(530))로부터 외부 전자 장치(1101)에 대한 우선 순위에 대한 정보를 수신할 수 있다. 다른 예로, 전자 장치(1101)는 외부 전자 장치들(1102, 1103, 1104) 각각으로부터, 외부 전자 장치(1101)에 설정된 우선 순위에 대한 정보를 수신할 수 있다. 또 예를 들어, 전자 장치(1101)는 외부 전자 장치들(1102, 1103, 1104)에 대한 우선 순위에 대한 정보를 수신할 필요 없이, 이미 저장하여 놓고 있을 수 있다.
이때, "주 장치"로 설정된 전자 장치(1101)는 복수의 외부 전자 장치들(1102, 1103, 1104)에 대한 우선 순위들을 변경하여, 사용자 의도에 부합하는 최적의 장치가 웨이크-업되도록 제어할 수 있다. 예를 들어, 전자 장치(1101)는 이전 세션들(예: 현재 세션 또는 현재 시점 이전의 세션들) 동안 외부 전자 장치(1101)가 웨이크-업 장치로 선택된 정보에 기반하여 복수의 외부 전자 장치들(1102, 1103, 1104)에 대한 우선 순위들을 변경할 수 있다. 다시 말해, 전자 장치(1101)가 웨이크-업될 장치를 식별하기 위한 현재 복수의 외부 전자 장치들(1102, 1103, 1104)의 우선 순위들(예: 제 4 값, 제 5 값, 제 6 값)은 기존의 우선 순위들이 변경되어 설정된 것일 수 있다. 상기 전자 장치(1101)의 외부 전자 장치들(1102, 1103, 1104)의 우선 순위들을 변경하는 동작의 구체적인 예들에 대해서는 도 16 내지 도 18에서 후술한다.
이하에서는 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치의 동작의 또 다른 예에 대해서 설명한다.
다양한 실시예들에 따르면 "주 장치"로 설정되는 전자 장치(예: 전자 장치(1410))는 일 세션 동안 수신되는 정보(예: 사용자 발화와 연관된 정보)의 수신 시점에 기반하여, 웨이크-업될 장치를 식별하기 위한 시구간(예: time-out)을 변경할 수 있다.
도 13은 다양한 실시예들에 따른 전자 장치의 동작의 일 예를 설명하기 위한 흐름도(1300)이다. 다양한 실시예들에 따르면, 도 13에 도시되는 동작들은 도시되는 순서에 국한되지 않고 다양한 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면 도 13에 도시되는 동작들 보다 더 많은 동작들이 수행되거나, 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는, 도 14 내지 도 15를 참조하여 도 13에 대해서 설명한다.
도 14는 다양한 실시예들에 따른 전자 장치의 지정된 시구간을 연장하는 동작의 일 예를 설명하기 위한 도면이다. 도 15는 다양한 실시예들에 따른 전자 장치의 지정된 시구간을 단축하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(1410))는 1301 동작에서 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들과 통신 연결을 설정하고, 1302 동작에서 외부 전자 장치들의 적어도 일부로부터 특정 단어를 포함하는 사용자 발화와 연관된 정보를 수신할 수 있다. 예를 들어, "주 장치"로 설정된 전자 장치(1410)는 일 환경 내(예: 가내)에 구비되는 다른 외부 전자 장치들과 통신 연결을 설정할 수 있다. 사용자가 일 환경 내에서 특정 단어(예: 시동어)를 발화(예: 웨이크-업 발화)하는 경우, 전자 장치(1410)는 상기 통신 연결에 기반하여 다른 외부 전자 장치들로부터 다른 외부 전자 장치들이 획득한 사용자 발화와 연관된 정보(예: 사용자 발화의 세기에 대한 정보)를 수신할 수 있다. 상기 전자 장치(1410)의 1301 동작 내지 1302 동작은 상술한 전자 장치(1410)의 801 동작 및 전자 장치(1410)의 805 동작 내지 807 동작과 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(1410))는 1303 동작에서 웨이크-업 될 장치를 식별하기 위한 시구간 동안 수신된 적어도 하나의 제 1 정보에 기반하여 복수의 외부 전자 장치들의 적어도 일부 중 웨이크-업될 장치를 식별할 수 있다. 예를 들어, 전자 장치(1410)는, 도 14 및 도 15에 도시된 바와 같이, 특정 단어를 포함하는 사용자 발화를 마이크를 통해 수신하는 경우 지능형 음성 서비스를 제공하기 위한 프로그램을 실행 및/또는 구동할 수 있다. 전자 장치(1410)는 시구간에 대한 정보를 기반으로 최초로 외부 전자 장치로부터 사용자 발화와 연관된 정보(예: 도 14의 1401, 또는 도 15의 1501)가 수신된 시점 또는 상기 사용자 발화가 수신된 시점부터 일 세션(session)을 설정 및/또는 개시하고, 설정된 일 세션(session) 동안 다른 외부 전자 장치들로부터 사용자 발화와 연관된 정보(예: SNR 값에 대한 정보)를 수신할 수 있다. 전자 장치(1410)는 세션(session)의 지정된 제 1 시구간(예: time-out) 시간 동안 수신된 사용자 발화와 연관된 정보에 기반하여 웨이크-업될 장치를 식별할 수 있다. 예를 들어, 전자 장치(1410)는 SNR 값의 대소 관계를 비교한 결과에 기반하여 상기 웨이크-업될 장치를 식별(예: 가장 높은 SNR 값에 대응하는(예: 정보를 송신한) 외부 전자 장치를 웨이크-업될 장치로 식별)할 수 있다. 또 예를 들어, 전자 장치(1410)는 유사한 SNR 값들이 식별되는 경우, 외부 전자 장치들의 우선 순위에 기반하여 상기 웨이크-업될 장치를 식별할 수 있다. 전자 장치(1410)의 1303 동작은 상술한 전자 장치(1410)의 808 동작, 또 전자 장치(1410)의 1003 동작에서 기술된 바와 같이 수행될 수 있으므로, 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(1410))는 1304 동작에서 시구간(예: time-out) 이후 정보(예: 사용자 발화와 연관된 정보)의 수신 여부를 식별할 수 있다. 전자 장치(1410)는 일 세션(session)의 지정된 시구간(예: time-out) 이후 나머지 시구간(예: guard time) 동안, 복수의 외부 전자 장치들의 적어도 일부로부터 사용자 발화와 연관된 정보가 수신되었는지 여부를 식별할 수 있다. 예를 들어, 전자 장치(1410)는 복수의 외부 전자 장치들로부터 정보(예: 1401, 1402, 1403, 1501, 1502, 1503)가 수신된 시점과 시구간들(time-out, guard time)의 시간대를 비교하여, 식별된 시점이 지정된 시구간(time-out) 이후 나머지 시구간(guard time)에 포함되는지 여부를 식별할 있다. 전자 장치(1410)는 세션(session)이 개시된 시점부터 지정된 시구간(time-out) 이후의 제 1 시점까지의 제 1 시간대를 계산하고, 상기 제 1 시점부터 나머지 시구간(guard-time) 이후의 제 2 시점까지의 제 2 시간대를 식별할 수 있다. 전자 장치(1410)는 복수의 외부 전자 장치들로부터 정보 예: 1401, 1402, 1403, 1501, 1502, 1503)가 수신된 시점을 식별하고, 상기 식별된 시점이 상기 제 1 시간대 또는 제 2 시간대에 포함되는 지 여부를 식별할 수 있다. 또 예를 들어, 전자 장치(1410)는 복수의 외부 전자 장치들로부터 정보 예: 1401, 1402, 1403, 1501, 1502, 1503)가 수신되는 시점을 실시간으로 식별하여, 식별된 시점이 지정된 시구간 이후 나머지 시구간에 포함되는지 여부를 식별할 있다. 일 예로, 전자 장치(1410)는 상기 세션(session)이 개시된 시점(예: 사용자 발화가 수신된 시점)부터 타이머를 설정하여 시간의 경과를 식별할 수 있다. 전자 장치(1410)는 상기 시간의 경과를 식별하는 중에 외부 전자 장치로부터 정보가 수신되는 경우 정보가 수신된 시점을 식별하고, 식별된 시점이 포함되는 시구간(예: time-out, 또는 guard time)을 식별할 수 있다. 한편, 기재된 바에 국한되지 않고, 전자 장치(1410)는 상기 전자 장치(1410)에 정보들 각각이 수신된 시점 대신에 복수의 외부 전자 장치들로부터 정보들 각각이 전송된 시점을 식별하고, 식별된 전송 시점이 상기 시간대에 포함되는지 여부를 식별할 수도 있다.
다양한 실시예들에 따르면 전자 장치(예: 1410)는 시구간(예: time-out) 이후 정보가 수신되는 경우, 1305 동작에서 상기 시구간 이후 수신된 정보의 수신 시점에 기반하여 제 1 변경 시구간(예: 상기 time-out 보다 긴 길이의 시구간)을 식별할 수 있다. 예를 들어, 전자 장치(1410)는 도 14에 도시된 바와 같이, 제 1 시구간(time-out) 이후의 제 2 시구간(guard-time) 동안 수신된 정보(1403)의 수신 시점이 포함되도록 하는 제 1 시구간(time-out)의 제 1 길이를 식별할 수 있다. 일 예로, 전자 장치(1410)는 상기 세션(session)이 개시된 시점(예: 사용자 발화가 수신된 시점)부터 제 1 시구간(time-out)이 경과된 시점을 식별하고, 상기 식별된 시점부터 상기 제 2 시구간(guard time) 동안 수신된 정보(1403)의 수신 시점까지의 차이를 계산하고, 상기 계산된 차이만큼 현재 제 1 시구간(예: time-out)에 더하여 새로운 제 1 시구간을 식별할 수 있다. 다른 예로, 전자 장치(1410)는 상기 세션(session)이 개시된 시점(예: 사용자 발화가 수신된 시점)부터 상기 정보(1403)가 수신된 시점까지의 시간 길이를 상기 변경될 제 1 시구간(예: time-out)으로서 식별할 수 있다. 이때, 전자 장치(1410)는 상기 식별된 시간 길이에 소정의 시간 길이를 더한 시간 길이를 변경될 제 1 시구간(time out)으로 식별함으로써, 정보의 수신이 지연되더라도 상기 정보(1403)의 수신 시점이 제 1 시구간(time out)에 포함되도록 할 수도 있다. 만약 상기 제 1 시구간(time out) 이후 제 2 시구간(guard time) 동안 수신된 정보들의 수가 복수 개인 경우, 전자 장치(1410)는 제 2 시구간(guard time) 동안 수신된 정보들 중 가장 늦게 수신된 정보의 수신 시점에 기반하여 변경될 상기 제 1 시구간(time out)을 식별할 수 있다. 또는, 전자 장치(1410)는 상기 제 2 시구간(guard time) 동안 수신된 정보들의 수신 시점들을 기반으로 지정된 시점을 계산하여, 상기 계산된 시점에 기반하여 상기 시구간을 변경할 수도 있다. 상기 계산된 시점은 상기 수신 시점들의 평균인 시점, 지정된 비율의 상위 또는 하위 시점들을 제외한 상기 수신 시점들의 나머지 시점들 중 가장 늦게 수신된 시점, 및 상기 나머지 시점들의 평균인 시점을 포함할 수 있다.
다양한 실시예들에 따르면 전자 장치(1410)는 지정된 조건을 만족하는 경우, 상기 시구간(time-out) 이후 수신된 정보(예: 1403)의 수신 시점에 기반한 제 1 변경 시구간을 식별하는 동작을 수행할 수 있다. 다시 말해, 전자 장치(1410)는 시구간(time-out) 이후 수신된 정보들 중에서도, 지정된 조건을 만족하는 것으로 식별되는 정보들의 수신 시점들을 식별하고, 식별된 수신 시점들을 기반으로 제 1 변경 시구간을 식별하는 동작을 수행할 수 있다.
예를 들어, 상기 지정된 조건의 만족은 상기 시구간(time-out) 이후 수신된 정보(예: 1403)에 대응하는 외부 전자 장치가 웨이크-업될 장치로 식별되는 것을 포함할 수 있다. 전자 장치(1410)는 상기 제 1 시구간(예: time-out) 동안 수신된 정보뿐만 아니라, 제 2 시구간(예: guard-time) 동안 수신된 정보를 식별하고, 상기 정보들을 기반으로 웨이크-업될 장치를 식별할 수 있다. 전자 장치(1410)가 1303 동작에서 웨이크-업될 장치를 식별한 후 식별된 장치가 웨이크-업 되도록 제어하는 동작과는 달리, 상기 정보들(예: 1403)을 기반으로 상기 웨이크-업될 장치를 식별하는 동작 이후에 전자 장치(1410)는 식별된 장치가 웨이크-업되도록 제어하지 않을 수 있다. 전자 장치(1410)는 상기 웨이크-업될 장치를 식별하는 동작의 결과에 따라서, 상기 제 2 시구간(guard time) 동안 수신된 정보에 대응하는 외부 전자 장치가 웨이크-업될 장치로 식별됨(예: 외부 전자 장치의 SNR 값이 가장 높은 경우)을 식별할 수 있다. 전자 장치(1410)는 상기 식별 결과에 기반하여, 상기 정보의 수신 시점에 기반하여 상술한 제 1 시구간(예: time-out)의 길이를 변경하는 동작을 수행할 수 있다. 상기 제 2 시구간 동안 수신된 정보에 대응하는 외부 전자 장치가 웨이크-업될 장치로 식별되지 않는 경우, 전자 장치(1410)는 제 1 시구간의 길이를 변경하는 동작을 수행하지 않을 수 있다. 만약 상기 제 2 시구간 동안 수신된 정보들의 수가 복수 개인 경우, 전자 장치(1410)는 상기 복수 개의 정보들 중 웨이크-업될 장치로 식별되는 정보를 식별하고 식별된 정보의 수신 시점에 기반하여 상기 제 1 시구간(예: time-out)의 길이를 변경하는 동작을 수행할 수 있다.
또 예를 들어, 상기 지정된 조건의 만족은 상기 지정된 시구간(예: time-out) 이후 수신된 정보와 연관된 위치(예: 거실)와 상기 지정된 시구간 동안 수신된 정보와 연관된 위치(예: 거실)가 대응하는 것으로 식별되는 것을 포함할 수 있다. 상기 위치에 기반한 조절 동작은 도 19 내지 도 20에서 후술한다.
다양한 실시예들에 따르면 전자 장치(예: 1410)는 시구간(예: time-out) 이후 정보가 수신되지 않는 경우, 1306 동작에서 상기 시구간 내에 수신된 정보의 수신 시점에 기반하여 제 2 변경 시구간(예: 상기 time-out 보다 짧은 길이의 시구간)을 식별할 수 있다. 예를 들어, 전자 장치(1410)는 도 15에 도시된 바와 같이 제 1 시구간(time-out) 동안 수신된 정보들(1501, 1502, 1503)의 수신 시점들 중 가장 늦은 수신 시점(예: 정보(1503)의 수신 시점)에 기반하여 제 1 시구간(time-out)의 길이를 변경하는 동작을 수행할 수 있다. 일 예로, 전자 장치(1410)는 상기 세션(session)이 개시된 시점(예: 사용자 발화가 수신된 시점)부터 상기 가장 늦은 수신 시점(예: 정보(1503)의 수신 시점)까지의 시간 길이로, 제 1 시구간(time-out)의 길이를 변경할 수 있다. 이때, 전자 장치(1410)는 상기 세션(session)이 개시된 시점(예: 사용자 발화가 수신된 시점)부터 상기 가장 늦은 수신 시점(예: 정보(1503)의 수신 시점)까지의 시간 길이에 소정의 시간 길이를 더하여 제 1 시구간(time-out)의 길이를 변경함으로써, 정보의 수신이 지연되더라도 상기 정보의 수신 시점이 제 1 시구간에 포함되도록 할 수도 있다.
다양한 실시예들에 따르면 전자 장치(1410)는 지정된 조건을 만족하는 경우, 상기 시구간(time-out) 동안 수신된 정보의 수신 시점(예: 정보(1503)의 수신 시점)에 기반한 시구간 변경(time-out change) 동작을 수행할 수 있다. 예를 들어, 상기 지정된 조건의 만족은 상기 지정된 시구간(예: time-out) 동안 수신된 정보 중 가장 늦게 수신된 정보와 연관된 위치(예: 거실)와 다른 정보와 연관된 위치(예: 거실)가 대응하는 것으로 식별되는 것을 포함할 수 있다. 상기 위치에 기반한 조절 동작은 도 19 내지 도 20에서 후술한다.
다양한 실시예들에 따르면 전자 장치(예: 1410)는 1307 동작에서 제 1 변경 시구간 또는 제 2 변경 시구간에 기반하여 시구간(예: time-out)을 변경할 수 있다. 예를 들어, 전자 장치(1410)는 상기 1305 동작 및 상기 1306 동작 각각에서 변경될 시구간(time-out)의 길이를 식별한 것에 대한 응답으로, 바로 변경될 시구간(time-out)의 길이로 현재 설정된 시구간(time-out)을 변경 및/또는 설정하여 저장할 수 있다. 또 예를 들어, 기재된 바에 국한되지 않고 전자 장치(1410)는 시구간(time-out)을 식별하는 동작(1305 동작 및 1306 동작)을 지정된 횟수(예: 100회)만큼 수행하고, 상기 지정된 횟수만큼 수행된 시구간(time-out)을 식별하는 동작들에 기반하여 식별된 시간 길이들을 기반으로 시구간(time-out)을 변경할 수 있다. 일 예로, 전자 장치(1410)는 상기 시간 길이들의 평균 값을 계산하고 계산된 평균 값으로 상기 제 1 시구간(time-out)을 변경할 수 있다. 이때, 전자 장치(1410)는 상기 시간 길이들 중 지정된 비율의 상위 또는 하위 시간 길이들을 제외한 나머지 시간 길이들을 식별하고, 나머지 시간 길이들의 평균 값을 계산할 수도 있다.
이하에서는 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치의 동작의 또 다른 예에 대해서 설명한다.
다양한 실시예들에 따르면 "주 장치"로 설정되는 전자 장치(예: 전자 장치(1711))는 웨이크업-될 장치를 식별하는 동작을 수행한 결과에 따라서 최종적으로 식별된 웨이크-업될 장치에 대한 정보에 기반하여, 복수의 외부 전자 장치들(예: 외부 전자 장치들(1712, 1713))의 적어도 일부의 우선 순위를 변경할 수 있다.
도 16은 다양한 실시예들에 따른 전자 장치의 동작의 일 예를 설명하기 위한 흐름도(1600)이다. 다양한 실시예들에 따르면, 도 16에 도시되는 동작들은 도시되는 순서에 국한되지 않고 다양한 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면 도 16에 도시되는 동작들 보다 더 많은 동작들이 수행되거나, 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는, 도 17 내지 도 18을 참조하여 도 16에 대해서 설명한다.
도 17은 다양한 실시예들에 따른 전자 장치의 최종적으로 웨이크-업될 장치를 식별하는 동작의 일 예를 설명하기 위한 도면이다. 도 18은 다양한 실시예들에 따른 전자 장치의 복수의 외부 전자 장치들의 우선 순위를 변경하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(1711))는 1601 동작에서 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들(예: 외부 전자 장치들( 1712, 1713))과 통신 연결을 설정하고, 1602 동작에서 복수의 외부 전자 장치들의 적어도 일부로부터 특정 단어를 포함하는 사용자 발화와 연관된 정보를 수신할 수 있다. 예를 들어, "주 장치"로 설정된 전자 장치(1711)는 도 17의 1701에 도시된 바와 같이 일 환경 내(예: 가내)에 구비되는 다른 외부 전자 장치들(1712, 1713)과 통신 연결을 설정할 수 있다. 사용자가 일 환경 내에서 특정 단어를 발화(예: 제 1 사용자 발화)하는 경우, 전자 장치(1711)는 상기 통신 연결에 기반하여 다른 외부 전자 장치들(1712, 1713)로부터 다른 외부 전자 장치들(1712, 1713)이 획득한 사용자 발화와 연관된 정보(예: 사용자 발화의 세기에 대한 정보)를 수신할 수 있다. 상기 전자 장치(1711)의 1601 동작 내지 1602 동작은 상술한 전자 장치(1711)의 801 동작 및 전자 장치(1711)의 805 동작 내지 807 동작과 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(1711))는 1603 동작에서 수신된 적어도 하나의 정보 및 복수의 외부 전자 장치들(예: 외부 전자 장치들(1712, 1713))의 우선 순위에 대한 정보에 기반하여, 복수의 외부 전자 장치들 중 제 1 외부 전자 장치(예: 1712)를 웨이크-업 될 장치로 식별할 수 있다. 예를 들어, 전자 장치(1711)는 도 17의 1701에 도시된 바와 같이, 복수의 외부 전자 장치들(1712, 1713)로부터 수신된 복수의 SNR 값들(예: 170db, 160db)과 복수의 외부 전자 장치들(1712, 1713)의 우선 순위(예: 0.8, 0.7)에 기반하여 복수의 외부 전자 장치들(1712, 1713) 중 웨이크-업될 장치를 식별할 수 있다. 이때 상기 수신된 SNR 값들은 일 세션의 지정된 시구간(예: time-out) 동안 수신된 값들일 수 있다. 일 예로, 전자 장치(1711)는 복수의 SNR 값들의 비교 결과에 따라서, 가장 높은 SNR 값(예: 제 1 값)을 식별하고 식별된 가장 높은 SNR 값을 가지는 외부 전자 장치(1711)(예: 제 1 외부 전자 장치(1712))를 웨이크-업될 장치로 식별할 수 있다. 다른 예로, 전자 장치(1711)는 복수의 SNR 값들의 비교 결과에 따라서, 가장 높은 SNR 값(예: 170db)과 유사한 SNR 값(예: 160db)을 식별하고, 상기 식별된 유사한 SNR 값들에 대응하는 외부 전자 장치들(1712, 1713)(예: 제 1 외부 전자 장치(1712)와 제 2 외부 전자 장치(1713))을 식별할 수 있다. 전자 장치(1711)는 식별된 외부 전자 장치들(1712, 1713)에 대응하는(또는, 설정된) 우선 순위들(예: 0.8, 0.7)을 식별하고, 더 높은 우선 순위(예: 0.8)를 가지는 외부 전자 장치(1711)(예: 제 1 외부 전자 장치(1712))를 웨이크-업될 장치로 식별할 수 있다. 상기 전자 장치(1711)의 1603 동작은 상술한 전자 장치(1711)의 808 동작, 또 전자 장치(1711)의 1003 동작에서 기술된 바와 같이 수행될 수 있으므로, 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(1711))는 1604 동작에서 웨이크-업 될 장치가 재선택되는지 여부를 식별할 수 있다. 예를 들어, 전자 장치(1711)가 1603 동작에서 특정 외부 전자 장치(1711)가 웨이크-업되도록 제어한 후, 다른 외부 전자 장치(1711)를 웨이크-업될 장치로 재식별할 수 있다. 이하에서는 전자 장치(1711)의 다른 외부 전자 장치(1711)를 웨이크-업될 장치로 재식별하는 동작의 예들에 대해서 설명한다.
예를 들어, 전자 장치(1711)는 제 1 사용자 발화와는 다른 제 2 사용자 발화를 수신한 것에 기반하여, 다른 외부 전자 장치(예: 외부 전자 장치(1713))를 웨이크-업될 장치로 재식별할 수 있다. 일 예로 도 17의 1702에 도시된 바와 같이, 사용자는 기존의 위치(예: 제 2 외부 전자 장치(1713)에서 먼 위치)에서 다른 외부 전자 장치(1711)(예: 제 2 외부 전자 장치(1713))에 인접한 위치로 이동하여 특정 단어(예: 시동어)를 발화(예: 제 2 사용자 발화)할 수 있다. 전자 장치(1711)는 상기 제 2 사용자 발화의 수신한 것에 기반하여, 제 1 사용자 발화의 수신한 것에 기반하여 개시한 일 세션과는 다른 세션을 개시하며 웨이크-업될 장치를 재식별하는 동작을 수행할 수 있다. 전자 장치(1711)는 도 17의 1702에 도시된 바와 같이, 다른 세션의 지정된 시구간(예: time-out) 동안 수신된 SNR 값들을 비교하는 동작을 수행하여 가장 높은 SNR 값(예: 220db)을 가지는 제 2 외부 전자 장치(1713)를 웨이크-업될 장치로 재식별할 수 있다. 이때, 전자 장치(1711)는 상기 일 세션과 다른 세션 사이의 시간 차이(또는 웨이크-업될 장치를 최초에 식별한 시점과 다른 외부 전자 장치(1711)를 재식별한 시점 사이의 시간 차이, 또는 제 1 사용자 발화를 수신한 시점과 제 2 사용자 발화를 수신 시점 사이의 시간 차이)를 식별하고, 식별된 시간 차이가 기설정된 값 이하인 경우에 외부 전자 장치들(1712, 1713)의 우선 순위를 변경하는 동작(1721, 예: 0.7을 0.9로 변경)을 수행할 수 있다. 기재된 바에 국한되지 않고, 전자 장치(1711)는 일 세션과 다른 세션 사이의 시간 차이를 식별하지 않고, 외부 전자 장치들(1712, 1713)의 우선 순위를 변경하는 동작을 수행할 수 있다.
또 예를 들어, 전자 장치(1711)는 사용자의 다른 외부 전자 장치(예: 1713)를 웨이크-업될 장치로 입력하는 동작에 기반하여, 다른 외부 전자 장치(예: 1713)를 웨이크-업될 장치로 재식별할 수 있다. 일 예로, 다른 외부 전자 장치(1713)는 웨이크-업하기 위한 사용자의 입력을 수신(예: 장치의 디스플레이 상에 제공되는 인터페이스 상에서 웨이크-업될 장치로 선택하기 위한 입력을 수신)하고, 전자 장치(1711)는 상기 다른 외부 전자 장치(1711)로부터 상기 다른 외부 전자 장치(1713)가 웨이크-업됨을 알리는 메시지 또는 신호를 수신할 수 있다. 다른 예로, 전자 장치(1711)는 사용자로부터 직접 다른 외부 전자 장치(1713)를 웨이크-업시키기 위한 사용자의 입력을 수신(예: 전자 장치(1711)의 디스플레이 상에 제공되는 인터페이스 상에서 웨이크-업될 장치로 선택하기 위한 입력을 수신)할 수 있다. 또 다른 예로, 사용자는 사용자 단말을 통해 다른 외부 전자 장치(1713)를 웨이크-업시키고, 전자 장치(1711)는 사용자 단말 및/또는 지능형 서버(530)로부터 다른 외부 전자 장치(1711)가 웨이크-업됨을 알리는 메시지 또는 신호를 수신할 수 있다.
다양한 실시예들에 따르면 전자 장치(1711)는 외부 전자 장치(1711)가 재선택되는 것으로 식별되는 경우 1605 동작에서 웨이크-업될 장치로 재식별된 제 2 외부 전자 장치(1713)의 우선 순위를 변경할 수 있다. 예를 들어, 전자 장치(1711)는 도 17의 1702에 도시된 바와 같이 웨이크-업될 장치로 재식별된 제 2 외부 전자 장치(1713)의 우선 순위를 더 높게 설정할 수 있다. 일 예로, 전자 장치(1711)는 상기 제 2 외부 전자 장치(1713)의 우선 수위를 상기 최초에 웨이크-업될 장치로 식별된 제 1 외부 전자 장치(1712)의 우선 순위 보다 상기 우선 순위 보다 더 높게 설정할 수 있다. 이에 따라, 전자 장치(1711)는 도 18에 도시된 바와 같이, 사용자가 원래 위치(예: 제 2 외부 전자 장치(1713)에서 먼 거리)에서 발화한 경우에도, 전자 장치(1711)는 상기 제 2 외부 전자 장치(1713)의 우선 순위(예: 0.9)가 상기 제 1 외부 전자 장치(1712)의 우선 순위(예: 0.8) 보다 높은 것에 기반하여 상기 제 1 외부 전자 장치(1712)가 아닌 제 2 외부 전자 장치(1713)를 웨이크-업될 장치로 식별될 수 있다.
이하에서는 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치의 동작의 또 다른 예에 대해서 설명한다.
다양한 실시예들에 따르면 "주 장치"로 설정되는 전자 장치(예: 2010)는 "서브 장치"로 설정되는 다른 외부 전자 장치들(예: 2013, 2014, 2015, 2016)의 위치에 대한 정보를 기반으로, 웨이크-업될 장치를 식별하는 동작에서 이용되는 값들(예: time-out, 우선 순위)을 설정할 수 있다.
도 19는 다양한 실시예들에 따른 전자 장치의 동작의 일 예를 설명하기 위한 흐름도(1900)이다. 다양한 실시예들에 따르면, 도 19에 도시되는 동작들은 도시되는 순서에 국한되지 않고 다양한 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면 도 19에 도시되는 동작들 보다 더 많은 동작들이 수행되거나, 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는, 도 20a 내지 도 20b를 참조하여 도 19에 대해서 설명한다.
도 20a는 다양한 실시예들에 따른 전자 장치의 웨이크-업될 장치를 식별하는 동작의 수행 시 축적되는 다양한 정보에 기반하여 인공 지능 모델을 생성하는 동작의 일 예를 설명하기 위한 도면이다. 도 20b은 다양한 실시예들에 따른 전자 장치의 생성된 인공 지능 모델을 기반으로 웨이크-업될 장치를 식별하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(2010))는 1901 동작에서 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들(예: 외부 전자 장치들( 2013, 2014, 2015, 2016))과 통신 연결을 설정하고, 1902 동작에서 상기 복수의 외부 전자 장치들(2013, 2014, 2015, 2016)의 적어도 일부로부터 웨이크-업을 위한 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신할 수 있다. 예를 들어, "주 장치"로 설정된 전자 장치(2010)는 도 20a 내지 도 20b에 도시된 일 환경 내(예: 가내)에 구비되는 다른 외부 전자 장치들(2013, 2014, 2015, 2016)과 통신 연결을 설정할 수 있다. 사용자(예: 2011)가 일 환경 내에서 특정 단어(예: 시동어)를 발화(예: 제 1 사용자 발화)하는 경우, 전자 장치(2010)는 상기 통신 연결에 기반하여 다른 외부 전자 장치들(2013, 2014, 2015, 2016)로부터 다른 외부 전자 장치들(2013, 2014, 2015, 2016)이 획득한 사용자 발화와 연관된 정보(예: 사용자 발화의 세기에 대한 정보)를 수신할 수 있다. 상기 전자 장치(2010)의 1901 동작 내지 1902 동작은 상술한 전자 장치(2010)의 801 동작 및 전자 장치(2010)의 805 동작 내지 807 동작과 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자 장치(예: 전자 장치(2010))는 1903 동작에서 상기 복수의 외부 전자 장치들(예: 외부 전자 장치들(2013, 2014, 2015, 2016))의 적어도 일부의 위치에 대한 정보를 식별하고, 1904 동작에서 식별된 위치에 대한 정보를 기반으로 시구간에 대한 정보 또는 우선 순위에 대한 정보 중 적어도 하나를 설정할 수 있다. 예를 들어, 도 5b에서 상술한 바와 같이, 외부 전자 장치들(2013, 2014, 2015, 2016)은 환경 내의 위치(예: 방(2012), 주방(2021), 거실(2022)) 별로 등록될 수 있다. 전자 장치(2010)는 상기 외부 전자 장치들(2013, 2014, 2015, 2016) 중 적어도 일부로부터 사용자 발화와 연관된 정보를 수신하는 경우, 상기 외부 전자 장치들(2013, 2014, 2015, 2016)이 등록된 위치들에 기반하여 상기 외부 전자 장치들(2013, 2014, 2015, 2016)의 적어도 일부의 위치를 식별할 수 있다. 이하에서는 상기 전자 장치(2010)의 위치에 대한 정보를 기반으로, 값들(예: 타임 아웃, 우선 순위)을 설정하는 동작들의 예에 대해서 설명한다.
다양한 실시예들에 따르면 전자 장치(2010)는 환경 내의 위치들(예: 방(2012), 주방(2021), 거실(2022)) 별로 값들(예: time-out, 우선 순위)을 설정하고 관리할 수 있다. 예를 들어, 전자 장치(2010)는 특정 위치들 별로 타임-아웃과 우선 순위에 대한 정보를 설정할 수 있다. 일 예로 도 20a의 2001에 도시된 바와 같이 환경 내의 특정 위치(예: 방(2012))에서 사용자(2011)가 웨이크-업 발화를 수행하는 경우, 전자 장치(2010)는 특정 위치(예: 방(2012))에 위치된 적어도 하나의 외부 전자 장치(2013)로부터 사용자 발화(예: 웨이크-업 발화)와 연관된 정보를 수신할 수 있다. 환경 내의 다른 위치(예: 주방(2021), 거실(2022))에 위치된 외부 전자 장치들(2014, 2015, 2016)의 경우 사용자 발화를 수신하지 못하거나 임계값 미만의 세기의 사용자 발화를 수신하게 되어, “주 장치”로 설정된 전자 장치(2010)로 사용자 발화와 연관된 정보를 송신하지 않을 수 있다. 전자 장치(2010)는 특정 위치(예: 방(2012))에 위치된 적어도 하나의 외부 전자 장치(2012)로부터 상기 사용자(2011)의 발화와 연관된 정보를 수신함에 기반하여, 웨이크-업 될 장치를 식별하는 동작을 수행할 수 있다. 전자 장치(2010)는 웨이크-업 될 장치를 식별하는 동작을 수행하는 동안 도 13 내지 도 15에서 상술한 일 세션 동안 수신되는 정보들의 수신 시점에 대한 정보 또는 도 16 내지 도 18에서 상술한 웨이크-업될 장치로 재식별된 장치에 대한 정보 중 적어도 하나를 획득하고, 획득된 정보를 기반으로 타임-아웃 또는 우선 순위 중 적어도 하나를 설정 및/또는 변경할 수 있다. 상기 전자 장치(2010)의 타임-아웃 또는 우선 순위 중 적어도 하나를 설정 및/또는 변경하는 동작은 도 13 내지 도 18에서 기술된 바와 같이 수행될 수 있으므로 중복되는 설명은 생략한다. 전자 장치(2010)는 설정된 타임-아웃 또는 설정된 우선 순위에 대한 정보를 상기 특정 위치(예: 방(2012))에 연관되도록 저장하여 관리할 수 있다. 이후, 전자 장치(2010)는 특정 위치(예: 방(2012))로 등록된 적어도 하나의 외부 전자 장치(2010)로부터 사용자 발화와 연관된 정보를 수신하는 경우, 상기 특정 위치(예: 방(2012))에 연관되도록 저장된 타임-아웃과 우선 순위에 대한 정보를 기반으로 웨이크-업될 장치를 식별하는 동작을 수행할 수 있다. 또 예를 들어, 도 20a의 2002에 도시된 바와 같이 전자 장치(2010)가 적어도 둘 이상의 위치들(예: 주방(2021) 및 거실(2022))에 위치된 외부 전자 장치들(2014, 2015, 2016)로부터 사용자 발화와 연관된 정보를 수신하는 경우, 타임-아웃 또는 우선 순위 중 적어도 하나를 설정 및/또는 변경하고 상기 적어도 둘 이상의 위치들(예: 주방(2021) 및 거실(2022))에 연관되도록 저장할 수도 있다.
상술한 바와 같이 전자 장치(2010)가 환경 내의 위치 별로 우선 순위와 타임 아웃을 관리함에 따라, 사용자(2011)가 환경 내의 서로 다른 위치에서 웨이크-업 발화하는 경우 서로 다른 위치 별 상황(예: 위치 별로 구비된 외부 전자 장치들(2013, 2014, 2015, 2016))에 적합한 타임-아웃과 우선 순위에 기반하여 최적의 웨이크-업될 장치를 식별하는 동작(예: 불필요하게 타임-아웃이 길게 유지되지 않게 됨)이 수행될 수 있다.
또 다양한 실시예들에 따르면 전자 장치(2010)는 도 20b의 2051 내지 205502에 도시된 바와 같이 기설정된 수 이상의 외부 전자 장치들(2014, 2015, 2016)로부터 정보를 수신하는 경우에, 값들(예: 타임-아웃, 우선 순위)을 설정 및/또는 변경하는 동작을 수행할 수 있다. 상기 기설정된 수는 등록된 외부 전자 장치들(2014, 2015, 2016)의 수의 일정 비율만큼의 수일 수 있다.
이하에서는 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치의 동작의 또 다른 예에 대해서 설명한다.
다양한 실시예들에 따르면 "주 장치"로 설정되는 전자 장치(예: 전자 장치(2301))는 웨이크-업될 장치를 식별하는 동작들 각각을 수행하는 중에 다양한 정보들을 축적하고, 축적된 다양한 정보들(예: 외부 전자 장치들(예: 2302, 2303, 2304)의 상태 정보, 외부 전자 장치들의 SNR에 대한 정보, 최초 선정 기기 정보)을 기반으로 인공 지능 모델을 생성할 수 있다. 상기 전자 장치는 웨이크-업될 장치를 식별하는 동작의 수행 시 획득되는 다양한 정보를 사익 생성된 인공 지능 모델에 입력하여, 출력되는 외부 전자 장치를 웨이크-업될 장치로 식별할 수 있다.
도 21은 다양한 실시예들에 따른 설정된 전자 장치의 동작의 일 예를 설명하기 위한 흐름도(2100)이다. 다양한 실시예들에 따르면, 도 21에 도시되는 동작들은 도시되는 순서에 국한되지 않고 다양한 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면 도 21에 도시되는 동작들 보다 더 많은 동작들이 수행되거나, 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는, 도 22 내지 도 23을 참조하여 도 21에 대해서 설명한다.
도 22는 다양한 실시예들에 따른 전자 장치의 웨이크-업될 장치를 식별하는 동작의 수행 시 축적되는 다양한 정보에 기반하여 인공 지능 모델을 생성하는 동작의 일 예를 설명하기 위한 도면이다. 도 23은 다양한 실시예들에 따른 전자 장치의 생성된 인공 지능 모델을 기반으로 웨이크-업될 장치를 식별하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면 전자 장치(예: 도 23의 2301도 23의 전자 장치(2301))는 2101 동작에서 웨이크-업될 장치를 식별하는 동작들을 수행하고, 각각의 웨이크-업될 장치를 식별하는 동작들의 수행 시 다양한 정보를 저장할 수 있다. 예를 들어, “주 기기”로 설정된 전자 장치(예: 도 23의 전자 장치(2301))는 특정 단어를 포함하는 사용자 발화를 수신하거나, 또는 “서브 장치”로 설정된 외부 전자 장치들(예: 도 23의 외부 전자 장치들(230032, 2303, 2304))로부터 사용자 발화와 연관된 정보를 수신한 것에 기반하여, 웨이크-업될 장치를 식별하기 위한 동작들을 복수 회 수행할 수 있다. 전자 장치(예: 도 23의 2301도 23의 전자 장치(2301))는 상기 웨이크-업될 장치를 식별하기 위한 세션들을 설정 및/또는 개시하고, 상기 세션들 동안 획득되는 다양한 정보들을 축적할 수 있다. 예를 들어, 상기 다양한 정보는 도 22의 2201에 도시된 바와 같이 외부 전자 장치들(예: 도 23의 외부 전자 장치들(20322302, 2303, 2304))의 상태에 대한 정보(장치별 상태 정보), 외부 전자 장치의 SNR 값에 대한 정보(장치 별 SNR 정보), 외부 전자 장치들(예: 도 23의 외부 전자 장치들(23022032, 2303, 2304))의 우선 순위에 대한 정보(미도시), 최초에 웨이크-업될 장치로 식별된 외부 전자 장치에 대한 정보(예: 초기 선정 정보), 및 최초에 웨이크-업될 장치가 식별된 이후 최종적으로 웨이크-업될 장치로 식별된 외부 전자 장치에 대한 정보(예: 최종 선정 정보)를 포함할 수 있다. 일 예로, 전자 장치(예: 도 23의 전자 장치(2301))는 웨이크-업될 장치를 식별하는 동작의 수행 시 복수의 외부 전자 장치들(예: 도 23의 외부 전자 장치들(23022032, 2303, 2304))의 각각으로부터 사용자 발화와 연관된 정보(예: SNR 값에 대한 정보)와 함께, 외부 전자 장치의 상태에 대한 정보를 더 수신할 수 있다. 외부 전자 장치는 사용자 발화를 수신하는 경우, 상기 사용자 발화를 수신한 것에 기반하여 사용자 발화와 연관된 정보와 함께 외부 전자 장치의 상태에 대한 정보를 식별하고, 식별된 정보들을 전자 장치(예: 도 23의 전자 장치(2301))로 전송할 수 있다. 상기 상태에 대한 정보는 각각의 외부 전자 장치들(예: 도 23의 외부 전자 장치들(23022032, 2303, 2304))의 종류(예: TV, 핸드폰, 에어컨, 웨어러블 와치, 냉장고, 로봇 청소기, 스피커) 별로 센싱 및/또는 식별 가능한 외부 전자 장치의 상태에 대한 정보를 포함할 수 있다. 예를 들어, 상기 상태에 대한 정보는 도 22의 2201에 도시된 바와 같이 충전 상태에 대한 정보, 어플리케이션 실행 상태에 대한 정보(예: 포어그라운드 모드로 실행 중인 어플리케이션을 나타내는 정보), 현재 온도에 대한 정보, 및 현재 설정된 모드에 대한 정보를 포함할 수 있다. 상기 상태 정보는 기재된 바에 국한되지 않고, 장치의 종류들 별로 센싱 가능한 다양한 종류의 정보를 포함할 수 있다.
다양한 실시예들에 따르면 전자 장치(예: 도 23의 전자 장치(2301))는 2102 동작에서 축적된 정보를 기반으로 학습을 수행하여, 인공 지능 모델을 생성할 수 있다. 예를 들어, 전자 장치(예: 도 23의 전자 장치(2301))는 도 22의 2202에 도시된 바와 같이 인공 지능 러닝 알고리즘(예: 머신 러닝 알고리즘, 딥 러닝 알고리즘)을 기반으로 상술한 다양한 정보를 트레이닝 데이터(training data)로 하여 학습(예: 머신 러닝(machine learning), 또는 딥 러닝(deep learning))을 수행할 수 있다. 상기 인공 지능 러닝 알고리즘으로서 일반적인 앙상블(ensemble)과 같은 인공 지능 런이 알고리즘 이외에도, 다양한 종류의 머신 러닝 또는 딥 러닝 알고리즘이 이용될 수 있으므로 이에 대한 설명은 생략한다. 전자 장치(예: 도 23의 전자 장치(2301))는 상술한 다양한 정보 중 최종 선정 정보(즉, 웨이크-업 장치로 최종 식별된 외부 전자 장치에 대한 정보)를 생성될 인공 지능 모델의 아웃풋 데이터(output data)로 설정하고, 나머지 정보들(예: 외부 전자 장치들(예: 도 23의 외부 전자 장치들(23022032, 2303, 2304))의 상태에 대한 정보(상태 정보), 외부 전자 장치의 SNR 값에 대한 정보(SNR 정보), 외부 전자 장치들(예: 도 23의 외부 전자 장치들(23022032, 2303, 2304))의 우선 순위에 대한 정보(우선 순위 정보), 및 초기 선정 정보)을 생성될 인공 지능 모델의 인풋 데이터(input data)로 설정하여 러닝을 수행할 수 있다. 일 예로, 전자 장치(예: 도 23의 전자 장치(2301))는 도 22의 2202에 도시된 바와 같이 인풋 데이터(input data)로 설정된 정보들(예: 도 22의 2202에 도시된 바와 같이 상태 정보, SNR 정보, 우선 순위 정보, 및 초기 선정 정보) 별로 아웃풋 데이터(output data)로 설정된 웨이크-업 장치로 최종 식별된 외부 전자 장치들(예: 도 23의 외부 전자 장치들(23022032, 2303, 2304)) 별로 가중치를 부여하는 동작을 수행하여, 인공 지능 모델(2231)(예: 머신 러닝 모델(machine learning model), 딥 러닝 모델(deep learning model))을 생성할 수 있다. 상기 생성된 인공 지능 모델(2231)은 도 22의 2203에 도시된 바와 같이, 상태 정보, SNR 정보, 우선 순위 정보, 및 초기 선정 정보를 입력 받은 것에 대한 응답으로, 최종 식별된 외부 전자 장치를 출력하도록 설정될 수 있다. 상기 최종 식별된 외부 전자 장치는 현재 세션에서 웨이크-업될 장치로 식별될 수 있다.
다양한 실시예들에 따르면 전자 장치(예: 도 23의 전자 장치(2301))는 2103 동작에서 생성된 인공 지능 모델을 기반으로, 웨이크-업될 장치를 식별하는 동작을 수행할 수 있다. 예를 들어, 전자 장치(2301)는 도 23에 도시된 바와 같이, 지능형 음성 서비스의 제공을 개시하기 위한 특정 단어를 포함하는 사용자 발화를 수신하는 경우, 일 세션을 설정 및/또는 개시하고 일 세션 동안 외부 전자 장치들(23022032, 2303, 2304)로부터 사용자 발화의 세기(예: SNR 값)에 대한 정보와 함께, 상태 정보(2311, 2312, 2313)를 획득할 수 있다. 또, 전자 장치(도 23의 전자 장치(2301))는 일 세션 동안 정보를 송신한 외부 전자 장치들(23022032, 2303, 2304)에 대한 우선 순위에 대한 정보를 식별할 수 있다. 또, 전자 장치(예: 도 23의 2301도 23의 전자 장치(2301))는 SNR 정보 또는 우선 순위에 대한 정보에 기반하여 웨이크-업될 장치를 식별(즉, 최초 선정 정보를 획득) 할 수 있다. 전자 장치(예: 도 23의 2301도 23의 전자 장치(2301))는 생성된 인공 지능 모델(2231)에 상기 획득된 상태 정보, SNR 정보, 우선 순위에 대한 정보, 및 최초 선정 정보를 입력하고, 상기 인공 지능 모델(2231)로부터 출력되는 최종 선정된 장치(2304)에 대한 정보를 획득할 수 있다. 전자 장치(예: 도 23의 전자 장치(2301))는 상기 최종 선정된 장치(2304)를 웨이크-업될 장치로 식별하고, 해당 장치(2304)가 웨이크-업되도록 제어(예: 해당 장치(2304)가 웨이크-업될 장치로 식별됨을 나타내는 결과 정보를 해당 장치(2304)로 전송)할 수 있다.
한편 기재된 바에 국한되지 않고, 상기 인공 지능 모델(2231)은 우선 순위에 대한 정보, 또는 타임-아웃에 대한 정보를 출력하도록 생성될 수도 있다. 예를 들어, 전자 장치(예: 도 23의 전자 장치(2301)2301)는 축적된 정보들 중 우선 순위에 대한 정보 또는 타임-아웃에 대한 정보를 아웃풋 데이터(output data)로 설정하고, 우선 순위에 대한 정보 또는 타임-아웃에 대한 정보를 제외한 나머지 정보들 중 적어도 하나(예: 상태 정보, SNR 정보, 최초 선정 정보, 또는 최종 선정 정보 중 적어도 하나)를 입력 데이터로 설정하여 러닝을 수행할 수 있다. 상기 러닝의 수행에 따라 생성된 인공 지능 모델(2231)은 상태 정보, SNR 정보, 최초 선정 정보, 또는 최종 선정 정보 중 적어도 하나를 입력 받은 것에 대한 응답으로, 우선 순위에 대한 정보 또는 타임-아웃에 대한 정보를 출력할 수 있다. 전자 장치(예: 도 23의 전자 장치(2301)2301)는 일 세션 동안 수신되는 정보를 인공 지능 모델(2231)이 입력하여 출력되는 상기 우선 순위에 대한 정보로 장치들 별 우선 순위를 설정하거나 또는 출력되는 상기 타임-아웃에 대한 정보로 타임-아웃을 설정하고, 웨이크-업될 장치를 식별하는 동작을 수행할 수 있다.
이하에서는 다양한 실시예들에 따른 IOT 시스템에 포함된 전자 장치의 동작의 또 다른 예에 대해서 설명한다.
다양한 실시예들에 따르면 "주 장치"로 설정되는 전자 장치(예: 2510)는 환경 내에 새로운 장치(예: 2521)가 구비되는 경우, 웨이크-업될 장치를 식별하는 동작에서 이용되는 값들(예: time-out, 및 우선 순위)을 갱신할 수 있다.
도 24는 다양한 실시예들에 따른 설정된 전자 장치의 동작의 일 예를 설명하기 위한 흐름도(2400)이다. 다양한 실시예들에 따르면, 도 24에 도시되는 동작들은 도시되는 순서에 국한되지 않고 다양한 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면 도 24에 도시되는 동작들 보다 더 많은 동작들이 수행되거나, 더 적은 적어도 하나의 동작이 수행될 수도 있다. 이하에서는, 도 25를 참조하여 도 24에 대해서 설명한다.
도 25는 다양한 실시예들에 따른 전자 장치의 웨이크-업될 장치를 식별하는 동작의 수행 시 축적되는 다양한 정보에 기반하여 인공 지능 모델을 생성하는 동작의 일 예를 설명하기 위한 도면이다.
다양한 실시예들에 따르면 전자 장치(예: 2510)는 2401 동작에서 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치(예: 2511, 2512, 2513, 2514, 2515예: 외부 전자 장치들(2511, 2512, 2513, 2514, 2515))들과 통신 연결을 설정할 수 있다. 예를 들어, 전자 장치(2510)는 예를 들어, "주 장치"로 설정된 전자 장치(2510)는 도 25의 2501에 도시된 일 환경 내(예: 가내)에 구비되는 다른 외부 전자 장치(2511, 2512, 2513, 2514, 2515)들과 통신 연결을 설정(예: 중계기를 통한 통신 연결 설정)할 수 있다. 전자 장치(2510)의 2401 동작은 전자 장치(2510)의 801 동작과 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자 장치(예: 2510예: 전자 장치(2510))는 2402 동작에서 상기 통신 연결을 설정한 상기 복수의 외부 전자 장치(예: 2511, 2512, 2513, 2514, 2515예: 외부 전자 장치들(2511, 2512, 2513, 2514, 2515))들 중 일부를 웨이크-업 시키기 위한 동작을 수행하는 동안 제 1 정보를 축적할 수 있다. 예를 들어, 전자 장치(2510)는 환경 내에서 발생되는 사용자의 웨이크-업 발화에 기반하여, 웨이크-업될 장치를 식별하는 동작을 수행하는 동안 획득되는 정보들을 축적할 수 있다. 상기 정보들은 도 13 내지 도 15에서 상술한 일 세션 동안 복수의 외부 전자 장치(2511, 2512, 2513, 2514, 2515)들로부터 수신되는 정보들의 수신 시점, 도 16 내지 도 18에서 상술한 웨이크-업될 장치로 재식별된 외부 전자 장치(2511, 2512, 2513, 2514, 2515)에 대한 정보, 또는 도 21 내지 도 23에서 상술한 다양한 정보(예: 외부 전자 장치(2511, 2512, 2513, 2514, 2515)의 상태 정보, SNR 정보, 최초 선정 정보, 최종 선정 정보)를 포함할 수 있다.
다양한 실시예들에 따르면 전자 장치(예: 2510예: 전자 장치(2510))는 2403 동작에서 상기 축적된 제 1 정보에 기반하여 시구간, 또는 우선 순위 중 적어도 하나를 설정할 수 있다. 예를 들어, 전자 장치(2510)는 도 13 내지 도 15에서 상술한 바와 같이 일 세션 동안 수신된 복수의 외부 전자 장치(2511, 2512, 2513, 2514, 2515)들로부터 수신된 정보의 수신 시점에 기반하여 타임-아웃을 설정(예: 연장, 또는 단축)할 수 있다. 또 예를 들어, 전자 장치(2510)는 도 16 내지 도 18에서 상술한 바와 같이 웨이크-업될 장치로 재식별된 외부 전자 장치에 대한 정보를 기반으로 재식별된 외부 전자 장치(2511, 2512, 2513, 2514, 2515)의 우선 순위를 변경할 수 있다. 또 예를 들어, 전자 장치(2510)는 도 21 내지 도 23에서 상술한 인공 지능 모델을 생성하고 생성된 인공 지능 모델에 기반하여 타임-아웃 또는 우선 순위를 설정할 수도 있다. 전자 장치(2510)의 2403 동작은 도 13내지 도 15, 도 16 내지 도 18, 및 도 21 내지 도 23에서 기술된 바와 같이 수행될 수 있으므로 중복되는 설명은 생략한다.
다양한 실시예들에 따르면 전자 장치(예: 2510예: 전자 장치(2510))는 2404 동작에서 상기 복수의 외부 전자 장치(예: 2511, 2512, 2513, 2514, 2515예: 외부 전자 장치들(2511, 2512, 2513, 2514, 2515))들과 다른 제 1 외부 전자 장치(예: 2521)와 통신 연결을 설정할 수 있다. 예를 들어, 도 25의 2502에 도시된 바와 같이, 환경 내에 새로운 장치(예: 제 1 외부 전자 장치(2521))가 구비되고, 새로이 구비된 장치는 다른 외부 전자 장치(2511, 2512, 2513, 2514, 2515)들과 통신 연결(예: AP(540)를 통해 통신 연결)을 설정하며 지능형 서버(530)에 등록될 수 있다. 상기 등록에 기반하여, “주 장치”로 설정된 전자 장치(2510)는 상기 등록된 제 1 외부 전자 장치(2521)에 대한 정보(예: 식별 정보, 및 우선 순위에 대한 정보)를 식별할 수 있다.
다양한 실시예들에 따르면 전자 장치(에: 2510)는 2405 동작에서 상기 복수의 외부 전자 장치(예: 2511, 2512, 2513, 2514, 2515예: 외부 전자 장치들(2511, 2512, 2513, 2514, 2515))들 및 상기 제 1 외부 전자 장치(예: 2521) 중 일부를 웨이크-업 시키기 위한 동작을 수행하는 동안 제 2 정보를 저장할 수 있다. 예를 들어, 상기 새로 구비된 장치(예: 제 1 외부 전자 장치(2521))가 구비된 상태에서 사용자가 웨이크-업 발화를 수행하는 경우, 전자 장치(2510)는 상기 새로이 구비된 장치(2521) 및 기존에 구비된 외부 전자 장치(2511, 2512, 2513, 2514, 2515)들로부터 사용자 발화와 연관된 정보(예: 사용자 발화의 세기에 대한 정보)를 수신하여 웨이크-업될 장치를 식별하는 동작을 수행할 수 있다. 전자 장치(2510)는 상기 웨이크-업될 장치를 식별하는 동작을 수행하는 중에, 상술한 정보들(예: 도 13 내지 도 15에서 기술한 수신 시점에 대한 정보, 도 15 내지 도 18에서 기술한 웨이크-업될 장치로 재식별된 외부 전자 장치에 대한 정보, 도 21 내지 도 23에서 기술한 축적되는 다양한 정보)을 획득할 수 있다.
다양한 실시예들에 따르면 전자 장치(2510)는 2406 동작에서 상기 저장된 제 2 정보에 기반하여 시구간, 또는 우선 순위 중 적어도 하나를 재설정할 수 있다. 예를 들어, 전자 장치(2510)는 도 13 내지 도 15에서 기술한 바와 같이 상기 새로 구비된 장치(2321)로부터 수신되는 정보의 수신 시점에 기반하여 미리 설정된 타임-아웃을 단축하거나 또는 연장할 수 있다. 또 예를 들어, 전자 장치(2510)는 도 15 내지 도 18에서 기술한 바와 같이 웨이크-업될 장치로 재식별되는 외부 전자 장치가 존재하는 경우, 상기 외부 전자 장치(2511, 2512, 2513, 2514, 2515)의 우선 순위를 변경할 수 있다. 또 예를 들어, 전자 장치(2510)는 도 21 내지 도 23에서 기술한 바와 같이 상기 새로 구비된 장치의 상태 정보, SNR 정보와 같은 정보를 미리 축적된 다양한 정보에 갱신하여, 갱신된 다양한 정보를 기반으로 새로운 인공 지능 모델을 생성하고, 생성된 모델을 기반으로 타임-아웃 또는 우선 순위를 재설정할 수도 있다.
도 26은, 다양한 실시예들에 따른, 네트워크 환경(2600) 내의 전자 장치(2601)의 블럭도이다. 이하에서 기술되는 네트워크 환경(2600) 내의 전자 장치(2601)에 대한 설명은, 상술한 IOT 시스템에 구비되는 전자 장치들의 설명에 준용될 수 있으므로 중복되는 설명은 생략한다.
도 26을 참조하면, 네트워크 환경(2600)에서 전자 장치(2601)는 제 1 네트워크(2698)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(2602)와 통신하거나, 또는 제 2 네트워크(2699)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(2604) 또는 서버(2608)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(2601)는 서버(2608)를 통하여 전자 장치(2604)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(2601)는 프로세서(2620), 메모리(2630), 입력 장치(2650), 음향 출력 장치(2655), 표시 장치(2660), 오디오 모듈(2670), 센서 모듈(2676), 인터페이스(2677), 햅틱 모듈(2679), 카메라 모듈(2680), 전력 관리 모듈(2688), 배터리(2689), 통신 모듈(2690), 가입자 식별 모듈(2696), 또는 안테나 모듈(2697)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(2601)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(2660) 또는 카메라 모듈(2680))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(2676)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(2660)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(2620)는, 예를 들면, 소프트웨어(예: 프로그램(2640))를 실행하여 프로세서(2620)에 연결된 전자 장치(2601)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(2620)는 다른 구성요소(예: 센서 모듈(2676) 또는 통신 모듈(2690))로부터 수신된 명령 또는 데이터를 휘발성 메모리(2632)에 로드하고, 휘발성 메모리(2632)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(2634)에 저장할 수 있다. 일실시예에 따르면, 프로세서(2620)는 메인 프로세서(2621)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(2623)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(2623)은 메인 프로세서(2621)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(2623)는 메인 프로세서(2621)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(2623)는, 예를 들면, 메인 프로세서(2621)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(2621)를 대신하여, 또는 메인 프로세서(2621)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(2621)와 함께, 전자 장치(2601)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(2660), 센서 모듈(2676), 또는 통신 모듈(2690))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(2623)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(2680) 또는 통신 모듈(2690))의 일부로서 구현될 수 있다.
메모리(2630)는, 전자 장치(2601)의 적어도 하나의 구성요소(예: 프로세서(2620) 또는 센서모듈(2676))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(2640)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(2630)는, 휘발성 메모리(2632) 또는 비휘발성 메모리(2634)를 포함할 수 있다.
프로그램(2640)은 메모리(2630)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(2642), 미들 웨어(2644) 또는 어플리케이션(2646)을 포함할 수 있다.
입력 장치(2650)는, 전자 장치(2601)의 구성요소(예: 프로세서(2620))에 사용될 명령 또는 데이터를 전자 장치(2601)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(2650)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(2655)는 음향 신호를 전자 장치(2601)의 외부로 출력할 수 있다. 음향 출력 장치(2655)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(2660)는 전자 장치(2601)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(2660)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(2660)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(2670)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(2670)은, 입력 장치(2650) 를 통해 소리를 획득하거나, 음향 출력 장치(2655), 또는 전자 장치(2601)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(2602)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(2676)은 전자 장치(2601)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(2676)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(2677)는 전자 장치(2601)이 외부 전자 장치(예: 전자 장치(2602))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(2677)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(2678)는, 그를 통해서 전자 장치(2601)가 외부 전자 장치(예: 전자 장치(2602))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(2678)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(2679)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(2679)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(2680)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(2680)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(2688)은 전자 장치(2601)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(2688)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(2689)는 전자 장치(2601)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(2689)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(2690)은 전자 장치(2601)와 외부 전자 장치(예: 전자 장치(2602), 전자 장치(2604), 또는 서버(2608))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(2690)은 프로세서(2620)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(2690)은 무선 통신 모듈(2692)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(2694)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(2698)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(2699)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(2692)은 가입자 식별 모듈(2696)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(2698) 또는 제 2 네트워크(2699)와 같은 통신 네트워크 내에서 전자 장치(2601)를 확인 및 인증할 수 있다.
안테나 모듈(2697)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB(printed circuit board)) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(2697)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(2698) 또는 제 2 네트워크(2699)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(2690)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(2690)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(2697)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(2699)에 연결된 서버(2608)를 통해서 전자 장치(2601)와 외부의 전자 장치(2604)간에 송신 또는 수신될 수 있다. 전자 장치(2602, 2604) 각각은 전자 장치(2601)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(2601)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(2602, 2604, 또는 2608) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(2601)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(2601)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(2601)로 전달할 수 있다. 전자 장치(2601)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나,”"A, B 또는 C," "A, B 및 C 중 적어도 하나,”및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(2601)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(2636) 또는 외장 메모리(2638))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(2640))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(2601))의 프로세서(예: 프로세서(2620))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 도 5a의 503)에 있어서, 통신 회로; 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 메모리에 저장된 인스트럭션들이 실행되는 경우, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)과 통신 연결을 설정하고, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 적어도 일부로부터 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신하고, 상기 웨이크-업될 장치를 식별하기 위한 시구간(예: time-out) 동안 수신된 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 적어도 일부 중 웨이크-업 될 장치를 식별하고, 상기 시구간(예: time-out) 이후 적어도 하나의 제 2 정보가 수신되는 경우, 상기 적어도 하나의 제 2 정보의 수신 시점에 기반하여, 상기 시구간(예: time-out)을 상기 시구간(예: time-out) 보다 긴 제 1 시구간(예: time-out)으로 변경하도록 하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 전자 장치(예: 도 5a의 503)는 주 장치로 설정되고, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)은 서브 장치들로 설정되고, 상기 주 장치는 상기 서브 장치들 중 상기 웨이크-업 될 장치를 식별하도록 설정된, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 웨이크-업될 장치는 제 1 외부 전자 장치고, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 제 1 외부 전자 장치가 웨이크-업 되도록 제어하도록 하고, 상기 웨이크-업된 제 1 외부 전자 장치는 상기 제 1 외부 전자 장치의 제어를 위한 제 1 사용자 발화를 수신하고 처리 가능하게 되는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 웨이크-업될 장치는 제 1 외부 전자 장치고, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 적어도 하나의 제 1 정보와 상기 수신된 적어도 하나의 제 2 정보에 기반하여 상기 웨이크-업될 장치를 재식별하는 경우, 상기 제 1 외부 전자 장치와는 다른 상기 적어도 하나의 제 2 정보에 대응하는 적어도 하나의 제 2 외부 전자 장치를 상기 웨이크-업될 장치로 식별하고, 상기 웨이크-업될 장치로 상기 적어도 하나의 제 2 외부 전자 장치가 식별됨에 기반하여 상기 시구간(예: time-out)을 상기 제 1 시구간(예: time-out)으로 변경하도록 하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 적어도 하나의 제 2 정보의 수가 복수 개인 경우, 상기 적어도 하나의 제 2 정보의 적어도 하나의 수신 시점 중 가장 늦은 수신 시점에 기반하여 상기 시구간(예: time-out)을 상기 제 1 시구간(예: time-out)으로 변경하도록 하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 시구간(예: time-out) 이후 적어도 하나의 제 2 정보가 수신되지 않는 경우, 상기 시구간(예: time-out) 동안 수신된 적어도 하나의 제 1 정보 중 가장 늦게 수신된 제 3 정보를 식별하고, 식별된 제 3 정보의 수신 시점에 기반하여, 상기 시구간(예: time-out)을 상기 시구간(예: time-out) 보다 짧은 제 2 시구간(예: time-out)으로 변경하도록 하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 제 1 시구간(예: time-out)과 상기 제 2 시구간(예: time-out)의 평균 값을 계산하고, 상기 시구간(예: time-out)을 상기 계산된 평균 값으로 변경하도록 하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나의 제 1 정보는 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 적어도 일부에서 식별된 상기 사용자 발화와 연관된 세기에 대한 정보를 포함하고, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 적어도 일부 중 상기 사용자 발화와 연관된 가장 높은 세기에 대한 정보를 송신한 상기 제 1 외부 전자 장치를 식별하도록 하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 메모리는 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 상기 웨이크-업될 장치로 식별되기 위한 우선 순위에 대한 정보를 저장하고, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 적어도 일부 중 상기 웨이크-업될 장치로서 상기 제 1 외부 전자 장치와 제 2 외부 전자 장치를 식별하고, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 상기 우선 순위에 대한 정보를 기반으로, 상기 제 1 외부 전자 장치와 상기 제 2 외부 전자 장치 중 우선 순위가 더 높은 상기 제 1 외부 전자 장치를 상기 웨이크-업될 장치로 식별하도록 하는, 전자 장치(예: 도 5a의 503).
다양한 실시예들에 따르면, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 제 1 외부 전자 장치를 상기 웨이크-업될 상기 장치로 식별한 이후, 상기 제 2 외부 전자 장치가 상기 웨이크-업될 장치로 재식별됨을 식별하고, 상기 제 2 외부 전자 장치가 상기 웨이크-업될 장치로 재식별됨에 기반하여, 상기 제 2 외부 전자 장치의 우선 순위를 상기 제 1 외부 전자 장치의 우선 순위 보다 높은 우선 순위로 변경하도록 하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 적어도 하나의 정보의 수신 전에 수행된 웨이크-업될 장치를 식별하는 적어도 하나의 동작에서 획득된 정보를 축적하도록 하고, 축적된 정보는 상기 적어도 하나의 정보를 수신하기 이전에 수행된 상기 웨이크-업을 위한 동작들 각각에서 획득되는 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 각각의 SNR에 대한 정보, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 각각으로부터 정보가 수신된 시점에 대한 정보, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 각각의 상태와 연관된 정보, 최초에 웨이크-업 되는 것으로 식별된 장치에 대한 정보, 및 최종적으로 웨이크-업된 장치에 대한 정보 중 적어도 하나를 포함하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)과 연관된 정보에 기반하여 상기 웨이크-업될 장치를 식별하는 동작에서 이용되는 값을 설정하고, 상기 값은 상기 웨이크-업을 위해 처리될 상기 사용자 음성과 연관된 정보를 획득하기 위한 상기 시구간(예: time-out), 또는 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 각각을 웨이크-업 될 장치로 식별하기 위한 우선 순위 중 적어도 하나를 포함하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)과 연관된 정보 중 적어도 일부를 트레이닝 데이터로 하여 인공 지능 모델 생성을 위한 알고리즘에 기반하여 학습을 수행하도록 하고, 상기 인공 지능 모델은 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 각각의 SNR에 대한 정보, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 각각의 상태와 연관된 정보, 및 최초에 웨이크-업 되는 것으로 식별된 장치에 대한 정보가 입력된 것에 대한 응답으로 최종적으로 웨이크-업될 장치에 대한 정보를 출력하도록 설정되는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 중 적어도 일부로부터 수신된 적어도 하나의 정보로부터, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 중 적어도 일부의 각각의 SNR에 대한 제 1 정보, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 중 적어도 일부의 각각의 상태와 연관된 제 2 정보를 식별하고, 상기 적어도 하나의 정보에 기반하여 결정되는 웨이크-업 되는 것으로 식별된 장치에 대한 제 3 정보를 식별하고, 상기 제 1 정보, 상기 제 2 정보, 및 상기 제 3 정보를 상기 인공 지능 모델에 입력하여 상기 인공 지능 모델로부터 출력되는 상기 웨이크-업 될 상기 장치를 식별하도록 하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 도 5a의 503)의 동작 방법에 있어서, 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)과 통신 연결을 설정하는 단계; 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 적어도 일부로부터 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신하는 단계; 상기 웨이크-업될 장치를 식별하기 위한 시구간(예: time-out) 동안 수신된 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 적어도 일부 중 웨이크-업 될 장치를 식별하는 단계; 및 상기 시구간(예: time-out) 이후 적어도 하나의 제 2 정보가 수신되는 경우, 상기 적어도 하나의 제 2 정보의 수신 시점에 기반하여, 상기 시구간(예: time-out)을 상기 시구간(예: time-out) 보다 긴 제 1 시구간(예: time-out)으로 변경하는 단계;를 포함하는, 동작 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 상기 전자 장치(예: 도 5a의 503)는 주 장치로 설정되고, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)은 서브 장치들로 설정되고, 상기 주 장치는 상기 서브 장치들 중 상기 웨이크-업 될 장치를 식별하도록 설정된, 동작 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 상기 웨이크-업될 장치는 제 1 외부 전자 장치고, 상기 제 1 외부 전자 장치가 웨이크-업 되도록 제어하는 단계;를 더 포함하고, 상기 웨이크-업된 제 1 외부 전자 장치는 상기 제 1 외부 전자 장치의 제어를 위한 제 1 사용자 발화를 수신하고 처리 가능하게 되는, 동작 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 상기 웨이크-업될 장치는 제 1 외부 전자 장치고, 상기 적어도 하나의 제 1 정보와 상기 수신된 적어도 하나의 제 2 정보에 기반하여 상기 웨이크-업될 장치를 재식별하는 경우, 상기 제 1 외부 전자 장치와는 다른 상기 적어도 하나의 제 2 정보에 대응하는 적어도 하나의 제 2 외부 전자 장치를 상기 웨이크-업될 장치로 식별하는 단계; 및 상기 웨이크-업될 장치로 상기 적어도 하나의 제 2 외부 전자 장치가 식별됨에 기반하여 상기 시구간(예: time-out)을 상기 제 1 시구간(예: time-out)으로 변경하는 단계;를 더 포함하는, 동작 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 상기 적어도 하나의 제 2 정보의 수가 복수 개인 경우, 상기 적어도 하나의 제 2 정보의 적어도 하나의 수신 시점 중 가장 늦은 수신 시점에 기반하여 상기 시구간(예: time-out)을 상기 제 1 시구간(예: time-out)으로 변경하는 단계;를 더 포함하는, 동작 방법이 제공될 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 도 5a의 503)에 있어서, 통신 회로; 메모리; 및 적어도 하나의 프로세서;를 포함하고, 상기 메모리에 저장된 인스트럭션들이 실행되는 경우, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가: 지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)과 네트워크를 형성하고, 상기 네트워크를 형성한 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506) 중 일부를 웨이크-업 시키기 위한 동작을 수행하는 동안 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)과 연관된 정보를 축적하고, 상기 축적된 정보에 기반하여 상기 사용자 음성과 연관된 정보를 획득하기 위한 시구간(예: time-out)과 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 각각의 우선 순위를 설정하고, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 적어도 일부로부터 웨이크-업을 위한 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신하고, 상기 적어도 하나의 정보, 및 상기 설정된 시구간(예: time-out) 또는 상기 우선 순위 중 적어도 하나에 기반하여, 상기 복수의 외부 전자 장치들(예: 도 5a의 501, 502, 404504, 505, 506)의 적어도 일부 중 웨이크-업 될 장치를 식별하도록 하는, 전자 장치(예: 도 5a의 503)가 제공될 수 있다.
본 개시가 다양한 실시예들을 참조하여 도시되고 설명되었지만, 본 기술 분야의 당업자들은 다 첨부된 청구 범위 및 그 등가물에 의해 정의되는 본 개시의 사상 및 범위를 벗어나지 않으면서 형태 및 세부 사항의 다양한 변경이 이루어질 수 있음을 이해할 것이다.

Claims (15)

  1. 전자 장치에 있어서,
    통신 회로;
    메모리; 및
    적어도 하나의 프로세서;를 포함하고, 상기 메모리에 저장된 인스트럭션들이 실행되는 경우, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들과 통신 연결을 설정하고,
    상기 복수의 외부 전자 장치들의 적어도 일부로부터 웨이크-업을 위한 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신하고,
    상기 수신된 적어도 하나의 정보 중 웨이크-업 될 장치를 식별하기 위한 시구간 동안 수신된 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들의 적어도 일부 중 웨이크-업 될 장치를 식별하고,
    상기 시구간 이후 적어도 하나의 제 2 정보가 수신되는 경우, 상기 적어도 하나의 제 2 정보의 수신 시점에 기반하여, 상기 시구간을 상기 시구간 보다 긴 제 1 시구간으로 변경하도록 하는,
    전자 장치.
  2. 제 1 항에 있어서, 상기 전자 장치는 주 장치로 설정되고, 상기 복수의 외부 전자 장치들은 서브 장치들로 설정되고,
    상기 주 장치는 상기 서브 장치들 중 상기 웨이크-업 될 장치를 식별하도록 설정된,
    전자 장치.
  3. 제 2 항에 있어서, 상기 식별된 웨이크-업 될 장치는 제 1 외부 전자 장치이고,
    상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 제 1 외부 전자 장치가 웨이크-업 되도록 제어하도록 하고, 상기 웨이크-업된 상기 제 1 외부 전자 장치는 상기 제 1 외부 전자 장치의 제어를 위한 제 1 사용자 발화를 수신하고 처리 가능하게 되는,
    전자 장치.
  4. 제 1 항에 있어서, 상기 식별된 웨이크-업될 장치는 제 1 외부 전자 장치이고,
    상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 적어도 하나의 제 1 정보와 상기 수신된 적어도 하나의 제 2 정보에 기반하여 상기 웨이크-업될 장치를 재식별하는 경우, 상기 제 1 외부 전자 장치와는 다른 상기 적어도 하나의 제 2 정보에 대응하는 적어도 하나의 제 2 외부 전자 장치를 상기 웨이크-업될 장치로 식별하고,
    상기 웨이크-업될 장치로서 상기 적어도 하나의 제 2 외부 전자 장치가 식별됨에 기반하여 상기 시구간을 상기 제 1 시구간으로 변경하도록 하는,
    전자 장치.
  5. 제 4 항에 있어서, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 적어도 하나의 제 2 정보의 수가 복수 개인 경우, 상기 적어도 하나의 제 2 정보의 적어도 하나의 수신 시점 중 가장 늦은 수신 시점에 기반하여 상기 시구간을 상기 제 1 시구간으로 변경하도록 하는,
    전자 장치.
  6. 제 1 항에 있어서, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 시구간 이후 적어도 하나의 제 2 정보가 수신되지 않는 경우, 상기 시구간 동안 수신된 적어도 하나의 제 1 정보 중 가장 늦게 수신된 제 3 정보를 식별하고,
    식별된 제 3 정보의 수신 시점에 기반하여, 상기 시구간을 상기 시구간 보다 짧은 제 2 시구간으로 변경하도록 하는,
    전자 장치.
  7. 제 6 항에 있어서, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 제 1 시구간과 상기 제 2 시구간의 평균 값을 계산하고,
    상기 시구간을 상기 계산된 평균 값으로 변경하도록 하는,
    전자 장치.
  8. 제 3 항에 있어서, 상기 적어도 하나의 제 1 정보는 상기 복수의 외부 전자 장치들의 적어도 일부에서 식별된 상기 사용자 발화와 연관된 세기에 대한 정보를 포함하고,
    상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들의 적어도 일부 중 상기 사용자 발화와 연관된 가장 높은 세기에 대한 정보를 송신한 상기 제 1 외부 전자 장치를 식별하도록 하는, 전자 장치.
  9. 제 8 항에 있어서, 상기 메모리는 상기 복수의 외부 전자 장치들과 연관된 상기 웨이크-업 될 장치로 식별되기 위한 우선 순위에 대한 정보를 저장하고,
    상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들의 적어도 일부 중 상기 제 1 외부 전자 장치와 제 2 외부 전자 장치를 식별하고,
    상기 복수의 외부 전자 장치들의 상기 우선 순위에 대한 정보를 기반으로, 상기 제 1 외부 전자 장치와 상기 제 2 외부 전자 장치 중 우선 순위가 더 높은 상기 제 1 외부 전자 장치를 상기 웨이크-업 될 장치로 식별하도록 하는, 전자 장치.
  10. 제 9 항에 있어서, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 제 1 외부 전자 장치를 상기 웨이크-업 될 상기 장치로 식별한 이후, 상기 제 2 외부 전자 장치가 상기 웨이크-업 될 장치로 재식별됨을 식별하고,
    상기 제 2 외부 전자 장치가 상기 웨이크-업 될 장치로 재식별됨에 기반하여, 상기 제 2 외부 전자 장치의 우선 순위를 상기 제 1 외부 전자 장치의 우선 순위 보다 높은 우선 순위로 변경하도록 하는, 전자 장치.
  11. 제 1 항에 있어서, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 적어도 하나의 정보의 수신 전에 수행된 상기 웨이크-업 될 장치를 식별하는 적어도 하나의 동작에서 획득된 정보를 축적하도록 하고, 축적된 정보는 상기 적어도 하나의 정보를 수신하기 이전에 수행된 상기 웨이크-업을 위한 동작들 각각에서 획득되는 상기 복수의 외부 전자 장치들 각각의 SNR에 대한 정보, 상기 복수의 외부 전자 장치들 각각으로부터 정보가 수신된 시점에 대한 정보, 상기 복수의 외부 전자 장치들 각각의 상태와 연관된 정보, 최초에 웨이크-업 되는 것으로 식별된 장치에 대한 정보, 및 최종적으로 웨이크-업된 장치에 대한 정보 중 적어도 하나를 포함하는, 전자 장치.
  12. 제 11 항에 있어서,
    상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 복수의 외부 전자 장치들과 연관된 정보에 기반하여 상기 웨이크-업 될 장치를 식별하는 동작에서 이용되는 값을 설정하고,
    상기 값은 상기 웨이크-업될 장치를 식별하기 위한 상기 시구간, 또는 상기 복수의 외부 전자 장치들과 연관된 상기 웨이크-업 될 장치로 식별하기 위한 우선 순위 중 적어도 하나를 포함하는,
    전자 장치.
  13. 제 11 항에 있어서,
    상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 복수의 외부 전자 장치들의 상기 복수의 외부 전자 장치들과 연관된 정보 중 적어도 일부를 트레이닝 데이터로 하여 인공 지능 모델 생성을 위한 알고리즘에 기반하여 학습을 수행하도록 하고, 상기 인공 지능 모델은 상기 복수의 외부 전자 장치들 각각의 SNR(signal to noise ratio)에 대한 정보, 상기 복수의 외부 전자 장치들 각각의 상태와 연관된 정보, 및 최초에 웨이크-업 되는 것으로 식별된 장치에 대한 정보가 입력된 것에 대한 응답으로 최종적으로 웨이크-업될 장치에 대한 정보를 출력하도록 설정되는, 전자 장치.
  14. 제 13 항에 있어서, 상기 인스트럭션들은 상기 적어도 하나의 프로세서가:
    상기 복수의 외부 전자 장치들 중 적어도 일부로부터 수신된 적어도 하나의 정보로부터, 상기 복수의 외부 전자 장치들 중 적어도 일부의 각각의 SNR에 대한 제 1 정보, 상기 복수의 외부 전자 장치들 중 적어도 일부의 각각의 상태와 연관된 제 2 정보를 식별하고,
    상기 적어도 하나의 정보에 기반하여 결정되는 웨이크-업 되는 것으로 식별된 장치에 대한 제 3 정보를 식별하고,
    상기 제 1 정보, 상기 제 2 정보, 및 상기 제 3 정보를 상기 인공 지능 모델에 입력하여 상기 인공 지능 모델로부터 출력되는 상기 웨이크-업 될 상기 장치를 식별하도록 하는, 전자 장치.
  15. 전자 장치의 동작 방법에 있어서,
    지능형 음성 서비스를 제공하기 위한 복수의 외부 전자 장치들과 통신 연결을 설정하는 단계;
    상기 복수의 외부 전자 장치들의 적어도 일부로부터 웨이크-업을 위한 특정 단어를 포함하는 사용자 발화와 연관된 적어도 하나의 정보를 수신하는 단계;
    상기 수신된 적어도 하나의 정보 중 상기 웨이크-업 될 장치를 식별하기 위한 시구간 동안 수신된 적어도 하나의 제 1 정보에 기반하여, 상기 복수의 외부 전자 장치들의 적어도 일부 중 웨이크-업 될 장치를 식별하는 단계; 및
    상기 시구간 이후 적어도 하나의 제 2 정보가 수신되는 경우, 상기 적어도 하나의 제 2 정보의 수신 시점에 기반하여, 상기 시구간을 상기 시구간 보다 긴 제 1 시구간으로 변경하는 단계;를 포함하는,
    동작 방법.
PCT/KR2021/006103 2020-09-18 2021-05-14 음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법 WO2022059883A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/298,355 US20220319507A1 (en) 2020-09-18 2021-05-14 Electronic device for identifying electronic device to perform speech recognition and method of operating same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200120782A KR20220037846A (ko) 2020-09-18 2020-09-18 음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법
KR10-2020-0120782 2020-09-18

Publications (1)

Publication Number Publication Date
WO2022059883A1 true WO2022059883A1 (ko) 2022-03-24

Family

ID=80776871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/006103 WO2022059883A1 (ko) 2020-09-18 2021-05-14 음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법

Country Status (3)

Country Link
US (1) US20220319507A1 (ko)
KR (1) KR20220037846A (ko)
WO (1) WO2022059883A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190005104A (ko) * 2017-07-05 2019-01-15 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 웨이크업 방법, 디바이스 및 시스템, 클라우드 서버와 가독매체
KR20190009488A (ko) * 2017-07-19 2019-01-29 삼성전자주식회사 컨텍스트 정보에 기반하여 음성 입력을 수신하는 지속 기간을 결정하는 전자 장치 및 시스템
KR20190034964A (ko) * 2017-09-25 2019-04-03 현대자동차주식회사 음성 인식 제어 장치, 그를 포함한 시스템 및 그 방법
KR20190042919A (ko) * 2017-10-17 2019-04-25 삼성전자주식회사 전자 장치 및 음성 인식 방법
KR102051016B1 (ko) * 2018-11-27 2019-12-02 오아 주식회사 학습 기반 음성 인식 단말을 제어하는 서버 및 제어 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10748531B2 (en) * 2017-04-13 2020-08-18 Harman International Industries, Incorporated Management layer for multiple intelligent personal assistant services
US10681460B2 (en) * 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
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
US11636438B1 (en) * 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190005104A (ko) * 2017-07-05 2019-01-15 바이두 온라인 네트웍 테크놀러지 (베이징) 캄파니 리미티드 웨이크업 방법, 디바이스 및 시스템, 클라우드 서버와 가독매체
KR20190009488A (ko) * 2017-07-19 2019-01-29 삼성전자주식회사 컨텍스트 정보에 기반하여 음성 입력을 수신하는 지속 기간을 결정하는 전자 장치 및 시스템
KR20190034964A (ko) * 2017-09-25 2019-04-03 현대자동차주식회사 음성 인식 제어 장치, 그를 포함한 시스템 및 그 방법
KR20190042919A (ko) * 2017-10-17 2019-04-25 삼성전자주식회사 전자 장치 및 음성 인식 방법
KR102051016B1 (ko) * 2018-11-27 2019-12-02 오아 주식회사 학습 기반 음성 인식 단말을 제어하는 서버 및 제어 방법

Also Published As

Publication number Publication date
KR20220037846A (ko) 2022-03-25
US20220319507A1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
WO2021025350A1 (en) Electronic device managing plurality of intelligent agents and operation method thereof
WO2021075736A1 (en) Electronic device and method for sharing voice command thereof
WO2019190097A1 (ko) 챗봇을 이용한 서비스 제공 방법 및 그 장치
WO2020032563A1 (en) System for processing user voice utterance and method for operating same
WO2019050242A1 (en) ELECTRONIC DEVICE, SERVER, AND RECORDING MEDIUM SUPPORTING THE EXECUTION OF A TASK USING AN EXTERNAL DEVICE
WO2020032443A1 (en) Electronic device supporting personalized device connection and method thereof
WO2020167006A1 (en) Method of providing speech recognition service and electronic device for same
WO2019212213A1 (en) Electronic device and method of executing function of electronic device
WO2020180034A1 (ko) 사용자 선택 기반의 정보를 제공하는 방법 및 장치
WO2021075716A1 (en) Electronic device supporting improved speech recognition
WO2022010157A1 (ko) 인공지능 가상 비서 서비스에서의 화면 제공 방법 및 이를 지원하는 사용자 단말 장치 및 서버
WO2020050475A1 (ko) 전자 장치 및 단축 명령어에 대응하는 태스크 수행 방법
WO2019059642A1 (ko) 자연어 표현 제공 방법 및 이를 지원하는 전자 장치
WO2020085784A1 (en) Electronic device and system which provides service based on voice recognition
WO2019190062A1 (en) Electronic device for processing user voice input
WO2021101276A1 (en) Electronic device for providing intelligent assistance service and operating method thereof
WO2023113502A1 (ko) 전자 장치 및 전자 장치의 음성 명령어 추천 방법
WO2019235878A1 (ko) 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
WO2019225997A1 (en) System including electronic device of processing speech of user and method of controlling speech recognition on electronic device
WO2022059883A1 (ko) 음성 인식을 수행하기 위한 전자 장치를 식별하기 위한 전자 장치 및 그 동작 방법
WO2022163963A1 (ko) 전자 장치 및 전자 장치의 단축 명령어 수행 방법
WO2021085855A1 (ko) 다수의 사용자들이 참여하는 음성 에이전트 지원 방법 및 장치
WO2021210795A1 (ko) 전자 장치들의 무선 연결 방법 및 장치
WO2021045406A1 (en) Electronic device configured to perform action using speech recognition function and method for providing notification related to action using same
WO2018194267A1 (ko) 음성 데이터 처리 방법 및 이를 지원하는 전자 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21869507

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

Country of ref document: EP

Kind code of ref document: A1