KR20210004803A - Electronic apparatus and controlling method thereof - Google Patents
Electronic apparatus and controlling method thereof Download PDFInfo
- Publication number
- KR20210004803A KR20210004803A KR1020200012154A KR20200012154A KR20210004803A KR 20210004803 A KR20210004803 A KR 20210004803A KR 1020200012154 A KR1020200012154 A KR 1020200012154A KR 20200012154 A KR20200012154 A KR 20200012154A KR 20210004803 A KR20210004803 A KR 20210004803A
- Authority
- KR
- South Korea
- Prior art keywords
- control command
- control
- received
- voice
- user
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 53
- 238000004891 communication Methods 0.000 claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000013473 artificial intelligence Methods 0.000 claims description 59
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Acoustics & Sound (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
- Selective Calling Equipment (AREA)
Abstract
Description
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 보다 상세하게는, 사용자의 음성을 통해 외부 기기를 제어하는 전자 장치 및 이의 제어 방법에 관한 것이다. The present disclosure relates to an electronic device and a method for controlling the same, and more particularly, to an electronic device for controlling an external device through a user's voice, and a method for controlling the same.
최근 네트워크 통신 기술 및 음성 인식 기술이 발달함에 따라 사용자는 네트워크를 통해 연결된 각종 전자 기기들의 동작을 음성으로 제어할 수 있게 되었다.With the recent development of network communication technology and voice recognition technology, users can control operations of various electronic devices connected through a network with voice.
예를 들어, 사용자는 IoT(Internet of Things) 환경이나 홈 네트워크 환경에서 허브 장치(예를 들어, AI 스피커 등)에 음성 명령을 발화함으로써 주변의 각종 전자 기기들의 동작을 제어할 수 있다.For example, the user can control the operation of various electronic devices in the vicinity by firing a voice command to a hub device (eg, an AI speaker) in an Internet of Things (IoT) environment or a home network environment.
이때, 종래에는 허브 장치를 통해 수신된 사용자의 음성 명령을 클라우드를 통해 해석 및 처리하여 기기를 제어하였는 데, 이 경우 해석 및 처리 과정에서 딜레이가 발생하여 사용자가 느끼는 반응 속도가 저하되는 문제가 발생할 수 있다. At this time, conventionally, the user's voice command received through the hub device was interpreted and processed through the cloud to control the device.In this case, a delay occurs in the interpretation and processing process, resulting in a problem that the reaction speed felt by the user is lowered. I can.
본 개시는 상술한 문제점에 착안하여 안출된 것으로, 본 개시의 목적은, 멀티 디바이스 환경에서 사용자의 음성을 통해 신속하고 정확하게 기기들을 제어할 수 있는 전자 장치 및 이의 제어 방법을 제공함에 있다. The present disclosure has been conceived in light of the above-described problems, and an object of the present disclosure is to provide an electronic device capable of quickly and accurately controlling devices through a user's voice in a multi-device environment, and a control method thereof.
상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 마이크로폰, 통신부, 상기 전자 장치로부터 수신된 사용자 음성을 음성 인식 처리하는 음성 인식 서버에 의해 판단된 제어 명령에 기초한 제어 명령 판단 툴이 저장된 메모리 및 사용자 음성이 상기 마이크로폰을 통해 수신되면, 상기 수신된 사용자 음성을 음성 인식 처리하여 사용자 의도 정보를 획득하고, 상기 획득된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 상기 통신부를 통해 복수의 외부 기기를 제어하기 위한 기기 제어 서버로부터 수신하며, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를, 상기 제어 명령 판단 툴에 적용하여 상기 복수의 외부 기기 중 제어 대상 기기를 제어하기 위한 제어 명령을 판단하고, 상기 판단된 제어 명령을 상기 통신부를 통해 상기 기기 제어 서버로 전송하는 프로세서를 포함한다. An electronic device according to an embodiment of the present disclosure for achieving the above object is a control command determination tool based on a control command determined by a microphone, a communication unit, and a voice recognition server for voice recognition processing of a user's voice received from the electronic device. When the stored memory and the user voice are received through the microphone, the received user voice is voice-recognized to obtain user intention information, and state information of an external device related to the obtained user intention information is received through the communication unit. Received from a device control server for controlling an external device of, and applies the obtained user intention information and the received state information of the external device to the control command determination tool to control a control target device among the plurality of external devices And a processor that determines a control command to be performed and transmits the determined control command to the device control server through the communication unit.
또한, 상기 제어 명령 판단 툴은, 사용자 의도 정보, 외부 기기의 상태 정보 및 상기 음성 인식 서버에 의해 판단된 제어 명령이 서로 매칭된 적어도 하나의 룰을 포함하는 룰 DB를 포함하고, 상기 프로세서는, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보에 대응되는 룰이 상기 룰 DB에 존재하는 경우, 상기 대응되는 룰에 매칭된 제어 명령을 상기 사용자 음성에 대응되는 제어 명령으로 판단할 수 있다. In addition, the control command determination tool includes a rule DB including at least one rule in which user intention information, state information of an external device, and a control command determined by the voice recognition server are matched with each other, and the processor, When a rule corresponding to the acquired user intention information and the received state information of the external device exists in the rule DB, a control command matching the corresponding rule may be determined as a control command corresponding to the user voice. have.
또한, 상기 프로세서는, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보에 대응되는 룰이 상기 룰 DB에 존재하지 않는 경우, 상기 통신부를 통해 상기 사용자 음성을 상기 음성 인식 서버로 전송하고, 상기 사용자 음성에 기초하여 상기 음성 인식 서버에서 판단된 제어 명령이 상기 통신부를 통해 수신되면, 상기 수신된 제어 명령을 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보와 매칭하여 신규 룰을 생성하고, 상기 생성된 신규 룰을 상기 룰 DB에 업데이트할 수 있다. In addition, the processor transmits the user voice to the voice recognition server through the communication unit when a rule corresponding to the obtained user intention information and the received state information of the external device does not exist in the rule DB. When the control command determined by the voice recognition server based on the user's voice is received through the communication unit, the received control command is matched with the acquired user intention information and the received state information of the external device to create a new rule. May be generated, and the generated new rule may be updated in the rule DB.
또한, 상기 제어 명령 판단 툴은, 사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 음성 인식 서버에 의해 판단된 제어 명령을 출력으로 하여 학습된 인공 지능 모델을 포함하고, 상기 프로세서는, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를 상기 학습된 인공 지능 모델에 입력하고, 상기 학습된 인공 지능 모델로부터 출력되는 제어 명령을 상기 사용자 음성에 대응되는 제어 명령으로 판단할 수 있다. In addition, the control command determination tool includes an artificial intelligence model learned by inputting user intention information and state information of an external device as input, and outputting a control command determined by a voice recognition server, and the processor The acquired user intention information and the received state information of the external device may be input to the learned artificial intelligence model, and a control command output from the learned artificial intelligence model may be determined as a control command corresponding to the user voice. .
또한, 상기 프로세서는, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보가 입력된 상기 학습된 인공 지능 모델로부터 상기 제어 명령이 출력되지 않는 경우, 상기 통신부를 통해 상기 사용자 음성을 상기 음성 인식 서버로 전송하고, 상기 사용자 음성에 기초하여 상기 음성 인식 서버에서 판단된 제어 명령이 상기 통신부를 통해 수신되면, 상기 획득된 사용자 의도 정보, 상기 수신된 외부 기기의 상태 정보 및 상기 수신된 제어 명령에 기초하여 상기 학습된 인공 지능 모델을 재학습시킬 수 있다. In addition, when the control command is not output from the learned artificial intelligence model in which the acquired user intention information and the received state information of the external device are input, the processor transmits the user voice through the communication unit. When the control command is transmitted to the recognition server and determined by the voice recognition server based on the user voice is received through the communication unit, the acquired user intention information, the received state information of the external device, and the received control command Based on, the learned artificial intelligence model may be retrained.
또한, 상기 프로세서는, 상기 수신된 외부 기기의 상태 정보에 기초하여 상기 획득된 사용자 의도 정보만으로 상기 제어 대상 기기 및 제어 대상 기기의 동작을 특정할 수 있는 경우, 상기 제어 명령 판단 툴을 이용함 없이, 상기 획득된 사용자 의도 정보에 기초하여 상기 제어 명령을 판단할 수 있다. In addition, the processor may specify the operation of the control target device and the control target device only with the acquired user intention information based on the received state information of the external device, without using the control command determination tool, The control command may be determined based on the acquired user intention information.
또한, 상기 획득된 사용자 의도 정보는, 엔티티에 관한 정보를 포함하고, 상기 프로세서는, 상기 기기 제어 서버로부터 상기 엔티티와 관련된 복수의 외부 기기의 상태 정보가 수신되면, 상기 획득된 사용자 의도 정보만으로 상기 제어 대상 기기를 특정할 수 없다고 판단하고, 상기 제어 명령 판단 툴을 이용하여 상기 제어 명령을 판단할 수 있다. In addition, the acquired user intention information includes information on an entity, and the processor, when state information of a plurality of external devices related to the entity is received from the device control server, the acquired user intention information It is determined that the control target device cannot be specified, and the control command may be determined using the control command determination tool.
또한, 상기 통신부는, IR(Infrared) 통신 모듈을 포함하고, 상기 프로세서는, 상기 제어 대상 기기가 IR 방식으로 제어 가능한 기기인 경우, 상기 판단된 제어 명령을 상기 IR 통신 모듈을 통해 상기 제어 대상 기기로 전송할 수 있다. In addition, the communication unit includes an IR (Infrared) communication module, and the processor, when the control target device is a device capable of controlling by an IR method, transmits the determined control command to the control target device through the IR communication module. Can be transferred to.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 상기 전자 장치로부터 수신된 사용자 음성을 음성 인식 처리하는 음성 인식 서버에 의해 판단된 제어 명령에 기초한 제어 명령 판단 툴을 저장하는 단계, 사용자 음성이 수신되면, 상기 수신된 사용자 음성을 음성 인식 처리하여 사용자 의도 정보를 획득하는 단계, 상기 획득된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 복수의 외부 기기를 제어하기 위한 기기 제어 서버로부터 수신하는 단계, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를, 제어 명령 판단 툴에 적용하여 상기 복수의 외부 기기 중 제어 대상 기기를 제어하기 위한 제어 명령을 판단하는 단계 및 상기 판단된 제어 명령을 상기 기기 제어 서버로 전송하는 단계를 포함한다. Meanwhile, a method for controlling an electronic device according to an exemplary embodiment of the present disclosure includes storing a control command determination tool based on a control command determined by a voice recognition server for voice recognition processing of a user voice received from the electronic device, When a user voice is received, the step of acquiring user intention information by speech recognition processing the received user voice, and status information of an external device related to the obtained user intention information from a device control server for controlling a plurality of external devices Receiving, applying the obtained user intention information and the received state information of the external device to a control command determination tool to determine a control command for controlling a control target device among the plurality of external devices, and the determination And transmitting the generated control command to the device control server.
또한, 상기 제어 명령 판단 툴은, 사용자 의도 정보, 외부 기기의 상태 정보 및 상기 음성 인식 서버에 의해 판단된 제어 명령이 서로 매칭된 적어도 하나의 룰을 포함하는 룰 DB를 포함하고, 상기 제어 명령을 판단하는 단계는, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보에 대응되는 룰이 상기 룰 DB에 존재하는 경우, 상기 대응되는 룰에 매칭된 제어 명령을 상기 사용자 음성에 대응되는 제어 명령으로 판단할 수 있다. In addition, the control command determination tool includes a rule DB including at least one rule in which user intention information, state information of an external device, and a control command determined by the voice recognition server are matched with each other, and the control command In the determining step, when a rule corresponding to the obtained user intention information and the received state information of the external device exists in the rule DB, a control command matched to the corresponding rule is controlled corresponding to the user voice. It can be judged by order.
또한, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보에 대응되는 룰이 상기 룰 DB에 존재하지 않는 경우, 상기 사용자 음성을 상기 음성 인식 서버로 전송하는 단계 및 상기 사용자 음성에 기초하여 상기 음성 인식 서버에서 판단된 제어 명령이 수신되면, 상기 수신된 제어 명령을 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보와 매칭하여 신규 룰을 생성하고, 상기 생성된 신규 룰을 상기 룰 DB에 업데이트하는 단계를 더 포함할 수 있다. In addition, when a rule corresponding to the acquired user intention information and the received state information of the external device does not exist in the rule DB, transmitting the user voice to the voice recognition server and based on the user voice When a control command determined by the voice recognition server is received, a new rule is generated by matching the received control command with the obtained user intention information and the received state information of the external device, and the generated new rule is It may further include the step of updating the rule DB.
또한, 상기 제어 명령 판단 툴은, 사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 음성 인식 서버에 의해 판단된 제어 명령을 출력으로 하여 학습된 인공 지능 모델을 포함하고, 상기 제어 명령을 판단하는 단계는, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를 상기 학습된 인공 지능 모델에 입력하고, 상기 학습된 인공 지능 모델로부터 출력되는 제어 명령을 상기 사용자 음성에 대응되는 제어 명령으로 판단할 수 있다. In addition, the control command determination tool includes an artificial intelligence model learned by inputting user intention information and state information of an external device and outputting a control command determined by a voice recognition server, and determining the control command. In the step of, inputting the acquired user intention information and the received state information of the external device into the learned artificial intelligence model, and a control command output from the learned artificial intelligence model, a control command corresponding to the user voice. Can be judged as.
또한, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보가 입력된 상기 학습된 인공 지능 모델로부터 상기 제어 명령이 출력되지 않는 경우, 상기 사용자 음성을 상기 음성 인식 서버로 전송하는 단계 및 상기 사용자 음성에 기초하여 상기 음성 인식 서버에서 판단된 제어 명령이 수신되면, 상기 획득된 사용자 의도 정보, 상기 수신된 외부 기기의 상태 정보 및 상기 수신된 제어 명령에 기초하여 상기 학습된 인공 지능 모델을 재학습시키는 단계를 더 포함할 수 있다. In addition, when the control command is not output from the learned artificial intelligence model in which the acquired user intention information and the received state information of the external device are input, transmitting the user voice to the voice recognition server, and the When a control command determined by the voice recognition server is received based on a user's voice, the learned artificial intelligence model is reconstructed based on the acquired user intention information, the received state information of the external device, and the received control command. It may further include the step of learning.
또한, 상기 수신된 외부 기기의 상태 정보에 기초하여 상기 획득된 사용자 의도 정보만으로 상기 제어 대상 기기 및 제어 대상 기기의 동작을 특정할 수 있는 경우, 상기 제어 명령 판단 툴을 이용함 없이, 상기 획득된 사용자 의도 정보에 기초하여 상기 제어 명령을 판단하는 단계를 더 포함할 수 있다. In addition, when the operation of the control target device and the control target device can be specified only with the acquired user intention information based on the received state information of the external device, the acquired user without using the control command determination tool It may further include determining the control command based on the intention information.
또한, 상기 획득된 사용자 의도 정보는, 엔티티에 관한 정보를 포함하고, 상기 기기 제어 서버로부터 상기 엔티티와 관련된 복수의 외부 기기의 상태 정보가 수신되면, 상기 획득된 사용자 의도 정보만으로 상기 제어 대상 기기를 특정할 수 없다고 판단하고, 상기 제어 명령 판단 툴을 이용하여 상기 제어 명령을 판단하는 단계를 더 포함할 수 있다. In addition, the acquired user intention information includes information on an entity, and when state information of a plurality of external devices related to the entity is received from the device control server, the control target device is controlled only by the acquired user intention information. It may further include determining that it cannot be specified, and determining the control command using the control command determination tool.
또한, 상기 제어 대상 기기가 IR 방식으로 제어 가능한 기기인 경우, 상기 판단된 제어 명령을 상기 제어 대상 기기로 전송하는 단계를 더 포함할 수 있다. In addition, when the control target device is a device that can be controlled by the IR method, transmitting the determined control command to the control target device may be further included.
한편, 본 개시의 일 실시 예에 따른 음성 인식 서버는, 통신부, 상기 음성 인식 서버가 전자 장치로부터 수신된 사용자 음성에 기초하여 판단한 제어 명령에 기초한 제어 명령 판단 툴이 저장된 메모리 및 사용자 음성이 상기 통신부를 통해 상기 전자 장치로부터 수신되면, 상기 수신된 사용자 음성을 음성 인식 처리하여 사용자 의도 정보를 획득하고, 상기 획득된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 상기 통신부를 통해 복수의 외부 기기를 제어하기 위한 기기 제어 서버로부터 수신하며, 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를, 상기 제어 명령 판단 툴에 적용하여 상기 복수의 외부 기기 중 제어 대상 기기를 제어하기 위한 제어 명령을 판단하고, 상기 판단된 제어 명령을 상기 통신부를 통해 상기 기기 제어 서버로 전송하는 프로세서를 포함한다. Meanwhile, the speech recognition server according to an embodiment of the present disclosure includes a communication unit, a memory in which a control command determination tool based on a control command determined by the speech recognition server based on a user voice received from an electronic device, and a user voice are stored in the communication unit. When received from the electronic device through the voice recognition process, the received user voice is processed to obtain user intention information, and state information of the external device related to the obtained user intention information is controlled through the communication unit. A control command for controlling a control target device among the plurality of external devices by applying the obtained user intention information and the received state information of the external device to the control command determination tool And a processor that determines and transmits the determined control command to the device control server through the communication unit.
또한, 상기 제어 명령 판단 툴은, 사용자 의도 정보, 외부 기기의 상태 정보 및 상기 음성 인식 서버가 판단한 제어 명령이 서로 매칭된 적어도 하나의 룰을 포함하는 룰 DB, 및 사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 상기 음성 인식 서버가 판단한 제어 명령을 출력으로 하여 학습된 인공 지능 모델 중 적어도 하나를 포함할 수 있다. In addition, the control command determination tool includes a rule DB including user intention information, state information of an external device, and at least one rule in which the control command determined by the voice recognition server is matched with each other, and user intention information and the state of the external device. It may include at least one of the artificial intelligence models learned by inputting information and outputting a control command determined by the voice recognition server.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 멀티 디바이스 환경에서 사용자의 음성을 통해 신속하고 정확하게 기기들을 제어할 수 있게 된다. According to various embodiments of the present disclosure as described above, it is possible to quickly and accurately control devices through a user's voice in a multi-device environment.
도 1은 본 개시의 일 실시 예에 따른 음성 제어 시스템을 도시한 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 블럭도,
도 3은 본 개시의 일 실시 예에 따른 음성 제어 시스템을 도시한 도면,
도 4는 본 개시의 일 실시 예에 따른 전자 장치의 블럭도,
도 5는 본 개시의 일 실시 예에 따른 음성 인식 서버의 블럭도, 및
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 도시한 흐름도이다. 1 is a diagram illustrating a voice control system according to an embodiment of the present disclosure;
2 is a block diagram of an electronic device according to an embodiment of the present disclosure;
3 is a diagram illustrating a voice control system according to an embodiment of the present disclosure;
4 is a block diagram of an electronic device according to an embodiment of the present disclosure;
5 is a block diagram of a voice recognition server according to an embodiment of the present disclosure, and
6 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
본 개시를 설명함에 있어, 관련된 공지 기술에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 동일한 구성의 중복 설명은 되도록 생략하기로 한다. In describing the present disclosure, when it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the present disclosure, a detailed description thereof will be omitted. In addition, redundant description of the same configuration will be omitted.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. The suffix "unit" for the constituent elements used in the following description is given or used interchangeably in consideration of only the ease of writing the specification, and does not itself have a distinct meaning or role from each other.
본 개시에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 본 개시를 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Terms used in the present disclosure are used to describe embodiments, and are not intended to limit and/or limit the present disclosure. Singular expressions include plural expressions unless the context clearly indicates otherwise.
본 개시에서, '포함하다' 또는 '가지다' 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present disclosure, terms such as'include' or'have' are intended to designate the presence of features, numbers, steps, actions, components, parts, or a combination thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. Expressions such as "first," "second," "first," or "second," used in the present disclosure may modify various elements, regardless of order and/or importance, and one element It is used to distinguish it from other components and does not limit the components.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.Some component (eg, a first component) is "(functionally or communicatively) coupled with/to)" to another component (eg, a second component) or " When referred to as "connected to", it should be understood that the certain component may be directly connected to the other component or may be connected through another component (eg, a third component). On the other hand, when it is mentioned that it is "directly connected" or "directly connected" to a certain component (eg, a first other component (eg, a second component)), between the certain component and the other component It may be understood that no other component (eg, a third component) exists in the.
본 개시의 실시 예들에서 사용되는 용어들은 다르게 정의되지 않는 한, 해당 기술 분야에서 통상의 지식을 가진 자에게 통상적으로 알려진 의미로 해석될 수 있다. Terms used in the embodiments of the present disclosure may be interpreted as meanings commonly known to those of ordinary skill in the art, unless otherwise defined.
이하에서 첨부된 도면을 참조하여 본 개시의 다양한 실시 예를 상세히 설명한다. Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 개시의 일 실시 예에 따른 음성 제어 시스템을 설명하기 위한 예시도이다. 도 1에 따르면, 음성 제어 시스템(1000)은 전자 장치(100), 외부 기기(200-1, 200-2), 음성 인식 서버(400) 및 기기 제어 서버(500)를 포함할 수 있다. 1 is an exemplary diagram for describing a voice control system according to an embodiment of the present disclosure. Referring to FIG. 1, the
전자 장치(100)와 외부 기기(200-1, 200-2)는 가정 또는 사무실과 같은 댁내(10)에서 홈 네트워크 환경 내지 사물 인터넷 네트워크 환경을 구성할 수 있다. The
전자 장치(100)는 스마트 스피커, AI 스피커, 스마트 TV, 스마트 냉장고, 스마트폰, 액세스 포인트, 노트북, 데스크탑 PC, 태블릿 등과 같은 다양한 종류의 장치로 구현될 수 있다. The
한편, 사물 인터넷 환경에서 사물의 종류에는 제한이 없으므로, 외부 기기(200-1, 200-2)의 종류 역시 제한이 없다. 도 1에는 TV 1(200-1) 및 TV 2(200-2)를 도시하였으나, 이는 일 예일 뿐, 에어컨, 스마트 조명, 선풍기, 세탁기, 전자 렌지, 도어락, 사운드 바, 홈시어터, 스마트폰, TV, 냉장고 등 전자 장치(100)와 통신 연결되어 전자 장치(100)를 통해 동작이 제어될 수 있는 기기이면 그 종류에 제한이 없다. Meanwhile, since there is no limitation on the type of objects in the IoT environment, the types of external devices 200-1 and 200-2 are also not limited. In FIG. 1, TV 1 (200-1) and TV 2 (200-2) are shown, but these are only examples, and air conditioners, smart lights, fans, washing machines, microwaves, door locks, sound bars, home theaters, smartphones, There is no limitation on the type of device as long as it is a device that is connected in communication with the
이때, 전자 장치(100)는 사용자 음성에 따라 외부 기기(200-1, 200-2)의 동작을 제어할 수 있다. In this case, the
예를 들어, 사용자가 외부 기기(200-1, 200-2)의 동작을 제어하기 위한 사용자 음성을 발화하면, 전자 장치(100)는 발화된 사용자 음성을 수신하여 음성 인식 서버(400)로 전송함으로써 음성 인식 서버(400) 및 기기 제어 서버(500)를 통해 외부 기기(200-1, 200-2)의 동작을 제어할 수 있다. For example, when a user utters a user voice for controlling the operation of the external devices 200-1 and 200-2, the
구체적으로, 음성 인식 서버(400)는 전자 장치(100)로부터 수신된 사용자 음성에 대응되는 제어 명령을 판단하고, 판단된 제어 명령을 기기 제어 서버(500)로 전송할 수 있다. Specifically, the
여기서, 제어 명령은, 음성 인식 서버(400)가, 기기 제어 서버(500)로부터 수신한 외부 기기(200-1, 200-2)의 상태 정보에 기초하여, 후술할 사용자 의도 정보를 해석한 결과로서, 사용자가 음성을 통해 제어하고자 하는 제어 대상 기기 및 그 제어 대상 기기의 동작에 관한 정보를 포함할 수 있다. Here, the control command is a result of the
구체적으로, 전자 장치(100)로부터 사용자 음성이 수신되면, 음성 인식 서버(400)는 수신된 사용자의 음성을 음성 인식 처리하여 사용자 음성에 대응되는 사용자 의도 정보를 획득할 수 있다. Specifically, when a user's voice is received from the
여기서, 음성 인식 서버(400)가 수행하는 음성 인식 처리는, 사용자의 음성을 텍스트로 변환하는 ASR(Auto Speech Recognition) 처리와, ASR 처리에 의해 텍스트로 변환된 사용자 음성을 기계가 이해할 수 있는 표현으로 변환하는 NLU(Natural Language Understanding) 처리를 포함한다.Here, the speech recognition processing performed by the
여기서, 사용자 의도 정보는, 음성 인식 서버(400)가, 외부 기기(200-1, 200-2)의 상태 정보를 이용하여 제어 명령을 판단하기 전에, 사용자 음성을 음성 인식 처리한 결과로서, 엔티티(entity) 및 엔티티의 동작(action)에 관한 정보를 포함할 수 있다. Here, the user intention information is a result of the voice recognition processing of the user's voice before the
음성 인식 처리 결과인 엔티티 및 엔티티의 동작은 사용자 음성에 따라 다양할 수 있으며, 경우에 따라 엔티티가 존재하지 않거나 엔티티의 동작이 특정되지 않을 수도 있다. 그러나, 이하에서는 설명의 편의를 위해, 사용자가 외부 기기(200-1, 200-2)의 동작을 제어하기 위한 사용자 음성을 발화한 것을 전제로, 엔티티가 외부 기기(200-1, 200-2)로 특정되고, 엔티티의 동작이 외부 기기(200-1, 200-2)의 동작으로 특정되는 경우를 예로 들어 설명한다. The entity and the operation of the entity as a result of the speech recognition processing may vary according to the user's voice, and in some cases, the entity may not exist or the operation of the entity may not be specified. However, hereinafter, for convenience of description, assuming that the user uttered a user voice for controlling the operation of the external devices 200-1 and 200-2, the entity is the external devices 200-1 and 200-2. ), and the operation of the entity is specified as the operation of the external devices 200-1 and 200-2.
이와 같이, 사용자 의도 정보가 획득되면, 음성 인식 서버(400)는 획득된 사용자 의도 정보와 관련된 엔티티 즉, 외부 기기(200-1, 200-2)의 상태 정보를 기기 제어 서버(500)로 요청할 수 있다. In this way, when the user intention information is obtained, the
여기서, 상태 정보는, 외부 기기(200-1, 200-2)의 현재 동작 상태와 관련된 정보로서, 예를 들어, 외부 기기(200-1, 200-2)의 전원 온/오프 상태에 관한 정보, 외부 기기(200-1, 200-2)의 기능과 관련된 설정 정보, 외부 기기(200-1, 200-2)의 댁내(10) 위치 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. Here, the state information is information related to the current operating state of the external devices 200-1 and 200-2, for example, information on the power on/off state of the external devices 200-1 and 200-2 , Setting information related to functions of the external devices 200-1 and 200-2, location information of the
요청한 상태 정보가 기기 제어 서버(500)로부터 수신되면, 음성 인식 서버(400)는, 수신된 외부 기기(200-1, 200-2)의 상태 정보에 기초하여 사용자 의도 정보를 해석함으로써 제어 명령을 판단할 수 있다. When the requested state information is received from the
구체적으로, 음성 인식 서버(400)는, 외부 기기(200-1, 200-2)의 상태 정보에 기초하여, 사용자 의도 정보만으로 제어 대상 기기 및 제어 대상 기기의 동작이 특정될 수 있는지 판단하고, 특정되는 경우, 추가적인 해석없이, 특정된 제어 대상 기기 및 동작에 관한 정보를 포함하는 제어 명령을 판단할 수 있다.Specifically, the
그러나, 사용자 의도 정보만으로 제어 대상 기기 및 동작이 특정되는지 않는 경우, 음성 인식 서버(400)는 음성 인식 서버(400)가 가지고 있는 자체 정책에 따라 사용자 의도 정보를 추가적으로 해석하여 제어 명령을 판단할 수 있다. 이에 관한 보다 자세한 내용은 후술하기로 한다. However, when the control target device and operation are not specified only with the user intention information, the
음성 인식 서버(400)는 위와 같이 판단된 제어 명령을 기기 제어 서버(500)로 전송하고, 기기 제어 서버(500)는 음성 인식 서버(400)로부터 수신한 제어 명령에 기초하여 제어 대상 기기의 동작을 제어할 수 있게 된다. The
기기 제어 서버(500)는 기기 제어 서버(500)와 네트워크를 통해 연결된 기기들을 사용자 계정 별로 등록하고, 등록된 기기들의 상태 정보를 수집 및 관리할 수 있다. 도 1의 예에서, 기기 제어 서버(500)는 전자 장치(100) 및 외부 기기(200-1, 200-2)를 등록하고, 전자 장치(100) 및 외부 기기(200-1, 200-2)의 상태 정보를 수집하여 관리할 수 있다. The
따라서, 기기 제어 서버(500)는 음성 인식 서버(400)로부터 외부 기기(200-1, 200-2)의 상태 정보 전송이 요청되는 경우, 요청에 응답하여 외부 기기(200-1, 200-2)의 상태 정보를 음성 인식 서버(400)로 전송할 수 있다. Therefore, when the transmission of the state information of the external devices 200-1 and 200-2 is requested from the
한편, 기기 제어 서버(500)는 등록된 기기들 각각에 대한 제어 신호 세트를 저장 및 관리할 수 있다. 여기서, 제어 신호 세트는 해당 기기의 각종 동작을 제어할 수 있는 제어 코드 세트를 말한다. Meanwhile, the
동일한 동작에 관한 제어 명령이더라도 기기마다 제조사별로 또는 모델 별로 제어 코드가 상이할 수 있으므로, 기기 제어 서버(500)는 등록된 기기들의 동작을 제어하기 위해 기기 별 제어 신호 세트를 저장 및 관리할 수 있다. 이때, 제어 신호 세트는 기기로부터 직접 수신되거나 또는 기기 제조사가 관리하는 서버를 통해 획득될 수 있을 것이다. Even though the control command for the same operation may have different control codes for each manufacturer or model for each device, the
따라서, 기기 제어 서버(500)는 음성 인식 서버(400)로부터 제어 명령이 수신되면, 제어 대상 기기 및 제어 대상 기기의 동작에 대응되는 제어 신호를 제어 신호 세트에서 확인하고, 확인된 제어 신호를 제어 대상 기기로 전송하여 제어 대상 기기의 동작을 제어할 수 있다. Accordingly, when a control command is received from the
이하에서, 구체적인 예를 들어 음성 인식 시스템(100)의 동작을 설명한다. 예를 들어, 도 1에 도시된 바와 같이, 가정 내(10)에는 전자 장치(100), TV 1(200-1) 및 TV 2(200-2)가 IoT 네트워크를 구성하고 있으며, TV 1(200-1) 및 TV 2(200-2)는 사용자 계정을 통해 기기 제어 서버(500)에 등록되어 있다. 이때, 사용자는 어떤 TV인지 특정하지 않고 "TV 틀어줘"와 같은 사용자 음성을 전자 장치(100)로 발화할 수 있다. Hereinafter, an operation of the
전자 장치(100)는 사용자 음성을 음성 인식 서버(400)로 전송하고, 음성 인식 서버(400)는 수신된 사용자 음성을 ASR(Automatic Speech Recognition) 처리하여 "TV 틀어줘"와 같은 ASR 처리 결과를 획득하고, ASR 처리 결과를 NLU(Natural Language Understanding) 처리하여 "TV power-on"과 같은 사용자 의도 정보를 획득할 수 있다. 이 경우, 사용자 의도 정보에 포함된 엔티티는 "TV"가 되고, 엔티티의 동작은 "power-on"이 될 것이다. The
이와 같이 사용자 의도 정보가 획득되면, 음성 인식 서버(400)는 사용자 의도 정보와 관련된 외부 기기 즉, TV의 상태 정보를 기기 제어 서버(500)로 요청할 수 있다. When the user intention information is obtained as described above, the
이때, 기기 제어 서버(500)에 등록된 사용자의 TV는 TV 1(200-1)과 TV 2(200-2)가 있으므로, 기기 제어 서버(500)는 음성 인식 서버(400)의 요청에 응답하여, 상태 정보 전송이 요청된 당시의 TV 1(200-1)의 상태 정보 및 TV 2(200-2)의 상태 정보를 음성 인식 서버(400)로 전송할 수 있다. At this time, since the TV of the user registered in the
이에 따라, 음성 인식 서버(400)는, 수신된 TV 1(200-1) 및 TV 2(200-2)의 상태 정보에 기초하여, 사용자 의도 정보만으로 제어 명령이 특정되는지 판단할 수 있다. Accordingly, the
위 예에서, 사용자 의도 정보에 포함된 엔티티는 "TV"이지만, TV 1(200-1) 및 TV 2(200-2) 각각 대한 상태 정보가 기기 제어 서버(500)로부터 수신되었으므로, 사용자 의도 정보만으로는 TV가 TV 1(200-1) 및 TV 2(200-2) 중 어느 TV인지 특정될 수 없다. In the above example, the entity included in the user intention information is "TV", but since status information for each of TV 1 (200-1) and TV 2 (200-2) has been received from the
즉, 사용자 의도 정보만으로는 제어 대상 기기가 특정되지 않으므로, 음성 인식 서버(400)는 사용자 의도 정보만으로 제어 명령을 특정할 수 없다고 판단하고, 자체 정책에 따라 제어 명령을 판단할 수 있다. That is, since the control target device is not specified using only the user intention information, the
여기서, 자체 정책은, 음성 인식 서버(400)가 자체적으로 제어 명령을 판단하기 위한 수단으로, 예를 들어, 질의에 대한 사용자의 응답을 통해 제어 명령을 판단하는 정책 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. Here, the self-policy is a means for the
위 예에서, 음성 인식 서버(400)는 TV 1(200-1) 및 TV 2(200-2) 중 어떤 TV의 전원을 켤지 묻는 질의를 전자 장치(100)로 전송하고, 전자 장치(100)는 수신된 질의를 출력할 수 있다. 이에 따라, 사용자가 예를 들어"TV 1"과 같은 응답을 발화하면, 전자 장치(100)는 이를 수신하여 음성 인식 서버(400)로 전송하고, 음성 인식 서버(400)는 수신된 음성에 기초하여 TV 1(200-1)을 제어 대상 기기로 판단할 수 있다.In the above example, the
따라서, 음성 인식 서버(400)는 "TV 틀어줘"에 대응되는 제어 명령으로 "TV 1 power-on"을 판단하고, 판단된 제어 명령을 기기 제어 서버(500)로 전송할 수 있다. 이 경우, 제어 대상 기기는 "TV 1(200-1)"이 되고, 제어 대상 기기의 동작은 "power-on"이 될 것이다. Accordingly, the
만일 위 예와 달리, 사용자 계정에 하나의 TV만 등록되어 있는 경우, 등록된 하나의 TV에 관한 상태 정보만이 기기 제어 서버(500)로부터 수신될 것이므로, 음성 인식 서버(400)는 사용자 의도 정보만으로 제어 대상 기기를 특정할 수 있게 된다. 따라서, 음성 인식 서버(400)는 자체 정책을 이용하는 등의 추가적인 해석없이, 특정된 제어 대상 기기인"TV" 및 특정된 동작인"power-on"을 포함하는 제어 명령인 "TV power-on"을 판단할 수 있을 것이다. 이는 복수의 TV가 등록된 경우라도 사용자가 처음부터 "TV 1(200-1) 틀어줘"와 같이 제어 대상 기기를 특정하여 발화한 경우에도 마찬가지이다. Unlike the above example, if only one TV is registered in the user account, only status information about one registered TV will be received from the
한편, "TV 1 power-on"과 같은 제어 명령이 수신되면, 기기 제어 서버(500)는 TV 1(200-1)에 대응되는 제어 신호 세트에서 "power-on"에 해당하는 제어 신호를 확인하고, 확인된 제어 신호를 TV 1(200-1)으로 전송할 수 있다. 이에 따라, TV 1(200-1)은 턴-온되며, 사용자는 TV 1(200-1)을 통해 방송 프로그램을 시청할 수 있게 된다. On the other hand, when a control command such as "TV 1 power-on" is received, the
이와 같이, 본 개시의 일 실시 예에 따르면, 전자 장치(100)는, 수신된 사용자 음성을 음성 인식 서버(400)로 전송함으로써 음성 인식 서버(400)가 판단한 제어 명령을 통해 외부 기기(200-1, 200-2)의 동작을 제어할 수 있다. As described above, according to an embodiment of the present disclosure, the
한편, 본 개시의 일 실시 예에 따르면, 전자 장치(100)는, 수신된 사용자 음성에 대한 제어 명령을 직접 판단하여 외부 기기(200-1, 200-2)의 동작을 제어할 수 있다. Meanwhile, according to an embodiment of the present disclosure, the
구체적으로, 전자 장치(100)는, 음성 인식 서버(400)를 통해 외부 기기(200-1, 200-2)를 제어했던 히스토리 정보에 기초하여 제어 명령을 판단하기 위한 툴을 생성하고, 생성된 제어 명령 판단 툴에 기초하여 제어 명령을 판단할 수 있다. Specifically, the
여기서, 제어 명령 판단 툴은, 1) 사용자 의도 정보, 외부 기기의 상태 정보 및 제어 명령이 서로 매칭되어 있는 룰, 또는 2) 사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 제어 명령을 출력으로 하여 학습된 인공 지능 모델이 될 수 있다. Here, the control command determination tool includes 1) user intention information, a rule in which state information of an external device and a control command are matched with each other, or 2) inputs user intention information and state information of an external device, and outputs a control command. It can be a learned artificial intelligence model.
이를 위해, 전자 장치(100)는 음성 인식 기능을 구비하며, 수신된 사용자 음성을 음성 인식 처리하여 사용자 의도 정보를 획득할 수 있다. To this end, the
여기서, 전자 장치(100)의 음성 인식 기능은, 전술한 ASR 및 NLU 처리 기능 중 적어도 하나를 포함할 수 있다. Here, the voice recognition function of the
예를 들어, 전자 장치(100)가 ASR 및 NLU 처리 기능을 모두 포함하는 경우, 전자 장치(100)는 수신된 사용자 음성을 음성 인식 처리하여 사용자 의도 정보를 획득할 수 있다. For example, when the
또한, 전자 장치(100)가 ASR 처리 기능만 포함하는 경우, 전자 장치(100)는 사용자 음성에 대한 ASR 처리 결과를 음성 인식 서버(400)로 전송하고, 음성 인식 서버(400)로부터 NLU 처리 결과 즉, 사용자 의도 정보를 획득할 수 있다. In addition, when the
또한, 전자 장치(100)가 NLU 기능만 포함한 경우, 전자 장치(100)는 수신된 사용자 음성을 음성 인식 서버(400)로 전송하고, 음성 인식 서버(400)로부터 수신한 ASR 처리 결과를 NLU 처리하여 사용자 의도 정보를 획득할 수 있다. In addition, when the
이때, 전자 장치(100)가 자신의 ASR 처리 기능이나 NLU 처리 기능을 이용하여 사용자 음성을 처리하였으나, 그 처리 결과의 신뢰도가 일정 수준 미만인 경우, 전자 장치(100)는 음성 인식 서버(400)로 사용자 음성에 대한 ASR 처리 및/또는 NLU 처리를 요청하고, 음성 인식 서버(400)로부터 요청한 처리 결과를 획득할 수도 있다. 이에 관한 자세한 내용은 후술한다. At this time, when the
이에 따라, 전자 장치(100)는 획득된 사용자 의도 정보와 관련된 외부 기기(200-1, 200-2)의 상태 정보를 기기 제어 서버(500)로 요청하여 수신하고, 수신된 외부 기기(200-1, 200-2)의 상태 정보 및 상기 획득된 사용자 의도 정보를 상기 제어 명령 판단 툴에 적용함으로써 제어 명령을 판단할 수 있다. Accordingly, the
또한, 전자 장치(100)는 판단된 제어 명령을 기기 제어 서버(500)로 직접 전송함으로써, 음성 인식 서버(400)를 거치지 않고 외부 기기(200-1, 200-2)의 동작을 제어할 수 있다.In addition, the
이와 같이, 전자 장치(100)가 수신된 사용자 음성을 직접 음성 인식 처리하여 제어 명령을 판단하거나, 판단된 제어 명령을 기기 제어 서버(500)로 직접 전송하는 경우, 음성 인식 서버(400)를 통해 제어 명령을 판단하고 전송하는 경우보다 신속하게 외부 기기(200-1, 200-2)의 동작을 제어할 수 있다. In this way, when the
한편, 제어 명령 판단 툴을 이용하여 제어 명령을 판단하는 경우, 사용자 의도 정보 및 외부 기기(200-1, 200-2)의 상태 정보를, 룰과 비교하거나 인공 지능 모델에 입력하는 등 비교적 간단한 동작을 통해 제어 명령이 판단되게 되므로, 전술한 음성 인식 서버(400)의 자체 정책을 이용하여 제어 명령을 판단하는 경우 보다 빠르게 제어 명령이 판단될 수 있다. 따라서, 음성 인식 서버(400)가 자체 정책을 통해 제어 명령을 판단하는 경우 발생될 수 있는 딜레이가 개선될 수 있다. On the other hand, when determining a control command using a control command determination tool, relatively simple operations such as comparing user intention information and status information of external devices 200-1 and 200-2 with rules or inputting into an artificial intelligence model. Since the control command is determined through the control command, the control command may be determined faster than when the control command is determined using the self-policy of the
이하에서는, 도 2를 참조하여, 본 개시의 일 실시 예에 따른 전자 장치(100)의 동작을 자세히 설명한다. Hereinafter, an operation of the
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 블럭도이다. 도 2에 따르면, 전자 장치(100)는 마이크(110), 프로세서(120), 통신부(130) 및 메모리(140)를 포함한다. 2 is a block diagram of an electronic device according to an embodiment of the present disclosure. According to FIG. 2, the
마이크(110)는 음파 형태의 사운드를 외부로부터 수신하여 전기적 신호로 변환한 후 변환된 전기적 신호를 프로세서(120)로 제공한다. 특히, 마이크(110)는 사용자 음성을 수신하여 대응되는 전기적 신호를 프로세서(120)로 제공할 수 있다. The
통신부(130)는 외부의 각종 서버 또는 각종 기기들과 통신을 수행하기 위한 구성이다. The
특히, 통신부(130)는 음성 인식 서버(400) 또는 기기 제어 서버(500)와 통신을 수행하여, 사용자 음성, 사용자 의도 정보, 외부 기기의 상태 정보, 제어 명령 등과 같은 각종 정보 내지 데이터를 송, 수신할 수 있다. In particular, the
또한, 통신부(130)는 전자 장치(100) 주변의 외부 기기들(200-1, 200-2)과 통신을 수행하여 IoT 환경이나 홈네트워크 환경을 구성할 수 있다. Also, the
메모리(140)는 저장된 데이터 또는 정보에 프로세서(120) 등이 접근할 수 있도록, 데이터 또는 정보를 전기 또는 자기 형태로 저장할 수 있다. The
특히, 메모리(140)에는, 제어 명령을 판단하기 위한 기초가 되는 제어 명령 판단 툴(141), 제어 명령 판단 툴을 관리하기 위한 툴 관리 모듈(125), 음성 인식 기능을 수행하고 제어 명령을 판단하기 위한 음성 인식 모듈(123), 및 외부 기기(200-1, 200-2)의 상태 정보를 모니터링하고 제어 명령을 송, 수신하기 위한 기기 제어 모듈(121) 등이 저장될 수 있다.In particular, the
프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어한다. 특히, 프로세서(120)는 메모리(140)에 저장된 제어 명령 판단 툴(141), 툴 관리 모듈(125), 음성 인식 모듈(123), 기기 제어 모듈(121) 등을 로딩하여 각 모듈의 기능을 수행할 수 있다. The
구체적으로, 도 2는, 프로세서(120)가 메모리(140)에 저장된 기기 제어 모듈(121), 음성 인식 모듈(123), 및 툴 관리 모듈(125)을 로딩하여 해당 기능을 수행하고 있는 상태를 도시하고 있다. Specifically, FIG. 2 shows a state in which the
제어 명령 판단 툴(141)은, 음성 인식 모듈(123)(구체적으로는, NLU 모듈(123-2))이, 후술할 바와 같이 사용자 의도 정보 및 외부 기기의 상태 정보를 적용하여 제어 명령을 판단하기 위한 수단으로, 전자 장치(100)가 이전에 외부 기기를 제어했던 히스토리 정보에 기초하여 생성되는 룰, 또는 전자 장치(100)가 이전에 외부 기기를 제어했던 히스토리 정보에 기초하여 학습되는 인공 지능 모델을 포함할 수 있다. In the control
여기서, 히스토리 정보에는, 이전 제어 당시 획득된 사용자 의도 정보, 이전 제어 당시 외부 기기의 상태 정보 및 이전 제어 당시 음성 인식 서버(400)에 의해 판단된 제어 명령(특히, 자체 정책에 의해 판단된 제어 명령)이 포함될 수 있다. Here, the history information includes user intention information obtained at the time of the previous control, state information of the external device at the time of the previous control, and a control command determined by the
구체적으로, 룰 DB(141-1)는 제어 명령을 판단하기 위한 복수의 룰을 포함하는 데이터 베이스이다. 룰 DB(141-1)는 예를 들어, 아래 표 1과 같이 사용자 의도 정보, 외부 기기의 상태 정보 및 제어 명령이 서로 매칭되어 있는 룩 업 테이블 형태일 수 있으나, 이에 한정되는 것은 아니다. Specifically, the rule DB 141-1 is a database including a plurality of rules for determining a control command. The rule DB 141-1 may be in the form of a look-up table in which user intention information, status information of an external device, and control commands are matched, as shown in Table 1 below, but is not limited thereto.
TV 2(200-2): onTV 1(200-1): off
TV 2(200-2): on
룰 DB(141-1)의 각 룰에는, 사용자 의도 정보, 외부 기기의 상태 정보 및 제어 명령이 서로 매칭되어 있으므로, 음성 인식 모듈(123)은, 후술할 바와 같이, 사용자 음성에 대응되는 사용자 의도 정보 및 외부 기기의 상태 정보를 획득하고, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보에 대응되는 룰을 룰 DB(141-1)에서 확인하여 신속하게 제어 명령을 판단할 수 있게 된다. In each rule of the rule DB 141-1, the user intention information, the state information of the external device, and the control command are matched with each other, so the
인공 지능 모델(141-2)은 사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 제어 명령을 출력으로 하여 학습된다. 따라서, 후술할 바와 같이, 음성 인식 모듈(123)은, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보를 상기 학습된 인공 지능 모델에 입력함으로써, 신속하게 제어 명령을 획득할 수 있다. The artificial intelligence model 141-2 is learned by inputting user intention information and state information of an external device as input, and outputting a control command. Accordingly, as will be described later, the
툴 관리 모듈(125)은 메모리(140)에 저장된 제어 명령 판단 툴(141)을 관리할 수 있다. The
구체적으로, 툴 관리 모듈(125)은 음성 인식 모듈(123)이 제어 명령을 판단할 때 제어 명령 판단 툴(141)을 이용할 수 있도록, 적절한 시점에 메모리(140)에 접속하여 제어 명령 판단 툴(141) 중 적어도 일부를 프로세서(120)에 로딩할 수 있다. Specifically, the
예를 들어, 툴 관리 모듈(125)은 음성 인식 모듈(123)의 요청이 있는 때, 룰 DB(141-1)에 포함된 적어도 일부의 룰 및/또는 인공 지능 모델(141-2)을 프로세서(120)에 로딩할 수 있다. 그러나, 로딩 시점이 이에 한정되는 것은 아니다. 가령, 툴 관리 모듈(125)은, 실시 예에 따라, 사용자 음성이 수신된 때 또는 전자 장치(100)의 전원이 온된 때 등과 같이 음성 인식 모듈(123)이 제어 명령을 판단하기 전의 다양한 시점에 제어 명령 판단 툴(141)을 프로세서(120)에 로딩할 수 있다. For example, when there is a request from the
한편, 툴 관리 모듈(125)는 제어 명령 판단 툴(141)을 업데이트할 수 있다. 이에 관하여는 후술하기로 한다. Meanwhile, the
기기 제어 모듈(121)은 기기 제어 서버(500)를 통해 외부 기기의 상태 정보를 모니터링하고, 음성 인식 모듈(123)로 제공할 수 있다. The
구체적으로, 기기 제어 모듈(121)은, 음성 인식 모듈(123)로부터 외부 기기의 상태 정보가 요청되면, 통신부(130)를 통해 기기 제어 서버(500)로 외부 기기의 상태 정보를 요청하고, 기기 제어 서버(500)로부터 수신되는 현재 외부 기기의 상태 정보를 음성 인식 모듈(123)로 제공할 수 있다. Specifically, when the state information of the external device is requested from the
한편, 기기 제어 모듈(121)은, 후술하는 실시 예와 같이 툴 관리 모듈(125)로부터 외부 기기의 상태 정보가 요청되면, 기기 제어 서버(500)로부터 수신되는 현재 외부 기기의 상태 정보를 툴 관리 모듈(125)로 제공할 수도 있다. Meanwhile, the
또한, 기기 제어 모듈(121)은 음성 인식 모듈(123)이 판단한 제어 명령을 기기 제어 서버(500)로 전송하여 제어 대상 기기의 동작을 제어할 수 있다. In addition, the
구체적으로, 기기 제어 모듈(121)은, 음성 인식 모듈(123)로부터 제어 명령이 수신되면, 수신된 제어 명령을 통신부(130)를 통해 기기 제어 서버(500)로 전송할 수 있다. 이에 따라, 기기 제어 서버(500)가 제어 명령에 대응되는 제어 신호를 제어 대상 기기로 전송함으로써, 제어 대상 기기의 동작이 제어될 수 있다. Specifically, when a control command is received from the
음성 인식 모듈(123)은 마이크(110)를 통해 수신되는 사용자 음성에 대응되는 제어 명령을 판단할 수 있다. The
구체적으로, 음성 인식 모듈(123)은 음성 인식 기능을 수행할 수 있다. 이를 위해, 음성 인식 모듈(123)은 ASR 모듈(123-1) 및 NLU 모듈(123-2)을 포함할 수 있다. Specifically, the
ASR 모듈(123-1)은 사용자 음성을 인식하고, 인식된 사용자 음성을 텍스트로 출력할 수 있다. 예를 들어, "TV 틀어줘"와 같은 사용자 음성이 마이크(110)를 통해 수신되면, ASR 모듈(123-1)은 이를 인식하여 "TV 틀어줘"와 같은 텍스트를 NLU 모듈(123-2)로 출력할 수 있다. The ASR module 123-1 may recognize a user voice and output the recognized user voice as text. For example, when a user voice such as "Turn on TV" is received through the
이를 위해, ASR 모듈(123-1)은 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 이때, 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 따라서, ASR 모듈(123-1)은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자 음성을 텍스트로 변환할 수 있다. To this end, the ASR module 123-1 may include an acoustic model and a language model. In this case, the acoustic model may include information related to speech, and the language model may include information on a combination of unit phoneme information and unit phoneme information. Accordingly, the ASR module 123-1 may convert the user's voice into text by using information related to vocalization and information on unit phoneme information.
NLU 모듈(123-2)은 ASR 모듈(123-1)로부터 수신된 텍스트의 의미 즉, 사용자 음성에 대응되는 사용자 의도를 파악할 수 있다. 예를 들어, "TV 틀어줘"와 같은 텍스트가 ASR 모듈(123-1)로부터 수신되면, NLU 모듈(123-2)은 이를 분석하여 "TV power-on"과 같은 사용자 의도 정보를 획득할 수 있다. The NLU module 123-2 may determine the meaning of the text received from the ASR module 123-1, that is, the user intention corresponding to the user's voice. For example, when a text such as "Turn on TV" is received from the ASR module 123-1, the NLU module 123-2 may analyze it and obtain user intention information such as "TV power-on". have.
이를 위해, NLU 모듈(123-2)은, ASR 모듈(123-1)로부터 수신된 텍스트에 대해, 키워드 매칭(keyword matching), 구문 분석(syntactic analysis) 및 의미 분석(semantic analysis) 등의 작업을 수행하여 사용자 의도를 파악할 수 있다. To this end, the NLU module 123-2 performs tasks such as keyword matching, syntactic analysis, and semantic analysis with respect to the text received from the ASR module 123-1. To understand user intent.
도 2에서는 음성 인식 모듈(123)이 ASR 모듈(123-1) 및 NLU 모듈(123-2)를 모두 포함하는 것을 예로 들었으나, 실시 예가 이에 한정되는 것은 아니다. 즉, 예를 들어 음성 인식 모듈(123)은, ASR 모듈(123-1) 또는 NLU 모듈(123-2) 중 하나만을 포함할 수도 있으며, 이 경우, 음성 인식 모듈(123)은 나머지 모듈의 역할에 해당하는 처리를 음성 인식 서버(400)로 요청하고, 그 처리 결과를 수신할 수도 있다. In FIG. 2, it has been exemplified that the
이때, 어느 경우이든 음성 인식 모듈(123)은, 음성 인식 처리 결과 즉, ASR 처리 및/또는 NLU 처리 결과의 신뢰도가 일정 수준 미만인 경우, 음성 인식 서버(400)로 사용자 음성에 대한 ASR 처리 및/또는 NLU 처리를 요청하고, 그 처리 결과를 획득할 수도 있음은 전술한 바와 같다. At this time, in any case, when the reliability of the speech recognition processing result, that is, the ASR processing and/or the NLU processing result, is less than a certain level, the
이와 같이, 음성 인식 모듈(123)은 마이크(110)를 통해 수신된 사용자 음성을 음성 인식 처리하여 사용자 음성에 대응되는 사용자 의도 정보를 획득할 수 있다. In this way, the
또한, 음성 인식 모듈(123)은 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 획득할 수 있다. 구체적으로, 상술한 바와 같이 사용자 의도 정보가 획득되면, NLU 모듈(123-2)(이하에서, NLU 모듈(123-2)의 동작은, 음성 인식 모듈(123)이 ASR 모듈(123-1)만 포함하는 실시 예의 경우에는, 음성 인식 모듈(123)이 수행하는 것으로 볼 수 있다.)은 획득된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 기기 제어 모듈(121)을 통해 기기 제어 서버(500)로부터 수신할 수 있다. Also, the
이와 같이, 사용자 의도 정보 및 외부 기기의 상태 정보가 획득되면, NLU 모듈(123-2)은, 제어 명령 판단 툴(141) 중 룰 DB(141-1)의 로딩을 툴 관리 모듈(125)에 요청할 수 있다. In this way, when the user intention information and the status information of the external device are obtained, the NLU module 123-2 transfers the loading of the rule DB 141-1 of the control
이에 따라, 룰 DB(141-1)가 프로세서(120)에 로딩되면, NLU 모듈(123-2)은 로딩된 룰 DB(141-1) 중 상기 획득된 사용자 의도 정보 및 외부 기기의 상태 정보와 동일한 사용자 의도 정보 및 외부 기기의 상태 정보가 매칭되어 있는 룰이 룰 DB(141-1)에 존재하는지 확인하고, 존재하는 경우, 해당 룰에 매칭되어 있는 제어 명령을, 사용자 음성에 대응되는 제어 명령으로 판단할 수 있다. Accordingly, when the rule DB 141-1 is loaded into the
예를 들어, 이전에 사용자가 "TV 틀어줘"라는 사용자 음성을 발화함에 따라 음성 인식 서버(400)를 통해 TV 1(200-1)을 제어했던 히스토리에 기초하여, 상기 표 1의 룰 1과 같은 룰이 생성되어 룰 DB(141-1)에 저장되어 있고, 이후에 다시 사용자가 "TV 틀어줘"라는 음성을 발화한 경우를 가정하자. For example, based on the history of controlling the TV 1 (200-1) through the
이 경우, 음성 인식 모듈(123)은 사용자 음성을 음성 인식 처리하여 "TV power-on"이라는 사용자 의도 정보를 획득하고, NLU 모듈(123-2)은 TV와 관련된 외부 기기의 상태 정보를 기기 제어 모듈(121)을 통해 기기 제어 서버(500)로부터 수신할 수 있다. In this case, the
또한, NLU 모듈(123-2)은 툴 관리 모듈(125)에 룰 DB(141-1)의 로딩을 요청하고, 이에 따라, 룰 1을 포함하는 룰 DB(141-1)가 프로세서(120)에 로딩될 수 있다. In addition, the NLU module 123-2 requests the
이때, NLU 모듈(123-2)로 수신된 외부 기기의 상태 정보가 "TV 1(200-1) off" 및 "TV 2(200-2) on"인 경우, 룰 DB(141-1)에는 사용자 의도 정보가 "TV power-on"이고, 외부 기기의 상태 정보가 "TV 1(200-1) off" 및 "TV 2(200-2) on"인 룰 1이 존재하므로, 음성 인식 모듈(123)은 룰 1에 매칭되어 있는 제어 명령인 "TV 1(200-1) power-on"을, 현재 수신된 "TV 틀어줘"에 대한 제어 명령으로 즉시 판단할 수 있다. At this time, when the status information of the external device received by the NLU module 123-2 is "TV 1 (200-1) off" and "TV 2 (200-2) on", the rule DB (141-1) Since the rule 1 in which the user intention information is "TV power-on" and the status information of the external device is "TV 1 (200-1) off" and "TV 2 (200-2) on" exists, the voice recognition module ( 123) may immediately determine “TV 1 (200-1) power-on”, which is a control command matched with Rule 1, as a control command for “Turn on TV” currently received.
이상에서는, 음성 인식 모듈(123)의 요청에 따라 메모리(140)에 저장된 전체 룰 DB(141-1)가 프로세서(140)에 로딩되는 것을 예로 들어 설명하였으나, 실시 예가 이에 한정되는 것은 아니다. In the above, it has been described as an example that the entire rule DB 141-1 stored in the
가령, 사용자 의도 정보와 관련된 외부 기기를 포함하는 룰들만 프로세서(120)에 로딩될 수도 있다. 예를 들어, 상기 표 1과 같은 룰 DB(141-1)가 메모리(140)에 저장되어 있고, 상술한 예에서와 같이 "TV power-on"이라는 사용자 의도 정보가 획득되면, 음성 인식 모듈(123)은 사용자 의도 정보와 관련된 외부 기기 즉, TV를 포함하는 룰의 로딩을 툴 관리 모듈(125)로 요청할 수 있다. 이에 따라, 툴 관리 모듈(125)은 룰 DB(141-1) 중 TV를 포함하는 룰 1만 프로세서(120)에 로딩할 수 있다. 이 경우, 음성 인식 모듈(123)이 매칭되는 룰의 존부를 확인할 때 비교 대상이 줄어들게 되므로, 보다 신속하게 제어 명령의 존부가 판단될 수 있을 것이다. For example, only rules including external devices related to user intention information may be loaded into the
한편, 본 개시의 다른 일 실시 예에 따르면, 사용자 의도 정보 및 외부 기기의 상태 정보가 획득된 경우, NLU 모듈(123-2))은 제어 명령 판단 툴(141) 중 인공 지능 모델(141-2)의 로딩을 툴 관리 모듈(125)에 요청할 수도 있다. Meanwhile, according to another embodiment of the present disclosure, when user intention information and status information of an external device are acquired, the NLU module 123-2 is an artificial intelligence model 141-2 of the control command determination tool 141. ) May be requested to be loaded from the
이에 따라, 인공 지능 모델(141-2)이 프로세서(120)에 로딩되면, NLU 모듈(123-2)은, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보를 인공 지능 모델(141-2)에 입력하고, 이에 따라 출력되는 제어 명령(예를 들어, 복수의 제어 명령들 중 가장 높은 확률 값을 갖는 제어 명령)을, 사용자 음성에 대응되는 제어 명령으로 판단할 수 있다. Accordingly, when the artificial intelligence model 141-2 is loaded into the
예를 들어, 이전에 사용자가 "TV 틀어줘"라는 사용자 음성을 발화함에 따라 음성 인식 서버(400)를 통해 TV 1(200-1)을 제어 했던 히스토리에 기초하여, 사용자 의도 정보("TV power-on") 및 사용자 의도 정보와 관련된 외부 기기의 상태 정보("TV 1(200-1) off", "TV 2(200-2) on")가 입력되는 경우 제어 명령("TV 1(200-1) power-on")이 가장 높은 확률 값으로 출력되도록 하여 인공 지능 모델(141-2)이 학습되어 있는 경우를 가정하자.For example, based on the history of controlling the TV 1 (200-1) through the
이 경우, 이후에 다시 사용자가 "TV 틀어줘"라는 음성을 발화한 경우를 가정하면, 음성 인식 모듈(123)은 사용자 음성을 음성 인식 처리하여 "TV power-on"이라는 사용자 의도 정보를 획득하고, NLU 모듈(123-2)는 TV와 관련된 외부 기기의 상태 정보를 기기 제어 모듈(121)을 통해 기기 제어 서버(500)로부터 수신할 수 있다. In this case, assuming that the user utters the voice "Turn on TV" again later, the
이때, 수신된 외부 기기의 상태 정보가 "TV 1(200-1) off", "TV 2(200-2) on"인 경우, NLU 모듈(123-2)은, 현재 획득된 사용자 의도 정보인 "TV power-on" 및 현재 수신한 외부 기기의 상태 정보인 "TV 1(200-1) off", "TV 2(200-2) on"을 상기 학습된 인공 지능 모델(141-2)에 입력할 수 있다. 이에 따라, NLU 모듈(123-2)은, 인공 지능 모델(141-2)에서 출력되는 제어 명령 "TV 1(200-1) power-on"을 현재 수신된 "TV 틀어줘"에 대한 제어 명령으로 즉시 판단할 수 있다. At this time, when the received status information of the external device is "TV 1 (200-1) off" or "TV 2 (200-2) on", the NLU module 123-2 is the currently acquired user intention information. "TV power-on" and "TV 1 (200-1) off" and "TV 2 (200-2) on", which are status information of the currently received external device, are added to the learned artificial intelligence model 141-2. You can enter. Accordingly, the NLU module 123-2 receives the control command "TV 1 (200-1) power-on" output from the artificial intelligence model 141-2 for the currently received "Turn on TV" Can be judged immediately.
한편, 본 개시의 일 실시 예에 따르면, NLU 모듈(123-2)은, 제어 명령 판단 툴(141)을 이용하기 전에, 도 1의 음성 인식 서버(400)의 동작과 같이, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보에 기초하여 사용자 의도 정보만으로 제어 명령이 특정되는지를 먼저 판단하고, 사용자 의도 정보만으로 제어 명령이 특정되는 경우에는 제어 명령 판단 툴(141)을 이용하지 않고 상기 획득된 사용자 의도 정보에 기초하여 제어 명령을 바로 판단할 수도 있다. On the other hand, according to an embodiment of the present disclosure, before using the control
예를 들어, 위 예에서 기기 등록 서버(500)에 등록된 사용자 계정의 TV가 1대이고, "TV off"라는 TV의 상태 정보가 수신된 경우, "TV power-on"이라는 사용자 의도 정보만으로, 제어 대상 기기 및 제어 대상 기기의 동작이 특정되므로, 음성 인식 모듈(123)은 툴 관리 모듈(125)로 제어 명령 판단 툴(141)을 요청하지 않고,"TV power-on"을 "TV 틀어줘"라는 사용자 음성에 대한 제어 명령으로 바로 판단할 수도 있을 것이다. For example, in the above example, when there is one TV in the user account registered in the
이와 같이, 사용자 음성에 대응되는 제어 명령이 판단되면, 음성 인식 모듈(121)은 판단된 제어 명령을 기기 제어 모듈(121)로 전송함으로써, 제어 대상 기기의 동작을 제어할 수 있다. In this way, when a control command corresponding to the user's voice is determined, the
한편, 툴 관리 모듈(125)은 룰 DB(141-1) 또는 인공 지능 모델(141-2)을 업데이트 할 수 있다. 구체적으로, 음성 인식 모듈(123)은 획득된 사용자 의도 정보 및 외부 기기의 상태 정보에 대응되는 룰이 룰 DB(141-1)에 존재하지 않거나, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보를 인공 지능 모델(141-2)에 입력하였으나 제어 명령이 출력되지 않는 경우(예를 들어, 기설정된 확률 값 이상을 갖는 제어 명령이 없는 경우), 획득된 사용자 의도 정보 및 외부 기기의 상태 정보를 툴 관리 모듈(125)로 전송하고, 통신부(130)를 통해 사용자 음성을 음성 인식 서버(400)로 전송할 수 있다. Meanwhile, the
이에 따라, 음성 인식 서버(400)는 도 1에서 전술한 바와 같이 사용자 음성에 대응되는 제어 명령을 판단하고, 판단된 제어 명령을 기기 제어 서버(500) 및 전자 장치(100)로 전송할 수 있다. 또는 음성 인식 서버(400)는 판단된 제어 명령을 기기 제어 서버(500)로만 전송하고, 기기 제어 서버(500)가 전자 장치(100)로 제어 명령을 전송할 수도 있다. Accordingly, as described above in FIG. 1, the
이때, 기기 제어 서버(500)로 전송된 제어 명령은, 도 1에서 전술한 바와 같이, 제어 신호 형태로 제어 대상 기기로 전송되어 제어 대상 기기의 동작을 제어하는데 이용된다. At this time, the control command transmitted to the
한편, 전자 장치(100)로 전송된 제어 명령은 룰 DB(141-1)나 인공 지능 모델(141-2)를 업데이트하는데 이용되게 된다. Meanwhile, the control command transmitted to the
구체적으로, 음성 인식 서버(400)에서 판단된 제어 명령이 통신부(130)를 통해 수신되면, 툴 관리 모듈(125)은, 음성 인식 모듈(123)로부터 수신한 사용자 의도 정보 및 외부 기기의 상태 정보를, 음성 인식 서버(400)로부터 수신한 제어 명령과 매칭시켜 신규 룰을 생성하고, 생성된 신규 룰을 룰 DB(141-1)에 업데이트 할 수 있다. Specifically, when the control command determined by the
또한, 툴 관리 모듈(125)은, 음성 인식 모듈(123)로부터 수신한 사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 음성 인식 서버(400)로부터 수신한 제어 명령을 출력으로 하여 인공 지능 모델을 학습시킴으로써, 인공 지능 모델(141-2)을 업데이트할 수 있다. In addition, the
이와 같이, 업데이트된 룰 DB(141-1) 및 인공 지능 모델(141-2)은 이후 마이크(110)를 통해 수신되는 사용자 음성에 대응되는 제어 명령 판단에 이용될 수 있다. In this way, the updated rule DB 141-1 and the artificial intelligence model 141-2 may be used to determine a control command corresponding to the user's voice received through the
한편, 이상에서는, 툴 관리 모듈(125)이 음성 인식 모듈(123)로부터 사용자 의도 정보 및 외부 기기의 상태 정보를 모두 수신하는 것을 예로 들었으나, 실시 예가 이에 한정되는 것은 아니다. Meanwhile, in the above, it has been exemplified that the
예를 들어, 음성 인식 모듈(123)은 획득된 사용자 의도 정보만을 툴 관리 모듈(125)로 전송할 수 있다. 이에 따라, 툴 관리 모듈(125)은 음성 인식 모듈(123)로부터 수신된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 기기 제어 모듈(121)로 요청하고, 기기 제어 모듈(121)로부터 외부 기기의 상태 정보를 직접 수신할 수도 있다. For example, the
한편, 이상에서는, NLU 모듈(123-2)이 제어 명령을 판단하기 위해 룰 DB(141-1) 또는 인공 지능 모델(142-2)을 이용하는 예를 각각 설명하였다. 그러나, 본 개시의 일 실시 에에 따르면, NLU 모듈(123-2)은, 먼저 룰 DB(141-1)를 이용하여 제어 명령 판단을 시도하고, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보에 대응되는 룰이 룰 DB(141-1) 존재하지 않는 경우, 인공 지능 모델(141-2)을 이용하여 제어 명령을 판단할 수 있다. Meanwhile, in the above, examples in which the NLU module 123-2 uses the rule DB 141-1 or the artificial intelligence model 142-2 to determine a control command have been described, respectively. However, according to an embodiment of the present disclosure, the NLU module 123-2 first attempts to determine a control command using the rule DB 141-1, and responds to the acquired user intention information and the state information of the external device. When the rule DB 141-1 does not exist, the control command may be determined using the artificial intelligence model 141-2.
또는 본 개시의 다른 실시 예에 따르면, NLU 모듈(123-2)은, 먼저 인공 지능 모델(141-2)을 이용하여 제어 명령 판단을 시도하고, 기설정된 확률 값 이상을 갖는 제어 명령이 인공 지능 모델(141-2)에서 출력되지 않는 경우, 룰 DB(141-1)에 기초하여 제어 명령을 판단할 수도 있다. Alternatively, according to another embodiment of the present disclosure, the NLU module 123-2 first attempts to determine a control command using the artificial intelligence model 141-2, and the control command having a predetermined probability value or more is artificial intelligence. When not output from the model 141-2, the control command may be determined based on the rule DB 141-1.
위 두 실시 예에서, 룰 DB(141-1) 및 인공 지능 모델(141-2) 어느 것을 이용하더라도 제어 명령이 판단되지 않는 경우, 툴 관리 모듈(125)은 전술한 바와 같이 룰 DB(141-1) 및 인공 지능 모델(141-2)을 업데이트할 수 있다. In the above two embodiments, when the control command is not determined regardless of whether the rule DB 141-1 and the artificial intelligence model 141-2 are used, the
이하에서는, 도 3 내지 도 5을 참조하여 본 개시의 다양한 실시 예들을 설명한다. 도 3 내지 도 5를 설명함에 있어 전술한 것과 동일한 내용의 중복 설명은 생략한다. Hereinafter, various embodiments of the present disclosure will be described with reference to FIGS. 3 to 5. In describing FIGS. 3 to 5, overlapping descriptions of the same contents as those described above will be omitted.
도 3은 본 개시의 일 실시 예에 따른 음성 인식 시스템을 도시한 도면이다. 도 3에 따르면, 음성 인식 시스템(1000')은, 전자 장치(100), 스마트 TV(200-3), 스마트 에어컨 1(200-4), 스마트 에어컨 2(200-5), 레거시 TV(200-6), 액세스 포인트(300), 음성 인식 서버(400) 및 기기 제어 서버(500)을 포함할 수 있다. 3 is a diagram illustrating a speech recognition system according to an embodiment of the present disclosure. According to FIG. 3, the voice recognition system 1000' includes an
전자 장치(100)와 스마트 TV(200-3), 에어컨 1(200-4), 에어컨 2(200-5)는 인터넷 연결이 가능한 기기들로, 댁내(10)에서 IoT 네트워크를 구성하고 있으며, 액세스 포인트(300)를 통해 음성 인식 서버(400) 및 기기 제어 서버(500)와 연결될 수 있다. 한편, 레거시 TV(200-6)의 경우, 인터넷 연결이 불가능하며, IR 통신 방식으로만 동작의 제어가 가능하다. The
한편, 음성 인식 서버(400) 및 기기 제어 서버(500)는 클라우드 서버일 수 있으나, 이에 한정되는 것은 아니다. Meanwhile, the
이러한 상황에서, 사용자는 기기 제어 서버(500)에 접속하여 스마트 TV(200-3), 에어컨 1(200-4), 에어컨 2(200-5), 레거시 TV(200-6)를 자신의 계정에 등록할 수 있다. In this situation, the user accesses the
이때, 기기 제어 서버(500)는 액세스 포인트(300)를 통해 연결된 스마트 TV(200-3), 에어컨 1(200-4), 에어컨 2(200-5)에 대하여만 상태 정보의 모니터링 및 동작의 제어가 가능하고, 레거시 TV(200-6)에 대하여는 상태 정보의 모니터링과 동작의 제어가 불가능하다. 다만, 레거시 TV(200-6)의 사용자 계정을 통해 알 수 있다. At this time, the
한편, 이전에 외부 기기를 제어했던 히스토리 정보에 기초하여 아래 표 2와 같은 룰 DB가 전자 장치(100)의 메모리(140)에 저장되어 있을 수 있다. Meanwhile, a rule DB as shown in Table 2 below may be stored in the
레거시 TV(200-6)Smart TV (200-3): on
Legacy TV (200-6)
에어컨 2(200-5): offAir conditioner 1 (200-4): off
Air conditioner 2 (200-5): off
이와 같은 상황에서, "TV 틀어줘"와 같은 사용자 음성이 수신되면, 전자 장치(100)는 전술한 바와 같이, 사용자 음성을 음성 인식 처리하여 "TV power-on"과 같은 사용자 의도 정보를 획득하고, TV의 상태 정보를 기기 제어 서버(500)로 요청할 수 있다. 이에 따라, "스마트 TV(200-3) on", "레거시 TV(200-6)"와 같은 상태 정보가 수신되면, 전자 장치(100)는 표 2의 룰 1에 기초하여 "레거시 TV(200-6) power-on"을 제어 명령으로 판단할 수 있다. In such a situation, when a user's voice such as "Turn on TV" is received, the
다만, 이 경우에는 기기 제어 서버(500)를 통한 레거시 TV(200-6)의 동작 제어가 불가능하므로, 전자 장치(100)는 판단된 제어 명령을 직접 레거시 TV(200-6)로 전송하여, 레거시 TV(200-6)의 동작을 제어할 수 있다. 이를 위해, 전자 장치(100)는 IR 블라스터 등과 같은 IR 신호를 송, 수신하기 위한 구성을 포함할 수 있다. However, in this case, since it is impossible to control the operation of the legacy TV 200-6 through the
한편, 에어컨 1(200-4) 및 에어컨 2(200-5)가 모두 off인 상태에서 사용자가 "에어컨 틀어줘"와 같은 음성을 발화한 경우, 전자 장치(100)는 표 2의 룰 2에 따라 "에어컨 2(200-5) power-on"와 같은 제어 명령을 판단할 수 있다. 이 경우에는 기기 제어 서버(500)를 통한 에어컨 2(200-5)의 동작 제어가 가능하므로, 전자 장치(100)는 도 1 및 도 2에서 전술한 바와 같이, 기기 제어 서버(500)로 제어 명령을 전송하여 에어컨 2(200-5)의 동작을 제어할 수 있다. On the other hand, when the user utters a voice such as "Turn on the air conditioner" while the air conditioner 1 (200-4) and the air conditioner 2 (200-5) are both off, the
그러나, 실시 예가 이에 한정되는 것은 아니다. 즉, 기기 제어 서버(500)를 통한 동작 제어가 가능한 경우에도, 실시 예에 따라 와이 파이 다이렉트 등과 같은 기기 간 통신 방식을 통해 전자 장치(100)가 제어 명령을 직접 에어컨 2(200-5)로 전송함으로써, 에어컨 2(200-5)의 동작을 제어할 수도 있을 것이다. However, the embodiment is not limited thereto. That is, even when operation control through the
도 4는 본 개시의 일 실시 예에 따른 전자 장치의 블럭도이다. 도 4에 따르면, 전자 장치(100')는 마이크(110), 프로세서(120), 통신부(130), 메모리(140), 스피커(150) 및 디스플레이(160)를 포함할 수 있다. 4 is a block diagram of an electronic device according to an embodiment of the present disclosure. Referring to FIG. 4, the
마이크(100)는 하나 이상의 마이크로폰으로 구현될 수 있으며, 전자 장치(100')와 일체형으로 구현될 수도 있고, 분리형으로 구현될 수도 있다. 여기서, 분리형 마이크는 마이크로폰이 전자 장치(100')의 본체에 포함되지 않고 따로 떨어져서 유선 또는 무선으로 전자 장치(100')와 연결되는 형태를 의미한다. The
통신부(130)는 각종 서버나 기기들과 통신을 수행하여, 다양한 정보(또는 데이터)를 송수신할 수 있는 하드웨어를 지칭할 수 있다. The
통신부(130)는 TCP/IP(Transmission Control Protocol/Internet Protocol), UDP(User Datagram Protocol), HTTP(Hyper Text Transfer Protocol), HTTPS(Secure Hyper Text Transfer Protocol), FTP(File Transfer Protocol), SFTP(Secure File Transfer Protocol), MQTT(Message Queuing Telemetry Transport) 등의 통신 규약(프로토콜)을 이용하여 외부의 서버(400, 500)나 기기들(200-1 내지 200-6)과 다양한 정보를 송수신할 수 있다. The
통신부(130)는 각종 서버(400, 500) 및 복수의 외부 기기(200-1 내지 200-6)와 각종 네트워크를 통해 연결될 수 있다. 여기서, 네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등을 포함하며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등을 포함할 수 있다.The
통신부(130)는 근거리 무선 통신 모듈(미도시) 및 무선랜 통신 모듈(미도시) 중 적어도 하나의 통신 모듈을 포함할 수 있다. 근거리 무선 통신 모듈(미도시)은 근거리에 위치한 외부 기기와 무선으로 데이터 통신을 수행하는 통신 모듈로써, 예를 들어, 블루투스(Bluetooth) 모듈, 지그비(ZigBee) 모듈, NFC(Near Field Communication) 모듈, 적외선 통신 모듈, IR(Infrared) 통신 모듈, 와이파이 모듈(와이 파이 P2P 기능 사용 시) 등이 될 수 있다. 또한, 무선랜 통신 모듈(미도시)은 와이파이(WiFi), IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 외부 서버 또는 외부 기기와 통신을 수행하는 모듈이다.The
이 밖에 통신부(130)는 실시 예에 따라 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), 5G(5th Generation mobile communications) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있으며, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), IEEE(Institute of Electrical and Eletronics Engineers) 1394, RS-232, RS-422, RS-485, Ethernet 등과 같은 통신 규격에 따른 유선 통신 모듈(미도시)을 더 포함할 수도 있다. In addition, the
한편, 통신부(130)는 상술한 유무선 통신 방식에 따른 네트워크 인터페이스(Network Interface) 또는 네트워크 칩을 포함할 수 있다. 또한, 통신 방식은 상술한 예에 한정되지 아니하고, 기술의 발전에 따라 새롭게 등장하는 통신 방식을 포함할 수 있다. Meanwhile, the
메모리(140)에는 전자 장치(100') 또는 프로세서(120)의 동작을 위한 운영체제(O/S), 각종 프로그램 또는 애플리케이션, 및 데이터가 저장될 수 있다. 구체적으로, 메모리(140)에는 전자 장치(100') 또는 프로세서(120)의 동작에 필요한 적어도 하나의 인스트럭션(instruction), 모듈 또는 데이터가 저장될 수 있다. The
여기서, 인스트럭션은 전자 장치(100') 또는 프로세서(120)의 동작을 지시하는 부호 단위로서, 컴퓨터가 이해할 수 있는 언어인 기계어로 작성된 것일 수 있다. 모듈은 작업 단위의 특정 작업을 수행하는 일련의 인스트럭션의 집합체(instruction set)일 수 있다. 데이터는 문자, 수, 영상 등을 나타낼 수 있는 비트(bit) 또는 바이트(byte) 단위의 정보일 수 있다.Here, the instruction is a unit of code indicating the operation of the electronic device 100' or the
메모리(140)는 프로세서(120)에 의해 액세스 되며, 프로세서(120)에 의해 인스트럭션, 모듈, 인공지능 모델 또는 데이터에 대한 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. The
이를 위해, 메모리(140)는 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는, 휘발성 메모리 또는 비휘발성 메모리(non-volatile Memory) 중 적어도 하나를 포함할 수 있다. 휘발성 메모리는, 예를 들어 DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등일 수 있다. 비휘발성 메모리는 예를 들어 OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAN flash memory, NOR flash memory 등일 수 있다. 또한, 내장 메모리는 Solid State Drive(SSD)일 수 있다. 외장 메모리는 flash drive, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 포함할 수 있다. 외장 메모리는 다양한 인터페이스를 통하여 전자 장치(100')와 기능적으로 연결될 수 있다. 또한, 전자 장치(100')는 하드 드라이브와 같은 저장 장치를 더 포함할 수도 있다. To this end, the
스피커(150)는 전기적 신호를 청각적인 형태(예: 음성)로 출력하는 장치이다. 스피커는 오디오 처리부(미도시)에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 직접 소리로 출력할 수 있다. 예를 들어, 음성 인식 서버(400)의 자체 정책에 따른 질의가 통신부(130)를 통해 수신되면, 스피커(150)는 수신된 질의를 음성으로 출력할 수 있다.The
디스플레이(160)는 정보를 시각적인 형태(예: 그래픽, 문자, 이미지 등)로 출력하는 장치이다. 디스플레이(160)는 이미지 프레임을 디스플레이 영역의 전체 또는 일부 영역에 표시할 수 있다. 예를 들어, 음성 인식 서버(400)의 자체 정책에 따른 질의가 통신부(130)를 통해 수신되면, 디스플레이(160)는 수신된 질의를 문자로 출력할 수 있다. The
프로세서(120)는 메모리(140)에 저장된 각종 프로그램(예를 들어, 적어도 하나의 인스트럭션, 모듈 등)이나 데이터를 읽어, 본 개시의 다양한 실시 예들에 따른 전자 장치(100')의 동작을 수행할 수 있다.The
메모리(140)에 저장된 룰 DB, 인공 지능 모델, 음성 인식 모듈, 기기 제어 모듈 등은, 프로세서(120)에 의해 로딩되어 해당 기능이 각각 수행될 수 있다. 이를 위해, 프로세서(120)는 메모리(140)에 저장된 각종 프로그램 및 데이터의 적어도 일부를 로딩하기 위한 내부 메모리를 포함할 수 있다. A rule DB, an artificial intelligence model, a voice recognition module, a device control module, and the like stored in the
한편, 프로세서(120)는 중앙처리장치(central processing unit(CPU)), controller, 어플리케이션 프로세서(application processor(AP)), 마이크로 프로세서(microprocessor unit(MPU)), 커뮤니케이션 프로세서(communication processor(CP)), GPU(Graphic Processing Unit), VPU(Vision Processing Unit), NPU(Neural Processing Unit), 또는 ARM 프로세서 중 하나 또는 그 이상을 포함할 수 있다. Meanwhile, the
한편, 도 2에서는, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보에 대응되는 룰이 룰 DB(141-1)에 존재하지 않거나, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보를 인공 지능 모델(141-2)에 입력하였으나 제어 명령이 출력되지 않는 때, 음성 인식 서버(400)로 사용자 음성이 전송되는 것을 예로 들었으나, 실시 예가 이에 한정되는 것은 아니다. Meanwhile, in FIG. 2, the rule corresponding to the acquired user intention information and the state information of the external device does not exist in the rule DB 141-1, or the acquired user intention information and the state information of the external device are used in an artificial intelligence model ( 141-2), but when a control command is not output, a user voice is transmitted to the
즉, 실시 예에 따라, 프로세서(120)는, 대응되는 룰의 존재 여부나 인공 지능 모델로부터 제어 명령의 출력 여부와 무관하게, 사용자 음성이 수신되면 수신된 사용자 음성을 항상 음성 인식 서버(400)로 전송할 수도 있다. That is, according to an embodiment, the
이러한 실시 예에서, 대응되는 룰이 룰 DB(141-1)에 존재하거나 인공 지능 모델로부터 제어 명령이 출력되는 경우에는, 전자 장치(100) 및 음성 인식 서버(400) 각각이 판단한 제어 명령이 기기 제어 서버(500)로 각각 전송되게 되므로, 기기 제어 서버(500)는 전자 장치(100') 및 음성 인식 서버(500)로부터 동일한 제어 명령을 각각 수신하게 될 수 있다. In this embodiment, when a corresponding rule exists in the rule DB 141-1 or a control command is output from the artificial intelligence model, the control command determined by each of the
이러한 경우에는, 2 개의 제어 명령을 수신한 기기 제어 서버(500)가 2번째로 수신한 제어 명령을 무시하거나, 또는 2 개의 제어 신호를 수신한 제어 대상 기기가 2 번째로 수신한 제어 신호를 무시함으로써, 제어 대상 기기가 동일한 동작을 2번 수행하는 오류를 막을 수 있다. In this case, the
이때, 기기 제어 서버(500)가 2 번째로 수신하는 제어 명령 또는 제어 대상 기기가 2 번째로 수신하는 제어 신호는, 대부분 음성 인식 서버(400)가 전송한 제어 명령 및 그에 따른 제어 신호가 될 것이다. 이는, 제어 명령 판단 툴(141)에 의한 제어 명령 판단이 음성 인식 서버(400)의 제어 명령 판단보다 빠르기 때문이다. At this time, the control command that the
한편, 도 1 및 도 2에서는 음성 인식 서버(400)의 추가적인 해석이 필요한 경우로, 사용자 의도 정보만으로 제어 대상 기기가 특정되지 않는 경우를 예로 들었으나, 이에 한정되는 것은 아니며, 제어 대상 기기는 특정되더라도 제어 대상 기기의 동작이 특정되지 않는 경우에도 음성 인식 서버(400)의 추가적인 해석이 필요하다. Meanwhile, in FIGS. 1 and 2, a case in which an additional analysis of the
예를 들어, 사용자 계정에 하나의 TV(200-1)가 등록되어 있고, 사용자가 "MBC 틀어줘"와 같은 사용자 음성을 발화한 경우, 전자 장치(100')는 음성 인식 처리를 통해 "TV Channel MBC"와 같은 사용자 의도 정보를 획득하고, "TV"의 상태 정보를 기기 제어 서버(500)로 요청할 수 있다. For example, if one TV 200-1 is registered in the user account, and the user utters a user voice such as "Play MBC", the electronic device 100' User intention information such as "Channel MBC" may be acquired, and state information of "TV" may be requested from the
이때, TV 1(200-1)이 켜져 있는 상태인 경우, 기기 제어 서버(500)는 "TV 1(200-1) on"과 같은 상태 정보를 전자 장치(100')로 전송할 수 있다. 한편, TV 1(200-1)의 상태 정보가 on/off 정보에 국한되지 않음은 도 1에 관한 설명에서 전술한 바와 같다. 예를 들어, TV 1(200-1)에서 재생 중인 현재 방송 채널에 관한 정보, 현재 설정된 TV 1(200-1)의 볼륨에 관한 정보 등이 실시 예에 따라 상태 정보에 더 포함될 수도 있음은 물론이다. In this case, when the TV 1 200-1 is turned on, the
그러나, 전자 장치(100')는 "MBC"가 몇 번의 채널을 의미하는지 알 수 없으므로, 음성 인식 서버(400)로 사용자 음성을 전송할 수 있다. ("MBC 틀어줘"와 관련하여 룰도 존재하지 않고, 인공 지능 모델도 학습되지 않은 상태를 전제한다.)However, since the
이에 따라, 음성 인식 서버(400) 역시, 음성 인식 처리를 통해 "TV Channel MBC"와 같은 사용자 의도 정보를 획득하고, 기기 제어 서버(500)로부터 "TV 1(200-1) on"과 같은 상태 정보를 수신할 수 있다.Accordingly, the
음성 인식 서버(400) 역시 "MBC"가 몇 번의 채널을 의미하는지 알 수 없으므로, 사용자 의도 정보만으로 제어 대상 기기 즉, TV 1(200-1)의 동작이 특정되지 않는다고 판단하고, 사용자 질의와 같은 자체 정책에 따른 추가적인 해석을 통해 MBC가 11번 채널인 것을 확인하게 된다. Since the
이에 따라, 음성 인식 서버(400)는 "TV 1(200-1) Channel 11”과 같은 제어 명령을 판단하여 기기 제어 서버(500)로 전송하고, 이에 따라, TV 1(200-1)의 채널이 변경될 수 있다. Accordingly, the
이때, 음성 인식 서버(400) 또는 기기 제어 서버(500)는 음성 인식 서버(400)가 판단한 제어 명령을 전자 장치(100')로 전송하게 되며, 이에 따라, 전자 장치(100')의 프로세서(120)는 아래 표 3의 룰 1과 같은 룰을 생성하여 룰 DB(141-1)를 업데이트 할 수 있다. At this time, the
에어컨 2: offAir conditioner 1: off
Air conditioner 2: off
이후 TV 1(200-1)이 켜져 있는 상태에서 사용자가 다시 "MBC 틀어줘"와 같은 사용자 음성을 발화하면, 프로세서(120)는 상기 표 3의 룰 1을 이용하여 신속하게 제어 명령을 판단할 수 있게 된다. Thereafter, when the user utters a user voice such as "Play MBC" again while the TV 1 (200-1) is turned on, the
한편, 이상에서는 전자 장치(100')가 제어 명령 판단 툴(141)을 이용하여 사용자 음성에 대응되는 제어 명령을 판단하는 다양한 예들을 설명하였다. 그러나, 본 개시의 일 실시 예에 따르면, 음성 인식 서버(400)가 제어 명령 판단 툴(141)을 이용하여 사용자 음성에 대응되는 제어 명령을 판단할 수도 있다. Meanwhile, various examples in which the
도 5는 본 개시의 일 실시 예에 따른 음성 인식 서버의 블럭도이다. 도 5에 따르면, 음성 인식 서버(400)는 통신부(410), 프로세서(420) 및 메모리(430)를 포함할 수 있다. 5 is a block diagram of a voice recognition server according to an embodiment of the present disclosure. Referring to FIG. 5, the
통신부(410)는 외부의 각종 서버 또는 각종 기기들과 통신을 수행하기 위한 구성이다. 특히, 통신부(410)는 전자 장치(100) 및 기기 제어 서버(500)와 통신을 수행하여, 사용자 음성, 사용자 의도 정보, 외부 기기의 상태 정보, 제어 명령 등과 같은 각종 정보 내지 데이터를 송, 수신할 수 있다. The
메모리(430)는 저장된 데이터 또는 정보에 프로세서(420) 등이 접근할 수 있도록, 데이터 또는 정보를 전기 또는 자기 형태로 저장할 수 있다. 특히, 메모리(430)에는, 제어 명령을 판단하기 위한 기초가 되는 제어 명령 판단 툴(431) 및 자체 정책, 제어 명령 판단 툴(431)을 관리하기 위한 툴 관리 모듈(425), 음성 인식 기능을 수행하고 제어 명령을 판단하기 위한 음성 인식 모듈(423), 및 외부 기기(200-1, 200-2)의 상태 정보를 모니터링하고 제어 명령을 송, 수신하기 위한 기기 제어 모듈(421) 등이 저장될 수 있다.The
프로세서(420)는 음성 인식 서버(400)의 전반적인 동작을 제어한다. 특히, 프로세서(420)는 메모리(430)에 저장된 제어 명령 판단 툴(431), 툴 관리 모듈(425), 음성 인식 모듈(423), 기기 제어 모듈(421) 등을 로딩하여 각 모듈의 기능을 수행할 수 있다. The
구체적으로, 도 5는, 프로세서(420)가 메모리(430)에 저장된 기기 제어 모듈(421), 음성 인식 모듈(423), 및 툴 관리 모듈(425)을 로딩하여 해당 기능을 수행하고 있는 상태를 도시하고 있다. Specifically, FIG. 5 shows a state in which the
도 5에 도시된 구성들 중 도 2 및 도 4에 도시된 구성들과 명칭이 동일한 구성들은, 도 2 및 도 4에 도시된 구성들과 동일한 내용이거나 또는 동일하게 동작할 수 있다. 이하에서는, 도 2 및 도 4에서 전술한 것과 동일한 내용의 중복 설명을 생략하고, 차이가 있는 내용을 위주로 설명하기로 한다. Among the components shown in FIG. 5, components having the same name as those shown in FIGS. 2 and 4 may have the same contents or operate in the same manner as the components shown in FIGS. 2 and 4. Hereinafter, redundant descriptions of the same contents as those described above with reference to FIGS. 2 and 4 will be omitted, and different contents will be mainly described.
도 5를 보면, 마이크가 없는 것을 제외하고, 각 구성들이 도 2의 전자 장치(100)의 구성과 동일한 것을 볼 수 있다. 전자 장치(100)에서는 사용자 음성이 마이크(110)를 통해 수신되지만, 음성 인식 서버(400)에서는 통신부(410)를 통해 전자 장치(100)로부터 수신될 수 있다. Referring to FIG. 5, it can be seen that each configuration is the same as that of the
한편, 음성 인식 서버(400)는, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보에 대응되는 룰이 룰 DB(431-1) 존재하지 않거나, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보를 인공 지능 모델(431-2)에 입력하였으나 제어 명령이 출력되지 않는 경우이더라도, 자체 정책을 통해 직접 제어 명령을 판단하게 되므로, NLU 모듈(123-2)이 판단한 제어 명령을 직접 툴 관리 모듈(425)로 전달하면 되고, 통신부(410)를 통해 외부에서 수신할 필요가 없다. On the other hand, the
예를 들어, 통신부(410)를 통해 전자 장치(100)로부터 사용자 음성이 수신되면, 음성 인식 모듈(423)은 수신된 사용자 음성을 ASR 및 NLU 처리하여 사용자 의도 정보를 획득하고, 획득된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 기기 제어 모듈(421)을 통해 기기 제어 서버(500)로부터 수신할 수 있다.For example, when a user voice is received from the
이에 따라, NLU 모듈(423-2)은 툴 관리 모듈(425)로 제어 명령 판단 툴(431)의 로딩을 요청하고, 로딩된 제어 명령 판단 툴(431)을 이용하여 도 2에서 전술한 바와 같이 사용자 음성에 대응되는 제어 명령을 판단할 수 있다. Accordingly, the NLU module 423-2 requests the loading of the control
한편, 제어 명령 판단 툴(431)을 이용하여 제어 명령을 판단할 수 없는 경우, NLU 모듈(423-2)은, 획득된 사용자 의도 정보 및 외부 기기의 상태 정보를 툴 관리 모듈(425)로 전달한다. 또한, NLU 모듈(723-2)은 자체 정책을 이용하여 제어 명령을 판단한다. On the other hand, when the control command cannot be determined using the control
자체 정책을 통해 제어 명령이 판단되면, NLU 모듈(423-2)은 판단된 제어 명령을 툴 관리 모듈(425)로 전달하게 되며, 툴 관리 모듈(425)은 NLU 모듈(423-2)로부터 전달받은 사용자 의도 정보, 외부 기기의 상태 정보 및 제어 명령에 기초하여, 도 2에서 전술한 바와 같이 룰 DB(431-1) 또는 인공 지능 모델(431-2)를 업데이트할 수 있다. When a control command is determined through its own policy, the NLU module 423-2 transmits the determined control command to the
이와 같이, 업데이트된 룰 DB(125) 및 인공 지능 모델(127)은, 이후에 통신부(410)를 통해 전자 장치(100)로부터 수신되는 사용자 음성에 대응되는 제어 명령의 판단에 이용될 수 있다. In this way, the updated
한편, 일반적으로 음성 인식 서버(400)와 같은 서버 장치는 전자 장치(100)와 같은 클라이언트 장치에 비해 대용량의 저장 공간과 고속의 연산 속도를 가질 수 있다. Meanwhile, in general, a server device such as the
따라서, 음성 인식 서버(400)에는, 다양한 상황에서 입력되는 다양한 음성을 원하는 속도로 처리할 수 있는 대용량 고성능의 음성 인식 모듈(423)(ASR 모듈(423-1) 및 NLU 모듈(423-2) 등)이 탑재될 수 있다. Accordingly, the
그러나, 전자 장치(100)의 경우, 저장 공간이나 연산 성능의 한계로 인해 탑재될 수 있는 음성 인식 모듈(123)(ASR 모듈(123-1) 및 NLU 모듈(123-2) 등)에 한계가 있다. However, in the case of the
따라서, 본 개시의 일 실시 예에 따르면, 전자 장치(100)로부터 사용자 음성에 대한 음성 인식 처리(ASR 처리 및/또는 NLU 처리)가 요청되는 경우, 음성 인식 서버(400)의 음성 인식 모듈(423)은, 수신된 사용자 음성을 전자 장치(100)의 요청에 따라 음성 인식 처리하고, 그 결과(ASR 처리 결과인 텍스트 또는 NLU 처리 결과인 사용자 의도 정보)를 통신부(410)를 통해 전자 장치(100)로 전송할 수 있다. Accordingly, according to an embodiment of the present disclosure, when a voice recognition process (ASR process and/or NLU process) for a user's voice is requested from the
도 6은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 나타내는 흐름도이다. 6 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
도 6에 따르면, 전자 장치(100, 100')는 음성 인식 서버(400)에 의해 판단된 제어 명령에 기초한 제어 명령 판단 툴(141)을 저장할 수 있다(S610). Referring to FIG. 6, the
이때, 제어 명령 판단 툴(141)은, 1) 사용자 의도 정보, 외부 기기의 상태 정보 및 음성 인식 서버(400)에 의해 판단된 제어 명령이 서로 매칭된 적어도 하나의 룰을 포함하는 룰 DB(141-1), 및 2) 사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 음성 인식 서버(400)에 의해 판단된 제어 명령을 출력으로 하여 학습된 인공 지능 모델(141-2) 중 적어도 하나를 포함할 수 있다. In this case, the control
한편, 사용자 음성이 수신되면, 전자 장치(100, 100')는, 수신된 사용자 음성을 음성 인식 처리하여 사용자 의도 정보를 획득하고(S620), 획득된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 기기 제어 서버(500)로 요청하여 수신할 수 있다(S630). On the other hand, when a user voice is received, the
이에 따라, 전자 장치(100, 100')는, 획득된 사용자 의도 정보 및 수신된 외부 기기의 상태 정보를, 제어 명령 판단 툴(141)에 적용하여, 제어 대상 기기를 제어하기 위한 제어 명령을 판단하고(S640), 판단된 제어 명령을 기기 제어 서버(500)로 전송할 수 있다(S650). Accordingly, the
예를 들어, 전자 장치(100, 100')는, 획득된 사용자 의도 정보 및 수신된 외부 기기의 상태 정보에 대응되는 룰이 룰 DB(141-1)에 존재하는 경우, 대응되는 룰에 매칭된 제어 명령을 사용자 음성에 대응되는 제어 명령으로 판단할 수 있다. For example, if a rule corresponding to the acquired user intention information and the received state information of an external device exists in the rule DB 141-1, the
만일, 대응되는 룰이 룰 DB(141-1)에 존재하지 않으면, 전자 장치(100, 100')는, 사용자 음성을 음성 인식 서버(400)로 전송하고, 이에 따라, 음성 인식 서버(400)에서 판단된 제어 명령이 수신되면, 수신된 제어 명령을 상기 획득된 사용자 의도 정보 및 수신된 외부 기기의 상태 정보와 매칭하여 신규 룰을 생성하고, 생성된 신규 룰을 룰 DB(141-1)에 업데이트할 수 있다. If the corresponding rule does not exist in the rule DB 141-1, the
한편, 전자 장치(100, 100')는, 획득된 사용자 의도 정보 및 수신된 외부 기기의 상태 정보를 인공 지능 모델(141-2)에 입력하고, 인공 지능 모델(141-2)로부터 출력되는 제어 명령을 사용자 음성에 대응되는 제어 명령으로 판단할 수도 있다. Meanwhile, the
이때, 인공 지능 모델(141-2)로부터 제어 명령이 출력되지 않으면, 전자 장치(100, 100')는, 사용자 음성을 음성 인식 서버(400)로 전송하고, 이에 따라, 음성 인식 서버(400)에서 판단된 제어 명령이 수신되면, 획득된 사용자 의도 정보, 수신된 외부 기기의 상태 정보 및 수신된 제어 명령에 기초하여 인공 지능 모델을 재학습시킬 수 있다. At this time, if the control command is not output from the artificial intelligence model 141-2, the
한편, 본 개시의 일 실시 예에 따르면, 전자 장치(100, 100')는, 외부 기기의 상태 정보에 기초하여 사용자 의도 정보만으로 제어 대상 기기 및 제어 대상 기기의 동작을 특정할 수 있는 경우, 제어 명령 판단 툴(141)을 이용함 없이, 사용자 의도 정보에 기초하여 제어 명령을 판단할 수 있다. Meanwhile, according to an embodiment of the present disclosure, when the
이때, 기기 제어 서버(500)로부터 사용자 의도 정보에 포함된 엔티티와 관련된 복수의 외부 기기의 상태 정보가 수신되면, 전자 장치(100, 100')는, 사용자 의도 정보만으로 제어 대상 기기를 특정할 수 없다고 판단하고, 제어 명령 판단 툴(141)을 이용하여 제어 명령을 판단할 수 있다. At this time, when state information of a plurality of external devices related to an entity included in the user intention information is received from the
한편, 전자 장치(100, 100')는, 제어 대상 기기가 IR 방식으로 제어 가능한 기기인 경우, 제어 명령을 제어 대상 기기로 직접 전송할 수도 있다. Meanwhile, the
이상과 같은 본 개시의 다양한 실시 예에 따르면, 멀티 디바이스 환경에서 사용자의 음성을 통해 신속하고 정확하게 기기들을 제어할 수 있게 된다. According to various embodiments of the present disclosure as described above, it is possible to quickly and accurately control devices through a user's voice in a multi-device environment.
한편, 본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 여기서, 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(100, 100') 또는 음성 인식 서버(400)를 포함할 수 있다. Meanwhile, various embodiments of the present disclosure may be implemented with software including instructions stored in a machine-readable storage media (eg, a computer). Here, the device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.When the command is executed by a processor, the processor may perform a function corresponding to the command directly or by using other components under the control of the processor. Instructions may include code generated or executed by a compiler or interpreter. A storage medium that can be read by a device may be provided in the form of a non-transitory storage medium. Here,'non-transient' means that the storage medium does not contain a signal and is tangible, but does not distinguish between semi-permanent or temporary storage of data in the storage medium.
일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to an embodiment, a method according to various embodiments disclosed in the present disclosure may be provided by being included in a computer program product. Computer program products can be traded between sellers and buyers as commodities. The computer program product may be distributed online 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). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily generated in a storage medium such as a server of a manufacturer, a server of an application store, or a memory of a relay server.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다. Each of the constituent elements (eg, modules or programs) according to various embodiments may be composed of a singular or a plurality of entities, and some sub-elements of the aforementioned sub-elements are omitted, or other sub-elements are various. It may be further included in the embodiment. Alternatively or additionally, some constituent elements (eg, a module or a program) may be integrated into one entity, and functions performed by each corresponding constituent element prior to the consolidation may be performed identically or similarly. Operations performed by modules, programs, or other components according to various embodiments may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added. I can.
이상의 설명은 본 개시의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 개시의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 또한, 본 개시에 따른 실시 예들은 본 개시의 기술 사상을 한정하기 위한 것이 아니라 설명하기 한 것이고, 이러한 실시 예에 의하여 본 개시의 기술 사상의 범위가 한정되는 것은 아니다. 따라서, 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시의 권리범위에 포함되는 것으로 해석되어야 할 것이다. The above description is merely illustrative of the technical idea of the present disclosure, and those of ordinary skill in the art to which the present disclosure pertains will be able to make various modifications and variations without departing from the essential characteristics of the present disclosure. Further, the embodiments according to the present disclosure are not intended to limit the technical idea of the present disclosure, but are described, and the scope of the technical idea of the present disclosure is not limited by these embodiments. Accordingly, the scope of protection of the present disclosure should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present disclosure.
100: 전자 장치
110: 마이크
120: 프로세서
130: 통신부
140: 메모리
200-1 내지 200-6: 외부 기기
300: 액세스 포인트
400: 음성 인식 서버
500: 기기 제어 서버 100: electronic device 110: microphone
120: processor 130: communication unit
140: memory
200-1 to 200-6: external device 300: access point
400: voice recognition server 500: device control server
Claims (18)
마이크로폰;
통신부;
상기 전자 장치로부터 수신된 사용자 음성을 음성 인식 처리하는 음성 인식 서버에 의해 판단된 제어 명령에 기초한 제어 명령 판단 툴이 저장된 메모리; 및
사용자 음성이 상기 마이크로폰을 통해 수신되면, 상기 수신된 사용자 음성을 음성 인식 처리하여 사용자 의도 정보를 획득하고, 상기 획득된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 상기 통신부를 통해 복수의 외부 기기를 제어하기 위한 기기 제어 서버로부터 수신하며,
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를, 상기 제어 명령 판단 툴에 적용하여 상기 복수의 외부 기기 중 제어 대상 기기를 제어하기 위한 제어 명령을 판단하고, 상기 판단된 제어 명령을 상기 통신부를 통해 상기 기기 제어 서버로 전송하는 프로세서;를 포함하는 전자 장치.In the electronic device,
microphone;
Communication department;
A memory storing a control command determination tool based on a control command determined by a voice recognition server for voice recognition processing of the user's voice received from the electronic device; And
When a user voice is received through the microphone, the received user voice is voice-recognized to obtain user intention information, and status information of the external device related to the obtained user intention information is transmitted to a plurality of external devices through the communication unit. It receives from the device control server for controlling,
The obtained user intention information and the received state information of the external device are applied to the control command determination tool to determine a control command for controlling a control target device among the plurality of external devices, and the determined control command is And a processor that transmits to the device control server through the communication unit.
상기 제어 명령 판단 툴은,
사용자 의도 정보, 외부 기기의 상태 정보 및 상기 음성 인식 서버에 의해 판단된 제어 명령이 서로 매칭된 적어도 하나의 룰을 포함하는 룰 DB를 포함하고,
상기 프로세서는,
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보에 대응되는 룰이 상기 룰 DB에 존재하는 경우, 상기 대응되는 룰에 매칭된 제어 명령을 상기 사용자 음성에 대응되는 제어 명령으로 판단하는, 전자 장치. The method of claim 1,
The control command determination tool,
And a rule DB including at least one rule in which user intention information, state information of an external device, and a control command determined by the voice recognition server are matched with each other,
The processor,
When a rule corresponding to the acquired user intention information and the received state information of the external device exists in the rule DB, determining a control command matched to the corresponding rule as a control command corresponding to the user voice, Electronic device.
상기 프로세서는,
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보에 대응되는 룰이 상기 룰 DB에 존재하지 않는 경우, 상기 통신부를 통해 상기 사용자 음성을 상기 음성 인식 서버로 전송하고,
상기 사용자 음성에 기초하여 상기 음성 인식 서버에서 판단된 제어 명령이 상기 통신부를 통해 수신되면, 상기 수신된 제어 명령을 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보와 매칭하여 신규 룰을 생성하고, 상기 생성된 신규 룰을 상기 룰 DB에 업데이트하는, 전자 장치. The method of claim 2,
The processor,
When a rule corresponding to the obtained user intention information and the received state information of the external device does not exist in the rule DB, the user voice is transmitted to the voice recognition server through the communication unit,
When a control command determined by the voice recognition server based on the user's voice is received through the communication unit, a new rule is established by matching the received control command with the acquired user intention information and the received state information of the external device. An electronic device that generates and updates the generated new rule to the rule DB.
상기 제어 명령 판단 툴은,
사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 음성 인식 서버에 의해 판단된 제어 명령을 출력으로 하여 학습된 인공 지능 모델을 포함하고,
상기 프로세서는,
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를 상기 학습된 인공 지능 모델에 입력하고, 상기 학습된 인공 지능 모델로부터 출력되는 제어 명령을 상기 사용자 음성에 대응되는 제어 명령으로 판단하는, 전자 장치. The method of claim 1,
The control command determination tool,
Including an artificial intelligence model learned by taking user intention information and state information of an external device as input, and outputting a control command determined by a voice recognition server,
The processor,
Inputting the acquired user intention information and the received state information of the external device into the learned artificial intelligence model, and determining a control command output from the learned artificial intelligence model as a control command corresponding to the user voice, Electronic device.
상기 프로세서는,
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보가 입력된 상기 학습된 인공 지능 모델로부터 상기 제어 명령이 출력되지 않는 경우, 상기 통신부를 통해 상기 사용자 음성을 상기 음성 인식 서버로 전송하고,
상기 사용자 음성에 기초하여 상기 음성 인식 서버에서 판단된 제어 명령이 상기 통신부를 통해 수신되면, 상기 획득된 사용자 의도 정보, 상기 수신된 외부 기기의 상태 정보 및 상기 수신된 제어 명령에 기초하여 상기 학습된 인공 지능 모델을 재학습시키는, 전자 장치. The method of claim 4,
The processor,
When the control command is not output from the learned artificial intelligence model in which the acquired user intention information and the received state information of the external device are input, the user voice is transmitted to the voice recognition server through the communication unit,
When a control command determined by the voice recognition server based on the user voice is received through the communication unit, the learned user intention information, the received state information of the external device, and the received control command An electronic device that retrains an artificial intelligence model.
상기 프로세서는,
상기 수신된 외부 기기의 상태 정보에 기초하여 상기 획득된 사용자 의도 정보만으로 상기 제어 대상 기기 및 제어 대상 기기의 동작을 특정할 수 있는 경우, 상기 제어 명령 판단 툴을 이용함 없이, 상기 획득된 사용자 의도 정보에 기초하여 상기 제어 명령을 판단하는, 전자 장치. The method of claim 1,
The processor,
When the operation of the control target device and the control target device can be specified only with the acquired user intention information based on the received state information of the external device, the acquired user intention information without using the control command determination tool The electronic device that determines the control command based on.
상기 획득된 사용자 의도 정보는, 엔티티에 관한 정보를 포함하고,
상기 프로세서는,
상기 기기 제어 서버로부터 상기 엔티티와 관련된 복수의 외부 기기의 상태 정보가 수신되면, 상기 획득된 사용자 의도 정보만으로 상기 제어 대상 기기를 특정할 수 없다고 판단하고, 상기 제어 명령 판단 툴을 이용하여 상기 제어 명령을 판단하는, 전자 장치. The method of claim 6,
The obtained user intention information includes information on an entity,
The processor,
When status information of a plurality of external devices related to the entity is received from the device control server, it is determined that the control target device cannot be specified only with the obtained user intention information, and the control command is performed using the control command determination tool. To determine the electronic device.
상기 통신부는,
IR(Infrared) 통신 모듈;을 포함하고,
상기 프로세서는,
상기 제어 대상 기기가 IR 방식으로 제어 가능한 기기인 경우, 상기 판단된 제어 명령을 상기 IR 통신 모듈을 통해 상기 제어 대상 기기로 전송하는, 전자 장치. The method of claim 1,
The communication unit,
Including; IR (Infrared) communication module,
The processor,
When the control target device is a device that can be controlled by an IR method, the electronic device transmits the determined control command to the control target device through the IR communication module.
상기 전자 장치로부터 수신된 사용자 음성을 음성 인식 처리하는 음성 인식 서버에 의해 판단된 제어 명령에 기초한 제어 명령 판단 툴을 저장하는 단계;
사용자 음성이 수신되면, 상기 수신된 사용자 음성을 음성 인식 처리하여 사용자 의도 정보를 획득하는 단계;
상기 획득된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 복수의 외부 기기를 제어하기 위한 기기 제어 서버로부터 수신하는 단계;
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를, 제어 명령 판단 툴에 적용하여 상기 복수의 외부 기기 중 제어 대상 기기를 제어하기 위한 제어 명령을 판단하는 단계; 및
상기 판단된 제어 명령을 상기 기기 제어 서버로 전송하는 단계;를 포함하는 제어 방법. In the control method of an electronic device,
Storing a control command determination tool based on a control command determined by a voice recognition server that performs voice recognition processing on the user's voice received from the electronic device;
When a user voice is received, performing voice recognition processing on the received user voice to obtain user intention information;
Receiving state information of an external device related to the acquired user intention information from a device control server for controlling a plurality of external devices;
Determining a control command for controlling a control target device among the plurality of external devices by applying the obtained user intention information and the received state information of the external device to a control command determination tool; And
And transmitting the determined control command to the device control server.
상기 제어 명령 판단 툴은,
사용자 의도 정보, 외부 기기의 상태 정보 및 상기 음성 인식 서버에 의해 판단된 제어 명령이 서로 매칭된 적어도 하나의 룰을 포함하는 룰 DB를 포함하고,
상기 제어 명령을 판단하는 단계는,
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보에 대응되는 룰이 상기 룰 DB에 존재하는 경우, 상기 대응되는 룰에 매칭된 제어 명령을 상기 사용자 음성에 대응되는 제어 명령으로 판단하는, 제어 방법. The method of claim 9,
The control command determination tool,
And a rule DB including at least one rule in which user intention information, state information of an external device, and a control command determined by the voice recognition server are matched with each other,
The step of determining the control command,
When a rule corresponding to the acquired user intention information and the received state information of the external device exists in the rule DB, determining a control command matched to the corresponding rule as a control command corresponding to the user voice, Control method.
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보에 대응되는 룰이 상기 룰 DB에 존재하지 않는 경우, 상기 사용자 음성을 상기 음성 인식 서버로 전송하는 단계; 및
상기 사용자 음성에 기초하여 상기 음성 인식 서버에서 판단된 제어 명령이 수신되면, 상기 수신된 제어 명령을 상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보와 매칭하여 신규 룰을 생성하고, 상기 생성된 신규 룰을 상기 룰 DB에 업데이트하는 단계;를 더 포함하는, 제어 방법. The method of claim 10,
Transmitting the user voice to the voice recognition server when a rule corresponding to the obtained user intention information and the received state information of the external device does not exist in the rule DB; And
When a control command determined by the voice recognition server is received based on the user voice, a new rule is generated by matching the received control command with the obtained user intention information and the received state information of the external device, and the The method further comprising, updating the generated new rule to the rule DB.
상기 제어 명령 판단 툴은,
사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 음성 인식 서버에 의해 판단된 제어 명령을 출력으로 하여 학습된 인공 지능 모델을 포함하고,
상기 제어 명령을 판단하는 단계는,
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를 상기 학습된 인공 지능 모델에 입력하고, 상기 학습된 인공 지능 모델로부터 출력되는 제어 명령을 상기 사용자 음성에 대응되는 제어 명령으로 판단하는, 제어 방법. The method of claim 9,
The control command determination tool,
Including an artificial intelligence model learned by taking user intention information and state information of an external device as input, and outputting a control command determined by a voice recognition server,
The step of determining the control command,
Inputting the acquired user intention information and the received state information of the external device into the learned artificial intelligence model, and determining a control command output from the learned artificial intelligence model as a control command corresponding to the user voice, Control method.
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보가 입력된 상기 학습된 인공 지능 모델로부터 상기 제어 명령이 출력되지 않는 경우, 상기 사용자 음성을 상기 음성 인식 서버로 전송하는 단계; 및
상기 사용자 음성에 기초하여 상기 음성 인식 서버에서 판단된 제어 명령이 수신되면, 상기 획득된 사용자 의도 정보, 상기 수신된 외부 기기의 상태 정보 및 상기 수신된 제어 명령에 기초하여 상기 학습된 인공 지능 모델을 재학습시키는 단계;를 더 포함하는, 제어 방법. The method of claim 12,
Transmitting the user voice to the voice recognition server when the control command is not output from the learned artificial intelligence model in which the acquired user intention information and the received state information of the external device are input; And
When a control command determined by the voice recognition server is received based on the user voice, the learned artificial intelligence model is based on the acquired user intention information, the received state information of the external device, and the received control command. Re-learning; further comprising, the control method.
상기 수신된 외부 기기의 상태 정보에 기초하여 상기 획득된 사용자 의도 정보만으로 상기 제어 대상 기기 및 제어 대상 기기의 동작을 특정할 수 있는 경우, 상기 제어 명령 판단 툴을 이용함 없이, 상기 획득된 사용자 의도 정보에 기초하여 상기 제어 명령을 판단하는 단계;를 더 포함하는, 제어 방법. The method of claim 9,
When the operation of the control target device and the control target device can be specified only with the acquired user intention information based on the received state information of the external device, the acquired user intention information without using the control command determination tool Determining the control command based on; further comprising, the control method.
상기 획득된 사용자 의도 정보는, 엔티티에 관한 정보를 포함하고,
상기 기기 제어 서버로부터 상기 엔티티와 관련된 복수의 외부 기기의 상태 정보가 수신되면, 상기 획득된 사용자 의도 정보만으로 상기 제어 대상 기기를 특정할 수 없다고 판단하고, 상기 제어 명령 판단 툴을 이용하여 상기 제어 명령을 판단하는 단계;를 더 포함하는, 제어 방법. The method of claim 14,
The obtained user intention information includes information on an entity,
When status information of a plurality of external devices related to the entity is received from the device control server, it is determined that the control target device cannot be specified only with the obtained user intention information, and the control command is performed using the control command determination tool. Determining the; further comprising, the control method.
상기 제어 대상 기기가 IR 방식으로 제어 가능한 기기인 경우, 상기 판단된 제어 명령을 상기 제어 대상 기기로 전송하는 단계;를 더 포함하는, 제어 방법. The method of claim 1,
If the control target device is a device that can be controlled by the IR method, transmitting the determined control command to the control target device; further comprising, the control method.
통신부;
상기 음성 인식 서버가 전자 장치로부터 수신된 사용자 음성에 기초하여 판단한 제어 명령에 기초한 제어 명령 판단 툴이 저장된 메모리; 및
사용자 음성이 상기 통신부를 통해 상기 전자 장치로부터 수신되면, 상기 수신된 사용자 음성을 음성 인식 처리하여 사용자 의도 정보를 획득하고, 상기 획득된 사용자 의도 정보와 관련된 외부 기기의 상태 정보를 상기 통신부를 통해 복수의 외부 기기를 제어하기 위한 기기 제어 서버로부터 수신하며,
상기 획득된 사용자 의도 정보 및 상기 수신된 외부 기기의 상태 정보를, 상기 제어 명령 판단 툴에 적용하여 상기 복수의 외부 기기 중 제어 대상 기기를 제어하기 위한 제어 명령을 판단하고, 상기 판단된 제어 명령을 상기 통신부를 통해 상기 기기 제어 서버로 전송하는 프로세서;를 포함하는 음성 인식 서버. In the voice recognition server,
Communication department;
A memory storing a control command determination tool based on a control command determined by the voice recognition server based on a user voice received from an electronic device; And
When a user voice is received from the electronic device through the communication unit, the received user voice is voice-recognized to obtain user intention information, and a plurality of state information of an external device related to the obtained user intention information is received through the communication unit. Received from the device control server to control the external device of the
The obtained user intention information and the received state information of the external device are applied to the control command determination tool to determine a control command for controlling a control target device among the plurality of external devices, and the determined control command is A processor for transmitting to the device control server through the communication unit.
상기 제어 명령 판단 툴은,
사용자 의도 정보, 외부 기기의 상태 정보 및 상기 음성 인식 서버가 판단한 제어 명령이 서로 매칭된 적어도 하나의 룰을 포함하는 룰 DB, 및
사용자 의도 정보 및 외부 기기의 상태 정보를 입력으로 하고, 상기 음성 인식 서버가 판단한 제어 명령을 출력으로 하여 학습된 인공 지능 모델 중 적어도 하나를 포함하는, 음성 인식 서버. The method of claim 17,
The control command determination tool,
A rule DB including at least one rule in which user intention information, state information of an external device, and a control command determined by the voice recognition server are matched with each other, and
A voice recognition server comprising at least one of an artificial intelligence model learned by inputting user intention information and state information of an external device as an input and outputting a control command determined by the voice recognition server.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/903,918 US11508375B2 (en) | 2019-07-03 | 2020-06-17 | Electronic apparatus including control command identification tool generated by using a control command identified by voice recognition identifying a control command corresponding to a user voice and control method thereof |
PCT/KR2020/007808 WO2021002611A1 (en) | 2019-07-03 | 2020-06-17 | Electronic apparatus and control method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962870222P | 2019-07-03 | 2019-07-03 | |
US62/870,222 | 2019-07-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210004803A true KR20210004803A (en) | 2021-01-13 |
Family
ID=74142659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200012154A KR20210004803A (en) | 2019-07-03 | 2020-01-31 | Electronic apparatus and controlling method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20210004803A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023075160A1 (en) * | 2021-10-27 | 2023-05-04 | 삼성전자 주식회사 | Method of identifying target device on basis of utterance reception and electronic device therefor |
WO2023113227A1 (en) * | 2021-12-16 | 2023-06-22 | 삼성전자주식회사 | Electronic apparatus and method for controlling external apparatus |
-
2020
- 2020-01-31 KR KR1020200012154A patent/KR20210004803A/en active Search and Examination
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023075160A1 (en) * | 2021-10-27 | 2023-05-04 | 삼성전자 주식회사 | Method of identifying target device on basis of utterance reception and electronic device therefor |
WO2023113227A1 (en) * | 2021-12-16 | 2023-06-22 | 삼성전자주식회사 | Electronic apparatus and method for controlling external apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11508375B2 (en) | Electronic apparatus including control command identification tool generated by using a control command identified by voice recognition identifying a control command corresponding to a user voice and control method thereof | |
JP6828001B2 (en) | Voice wakeup method and equipment | |
US20230352021A1 (en) | Electronic device and controlling method thereof | |
CN111007999B (en) | User-adaptive volume selection | |
JP6567727B2 (en) | User command processing method and system for adjusting output volume of sound output based on input volume of received voice input | |
JP2019091418A (en) | Method and device for controlling page | |
WO2021169495A1 (en) | Network configuration method for intelligent device, and related apparatuses | |
US20220052866A1 (en) | Smart home system control method and apparatus, electronic device | |
KR20210004803A (en) | Electronic apparatus and controlling method thereof | |
US9456055B2 (en) | Apparatus and method for communicating media content | |
JP2021121564A (en) | Elevator control method, device, electronic apparatus, storage medium, and system | |
US20220115017A1 (en) | Integrating logic services with a group communication service and a voice assistant service | |
CN115482806B (en) | Speech processing system, method, apparatus, storage medium and computer device | |
KR102599948B1 (en) | ELECTRONIC APPARATUS AND WiFi CONNECTING METHOD THEREOF | |
US11283901B2 (en) | Neural network model based configuration of settings | |
CN113518297A (en) | Sound box interaction method, device and system and sound box | |
KR20210042442A (en) | Electronic apparatus and control method thereof | |
KR20210015234A (en) | Electronic apparatus, and method of controlling to execute function according to voice command thereof | |
US20190362721A1 (en) | Integrating logic services with a group communication service | |
WO2019216053A1 (en) | Dialog device | |
KR20210121910A (en) | Electronic apparatus and control method thereof | |
KR20210054246A (en) | Electorinc apparatus and control method thereof | |
KR20200129346A (en) | Display apparatus and method for controlling thereof | |
CN110493038B (en) | Communication model optimization method and device | |
US20240028315A1 (en) | Automatically Creating Efficient Meshbots |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |