KR102596430B1 - 화자 인식에 기초한 음성 인식 방법 및 장치 - Google Patents

화자 인식에 기초한 음성 인식 방법 및 장치 Download PDF

Info

Publication number
KR102596430B1
KR102596430B1 KR1020160111690A KR20160111690A KR102596430B1 KR 102596430 B1 KR102596430 B1 KR 102596430B1 KR 1020160111690 A KR1020160111690 A KR 1020160111690A KR 20160111690 A KR20160111690 A KR 20160111690A KR 102596430 B1 KR102596430 B1 KR 102596430B1
Authority
KR
South Korea
Prior art keywords
voice recognition
speaker
voice
session
signal
Prior art date
Application number
KR1020160111690A
Other languages
English (en)
Other versions
KR20180024807A (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 KR1020160111690A priority Critical patent/KR102596430B1/ko
Priority to CN201780052734.6A priority patent/CN109643549B/zh
Priority to PCT/KR2017/009251 priority patent/WO2018043991A1/en
Priority to EP17846916.9A priority patent/EP3479376A4/en
Priority to US15/688,136 priority patent/US10762899B2/en
Publication of KR20180024807A publication Critical patent/KR20180024807A/ko
Application granted granted Critical
Publication of KR102596430B1 publication Critical patent/KR102596430B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • 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/04Segmentation; Word boundary detection
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/08Use of distortion metrics or a particular distance between probe pattern and reference templates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/26Recognition of special voice characteristics, e.g. for use in lie detectors; Recognition of animal voices
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • 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/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology

Abstract

화자 인식에 기초하여 음성을 인식하고 출력하는 방법 및 장치가 제공된다.
음성 인식 방법은, 오디오 신호를 입력 받기 위한 세션을 활성화 하는 단계; 상기 세션이 유지되는 동안 입력된 입력 오디오 신호로부터 검출된 음성 신호에 대한 음성 인식을 수행하는 단계;상기 음성 신호로부터 생성된 화자 정보에 기초하여, 상기 음성 신호의 화자가 등록된 화자인지 여부를 판단하는 단계; 상기 판단 결과에 기초하여, 상기 세션의 유지 여부를 결정하는 단계; 및 상기 음성 인식이 수행된 결과를 출력하는 단계를 포함할 수 있다.

Description

화자 인식에 기초한 음성 인식 방법 및 장치{Method and apparatus for speech recognition based on speaker recognition}
본 개시는 음성 인식 방법 및 장치에 관한 것으로서, 보다 상세하게는 음성 인식 시스템에서 음성을 인식하는 과정에 있어서 화자 인식에 기초하여 음성을 인식하고 출력하는 방법 및 장치에 관한 것이다.
최근에 스마트폰과 같이 다양한 기능을 복합적으로 수행하는 전자 장치들이 개발됨에 따라, 조작성을 향상시키기 위하여 음성 인식 기능이 탑재된 전자 장치들이 출시되고 있다. 음성 인식 기능은,별도의 버튼 조작 또는 터치 모듈의 접촉에 의하지 않고 사용자의 음성을 인식함으로써 장치를 손쉽게 제어할 수 있는 장점을 가진다.
이러한 음성 인식 기능에 의하면, 예를 들어 스마트폰과 같은 휴대용 단말기에서는 별도의 버튼을 누르는 조작 없이 통화 기능을 수행하거나 문자 메시지를 작성할 수 있으며, 길찾기, 인터넷 검색, 알람 설정 등 다양한 기능을 손쉽게 설정할 수 있다.
일 실시예는, 화자 인식에 기초하여 세션의 유지 여부를 결정함으로써, 등록된 화자의 발화에 대해서는 별도로 세션을 활성화 하는 동작 없이 연속적인 음성 인식이 가능하도록 하는 음성 인식 장치 및 방법을 제공할 수 있다.
또한, 일 실시예는, 화자 인식에 기초하여 등록된 화자의 발화에 대해서만 음성 인식이 수행된 결과를 출력함으로써, 음성 인식 장치의 사용자에게 개인화된 음성 인식 서비스를 제공할 수 있는 음성 인식 장치 및 방법을 제공할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은,오디오 신호를 입력 받기 위한 세션을 활성화 하는 단계; 상기 세션이 유지되는 동안 입력된 입력 오디오 신호로부터 검출된 음성 신호에 대한 음성 인식을 수행하는 단계;상기 음성 신호로부터 생성된 화자 정보에 기초하여, 상기 음성 신호의 화자가 등록된 화자인지 여부를 판단하는 단계; 상기 판단 결과에 기초하여, 상기 세션의 유지 여부를 결정하는 단계; 및 상기 음성 인식이 수행된 결과를 출력하는 단계를 포함하는, 음성 인식 방법을 제공할 수 있다.
또한, 본 개시의 제2 측면은, 오디오 신호를 입력 받기 위한 세션이 유지되는 동안, 입력 오디오 신호를 수신하는 수신부; 상기 입력 오디오 신호로부터 음성 신호를 검출하고, 상기 음성 신호에 대한 음성 인식을 수행하고, 상기 음성 신호로부터 생성된 화자 정보에 기초하여 상기 음성 신호의 화자가 등록된 화자인지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 세션의 유지 여부를 결정하는, 프로세서; 및 상기 음성 인식이 수행된 결과를 출력하는 출력부를 포함하는, 음성 인식 장치를 제공할 수 있다.
또한, 본 개시의 제3 측면은, 입력 오디오 신호를 음성 인식 장치로부터 수신하는 수신부로서, 상기 입력 오디오 신호는, 오디오 신호를 입력 받기 위한 세션이 유지되는 동안 상기 음성 인식 장치가 수신한 것을 특징으로 하는, 수신부; 상기 입력 오디오 신호로부터 음성 신호를 검출하고, 상기 음성 신호에 대한 음성 인식을 수행하고, 상기 음성 신호로부터 생성된 화자 정보에 기초하여 상기 음성 신호의 화자가 등록된 화자인지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 음성 인식 장치의 상기 세션의 유지 여부를 결정하는, 프로세서; 및 상기 세션의 유지 여부를 결정하기 위한 세션 관리 신호 및 상기 음성 인식이 수행된 결과를 상기 음성 인식 장치에게 송신하는 출력부를 포함하는, 음성 인식 서버를 제공할 수 있다.
또한, 본 개시의 제4 측면은, 디바이스가 음성 인식 방법을 실행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 음성 인식 방법은,오디오 신호를 입력 받기 위한 세션을 활성화 하는 단계;상기 세션이 유지되는 동안 입력된 입력 오디오 신호로부터 검출된 음성 신호에 대한 음성 인식을 수행하는 단계;상기 음성 신호로부터 생성된 화자 정보에 기초하여, 상기 음성 신호의 화자가 등록된 화자인지 여부를 판단하는 단계;상기 판단 결과에 기초하여, 상기 세션의 유지 여부를 결정하는 단계; 및상기 음성 인식이 수행된 결과를 출력하는 단계를 포함하는 것을 특징으로 하는, 기록 매체를 제공할 수 있다.
또한, 본 개시의 제5 측면은, 복수의 음성 인식 장치들, 및 상기 복수의 음성 인식 장치들을 제어하는 음성 인식 서버를 포함하는 음성 인식 시스템에 있어서, 상기 복수의 음성 인식 장치들 중에서 제1 음성 인식 장치는, 오디오 신호를 입력 받기 위한 세션이 유지되는 동안, 입력 오디오 신호를 수신하고, 상기 입력 오디오 신호를 상기 음성 인식 서버에게 송신하고, 상기 음성 인식 서버는, 상기 입력 오디오 신호로부터 음성 신호를 검출하고, 상기 음성 신호에 대한 음성 인식을 수행하고, 상기 음성 신호로부터 생성된 화자 정보에 기초하여 상기 음성 신호의 화자가 등록된 화자인지 여부를 판단하고, 상기 음성 신호의 화자가 상기 등록된 화자인 경우, 상기 복수의 음성 인식 장치들의 세션들이 소정 시간 동안 유지되도록 상기 복수의 음성 인식 장치들을 제어하는 것을 특징으로 하는, 음성 인식 시스템을 제공할 수 있다.
도 1은 일반적인 음성 인식 방법의 흐름도이다.
도 2a, 2b, 2c 및 2d는 일 실시예에 따른 음성 인식 시스템을 설명하기 위한 도면이다.
도 3a 및 3b는 일 실시예에 따른 음성 인식 장치의 블록도이다.
도 4는 일 실시예에 따른 음성 인식 방법의 흐름도이다.
도 5는 일 실시예에 따른 음성 인식 방법의 구체적인 흐름도이다.
도 6은 일 실시예에 따른 프로세서의 블록도이다.
도 7은 일 실시예에 따른 음성 인식 방법의 구체적인 흐름도이다.
도 8은 일 실시예따른 음성 인식 장치가음성 인식을 수행하고 화자 정보를 생성하는 방법을 설명하기 위한 도면이다.
도 9는 일 실시예에 따를 음성 인식 장치가 실시간 화자 인식을 위해 인접 프레임의 정보로 정규화를 수행하는 방법을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 음성 인식 장치가 화자 인식 결과에 기초하여 세션의 유지를 관리하고 등록된 화자 정보를 갱신하는 방법을 설명하기 위한 도면이다.
도 11a, 11b 및 11c는 일 실시예에 따른 음성 인식 장치가 음성 인식 결과를 출력하는 예를 도시한다.
도 12a 및 12b는 일 실시예에 따른 음성 인식 장치가 음성 인식 결과를 출력하는 예를 도시한다.
도 13a, 13b 및 13c는 일 실시예에 따른 음성 인식 장치가 음성 인식 결과를 출력하는 예를 도시한다.
도 14a, 14b 및 14c는 일 실시예에 따른 음성 인식 장치가 음성 인식 결과를 출력하는 예를 도시한다.
도 15는 일 실시예에 따른 음성 인식 시스템이 동작하는 방법의 흐름도이다.
도 16는 일 실시예에 따른 음성 인식 시스템이 동작하는 방법의 흐름도이다.
도 17a 및 17b는 일 실시예에 따른 음성 인식 시스템이 음성 인식 결과를 출력하는 예를 도시한다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “모듈” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일반적인 음성 인식 방법의 흐름도이다.
도 1에 도시된 바와 같이, S110에서 일반적인 음성 인식 시스템은 오디오 신호를 입력 받기 위한 세션을 활성화할 수 있다. 음성 인식 시스템은 사용자의 입력(예를 들어, 사용자가 물리적 시작 버튼을 누르는 입력, 또는 미리 설정된 활성화 키워드를 발화하는 입력)에 기초하여 세션을 활성화할 수 있다.
S120에서 일반적인 음성 인식 시스템은, 세션이 활성화되어 있는 동안 입력된 오디오 신호로부터 음성을 검출할 수 있다. S130에서 일반적인 음성 인식 시스템은, 검출된 음성에 대해 음성 인식을 수행할 수 있다. 일반적인 음성 인식 시스템은, 세션 활성화 이후 입력된 오디오 신호로부터 음성이 검출되면, 해당 음성을 발화한 화자가 누구인지에 관계 없이 음성 인식 결과를 출력하고(S140) 세션을 종료 할 수 있다(S150).
일반적인 음성 인식 시스템은, 음성 검출 알고리즘을 통해 음성이 종료하는 시점을 추출하여 세션을 종료함으로써, 매 발화 이후 세션을 종료할 수 있다. 일반적인 음성 인식 시스템이 매 발화 이후 세션을 종료 하는 것은, 음성 인식을 위한 발화에 대해서만 음성 인식을 수행하기 위함이다. 만약, 일반적인 음성 인식 시스템이발화가 종료한 후에도 세션을 종료하지 않을 경우, 음성인식 대상이 아닌 발화 또는 잡음 등에 대해서 음성 인식이 수행 될 수 있기 때문이다.
일반적인 음성 인식 시스템의 사용자는,어떤 발화에 대해서 음성 인식이 수행된 후에 다른 발화에 대해서 음성인식이 수행 되도록 하기 위해서, 세션을 활성화하는 동작을 다시 수행해야 한다. 사용자는, 세션이 활성화 된 후에 음성을 발화 해야 한다. 일반적인 음성 인식 시스템은 세션이 다시 활성화 되면 도 1의 단계 S120 내지 S150을 반복해서 수행 할 수 있다.
따라서, 일반적인 음성 인식 시스템이 음성인식의 대상이 되는 발화에 대해서만 음성 인식을 수행하기 위해서는,일반적인 음성 인식 시스템은 음성 인식의 대상이 되는 발화가 시작되기 전에 세션을 활성화하고, 음성 인식의 대상이 되는 발화가 종료하면 세션을 종료해야 한다. 따라서, 일반적인 음성 인식 시스템이 연속적으로 음성인식을 수행하도록 하기기 위해서, 사용자는 매 발화이전에 세션이 활성화 되도록 하는 동작을 수행해야 하는 번거로움이 있다. 또한, 일반적인 음성 인식 시스템은, 화자가 누군지에 관계 없이 음성인식 결과를 출력하기 때문에 개인화된 음성인식을 수행할 수가 없다. 따라서, 일반적인 음성 인식 시스템에 있어서, 특정 화자가 발화하는 도중에 혹은 특정 화자가 발화한 후에, 다른 화자가 발화하는 내용에 대해서도 함께 음성 인식이 수행된 결과가 출력된다는 문제점이 있다.
앞서 살펴본 바와 같이, 일반적인 음성 인식 시스템은, 사용자가 매 발화마다 세션을 활성화 하는 동작을 수행 하지 않으면 연속적으로 음성인식을 수행할 수 없다. 따라서, 사용자가 매 발화마다 세션을 활성화 하는 동작을 수행하여야 한다는 번거로움이 존재한다. 또한, 일반적인 음성 인식 시스템은 사용자가 수행한 세션 활성화 동작을 인식하는 과정에서 오류를 발생시킬 수 있다. 미리 설정된 활성화 키워드가 발화되면 일반적인 음성 인식 시스템이 세션을 활성화 하는 경우, 일반적인 음성 인식 시스템이 활성화 키워드를 인식하는 성능에 따라 음성인식 시스템의 작동 여부가 영향을 받는 문제점도 존재한다.
이러한 문제점을 해결하기 위해, 음성 인식을 수행 한 후에도 세션을 바로 종료하지 않고 계속 세션을 유지하는 음성 인식 시스템이 이용 될 수 있다. 그러나, 음성 인식 시스템이 계속 세션을 유지하는 경우, 입력되는 오디오 신호가 음성 인식의 대상이 되는 발화인지 또는 음성 인식의 대상이 아닌 잡음인지 여부를 음성 인식 시스템이 구분하기 어렵기 때문에 음성 인식 성능이 저하되는 문제가 발생한다. 예를 들어, 복수의 화자들이 대화를 하고 있는 경우, 음성 인식 시스템은 음성 인식의 대상이 아닌 화자의 발화에 대해서도 음성 인식을 수행하기 때문에 음성 인식 성능이 저하될 수 있다. 또한, 잡음이 계속 발생하는 경우, 음성 인식 시스템은 발화가 종료되지 않고 계속된다고 판단하고 잡음에 대해서 음성 인식을 계속해서 수행할 수도 있다. 음성 인식 시스템이 음성 검출 동작 및 음성 인식 동작을 계속해서 수행하게 되면, 음성 인식 시스템은 전력이나 메모리 용량을 불필요하게 소비할 수 있다.
이러한 도 1에 도시된 음성 인식 방법을 수행하는 음성 인식 시스템의 문제점을 해결하기 위한 일 실시예는, 화자 인식에 기초하여 음성 인식을 수행하는 음성 인식 시스템을 제공할 수 있다. 일 실시예에 따른 음성 인식 시스템은, 최초로 세션을 활성화 하고 발화가 종료된 이후에도, 추가적인 세션 활성화 동작 없이 연속적으로 다음 발화에 대한 음성 인식을 수행 할 수 있다. 또한, 일 실시예에 따른 음성 인식 시스템은, 입력된 발화의 화자가 등록된 화자인지 여부를 검증하는 화자 검증과 입력된 발화에 대한 음성 인식을 동시에 수행함으로써, 등록된 화자의 발화에 대한 음성 인식 결과만을 출력할 수 있다. 따라서, 일 실시예에 따른 음성 인식 시스템은 개인화 음성 인식이 가능하도록 할 수 있다.
또한, 일 실시예에 따른 음성 인식 시스템은, 화자 인식에 기초하여 음성 인식을 수행함으로써, 입력된 발화의 화자가 등록된 화자인 경우 음성 인식 세션을 유지할 수 있다. 따라서, 일 실시예에 따른 음성 인식 시스템은, 반복적으로 세션을 활성화 해야 하는 도 1에 도시된 음성 인식 방법을 수행하는 음성 인식 시스템의 문제점을 해결하고, 사용자에게 편리한 사용 환경을 제공할 수 있다.
도 2a, 2b, 2c 및 2d는 일 실시예에 따른 음성 인식 시스템을 설명하기 위한 도면이다.
도 2a에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 음성 인식 장치(210)를 포함할 수 있다. 예를 들어, 음성 인식 장치(210)는, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 일 실시예에 따른 음성 인식 장치(210)는, 세션을 활성화 하고, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(210)는, 음성 인식 결과를 출력할 수 있다.
또한, 도 2b에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 제1 음성 인식 장치(221) 및 제2 음성 인식 장치(222)를 포함할 수 있다. 제1 음성 인식 장치(221) 와 제2 음성 인식 장치(222)는 유선 또는 무선으로 연결 될 수 있다. 예를 들어, 제2 음성 인식 장치(222)는, 스마트폰, 태블릿 PC, PC, 스마트 TV 와 같은 모바일 컴퓨팅 장치일 수 있으며, 제1 음성 인식 장치(221)는 음성 인식 장치(222)와 연동하는 웨어러블 디바이스, 스마트폰, 태블릿 PC, PC, 또는 스마트 TV일 수 있으나, 이에 제한되지 않는다.
일 실시예에 따른 제2 음성 인식 장치(222)는, 제1 음성 인식 장치(221)의 동작을 제어하고, 제1 음성 인식 장치(221)와 데이터를 공유할 수 있다. 일 실시예에 따른 제2 음성 인식 장치(222)는, 오디오 신호를 입력받기 위하여 제1 음성 인식 장치(221)의 세션을 활성화 하도록 제1 음성 인식 장치(221)에게 제어 신호를 송신할 수 있다.
제1 음성 인식 장치(221)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 입력된 오디오 신호를 제2 음성 인식 장치(222)에게 송신 할 수 있다. 또는, 제1 음성 인식 장치(221)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 입력된 오디오 신호로부터 검출된 음성 신호를 제2 음성 인식 장치(222)에게 송신 할 수 있다. 또는, 제1 음성 인식 장치(221)는, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받고, 입력된 오디오 신호로부터 검출된 음성 신호의 특징을 제2 음성 인식 장치(222)에게 송신 할 수 있다.
제2 음성 인식 장치(222)는, 제1 음성 인식 장치(221)로부터 수신된 신호에 기초하여 음성 인식을 수행할 수 있다. 예를 들어, 제2 음성 인식 장치(222)는 제1 음성 인식 장치(221)에서 입력된 오디오 신호로부터 검출된 음성 신호에 대해서 음성 인식을 수행할 수 있다. 제2 음성 인식 장치(222)는, 음성 인식 결과를 출력하거나, 제1 음성 인식 장치(221)가 음성 인식 결과를 출력 하도록 제1 음성 인식 장치(221)를 제어할 수 있다.
또한, 도 2c에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 음성 인식 장치(231) 및 음성 인식 서버(232)를 포함할 수 있다. 음성 인식 장치(231) 와 음성 인식 서버(232)는 유선 또는 무선으로 연결 될 수 있다.
일 실시예에 따른 음성 인식 서버(232)는, 음성 인식 장치(231)와 데이터를 공유할 수 있다. 일 실시예에 따른 음성 인식 장치(231)는, 세션을 활성화 하고, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받을 수 있다. 음성 인식 장치(231)는 입력된 오디오 신호를 음성 인식 서버(232)에게 송신 할 수 있다. 또는, 제1 음성 인식 장치(231)는, 입력된 오디오 신호로부터 검출된 음성 신호를 음성 인식 서버(232)에게 송신 할 수 있다. 또는, 제1 음성 인식 장치(231)는, 입력된 오디오 신호로부터 검출된 음성 신호의 특징을 음성 인식 서버(232)에게 송신 할 수 있다.
음성 인식 서버(232)는 제1 음성 인식 장치(231)로부터 수신된 신호에 기초하여 음성 인식을 수행할 수 있다. 예를 들어, 음성 인식 서버(232)는, 제1 음성 인식 장치(231)에서 입력된 오디오 신호로부터 검출된 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 서버(232)는, 음성 인식 장치(231)에게 음성 인식 결과를 송신할 수 있다. 음성 인식 장치(231)는, 음성 인식 결과를 출력할 수 있다.
또한, 도 2d에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 제1 음성 인식 장치(241), 제2 음성 인식 장치(242) 및 음성 인식 서버(243)를 포함할 수 있다. 제1 음성 인식 장치(241), 제2 음성 인식 장치(242) 및 음성 인식 서버(243)는 유선 또는 무선으로 연결 될 수 있다. 제1 음성 인식 장치(241) 및 제2 음성 인식 장치(242) 중 적어도 하나는, 스마트 폰과 같은 모바일 컴퓨팅 디바이스 일 수 있으며, 홈 네트워크 시스템에 포함되는 가전 제품일 수 있다.
제1 음성 인식 장치(241) 및 제2 음성 인식 장치(242)는 음성 인식 서버(243)를 통해 원격으로 조종 되거나, 데이터를 공유할 수 있다. 보다 구체적으로, 음성 인식 서버(243)는, 제1 음성 인식 장치(241) 및/또는 제2 음성 인식 장치(242)의 세션의 활성화, 유지, 및 종료 중 적어도 하나를 결정 할 수 있고, 제1 음성 인식 장치(241) 및/또는 제2 음성 인식 장치(242)를 통해 수신된 오디오 신호에 대해서 음성 인식을 수행할 수 있다.
예를 들어, 일 실시예에 따른 제1 음성 인식 장치(241)는, 세션을 활성화 하고, 화자(10)가 발화한 음성 신호를 포함하는 오디오 신호를 입력 받을 수 있다. 제1 음성 인식 장치(241)는 입력된 오디오 신호에 대한 정보를 음성 인식 서버(243)에게 송신 할 수 있다. 입력된 오디오 신호에 대한 정보는, 예를 들어, 입력된 오디오 신호 그 자체이거나, 입력된 오디오 신호로부터 검출된 음성 신호이거나, 입력된 오디오 신호로부터 검출된 음성 신호의 특징일 수 있다.
음성 인식 서버(243)는 제1 음성 인식 장치(241)로부터 수신된 입력된 오디오 신호에 대한 정보에 기초하여, 음성 인식을 수행할 수 있다. 음성 인식 서버(243)는, 제1 음성 인식 장치(241) 및 제2 음성 인식 장치(242) 중 적어도 하나에게 음성 인식 결과를 송신할 수 있다.음성 인식 서버(243)는,제1 음성 인식 장치(241) 및 제2 음성 인식 장치(242) 중 적어도 하나가 음성 인식 결과를 출력하도록, 제1 음성 인식 장치(241) 및 제2 음성 인식 장치(242) 중 적어도 하나를 제어할 수 있다.
도 2a, 2b, 2c 및 2d에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 적어도 하나의 음성 인식 장치를 포함하고, 음성 인식 서버를 더 포함할 수 있다. 이하에서는, 설명의 편의를 위해 "음성 인식 장치"에서 수행되는 음성 인식 방법에 대해 서술하도록 하겠다. 다만, 이하에서 기술되는 음성 인식 장치의 동작의 일부 또는 전부는 음성 인식 서버에서도 수행될 수 있으며, 복수의 음성 인식 장치들에 의해 부분적으로 수행될 수 있다.
도 3a 및 3b는 일 실시예에 따른 음성 인식 장치의 블록도이다.
도 3a에 도시된 바와 같이, 일 실시예에 따른 음성 인식 장치(300)는, 수신부(310), 프로세서(320), 및 출력부(330)를 포함할 수 있다. 그러나, 도 3a에 도시된 구성 요소 모두보다 많은 구성 요소에 의해 음성 인식 장치(300)가 구현될 수도 있다. 예를 들어, 도 3b에 도시된 바와 같이, 일 실시예에 따른 음성 인식 장치(300)는, 메모리(340)를 더 포함할 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 음성 인식 장치(300)는, 가전 제품, 모바일 컴퓨팅 디바이스 및 서버 중 적어도 하나에 포함되거나, 가전 제품, 모바일 컴퓨팅 디바이스 및 서버 중 적어도 하나에 유, 무선으로 연결되도록 구현될 수 있다.
수신부(310)는, 오디오 신호를 수신할 수 있다. 예를 들어, 수신부(310)는, 마이크로폰(Microphone)에 의해 외부의 소리를 전기적인 음향 데이터로 변환함으로써 오디오 신호를 직접 수신할 수 있다. 또는, 수신부(310)는, 외부 장치로부터 송신된 오디오 신호를 수신할 수 있다. 도 3에는, 수신부(310)가, 음성 인식 장치(300)의 내부에 포함되는 것으로 도시되었으나, 다른 일 실시예에 따른 수신부(310)는 별도의 장치 내에 포함되고 음성 인식 장치(300)와는 유,무선으로 연결되는 형태로 구현될 수 있다.
수신부(310)는, 프로세서(320)의 제어에 기초하여, 오디오 신호를 입력 받기 위한 세션을 활성화 할 수 있다. 세션이란, 음성 인식 장치(300)가 오디오 신호를 입력 받는 동작을 시작해서 종료할 때까지의 시간을 가리킬 수 있다. 세션을 활성화한다는 의미는, 음성 인식 장치(300)가 오디오 신호를 입력 받는 동작을 시작한다는 의미일 수 있다. 수신부(310)는, 세션이 유지되는 동안 입력된 입력 오디오 신호를 프로세서(320)에게 전달할 수 있다.
또한, 수신부(310)는, 음성 인식 장치(300)를 제어하기 위한 사용자 입력을 수신할 수 있다. 수신부(310)는 사용자의 터치를 수신하는 터치 패널, 사용자의 푸시 조작을 수신하는 버튼, 사용자의 회전 조작을 수신하는 휠, 키보드(key board), 및 돔 스위치 (dome switch) 등을 포함하는 사용자 입력 디바이스를 포함할 수 있으나 이에 제한되지 않는다. 수신부(310)는, 사용자 입력을 직접 수신하지 않고, 별도의 사용자 입력 디바이스를 통해서 수신된 사용자 입력을 전달 받을 수 있다.
예를 들어, 수신부(310)는, 특정 화자를 등록된 화자로서 저장하기 위한 사용자 입력 및 세션을 활성화 하기 위한 사용자 입력을 수신할 수 있다.
프로세서(320)는, 수신부(310)에서 입력된 입력 오디오 신호로부터 음성 신호를 검출하고, 음성 신호에 대한 음성 인식을 수행할 수 있다. 일 실시예에서, 프로세서(320)는 입력 오디오 신호로부터 음성 신호의 주파수 특성을 추출하고, 음향 모델과 언어 모델을 이용하여 음성 인식을 수행 할 수 있다. 주파수 특성은, 음향 입력의 주파수 스펙트럼을 분석하여 추출되는, 음향 입력의 주파수 성분들의 분포를 의미할 수 있다. 따라서, 도 3b에 도시된 바와 같이, 음성 인식 장치(300)는, 음향 모델과 언어 모델을 저장하는 메모리(340)를 더 포함할 수 있다.
일 실시예에서, 프로세서(320)는, 음성 신호로부터 화자 정보를 생성할 수 있다. 예를 들어, 프로세서(320)는, 음향 모델로부터 추출된 사후 정보(states posteriors), 일반적 배경 모델, 및 전체 변이성 변환 정보 중 적어도 하나를 이용하여, 음성 신호의 주파수 특성으로부터 화자 정보를 생성할 수 있다. 프로세서(320)는, 화자 정보에 기초하여, 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다.프로세서(320)는, 판단 결과에 기초하여 세션을 유지할 지 여부를 결정할 수 있다.일 실시예에서, 도 3b의 메모리(340)는, 사후 정보, 일반적 배경 모델, 전체 변이성 변환 정보, 및 등록된 화자 정보 중 적어도 하나를 저장할 수 있다.
프로세서(320)는, 음성 인식을 수행하기 위해 오디오 신호를 입력 받기 위한 세션을 활성화 할 수 있다. 프로세서(320)는, 활성화된 세션을 유지할지 종료할 지를 제어할 수 있다.
예를 들어, 프로세서(320)는, 사용자 입력에 기초하여, 세션을 활성화 하면서, 세션이 미리 결정된 세션 유지 시간 동안 유지되고, 세션 유지 시간 이후에는 종료되도록 설정할 수 있다. 프로세서(320)는, 세션이 활성화 되어 있는 동안 수신된 입력 오디오 신호로부터 검출된 음성 신호의 화자가 등록된 화자인 경우, 세션이 미리 결정된 연장 시간 동안 활성화되고, 연장 시간 이후에는 종료되도록 다시 설정 할 수 있다.
출력부(330)는, 음성 신호에 대해서 음성 인식이 수행된 결과를 출력 할 수 있다. 출력부(330)는, 음성 인식이 수행된 결과를 사용자에게 알리거나, 외부 디바이스(예를 들어, 스마트 폰, 스마트 TV, 스마트 와치, 서버 등)에게 전송할 수 있다. 예를 들어, 출력부(330)는, 오디오 신호 또는 비디오 신호를 출력 할 수 있는 디스플레이를 포함할 수 있다.
또는, 출력부(330)는, 음성 인식이 수행된 결과에 대응하는 동작을 수행할 수 있다. 예를 들어, 음성 인식 장치(300)는, 음성 인식이 수행된 결과에 대응하는 음성 인식 장치(300)의 기능을 결정하고, 해당 기능을 수행하는 화면을 출력부(330)를 통해 출력할 수 있다. 또는, 음성 인식 장치(300)는, 음성 인식이 수행된 결과에 대응하는 키워드를 외부 서버로 전송하고, 전송된 키워드에 관련된 정보를 서버로부터 수신하여 출력부(330)를 통해 화면 상에 출력할 수 있다.
도 3a 및 3b에 도시된 블록도는 음성 인식 서버에도 적용될 수 있다. 일 실시예에 따른 음성 인식 서버는, 입력 오디오 신호를 음성 인식 장치로부터 수신하는 수신부를 포함할 수 있다. 음성 인식 서버는 음성 인식 장치와 유선 또는 무선으로 연결될 수 있다. 음성 인식 서버의 수신부가 수신하는 입력 오디오 신호는, 오디오 신호를 입력 받기 위한 세션이 활성화되어 있는 동안, 음성 인식 장치가 수신한 것일 수 있다.
또한, 음성 인식 서버는 프로세서와 출력부를 포함할 수 있으며, 메모리를 더 포함할 수 있다. 음성 인식 서버의 프로세서는, 입력 오디오 신호로부터 음성 신호를 검출하고, 음성 신호에 대한 음성 인식을 수행할 수 있다. 음성 인식 서버의 프로세서는, 음성 신호로부터 생성된 화자 정보에 기초하여 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다. 음성 인식 서버의 프로세서는, 판단 결과에 기초하여 음성 인식 장치의 세션의 유지 여부를 결정할 수 있다.
음성 인식 서버의 출력부는, 세션의 유지 여부를 결정하기 위한 세션 관리 신호 및 음성 인식이 수행된 결과를 음성 인식 장치에게 송신할 수 있다. 음성 인식 장치는 음성 인식 서버로부터 수신된 음성 인식이 수행된 결과를 출력할 수 있다.
이하에서는, 일 실시예에 따른 음성 인식 장치(300)의 구체적인 동작 방법을 설명한다. 이하에서 서술하는 방법의 각 단계는, 상술한 음성 인식 장치(300)의 각 구성들에 의해 수행될 수 있다. 설명의 편의상 음성 인식 장치(300)가 동작의 주체인 경우만을 예로 들어 설명하였지만, 이하의 설명은 음성 인식 서버가 동작의 주체인 경우에도 적용될 수 있다.
도 4는 일 실시예에 따른 음성 인식 방법의 흐름도이다.
S410에서 음성 인식 장치(300)는, 오디오 신호를 입력 받기 위한 세션을 활성화 할 수 있다.
세션이란, 음성 인식 장치(300)가 오디오 신호를 입력 받는 동작을 시작해서 종료할 때까지의 시간을 가리킬 수 있다. 세션을 활성화한다는 의미는, 음성 인식 장치(300)가 오디오 신호를 입력 받는 동작을 시작한다는 의미일 수 있다.
음성 인식 장치(300)는, 세션이, 미리 결정된 세션 유지 시간 동안 유지되고, 세션 유지 시간 이후에는 종료되도록 설정할 수 있다.
음성 인식 장치(300)는, 세션이 유지되는 동안 오디오 신호를 입력 받을 수 있다. 또한, 음성 인식 장치(300)는, 세션이 유지되는 동안, 오디오 신호를 입력 받는 동작과 더불어, 입력된 오디오 신호를 처리하는 동작을 수행 할 수 있다. 예를 들어, 음성 인식 장치(300)는, 세션이 유지되는 동안, 도 4에 도시된 단계 S420 내지 S450 중 적어도 하나의 단계를 수행할 수 있다.
S420에서 음성 인식 장치(300)는, 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 세션이 유지되는 동안 입력된 입력 오디오 신호로부터 음성 신호를 검출하고, 검출된 음성 신호에 대한 음성 인식을 수행할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 실시간으로 입력되는 입력 오디오 신호를 소정 길이의 프레임 단위로 분할하고, 프레임 단위로 분할된 입력 오디오 신호를 처리할 수 있다. 프레임 단위로 분할된 입력 오디오 신호로부터, 프레임 단위의 음성 신호를 검출할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 음성 인식에 강인한 음성 인식용 특징 벡터 및 화자 인식에 강인한 화자 인식용 특징 벡터를 음성 신호로부터 추출할 수 있다. 음성 인식 장치(300)는, 시간 도메인(time domain) 기반의 음성 신호를 주파수 도메인(frequency domain) 상의 신호로 변환하고, 변환된 신호의 주파수 에너지를 서로 다르게 변형함으로써 음성 인식용 특징 벡터 및 화자 인식용 특징 벡터를 추출할 수 있다.
예를 들어, 화자 인식용 특징 벡터 및 음성 인식용 특징 벡터는 MFCC(Mel-frequency cepstral coefficients) 또는 필터 뱅크 에너지(Filter Bank Energy)일 수 있으나 이에 한정되는 것은 아니며 다양한 방식으로 음성 신호로부터 특징 벡터를 추출할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 음성 인식용 특징 벡터에 대해 음성 인식을 수행함으로써 음성 인식이 수행된 결과를 생성할 수 있다. 음성 인식 장치(300)는, 음향 모델 및 언어 모델에 기초하여, 음성 인식용 특징 벡터에 대해 음성 인식을 수행할 수 있다.음성 인식 장치(300)는, 음성 인식을 수행함으로써, 음성 신호의 화자가 발화한 것으로 추정되는 텍스트를 추출할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 화자 인식용 특징 벡터를 이용하여 화자 정보를 생성할 수 있다. 예를 들어, 음성 인식 장치(300)는, 음향 모델 및 음성 인식용 특징 벡터에 기초하여 사후 정보를 추출하고, 사후 정보 및 화자 인식용 특징 벡터를 이용하여 화자 정보를 생성할 수 있다. 일 실시예에서, 음성 인식 장치(300)는, 화자 인식용 특징 벡터 및 사후 정보와 더불어 전체 변이성 변환 정보 및 일반적 배경 모델을 더 이용하여, 화자 정보를 포함하는 벡터 행렬을 계산할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 음성 인식과 화자 정보 생성을 동시에 수행할 수 있다. 구체적으로, 음성 인식 장치(300)는, 실시간으로 프레임 단위로 검출되는 음성 신호에 대해서 음성 인식을 수행하고 화자 정보를 생성할 수 있다. 음성 인식 장치(300)는, 음성 신호의 제1 프레임에 대한 음성 인식을 수행하고, 제1 프레임에 대해 음성 인식이 수행되는 과정에서 제1 프레임에 대한 사후 정보를 추출할 수 있다. 음성 인식 장치(300)는, 제1 프레임에 대한 사후 정보를 이용하여, 제1 프레임에 대한 화자 정보를 생성할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 실시간으로 입력되는 입력 오디오 신호로부터 순차적으로 검출되는 음성 신호의 프레임들 각각에 대해서 음성 인식을 수행하는 동작 및 화자 정보를 생성하는 동작을 반복하여 수행할 수 있다.
S430에서 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다. 음성 인식 장치(300)는 음성 신호로부터 생성된 화자 정보에 기초하여, 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다.
등록된 화자는 음성 인식 장치(300)의 주 사용자일 수 있다. 예를 들어, 음성 인식 장치(300)가 스마트 폰인 경우, 스마트 폰의 소유자가 등록된 화자일 수 있다. 음성 인식 장치(300)는 사용자 입력에 기초하여 화자를 등록하거나, 디폴트 값으로서 소정 화자를 등록된 화자로서 저장할 수 있다. 음성 인식 장치(300)는, 한 명의 화자를 등록된 화자로서 저장할 수 있으며, 복수의 화자들을 등록된 화자들로서 저장할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 특정 화자의 음성 특징을 등록 화자 정보로서 저장할 수 있다. 예를 들어, 음성 인식 장치(300)는, 세션이 활성화되기 이전에 미리, 특정 화자가 발화한 복수의 음성 신호들로부터 추출된 특징 벡터들로부터 등록 화자 정보를 추출하고 저장할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 미리 저장된 등록 화자 정보와 새롭게 생성된 화자 정보 간의 유사도를 계산할 수 있다. 음성 인식 장치(300)는, 계산된 유사도와 소정 임계값을 비교한 결과에 기초하여, 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다.
도 4에서는 단계 S420이 수행된 뒤 단계 S430이 수행되는 것으로 도시되었지만, 본 개시는 이에 한정되지 않는다. 단계 S420에서 음성 인식을 수행하는 동작과 단계 S430에서 음성 신호의 화자가 등록된 화자인지 여부를 판단하는 동작은 순차적으로 수행되거나, 동시에 병렬적으로 수행될 수 있다.
S440에서 음성 인식 장치(300)는, S430에서 판단된 결과에 기초하여, 세션의 유지 여부를 결정할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자인지 여부에 기초하여, 세션을 유지 할지 또는 세션을 종료 할지 결정할 수 있다. S410에서 세션 유지 시간이 경과한 이후에 종료되도록 설정된 음성 인식 장치(300)는, S430에서 음성 신호의 화자가 등록된 화자라고 판단되는 경우, 세션이 보다 오래 유지되도록 재설정할 수 있다.
예를 들어, 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자인 경우, 세션을 유지할 수 있다. 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자인 경우, 세션이 미리 결정된 연장 시간 동안 유지되고, 연장 시간 이후에는 종료되도록 설정할 수 있다.
또한, 일 실시예에서 음성 인식 장치(300)는,음성 신호의 화자가 등록된 화자가 아닐 경우, 세션을 종료할 수 있다.예를 들어, 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자가 아니라고 판단되는 경우 세션을 바로 종료할 수도 있고, S410에서 설정된 세션 유지 시간이 경과 한 후에 종료되도록 설정할 수 있다.
S450에서 음성 인식 장치(300)는 S420에서 음성 인식이 수행된 결과를 출력할 수 있다.
음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자인 경우, 음성 인식이 수행된 결과를 출력할 수 있다.예를 들어, 음성 인식 장치(300)는, 음성 신호에 대한 음성 인식을 수행함으로써 음성 신호로부터 추출된 텍스트를 음성 인식이 수행된 결과로서 출력할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 세션이 유지되는 동안, 음성 신호들이 비연속적으로, 또는 소정 시간 간격을 두고 검출되는 경우에, 음성 인식을 수행한 결과를 문장 단위로 출력할 수 있다. 문장 단위로 출력되는 음성 인식결과는 복수의 음성 신호들로부터 추출된 텍스트를 포함할 수 있다. 음성 인식 장치(300)는, 음성 신호들 간의 시간 간격이 임계 시간보다 긴 경우, 하나의 문장이 종료한 것으로 판단할 할 수 있다.
예를 들어, 도 12a에 도시된 바와 같이, 화자 A가 "강남역 가는"이라고 발화한 뒤 짧은 시간 동안의 휴지(pause) 후에, "길 좀 알려주래"라고 발화한 경우를 예로 들어 설명한다. 음성 인식 장치(300)는, 임계 시간과 발화가 휴지된 시간을 비교할 수 있다. 음성 인식 장치(300)는, "강남역 가는"이라는 음성 신호와 "길 좀 알려주래?"라는 음성 신호가 임계 시간보다 짧은 간격을 두고 잇따라 검출된 경우, 하나의 문장을 구성하는 것으로 판단할 수 있다. 음성 인식 장치(300)는, 복수의 음성 신호들의 결합로부터 추출된 텍스트인, "강남역 가는 길 좀 알려줄래?"라는 텍스트를 하나의 문장이라고 판단하고 출력할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 음성 인식이 수행된 결과에 대해서 자연어 처리를 수행할 수 있다. 음성 인식 장치(300)는, 화자가 발화한 것으로 추정되는 텍스트에 대해서 자연어 처리를 수행할 수 있다. 음성 인식 장치(300)는, 자연어 처리를 통해 화자의 발화 의도를 파악할 수 있다. 음성 인식 장치(300)는, 음성 인식이 수행된 결과에 대해 자연어 처리를 수행함으로써, 음성 신호가 음성 인식을 위해 화자에 의해 발화되었는지 여부를 판단할 수 있다.
일 실시예에서 음성 인식 장치(300)는, 세션이 유지되는 동안 검출된 이 전(previous) 음성 신호에 대해 음성 인식이 수행된 결과에 대해서도 자연어 처리를 수행할 수 있다. 음성 인식 장치(300)는, 이 전 음성 신호에 대해 음성 인식이 수행된 결과(이하, 이 전 음성 인식 결과라 함) 및 현재 음성 신호에 대해 음성 인식이 수행된 결과(이하, 현재 음성 인식 결과라 함)에 대해 자연어 처리를 수행함으로써, 현재 음성 신호가 음성 인식을 위해 화자에 의해 발화되었는지 여부를 판단할 수 있다. 음성 인식 장치(300)는, 이 전 음성 인식 결과와 현재 음성 인식 결과의 연관도가 높을 경우, 화자가 음성 인식을 수행하기 위해 현재 음성 신호를 발화하였다고 판단할 수 있다.
일 실시예에서 음성 인식 장치(300)는, 자연어 처리를 통해서, 이 전 음성 신호로부터 추출된 제1 텍스트의 의미와 현재 음성 신호로부터 추출된 제2 텍스트의 의미를 분석할 수 있다. 텍스트의 의미를 분석한다는 것은, 화자가 질문을 하는 것인지 요청을 하는 것인지 단순한 감정 표현인지 문장의 의도를 구분해 내는 것을 의미할 수도 있고, 질문 또는 요청의 카테고리를 결정하는 것을 의미할 수 있다.또는, 텍스트의 의미를 분석한다는 것은, 텍스트로부터 적어도 하나의 키워드를 추출하는 것을 의미할 수 있다.
일 실시예에서, 음성 인식 장치(300)는, 제1 텍스트와 제2 텍스트 간의 의미에 기초하여, 제1 텍스트와 제2 텍스트 간의 연관도를 계산할 수 있다. 예를 들어, 음성 인식 장치(300)는, 계산된 연관도와 소정 임계값을 비교함으로써, 화자가 음성 인식을 수행하기 위해서 현재 음성 신호를 발화하였는지 여부를 판단할 수 있다. 음성 인식 장치(300)는, 이 전 음성 신호와 현재 음성 신호의 연관도가 소정 임계값보다 높을 경우, 화자가 이 전 음성 신호에 이어 음성 인식을 수행하기 위해 현재 음성 신호를 발화하였다고 판단할 수 있다.
일 실시예에서 음성 인식 장치(300)는, 음성 신호가 음성 인식을 위해 화자에 의해 발화되었다고 판단되는 경우, 음성 인식이 수행된 결과를 출력할 수 있다. 음성 인식 장치(300)는, 음성 신호가 음성 인식을 위해 화자에 의해 발화되지 않았다고 판단되는 경우, 음성 인식이 수행된 결과를 출력하지 않을 수 있다.
음성 신호에 대해서 자연어 처리를 추가적으로 수행하여 음성 인식 결과를 출력할지 여부를 결정하는 실시예와 관련하여서는, 후에 도 13 및 14를 참조하여 보다 구체적으로 설명할 것이다.
또한, 일 실시예에서 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자일 경우, S420에서 생성된 화자 정보를 이용한 적응 훈련에 의해 등록된 화자 정보를 갱신할 수 있다. 예를 들어, 음성 인식 장치(300)는, 동일한 화자의 입력 음성에 대해 점진적으로 적응 훈련을 수행함으로써, 등록된 화자를 인식하는 성능을 향상시킬 수 있다. 음성 인식 장치가 등록된 화자 정보를 갱신하는 방법과 관련하여서는, 후에 도 10을 참조하여 보다 구체적으로 설명할 것이다.
도 5는 일 실시예에 따른 음성 인식 방법의 구체적인 흐름도이다.
도 5의 S510은 도 4의 S410에 대응되고, 도 5의 S520 내지 S550은 도 4의 S420에 대응되고, 도 5의 S560은 도 4의 S430에 대응되고, 도 5의 S570은 도 4의 S440에 대응되고, 도 5의 S580은 도 4의 S450에 대응될 수 있다. 도 4의 각 단계에 대응되는 도 5의 각 단계에 대해서는, 도 4에 대한 설명이 적용될 수 있다. 따라서, 중복되는 동작에 대한 설명은 생략한다.
S510에서 음성 인식 장치(300)는, 세션을 활성화 할 수 있다. 일 실시예에서, 음성 인식 장치(300)는, 세션을 활성화 하면서, 세션이 미리 결정된 세션 유지 시간 동안 유지되고, 세션 유지 시간 이후에는 종료되도록 설정할 수 있다. 예를 들면, 세션 유지 시간은 수 초(sec) 또는 수 분(min)일 수 있다. 음성 인식 장치(300)는, 세션을 활성화 하면서, 오디오 신호를 입력 받는 동작을 시작할 수 있다.
S520에서 음성 인식 장치(300)는, 세션 유지 시간이 경과하였는지 여부를 판단할 수 있다. 일 실시예에서, 음성 인식 장치(300)는, 세션 유지 시간이 경과한 경우, 세션을 종료하고 더 이상 음성 인식을 위해서 오디오 신호를 수신하지 않는다.
S530에서 음성 인식 장치(300)는, 세션 유지 시간이 경과하지 않은 경우(예를 들어, 세션이 유지되고 있는 경우) 입력 오디오 신호를 수신할 수 있다.
S540에서 음성 인식 장치(300)는, 입력 오디오 신호로부터 음성 신호를 검출할수 있다.
S550에서 음성 인식 장치(300)는, 음성 신호에 대해서 음성 인식을 수행함으로써 음성 인식 결과를 생성하고, 음성 신호의 화자에 대한 정보를 생성할 수 있다. 일 실시예에서 음성 인식 장치(300)는, 실시간으로 음성 인식이 수행되는 음성 신호의 각 프레임에 대한 정보를 이용하여, 해당 프레임에 대한 화자 정보를 생성할 수 있다.
S560에서 음성 인식 장치(300)는, S550에서 생성된 화자 정보에 기초하여, 음성 신호의 화자가 등록된 화자인지 여부를 결정할 수 있다. 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자가 아니라고 판단되는 경우, 세션에 대한 설정을 변경하거나 음성 인식 결과를 출력하지 않을 수 있다. 음성 인식 장치(300)는, S520으로 되돌아 가서, 남아 있는 세션 유지 시간 동안 오디오 신호를 수신하고 음성 인식을 수행하는 동작을 반복해서 수행할 수 있다.
S570에서 일 실시예에서, 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자라고 판단되는 경우, 세션 유지 시간을 연장할 수 있다. 예를 들어, 음성 인식 장치(300)는, 세션이 미리 결정된 연장 시간 동안 유지되고, 연장 시간 이후에는 종료되도록 설정할 수 있다. 미리 결정된 연장 시간은 세션 유지 시간과 같을 수 있다.
예를 들어, 미리 결정된 세션 유지 시간이 5초인 경우, 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자라고 판단되는 경우, 남아 있는 세션 유지 시간에 관계 없이, 다시 세션이 5초 동안 유지되도록 세션 유지 시간을 연장할 수 있다.
S580에서 음성 인식 장치(300)는 S550에서 음성 인식이 수행된 결과를 출력할 수 있다. 음성 인식 장치(300)는, 음성 인식이 수행된 결과를 출력한 후에 S520으로 되돌아 가서, 남아 있는 세션 유지 시간 동안 오디오 신호를 수신하고 음성 인식을 수행하는 동작을 반복해서 수행할 수 있다.
음성 인식 장치(300)는, 복수의 화자들이 등록된 경우에, 화자에 따라서 개별적으로 음성 인식 결과를 출력할 수 있다. 예를 들어, 복수의 등록된 화자들이 대화 하고 있는 경우, 음성 인식 장치(300)는, 각 화자의 발화들에 대한 음성 인식 결과를 화자 별로 구분하여 순차적으로 또는 병렬적으로 출력할 수 있다.
화자 A와 화자 B가 모두 등록된 화자들이고, A가 "오늘 날씨를 알려줘"라고 발화한 후, B가 "내일 날씨 알려줘"라고 발화한 경우를 예로 들어 설명하면 다음과 같다
음성 인식 장치(300)는, A가 발화한 음성 신호 a를 처리하고, 음성 신호 a의 화자가 등록된 화자인 A라고 판단할 수 있다. 음성 인식 장치(300)는, 음성 신호 a의 화자가 등록된 화자인 A이므로, 세션 유지 시간을 연장 하고 음성 인식 결과를 출력할 수 있다. 음성 인식 장치(300)는, 음성 신호 a로부터 음성 인식을 수행한 결과인 “오늘 날씨 알려줘”라는 텍스트를 화면 상에 출력하고, “오늘 날씨 알려줘”라는 요청에 대응하여 “오늘 날씨”에 대한 정보를 화면 상에 출력할 수 있다.
그리고, 음성 인식 장치(300)는, B가 발화한 음성 신호 b를 처리하고, 음성 신호 b의 화자가 등록된 화자인 B라고 판단할 수 있다. 음성 인식 장치(300)는, 음성 신호 b의 화자가 등록된 화자인 B이므로, 세션 유지 시간을 연장 하고 음성 인식 결과를 출력할 수 있다. 음성 인식 장치(300)는, 음성 신호 b로부터 음성 인식을 수행한 결과인 “내일 날씨 알려줘”라는 텍스트를 화면 상에 출력하고, “내일 날씨 알려줘”라는 요청에 대응하여 “내일 날씨”에 대한 정보를 화면 상에 출력할 수 있다.
음성 인식 장치(300)는, A의 발화에 대한 음성 인식 결과 R_a(즉, "오늘 날씨 알려줘”라는 텍스트 및 "오늘 날씨"에 대한 정보 중 적어도 하나) 및 B의 발화에 대한 음성 인식 결과 R_b(즉, "내일 날씨 알려줘”라는 텍스트 및 "내일 날씨"에 대한 정보 중 적어도 하나)를 순차적으로 또는 병렬적으로 출력할 수 있다.
일 예로서, 음성 인식 장치(300)는, 화면 상의 동일한 영역 내에 R_a와 R_b를 순차적으로 출력할 수 있다. 음성 인식 장치(300)는, R_a를 출력하고, 순차적으로 R_b를 R_a의 옆에 또는 R_a의 아래에 출력할 수 있다. 음성 인식 장치(300)는, 음성 인식 결과들 각각에 대응되는 화자가 누구인지를 나타내는 정보를 표시할 수 있다. 예를 들어, 음성 인식 장치(300)는, R_a에 인접하여 화자 A를 나타내는 아이콘을 표시하고, R_b에 인접하여 화자 B를 나타내는 아이콘을 표시할 수 있다.
다른 예로서, 음성 인식 장치(300)는, 화면을 복수의 영역들로 구분하고, 서로 다른 영역 내에 R_a와 R_b를 병렬적으로 출력할 수 있다. 음성 인식 장치(300)는, R_a를 제1 영역 내에 출력하고, 병렬적으로 R_b를 제2 영역 내에 출력 할 수 있다. 음성 인식 장치(300)는, 음성 인식 결과들 각각에 대응되는 화자가 누구인지를 나타내는 정보를 표시할 수 있다. 예를 들어, 음성 인식 장치(300)는, R_a가 출력되는 제1 영역이 화자 A의 발화에 대한 음성 인식 결과를 출력하는 영역임을 표시하고, R_b가 출력되는 제2 영역이 화자 B의 발화에 대한 음성 인식 결과를 출력하는 영역임을 표시할 수 있다.
도 6은 일 실시예에 따른 프로세서의 블록도이다.
도 6에 도시된 블록들의 일부 또는 전부는, 특정 기능을 실행하는 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 도 6에 도시된 블록들이 수행하는 기능들은, 하나 이상의 마이크로프로세서에 의해 구현되거나, 해당 기능을 위한 회로 구성들에 의해 구현될 수 있다. 도 6에 도시된 블록들의 일부 또는 전부는 프로세서(320)에서 실행되는 다양한 프로그래밍 언어 또는 스크립트 언어로 구성된 소프트웨어 모듈일 수 있다.
음성 검출부(610)는, 세션이 활성화된 이후, 화자가 음성인식의 대상이 되는 발화를 입력하면, 입력된 오디오 신호로부터 발화에 대응하는 음성신호를 검출할 수 있다. 음성 검출부(610)는, 검출된 음성 신호를 특징 추출부(621, 623)로 전달할 수 있다.
특징 추출부(621, 623)는 도 6에 도시된 바와 같이 화자 인식용 특징 추출부(621)와 음성 인식용 특징 추출부(623)를 포함할 수 있다. 일 실시예에서, 화자 인식용 특징 추출부(621)는 검출된 음성 신호로부터 화자 인식에 강인한 화자 인식용 특징 벡터를 추출하고, 화자 인식용 특징 벡터를 화자 정보 생성부(630)에게 전달할 수 있다. 음성 인식용 특징 추출부(623)는 검출된 음성 신호로부터 음성 인식에 강인한 음성 인식용 특징 벡터를 추출하고, 음성 인식용 특징 벡터를 음성 인식 디코더(650)에게 전달할 수 있다.
음성 인식디코더(650)는, 음성 인식용 특징 추출부(623)로부터 전달된 음성 인식용 특징 벡터를 이용하여, 음향 모델과 언어모델을 통해 음성 인식을 수행하고 음성 인식 결과를 생성할 수 있다. 음성 인식 디코더(650)는, 음향 모델을 통해 추출된 사후 정보를 실시간으로 화자 정보 생성부(630)에게 전달할 수 있다. 음성 인식 디코더(650)는, 음성 인식이 수행된 결과를 세션 관리부(660)로 전달할 수 있다. 음성 인식 결과는, 세션 관리부(660)로 전달되고, 등록 화자 판단부(640)의 처리 결과에 기초하여 음성 인식 결과가 수행될지 여부가 판단될 수 있다.
화자 정보 생성부(630)는, 화자 인식용 특징 추출부(621)로부터 전달된 화자 인식용 특징 벡터, 음성 인식 디코더(650)로부터 실시간으로 전달 받은 사후 정보, 일반적 배경 모델, 및 빅 데이터를 기반으로 훈련되어 얻어진 전체 변이성 변환 정보를 이용하여,음성 신호의 화자에 대한 정보를 생성하게 된다. 화자 정보 생성부(630)는 생성된 화자정보를등록 화자 판단부(640)에게 전달할 수 있다.
음성인식 디코더(650)와 화자 정보 생성부(630)는 정보를 실시간으로 공유 할 수 있도록 연동될 수 있다. 음성 인식 디코더(650)와 화자 정보 생성부(630)는 연동함으로써, 음성인식 디코더(650)와 화자 정보 생성부(630)가 동기화되고 각 구성이 처리하고 있는 정보 간의 시간차가 발생하지 않도록 구성될 수 있다.
등록 화자 판단부(640)는, 화자 정보 생성부(630)에서 생성된 화자 정보와 미리 등록된 화자에 대한 정보(603)를 비교하고, 화자 정보와 등록된 화자 정보 간의 유사도를 계산할 수 있다. 일 실시예에서, 등록된 화자에 대한 정보(603)는, 미리 저장되어 있을 수 있다. 등록 화자 판단부(640)는, 계산된 유사도와 소정 임계값을 비교함으로써, 검출된 음성 신호의 화자와 미리 등록된 화자가 동일한지 여부를 판단할 수 있다.등록 화자 판단부(640)는 검출된 음성 신호의 화자와 미리 등록된 화자가 동일한지 여부에 대한 정보를 포함하는 화자 검증 결과를 세션 관리부(660)에게 전달 할 수 있다. 등록 화자 판단부(640)는, 화자 검증 결과와 함께 화자 정보를 세션 관리부(660)에게 전달할 수 있다.
세션 관리부(660)는, 세션의 활성화, 세션의 유지, 세션의 종료를 관리할 수 있다.
일 실시예에서 세션 관리부(660)는, 사용자 입력에 기초하여 세션을 활성화할 수 있다. 세션 관리부(660)는, 사용자 입력 디바이스로부터 사용자 입력을 수신 할 수 있다. 또는, 세션 관리부(660)는 도 3의 수신부(310)로부터 사용자 입력을 수신할 수 있다. 세션 관리부(660)는, 세션을 활성화 하기 위한 미리 결정된 사용자 입력과 새롭게 수신된 사용자 입력이 대응되는 경우, 세션을 활성화 할 수 있다. 세션 관리부(660)는, 세션을 활성화 하기 위해서, 도 3의 수신부(310)가 오디오 신호를 입력 받는 동작을 시작하도록 하는 제어 신호를 도 3의 수신부(310)에게 송신할 수 있다. 이 때, 세션 관리부(660)는, 세션이, 미리 결정된 세션 유지 시간 동안 유지되고, 세션 유지 시간 이후에는 종료되도록 설정할 수 있다.
일 실시예에서, 세션 관리부(660)는, 등록 화자 판단부(640)로부터 전달받은 화자 검증 결과에 기초하여 음성 신호의 화자가 등록된 화자와 동일하다고 판단되는 경우, 세션의 유지를 결정할 수 있다. 세션 관리부(660)는, 등록 화자 판단부(640)로부터 전달받은 화자 검증 결과에 기초하여 음성 신호의 화자가 등록된 화자와 동일하다고 판단되는 경우, 세션이 연장된 시간동안 유지되도록 설정할 수 있다.
일 실시예에서, 세션 관리부(660)는, 전달받은 화자 검증 결과에 기초하여 음성 신호의 화자가 등록된 화자와 동일하지 않다고 판단되는 경우, 세션을 종료할 수 있다. 또는, 세션 관리부(660)는, 전달받은 화자 검증 결과에 기초하여 음성 신호의 화자가 등록된 화자와 동일하지 않다고 판단되는 경우, 남아 있는 세션 유지 시간 동안만 세션을 유지하고 세션을 종료할 수 있다.
또한, 일 실시예에서 세션 관리부(660)는, 음성 신호의 화자가 등록된 화자와 동일할 경우, 음성 인식 디코더(650)로부터 전달받은 음성 인식 결과와 등록 화자 판단부(640)로부터 전달받은 화자 정보를 인식 결과 수행부(670)에게 전달할 수 있다.
인식결과수행부(670)는, 세션 관리부(660)에서 세션이 유지되도록 결정이 되었을 경우(또는, 연장된 시간동안 세션이 유지되도록 결정이 되었을 경우), 실행된다. 인식결과 수행부(670)는 음성인식 결과가 등록된 화자가 발화한 음성 신호에 대한 것이므로, 음성 인식 결과를 출력할 수 있다.
인식 결과 수행부(670)는, 화자 정보를 등록 화자 개선부(680)에게 전달할 수 있다. 일 실시예에서, 등록 화자 개선부(680)는, 인식 결과 수행부(670)로부터 전달 받은 화자 정보(예를 들어, 등록된 화자와 동일한 화자라고 판단된 화자의 발화 음성으로부터 추출된 화자 정보)를 이용한 적응 훈련 방식을 통해 등록 화자 정보(603)를 개선하고 갱신할 수 있다.
세션 관리부(660)에 의해 세션이 유지되고 있으므로, 인식 결과 수행부(670)가 음성 인식 결과를 출력한 이후, 음성 검출부(610) 등에 의해 음성을 검출하고 음성인식이 수행되는 동작이 반복하여 수행된다.
도 6을 참조하면, 전체 변이성 변환 정보(601), 등록 화자 정보(603), 음향 모델(605) 및 언어 모델(607)은 프로세서(320) 내에 저장되는 것으로 도시되었으나, 일 실시예는 이에 제한되지 않는다. 전체 변이성 변환 정보(601), 등록 화자 정보(603), 음향 모델(605), 언어 모델(607), 생성되는 화자 정보, 음성 인식 결과 화자 검증 결과 등은 음성 인식 장치(300)의 메모리(340)에 저장될 수 있다.
또한, 도 6에는 도시되지 않았지만, 일 실시예에 따른 프로세서(320)는, 자연어 처리부(미도시)를 더 포함할 수 있다. 자연어 처리부는, 세션 관리부(660)에 전달된 음성 인식 결과에 대한 의미를 파악할 수 있다. 자연어 처리부는, 음성 신호의 화자가 등록된 화자와 동일하다고 판단되는 경우, 음성 신호에 포함되는 텍스트가 화자가 실제로 음성 인식이 수행되기를 의도하여 발화한 텍스트인지를 판단할 수 있다. 자연어 처리부는 판단 결과를 세션 관리부(660) 및 인식 결과 수행부(670)에 전달 할 수 있다. 자연어 처리부에서 판단한 결과는, 음성 인식 결과를 수행하거나 세션을 관리하는데 이용될 수 있다.
도 7은 일 실시예에 따른 음성 인식 방법의 구체적인 흐름도이다.
도 7의 S710은 도 4의 S410에 대응되고, 도 7의 S720 내지 S760은 도 4의 S420에 대응되고, 도 7의 S770은 도 4의 S430에 대응되고, 도 7의 S780은 도 4의 S440 및 S450에 대응될 수 있다. 도 4의 각 단계에 대응되는 도 7의 각 단계에 대해서는, 도 4에 대한 설명이 적용될 수 있다. 따라서, 중복되는 동작에 대한 설명은 생략한다.
S710에서, 일 실시예에 따른 음성 인식 장치(300)는, 음성 인식을 위한 세션을 활성화하고, S720에서는 입력된 오디오 신호로부터 음성 입력을 검출할 수 있다. S730에서 음성 인식 장치(300)는, 음성이 검출되지 않은 상태에서 세션 유지 시간이 경과하는 경우, 세션을 종료할 수 있다. S730에서 음성 인식 장치(300)가, 음성을 검출하는 경우, S740에서 음성 인식 장치(300)는 음성 신호로부터 음성 인식용 특징 A와 화자 인식용 특징 B를 추출할 수 있다. 일 실시예에서, 음성 인식용 특징 A와 화자 인식용 특징 B는 특징 벡터를 포함할 수 있다.
음성 인식 장치(300)는, 특징 A에 대해 음성 인식 결과를 수행할 수 있다. S751에서 음성 인식 장치(300)는, 특징 A로부터 음성 인식 결과 T와 사후 정보 P를 추출할 수 있다. S753에서 음성 인식 장치(300)는, S751에서 생성된 사후 정보 P와 S740에서 추출된 특징 B로부터 화자 정보 S를 생성할 수 있다. S760에서 음성 인식 장치(300)는, 화자 정보 S를 등록 화자 정보와 비교 할 수 있다. S770에서 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자와 동일한지 여부를 판단할 수 있다. 음성 인식 장치(300)는, 음성 신호의 화자가 등록된 화자와 동일하지 않으면, 세션 유지 시간을 연장하지 않고 세션을 종료할 수 있다. S780에서 음성 인식 장치(300)는, 음성 인식이 수행된 음성 인식 결과 T를 수행할 수 있다.
음성 인식 결과 T를 수행한다는 것은, 음성 인식이 수행된 결과에 대응하는 동작을 수행하는 것을 의미할 수 있다. 예를 들어, 음성 인식 장치(300)는, 음성 인식 결과 T를 출력할 수 있다. 예를 들어, 음성 인식 장치(300)는, 음성 인식 결과 T에 대응하는 음성 인식 장치(300)의 기능을 결정하고, 해당 기능을 수행하는 화면을 출력할 수 있다. 또는, 음성 인식 장치(300)는, 음성 음성 인식 결과 T에 대응하는 키워드를 외부 서버로 전송하고, 전송된 키워드에 관련된 정보를 서버로부터 수신하여 화면 상에 출력할 수 있다.
음성 인식 장치(300)는, 음성 인식 결과 T 를 수행한 후 S720으로 돌아가 음성 입력을 검출하는 동작을 다시 수행할 수 있다.
도 8은 일 실시예 따른 음성 인식 장치가 음성 인식을 수행하고 화자 정보를 생성하는 방법을 설명하기 위한 도면이다.
도 8에 도시된 바와 같이, 음성 인식 디코더(650)는, 음성 신호로부터 추출된 음성 인식용 특징 벡터를 이용하여, 음향 모델(605)과 언어모델(607)을 통해 음성 인식을 수행하고 음성 인식 결과를 생성할 수 있다.
음향 모델(605)은 음성 신호가 어떤 소리에 매칭되는지 mono-phone 단위나 tri-phone단위로 판단할 수 있는 정보를 포함한다. 예를 들어, 음성 인식 디코더(650)는, 음향 모델(605)에 기초하여 음성 신호와 여러 음소들 각각이 매칭될 확률을 계산하고, 결과적으로 음성 신호에 매칭되는 음소를 결정할 수 있다.
언어 모델(607)은 음성 신호가 어떤 단어에 매칭되는지 판단할 수 있는 정보를 포함한다. 예를 들어, 음성 인식 디코더(650)는, 언어 모델(607)에 기초하여, 음성 신호와 복수의 단어들 각각이 매칭되는 확률을 계산하고, 결과적으로 음성 신호에 매칭되는 단어를 결정할 수 있다.
음성 인식 디코더(650)는, 음향 모델 및 언어 모델을 통해 음성 신호에 매칭되는 단어들로 구성되는 텍스트를 음성 인식 결과로서 추출할 수 있다.
음성 인식 디코더(650)는, 음향 모델을 통해 음성 인식용 특징 벡터로부터 사후 정보를 추출하고, 화자 정보 생성부(630)에게 전달할 수 있다. 사후 정보는 현재 음성 인식 디코더(650)에서 처리하고 있는 음성 신호의 프레임이 음소에 매칭되는 확률을 포함할 수 있다.
화자 정보 생성부(630)는, 음성 신호로부터 추출된 화자 인지용 특징 벡터, 음성 인식 디코더(650)로부터 실시간으로 전달받은 사후 정보, 일반적 배경모델(801), 및 빅데이터를 기반으로 훈련되어 얻어진 전체 변이성 변환 정보(601)를 이용하여 화자 정보를 생성할 수 있다.
일반적 배경 모델 (Universal background model)(801)은, 여러 화자들의 음성 신호들에 대한 정보가 포함된 대량의 데이터를 사용하여 화자 독립적인 모델을 학습함으로써 생성된 것으로서, 일반적인 화자들의 음성 신호들에 대한 평균적인 모델일 수 있다. 전체 변이성 변환 정보(601)는전체 변이성 변환 행렬일 수 있다.
전체 변이성 변환 정보(601)는, 낮은 행렬 계수의 행렬(low-rank matrix) 이며, 가우시안 혼합 모델(GMM, Gaussian mixture model)이나 심층 신경망(DNN, Deep Neural Network)의 슈퍼 벡터가 갖는 변이성을 저차원 벡터에게 투영(project)시키는 역할을 할 수 있다.
예를 들어, 음성 신호로부터 추출된 음향 파라미터들의 분포를 GMM으로 모델링 했을 경우, 각 가우시안들의 평균 값들을 연결하여 만든 GMM 슈퍼 벡터로부터 일반적 배경 모델을 뺀 정보는 i-벡터와 전체 변이성 변환 행렬의 곱으로 표현될 수 있다. 화자 정보 생성부(630)는, i-벡터로부터 화자 정보를 생성할 수 있다. 화자 정보 생성부(630)는, i-벡터로부터 환경 정보를 제거함으로써 화자 정보를 생성할 수 있다.
화자 정보 생성부(630)에서 생성된 화자 정보는 등록 화자 판단부(640)로 전달될 수 있다. 등록 화자 판단부(640)는, 화자 정보 생성부(630)에서 생성된 화자 정보와 미리 등록된 화자에 대한 정보(603)를 비교함으로써, 음성 신호의 화자가 등록된 화자인지 여부를 검증할 수 있다. 화자 검증 스코어링부(820)는, 생성된 화자 정보와 등록 화자 정보(603)의 유사도에 기초하여, 음성 신호의 화자가 등록된 화자일 확률을 계산할 수 있다. 화자 검증 스코어링부(820)는, 생성된 화자 정보에 포함되는 i-벡터와 등록 화자 정보에 포함되는 i-벡터 간의 내적을 계산하는 것을 포함하여 다양한 방식으로 점수를 계산할 수 있으며, 음성 신호의 화자가 등록된 화자일지 여부에 대한 점수를 매길 수 있다.등록 화자 판단부(640)는 계산된 값에 기초하여, 음성 신호의 화자와 미리 등록된 화자가 동일한지 여부에 대한 정보를 포함하는 화자 검증 결과를 출력할 수 있다.
도 8에 도시된 바와 같이, 음성 인식 장치(300)는 음성 인식이 수행되는 프레임과 화자 인식이 수행되는 프레임을 동기화 하고, 소정 프레임에 대한 화자 인식을 하는데 있어서 해당 프레임에 대한 사후 정보를 반영할 수 있다.
음성 인식 장치(300)는, 실시간으로 입력되는 음성 신호의 각 프레임에 대해서, 프레임으로부터 추출되는 화자 정보와 등록 화자 정보 간의 유사도를 계산할 수 있다. 음성 인식 장치(300)는, 계산된 유사도에 기초하여 각 프레임에 대한 화자 검증을 수행할 수 있다. 즉, 음성 인식 장치(300)는, 계산된 유사도에 기초하여 각 프레임의 화자가 등록 화자와 동일한지 여부를 결정할 수 있다.
음성 인식 장치(300)는, 현재 프레임에 대해서 계산된 유사도와 인접 프레임들에 대해서 계산된 유사도들을 이용하여, 하나의 프레임 보다 긴 구간에 대한 화자 검증을 강인하게(robustly) 수행할 수 있다. 음성 인식 장치(300)는, 하나의 구간에 포함된 복수의 프레임들에 대해서 계산된 유사도들이 임계값에 가깝게 분포하는 경우, 해당 구간의 인접 구간에 대해서 계산된 유사도들을 학습함으로써 보다 높은 정확도로 해당 구간에 대한 화자 검증을 수행할 수 있다.
음성 인식 장치(300)는, 화자 검증을 강인하게 수행할 수 있게됨으로써, 매우 짧은 길이의 프레임 단위(예를 들어, 0.1초)의 음성 신호에 대해서도 화자 검증을 가능하게 할 수 있다. 음성 인식 장치(300)는, 매우 짧은 길이의 프레임 단위의 음성 신호에 대해서도 화자 검증을 가능하게 함으로써, 등록된 화자의 발화의 경계(boundary), 즉, 발화의 시작점과 종료점을 예측할 수 있다. 음성 인식 장치(300)는, 실시간으로 입력되는 여러 발화들에 대해서 매 발화마다 등록된 화자에 의한 발화인지 여부를 판단할 수 있다.
음성 인식 장치(300)는, 매우 짧은 길이의 프레임 단위의 음성 신호에 대해서도 화자 검증을 가능하게 함으로써, 실시간으로 입력되는 발화들에 대해서 발화마다 등록된 화자에 의한 발화인지 여부를 판단할 수 있다.
도 9는 일 실시예에 따를 음성 인식 장치가 실시간 화자 인식을 위해 인접 프레임의 정보로 정규화를 수행하는 방법을 설명하기 위한 도면이다.
일 실시예에 따른 음성 인식 장치(300)는, 음성이 시작하는 시점부터 종료하는 시점까지의 전체 발화 정보를 이용하여 정규화를 수행할 수 있다. 일 실시예에 따른 음성 인식 장치(300)는, 음성 신호의 길이가 적어도 3초 이상이 되어야 정규화를 수행하고 화자 인식을 수행할 수 있었다. 왜냐하면, 짧은 시간의 음성 신호를 이용하여 정규화를 수행하게 될 경우, 화자 인식 성능이 저하되기 때문이다. 그림 910에 도시된 바와 같이 하나의 프레임 길이의 음성 신호만을 이용하여 정규화를 수행하고, 화자 인식을 수행하게 될 경우, 화자 인식 성능이 매우 저하된다. 그러므로일 실시예에 따른 음성 인식 장치(300)에 의하면 정규화를 위한 소정 길이의 음성 신호를 확보해야 하기 때문에, 화자 인식을 수행함에 있어서 딜레이가 발생한다. 따라서, 실시간 음성 인식이 어렵다는 문제점이 있었다.
일 실시예에 따른 음성 인식 장치(300)는, 실시간 화자 인식이 가능하도록 하기 위해서, 현재 처리되고 있는 프레임에 대한 화자 정보를 추출하고, 인접 프레임들의 정보를 이용하여 정규화를 수행할 수 있다. 그림 930에 도시된 바와 같이 음성 인식 장치(300)는, 현재 처리되고 있는 프레임에 대한 화자 정보를 추출하고, 인접 프레임들의 정보를 이용하여 정규화를 수행할 수 있다. 음성 인식 장치(300)는, 인접 프레임들을 이용하여 정규화를 수행함으로써, 화자 인식이 가능한 음성 신호의 길이를 0.3초로 줄일 수 있다.
또한, 음성 인식 장치(300)는, 현재 프레임에 인접하여 0.3초 미만의 정보가 존재할 경우에는, 경계 정보를 패딩(padding)하고 정규화를 수행할 수 있다. 음성 인식 장치(300)는, 인접 프레임들 내에서 음성 신호가 존재하지 않는 부분들에 대해서, 인접 프레임들 내에서 음성 신호가 끝나는 지점의 값을 패딩하고, 정규화를 수행할 수 있다.
도 10은 일 실시예에 따른 음성 인식 장치가 화자 인식 결과에 기초하여 세션의 유지를 관리하고 등록된 화자 정보를 갱신하는 방법을 설명하기 위한 도면이다.
세션 관리부(660)는, 세션의 활성화, 세션의 유지, 및 세션의 종료를 관리할 수 있다. 세션 관리부(660)의 결정 로직(1010)은, 음성 신호의 화자가 등록된 화자인지 여부에 대한 정보를 포함하는 화자 검증 결과에 기초하여, 세션의 유지 및 세션의 종료를 결정할 수 있다.
세션 관리부(660)의 결정 로직(1010)은, 음성 신호의 화자가 등록된 화자와 동일하다고 판단되는 경우, 세션의 유지를 결정할 수 있다. 결정 로직(1010)은, 음성 신호의 화자가 등록된 화자와 동일하다고 판단되는 경우, 남아 있는 세션 유지 시간에 관계없이 미리 결정된 연장 시간만큼 세션이 유지되도록 설정할 수 있다.
세션 관리부(660)는, 음성 신호의 화자가 등록된 화자와 동일하지 않다고 판단되는 경우, 세션을 종료할 수 있다. 세션 관리부(660)는, 음성 신호의 화자가 등록된 화자와 동일하지 않다고 판단되는 경우, 남아 있는 세션 유지 시간 동안만 세션을 유지하고 세션을 종료할 수 있다.
세션 관리부(660)가 세션의 유지를 결정하면, 인식 결과 수행부(670)가 실행될 수 있다. 인식 결과 수행부(670)는, 음성 인식 결과에 대응되는 동작을 수행할 수 있다. 인식 결과 수행부(670)는, 음성 인식 결과를 출력부(330)에게 출력할 수 있다. 인식 결과 수행부(670)는, 화자 정보를 등록 화자 개선부(680)에게 전달할 수 있다.
등록 화자 개선부(680)는, 인식 결과 수행부(670)로부터 전달 받은 화자 정보(즉, 미리 등록된 화자와 동일한 화자라고 판단된 화자의 발화 음성으로부터 추출된 정보)를 이용한 적응 훈련 방식을 통해, 등록 화자 정보(603)를 개선하고, 개선된 등록 화자 정보를 이용하여 기존에 저장되어 있던 등록 화자 정보를 갱신할 수 있다.
예를 들어, 음성 인식 장치(300)가 화자 정보로서 i-벡터를 이용하는 경우, 등록 화자 개선부(680)는 등록된 화자에 대한 정보로서 i-벡터R을 미리 저장할 수 있다. 등록 화자 개선부(680)에 저장되어 있는 i-벡터R은 등록된 화자가 발화한 음성 신호들에 대한 특징값들로부터 획득될 수 있다. 등록 화자 개선부(680)는 i-벡터R를 획득하기 위해 이용된 정보를 저장할 수 있다.
등록 화자 개선부(680)는, 인식 결과 수행부(670)로부터 화자 정보i-벡터new를 전달받을 때마다, 전달된 정보를 누적해서 i-벡터R을 다시 획득할 수 있다. 등록 화자 개선부(680)는 실시간으로 음성 신호가 검출됨에 따라 음성 신호의 복수의 프레임들 각각에 대한 i-벡터new를 추출하기 위해서 이용된 정보를 누적할 수 있다. 등록 화자 개선부(680)는 누적된 정보를 이용하여 i-벡터R을 다시 획득할 수 있다. 등록 화자 개선부(680)는 다시 획득된 i-벡터R을 이용하여 기존에 저장되어 있던 i-벡터R을 갱신할 수 있다.
등록 화자 개선부(680)는, 적응 훈련 이전의 화자 정보를 저장하고, 적응 훈련 성능이 하락할 경우, 적응 훈련이 수행된 등록 화자 정보를 적응 훈련 이전의 정보로 교체할 수 있다. 등록 화자 개선부(680)는, 적응 훈련 이전의 i-벡터R _ before를 저장해 두고, 적응 훈련 후의 i-벡터R _ after를 추출할 수 있다. 등록 화자 개선부(680)는, i-벡터R _ before와 i-벡터new 간의 스코어링 값과 i-벡터R _ after와 i-벡터new 간의 스코어링 값을 비교할 수 있다. 등록 화자 개선부(680)는, 적응 훈련 후의 i-벡터R _after에 대한 스코어링 값이 적응 훈련 전의 i-벡터R _ before값 보다 낮은 값을 갖는 경우, 적응 훈련 성능이 하락했다고 판단할 수 있다. 등록 화자 개선부(680)는, 적응 훈련 성능이 하락할 경우, i-벡터R _ after를 i-벡터R _ before로 교체하고 i-벡터R _ before을 등록 화자 정보로서 저장할 수 있다.
이하 도 11a 내지 도 14c를 참조하여, 일 실시예에 따른 음성 인식 장치(300)가 음성 인식 결과를 출력하는 예를 도시한다. 도 11a 내지 도 14c에서는 예로서 음성 인식 장치(300)가 스마트 폰인 경우를 예로 들어 도시하고, 음성 인식 장치(300)가 화자가 발화한 질문 또는 요청을 인식하고 질문에 대응하는 답변을 출력하거나, 요청에 대응하는 동작을 수행하는 경우를 예로 들어 도시한다. 그러나, 일 실시예는 도 11a 내지 도 14c에 도시된 예에 한정되지 않는다.
또한, 도 11a 내지 도 14c에 도시된 음성 인식 장치(300)는, 단독으로 음성을 인식하고 출력할 수 있다. 또는, 도 11a 내지 도 14c에 도시된 음성 인식 장치(300)는, 외부 장치와 연결되고, 입력된 음성을 외부 장치에게 전달하고 음성 인식 결과를 외부 장치로부터 수신하고 출력할 수 있다. 또는, 도 11a 내지 도 14c에 도시된 음성 인식 장치(300)는, 서버와 연결되고, 입력된 음성을 서버에게 전달하고 음성 인식 결과를 서버로부터 수신하고 출력할 수 있다.
도 11a 내지 도 14c에는 화자 A가 등록된 화자인 경우를 예로 들어 도시하지만, 일 실시예는 이에 한정되지 않으며, 복수의 화자들을 미리 등록하고, 복수의 등록된 화자들에 대한 정보를 저장할 수 있다.
도 11a, 11b 및 11c는 일 실시예에 따른 음성 인식 장치가 음성 인식 결과를 출력하는 예를 도시한다.
음성 인식 장치(300)의 사용자는 소정의 물리적 동작을 수행함으로써 음성 인식 장치(300)의 세션이 활성화되도록 할 수 있다. 예를 들어, 사용자는 음성 인식 장치(300)의 소정 버튼을 누르거나, 터치 스크린을 터치 하거나, 음성 인식 장치(300)를 움직이거나, 미리 저장된 호출 키워드를 발화함으로써 세션이 활성화되도록 할 수 있으나, 이에 한정되는 것은 아니다. 음성 인식 장치(300)는, 다양한 사용자 입력에 기초하여 세션을 활성화 할 수 있다. 음성 인식 장치(300)는 사용자 입력에 기초하여 세션을 활성화할 수 있다.
도 11a에 도시된 바와 같이 화자 A가 "오늘 날씨 알려줘"라고 발화하면, 음성 인식 장치(300)는 검출된 제1 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제1 음성 신호로부터 생성된 화자 정보에 기초하여, 제1 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 세션이 미리 결정된 연장 시간(예를 들어, 5초) 동안 유지되도록 재설정할 수 있다.
또한, 음성 인식 장치(300)는, 판단 결과에 기초하여 음성 인식 결과를 출력할 수 있다. 음성 인식 장치(300)는, 검출된 제1 음성 신호로부터 음성 인식을 수행한 결과인 "오늘 날씨 알려줘"라는 텍스트(1101)를 화면 상에 출력하고, "오늘 날씨 알려줘"라는 요청에 대응하여 "오늘 날씨"에 대한 정보(1102)를 화면 상에 출력할 수 있다.
음성 인식 장치(300)는 세션이 유지되도록 설정된 시간을 나타내는 정보(1103)를 화면 상에 출력할 수 있다. 도 11b에는 세션이 5초간 유지된다고 출력되었지만, 시간이 경과함에 따라 세션이 보다 짧은 시간만큼 유지된다고 출력될 수 있다.
도 11b에 도시된 바와 같이, 세션이 유지되는 동안 화자 A가 "그럼 내일 날씨는?"이라고 발화하면, 음성 인식 장치(300)는 검출된 제2 음성 신호에 대해서 다시 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제2 음성 신호로부터 생성된 화자 정보에 기초하여, 제2 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 세션이 미리 결정된 연장 시간 동안 유지되도록 재설정할 수 있다. 음성 인식 장치(300)는 세션이 유지되도록 재설정된 시간을 나타내는 정보(1103)를 화면 상에 출력할 수 있다.
또한, 음성 인식 장치(300)는, 판단 결과에 기초하여, 제2 음성 신호에 대해 음성 인식을 수행한 결과인 "그럼 내일 날씨는?"이라는 텍스트(1104)를 화면 상에 출력하고, "그럼 내일 날씨는?"이라는 질문에 대응하여 "내일 날씨"에 대한 정보(1105)를 화면 상에 출력할 수 있다.
도 11c에 도시된 바와 같이, 세션이 유지되는 동안 화자 A와 대화하고 있던 화자 B가 "내일 비온대?"라고 발화하면, 음성 인식 장치(300)는 검출된 제3 음성 신호에 대해서 다시 음성 인식을 수행할 수 있다. 이 때, 화자 B는, 음성 인식을 위해 발화한 것이 아니고, 화자 A와의 대화를 위해서 발화한 것이다.
음성 인식 장치(300)는, 제3 음성 신호로부터 생성된 화자 정보에 기초하여, 제3 음성 신호의 화자 B가 등록된 화자A와 동일하지 않다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 남아 있는 세션 유지 시간 동안만 세션을 유지하고, 남아 있는 세션 유지 시간이 경과한 후에는 세션을 종료하도록 기존의 설정을 유지할 수 있다. 음성 인식 장치(300)는 세션 유지 시간이 경과한 후에 세션이 종료됨을 나타내는 정보(1106)를 화면 상에 출력할 수 있다.또한, 음성 인식 장치(300)는, 판단 결과에 기초하여, 제3 음성 신호에 대해 음성 인식을 수행한 결과를 출력하지 않을 수 있다.
따라서, 도 11a 내지 도 11c에 도시된 바와 같이, 일 실시예에 따른 음성 인식 장치(300)는, 등록된 화자가 계속 발화하는 경우에 사용자가 매 발화마다 세션을 활성화하는 동작을 수행하지 않아도 되도록, 세션을 자동으로 유지해 준다는 장점이 있다. 또한, 음성 인식 장치(300)는, 등록되지 않은 화자가 발화한 내용에 대해서는 음성 인식 결과를 출력하지 않음으로써 개인화된 음성 인식을 수행하며, 음성 인식의 정확도를 높일 수 있다.
도 12a 및 12b는 일 실시예에 따른 음성 인식 장치가 음성 인식 결과를 출력하는 다른 예를 도시한다.
도 12a에 도시된 바와 같이 화자 A가 음성 인식 장치(300)의 세션을 활성화 하고 "강남역 가는"이라고 발화하면, 음성 인식 장치(300)는 검출된 제1 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제1 음성 신호로부터 생성된 화자 정보에 기초하여, 제1 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 세션이 미리 결정된 연장 시간 동안 유지되도록 재설정할 수 있다.
세션이 유지되는 동안 화자 A와 대화하고 있던 화자 B가 "양재역"이라고 발화하면, 음성 인식 장치(300)는 검출된 제2 음성 신호에 대해서 다시 음성 인식을 수행할 수 있다. 이 때, 화자 B는, 음성 인식을 위해 발화한 것이 아니고, 화자 A와의 대화를 위해서 발화한 것이다.
음성 인식 장치(300)는, 제2 음성 신호로부터 생성된 화자 정보에 기초하여, 제2 음성 신호의 화자 B가 등록된 화자A와 동일하지 않다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 남아 있는 세션 유지 시간 동안만 세션을 유지하고, 남아 있는 세션 유지 시간이 경과한 후에는 세션을 종료하도록 기존의 설정을 유지할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 제2 음성 신호에 대해 음성 인식을 수행한 결과를 출력하지 않을 수 있다.
세션이 유지되는 동안 화자 A가 "길 좀 알려 줄래?"라고 발화하면, 음성 인식 장치(300)는 검출된 제3 음성 신호에 대해서 다시 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제3 음성 신호로부터 생성된 화자 정보에 기초하여, 제3 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 세션이 미리 결정된 연장 시간동안 유지되도록 재설정할 수 있다.
음성 인식 장치(300)는, 임계 시간보다 짧은 간격을 두고 잇따라 제1 음성 신호 및 제3 음성 신호가 검출되었으므로, 제1 음성 신호 및 제3 음성 신호가 하나의 문장을 구성하는 것으로 판단할 수 있다.
음성 인식 장치(300)는, 제1 음성 신호 및 제3 음성 신호의 화자 A가 등록된 화자 A와 동일하다는 판단 결과에 기초하여, 제1 음성 신호 및 제3 음성 신호에 대해 음성 인식을 수행한 결과인 "강남역 가는 길 좀 알려 줄래"라는 텍스트(1201)를 화면 상에 출력할 수 있다. 음성 인식 장치(300)는, 강남역 가는 길을 알려 달라는 요청에 대응하여 현재 위치로부터 강남역 가는 길에 대한 정보(1202)를 화면 상에 출력할 수 있다.
음성 인식 장치(300)는 세션이 유지되도록 재설정된 시간을 나타내는 정보(1203)를 화면 상에 출력할 수 있다.
도 12b에 도시된 바와 같이, 세션이 유지되는 동안, 화자 A가 "버스 승강장 위치 알려 줄래?"라고 발화하면, 음성 인식 장치(300)는 검출된 제4 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제4 음성 신호로부터 생성된 화자 정보에 기초하여, 제4 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 세션이 미리 결정된 연장 시간 동안 유지되도록 재설정할 수 있다.
음성 인식 장치(300)는, 제4 음성 신호의 화자 A가 등록된 화자 A와 동일하다는 판단 결과에 기초하여, 제4 음성 신호에 대해 음성 인식을 수행한 결과인 "버스 승강장 위치 좀 알려 줄래"라는 텍스트(1204)를 화면 상에 출력할 수 있다. 음성 인식 장치(300)는, 버스 승강장의 위치를 알려 달라는 요청에 대응하는 정보를 화면 상에 출력할 수 있다.
세션이 유지되는 동안 화자 B와 대화하고 있던 화자 B가 "아니"라고 발화하면, 음성 인식 장치(300)는 검출된 제5 음성 신호에 대해서 다시 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 등록된 화자 A가 아닌 화자 B가 발화한 제5 음성 신호에 대해서는, 음성 인식 결과를 출력하는 동작을 수행하지 않고, 세션의 유지 시간을 연장하지 않을 수 있다.
한편, 음성 인식 장치(300)는, 자연어 처리를 이용하여, 제1 음성 신호 및 제3 음성 신호로부터 추출된 제1 텍스트 "강남역 가는 길 좀 알려 줄래?"의 의미를 분석할 수 있다. 음성 인식 장치(300)는, 자연어 처리를 이용하여, 제4 음성 신호로부터 추출된 제2 텍스트 "버스 승강장 위치 알려 줄래"의 의미를 분석할 수 있다. 음성 인식 장치(300)는 제2 텍스트의 요청이 불명확하다고 판단되거나 제2 텍스트가 완전한 문장이 아니라고 판단 되면, 이 전 음성 신호들로부터 추출된 제1 텍스트의 내용에 기초하여, 제2 텍스트를 보정할 수 있다. 예를 들어, 음성 인식 장치(300)는, 텍스트의 요청이 너무 많은 양의 정보를 출력하게 하는 것일 경우, 텍스트의 요청이 불명확하다고 판단할 수 있다.
도 12a 및 12b를 예로 들어 설명하면, 음성 인식 장치(300)는, 제1 텍스트로부터 "강남역"이라는 키워드를 추출하고, 추출된 키워드를 이용하여 제2 텍스트를 보정할 수 있다. 음성 인식 장치(300)는, 제2 텍스트를 보정하여 "강남역 근처의 버스 승강장 위치 알려 줄래?"라는 제3 텍스트를 생성할 수 있다. 음성 인식 장치(300)는 제3 텍스트에 대응하여, 강남역 근처의 버스 승강장 위치에 대한 정보를 화면 상에 출력할 수 있다.
한편, 도 12a 및 12b에는 화자 A가 등록된 화자인 경우를 예로 들어 도시하지만, 일 실시예에 따른 음성 인식 장치(300)는 이에 한정되지 않으며, 복수의 화자들을 미리 등록하고, 복수의 등록된 화자들에 대한 정보를 저장할 수 있다.
예를 들어, 화자 A와 화자 B가 모두 등록된 화자들인 경우, 음성 인식 장치(300)는, A의 발화에 대한 음성 인식 결과 및 B의 발화에 대한 음성 인식 결과를 순차적으로 또는 병렬적으로 출력할 수 있다.
음성 인식 장치(300)는, 화면 상의 제1 영역 내에 “강남역 가는 길 좀 알려 줄래”라는 텍스트를 화면 상에 출력할 수 있다. 또한 음성 인식 장치(300)는, 강남역 가는 길을 알려 달라는 요청에 대응하여 현재 위치로부터 강남역 가는 길에 대한 정보를 제1 영역 내에 출력할 수 있다. 또한, 음성 인식 장치(300)는, 화면 상의 제1 영역 내에 강남역 근처의 버스 승강장 위치에 대한 정보를 화면 상에 출력할 수 있다.
음성 인식 장치(300)는, 제1 영역과 동일하거나 상이한 제2 영역 내에 B의 발화에 대한 음성 인식 결과를 출력할 수 있다. 음성 인식 장치(300)는, 화면 상의 제2 영역 내에 “양재역”이라는 텍스트 및 "아니"라는 텍스트를 출력할 수 있다. 또한, 음성 인식 장치(300)는, B의 발화에 응답하여, "양재역"과 관련된 영상, 위치 정보 등을 화면 상에 출력할 수 있다.
음성 인식 장치(300)는, 음성 인식 결과들 각각에 대응되는 화자가 누구인지를 나타내는 정보를 음성 인식 결과와 함께 표시할 수 있다. 예를 들어, 음성 인식 장치(300)는, A의 발화에 대한 음성 인식 결과에 인접하여 화자 A를 나타내는 아이콘을 표시하고, B의 발화에 대한 음성 인식 결과에 인접하여 화자 B를 나타내는 아이콘을 표시할 수 있다. 또는 음성 인식 장치(300)는, 제1 영역이 화자 A에 대응됨을 표시하고, 제2 영역이 화자 B에 대응됨을 표시할 수 있다.
도 13a, 13b 및 13c는 일 실시예에 따른 음성 인식 장치가 음성 인식 결과를 출력하는 또 다른 예를 도시한다.
도 13a에 도시된 바와 같이, 세션이 활성화되고 화자 A가 "오늘 날씨 알려줘"라고 발화하면, 음성 인식 장치(300)는 검출된 제1 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제1 음성 신호로부터 생성된 화자 정보에 기초하여, 제1 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 세션이 미리 결정된 연장 시간 동안 유지되도록 재설정할 수 있다.
또한, 음성 인식 장치(300)는, 판단 결과에 기초하여 음성 인식 결과를 출력할 수 있다. 음성 인식 장치(300)는, 검출된 제1 음성 신호로부터 음성 인식을 수행한 결과인 "오늘 날씨 알려줘"라는 제1 텍스트(1301)를 화면 상에 출력하고, "오늘 날씨 알려줘"라는 요청에 대응하여 "오늘 날씨"에 대한 정보(1302)를 화면 상에 출력할 수 있다.
음성 인식 장치(300)는 세션이 유지되도록 설정된 시간을 나타내는 정보(1303)를 화면 상에 출력할 수 있다.
도 13b에 도시된 바와 같이, 세션이 유지되는 동안, 화자 A가 "내일은?"이라고 발화하면, 음성 인식 장치(300)는 검출된 제2 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제2 음성 신호로부터 생성된 화자 정보에 기초하여, 제2 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 세션이 미리 결정된 연장 시간 동안 유지되도록 재설정할 수 있다.
음성 인식 장치(300)는, 제2 음성 신호의 화자 A가 등록된 화자 A와 동일하다는 판단 결과에 기초하여, 제2 음성 신호에 대해 음성 인식을 수행한 결과인 "내일은?"이라는 텍스트(1304)를 화면 상에 출력할 수 있다.
음성 인식 장치(300)는, 화면 상에 출력된 텍스트의 요청에 대응하는 정보를 화면 상에 출력할 수 있다. 그러나, 텍스트의 요청에 대응하는 정보가 너무 많이 검색되는 경우, 음성 인식 장치(300)는 텍스트의 요청이 불명확하다고 판단하고, 이 전 음성 신호들에 기초하여 현재 처리중인 텍스트를 보정할 수 있다.
도 13b를 예로 들어 설명하면, 음성 인식 장치(300)는 제2 텍스트(1304)의 요청에 대응하는 정보, 즉, 내일과 관련하여 제공될 수 있는 정보가 너무 많이 검색되는 경우, 제2 텍스트(1304)를 보정할 수 있다.음성 인식 장치(300)는, 제1 텍스트로부터 "날씨 알려줘"라는 키워드를 추출하고, 추출된 키워드를 이용하여 제2 텍스트(1304)를 보정할 수 있다. 음성 인식 장치(300)는, 제2 텍스트(1304)를 보정하여 "내일 날씨 알려줘?"라는 제3 텍스트를 생성할 수 있다. 음성 인식 장치(300)는 제3 텍스트에 대응하여, 내일 날씨에 대한 정보를 화면 상에 출력할 수 있다.
도 13c에 도시된 바와 같이, 세션이 유지되는 동안 화자 A가 "수원은?"이라고 발화하면, 음성 인식 장치(300)는 검출된 제3 음성 신호에 대해서 다시 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제3 음성 신호로부터 "수원은?"이라는 제4 텍스트를 추출할 수 있다.
음성 인식 장치(300)는, 제3 음성 신호로부터 생성된 화자 정보에 기초하여, 제3 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다.
음성 인식 장치(300)는, 이 전 음성 신호에 대해 음성 인식이 수행된 결과에 기초하여, 제3 음성 신호가 음성 인식을 위해 화자에 의해 발화되었는지 여부를 판단할 수 있다.
음성 인식 장치(300)는, 자연어 처리를 통해서, 현재 처리되고 있는 음성 신호인 제3 음성 신호로부터 추출된 제4 텍스트의 의미를 분석할 수 있다. 음성 인식 장치(300)는, 이 전 텍스트들(제1 텍스트 내지 제3 텍스트)과 제4 텍스트 간의 의미에 기초하여, 이 전 텍스트들과 제4 텍스트 간의 연관도를 계산할 수 있다. 음성 인식 장치(300)는, 이 전텍스트들과 현재 텍스트 간의 연관도에 기초하여, 화자 A가 음성 인식을 수행하기 위해 제3 음성 신호를 발화하였는지 여부를 판단할 수 있다.
도 13c에 도시된 바와 같이, 음성 인식 장치(300)는, 제4 텍스트가 이 전 텍스트들과 연관도가 임계값보다 낮다고 판단하고, 화자 A가 음성 인식을 위해 제3 음성 신호를 발화하지 않았다고 판단할 수 있다. 음성 인식 장치(300)는, 화자 A가 음성 인식을 위해 제3 음성 신호를 발화하지 않았다고 판단하고, 제3 음성 신호로부터 추출된 제4 텍스트를 출력하지 않을 수 있다. 음성 인식 장치(300)는, 제3 음성 신호가 음성 인식을 위해 화자에 의해 발화되었는지 여부를 판단한 결과에 기초하여, 남아 있는 세션 유지 시간 동안만 세션을 유지하고, 남아 있는 세션 유지 시간이 경과한 후에는 세션을 종료하도록 기존의 설정을 유지할 수 있다. 음성 인식 장치(300)는 세션 유지 시간이 경과한 후에 세션이 종료됨을 나타내는 정보(1306)를 화면 상에 출력할 수 있다.
그러나, 일 실시예는 도 13c에 도시된 예에 제한되지 않으며, 일 실시예에 따른 음성 인식 장치(300)는 제3 음성 신호가 음성 인식을 위해 화자로부터 발화되었다고 판단할 수 있다. 음성 인식 장치(300)는, 제3 음성 신호로부터 추출된 제4 텍스트의 요청에 대응하는 정보를 화면 상에 출력할 수 있다. 음성 인식 장치(300)는 제4 텍스트의 요청에 대응하는 정보, 즉, 수원과 관련하여 제공될 수 있는 정보가 너무 많이 검색되는 경우, 제4 텍스트를 보정할 수 있다. 음성 인식 장치(300)는, 제1 텍스트로부터 "날씨 알려줘"라는 요청을 추출하고, 추출된 키워드를 이용하여 제4 텍스트를 보정할 수 있다. 음성 인식 장치(300)는, 제4 텍스트를 보정하여 "수원 날씨 알려줘?"라는 제5 텍스트를 생성할 수 있다. 음성 인식 장치(300)는 제5 텍스트에 대응하여, 내일 날씨에 대한 정보를 화면 상에 출력할 수 있다.
도 14a, 14b 및 14c는 일 실시예에 따른 음성 인식 장치가 음성 인식 결과를 출력하는 예를 도시한다.
도 14a에 도시된 바와 같이, 세션이 활성화되고 화자 A가 "강남역 가는 길은?"이라고 발화하면, 음성 인식 장치(300)는 검출된 제1 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제1 음성 신호로부터 생성된 화자 정보에 기초하여, 제1 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 세션이 미리 결정된 연장 시간 동안 유지되도록 재설정할 수 있다.
또한, 음성 인식 장치(300)는, 판단 결과에 기초하여 음성 인식 결과를 출력할 수 있다. 음성 인식 장치(300)는, 검출된 제1 음성 신호로부터 음성 인식을 수행한 결과인 "강남역 가는 길은?"이라는 제1 텍스트(1401)를 화면 상에 출력하고, 강남역 가는 길에 대해 묻는 질문에 대응하여 강남역 가는 길에 대한 정보(1402)를 화면 상에 출력할 수 있다.
음성 인식 장치(300)는 세션이 유지되도록 설정된 시간을 나타내는 정보(1403)를 화면 상에 출력할 수 있다.
도 14b에 도시된 바와 같이, 세션이 유지되는 동안, 화자 A가 "6번 출구 위치는?"이라고 발화하면, 음성 인식 장치(300)는 검출된 제2 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제2 음성 신호로부터 생성된 화자 정보에 기초하여, 제2 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 세션이 미리 결정된 연장 시간 동안 유지되도록 재설정할 수 있다.
음성 인식 장치(300)는, 제2 음성 신호의 화자 A가 등록된 화자 A와 동일하다는 판단 결과에 기초하여, 제2 음성 신호에 대해 음성 인식을 수행한 결과인 "6번 출구 위치는?"이라는 텍스트(1404)를 화면 상에 출력할 수 있다.
음성 인식 장치(300)는 제2 텍스트(1404)의 요청에 대응하는 정보, 즉, 6번 출구와 관련하여 제공될 수 있는 정보가 너무 많이 검색되는 경우, 제2 텍스트(1404)를 보정할 수 있다. 음성 인식 장치(300)는, 제1 텍스트로부터 "강남역"이라는 키워드를 추출하고, 추출된 키워드를 이용하여 제2 텍스트(1404)를 보정할 수 있다. 음성 인식 장치(300)는, 제2 텍스트(1404)를 보정하여 "강남역의 6번 출구 위치는?"라는 제3 텍스트를 생성할 수 있다. 음성 인식 장치(300)는 제3 텍스트에 대응하여, 강남역 6번 출구 위치에 대한 정보(1405)를 화면 상에 출력할 수 있다.
도 14c는, 세션이 유지되는 동안 화자 A가 "우리 뭐 먹을까?"라고 질문하고 화자 B가 "글쎄?"라고 대답하는 대화가 진행하는 경우를 도시한다.
음성 인식 장치(300)는 "우리 뭐 먹을까?"라는 질문을 포함하는 제3 음성 신호를 검출하고, 제3 음성에 대해서 다시 음성 인식을 수행할 수 있다. 음성 인식 장치(300)는, 제3 음성 신호로부터 "우리 뭐 먹을까?"라는 제4 텍스트를 추출할 수 있다.
음성 인식 장치(300)는, 제3 음성 신호로부터 생성된 화자 정보에 기초하여, 제3 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다.
음성 인식 장치(300)는, 자연어 처리에 기초하여, 제3 음성 신호가 음성 인식을 위해 화자에 의해 발화되었는지 여부를 판단할 수 있다. 음성 인식 장치(300)는, 이 전 텍스트들(제1 텍스트 내지 제3 텍스트)과 제4 텍스트 간의 연관도에 기초하여, 화자 A가 음성 인식을 수행하기 위해 제3 음성 신호를 발화하였는지 여부를 판단할 수 있다.
도 14c에 도시된 바와 같이, 음성 인식 장치(300)는, 제4 텍스트가 이 전 텍스트들과 연관도가 임계값보다 낮다고 판단하고, 화자 A가 음성 인식을 위해 제3 음성 신호를 발화하지 않았다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 제3 음성 신호로부터 추출된 제4 텍스트를 출력하지 않을 수 있다.
음성 인식 장치(300)는, 제3 음성 신호가 음성 인식을 위해 화자에 의해 발화되었는지 여부를 판단한 결과에 기초하여, 남아 있는 세션 유지 시간 동안만 세션을 유지하고, 남아 있는 세션 유지 시간이 경과한 후에는 세션을 종료하도록 기존의 설정을 유지할 수 있다.
다음으로, 음성 인식 장치(300)는 화자 B가 발화한 "글쎄?"라는 대답을 포함하는 제4 음성 신호를 각각 검출하고, 제4 음성 신호에 대해서 다시 음성 인식을 수행할 수 있다.
음성 인식 장치(300)는, 제4 음성 신호로부터 생성된 화자 정보에 기초하여, 제4 음성 신호의 화자 B가 등록된 화자A와 동일하지 않다고 판단할 수 있다. 음성 인식 장치(300)는, 판단 결과에 기초하여, 남아 있는 세션 유지 시간 동안만 세션을 유지하고, 남아 있는 세션 유지 시간이 경과한 후에는 세션을 종료하도록 기존의 설정을 유지할 수 있다. 음성 인식 장치(300)는 세션 유지 시간이 경과한 후에 세션이 종료됨을 나타내는 정보(1406)를 화면 상에 출력할 수 있다.
일 실시예에 따른 음성 인식 시스템은, 도 4 및 5를 참조하여 상술한 바와 같이 단독으로 음성을 인식하고 출력할 수 있는 음성 인식 장치 또는 음성 인식 서버를 포함할 수 있으나 이에 한정되지 않는다. 일 실시예에 따른 음성 인식 시스템은, 음성 인식 장치와 음성 인식 서버를 포함할 수 있다. 음성 인식 장치는, 음성 인식 서버와 연결되고, 입력된 음성과 관련된 정보를 음성 인식 서버에게 전달하고, 음성 인식 결과를 음성 인식 서버로부터 수신하고 출력할 수 있다.
도 15는 일 실시예에 따른 음성 인식 장치와 음성 인식 서버를 포함하는 음성 인식 시스템이 동작하는 방법의 흐름도이다.
음성 인식 장치(300-1)와 음성 인식 서버(300-2) 각각은 도 2c의 음성 인식 장치(231)와 음성 인식 서버(232)와 대응될 수 있다. 도 2c에 도시된 바와 같이, 음성 인식 장치(300-1)와 음성 인식 서버(300-2)는 무선 또는 유선으로 연결되고 서로 데이터를 송수신 할 수 있다.
S1510에서 음성 인식 장치(300-1)는 사용자의 입력에 기초하여 세션을 활성화 할 수 있다. S1520에서 음성 인식 장치(300-1)는 세션이 유지되는 동안 입력 오디오 신호를 수신하고, S1530에서 음성 인식 장치(300-1)은 입력 오디오 신호를 음성 인식 서버(300-2)에게 송신할 수 있다.
S1541에서 음성 인식 서버(300-2)는, 음성 인식 장치(300-1)로부터 입력 오디오 신호를 수신하고, 입력 오디오 신호로부터 음성 신호를 검출할 수 있다. S1543에서 음성 인식 서버(300-2)는, 검출된 음성 신호에 대한 음성 인식을 수행하고, S1545에서 음성 인식 서버(300-2)는 음성 신호로부터 생성된 화자 정보에 기초하여 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다. S1547에서 음성 인식 서버(300-2)는, 판단 결과에 기초하여 음성 인식 장치(300-1)의 세션의 유지 여부를 결정할 수 있다.
S1547에서 음성 인식 서버(300-2)는, 음성 신호의 화자가 등록된 화자라고 판단되는 경우, 음성 인식 장치(300-1)의 세션을 유지시킬 수 있다. 음성 인식 서버(300-2)는, 음성 신호의 화자가 등록된 화자라고 판단되는 경우, 음성 인식 장치(300-1)의 세션을 미리 결정된 연장 시간 동안 유지시킬 수 있다. 음성 인식 서버(300-2)는, 음성 신호의 화자가 등록된 화자가 아니라고 판단되는 경우, 남아 있는 세션 유지 시간이 경과하면 음성 인식 장치(300-1)의 세션을 종료시킬 수 있다.
S1550에서 음성 인식 서버(300-2)는, 음성 신호의 화자가 등록된 화자라고 판단되는 경우, 세션을 유지시키기 위한 세션 관리 신호 및 음성 인식이 수행된 결과를 음성 인식 장치(300-1)에게 송신할 수 있다.
S1560에서 음성 인식 장치(300-1)는, 수신된 세션 관리 신호에 기초하여, 세션을 유지할 수 있다. S1570에서 음성 인식 장치(300-1)는, 세션이 미리 결정된 연장 시간 동안 유지되고, 연장 시간 이후에는 종료되도록 설정할 수 있다. 음성 인식 장치(300-1)는, 음성 인식이 수행된 결과를 출력할 수 있다.
한편, 일 실시예는 도 15에 도시된 바에 제한되지 않는다. 도 15에서 음성 인식 서버(300-2)가 수행하는 동작의 일부는 음성 인식 장치(300-1)에서 수행될 수 있다.
예를 들어, 단계 S1541 및 단계 S1543 중 적어도 하나는 음성 인식 장치(300-1)에서 수행될 수 있다. 음성 인식 장치(300-1)는 입력 오디오 신호로부터 음성 신호를 검출하고, 검출된 음성 신호를 음성 인식 서버(300-2)에게 전송할 수 있다. 또는, 음성 인식 장치(300-1)는 입력 오디오 신호로부터 검출된 음성 신호의 특징과 관련된 정보를 음성 인식 서버(300-2)에게 전송할 수 있다.
다른 예로서, 단계 S1545 및 단계 S1547 중 적어도 하나는 음성 인식 장치(300-1)에서 수행될 수 있다. 음성 인식 장치(300-1)는 음성 인식 서버(300-2)로부터 음성 인식 결과를 수신하고, 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다. 음성 인식 장치(300-1)는, 판단 결과에 기초하여 세션의 유지 여부를 결정할 수 있다.
도 16은 일 실시예에 따른 음성 인식 시스템이 동작하는 방법의 흐름도이다.
도 16에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은, 복수의 음성 인식 장치들(300-1, 300-3)과 적어도 하나의 음성 인식 서버(300-2)를 포함할 수 있다. 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-3)는 음성 인식 서버(300-2)를 통해 원격으로 조종 되거나, 데이터를 공유할 수 있다.
S1610에서 제1 음성 인식 장치(300-1)는 사용자의 입력에 기초하여 세션을 활성화 할 수 있다. S1620에서 제1 음성 인식 장치(300-1)는 세션이 유지되는 동안 입력 오디오 신호를 수신하고, S1630에서 입력 오디오 신호를 음성 인식 서버(300-2)에게 송신할 수 있다.
S1641에서 음성 인식 서버(300-2)는, 제1 음성 인식 장치(300-1)로부터 입력 오디오 신호를 수신하고, 입력 오디오 신호로부터 음성 신호를 검출할 수 있다. S1643에서 음성 인식 서버(300-2)는, 검출된 음성 신호에 대한 음성 인식을 수행할 수 있다. S1645에서 음성 인식 서버(300-2)는, 음성 신호로부터 생성된 화자 정보에 기초하여 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다.
음성 인식 서버(300-2)는, S1645에서 판단한 결과에 기초하여 제1 음성 인식 장치(300-1)의 세션의 유지 여부를 관리할 수 있다. S1647에서 음성 인식 서버(300-2)는, 음성 신호의 화자가 등록된 화자라고 판단되는 경우, 복수의 음성 인식 장치들의 세션들이 미리 결정된 연장 시간 동안 유지되도록 복수의 음성 인식 장치들을 제어할 수 있다. 음성 인식 서버(300-2)는, 음성 신호의 화자가 등록된 화자가 아니라고 판단되는 경우, 남아 있는 세션 유지 시간이 경과하면 제1 음성 인식 장치(300-1)의 세션을 종료시킬 수 있다.
S1650에서 음성 인식 서버(300-2)는, 음성 신호의 화자가 등록된 화자라고 판단되는 경우, 세션을 유지시키기 위한 세션 관리 신호 및 음성 인식이 수행된 결과를 제1 음성 인식 장치(300-1)에게 송신할 수 있다. S1660에서 음성 인식 서버(300-2)는, 음성 신호의 화자가 등록된 화자라고 판단되는 경우, 세션을 활성화하고 유지시키기 위한 세션 관리 신호를 제2 음성 인식 장치(300-3)에게 송신할 수 있다.
S1671에서 제1 음성 인식 장치(300-1)는, 수신된 세션 관리 신호에 기초하여, 세션을 유지할 수 있다. 제1 음성 인식 장치(300-1)는, 세션이 미리 결정된 연장 시간 동안 유지되고, 연장 시간 이후에는 종료되도록 설정할 수 있다. S1680에서 제1 음성 인식 장치(300-1)는, 음성 인식이 수행된 결과를 출력할 수 있다.
S1673에서 제2 음성 인식 장치(300-3)는, 수신된 세션 관리 신호에 기초하여, 세션을 활성화하고 소정 시간 동안 세션을 유지할 수 있다.
한편, 일 실시예는 도 16에 도시된 바에 제한되지 않는다. 도 16에서 음성 인식 서버(300-2)가 수행하는 동작의 일부는 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-3) 중 적어도 하나의 장치에서 수행될 수 있다.
예를 들어, 단계 S1641 및 단계 S1643 중 적어도 하나는 제1 음성 인식 장치(300-1)에서 수행될 수 있다. 제1 음성 인식 장치(300-1)는 입력 오디오 신호로부터 음성 신호를 검출하고, 검출된 음성 신호를 음성 인식 서버(300-2)에게 전송할 수 있다. 또는, 제1 음성 인식 장치(300-1)는 입력 오디오 신호로부터 검출된 음성 신호의 특징과 관련된 정보를 음성 인식 서버(300-2)에게 전송할 수 있다.
다른 예로서, 단계 S1645 및 단계 S1647 중 적어도 하나는 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-2) 중 적어도 하나에서 수행될 수 있다. 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-2) 중 적어도 하나는 음성 인식 서버(300-2)로부터 음성 인식 결과를 수신하고, 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다. 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-2) 중 적어도 하나는, 판단 결과에 기초하여 세션의 유지 여부를 결정할 수 있다. 제1 음성 인식 장치(300-1), 음성 인식 서버(300-2) 및 제2 음성 인식 장치(300-2) 중 적어도 하나는, 제1 음성 인식 장치(300-1), 음성 인식 서버(300-2) 및 제2 음성 인식 장치(300-2) 중 적어도 하나에게 세션 관리 신호 및 음성 인식 수행 결과를 송신할 수 있다.
도 16에 도시된 흐름도에 따라 음성 인식 시스템이 동작하는 구체적인 방법과 관련하여서는, 이하 도 17a 및 17b를 참조하여 구체적으로 설명한다.
도 17a 및 도 17b에서는 예로서 제1 음성 인식 장치(300-1)가 스마트 폰인 경우를 예로 들어 도시하고, 제2 음성 인식 장치(300-3)가 스마트 티비인 경우를 예로 들어 도시한다. 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-3)는 음성 인식 서버와 유선 또는 무선으로 연결될 수 있다. 도 17a 및 도 17b에 도시된 음성 인식 시스템은 홈 네트워크 시스템의 일부일 수 있다.
도 17a에 도시된 바와 같이 안방에 있는 화자 A가"하이 갤럭시 현재 야구 경기 하니?"라고 발화하면, 제1 음성 인식 장치(300-1)는 "하이 갤럭시"라는 미리 저장된 호출 키워드에 기초하여 세션을 활성화 시키고, 수신된 입력 오디오 신호를 음성 인식 서버(300-2) 에게 송신할 수 있다. 음성 인식 서버(300-2)는 검출된 제1 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 서버(300-2)는, 제1 음성 신호로부터 생성된 화자 정보에 기초하여, 제1 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다.
음성 인식 서버(300-2)는, 판단 결과에 기초하여 음성 인식 결과를 제1 음성 인식 장치(300-1)에게 출력할 수 있다. 제1 음성 인식 장치(300-1)는, 검출된 제1 음성 신호로부터 음성 인식을 수행한 결과인 "현재 야구 경기 하니"라는 텍스트(1701)를 화면 상에 출력하고, "현재 야구 경기 하니?"라는 질문에 대응하여 현재 진행 중인 야구 경기에 대한 정보(1702)를 화면 상에 출력할 수 있다.
음성 인식 서버(300-2)는 판단 결과에 기초하여, 제1 음성 인식 장치(300-1)의 세션이 미리 결정된 연장 시간 동안 유지되도록 제어할 수 있다. 또한, 음성 인식 서버(300-2)는, 제1 음성 인식 장치(300-1) 뿐만 아니라, 음성 인식 서버(300-2)와 연결된 제2 음성 인식 장치(300-3)의 세션을 활성화 시키고, 미리 결정된 연장 시간 동안 유지되도록 제어할 수 있다. 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-3) 각각은 세션이 유지되도록 재설정된 시간을 나타내는 정보(1703, 1706)를 화면 상에 출력할 수 있다.
제2 음성 인식 장치(300-3)의 세션이 활성화되고 유지되고 있는 동안, 화자 A는 안방으로부터 거실로 이동하고, 거실에 위치한 제2 음성 인식 장치(300-3)에 대해 "야구 채널 틀어줘"라고 발화할 수 있다. 따라서, 화자 A는 제1 음성 인식 장치(300-1)에 대한 음성 인식 명령을 발화한 후, 제2 음성 인식 장치(300-2)에 대해 음성 인식 명령을 발화하기 위해서, 제2 음성 인식 장치(300-2)의 세션을 활성화하는 동작을 수행하지 않아도 된다.
제2 음성 인식 장치(300-3)는 "야구 채널 틀어줘"라는 발화를 포함하는 입력 오디오 신호를 음성 인식 서버(300-2) 에게 송신할 수 있다. 음성 인식 서버(300-2)는 검출된 제2 음성 신호에 대해서 음성 인식을 수행할 수 있다. 음성 인식 서버(300-2)는, 제2 음성 신호로부터 생성된 화자 정보에 기초하여, 제1 음성 신호의 화자 A가 등록된 화자A와 동일하다고 판단할 수 있다.
음성 인식 서버(300-2)는, 판단 결과에 기초하여 음성 인식 결과를 제2 음성 인식 장치(300-3)에게 출력할 수 있다. 제2 음성 인식 장치(300-3)는, 검출된 제2 음성 신호로부터 음성 인식을 수행한 결과인 "야구 채널 틀어줘"라는 텍스트(1704)를 화면 상에 출력할 수 있다. 제2 음성 인식 장치(300-3)는, 야구 채널을 틀어달라는 요청에 대응하여, 야구 경기를 중계하고 있는 방송(1705)에 채널을 맞출 수 있다.
도 17a 및 도 17b 는 등록된 화자인 화자 A가 발화하는 경우만을 예로 들어 도시하지만, 일 실시예는 이에 한정되지 않으며, 음성 인식 시스템은, 복수의 화자들을 미리 등록하고, 복수의 등록된 화자들에 대한 정보를 저장할 수 있다.
복수의 등록된 화자들 중 적어도 하나가 복수의 음성 인식 장치들 중 적어도 하나에 대해서 계속하여 발화하는 경우, 별도로 세션을 활성화하는 동작 없이 복수의 음성 인식 장치들의 세션이 유지될 수 있다. 복수의 음성 인식 장치들은, 함께 세션을 관리하고, 동일한 음성 인식 결과를 출력할 수 있다. 또는, 복수의 음성 인식 장치들은, 함께 세션을 관리하되, 화자에 따라서 개별적으로 음성 인식 결과를 출력할 수 있다.
예를 들어, 화자 A와 화자 B가 모두 등록된 화자들이고 도 17b에서 A 대신에 B가 "야구 채널 틀어줘"라고 발화한 경우, 음성 인식 장치(300)는, A의 발화에 대한 음성 인식 결과 및 B의 발화에 대한 음성 인식 결과를 순차적으로 또는 병렬적으로 출력할 수 있다.
일 예로서, 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-2)는, A의 발화에 대한 음성 인식 결과 및 B의 발화에 대한 음성 인식 결과를 순차적으로 출력할 수 있다.
제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-2)의 세션이 활성화되고 유지되고 있는 동안, 제1 음성 인식 장치(300-1)는 "현재 야구 경기 하니"라는 A의 발화를 수신할 수 있다. 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-2)는, 화자 A의 음성 신호로부터 음성 인식을 수행한 결과인 "현재 야구 경기 하니"라는 텍스트를 화면 상에 출력하고, "현재 야구 경기 하니?"라는 질문에 대응하여 현재 진행 중인 야구 경기에 대한 정보를 화면 상에 출력할 수 있다.
제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-2)의 세션이 활성화되고 유지되고 있는 동안, 제2 음성 인식 장치(300-2)는 "야구 채널 틀어줘"라는 B의 발화를 수신할 수 있다. 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-2)는, 화자 B의 음성 신호로부터 음성 인식을 수행한 결과인 "야구 채널 틀어줘"라는 텍스트를 화면 상에 출력할 수 있다. 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-3)는, 야구 채널을 틀어달라는 요청에 대응하여, 야구 경기를 중계하고 있는 방송에 채널을 맞출 수 있다.
다른 예로서, 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-2)는, A의 발화에 대한 음성 인식 결과 및 B의 발화에 대한 음성 인식 결과를 병렬적으로 출력할 수 있다.
제1 음성 인식 장치(300-1)는 "현재 야구 경기 하니"라는 A의 발화를 수신하고, 화자 A의 음성 신호로부터 음성 인식을 수행한 결과를 출력할 수 있다. 그리고, 제2 음성 인식 장치(300-2)는 "야구 채널 틀어줘"라는 B의 발화를 수신하고, 화자 B의 음성 신호로부터 음성 인식을 수행한 결과를 출력할 수 있다. 즉, 제1 음성 인식 장치(300-1) 및 제2 음성 인식 장치(300-3)는, 함께 세션을 관리하되, 개별적으로 음성 인식 결과를 출력할 수 있다.
도 16, 17a 및 17b에 도시된 바와 같이, 일 실시예에 따른 음성 인식 시스템은 화자 인식에 기초하여 댁내의 복수의 음성 인식 장치들에 대한 세션의 유지 여부를 결정함으로써, 사용자가 별도로 세션을 활성화하는 동작 없이 음성 인식 명령을 입력할 수 있어 편리하다. 일 실시예에 따른 음성 인식 시스템은, 홈 네트워크 시스템에 포함되는 IoT(internet of things) 기기들에 대해 사용자가 음성 인식 명령을 입력함에 있어서, 서로 다른 공간에 위치한 둘 이상의 IoT 기기들에 대해서도 매끄럽게(seamless) 음성 인식 명령을 입력할 수 있다.
상술한 바와 같이, 일 실시예에 따른 음성 인식 시스템은, 화자 검증을 통해 등록된 화자의 발화에 대한 음성 인식 결과만 출력해 줌으로써 스마트 폰과 같은 개인화 기기에서 음성 인식의 개인화가 가능해진다. 또한, 일 실시예에 따른 음성 인식 시스템은 사용자가 불필요하게 세션을 활성화하는 작업을 수행하는 빈도를 줄임으로써, 음성 인식 시스템을 사용하는데 있어서 사용자의 편의를 증대시킬 수 있다. 또한, 일 실시예에 따른 음성 인식 시스템에 따르면, 개인 정보 보호를 중요시 하는 사용자에게 개인화 음성 인식을 가능하게 할 수 있다.
한편, 상술한 실시예의 일부 또는 전부는, 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터에 의해 판독 가능한 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 실시예에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 또한, 상술한 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로 구현될 수 있다. 예를 들어, 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 컴퓨터가 읽고 실행할 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 기록 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 포함할 수 있다. 컴퓨터 판독 가능 매체는 마그네틱 저장매체, 예를 들면, 롬, 플로피 디스크, 하드 디스크 등을 포함하고,) 광학적 판독 매체, 예를 들면, 시디롬, DVD 등과 같은 저장 매체를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다.
또한, 컴퓨터가 읽을 수 있는 복수의 기록 매체가 네트워크로 연결된 컴퓨터 시스템들에 분산되어 있을 수 있으며, 분산된 기록 매체들에 저장된 데이터, 예를 들면 프로그램 명령어 및 코드가 적어도 하나의 컴퓨터에 의해 실행될 수 있다.
또한, 본 명세서에서, "부", "모듈"등은 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
예를 들어, “부”, "모듈" 은 소프트웨어 구성 요소들, 객체 지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들에 의해 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (21)

  1. 제1 오디오 신호를 입력 받기 위한 세션을 활성화 하는 단계;
    상기 세션이 유지되는 동안 상기 제1 오디오 신호로부터 검출된 제1 음성 신호에 대한 제1 음성 인식을 수행하는 단계;
    상기 제1 음성 신호로부터 생성된 화자 정보에 기초하여, 상기 제1 음성 신호의 화자가 등록된 화자인지 여부를 결정하는 단계;
    상기 제1 음성 신호의 화자가 등록된 화자인지 여부에 기초하여, 상기 세션의 유지 여부를 결정하는 단계;
    상기 제1 음성 인식이 수행된 결과를 출력하는 단계;
    상기 세션이 유지되는 동안 제2 오디오 신호를 입력 받는 단계;
    상기 세션이 유지되는 동안 상기 제2 오디오 신호로부터 검출된 제2 음성 신호에 대한 제2 음성 인식을 수행하는 단계;
    상기 제1 음성 신호로부터 추출된 제1 텍스트의 의미와 상기 제2 음성 신호로부터 추출된 제2 텍스트의 의미 간 연관도를 획득하는 단계; 및
    상기 연관도에 기초하여, 상기 제2 음성 인식이 수행된 결과를 출력하는 단계를 포함하는, 음성 인식 방법.
  2. 제1항에 있어서,
    상기 세션의 유지 여부를 결정하는 단계는,
    상기 제1 음성 신호의 화자가 상기 등록된 화자인 경우, 상기 세션을 유지하는 단계; 및
    상기 제1 음성 신호의 화자가 상기 등록된 화자가 아닐 경우, 상기 세션을 종료하는 단계를 포함하는 것을 특징으로 하는, 음성 인식 방법.
  3. 제1항에 있어서,
    상기 세션을 활성화 하는 단계는,
    상기 세션이, 미리 결정된 세션 유지 시간 동안 유지되고, 상기 세션 유지 시간 이후에는 종료되도록 설정하는 단계를 포함하고,
    상기 세션의 유지 여부를 결정하는 단계는,
    상기 제1 음성 신호의 화자가 상기 등록된 화자인 경우, 상기 세션이 미리 결정된 연장 시간 동안 유지되고, 상기 연장 시간 이후에는 종료되도록 재설정하는 단계를 포함하는 것을 특징으로 하는, 음성 인식 방법.
  4. 제1항에 있어서,
    상기 제1 음성 인식이 수행된 결과를 출력하는 단계는,
    상기 제1 음성 신호의 화자가 상기 등록된 화자인 경우, 상기 제1 음성 인식이 수행된 결과를 출력하는 단계를 포함하는 것을 특징으로 하는, 음성 인식 방법.
  5. 제1항에 있어서,
    상기 제1 음성 인식을 수행하는 단계는,
    음성 인식에 강인한 음성 인식용 특징 벡터 및 화자 인식에 강인한 화자 인식용 특징 벡터를 상기 제1 음성 신호로부터 추출하는 단계;
    상기 음성 인식용 특징 벡터에 대해 음성 인식을 수행함으로써 상기 제1 음성 인식이 수행된 결과를 생성하는 단계; 및
    상기 화자 인식용 특징 벡터를 이용하여 상기 화자 정보를 생성하는 단계를 포함하는 것을 특징으로 하는, 음성 인식 방법.
  6. 제5항에 있어서,
    상기 제1 음성 인식이 수행된 결과를 생성하는 단계는,
    음향 모델 및 언어 모델에 기초하여, 상기 음성 인식용 특징 벡터에 대해 음성 인식을 수행하는 단계를 포함하고,
    상기 화자 정보를 생성하는 단계는,
    상기 음향 모델 및 상기 음성 인식용 특징 벡터에 기초하여 사후 정보를 추출하는 단계; 및
    상기 사후 정보 및 상기 화자 인식용 특징 벡터를 이용하여 상기 화자 정보를 생성하는 단계를 포함하는 것을 특징으로 하는, 음성 인식 방법.
  7. 제1항에 있어서,
    상기 제1 음성 인식을 수행하는 단계는,
    실시간으로 입력되는 상기 제1 오디오 신호를 소정 길이의 프레임 단위로 분할하는 단계;
    분할된 상기 제1 오디오 신호를 처리함으로써, 상기 제1 음성 신호를 상기 프레임 단위로 검출하는 단계;
    상기 제1 음성 신호의 제1 프레임에 대한 음성 인식을 수행하는 단계;
    상기 제1 프레임에 대해 음성 인식이 수행되는 과정에서 추출되는 상기 제1 프레임에 대한 사후 정보를 이용하여, 상기 제1 프레임에 대한 화자 정보를 생성하는 단계; 및
    실시간으로 입력되는 상기 제1 오디오 신호로부터 순차적으로 검출되는 상기 제1 음성 신호의 프레임들 각각에 대해서 상기 음성 인식을 수행하는 단계 및 상기 화자 정보를 생성하는 단계를 반복하는 단계를 포함하는 것을 특징으로 하는, 음성 인식 방법.
  8. 제1항에 있어서,
    상기 제1 음성 신호의 화자가 등록된 화자인지 여부를 판단하는 단계는,
    상기 화자 정보와 상기 등록된 화자에 대하여 미리 저장된 등록된 화자 정보 간의 유사도를 계산하는 단계; 및
    상기 유사도와 소정 임계값을 비교한 결과에 기초하여, 상기 음성 신호의 화자가 상기 등록된 화자인지 여부를 판단하는 단계; 및
    상기 음성 신호의 화자가 상기 등록된 화자일 경우, 상기 화자 정보를 이용한 적응 훈련에 의해 상기 등록된 화자 정보를 갱신하는 단계를 포함하는 것을 특징으로 하는, 음성 인식 방법.
  9. 삭제
  10. 제1항에 있어서,
    상기 제2 음성 인식이 수행된 결과를 출력하는 단계는,
    상기 세션 중에 검출된 상기 제1 음성 신호에 대해 상기 제1 음성 인식이 수행된 결과 획득된 상기 제1 텍스트 및 상기 제2 음성 신호에 대해 상기 제2 음성 인식이 수행된 결과 획득된 상기 제2 텍스트에 대해 자연어 처리를 수행함으로써, 상기 제2 음성 신호가 음성 인식을 위해 상기 화자에 의해 발화되었는지 여부를 판단하는 단계; 및
    상기 제2 음성 신호가 음성 인식을 위해 상기 화자에 의해 발화되었다고 판단되는 경우, 상기 제2 음성 인식이 수행된 결과를 출력하는 단계를 포함하는, 음성 인식 방법.
  11. 오디오 신호를 입력 받기 위한 세션이 유지되는 동안, 제1 입력 오디오 신호를 수신하는 수신부;
    상기 제1 오디오 신호로부터 제1 음성 신호를 검출하고, 상기 제1 음성 신호에 대한 제1 음성 인식을 수행하고, 상기 제1 음성 신호로부터 생성된 화자 정보에 기초하여 상기 제1 음성 신호의 화자가 등록된 화자인지 여부를 결정하고, 상기 제1 음성 신호의 화자가 등록된 화자인지 여부에 기초하여 상기 세션의 유지 여부를 결정하는, 프로세서; 및
    상기 제1 음성 인식이 수행된 결과를 출력하는 출력부를 포함하고,
    상기 프로세서는,
    상기 세션이 유지되는 동안 제2 오디오 신호를 입력 받고, 상기 세션이 유지되는 동안 상기 제2 오디오 신호로부터 검출된 제2 음성 신호에 대한 제2 음성 인식을 수행하고, 상기 제1 음성 신호로부터 추출된 제1 텍스트의 의미와 상기 제2 음성 신호로부터 추출된 제2 텍스트의 의미 간 연관도를 획득하는 것을 특징으로 하며,
    상기 출력부는,
    상기 연관도에 기초하여 상기 제2 음성 인식이 수행된 결과를 출력하는, 음성 인식 장치.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 제1 음성 신호의 화자가 상기 등록된 화자인 경우, 상기 세션을 유지하고, 상기 제1 음성 신호의 화자가 상기 등록된 화자가 아닐 경우, 상기 세션을 종료하는 것을 특징으로 하는, 음성 인식 장치.
  13. 제11항에 있어서,
    상기 프로세서는, 상기 수신부가 상기 입력 오디오 신호를 수신하기에 앞서,
    상기 세션이, 미리 결정된 세션 유지 시간 동안 유지되고, 상기 세션 유지 시간 이후에는 종료되도록 설정하고,
    상기 프로세서는, 상기 세션의 유지 여부를 결정함에 있어서,
    상기 제1 음성 신호의 화자가 상기 등록된 화자인 경우, 상기 세션이 미리 결정된 연장 시간 동안 유지되고, 상기 연장 시간 이후에는 종료되도록 재설정하는 것을 특징으로 하는, 음성 인식 장치.
  14. 제11항에 있어서,
    상기 프로세서는,
    상기 제1 음성 신호의 화자가 상기 등록된 화자인 경우, 상기 음성 인식이 수행된 결과를 출력하도록 상기 출력부를 제어하는 것을 특징으로 하는, 음성 인식 장치.
  15. 제11항에 있어서,
    상기 프로세서는,
    음성 인식에 강인한 음성 인식용 특징 벡터 및 화자 인식에 강인한 화자 인식용 특징 벡터를 상기 제1 음성 신호로부터 추출하고, 음향 모델 및 언어 모델에 기초하여 상기 음성 인식용 특징 벡터에 대해 음성 인식을 수행하여 상기 제1 음성 인식이 수행된 결과를 생성하고, 상기 음향 모델 및 상기 음성 인식용 특징 벡터에 기초하여 사후 정보를 추출하고, 상기 사후 정보 및 상기 화자 인식용 특징 벡터를 이용하여 상기 화자 정보를 생성하는 것을 특징으로 하는, 음성 인식 장치.
  16. 제11항에 있어서,
    상기 프로세서는,
    실시간으로 입력되는 상기 제1 오디오 신호를 소정 길이의 프레임 단위로 분할하고, 분할된 상기 제1 오디오 신호를 처리함으로써, 상기 제1 음성 신호를 상기 프레임 단위로 검출하고,
    상기 제1 음성 신호의 제1 프레임에 대한 음성 인식을 수행하는 동작, 상기 제1 프레임에 대해 음성 인식이 수행되는 과정에서 추출되는 상기 제1 프레임에 대한 사후 정보를 이용하여 상기 제1 프레임에 대한 화자 정보를 생성하는 동작, 및 실시간으로 입력되는 상기 제1 오디오 신호로부터 순차적으로 검출되는 상기 제1 음성 신호의 프레임들 각각에 대해서 상기 음성 인식을 수행하고 상기 화자 정보를 생성하는 동작을 반복하는 것을 특징으로 하는, 음성 인식 장치.
  17. 제11항에 있어서,
    상기 프로세서는, 상기 음성 신호의 화자가 등록된 화자인지 여부를 판단함에 있어서,
    상기 화자 정보와 상기 등록된 화자에 대하여 미리 저장된 등록된 화자 정보 간의 유사도를 계산하고, 상기 유사도와 소정 임계값을 비교한 결과에 기초하여 상기 음성 신호의 화자가 상기 등록된 화자인지 여부를 판단하는 것을 특징으로 하며,
    상기 프로세서는,
    상기 음성 신호의 화자가 상기 등록된 화자일 경우, 상기 화자 정보를 이용한 적응 훈련에 의해 상기 등록된 화자 정보를 갱신하는 것을 특징으로 하는, 음성 인식 장치.
  18. 제11항에 있어서,
    상기 프로세서는,
    상기 세션 중에서 검출된 상기 제1 음성 신호에 대해 상기 제1 음성 인식이 수행된 결과 획득된 상기 제1 텍스트 및 상기 제2 음성 신호에 대해 상기 제2 음성 인식이 수행된 결과 획득된 상기 제2 텍스트에 대해 자연어 처리를 수행함으로써, 상기 제2 음성 신호가 음성 인식을 위해 상기 화자에 의해 발화되었는지 여부를 판단하고,
    상기 제2 음성 신호가 음성 인식을 위해 상기 화자에 의해 발화되었다고 판단되는 경우, 상기 제2 음성 인식이 수행된 결과를 출력하는 것을 특징으로 하는, 음성 인식 장치.
  19. 제1 오디오 신호를 음성 인식 장치로부터 수신하는 수신부로서, 상기 제1 오디오 신호는, 오디오 신호를 입력 받기 위한 세션이 유지되는 동안 상기 음성 인식 장치가 수신한 것을 특징으로 하는, 수신부;
    상기 제1 오디오 신호로부터 제1 음성 신호를 검출하고, 상기 제1 음성 신호에 대한 제1 음성 인식을 수행하고, 상기 제1 음성 신호로부터 생성된 화자 정보에 기초하여 상기 제1 음성 신호의 화자가 등록된 화자인지 여부를 결정하고, 상기 제1 음성 신호의 화자가 등록된 화자인지 여부에 기초하여 상기 음성 인식 장치의 상기 세션의 유지 여부를 결정하는, 프로세서; 및
    상기 세션의 유지 여부를 결정하기 위한 세션 관리 신호 및 상기 제1 음성 인식이 수행된 결과를 상기 음성 인식 장치에게 송신하는 출력부를 포함하고,
    상기 수신부는,
    상기 세션이 유지되는 동안 상기 음성 인식 장치가 수신한 제2 오디오 신호를 상기 음성 인식 장치로부터 수신하고,
    상기 프로세서는, 상기 세션이 유지되는 동안 상기 제2 오디오 신호로부터 검출된 제2 음성 신호에 대한 제2 음성 인식을 수행하고, 상기 제1 음성 신호로부터 추출된 제1 텍스트의 의미와 상기 제2 음성 신호로부터 추출된 제2 텍스트의 의미 간 연관도를 획득하는 것을 특징으로 하며,
    상기 출력부는,
    상기 연관도에 기초하여 상기 제2 음성 인식이 수행된 결과를 상기 음성 인식 장치에게 송신하는, 음성 인식 서버.
  20. 디바이스가 음성 인식 방법을 실행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 상기 음성 인식 방법은,
    제1 오디오 신호를 입력 받기 위한 세션을 활성화 하는 단계;
    상기 세션이 유지되는 동안 상기 제1 오디오 신호로부터 검출된 제1 음성 신호에 대한 제1 음성 인식을 수행하는 단계;
    상기 제1 음성 신호로부터 생성된 화자 정보에 기초하여, 상기 제1 음성 신호의 화자가 등록된 화자인지 여부를 결정하는 단계;
    상기 제1 음성 신호의 화자가 등록된 화자인지 여부에 기초하여, 상기 세션의 유지 여부를 결정하는 단계;
    상기 제1 음성 인식이 수행된 결과를 출력하는 단계;
    상기 세션이 유지되는 동안 제2 오디오 신호를 입력 받는 단계;
    상기 세션이 유지되는 동안 상기 제2 오디오 신호로부터 검출된 제2 음성 신호에 대한 제2 음성 인식을 수행하는 단계;
    상기 제1 음성 신호로부터 추출된 제1 텍스트의 의미와 상기 제2 음성 신호로부터 추출된 제2 텍스트의 의미 간 연관도를 획득하는 단계; 및
    상기 연관도에 기초하여, 상기 제2 음성 인식이 수행된 결과를 출력하는 단계를 포함하는 것을 특징으로 하는, 기록 매체.
  21. 복수의 음성 인식 장치들, 및 상기 복수의 음성 인식 장치들을 제어하는 음성 인식 서버를 포함하는 음성 인식 시스템에 있어서,
    상기 복수의 음성 인식 장치들 중에서 제1 음성 인식 장치는,
    오디오 신호를 입력 받기 위한 세션이 유지되는 동안, 제1 오디오 신호를 수신하고, 상기 제1 오디오 신호를 상기 서버에게 송신하고,
    상기 음성 인식 서버는,
    상기 제1 오디오 신호로부터 제1 음성 신호를 검출하고, 상기 제1 음성 신호에 대한 제1 음성 인식을 수행하고, 상기 제1 음성 신호로부터 생성된 화자 정보에 기초하여 상기 제1 음성 신호의 화자가 등록된 화자인지 여부를 결정하고, 상기 제1 음성 신호의 화자가 상기 등록된 화자인 경우, 상기 복수의 음성 인식 장치들의 세션들이 소정 시간 동안 유지되도록 상기 복수의 음성 인식 장치들을 제어하고, 상기 제1 음성 인식이 수행된 결과를 상기 제1 음성 인식 장치에게 송신하고, 상기 복수의 음성 인식 장치들의 상기 세션들이 유지되는 동안, 상기 복수의 음성 인식 장치들 중 어느 하나로부터 제2 오디오 신호를 수신하고, 상기 제2 오디오 신호로부터 검출된 제2 음성 신호에 대한 제2 음성 인식을 수행하고, 상기 제1 음성 신호로부터 추출된 제1 텍스트의 의미와 상기 제2 음성 신호로부터 추출된 제2 텍스트의 의미 간 연관도를 획득하고, 상기 연관도에 기초하여, 상기 제2 음성 인식이 수행된 결과를 상기 제1 음성 인식 장치 및 상기 제2 오디오 신호를 송신한 음성 장치 중 적어도 하나에게 송신하는 것을 특징으로 하는, 음성 인식 시스템.
KR1020160111690A 2016-08-31 2016-08-31 화자 인식에 기초한 음성 인식 방법 및 장치 KR102596430B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020160111690A KR102596430B1 (ko) 2016-08-31 2016-08-31 화자 인식에 기초한 음성 인식 방법 및 장치
CN201780052734.6A CN109643549B (zh) 2016-08-31 2017-08-24 基于说话者识别的语音识别方法和装置
PCT/KR2017/009251 WO2018043991A1 (en) 2016-08-31 2017-08-24 Speech recognition method and apparatus based on speaker recognition
EP17846916.9A EP3479376A4 (en) 2016-08-31 2017-08-24 METHOD AND APPARATUS FOR VOICE RECOGNITION BASED ON RECOGNITION OF SPEAKER
US15/688,136 US10762899B2 (en) 2016-08-31 2017-08-28 Speech recognition method and apparatus based on speaker recognition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160111690A KR102596430B1 (ko) 2016-08-31 2016-08-31 화자 인식에 기초한 음성 인식 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180024807A KR20180024807A (ko) 2018-03-08
KR102596430B1 true KR102596430B1 (ko) 2023-10-31

Family

ID=61240692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160111690A KR102596430B1 (ko) 2016-08-31 2016-08-31 화자 인식에 기초한 음성 인식 방법 및 장치

Country Status (5)

Country Link
US (1) US10762899B2 (ko)
EP (1) EP3479376A4 (ko)
KR (1) KR102596430B1 (ko)
CN (1) CN109643549B (ko)
WO (1) WO2018043991A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10186263B2 (en) * 2016-08-30 2019-01-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Spoken utterance stop event other than pause or cessation in spoken utterances stream
KR102472010B1 (ko) * 2018-05-04 2022-11-30 삼성전자주식회사 전자 장치 및 전자 장치의 기능 실행 방법
KR102595184B1 (ko) * 2018-05-25 2023-10-30 삼성전자주식회사 전자 장치, 전자 장치의 제어 방법 및 컴퓨터 판독 가능 매체
KR101913191B1 (ko) * 2018-07-05 2018-10-30 미디어젠(주) 도메인 추출기반의 언어 이해 성능 향상장치및 성능 향상방법
CN109166575A (zh) * 2018-07-27 2019-01-08 百度在线网络技术(北京)有限公司 智能设备的交互方法、装置、智能设备和存储介质
US10923128B2 (en) 2018-08-29 2021-02-16 Cirrus Logic, Inc. Speech recognition
KR102622350B1 (ko) * 2018-10-12 2024-01-09 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2020085794A1 (en) * 2018-10-23 2020-04-30 Samsung Electronics Co., Ltd. Electronic device and method for controlling the same
KR20200052804A (ko) * 2018-10-23 2020-05-15 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
KR102275873B1 (ko) * 2018-12-18 2021-07-12 한국전자기술연구원 화자인식 장치 및 방법
KR102221236B1 (ko) * 2019-03-29 2021-02-26 주식회사 엘지유플러스 음성을 제공하는 방법 및 장치
CN110290280B (zh) * 2019-05-28 2021-08-13 同盾控股有限公司 一种终端状态的识别方法、装置及存储介质
US11302335B2 (en) * 2019-08-01 2022-04-12 Nuance Communications, Inc. System and method for managing an automated voicemail
WO2021112639A1 (en) 2019-12-05 2021-06-10 Samsung Electronics Co., Ltd. Electronic device performing operation based on user speech in multi device environment and operating method thereof
CN111462759B (zh) * 2020-04-01 2024-02-13 科大讯飞股份有限公司 一种说话人标注方法、装置、设备及存储介质
US11373657B2 (en) * 2020-05-01 2022-06-28 Raytheon Applied Signal Technology, Inc. System and method for speaker identification in audio data
US11315545B2 (en) * 2020-07-09 2022-04-26 Raytheon Applied Signal Technology, Inc. System and method for language identification in audio data
CN112102816A (zh) * 2020-08-17 2020-12-18 北京百度网讯科技有限公司 语音识别方法、装置、系统、电子设备和存储介质
KR102577953B1 (ko) * 2020-12-01 2023-09-15 주식회사 덴컴 Ai 기반 음성인식을 이용한 치아 상태 표시 장치 및 그 방법
CN113921016A (zh) * 2021-10-15 2022-01-11 阿波罗智联(北京)科技有限公司 语音处理方法、装置、电子设备以及存储介质
KR102655367B1 (ko) * 2021-12-31 2024-04-04 서울대학교산학협력단 화자 유사도 판단 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033573A1 (en) 2001-08-09 2005-02-10 Sang-Jin Hong Voice registration method and system, and voice recognition method and system based on voice registration method and system
US20140163978A1 (en) 2012-12-11 2014-06-12 Amazon Technologies, Inc. Speech recognition power management
WO2015005679A1 (ko) * 2013-07-09 2015-01-15 주식회사 윌러스표준기술연구소 음성 인식 방법, 장치 및 시스템
US20150112684A1 (en) * 2013-10-17 2015-04-23 Sri International Content-Aware Speaker Recognition

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53105303A (en) * 1977-02-25 1978-09-13 Hitachi Ltd Preprocessing system for audio recognition
US4837830A (en) * 1987-01-16 1989-06-06 Itt Defense Communications, A Division Of Itt Corporation Multiple parameter speaker recognition system and methods
US6073101A (en) * 1996-02-02 2000-06-06 International Business Machines Corporation Text independent speaker recognition for transparent command ambiguity resolution and continuous access control
US6151575A (en) * 1996-10-28 2000-11-21 Dragon Systems, Inc. Rapid adaptation of speech models
US6144938A (en) * 1998-05-01 2000-11-07 Sun Microsystems, Inc. Voice user interface with personality
US6757362B1 (en) * 2000-03-06 2004-06-29 Avaya Technology Corp. Personal virtual assistant
GB2372864B (en) * 2001-02-28 2005-09-07 Vox Generation Ltd Spoken language interface
US7016843B2 (en) * 2001-03-09 2006-03-21 Bevocal, Inc. System method and computer program product for transferring unregistered callers to a registration process
DE10150108B4 (de) * 2001-10-11 2004-03-11 Siemens Ag Fortwährende Sprecherauthentifizierung
US20060248019A1 (en) * 2005-04-21 2006-11-02 Anthony Rajakumar Method and system to detect fraud using voice data
WO2007057879A1 (en) * 2005-11-17 2007-05-24 Shaul Simhi Personalized voice activity detection
US8234494B1 (en) * 2005-12-21 2012-07-31 At&T Intellectual Property Ii, L.P. Speaker-verification digital signatures
JP4131978B2 (ja) * 2006-02-24 2008-08-13 本田技研工業株式会社 音声認識機器制御装置
CN101562013B (zh) * 2008-04-15 2013-05-22 联芯科技有限公司 一种自动识别语音的方法和装置
DE102008024257A1 (de) * 2008-05-20 2009-11-26 Siemens Aktiengesellschaft Verfahren zur Sprecheridentifikation bei einer Spracherkennung
JP5200712B2 (ja) * 2008-07-10 2013-06-05 富士通株式会社 音声認識装置、音声認識方法及びコンピュータプログラム
KR20100027865A (ko) * 2008-09-03 2010-03-11 엘지전자 주식회사 화자 및 음성 인식 장치 및 그 방법
CN101923853B (zh) * 2009-06-12 2013-01-23 华为技术有限公司 说话人识别方法、设备和系统
CN103345467B (zh) * 2009-10-02 2017-06-09 独立行政法人情报通信研究机构 语音翻译系统
US9262612B2 (en) * 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US8934652B2 (en) * 2011-12-01 2015-01-13 Elwha Llc Visual presentation of speaker-related information
US20130144619A1 (en) * 2011-12-01 2013-06-06 Richard T. Lord Enhanced voice conferencing
US9117449B2 (en) 2012-04-26 2015-08-25 Nuance Communications, Inc. Embedded system for construction of small footprint speech recognition with user-definable constraints
KR20130133629A (ko) 2012-05-29 2013-12-09 삼성전자주식회사 전자장치에서 음성명령을 실행시키기 위한 장치 및 방법
US9099089B2 (en) * 2012-08-02 2015-08-04 Audible, Inc. Identifying corresponding regions of content
US20140088965A1 (en) * 2012-09-27 2014-03-27 Polaris Wireless, Inc. Associating and locating mobile stations based on speech signatures
US20140358535A1 (en) 2013-05-28 2014-12-04 Samsung Electronics Co., Ltd. Method of executing voice recognition of electronic device and electronic device using the same
JP6534926B2 (ja) * 2013-06-10 2019-06-26 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 話者識別方法、話者識別装置及び話者識別システム
WO2014203370A1 (ja) * 2013-06-20 2014-12-24 株式会社東芝 音声合成辞書作成装置及び音声合成辞書作成方法
US20150025888A1 (en) * 2013-07-22 2015-01-22 Nuance Communications, Inc. Speaker recognition and voice tagging for improved service
US9558749B1 (en) * 2013-08-01 2017-01-31 Amazon Technologies, Inc. Automatic speaker identification using speech recognition features
US9495967B2 (en) * 2013-08-20 2016-11-15 Intel Corporation Collaborative audio conversation attestation
JP6164076B2 (ja) * 2013-12-17 2017-07-19 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US9812130B1 (en) * 2014-03-11 2017-11-07 Nvoq Incorporated Apparatus and methods for dynamically changing a language model based on recognized text
US9875743B2 (en) * 2015-01-26 2018-01-23 Verint Systems Ltd. Acoustic signature building for a speaker from multiple sessions
US9870785B2 (en) * 2015-02-06 2018-01-16 Knuedge Incorporated Determining features of harmonic signals
KR102371697B1 (ko) * 2015-02-11 2022-03-08 삼성전자주식회사 음성 기능 운용 방법 및 이를 지원하는 전자 장치
KR102346302B1 (ko) * 2015-02-16 2022-01-03 삼성전자 주식회사 전자 장치 및 음성 인식 기능 운용 방법
US9978374B2 (en) * 2015-09-04 2018-05-22 Google Llc Neural networks for speaker verification
US10079020B2 (en) * 2015-11-19 2018-09-18 Panasonic Corporation Speech recognition method and speech recognition apparatus to improve performance or response of speech recognition
US9972322B2 (en) * 2016-03-29 2018-05-15 Intel Corporation Speaker recognition using adaptive thresholding
US10810212B2 (en) * 2016-07-29 2020-10-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Validating provided information in a conversation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033573A1 (en) 2001-08-09 2005-02-10 Sang-Jin Hong Voice registration method and system, and voice recognition method and system based on voice registration method and system
US20140163978A1 (en) 2012-12-11 2014-06-12 Amazon Technologies, Inc. Speech recognition power management
WO2015005679A1 (ko) * 2013-07-09 2015-01-15 주식회사 윌러스표준기술연구소 음성 인식 방법, 장치 및 시스템
US20150112684A1 (en) * 2013-10-17 2015-04-23 Sri International Content-Aware Speaker Recognition

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Senior, A., & Lopez-Moreno, I. (2014, May). Improving DNN speaker independence with i-vector inputs. In 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)

Also Published As

Publication number Publication date
EP3479376A1 (en) 2019-05-08
US20180061412A1 (en) 2018-03-01
KR20180024807A (ko) 2018-03-08
US10762899B2 (en) 2020-09-01
WO2018043991A1 (en) 2018-03-08
EP3479376A4 (en) 2019-10-30
CN109643549B (zh) 2023-09-05
CN109643549A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
KR102596430B1 (ko) 화자 인식에 기초한 음성 인식 방법 및 장치
US11600265B2 (en) Systems and methods for determining whether to trigger a voice capable device based on speaking cadence
US20210193176A1 (en) Context-based detection of end-point of utterance
US11710478B2 (en) Pre-wakeword speech processing
EP3619707B1 (en) Customizable wake-up voice commands
US9047857B1 (en) Voice commands for transitioning between device states
US9098467B1 (en) Accepting voice commands based on user identity
KR101986354B1 (ko) 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법
US9466286B1 (en) Transitioning an electronic device between device states
US9443527B1 (en) Speech recognition capability generation and control
US9159319B1 (en) Keyword spotting with competitor models
US9460715B2 (en) Identification using audio signatures and additional characteristics
US11056118B2 (en) Speaker identification
KR101237799B1 (ko) 문맥 종속형 음성 인식기의 환경적 변화들에 대한 강인성을 향상하는 방법
KR20200052638A (ko) 전자 장치 및 전자 장치의 음성 인식 방법
CN114120979A (zh) 语音识别模型的优化方法、训练方法、设备及介质
KR102061206B1 (ko) 키워드 오인식을 방지하는 음성 제어 장치 및 이의 동작 방법
JP2024510798A (ja) ハイブリッド多言語テキスト依存およびテキスト非依存の話者検証
US11527247B2 (en) Computing device and method of operating the same
US11763814B2 (en) Hybrid voice command processing
JP2019168674A (ja) 音声区間検出装置、音声区間検出方法及びプログラム
CN115691478A (zh) 语音唤醒方法、装置、人机交互设备和存储介质

Legal Events

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