KR102409303B1 - 음성 인식 방법 및 장치 - Google Patents

음성 인식 방법 및 장치 Download PDF

Info

Publication number
KR102409303B1
KR102409303B1 KR1020170054513A KR20170054513A KR102409303B1 KR 102409303 B1 KR102409303 B1 KR 102409303B1 KR 1020170054513 A KR1020170054513 A KR 1020170054513A KR 20170054513 A KR20170054513 A KR 20170054513A KR 102409303 B1 KR102409303 B1 KR 102409303B1
Authority
KR
South Korea
Prior art keywords
voice recognition
voice
command
recognition apparatus
activated
Prior art date
Application number
KR1020170054513A
Other languages
English (en)
Other versions
KR20180069660A (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 US15/783,476 priority Critical patent/US11003417B2/en
Priority to CN201780078008.1A priority patent/CN110100277B/zh
Priority to EP17879966.4A priority patent/EP3533052B1/en
Priority to PCT/KR2017/011440 priority patent/WO2018110818A1/en
Publication of KR20180069660A publication Critical patent/KR20180069660A/ko
Priority to US17/215,409 priority patent/US11687319B2/en
Application granted granted Critical
Publication of KR102409303B1 publication Critical patent/KR102409303B1/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/04Segmentation; Word boundary detection
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/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/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

본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다. 상황에 따라 결정되는 활성화 단어에 응답하여 음성 인식을 수행하는 음성 인식 방법 및 장치가 제공될 수 있다.

Description

음성 인식 방법 및 장치{Method and Apparatus for Voice Recognition}
본 개시는 딥러닝 등의 기계 학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 인공지능(AI) 시스템 및 그 응용에 관련된 것이다.
본 개시는 음성 인식 방법 및 장치에 관한 것으로서, 보다 상세하게는 음성 인식 장치가 동작하는 상황과 관련된 정보에 기초하여 결정된 활성화 단어에 응답하여 음성 인식을 수행하는 음성 인식 방법 및 장치에 관한 것일 수 있다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 객체 인식, 객체 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
최근에 스마트폰과 같이 다양한 기능을 복합적으로 수행하는 전자 장치들이 개발됨에 따라, 조작성을 향상시키기 위하여 음성 인식 기능이 탑재된 전자 장치들이 출시되고 있다. 음성 인식 기능은, 별도의 버튼 조작 또는 터치 모듈에 대한 접촉에 의하지 않고 사용자의 음성을 인식함으로써 사용자가 장치를 손쉽게 제어할 수 있도록 한다는 장점을 가진다.
이러한 음성 인식 기능에 의하면, 예를 들어 스마트폰과 같은 휴대용 단말기에서는 별도의 버튼을 누르는 조작 없이 통화 기능을 수행하거나 문자 메시지를 작성할 수 있으며, 길찾기, 인터넷 검색, 알람 설정 등 다양한 기능을 손쉽게 설정할 수 있다.
사용자가 음성 인식 장치와 자연스럽게 대화하듯이 발화함으로써 음성 인식 장치를 제어할 수 있도록 하여 사용자의 편의를 높일 수 있는 방법이 요구된다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따른 음성 인식 방법은, 음성 인식 장치가 동작하는 상황(situation)과 관련된 정보에 기초하여 적어도 하나의 활성화 단어를 결정하는 단계; 입력 오디오 신호를 수신하는 단계; 상기 입력 오디오 신호에 상기 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호가 포함되었는지 여부에 기초하여, 상기 입력 오디오 신호에 대한 음성 인식을 수행하는 단계; 및 음성 인식이 수행된 결과를 출력하는 단계를 포함할 수 있다.
일 실시예에 따른 음성 인식 장치는, 입력 오디오 신호를 수신하는 수신부; 음성 인식 장치가 동작하는 상황과 관련된 정보에 기초하여 적어도 하나의 활성화 단어를 결정하고, 상기 입력 오디오 신호에 상기 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호가 포함되었는지 여부에 기초하여, 상기 입력 오디오 신호에 대한 음성 인식을 수행하는, 프로세서; 및 음성 인식이 수행된 결과를 출력하는, 출력부를 포함할 수 있다.
일 실시예에 따른 음성 인식 장치가 음성 인식 방법을 실행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 음성 인식 방법은, 상기 음성 인식 장치가 동작하는 상황과 관련된 정보에 기초하여 적어도 하나의 활성화 단어를 결정하는 단계; 입력 오디오 신호를 수신하는 단계; 상기 입력 오디오 신호에 상기 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호가 포함되었는지 여부에 기초하여, 상기 입력 오디오 신호에 대한 음성 인식을 수행하는 단계; 및 음성 인식이 수행된 결과를 출력하는 단계를 포함할 수 있다.
도 1a, 1b 및 1c는 일 실시예에 따른 음성 인식 시스템을 설명하기 위한 도면이다.
도 2a는 일반적인 음성 인식 장치의 동작 방법을 설명하기 위한 도면이다.
도 2b는 일 실시예에 따른 음성 인식 장치의 동작 방법을 설명하기 위한 도면이다.
도 3은 일 실시예에 따라 음성 인식 장치가 음성 인식을 수행하는 방법의 흐름도이다.
도 4는 일 실시예에 따라 음성 인식 장치가 음성 인식을 수행하는 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따라 음성 인식 장치가 음성 인식을 수행하는 방법의 구체적인 흐름도이다.
도 6은 일 실시예에 따라 음성 인식 장치가 음성 인식이 수행된 결과를 출력하는 방법의 흐름도이다.
도 7은 일 실시예에 따라 음성 인식 장치가 음성 인식이 수행된 결과를 출력하는 방법을 설명하기 위한 도면이다.
도 8은 일 실시예에 따라 음성 인식 장치가 음성 인식이 수행된 결과를 출력하는 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따라 음성 인식 장치가 음성 명령이 직접 명령인지 여부를 판단하는 방법의 흐름도이다.
도 10은 일 실시예에 따라 음성 인식 장치가 상황들에 대응하는 활성화 단어들을 결정하는 방법의 흐름도이다.
도 11a 및 11b는 일 실시예에 따른 음성 인식 장치의 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1a, 1b 및 1c는 일 실시예에 따른 음성 인식 시스템을 설명하기 위한 도면이다. 일 실시예에 따른 음성 인식 시스템은 딥러닝 기반 인공지능 시스템일 수 있다. 일 실시예에 따른 음성 인식 시스템은 인공지능 기술을 이용함으로써, 음성 인식 장치가 동작하는 상황을 추론 및 예측하고, 인간의 언어를 인식하고 응용 및 처리할 수 있다.
도 1a에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 음성 인식 장치(100-1)를 포함할 수 있다. 예를 들어, 음성 인식 장치(100-1)는, 스마트폰, 태블릿 PC, PC, 스마트 TV, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라 및 자동차의 전자 제어 장치, 중앙 정보 디스플레이(CID, Central Information Display) 등 모바일 컴퓨팅 장치 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 일 실시예에 따른 음성 인식 장치(100-1)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(100-1)는, 음성 인식 결과를 출력할 수 있다.
또한, 도 1b에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 음성 인식 장치(100-2) 및 음성 인식 장치(100-2)와 연결된 전자 장치(110)를 포함할 수 있다. 음성 인식 장치(100-2)와 전자 장치(110)는 유선 또는 무선으로 연결 될 수 있다. 예를 들어, 음성 인식 장치(100-2)와 연결된 전자 장치(110)는, 스마트폰, 태블릿 PC, PC, 스마트 TV, 자동차의 전자 제어 장치, 중앙 정보 디스플레이와 같은 모바일 컴퓨팅 장치 또는 비모바일 컴퓨팅 장치일 수 있다. 음성 인식 장치(100-2)는 전자 장치(110)와 연동하는 웨어러블 디바이스, 스마트폰, 태블릿 PC, PC, 네비게이션 또는 스마트 TV 등일 수 있으나, 이에 제한되지 않는다.
일 실시예에 따른 음성 인식 장치(100-2)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 입력된 오디오 신호를 전자 장치(110)에게 송신 할 수 있다. 또는, 음성 인식 장치(100-2)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 입력된 오디오 신호로부터 검출된 음성 신호를 전자 장치(110)에게 송신 할 수 있다. 또는, 음성 인식 장치(100-2)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 입력된 오디오 신호로부터 검출된 음성 신호의 특징을 전자 장치(110)에게 송신 할 수 있다.
전자 장치(110)는, 음성 인식 장치(100-2)로부터 수신된 신호에 기초하여 음성 인식을 수행할 수 있다. 예를 들어, 전자 장치(110)는 음성 인식 장치(100-2)에서 입력된 오디오 신호로부터 검출된 음성 신호에 대해서 음성 인식을 수행할 수 있다. 전자 장치(110)는, 음성 인식 결과를 출력하거나, 음성 인식 장치(100-2)가 음성 인식 결과를 출력 하도록 음성 인식 장치(100-2)에게 음성 인식 결과를 송신할 수 있다.
또한, 도 1c에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 음성 인식 장치(100-3) 및 음성 인식 장치(100-3)와 연결된 서버(120)를 포함할 수 있다. 음성 인식 장치(100-3)와 서버(120)는 유선 또는 무선으로 연결 될 수 있다.
일 실시예에 따른 음성 인식 장치(100-3)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 입력된 오디오 신호를 서버(120)에게 송신 할 수 있다. 또는, 음성 인식 장치(100-3)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 입력된 오디오 신호로부터 검출된 음성 신호를 서버(120)에게 송신 할 수 있다. 또는, 음성 인식 장치(100-3)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 입력된 오디오 신호로부터 검출된 음성 신호의 특징을 서버(120)에게 송신 할 수 있다.
서버(120)는, 음성 인식 장치(100-3)로부터 수신된 신호에 기초하여 음성 인식을 수행할 수 있다. 예를 들어, 서버(120)는 음성 인식 장치(100-3)에서 입력된 오디오 신호로부터 검출된 음성 신호에 대해서 음성 인식을 수행할 수 있다. 서버(120)는, 음성 인식 장치(100-3)가 음성 인식 결과를 출력 하도록 음성 인식 장치(100-3)에게 음성 인식 결과를 송신할 수 있다.
도 1a, 1b 및 1c에 도시된 음성 인식 시스템은, 사용자의 음성을 인식함으로써 사용자가 장치를 손쉽게 제어할 수 있도록 한다는 장점을 가진다.
다만, 음성 인식 장치가 음성 인식 기능을 계속해서 활성화 하는 경우, 입력되는 오디오 신호가 음성 인식의 대상이 되는 발화인지 또는 음성 인식의 대상이 아닌 잡음인지 여부를 음성 인식 장치가 구분하기 어렵기 때문에 음성 인식 성능이 저하되는 문제가 발생한다. 또한, 음성 인식 장치가 음성 검출 동작 및 음성 인식 동작을 계속해서 수행하게 되면, 음성 인식 장치는 전력이나 메모리 용량을 불필요하게 소비할 수 있다.
따라서, 음성 인식 장치는, 사용자가 음성 명령을 발화할 때에만 음성 인식 기능을 활성화 시킬 수 있어야 한다.
일 예로서, 종래의 음성 인식 장치는, 사용자가 버튼을 누름으로써 음성 인식 기능을 활성화 시키는 방법을 이용하였다. 이러한 활성화 방법은, 사용자가 음성 인식 장치로부터 일정한 물리적 거리 내에 위치하여야 한다는 제약이 있고, 음성 인식 기능의 활성화를 원하지 않을 경우 버튼을 누르지 않도록 사용자의 주의를 요한다는 단점이 있었다.
다른 예로서, 종래의 음성 인식 장치는, 미리 결정된 하나의 특정한 활성화 단어가 발화되면 음성 인식 기능을 활성화 시키는 방법을 이용하였다. 이러한 활성화 방법은, 사용자가 음성 명령을 발화하기 전에 특정한 활성화 단어를 발화해야 하므로 부자연스럽다는 단점이 있었다.
앞에서 살펴본 바와 같이 종래의 음성 인식 장치는, 음성 인식 기능을 활성화 시키기 위하여 사용자의 적극적인 행동을 필요로 하였다. 따라서, 사용자의 적극적인 행동이 개입되지 않을 경우 음성 인식 기능을 시작할 수 없었으므로, 음성 인식 장치가 음성 인식을 통하여 상황을 앞서서 주도하는(proactive) 서비스를 제공하는데 제약이 있었다.
따라서, 일 실시예에 따른 음성 인식 장치는, 사용자가 음성 인식 장치와 자연스럽게 대화하듯이 발화함으로써 음성 인식 장치를 제어할 수 있도록 하여 사용자의 편의를 높일 수 있는 방법을 제공한다. 일 실시예에 따른 음성 인식 장치는, 사용자의 직접적인 동작이 없는 경우에도 상황을 앞서서 주도하는(proactive) 서비스를 제공할 수 있다. 일 실시예는, 음성 인식 장치가 동작하는 상황에 따라 지정된 다수의 활성화 단어들에 기초하여 음성 인식 기능을 활성화하는 방법을 제안한다. 또한, 일 실시예는, 음성 인식 장치가 음성 인식을 수행하기 이전에 동작하는 방법을 제안한다.
도 2a는 일반적인 음성 인식 장치의 동작 방법을 설명하기 위한 도면이다.
도 2a는 일반적인 음성 인식 장치(100)가 “하이 갤럭시”라는 하나의 특정한 활성화 단어가 발화되면 음성 인식 기능을 활성화하는 경우를 예로 들어 도시한다.
도 2a에 도시된 바와 같이, 사용자(10)는, 오늘 날씨를 묻기 위하여 음성 명령 앞에 “하이 갤럭시”라는 활성화 단어를 발화하여야 한다.
음성 인식 장치(100)는, “하이 갤럭시”라는 활성화 단어를 발화하는 음성 신호가 수신되면, 음성 인식 기능을 활성화 할 수 있다. 음성 인식 장치(100)는, 활성화 단어 다음에 발화되는 문장인 “오늘 날씨 어때?”라는 사용자의 음성 명령에 대해서 음성 인식을 수행하고, 사용자의 음성 명령에 대한 응답으로서 “오늘 날씨는 맑음입니다”라는 날씨 정보를 제공할 수 있다.
다음으로, 사용자(10)는, 현재 시각을 묻기 위하여 음성 명령 앞에 “하이 갤럭시”라는 활성화 단어를 발화하여야 한다.
음성 인식 장치(100)는, “하이 갤럭시”라는 활성화 단어를 발화하는 음성 신호가 수신되면, 음성 인식 기능을 활성화 할 수 있다. 음성 인식 장치(100)는, 활성화 단어 다음에 발화되는 문장인 “지금 몇 시야?”라는 사용자의 음성 명령에 대해서 음성 인식을 수행하고, 사용자의 음성 명령에 대한 응답으로서 “오후 3시 20분입니다.”라는 시각 정보를 제공할 수 있다.
도 2a에 도시된 바와 같이, 지정된 하나의 활성화 단어만을 이용하여 음성 인식 기능을 활성화 하는 경우, 활성화 단어를 매번 발화하는 것이 사용자에게 번거롭고 부자연스러울 수 있다.
따라서, 일 실시예는, 별도의 활성화 단어를 발화하거나 음성 인식 기능을 활성화 시키기 위한 사용자의 동작 없이도, 음성 인식 장치가 사용자가 자연스럽게 발화하는 음성 명령에 대한 음성 인식을 수행할 수 있는 방법을 제안한다.
도 2b는 일 실시예에 따른 음성 인식 장치의 동작 방법을 설명하기 위한 도면이다.
도 2b에 도시된 바와 같이, 사용자(10)는, 오늘 날씨를 묻기 위하여 별도의 활성화 동작 없이 오늘 날씨를 묻는 음성 명령인 “오늘 날씨 어때?”를 발화할 수 있다. 일 실시예에 따른, 음성 인식 장치(100)는, “오늘 날씨 어때?”라는 음성 명령을 발화하는 음성 신호가 수신되면, 음성 인식 기능을 활성화 할 수 있다. 음성 인식 장치(100)는, “오늘 날씨 어때?”라는 사용자의 음성 명령에 대해서 음성 인식을 수행하고, 사용자의 음성 명령에 대한 응답으로서 “오늘 날씨는 맑음입니다”라는 날씨 정보를 제공할 수 있다.
다음으로, 사용자(10)는, 현재 시각을 묻기 위하여 별도의 활성화 동작 없이 현재 시각을 묻는 음성 명령인 “지금 몇 시야?”를 발화할 수 있다. 음성 인식 장치(100)는, “지금 몇 시야?”라는 음성 명령을 발화하는 음성 신호가 수신되면, 음성 인식 기능을 활성화 할 수 있다. 음성 인식 장치(100)는, “지금 몇 시야?”라는 사용자의 음성 명령에 대해서 음성 인식을 수행하고, 사용자의 음성 명령에 대한 응답으로서 “오후 3시 20분입니다.”라는 시각 정보를 제공할 수 있다.
이하에서는, 일 실시예에 따른 음성 인식 장치가 음성 인식 방법을 수행하는 구체적인 방법에 대해 서술하도록 하겠다. 다만, 도 1a, 1b, 및 1c에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 적어도 하나의 음성 인식 장치를 포함하고, 서버 또는 전자 장치를 더 포함할 수 있다. 이하에서는, 설명의 편의를 위해 “음성 인식 장치”에서 수행되는 음성 인식 방법에 대해 서술하지만, 이하에서 기술되는 음성 인식 장치의 동작의 일부 또는 전부는 서버에서도 수행될 수 있으며, 복수의 전자 장치들에 의해 부분적으로 수행될 수 있다.
도 3은 일 실시예에 따라 음성 인식 장치가 음성 인식을 수행하는 방법의 흐름도이다.
단계 S310에서 일 실시예에 따른 음성 인식 장치(100)는, 음성 인식 장치(100)가 동작하는 상황과 관련된 정보에 기초하여 적어도 하나의 활성화 단어를 결정할 수 있다. 일 실시예에 따른 음성 인식 장치(100)는 인공지능 기술을 이용함으로써, 음성 인식 장치가 동작하는 상황을 추론 및 예측하고, 적어도 하나의 활성화 단어를 결정할 수 있다.
상황과 관련된 정보는, 음성 인식 장치(100)의 위치, 시간, 음성 인식 장치(100)가 다른 전자 장치와 연결되었는지 여부, 음성 인식 장치(100)가 접속한 네트워크의 종류, 음성 인식 장치(100)가 움직이는지 여부, 및 음성 인식 장치(100)를 사용하는 사용자의 특성과 관련된 정보 중 적어도 하나를 포함할 수 있다.
일 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)와 연결된 적어도 하나의 전자 장치에 대한 정보를 획득할 수 있다. 음성 인식 장치(100)는, 적어도 하나의 전자 장치와 관련된 단어를 적어도 하나의 활성화 단어로서 결정할 수 있다. 다른 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)가 접속된 네트워크에 대한 정보를 획득할 수 있다. 음성 인식 장치(100)는, 음성 인식 장치(100)가 접속된 네트워크에 대한 정보에 기초하여, 음성 인식 장치가 동작하는 상황을 파악할 수 있다. 예를 들어, 음성 인식 장치(100)는, 음성 인식 장치(100)가 접속된 네트워크에 대한 정보에 기초하여, 음성 인식 장치가 동작하는 위치를 파악할 수 있다.
예를 들어, 음성 인식 장치(100)는, 음성 인식 장치가 집 안에 설치된 WiFi에 접속하는 경우, 음성 인식 장치(100)의 위치가 집 안이라고 판단할 수 있다. 음성 인식 장치(100)는, 집에 대응하는 적어도 하나의 활성화 단어를 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, TV, 에어컨, 청소기, 날씨, 일정 등을 집에 대응하는 활성화 단어들로서 결정할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 적어도 하나의 활성화 단어를 결정하기에 앞서, 복수의 상황들 각각에 대응하는 복수의 후보 활성화 단어들을 저장하는 단계를 더 포함할 수 있다. 음성 인식 장치(100)는, 음성 인식 장치(100)가 동작하는 상황과 관련된 정보를 획득하고, 저장된 데이터를 검색함으로써, 음성 인식 장치(100)가 동작하는 상황에 대응하는 적어도 하나의 후보 활성화 단어를 추출할 수 있다. 음성 인식 장치(100)는, 적어도 하나의 후보 활성화 단어를 적어도 하나의 활성화 단어로서 결정할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 복수의 후보 활성화 단어들을 저장하기 위해서, 음성 인식 장치(100)가 복수의 상황들에서 사용자로부터 수신하는 음성 명령들에 대한 정보를 수신할 수 있다. 음성 인식 장치(100)는, 음성 명령들에 포함되는 복수의 단어들을 추출할 수 있다. 음성 인식 장치(100)는, 복수의 상황들 중에서 특정 상황에서 수신되는 음성 명령들 내에 복수의 단어들이 포함되는 빈도에 기초하여, 적어도 하나의 단어를 특정 상황에 대응하는 후보 활성화 단어로서 저장할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 음성 인식 장치(100)의 음성 인식 기능이 민감하게 활성화 되는 정도에 기초하여, 결정되는 적어도 하나의 활성화 단어의 개수를 결정할 수 있다.
예를 들어, 음성 인식 장치(100)의 음성 인식 기능이 민감하게 활성화 되는 정도는, 다양한 음성 신호들에 응답하여 음성 인식 장치(100)가 활성화되는 속도, 음성 인식 장치(100)가 활성화되는 난이도, 및 음성 인식 장치(100)가 활성화 되는 빈도 중 적어도 하나를 의미할 수 있다. 예를 들어, 다양한 음성 신호들에 응답하여 음성 인식 장치(100)가 높은 빈도로 활성화될 경우, 음성 인식 장치(100)의 음성 인식 기능이 민감하게 활성화 된다고 판단될 수 있다. 다양한 음성 신호들에 응답하여 음성 인식 장치(100)가 상대적으로 낮은 빈도로 활성화될 경우, 음성 인식 장치(100)의 음성 인식 기능이 덜 민감하게 활성화 된다고 판단될 수 있다.
음성 인식 기능이 민감하게 활성화 되는 정도는, 사용자 입력에 기초하여 결정되거나, 음성 인식 장치(100)의 위치에 기초하여 결정될 수 있다. 예를 들어, 음성 인식 장치(100)가 집과 같이 사적인 공간에 위치한 경우, 음성 인식 기능이 민감하게 활성화되도록 결정되고, 음성 인식 장치(100)가 회사와 같이 많은 사람들이 있는 공적인 공간에 위치한 경우, 음성 인식 기능이 덜 민감하게 활성화되도록 결정될 수 있다. 예를 들어, 음성 인식 장치(100)가 집과 같이 사적인 공간에 위치한 경우, 음성 인식 기능이 높은 빈도로 활성화되도록 결정되고, 음성 인식 장치(100)가 회사와 같이 많은 사람들이 있는 공적인 공간에 위치한 경우, 음성 인식 기능이 상대적으로 낮은 빈도로 활성화되도록 결정될 수 있다.
단계 S320에서 일 실시예에 따른 음성 인식 장치(100)는, 입력 오디오 신호를 수신할 수 있다.
예를 들어, 음성 인식 장치(100)는, 실시간으로 입력되는 입력 오디오 신호를 소정 길이의 프레임 단위로 분할하고, 프레임 단위로 분할된 입력 오디오 신호를 처리할 수 있다. 프레임 단위로 분할된 입력 오디오 신호로부터, 프레임 단위의 음성 신호를 검출할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 입력 오디오 신호를 수신하고 저장할 수 있다. 예를 들어, 음성 인식 장치(100)는, VAD(Voice Activation Detection) 또는 EPD(End Point Detection)에 의해 발화의 존재 또는 부재(presence or absence of human speech)를 검출함으로써, 문장 단위로 입력 오디오 신호를 수신하고 저장할 수 있다.
예를 들어, 음성 인식 장치(100)는, 발화가 시작되면 문장이 시작되었다고 판단하고 입력되는 오디오 신호의 저장을 시작할 수 있다. 음성 인식 장치(100)는, 침묵(pause) 후 발화가 시작되면 문장이 시작되었다고 판단하고 입력되는 오디오 신호의 저장을 시작할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 활성화 단어의 발화 없이 발화가 종료되면 문장이 종료되었다고 판단하고 저장되었던 오디오 신호를 삭제할 수 있다. 또는, 음성 인식 장치(100)는, 도 5에 도시된 바와 같이 소정 시간 길이 단위로 오디오 신호를 수신하고 저장할 수 있다.
단계 S330에서 일 실시예에 따른 음성 인식 장치(100)는, 입력 오디오 신호에 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호가 포함되었는지 여부에 기초하여, 입력 오디오 신호에 대한 음성 인식을 수행할 수 있다. 일 실시예에 따른 음성 인식 장치(100)는, 인공지능 기술을 이용함으로써, 입력 오디오 신호에 포함되는 화자의 언어를 인식하고 응용 및 처리할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호를 포함하는 입력 오디오 신호에 대해서 음성 인식을 수행할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 입력 오디오 신호가 활성화 단어를 발화하는 음성 신호를 포함하는지 여부를 판단할 수 있다. 음성 인식 장치(100)는, 입력 오디오 신호가 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호를 포함한다고 판단되는 경우, 저장된 입력 오디오 신호 및 이후에 수신되는 입력 오디오 신호에 대해서 음성 인식을 수행할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 활성화 단어를 포함하는 음성 명령을 포함하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다. 서버(또는 내장된 음성 인식 모듈)는, 수신된 오디오 신호로부터 활성화 단어를 추출할 수 있다. 서버(또는 내장된 음성 인식 모듈)는, 활성화 단어를 포함한 음성 명령을 인식할지, 활성화 단어를 제거하고 활성화 단어의 앞 뒤에 위치한 음성 명령을 인식할지 여부를 판단할 수 있다. 서버(또는 내장된 음성 인식 모듈)는, 판단 결과에 기초하여 음성 인식을 수행할 수 있다. 음성 인식 장치(100)는, 활성화 단어가 음성 명령 내에서 의미를 갖는 경우, 활성화 단어를 포함한 음성 명령에 대해 음성 인식을 수행할 수 있다. 반면에, 음성 인식 장치(100)는, 활성화 단어가 음성 명령 내에서 의미를 갖지 않는 경우, 활성화 단어를 제거한 앞 문장 또는 뒤 문장에 대해 음성 인식을 수행할 수 있다.
예를 들어, 음성 인식 장치(100)의 음성 인식 기능을 활성화 하기 위해서, “하이 로봇”이 기본 활성화 단어로서 결정되고, “날씨”가 음성 인식 장치(100)의 현재 상황에 대응하는 활성화 단어로서 결정된 경우를 예로 들어 설명한다.
사용자는 음성 인식 장치(100)에게 “하이 로봇. 하나(Hana)에게 전화를 걸어줘”라고 발화할 수 있다. 음성 인식 장치(100)는, “하이 로봇”이라는 활성화 단어를 발화하는 음성 신호를 수신하였으므로, 활성화 단어를 포함하는 음성 명령인 “하이 로봇. 하나에게 전화를 걸어줘”를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다. 서버(또는 내장된 음성 인식 모듈)는, 활성화 단어인 “하이 로봇”이 음성 명령 내에서 의미를 갖지 않는 기본 활성화 단어이므로, 활성화 단어를 제거한 음성 명령인 “하나에게 전화를 걸어줘”에 대해서만 음성 인식을 수행할 수 있다.
또는, 사용자는 음성 인식 장치(100)에게 “오늘 날씨 어때?”라고 발화할 수 있다. 음성 인식 장치(100)는, “날씨”라는 활성화 단어를 발화하는 음성 신호를 수신하였으므로, 활성화 단어를 포함하는 음성 명령인 “오늘 날씨 어때?”를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다. 서버(또는 내장된 음성 인식 모듈)는, 활성화 단어인 “날씨”가 음성 명령 내에서 의미를 가지므로, 활성화 단어를 포함한 음성 명령인 “오늘 날씨 어때?”에 대해서 음성 인식을 수행할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 입력 오디오 신호로부터 활성화 단어를 발화하는 음성 명령이 제외된 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다. 음성 인식 장치(100)는 입력 오디오 신호로부터 활성화 단어를 추출할 수 있다. 음성 인식 장치(100)는, 활성화 단어를 발화하는 음성 명령을 포함하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할지, 활성화 단어를 발화하는 음성 명령이 제거된 오디오 신호를 전송할지 여부를 판단할 수 있다. 음성 인식 장치(100)는, 활성화 단어가 음성 명령 내에서 의미를 갖는 경우, 활성화 단어를 발화하는 음성 명령을 포함하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다. 반면에, 음성 인식 장치(100)는, 활성화 단어가 음성 명령 내에서 의미를 갖지 않는 경우, 활성화 단어를 발화하는 음성 명령을 제거한 앞 문장 또는 뒤 문장을 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다.
예를 들어, 음성 인식 장치(100)의 음성 인식 기능을 활성화 하기 위해서, “하이 로봇”이 기본 활성화 단어로서 결정되는 경우를 예로 들어 설명한다.
사용자는 음성 인식 장치(100)에게 “하이 로봇. 하나(Hana)에게 전화를 걸어줘”라고 발화할 수 있다. 음성 인식 장치(100)는, 활성화 단어인 “하이 로봇”이 음성 명령 내에서 의미를 갖지 않는 기본 활성화 단어이므로, 활성화 단어를 발화한 음성 명령을 제거한 오디오 신호인 “하나에게 전화를 걸어줘”만을 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 입력 오디오 신호가 활성화 단어를 발화하는 음성 신호를 포함한다고 판단되는 경우, 입력 오디오 신호에 포함되는 음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령인지 여부를 판단할 수 있다. 음성 인식 장치(100)는, 추출된 텍스트에 대한 자연어 이해(Natural Language Understanding) 및 문형 분석에 기초하여, 음성 명령이 직접 명령인지 간접 명령인지 여부를 판단할 수 있다. 예를 들어, 음성 인식 장치(100)는, 음성 명령의 종결 어미, 억양, 음성 명령이 수신되는 방향 및 음성 명령의 크기 중 적어도 하나에 기초하여, 음성 명령이 직접 명령인지 간접 명령인지 여부를 판단할 수 있다. 음성 인식 장치(100)는, 판단된 음성 명령의 형태에 따라, 음성 명령을 서버(또는 내장된 음성 인식 모듈)에게 전송할 것인지 여부 또는 음성 명령에 대해 음성 인식을 수행할 것인지 여부를 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 인공지능 기술을 이용하여 자연어 이해 및 문형 분석을 수행할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 음성 명령이 직접 명령이라고 판단 되는 경우, 활성화 단어를 포함하는 음성 명령을 포함하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다. 활성화 단어를 발화하는 음성 신호가 수신되면, 음성 인식 장치(100)는, 저장된 입력 오디오 신호 및 이후에 수신되는 입력 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 저장된 입력 오디오 신호 중에서 활성화 단어가 포함된 문장을 포함하는 신호를 검색하고 추출할 수 있다. 음성 인식 장치(100)는, 활성화 단어가 포함된 문장을 포함하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다. 서버(또는 내장된 음성 인식 모듈)는, 음성 명령에 대한 음성 인식을 수행할 수 있다.
반면에, 일 실시예에 따른 음성 인식 장치(100)는, 음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령이 아닌 간접 명령이라고 판단되는 경우, 음성 명령을 포함하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송하지 않을 수 있다. 음성 인식 장치(100)는, 이 전에 입력되었던 오디오 신호를 무시하고, 새롭게 입력 오디오 신호를 수신하고 저장하는 동작을 반복할 수 있다. 음성 인식 장치(100)는, 새로운 입력 오디오 신호가 활성화 단어를 발화하는 음성 신호를 포함하는지 여부를 판단할 수 있다.
단계 S340에서 일 실시예에 따른 음성 인식 장치(100)는, 음성 인식이 수행된 결과를 출력할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 서버(또는 내장된 음성 인식 모듈)에서 음성 인식이 수행된 결과를 출력할 수 있다. 일 예로서, 음성 인식이 수행된 결과는, 음성 명령으로부터 추출된 텍스트를 포함할 수 있다. 다른 예로서, 음성 인식이 수행된 결과는, 음성 인식이 수행된 결과에 대응하는 동작을 수행하는 화면일 수 있다. 음성 인식 장치(100)는, 음성 인식이 수행된 결과에 대응하는 동작을 수행할 수 있다. 예를 들어, 음성 인식 장치(100)는, 음성 인식이 수행된 결과에 대응하는 음성 인식 장치(100)의 기능을 결정하고, 해당 기능을 수행하는 화면을 출력할 수 있다. 또는, 음성 인식 장치(100)는, 음성 인식이 수행된 결과에 대응하는 키워드를 외부 서버로 전송하고, 전송된 키워드에 관련된 정보를 서버로부터 수신하여 화면 상에 출력할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 음성 명령을 분석함으로써, 분석 결과에 기초하여 음성 인식이 수행된 결과를 출력하는 방법을 결정할 수 있다.
일 예로서, 음성 인식 장치(100)는, 음성 명령에 응답하여, 소리, 빛, 영상, 진동 등 다양한 방식으로 음성 인식이 수행된 결과를 출력할 수 있다. 다른 예로서, 음성 인식 장치(100)는, 음성 명령에 대한 응답을 대기하면서, 응답 대기 중임을 사용자에게 알릴 수 있다. 예를 들어, 음성 인식 장치(100)는, 소리, 빛, 영상, 진동 등 다양한 방식으로 응답 대기 중임을 사용자에게 알릴 수 있다. 또 다른 예로서, 음성 인식 장치(100)는, 음성 인식이 수행된 결과를 저장하고, 이후에 사용자가 음성 인식이 수행된 결과와 관련된 발화를 할 때에, 음성 인식이 수행된 결과를 출력할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 입력 오디오 신호에 포함되는 음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령인지 여부를 판단할 수 있다. 음성 인식 장치(100)는, 판단된 음성 명령의 형태에 따라 음성 인식이 수행된 결과를 바로 출력할지 혹은 사용자로부터 확인 명령이 수신되면 상기 음성 인식이 수행된 결과를 출력할지 여부를 결정할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 입력 오디오 신호에 대해서 음성 인식을 수행함으로써, 사용자가 발화한 텍스트를 추출할 수 있다. 음성 인식 장치(100)는, 추출된 텍스트에 대한 자연어 이해 및 문형 분석에 기초하여, 입력 오디오 신호에 포함되는 음성 명령이 음성 인식 장치의 응답을 요청하는 직접 명령인지 여부를 판단할 수 있다. 음성 인식 장치(100)는, 음성 명령이 직접 명령이라고 판단되는 경우, 음성 명령에 대해 응답하는 동작을 수행할 수 있다.
음성 인식 장치(100)는, 음성 명령이 직접 명령이 아니라고 판단되는 경우, 음성 명령에 대한 응답이 가능하고 응답 대기 중임을 표시할 수 있다. 음성 인식 장치(100)는, 사용자로부터 확인 명령이 수신되면, 음성 명령에 대해 응답하는 동작을 수행할 수 있다.
도 4는 일 실시예에 따라 음성 인식 장치가 음성 인식을 수행하는 방법을 설명하기 위한 도면이다.
도 4는 음성 인식 장치(100)가 자동차의 전자 제어 장치(401)와 연결되어 동작하는 경우를 예로 들어 도시한다. 예를 들어, 음성 인식 장치(100)는 자동차의 전자 제어 장치(401)와 블루투스(Bluetooth) 방식으로 통신할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 음성 인식 장치(100)가 자동차의 전자 제어 장치(401)에 연결되었다는 정보에 기초하여, 음성 인식 장치(100)의 위치가 자동차라고 판단할 수 있다. 음성 인식 장치(100)는, 자동차에 대응하는 적어도 하나의 활성화 단어를 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 네비게이션, 에어컨, 창문, 주유구, 트렁크, 사이드 미러 등을 포함하는 자동차에 대응하는 후보 활성화 단어들과 예를 들어, 문자 메시지(text message), 일정 등을 포함하는 자동차에서 사용 가능한 기능에 대응하는 후보 활성화 단어들을 추출할 수 있다. 음성 인식 장치(100)는, 추출된 후보 활성화 단어들을 현재 상황에 적합한 활성화 단어들로서 결정할 수 있다.
또한, 일 실시예에 따른 음성 인식 장치(100)는, 음성 인식 장치(100)가 움직이는지 여부에 기초하여, 활성화 단어를 결정할 수 있다. 음성 인식 장치(100)는, 자동차가 주행 중인 경우, 자동차에 대응하는 후보 활성화 단어들과 자동차에서 사용 가능한 기능에 대응하는 후보 활성화 단어들 중에서 안전한 자동차 운행에 방해가 되지 않는 후보 활성화 단어들만을 활성화 단어들로서 결정할 수 있다.
예를 들어, 음성 인식 장치(100)는, 자동차가 정지 중인 경우, 네비게이션, 에어컨, 주유구, 트렁크, 사이드 미러, 문자 메시지, 일정 등 자동차와 관련된 모든 후보 활성화 단어들을 활성화 단어로서 결정할 수 있다. 반면에, 음성 인식 장치(100)는, 자동차가 주행 중인 경우, 안전한 자동차 운행에 방해가 될 수 있는 음성 명령들에는 응답하지 않도록 활성화 단어를 결정할 수 있다. 예를 들어, 자동차가 주행 중인 경우, 음성 명령에 의해 자동차의 트렁크를 열거나, 주유구를 여는 것은 안전한 자동차 운행에 방해가 될 수 있다. 따라서, 음성 인식 장치(100)는, 자동차가 주행 중인 경우, 안전한 자동차 운행에 방해가 되지 않는, 네비게이션, 에어컨, 문자 메시지, 일정 등의 일부 후보 활성화 단어들만을 활성화 단어들로서 결정할 수 있다.
음성 인식 장치(100)는, 음성 인식을 수행하기에 앞서, 입력 오디오 신호를 수신하고 저장할 수 있다. 음성 인식 장치(100)는, 입력되는 오디오 신호를 분석함으로써, 입력되는 오디오 신호가 활성화 단어를 발화하는 음성 신호를 포함하는지 여부를 판단할 수 있다.
사용자(10)는, 기차역까지 가는 길을 안내 받기 위하여 “하이 로봇”과 같은 특정 활성화 단어를 발화하지 않아도 음성 인식 기능을 이용할 수 있다. 사용자(10)는, 기차역까지 가는 길을 안내 받기 위하여 길 안내를 요청하는 음성 명령인 “기차역 가는 길을 네비게이션에서 찾아줘!”를 발화할 수 있다. 일 실시예에 따른, 음성 인식 장치(100)는, 자동차에 대응하는 활성화 단어인 “네비게이션”을 발화하는 음성 신호가 수신되면, 음성 인식 기능을 활성화 할 수 있다.
음성 인식 장치(100)는, “네비게이션”을 발화하는 음성 신호를 포함하는 전체 음성 명령인 “기차역 가는 길을 네비게이션에서 찾아줘!” 에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(100)는, “네비게이션”을 발화하는 음성 신호가 수신되면, 활성화 단어 이후에 수신되는 음성 명령인 “에서 찾아줘”를 서버(또는 내장된 음성 인식 모듈)에게 전송하고 음성 인식을 수행할 수 있다. 또한, 음성 인식 장치(100)는, 활성화 단어 이후에 수신되는 음성 명령과 함께, 이전에 수신되어 저장된 음성 명령을 서버(또는 내장된 음성 인식 모듈)에게 전송하고 음성 인식을 수행할 수 있다. 음성 인식 장치(100)는, “네비게이션”을 발화하는 음성 신호가 수신되면, 활성화 단어 이전에 수신되어 저장된 음성 명령인 “기차역 가는 길을”, 활성화 단어 “네비게이션”, 및 활성화 단어 이후에 수신되는 음성 명령인 “에서 찾아줘” 에 대해서 음성 인식을 수행할 수 있다.
음성 인식 장치(100)는, 사용자의 음성 명령에 대한 응답으로서 기차역까지 가는 경로를 안내 할 수 있다.
도 4에는, 음성 인식 장치(100)의 위치가 자동차인 경우가 예로서 도시되었다. 그러나, 실시예는 이에 제한되지 않는다. 예를 들어, 음성 인식 장치(100)의 위치가 집이라고 판단되는 경우, “전등, 텔레비전, 에어컨, 세탁기, 냉장고, 날씨, 날짜, 시간” 등을 집에 대응하는 활성화 단어들로서 결정할 수 있다.
각 상황에 대응하는 활성화 단어의 구체적인 예는 다음과 같다.
일 실시예에 따른 음성 인식 장치(100)는, 음성 인식 장치(100)의 위치 또는 음성 인식 장치(100)가 위치한 공간의 특성에 기초하여, 적어도 하나의 활성화 단어를 결정할 수 있다.
음성 인식 장치(100)는, 음성 인식 장치(100)가 어떠한 전자 장치와 연결되었는지, 어떠한 네트워크에 연결되었는지 또는 어떠한 기지국에 연결되었는지에 기초하여 음성 인식 장치(100)의 위치와 관련된 정보를 획득할 수 있다.
예를 들어, 음성 인식 장치(100)는, 자동차 내의 오디오와 블루투스 방식으로 연결된 경우, 음성 인식 장치(100)가 자동차 내에 위치한 것으로 판단할 수 있다. 또는, 음성 인식 장치(100)는, 음성 인식 장치(100)에 포함된 GPS(Global Positioning system) 모듈에 의해 현재 위치와 관련된 정보를 획득할 수 있다.
일 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)가 집 안에 위치한 경우, 집 안에서 음성 인식 장치(100)가 제어할 수 있는 전자 장치 또는 전자 장치의 기능과 관련된 단어들을 활성화 단어들로서 결정할 수 있다. 음성 인식 장치(100)는, 음성 인식 장치(100)의 집 안에서의 위치가 달라짐에 따라서, 위치에 따라 서로 다른 단어들을 활성화 단어들로서 결정할 수 있다. 예를 들어, 음성 인식 장치(100)가 거실에 위치한 경우, 집 안의 모든 전자 장치들과 관련된 단어들을 활성화 단어들로서 결정할 수 있다. 반면에, 음성 인식 장치(100)가 방 안에 위치한 경우, 방 안의 전자 장치들과 관련된 단어들만을 활성화 단어들로서 결정할 수 있다.
다른 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)가 차량 안에 위치한 경우, 차량 안에서 음성 인식 장치(100)가 제어할 수 있는 전자 장치 또는 기능과 관련된 단어들을 활성화 단어들로서 결정할 수 있다. 음성 인식 장치(100)는, 음성 인식 장치(100)의 차량 안에서의 위치가 달라지거나 음성 인식 장치(100)의 사용자의 특성이 달라짐에 따라서도, 서로 다른 활성화 단어를 결정할 수 있다.
음성 인식 장치(100)가 운전석에 위치하거나 음성 인식 장치(100)의 사용자가 운전을 하는 경우, 차량 안에서 운전자가 제어할 수 있는 모든 전자 장치들 및 기능들과 관련된 단어들을 활성화 단어들로서 결정할 수 있다. 반면에, 음성 인식 장치(100)가 운전석 이외의 좌석에 위치하거나 음성 인식 장치(100)의 사용자가 운전을 하지 않는 경우, 운전에 방해되지 않는 전자 장치들 및 기능들과 관련된 단어들만을 활성화 단어들로서 결정할 수 있다.
예를 들어, 음성 인식 장치(100)의 사용자가 운전을 하는 운전자인 경우, “사이드 미러”, “라이트”, “핸들” 등 차량의 운행과 관련된 단어들을 활성화 단어들로서 결정할 수 있다. 반면에, 음성 인식 장치(100)의 사용자가 운전을 하지 않는 탑승자인 경우, “에어컨”, “라디오” 등 차량의 운행과 관련이 없는 전자 장치들과 관련된 단어들만을 활성화 단어들로서 결정할 수 있다.
다른 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)가 야외에 위치한 경우, 주변에 잡음이 존재하는 환경인지 여부에 기초하여 활성화 단어를 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 잡음 발생이 많은 환경에서는 잡음과 특성이 유사한 단어는 활성화 단어로서 결정하지 않을 수 있다.
다른 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)가 위치한 공간이 공용 공간인지 또는 개인 공간인지에 기초하여 활성화 단어를 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 회사의 복도와 같은 공용 공간에 위치한 경우, 공용 공간에 대응하는 단어들만을 활성화 단어들로서 결정할 수 있다. 반면에, 음성 인식 장치(100)는, 개인 사무실과 같은 개인 공간에 위치한 경우, 공용 공간에 대응하는 단어들과 함께, 사적인 용무와 관련된 단어들도 활성화 단어들로서 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 공용 공간에 위치한 경우, “에어컨”, “전등” 등과 같이 공용 공간에 대응하는 활성화 단어들에 의해 음성 인식 기능을 활성화할 수 있다. 그러나, 음성 인식 장치(100)는, 개인 공간에 위치한 경우, “에어컨”, “전등” 등과 같이 공용 공간에 대응하는 활성화 단어들과 함께, “전화” 또는 “텍스트 메시지”와 같이 사적인 용무와 관련된 활성화 단어들에 의해서도 음성 인식 기능을 활성화할 수 있다.
다른 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)가 위치한 지역에 기초하여, 지역의 언어적 특성이 반영된 단어들을 활성화 단어들로서 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 방언이 사용되는 지역에 위치한 경우, 방언이 반영된 단어들을 활성화 단어들로서 결정할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 시간에 기초하여, 적어도 하나의 활성화 단어를 결정할 수 있다.
일 예로서, 음성 인식 장치(100)는, 특정 기간동안 특정 단어를 활성화 단어로서 이용할 수 있다. 음성 인식 장치(100)는, 특정 기간이 지나면, 더 이상 특정 단어를 활성화 단어로서 이용하지 않을 수 있다.
음성 인식 장치(100)는, 사용자로부터 수신되는 음성 명령들을 학습함으로써, 최근 사용 빈도수가 높아진 단어를 활성화 단어로서 결정할 수 있다. 예를 들어, 사용자가 제주도로의 여행을 앞두고 있다면, 사용자는 “제주도”와 관련된 정보를 얻기 위하여 “제주도”와 관련된 음성 명령들을 음성 인식 장치(100)에게 자주 입력할 수 있다. 음성 인식 장치(100)는, 임계 빈도 수 이상으로 자주 등장하는 단어를 활성화 단어로서 추가할 수 있다. 따라서, 사용자는 별도로 음성 인식 기능을 활성화시키는 동작을 하지 않더라도, 추가된 활성화 단어가 포함된 음성 명령을 발화하는 것만으로도 음성 인식 기능을 이용할 수 있다.
다른 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)가 동작하고 있는 현재 시간 정보에 기초하여 활성화 단어를 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 계절, 요일, 날짜, 주말인지 평일인지 여부, 시간 대에 따라서 서로 다른 활성화 단어들을 이용할 수 있다. 음성 인식 장치(100)는, 계절, 요일, 날짜, 시간 등에 따라 사용자로부터 수신되는 음성 명령들을 학습함으로써, 각 상황에 적합한 활성화 단어를 갱신하고, 갱신된 활성화 단어를 이용할 수 있다.
다른 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자의 움직임에 기초하여, 적어도 하나의 활성화 단어를 결정할 수 있다. 음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자가 멈춰 있는지, 걷는지, 또는 뛰는지 여부에 따라 발화 특성의 변화를 활성화 단어를 결정하는 데에 반영할 수 있다. 예를 들어, 음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자가 걷거나 뛰고 있는 경우, 사용자가 숨을 헐떡이는 특성을 활성화 단어를 결정하는 데에 반영할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 음성 인식 장치(100)를 사용하는 사용자의 특성과 관련된 정보에 기초하여, 적어도 하나의 활성화 단어를 결정할 수 있다.
일 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자의 나이에 기초하여 적어도 하나의 활성화 단어를 결정할 수 있다.
음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자가 성인인 경우, 성인의 공통적인 관심사와 관련된 단어들을 활성화 단어들로서 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 성인의 공통적인 관심사와 관련된 단어들인 “뉴스, 스포츠” 등을 활성화 단어들로서 결정할 수 있다.
음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자가 성인이 아닌 경우, 미성년자의 특성과 관련된 단어들을 활성화 단어들로서 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 사용자가 고등학생인 경우, 고등학생의 공통적인 관심사와 관련된 단어들인 “시험, 수학, 미분적분” 등을 활성화 단어들로서 결정할 수 있다.
다른 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자의 성별에 기초하여 적어도 하나의 활성화 단어를 결정할 수 있다.
음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자가 여성인 경우, 여성의 공통적인 관심사와 관련된 단어들을 활성화 단어들로서 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 여성의 공통적인 관심사와 관련된 단어인 “화장품”을 활성화 단어로서 결정할 수 있다.
다른 예로서, 음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자의 직업 또는 취미에 기초하여 적어도 하나의 활성화 단어를 결정할 수 있다.
음성 인식 장치(100)는, 사용자의 직업 별 특성이 반영된 단어들 또는 취미와 관련된 단어들을 활성화 단어들로서 결정할 수 있다. 예를 들어, 음성 인식 장치(100)의 사용자의 취미가 음악 감상인 경우, 취미와 관련된 단어들인 “음악, 라디오” 등을 활성화 단어들로서 결정할 수 있다.
한편, 음성 인식 장치(100)는, 음성 인식 장치(100)가 한 명의 사람에 의해서만 이용되는지 또는 여러 명의 사람들에 의해서 이용되는지에 따라 서로 다르게 동작할 수 있다. 음성 인식 장치(100)가 여러 명의 사람들에 의해서 이용되는 경우에는, 음성 인식을 수행하기에 앞서, 음성의 특징을 분석함으로써 사용자의 성별 또는 연령을 인식하거나, 얼굴의 특징을 분석함으로써 사용자를 식별하는 동작을 수행할 수 있다. 음성 인식 장치(100)는, 식별된 사용자에게 적합한 단어들을 활성화 단어들로서 결정할 수 있다.
한편, 일 실시예에 따른 음성 인식 장치(100)는, 활성화 단어를 결정하는데 있어서, 여러 단어들이 사용된 이력을 반영할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 활성화 단어를 결정하는데 있어서, 사용자에 관계없이 공통적으로 단어들이 사용된 이력을 반영할 수 있다. 음성 인식 장치(100)는, 사용자에 관계없이 공통적으로, 각 상황에 대응하는 후보 활성화 단어들을 포함하는 데이터 베이스로부터 활성화 단어를 결정할 수 있다. 그러나 일 실시예는 이에 제한되지 않는다.
일 실시예에 따른 음성 인식 장치(100)는, 활성화 단어를 결정하는데 있어서, 각 개인에 의해 단어들이 사용된 이력을 반영할 수 있다. 음성 인식 장치(100)는, 개인 별로 각 상황에 적합한 후보 활성화 단어들을 포함하는 데이터 베이스를 관리할 수 있다. 음성 인식 장치(100)는, 개인별로 각 상황에서 단어들을 사용하는 빈도를 누적하여 계산함으로써, 개인화된 데이터 베이스를 업데이트할 수 있다. 음성 인식 장치(100)는, 개인화된 데이터 베이스로부터 현재 상황에 적합한 활성화 단어를 결정할 수 있다.
도 5는 일 실시예에 따라 음성 인식 장치가 음성 인식을 수행하는 방법의 구체적인 흐름도이다.
도 5의 S510 및 S520은 도 3의 S310에 대응되고, 도 5의 S530은 도 3의 S320에 대응되고, 도 5의 S540 내지 S580은 도 3의 S330에 대응되고, 도 5의 S590은 도 3의 S340에 대응될 수 있다. 도 3의 각 단계에 대응되는 도 5의 각 단계에 대해서는, 도 3에 대한 설명이 적용될 수 있다. 따라서, 중복되는 동작에 대한 설명은 생략한다.
단계 S510에서 일 실시예에 따른 음성 인식 장치(100)는 음성 인식 장치(100)가 동작하는 상황과 관련된 정보를 획득할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 하나 이상의 센서를 포함하고, 음성 인식 장치(100)가 동작하는 상황을 판단하기 위한 다양한 정보를 감지할 수 있다. 예를 들어, 음성 인식 장치(100)에 포함된 센서는, 음성 인식 장치(100)의 위치, 음성 인식 장치(100)의 움직임과 관련된 정보, 음성 인식 장치(100)를 사용하고 있는 사용자를 식별할 수 있는 정보, 음성 인식 장치(100)의 주변 환경 정보 등을 감지할 수 있다.
예를 들어, 음성 인식 장치(100)는, 조도 센서, 바이오 센서, 기울기 센서, 위치 센서, 근접 센서, 지자기 센서, 자이로스코프 센서, 온도/습도 센서, 적외선 센서, 및 속도/가속도 센서 중 적어도 하나 또는 이들의 조합을 포함할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 외부의 전자 장치에서 감지된 정보를 음성 인식 장치(100)가 동작하는 상황과 관련된 정보로서 획득할 수 있다. 예를 들어, 외부의 전자 장치는, 조도 센서, 바이오 센서, 기울기 센서, 위치 센서, 근접 센서, 지자기 센서, 자이로스코프 센서, 온도/습도 센서, 적외선 센서, 및 속도/가속도 센서 중 적어도 하나 또는 이들의 조합을 포함할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 사용자 입력을 음성 인식 장치(100)가 동작하는 상황과 관련된 정보로서 획득할 수 있다. 음성 인식 장치(100)는, 음성 인식 장치(100)가 동작하는 위치 또는 음성 인식 장치(100)의 사용자의 특성과 관련된 정보 등을 사용자 입력으로부터 획득할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 다른 전자 장치와의 통신을 통해서 음성 인식 장치(100)가 동작하는 상황과 관련된 정보를 획득할 수 있다. 예를 들어, 음성 인식 장치(100)는, 집 안에 존재하는 것으로 인식되는 전자 장치와 근거리 통신에 의해 연결되는 경우, 음성 인식 장치(100)가 집 안에 존재하는 것으로 결정할 수 있다. 예를 들어, 음성 인식 장치(100)는, 음성 인식 장치(100)의 위치로서 “집, 실내, 사적인 공간”이라는 정보를 획득할 수 있다.
단계 S520에서 일 실시예에 따른 음성 인식 장치(100)는, 단계 S510에서 획득된 정보에 기초하여 적어도 하나의 활성화 단어를 결정할 수 있다.
일 예로서, 음성 인식 장치(100)는, 활성화 단어를 결정하기에 앞서, 복수의 상황들에 대해서 각 상황에 적합한 후보 활성화 단어들을 저장할 수 있다. 음성 인식 장치(100)는, 단계 S510에서 획득된 정보에 기초하여, 저장된 데이터로부터 현재 상황에 적합한 후보 활성화 단어들을 검색할 수 있다. 음성 인식 장치(100)는, 검색된 후보 활성화 단어들 중에서 적어도 하나를 활성화 단어로서 결정할 수 있다.
다른 예로서, 음성 인식 장치(100)는, 활성화 단어를 결정하기에 앞서, 복수의 상황들에 대해서 각 상황에 적합한 후보 활성화 단어들을 저장한 서버와 통신할 수 있다. 음성 인식 장치(100)는, 단계 S510에서 획득된 정보에 기초하여, 서버로부터 현재 상황에 적합한 후보 활성화 단어들을 검색할 수 있다. 음성 인식 장치(100)는, 검색된 후보 활성화 단어들 중에서 적어도 하나를 활성화 단어로서 결정할 수 있다. 서버에 저장된 상황 별 후보 활성화 단어들은 복수의 음성 인식 장치들에 의해 공유되고 이용될 수 있다.
음성 인식 장치(100)는, 음성 인식 장치(100)의 음성 인식 기능이 민감하게 활성화 되는 정도에 기초하여, 결정되는 활성화 단어의 개수를 결정할 수 있다. 일 실시예에 따르면, 각 상황에 따른 후보 활성화 단어들에 대해서는 우선 순위가 할당될 수 있다. 음성 인식 장치(100)는, 음성 인식 기능이 민감하게 활성화 되는 정도 및 우선 순위에 기초하여, 후보 활성화 단어들 중에서 일부를 적어도 하나의 활성화 단어로서 결정할 수 있다.
일 실시예에 따른, 음성 인식 장치(100)는, 음성 인식 장치(100)의 사용자의 특성과 관련된 정보에 기초하여 적어도 하나의 활성화 단어를 결정할 수 있다. 일 예로서, 다양한 연령대의 가족들이 이용하는 음성 인식 장치(100)는, 음성 연령을 인식하거나, 사용자의 얼굴을 인식하거나, 초기에 입력된 사용자 정보에 기초하여, 서로 다른 활성화 단어들을 결정할 수 있다.
예를 들어, 음성 인식 장치(100)는, 부모가 집에서 음성 인식 장치(100)를 이용하고 있는 경우, TV, 에어컨, 청소기, 날씨, 일정, 인터넷 접속, 어린이용 TV 채널 시청, 난방, 냉방, 습도 조절 등 집과 관련된 모든 후보 활성화 단어들을 적어도 하나의 활성화 단어로서 결정할 수 있다. 반면에, 음성 인식 장치(100)는, 아이가 집에서 음성 인식 장치(100)를 이용하고 있는 경우, 아이의 음성 명령에 의해 제어되는 것이 허용되는 음성 명령들에 대해서만 응답하도록 활성화 단어를 결정할 수 있다. 따라서, 음성 인식 장치(100)는, 날씨, 어린이용 TV 채널 시청 등의 일부 후보 활성화 단어들만을 적어도 하나의 활성화 단어로서 결정할 수 있다.
단계 S530에서 일 실시예에 따른 음성 인식 장치(100)는, 입력 오디오 신호를 수신하고 저장할 수 있다.
단계 S540에서 일 실시예에 따른 음성 인식 장치(100)는, 소정 시간 이상 길이의 입력 오디오 신호가 저장되었는지 여부를 판단할 수 있다. 만약, 소정 시간 이상 길이의 입력 오디오 신호가 저장된 경우, 단계 S560에서 음성 인식 장치(100)는, 과거에 수신되었던 입력 오디오 신호를 삭제할 수 있다.
도 5에는 소정 시간 길이 단위로 오디오 신호를 수신하는 경우를 예로 들어 도시하였으나, 실시예는 도 5에 도시된 바에 제한되지 않는다. 앞서 설명한 바와 같이, 일 실시예에 따른 음성 인식 장치(100)는, 문장 단위로 오디오 신호를 수신하고 저장할 수 있다. 또는, 음성 인식 장치(100)는, 소정 크기의 데이터 단위로 오디오 신호를 수신하고 저장할 수 있다.
단계 S550에서 일 실시예에 따른 음성 인식 장치(100)는, 활성화 단어를 발화하는 음성 신호가 수신되었는지 여부를 판단할 수 있다.
활성화 단어를 발화하는 음성 신호가 수신되면, 단계 S570에서 일 실시예에 따른 음성 인식 장치(100)는, 저장된 입력 오디오 신호 및 이후에 수신되는 입력 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다. 음성 인식 장치(100)는, 저장된 입력 오디오 신호 중에서 활성화 단어가 포함된 문장을 포함하는 신호를 검색하고 추출할 수 있다. 음성 인식 장치(100)는, 활성화 단어가 포함된 문장을 포함하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 활성화 단어가 포함된 문장을 포함하는 신호를 검색하고 추출하기 위해서 다음과 같은 방법을 이용할 수 있다.
일 예로서, 음성 인식 장치(100)는, 묵음 구간의 길이, 문형(sentence structure) 및 억양 중 적어도 하나에 기초하여 문장의 시작과 끝을 판단할 수 있다. 음성 인식 장치(100)는, 판단된 결과에 기초하여, 활성화 단어가 포함된 문장에 대응하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다.
다른 예로서, 음성 인식 장치(100)는, 활성화 단어가 발화된 음성 신호로부터 일정 길이의 과거 음성 신호 및 현재 수신되는 음성 신호를 문장의 시작과 끝으로서 판단할 수 있다. 음성 인식 장치(100)는, 판단된 결과에 기초하여, 활성화 단어가 포함된 문장에 대응하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다.
또 다른 예로서, 음성 인식 장치(100)는, 활성화 단어의 문법 상 위치에 기초하여, 활성화 단어가 발화된 음성 신호 이전의 가변적 길이의 과거 음성 신호 및 활성화 단어가 발화된 음성 신호 이후의 가변적 길이의 음성 신호를 문장의 시작과 끝으로서 판단할 수 있다. 음성 인식 장치(100)는, 판단된 결과에 기초하여, 활성화 단어가 포함된 문장에 대응하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다.
단계 S550에서 활성화 단어를 발화하는 음성 신호가 수신되지 않았다고 판단되는 경우, 음성 인식 장치(100)는, 소정 시간 이상 길이의 입력 오디오 신호를 수신하고 저장하는 동작을 반복하여 수행할 수 있다.
단계 S580에서 일 실시예에 따른 음성 인식 장치(100)는 음성 인식을 수행할 수 있다. 음성 인식 장치(100)는, 입력 오디오 신호로부터 음성 신호의 주파수 특성을 추출하고, 음향 모델과 언어 모델을 이용하여 음성 인식을 수행 할 수 있다. 단계 S590에서 일 실시예에 따른 음성 인식 장치(100)는 음성 인식이 수행된 결과를 출력할 수 있다. 음성 인식 장치(100)는, 소리, 빛, 영상, 진동 등 다양한 방식으로 음성 인식이 수행된 결과를 출력할 수 있다.
도 6은 일 실시예에 따라 음성 인식 장치가 음성 인식이 수행된 결과를 출력하는 방법의 흐름도이다.
도 6의 S610 내지 S650은 도 3의 S330에 대응될 수 있다.
단계 S610에서 일 실시예에 따른 음성 인식 장치(100)는, 음성 명령을 분석할 수 있다. 음성 인식 장치(100)는, 자연어 이해 및 대화 관리(Dialogue Management)를 통해 음성 명령을 분석할 수 있다.
음성 인식 장치(100)는, 음성 인식이 수행된 결과에 대해서 자연어 이해를 수행할 수 있다. 음성 인식 장치(100)는, 음성 명령에 대한 음성 인식을 수행함으로써, 화자가 발화한 것으로 추정되는 텍스트를 추출할 수 있다. 음성 인식 장치(100)는, 화자가 발화한 것으로 추정되는 텍스트에 대해서 자연어 이해를 수행할 수 있다. 음성 인식 장치(100)는, 자연어 처리를 통해 화자의 발화 의도를 파악할 수 있다.
단계 S620에서 일 실시예에 따른 음성 인식 장치(100)는, 음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령인지 여부를 판단할 수 있다. 음성 인식 장치(100)는, 음성 명령의 문형, 억양, 음성 명령이 수신되는 방향 및 음성 명령의 크기 또는 자연어 이해의 결과 중 적어도 하나에 기초하여, 음성 명령이 직접 명령인지 간접 명령인지 여부를 판단할 수 있다.
일 실시예에 따르면, 음성 명령이란, 음성 인식 장치(100)가 수신하는 모든 음향학적 신호(acoustic speech signal)를 의미하거나, 음성 인식 장치(100)가 수신하는 음향학적 신호 중에서 인간이 발화한 음성 신호를 의미할 수 있다. 직접 명령은, 사용자가 음성 인식 장치(100)가 음성 명령에 응답하는 동작을 수행하도록 하기 위해서 의도적으로 발화한 음성 명령을 포함할 수 있다. 간접 명령은, 사용자가 발화한 음성 명령들 중에서, 직접 명령을 제외한 모든 음성 명령을 포함할 수 있다. 예를 들어, 간접 명령은, 사용자가 음성 인식 장치(100)가 음성 인식을 수행할 것을 의도하지 않고 발화한 음성 신호를 포함할 수 있다.단계 S630에서 일 실시예에 따른 음성 인식 장치(100)는, 음성 명령이 직접 명령이라고 판단되는 경우, 음성 명령에 대해 응답하는 동작을 수행할 수 있다.
음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령이 아닌 간접 명령이라고 판단되는 경우, 단계 S640 에서 일 실시예에 따른 음성 인식 장치(100)는 음성 명령에 대한 응답이 가능함을 표시할 수 있다. 음성 인식 장치(100)는, 음성 명령에 대한 응답을 대기하면서, 응답 대기 중임을 사용자에게 알릴 수 있다.
단계 S650에서 일 실시예에 따른 음성 인식 장치(100)는, 사용자로부터 확인 명령을 수신할 수 있다. 음성 인식 장치(100)는, 사용자로부터 확인 명령이 수신되면, 음성 명령에 대해 응답하는 동작을 수행할 수 있다.
도 7은 음성 인식 장치(100)가 가정용 로봇 내에 포함되는 경우를 예로 들어 도시한다. 그러나, 일 실시예는 도 7에 제한되지 않으며, 음성 인식 장치(100)는 다양한 모바일 컴퓨팅 장치 또는 비모바일 컴퓨팅 장치일 수 있다. 또는, 음성 인식 장치(100)는, 집 안의 다양한 가전 제품들을 연결하는 홈 네트워크를 제어하는 중앙 제어 장치 내에 포함될 수 있다.
도 7은 음성 인식 장치(100)가 “날씨”를 현재 상황에 대응하는 활성화 단어로서 결정한 경우를 도시한다.
도 7 의 (a)에서 사용자(10)는, 다른 화자와의 대화 중에 내일 날씨가 궁금하다는 의사를 표현하는 “내일 날씨가 어떨지 모르겠네”라는 발화를 할 수 있다. 음성 인식 장치(100)는, “날씨”라는 활성화 단어를 발화하는 음성 신호를 수신하였으므로, 활성화 단어를 포함하는 문장인 “내일 날씨가 어떨지 모르겠네” 에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(100)는, 활성화 단어인 “날씨”를 발화하는 음성 신호가 수신되면, 음성 인식 기능을 활성화 할 수 있다.
음성 인식 장치(100)는, “날씨”를 발화하는 음성 신호를 포함하는 전체 음성 명령인 “내일 날씨가 어떨지 모르겠네” 에 대해서 음성 인식을 수행할 수 있다.
또는, 음성 인식 장치(100)는, “날씨”를 발화하는 음성 신호가 수신되면, 활성화 단어 이후에 수신되는 음성 명령인 “가 어떨지 모르겠네”를 서버에게 전송함으로써 서버에서 음성 인식이 수행되도록 할 수 있다. 또한, 음성 인식 장치(100)는, 활성화 단어 이후에 수신되는 음성 명령과 함께, 이전에 수신되어 저장된 음성 명령을 서버에게 전송하고, 서버에서 음성 인식이 수행된 결과를 서버로부터 수신할 수 있다. 음성 인식 장치(100)는, “날씨”를 발화하는 음성 신호가 수신되면, 활성화 단어 이전에 수신되어 저장된 음성 명령인 “내일”, 활성화 단어 “날씨”, 및 활성화 단어 이후에 수신되는 음성 명령인 “가 어떨지 모르겠네” 에 대해서 음성 인식을 수행할 수 있다.
음성 인식 장치(100)는, 음성 인식이 수행된 결과에 대응하는 키워드인 “내일 날씨”를 외부 서버로 전송하고, 전송된 키워드에 관련된 정보인 “화창함”을 서버로부터 수신하여 저장할 수 있다.
음성 인식 장치(100)는, 음성 인식이 수행된 음성 명령에 대해서 자연어 처리 및 문형 분석을 수행함으로써, 음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령인지 여부를 판단할 수 있다. 예를 들어, 음성 인식 장치(100)는, 도 7의 (a)에서 발화된 음성 명령은 간접 명령이라고 판단할 수 있다.
음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령이 아닌 간접 명령이라고 판단되므로, 일 실시예에 따른 음성 인식 장치(100)는 음성 명령에 대한 응답이 가능함을 표시할 수 있다. 예를 들어, 음성 인식 장치(100)는, 소리, 빛, 영상, 진동 등 다양한 방식으로 응답 대기 중임을 사용자에게 알릴 수 있다.
도 7의 (b)에 도시된 바와 같이, 사용자(10)는, 음성 인식 장치(100)가 응답 대기 중임을 인식하고, 음성 명령에 대한 응답을 하라는 확인 명령을 내릴 수 있다. 예를 들어, 사용자(10)는, 미리 약속된 확인 명령인 “말해봐 로봇”이라는 발화를 함으로써, 음성 인식 장치(100)에게 확인 명령을 내릴 수 있다. 음성 인식 장치(100)는, 사용자로부터 확인 명령이 수신되면, 음성 명령에 대해 응답하는 동작으로서 “내일 날씨는 화창합니다”라는 음성을 출력할 수 있다.
상술한 바와 같이, 일 실시예에 따른 음성 인식 장치(100)는, 사용자가 직접적으로 음성 인식 기능을 활성화시키기 위한 동작을 미리 수행하지 않고 상황에 적합한 자연스러운 발화를 하는 것만으로도, 음성 인식을 수행할 수 있다. 음성 인식 장치(100)는, 사용자가 발화한 상황에 적합한 자연스러운 발화 내에 포함되는 단어를 활성화 단어로서 인식함으로써, 음성 인식을 수행할 수 있다.
또한, 일 실시예에 따르면, 도 7에 도시된 바와 같이 “말해봐 로봇”이라는 사용자의 음성 명령을 수신하기 이전에, 사용자가 알고자 하는 내용인 “오늘 날씨”에 대한 정보를 미리 획득할 수 있다. 일 실시예에 따른 음성 인식 장치(100)는, 사용자가 음성 인식 장치(100)가 음성 인식 기능을 수행하도록 음성 명령을 발화 하기 전에 상황을 앞서서 주도하는(proactive) 서비스를 제공할 수 있다.
도 7에서는, 음성 인식 장치(100)가 음성 명령이 간접 명령일 경우, 음성 명령에 대한 응답을 대기하면서 응답 대기 중임을 사용자에게 알리는 방식으로 동작하는 경우를 예로 들어 도시하였다. 그러나, 일 실시예는 도 7에 제한되지 않는다.
예를 들어, 도 8에 도시된 바와 같이, 일 실시예에 따른 음성 인식 장치(100)는, 음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령인 경우에만 음성 인식을 수행한 결과를 출력할 수 있다. 음성 인식 장치(100)는, 음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령이 아닌 경우, 별도의 동작을 취하지 않을 수 있다.
도 8은 음성 인식 장치(100)가 “에어컨”을 현재 상황에 대응하는 활성화 단어로서 결정한 경우를 도시한다.
도 8에서 제1 사용자(10)는, 제2 사용자(20)와의 대화 중에 현재 날씨에 대해서 설명하는 “오늘은 에어컨을 틀어야 하는 날씨야”라는 발화를 할 수 있다.
음성 인식 장치(100)는, “에어컨”이라는 활성화 단어를 발화하는 음성 신호를 수신하였으므로, 활성화 단어를 포함하는 음성 명령인 “오늘은 에어컨을 틀어야 하는 날씨야”가 직접 명령인지 간접 명령인지 여부를 판단할 수 있다.
음성 인식 장치(100)는, 제1 사용자(10)의 음성 명령은 직접 명령이 아니라고 판단할 수 있다. 예를 들어, 음성 인식 장치(100)는, 제1 사용자(10)의 음성 명령은 질문을 하거나 명령을 내리는 문형을 가지고 있지 않으므로 직접 명령이 아니라고 판단할 수 있다. 음성 인식 장치(100)는, 제1 사용자(10)의 음성 명령이 직접 명령이 아니라고 판단되므로, 음성 명령을 포함하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송하지 않을 수 있다. 음성 인식 장치(100)는, 수신되고 저장되었던 제1 사용자(10)의 발화를 무시하고, 새롭게 입력 오디오 신호를 수신하고 저장하는 동작을 반복할 수 있다.
다음으로, 도 8에서 제2 사용자(20)는, 제1 사용자(10)의 발화에 응답하여 에어컨의 전원을 켤 것을 음성 인식 장치(100)에게 요청하는 음성 명령인 “에어컨 틀어”라는 발화를 할 수 있다.
음성 인식 장치(100)는, “에어컨”이라는 활성화 단어를 발화하는 음성 신호를 수신하였으므로, 활성화 단어를 포함하는 음성 명령인 “에어컨 틀어”가 직접 명령인지 여부를 판단할 수 있다.
음성 인식 장치(100)는, 제2 사용자(20)의 음성 명령이 직접 명령이라고 판단할 수 있다. 예를 들어, 음성 인식 장치(100)는, 제2 사용자(20)의 음성 명령이 명령을 내리는 문형을 가지고 있으므로 직접 명령이라고 판단할 수 있다. 음성 인식 장치(100)는, 제2 사용자(20)의 음성 명령이 직접 명령이라고 판단되므로, 활성화 단어를 포함하는 음성 명령을 포함하는 오디오 신호를 서버(또는 내장된 음성 인식 모듈)에게 전송할 수 있다. 서버(또는 내장된 음성 인식 모듈)는, 음성 명령에 대한 음성 인식을 수행할 수 있다. 음성 인식 장치(100)는, 음성 인식 결과에 응답하여, 에어컨의 전원이 켜지도록 에어컨을 제어할 수 있다.
도 9는 일 실시예에 따라 음성 인식 장치가 음성 명령이 직접 명령인지 여부를 판단하는 방법의 흐름도이다.
도 9의 S910 내지 S930은 도 6의 S610에 대응될 수 있다.
단계 S910에서 일 실시예에 따른 음성 인식 장치(100)는, 자연어 이해에 기초한 매칭 정확도에 기초하여 음성 명령을 필터링할 수 있다. 음성 인식 장치(100)는, 자연어 이해에 기초하여, 사용자의 음성 명령을 기계가 인식할 수 있는 명령과 매칭시킬 수 있는 정도를 나타내는 매칭 정확도를 계산할 수 있다. 음성 인식 장치(100)는, 계산된 매칭 정확도와 미리 결정된 임계값을 비교함으로써, 음성 명령이 음성 인식 장치(100)의 응답을 요청하는 직접 명령인지 여부를 1차적으로 판단할 수 있다.
단계 S920에서 일 실시예에 따른 음성 인식 장치(100)는, 음성 명령의 문형을 분석함으로써, 음성 명령이 직접 명령인지 여부를 2차적으로 판단할 수 있다. 음성 인식 장치(100)는, 음성 명령에 포함되는 형태소들을 분석하고, 종결 어미에 기초하여 음성 명령의 문형을 분석할 수 있다. 예를 들어, 음성 인식 장치(100)는, 음성 명령이 의문문(예를 들어, “야?”, “니?” 등) 또는 명령문(예를 들어, “켜”, “꺼”, “해” 등)의 형태를 가진다고 판단되는 경우, 음성 명령이 직접 명령이라는 신뢰값에 가중치를 부여할 수 있다.
단계 S930에서 일 실시예에 따른 음성 인식 장치(100)는, 단계 S910 및 단계 S920에서 계산된 신뢰값에 기초하여 음성 명령을 필터링할 수 있다. 음성 인식 장치(100)는, 단계 S910 및 단계 S920을 거쳐 계산된 신뢰값을 미리 결정된 임계값과 비교함으로써, 음성 명령이 직접 명령인지 여부를 최종적으로 판단할 수 있다.
한편, 일 실시예에 따른 음성 인식 장치(100)는, 상황에 적합한 활성화 단어를 결정하기에 앞서, 각 상황에 따른 후보 활성화 단어들을 추출할 수 있다. 음성 인식 장치(100)는, 추출된 후보 활성화 단어들을 내장된 데이터 베이스 또는 외부 서버에 포함된 데이터 베이스 내에 저장할 수 있다.
도 10은 일 실시예에 따라 음성 인식 장치가 상황들에 대응하는 후보 활성화 단어들을 결정하는 방법의 흐름도이다.
단계 S1010에서 일 실시예에 따른 음성 인식 장치(100)는, 각 상황에 따라 발화 가능한 음성 명령들을 그룹화할 수 있다. 각 상황에 따라 발화 가능한 음성 명령들은, 각 상황에서 사용자에 의해 발화될 것으로 예상되는 음성 명령들 또는 각 상황에서 사용자에 의해 발화되었던 음성 명령들을 포함할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 복수의 상황들에서 사용자가 발화한 말뭉치(corpus)를 수신하고, 수신된 말뭉치에 포함되는 음성 명령들을 그룹화할 수 있다. 음성 인식 장치(100)는, 말뭉치에 포함되는 음성 명령들이 각각 어떠한 상황에서 발화된 것인지에 대한 정보를 말뭉치와 함께 수신할 수 있다.
단계 S1020에서 일 실시예에 따른 음성 인식 장치(100)는 상황 별로 발화 가능한 음성 명령들 내에 포함되는 단어들에 대한 통계를 추출할 수 있다. 음성 인식 장치(100)는, 복수의 상황들 중에서 각 상황에서 수신되는 음성 명령들 내에 복수의 단어들이 포함되는 빈도를 추출할 수 있다.
단계 S1030에서 일 실시예에 따른 음성 인식 장치(100)는 상황 별 음성 명령들 내에 고유하게 높은 빈도로 포함되는 적어도 하나의 단어를 추출할 수 있다.
음성 인식 장치(100)는, 복수의 상황들에서 발화된 음성 명령들 내에서 공통적으로 임계 빈도 이상으로 자주 등장하는 단어는, 특정 상황에서 발화된 음성 명령들 내에서 고유하게 높은 빈도로 포함되는 단어에서 제외할 수 있다. 음성 인식 장치(100)는, 특정 상황에서 발화된 음성 명령들 내에서만 임계 빈도 이상으로 자주 등장하는 단어를, 특정 상황 내에서 발화된 음성 명령들 내에서 고유하게 높은 빈도로 등장하는 단어라고 판단할 수 있다.
단계 S1040에서 일 실시예에 따른 음성 인식 장치(100)는 추출된 적어도 하나의 단어를 각 상황에 대한 후보 활성화 단어로서 결정할 수 있다. 음성 인식 장치(100)는, 복수의 상황들에 대해서 각 상황에 적합한 후보 활성화 단어들을 저장할 수 있다.
일 실시예에 따른 음성 인식 장치(100)는, 저장된 데이터로부터 현재 상황에 대응하는 적어도 하나의 후보 활성화 단어를 추출할 수 있다. 음성 인식 장치(100)는, 추출된 후보 활성화 단어들 중에서 적어도 하나를 활성화 단어로서 결정할 수 있다.
도 10에서는, 복수의 상황들에서 발화 가능한 음성 명령들을 포함하는 말뭉치를 분석함으로써 후보 활성화 단어를 결정하는 경우를 예로 들어 설명하였다. 그러나 일 실시예는 도 10에 제한되지 않으며, 각 상황에 대응하는 후보 활성화 단어를 사용자가 직접 입력하거나 삭제할 수도 있다. 음성 인식 장치(100)는, 사용자 입력에 기초하여, 특정 상황에 대응하는 후보 활성화 단어를 데이터 베이스 내에 저장하거나, 특정 후보 활성화 단어를 삭제할 수 있다. 예를 들어, 사용자가 집 안에 공기 청정기를 새롭게 설치한 경우, 음성 인식 장치(100)는, 사용자 입력에 기초하여, “공기 청정기”를 집과 관련된 후보 활성화 단어로서 추가할 수 있다.
이하에서는, 일 실시예에 따른 음성 인식 장치(100)의 구성을 설명한다. 이하에서 서술하는 음성 인식 장치(100)의 각 구성은, 상술한 음성 인식 장치(100)가 음성 인식을 수행하는 방법의 각 단계를 수행할 수 있다.
도 11a 및 11b는 일 실시예에 따른 음성 인식 장치의 블록도이다.
도 11a에 도시된 바와 같이, 일 실시예에 따른 음성 인식 장치(100)는, 수신부(1110), 프로세서(1120), 및 출력부(1130)를 포함할 수 있다. 그러나, 도 11a에 도시된 구성 요소 모두보다 많은 구성 요소에 의해 음성 인식 장치(100)가 구현될 수도 있다. 도 11b에 도시된 바와 같이, 일 실시예에 따른 음성 인식 장치(100)는, 메모리(1140), 사용자 입력부(1150), 통신부(1160), 및 감지부(1170) 중 적어도 하나를 더 포함할 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 음성 인식 장치(100)는, 비모바일 컴퓨팅 디바이스, 모바일 컴퓨팅 디바이스, 자동차의 전자 제어 장치 및 서버 중 적어도 하나에 포함되거나, 비모바일 컴퓨팅 디바이스, 모바일 컴퓨팅 디바이스, 자동차의 전자 제어 장치 및 서버 중 적어도 하나에 유, 무선으로 연결되도록 구현될 수 있다.
일 실시예에 따른 수신부(1110)는, 오디오 신호를 수신할 수 있다. 예를 들어, 수신부(1110)는, 마이크로폰(Microphone)에 의해 외부의 소리를 전기적인 음향 데이터로 변환함으로써 오디오 신호를 직접 수신할 수 있다. 또는, 수신부(1110)는, 외부 장치로부터 송신된 오디오 신호를 수신할 수 있다. 도 11a에는, 수신부(1110)가, 음성 인식 장치(100)의 내부에 포함되는 것으로 도시되었으나, 다른 일 실시예에 따른 수신부(1110)는 별도의 장치 내에 포함되고 음성 인식 장치(100)와는 유, 무선으로 연결되는 형태로 구현될 수 있다.
일 실시예에 따른 프로세서(1120)는 음성 인식 장치(100)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(1120)는, 수신부(1110), 및 출력부(1130)를 제어할 수 있다. 일 실시예에 따른 프로세서(1120)는 인공지능 기술을 이용하여 음성 인식 장치(100)의 동작을 제어할 수 있다.
일 실시예에 따른 프로세서(1120)는, 음성 인식 장치(100)가 동작하는 상황과 관련된 정보에 기초하여 적어도 하나의 활성화 단어를 결정할 수 있다. 프로세서(1120)는, 예를 들어, 음성 인식 장치(100)의 위치, 시간, 음성 인식 장치(100)가 다른 전자 장치와 연결되었는지 여부, 음성 인식 장치(100)가 움직이는지 여부, 및 음성 인식 장치(100)의 사용자의 특성과 관련된 정보 중 적어도 하나를 음성 인식 장치(100)가 동작하는 상황과 관련된 정보로서 획득할 수 있다.
일 실시예에 따른 프로세서(1120)는, 현재 상황에 대응하는 적어도 하나의 활성화 단어를 결정함에 있어서, 음성 인식 장치(100)의 음성 인식 기능이 민감하게 활성화 되는 정도에 기초하여, 결정되는 적어도 하나의 활성화 단어의 개수를 결정할 수 있다.
일 실시예에 따른 프로세서(1120)는, 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호가 수신되었다고 판단되는 경우, 입력 오디오 신호에 대한 음성 인식을 수행할 수 있다.
일 실시예에 따른 프로세서(1120)는, 수신부(1110)에서 입력된 입력 오디오 신호로부터 음성 신호를 검출하고, 음성 신호에 대한 음성 인식을 수행할 수 있다. 프로세서(1120)는, 음성 인식을 수행하기 위한 음성 인식 모듈을 포함할 수 있다. 일 실시예에서, 프로세서(1120)는 입력 오디오 신호로부터 음성 신호의 주파수 특성을 추출하고, 음향 모델과 언어 모델을 이용하여 음성 인식을 수행 할 수 있다. 주파수 특성은, 음향 입력의 주파수 스펙트럼을 분석하여 추출되는, 음향 입력의 주파수 성분들의 분포를 의미할 수 있다. 따라서, 도 11b에 도시된 바와 같이, 음성 인식 장치(1100)는, 음향 모델과 언어 모델을 저장하는 메모리(1140)를 더 포함할 수 있다.
일 실시예에 따른 프로세서(1120)는, 활성화 단어를 발화하는 음성 신호가 수신되었다고 판단되는 경우, 활성화 단어를 발화하는 음성 신호를 포함하는 입력 오디오 신호에 대한 음성 인식을 수행할 수 있다.
일 실시예에 따른 프로세서(1120)는, 음성 인식을 수행하기에 앞서, 입력 오디오 신호를 수신하고 저장할 수 있다. 프로세서(1120)는, 입력 오디오 신호가 활성화 단어를 발화하는 음성 신호를 포함하는지 여부를 판단할 수 있다. 프로세서(1120)는, 입력 오디오 신호가 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호를 포함한다고 판단되는 경우, 저장된 입력 오디오 신호 및 이후에 수신되는 입력 오디오 신호에 대한 음성 인식을 수행할 수 있다.
일 실시예에 따른 프로세서(1120)는, 음성 인식이 수행된 결과를 바로 출력할지 혹은 사용자로부터 확인 명령이 수신되면 음성 인식이 수행된 결과를 출력할지 여부를 결정할 수 있다. 프로세서(1120)는, 입력 오디오 신호에 대해서 음성 인식을 수행함으로써, 사용자가 발화한 텍스트를 추출할 수 있다. 프로세서(1120)는, 추출된 텍스트에 대한 자연어 이해 및 문형 분석에 기초하여, 입력 오디오 신호에 포함되는 음성 명령이 음성 인식 장치의 응답을 요청하는 직접 명령인지 여부를 판단할 수 있다.
일 실시예에 따른 프로세서(1120)는, 음성 명령이 직접 명령이라고 판단되는 경우, 음성 명령에 대해 응답하는 동작을 수행할 수 있다. 프로세서(1120)는, 음성 명령이 직접 명령이 아니라고 판단되는 경우, 음성 명령에 대한 응답이 가능함을 표시하도록 출력부(1130)를 제어할 수 있다. 프로세서(1120)는, 수신부(1110)를 통해 사용자로부터 확인 명령이 수신되면, 음성 명령에 대해 응답하는 동작을 수행할 수 있다.
한편, 일 실시예에 따른 프로세서(1120)는, 특정 기능을 실행하는 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 프로세서(1120)는, 음성 인식 장치(100)가 동작하는 상황을 분석하는 사용자 상황 분석부(미도시), 현재 상황에 대응하는 후보 활성화 단어들을 데이터베이스로부터 추출하는 후보 활성화 단어 추출부(미도시), 현재 상황에 따라 활성화 단어를 전환하는 활성화 단어 전환부(미도시), 활성화 단어를 발화하는 음성 명령을 포함하는 오디오 신호를 처리하는 오디오 신호 처리부(미도시) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 프로세서(1120)가 수행하는 기능들은, 적어도 하나의 마이크로프로세서에 의해 구현되거나, 해당 기능을 위한 회로 구성들에 의해 구현될 수 있다. 프로세서(1120)가 수행하는 기능들의 일부 또는 전부는, 프로세서(1120)에서 실행되는 다양한 프로그래밍 언어 또는 스크립트 언어로 구성된 소프트웨어 모듈에 의해 구현될 수 있다. 도 11a 및 도 11b는 음성 인식 장치(100)가 하나의 프로세서(1120)를 포함하는 것으로 도시하였지만, 실시예는 이에 제한되지 않는다. 음성 인식 장치(100)는, 복수의 프로세서들을 포함할 수 있다.
일 실시예에 따른 출력부(1130)는, 입력 오디오 신호에 대해서 음성 인식이 수행된 결과를 출력 할 수 있다. 출력부(1130)는, 음성 인식이 수행된 결과를 사용자에게 알리거나, 외부 디바이스(예를 들어, 스마트 폰, 스마트 TV, 스마트 와치, 서버 등)에게 전송할 수 있다. 예를 들어, 출력부(1130)는, 오디오 신호 또는 비디오 신호를 출력 할 수 있는 스피커 또는 디스플레이를 포함할 수 있다.
또는, 일 실시예에 따른 출력부(1130)는, 음성 인식이 수행된 결과에 대응하는 동작을 수행할 수 있다. 예를 들어, 음성 인식 장치(100)는, 음성 인식이 수행된 결과에 대응하는 음성 인식 장치(100)의 기능을 결정하고, 해당 기능을 수행하는 화면을 출력부(1130)를 통해 출력할 수 있다. 또는, 음성 인식 장치(100)는, 음성 인식이 수행된 결과에 대응하는 키워드를 외부 서버로 전송하고, 전송된 키워드에 관련된 정보를 서버로부터 수신하여 출력부(1130)를 통해 화면 상에 출력할 수 있다.
일 실시예에 따른 출력부(1130)는, 외부로부터 수신되거나, 프로세서(1120)에서 처리되거나, 저장된 정보를 빛, 소리, 영상 및 진동 중 적어도 하나의 형태로 출력한다. 예를 들어, 출력부(1130)는, 텍스트 또는 영상을 출력하는 디스플레이, 소리를 출력하는 음향 출력부 및 진동을 출력하는 진동 모터 중 적어도 하나를 더 포함할 수 있다.
도 11b의 메모리(1140)는, 프로세서(1120)에서 음성 인식이 수행된 결과를 저장할 수 있다. 메모리(1140)는, 수신부(1110)를 통해 수신되는 입력 오디오 신호를 저장할 수 있다. 메모리(1140)는 문장 단위로, 일정한 시간 길이 단위로, 또는 일정한 데이터 크기 단위로, 입력 오디오 신호를 수신하고 저장할 수 있다.
일 실시예에 따른 메모리(1140)는, 음성 인식 장치(100)를 제어하기 위해서 프로세서(1120)에서 실행되는 명령들을 저장할 수 있다.
일 실시예에 따른 메모리(1140)는, 복수의 상황들 각각에 대해서 대응하는 복수의 후보 활성화 단어들을 포함하는 데이터 베이스를 저장할 수 있다. 프로세서(1120)는, 적어도 하나의 활성화 단어를 결정함에 있어서, 메모리(1140)에 저장된 데이터로부터 음성 인식 장치가 동작하는 상황에 대응하는 적어도 하나의 후보 활성화 단어를 검색할 수 있다. 프로세서(1120)는, 검색된 후보 활성화 단어들 중에서 적어도 하나를 활성화 단어로서 결정할 수 있다.
일 실시예에 따른 메모리(1140)는, 문형 및 문법에 대한 정보를 포함하는 데이터 베이스를 포함할 수 있다. 프로세서(1120)는, 메모리(1140)에 저장된 문형 및 문법에 대한 정보를 이용함으로써, 입력 오디오 신호에 포함되는 음성 명령이 직접 명령인지 여부를 판단할 수 있다.
일 실시예에 따른 메모리(1140)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
일 실시예에 따른 사용자 입력부(1150)는, 음성 인식 장치(100)를 제어하기 위한 사용자 입력을 수신할 수 있다. 수신부(1150)는 사용자의 터치를 수신하는 터치 패널, 사용자의 푸시 조작을 수신하는 버튼, 사용자의 회전 조작을 수신하는 휠, 키보드(key board), 및 돔 스위치 (dome switch) 등을 포함하는 사용자 입력 디바이스를 포함할 수 있으나 이에 제한되지 않는다.
일 실시예에 따른 통신부(1160)는, 유선 통신 또는 무선 통신을 통해 외부의 전자 장치 또는 서버와 통신할 수 있다. 예를 들어, 통신부(1160)는, 복수의 상황들에 대해서 각 상황에 적합한 후보 활성화 단어들을 포함하는 데이터 베이스를 저장하는 서버와 통신할 수 있다. 통신부(1160)는, 서버로부터 현재 상황에 적합한 적어도 하나의 후보 활성화 단어를 검색하고 추출할 수 있다. 프로세서(1120)는, 검색된 후보 활성화 단어들 중에서 적어도 하나를 활성화 단어로서 결정할 수 있다.
일 실시예에 따른 통신부(1160)는, 외부의 전자 장치로부터 음성 인식 장치(100)가 동작하는 상황과 관련된 정보를 획득할 수 있다. 통신부(1160)는, 외부의 전자 장치에서 감지된 정보를 음성 인식 장치(100)가 동작하는 상황과 관련된 정보로서 획득할 수 있다.
일 실시예에 따른 통신부(1160)는, 음성 인식 기능을 수행하는 서버와 통신할 수 있다. 예를 들어, 통신부(1160)는, 활성화 단어가 포함된 문장을 포함하는 오디오 신호를 서버에게 전송할 수 있다. 통신부(1160)는, 서버에서 수행된 음성 인식 결과를 수신할 수 있다.
일 실시예에 따른 통신부(1160)는, 근거리 통신 모듈, 유선 통신 모듈, 이동 통신 모듈, 방송 수신 모듈 등을 포함할 수 있다.
일 실시예에 따른 감지부(1170)는, 하나 이상의 센서를 포함하고, 음성 인식 장치(100)가 동작하는 상황을 판단하기 위한 다양한 정보를 감지할 수 있다. 예를 들어, 감지부(1170)는, 음성 인식 장치(100)의 위치, 음성 인식 장치(100)의 움직임과 관련된 정보, 음성 인식 장치(100)를 사용하고 있는 사용자를 식별할 수 있는 정보, 음성 인식 장치(100)의 주변 환경 정보 등을 감지할 수 있다.
예를 들어, 감지부(1170)는, 조도 센서, 바이오 센서, 기울기 센서, 위치 센서, 근접 센서, 지자기 센서, 자이로스코프 센서, 온도/습도 센서, 적외선 센서, 및 속도/가속도 센서 중 적어도 하나 또는 이들의 조합을 포함할 수 있다.
도 11a 및 11b에 도시된 블록도는 음성 인식 서버에도 적용될 수 있다. 일 실시예에 따른 음성 인식 서버는, 입력 오디오 신호를 음성 인식 장치로부터 수신하는 수신부를 포함할 수 있다. 음성 인식 서버는 음성 인식 장치와 유선 또는 무선으로 연결될 수 있다.
또한, 음성 인식 서버는 프로세서와 출력부를 포함할 수 있으며, 메모리와 통신부를 더 포함할 수 있다. 음성 인식 서버의 프로세서는, 입력 오디오 신호로부터 음성 신호를 검출하고, 음성 신호에 대한 음성 인식을 수행할 수 있다.
음성 인식 서버의 출력부는, 음성 인식이 수행된 결과를 음성 인식 장치에게 송신할 수 있다. 음성 인식 장치는 음성 인식 서버로부터 수신된 음성 인식이 수행된 결과를 출력할 수 있다.
한편, 상술한 실시예는, 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터에 의해 판독 가능한 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 실시예에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 또한, 상술한 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 컴퓨터가 읽고 실행할 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 기록 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 마그네틱 저장매체, 예를 들면, 롬, 플로피 디스크, 하드 디스크 등을 포함하고,) 광학적 판독 매체, 예를 들면, 시디롬, DVD 등과 같은 저장 매체를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다.
또한, 컴퓨터가 읽을 수 있는 복수의 기록 매체가 네트워크로 연결된 컴퓨터 시스템들에 분산되어 있을 수 있으며, 분산된 기록 매체들에 저장된 데이터, 예를 들면 프로그램 명령어 및 코드가 적어도 하나의 컴퓨터에 의해 실행될 수 있다.
본 개시에서 설명된 특정 실행들은 일 실시예 일 뿐이며, 어떠한 방법으로도 본 개시의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 및 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다.
본 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. "부", "모듈"은 어드레싱될 수 있는 저장 매체에 저장되며 프로세서에 의해 실행될 수 있는 프로그램에 의해 구현될 수도 있다.
예를 들어, “부”, "모듈" 은 소프트웨어 구성 요소들, 객체 지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들에 의해 구현될 수 있다.?

Claims (21)

  1. 음성 인식 방법에 있어서,
    음성 인식 장치가 동작하는 동작 환경에 기초한 복수의 활성화 단어 중 적어도 하나의 활성화 단어를 결정하는 단계;
    입력 오디오 신호를 수신하는 단계;
    상기 입력 오디오 신호에 상기 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호가 포함되었는지 여부에 기초하여, 상기 입력 오디오 신호에 대한 음성 인식을 수행하는 단계; 및
    음성 인식이 수행된 결과를 출력하는 단계를 포함하고,
    상기 음성 인식을 수행하는 단계는
    상기 입력 오디오 신호에 대한 음성 인식을 수행함으로써 사용자가 발화한 텍스트를 추출하는 단계;
    상기 입력 오디오 신호에 포함된 음성 명령이 직접 명령인지 또는 간접 명령인지를 결정하는 단계;
    상기 음성 명령이 상기 직접 명령이라고 결정되면, 상기 음성 명령에 대응하는 동작을 수행하는 단계; 및
    상기 음성 명령이 상기 간접 명령이라고 결정되면, 상기 간접 명령에 대응하는 동작을 할 것을 지시하는 확인 명령이 감지되는 지를 결정하는 단계, 및 상기 사용자로부터의 상기 확인 명령 감지에 상응하여, 상기 음성 명령에 대응하는 동작을 수행하는 단계를 포함하고,
    상기 직접 명령은 상기 음성 인식 장치가 상기 음성 인식 수행 결과를 바로 출력하도록 하기 위한 의도로 상기 사용자가 발화한 음성이고,
    상기 간접 명령은 상기 음성 인식 장치가 상기 음성 인식 수행 결과를 출력할 수는 있으나, 상기 음성 인식 장치가 상기 음성 인식 수행 결과를 출력하도록 하기 위한 의도로 상기 사용자가 발화했다고 결정할 수 없는 음성이고,
    상기 적어도 하나의 활성화 단어는 상기 음성 인식 장치의 실행 가능한 기능에 대응하는, 음성 인식 방법.
  2. 제1 항에 있어서, 상기 음성 인식을 수행하는 단계는
    상기 음성 명령이 상기 간접 명령이라고 결정되면, 상기 음성 명령에 대한 응답이 가능하다는 것을 표시하는 더 단계를 포함하는, 음성 인식 방법.
  3. 제1 항에 있어서,
    상기 음성 명령이 상기 간접 명령으로 결정되면, 상기 음성 명령을 저장하는 단계; 및
    상기 사용자로부터의 상기 확인 명령을 감지하는 것에 상응하여 상기 음성 인식 장치에 임베드된 음성 인식 모듈 또는 외부 서버로 상기 저장된 음성 명령을 전송하는 단계를 더 포함하는, 음성 인식 방법.
  4. 삭제
  5. 제1 항에 있어서,
    상기 동작 환경에 관련된 정보는 시간, 상기 음성 인식 장치에 연결된 네트워크의 종류에 따라 식별된 상기 음성 인식 장치의 위치, 및 상기 음성 인식 장치가 또 다른 전자 장치에 연결되었는지 여부를 포함하고,
    상기 직접 명령은 상기 음성 신호의 종결 문장, 상기 음성 신호의 억양, 상기 음성 신호가 수신되는 방향, 및 상기 음성 신호의 크기 중 적어도 하나에 기초하여 결정되는, 음성 인식 방법.
  6. 제1 항에 있어서, 복수의 동작 환경 각각에 대응하여 상기 음성 인식을 활성화하기 위한 복수의 활성화 단어들을 저장하는 단계를 더 포함하고,
    상기 활성화 단어는 상기 복수의 동작 환경 각각에 관련된 용어이고, 상기 음성 인식을 유발하기 위한 문장에 포함될 수 있는 용어인, 음성 인식 방법..
  7. 제1 항에 있어서, 상기 적어도 하나의 활성화 단어를 결정하는 단계는 상기 음성 인식 장치의 활성화된 음성 인식 기능의 민감도에 기초하여 상기 적어도 하나의 활성화 단어의 개수를 결정하는 것을 포함하고, 상기 음성 인식의 민감도는 상기 음성 인식 장치가 활성화되는 속도, 활성화되는 난이도, 활성화되는 빈도 중 적어도 하나를 포함하는, 음성 인식 방법.
  8. 제1 항에 있어서,
    상기 입력 오디오 신호를 수신하는 단계는 상기 입력 오디오 신호를 저장하는 단계를 포함하고,
    상기 음성 인식을 수행하는 단계는
    상기 입력 오디오 신호가 상기 적어도 하나의 활성화 단어에 포함된 활성화 단어를 발화한 음성 신호를 포함하는지 여부를 결정하는 단계, 및
    상기 입력 오디오 신호가 상기 적어도 하나의 활성화 단어에 포함된 상기 활성화 단어를 발화한 음성 신호를 포함하는 것으로 결정되면, 상기 저장된 입력 오디오 신호 및 이후에 수신되는 입력 오디오 신호에 대해 음성 인식을 수행하는 단계를 포함하는, 음성 인식 방법.
  9. 제1항에 있어서,
    상기 음성 인식 장치는, 복수의 상황에서 상기 사용자로부터 수신된 음성 명령에 대한 정보를 수신하는 단계;
    상기 음성 명령에 포함된 복수의 단어를 추출하는 단계; 및
    상기 복수의 상황 중 특정 상황에서 수신된 음성 명령에 포함된 복수의 단어의 빈도에 기초하여, 적어도 하나의 단어를 상기 특정 상황에 대응하는 활성화 단어로 저장하는 단계를 포함하, 음성 인식 방법.
  10. 제1 항에 있어서, 상기 적어도 하나의 활성화 단어를 결정하는 단계는:
    상기 음성 인식 장치에 연결된 적어도 하나의 전자 장치에 대한 정보를 획득하는 단계; 및
    상기 적어도 하나의 전자 장치와 관련된 단어를 적어도 하나의 활성화 단어로 결정하는 단계를 포함하는, 음성 인식 방법.
  11. 음성 인식 장치에 있어서,
    입력 오디오 신호를 수신하는 수신부; 및
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는
    상기 음성 인식 장치가 동작하는 동작 환경에 관련된 정보에 기초하여 복수의 활성화 단어 중 적어도 하나의 활성화 단어를 결정하고,
    상기 입력 오디오 신호가, 상기 결정된 적어도 하나의 활성화 단어에 포함된 활성화 단어를 발화하는 음성 신호를 포함하는지 여부에 기초하여, 상기 입력 오디오 신호에 대한 음성 인식을 수행하고,
    음성 인식이 수행된 결과를 출력하고,
    상기 프로세서가 상기 음성 인식을 수행하는 것은
    상기 입력 오디오 신호에 대한 음성 인식을 수행함으로써 사용자가 발화한 텍스트를 추출하고,
    상기 입력 오디오 신호에 포함된 음성 명령이 직접 명령인지 또는 간접 명령인지를 결정하고,
    상기 음성 명령이 상기 직접 명령이라고 결정되면, 상기 음성 명령에 대응하는 동작을 수행하고,
    상기 음성 명령이 상기 간접 명령이라고 결정되면, 상기 간접 명령에 대응하는 동작을 할 것을 지시하는 확인 명령이 감지되는 지를 결정하고,
    상기 사용자로부터의 상기 확인 명령이 감지되는 것에 상응하여, 상기 음성 명령에 대응하는 동작을 수행하고,
    상기 직접 명령은 상기 음성 인식 장치가 상기 음성 인식 수행 결과를 바로 출력하도록 하기 위한 의도로 상기 사용자가 발화한 음성이고,
    상기 간접 명령은 상기 음성 인식 장치가 상기 음성 인식 수행 결과를 출력할 수는 있으나, 상기 음성 인식 장치가 상기 음성 인식 수행 결과를 출력하도록 하기 위한 의도로 상기 사용자가 발화했다고 결정할 수 없는 음성인, 음성 인식 장치.
  12. 제11 항에 있어서, 상기 적어도 하나의 프로세서는
    상기 음성 인식을 수행하는 데 있어서, 상기 음성 명령이 상기 간접 명령이라고 결정되면, 상기 음성 명령에 대한 응답이 가능하다는 것을 표시하는, 음성 인식 장치.
  13. 제11 항에 있어서, 상기 적어도 하나의 프로세서는
    상기 음성 명령이 상기 간접 명령으로 결정되면, 상기 음성 명령을 저장하고,
    상기 사용자로부터의 상기 확인 명령을 감지하는 것에 상응하여 상기 음성 인식 장치에 임베드된 음성 인식 모듈 또는 외부 서버로 상기 저장된 음성 명령을 전송하는, 음성 인식 장치.
  14. 삭제
  15. 제11 항에 있어서,
    상기 동작 환경에 관련된 정보는 시간, 상기 음성 인식 장치에 연결된 네트워크의 종류에 따라 식별된 상기 음성 인식 장치의 위치, 및 상기 음성 인식 장치가 또 다른 전자 장치에 연결되었는지 여부를 포함하고,
    상기 직접 명령은 상기 음성 신호의 종결 문장, 상기 음성 신호의 억양, 상기 음성 신호가 수신되는 방향, 및 상기 음성 신호의 크기 중 적어도 하나에 기초하여 결정되는, 음성 인식 장치.
  16. 제11 항에 있어서, 상기 적어도 하나의 프로세서는
    복수의 동작 환경 각각에 대응하여 상기 음성 인식을 활성화하기 위한 복수의 활성화 단어들을 저장하고, 상기 활성화 단어는 상기 복수의 동작 환경 각각에 관련된 용어이고, 상기 음성 인식을 유발하기 위한 문장에 포함될 수 있는 용어인, 음성 인식 장치.
  17. 제12 항에 있어서, 상기 적어도 하나의 프로세서는
    상기 음성 인식 장치의 활성화된 음성 인식 기능의 민감도에 기초하여 상기 적어도 하나의 활성화 단어의 개수를 결정하여 상기 적어도 하나의 활성화 단어를 결정하고, 상기 음성 인식의 민감도는 상기 음성 인식 장치가 활성화되는 속도 및 활성화되는 빈도 중 적어도 하나를 포함하는, 음성 인식 장치.
  18. 제11 항에 있어서,
    상기 입력 오디오 신호를 저장하는 메모리를 더 포함하고,
    상기 적어도 하나의 프로세서는
    상기 입력 오디오 신호가 상기 적어도 하나의 활성화 단어에 포함된 활성화 단어를 발화한 음성 신호를 포함하는지 여부를 결정하고,
    상기 입력 오디오 신호가 상기 적어도 하나의 활성화 단어에 포함된 상기 활성화 단어를 발화한 음성 신호를 포함하는 것으로 결정되면, 상기 저장된 입력 오디오 신호 및 이후에 수신되는 입력 오디오 신호에 대해 음성 인식을 수행하는, 음성 인식 장치.
  19. 음성 인식 장치가 동작하는 동작 환경에 기초한 복수의 활성화 단어 중 적어도 하나의 활성화 단어를 결정하는 단계;
    입력 오디오 신호를 수신하는 단계;
    상기 입력 오디오 신호에 상기 적어도 하나의 활성화 단어에 포함되는 활성화 단어를 발화하는 음성 신호가 포함되었는지 여부에 기초하여, 상기 입력 오디오 신호에 대한 음성 인식을 수행하는 단계; 및
    음성 인식이 수행된 결과를 출력하는 단계를 포함하고,
    상기 음성 인식을 수행하는 단계는
    상기 입력 오디오 신호에 대한 음성 인식을 수행함으로써 사용자가 발화한 텍스트를 추출하는 단계;
    상기 입력 오디오 신호에 포함된 음성 명령이 직접 명령인지 또는 간접 명령인지를 결정하는 단계;
    상기 음성 명령이 상기 직접 명령이라고 결정되면, 상기 음성 명령에 대응하는 동작을 수행하는 단계; 및
    상기 음성 명령이 상기 간접 명령이라고 결정되면, 상기 간접 명령에 대응하는 동작을 할 것을 지시하는 확인 명령이 감지되는 지를 결정하는 단계, 및 상기 사용자로부터의 상기 확인 명령 감지에 상응하여, 상기 음성 명령에 대응하는 동작을 수행하는 단계를 포함하고,
    상기 직접 명령은 상기 음성 인식 장치가 상기 음성 인식 수행 결과를 바로 출력하도록 하기 위한 의도로 상기 사용자가 발화한 음성이고,
    상기 간접 명령은 상기 음성 인식 장치가 상기 음성 인식 수행 결과를 출력할 수는 있으나, 상기 음성 인식 장치가 상기 음성 인식 수행 결과를 출력하도록 하기 위한 의도로 상기 사용자가 발화했다고 결정할 수 없는 음성이고,
    상기 적어도 하나의 활성화 단어는 상기 음성 인식 장치의 실행 가능한 기능에 대응하는, 음성 인식 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.

  20. 삭제
  21. 삭제
KR1020170054513A 2016-12-15 2017-04-27 음성 인식 방법 및 장치 KR102409303B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US15/783,476 US11003417B2 (en) 2016-12-15 2017-10-13 Speech recognition method and apparatus with activation word based on operating environment of the apparatus
CN201780078008.1A CN110100277B (zh) 2016-12-15 2017-10-17 语音识别方法和装置
EP17879966.4A EP3533052B1 (en) 2016-12-15 2017-10-17 Speech recognition method and apparatus
PCT/KR2017/011440 WO2018110818A1 (en) 2016-12-15 2017-10-17 Speech recognition method and apparatus
US17/215,409 US11687319B2 (en) 2016-12-15 2021-03-29 Speech recognition method and apparatus with activation word based on operating environment of the apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160171670 2016-12-15
KR20160171670 2016-12-15

Publications (2)

Publication Number Publication Date
KR20180069660A KR20180069660A (ko) 2018-06-25
KR102409303B1 true KR102409303B1 (ko) 2022-06-15

Family

ID=62806404

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170054513A KR102409303B1 (ko) 2016-12-15 2017-04-27 음성 인식 방법 및 장치

Country Status (3)

Country Link
EP (1) EP3533052B1 (ko)
KR (1) KR102409303B1 (ko)
CN (1) CN110100277B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11430436B2 (en) 2019-03-29 2022-08-30 Lg Electronics Inc. Voice interaction method and vehicle using the same
KR102135182B1 (ko) * 2019-04-05 2020-07-17 주식회사 솔루게이트 성문인식을 통한 인공지능 스피커 맞춤형 개인화 서비스 시스템
KR102224994B1 (ko) 2019-05-21 2021-03-08 엘지전자 주식회사 음성 인식 방법 및 음성 인식 장치
KR102225001B1 (ko) * 2019-05-21 2021-03-08 엘지전자 주식회사 음성 인식 방법 및 음성 인식 장치
KR20210008788A (ko) 2019-07-15 2021-01-25 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20210069977A (ko) 2019-12-04 2021-06-14 엘지전자 주식회사 기기 제어 방법 및 이를 이용한 제어 가능한 장치
CN111144939A (zh) * 2019-12-23 2020-05-12 上海擎感智能科技有限公司 一种产品分析方法、装置、计算机存储介质及系统
KR102305555B1 (ko) * 2020-04-09 2021-09-27 주식회사 유비벨록스모바일 Ai 스피커 플랫폼 연계형 통합 게이트웨이 및 이를 사용한 ai 멀티 스피커 연동 방법
KR102389602B1 (ko) * 2020-08-20 2022-04-22 장금숙 음성인식 기반의 ai 에이전트 프로그램을 실행하는 단말장치 및 이의 동작방법
CN112270930A (zh) * 2020-10-22 2021-01-26 江苏峰鑫网络科技有限公司 一种语音识别转换的方法
CN113096654B (zh) * 2021-03-26 2022-06-24 山西三友和智慧信息技术股份有限公司 一种基于大数据的计算机语音识别系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161990A1 (en) * 2013-12-05 2015-06-11 Google Inc. Promoting voice actions to hotwords

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080052279A (ko) * 2006-12-05 2008-06-11 한국전자통신연구원 실생활 정보제공 대화형 tv 에이전트 서비스 방법 및장치
KR101743514B1 (ko) * 2012-07-12 2017-06-07 삼성전자주식회사 외부 입력 제어 방법 및 이를 적용한 방송 수신 장치
CN102945671A (zh) * 2012-10-31 2013-02-27 四川长虹电器股份有限公司 语音识别方法
DE102013001219B4 (de) * 2013-01-25 2019-08-29 Inodyn Newmedia Gmbh Verfahren und System zur Sprachaktivierung eines Software-Agenten aus einem Standby-Modus
US10593326B2 (en) * 2013-04-25 2020-03-17 Sensory, Incorporated System, method, and apparatus for location-based context driven speech recognition
US9747900B2 (en) * 2013-05-24 2017-08-29 Google Technology Holdings LLC Method and apparatus for using image data to aid voice recognition
CN103996400A (zh) * 2014-04-29 2014-08-20 四川长虹电器股份有限公司 一种语音识别方法
KR102585228B1 (ko) * 2015-03-13 2023-10-05 삼성전자주식회사 음성 인식 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161990A1 (en) * 2013-12-05 2015-06-11 Google Inc. Promoting voice actions to hotwords

Also Published As

Publication number Publication date
KR20180069660A (ko) 2018-06-25
EP3533052B1 (en) 2024-02-21
EP3533052A4 (en) 2019-12-18
CN110100277A (zh) 2019-08-06
CN110100277B (zh) 2024-01-23
EP3533052A1 (en) 2019-09-04

Similar Documents

Publication Publication Date Title
US11687319B2 (en) Speech recognition method and apparatus with activation word based on operating environment of the apparatus
KR102409303B1 (ko) 음성 인식 방법 및 장치
US11854527B2 (en) Electronic device and method of controlling speech recognition by electronic device
CN110088833B (zh) 语音识别方法和装置
KR102513297B1 (ko) 전자 장치 및 전자 장치의 기능 실행 방법
US10504511B2 (en) Customizable wake-up voice commands
KR102528466B1 (ko) 복수 화자의 음성 신호 처리 방법 및 그에 따른 전자 장치
US11577379B2 (en) Robot and method for recognizing wake-up word thereof
US9443527B1 (en) Speech recognition capability generation and control
KR20190109868A (ko) 사운드 데이터를 처리하는 시스템 및 시스템의 제어 방법
US20190341026A1 (en) Audio analytics for natural language processing
US11508378B2 (en) Electronic device and method for controlling the same
US11443747B2 (en) Artificial intelligence apparatus and method for recognizing speech of user in consideration of word usage frequency
US11830502B2 (en) Electronic device and method for controlling the same
KR20200051462A (ko) 전자 장치 및 그 동작방법
KR20180054362A (ko) 사용자의 음성 입력을 인식하는 방법 및 장치
US20210118449A1 (en) Speech processing method and apparatus therefor
US20240071408A1 (en) Acoustic event detection
WO2020202862A1 (ja) 応答生成装置及び応答生成方法
US20200286479A1 (en) Agent device, method for controlling agent device, and storage medium
KR20210066651A (ko) 전자 장치 및 이의 제어 방법
EP3839719B1 (en) Computing device and method of operating the same
JPWO2020149031A1 (ja) 応答処理装置及び応答処理方法
JP2020152298A (ja) エージェント装置、エージェント装置の制御方法、およびプログラム
KR102460553B1 (ko) 차량 내 신경망을 이용한 수어 응답 제공 방법, 장치 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)