KR20190114321A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20190114321A
KR20190114321A KR1020180036850A KR20180036850A KR20190114321A KR 20190114321 A KR20190114321 A KR 20190114321A KR 1020180036850 A KR1020180036850 A KR 1020180036850A KR 20180036850 A KR20180036850 A KR 20180036850A KR 20190114321 A KR20190114321 A KR 20190114321A
Authority
KR
South Korea
Prior art keywords
domain
voice
keyword
user
electronic device
Prior art date
Application number
KR1020180036850A
Other languages
English (en)
Inventor
권재성
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180036850A priority Critical patent/KR20190114321A/ko
Priority to PCT/KR2019/002672 priority patent/WO2019190073A1/en
Priority to US16/295,061 priority patent/US11145303B2/en
Publication of KR20190114321A publication Critical patent/KR20190114321A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Abstract

전자 장치 및 그의 제어 방법이 제공된다. 본 전자 장치는 음성 입력부, 통신부, 복수의 도메인 각각에 대한 적어도 하나의 키워드가 저장된 저장부 및 음성 입력부를 통해 입력된 사용자의 음성에서 키워드를 획득하고, 획득된 키워드와 저장부에 저장된 키워드를 비교한 결과를 기초로 획득된 키워드와 관련된 도메인을 식별하고, 식별된 도메인을 기반으로 한 엔진을 통해 사용자의 음성에 대한 음성 인식이 수행되도록 한다. 상기 저장부 및 엔진의 학습 방법 중 적어도 일부는 인공 지능 알고리즘으로서, 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 수행될 수 있다.

Description

