KR102002903B1 - 화자 인증 방법 및 음성인식 시스템 - Google Patents

화자 인증 방법 및 음성인식 시스템 Download PDF

Info

Publication number
KR102002903B1
KR102002903B1 KR1020170094969A KR20170094969A KR102002903B1 KR 102002903 B1 KR102002903 B1 KR 102002903B1 KR 1020170094969 A KR1020170094969 A KR 1020170094969A KR 20170094969 A KR20170094969 A KR 20170094969A KR 102002903 B1 KR102002903 B1 KR 102002903B1
Authority
KR
South Korea
Prior art keywords
speaker
speech recognition
voice
speech
signal
Prior art date
Application number
KR1020170094969A
Other languages
English (en)
Other versions
KR20190012066A (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 KR1020170094969A priority Critical patent/KR102002903B1/ko
Priority to JP2018140621A priority patent/JP6738867B2/ja
Publication of KR20190012066A publication Critical patent/KR20190012066A/ko
Application granted granted Critical
Publication of KR102002903B1 publication Critical patent/KR102002903B1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords

Abstract

화자를 정확하게 인식할 수 있는 음성 인식 시스템 및 이의 화자 검증 방법이 제공된다. 화자 검증 방법은 상기 음성인식 서버에 의하여, 상기 음성인식 장치로부터 제1 화자의 음성을 포함하는 음성 신호를 수신하는 단계, 상기 음성 신호에 대하여 음성인식을 수행하여 음성인식 결과를 생성하는 단계, 상기 음성 신호에서 화자 특징 벡터를 추출하여 상기 화자 특징 벡터를 등록된 화자 특징 벡터와 비교하고, 상기 비교 결과에 따라 상기 음성 신호의 화자를 등록된 제2 화자로 결정하는 단계, 상기 제2 화자의 등록된 휴대장치로 상기 음성인식 결과 및 상기 음성 신호를 송신하는 단계, 상기 제2 화자의 등록된 휴대장치로부터 승인 입력을 수신하는 단계, 및 상기 음성인식 결과에 대응하는 동작을 실행하는 단계를 포함한다.

Description

화자 인증 방법 및 음성인식 시스템{Method for certifying speaker and system for recognizing speech}
본 개시는 화자 인증 방법 및 화자 인식 시스템에 관한 것으로서, 보다 상세하게는 음성인식 스피커 장치와 음성인식 서버를 포함하는 음성인식 시스템에서 화자를 인증하는 방법에 관한 것이다.
음성인식 기능이 탑재된 인공지능 스피커 장치가 출시되고 있다. 인공지능 스피커 장치는 사용자의 음성을 인식하고 음성에 포함된 명령을 추출하여 명령에 따른 동작을 실행하고 그 결과를 음성으로 출력함으로써 인공지능 비서와 같은 역할을 수행할 수 있다. 인공지능 스피커 장치가 단순히 음성 질의에 응답하여 질의 결과를 음성으로 출력하는 수준을 넘어서 금융 거래나 쇼핑과 같이 보안이 필요한 분야에서 사용되기 위해서는 정확하게 화자를 인식 및 식별할 수 있어야 한다. 그러나, 인공지능 스피커 장치는 목소리를 기초로 사용자를 식별할 수 밖에 없기 때문에 지문이나 홍채 인식과 같은 생체 정보를 이용한 사용자 식별 또는 인증 방법에 비해 정확도가 떨어진다.
본 개시가 해결하고자 하는 과제는 전술한 문제를 해결하기 위한 것으로서, 화자의 음성으로부터 음성의 내용과 화자를 정확하게 인식한 후 화자를 추가로 인증할 수 있는 방법을 제공하는 것이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은 음성인식 장치와 음성인식 서버를 포함하는 음성인식 시스템의 화자 인증 방법을 제공한다. 화자 인증 방법은 상기 음성인식 서버에 의하여, 상기 음성인식 장치로부터 제1 화자의 음성을 포함하는 음성 신호를 수신하는 단계, 기 음성 신호에 대하여 음성인식을 수행하여 제1 음성인식 결과를 생성하는 단계, 상기 음성 신호에서 제1 화자 특징 벡터를 추출하고 상기 제1 화자 특징 벡터와 등록된 화자 특징 벡터(registered speaker feature vector) 간의 유사도를 계산하는 단계, 상기 유사도가 제1 기준치 이상이고 제2 기준치 미만인 경우, 상기 음성 신호의 화자가 등록된 제2 화자(registered second speaker)라고 결정하는 단계, 상기 제1 화자 또는 상기 제2 화자에게 인증 음성을 요청하는 단계, 상기 제1 화자 또는 상기 제2 화자로부터 인증 음성 신호를 수신하는 단계, 상기 인증 음성 신호를 기초로 상기 제2 화자와 상기 제1 화자 간의 동일성을 인증하는 단계, 및 상기 유사도가 상기 제2 기준치 이상이거나 상기 동일성이 인증되면, 상기 제1 음성인식 결과에 대응하는 동작을 실행하는 단계를 포함한다.
본 개시의 제2 측면은 음성인식 장치와 통신하는 통신 모듈, 및 프로세서를 포함하는 음성인식 서버를 제공한다. 프로세서는 상기 통신 모듈을 이용하여 상기 음성인식 장치로부터 제1 화자의 음성을 포함하는 음성 신호를 수신하고, 상기 음성 신호에 대하여 음성인식을 수행하여 제1 음성인식 결과를 생성하고, 상기 음성 신호에서 제1 화자 특징 벡터를 추출하고 상기 제1 화자 특징 벡터와 등록된 화자 특징 벡터(registered speaker feature vector) 간의 유사도를 계산하고, 상기 유사도가 제1 기준치 이상이고 제2 기준치 미만인 경우 상기 음성 신호의 화자가 등록된 제2 화자(registered second speaker)라고 결정하고, 상기 제1 화자 또는 상기 제2 화자에게 인증 음성을 요청하고, 상기 제1 화자 또는 상기 제2 화자로부터 인증 음성 신호를 수신하고, 상기 인증 음성 신호를 기초로 상기 제2 화자와 상기 제1 화자 간의 동일성을 인증하고, 상기 유사도가 상기 제2 기준치 이상이거나 상기 동일성이 인증되면, 상기 제1 음성인식 결과에 대응하는 동작을 실행하도록 구성된다.
본 개시의 제3 측면은 제2 측면의 음성인식 서버와 통신할 수 있는 통신 모듈, 오디오 신호를 생성하는 마이크로폰, 상기 오디오 신호로부터 제1 화자의 음성을 포함하는 음성 신호를 검출하고, 상기 음성 신호를 상기 음성인식 서버로 송신하고, 상기 음성인식 서버로부터 합성음 신호를 수신하도록 구성되는 프로세서, 및 상기 합성음 신호에 대응하는 합성음을 재생하는 스피커를 포함하는 음성인식 장치를 제공한다.
본 개시의 제4 측면은 음성인식 서버와 음성인식 장치를 포함하는 음성인식 시스템을 제공한다. 상기 음성인식 장치는 상기 음성인식 서버와 통신하는 제1 통신 모듈, 오디오 신호를 생성하는 마이크로폰, 상기 오디오 신호로부터 제1 화자의 음성을 포함하는 음성 신호를 검출하고 상기 음성 신호를 상기 음성인식 서버로 송신하고 상기 음성인식 서버로부터 합성음 신호를 수신하도록 구성되는 제1 프로세서, 및 상기 합성음 신호에 대응하는 합성음을 재생하는 스피커를 포함한다. 상기 음성인식 서버는 제2 프로세서, 및 상기 음성인식 장치와 통신하는 제2 통신 모듈을 포함한다. 상기 제2 프로세서는 상기 음성인식 장치로부터 상기 음성 신호를 수신하고, 상기 음성 신호에 대하여 음성인식을 수행하여 제1 음성인식 결과를 생성하고, 상기 음성 신호에서 제1 화자 특징 벡터를 추출하고 상기 제1 화자 특징 벡터와 등록된 화자 특징 벡터(registered speaker feature vector) 간의 유사도를 계산하고, 상기 유사도가 제1 기준치 이상이고 제2 기준치 미만인 경우 상기 음성 신호의 화자가 등록된 제2 화자(registered second speaker)라고 결정하고, 상기 제1 화자 또는 상기 제2 화자에게 인증 음성을 요청하고, 상기 제1 화자 또는 상기 제2 화자로부터 인증 음성 신호를 수신하고, 상기 인증 음성 신호를 기초로 상기 제2 화자와 상기 제1 화자 간의 동일성을 인증하고, 상기 유사도가 상기 제2 기준치 이상이거나 상기 동일성이 인증되면 상기 제1 음성인식 결과에 대응하는 동작을 실행하도록 구성된다.
본 개시의 제5 측면은 음성인식 시스템의 음성인식 서버의 프로세서가 제2 측면에 따른 화자 인증 방법을 실행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 개시의 다양한 실시예들에 따르면, 화자 인증 절차를 통해 화자를 정확하게 식별할 수 있으므로, 화자 오인식이나 목소리 도용으로 인한 오동작의 우려 없이 음성인식 시스템은 화자의 명령을 안전하고 정확하게 실행할 수 있다.
도 1은 일 실시예에 따른 음성인식 시스템의 예시적인 네트워크 구성도이다.
도 2는 일 실시예에 따른 음성인식 스피커 장치의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 음성인식 서버의 내부 구성을 설명하기 위한 블록도이다.
도 4a는 일 실시예에 따른 음성인식 서버의 프로세서의 내부 구성을 설명하기 위한 블록도이다.
도 4b는 다른 실시예에 따른 음성인식 서버의 프로세서의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시예에 따른 음성인식 시스템의 화자 검증 방법을 설명하기 위한 예시적인 흐름도이다.
도 6은 다른 실시예에 따른 음성인식 시스템의 화자 검증 방법을 설명하기 위한 예시적인 흐름도이다.
도 7은 다른 실시예에 따른 음성인식 시스템의 화자 검증 방법을 설명하기 위한 예시적인 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 다양한 곳에 등장하는 "일부 실시예에서" 또는 "일 실시예에서" 등의 어구는 반드시 모두 동일한 실시예를 가리키는 것은 아니다.
일부 실시예는 기능적인 블럭 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블럭들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블럭들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블럭들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블럭들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “모듈” 및 “구성”등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.
본 개시에서 음성인식 기능은 사용자의 음성을 포함하는 음성 신호를 문자열(또는 텍스트)로 변환하는 것을 말한다. 음성 인식 기능에 의해 음성 신호가 변환된 문자열(또는 텍스트)은 음성인식 결과로 지칭될 수 있다. 사용자의 음성 신호는 음성 명령을 포함할 수 있으며, 음성인식 결과 역시 음성 명령에 대응하는 명령을 포함할 수 있다. 음성 명령은 음성인식 스피커 장치 또는 음성인식 서버의 특정 기능을 실행할 수 있다. 한편, 본 개시에서 음성합성 기능은 음성인식 기능과 반대로 문자열(또는 텍스트)를 음성 신호로 변환하는 것을 말한다. 음성 인식 기능에 의해 문자열(또는 텍스트)이 변환된 음성 신호는 합성음 신호로 지칭될 수 있다.
본 개시에서 "등록된(registered)"이라는 표현은 음성인식 시스템에 사용자 또는 이의 관련 정보로서 등록되어 있음을 의미한다. "등록된 사용자"는 음성인식 시스템에 사용자 등록을 마친 사용자를 의미한다. 어느 한 사람은 본 개시에 따른 음성인식 시스템에 사용자로 등록할 수 있으며, 사용자로 등록할 때 음성인식 시스템이 제시하는 문장을 발화한 본인의 음성을 입력할 수 있다. 음성인식 시스템은 사용자 등록 시에 입력된 음성의 음성 신호에서 화자 특징 벡터를 추출하여 등록된 사용자의 관련 정보로 저장할 수 있다. 이와 같이 음성인식 시스템에 저장된 화자 특징 벡터는 등록된 화자 특징 벡터라고 지칭할 수 있다. 또한, 사용자 등록 시에, 자기 소유의 휴대 장치의 식별 번호를 함께 저장할 수 있다.
음성인식 시스템에 저장되는 사용자의 관련 정보로는 사용자의 인증에 사용될 수 있는 암호가 포함될 수 있다. 또한, 사용자 등록 시에 사용자는 자신 고유의 암호를 발성한 암호 음성을 음성인식 시스템에 입력할 수 있다. 음성인식 시스템은 암호 음성의 암호 음성 신호를 저장하고, 암호 음성 신호의 음성인식 결과, 즉, 암호 문자열, 또는 암호 음성 신호에서 추출한 화자 특징 정보를 저장할 수 있다. 이러한 음성인식 시스템에 저장된 암호 음성 신호, 암호 문자열, 암호 음성 신호에서 추출한 화자 특징 정보는 각각 등록된 암호 음성 신호, 등록된 암호 문자열, 등록된 화자 특징 정보로 지칭될 수 있다.
음성인식 시스템에는 복수의 사용자들이 등록될 수 있다. 본 개시에서, 제1 화자는 음성 신호의 음성을 실제로 발성한 사람을 의미하고, 등록된 제2 화자(registered second speaker)는 음성인식 시스템에 등록된 복수의 사용자들 중에서 음성인식 시스템이 음성 신호의 음성을 발성한 것으로 인식 또는 결정한 사용자를 의미한다. 등록된 제2 화자는 일반적으로 제1 화자와 동일하지만, 음성인식 시스템의 화자 오인식 및 목소리 도용이 발생하는 경우, 등록된 제2 화자는 제1 화자와 상이할 수 있다.
본 개시에서 키워드는 워드 형태를 갖거나, 구 형태를 가질 수 있다. 본 개시에서, 웨이크업 키워드 이후에 발화되는 음성 명령은 자연어 형태의 문장 형태, 워드 형태, 또는 구 형태를 가질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 음성인식 시스템의 예시적인 네트워크 구성도이다.
도 1을 참조하면, 음성인식 시스템의 네트워크 환경은 음성인식 스피커 장치(100), 음성인식 서버(200), 휴대장치(300) 및 네트워크(400)를 포함하는 것으로 예시적으로 도시된다. 음성인식 시스템은 음성인식 스피커 장치(100) 및 음성인식 서버(200)를 포함한다.
음성인식 스피커 장치(100)는 음성인식 장치의 일 예로서, 음성 제어 기능이 탑재되어 특정 기능을 수행하는 스피커 장치이다. 음성인식 스피커 장치(100)는 스마트 스피커 장치 또는 인공지능 스피커 장치로 지칭될 수 있다. 음성인식 스피커 장치(100)는 화자의 음성을 수신하면 음성과 화자를 인식하고 음성에 포함된 명령을 추출하여 명령에 따른 동작을 실행하고 그 결과를 음성으로 출력할 수 있다. 음성인식 스피커 장치(100)가 수행할 수 있는 특정 기능은 예컨대 음성 정보 제공, 음악 재생, 인터넷 쇼핑, 금융 거래, 전화 연결, 메시지 전송, 알람 설정, 및 음성인식 스피커 장치에 네트워크를 통해 접속된 전자 또는 기계 장치의 제어 등을 포함할 수 있다.
예를 들면, 음성인식 스피커 장치(100)가 네트워크를 통해 스마트 텔레비전에 접속된 경우, 특정 기능은 채널 시청, 채널 검색, 동영상 재생, 및 프로그램 검색 등을 포함할 수 있다. 예를 들어, 음성인식 스피커 장치(100)가 스마트 냉장고와 같은 가전 기기에 접속된 경우, 특정 기능은 냉장 및 냉동 상태 점검 및 온도 설정 등을 포함할 수 있다. 그러나, 본 개시에서 특정 기능은 상술한 바로 제한되지 않는다.
음성인식 스피커 장치(100)는 무선 또는 유선 통신을 통해 네트워크(400)를 통해 음성인식 서버(200)와 통신할 수 있다.
네트워크(400)의 통신 방식은 제한되지 않으며, 네트워크(400)에 포함될 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용한 통신 방식뿐만 아니라, 음성인식 스피커 장치(100)과의 근거리 무선 통신이 포함될 수 있다. 예를 들어, 네트워크(400)는 PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 네트워크(400)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
음성인식 서버(200)는 네트워크(400)를 통해 음성인식 스피커 장치(100)와 통신하며, 적어도 하나의 컴퓨터 장치로 구현될 수 있다. 음성인식 서버(200)는 클라우드 형태로 분산될 수 있으며, 명령, 코드, 파일, 컨텐츠 등을 제공할 수 있다.
음성인식 서버(200)는 음성인식 스피커 장치(100)로부터 수신되는 음성 신호를 문자열(또는 텍스트)로 변환하여 음성인식 결과를 생성할 수 있다. 음성인식 서버(200)는 음성인식 스피커 장치(100)가 재생할 음성을 합성하여 합성음 신호를 생성하고 합성음 신호를 음성인식 스피커 장치(100)에 송신할 수 있다.
음성인식 서버(200)는 음성인식 스피커 장치(100)가 수행할 수 있는 특정 기능들을 실제로 수행할 수 있다. 예컨대, 음성 정보 제공 기능의 경우, 음성인식 서버(200)는 음성인식 스피커 장치(100)로부터 수신된 음성 신호에 포함된 정보 요청을 인식하고, 정보 요청에 따른 결과를 생성하여 합성음 신호의 형태로 음성인식 스피커 장치(100)로 송신할 수 있다. 전화 연결 기능의 경우, 음성인식 서버(200)는 음성인식 스피커 장치(100)로부터 수신된 음성 신호에 포함된 전화 연결 요청을 인식하고, 요청에 따라 전화 연결을 수행하며, 전화 연결 시 송신 신호와 수신 신호를 중계할 수 있다. 음성인식 서버(200)는 네트워크(400)를 통해 가전 기기에도 접속될 수 있으며, 음성인식 서버(200)는 음성인식 스피커 장치(100)로부터 수신된 음성 신호에 포함된 제어 명령에 따라 가전 기기를 제어할 수 있다.
음성인식 서버(200)는 네트워크(400)를 통해 휴대장치(300)에 접속될 수 있다. 음성인식 서버(200)와 음성인식 스피커 장치(100)를 연결하는 네트워크와 음성인식 서버(200)와 휴대장치(300)를 연결하는 네트워크는 서로 다른 종류일 수도 있다. 예컨대, 음성인식 서버(200)와 음성인식 스피커 장치(100)를 연결하는 네트워크는 LAN 또는 인터넷일 수 있으며, 음성인식 서버(200)와 휴대장치(300)를 연결하는 네트워크는 이동통신망일 수 있다. 일부 실시예들에 따르면, 음성인식 서버(200)는 휴대장치(300)에 접속되지 않을 수도 있다.
휴대장치(300)는 사용자가 휴대하고 다닐 수 있는 무선 통신을 지원하는 전자기기다. 예컨대, 휴대장치(300)는 휴대전화, 스마트폰, 태블릿, 또는 노트북 등일 수 있다. 휴대장치(300)는 전화 기능, 메시지 기능, 또는 메신저 기능을 가질 수 있다. 휴대장치(300)는 사용자의 음성을 음성 신호로 변환하고, 음성 신호를 음성인식 서버(200)로 제공할 수 있다. 또한, 휴대장치(300)는 음성인식 서버(200)로부터 수신되는 음성 신호 또는 영상 신호를 재생할 수 있다. 휴대장치(300)는 일반적으로 한 개인이 사용하는 전자기기일 수 있다.
도 1에는 음성인식 스피커 장치(100)가 네트워크(400)를 통해 음성인식 기능을 수행하는 음성인식 서버(200)에 접속되는 것으로 도시되어 있지만, 이는 예시적이며, 음성인식 스피커 장치(100)는 독립적으로 음성인식 또는 음성합성 기능을 수행할 수도 있다.
도 2는 일 실시예에 따른 음성인식 스피커 장치(100)의 내부 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 음성인식 스피커 장치(100)는 프로세서(110), 마이크로폰(120), 스피커(130) 및 통신 모듈(140)을 포함할 수 있다. 음성인식 스피커 장치(100)는 도 2에 도시된 구성요소보다 많은 구성 요소들을 포함할 수 있다. 예를 들면, 음성인식 스피커 장치(100)는 메모리를 더 포함할 수 있다. 음성인식 스피커 장치(100)는 통신 모듈(140)을 통해 도 1의 네트워크(400)에 접속되어, 음성인식 서버(200)와 통신할 수 있다.
마이크로폰(120)은 주변의 오디오를 전기적인 음향 데이터로 변환함으ㅏ로써 오디오 신호를 직접 생성할 수 있다. 또한, 음성인식 스피커 장치(100)는 복수의 마이크로폰(120)을 포함할 수 있으며, 복수의 마이크로폰(120)을 이용하여 오디오 신호의 입력 방향을 찾아낼 수 있다. 다른 예에 따르면, 음성인식 스피커 장치(100)는 통신 모듈(140)을 통해 외부 장치로부터 송신된 오디오 신호를 수신할 수도 있다. 스피커(130)는 오디오 신호를 음성으로 변환하여 출력할 수 있다.
프로세서(110)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리로부터 프로세서(110)에 제공되거나, 통신 모듈(140)을 통해 수신되어 프로세서(110)로 제공될 수 있다. 예를 들면 프로세서(110)는 메모리와 같은 기록 장치에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
프로세서(110)는 마이크로폰(120)에서 생성된 오디오 신호로부터 화자의 음성에 대응하는 음성 신호를 검출하고, 통신 모듈(140)을 통해 검출된 음성 신호를 음성인식 서버(200)로 송신할 수 있다. 프로세서(110)는 키워드를 이용하여 오디오 신호로부터 음성 신호를 검출할 수 있다. 프로세서(110)는 오디오 신호 중에서 키워드에 대응하는 키워드 음성 신호를 추출함으로써 키워드 음성 신호에 후속하여 수신되는 음성 신호를 식별할 수 있다.
프로세서(110)는 음성인식 서버(200)로부터 합성음 신호를 수신하고 스피커(130)를 통해 합성음 신호에 대응하는 합성음을 재생할 수 있다.
도 3은 일 실시예에 따른 음성인식 서버(200)의 내부 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 음성인식 서버(200)는 프로세서(210), 메모리(220) 및 통신 모듈(230)을 포함한다. 음성인식 서버(200)는 도 3에 도시된 구성요소보다 많은 구성 요소들을 포함할 수 있다. 예를 들면, 음성인식 서버(200)는 입출력 장치를 더 포함할 수 있다.
통신 모듈(230)은 네트워크(400)를 통해 음성인식 서버(200)가 음성인식 스피커 장치(100)와 통신하기 위한 기능을 제공할 수 있다. 음성인식 서버(200)는 통신 모듈(230)을 통해 도 1의 네트워크(400)에 접속되어, 음성인식 스피커 장치(100)와 통신할 수 있다. 일부 실시예들에 따르면, 음성인식 서버(200)는 통신 모듈(230)을 통해 휴대장치(300)와도 통신할 수 있다.
메모리(220)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 메모리(220)에는 운영체제와 적어도 하나의 프로그램 코드(예컨대, 음성인식 서버(200)에 설치되어 구동되는 음성인식 어플리케이션, 음성합성 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 통신 모듈(230)을 이용하여 통신을 통해 메모리(220)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 네트워크(400)를 통해 제공하는 파일들에 의해 설치되는 프로그램에 기반하여 메모리(220)에 로딩될 수 있다.
프로세서(210)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 프로세서(210)는 메모리(220)에 저장된 프로그램 코드에 따라 명령을 실행하도록 구성될 수 있다.
프로세서(210)는 음성인식 스피커 장치(100)로부터 제1 화자의 음성을 포함하는 음성 신호를 수신하고, 음성 신호에 대하여 음성인식을 수행하여 제1 음성인식 결과를 생성하도록 구성될 수 있다. 예를 들면, 프로세서(210)는 음성 신호에 대한 음성 인식을 수행하기 위하여, 음성 신호의 주파수 특성을 추출하고, 음향 모델과 언어 모델을 이용하여 음성 인식을 수행할 수 있다. 주파수 특성은 음향 입력의 주파수 스펙트럼을 분석하여 추출되는 음향 입력의 주파수 성분들의 분포를 의미할 수 있다. 음향 모델과 언어 모델은 메모리(220)에 저장될 수 있다. 다만 음성인식 방법은 이에 한정되는 것은 아니며, 음성 신호를 문자열(또는 텍스트)로 변환하는 다양한 기술들이 사용될 수 있다. 본 개시에서, 제1 음성인식 결과는 제1 화자의 음성을 포함하는 음성 신호에 대하여 음성인식을 수행한 결과를 의미한다.
프로세서(210)는 음성 신호를 분석하여 음성 신호에 포함된 음성을 발화한 화자가 누구인지를 결정할 수 있다. 프로세서(210)는 음성 신호에서 제1 화자 특징 벡터를 추출하여 제1 화자 특징 벡터를 등록된 화자 특징 벡터(registered speaker feature vector)와 비교하고, 비교 결과에 따라 음성 신호의 화자가 등록된 제2 화자(registered second speaker)라고 결정하도록 구성될 수 있다. 예를 들면, 프로세서(210)는 제1 화자 특징 벡터와 등록된 화자 특징 벡터 간의 유사도를 계산하고, 계산된 유사도를 기준치와 비교함으로써 음성 신호의 화자를 식별할 수 있다. 본 명세서에서, 제1 화자 특징 벡터는 제1 화자의 음성을 포함하는 음성 신호에서 추출된 화자 특징 벡터를 의미한다. 등록된 제2 화자는 음성인식 시스템에 등록된 사용자들 중 하나로서, 음성인식 스피커 장치(100)를 정상적으로 사용할 수 있도록 미리 등록한 사람을 의미한다.
등록된 화자 특징 벡터는 사용자 등록 시에 제2 화자의 관련 정보로서 메모리(220)에 미리 저장될 수 있다. 음성인식 서버(200)에는 복수의 화자들이 등록될 수 있으며, 이 경우, 메모리(220)에는 복수의 등록된 화자 특징 벡터들이 저장될 수 있다. 등록된 화자 특징 벡터들은 등록된 화자들의 관련 정보로서, 등록된 화자들에 각각 대응할 수 있다. 제2 화자는 음성인식 서버(200)에 미리 등록된 사용자들 중 하나이다.
프로세서(210)는 음성 신호의 화자를 결정하기 위하여, 음향 모델로부터 추출된 사후 정보(states posteriors), 일반적 배경 모델, 및 전체 변이성 변환 정보 중 적어도 하나를 이용하여 음성 신호의 주파수 특성으로부터 화자 특징 벡터를 생성할 수 있다. 메모리(220)에는 사후 정보, 일반적 배경 모델, 전체 변이성 변환 정보, 및 등록된 화자 정보 중 적어도 하나가 저장될 수 있다.
프로세서(210)는 제1 화자 특징 정보와 메모리(220)에 저장된 등록된 화자 특징 벡터들에 기초하여 음성 신호의 화자가 등록된 화자인지 여부를 판단할 수 있다. 프로세서(210)는 제1 화자 특징 정보와 등록된 화자 특징 벡터들 각각과 비교할 수 있다. 프로세서(210)는 제1 화자 특징 정보와 가장 유사도가 높은 등록된 화자 특징 벡터를 등록된 제2 화자 특징 벡터로서 선택할 수 있다. 가장 높은 유사도가 제1 기준치 이상인 경우, 프로세서(210)는 등록된 제2 화자 특징 벡터의 등록된 제2 화자를 음성 신호의 화자라고 결정할 수 있다. 가장 높은 유사도가 제1 기준치 미만인 경우, 프로세서(210)는 음성 신호의 화자가 등록되지 않은 사용자(unregistered speaker)라고 결정할 수 있다.
프로세서(210)는 제1 화자 또는 제2 화자에게 인증 음성을 요청하고, 제1 화자 또는 제2 화자로부터 인증 음성 신호를 수신하도록 구성될 수 있다. 프로세서(210)는 수신된 인증 음성 신호를 기초로 제2 화자가 제1 화자와 동일한 지의 여부를 추가로 확인함으로써 제1 화자와 제2 화자 간의 동일성을 인증할 수 있다.
프로세서(210)는 제1 화자와 제2 화자 간의 동일성이 인증되면, 제1 음성 인식 결과에 대응하는 동작을 실행하도록 구성될 수 있다. 프로세서(210)는 제1 화자 특징 정보와 등록된 제2 화자 특징 벡터 간의 유사도가 제1 기준치보다 높은 제2 기준치 이상인 경우, 프로세서(210)는 등록된 제2 화자를 음성 신호의 화자라고 간주하고, 화자 인증 과정을 생략하고, 제1 음성 인식 결과에 대응하는 동작을 바로 실행하도록 구성될 수 있다.
프로세서(210)는 제1 음성인식 결과에 대응하는 기능을 결정하고, 해당 기능을 수행할 수 있다. 프로세서(210)는 동작의 실행 결과를 보고하기 위한 합성음 신호를 생성하도록 구성될 수 있다. 프로세서(210)는 함성음 신호를 음성인식 스피커 장치(100)에 송신하도록 구성될 수 있다.
음성인식 서버(200)는 입출력 장치로서, 마이크로폰 또는 스피커를 더 포함할 수 있다. 음성인식 서버(200)는 음성 신호를 직접 생성하고 합성음을 직접 재생할 수도 있다.
도 4a는 일 실시예에 따른 음성인식 서버의 프로세서의 내부 구성을 설명하기 위한 블록도이다.
도 4a를 참조하면, 음성인식 서버(200)의 프로세서(210)는 음성 신호 수신부(211), 음성 인식부(212), 화자 인식부(213), 화자 인증부(214), 기능부(215), 및 합성음 신호 생성부(216)를 포함한다. 화자 인식부(213)는 화자 특징 벡터 추출부(213a), 화자 특징 벡터 비교부(213b), 및 등록 화자 결정부(213c)를 포함한다.
음성 신호 수신부(211)는 음성인식 스피커 장치(100)로부터 제1 화자의 음성을 포함하는 음성 신호를 수신한다.
음성 인식부(212)는 음성 신호 수신부(211)에 의해 수신된 음성 신호에 대하여 음성인식을 수행하여 제1 음성인식 결과를 생성한다. 음성 인식부(212)는 음성 신호에 대하여 음성인식을 수행하여 화자의 음성을 문자열(또는 텍스트)로 변환할 수 있다. 음성 인식부(212)는 변환된 문자열(또는 텍스트)을 자연어 처리하여 음성 신호에 포함된 화자의 명령을 추출할 수 있다. 제1 음성인식 결과는 제1 화자의 명령을 포함하며, 음성인식 결과에 대응하는 동작은 제1 화자의 명령에 따른 동작을 의미한다.
화자 인식부(213)는 음성 신호 수신부(211)에 의해 수신된 음성 신호의 화자가 제2 화자라고 결정한다. 예를 들면, 화자 특징 벡터 추출부(213a)는 음성 신호 수신부(211)에 의해 수신된 음성 신호에서 화자 특징 벡터를 추출한다. 화자 특징 벡터 추출부(213a)는 시간 도메인(time domain) 기반의 음성 신호를 주파수 도메인(frequency domain) 상의 신호로 변환하고, 변환된 신호의 주파수 에너지를 서로 다르게 변형함으로써 화자 특징 벡터를 추출할 수 있다. 예컨대, 화자 특징 벡터는 멜 주파수 켑스트럼 계수(Mel-Frequency Cepstral Coefficients) 또는 필터뱅크 에너지(Filter Bank Energy)를 기초로 추출될 수 있으나, 이에 한정되는 것은 아니며 다양한 방식으로 오디오 데이터로부터 화자 특징 벡터를 추출할 수 있다. 제1 화자의 음성을 포함하는 음성 신호에서 추출된 화자 특징 벡터는 제1 화자 특징 벡터로 지칭한다.
화자 특징 벡터 비교부(213b)는 화자 특징 벡터 추출부(213a)에 의해 추출된 제1 화자 특징 벡터를 메모리(220)에 저장되어 있는 등록된 화자 특징 벡터와 비교한다. 예를 들면, 화자 특징 벡터 비교부(213b)는 제1 화자 특징 벡터와 등록된 화자 특징 벡터(registered speaker feature vector) 간의 유사도를 계산한다.
메모리(220)에는 복수의 등록된 화자 특징 벡터들이 존재할 수 있으며, 화자 특징 벡터 비교부(213b)는 제1 화자 특징 벡터를 복수의 등록된 화자 특징 벡터들 각각과 비교하여, 가장 유사도가 높은 등록된 화자 특징 벡터를 결정한다. 가장 유사도가 높은 등록된 화자 특징 벡터는 제2 화자 특징 벡터로 지칭한다.
등록 화자 결정부(213c)는 화자 특징 벡터 비교부(213b)의 비교 결과에 따라 음성 신호의 화자가 등록된 제2 화자라고 결정한다. 예를 들면, 등록 화자 결정부(213c)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 제1 기준치 이상이고 제2 기준치 미만인 경우, 음성 신호의 화자가 제2 화자 특징 벡터에 대응되는 제2 화자라고 결정할 수 있다. 제2 기준치는 제1 기준치보다 높다. 제2 화자는 음성인식 시스템 또는 음성인식 서버(200)에 등록된 사용자들 중 한 사용자이다. 이러한 측면에서, 제2 화자는 등록된 제2 화자(registered second speaker)라고 지칭될 수 있다.
등록 화자 결정부(213c)는 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 제2 기준치 이상인 경우, 음성 신호의 화자가 제2 화자라고 간주할 수 있다. 이 경우, 제1 및 제2 화자 특징 벡터들 간의 유사도가 매우 높기 때문에, 제2 화자에 대한 인증이 생략될 수 있다.
제1 화자 특징 벡터와 등록된 화자 특징 벡터들 각각 간의 유사도들이 모두 미리 설정한 기준치를 넘지 못하는 경우, 즉, 제1 및 제2 화자 특징 벡터들 간의 유사도마저도 제1 기준치 미만인 경우, 등록 화자 결정부(213c)는 음성 신호의 화자가 등록된 사용자들 중에 없다고, 즉, 음성 신호의 화자가 등록되지 않은 사용자라고 결정할 수 있다. 이 경우, 프로세서(210)는 음성인식 결과에 대응하는 동작을 수행하지 않거나, 음성인식 결과에 대응하는 동작이 누구나 수행할 수 있는 동작으로 설정된 경우에 한하여 해당 동작을 수행할 수 있다.
화자 인증부(214)는 제1 화자 또는 제2 화자에게 인증 음성을 요청하고, 제1 화자 또는 제2 화자로부터 인증 음성 신호를 수신하도록 구성될 수 있다. 일 예에 따르면, 화자 인증부(214)는 음성인식 스피커 장치(100)로 인증 음성 요청을 송신할 수 있다. 음성인식 스피커 장치(100)를 사용하고 있는 제1 화자는 인증 음성 요청을 수신할 수 있다. 제1 화자는 음성인식 스피커 장치(100)로 인증 음성을 발화하고, 음성인식 스피커 장치(100)는 인증 음성에 대응하는 인증 음성 신호를 프로세서(210)로 송신할 수 있다.
다른 예에 따르면, 화자 인증부(214)는 제2 화자의 휴대 장치(300)로 인증 음성을 요청하고, 제2 화자는 인증 음성 요청에 따라 인증 음성을 발화할 수 있다. 제2 화자는 인증 음성을 음성인식 스피커 장치(100)로 발화하거나, 제2 화자의 휴대 장치(300)로 발화할 수도 있다. 제2 화자의 휴대 장치(300)의 식별 정보는 제2 화자가 음성인식 시스템에 사용자로 등록할 때 입력되어 메모리(220)에 미리 저장될 수 있다. 이때, 화자 인증부(214)는 제2 화자의 휴대장치(300)로 인증 음성의 요청과 함께 음성인식 결과 및 음성 신호를 송신할 수 있다. 제2 화자의 휴대 장치(300)는 제2 화자의 등록된 휴대 장치(300)로 지칭될 수 있다.
화자 인증부(214)는 수신된 인증 음성 신호를 기초로 제2 화자가 제1 화자와 동일한 지의 여부를 추가로 확인하여, 제1 화자와 제2 화자 간의 동일성을 인증할 수 있다.
기능부(215)는 화자 인증부(214)에서 제1 및 제2 화자들 간의 동일성이 인증되면, 음성 인식부(213)에서 생성된 제1 음성인식 결과에 대응하는 동작을 실행한다. 기능부(215)는 제1 및 제2 화자 특징 벡터들 간의 유사도가 제2 기준치 이상인 경우, 화자 인증 절차 없이, 음성 인식부(213)에서 생성된 제1 음성인식 결과에 대응하는 동작을 실행할 수 있다.
기능부(215)는 등록 화자 결정부(213c)에서 음성 신호의 화자가 미등록 화자라고 결정하거나, 화자 인증부(214)에서 제1 및 제2 화자들 간의 동일성이 인증되지 않으면, 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다.
합성음 신호 생성부(216)는 기능부(215)에서 동작을 실행한 경우, 동작의 실행 결과를 보고하기 위한 합성음 신호를 생성한다. 합성음 신호 생성부(216)는 음성 신호의 화자가 미등록된 사용자라고 판단되어 제1 음성인식 결과에 대응하는 동작이 실행되지 않은 경우, 또는 화자 인증부(214)에서 동일성이 인증되지 않아서 제1 음성인식 결과에 대응하는 동작이 실행되지 않은 경우, 동작이 실행되지 않았음을 보고하기 위한 합성음 신호를 생성할 수 있다.
다른 실시예에 따르면, 프로세서(210)는 화자 벡터 개선부를 더 포함할 수 있다. 화자 인증부(214)가 제1 및 제2 화자 특징 벡터들 간의 유사도가 제2 기준치 이상이거나 화자 인증부(214)에서 제1 및 제2 화자들 간의 동일성이 인증되면, 음성 신호의 화자가 제2 화자임이 확인된 것이므로, 화자 벡터 개선부는 제1 화자 특징 벡터를 이용하여 메모리(220)에 저장된 제2 화자의 제2 화자 특징 벡터를 개선할 수 있다. 화자 특징 벡터 개선부는 음성 신호에서 추출된 제1 화자 특징 벡터를 이용한 적응 훈련 방식을 통해 제2 화자의 제2 화자 특징 벡터를 생성하고, 새로 생성된 제2 화자 특징 벡터가 적응 훈련 이전의 제2 화자 특징 벡터에 비해 적응 훈련 성능이 상승한 경우, 새로 생성된 제2 화자 특징 벡터를 메모리(220)에 저장함으로써 제2 화자 특징 벡터를 개선할 수 있다.
도 4b는 다른 실시예에 따른 음성인식 서버의 프로세서의 내부 구성을 설명하기 위한 블록도이다.
도 4b를 참조하면, 음성인식 서버(200)의 프로세서(210a)는 음성 신호 수신부(211), 음성 인식부(212), 화자 인식부(213), 인증 여부 결정부(217), 화자 인증부(214), 기능부(215), 및 합성음 신호 생성부(216)를 포함한다.
제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 제1 기준치 이상이고 제2 기준치 미만이어서 등록 화자 결정부(213c)에서 음성 신호의 화자가 제2 화자라고 결정된 경우에, 인증 여부 결정부(217)는 제1 음성인식 결과에 대응하는 동작 및 제2 화자의 설정 중 적어도 하나를 기초로 화자 인증부(214)의 동작을 실행할 것인지의 여부를 결정한다.
일 예에 따르면, 제1 음성인식 결과에 따른 동작이 제2 화자가 미리 설정한 사전 승인 동작 리스트에 포함되는 경우, 인증 여부 결정부(217)는 화자 인증부(214)의 동작을 실행하도록 결정할 수 있다. 사전 승인 동작 리스트는 메모리(220)에 저장될 수 있으며, 음성인식 스피커 장치(100) 또는 음성인식 서버(200)가 수행할 수 있는 동작들 중 일부의 동작이 미리 설정한 사전 승인 동작 리스트에 포함될 수 있다. 예컨대, 금융 거래나 인터넷 쇼핑, 메시지 보내기 등과 같은 동작들이 미리 설정한 사전 승인 동작 리스트에 포함될 수 있다. 사전 승인 동작 리스트에 포함되는 동작들은 등록된 화자들마다 다르게 설정될 수 있다.
다른 예에 따르면, 제1 음성인식 결과에 따른 동작이 제2 화자가 미리 설정한 사후 통지 동작 리스트에 포함되는 경우, 인증 여부 결정부(217)는 기능부(215)에 의해 제1 음성인식 결과에 대응하는 동작이 먼저 실행되고, 제2 화자의 휴대장치(300)로 음성인식 결과 및 음성 신호를 송신하도록 결정할 수 있다. 사후 통지 동작 리스트는 메모리(220)에 저장될 수 있으며, 음성인식 스피커 장치(100)가 수행할 수 있는 동작들 중 일부의 동작이 미리 설정한 사후 통지 동작 리스트에 포함될 수 있다. 예컨대, 전화 걸기, 설정 변경 등과 같은 동작들이 미리 설정한 사후 통지 동작 리스트에 포함될 수 있다. 사후 통지 동작 리스트에 포함되는 동작들은 등록된 화자들마다 다르게 설정될 수 있다.
또 다른 예에 따르면, 인증 여부 결정부(217)는 제2 화자의 휴대장치(300)의 위치 및 현재 시간 중 적어도 하나가 사전 승인 조건에 부합하는 경우, 화자 인증부(214)의 동작을 실행하도록 결정할 수 있다. 예를 들면, 제2 화자의 휴대장치(300)의 위치가 음성인식 스피커 장치(100)의 위치와 가깝게 위치하는 경우, 예컨대, 제2 화자의 휴대장치(300)와 음성인식 스피커 장치(100)가 동일한 무선 와이파이 액세스 포인트에 접속되는 경우나, 제2 화자의 휴대장치(300)의 GPS 위치 또는 무선망 접속 위치가 음성인식 스피커 장치(100)의 위치와 실질적으로 일치하는 경우, 제2 화자가 음성 신호 수신부(211)에서 수신한 음성 신호에 포함되는 음성을 실제로 발화했을 가능성이 높으므로, 인증 여부 결정부(217)는 화자 인증부(214)의 동작을 생략할 수 있다. 등록된 화자들은 이러한 화자 인증부(214)의 동작의 생략 여부를 각각 설정할 수 있다.
인증 여부 결정부(217)는 제2 화자가 설정한 시간, 예컨대, 주중 낮 시간에는 화자 인증부(214)의 동작을 실행하도록 결정할 수 있다. 예컨대, 직장인인 제2 화자는 주중 낮 시간에는 집에 없을 가능성이 높으므로, 집에 위치한 음성인식 스피커 장치(100)가 제2 화자의 음성을 수신할 가능성이 낮다. 인증 여부 결정부(217)는 이러한 경우에 화자 인증부(214)의 동작을 실행하도록 결정할 수 있다. 등록된 화자들은 시간을 기초로 화자 인증부(214)의 동작을 실행할 것인지의 여부를 각각 설정할 수 있다.
사전 승인 조건은 제2 화자에 의해 미리 설정되어 메모리(220)에 저장될 수 있다. 또한, 현재 시간을 기초로 화자 인증부(214)의 동작을 실행하도록 결정하는 경우, 사전 승인 조건은 제2 화자의 행동 패턴에 기초하여 결정될 수 있다. 제2 화자의 행동 패턴은 제2 화자의 휴대장치(300)의 위치나 실행 동작을 기초로 생성될 수 있다. 예를 들면, 인증 여부 결정부(217)는 제2 화자의 휴대장치(300)의 위치를 오랜 시간 동안 수집할 수 있다. 인증 여부 결정부(217)는 휴대장치(300)의 위치를 분석하여 제2 화자가 음성인식 스피커 장치(100)와 가깝게 위치하지 않는 시간대를 결정할 수 있다. 인증 여부 결정부(217)는 현재 시간이 이 시간대에 해당하는 경우에 화자 인증부(214)의 동작을 실행하도록 자동적으로 결정할 수 있다.
도 5는 일 실시예에 따른 음성인식 시스템의 화자 검증 방법을 설명하기 위한 예시적인 흐름도이다.
도 5를 참조하면, 음성인식 시스템은 음성인식 스피커 장치(100)와 음성인식 서버(200)를 포함한다.
음성인식 스피커 장치(100)는 마이크로폰(도 2a의 120)을 이용하여 주변의 소리를 전기적으로 변환하여 오디오 신호를 생성할 수 있다(S101).
음성인식 스피커 장치(100)는 오디오 신호로부터 음성 신호를 검출할 수 있다(S102). 음성 신호는 사용자의 음성을 포함할 수 있다. 여기서 사용자는 제1 화자로 지칭한다. 음성은 제1 화자의 음성 명령을 포함할 수 있다. 음성 명령에는 음성 정보 검색, 전화 연결, 메시지 전송, 금융 거래, 인터넷 쇼핑, 음식 배달, 주변 가전 기기 제어, 스마트 홈 제어 등이 포함될 수 있다. 본 예에서는 음성 명령이 금융 거래에 관한 것으로서, 제1 화자의 음성이 "B에게 100만원 송금해줘"라고 가정한다. 제1 화자의 음성에는 음성인식 스피커 장치(100)를 웨이크업하기 위한 트리거 키워드가 포함될 수 있다. 음성인식 스피커 장치(100)는 트리거 키워드를 인식함으로써 오디오 신호로부터 음성 신호를 검출할 수 있다.
음성인식 스피커 장치(100)는 음성 신호를 음성인식 서버(200)로 송신하고, 음성인식 서버(200)는 음성인식 스피커 장치(100)로부터 음성 신호를 수신한다(S103).
음성인식 서버(200)는 음성 신호에 대하여 음성인식을 수행하여 제1 음성인식 결과를 생성한다(S104). 음성인식 서버(200)는 음성 신호의 주파수 특성을 추출하고, 음향 모델과 언어 모델을 이용하여 음성 인식을 수행할 수 있다. 음성인식 서버(200)는 음성 신호를 문자열로 변환하고, 문자열을 자연어 처리함으로써 음성인식 결과를 생성할 수 있다. 음성인식 결과는 제1 화자의 음성 명령을 포함할 수 있다.
음성인식 서버(200)는 음성 신호에서 제1 화자 특징 벡터를 추출한다(S105). 음성인식 서버(200)는 음향 모델로부터 추출된 사후 정보(states posteriors), 일반적 배경 모델, 및 전체 변이성 변환 정보 중 적어도 하나를 이용하여 음성 신호의 주파수 특성으로부터 제1 화자 특징 벡터를 생성할 수 있다.
음성인식 서버(200)는 제1 화자 특징 벡터와 등록된 화자 특징 벡터를 비교한다(S106). 등록된 화자 특징 벡터는 메모리(도 3의 220)에 저장될 수 있으며, 사용자가 음성인식 시스템에 등록할 때 입력되는 사용자의 음성을 기초로 미리 생성될 수 있다. 음성인식 서버(200)는 제1 화자 특징 벡터와 등록된 화자 특징 벡터 간의 유사도를 계산할 수 있다. 메모리(220)에는 음성인식 스피커 장치(100)의 정당한 사용자들에 각각 대응하는 복수의 화자 특징 벡터들이 저장될 수 있으며, 음성인식 서버(200)는 제1 화자 특징 벡터와 등록된 화자 특징 벡터들 각각 간의 유사도를 계산하고, 계산된 유사도들 중에서 가장 높은 유사도를 결정할 수 있다. 여기서, 등록된 화자 특징 벡터들 중에서 제1 화자 특징 벡터와 가장 높은 유사도를 갖는 등록된 화자 특징 벡터는 제2 화자 특징 벡터로 지칭되고, 가장 높은 유사도는 제1 유사도라고 지칭된다.
음성인식 서버(200)는 제1 유사도를 제1 기준치(ref1)와 비교한다(S107). 제1 기준치(ref1)는 음성인식 서버(200)의 화자 인식 성능에 따라 결정될 수 있다. 제1 유사도가 제1 기준치(ref1) 이상인 경우, 음성인식 서버(200)는 음성 신호의 화자가 제2 화자 특징 벡터에 대응되는 제2 화자라고 결정한다(S108). 여기서 제2 화자는 음성인식 시스템에 등록된 음성인식 스피커 장치(100)의 사용자들 중 하나이며, 등록된 제2 화자라고 지칭될 수 있다.
제1 유사도가 제1 기준치(ref1) 미만인 경우, 음성인식 서버(200)는 음성 신호의 화자가 등록되지 않은 사용자라고 결정하고, 제1 음성인식 결과에 대응하는 동작을 수행하지 않을 수 있다(S115). 이 경우, 음성인식 서버(200)는 예컨대 "음성의 화자가 식별되지 않아 동작을 수행하지 않았습니다. 음성을 다시 입력해 주세요"라는 합성음에 대응하는 합성음 신호를 생성할 수 있다(S116).
음성 신호의 화자가 제2 화자라고 결정된 경우, 음성인식 서버(200)는 제1 유사도를 제2 기준치(ref2)와 비교한다(S109). 제2 기준치(ref2)는 제1 기준치(ref1)보다 높으며, 음성인식 서버(200)의 화자 인식 성능에 따라 결정될 수 있다. 도 5에 도시된 단계들(S107 내지 S109)의 순서는 예시적이며, 이들의 순서는 달라질 수 있다.
제1 유사도가 제2 기준치(ref2) 이상인 경우, 제1 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 대단히 높은 것이므로, 음성인식 서버(200)는 음성 신호의 화자가 제2 화자라고 간주할 수 있다. 이 경우, 음성인식 서버(200)는 추가적인 인증 절차 없이 제1 음성인식 결과에 대응하는 동작을 실행할 수 있다(S114).
제1 유사도가 제2 기준치(ref2) 미만인 경우, 음성인식 서버(200)는 제1 화자가 제2 화자와 일치하는지의 여부를 추가로 확인하기 위해 인증 절차를 수행할 수 있다. 제2 화자는 일반적으로 제1 화자와 동일하다. 그러나, 음성인식 서버(200)의 화자 인식 기능의 오류로 인하여, 제2 화자는 제1 화자와 상이할 수 있다.
예를 들면, 제1 화자가 음성 명령을 발화하였으나, 음성인식 서버(200)는 화자 인식 기능의 오류로 인하여 음성 명령을 제1 화자와 다른 제2 화자가 발화한 것으로 인식할 수 있다. 이 경우, 음성인식 서버(200)는 제2 화자가 "B에게 100만원 송금해줘"라고 발화한 것으로 인식할 것이므로, 음성인식 서버(200)는 제2 화자의 계좌에서 B에게 100만원을 송금하는 문제가 발생한다.
다른 예로서, 제1 화자가 제2 화자의 목소리를 흉내내어 음성 명령을 발화하였고, 음성인식 서버(200)는 이 음성 명령을 제2 화자가 발화한 것으로 인식할 수 있다. 이 경우는 목소리 도용으로 인한 경우이다. 이 경우에도, 음성인식 서버(200)는 제2 화자가 "B에게 100만원 송금해줘"라고 발화한 것으로 인식할 것이므로, 음성인식 서버(200)는 제2 화자의 계좌에서 B에게 100만원을 송금하는 문제가 발생한다.
이러한 문제를 방지하기 위하여, 본 실시예에 따르면, 음성인식 서버(200)는 음성인식 스피커 장치(100)로 암호 발성을 요청할 수 있다. 암호 음성 요청은 음성인식 서버(200)로부터 음성인식 스피커 장치(100)로 전송될 수 있다(S110). 예를 들면, 음성인식 서버(200)는 예컨대 "암호를 말씀해주세요"라는 합성음에 대응되는 합성음 신호를 생성하여, 음성인식 스피커 장치(100)로 송신할 수 있다. 음성인식 스피커 장치(100)는 합성음 신호를 수신하고, 스피커(도 2의 130)를 이용하여 합성음을 재생할 수 있다.
음성인식 스피커 장치(100)를 사용하고 있는 제1 화자는 암호 음성 요청에 대응하여 암호를 발성할 수 있다. 음성인식 스피커 장치(100)는 제1 화자가 발성한 암호 음성을 포함하는 암호 음성 신호를 검출할 수 있다(S111). 암호 음성 신호는 음성인식 스피커 장치(100)로부터 음성인식 서버(200)로 전송될 수 있다(S112). 암호 음성 신호는 인증 음성 신호로 지칭될 수 있다.
음성인식 서버(200)는 수신된 암호 음성 신호를 기초로 제2 화자와 제1 화자 간의 동일성을 인증할 수 있다(S113). 음성인식 서버(200)가 음성인식 스피커 장치(100)로부터 암호 음성 신호를 미리 설정한 시간 내에 수신하지 못한 경우, 음성 신호의 화자가 제2 화자가 아니라고 결정하고 동일성을 부정할 수 있다.
단계(S113)의 일 예에 따르면, 음성인식 서버(200)는 수신된 암호 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성할 수 있다. 암호 음성 신호에 대한 음성인식과 제1 화자의 음성 신호에 대한 음성인식은 서로 동일한 방식으로 수행될 수 있다. 제2 음성인식 결과는 제1 화자가 발화한 암호 음성을 포함할 수 있다. 음성인식 서버(200)는 제2 음성인식 결과에서 암호에 해당하는 부분을 검출할 수 있다.
음성인식 서버(200)는 제2 음성인식 결과를 제2 화자의 등록된 암호와 비교할 수 있다. 제2 화자의 등록된 암호는 제2 화자가 음성인식 시스템에 음성인식 스피커 장치(100)의 사용자로 등록할 때 제2 화자에 의해 미리 등록되었을 수 있으며, 메모리(220)에 저장되어 있을 수 있다.
음성인식 서버(200)는 제2 음성인식 결과와 제2 화자의 암호가 실질적으로 동일하면, 예컨대, 제2 음성인식 결과에 제2 화자의 암호가 포함되어 있으면, 제1 화자와 제2 화자가 서로 동일하다고 판단하여, 제1 화자와 제2 화자 간의 동일성이 인증될 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 따른 동작을 실행할 수 있다(S114). 이 경우, 음성인식 서버(200)는 예컨대 "제2 화자의 계좌에서 B에게 100만원을 송금하였습니다."라는 합성음에 대응하는 합성음 신호를 생성할 수 있다(S116).
음성인식 서버(200)는 제2 음성인식 결과와 제2 화자의 암호가 실질적으로 동일하지 않으면, 제1 화자와 제2 화자가 서로 상이하다고 판단하여, 제1 화자와 제2 화자 간의 동일성 인증에 실패한 것으로 판단할 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S115). 이 경우, 음성인식 서버(200)는 예컨대 "암호가 일치하지 않아 동작을 수행하지 않았습니다."라는 합성음에 대응하는 합성음 신호를 생성할 수 있다(S116).
단계(S113)의 다른 예에 따르면, 음성인식 서버(200)는 수신된 암호 음성 신호에서 제3 화자 특징 벡터를 추출할 수 있다. 음성인식 서버(200)는 제3 화자 특징 벡터를 제2 화자의 등록된 암호 음성 신호에서 추출된 제4 화자 특징 벡터와 비교할 수 있다. 제2 화자의 등록된 암호 음성 신호는 제2 화자가 음성인식 시스템에 음성인식 스피커 장치(100)의 사용자로 등록할 때 제2 화자가 발성한 암호 음성을 기초로 미리 생성되어, 메모리(220)에 저장되어 있을 수 있다. 또한, 제4 화자 특징 벡터도 역시 제2 화자의 등록된 암호 음성 신호가 생성될 때 등록된 암호 음성 신호로부터 추출되어, 메모리(220)에 저장되어 있을 수 있다. 메모리(220)에는 제4 화자 특징 벡터만 저장되고 제2 화자의 등록된 암호 음성 신호는 저장되지 않을 수도 있다.
음성인식 서버(200)는 제3 화자 특징 벡터와 제4 화자 특징 벡터 간의 유사도가 미리 설정한 기준치보다 높으면, 제1 화자와 제2 화자가 서로 동일하다고 판단하여, 제1 화자와 제2 화자 간의 동일성이 인증될 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 따른 동작을 실행할 수 있다(S114). 제3 화자 특징 벡터와 제4 화자 특징 벡터는 동일한 암호를 발성한 음성을 포함하는 음성 신호들에서 추출된 것이므로, 유사도 결과의 신뢰도가 높을 수 있다.
음성인식 서버(200)는 제3 화자 특징 벡터와 제4 화자 특징 벡터 간의 유사도가 미리 설정한 기준치보다 낮으면, 제1 화자와 제2 화자가 서로 상이하다고 판단하여, 제1 화자와 제2 화자 간의 동일성 인증에 실패한 것으로 판단하고, 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S115).
단계(S113)의 또 다른 예에 따르면, 음성인식 서버(200)는 수신된 암호 음성 신호에서 제3 화자 특징 벡터를 추출할 수 있다. 음성인식 서버(200)는 제3 화자 특징 벡터를 제2 화자의 등록된 암호 음성 신호에서 추출된 제4 화자 특징 벡터와 비교할 수 있다.
음성인식 서버(200)는 수신된 암호 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성할 수 있다. 제2 음성인식 결과는 제1 화자가 발화한 암호 음성을 포함할 수 있으며, 음성인식 서버(200)는 제2 음성인식 결과에서 암호에 해당하는 부분을 검출할 수 있다. 음성인식 서버(200)는 제2 음성인식 결과를 제2 화자의 등록된 암호 음성 신호의 제3 음성인식 결과와 비교할 수 있다. 제3 음성인식 결과는 제2 화자의 등록된 암호 음성 신호가 생성될 때 제2 화자의 등록된 암호 음성 신호에 대하여 음성인식이 수행된 결과로서, 메모리(220)에 미리 저장되어 있을 수 있다. 제3 음성인식 결과도 역시 제2 화자가 발화한 암호 음성을 포함할 수 있으며, 음성인식 서버(200)는 제3 음성인식 결과에서 암호에 해당하는 부분을 검출할 수 있다.
음성인식 서버(200)는 제3 화자 특징 벡터와 제4 화자 특징 벡터 간의 유사도가 미리 설정한 기준치보다 높고 제2 음성인식 결과와 제3 음성 인식 결과가 실질적으로 동일하면, 제1 화자와 제2 화자 간의 동일성이 인증될 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 따른 동작을 실행할 수 있다(S114).
음성인식 서버(200)는 제3 화자 특징 벡터와 제4 화자 특징 벡터 간의 유사도가 미리 설정한 기준치보다 낮거나 제2 음성인식 결과와 제3 음성 인식 결과가 실질적으로 동일하지 않으면, 제1 화자와 제2 화자가 서로 상이하다고 판단하여, 제1 화자와 제2 화자 간의 동일성 인증에 실패한 것으로 판단하고, 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S115).
음성인식 서버(200)는 단계(S113)에서 제1 화자와 제2 화자 간의 동일성이 인증되거나 단계(S109)에서 제1 유사도가 제2 기준치(ref2) 이상이면, 제1 음성인식 결과에 대응하는 동작을 실행할 수 있다(S114). 음성인식 서버(200)는 제1 음성인식 결과에 대응하는 동작을 실행한 결과를 보고하기 위한 합성음 신호를 생성할 수 있다(S116).
음성인식 서버(200)는 단계(S113)에서 제1 화자와 제2 화자 간의 동일성이 인증되지 않거나, 단계(S107)에서 제1 유사도가 제1 기준치(ref1) 미만이면, 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S115). 음성인식 서버(200)는 제1 음성인식 결과에 대응하는 동작을 실행하지 않았음을 보고하기 위한 합성음 신호를 생성할 수 있다(S116).
음성인식 서버(200)는 생성된 합성음 신호를 음성인식 스피커 장치(100)로 송신할 수 있다(S117). 음성인식 스피커 장치(100)는 합성음 신호에 대응하는 합성음을 재생할 수 있다(S118). 따라서, 음성 신호의 음성을 발화했던 제1 화자는 자신의 음성 명령의 실행 결과를 직접 확인할 수 있다.
다른 실시예에 따라, 단계(S114)에서 제1 화자와 제2 화자의 동일성이 확인된 것이므로, 음성인식 서버(200)는 제1 음성인식 결과에 대응하는 동작을 실행하면서 제1 화자 특징 벡터를 이용하여 제2 화자의 등록된 제2 화자 특징 벡터를 개선할 수 있다.
도 6은 다른 실시예에 따른 음성인식 시스템의 화자 검증 방법을 설명하기 위한 예시적인 흐름도이다.
도 6을 참조하면, 음성인식 시스템은 음성인식 스피커 장치(100)와 음성인식 서버(200)를 포함한다. 제2 화자의 휴대장치(300)는 음성인식 서버(200)에 네트워크를 통해 접속된다.
도 6에 도시되는 단계들(S201-S209) 및 단계들(S216-S220)은 도 5를 참조로 앞에서 설명된 단계들(S101-S109) 및 단계들(S114-S118)과 각각 실질적으로 동일하므로, 이들에 대해서는 반복하여 설명하지 않는다. 아래에서는 도 5의 실시예와 차이가 나는 단계들(S210 내지 S215)을 중심으로 설명한다.
단계(S207 내지 S209)에서, 제1 유사도가 제1 기준치(ref1) 이상이고 제2 기준치(ref2) 미만인 경우, 음성인식 서버(200)는 음성신호의 화자가 제2 화자라고 결정하면서 제1 화자가 제2 화자와 일치하는지의 여부를 추가로 확인하기 위해 인증 절차를 수행할 수 있다.
음성인식 서버(200)는 인증 절차를 위해 원타임 패스워드를 생성하고(S210), 생성된 원타임 패스워드를 제2 화자의 휴대장치(300)로 전송할 수 있다(S211). 전술한 바와 같이 휴대장치(300)의 식별번호는 제2 화자가 음성인식 시스템에 사용자로 등록할 때 함께 입력되어 메모리(220)에 저장되어 있을 수 있다. 원타임 패스워드는 문자 메시지, 채팅 어플의 텍스트 메시지, 원타임 패스워드를 포함하는 이미지 등의 방식으로 음성인식 서버(200)에서 휴대장치(300)로 전송될 수 있다. 예컨대, 원타임 패스워드는 단수 또는 복수 자리의 숫자일 수 있다. 다른 예에 따르면, 원타임 패스워드는 텍스트 단어, 텍스트 문장, 또는 사물 이미지일 수도 있다.
휴대장치(300)는 원타임 패스워드를 수신하고 이를 디스플레이 창에 표시할 수 있다(S212). 휴대장치(300)의 소유자인 제2 화자는 디스플레이 창에 표시된 원타임 패스워드를 확인할 수 있다(S212a). 예컨대, 휴대장치(300)의 디스플레이 창에는 "인증번호는 XXX입니다. 인증 버튼을 누른 후 음성인식 스피커 장치 앞에서 인증번호를 말해주세요."라는 메시지를 포함하는 알림 창이 활성화될 수 있다. 알림 창에는 인증 버튼과 함께 남은 시간이 표시될 수 있다.
제2 화자는 알림 창의 메시지를 확인하고, 인증 버튼을 누른 후 음성인식 스피커 장치 앞에서 원타임 패스워드로 지정된 인증번호를 발화할 수 있다(S212a). 음성인식 스피커 장치(100)는 제2 화자가 발화한 인증번호의 음성을 포함하는 인증 음성 신호를 검출할 수 있다(S213). 인증 음성 신호는 음성인식 스피커 장치(100)로부터 음성인식 서버(200)로 전송될 수 있다(S214).
음성인식 서버(200)는 수신된 인증 음성 신호를 기초로 제2 화자와 제1 화자의 동일성을 인증할 수 있다(S215). 음성인식 서버(200)가 음성인식 스피커 장치(100)로부터 인증 음성 신호를 미리 설정한 시간 내에 수신하지 못한 경우, 음성 신호의 화자가 제2 화자가 아니라고 결정하고 동일성을 부정할 수 있다.
단계(S215)의 일 예에 따르면, 음성인식 서버(200)는 수신된 인증 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성할 수 있다. 제2 음성인식 결과는 제1 화자가 발화한 원타임 패스워드 또는 인증번호의 음성을 포함할 수 있다. 음성인식 서버(200)는 제2 음성인식 결과에서 원타임 패스워드 또는 인증번호에 해당하는 부분을 검출할 수 있다. 인증 음성 신호에 대한 음성인식과 제1 화자의 음성 신호에 대한 음성인식은 서로 동일한 방식으로 수행될 수 있다. 다른 예에 따르면, 원타임 패스워드는 단수 또는 복수 자리의 숫자일 수 있다. 이 경우, 인증 음성 신호는 숫자를 발화한 음성을 포함하며, 인증 음성 신호에 대해 음성인식을 수행할 때 숫자에 특화된 언어 모델이 사용될 수 있다. 이에 반하여, 제1 화자의 음성 신호에 대한 음성인식은 문자에 특화된 언어 모델을 사용하여 수행될 수 있다.
음성인식 서버(200)는 제2 음성인식 결과를 음성인식 서버(200)가 단계(S210)에서 생성한 원타임 패스워드 또는 지정번호와 비교할 수 있다.
음성인식 서버(200)는 제2 음성인식 결과가 원타임 패스워드 또는 지정번호와 실질적으로 동일하면, 예컨대, 제2 음성인식 결과에 원타임 패스워드 또는 지정번호가 포함되면, 제1 화자와 제2 화자가 서로 동일하다고 판단하여, 제1 화자와 제2 화자 간의 동일성이 인증될 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 따른 동작을 실행할 수 있다(S216). 이 경우, 음성인식 서버(200)는 동작의 실행을 보고하기 위한 합성음 신호를 생성할 수 있다(S218).
음성인식 서버(200)는 제2 음성인식 결과와 원타임 패스워드가 실질적으로 동일하지 않으면, 예컨대, 제2 음성인식 결과에 원타임 패스워드 또는 지정번호가 포함되지 않으면, 제1 화자와 제2 화자가 서로 상이하다고 판단하여, 제1 화자와 제2 화자 간의 동일성 인증에 실패한 것으로 판단할 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S217). 이 경우, 음성인식 서버(200)는 동작의 미실행을 보고하기 위한 합성음 신호를 생성할 수 있다(S218).
단계(S215)의 다른 예에 따르면, 음성인식 서버(200)는 수신된 인증 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성할 수 있다. 음성인식 서버(200)는 제2 음성인식 결과를 원타임 패스워드와 비교할 수 있다.
음성인식 서버(200)는 수신된 인증 음성 신호에서 제3 화자 특징 벡터를 추출할 수 있다. 음성인식 서버(200)는 제3 화자 특징 벡터를 제2 화자의 등록된 화자 특징 벡터, 즉, 제2 화자 특징 벡터와 비교할 수 있다. 일 예에 따라서, 원타임 패스워드가 숫자로 이루어진 경우, 음성인식 서버(200)는 숫자에 특화된 특징 벡터를 기준으로 제2 화자 특징 벡터와 제3 화자 특징 벡터를 서로 비교할 수 있다. 또한, 제2 화자가 사용자 등록할 때, 제2 화자 특징 벡터를 생성하기 위해 제2 화자는 음성인식 시스템이 제시하는 특정 문장을 발화하는데, 상기 특정 문장은 숫자가 잘 인식되는 문장으로 선택될 수 있다.
음성인식 서버(200)는 제2 음성인식 결과와 원타임 패스워드가 실질적으로 동일하고 제3 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 미리 설정한 기준치보다 높으면, 제1 화자와 제2 화자가 서로 동일하다고 판단하여, 제1 화자와 제2 화자 간의 동일성이 인증될 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 따른 동작을 실행할 수 있다(S216).
음성인식 서버(200)는 제2 음성인식 결과와 원타임 패스워드가 실질적으로 동일하지 않거나 제3 화자 특징 벡터와 제2 화자 특징 벡터 간의 유사도가 미리 설정한 기준치보다 낮으면, 제1 화자와 제2 화자가 서로 상이하다고 판단하여, 제1 화자와 제2 화자 간의 동일성 인증에 실패한 것으로 판단하고, 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S217).
음성인식 서버(200)는 단계(S215)에서 제1 화자와 제2 화자 간의 동일성이 인증되거나 단계(S209)에서 제1 유사도가 제2 기준치(ref2) 이상이면, 제1 음성인식 결과에 대응하는 동작을 실행할 수 있다(S216). 음성인식 서버(200)는 단계(S215)에서 제1 화자와 제2 화자 간의 동일성이 인증되지 않거나, 단계(S207)에서 제1 유사도가 제1 기준치(ref1) 미만이면, 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S217).
도 7은 다른 실시예에 따른 음성인식 시스템의 화자 검증 방법을 설명하기 위한 예시적인 흐름도이다.
도 7을 참조하면, 음성인식 시스템은 음성인식 스피커 장치(100)와 음성인식 서버(200)를 포함한다. 제2 화자의 휴대장치(300)는 음성인식 서버(200)에 네트워크를 통해 접속된다.
도 7에 도시되는 단계들(S301-S309) 및 단계들(S314-S318)은 도 5를 참조로 앞에서 설명된 단계들(S101-S109) 및 단계들(S114-S118)과 각각 실질적으로 동일하므로, 이들에 대해서는 반복하여 설명하지 않는다. 아래에서는 도 5의 실시예와 차이가 나는 단계들(S310 내지 S313)을 중심으로 설명한다.
단계(S307 내지 S309)에서, 제1 유사도가 제1 기준치(ref1) 이상이고 제2 기준치(ref2) 미만인 경우, 음성인식 서버(200)는 음성신호의 화자가 제2 화자라고 결정하면서 제1 화자가 제2 화자와 일치하는지의 여부를 추가로 확인하기 위해 인증 절차를 수행할 수 있다.
음성인식 서버(200)는 인증 절차를 위해 제2 화자의 휴대장치(300)로 제2 화자에게 제1 화자의 음성과 동일한 내용을 발화하도록 요청할 수 있다(S310). 여기서, 제1 화자의 음성은 단계(S302)에서 음성인식 스피커 장치가 검출한 음성 신호에 포함된 음성을 의미한다. 제2 화자와 제1 화자가 동일하다면, 제2 화자는 단계(S302)에서 수신된 음성 신호의 내용을 알고 있으며, 이는 제1 화자, 즉, 제2 화자만이 알고 있으므로 비밀성이 있다.
휴대장치(300)는 동일 내용 발화 요청을 수신하고, 이를 외부에, 예컨대, 디스플레이 창에 표시할 수 있다. 예컨대, 휴대장치(300)의 디스플레이 창에는 "음성인식 스피커 장치에서 제2 화자의 이름으로 명령이 수행되었습니다. 이 명령을 다시 말씀해주세요. "라는 메시지를 포함하는 알림 창이 활성화될 수 있다. 휴대장치(300)의 소유자인 제2 화자는 동일 내용 발화 요청에 따라 동일한 내용의 음성을 발화할 수 있다. 휴대 장치(300)는 동일 내용의 음성을 포함하는 인증 음성 신호를 검출할 수 있다(S311). 인증 음성 신호는 휴대장치(300)로부터 음성인식 서버(200)로 전송될 수 있다(S312).
음성인식 서버(200)는 수신된 인증 음성 신호를 기초로 제2 화자와 제1 화자의 동일성을 인증할 수 있다(S313). 음성인식 서버(200)가 휴대장치(300)로부터 인증 음성 신호를 미리 설정한 시간 내에 수신하지 못한 경우, 음성 신호의 화자가 제2 화자가 아니라고 결정하고 동일성을 부정할 수 있다.
단계(S313)의 일 예에 따르면, 음성인식 서버(200)는 수신된 인증 음성 신호와 단계(S303)에서 수신되는 제1 화자의 음성 신호를 비교할 수 있다. 인증 음성 신호와 제1 화자의 음성 신호는 비슷한 시점에 생성되었고, 실질적으로 동일 내용의 음성을 포함하므로, 유사한 파형을 가질 수 있다. 인증 음성 신호와 제1 화자의 음성 신호의 비교는 파형, 주파수 스펙트럼 등에 대해 이루어질 수 있다. 인증 음성 신호와 음성 신호의 비교 방식은 제한되지 않는다. 인증 음성 신호와 음성 신호의 비교 결과, 인증 음성 신호와 음성 신호 간의 유사도가 산출될 수 있다.
음성인식 서버(200)는 비교 결과로서 산출된 유사도가 미리 설정한 기준치를 초과하면, 제1 화자와 제2 화자가 서로 동일하다고 판단하여, 제1 화자와 제2 화자 간의 동일성이 인증될 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 따른 동작을 실행할 수 있다(S314). 음성인식 서버(200)는 유사도가 미리 설정한 기준치보다 낮으면, 제1 화자와 제2 화자가 서로 상이하다고 판단하여, 제1 화자와 제2 화자 간의 동일성 인증에 실패한 것으로 판단할 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S315).
단계(S313)의 다른 예에 따르면, 음성인식 서버(200)는 수신된 인증 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성할 수 있다. 인증 음성 신호에 대한 음성인식과 제1 화자의 음성 신호에 대한 음성인식은 서로 동일한 방식으로 수행될 수 있다. 음성인식 서버(200)는 제2 음성인식 결과를 제1 화자의 음성 신호에 대한 제1 음성인식 결과와 비교할 수 있다.
음성인식 서버(200)는 제2 음성인식 결과와 제1 음성인식 결과가 실질적으로 동일하면, 예컨대, 제2 음성인식 결과와 제1 음성인식 결과가 의미론적으로 동일하면, 제1 화자와 제2 화자가 서로 동일하다고 판단하여, 제1 화자와 제2 화자 간의 동일성이 인증될 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 따른 동작을 실행할 수 있다(S314).
음성인식 서버(200)는 제2 음성인식 결과와 제1 음성인식 결과가 실질적으로 동일하지 않으면, 제1 화자와 제2 화자가 서로 상이하다고 판단하여, 제1 화자와 제2 화자 간의 동일성 인증에 실패한 것으로 판단할 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S315).
단계(S313)의 또 다른 예에 따르면, 음성인식 서버(200)는 수신된 인증 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성할 수 있다. 음성인식 서버(200)는 제2 음성인식 결과를 제1 화자의 음성 신호에 대한 제1 음성인식 결과와 비교할 수 있다.
음성인식 서버(200)는 수신된 인증 음성 신호에서 제3 화자 특징 벡터를 추출할 수 있다. 음성인식 서버(200)는 제3 화자 특징 벡터를 제1 화자 특징 벡터와 비교할 수 있다. 제2 화자의 인증 음성 신호와 제1 화자의 음성 신호는 동일한 내용을 포함하고 비슷한 시점에 생성되었으므로, 제2 화자와 제1 화자가 동일하다면, 제3 화자 특징 벡터와 제1 화자 특징 벡터는 서로 쉽게 비교될 수 있으며, 높은 유사도가 산출될 것이다.
음성인식 서버(200)는 제2 음성인식 결과와 제1 음성인식 결과가 실질적으로 동일하고 제3 화자 특징 벡터와 제1 화자 특징 벡터 간의 유사도가 미리 설정한 기준치보다 높으면, 제1 화자와 제2 화자가 서로 동일하다고 판단하여, 제1 화자와 제2 화자 간의 동일성이 인증될 수 있다. 이 경우, 음성인식 서버(200)는 제1 음성인식 결과에 따른 동작을 실행할 수 있다(S314).
음성인식 서버(200)는 제2 음성인식 결과와 제1 음성인식 결과가 실질적으로 동일하지 않거나 제3 화자 특징 벡터와 제1 화자 특징 벡터 간의 유사도가 미리 설정한 기준치보다 낮으면, 제1 화자와 제2 화자가 서로 상이하다고 판단하여, 제1 화자와 제2 화자 간의 동일성 인증에 실패한 것으로 판단하고, 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S315).
음성인식 서버(200)는 단계(S313)에서 제1 화자와 제2 화자 간의 동일성이 인증되거나 단계(S309)에서 제1 유사도가 제2 기준치(ref2) 이상이면, 제1 음성인식 결과에 대응하는 동작을 실행할 수 있다(S314). 음성인식 서버(200)는 단계(S313)에서 제1 화자와 제2 화자 간의 동일성이 인증되지 않거나, 단계(S307)에서 제1 유사도가 제1 기준치(ref1) 미만이면, 제1 음성인식 결과에 대응하는 동작을 실행하지 않을 수 있다(S315).
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
본 명세서에서, "부", "모듈" 등은 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다. 예를 들면, "부", "모듈" 등은 소프트웨어 구성 요소들, 객체 지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들에 의해 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 음성인식 스피커 장치
110: 프로세서
120: 마이크로폰
130: 스피커
140: 통신 모듈
200: 음성인식 서버
210: 프로세서
220: 메모리
230: 통신 모듈
300: 휴대장치

Claims (18)

  1. 음성인식 장치와 음성인식 서버를 포함하는 음성인식 시스템에 있어서,
    상기 음성인식 서버에 의하여,
    상기 음성인식 장치로부터 제1 화자의 음성을 포함하는 음성 신호를 수신하는 단계;
    상기 음성 신호에 대하여 음성인식을 수행하여 제1 음성인식 결과를 생성하는 단계;
    상기 음성 신호에서 제1 화자 특징 벡터를 추출하고 상기 제1 화자 특징 벡터와 등록된 화자 특징 벡터(registered speaker feature vector) 간의 유사도를 계산하는 단계;
    상기 유사도가 제1 기준치 이상인 경우, 상기 음성 신호의 화자가 등록된 제2 화자(registered second speaker)라고 결정하는 단계;
    상기 제2 화자의 휴대장치로 상기 제1 화자의 음성과 동일한 내용을 발화하도록 요청하는 인증 음성 요청 단계;
    상기 제2 화자의 휴대장치로부터 인증 음성을 포함하는 인증 음성 신호를 수신하는 단계;
    상기 인증 음성 신호를 기초로 상기 제2 화자와 상기 제1 화자 간의 동일성을 인증하는 단계; 및
    상기 동일성이 인증되면, 상기 제1 음성인식 결과에 대응하는 동작을 실행하는 단계를 포함하는 음성인식 시스템의 화자 인증 방법.
  2. 제1 항에 있어서,
    상기 등록된 제2 화자(registered second speaker)는 상기 음성인식 시스템에 등록된 복수의 사용자들 중 하나인 것을 특징으로 하는 음성인식 시스템의 화자 인증 방법.
  3. 제1 항에 있어서,
    상기 음성인식 장치로 암호를 발성할 것을 요청하는 단계; 및
    상기 음성인식 장치로부터 암호 음성을 포함하는 암호 음성 신호를 수신하는 단계;
    상기 음성인식 장치로부터 수신된 상기 암호 음성 신호와 상기 제2 화자의 등록된 암호 음성 신호(registered password speech signal)를 비교하여, 상기 제1 화자와 상기 제2 화자 간의 동일성을 판단하는 단계를 더 포함하는 것을 특징으로 하는 음성인식 시스템의 화자 인증 방법.
  4. 제3 항에 있어서,
    상기 동일성을 판단하는 단계는,
    상기 암호 음성 신호에서 제2 화자 특징 벡터를 추출하는 단계;
    상기 제2 화자 특징 벡터를 상기 제2 화자의 등록된 암호 음성 신호(registered password speech signal)에서 추출된 화자 특징 벡터와 비교하는 단계; 및
    적어도 상기 비교 결과에 기초하여 상기 제1 화자와 상기 제2 화자 간의 동일성을 판단하는 단계를 포함하는 것을 특징으로 하는 음성인식 시스템의 화자 인증 방법.
  5. 제1 항에 있어서,
    원타임 패스워드(onetime password)를 생성하는 단계;
    상기 제2 화자의 휴대장치로 상기 원타임 패스워드를 송신하는 단계; 및
    상기 음성인식 장치로부터 상기 원타임 패스워드를 발성한 음성을 포함하는 원타임 패스워드 음성 신호를 수신하는 단계를 포함하는 것을 특징으로 하는 음성인식 시스템의 화자 인증 방법.
  6. 제5 항에 있어서,
    상기 원타임 패스워드 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성하는 단계;
    상기 제2 음성인식 결과를 상기 원타임 패스워드와 비교하는 단계; 및
    적어도 상기 비교 결과에 기초하여 상기 제1 화자와 상기 제2 화자 간의 동일성을 판단하는 단계를 더 포함하는 것을 특징으로 하는 음성인식 시스템의 화자 인증 방법.
  7. 제5 항에 있어서,
    상기 원타임 패스워드 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성하는 단계;
    상기 원타임 패스워드 음성 신호에서 제2 화자 특징 벡터를 추출하는 단계;
    상기 제2 음성인식 결과와 상기 원타임 패스워드 간의 동일성 및 상기 제2 화자 특징 벡터와 상기 제2 화자의 등록된 화자 특징 벡터 간의 유사도에 기초하여 상기 제1 화자와 상기 제2 화자 간의 동일성을 판단하는 단계를 더 포함하는 것을 특징으로 하는 음성인식 시스템의 화자 인증 방법.
  8. 삭제
  9. 제1 항에 있어서,
    상기 동일성을 인증하는 단계는,
    상기 음성 신호를 상기 인증 음성 신호와 비교하는 단계; 및
    적어도 상기 비교 결과에 기초하여 상기 제1 화자와 상기 제2 화자 간의 동일성을 판단하는 단계를 포함하는 것을 특징으로 하는 음성인식 시스템의 화자 인증 방법.
  10. 제1 항에 있어서,
    상기 동일성을 인증하는 단계는,
    상기 인증 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성하는 단계;
    상기 제2 음성인식 결과를 상기 제1 음성인식 결과와 비교하는 단계; 및
    적어도 상기 비교 결과에 기초하여 상기 제1 화자와 상기 제2 화자 간의 동일성을 판단하는 단계를 포함하는 것을 특징으로 하는 음성인식 시스템의 화자 인증 방법.
  11. 제1 항에 있어서,
    상기 유사도가 상기 제1 기준치보다 높은 제2 기준치 이상인 경우, 상기 음성 신호의 화자가 상기 등록된 제2 화자라고 결정한 후, 상기 인증 음성 요청 단계, 상기 인증 음성 신호를 수신하는 단계, 및 상기 동일성을 인증하는 단계를 수행하지 않고, 상기 제1 음성인식 결과에 대응하는 동작을 실행하는 단계를 포함하는 음성인식 시스템의 화자 인증 방법.
  12. 제1 항에 있어서,
    상기 유사도가 상기 제1 기준치 미만인 경우, 상기 음성 신호의 화자가 등록되지 않은 사용자라고 결정하고, 상기 인증 음성 요청 단계, 상기 인증 음성 신호를 수신하는 단계, 및 상기 동일성을 인증하는 단계를 수행하지 않고, 상기 제1 음성인식 결과에 대응하는 동작을 실행하지 않는 단계를 포함하는 음성인식 시스템의 화자 인증 방법.
  13. 음성인식 시스템의 음성인식 서버의 프로세서가 제1항 내지 제7항 및 제9항 내지 제12항 중 어느 한 항의 화자 인증 방법을 실행하도록 하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
  14. 음성인식 장치 및 휴대장치와 통신하는 통신 모듈; 및
    상기 통신 모듈을 이용하여 상기 음성인식 장치로부터 제1 화자의 음성을 포함하는 음성 신호를 수신하고,
    상기 음성 신호에 대하여 음성인식을 수행하여 제1 음성인식 결과를 생성하고,
    상기 음성 신호에서 제1 화자 특징 벡터를 추출하고 상기 제1 화자 특징 벡터와 등록된 화자 특징 벡터(registered speaker feature vector) 간의 유사도를 계산하고,
    상기 유사도가 제1 기준치 이상인 경우, 상기 음성 신호의 화자가 등록된 제2 화자(registered second speaker)라고 결정하고,
    상기 제2 화자의 휴대장치로 상기 제1 화자의 음성과 동일한 내용을 발화하도록 요청하고,
    상기 제2 화자의 휴대장치로부터 인증 음성을 포함하는 인증 음성 신호를 수신하고,
    상기 인증 음성 신호를 기초로 상기 제2 화자와 상기 제1 화자 간의 동일성을 인증하고,
    상기 동일성이 인증되면, 상기 제1 음성인식 결과에 대응하는 동작을 실행하도록 구성되는 프로세서를 포함하는 음성인식 서버.
  15. 제14항에 있어서,
    상기 프로세서는,
    상기 인증 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성하고,
    상기 제2 음성인식 결과를 상기 제1 음성인식 결과와 비교하고,
    적어도 상기 비교 결과에 기초하여 상기 제1 화자와 상기 제2 화자 간의 동일성을 판단하도록 구성되는 것을 특징으로 하는 음성인식 서버.
  16. 제14 항 또는 제15 항의 음성인식 서버와 통신할 수 있는 통신 모듈;
    오디오 신호를 생성하는 마이크로폰;
    상기 오디오 신호로부터 제1 화자의 음성을 포함하는 음성 신호를 검출하고, 상기 음성 신호를 상기 음성인식 서버로 송신하고, 상기 음성인식 서버로부터 합성음 신호를 수신하도록 구성되는 프로세서; 및
    상기 합성음 신호에 대응하는 합성음을 재생하는 스피커를 포함하는 음성인식 장치.
  17. 음성인식 서버와 음성인식 장치를 포함하는 음성인식 시스템으로서,
    상기 음성인식 장치는 상기 음성인식 서버와 통신하는 제1 통신 모듈, 오디오 신호를 생성하는 마이크로폰, 상기 오디오 신호로부터 제1 화자의 음성을 포함하는 음성 신호를 검출하고 상기 음성 신호를 상기 음성인식 서버로 송신하고 상기 음성인식 서버로부터 합성음 신호를 수신하도록 구성되는 제1 프로세서, 및 상기 합성음 신호에 대응하는 합성음을 재생하는 스피커를 포함하고,
    상기 음성인식 서버는 제2 프로세서, 및 상기 음성인식 장치 및 휴대장치와 통신하는 제2 통신 모듈을 포함하고,
    상기 제2 프로세서는,
    상기 음성인식 장치로부터 상기 음성 신호를 수신하고,
    상기 음성 신호에 대하여 음성인식을 수행하여 제1 음성인식 결과를 생성하고,
    상기 음성 신호에서 제1 화자 특징 벡터를 추출하고 상기 제1 화자 특징 벡터와 등록된 화자 특징 벡터(registered speaker feature vector) 간의 유사도를 계산하고,
    상기 유사도가 제1 기준치 이상인 경우, 상기 음성 신호의 화자가 등록된 제2 화자(registered second speaker)라고 결정하고,
    상기 제2 화자의 휴대장치로 상기 제1 화자의 음성과 동일한 내용을 발화하도록 요청하고,
    상기 제2 화자의 휴대장치로부터 인증 음성을 포함하는 인증 음성 신호를 수신하고,
    상기 인증 음성 신호를 기초로 상기 제2 화자와 상기 제1 화자 간의 동일성을 인증하고,
    상기 동일성이 인증되면, 상기 제1 음성인식 결과에 대응하는 동작을 실행하도록 구성되는 것을 특징으로 하는 음성인식 시스템.
  18. 제17항에 있어서,
    상기 제2 프로세서는,
    상기 인증 음성 신호에 대하여 음성인식을 수행하여 제2 음성인식 결과를 생성하고,
    상기 제2 음성인식 결과를 상기 제1 음성인식 결과와 비교하고,
    적어도 상기 비교 결과에 기초하여 상기 제1 화자와 상기 제2 화자 간의 동일성을 판단하도록 구성되는 것을 특징으로 하는 음성인식 시스템.


KR1020170094969A 2017-07-26 2017-07-26 화자 인증 방법 및 음성인식 시스템 KR102002903B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170094969A KR102002903B1 (ko) 2017-07-26 2017-07-26 화자 인증 방법 및 음성인식 시스템
JP2018140621A JP6738867B2 (ja) 2017-07-26 2018-07-26 話者認証方法及び音声認識システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170094969A KR102002903B1 (ko) 2017-07-26 2017-07-26 화자 인증 방법 및 음성인식 시스템

Publications (2)

Publication Number Publication Date
KR20190012066A KR20190012066A (ko) 2019-02-08
KR102002903B1 true KR102002903B1 (ko) 2019-07-23

Family

ID=65365263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170094969A KR102002903B1 (ko) 2017-07-26 2017-07-26 화자 인증 방법 및 음성인식 시스템

Country Status (2)

Country Link
JP (1) JP6738867B2 (ko)
KR (1) KR102002903B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102135182B1 (ko) * 2019-04-05 2020-07-17 주식회사 솔루게이트 성문인식을 통한 인공지능 스피커 맞춤형 개인화 서비스 시스템
JP2020187423A (ja) * 2019-05-10 2020-11-19 コニカミノルタ株式会社 画像形成システム、画像形成装置、および制御方法
KR102203161B1 (ko) * 2019-06-13 2021-01-14 대한민국 음성파일에 대한 화자인식장치 및 음성파일에 대한 화자인식시스템 그리고 음성파일에 대한 화자인식방법
EP4018439A1 (en) * 2019-08-21 2022-06-29 Dolby Laboratories Licensing Corporation Systems and methods for adapting human speaker embeddings in speech synthesis
JP6700531B1 (ja) * 2020-01-20 2020-05-27 株式会社白紙とロック 認証方法、認証システム、スマートスピーカ及びプログラム
KR102444003B1 (ko) * 2020-11-30 2022-09-15 경희대학교 산학협력단 음성 이미지 기반 사용자 인증 장치 및 그 방법
KR102283167B1 (ko) * 2021-05-25 2021-07-29 (주)한컴인텔리전스 통화 연결 시 음성 기반의 발신자 인증을 수행하는 모바일 단말 장치 및 그 동작 방법
KR102655367B1 (ko) * 2021-12-31 2024-04-04 서울대학교산학협력단 화자 유사도 판단 방법 및 장치

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001505688A (ja) * 1996-11-22 2001-04-24 ティ―ネティックス,インコーポレイテッド 情報システムアクセスおよび取引処理のための音声認識
JP4689788B2 (ja) * 2000-03-02 2011-05-25 株式会社アニモ 電子認証システム、電子認証方法及び記録媒体
JP2003186837A (ja) * 2001-12-19 2003-07-04 Ntt Advanced Technology Corp ワンタイムパスワード認証装置及び方法、ならびにその認証プログラム
JPWO2006027844A1 (ja) * 2004-09-10 2008-05-08 三菱電機株式会社 話者照合装置
KR20140092556A (ko) * 2013-01-16 2014-07-24 (주)링커 성문과 환경 정보 기반의 인증 또는 승인 시스템
US9343068B2 (en) * 2013-09-16 2016-05-17 Qualcomm Incorporated Method and apparatus for controlling access to applications having different security levels
US10031721B2 (en) * 2014-05-15 2018-07-24 Tyco Safety Products Canada Ltd. System and method for processing control commands in a voice interactive system
US9674700B2 (en) * 2014-11-04 2017-06-06 Qualcomm Incorporated Distributing biometric authentication between devices in an ad hoc network
KR101741917B1 (ko) * 2015-10-28 2017-06-01 브이피 주식회사 음성인식을 활용한 인증 장치 및 방법
US10127926B2 (en) * 2016-06-10 2018-11-13 Google Llc Securely executing voice actions with speaker identification and authentication input types

Also Published As

Publication number Publication date
JP2019028464A (ja) 2019-02-21
KR20190012066A (ko) 2019-02-08
JP6738867B2 (ja) 2020-08-12

Similar Documents

Publication Publication Date Title
KR102002903B1 (ko) 화자 인증 방법 및 음성인식 시스템
Li et al. Practical adversarial attacks against speaker recognition systems
US11087769B1 (en) User authentication for voice-input devices
US8630391B2 (en) Voice authentication system and method using a removable voice ID card
US9892732B1 (en) Location based voice recognition system
CN109428719B (zh) 一种身份验证方法、装置及设备
US10665244B1 (en) Leveraging multiple audio channels for authentication
KR20190096618A (ko) 전자 장치 및 전자 장치의 기능 실행 방법
JP2018536889A (ja) 音声データを使用して操作を開始するための方法および装置
US10623403B1 (en) Leveraging multiple audio channels for authentication
US10706848B1 (en) Anomaly detection for voice controlled devices
Gong et al. Protecting voice controlled systems using sound source identification based on acoustic cues
KR101995443B1 (ko) 화자 검증 방법 및 음성인식 시스템
US10916249B2 (en) Method of processing a speech signal for speaker recognition and electronic apparatus implementing same
Ren et al. Secure smart home: A voiceprint and internet based authentication system for remote accessing
Yan et al. A survey on voice assistant security: Attacks and countermeasures
EP4009206A1 (en) System and method for authenticating a user by voice to grant access to data
KR101424962B1 (ko) 음성 기반 인증시스템 및 방법
KR101181060B1 (ko) 음성 인식 시스템 및 이를 이용한 화자 인증 방법
Alattar et al. Privacy‐preserving hands‐free voice authentication leveraging edge technology
US20180182393A1 (en) Security enhanced speech recognition method and device
KR102098237B1 (ko) 화자 검증 방법 및 음성인식 시스템
CN109960910B (zh) 语音处理方法、装置、存储介质及终端设备
US20220392453A1 (en) Limiting identity space for voice biometric authentication
CN110428844A (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