KR102261552B1 - 음성 명령어 제공 방법 및 이를 지원하는 전자 장치 - Google Patents

음성 명령어 제공 방법 및 이를 지원하는 전자 장치 Download PDF

Info

Publication number
KR102261552B1
KR102261552B1 KR1020140080541A KR20140080541A KR102261552B1 KR 102261552 B1 KR102261552 B1 KR 102261552B1 KR 1020140080541 A KR1020140080541 A KR 1020140080541A KR 20140080541 A KR20140080541 A KR 20140080541A KR 102261552 B1 KR102261552 B1 KR 102261552B1
Authority
KR
South Korea
Prior art keywords
data
audio
voice command
voice
module
Prior art date
Application number
KR1020140080541A
Other languages
English (en)
Other versions
KR20160001965A (ko
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 KR1020140080541A priority Critical patent/KR102261552B1/ko
Priority to EP20197601.6A priority patent/EP3826005A1/en
Priority to EP15174352.3A priority patent/EP2963642A1/en
Priority to US14/755,441 priority patent/US9934781B2/en
Publication of KR20160001965A publication Critical patent/KR20160001965A/ko
Priority to US15/906,594 priority patent/US10679619B2/en
Priority to US16/895,499 priority patent/US11114099B2/en
Application granted granted Critical
Publication of KR102261552B1 publication Critical patent/KR102261552B1/ko
Priority to US17/459,327 priority patent/US11664027B2/en

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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS 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/223Execution procedure of a spoken command

Abstract

본 발명은 음성 명령어 제공에 관한 것으로, 다양한 실시 예는 오디오 데이터를 수집하는 동작, 상기 오디오 데이터의 오디오 특징 데이터, 상기 오디오 데이터를 음성 인식한 음성 인식 데이터, 상기 오디오 데이터와 관련하여 실행되는 기능 수행 데이터 중 적어도 하나를 기반으로 특정 오디오 데이터 수집 시 전자 장치의 특정 기능을 음성으로 실행하도록 설정된 음성 명령어를 갱신하는 동작을 포함하는 음성 명령어 제공 방법 및 이를 지원하는 장치를 개시할 수 있다. 여기서 본 발명이 상술한 구성에 한정되는 것은 아니며, 발명의 상세한 설명에 기재된 다양한 실시 예들로서 이해되어야 할 것이다.

Description

음성 명령어 제공 방법 및 이를 지원하는 전자 장치{Providing Method For Voice Command and Electronic Device supporting the same}
다양한 실시 예들은 음성 명령어 제공에 관한 것이다.
최근 디지털 기술의 발달과 함께 이동통신 장치, PDA(Personal Digital Assistant), 전자수첩, 스마트 폰, 태블릿 PC(Personal Computer) 등과 같이 이동하면서 통신 및 개인정보 처리가 가능한 전자 장치가 다양하게 출시되고 있다. 이러한 전자 장치는 음성 인식 기능을 탑재하고 있다. 이에 따라 종래 전자 장치는 사용자가 음성을 입력하면, 이를 음성 인식하고, 인식 결과를 출력할 수 있다.
한편, 종래 전자 장치는 음성 인식 결과에 대한 신뢰도를 높이기 위하여 서버 장치 운용을 수행하고 있다. 이에 따라, 종래 전자 장치는 음성 인식 기능을 이용하는데 서버 장치로 음성 데이터를 전송하고 그에 대응하는 정보를 수신하는 동작에서 상당한 지연이 발생하는 문제점이 있었다. 상술한 지연은 음성 인식 기능을 반복적으로 운용하는 동작에서 불편함을 제공한다.
이에 따라, 다양한 실시 예들에서는 음성 인식에 이용되는 오디오 데이터가 설정된 조건을 만족하는 경우 음성 명령어로 변환하여 서버 운용에 따른 지연 없이 즉각적인 기능 처리가 가능하도록 하는 음성 명령어 제공 방법 및 이를 지원하는 전자 장치를 제공한다.
다양한 실시 예 중 한 실시 예의 전자 장치는 오디오 데이터를 수집하는 오디오 모듈, 상기 오디오 데이터의 오디오 특징 데이터, 상기 오디오 데이터를 음성 인식한 음성 인식 데이터, 또는 상기 오디오 데이터와 관련하여 실행되는 기능 수행 데이터 중 적어도 하나를 기반으로 특정 오디오 데이터 수집 시 전자 장치의 특정 기능을 음성으로 실행하도록 설정된 음성 명령어를 처리하는 제어 모듈을 포함할 수 있다.
한 실시 예에 따른 음성 명령어 제공 방법은 오디오 데이터를 수집하는 동작, 상기 오디오 데이터의 오디오 특징 데이터, 상기 오디오 데이터를 음성 인식한 음성 인식 데이터, 또는 상기 오디오 데이터와 관련하여 실행되는 기능 수행 데이터 중 적어도 하나를 기반으로 특정 오디오 데이터 수집 시 전자 장치의 특정 기능을 음성으로 실행하도록 설정된 음성 명령어를 갱신하는 동작을 포함할 수 있다.
전술한 바와 같은 내용들은 당해 분야 통상의 지식을 가진 자가 후술되는 다양한 실시 예의 구체적인 설명으로부터 보다 잘 이해할 수 있도록 하기 위하여 다양한 실시 예들의 특징들 및 기술적인 장점들을 다소 넓게 약술한 것이다. 이러한 특징들 및 장점들 이외에도 청구범위의 주제를 형성하는 다양한 실시 예들의 추가적인 특징들 및 장점들이 후술되는 구체적인 설명으로부터 잘 이해될 것이다.
다양한 실시 예에 따른 음성 명령어 제공 방법 및 이를 지원하는 전자 장치에 따르면, 다양한 실시 예는 사용자가 주로 사용하는 오디오 데이터를 음성 명령어화함으로써 신속한 기능 처리가 가능하도록 지원한다.
또한 다양한 실시 예는 오디오 데이터의 음성 명령어화에 따라 별도의 서버 장치 운용이 불필요하기 때문에 무선 데이터 자원을 절약할 수 있다.
또한 다양한 실시 예는 사용자의 오디오 데이터 운용 이력을 기반으로 음성 명령어들을 갱신함으로써 불필요한 음성 명령어들의 관리를 줄이고 사용자가 실질적으로 이용하고자 하는 기능에 대한 음성 명령어들에 대한 효율적 관리를 제공할 수 있다.
도 1은 한 실시 예에 따른 음성 명령어 제공 시스템을 도시한다.
도 2는 한 실시 예에 따른 제어 모듈과 저장 모듈을 도시한다.
도 3은 한 실시 예에 따른 서버 장치 블록도이다.
도 4는 한 실시 예에 따른 음성 명령어 처리와 관련한 블록도이다.
도 5는 한 실시 예에 따른 음성 명령어 제공 방법의 순서를 도시한다.
도 6은 다른 한 실시 예에 따른 음성 명령어 제공 방법을 도시한다.
도 7은 한 실시 예에 따른 음성 명령어 제공 관련 후보 인식 모델 처리 방법을 도시한다.
도 8은 한 실시 예에 따른 음성 명령어 제공과 관련한 사용자 인터페이스이다.
도 9는 다른 한 실시 예에 따른 전자 장치의 블록도이다.
이하, 첨부된 도면을 참조하여 본 발명(present disclosure)을 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
도 1은 한 실시 예에 따른 음성 명령어 제공 시스템을 도시한다.
도 1을 참조하면, 음성 명령어 제공 시스템 10은 전자 장치 100, 네트웍 300 및 서버 장치 200을 포함할 수 있다.
이러한 구성의 음성 명령어 제공 시스템 10은 전자 장치 100에서 수집한 오디오 데이터를 네트웍 300을 통해 서버 장치 200에 전송할 수 있다. 서버 장치 200은 오디오 데이터의 분석 데이터를 전자 장치 100에 전송할 수 있다. 전자 장치 100은 수신된 오디오 데이터 분석 데이터(예: 오디오 특징 데이터, 음성 인식 데이터, 기능 수행 데이터 등)를 기반으로 특정 오디오 데이터를 음성 명령어로 등록할 수 있다. 전자 장치 100은 음성 명령어에 해당하는 오디오 데이터가 수집되면 서버 장치 200과 독립적으로 음성 명령어에 대한 기능 처리를 수행할 수 있다. 상술한 음성 명령어 제공 시스템 10은 전자 장치 100의 특정 기능 수행과 관련하여 특정 오디오 데이터를 명령어로서 등록함으로써 기능 호출을 신속하게 진행할 수 있다. 또한 음성 명령어 제공 시스템 10은 전자 장치 100의 사용자가 입력하는 오디오 데이터의 이력에 따라 최근 자주 사용하는 기능을 음성 명령어로 변환하여 관리함으로써 실질적인 음성 명령어 체계를 구축할 수 있다. 또한 음성 명령어 제공 시스템 10은 사용되지 않은 음성 명령어를 제거함으로써 음성 명령어 체계를 효율적으로 관리할 수 있다.
네트웍 300은 전자 장치 100과 서버 장치 200 간의 통신 채널 형성을 지원할 수 있다. 네트웍 300은 전자 장치 100에 마련된 적어도 하나의 통신 모듈의 통신 방식을 지원할 수 있는 네트웍 장치 요소로 마련될 수 있다. 예컨대, 네트웍 300은 셀룰러 통신 관련 네트웍 장치 요소(예: 이동 기지국, 모바일 스위칭 센터 등), 와이파이 통신 관련 네트웍 장치 요소(예: AP(Access Point), 코어 네트웍 등) 등을 포함할 수 있다. 이러한 네트웍 300은 특정 장치 요소로 한정되는 것은 아니다. 네트웍 300은 전자 장치 100과 서버 장치 200 간에 오디오 데이터의 전송과 오디오 분석 데이터의 전송 가능한 적어도 하나의 통신 채널을 형성하는 적어도 하나의 장치 요소로 마련될 수 있다. 다양한 실시 예에 다르면, 전자 장치 100과 서버 장치 200 간의 근거리 무선 통신 방식 또는 직접 통신 방식(기지국을 거치지 않고 직접 통신 채널을 형성하는 방식)에 의한 통신 채널이 형성되는 경우 네트웍 300은 생략될 수도 있다. 이하 설명에서는 네트웍 300을 포함하는 형태를 기반으로 데이터 송수신이 수행되는 형태를 예시로서 설명하기로 한다.
서버 장치 200은 네트웍 300을 통하여 전자 장치 100과 통신 채널을 형성할 수 있다. 한 실시 예에 따르면, 서버 장치 200은 오디오 데이터의 수신 및 오디오 분석 데이터의 전송과 관련하여 전자 장치 100과 데이터 통신 채널을 형성할 수 있다. 한 실시 예에 따르면, 서버 장치 200은 전자 장치 100으로부터 오디오 데이터를 수신하는 음성 통신 채널 및 전자 장치 100으로 오디오 분석 데이터를 전송하는 데이터 통신 채널을 형성할 수 있다. 다양한 실시 예에 따르면, 서버 장치 200은 전자 장치 100의 음성 명령어를 관리 및 제공할 수도 있다. 예컨대, 서버 장치 200은 적어도 하나의 전자 장치 100별 또는 사용자 별 음성 명령어들에 대한 정보를 저장할 수 있다. 서버 장치 200은 전자 장치 100이 제공하는 오디오 데이터를 분석하고, 오디오 분석 데이터를 기반으로 전자 장치 100에서 수행되는 음성 명령어들의 삭제 또는 새 음성 명령어의 추가를 수행할 수 있다. 서버 장치 200은 음성 명령어 갱신이 발생하면, 음성 명령어 갱신 정보를 전자 장치 100에 제공할 수 있다.
전자 장치 100은 네트웍 300을 통하여 서버 장치 200과 접속을 수행하고, 서버 장치 200에 오디오 데이터를 전송할 수 있다. 전자 장치 100은 서버 장치 200으로부터 오디오 분석 데이터를 수신할 수 있다. 전자 장치 100은 수신된 오디오 분석 데이터를 기반으로 음성 명령어를 새로 생성하거나, 기 생성된 음성 명령어를 제거할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100은 기 생성된 음성 명령어를 수집된 오디오 데이터를 기반으로 갱신할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100은 입력 이벤트에 의해 특정 음성 명령어를 생성할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100은 타 전자 장치 또는 서버 장치 200 등으로부터 특정 음성 명령어를 수신하여 저장할 수 있다. 전자 장치 100은 수집되는 오디오 데이터 또는 서버 장치 200이 제공하는 오디오 분석 데이터를 이용하여 저장된 음성 명령어를 갱신할 수 있다. 한 실시 예에 따르면, 전자 장치 100은 지정된 특정 음성 명령어와 관련하여 수집되는 오디오 데이터 및 오디오 분석 데이터 중 적어도 하나에 의해 갱신되지 않도록 처리할 수 있다. 다양한 실시 예에 따르면, 전자 장치 100은 음성 명령어 갱신 동작에서 음성 명령어 생성과 관련한 후보 인식 모델을 운용할 수 있다. 음성 명령어는 인식 모델(오디오 특징 데이터, 음성 인식 데이터 중 적어도 하나를 포함하는 모델)에 포함되어 운용될 수 있다.
상술한 전자 장치 100은 통신 인터페이스 110, 입력 모듈 120, 오디오 모듈 130, 표시 모듈 140, 저장 모듈 150, 제어 모듈 160, 버스 170을 포함할 수 있다.
통신 인터페이스 110은 네트웍 300과 통신 채널을 형성할 수 있다. 한 실시 예에 따르면, 통신 인터페이스 110은 네트웍 300과 3G/4G 등의 통신 방식에 따른 통신 채널을 형성할 수 있다. 한 실시 예에 따르면, 통신 인터페이스 110은 와이파이 통신 방식에 따른 통신 채널을 형성할 수 있다. 통신 인터페이스 110은 네트웍 300을 통해 서버 장치 200과 통신 채널을 형성할 수 있다. 이와 관련하여, 전자 장치 100은 사전 저장된 또는 입력된 주소 정보를 이용하여 서버 장치 200 접속을 수행할 수 있다. 여기서 주소 정보는 IP 주소 등의 정보로서 네트웍 300에 등록된 서버 장치 200의 식별 정보를 포함할 수 있다.
한 실시 예에 따르면, 통신 인터페이스 110은 전자 장치 100의 특정 기능 수행(예: 갤럭시의 S-Voice와 같은 음성 검색 기능, 아이폰의 Siri와 같은 음성 검색 기능 등) 시 자동으로 활성화할 수 있다. 또는 통신 인터페이스 110은 특정 기능 수행에 따라 오디오 데이터가 수집되면 활성화될 수 있다. 통신 인터페이스 110은 수집된 오디오 데이터를 서버 장치 200에 전송할 수 있다. 이 동작에서 통신 인터페이스 110은 전자 장치 100의 식별 정보(예: 전자 장치 100의 주소 정보, 전자 장치 100의 전화 번호 정보, MAC 주소와 같은 전자 장치 100의 하드웨어 관련 정보 등)를 전송할 수 있다.
한 실시 예에 따르면, 통신 인터페이스 110은 서버 장치 200으로부터 오디오 분석 데이터(전송한 오디오 데이터와 관련한 오디오 특징 데이터, 음성 인식 데이터, 기능 수행 데이터 중 적어도 하나를 포함)를 수신할 수 있다. 통신 인터페이스 110은 수신된 오디오 분석 데이터를 저장 모듈 150 및 제어 모듈 160 중 적어도 하나에 전달할 수 있다. 한 실시 예에 따르면, 통신 인터페이스 110은 서버 장치 200으로부터 음성 명령어 및 음성 명령어 갱신 정보 중 적어도 하나를 수신할 수 있다. 통신 인터페이스 110이 수신한 음성 명령어 및 음성 명령어 갱신 정보는 저장 모듈 150 및 제어 모듈 160에 저장 또는 갱신될 수 있다.
입력 모듈 120은 전자 장치 100 운용과 관련한 입력 신호를 생성할 수 있다. 예컨대, 입력 모듈 120은 물리 키 버튼(예: 홈 키, 사이드 키, 전원 키 등), 죠그 키, 키패드 등을 포함할 수 있다. 입력 모듈 120은 표시 모듈 140에 출력되는 가상 키 패드를 입력 장치로 포함할 수 있다. 입력 모듈 120은 특정 앱(어플리케이션, 예: 음성 검색 기능, 음성 명령어 관리 기능 등) 실행과 관련한 입력 신호를 생성할 수 있다. 한 실시 예에 따르면, 입력 모듈 120은 특정 음성 명령어에 해당하는 문자 입력과 관련한 입력 신호를 생성할 수 있다. 입력 모듈 120은 서버 장치 200 접속을 요청하는 입력 신호, 서버 장치 200으로부터 특정 음성 명령어 수신과 관련한 입력 신호 등을 생성할 수 있다. 음성 명령어는 인식 모델(오디오 데이터, 오디오 특징 데이터, 음성 인식 데이터 중 적어도 하나를 포함하는 모델)에 대응할 수 있다.
오디오 모듈 130은 전자 장치 100의 오디오 데이터 출력과 오디오 데이터 수집과 관련한 기능을 지원할 수 있다. 이와 관련하여, 오디오 모듈 130은 오디오 데이터 출력을 수행하는 스피커, 오디오 데이터 수집을 지원하는 적어도 하나의 마이크를 포함할 수 있다. 오디오 모듈 130은 전자 장치 100의 특정 앱(예: 음성 검색 기능 등)이 실행되면 자동으로 활성화될 수 있다. 한 실시 예에 따르면, 오디오 모듈 130은 전자 장치 100에 전원이 공급되면 활성화되어 오디오 데이터 수집을 실시간 또는 일정 주기(Always on mode : 음성 검색 또는 수집 기능이 백그라운드 프로세싱으로 수행되는 모드 또는 기능)로 수행할 수도 있다. 오디오 모듈 130이 수집한 오디오 데이터는 제어 모듈 160의 제어에 따라 저장 모듈 150에 저장되거나 통신 인터페이스 110을 통해 서버 장치 200에 전송될 수 있다.
한 실시 예에 따르면, 오디오 모듈 130은 특정 오디오 데이터 수집 시, 수집된 오디오 데이터에 대한 응답 정보를 출력할 수 있다. 예컨대, 오디오 모듈 130은 수집된 오디오 데이터에 대한 음성 인식 결과, 음성 인식된 결과를 기반으로 수행되는 기능의 종류를 설명하는 정보, 수집된 오디오 데이터에 대응하는 음성 명령어의 생성 또는 특정 음성 명령어의 제거와 관련한 정보 출력을 수행할 수 있다. 오디오 모듈 130이 수집한 오디오 데이터는 앞서 언급한 바와 같이 서버 장치 200에 전송될 수도 있으나, 전자 장치 100에 의해 음성 인식될 수도 있다. 예컨대, 전자 장치 100이 서버 장치 200 접속이 불가능한 경우, 전자 장치 100은 수집된 오디오 데이터에 대한 음성 인식을 수행할 수 있다.
한 실시 예에 따르면, 오디오 모듈 130은 음성 명령어 처리와 관련한 정보, 음성 명령어 처리에 따른 기능 실행과 관련한 정보, 음성 명령어 갱신(음성 명령어 새로 생성 또는 기존 음성 명령어의 변경 또는 삭제 등)과 관련한 정보 등을 출력할 수 있다. 오디오 모듈 130의 상술한 정보 출력은 사용자 설정 등에 따라 생략될 수도 있다.
표시 모듈 140은 전자 장치 100 운용과 관련한 적어도 하나의 화면 인터페이스(또는 사용자 인터페이스)를 제공할 수 있다. 예컨대, 표시 모듈 140은 락 스크린, 슬립 모드 상태의 턴-오프 화면, 대기 화면, 메뉴 화면 등을 출력할 수 있다. 한 실시 예에 따르면 표시 모듈 140은 특정 기능 실행(예: 음성 검색 기능)에 따른 화면을 출력할 수 있다. 표시 모듈 140은 음성 검색 기능 실행 시 음성 검색 기능과 관련한 화면을 출력할 수 있다. 표시 모듈 140은 마이크가 특정 오디오 데이터를 수집한 경우 수집된 오디오 데이터의 서버 장치 200 전송과 관련한 화면, 서버 장치 200으로부터 오디오 분석 데이터 수신과 관련한 화면, 수신된 오디오 분석 데이터에 의한 음성 명령어의 갱신과 관련한 화면 등을 출력할 수 있다. 표시 모듈 140은 특정 음성 명령어에 해당하는 오디오 데이터가 수집되는 경우 해당 음성 명령어에 대응하는 기능 실행 화면을 출력할 수 있다.
한 실시 예에 따르면, 표시 모듈 140은 음성 명령어에 대응하는 문자 입력과 관련한 가상 키패드 화면을 출력할 수 있다. 표시 모듈 140은 저장된 음성 명령어들과 관련한 리스트 화면, 음성 명령어 편집과 관련한 화면 등을 출력할 수도 있다. 음성 명령어들과 관련한 리스트 화면은 적어도 하나의 음성 명령어, 각 음성 명령어 입력 시 수행될 기능 항목들에 대한 정보를 포함할 수 있다. 표시 모듈 140은 음성 명령어들과 관련한 후보 인식 모델들에 대한 정보 화면을 출력할 수 있다. 후보 인식 모델들에 대한 정보는 오디오 특징 데이터(오디오의 주파수 특성 또는 시간 도메인 특성 등의 데이터), 음성 인식 데이터(음성 인식된 문자 등의 데이터), 기능 수행 데이터(오디오 데이터에 대응하여 실행된 특정 기능 항목), 가중치(동일 오디오 데이터의 수집 횟수 등) 정보를 포함할 수 있다.
저장 모듈 150은 전자 장치 100의 운용과 관련한 정보 예컨대 운영 체제, 특정 기능 실행에 따른 앱 데이터 등을 저장할 수 있다. 저장 모듈 150은 음성 명령어 제공 기능과 관련한 데이터를 저장할 수 있다. 예컨대, 저장 모듈 150은 오디오 모듈 130의 마이크가 수집한 오디오 데이터를 저장할 수 있다. 저장 모듈 150은 전송된 오디오 데이터에 대응하여 서버 장치 200이 제공한 오디오 분석 데이터를 저장할 수 있다. 이와 관련하여 저장 모듈 150은 음성 명령어 생성 테이블을 저장할 수 있다. 저장 모듈 150은 음성 검색 기능과 관련한 앱을 저장할 수 있다. 저장 모듈 150은 음성 명령어에 의해 실행될 다양한 앱을 저장할 수 있다. 저장 모듈 150에 저장된 음성 명령어 생성 테이블은 수집되는 오디오 데이터 또는 수신되는 오디오 분석 데이터, 서버 장치 200이 제공하는 갱신 정보 등에 의해 갱신될 수 있다.
버스 170은 전자 장치 100의 각 구성들 간 신호 흐름을 지원할 수 있다. 예컨대 버스 170은 오디오 모듈 130이 수집한 오디오 데이터를 제어 모듈 160에 전달하거나, 제어 모듈 160 제어에 따라 통신 인터페이스 110에 전달할 수 있다. 또한, 버스 170은 통신 인터페이스 110을 통해 수신된 오디오 분석 데이터를 저장 모듈 150 및 제어 모듈 160 중 적어도 하나에 전달할 수 있다.
제어 모듈 160은 전자 장치 100의 운용과 관련한 데이터의 전송과 처리를 수행할 수 있다. 제어 모듈 160은 전자 장치 100 운용 제어와 관련한 제어 신호의 전송과 처리를 수행할 수 있다. 제어 모듈 160은 음성 명령어 제공 기능 지원과 관련하여 도 2에 도시된 바와 같이 마련될 수 있다.
도 2는 한 실시 예에 따른 제어 모듈과 저장 모듈을 도시한다.
도 2를 참조하면, 한 실시 예에 따른 전자 장치 100의 저장 모듈 150은 음성 명령어 생성 테이블 50, 후보 인식 모델 60, 인식 모델 70, 음성 명령어 80을 포함할 수 있다.
음성 명령어 생성 테이블 50은 오디오 특징 데이터 51, 음성 인식 데이터 53, 기능 수행 데이터 55, 가중치 57을 포함할 수 있다. 음성 명령어 생성 테이블 50에 포함된 오디오 특징 데이터 51, 음성 인식 데이터 53 및 기능 수행 데이터 55는 서버 장치 200에서 제공된 오디오 분석 데이터를 기반으로 수집될 수 있다. 다양한 실시 예에 따르면, 오디오 특징 데이터 51, 음성 인식 데이터 53은 전자 장치 100의 분석에 의해 수집될 수도 있다. 이와 관련하여 전자 장치 100은 음성 인식 알고리즘(오디오 데이터에 대한 음성 인식을 수행하여 텍스트로 출력하는 알고리즘), 오디오 특징 분석 모듈(오디오 데이터의 음향적 특성 예컨대 오디오 데이터의 스펙트럼 정보를 추출하는 모듈) 등을 더 포함할 수 있다. 또한 전자 장치 100의 제어 모듈 160은 음성 인식된 결과를 통해 전자 장치 100에서 실행되는 기능을 매핑하여 기능 수행 데이터 55를 생성 및 저장하도록 제어할 수도 있다.
오디오 특징 데이터 51은 특정 오디오 데이터(예: 사용자가 발화한 오디오 데이터)에 대한 오디오 특징(MFCC(Mel frequency cepstral coefficients), LPC(linear prediction coefficients), LSP(line spectral pairs), autocorrelation, power spectrum, pitch 등과 같은 주파수 또는 시간축 영역 특징값을 포함)에 관한 데이터일 수 있다. 오디오 특징 데이터 51은 적어도 하나의 단어, 어절, 구, 문장, 문단, 페이지별로 포함된 적어도 하나의 오디오 특징들을 포함할 수 있다. 오디오 특징 데이터 51은 각 오디오 데이터별로 오디오 특징이 매핑된 데이터일 수 있다. 각 오디오 데이터별 오디오 특징에 관한 오디오 특징 데이터 51은 서버 장치 200으로부터 수신되어 저장될 수 있다. 또는 전자 장치 100에 의하여 오디오 특징 데이터 51이 검출되어 저장될 수도 있다.
음성 인식 데이터 53은 음성 인식된 텍스트 정보일 수 있다. 전자 장치 100의 제어 모듈 160은 사용자가 발화하여 수집된 특정 오디오 데이터를 통신 인터페이스 110을 통해 서버 장치 200에 전송할 수 있다. 제어 모듈 160은 특정 오디오 데이터에 대응하는 음성 인식 결과(예: 텍스트)를 수신하여 저장 모듈 150에 저장할 수 있다. 음성 인식 데이터 53은 특정 오디오 데이터에 매핑된 텍스트를 포함할 수 있다.
기능 수행 데이터 55는 특정 오디오 데이터에 매핑된 전자 장치 100의 기능 수행 정보를 포함할 수 있다. 한 실시 예에 따르면, 기능 수행 데이터 55는 서버 장치 200으로 전송한 오디오 데이터와 관련하여 서버 장치 200이 분석한 전자 장치 100의 특정 기능 수행 정보를 포함할 수 있다. 한 실시 예에 따르면, 기능 수행 데이터 55는 전자 장치 100이 수집된 오디오 데이터에 의해 실행되는 특정 기능 수행 정보를 매핑한 데이터일 수 있다.
가중치 57은 각 오디오 특징 데이터 51, 음성 인식 데이터 53 및 기능 수행 데이터 55들과 관련한 오디오 데이터 수집 횟수 및 수집 시점 등에 대한 정보, 오디오 데이터에 의해 실행되는 특정 앱의 사용 빈도수, 특정 앱의 사용 시간 등을 기반으로 정의될 수 있다. 한 실시 예에 따르면, 가중치 57은 수집된 각각의 오디오 데이터들의 수집 횟수에 대응하여 상대적으로 큰 값을 가질 수 있다. 한 실시 예에 따르면, 가중치 57은 오디오 데이터들이 수집된 시점이 최근 시점일수록 상대적으로 큰 값을 가질 수 있다. 한 실시 예에 따르면, 가중치 57은 정해진 일정 기간 내에 수집된 오디오 데이터들의 횟수에 대응하여 상대적으로 큰 값을 가질 수 있다. 가중치 57은 후보 인식 모델 60 또는 인식 모델 70 생성 및 그에 따른 음성 명령어 80 생성에 이용될 수 있다.
예컨대, 수집된 오디오 데이터는 다음과 같은 영어로 발화된 정보일 수 있다. 발화된 정보 : Hello, how are you doing?(첫번째 수집된 오디오 데이터 1), Show me nearest restaurants(두번째 수집된 오디오 데이터 2), Is it going to rain tomorrow?(세번째 수집된 오디오 데이터 3), How do I get to the nearest subway station?(네번째 수집된 오디오 데이터 4), Show me nearest restaurants(다섯번째 수집된 오디오 데이터 5), What is stock price of Samsung Electronics?(여섯번째 수집된 오디오 데이터 6), Is it going to rain tomorrow?(일곱번째 수집된 오디오 데이터 7), Set an alarm for 6am on Monday(여덟번째 수집된 오디오 데이터 8), I feel like having an ice-cream(아홉번째 수집된 오디오 데이터 9), Show me nearest restaurants(열번째 수집된 오디오 데이터 10). 제어 모듈 160은 상술한 오디오 데이터에 대하여 다음 표 1에서와 같은 음성 명령어 테이블을 구성할 수 있다. 다음 표 1은 수집된 오디오 데이터에 대한 오디오 특징 데이터 51, 음성 인식 데이터 53 및 기능 수행 데이터 55와 가중치 57 테이블을 예시한 것이다.
가중치 오디오 특징 데이터 음성 인식 데이터 기능 수행 데이터
3 2,5,10 Show me nearest restaurants Open Map (Local search)
2 3,7 Is it going to rain tomorrow? Weather for current location
1 1 Hello, how are you doing? Chatbot response
1 4 How do I get to the nearest subway station? Open Map (Navigation)
1 6 What is the stock price of Samsung Electronics? QnA
1 8 Set an alarm for 6am on Monday Alarm
1 9 I feel like having an ice-cream Open Map (Local search)
후보 인식 모델 60은 인식 모델 70 생성 이전에 준비되는 후보 모델들일 수 있다. 후보 인식 모델 60은 예컨대, 특정 오디오 데이터가 정해진 일정 조건(예: 정해진 일정 수집 횟수, 정해진 일정 시점 이내의 수집, 오디오 데이터에 의해 실행되는 특정 앱의 사용 빈도수, 특정 앱의 사용 시간 등)을 만족하는 경우 해당 오디오 데이터에 대응하는 오디오 특징 데이터 51과 음성 인식 데이터 53 및 기능 수행 데이터 55를 기반으로 생성될 수 있다. 정해진 일정 조건 이하인 경우(예: 정해진 일정 기간 동안 관련 오디오 데이터 수집이 없거나, 오디오 데이터에 의해 실행되는 특정 앱의 사용 빈도수 또는 사용 시간이 일정 값 이하인 경우)에 특정 오디오 데이터와 관련한 후보 인식 모델 60은 제거될 수 있다. 다양한 실시 예에 따르면, 전자 장치 100의 음성 명령어 제공 기능에서 후보 인식 모델 60 처리 동작은 생략될 수도 있다. 이 경우 저장 모듈 150에는 후보 인식 모델 60이 저장되지 않을 수 있다.
인식 모델 70은 음성 명령어 80에 대응하는 비교 정보일 수 있다. 인식 모델 70은 각각의 음성 명령어 80에 매핑된 정보를 포함할 수 있다. 한 실시 예에 따르면, 인식 모델 70은 특정 음성 명령어 80에 대응하는 오디오 특징 데이터 51, 음성 인식 데이터 53 중 적어도 하나를 포함할 수 있다. 한 실시 예에 따르면, 인식 모델 70은 정해진 일정 조건을 만족하는 오디오 데이터가 수집되면 해당 오디오 데이터에 대응하는 음성 명령어 생성 테이블 50을 기반으로 생성될 수 있다. 한 실시 예에 따르면, 인식 모델 70은 정해진 일정 조건 이하가 되면 제거될 수도 있다. 후보 인식 모델 60을 운용하는 경우, 후보 인식 모델 60 중 정해진 일정 조건을 만족한 후보 인식 모델 60이 인식 모델 70으로 변경될 수 있다.
음성 명령어 80은 인식 모델 70 각각에 매핑되어 저장될 수 있다. 음성 명령어 80은 기능 수행 데이터 55에 매핑될 수 있다. 음성 명령어 80은 새로운 인식 모델 70이 생성되는 경우 새로 추가될 수 있다. 음성 명령어 80은 인식 모델 70에 제거되는 경우 제거될 수 있다. 음성 명령어 80 중 적어도 하나의 음성 명령어는 별도의 정해진 조건에 관계없이 제거되지 않고 유지될 수 있다. 음성 명령어 80은 음성 바로 가기(예: 음성 숏컷(voice shortcut) 기능에 이용되는 명령어일 수 있다. 예컨대, 음성 명령어 80에 해당하는 오디오 데이터가 수집되면 제어 모듈 160은 음성 명령어 80에 매핑된 기능을 실행하도록 제어할 수 있다.
제어 모듈 160은 오디오 데이터 처리 모듈 161, 인식 모델 처리 모듈 163, 음성 명령어 처리 모듈 165를 포함할 수 있다.
오디오 데이터 처리 모듈 161은 오디오 데이터의 수집과 처리를 제어할 수 있다. 예컨대, 오디오 데이터 처리 모듈 161은 음성 검색 기능 활성화 시 마이크를 활성화하도록 제어할 수 있다. 오디오 데이터 처리 모듈 161은 마이크가 수집한 오디오 데이터를 서버 장치 200에 전송하도록 제어할 수 있다. 오디오 데이터 처리 모듈 161은 서버 장치 200이 제공한 오디오 데이터에 대응하는 오디오 분석 데이터 수신을 제어할 수 있다. 오디오 데이터 처리 모듈 161은 수신된 오디오 분석 데이터에서 오디오 특징 데이터 51, 음성 인식 데이터 53 및 기능 수행 데이터 55를 추출할 수 있다. 오디오 데이터 처리 모듈 161은 추출된 데이터들을 기반으로 저장 모듈 150에 저장된 각각의 데이터들을 갱신할 수 있다.
한 실시 예에 따르면, 오디오 데이터 처리 모듈 161은 오디오 특징 데이터 51을 수집된 오디오 데이터와 관련하여 매핑할 수 있다. 예컨대, 오디오 데이터 처리 모듈 161은 “카메라”, “날씨”, “뉴스”, “증권 정보”, “엄마에게 전화해 줘” 등의 오디오 데이터들(또는 오디오 데이터들)에 대한 오디오 특징 데이터 51들을 서버 장치 200으로부터 수신하면, 수신된 오디오 특징 데이터 51들을 각 오디오 데이터별로 매핑하여 저장할 수 있다.
한 실시 예에 따르면, 오디오 데이터 처리 모듈 161은 “카메라”와 같은 한 단어 오디오 데이터(또는 오디오 데이터)에 대한 오디오 특징 데이터 51을 매핑하여 저장할 수 있다. 한 실시 예에 따르면, 오디오 데이터 처리 모듈 161은 “엄마에게 전화해 줘”와 같은 3어절 각각에 대한 오디오 특징 데이터들을 해당 문자에 매핑하여 하나의 오디오 특징 데이터 51로 저장할 수 있다. 오디오 특징 데이터 51은 사용자가 발화한 상황이나 환경 또는 사용자의 신체적 변화 등에 의하여 일정 오차 범위를 가질 수 있다. 예컨대, “엄마에게 전화해줘”에 대한 오디오 특징은 발화 장소(예: 개방 지역, 밀폐 장소, 노이즈가 일정 값 이상인 장소, 기압이 다른 장소 등)에 따라 일정 차이 값을 가질 수 있다. 오디오 데이터 처리 모듈 161은 정해진 일정 오차 범위 이내의 오디오 특징들을 하나의 오디오 데이터에 대한 오디오 특징들로 매핑하여 오디오 특징 데이터 51로서 저장할 수 있다. 다양한 실시 예에 따르면, 서버 장치 200 또는 전자 장치 100은 유사한 문장으로 구성된 오디오 데이터라 하더라도 다른 단어가 포함된 문장은 서로 다른 오디오 특징으로 분류할 수 있다. 예컨대, 오디오 데이터 처리 모듈 161은 엄마에게 전화해 줘”에 해당하는 오디오 데이터와 “언니에게 전화해줘”에 해당하는 오디오 데이터를 서로 다른 오디오 특징 데이터로 분류하여 저장할 수 있다.
다양한 실시 예에 따르면, 오디오 데이터 처리 모듈 161은 전자 장치 100이 서버 장치 200과 통신 채널을 형성할 수 없는 상황에서 음성 검색 기능이 수행되는 경우, 또는 정해진 스케줄 정보에 따라 기 저장된 음성 인식 알고리즘 및 오디오 특징 추출 모듈을 이용하여 수신된 오디오 데이터에 대한 음성 인식 데이터 및 오디오 특징 데이터를 추출할 수 있다. 이와 관련하여 오디오 데이터 처리 모듈 161은 오디오 데이터 음성 인식과 관련한 음성 인식기 또는 음성 인식 프로세서를 포함할 수 있다. 예컨대, 오디오 데이터 처리 모듈 161은 오디오 데이터가 음성 바로 가기 기능(예: S-Voice, 시리 등)과 관련된 것인지 음성 인식하는 음성 인식기와, 음성 바로 기능 수행 상태에서 어떠한 기능을 실행할 것인지를 판단하기 위한 음성 인식기(예: 음성 명령어 추출))를 포함할 수 있다. 오디오 데이터 처리 모듈 161은 추출된 데이터들을 이용하여 저장 모듈 150에 저장된 음성 인식 데이터 53 및 오디오 특징 데이터 51을 갱신할 수 있다. 오디오 데이터 처리 모듈 161은 음성 인식 이후 기능 수행 상태를 확인하고, 기능 수행 정보를 기반으로 기능 수행 데이터 55를 갱신할 수 있다.
인식 모델 처리 모듈 163은 후보 인식 모델 60 및 인식 모델 70 중 적어도 하나를 관리할 수 있다. 한 실시 예에 따르면, 인식 모델 처리 모듈 163은 전자 장치 100이 수집하는 오디오 데이터의 분석 데이터의 가중치 57을 기반으로 새로운 후보 인식 모델 60을 생성하도록 제어할 수 있다. 인식 모델 처리 모듈 163은 수집된 오디오 데이터와 관련하여 후보 인식 모델 60의 스코어를 변경한 후 일정 조건에 따라 후보 인식 모델 60을 인식 모델 70으로 변경하거나, 후보 인식 모델 60에서 제거할 수 있다. 인식 모델 처리 모듈 163은 특정 조건에 대응하여 후보 인식 모델 60을 인식 모델 70으로 변경하여 새로운 인식 모델 70을 생성할 수 있다. 인식 모델 처리 모듈 163은 새로운 인식 모델 70이 생성되면, 인식 모델 70에 대응하는 음성 명령어를 생성할 수 있다. 또는 인식 모델 70 생성에 기여한 오디오 데이터의 분석 데이터를 기반으로 음성 명령어를 자동으로 생성할 수 있다. 다양한 실시 예에 다르면, 인식 모델 처리 모듈 163은 특정 인식 모델 70을 제거하면 그에 대응하는 음성 명령어를 제거할 수 있다.
다양한 실시 예에 따르면, 대용량 어휘 인식기(large vocabulary recognition Processor(or device))를 전자 장치 100에서 운용하는 경우, 음성 명령어 리스트를 기반으로 음성 인식 수행이 가능할 수 있다. 이에 대응하여, 인식 모델 처리 모듈 163은 음성 명령어 처리 모듈 165로 통합되어 하나의 모듈로 구성될 수 있다. 이와 유사하게, 전자 장치 100은 음성 명령어와 인식 모델 중 적어도 하나를 기반으로 음성 명령어 처리를 지원할 수 있다. 예컨대, 전자 장치 100은 인식 모델의 운용 없이 오디오 데이터와 음성 명령어를 매핑하고, 이를 기반으로 음성 명령어 처리를 지원할 수 있다. 또는 전자 장치 100은 인식 모델과 오디오 데이터를 매핑하고, 인식 모델에 특정 기능을 매핑함으로써, 인식 모델 기반의 기능 처리를 지원할 수도 있다.
음성 명령어 처리 모듈 165는 전자 장치 100이 수집한 오디오 데이터가 음성 명령어에 대응하는지를 판단할 수 있다. 음성 명령어 처리 모듈 165는 수집한 오디오 데이터가 음성 명령어에 대응하는 경우, 음성 명령어에 매핑된 특정 기능을 실행하도록 제어할 수 있다. 이 동작에서 음성 명령어 처리 모듈 165는 인식 모델 70과 수집된 오디오 데이터를 상호 비교하여 유사도를 판단할 수 있다. 음성 명령어 처리 모듈 165는 유사도가 일정 값 이상인 인식 모델 70을 검출하고, 인식 모델 70에 매핑된 음성 명령어의 기능 항목을 확인할 수 있다.
상술한 바와 같이 다양한 실시 예에 따른 전자 장치 100은 실시간 또는 일정 주기 또는 특정 앱 실행 시 획득된 오디오 데이터의 오디오 분석 데이터를 수집할 수 있다. 전자 장치 100은 오디오 분석 데이터를 기반으로 새로운 음성 명령어를 생성하거나 또는 음성 명령어를 갱신하여 사용자가 주로 사용하는 앱 또는 많이 사용하는 앱이나 기능에 대응하는 음성 명령어의 생성 및 관리가 가능하도록 지원할 수 있다.
도 3은 한 실시 예에 따른 서버 장치 블록도이다.
도 3을 참조하면, 한 실시 예에 따른 서버 장치 200은 서버 통신 모듈 210, 서버 저장 모듈 150, 서버 제어 모듈 260을 포함할 수 있다.
서버 통신 모듈 210은 네트웍 300과 통신 채널을 형성하고, 전자 장치 100의 접속에 대응하여 통신 채널을 형성할 수 있다. 서버 통신 모듈 210은 전자 장치 100으로부터 사용자가 발화한 오디오 데이터에 해당하는 오디오 데이터를 수신할 수 있다. 수신된 오디오 데이터는 서버 저장 모듈 150 및 서버 제어 모듈 260 중 적어도 하나에 전달될 수 있다. 서버 통신 모듈 210은 서버 제어 모듈 260의 제어에 따라 오디오 분석 데이터를 전자 장치 100으로 전송할 수 있다. 다양한 실시 예에 따르면, 서버 통신 모듈 210은 특정 전자 장치 100과 관련한 음성 명령어 및 음성 명령어 갱신 정보를 전자 장치 100에 전송할 수 있다.
서버 저장 모듈 150은 음성 명령어 제공 기능과 관련한 프로그램 및 데이터를 저장할 수 있다. 예컨대, 서버 저장 모듈 150은 음성 인식(Automatic Speech Recognition) 알고리즘 251 및 음성 명령어 데이터베이스 253을 저장할 수 있다. 음성 인식 알고리즘 251은 전자 장치 100이 전송한 오디오 데이터에 대한 음성 인식을 지원하는 알고리즘일 수 있다. 음성 명령어 데이터베이스 253은 각 전자 장치별 음성 명령어들에 대한 정보를 포함할 수 있다. 한 실시 예에 따르면, 서버 저장 모듈 150은 오디오 데이터 분석 프로그램을 저장할 수 있다. 오디오 데이터 분석 프로그램은 예컨대 오디오 데이터 수집 루틴(명령어 또는 명령어 셋, 함수, 구문, 탬플릿, 클래스 등을 포함하여 특정 기능 실행이 되도록 설계된 프로그래머블 정보), 데이터 처리 루틴 및 처리 데이터 전송 루틴을 포함할 수 있다.
서버 제어 모듈 260은 전자 장치 100의 접속, 오디오 데이터의 분석과 분석 데이터 제공, 음성 명령어 관리 중 적어도 하나의 수행을 제어할 수 있다. 이러한 서버 제어 모듈 260은 도 4에 도시된 바와 같은 음성 명령어 관련 블록 201을 포함할 수 있다. 다양한 실시 예에 따르면, 음성 명령어 관련 블록 201은 전자 장치 100에 구축되어 운용될 수도 있다.
도 4는 한 실시 예에 따른 음성 명령어 처리와 관련한 블록도이다.
도 4를 참조하면, 음성 명령어 관련 블록 201은 음성 검색 관리자 280 및 음성 명령어 관리자 290를 포함할 수 있다. 음성 명령어 관련 블록 201 중 적어도 하나의 블록은 서버 제어 모듈 260의 구성에 포함될 수 있다.
음성 검색 관리자 280은 오디오 데이터 수집 모듈 281, 데이터 처리 모듈 283, 처리 데이터 전송 모듈 285를 포함할 수 있다.
오디오 데이터 수집 모듈 281은 서버 통신 모듈 210이 전자 장치 100과의 통신 채널을 형성하도록 제어할 수 있다. 예컨대, 오디오 데이터 수집 모듈 281은 서버 통신 모듈 210이 전자 장치 100의 연결 요청을 수신하면, 그에 대응하여 통신 연결 처리를 제어할 수 있다. 오디오 데이터 수집 모듈 281은 전자 장치 100이 제공하는 오디오 데이터를 전자 장치 100의 식별 정보와 함께 수집할 수 있다. 오디오 데이터 수집 모듈 281은 오디오 데이터를 데이터 처리 모듈 283에 전달할 수 있다.
데이터 처리 모듈 283은 오디오 데이터 수집 모듈 281이 전달한 오디오 데이터에 대한 분석을 수행할 수 있다. 데이터 처리 모듈 283은 수집된 오디오 데이터에서 오디오 특징 데이터, 음성 인식 데이터 및 기능 수행 데이터를 추출할 수 있다. 이와 관련하여, 데이터 처리 모듈 283은 오디오 데이터의 주파수 스펙트럼을 분석할 수 있는 분석 모듈을 포함할 수 있다. 데이터 처리 모듈 283은 음성 인식 데이터 추출과 관련하여 저장 모듈 150에 저장된 음성 인식 알고리즘 251을 운용할 수 있다. 데이터 처리 모듈 283은 음성 인식 알고리즘 251 운용을 통해 오디오 데이터에 대한 텍스트 정보를 수집할 수 있다.
데이터 처리 모듈 283은 기능 수행 데이터 추출과 관련하여 NLU(natural language processing) 모듈을 운용할 수 있다. NLU 모듈은 오디오 데이터에서 자연어들을 추출하고, 추출된 자연어들을 조합하여 수행 요청된 기능 수행 정보를 추출할 수 있다. 이와 관련하여 데이터 처리 모듈 283은 전자 장치 100의 식별 정보 및 사전 저장된 전자 장치별 설치 기능의 종류 정보를 비교하여 전자 장치 100에 설치된 기능의 종류 정보를 확인할 수 있다. 또는 서버 장치 200은 전자 장치 100으로부터 기능 종류 정보를 요청하여 데이터 처리 모듈 283에 제공할 수도 있다. 데이터 처리 모듈 283은 오디오 데이터에 포함된 자연어들의 분석 결과와 사전 저장된 장치별 기능 종류 정보(각 기능별 적어도 하나의 자연어들이 매핑된 데이터베이스)를 기반으로 기능 수행 정보를 추출할 수 있다. 예컨대, 데이터 처리 모듈 283은 자연어들의 분석을 통해 파악된 질의에 대한 의도(intent) 및 지정된 다양한 조건을 확인하여 수집된 오디오 데이터에 대응하는 기능 수행 정보를 추출할 수 있다. 추출된 기능 수행 정보는 처리 데이터 전송 모듈 285에 제공될 수 있다.
처리 데이터 전송 모듈 285는 오디오 데이터를 제공한 전자 장치 100에 데이터 처리 모듈 283이 제공하는 오디오 특징 데이터, 음성 인식 데이터, 기능 수행 정보를 전달할 수 있다. 이와 관련하여 처리 데이터 전송 모듈 285는 오디오 데이터 수집 모듈 281로부터 전자 장치 100과의 접속 정보를 전달받을 수 있다. 다양한 실시 예에 따르면, 처리 데이터 전송 모듈 285는 음성 명령어 관리자 290에 오디오 특징 데이터, 음성 인식 데이터, 기능 수행 정보를 전달할 수 있다.
음성 명령어 관리자 290은 처리 데이터 수집 모듈 291, 음성 명령어 관리 모듈 293을 포함할 수 있다.
처리 데이터 수집 모듈 291은 음성 검색 관리자 280이 제공하는 오디오 특징 데이터, 음성 인식 데이터, 기능 수행 정보를 수신할 수 있다. 처리 데이터 수집 모듈 291은 수신된 오디오 특징 데이터, 음성 인식 데이터 및 기능 수행 정보를 각 전자 장치별로 또는 사용자별로 구분 가능하도록 서버 저장 모듈 150에 저장할 수 있다. 처리 데이터 수집 모듈 291은 수집된 오디오 특징 데이터, 음성 인식 데이터, 기능 수행 정보들에 대하여 가중치를 결정할 수 있다. 예컨대, 처리 데이터 수집 모듈 291은 특정 오디오 데이터의 수신 반복 횟수, 특정 오디오 데이터의 수신 시점 등에 대한 정보를 토대로 각 데이터들에 대한 가중치(또는 스코어)를 결정할 수 있다. 한 실시 예에 따르면, 처리 데이터 수집 모듈 291은 일정 기간내에 상대적으로 빈번하게 수신되면 상대적으로 높은 가중치를 설정할 수 있다. 또한 처리 데이터 수집 모듈 291은 일정 기간내 수신된 횟수에 따라 일정 가중치를 증가시켜 부여할 수 있다. 한 실시 예에 따르면, 처리 데이터 수집 모듈 291은 현재를 기준으로 상대적으로 최근에 수신된 오디오 데이터들의 가중치를 상대적으로 높게 설정할 수 있다. 또는 처리 데이터 수집 모듈 291은 현재를 기준으로 수신된 시간 간격에 따라 일정 가중치(예: 시간 간격이 클수록 증가되는 마이너스 가중치, 마이너스 가중치 : 중요도를 줄이도록 해석되는 가중치)를 부여할 수 있다.
처리 데이터 수집 모듈 291은 설정된 가중치가 일정 조건 이상인 경우 해당 가중치에 대응하는 오디오 데이터의 음성 명령어를 생성할 수 있다. 처리 데이터 수집 모듈 291은 생성된 음성 명령어를 음성 명령어 관리 모듈 293에 전달할 수 있다. 한 실시 예에 따르면, 처리 데이터 수집 모듈 291은 가중치 변경 정보를 음성 명령어 관리 모듈 293에 전달할 수도 있다. 다양한 실시 예에 따르면, 처리 데이터 수집 모듈 291은 전자 장치 100에서 설명한 후보 인식 모델 60과 인식 모델 70의 생성과 관리 방식에 따라 음성 명령어를 생성하거나 갱신할 수도 있다.
음성 명령어 관리 모듈 293은 처리 데이터 수집 모듈 291로부터 생성된 음성 명령어를 수신할 수 있다. 음성 명령어 관리 모듈 293은 처리 데이터 수집 모듈 291로부터 가중치 변경에 대한 정보를 수신할 수 있다. 음성 명령어 관리 모듈 293은 수신된 음성 명령어 및 가중치 변경 정보를 토대로 음성 명령어 데이터베이스 253을 관리할 수 있다. 예컨대, 음성 명령어 관리 모듈 293은 각 전자 장치별 음성 명령어 데이터베이스 253에 새로 생성된 음성 명령어를 추가할 수 있다. 또는 음성 명령어 관리 모듈 293은 가중치 변경에 따라 특정 오디오 데이터와 관련한 음성 명령어의 가중치가 일정 조건 이하인 경우 해당 음성 명령어를 음성 명령어 데이터베이스 253에서 제거할 수 있다. 음성 명령어 관리 모듈 293은 특정 전자 장치 100과 관련하여 음성 명령어가 새로 생성되는 경우, 신규 생성된 음성 명령어 정보를 전자 장치 100에 전달할 수 있다. 또한 음성 명령어 관리 모듈 293은 기존 음성 명령어가 제거된 경우 그에 대한 정보를 음성 명령어 갱신 정보로서 전자 장치 100에 전달할 수 있다.
다양한 실시 예에 따르면, 처리 데이터 수집 모듈 291 및 음성 명령어 관리 모듈 293의 기능은 음성 인식 기능을 제외하고 전자 장치 100에서 수행될 수 있다. 예컨대, 전자 장치 100은 설정된 가중치(또는 스코어)가 일정 조건 이상인 경우 해당 가중치에 대응하는 오디오 데이터의 음성 명령어를 생성할 수 있다. 전자 장치 100은 후보 인식 모델 60과 인식 모델 70의 생성과 관리 방식에 따라 음성 명령어를 생성하거나 갱신할 수도 있다. 전자 장치 100은 가중치 변경에 대한 정보를 수신하면, 수신된 음성 명령어 및 가중치 변경 정보를 토대로 음성 명령어의 저장을 관리할 수 있다. 예컨대, 전자 장치 100은 음성 명령어를 저장한 데이터 베이스에 새로 생성된 음성 명령어를 추가할 수 있다. 또는 전자 장치 100은 특정 오디오 데이터와 관련한 음성 명령어의 가중치가 변경되어 일정 조건 이하인 경우 해당 음성 명령어를 음성 명령어 데이터베이스에서 제거할 수 있다. 전자 장치 100은 음성 명령어가 데이터베이스에서 제거되는 경우 이에 대한 알람을 오디오 모듈 130 또는 표시 모듈 140 등을 통하여 출력할 수 있다.
다양한 실시 예에 따르면, 전자 장치 100은 오디오 데이터를 수집하는 오디오 모듈, 상기 오디오 데이터의 오디오 특징 데이터, 상기 오디오 데이터를 음성 인식한 음성 인식 데이터, 상기 오디오 데이터와 관련하여 실행되는 기능 수행 데이터 중 적어도 하나를 기반으로 특정 오디오 데이터 수집 시 전자 장치의 특정 기능을 음성으로 실행하도록 설정된 음성 명령어를 갱신하는 제어 모듈을 포함할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 오디오 데이터 수집에 대응하여 기 저장된 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나의 가중치를 갱신하고, 상기 가중치가 정해진 조건을 만족하는 경우 상기 음성 명령어를 생성할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 가중치가 정해진 조건을 만족하는 경우 후보 인식 모델을 생성하고, 상기 오디오 데이터와 관련하여 상기 후보 인식 모델의 가중치가 정해진 조건을 만족하는 경우 상기 후보 인식 모델을 상기 음성 명령어에 대응하는 인식 모델로 변경할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 후보 인식 모델에서 변경된 인식 모델에 대응하는 음성 명령어를 새로 등록할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 수집된 오디오 데이터와 관련 없는 후보 인식 모델 및 인식 모델 중 적어도 하나의 가중치를 갱신하고 상기 가중치 갱신에 대응하여 특정 후보 인식 모델 및 특정 인식 모델 중 적어도 하나를 제거할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 인식 모델 제거에 대응하여 등록된 음성 명령어를 제거할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 오디오 특징 데이터, 상기 음성 인식 데이터, 상기 기능 수행 정보, 상기 음성 명령어 중 적어도 하나의 표시를 제어할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 오디오 특징 데이터의 발생 빈도수 기반의 상기 오디오 특징 데이터의 가중치 갱신, 상기 음성 인식 데이터의 발생 빈도수 기반의 상기 음성 인식 데이터의 가중치 갱신, 상기 기능 수행 데이터의 특정 기능 실행 여부, 상기 기능 수행 데이터의 특정 기능 실행 지속 시간 중 적어도 하나를 이용한 상기 기능 수행 데이터의 가중치 갱신 중 적어도 하나를 제어할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 오디오 데이터를 서버 장치에 전송하고, 상기 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나를 상기 서버 장치로부터 수신하는 통신 인터페이스를 제어할 수 있다.
다양한 실시 예에 따르면, 상기 제어 모듈은 상기 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나를 기반으로 생성된 음성 명령어를 상기 서버 장치로부터 수신하는 통신 인터페이스를 제어할 수 있다.
도 5는 한 실시 예에 따른 음성 명령어 제공 방법의 순서를 도시한다.
도 5를 참조하면, 한 실시 예에 따른 음성 명령어 제공 방법은 동작 501에서 전자 장치 100의 제어 모듈 160이 기능 운용 또는 대기를 수행할 수 있다. 예컨대, 제어 모듈 160은 설정된 스케줄에 따라 또는 입력 제어에 따라 대기 화면을 출력하거나 락 스크린 화면을 출력하거나 특정 기능 수행을 제어할 수 있다.
동작 503에서 제어 모듈 160은 음성 명령어 지원 기능 활성화와 관련한 이벤트 발생이 있는지 확인할 수 있다. 예컨대, 제어 모듈 160은 음성 명령어 지원 기능과 관련한 설정이 있는지 확인할 수 있다. 또는 제어 모듈 160은 음성 명령어 지원 기능과 관련한 입력 이벤트가 발생하는지 확인할 수 있다.
동작 503에서 음성 명령어 지원 기능 활성화 설정 또는 이벤트 발생이 있으면, 동작 505에서 제어 모듈 160은 음성 검색 기능 활성화와 관련한 이벤트 발생이 있는지 확인할 수 있다. 예컨대, 제어 모듈 160은 음성 검색 기능과 관련한 기능 아이콘을 선택하는 이벤트, 음성 검색 기능과 관련한 앱 실행을 요청하는 이벤트 등의 발생을 확인할 수 있다.
다양한 실시 예에 따르면, 제어 모듈 160은 음성 검색 기능이 기본(default)으로 제공되도록 설정된 경우 해당 설정을 확인할 수 있다. 동작 503에서 음성 명령어 지원 기능 활성화 설정이나 이벤트 발생이 없거나, 동작 505에서 음성 검색 기능 활성화와 관련한 설정이나 이벤트 발생이 없으면, 동작 507에서 제어 모듈 160은 발생된 이벤트 종류에 대응하는 기능 수행을 제어할 수 있다. 예컨대, 제어 모듈 160은 이벤트 종류에 따라 특정 앱을 실행하거나, 전자 장치 100의 이전 상태(예: 슬립 모드 상태, 락 스크린 상태, 대기 화면 출력 상태 등)를 유지할 수 있다.
동작 505에서 음성 검색 기능 활성화 관련한 설정 또는 이벤트가 있으면, 동작 509에서 제어 모듈 160은 오디오 데이터 수집 및 전송을 제어할 수 있다. 제어 모듈 160은 오디오 모듈 130의 마이크를 활성화하고, 오디오 데이터를 수집할 수 있다. 다양한 실시 예에 따르면, 음성 검색 기능은 음성 바로 가기 기능과 구분되어 수행될 수 있다. 예컨대, 제어 모듈 160은 음성 검색 기능 수행과 관련하여 지정된 검색 인식기(예: 검색 프로세서)를 구동할 수 있으며, 음성 바로 가기 기능과 관련하여 지정된 기능 수행기(예: S-Voice 프로세서)를 구동할 수 있다. 또는 다양한 실시 예에 따르면, 전자 장치 100은 기능 수행기에서 음성 검색 기능과 음성 바로 가기 기능 처리를 동시에 수행할 수도 있다. 제어 모듈 160은 오디오 데이터가 수집되면 해당 오디오 데이터를 서버 장치 200에 전송할 수 있다. 이와 관련하여, 제어 모듈 160은 서버 장치 200과 통신 채널을 형성할 수 있다. 서버 장치 200은 수신된 오디오 데이터에 대한 오디오 분석 데이터를 생성하고 이를 전자 장치 100에 전송할 수 있다.
동작 511에서 제어 모듈 160은 음성 이식 데이터, 오디오 특징 데이터, 기능 수행 데이터를 포함하는 오디오 분석 데이터를 수신할 수 있다. 동작 513에서 제어 모듈 160은 수신된 오디오 분석 데이터를 기반으로 음성 명령어 처리를 수행할 수 있다. 한 실시 예에 따르면, 제어 모듈 160은 수신된 오디오 분석 데이터들을 기반으로 저장 모듈 150에 저장된 음성 인식 데이터 53, 오디오 특징 데이터 51, 기능 수행 데이터 55의 가중치를 갱신할 수 있다. 이 동작에서 제어 모듈 160은 오디오 분석 데이터가 복수의 단어들 또는 어절들에 대한 분석 데이터를 포함하는 경우 복수의 단어들 또는 어절들을 포함하는 오디오 특징 데이터 51과 음성 인식 데이터 53 중 적어도 하나의 가중치를 갱신(예: 가중치 카운트 증가)할 수 있다. 또는 제어 모듈 160은 복수의 단어들 중 적어도 일부에 해당하는 음성 인식 데이터 및 오디오 특징 데이터 51 중 적어도 하나의 가중치를 갱신할 수 있다. 또는 제어 모듈 160은 복수의 단어들 각각에 해당하는 음성 인식 데이터 53 및 오디오 특징 데이터 51들 중 적어도 하나의 가중치를 갱신할 수 있다.
다양한 실시 예에 따르면, 오디오 특징 데이터 51의 경우 오디오 데이터의 수집 환경에 따라 동일한 정보라 하더라도 다른 값을 가질 수 있다. 예컨대, 노이즈가 많은 장소에서 수집된 제1 정보(예: “카메라”에 해당하는 오디오 데이터)의 오디오 데이터와 노이즈가 적은 작성에서 수집된 상기 제1 정보는 다른 특성의 오디오 특징 데이터를 가질 수 있다. 제어 모듈 160은 오디오 특징 데이터 51 갱신 동작에서 수집 환경에 따른 오차를 적용할 수 있다. 또는 제어 모듈 160은 다른 특성의 오디오 특징 데이터 51로 저장 관리할 수도 있다. 한 실시 예에 따르면, 음성 인식 동작에서는 노이즈 캔슬링 동작 및 기 저장된 음성 인식 데이터베이스에서의 유사도 비교를 통한 추정 동작 등을 기반으로 동일한 값이 추출될 수 있다. 동일한 오디오 데이터(예: “카메라”에 해당하는 오디오 데이터)에 대해서 음성 인식 데이터 53은 동일한 값으로 수집될 수 있다.
다양한 실시 예에 따르면, 제어 모듈 160은 수신된 오디오 분석 데이터에 포함된 기능 수행 데이터를 기반으로 저장 모듈 150에 저장된 기능 수행 데이터 55의 가중치를 갱신(예: 가중치 카운트 증가)할 수 있다. 또는 제어 모듈 160은 기능 수행 데이터에 의해 실행되는 앱 또는 해당 기능의 실행 여부, 실행 지속 시간 등을 기반으로 기능 수행 데이터 55의 가중치를 갱신(예: 실행 지속 시간이 길수록 높은 가중치를 부여하거나 가중치를 증가 시킴)할 수 있다.
제어 모듈 160은 상술한 오디오 특징 데이터 51, 음성 인식 데이터 53 및 기능 수행 데이터 55 중 적어도 하나가 정해진 조건(음성 명령어를 생성하기 위해 설정된 일정 가중치 이상이 되는 조건 등)을 만족하는 경우, 해당 오디오 데이터에 대한 음성 명령어를 생성하고 관리할 수 있다.
다양한 실시 예에 따르면, 서버 장치 200이 음성 명령어를 제공하는 형태로 설계되는 경우, 제어 모듈 160은 음성 명령어 갱신 정보를 서버 장치 200으로부터 직접 수신할 수도 있다. 이 경우, 제어 모듈 160은 서버 장치 200으로부터 수신된 음성 명령어 갱신 정보를 로 저장 모듈 150의 음성 명령어 80 갱신을 수행할 수도 있다.
동작 515에서 제어 모듈 160은 기능 종료 관련 이벤트 발생이 있는지 확인할 수 있다. 동작 515에서 제어 모듈 160은 동작 515에서 기능 종료 관련 이벤트가 발생하면 음성 검색 기능 및 음성 명령어 지원 기능 중 적어도 하나의 기능 종료를 제어할 수 있다. 동작 515에서 기능 종료 관련 이벤트 발생이 없으면, 제어 모듈 160은 동작 505 이전으로 분기하여 이하 동작을 재수행할 수 있다. 제어 모듈 160은 음성 검색 기능을 지속적으로(Always on mode) 운용함으로써, 사용자가 주로 사용하는 오디오 데이터의 수집과 그에 따른 명령어 처리를 실시간으로 수행하도록 지원할 수 있다.
도 6은 다른 한 실시 예에 따른 음성 명령어 제공 방법을 도시한다.
도 6을 참조하면, 음성 명령어 제공 방법은 동작 601에서 제어 모듈 160이 기능 운용 또는 대기를 수행할 수 있다. 예컨대, 제어 모듈 160은 전자 장치 100을 슬립 모드로 유지하거나, 대기 화면을 출력하도록 제어할 수 있다. 제어 모듈 160은 음성 검색 기능 활성화와 관련한 설정 화면을 제공하거나 또는 음성 검색 기능 관련 기능 아이콘이나 메뉴를 표시 모듈 140에 출력할 수 있다. 또는 제어 모듈 160은 음성 검색 기능 실행과 관련한 기능 버튼(예: 홈 키 등)을 할당할 수 있다.
동작 603에서 제어 모듈 160은 음성 검색 기능 활성화 관련 이벤트 발생 또는 설정이 있는지 확인할 수 있다. 동작 603에서 음성 검색 기능 활성화 관련 설정이나 이벤트 발생이 없으면 제어 모듈 160은 동작 605로 분기하여 발생된 이벤트 종류에 대응하는 기능 수행을 제어할 수 있다. 예컨대, 제어 모듈 160은 이벤트 종류에 따라 음원 재생 기능, 방송 수신 기능 등의 실행을 제어할 수 있다. 또는 별도의 이벤트 발생이 없으면 제어 모듈 160은 동작 601의 기능 운용 상태(예: 슬립 모드 상태, 특정 기능 화면 출력 상태, 특정 기능이 백그라운드로 수행되는 상태 등)를 유지하도록 제어할 수 있다.
동작 603에서 음성 검색 기능 활성화와 관련한 이벤트가 발생하면, 동작 607에서 제어 모듈 160은 오디오 데이터 수집 및 전송을 수행할 수 있다. 동작 609에서 제어 모듈 160은 음성 인식 데이터, 오디오 특징 데이터, 기능 수행 데이터를 서버 장치 200으로부터 수신할 수 있다.
동작 611에서 제어 모듈 160은 수신된 데이터와 관련된 후보 인식 모델이 존재하는지 확인할 수 있다. 동작 611에서 후보 인식 모델이 존재하면 제어 모듈 160은 동작 613에서 후보 인식 모델 검사 및 음성 명령어 처리를 수행할 수 있다. 예컨대, 제어 모듈 160은 후보 인식 모델 60의 가중치 갱신을 수행할 수 있다. 또한 제어 모듈 160은 후보 인식 모델 60의 가중치 갱신에 따라 새 음성 명령어 생성을 수행할 수도 있다.
동작 611에서 후보 인식 모델이 존재하지 않으면, 동작 615에서 제어 모듈 160은 후보 인식 모델링 조건을 만족하는지 확인할 수 있다. 예컨대, 제어 모듈 160은 오디오 분석 데이터에 의해 갱신된 오디오 특징 데이터 51, 음성 인식 데이터 53 및 기능 수행 데이터 55 중 적어도 하나가 정해진 조건을 만족하는지 또는 전체가 정해진 조건을 만족하는지 확인할 수 있다. 동작 615에서 후보 인식 모델링 조건이 만족되면, 동작 617에서 제어 모듈 160은 후보 인식 모델 생성을 수행할 수 있다. 동작 615에서 인식 모델링 조건이 만족되지 않으면 제어 모듈 160은 동작 617을 스킵할 수 있다.
동작 619에서 제어 모듈 160은 기능 종료와 관련한 이벤트 발생이 있는지 확인할 수 있다. 동작 619에서 기능 종료 관련 이벤트가 발생하면 제어 모듈 160은 음성 검색 기능 종료를 제어할 수 있다. 동작 619에서 기능 종료 관련 이벤트 발생이 없으면, 제어 모듈 160은 동작 603 이전으로 분기하여 이하 동작을 재수행할 수 있다.
도 7은 한 실시 예에 따른 음성 명령어 제공 관련 후보 인식 모델 처리 방법을 도시한다.
도 7을 참조하면, 후보 인식 모델 처리 방법과 관련하여 동작 701에서 제어 모듈 160은 오디오 데이터가 수집되면 후보 인식 모델 검사를 수행할 수 있다. 예컨대, 제어 모듈 160은 수신된 오디오 분석 데이터를 기반으로 저장 모듈 150에 저장된 오디오 특징 데이터 51, 음성 인식 데이터 53 및 기능 수행 데이터 55의 가중치(또는 스코어) 갱신을 수행할 수 있다. 이 동작에서 제어 모듈 160은 특정 후보 인식 모델 60과 관련된 오디오 특징 데이터 51, 음성 인식 데이터 53 및 기능 수행 데이터 55 중 적어도 하나의 가중치 갱신을 수행할 수 있다. 이 동작에서 제어 모듈 160은 특정 후보 인식 모델 60의 가중치 증가에 대응하여 다른 후보 인식 모델의 가중치를 감소시킬 수 있다.
동작 703에서 제어 모듈 160은 인식 모델 또는 음성 명령어 생성 조건을 만족하는지 확인할 수 있다. 예컨대, 제어 모듈 160은 특정 후보 인식 모델 60의 가중치가 정해진 값 이상인 경우 해당 후보 인식 모델 60을 인식 모델 70으로 변경할 수 있다. 동작 703에서 인식 모델 또는 음성 명령어 생성 조건이 만족되면 동작 705에서 제어 모듈 160은 후보 인식 모델을 인식 모델로 변경할 수 있다. 또한 제어 모듈 160은 인식 모델 생성 또는 등록에 대응하는 음성 명령어 생성 및 등록을 제어할 수 있다. 예컨대, 제어 모듈 160은 변경된 인식 모델 70에 대응하는 음성 인식 데이터 53과 기능 수행 데이터 55 등을 기반으로 음성 명령어 80을 생성할 수 있다.
동작 703에서 음성 명령어 생성 조건을 만족하지 못하면 제어 모듈 160은 동작 707에서 후보 인식 모델 제거 조건 만족 여부를 확인할 수 있다. 동작 707에서 특정 후보 인식 모델의 제거 조건이 만족되면, 동작 709에서 제어 모듈 160은 후보 인식 모델을 제거할 수 있다. 동작 707에서 후보 인식 모델 제거 조건이 만족되지 않으면 제어 모듈 160은 동작 709를 스킵할 수 있다. 예컨대, 후보 인식 모델의 가중치 변화가 생성 조건과 제거 조건 사이에 있는 경우, 제어 모듈 160은 특정 후보 인식 모델의 가중치 갱신을 수행할 수 있다.
다양한 실시 예에 따르면, 제어 모듈 160은 후보 인식 모델 60 뿐만 아니라 추가적으로 또는 대체적으로 인식 모델 70에 대해서도 모델 제거를 수행할 수 있다. 예컨대, 제어 모듈 160은 후보 인식 모델 60을 거쳐 생성된 음성 명령어에 대응하는 인식 모델 70 또는 사용자 입력에 의해 생성된 음성 명령어에 대응하는 인식 모델 70 등 저장 모듈 150에 저장된 인식 모델 70에 대하여 이용 빈도수, 마지막 이용 시간 등에 따라 제거할 수 있다.
다양한 실시 예에 따르면, 제어 모듈 160은 수신된 오디오 분석 데이터에 해당하는 음성 명령어 80이 있는지 확인할 수 있다. 제어 모듈 160은 음성 명령어 80이 있는 경우 해당 인식 모델 70의 가중치를 갱신(예: 가중치 증가)할 수 있다. 이 동작에서 제어 모듈 160은 오디오 분석 데이터와 관련이 없는 음성 명령어 80에 대해서도 가중치를 갱신(예: 가중치 감소)할 수 있다. 제어 모듈 160은 가중치가 일정 값 이하인 인식 모델 70이 있으며, 해당 인식 모델 70을 제거할 수 있다. 인식 모델 70 제거 시 대응되는 음성 명령어 80도 제거될 수 있다.
다양한 실시 예에 따른, 음성 명령어 제공 방법은 오디오 데이터를 수집하는 동작, 상기 오디오 데이터의 오디오 특징 데이터, 상기 오디오 데이터를 음성 인식한 음성 인식 데이터, 상기 오디오 데이터와 관련하여 실행되는 기능 수행 데이터 중 적어도 하나를 기반으로 특정 오디오 데이터 수집 시 전자 장치의 특정 기능을 음성으로 실행하도록 설정된 음성 명령어를 갱신하는 동작을 포함할 수 있다.
다양한 실시 예에 따른, 상기 오디오 데이터 수집에 대응하여 기 저장된 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나의 가중치를 갱신하는 동작, 상기 가중치가 정해진 조건을 만족하는 경우 상기 음성 명령어를 생성하는 동작을 포함할 수 있다.
다양한 실시 예에 따른, 상기 음성 명령어를 갱신하는 동작은 상기 가중치가 정해진 조건을 만족하는 경우 후보 인식 모델을 생성하는 동작, 상기 오디오 데이터와 관련하여 상기 후보 인식 모델의 가중치를 갱신하는 동작, 상기 갱신된 가중치가 정해진 조건을 만족하는 경우 상기 후보 인식 모델을 상기 음성 명령어에 대응하는 인식 모델로 변경하는 동작을 포함할 수 있다.
다양한 실시 예에 따른, 상기 음성 명령어를 갱신하는 동작은 상기 후보 인식 모델에서 변경된 인식 모델에 대응하는 음성 명령어를 새로 등록하는 동작을 포함할 수 있다.
다양한 실시 예에 따른, 상기 음성 명령어를 갱신하는 동작은 상기 수집된 오디오 데이터와 관련 없는 후보 인식 모델 및 인식 모델 중 적어도 하나의 가중치를 갱신하는 동작, 상기 가중치 갱신에 대응하여 특정 후보 인식 모델 및 특정 인식 모델 중 적어도 하나를 제거하는 동작을 포함할 수 있다.
다양한 실시 예에 따른, 상기 방법은 상기 음성 명령어를 갱신하는 동작은 상기 인식 모델 제거에 대응하여 등록된 음성 명령어를 제거하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따른, 상기 방법은 상기 오디오 특징 데이터, 상기 음성 인식 데이터, 상기 기능 수행 정보, 상기 음성 명령어 중 적어도 하나를 출력하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따른, 상기 가중치를 갱신하는 동작은 상기 오디오 특징 데이터의 발생 빈도수에 대응하여 상기 오디오 특징 데이터의 가중치를 갱신하는 동작, 상기 음성 인식 데이터의 발생 빈도수에 대응하여 상기 음성 인식 데이터의 가중치를 갱신하는 동작, 상기 기능 수행 데이터의 특정 기능 실행 여부, 상기 기능 수행 데이터의 특정 기능 실행 지속 시간 중 적어도 하나를 기반으로 상기 기능 수행 데이터의 가중치를 갱신하는 동작 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른, 상기 방법은 상기 오디오 데이터를 서버 장치에 전송하는 동작, 상기 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나를 상기 서버 장치로부터 수신하는 동작을 더 포함할 수 있다.
다양한 실시 예에 따른, 상기 방법은 상기 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나를 기반으로 생성된 음성 명령어를 상기 서버 장치로부터 수신하는 동작을 더 포함할 수 있다.
도 8은 한 실시 예에 따른 음성 명령어 제공과 관련한 사용자 인터페이스이다.
도 8을 참조하면, 제어 모듈 160은 특정 오디오 데이터 수집에 대응하여 새 음성 명령어 등록을 수행할 수 있다. 이에 따라 표시 모듈 140은 음성 명령어 등록을 안내하는 정보를 801 화면에서와 같이 출력할 수 있다. 예를 들어, 사용자가 “Show me”라는 오디오 데이터를 입력하면, 제어 모듈 160은 해당 오디오 데이터를 서버 장치 200에 전송하여 오디오 분석 데이터를 수신하거나 음성 인식 알고리즘 및 오디오 분석 모듈을 이용하여 오디오 분석 데이터를 수집할 수 있다. 제어 모듈 160은 수집된 “show me”에 대한 오디오 특징 데이터 51, 음성 인식 데이터 53 및 기능 수행 데이터 55를 갱신할 수 있다. 갱신 동작에서 음성 명령어 생성 조건에 부합하는 경우 제어 모듈 160은 “show me”를 새로운 음성 명령어로서 생성할 수 있다. 표시 모듈 140은 음성 명령어 show me 820에 매핑된 기능 수행 정보 open map 810을 함께 표시할 수 있다. 즉 표시 모듈 140은 음성 바로 가기 기능에 대한 알람을 수행할 수 있다.
다양한 실시 예에 따르면, 제어 모듈 160은 새로운 음성 명령어가 생성되었거나 또는 음성 명령어 목록 보기에 해당하는 이벤트가 발생하면 803 화면에서와 같은 음성 명령어 목록 화면을 표시 모듈 140에 출력하도로 제어할 수 있다. 음성 명령어 목록은 예컨대 기능 수행 정보(Action)에 해당하는 Camera 831, Call Mom 833, Open map 835 등을 포함할 수 있다. 기능 수행 정보에 해당하는 음성 명령어(Voice)는 예컨대 Camera 813에 해당하는 Camera 및 Picture 832를 포함할 수 있다. 이에 따라, 사용자가 “Camera” 또는 “Picture”를 발음하는 경우 제어 모듈 160은 카메라 기능을 실행하도록 제어할 수 있다. 음성 명령어(Voice)는 Call Mom 833에 해당하는 Mom, Mother, Mommy 834 등을 포함할 수 있다. 음성 명령어(Voice)는 Open map 835에 해당하는 Show me 836을 포함할 수 있다.
다양한 실시 예에 따르면, 제어 모듈 160은 후보 인식 모델 60이 갱신되거나 또는 후보 인식 모델 60 보기와 관련한 이벤트가 발생하면 805 화면에서와 같은 화면 인터페이스를 제공할 수 있다. 후보 인식 모델 보기 화면은 예컨대 기능 수행 정보(Action) 항목 851, 음성 인식 데이터(Transcription) 항목 853 및 가중치(Score Weight) 항목 855를 포함할 수 있다.
도 9는 다른 한 실시 예에 따른 전자 장치의 블록도이다.
도 9를 참조하면, 전자 장치 900은, 예를 들면, 도 1에 도시된 전자 장치 100의 전체 또는 일부를 구성할 수 있다. 도 9를 참조하면, 상기 전자 장치 900은 하나 이상의 어플리케이션 프로세서(AP: application processor) 910(예: 도 1의 제어 모듈 160), 통신 모듈 920(예: 도 1의 통신 인터페이스 110), SIM(subscriber identification module) 카드 924, 메모리 930(예: 도 1의 저장 모듈 150), 센서 모듈 940, 입력 장치 950(예: 도 1의 입력 모듈 120), 디스플레이 960(예: 도 1의 표시 모듈 140), 인터페이스 970, 오디오 모듈 980(예: 도 1의 오디오 모듈 130), 카메라 모듈 991, 전력관리 모듈 995, 배터리 996, 인디케이터 997 및 모터 998을 포함할 수 있다.
상기 AP 910은 운영체제 또는 응용 프로그램을 구동하여 상기 AP 910에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP 910은, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시예에 따르면, 상기 AP 910은 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
한 실시 예에 따르면, 상술한 음성 명령어 제공과 연관된 다양한 모듈들이 AP 910에 구현될 수 있다. AP 910은 관련 모듈들의 제어를 수행하여, 오디오 데이터의 수집, 오디오 데이터의 전송, 오디오 분석 데이터의 수신, 오디오 분석 데이터 기반의 저장 모듈 150의 갱신, 후보 인식 모델 60과 인식 모델 70의 갱신, 음성 명령어 80 처리와 운용을 제어할 수 있다.
한 실시 예에 따르면, 음성 명령어 제공과 연관된 다양한 모듈들은 CP(Communication Processor) 및 AP 중 적어도 하나에 분리되어 배치될 수 있다. 이 동작에서 CP가 제어하는 모듈들은 CP와 동일 칩셋 내에서 직접 통신(direct communication)이 가능하도록 배치되거나, CP와 외부 인터페이스(external interface)를 통해 연결되도록 하드웨어가 구성될 수 있다.
한 실시 예에 따르면, 음성 명령어 제공과 연관된 다양한 모듈들은 CP에 배치될 수 있다. 관련 모듈들의 제어는 CP가 수행할 수 있다. 이 경우 CP와 셀루러 통신 모듈, WiFi 모듈이 통신 가능하도록 연결될 수 있다. 이와 관련하여, 각 구성들은 동일 칩셋 내에서 시스템 버스(system bus)로 연결되어 AP(Application processor)가 전원 절약 모드(power saving mode)인 경우에도 서로 통신 가능하도록 연결될 수 있다. 각 구성들은 서로 다른 칩셋으로 구성될 경우 외부 인터페이스(external interface)로 연결되어 AP(Application processor)를 통하지 않는 통신(communication)이 가능하도록 하드웨어가 구성될 수 있다.
상기 통신 모듈 920은 상기 전자 장치 900(예: 상기 전자 장치 100)과 네트워크를 통해 연결된 서버 장치 200 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시예에 따르면, 상기 통신 모듈 920은 셀룰러 모듈 921, Wifi 모듈 923, BT 모듈 925, GPS 모듈 927, NFC 모듈 928 및 RF(radio frequency) 모듈 929를 포함할 수 있다.
상기 셀룰러 모듈 921은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈 921은, 예를 들면, 가입자 식별 모듈(예: SIM 카드 924)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시예에 따르면, 상기 셀룰러 모듈 921은 상기 AP 910이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈 921은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시예에 따르면, 상기 셀룰러 모듈 921은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈 921은, 예를 들면, SoC로 구현될 수 있다. 도 9에서는 상기 셀룰러 모듈 921(예: 커뮤니케이션 프로세서), 상기 메모리 930 또는 상기 전력관리 모듈 995 등의 구성요소들이 상기 AP 910과 별개의 구성요소로 도시되어 있으나, 한 실시예에 따르면, 상기 AP 910이 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈 921)를 포함하도록 구현될 수 있다.
한 실시예에 따르면, 상기 AP 910 또는 상기 셀룰러 모듈 921(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP 910 또는 상기 셀룰러 모듈 921은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
다양한 실시 예에 따르면, 셀룰러 모듈 921은 도 1에서 설명한 통신 인터페이스 110에 포함될 수 있다. 셀룰러 모듈 921은 전자 장치 100의 음성 명령어 처리를 수행하는 동작에서 서버 장치 200과 통신 채널을 형성할 수 있다. 또한 셀룰러 모듈 921은 전자 장치 100이 수집한 오디오 데이터를 전송하고, 오디오 분석 데이터를 수신할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 921은 서버 장치 200으로부터 음성 명령어 또는 음성 명령어 갱신 정보를 수신할 수 있다.
상기 Wifi 모듈 923, 상기 BT 모듈 925, 상기 GPS 모듈 927 또는 상기 NFC 모듈 928 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. Wifi 모듈 923, 상기 BT 모듈 925는 통신 인터페이스 110 및 서브 통신 모듈 230 중 적어도 하나에 포함될 수 있다. GPS 모듈 927은 통신 인터페이스 110에 포함될 수 있다.
도 9에서는 셀룰러 모듈 921, Wifi 모듈 923, BT 모듈 925, GPS 모듈 927 또는 NFC 모듈 928이 각각 별개의 블록으로 도시되었으나, 한 실시예에 따르면, 셀룰러 모듈 921, Wifi 모듈 923, BT 모듈 925, GPS 모듈 927 또는 NFC 모듈 928 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈 921, Wifi 모듈 923, BT 모듈 925, GPS 모듈 927 또는 NFC 모듈 928 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈 921에 대응하는 커뮤니케이션 프로세서 및 Wifi 모듈 923에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
다양한 실시 예에 따르면, Wifi 모듈 923은 도 1에서 설명한 통신 인터페이스 110 에 포함될 수 있다. Wifi 모듈 923은 앞서 설명한 바와 같이 전자 장치 100 서버 장치 200 간의 통신 채널을 형성할 수 있다. Wifi 모듈 923은 오디오 데이터 및 전자 장치 100의 식별 정보 또는 전자 장치 100의 기능 종류 정보 중 적어도 하나를 서버 장치 200에 전송할 수 있다. Wifi 모듈 923은 서버 장치 200으로부터 오디오 분석 데이터 및 음성 명령어 갱신 정보 중 적어도 하나를 수신할 수 있다.
상기 RF 모듈 929는 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈 929는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈 929는 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 도 9에서는 셀룰러 모듈 921, Wifi 모듈 923, BT 모듈 925, GPS 모듈 927 및 NFC 모듈 928이 하나의 RF 모듈 929를 서로 공유하는 것으로 도시되어 있으나, 한 실시예에 따르면, 셀룰러 모듈 921, Wifi 모듈 923, BT 모듈 925, GPS 모듈 927 또는 NFC 모듈 928 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
상기 SIM 카드 924는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드 924는 고유한 식별 정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다. 한 실시 예에 따르면, SIM 카드 924는 메모리 장치 200의 일부 구성일 수 있다. SIM 카드 924가 슬롯에 삽입되면 AP 910은 SIM 카드 924의 초기화 동작을 수행할 수 있다.
상기 메모리 930(예: 상기 저장 모듈 150)은 내장 메모리 932 또는 외장 메모리 934를 포함할 수 있다. 상기 내장 메모리 932는, 예를 들면, 휘발성 메모리(예를 들면, 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 memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다. 한 실시예에 따르면, 상기 내장 메모리 932는 Solid State Drive (SSD)일 수 있다.
상기 외장 메모리 934는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리 934는 다양한 인터페이스를 통하여 상기 전자 장치 900과 기능적으로 연결될 수 있다. 한 실시예에 따르면, 상기 전자 장치 900은 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
상기 센서 모듈 940은 물리량을 계측하거나 전자 장치 900의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈 940은, 예를 들면, 제스처 센서 940A, 자이로 센서 940B, 기압 센서 940C, 마그네틱 센서 940D, 가속도 센서 940E, 그립 센서 940F, 근접 센서 940G, color 센서 940H(예: RGB(red, green, blue) 센서), 생체 센서 940I, 온/습도 센서 940J, 조도 센서 940K 또는 UV(ultra violet) 센서 940M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 센서 모듈 940은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infrared) 센서(미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 상기 센서 모듈 940은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
다양한 실시 예에 따르면, 센서 모듈 940은 전자 장치 900의 동작 관련 센서 신호를 수집할 수 있다. 센서 모듈 940이 수집한 센서 신호는 AP 910에 전달될 수 있다. AP 910은 전달된 센서 신호를 기반으로 음성 명령어 처리를 수행할 수 있다. 예컨대 센서 모듈 940으로부터 전달된 센서 신호는 음성 명령어 제공 기능 및 음성 검색 기능 중 적어도 하나의 활성화와 관련한 트리거 신호로 이용될 수 있다.
센서 모듈 940에 포함된 적어도 하나의 센서는 전자 장치 100 운용과 관련하여 활성화될 수 있다. 예컨대, 전자 장치 100 파지를 감지하는 센서의 센서 신호는 음성 검색 기능 활성화와 관련한 센서 신호로 이용될 수 있다. 또한 파지 감지 센서는 마이크 활성화와 관련한 센서 신호 이용될 수 있다. 파지 감지 센서는 음성 검색 기능 비활성화 시 이에 대응하여 비활성화될 수 있다.
상기 입력 장치 950은 터치 패널(touch panel) 952, (디지털) 펜 센서(pen sensor) 954, 키(key) 956 또는 초음파(ultrasonic) 입력 장치 958을 포함할 수 있다. 입력 장치 950은 도 1에서 설명한 입력 모듈 120을 포함할 수 있다.
상기 터치 패널 952는, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널 952는 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널 952는 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널 952는 사용자에게 촉각 반응을 제공할 수 있다. 한 실시 예에 따르면, 터치 패널 952는 음성 명령어 제공 기능 및 음성 검색 기능 중 적어도 하나의 실행과 관련한 터치 이벤트를 생성할 수 있다. 예컨대 터치 패널 952는 후보 인식 모델 60 및 인식 모델 70 중 적어도 하나의 모델 제거, 특정 후보 인식 모델 60을 인식 모델 70으로 변경을 요청하는 터치 이벤트 등을 화면 인터페이스와 관련하여 제공할 수 있다. 한 실시 예에 따르면, 터치 패널 952는 화면 자동 변환 기능 활성화 또는 비활성화, 화면 자동 변환 기능에 적용할 기능의 종류를 선택하는 터치 이벤트 등을 생성할 수 있다.
상기 (디지털) 펜 센서 954는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키 956은, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 키 956 중 적어도 하나의 키 예컨대 홈 키 등은 음성 검색 기능 활성화와 관련한 키 이벤트 또는 음성 명령어 제공 기능 활성화와 관련한 키 이벤트를 생성할 수 있다. 상기 초음파(ultrasonic) 입력 장치 958은 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치 900에서 마이크(예: 마이크 988)로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시예에 따르면, 상기 전자 장치 900은 상기 통신 모듈 920을 이용하여 이와 연결된 외부 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이 960(예: 표시 모듈 140, 서브 표시 모듈 240)은 패널 962, 홀로그램 장치 964 또는 프로젝터 966을 포함할 수 있다. 상기 패널 962는, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널 962는, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널 962는 상기 터치 패널 952와 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치 964는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터 966은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치 900의 내부 또는 외부에 위치할 수 있다. 한 실시예에 따르면, 상기 디스플레이 960은 상기 패널 962, 상기 홀로그램 장치 964, 또는 프로젝터 966을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스 970은, 예를 들면, HDMI(high-definition multimedia interface) 972, USB(universal serial bus) 974, 광 인터페이스(optical interface) 976 또는 D-sub(D-subminiature) 978을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스 970은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈 980(예: 도 1의 오디오 모듈 130)은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈 980은, 예를 들면, 스피커 982, 리시버 984, 이어폰 986 또는 마이크 988 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다. 한 실시 예에 따르면, 전자 장치 100에 배치된 오디오 모듈 130은 오디오 데이터를 수집할 수 있다. 또한 오디오 모듈 130은 음성 명령어에 의한 기능 실행과 관련한 오디오 데이터를 출력할 수 있다.
상기 카메라 모듈 991은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬(flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다.
상기 전력 관리 모듈 995는 상기 전자 장치 900의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈 995는 전자 장치 100의 적어도 하나의 장치 요소의 전력 공급을 제어할 수 있다. 예컨대, 전력 관리 모듈 995는 전자 장치 100의 배터리 전원이 설정 값 이하인 경우 특정 장치 요소들(예: 센서 모듈, 직접 통신 채널을 형성하는 통신 모듈, GPS 모듈 등)의 전원 공급을 차단할 수 있다. 전력 관리 모듈 995는 서버 장치 200과의 통신 연결 해제 등에 따라 전자 장치 100의 통신 기능과 관련하여 활성화된 장치 요소들의 전원 공급을 변경할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈 995는, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다.
상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리 996의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리 996은 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자 장치 900에 전원을 공급할 수 있다. 상기 배터리 996은, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터 997은 상기 전자 장치 900 혹은 그 일부(예: 상기 AP 910)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 한 실시 예에 다르면, 인디케이터 997은 음성 명령어 제공 기능 상태, 음성 검색 기능 실행 상태, 음성 명령어 기반 기능 실행 가능 상태를 표시할 수 있다. 인디케이터 997은 음성 명령어 제공 기반의 서버 장치 200 접속 상태를 표시할 수 있다. 상기 모터 998은 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치 900은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 개시에 따른 전자 장치의 전술한 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 본 개시에 따른 전자 장치는 전술한 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 본 개시에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
본 개시에 사용된 용어 “모듈”은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. “모듈”은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 개시에 따른 “모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따르면, 본 개시에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 상기 프로세서 210)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리 120가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서 90에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 개시의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 개시에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 개시에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
다양한 실시 예들 가운데 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 발명된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 다양한 실시 예들에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다양한 실시 예들에서 “또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B”는, A를 포함할 수도, B를 포함할 수도, 또는 A와 B 모두를 포함할 수도 있다.
다양한 실시 예들 가운데 “제 1,”“제2,”“첫째,”또는“둘째,”등의 표현들이 다양한 실시 예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분 짓기 위해 사용될 수 있다. 예를 들어, 다양한 실시 예들의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연계되어”, “연결되어" 또는 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
다양한 실시 예들에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다양한 실시 예들을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 다양한 실시 예들이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 다양한 실시 예들에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smartwatch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 내비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 모듈, 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller’s machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예들에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 개시에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 다양한 실시 예들에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다.
그리고 본 명세서와 도면에 개시된 본 개시의 실시 예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시 예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
10 : 음성 명령어 제공 시스템
100 : 전자 장치 110 : 통신 인터페이스
120 : 입력 모듈 130 : 오디오 모듈
140 : 표시 모듈 150 : 저장 모듈
160 : 제어 모듈 170 : 버스

Claims (20)

  1. 전자 장치에 있어서,
    디스플레이;
    메모리;
    오디오 데이터를 수집하는 오디오 모듈; 및
    상기 오디오 데이터의 오디오 특징 데이터 또는 상기 오디오 데이터를 음성 인식한 음성 인식 데이터 중 적어도 하나와, 상기 오디오 데이터와 관련하여 실행되는 기능 수행 데이터를 기반으로 지정된 기능을 음성으로 실행하도록 설정된 음성 명령어를 갱신하는 제어 모듈;을 포함하고,
    상기 제어 모듈은
    사용자 입력에 따라, 상기 디스플레이를 통해 가이드 정보를 출력하고 - 상기 가이드 정보는 적어도 하나의 단어에 대응하는 오디오 데이터의 입력 및 해당 오디오 데이터의 음성 명령어 등록을 위해 사용자에게 가이드를 제공함-,
    상기 오디오 모듈을 통해 상기 사용자로부터 적어도 1회 이상 상기 오디오 데이터를 수신하고,
    상기 오디오 데이터가 수신된 각 시간에 상기 오디오 데이터를 처리하고,
    상기 사용자로부터 수신된 상기 오디오 데이터의 수를 확인하고,
    상기 확인된 수가 지정된 수를 만족하는 경우, 상기 전자 장치를 통해 특정 어플리케이션을 활성화하기 위한 음성 명령어를 상기 메모리에 저장하는 전자 장치.
  2. 제1항에 있어서,
    상기 제어 모듈은
    상기 오디오 데이터 수집에 대응하여 기 저장된 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나의 가중치를 갱신하고, 상기 가중치가 정해진 조건을 만족하는 경우 상기 음성 명령어를 생성하는 전자 장치.
  3. 제2항에 있어서,
    상기 제어 모듈은
    상기 가중치가 정해진 조건을 만족하는 경우 후보 인식 모델을 생성하고, 상기 오디오 데이터와 관련하여 상기 후보 인식 모델의 가중치가 정해진 조건을 만족하는 경우 상기 후보 인식 모델을 상기 음성 명령어에 대응하는 인식 모델로 변경하는 전자 장치.
  4. 제3항에 있어서,
    상기 제어 모듈은
    상기 후보 인식 모델에서 변경된 인식 모델에 대응하는 음성 명령어를 새로 등록하는 전자 장치.
  5. 제2항에 있어서,
    상기 제어 모듈은
    상기 수집된 오디오 데이터와 관련 없는 후보 인식 모델 및 인식 모델 중 적어도 하나의 가중치를 갱신하고 상기 가중치 갱신에 대응하여 특정 후보 인식 모델 및 특정 인식 모델 중 적어도 하나를 제거하는 전자 장치.
  6. 제5항에 있어서,
    상기 제어 모듈은
    상기 특정 인식 모델 제거에 대응하여 등록된 음성 명령어를 제거하는 전자 장치.
  7. 제2항에 있어서,
    상기 제어 모듈은
    상기 오디오 특징 데이터, 상기 음성 인식 데이터, 상기 기능 수행 데이터, 상기 음성 명령어 중 적어도 하나의 표시를 제어하는 전자 장치.
  8. 제2항에 있어서,
    상기 제어 모듈은
    상기 오디오 특징 데이터의 발생 빈도수 기반의 상기 오디오 특징 데이터의 가중치 갱신, 상기 음성 인식 데이터의 발생 빈도수 기반의 상기 음성 인식 데이터의 가중치 갱신, 상기 기능 수행 데이터의 특정 기능 실행 여부, 상기 기능 수행 데이터의 특정 기능 실행 지속 시간 중 적어도 하나를 이용한 상기 기능 수행 데이터의 가중치 갱신 중 적어도 하나를 제어하는 전자 장치.
  9. 제1항에 있어서,
    상기 제어 모듈은
    상기 오디오 데이터를 서버 장치에 전송하고, 상기 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나를 상기 서버 장치로부터 수신하는 통신 인터페이스를 제어하는 전자 장치.
  10. 제9항에 있어서,
    상기 제어 모듈은
    상기 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나를 기반으로 생성된 음성 명령어를 상기 서버 장치로부터 수신하는 통신 인터페이스를 제어하는 전자 장치.
  11. 전자 장치의 음성 명령어 제공 방법에 있어서,
    오디오 데이터를 수집하는 동작;
    상기 오디오 데이터의 오디오 특징 데이터 또는 상기 오디오 데이터를 음성 인식한 음성 인식 데이터 중 적어도 하나와, 상기 오디오 데이터와 관련하여 실행되는 기능 수행 데이터를 기반으로 지정된 기능을 음성으로 실행하도록 설정된 음성 명령어를 갱신하는 동작;을 포함하고,
    상기 갱신하는 동작은
    사용자 입력에 따라, 디스플레이를 통해 가이드 정보를 출력하는 동작 - 상기 가이드 정보는 적어도 하나의 단어에 대응하는 오디오 데이터의 입력 및 해당 오디오 데이터의 음성 명령어 등록을 위해 사용자에게 가이드를 제공함-,
    오디오 모듈을 통해 상기 사용자로부터 적어도 1회 이상 상기 오디오 데이터를 수신하는 동작;
    상기 오디오 데이터가 수신된 각 시간에 상기 오디오 데이터를 처리하는 동작;
    상기 사용자로부터 수신된 상기 오디오 데이터의 수를 확인하는 동작; 및
    상기 확인된 수가 지정된 수를 만족하는 경우, 상기 전자 장치를 통해 특정 어플리케이션을 활성화하기 위한 음성 명령어를 메모리에 저장하는 동작;을 포함하는 음성 명령어 제공 방법.
  12. 제11항에 있어서,
    상기 오디오 데이터 수집에 대응하여 기 저장된 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나의 가중치를 갱신하는 동작;
    상기 가중치가 정해진 조건을 만족하는 경우 상기 음성 명령어를 생성하는 동작;을 포함하는 음성 명령어 제공 방법.
  13. 제12항에 있어서,
    상기 음성 명령어를 갱신하는 동작은
    상기 가중치가 정해진 조건을 만족하는 경우 후보 인식 모델을 생성하는 동작;
    상기 오디오 데이터와 관련하여 상기 후보 인식 모델의 가중치를 갱신하는 동작;
    상기 갱신된 가중치가 정해진 조건을 만족하는 경우 상기 후보 인식 모델을 상기 음성 명령어에 대응하는 인식 모델로 변경하는 동작;을 포함하는 음성 명령어 제공 방법.
  14. 제13항에 있어서,
    상기 음성 명령어를 갱신하는 동작은
    상기 후보 인식 모델에서 변경된 인식 모델에 대응하는 음성 명령어를 새로 등록하는 동작;을 포함하는 음성 명령어 제공 방법.
  15. 제12항에 있어서,
    상기 음성 명령어를 갱신하는 동작은
    상기 수집된 오디오 데이터와 관련 없는 후보 인식 모델 및 상기 수집된 오디오 데이터와 관련 없는 인식 모델 중 적어도 하나의 가중치를 갱신하는 동작;
    상기 가중치 갱신에 대응하여 특정 후보 인식 모델 및 특정 인식 모델 중 적어도 하나를 제거하는 동작;을 포함하는 음성 명령어 제공 방법.
  16. 제15항에 있어서,
    상기 음성 명령어를 갱신하는 동작은
    상기 특정 인식 모델 제거에 대응하여 등록된 음성 명령어를 제거하는 동작;을 더 포함하는 음성 명령어 제공 방법.
  17. 제12항에 있어서,
    상기 오디오 특징 데이터, 상기 음성 인식 데이터, 상기 기능 수행 데이터, 상기 음성 명령어 중 적어도 하나를 출력하는 동작;을 포함하는 음성 명령어 제공 방법.
  18. 제12항에 있어서,
    상기 가중치를 갱신하는 동작은
    상기 오디오 특징 데이터의 발생 빈도수에 대응하여 상기 오디오 특징 데이터의 가중치를 갱신하는 동작;
    상기 음성 인식 데이터의 발생 빈도수에 대응하여 상기 음성 인식 데이터의 가중치를 갱신하는 동작;
    상기 기능 수행 데이터의 특정 기능 실행 여부, 상기 기능 수행 데이터의 특정 기능 실행 지속 시간 중 적어도 하나를 기반으로 상기 기능 수행 데이터의 가중치를 갱신하는 동작; 중 적어도 하나를 포함하는 음성 명령어 제공 방법.
  19. 제11항에 있어서,
    상기 오디오 데이터를 서버 장치에 전송하는 동작;
    상기 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나를 상기 서버 장치로부터 수신하는 동작;을 더 포함하는 음성 명령어 제공 방법.
  20. 제19항에 있어서,
    상기 오디오 특징 데이터, 상기 음성 인식 데이터 및 상기 기능 수행 데이터 중 적어도 하나를 기반으로 생성된 음성 명령어를 상기 서버 장치로부터 수신하는 동작;을 더 포함하는 음성 명령어 제공 방법.
KR1020140080541A 2014-06-30 2014-06-30 음성 명령어 제공 방법 및 이를 지원하는 전자 장치 KR102261552B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020140080541A KR102261552B1 (ko) 2014-06-30 2014-06-30 음성 명령어 제공 방법 및 이를 지원하는 전자 장치
EP20197601.6A EP3826005A1 (en) 2014-06-30 2015-06-29 Method of providing voice command and electronic device supporting the same
EP15174352.3A EP2963642A1 (en) 2014-06-30 2015-06-29 Method of providing voice command and electronic device supporting the same
US14/755,441 US9934781B2 (en) 2014-06-30 2015-06-30 Method of providing voice command and electronic device supporting the same
US15/906,594 US10679619B2 (en) 2014-06-30 2018-02-27 Method of providing voice command and electronic device supporting the same
US16/895,499 US11114099B2 (en) 2014-06-30 2020-06-08 Method of providing voice command and electronic device supporting the same
US17/459,327 US11664027B2 (en) 2014-06-30 2021-08-27 Method of providing voice command and electronic device supporting the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140080541A KR102261552B1 (ko) 2014-06-30 2014-06-30 음성 명령어 제공 방법 및 이를 지원하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20160001965A KR20160001965A (ko) 2016-01-07
KR102261552B1 true KR102261552B1 (ko) 2021-06-07

Family

ID=53765057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140080541A KR102261552B1 (ko) 2014-06-30 2014-06-30 음성 명령어 제공 방법 및 이를 지원하는 전자 장치

Country Status (3)

Country Link
US (4) US9934781B2 (ko)
EP (2) EP2963642A1 (ko)
KR (1) KR102261552B1 (ko)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
BR112015018905B1 (pt) 2013-02-07 2022-02-22 Apple Inc Método de operação de recurso de ativação por voz, mídia de armazenamento legível por computador e dispositivo eletrônico
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10037758B2 (en) * 2014-03-31 2018-07-31 Mitsubishi Electric Corporation Device and method for understanding user intent
CN106471570B (zh) 2014-05-30 2019-10-01 苹果公司 多命令单一话语输入方法
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9607102B2 (en) * 2014-09-05 2017-03-28 Nuance Communications, Inc. Task switching in dialogue processing
US9837081B2 (en) * 2014-12-30 2017-12-05 Microsoft Technology Licensing, Llc Discovering capabilities of third-party voice-enabled resources
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10739960B2 (en) * 2015-09-22 2020-08-11 Samsung Electronics Co., Ltd. Performing application-specific searches using touchscreen-enabled computing devices
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US9691384B1 (en) * 2016-08-19 2017-06-27 Google Inc. Voice action biasing system
US10394950B2 (en) 2016-08-22 2019-08-27 International Business Machines Corporation Generation of a grammatically diverse test set for deep question answering systems
US10133724B2 (en) * 2016-08-22 2018-11-20 International Business Machines Corporation Syntactic classification of natural language sentences with respect to a targeted element
TWI614676B (zh) * 2016-08-26 2018-02-11 Walton Advanced Eng Inc 數位語音導引裝置及其方法
US9571532B1 (en) * 2016-09-09 2017-02-14 Republic Wireless, Inc. Techniques for integrating voice control into an active telephony call
US10540711B1 (en) 2016-09-16 2020-01-21 American Innovative Applications Corporation Multi-functional integrated communications system application for user transactions
US10210864B2 (en) * 2016-12-29 2019-02-19 T-Mobile Usa, Inc. Voice command for communication between related devices
CN106814879A (zh) * 2017-01-03 2017-06-09 北京百度网讯科技有限公司 一种输入方法和装置
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US11164570B2 (en) * 2017-01-17 2021-11-02 Ford Global Technologies, Llc Voice assistant tracking and activation
WO2018146923A1 (ja) * 2017-02-07 2018-08-16 三菱電機株式会社 分散協調システム、機器行動監視装置及び家電機器
CN107122179A (zh) * 2017-03-31 2017-09-01 阿里巴巴集团控股有限公司 语音的功能控制方法和装置
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
CN107424609A (zh) * 2017-07-31 2017-12-01 北京云知声信息技术有限公司 一种语音控制方法及装置
KR102428148B1 (ko) * 2017-08-31 2022-08-02 삼성전자주식회사 가전 기기의 음성 인식을 위한 시스템과 서버, 방법
WO2019054827A1 (ko) * 2017-09-15 2019-03-21 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN109559759B (zh) * 2017-09-27 2021-10-08 华硕电脑股份有限公司 具备增量注册单元的电子设备及其方法
KR102374919B1 (ko) * 2017-10-16 2022-03-16 주식회사 만도모빌리티솔루션즈 자율주행 지원 장치 및 방법
KR102455067B1 (ko) 2017-11-24 2022-10-17 삼성전자주식회사 전자 장치 및 그 제어 방법
JP7192208B2 (ja) * 2017-12-01 2022-12-20 ヤマハ株式会社 機器制御システム、デバイス、プログラム、及び機器制御方法
JP6962158B2 (ja) 2017-12-01 2021-11-05 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
US10574890B2 (en) 2018-01-12 2020-02-25 Movidius Ltd. Methods and apparatus to operate a mobile camera for low-power usage
JP7067082B2 (ja) 2018-01-24 2022-05-16 ヤマハ株式会社 機器制御システム、機器制御方法、及びプログラム
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
CN108196469A (zh) * 2018-03-29 2018-06-22 深圳创维-Rgb电子有限公司 一种ai控制件、智能家居控制系统及控制方法
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
EP4343534A2 (en) * 2018-08-23 2024-03-27 Google Llc Regulating assistant responsiveness according to characteristics of a multi-assistant environment
CN109243436A (zh) * 2018-08-23 2019-01-18 珠海格力电器股份有限公司 设备的控制方法及装置、电子装置及存储介质
US10915995B2 (en) 2018-09-24 2021-02-09 Movidius Ltd. Methods and apparatus to generate masked images based on selective privacy and/or location tracking
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
CN109448709A (zh) * 2018-10-16 2019-03-08 华为技术有限公司 一种终端投屏的控制方法和终端
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11361767B2 (en) * 2018-10-31 2022-06-14 Samsung Electronics Co., Ltd Method and apparatus for capability-based processing of voice queries in a multi-assistant environment
KR20200059054A (ko) 2018-11-20 2020-05-28 삼성전자주식회사 사용자 발화를 처리하는 전자 장치, 및 그 전자 장치의 제어 방법
JP7141938B2 (ja) * 2018-12-07 2022-09-26 富士フイルムヘルスケア株式会社 音声認識入力装置、音声認識入力プログラム及び医用画像撮像システム
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
WO2020159047A1 (ko) 2019-01-29 2020-08-06 삼성전자 주식회사 보이스 어시스턴트 서비스를 이용한 컨텐츠 재생 장치 및 그 동작 방법
CN109890067B (zh) 2019-02-21 2021-03-30 华为技术有限公司 对特定路线上的特定位置进行识别的方法及电子设备
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
CN110148414B (zh) * 2019-05-21 2021-06-29 大众问问(北京)信息科技有限公司 一种语音说法引导方法和装置
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
KR20210044606A (ko) 2019-10-15 2021-04-23 삼성전자주식회사 웨이크업 모델 생성 방법 및 이를 위한 전자 장치
KR20210125356A (ko) 2020-04-08 2021-10-18 삼성전자주식회사 전자 장치 및 그 동작 방법
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
CN112530222A (zh) * 2020-12-17 2021-03-19 江苏遨信科技有限公司 一种可进行语音控制的知识题库系统及其使用方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003295893A (ja) 2002-04-01 2003-10-15 Omron Corp 音声認識システム、装置、音声認識方法、音声認識プログラム及び音声認識プログラムを記録したコンピュータ読み取り可能な記録媒体
US20140136200A1 (en) * 2012-11-13 2014-05-15 GM Global Technology Operations LLC Adaptation methods and systems for speech systems

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748191A (en) * 1995-07-31 1998-05-05 Microsoft Corporation Method and system for creating voice commands using an automatically maintained log interactions performed by a user
US20020116196A1 (en) 1998-11-12 2002-08-22 Tran Bao Q. Speech recognizer
FR2788615B1 (fr) * 1999-01-18 2001-02-16 Thomson Multimedia Sa Appareil comportant une interface utilisateur vocale ou manuelle et procede d'aide a l'apprentissage des commandes vocales d'un tel appareil
KR100360480B1 (ko) 2000-03-10 2002-11-09 삼성전자 주식회사 사용자 인증 장치 및 그 방법
EP1220520B1 (en) * 2000-12-29 2012-09-26 LG Electronics Inc. Message display method in mobile terminal
JP4581290B2 (ja) 2001-05-16 2010-11-17 パナソニック株式会社 音声認識装置および音声認識方法
US7324947B2 (en) 2001-10-03 2008-01-29 Promptu Systems Corporation Global speech user interface
CN100578151C (zh) * 2002-03-15 2010-01-06 三菱电机株式会社 车辆用导航装置
US7756708B2 (en) 2006-04-03 2010-07-13 Google Inc. Automatic language model update
US7831431B2 (en) * 2006-10-31 2010-11-09 Honda Motor Co., Ltd. Voice recognition updates via remote broadcast signal
KR101631496B1 (ko) 2008-06-03 2016-06-17 삼성전자주식회사 로봇 장치 및 그 단축 명령 등록 방법
KR20100111164A (ko) 2009-04-06 2010-10-14 삼성전자주식회사 사용자의 발화의도를 파악하는 음성 대화 처리장치 및 음성 대화 처리방법
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
KR101699720B1 (ko) * 2010-08-03 2017-01-26 삼성전자주식회사 음성명령 인식 장치 및 음성명령 인식 방법
US20130179166A1 (en) * 2010-09-29 2013-07-11 Nec Casio Mobile Communications, Ltd. Voice conversion device, portable telephone terminal, voice conversion method, and record medium
US10057736B2 (en) * 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
JP5698203B2 (ja) * 2011-09-30 2015-04-08 アップル インコーポレイテッド バーチャルアシスタントのコマンド処理を容易にするためのコンテクスト情報の使用
US8837633B2 (en) 2011-10-21 2014-09-16 Xilinx, Inc. Systems and methods for digital processing based on active signal channels of a communication system
US20130197914A1 (en) 2012-01-26 2013-08-01 Microtechnologies Llc D/B/A Microtech Voice activated audio control system and associated method of use
EP2626771B1 (en) * 2012-02-09 2018-01-10 Samsung Electronics Co., Ltd Display apparatus and method for controlling a camera mounted on a display apparatus
KR20130133629A (ko) 2012-05-29 2013-12-09 삼성전자주식회사 전자장치에서 음성명령을 실행시키기 위한 장치 및 방법
KR101944414B1 (ko) * 2012-06-04 2019-01-31 삼성전자주식회사 음성 인식 서비스를 제공하기 위한 방법 및 그 전자 장치
US9043205B2 (en) * 2012-06-21 2015-05-26 Google Inc. Dynamic language model
KR20140089863A (ko) * 2013-01-07 2014-07-16 삼성전자주식회사 디스플레이 장치, 및 이의 제어 방법, 그리고 음성 인식 시스템의 디스플레이 장치 제어 방법
US8947241B2 (en) * 2013-02-18 2015-02-03 Garmin Switzerland Gmbh Animal tracking apparatus and method
US9361885B2 (en) * 2013-03-12 2016-06-07 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9343068B2 (en) * 2013-09-16 2016-05-17 Qualcomm Incorporated Method and apparatus for controlling access to applications having different security levels
KR102115186B1 (ko) * 2013-11-22 2020-05-27 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
KR101398434B1 (ko) 2013-12-31 2014-05-28 주식회사 서비전자 통합리모콘 앱의 음성명령어 편집방법
EP2891974A1 (en) * 2014-01-06 2015-07-08 Samsung Electronics Co., Ltd Display apparatus which operates in response to voice commands and control method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003295893A (ja) 2002-04-01 2003-10-15 Omron Corp 音声認識システム、装置、音声認識方法、音声認識プログラム及び音声認識プログラムを記録したコンピュータ読み取り可能な記録媒体
US20140136200A1 (en) * 2012-11-13 2014-05-15 GM Global Technology Operations LLC Adaptation methods and systems for speech systems

Also Published As

Publication number Publication date
US20200302929A1 (en) 2020-09-24
US20150379993A1 (en) 2015-12-31
US10679619B2 (en) 2020-06-09
US20180190289A1 (en) 2018-07-05
EP3826005A1 (en) 2021-05-26
US11114099B2 (en) 2021-09-07
KR20160001965A (ko) 2016-01-07
US11664027B2 (en) 2023-05-30
US9934781B2 (en) 2018-04-03
US20210407508A1 (en) 2021-12-30
EP2963642A1 (en) 2016-01-06

Similar Documents

Publication Publication Date Title
KR102261552B1 (ko) 음성 명령어 제공 방법 및 이를 지원하는 전자 장치
CN108829235B (zh) 语音数据处理方法和支持该方法的电子设备
US10978048B2 (en) Electronic apparatus for recognizing keyword included in your utterance to change to operating state and controlling method thereof
KR102394485B1 (ko) 음성 인식을 위한 전자 장치 및 방법
KR102301880B1 (ko) 전자 장치 및 이의 음성 대화 방법
US11170768B2 (en) Device for performing task corresponding to user utterance
US11435980B2 (en) System for processing user utterance and controlling method thereof
CN108496220B (zh) 电子设备及其语音识别方法
CN108023934B (zh) 电子装置及其控制方法
KR102208477B1 (ko) 마이크 운용 방법 및 이를 지원하는 전자 장치
EP2816554A2 (en) Method of executing voice recognition of electronic device and electronic device using the same
US10811008B2 (en) Electronic apparatus for processing user utterance and server
EP3531416A1 (en) System for processing user utterance and controlling method thereof
US10579726B2 (en) Method and device for generating natural language expression by using framework
KR20140139982A (ko) 전자 장치의 음성인식을 수행하는 방법 및 이를 사용하는 전자 장치
EP3444811B1 (en) Speech recognition method and device
US9460090B2 (en) Method of recognizing situation requiring translation and performing translation function, and electronic device implementing the same
US20200075008A1 (en) Voice data processing method and electronic device for supporting same
US20200326832A1 (en) Electronic device and server for processing user utterances
US11915700B2 (en) Device for processing user voice input
US10996922B2 (en) Electronic apparatus for processing user utterance
US20170229119A1 (en) Method for detecting voice and electronic device using the same

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant