KR20240037791A - 음성 인식을 수행하는 전자 장치 및 이의 제어 방법 - Google Patents
음성 인식을 수행하는 전자 장치 및 이의 제어 방법 Download PDFInfo
- Publication number
- KR20240037791A KR20240037791A KR1020220135926A KR20220135926A KR20240037791A KR 20240037791 A KR20240037791 A KR 20240037791A KR 1020220135926 A KR1020220135926 A KR 1020220135926A KR 20220135926 A KR20220135926 A KR 20220135926A KR 20240037791 A KR20240037791 A KR 20240037791A
- Authority
- KR
- South Korea
- Prior art keywords
- command
- information
- context information
- identified
- electronic device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 62
- 238000010586 diagram Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 9
- 239000000428 dust Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002096 quantum dot Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000001931 thermography Methods 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
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- 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/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
-
- 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/26—Speech to text systems
-
- 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
- G10L17/24—Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
-
- 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
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
-
- 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/225—Feedback of the input speech
-
- 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/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
음성 인식을 수행하는 전자 장치가 개시된다. 전자 장치는, 적어도 하나의 센서, 복수의 명령어 각각에 대응되는 컨텍스트 정보가 저장된 메모리, 마이크 및 마이크를 통해 음성 명령이 수신되면, 음성 명령에 대응되는 텍스트를 획득하고, 메모리에 저장된 복수의 명령어 중 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되면, 식별된 명령어에 대응되는 컨텍스트 정보를 식별하고, 적어도 하나의 센서를 통해 획득된 컨텍스트 정보를 포함하는 현재 컨텍스트 정보가 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 식별된 명령어에 대응되는 제어 신호를 획득하고, 제어 신호에 기초하여 동작을 수행하는 하나 이상의 프로세서를 포함한다.
Description
본 개시는 음성 인식을 수행하는 전자 장치 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 컨텍스트 정보를 이용하여 음성 인식을 수행하는 전자 장치 및 이의 제어 방법에 관한 것이다.
전자 기술의 발달에 힘입어 다양한 유형의 전자 기기가 개발 및 보급되고 있다. 최근에는, 음성 인식 기술을 이용하여 사용자의 음성을 분석하고, 분석된 음성에 기초하여 사용자에게 서비스를 제공하는 전자 장치의 개발이 활발해지고 있다.
일반적으로 전자 장치가 음성 인식을 수행하기 위하여는, 사용자가 호출 키워드(또는, Wake-Up 신호)를 포함하는 음성을 발화해야 하며, 전자 장치는 상술한 호출 키워드를 인식함으로써 음성 인식을 위한 동작을 수행할 수 있다. 다만, 댁 내에서 사용자가 간단한 명령을 내리는 경우(예를 들어, TV 켜줘 또는 전등 켜줘 등)에도 사용자는 일일이 호출 키워드와 명령에 대응되는 음성을 함께 발화해야 하는 불편함이 있다.
이상과 같은 목적을 달성하기 위한 일 실시 예에 따른 음성 인식을 수행하는 전자 장치는, 적어도 하나의 센서, 복수의 명령어 각각에 대응되는 컨텍스트 정보가 저장된 메모리, 마이크 및 상기 마이크를 통해 음성 명령이 수신되면, 상기 음성 명령에 대응되는 텍스트를 획득하는 하나 이상의 프로세서를 포함할 수 있다.
상기 하나 이상의 프로세서는, 상기 메모리에 저장된 상기 복수의 명령어 중 상기 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되면, 상기 식별된 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다.
상기 하나 이상의 프로세서는, 상기 적어도 하나의 센서를 통해 획득된 컨텍스트 정보를 포함하는 현재 컨텍스트 정보가 상기 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 상기 식별된 명령어에 대응되는 제어 신호를 획득할 수 있다.
상기 하나 이상의 프로세서는, 상기 제어 신호에 기초하여 동작을 수행할 수 있다.
이상과 같은 목적을 달성하기 위한 일 실시 예에 따른 음성 인식을 수행하는 전자 장치의 제어 방법은, 음성 명령이 수신되면, 상기 음성 명령에 대응되는 텍스트를 획득하는 단계를 포함할 수 있다.
상기 제어 방법은, 메모리에 저장된 복수의 명령어 중 상기 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되면, 상기 식별된 명령어에 대응되는 컨텍스트 정보를 식별하는 단계를 포함할 수 있다.
상기 제어 방법은, 적어도 하나의 센서를 통해 획득된 컨텍스트 정보를 포함하는 현재 컨텍스트 정보가 상기 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 상기 식별된 명령어에 대응되는 제어 신호를 획득하는 단계를 포함할 수 있다.
상기 제어 방법은, 상기 제어 신호에 기초하여 동작을 수행하는 단계를 포함할 수 있다.
이상과 같은 목적을 달성하기 위한 일 실시 예에 따른 음성 인식을 수행하는 전자 장치의 프로세서에 의해 실행되는 경우 상기 전자 장치가 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 기록 매체에 있어서, 상기 동작은, 음성 명령이 수신되면, 상기 음성 명령에 대응되는 텍스트를 획득하는 단계를 포함할 수 있다.
상기 동작은, 메모리에 저장된 복수의 명령어 중 상기 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되면, 상기 식별된 명령어에 대응되는 컨텍스트 정보를 식별하는 단계를 포함할 수 있다.
상기 동작은, 적어도 하나의 센서를 통해 획득된 컨텍스트 정보를 포함하는 현재 컨텍스트 정보가 상기 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 상기 식별된 명령어에 대응되는 제어 신호를 획득하는 단계를 포함할 수 있다.
상기 동작은, 상기 제어 신호에 기초하여 동작을 수행하는 단계를 포함할 수 있다.
도 1은 일 실시 예에 따른 전자 장치의 제어 방법을 개략적으로 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3은 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시 예에 따른 명령어에 대응되는 제어 신호를 획득하는 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시 예에 따른 명령어 및 컨텍스트 정보를 설명하기 위한 도면이다.
도 6은 일 실시 예에 따른 컨텍스트 정보의 유사도를 식별하는 방법을 설명하기 위한 도면이다.
도 7a는 일 실시 예에 따른 의도 정보에 기초하여 컨텍스트 정보를 식별하는 방법을 설명하기 위한 도면이다.
도 7b는 일 실시 예에 따른 의도 정보에 기초하여 컨텍스트 정보를 식별하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 워드 별 의도 정보에 기초하여 명령어를 식별하는 방법을 설명하기 위한 도면이다.
도 9는 일 실시 예에 따른 제1 음성 인식 모듈을 설명하기 위한 도면이다.
도 10은 일 실시 예에 따른 제2 음성 인식 모듈을 설명하기 위한 도면이다.
도 11은 일 실시 예에 따른 정보의 타입에 대응되는 가중치를 고려하여 유사도를 식별하는 방법을 설명하기 위한 도면이다.
도 12는 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블록도이다.
도 2는 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3은 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시 예에 따른 명령어에 대응되는 제어 신호를 획득하는 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시 예에 따른 명령어 및 컨텍스트 정보를 설명하기 위한 도면이다.
도 6은 일 실시 예에 따른 컨텍스트 정보의 유사도를 식별하는 방법을 설명하기 위한 도면이다.
도 7a는 일 실시 예에 따른 의도 정보에 기초하여 컨텍스트 정보를 식별하는 방법을 설명하기 위한 도면이다.
도 7b는 일 실시 예에 따른 의도 정보에 기초하여 컨텍스트 정보를 식별하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 워드 별 의도 정보에 기초하여 명령어를 식별하는 방법을 설명하기 위한 도면이다.
도 9는 일 실시 예에 따른 제1 음성 인식 모듈을 설명하기 위한 도면이다.
도 10은 일 실시 예에 따른 제2 음성 인식 모듈을 설명하기 위한 도면이다.
도 11은 일 실시 예에 따른 정보의 타입에 대응되는 가중치를 고려하여 유사도를 식별하는 방법을 설명하기 위한 도면이다.
도 12는 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블록도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
도 1은 일 실시 예에 따른 전자 장치의 제어 방법을 개략적으로 설명하기 위한 도면이다.
도 1에 따르면, 일 실시 예에 따라 전자 장치(10)는 사용자(20)로부터 음성 명령이 수신되면, 음성 명령에 대응되는 동작을 수행할 수 있다.
여기서, 전자 장치(10)는 일 예에 따라 음성 인식을 수행할 수 있는 상이한 타입의전자 장치로 구현될 수 있다. 한편, 일 예에 따라 전자 장치(10)는 이동형 로봇으로 구현되어 주행 공간을 주행할 수 있다. 다만, 이에 한정되지 않으며 전자 장치(10)는 예를 들어, 스마트 TV, 태블릿, 모니터, 스마트 폰, 데스크톱 컴퓨터, 랩톱 컴퓨터 등과 같은 다양한 장치로 구현될 수 있다. 본 개시의 일 실시 예에 따른 전자 장치(100)는 상술한 기기에 한정되지 않으며, 전자 장치(100)는 상술한 기기들의 둘 이상의 기능을 갖춘 전자 장치(100)로 구현될 수 있다.
일 예에 따라 전자 장치(10)는 사용자(20)로부터 “하이 로봇, 전등 켜줘”에 대응되는 음성 명령이 수신되는 경우를 상정한다. 호출 키워드인 “하이 로봇”를 포함하는 음성 명령이 수신되면, 전자 장치(10)는 이에 기초하여 전자 장치(10)의 음성 인식 모드를 동작하고, 수신된 음성 명령에 대응되는 동작을 수행할 수 있다.
한편, 사용자(20)는 특정 컨텍스트의 경우 동일한 사용자 명령을 지속적으로 전자 장치(10)에 입력할 수 있다. 예를 들어, 전자 장치(10)는 오후 8시가 되면 “TV 틀어줘”에 대응되는 음성 명령을 반복적으로 수신할 수 있다. 또는, 전자 장치(10)는 오후 11시가 되면 “전등 꺼줘”에 대응되는 음성 명령을 반복적으로 수신할 수도 있다. 또는, 전자 장치(10)가 댁 내 주방에 위치하는 경우 “레시피 추천해줘”에 대응되는 음성 명령을 반복적으로 수신할 수도 있다. 상술한 예와 같이 간단한 음성 명령이 수신되는 경우에도 전자 장치(10)는 호출 키워드가 수신되어야 대응되는 동작을 수행할 수 있으며, 사용자는 간단한 명령을 요청하는 경우에도 일일이 호출 키워드를 입력해야 하는 번거로움이 있다.
이에 따라, 이하에서는 전자 장치 및 사용자 컨텍스트 정보를 이용하여, 별도의 호출 키워드가 입력되지 않은 경우에도 음성 명령이 수신되면 이에 대응되는 동작을 수행하는 다양한 실시 예에 대하여 설명하도록 한다.
도 2는 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 2에 따르면, 전자 장치(100)는 적어도 하나의 센서(110), 메모리(120), 마이크(130) 및 하나 이상의 프로세서(140)를 포함할 수 있다.
적어도 하나의 센서(110, 이하 센서)는 다양한 타입의 복수의 센서를 포함할 수 있다. 센서(110)는 물리량을 계측하거나 전자 장치(100)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서(110)는 카메라를 포함할 수 있으며, 카메라는 오브젝트에 의해 반사되어 수신되는 가시광 기타 광학 신호를 이미지 센서로 포커싱하는 렌즈 및 가시광 기타 광학 신호를 감지할 수 있는 이미지 센서를 포함할 수 있다. 여기서, 이미지 센서는 복수의 픽셀로 구분되는 2D의 픽셀 어레이를 포함할 수 있다.
한편, 일 예에 따른 카메라는 뎁스 카메라(Depth Camera)로 구현될 수 있다. 또한, 일 예에 따라 센서(110)는 라이더(LIDAR, Light Detection And Ranging) 센서 및 TOF(Time of flight) 센서와 같은 거리 센서뿐 아니라 형태를 판독하는 열 화상 센서를 포함할 수 있다.
또한, 일 실시 예에 따라 적어도 하나의 센서(110)는 전자 장치(100)의 작동 상태(예: 전력 또는 온도)뿐 아니라 전자 장치(100)의 외부 환경 상태(예: 주변 온도, 습도 또는 사용자 상태)를 감지할 수 있다. 일 예에 따라, 적어도 하나의 센서(110)는 온도 정보를 획득할 수 있는 온도 센서, 습도 정보를 획득할 수 있는 습도 센서, 제스처 센서, 자이로 센서, 기압 센서, 근접 센서, 생체 센서, 조도 센서 및 전자 장치(100) 주변의 미세 먼지 농도를 산출할 수 있는 미세먼지 센서 중 적어도 하나를 포함할 수 있다. 또한, 일 실시 예에 따라 적어도 하나의 센서(110)는 전자 장치(100)의 움직임을 감지하기 위한 움직임 센서를 포함할 수도 있다.
메모리(120)는 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(120)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위 한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.
한편, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 실시 예에 따라, 메모리(120)에는 복수의 명령어 각각에 대응되는 컨텍스트 정보가 저장되어 있을 수 있다. 일 예에 따라, 메모리(120)에는 복수의 명령어 각각에 대응되는 컨텍스트 정보가 저장되어 있을 수 있다.
여기서, 명령어는 사용자 요청(Intent)에 대응되는 텍스트에 대한 정보를 의미할 수 있으며, 사용자 요청은 사용자 요청은 특정 서비스의 수행을 요청하는 명령을 의미할 수 있다. 예를 들어, 사용자가 “TV 틀어줘”를 입력한 경우, 명령어는 “TV 틀어줘”에 대응되는 텍스트이며, “TV 틀어줘”에 대응되는 사용자 요청은 적어도 하나의 전자 장치 중 TV를 턴-온 시키도록 하는 제어 명령일 수 있다. 다만, 이와 같은 구분은 일 예이며, 시스템 구현 방식에 따라 다양하게 구현될 수 있다.
한편, 컨텍스트 정보는 전자 장치(100)의 컨텍스트 정보뿐 아니라 사용자의 컨텍스트 정보 역시 포함할 수 있다. 이에 대하여는 도 5를 통해 자세히 설명하도록 한다.
마이크(130)는 소리를 획득하여 전기 신호로 변환하는 모듈을 의미할 수 있으며, 콘덴서 마이크, 리본 마이크, 무빙코일 마이크, 압전소자 마이크, 카본 마이크, MEMS(Micro Electro Mechanical System) 마이크일 수 있다. 또한, 무지향성, 양지향성, 단일지향성, 서브 카디오이드(Sub Cardioid), 슈퍼 카디오이드(Super Cardioid), 하이퍼 카디오이드(Hyper Cardioid)의 방식으로 구현될 수 있다.
일 실시 예에 따라 마이크(130)는 음성 명령을 수신할 수 있다. 일 예에 따라 마이크(130)는 음성 명령에 대응되는 소리를 획득하여 이를 오디오 신호로 변환할 수 있다.
하나 이상의 프로세서(140)(이하, 프로세서)는 적어도 하나의 센서(110), 메모리(120) 및 마이크(130)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작을 제어한다. 프로세서(140)는 하나 또는 복수의 프로세서로 구성될 수 있다. 구체적으로, 프로세서(140)는 메모리(120)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 본 개시의 다양한 실시 예에 따른 전자 장치(100)의 동작을 수행할 수 있다.
일 실시 예에 따라 프로세서(140)는 디지털 영상 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), GPU(Graphics Processing Unit), AI(Artificial Intelligence) 프로세서, NPU (Neural Processing Unit), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, ASIC(application specific integrated circuit), FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
일 실시 예에 따라 프로세서(140)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
일 실시 예에 따라, 프로세서(140)는 음성 명령에 대응되는 텍스트를 획득할 수 있다. 일 예에 따라, 프로세서(140)는 마이크(130)를 통해 음성 명령이 수신되면, 수신된 음성 명령에 대응되는 텍스트를 획득할 수 있다. 예를 들어, 프로세서(140)는 사용자로부터 마이크(130)를 통해 “전등 켜줘”에 대응되는 음성 명령이 수신되면, 수신된 “전등 켜줘”에 대응되는 텍스트를 획득할 수 있다.
일 실시 예에 따라, 프로세서(140)는 획득된 텍스트에 기초하여 명령어를 식별할 수 있다. 일 예에 따라, 프로세서(140)는 메모리(120)에 저장된 복수의 명령어 중 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 존재하는지 식별할 수 있다. 예를 들어, 프로세서(140)는 “전등 켜줘”에 대응되는 텍스트가 수신되면, 이를 메모리(120)에 저장된 복수의 명령어와 비교하고, 이에 기초하여 텍스트 간 유사도를 획득할 수 있다. 이 후, 프로세서(140)는 획득된 복수의 명령어 각각에 대응되는 유사도 중 제1 임계 값 이상을 갖는 적어도 하나의 명령어를 식별할 수 있다.
일 예에 따라, 텍스트 간 유사도는 텍스트 각각에 포함된 음소(Phoneme) 간 유사도일 수 있다. 예를 들어, 프로세서(140)는 수신된 텍스트 및 복수의 명령어를 음소 단위로 식별하고, 식별된 텍스트의 음소를 복수의 명령어의 음소와 비교할 수 있다. 프로세서(140)는 명령어에 포함되는 음소 중 식별된 텍스트와 일치하는 음소의 개수의 비율에 기초하여 복수의 명령어 각각의 유사도를 산출할 수 있다. 한편, 이에 대하여는 도 4를 통해 자세히 설명하도록 한다.
일 실시 예에 따라, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여 식별된 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다.
일 예에 따라, 컨텍스트 정보는 전자 장치(100)의 위치 정보, 전자 장치(100)의 상태 정보, 전자 장치(100)의 환경 정보 및 사용자의 컨텍스트 정보를 포함할 수 있다. 이에 따라, 메모리에 저장된 복수의 명령어 각각에 대응되는 상이한 타입의 컨텍스트 정보가 저장되어 있을 수 있다. 프로세서(140)는 복수의 명령어 중 어느 하나가 식별되면, 식별된 명령어에 대응되는 컨텍스트 정보를 메모리(120)에 저장된 정보에 기초하여 식별할 수 있다. 이에 대하여는 도 5를 통해 자세히 설명하도록 한다.
일 실시 예에 따라, 프로세서(140)는 현재 컨텍스트 정보를 획득할 수 있다. 여기서, 일 예에 따라 현재 컨텍스트 정보는 음성 명령이 수신된 시점의 컨텍스트 정보일 수 있으나, 이에 한정되는 것은 아니며 사용자 발화 시점일 수도 있다. 한편, 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 현재 컨텍스트 정보를 획득할 수 있으나, 이에 한정되는 것은 아니며 수신된 음성 명령에 기초하여 현재 컨텍스트 정보를 획득할 수도 있다. 즉, 현재 컨텍스트 정보는 적어도 하나의 센서(110)를 통해 획득된 컨텍스트 정보와 수신된 음성 명령에 기초하여 획득된 컨텍스트 정보를 포함할 수 있다.
일 예에 따라, 전자 장치(100)가 주행 공간을 주행하는 로봇으로 구현되는 경우, 프로세서(140)는 움직임 센서 또는 GPS 센서를 통해 전자 장치(100)의 주행 공간 내 위치에 대한 정보를 획득할 수 있다. 또는, 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)의 상태 정보, 예를 들어 전자 장치(100)의 배터리 잔량에 대한 정보를 획득할 수 있다. 또는, 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)의 환경 정보, 예를 들어 온도, 습도, 조도, 미세먼지 농도 또는 현재 시간 중 적어도 하나에 대한 정보를 획득할 수도 있다. 또는, 일 예에 따라 프로세서(140)는 사용자의 컨텍스트 정보, 예를 들어 사용자 성별, 사용자의 위치에 대한 정보를 획득할 수도 있다. 이에 대하여는 도 5를 통해 자세히 설명하도록 한다.
일 실시 예에 따라, 프로세서(140)는 획득된 현재 컨텍스트 정보와 식별된 명령어에 대응되는 컨텍스트 정보 간 유사도를 식별할 수 있다.
일 예에 따라, 프로세서(140)는 획득된 전자 장치(100)의 위치 정보, 상태 정보, 환경 정보 또는 사용자의 컨텍스트 정보 중 적어도 하나가 획득되면, 획득된 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보와 식별된 명령어에 대응되는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보 각각을 대응되는 타입 별로 비교하고, 이에 기초하여 식별된 명령어에 대응되는 컨텍스트 정보의 유사도를 획득할 수 있다. 여기서, 컨텍스트 정보에 포함된 타입은 예를 들어 전자 장치(100)의 위치, 상태, 환경 또는 사용자 컨텍스트가 될 수 있으나, 이에 한정되는 것은 아니다. 컨텍스트 정보의 유사도를 획득하는 방법에 대하여는 도 6을 통해 자세히 설명하도록 한다.
일 실시 예에 따라, 프로세서(140)는 식별된 유사도에 기초하여 식별된 명령어에 대응되는 제어 신호를 획득하고, 이에 기초하여 동작을 수행할 수 있다.
일 예에 따라, 프로세서(140)는 적어도 하나의 센서(110)를 통해 획득된 컨텍스트 정보와 식별된 명령어에 대응되는 컨텍스트 정보를 타입 별로 비교하여 식별된 명령어에 대응되는 컨텍스트 정보의 유사도를 획득할 수 있다. 프로세서(140)는 식별된 명령어에 대응되는 컨텍스트 정보의 유사도가 제2 임계 값 이상을 가지는 것으로 식별되면, 식별된 명령어에 대응되는 제어 신호를 획득하고, 이에 대응되는 동작을 수행할 수 있다.
도 3은 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 3에 따르면, 일 실시 예에 따라 먼저 제어 방법은 음성 명령이 수신되면, 음성 명령에 대응되는 텍스트를 획득할 수 있다(S310). 일 예에 따라, 프로세서(140)는 마이크(130)를 통해 사용자로부터 별도의 호출 키워드(또는, Wake up 사운드)가 포함되지 않은 음성 명령으로서 “지금 몇 시야?”에 대응되는 음성 명령이 수신되면, 이에 기초하여 “지금 몇 시야?”에 대응되는 텍스트를 획득할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 메모리(120)에 저장된 복수의 명령어 중 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어를 식별할 수 있다(S320). 일 예에 따라 프로세서(140)는 획득된 “지금 몇 시야?”에 대응되는 텍스트와 메모리(120)에 저장된 복수의 명령어를 비교하여, 복수의 명령어 각각에 대응되는 유사도를 획득할 수 있다. 이어서, 프로세서(140)는 획득된 유사도에 기초하여 “지금 몇 시야?”에 대응되는 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어인 “지금 몇 시야?”를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다(S330). 일 예에 따라, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여 식별된 명령어 “지금 몇 시야?”에 대응되는 컨텍스트 정보를 식별할 수 있다.
예를 들어, 식별된 명령어에 대응되는 컨텍스트 정보는 이전에 사용자로부터 “지금 몇 시야?”에 대응되는 음성 명령을 수신한 시점의 전자 장치(100) 및 사용자의 컨텍스트 정보일 수 있다. 즉, 메모리(120)에 저장된 명령어 및 이에 대응되는 컨텍스트 정보는 이전에 사용자로부터 획득된 명령어 및 컨텍스트에 대한 히스토리 정보일 수 있다. 이와 같은 사용자 히스토리에 기초하여 메모리(120)에 저장된 정보를 업데이트하는 방법에 대하여는 도 9 및 도 10을 통해 자세히 설명하도록 한다.
이어서, 일 실시 예에 따라 제어 방법은 획득된 현재 컨텍스트 정보가 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는지 여부를 식별할 수 있다(S340). 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(110) 또는 음성 명령을 통해 획득된 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보 및 음성 명령을 이용하여 획득된 컨텍스트 정보를 포함하는 현재 컨텍스트 정보와, 식별된 명령어에 대응되는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보를 대응되는 타입 별로 비교하여, 식별된 명령어에 대응되는 컨텍스트 정보가 제2 임계 값 이상의 유사도를 갖는지 여부를 식별할 수 있다.
예를 들어, 획득된 현재 컨텍스트 정보가 적어도 하나의 센서(110)를 통해 획득된 현재 시간 정보, 온도 정보, 전자 장치(100)의 위치 정보 및 사용자의 위치 정보를 포함하는 경우, 프로세서(140)는 획득된 현재 컨텍스트 정보에 포함된 현재 시간, 온도, 전자 장치(100)의 위치 및 사용자의 위치 각각에 대한 정보를 식별된 명령어에 대응되는 컨텍스트 정보에 포함된 현재 시간, 온도, 전자 장치(100)의 위치 및 사용자의 위치 각각에 대한 정보와 타입 별로 비교하여 유사도를 획득할 수 있다.
이 경우, 프로세서(140)는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보 중 적어도 일부의 타입의 정보만을 비교하여 유사도를 획득할 수 있다. 또한, 일 예에 따라 메모리(120)에는 복수의 정보 각각의 타입에 대응되는 가중치 값이 저장되어 있을 수 있으며, 가중치 값은 타입에 따라 상이한 값을 가질 수 있음은 물론이다. 한편, 이에 대하여는 도 6을 통해 자세히 설명하도록 한다.
이어서, 일 실시 예에 따라 제어 방법은 획득된 현재 컨텍스트 정보가 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면(Y), 식별된 명령어에 대응되는 제어 신호를 획득할 수 있다. 일 예에 따라, 프로세서(140)는 획득된 현재 컨텍스트 정보가 식별된 명령어 “지금 몇 시야?”에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 식별된 “지금 몇 시야?”에 대응되는 제어 신호로서 현재 시간 검색 명령에 대응되는 제어 신호를 획득할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 제어 신호에 기초하여 동작을 수행할 수 있다(S360). 일 예에 따라, 프로세서(140)는 획득된 현재 시간 검색 명령에 대응되는 제어 신호에 기초하여 현재 시간을 검색하고, 검색된 현재 시간에 대한 정보를 사용자에게 제공할 수 있다.
이에 따라, 전자 장치(100)는 별도의 호출 키워드가 수신되지 않아도 컨텍스트 정보를 이용하여 음성 명령에 대응되는 명령어를 식별하고, 이에 대응되는 동작을 수행할 수 있다. 이에 따라 사용자의 사용 편의성이 증대될 수 있다.
도 4는 일 실시 예에 따른 명령어에 대응되는 제어 신호를 획득하는 방법을 설명하기 위한 흐름도이다.
도 4에 따르면, 먼저 일 실시 예에 따라 제어 방법은 획득된 텍스트를 음소 단위의 제1 정보로 식별할 수 있다(S410). 일 예에 따라 프로세서(140)는 “이금 몇 시야?”에 대응되는 텍스트가 획득되면, 획득된 “이금 몇 시야?”를 음소 단위의 제1 정보로 식별할 수 있다. 제1 정보는 텍스트에 포함된 음소에 대한 정보이며, 여기서 음소에 대한 정보는 텍스트 내 포함된 음소 각각의 순서에 대한 정보 또한 포함될 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 제1 정보를 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보와 비교하여 음소 단위의 유사도를 식별할 수 있다(S420). 일 예에 따라, 메모리(120)에는 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보가 저장되어 있을 수 있다. 프로세서(140)는 획득된 텍스트 “이금 몇 시야?”에 대응되는 제1 정보와 메모리(120)에 저장된 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보를 비교하여, 메모리(120)에 저장된 명령어 각각에 대응되는 음소 단위의 유사도를 식별할 수 있다.
일 예에 따라, 프로세서(140)는 식별된 음소 단위의 제1 정보와 메모리(120)에 저장된 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보를 비교하여, 복수의 명령어 각각에 대응되는 총 음소 개수 중 제1 정보의 음소와 일치하는 음소의 개수에 기초하여 유사도를 식별할 수 있다. 이 경우, 프로세서(140)는 음소의 순서에 기초하여 대응되는 음소를 비교할 수 있다. 예를 들어, 프로세서(140)는 획득된 텍스트에 포함된 “ㅇ”, “ㅣ”, “ㄱ”를 포함하는 복수 개의 음소와 복수의 명령어 각각에 포함된 적어도 하나의 음소를 비교하여, 유사도를 획득할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 음소 단위의 유사도가 제1 임계 값 이상인 적어도 하나의 명령어를 식별할 수 있다(S430). 일 예에 따라, 프로세서(140)는 텍스트에 포함된 음소와 복수의 명령어 각각에 포함된 음소를 비교하여 복수의 명령어 각각에 대응되는 음소 단위의 유사도를 식별할 수 있으며, 복수의 명령어 중 식별된 유사도가 제1 임계 값 이상인 적어도 하나의 명령어를 식별할 수 있다. 예를 들어, 프로세서(140)는 획득된 텍스트 “이금 몇 시야?”와 제1 임계 값 이상의 음소 단위의 유사도를 갖는 명령어로서 “지금 몇 시야?”를 식별할 수 있다. 다만, 상술한 예에 한정되지 않으며 제1 임계 값 이상인 명령어는 복수 개가 될 수 있음은 물론이다.
이어서, 일 실시 예에 따라 제어 방법은 적어도 하나의 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다(S440). 일 예에 따라, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여, 식별된 명령어 “지금 몇 시야?”에 대응되는 컨텍스트 정보, 예를 들어 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보를 획득할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 적어도 하나의 명령어에 대응되는 컨텍스트 정보 중 획득된 현재 컨텍스트 정보와의 유사도가 제2 임계 값 이상인 컨텍스트 정보를 식별할 수 있다(S450). 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(110)를 통해 획득된 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보와 명령어 “지금 몇 시야?”에 대응되는 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보를 대응되는 타입 별로 비교하여 유사도를 획득할 수 있다. 이 후, 프로세서(140)는 획득된 유사도가 제2 임계 값 이상인 컨텍스트 정보를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 컨텍스트 정보에 대응되는 명령어를 식별할 수 있다(S460). 일 예에 따라, 프로세서(140)는 명령어 “지금 몇 시야?”에 대응되는 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보를 포함하는 컨텍스트 정보가 획득된 전자 장치(100)의 상태 정보, 전자 장치(100)의 위치 정보, 발화자 성별 정보 및 사용자 위치 정보를 포함하는 컨텍스트 정보와의 유사도가 제2 임계 값 이상인 것으로 식별되면, 적어도 하나의 명령어 중 “지금 몇 시야?”에 대응되는 명령어를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 명령어에 대응되는 제어 신호를 획득할 수 있다(S470). 일 예에 따라, 프로세서(140)는 식별된 “지금 몇 시야?”에 대응되는 제어 신호로서 현재 시간 검색 명령에 대응되는 제어 신호를 획득할 수 있다.
상술한 예에 따르면, 전자 장치(100)는 획득된 텍스트를 음소 단위로 분석하여 음성 명령에 대응되는 제어 신호를 식별하고, 이에 기초하여 동작을 수행할 수 있게 된다. 이에 따라 전자 장치(100)는 정확도 높은 서비스를 제공할 수 있게 된다.
도 5는 일 실시 예에 따른 명령어 및 컨텍스트 정보를 설명하기 위한 도면이다.
일 실시 예에 따라 메모리(120)에는 복수의 명령어 및 이에 대응되는 컨텍스트 정보가 저장되어 있을 수 있다.
일 예에 따라, 명령어 각각에 대응되는 컨텍스트 정보에는 전자 장치(100)의 위치 정보, 전자 장치(100)의 상태 정보, 전자 장치(100)의 환경 정보 및 사용자의 컨텍스트 정보를 포함할 수 있으나, 이에 한정되는 것은 아니며 명령어에 대응되는 의도 정보 및 우선 순위 정보가 포함될 수도 있다.
한편, 프로세서(140)는 음성 명령이 수신되면, 수신된 음성 명령에 대응되는 명령어를 식별하고, 음성 명령이 수신된 시점을 기준으로 식별된 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다. 프로세서(140)는 식별된 명령어 및 이에 대응되는 컨텍스트 정보를 메모리(120)에 저장할 수 있다.
사용자 등을 통해 전자 장치(100)로 음성 명령이 입력되면, 프로세서(140)는 음성 명령에 대한 명령어 및 컨텍스트 정보를 획득하여 이를 메모리(120)에 저장함으로써 메모리(120)에 저장된 명령어 및 컨텍스트 정보를 업데이트할 수 있게 된다.
한편, 일 예에 따라 전자 장치(100)의 위치 정보는 주행 공간 내 전자 장치(100)의 상대적인 위치에 대한 정보일 수 있다. 또는, 전자 장치(100)의 위치 정보는 주행 공간에 포함된 복수의 서브 공간(예를 들어, 방(Room)) 중 전자 장치(100)가 위치한 서브 공간에 대한 정보일 수도 있다. 전자 장치(100)의 상태 정보는 전자 장치(100)의 배터리 잔량에 대한 정보일 수 있다. 전자 장치(100)의 환경 정보는 전자 장치(100)에 포함된 적어도 하나의 센서(110)로부터 획득된 온도 정보, 습도 정보, 미세 먼지 농도 정보를 포함할 수 있으나 이에 한정되는 것은 아니며, 시간 정보를 포함할 수도 있다. 이 경우, 시간 정보는 날짜 정보를 제외한 시각 정보, 예를 들어 오후 6시, 오전 8시 30분과 같은 시각 정보를 의미할 수 있다.
일 예에 따라 사용자 컨텍스트 정보는 음성 명령이 입력된 경우 입력된 음성 명령에 대응되는 사용자 성별 정보, 사용자의 이동 경로 정보 및 동일한 명령어의 특정 컨텍스트 내에서의 사용 횟수에 대한 정보 중 적어도 하나를 포함할 수 있다.
또한, 일 예에 따라 사용자 컨텍스트 정보는 명령어의 의도 정보 및 이에 대응되는 우선 순위 정보를 포함할 수도 있다. 예를 들어, 명령어의 의도는 제어 명령(command), 구분 불가(unknown) 또는 단순 대화(chitchat) 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다. 의도 정보에 대응되는 우선 순위 정보는 예를 들어, 제어 명령 의도인 경우 제1 우선 순위, 구분 불가 의도인 경우 제2 우선 순위, 단순 대화인 경우 제3 우선 순위가 될 수 있으나, 이에 한정되는 것은 아니다.
한편, 도 5에 따르면, 일 실시 예에 따라 메모리(120)에는 복수의 명령어 및 이에 대응되는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보가 저장되어 있을 수 있다.
여기서, 도 5는 메모리(120)에 저장된 정보를 설명의 편의를 위하여 도식화 한 도면이다. 도 5에서는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보가 순차적으로 나열된 것으로 도시되어 있으나, 이는 설명의 편의를 위한 것으로서 복수의 정보의 순서는 사용자 설정 등에 따라 상이할 수 있음은 물론이다.
일 예에 따라, 메모리(120)에는 복수의 명령어 및 이에 대응되는 컨텍스트 정보가 맵핑된 룩업 테이블(500)이 저장되어 있을 수 있다. 일 예에 따라, 룩업 테이블(500)에는 명령어 “지금 몇 시야?” 및 이에 대응되는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보(510)가 저장되어 있을 수 있다.
예를 들어, 명령어 및 명령어에 대응되는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보(510)는 도면의 좌측을 기준으로 사용 횟수, 전자 장치가 위치한 서브 공간의 타입, 발화자의 성별, 발화 시각, 사용자의 이동 경로, 온도, 습도, 미세 먼지, 의도, 우선 순위, 배터리 잔량 및 명령어에 대한 정보를 포함할 수 있다. 여기서 “90”은 명령어 “지금 몇 시야?” 가 대응되는 컨텍스트 내에서 90회 사용되었음을 의미한다. “ALL”은 주행 공간 내 모든 서브 공간에서 명령어가 수신되었음을 의미한다. “Male”은 발화자의 성별이 남성임을 의미할 수 있다. “12:00”은 발화 시점에 대응되는 시간을 의미한다.
한편, “T201”은 사용자의 이동 경로를 의미한다. 30°는 발화 시점에 대응되는 온도를 의미하며, 여기서 온도는 섭씨 단위(Celsius scale) 또는 화씨 단위(Fahrenheit scale)일 수 있다. “60%”는 발화 시점에 대응되는 습도를 의미하며, “H”는 발화 시점에 대응되는 미세 먼지의 상대적인 농도(예를 들어, H(High), M(Medium) 및 L(Low) 중 적어도 하나)를 의미한다. “Intent-chitchat”은 명령어에 대응되는 의도가 “단순 대화”임을 의미한다. “P10”은 우선 순위를 의미한다. 일 예에 따라 P10은 제3 우선 순위에 대응될 수 있으나, 이에 한정되는 것은 아니다. “B50%”는 발화 시점에 대응되는 전자 장치(100)의 배터리 잔량이 50%임을 의미한다.
일 예에 따라, 룩업 테이블(500)에는 복수의 명령어 및 이에 대응되는 상이한 타입의 복수의 정보를 포함하는 컨텍스트 정보가 맵핑되어 있을 수 있다. 명령어 “지금 몇 시야?” 및 이에 대응되는 컨텍스트 정보(510)가 저장되어 있을 수 있으며, 명령어 “레시피 추천” 및 이에 대응되는 컨텍스트 정보(520) 또한 저장되어 있을 수 있다.
일 실시 예에 따라, 프로세서(140)는 획득된 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되면, 복수의 정보 각각을 명령어에 대응되는 컨텍스트 정보에 포함된 복수의 정보 각각과 비교하여 컨텍스트 정보의 유사도를 식별할 수 있다.
일 예에 따라 프로세서(140)는 먼저 마이크(130)를 통해 “데시피 추천”에 대응되는 음성 명령이 수신되면, “데시피 추천”에 대응되는 텍스트를 획득할 수 있다. 프로세서(140)는 “데시피 추천”에 대응되는 텍스트와 메모리(120)에 저장된 룩업 테이블(500)에 포함된 복수의 명령어를 비교하여 명령어 “레시피 추천” 및 이에 대응되는 컨텍스트 정보(520)를 획득할 수 있다.
이어서, 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 획득된 컨텍스트 정보와 명령어 “레시피 추천”에 대응되는 컨텍스트 정보(520)를 비교하여 유사도를 획득할 수 있다. 다만, 이에 한정되는 것은 아니며 일 예에 따라 프로세서(140)는 수신된 음성 명령을 이용하여 컨텍스트 정보를 획득할 수도 있음은 물론이다. 한편, 유사도를 획득하는 구체적인 방법에 대하여는 하기의 도 6을 통해 자세히 설명하도록 한다.
도 6은 일 실시 예에 따른 컨텍스트 정보의 유사도를 식별하는 방법을 설명하기 위한 도면이다.
도 6에 따르면, 일 실시 예에 따라 프로세서(140)는 현재 컨텍스트 정보를 획득하고, 이에 기초하여 메모리(120)에 저장된 컨텍스트 정보의 유사도를 식별할 수 있다. 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 컨텍스트 정보를 획득할 수 있으나, 이에 한정되는 것은 아니며, 수신된 음성 명령을 이용하여 컨텍스트 정보를 획득할 수도 있다.
일 예에 따라, “전등 켜줘”에 대응되는 음성 명령이 수신되고, 이에 기초하여 명령어 “전등 켜줘” 및 이에 대응되는 컨텍스트 정보(620)가 식별된 경우를 상정한다.
일 예에 따라, 먼저 프로세서(140)는 적어도 하나의 센서(110)를 통해 음성 명령이 수신된 시점의 컨텍스트 정보(610)를 획득할 수 있다. 예를 들어, “전등 켜줘”에 대응되는 음성 명령이 수신된 경우를 상정한다. 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)가 서브 공간 “R2”에 위치함을 식별하고, 발화 시각을 “18:00”로 식별하고, 사용자의 이동 경로를 “T21”로 식별하고, 발화 시점에 대응되는 온도를 21°로 식별하고, 발화 시점에 대응되는 습도를 “60%”로 식별하고, 발화 시점에 대응되는 미세 먼지의 상대적인 농도를 “L”로 식별하고, 발화 시점에 대응되는 전자 장치(100)의 배터리 잔량이 50%임에 따라 배터리 잔량 정보를 “B20%”로 식별할 수 있다. 또한, 프로세서(140)는 수신된 음성 명령을 이용하여 발화자의 성별이 남성임을 식별하여 성별 정보로 “Male”을 획득할 수 있고, 음성 명령에 대응되는 텍스트에 기초하여 사용자의 의도를 제어 명령으로 식별하여 의도 정보로 “Intent-command”를 식별할 수 있다. 또한, 식별된 의도 정보에 대응되는 우선 순위로 “P0”를 식별할 수 있다. 일 예에 따라 “P0”는 제1 우선 순위에 대응될 수 있으나, 이에 한정되는 것은 아니다.
이어서, 일 예에 따라 프로세서(140)는 획득된 현재 컨텍스트 정보(610)에 포함된 상이한 타입의 복수의 정보를 명령어 “전등 켜줘”에 대응되는 컨텍스트 정보(620)에 포함된 상이한 타입의 복수의 정보와 대응되는 타입 별로 비교하여, 유사도를 획득할 수 있다.
예를 들어, 프로세서(140)는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보를 각각 비교하여, 상이한 타입의 복수의 정보 각각에 대응되는 유사도를 획득하고, 획득된 상이한 타입 각각에 대응되는 유사도에 대한 평균 값을 명령어“전등 켜줘”에 대응되는 컨텍스트 정보의 유사도로 식별할 수 있다.
또는, 일 예에 따라 프로세서(140)는 복수의 정보 각각의 타입에 대응되는 가중치를 식별하고, 식별된 가중치에 기초하여 컨텍스트 정보의 유사도를 식별할 수도 있다. 예를 들어, 메모리(120)에는 복수의 정보 각각의 타입에 대응되는 가중치 값이 기 저장되어 있을 수 있다. 프로세서(140)는 현재 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보(610) 및 명령어 “전등 켜줘”에 대응되는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보(620)를 각각 비교하여, 상이한 타입의 복수의 정보(예를 들어, 서브 공간의 위치, 성별, 시각 등) 각각에 대응되는 유사도를 획득하고, 획득된 복수의 정보 각각에 대응되는 유사도에 유사도 각각에 대응되는 가중치 값을 곱하여 “전등 켜줘”에 대응되는 컨텍스트 정보(620)의 유사도를 획득할 수 있다.
도 7a 및 7b는 일 실시 예에 따른 의도 정보에 기초하여 컨텍스트 정보를 식별하는 방법을 설명하기 위한 도면이다.
도 7a 및 7b에 따르면, 일 실시 예에 따라 제어 방법은 유사도가 제1 임계 값 이상인 적어도 하나의 명령어가 존재하는지 식별할 수 있다(S710). 메모리(120)에는 동일한 텍스트의 명령어에 대응되는 복수의 컨텍스트 정보가 저장되어 있을 수 있다. 예를 들어, 명령어 “지금 몇 시야?”에 대응되는 상이한 값을 가지는 복수의 컨텍스트 정보(720 및 730)가 저장되어 있을 수 있다. 일 예에 따라, 프로세서(140)는 “지금 몇 시야?”에 대응되는 음성 명령(710)이 수신된 경우, 메모리(120)에 저장된 룩업 테이블(700)에 기초하여 음성 명령에 대응되는 텍스트와 유사도가 제1 임계 값 이상인 제1 명령어 및 제2 명령어를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 유사도가 제1 임계 값 이상인 적어도 하나의 명령어가 식별되면(Y), 적어도 하나의 명령어 각각에 대응되는 의도 정보를 식별할 수 있다(S720). 일 예에 따라 명령어의 의도는 제어 명령(command), 구분 불가(unknown) 또는 단순 대화(chitchat) 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다. 의도 정보에 대응되는 우선 순위 정보는 예를 들어, 제어 명령 의도인 경우 제1 우선 순위(또는, P0), 구분 불가 의도인 경우 제2 우선 순위(또는, P5), 단순 대화인 경우 제3 우선 순위(또는, P10)가 될 수 있으나, 이에 한정되는 것은 아니다.
일 예에 따라, 프로세서(140)는 메모리(120)에 저장된 명령어 각각에 대응되는 컨텍스트 정보에 기초하여 식별된 제1 명령어 및 제2 명령어 각각에 대응되는 의도 정보를 식별할 수 있다. 예를 들어, 프로세서(140)는 메모리(120)에 저장된 룩업 테이블(700)에 맵핑된 복수의 명령어 각각에 대응되는 컨텍스트 정보 중 식별된 제1 명령어에 대응되는 컨텍스트 정보(720, 또는 제1 컨텍스트 정보) 및 제2 명령어에 대응되는 컨텍스트 정보(730, 또는 제2 컨텍스트 정보)를 식별할 수 있다. 이어서, 프로세서(140)는 식별된 제1 명령어에 대응되는 컨텍스트 정보(720) 및 제2 명령어에 대응되는 컨텍스트 정보(730)에 포함된 의도 정보로 각각 “Intent-chitchat” 및 “Intent-unknown”을 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 의도 정보 각각의 우선 순위에 기초하여 적어도 하나의 명령어 중 하나를 식별할 수 있다(S730). 일 예에 따라, 프로세서(140)는 식별된 제1 명령어에 대응되는 제1 컨텍스트 정보(720) 및 제2 명령어에 대응되는 제2 컨텍스트 정보(730)에 포함된 의도 정보인 “Intent-chitchat” 및 “Intent-unknown” 각각에 대응되는 우선 순위 정보를 “P5” 및 “P10”으로 식별하고, 이 중 우선 순위가 상대적으로 높은 제2 컨텍스트 정보(730)에 대응되는 제2 명령어를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 명령어에 대응되는 컨텍스트 정보를 식별할 수 있다(S740). 일 예에 따라, 프로세서(140)는 제2 명령어에 대응되는 제2 컨텍스트 정보(730)를 식별할 수 있다.
도 8은 일 실시 예에 따른 워드 별 의도 정보에 기초하여 명령어를 식별하는 방법을 설명하기 위한 도면이다.
도 8에 따르면, 일 실시 예에 따라 프로세서(140)는 음성 명령에 대응되는 워드(또는, 텍스트) 및 의도 정보에 기초하여 메모리(120)에 저장된 명령어 중 어느 하나를 식별할 수 있다.
일 예에 따라, 메모리(120)에는 복수의 명령어 각각에 포함된 워드 및 워드 별 의도 정보가 포함된 컨텍스트 정보가 저장되어 있을 수 있다. 예를 들어, 메모리(120)에는 “지금 몇 일이야?”에 대응되는 워드(또는, 텍스트) 및 이에 대응되는 제1 의도 정보인 “Intent-chitchat”이 포함된 제1 컨텍스트 정보(820)가 저장되어 있을 수 있다. 또한, 메모리(120)에는 “지금 몇 시야?”에 대응되는 워드(또는, 텍스트) 및 이에 대응되는 제2 의도 정보인 “Intent-command”가 포함된 제2 컨텍스트 정보(820)가 저장되어 있을 수 있다.
일 예에 따라, 프로세서(140)는 획득된 현재 컨텍스트 정보가 적어도 하나의 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 음성 명령에 대응되는 워드 및 의도 정보를 획득할 수 있다.
예를 들어, 프로세서(140)는 먼저 획득된 텍스트 “지금 몇이야?”와 제1 임계 값 이상의 유사도를 가지는 명령어 “지금 몇 일이야?” 및 “지금 몇 시야?”를 식별할 수 있다. 이어서, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여, 식별된 명령어 중 획득된 현재 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 컨텍스트 정보를 식별할 수 있다. 이 경우, 프로세서(140)는 제1 컨텍스트 정보(820) 및 제2 컨텍스트 정보(830) 각각이 제2 임계 값 이상의 유사도를 갖는 것으로 식별할 수 있다. 이어서, 프로세서(140)는 현재 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 복수의 컨텍스트 정보(820 및 830)가 식별됨에 따라, 음성 명령 “지금 몇시야?”에 대응되는 워드 및 이에 대응되는 의도 정보 “Intent-command”를 획득할 수 있다. 한편, 프로세서(140)는 이와 함께 의도 정보 “Intent-command” 에 대응되는 우선 순위 정보 “P0” 를 포함하는 의도 정보(910)를 획득할 수도 있다. 즉, 프로세서(140)는 의도 정보와 함께 의도 정보에 대응되는 우선 순위 정보가 포함된 복수의 정보(810)를 획득할 수도 있다.
이어서, 일 예에 따라 프로세서(140)는 획득된 워드 및 의도 정보를 메모리(120)에 저장된 복수의 명령어 각각에 대응되는 워드 별 의도 정보와 비교하여 적어도 하나의 명령어 중 어느 하나를 식별할 수 있다. 예를 들어, 프로세서(140)는 획득된 “지금 몇이야?”에 대응되는 의도 정보 “Intent-command”를 제1 컨텍스트 정보(810) 및 제2 컨텍스트 정보(820) 각각에 포함된 의도 정보와 비교하여, 이 중 “지금 몇시야?”에 대응되는 의도 정보 “Intent-command”와 동일한 의도 정보가 포함된 제2 컨텍스트 정보에 대응되는 명령어 “지금 몇 시야?”를 식별할 수 있다.
이에 따라, “지금 몇이야?”와 같이 복수의 명령으로 해석될 수 있는 경우, 전자 장치(100)는 음성 명령에 포함된 사용자의 의도를 이용하여 사용자의 명령을 식별할 수 있게 된다. 이에 따라 전자 장치(100)의 응답 정확도가 향상될 수 있다.
한편, 도 2로 돌아와서, 일 실시 예에 따라 프로세서(140)는 메모리(120)에 저장된 복수의 명령어의 사용 히스토리 또는 우선 순위 중 적어도 하나에 기초하여 복수의 명령어 중 적어도 하나를 메모리(120)에서 삭제할 수도 있다. 일 예에 따라, 프로세서(140)는 복수의 명령어 중 어느 하나의 명령어의 사용 히스토리에 기초하여 사용 횟수가 기 설정된 값 미만인 것으로 식별되면, 식별된 어느 하나의 명령어 및 이에 대응되는 컨텍스트 정보를 메모리(120)에서 삭제할 수 있다. 또는, 프로세서(140)는 복수의 명령어의 우선 순위에 대한 정보에 기초하여, 우선 순위가 상대적으로 가장 낮은 명령어 및 이에 대응되는 컨텍스트 정보를 삭제할 수도 있다.
도 9는 일 실시 예에 따른 제1 음성 인식 모듈을 설명하기 위한 도면이다.
일 실시 예에 따라 프로세서(140)는 제1 음성 인식 모듈을 이용하여 메모리(120)에 저장된 복수의 명령어 중 획득된 텍스트에 대응되는 명령어를 식별할 수 있다.
도 9에 따르면, 일 실시 예에 따라 제1 음성 인식 모듈(900)은 제1 텍스트 획득 모듈(901), 명령어 식별 모듈(902) 및 오인식 패턴 검출 모듈(903)을 포함할 수 있다. 여기서, 제1 음성 인식 모듈(900)은 학습된 신경망 모델로 구현되어 메모리(120)에 기 저장되어 있을 수 있다. 한편, 일 예에 따라 제1 음성 인식 모듈(900)은 워드 단위의 음성에 대응되는 텍스트를 획득하는 모듈일 수 있다.
일 예에 따라, 프로세서(140)는 마이크(130)를 통해 음성 명령이 수신되면(99), 제1 음성 인식 모듈(900)로 수신된 음성 명령을 입력할 수 있다. 제1 음성 인식 모듈(900)은 입력된 음성 명령을 제1 텍스트 획득 모듈(901)로 입력하여 음성 명령에 대응되는 텍스트를 획득할 수 있다.
한편, 일 예에 따라 명령어 식별 모듈(902)은 메모리(120)에 저장된 복수의 명령어 및 이에 대응되는 컨텍스트 정보(920)에 기초하여 획득된 텍스트에 대응되는 명령어를 식별(930)할 수 있다. 예를 들어, 명령어 식별 모듈(902)은 메모리(120)에 저장된 복수의 명령어 중 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되면, 식별된 명령어에 대응되는 컨텍스트 정보를 식별하고, 획득된 현재 컨텍스트 정보가 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 이를 획득된 텍스트에 대응되는 명령어로 식별할 수 있다.
한편, 오인식 패턴 검출 모듈(903)은 메모리(120)에 저장된 복수의 명령어 각각과 기 설정된 값 이상의 유사도를 가지는 텍스트를 식별하거나 명령어와 동일한 명령으로 식별되는 텍스트를 검출(또는, 식별)하는 모듈이다. 일 예에 따라, 오인식 패턴 검출 모듈(90)은 “지금 몇 시야?”와 유사한 텍스트 “지금 몇 기야?”가 입력된 경우, 이를 “지금 몇 시야?”로 식별할 수 있다. 또는, “지금 몇 시야?”와 동일한 명령으로 식별되는 “현재 시간 알려줘”가 입력된 경우, 이를 “현재 시간 알려줘”로 식별할 수도 있다.
한편, 일 예에 따라 프로세서(140)는 오인식 패턴 검출 모듈(903)을 통해 저장된 복수의 명령어 각각과 기 설정된 값 이상의 유사도를 가지는 텍스트에 대응되는 명령어 또는 복수의 명령어 각각과 동일한 명령인 텍스트가 식별되면, 식별된 텍스트에 대한 정보가 포함되도록 메모리(120)를 업데이트할 수 있다.
예를 들어, 프로세서(140)는 제1 명령어의 텍스트와 기 설정된 값 이상의 유사도를 가지는 텍스트를 가지는 명령어가 식별되면, 식별된 명령어가 수신되는 경우 이를 제1 명령어로 식별되도록 하는 정보를 메모리(120)에 저장할 수 있다. 또는, 일 예에 따라 프로세서(140)는 제1 명령어와 동일한 명령으로 식별되는 텍스트를 포함하는 명령어를 식별하고, 식별된 명령어에 대한 정보가 제1 명령어에 대한 정보에 포함되도록 메모리(120)를 업데이트할 수 있다. 프로세서(140)는 식별된 명령어가 수신된 경우, 이를 제1 명령어를 식별할 수 있게 된다.
도 10은 일 실시 예에 따른 제2 음성 인식 모듈을 설명하기 위한 도면이다.
일 실시 예에 따르면, 프로세서(140)는 제2 음성 인식 모듈을 이용하여 사용자의 음성 명령에 대응되는 명령어를 획득하고 획득된 명령어 및 획득된 명령어에 대응되는 컨텍스트 정보를 메모리(120)에 저장할 수 있다. 즉, 제2 음성 인식 모듈은 메모리(120)에 저장된 컨텍스트 정보를 업데이트할 수 있다.
도 10에 따르면, 일 실시 예에 따라 먼저 프로세서(140)는 음성 명령을 수신할 수 있다(1010). 이어서, 일 실시 예에 따라 프로세서(140)는 음성 명령에 호출 키워드가 포함된 경우, 호출 키워드를 식별할 수 있다(1020).
한편, 일 실시 예에 따라 제2 음성 인식 모듈(1000)은 제2 텍스트 획득 모듈(1002) 및 자연어 이해 모듈(1001)을 포함할 수 있다. 여기서, 제2 텍스트 획득 모듈(1002)은 획득된 음성 명령에 대응되는 텍스트를 출력하는 모듈로서, 학습된 신경망 모델로 구현될 수 있다. 한편, 일 예에 따라 제2 텍스트 획득 모듈(1002)은 제1 텍스트 획득 모듈(901)과 상이한 모듈일 수 있으며, 제2 텍스트 획득 모듈(1002)는 대화 단위의 음성을 입력받아 이를 텍스트로 획득할 수 있다.
한편, 자연어 이해 모듈(1001)은 획득된 텍스트를 자연어 이해 알고리즘에 적용하여 사용자의 의도를 포함하는 사용자 요청을 식별할 수 있다. 제2 음성 인식 모듈(1000)은 획득된 텍스트 및 이에 대응되는 사용자의 의도 정보를 포함하는 사용자 요청이 식별되면, 이를 메모리(120)에 저장할 수 있다. 한편, 일 예에 따라 프로세서(140)는 제2 음성 인식 모듈(1000)을 통해 획득된 텍스트 및 이에 대응되는 사용자의 요청과 함께 이에 대응되는 컨텍스트 정보를 획득하여 메모리(120)에 저장할 수 있다. 예를 들어, 프로세서(140)는 음성 명령이 수신되면, 적어도 하나의 센서(110) 또는 수신된 음성 명령에 기초하여 컨텍스트 정보를 획득하고, 제2 음성 인식 모듈(1000)을 통해 수신된 음성 명령에 대응되는 텍스트 및 이에 대응되는 사용자 의도 정보를 획득할 수 있다. 프로세서(140)는 획득된 컨텍스트 정보와 획득된 텍스트 및 이에 대응되는 사용자 의도 정보를 메모리(120)에 저장할 수 있다.
한편, 일 실시 예에 따라 프로세서(140)는 제1 음성 인식 모듈을 이용하여 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되지 않으면, 제2 음성 인식 모듈을 이용하여 음성 명령에 대한 음성 인식을 수행할 수 있다. 일 예에 따라, 프로세서(140)는 제1 음성 인식 모듈(900)을 이용하여 획득된 텍스트와 메모리(120)에 저장된 복수의 명령어 간 유사도를 식별하여 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되지 않으면, 제2 음성 인식 모듈(1000)을 이용하여 음성 명령에 대한 음성 인식을 수행하여 음성 명령에 대응되는 텍스트를 획득할 수 있다. 이어서, 일 예에 따라 프로세서(140)는 제2 음성 인식 모듈(1000)을 이용하여 획득된 텍스트를 메모리(120)에 저장된 정보와 비교하여 제1 임계 값 이상의 유사도를 가지는 명령어를 식별할 수 있다.
도 11은 일 실시 예에 따른 정보의 타입에 대응되는 가중치를 고려하여 유사도를 식별하는 방법을 설명하기 위한 도면이다.
도 11에 따르면, 일 실시 예에 따라 제어 방법은 먼저 획득된 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되는지 여부를 식별할 수 있다(S1110).
이어서, 일 실시 예에 따라 제어 방법은 획득된 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되면(Y), 복수의 정보 각각의 타입에 대응되는 가중치를 식별할 수 있다(S1120). 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)의 상태 정보, 예를 들어 전자 장치(100)의 배터리 잔량에 대한 정보를 획득할 수 있다. 또는, 일 예에 따라 프로세서(140)는 적어도 하나의 센서(110)를 통해 전자 장치(100)의 환경 정보, 예를 들어 온도, 습도, 조도, 미세먼지 농도, 현재 시간 중 적어도 하나에 대한 정보를 획득할 수도 있다. 또는, 일 예에 따라 프로세서(140)는 사용자의 컨텍스트 정보, 예를 들어 사용자 성별, 사용자의 위치에 대한 정보를 획득할 수도 있다. 이 경우, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여 복수의 정보 각각의 타입에 대응되는 가중치를 식별할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 식별된 가중치에 기초하여 컨텍스트 정보의 유사도를 식별할 수 있다(S1130). 일 예에 따라, 프로세서(140)는 메모리(120)에 저장된 정보에 기초하여 복수의 정보 각각에 대응되는 가중치가 식별되면, 현재 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보 및 명령어에 대응되는 컨텍스트 정보에 포함된 상이한 타입의 복수의 정보를 각각 비교하여, 상이한 타입의 복수의 정보(예를 들어, 서브 공간의 위치, 발화자 성별, 발화 시점에 대응되는 시간 등) 각각에 대응되는 유사도를 식별하고, 식별된 복수의 정보 각각에 대응되는 유사도에 유사도 각각에 대응되는 가중치 값을 곱하여 복수의 명령어에 각각에 대응되는 컨텍스트 정보의 유사도를 각각 식별할 수 있다.
도 12는 일 실시 예에 따른 전자 장치의 세부 구성을 나타내는 블록도이다.
도 12에 따르면, 전자 장치(100')는 적어도 하나의 센서(110), 메모리(120), 마이크(130), 하나 이상의 프로세서(140), 스피커(150), 디스플레이(160), 사용자 인터페이스(170), 통신 인터페이스(180)를 포함할 수 있다. 도 13에 도시된 구성 중 도 2에 도시된 구성과 중복된 구성에 대해서는 자세한 설명을 생략하도록 한다.
스피커(150)는, 고음역대 소리 재생을 위한 트위터, 중음역대 소리 재생을 위한 미드레인지, 저음역대 소리 재생을 위한 우퍼, 극저음역대 소리 재생을 위한 서브우퍼, 공진을 제어하기 위한 인클로저, 스피커에 입력되는 전기 신호 주파수를 대역 별로 나누는 크로스오버 네트워크 등으로 이루어질 수 있다.
스피커(150)는, 음향 신호를 전자 장치(100’)의 외부로 출력할 수 있다. 스피커(150)는 멀티미디어 재생, 녹음 재생, 각종 알림음, 음성 메시지 등을 출력할 수 있다. 전자 장치(100’)는 스피커(150)와 같은 오디오 출력 장치를 포함할 수 있으나, 오디오 출력 단자와 같은 출력 장치를 포함할 수 있다. 특히, 스피커(150)는 획득한 정보, 획득한 정보에 기초하여 가공·생산한 정보, 사용자 음성에 대한 응답 결과 또는 동작 결과 등을 음성 형태로 제공할 수 있다.
디스플레이(160)는 자발광 소자를 포함하는 디스플레이 또는, 비자발광 소자 및 백라이트를 포함하는 디스플레이로 구현될 수 있다. 예를 들어, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, LED(Light Emitting Diodes), 마이크로 LED(micro LED), Mini LED, PDP(Plasma Display Panel), QD(Quantum dot) 디스플레이, QLED(Quantum dot light-emitting diodes) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(160) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(160)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 롤러블 디스플레이(rollable display), 3차원 디스플레이(3D display), 복수의 디스플레이 모듈이 물리적으로 연결된 디스플레이 등으로 구현될 수 있다. 프로세서(140)는 상술한 다양한 실시 예에 따라 획득된 출력 영상을 출력하도록 디스플레이(160)를 제어할 수 있다. 여기서, 출력 영상은, 4K 또는 8K 이상의 고해상도 영상일 수 있다.
사용자 인터페이스(170)는 전자 장치(100’)가 사용자와 인터렉션(Interaction)을 수행하기 위한 구성이다. 예를 들어 사용자 인터페이스(170)는 터치 센서, 모션 센서, 버튼, 조그(Jog) 다이얼, 스위치, 마이크 또는 스피커 중 적어도 하나를 포함할 수 있으나 이에 한정되는 것은 아니다.
통신 인터페이스(180)는 다양한 타입의 데이터를 입력 및 출력할 수 있다. 예를 들어 통신 인터페이스(180)는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치(예를 들어, 소스 장치), 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드)와 다양한 타입의 데이터를 송수신할 수 있다.
상술한 다양한 실시 예에 따르면, 전자 장치는 음성 명령이 수신되는 경우, 별도의 호출 키워드가 수신되지 않아도 컨텍스트 정보를 이용하여 음성 명령에 대응되는 명령어를 식별하고, 이에 대응되는 동작을 수행할 수 있다. 이에 따라, 전자 장치는 간단한 동작을 수행하기 위한 사용자 요청에 대응하여 신속한 서비스를 제공할 수 있게 된다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 설치 가능한 어플리케이션 형태로 구현될 수 있다. 또는 상술한 본 개시의 다양한 실시 예들에 따른 방법들은 딥 러닝 기반의 학습된 신경망(또는 심층 학습된 신경망) 즉, 학습 네트워크 모델을 이용하여 수행될 수 있다. 또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다. 또한, 상술한 본 개시의 다양한 실시 예들은 로봇에 구비된 임베디드 서버, 또는 로봇의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 디스플레이 장치(예: 디스플레이 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
전자 장치: 100
적어도 하나의 센서: 110
메모리: 120 마이크: 130
프로세서: 140
메모리: 120 마이크: 130
프로세서: 140
Claims (20)
- 음성 인식을 수행하는 전자 장치에 있어서,
적어도 하나의 센서;
복수의 명령어 각각에 대응되는 컨텍스트 정보가 저장된 메모리;
마이크; 및
상기 마이크를 통해 음성 명령이 수신되면, 상기 음성 명령에 대응되는 텍스트를 획득하고,
상기 메모리에 저장된 상기 복수의 명령어 중 상기 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되면, 상기 식별된 명령어에 대응되는 컨텍스트 정보를 식별하고,
상기 적어도 하나의 센서를 통해 획득된 컨텍스트 정보를 포함하는 현재 컨텍스트 정보가 상기 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 상기 식별된 명령어에 대응되는 제어 신호를 획득하고,
상기 제어 신호에 기초하여 동작을 수행하는 하나 이상의 프로세서;를 포함하는 전자 장치. - 제1항에 있어서,
상기 하나 이상의 프로세서는,
상기 획득된 텍스트를 음소 단위의 제1 정보로 식별하고,
상기 식별된 제1 정보를 상기 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보와 비교하여 음소 단위의 유사도를 식별하고,
상기 음소 단위의 유사도가 상기 제1 임계 값 이상인 적어도 하나의 명령어를 식별하고,
상기 적어도 하나의 명령어에 대응되는 컨텍스트 정보를 식별하는, 전자 장치. - 제2항에 있어서,
상기 하나 이상의 프로세서는,
상기 적어도 하나의 명령어에 대응되는 컨텍스트 정보 중 상기 적어도 하나의 센서를 통해 획득된 컨텍스트 정보를 포함하는 상기 현재 컨텍스트 정보와의 유사도가 상기 제2 임계 값 이상인 컨텍스트 정보를 식별하고,
상기 식별된 컨텍스트 정보에 대응되는 명령어를 식별하고,
상기 식별된 명령어에 대응되는 제어 신호를 획득하는, 전자 장치. - 제1항에 있어서,
상기 컨텍스트 정보는,
상기 전자 장치의 위치 정보, 상기 전자 장치의 상태 정보, 상기 전자 장치의 환경 정보 및 사용자의 컨텍스트 정보 중 적어도 하나를 포함하며,
상기 하나 이상의 프로세서는,
상기 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되면, 상기 복수의 정보 각각을 상기 명령어에 대응되는 컨텍스트 정보에 포함된 복수의 정보 각각과 비교하여 상기 컨텍스트 정보의 유사도를 식별하는, 전자 장치. - 제1항에 있어서,
상기 하나 이상의 프로세서는,
상기 유사도가 상기 제1 임계 값 이상인 적어도 하나의 명령어가 식별되면, 상기 적어도 하나의 명령어 각각에 대응되는 의도 정보를 식별하고,
상기 식별된 의도 정보 각각의 우선 순위에 기초하여 상기 적어도 하나의 명령어 중 하나를 식별하고,
상기 식별된 명령어에 대응되는 컨텍스트 정보를 식별하는, 전자 장치. - 제1항에 있어서,
상기 메모리는,
상기 복수의 명령어 각각에 포함된 텍스트 및 텍스트 별 의도 정보를 저장하며,
상기 하나 이상의 프로세서는,
상기 현재 컨텍스트 정보가 적어도 하나의 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 상기 음성 명령에 대응되는 의도 정보를 획득하고,
상기 획득된 의도 정보를 상기 메모리에 저장된 상기 복수의 명령어 각각에 대응되는 텍스트 별 의도 정보와 비교하여 상기 적어도 하나의 명령어 중 어느 하나를 식별하는, 전자 장치. - 제1항에 있어서,
상기 하나 이상의 프로세서는,
제1 음성 인식 모듈을 이용하여 상기 메모리에 저장된 상기 복수의 명령어 중 상기 획득된 텍스트에 대응되는 명령어를 식별하고,
제2 음성 인식 모듈을 이용하여 사용자의 음성 명령에 대응되는 명령어를 획득하고 상기 획득된 명령어 및 상기 획득된 명령어에 대응되는 컨텍스트 정보를 상기 메모리에 저장하는, 전자 장치. - 제7항에 있어서,
상기 하나 이상의 프로세서는,
상기 제1 음성 인식 모듈을 이용하여 상기 획득된 텍스트와 상기 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되지 않으면, 상기 제2 음성 인식 모듈을 이용하여 상기 음성 명령에 대한 음성 인식을 수행하는, 전자 장치. - 제1항에 있어서,
상기 하나 이상의 프로세서는,
상기 메모리에 저장된 상기 복수의 명령어의 사용 히스토리 또는 우선 순위 중 적어도 하나에 기초하여 상기 복수의 명령어 중 적어도 하나를 상기 메모리에서 삭제하는, 전자 장치. - 제1항에 있어서,
상기 하나 이상의 프로세서는,
상기 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되면, 상기 복수의 정보 각각의 타입에 대응되는 가중치를 식별하고,
상기 식별된 가중치에 기초하여 상기 컨텍스트 정보의 유사도를 식별하는, 전자 장치. - 음성 인식을 수행하는 전자 장치의 제어 방법에 있어서,
음성 명령이 수신되면, 상기 음성 명령에 대응되는 텍스트를 획득하는 단계;
메모리에 저장된 복수의 명령어 중 상기 획득된 텍스트와 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되면, 상기 식별된 명령어에 대응되는 컨텍스트 정보를 식별하는 단계;
적어도 하나의 센서를 통해 획득된 컨텍스트 정보를 포함하는 현재 컨텍스트 정보가 상기 식별된 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 상기 식별된 명령어에 대응되는 제어 신호를 획득하는 단계; 및
상기 제어 신호에 기초하여 동작을 수행하는 단계;를 포함하는, 제어 방법. - 제11항에 있어서,
상기 컨텍스트 정보를 식별하는 단계는,
상기 획득된 텍스트를 음소 단위의 제1 정보로 식별하는 단계;
상기 식별된 제1 정보를 상기 복수의 명령어 각각에 대응되는 음소 단위의 제2 정보와 비교하여 음소 단위의 유사도를 식별하는 단계;
상기 음소 단위의 유사도가 상기 제1 임계 값 이상인 적어도 하나의 명령어를 식별하는 단계; 및
상기 적어도 하나의 명령어에 대응되는 컨텍스트 정보를 식별하는 단계;를 포함하는, 제어 방법. - 제12항에 있어서,
상기 제어 신호를 획득하는 단계는,
상기 적어도 하나의 명령어에 대응되는 컨텍스트 정보 중 상기 적어도 하나의 센서를 통해 획득된 컨텍스트 정보를 포함하는 상기 현재 컨텍스트 정보와의 유사도가 상기 제2 임계 값 이상인 컨텍스트 정보를 식별하는 단계;
상기 식별된 컨텍스트 정보에 대응되는 명령어를 식별하는 단계; 및
상기 식별된 명령어에 대응되는 제어 신호를 획득하는 단계;를 포함하는, 제어 방법. - 제11항에 있어서,
상기 컨텍스트 정보는,
상기 전자 장치의 위치 정보, 상기 전자 장치의 상태 정보, 상기 전자 장치의 환경 정보 및 사용자의 컨텍스트 정보 중 적어도 하나를 포함하며,
상기 제어 방법은,
상기 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되면, 상기 복수의 정보 각각을 상기 명령어에 대응되는 컨텍스트 정보에 포함된 복수의 정보 각각과 비교하여 상기 컨텍스트 정보의 유사도를 식별하는 단계;를 더 포함하는, 제어 방법. - 제11항에 있어서,
상기 컨텍스트 정보를 식별하는 단계는,
상기 유사도가 상기 제1 임계 값 이상인 적어도 하나의 명령어가 식별되면, 상기 적어도 하나의 명령어 각각에 대응되는 의도 정보를 식별하는 단계;
상기 식별된 의도 정보 각각의 우선 순위에 기초하여 상기 적어도 하나의 명령어 중 하나를 식별하는 단계; 및
상기 식별된 명령어에 대응되는 컨텍스트 정보를 식별하는 단계;를 포함하는, 제어 방법. - 제11항에 있어서,
상기 메모리는,
상기 복수의 명령어 각각에 포함된 텍스트 및 텍스트 별 의도 정보를 저장하며,
상기 제어 신호를 획득하는 단계는,
상기 현재 컨텍스트 정보가 적어도 하나의 명령어에 대응되는 컨텍스트 정보와 제2 임계 값 이상의 유사도를 가지는 것으로 식별되면, 상기 음성 명령에 대응되는 의도 정보를 획득하는 단계;
상기 획득된 의도 정보를 상기 메모리에 저장된 상기 복수의 명령어 각각에 대응되는 텍스트 별 의도 정보와 비교하여 상기 적어도 하나의 명령어 중 어느 하나를 식별하는 단계;를 더 포함하는, 제어 방법. - 제11항에 있어서,
제1 음성 인식 모듈을 이용하여 상기 메모리에 저장된 상기 복수의 명령어 중 상기 획득된 텍스트에 대응되는 명령어를 식별하고,
제2 음성 인식 모듈을 이용하여 사용자의 음성 명령에 대응되는 명령어를 획득하고 상기 획득된 명령어 및 상기 획득된 명령어에 대응되는 컨텍스트 정보를 상기 메모리에 저장하는, 제어 방법. - 제17항에 있어서,
상기 제1 음성 인식 모듈을 이용하여 상기 획득된 텍스트와 상기 제1 임계 값 이상의 유사도를 가지는 명령어가 식별되지 않으면, 상기 제2 음성 인식 모듈을 이용하여 상기 음성 명령에 대한 음성 인식을 수행하는, 제어 방법. - 제11항에 있어서,
상기 메모리에 저장된 상기 복수의 명령어의 사용 히스토리 또는 우선 순위 중 적어도 하나에 기초하여 상기 복수의 명령어 중 적어도 하나를 상기 메모리에서 삭제하는 단계;를 더 포함하는, 제어 방법. - 제11항에 있어서,
상기 제어 신호를 획득하는 단계는,
상기 현재 컨텍스트 정보에 상이한 타입의 복수의 정보가 포함되면, 상기 복수의 정보 각각의 타입에 대응되는 가중치를 식별하는 단계; 및
상기 식별된 가중치에 기초하여 상기 컨텍스트 정보의 유사도를 식별하는 단계;를 더 포함하는, 제어 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2023/013137 WO2024058474A1 (ko) | 2022-09-15 | 2023-09-04 | 음성 인식을 수행하는 전자 장치 및 이의 제어 방법 |
US18/384,607 US20240096322A1 (en) | 2022-09-15 | 2023-10-27 | Electronic apparatus performing speech recognition and method for controlling thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220116473 | 2022-09-15 | ||
KR20220116473 | 2022-09-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240037791A true KR20240037791A (ko) | 2024-03-22 |
Family
ID=90481176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220135926A KR20240037791A (ko) | 2022-09-15 | 2022-10-20 | 음성 인식을 수행하는 전자 장치 및 이의 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240037791A (ko) |
-
2022
- 2022-10-20 KR KR1020220135926A patent/KR20240037791A/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11664027B2 (en) | Method of providing voice command and electronic device supporting the same | |
CN109243432B (zh) | 话音处理方法以及支持该话音处理方法的电子设备 | |
US9405377B2 (en) | Trainable sensor-based gesture recognition | |
CN108023934B (zh) | 电子装置及其控制方法 | |
KR102248474B1 (ko) | 음성 명령 제공 방법 및 장치 | |
US20170154246A1 (en) | Apparatus and method for inferring information using a computer network | |
US11024300B2 (en) | Electronic device and control method therefor | |
US20160133257A1 (en) | Method for displaying text and electronic device thereof | |
US9899034B2 (en) | Technologies for robust crying detection using temporal characteristics of acoustic features | |
KR102669100B1 (ko) | 전자 장치 및 그 제어 방법 | |
US20200326832A1 (en) | Electronic device and server for processing user utterances | |
WO2016206646A1 (zh) | 使机器装置产生动作的方法及系统 | |
US11710498B2 (en) | Electronic device and control method therefor | |
US20240355335A1 (en) | Audio signal processing method and apparatus, device and storage medium | |
KR20240037791A (ko) | 음성 인식을 수행하는 전자 장치 및 이의 제어 방법 | |
KR20200021409A (ko) | 전자 장치 및 그 제어 방법 | |
US20240096322A1 (en) | Electronic apparatus performing speech recognition and method for controlling thereof | |
US11386304B2 (en) | Electronic device and method of controlling the same | |
KR20210076716A (ko) | 전자 장치 및 이의 제어 방법 | |
WO2024058474A1 (ko) | 음성 인식을 수행하는 전자 장치 및 이의 제어 방법 | |
KR20200081274A (ko) | 음성을 인식하는 장치 및 방법 | |
KR20240056194A (ko) | 전자 장치 및 이의 제어 방법 | |
US20240242715A1 (en) | Method of determining false rejection and electronic device for performing the same | |
EP4325484A1 (en) | Electronic device and control method thereof | |
US20230005477A1 (en) | Electronic apparatus and controlling method thereof |