전자 장치 및 그 제어 방법 { ELECTRONIC DEVICE AND CONTROL METHOD THEREOF }
본 발명은 전자 장치 및 그 제어 방법에 관한 것으로, 보다 상세하게는 사용자의 음성을 입력 받는 전자 장치 및 그 제어 방법에 관한 것이다.
음성인식기술은 장치가 사람의 음성을 인식하고 인식한 사람의 음성에서 언어적 의미의 내용을 식별하는 기술을 의미한다. 최근 음성인식 기술이 발전하면서, 개별 장치만 사용하는 환경에서 음성인식 기술은 상용 가능한 수준으로 향상되었다.
한편, 최근 전자기술의 발달에 따라, 사용자 주위의 전자 장치가 하나의 네트워크를 구성하여 서로 정보를 주고 받는 사물인터넷(IoT)이 가능해지고 있다. 이에 따라, 음성인식 기술을 사물인터넷 환경에 적용하려는 시도가 증가하고 있다. 하지만 개별 장치에 특화된 음성인식 엔진은 이종 장치의 기능을 실행하기 위한 사용자의 발화를 인식하는데 어려움이 있다.
이에 따라, 이종 장치에 대하여 음성인식을 실행하는 장치 독립적인 음성인식 모델(general model)이 개발되었다. 이러한 장치 독립적인 음성인식 모델은 다양한 장치의 기능을 실행하기 위한 사용자의 발화를 지원할 수 있지만, 개별 장치에서의 성능 열화가 발생할 수 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 사용자의 음성에 포함된 키워드를 획득하여 획득한 키워드에 대응되는 도메인을 식별하고, 식별된 도메인을 기반으로 한 음성인식 엔진을 통해 사용자 음성에 대한 음성 인식이 수행되도록 하는 전자 장치 및 그의 제어 방법을 제공함에 있다.
이상과 같은 문제점을 해결하기 위한 본 발명의 일 실시 예에 따른 전자 장치는 음성 입력부, 통신부, 복수의 도메인 각각에 대한 적어도 하나의 키워드가 저장된 저장부 및 상기 음성 입력부를 통해 입력된 사용자의 음성에서 키워드를 획득하고, 상기 획득된 키워드와 상기 저장부에 저장된 키워드를 비교한 결과를 기초로 상기 획독된 키워드와 관련된 도메인을 식별하고, 상기 식별된 도메인을 기반으로 한 엔진을 통해 상기 사용자의 음성에 대한 음성 인식이 수행되도록 하는 프로세서를 포함한다.
그리고, 상기 프로세서는, 상기 복수의 도메인 각각에 대한 적어도 하나의 키워드와 매칭되는 단어를 상기 사용자의 음성에서 키워드로 획득할 수 있다.
또한, 상기 프로세서는, 상기 복수의 도메인 중에서 상기 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인을 상기 획득된 키워드와 관련된 도메인으로 식별할 수 있다.
그리고, 상기 프로세서는, 상기 획득된 키워드와 매칭되는 키워드가 존재하는 정도 및 도메인별로 설정된 우선 순위 중 적어도 하나에 기초하여 상기 획득된 키워드와 관련된 도메인을 식별할 수 있다.
여기에서, 상기 프로세서는, 상기 복수의 도메인 중에서 상기 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인이 복수 개 존재하는 경우, 상기 매칭되는 키워드의 개수가 가장 많은 복수의 도메인에 설정된 우선 순위에 따라 상기 우선 순위가 가장 높은 도메인을 상기 획득된 키워드와 관련된 도메인으로 식별할 수 있다.
또한, 상기 우선 순위는, 상기 사용자의 음성이 입력된 전자 장치에 기초하여 결정될 수 있다.
그리고, 상기 프로세서는, 상기 식별된 도메인이 상기 전자 장치에 대응되는 경우, 상기 식별된 도메인을 기반으로 한 전자 장치의 엔진을 이용하여 상기 사용자의 음성에 대한 음성 인식을 수행하고, 상기 식별된 도메인이 외부 장치에 대응되는 경우, 상기 통신부를 통해 상기 식별된 도메인을 기반으로 한 외부 장치의 엔진으로 상기 사용자의 음성을 전송할 수 있다.
또한, 상기 프로세서는, 상기 사용자의 음성이 입력되면, 상기 전자 장치에 대응되는 도메인을 기반으로 한 엔진을 이용하여 음성 인식을 수행하고, 상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하는지 여부에 기초하여 상기 수행된 음성 인식 결과의 이용 여부를 결정할 수 있다.
여기에서, 상기 프로세서는, 상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하는 경우, 상기 수행된 음성 인식 결과를 이용하고, 상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하지 않는 경우, 상기 통신부를 통해 상기 식별된 도메인에 대응되는 외부 장치의 엔진으로 상기 사용자의 음성을 전송할 수 있다.
또한, 상기 외부 장치는 상기 복수의 도메인 중에서 특정한 도메인의 엔진을 이용하여 음성 인식을 수행할 수 있다.
한편, 상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른, 전자 장치를 제어하는 방법은, 전자 장치에 입력된 사용자의 음성에서 키워드를 획득하는 단계; 상기 획득된 키워드와 상기 전자 장치에 저장된 키워드를 비교하는 단계; 상기 비교한 결과를 기초로 상기 획득된 키워드와 관련된 도메인을 식별하는 단계; 및 상기 식별된 도메인을 기반으로 한 엔진을 통해 상기 사용자의 음성에 대한 음성 인식이 수행되도록 하는 단계;를 포함한다.
그리고, 상기 키워드를 획득하는 단계는, 상기 복수의 도메인 각각에 대한 적어도 하나의 키워드와 매칭되는 단어를 상기 사용자의 음성에서 키워드로 획득하는 단계일 수 있다.
또한, 상기 도메인을 식별하는 단계는, 상기 복수의 도메인 중에서 상기 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인을 상기 획득된 키워드와 관련된 도메인으로 식별하는 단계일 수 있다.
그리고, 상기 도메인을 식별하는 단계는, 상기 획득된 키워드와 매칭되는 키워드가 존재하는 정도 및 도메인별로 설정된 우선 순위 중 적어도 하나에 기초하여 상기 획득된 키워드와 관련된 도메인을 식별할 수 있다.
또한, 상기 도메인을 식별하는 단계는, 상기 복수의 도메인 중에서 상기 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인이 복수 개 존재하는 경우, 상기 매칭되는 키워드의 개수가 가장 많은 복수의 도메인에 설정된 상기 우선 순위에 따라 우선 순위가 가장 높은 도메인을 상기 획득된 키워드와 관련된 도메인으로 식별하는 단계일 수 있다.
여기에서, 상기 우선 순위는, 상기 사용자의 음성이 입력된 전자 장치에 기초하여 결정될 수 있다.
그리고, 상기 음성 인식이 수행되도록 하는 단계는, 상기 식별된 도메인이 상기 전자 장치에 대응되는 경우, 상기 식별된 도메인을 기반으로 한 전자 장치의 엔진을 이용하여 상기 사용자의 음성에 대한 음성 인식을 수행하고, 상기 식별된 도메인이 외부 장치에 대응되는 경우, 상기 통신부를 통해 상기 식별된 도메인을 기반으로 한 외부 장치의 엔진으로 상기 사용자의 음성을 전송하는 단계일 수 있다.
또한, 상기 음성 인식이 수행되도록 하는 단계는, 상기 사용자의 음성이 입력되면, 상기 전자 장치에 대응되는 도메인을 기반으로 한 엔진을 이용하여 음성 인식을 수행하는 단계 및 상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하는지 여부에 기초하여 상기 수행된 음성 인식 결과의 이용 여부를 결정하는 단계;를 포함할 수 있다.
상기 음성 인식이 수행되도록 하는 단계는, 상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하는 경우, 상기 수행된 음성 인식 결과를 이용하고, 상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하지 않는 경우, 상기 통신부를 통해 상기 식별된 도메인에 대응되는 외부 장치의 엔진으로 상기 사용자의 음성을 전송하는 단계;를 포함할 수 있다.
그리고, 상기 외부 장치는, 상기 복수의 도메인 중에서 특정한 도메인의 엔진을 이용하여 음성 인식을 수행할 수 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 본 전자 장치는 개별 도메인 데이터로 학습하여 개별 전자 장치에 특화된 음성인식 엔진을 사용하면서도 이종 장치의 음성인식이 가능하게 한다. 이에 따라, 사물인터넷 환경에서 음성인식 전자 장치를 사용하는 사용자의 편의가 증가하게 된다.
도 1은 본 발명의 일 실시 예에 따른 전자 장치 시스템을 설명하기 위한 도면,
도 2는 본 발명의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 3은 본 발명의 일 실시 예에 따른 사용자 음성에 대응하는 전자 장치를 식별하는 과정을 설명하기 위한 도면,
도 4은 본 발명의 일 실시 예에 따른 키워드 저장부 및 키워드 획득 방법을 설명하기 위한 도면,
도 5는 본 발명의 일 실시 예에 따른 도메인 식별 방법을 설명하기 위한 도면,
도 6은 본 발명의 또 다른 일 실시 예에 따른 사용자 음성에 대응하는 도메인을 식별하는 과정을 설명하기 위한 도면 및
도 7은 본 발명의 일 실시 예에 따른 전자 장치가 음성 신호를 수신하는 전자 장치를 결정하는 방법을 설명하기 위한 흐름도이다.
본 명세서에서 사용되는 용어는 본 발명의 다양한 실시 예들의 특징을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 명세서 전반에 걸친 내용 및 일반적인 상식을 토대로 정의되어야 한다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
본 명세서에서는 다양한 구성요소들을 지칭하기 위하여 제 1, 제2 등의 용어를 사용할 수도 있다. 이러한 용어들은 구성요소들의 순서나 특징, 개수 등을 한정하기 위한 용어가 아니며, 구성요소들을 서로 구별하기 위한 목적으로만 사용된다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함한다" 또는 "구성된다"라고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 ““...부", "모듈"은 특정한 하드웨어로 구현될 필요가 있는 ““...부", "모듈"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 도면을 참조하여 본 발명의 다양한 실시 예들에 대하여 구체적으로 설명하도록 한다.
도 1은 본 발명의 일 실시 예에 따른 전자 장치 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 전자 장치 시스템은 전자 장치(100) 및 적어도 하나의 외부 전자 장치(200 내지 700)을 포함한다.
전자 장치(100 내지 700)는 네트워크를 통해 서로 통신 연결될 수 있다.
예를 들어, 전자 장치(100) 및 적어도 하나의 외부 전자 장치(200 내지 700)는 다양한 통신 네트워크를 이용하여 D2D(device to device) 통신 방식으로 통신을 수행할 수 있다. 뿐만 아니라, 전자 장치(100) 및 적어도 하나의 외부 전자 장치(200 내지 700)는 서버(미도시)를 통해 통신을 수행할 수 있다. 이 경우, 전자 장치(100) 및 적어도 하나의 외부 전자 장치(200 내지 700)는 게이트웨이(미도시)를 통해 서버(미도시)와 통신을 수행할 수도 있다.
이에 따라, 전자 장치(100 내지 700)는 다양한 데이터를 송수신할 수 있다.
한편, 전자 장치(100 내지 700)는 음성 인식을 수행할 수 있다.
구체적으로, 전자 장치(100 내지 700)는 사용자가 발화한 음성을 수신하고, 전자 장치(100 내지 700)에 저장된 음성 인식 엔진을 통해 사용자의 음성에 대한 음성 인식을 수행할 수 있다.
여기에서, 음성 인식 엔진은 사용자의 음성을 텍스트로 변환하기 위한 ASR(Automatic Speech Recognition) 엔진과 ASR 엔진의 인식 결과로부터 사용자 발화의 의미를 추출하기 위한 NLU(Natural Language Understanding) 엔진을 포함할 수 있다. 이 경우, ASR 엔진과 NLU 엔진은 각각 음성 인식 모델과 언어 이해 모델을 이용하여 음성 신호를 처리할 수 있다.
이와 같이, 전자 장치(100 내지 700)는 음성 처리 엔진을 이용하여 자체적으로 음성 인식을 수행할 수 있다.
이 경우, 전자 장치(100 내지 700) 각각은 자신에 대응되는 도메인에 기반한 음성 인식 엔진을 통해 음성 인식을 수행할 수 있다.
예를 들어, 전자 장치(100)가 스마트폰으로 구현되는 경우, 전자 장치(100)는 전화 걸기, 전화 받기, 인터넷 검색 등과 같은 스마트폰에서 제공 가능한 다양한 서비스와 관련된 도메인을 가질 수 있고, 외부 전자 장치(200)가 TV로 구현되는 경우, 외부 전자 장치(200)는 방송 채널 정보 제공, 방송 컨텐츠 검색 등과 같은 TV에서 제공 가능한 다양한 서비스와 관련된 도메인을 가질 수 있다.
이와 같이, 전자 장치(100 내지 700)는 각각 자신이 지원하는 서비스에 특화된 도메인에 기반한 음성 인식 엔진을 통해 음성 인식을 수행할 수 있다. 이를 위해, 전자 장치(100 내지 700)는 음성 인식 동작을 위해 필요한 각종 데이터들이 저장된 데이터베이스를 포함할 수 있으며, 데이터베이스에는 음성 인식 동작 중에 참조할 데이터, 가령, 코퍼스(corpus), 언어 사전 등의 데이터가 저장될 수 있다.
한편, 상술한 예에서는 전자 장치(100 내지 700)가 자체적으로 음성 인식을 수행하는 것으로 설명하였으나, 이는 일 예에 불과하며, 전자 장치(100 내지 700)는 자신과 연결된 음성 인식 서버(미도시)를 통해 음성 인식을 수행할 수도 있다.
이 경우, 음성 인식 엔진은 음성 인식 서버(미도시)에 구비될 수 있다.
구체적으로, 전자 장치(100 내지 700)는 사용자가 발화한 음성이 수신되면, 수신된 음성을 음성 인식 서버(미도시)로 전송하고, 음성 인식 서버(미도시)로부터 음성 인식 결과를 수신받을 수 있다.
이 경우, 음성 인식 서버(미도시)는 전자 장치(100 내지 700) 별로 별도로 마련될 수 있으며, 각 음성 인식 서버(미도시)는 각 전자 장치에 대응되는 도메인에 기반한 음성 인식 엔진을 이용하여, 각 전자 장치로부터 수신된 음성에 대한 음성 인식을 수행할 수 있다.
한편, 전자 장치(100 내지 700)는 공통된 하나의 음성 인식 서버(미도시)를 이용할 수도 있다. 이 경우, 음성 인식 서버(미도시)는 각 전자 장치 별로 그에 대응되는 도메인에 기반한 음성 인식 엔진을 포함할 수 있으며, 음성 인식 서버(미도시)는 전자 장치(100)로부터 사용자의 음성이 수신되면, 사용자의 음성을 전송한 전자 장치에 대응되는 도메인에 기반한 음성 인식 엔진을 이용하여 음성 인식을 수행할 수 있다.
이와 같이, 본 개시의 일 실시 예에 따르면, 전자 장치 각각에 특화된 도메인에 기반하여 음성 인식이 수행될 수 있다.
한편, 사용자는 하나의 전자 장치(100)를 사용하고 있다가, 전자 장치 및 외부 전자 장치(100 내지 700)의 기능을 이용하기를 원할 때, 사용 중인 전자 장치(100)에 이용하고자 하는 전자 장치(100 내지 700)의 기능을 음성으로 입력할 수 있다.
즉, 전자 장치(100)는 전자 장치(100 내지 700)를 제어하기 위한 사용자의 음성을 수신할 수 있다. 이 경우, 전자 장치(100)는 사용자가 제어하고자 하는 전자 장치(100 내지 700)가 사용자의 음성을 음성 인식할 수 있도록, 사용자가 제어하고자 하는 전자 장치(100 내지 700)에 대응되는 도메인을 식별하고, 해당 도메인에 기반한 음성 인식 엔진으로 사용자의 음성 신호를 전달할 수 있다.
이를 위하여, 전자 장치는 키워드 추출(Keyword spotting, KWS) 엔진을 구비할 수 있다.
키워드 추출 엔진은 음성 인식 엔진의 한 형태로, 사용자의 음성을 인식하여 사용자의 음성에서 키워드를 검출할 수 있다.
이때, 키워드는 전자 장치에 대응되는 도메인을 식별할 수 있을 정도로 특정 도메인에 특화된 단어를 의미한다. 가령, TV 도메인의 경우, TV가 제공하는 서비스와 관련된 방송, 영상, 채널, 볼륨 등이 키워드가 될 수 있고, 스마트폰 도메인의 경우, 스마트폰이 제공하는 서비스와 관련된 전화, 문자, 번호 등이 키워드가 될 수 있다.
키워드 추출 엔진은 수신된 사용자의 음성 신호를 텍스트로 변환하고, 변환된 텍스트로부터 키워드를 추출할 수 있다.
한편, 사용자가 발화한 음성에 포함된 키워드를 검출한 후, 전자 장치(100)는 검출된 키워드를 이용하여 사용자의 음성에 대응되는 도메인을 식별하고, 식별된 전자 장치(100 내지 700)의 도메인에 기반한 음성 인식 엔진에 사용자의 음성 신호를 전송할 수 있다.
여기에서, 사용자의 음성에 대응되는 도메인은, 전자 장치(100)에 입력된 사용자의 음성이 최종적으로 전달되어 사용자의 음성을 인식하고 사용자의 음성에 따른 기능을 수행하는 전자 장치(100 내지 700)의 도메인을 의미한다.
예를 들어, 사용자가 스마트폰에 ““로봇 청소기가 거실을 청소하게 해줘””라고 발화한 경우, 사용자의 음성 신호가 스마트폰을 통하여 로봇 청소기에 전달되고, 로봇 청소기의 음성 인식 엔진이 사용자의 음성을 인식하여 그에 따른 거실 청소 기능을 수행하게 된다는 점에서, 로봇 청소기 도메인이 사용자의 음성에 대응되는 도메인이 될 수 있다.
이와 같이, 사용자의 음성에 대응되는 도메인이 사용자의 음성을 음성 인식함에 따라, 사용자의 음성에 대한 인식률이 높아지고, 사용자는 자신이 원하는 장치를 용이하게 제어할 수 있게 된다.
한편, 도 1 에는 사용자의 음성을 입력 받는 전자 장치(100)로 스마트폰이 도시되어 있으나, 반드시 이에 국한되는 것은 아니다. 예를 들어, 디스플레이가 없고 간단한 LED 표시부만 있는 셋탑 박스(Set-top box) 또는 디스플레이부를 구비하고 있어 영상을 제공할 수 있는 전자 장치 등도 도 1의 사용자의 음성을 입력 받는 전자 장치가 될 수 있다.
또는, 리모컨 등과 같이 외부 전자 장치(200 내지 700)를 제어하기 위한 원격 제어 장치가 도 1의 사용자의 음성을 입력 받는 전자 장치(100)가 될 수 있다. 이때, 원격 제어 장치는 사용자로부터 음성을 수신하여 사용자의 음성에 대응되는 도메인을 식별하고, 식별된 전자 장치(200 내지 700)의 도메인에 기반한 음성 인식 엔진에 사용자의 음성 신호를 전달할 수 있다.
한편, 원격 제어 장치가 사용자의 음성에 대응되는 도메인을 식별하지 못하는 경우, 원격 제어 장치는 수신한 사용자의 음성을 외부 전자 장치(200 내지 700) 중 하나에 전달할 수 있다. 이 경우, 외부 전자 장치(200 내지 700) 중 원격 제어 장치로부터 사용자의 음성을 수신한 외부 전자 장치(200 내지 700)는 원격 제어 장치로부터 수신한 사용자의 음성에 대응되는 도메인을 식별하고, 식별된 외부 전자 장치(200 내지 700)에 대응되는 도메인에 기반한 음성 인식 엔진에 사용자의 음성 신호를 전달할 수 있다.
외부 전자 장치(200 내지 700)은 TV(200), 스마트폰(300), 오디오 시스템(400), 로봇 청소기(500), 세탁기(600) 및 셋탑 박스(Set-top box)(700)가 될 수 있다.
외부 전자 장치(200 내지 700)은 전자 장치(100)로부터 사용자 음성을 비롯한 데이터를 수신할 수 있을 뿐 아니라, 전자 장치(100)로 데이터를 전송할 수 있다. 가령, 외부 전자 장치(200 내지 700)는 전자 장치(100)로 사용자 음성을 수신한 피드백을 전송할 수도 있고, 사용자 음성에 따라 외부 전자 장치(200 내지 700)을 제어한 결과를 전자 장치(100)에 전송할 수도 있다. 한편, 이는 일 실시예에 불과하며, 외부 전자 장치(200 내지 700)은 전자 장치(100)로 다양한 데이터를 전송할 수 있다.
한편, 외부 전자 장치(200 내지 700)는 다른 외부 전자 장치(200 내지 700)에 사용자 음성을 전달할 수도 있다.
특히, 외부 전자 장치가 디스플레이가 없는 셋탑 박스인 경우, 셋탑 박스(700)는 외부 디스플레이 장치(미도시)로 영상 신호를 전송할 수 있으며, 셋탑 박스700)로부터 영상 신호를 수신한 외부 디스플레이 장치(미도시)가 영상 신호에 대응되는 컨텐츠 화면을 디스플레이 할 수 있다. 이를 위하여, 셋탑 박스(700)는 외부 디스플레이 장치(미도시)로 비디오 또는 오디오 신호를 출력하기 위한 HDMI, DP, 썬더볼트(Thunderbolt) 등의 유선 인터페이스 또는 Bluetooth 등의 무선 인터페이스를 포함할 수 있다.
한편, 도 1 에서는 외부 전자 장치(200 내지 700)로 TV(200), 스마트폰(300), 오디오 시스템(400), 로봇 청소기(500), 세탁기(600) 및 셋탑 박스(700)가 도시되어 있으나, 반드시 이에 한하는 것은 아니며, PC, 노트북, 태블릿 PC, 에어컨, 냉장고, OTT(Over The Top) 등 사용자가 이용할 수 있는 다양한 전자 장치가 포함될 수 있다. 한편, 본원의 전자 장치(100)는 사용자로부터 음성을 수신하여, 사용자의 음성에 대응되는 전자 장치(100 내지 700)에 사용자의 음성을 전달할 뿐만 아니라, 전자 장치(100 내지 700)를 직접 제어할 수 있음은 물론이다.
예를 들면, 전자 장치(100)가 스마트폰으로 구현되고 스마트폰에 TV, 세탁기, 로봇 청소기 등과 같은 외부 전자 장치(200 내지 700)를 제어하기 위한 어플리케이션을 설치하는 경우, 스마트폰은 외부 전자 장치(200 내지 700)를 제어할 수 있다.
이때, 외부 전자 장치(200 내지 700) 각각을 제어하는 어플리케이션이 외부 전자 장치(200 내지 700)에 따라 전자 장치(100)에 개별적으로 설치될 수도 있으나, 외부 전자 장치(200 내지 700)을 통합적으로 제어하는 통합 어플리케이션이 전자 장치(100)에 설치될 수 있음은 물론이다.
이러한 경우, 전자 장치(100)는 사용자의 음성을 수신하고 이를 음성 인식하여 음성 인식한 결과인 제어 신호를 외부 전자 장치(200 내지 700)에 전송할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 2에 도시된 바와 같이, 전자 장치(100)는 음성 입력부(110), 통신부(120), 저장부(130) 및 프로세서(140)를 포함한다.
음성 입력부(110)는 사용자가 발화한 음성을 수신한다.
이를 위해, 음성 입력부(110)는 마이크(미도시)를 포함할 수 있다. 이 경우, 마이크(미도시)는 음성 입력부(110)에 일체화된 일체형으로 형성될 수 있다.
이 경우, 음성 입력부(110)는 마이크(미도시)를 통해 수신된 아날로그 형태의 사용자 음성을 디지털 신호로 변환하고, 디지털 형태의 음성 신호를 프로세서(140)로 전송할 수 있다.
이를 위해, 음성 입력부(110)는 마이크(미도시)를 통해 수신된 아날로그 형태의 사용자 음성을 증폭하기 위한 앰프 회로(미도시), 증폭된 사용자 음성을 샘플링하여 디지털 신호로 변환하는 A/D 변환회로(미도시), 변환된 디지털 신호로부터 노이즈 성분을 제거하는 필터 회로(미도시) 등과 같은 다양한 구성요소를 더 포함할 수 있다.
구체적으로, 마이크(미도시)는 사용자 음성이 포함된 아날로그 형태의 오디오 신호를 입력받을 수 있다.
그리고, ADC(미도시)는 마이크로부터 입력된 다채널 아날로그 신호를 디지털 신호로 변환할 수 있다.
그리고, 에너지 판단부(미도시)는 변환된 디지털 신호의 에너지를 계산하여, 디지털 신호의 에너지가 기설정된 값 이상인지 여부를 판단할 수 있다. 디지털 신호의 에너지가 기설정된 값 이상인 경우, 에너지 판단부(미도시)는 입력된 디지털 신호를 노이즈 제거부(미도시)로 전송하고, 디지털 신호의 에너지가 기설정된 값 미만인 경우, 에너지 판단부(미도시)는 입력된 디지털 신호를 외부로 출력하지 않고, 다른 입력을 기다린다. 이에 의해, 음성 신호가 아닌 소리에 의해 전체 오디오 처리 과정이 활성화되지 않아, 불필요한 전력 소모를 방지할 수 있다.
노이즈 제거부(미도시)에 입력된 디지털 신호가 입력된 경우, 노이즈 제거부(미도시)는 노이즈 성분과 사용자 음성 성분이 포함된 디지털 신호 중 노이즈 성분을 제거할 수 있다. 이때, 노이즈 성분은 가정 환경에서 발생할 수 있는 돌발성 잡음으로써, 에어컨 소리, 청소기 소리, 음악 소리 등이 포함될 수 있다. 그리고, 노이즈 제거부(미도시)는 노이즈 성분이 제거된 디지털 신호를 음성 신호 생성부(미도시)로 출력할 수 있다.
음성 신호 생성부(미도시)는 Localization/Speaker Tracking 모듈을 이용하여 음성 입력부(미도시)를 기준으로 360˚ 범위 내에 존재하는 사용자의 발화 위치를 추적하여 사용자 음성에 대한 방향 정보를 구할 수 있다. 그리고, 음성 신호 생성부(미도시)는 Target Spoken Sound Extraction 모듈을 통해 노이즈가 제거된 디지털 신호와 사용자 음성에 대한 방향 정보를 이용하여 음성 입력부(미도시)를 기준으로 360˚ 범위 내에 존재하는 목표 음원을 추출할 수 있다. 그리고, 음성 신호 생성부(미도시)는 사용자 음성을 전자 장치(100)로 전송하기 위한 형태의 사용자 음성 신호로 변환할 수 있다.
통신부(120)는 외부 전자 장치(200 내지 700)와 통신을 수행할 수 있다. 이에 따라, 통신부(120)는 외부 전자 장치(200 내지 700)와 다양한 데이터를 송수신할 수 있다.
음성 인식 엔진이 음성 인식 서버로 구현된 경우, 통신부(120)는 음성 인식 서버(미도시)와 통신을 수행할 수도 있다. 이 경우, 통신부(120)는 음성 입력부(110)를 통해 수신된 사용자의 음성(구체적으로는, 디지털 신호 형태의 음성 신호)을 음성 인식 서버(미도시)로 전송할 수 있고, 음성 인식 서버(미도시)로 음성 인식 결과에 대한 데이터를 수신할 수 있다.
이를 위해, 통신부(120)는 유선 통신 모듈(미도시), 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다.
여기에서, 유선 통신 모듈은 유선 이더넷(Ethernet)과 같이 유선 통신 방식에 따라 외부 장치(200 내지 700) 및 음성 인식 서버(미도시)와 통신을 수행하기 위한 모듈이다. 그리고, 근거리 무선 통신 모듈이란 블루투스(Bluetooth, BT), BLE(Bluetooth Low Energy), ZigBee 방식 등과 같은 근거리 무선 통신 방식에 따라 근거리에 위치한 외부 장치(200 내지 700)와 통신을 수행하기 위한 모듈이다. 또한, 무선 통신 모듈이란 WiFi, IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 외부 장치(200 내지 700) 및 음성 인식 서버(미도시)와 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), LTE-A(LTE Advanced), 5세대 네트워크(5G Networks) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
한편, 통신부(120)는 외부 전자 장치(200 내지 700)뿐만 아니라, 외부 전자 장치(200 내지 700)을 제어하기 위한 원격 제어 장치 즉, 리모컨(미도시)과 통신을 수행할 수도 있다.
예를 들어, 통신부(120)는 블루투스 또는 BLE 등과 같은 근거리 통신 방식에 따라 원격 제어 장치(미도시)와 통신을 수행하여, 다양한 데이터를 송수신할 수 있다.
한편, 도 1 과는 상이하게, 전자 장치(100)가 리모컨 등과 같은 원격 제어 장치인 경우에도, 통신부(120)는 블루투스, Wi-fi 등과 같은 근거리 무선 통신 모듈 및 무선 통신 모듈을 사용하여 외부 전자 장치(200 내지 700)에 사용자 음성을 전송할 수 있음은 물론이다.
한편, 전자 장치(100)에 외부 전자 장치(200 내지 700)를 제어하기 위한 어플리케이션이 설치되는 경우, 전자 장치(100)는 사용자의 음성을 음성인식하고 사용자 음성에 대응되는 도메인을 구비한 외부 전자 장치(200 내지 700)에 제어 명령 신호를 전달할 수 있다.
이때, 전자 장치(100)는 Wi-Fi, Bluetooth 등과 같은 통신 방식에 따라 외부 전자 장치로 제어 명령 신호를 전달할 수 있음은 물론, 적외선 통신 등을 통하여 외부 전자 장치로 제어 명령 신호를 전달할 수 있다. 이를 위하여 전자 장치(100)는 복수의 통신부를 구비할 수 있음은 물론이다.
또한, 전자 장치(100)가 서버(미도시) 및 외부 전자 장치(200 내지 700)와 통신하는 경우, 서버와 통신하는 통신부와 외부 전자 장치와 통신하는 통신부가 서로 상이할 수도 있다. 가령, 전자 장치(100)가 서버(미도시)와는 이더넷, Wi-fi 등의 통신 방식으로 통신을 수행하고, 외부 전자 장치(200 내지 700)과는 Bluetooht, 적외선 통신 방식 등으로 통신을 수행할 수 있다.
저장부(130)는 전자 장치(100)를 구동하기 위한 다양한 소프트웨어 및 데이터를 저장할 수 있다.
특히, 저장부(130)는 복수의 도메인 각각에 대한 적어도 하나의 키워드를 저장할 수 있다.
여기에서, 키워드는 전자 장치(100 내지 700)에 대응하는 각각의 도메인에 특화된 단어를 의미한다. 즉, 특정 도메인에서 자주 사용되거나 사용될 가능성이 높은 단어는 특정 도메인에 대한 키워드가 될 수 있다.
도 1에서 설명한 바와 같이, 전자 장치 별로 특정한 도메인을 이용하여 음성 인식을 수행하는데, 사용자의 음성을 수신한 전자 장치(100)는 저장부(130)에 저장된 키워드 데이터를 이용하여 사용자의 음성에 대한 도메인을 결정할 수 있다. 이를 위하여, 저장부(130)는 전자 장치(100)에 대응하는 도메인에 대한 키워드 데이터뿐만 아니라, 외부 전자 장치(200 내지 700)에 대응하는 도메인에 대한 키워드 데이터를 저장할 수도 있다.
이에 따라, 사용자가 외부 전자 장치(200 내지 700)에서 실행 가능한 기능에 대한 음성 명령을 입력하더라도, 전자 장치(100)는 저장부(130)에 저장된 키워드 데이터를 이용하여 사용자의 음성에 대한 도메인을 판단할 수 있다.
다만, 이는 본원의 일 실시예이며, 복수의 도메인 각각에 대한 적어도 하나의 키워드는 별도의 서버(미도시)에 저장될 수도 있다.
한편, 저장부(130)에는 전자 장치(100)의 음성 인식 엔진이 저장되어 있을 수 있다. 이때, 음성 인식 엔진은 ASR 엔진 또는 NLU 엔진을 포함할 수 있다.
ASR 엔진은 사용자의 음성 신호를 인식하여 텍스트 데이터로 전환하는 엔진으로 STT(Speech to Text) 기능을 수행할 수 있다.
또한, NLU 엔진은 형태소 분석, 구문 분석, 의미이해 분석 등을 통하여 사용자의 음성에 포함된 비정형적인 언어 데이터를 기계가 이해할 수 있는 정형적인 언어 데이터로 바꾸는 기능을 수행할 수 있다.
도 1 에서 상술한 바와 같이, 전자 장치(100)의 음성 인식 엔진은 저장부(130)에 포함되어 있을 수도 있으나, 서버와 같은 별도의 장치(미도시)에 존재할 수도 있다. 전자 장치(100)의 음성 인식 엔진이 서버(미도시)에 존재하는 경우, 전자 장치(100)는 유무선 인터페이스를 통해 음성 인식 서버에 사용자의 음성을 전송하고, 음성 인식 서버로부터 음성 인식 결과를 수신할 수 있다.
저장부(130)에는 키워드 추출 엔진이 저장될 수도 있다.
한편, 음성 인식 엔진과 마찬가지로, 키워드 추출 엔진 또한 서버와 같은 별도의 장치(미도시)에 존재할 수 있다. 이 경우, 키워드 추출 엔진은 사용자의 음성에서 키워드 추출한 결과를 전자 장치(100)에 전송할 수 있다.
저장부(130)는 플래시 메모리, 하드 디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD)와 같은 비휘발성 메모리로 구현될 수 있다. 하지만, 메모리(130)의 일 부분은 RAM과 같은 휘발성 메모리로 구현될 수도 있다. 예를 들어, 저장부(130)는 임시 저장 데이터를 휘발성 메모리 영역에 저장할 수 있다.
프로세서(140)는 전자 장치(100)의 전반적인 동작 및 전자 장치(100)의 내부 구성요소들 사이의 신호 흐름을 제어하고, 데이터를 처리하기 위한 구성이다. 구체적으로, 프로세서(140)는 전자 장치(100)에 포함된 각종 하드웨어 또는 소프트웨어의 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 또한, 프로세서(140)는 다른 구성요소들 중 적어도 하나로부터 수신된 명령 또는 데이터를 메모리에 로드하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장할 수 있다. 이를 위해, 프로세서(140)는 해당 동작을 수행하기 위한 전용 프로세서(예를 들면, 임베디드 프로세서)로 구현되거나, 또는 메모리 디바이스에 저장된 하나 이상의 소프트웨어 프로그램을 실행함으로써 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)로 구현될 수 있다.
본 개시의 일 실시 예에서, 프로세서(140)는 음성 입력부(110)를 통해 입력된 사용자 음성을 음성 신호로 변환하고, 이를 키워드 추출 엔진에 전달한다.
사용자 음성 신호를 수신한 키워드 추출 엔진은 사용자 음성 신호를 텍스트로 변환하고, 사용자 음성에 대응하는 텍스트와 저장부(130)에 저장된 도메인별 키워드 데이터를 비교하여 음성에 포함된 적어도 하나의 키워드를 획득할 수 있다.
프로세서(140)는 사용자의 음성에 포함된 키워드들로부터 사용자의 음성에 대한 도메인을 식별하고, 식별된 도메인을 기반으로 하는 음성 인식 엔진으로 음성 신호를 전송할 수 있다.
한편, 음성 신호를 수신한 음성 인식 엔진은 사용자 음성 신호에 대한 음성 인식을 수행하고, 음성 인식 결과를 음성 인식 엔진과 대응되는 전자 장치(100 내지 700)에 전송할 수 있다.
그리고, 전자 장치(100 내지 700)은 음성인식 결과에 따른 동작을 수행할 수 있다. 가령, 사용자가 TV에 ““로봇 청소기가 거실을 청소하게 해줘””라고 발화한 경우, 로봇 청소기 도메인을 기반으로 한 음성 인식 엔진이 사용자 음성 신호를 음성 인식하고, 음성 인식 결과 수신한 로봇 청소기는 사용자 음성에 따라 거실을 청소할 수 있다.
한편, 전자 장치(100 내지 700)는 상술한 음성 인식 결과에 따른 동작을 수행하기 이전에 음성 신호를 수신하였다는 응답 신호를 전자 장치(100)에 전송할 수도 있다.
이에 따라, 전자 장치(100)는 사용자 음성 신호를 수신한 전자 장치(100 내지 700)의 응답을 사용자에게 시각적 또는 청각적 정보 형태로 알릴 수 있다. 이를 위하여, 전자 장치(100)는 디스플레이(미도시) 또는 음성출력부(미도시)를 구비할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 사용자 음성에 대응되는 전자 장치를 식별하는 과정을 설명하기 위한 도면이다.
프로세서(140)는 사용자의 음성이 음성 신호로 전환될 수 있도록 음성 입력부(110)를 제어할 수 있다. 음성 입력부(110)에 입력된 사용자 음성은 마이크(미도시), ADC(미도시), 에너지 판단부(미도시), 노이즈 제거부(미도시), 음성신호 생성부(미도시)를 거쳐 음성신호로 변환될 수 있다.
사용자 음성이 음성 신호로 변환되면, 프로세서(140)는 사용자 음성에 대한 도메인을 식별하기 위하여, 저장부(130)에 저장된 키워드 추출 모듈(131) 및 도메인 식별 모듈(132)을 이용할 수 있다.
프로세서(140)는 저장부(130)에 저장된 키워드 추출 모듈(131)을 이용하여 음성 신호에 포함된 키워드를 획득할 수 있다.
구체적으로, 프로세서(140)는 키워드 추출 모듈(131)을 이용하여 사용자의 음성 신호를 텍스트 형태로 변환할 수 있다. 이를 위하여, 키워드 추출 모듈(131)에는 STT(Speech to Text) 기능을 수행하는 ASR 엔진이 포함되어 있을 수 있다. 한편, 이는 일 실시예이며, 키워드 추출 모듈(131)이 음성 인식 엔진(134)의 ASR 엔진에 사용자의 음성 신호를 전송하여, 음성 인식 엔진(134)의 ASR 엔진으로부터 텍스트로 변환된 음성 인식 결과를 수신할 수도 있다.
프로세서(140)는 키워드 추출 모듈(131)이 저장부(130)에 저장되어 있는 도메인 별 키워드 데이터를 이용하여 사용자 음성에 대응되는 텍스트로부터 키워드를 추출하도록 할 수 있다. 이에 대한 자세한 설명은 도 4에서 하기로 한다.
한편, 도메인 별 키워드는 저장부(130)가 아닌, 별도의 서버(미도시)에 저장되어 있을 수 있다. 이 경우, 전자 장치(100)는 서버(미도시)로부터 도메인 별 키워드 정보를 수신하고, 키워드 추출 모듈(131) 및 도메인 식별 모듈(132)를 이용하여 사용자의 음성에 대응되는 텍스트로부터 키워드를 추출할 수 있다.
사용자 음성의 키워드를 추출하는데 사용되는 도메인별 키워드 데이터는 전자 장치(100 내지 700)의 제조 당시에 설정될 수 있다. 그러나 반드시 이에 한정되는 것은 아니며, 사용자에 의해 추가적으로 업데이트 될 수도 있다.
한편, 프로세서(120)는 키워드를 선택하는 것과 동시에, 해당 키워드가 포함된 도메인을 식별할 수 있다.
이와 같이, 프로세서(140)는 사용자 음성을 변환한 텍스트에 포함된 각각의 단어에 대하여 키워드를 추출하고, 각각의 키워드에 대한 도메인을 식별할 수 있다.
프로세서(140)는 도메인 식별 모듈(132)가 텍스트에 포함된 키워드 각각에 대한 도메인 정보를 이용하여 사용자 음성에 대한 도메인을 식별하도록 할 수 있다.
도메인 식별 방법에 대한 자세한 설명은 도 4 및 도 5에서 설명하기로 한다.
사용자 음성에 대한 도메인이 식별되면, 프로세서(140)는 해당 도메인을 기반으로 한 음성 인식 엔진에 사용자의 음성 신호를 전송할 수 있다. 이때, 음성 인식 엔진이 사용자의 음성을 수신한 전자 장치(100)에 대응되는 음성 인식 엔진(134)일 수 있고, 외부 전자 장치(200 내지 700)에 대응되는 음성 인식 엔진(234 내지 634)일 수도 있다.
한편, 본원의 또 다른 실시예로, 도3의 키워드 추출 모듈(131), 도메인 식별 모듈((132) 및 키워드 저장부(133)이 별도의 서버(미도시)에 저장될 수 있다.
이 경우, 전자 장치(100)는 사용자로부터 수신한 음성 신호를 서버(미도시)에 전송할 수 있고, 서버(미도시)는 서버(미도시)에 저장된 키워드 추출 모듈, 도메인 식별 모듈, 키워드 저장부를 이용하여 사용자의 음성 신호에 대응되는 텍스트로부터 키워드를 추출하고, 사용자의 음성에 대한 도메인을 식별할 수 있다.
이때, 서버는 음성 인식 결과를 전자 장치(100)에 전달할 수 있고, 음성 인식 결과를 수신한 전자 장치(100)는 식별된 도메인에 대응하는 외부 전자 장치의 음성 인식 엔진에 사용자의 음성 신호를 전달할 수 있다. 또는, 서버가 직접 식별된 도메인에 대응하는 외부 전자 장치의 음성 인식 엔진에 에 사용자의 음성 신호를 전달할 수도 있다.
사용자의 음성 신호를 수신한 음성 인식 엔진은 사용자의 음성 신호에 대하여 음성 인식을 수행할 수 있다.
구체적으로, ASR 엔진을 이용하여 사용자의 음성 신호를 텍스트 데이터로 변환하고, NLU 엔진을 이용하여 텍스트 데이터로 변환된 사용자 음성에 대하여 형태소 분석, 구문 분석, 의미이해 분석 등을 수행할 수 있다.
그 결과, 음성 인식 엔진(134 내지 634)는 사용자의 음성 인식 결과를 음성 인식 엔진에 대응되는 전자 장치(100 내지 700)에 전송할 수 있으며, 음성 인식 결과를 수신한 전자 장치(100 내지 700)은 음성 인식 결과에 따라 그 기능을 수행할 수 있다.
한편, 본원의 또 다른 실시 예로, 음성 인식 결과에 따라 음성 인식 결과를 수신한 전자 장치(100 내지 700)는 음성 인식 결과를 수신하였다는 응답 신호 또는 음성 인식 결과에 따른 기능을 수행하였다는 신호 등과 같은 음성 인식 결과에 따른 응답 신호를 사용자가 음성 입력한 전자 장치(100)에 전송할 수 있다.
도 4 및 도 5는 본 발명의 일 실시 예에 따라 사용자 음성에 대한 도메인 식별 방법을 설명하기 위한 도면이다.
이와 관련하여, 도 4에는 도메인 각각에 대한 키워드 데이터가 저장된 키워드 저장부(133)가 도시되어 있다. 상술한 바와 같이, 키워드는 특정 도메인에서 자주 사용되거나 사용될 가능성이 높은 단어가 될 수 있다. 한편, 도 4에 개시된 도메인 및 키워드는 본 발명의 일 실시 예에 해당하며, 키워드 저장부(133)에 저장된 도메인 및 키워드가 반드시 이에 한정되는 것은 아니다.
프로세서(140)는 복수의 도메인 각각에 대한 적어도 하나의 키워드와 일치하는 단어를 사용자 음성에서 키워드로 획득할 수 있다.
구체적으로, 프로세서(140)는 키워드 저장부(131)에 저장된 도메인 별 키워드 데이터 중에서 키워드를 순차적으로 하나씩 선택하여, 사용자 음성을 변환한 텍스트에 해당 키워드와 동일한 단어가 존재하는지 탐색할 수 있다. 텍스트에 키워드와 동일한 단어가 존재하는 경우, 프로세서(140)는 해당 단어를 키워드로 선택할 수 있다.
도 4에 저장된 키워드 데이터를 예로 들면, 프로세서(140)는 키워드 저장부에 저장된 도메인 별 키워드 정보에서 '스마트폰', '전화기', …… ,'세탁기', …… ,'건조',……,'빨래',…… '청소기' 등의 키워드를 순차적으로 선택하면서, 선택된 키워드가 사용자 음성에 포함되어 있는지 판단할 수 있다.
또 다른 실시예로서, 프로세서(140)는 텍스트 데이터로 변환된 사용자의 음성을 형태소 단위로 분리한 후, 텍스트 데이터에 포함된 형태소가 키워드 저장부(133)에 포함되어 있는지 식별할 수 있다.
이를 위하여, 키워드 추출 모듈은 텍스트 문장을 형태소 단위로 분리하는 기능을 수행하는 NLU 엔진을 포함할 수 있다. 또는, 프로세서(140)는 음성 인식 엔진(134)에 저장되어 있는 NLU 엔진을 이용하여 텍스트 데이터를 형태소 단위로 분리할 수 있다.
텍스트 데이터에 포함된 복수의 형태소들 중 하나의 단어가 키워드 저장부(133)에 포함되어 있는 경우, 프로세서(140)는 해당 단어를 키워드로 획득할 수 있다.
예를 들어, 사용자 음성이 “로봇 청소기가 어디 있지?”인 경우, 프로세서(140)는 사용자 음성을 '로봇', '청소기', '어디','있지' 로 나눈 후, 각각의 단어가 키워드 저장부(133)에 포함되어 있는지 식별할 수 있다. 이때, 단어 '청소기'가 키워드 저장부(133)에 포함되어 있는 경우, 사용자 음성에 포함된 '청소기'가 키워드가 된다.
한편, 프로세서(140)는 키워드를 추출함과 동시에 획득된 키워드에 대한 도메인도 식별할 수 있다. 상술한 예에서, 프로세서(140)는 키워드 '청소기'에 대한 도메인은 '청소기 도메인'임을 식별할 수 있다.
텍스트 데이터로부터 획득된 키워드가 복수 개인 경우, 프로세서(140)는 각각의 키워드에 대하여 도메인을 식별할 수 있다.
그리고, 복수의 키워드에 대한 복수의 도메인 중에서, 가장 많이 식별된 도메인을 사용자 음성에 대한 도메인으로 판단할 수 있다.
구체적으로, 프로세서(140)는 획득된 키워드와 저장부에 저장된 키워드를 비교한 결과를 기초로 획득된 키워드와 관련된 도메인을 식별할 수 있다.
즉, 프로세서(140)는 획득된 키워드 중 키워드 저장부(133)에 저장된 도메인별 키워드와 매칭되는 키워드의 개수를 도메인 별로 판단하여 획득된 키워드와 관련된 도메인을 식별할 수 있다.
구체적으로, 프로세서(140)는 복수의 도메인 중에서 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인을 획득된 키워드와 관련된 도메인으로 식별할 수 있다.
예를 들어, 사용자 음성이 “로봇 청소가 어디 있지?”인 경우, 상술한 바와 같이 '청소기'가 키워드가 되고, 프로세서(140)는 도메인 별로 '청소기'와 매칭되는 키워드를 식별한다.
이때, 청소기 도메인에는 키워드 '청소기'와 매칭되는 키워드가 1개 있으나, TV도메인, 스마트폰 도메인, 세탁기 도메인에는 매칭되는 키워드가 존재하지 않으므로, 청소기 도메인이 획득된 키워드에 대응되는 도메인이 된다.
또 다른 예로, 사용자 음성에서 복수 개의 키워드가 획득된 경우를 살펴본다. 예를 들어, 사용자 음성이 “TV에서 영화 재생해줘”인 경우, 프로세서(140)는 사용자 음성에서 단어 'TV', '영화','재생'로 나눈 후, 각각의 단어가 키워드 저장부(133)에 포함되어 있는지 식별할 수 있다. 키워드 저장부(133)에 단어 'TV', '영화','재생'가 포함되어 있으므로, 'TV', '영화','재생' 모두 키워드가 될 수 있다.
이때, 프로세서(140)는 각각의 도메인별로 'TV', '영화','재생'과 매칭되는 키워드가 존재하는 정도를 식별할 수 있다. 프로세서(140)는 TV 도메인에서 키워드 'TV', '영화','재생' 3개가 모두 매칭되고, 스마트폰 도메인에서, 키워드 '재생' 이 매칭되며, 세탁기 도메인 및 청소기 도메인에서는 매칭되는 키워드가 존재하지 않는 것을 식별할 수 있다.
그리고, 프로세서(140)는 사용자 음성으로부터 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 TV 도메인을 획득된 키워드와 관련된 도메인으로 식별할 수 있다.
한편, 프로세서(140)는 획득된 키워드 중 키워드 저장부(133)에 저장된 도메인별 키워드와 매칭되는 키워드의 개수뿐만 아니라, 우선 순위에 기초하여 획득된 키워드와 관련된 도메인을 식별할 수 있다.
도 5는 획득된 키워드에 대응되는 도메인을 우선 순위에 기초하여 식별하는 방법을 설명하기 위한 도면이다.
이와 관련하여, 도 5의 (a)에 도시된 바와 같이, 키워드 저장부(133)에는 키워드뿐만 아니라, 도메인별 키워드에 대한 우선 순위가 저장될 수 있다. 이때, 똑같은 키워드라도 도메인에 따라 우선 순위가 다르게 정해질 수 있다.
가령, 키워드 '검색'은 스마트폰 및 TV에서 자주 사용되는 단어이므로, 스마트폰 도메인 및 TV 도메인에 포함될 수 있다. 그러나, 키워드 '검색'이 TV보다는 스마트폰에서 더 자주 사용된다고 가정할 경우, 사용자가 '검색'이라는 단어를 발화했을 때 사용자는 스마트폰의 제어를 목적으로 발화할 확률이 높다. 이에 따라, 스마트폰 도메인에 포함된 키워드 '검색'의 우선 순위를 TV 도메인에 포함된 키워드 '검색'의 우선 순위보다 높게 설정할 수 있다.
프로세서(140)는 획득된 키워드와 매칭되는 키워드가 존재하는 정도 및 도메인별로 설정된 우선 순위 중 적어도 하나에 기초하여 획득된 키워드와 관련된 도메인을 식별할 수 있다.
구체적으로, 프로세서(140)는 복수의 도메인 중에서 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인이 복수 개 존재하는 경우, 키워드의 개수가 가장 많은 복수의 도메인에 설정된 우선 순위에 따라 우선 순위가 가장 높은 도메인을 획득된 키워드와 관련된 도메인으로 식별할 수 있다.
예를 들어, 도 5의 (a) 1) 같이, 사용자가 전자 장치(100)에 “스마트폰으로 인기 드라마 검색하고 재생해줘”라고 발화한 경우, 프로세서(140)는 사용자 음성 중 키워드 저장부(133)에 저장된 단어와 매칭되는 '스마트폰','드라마','검색','재생'을 키워드로 획득할 수 있다.
이때, 사용자 음성으로부터 획득된 키워드 중 키워드 '스마트폰','검색','재생'이 스마트폰 도메인(133-1)에 포함되고, 키워드'드라마','검색','재생'은 TV 도메인(133-2)에 포함되며, 세탁기 및 청소기 도메인(133-3, 133-4)에 포함되는 키워드는 존재하지 않는다.
즉, 프로세서(140)는 키워드 저장부(133)의 복수의 도메인 중 사용자 음성으로부터 획득된 키워드('스마트폰','드라마','검색','재생' )와 매칭되는 키워드의 개수가 가장 많은 도메인으로 TV 도메인(133-2) 및 스마트폰 도메인(133-1)을 식별할 수 있다.
이러한 경우, 프로세서(140)는 TV 도메인(133-2) 및 스마트폰 도메인(133-1)에 설정된 우선 순위에 따라 우선 순위가 가장 높은 도메인을 획득된 키워드 ('스마트폰','드라마','검색','재생' )와 관련된 도메인으로 식별할 수 있다.
이와 관련하여, 도 5의 (a)에 도시된 키워드 저장부(133)의 일부를 참조하면, TV 도메인(133-2)의 우선 순위는 7(드라마(3), 검색(2), 재생(2))인 반면, 스마트폰 도메인(133-1)의 우선 순위는 10(스마트폰(5), 검색(3), 재생(2))이 된다.
즉, 스마트폰 도메인(133-1)의 우선 순위가 TV 도메인(133-2)의 우선 순위보다 높으므로, 프로세서(140)는 획득된 키워드에 대응되는 도메인을 스마트폰 도메인(133-1)으로 식별할 수 있다. 이는 사용자가 발화한 음성이 스마트폰 도메인 기반 음성인식 엔진에서 음성인식될 가능성이 높다는 것을 의미한다.
한편, 프로세서(140)는 획득된 키워드와 매칭되는 키워드의 개수와 상관없이 우선 순위만을 고려하여 획득된 키워드와 관련된 도메인을 식별할 수도 있다.
예를 들어, 도 5의 (a) 2)와 같이, 사용자가 전자 장치(100)에 “스마트폰으로 액션 영화를 검색해줘” 라고 발화한 경우, 프로세서(140)는 사용자 음성 중 키워드 저장부(133)에 저장된 단어와 매칭되는 '스마트폰','액션','영화','검색'을 키워드로 획득할 수 있다.
이때, 획득된 키워드 중 키워드 '스마트폰','검색'이 스마트폰 도메인(133-1)에 포함되고, 키워드'액션','영화','검색'은 TV 도메인(133-2)에 포함되며, 세탁기 및 청소기 도메인(133-3, 133-4)에 포함되는 키워드는 존재하지 않는다.
그리고, 스마트폰 도메인(133-1)의 우선 순위는 8(스마트폰(5), 검색(3))인 반면, TV 도메인(133-2)의 우선 순위는 4(액션(1), 영화(1), 검색(2))가 된다.
즉, 스마트폰 도메인(133-1)의 경우, 획득된 키워드와 매칭되는 키워드의 개수가 적으나, 도메인 우선 순위가 높다. 이에 따라, 프로세서(140)는 스마트폰 도메인(133-1)을 획득된 키워드와 대응되는 도메인으로 식별할 수 있다.
한편, 우선 순위는 사용자의 음성이 입력된 전자 장치에 기초하여 결정될 수 있다.
구체적으로, 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인이 복수 개 존재하는 경우, 프로세서(140)는 사용자의 음성이 입력된 장치에 대응하는 도메인을 획득된 키워드와 관련된 도메인으로 식별할 수 있다.
예를 들어, 도 5의 (b)에 도시된 바와 같이, 사용자가 스마트폰을 이용하여 “YouTube에서 인기 동영상을 재생해줘”라고 발화한 경우, 프로세서(140)는 키워드 저장부(133)를 이용하여 'YouTube' 및' 재생'을 키워드로 획득할 수 있다. 이때, 'YouTube' 및' 재생'은 스마트폰 도메인(133-1) 및 TV 도메인(133-2)에 모두 포함되어 있으며, 세탁기 도메인(133-3) 및 청소기 도메인(133-4)에는 포함되어 있지 않다. 프로세서(140)는 사용자의 음성이 입력된 스마트폰과 대응되는 스마트폰 도메인(133-1)을 획득된 키워드와 관련된 도메인으로 식별할 수 있다.
한편, 도메인별 우선 순위를 고려하여 사용자 음성에 대한 도메인을 식별하였으나, 도메인별 우선 순위가 동일한 경우, 프로세서(140)는 사용자 음성이 입력된 장치에 대응하는 도메인을 획득된 키워드와 관련된 도메인으로 식별할 수 있다.
또 다른 실시 예로서, 사용자 음성으로부터 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인이 복수 개 존재하거나 획득된 키워드와 매칭되는 도메인의 우선 순위 높은 도메인이 복수 개 존재하는 경우, 프로세서(140)는 사용자에게 도메인을 선택할 것을 요청할 수 있다.
이 경우, 프로세서(140)는 사용자가 음성을 입력한 전자 장치(100)에 사용자의 음성 신호가 전달될 전자 장치(100 내지 700)을 선택할 것을 요청하는 메시지, 복수 개의 전자 장치(100 내지 700)의 목록 등을 디스플레이 할 수 있다.
가령, 사용자가 TV를 사용하여 “YouTube 볼륨 높여줘”라고 발화하였고, 키워드 'YouTube' 및 '볼륨'이 TV 도메인(133-2) 및 스마트폰 도메인(133-1)에 포함되어 있으며, 각 도메인의 우선 순위도 동일하다고 가정하자. 이 경우, 사용자로부터 음성을 수신한 TV는 사용자 음성에 대한 도메인을 선택하지 않고, TV의 디스플레이에 사용자가 TV 및 스마트폰 중에서 사용자의 음성이 전달될 전자 장치를 선택할 수 있다는 메시지를 표시할 수 있다.
한편, 사용자의 음성을 수신한 전자 장치(100)가 셋탑 박스와 같이 디스플레이부를 구비하고 있지 않은 경우, 전자 장치(100)는 유무선 인터페이스를 이용하여 외부의 디스플레이 장치(미도시)에 메시지 신호를 전송할 수 있다. 메시지 신호를 수신한 외부 디스플레이 장치(미도시)는 사용자의 음성 신호가 전달될 전자 장치(100 내지 700)을 선택할 것을 요청하는 메시지, 복수 개의 전자 장치(100 내지 700)의 목록 등을 디스플레이 할 수 있다.
한편, 사용자로부터 음성을 입력받은 전자 장치(100)는 키워드 추출 엔진(131) 및 도메인 식별 모듈(132)을 이용하여 사용자 음성에 대응되는 도메인을 식별하는 것과 동시에, 전자 장치(100)의 음성 인식 엔진(134)을 이용하여 음성인식을 수행할 수도 있다. 도 6은 본 발명의 또 다른 일 실시 예에 따른 사용자 음성에 대응되는 도메인을 식별하는 과정을 설명하기 위한 도면이다.
프로세서(140)는 사용자의 음성이 입력되면, 전자 장치(100)는 사용자 음성으로부터 키워드를 추출하고 사용자 음성에 대응되는 도메인을 식별함과 동시에, 전자 장치(100)에 대응되는 도메인을 기반으로 한 음성 인식 엔진(134)을 이용하여 음성 인식을 수행할 수 있다.
프로세서(140)는 식별된 도메인과 전자 장치(100)에 대응되는 도메인이 일치하는지 여부에 기초하여 전자 장치(100)의 음성 인식 엔진(134)에서 수행된 음성 인식 결과의 이용 여부를 결정할 수 있다.
즉, 프로세서(140)는 사용자 음성에서 키워드를 추출하여 도메인을 식별하는 과정과 전자 장치(100)의 음성인식엔진 및 자연어이해엔진(134)에 접속하는 과정을 병렬로 처리할 수 있다.
식별된 도메인과 전자 장치(100)에 대응되는 도메인이 일치하지 않는 경우, 프로세서(140)는 통신부(130)를 통해 식별된 도메인에 대응되는 외부 장치(200 내지 700)로 사용자의 음성을 전송할 수 있다.
반면, 식별된 도메인과 전자 장치(100)에 대응되는 도메인이 일치하는 경우, 프로세서(140)는 전자 장치(100)에 대응되는 음성 인식 엔진에서 수행된 음성 인식 결과를 이용할 수 있다. 이 경우, 전자 장치(100)는 바로 음성 인식 엔진(134)에서 음성 인식한 음성인 식 결과를 출력할 수 있으므로, 사용자 음성에 대한 응답시간을 줄일 수 있다.
도 7은 본 발명의 일 실시 예에 따른 전자 장치의 도메인 결정 방법을 설명하기 위한 흐름도이다.
먼저, 전자 장치에 입력된 사용자의 음성에서 키워드를 획득한다(S710).
이때, 키워드를 획득하는 단계는, 복수의 도메인 각각에 대한 적어도 하나의 키워드와 매칭되는 단어를 사용자의 음성에서 키워드로 획득하는 단계일 수 있다.
그리고, 획득된 키워드와 전자 장치에 저장된 키워드를 비교한다(S720).
그 후, 비교 결과를 기초로 획득된 키워드와 관련된 도메인을 식별한다(S730).
여기에서, 도메인을 식별하는 단계는 복수의 도메인 중에서 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인을 획득된 키워드와 관련된 도메인으로 식별하는 단계를 포함할 수 있다.
또한, 도메인을 식별하는 단계는 획득된 키워드와 매칭되는 키워드가 존재하는 정도 및 도메인별로 설정된 우선 순위 중 적어도 하나에 기초하여 획득된 키워드와 관련된 도메인을 식별할 수 있다.
이때, 도메인을 식별하는 단계는, 복수의 도메인 중에서 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인이 복수 개 존재하는 경우, 키워드의 개수가 가장 많은 복수의 도메인에 설정된 우선 순위에 따라 우선 순위가 가장 높은 도메인을 획득된 키워드와 관련된 도메인으로 식별할 수 있다.
여기에서, 우선 순위는, 상기 사용자의 음성이 입력된 전자 장치에 기초하여 결정될 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서(120) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 전자 장치에서의 처리 동작을 상기 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100 내지 700: 전자 장치 110: 음성입력부
120: 통신부 130: 저장부
140: 프로세서

Claims (20)

  1. 전자 장치에 있어서,
    음성 입력부;
    통신부;
    복수의 도메인 각각에 대한 적어도 하나의 키워드가 저장된 저장부; 및
    상기 음성 입력부를 통해 입력된 사용자의 음성에서 키워드를 획득하고, 상기 획득된 키워드와 상기 저장부에 저장된 키워드를 비교한 결과를 기초로 상기 획득된 키워드와 관련된 도메인을 식별하고, 상기 식별된 도메인을 기반으로 한 엔진을 통해 상기 사용자의 음성에 대한 음성 인식이 수행되도록 하는 프로세서;를 포함하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 도메인 각각에 대한 적어도 하나의 키워드와 매칭되는 단어를 상기 사용자의 음성에서 키워드로 획득하는, 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 도메인 중에서 상기 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인을 상기 획득된 키워드와 관련된 도메인으로 식별하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 획득된 키워드와 매칭되는 키워드가 존재하는 정도 및 도메인별로 설정된 우선 순위 중 적어도 하나에 기초하여 상기 획득된 키워드와 관련된 도메인을 식별하는, 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 복수의 도메인 중에서 상기 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인이 복수 개 존재하는 경우, 상기 매칭되는 키워드의 개수가 가장 많은 복수의 도메인에 설정된 우선 순위에 따라 상기 우선 순위가 가장 높은 도메인을 상기 획득된 키워드와 관련된 도메인으로 식별하는, 전자 장치.
  6. 제5항에 있어서,
    상기 우선 순위는, 상기 사용자의 음성이 입력된 전자 장치에 기초하여 결정되는, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 식별된 도메인이 상기 전자 장치에 대응되는 경우, 상기 식별된 도메인을 기반으로 한 전자 장치의 엔진을 이용하여 상기 사용자의 음성에 대한 음성 인식을 수행하고, 상기 식별된 도메인이 외부 장치에 대응되는 경우, 상기 통신부를 통해 상기 식별된 도메인을 기반으로 한 외부 장치의 엔진으로 상기 사용자의 음성을 전송하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 사용자의 음성이 입력되면, 상기 전자 장치에 대응되는 도메인을 기반으로 한 엔진을 이용하여 음성 인식을 수행하고, 상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하는지 여부에 기초하여 상기 수행된 음성 인식 결과의 이용 여부를 결정하는, 전자 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하는 경우, 상기 수행된 음성 인식 결과를 이용하고, 상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하지 않는 경우, 상기 통신부를 통해 상기 식별된 도메인에 대응되는 외부 장치의 엔진으로 상기 사용자의 음성을 전송하는, 전자 장치.
  10. 제7항에 있어서,
    상기 외부 장치는,
    상기 복수의 도메인 중에서 특정한 도메인의 엔진을 이용하여 음성 인식을 수행하는, 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    전자 장치에 입력된 사용자의 음성에서 키워드를 획득하는 단계;
    상기 획득된 키워드와 상기 전자 장치에 저장된 키워드를 비교하는 단계;
    상기 비교한 결과를 기초로 상기 획득된 키워드와 관련된 도메인을 식별하는 단계;; 및
    상기 식별된 도메인을 기반으로 한 엔진을 통해 상기 사용자의 음성에 대한 음성 인식이 수행되도록 하는 단계;를 포함하는 전자 장치의 제어 방법.
  12. 제11항에 있어서,
    상기 키워드를 획득하는 단계는,
    상기 복수의 도메인 각각에 대한 적어도 하나의 키워드와 매칭되는 단어를 상기 사용자의 음성에서 키워드로 획득하는, 전자 장치의 제어 방법.
  13. 제11 항에 있어서,
    상기 도메인을 식별하는 단계는,
    상기 복수의 도메인 중에서 상기 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인을 상기 획득된 키워드와 관련된 도메인으로 식별하는 단계인, 전자 장치의 제어 방법.
  14. 제11항에 있어서,
    상기 도메인을 식별하는 단계는,
    상기 획득된 키워드와 매칭되는 키워드가 존재하는 정도 및 도메인별로 설정된 우선 순위 중 적어도 하나에 기초하여 상기 획득된 키워드와 관련된 도메인을 식별하는, 전자 장치의 제어 방법.
  15. 제14항에 있어서,
    상기 도메인을 식별하는 단계는,
    상기 복수의 도메인 중에서 상기 획득된 키워드와 매칭되는 키워드의 개수가 가장 많은 도메인이 복수 개 존재하는 경우, 상기 매칭되는 키워드의 개수가 가장 많은 복수의 도메인에 설정된 우선 순위에 따라 상기 우선 순위가 가장 높은 도메인을 상기 획득된 키워드와 관련된 도메인으로 식별하는, 전자 장치의 제어 방법.
  16. 제15항에 있어서,
    상기 우선 순위는, 상기 사용자의 음성이 입력된 전자 장치에 기초하여 결정되는, 전자 장치의 제어 방법.
  17. 제11항에 있어서,
    상기 음성 인식이 수행되도록 하는 단계는,
    상기 식별된 도메인이 상기 전자 장치에 대응되는 경우, 상기 식별된 도메인을 기반으로 한 전자 장치의 엔진을 이용하여 상기 사용자의 음성에 대한 음성 인식을 수행하고, 상기 식별된 도메인이 외부 장치에 대응되는 경우, 상기 통신부를 통해 상기 식별된 도메인을 기반으로 한 외부 장치의 엔진으로 상기 사용자의 음성을 전송하는 단계인, 전자 장치의 제어 방법.
  18. 제11항에 있어서,
    상기 음성 인식이 수행되도록 하는 단계는,
    상기 사용자의 음성이 입력되면, 상기 전자 장치에 대응되는 도메인을 기반으로 한 엔진을 이용하여 음성 인식을 수행하는 단계 및
    상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하는지 여부에 기초하여 상기 수행된 음성 인식 결과의 이용 여부를 결정하는 단계;를 포함하는, 전자 장치의 제어 방법.
  19. 제18항에 있어서,
    상기 음성 인식이 수행되도록 하는 단계는,
    상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하는 경우, 상기 수행된 음성 인식 결과를 이용하고, 상기 식별된 도메인과 상기 전자 장치에 대응되는 도메인이 일치하지 않는 경우, 상기 통신부를 통해 상기 식별된 도메인에 대응되는 외부 장치의 엔진으로 상기 사용자의 음성을 전송하는 단계;를 포함하는 전자 장치의 제어 방법.
  20. 제17항에 있어서,
    상기 외부 장치는,
    상기 복수의 도메인 중에서 특정한 도메인의 엔진을 이용하여 음성 인식을 수행하는, 전자 장치의 제어 방법.
KR1020180036850A 2018-03-29 2018-03-29 전자 장치 및 그 제어 방법 KR20190114321A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180036850A KR20190114321A (ko) 2018-03-29 2018-03-29 전자 장치 및 그 제어 방법
PCT/KR2019/002672 WO2019190073A1 (en) 2018-03-29 2019-03-07 Electronic device and control method thereof
US16/295,061 US11145303B2 (en) 2018-03-29 2019-03-07 Electronic device for speech recognition and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180036850A KR20190114321A (ko) 2018-03-29 2018-03-29 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20190114321A true KR20190114321A (ko) 2019-10-10

Family

ID=68055004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180036850A KR20190114321A (ko) 2018-03-29 2018-03-29 전자 장치 및 그 제어 방법

Country Status (3)

Country Link
US (1) US11145303B2 (ko)
KR (1) KR20190114321A (ko)
WO (1) WO2019190073A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021107371A1 (ko) * 2019-11-27 2021-06-03 삼성전자(주) 전자장치 및 그 제어방법
KR20220064695A (ko) * 2020-11-12 2022-05-19 한국공학대학교산학협력단 운전자 음성 인식을 이용한 운전자 의도를 추정하는 방법 및 장치
US11915697B2 (en) 2020-11-11 2024-02-27 Samsung Electronics Co., Ltd. Electronic device, system and control method thereof

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102472010B1 (ko) * 2018-05-04 2022-11-30 삼성전자주식회사 전자 장치 및 전자 장치의 기능 실행 방법
KR102622350B1 (ko) * 2018-10-12 2024-01-09 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2021002611A1 (en) * 2019-07-03 2021-01-07 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
KR20210098250A (ko) * 2020-01-31 2021-08-10 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN112836039B (zh) * 2021-01-27 2023-04-21 成都网安科技发展有限公司 基于深度学习的语音数据处理方法和装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5042799Y2 (ko) 1971-09-25 1975-12-06
JP5042799B2 (ja) 2007-04-16 2012-10-03 ソニー株式会社 音声チャットシステム、情報処理装置およびプログラム
US9436759B2 (en) * 2007-12-27 2016-09-06 Nant Holdings Ip, Llc Robust information extraction from utterances
US10540976B2 (en) * 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
KR101622111B1 (ko) * 2009-12-11 2016-05-18 삼성전자 주식회사 대화 시스템 및 그의 대화 방법
KR101309794B1 (ko) * 2012-06-27 2013-09-23 삼성전자주식회사 디스플레이 장치, 디스플레이 장치의 제어 방법 및 대화형 시스템
KR102211595B1 (ko) * 2012-12-07 2021-02-04 삼성전자주식회사 음성 인식 장치 및 그 제어 방법
KR102072826B1 (ko) * 2013-01-31 2020-02-03 삼성전자주식회사 음성 인식 장치 및 응답 정보 제공 방법
US20140278427A1 (en) 2013-03-13 2014-09-18 Samsung Electronics Co., Ltd. Dynamic dialog system agent integration
US9786296B2 (en) 2013-07-08 2017-10-10 Qualcomm Incorporated Method and apparatus for assigning keyword model to voice operated function
US9305554B2 (en) 2013-07-17 2016-04-05 Samsung Electronics Co., Ltd. Multi-level speech recognition
KR102188090B1 (ko) * 2013-12-11 2020-12-04 엘지전자 주식회사 스마트 가전제품, 그 작동방법 및 스마트 가전제품을 이용한 음성인식 시스템
KR102297519B1 (ko) * 2014-02-25 2021-09-03 삼성전자주식회사 서버 및 이의 가이드 문장 생성 방법
US9812126B2 (en) 2014-11-28 2017-11-07 Microsoft Technology Licensing, Llc Device arbitration for listening devices
US10019992B2 (en) * 2015-06-29 2018-07-10 Disney Enterprises, Inc. Speech-controlled actions based on keywords and context thereof
KR20170032114A (ko) * 2015-09-14 2017-03-22 삼성전자주식회사 음성 인식 장치 및 그의 제어방법
US20180067717A1 (en) * 2016-09-02 2018-03-08 Allomind, Inc. Voice-driven interface to control multi-layered content in a head mounted display
US10446147B1 (en) * 2017-06-27 2019-10-15 Amazon Technologies, Inc. Contextual voice user interface
US10936586B2 (en) * 2017-11-29 2021-03-02 Wipro Limited Method and system for providing domain-specific response to a user query
KR101834564B1 (ko) * 2017-12-22 2018-03-06 주식회사 마인드셋 도메인 특화 용어를 이용한 도메인 매칭 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021107371A1 (ko) * 2019-11-27 2021-06-03 삼성전자(주) 전자장치 및 그 제어방법
US11915697B2 (en) 2020-11-11 2024-02-27 Samsung Electronics Co., Ltd. Electronic device, system and control method thereof
KR20220064695A (ko) * 2020-11-12 2022-05-19 한국공학대학교산학협력단 운전자 음성 인식을 이용한 운전자 의도를 추정하는 방법 및 장치

Also Published As

Publication number Publication date
WO2019190073A1 (en) 2019-10-03
US11145303B2 (en) 2021-10-12
US20190304450A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
US11145303B2 (en) Electronic device for speech recognition and control method thereof
US20230377577A1 (en) System, apparatus, and method for processing natural language, and non-transitory computer readable recording medium
KR102429436B1 (ko) 사용자의 입력 입력에 기초하여 타겟 디바이스를 결정하고, 타겟 디바이스를 제어하는 서버 및 그 동작 방법
US9880808B2 (en) Display apparatus and method of controlling a display apparatus in a voice recognition system
US9886952B2 (en) Interactive system, display apparatus, and controlling method thereof
US20190279523A1 (en) Display apparatus and method for question and answer
US9953645B2 (en) Voice recognition device and method of controlling same
US10811005B2 (en) Adapting voice input processing based on voice input characteristics
US20140350933A1 (en) Voice recognition apparatus and control method thereof
KR20170093629A (ko) 음성인식 장치 및 방법, 음성인식시스템
US20170069317A1 (en) Voice recognition apparatus, driving method thereof, and non-transitory computer-readable recording medium
KR102298457B1 (ko) 영상표시장치, 영상표시장치의 구동방법 및 컴퓨터 판독가능 기록매체
EP3523718B1 (en) Creating a cinematic storytelling experience using network-addressable devices
US20130339032A1 (en) Server and method of controlling the same
US20170286049A1 (en) Apparatus and method for recognizing voice commands
US20210272553A1 (en) Methods for natural language model training in natural language understanding (nlu) systems
US11626103B2 (en) Methods for natural language model training in natural language understanding (NLU) systems
US20210271816A1 (en) Methods for natural language model training in natural language understanding (nlu) systems
CN112017662B (zh) 控制指令确定方法、装置、电子设备和存储介质
KR20200127823A (ko) 허브 디바이스, 허브 디바이스 및 복수의 디바이스를 포함하는 멀티 디바이스 시스템 및 그 동작 방법
KR102089593B1 (ko) 디스플레이 장치, 및 이의 제어 방법, 그리고 음성 인식 시스템의 디스플레이 장치 제어 방법
KR20210054246A (ko) 전자장치 및 그 제어방법
KR102124396B1 (ko) 디스플레이 장치, 및 이의 제어 방법, 그리고 음성 인식 시스템의 디스플레이 장치 제어 방법
US11922970B2 (en) Electronic apparatus and controlling method thereof
KR102051480B1 (ko) 디스플레이 장치, 및 이의 제어 방법, 그리고 음성 인식 시스템의 디스플레이 장치 제어 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal