KR20150104111A - 인공 신경망 기반 서브-음성 유닛 구별을 이용한 화자 검증 및 식별 - Google Patents

인공 신경망 기반 서브-음성 유닛 구별을 이용한 화자 검증 및 식별 Download PDF

Info

Publication number
KR20150104111A
KR20150104111A KR1020157018503A KR20157018503A KR20150104111A KR 20150104111 A KR20150104111 A KR 20150104111A KR 1020157018503 A KR1020157018503 A KR 1020157018503A KR 20157018503 A KR20157018503 A KR 20157018503A KR 20150104111 A KR20150104111 A KR 20150104111A
Authority
KR
South Korea
Prior art keywords
ann
sub
output
existing
output node
Prior art date
Application number
KR1020157018503A
Other languages
English (en)
Other versions
KR101702829B1 (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 센서리 인코포레이티드
Publication of KR20150104111A publication Critical patent/KR20150104111A/ko
Application granted granted Critical
Publication of KR101702829B1 publication Critical patent/KR101702829B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/18Artificial neural networks; Connectionist approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/14Use of phonemic categorisation or speech recognition prior to speaker recognition or verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

일 실시형태에서, 컴퓨터 시스템은 복수의 화자들에 대한 스피치 데이터를 저장하며, 여기에서, 스피치 데이터는 복수의 피쳐 벡터들, 및 각각의 피쳐 벡터에 대하여, 관련 서브-음성 클래스를 포함한다. 그 후, 컴퓨터 시스템은 스피치 데이터에 기초하여 복수의 화자들에서의 타겟 화자의 스피치를 모델링하기 위한 ANN 을 구축하며, 여기에서 ANN 은 타겟 화자에 의해 발음된 서브-음성 클래스들의 인스턴스들과, 복수의 화자들에서의 다른 화자들에 의해 발음된 서브-음성 클래스들의 인스턴스들 간을 구별하도록 구성된다.

Description

인공 신경망 기반 서브-음성 유닛 구별을 이용한 화자 검증 및 식별{SPEAKER VERIFICATION AND IDENTIFICATION USING ARTIFICIAL NEURAL NETWORK-BASED SUB-PHONETIC UNIT DISCRIMINATION}
본 출원은 2013년 1월 10일자로 출원되고 발명의 명칭이 "Speaker Verification and Identification Using Artificial Neural Network-Based Sub-Phonetic Unit Discrimination" 인 미국 특허 출원 번호 제13/738,868호로부터 우선권의 이익을 주장하며, 그 전체 개시 내용을 여기서는 참조로서 포함한다.
스피치 음성 프로세싱에 있어서, 화자 검증은 미지의 보이스의 스피치 샘플이 특정 등록된 화자에 대응하는지의 여부를 결정하는 작업을 의미한다. 종래 기술의 화자 검증 시스템들은 통상적으로 화자 특정 음향 모델 및 별도의 "일반" 또는 "화자 독립적인" 음향 모델 양쪽 모두를 이용하여 스피치 샘플에 대한 스코어를 생성한다. 화자 특정 음향 모델이 일반 음향 모델보다 충분히 더 높은 스코어를 가지면, 스피치 샘플은 등록 화자로부터 고려중인 등록된 화자로부터 유래되는 것으로 간주된다.
화자 식별은 미지의 보이스의 스피치 샘플을 등록된 화자들의 세트에서의 화자와 연관시키는 것을 포함하는 관련 작업이다. 종래 기술의 화자 식별 시스템들은 종래 기술의 검증 시스템들과 유사하지만, 모든 이용가능한 화자 특정 음향 모델들을 이용하여 스피치 샘플을 스코어링한다. 스피치 샘플은 음향 모델이 최고 스코어를 생성한 등록된 화자로부터 유래되는 것으로 간주된다. 특정 케이스들에서, 스피치 샘플은 또한 일반 음향 모델에 대해 스코어링되어, 최고 스코어링 화자-특정 음향 모델이 일반 음향 모델보다 충분히 더 높은 스코어를 갖지 않으면, 스피치 샘플이 "임포스터"(즉, 등록된 화자들의 세트에 있지 않은 사람) 로부터 유래되는 것으로 간주된다.
위에 언급된 바와 같이, 별도의 일반 음향 모델 뿐만 아니라 하나 이상의 화자 특정 음향 모델들에 대하여 스피치 샘플을 스코어링하는 하나의 문제는, 스코어링 프로세스가 일반 음향 모델에 대하여 반복되어야 하기 때문에 화자 검증 /식별 작업에 대한 전체적인 프로세싱 시간을 증가시킨다는 것이다. 제한된 연산 리소스들을 갖는 디바이스 상에서 작업이 수행중에 있다면 이것은 문제가 될 수 있다. 추가로, 화자 검증 시나리오에서, 클레임된 화자로부터 유래하는 스피치 샘플을 수용 또는 거절할지의 여부를 결정하기 위하여, 일반 음향 모델을 통하여 생성된 스코어 및 화자 특정 음향 모델을 통하여 생성된 스코어에 대하여 적절한 결정 임계값이 설정되어야 한다. 이 결정 임계값의 튜닝은 이것이 양쪽 모두의 스코어들에서의 가능성있는 변동성을 고려하여야 하기 때문에 어렵다.
따라서, 상술한 문제들 및 다른 문제들을 해결하는, 화자 검증 및 식별을 위한 개선된 기술들을 갖는 것이 바람직할 것이다.
일 실시형태에 따르면, 방법은 컴퓨터 시스템에 의해 복수의 화자들에 대한 스피치 데이터를 저장하는 단계를 포함하고, 여기에서, 스피치 데이터는 복수의 피쳐 벡터들, 및 각각의 피쳐 벡터에 대하여, 연관된 서브-음성 클래스를 포함한다. 방법은 컴퓨터 시스템에 의해 스피치 데이터에 기초하여 복수의 화자들에서의 타겟 화자의 스피치를 모델링하기 위한 인공 신경망 (ANN; artificial neural network) 을 구축하는 단계를 더 포함하며, 여기에서 ANN 은 타겟 화자에 의해 발음된 서브-음성 클래스들의 인스턴스들과, 복수의 화자들에서의 다른 화자들에 의해 발음된 서브-음성 클래스들의 인스턴스들 간을 구별하도록 구성된다.
일 실시형태에서, ANN 을 구축하는 단계는 복수의 기존 출력 노드들을 포함하는 기존 ANN 을 취출하는 단계를 포함하며, 여기에서 각각의 기존 출력 노드는 서브-음성 클래스에 대응하며, 기존 ANN 에 입력된 피쳐 벡터가 복수의 화자들에서의 다른 화자들 중 한 화자에 의해 발음된 서브-음성 클래스의 인스턴스일 확률을 출력하도록 구성된다. 그 후, 기존 ANN 은 ANN 을 생성하도록 변경되며, 여기에서 변경하는 것은 ANN 으로 하여금 복수의 기존 출력 노드들을 포함하는 출력 계층, 및 각각의 기존 출력 노드에 대하여, 기존 출력 노드와 동일한 서브-음성 클래스에 대응하는 새로운 출력 노드를 포함하게 한다. 새로운 출력 노드는 ANN 에 입력되는 피쳐 벡터가 타겟 화자에 의해 발음된 서브-음성 클래스의 인스턴스일 확률을 출력하도록 구성된다.
일 실시형태에서, ANN 을 구축하는 단계는 타겟 화자로부터 발신되는 스피치 데이터의 제 1 부분을 이용하여 ANN 을 트레이닝하여, 제 1 부분에서의 각각의 피쳐 벡터 및 연관된 서브-음성 클래스에 대하여, 그 연관된 서브-음성 클래스에 대응하는 새로운 출력 노드 (즉, 그 서브-음성 클래스에 대한 "타겟 화자" 출력 노드) 가 비교적 더 높은 확률을 출력하도록 튜닝되게 하고, 그 연관된 서브-음성 클래스에 대응하는 기존 출력 노드 (즉, 그 서브-음성 클래스에 대한 "반대-화자 (anti- speaker)" 출력 노드) 가 비교적 더 낮은 확률을 출력하도록 튜닝되게 하는 단계를 더 포함한다.
다른 실시형태에서, ANN 을 구축하는 단계는 다른 화자들로부터 발신되는 스피치 데이터의 제 2 부분을 이용하여 ANN 을 트레이닝하여, 제 2 부분에서의 각각의 피쳐 벡터 및 연관된 서브-음성 클래스에 대하여, 그 연관된 서브-음성 클래스에 대응하는 새로운 출력 노드가 비교적 더 낮은 확률을 출력하도록 튜닝되게 하고, 그 연관된 서브-음성 클래스에 대응하는 기존 출력 노드가 비교적 더 높은 확률을 출력하도록 튜닝되게 하는 단계를 더 포함한다.
일 실시형태에서, ANN 은 복수의 입력 노드들, 및 하나 이상의 은닉 노드들을 포함하는 하나 이상의 은닉 계층들을 포함하는 입력 계층을 더 포함한다. 입력 계층은 가중치들의 제 1 세트를 가진 접속들의 제 1 세트를 통하여 하나 이상의 은닉 계층들에서 최저 은닉 계층에 접속되며, (하나보다 많다면) 하나 이상의 은닉 계층들은 가중치들의 제 2 세트를 가진 접속들의 제 2 세트를 통하여 하위 계층으로부터 상위 계층에 접속되고, 그리고 최고 은닉 계층은 가중치들의 제 3 세트를 가진 접속들의 제 3 세트를 통하여 출력 계층에 접속된다.
일 실시형태에서, 스피치 데이터의 제 1 및 제 2 부분들을 이용하여 ANN 을 트레이닝하는 단계는 가중치들의 제 1 또는 제 2 세트를 변경함이 없이 가중치들의 제 3 세트를 변경하도록 역전파 (back-propagation) 알고리즘을 적용하는 단계를 포함한다.
일 실시형태에서, 방법은 타겟 어구의 발음에 대응하는 음향 신호를 수신하고 음향 신호에서 복수의 프레임들로부터 피쳐 벡터들을 추출하는 단계를 더 포함한다. 그 후, 피쳐 벡터들 및 ANN 에 기초하여 스코어를 생성하며, 여기에서, 스코어는 타겟 어구가 타겟 화자에 의해 발음되었을 우도 (likelihood) 를 나타낸다.
일 실시형태에서, 스코어를 생성하는 것은 타겟 어구를 어휘적으로 모델링하는 HMM (Hidden Markov Model) 을 이용하여 비터비 검색을 수행하는 것을 포함한다.
일 실시형태에서, 복수의 프레임들에서의 각각의 프레임에서, 비터비 검색은 입력으로서 프레임에 대응하는 피쳐 벡터를 ANN 에 패스하고, (복수의 ANN 출력들에 기초하여 HMM 에서의 각각의 상태에 대한 표준 누적 우도 스코어에 더하여) ANN 에 의해 출력된 하나 이상의 확률들에 기초하여 프레임별 화자 검증 스코어를 생성한다.
일 실시형태에서, HMM 에서의 상태에 대한 프레임별 화자 검증 스코어는 HMM 에서의 그 상태와 연관된 ANN 에서의 새로운 출력 노드 (즉, "타겟 화자" 출력 노드) 에 의해 출력되는 확률에 대응한다. 다른 실시형태에서, HMM 에서의 상태에 대한 프레임별 화자 검증 스코어는 HMM 에서의 그 상태와 연관된 ANN 에서의 새로운 출력 노드에 의해 출력되는 확률에 대응하며, 이 확률은 ANN 에서의 새로운 출력 노드와 연관된 기존 출력 노드 (즉, "반대-화자" 출력 노드) 에 의해 출력되는 확률보다 낮다.
일 실시형태에서, 화자 검증 스코어를 생성하는 것은 화자 검증 스코어를 계산하기 위해 프레임별 화자 검증 스코어들 중 하나 이상의 스코어들에 함수를 적용하는 것을 더 포함한다.
일 실시형태에서, 함수는 비터비 검색에 의해 결정되는 상태들의 최빈가능 시퀀스와 연관된 복수의 화자 검증 스코어들에 대한 평균 함수 또는 합산 함수이다.
일 실시형태에서, 함수는 복수의 프레임들에서의 관련 프레임들에 대응하는 프레임별 화자 검증 스코어들의 서브세트에 적용되며, 여기에서, 화자 검증 또는 식별에 유용하다고 고려되는 음소 (phoneme) 의 일부인 것으로서, 비터비 검색을 통하여 각각의 관련 프레임이 분류된다.
다른 실시형태에 따르면, 컴퓨터 시스템에 의해 실행가능한 프로그램 코드가 그 위에 저장된 비일시적 컴퓨터 판독가능 저장 매체가 제공된다. 프로그램 코드는 컴퓨터 시스템으로 하여금 복수의 화자들에 대한 스피치 데이터를 저장하게 하는 코드를 포함하며, 여기에서, 스피치 데이터는 복수의 피쳐 벡터들, 및 각각의 피쳐 벡터에 대하여, 관련 서브-음성 클래스를 포함한다. 프로그램 코드는 컴퓨터 시스템으로 하여금, 스피치 데이터에 기초하여 복수의 화자들에서의 타겟 화자의 스피치를 모델링하기 위한 ANN 을 구축하게 하는 코드를 더 포함하며, 여기에서 ANN 은 타겟 화자에 의해 발음된 서브-음성 클래스들의 인스턴스들과, 복수의 화자들에서의 다른 화자들에 의해 발음된 서브-음성 클래스들의 인스턴스들 간을 구별하도록 구성된다.
다른 실시형태에 따르면, 프로세서를 포함하는 시스템이 제공된다. 프로세서는 복수의 화자들에 대한 스피치 데이터를 저장하도록 구성되며, 여기에서, 스피치 데이터는 복수의 피쳐 벡터들, 및 각각의 피쳐 벡터에 대하여, 관련 서브-음성 클래스를 포함한다. 프로세서는 또한, 스피치 데이터에 기초하여 복수의 화자들에서의 타겟 화자의 스피치를 모델링하기 위한 ANN 을 구축하도록 구성되며, 여기에서 ANN 은 타겟 화자에 의해 발음된 서브-음성 클래스들의 인스턴스들과, 복수의 화자들에서의 다른 화자들에 의해 발음된 서브-음성 클래스들의 인스턴스들 간을 구별하도록 구성된다.
여기에 개시된 실시형태들의 특성 및 이점들의 추가적인 이해는 명세서의 나머지 부분들 및 첨부된 도면들에 대한 참조로 실현될 수 있다.
도 1 은 일 실시형태에 따른 시스템 환경의 블록도를 나타낸다.
도 2 는 일 실시형태에 따른 화자 검증/식별 시스템의 등록 및 트레이닝 단계를 위한 흐름도를 나타낸다.
도 3 은 일 실시형태에 따른 화자 검증/식별 시스템의 테스트 및 도전 단계를 위한 흐름도를 나타낸다.
도 4 는 일 실시형태에 따른 ANN 기반 화자 모델을 구축하기 위한 프로세스의 흐름도를 나타낸다.
도 5 는 일 실시형태에 따른 예시적인 ANN 을 나타낸다.
도 6 은 일 실시형태에 따른 입력 스피치 신호에 대한 스코어를 생성하기 위한 프로세스의 흐름도를 나타낸다.
도 7 은 일 실시형태에 따른 컴퓨터 시스템의 블록도를 나타낸다.
다음 설명에서, 설명의 목적을 위하여, 다수의 예들 및 세부 사항들이 특정 실시형태들의 이해를 제공하기 위하여 기술된다. 그러나, 당해 기술 분야의 당업자에게는, 이들 세부 사항들 일부 없이도 실시될 수 있거나, 또는 이들의 변형들 또는 이들의 등가물들로 실시될 수 있음이 명백할 것이다.
본 발명의 실시형태들은 개선된 화자 검증 및 식별을 제공한다. 실시형태들의 하나의 세트에서, 여기에 설명된 기술들은 타겟 화자에 대하여, 타겟 화자에 의해 발음된 상이한 사운드들 (예를 들어, 서브-음성 클래스들) 간을 구별할 뿐만 아니라, 타겟 화자에 의해 발음된 사운드들과, 타겟 화자와 구별되는 다른 화자들 ("반대-화자"로서 총괄적으로 지칭됨) 에 의해 발음된 사운드들 간을 구별하는 화자 특정 음향 모델 ("화자 모델"이라고 지칭됨) 을 구축할 수 있다.
예를 들어, 화자 모델은 타겟 화자와 반대-화자 스피치 데이터 양쪽 모두를 이용하여 트레이닝될 수 있다. 트레이닝될 때, 화자 모델은 입력 사운드가 타겟 화자 스피치 데이터에 더 가까운지 (그리고 이에 의해 입력 사운드가 반대-화자에 의해 발음되었다는 전제를 거부하는지) 또는 반대-화자 스피치 데이터에 더 가까운지 (그리고 이에 의해 입력 사운드가 타겟 화자에 의해 발음되었다는 전제를 거부하는지) 의 여부를 결정할 수 있다. 이 방식으로, 화자 모델은 타겟 화자와 반대-화자 양쪽 모두의 음향 특성들을 동시에 모델링할 수 있다. 이 접근 방식의 일 실용적인 이점은 단일의 음향 모델 (즉, 화자 모델) 만이 화자 검증/식별의 테스트/도전 단계 동안에 스코어링될 필요가 있다는 것이다. 이는 (타겟 화자에 대한) 화자 특정 음향 모델 및 (반대-화자에 대한) 별도의 일반 음향 모델 양쪽 모두의 스코어링을 필요로 하는 종래 기술의 접근 방식과 대조적이다.
특정 실시형태에서, 타겟 화자에 대하여 구축되는 화자 모델은 인공 신경망 또는 ANN 의 형태로 될 수 있다. 아래 보다 자세하게 설명될 바와 같이, 이 ANN 을 구축하는 것은, 복수의 기존 출력 노드들을 포함하는 기존 ANN 을 취출하고, 새로운 출력 노드들을 생성하기 위하여 기존 출력 노드들 및 이들 노드들에 대한 복수의 가중치들을 복제하는 것을 포함할 수 있다. 트레이닝 프로세스 동안에, 타겟 화자로부터 발신되는 트레이닝 샘플이 ANN 에 입력되면, 트레이닝 샘플이 분류된 서브 음성 클래스들에 대응하는 새로운 출력 노드는 비교적 더 높은 출력값 (즉, 확률값) 을 생성하도록 튜닝될 수 있는 한편, 동일한 서브-음성 클래스에 대응하는 기존 출력 노드는 비교적 더 낮은 출력값을 생성하도록 튜닝될 수 있다. 이와 반대로, 반대-화자로부터 발신되는 트레이닝 샘플이 ANN 에 입력되면, 트레이닝 샘플이 분류된 서브-음성 클래스에 대응하는 새로운 출력 노드는 비교적 더 낮은 출력값을 생성하도록 튜닝될 수 있는 한편, 동일한 서브-음성 클래스에 대응하는 기존 출력 노드는 비교적 더 높은 출력값을 생성하도록 튜닝될 수 있다.
도 1 은 일 실시형태에 따른 시스템 환경 (100) 의 블록도를 나타낸다. 도시된 바와 같이, 시스템 환경 (100) 은 오디오 입력/캡쳐 디바이스 (104) 및 데이터 스토어 (106) 와 통신적으로 커플링되는 컴퓨터 시스템 (102) 을 포함한다. 컴퓨터 시스템 (102) 는 화자 검증 및 식별을 실시하는 여러 모듈들 (피쳐 추출 모듈 (108), 모델링 모듈 (110), 스코어링 모듈 (112), 및 결정 모듈 (114)) 을 포함한다.
도 2 는 일 실시형태에 따른 화자 검증/식별 워크플로우의 등록 및 트레이닝 단계를 수행하기 위한 시스템 환경 (100) 의 맥락에서의 흐름 (200) 을 나타낸다. 흐름 (200) 의 단계 (1)(참조 번호 202) 에서, 오디오 입력/캡쳐 디바이스 (104) 는 타겟 화자가 말한 타겟 어구의 발음을 수신할 수 있다. 그 후, 오디오 입력/캡쳐 디바이스 (104) 는 발음을 디지털 스피치 신호로 변환할 수 있다.
단계 (2)(참조 번호 204) 에서, 컴퓨터 시스템 (102) 의 피쳐 추출 모듈 (108) 은 디지털화된 스피치 신호를 수신할 수 있다. 도 2 에서, 스피치 신호는 오디오 입력/캡쳐 디바이스 (104) 로부터 직접 수신되는 것으로 도시되어 있다. 대안의 실시형태들에서, 피쳐 추출 모듈 (108) 은 스피치 신호가 기록되어진 저장 매체 (도시 생략) 로부터 스피치 신호를 취출할 수 있다.
단계 (3)(참조 번호 206) 에서, 피쳐 추출 모듈 (108) 은 스피치 신호를 복수의 시간 윈도우들, 또는 프레임들로 분할할 수 있다. 각각의 프레임은 소정의 유지기간, 이를 테면, 10 밀리초, 20 밀리초, 30 밀리초 등을 가질 수 있다. 예를 들어, 스피치 신호의 총 길이가 3초이면 그리고 각각의 프레임의 미리 정의된 유지기간이 10 밀리초이면, 스피치 신호는 총 300 개의 프레임들 (프레임 오버랩은 없다고 봄) 로 분할될 것이다. 특정 실시형태들에서, 연속하는 프레임들은 프레임들의 수를 비오버랩 시나리오를 초과하여 증가시키는, 미리 정의된 양, 이를 테면, 10 밀리초만큼 오버랩할 수 있다.
스피치 신호가 프레임들로 분할되면, 피쳐 추출 모듈 (108) 은 각각의 프레임에 대한 피쳐 벡터를 계산할 수 있다. 일 실시형태에서, 이 프로세스는 프레임을 포함하는 스피치 신호의 부분에 일련의 변환들, 및 다른 함수들 ("캡스트럴 (cepstral)" 변환을 포함) 을 적용하는 것을 포함할 수 있다. 결과적인 피쳐 벡터는 오리지널 스피치 신호 데이터보다 통계적 모델링에 더 적합하고 더 콤팩트한 프레임의 캡스트럴 표현이다. 특정 실시형태에서, 각각의 피쳐 벡터는 39 개의 엘리먼트들을 포함할 수 있다.
단계 (4)(참조 번호 208) 에서, 피쳐 추출 모듈 (108) 은 단계 (3) 에서 추출된 각각의 피쳐 벡터를 특정 서브-음성 클래스에 연관 또는 매핑시킬 수 있다. 여기에서 이용되는 서브-음성 클래스는 서브-단음 (sub-phone) 으로 지칭되는 스피치 유닛의 유형을 의미한다. 각각의 서브-단음은 보다 큰 스피치 유닛의 시작, 중간 또는 끝 (예를 들어, 단음 또는 음소) 을 나타낼 수 있다. 피쳐 벡터들을 서브-음성 클래스들에 매핑시킴으로써, 피쳐 추출 모듈 (108) 은 피쳐 벡터들을, 피치 신호의 대응하는 프레임들 동안에 타겟 화자가 말했던 특정 서브-단음들과 상관시킬 수 있다. 일 실시형태에서, 각각의 피쳐 벡터는 여러 음성 콘텍스트들에서, 49 개의 상이한 음소들의 시작, 중간 및 끝을 나타내는 1130 개의 상이한 서브-음성 클래스들 중 하나와 연관될 수 있다. 다른 실시형태들에서, 다른 서브-음성 (또는 음성) 분류 체계들 (taxonomies) 이 이용될 수 있다.
단계 (4) 의 프로세싱을 수행하기 위하여, 피쳐 추출 모듈 (108) 은 타겟 어구를 어휘적으로 정의하는 미리 정의된 HMM (Hidden Markov Model) 을 이용하여 피쳐 벡터들을 강제 정렬시킬 수 있다. 이 실시형태에서, 피쳐 추출 모듈 (108) 은 타겟 어구에 대한 HMM 을, 데이터 스토어 (106) 에 저장된 이러한 HMM들 (220) 의 데이터베이스로부터 취출한 다음 (화살표 226 으로 도시됨), (타겟 단어에 대응하도록 "강제된" HMM 상태들 간의 트랜지션들을 이용하여) HMM 을 가진 피쳐 벡터들을 통하여 비터비 검색을 실행할 수 있다. 비터비 검색의 결과는 HMM 에서의 최상의 상태 경로에 대응하는 서브-음성 클래스들과 피쳐 벡터들 간의 매핑이다.
단계 (5) 에서, 피쳐 추출 모듈 (108) 은 데이터 스토어 (106) 의 스피치 데이터 데이터베이스 (222) 에 피쳐 벡터들 및 이들의 연관된 서브-음성 클래스들을 저장할 수 있다. 그 후, 단계들 (1) - (5) 의 등록 프로세스가 타겟 화자로부터 타겟 어구의 추가적인 샘플들을 수집하여 프로세싱하도록 수 회 반복될 수 있다. 단계들 (1) - (5) 은 또한 타겟 화자와는 별개인 다른 화자들 (즉, 총괄적으로 "반대-화자") 에 대하여 반복될 수 있고, 이에 의해 이들 다른 화자들에 대한 스피치 데이터가 또한 수집될 수 있다.
흐름 (200) 의 나머지 단계들은 화자 검증/식별 워크플로우의 트레이닝 단계를 나타낸다. 단계 (6)(참조 번호 212) 에서, 모델링 모듈 (110) 은 복수의 기존 출력 노드들 (서브-음성 클래스 마다 하나의 출력 노드) 을 포함하는 출력 계층을 포함하는 기존 ANN 을 취출할 수 있다. 일 실시형태에서, 기존 ANN 은 비교적 큰 파퓰레이션의 화자들 및 잡음 상태들로부터 트레이닝 데이터에 대해 사전 트레이닝되었던 일반 화자 모델을 나타낼 수 있다. 그 후, 모델링 모듈 (110) 은 대응하는 새로운 출력 노드를 생성하도록 각각의 기존 출력 노드 (그리고 각각의 출력 노드에 복수의 가중치들) 를 복제함으로써 기존 ANN 을 변경할 수 있다. 따라서, 변경된 ANN 에서의 출력 계층은 각각의 서브-음성 클래스에 대하여 2 개의 출력 노드들 (하나는 기존의 것, 하나는 새로운 것) 을 포함할 수 있다.
기존 ANN 의 출력 계층이 변경되었다면, 모델링 모듈 (110) 은 타겟 화자로부터의 스피치 데이터와 다른 화자들 (반대-화자들) 로부터의 스피치 데이터 양쪽 모두를 이용하여 변경된 ANN 을 트레이닝할 수 있고, 이에 의해 변경된 ANN 은 (1) 새로운 출력 노드들로부터의 높은 출력 값들, 및 기존 출력 노드들로부터의 낮은 출력 값들을 가진 타겟 화자를 식별하게 하고, 그리고 (2) 새로운 출력 노드들로부터의 낮은 출력 값들, 및 기존 출력 노드들로부터의 높은 출력 값들을 가진 반대-화자를 식별하도록 튜닝되게 한다 (단계 (7), 참조 번호 214). 예를 들어, 모델링 모듈 (110) 은 스피치 데이터 (222) 로부터, 타겟 화자로부터 발신하는 피쳐 벡터 "V1" (그리고, 이것과 연관된 서브-음성 클래스 ("C1")) 를 추출할 수 있다 (단계 (8), 참조 번호 216). 그 후, 모델링 모듈 (110) 은 C1 에 대한 새로운 출력 노드에 대한 C1 의 포지티브 예로서, 그리고 C1 에 대한 기존 출력 노드에 대한 C1 의 네가티브 예로서, 변경된 ANN 에 V1 를 입력할 수 있다. 이는 타겟 화자로부터 발신하는 스피치 데이터 (222) 에서의 다른 피쳐 벡터/서브-음성 클래스 페어들에 대하여 반복될 수 있다.
다른 예로서, 모델링 모듈 (110) 은 스피치 데이터 (222) 로부터, 반대 타겟 화자로부터 발신하는 피쳐 벡터 "V2" (그리고, 이것과 연관된 서브-음성 클래스 ("C1")) 를 추출할 수 있다 (단계 (8), 참조 번호 216). 그 후, 모델링 모듈 (110) 은 C1 에 대한 새로운 출력 노드에 대한 C1 의 네가티브 예로서, 그리고 C1 에 대한 기존 출력 노드에 대한 C1 의 포지티브 예로서, 변경된 ANN 에 V2 를 입력할 수 있다. 이는 반대-화자로부터 발신하는 스피치 데이터 (222) 에서의 다른 피쳐 벡터/서브-음성 클래스 페어들에 대하여 반복될 수 있다. 화자 검증 시나리오에서, 이 단계에서 이용된 반대-화자 트레이닝 데이터는 큰 파퓰레이션의 샘플로부터 수집되는 스피치 데이터에 대응할 수 있다. 화자 식별 시나리오에서, 이 단계에서 이용된 반대-화자 트레이닝 데이터는 동일한 시스템에 등록된 다른 화자들로부터 수집된 스피치 데이터에 대응할 수 있다.
마지막으로, 단계 (9)(참조 번호 218) 에서, 모델링 모듈 (110) 은 데이터 스토어 (106) 의 화자 모델 데이터베이스 (224) 에 트레이닝된 ANN 을 저장할 수 있다.
위에서의 접근 방식에서, 트레이닝된 ANN 은 타겟 화자에 의해 발음되는 서브-음성 클래스들의 인스턴스들 간을 단순히 구별하는 것으로 제한되지 않으며, 오히려, 트레이닝된 ANN 은 또한 타겟 화자에 의해 발음되는 서브-음성 클래스들의 인스턴스들과 반대-화자에 의해 발음되는 서브-음성 클래스들의 인스턴스들 간을 효과적으로 구별할 수 있다. 이는 타겟 화자를 식별하는데 있어 ANN 의 정확도를 개선시키고, 아래 도 3 을 참조로 설명된 바와 같이 테스트/도전 단계 동안에 별도의 일반 음향 모델을 스코어링할 필요성을 제거한다. 따라서, 전체적인 화자 검증/식별 작업의 속도 및 정밀도 양쪽 모두가 상당히 개선될 수 있다.
도 3 은 일 실시형태에 따른 화자 검증/식별 워크플로우의 테스트/도전 단계를 수행하기 위한 시스템 환경 (100) 의 맥락에서의 흐름 (300) 을 나타낸다. 여러 실시형태들에서, 흐름 (300) 은 도 2 의 흐름 (200) 후에 수행될 수 있다.
흐름 (300) 의 단계 (1)(참조 번호 302) 에서, 오디오 입력/캡쳐 디바이스 (104) 는 타겟 화자가 말한 타겟 어구의 발음을 수신할 수 있다. 예를 들어, 화자는 도 2 에 등록된 목표 화자인 것으로 클레임될 수도 있거나 (그리고 이에 따라 검증될 필요가 있음), 또는 아이덴티티의 어떠한 표시도 제공하지 않을 수도 있다 (그리고 이에 따라 등록된 화자들의 세트 중에서 선택될 필요가 있음). 발음을 캡쳐할 때, 오디오 입력/캡쳐 디바이스 (104) 는 발음에 대응하는 스피치 신호를 피쳐 추출 모듈 (108) 에 직접 또는 간접적으로 전달할 수 있다 (단계 (2), 참조 번호 304).
단계 (3)(참조 번호 306) 에서, 피쳐 추출 모듈 (108) 은 흐름 (200) 의 단계 (3) 과 실질적으로 유사한 방식으로 스피치 신호를 프레임들로 분할하고 프레임별 피쳐 벡터들을 추출할 수 있다. 그 후, 피쳐 추출 모듈 (108) 은 프레임들 및 추출된 피쳐 벡터들을 스코어링 모듈 (112) 에 패스할 수 있다 (단계 (4), 참조 번호 308).
단계 (5)(참조 번호 310) 에서, 스코어링 모듈 (112) 은 하나 이상의 화자 모델들에 대항하여 스피치 신호를 스코어링할 수 있다. 예를 들어, 화자 검증 시나리오에서, 스코어링 모듈 (112) 은 흐름 (200) 에 대하여 트레이닝된 바와 같이, 클레임된 화자 (즉, 타겟 화자) 에 대하여 ANN 을 그리고 이에 더하여 HMM 데이터 베이스 (220) 로부터의 타겟 어구에 대하여 HMM 을 취출할 수 있다 (단계들 (6) 및 (7), 참조 번호들 312 및 314). 그 후, 스코어링 모듈 (112) 은 ANN 및 HMM 을 이용하여 스피치 신호의 프레임들/피쳐 벡터들에 대한 비터비 검색을 수행함으로써 화자-검증 스코어를 생성할 수 있다. (프레임별 화자 검증 스코어들의 시퀀스에 기초하는) 화자 검증 스코어는 스피치 신호가 목표 화자로부터 발신되었다는 전체적인 추정량을 나타낸다. 이러한 스코어링 프로세스에 관한 전체적인 세부설명은 아래의 도 6 에 대하여 설명된다. 이전에 언급된 바와 같이, ANN 이 타겟 화자와 반대-화자 간을 구별하도록 트레이닝되었기 때문에, 일반 음향 모델에 대항하여 스피치 신호를 별도로 스코어링할 필요성이 없다.
화자 식별 시나리오는 화자 검증 시나리오와 유사하지만, 화자 모델 데이터베이스 (224) 에 모든 트레이닝된 화자 모델에 대항한 스피치 신호를 스코어링하는 것을 포함한다. "임포스터" 화자를 식별하기 위해 일반 음향 모델에 대항하여 스피치 신호를 별도로 스코어링할 필요성이 없다.
화자-검증 스코어(들)이 생성되었다면, 이들은 결정 모듈 (114) 에 전달될 수 있다 (단계 (8), 참조 번호 316). 단계 (9)(참조 번호 (318)) 에서, 결정 모듈 (114) 은 주장된 (allege)/미지의 화자를 검증 또는 식별할 수 있다. 검증을 위하여, 결정 모듈 (114) 은 목표 화자 모델에 의해 생성된 화자 검증 스코어를 미리 정의된 임계값과 비교할 수 있다. 화자 검증 스코어가 임계값을 초과하면, 화자는 타겟 화자인 것으로 결정되고, 화자 검증 스코어가 임계값 미만이면, 화자는 타겟 화자가 아닌 것으로 결정된다.
식별을 위하여, 결정 모듈 (114) 은 서로에 대항하여 화자 모델들에 의해 생성된 여러 화자 검증 스코어들을 비교할 수 있다. 그 후, 결정 모듈 (114) 은 최고 스코어링 화자 모델에 기초하여 화자를 식별할 수 있다. 특정 실시형태들에서, 결정 모듈 (114) 은 또한 미리 정의된 임계값에 대항하여 여러 화자 검증 스코어들을 비교할 수 있다. 화자 검증 스코어들 모두가 임계값 미만으로 떨어지면, 결정 모듈 (114) 은 화자가 임포스터 (즉, 등록된 화자들 중 어느 화자도 아님) 인 것으로 결정할 수 있다.
도 1 내지 도 3 이 예시적인 것이고 본 발명의 실시형태들을 제한하려 하는 것이 아닌 것으로 이해되어야 한다. 예를 들어, 도 2 의 등록 및 트레이닝 흐름 및 도 3 의 테스트/도전 흐름이 단일의 컴퓨터 시스템 (102) 에 의해 실행되는 것으로 도시되어 있지만, 대안의 실시형태들에서, 이들 흐름들은 상이한 컴퓨터 시스템들에 의해 실행될 수 있다. 예를 들어, 도 2 의 등록 및 트레이닝 흐름은 서비스/리소스 제공자의 서버 컴퓨터에 의해 실행될 수 있는 한편, 도 3 의 도전/테스트 흐름은 엔드 유저의 퍼스널 컴퓨팅 디바이스 (예를 들어, 데스크톱 컴퓨터, 스마트폰, 테블릿 등) 에 의해 실행될 수 있다. 이들 실시형태들에서, 서버 컴퓨터 및 퍼스널 컴퓨팅 디바이스는 이들의 지정된 기능들을 수행하는데 필수적인 컴퓨터 시스템 (102) 내에 도시된 이들 모듈들만을 포함할 수도 있다. 추가로, 시스템 환경 (100) 에서 묘사된 여러 엔티티들은 구체적으로 설명되지 않은 다른 컴포넌트들을 포함하거나 또는 다른 능력들을 가질 수 있다. 당해 기술 분야의 당업자는 많은 변형예들, 변경예들 및 대안예들을 인식할 것이다.
도 4 는 일 실시형태에 따라 흐름 (200) 의 단계들 (6) 및 (7) 에서 모델링 모듈 (110) 에 의해 수행되는 ANN 구축/트레이닝의 보다 상세한 설명을 제공하는 흐름도 (400) 를 나타낸다. 블록 402 에서, 모델링 모듈 (110) 은 베이스라인 또는 일반 화자 모델에 대응하는 기존 ANN 을 취출할 수 있다. 도 2 에 대하여 주지된 바와 같이, 이 기존 ANN 은 화자들의 비교적 큰 파퓰레이션으로부터의 트레이닝 데이터에 대해 이전에 트레이닝될 수도 있다. 일 실시형태에서, 기존 ANN 은 입력 노드들의 입력 계층, 은닉 노드들의 하나 이상의 은닉 계층들, 및 기존 출력 노드들의 출력 계층을 포함하는 MLP (multi-layer perceptron) 일 수 있다.
블록 404 에서, 모델링 모듈 (110) 은 변경된 ANN 을 생성하도록 기존 ANN 을 변경할 수 있고, 여기에서 변경된 ANN 은 기존 ANN 에서의 각각의 기존 출력 노드에 대한 새로운 출력 노드를 포함한다. 따라서, 변경된 ANN 의 출력 계층은 기존 ANN 보다 두배 많은 출력 노드들을 포함할 수 있다. 변경된 ANN 에서의 기존 및 새로운 출력 노드들의 각각의 페어는 단일의 서브-음성 클래스와 연관될 수 있어, 이에 의해, 페어에서의 새로운 출력 노드는 입력 피쳐 벡터가 타겟 화자에 의한 서브-음성 클래스의 발음에 대응하는 확률을 반영하게 하고, 페어에서의 기존 출력 노드는 다른 화자에 의한 서브-음성 클래스의 발음에 대응하는 입력 피쳐 벡터가 타겟 화자가 아닌 다른 화자 (즉, 반대-화자) 에 의한 서브-음성 클래스의 발음에 대응하는 확률을 반영하게 한다.
도 5 는 예시적인 ANN (500) 이 도 4 의 블록 404 에 대하여 변경되었음을 나타낸다. 도시된 바와 같이, ANN (500) 은 입력 계층을 포함하는 복수의 입력 노드들 (502(1)-502(N)) 을 포함한다. 입력 노드들 (502(1)-(N)) 은 피쳐 벡터의 엘리먼트를 입력으로서 취하도록 각각 구성된다. 특정 실시형태에서, ANN 은 39 개의 총 입력 노드들을 포함할 수 있다.
추가로, ANN (500) 은 하나 이상의 은닉 계층들을 포함하는 복수의 은닉 노드들 (504(1)-504(J)) 을 포함한다. 최저 은닉 계층은 접속들의 제 1 세트를 통하여 입력 계층에 접속되며, 여기에서 제 1 세트에서의 각각의 접속은 가중치와 연관된다. 추가로, 각각의 은닉 계층은 접속들의 제 2 세트를 통하여 하위 계층으로부터 상위 계층에 전달되며, 여기에서 제 2 세트에서의 각각의 접속은 가중치와 연관된다. 은닉 계층들은 입력 노드들 (502(1)-504(N)) 을 통하여 수신된 벡터 엘리먼트들을 서브-음성 분류에 더하여 잡음을 필터링 제거하기 위한 상위 차원 공간으로 특징화하도록 구성된다.
더 추가로, ANN (500) 은 출력 계층을 포함하는 복수의 출력 노드들 (506(1)-506(M)) 을 포함한다. 출력 계층은 접속들의 제 3 세트를 통하여 최고 은닉 계층에 접속되며, 여기에서 제 3 세트에서의 각각의 접속은 또한 가중치와 연관된다. ANN (500) 에서의 출력 노드들의 각각의 페어는 특정 서브-음성 클래스에 대한 새로운 출력 노드와 기존 출력 노드에 대응한다. 예를 들어, 노드 (506(1)) 는 서브-음성 클래스 (C1) 에 대한 새로운 출력 노드에 대응하며, 노드 (506(2)) 는 서브-음성 클래스 (C1) 에 대한 기존 출력에 대응한다. 위에 주지된 바와 같이, 페어에서의 각각의 노드는 (입력 피쳐 벡터에 응답하여) 타겟 화자 또는 반대-화자가 서브-음성 클래스를 발음하였던 우도를 나타내는 값을 출력하도록 구성된다. 예를 들어, 노드 (506(1)) 는 타겟 화자가 C1 의 인스턴스를 발음하였던 확률을 출력하도록 구성되고, 노드 (506(2)) 는 반대-화자가 C1 의 인스턴스를 발음하였던 확률을 출력하도록 구성된다.
도 4 로 돌아가서, 블록 (406) 에서, 모델링 모듈 (110) 은 타겟 화자로부터의 등록된 스피치 데이터를 이용하여 변경된 ANN 을 트레이닝할 수 있다. 예를 들어, 모델링 모듈 (110) 은 스피치 데이터 (222) 로부터 타겟 화자로부터 발신되는 피쳐 벡터를 취출할 수 있고, 피쳐 벡터를 변경된 ANN 에 입력으로서 패스할 수 있다. 그 후, 온라인 역전파 알고리즘을 통하여, 모델링 모듈 (110) 은 피쳐 벡터에 응답하여 ANN 에서의 가중치들을 튜닝할 수도 있어, 이에 의해 (1) 피쳐 벡터의 연관된 서브-음성 클래스에 대응하는 새로운 출력 노드가 비교적 더 높은 값을 출력하게 하고, (2) 피쳐 벡터의 연관된 서브-음성 클래스에 대응하는 기존 출력 노드가 비교적 더 낮은 값을 출력하게 한다. 이러한 방식으로, 새로운 출력 노드 (즉, "타겟 화자 노드") 는 타겟 화자 발음을 식별하도록 튜닝될 수 있는 한편, 기존 출력 노드 (즉, "반대-화자 노드") 는 타겟 화자 발음을 거절하도록 튜닝될 수 있다.
특정 실시형태에서, 위에 설명된 트레이닝 실행은 전체 ANN 에서의 가중치들의 단지 2개의 세트들 (입력 피쳐 벡터들의 연관된 서브-음성 클래스에 대하여 각각, 기존 출력 노드로 이어지는 가중치들의 세트, 및 새로운 출력 노드로 이어지는 가중치들의 세트) 만을 변경하도록 구성될 수 있다. (은닉 계층과 입력 계층 간의 가중치들, 또는 은닉 계층들 간의 가중치들을 포함하는) ANN 에서의 다른 가중치들이 손대지 않은 상태로 유지된다. 이러한 방식으로 트레이닝 프로세스를 제한함으로써, ANN 을 튜닝하는데 요구되는 전체적인 시간이 충분히 감소될 수 있다.
또한, 블록 406 에서 모델링 모듈 (110) 은 반대-화자로부터의 등록된 스피치 데이터를 이용하여, 변경된 ANN 을 트레이닝할 수 있다. 예를 들어, 모델링 모듈 (110) 은 스피치 데이터 (222) 로부터, 반대-화자로부터 발신되는 피쳐 벡터를 취출할 수 있고, 피쳐 벡터를 변경된 ANN 에 입력으로서 패스할 수 있다. 그 후, 동일한 온라인 역전파 알고리즘을 통하여, 모델링 모듈 (110) 은 피쳐 벡터에 응답하여 ANN 에서의 가중치들을 튜닝할 수도 있어, 이에 의해 (1) 피쳐 벡터의 연관된 서브-음성 클래스에 대응하는 새로운 출력 노드가 비교적 더 높은 값을 출력하게 하고, (2) 피쳐 벡터의 연관된 서브-음성 클래스에 대응하는 기존 출력 노드가 비교적 더 낮은 값을 출력하게 한다. 이러한 방식으로, 새로운 출력 노드 (즉, "타겟 화자 노드") 는 반대-화자 발음을 거절하도록 튜닝될 수 있는 한편, 기존 출력 노드 (즉, "반대-화자 노드") 는 반대-화자 발음을 식별하도록 튜닝될 수 있다.
서브-음성 클래스에 대해 이용하기 위한 타겟 화자 트레이닝 샘플들 및 반대-화자 트레이닝 샘플들의 최적의 수 및 수행하기 위한 트레이닝 반복들의 최적의 수는 선험적으로 결정될 수 있다. 특정 실시형태들에서, 반대-화자 시나리오에 대한 트레이닝 샘플들의 최적의 수는 타겟 화자 시나리오에 대한 트레이닝 샘플들의 최적의 수와 상이할 수도 있다.
변경된 ANN 이, 블록 406 에 대하여 타겟 화자 및 반대-화자 스피치 데이터 양쪽 모두를 이용하여 트레이닝되었다면, 모델링 모듈 (110) 은 도전/테스트의 시에 이용하기 위한 화자 모델 데이터베이스 (224) 에, 트레이닝된 ANN 을 저장할 수 있다 (블록 408).
도 6 은 일 실시형태에 따라, 흐름 (300) 의 단계들 (5) 및 (9) 에서 스코어링 모듈 (112) 및 결정 모듈 (114) 에 의해 수행된 스코어링/결정 프로세스의 보다 상세한 설명을 제공하는 흐름도 (600) 를 나타낸다. 블록 602 에서, 스코어링 모듈 (112) 은 타겟 어구에 대한 HMM 및 타겟 화자에 대하여 트레이닝되었던 ANN 을 이용하여 미지의/주장된 화자로부터 수신되는 스피치 신호에 대한 비터비 검색을 개시할 수 있다. 비터비 검색은 타겟 화자가 스피치 신호 내에서 타겟 어구를 발음하였다고 보는 서브-음성 클래스들의 최빈가능 시퀀스를 결정하도록 구성된다.
블록 604 에서, 비터비 검색의 일부로서, 스코어링 모듈 (112) 은 스피치 신호에서의 각각의 프레임에 대해 FOR 루프를 시작할 수 있다. 루프 내에서, 스코어링 모듈 (112) 은 현재 프레임에 대한 피쳐 벡터를 ANN 에 패스할 수 있다 (블록 606). 그 후, 스코어링 모듈 (112) 은 ANN 으로부터의 출력을 이용하여, 현재 프레임이 타겟 화자에 의해 발음되었다는 우도를 나타내는 프레임별 화자 검증 스코어에 더하여, 복수의 ANN 출력들에 기초하여 HMM 에서의 각각의 상태에 대한 표준 누적 우도 스코어를 계산할 수 있다. 일 실시형태에서, HMM 에서의 상태에 대한 프레임별 화자 검증 스코어는 ANN 에서의 새로운 출력 노드 (즉, 타겟 화자 출력 노드) 에 의해 출력되는 확률 값에 기초할 수 있다. 대안의 실시형태에서, HMM 에서의 상태에 대한 프레임별 화자 검증 스코어는 ANN 에서의 새로운 출력 노드에 (즉, 타겟 화자 출력 노드) 의해 출력되는 확률값에 기초할 수 있고, 이 확률값은 새로운 출력 노드에 대응하는 기존 출력 노드 (즉, "반대-화자" 출력 노드) 의 확률값보다 낮다.
블록 610 에서, 스코어링 모듈 (112) 은 현재 루프 반복의 종료에 도달하고, 블록 604 로 리턴하여 필요에 따라 추가적인 프레임들을 프로세싱한다.
프레임별 스코어가 계산되었다면, 스코어링 모듈 (112) 은 (a) 비터비 백트레이스 계산을 적용하여 최빈가능 상태 시퀀스를 결정할 수 있고 (b) 프레임별 화자 검증 스코어들에 함수 (예를들어, 평균, 합산 등) 를 적용하여 단일의 전체적인 화자 검증 스코어를 생성할 수 있다 (블록 612). 특정 실시형태들에서, 스코어링 모듈 (112) 은 비터비 검색에 의해 결정되는 바와 같이 최빈가능 상태 시퀀스와 연관된, 블록 608 에서 생성된 프레임별 화자 검증 스코어들 모두에 이 함수를 적용할 수 있다. 다른 실시형태들에서, 스코어링 모듈 (112) 은 스피치 신호에서 "관련" 프레임들을 나타내는 프레임별 화자-검증 스코어들의 서브세트에 이 함수를 적용할 수 있다. 여기에 이용된 용어 "관련" 프레임은 화자 검증 또는 식별에 유용하다고 고려되는 음소의 일부인 것으로서 (비터비 검색을 통하여) 분류되었던 프레임이다. 다음은 일 실시형태에 따라 유용하다고 고려되지 않은 (변경된 Worldbet 표기에서의) 음소들의 예시적인 리스트이다.
Figure pct00001
마지막으로, 블록 614 에서, 결정 블록 (114) 은 미지의/주장된 화자를 검증 또는 식별하기 위해 블록 612 에서 생성된 화자 검증 스코어를 이용할 수 있다. 예를 들어, 검증 시나리오에서, 화자 검증 스코어가 미리 정의된 임계값보다 크면, 결정 모듈 (114) 은 스피치 신호가 타겟 화자에 의해 발음되었던 것으로 결정할 수 있고; 화자 검증 스코어가 미리 정의된 스코어보다 작으면, 결정 모듈 (114) 은 스피치 신호가 타겟 화자에 의해 발음되지 않았던 것으로 결정할 수 있다. 식별 시나리오에서, 결정 모듈 (114) 은 시스템에서 화자 모델들 모두에 대하여 생성된 화자 검증 스코어들을 비교하고 최고 스코어링 화자 모델을 화자로서 식별할 수 있다.
도 7 은 본 발명의 일 실시형태에 따른 컴퓨터 시스템 (700) 의 간략화된 블록도이다. 일 실시형태에서, 컴퓨터 시스템 (700) 은 도 1 내지 도 3 의 컴퓨터 시스템 (102) 을 구현하는데 이용될 수 있다. 도 7 에 도시된 바와 같이, 컴퓨터 시스템 (700) 은 버스 서브시스템 (704) 을 통하여 복수의 주변 디바이스들과 통신하는 하나 이상의 프로세서들 (702) 을 포함한다. 이들 주변 디바이스들은 (메모리 서브시스템 (708) 및 파일 저장 서브시스템 (710) 을 포함하는) 저장 서브시스템 (706), 사용자 인터페이스 입력 디바이스들 (712), 사용자 인터페이스 출력 디바이스들 (714) 및 네트워크 인터페이스 서브시스템 (716) 을 포함한다.
버스 서브시스템 (704) 은 컴퓨터 시스템 (700) 의 여러 컴포넌트들 및 서브시스템들을 서로 의도된 바와 같이 통신하게 하는 메카니즘을 제공할 수 있다. 버스 서브시스템 (704) 이 단일의 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템의 대안의 실시형태들이 다중 버스들을 이용할 수 있다.
네트워크 인터페이스 서브시스템 (716) 은 컴퓨터 시스템 (700) 과 다른 컴퓨터 시스템들, 또는 네트워트들 사이에서 데이터를 통신하기 위한 인터페이스로서 기능할 수 있다. 네트워크 인터페이스 서브시스템 (716) 의 실시형태들은 예를 들어, 이더넷 카드, Wi-Fi 및/또는 셀룰러 어댑터, 모델 (전화기, 위성, 케이블, ISDN 등), 디지털 가입자 회선 (DSL) 유닛들, 및/또는 기타의 것을 포함할 수 있다.
사용자 인터페이스 입력 디바이스들 (712) 은 키보드, 포인팅 디바이스들 (예를 들어, 마우스, 트랙볼, 터치패드 등), 스캐너, 바코드 스캐너, 디스플레이 내에 통합된 터치 스크린, 오디오 입력 디바이스들 (예를 들어, 보이스 인식 시스템들, 마이크로폰들 등) 및 다른 유형들의 입력 디바이스들을 포함할 수 있다. 일반적으로, 용어 "입력 디바이스" 의 이용은 컴퓨터 시스템 (700) 내에 정보를 입력하기 위한 모든 가능한 유형들의 디바이스들 및 메카니즘들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스들 (714) 은 디스플레이 서브시스템, 프린터, 팩스 머신, 또는 비가시성 디스플레이들 이를 테면, 오디오 출력 디바이스들 등을 포함할 수 있다. 디스플레이 서브시스템은 음극선관 (CRT), 플랫 패널 디바이스 이를 테면, 액정 디스플레이 (LCD) 또는 프로젝션 디바이스일 수 있다. 일반적으로, 용어 "출력 디바이스" 의 이용은 컴퓨터 시스템 (700) 으로부터 정보를 출력하기 위한 모든 가능한 유형들의 디바이스들 및 메카니즘들을 포함하도록 의도된다.
저장 서브시스템 (706) 은 메모리 서브시스템 (708) 및/또는 파일/디스크 저장 서브시스템 (710) 을 포함한다. 서브시스템들 (708 및 710) 은 본 발명의 실시형태들의 기능을 제공하는 프로그램 코드 및/또는 데이터를 저장할 수 있는 비일시적 컴퓨터 판독가능 저장 매체를 나타낸다.
메모리 서브시스템 (708) 은 프로그램 실행 동안에 명령들 및 데이터의 저장을 위한 메인 랜덤 액세스 메모리 (RAM)(718), 및 고정된 명령들이 저장된 판독전용 메모리 (ROM)(720) 를 포함하는 복수의 메모리들을 포함한다. 파일 저장 서브시스템 (710) 은 프로그램 및 데이터 파일들을 위한 영구적인 (즉, 비휘발성) 저장을 제공할 수 있고, 관련 착탈가능 매체 (예를 들어, CD-ROM, DVD, Blu-Ray 등), 착탈가능 플래시 메모리 기반 드라이브 또는 카드와 함께 자기 또는 고체 상태 하드 디스크 드라이브, 광학 드라이브, 및/또는 및/또는 당해 기술 분야에 알려진 다른 유형의 저장 매체를 포함할 수 있다.
컴퓨터 시스템 (700) 이 예시적인 것이고 본 발명의 실시형태들을 제한하려 하는 것이 아닌 것으로 이해되어야 한다. 시스템 (700) 보다 더 많거나 적은 컴포넌트들을 갖는 많은 다른 구성들이 가능하다.
상술한 설명은 본 발명의 양태들이 구현될 수도 있는 예들과 함께 본 발명의 여러 실시형태들을 설명한다. 상술한 예들 및 실시형태들은 유일한 실시형태들인 것으로만 간주되지 않아야 하며, 다음의 청구항들에 의해 정의되는 바와 같이 본 발명의 유연성들 및 이점들을 설명하는 것으로 제시된다. 예를 들어, 특정 실시형태들이 특정 프로세스 흐름들 및 단계들에 대하여 설명되었지만, 당해 기술 분야의 당업자에게는 본 발명의 범위가 설명된 흐름들 및 단계들로 엄격하게 제한되지 않음이 명백할 것이다. 순차적으로 설명된 단계들은 동시에 실행될 수도 있고, 단계들의 순서는 변경될 수도 있고, 단계들이 변경, 결합, 추가 또는 생략될 수도 있다. 다른 예로서, 특정 실시형태들이 하드웨어 및 소프트웨어의 특정 조합을 이용하여 설명되어 있지만, 하드웨어와 소프트웨어의 다른 조합도 가능하며, 소프트웨어로 구현되는 것으로 설명된 특정 동작들은 하드웨어로 또한 구현될 수 있고 그 역도 가능함을 인정하여야 한다.
명세서 및 도면들은 이에 따라 제한의 관점이기 보다는 예시적인 관점으로 간주되어야 한다. 다른 배치들, 실시형태들, 구현들 및 등가물들이 당해 기술 분야의 당업자에게 명백한 것이며, 다음 청구항들에서 서술된 바와 같은 본 발명의 범위 및 사상으로부터 벗어남이 없이 채택될 수도 있다.

Claims (20)

  1. 컴퓨터 시스템에 의해 복수의 화자들에 대한 스피치 데이터를 저장하는 단계로서, 상기 스피치 데이터는 복수의 피쳐 벡터들, 및 각각의 피쳐 벡터에 대하여 연관된 서브-음성 (sub-phonetic) 클래스를 포함하는, 상기 복수의 화자들에 대한 스피치 데이터를 저장하는 단계; 및
    상기 컴퓨터 시스템에 의해 상기 스피치 데이터에 기초하여 상기 복수의 화자들에서의 타겟 화자의 스피치를 모델링하기 위한 인공 신경망 (ANN; artificial neural network) 을 구축하는 단계로서, 상기 ANN 은 상기 타겟 화자에 의해 발음된 서브-음성 클래스들의 인스턴스들과, 상기 복수의 화자들에서의 다른 화자들에 의해 발음된 서브-음성 클래스들의 인스턴스들 간을 구별하도록 구성되는, 상기 ANN 을 구축하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 ANN 을 구축하는 단계는,
    복수의 기존 출력 노드들을 포함하는 기존 ANN 을 취출하는 단계로서, 각각의 기존 출력 노드는 서브-음성 클래스에 대응하며, 상기 기존 ANN 에 입력된 피쳐 벡터가 상기 복수의 화자들에서의 상기 다른 화자들 중 한 화자에 의해 발음된 상기 서브-음성 클래스의 인스턴스일 확률을 출력하도록 구성되는, 상기 기존 ANN 을 취출하는 단계; 및
    상기 ANN 을 생성하기 위해 상기 기존 ANN 을 변경하는 단계를 포함하고,
    상기 변경하는 단계는 상기 ANN 으로 하여금 상기 복수의 기존 출력 노드들을 포함하는 출력 계층, 및 각각의 기존 출력 노드에 대하여, 상기 기존 출력 노드의 상기 서브-음성 클래스에 대응하는 새로운 출력 노드를 포함하게 하고, 상기 새로운 출력 노드는 상기 ANN 에 입력되는 피쳐 벡터가 상기 타겟 화자에 의해 발음된 상기 서브-음성 클래스의 인스턴스일 확률을 출력하도록 구성되는, 방법.
  3. 제 2 항에 있어서,
    상기 ANN 을 구축하는 단계는,
    상기 타겟 화자로부터 발신되는 상기 스피치 데이터의 제 1 부분을 이용하여 상기 ANN 을 트레이닝하여, 상기 제 1 부분에서의 각각의 피쳐 벡터 및 연관된 서브-음성 클래스에 대하여, 상기 연관된 서브-음성 클래스에 대응하는 상기 새로운 출력 노드가 비교적 더 높은 확률을 출력하도록 튜닝되게 하고, 상기 연관된 서브-음성 클래스에 대응하는 상기 기존 출력 노드가 비교적 더 낮은 확률을 출력하도록 튜닝되게 하는 단계를 더 포함하는, 방법.
  4. 제 3 항에 있어서,
    상기 ANN 을 구축하는 단계는,
    상기 다른 화자들로부터 발신되는 상기 스피치 데이터의 제 2 부분을 이용하여 상기 ANN 을 트레이닝하여, 상기 제 2 부분에서의 각각의 피쳐 벡터 및 연관된 서브-음성 클래스에 대하여, 상기 연관된 서브-음성 클래스에 대응하는 상기 새로운 출력 노드가 비교적 더 낮은 확률을 출력하도록 튜닝되게 하고, 상기 연관된 서브-음성 클래스에 대응하는 상기 기존 출력 노드가 비교적 더 높은 확률을 출력하도록 튜닝되게 하는 단계를 더 포함하는, 방법.
  5. 제 4 항에 있어서,
    상기 ANN 은 복수의 입력 노드들, 및 하나 이상의 은닉 노드들을 포함하는 하나 이상의 은닉 계층들을 포함하는 입력 계층을 더 포함하는, 방법.
  6. 제 5 항에 있어서,
    상기 입력 계층은 가중치들의 제 1 세트를 가진 접속들의 제 1 세트를 통하여 상기 하나 이상의 은닉 계층들에서 최저 은닉 계층에 접속되고,
    상기 하나 이상의 은닉 계층들은 가중치들의 제 2 세트를 가진 접속들의 제 2 세트를 통하여 하위 계층으로부터 상위 계층에 접속되고,
    상기 하나 이상의 은닉 계층들에서의 최고 은닉 계층은 가중치들의 제 3 세트를 가진 접속들의 제 3 세트를 통하여 출력 계층에 접속되고,
    상기 스피치 데이터의 제 1 및 제 2 부분들을 이용하여 상기 ANN 을 트레이닝하는 단계는 상기 가중치들의 제 1 또는 제 2 세트를 변경함이 없이 상기 가중치들의 제 3 세트를 변경하도록 역전파 (back-propagation) 알고리즘을 적용하는 단계를 포함하는, 방법.
  7. 제 1 항에 있어서,
    타겟 어구 (phrase) 의 발음에 대응하는 음향 신호를 수신하는 단계;
    상기 음향 신호에서 복수의 프레임들로부터 피쳐 벡터들을 추출하는 단계; 및
    상기 피쳐 벡터들 및 상기 ANN 에 기초하여, 상기 타겟 어구가 상기 타겟 화자에 의해 발음되었을 우도 (likelihood) 를 나타내는 화자 검증 스코어를 생성하는 단계를 더 포함하는, 방법.
  8. 제 7 항에 있어서,
    상기 화자 검증 스코어를 생성하는 단계는 상기 타겟 어구를 어휘적으로 모델링하는 HMM (Hidden Markov Model) 을 이용하여 비터비 (Vitevbi) 검색을 수행하는 단계를 포함하는, 방법.
  9. 제 8 항에 있어서,
    상기 복수의 프레임들에서의 각각의 프레임에서, 상기 비터비 검색은 입력으로서 상기 프레임에 대응하는 상기 피쳐 벡터를 상기 ANN 에 패스하고, 상기 ANN 에 의해 출력된 하나 이상의 확률들에 기초하여 프레임별 화자 검증 스코어를 생성하는, 방법.
  10. 제 9 항에 있어서,
    상기 HMM 에서의 상태에 대한 상기 프레임별 화자 검증 스코어는 상기 HMM 에서의 그 상태와 연관된 상기 ANN 에서의 새로운 출력 노드에 의해 출력되는 확률에 대응하는, 방법.
  11. 제 9 항에 있어서,
    상기 HMM 에서의 상태에 대한 상기 프레임별 화자 검증 스코어는 상기 HMM 에서의 그 상태와 연관된 상기 ANN 에서의 새로운 출력 노드에 의해 출력되는 확률에 대응하며, 이 확률은 상기 ANN 에서의 상기 새로운 출력 노드와 연관된 기존 출력 노드에 의해 출력되는 확률보다 낮은, 방법.
  12. 제 9 항에 있어서,
    상기 화자 검증 스코어를 생성하는 단계는 상기 화자 검증 스코어를 계산하기 위해 상기 프레임별 화자 검증 스코어들 중 하나 이상의 스코어들에 함수를 적용하는 단계를 더 포함하는, 방법.
  13. 제 12 항에 있어서,
    상기 함수는 평균 함수 또는 합산 함수인, 방법.
  14. 제 12 항에 있어서,
    상기 함수는 상기 복수의 프레임들에서의 관련 프레임들에 대응하는 상기 프레임별 화자 검증 스코어들의 서브세트에 적용되며, 각각의 관련 프레임은, 화자 검증 또는 식별에 유용하다고 고려되는 음소 (phoneme) 의 일부인 것으로서, 상기 비터비 검색을 통하여 분류되는, 방법.
  15. 컴퓨터 시스템에 의해 실행가능한 프로그램 코드가 저장된 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 프로그램 코드는,
    상기 컴퓨터 시스템으로 하여금, 복수의 화자들에 대한 스피치 데이터를 저장하게 하는 코드로서, 상기 스피치 데이터는 복수의 피쳐 벡터들, 및 각각의 피쳐 벡터에 대하여, 연관된 서브-음성 클래스를 포함하는, 상기 복수의 화자들에 대한 스피치 데이터를 저장하게 하는 코드; 및
    상기 컴퓨터 시스템으로 하여금, 상기 스피치 데이터에 기초하여 상기 복수의 화자들에서의 타겟 화자의 스피치를 모델링하기 위한 인공 신경망 (ANN) 을 구축하게 하는 코드로서, 상기 ANN 은 상기 타겟 화자에 의해 발음된 서브-음성 클래스들의 인스턴스들과, 상기 복수의 화자들에서의 다른 화자들에 의해 발음된 서브-음성 클래스들의 인스턴스들 간을 구별하도록 구성되는, 상기 ANN 을 구축하게 하는 코드를 포함하는, 컴퓨터 시스템에 의해 실행가능한 프로그램 코드가 저장된 비일시적 컴퓨터 판독가능 저장 매체.
  16. 제 15 항에 있어서,
    상기 컴퓨터 시스템으로 하여금 상기 ANN 을 구축하게 하는 코드는,
    상기 컴퓨터 시스템으로 하여금, 복수의 기존 출력 노드들을 포함하는 기존 ANN 을 취출하게 하는 코드로서, 각각의 기존 출력 노드는 서브-음성 클래스에 대응하며, 상기 기존 ANN 에 입력된 피쳐 벡터가 상기 복수의 화자들에서의 상기 다른 화자들 중 한 화자에 의해 발음된 상기 서브-음성 클래스의 인스턴스일 확률을 출력하도록 구성되는, 상기 기존 ANN 을 취출하게 하는 코드; 및
    상기 컴퓨터 시스템으로 하여금, 상기 ANN 을 생성하기 위해 상기 기존 ANN 을 변경하게 하는 코드를 포함하고,
    상기 변경하는 것은 상기 ANN 으로 하여금 상기 복수의 기존 출력 노드들을 포함하는 출력 계층, 및 각각의 기존 출력 노드에 대하여, 상기 기존 출력 노드의 상기 서브-음성 클래스에 대응하는 새로운 출력 노드를 포함하게 하고, 상기 새로운 출력 노드는 상기 ANN 에 입력되는 피쳐 벡터가 상기 타겟 화자에 의해 발음된 상기 서브-음성 클래스의 인스턴스일 확률을 출력하도록 구성되는, 컴퓨터 시스템에 의해 실행가능한 프로그램 코드가 저장된 비일시적 컴퓨터 판독가능 저장 매체.
  17. 제 16 항에 있어서,
    상기 컴퓨터 시스템으로 하여금 상기 ANN 을 구축하게 하는 코드는,
    상기 컴퓨터 시스템으로 하여금, 상기 타겟 화자로부터 발신되는 상기 스피치 데이터의 제 1 부분을 이용하여 상기 ANN 을 트레이닝하게 하여, 상기 제 1 부분에서의 각각의 피쳐 벡터 및 연관된 서브-음성 클래스에 대하여, 상기 연관된 서브-음성 클래스에 대응하는 상기 새로운 출력 노드가 비교적 더 높은 확률을 출력하도록 튜닝되게 하고, 상기 연관된 서브-음성 클래스에 대응하는 상기 기존 출력 노드가 비교적 더 낮은 확률을 출력하도록 튜닝되게 하는 코드; 및
    상기 컴퓨터 시스템으로 하여금, 상기 다른 화자들로부터 발신되는 상기 스피치 데이터의 제 2 부분을 이용하여 상기 ANN 을 트레이닝하게 하여, 상기 제 2 부분에서의 각각의 피쳐 벡터 및 연관된 서브-음성 클래스에 대하여, 상기 연관된 서브-음성 클래스에 대응하는 상기 새로운 출력 노드가 비교적 더 낮은 확률을 출력하도록 튜닝되게 하고, 상기 연관된 서브-음성 클래스에 대응하는 상기 기존 출력 노드가 비교적 더 높은 확률을 출력하도록 튜닝되게 하는 코드를 더 포함하는, 컴퓨터 시스템에 의해 실행가능한 프로그램 코드가 저장된 비일시적 컴퓨터 판독가능 저장 매체.
  18. 복수의 화자들에 대한 스피치 데이터를 저장하는 것으로서, 상기 스피치 데이터는 복수의 피쳐 벡터들, 및 각각의 피쳐 벡터에 대하여, 연관된 서브-음성 클래스를 포함하는, 상기 복수의 화자들에 대한 스피치 데이터를 저장하고; 그리고
    상기 스피치 데이터에 기초하여 상기 복수의 화자들에서의 타겟 화자의 스피치를 모델링하기 위한 인공 신경망 (ANN) 을 구축하는 것으로서, 상기 ANN 은 상기 타겟 화자에 의해 발음된 서브-음성 클래스들의 인스턴스들과, 상기 복수의 화자들에서의 다른 화자들에 의해 발음된 서브-음성 클래스들의 인스턴스들 간을 구별하도록 구성되는, 상기 ANN 을 구축하도록 구성되는 프로세서를 포함하는, 시스템.
  19. 제 18 항에 있어서,
    상기 ANN 을 구축하는 것은,
    복수의 기존 출력 노드들을 포함하는 기존 ANN 을 취출하는 것으로서, 각각의 기존 출력 노드는 서브-음성 클래스에 대응하며, 상기 기존 ANN 에 입력된 피쳐 벡터가 상기 복수의 화자들에서의 상기 다른 화자들 중 한 화자에 의해 발음된 상기 서브-음성 클래스의 인스턴스일 확률을 출력하도록 구성되는, 상기 기존 ANN 을 취출하는 것; 및
    상기 ANN 을 생성하기 위해 상기 기존 ANN 을 변경하는 것을 포함하고,
    상기 변경하는 것은 상기 ANN 으로 하여금 상기 복수의 기존 출력 노드들을 포함하는 출력 계층, 및 각각의 기존 출력 노드에 대하여, 상기 기존 출력 노드의 상기 서브-음성 클래스에 대응하는 새로운 출력 노드를 포함하게 하고, 상기 새로운 출력 노드는 상기 ANN 에 입력되는 피쳐 벡터가 상기 타겟 화자에 의해 발음된 상기 서브-음성 클래스의 인스턴스일 확률을 출력하도록 구성되는, 시스템.
  20. 제 19 항에 있어서,
    상기 ANN 을 구축하는 것은,
    상기 타겟 화자로부터 발신되는 상기 스피치 데이터의 제 1 부분을 이용하여 상기 ANN 을 트레이닝하여, 상기 제 1 부분에서의 각각의 피쳐 벡터 및 연관된 서브-음성 클래스에 대하여, 상기 연관된 서브-음성 클래스에 대응하는 상기 새로운 출력 노드가 비교적 더 높은 확률을 출력하도록 튜닝되게 하고, 상기 연관된 서브-음성 클래스에 대응하는 상기 기존 출력 노드가 비교적 더 낮은 확률을 출력하도록 튜닝되게 하는 것; 및
    상기 다른 화자들로부터 발신되는 상기 스피치 데이터의 제 2 부분을 이용하여 상기 ANN 을 트레이닝하여, 상기 스피치 데이터의 제 2 부분에서의 각각의 피쳐 벡터 및 연관된 서브-음성 클래스에 대하여, 상기 연관된 서브-음성 클래스에 대응하는 상기 새로운 출력 노드가 비교적 더 낮은 확률을 출력하도록 튜닝되게 하고, 상기 연관된 서브-음성 클래스에 대응하는 상기 기존 출력 노드가 비교적 더 높은 확률을 출력하도록 튜닝되게 하는 것을 더 포함하는, 시스템.
KR1020157018503A 2013-01-10 2013-12-05 인공 신경망 기반 서브-음성 유닛 구별을 이용한 화자 검증 및 식별 KR101702829B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/738,868 2013-01-10
US13/738,868 US9230550B2 (en) 2013-01-10 2013-01-10 Speaker verification and identification using artificial neural network-based sub-phonetic unit discrimination
PCT/US2013/073374 WO2014109847A1 (en) 2013-01-10 2013-12-05 Speaker verification and identification using artificial neural network-based sub-phonetic unit discrimination

Publications (2)

Publication Number Publication Date
KR20150104111A true KR20150104111A (ko) 2015-09-14
KR101702829B1 KR101702829B1 (ko) 2017-02-06

Family

ID=51061669

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157018503A KR101702829B1 (ko) 2013-01-10 2013-12-05 인공 신경망 기반 서브-음성 유닛 구별을 이용한 화자 검증 및 식별

Country Status (6)

Country Link
US (1) US9230550B2 (ko)
EP (1) EP2943951B1 (ko)
JP (1) JP6158348B2 (ko)
KR (1) KR101702829B1 (ko)
CN (1) CN104903954B (ko)
WO (1) WO2014109847A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108665901A (zh) * 2018-05-04 2018-10-16 广州国音科技有限公司 一种音素/音节提取方法及装置
KR20190042730A (ko) * 2016-09-06 2019-04-24 딥마인드 테크놀로지스 리미티드 신경망을 사용하여 오디오 생성
KR20210015542A (ko) 2019-08-02 2021-02-10 서울시립대학교 산학협력단 미등록 화자를 추가할 수 있는 심층 신경망 기반의 화자 식별 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
US11321542B2 (en) 2016-10-26 2022-05-03 Deepmind Technologies Limited Processing text sequences using neural networks
US11948066B2 (en) 2016-09-06 2024-04-02 Deepmind Technologies Limited Processing sequences using convolutional neural networks

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9437195B2 (en) * 2013-09-18 2016-09-06 Lenovo (Singapore) Pte. Ltd. Biometric password security
US8812320B1 (en) 2014-04-01 2014-08-19 Google Inc. Segment-based speaker verification using dynamically generated phrases
US9324320B1 (en) 2014-10-02 2016-04-26 Microsoft Technology Licensing, Llc Neural network-based speech processing
US10609475B2 (en) 2014-12-05 2020-03-31 Stages Llc Active noise control and customized audio system
US10133538B2 (en) * 2015-03-27 2018-11-20 Sri International Semi-supervised speaker diarization
US9668075B2 (en) * 2015-06-15 2017-05-30 Harman International Industries, Inc. Estimating parameter values for a lumped parameter model of a loudspeaker
US9978374B2 (en) * 2015-09-04 2018-05-22 Google Llc Neural networks for speaker verification
US10373612B2 (en) * 2016-03-21 2019-08-06 Amazon Technologies, Inc. Anchored speech detection and speech recognition
CN107492382B (zh) 2016-06-13 2020-12-18 阿里巴巴集团控股有限公司 基于神经网络的声纹信息提取方法及装置
US20180018973A1 (en) * 2016-07-15 2018-01-18 Google Inc. Speaker verification
GB2552722A (en) * 2016-08-03 2018-02-07 Cirrus Logic Int Semiconductor Ltd Speaker recognition
US9824692B1 (en) 2016-09-12 2017-11-21 Pindrop Security, Inc. End-to-end speaker recognition using deep neural network
WO2018053518A1 (en) 2016-09-19 2018-03-22 Pindrop Security, Inc. Channel-compensated low-level features for speaker recognition
US10325601B2 (en) 2016-09-19 2019-06-18 Pindrop Security, Inc. Speaker recognition in the call center
US10945080B2 (en) 2016-11-18 2021-03-09 Stages Llc Audio analysis and processing system
US10755718B2 (en) 2016-12-07 2020-08-25 Interactive Intelligence Group, Inc. System and method for neural network based speaker classification
US11055615B2 (en) 2016-12-07 2021-07-06 Arilou Information Security Technologies Ltd. System and method for using signal waveform analysis for detecting a change in a wired network
EP3373208A1 (en) * 2017-03-08 2018-09-12 Nxp B.V. Method and system for facilitating reliable pattern detection
US9990926B1 (en) 2017-03-13 2018-06-05 Intel Corporation Passive enrollment method for speaker identification systems
US11024302B2 (en) * 2017-03-14 2021-06-01 Texas Instruments Incorporated Quality feedback on user-recorded keywords for automatic speech recognition systems
CN107146624B (zh) * 2017-04-01 2019-11-22 清华大学 一种说话人确认方法及装置
US10354656B2 (en) * 2017-06-23 2019-07-16 Microsoft Technology Licensing, Llc Speaker recognition
KR102486395B1 (ko) 2017-11-23 2023-01-10 삼성전자주식회사 화자 인식을 위한 뉴럴 네트워크 장치, 및 그 동작 방법
CN107808659A (zh) * 2017-12-02 2018-03-16 宫文峰 智能语音信号模式识别系统装置
JP6980603B2 (ja) 2018-06-21 2021-12-15 株式会社東芝 話者モデル作成システム、認識システム、プログラムおよび制御装置
US11024291B2 (en) 2018-11-21 2021-06-01 Sri International Real-time class recognition for an audio stream
KR102654874B1 (ko) * 2018-12-31 2024-04-05 삼성전자주식회사 화자 인식을 위한 뉴럴 네트워크 장치, 및 그 동작 방법
US11019201B2 (en) 2019-02-06 2021-05-25 Pindrop Security, Inc. Systems and methods of gateway detection in a telephone network
US11289098B2 (en) 2019-03-08 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus with speaker recognition registration
CN113811895A (zh) * 2019-07-18 2021-12-17 三星电子株式会社 用于人工智能模型个性化的方法和装置
KR20210010284A (ko) 2019-07-18 2021-01-27 삼성전자주식회사 인공지능 모델의 개인화 방법 및 장치
US11276410B2 (en) * 2019-09-13 2022-03-15 Microsoft Technology Licensing, Llc Convolutional neural network with phonetic attention for speaker verification
CN111462759B (zh) * 2020-04-01 2024-02-13 科大讯飞股份有限公司 一种说话人标注方法、装置、设备及存储介质
WO2022054994A1 (ko) * 2020-09-11 2022-03-17 서울대학교산학협력단 비화자 요소에 강인한 화자 임베딩 추출 방법 및 장치, 그리고 이를 위한 기록매체
CN113362814B (zh) * 2021-08-09 2021-11-09 中国科学院自动化研究所 一种融合组合模型信息的语音鉴别模型压缩方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030013855A (ko) * 2001-08-09 2003-02-15 삼성전자주식회사 음성등록방법 및 음성등록시스템과 이에 기초한음성인식방법 및 음성인식시스템
US20100217589A1 (en) * 2009-02-20 2010-08-26 Nuance Communications, Inc. Method for Automated Training of a Plurality of Artificial Neural Networks

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2559506B2 (ja) * 1989-12-04 1996-12-04 積水化学工業株式会社 話者照合システム
JPH0415698A (ja) * 1990-05-09 1992-01-21 Sekisui Chem Co Ltd 話者照合システム
JPH0752359B2 (ja) * 1991-06-19 1995-06-05 株式会社エイ・ティ・アール自動翻訳電話研究所 ニューラルネットワークによる不特定話者音声認識方式
JPH0566798A (ja) * 1991-09-09 1993-03-19 Sekisui Chem Co Ltd 話者認識方式
JPH06161495A (ja) * 1992-01-24 1994-06-07 Ricoh Co Ltd 音声認識装置
JPH05313697A (ja) * 1992-05-11 1993-11-26 Sekisui Chem Co Ltd 話者認識方式
JPH05313689A (ja) * 1992-05-11 1993-11-26 Sekisui Chem Co Ltd 話者認識方式
US5839103A (en) * 1995-06-07 1998-11-17 Rutgers, The State University Of New Jersey Speaker verification system using decision fusion logic
JPH09258790A (ja) * 1996-03-27 1997-10-03 Seiko Epson Corp ニューラルネットワーク音声モデル再学習方法および装置
EP0954854A4 (en) * 1996-11-22 2000-07-19 T Netix Inc PARTIAL VALUE-BASED SPEAKER VERIFICATION BY UNIFYING DIFFERENT CLASSIFIERS USING CHANNEL, ASSOCIATION, MODEL AND THRESHOLD ADAPTATION
WO1999040568A1 (de) * 1998-02-03 1999-08-12 Siemens Aktiengesellschaft Verfahren zum übermitteln von sprachdaten
US8645137B2 (en) * 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US6751590B1 (en) * 2000-06-13 2004-06-15 International Business Machines Corporation Method and apparatus for performing pattern-specific maximum likelihood transformations for speaker recognition
JP2003140997A (ja) * 2001-11-06 2003-05-16 Seiko Epson Corp データ通信制御システム、データ通信制御用サーバ、情報入力装置、データ通信制御用プログラム、入力装置制御用プログラム及び端末機器制御用プログラム
DE10334400A1 (de) * 2003-07-28 2005-02-24 Siemens Ag Verfahren zur Spracherkennung und Kommunikationsgerät
US8126710B2 (en) 2005-06-01 2012-02-28 Loquendo S.P.A. Conservative training method for adapting a neural network of an automatic speech recognition device
CN1963917A (zh) * 2005-11-11 2007-05-16 株式会社东芝 评价语音的分辨力、说话人认证的注册和验证方法及装置
US20080154816A1 (en) * 2006-10-31 2008-06-26 Motorola, Inc. Artificial neural network with adaptable infinite-logic nodes
US8099288B2 (en) * 2007-02-12 2012-01-17 Microsoft Corp. Text-dependent speaker verification
GB2465782B (en) 2008-11-28 2016-04-13 Univ Nottingham Trent Biometric identity verification
US8639502B1 (en) * 2009-02-16 2014-01-28 Arrowhead Center, Inc. Speaker model-based speech enhancement system
US8473436B2 (en) * 2009-11-18 2013-06-25 The Intellisis Corporation Neural segmentation of an input signal and applications using simulated neurons, and a phase modulator
US8521671B2 (en) 2010-04-30 2013-08-27 The Intellisis Corporation Neural network for clustering input data based on a Gaussian Mixture Model

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030013855A (ko) * 2001-08-09 2003-02-15 삼성전자주식회사 음성등록방법 및 음성등록시스템과 이에 기초한음성인식방법 및 음성인식시스템
US20100217589A1 (en) * 2009-02-20 2010-08-26 Nuance Communications, Inc. Method for Automated Training of a Plurality of Artificial Neural Networks

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190042730A (ko) * 2016-09-06 2019-04-24 딥마인드 테크놀로지스 리미티드 신경망을 사용하여 오디오 생성
US11386914B2 (en) 2016-09-06 2022-07-12 Deepmind Technologies Limited Generating audio using neural networks
US11869530B2 (en) 2016-09-06 2024-01-09 Deepmind Technologies Limited Generating audio using neural networks
US11948066B2 (en) 2016-09-06 2024-04-02 Deepmind Technologies Limited Processing sequences using convolutional neural networks
US11321542B2 (en) 2016-10-26 2022-05-03 Deepmind Technologies Limited Processing text sequences using neural networks
CN108665901A (zh) * 2018-05-04 2018-10-16 广州国音科技有限公司 一种音素/音节提取方法及装置
KR20210015542A (ko) 2019-08-02 2021-02-10 서울시립대학교 산학협력단 미등록 화자를 추가할 수 있는 심층 신경망 기반의 화자 식별 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체

Also Published As

Publication number Publication date
CN104903954B (zh) 2017-09-29
EP2943951A4 (en) 2016-05-25
JP2016509254A (ja) 2016-03-24
KR101702829B1 (ko) 2017-02-06
US9230550B2 (en) 2016-01-05
WO2014109847A1 (en) 2014-07-17
EP2943951B1 (en) 2017-04-12
CN104903954A (zh) 2015-09-09
US20140195236A1 (en) 2014-07-10
EP2943951A1 (en) 2015-11-18
JP6158348B2 (ja) 2017-07-05

Similar Documents

Publication Publication Date Title
KR101702829B1 (ko) 인공 신경망 기반 서브-음성 유닛 구별을 이용한 화자 검증 및 식별
US10366693B2 (en) Acoustic signature building for a speaker from multiple sessions
CN108428447B (zh) 一种语音意图识别方法及装置
JP6538779B2 (ja) 音声対話システム、音声対話方法、および音声対話システムを適合させる方法
JP6303971B2 (ja) 話者交替検出装置、話者交替検出方法及び話者交替検出用コンピュータプログラム
KR100655491B1 (ko) 음성인식 시스템에서의 2단계 발화 검증 방법 및 장치
Tirumala et al. A review on deep learning approaches in speaker identification
US20150025887A1 (en) Blind Diarization of Recorded Calls with Arbitrary Number of Speakers
CN111640456B (zh) 叠音检测方法、装置和设备
CN109036471B (zh) 语音端点检测方法及设备
Sahoo et al. Emotion recognition from audio-visual data using rule based decision level fusion
US11488608B2 (en) Method and system to estimate speaker characteristics on-the-fly for unknown speaker with high accuracy and low latency
JP2019020684A (ja) 感情インタラクションモデル学習装置、感情認識装置、感情インタラクションモデル学習方法、感情認識方法、およびプログラム
US11972751B2 (en) Method and apparatus for detecting voice end point using acoustic and language modeling information for robust voice
CN115457938A (zh) 识别唤醒词的方法、装置、存储介质及电子装置
CN111640423B (zh) 一种词边界估计方法、装置及电子设备
JP2013257418A (ja) 情報処理装置、および情報処理方法、並びにプログラム
KR20130068621A (ko) 발화검증 기반 대용량 음성 데이터 자동 처리 장치 및 방법
KR101658452B1 (ko) 음성 데이터에 대한 성별 인식 장치 및 성별 인식 방법
CN111883109B (zh) 语音信息处理及验证模型训练方法、装置、设备及介质
KR101229108B1 (ko) 단어별 신뢰도 문턱값에 기반한 발화 검증 장치 및 그 방법
Rittikar Development of a Conversation State Prediction System
CN112735385B (zh) 语音端点检测方法、装置、计算机设备及存储介质
KR101752709B1 (ko) 음성인식시스템에서 발화검증 방법 및 그 음성인식시스템
McLaren et al. The SRI International STAR-LAB DiHard Challenge System Description

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20200121

Year of fee payment: 4