KR20210069977A - 기기 제어 방법 및 이를 이용한 제어 가능한 장치 - Google Patents
기기 제어 방법 및 이를 이용한 제어 가능한 장치 Download PDFInfo
- Publication number
- KR20210069977A KR20210069977A KR1020190159875A KR20190159875A KR20210069977A KR 20210069977 A KR20210069977 A KR 20210069977A KR 1020190159875 A KR1020190159875 A KR 1020190159875A KR 20190159875 A KR20190159875 A KR 20190159875A KR 20210069977 A KR20210069977 A KR 20210069977A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- speech
- voice
- electronic devices
- distance
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013528 artificial neural network Methods 0.000 claims abstract description 90
- 238000004364 calculation method Methods 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 14
- 238000001228 spectrum Methods 0.000 claims description 8
- 230000009467 reduction Effects 0.000 claims description 3
- 230000000630 rising effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 50
- 239000010410 layer Substances 0.000 description 45
- 238000012549 training Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 20
- 238000010801 machine learning Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 18
- 210000002569 neuron Anatomy 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000013135 deep learning Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000002372 labelling Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 210000000225 synapse Anatomy 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 210000004556 brain Anatomy 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000005406 washing Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003925 brain function Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012880 independent component analysis Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
Images
Classifications
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S5/00—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
- G01S5/18—Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
- G01S5/30—Determining absolute distances from a plurality of spaced points of known location
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- 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/02—Feature extraction for speech recognition; Selection of recognition unit
-
- 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/04—Segmentation; Word boundary detection
-
- 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/16—Speech classification or search using artificial neural networks
-
- 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/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/187—Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/15—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being formant information
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L25/84—Detection of presence or absence of voice signals for discriminating voice from noise
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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
- G10L2015/223—Execution procedure of a spoken command
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- User Interface Of Digital Computer (AREA)
- Telephonic Communication Services (AREA)
Abstract
본 발명의 일 실시 예에 따른 기기 제어 방법 및 이를 이용한 제어 가능한 장치는, 복수의 전자기기 중에서 사용자와 먼 위치에 위치한 기기를 작동시키기 위해서 롬바드 효과를 반영한 사용자의 음성 특징을 기초할 수 있다. 즉, 별도의 전후 관계 정보 없이 사용자가 사용자와 먼 위치에 위치한 기기를 호출하는 경우에도 사용자와 먼 거리에 위치한 기기가 작동할 수 있도록 음성 인식 신경망 및 가중치 산출 신경망을 선택하여 활용할 수 있고, 사용자와 먼 위치에 위치한 기기를 호출하는 사용자의 음성 신호 수신은 5G 네트워크를 이용한 사물 인터넷 환경에서 이루어질 수 있다.
Description
본 발명은 롬바드 효과가 반영된 음성 인식 신경망을 통해 판단하여 복수의 전자기기가 배치된 환경에서 전후 관계 정보가 명확하지 않더라도 사용자가 사용자와 먼 거리의 전자기기를 호출하려는 의도를 파악할 수 있는 방법 및 장치에 관한 것이다.
이하에서 기술되는 내용은 본 발명의 실시 예와 관련되는 배경 정보를 제공할 목적으로 기재된 것일 뿐이고, 기술되는 내용들이 당연하게 종래기술을 구성하는 것은 아니다.
음성 인식 장치는 음성 인식 기능을 수행하기 위한 장치이다. 최근, 이동 통신 기술의 발달에 힘입어, 사용자에 의해 발화된 음성으로 인식하고, 발화 음성을 분석한 결과를 이용하여 IoT(Internet of Things) 전자기기(또는 전자기기)들을 제어할 수 있는 다양한 기술이 개발되고 있다.
예를 들면, 사용자가 IoT 전자기기를 작동시키기 위한 호출 음성으로 “하이 엘지”로 발화하는 경우, 사용자 주변의 IoT 전자기기들은 호출 음성을 수신하고, 음성 신호의 형태인 호출 음성을 분석한다. 해당 호출 음성이 해당 IoT 전자기기 자신을 작동하기 위한 작동 신호라고 판단되면, 해당 IoT 전자기기는 사용자의 다른 명령을 수신할 준비(wake up)를 수행한다.
이러한 사용자의 호출 음성을 수신할 수 있는 범위에 있는 복수의 전자기기들이 호출 음성을 수신하기 때문에, 사용자가 작동하고자 의도한 특정 전자기기뿐 아니라 이외의 다른 전자기기까지도 작동된다는 문제가 있었다.
따라서, 사용자는 작동하고자 의도한 특정 전자기기와 인접하게 이동하거나 작동하고자 의도한 특정 전자기기가 작동할 때까지 호출 음성을 발화해야 한다는 문제가 있다.
구체적으로 한국공개특허 제10-2019-0084003호에 따르면, 사용자가 발화한 호출 음성을 수신한 방향 정보를 획득하여 호출 음성의 발화위치를 판단할 수 있다. 판단된 발화 위치와 가까운 음성 인식 전자기기를 선택하는 기술이 기재되어 있다.
상술된 문헌에는 사용자가 발화한 호출 음성의 발화위치를 통해 음성 인식 전자기기를 선택하는 기술에 대해서 발명하고 있으나, 사용자와 거리가 다르게 배치된 복수의 전자기기 중 사용자가 작동하고자 하는 특정 전자기기를 선택하는 기술까지는 기재되고 있지 않다.
또한, 한국공개특허 제10-2018-0069660호에 따르면, 사용자와 대화하듯이 음성 인식을 수행하도록 하는 기술이 기재되어 있다.
상술된 문헌에서는 인간 두뇌의 인지, 판단 등의 기술을 모사하여 사용자와 대화하듯이 음성 인식이 수행되도록 하여 사용자의 편의성을 향상시키는 기술에 대해 발명하고 있지만, 사용자와 거리가 다르게 배치된 복수의 전자기기 중 사용자가 작동하고자 하는 특정 전자기기를 선택하는 기술까지는 기재되고 있지 않다.
상술된 바와 같은 한계를 극복하기 위해, 복수의 전자기기 중에서 작동하고자 하는 특정 전자기기를 선택한 사용자의 호출 음성을 인식할 수 있는 기술이 필요하다. 특히, 사용자와 먼 거리에 위치한 전자기기를 사용자가 작동하고자 하는 특정 전자기기로 선택한 경우, 다른 전자기기는 작동하지 않으며, 사용자가 발화한 호출 음성이 사용자와 먼 거리에 위치한 전자기기를 작동하기 위한 작동 신호라고 판단하도록 하는 해결책이 필요하다.
한편, 전술한 선행기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 과제는, 복수의 전자기기 중에서 특정 기기를 선택한 사용자의 호출 음성을 인식할 수 있도록 한다.
구체적으로 본 발명의 실시 예는 사용자가 사용자와 먼 거리에 위치한 전자기기를 작동시키고자 하는 기기로 선택한 후, 별도의 전후 관계 정보 없이 사용자가 사용자와 먼 위치의 기기를 호출하는 경우에도 사용자와 먼 거리에 위치한 기기가 작동할 수 있도록 하는데 있다.
또한, 본 발명의 실시 예는 사용자의 호출에 대해 복수의 전자기기 중에서 사용자와 먼 거리에 위치한 기기 작동 시, 사용자의 음성 특징에 롬바드 효과가 반영된 여부를 판단하여 사용자와 먼 거리에 위치한 기기가 용이하게 작동할 수 있도록 한다.
구체적으로 사용자 발화에서 추출한 사용자 음성 특징에 롬바드 효과가 반영된 것으로 판단되면, 사용자가 사용자와 먼 거리에 위치한 기기를 호출한 것으로 판단할 수 있다. 이를 기초로 롬바드 효과가 반영된 사용자 음성 특징에서 사용자와 먼 거리에 위치한 기기를 호출한 것으로 판단되면 제1 기기가 작동되도록 할 수 있다.
본 발명의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 실시 예에 따른 기기 제어 방법에 따르면, 복수의 전자기기에서 수집된 사용자의 발화를 수신하고, 사용자와 복수의 전자기기 사이의 거리를 측정한 후, 음성 인식 신경망을 통해 사용자 발화에서 추출한 사용자 음성 특징에 기초하여 사용자 발화 스타일을 분석할 수 있다.
사용자 발화 스타일이란, 가중치 산출 신경망을 통해 사용자의 발화 속도, 발음 강세, 휴지 구간, 음 높이, 기저주파수, 모음 구간의 발화시간, SNR(signal to noise ratio) 또는 억양 중 적어도 하나의 사용자 음성 특징을 의미할 수 있다.
이후, 분석된 발화 스타일 및 복수의 전자기기 사이의 거리에 기초하여 사용자의 발화가 복수의 전자기기 중 어떤 기기를 호출한 것인지를 판단한 뒤, 판단에 기초하여 사용자 호출의 대상인 기기의 동작을 제어하는 과정으로 기기를 제어할 수 있다.
이때, 복수의 전자기기 중 어떤 기기를 호출한 것인지를 판단하기 위해서 사용자에 대해 미리 저장된 평균 발화 스타일의 음성 특징과 추출된 음성 특징을 비교하여 평균 발화 스타일에서 벗어난 음성 특징을 기초로 기기를 선택한 뒤, 선택된 기기의 동작을 제어하게 된다.
한편, 본 발명의 실시 예에 따른 사용자 호출에 대한 제1 기기의 응답 결정 방법은, 사용자의 발화를 수신하고, 사용자와 제1 기기 사이의 거리를 측정한 후, 음성 인식 신경망을 통해 사용자 발화에서 추출한 사용자 음성 특징에 기초하여 사용자 발화 스타일을 분석할 수 있다. 이후, 분석한 사용자 발화 스타일 및 측정된 거리에 기초하여 사용자의 발화가 제1 기기를 호출한 것인지를 판단하여 사용자 호출에 대한 응답 여부를 결정할 수 있다.
구체적으로, 별도의 전후 관계 정보 없이 사용자가 사용자와 먼 위치에 위치한 기기를 호출하는 경우에도 사용자와 먼 거리에 위치한 기기가 작동할 수 있도록 한다.
또한 본 발명의 실시 예에 따른 사용자 호출에 대한 응답을 결정하는 장치는, 적어도 하나의 프로세서와 프로세서에 연결된 메모리를 포함할 수 있다.
여기서, 메모리는, 프로세서를 통해 실행될 때, 사용자의 발화를 수신하고, 음성 인식 신경망을 통해 사용자 발화에서 추출한 사용자 음성 특징에 기초하여 사용자 발화 스타일을 분석하고, 사용자와 제1 기기 사이의 거리를 측정한 뒤, 분석한 사용자 발화 스타일 및 측정된 거리에 기초하여 사용자의 발화가 제1 기기를 호출한 것인지를 판단한 후에 판단에 기초하여 사용자 호출에 대한 응답 여부를 결정하는 명령들을 저장할 수 있다.
즉, 복수의 전자기기 중에서 사용자와 먼 위치에 위치한 기기를 작동하도록 롬바드 효과를 반영한 사용자의 음성 특징을 기초할 수 있다. 이러한 특징을 통해 사용자와 먼 위치에 위치한 기기가 작동될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시 예에 따른 기기 제어방법 및 이를 이용한 제어 가능한 기기에 의하면, 별도의 전후 관계 정보 없이 사용자가 사용자와 먼 거리에 위치한 기기를 호출하는 경우에도 사용자와 먼 거에 위치한 기기가 작동할 수 있도록 음성 인식 신경망 및 가중치 산출 신경망을 선택하여 활용함으로써, 복수의 전자기기 중에서 사용자와 먼 거리에 위치한 기기를 선택한 사용자의 호출 음성을 인식할 수 있도록 한다.
또한, 사용자의 음성 특징에 롬바드 효과를 반영한 사용자의 음성 특징을 기초로 사용자와 먼 거리에 위치한 기기가 작동할 수 있도록 한다. 즉, 사용자 음성 특징에 롬바드 효과를 적용하여 사용자와 먼 거리에 위치한 기기를 호출한 것을 판단할 수 있다. 이를 기초로 롬바드 효과를 반영한 사용자 음성 특징에서 사용자와 먼 거리에 위치한 기기를 호출한 것으로 판단되면 사용자의 호출에 대응하는 동작이 사용자와 먼 거리에 위치한 기기에서 수행될 수 있도록 한다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 사용자 호출에 대해 기기를 제어하기 위한 네트워크 환경의 예시도이다.
도 2는 본 발명의 실시 예에 따른 사용자 호출에 대해 기기를 제어하기 위한 환경의 예시도이다.
도 3은 본 발명의 실시 예에 따른 음성 인식 신경망을 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 사용자 호출에 의해 제어 가능한 기기의 시스템을 설명하기 위한 도면이다.
도 5는 도 4의 시스템의 구성을 구체적으로 설명하기 위한 도면이다.
도 6a 내지 6d는 본 발명의 실시 예에 따른 사용자 호출에 의해 기기를 제어하기 위한 사용자 발화의 특징을 예시적으로 도시하기 위한 그래프이다.
도 7은 본 발명의 실시 예에 따른 제1 기기를 선택한 사용자 호출 의도를 분석하기 위한 흐름도이다.
도 8은 본 발명의 실시 예에 따른 제1 기기를 선택한 사용자 호출 의도를 분석하기 위해 롬바드 효과가 반영된 사용자 발화를 분석하기 위한 흐름도이다.
도 9는 본 발명의 실시 예에 따른 사용자 호출에 의해 제1 기기를 제어하는 과정을 도시한 순서도이다.
도 2는 본 발명의 실시 예에 따른 사용자 호출에 대해 기기를 제어하기 위한 환경의 예시도이다.
도 3은 본 발명의 실시 예에 따른 음성 인식 신경망을 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 사용자 호출에 의해 제어 가능한 기기의 시스템을 설명하기 위한 도면이다.
도 5는 도 4의 시스템의 구성을 구체적으로 설명하기 위한 도면이다.
도 6a 내지 6d는 본 발명의 실시 예에 따른 사용자 호출에 의해 기기를 제어하기 위한 사용자 발화의 특징을 예시적으로 도시하기 위한 그래프이다.
도 7은 본 발명의 실시 예에 따른 제1 기기를 선택한 사용자 호출 의도를 분석하기 위한 흐름도이다.
도 8은 본 발명의 실시 예에 따른 제1 기기를 선택한 사용자 호출 의도를 분석하기 위해 롬바드 효과가 반영된 사용자 발화를 분석하기 위한 흐름도이다.
도 9는 본 발명의 실시 예에 따른 사용자 호출에 의해 제1 기기를 제어하는 과정을 도시한 순서도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예들에 한정되지 않는다. 이하 실시 예에서는 본 발명을 명확하게 설명하기 위해서 설명과 직접적인 관계가 없는 부분을 생략하지만, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 생략된 구성이 불필요함을 의미하는 것은 아니다. 아울러, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조번호를 사용한다.
이하의 설명에서 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 되며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 이하의 설명에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 설명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 사용자 호출에 대한 기기를 제어하기 위한 네트워크 환경의 예시도이고, 도 2는 본 발명의 실시 예에 따른 사용자 호출에 대해 기기를 제어하기 위한 환경의 예시도이며, 도 3은 본 발명의 실시 예에 따른 음성 인식 신경망을 설명하기 위한 도면이다.
도면을 참조하면, 본 발명의 실시 예에 따른 사용자 호출에 대해 기기를 제어하기 위한 환경은 음성 발화 가능한 사용자(100), 복수의 전자기기(300) 및 서버(200) 및 이들이 서로 통신할 수 있도록 하는 네트워크(400)를 포함할 수 있다.
사용자(100)는 복수의 전자기기(300) 중 특정 전자기기를 향해 음성을 발화한다. 사용자(100)가 발화하는 음성은 전자기기의 동작을 제어하기 위한 명령어가 될 수 있다.
이때, 사용자(100)가 발화하는 음성은 사용자(100)와 먼 거리에 배치된 전자기기를 호출할 때의 음성과 사용자(100)와 근접한 거리에 배치된 전자기기를 호출할 때의 음성이 다를 수 있다. 이러한 사용자(100)의 음성 변화 특징을 복수의 전자기기(300) 또는 서버(200)에서 수신하고, 음성 인식 신경망을 통해 사용자(100) 음성 변화 특징에 따라 사용자(100)가 호출한 특정 전자기기를 추출한 뒤, 추출한 특정 전자기기의 동작을 제어할 수 있도록 한다.
한편, 이하 설명의 편의상 특정 전자기기를 제1 기기(도 2의 301 참고)라고 지시하여 설명하기로 한다.
복수의 전자기기(300)는 사물 지능 통신(IoT(internet of things), IoE(internet of everything), IoST(internet of small things) 등)을 지원할 수 있으며, M2M(machine to machine) 통신, D2D(device to device) 통신 등을 지원할 수 있다.
또한, 복수의 전자기기(300)는 사물 인터넷을 위해 연결된 5G 환경에서 빅데이터, 인공지능(artificial intelligence, AI) 알고리즘 및/또는 기계학습(machine learning) 알고리즘을 이용하여 이미지 변환 방식을 결정할 수 있다.
복수의 전자기기(300)는 마이크를 포함하도록 구성되어 사용자(100)가 발화한 음성을 수신 받을 수 있다. 즉, 마이크를 통해 수신 받은 사용자(100) 음성을 기초로 복수의 전자기기(300) 중 선택된 제1 기기(301)의 동작이 선택되도록 하는 것이다.
한편, 발명의 실시예에서는 제1 기기(301) 동작이 선택되도록 마이크에서 사용자(100) 음성을 수신하는 예를 들지만, 제1 기기(301) 동작을 위해 마이크 이외에 사용자(100)가 전자기기를 동작시키기 위한 동작 명령을 입력하는 키보드, 마우스, 터치 스크린, 카메라 등의 다양한 수단 중 어느 하나를 이용할 수도 있다.
또한, 복수의 전자기기(300)는 음성 입력/출력 인터페이스를 포함하고, 사물인터넷(Internet of thing)으로서 임베디드 시스템(Embedded System)을 포함하도록 구성될 수 있다. 전자기기(300)의 예로는 인공지능 비서 기능을 수행하는 사용자 단말, 가정 내 배치되는 사물 중 어느 하나일 수 있다. 예컨대, 복수의 전자기기(300)는 도 2에 도시된 바와 같이 TV, 에어컨, 로봇 청소기, 냉장고, 세탁기 등 어느 하나가 될 수 있지만, 배치되는 전자기기(300) 종류에 의해 본 발명이 제한되는 것은 아니다.
전자기기(300)의 마이크에서 사용자(100) 발화를 수신하면, 수신한 사용자(100) 발화에 대한 음성 특징을 추출, 분석할 수 있다. 분석된 사용자 발화에 대한 음성 특징에는 사용자(100) 발화가 복수의 전자기기(300) 중 어느 제1 기기(301)를 특정하여 호출한 것인지를 판단하는 데이터를 포함할 수 있다.
이러한 사용자(100)의 발화에 대한 음성 특징을 추출, 분석하는 기술은 인공 지능을 통해 이루어질 수 있다. 인공 지능 기술은 전자기기(300)에 적용된 트레이닝 시스템(미도시)에 의해 트레이닝 단계를 거쳐 생성될 수 있다.
트레이닝 시스템을 통해 생성되는 학습 모델은 음성 인식 신경망으로서, 전자기기(300) 각각에 저장되어 있거나 전자기기(300)에서 수신한 사용자(100) 발화가 특정 전자기기인 제1 기기(301)를 호출한 것인지를 출력하기 위해 음성 특징을 분석하도록 훈련된 것일 수도 있다.
통상적으로 학습 모델은 별도의 서버 또는 트레이닝 시스템(미도시)에서 트레이닝 단계를 마치고, 사용자(100) 발화가 제1 기기(301)를 호출한 것인지를 판단할 수 있는 상태로 전자기기(300)에 저장되어 있을 수 있으나, 일부 실시 예에서 학습 모델은 복수의 전자기기(300)에서도 추가적으로 트레이닝을 거쳐 업데이트 또는 업그레이드될 수도 있도록 구현될 수 있다.
구체적으로, 서버(200)에서 사용자(100) 발화를 수신하고, 수신한 사용자(100) 발화에서 음성 특징을 분석, 추출한 뒤, 분석된 음성 특징을 통해 제1 기기(301)를 특정하여 호출한 것인지를 판단할 수 있는 구성이다.
이러한 서버(200)는 일반적으로 복수의 전자기기(300) 보다 큰 프로세싱 능력 및 큰 메모리 용량을 가질 수 있다. 따라서, 시스템 구현에 따라, 적용에 보다 많은 프로세싱 능력을 필요로 하는 무거운 학습 모델들은 서버(200)에 저장되고, 적용에 보다 적은 프로세싱 능력을 필요로 하는 경량의 학습 모델은 복수의 전자기기(300)에 저장되도록 구성되는 것이다.
이하 설명의 편의상 서버(200)에서 사용자(100)의 발화 음성을 수신하고, 수신된 음성에서 음성 특징을 추출, 분석한 뒤, 복수의 전자기기(300) 중 제1 기기(301)를 호출한 것인지를 판단하는 예를 들지만, 다르게는, 복수의 전자기기(300) 각각에서 사용자(100) 음성을 수신한 뒤, 수신된 음성에서 음성 특징을 추출, 분석한 후 사용자(100)와 먼 거리에 위치한 제1 기기(301)를 호출한 것인지를 판단할 수도 있다.
한편, 복수의 전자기기(300)는 5G 네트워크를 통해 서버(200)와 데이터를 전송하고 수신할 수 있다. 특히 전자기기(300)는 5G 네트워크를 통해 모바일 브로드밴드(Enhanced Mobile Broadband, eMBB), URLLC(Ultra-reliable and low latency communications) 및 mMTC(Massive Machine-type communications) 중에서 적어도 하나의 서비스를 이용하여 서버(200)와 데이터 통신할 수 있다.
eMBB(Enhanced Mobile Broadband)는 모바일 브로드밴드 서비스로, 이를 통해 멀티미디어 콘텐츠, 무선데이터 액세스 등이 제공된다. 또한, 폭발적으로 증가하고 있는 모바일 트래픽을 수용하기 위한 핫스팟 (hot spot)과 광대역 커버리지 등 보다 향상된 모바일 서비스가 eMBB를 통해 제공될 수 있다. 핫스팟을 통해 사용자 이동성이 작고 밀도가 높은 지역으로 대용량 트래픽이 수용될 수 있다. 광대역 커버리지를 통해 넓고 안정적인 무선 환경과 사용자 이동성이 보장될 수 있다.
URLLC(Ultra-reliable and low latency communications) 서비스는 데이터 송수신의 신뢰성과 전송 지연 측면에서 기존 LTE 보다 훨씬 엄격한 요구사항을 정의하고 있으며, 산업 현장의 생산 프로세스 자동화, 원격 진료, 원격 수술, 운송, 안전 등을 위한 5G 서비스가 여기에 해당한다.
mMTC(Massive Machine-type communications)는 비교적 작은 양의 데이터 전송이 요구되는 전송지연에 민감하지 않은 서비스이다. 센서 등과 같이 일반 휴대폰 보다 훨씬 더 많은 수의 단말들이 동시에 무선액세스 네트워크에 mMTC에 의해 접속할 수 있다. 이 경우, 단말의 통신모듈 가격은 저렴해야 하고, 배터리 교체나 재충전 없이 수년 동안 동작할 수 있도록 향상된 전력 효율 및 전력 절감 기술이 요구된다.
네트워크(400)는 유선 및 무선 네트워크, 예를 들어 LAN(local area network), WAN(wide area network), 인터넷(internet), 인트라넷(intranet) 및 엑스트라넷(extranet), 그리고 모바일 네트워크, 예를 들어 셀룰러, 3G, 4G LTE, 5G, WiFi 네트워크, 애드혹 네트워크 및 이들의 조합을 비롯한 임의의 적절한 통신 네트워크 일 수 있다.
네트워크(400)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(400)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(400)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다.
설명한 바와 같이 본 발명의 실시 예의 전자기기(300) 또는/및 서버(200)는 사용자의 발화가 어떠한 특정 전자기기를 호출한 것인지를 판단할 수 있는 인공 지능 기술이 적용된 심층 신경망 또는 다른 타입의 머신 러닝 모델들과 같은 다양한 학습 모델 또는 이들을 포함하는 기술을 저장하거나 포함할 수 있다.
여기서 인공 지능(artificial intelligence, AI)은, 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것을 의미할 수 있다.
또한, 인공지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히 현대에는 정보기술의 여러 분야에서 인공지능적 요소를 도입하여, 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.
머신 러닝(machine learning)은 인공지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야를 포함할 수 있다. 구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취할 수 있다.
이러한 인공신경망의 머신 러닝 방법으로는 자율학습(unsupervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다.
또한, 머신 러닝의 일종인 딥러닝(deep learning) 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습할 수 있다. 딥러닝은 단계를 높여갈수록 복수의 데이터들로부터 핵심적인 데이터를 추출하는 머신 러닝 알고리즘의 집합을 나타낼 수 있다.
딥러닝 구조는 인공신경망(ANN)을 포함할 수 있으며, 예를 들어 딥러닝 구조는 CNN(convolutional neural network), RNN(recurrent neural network), DBN(deep belief network) 등 심층신경망(CNN)으로 구성될 수 있다. 본 실시 예에 따른 딥러닝 구조는 공지된 다양한 구조를 이용할 수 있다. 예를 들어, 본 발명에 따른 딥러닝 구조는 CNN, RNN, DBN 등을 포함할 수 있다. RNN은, 자연어 처리 등에 많이 이용되고 있으며, 시간의 흐름에 따라 변하는 시계열 데이터(time-series data) 처리에 효과적인 구조로 매 순간마다 레이어를 쌓아 올려 인공신경망 구조를 구성할 수 있다. DBN은 딥러닝 기법인 RBM(restricted boltzman machine)을 다층으로 쌓아 구성되는 딥러닝 구조를 포함할 수 있다. RBM 학습을 반복하여, 일정 수의 레이어가 되면 해당 개수의 레이어를 가지는 DBN을 구성할 수 있다. CNN은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출한 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델을 포함할 수 있다.
한편, 인공신경망의 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정(필요한 경우 바이어스(bias) 값도 조정)함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(back propagation) 등의 방법이 사용될 수 있다.
본 발명의 실시 예에서 용어 '머신 러닝'은 용어 '기계 학습'과 혼용되어 사용될 수 있다.
기계 학습에서 데이터를 어떻게 분류할 것인가를 놓고, 많은 기계 학습 알고리즘이 개발되었다. 의사결정나무(Decision Tree)나 베이지안 망(Bayesian network), 서포트벡터머신(SVM: support vector machine), 그리고 인공 신경망(ANN: Artificial Neural Network) 등이 대표적이다.
의사결정나무는 의사결정규칙(Decision Rule)을 나무구조로 도표화하여 분류와 예측을 수행하는 분석방법이다.
베이지안 망은 다수의 변수들 사이의 확률적 관계(조건부독립성: conditional independence)를 그래프 구조로 표현하는 모델이다. 베이지안 망은 비지도 학습(unsupervised learning)을 통한 데이터마이닝(data mining)에 적합하다.
서포트벡터머신은 패턴인식과 자료분석을 위한 지도 학습(supervised learning)의 모델이며, 주로 분류와 회귀분석을 위해 사용한다.
인공신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템이다.
인공 신경망은 기계 학습에서 사용되는 모델로써, 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘이다.
구체적으로 인공신경망은 시냅스(synapse)의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.
용어 인공신경망은 용어 뉴럴 네트워크(Neural Network)와 혼용되어 사용될 수 있다.
인공신경망은 복수의 레이어(layer)를 포함할 수 있고, 레이어들 각각은 복수의 뉴런(neuron)을 포함할 수 있다. 또한 인공신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴 (2) 연결의 가중치를 갱신하는 학습 과정 (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.
인공 신경망은, CNN(Deep Neural Network), RNN(Recurrent Neural Network), BRCNN(Bidirectional Recurrent Deep Neural Network), MLP(Multilayer Perceptron), CNN(Convolutional Neural Network)와 같은 방식의 네트워크 모델들을 포함할 수 있으나, 이에 한정되지 않는다.
본 명세서에서 용어 '레이어'는 용어 '계층'과 혼용되어 사용될 수 있다.
인공신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer Neural Networks)으로 구분된다.
일반적인 단층 신경망은, 입력층과 출력층으로 구성된다.
또한 일반적인 다층 신경망은 입력층(Input Layer)과 하나 이상의 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성된다.
입력층은 외부의 자료들을 받아들이는 층으로서, 입력층의 뉴런 수는 입력되는 변수의 수와 동일하며, 은닉층은 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달한다. 출력층은 은닉층으로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런간의 입력신호는 각각의 연결강도(가중치)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 획득한 출력값을 출력한다.
한편 입력층과 출력 층 사이에 복수의 은닉층을 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다.
한편 용어 '딥 러닝'은 용어 '심층 학습'과 혼용되어 사용될 수 있다.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다.
한편 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할 수 있다.
다음은 인공 신경망의 학습 방식에 대하여 설명한다.
인공 신경망의 학습 방식은 크게, 지도 학습, 비 지도 학습, 준 지도 학습(Semi-Supervised Learning), 강화 학습(Reinforcement Learning)으로 분류될 수 있다.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법이다.
그리고 이렇게 유추되는 함수 중, 연속적인 값을 출력하는 것을 회귀분석(Regression)이라 하고, 입력 벡터의 클래스(class)를 예측하여 출력하는 것을 분류(Classification)라고 할 수 있다.
지도 학습에서는, 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킨다.
여기서 레이블이란, 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.
본 명세서에서는 훈련 데이터가 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 레이블 또는 레이블링 데이터(labeling data)이라 명칭 한다.
또한 본 명세서에서는, 인공 신경망의 학습을 위하여 훈련 데이터에 레이블을 설정하는 것을, 훈련 데이터에 레이블링 데이터를 레이블링(labeling) 한다고 명칭 한다.
이 경우 훈련 데이터와 훈련 데이터에 대응하는 레이블)은 하나의 트레이닝 셋(training set)을 구성하고, 인공 신경망에는 트레이닝 셋의 형태로 입력될 수 있다.
한편 훈련 데이터는 복수의 특징을 나타내고, 훈련 데이터에 레이블이 레이블링 된다는 것은 훈련 데이터가 나타내는 특징에 레이블이 달린다는 것을 의미할 수 있다. 이 경우 훈련 데이터는 입력 객체의 특징을 벡터 형태로 나타낼 수 있다.
인공 신경망은 훈련 데이터와 레이블링 데이터를 이용하여, 훈련 데이터와 레이블링 데이터의 연관 관계에 대한 함수를 유추할 수 있다. 그리고, 인공 신경망에서 유추된 함수에 대한 평가를 통해 인공 신경망의 파라미터가 결정(최적화)될 수 있다.
비 지도 학습은 기계 학습의 일종으로, 훈련 데이터에 대한 레이블이 주어지지 않는다.
구체적으로, 비 지도 학습은, 훈련 데이터 및 훈련 데이터에 대응하는 레이블의 연관 관계 보다는, 훈련 데이터 자체에서 패턴을 찾아 분류하도록 인공 신경망을 학습시키는 학습 방법일 수 있다.
비 지도 학습의 예로는, 군집화 또는 독립 성분 분석(Independent Component Analysis)을 들 수 있다.
본 명세서에서 용어 '군집화'는 용어 '클러스터링'과 혼용되어 사용될 수 있다.
비지도 학습을 이용하는 인공 신경망의 일례로 생성적 적대 신경망(GAN: Generative Adversarial Network), 오토 인코더(AE: Autoencoder)를 들 수 있다.
생성적 적대 신경망이란, 생성기(generator)와 판별기(discriminator), 두 개의 서로 다른 인공지능이 경쟁하며 성능을 개선하는 머신 러닝 방법이다.
이 경우 생성기는 새로운 데이터를 창조하는 모형으로, 원본 데이터를 기반으로 새로운 데이터를 생성할 수 있다.
또한 판별기는 데이터의 패턴을 인식하는 모형으로, 입력된 데이터가 원본 데이터인지 또는 생성기에서 생성한 새로운 데이터인지 여부를 감별하는 역할을 수행할 수 있다.
그리고 생성기는 판별기를 속이지 못한 데이터를 입력 받아 학습하며, 판별기는 생성기로부터 속은 데이터를 입력 받아 학습할 수 있다. 이에 따라 생성기는 판별기를 최대한 잘 속이도록 진화할 수 있고, 판별기는 원본 데이터와 생성기에 의해 생성된 데이터를 잘 구분하도록 진화할 수 있다.
오토 인코더는 입력 자체를 출력으로 재현하는 것을 목표로 하는 신경망이다.
오토 인코더는 입력층, 적어도 하나의 은닉층 및 출력층을 포함한다.
이 경우 은닉 계층의 노드 수가 입력 계층의 노드 수보다 적으므로 데이터의 차원이 줄어들게 되며, 이에 따라 압축 또는 인코딩이 수행되게 된다.
또한 은닉 계층에서 출력한 데이터는 출력 계층으로 들어간다. 이 경우 출력 계층의 노드 수는 은닉 계층의 노드 수보다 많으므로, 데이터의 차원이 늘어나게 되며, 이에 따라 압축 해제 또는 디코딩이 수행되게 된다.
한편 오토 인코더는 학습을 통해 뉴런의 연결 강도를 조절함으로써 입력 데이터가 은닉층 데이터로 표현된다. 은닉층에서는 입력층보다 적은 수의 뉴런으로 정보를 표현하는데 입력 데이터를 출력으로 재현할 수 있다는 것은, 은닉층이 입력 데이터로부터 숨은 패턴을 발견하여 표현했다는 것을 의미할 수 있다.
준 지도 학습은 기계 학습의 일종으로, 레이블이 주어진 훈련 데이터와 레이블이 주어지지 않은 훈련 데이터를 모두 사용하는 학습 방법을 의미할 수 있다.
준 지도 학습의 기법 중 하나로, 레이블이 주어지지 않은 훈련 데이터의 레이블을 추론한 후 추론된 라벨을 이용하여 학습을 수행하는 기법이 있으며, 이러한 기법은 레이블링에 소요되는 비용이 큰 경우에 유용하게 사용될 수 있다.
강화 학습은, 에이전트(Agent)가 매 순간 어떤 행동을 해야 좋을지 판단할 수 있는 환경이 주어진다면, 데이터 없이 경험으로 가장 좋을 길을 찾을 수 있다는 이론이다.
강화 학습은 주로 마르코프 결정 과정(MDP: Markov Decision Process)에 의하여 수행될 수 있다.
마르코프 결정 과정을 설명하면, 첫 번째로 에이전트가 다음 행동을 하기 위해 필요한 정보들이 구성된 환경이 주어지며, 두 번째로 그 환경에서 에이전트가 어떻게 행동할지 정의하고, 세 번째로 에이전트가 무엇을 잘하면 보상(reward)을 주고 무엇을 못하면 벌점(penalty)을 줄지 정의하며, 네 번째로 미래의 보상이 최고점에 이를 때까지 반복 경험하여 최적의 정책(policy)을 도출하게 된다.
인공 신경망은 모델의 구성, 활성 함수(Activation Function), 손실 함수(Loss Function) 또는 비용 함수(Cost Function), 학습 알고리즘, 최적화 알고리즘 등에 의해 그 구조가 특정되며, 학습 전에 하이퍼파라미터(Hyperparameter)가 미리 설정되고, 이후에 학습을 통해 모델 파라미터(Model Parameter)가 설정되어 내용이 특정될 수 있다.
예컨대, 인공 신경망의 구조를 결정하는 요소에는 은닉층의 개수, 각 은닉층에 포함된 은닉 노드의 개수, 입력 특징 벡터(Input Feature Vector), 대상 특징 벡터(Target Feature Vector) 등이 포함될 수 있다.
하이퍼파라미터는 모델 파라미터의 초기값 등과 같이 학습을 위하여 초기에 설정하여야 하는 여러 파라미터들을 포함한다. 그리고, 모델 파라미터는 학습을 통하여 결정하고자 하는 여러 파라미터들을 포함한다.
예컨대, 하이퍼파라미터에는 노드 간 가중치 초기값, 노드 간 편향 초기값, 미니 배치(Mini-batch) 크기, 학습 반복 횟수, 학습률(Learning Rate) 등이 포함될 수 있다. 그리고, 모델 파라미터에는 노드 간 가중치, 노드 간 편향 등이 포함될 수 있다.
손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표(기준)로 이용될 수 있다. 인공 신경망에서 학습은 손실 함수를 줄이기 위하여 모델 파라미터들을 조작하는 과정을 의미하며, 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다.
손실 함수는 주로 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 오차(CEE, Cross Entropy Error)를 사용할 수 있으며, 본 발명이 이에 한정되지는 않는다.
교차 엔트로피 오차는 정답 레이블이 원 핫 인코딩(one-hot encoding)된 경우에 사용될 수 있다. 원 핫 인코딩은 정답에 해당하는 뉴런에 대하여만 정답 레이블 값을 1로, 정답이 아닌 뉴런은 정답 레이블 값이 0으로 설정하는 인코딩 방법이다.
머신 러닝 또는 딥 러닝에서는 손실 함수를 최소화하기 위하여 학습 최적화 알고리즘을 이용할 수 있으며, 학습 최적화 알고리즘에는 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등이 있다.
경사 하강법은 현재 상태에서 손실 함수의 기울기를 고려하여 손실 함수값을 줄이는 방향으로 모델 파라미터를 조정하는 기법이다.
모델 파라미터를 조정하는 방향은 스텝(step) 방향, 조정하는 크기는 스텝 사이즈(size)라고 칭한다.
이때, 스텝 사이즈는 학습률을 의미할 수 있다.
경사 하강법은 손실 함수를 각 모델 파라미터들로 편미분하여 기울기를 획득하고, 모델 파라미터들을 획득한 기울기 방향으로 학습률만큼 변경하여 갱신할 수 있다.
확률적 경사 하강법은 학습 데이터를 미니 배치로 나누고, 각 미니 배치마다 경사 하강법을 수행하여 경사 하강의 빈도를 높인 기법이다.
Adagrad, AdaDelta 및 RMSProp는 SGD에서 스텝 사이즈를 조절하여 최적화 정확도를 높이는 기법이다. SGD에서 모멘텀 및 NAG는 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Adam은 모멘텀과 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다. Nadam은 NAG와 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법이다.
인공 신경망의 학습 속도와 정확도는 인공 신경망의 구조와 학습 최적화 알고리즘의 종류뿐만 아니라, 하이퍼파라미터에 크게 좌우되는 특징이 있다. 따라서, 좋은 학습 모델을 획득하기 위하여는 적당한 인공 신경망의 구조와 학습 알고리즘을 결정하는 것뿐만 아니라, 적당한 하이퍼파라미터를 설정하는 것이 중요하다.
통상적으로 하이퍼파라미터는 실험적으로 다양한 값으로 설정해가며 인공 신경망을 학습시켜보고, 학습 결과 안정적인 학습 속도와 정확도를 제공하는 최적의 값으로 설정한다.
도 4는 본 발명의 실시 예에 따른 사용자 호출에 의해 제어 가능한 기기의 시스템을 설명하기 위한 도면이고, 도 5는 도 4의 시스템의 구성을 구체적으로 설명하기 위한 도면이며, 도 6a내지 6d는 본 발명의 실시 예에 따른 사용자 호출에 의해 기기를 제어하기 위한 사용자 발화의 특징을 예시적으로 도시하기 위한 그래프이다.
도면을 설명하기에 앞서, 전자기기(300)에는 사용자가 발화한 음성이 입력되고, 입력된 음성 특징에 의해 결정된 제1 기기(301)의 동작을 제어하기까지의 일련의 과정들을 각각 수행하는 복수의 프로세서를 포함하여 구성될 수 있다. 여기서 전자기기(300)를 이루는 프로세서들은 하나의 서버 형태 또는 각각이 하나 이상의 서버 형태로 구성될 수 있다.
구체적으로 도면을 참조하면, 사용자 호출에 의해 제어되는 전자기기(300)는 데이터 수집 프로세서(310)를 포함한다.
데이터 수집 프로세서(310)는 마이크 등을 통해 사용자(100)의 발화 음성을 수신하는 구성이다.
즉, 데이터 수집 프로세서(310)에서 수집하는 데이터는 사용자(100)로부터 발화된 음성일 수 있으며, 사용자(100)로부터 발화된 음성은 예를 들어 전, 후 문맥이 명확하지 않은 명령어가 될 수 있다. 구체적으로 “하이 엘지, 꺼줘”, “ 하이 엘지, 소리 줄여줘” 등이 될 수 있다.
이후, 데이터 분석 프로세서(320)를 통해 수집된 사용자(100)의 발화 음성을 분석할 수 있다.
구체적으로, 음성 인식 신경망의 음성 특징 추출 모델(325)을 통해 사용자(100) 발화에서 추출한 사용자 음성 특징에 기초하여 사용자 발화 스타일을 분석할 수 있다.
여기서 사용자 음성 특징이란, 사용자가 문장이나 단어를 발화할 때 사용자의 발화 변화를 의미한다. 사용자 음성 특징으로 사용자가 사용자와 가까운 거리에 위치한 전자기기를 호출한 것인지 먼 거리에 위치한 전자기기를 호출한 것인지를 추측할 수 있다.
이를 위해, 수신된 사용자 음성에서 사용자의 발화 스타일을 추출할 수 있다. 발화 스타일이란 예컨대 사용자가 문장이나 단어를 발화할 때 발화하는 속도, 발화한 문장이나 단어 중에서 특정 발음을 강하게 발음하거나 약하게 발음하는 강세, 단어와 단어 사이의 휴지 시간(구간), 음 높이, 단어의 모음 구간 발화 시간 등이 될 수 있다.
이러한 발화 스타일을 통해 사용자(100)가 전자기기(300) 중 먼 거리에 위치한 기기를 호출하는 것인지 근접한 거리의 기기를 호출하는 것인지 판단할 수 있다. 예를 들어 사용자(100)가 전자기기(300) 중 먼 거리의 기기를 호출하는 것이라 가정하면, 먼 거리의 기기가 사용자의 의도에 맞게 동작하여야 하기 때문에 사용자(100)는 제1 기기(301)를 호출하는 음성을 보다 정확한 발음으로 발화할 수 있다. 이와 다르게, 사용자(100)가 전자기기(300) 중 가까운 거리의 기기를 호출하는 경우, 상대적으로 작은 목소리로 발화하거나 빠른 속도로 발화할 수 있다.
예컨대 도 2와 같이 에어컨인 제1 기기(301)가 사용자와 가장 먼 거리에 위치한 상태에서, 사용자가 “꺼줘”라고 발화할 수 있다. 이때, 사용자가 발화한 “꺼줘”는 먼 거리에 위치한 에어컨을 동작을 제어하기 위한 것으로 소리를 크게 발화하거나, “꺼-줘-“ 라고 천천히 발음하는 등의 특징이 발생할 수 있다.
이를 롬바드(Lombard) 효과라고 하며, 롬바드 효과란 소음이 심한 환경에서 말을 할 때 자신의 목소리가 좀 더 잘 들릴 수 있도록 하기 위해서 자신도 모르게 말하는 방식에 변화를 주는 것을 의미한다. 이러한 롬바드 효과가 포함되는 음성 특징이 있는 경우, 사용자(100)가 사용자(100)와 먼 거리에 위치한 제1 기기(301)를 향해 발화한 것인지를 판단할 수 있다.
한편, 데이터 분석 프로세서(320)를 통해 수집된 사용자(100)의 발화 음성을 분석할 때, 사용자(100)에 대해 미리 저장된 평균 발화 스타일의 음성 특징과 추출된 음성 특징을 비교할 수 있다.
즉, 사용자의 발화에 롬바드 효과가 나타나는 경우와 평소 사용자가 발화하는 음성이 다를 수 있기 때문이다. 앞선 기재한 바와 같이, 롬바드 효과가 나타나는 사용자의 발화 음성은 모음이 길게 발음되거나, 발화 시간이 길어지는 등의 특징이 있다. 그러나, 평소 사용자 발화하는 음성에는 이러한 특징이 결여되어 있으므로, 사용자의 평균 발화 스타일을 전자기기(300) 또는/및 서버(200)에 미리 저장하고, 저장된 사용자의 평균 발화 스타일과 전자기기를 호출한 사용자의 발화 스타일을 비교하여 사용자가 어떤 전자기기를 호출한 것인지를 판단하도록 한다.
한편 발화 스타일 분석 시, 복수의 전자기기(300)에서 수집된 사용자의 발화 데이터 중에서 사용자로부터 가장 가까운 거리에 있는 전자기기로부터 수신된 사용자의 발화 데이터를 선택한 뒤, 음성 인식 신경망을 통해 선택된 발화 데이터로부터 사용자 음성 특징을 추출할 수 있다.
예를 들어 도 2에 도시된 바와 같이, 사용자가 “꺼줘” 라고 발화하면, 사용자와 가장 근접한 위치에 있는 로봇 청소기(309)에서 수신한 음성을 데이터 분석 프로세서(320)를 통해 분석하는 것이다.
이때, 로봇 청소기(309)에서 수신한 사용자 음성에 롬바드 효과가 반영된 것으로 분석되면 사용자는 로봇 청소기(309)를 호출한 것이 아닌 것으로 판단할 수 있다.
이와 다르게 로봇 청소기(309)에서 수신한 사용자 음성에 롬바드 효과가 반영되지 않고, 평소 발화 언어와 유사하게 발화한 것으로 분석되면, 사용자(100)가 로봇 청소기(309)를 호출한 것으로 판단하여 로봇 청소기(309)의 동작을 제어할 수 있다.
사용자(100)의 발화 스타일을 분석하면, 거리 측정 프로세서(330)를 통해 사용자(100)와 전자기기(300) 사이의 거리를 측정한다.
사용자(100)와 전자기기(300) 사이의 거리를 측정하는 실시 예로, 전자기기(300) 각각이 구비하는 거치 측정 센서로부터 획득한 사용자(100)와 각각의 전자기기(300) 사이의 거리 정보를 수집할 수 있다.
구체적으로, 전자기기(300)는 비전 센서, 카메라, 적외선 센서 등을 포함하도록 구성될 수 있으며, 개시된 비전 센서, 카메라, 적외선 센서 등을 이용하여 사용자(100)와 각각의 전자기기(300) 사이의 거리를 측정할 수 있다.
이렇게 거리 측정 센서로부터 획득된 사용자(100)와 각각의 전자기기(300) 사이의 거리 정보에 기초하여 사용자(100)와 복수의 전자기기(300) 각각과의 거리를 추정할 수 있다.
사용자(100)와 복수의 전자기기(300) 각각과의 거리를 추정한다는 것은, 전자기기(300) 각각과 사용자(100) 사이의 거리를 정확하게 측정하는 것일 수도 있지만, 전자기기(300) 각각이 사용자(100)와 어느 정도 떨어져 있는가를 의미할 수도 있다.
즉, 도 2를 참고하면, 사용자(100)를 중심으로 일정 영역을 범위 1(A1)로 가정하고, 범위 1(A1)에서부터 일정 영역을 범위 2(A2)로 가정할 수 있다. 이렇게 사용자(100)에서부터 멀어지는 방향을 따라 일정 영역으로 나누면 각 영역과 사용자와의 거리를 추정할 수 있다. 따라서, 나누어진 영역에 위치한 특정 전자기기와 사용자(100) 사이의 거리를 대략적으로 추정할 수 있는 것이다.
이후, 기기 결정 프로세서(340)를 통해 측정된 사용자(100)와 전자기기(300) 사이의 거리는 사용자(100)의 음성을 통해 사용자(100)가 호출한 기기를 판단할 수 있도록 한다.
예를 들어, 데이터 분석 프로세서(320)에서 추출된 사용자(100)의 발화 스타일을 통해 사용자의 발화에 롬바드 효과가 포함되어 있다고 판단되면 사용자(100)가 먼 거리의 제1 기기(301)를 호출하는 것이라 추정할 수 있다. 이를 근거로, 거리 측정 프로세서(330)를 통해 측정한 사용자(100)와의 거리가 가장 먼 위치의 제1 기기(301)를 선택하여 제1 기기(301)의 동작을 제어할 수 있다.
이와 반대로, 데이터 분석 프로세서(320)에서 추출된 사용자(100)의 발화 스타일을 통해 사용자의 발화에 롬바드 효과가 포함되지 않은 것이라 판단되면, 사용자(100)가 사용자와 근접한 전자기기를 호출한 것으로 판단할 수 있다. 이를 근거로, 거리 측정 프로세서(330)를 통해 측정한 사용자(100)와의 거리가 가장 근접한 위치의 전자기기의 동작을 제어하게 된다.
한편, 사용자(100)와 전자기기(300) 사이의 거리는 데이터 베이스(305) 또는/및 서버(200)에 저장될 수 있다. 또한, 사용자(100)와 전자기기(300) 사이의 거리는 일정 시간 마다 자동으로 측정할 수 있지만, 다르게는 사용자(100)가 호출 음성을 발화하였을 때마다 측정할 수도 있다.
한편, 기기 결정 프로세서(340)에서 사용자(100)가 어떤 기기를 호출한 것인지를 판단할 때, 사용자(100) 음성 특징의 변화가 큰 경우에 전자기기(300) 중 사용자(100)와 먼 위치의 제1 기기(301)를 호출한 것으로 판단할 수 있다.
즉, 사용자(100)가 발화한 음성이 변화한 경우 사용자 음성에 롬바드 효과가 반영된 것으로 판단할 수 있다. 이를 기초로 사용자(100)의 음성 특징 변화가 큰 경우 롬바드 효과가 같이 사용자(100)가 사용자와 먼 위치의 제1 기기(301)를 호출한 것으로 판단할 수 있다. 따라서, 사용자 음성 특징 변화를 기준으로 사용자가 어떤 기기를 호출한 것인지 판단할 수 있는 것이다.
이때, 사용자의 음성 특징 변화의 크고 작은 정도를 판단하는 기준은 사용자가 평소에 발화하는 특징을 기초할 수 있다. 즉, 미리 저장된 평균 발화 스타일의 음성 특징과 전자기기를 호출하는 사용자의 음성 특징을 비교하여 사용자가 어떤 기기를 호출한 것인지 판단하게 된다.
예시적으로 가중치 산출 모듈(350)에서 보통의 상태에서 발화한 사용자(100)의 음성 발화 속도, 기저 주파수, 모음 지속 시간, 음 높이 등의 음성 변화를 미리 학습할 수 있다. 이후, 사용자(100)가 제1 기기(301)를 호출한 음성에서 추출한 발화 속도, 기저 주파수의 변화, 모음 지속 시간, 음높이 변화 등이 학습 데이터에서 벗어나는 경우 사용자(100)의 음성 변화가 큰 것으로 판단할 수 있다.
구체적인 실시 예에 따르면, 사용자가 제1 기기(301)를 향해 발화한 음성 중에서 모음 구간의 발화 지속 시간이 미리 설정된 시간 이상인지를 판단할 수 있다.
즉, 도 6a을 참고하여 시간에 대한 모음 구간의 발화지속 여부에 살펴보면, 롬바드 효과에 따라 먼 거리의 대상을 향해 음성을 발화할 때, 모음을 길게 발화하는 특징이 있다. 따라서, 미리 설정된 시간 이상 모음 발화 시간이 지속되는 경우 사용자(100)가 먼 거리의 제1 기기(301)를 향해 발화하는 것이라고 판단할 수 있는 것이다.
또한, 사용자(100)가 제1 기기(301)를 향해 발화한 음성 신호에서 기저주파수를 도출하고, 도출한 기저주파수에서 상승 구간을 추출할 수 있다.
구체적으로, 도 6b을 참고하여 시간에 대한 기저 주파수 상승 여부를 살펴보면, 롬바드 효과에 따라 먼 거리의 대상을 향해 음성을 발화할 때, 발화자의 음성 주파수의 기저 주파수가 상승하는 특징이 있기 때문이다. 따라서, 사용자(100)가 발화한 음성의 주파수를 추출하고, 추출한 주파수에서의 기저 주파수가 상승하는 구간을 추출한다. 추출한 기저 주파수 상승 구간을 사용자(100)가 사용자(100)와 먼 거리의 제1 기기(301)를 호출하는 구간, 제1 기기(301)를 호출하는 음성이라고 분석할 수 있다.
또한, 가중치 산출 모듈(350)은 사용자(100)가 제1 기기(301)를 향해 발화한 음성 신호에서 음 높이를 추출하고, 추출한 음 높이에서 배음 구조를 추출할 수 있다. 이때, 롬바드 효과에 의해 추출한 배음 구조의 선명도가 높을수록 먼 거리의 대상을 향해 음성을 발화한 것이라 판단할 수 있다.
즉, 도 6c를 참고하여 시간에 대한 배음 구조 선명도 여부를 살펴보면, 롬바드 효과에 따라 사용자(100)가 발화한 음성에서 추출한 음 높이의 선명도가 높을수록 사용자(100)가 사용자(100)와 먼 거리의 제1 기기(301)를 호출한 것이라고 판단하여 제1 기기(301)의 동작이 제어되도록 할 수 있다.
더불어, 가중치 산출 모듈(350)은 사용자(100)가 제1 기기(301)를 향해 발화한 음성 신호에서 스펙트럼을 도출하고, 도출한 스펙트럼에서 기울기가 감소하는 기울기 감소 구간을 추출할 수 있다. 추출한 기울기 감소 구간은 사용자 음역대에서 에너지가 증가한 영역이라고 할 수 있다. 에너지가 증가한 영역이란 사용자가 “꺼-줘-“와 같이 제1 기기(301)를 향해 천천히 명확하게 발화하여 제1 기기(301)가 사용자(100)의 음성을 인지할 수 있도록 발화하는 것을 의미한다.
따라서, 도 6d에 도시된 바와 같이 롬바드 효과에 따라 사용자(100)가 발화한 음성에서 추출한 스펙트럼의 기울기가 감소할수록 사용자(100)에서 발화한 음성의 에너지가 높은 것이라고 판단할 수 있으며, 스펙트럼의 기울기가 감소한 시점을 사용자(100)와 먼 거리의 제1 기기(301)를 호출한 것이라고 판단하여 제1 기기(301)의 동작이 제어되도록 할 수 있다.
결과적으로, 사용자(100)가 전, 후 문맥이 없는 문장을 발화하고, 발화한 사용자의 음성 변화가 클수록 사용자(100)가 사용자(100)와 먼 거리에 위치한 제1 기기(301)를 호출한 것으로 판단한다. 이를 기초로, 거리 측정 프로세서(330)에서 측정한 사용자(100)와 전자기기(300)와의 거리를 통해 제1 기기(301)를 선택하여 제1 기기(301)의 동작을 제어하도록 한다.
도 7은 본 발명의 실시 예에 따른 제1 기기를 선택한 사용자 호출 의도를 분석하기 위한 흐름도이고, 도 8은 본 발명의 실시 예에 따른 제1 기기를 선택한 사용자 호출 의도를 분석하기 위해 롬바드 효과가 반영된 사용자 발화를 분석하기 위한 흐름도이다.
도면을 참고하면 사용자(100)가 전, 후 문맥 없이 복수의 전자기기(300) 중에서 제1 기기(301)를 호출한다(S110). 호출한 제1 기기(301)를 추정하기 위해, 사용자(100)와 복수의 전자기기(300) 사이의 거리를 판단한다(S120).
전자기기(300)와 사용자(100) 사이의 거리를 판단하기 위해 사용자(100) 주변을 일정 범위로 나누어 랭킹을 설정 수 있다(S122). 예를 들어, 사용자(100)를 중심으로 일정 영역을 범위 1(A1)로 가정하고, 범위 1에서부터 일정 영역을 범위 2(A2)로 가정할 수 있다. 이렇게 사용자(100)에서부터 멀어지는 방향을 따라 일정 영역으로 나누면 각 영역과 사용자와의 거리를 추정할 수 있다.
예를 들어, 전자기기(300) 각각이 구비하는 거치 측정 센서로부터 획득한 사용자(100)와 각각의 전자기기(300) 사이의 거리 정보를 수집할 수 있다.
구체적으로, 전자기기(300)는 비전 센서, 카메라, 적외선 센서 등을 포함하도록 구성될 수 있으며, 개시된 비전 센서, 카메라, 적외선 센서 등을 이용하여 사용자(100)와 각각의 전자기기(300) 사이의 거리를 측정할 수 있다.
이렇게 거리 측정 센서로부터 획득된 사용자(100)와 각각의 전자기기(300) 사이의 거리 정보에 기초하여 사용자(100)와 복수의 전자기기(300) 각각과의 거리를 추정할 수 있다.
사용자(100)와 복수의 전자기기(300) 각각과의 거리를 추정한다는 것은, 전자기기(300) 각각과 사용자(100) 사이의 거리를 정확하게 측정하는 것일 수도 있지만, 전자기기(300) 각각이 사용자(100)와 어느 정도 떨어져 있는가를 의미할 수도 있다.
기재한 바와 같이 전자기기의 위치를 판단하면, 각각의 전자기기(300)가 수행하는 역할(예: 청소, 세탁 등)을 판단하여 사용자(100)의 호출에 대응하는 제1 기기(301)를 판단할 수 있다(S132, S134).
실시 예로 각각의 전자기기(300)가 수행하는 역할을 판단한다는 구체적인 실시 예는, 사용자(100)가 “꺼줘”라고 발화한 경우, “꺼줘”에 대응하여 동작할 수 있는 전자기기(300)를 판단한다는 것이다. 도 2에 도시된 전자기기(300)의 중에서 사용자의 “꺼줘”에 대응하는 전자기기(300)는 TV, 로봇 청소기, 에어컨, 세탁기가 될 수 있다.
이때, 냉장고의 경우, 동작 도중 off로 전환하는 것을 최소화해야 하는 전자기기이므로 사용자(100)의 발화 문맥에서 제외하는 전자기기가 될 수 있다(S124). 또한, 이미 off 상태의 전자기기로 사용자(100)의 발화 문맥에서 제외하는 전자기기가 된다. 이로 인해 이미 off 상태의 전자기기는 사용자(100)의 발화 문맥에서 제외하여 제1 기기를 보다 빠르게 추출할 수 있도록 한다.
이후, 사용자(100)의 발화에 롬바드 효과가 반영되어 있는지를 판단할 수 있다(S136). 앞서 설명한 바와 같이, 롬바드 효과란 소음이 심한 환경에서 말을 할 때 자신의 목소리가 좀 더 잘 들릴 수 있도록 하기 위해서 자신도 모르게 말하는 방식에 변화를 주는 것을 의미한다.
구체적으로 도 8을 참고하여 설명하면, 예를 들어 사용자(100)가 발화한 “꺼줘” 라는 문장에서 “꺼-줘-“와 같이 각각의 단어를 천천히 발음한 경우를 의미한다.
또한, 롬바드 효과는 사용자의 발화한 음성 신호에서 추출한 주파수의 스펙트럼의 기울기가 감소하는 특징이 있다. 스펙트럼 기울기가 감소하는 구간은 에너지가 증가한 구간과 일치한다. 이러한 특징에 기초하여 사용자의 발화한 음성 신호에서 추출한 주파수의 스펙트럼 기울기가 감소하는 구간은 사용자의 발화 음성 에너지가 증가한 구간이라고 할 수 있다(도 8의 (1), (3)).
또한, 롬바드 효과는 사용자의 발화한 음성 신호에서 추출한 주파수의 기저주파수가 상승하는 특징이 있다. 예시대로 사용자가 “꺼줘”를 발화할 때의 기저 주파수가 상승하는 특징을 가진다(도 8의 (2)).
이외에도 롬바드 효과는 사용자의 발화한 음성 신호에서 추출한 주파수의 음 높이의 배음 구조가 선명해지는 특징이 있다(도 8의 (4)). 배음 설명에 앞서, 모든 음은 그 음정을 결정하는 주파수 성분과 정배수의 성분을 가지고 있다. 배음이란 이 정배수의 성분 모두를 가리킨다. 이러한 특징에 기반하여 롬바드 효과는 배음구조가 선명해지는 즉, 음 높이가 높아지는 특징이 있다. 음 높이가 높을수록 청각 자극이 많은 신호라고 할 수 있으며, 사용자가 큰 소리로 발화하는 것이라 할 수 있다. 이와 같이 음 높이가 높을수록 사용자가 사용자와 먼 위치의 제1 기기(301)를 호출하는 것이라 판단할 수 있다.
이와 같은 특성과 더불어 롬바드 효과는 사용자의 발화 언어 중 모음의 발화 시간이 길어지는 특징이 있다(도 8의 (5)). 사용자가 “꺼줘”를 발화하는 경우 “꺼줘”의 “ㅓ”, “ㅝ”와 같은 모음을 발화하는 시간을 증가시켜 발화하는 것을 의미한다.
이러한 롬바드 효과의 특징을 가중치 산출 신경망을 통해 사용자가 발화한 언어에 롬바드 효과 가중치를 부여할 수 있다(도 8의 (6)). 롬바드 효과 가중치가 높을수록 사용자가 발화한 언어가 사용자와 먼 위치의 제1 기기를 선택한 것이라 분석할 수 있기 때문이다.
이후, 사용자와 전자기기(300) 사이의 거리, 롬바드 효과 가중치에 대해 사용자가 발화한 언어의 전, 후 문맥을 추론하고, 추론된 문맥에 따라 사용자(100)가 호출한 제1 기기(301)를 선택할 수 있다(S140).
구체적으로 사용자가 “꺼줘”라고 발화하고, 사용자가 발화한 “꺼줘”에 롬바드 효과가 반영된 것으로 판단되는 경우, 사용자는 사용자와 먼 거리에 위치한 제1 기기(301)를 호출한 것으로 판단할 수 있다.
이를 결과로 사용자가 발화한 “꺼줘”에 대응하여 동작 가능한 전자기기를 추출하고(예: 세탁기, TV, 에어컨 등) 추출된 전자기기 중에서 사용자와 가장 먼 거리의 전자기기인 에어컨(도 2 참고)의 동작을 제어(예: off)할 수 있다(S150).
도 9는 본 발명의 실시 예에 따른 사용자 호출에 의해 제1 기기를 제어하는 과정을 도시한 순서도이다.
도 9를 참고하면, 사용자가 호출한 제1 기기의 응답을 결정하기 위해 복수의 전자기기(300)에서 사용자(100)의 발화를 수신할 수 있다(S110). 구체적으로, 사용자(100)가 전, 후 문맥 없이 복수의 전자기기(300) 중에서 제1 기기(301)를 호출하고, 사용자(100)의 호출 음성을 복수의 전자기기(300)에서 수신하는 것이다.
이후, 사용자(100)와 복수의 전자기기(300) 사이의 거리를 측정한다(S120). 측정된 사용자(100)와 복수의 전자기기(300) 사이의 거리는 사용자(100)의 음성 특징에 대응하는 제1 기기(301)를 선택하는 기준이 될 수 있다.
사용자(100)와 복수의 전자기기(300) 사이의 거리를 측정하면, 각각의 전자기기(300)가 수행하는 역할을 판단할 수 있다. 즉 사용자가 “꺼줘”라고 발화한 경우, “꺼줘”에 대응하는 동작을 수행할 수 있는 전자기기를 추출하는 것이다.
이때, “꺼줘”에 대응하는 동작이 수행되지 않아야 하는 전자기기(예: 냉장고)는 사용자 발화에 대응하는 전자기기라고 판단하지 않는다. 또한, 이미 off 상태인 전자기기 또한 사용자 발화에 대응하는 전자기기라고 판단하지 않는다. 이러한 기준들을 중심으로 사용자 발화에 대응하는 동작이 수행되어야 하는 전자기기를 추출할 수 있다.
이후, 음성 인식 신경망을 통해 사용자 발화에서 추출한 사용자 음성 특징에 기초하여 사용자 발화 스타일을 분석할 수 있다(S130).
음성 인식 신경망이란, 사용자가 문장이나 단어를 발화할 때 사용자의 음성 특징을 추출하는 신경망을 의미한다.
또한, 사용자 발화 스타일이란 사용자의 발화 음성이 변화된 것을 의미한다. 예컨대 사용자가 문장이나 단어를 발화할 때 발화하는 속도, 발화한 문장이나 단어 중에서 특정 발음을 강하게 발음하거나 약하게 발음하는 강세, 단어와 단어 사이의 휴지 시간(구간), 음 높이, 단어의 모음 구간 발화 시간 등의 변화를 예로 설명할 수 있다.
추출한 사용자 발화 스타일 및 사용자(100)와 복수의 전자기기(300) 사이의 거리에 기초하여 사용자 발화가 복수의 전자기기(300) 중 제1 기기(301)를 호출한 것인지를 판단할 수 있다(S140).
사용자가 제1 기기(301)를 호출한 것인지를 판단하기 위하여 사용자 발화에 롬바드 효과가 반영되었는지를 판단할 수 있다. 롬바드 효과란, 소음이 심한 환경에서 말을 할 때 자신의 목소리가 좀 더 잘 들릴 수 있도록 하기 위해서 자신도 모르게 말하는 방식에 변화를 주는 것을 의미한다.
이러한 롬바드 효과의 특징으로는 음성의 발화 속도가 느려지거나, 사용자 음성 신호에서 추출한 기저 주파수의 상승, 음 높이 증가, 스펙트럼 기울기 상승 및 사용자가 발화한 음성의 모음 발화 지속 시간 증가 등이 있다.
예를 들어 사용자가 “꺼줘”를 “꺼- 줘-“ 와 같이 천천히 발음한 것과 같이 자신의 목소리가 제1 기기(301)에서 정확하게 수신할 수 있도록 하는 것을 의미한다.
이러한 롬바드 효과의 특징을 가중치 산출 신경망을 통해 사용자가 발화한 언어에 롬바드 효과 가중치를 부여할 수 있다. 롬바드 효과 가중치가 높을수록 사용자가 발화한 언어가 사용자와 먼 위치의 제1 기기를 선택한 것이라 분석할 수 있다.
이후, 사용자와 전자기기(300) 사이의 거리, 롬바드 효과 가중치를 기초로 사용자가 발화한 언어의 전, 후 문맥을 추론하고, 추론된 문맥에 따라 사용자(100)가 호출한 제1 기기(301)를 선택한 뒤, 선택한 제1 기기(301)의 동작을 제어할 수 있다(S150).
예를 들어, 사용자가 “꺼줘”의 문장에서 모음인 “ㅓ”와 “ㅝ”를 음성 인식 신경망에서 학습된 임계치 시간 이상 발화하였다고 할 경우, 가중치 산출 신경망을 통해 사용자가 사용자와 먼 거리에 위치한 전자기기를 호출한 것으로 판단할 수 있다.
이때, 거리 측정 프로세서(330)를 통해 측정한 복수의 전자기기 중에서 사용자와 가정 먼 거리에 위치하고, 사용자의 호출 음성에 대응하는 동작이 수행될 수 있는 전자기기를 추출할 수 있다. 실시 예로, 에어컨(도 2 참고의 30 참고)이 사용자와 가장 먼 거리에 위치하고, 사용자의 호출 음성에 대응하는 동작이 수행될 수 있는 것이라 판단하여 에어컨의 동작을 on에서 off로 전환할 수 있는 것이다.
이와 같이, 별도의 전후 관계 정보 없이 사용자가 사용자와 먼 거리에 위치한 기기를 호출하는 경우에도 사용자와 먼 거에 위치한 기기가 작동할 수 있도록 음성 인식 신경망 및 가중치 산출 신경망을 선택하여 활용함으로써, 복수의 전자기기 중에서 사용자와 먼 거리에 위치한 기기를 선택한 사용자의 호출 음성을 인식할 수 있도록 한다.
또한, 사용자의 음성 특징에 롬바드 효과를 반영한 사용자의 음성 특징을 기초로 사용자와 먼 거리에 위치한 기기가 작동할 수 있도록 한다. 즉, 사용자 음성 특징에 롬바드 효과를 적용하여 사용자와 먼 거리에 위치한 기기를 호출한 것을 판단할 수 있다. 이를 기초로 롬바드 효과를 반영한 사용자 음성 특징에서 사용자와 먼 거리에 위치한 기기를 호출한 것으로 판단되면 사용자의 호출에 대응하는 동작이 사용자와 먼 거리에 위치한 기기에서 수행될 수 있도록 한다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 단계들은 적당한 순서로 행해질 수 있다. 반드시 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 또한, 본 발명에 따른 방법들에 포함된 단계들은 프로세서 또는 해당 단계의 기능을 수행하기 위한 모듈들을 통해서 수행될 수 있다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 청구범위에 의해 한정되지 않는 이상 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
Claims (19)
- 사용자 호출에 대한 기기의 제어 방법으로서,
복수의 전자기기에서 수집된 사용자의 발화를 수신하는 단계;
상기 사용자와 상기 복수의 전자기기 사이의 거리를 측정하는 단계;
음성 인식 신경망을 통해 상기 사용자 발화에서 추출한 사용자 음성 특징에 기초하여 상기 사용자 발화 스타일을 분석하는 단계;
분석된 상기 발화 스타일 및 상기 복수의 전자기기 사이의 거리에 기초하여 상기 사용자의 발화가 상기 복수의 전자기기 중 어떤 기기를 호출한 것인지를 판단하는 단계; 및
상기 판단에 기초하여 사용자 호출의 대상인 상기 기기의 동작을 제어하는 단계를 포함하는,
기기 제어 방법.
- 제1항에 있어서,
상기 발화 스타일을 분석하는 단계는,
가중치 산출 신경망을 통해 상기 사용자의 발화 속도, 발음 강세, 휴지 구간, 음 높이, 기저주파수, 모음 구간의 발화시간, SNR(signal to noise ratio) 또는 억양 중 적어도 하나의 상기 사용자 음성 특징을 추출하는 단계; 및
상기 사용자에 대해 미리 저장된 평균 발화 스타일의 음성 특징과 상기 추출된 음성 특징을 비교하는 단계를 포함하는,
기기 제어 방법.
- 제2항에 있어서,
상기 사용자 음성 특징을 추출하는 단계는,
상기 사용자가 발화한 음성 중 모음 구간의 발화 지속 시간이 미리 설정된 시간 이상인 여부를 판단하는 단계를 포함하는,
기기 제어 방법.
- 제2항에 있어서,
상기 사용자 음성 특징을 추출하는 단계는,
상기 사용자가 발화한 음성 신호에서의 기저주파수를 도출하는 단계; 및
도출한 상기 기저주파수에서의 상승 구간을 추출하는 단계를 포함하는,
기기 제어 방법.
- 제2항에 있어서,
상기 음성 특징을 비교하는 단계는,
상기 사용자가 발화한 음성 신호에서의 배음 구조 선명도가 증가하는지 여부를 판단하는 단계를 포함하는,
기기 제어 방법.
- 제2항에 있어서,
상기 사용자 음성 특징을 추출하는 단계는,
상기 사용자가 발화한 음성 신호에서의 스펙트럼을 도출하는 단계; 및
도출한 상기 스펙트럼에서 기울기 감소 구간을 추출하는 단계를 포함하는,
기기 제어 방법.
- 제1항에 있어서,
상기 거리를 측정하는 단계는,
상기 복수의 전자기기 각각이 구비하는 거리 측정 센서로부터 획득된 상기 사용자와 각각의 상기 복수의 전자기기 사이 거리 정보를 수집하는 단계; 및
상기 수집된 거리 정보에 기초하여 상기 사용자와 상기 복수의 전자기기 각각과의 거리를 추정하는 단계를 포함하는,
기기 제어 방법.
- 제1항에 있어서,
상기 사용자 발화 스타일을 분석하는 단계는,
상기 복수의 전자기기에서 수집된 사용자의 발화 데이터 중 상기 사용자로부터 가장 가까운 거리에 있는 전자기기로부터 수신된 사용자의 발화 데이터를 선택하는 단계; 및
음성 인식 신경망을 통해 상기 선택된 발화 데이터로부터 사용자 음성 특징을 추출하는 단계를 포함하는,
기기 제어 방법.
- 제8항에 있어서,
상기 복수의 전자기기 중 어떤 기기를 호출한 것인지를 판단하는 단계는,
추출한 상기 사용자 음성 특징의 변화가 큰 경우, 상기 사용자로부터 먼 위치에 존재하는 기기를 호출한 것으로 판단하는 단계를 포함하는,
기기 제어 방법.
- 사용자 호출에 대한 제1 기기의 응답 결정 방법으로서,
사용자의 발화를 수신하는 단계;
상기 사용자와 상기 제1 기기 사이의 거리를 측정하는 단계;
음성 인식 신경망을 통해 상기 사용자 발화에서 추출한 사용자 음성 특징에 기초하여 상기 사용자 발화 스타일을 분석하는 단계;
분석한 상기 사용자 발화 스타일 및 상기 측정된 거리에 기초하여 상기 사용자의 발화가 상기 제1 기기를 호출한 것인지를 판단하는 단계; 및
상기 판단에 기초하여 사용자 호출에 대한 응답 여부를 결정하는 단계를 포함하는,
응답 결정 방법.
- 제10항에 있어서,
상기 발화 스타일을 분석하는 단계는,
상기 사용자의 발화 속도, 발음 강세, 휴지 구간, 음 높이, 기저주파수, 모음 구간의 발화시간, SNR(signal to noise ratio) 또는 억양 중 적어도 하나의 상기 사용자 음성 특징을 추출하는 단계 및
상기 사용자에 대해 미리 저장된 평균 발화 스타일의 음성 특징과 상기 추출된 음성 특징을 비교하는 단계를 포함하는,
응답 결정 방법.
- 제10항에 있어서,
상기 거리를 측정하는 단계는,
상기 복수의 전자기기 각각이 구비하는 거리 측정 센서로부터 획득된 상기 사용자와 각각의 상기 복수의 전자기기 사이 거리 정보를 수집하는 단계; 및
상기 수집된 거리 정보에 기초하여 상기 사용자와 상기 복수의 전자기기 각각과의 거리를 추정하는 단계를 포함하는,
응답 결정 방법.
- 제10항에 있어서,
상기 발화 스타일을 분석하는 단계는,
상기 제1 기기에서 수집된 사용자의 발화 데이터를 선택하는 단계;
음성 인식 신경망을 통해 상기 선택된 발화 데이터로부터 사용자 음성 특징을 추출하는 단계를 포함하는,
응답 결정 방법.
- 제13항에 있어서,
상기 응답 여부를 결정하는 단계는,
추출한 상기 사용자 음성 특징의 변화가 큰 경우, 상기 제1 기기가 상기 사용자로부터 먼 위치의 존재하는 기기인 것으로 판단하는 단계를 포함하는,
응답 결정 방법.
- 사용자 호출에 대한 응답을 결정하는 장치로서,
적어도 하나의 프로세서; 및
프로세서에 연결된 메모리를 포함하고,
상기 메모리는,
상기 프로세서를 통해 실행될 때, 사용자의 발화를 수신하고, 음성 인식 신경망을 통해 상기 사용자 발화에서 추출한 사용자 음성 특징에 기초하여 상기 사용자 발화 스타일을 분석하고, 상기 사용자와 상기 제1 기기 사이의 거리를 측정한 뒤, 분석한 상기 사용자 발화 스타일 및 상기 측정된 거리에 기초하여 상기 사용자의 발화가 상기 제1 기기를 호출한 것인지를 판단한 후에 상기 판단에 기초하여 사용자 호출에 대한 응답 여부를 결정하는 명령들을 저장하는,
응답 결정 장치.
- 제15항에 있어서,
상기 메모리는,
상기 사용자의 발화 속도, 발음 강세, 휴지 구간, 음 높이, 기저주파수, 모음 구간의 발화시간, SNR(signal to noise ratio) 또는 억양 중 적어도 하나의 상기 사용자 음성 특징을 추출하는 명령 및
상기 사용자에 대해 미리 저장된 평균 발화 스타일의 음성 특징과 상기 추출된 음성 특징을 비교하는 명령들을 저장하는,
응답 결정 장치.
- 제15항에 있어서,
상기 메모리는,
상기 거리 측정 시, 상기 복수의 전자기기 각각이 구비하는 거리 측정 센서로부터 획득된 상기 사용자와 각각의 상기 복수의 전자기기 사이 거리 정보를 수집하고, 상기 수집된 거리 정보에 기초하여 상기 사용자와 상기 복수의 전자기기 각각과의 거리를 추정하는 명령들을 저장하는,
응답 결정 장치.
- 제15항에 있어서,
상기 메모리는,
상기 제1 기기에서 수집된 사용자의 발화 데이터를 선택하고, 음성 인식 신경망을 통해 상기 선택된 발화 데이터로부터 사용자 음성 특징을 추출하는 명령들을 저장하는,
응답 결정 장치.
- 제18항에 있어서,
상기 메모리는,
추출한 상기 사용자 음성 특징의 변화가 큰 경우, 상기 제1 기기가 상기 사용자로부터 먼 위치의 존재하는 기기인 것으로 판단하는 명령들을 저장하는,
응답 결정 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190159875A KR20210069977A (ko) | 2019-12-04 | 2019-12-04 | 기기 제어 방법 및 이를 이용한 제어 가능한 장치 |
US16/810,013 US11721334B2 (en) | 2019-12-04 | 2020-03-05 | Method and apparatus for controlling device located a distance away from a user |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190159875A KR20210069977A (ko) | 2019-12-04 | 2019-12-04 | 기기 제어 방법 및 이를 이용한 제어 가능한 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210069977A true KR20210069977A (ko) | 2021-06-14 |
Family
ID=76209810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190159875A KR20210069977A (ko) | 2019-12-04 | 2019-12-04 | 기기 제어 방법 및 이를 이용한 제어 가능한 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11721334B2 (ko) |
KR (1) | KR20210069977A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023058848A1 (ko) * | 2021-10-07 | 2023-04-13 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
WO2023075159A1 (ko) * | 2021-10-26 | 2023-05-04 | 삼성전자 주식회사 | 발화 기반 목적 장치의 식별 방법 및 이를 위한 전자 장치 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220415323A1 (en) * | 2021-06-25 | 2022-12-29 | Samsung Electronics Co., Ltd. | Electronic device and method of outputting object generated based on distance between electronic device and target device |
WO2024053822A1 (en) * | 2022-09-05 | 2024-03-14 | Samsung Electronics Co., Ltd. | System and method for receiving a voice command |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589167B2 (en) * | 2011-05-11 | 2013-11-19 | Nuance Communications, Inc. | Speaker liveness detection |
US9761247B2 (en) * | 2013-01-31 | 2017-09-12 | Microsoft Technology Licensing, Llc | Prosodic and lexical addressee detection |
KR102146462B1 (ko) * | 2014-03-31 | 2020-08-20 | 삼성전자주식회사 | 음성 인식 시스템 및 방법 |
US9424841B2 (en) * | 2014-10-09 | 2016-08-23 | Google Inc. | Hotword detection on multiple devices |
US9875081B2 (en) * | 2015-09-21 | 2018-01-23 | Amazon Technologies, Inc. | Device selection for providing a response |
US20170125038A1 (en) * | 2015-11-03 | 2017-05-04 | Ford Global Technologies, Llc | Transfer function to generate lombard speech from neutral speech |
KR102409303B1 (ko) | 2016-12-15 | 2022-06-15 | 삼성전자주식회사 | 음성 인식 방법 및 장치 |
US10403276B2 (en) * | 2017-03-17 | 2019-09-03 | Microsoft Technology Licensing, Llc | Voice enabled features based on proximity |
KR102025566B1 (ko) * | 2018-07-27 | 2019-09-26 | 엘지전자 주식회사 | 인공지능을 이용한 홈어플라이언스 및 음성 인식 서버 시스템과, 이의 제어 방법 |
US11315553B2 (en) * | 2018-09-20 | 2022-04-26 | Samsung Electronics Co., Ltd. | Electronic device and method for providing or obtaining data for training thereof |
KR102246661B1 (ko) | 2019-06-25 | 2021-05-03 | 엘지전자 주식회사 | 음성 인에이블 디바이스 선택 방법 및 장치 |
-
2019
- 2019-12-04 KR KR1020190159875A patent/KR20210069977A/ko active Search and Examination
-
2020
- 2020-03-05 US US16/810,013 patent/US11721334B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023058848A1 (ko) * | 2021-10-07 | 2023-04-13 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
WO2023075159A1 (ko) * | 2021-10-26 | 2023-05-04 | 삼성전자 주식회사 | 발화 기반 목적 장치의 식별 방법 및 이를 위한 전자 장치 |
Also Published As
Publication number | Publication date |
---|---|
US11721334B2 (en) | 2023-08-08 |
US20210174796A1 (en) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102225001B1 (ko) | 음성 인식 방법 및 음성 인식 장치 | |
US11170788B2 (en) | Speaker recognition | |
US11189284B2 (en) | Apparatus for communicating with voice recognition device, apparatus with voice recognition capability and controlling method thereof | |
Tang et al. | Recurrent neural network training with dark knowledge transfer | |
KR102365433B1 (ko) | 교차 어텐션 모델 기반 감정 인식 방법 및 장치 | |
US11721334B2 (en) | Method and apparatus for controlling device located a distance away from a user | |
US11335347B2 (en) | Multiple classifications of audio data | |
US11132509B1 (en) | Utilization of natural language understanding (NLU) models | |
US11264016B2 (en) | Noise manageable electronic device and control method thereof | |
KR102263245B1 (ko) | 이종 레이블 간 발화 스타일 부여를 위한 인공지능 기반의 음성 샘플링 장치 및 방법 | |
US11205420B1 (en) | Speech processing using a recurrent neural network | |
US20180047389A1 (en) | Apparatus and method for recognizing speech using attention-based context-dependent acoustic model | |
US11594224B2 (en) | Voice user interface for intervening in conversation of at least one user by adjusting two different thresholds | |
CN110223714B (zh) | 一种基于语音的情绪识别方法 | |
KR102281590B1 (ko) | 음성인식 성능 향상을 위한 비 지도 가중치 적용 학습 시스템 및 방법, 그리고 기록 매체 | |
WO2020263547A1 (en) | Emotion detection using speaker baseline | |
US11854538B1 (en) | Sentiment detection in audio data | |
US20210287128A1 (en) | Artificial intelligence server | |
KR20210067442A (ko) | 객체 인식을 위한 자동 레이블링 장치 및 방법 | |
KR20210079060A (ko) | 화자 음성 위조 검사 방법 및 장치 | |
KR20190114938A (ko) | 다국어 커뮤니케이션을 수행하기 위한 장치 및 방법 | |
KR20190094316A (ko) | 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법 | |
US11557292B1 (en) | Speech command verification | |
US10916240B2 (en) | Mobile terminal and method of operating the same | |
US20240071408A1 (en) | Acoustic event detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |