KR20230070523A - 텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용 - Google Patents

텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용 Download PDF

Info

Publication number
KR20230070523A
KR20230070523A KR1020237015749A KR20237015749A KR20230070523A KR 20230070523 A KR20230070523 A KR 20230070523A KR 1020237015749 A KR1020237015749 A KR 1020237015749A KR 20237015749 A KR20237015749 A KR 20237015749A KR 20230070523 A KR20230070523 A KR 20230070523A
Authority
KR
South Korea
Prior art keywords
audio data
user
features
speaker
determining
Prior art date
Application number
KR1020237015749A
Other languages
English (en)
Other versions
KR102582022B1 (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 KR1020237032093A priority Critical patent/KR20230137496A/ko
Publication of KR20230070523A publication Critical patent/KR20230070523A/ko
Application granted granted Critical
Publication of KR102582022B1 publication Critical patent/KR102582022B1/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
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/08Use of distortion metrics or a particular distance between probe pattern and reference templates
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • 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/10Multimodal systems, i.e. based on the integration of multiple recognition engines or fusion of expert systems
    • 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
    • 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
    • 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/22Interactive procedures; Man-machine interfaces
    • 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/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Collating Specific Patterns (AREA)
  • Telephonic Communication Services (AREA)

Abstract

구현예는 사용자에 대한 하나 이상의 특정 텍스트 종속 화자 검증(TD-SV) 각각에 대한 화자 피처들의 자동 생성과 관련된다. 구현예는 하나 이상의 각각의 어시스턴트 디바이스들을 통해 자동화된 어시스턴트와의 일반적인 비등록 인터렉션 동안에 각각 사용자의 대응하는 음성 발화를 캡처하는 오디오 데이터의 인스턴스들을 사용하여 특정 TD-SV에 대한 화자 피처들을 생성할 수 있다. 예를 들어, 오디오 데이터 인스턴스의 부분은 (a) 음성 발화에 대한 인식된 용어(들)가 특정 TD-SV에 대응하는 부분에 의해 캡처되었다고 결정하는 것; 및 (b) 사용자 및 음성 발화에 대한 인증 측정치가 임계값을 만족한다고 결정하는 것에 응답하여 사용될 수 있다. 구현예는 추가로 또는 대안적으로 사용자에 대한 음성 발화를 인증할지 여부를 결정할 때 사용자에 대한 하나 이상의 특정 TD-SV 각각에 대한 화자 피처들의 활용과 관련된다.

Description

텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용
사람은 본 명세서에서 "자동화된 어시스턴트"("챗봇", "인터랙티브 퍼스널 어시스턴트", "지능형 퍼스널 어시스턴트", "개인 음성 어시스턴트", "대화형 에이전트들"로도 지칭됨)로 지칭되는 인터렉티브 소프트웨어 어플리케이션과의 사람-컴퓨터 간 대화에 참여할 수 있다. 예를 들어, 사람(자동화된 어시스턴트와 인터렉션할 때 "사용자"라고 할 수 있음)은 일부 경우에 텍스트로 변환된 다음 프로세싱될 수 있는 발화된 자연어 입력(즉, 음성 발화)을 사용하여 및/또는 텍스트(예를 들어, 타이핑된) 자연어 입력을 제공함으로써 명령/요청을 자동화된 어시스턴트에 제공할 수 있다. 자동화된 어시스턴트는 일반적으로 응답형 사용자 인터페이스 출력(예: 청각적 및/또는 시각적 사용자 인터페이스 출력)을 제공하고, 스마트 디바이스(들)를 제어하고 및/또는 다른 액션(들)을 수행함으로써 명령 또는 요청에 응답한다.
일부 사용자 명령 또는 요청은 자동화된 어시스턴트가 요청 사용자를 인증할 때만 완전히 프로세싱되고 응답될 것이다. 예를 들어, 개인 데이터의 보안을 유지하기 위해, 응답을 생성할 때 사용자의 개인 데이터에 액세스하는 요청 및/또는 응답에 사용자의 개인 데이터를 통합하는 요청에 대해 사용자 인증이 필요할 수 있다. 예를 들어, "what’s on my calendar for tomorrow"(요청하는 사용자의 개인 일정 데이터에 액세스하고 응답에 개인 일정 데이터를 포함해야 함) 및 "message Vivian I’m running late"(요청하는 사용자의 개인 연락처 데이터에 액세스해야 함)과 같은 요청에 적절하게 응답하기 위해 사용자 인증이 필요할 수 있다. 다른 예로서, 스마트 디바이스(예를 들어, 스마트 서모스탯, 스마트 조명, 스마트 잠금 장치)의 보안을 유지하기 위해, 이러한 스마트 디바이스 중 하나 이상을 제어하게 하는 요청에 대해 사용자 인증이 필요할 수 있다.
자동화된 어시스턴트에 대한 사용자 인증을 위한 다양한 기법이 활용되었다. 예를 들어, 사용자를 인증할 때 일부 자동화된 어시스턴트는 어시스턴트에 대한 호출 문구(예: "OK 어시스턴트" 및/또는 "Hey 어시스턴트")로 제한되는 TD-SV(텍스트 기반 화자 검증)를 활용한다. 그러한 TD-SV를 사용하면, TD-SV가 제한되는 호출 문구(들)의 음성 발화의 하나 이상의 인스턴스들을 제공하도록 사용자에게 명시적으로 프롬프트되는 등록 절차가 수행된다. 사용자에 대한 화자 피처들(예를 들어, 화자 임베딩)은 오디오 데이터의 인스턴스들의 프로세싱을 통해 생성될 수 있으며, 여기서 각 인스턴스는 음성 발화들 중 각각의 음성 발화를 캡처한다. 예를 들어, 화자 피처들은 TD-SV 기계 학습 모델을 사용하여 오디오 데이터의 인스턴스들 각각을 프로세싱하여 각 발화에 대한 대응하는 화자 임베딩을 생성함으로써 생성될 수 있다. 그런 다음 화자 피처들은 화자 임베딩들의 함수로 생성되고, TD-SV에서 사용하기 위해 (예: 디바이스에) 저장될 수 있다. 예를 들어, 화자 피처들은 화자 임베딩들의 함수(예를 들어, 평균)인 누적 화자 임베딩일 수 있다.
화자 피처들이 생성된 후, 화자 피처들을 사용하여 사용자가 말한 음성 발화를 검증할 수 있다. 예를 들어, 다른 음성 발화가 사용자에 의해 말해질 때, 음성 발화를 캡처하는 오디오 데이터는 발화 피처들을 생성하기 위해 프로세싱될 수 있고, 이러한 발화 피처들은 화자 피처들과 비교되고, 상기 비교에 기초하여, 화자를 인증할지 여부에 대한 결정이 내려진다. 하나의 특정 예로서, 오디오 데이터는 발화 임베딩을 생성하기 위해 화자 인식 모델을 사용하여 프로세싱될 수 있고, 해당 발화 임베딩은 사용자를 음성 발화의 화자로 검증할지 여부를 결정할 때 사용자에 대한 이전에 생성된 화자 임베딩과 비교된다. 예를 들어, 생성된 발화 임베딩과 사용자에 대한 화자 임베딩 사이의 거리 메트릭이 임계값을 만족하는 경우, 사용자는 음성 발화를 말한 사용자로 검증될 수 있다. 이러한 검증은 사용자를 인증하는 기준(예를 들어, 유일한 기준)으로 활용될 수 있다.
그러나 호출 문구에만 기초하여 TD-SV에 대한 기존 기법은 여러 가지 단점이 있다. 예를 들어, 발화 피처들과 화자 피처들의 비교만으로는 사용자를 충분한 신뢰도로 검증하는데 부족한 경우가 많다. 예를 들어, 비교가 발화 임베딩인 발화 피처들과 화자 임베딩인 화자 피처들 사이의 거리 메트릭을 생성하는 것을 포함하는 경우, 거리 메트릭은 사용자를 검증하기 위한 친밀도 임계값을 만족하지 못할 수 있다. 그 결과, 자동화된 어시스턴트는 다시 검증을 시도하기 위해 호출 문구를 다시 말하도록 사용자에게 프롬프트해야 할 수 있고 및/또는 추가 대안적 인증 데이터에 대해 사용자에게 프롬프트해야 할 수 있다(예를 들어, 사용자가 PIN 또는 다른 암호를 제공하도록 프롬프트하거나 사용자가 지문 센서와 인터렉션하도록 프롬프트 및/또는 사용자가 얼굴 식별을 위해 카메라 앞에 위치하도록 프롬프트). 그 결과 인간-어시스턴트 인터렉션이 연장되고 결과적으로 인간-어시스턴트 인터렉션을 용이하게 하기 위한 클라이언트 디바이스 리소스 및/또는 다른 리소스의 장기간 활용이 발생한다. 또 다른 예로서, 사용자가 호출 문구(들)를 사용하지 않고 자동화된 어시스턴트를 호출하는 경우(예: 대신 대응하는 디바이스의 하드웨어 버튼과의 인터렉션을 통해 호출하거나, 대응하는 디바이스를 쥐거나, 대응하는 디바이스를 바라보는 경우(예: 대응하는 디바이스의 카메라(들)로부터 이미지(들)에 기초하여 검출) 등), 호출 문구에만 기초한 TD-SV는 자동화된 어시스턴트를 호출할 때 호출 문구가 말해지지 않았기 때문에 작동하지 않는다. 따라서, 이러한 상황에서 자동화된 어시스턴트는 사용자에게 호출 문구를 말하도록 프롬프트하고 및/또는 대안적 인증 데이터에 대해 사용자에게 프롬프트해야 할 것이다. 그 결과 인간-어시스턴트 인터렉션이 연장되고 결과적으로 인간-어시스턴트 인터렉션을 용이하게 하기 위한 클라이언트 디바이스 리소스 및/또는 다른 리소스의 장기간 활용이 발생한다. 또 다른 예로서, TD-SV 기법은 등록 절차의 수행 및 클라이언트 디바이스 리소스 및/또는 등록 절차를 수행하기 위한 다른 리소스의 결과적인 활용을 필요로 한다.
본 명세서에 개시된 일부 구현예는 사용자에 대한 하나 이상의 특정 텍스트 종속 화자 검증(TD-SV) 각각에 대한 화자 피처들의 자동 생성과 본 명세서에 개시된 관련된다. 사용자에 대한 각 특정 TD-SV는 제한되는 하나 이상의 특정 단어 및/또는 문구와 연관된다. 예를 들어, 제1 특정 TD-SV는 "door"와 같은 단일 단어로 제한될 수 있고, 제2 특정 TD-SV는 "front door"와 같은 단일 문구로 제한될 수 있고, 제3 특정 TD-SV는 "light" 및 "lights"와 같이 두 개 이상의 음성학적으로 유사한 단어로 제한된다. 또한, 사용자에 대한 각각의 특정 TD-SV는 본 명세서에 개시된 구현예에 따라 생성되는 해당 특정 TD-SV에 대한 화자 피처들과 연관된다. 특정 TD-SV에 대한 화자 피처들은 예를 들어 화자 임베딩일 수 있다. 특정 TD-SV가 제한되는 단어(들) 및/또는 문구(들)는 사용자 검증이 적어도 선택적으로 필요한 대응하는 어시스턴트 액션(들)과 관련된 단어(들) 및/또는 문구(들)에 기초하여 선택될 수 있다.
구현예는 하나 이상의 각각의 어시스턴트 디바이스들을 통해 자동화된 어시스턴트와의 일반적인 비등록 인터렉션 동안에 각각 사용자의 대응하는 음성 발화를 캡처하는 오디오 데이터의 인스턴스들을 사용하여 특정 TD-SV에 대한 화자 피처들을 생성할 수 있다. 보다 구체적으로, 오디오 데이터 인스턴스의 부분은 (a) 음성 발화에 대한 인식된 용어(들)(오디오 데이터에 대해 수행된 스피치 인식을 사용하여 결정됨)가 특정 TD-SV에 대응하는 부분에 의해 캡처되었다고 결정하는 것; 및 (b) 사용자 및 음성 발화에 대한 인증 측정치가 음성 발화를 말한 사용자라는 충분한 신뢰도를 나타내는 임계값을 만족한다고 결정하는 것에 응답하여 사용될 수 있다. 인증 측정치는 사용자에 대한 지문 검증, 사용자에 대한 얼굴 검증, 사용자가 입력한 검증 코드의 분석, 화자 피처들이 이미 생성된 다른 특정 TD-SV 및/또는 일반 호출 TD-SV와 같은 하나 이상의 팩터들에 기초할 수 있다. 일반 호출 TD-SV는 오디오 데이터 또는 오디오 데이터에 선행하는 선행 오디오 데이터를 프로세싱하는 것에 기초하며, 사용자에 대한 것이고, 자동화된 어시스턴트에 대한 하나 이상의 일반 호출 웨이크 단어들에 대한 것이다.
하나의 특정 예로서, "kitchen thermostat"라는 문구로 제한된 사용자에 대한 특정 TD-SV를 가정한다. 또한, 사용자가 어시스턴트 디바이스의 자동화된 어시스턴트를 호출하고 "set the kitchen thermostat to seventy two degrees"라는 음성 발화를 제공한다고 가정한다. 자동화된 어시스턴트는 음성 발화에 대해 "set the kitchen thermostat to seventy two degrees"라는 인식을 생성하기 위해 캡처된 대응하는 오디오 데이터에 기초하여 음성 발화의 스피치 인식을 수행할 수 있다. 자동화된 어시스턴트는 예를 들어, 음성 발화 전에, 그 동안 및/또는 그 후에 어시스턴트 디바이스의 카메라에 의해 캡처된 이미지(들)에 기초하여 수행되는 사용자에 대한 얼굴 검증에 기초하여 발화에 대한 인증 측정치를 추가로 결정할 수 있다. 인증 측정치는 예를 들어 이미지(들)가 사용자에 대해 저장된 얼굴 임베딩에 대응하는 얼굴을 캡처한다는 적어도 임계 신뢰도를 나타내는 얼굴 검증에 기초하여 임계값을 만족하도록 결정될 수 있다.
인증 측정치가 임계값을 만족한다는 결정에 응답하여, 그리고 인식이 용어 "kitchen thermostat"을 포함한다는 결정에 응답하여(및 선택적으로 해당 용어에 대한 음성 인식 신뢰도 측정치가 임계값을 만족함), "kitchen thermostat"에 대응하는 오디오 데이터의 부분(예: 스피치 인식에 의해 표시됨)은 특정 TD-SV에 대한 화자 피처들을 생성하는데 사용될 수 있다. 예를 들어, 오디오 데이터의 부분은 신경 네트워크 모델을 사용하여 프로세싱되어 오디오 데이터를 프로세싱한 후 신경 네트워크의 히든 레이어의 값들을 포함하는 임베딩과 같은 임베딩을 생성할 수 있다. 해당 임베딩은 화자 피처들을 생성하는데 사용될 수 있다. 예를 들어, 임베딩은 화자 피처들로 사용될 수 있고 또는 화자 피처들은 사용자에 대한 각각의 검증 측정치가 임계값을 만족하는 경우 음성 발화에서 "kitchen thermostat"을 캡처한 각각의 오디오 데이터의 각각의 부분에 기초하여 각각 생성되는 기타 임베딩(들) 및 상기 임베딩의 함수로서 생성될 수 있다. 또한, 자동화된 어시스턴트는 발화에 의해 전달되는 어시스턴트 액션도 수행할 수 있다. 즉, 자동화된 어시스턴트는 주방 온도 조절기 설정값을 72도로 조정하는 어시스턴트 액션을 수행할 수 있다.
이러한 방식과 다른 방식으로 "kitchen thermostat"라는 문구로 제한된 특정 TD-SV에 대한 화자 피처들은 인간 어시스턴트 인터렉션을 중단하지 않고 자동화된 어시스턴트와의 일반 사용자 인터렉션으로부터의 음성 발화에 기초하여 생성될 수 있다. 이렇게 하면 특정 TD-SV에 대한 화자 피처들을 생성하기 위해 별도의 계산적으로 부담스러운 등록 절차가 필요하지 않다. 또한, 스피치 인식이 "kitchen thermostat"(선택적으로 임계 신뢰도 레벨을 가짐)에 대응한다고 결정하는 오디오 데이터의 부분을 활용하면 특정 TD-SV에 대한 문구에 대응하는 오디오 데이터 부분을 자동으로 결정할 수 있다. 또한, 사용자에 대한 인증 측정치가 임계값을 만족하는 경우에만 상기 부분에 기초하여 화자 피처들을 생성하는 것은 사용자에 대한 특정 TD-SV에 대한 화자 피처들이 실제로 사용자를 대해 그리고 사용자의 음성 발화에 기초하여 생성되고 있음을 보장한다.
본 명세서에 개시된 일부 구현예는 본 명세서에 개시된 추가로 또는 대안적으로 사용자에 대한 음성 발화를 인증할지 여부를 결정할 때 사용자에 대한 하나 이상의 특정 TD-SV 각각에 대한 화자 피처들의 활용과 관련된다. 일 예시로서, 스피치 인식은 음성 발화의 인식을 생성하기 위해 음성 발화를 캡처하는 오디오 데이터에 기초하여 수행될 수 있다. 인식의 용어(들)가 특정 TD-SV의 용어(들)에 대응하는 경우, 오디오 데이터의 대응하는 부분이 프로세싱되어 발화 피처들을 생성할 수 있으며, 이러한 발화 피처들을 특정 TD-SV에 대한 화자 피처들과 비교하여 사용자를 인증할지 여부를 결정할 수 있다. 예를 들어, 오디오 데이터의 부분은 임베딩을 생성하기 위해 신경 네트워크 모델(예를 들어, TD-SV에 대한 화자 피처들을 생성하는데 사용되는 모델)을 사용하여 프로세싱될 수 있으며, 임베딩은 발화 피처들일 수 있다. 또한, 임베딩은 임베딩이기도 한 TD-SV 및 사용자에 대한 화자 피처들과 비교될 수 있다. 예를 들어, 비교는 코사인 거리 측정 또는 기타 거리 메트릭 생성을 포함할 수 있다. 사용자를 인증할지 여부를 결정하는 것은 비교에 기초할 수 있다(예를 들어, 생성된 거리 메트릭에 기초). 예를 들어, 사용자의 인증은 적어도 임계 유사도(예를 들어, 임베딩이 비교될 때 임계 거리 미만)를 나타내는 비교에 따라 달라질 수 있다.
다양한 구현예에서, 음성 발화는 제1 특정 TD-SV에 대응하는 적어도 제1 용어(들) 및 제2 특정 TD-SV에 대응하는 제2 용어(들)를 포함한다. 예를 들어, 음성 발화는 "open the garage door"일 수 있고, 제1 용어(들)는 "open"일 수 있고 제2 용어(들)는 "garage door"일 수 있다. 이러한 구현예에서, 제1 용어(들)에 대응하는 오디오 데이터의 제1 부분은 프로세싱되어 제1 발화 피처들을 생성할 수 있고, 상기 제1 발화 피처들은 제1 특정 TD-SV에 대한 제1 화자 피처들과 비교될 수 있다. 또한, 제2 용어(들)에 대응하는 오디오 데이터의 제2 부분은 프로세싱되어 제2 발화 피처들을 생성할 수 있고, 상기 제2 발화 피처들은 제1 특정 TD-SV에 대한 제2 화자 피처들과 비교될 수 있다. 사용자를 인증할지 여부를 결정하는 것은 제1 화자 피처들과 제1 발화 피처들의 제1 비교 및 제2 화자 피처들과 제2 발화 피처들의 제2 비교 둘 모두에 기초할 수 있다. 예를 들어, 사용자의 인증은 적어도 임계 유사도를 나타내는 제1 비교 및 적어도 임계 유사도를 나타내는 제2 비교 둘 모두에 따라 결정될 수 있다. 다른 예로서, 제1 비교로부터의 제1 거리 메트릭 및 제2 비교로부터의 제2 거리 메트릭은 전체 거리 메트릭을 생성하기 위해 평균화 및/또는 결합될 수 있고, 사용자의 인증은 적어도 임계 유사도를 나타내는 전체 거리 메트릭이 나타내는 것에 따라 달라질 수 있다. 선택적으로, 제1 거리 메트릭과 제2 거리 메트릭은 평균화 또는 결합에서 다르게 가중될 수 있다. 예를 들어, 제1 거리 메트릭은 제2 화자 피처들에 대한 화자 피처들보다 사용자의 과거 음성 발화의 더 많은 양에 기초하는 제1 화자 피처들에 기초하여 더 무겁게 가중될 수 있다. 다른 예로서, 제1 거리 메트릭은 추가적으로 또는 대안적으로 제1 용어(들)에 대한, 스피치 인식 신뢰도에 기초하여 더 무겁게 가중될 수 있고, 이는 제2 용어(들)에 대한 스피치 인식 신뢰도보다 신뢰도를 더 잘 나타낸다. 또 다른 예로서, 제2 거리 메트릭은 "open"(제2 TD-SV에 대응) 보다 더 많은 양의 문자 및/또는 더 많은 양의 음절을 포함하는 "garage door"(제1 TD-SV에 대응)에 기초하여 추가로 또는 대안적으로 더 무겁게 가중치가 부여될 수 있다. 다양한 구현예에서, 거리 메트릭의 가중치는 대응하는 화자 피처들이 기초하는 음성 발화의 양, 대응 용어(들)에 대한 음성 인식 신뢰도 및/또는 길이(예: 대응 용어(들)의 문자, 음절 및/또는 기타 길이)와 같은 둘 이상의 피처들의 함수일 수 있다.
사용자에 대한 다수의 상이한 특정 TD-SV를 고려하고, 사용자의 단일 발화에 기초하여 사용자를 인증할지 여부를 결정하는 구현예에서, 인증의 정확성 및/또는 강건성이 증가될 수 있다. 이는 대체 인증 데이터에 대한 프롬프트(예: 사용자에게 PIN 또는 기타 암호를 제공하라는 프롬프트, 사용자가 지문 센서와 인터렉션하도록 프롬프트 및/또는 사용자가 얼굴 식별용 카메라 앞에 위치하도록 프롬프트)에 대한 필요성을 제거할 수 있다. 이것은 인간-어시스턴트 인터렉션이 연장되는 것을 방지하고, 인간-어시스턴트 인터렉션 동안 사용자에게 필요한 입력의 양을 줄이며, 인간-어시스턴트 인터렉션을 용이하게 하는데 필요한 클라이언트 디바이스 리소스 및/또는 기타 리소스의 양을 줄인다.
전술한 바와 같이, 특정 TD-SV는 어시스턴트에 대한 호출 웨이크 워드들이 아닌 단어(들) 및/또는 사용자 인증이 적어도 선택적으로 요구되는 어시스턴트 액션(들)과 연관되는 단어(들)로 제한될 수 있다. 따라서, 특정 TD-SV에 대한 화자 피처들은 자동화된 어시스턴트가 호출 핫워드를 사용하지 않고 호출된 상황에서(예를 들어, 대신에 터치 제스처, 터치 없는 제스처, 존재 검출 및/또는 사용자의 시선에 응답하여 호출됨), 사용자를 인증하는데 활용될 수 있다. 이들 및 다른 방식으로, 대체 인증 데이터에 대한 프롬프트를 요구하지 않고 사용자 인증을 가능하게 함으로써 및/또는 사용자가 지문 센서, 카메라 및/또는 대체 인증 데이터를 제공하기 위한 기타 센서(들)가 없을 수 있는 어시스턴트 디바이스와 인터렉션할 때 강력한 인증을 가능하게 함으로써 자동화된 어시스턴트를 더욱 강력하게 한다. 또한, 이것은 사용자가 호출 핫워드를 활용하지 않고 어시스턴트를 호출하는 상황에서 대체 인증 데이터에 대한 프롬프트를 표시할 필요성을 제거할 수 있다. 이것은 인간-어시스턴트 인터렉션이 연장되는 것을 방지하고, 인간-어시스턴트 인터렉션 동안 사용자에게 필요한 입력의 양을 줄이며, 인간-어시스턴트 인터렉션을 용이하게 하는데 필요한 클라이언트 디바이스 리소스 및/또는 기타 리소스의 양을 줄인다.
상기 설명은 단지 일부 구현예의 개요로서 제공된다. 이러한 구현예 및 기타 구현예는 본 명세서에서 더 자세히 설명된다.
도 1은 본 명세서에 개시된 구현예들이 구현될 수 있는 예시적 컴퓨팅 환경의 블록도이다.
도 2는 다양한 구현예에 따라 하나 이상의 특정 텍스트 종속 화자 검증들 각각에 대한 화자 피처들을 자동으로 생성하는 예시적 방법을 나타내는 흐름도이다.
도 3a는 사용자가 자동화된 어시스턴트로 인증되었을 때 각각 제공되었던 사용자의 예시적 음성 발화를 도시한다.
도 3b는 다수의 상이한 특정 텍스트 종속 화자 검증을 위한 화자 피처들을 자동으로 생성하는 것에서 도 3a의 음성 발화에 대한 오디오 데이터를 활용하는 예를 도시한다.
도 4는 다양한 구현예에 따라 하나 이상의 특정 텍스트 종속 화자 검증을 사용하여 사용자를 인증하는 예시적 방법을 나타내는 흐름도이다.
도 5a 및 도 5b는 각각 음성 발화의 예를 도시하고, 음성 발화가 특정 사용자가 말한 것으로 검증할지 여부를 결정할 때 다수의 특정 텍스트 종속 화자 검증을 사용하는 것을 도시한다.
도 6은 컴퓨팅 디바이스의 예시적 아키텍처를 도시한다.
초기적으로 도 1로 돌아가면, 다양한 구현예가 구현될 수 있는 예시적 환경이 도시된다. 도 1은 자동화된 어시스턴트 클라이언트(120)의 인스턴스를 실행하는 어시스턴트 디바이스(110)(즉, 자동화된 어시스턴트 클라이언트를 실행하고 및/또는 자동화된 어시스턴트가 액세스할 수 있는 클라이언트 디바이스)를 포함한다. 하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트(140)는 일반적으로 108에 표시된 하나 이상의 로컬 및/또는 광역 네트워크(예를 들어, 인터넷)를 통해 어시스턴트 디바이스(102)에 통신가능하게 연결된 하나 이상의 컴퓨팅 시스템(집합적으로 "클라우드" 컴퓨팅 시스템으로 통칭)에서 구현될 수 있다.
선택적으로 하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트(140)와의 인터렉션(들)을 통해, 자동화된 어시스턴트 클라이언트(120)의 인스턴스는 사용자의 관점에서 사용자가 인간-대-컴퓨터 대화에 참여할 수 있게 하는 자동화된 어시스턴트의 논리적 인스턴스로 보이는 것을 형성할 수 있다. 이러한 자동화된 어시스턴트(100)의 인스턴스가 도 1에 도시된다.
어시스턴트 디바이스(110)는 예를 들어, 데스크톱 컴퓨터 디바이스, 랩톱 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 모바일폰 컴퓨팅 디바이스, 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내 네비게이션 시스템), 단독형 인터렉티브 스피커, 스마트 텔레비전과 같은 스마트 장비 및/또는 컴퓨팅 디바이스를 포함하는 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 구비한 시계, 컴퓨팅 디바이스를 구비한 안경, 가상 또는 증강 현실 컴퓨팅 디바이스)일 수 있다.
어시스턴트 디바이스(110)는 가정, 기업 또는 기타 환경 내의 한 명 이상의 사용자에 의해 활용될 수 있다. 또한, 하나 이상의 사용자가 어시스턴트 디바이스(110)에 등록되고 어시스턴트 디바이스(110)를 통해 액세스 가능한 대응하는 사용자 계정을 가질 수 있다. 연관된 사용자로부터의 허가 하에 등록된 사용자 각각에 대해(예를 들어, 대응하는 사용자 프로필과 연관하여) 본 명세서에 기술된 텍스트 종속 화자 검증(들)(TD-SV(들))이 생성 및 저장될 수 있다. 예를 들어, "door"라는 용어로 제한되는 TD-SV는 제1 등록된 사용자와 연관하여 저장될 수 있으며, 상기 제1 등록된 사용자에 특정적인 대응하는 화자 피처들을 가질 수 있고, - 그리고 "door"라는 용어로 제한된 TD-SV는 제2 등록된 사용자와 연관하여 저장될 수 있으며, 상기 제2 등록된 사용자에 특정적인 대응하는 화자 피처들을 가질 수 있다. 본 명세서에 기술된 TD-SV 기법은 발화가 (다른 등록된 사용자나 게스트 사용자가 아닌) 특정 사용자로부터의 것임을 인증하는데 활용될 수 있다. 선택적으로, TI-SV(text-independent speaker verification) 기법, 화자 검증, 얼굴 검증 및/또는 기타 검증 기법(들)(예: PIN 입력)이 특정 사용자를 인증하는데 추가로 또는 대안적으로 활용될 수 있다.
추가적 및/또는 대안적 어시스턴트 디바이스들이 제공될 수 있으며, 그러한 구현예 중 일부에서 사용자를 위한 특정 TD-SV에 대한 화자 피처들은 사용자가 등록된 사용자인 어시스턴트 디바이스 간에 공유될 수 있다. 다양한 구현예에서, 어시스턴트 디바이스(110)는 메시지 교환 클라이언트(예를 들어, SMS, MMS, 온라인 채팅), 브라우저 등과 같은 자동화된 어시스턴트 클라이언트(104)에 추가된 하나 이상의 다른 애플리케이션을 선택적으로 동작할 수 있다. 이러한 다양한 구현예 중 일부에서, 다른 애플리케이션들 중 하나 이상은 선택적으로 자동화된 어시스턴트(100)와 (예를 들어, 애플리케이션 프로그래밍 인터페이스를 통해) 인터페이스할 수 있거나, (클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(140)와 인터페이싱할 수 있는) 자동화된 어시스턴트 애플리케이션 자체 인스턴스를 포함할 수 있다.
자동화된 어시스턴트(100)는 클라이언트 디바이스(110)의 사용자 인터페이스 입력 및 출력 디바이스들을 통해 사용자와 인간 대 컴퓨터 대화 세션에 참여한다. 사용자 개인 정보 보호 및/또는 리소스 보존을 위해, 많은 경우에, 자동화된 어시스턴트가 발화된 발언을 완전히 프로세싱하기 전에 사용자는 종종 명시적으로 자동화된 어시스턴트(100)를 호출해야 한다. 자동화된 어시스턴트(100)의 명시적 호출은 어시스턴트 디바이스(110)에서 수신되는 특정 사용자 인터페이스 입력에 대한 응답으로 발생한다. 예를 들어, 어시스턴트 디바이스를 통해 자동화된 어시스턴트(100)를 호출할 수 있는 사용자 인터페이스 입력은 어시스턴트 디바이스(110)의 하드웨어 및/또는 가상 버튼의 작동을 선택적으로 포함할 수 있다. 더욱이, 자동화된 어시스턴트 클라이언트는 하나 이상의 음성 일반 호출 웨이크워드들의 존재를 검출하도록 동작가능한 호출 엔진과 같은 하나 이상의 로컬 엔진들을 포함할 수 있다. 호출 엔진은 음성 호출 웨이크워드들 중 하나의 검출에 응답하여 자동화된 어시스턴트(100)를 호출할 수 있다. 예를 들어, 호출 엔진은 "Hey Assistant", "OK Assistant" 및/또는 "Assistant"와 같은 음성 호출 웨이크워드를 검출하는 것에 응답하여 자동화된 어시스턴트(100)를 호출할 수 있다. 호출 엔진은 음성 호출 문구의 발생을 모니터링하기 위해 어시스턴트 디바이스(110)의 하나 이상의 마이크로폰으로부터의 출력에 기초한 오디오 데이터 프레임의 스트림을 연속적으로 프로세싱할 수 있다(예를 들어, "비활성" 모드에 있지 않은 경우) . 음성 호출 문구의 발생을 모니터링하는 동안, 호출 엔진은 음성 호출 문구를 포함하지 않는 모든 오디오 데이터 프레임을 (예를 들어, 버퍼에 임시 저장한 후) 폐기한다. 그러나, 호출 엔진이 프로세싱된 오디오 데이터 프레임에서 음성 호출 문구의 발생을 검출하면, 호출 엔진은 자동화된 어시스턴트(100)를 호출할 수 있다. 본 명세서에서 사용된 바와 같이, 자동화된 어시스턴트(100)를 "호출"하는 것은 자동화된 어시스턴트(100)의 하나 이상의 이전에 비활성화된 기능이 활성화되게 하는 것을 포함할 수 있다. 예를 들어, 자동화된 어시스턴트(100)를 호출하는 것은 하나 이상의 로컬 엔진들 및/또는 클라우드 기반 자동화된 어시스턴트 컴포넌트(140)가 호출 문구가 검출된 것에 기초한 오디오 데이터 프레임 및/또는 하나 이상의 후속 오디오 데이터 프레임을 추가로 프로세싱하게 하는 것을 포함할 수 있다(반면 호출 이전에는 오디오 데이터 프레임의 추가 프로세싱이 발생하지 않았음). 예를 들어, 로컬 및/또는 클라우드 기반 컴포넌트는 자동화된 어시스턴트(100)의 호출에 응답하여 ASR 모델을 사용하여 캡처된 오디오 데이터를 프로세싱할 수 있다.
도 1의 자동화된 어시스턴트 클라이언트(120)는 자동 스피치 인식(ASR) 엔진(122), 자연어 이해(NLU) 엔진(124), 텍스트-투-스피치(TTS) 엔진(126), 이행 엔진(128) 및 인증 엔진(130)을 포함하는 것으로 도시된다. 일부 구현예에서, 예시된 엔진 중 하나 이상이 생략될 수 있고(예를 들어, 대신 클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(140)에 의해서만 구현됨) 및/또는 추가 엔진이 제공될 수 있다(예를 들어, 전술한 호출 엔진).
ASR 엔진(122)은 음성 발화의 인식을 생성하기 위해 음성 발화를 캡처하는 오디오 데이터를 프로세싱할 수 있다. 예를 들어, ASR 엔진(122)은 발화에 대응하는 인식된 텍스트의 예측을 생성하기 위해 하나 이상의 ASR 기계 학습 모델을 활용하여 오디오 데이터를 프로세싱할 수 있다. 상기 구현예 중 일부에서, ASR 엔진(122)은 하나 이상의 인식된 용어들 각각에 대해, 예측된 용어가 음성 발화에 대응한다는 신뢰도를 나타내는 대응 신뢰 측정치를 생성할 수 있다.
TTS 엔진(126)은 텍스트를 합성된 스피치로 변환할 수 있고, 그렇게 함에 있어서 하나 이상의 스피치 합성 신경 네트워크 모델에 의존할 수 있다. 예를 들어, TTS 엔진(126)은 텍스트 응답을 텍스트의 합성된 버전 및 어시스턴트 디바이스(110)의 하드웨어 스피커(들)를 통해 청각적으로 렌더링된 합성된 버전을 포함하는 오디오 데이터로 변환하기 위해 활용될 수 있다.
NLU 엔진(124)은 ASR 엔진에 의해 오디오로부터 변환된 오디오 및/또는 텍스트의 시맨틱 의미(들)를 결정하고, 이들 시맨틱 의미(들)에 대응하는 어시스턴트 액션(들)을 결정한다. 일부 구현예에서, NLU 엔진(124)은 ASR 엔진(122)의 인식(들)에 기초하여 결정되는 의도(들) 및/또는 파라미터(들)로서 어시스턴트 액션(들)을 결정한다. 일부 상황에서, NLU 엔진(124)은 사용자의 단일 발화에 기초하여 의도(들) 및/또는 파라미터(들)를 리졸브할 수 있고, 다른 상황에서는 리졸브되지 않은 의도(들) 및/또는 파라미터(들)에 기초하여 프롬프트가 생성될 수 있고, 사용자에게 제공되는 해당 프롬프트들 및 해당 프롬프트(들)에 대한 사용자 응답(들)은 의도(들) 및/또는 파라미터(들)를 리졸브하는데 NLU 엔진(124)에 의해 활용된다. 그러한 상황에서, NLU 엔진(124)은 리졸브되지 않은 의도(들) 및/또는 파라미터(들)를 결정하고 및/또는 대응하는 프롬프트(들)를 생성하는 대화 관리자 엔진(미도시)과 협력하여 선택적으로 작동할 수 있다. NLU 엔진(124)은 의도(들) 및/또는 파라미터(들)를 결정하는데 하나 이상의 NLU 기계 학습 모델을 활용할 수 있다.
이행 엔진(128)은 NLU 엔진(124)에 의해 결정되는 어시스턴트 액션(들)의 수행을 야기할 수 있다. 예를 들어, NLU 엔진(124)이 "주방 조명 켜기"의 어시스턴트 액션을 결정하면, 이행 엔진(128)은 대응하는 데이터를 (조명에 직접 또는 조명 제조업체와 연관된 원격 서버에) 전송하게 하여, "주방 조명"을 "켜지게" 할 수 있다. 다른 예로서, NLU 엔진(124)이 "오늘의 사용자 회의 요약 제공"의 어시스턴트 액션을 결정하면, 이행 엔진(128)은 사용자의 캘린더에 액세스하고, 그 날의 사용자 회의를 요약하고, 요약이 어시스턴트 디바이스(110)에서 시각적 및/또는 청각적으로 렌더링되게 할 수 있다.
인증 엔진(130)은 비교 모듈(132), 발화 피처 모듈(134), 기타 모듈(들)(136) 및 화자 피처 모듈(138)을 포함하는 것으로 도 1에 도시되어 있다. 인증 엔진(130)은 다른 구현예에서 추가적 또는 대안적 모듈들을 포함할 수 있다. 인증 엔진(130)은 어시스턴트 디바이스(110)에 등록된 특정 사용자에 대한 음성 발화를 인증할지 여부를 결정할 수 있다.
화자 피처 모듈(138)은 하나 이상의 각각의 어시스턴트 디바이스들을 통해 자동화된 어시스턴트와의 일반적인 비등록 인터렉션 동안에 각각 사용자의 대응하는 음성 발화를 캡처하는 오디오 데이터의 인스턴스들을 사용하여 사용자에 대한 하나 이상의 특정 TD-SV들 각각에 대한 화자 피처들을 생성할 수 있다. 예를 들면, 화자 피처 모듈(138)은 (a) 음성 발화에 대한 인식된 용어(들)(오디오 데이터에 대해 수행된 스피치 인식을 사용하여 결정됨)가 특정 TD-SV에 대응하는 부분에 의해 캡처되었다고 결정하는 것; 및 (b) 사용자 및 음성 발화에 대한 인증 측정치가 음성 발화를 말한 사용자라는 충분한 신뢰도를 나타내는 임계값을 만족한다고 결정하는 것에 응답하여, 사용자에 대한 TD-SV에 대한 화자 피처들을 생성하는 것에서 음성 발화를 캡처하는 오디오 데이터의 인스턴스의 부분을 활용할 수 있다.
TD-SV에 대한 화자 피처들을 생성할 때, 화자 피처 모듈(138)은 TD-SV에 대응하는 하나 이상의 TD-SV 모델(들)(152A-N) 중 하나를 사용하여 오디오 데이터의 부분을 프로세싱할 수 있다. 일부 구현예에서, 단일의 TD-SV 모델(들)(152A-N)은 TD-SV 및 복수의 추가 TD-SV 각각에 대해 사용될 수 있다. 예를 들어, 동일한 단일의 TD-SV 모델이 모든 TD-SV 또는 다수의 TD-SV들을 포함하는 서브세트에 사용될 수 있다. 일부 다른 구현예에서, 단일의 TD-SV 모델(들)(152A-N)은 TD-SV에 대해서만 사용될 수 있다. 예를 들어, 단일의 TD-SV 모델은 다수의 사용자들의 발화에 기초하여 트레이닝될 수 있으며, 이러한 발화들은 TD-SV의 용어(들) 및/또는 음성학적으로 유사한 용어(들)를 포함하는 것들로 제한된다. 화자 피처 모듈(138)은 사용자와 연관하여 그리고 TD-SV와 연관하여 TD-SV에 대해 생성된 화자 피처들을 저장할 수 있다. 예를 들어, 화자 피처 모듈은 생성된 화자 피처 및 연관을 TD-SV 피처 데이터베이스(154)에 저장할 수 있으며, 이는 선택적으로 어시스턴트 디바이스(110)에 로컬적일 수 있다. 일부 구현예에서, 화자 피처 모듈(138)은 적어도 도 2의 방법(200)의 블록(268, 270 및/또는 272)의 하나 이상의 양태를 수행할 수 있다(아래 설명).
발화 피처 모듈(134)은 TD-SV에 대한 대응 용어(들)을 각각 캡처하는 오디오 데이터의 대응하는 부분들을 사용하여, 음성 발화에 대한 그리고 하나 이상의 특정 TD-SV 각각에 대한 발화 피처들을 생성할 수 있다. 예를 들면, 발화 피처 모듈(134)은 음성 발화에 대한 인식된 용어(들)(오디오 데이터에 대해 수행된 스피치 인식을 사용하여 결정됨)가 특정 TD-SV에 대응하는 부분에 의해 캡처되었다고 결정하는 것에 응답하여, 사용자에 대한 TD-SV에 대한 화자 피처들을 생성하는 것에서 음성 발화를 캡처하는 오디오 데이터의 인스턴스의 부분을 활용할 수 있다.
TD-SV에 대한 발화 피처들을 생성할 때, 발화 피처 모듈(134)은 TD-SV에 대응하는 하나 이상의 TD-SV 모델(들)(152A-N) 중 하나를 사용하여 오디오 데이터의 부분을 프로세싱할 수 있다. 일부 구현예에서, 발화 피처 모듈(134)은 적어도 도 4의 방법(400)의 블록(462, 466) 및 블록(464) 프로세싱 부분의 양태를 수행할 수 있다(아래 설명).
비교 모듈(132)은 발화에 대한 발화 피처 모듈(134)에 의해 생성된 하나 이상의 발화 피처들 각각을 대응하는 TD-SV(들)에 대한 대응하는 화자 피처들과 비교할 수 있다. 예를 들어, 발화에 대한 발화 피처 모듈(134)에 의해 각각 상이한 TD-SV에 대응하는 3개의 발화 피처들이 생성될 수 있다. 그러한 예에서, 비교 모듈(132)은 3개의 발화 피처들 각각을 TD-SV 피처 데이터베이스(154)에 저장된 화자 피처들 중 대응하는 것과 비교하여 대응하는 거리 메트릭을 생성할 수 있다. 거리 메트릭은 발화 피처들이 대응하는 화자 피처들과 얼마나 근접하게 일치하는지를 각각 나타낼 수 있다. 일부 구현예에서, 화자 비교 모듈(132)은 적어도 도 4의 방법(400)의 블록(464)의 비교 부분의 양태를 수행할 수 있다(아래 설명).
인증 엔진(130)은 비교 모듈(132)에 의해 수행된 비교(들)에 적어도 부분적으로 기초하여 음성 발화에 대해 사용자를 인증할지 여부를 결정할 수 있다. 일부 구현예에서, 인증 엔진(130)은 사용자를 인증할지 여부를 결정할 때, 다른 검증(들)을 위해 다른 모듈(들)(136)에 의해 생성된 메트릭(들)을 추가적으로 또는 대안적으로 활용할 수 있다. 예를 들어, 다른 모듈(들)은 텍스트 독립적 화자 검증, 지문 검증, 얼굴 검증 및/또는 기타 검증(들)과 관련된 메트릭(들)을 생성할 수 있다.
클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(140)는 선택적이며 어시스턴트 클라이언트(120)의 대응하는 컴포넌트(들)와 협력하여 동작할 수 있고 및/또는 어시스턴트 클라이언트(120)의 대응하는 컴포넌트(들) 대신에 (항상 또는 선택적으로) 활용될 수 있다. 일부 구현예에서, 클라우드 기반 컴포넌트(들)(114)는 자동화된 어시스턴트 클라이언트(120)의 임의의 대응물에 비해 오디오 데이터 및/또는 기타 데이터의 더 강력하고 및/또는 더 정확한 프로세싱을 수행하기 위해 사실상 무한한 클라우드 리소스를 활용할 수 있다. 다양한 구현예에서, 어시스턴트 디바이스(110)는 호출 엔진이 음성 호출 문구를 검출하거나 자동화된 어시스턴트(100)의 일부 다른 명시적 호출을 검출하는 것에 응답하여 오디오 데이터 및/또는 다른 데이터를 클라우드 기반 자동화된 어시스턴트 컴포넌트들(140)에 제공할 수 있다.
도시된 클라우드 기반 자동화된 어시스턴트 컴포넌트(140)는 클라우드 기반 ASR 엔진(142), 클라우드 기반 NLU 엔진(144), 클라우드 기반 TTS 엔진(146), 클라우드 기반 이행 엔진(148) 및 클라우드 기반 인증 엔진(150)을 포함한다. 이러한 컴포넌트는 자동화된 어시스턴트 대응물(있는 경우)과 유사한 기능을 수행할 수 있다. 일부 구현예에서, 도시된 클라우드 기반 엔진 중 하나 이상이 생략될 수 있고(예를 들어, 대신 자동화된 어시스턴트 클라이언트(120)에 의해서만 구현됨) 및/또는 추가적인 클라우드 기반 엔진이 제공될 수 있다.
도 2는 다양한 구현예에 따라 하나 이상의 특정 텍스트 종속 화자 검증들 각각에 대한 화자 피처들을 자동으로 생성하는 예시적 방법(200)을 나타내는 흐름도이다. 편의상, 흐름도의 동작들은 동작들을 수행하는 시스템을 참조하여 기술된다. 이 시스템은 자동화된 어시스턴트(100)의 하나 이상의 컴포넌트들과 같은 다양한 컴퓨터 시스템들의 다양한 컴포넌트들을 포함할 수 있다. 추가로, 방법(200)의 동작들이 특정한 순서로 도시되었지만, 이는 그러한 제한을 의미하지 않는다. 하나 이상의 동작들은 재순서화, 생략 또는 추가될 수 있다.
블록(252)에서, 시스템은 어시스턴트 디바이스의 마이크(들)를 통해 사용자의 음성 발화를 캡처하는 오디오 데이터를 수신한다.
블록(254)에서, 시스템은 음성 발화의 인식을 생성하기 위해 오디오 데이터에 대해 자동 스피치 인식(ASR)을 수행한다.
블록(256)에서, 시스템은 블록(254)의 인식에 기초하여 발화에 응답하여 수행할 어시스턴트 액션(들)을 결정한다. 일부 구현예에서, 방법(256)은 서브-블록(257)을 포함할 수 있다. 서브-블록(257)에서, 시스템은 의도(들) 및 파라미터(들)를 결정하기 위해 전사에 대해 자연어 이해(NLU)를 수행한다. 그러한 구현예 중 일부에서, 시스템은 의도(들) 및/또는 파라미터(들)를 명확히 하기 위해 제1 사용자에게 선택적으로 프롬프트한다(예를 들어, 시각적 및/또는 청각적 프롬프트(들)를 활용함). 예를 들어, 사용자는 "음악 재생" 의도와 "동영상 재생" 의도를 명확하게 하도록 프롬프트될 수 있다. 다른 예로서, 사용자는 "스마트 디바이스 1" 파라미터와 "스마트 디바이스 2" 파라미터 사이에서 명확하게 하도록 프롬프트될 수 있다.
블록(258)에서, 시스템은 블록(252)에서 캡처된 발화 및/또는 다른 데이터에 기초하여 사용자에 대한 인증 측정치를 결정한다. 예를 들어, 시스템은 발화를 캡처하는 오디오 데이터에 기초하여 특정 TD-SV를 수행할 수 있고, 특정 TD-SV가 사용자에 대한 대응하는 화자 피처들에 일치하는지 여부 및/또는 얼마나 근접하게 일치하는지에 기초하여 인증 측정치를 생성할 수 있다. 또 다른 예로서, 시스템은 음성 발화에 선행하는 오디오 데이터에 기초하여 일반 호출 TD-SV를 추가적으로 또는 대안적으로 수행할 수 있고, 특정 TD-SV가 사용자에 대한 대응하는 화자 피처들에 일치하는지 여부 및/또는 얼마나 근접하게 일치하는지에 기초하여 인증 측정치를 생성할 수 있다. 다른 예로서, 시스템은 발화를 캡처하는 오디오 데이터에 기초하여 TI-SV(text-independent speaker verification)를 추가로 또는 대안적으로 수행할 수 있고, TI-SV가 사용자에 대한 대응하는 화자 피처들과 일치하는지 및/또는 얼마나 근접하게 일치하는지에 기초하여 인증 측정치를 생성할 수 있다. 다른 예로서, 시스템은 (예를 들어, 어시스턴트 디바이스의 카메라로부터의 이미지(들)에 기초하여) 얼굴 검증 및/또는 (예를 들어, 어시스턴트 디바이스의 지문 센서로부터의 날짜에 기초하여) 지문 검증에 기초하여 인증 측정치를 추가로 또는 대안적으로 결정할 수 있다.
다양한 구현예에서, 시스템은 다음 중 하나 이상에 기초하여 인증 측정치를 결정할 수 있다: 대응하는 검증(들)이 사용자에 대한 대응하는 데이터와 얼마나 밀접하게 일치하는지(즉, 더 근접한 일치 검증이 인증을 더 잘 나타내는 인증 측정치로 이어짐); 얼마나 많은 상이한 검증(들)이 발생했는지(즉, 더 많은 검증(들)이 인증을 더 잘 나타내는 인증 측정치로 이어짐); 및/또는 어떤 검증(들)이 발생했는지(즉, 일부 검증(들)은 다른 것보다 더 많은 가중치를 가질 수 있음).
일부 구현예에서, 블록(258)은 블록(256)에서 결정된 어시스턴트 액션(들) 중 하나 이상에 의해 추가 인증이 필요한 경우 시스템이 추가 인증을 수행하는 서브-블록(259)을 포함한다. 예를 들어, 어시스턴트 액션이 블록(252)의 발화 및/또는 현재 사용 가능한 다른 데이터에 의해 표시된 것보다 더 큰 인증 수준을 요구하는 경우, 시스템은 사용자에게 추가 검증을 가능하게 하는 발화(들) 및/또는 데이터를 제공하도록 프롬프트할 수 있다. 예를 들어, 발화 및/또는 현재 사용 가능한 다른 데이터에 기초하여 검증이 수행되지 않을 수 있으며, 시스템은 사용자가 일반 호출 웨이크워드를 말하거나 PIN 또는 기타 패스코드를 말(또는 입력)하도록 프롬프트할 수 있다. 또한, 예를 들어 발화 및/또는 현재 사용 가능한 다른 데이터에 기초하여 일반 호출 TD-SV 검증만 수행할 수 있으며, 액션은 추가 형식의 검증(예: 얼굴 또는 지문 검증)이 필요할 수 있으며, 시스템은 이러한 추가 형식의 검증을 요청할 수 있다.
블록(260)에서, 시스템은 어시스턴트 액션(들)을 수행한다. 예를 들어, 어시스턴트 액션(들)은 발화에 응답하는 청각적 및/또는 시각적 사용자 인터페이스 출력의 생성 및 렌더링 유발, 스마트 디바이스(들) 제어, 전화 걸기(예: VoIP 사용), 다른 사용자에게 메시지를 전송 및/또는 다른 액션(들) 수행을 포함할 수 있다.
블록(262)에서, 시스템은 블록(258)에서 생성된 인증 측정치가 임계값을 만족하는지 여부를 결정한다. 일부 구현예에서, 블록(259)에서 요구되는 경우, 블록(262)의 임계값은 블록(259)에서 어시스턴트 액션(들)에 의해 요구되는 것과 동일한 임계값일 수 있다는 점에 유의해야 한다(어시스턴트 액션(들)에 인증이 필요하지 않더라도 인증 측정치가 여전히 결정되고, 여전히 임계값을 만족할 수 있다). 일부 다른 구현예에서, 블록(262)의 임계값은 블록(259)에서 요구되는 경우 어시스턴트 액션(들)에 의해 요구되는 것과 다를 수 있다.
블록(262)에서, 시스템이 인증 측정치가 임계값을 만족하지 못한다고 결정하면, 시스템은 블록(264)으로 진행할 수 있고 방법(200)이 종료된다.
블록(262)에서, 시스템이 인증 측정치가 임계값을 만족한다고 결정하면, 시스템은 블록(266)으로 진행하고, 시스템은 인식 용어(들)가 사용자에 대한 하나 이상의 TD-SV(들)에 대응하는지를 결정한다. 예를 들어, 발화는 "turn up the kitchen thermostat"일 수 있고, 시스템은 "turn up"이 사용자에 대한 제1 특정 TD-SV에 대응하고 "kitchen"이 사용자에 대한 제2 특정 TD-SV에 대응하고, "thermostat"은 사용자에 대한 제3 특정 TD-SV에 대응하고, "kitchen thermostat"는 사용자에 대한 제4 특정 TD-SV에 대응한다고 결정할 수 있다. 또 다른 예로서, 발화는 "what time is it"일 수 있고, 시스템은 사용자에 대한 특정 TD-SV에 대응하는 용어가 없다고 결정할 수 있다.
블록(264)에서, 시스템이 사용자에 대한 하나 이상의 TD-SV(들)에 대응하는 인식 용어(들)를 결정하지 않으면, 시스템은 블록(264)으로 진행하고 방법(200)이 종료된다.
블록(264)에서, 시스템이 사용자에 대한 하나 이상의 TD-SV(들)에 대응하는 인식 용어(들)를 결정하면, 시스템은 블록(268)으로 진행한다.
블록(268)에서, 시스템은 특정 TD-SV에 대한 용어(들)를 포함하는 오디오 데이터의 부분을 선택한다. 예를 들어, 부분은 상기 부분이 특정 TD-SV에 대한 용어(들)을 포함함을 나타내는 블록(254)의 ASR에 기초하여 선택될 수 있다.
블록(270)에서, 시스템은 특정 TD-SV에 대한 화자 피처들을 생성하는 것에서 오디오 데이터의 상기 부분을 프로세싱한다. 예를 들어, 시스템은 오디오 데이터의 부분에 대한 화자 피처들이 주어지면 프로세싱에 직접 기초하여 생성하기 위해 오디오 데이터의 부분을 프로세싱할 수 있다. 특정 TD-SV에 대한 화자 피처들이 생성된 주어진 화자 피처들에 기초하여 생성될 수 있고, 선택적으로 특정 TD-SV의 용어(들)를 포함하고, 인증 임계값을 만족하는 사용자로부터의 오디오 데이터의 이전 부분(들)의 프로세싱으로부터 이전에 생성된 화자 피처들에 기초하여 생성될 수 있다. 화자 피처들이 주어진 화자 피처들과 일치하면, 예를 들어 오디오 데이터의 부분이 특정 TD-SV의 용어(들)를 포함하고, 인증 임계값을 만족하는 사용자로부터의 제1 부분인 결과일 수 있다. 블록(270)에서, 시스템은 특정 TD-SV와 연관하여, 그리고 사용자와 연관하여 화자 피처들을 더 저장한다. 화자 피처들은 예를 들어 어시스턴트 디바이스에 로컬적으로 저장될 수 있다. 일부 구현예에서, 화자 피처들은 추가로 또는 대안적으로 원격 어시스턴트 서버(들)에 저장될 수 있지만, 사용자와 연관하여 사용하기 위한 액세스 제한되고 및/또는 (예: 로컬 Wi-Fi 또는 다른 로컬 연결(들)를 통해) 사용자가 등록된 사용자이기도 한 다른 어시스턴트 디바이스와 공유될 수 있다.
일부 구현예에서, 블록(270)은 서브 블록(271A) 및/또는 서브 블록(271B)을 포함한다.
서브-블록(271A)에서, 시스템은 오디오 데이터의 부분을 프로세싱할 때 특정 TD-SV에 대한 TD-SV 모델을 사용한다. 오디오 데이터의 부분에 대해 주어진 화자 피처들은 오디오 데이터의 프로세싱 후 TD-SV 모델의 레이어의 활성화 세트로부터의 값들에 기초할 수 있다(예를 들어, 이에 엄격하게 대응). 특정 TD-SV에 대한 TD-SV 모델은 신경 네트워크 모델일 수 있고, 특정 TD-SV에 대해서만 활용될 수 있거나 대신에 다수의 추가(예를 들어, 모든) 특정 TD-SV에 대해 사용될 수도 있다.
서브-블록(271B)에서, 시스템은 사용자에 대한 특정 TD-SV에 대해 이전에 생성된 화자 피처들과, 오디오 데이터 부분의 프로세싱으로부터 생성된 주어진 화자 피처들을 결합한다. 예를 들어, 사용자에 대한 특정 TD-SV에 대해 이전에 생성된 화자 피처들은 평균화될 수 있고 및/또는 그렇지 않으면 주어진 화자 피처들과 결합될 수 있다.
블록(272)에서, 시스템은 블록(266)에서 식별된 용어(들) 중에서 아직 프로세싱되지 않은 용어(들)가 더 있는지 여부를 결정한다. 그렇다면, 시스템은 사용자에 대한 또 다른 특정 TD-SV에 대해 블록(268 및 270)의 또 다른 반복을 수행하고, 해당 용어(들)를 포함하는 오디오 데이터의 부분을 사용한다.
이제 도 3a로 돌아가면, 5개의 예시적 발화(300A, 300B, 300C, 300D 및 300E)가 도시되어 있다. 각각의 예시적인 음성 발화(300A-E)는 동일한 사용자로부터 나온 것이며 사용자가 자동화된 어시스턴트로 인증되었을 때 각각 제공되었다. 또한 도 3a에 도시된 것은 음성 발화(300A-E)에 대한 오디오 데이터 부분의 다양한 표현이며, 여기서 오디오 데이터 부분 각각은 사용자에 대한 특정 TD-SV에 대응하는 용어(들)에 대응한다. 보다 구체적으로: 부분(301A, 301D 및 301E)는 용어 "unlock"에 대응하고; 부분(303A, 303B, 303C 및 303D)은 "front door"라는 용어에 대응하고; 부분(305A, 305B, 305C, 305D 및 305E)은 용어 "door"에 대응하고; 부분(307A, 307B, 307C 및 307D)은 용어 "front"에 대응하고; 부분(309A 및 309D)는 "unlock the front door"라는 용어에 대응한다.
이제 도 3b로 돌아가면, 다수의 상이한 특정 TD-SV에 대한 화자 피처들을 자동으로 생성하는 것에서 도 3a에 표현된 오디오 데이터의 부분을 활용하는 예가 도시되어 있다.
도 3b에서, "door"에 대응하는 오디오 데이터의 부분(305A-E)은 "door"로 제한되는 사용자에 대한 특정 TD-SV에 대한 화자 피처들(306)을 생성하는데 활용된다. 특히, 부분(305A)은 부분(305A)에 대응하는 주어진 화자 피처들(306A)을 생성하도록 프로세싱되는 것으로 도시되고, 부분(305B)은 부분(305B)에 대응하는 주어진 화자 피처들(306B)을 생성하도록 프로세싱되는 것으로 도시되며, 부분(305C)은 부분(305C)에 대응하는 주어진 화자 피처들(306C)을 생성하도록 프로세싱되는 것으로 도시되고, 부분(305D)은 부분(305D)에 대응하는 주어진 화자 피처들(306D)을 생성하도록 프로세싱되는 것으로 도시되며, 부분(305E)은 부분(305E)에 대응하는 주어진 화자 피처들(306E)을 생성하도록 프로세싱되는 것으로 도시된다. 부분들(305A-E)의 프로세싱은 예를 들어, 특정 TD-SV에 대해서만 활용되는 TD-SV 모델을 사용하거나 특정 TD-SV 및 또한 다수의 추가적인 (예: 모든) 특정 TD-SV에 대해 활용되는 TD-SV 모델을 사용하는 것일 수 있다. 주어진 화자 피처들(306A-E)은 화자 피처들(306)을 생성하기 위해 결합될 수 있다. 예를 들어, 화자 피처들(306)은 주어진 화자 피처들(306A-E)의 평균일 수 있다. 선택적으로, 주어진 화자 피처들(306A-E)을 평균화하거나 다른 방식으로 결합할 때, 주어진 화자 피처들(306A-E)은 하나 이상의 팩터들에 기초하여 가중화될 수 있다. 예를 들어, 임의의 이상치(들)는 덜 무겁게 가중되거나(예를 들어, 이상 범위에 비례하여 가중치가 줄어듦) 심지어 고려되지 않을 수 있다(즉, 사실상 가중 "0"). 다른 예로서, 주어진 화자 피처들(306A-E)은 그들의 대응하는 인증 측정치에 기초하여 가중될 수 있다. 예를 들어, 주어진 화자 피처들(306A)은 음성 발화(300A)에 기초하는 주어진 화자 피처들(306A) 및 음성 발화(300B)에 기초하는 주어진 화자 피처들(306B)에 기초하여 주어진 화자 피처들(306B)보다 더 많이 가중될 수 있고, 음성 발화(300A)는 음성 발화(300B)가 제공되었을 때 결정된 인증 측정치에 비해 더 큰 인증 측정치가 결정되었다.
도 3b에서, "front"에 대응하는 오디오 데이터의 부분(307A-D)은 "front"로 제한되는 사용자에 대한 특정 TD-SV에 대한 화자 피처들(306)을 생성하는데 활용된다. 특히, 부분(307A)은 부분(307A)에 대응하는 주어진 화자 피처들(308A)을 생성하도록 프로세싱되는 것으로 도시되고, 부분(307B)은 부분(307B)에 대응하는 주어진 화자 피처들(308B)을 생성하도록 프로세싱되는 것으로 도시되며, 부분(307C)은 부분(307C)에 대응하는 주어진 화자 피처들(308C)을 생성하도록 프로세싱되는 것으로 도시되며, 부분(307D)은 부분(307D)에 대응하는 주어진 화자 피처들(308D)을 생성하도록 프로세싱되는 것으로 도시된다. 부분들(307A-D)의 프로세싱은 예를 들어, 특정 TD-SV에 대해서만 활용되는 TD-SV 모델을 사용하거나 특정 TD-SV 및 또한 다수의 추가적인 (예: 모든) 특정 TD-SV에 대해 활용되는 TD-SV 모델을 사용하는 것일 수 있다. 주어진 화자 피처들(308A-D)은 화자 피처들(308)을 생성하기 위해 결합될 수 있다. 예를 들어, 화자 피처들(308)은 주어진 화자 피처들(308A-E)의 평균일 수 있으며, 선택적으로 주어진 화자 피처들(308A-E)의 임의의 이상값(들)을 폐기한다.
도 3b에서, "front door"에 대응하는 오디오 데이터의 부분(303A-D)은 "front door"로 제한되는 사용자에 대한 특정 TD-SV에 대한 화자 피처들(304)을 생성하는데 활용된다. 특히, 화자 피처들(304)은 "front door"로 제한되는 특정 TD-SV에 대한 것인 반면, 화자 피처들(306)는 독립형 "door"로 제한되는 별도의 특정 TD-SV에 대한 것이고, 화자 피처들(308)는 독립형 "front"로 제한되는 추가적인 별도의 특정 TD-SV에 대한 것이다. 도 3b에서, 부분(303A)은 부분(303A)에 대응하는 주어진 화자 피처들(304A)을 생성하도록 프로세싱되는 것으로 도시되고, 부분(303B)은 부분(303B)에 대응하는 주어진 화자 피처들(304B)을 생성하도록 프로세싱되는 것으로 도시되며, 부분(303C)은 부분(303C)에 대응하는 주어진 화자 피처들(304C)을 생성하도록 프로세싱되는 것으로 도시되며, 부분(303D)은 부분(303D)에 대응하는 주어진 화자 피처들(304D)을 생성하도록 프로세싱되는 것으로 도시된다. 부분들(303A-D)의 프로세싱은 예를 들어, 특정 TD-SV에 대해서만 활용되는 TD-SV 모델을 사용하거나 특정 TD-SV 및 또한 다수의 추가적인 (예: 모든) 특정 TD-SV에 대해 활용되는 TD-SV 모델을 사용하는 것일 수 있다. 주어진 화자 피처들(304A-D)은 화자 피처들(304)을 생성하기 위해 결합될 수 있다. 예를 들어, 화자 피처들(304)은 주어진 화자 피처들(304A-E)의 평균일 수 있으며, 선택적으로 주어진 화자 피처들(304A-E)의 임의의 이상값(들)을 폐기한다.
도 3b에서, "unlock the front door"에 대응하는 오디오 데이터의 부분(309A 및 309B)은 "unlock the front door"로 제한되는 사용자에 대한 특정 TD-SV에 대한 화자 피처들(310)을 생성하는데 활용된다. 보다 구체적으로, 부분(309A)은 부분(309A)에 대응하는 주어진 화자 피처들(310A)을 생성하도록 프로세싱되는 것으로 도시되고, 부분(309B)은 부분(309B)에 대응하는 주어진 화자 피처들(310B)을 생성하도록 프로세싱되는 것으로 도시된다. 부분들(309A 및 309B)의 프로세싱은 예를 들어, 특정 TD-SV에 대해서만 활용되는 TD-SV 모델을 사용하거나 특정 TD-SV 및 또한 다수의 추가적인 (예: 모든) 특정 TD-SV에 대해 활용되는 TD-SV 모델을 사용하는 것일 수 있다. 주어진 화자 피처들(310A 및 310B)은 화자 피처들(310)을 생성하기 위해 결합될 수 있다. 예를 들어, 화자 피처들(304)은 주어진 화자 피처들(310A 및 310B)의 평균일 수 있다.
도 3b에서, "unlock"에 대응하는 오디오 데이터의 부분(301A, 301D 및 301E)은 "unlock"로 제한되는 사용자에 대한 특정 TD-SV에 대한 화자 피처들(302)을 생성하는데 활용된다. 특히, 부분(301A)은 부분(301A)에 대응하는 주어진 화자 피처들(302A)을 생성하도록 프로세싱되는 것으로 도시되고, 부분(301D)은 부분(301D)에 대응하는 주어진 화자 피처들(302D)을 생성하도록 프로세싱되는 것으로 도시되며, 부분(301E)은 부분(301E)에 대응하는 주어진 화자 피처들(302E)을 생성하도록 프로세싱되는 것으로 도시된다. 부분들(301A , 301D 및 301E)의 프로세싱은 예를 들어, 특정 TD-SV에 대해서만 활용되는 TD-SV 모델을 사용하거나 특정 TD-SV 및 또한 다수의 추가적인 (예: 모든) 특정 TD-SV에 대해 활용되는 TD-SV 모델을 사용하는 것일 수 있다. 주어진 화자 피처들(302A , 302D 및 302E)은 화자 피처들(302)을 생성하기 위해 결합될 수 있다. 예를 들어, 화자 피처들(302)은 주어진 화자 피처들(301A, 301D 및 310E)의 평균일 수 있고, 선택적으로 임의의 이상치는 폐기한다.
일부 구현예에서, 5개의 개별적인 특정 TD-SV는 특정 TD-SV가 사용자 인증에 활용될 때 활용되는 대응하는 가중치와 각각 연관될 수 있다. 다른 말로 하면, 특정 TD-SV 중 일부에 다른 특정 TD-SV보다 더 많은 가중치가 부여될 수 있다. 이러한 구현예 중 일부에서, 특정 TD-SV에 부여된 가중치는 대응하는 화자 피처들이 기초하는 오디오 데이터의 부분(들)의 양, 시퀀스에서 얼마나 많은 용어(들)에 대응하는지(예를 들어, 단일 용어(들)로만 제한되는지 여부, 두 용어들 각각의 순서 등) 및/또는 기타 요인의 함수일 수 있다. 일례로, "door"에 대한 TD-SV는 오디오 데이터의 5개 부분에 기초하는 "door"에 대한 TD-SV의 화자 피처들에 적어도 기초하여 "front"에 대한 TD-SV보다 더 강한 가중치를 가질 수 있는 반면 TD-SV의 "front" 화자 피처들은 오디오 데이터의 4개 부분에만 기초한다. 또 다른 예로서, "front door"에 대한 TD-SV는 적어도 "front door"에 대한 TD-SV가 두 용어들의 시퀀스로 제한되는 것에 기초하여 "front door"에 대한 TD-SV보다 더 강한 가중치를 가질 수 있는 반면 "front"에 대한 TD-SV는 단일 용어로만 제한된다.
도 4는 다양한 구현예에 따라 하나 이상의 특정 텍스트 종속 화자 검증을 사용하여 사용자를 인증하는 예시적 방법(400)을 나타내는 흐름도이다. 편의상, 흐름도의 동작들은 동작들을 수행하는 시스템을 참조하여 기술된다. 이 시스템은 자동화된 어시스턴트(110)의 하나 이상의 컴포넌트들과 같은 다양한 컴퓨터 시스템들의 다양한 컴포넌트들을 포함할 수 있다. 추가로, 방법(400)의 동작들이 특정한 순서로 도시되었지만, 이는 그러한 제한을 의미하지 않는다. 하나 이상의 동작들은 재순서화, 생략 또는 추가될 수 있다.
블록(452)에서, 시스템은 어시스턴트 디바이스의 마이크(들)를 통해 사용자의 음성 발화를 캡처하는 오디오 데이터를 수신한다.
블록(454)에서, 시스템은 음성 발화의 인식을 생성하기 위해 오디오 데이터에 대해 자동 스피치 인식(ASR)을 수행한다.
블록(456)에서, 시스템은 블록(454)의 인식에 기초하여 발화에 응답하여 수행할 어시스턴트 액션(들)을 결정한다. 일부 구현예에서, 방법(456)은 서브-블록(457)을 포함할 수 있다. 서브-블록(457)에서, 시스템은 의도(들) 및 파라미터(들)를 결정하기 위해 전사에 대해 자연어 이해(NLU)를 수행한다. 그러한 구현예 중 일부에서, 시스템은 의도(들) 및/또는 파라미터(들)를 명확히 하기 위해 제1 사용자에게 선택적으로 프롬프트한다(예를 들어, 시각적 및/또는 청각적 프롬프트(들)를 활용함).
블록(458)에서, 시스템은 블록(456)에서 결정된 어시스턴트 액션(들)에 기초하여 발화를 말한 사용자를 인증할지 여부 및/또는 인증 정도를 결정한다. 예를 들어 어시스턴트 액션(들)이 수행하는데 개인 데이터가 필요하지 않은(또는 특정 유형(들)의 개인 데이터가 필요하지 않은) 의도 및/또는 파라미터로 제한되는 경우, 시스템은 어시스턴트 인증이 필요하지 않다고 결정할 수 있다. 한편, 다른 유형(들)의 어시스턴트 액션들에 대해, 시스템은 인증이 필요한지 결정할 수 있으며 필요한 인증 범위를 선택적으로 결정할 수 있다. 예를 들어, 시스템은 일부 또는 모든 스마트 디바이스 제어 어시스턴트 액션들에 인증이 필요한지 결정할 수 있다. 또한, 시스템은 특정 스마트 디바이스 제어 어시스턴트 액션(들)(예를 들어, 스마트 잠금 해제 및/또는 주방 기구 제어)이 다른 스마트 디바이스 제어 어시스턴트 액션(들)(예를 들어, 조명을 켜기)보다 더 높은 정도의 인증을 요구한다고 결정할 수 있다. 인증이 필요한 어시스턴트 액션 및/또는 인증 범위는 어시스턴트 디바이스 및/또는 원격 어시스턴트 서버에 저장될 수 있으며, 사용자들의 모집단에 대해 수동으로 설정되거나 사용자별로 설정될 수 있다(예를 들어, 필요한 인증을 지시하는 사용자에 의한 입력(들)에 기초함).
블록(459)에서, 시스템이 인증이 필요하지 않다고 결정하면, 시스템은 선택적으로 블록(460)으로 진행하고 인증 없이 어시스턴트 액션(들)(460)을 수행할 수 있다.
블록(459)에서 시스템이 인증이 필요하다고 결정하면, 시스템은 블록(462)로 진행하여 사용자에 대한 특정 TD-SV에 대한 용어(들)를 포함하는 오디오 데이터의 부분을 선택한다. 예를 들어, 부분은 상기 부분이 특정 TD-SV에 대한 용어(들)을 포함함을 나타내는 블록(454)의 ASR에 기초하여 선택될 수 있다.
블록(464)에서, 시스템은 특정 TD-SV에 대한 발화 피처들을 생성할 때 오디오 데이터의 부분을 프로세싱하고, 생성된 발화 피처들을 특정 TD-SV에 대해 이전에 생성된 화자 피처들(예를 들어, 도 3의 방법(300)에 기초하여 생성됨)과 비교한다.
일부 구현예에서, 블록(464)은 서브 블록(465A) 및/또는 서브 블록(465B)을 포함한다. 서브-블록(465A)에서, 시스템은 오디오 데이터의 부분을 프로세싱할 때 특정 TD-SV에 대한 TD-SV 모델을 사용한다. 오디오 데이터의 부분에 대해 발화 피처들은 오디오 데이터의 프로세싱 후 TD-SV 모델의 레이어의 활성화 세트로부터의 값들(예: 임베딩)에 기초할 수 있다(예를 들어, 이에 엄격하게 대응). 특정 TD-SV에 대한 TD-SV 모델은 신경 네트워크 모델일 수 있고, 특정 TD-SV에 대해서만 활용될 수 있거나 대신에 다수의 추가(예를 들어, 모든) 특정 TD-SV에 대해 사용될 수도 있다.
서브 블록(465B)에서, 시스템은 생성된 발화 피처들을 특정 TD-SV에 대해 이전에 생성된 화자 피처들과 비교하여, 거리 측정치를 생성한다. 예를 들어, 발화 피처들은 임베딩일 수 있으며, 임베딩이기도 한 TD-SV 및 사용자에 대한 화자 피처들과 비교할 수 있다. 비교는 두 임베딩 간의 코사인 거리 측정 또는 기타 거리 메트릭 생성을 포함할 수 있다.
블록(466)에서, 시스템은 아직 프로세싱되지 않은 사용자에 대한 연관된 특정 TD-SV에 대응하는 용어(들)가 더 있는지 여부를 결정한다. 그렇다면, 시스템은 사용자에 대한 또 다른 특정 TD-SV에 대해 블록(462 및 464)의 또 다른 반복을 수행하고, 해당 용어(들)를 포함하는 오디오 데이터의 부분을 사용한다.
블록(466)에서, 시스템이 프로세싱되지 않은 용어(들)가 더 이상 없다고 결정하면, 시스템은 블록(468)로 진행한다. 블록(468)에서, 시스템은 블록(464)의 하나 이상의 반복의 비교(들)의 함수로서 사용자를 인증할지 여부를 결정한다. 예를 들어, 사용자의 3개의 개별 TD-SV에 대한 블록(464)의 3회 반복이 있었다면, 시스템은 3개의 비교 모두의 함수로서 인증할지 여부를 결정할 수 있다. 예를 들어, 사용자의 인증은 적어도 임계 유사성 정도를 나타내는 각각의 비교 및/또는 적어도 임계 유사성 정도를 나타내는 전체 비교에 따라 달라질 수 있으며, 여기서 전체 비교는 평균 또는 세 가지 개별 비교의 다른 조합에 기초한다. 선택적으로, 3개의 개별 비교가 평균이거나 다른 방식으로 결합될 때, 그들은 여기에 설명된 바와 같이 사용자에 대한 대응하는 TD-SV에 선택적으로 할당되는 선택적인 가중치에 기초하여 각각 가중치가 부여될 수 있다. 블록(468)에서, 시스템은 비교(들)에 기초하여 그리고 선택적으로 사용 가능한 데이터에 기초하여 수행 가능한 임의의 추가적인 검증(들)에 기초하여 사용자를 인증할지 여부를 결정할 수 있다. 예를 들어, 시스템은 또한 블록(468)에서 인증할지 여부를 결정하는데 TI-SV를 활용할 수 있다.
블록(468)에서, 시스템은 또한 사용자를 인증하는 것으로 결정되면 어시스턴트 액션(들)을 수행한다. 시스템이 사용자를 인증하지 않기로 결정하면, 시스템은 어시스턴트 액션(들)의 수행을 방지하고 선택적으로 사용자에게 인증할 수 없음을 알릴 수 있다. 선택적으로, 어시스턴트가 비교(들) 및/또는 다른 사용 가능한 데이터의 함수로서 사용자를 인증하지 않기로 결정하는 경우, 어시스턴트는 검증을 위한 추가 입력(들)을 제공하도록 사용자에게 프롬프트할 수 있다(예: 암호).
일부 구현예에서, 블록(468)은 서브 블록(469A 및/또는 469B)을 포함한다.
서브-블록(469A)에서, 시스템은 비교(들)로부터 선택적으로 생성된 거리 메트릭(들)에 기초한 비교(들)에 기초하여 인증할지 여부를 결정한다. 예를 들어, 각각의 비교에 대해 거리 메트릭이 생성될 수 있고, 사용자의 인증은 임계 유사도를 나타내는 거리 메트릭 중 하나 이상(예를 들어, 모두)에 따라 달라질 수 있다. 다른 예로서, 각각의 비교에 대해 거리 메트릭이 생성될 수 있고, 시스템은 전체 거리 메트릭을 생성하기 위해 개별 거리 메트릭의 평균화 및/또는 조합에 기초하여 전체 거리 메트릭을 결정할 수 있고, 사용자의 인증은 추가로 또는 대안적으로 적어도 유사성의 임계 정도를 나타내는 전체 거리 메트릭에 따라 달라질 수 있다. 선택적으로, 그리고 각각의 비교가 가중되는 서브-블록(469B)에 의해 표시된 바와 같이, 각각의 거리 메트릭은 평균화 또는 결합에서 다르게 가중될 수 있다. 예를 들어, 제1 거리 메트릭은 제2 거리 메트릭을 생성하는데 활용되는 화자 피처들보다 더 많은 양의 사용자의 과거 음성 발화에 기초하는 제1 거리 메트릭을 생성하는데 활용되는 제1 화자 피처들에 기초하는 제2 거리 메트릭보다 더 무겁게 가중될 수 있다. 다른 예로서, 제1 거리 메트릭은 제2 거리 메트릭에 대한 특정 TD-SV에 대한 제2 용어(들)에 대한 음성 인식 신뢰도보다 높은 신뢰도를 나타내는, 제1 거리 메트릭에 대한 특정 TD-SV에 대응하는 용어(들)에 대한 스피치 인식 신뢰도에 기초하여 제2 거리 메트릭보다 추가적으로 또는 대안적으로 더 무겁게 가중될 수 있다. 또 다른 예로서, 제1 거리 메트릭은 추가적으로 또는 대안적으로 제1 거리 메트릭이 제2 거리 메트릭을 생성하는데 활용된 TD-SV에 대한 것보다 더 많은 양의 용어(들)을 포함하는 용어(들)의 시퀀스에 대한 것인 TD-SV에 대해 생성되는 것에 기초하여, 제2 거리 메트릭보다 더 무겁게 가중될 수 있다.
이제 도 5a로 돌아가면, "unlock the front door"라는 사용자의 음성 발화(500A)의 예가 도시되어 있다. 또한 도 5a에 도시된 것은 음성 발화(500A)를 캡처하고 "unlock"에 대응하는 오디오 데이터의 부분(501A), "front door"에 대응하는 오디오 데이터의 부분(503A), "door"에 대응하는 오디오 데이터의 부분(505A), "front"에 대응하는 오디오 데이터의 부분(507A) 및 "unlock the front door"에 대응하는 오디오 데이터의 부분(509A)이다. 부분은 이를 나타내는 오디오 데이터의 ASR에 기초하여 대응하는 용어(들)에 대응하는 것으로 결정될 수 있다.
또한 도 5a에 도시된 것은 대응하는 발화 피처들(502A, 504A, 506A, 508A)을 생성하기 위해 부분(501A, 503A, 505A, 507A, 509A)을 프로세싱하는 예이다. 도 5a에 추가로 도시된 것은: 제1 거리 메트릭(512A)을 생성하기 위한, 용어 "unlock"에 제한된 사용자의 TD-SV에 대한 대응하는 화자 피처들(302)(도 3b)과 발화 피처들(502A)의 제1 비교(5A1); 제2 거리 메트릭(516A)을 생성하기 위한, 용어 "door"에 제한된 사용자의 TD-SV에 대한 대응하는 화자 피처들(306)(도 3b)과 발화 피처들(505A)의 제2 비교(5A2); 제3 거리 메트릭(518A)을 생성하기 위한, 용어 "front"에 제한된 사용자의 TD-SV에 대한 대응하는 화자 피처들(308)(도 3b)과 발화 피처들(508A)의 제3 비교(5A3); 제4 거리 메트릭(514A)을 생성하기 위한, 용어 "unlock"에 제한된 사용자의 TD-SV에 대한 대응하는 화자 피처들(302)(도 3b)과 발화 피처들(504A)의 제4 비교(5A4); 및 제5 거리 메트릭(520A)을 생성하기 위한, 용어 "front door"에 제한된 사용자의 TD-SV에 대한 대응하는 화자 피처들(310)(도 3b)과 발화 피처들(510A)의 제5 비교(5A5)이다.
도 5a에 추가로 도시된 것은 제1 거리 메트릭(512A), 제2 거리 메트릭(516A), 제3 거리 메트릭(518A), 제4 거리 메트릭(514A) 및 제5 거리 메트릭(520A)의 함수(6A)로서 사용자를 인증하기 위한 결정(590A)이다. 예를 들어, 사용자를 인증하기로 결정하는 것은 임계값을 만족하는 메트릭 중 적어도 N개(예를 들어, 2개) 및/또는 임계값을 만족하는 메트릭 중 적어도 N개(예를 들어, 2개)의 평균(선택적으로 본 명세서에 기술된 가중화됨)에 따를 수 있다. 도 5a는 발화(500A)에 대해 중첩하는 TD-SV에 기초한 발화 피처들을 생성하고 활용하는 것을 도시한다. 예를 들어, "front"로 제약된 TD-SV는 "front door"로 제약된 TD-SV와 중첩되고, "door"로 제약된 TD-SV도 "front door"와 중첩되고, 그리고 "unlock front door"로 제약된 TD-SV는 다른 모든 관련 TD-SV와 중첩되고, 부분(507A)는 부분(503A)와 중첩되고, 부분(505A)는 부분(503A)와 중첩되고, 부분(509A)는 다른 모든 부분과 중첩된다. 그러나 일부 구현예에서는 발화에 대해 사용자를 인증할지 여부를 결정할 때 중첩되는 TD-SV를 방지하거나 제한할 수 있다. 예를 들어, 구현예는 발화에 대해, 서로 겹치지 않고 쿼리에 대한 최대 적용 범위(예: 용어 수 기반, 문자 수 기반 및/또는 음절 수 기반의 최대 적용 범위)를 집합적으로 제공하는 TD-SV의 세트만 활용할 수 있다. 둘 이상의 TD-SV 세트가 겹치지 않고 쿼리에 대해 동일한 양의 적용 범위를 제공하는 경우, 선택적으로 더 적은 TD-SV(들) 및/또는 더 많은 양의 과거 발화들에 기초한 TD-SV(들)를 가진 세트가 활용될 수 있다.
이제 도 5b를 참조하면, "hey assistant, unlock the basement door"라는 사용자의 예시적 음성 발화(500B)가 도시되어 있다. 또한 도 5b는 "unlock"에 대응하는 오디오 데이터(음성 발화(500B)를 캡처함)의 부분(501B), "door"에 대응하는 오디오 데이터의 부분(505B) 및 "hey assistant"에 대응하는 오디오 데이터(또는 선행하는 오디오 데이터)의 부분(520B)이다. 오디오 데이터의 부분은 그것을 나타내는 ASR에 기초하여 대응하는 용어(들)에 대응하는 것으로 결정될 수 있다. 일부 구현예에서 "hey assistant"는 자동화된 어시스턴트에 대한 호출 웨이크 워드이다. 이러한 구현예 중 일부에서, 부분(520B)은 웨이크워드 검출기의 트리거링을 유발하는 부분(520B)에 기초하여(예를 들어, 부분(520B)의 프로세싱에 기초하여 웨이크워드 신경 네트워크 모델을 사용하여 생성된 출력에 기초하여) "hey assistant"에 대응하는 것으로 결정될 수 있다.
또한 도 5b에 도시된 것은 대응하는 발화 피처들(521B, 502B, 506B)을 생성하기 위해 부분(520B, 501B, 505B)을 프로세싱하는 예이다. 도 5b에 추가로 도시된 것은 제1 거리 메트릭(522B)을 생성하기 위한, 용어 "hey assistant" 및 선택적으로 다른 웨이크워드(들)(예를 들어, 또한 "OK assistant")로 제한된, 사용자의 TD-SV에 대한 대응하는 화자 피처들(530)과 발화 피처들(502A)의 제1 비교(5B1)이다. 선택적으로, 대응하는 화자 피처들(530)은 명시적 등록 절차 동안 프롬프트에 응답하여 사용자가 제공한 발화에 기초하여 생성될 수 있다. 도 5b에 추가로 도시된 것은 제2 거리 메트릭(512B)을 생성하기 위한, 용어 "unlock"에 제한된 사용자의 TD-SV에 대한 대응하는 화자 피처들(303)(도 3b)과 발화 피처들(502B)의 제2 비교(5B2), 및 제3 거리 메트릭(516B)을 생성하기 위한, 용어 "door"에 제한된 사용자의 TD-SV에 대한 대응하는 화자 피처들(306)(도 3b)과 발화 피처들(506B)의 제3 비교(5B3)이다.
도 5b에 추가로 도시된 것은 제1 거리 메트릭(522B), 제2 거리 메트릭(512B) 및 제3 거리 메트릭(516B)의 함수(6B)로서 사용자를 인증하기 위한 결정(590B)이다. 예를 들어, 사용자를 인증하기로 결정하는 것은 임계값을 만족하는 메트릭 중 적어도 N개(예를 들어, 2개) 및/또는 임계값을 만족하는 메트릭 중 적어도 N개(예를 들어, 2개)의 평균(선택적으로 본 명세서에 기술된 가중화됨)에 따를 수 있다.
도 6은 본 명세서에 기술된 기법들의 하나 이상의 양태들을 수행하기 위해 선택적으로 활용될 수 있는 예시적 컴퓨팅 디바이스(610)의 블록도이다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스 및/또는 다른 컴포넌트(들) 중 하나 이상은 예시적 컴퓨팅 디바이스(610) 중 하나 이상의 컴포넌트를 포함할 수 있다.
컴퓨팅 디바이스(610)는 일반적으로 적어도 하나의 프로세서(614)를 포함하며, 버스 서브시스템(612)을 통해 다수의 주변 디바이스들과 통신한다. 이들 주변 디바이스들은 예를 들면, 메모리 서브시스템(625) 및 파일 저장 서브시스템(626)을 포함하는 저장 서브시스템(624), 사용자 인터페이스 출력 디바이스(620), 사용자 인터페이스 입력 디바이스(622) 및 네트워크 인터페이스 서브시스템(616)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨팅 디바이스(610)와 사용자 인터렉션을 하게 한다. 네트워크 인터페이스 서브시스템(616)은 외부 네트워크에 대한 인터페이스를 제공하며, 다른 컴퓨팅 디바이스들의 대응하는 인터페이스 디바이스들과 연결된다.
사용자 인터페이스 입력 디바이스(622)는 키보드, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿, 스캐너, 디스플레이에 통합된 터치스크린과 같은 포인팅 디바이스, 음성 인식 시스템, 마이크로폰과 같은 오디오 입력 디바이스 및/또는 다른 유형의 입력 디바이스를 포함한다. 일반적으로, 용어 “입력 디바이스”의 사용은 정보를 컴퓨팅 디바이스(610) 또는 통신 네트워크에 입력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(620)는 디스플레이 서브시스템, 프린터, 팩스 기계 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 CRT, LCD와 같은 평면 패널 디바이스, 프로젝션 디바이스 또는 시각적 이미지를 생성하기 위한 일부 기타 메커니즘을 포함할 수 있다. 또한, 디스플레이 서브시스템은 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 “출력 디바이스”의 사용은 정보를 컴퓨팅 디바이스(610)로부터 사용자에게 또는 다른 기계 또는 컴퓨팅 디바이스에 정보를 출력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
저장 서브시스템(624)은 본 명세서에 기술된 일부 또는 전부의 모듈들의 기능을 제공하기 위한 프로그래밍 및 데이터 구조를 저장한다. 예를 들면, 저장 서브시스템(624)은 본 명세서에 기술된 하나 이상의 방법들 중 선택된 양태들을 수행하고 및/또는 본 명세서에 기술된 다양한 컴포넌트들을 구현하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(614) 단독으로 또는 다른 프로세서들과의 조합에 의해 실행된다. 저장 서브시스템(624)에서 사용된 메모리(625)는 프로그램 실행 중에 명령어들 및 데이터의 저장을 위한 메인 RAM(630) 및 고정된 명령어들이 저장되는 ROM(632)을 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(626)은 프로그램 및 데이터 파일에 대한 영구적 저장을 제공할 수 있고, 하드 디스크 드라이브, 연관된 이동식 매체와 함께인 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지들을 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 파일 저장 서브시스템(626)에 의해 저장 서브시스템(624)에 또는 프로세서(들)(614)에 의해 액세스가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(612)은 의도된 대로 컴퓨팅 디바이스(610)의 다양한 컴포넌트들 및 서브시스템들이 서로 통신하게 하기 위한 메커니즘을 제공한다. 버스 서브시스템(612)이 개략적으로 단일의 버스로 도시되었지만, 버스 서브시스템의 대안적 구현예들은 다수의 버스들을 사용할 수 있다.
컴퓨팅 디바이스(610)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서퍼팜 또는 임의의 기타 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형들일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 6에 도시된 컴퓨팅 디바이스(610)는 일부 구현예를 설명하기 위한 목적의 특정 예로서만 의도된다. 컴퓨팅 디바이스(610)의 많은 다른 구성이 도 6에 도시된 컴퓨팅 디바이스보다 많거나 적은 컴포넌트를 가질 수 있다.
본 명세서에서 논의된 시스템들이 사용자들(또는 "참여자들"로 종종 지칭됨)에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 지리적 위치)에 관한 정보를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 콘텐츠 서버로부터의 콘텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회가 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 지리적 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 그리고 사용되는지에 관한 제어를 가질 수 있다.
일부 구현예에서, 프로세서(들)에 의해 구현되는 방법이 제공되며, 상기 방법은 사용자의 음성 발화를 캡처하는 오디오 데이터를 수신하는 단계 및 상기 음성 발화의 인식을 생성하기 위해 상기 오디오 데이터에 대해 스피치 인식을 수행하는 단계를 포함한다. 오디오 데이터는 사용자의 어시스턴트 디바이스의 하나 이상의 마이크들을 통해 검출된다. 상기 방법은 상기 스피치 인식에 기초하여, 상기 음성 발화에 의해 전달되는 어시스턴트 액션을 결정하는 단계 및 상기 음성 발화를 수신하는 것에 응답하여 어시스턴트 액션을 수행하는 단계를 더 포함한다. 상기 방법은 상기 인식의 하나 이상의 용어들이 상기 사용자에 대한 특정 텍스트 종속 화자 검증(TD-SV)에 대응한다고 결정하는 단계 및 상기 사용자 및 상기 음성 발화에 대한 인증 측정치가 임계값을 만족하는지 결정하는 단계를 더 포함한다. 상기 하나 이상의 용어들은 어시스턴트 디바이스에 대한 임의의 일반 호출 웨이크 단어들과 별개이다. 상기 방법은 상기 인식의 하나 이상의 용어들이 상기 사용자에 대한 상기 특정 TD-SV에 대응한다는 결정에 응답하여, 그리고 상기 인증 측정치가 임계값을 만족한다는 결정에 응답하여: 상기 사용자에 대한 특정 TD-SV에 대한 화자 피처들을 생성할 때 상기 하나 이상의 용어들에 대응하는 상기 오디오 데이터의 부분을 프로세싱하는 단계를 더 포함한다.
본 명세서에서 개시된 이들 또는 다른 구현예들은 다음 구성들 중 하나 이상을 각각 포함할 수 있다.
일부 구현예에서, 상기 방법은 상기 사용자에 대한 상기 특정 TD-SV에 대한 화자 피처들을 생성할 때 상기 오디오 데이터를 프로세싱하는 단계 이후에: 상기 사용자의 추가 음성 발화를 캡처하는 추가 오디오 데이터를 수신하는 단계, 상기 추가 음성 발화는 상기 하나 이상의 용어들을 포함하며; 상기 추가 오디오 데이터의 부분에 대한 발화 피처들을 생성할 때, 상기 하나 이상의 용어들에 대응하는 상기 추가 오디오 데이터의 주어진 부분을 프로세싱하는 단계; 상기 사용자에 대한 특정 TD-SV에 대한 화자 피처들과 상기 발화 피처들을 비교하는 단계; 및 상기 비교에 기초하여, 상기 추가 음성 발화에 대해 상기 사용자를 인증할지 여부를 결정하는 단계를 더 포함한다. 이러한 구현예의 일부 버전에서, 상기 방법은 상기 추가 음성 발화에 대한 추가 인식을 생성하기 위해 상기 추가 오디오 데이터에 대해 스피치 인식을 수행하는 단계, 및 상기 하나 이상의 용어들이 상기 추가 인식에 포함되고, 상기 추가 오디오 데이터의 주어진 부분에 대응하는지 결정하는 단계를 더 포함한다. 이들 버전에서, 상기 추가 오디오 데이터의 주어진 부분을 프로세싱하는 단계 및 상기 특정 TD-SV에 대한 상기 화자 피처들과 상기 발화 피처들을 비교하는 단계는 상기 하나 이상의 용어들이 상기 추가 인식에 포함되고, 상기 추가 오디오 데이터의 주어진 부분에 대응한다는 결정에 응답하여 수행된다. 상기 버전 중 일부에서, 상기 비교하는 단계는 상기 발화 피처들과 상기 화자 피처들 사이의 거리 측정치를 결정하는 단계를 포함하고, 그리고 선택적으로 상기 비교에 기초하여, 상기 추가 음성 발화에 대해 상기 사용자를 인증할지 여부를 결정하는 단계는: 상기 추가 음성 발화에 의해 전달되는 추가 어시스턴트 인터렉션에 종속되는 임계값을 결정하는 단계; 및 상기 거리 측정치가 상기 임계값을 만족한다는 결정에 대한 응답으로만 상기 추가 음성 발화에 대해 상기 사용자를 인증하는 단계를 포함한다.
일부 구현예에서, 상기 방법은 상기 오디오 데이터를 수신하기 전에, 상기 하나 이상의 용어들을 포함하는 것으로 각각 결정되고, 상기 사용자에 대해 인증될 것으로 각각 결정된 오디오 데이터 하나 이상의 이전 인스턴스들에 기초하여 상기 사용자에 대한 상기 특정 TD-SV에 대한 초기 화자 피처들을 생성하는 단계를 더 포함한다. 상기 구현예 중 일부에서, 상기 사용자에 대한 상기 특정 TD-SV에 대한 상기 화자 피처들을 생성할 때 상기 오디오 데이터의 부분을 프로세싱하는 단계는 상기 오디오 데이터의 부분을 프로세싱하는 것에 기초하여 상기 초기 화자 피처들을 수정하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 방법은 상기 오디오 데이터 또는 상기 오디오 데이터에 선행하는 선행 오디오 데이터에 기초하는 일반 호출 TD-SV; 상기 사용자에 대한 지문 검증; 상기 사용자에 대한 얼굴 검증; 및/또는 상기 사용자가 입력한 검증 코드의 분석에 기초하여 인증 측정치를 결정하는 단계를 더 포함한다. 일반 호출 TD-SV는 사용자에 대한 것이고, 어시스턴트 디바이스에 대한 하나 이상의 일반 호출 웨이크 워드들에 대한 것이다.
일부 구현예에서, 프로세서(들)에 의해 구현되는 방법이 제공되며, 상기 방법은 주어진 사용자의 음성 발화를 캡처하는 오디오 데이터를 수신하는 단계 및 제1 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제1 부분을 프로세싱하는 단계를 포함한다. 오디오 데이터는 주어진 사용자의 어시스턴트 디바이스의 하나 이상의 마이크들을 통해 검출된다. 상기 방법은 상기 사용자에 대한 제1 텍스트 종속 화자 검증(TD-SV)에 대한 제1 화자 피처들과 제1 발화 피처들의 제1 비교를 수행하는 단계를 더 포함하며, 상기 제1 TD-SV는 하나 이상의 용어들의 제1 세트에 종속된다. 상기 방법은 제2 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제2 부분을 프로세싱하는 단계를 더 포함하며, 상기 오디오 데이터의 제2 부분은 상기 오디오 데이터의 제1 부분과 구별된다. 상기 방법은 상기 사용자에 대한 제2 TD-SV에 대해 제2 발화 피처들과 상기 제2 화자 피처들의 제2 비교를 수행하는 단계를 더 포함하며, 상기 제2 TD-SV는 하나 이상의 용어들의 제1 세트와 구별되는 하나 이상의 용어들의 제2 세트에 종속된다. 상기 방법은 상기 제1 비교 및 상기 제2 비교 둘 모두에 기초하여, 상기 음성 발화에 대해 상기 사용자를 인증하기 위해 결정하는 단계를 더 포함한다. 상기 방법은 상기 음성 발화에 대해 상기 사용자를 인증하기로 결정하는 것에 응답하여: 상기 음성 발화에 기초하는 하나 이상의 액션들을 수행하는 단계를 포함한다.
본 명세서에서 개시된 이들 또는 다른 구현예들은 다음 구성들 중 하나 이상을 각각 포함할 수 있다.
일부 구현예에서, 상기 오디오 데이터의 제1 부분은 상기 어시스턴트 디바이스에 대한 일반 호출 웨이크 워드를 캡처하고, 상기 제1 TD-SV가 종속되는 하나 이상의 용어들의 제1 세트는 상기 어시스턴트 디바이스에 대한 하나 이상의 일반 호출 웨이크 워드들로 구성된다. 상기 일반 호출 웨이크 워드는 상기 어시스턴트 디바이스에 대한 하나 이상의 일반 호출 웨이크 워드들 중 하나이다. 이러한 구현예의 일부 버전에서, 상기 방법은, 상기 오디오 데이터를 수신하기 전에: 상기 일반 호출 웨이크 워드를 말하기 위한 하나 이상의 프롬프트들에 응답하여, 상기 사용자의 다수의 발화들이 수집되는 등록 절차를 수행하는 단계; 및 상기 다수의 발화들의 함수로서 제1 화자 피처들을 생성하는 단계를 더 포함한다. 상기 구현예 중 일부 추가적 또는 대안적 버전에서, 상기 오디오 데이터의 제2 부분은 상기 오디오 데이터의 제1 부분과 겹치지 않고, 상기 오디오 데이터의 제2 부분에는 상기 어시스턴트 디바이스에 대한 하나 이상의 일반 호출 웨이크 워드들 중 어느 것도 없다. 상기 추가적 또는 대안적 버전 중 일부에서, 방법은 상기 오디오 데이터를 수신하기 전에: 이전 오디오 데이터의 다수의 인스턴스들에 기초하여 제2 화자 피처들을 생성하는 단계를 더 포함하며, 이전 오디오 데이터의 다수의 인스턴스들에 기초하여 상기 제2 화자 피처들을 생성하는 단계는 이전 오디오 데이터의 다수의 인스턴스들이 하나 이상의 용어들의 제2 세트 중 적어도 일부를 캡처하고, 그리고 상기 사용자가 인증되었을 때 캡처되었다고 결정하는 것에 기초한다.
일부 구현예에서, 상기 오디오 데이터의 제2 부분에는 상기 어시스턴트 디바이스에 대한 임의의 일반 호출 웨이크 워드들이 없다. 이러한 구현예의 일부 버전에서, 상기 방법은, 상기 오디오 데이터를 수신하기 전에: 이전 오디오 데이터의 다수의 인스턴스들에 기초하여 제2 화자 피처들을 생성하는 단계를 더 포함한다. 이전 오디오 데이터의 다수의 인스턴스들에 기초하여 상기 제2 화자 피처들을 생성하는 단계는 이전 오디오 데이터의 다수의 인스턴스들이 하나 이상의 용어들의 제2 세트 중 적어도 일부를 캡처하고, 그리고 상기 사용자가 인증되었을 때 캡처되었다고 결정하는 것에 기초할 수 있다.
일부 구현예에서, 상기 방법은 상기 음성 발화의 인식을 생성하기 위해 상기 오디오 데이터에 대해 스피치 인식을 수행하는 단계; 및 상기 하나 이상의 용어들의 제2 세트가 상기 인식에 포함되고, 상기 오디오 데이터의 제2 부분에 대응한다고 결정하는 단계를 더 포함한다. 상기 구현예 중 일부에서, 상기 오디오 데이터의 제2 부분을 프로세싱하는 단계 및 상기 제2 TD-SV에 대한 상기 제2 화자 피처들과 상기 제2 발화 피처들의 제2 비교를 수행하는 단계는 상기 하나 이상의 용어들의 제2 세트가 인식에 포함되고 상기 오디오 데이터의 제2 부분에 대응한다는 결정에 대한 응답이다.
일부 구현예에서, 상기 제1 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제1 부분을 프로세싱하는 단계는 신경 네트워크 모델을 사용하여 상기 오디오 데이터의 제1 부분을 제1 프로세싱하는 것을 포함하고, 상기 제1 발화 피처들은 상기 제1 프로세싱 후 상기 신경 네트워크 모델의 액티베이션들의 제1 세트에 기초한다. 상기 구현예 중 일부 버전에서, 상기 제2 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제2 부분을 프로세싱하는 단계는 신경 네트워크 모델을 사용하여 상기 오디오 데이터의 제2 부분을 제2 프로세싱하는 것을 포함하고, 상기 제2 발화 피처들은 상기 제2 프로세싱 후 상기 신경 네트워크 모델의 액티베이션들의 제2 세트에 기초한다. 상기 구현예 중 일부 대안적 버전에서, 상기 제2 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제2 부분을 프로세싱하는 단계는 제2 신경 네트워크 모델을 사용하여 상기 오디오 데이터의 제2 부분을 제2 프로세싱하는 것을 포함하고, 상기 제2 발화 피처들은 상기 제2 프로세싱 후 상기 제2 신경 네트워크 모델의 액티베이션들의 제2 세트에 기초한다.
일부 구현예에서, 상기 제1 비교를 수행하는 단계는 상기 제1 발화 피처들과 제1 화자 피처들 사이의 제1 거리 측정치를 결정하는 단계를 포함하고, 그리고 상기 제2 비교를 수행하는 단계는 상기 제2 발화 피처들과 제2 화자 피처들 사이의 제2 거리 측정치를 결정하는 단계를 포함한다. 상기 구현예 중 일부 버전에서, 상기 제1 비교 및 상기 제2 비교 둘 모두에 기초하여, 상기 음성 발화에 대해 상기 사용자를 인증하기 위해 결정하는 단계는: 상기 제1 거리 측정치 및 상기 제2 거리 측정치 둘 모두에 기초하는 전체 측정치에 기초하여 상기 사용자를 인증하기로 결정하는 단계를 포함한다. 상기 버전 중 일부에서, 상기 제1 거리 측정치 및 상기 제2 거리 측정치 둘 모두에 기초하는 상기 전체 측정치에 기초하여 상기 사용자를 인증하기로 결정하는 단계는: 상기 음성 발화에 의해 전달되는 어시스턴트 인터렉션에 종속되는 임계값을 결정하는 단계; 및 상기 전체 거리 측정치가 상기 임계값을 만족한다는 결정에 대한 응답으로만 상기 추가 음성 발화에 대해 상기 사용자를 인증하는 단계를 포함한다.
추가로, 일부 구현예는 각각 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서들과 동작가능하게 연결된 메모리를 포함하는 하나 이상의 사용자 디바이스들을 포함하는 시스템을 포함하고, 상기 하나 이상의 사용자 디바이스들의 상기 메모리(들)는 명령어들을 포함하며, 상기 명령어들은 상기 하나 이상의 사용자 디바이스들의 하나 이상의 프로세서들에 의한 상기 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금 본 명세서에 기술된 방법들 중 임의의 것을 수행하게 한다. 일부 구현예는 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체를 포함하고, 상기 명령어들은 하나 이상의 프로세서에 의한 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서로 하여금 본 명세서에 기술된 방법 중 임의의 것을 수행하게 한다.

Claims (24)

  1. 하나 이상의 프로세서에 의해 수행되는 방법으로서,
    사용자의 음성 발화를 캡처하는 오디오 데이터를 수신하는 단계, 상기 오디오 데이터는 사용자의 어시스턴트 디바이스의 하나 이상의 마이크들을 통해 검출되며;
    상기 음성 발화의 인식을 생성하기 위해 상기 오디오 데이터에 대해 스피치 인식을 수행하는 단계;
    상기 스피치 인식에 기초하여, 상기 음성 발화에 의해 전달되는 어시스턴트 액션을 결정하는 단계;
    상기 음성 발화를 수신하는 것에 응답하여 어시스턴트 액션을 수행하는 단계;
    상기 인식의 하나 이상의 용어들이 상기 사용자에 대한 특정 텍스트 종속 화자 검증(TD-SV)에 대응한다고 결정하는 단계, 상기 하나 이상의 용어들은 상기 어시스턴트 디바이스에 대한 임의의 일반 호출 웨이크 워드들과 별개이며;
    상기 사용자 및 상기 음성 발화에 대한 인증 측정치가 임계값을 만족하는지 결정하는 단계;
    상기 인식의 하나 이상의 용어들이 상기 사용자에 대한 상기 특정 TD-SV에 대응한다는 결정에 응답하여, 그리고 상기 인증 측정치가 임계값을 만족한다는 결정에 응답하여:
    상기 사용자에 대한 특정 TD-SV에 대한 화자 피처들을 생성할 때 상기 하나 이상의 용어들에 대응하는 상기 오디오 데이터의 부분을 프로세싱하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 사용자에 대한 상기 특정 TD-SV에 대한 화자 피처들을 생성할 때 상기 오디오 데이터를 프로세싱하는 단계 이후에:
    상기 사용자의 추가 음성 발화를 캡처하는 추가 오디오 데이터를 수신하는 단계, 상기 추가 음성 발화는 상기 하나 이상의 용어들을 포함하며;
    상기 추가 오디오 데이터의 부분에 대한 발화 피처들을 생성할 때, 상기 하나 이상의 용어들에 대응하는 상기 추가 오디오 데이터의 주어진 부분을 프로세싱하는 단계;
    상기 사용자에 대한 특정 TD-SV에 대한 화자 피처들과 상기 발화 피처들을 비교하는 단계; 및
    상기 비교에 기초하여, 상기 추가 음성 발화에 대해 상기 사용자를 인증할지 여부를 결정하는 단계를 더 포함하는, 방법.
  3. 청구항 2에 있어서,
    상기 추가 음성 발화에 대한 추가 인식을 생성하기 위해 상기 추가 오디오 데이터에 대해 스피치 인식을 수행하는 단계; 및
    상기 하나 이상의 용어들이 상기 추가 인식에 포함되고, 상기 추가 오디오 데이터의 주어진 부분에 대응하는지 결정하는 단계를 더 포함하고;
    상기 추가 오디오 데이터의 주어진 부분을 프로세싱하는 단계 및 상기 특정 TD-SV에 대한 상기 화자 피처들과 상기 발화 피처들을 비교하는 단계는 상기 하나 이상의 용어들이 상기 추가 인식에 포함되고, 상기 추가 오디오 데이터의 주어진 부분에 대응한다는 결정에 응답하여 수행되는, 방법.
  4. 청구항 2에 있어서, 상기 비교하는 단계는 상기 발화 피처들과 상기 화자 피처들 사이의 거리 측정치를 결정하는 단계를 포함하는, 방법.
  5. 청구항 4에 있어서, 상기 비교에 기초하여, 상기 추가 음성 발화에 대해 상기 사용자를 인증할지 여부를 결정하는 단계는:
    상기 추가 음성 발화에 의해 전달되는 추가 어시스턴트 인터렉션에 종속되는 임계값을 결정하는 단계; 및
    상기 거리 측정치가 상기 임계값을 만족한다는 결정에 대한 응답으로만 상기 추가 음성 발화에 대해 상기 사용자를 인증하는 단계를 포함하는, 방법.
  6. 임의의 선행하는 청구항에 있어서,
    상기 오디오 데이터를 수신하기 전에, 상기 하나 이상의 용어들을 포함하는 것으로 각각 결정되고, 상기 사용자에 대해 인증될 것으로 각각 결정된 오디오 데이터 하나 이상의 이전 인스턴스들에 기초하여 상기 사용자에 대한 상기 특정 TD-SV에 대한 초기 화자 피처들을 생성하는 단계를 더 포함하고;
    상기 사용자에 대한 상기 특정 TD-SV에 대한 상기 화자 피처들을 생성할 때 상기 오디오 데이터의 부분을 프로세싱하는 단계는 상기 오디오 데이터의 부분을 프로세싱하는 것에 기초하여 상기 초기 화자 피처들을 수정하는 단계를 포함하는, 방법.
  7. 임의의 선행하는 청구항에 있어서,
    다음 중 하나 이상에 기초하여 상기 인증 측정치를 결정하는 단계를 더 포함하는, 방법:
    상기 오디오 데이터 또는 상기 오디오 데이터에 선행하는 선행 오디오 데이터를 프로세싱하는 것에 기초하는 일반 호출 TD-SV, 상기 일반 호출 TD-SV는 상기 사용자에 대한 것이고, 상기 어시스턴트 디바이스에 대한 하나 이상의 일반 호출 웨이크 워드들에 대한 것이며;
    상기 사용자에 대한 지문 검증;
    상기 사용자에 대한 얼굴 검증; 또는
    상기 사용자가 입력한 검증 코드의 분석.
  8. 하나 이상의 프로세서에 의해 수행되는 방법으로서,
    주어진 사용자의 음성 발화를 캡처하는 오디오 데이터를 수신하는 단계, 상기 오디오 데이터는 상기 주어진 사용자의 어시스턴트 디바이스의 하나 이상의 마이크들을 통해 검출되며;
    제1 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제1 부분을 프로세싱하는 단계;
    상기 사용자에 대한 제1 텍스트 종속 화자 검증(TD-SV)에 대한 제1 화자 피처들과 제1 발화 피처들의 제1 비교를 수행하는 단계, 상기 제1 TD-SV는 하나 이상의 용어들의 제1 세트에 종속되며;
    제2 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제2 부분을 프로세싱하는 단계, 상기 오디오 데이터의 제2 부분은 상기 오디오 데이터의 제1 부분과 구별되며;
    상기 사용자에 대한 제2 TD-SV에 대해 제2 발화 피처들과 상기 제2 화자 피처들의 제2 비교를 수행하는 단계, 상기 제2 TD-SV는 하나 이상의 용어들의 제1 세트와 구별되는 하나 이상의 용어들의 제2 세트에 종속되며;
    상기 제1 비교 및 상기 제2 비교 둘 모두에 기초하여, 상기 음성 발화에 대해 상기 사용자를 인증하기 위해 결정하는 단계; 및
    상기 음성 발화에 대해 상기 사용자를 인증하기로 결정하는 것에 응답하여:
    상기 음성 발화에 기초하는 하나 이상의 액션들을 수행하는 단계를 포함하는, 방법.
  9. 청구항 8에 있어서, 상기 오디오 데이터의 제1 부분은 상기 어시스턴트 디바이스에 대한 일반 호출 웨이크 워드를 캡처하고, 상기 제1 TD-SV가 종속되는 하나 이상의 용어들의 제1 세트는 상기 어시스턴트 디바이스에 대한 하나 이상의 일반 호출 웨이크 워드들로 구성되며, 상기 일반 호출 웨이크 워드는 상기 어시스턴트 디바이스에 대한 하나 이상의 일반 호출 웨이크 워드들 중 하나인, 방법.
  10. 청구항 9에 있어서,
    상기 오디오 데이터를 수신하기 전에:
    상기 일반 호출 웨이크 워드를 말하기 위한 하나 이상의 프롬프트들에 응답하여, 상기 사용자의 다수의 발화들이 수집되는 등록 절차를 수행하는 단계; 및
    상기 다수의 발화들의 함수로서 제1 화자 피처들을 생성하는 단계를 더 포함하는, 방법.
  11. 청구항 9에 있어서, 상기 오디오 데이터의 제2 부분은 상기 오디오 데이터의 제1 부분과 겹치지 않고, 상기 오디오 데이터의 제2 부분에는 상기 어시스턴트 디바이스에 대한 하나 이상의 일반 호출 웨이크 워드들 중 어느 것도 없는, 방법.
  12. 청구항 11에 있어서,
    상기 오디오 데이터를 수신하기 전에:
    이전 오디오 데이터의 다수의 인스턴스들에 기초하여 제2 화자 피처들을 생성하는 단계를 더 포함하며, 이전 오디오 데이터의 다수의 인스턴스들에 기초하여 상기 제2 화자 피처들을 생성하는 단계는 이전 오디오 데이터의 다수의 인스턴스들이:
    하나 이상의 용어들의 제2 세트 중 적어도 일부를 캡처하고, 그리고
    상기 사용자가 인증되었을 때 캡처되었다고 결정하는 것에 기초하는, 방법.
  13. 청구항 8 내지 12 중 어느 한 항에 있어서, 상기 오디오 데이터의 제2 부분에는 상기 어시스턴트 디바이스에 대한 임의의 일반 호출 웨이크 워드들이 없는, 방법.
  14. 청구항 13에 있어서,
    상기 오디오 데이터를 수신하기 전에:
    이전 오디오 데이터의 다수의 인스턴스들에 기초하여 제2 화자 피처들을 생성하는 단계를 더 포함하며, 이전 오디오 데이터의 다수의 인스턴스들에 기초하여 상기 제2 화자 피처들을 생성하는 단계는 이전 오디오 데이터의 다수의 인스턴스들이:
    하나 이상의 용어들의 제2 세트 중 적어도 일부를 캡처하고, 그리고
    상기 사용자가 인증되었을 때 캡처되었다고 결정하는 것에 기초하는, 방법.
  15. 청구항 8 내지 14 중 어느 한 항에 있어서,
    상기 음성 발화의 인식을 생성하기 위해 상기 오디오 데이터에 대해 스피치 인식을 수행하는 단계; 및
    상기 하나 이상의 용어들의 제2 세트가 상기 인식에 포함되고, 상기 오디오 데이터의 제2 부분에 대응한다고 결정하는 단계;
    상기 오디오 데이터의 제2 부분을 프로세싱하는 단계 및 상기 제2 TD-SV에 대한 상기 제2 화자 피처들과 상기 제2 발화 피처들의 제2 비교를 수행하는 단계는 상기 하나 이상의 용어들의 제2 세트가 인식에 포함되고 상기 오디오 데이터의 제2 부분에 대응한다는 결정에 대한 응답인, 방법.
  16. 청구항 8 내지 15 중 어느 한 항에 있어서,
    상기 제1 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제1 부분을 프로세싱하는 단계는 신경 네트워크 모델을 사용하여 상기 오디오 데이터의 제1 부분을 제1 프로세싱하는 것을 포함하고, 상기 제1 발화 피처들은 상기 제1 프로세싱 후 상기 신경 네트워크 모델의 액티베이션들의 제1 세트에 기초하며, 그리고
    상기 제2 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제2 부분을 프로세싱하는 단계는 신경 네트워크 모델을 사용하여 상기 오디오 데이터의 제2 부분을 제2 프로세싱하는 것을 포함하고, 상기 제2 발화 피처들은 상기 제2 프로세싱 후 상기 신경 네트워크 모델의 액티베이션들의 제2 세트에 기초하는, 방법.
  17. 청구항 8 내지 15 중 어느 한 항에 있어서,
    상기 제1 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제1 부분을 프로세싱하는 단계는 제1 신경 네트워크 모델을 사용하여 상기 오디오 데이터의 제1 부분을 제1 프로세싱하는 것을 포함하고, 상기 제1 발화 피처들은 상기 제1 프로세싱 후 상기 제1 신경 네트워크 모델의 액티베이션들의 제1 세트에 기초하며, 그리고
    상기 제2 발화 피처들을 생성하기 위해 상기 오디오 데이터의 제2 부분을 프로세싱하는 단계는 제2 신경 네트워크 모델을 사용하여 상기 오디오 데이터의 제2 부분을 제2 프로세싱하는 것을 포함하고, 상기 제2 발화 피처들은 상기 제2 프로세싱 후 상기 제2 신경 네트워크 모델의 액티베이션들의 제2 세트에 기초하는, 방법.
  18. 청구항 8 내지 17 중 어느 한 항에 있어서,
    상기 제1 비교를 수행하는 단계는 상기 제1 발화 피처들과 제1 화자 피처들 사이의 제1 거리 측정치를 결정하는 단계를 포함하고; 그리고
    상기 제2 비교를 수행하는 단계는 상기 제2 발화 피처들과 제2 화자 피처들 사이의 제2 거리 측정치를 결정하는 단계를 포함하는, 방법.
  19. 청구항 18에 있어서, 상기 제1 비교 및 상기 제2 비교 둘 모두에 기초하여, 상기 음성 발화에 대해 상기 사용자를 인증하기 위해 결정하는 단계는:
    상기 제1 거리 측정치 및 상기 제2 거리 측정치 둘 모두에 기초하는 전체 측정치에 기초하여 상기 사용자를 인증하기로 결정하는 단계를 포함하는, 방법.
  20. 청구항 19에 있어서, 상기 제1 거리 측정치 및 상기 제2 거리 측정치 둘 모두에 기초하는 상기 전체 측정치에 기초하여 상기 사용자를 인증하기로 결정하는 단계는:
    상기 음성 발화에 의해 전달되는 어시스턴트 인터렉션에 종속되는 임계값을 결정하는 단계; 및
    상기 전체 거리 측정치가 상기 임계값을 만족한다는 결정에 대한 응답으로만 상기 추가 음성 발화에 대해 상기 사용자를 인증하는 단계를 포함하는, 방법.
  21. 명령어를 포함하는 컴퓨터 프로그램 물로서, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 선행하는 청구항 중 어느 한 항의 방법을 수행하게 하는 컴퓨터 프로그램 물.
  22. 명령어를 포함하는 컴퓨터 판독가능 저장 매체로서, 상기 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 청구항 1 내지 20 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  23. 청구항 1 내지 20 중 어느 한 항의 방법을 수행하기 위한 하나 이상의 프로세서들을 포함하는, 클라이언트 디바이스.
  24. 청구항 1 내지 20 중 어느 한 항의 방법을 수행하기 위한 하나 이상의 프로세서들을 포함하는, 클라이언트 디바이스.

KR1020237015749A 2020-10-13 2020-12-15 텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용 KR102582022B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237032093A KR20230137496A (ko) 2020-10-13 2020-12-15 텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/069,565 2020-10-13
US17/069,565 US11315575B1 (en) 2020-10-13 2020-10-13 Automatic generation and/or use of text-dependent speaker verification features
PCT/US2020/064984 WO2022081185A1 (en) 2020-10-13 2020-12-15 Automatic generation and/or use of text-dependent speaker verification features

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237032093A Division KR20230137496A (ko) 2020-10-13 2020-12-15 텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용

Publications (2)

Publication Number Publication Date
KR20230070523A true KR20230070523A (ko) 2023-05-23
KR102582022B1 KR102582022B1 (ko) 2023-09-22

Family

ID=74003962

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237032093A KR20230137496A (ko) 2020-10-13 2020-12-15 텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용
KR1020237015749A KR102582022B1 (ko) 2020-10-13 2020-12-15 텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237032093A KR20230137496A (ko) 2020-10-13 2020-12-15 텍스트 종속 화자 검증 피처들의 자동 생성 및/또는 사용

Country Status (5)

Country Link
US (2) US11315575B1 (ko)
EP (2) EP4235654A1 (ko)
JP (1) JP7457207B2 (ko)
KR (2) KR20230137496A (ko)
WO (1) WO2022081185A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11315575B1 (en) * 2020-10-13 2022-04-26 Google Llc Automatic generation and/or use of text-dependent speaker verification features
WO2022173962A1 (en) * 2021-02-11 2022-08-18 Nuance Communications, Inc. Communication system and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010009081A (ko) * 1999-07-07 2001-02-05 윤종용 비고정 연속 숫자음을 이용한 화자 검증 시스템 및 그 방법
US20160293167A1 (en) * 2013-10-10 2016-10-06 Google Inc. Speaker recognition using neural networks
KR20190015488A (ko) * 2016-06-06 2019-02-13 시러스 로직 인터내셔널 세미컨덕터 리미티드 보이스 사용자 인터페이스
KR20190079692A (ko) * 2015-09-04 2019-07-05 구글 엘엘씨 화자 검증을 위한 신경망들
US20190272831A1 (en) * 2018-03-02 2019-09-05 Apple Inc. Training speaker recognition models for digital assistants

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393305B1 (en) * 1999-06-07 2002-05-21 Nokia Mobile Phones Limited Secure wireless communication user identification by voice recognition
US6691089B1 (en) * 1999-09-30 2004-02-10 Mindspeed Technologies Inc. User configurable levels of security for a speaker verification system
US8812319B2 (en) * 2001-01-31 2014-08-19 Ibiometrics, Inc. Dynamic pass phrase security system (DPSS)
US7636855B2 (en) * 2004-01-30 2009-12-22 Panasonic Corporation Multiple choice challenge-response user authorization system and method
US8099288B2 (en) * 2007-02-12 2012-01-17 Microsoft Corp. Text-dependent speaker verification
US9536528B2 (en) * 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability
US9711148B1 (en) * 2013-07-18 2017-07-18 Google Inc. Dual model speaker identification
US9401148B2 (en) * 2013-11-04 2016-07-26 Google Inc. Speaker verification using neural networks
US9767787B2 (en) * 2014-01-01 2017-09-19 International Business Machines Corporation Artificial utterances for speaker verification
US8812320B1 (en) * 2014-04-01 2014-08-19 Google Inc. Segment-based speaker verification using dynamically generated phrases
US9542948B2 (en) * 2014-04-09 2017-01-10 Google Inc. Text-dependent speaker identification
US20150302856A1 (en) * 2014-04-17 2015-10-22 Qualcomm Incorporated Method and apparatus for performing function by speech input
US9792899B2 (en) * 2014-07-15 2017-10-17 International Business Machines Corporation Dataset shift compensation in machine learning
US10580401B2 (en) * 2015-01-27 2020-03-03 Google Llc Sub-matrix input for neural network layers
US10438593B2 (en) * 2015-07-22 2019-10-08 Google Llc Individualized hotword detection models
CN106373575B (zh) 2015-07-23 2020-07-21 阿里巴巴集团控股有限公司 一种用户声纹模型构建方法、装置及系统
US20170236520A1 (en) * 2016-02-16 2017-08-17 Knuedge Incorporated Generating Models for Text-Dependent Speaker Verification
US10373612B2 (en) * 2016-03-21 2019-08-06 Amazon Technologies, Inc. Anchored speech detection and speech recognition
US10152974B2 (en) * 2016-04-15 2018-12-11 Sensory, Incorporated Unobtrusive training for speaker verification
EP3287921B1 (en) * 2016-08-26 2020-11-04 Nxp B.V. Spoken pass-phrase suitability determination
US9990926B1 (en) * 2017-03-13 2018-06-05 Intel Corporation Passive enrollment method for speaker identification systems
US10354656B2 (en) * 2017-06-23 2019-07-16 Microsoft Technology Licensing, Llc Speaker recognition
US10325602B2 (en) * 2017-08-02 2019-06-18 Google Llc Neural networks for speaker verification
US10515640B2 (en) * 2017-11-08 2019-12-24 Intel Corporation Generating dialogue based on verification scores
JP6980603B2 (ja) * 2018-06-21 2021-12-15 株式会社東芝 話者モデル作成システム、認識システム、プログラムおよび制御装置
US10832671B2 (en) * 2018-06-25 2020-11-10 Intel Corporation Method and system of audio false keyphrase rejection using speaker recognition
US11150866B2 (en) * 2018-11-13 2021-10-19 Synervoz Communications Inc. Systems and methods for contextual audio detection and communication mode transactions
US10923111B1 (en) * 2019-03-28 2021-02-16 Amazon Technologies, Inc. Speech detection and speech recognition
US10650824B1 (en) * 2019-05-10 2020-05-12 Fmr Llc Computer systems and methods for securing access to content provided by virtual assistants
US11282500B2 (en) * 2019-07-19 2022-03-22 Cisco Technology, Inc. Generating and training new wake words
US11315575B1 (en) * 2020-10-13 2022-04-26 Google Llc Automatic generation and/or use of text-dependent speaker verification features

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010009081A (ko) * 1999-07-07 2001-02-05 윤종용 비고정 연속 숫자음을 이용한 화자 검증 시스템 및 그 방법
US20160293167A1 (en) * 2013-10-10 2016-10-06 Google Inc. Speaker recognition using neural networks
KR20190079692A (ko) * 2015-09-04 2019-07-05 구글 엘엘씨 화자 검증을 위한 신경망들
KR20190015488A (ko) * 2016-06-06 2019-02-13 시러스 로직 인터내셔널 세미컨덕터 리미티드 보이스 사용자 인터페이스
US20190272831A1 (en) * 2018-03-02 2019-09-05 Apple Inc. Training speaker recognition models for digital assistants

Also Published As

Publication number Publication date
WO2022081185A1 (en) 2022-04-21
KR102582022B1 (ko) 2023-09-22
US20220215845A1 (en) 2022-07-07
US11315575B1 (en) 2022-04-26
EP4235654A1 (en) 2023-08-30
US20220115022A1 (en) 2022-04-14
JP7457207B2 (ja) 2024-03-27
EP4010898A1 (en) 2022-06-15
JP2023540398A (ja) 2023-09-22
KR20230137496A (ko) 2023-10-04
EP4010898B1 (en) 2023-05-03
US11984128B2 (en) 2024-05-14

Similar Documents

Publication Publication Date Title
US11817085B2 (en) Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
JP7386878B2 (ja) アシスタントの応答を動的に適応させること
KR102438671B1 (ko) 텍스트 독립 화자 인식
US11984128B2 (en) Automatic generation and/or use of text-dependent speaker verification features
KR20220088926A (ko) 온-디바이스 기계 학습 모델 트레이닝을 위한 자동화된 어시스턴트 기능의 수정 사용
US20240046935A1 (en) Generating and/or utilizing voice authentication biasing parameters for assistant devices
JP2023530048A (ja) ホットワード/キーワード検出のためのユーザ仲介
JP2022539674A (ja) 特定話者スピーチモデルを使用した話者認識
US20240005924A1 (en) Transient personalization mode for guest users of an automated assistant
KR20230005966A (ko) 거의 일치하는 핫워드 또는 구문 검출
JP4143541B2 (ja) 動作モデルを使用して非煩雑的に話者を検証するための方法及びシステム
KR20230147157A (ko) 어시스턴트 명령(들)의 컨텍스트적 억제
US20230409277A1 (en) Encrypting and/or decrypting audio data utilizing speaker features
US20240087564A1 (en) Restricting third party application access to audio data content
KR20230153450A (ko) 자동 스피치 인식의 로컬 실행을 위한 디바이스 중재
KR20230164736A (ko) 세컨더리 디지털 어시스턴트에 제공하기 위한 쿼리 컨텐츠 선택적 마스킹
KR20230025907A (ko) 생성된 능숙도 측정치에 기초하여 자동화된 어시스턴트 기능 조정
WO2023113877A1 (en) Selecting between multiple automated assistants based on invocation properties
EP4217845A1 (en) Selecting between multiple automated assistants based on invocation properties

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
A107 Divisional application of patent
GRNT Written decision to grant